Merge pull request #3697 from joostjager/lower-min-htlc

config: improve management of htlc amount lower limit
This commit is contained in:
Olaoluwa Osuntokun 2019-12-10 18:05:49 -08:00 committed by GitHub
commit 70c5fe3d00
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
22 changed files with 764 additions and 653 deletions

View File

@ -36,7 +36,22 @@ import (
)
const (
defaultBitcoinMinHTLCMSat = lnwire.MilliSatoshi(1000)
// defaultBitcoinMinHTLCMSat is the default smallest value htlc this
// node will accept. This value is proposed in the channel open sequence
// and cannot be changed during the life of the channel. It is zero by
// default to allow maximum flexibility in deciding what size payments
// to forward.
//
// All forwarded payments are subjected to the min htlc constraint of
// the routing policy of the outgoing channel. This implicitly controls
// the minimum htlc value on the incoming channel too.
defaultBitcoinMinHTLCInMSat = lnwire.MilliSatoshi(1)
// defaultBitcoinMinHTLCOutMSat is the default minimum htlc value that
// we require for sending out htlcs. Our channel peer may have a lower
// min htlc channel parameter, but we - by default - don't forward
// anything under the value defined here.
defaultBitcoinMinHTLCOutMSat = lnwire.MilliSatoshi(1000)
// DefaultBitcoinBaseFeeMSat is the default forwarding base fee.
DefaultBitcoinBaseFeeMSat = lnwire.MilliSatoshi(1000)
@ -48,11 +63,12 @@ const (
// delta.
DefaultBitcoinTimeLockDelta = 40
defaultLitecoinMinHTLCMSat = lnwire.MilliSatoshi(1000)
defaultLitecoinBaseFeeMSat = lnwire.MilliSatoshi(1000)
defaultLitecoinFeeRate = lnwire.MilliSatoshi(1)
defaultLitecoinTimeLockDelta = 576
defaultLitecoinDustLimit = btcutil.Amount(54600)
defaultLitecoinMinHTLCInMSat = lnwire.MilliSatoshi(1)
defaultLitecoinMinHTLCOutMSat = lnwire.MilliSatoshi(1000)
defaultLitecoinBaseFeeMSat = lnwire.MilliSatoshi(1000)
defaultLitecoinFeeRate = lnwire.MilliSatoshi(1)
defaultLitecoinTimeLockDelta = 576
defaultLitecoinDustLimit = btcutil.Amount(54600)
// defaultBitcoinStaticFeePerKW is the fee rate of 50 sat/vbyte
// expressed in sat/kw.
@ -130,6 +146,8 @@ type chainControl struct {
wallet *lnwallet.LightningWallet
routingPolicy htlcswitch.ForwardingPolicy
minHtlcIn lnwire.MilliSatoshi
}
// newChainControlFromConfig attempts to create a chainControl instance
@ -157,21 +175,23 @@ func newChainControlFromConfig(cfg *config, chanDB *channeldb.DB,
switch registeredChains.PrimaryChain() {
case bitcoinChain:
cc.routingPolicy = htlcswitch.ForwardingPolicy{
MinHTLC: cfg.Bitcoin.MinHTLC,
MinHTLCOut: cfg.Bitcoin.MinHTLCOut,
BaseFee: cfg.Bitcoin.BaseFee,
FeeRate: cfg.Bitcoin.FeeRate,
TimeLockDelta: cfg.Bitcoin.TimeLockDelta,
}
cc.minHtlcIn = cfg.Bitcoin.MinHTLCIn
cc.feeEstimator = chainfee.NewStaticEstimator(
defaultBitcoinStaticFeePerKW, 0,
)
case litecoinChain:
cc.routingPolicy = htlcswitch.ForwardingPolicy{
MinHTLC: cfg.Litecoin.MinHTLC,
MinHTLCOut: cfg.Litecoin.MinHTLCOut,
BaseFee: cfg.Litecoin.BaseFee,
FeeRate: cfg.Litecoin.FeeRate,
TimeLockDelta: cfg.Litecoin.TimeLockDelta,
}
cc.minHtlcIn = cfg.Litecoin.MinHTLCIn
cc.feeEstimator = chainfee.NewStaticEstimator(
defaultLitecoinStaticFeePerKW, 0,
)

View File

@ -2767,11 +2767,11 @@ type ChannelEdgePolicy struct {
// the node would like to HTLC exchanges.
TimeLockDelta uint16
// MinHTLC is the smallest value HTLC this node will accept, expressed
// MinHTLC is the smallest value HTLC this node will forward, expressed
// in millisatoshi.
MinHTLC lnwire.MilliSatoshi
// MaxHTLC is the largest value HTLC this node will accept, expressed
// MaxHTLC is the largest value HTLC this node will forward, expressed
// in millisatoshi.
MaxHTLC lnwire.MilliSatoshi

View File

@ -3459,6 +3459,12 @@ var updateChannelPolicyCommand = cli.Command{
Usage: "the CLTV delta that will be applied to all " +
"forwarded HTLCs",
},
cli.Uint64Flag{
Name: "min_htlc_msat",
Usage: "if set, the min HTLC size that will be applied " +
"to all forwarded HTLCs. If unset, the min HTLC " +
"is left unchanged.",
},
cli.Uint64Flag{
Name: "max_htlc_msat",
Usage: "if set, the max HTLC size that will be applied " +
@ -3581,6 +3587,11 @@ func updateChannelPolicy(ctx *cli.Context) error {
MaxHtlcMsat: ctx.Uint64("max_htlc_msat"),
}
if ctx.IsSet("min_htlc_msat") {
req.MinHtlcMsat = ctx.Uint64("min_htlc_msat")
req.MinHtlcMsatSpecified = true
}
if chanPoint != nil {
req.Scope = &lnrpc.PolicyUpdateRequest_ChanPoint{
ChanPoint: chanPoint,

View File

@ -166,7 +166,8 @@ type chainConfig struct {
DefaultNumChanConfs int `long:"defaultchanconfs" description:"The default number of confirmations a channel must have before it's considered open. If this is not set, we will scale the value according to the channel size."`
DefaultRemoteDelay int `long:"defaultremotedelay" description:"The default number of blocks we will require our channel counterparty to wait before accessing its funds in case of unilateral close. If this is not set, we will scale the value according to the channel size."`
MinHTLC lnwire.MilliSatoshi `long:"minhtlc" description:"The smallest HTLC we are willing to forward on our channels, in millisatoshi"`
MinHTLCIn lnwire.MilliSatoshi `long:"minhtlc" description:"The smallest HTLC we are willing to accept on our channels, in millisatoshi"`
MinHTLCOut lnwire.MilliSatoshi `long:"minhtlcout" description:"The smallest HTLC we are willing to send out on our channels, in millisatoshi"`
BaseFee lnwire.MilliSatoshi `long:"basefee" description:"The base fee in millisatoshi we will charge for forwarding payments on our channels"`
FeeRate lnwire.MilliSatoshi `long:"feerate" description:"The fee rate used when forwarding payments on our channels. The total fee charged is basefee + (amount * feerate / 1000000), where amount is the forwarded amount."`
TimeLockDelta uint32 `long:"timelockdelta" description:"The CLTV delta we will subtract from a forwarded HTLC's timelock value"`
@ -360,7 +361,8 @@ func loadConfig() (*config, error) {
MaxLogFiles: defaultMaxLogFiles,
MaxLogFileSize: defaultMaxLogFileSize,
Bitcoin: &chainConfig{
MinHTLC: defaultBitcoinMinHTLCMSat,
MinHTLCIn: defaultBitcoinMinHTLCInMSat,
MinHTLCOut: defaultBitcoinMinHTLCOutMSat,
BaseFee: DefaultBitcoinBaseFeeMSat,
FeeRate: DefaultBitcoinFeeRate,
TimeLockDelta: DefaultBitcoinTimeLockDelta,
@ -376,7 +378,8 @@ func loadConfig() (*config, error) {
RPCHost: defaultRPCHost,
},
Litecoin: &chainConfig{
MinHTLC: defaultLitecoinMinHTLCMSat,
MinHTLCIn: defaultLitecoinMinHTLCInMSat,
MinHTLCOut: defaultLitecoinMinHTLCOutMSat,
BaseFee: defaultLitecoinBaseFeeMSat,
FeeRate: defaultLitecoinFeeRate,
TimeLockDelta: defaultLitecoinTimeLockDelta,

View File

@ -285,6 +285,10 @@ type fundingConfig struct {
// initially announcing channels.
DefaultRoutingPolicy htlcswitch.ForwardingPolicy
// DefaultMinHtlcIn is the default minimum incoming htlc value that is
// set as a channel parameter.
DefaultMinHtlcIn lnwire.MilliSatoshi
// NumRequiredConfs is a function closure that helps the funding
// manager decide how many confirmations it should require for a
// channel extended to it. The function is able to take into account
@ -1300,7 +1304,7 @@ func (f *fundingManager) handleFundingOpen(fmsg *fundingOpenMsg) {
chanReserve := f.cfg.RequiredRemoteChanReserve(amt, msg.DustLimit)
maxValue := f.cfg.RequiredRemoteMaxValue(amt)
maxHtlcs := f.cfg.RequiredRemoteMaxHTLCs(amt)
minHtlc := f.cfg.DefaultRoutingPolicy.MinHTLC
minHtlc := f.cfg.DefaultMinHtlcIn
// Once the reservation has been created successfully, we add it to
// this peer's map of pending reservations to track this particular
@ -2205,6 +2209,12 @@ func (f *fundingManager) addToRouterGraph(completeChan *channeldb.OpenChannel,
// need to determine the smallest HTLC it deems economically relevant.
fwdMinHTLC := completeChan.LocalChanCfg.MinHTLC
// We don't necessarily want to go as low as the remote party
// allows. Check it against our default forwarding policy.
if fwdMinHTLC < f.cfg.DefaultRoutingPolicy.MinHTLCOut {
fwdMinHTLC = f.cfg.DefaultRoutingPolicy.MinHTLCOut
}
// We'll obtain the max HTLC value we can forward in our direction, as
// we'll use this value within our ChannelUpdate. This value must be <=
// channel capacity and <= the maximum in-flight msats set by the peer.
@ -2375,30 +2385,13 @@ func (f *fundingManager) annAfterSixConfs(completeChan *channeldb.OpenChannel,
fndgLog.Infof("Announcing ChannelPoint(%v), short_chan_id=%v",
&fundingPoint, shortChanID)
// We'll obtain the min HTLC value we can forward in our
// direction, as we'll use this value within our ChannelUpdate.
// This constraint is originally set by the remote node, as it
// will be the one that will need to determine the smallest
// HTLC it deems economically relevant.
fwdMinHTLC := completeChan.LocalChanCfg.MinHTLC
// We'll obtain the max HTLC value we can forward in our
// direction, as we'll use this value within our ChannelUpdate.
// This value must be <= channel capacity and <= the maximum
// in-flight msats set by the peer.
fwdMaxHTLC := completeChan.LocalChanCfg.MaxPendingAmount
capacityMSat := lnwire.NewMSatFromSatoshis(completeChan.Capacity)
if fwdMaxHTLC > capacityMSat {
fwdMaxHTLC = capacityMSat
}
// Create and broadcast the proofs required to make this channel
// public and usable for other nodes for routing.
err = f.announceChannel(
f.cfg.IDKey, completeChan.IdentityPub,
completeChan.LocalChanCfg.MultiSigKey.PubKey,
completeChan.RemoteChanCfg.MultiSigKey.PubKey,
*shortChanID, chanID, fwdMinHTLC, fwdMaxHTLC,
*shortChanID, chanID,
)
if err != nil {
return fmt.Errorf("channel announcement failed: %v", err)
@ -2690,15 +2683,18 @@ func (f *fundingManager) newChanAnnouncement(localPubKey, remotePubKey,
// finish, either successfully or with an error.
func (f *fundingManager) announceChannel(localIDKey, remoteIDKey, localFundingKey,
remoteFundingKey *btcec.PublicKey, shortChanID lnwire.ShortChannelID,
chanID lnwire.ChannelID, fwdMinHTLC, fwdMaxHTLC lnwire.MilliSatoshi) error {
chanID lnwire.ChannelID) error {
// First, we'll create the batch of announcements to be sent upon
// initial channel creation. This includes the channel announcement
// itself, the channel update announcement, and our half of the channel
// proof needed to fully authenticate the channel.
//
// We can pass in zeroes for the min and max htlc policy, because we
// only use the channel announcement message from the returned struct.
ann, err := f.newChanAnnouncement(localIDKey, remoteIDKey,
localFundingKey, remoteFundingKey, shortChanID, chanID,
fwdMinHTLC, fwdMaxHTLC,
0, 0,
)
if err != nil {
fndgLog.Errorf("can't generate channel announcement: %v", err)
@ -2820,7 +2816,7 @@ func (f *fundingManager) handleInitFundingMsg(msg *initFundingMsg) {
var (
peerKey = msg.peer.IdentityKey()
localAmt = msg.localFundingAmt
minHtlc = msg.minHtlc
minHtlcIn = msg.minHtlcIn
remoteCsvDelay = msg.remoteCsvDelay
)
@ -2936,8 +2932,8 @@ func (f *fundingManager) handleInitFundingMsg(msg *initFundingMsg) {
}
// If no minimum HTLC value was specified, use the default one.
if minHtlc == 0 {
minHtlc = f.cfg.DefaultRoutingPolicy.MinHTLC
if minHtlcIn == 0 {
minHtlcIn = f.cfg.DefaultMinHtlcIn
}
// If a pending channel map for this peer isn't already created, then
@ -2952,7 +2948,7 @@ func (f *fundingManager) handleInitFundingMsg(msg *initFundingMsg) {
resCtx := &reservationWithCtx{
chanAmt: capacity,
remoteCsvDelay: remoteCsvDelay,
remoteMinHtlc: minHtlc,
remoteMinHtlc: minHtlcIn,
reservation: reservation,
peer: msg.peer,
updates: msg.updates,
@ -2986,7 +2982,7 @@ func (f *fundingManager) handleInitFundingMsg(msg *initFundingMsg) {
DustLimit: ourContribution.DustLimit,
MaxValueInFlight: maxValue,
ChannelReserve: chanReserve,
HtlcMinimum: minHtlc,
HtlcMinimum: minHtlcIn,
FeePerKiloWeight: uint32(commitFeePerKw),
CsvDelay: remoteCsvDelay,
MaxAcceptedHTLCs: maxHtlcs,

View File

@ -336,11 +336,12 @@ func createTestFundingManager(t *testing.T, privKey *btcec.PrivateKey,
return nil, fmt.Errorf("unable to find channel")
},
DefaultRoutingPolicy: htlcswitch.ForwardingPolicy{
MinHTLC: 5,
MinHTLCOut: 5,
BaseFee: 100,
FeeRate: 1000,
TimeLockDelta: 10,
},
DefaultMinHtlcIn: 5,
NumRequiredConfs: func(chanAmt btcutil.Amount,
pushAmt lnwire.MilliSatoshi) uint16 {
return 3
@ -464,11 +465,12 @@ func recreateAliceFundingManager(t *testing.T, alice *testNode) {
TempChanIDSeed: oldCfg.TempChanIDSeed,
FindChannel: oldCfg.FindChannel,
DefaultRoutingPolicy: htlcswitch.ForwardingPolicy{
MinHTLC: 5,
MinHTLCOut: 5,
BaseFee: 100,
FeeRate: 1000,
TimeLockDelta: 10,
},
DefaultMinHtlcIn: 5,
RequiredRemoteMaxValue: oldCfg.RequiredRemoteMaxValue,
PublishTransaction: func(txn *wire.MsgTx) error {
publishChan <- txn
@ -926,7 +928,7 @@ func assertChannelAnnouncements(t *testing.T, alice, bob *testNode,
// _other_ node.
other := (j + 1) % 2
minHtlc := nodes[other].fundingMgr.cfg.
DefaultRoutingPolicy.MinHTLC
DefaultMinHtlcIn
// We might expect a custom MinHTLC value.
if len(customMinHtlc) > 0 {
@ -2325,7 +2327,7 @@ func TestFundingManagerCustomChannelParameters(t *testing.T) {
// This is the custom parameters we'll use.
const csvDelay = 67
const minHtlc = 1234
const minHtlcIn = 1234
// We will consume the channel updates as we go, so no buffering is
// needed.
@ -2344,7 +2346,7 @@ func TestFundingManagerCustomChannelParameters(t *testing.T) {
localFundingAmt: localAmt,
pushAmt: lnwire.NewMSatFromSatoshis(pushAmt),
private: false,
minHtlc: minHtlc,
minHtlcIn: minHtlcIn,
remoteCsvDelay: csvDelay,
updates: updateChan,
err: errChan,
@ -2381,9 +2383,9 @@ func TestFundingManagerCustomChannelParameters(t *testing.T) {
}
// Check that the custom minHTLC value is sent.
if openChannelReq.HtlcMinimum != minHtlc {
if openChannelReq.HtlcMinimum != minHtlcIn {
t.Fatalf("expected OpenChannel to have minHtlc %v, got %v",
minHtlc, openChannelReq.HtlcMinimum)
minHtlcIn, openChannelReq.HtlcMinimum)
}
chanID := openChannelReq.PendingChannelID
@ -2468,7 +2470,7 @@ func TestFundingManagerCustomChannelParameters(t *testing.T) {
// The minimum HTLC value Alice can offer should be 5, and the minimum
// Bob can offer should be 1234.
if err := assertMinHtlc(resCtx, 5, minHtlc); err != nil {
if err := assertMinHtlc(resCtx, 5, minHtlcIn); err != nil {
t.Fatal(err)
}
@ -2482,7 +2484,7 @@ func TestFundingManagerCustomChannelParameters(t *testing.T) {
t.Fatal(err)
}
if err := assertMinHtlc(resCtx, minHtlc, 5); err != nil {
if err := assertMinHtlc(resCtx, minHtlcIn, 5); err != nil {
t.Fatal(err)
}
@ -2543,7 +2545,7 @@ func TestFundingManagerCustomChannelParameters(t *testing.T) {
// announcements. Alice should advertise the default MinHTLC value of
// 5, while bob should advertise the value minHtlc, since Alice
// required him to use it.
assertChannelAnnouncements(t, alice, bob, capacity, 5, minHtlc)
assertChannelAnnouncements(t, alice, bob, capacity, 5, minHtlcIn)
// The funding transaction is now confirmed, wait for the
// OpenStatusUpdate_ChanOpen update

View File

@ -71,10 +71,8 @@ const (
// the error possibly carrying along a ChannelUpdate message that includes the
// latest policy.
type ForwardingPolicy struct {
// MinHTLC is the smallest HTLC that is to be forwarded. This is
// set when a channel is first opened, and will be static for the
// lifetime of the channel.
MinHTLC lnwire.MilliSatoshi
// MinHTLC is the smallest HTLC that is to be forwarded.
MinHTLCOut lnwire.MilliSatoshi
// MaxHTLC is the largest HTLC that is to be forwarded.
MaxHTLC lnwire.MilliSatoshi
@ -2218,9 +2216,9 @@ func (l *channelLink) canSendHtlc(policy ForwardingPolicy,
// As our first sanity check, we'll ensure that the passed HTLC isn't
// too small for the next hop. If so, then we'll cancel the HTLC
// directly.
if amt < policy.MinHTLC {
if amt < policy.MinHTLCOut {
l.log.Errorf("outgoing htlc(%x) is too small: min_htlc=%v, "+
"htlc_value=%v", payHash[:], policy.MinHTLC,
"htlc_value=%v", payHash[:], policy.MinHTLCOut,
amt)
// As part of the returned error, we'll send our latest routing

View File

@ -1694,7 +1694,7 @@ func newSingleLinkTestHarness(chanAmt, chanReserve btcutil.Amount) (
quit: make(chan struct{}),
}
globalPolicy = ForwardingPolicy{
MinHTLC: lnwire.NewMSatFromSatoshis(5),
MinHTLCOut: lnwire.NewMSatFromSatoshis(5),
MaxHTLC: lnwire.NewMSatFromSatoshis(chanAmt),
BaseFee: lnwire.NewMSatFromSatoshis(1),
TimeLockDelta: 6,
@ -4253,7 +4253,7 @@ func (h *persistentLinkHarness) restartLink(
}
globalPolicy = ForwardingPolicy{
MinHTLC: lnwire.NewMSatFromSatoshis(5),
MinHTLCOut: lnwire.NewMSatFromSatoshis(5),
BaseFee: lnwire.NewMSatFromSatoshis(1),
TimeLockDelta: 6,
}
@ -5512,7 +5512,7 @@ func TestCheckHtlcForward(t *testing.T) {
cfg: ChannelLinkConfig{
FwrdingPolicy: ForwardingPolicy{
TimeLockDelta: 20,
MinHTLC: 500,
MinHTLCOut: 500,
MaxHTLC: 1000,
BaseFee: 10,
},

View File

@ -1078,7 +1078,7 @@ func newHopNetwork() *hopNetwork {
defaultDelta := uint32(6)
globalPolicy := ForwardingPolicy{
MinHTLC: lnwire.NewMSatFromSatoshis(5),
MinHTLCOut: lnwire.NewMSatFromSatoshis(5),
BaseFee: lnwire.NewMSatFromSatoshis(1),
TimeLockDelta: defaultDelta,
}

2
lnd.go
View File

@ -479,7 +479,7 @@ func Main(lisCfg ListenerCfg) error {
// Set up an autopilot manager from the current config. This will be
// used to manage the underlying autopilot agent, starting and stopping
// it at will.
atplCfg, err := initAutoPilot(server, cfg.Autopilot)
atplCfg, err := initAutoPilot(server, cfg.Autopilot, mainChain)
if err != nil {
err := fmt.Errorf("Unable to initialize autopilot: %v", err)
ltndLog.Error(err)

View File

@ -8675,7 +8675,11 @@ type PolicyUpdateRequest struct {
/// The required timelock delta for HTLCs forwarded over the channel.
TimeLockDelta uint32 `protobuf:"varint,5,opt,name=time_lock_delta,proto3" json:"time_lock_delta,omitempty"`
/// If set, the maximum HTLC size in milli-satoshis. If unset, the maximum HTLC will be unchanged.
MaxHtlcMsat uint64 `protobuf:"varint,6,opt,name=max_htlc_msat,proto3" json:"max_htlc_msat,omitempty"`
MaxHtlcMsat uint64 `protobuf:"varint,6,opt,name=max_htlc_msat,proto3" json:"max_htlc_msat,omitempty"`
/// The minimum HTLC size in milli-satoshis. Only applied if min_htlc_msat_specified is true.
MinHtlcMsat uint64 `protobuf:"varint,7,opt,name=min_htlc_msat,proto3" json:"min_htlc_msat,omitempty"`
/// If true, min_htlc_msat is applied.
MinHtlcMsatSpecified bool `protobuf:"varint,8,opt,name=min_htlc_msat_specified,json=set_min_htlc_msat,proto3" json:"min_htlc_msat_specified,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
@ -8771,6 +8775,20 @@ func (m *PolicyUpdateRequest) GetMaxHtlcMsat() uint64 {
return 0
}
func (m *PolicyUpdateRequest) GetMinHtlcMsat() uint64 {
if m != nil {
return m.MinHtlcMsat
}
return 0
}
func (m *PolicyUpdateRequest) GetMinHtlcMsatSpecified() bool {
if m != nil {
return m.MinHtlcMsatSpecified
}
return false
}
// XXX_OneofWrappers is for the internal use of the proto package.
func (*PolicyUpdateRequest) XXX_OneofWrappers() []interface{} {
return []interface{}{
@ -9775,571 +9793,573 @@ func init() {
func init() { proto.RegisterFile("rpc.proto", fileDescriptor_77a6da22d6a3feb1) }
var fileDescriptor_77a6da22d6a3feb1 = []byte{
// 9021 bytes of a gzipped FileDescriptorProto
// 9047 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xbc, 0xbd, 0x4d, 0x6c, 0x1c, 0x49,
0x96, 0x1f, 0xce, 0xfa, 0x20, 0x59, 0xf5, 0xaa, 0x58, 0x2c, 0x06, 0x29, 0xb2, 0x54, 0x2d, 0xa9,
0xd9, 0x39, 0x1a, 0x49, 0xad, 0xe9, 0xa1, 0xd4, 0x9c, 0x99, 0xfe, 0xf7, 0x76, 0xff, 0xd7, 0xbb,
0x14, 0x49, 0x89, 0xea, 0xa6, 0x28, 0x4e, 0x52, 0x1a, 0x79, 0x66, 0x76, 0x51, 0x93, 0xac, 0x0a,
0x92, 0x39, 0xaa, 0xca, 0xac, 0xce, 0xcc, 0x22, 0xc5, 0x69, 0xb7, 0x01, 0x1b, 0x86, 0x61, 0xf8,
0xb2, 0x18, 0x1b, 0x06, 0x6c, 0xc3, 0xc6, 0x02, 0xb3, 0x06, 0x8c, 0x85, 0x0f, 0xf6, 0xc5, 0x80,
0xd7, 0x58, 0x9f, 0x7c, 0x58, 0xc0, 0x80, 0xe1, 0x83, 0x0d, 0x18, 0xf0, 0x61, 0x0d, 0xc3, 0x06,
0xec, 0x85, 0xe1, 0x9b, 0x7d, 0x37, 0xde, 0x8b, 0x8f, 0x8c, 0xc8, 0xcc, 0x92, 0xd4, 0x33, 0xe3,
0x3d, 0xb1, 0xe2, 0x17, 0x91, 0xf1, 0xf9, 0xde, 0x8b, 0x17, 0xef, 0xbd, 0x08, 0x42, 0x3d, 0x1a,
0xf7, 0x37, 0xc6, 0x51, 0x98, 0x84, 0x6c, 0x76, 0x18, 0x44, 0xe3, 0x7e, 0xf7, 0xda, 0x69, 0x18,
0x9e, 0x0e, 0xf9, 0x3d, 0x6f, 0xec, 0xdf, 0xf3, 0x82, 0x20, 0x4c, 0xbc, 0xc4, 0x0f, 0x83, 0x58,
0x14, 0x72, 0x7e, 0x02, 0xad, 0x47, 0x3c, 0x38, 0xe2, 0x7c, 0xe0, 0xf2, 0x2f, 0x26, 0x3c, 0x4e,
0xd8, 0xb7, 0x60, 0xc9, 0xe3, 0x3f, 0xe3, 0x7c, 0xd0, 0x1b, 0x7b, 0x71, 0x3c, 0x3e, 0x8b, 0xbc,
0x98, 0x77, 0x4a, 0xeb, 0xa5, 0x3b, 0x4d, 0xb7, 0x2d, 0x32, 0x0e, 0x35, 0xce, 0xde, 0x83, 0x66,
0x8c, 0x45, 0x79, 0x90, 0x44, 0xe1, 0xf8, 0xb2, 0x53, 0xa6, 0x72, 0x0d, 0xc4, 0x76, 0x05, 0xe4,
0x0c, 0x61, 0x51, 0xb7, 0x10, 0x8f, 0xc3, 0x20, 0xe6, 0xec, 0x3e, 0xac, 0xf4, 0xfd, 0xf1, 0x19,
0x8f, 0x7a, 0xf4, 0xf1, 0x28, 0xe0, 0xa3, 0x30, 0xf0, 0xfb, 0x9d, 0xd2, 0x7a, 0xe5, 0x4e, 0xdd,
0x65, 0x22, 0x0f, 0xbf, 0x78, 0x22, 0x73, 0xd8, 0x6d, 0x58, 0xe4, 0x81, 0xc0, 0xf9, 0x80, 0xbe,
0x92, 0x4d, 0xb5, 0x52, 0x18, 0x3f, 0x70, 0xfe, 0x46, 0x19, 0x96, 0x1e, 0x07, 0x7e, 0xf2, 0xc2,
0x1b, 0x0e, 0x79, 0xa2, 0xc6, 0x74, 0x1b, 0x16, 0x2f, 0x08, 0xa0, 0x31, 0x5d, 0x84, 0xd1, 0x40,
0x8e, 0xa8, 0x25, 0xe0, 0x43, 0x89, 0x4e, 0xed, 0x59, 0x79, 0x6a, 0xcf, 0x0a, 0xa7, 0xab, 0x32,
0x65, 0xba, 0x6e, 0xc3, 0x62, 0xc4, 0xfb, 0xe1, 0x39, 0x8f, 0x2e, 0x7b, 0x17, 0x7e, 0x30, 0x08,
0x2f, 0x3a, 0xd5, 0xf5, 0xd2, 0x9d, 0x59, 0xb7, 0xa5, 0xe0, 0x17, 0x84, 0xb2, 0x07, 0xb0, 0xd8,
0x3f, 0xf3, 0x82, 0x80, 0x0f, 0x7b, 0xc7, 0x5e, 0xff, 0xe5, 0x64, 0x1c, 0x77, 0x66, 0xd7, 0x4b,
0x77, 0x1a, 0x9b, 0x57, 0x37, 0x68, 0x55, 0x37, 0xb6, 0xcf, 0xbc, 0xe0, 0x01, 0xe5, 0x1c, 0x05,
0xde, 0x38, 0x3e, 0x0b, 0x13, 0xb7, 0x25, 0xbf, 0x10, 0x70, 0xec, 0xac, 0x00, 0x33, 0x67, 0x42,
0xcc, 0xbd, 0xf3, 0x4f, 0x4a, 0xb0, 0xfc, 0x3c, 0x18, 0x86, 0xfd, 0x97, 0xbf, 0xe4, 0x14, 0x15,
0x8c, 0xa1, 0xfc, 0xb6, 0x63, 0xa8, 0x7c, 0xdd, 0x31, 0xac, 0xc2, 0x8a, 0xdd, 0x59, 0x39, 0x0a,
0x0e, 0x57, 0xf0, 0xeb, 0x53, 0xae, 0xba, 0xa5, 0x86, 0xf1, 0x3e, 0xb4, 0xfb, 0x93, 0x28, 0xe2,
0x41, 0x6e, 0x1c, 0x8b, 0x12, 0xd7, 0x03, 0x79, 0x0f, 0x9a, 0x01, 0xbf, 0x48, 0x8b, 0x49, 0xda,
0x0d, 0xf8, 0x85, 0x2a, 0xe2, 0x74, 0x60, 0x35, 0xdb, 0x8c, 0xec, 0xc0, 0x7f, 0x29, 0x41, 0xf5,
0x79, 0xf2, 0x2a, 0x64, 0x1b, 0x50, 0x4d, 0x2e, 0xc7, 0x82, 0x43, 0x5a, 0x9b, 0x4c, 0x0e, 0x6d,
0x6b, 0x30, 0x88, 0x78, 0x1c, 0x3f, 0xbb, 0x1c, 0x73, 0xb7, 0xe9, 0x89, 0x44, 0x0f, 0xcb, 0xb1,
0x0e, 0xcc, 0xcb, 0x34, 0x35, 0x58, 0x77, 0x55, 0x92, 0xdd, 0x00, 0xf0, 0x46, 0xe1, 0x24, 0x48,
0x7a, 0xb1, 0x97, 0xd0, 0x54, 0x55, 0x5c, 0x03, 0x61, 0xd7, 0xa0, 0x3e, 0x7e, 0xd9, 0x8b, 0xfb,
0x91, 0x3f, 0x4e, 0x88, 0x6c, 0xea, 0x6e, 0x0a, 0xb0, 0x6f, 0x41, 0x2d, 0x9c, 0x24, 0xe3, 0xd0,
0x0f, 0x12, 0x49, 0x2a, 0x8b, 0xb2, 0x2f, 0x4f, 0x27, 0xc9, 0x21, 0xc2, 0xae, 0x2e, 0xc0, 0x6e,
0xc2, 0x42, 0x3f, 0x0c, 0x4e, 0xfc, 0x68, 0x24, 0x84, 0x41, 0x67, 0x8e, 0x5a, 0xb3, 0x41, 0xe7,
0x8f, 0xca, 0xd0, 0x78, 0x16, 0x79, 0x41, 0xec, 0xf5, 0x11, 0xc0, 0xae, 0x27, 0xaf, 0x7a, 0x67,
0x5e, 0x7c, 0x46, 0xa3, 0xad, 0xbb, 0x2a, 0xc9, 0x56, 0x61, 0x4e, 0x74, 0x94, 0xc6, 0x54, 0x71,
0x65, 0x8a, 0x7d, 0x00, 0x4b, 0xc1, 0x64, 0xd4, 0xb3, 0xdb, 0xaa, 0x10, 0xb5, 0xe4, 0x33, 0x70,
0x02, 0x8e, 0x71, 0xad, 0x45, 0x13, 0x62, 0x84, 0x06, 0xc2, 0x1c, 0x68, 0xca, 0x14, 0xf7, 0x4f,
0xcf, 0xc4, 0x30, 0x67, 0x5d, 0x0b, 0xc3, 0x3a, 0x12, 0x7f, 0xc4, 0x7b, 0x71, 0xe2, 0x8d, 0xc6,
0x72, 0x58, 0x06, 0x42, 0xf9, 0x61, 0xe2, 0x0d, 0x7b, 0x27, 0x9c, 0xc7, 0x9d, 0x79, 0x99, 0xaf,
0x11, 0x76, 0x0b, 0x5a, 0x03, 0x1e, 0x27, 0x3d, 0xb9, 0x28, 0x3c, 0xee, 0xd4, 0x88, 0xf5, 0x33,
0x28, 0xd6, 0x13, 0x79, 0x17, 0x3d, 0x9c, 0x00, 0xfe, 0xaa, 0x53, 0x17, 0x7d, 0x4d, 0x11, 0xa4,
0x9c, 0x47, 0x3c, 0x31, 0x66, 0x2f, 0x96, 0x14, 0xea, 0xec, 0x03, 0x33, 0xe0, 0x1d, 0x9e, 0x78,
0xfe, 0x30, 0x66, 0x1f, 0x41, 0x33, 0x31, 0x0a, 0x93, 0x28, 0x6c, 0x68, 0x72, 0x32, 0x3e, 0x70,
0xad, 0x72, 0xce, 0x19, 0xd4, 0x1e, 0x72, 0xbe, 0xef, 0x8f, 0xfc, 0x84, 0xad, 0xc2, 0xec, 0x89,
0xff, 0x8a, 0x0b, 0x82, 0xaf, 0xec, 0xcd, 0xb8, 0x22, 0xc9, 0xde, 0x05, 0xa0, 0x1f, 0xbd, 0x91,
0x26, 0xac, 0xbd, 0x19, 0xb7, 0x4e, 0xd8, 0x13, 0xa4, 0xac, 0x2e, 0xcc, 0x8f, 0x79, 0xd4, 0xe7,
0x6a, 0xfd, 0xf6, 0x66, 0x5c, 0x05, 0x3c, 0x98, 0x87, 0xd9, 0x21, 0xd6, 0xee, 0xfc, 0xde, 0x2c,
0x34, 0x8e, 0x78, 0xa0, 0x39, 0x8d, 0x41, 0x15, 0xe7, 0x44, 0x72, 0x17, 0xfd, 0x66, 0xdf, 0x80,
0x06, 0xcd, 0x53, 0x9c, 0x44, 0x7e, 0x70, 0x2a, 0x08, 0xfc, 0x41, 0xb9, 0x53, 0x72, 0x01, 0xe1,
0x23, 0x42, 0x59, 0x1b, 0x2a, 0xde, 0x48, 0x11, 0x38, 0xfe, 0x64, 0x57, 0xa1, 0xe6, 0x8d, 0x12,
0xd1, 0xbd, 0x26, 0xc1, 0xf3, 0xde, 0x28, 0xa1, 0xae, 0xbd, 0x07, 0xcd, 0xb1, 0x77, 0x39, 0x42,
0x7e, 0xd6, 0x54, 0xd1, 0x74, 0x1b, 0x12, 0xdb, 0x43, 0xb2, 0xd8, 0x84, 0x65, 0xb3, 0x88, 0x6a,
0x7c, 0x56, 0x37, 0xbe, 0x64, 0x94, 0x96, 0x7d, 0xb8, 0x0d, 0x8b, 0xea, 0x9b, 0x48, 0x8c, 0x87,
0x68, 0xa5, 0xee, 0xb6, 0x24, 0xac, 0x46, 0x79, 0x07, 0xda, 0x27, 0x7e, 0xe0, 0x0d, 0x7b, 0xfd,
0x61, 0x72, 0xde, 0x1b, 0xf0, 0x61, 0xe2, 0x11, 0xd5, 0xcc, 0xba, 0x2d, 0xc2, 0xb7, 0x87, 0xc9,
0xf9, 0x0e, 0xa2, 0xec, 0x03, 0xa8, 0x9f, 0x70, 0xde, 0xa3, 0xc9, 0xea, 0xd4, 0x2c, 0x0e, 0x54,
0x2b, 0xe4, 0xd6, 0x4e, 0xd4, 0x5a, 0x7d, 0x00, 0xed, 0x70, 0x92, 0x9c, 0x86, 0x7e, 0x70, 0xda,
0x43, 0x99, 0xd7, 0xf3, 0x07, 0x44, 0x45, 0xd5, 0x07, 0xe5, 0xfb, 0x25, 0xb7, 0xa5, 0xf2, 0x50,
0xfa, 0x3c, 0x1e, 0xb0, 0x5b, 0xb0, 0x38, 0xf4, 0xe2, 0xa4, 0x77, 0x16, 0x8e, 0x7b, 0xe3, 0xc9,
0xf1, 0x4b, 0x7e, 0xd9, 0x59, 0xa0, 0x89, 0x58, 0x40, 0x78, 0x2f, 0x1c, 0x1f, 0x12, 0xc8, 0xae,
0x03, 0x50, 0x3f, 0x45, 0x27, 0x60, 0xbd, 0x74, 0x67, 0xc1, 0xad, 0x23, 0x22, 0x1a, 0xfd, 0x21,
0x2c, 0xd3, 0xf2, 0xf4, 0x27, 0x71, 0x12, 0x8e, 0x7a, 0x28, 0xaf, 0xa3, 0x41, 0xdc, 0x69, 0x10,
0xad, 0xbd, 0x2f, 0x3b, 0x6b, 0xac, 0xf1, 0xc6, 0x0e, 0x8f, 0x93, 0x6d, 0x2a, 0xec, 0x8a, 0xb2,
0xb8, 0xa9, 0x5f, 0xba, 0x4b, 0x83, 0x2c, 0xce, 0x3e, 0x00, 0xe6, 0x0d, 0x87, 0xe1, 0x45, 0x2f,
0xe6, 0xc3, 0x93, 0x9e, 0x9c, 0xc4, 0x4e, 0x6b, 0xbd, 0x74, 0xa7, 0xe6, 0xb6, 0x29, 0xe7, 0x88,
0x0f, 0x4f, 0x0e, 0x05, 0xde, 0xdd, 0x81, 0xd5, 0xe2, 0xaa, 0x91, 0x38, 0x70, 0x74, 0x48, 0x54,
0x55, 0x17, 0x7f, 0xb2, 0x15, 0x98, 0x3d, 0xf7, 0x86, 0x13, 0x2e, 0xe5, 0xb3, 0x48, 0x7c, 0x52,
0xfe, 0xb8, 0xe4, 0xfc, 0x8b, 0x12, 0x34, 0x45, 0x6f, 0xa5, 0x5e, 0x71, 0x13, 0x16, 0xd4, 0xaa,
0xf2, 0x28, 0x0a, 0x23, 0x29, 0xa6, 0x6c, 0x90, 0xdd, 0x85, 0xb6, 0x02, 0xc6, 0x11, 0xf7, 0x47,
0xde, 0xa9, 0xaa, 0x3b, 0x87, 0xb3, 0xcd, 0xb4, 0xc6, 0x28, 0x9c, 0x24, 0x5c, 0xee, 0x60, 0x4d,
0x39, 0x57, 0x2e, 0x62, 0xae, 0x5d, 0x04, 0xc5, 0x54, 0x01, 0xc9, 0x5a, 0x98, 0xf3, 0x77, 0x4a,
0xc0, 0xb0, 0xeb, 0xcf, 0x42, 0x51, 0x85, 0xa4, 0xb6, 0x2c, 0xb5, 0x97, 0xde, 0x9a, 0xda, 0xcb,
0xaf, 0xa3, 0x76, 0x07, 0x66, 0x45, 0xef, 0xab, 0x05, 0xbd, 0x17, 0x59, 0x9f, 0x55, 0x6b, 0x95,
0x76, 0xd5, 0xf9, 0x4f, 0x15, 0x58, 0xd9, 0x16, 0x5b, 0xf0, 0x56, 0xbf, 0xcf, 0xc7, 0x9a, 0x0f,
0xde, 0x85, 0x46, 0x10, 0x0e, 0xb8, 0xa2, 0x3e, 0xd1, 0x31, 0x40, 0xc8, 0x20, 0xbd, 0x33, 0xcf,
0x0f, 0x44, 0xc7, 0xc5, 0x7c, 0xd6, 0x09, 0xa1, 0x6e, 0xdf, 0x82, 0xc5, 0x31, 0x0f, 0x06, 0x26,
0xb9, 0x0b, 0x25, 0x69, 0x41, 0xc2, 0x92, 0xd2, 0xdf, 0x85, 0xc6, 0xc9, 0x44, 0x94, 0x43, 0x21,
0x51, 0x25, 0x3a, 0x00, 0x09, 0x6d, 0x09, 0x59, 0x31, 0x9e, 0xc4, 0x67, 0x94, 0x3b, 0x4b, 0xb9,
0xf3, 0x98, 0xc6, 0xac, 0xeb, 0x00, 0x83, 0x49, 0x9c, 0x48, 0xea, 0x9f, 0xa3, 0xcc, 0x3a, 0x22,
0x82, 0xfa, 0xbf, 0x0d, 0xcb, 0x23, 0xef, 0x55, 0x8f, 0xe8, 0xa7, 0xe7, 0x07, 0xbd, 0x93, 0x21,
0xed, 0x22, 0xf3, 0x54, 0xae, 0x3d, 0xf2, 0x5e, 0xfd, 0x00, 0x73, 0x1e, 0x07, 0x0f, 0x09, 0x47,
0x11, 0xa1, 0xd4, 0x97, 0x88, 0xc7, 0x3c, 0x3a, 0xe7, 0xc4, 0xd5, 0x55, 0xad, 0xa3, 0xb8, 0x02,
0xc5, 0x1e, 0x8d, 0x70, 0xdc, 0xc9, 0xb0, 0x2f, 0x58, 0xd8, 0x9d, 0x1f, 0xf9, 0xc1, 0x5e, 0x32,
0xec, 0xb3, 0x6b, 0x00, 0x28, 0x13, 0xc6, 0x3c, 0xea, 0xbd, 0xbc, 0x20, 0x7e, 0xac, 0x92, 0x0c,
0x38, 0xe4, 0xd1, 0xe7, 0x17, 0xec, 0x1d, 0xa8, 0xf7, 0x63, 0x12, 0x2a, 0xde, 0x65, 0xa7, 0x41,
0xcc, 0x5a, 0xeb, 0xc7, 0x28, 0x4e, 0xbc, 0x4b, 0x64, 0x28, 0xec, 0xad, 0x47, 0xab, 0xc0, 0x07,
0x54, 0x7d, 0x4c, 0xd2, 0x71, 0x81, 0x3a, 0xbb, 0x25, 0x33, 0xb0, 0x9d, 0x98, 0x7d, 0x03, 0x16,
0x54, 0x67, 0x4f, 0x86, 0xde, 0x69, 0x4c, 0xe2, 0x61, 0xc1, 0x6d, 0x4a, 0xf0, 0x21, 0x62, 0xce,
0x0b, 0xa1, 0x34, 0x19, 0x6b, 0x2b, 0xf9, 0x06, 0xb7, 0x6f, 0x42, 0x68, 0x5d, 0x6b, 0xae, 0x4c,
0x15, 0x2d, 0x5a, 0xb9, 0x60, 0xd1, 0x9c, 0x5f, 0x94, 0xa0, 0x29, 0x6b, 0x26, 0x4d, 0x83, 0xdd,
0x07, 0xa6, 0x56, 0x31, 0x79, 0xe5, 0x0f, 0x7a, 0xc7, 0x97, 0x09, 0x8f, 0x05, 0xd1, 0xec, 0xcd,
0xb8, 0x05, 0x79, 0x28, 0x0f, 0x2d, 0x34, 0x4e, 0x22, 0x41, 0xd3, 0x7b, 0x33, 0x6e, 0x2e, 0x07,
0x59, 0x0c, 0x75, 0x99, 0x49, 0xd2, 0xf3, 0x83, 0x01, 0x7f, 0x45, 0xa4, 0xb4, 0xe0, 0x5a, 0xd8,
0x83, 0x16, 0x34, 0xcd, 0xef, 0x9c, 0x9f, 0x42, 0x4d, 0x69, 0x42, 0xa4, 0x05, 0x64, 0xfa, 0xe5,
0x1a, 0x08, 0xeb, 0x42, 0xcd, 0xee, 0x85, 0x5b, 0xfb, 0x3a, 0x6d, 0x3b, 0x7f, 0x01, 0xda, 0xfb,
0x48, 0x44, 0x01, 0x12, 0xad, 0x54, 0xef, 0x56, 0x61, 0xce, 0x60, 0x9e, 0xba, 0x2b, 0x53, 0xb8,
0x8f, 0x9e, 0x85, 0x71, 0x22, 0xdb, 0xa1, 0xdf, 0xce, 0x9f, 0x94, 0x80, 0xed, 0xc6, 0x89, 0x3f,
0xf2, 0x12, 0xfe, 0x90, 0x6b, 0xf1, 0xf0, 0x14, 0x9a, 0x58, 0xdb, 0xb3, 0x70, 0x4b, 0x28, 0x5b,
0x42, 0x49, 0xf8, 0x96, 0x64, 0xe7, 0xfc, 0x07, 0x1b, 0x66, 0x69, 0x21, 0xba, 0xad, 0x0a, 0x90,
0xdb, 0x12, 0x2f, 0x3a, 0xe5, 0x09, 0x69, 0x62, 0x52, 0x8f, 0x07, 0x01, 0x6d, 0x87, 0xc1, 0x49,
0xf7, 0xb7, 0x60, 0x29, 0x57, 0x87, 0x29, 0xa3, 0xeb, 0x05, 0x32, 0xba, 0x62, 0xca, 0xe8, 0x3e,
0x2c, 0x5b, 0xfd, 0x92, 0x14, 0xd7, 0x81, 0x79, 0x64, 0x0c, 0xdc, 0xf0, 0x4b, 0x62, 0xc3, 0x97,
0x49, 0xb6, 0x09, 0x2b, 0x27, 0x9c, 0x47, 0x5e, 0x42, 0x49, 0x62, 0x1d, 0x5c, 0x13, 0x59, 0x73,
0x61, 0x9e, 0xf3, 0x5f, 0x4b, 0xb0, 0x88, 0xd2, 0xf4, 0x89, 0x17, 0x5c, 0xaa, 0xb9, 0xda, 0x2f,
0x9c, 0xab, 0x3b, 0xc6, 0x26, 0x67, 0x94, 0xfe, 0xba, 0x13, 0x55, 0xc9, 0x4e, 0x14, 0x5b, 0x87,
0xa6, 0xd5, 0xdd, 0x59, 0xa1, 0x59, 0xc6, 0x5e, 0x72, 0xc8, 0xa3, 0x07, 0x97, 0x09, 0xff, 0xd5,
0xa7, 0xf2, 0x16, 0xb4, 0xd3, 0x6e, 0xcb, 0x79, 0x64, 0x50, 0x45, 0xc2, 0x94, 0x15, 0xd0, 0x6f,
0xe7, 0x1f, 0x94, 0x44, 0xc1, 0xed, 0xd0, 0xd7, 0x5a, 0x27, 0x16, 0x44, 0xe5, 0x55, 0x15, 0xc4,
0xdf, 0x53, 0xb5, 0xf6, 0x5f, 0x7d, 0xb0, 0x28, 0x13, 0x63, 0x1e, 0x0c, 0x7a, 0xde, 0x70, 0x48,
0x82, 0xb8, 0xe6, 0xce, 0x63, 0x7a, 0x6b, 0x38, 0x74, 0x6e, 0xc3, 0x92, 0xd1, 0xbb, 0xd7, 0x8c,
0xe3, 0x00, 0xd8, 0xbe, 0x1f, 0x27, 0xcf, 0x83, 0x78, 0x6c, 0x28, 0x64, 0xef, 0x40, 0x1d, 0xa5,
0x2d, 0xf6, 0x4c, 0x70, 0xee, 0xac, 0x8b, 0xe2, 0x17, 0xfb, 0x15, 0x53, 0xa6, 0xf7, 0x4a, 0x66,
0x96, 0x65, 0xa6, 0xf7, 0x8a, 0x32, 0x9d, 0x8f, 0x61, 0xd9, 0xaa, 0x4f, 0x36, 0xfd, 0x1e, 0xcc,
0x4e, 0x92, 0x57, 0xa1, 0x52, 0xb9, 0x1b, 0x92, 0x42, 0xf0, 0x70, 0xe7, 0x8a, 0x1c, 0xe7, 0x53,
0x58, 0x3a, 0xe0, 0x17, 0x92, 0x91, 0x55, 0x47, 0x6e, 0xbd, 0xf1, 0xe0, 0x47, 0xf9, 0xce, 0x06,
0x30, 0xf3, 0xe3, 0x94, 0x01, 0xd4, 0x31, 0xb0, 0x64, 0x1d, 0x03, 0x9d, 0x5b, 0xc0, 0x8e, 0xfc,
0xd3, 0xe0, 0x09, 0x8f, 0x63, 0xef, 0x54, 0xb3, 0x7e, 0x1b, 0x2a, 0xa3, 0xf8, 0x54, 0x8a, 0x2a,
0xfc, 0xe9, 0x7c, 0x07, 0x96, 0xad, 0x72, 0xb2, 0xe2, 0x6b, 0x50, 0x8f, 0xfd, 0xd3, 0xc0, 0x4b,
0x26, 0x11, 0x97, 0x55, 0xa7, 0x80, 0xf3, 0x10, 0x56, 0x7e, 0xc0, 0x23, 0xff, 0xe4, 0xf2, 0x4d,
0xd5, 0xdb, 0xf5, 0x94, 0xb3, 0xf5, 0xec, 0xc2, 0x95, 0x4c, 0x3d, 0xb2, 0x79, 0x41, 0xbe, 0x72,
0x25, 0x6b, 0xae, 0x48, 0x18, 0xb2, 0xaf, 0x6c, 0xca, 0x3e, 0xe7, 0x39, 0xb0, 0xed, 0x30, 0x08,
0x78, 0x3f, 0x39, 0xe4, 0x3c, 0x4a, 0x2d, 0x50, 0x29, 0xad, 0x36, 0x36, 0xd7, 0xe4, 0xcc, 0x66,
0x05, 0xaa, 0x24, 0x62, 0x06, 0xd5, 0x31, 0x8f, 0x46, 0x54, 0x71, 0xcd, 0xa5, 0xdf, 0xce, 0x15,
0x58, 0xb6, 0xaa, 0x95, 0x67, 0xf6, 0x0f, 0xe1, 0xca, 0x8e, 0x1f, 0xf7, 0xf3, 0x0d, 0x76, 0x60,
0x7e, 0x3c, 0x39, 0xee, 0xa5, 0x9c, 0xa8, 0x92, 0x78, 0x8c, 0xcb, 0x7e, 0x22, 0x2b, 0xfb, 0xeb,
0x25, 0xa8, 0xee, 0x3d, 0xdb, 0xdf, 0xc6, 0xbd, 0xc2, 0x0f, 0xfa, 0xe1, 0x08, 0xb5, 0x30, 0x31,
0x68, 0x9d, 0x9e, 0xca, 0x61, 0xd7, 0xa0, 0x4e, 0xca, 0x1b, 0x9e, 0x5c, 0xa5, 0x1e, 0x94, 0x02,
0x78, 0x6a, 0xe6, 0xaf, 0xc6, 0x7e, 0x44, 0xc7, 0x62, 0x75, 0xd8, 0xad, 0xd2, 0x36, 0x93, 0xcf,
0x70, 0x7e, 0x31, 0x0f, 0xf3, 0x72, 0xf3, 0x15, 0x1b, 0x79, 0xe2, 0x9f, 0xf3, 0x74, 0x23, 0xc7,
0x14, 0x2a, 0xc6, 0x11, 0x1f, 0x85, 0x89, 0xd6, 0xdf, 0xc4, 0x32, 0xd8, 0x20, 0x59, 0x05, 0xa4,
0x12, 0x21, 0xec, 0x08, 0x15, 0x51, 0xca, 0x02, 0xd9, 0x35, 0x98, 0x57, 0xca, 0x40, 0x55, 0x1f,
0x58, 0x14, 0x84, 0xb3, 0xd1, 0xf7, 0xc6, 0x5e, 0xdf, 0x4f, 0x2e, 0xa5, 0x58, 0xd0, 0x69, 0xac,
0x7f, 0x18, 0xf6, 0xbd, 0x61, 0xef, 0xd8, 0x1b, 0x7a, 0x41, 0x9f, 0x2b, 0xab, 0x83, 0x05, 0xe2,
0x09, 0x5c, 0x76, 0x4b, 0x15, 0x13, 0xa7, 0xf4, 0x0c, 0x8a, 0x7b, 0x78, 0x3f, 0x1c, 0x8d, 0xfc,
0x04, 0x0f, 0xee, 0xa4, 0x9a, 0x55, 0x5c, 0x03, 0x11, 0x36, 0x0e, 0x4a, 0x5d, 0x88, 0x19, 0xac,
0x2b, 0x1b, 0x87, 0x01, 0x62, 0x2d, 0x19, 0x0d, 0xad, 0xe2, 0x1a, 0x08, 0xae, 0xc5, 0x24, 0x88,
0x79, 0x92, 0x0c, 0xf9, 0x40, 0x77, 0xa8, 0x41, 0xc5, 0xf2, 0x19, 0xec, 0x3e, 0x2c, 0x0b, 0x5b,
0x42, 0xec, 0x25, 0x61, 0x7c, 0xe6, 0xc7, 0xbd, 0x18, 0x8f, 0x41, 0xe2, 0x4c, 0x5b, 0x94, 0xc5,
0x3e, 0x86, 0xb5, 0x0c, 0x1c, 0xf1, 0x3e, 0xf7, 0xcf, 0xf9, 0x80, 0x54, 0xb8, 0x8a, 0x3b, 0x2d,
0x9b, 0xad, 0x43, 0x23, 0x98, 0x8c, 0x7a, 0x93, 0xf1, 0xc0, 0x43, 0x25, 0xa6, 0x45, 0xca, 0xa5,
0x09, 0xb1, 0x0f, 0x41, 0xe9, 0x69, 0x52, 0x7b, 0x5c, 0xb4, 0x24, 0x1c, 0x52, 0xaf, 0x6b, 0x97,
0x40, 0xc2, 0x4c, 0x55, 0xd2, 0xb6, 0x3c, 0x3f, 0x2a, 0x80, 0xf8, 0x24, 0xf2, 0xcf, 0xbd, 0x84,
0x77, 0x96, 0x84, 0x50, 0x97, 0x49, 0xfc, 0xce, 0x0f, 0xfc, 0xc4, 0xf7, 0x92, 0x30, 0xea, 0x30,
0xca, 0x4b, 0x01, 0x9c, 0x44, 0xa2, 0x8f, 0x38, 0xf1, 0x92, 0x49, 0x2c, 0x35, 0xd4, 0x65, 0x22,
0xae, 0x7c, 0x06, 0xfb, 0x08, 0x56, 0x05, 0x45, 0x50, 0x96, 0xd4, 0xbd, 0x49, 0x55, 0x58, 0xa1,
0x19, 0x99, 0x92, 0x8b, 0x53, 0x29, 0x49, 0x24, 0xf7, 0xe1, 0x15, 0x31, 0x95, 0x53, 0xb2, 0xb1,
0x7f, 0xd8, 0x03, 0xbf, 0xdf, 0x93, 0x25, 0x90, 0x45, 0x56, 0x69, 0x14, 0xf9, 0x0c, 0x24, 0xf1,
0xa1, 0x7f, 0xc2, 0x13, 0x7f, 0xc4, 0x3b, 0x6b, 0x82, 0xc4, 0x55, 0x1a, 0x19, 0x70, 0x32, 0xa6,
0x9c, 0x8e, 0x60, 0x78, 0x91, 0x72, 0x7e, 0xbf, 0x24, 0x36, 0x1f, 0xc9, 0xa8, 0xb1, 0x71, 0xac,
0x12, 0x2c, 0xda, 0x0b, 0x83, 0xe1, 0xa5, 0xe4, 0x5a, 0x10, 0xd0, 0xd3, 0x60, 0x78, 0x89, 0x8a,
0xbd, 0x1f, 0x98, 0x45, 0x84, 0x9c, 0x6b, 0x2a, 0x90, 0x0a, 0xbd, 0x0b, 0x8d, 0xf1, 0xe4, 0x78,
0xe8, 0xf7, 0x45, 0x91, 0x8a, 0xa8, 0x45, 0x40, 0x54, 0x00, 0xcf, 0x95, 0x62, 0xa5, 0x44, 0x89,
0x2a, 0x95, 0x68, 0x48, 0x0c, 0x8b, 0x38, 0x0f, 0x60, 0xc5, 0xee, 0xa0, 0x14, 0xe8, 0x77, 0xa1,
0x26, 0xf9, 0x5f, 0x19, 0x0a, 0x5a, 0x86, 0xf9, 0x16, 0x8f, 0x41, 0x3a, 0xdf, 0xf9, 0x97, 0x55,
0x58, 0x96, 0xe8, 0xf6, 0x30, 0x8c, 0xf9, 0xd1, 0x64, 0x34, 0xf2, 0xa2, 0x02, 0xc1, 0x52, 0x7a,
0x83, 0x60, 0x29, 0xe7, 0x05, 0xcb, 0x0d, 0xeb, 0x7c, 0x29, 0x24, 0x93, 0x81, 0xb0, 0x3b, 0xb0,
0xd8, 0x1f, 0x86, 0xb1, 0x50, 0xf7, 0x4d, 0x0b, 0x62, 0x16, 0xce, 0x0b, 0xc3, 0xd9, 0x22, 0x61,
0x68, 0x0a, 0xb2, 0xb9, 0x8c, 0x20, 0x73, 0xa0, 0x89, 0x95, 0x72, 0x25, 0x9b, 0xe7, 0xe5, 0x61,
0xcb, 0xc0, 0xb0, 0x3f, 0x59, 0xb1, 0x21, 0x64, 0xd4, 0x62, 0x91, 0xd0, 0xf0, 0x47, 0x9c, 0x64,
0xbf, 0x51, 0xba, 0x2e, 0x85, 0x46, 0x3e, 0x8b, 0x3d, 0x04, 0x10, 0x6d, 0x91, 0x02, 0x02, 0xa4,
0x80, 0xdc, 0xb2, 0x57, 0xc5, 0x9c, 0xff, 0x0d, 0x4c, 0x4c, 0x22, 0x4e, 0x4a, 0x89, 0xf1, 0xa5,
0xf3, 0x37, 0x4b, 0xd0, 0x30, 0xf2, 0xd8, 0x15, 0x58, 0xda, 0x7e, 0xfa, 0xf4, 0x70, 0xd7, 0xdd,
0x7a, 0xf6, 0xf8, 0x07, 0xbb, 0xbd, 0xed, 0xfd, 0xa7, 0x47, 0xbb, 0xed, 0x19, 0x84, 0xf7, 0x9f,
0x6e, 0x6f, 0xed, 0xf7, 0x1e, 0x3e, 0x75, 0xb7, 0x15, 0x5c, 0x62, 0xab, 0xc0, 0xdc, 0xdd, 0x27,
0x4f, 0x9f, 0xed, 0x5a, 0x78, 0x99, 0xb5, 0xa1, 0xf9, 0xc0, 0xdd, 0xdd, 0xda, 0xde, 0x93, 0x48,
0x85, 0xad, 0x40, 0xfb, 0xe1, 0xf3, 0x83, 0x9d, 0xc7, 0x07, 0x8f, 0x7a, 0xdb, 0x5b, 0x07, 0xdb,
0xbb, 0xfb, 0xbb, 0x3b, 0xed, 0x2a, 0x5b, 0x80, 0xfa, 0xd6, 0x83, 0xad, 0x83, 0x9d, 0xa7, 0x07,
0xbb, 0x3b, 0xed, 0x59, 0xe7, 0x4f, 0x4b, 0x70, 0x85, 0x7a, 0x3d, 0xc8, 0x32, 0xc9, 0x3a, 0x34,
0xfa, 0x61, 0x38, 0x46, 0xc5, 0x3f, 0xdd, 0xda, 0x4c, 0x08, 0x19, 0x40, 0x08, 0x85, 0x93, 0x30,
0xea, 0x73, 0xc9, 0x23, 0x40, 0xd0, 0x43, 0x44, 0x90, 0x01, 0xe4, 0xf2, 0x8a, 0x12, 0x82, 0x45,
0x1a, 0x02, 0x13, 0x45, 0x56, 0x61, 0xee, 0x38, 0xe2, 0x5e, 0xff, 0x4c, 0x72, 0x87, 0x4c, 0xb1,
0xf7, 0xd3, 0x93, 0x69, 0x1f, 0x67, 0x7f, 0xc8, 0x07, 0x44, 0x31, 0x35, 0x77, 0x51, 0xe2, 0xdb,
0x12, 0x46, 0x29, 0xe8, 0x1d, 0x7b, 0xc1, 0x20, 0x0c, 0xf8, 0x40, 0xaa, 0xbd, 0x29, 0xe0, 0x1c,
0xc2, 0x6a, 0x76, 0x7c, 0x92, 0xc7, 0x3e, 0x32, 0x78, 0x4c, 0x68, 0xa1, 0xdd, 0xe9, 0xab, 0x69,
0xf0, 0xdb, 0x7f, 0x2e, 0x43, 0x15, 0x95, 0x92, 0xe9, 0x0a, 0x8c, 0xa9, 0x67, 0x56, 0x72, 0xee,
0x06, 0x3a, 0xec, 0x8a, 0x2d, 0x4a, 0x1a, 0x5a, 0x52, 0x24, 0xcd, 0x8f, 0x78, 0xff, 0x5c, 0x9a,
0x5a, 0x0c, 0x04, 0x19, 0x04, 0x0f, 0x01, 0xf4, 0xb5, 0x64, 0x10, 0x95, 0x56, 0x79, 0xf4, 0xe5,
0x7c, 0x9a, 0x47, 0xdf, 0x75, 0x60, 0xde, 0x0f, 0x8e, 0xc3, 0x49, 0x30, 0x20, 0x86, 0xa8, 0xb9,
0x2a, 0x49, 0x0e, 0x0e, 0x62, 0x54, 0x94, 0x9f, 0x82, 0xfc, 0x53, 0x80, 0x6d, 0x42, 0x3d, 0xbe,
0x0c, 0xfa, 0x26, 0xcd, 0xaf, 0xc8, 0x59, 0xc2, 0x39, 0xd8, 0x38, 0xba, 0x0c, 0xfa, 0x44, 0xe1,
0x69, 0x31, 0xe7, 0xb7, 0xa0, 0xa6, 0x60, 0x24, 0xcb, 0xe7, 0x07, 0x9f, 0x1f, 0x3c, 0x7d, 0x71,
0xd0, 0x3b, 0xfa, 0xe1, 0xc1, 0x76, 0x7b, 0x86, 0x2d, 0x42, 0x63, 0x6b, 0x9b, 0x28, 0x9d, 0x80,
0x12, 0x16, 0x39, 0xdc, 0x3a, 0x3a, 0xd2, 0x48, 0xd9, 0x61, 0x78, 0x90, 0x8f, 0x49, 0xf3, 0xd3,
0x06, 0xfc, 0x8f, 0x60, 0xc9, 0xc0, 0xd2, 0x53, 0xc4, 0x18, 0x81, 0xcc, 0x29, 0x82, 0x54, 0x46,
0x91, 0xe3, 0xb4, 0xa1, 0xf5, 0x88, 0x27, 0x8f, 0x83, 0x93, 0x50, 0xd5, 0xf4, 0xdf, 0xab, 0xb0,
0xa8, 0x21, 0x59, 0xd1, 0x1d, 0x58, 0xf4, 0x07, 0x3c, 0x48, 0xfc, 0xe4, 0xb2, 0x67, 0xd9, 0x0b,
0xb2, 0x30, 0xaa, 0xda, 0xde, 0xd0, 0xf7, 0x94, 0x1f, 0x49, 0x24, 0xf0, 0xfc, 0x8c, 0x3a, 0x80,
0x69, 0xb7, 0x21, 0xba, 0x12, 0x66, 0x8a, 0xc2, 0x3c, 0x94, 0x40, 0x88, 0xcb, 0x6d, 0x46, 0x7f,
0x22, 0x54, 0xce, 0xa2, 0x2c, 0x5c, 0x2a, 0x51, 0x13, 0x0e, 0x79, 0x56, 0xe8, 0x09, 0x1a, 0xc8,
0x39, 0x6a, 0xe6, 0x84, 0x7c, 0xcc, 0x3a, 0x6a, 0x0c, 0x67, 0x4f, 0x2d, 0xe7, 0xec, 0x41, 0xf9,
0x79, 0x19, 0xf4, 0xf9, 0xa0, 0x97, 0x84, 0x3d, 0x92, 0xf3, 0x44, 0x12, 0x35, 0x37, 0x0b, 0xe3,
0xbe, 0x91, 0xf0, 0x38, 0x09, 0xb8, 0xb0, 0x78, 0xd7, 0xc8, 0x0a, 0xaa, 0x20, 0x3c, 0x1f, 0x4c,
0x22, 0x3f, 0xee, 0x34, 0xc9, 0x8d, 0x43, 0xbf, 0xd9, 0x77, 0xe1, 0xca, 0x31, 0x8f, 0x93, 0xde,
0x19, 0xf7, 0x06, 0x3c, 0x22, 0xf2, 0x12, 0xfe, 0x22, 0xa1, 0x72, 0x15, 0x67, 0x22, 0xe1, 0x9e,
0xf3, 0x28, 0xf6, 0xc3, 0x80, 0x94, 0xad, 0xba, 0xab, 0x92, 0x58, 0x1f, 0x0e, 0x5e, 0x6f, 0xd4,
0x7a, 0x06, 0x17, 0x69, 0xe0, 0xc5, 0x99, 0xec, 0x26, 0xcc, 0xd1, 0x00, 0xe2, 0x4e, 0x9b, 0x68,
0xa6, 0x99, 0xf2, 0xbc, 0x1f, 0xb8, 0x32, 0x0f, 0x57, 0xb9, 0x1f, 0x0e, 0xc3, 0x88, 0x34, 0xae,
0xba, 0x2b, 0x12, 0xf6, 0xec, 0x9c, 0x46, 0xde, 0xf8, 0x4c, 0x6a, 0x5d, 0x59, 0xf8, 0xb3, 0x6a,
0xad, 0xd1, 0x6e, 0x3a, 0xff, 0x1f, 0xcc, 0x52, 0xb5, 0x54, 0x1d, 0x4d, 0x66, 0x49, 0x56, 0x47,
0x68, 0x07, 0xe6, 0x03, 0x9e, 0x5c, 0x84, 0xd1, 0x4b, 0xe5, 0x94, 0x94, 0x49, 0xe7, 0x67, 0x74,
0x42, 0xd3, 0x4e, 0xba, 0xe7, 0xa4, 0x5a, 0xe2, 0x39, 0x5b, 0x2c, 0x55, 0x7c, 0xe6, 0xc9, 0x43,
0x63, 0x8d, 0x80, 0xa3, 0x33, 0x0f, 0x65, 0xad, 0xb5, 0xfa, 0xe2, 0x1c, 0xde, 0x20, 0x6c, 0x4f,
0x2c, 0xfe, 0x4d, 0x68, 0x29, 0xf7, 0x5f, 0xdc, 0x1b, 0xf2, 0x93, 0x44, 0x59, 0xd1, 0x82, 0xc9,
0x88, 0x0e, 0xeb, 0xfb, 0xfc, 0x24, 0x71, 0x0e, 0x60, 0x49, 0xca, 0xbf, 0xa7, 0x63, 0xae, 0x9a,
0xfe, 0x8d, 0x22, 0x5d, 0xa2, 0xb1, 0xb9, 0x6c, 0x0b, 0x4c, 0xe1, 0xf0, 0xb4, 0x4b, 0x3a, 0x2e,
0x30, 0x53, 0x9e, 0xca, 0x0a, 0xe5, 0x66, 0xae, 0xec, 0x84, 0x72, 0x38, 0x16, 0x86, 0xf3, 0x13,
0x4f, 0xfa, 0x7d, 0xe5, 0xb4, 0xad, 0xb9, 0x2a, 0xe9, 0xfc, 0x87, 0x12, 0x2c, 0x53, 0x6d, 0x4a,
0x1b, 0x92, 0x7b, 0xd6, 0xc7, 0x5f, 0xa3, 0x9b, 0xca, 0x4a, 0x2b, 0x6c, 0x93, 0x2b, 0x30, 0x6b,
0xee, 0x62, 0x22, 0xf1, 0xf5, 0x6d, 0x32, 0xd5, 0x9c, 0x4d, 0xe6, 0x2e, 0xb4, 0x07, 0x7c, 0xe8,
0x93, 0xe3, 0x5e, 0xed, 0x09, 0x42, 0xf5, 0xc9, 0xe1, 0xce, 0xdf, 0x2d, 0xc1, 0x92, 0xd8, 0x74,
0x48, 0x33, 0x97, 0x53, 0xf5, 0xff, 0xc3, 0x82, 0xd0, 0x1e, 0xa4, 0x04, 0x91, 0x83, 0x4a, 0xc5,
0x30, 0xa1, 0xa2, 0xf0, 0xde, 0x8c, 0x6b, 0x17, 0x66, 0x9f, 0x92, 0x06, 0x17, 0xf4, 0x08, 0x2d,
0x08, 0x05, 0xb0, 0xd7, 0x65, 0x6f, 0xc6, 0x35, 0x8a, 0x3f, 0xa8, 0xa1, 0x62, 0x8d, 0xb8, 0xf3,
0x08, 0x16, 0xac, 0x86, 0x2c, 0xdb, 0x51, 0x53, 0xd8, 0x8e, 0x72, 0x46, 0xda, 0x72, 0x81, 0x91,
0xf6, 0x9f, 0x57, 0x80, 0x21, 0x61, 0x65, 0x56, 0x6e, 0xdd, 0xf6, 0x74, 0xa8, 0xa8, 0x80, 0x14,
0x62, 0x9b, 0xc0, 0x8c, 0xa4, 0xf2, 0xc0, 0x54, 0xb4, 0x07, 0xa6, 0x20, 0x17, 0xc5, 0xb2, 0xd4,
0x50, 0xb4, 0x77, 0x83, 0xec, 0x02, 0x62, 0x99, 0x0a, 0xf3, 0x70, 0x17, 0x25, 0x57, 0x07, 0x9e,
0x60, 0xe4, 0x59, 0x5a, 0xa5, 0xb3, 0xf4, 0x30, 0xf7, 0x46, 0x7a, 0x98, 0xcf, 0xd1, 0x83, 0x71,
0x9a, 0xab, 0xd9, 0xa7, 0xb9, 0x9b, 0xb0, 0xa0, 0x3c, 0x1a, 0xc2, 0x29, 0x2b, 0x8f, 0xce, 0x16,
0x88, 0xf4, 0xa4, 0x0e, 0x54, 0xfa, 0xc8, 0x28, 0x5c, 0x8e, 0x39, 0x1c, 0xf7, 0x8b, 0xd4, 0x6a,
0xd7, 0xa0, 0xce, 0xa6, 0x00, 0x9d, 0xbf, 0x90, 0x4a, 0x7a, 0x93, 0x40, 0x46, 0x04, 0xf0, 0x01,
0x1d, 0x9a, 0xf1, 0xfc, 0x95, 0xcd, 0x70, 0xfe, 0x56, 0x09, 0xda, 0xb8, 0x6e, 0x16, 0x69, 0x7e,
0x02, 0xc4, 0x45, 0x6f, 0x49, 0x99, 0x56, 0x59, 0xf6, 0x31, 0xd4, 0x29, 0x1d, 0x8e, 0x79, 0x20,
0xe9, 0xb2, 0x63, 0xd3, 0x65, 0x2a, 0x7f, 0xf6, 0x66, 0xdc, 0xb4, 0xb0, 0x41, 0x95, 0xff, 0xae,
0x04, 0x0d, 0xd9, 0xca, 0x2f, 0x6d, 0x15, 0xea, 0x1a, 0x21, 0x1c, 0x42, 0x59, 0x4b, 0x23, 0x36,
0xee, 0xc0, 0xe2, 0xc8, 0x4b, 0x26, 0x11, 0xee, 0xff, 0x96, 0x45, 0x28, 0x0b, 0xe3, 0x66, 0x4e,
0xa2, 0x36, 0xee, 0x25, 0xfe, 0xb0, 0xa7, 0x72, 0x65, 0xb0, 0x44, 0x51, 0x16, 0x4a, 0x9c, 0x38,
0xf1, 0x4e, 0xb9, 0xdc, 0xa7, 0x45, 0xc2, 0xe9, 0xc0, 0xea, 0x61, 0xea, 0xe5, 0x31, 0xf4, 0x71,
0xe7, 0x9f, 0x2e, 0xc0, 0x5a, 0x2e, 0x4b, 0x87, 0x76, 0x49, 0x33, 0xc7, 0xd0, 0x1f, 0x1d, 0x87,
0xfa, 0x30, 0x53, 0x32, 0x2d, 0x20, 0x56, 0x16, 0x3b, 0x85, 0x2b, 0x4a, 0x21, 0xc1, 0x39, 0x4d,
0x37, 0xcf, 0x32, 0xed, 0x8a, 0x1f, 0xda, 0x4b, 0x98, 0x6d, 0x50, 0xe1, 0x26, 0x23, 0x17, 0xd7,
0xc7, 0xce, 0xa0, 0xa3, 0x35, 0x1f, 0x29, 0xdc, 0x0d, 0xed, 0x08, 0xdb, 0xfa, 0xe0, 0x0d, 0x6d,
0x59, 0xea, 0xbb, 0x3b, 0xb5, 0x36, 0x76, 0x09, 0x37, 0x54, 0x1e, 0x49, 0xef, 0x7c, 0x7b, 0xd5,
0xb7, 0x1a, 0x1b, 0x1d, 0x4c, 0xec, 0x46, 0xdf, 0x50, 0x31, 0xfb, 0x29, 0xac, 0x5e, 0x78, 0x7e,
0xa2, 0xba, 0x65, 0xe8, 0x22, 0xb3, 0xd4, 0xe4, 0xe6, 0x1b, 0x9a, 0x7c, 0x21, 0x3e, 0xb6, 0xb6,
0xb4, 0x29, 0x35, 0x76, 0xff, 0xb8, 0x0c, 0x2d, 0xbb, 0x1e, 0x24, 0x53, 0xc9, 0xfb, 0x4a, 0x06,
0x2a, 0xed, 0x35, 0x03, 0xe7, 0x6d, 0x02, 0xe5, 0x22, 0x9b, 0x80, 0x79, 0x0a, 0xaf, 0xbc, 0xc9,
0x9c, 0x58, 0x7d, 0x3b, 0x73, 0xe2, 0x6c, 0xa1, 0x39, 0x71, 0xba, 0xd5, 0x69, 0xee, 0x97, 0xb5,
0x3a, 0xcd, 0xbf, 0xd6, 0xea, 0xd4, 0xfd, 0x3f, 0x25, 0x60, 0x79, 0xea, 0x65, 0x8f, 0x84, 0x19,
0x24, 0xe0, 0x43, 0x29, 0xc4, 0xbe, 0xfd, 0x76, 0x1c, 0xa0, 0x56, 0x4b, 0x7d, 0x8d, 0xac, 0x68,
0xc6, 0x57, 0x99, 0xea, 0xd8, 0x82, 0x5b, 0x94, 0x95, 0x31, 0xa9, 0x56, 0xdf, 0x6c, 0x52, 0x9d,
0x7d, 0xb3, 0x49, 0x75, 0x2e, 0x6b, 0x52, 0xed, 0xfe, 0xb5, 0x12, 0x2c, 0x17, 0x90, 0xd9, 0xaf,
0x6f, 0xe0, 0x48, 0x18, 0x96, 0xf4, 0x29, 0x4b, 0xc2, 0x30, 0xc1, 0xee, 0x5f, 0x82, 0x05, 0x8b,
0xb5, 0x7e, 0x7d, 0xed, 0x67, 0x35, 0x4a, 0x41, 0xd9, 0x16, 0xd6, 0xfd, 0x9f, 0x65, 0x60, 0x79,
0xf6, 0xfe, 0x73, 0xed, 0x43, 0x7e, 0x9e, 0x2a, 0x05, 0xf3, 0xf4, 0xff, 0x74, 0xe7, 0xf9, 0x00,
0x96, 0x64, 0xd0, 0xa8, 0x61, 0xf8, 0x12, 0x14, 0x93, 0xcf, 0x40, 0x9d, 0xda, 0xb6, 0x67, 0xd7,
0xac, 0x20, 0x39, 0x63, 0xfb, 0xcd, 0x98, 0xb5, 0x9d, 0x2e, 0x74, 0xe4, 0x0c, 0xed, 0x9e, 0xf3,
0x20, 0x39, 0x9a, 0x1c, 0x8b, 0xa8, 0x49, 0x3f, 0x0c, 0x48, 0x0d, 0x34, 0x33, 0xa5, 0x42, 0xf1,
0x5d, 0x68, 0x9a, 0xdb, 0x87, 0x5c, 0x8e, 0x8c, 0xed, 0x13, 0x55, 0x09, 0xb3, 0x14, 0xdb, 0x81,
0x16, 0x09, 0xc9, 0x81, 0xfe, 0xae, 0x4c, 0xdf, 0xbd, 0xc6, 0x9e, 0xb3, 0x37, 0xe3, 0x66, 0xbe,
0x61, 0xbf, 0x09, 0x2d, 0xfb, 0xb0, 0x28, 0xb5, 0x92, 0xa2, 0xd3, 0x03, 0x7e, 0x6e, 0x17, 0x66,
0x5b, 0xd0, 0xce, 0x9e, 0x36, 0x65, 0xe4, 0xcf, 0x94, 0x0a, 0x72, 0xc5, 0xd9, 0xc7, 0xd2, 0xb9,
0x39, 0x4b, 0x76, 0x96, 0x9b, 0xf6, 0x67, 0xc6, 0x34, 0x6d, 0x88, 0x3f, 0x86, 0xbb, 0xf3, 0x77,
0x00, 0x52, 0x8c, 0xb5, 0xa1, 0xf9, 0xf4, 0x70, 0xf7, 0xa0, 0xb7, 0xbd, 0xb7, 0x75, 0x70, 0xb0,
0xbb, 0xdf, 0x9e, 0x61, 0x0c, 0x5a, 0x64, 0x16, 0xdc, 0xd1, 0x58, 0x09, 0x31, 0x69, 0x88, 0x51,
0x58, 0x99, 0xad, 0x40, 0xfb, 0xf1, 0x41, 0x06, 0xad, 0x3c, 0xa8, 0x6b, 0xfe, 0x70, 0x56, 0x61,
0x45, 0x04, 0x05, 0x3f, 0x10, 0xe4, 0xa1, 0xb4, 0x93, 0x7f, 0x58, 0x82, 0x2b, 0x99, 0x8c, 0x34,
0x3c, 0x4c, 0x28, 0x20, 0xb6, 0x56, 0x62, 0x83, 0xe4, 0xac, 0x50, 0xba, 0x66, 0x46, 0x82, 0xe4,
0x33, 0x90, 0xe6, 0x0d, 0xdd, 0x34, 0xc3, 0x49, 0x45, 0x59, 0xce, 0x9a, 0x8e, 0xc2, 0xc9, 0x74,
0xfc, 0x44, 0x04, 0x1b, 0x9b, 0x19, 0xa9, 0xb3, 0xd8, 0xee, 0xb2, 0x4a, 0xe2, 0xb1, 0xc2, 0x52,
0x76, 0xec, 0xfe, 0x16, 0xe6, 0x39, 0xff, 0xab, 0x0a, 0xec, 0xfb, 0x13, 0x1e, 0x5d, 0x52, 0xfc,
0x97, 0xb6, 0xb2, 0xae, 0x65, 0x6d, 0x88, 0x73, 0xe3, 0xc9, 0xf1, 0xe7, 0xfc, 0x52, 0xc5, 0x6b,
0x96, 0xdf, 0x2a, 0x5e, 0xb3, 0x28, 0x5e, 0xb2, 0xfa, 0xe6, 0x78, 0xc9, 0xd9, 0x37, 0xc5, 0x4b,
0x7e, 0x03, 0x16, 0xfc, 0xd3, 0x20, 0x44, 0x71, 0x80, 0x2a, 0x44, 0xdc, 0x99, 0x5b, 0xaf, 0xe0,
0x31, 0x5d, 0x82, 0x07, 0x88, 0xb1, 0x4f, 0xd3, 0x42, 0x7c, 0x70, 0x4a, 0xf1, 0xbd, 0xa6, 0x80,
0xd8, 0x1d, 0x9c, 0xf2, 0xfd, 0xb0, 0xef, 0x25, 0x61, 0x44, 0xe7, 0x34, 0xf5, 0x31, 0xe2, 0x31,
0xbb, 0x09, 0xad, 0x38, 0x9c, 0xa0, 0x52, 0xa5, 0xa6, 0x41, 0x18, 0xa5, 0x9a, 0x02, 0x3d, 0x14,
0x93, 0xb1, 0x01, 0xcb, 0x93, 0x98, 0xf7, 0x46, 0x7e, 0x1c, 0xe3, 0xc6, 0xd9, 0x0f, 0x83, 0x24,
0x0a, 0x87, 0xd2, 0x34, 0xb5, 0x34, 0x89, 0xf9, 0x13, 0x91, 0xb3, 0x2d, 0x32, 0xd8, 0x77, 0xd3,
0x2e, 0x8d, 0x3d, 0x3f, 0x8a, 0x3b, 0x40, 0x5d, 0x52, 0x23, 0xc5, 0x7e, 0x1f, 0x7a, 0x7e, 0xa4,
0xfb, 0x82, 0x89, 0x38, 0x13, 0xc7, 0xd9, 0xc8, 0xc6, 0x71, 0xfe, 0xa4, 0x38, 0x8e, 0x73, 0x81,
0xaa, 0xbe, 0x2f, 0xab, 0xce, 0x2f, 0xf1, 0xdb, 0x87, 0x73, 0xfe, 0x7a, 0x02, 0x34, 0x65, 0x4c,
0xe1, 0x06, 0xd4, 0xd4, 0x30, 0xf1, 0xac, 0x7e, 0x12, 0x85, 0x23, 0x75, 0x56, 0xc7, 0xdf, 0xac,
0x05, 0xe5, 0x24, 0x94, 0x1f, 0x97, 0x93, 0xd0, 0xf9, 0x5d, 0x68, 0x18, 0x2b, 0xc5, 0xde, 0x13,
0x66, 0x03, 0xd4, 0x09, 0xe5, 0x21, 0x5f, 0x78, 0x86, 0xea, 0x12, 0x7d, 0x3c, 0x60, 0xdf, 0x82,
0xa5, 0x81, 0x1f, 0x71, 0x0a, 0x89, 0xee, 0x45, 0xfc, 0x9c, 0x47, 0xb1, 0x32, 0x9f, 0xb4, 0x75,
0x86, 0x2b, 0x70, 0xa7, 0x07, 0xcb, 0xd6, 0xd4, 0x68, 0xe1, 0x30, 0x47, 0x81, 0x90, 0xca, 0x82,
0x6b, 0x07, 0x49, 0xca, 0x3c, 0xdc, 0x56, 0xa5, 0xe5, 0xa7, 0x37, 0x8e, 0xc2, 0x63, 0x6a, 0xa4,
0xe4, 0x5a, 0x98, 0xf3, 0x3f, 0x2a, 0x50, 0xd9, 0x0b, 0xc7, 0xa6, 0x3f, 0xab, 0x94, 0xf7, 0x67,
0x49, 0xfd, 0xb7, 0xa7, 0xd5, 0x5b, 0xa9, 0xa4, 0x58, 0x20, 0xbb, 0x0b, 0x2d, 0xe4, 0xb4, 0x24,
0x44, 0x7d, 0xff, 0xc2, 0x8b, 0x44, 0xd4, 0x64, 0x85, 0xc8, 0x37, 0x93, 0xc3, 0x56, 0xa0, 0xa2,
0xd5, 0x36, 0x2a, 0x80, 0x49, 0x3c, 0x6c, 0x52, 0xcc, 0xc0, 0xa5, 0x34, 0xd3, 0xca, 0x14, 0x0a,
0x2e, 0xfb, 0x7b, 0xc1, 0xce, 0x62, 0xf3, 0x2d, 0xca, 0x42, 0x5d, 0x1c, 0x19, 0x76, 0x94, 0xaa,
0xb6, 0x3a, 0x6d, 0x3a, 0x20, 0x6a, 0xb6, 0x03, 0x62, 0x1d, 0x1a, 0xc9, 0xf0, 0xbc, 0x37, 0xf6,
0x2e, 0x87, 0xa1, 0x37, 0x90, 0x8c, 0x62, 0x42, 0xec, 0x3e, 0xc0, 0x68, 0x3c, 0x96, 0x54, 0x4c,
0x16, 0x84, 0xc6, 0x66, 0x5b, 0xce, 0xfe, 0x93, 0xc3, 0x43, 0x41, 0x7d, 0xae, 0x51, 0x86, 0xed,
0x42, 0xab, 0x30, 0x84, 0xf9, 0xba, 0xf2, 0x6c, 0x87, 0xe3, 0x8d, 0x02, 0x3a, 0xcf, 0x7c, 0xd4,
0xfd, 0x6d, 0x60, 0xbf, 0x62, 0x04, 0xf2, 0x0b, 0xa8, 0xeb, 0x1e, 0x9a, 0x71, 0xbf, 0x14, 0xbe,
0xd2, 0xb0, 0xe3, 0x7e, 0x29, 0x5a, 0xe5, 0x16, 0xb4, 0xc4, 0x6e, 0xa3, 0xe5, 0xa7, 0x08, 0x39,
0xc8, 0xa0, 0xce, 0x9f, 0x95, 0x60, 0x96, 0x28, 0x0f, 0xd5, 0x2f, 0x91, 0xa7, 0x1d, 0x81, 0xd4,
0xb5, 0x05, 0x37, 0x0b, 0x33, 0xc7, 0xba, 0xda, 0x50, 0xd6, 0x64, 0x60, 0x5e, 0x6f, 0x58, 0x87,
0xba, 0x6e, 0xc9, 0x20, 0xa5, 0x14, 0x64, 0x37, 0xa0, 0x7a, 0x16, 0x8e, 0xd5, 0x09, 0x15, 0xd2,
0x19, 0x75, 0x09, 0x4f, 0xfb, 0x83, 0xf5, 0x89, 0x21, 0x88, 0x53, 0x40, 0x16, 0x2e, 0x18, 0xeb,
0x5c, 0xe1, 0x58, 0x9f, 0xc3, 0x22, 0xca, 0x07, 0xc3, 0x31, 0x32, 0x7d, 0x2f, 0x7a, 0x1f, 0x55,
0x9b, 0xfe, 0x70, 0x32, 0xe0, 0xa6, 0x9d, 0x80, 0x0c, 0xdf, 0x12, 0x57, 0x1a, 0xb2, 0xf3, 0xcf,
0x4a, 0x42, 0xee, 0x60, 0xbd, 0xec, 0x0e, 0x54, 0x71, 0xdb, 0xc8, 0x98, 0x85, 0x74, 0x48, 0x11,
0x96, 0x73, 0xa9, 0x04, 0xae, 0x22, 0x99, 0xa6, 0xcd, 0xda, 0x85, 0x61, 0x3a, 0x3d, 0x64, 0xeb,
0x91, 0x65, 0xce, 0xa6, 0x19, 0x94, 0x6d, 0x18, 0x7e, 0xbd, 0xaa, 0xb5, 0x15, 0x29, 0x4d, 0x6a,
0x70, 0xca, 0x0d, 0x7f, 0xde, 0x1f, 0x96, 0x60, 0xc1, 0xea, 0x13, 0x72, 0x0f, 0x05, 0xfe, 0x0b,
0x2b, 0x93, 0x5c, 0x79, 0x13, 0x32, 0x39, 0xaf, 0x6c, 0x73, 0x9e, 0xf6, 0x0f, 0x55, 0x4c, 0xff,
0xd0, 0x7d, 0xa8, 0xa7, 0x77, 0x5b, 0xec, 0x4e, 0x61, 0x8b, 0x2a, 0xb8, 0x2a, 0x2d, 0x94, 0x7a,
0x20, 0x66, 0x0d, 0x0f, 0x84, 0xf3, 0x29, 0x34, 0x8c, 0xf2, 0xa6, 0x07, 0xa1, 0x64, 0x79, 0x10,
0x74, 0xe4, 0x61, 0x39, 0x8d, 0x3c, 0x74, 0x7e, 0x5e, 0x86, 0x05, 0x24, 0x6f, 0x3f, 0x38, 0x3d,
0x0c, 0x87, 0x7e, 0xff, 0x92, 0xc8, 0x4a, 0x51, 0xb2, 0x54, 0x1b, 0x14, 0x99, 0xdb, 0x30, 0x8a,
0x21, 0x1d, 0x6e, 0x2d, 0x64, 0xa6, 0x4e, 0xa3, 0x50, 0x45, 0x91, 0x74, 0xec, 0xc5, 0xdc, 0xb8,
0xec, 0xe2, 0xda, 0x20, 0x8a, 0x3e, 0x04, 0x28, 0x8e, 0x74, 0xe4, 0x0f, 0x87, 0xbe, 0x28, 0x2b,
0xce, 0xbb, 0x45, 0x59, 0xd8, 0xe6, 0xc0, 0x8f, 0xbd, 0xe3, 0xd4, 0xf7, 0xab, 0xd3, 0x64, 0x2c,
0xf5, 0x5e, 0x19, 0xc6, 0x52, 0x11, 0x78, 0x6e, 0x83, 0xd9, 0x85, 0x9c, 0xcf, 0x2d, 0xa4, 0xf3,
0xaf, 0xcb, 0xd0, 0x30, 0xc8, 0x02, 0xd9, 0xb9, 0x70, 0xdf, 0x33, 0x50, 0x19, 0x14, 0x11, 0x58,
0x16, 0x14, 0x03, 0x61, 0x37, 0xed, 0x56, 0xc9, 0xc9, 0x42, 0x0c, 0x6f, 0x91, 0xd0, 0x35, 0xa8,
0x23, 0xe9, 0x7f, 0x48, 0xe6, 0x1a, 0x79, 0xb1, 0x4c, 0x03, 0x2a, 0x77, 0x93, 0x72, 0x67, 0xd3,
0x5c, 0x02, 0x5e, 0x1b, 0x26, 0xf1, 0x31, 0x34, 0x65, 0x35, 0xb4, 0xc6, 0x34, 0xe8, 0x94, 0xf9,
0xac, 0xf5, 0x77, 0xad, 0x92, 0xea, 0xcb, 0x4d, 0xf5, 0x65, 0xed, 0x4d, 0x5f, 0xaa, 0x92, 0xce,
0x23, 0x1d, 0x81, 0xf2, 0x28, 0xf2, 0xc6, 0x67, 0x4a, 0xa0, 0xdc, 0x87, 0x65, 0x25, 0x37, 0x26,
0x81, 0x17, 0x04, 0xe1, 0x24, 0xe8, 0x73, 0x15, 0xa4, 0x58, 0x94, 0xe5, 0x0c, 0x74, 0x48, 0x3b,
0x55, 0xc4, 0xee, 0xc2, 0xac, 0x50, 0x3c, 0x85, 0x7a, 0x50, 0x2c, 0x42, 0x44, 0x11, 0x76, 0x07,
0x66, 0x85, 0xfe, 0x59, 0x9e, 0xca, 0xf4, 0xa2, 0x80, 0xb3, 0x01, 0x8b, 0x14, 0x43, 0x6f, 0xc8,
0xbe, 0x77, 0x8a, 0xd4, 0x86, 0xb9, 0xbe, 0x88, 0xb4, 0x5f, 0x01, 0x76, 0x20, 0xf8, 0xca, 0xf4,
0x23, 0xff, 0x59, 0x05, 0x1a, 0x06, 0x8c, 0xf2, 0x89, 0x9c, 0x7f, 0xbd, 0x81, 0xef, 0x8d, 0x78,
0xc2, 0x23, 0xc9, 0x4b, 0x19, 0x14, 0xcb, 0x79, 0xe7, 0xa7, 0xbd, 0x70, 0x92, 0xf4, 0x06, 0xfc,
0x34, 0xe2, 0x5c, 0xea, 0x33, 0x19, 0x14, 0xcb, 0x21, 0x35, 0x1b, 0xe5, 0x84, 0xbb, 0x2e, 0x83,
0x2a, 0xaf, 0xb0, 0x98, 0xa7, 0x6a, 0xea, 0x15, 0x16, 0xb3, 0x92, 0x95, 0xac, 0xb3, 0x05, 0x92,
0xf5, 0x23, 0x58, 0x15, 0x32, 0x54, 0x4a, 0x8f, 0x5e, 0x86, 0xb8, 0xa6, 0xe4, 0xb2, 0xbb, 0xd0,
0xc6, 0x3e, 0x2b, 0xd6, 0x88, 0xfd, 0x9f, 0x09, 0x1e, 0x2b, 0xb9, 0x39, 0x1c, 0xcb, 0x92, 0xeb,
0xc1, 0x2c, 0x2b, 0x42, 0x73, 0x72, 0x38, 0x95, 0xf5, 0x5e, 0xd9, 0x65, 0xeb, 0xb2, 0x6c, 0x06,
0x67, 0x1f, 0xc3, 0xda, 0x88, 0x0f, 0x7c, 0xcf, 0xae, 0xa2, 0x97, 0x6e, 0xf2, 0xd3, 0xb2, 0xb1,
0x15, 0x9c, 0x85, 0x9f, 0x85, 0xa3, 0x63, 0x5f, 0x6c, 0x6c, 0xc2, 0x49, 0x52, 0x75, 0x73, 0xb8,
0xb3, 0x00, 0x8d, 0xa3, 0x24, 0x1c, 0xab, 0xa5, 0x6f, 0x41, 0x53, 0x24, 0x65, 0x58, 0xea, 0x3b,
0x70, 0x95, 0xe8, 0xf5, 0x59, 0x38, 0x0e, 0x87, 0xe1, 0xe9, 0xa5, 0x65, 0xea, 0xf8, 0xb7, 0x25,
0x58, 0xb6, 0x72, 0x53, 0x5b, 0x07, 0xd9, 0x65, 0x55, 0x2c, 0xa1, 0x20, 0xf1, 0x25, 0x63, 0x5b,
0x10, 0x05, 0x85, 0x1b, 0xec, 0xb9, 0x0c, 0x2f, 0xdc, 0x4a, 0x2f, 0xc8, 0xa8, 0x0f, 0x05, 0xbd,
0x77, 0xf2, 0xf4, 0x2e, 0xbf, 0x57, 0x57, 0x67, 0x54, 0x15, 0xbf, 0x29, 0x03, 0xa9, 0x06, 0x72,
0xd0, 0x15, 0x3b, 0xf8, 0xc5, 0x34, 0x8d, 0xa9, 0x1e, 0xf4, 0x35, 0x18, 0x3b, 0xbf, 0x28, 0x01,
0xa4, 0xbd, 0xa3, 0xf0, 0x1b, 0xbd, 0xb5, 0x89, 0xbb, 0xe4, 0xc6, 0x36, 0xf6, 0x1e, 0x34, 0x75,
0x04, 0x45, 0xba, 0x5b, 0x36, 0x14, 0x86, 0xda, 0xc5, 0x6d, 0x58, 0x3c, 0x1d, 0x86, 0xc7, 0xa4,
0xc5, 0x50, 0x9c, 0x73, 0x2c, 0x83, 0x73, 0x5b, 0x02, 0x7e, 0x28, 0xd1, 0x74, 0x6b, 0xad, 0x9a,
0x5b, 0x6b, 0xf1, 0x46, 0xf9, 0xf3, 0xb2, 0x76, 0x63, 0xa7, 0x33, 0xf1, 0x5a, 0x2e, 0x67, 0x9b,
0x39, 0xb1, 0x3e, 0xc5, 0x73, 0x4c, 0x67, 0xa0, 0xc3, 0x37, 0x5a, 0xca, 0x3f, 0x85, 0x56, 0x24,
0x64, 0xa6, 0x12, 0xa8, 0xd5, 0xd7, 0x08, 0xd4, 0x85, 0xc8, 0xda, 0x99, 0xdf, 0x87, 0xb6, 0x37,
0x38, 0xe7, 0x51, 0xe2, 0x93, 0xe5, 0x90, 0xd4, 0x28, 0x31, 0xc0, 0x45, 0x03, 0x27, 0x6d, 0xe5,
0x36, 0x2c, 0xca, 0x50, 0x69, 0x5d, 0x52, 0xde, 0xaa, 0x4c, 0x61, 0x2c, 0xe8, 0xfc, 0x63, 0xe5,
0x35, 0xb7, 0x57, 0xf7, 0xf5, 0xb3, 0x62, 0x8e, 0xb0, 0x9c, 0x19, 0xe1, 0x37, 0xa4, 0x67, 0x7a,
0xa0, 0x4c, 0x94, 0x15, 0x23, 0x24, 0x6f, 0x20, 0xa3, 0x0e, 0xec, 0x69, 0xad, 0xbe, 0xcd, 0xb4,
0x3a, 0xff, 0xb1, 0x04, 0xf3, 0x7b, 0xe1, 0x78, 0x0f, 0xa7, 0x18, 0x75, 0x1c, 0x64, 0x13, 0x7d,
0x4f, 0x41, 0x25, 0xdf, 0x10, 0xba, 0x58, 0xa8, 0x95, 0x2c, 0x64, 0xb5, 0x92, 0xdf, 0x86, 0x77,
0xc8, 0x48, 0x1e, 0x85, 0xe3, 0x30, 0x42, 0x76, 0xf5, 0x86, 0x42, 0x05, 0x09, 0x83, 0xe4, 0x4c,
0x89, 0xd3, 0xd7, 0x15, 0x21, 0xcb, 0xd5, 0x30, 0x39, 0xef, 0x89, 0x13, 0x9e, 0xd4, 0xa2, 0x84,
0x94, 0xcd, 0x67, 0x38, 0xbf, 0x01, 0x75, 0x3a, 0x61, 0xd0, 0xd0, 0x3e, 0x80, 0xfa, 0x59, 0x38,
0xee, 0x9d, 0xf9, 0x41, 0xa2, 0xd8, 0xbf, 0x95, 0xaa, 0xfe, 0x7b, 0x34, 0x29, 0xba, 0x80, 0xf3,
0x27, 0x73, 0x30, 0xff, 0x38, 0x38, 0x0f, 0xfd, 0x3e, 0x79, 0xdf, 0x47, 0x7c, 0x14, 0xaa, 0x9b,
0x1b, 0xf8, 0x9b, 0x2e, 0x47, 0xa7, 0x77, 0x2b, 0x05, 0x0b, 0x19, 0x08, 0x9e, 0x49, 0x23, 0xf3,
0x6e, 0xa4, 0x4c, 0xa5, 0x07, 0xad, 0x59, 0xe3, 0xee, 0x0b, 0xd6, 0x26, 0xee, 0xec, 0xd1, 0xdc,
0x89, 0x88, 0x5b, 0x03, 0xc1, 0xc9, 0x97, 0x21, 0x95, 0x22, 0xe6, 0x4e, 0xc4, 0xff, 0x48, 0x88,
0xce, 0xd9, 0x11, 0x17, 0x6e, 0x0e, 0xad, 0x7a, 0xe1, 0x39, 0xdb, 0x04, 0x51, 0x3d, 0x13, 0x1f,
0x88, 0x32, 0x62, 0x3b, 0x30, 0x21, 0x54, 0x50, 0xb3, 0x37, 0x86, 0xc5, 0xad, 0xef, 0x2c, 0x2c,
0xe2, 0x2c, 0xb4, 0xd0, 0x15, 0xe3, 0x04, 0x71, 0xbf, 0x34, 0x8b, 0x1b, 0xa7, 0x73, 0x11, 0x53,
0xae, 0x4e, 0xe7, 0x48, 0x32, 0xde, 0x70, 0x78, 0xec, 0xf5, 0x5f, 0x8a, 0xc3, 0x64, 0x53, 0x78,
0xc7, 0x2c, 0x90, 0x02, 0x23, 0xd3, 0x75, 0xa5, 0xe8, 0xa5, 0xaa, 0x6b, 0x42, 0x6c, 0x13, 0x1a,
0x64, 0xb9, 0x90, 0x2b, 0xdb, 0xa2, 0x95, 0x6d, 0x9b, 0xa6, 0x0d, 0x5a, 0x5b, 0xb3, 0x90, 0x19,
0x17, 0xb0, 0x98, 0x8b, 0xf2, 0xf6, 0x06, 0x03, 0x19, 0x52, 0xd1, 0x16, 0xf7, 0x2b, 0x35, 0x40,
0xb6, 0x11, 0x31, 0x61, 0xa2, 0xc0, 0x12, 0x15, 0xb0, 0x30, 0x76, 0x43, 0x58, 0x0e, 0xc7, 0x9e,
0x3f, 0xa0, 0x80, 0x25, 0x71, 0xfc, 0xd4, 0x18, 0xd6, 0xa1, 0x7e, 0xd3, 0xc6, 0xb9, 0x4c, 0xb3,
0x62, 0x61, 0x38, 0x37, 0x3a, 0x3d, 0x4a, 0xc3, 0xc2, 0x6d, 0x90, 0x7d, 0x48, 0x4e, 0xed, 0x84,
0x53, 0xec, 0x77, 0x6b, 0xf3, 0x1d, 0x39, 0x66, 0x49, 0xb6, 0xea, 0xef, 0x11, 0x16, 0x71, 0x45,
0x49, 0x54, 0xdb, 0x84, 0x5f, 0x61, 0xd5, 0x52, 0xdb, 0x64, 0x51, 0xf2, 0x2b, 0x88, 0x02, 0xce,
0x16, 0x34, 0xcd, 0x0a, 0x58, 0x0d, 0xaa, 0x4f, 0x0f, 0x77, 0x0f, 0xda, 0x33, 0xac, 0x01, 0xf3,
0x47, 0xbb, 0xcf, 0x9e, 0xed, 0xef, 0xee, 0xb4, 0x4b, 0xac, 0x09, 0x35, 0x1d, 0xef, 0x5a, 0xc6,
0xd4, 0xd6, 0xf6, 0xf6, 0xee, 0xe1, 0xb3, 0xdd, 0x9d, 0x76, 0xe5, 0xb3, 0x6a, 0xad, 0xdc, 0xae,
0x38, 0x7f, 0x54, 0x81, 0x86, 0x51, 0xff, 0x1b, 0x6c, 0x46, 0x37, 0x00, 0xe8, 0x44, 0x91, 0xc6,
0xb4, 0x54, 0x5d, 0x03, 0x41, 0x09, 0xa9, 0xcf, 0xda, 0x15, 0x71, 0xd9, 0x54, 0xa5, 0x69, 0xd6,
0xe8, 0x56, 0xa7, 0xe9, 0xc4, 0x99, 0x75, 0x6d, 0x10, 0x29, 0x4a, 0x02, 0x14, 0x84, 0x29, 0xf8,
0xd0, 0x84, 0x70, 0x85, 0x22, 0x1e, 0x87, 0xc3, 0x73, 0x2e, 0x8a, 0x08, 0xbd, 0xcc, 0xc2, 0xb0,
0x2d, 0x29, 0x6a, 0x8c, 0x00, 0xe9, 0x59, 0xd7, 0x06, 0xd9, 0xb7, 0xd5, 0x0a, 0xd5, 0x68, 0x85,
0xd6, 0xf2, 0xd3, 0x6d, 0xad, 0xce, 0x93, 0x9c, 0xd1, 0xa7, 0x4e, 0xcb, 0xf4, 0xcd, 0xfc, 0x77,
0x7f, 0x3e, 0xc6, 0x9f, 0x04, 0xd8, 0xd6, 0x60, 0x20, 0x9b, 0x35, 0xef, 0xd2, 0x46, 0xe6, 0xe5,
0x6d, 0x25, 0xdb, 0x0a, 0xe4, 0x47, 0xb9, 0x58, 0x7e, 0xbc, 0x96, 0xcb, 0x9c, 0xc7, 0xd0, 0x38,
0x34, 0xae, 0x83, 0x3b, 0x28, 0x6a, 0xd5, 0x45, 0x70, 0x21, 0x84, 0x85, 0xd1, 0x27, 0x45, 0x8d,
0x2e, 0x95, 0xcd, 0x2e, 0x39, 0xff, 0xa8, 0x24, 0x6e, 0xd8, 0xe9, 0x21, 0x88, 0xf6, 0x1d, 0x68,
0x6a, 0xbf, 0x41, 0x7a, 0x29, 0xc1, 0xc2, 0xb0, 0x0c, 0x75, 0xa7, 0x17, 0x9e, 0x9c, 0xc4, 0x5c,
0x85, 0x0f, 0x5b, 0x98, 0xd2, 0x6a, 0x51, 0x4f, 0xf6, 0x45, 0x0b, 0xb1, 0x0c, 0x23, 0xce, 0xe1,
0x48, 0xb9, 0xd2, 0x6e, 0xab, 0x02, 0xa7, 0x75, 0x5a, 0xdf, 0x9d, 0xc8, 0xce, 0xf4, 0x5d, 0xa8,
0xe9, 0x7a, 0xed, 0x2d, 0x4b, 0x95, 0xd4, 0xf9, 0xb8, 0x35, 0xd2, 0x89, 0xd7, 0xea, 0xb4, 0x60,
0xa0, 0x7c, 0x06, 0xdb, 0x00, 0x76, 0xe2, 0x47, 0xd9, 0xe2, 0x82, 0xa3, 0x0a, 0x72, 0x9c, 0x17,
0xb0, 0xac, 0xc4, 0x81, 0xa1, 0x6e, 0xdb, 0x0b, 0x59, 0x7a, 0x93, 0xb8, 0x2c, 0xe7, 0xc5, 0xa5,
0xf3, 0xaf, 0xaa, 0x30, 0x2f, 0x57, 0x3b, 0xf7, 0xac, 0x80, 0xd8, 0x70, 0x2d, 0x8c, 0x75, 0xac,
0xcb, 0xa3, 0x44, 0x08, 0x72, 0x13, 0xbd, 0x93, 0xdd, 0x06, 0x53, 0xe3, 0x5f, 0x66, 0x2b, 0x5c,
0x85, 0xea, 0xd8, 0x4b, 0xce, 0xc8, 0x36, 0x24, 0x68, 0x89, 0xd2, 0xca, 0xbc, 0x3c, 0x6b, 0x9b,
0x97, 0x8b, 0x1e, 0x53, 0x10, 0x3a, 0x5f, 0xfe, 0x31, 0x85, 0x6b, 0x50, 0x17, 0xdb, 0x76, 0x6a,
0x41, 0x4e, 0x81, 0xcc, 0x36, 0x5f, 0xcb, 0x6d, 0xf3, 0x6f, 0xbf, 0x01, 0x7f, 0x17, 0xe6, 0xc4,
0x85, 0x22, 0x19, 0x26, 0x7e, 0x4d, 0x39, 0x88, 0x45, 0x39, 0xf5, 0x57, 0xc4, 0x8f, 0xb9, 0xb2,
0xac, 0x79, 0x25, 0xb9, 0x61, 0x5f, 0x49, 0x36, 0x0d, 0xdf, 0xcd, 0x8c, 0xe1, 0xfb, 0x2e, 0xb4,
0xf5, 0xf4, 0x91, 0xa5, 0x2a, 0x88, 0x65, 0x14, 0x71, 0x0e, 0x4f, 0xf7, 0x97, 0x96, 0xb5, 0xbf,
0xa0, 0xc4, 0xda, 0x4a, 0x12, 0x3e, 0x1a, 0x27, 0x6a, 0x7f, 0x79, 0x08, 0x0b, 0x56, 0x27, 0x71,
0x5b, 0x91, 0xc1, 0xeb, 0xed, 0x19, 0xb6, 0x00, 0xf5, 0xc7, 0x07, 0xbd, 0x87, 0xfb, 0x8f, 0x1f,
0xed, 0x3d, 0x6b, 0x97, 0x30, 0x79, 0xf4, 0x7c, 0x7b, 0x7b, 0x77, 0x77, 0x87, 0xb6, 0x19, 0x80,
0xb9, 0x87, 0x5b, 0x8f, 0x71, 0xcb, 0xa9, 0x38, 0xff, 0xbb, 0x04, 0x0d, 0xa3, 0x7a, 0xf6, 0x3d,
0x3d, 0x33, 0xe2, 0xd6, 0xea, 0xf5, 0x7c, 0x17, 0x36, 0x94, 0xe0, 0x35, 0xa6, 0x46, 0xbf, 0x1f,
0x51, 0x9e, 0xfa, 0x7e, 0x04, 0x2e, 0x8f, 0x27, 0x6a, 0xd0, 0xf3, 0x20, 0x8e, 0x21, 0x59, 0x58,
0xc4, 0x08, 0xa5, 0xbb, 0x05, 0x96, 0x14, 0xa6, 0xb7, 0x2c, 0xec, 0x7c, 0x04, 0x90, 0xf6, 0xc6,
0x1e, 0xf6, 0x8c, 0x3d, 0xec, 0x92, 0x31, 0xec, 0xb2, 0xb3, 0x23, 0x04, 0x86, 0x9c, 0x42, 0xed,
0xe1, 0xfc, 0x36, 0x30, 0x65, 0xe9, 0xa1, 0x58, 0xbc, 0xf1, 0x90, 0x27, 0xea, 0x3a, 0xc9, 0x92,
0xcc, 0x79, 0xac, 0x33, 0xd4, 0x8d, 0xa8, 0xb4, 0x96, 0x54, 0xee, 0x48, 0x8a, 0xcb, 0xca, 0x1d,
0x59, 0xd4, 0xd5, 0xf9, 0x4e, 0x17, 0x3a, 0x3b, 0x1c, 0x6b, 0xdb, 0x1a, 0x0e, 0x33, 0xdd, 0xc1,
0xa3, 0x7a, 0x41, 0x9e, 0x3c, 0xc7, 0x7f, 0x1f, 0xae, 0x6c, 0x89, 0x9b, 0x23, 0xbf, 0xae, 0xc0,
0x62, 0xa7, 0x03, 0xab, 0xd9, 0x2a, 0x65, 0x63, 0x0f, 0x61, 0x69, 0x87, 0x1f, 0x4f, 0x4e, 0xf7,
0xf9, 0x79, 0xda, 0x10, 0x83, 0x6a, 0x7c, 0x16, 0x5e, 0xc8, 0xf9, 0xa1, 0xdf, 0xec, 0x3a, 0xc0,
0x10, 0xcb, 0xf4, 0xe2, 0x31, 0xef, 0xab, 0x5b, 0xc1, 0x84, 0x1c, 0x8d, 0x79, 0xdf, 0xf9, 0x08,
0x98, 0x59, 0x8f, 0x9c, 0x2f, 0xd4, 0xad, 0x27, 0xc7, 0xbd, 0xf8, 0x32, 0x4e, 0xf8, 0x48, 0x5d,
0x77, 0x36, 0x21, 0xe7, 0x36, 0x34, 0x0f, 0xbd, 0x4b, 0x97, 0x7f, 0x21, 0xdf, 0x2b, 0x59, 0x83,
0xf9, 0xb1, 0x77, 0x89, 0xfc, 0xac, 0xcd, 0xff, 0x94, 0xed, 0xfc, 0x69, 0x05, 0xe6, 0x44, 0x49,
0xac, 0x75, 0xc0, 0xe3, 0xc4, 0x0f, 0x88, 0xc7, 0x54, 0xad, 0x06, 0x94, 0x13, 0x98, 0xe5, 0x02,
0x81, 0x29, 0x6d, 0x52, 0xea, 0x76, 0xa5, 0x24, 0x59, 0x0b, 0x43, 0xb1, 0x95, 0xde, 0x10, 0x10,
0x94, 0x9a, 0x02, 0x19, 0xff, 0x5a, 0xaa, 0xc1, 0x8b, 0xfe, 0xa9, 0xbd, 0x40, 0xca, 0x44, 0x13,
0x2a, 0x3c, 0x27, 0xcc, 0xab, 0x78, 0xec, 0xcc, 0x39, 0x21, 0x77, 0x1e, 0xa8, 0xbd, 0xc5, 0x79,
0x40, 0x18, 0xaa, 0x5e, 0x77, 0x1e, 0x80, 0xb7, 0x39, 0x0f, 0xbc, 0x8d, 0x5f, 0xab, 0x0b, 0x35,
0xda, 0xd3, 0x0d, 0x11, 0xa9, 0xd2, 0xc8, 0x2f, 0xda, 0x9c, 0xb2, 0x60, 0xf1, 0x8b, 0xb4, 0xa7,
0xb8, 0x3a, 0xdf, 0x19, 0xc1, 0xbc, 0x04, 0x51, 0x15, 0x3b, 0xf6, 0x13, 0x69, 0xb9, 0xc4, 0x9f,
0x48, 0x91, 0x81, 0x37, 0x52, 0xb7, 0xd1, 0xe9, 0x37, 0x0e, 0x99, 0x2e, 0xc5, 0x7e, 0x31, 0xf1,
0x23, 0x3e, 0x50, 0xf7, 0xba, 0x0c, 0x88, 0x22, 0x71, 0xe3, 0xde, 0xcb, 0x20, 0xbc, 0x08, 0xe4,
0xcd, 0x2e, 0x9d, 0x76, 0x18, 0xb4, 0xe9, 0x55, 0x0a, 0x3c, 0x4e, 0x2b, 0xb6, 0xfc, 0x7b, 0x25,
0x68, 0x4b, 0x06, 0xd1, 0x79, 0xca, 0x09, 0xfd, 0xba, 0xeb, 0x8b, 0x37, 0x61, 0x81, 0x0e, 0xf3,
0x7a, 0xab, 0x90, 0x0e, 0x5d, 0x0b, 0xc4, 0xfe, 0xaa, 0x50, 0xb8, 0x91, 0x3f, 0x94, 0xf4, 0x66,
0x42, 0x6a, 0xb7, 0x89, 0x3c, 0x19, 0xc4, 0x5f, 0x72, 0x75, 0xda, 0xf9, 0xe3, 0x12, 0x2c, 0x19,
0x1d, 0x96, 0x0c, 0xf6, 0x29, 0x34, 0xf5, 0xe3, 0x2f, 0x5c, 0x2b, 0x43, 0x6b, 0xb6, 0x44, 0x48,
0x3f, 0xb3, 0x0a, 0x13, 0x9d, 0x7a, 0x97, 0xd4, 0xc1, 0x78, 0x32, 0x92, 0x5a, 0x88, 0x09, 0xe1,
0xfa, 0x5f, 0x70, 0xfe, 0x52, 0x17, 0x11, 0x7a, 0x90, 0x85, 0x91, 0x13, 0x24, 0x0c, 0x92, 0x33,
0x5d, 0xa8, 0x2a, 0x9d, 0x20, 0x26, 0xe8, 0xfc, 0x95, 0x32, 0x2c, 0x0b, 0xab, 0x92, 0xb4, 0xe6,
0xe9, 0xfb, 0xf7, 0x73, 0xc2, 0xc0, 0x26, 0x84, 0xcd, 0xde, 0x8c, 0x2b, 0xd3, 0xec, 0x7b, 0x6f,
0x69, 0x09, 0xd3, 0xb7, 0x05, 0xa6, 0xac, 0x45, 0xa5, 0x68, 0x2d, 0x5e, 0x33, 0xd3, 0x45, 0xfe,
0xa8, 0xd9, 0x62, 0x7f, 0xd4, 0x5b, 0xf9, 0x7f, 0x1e, 0xcc, 0xc3, 0x6c, 0xdc, 0x0f, 0xc7, 0xdc,
0x59, 0x85, 0x15, 0x7b, 0x0a, 0xa4, 0x0c, 0xfe, 0x45, 0x09, 0x3a, 0x0f, 0x85, 0xbb, 0xdd, 0x0f,
0x4e, 0xf7, 0xfc, 0x38, 0x09, 0x23, 0xfd, 0x98, 0xc9, 0x0d, 0x80, 0x38, 0xf1, 0x22, 0x79, 0x2a,
0x13, 0xaa, 0xa4, 0x81, 0xe0, 0x48, 0x78, 0x30, 0x10, 0xb9, 0x62, 0x05, 0x75, 0x3a, 0xa7, 0xaa,
0x4b, 0xcb, 0x98, 0xa5, 0xf0, 0xde, 0x12, 0xf7, 0x71, 0xb0, 0xcb, 0xfc, 0x9c, 0x36, 0x36, 0x61,
0x6e, 0xca, 0xa0, 0xce, 0xef, 0x97, 0x61, 0x31, 0xed, 0x24, 0xc5, 0x81, 0xd9, 0xe2, 0x51, 0x6a,
0xb9, 0xa9, 0x78, 0x94, 0x5e, 0xac, 0x9e, 0x8f, 0x6a, 0xaf, 0x61, 0x1c, 0x33, 0x50, 0x76, 0x13,
0x1a, 0x2a, 0x15, 0x4e, 0x12, 0xe3, 0x55, 0x01, 0x13, 0x16, 0x51, 0xf3, 0xa8, 0x78, 0xcb, 0x43,
0x84, 0x4c, 0xd1, 0x0d, 0xc7, 0x51, 0x42, 0x5f, 0x8a, 0x99, 0x57, 0x49, 0x94, 0x20, 0xa8, 0xb1,
0x8a, 0x07, 0x9e, 0x48, 0x5b, 0x35, 0x35, 0xb9, 0x9a, 0x7e, 0x8d, 0x49, 0x73, 0xa6, 0xa8, 0x31,
0xbd, 0xf2, 0x50, 0x75, 0x4d, 0x48, 0x19, 0x27, 0xc2, 0x89, 0xe1, 0xba, 0xaf, 0xba, 0x16, 0xe6,
0xfc, 0x5e, 0x09, 0xae, 0x16, 0x2c, 0xa3, 0xe4, 0xd4, 0x1d, 0x58, 0x3a, 0xd1, 0x99, 0x6a, 0xaa,
0x05, 0xbb, 0xae, 0x2a, 0x99, 0x68, 0x4f, 0xaf, 0x9b, 0xff, 0x40, 0x1f, 0x66, 0xc4, 0xe2, 0x59,
0x37, 0x5c, 0xf2, 0x19, 0xce, 0x21, 0x74, 0x77, 0x5f, 0x21, 0xe3, 0x6f, 0x9b, 0x4f, 0x6b, 0x2a,
0xca, 0xda, 0xcc, 0x09, 0xb6, 0x37, 0xdb, 0x44, 0x4f, 0x60, 0xc1, 0xaa, 0x8b, 0x7d, 0xe7, 0x6d,
0x2b, 0x31, 0x79, 0x74, 0x5d, 0xae, 0xba, 0x78, 0x1b, 0x54, 0xdd, 0xb3, 0x31, 0x20, 0xe7, 0x1c,
0x16, 0x9f, 0x4c, 0x86, 0x89, 0x9f, 0xbe, 0x13, 0xca, 0xbe, 0x27, 0x3f, 0xa2, 0x2a, 0xd4, 0xd4,
0x15, 0x36, 0x65, 0x96, 0xc3, 0x19, 0x1b, 0x61, 0x4d, 0xbd, 0x7c, 0x8b, 0xf9, 0x0c, 0xe7, 0x2a,
0xac, 0xa5, 0x4d, 0x8a, 0xb9, 0x53, 0x9b, 0xc3, 0x1f, 0x94, 0x44, 0xb0, 0xa8, 0xfd, 0x6c, 0x29,
0x7b, 0x04, 0xcb, 0xb1, 0x1f, 0x9c, 0x0e, 0xb9, 0x59, 0x4f, 0x2c, 0x67, 0xe2, 0x8a, 0xdd, 0x3d,
0xf9, 0xb4, 0xa9, 0x5b, 0xf4, 0x05, 0x12, 0x48, 0x71, 0x47, 0x53, 0x02, 0xc9, 0x4c, 0x49, 0xd1,
0x00, 0x3e, 0x83, 0x96, 0xdd, 0x18, 0xfb, 0x58, 0x5e, 0x8f, 0x49, 0x7b, 0x66, 0x3a, 0x31, 0x6d,
0xca, 0xb0, 0x4a, 0x3a, 0x3f, 0x2f, 0x41, 0xc7, 0xe5, 0x48, 0xc6, 0xdc, 0x68, 0x54, 0x52, 0xcf,
0xa7, 0xb9, 0x6a, 0xa7, 0x0f, 0x58, 0x5f, 0xbb, 0x51, 0x63, 0xdd, 0x98, 0xba, 0x28, 0x7b, 0x33,
0x05, 0xa3, 0x7a, 0x50, 0x83, 0x39, 0x39, 0xbe, 0x35, 0xb8, 0x22, 0xbb, 0xa4, 0xba, 0x93, 0x7a,
0xbf, 0xac, 0x46, 0x2d, 0xef, 0x57, 0x17, 0x3a, 0xe2, 0xcd, 0x1a, 0x73, 0x1c, 0xf2, 0xc3, 0x1d,
0x60, 0x4f, 0xbc, 0xbe, 0x17, 0x85, 0x61, 0x70, 0xc8, 0x23, 0x19, 0xdd, 0x47, 0xba, 0x1d, 0x39,
0x87, 0x94, 0x1a, 0x2a, 0x52, 0xea, 0x99, 0x95, 0x30, 0x50, 0xcf, 0xd9, 0x88, 0x94, 0xe3, 0xc2,
0xf2, 0x03, 0xef, 0x25, 0x57, 0x35, 0xa5, 0xb3, 0xd4, 0x18, 0xeb, 0x4a, 0xd5, 0xdc, 0xab, 0x9b,
0x6f, 0xf9, 0x66, 0x5d, 0xb3, 0xb4, 0xb3, 0x09, 0x2b, 0x76, 0x9d, 0x52, 0x94, 0x74, 0xa1, 0x36,
0x92, 0x98, 0xec, 0x9d, 0x4e, 0xdf, 0xfd, 0x0a, 0x1a, 0xc6, 0x3b, 0x44, 0x6c, 0x0d, 0x96, 0x5f,
0x3c, 0x7e, 0x76, 0xb0, 0x7b, 0x74, 0xd4, 0x3b, 0x7c, 0xfe, 0xe0, 0xf3, 0xdd, 0x1f, 0xf6, 0xf6,
0xb6, 0x8e, 0xf6, 0xda, 0x33, 0x6c, 0x15, 0xd8, 0xc1, 0xee, 0xd1, 0xb3, 0xdd, 0x1d, 0x0b, 0x2f,
0xb1, 0x1b, 0xd0, 0x7d, 0x7e, 0xf0, 0xfc, 0x68, 0x77, 0xa7, 0x57, 0xf4, 0x5d, 0x99, 0x5d, 0x87,
0xab, 0x32, 0xbf, 0xe0, 0xf3, 0xca, 0xdd, 0x4f, 0xa1, 0x9d, 0x35, 0xe2, 0x59, 0xc6, 0xcf, 0xd7,
0x59, 0x49, 0x37, 0x7f, 0x5e, 0x81, 0x96, 0x08, 0xdf, 0x15, 0x0f, 0xff, 0xf2, 0x88, 0x3d, 0x81,
0x79, 0xf9, 0x82, 0x34, 0x53, 0xa4, 0x65, 0xbf, 0x59, 0xdd, 0x5d, 0xcd, 0xc2, 0x72, 0x59, 0x97,
0xff, 0xea, 0xbf, 0xff, 0x6f, 0x7f, 0xbb, 0xbc, 0xc0, 0x1a, 0xf7, 0xce, 0x3f, 0xbc, 0x77, 0xca,
0x83, 0x18, 0xeb, 0xf8, 0x1d, 0x80, 0xf4, 0x5d, 0x64, 0xd6, 0xd1, 0x36, 0xa3, 0xcc, 0xa3, 0xd1,
0xdd, 0xab, 0x05, 0x39, 0xb2, 0xde, 0xab, 0x54, 0xef, 0xb2, 0xd3, 0xc2, 0x7a, 0xfd, 0xc0, 0x4f,
0xc4, 0x1b, 0xc9, 0x9f, 0x94, 0xee, 0xb2, 0x01, 0x34, 0xcd, 0x17, 0x8b, 0x99, 0x72, 0x66, 0x16,
0xbc, 0xb9, 0xdc, 0x7d, 0xa7, 0x30, 0x4f, 0xd1, 0x32, 0xb5, 0x71, 0xc5, 0x69, 0x63, 0x1b, 0x13,
0x2a, 0x91, 0xb6, 0x32, 0x14, 0x1c, 0x9e, 0x3e, 0x4c, 0xcc, 0xae, 0x19, 0x4c, 0x97, 0x7b, 0x16,
0xb9, 0x7b, 0x7d, 0x4a, 0xae, 0x6c, 0xeb, 0x3a, 0xb5, 0xb5, 0xe6, 0x30, 0x6c, 0xab, 0x4f, 0x65,
0xd4, 0xb3, 0xc8, 0x9f, 0x94, 0xee, 0x6e, 0xfe, 0x9b, 0xdb, 0x50, 0xd7, 0x81, 0x0e, 0xec, 0xa7,
0xb0, 0x60, 0xc5, 0x57, 0x33, 0x35, 0x8c, 0xa2, 0x70, 0xec, 0xee, 0xb5, 0xe2, 0x4c, 0xd9, 0xf0,
0x0d, 0x6a, 0xb8, 0xc3, 0x56, 0xb1, 0x61, 0x19, 0xa0, 0x7c, 0x8f, 0x6e, 0x0a, 0x88, 0x8b, 0xc9,
0x2f, 0x0d, 0x49, 0x26, 0x1a, 0xbb, 0x96, 0x15, 0x2e, 0x56, 0x6b, 0xd7, 0xa7, 0xe4, 0xca, 0xe6,
0xae, 0x51, 0x73, 0xab, 0x6c, 0xc5, 0x6c, 0x4e, 0x07, 0x1f, 0x70, 0xba, 0x8d, 0x6f, 0xbe, 0xd9,
0xcb, 0xae, 0x6b, 0xc2, 0x2a, 0x7a, 0xcb, 0x57, 0x93, 0x48, 0xfe, 0x41, 0x5f, 0xa7, 0x43, 0x4d,
0x31, 0x46, 0xcb, 0x67, 0x3e, 0xd9, 0xcb, 0x8e, 0xa1, 0x61, 0x3c, 0x89, 0xc7, 0xae, 0x4e, 0x7d,
0xbe, 0xaf, 0xdb, 0x2d, 0xca, 0x2a, 0x1a, 0x8a, 0x59, 0xff, 0x3d, 0x54, 0x74, 0x7e, 0x0c, 0x75,
0xfd, 0xc8, 0x1a, 0x5b, 0x33, 0x1e, 0xbd, 0x33, 0x1f, 0x85, 0xeb, 0x76, 0xf2, 0x19, 0x45, 0xc4,
0x67, 0xd6, 0x8e, 0xc4, 0xf7, 0x02, 0x1a, 0xc6, 0x43, 0x6a, 0x7a, 0x00, 0xf9, 0xc7, 0xda, 0xf4,
0x00, 0x0a, 0xde, 0x5d, 0x73, 0x96, 0xa8, 0x89, 0x06, 0xab, 0x13, 0x7d, 0x27, 0xaf, 0xc2, 0x98,
0xed, 0xc3, 0x15, 0x29, 0xb1, 0x8f, 0xf9, 0xd7, 0x59, 0x86, 0x82, 0x67, 0x92, 0xef, 0x97, 0xd8,
0xa7, 0x50, 0x53, 0xef, 0xe5, 0xb1, 0xd5, 0xe2, 0x77, 0xff, 0xba, 0x6b, 0x39, 0x5c, 0x8a, 0xd7,
0x1f, 0x02, 0xa4, 0xaf, 0xb6, 0x69, 0x21, 0x91, 0x7b, 0x05, 0x4e, 0x53, 0x40, 0xfe, 0x89, 0x37,
0x67, 0x95, 0x06, 0xd8, 0x66, 0x24, 0x24, 0x02, 0x7e, 0xa1, 0x1e, 0xde, 0xf8, 0x09, 0x34, 0x8c,
0x87, 0xdb, 0xf4, 0xf4, 0xe5, 0x1f, 0x7d, 0xd3, 0xd3, 0x57, 0xf0, 0xce, 0x9b, 0xd3, 0xa5, 0xda,
0x57, 0x9c, 0x45, 0xac, 0x3d, 0xf6, 0x4f, 0x83, 0x91, 0x28, 0x80, 0x0b, 0x74, 0x06, 0x0b, 0xd6,
0xeb, 0x6c, 0x9a, 0x43, 0x8b, 0xde, 0x7e, 0xd3, 0x1c, 0x5a, 0xf8, 0xa0, 0x9b, 0xa2, 0x33, 0x67,
0x09, 0xdb, 0x39, 0xa7, 0x22, 0x46, 0x4b, 0x3f, 0x82, 0x86, 0xf1, 0xd2, 0x9a, 0x1e, 0x4b, 0xfe,
0x51, 0x37, 0x3d, 0x96, 0xa2, 0x87, 0xd9, 0x56, 0xa8, 0x8d, 0x96, 0x43, 0xa4, 0x40, 0x4f, 0x48,
0x60, 0xdd, 0x3f, 0x85, 0x96, 0xfd, 0xf6, 0x9a, 0xe6, 0xfd, 0xc2, 0x57, 0xdc, 0x34, 0xef, 0x4f,
0x79, 0xb0, 0x4d, 0x92, 0xf4, 0xdd, 0x65, 0xdd, 0xc8, 0xbd, 0x2f, 0x65, 0xa8, 0xe4, 0x57, 0xec,
0xfb, 0x28, 0xe0, 0xe4, 0x9b, 0x1e, 0x6c, 0xcd, 0xa0, 0x5a, 0xf3, 0xe5, 0x0f, 0xcd, 0x2f, 0xb9,
0xe7, 0x3f, 0x6c, 0x62, 0x16, 0x8f, 0x60, 0xd0, 0xae, 0x45, 0x6f, 0x7b, 0x18, 0xbb, 0x96, 0xf9,
0xfc, 0x87, 0xb1, 0x6b, 0x59, 0x4f, 0x80, 0x64, 0x77, 0xad, 0xc4, 0xc7, 0x3a, 0x02, 0x58, 0xcc,
0xdc, 0x01, 0xd3, 0x5c, 0x51, 0x7c, 0x4d, 0xb7, 0x7b, 0xe3, 0xf5, 0x57, 0xc7, 0x6c, 0x09, 0xa2,
0x84, 0xe0, 0x3d, 0x75, 0x29, 0xfa, 0x77, 0xa1, 0x69, 0xbe, 0x07, 0xc5, 0x4c, 0x56, 0xce, 0xb6,
0xf4, 0x4e, 0x61, 0x9e, 0xbd, 0xb8, 0xac, 0x69, 0x36, 0xc3, 0x7e, 0x00, 0xab, 0x9a, 0xd5, 0xcd,
0x6b, 0x45, 0x31, 0x7b, 0xb7, 0xe0, 0xb2, 0x91, 0xa9, 0xc7, 0x75, 0xaf, 0x4e, 0xbd, 0x8d, 0x74,
0xbf, 0x84, 0x44, 0x63, 0x3f, 0xb2, 0x93, 0x6e, 0x18, 0x45, 0x6f, 0x0b, 0xa5, 0x1b, 0x46, 0xe1,
0xcb, 0x3c, 0x8a, 0x68, 0xd8, 0xb2, 0x35, 0x47, 0x22, 0xaa, 0x84, 0xfd, 0x08, 0x16, 0x8d, 0x8b,
0x9b, 0x47, 0x97, 0x41, 0x5f, 0x33, 0x40, 0xfe, 0x5d, 0x81, 0x6e, 0xd1, 0x29, 0xc5, 0x59, 0xa3,
0xfa, 0x97, 0x1c, 0x6b, 0x72, 0x90, 0xf8, 0xb7, 0xa1, 0x61, 0x5e, 0x0a, 0x7d, 0x4d, 0xbd, 0x6b,
0x46, 0x96, 0x79, 0x25, 0xfe, 0x7e, 0x89, 0x1d, 0x8a, 0xe8, 0x42, 0xfd, 0xe0, 0x6f, 0x18, 0x65,
0xb7, 0x4f, 0xfb, 0x21, 0x60, 0xbd, 0x90, 0x45, 0x4f, 0x40, 0xdf, 0x29, 0xdd, 0x2f, 0xb1, 0xbf,
0x5f, 0x82, 0xa6, 0x75, 0x69, 0xd3, 0x8a, 0xd5, 0xca, 0xf4, 0xac, 0x63, 0xe6, 0x99, 0x5d, 0x73,
0x5c, 0x1a, 0xf6, 0xfe, 0xdd, 0xcf, 0xac, 0x69, 0xfd, 0xd2, 0x32, 0xa8, 0x6d, 0x64, 0x5f, 0xfd,
0xfd, 0x2a, 0x5b, 0xc0, 0x7c, 0xcd, 0xe1, 0xab, 0xfb, 0x25, 0xf6, 0x87, 0x25, 0x68, 0xd9, 0x16,
0x6e, 0x3d, 0xdc, 0x42, 0x5b, 0xba, 0x5e, 0xfc, 0x29, 0x66, 0xf1, 0x1f, 0x51, 0x2f, 0x9f, 0xdd,
0x75, 0xad, 0x5e, 0xca, 0x07, 0x9d, 0x7e, 0xb5, 0xde, 0xb2, 0x4f, 0xc4, 0x63, 0xfa, 0xca, 0xb9,
0xc7, 0xf2, 0x8f, 0xaf, 0x6b, 0x82, 0x31, 0x9f, 0x38, 0xa7, 0x45, 0xf8, 0x89, 0x78, 0xed, 0x56,
0x79, 0x88, 0x90, 0xee, 0xde, 0xf6, 0x7b, 0xe7, 0x26, 0x8d, 0xe9, 0x86, 0x73, 0xd5, 0x1a, 0x53,
0x76, 0x87, 0xdf, 0x12, 0xbd, 0x93, 0xaf, 0x93, 0xa7, 0x5b, 0x54, 0xee, 0xc5, 0xf2, 0xe9, 0x9d,
0x1c, 0x89, 0x4e, 0xca, 0xe2, 0x16, 0x73, 0xbc, 0x65, 0x35, 0xce, 0x5d, 0xea, 0xeb, 0x4d, 0xe7,
0xdd, 0xa9, 0x7d, 0xbd, 0x47, 0x76, 0x6a, 0xec, 0xf1, 0x21, 0x40, 0xea, 0x8c, 0x67, 0x19, 0x47,
0xb0, 0x16, 0x19, 0x79, 0x7f, 0xbd, 0xcd, 0x81, 0xca, 0x5f, 0x8c, 0x35, 0xfe, 0x58, 0x08, 0xc0,
0xc7, 0xca, 0x85, 0x6c, 0xaa, 0x39, 0xb6, 0xc7, 0xdc, 0x52, 0x73, 0xb2, 0xf5, 0x5b, 0xe2, 0x4f,
0xfb, 0xa3, 0x9f, 0xc3, 0xc2, 0x7e, 0x18, 0xbe, 0x9c, 0x8c, 0x75, 0x18, 0x95, 0xed, 0x42, 0xda,
0xf3, 0xe2, 0xb3, 0x6e, 0x66, 0x14, 0xce, 0x3a, 0x55, 0xd5, 0x65, 0x1d, 0xa3, 0xaa, 0x7b, 0x5f,
0xa6, 0x8e, 0xfe, 0xaf, 0x98, 0x07, 0x4b, 0x5a, 0xaa, 0xea, 0x8e, 0x77, 0xed, 0x6a, 0x2c, 0x59,
0x9a, 0x6d, 0xc2, 0xd2, 0xc7, 0x55, 0x6f, 0xef, 0xc5, 0xaa, 0x4e, 0x92, 0x29, 0xcd, 0x1d, 0xde,
0xa7, 0xfb, 0x5c, 0xe4, 0x87, 0x59, 0x4e, 0x3b, 0xae, 0x1d, 0x38, 0xdd, 0x05, 0x0b, 0xb4, 0x77,
0x9a, 0xb1, 0x77, 0x19, 0xf1, 0x2f, 0xee, 0x7d, 0x29, 0x3d, 0x3c, 0x5f, 0xa9, 0x9d, 0x46, 0xb9,
0xc0, 0xac, 0x9d, 0x26, 0xe3, 0x33, 0xb3, 0x76, 0x9a, 0x9c, 0xcf, 0xcc, 0x9a, 0x6a, 0xe5, 0x82,
0x63, 0x43, 0x58, 0xca, 0xb9, 0xd9, 0xf4, 0x26, 0x33, 0xcd, 0x39, 0xd7, 0x5d, 0x9f, 0x5e, 0xc0,
0x6e, 0xed, 0xae, 0xdd, 0xda, 0x11, 0x2c, 0xec, 0x70, 0x31, 0x59, 0x22, 0x6e, 0x3c, 0x73, 0xf3,
0xd7, 0x8c, 0x4a, 0xcf, 0x6e, 0x09, 0x94, 0x67, 0xab, 0x12, 0x14, 0xb0, 0xcd, 0x7e, 0x0c, 0x8d,
0x47, 0x3c, 0x51, 0x81, 0xe2, 0x5a, 0x99, 0xcd, 0x44, 0x8e, 0x77, 0x0b, 0xe2, 0xcc, 0x6d, 0x9a,
0xa1, 0xda, 0xee, 0xf1, 0xc1, 0x29, 0x17, 0xc2, 0xa9, 0xe7, 0x0f, 0xbe, 0x62, 0x7f, 0x91, 0x2a,
0xd7, 0x37, 0x65, 0x56, 0x8d, 0xa8, 0x5f, 0xb3, 0xf2, 0xc5, 0x0c, 0x5e, 0x54, 0x73, 0x10, 0x0e,
0xb8, 0xa1, 0x54, 0x05, 0xd0, 0x30, 0x6e, 0xda, 0x69, 0x06, 0xca, 0x5f, 0x4c, 0xd4, 0x0c, 0x54,
0x70, 0x31, 0xcf, 0xb9, 0x43, 0xed, 0x38, 0x6c, 0x3d, 0x6d, 0x47, 0x5c, 0xc6, 0x4b, 0x5b, 0xba,
0xf7, 0xa5, 0x37, 0x4a, 0xbe, 0x62, 0x2f, 0xe8, 0x81, 0x35, 0x33, 0x10, 0x3e, 0xd5, 0xce, 0xb3,
0x31, 0xf3, 0x7a, 0xb2, 0x8c, 0x2c, 0x5b, 0x63, 0x17, 0x4d, 0x91, 0xee, 0xf5, 0x3d, 0x80, 0xa3,
0x24, 0x1c, 0xef, 0x78, 0x7c, 0x14, 0x06, 0xa9, 0xac, 0x4d, 0xc3, 0xb0, 0x53, 0xf9, 0x65, 0xc4,
0x62, 0xb3, 0x17, 0xc6, 0x71, 0xc6, 0xba, 0x4b, 0xa0, 0x88, 0x6b, 0x6a, 0xa4, 0xb6, 0x9e, 0x90,
0x82, 0x68, 0xed, 0xfb, 0x25, 0xb6, 0x05, 0x90, 0xfa, 0x59, 0xf5, 0xe1, 0x24, 0xe7, 0xc2, 0xd5,
0x62, 0xaf, 0xc0, 0x29, 0x7b, 0x08, 0xf5, 0xd4, 0xbb, 0xb5, 0x96, 0xde, 0xbb, 0xb5, 0x7c, 0x61,
0x7a, 0x07, 0xcf, 0xf9, 0x9c, 0x9c, 0x36, 0x4d, 0x15, 0xb0, 0x1a, 0x4e, 0x15, 0x39, 0x92, 0x7c,
0x58, 0x16, 0x1d, 0xd4, 0x0a, 0x0e, 0x85, 0x0f, 0xab, 0x91, 0x14, 0xf8, 0x7d, 0x34, 0x37, 0x17,
0x3a, 0x44, 0x2c, 0x1b, 0x0b, 0x52, 0xab, 0x08, 0x5d, 0x46, 0xd1, 0x3c, 0x82, 0xa5, 0x9c, 0x8d,
0x5d, 0xb3, 0xf4, 0x34, 0x27, 0x8a, 0x66, 0xe9, 0xa9, 0xe6, 0x79, 0xe7, 0x0a, 0x35, 0xb9, 0xe8,
0x00, 0x9d, 0xa9, 0x2e, 0xfc, 0xa4, 0x7f, 0x86, 0xcd, 0xfd, 0x41, 0x09, 0x96, 0x0b, 0x4c, 0xe8,
0xec, 0x3d, 0x75, 0x3c, 0x9f, 0x6a, 0x5e, 0xef, 0x16, 0x5a, 0x58, 0x9d, 0x23, 0x6a, 0xe7, 0x09,
0xfb, 0xdc, 0xda, 0xd8, 0x84, 0x71, 0x53, 0x72, 0xe6, 0x6b, 0x95, 0x8a, 0x42, 0x8d, 0xe2, 0x0b,
0x58, 0x13, 0x1d, 0xd9, 0x1a, 0x0e, 0x33, 0xd6, 0xdf, 0x1b, 0xb9, 0x7f, 0xb8, 0x65, 0x59, 0xb5,
0xbb, 0xd3, 0xff, 0x21, 0xd7, 0x14, 0x05, 0x58, 0x74, 0x95, 0x4d, 0xa0, 0x9d, 0xb5, 0xa8, 0xb2,
0xe9, 0x75, 0x75, 0xdf, 0xb5, 0x0e, 0x9a, 0x05, 0x56, 0xd8, 0x6f, 0x52, 0x63, 0xef, 0x3a, 0xdd,
0xa2, 0x79, 0x11, 0x67, 0x4f, 0x5c, 0x8f, 0xbf, 0xac, 0xcd, 0xbf, 0x99, 0x71, 0xaa, 0x06, 0xa6,
0xd9, 0xab, 0xf5, 0x51, 0xb7, 0xd8, 0x7a, 0x7c, 0x8b, 0x9a, 0x5f, 0x77, 0xde, 0x29, 0x6a, 0x3e,
0x12, 0x9f, 0x88, 0x43, 0xef, 0x5a, 0x96, 0xaf, 0x55, 0x0f, 0xd6, 0x8b, 0xd6, 0x7b, 0xea, 0xe9,
0x25, 0x33, 0xd7, 0x33, 0xa4, 0xdb, 0x35, 0x4d, 0x73, 0xaf, 0x66, 0x9f, 0x02, 0xbb, 0xb2, 0x66,
0x9f, 0x22, 0xfb, 0xb0, 0xad, 0xd7, 0x28, 0xcb, 0xf0, 0x27, 0xa5, 0xbb, 0x0f, 0x6e, 0xff, 0xe8,
0x9b, 0xa7, 0x7e, 0x72, 0x36, 0x39, 0xde, 0xe8, 0x87, 0xa3, 0x7b, 0x43, 0x65, 0xd6, 0x93, 0x57,
0x6a, 0xee, 0x0d, 0x83, 0xc1, 0x3d, 0xaa, 0xf6, 0x78, 0x8e, 0xfe, 0x43, 0xe0, 0x77, 0xfe, 0x6f,
0x00, 0x00, 0x00, 0xff, 0xff, 0x54, 0xaa, 0x5f, 0xca, 0x53, 0x70, 0x00, 0x00,
0x96, 0x1f, 0xae, 0xfa, 0x20, 0x59, 0xf5, 0xaa, 0x48, 0x16, 0x83, 0x14, 0x59, 0xaa, 0x96, 0xd4,
0xea, 0x1c, 0x8d, 0xa4, 0xd6, 0xf4, 0x50, 0x6a, 0xce, 0x4c, 0xff, 0x7b, 0xbb, 0xff, 0xeb, 0x5d,
0x8a, 0xa4, 0x44, 0x75, 0x53, 0x14, 0x27, 0x29, 0x8d, 0x3c, 0x33, 0xbb, 0xc8, 0x49, 0x56, 0x05,
0xc9, 0x1c, 0x55, 0x65, 0x56, 0x67, 0x66, 0x91, 0xe2, 0xb4, 0xdb, 0x07, 0xc3, 0x30, 0x0c, 0x5f,
0x16, 0x63, 0xc3, 0x80, 0x6d, 0xd8, 0x58, 0x60, 0xd6, 0x80, 0xb1, 0xf0, 0xc1, 0xbe, 0x18, 0xf0,
0x1a, 0xeb, 0x93, 0x0f, 0x0b, 0x18, 0x30, 0x7c, 0xb0, 0x01, 0x03, 0x36, 0xb0, 0x86, 0x61, 0x03,
0xf6, 0xc2, 0xf0, 0xcd, 0xbe, 0x1b, 0xef, 0xc5, 0x47, 0x46, 0x64, 0x66, 0x49, 0xea, 0x99, 0xf1,
0x9e, 0x58, 0xf1, 0x8b, 0xc8, 0xf8, 0x7c, 0xef, 0xc5, 0x8b, 0xf7, 0x5e, 0x04, 0xa1, 0x19, 0x8f,
0xfb, 0xeb, 0xe3, 0x38, 0x4a, 0x23, 0x36, 0x33, 0x0c, 0xe3, 0x71, 0xbf, 0x77, 0xf5, 0x24, 0x8a,
0x4e, 0x86, 0xfc, 0x9e, 0x3f, 0x0e, 0xee, 0xf9, 0x61, 0x18, 0xa5, 0x7e, 0x1a, 0x44, 0x61, 0x22,
0x0a, 0x39, 0x3f, 0x81, 0x85, 0x47, 0x3c, 0x3c, 0xe4, 0x7c, 0xe0, 0xf2, 0x2f, 0x26, 0x3c, 0x49,
0xd9, 0xb7, 0x60, 0xc9, 0xe7, 0x3f, 0xe3, 0x7c, 0xe0, 0x8d, 0xfd, 0x24, 0x19, 0x9f, 0xc6, 0x7e,
0xc2, 0xbb, 0x95, 0x1b, 0x95, 0x3b, 0x6d, 0xb7, 0x23, 0x32, 0x0e, 0x34, 0xce, 0xde, 0x83, 0x76,
0x82, 0x45, 0x79, 0x98, 0xc6, 0xd1, 0xf8, 0xa2, 0x5b, 0xa5, 0x72, 0x2d, 0xc4, 0x76, 0x04, 0xe4,
0x0c, 0x61, 0x51, 0xb7, 0x90, 0x8c, 0xa3, 0x30, 0xe1, 0xec, 0x3e, 0xac, 0xf4, 0x83, 0xf1, 0x29,
0x8f, 0x3d, 0xfa, 0x78, 0x14, 0xf2, 0x51, 0x14, 0x06, 0xfd, 0x6e, 0xe5, 0x46, 0xed, 0x4e, 0xd3,
0x65, 0x22, 0x0f, 0xbf, 0x78, 0x22, 0x73, 0xd8, 0x6d, 0x58, 0xe4, 0xa1, 0xc0, 0xf9, 0x80, 0xbe,
0x92, 0x4d, 0x2d, 0x64, 0x30, 0x7e, 0xe0, 0xfc, 0xf5, 0x2a, 0x2c, 0x3d, 0x0e, 0x83, 0xf4, 0x85,
0x3f, 0x1c, 0xf2, 0x54, 0x8d, 0xe9, 0x36, 0x2c, 0x9e, 0x13, 0x40, 0x63, 0x3a, 0x8f, 0xe2, 0x81,
0x1c, 0xd1, 0x82, 0x80, 0x0f, 0x24, 0x3a, 0xb5, 0x67, 0xd5, 0xa9, 0x3d, 0x2b, 0x9d, 0xae, 0xda,
0x94, 0xe9, 0xba, 0x0d, 0x8b, 0x31, 0xef, 0x47, 0x67, 0x3c, 0xbe, 0xf0, 0xce, 0x83, 0x70, 0x10,
0x9d, 0x77, 0xeb, 0x37, 0x2a, 0x77, 0x66, 0xdc, 0x05, 0x05, 0xbf, 0x20, 0x94, 0x3d, 0x80, 0xc5,
0xfe, 0xa9, 0x1f, 0x86, 0x7c, 0xe8, 0x1d, 0xf9, 0xfd, 0x97, 0x93, 0x71, 0xd2, 0x9d, 0xb9, 0x51,
0xb9, 0xd3, 0xda, 0xb8, 0xb2, 0x4e, 0xab, 0xba, 0xbe, 0x75, 0xea, 0x87, 0x0f, 0x28, 0xe7, 0x30,
0xf4, 0xc7, 0xc9, 0x69, 0x94, 0xba, 0x0b, 0xf2, 0x0b, 0x01, 0x27, 0xce, 0x0a, 0x30, 0x73, 0x26,
0xc4, 0xdc, 0x3b, 0xff, 0xb8, 0x02, 0xcb, 0xcf, 0xc3, 0x61, 0xd4, 0x7f, 0xf9, 0x4b, 0x4e, 0x51,
0xc9, 0x18, 0xaa, 0x6f, 0x3b, 0x86, 0xda, 0xd7, 0x1d, 0xc3, 0x2a, 0xac, 0xd8, 0x9d, 0x95, 0xa3,
0xe0, 0x70, 0x19, 0xbf, 0x3e, 0xe1, 0xaa, 0x5b, 0x6a, 0x18, 0xef, 0x43, 0xa7, 0x3f, 0x89, 0x63,
0x1e, 0x16, 0xc6, 0xb1, 0x28, 0x71, 0x3d, 0x90, 0xf7, 0xa0, 0x1d, 0xf2, 0xf3, 0xac, 0x98, 0xa4,
0xdd, 0x90, 0x9f, 0xab, 0x22, 0x4e, 0x17, 0x56, 0xf3, 0xcd, 0xc8, 0x0e, 0xfc, 0x97, 0x0a, 0xd4,
0x9f, 0xa7, 0xaf, 0x22, 0xb6, 0x0e, 0xf5, 0xf4, 0x62, 0x2c, 0x38, 0x64, 0x61, 0x83, 0xc9, 0xa1,
0x6d, 0x0e, 0x06, 0x31, 0x4f, 0x92, 0x67, 0x17, 0x63, 0xee, 0xb6, 0x7d, 0x91, 0xf0, 0xb0, 0x1c,
0xeb, 0xc2, 0x9c, 0x4c, 0x53, 0x83, 0x4d, 0x57, 0x25, 0xd9, 0x75, 0x00, 0x7f, 0x14, 0x4d, 0xc2,
0xd4, 0x4b, 0xfc, 0x94, 0xa6, 0xaa, 0xe6, 0x1a, 0x08, 0xbb, 0x0a, 0xcd, 0xf1, 0x4b, 0x2f, 0xe9,
0xc7, 0xc1, 0x38, 0x25, 0xb2, 0x69, 0xba, 0x19, 0xc0, 0xbe, 0x05, 0x8d, 0x68, 0x92, 0x8e, 0xa3,
0x20, 0x4c, 0x25, 0xa9, 0x2c, 0xca, 0xbe, 0x3c, 0x9d, 0xa4, 0x07, 0x08, 0xbb, 0xba, 0x00, 0xbb,
0x09, 0xf3, 0xfd, 0x28, 0x3c, 0x0e, 0xe2, 0x91, 0x10, 0x06, 0xdd, 0x59, 0x6a, 0xcd, 0x06, 0x9d,
0x3f, 0xaa, 0x42, 0xeb, 0x59, 0xec, 0x87, 0x89, 0xdf, 0x47, 0x00, 0xbb, 0x9e, 0xbe, 0xf2, 0x4e,
0xfd, 0xe4, 0x94, 0x46, 0xdb, 0x74, 0x55, 0x92, 0xad, 0xc2, 0xac, 0xe8, 0x28, 0x8d, 0xa9, 0xe6,
0xca, 0x14, 0xfb, 0x00, 0x96, 0xc2, 0xc9, 0xc8, 0xb3, 0xdb, 0xaa, 0x11, 0xb5, 0x14, 0x33, 0x70,
0x02, 0x8e, 0x70, 0xad, 0x45, 0x13, 0x62, 0x84, 0x06, 0xc2, 0x1c, 0x68, 0xcb, 0x14, 0x0f, 0x4e,
0x4e, 0xc5, 0x30, 0x67, 0x5c, 0x0b, 0xc3, 0x3a, 0xd2, 0x60, 0xc4, 0xbd, 0x24, 0xf5, 0x47, 0x63,
0x39, 0x2c, 0x03, 0xa1, 0xfc, 0x28, 0xf5, 0x87, 0xde, 0x31, 0xe7, 0x49, 0x77, 0x4e, 0xe6, 0x6b,
0x84, 0xdd, 0x82, 0x85, 0x01, 0x4f, 0x52, 0x4f, 0x2e, 0x0a, 0x4f, 0xba, 0x0d, 0x62, 0xfd, 0x1c,
0x8a, 0xf5, 0xc4, 0xfe, 0xb9, 0x87, 0x13, 0xc0, 0x5f, 0x75, 0x9b, 0xa2, 0xaf, 0x19, 0x82, 0x94,
0xf3, 0x88, 0xa7, 0xc6, 0xec, 0x25, 0x92, 0x42, 0x9d, 0x3d, 0x60, 0x06, 0xbc, 0xcd, 0x53, 0x3f,
0x18, 0x26, 0xec, 0x23, 0x68, 0xa7, 0x46, 0x61, 0x12, 0x85, 0x2d, 0x4d, 0x4e, 0xc6, 0x07, 0xae,
0x55, 0xce, 0x39, 0x85, 0xc6, 0x43, 0xce, 0xf7, 0x82, 0x51, 0x90, 0xb2, 0x55, 0x98, 0x39, 0x0e,
0x5e, 0x71, 0x41, 0xf0, 0xb5, 0xdd, 0x4b, 0xae, 0x48, 0xb2, 0x77, 0x01, 0xe8, 0x87, 0x37, 0xd2,
0x84, 0xb5, 0x7b, 0xc9, 0x6d, 0x12, 0xf6, 0x04, 0x29, 0xab, 0x07, 0x73, 0x63, 0x1e, 0xf7, 0xb9,
0x5a, 0xbf, 0xdd, 0x4b, 0xae, 0x02, 0x1e, 0xcc, 0xc1, 0xcc, 0x10, 0x6b, 0x77, 0x7e, 0x6f, 0x06,
0x5a, 0x87, 0x3c, 0xd4, 0x9c, 0xc6, 0xa0, 0x8e, 0x73, 0x22, 0xb9, 0x8b, 0x7e, 0xb3, 0x6f, 0x40,
0x8b, 0xe6, 0x29, 0x49, 0xe3, 0x20, 0x3c, 0x11, 0x04, 0xfe, 0xa0, 0xda, 0xad, 0xb8, 0x80, 0xf0,
0x21, 0xa1, 0xac, 0x03, 0x35, 0x7f, 0xa4, 0x08, 0x1c, 0x7f, 0xb2, 0x2b, 0xd0, 0xf0, 0x47, 0xa9,
0xe8, 0x5e, 0x9b, 0xe0, 0x39, 0x7f, 0x94, 0x52, 0xd7, 0xde, 0x83, 0xf6, 0xd8, 0xbf, 0x18, 0x21,
0x3f, 0x6b, 0xaa, 0x68, 0xbb, 0x2d, 0x89, 0xed, 0x22, 0x59, 0x6c, 0xc0, 0xb2, 0x59, 0x44, 0x35,
0x3e, 0xa3, 0x1b, 0x5f, 0x32, 0x4a, 0xcb, 0x3e, 0xdc, 0x86, 0x45, 0xf5, 0x4d, 0x2c, 0xc6, 0x43,
0xb4, 0xd2, 0x74, 0x17, 0x24, 0xac, 0x46, 0x79, 0x07, 0x3a, 0xc7, 0x41, 0xe8, 0x0f, 0xbd, 0xfe,
0x30, 0x3d, 0xf3, 0x06, 0x7c, 0x98, 0xfa, 0x44, 0x35, 0x33, 0xee, 0x02, 0xe1, 0x5b, 0xc3, 0xf4,
0x6c, 0x1b, 0x51, 0xf6, 0x01, 0x34, 0x8f, 0x39, 0xf7, 0x68, 0xb2, 0xba, 0x0d, 0x8b, 0x03, 0xd5,
0x0a, 0xb9, 0x8d, 0x63, 0xb5, 0x56, 0x1f, 0x40, 0x27, 0x9a, 0xa4, 0x27, 0x51, 0x10, 0x9e, 0x78,
0x28, 0xf3, 0xbc, 0x60, 0x40, 0x54, 0x54, 0x7f, 0x50, 0xbd, 0x5f, 0x71, 0x17, 0x54, 0x1e, 0x4a,
0x9f, 0xc7, 0x03, 0x76, 0x0b, 0x16, 0x87, 0x7e, 0x92, 0x7a, 0xa7, 0xd1, 0xd8, 0x1b, 0x4f, 0x8e,
0x5e, 0xf2, 0x8b, 0xee, 0x3c, 0x4d, 0xc4, 0x3c, 0xc2, 0xbb, 0xd1, 0xf8, 0x80, 0x40, 0x76, 0x0d,
0x80, 0xfa, 0x29, 0x3a, 0x01, 0x37, 0x2a, 0x77, 0xe6, 0xdd, 0x26, 0x22, 0xa2, 0xd1, 0x1f, 0xc2,
0x32, 0x2d, 0x4f, 0x7f, 0x92, 0xa4, 0xd1, 0xc8, 0x43, 0x79, 0x1d, 0x0f, 0x92, 0x6e, 0x8b, 0x68,
0xed, 0x7d, 0xd9, 0x59, 0x63, 0x8d, 0xd7, 0xb7, 0x79, 0x92, 0x6e, 0x51, 0x61, 0x57, 0x94, 0xc5,
0x4d, 0xfd, 0xc2, 0x5d, 0x1a, 0xe4, 0x71, 0xf6, 0x01, 0x30, 0x7f, 0x38, 0x8c, 0xce, 0xbd, 0x84,
0x0f, 0x8f, 0x3d, 0x39, 0x89, 0xdd, 0x85, 0x1b, 0x95, 0x3b, 0x0d, 0xb7, 0x43, 0x39, 0x87, 0x7c,
0x78, 0x7c, 0x20, 0xf0, 0xde, 0x36, 0xac, 0x96, 0x57, 0x8d, 0xc4, 0x81, 0xa3, 0x43, 0xa2, 0xaa,
0xbb, 0xf8, 0x93, 0xad, 0xc0, 0xcc, 0x99, 0x3f, 0x9c, 0x70, 0x29, 0x9f, 0x45, 0xe2, 0x93, 0xea,
0xc7, 0x15, 0xe7, 0x9f, 0x57, 0xa0, 0x2d, 0x7a, 0x2b, 0xf5, 0x8a, 0x9b, 0x30, 0xaf, 0x56, 0x95,
0xc7, 0x71, 0x14, 0x4b, 0x31, 0x65, 0x83, 0xec, 0x2e, 0x74, 0x14, 0x30, 0x8e, 0x79, 0x30, 0xf2,
0x4f, 0x54, 0xdd, 0x05, 0x9c, 0x6d, 0x64, 0x35, 0xc6, 0xd1, 0x24, 0xe5, 0x72, 0x07, 0x6b, 0xcb,
0xb9, 0x72, 0x11, 0x73, 0xed, 0x22, 0x28, 0xa6, 0x4a, 0x48, 0xd6, 0xc2, 0x9c, 0xbf, 0x5d, 0x01,
0x86, 0x5d, 0x7f, 0x16, 0x89, 0x2a, 0x24, 0xb5, 0xe5, 0xa9, 0xbd, 0xf2, 0xd6, 0xd4, 0x5e, 0x7d,
0x1d, 0xb5, 0x3b, 0x30, 0x23, 0x7a, 0x5f, 0x2f, 0xe9, 0xbd, 0xc8, 0xfa, 0xac, 0xde, 0xa8, 0x75,
0xea, 0xce, 0x7f, 0xac, 0xc1, 0xca, 0x96, 0xd8, 0x82, 0x37, 0xfb, 0x7d, 0x3e, 0xd6, 0x7c, 0xf0,
0x2e, 0xb4, 0xc2, 0x68, 0xc0, 0x15, 0xf5, 0x89, 0x8e, 0x01, 0x42, 0x06, 0xe9, 0x9d, 0xfa, 0x41,
0x28, 0x3a, 0x2e, 0xe6, 0xb3, 0x49, 0x08, 0x75, 0xfb, 0x16, 0x2c, 0x8e, 0x79, 0x38, 0x30, 0xc9,
0x5d, 0x28, 0x49, 0xf3, 0x12, 0x96, 0x94, 0xfe, 0x2e, 0xb4, 0x8e, 0x27, 0xa2, 0x1c, 0x0a, 0x89,
0x3a, 0xd1, 0x01, 0x48, 0x68, 0x53, 0xc8, 0x8a, 0xf1, 0x24, 0x39, 0xa5, 0xdc, 0x19, 0xca, 0x9d,
0xc3, 0x34, 0x66, 0x5d, 0x03, 0x18, 0x4c, 0x92, 0x54, 0x52, 0xff, 0x2c, 0x65, 0x36, 0x11, 0x11,
0xd4, 0xff, 0x6d, 0x58, 0x1e, 0xf9, 0xaf, 0x3c, 0xa2, 0x1f, 0x2f, 0x08, 0xbd, 0xe3, 0x21, 0xed,
0x22, 0x73, 0x54, 0xae, 0x33, 0xf2, 0x5f, 0xfd, 0x00, 0x73, 0x1e, 0x87, 0x0f, 0x09, 0x47, 0x11,
0xa1, 0xd4, 0x97, 0x98, 0x27, 0x3c, 0x3e, 0xe3, 0xc4, 0xd5, 0x75, 0xad, 0xa3, 0xb8, 0x02, 0xc5,
0x1e, 0x8d, 0x70, 0xdc, 0xe9, 0xb0, 0x2f, 0x58, 0xd8, 0x9d, 0x1b, 0x05, 0xe1, 0x6e, 0x3a, 0xec,
0xb3, 0xab, 0x00, 0x28, 0x13, 0xc6, 0x3c, 0xf6, 0x5e, 0x9e, 0x13, 0x3f, 0xd6, 0x49, 0x06, 0x1c,
0xf0, 0xf8, 0xf3, 0x73, 0xf6, 0x0e, 0x34, 0xfb, 0x09, 0x09, 0x15, 0xff, 0xa2, 0xdb, 0x22, 0x66,
0x6d, 0xf4, 0x13, 0x14, 0x27, 0xfe, 0x05, 0x32, 0x14, 0xf6, 0xd6, 0xa7, 0x55, 0xe0, 0x03, 0xaa,
0x3e, 0x21, 0xe9, 0x38, 0x4f, 0x9d, 0xdd, 0x94, 0x19, 0xd8, 0x4e, 0xc2, 0xbe, 0x01, 0xf3, 0xaa,
0xb3, 0xc7, 0x43, 0xff, 0x24, 0x21, 0xf1, 0x30, 0xef, 0xb6, 0x25, 0xf8, 0x10, 0x31, 0xe7, 0x85,
0x50, 0x9a, 0x8c, 0xb5, 0x95, 0x7c, 0x83, 0xdb, 0x37, 0x21, 0xb4, 0xae, 0x0d, 0x57, 0xa6, 0xca,
0x16, 0xad, 0x5a, 0xb2, 0x68, 0xce, 0x2f, 0x2a, 0xd0, 0x96, 0x35, 0x93, 0xa6, 0xc1, 0xee, 0x03,
0x53, 0xab, 0x98, 0xbe, 0x0a, 0x06, 0xde, 0xd1, 0x45, 0xca, 0x13, 0x41, 0x34, 0xbb, 0x97, 0xdc,
0x92, 0x3c, 0x94, 0x87, 0x16, 0x9a, 0xa4, 0xb1, 0xa0, 0xe9, 0xdd, 0x4b, 0x6e, 0x21, 0x07, 0x59,
0x0c, 0x75, 0x99, 0x49, 0xea, 0x05, 0xe1, 0x80, 0xbf, 0x22, 0x52, 0x9a, 0x77, 0x2d, 0xec, 0xc1,
0x02, 0xb4, 0xcd, 0xef, 0x9c, 0x9f, 0x42, 0x43, 0x69, 0x42, 0xa4, 0x05, 0xe4, 0xfa, 0xe5, 0x1a,
0x08, 0xeb, 0x41, 0xc3, 0xee, 0x85, 0xdb, 0xf8, 0x3a, 0x6d, 0x3b, 0x7f, 0x01, 0x3a, 0x7b, 0x48,
0x44, 0x21, 0x12, 0xad, 0x54, 0xef, 0x56, 0x61, 0xd6, 0x60, 0x9e, 0xa6, 0x2b, 0x53, 0xb8, 0x8f,
0x9e, 0x46, 0x49, 0x2a, 0xdb, 0xa1, 0xdf, 0xce, 0x9f, 0x54, 0x80, 0xed, 0x24, 0x69, 0x30, 0xf2,
0x53, 0xfe, 0x90, 0x6b, 0xf1, 0xf0, 0x14, 0xda, 0x58, 0xdb, 0xb3, 0x68, 0x53, 0x28, 0x5b, 0x42,
0x49, 0xf8, 0x96, 0x64, 0xe7, 0xe2, 0x07, 0xeb, 0x66, 0x69, 0x21, 0xba, 0xad, 0x0a, 0x90, 0xdb,
0x52, 0x3f, 0x3e, 0xe1, 0x29, 0x69, 0x62, 0x52, 0x8f, 0x07, 0x01, 0x6d, 0x45, 0xe1, 0x71, 0xef,
0xb7, 0x60, 0xa9, 0x50, 0x87, 0x29, 0xa3, 0x9b, 0x25, 0x32, 0xba, 0x66, 0xca, 0xe8, 0x3e, 0x2c,
0x5b, 0xfd, 0x92, 0x14, 0xd7, 0x85, 0x39, 0x64, 0x0c, 0xdc, 0xf0, 0x2b, 0x62, 0xc3, 0x97, 0x49,
0xb6, 0x01, 0x2b, 0xc7, 0x9c, 0xc7, 0x7e, 0x4a, 0x49, 0x62, 0x1d, 0x5c, 0x13, 0x59, 0x73, 0x69,
0x9e, 0xf3, 0x5f, 0x2b, 0xb0, 0x88, 0xd2, 0xf4, 0x89, 0x1f, 0x5e, 0xa8, 0xb9, 0xda, 0x2b, 0x9d,
0xab, 0x3b, 0xc6, 0x26, 0x67, 0x94, 0xfe, 0xba, 0x13, 0x55, 0xcb, 0x4f, 0x14, 0xbb, 0x01, 0x6d,
0xab, 0xbb, 0x33, 0x42, 0xb3, 0x4c, 0xfc, 0xf4, 0x80, 0xc7, 0x0f, 0x2e, 0x52, 0xfe, 0xab, 0x4f,
0xe5, 0x2d, 0xe8, 0x64, 0xdd, 0x96, 0xf3, 0xc8, 0xa0, 0x8e, 0x84, 0x29, 0x2b, 0xa0, 0xdf, 0xce,
0xdf, 0xaf, 0x88, 0x82, 0x5b, 0x51, 0xa0, 0xb5, 0x4e, 0x2c, 0x88, 0xca, 0xab, 0x2a, 0x88, 0xbf,
0xa7, 0x6a, 0xed, 0xbf, 0xfa, 0x60, 0x51, 0x26, 0x26, 0x3c, 0x1c, 0x78, 0xfe, 0x70, 0x48, 0x82,
0xb8, 0xe1, 0xce, 0x61, 0x7a, 0x73, 0x38, 0x74, 0x6e, 0xc3, 0x92, 0xd1, 0xbb, 0xd7, 0x8c, 0x63,
0x1f, 0xd8, 0x5e, 0x90, 0xa4, 0xcf, 0xc3, 0x64, 0x6c, 0x28, 0x64, 0xef, 0x40, 0x13, 0xa5, 0x2d,
0xf6, 0x4c, 0x70, 0xee, 0x8c, 0x8b, 0xe2, 0x17, 0xfb, 0x95, 0x50, 0xa6, 0xff, 0x4a, 0x66, 0x56,
0x65, 0xa6, 0xff, 0x8a, 0x32, 0x9d, 0x8f, 0x61, 0xd9, 0xaa, 0x4f, 0x36, 0xfd, 0x1e, 0xcc, 0x4c,
0xd2, 0x57, 0x91, 0x52, 0xb9, 0x5b, 0x92, 0x42, 0xf0, 0x70, 0xe7, 0x8a, 0x1c, 0xe7, 0x53, 0x58,
0xda, 0xe7, 0xe7, 0x92, 0x91, 0x55, 0x47, 0x6e, 0xbd, 0xf1, 0xe0, 0x47, 0xf9, 0xce, 0x3a, 0x30,
0xf3, 0xe3, 0x8c, 0x01, 0xd4, 0x31, 0xb0, 0x62, 0x1d, 0x03, 0x9d, 0x5b, 0xc0, 0x0e, 0x83, 0x93,
0xf0, 0x09, 0x4f, 0x12, 0xff, 0x44, 0xb3, 0x7e, 0x07, 0x6a, 0xa3, 0xe4, 0x44, 0x8a, 0x2a, 0xfc,
0xe9, 0x7c, 0x07, 0x96, 0xad, 0x72, 0xb2, 0xe2, 0xab, 0xd0, 0x4c, 0x82, 0x93, 0xd0, 0x4f, 0x27,
0x31, 0x97, 0x55, 0x67, 0x80, 0xf3, 0x10, 0x56, 0x7e, 0xc0, 0xe3, 0xe0, 0xf8, 0xe2, 0x4d, 0xd5,
0xdb, 0xf5, 0x54, 0xf3, 0xf5, 0xec, 0xc0, 0xe5, 0x5c, 0x3d, 0xb2, 0x79, 0x41, 0xbe, 0x72, 0x25,
0x1b, 0xae, 0x48, 0x18, 0xb2, 0xaf, 0x6a, 0xca, 0x3e, 0xe7, 0x39, 0xb0, 0xad, 0x28, 0x0c, 0x79,
0x3f, 0x3d, 0xe0, 0x3c, 0xce, 0x2c, 0x50, 0x19, 0xad, 0xb6, 0x36, 0xd6, 0xe4, 0xcc, 0xe6, 0x05,
0xaa, 0x24, 0x62, 0x06, 0xf5, 0x31, 0x8f, 0x47, 0x54, 0x71, 0xc3, 0xa5, 0xdf, 0xce, 0x65, 0x58,
0xb6, 0xaa, 0x95, 0x67, 0xf6, 0x0f, 0xe1, 0xf2, 0x76, 0x90, 0xf4, 0x8b, 0x0d, 0x76, 0x61, 0x6e,
0x3c, 0x39, 0xf2, 0x32, 0x4e, 0x54, 0x49, 0x3c, 0xc6, 0xe5, 0x3f, 0x91, 0x95, 0xfd, 0xb5, 0x0a,
0xd4, 0x77, 0x9f, 0xed, 0x6d, 0xe1, 0x5e, 0x11, 0x84, 0xfd, 0x68, 0x84, 0x5a, 0x98, 0x18, 0xb4,
0x4e, 0x4f, 0xe5, 0xb0, 0xab, 0xd0, 0x24, 0xe5, 0x0d, 0x4f, 0xae, 0x52, 0x0f, 0xca, 0x00, 0x3c,
0x35, 0xf3, 0x57, 0xe3, 0x20, 0xa6, 0x63, 0xb1, 0x3a, 0xec, 0xd6, 0x69, 0x9b, 0x29, 0x66, 0x38,
0xbf, 0x98, 0x83, 0x39, 0xb9, 0xf9, 0x8a, 0x8d, 0x3c, 0x0d, 0xce, 0x78, 0xb6, 0x91, 0x63, 0x0a,
0x15, 0xe3, 0x98, 0x8f, 0xa2, 0x54, 0xeb, 0x6f, 0x62, 0x19, 0x6c, 0x90, 0xac, 0x02, 0x52, 0x89,
0x10, 0x76, 0x84, 0x9a, 0x28, 0x65, 0x81, 0xec, 0x2a, 0xcc, 0x29, 0x65, 0xa0, 0xae, 0x0f, 0x2c,
0x0a, 0xc2, 0xd9, 0xe8, 0xfb, 0x63, 0xbf, 0x1f, 0xa4, 0x17, 0x52, 0x2c, 0xe8, 0x34, 0xd6, 0x3f,
0x8c, 0xfa, 0xfe, 0xd0, 0x3b, 0xf2, 0x87, 0x7e, 0xd8, 0xe7, 0xca, 0xea, 0x60, 0x81, 0x78, 0x02,
0x97, 0xdd, 0x52, 0xc5, 0xc4, 0x29, 0x3d, 0x87, 0xe2, 0x1e, 0xde, 0x8f, 0x46, 0xa3, 0x20, 0xc5,
0x83, 0x3b, 0xa9, 0x66, 0x35, 0xd7, 0x40, 0x84, 0x8d, 0x83, 0x52, 0xe7, 0x62, 0x06, 0x9b, 0xca,
0xc6, 0x61, 0x80, 0x58, 0x4b, 0x4e, 0x43, 0xab, 0xb9, 0x06, 0x82, 0x6b, 0x31, 0x09, 0x13, 0x9e,
0xa6, 0x43, 0x3e, 0xd0, 0x1d, 0x6a, 0x51, 0xb1, 0x62, 0x06, 0xbb, 0x0f, 0xcb, 0xc2, 0x96, 0x90,
0xf8, 0x69, 0x94, 0x9c, 0x06, 0x89, 0x97, 0xe0, 0x31, 0x48, 0x9c, 0x69, 0xcb, 0xb2, 0xd8, 0xc7,
0xb0, 0x96, 0x83, 0x63, 0xde, 0xe7, 0xc1, 0x19, 0x1f, 0x90, 0x0a, 0x57, 0x73, 0xa7, 0x65, 0xb3,
0x1b, 0xd0, 0x0a, 0x27, 0x23, 0x6f, 0x32, 0x1e, 0xf8, 0xa8, 0xc4, 0x2c, 0x90, 0x72, 0x69, 0x42,
0xec, 0x43, 0x50, 0x7a, 0x9a, 0xd4, 0x1e, 0x17, 0x2d, 0x09, 0x87, 0xd4, 0xeb, 0xda, 0x25, 0x90,
0x30, 0x33, 0x95, 0xb4, 0x23, 0xcf, 0x8f, 0x0a, 0x20, 0x3e, 0x89, 0x83, 0x33, 0x3f, 0xe5, 0xdd,
0x25, 0x21, 0xd4, 0x65, 0x12, 0xbf, 0x0b, 0xc2, 0x20, 0x0d, 0xfc, 0x34, 0x8a, 0xbb, 0x8c, 0xf2,
0x32, 0x00, 0x27, 0x91, 0xe8, 0x23, 0x49, 0xfd, 0x74, 0x92, 0x48, 0x0d, 0x75, 0x99, 0x88, 0xab,
0x98, 0xc1, 0x3e, 0x82, 0x55, 0x41, 0x11, 0x94, 0x25, 0x75, 0x6f, 0x52, 0x15, 0x56, 0x68, 0x46,
0xa6, 0xe4, 0xe2, 0x54, 0x4a, 0x12, 0x29, 0x7c, 0x78, 0x59, 0x4c, 0xe5, 0x94, 0x6c, 0xec, 0x1f,
0xf6, 0x20, 0xe8, 0x7b, 0xb2, 0x04, 0xb2, 0xc8, 0x2a, 0x8d, 0xa2, 0x98, 0x81, 0x24, 0x3e, 0x0c,
0x8e, 0x79, 0x1a, 0x8c, 0x78, 0x77, 0x4d, 0x90, 0xb8, 0x4a, 0x23, 0x03, 0x4e, 0xc6, 0x94, 0xd3,
0x15, 0x0c, 0x2f, 0x52, 0xce, 0xef, 0x57, 0xc4, 0xe6, 0x23, 0x19, 0x35, 0x31, 0x8e, 0x55, 0x82,
0x45, 0xbd, 0x28, 0x1c, 0x5e, 0x48, 0xae, 0x05, 0x01, 0x3d, 0x0d, 0x87, 0x17, 0xa8, 0xd8, 0x07,
0xa1, 0x59, 0x44, 0xc8, 0xb9, 0xb6, 0x02, 0xa9, 0xd0, 0xbb, 0xd0, 0x1a, 0x4f, 0x8e, 0x86, 0x41,
0x5f, 0x14, 0xa9, 0x89, 0x5a, 0x04, 0x44, 0x05, 0xf0, 0x5c, 0x29, 0x56, 0x4a, 0x94, 0xa8, 0x53,
0x89, 0x96, 0xc4, 0xb0, 0x88, 0xf3, 0x00, 0x56, 0xec, 0x0e, 0x4a, 0x81, 0x7e, 0x17, 0x1a, 0x92,
0xff, 0x95, 0xa1, 0x60, 0xc1, 0x30, 0xdf, 0xe2, 0x31, 0x48, 0xe7, 0x3b, 0xff, 0xa2, 0x0e, 0xcb,
0x12, 0xdd, 0x1a, 0x46, 0x09, 0x3f, 0x9c, 0x8c, 0x46, 0x7e, 0x5c, 0x22, 0x58, 0x2a, 0x6f, 0x10,
0x2c, 0xd5, 0xa2, 0x60, 0xb9, 0x6e, 0x9d, 0x2f, 0x85, 0x64, 0x32, 0x10, 0x76, 0x07, 0x16, 0xfb,
0xc3, 0x28, 0x11, 0xea, 0xbe, 0x69, 0x41, 0xcc, 0xc3, 0x45, 0x61, 0x38, 0x53, 0x26, 0x0c, 0x4d,
0x41, 0x36, 0x9b, 0x13, 0x64, 0x0e, 0xb4, 0xb1, 0x52, 0xae, 0x64, 0xf3, 0x9c, 0x3c, 0x6c, 0x19,
0x18, 0xf6, 0x27, 0x2f, 0x36, 0x84, 0x8c, 0x5a, 0x2c, 0x13, 0x1a, 0xc1, 0x88, 0x93, 0xec, 0x37,
0x4a, 0x37, 0xa5, 0xd0, 0x28, 0x66, 0xb1, 0x87, 0x00, 0xa2, 0x2d, 0x52, 0x40, 0x80, 0x14, 0x90,
0x5b, 0xf6, 0xaa, 0x98, 0xf3, 0xbf, 0x8e, 0x89, 0x49, 0xcc, 0x49, 0x29, 0x31, 0xbe, 0x74, 0xfe,
0x46, 0x05, 0x5a, 0x46, 0x1e, 0xbb, 0x0c, 0x4b, 0x5b, 0x4f, 0x9f, 0x1e, 0xec, 0xb8, 0x9b, 0xcf,
0x1e, 0xff, 0x60, 0xc7, 0xdb, 0xda, 0x7b, 0x7a, 0xb8, 0xd3, 0xb9, 0x84, 0xf0, 0xde, 0xd3, 0xad,
0xcd, 0x3d, 0xef, 0xe1, 0x53, 0x77, 0x4b, 0xc1, 0x15, 0xb6, 0x0a, 0xcc, 0xdd, 0x79, 0xf2, 0xf4,
0xd9, 0x8e, 0x85, 0x57, 0x59, 0x07, 0xda, 0x0f, 0xdc, 0x9d, 0xcd, 0xad, 0x5d, 0x89, 0xd4, 0xd8,
0x0a, 0x74, 0x1e, 0x3e, 0xdf, 0xdf, 0x7e, 0xbc, 0xff, 0xc8, 0xdb, 0xda, 0xdc, 0xdf, 0xda, 0xd9,
0xdb, 0xd9, 0xee, 0xd4, 0xd9, 0x3c, 0x34, 0x37, 0x1f, 0x6c, 0xee, 0x6f, 0x3f, 0xdd, 0xdf, 0xd9,
0xee, 0xcc, 0x38, 0x7f, 0x5a, 0x81, 0xcb, 0xd4, 0xeb, 0x41, 0x9e, 0x49, 0x6e, 0x40, 0xab, 0x1f,
0x45, 0x63, 0x54, 0xfc, 0xb3, 0xad, 0xcd, 0x84, 0x90, 0x01, 0x84, 0x50, 0x38, 0x8e, 0xe2, 0x3e,
0x97, 0x3c, 0x02, 0x04, 0x3d, 0x44, 0x04, 0x19, 0x40, 0x2e, 0xaf, 0x28, 0x21, 0x58, 0xa4, 0x25,
0x30, 0x51, 0x64, 0x15, 0x66, 0x8f, 0x62, 0xee, 0xf7, 0x4f, 0x25, 0x77, 0xc8, 0x14, 0x7b, 0x3f,
0x3b, 0x99, 0xf6, 0x71, 0xf6, 0x87, 0x7c, 0x40, 0x14, 0xd3, 0x70, 0x17, 0x25, 0xbe, 0x25, 0x61,
0x94, 0x82, 0xfe, 0x91, 0x1f, 0x0e, 0xa2, 0x90, 0x0f, 0xa4, 0xda, 0x9b, 0x01, 0xce, 0x01, 0xac,
0xe6, 0xc7, 0x27, 0x79, 0xec, 0x23, 0x83, 0xc7, 0x84, 0x16, 0xda, 0x9b, 0xbe, 0x9a, 0x06, 0xbf,
0xfd, 0xe7, 0x2a, 0xd4, 0x51, 0x29, 0x99, 0xae, 0xc0, 0x98, 0x7a, 0x66, 0xad, 0xe0, 0x6e, 0xa0,
0xc3, 0xae, 0xd8, 0xa2, 0xa4, 0xa1, 0x25, 0x43, 0xb2, 0xfc, 0x98, 0xf7, 0xcf, 0xa4, 0xa9, 0xc5,
0x40, 0x90, 0x41, 0xf0, 0x10, 0x40, 0x5f, 0x4b, 0x06, 0x51, 0x69, 0x95, 0x47, 0x5f, 0xce, 0x65,
0x79, 0xf4, 0x5d, 0x17, 0xe6, 0x82, 0xf0, 0x28, 0x9a, 0x84, 0x03, 0x62, 0x88, 0x86, 0xab, 0x92,
0xe4, 0xe0, 0x20, 0x46, 0x45, 0xf9, 0x29, 0xc8, 0x3f, 0x03, 0xd8, 0x06, 0x34, 0x93, 0x8b, 0xb0,
0x6f, 0xd2, 0xfc, 0x8a, 0x9c, 0x25, 0x9c, 0x83, 0xf5, 0xc3, 0x8b, 0xb0, 0x4f, 0x14, 0x9e, 0x15,
0x73, 0x7e, 0x0b, 0x1a, 0x0a, 0x46, 0xb2, 0x7c, 0xbe, 0xff, 0xf9, 0xfe, 0xd3, 0x17, 0xfb, 0xde,
0xe1, 0x0f, 0xf7, 0xb7, 0x3a, 0x97, 0xd8, 0x22, 0xb4, 0x36, 0xb7, 0x88, 0xd2, 0x09, 0xa8, 0x60,
0x91, 0x83, 0xcd, 0xc3, 0x43, 0x8d, 0x54, 0x1d, 0x86, 0x07, 0xf9, 0x84, 0x34, 0x3f, 0x6d, 0xc0,
0xff, 0x08, 0x96, 0x0c, 0x2c, 0x3b, 0x45, 0x8c, 0x11, 0xc8, 0x9d, 0x22, 0x48, 0x65, 0x14, 0x39,
0x4e, 0x07, 0x16, 0x1e, 0xf1, 0xf4, 0x71, 0x78, 0x1c, 0xa9, 0x9a, 0xfe, 0x7b, 0x1d, 0x16, 0x35,
0x24, 0x2b, 0xba, 0x03, 0x8b, 0xc1, 0x80, 0x87, 0x69, 0x90, 0x5e, 0x78, 0x96, 0xbd, 0x20, 0x0f,
0xa3, 0xaa, 0xed, 0x0f, 0x03, 0x5f, 0xf9, 0x91, 0x44, 0x02, 0xcf, 0xcf, 0xa8, 0x03, 0x98, 0x76,
0x1b, 0xa2, 0x2b, 0x61, 0xa6, 0x28, 0xcd, 0x43, 0x09, 0x84, 0xb8, 0xdc, 0x66, 0xf4, 0x27, 0x42,
0xe5, 0x2c, 0xcb, 0xc2, 0xa5, 0x12, 0x35, 0xe1, 0x90, 0x67, 0x84, 0x9e, 0xa0, 0x81, 0x82, 0xa3,
0x66, 0x56, 0xc8, 0xc7, 0xbc, 0xa3, 0xc6, 0x70, 0xf6, 0x34, 0x0a, 0xce, 0x1e, 0x94, 0x9f, 0x17,
0x61, 0x9f, 0x0f, 0xbc, 0x34, 0xf2, 0x48, 0xce, 0x13, 0x49, 0x34, 0xdc, 0x3c, 0x8c, 0xfb, 0x46,
0xca, 0x93, 0x34, 0xe4, 0xc2, 0xe2, 0xdd, 0x20, 0x2b, 0xa8, 0x82, 0xf0, 0x7c, 0x30, 0x89, 0x83,
0xa4, 0xdb, 0x26, 0x37, 0x0e, 0xfd, 0x66, 0xdf, 0x85, 0xcb, 0x47, 0x3c, 0x49, 0xbd, 0x53, 0xee,
0x0f, 0x78, 0x4c, 0xe4, 0x25, 0xfc, 0x45, 0x42, 0xe5, 0x2a, 0xcf, 0x44, 0xc2, 0x3d, 0xe3, 0x71,
0x12, 0x44, 0x21, 0x29, 0x5b, 0x4d, 0x57, 0x25, 0xb1, 0x3e, 0x1c, 0xbc, 0xde, 0xa8, 0xf5, 0x0c,
0x2e, 0xd2, 0xc0, 0xcb, 0x33, 0xd9, 0x4d, 0x98, 0xa5, 0x01, 0x24, 0xdd, 0x0e, 0xd1, 0x4c, 0x3b,
0xe3, 0xf9, 0x20, 0x74, 0x65, 0x1e, 0xae, 0x72, 0x3f, 0x1a, 0x46, 0x31, 0x69, 0x5c, 0x4d, 0x57,
0x24, 0xec, 0xd9, 0x39, 0x89, 0xfd, 0xf1, 0xa9, 0xd4, 0xba, 0xf2, 0xf0, 0x67, 0xf5, 0x46, 0xab,
0xd3, 0x76, 0xfe, 0x3f, 0x98, 0xa1, 0x6a, 0xa9, 0x3a, 0x9a, 0xcc, 0x8a, 0xac, 0x8e, 0xd0, 0x2e,
0xcc, 0x85, 0x3c, 0x3d, 0x8f, 0xe2, 0x97, 0xca, 0x29, 0x29, 0x93, 0xce, 0xcf, 0xe8, 0x84, 0xa6,
0x9d, 0x74, 0xcf, 0x49, 0xb5, 0xc4, 0x73, 0xb6, 0x58, 0xaa, 0xe4, 0xd4, 0x97, 0x87, 0xc6, 0x06,
0x01, 0x87, 0xa7, 0x3e, 0xca, 0x5a, 0x6b, 0xf5, 0xc5, 0x39, 0xbc, 0x45, 0xd8, 0xae, 0x58, 0xfc,
0x9b, 0xb0, 0xa0, 0xdc, 0x7f, 0x89, 0x37, 0xe4, 0xc7, 0xa9, 0xb2, 0xa2, 0x85, 0x93, 0x11, 0x1d,
0xd6, 0xf7, 0xf8, 0x71, 0xea, 0xec, 0xc3, 0x92, 0x94, 0x7f, 0x4f, 0xc7, 0x5c, 0x35, 0xfd, 0x1b,
0x65, 0xba, 0x44, 0x6b, 0x63, 0xd9, 0x16, 0x98, 0xc2, 0xe1, 0x69, 0x97, 0x74, 0x5c, 0x60, 0xa6,
0x3c, 0x95, 0x15, 0xca, 0xcd, 0x5c, 0xd9, 0x09, 0xe5, 0x70, 0x2c, 0x0c, 0xe7, 0x27, 0x99, 0xf4,
0xfb, 0xca, 0x69, 0xdb, 0x70, 0x55, 0xd2, 0xf9, 0xf7, 0x15, 0x58, 0xa6, 0xda, 0x94, 0x36, 0x24,
0xf7, 0xac, 0x8f, 0xbf, 0x46, 0x37, 0x95, 0x95, 0x56, 0xd8, 0x26, 0x57, 0x60, 0xc6, 0xdc, 0xc5,
0x44, 0xe2, 0xeb, 0xdb, 0x64, 0xea, 0x05, 0x9b, 0xcc, 0x5d, 0xe8, 0x0c, 0xf8, 0x30, 0x20, 0xc7,
0xbd, 0xda, 0x13, 0x84, 0xea, 0x53, 0xc0, 0x9d, 0xbf, 0x53, 0x81, 0x25, 0xb1, 0xe9, 0x90, 0x66,
0x2e, 0xa7, 0xea, 0xff, 0x87, 0x79, 0xa1, 0x3d, 0x48, 0x09, 0x22, 0x07, 0x95, 0x89, 0x61, 0x42,
0x45, 0xe1, 0xdd, 0x4b, 0xae, 0x5d, 0x98, 0x7d, 0x4a, 0x1a, 0x5c, 0xe8, 0x11, 0x5a, 0x12, 0x0a,
0x60, 0xaf, 0xcb, 0xee, 0x25, 0xd7, 0x28, 0xfe, 0xa0, 0x81, 0x8a, 0x35, 0xe2, 0xce, 0x23, 0x98,
0xb7, 0x1a, 0xb2, 0x6c, 0x47, 0x6d, 0x61, 0x3b, 0x2a, 0x18, 0x69, 0xab, 0x25, 0x46, 0xda, 0x7f,
0x56, 0x03, 0x86, 0x84, 0x95, 0x5b, 0xb9, 0x1b, 0xb6, 0xa7, 0x43, 0x45, 0x05, 0x64, 0x10, 0xdb,
0x00, 0x66, 0x24, 0x95, 0x07, 0xa6, 0xa6, 0x3d, 0x30, 0x25, 0xb9, 0x28, 0x96, 0xa5, 0x86, 0xa2,
0xbd, 0x1b, 0x64, 0x17, 0x10, 0xcb, 0x54, 0x9a, 0x87, 0xbb, 0x28, 0xb9, 0x3a, 0xf0, 0x04, 0x23,
0xcf, 0xd2, 0x2a, 0x9d, 0xa7, 0x87, 0xd9, 0x37, 0xd2, 0xc3, 0x5c, 0x81, 0x1e, 0x8c, 0xd3, 0x5c,
0xc3, 0x3e, 0xcd, 0xdd, 0x84, 0x79, 0xe5, 0xd1, 0x10, 0x4e, 0x59, 0x79, 0x74, 0xb6, 0x40, 0xa4,
0x27, 0x75, 0xa0, 0xd2, 0x47, 0x46, 0xe1, 0x72, 0x2c, 0xe0, 0xb8, 0x5f, 0x64, 0x56, 0xbb, 0x16,
0x75, 0x36, 0x03, 0xe8, 0xfc, 0x85, 0x54, 0xe2, 0x4d, 0x42, 0x19, 0x11, 0xc0, 0x07, 0x74, 0x68,
0xc6, 0xf3, 0x57, 0x3e, 0xc3, 0xf9, 0x9b, 0x15, 0xe8, 0xe0, 0xba, 0x59, 0xa4, 0xf9, 0x09, 0x10,
0x17, 0xbd, 0x25, 0x65, 0x5a, 0x65, 0xd9, 0xc7, 0xd0, 0xa4, 0x74, 0x34, 0xe6, 0xa1, 0xa4, 0xcb,
0xae, 0x4d, 0x97, 0x99, 0xfc, 0xd9, 0xbd, 0xe4, 0x66, 0x85, 0x0d, 0xaa, 0xfc, 0xb7, 0x15, 0x68,
0xc9, 0x56, 0x7e, 0x69, 0xab, 0x50, 0xcf, 0x08, 0xe1, 0x10, 0xca, 0x5a, 0x16, 0xb1, 0x71, 0x07,
0x16, 0x47, 0x7e, 0x3a, 0x89, 0x71, 0xff, 0xb7, 0x2c, 0x42, 0x79, 0x18, 0x37, 0x73, 0x12, 0xb5,
0x89, 0x97, 0x06, 0x43, 0x4f, 0xe5, 0xca, 0x60, 0x89, 0xb2, 0x2c, 0x94, 0x38, 0x49, 0xea, 0x9f,
0x70, 0xb9, 0x4f, 0x8b, 0x84, 0xd3, 0x85, 0xd5, 0x83, 0xcc, 0xcb, 0x63, 0xe8, 0xe3, 0xce, 0x3f,
0x99, 0x87, 0xb5, 0x42, 0x96, 0x0e, 0xed, 0x92, 0x66, 0x8e, 0x61, 0x30, 0x3a, 0x8a, 0xf4, 0x61,
0xa6, 0x62, 0x5a, 0x40, 0xac, 0x2c, 0x76, 0x02, 0x97, 0x95, 0x42, 0x82, 0x73, 0x9a, 0x6d, 0x9e,
0x55, 0xda, 0x15, 0x3f, 0xb4, 0x97, 0x30, 0xdf, 0xa0, 0xc2, 0x4d, 0x46, 0x2e, 0xaf, 0x8f, 0x9d,
0x42, 0x57, 0x6b, 0x3e, 0x52, 0xb8, 0x1b, 0xda, 0x11, 0xb6, 0xf5, 0xc1, 0x1b, 0xda, 0xb2, 0xd4,
0x77, 0x77, 0x6a, 0x6d, 0xec, 0x02, 0xae, 0xab, 0x3c, 0x92, 0xde, 0xc5, 0xf6, 0xea, 0x6f, 0x35,
0x36, 0x3a, 0x98, 0xd8, 0x8d, 0xbe, 0xa1, 0x62, 0xf6, 0x53, 0x58, 0x3d, 0xf7, 0x83, 0x54, 0x75,
0xcb, 0xd0, 0x45, 0x66, 0xa8, 0xc9, 0x8d, 0x37, 0x34, 0xf9, 0x42, 0x7c, 0x6c, 0x6d, 0x69, 0x53,
0x6a, 0xec, 0xfd, 0x71, 0x15, 0x16, 0xec, 0x7a, 0x90, 0x4c, 0x25, 0xef, 0x2b, 0x19, 0xa8, 0xb4,
0xd7, 0x1c, 0x5c, 0xb4, 0x09, 0x54, 0xcb, 0x6c, 0x02, 0xe6, 0x29, 0xbc, 0xf6, 0x26, 0x73, 0x62,
0xfd, 0xed, 0xcc, 0x89, 0x33, 0xa5, 0xe6, 0xc4, 0xe9, 0x56, 0xa7, 0xd9, 0x5f, 0xd6, 0xea, 0x34,
0xf7, 0x5a, 0xab, 0x53, 0xef, 0xff, 0x54, 0x80, 0x15, 0xa9, 0x97, 0x3d, 0x12, 0x66, 0x90, 0x90,
0x0f, 0xa5, 0x10, 0xfb, 0xf6, 0xdb, 0x71, 0x80, 0x5a, 0x2d, 0xf5, 0x35, 0xb2, 0xa2, 0x19, 0x5f,
0x65, 0xaa, 0x63, 0xf3, 0x6e, 0x59, 0x56, 0xce, 0xa4, 0x5a, 0x7f, 0xb3, 0x49, 0x75, 0xe6, 0xcd,
0x26, 0xd5, 0xd9, 0xbc, 0x49, 0xb5, 0xf7, 0x57, 0x2b, 0xb0, 0x5c, 0x42, 0x66, 0xbf, 0xbe, 0x81,
0x23, 0x61, 0x58, 0xd2, 0xa7, 0x2a, 0x09, 0xc3, 0x04, 0x7b, 0x7f, 0x09, 0xe6, 0x2d, 0xd6, 0xfa,
0xf5, 0xb5, 0x9f, 0xd7, 0x28, 0x05, 0x65, 0x5b, 0x58, 0xef, 0x7f, 0x56, 0x81, 0x15, 0xd9, 0xfb,
0xcf, 0xb5, 0x0f, 0xc5, 0x79, 0xaa, 0x95, 0xcc, 0xd3, 0xff, 0xd3, 0x9d, 0xe7, 0x03, 0x58, 0x92,
0x41, 0xa3, 0x86, 0xe1, 0x4b, 0x50, 0x4c, 0x31, 0x03, 0x75, 0x6a, 0xdb, 0x9e, 0xdd, 0xb0, 0x82,
0xe4, 0x8c, 0xed, 0x37, 0x67, 0xd6, 0x76, 0x7a, 0xd0, 0x95, 0x33, 0xb4, 0x73, 0xc6, 0xc3, 0xf4,
0x70, 0x72, 0x24, 0xa2, 0x26, 0x83, 0x28, 0x24, 0x35, 0xd0, 0xcc, 0x94, 0x0a, 0xc5, 0x77, 0xa1,
0x6d, 0x6e, 0x1f, 0x72, 0x39, 0x72, 0xb6, 0x4f, 0x54, 0x25, 0xcc, 0x52, 0x6c, 0x1b, 0x16, 0x48,
0x48, 0x0e, 0xf4, 0x77, 0x55, 0xfa, 0xee, 0x35, 0xf6, 0x9c, 0xdd, 0x4b, 0x6e, 0xee, 0x1b, 0xf6,
0x9b, 0xb0, 0x60, 0x1f, 0x16, 0xa5, 0x56, 0x52, 0x76, 0x7a, 0xc0, 0xcf, 0xed, 0xc2, 0x6c, 0x13,
0x3a, 0xf9, 0xd3, 0xa6, 0x8c, 0xfc, 0x99, 0x52, 0x41, 0xa1, 0x38, 0xfb, 0x58, 0x3a, 0x37, 0x67,
0xc8, 0xce, 0x72, 0xd3, 0xfe, 0xcc, 0x98, 0xa6, 0x75, 0xf1, 0xc7, 0x70, 0x77, 0xfe, 0x0e, 0x40,
0x86, 0xb1, 0x0e, 0xb4, 0x9f, 0x1e, 0xec, 0xec, 0x7b, 0x5b, 0xbb, 0x9b, 0xfb, 0xfb, 0x3b, 0x7b,
0x9d, 0x4b, 0x8c, 0xc1, 0x02, 0x99, 0x05, 0xb7, 0x35, 0x56, 0x41, 0x4c, 0x1a, 0x62, 0x14, 0x56,
0x65, 0x2b, 0xd0, 0x79, 0xbc, 0x9f, 0x43, 0x6b, 0x0f, 0x9a, 0x9a, 0x3f, 0x9c, 0x55, 0x58, 0x11,
0x41, 0xc1, 0x0f, 0x04, 0x79, 0x28, 0xed, 0xe4, 0x1f, 0x54, 0xe0, 0x72, 0x2e, 0x23, 0x0b, 0x0f,
0x13, 0x0a, 0x88, 0xad, 0x95, 0xd8, 0x20, 0x39, 0x2b, 0x94, 0xae, 0x99, 0x93, 0x20, 0xc5, 0x0c,
0xa4, 0x79, 0x43, 0x37, 0xcd, 0x71, 0x52, 0x59, 0x96, 0xb3, 0xa6, 0xa3, 0x70, 0x72, 0x1d, 0x3f,
0x16, 0xc1, 0xc6, 0x66, 0x46, 0xe6, 0x2c, 0xb6, 0xbb, 0xac, 0x92, 0x78, 0xac, 0xb0, 0x94, 0x1d,
0xbb, 0xbf, 0xa5, 0x79, 0xce, 0xff, 0xaa, 0x03, 0xfb, 0xfe, 0x84, 0xc7, 0x17, 0x14, 0xff, 0xa5,
0xad, 0xac, 0x6b, 0x79, 0x1b, 0xe2, 0xec, 0x78, 0x72, 0xf4, 0x39, 0xbf, 0x50, 0xf1, 0x9a, 0xd5,
0xb7, 0x8a, 0xd7, 0x2c, 0x8b, 0x97, 0xac, 0xbf, 0x39, 0x5e, 0x72, 0xe6, 0x4d, 0xf1, 0x92, 0xdf,
0x80, 0xf9, 0xe0, 0x24, 0x8c, 0x50, 0x1c, 0xa0, 0x0a, 0x91, 0x74, 0x67, 0x6f, 0xd4, 0xf0, 0x98,
0x2e, 0xc1, 0x7d, 0xc4, 0xd8, 0xa7, 0x59, 0x21, 0x3e, 0x38, 0xa1, 0xf8, 0x5e, 0x53, 0x40, 0xec,
0x0c, 0x4e, 0xf8, 0x5e, 0xd4, 0xf7, 0xd3, 0x28, 0xa6, 0x73, 0x9a, 0xfa, 0x18, 0xf1, 0x84, 0xdd,
0x84, 0x85, 0x24, 0x9a, 0xa0, 0x52, 0xa5, 0xa6, 0x41, 0x18, 0xa5, 0xda, 0x02, 0x3d, 0x10, 0x93,
0xb1, 0x0e, 0xcb, 0x93, 0x84, 0x7b, 0xa3, 0x20, 0x49, 0x70, 0xe3, 0xec, 0x47, 0x61, 0x1a, 0x47,
0x43, 0x69, 0x9a, 0x5a, 0x9a, 0x24, 0xfc, 0x89, 0xc8, 0xd9, 0x12, 0x19, 0xec, 0xbb, 0x59, 0x97,
0xc6, 0x7e, 0x10, 0x27, 0x5d, 0xa0, 0x2e, 0xa9, 0x91, 0x62, 0xbf, 0x0f, 0xfc, 0x20, 0xd6, 0x7d,
0xc1, 0x44, 0x92, 0x8b, 0xe3, 0x6c, 0xe5, 0xe3, 0x38, 0x7f, 0x52, 0x1e, 0xc7, 0x39, 0x4f, 0x55,
0xdf, 0x97, 0x55, 0x17, 0x97, 0xf8, 0xed, 0xc3, 0x39, 0x7f, 0x3d, 0x01, 0x9a, 0x32, 0xa6, 0x70,
0x1d, 0x1a, 0x6a, 0x98, 0x78, 0x56, 0x3f, 0x8e, 0xa3, 0x91, 0x3a, 0xab, 0xe3, 0x6f, 0xb6, 0x00,
0xd5, 0x34, 0x92, 0x1f, 0x57, 0xd3, 0xc8, 0xf9, 0x5d, 0x68, 0x19, 0x2b, 0xc5, 0xde, 0x13, 0x66,
0x03, 0xd4, 0x09, 0xe5, 0x21, 0x5f, 0x78, 0x86, 0x9a, 0x12, 0x7d, 0x3c, 0x60, 0xdf, 0x82, 0xa5,
0x41, 0x10, 0x73, 0x0a, 0x89, 0xf6, 0x62, 0x7e, 0xc6, 0xe3, 0x44, 0x99, 0x4f, 0x3a, 0x3a, 0xc3,
0x15, 0xb8, 0xe3, 0xc1, 0xb2, 0x35, 0x35, 0x5a, 0x38, 0xcc, 0x52, 0x20, 0xa4, 0xb2, 0xe0, 0xda,
0x41, 0x92, 0x32, 0x0f, 0xb7, 0x55, 0x69, 0xf9, 0xf1, 0xc6, 0x71, 0x74, 0x44, 0x8d, 0x54, 0x5c,
0x0b, 0x73, 0xfe, 0x47, 0x0d, 0x6a, 0xbb, 0xd1, 0xd8, 0xf4, 0x67, 0x55, 0x8a, 0xfe, 0x2c, 0xa9,
0xff, 0x7a, 0x5a, 0xbd, 0x95, 0x4a, 0x8a, 0x05, 0xb2, 0xbb, 0xb0, 0x80, 0x9c, 0x96, 0x46, 0xa8,
0xef, 0x9f, 0xfb, 0xb1, 0x88, 0x9a, 0xac, 0x11, 0xf9, 0xe6, 0x72, 0xd8, 0x0a, 0xd4, 0xb4, 0xda,
0x46, 0x05, 0x30, 0x89, 0x87, 0x4d, 0x8a, 0x19, 0xb8, 0x90, 0x66, 0x5a, 0x99, 0x42, 0xc1, 0x65,
0x7f, 0x2f, 0xd8, 0x59, 0x6c, 0xbe, 0x65, 0x59, 0xa8, 0x8b, 0x23, 0xc3, 0x8e, 0x32, 0xd5, 0x56,
0xa7, 0x4d, 0x07, 0x44, 0xc3, 0x76, 0x40, 0xdc, 0x80, 0x56, 0x3a, 0x3c, 0xf3, 0xc6, 0xfe, 0xc5,
0x30, 0xf2, 0x07, 0x92, 0x51, 0x4c, 0x88, 0xdd, 0x07, 0x18, 0x8d, 0xc7, 0x92, 0x8a, 0xc9, 0x82,
0xd0, 0xda, 0xe8, 0xc8, 0xd9, 0x7f, 0x72, 0x70, 0x20, 0xa8, 0xcf, 0x35, 0xca, 0xb0, 0x1d, 0x58,
0x28, 0x0d, 0x61, 0xbe, 0xa6, 0x3c, 0xdb, 0xd1, 0x78, 0xbd, 0x84, 0xce, 0x73, 0x1f, 0xf5, 0x7e,
0x1b, 0xd8, 0xaf, 0x18, 0x81, 0xfc, 0x02, 0x9a, 0xba, 0x87, 0x66, 0xdc, 0x2f, 0x85, 0xaf, 0xb4,
0xec, 0xb8, 0x5f, 0x8a, 0x56, 0xb9, 0x05, 0x0b, 0x62, 0xb7, 0xd1, 0xf2, 0x53, 0x84, 0x1c, 0xe4,
0x50, 0xe7, 0xcf, 0x2a, 0x30, 0x43, 0x94, 0x87, 0xea, 0x97, 0xc8, 0xd3, 0x8e, 0x40, 0xea, 0xda,
0xbc, 0x9b, 0x87, 0x99, 0x63, 0x5d, 0x6d, 0xa8, 0x6a, 0x32, 0x30, 0xaf, 0x37, 0xdc, 0x80, 0xa6,
0x6e, 0xc9, 0x20, 0xa5, 0x0c, 0x64, 0xd7, 0xa1, 0x7e, 0x1a, 0x8d, 0xd5, 0x09, 0x15, 0xb2, 0x19,
0x75, 0x09, 0xcf, 0xfa, 0x83, 0xf5, 0x89, 0x21, 0x88, 0x53, 0x40, 0x1e, 0x2e, 0x19, 0xeb, 0x6c,
0xe9, 0x58, 0x9f, 0xc3, 0x22, 0xca, 0x07, 0xc3, 0x31, 0x32, 0x7d, 0x2f, 0x7a, 0x1f, 0x55, 0x9b,
0xfe, 0x70, 0x32, 0xe0, 0xa6, 0x9d, 0x80, 0x0c, 0xdf, 0x12, 0x57, 0x1a, 0xb2, 0xf3, 0x4f, 0x2b,
0x42, 0xee, 0x60, 0xbd, 0xec, 0x0e, 0xd4, 0x71, 0xdb, 0xc8, 0x99, 0x85, 0x74, 0x48, 0x11, 0x96,
0x73, 0xa9, 0x04, 0xae, 0x22, 0x99, 0xa6, 0xcd, 0xda, 0x85, 0x61, 0x3a, 0x3b, 0x64, 0xeb, 0x91,
0xe5, 0xce, 0xa6, 0x39, 0x94, 0xad, 0x1b, 0x7e, 0xbd, 0xba, 0xb5, 0x15, 0x29, 0x4d, 0x6a, 0x70,
0xc2, 0x0d, 0x7f, 0xde, 0x1f, 0x56, 0x60, 0xde, 0xea, 0x13, 0x72, 0x0f, 0x05, 0xfe, 0x0b, 0x2b,
0x93, 0x5c, 0x79, 0x13, 0x32, 0x39, 0xaf, 0x6a, 0x73, 0x9e, 0xf6, 0x0f, 0xd5, 0x4c, 0xff, 0xd0,
0x7d, 0x68, 0x66, 0x77, 0x5b, 0xec, 0x4e, 0x61, 0x8b, 0x2a, 0xb8, 0x2a, 0x2b, 0x94, 0x79, 0x20,
0x66, 0x0c, 0x0f, 0x84, 0xf3, 0x29, 0xb4, 0x8c, 0xf2, 0xa6, 0x07, 0xa1, 0x62, 0x79, 0x10, 0x74,
0xe4, 0x61, 0x35, 0x8b, 0x3c, 0x74, 0x7e, 0x5e, 0x85, 0x79, 0x24, 0xef, 0x20, 0x3c, 0x39, 0x88,
0x86, 0x41, 0xff, 0x82, 0xc8, 0x4a, 0x51, 0xb2, 0x54, 0x1b, 0x14, 0x99, 0xdb, 0x30, 0x8a, 0x21,
0x1d, 0x6e, 0x2d, 0x64, 0xa6, 0x4e, 0xa3, 0x50, 0x45, 0x91, 0x74, 0xe4, 0x27, 0xdc, 0xb8, 0xec,
0xe2, 0xda, 0x20, 0x8a, 0x3e, 0x04, 0x28, 0x8e, 0x74, 0x14, 0x0c, 0x87, 0x81, 0x28, 0x2b, 0xce,
0xbb, 0x65, 0x59, 0xd8, 0xe6, 0x20, 0x48, 0xfc, 0xa3, 0xcc, 0xf7, 0xab, 0xd3, 0x64, 0x2c, 0xf5,
0x5f, 0x19, 0xc6, 0x52, 0x11, 0x78, 0x6e, 0x83, 0xf9, 0x85, 0x9c, 0x2b, 0x2c, 0xa4, 0xf3, 0xaf,
0xaa, 0xd0, 0x32, 0xc8, 0x02, 0xd9, 0xb9, 0x74, 0xdf, 0x33, 0x50, 0x19, 0x14, 0x11, 0x5a, 0x16,
0x14, 0x03, 0x61, 0x37, 0xed, 0x56, 0xc9, 0xc9, 0x42, 0x0c, 0x6f, 0x91, 0xd0, 0x55, 0x68, 0x22,
0xe9, 0x7f, 0x48, 0xe6, 0x1a, 0x79, 0xb1, 0x4c, 0x03, 0x2a, 0x77, 0x83, 0x72, 0x67, 0xb2, 0x5c,
0x02, 0x5e, 0x1b, 0x26, 0xf1, 0x31, 0xb4, 0x65, 0x35, 0xb4, 0xc6, 0x34, 0xe8, 0x8c, 0xf9, 0xac,
0xf5, 0x77, 0xad, 0x92, 0xea, 0xcb, 0x0d, 0xf5, 0x65, 0xe3, 0x4d, 0x5f, 0xaa, 0x92, 0xce, 0x23,
0x1d, 0x81, 0xf2, 0x28, 0xf6, 0xc7, 0xa7, 0x4a, 0xa0, 0xdc, 0x87, 0x65, 0x25, 0x37, 0x26, 0xa1,
0x1f, 0x86, 0xd1, 0x24, 0xec, 0x73, 0x15, 0xa4, 0x58, 0x96, 0xe5, 0x0c, 0x74, 0x48, 0x3b, 0x55,
0xc4, 0xee, 0xc2, 0x8c, 0x50, 0x3c, 0x85, 0x7a, 0x50, 0x2e, 0x42, 0x44, 0x11, 0x76, 0x07, 0x66,
0x84, 0xfe, 0x59, 0x9d, 0xca, 0xf4, 0xa2, 0x80, 0xb3, 0x0e, 0x8b, 0x14, 0x43, 0x6f, 0xc8, 0xbe,
0x77, 0xca, 0xd4, 0x86, 0xd9, 0xbe, 0x88, 0xb4, 0x5f, 0x01, 0xb6, 0x2f, 0xf8, 0xca, 0xf4, 0x23,
0xff, 0x59, 0x0d, 0x5a, 0x06, 0x8c, 0xf2, 0x89, 0x9c, 0x7f, 0xde, 0x20, 0xf0, 0x47, 0x3c, 0xe5,
0xb1, 0xe4, 0xa5, 0x1c, 0x8a, 0xe5, 0xfc, 0xb3, 0x13, 0x2f, 0x9a, 0xa4, 0xde, 0x80, 0x9f, 0xc4,
0x9c, 0x4b, 0x7d, 0x26, 0x87, 0x62, 0x39, 0xa4, 0x66, 0xa3, 0x9c, 0x70, 0xd7, 0xe5, 0x50, 0xe5,
0x15, 0x16, 0xf3, 0x54, 0xcf, 0xbc, 0xc2, 0x62, 0x56, 0xf2, 0x92, 0x75, 0xa6, 0x44, 0xb2, 0x7e,
0x04, 0xab, 0x42, 0x86, 0x4a, 0xe9, 0xe1, 0xe5, 0x88, 0x6b, 0x4a, 0x2e, 0xbb, 0x0b, 0x1d, 0xec,
0xb3, 0x62, 0x8d, 0x24, 0xf8, 0x99, 0xe0, 0xb1, 0x8a, 0x5b, 0xc0, 0xb1, 0x2c, 0xb9, 0x1e, 0xcc,
0xb2, 0x22, 0x34, 0xa7, 0x80, 0x53, 0x59, 0xff, 0x95, 0x5d, 0xb6, 0x29, 0xcb, 0xe6, 0x70, 0xf6,
0x31, 0xac, 0x8d, 0xf8, 0x20, 0xf0, 0xed, 0x2a, 0xbc, 0x6c, 0x93, 0x9f, 0x96, 0x8d, 0xad, 0xe0,
0x2c, 0xfc, 0x2c, 0x1a, 0x1d, 0x05, 0x62, 0x63, 0x13, 0x4e, 0x92, 0xba, 0x5b, 0xc0, 0x9d, 0x79,
0x68, 0x1d, 0xa6, 0xd1, 0x58, 0x2d, 0xfd, 0x02, 0xb4, 0x45, 0x52, 0x86, 0xa5, 0xbe, 0x03, 0x57,
0x88, 0x5e, 0x9f, 0x45, 0xe3, 0x68, 0x18, 0x9d, 0x5c, 0x58, 0xa6, 0x8e, 0x7f, 0x53, 0x81, 0x65,
0x2b, 0x37, 0xb3, 0x75, 0x90, 0x5d, 0x56, 0xc5, 0x12, 0x0a, 0x12, 0x5f, 0x32, 0xb6, 0x05, 0x51,
0x50, 0xb8, 0xc1, 0x9e, 0xcb, 0xf0, 0xc2, 0xcd, 0xec, 0x82, 0x8c, 0xfa, 0x50, 0xd0, 0x7b, 0xb7,
0x48, 0xef, 0xf2, 0x7b, 0x75, 0x75, 0x46, 0x55, 0xf1, 0x9b, 0x32, 0x90, 0x6a, 0x20, 0x07, 0x5d,
0xb3, 0x83, 0x5f, 0x4c, 0xd3, 0x98, 0xea, 0x41, 0x5f, 0x83, 0x89, 0xf3, 0x8b, 0x0a, 0x40, 0xd6,
0x3b, 0x0a, 0xbf, 0xd1, 0x5b, 0x9b, 0xb8, 0x4b, 0x6e, 0x6c, 0x63, 0xef, 0x41, 0x5b, 0x47, 0x50,
0x64, 0xbb, 0x65, 0x4b, 0x61, 0xa8, 0x5d, 0xdc, 0x86, 0xc5, 0x93, 0x61, 0x74, 0x44, 0x5a, 0x0c,
0xc5, 0x39, 0x27, 0x32, 0x38, 0x77, 0x41, 0xc0, 0x0f, 0x25, 0x9a, 0x6d, 0xad, 0x75, 0x73, 0x6b,
0x2d, 0xdf, 0x28, 0x7f, 0x5e, 0xd5, 0x6e, 0xec, 0x6c, 0x26, 0x5e, 0xcb, 0xe5, 0x6c, 0xa3, 0x20,
0xd6, 0xa7, 0x78, 0x8e, 0xe9, 0x0c, 0x74, 0xf0, 0x46, 0x4b, 0xf9, 0xa7, 0xb0, 0x10, 0x0b, 0x99,
0xa9, 0x04, 0x6a, 0xfd, 0x35, 0x02, 0x75, 0x3e, 0xb6, 0x76, 0xe6, 0xf7, 0xa1, 0xe3, 0x0f, 0xce,
0x78, 0x9c, 0x06, 0x64, 0x39, 0x24, 0x35, 0x4a, 0x0c, 0x70, 0xd1, 0xc0, 0x49, 0x5b, 0xb9, 0x0d,
0x8b, 0x32, 0x54, 0x5a, 0x97, 0x94, 0xb7, 0x2a, 0x33, 0x18, 0x0b, 0x3a, 0xff, 0x48, 0x79, 0xcd,
0xed, 0xd5, 0x7d, 0xfd, 0xac, 0x98, 0x23, 0xac, 0xe6, 0x46, 0xf8, 0x0d, 0xe9, 0x99, 0x1e, 0x28,
0x13, 0x65, 0xcd, 0x08, 0xc9, 0x1b, 0xc8, 0xa8, 0x03, 0x7b, 0x5a, 0xeb, 0x6f, 0x33, 0xad, 0xce,
0x7f, 0xa8, 0xc0, 0xdc, 0x6e, 0x34, 0xde, 0xc5, 0x29, 0x46, 0x1d, 0x07, 0xd9, 0x44, 0xdf, 0x53,
0x50, 0xc9, 0x37, 0x84, 0x2e, 0x96, 0x6a, 0x25, 0xf3, 0x79, 0xad, 0xe4, 0xb7, 0xe1, 0x1d, 0x32,
0x92, 0xc7, 0xd1, 0x38, 0x8a, 0x91, 0x5d, 0xfd, 0xa1, 0x50, 0x41, 0xa2, 0x30, 0x3d, 0x55, 0xe2,
0xf4, 0x75, 0x45, 0xc8, 0x72, 0x35, 0x4c, 0xcf, 0x3c, 0x71, 0xc2, 0x93, 0x5a, 0x94, 0x90, 0xb2,
0xc5, 0x0c, 0xe7, 0x37, 0xa0, 0x49, 0x27, 0x0c, 0x1a, 0xda, 0x07, 0xd0, 0x3c, 0x8d, 0xc6, 0xde,
0x69, 0x10, 0xa6, 0x8a, 0xfd, 0x17, 0x32, 0xd5, 0x7f, 0x97, 0x26, 0x45, 0x17, 0x70, 0xfe, 0x64,
0x16, 0xe6, 0x1e, 0x87, 0x67, 0x51, 0xd0, 0x27, 0xef, 0xfb, 0x88, 0x8f, 0x22, 0x75, 0x73, 0x03,
0x7f, 0xd3, 0xe5, 0xe8, 0xec, 0x6e, 0xa5, 0x60, 0x21, 0x03, 0xc1, 0x33, 0x69, 0x6c, 0xde, 0x8d,
0x94, 0xa9, 0xec, 0xa0, 0x35, 0x63, 0xdc, 0x7d, 0xc1, 0xda, 0xc4, 0x9d, 0x3d, 0x9a, 0x3b, 0x11,
0x71, 0x6b, 0x20, 0x38, 0xf9, 0x32, 0xa4, 0x52, 0xc4, 0xdc, 0x89, 0xf8, 0x1f, 0x09, 0xd1, 0x39,
0x3b, 0xe6, 0xc2, 0xcd, 0xa1, 0x55, 0x2f, 0x3c, 0x67, 0x9b, 0x20, 0xaa, 0x67, 0xe2, 0x03, 0x51,
0x46, 0x6c, 0x07, 0x26, 0x84, 0x0a, 0x6a, 0xfe, 0xc6, 0xb0, 0xb8, 0xf5, 0x9d, 0x87, 0x45, 0x9c,
0x85, 0x16, 0xba, 0x62, 0x9c, 0x20, 0xee, 0x97, 0xe6, 0x71, 0xe3, 0x74, 0x2e, 0x62, 0xca, 0xd5,
0xe9, 0x1c, 0x49, 0xc6, 0x1f, 0x0e, 0x8f, 0xfc, 0xfe, 0x4b, 0x71, 0x98, 0x6c, 0x0b, 0xef, 0x98,
0x05, 0x52, 0x60, 0x64, 0xb6, 0xae, 0x14, 0xbd, 0x54, 0x77, 0x4d, 0x88, 0x6d, 0x40, 0x8b, 0x2c,
0x17, 0x72, 0x65, 0x17, 0x68, 0x65, 0x3b, 0xa6, 0x69, 0x83, 0xd6, 0xd6, 0x2c, 0x64, 0xc6, 0x05,
0x2c, 0x16, 0xa2, 0xbc, 0xfd, 0xc1, 0x40, 0x86, 0x54, 0x74, 0xc4, 0xfd, 0x4a, 0x0d, 0x90, 0x6d,
0x44, 0x4c, 0x98, 0x28, 0xb0, 0x44, 0x05, 0x2c, 0x8c, 0x5d, 0x17, 0x96, 0xc3, 0xb1, 0x1f, 0x0c,
0x28, 0x60, 0x49, 0x1c, 0x3f, 0x35, 0x86, 0x75, 0xa8, 0xdf, 0xb4, 0x71, 0x2e, 0xd3, 0xac, 0x58,
0x18, 0xce, 0x8d, 0x4e, 0x8f, 0xb2, 0xb0, 0x70, 0x1b, 0x64, 0x1f, 0x92, 0x53, 0x3b, 0xe5, 0x14,
0xfb, 0xbd, 0xb0, 0xf1, 0x8e, 0x1c, 0xb3, 0x24, 0x5b, 0xf5, 0xf7, 0x10, 0x8b, 0xb8, 0xa2, 0x24,
0xaa, 0x6d, 0xc2, 0xaf, 0xb0, 0x6a, 0xa9, 0x6d, 0xb2, 0x28, 0xf9, 0x15, 0x44, 0x01, 0x67, 0x13,
0xda, 0x66, 0x05, 0xac, 0x01, 0xf5, 0xa7, 0x07, 0x3b, 0xfb, 0x9d, 0x4b, 0xac, 0x05, 0x73, 0x87,
0x3b, 0xcf, 0x9e, 0xed, 0xed, 0x6c, 0x77, 0x2a, 0xac, 0x0d, 0x0d, 0x1d, 0xef, 0x5a, 0xc5, 0xd4,
0xe6, 0xd6, 0xd6, 0xce, 0xc1, 0xb3, 0x9d, 0xed, 0x4e, 0xed, 0xb3, 0x7a, 0xa3, 0xda, 0xa9, 0x39,
0x7f, 0x54, 0x83, 0x96, 0x51, 0xff, 0x1b, 0x6c, 0x46, 0xd7, 0x01, 0xe8, 0x44, 0x91, 0xc5, 0xb4,
0xd4, 0x5d, 0x03, 0x41, 0x09, 0xa9, 0xcf, 0xda, 0x35, 0x71, 0xd9, 0x54, 0xa5, 0x69, 0xd6, 0xe8,
0x56, 0xa7, 0xe9, 0xc4, 0x99, 0x71, 0x6d, 0x10, 0x29, 0x4a, 0x02, 0x14, 0x84, 0x29, 0xf8, 0xd0,
0x84, 0x70, 0x85, 0x62, 0x9e, 0x44, 0xc3, 0x33, 0x2e, 0x8a, 0x08, 0xbd, 0xcc, 0xc2, 0xb0, 0x2d,
0x29, 0x6a, 0x8c, 0x00, 0xe9, 0x19, 0xd7, 0x06, 0xd9, 0xb7, 0xd5, 0x0a, 0x35, 0x68, 0x85, 0xd6,
0x8a, 0xd3, 0x6d, 0xad, 0xce, 0x93, 0x82, 0xd1, 0xa7, 0x49, 0xcb, 0xf4, 0xcd, 0xe2, 0x77, 0x7f,
0x3e, 0xc6, 0x9f, 0x14, 0xd8, 0xe6, 0x60, 0x20, 0x9b, 0x35, 0xef, 0xd2, 0xc6, 0xe6, 0xe5, 0x6d,
0x25, 0xdb, 0x4a, 0xe4, 0x47, 0xb5, 0x5c, 0x7e, 0xbc, 0x96, 0xcb, 0x9c, 0xc7, 0xd0, 0x3a, 0x30,
0xae, 0x83, 0x3b, 0x28, 0x6a, 0xd5, 0x45, 0x70, 0x21, 0x84, 0x85, 0xd1, 0x27, 0x43, 0x8d, 0x2e,
0x55, 0xcd, 0x2e, 0x39, 0xff, 0xb0, 0x22, 0x6e, 0xd8, 0xe9, 0x21, 0x88, 0xf6, 0x1d, 0x68, 0x6b,
0xbf, 0x41, 0x76, 0x29, 0xc1, 0xc2, 0xb0, 0x0c, 0x75, 0xc7, 0x8b, 0x8e, 0x8f, 0x13, 0xae, 0xc2,
0x87, 0x2d, 0x4c, 0x69, 0xb5, 0xa8, 0x27, 0x07, 0xa2, 0x85, 0x44, 0x86, 0x11, 0x17, 0x70, 0xa4,
0x5c, 0x69, 0xb7, 0x55, 0x81, 0xd3, 0x3a, 0xad, 0xef, 0x4e, 0xe4, 0x67, 0xfa, 0x2e, 0x34, 0x74,
0xbd, 0xf6, 0x96, 0xa5, 0x4a, 0xea, 0x7c, 0xdc, 0x1a, 0xe9, 0xc4, 0x6b, 0x75, 0x5a, 0x30, 0x50,
0x31, 0x83, 0xad, 0x03, 0x3b, 0x0e, 0xe2, 0x7c, 0x71, 0xc1, 0x51, 0x25, 0x39, 0xce, 0x0b, 0x58,
0x56, 0xe2, 0xc0, 0x50, 0xb7, 0xed, 0x85, 0xac, 0xbc, 0x49, 0x5c, 0x56, 0x8b, 0xe2, 0xd2, 0xf9,
0x97, 0x75, 0x98, 0x93, 0xab, 0x5d, 0x78, 0x56, 0x40, 0x6c, 0xb8, 0x16, 0xc6, 0xba, 0xd6, 0xe5,
0x51, 0x22, 0x04, 0xb9, 0x89, 0xde, 0xc9, 0x6f, 0x83, 0x99, 0xf1, 0x2f, 0xb7, 0x15, 0xae, 0x42,
0x7d, 0xec, 0xa7, 0xa7, 0x64, 0x1b, 0x12, 0xb4, 0x44, 0x69, 0x65, 0x5e, 0x9e, 0xb1, 0xcd, 0xcb,
0x65, 0x8f, 0x29, 0x08, 0x9d, 0xaf, 0xf8, 0x98, 0xc2, 0x55, 0x68, 0x8a, 0x6d, 0x3b, 0xb3, 0x20,
0x67, 0x40, 0x6e, 0x9b, 0x6f, 0x14, 0xb6, 0xf9, 0xb7, 0xdf, 0x80, 0xbf, 0x0b, 0xb3, 0xe2, 0x42,
0x91, 0x0c, 0x13, 0xbf, 0xaa, 0x1c, 0xc4, 0xa2, 0x9c, 0xfa, 0x2b, 0xe2, 0xc7, 0x5c, 0x59, 0xd6,
0xbc, 0x92, 0xdc, 0xb2, 0xaf, 0x24, 0x9b, 0x86, 0xef, 0x76, 0xce, 0xf0, 0x7d, 0x17, 0x3a, 0x7a,
0xfa, 0xc8, 0x52, 0x15, 0x26, 0x32, 0x8a, 0xb8, 0x80, 0x67, 0xfb, 0xcb, 0x82, 0xb5, 0xbf, 0xa0,
0xc4, 0xda, 0x4c, 0x53, 0x3e, 0x1a, 0xa7, 0x6a, 0x7f, 0x79, 0x08, 0xf3, 0x56, 0x27, 0x71, 0x5b,
0x91, 0xc1, 0xeb, 0x9d, 0x4b, 0x6c, 0x1e, 0x9a, 0x8f, 0xf7, 0xbd, 0x87, 0x7b, 0x8f, 0x1f, 0xed,
0x3e, 0xeb, 0x54, 0x30, 0x79, 0xf8, 0x7c, 0x6b, 0x6b, 0x67, 0x67, 0x9b, 0xb6, 0x19, 0x80, 0xd9,
0x87, 0x9b, 0x8f, 0x71, 0xcb, 0xa9, 0x39, 0xff, 0xbb, 0x02, 0x2d, 0xa3, 0x7a, 0xf6, 0x3d, 0x3d,
0x33, 0xe2, 0xd6, 0xea, 0xb5, 0x62, 0x17, 0xd6, 0x95, 0xe0, 0x35, 0xa6, 0x46, 0xbf, 0x1f, 0x51,
0x9d, 0xfa, 0x7e, 0x04, 0x2e, 0x8f, 0x2f, 0x6a, 0xd0, 0xf3, 0x20, 0x8e, 0x21, 0x79, 0x58, 0xc4,
0x08, 0x65, 0xbb, 0x05, 0x96, 0x14, 0xa6, 0xb7, 0x3c, 0xec, 0x7c, 0x04, 0x90, 0xf5, 0xc6, 0x1e,
0xf6, 0x25, 0x7b, 0xd8, 0x15, 0x63, 0xd8, 0x55, 0x67, 0x5b, 0x08, 0x0c, 0x39, 0x85, 0xda, 0xc3,
0xf9, 0x6d, 0x60, 0xca, 0xd2, 0x43, 0xb1, 0x78, 0xe3, 0x21, 0x4f, 0xd5, 0x75, 0x92, 0x25, 0x99,
0xf3, 0x58, 0x67, 0xa8, 0x1b, 0x51, 0x59, 0x2d, 0x99, 0xdc, 0x91, 0x14, 0x97, 0x97, 0x3b, 0xb2,
0xa8, 0xab, 0xf3, 0x9d, 0x1e, 0x74, 0xb7, 0x39, 0xd6, 0xb6, 0x39, 0x1c, 0xe6, 0xba, 0x83, 0x47,
0xf5, 0x92, 0x3c, 0x79, 0x8e, 0xff, 0x3e, 0x5c, 0xde, 0x14, 0x37, 0x47, 0x7e, 0x5d, 0x81, 0xc5,
0x4e, 0x17, 0x56, 0xf3, 0x55, 0xca, 0xc6, 0x1e, 0xc2, 0xd2, 0x36, 0x3f, 0x9a, 0x9c, 0xec, 0xf1,
0xb3, 0xac, 0x21, 0x06, 0xf5, 0xe4, 0x34, 0x3a, 0x97, 0xf3, 0x43, 0xbf, 0xd9, 0x35, 0x80, 0x21,
0x96, 0xf1, 0x92, 0x31, 0xef, 0xab, 0x5b, 0xc1, 0x84, 0x1c, 0x8e, 0x79, 0xdf, 0xf9, 0x08, 0x98,
0x59, 0x8f, 0x9c, 0x2f, 0xd4, 0xad, 0x27, 0x47, 0x5e, 0x72, 0x91, 0xa4, 0x7c, 0xa4, 0xae, 0x3b,
0x9b, 0x90, 0x73, 0x1b, 0xda, 0x07, 0xfe, 0x85, 0xcb, 0xbf, 0x90, 0xef, 0x95, 0xac, 0xc1, 0xdc,
0xd8, 0xbf, 0x40, 0x7e, 0xd6, 0xe6, 0x7f, 0xca, 0x76, 0xfe, 0xb4, 0x06, 0xb3, 0xa2, 0x24, 0xd6,
0x3a, 0xe0, 0x49, 0x1a, 0x84, 0xc4, 0x63, 0xaa, 0x56, 0x03, 0x2a, 0x08, 0xcc, 0x6a, 0x89, 0xc0,
0x94, 0x36, 0x29, 0x75, 0xbb, 0x52, 0x92, 0xac, 0x85, 0xa1, 0xd8, 0xca, 0x6e, 0x08, 0x08, 0x4a,
0xcd, 0x80, 0x9c, 0x7f, 0x2d, 0xd3, 0xe0, 0x45, 0xff, 0xd4, 0x5e, 0x20, 0x65, 0xa2, 0x09, 0x95,
0x9e, 0x13, 0xe6, 0x54, 0x3c, 0x76, 0xee, 0x9c, 0x50, 0x38, 0x0f, 0x34, 0xde, 0xe2, 0x3c, 0x20,
0x0c, 0x55, 0xaf, 0x3b, 0x0f, 0xc0, 0xdb, 0x9c, 0x07, 0xde, 0xc6, 0xaf, 0xd5, 0x83, 0x06, 0xed,
0xe9, 0x86, 0x88, 0x54, 0x69, 0xe4, 0x17, 0x6d, 0x4e, 0x99, 0xb7, 0xf8, 0x45, 0xda, 0x53, 0x5c,
0x9d, 0xef, 0x8c, 0x60, 0x4e, 0x82, 0xa8, 0x8a, 0x1d, 0x05, 0xa9, 0xb4, 0x5c, 0xe2, 0x4f, 0xa4,
0xc8, 0xd0, 0x1f, 0xa9, 0xdb, 0xe8, 0xf4, 0x1b, 0x87, 0x4c, 0x97, 0x62, 0xbf, 0x98, 0x04, 0x31,
0x1f, 0xa8, 0x7b, 0x5d, 0x06, 0x44, 0x91, 0xb8, 0x89, 0xf7, 0x32, 0x8c, 0xce, 0x43, 0x79, 0xb3,
0x4b, 0xa7, 0x1d, 0x06, 0x1d, 0x7a, 0x95, 0x02, 0x8f, 0xd3, 0x8a, 0x2d, 0xff, 0x6e, 0x05, 0x3a,
0x92, 0x41, 0x74, 0x9e, 0x72, 0x42, 0xbf, 0xee, 0xfa, 0xe2, 0x4d, 0x98, 0xa7, 0xc3, 0xbc, 0xde,
0x2a, 0xa4, 0x43, 0xd7, 0x02, 0xb1, 0xbf, 0x2a, 0x14, 0x6e, 0x14, 0x0c, 0x25, 0xbd, 0x99, 0x90,
0xda, 0x6d, 0x62, 0x5f, 0x06, 0xf1, 0x57, 0x5c, 0x9d, 0x76, 0xfe, 0xb8, 0x02, 0x4b, 0x46, 0x87,
0x25, 0x83, 0x7d, 0x0a, 0x6d, 0xfd, 0xf8, 0x0b, 0xd7, 0xca, 0xd0, 0x9a, 0x2d, 0x11, 0xb2, 0xcf,
0xac, 0xc2, 0x44, 0xa7, 0xfe, 0x05, 0x75, 0x30, 0x99, 0x8c, 0xa4, 0x16, 0x62, 0x42, 0xb8, 0xfe,
0xe7, 0x9c, 0xbf, 0xd4, 0x45, 0x84, 0x1e, 0x64, 0x61, 0xe4, 0x04, 0x89, 0xc2, 0xf4, 0x54, 0x17,
0xaa, 0x4b, 0x27, 0x88, 0x09, 0x3a, 0xff, 0xa9, 0x0a, 0xcb, 0xc2, 0xaa, 0x24, 0xad, 0x79, 0xfa,
0xfe, 0xfd, 0xac, 0x30, 0xb0, 0x09, 0x61, 0xb3, 0x7b, 0xc9, 0x95, 0x69, 0xf6, 0xbd, 0xb7, 0xb4,
0x84, 0xe9, 0xdb, 0x02, 0x53, 0xd6, 0xa2, 0x56, 0xb6, 0x16, 0xaf, 0x99, 0xe9, 0x32, 0x7f, 0xd4,
0x4c, 0xb9, 0x3f, 0xea, 0xed, 0xfc, 0x3f, 0x85, 0x90, 0xfa, 0x39, 0x59, 0xca, 0x0a, 0xa9, 0xdf,
0x80, 0x35, 0x0b, 0x20, 0x39, 0x1b, 0x1c, 0x07, 0x5c, 0xdd, 0x95, 0x5b, 0x4a, 0x78, 0xea, 0x59,
0x45, 0x1e, 0xcc, 0xc1, 0x4c, 0xd2, 0x8f, 0xc6, 0xdc, 0x59, 0x85, 0x15, 0x7b, 0x72, 0xa5, 0x74,
0xff, 0x45, 0x05, 0xba, 0x0f, 0x85, 0x23, 0x3f, 0x08, 0x4f, 0x76, 0x83, 0x24, 0x8d, 0x62, 0xfd,
0x4c, 0xca, 0x75, 0x80, 0x24, 0xf5, 0x63, 0x79, 0xde, 0x13, 0x4a, 0xaa, 0x81, 0xe0, 0x1c, 0xf1,
0x70, 0x20, 0x72, 0x05, 0x6d, 0xe8, 0x74, 0xe1, 0x10, 0x20, 0x6d, 0x6e, 0x96, 0x2a, 0x7d, 0x4b,
0xdc, 0xf4, 0xc1, 0xc9, 0xe0, 0x67, 0xb4, 0x65, 0x0a, 0x43, 0x56, 0x0e, 0x75, 0x7e, 0xbf, 0x0a,
0x8b, 0x59, 0x27, 0x29, 0xc2, 0xcc, 0x16, 0xbc, 0x52, 0x7f, 0xce, 0x04, 0xaf, 0xf4, 0x8f, 0x79,
0x01, 0x2a, 0xd4, 0x86, 0xd9, 0xcd, 0x40, 0xd9, 0x4d, 0x68, 0xa9, 0x54, 0x34, 0x49, 0x8d, 0xf7,
0x0a, 0x4c, 0x58, 0xc4, 0xe3, 0xa3, 0x4a, 0x2f, 0x8f, 0x27, 0x32, 0x45, 0x77, 0x27, 0x47, 0x29,
0x7d, 0x29, 0xd6, 0x54, 0x25, 0x51, 0x36, 0xa1, 0x2e, 0x2c, 0xd6, 0x90, 0xf4, 0x60, 0x53, 0x47,
0x6c, 0xe8, 0x77, 0x9e, 0x34, 0xcf, 0x8b, 0x1a, 0xb3, 0xcb, 0x14, 0x75, 0xd7, 0x84, 0x94, 0xd9,
0x23, 0x9a, 0x18, 0x41, 0x01, 0x75, 0xd7, 0xc2, 0x9c, 0xdf, 0xab, 0xc0, 0x95, 0x92, 0x65, 0x94,
0x32, 0x60, 0x1b, 0x96, 0x8e, 0x75, 0xa6, 0x9a, 0x6a, 0x21, 0x08, 0x56, 0x95, 0xb4, 0xb5, 0xa7,
0xd7, 0x2d, 0x7e, 0xa0, 0x8f, 0x49, 0x62, 0xf1, 0xac, 0xbb, 0x33, 0xc5, 0x0c, 0xe7, 0x00, 0x7a,
0x3b, 0xaf, 0x50, 0xa4, 0x6c, 0x99, 0x8f, 0x76, 0x2a, 0xca, 0xda, 0x28, 0x88, 0xcc, 0x37, 0x5b,
0x5b, 0x8f, 0x61, 0xde, 0xaa, 0x8b, 0x7d, 0xe7, 0x6d, 0x2b, 0x31, 0xb9, 0xff, 0x86, 0x5c, 0x75,
0xf1, 0xea, 0xa8, 0xba, 0xc1, 0x63, 0x40, 0xce, 0x19, 0x2c, 0x3e, 0x99, 0x0c, 0xd3, 0x20, 0x7b,
0x81, 0x94, 0x7d, 0x4f, 0x7e, 0x44, 0x55, 0xa8, 0xa9, 0x2b, 0x6d, 0xca, 0x2c, 0x87, 0x33, 0x36,
0xc2, 0x9a, 0xbc, 0x62, 0x8b, 0xc5, 0x0c, 0xe7, 0x0a, 0xac, 0x65, 0x4d, 0x8a, 0xb9, 0x53, 0xdb,
0xce, 0x1f, 0x54, 0x44, 0x18, 0xaa, 0xfd, 0x20, 0x2a, 0x7b, 0x04, 0xcb, 0x49, 0x10, 0x9e, 0x0c,
0xb9, 0x59, 0x4f, 0x22, 0x67, 0xe2, 0xb2, 0xdd, 0x3d, 0xf9, 0x68, 0xaa, 0x5b, 0xf6, 0x05, 0x12,
0x48, 0x79, 0x47, 0x33, 0x02, 0xc9, 0x4d, 0x49, 0xd9, 0x00, 0x3e, 0x83, 0x05, 0xbb, 0x31, 0xf6,
0xb1, 0xbc, 0x78, 0x93, 0xf5, 0xcc, 0x74, 0x8f, 0xda, 0x94, 0x61, 0x95, 0x74, 0x7e, 0x5e, 0x81,
0xae, 0xcb, 0x91, 0x8c, 0xb9, 0xd1, 0xa8, 0xa4, 0x9e, 0x4f, 0x0b, 0xd5, 0x4e, 0x1f, 0xb0, 0xbe,
0xd0, 0xa3, 0xc6, 0xba, 0x3e, 0x75, 0x51, 0x76, 0x2f, 0x95, 0x8c, 0xea, 0x41, 0x03, 0x66, 0xe5,
0xf8, 0xd6, 0xe0, 0xb2, 0xec, 0x92, 0xea, 0x4e, 0xe6, 0x57, 0xb3, 0x1a, 0xb5, 0xfc, 0x6a, 0x3d,
0xe8, 0x8a, 0xd7, 0x70, 0xcc, 0x71, 0xc8, 0x0f, 0xb7, 0x81, 0x3d, 0xf1, 0xfb, 0x7e, 0x1c, 0x45,
0xe1, 0x01, 0x8f, 0x65, 0xdc, 0x20, 0x69, 0x8d, 0xe4, 0x76, 0x52, 0x0a, 0xae, 0x48, 0xa9, 0x07,
0x5c, 0xa2, 0x50, 0x3d, 0x94, 0x23, 0x52, 0x8e, 0x0b, 0xcb, 0x0f, 0xfc, 0x97, 0x5c, 0xd5, 0x94,
0xcd, 0x52, 0x6b, 0xac, 0x2b, 0x55, 0x73, 0xaf, 0xee, 0xd4, 0x15, 0x9b, 0x75, 0xcd, 0xd2, 0xce,
0x06, 0xac, 0xd8, 0x75, 0x4a, 0x51, 0xd2, 0x83, 0xc6, 0x48, 0x62, 0xb2, 0x77, 0x3a, 0x7d, 0xf7,
0x2b, 0x68, 0x19, 0x2f, 0x1c, 0xb1, 0x35, 0x58, 0x7e, 0xf1, 0xf8, 0xd9, 0xfe, 0xce, 0xe1, 0xa1,
0x77, 0xf0, 0xfc, 0xc1, 0xe7, 0x3b, 0x3f, 0xf4, 0x76, 0x37, 0x0f, 0x77, 0x3b, 0x97, 0xd8, 0x2a,
0xb0, 0xfd, 0x9d, 0xc3, 0x67, 0x3b, 0xdb, 0x16, 0x5e, 0x61, 0xd7, 0xa1, 0xf7, 0x7c, 0xff, 0xf9,
0xe1, 0xce, 0xb6, 0x57, 0xf6, 0x5d, 0x95, 0x5d, 0x83, 0x2b, 0x32, 0xbf, 0xe4, 0xf3, 0xda, 0xdd,
0x4f, 0xa1, 0x93, 0x37, 0x0f, 0x5a, 0x66, 0xd5, 0xd7, 0xd9, 0x5f, 0x37, 0x7e, 0x5e, 0x83, 0x05,
0x11, 0x18, 0x2c, 0x9e, 0x14, 0xe6, 0x31, 0x7b, 0x02, 0x73, 0xf2, 0x6d, 0x6a, 0xa6, 0x48, 0xcb,
0x7e, 0x0d, 0xbb, 0xb7, 0x9a, 0x87, 0xe5, 0xb2, 0x2e, 0xff, 0x95, 0x7f, 0xf7, 0xdf, 0xfe, 0x56,
0x75, 0x9e, 0xb5, 0xee, 0x9d, 0x7d, 0x78, 0xef, 0x84, 0x87, 0x09, 0xd6, 0xf1, 0x3b, 0x00, 0xd9,
0x8b, 0xcb, 0xac, 0xab, 0xad, 0x51, 0xb9, 0xe7, 0xa8, 0x7b, 0x57, 0x4a, 0x72, 0x64, 0xbd, 0x57,
0xa8, 0xde, 0x65, 0x67, 0x01, 0xeb, 0x0d, 0xc2, 0x20, 0x15, 0xaf, 0x2f, 0x7f, 0x52, 0xb9, 0xcb,
0x06, 0xd0, 0x36, 0xdf, 0x42, 0x66, 0xca, 0x4d, 0x5a, 0xf2, 0x9a, 0x73, 0xef, 0x9d, 0xd2, 0x3c,
0x45, 0xcb, 0xd4, 0xc6, 0x65, 0xa7, 0x83, 0x6d, 0x4c, 0xa8, 0x44, 0xd6, 0xca, 0x50, 0x70, 0x78,
0xf6, 0xe4, 0x31, 0xbb, 0x6a, 0x30, 0x5d, 0xe1, 0xc1, 0xe5, 0xde, 0xb5, 0x29, 0xb9, 0xb2, 0xad,
0x6b, 0xd4, 0xd6, 0x9a, 0xc3, 0xb0, 0xad, 0x3e, 0x95, 0x51, 0x0f, 0x2e, 0x7f, 0x52, 0xb9, 0xbb,
0xf1, 0xaf, 0x6f, 0x43, 0x53, 0x87, 0x50, 0xb0, 0x9f, 0xc2, 0xbc, 0x15, 0xb9, 0xcd, 0xd4, 0x30,
0xca, 0x02, 0xbd, 0x7b, 0x57, 0xcb, 0x33, 0x65, 0xc3, 0xd7, 0xa9, 0xe1, 0x2e, 0x5b, 0xc5, 0x86,
0x65, 0xe8, 0xf3, 0x3d, 0xba, 0x83, 0x20, 0xae, 0x3c, 0xbf, 0x34, 0x24, 0x99, 0x68, 0xec, 0x6a,
0x5e, 0xb8, 0x58, 0xad, 0x5d, 0x9b, 0x92, 0x2b, 0x9b, 0xbb, 0x4a, 0xcd, 0xad, 0xb2, 0x15, 0xb3,
0x39, 0x1d, 0xd6, 0xc0, 0xe9, 0x9e, 0xbf, 0xf9, 0x1a, 0x30, 0xbb, 0xa6, 0x09, 0xab, 0xec, 0x95,
0x60, 0x4d, 0x22, 0xc5, 0xa7, 0x82, 0x9d, 0x2e, 0x35, 0xc5, 0x18, 0x2d, 0x9f, 0xf9, 0x18, 0x30,
0x3b, 0x82, 0x96, 0xf1, 0xd8, 0x1e, 0xbb, 0x32, 0xf5, 0x61, 0xc0, 0x5e, 0xaf, 0x2c, 0xab, 0x6c,
0x28, 0x66, 0xfd, 0xf7, 0x50, 0xd1, 0xf9, 0x31, 0x34, 0xf5, 0xf3, 0x6d, 0x6c, 0xcd, 0x78, 0x4e,
0xcf, 0x7c, 0x6e, 0xae, 0xd7, 0x2d, 0x66, 0x94, 0x11, 0x9f, 0x59, 0x3b, 0x12, 0xdf, 0x0b, 0x68,
0x19, 0x4f, 0xb4, 0xe9, 0x01, 0x14, 0x9f, 0x81, 0xd3, 0x03, 0x28, 0x79, 0xd1, 0xcd, 0x59, 0xa2,
0x26, 0x5a, 0xac, 0x49, 0xf4, 0x9d, 0xbe, 0x8a, 0x12, 0xb6, 0x07, 0x97, 0xa5, 0xc4, 0x3e, 0xe2,
0x5f, 0x67, 0x19, 0x4a, 0x1e, 0x60, 0xbe, 0x5f, 0x61, 0x9f, 0x42, 0x43, 0xbd, 0xc4, 0xc7, 0x56,
0xcb, 0x5f, 0x14, 0xec, 0xad, 0x15, 0x70, 0x29, 0x5e, 0x7f, 0x08, 0x90, 0xbd, 0x07, 0xa7, 0x85,
0x44, 0xe1, 0x7d, 0x39, 0x4d, 0x01, 0xc5, 0xc7, 0xe3, 0x9c, 0x55, 0x1a, 0x60, 0x87, 0x91, 0x90,
0x08, 0xf9, 0xb9, 0x7a, 0xd2, 0xe3, 0x27, 0xd0, 0x32, 0x9e, 0x84, 0xd3, 0xd3, 0x57, 0x7c, 0x4e,
0x4e, 0x4f, 0x5f, 0xc9, 0x0b, 0x72, 0x4e, 0x8f, 0x6a, 0x5f, 0x71, 0x16, 0xb1, 0xf6, 0x24, 0x38,
0x09, 0x47, 0xa2, 0x00, 0x2e, 0xd0, 0x29, 0xcc, 0x5b, 0xef, 0xbe, 0x69, 0x0e, 0x2d, 0x7b, 0x55,
0x4e, 0x73, 0x68, 0xe9, 0x53, 0x71, 0x8a, 0xce, 0x9c, 0x25, 0x6c, 0xe7, 0x8c, 0x8a, 0x18, 0x2d,
0xfd, 0x08, 0x5a, 0xc6, 0x1b, 0x6e, 0x7a, 0x2c, 0xc5, 0xe7, 0xe2, 0xf4, 0x58, 0xca, 0x9e, 0x7c,
0x5b, 0xa1, 0x36, 0x16, 0x1c, 0x22, 0x05, 0x7a, 0x9c, 0x02, 0xeb, 0xfe, 0x29, 0x2c, 0xd8, 0xaf,
0xba, 0x69, 0xde, 0x2f, 0x7d, 0x1f, 0x4e, 0xf3, 0xfe, 0x94, 0xa7, 0xe0, 0x24, 0x49, 0xdf, 0x5d,
0xd6, 0x8d, 0xdc, 0xfb, 0x52, 0x06, 0x61, 0x7e, 0xc5, 0xbe, 0x8f, 0x02, 0x4e, 0xbe, 0x16, 0xc2,
0xd6, 0x0c, 0xaa, 0x35, 0xdf, 0x14, 0xd1, 0xfc, 0x52, 0x78, 0x58, 0xc4, 0x26, 0x66, 0xf1, 0xbc,
0x06, 0xed, 0x5a, 0xf4, 0x6a, 0x88, 0xb1, 0x6b, 0x99, 0x0f, 0x8b, 0x18, 0xbb, 0x96, 0xf5, 0xb8,
0x48, 0x7e, 0xd7, 0x4a, 0x03, 0xac, 0x23, 0x84, 0xc5, 0xdc, 0xed, 0x32, 0xcd, 0x15, 0xe5, 0x17,
0x80, 0x7b, 0xd7, 0x5f, 0x7f, 0x29, 0xcd, 0x96, 0x20, 0x4a, 0x08, 0xde, 0x53, 0xd7, 0xad, 0x7f,
0x17, 0xda, 0xe6, 0x4b, 0x53, 0xcc, 0x64, 0xe5, 0x7c, 0x4b, 0xef, 0x94, 0xe6, 0xd9, 0x8b, 0xcb,
0xda, 0x66, 0x33, 0xec, 0x07, 0xb0, 0xaa, 0x59, 0xdd, 0xbc, 0xb0, 0x94, 0xb0, 0x77, 0x4b, 0xae,
0x31, 0x99, 0x7a, 0x5c, 0xef, 0xca, 0xd4, 0x7b, 0x4e, 0xf7, 0x2b, 0x48, 0x34, 0xf6, 0xf3, 0x3d,
0xd9, 0x86, 0x51, 0xf6, 0x6a, 0x51, 0xb6, 0x61, 0x94, 0xbe, 0xf9, 0xa3, 0x88, 0x86, 0x2d, 0x5b,
0x73, 0x24, 0xe2, 0x55, 0xd8, 0x8f, 0x60, 0xd1, 0xb8, 0x12, 0x7a, 0x78, 0x11, 0xf6, 0x35, 0x03,
0x14, 0x5f, 0x2c, 0xe8, 0x95, 0x9d, 0x52, 0x9c, 0x35, 0xaa, 0x7f, 0xc9, 0xb1, 0x26, 0x07, 0x89,
0x7f, 0x0b, 0x5a, 0xe6, 0x75, 0xd3, 0xd7, 0xd4, 0xbb, 0x66, 0x64, 0x99, 0x97, 0xed, 0xef, 0x57,
0xd8, 0x81, 0x88, 0x5b, 0xd4, 0x4f, 0x09, 0x47, 0x71, 0x7e, 0xfb, 0xb4, 0x9f, 0x18, 0xd6, 0x0b,
0x59, 0xf6, 0xb8, 0xf4, 0x9d, 0xca, 0xfd, 0x0a, 0xfb, 0x7b, 0x15, 0x68, 0x5b, 0xd7, 0x41, 0xad,
0x28, 0xb0, 0x5c, 0xcf, 0xba, 0x66, 0x9e, 0xd9, 0x35, 0xc7, 0xa5, 0x61, 0xef, 0xdd, 0xfd, 0xcc,
0x9a, 0xd6, 0x2f, 0x2d, 0x53, 0xdd, 0x7a, 0xfe, 0x3d, 0xe1, 0xaf, 0xf2, 0x05, 0xcc, 0x77, 0x22,
0xbe, 0xba, 0x5f, 0x61, 0x7f, 0x58, 0x81, 0x05, 0xdb, 0x76, 0xae, 0x87, 0x5b, 0x6a, 0xa5, 0xd7,
0x8b, 0x3f, 0xc5, 0xe0, 0xfe, 0x23, 0xea, 0xe5, 0xb3, 0xbb, 0xae, 0xd5, 0x4b, 0xf9, 0x54, 0xd4,
0xaf, 0xd6, 0x5b, 0xf6, 0x89, 0x78, 0xa6, 0x5f, 0xb9, 0x0d, 0x59, 0xf1, 0x59, 0x77, 0x4d, 0x30,
0xe6, 0xe3, 0xe9, 0xb4, 0x08, 0x3f, 0x11, 0xef, 0xe8, 0x2a, 0xdf, 0x13, 0xd2, 0xdd, 0xdb, 0x7e,
0xef, 0xdc, 0xa4, 0x31, 0x5d, 0x77, 0xae, 0x58, 0x63, 0xca, 0xef, 0xf0, 0x9b, 0xa2, 0x77, 0xf2,
0xdd, 0xf3, 0x6c, 0x8b, 0x2a, 0xbc, 0x85, 0x3e, 0xbd, 0x93, 0x23, 0xd1, 0x49, 0x59, 0xdc, 0x62,
0x8e, 0xb7, 0xac, 0xc6, 0xb9, 0x4b, 0x7d, 0xbd, 0xe9, 0xbc, 0x3b, 0xb5, 0xaf, 0xf7, 0xc8, 0x02,
0x8e, 0x3d, 0x3e, 0x00, 0xc8, 0xdc, 0xfc, 0x2c, 0xe7, 0x62, 0xd6, 0x22, 0xa3, 0x18, 0x09, 0x60,
0x73, 0xa0, 0xf2, 0x44, 0x63, 0x8d, 0x3f, 0x16, 0x02, 0xf0, 0xb1, 0x72, 0x4e, 0x9b, 0x6a, 0x8e,
0xed, 0x8b, 0xb7, 0xd4, 0x9c, 0x7c, 0xfd, 0x96, 0xf8, 0xd3, 0x9e, 0xee, 0xe7, 0x30, 0xbf, 0x17,
0x45, 0x2f, 0x27, 0x63, 0x1d, 0xa0, 0x65, 0x3b, 0xa7, 0x76, 0xfd, 0xe4, 0xb4, 0x97, 0x1b, 0x85,
0x73, 0x83, 0xaa, 0xea, 0xb1, 0xae, 0x51, 0xd5, 0xbd, 0x2f, 0xb3, 0x10, 0x82, 0xaf, 0x98, 0x0f,
0x4b, 0x5a, 0xaa, 0xea, 0x8e, 0xf7, 0xec, 0x6a, 0x2c, 0x59, 0x9a, 0x6f, 0xc2, 0xd2, 0xc7, 0x55,
0x6f, 0xef, 0x25, 0xaa, 0x4e, 0x92, 0x29, 0xed, 0x6d, 0xde, 0xa7, 0x9b, 0x62, 0xe4, 0xe1, 0x59,
0xce, 0x3a, 0xae, 0x5d, 0x43, 0xbd, 0x79, 0x0b, 0xb4, 0x77, 0x9a, 0xb1, 0x7f, 0x11, 0xf3, 0x2f,
0xee, 0x7d, 0x29, 0x7d, 0x47, 0x5f, 0xa9, 0x9d, 0x46, 0x39, 0xd7, 0xac, 0x9d, 0x26, 0xe7, 0x8d,
0xb3, 0x76, 0x9a, 0x82, 0x37, 0xce, 0x9a, 0x6a, 0xe5, 0xdc, 0x63, 0x43, 0x58, 0x2a, 0x38, 0xf0,
0xf4, 0x26, 0x33, 0xcd, 0xed, 0xd7, 0xbb, 0x31, 0xbd, 0x80, 0xdd, 0xda, 0x5d, 0xbb, 0xb5, 0x43,
0x98, 0xdf, 0xe6, 0x62, 0xb2, 0x44, 0x44, 0x7a, 0xee, 0x4e, 0xb1, 0x19, 0xef, 0x9e, 0xdf, 0x12,
0x28, 0xcf, 0x56, 0x25, 0x28, 0x14, 0x9c, 0xfd, 0x18, 0x5a, 0x8f, 0x78, 0xaa, 0x42, 0xd0, 0xb5,
0x32, 0x9b, 0x8b, 0x49, 0xef, 0x95, 0x44, 0xb0, 0xdb, 0x34, 0x43, 0xb5, 0xdd, 0xe3, 0x83, 0x13,
0x2e, 0x84, 0x93, 0x17, 0x0c, 0xbe, 0x62, 0x7f, 0x91, 0x2a, 0xd7, 0x77, 0x70, 0x56, 0x8d, 0x78,
0x62, 0xb3, 0xf2, 0xc5, 0x1c, 0x5e, 0x56, 0x73, 0x18, 0x0d, 0xb8, 0xa1, 0x54, 0x85, 0xd0, 0x32,
0xee, 0xf0, 0x69, 0x06, 0x2a, 0x5e, 0x79, 0xd4, 0x0c, 0x54, 0x72, 0xe5, 0xcf, 0xb9, 0x43, 0xed,
0x38, 0xec, 0x46, 0xd6, 0x8e, 0xb8, 0xe6, 0x97, 0xb5, 0x74, 0xef, 0x4b, 0x7f, 0x94, 0x7e, 0xc5,
0x5e, 0xd0, 0xd3, 0x6d, 0x66, 0x88, 0x7d, 0xa6, 0x9d, 0xe7, 0xa3, 0xf1, 0xf5, 0x64, 0x19, 0x59,
0xb6, 0xc6, 0x2e, 0x9a, 0x22, 0xdd, 0xeb, 0x7b, 0x00, 0x87, 0x69, 0x34, 0xde, 0xf6, 0xf9, 0x28,
0x0a, 0x33, 0x59, 0x9b, 0x05, 0x78, 0x67, 0xf2, 0xcb, 0x88, 0xf2, 0x66, 0x2f, 0x8c, 0xe3, 0x8c,
0x75, 0x4b, 0x41, 0x11, 0xd7, 0xd4, 0x18, 0x70, 0x3d, 0x21, 0x25, 0x71, 0xe0, 0xf7, 0x2b, 0x6c,
0x13, 0x20, 0xf3, 0xe0, 0xea, 0xc3, 0x49, 0xc1, 0x39, 0xac, 0xc5, 0x5e, 0x89, 0xbb, 0xf7, 0x00,
0x9a, 0x99, 0xdf, 0x6c, 0x2d, 0xbb, 0xd1, 0x6b, 0x79, 0xd9, 0xf4, 0x0e, 0x5e, 0xf0, 0x66, 0x39,
0x1d, 0x9a, 0x2a, 0x60, 0x0d, 0x9c, 0x2a, 0x72, 0x51, 0x05, 0xb0, 0x2c, 0x3a, 0xa8, 0x15, 0x1c,
0x0a, 0x4c, 0x56, 0x23, 0x29, 0xf1, 0x28, 0x69, 0x6e, 0x2e, 0x75, 0x88, 0x58, 0x36, 0x16, 0xa4,
0x56, 0x11, 0x14, 0x8d, 0xa2, 0x79, 0x04, 0x4b, 0x05, 0x1b, 0xbb, 0x66, 0xe9, 0x69, 0x4e, 0x14,
0xcd, 0xd2, 0x53, 0xcd, 0xf3, 0xce, 0x65, 0x6a, 0x72, 0xd1, 0x01, 0x3a, 0x53, 0x9d, 0x07, 0x69,
0xff, 0x14, 0x9b, 0xfb, 0x83, 0x0a, 0x2c, 0x97, 0x98, 0xd0, 0xd9, 0x7b, 0xea, 0x78, 0x3e, 0xd5,
0xbc, 0xde, 0x2b, 0xb5, 0xb0, 0x3a, 0x87, 0xd4, 0xce, 0x13, 0xf6, 0xb9, 0xb5, 0xb1, 0x09, 0xe3,
0xa6, 0xe4, 0xcc, 0xd7, 0x2a, 0x15, 0xa5, 0x1a, 0xc5, 0x17, 0xb0, 0x26, 0x3a, 0xb2, 0x39, 0x1c,
0xe6, 0xac, 0xbf, 0xd7, 0x0b, 0xff, 0xca, 0xcb, 0xb2, 0x6a, 0xf7, 0xa6, 0xff, 0xab, 0xaf, 0x29,
0x0a, 0xb0, 0xe8, 0x2a, 0x9b, 0x40, 0x27, 0x6f, 0x51, 0x65, 0xd3, 0xeb, 0xea, 0xbd, 0x6b, 0x1d,
0x34, 0x4b, 0xac, 0xb0, 0xdf, 0xa4, 0xc6, 0xde, 0x75, 0x7a, 0x65, 0xf3, 0x22, 0xce, 0x9e, 0xb8,
0x1e, 0x7f, 0x59, 0x9b, 0x7f, 0x73, 0xe3, 0x54, 0x0d, 0x4c, 0xb3, 0x57, 0xeb, 0xa3, 0x6e, 0xb9,
0xf5, 0xf8, 0x16, 0x35, 0x7f, 0xc3, 0x79, 0xa7, 0xac, 0xf9, 0x58, 0x7c, 0x22, 0x0e, 0xbd, 0x6b,
0x79, 0xbe, 0x56, 0x3d, 0xb8, 0x51, 0xb6, 0xde, 0x53, 0x4f, 0x2f, 0xb9, 0xb9, 0xbe, 0x44, 0xba,
0x5d, 0xdb, 0x34, 0xf7, 0x6a, 0xf6, 0x29, 0xb1, 0x2b, 0x6b, 0xf6, 0x29, 0xb3, 0x0f, 0xdb, 0x7a,
0x8d, 0xb2, 0x0c, 0x7f, 0x52, 0xb9, 0xfb, 0xe0, 0xf6, 0x8f, 0xbe, 0x79, 0x12, 0xa4, 0xa7, 0x93,
0xa3, 0xf5, 0x7e, 0x34, 0xba, 0x37, 0x54, 0x66, 0x3d, 0x79, 0x59, 0xe7, 0xde, 0x30, 0x1c, 0xdc,
0xa3, 0x6a, 0x8f, 0x66, 0xe9, 0x7f, 0x0f, 0x7e, 0xe7, 0xff, 0x06, 0x00, 0x00, 0xff, 0xff, 0x55,
0x01, 0x55, 0xb7, 0xad, 0x70, 0x00, 0x00,
}
// Reference imports to suppress errors if they are not otherwise used.

View File

@ -2686,6 +2686,12 @@ message PolicyUpdateRequest {
/// If set, the maximum HTLC size in milli-satoshis. If unset, the maximum HTLC will be unchanged.
uint64 max_htlc_msat = 6 [json_name = "max_htlc_msat"];
/// The minimum HTLC size in milli-satoshis. Only applied if min_htlc_msat_specified is true.
uint64 min_htlc_msat = 7 [json_name = "min_htlc_msat"];
/// If true, min_htlc_msat is applied.
bool min_htlc_msat_specified = 8 [json_name = "set_min_htlc_msat"];
}
message PolicyUpdateResponse {
}

View File

@ -3538,6 +3538,16 @@
"type": "string",
"format": "uint64",
"description": "/ If set, the maximum HTLC size in milli-satoshis. If unset, the maximum HTLC will be unchanged."
},
"min_htlc_msat": {
"type": "string",
"format": "uint64",
"description": "/ The minimum HTLC size in milli-satoshis. Only applied if min_htlc_msat_specified is true."
},
"min_htlc_msat_specified": {
"type": "boolean",
"format": "boolean",
"description": "/ If true, min_htlc_msat is applied."
}
}
},

4
log.go
View File

@ -31,6 +31,7 @@ import (
"github.com/lightningnetwork/lnd/netann"
"github.com/lightningnetwork/lnd/peernotifier"
"github.com/lightningnetwork/lnd/routing"
"github.com/lightningnetwork/lnd/routing/localchans"
"github.com/lightningnetwork/lnd/signal"
"github.com/lightningnetwork/lnd/sweep"
"github.com/lightningnetwork/lnd/watchtower"
@ -79,7 +80,6 @@ func init() {
addSubLogger("CHDB", channeldb.UseLogger)
addSubLogger("HSWC", htlcswitch.UseLogger)
addSubLogger("CMGR", connmgr.UseLogger)
addSubLogger("CRTR", routing.UseLogger)
addSubLogger("BTCN", neutrino.UseLogger)
addSubLogger("CNCT", contractcourt.UseLogger)
addSubLogger("SPHX", sphinx.UseLogger)
@ -99,6 +99,8 @@ func init() {
addSubLogger("PRNF", peernotifier.UseLogger)
addSubLogger("CHFD", chanfunding.UseLogger)
addSubLogger(routing.Subsystem, routing.UseLogger)
addSubLogger(routing.Subsystem, localchans.UseLogger)
addSubLogger(routerrpc.Subsystem, routerrpc.UseLogger)
addSubLogger(wtclientrpc.Subsystem, wtclientrpc.UseLogger)
addSubLogger(chanfitness.Subsystem, chanfitness.UseLogger)

View File

@ -531,7 +531,7 @@ func (p *peer) loadActiveChannels(chans []*channeldb.OpenChannel) (
var forwardingPolicy *htlcswitch.ForwardingPolicy
if selfPolicy != nil {
forwardingPolicy = &htlcswitch.ForwardingPolicy{
MinHTLC: selfPolicy.MinHTLC,
MinHTLCOut: selfPolicy.MinHTLC,
MaxHTLC: selfPolicy.MaxHTLC,
BaseFee: selfPolicy.FeeBaseMSat,
FeeRate: selfPolicy.FeeProportionalMillionths,
@ -1862,7 +1862,7 @@ out:
fwdMinHtlc := lnChan.FwdMinHtlc()
defaultPolicy := p.server.cc.routingPolicy
forwardingPolicy := &htlcswitch.ForwardingPolicy{
MinHTLC: fwdMinHtlc,
MinHTLCOut: fwdMinHtlc,
MaxHTLC: newChan.LocalChanCfg.MaxPendingAmount,
BaseFee: defaultPolicy.BaseFee,
FeeRate: defaultPolicy.FeeRate,

View File

@ -70,10 +70,11 @@ func validateAtplCfg(cfg *autoPilotConfig) ([]*autopilot.WeightedHeuristic,
// chanController is an implementation of the autopilot.ChannelController
// interface that's backed by a running lnd instance.
type chanController struct {
server *server
private bool
minConfs int32
confTarget uint32
server *server
private bool
minConfs int32
confTarget uint32
chanMinHtlcIn lnwire.MilliSatoshi
}
// OpenChannel opens a channel to a target peer, with a capacity of the
@ -91,9 +92,6 @@ func (c *chanController) OpenChannel(target *btcec.PublicKey,
return err
}
// TODO(halseth): make configurable?
minHtlc := lnwire.NewMSatFromSatoshis(1)
// Construct the open channel request and send it to the server to begin
// the funding workflow.
req := &openChanReq{
@ -102,7 +100,7 @@ func (c *chanController) OpenChannel(target *btcec.PublicKey,
subtractFees: true,
localFundingAmt: amt,
pushAmt: 0,
minHtlc: minHtlc,
minHtlcIn: c.chanMinHtlcIn,
fundingFeePerKw: feePerKw,
private: c.private,
remoteCsvDelay: 0,
@ -136,11 +134,13 @@ func (c *chanController) SpliceOut(chanPoint *wire.OutPoint,
// autopilot.ChannelController interface.
var _ autopilot.ChannelController = (*chanController)(nil)
// initAutoPilot initializes a new autopilot.ManagerCfg to manage an
// autopilot.Agent instance based on the passed configuration struct. The agent
// and all interfaces needed to drive it won't be launched before the Manager's
// initAutoPilot initializes a new autopilot.ManagerCfg to manage an autopilot.
// Agent instance based on the passed configuration structs. The agent and all
// interfaces needed to drive it won't be launched before the Manager's
// StartAgent method is called.
func initAutoPilot(svr *server, cfg *autoPilotConfig) (*autopilot.ManagerCfg, error) {
func initAutoPilot(svr *server, cfg *autoPilotConfig, chainCfg *chainConfig) (
*autopilot.ManagerCfg, error) {
atplLog.Infof("Instantiating autopilot with max_channels=%d, allocation=%f, "+
"min_chan_size=%d, max_chan_size=%d, private=%t, min_confs=%d, "+
"conf_target=%d", cfg.MaxChannels, cfg.Allocation, cfg.MinChannelSize,
@ -173,10 +173,11 @@ func initAutoPilot(svr *server, cfg *autoPilotConfig) (*autopilot.ManagerCfg, er
Self: self,
Heuristic: weightedAttachment,
ChanController: &chanController{
server: svr,
private: cfg.Private,
minConfs: cfg.MinConfs,
confTarget: cfg.ConfTarget,
server: svr,
private: cfg.Private,
minConfs: cfg.MinConfs,
confTarget: cfg.ConfTarget,
chanMinHtlcIn: chainCfg.MinHTLCIn,
},
WalletBalance: func() (btcutil.Amount, error) {
return svr.cc.wallet.ConfirmedBalance(cfg.MinConfs)

16
routing/localchans/log.go Normal file
View File

@ -0,0 +1,16 @@
package localchans
import (
"github.com/btcsuite/btclog"
)
// log is a logger that is initialized with no output filters. This
// means the package will not perform any logging by default until the caller
// requests it.
var log btclog.Logger
// UseLogger uses a specified Logger to output package logging info. This
// function is called from the parent package htlcswitch logger initialization.
func UseLogger(logger btclog.Logger) {
log = logger
}

View File

@ -79,6 +79,9 @@ func (r *Manager) UpdatePolicy(newSchema routing.ChannelPolicy,
// Apply the new policy to the edge.
err := r.updateEdge(info.ChannelPoint, edge, newSchema)
if err != nil {
log.Warnf("Cannot update policy for %v: %v\n",
info.ChannelPoint, err,
)
return nil
}
@ -93,7 +96,7 @@ func (r *Manager) UpdatePolicy(newSchema routing.ChannelPolicy,
BaseFee: edge.FeeBaseMSat,
FeeRate: edge.FeeProportionalMillionths,
TimeLockDelta: uint32(edge.TimeLockDelta),
MinHTLC: edge.MinHTLC,
MinHTLCOut: edge.MinHTLC,
MaxHTLC: edge.MaxHTLC,
}
@ -157,6 +160,11 @@ func (r *Manager) updateEdge(chanPoint wire.OutPoint,
edge.MaxHTLC = amtMax
}
// If a new min htlc is specified, update the edge.
if newSchema.MinHTLC != nil {
edge.MinHTLC = *newSchema.MinHTLC
}
// If the MaxHtlc flag wasn't already set, we can set it now.
edge.MessageFlags |= lnwire.ChanUpdateOptionMaxHtlc

View File

@ -11,9 +11,11 @@ import (
// it.
var log btclog.Logger
const Subsystem = "CRTR"
// The default amount of logging is none.
func init() {
UseLogger(build.NewSubLogger("CRTR", nil))
UseLogger(build.NewSubLogger(Subsystem, nil))
}
// DisableLog disables all library log output. Logging output is disabled by

View File

@ -224,6 +224,10 @@ type ChannelPolicy struct {
// MaxHTLC is the maximum HTLC size including fees we are allowed to
// forward over this channel.
MaxHTLC lnwire.MilliSatoshi
// MinHTLC is the minimum HTLC size including fees we are allowed to
// forward over this channel.
MinHTLC *lnwire.MilliSatoshi
}
// Config defines the configuration for the ChannelRouter. ALL elements within

View File

@ -1449,7 +1449,7 @@ func (r *rpcServer) OpenChannel(in *lnrpc.OpenChannelRequest,
localFundingAmt := btcutil.Amount(in.LocalFundingAmount)
remoteInitialBalance := btcutil.Amount(in.PushSat)
minHtlc := lnwire.MilliSatoshi(in.MinHtlcMsat)
minHtlcIn := lnwire.MilliSatoshi(in.MinHtlcMsat)
remoteCsvDelay := uint16(in.RemoteCsvDelay)
// Ensure that the initial balance of the remote party (if pushing
@ -1537,7 +1537,7 @@ func (r *rpcServer) OpenChannel(in *lnrpc.OpenChannelRequest,
chainHash: *activeNetParams.GenesisHash,
localFundingAmt: localFundingAmt,
pushAmt: lnwire.NewMSatFromSatoshis(remoteInitialBalance),
minHtlc: minHtlc,
minHtlcIn: minHtlcIn,
fundingFeePerKw: feeRate,
private: in.Private,
remoteCsvDelay: remoteCsvDelay,
@ -1631,7 +1631,7 @@ func (r *rpcServer) OpenChannelSync(ctx context.Context,
localFundingAmt := btcutil.Amount(in.LocalFundingAmount)
remoteInitialBalance := btcutil.Amount(in.PushSat)
minHtlc := lnwire.MilliSatoshi(in.MinHtlcMsat)
minHtlcIn := lnwire.MilliSatoshi(in.MinHtlcMsat)
remoteCsvDelay := uint16(in.RemoteCsvDelay)
// Ensure that the initial balance of the remote party (if pushing
@ -1679,7 +1679,7 @@ func (r *rpcServer) OpenChannelSync(ctx context.Context,
chainHash: *activeNetParams.GenesisHash,
localFundingAmt: localFundingAmt,
pushAmt: lnwire.NewMSatFromSatoshis(remoteInitialBalance),
minHtlc: minHtlc,
minHtlcIn: minHtlcIn,
fundingFeePerKw: feeRate,
private: in.Private,
remoteCsvDelay: remoteCsvDelay,
@ -4864,15 +4864,25 @@ func (r *rpcServer) UpdateChannelPolicy(ctx context.Context,
FeeRate: feeRateFixed,
}
maxHtlc := lnwire.MilliSatoshi(req.MaxHtlcMsat)
var minHtlc *lnwire.MilliSatoshi
if req.MinHtlcMsatSpecified {
min := lnwire.MilliSatoshi(req.MinHtlcMsat)
minHtlc = &min
}
chanPolicy := routing.ChannelPolicy{
FeeSchema: feeSchema,
TimeLockDelta: req.TimeLockDelta,
MaxHTLC: lnwire.MilliSatoshi(req.MaxHtlcMsat),
MaxHTLC: maxHtlc,
MinHTLC: minHtlc,
}
rpcsLog.Debugf("[updatechanpolicy] updating channel policy base_fee=%v, "+
"rate_float=%v, rate_fixed=%v, time_lock_delta: %v, targets=%v",
"rate_float=%v, rate_fixed=%v, time_lock_delta: %v, "+
"min_htlc=%v, max_htlc=%v, targets=%v",
req.BaseFeeMsat, req.FeeRate, feeRateFixed, req.TimeLockDelta,
minHtlc, maxHtlc,
spew.Sdump(targetChans))
// With the scope resolved, we'll now send this to the local channel

View File

@ -985,6 +985,7 @@ func newServer(listenAddrs []net.Addr, chanDB *channeldb.DB,
return nil, fmt.Errorf("unable to find channel")
},
DefaultRoutingPolicy: cc.routingPolicy,
DefaultMinHtlcIn: cc.minHtlcIn,
NumRequiredConfs: func(chanAmt btcutil.Amount,
pushAmt lnwire.MilliSatoshi) uint16 {
// For large channels we increase the number
@ -3084,7 +3085,8 @@ type openChanReq struct {
private bool
minHtlc lnwire.MilliSatoshi
// minHtlcIn is the minimum incoming htlc that we accept.
minHtlcIn lnwire.MilliSatoshi
remoteCsvDelay uint16