Merge pull request #3972 from joostjager/notify-htlc-arrival
routing: extend trackpayment with htlc events
This commit is contained in:
commit
3ad7ab223e
@ -186,38 +186,39 @@ func (p *PaymentControl) InitPayment(paymentHash lntypes.Hash,
|
|||||||
// RegisterAttempt atomically records the provided HTLCAttemptInfo to the
|
// RegisterAttempt atomically records the provided HTLCAttemptInfo to the
|
||||||
// DB.
|
// DB.
|
||||||
func (p *PaymentControl) RegisterAttempt(paymentHash lntypes.Hash,
|
func (p *PaymentControl) RegisterAttempt(paymentHash lntypes.Hash,
|
||||||
attempt *HTLCAttemptInfo) error {
|
attempt *HTLCAttemptInfo) (*MPPayment, error) {
|
||||||
|
|
||||||
// Serialize the information before opening the db transaction.
|
// Serialize the information before opening the db transaction.
|
||||||
var a bytes.Buffer
|
var a bytes.Buffer
|
||||||
err := serializeHTLCAttemptInfo(&a, attempt)
|
err := serializeHTLCAttemptInfo(&a, attempt)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return nil, err
|
||||||
}
|
}
|
||||||
htlcInfoBytes := a.Bytes()
|
htlcInfoBytes := a.Bytes()
|
||||||
|
|
||||||
htlcIDBytes := make([]byte, 8)
|
htlcIDBytes := make([]byte, 8)
|
||||||
binary.BigEndian.PutUint64(htlcIDBytes, attempt.AttemptID)
|
binary.BigEndian.PutUint64(htlcIDBytes, attempt.AttemptID)
|
||||||
|
|
||||||
return kvdb.Batch(p.db.Backend, func(tx kvdb.RwTx) error {
|
var payment *MPPayment
|
||||||
|
err = kvdb.Batch(p.db.Backend, func(tx kvdb.RwTx) error {
|
||||||
bucket, err := fetchPaymentBucketUpdate(tx, paymentHash)
|
bucket, err := fetchPaymentBucketUpdate(tx, paymentHash)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
payment, err := fetchPayment(bucket)
|
p, err := fetchPayment(bucket)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
// Ensure the payment is in-flight.
|
// Ensure the payment is in-flight.
|
||||||
if err := ensureInFlight(payment); err != nil {
|
if err := ensureInFlight(p); err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
// We cannot register a new attempt if the payment already has
|
// We cannot register a new attempt if the payment already has
|
||||||
// reached a terminal condition:
|
// reached a terminal condition:
|
||||||
settle, fail := payment.TerminalInfo()
|
settle, fail := p.TerminalInfo()
|
||||||
if settle != nil || fail != nil {
|
if settle != nil || fail != nil {
|
||||||
return ErrPaymentTerminal
|
return ErrPaymentTerminal
|
||||||
}
|
}
|
||||||
@ -225,7 +226,7 @@ func (p *PaymentControl) RegisterAttempt(paymentHash lntypes.Hash,
|
|||||||
// Make sure any existing shards match the new one with regards
|
// Make sure any existing shards match the new one with regards
|
||||||
// to MPP options.
|
// to MPP options.
|
||||||
mpp := attempt.Route.FinalHop().MPP
|
mpp := attempt.Route.FinalHop().MPP
|
||||||
for _, h := range payment.InFlightHTLCs() {
|
for _, h := range p.InFlightHTLCs() {
|
||||||
hMpp := h.Route.FinalHop().MPP
|
hMpp := h.Route.FinalHop().MPP
|
||||||
|
|
||||||
switch {
|
switch {
|
||||||
@ -258,13 +259,13 @@ func (p *PaymentControl) RegisterAttempt(paymentHash lntypes.Hash,
|
|||||||
// If this is a non-MPP attempt, it must match the total amount
|
// If this is a non-MPP attempt, it must match the total amount
|
||||||
// exactly.
|
// exactly.
|
||||||
amt := attempt.Route.ReceiverAmt()
|
amt := attempt.Route.ReceiverAmt()
|
||||||
if mpp == nil && amt != payment.Info.Value {
|
if mpp == nil && amt != p.Info.Value {
|
||||||
return ErrValueMismatch
|
return ErrValueMismatch
|
||||||
}
|
}
|
||||||
|
|
||||||
// Ensure we aren't sending more than the total payment amount.
|
// Ensure we aren't sending more than the total payment amount.
|
||||||
sentAmt, _ := payment.SentAmt()
|
sentAmt, _ := p.SentAmt()
|
||||||
if sentAmt+amt > payment.Info.Value {
|
if sentAmt+amt > p.Info.Value {
|
||||||
return ErrValueExceedsAmt
|
return ErrValueExceedsAmt
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -282,8 +283,20 @@ func (p *PaymentControl) RegisterAttempt(paymentHash lntypes.Hash,
|
|||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
return htlcBucket.Put(htlcAttemptInfoKey, htlcInfoBytes)
|
err = htlcBucket.Put(htlcAttemptInfoKey, htlcInfoBytes)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
// Retrieve attempt info for the notification.
|
||||||
|
payment, err = fetchPayment(bucket)
|
||||||
|
return err
|
||||||
})
|
})
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
|
||||||
|
return payment, err
|
||||||
}
|
}
|
||||||
|
|
||||||
// SettleAttempt marks the given attempt settled with the preimage. If this is
|
// SettleAttempt marks the given attempt settled with the preimage. If this is
|
||||||
@ -307,16 +320,15 @@ func (p *PaymentControl) SettleAttempt(hash lntypes.Hash,
|
|||||||
|
|
||||||
// FailAttempt marks the given payment attempt failed.
|
// FailAttempt marks the given payment attempt failed.
|
||||||
func (p *PaymentControl) FailAttempt(hash lntypes.Hash,
|
func (p *PaymentControl) FailAttempt(hash lntypes.Hash,
|
||||||
attemptID uint64, failInfo *HTLCFailInfo) error {
|
attemptID uint64, failInfo *HTLCFailInfo) (*MPPayment, error) {
|
||||||
|
|
||||||
var b bytes.Buffer
|
var b bytes.Buffer
|
||||||
if err := serializeHTLCFailInfo(&b, failInfo); err != nil {
|
if err := serializeHTLCFailInfo(&b, failInfo); err != nil {
|
||||||
return err
|
return nil, err
|
||||||
}
|
}
|
||||||
failBytes := b.Bytes()
|
failBytes := b.Bytes()
|
||||||
|
|
||||||
_, err := p.updateHtlcKey(hash, attemptID, htlcFailInfoKey, failBytes)
|
return p.updateHtlcKey(hash, attemptID, htlcFailInfoKey, failBytes)
|
||||||
return err
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// updateHtlcKey updates a database key for the specified htlc.
|
// updateHtlcKey updates a database key for the specified htlc.
|
||||||
|
@ -117,13 +117,13 @@ func TestPaymentControlSwitchFail(t *testing.T) {
|
|||||||
// Record a new attempt. In this test scenario, the attempt fails.
|
// Record a new attempt. In this test scenario, the attempt fails.
|
||||||
// However, this is not communicated to control tower in the current
|
// However, this is not communicated to control tower in the current
|
||||||
// implementation. It only registers the initiation of the attempt.
|
// implementation. It only registers the initiation of the attempt.
|
||||||
err = pControl.RegisterAttempt(info.PaymentHash, attempt)
|
_, err = pControl.RegisterAttempt(info.PaymentHash, attempt)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("unable to register attempt: %v", err)
|
t.Fatalf("unable to register attempt: %v", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
htlcReason := HTLCFailUnreadable
|
htlcReason := HTLCFailUnreadable
|
||||||
err = pControl.FailAttempt(
|
_, err = pControl.FailAttempt(
|
||||||
info.PaymentHash, attempt.AttemptID,
|
info.PaymentHash, attempt.AttemptID,
|
||||||
&HTLCFailInfo{
|
&HTLCFailInfo{
|
||||||
Reason: htlcReason,
|
Reason: htlcReason,
|
||||||
@ -143,7 +143,7 @@ func TestPaymentControlSwitchFail(t *testing.T) {
|
|||||||
|
|
||||||
// Record another attempt.
|
// Record another attempt.
|
||||||
attempt.AttemptID = 1
|
attempt.AttemptID = 1
|
||||||
err = pControl.RegisterAttempt(info.PaymentHash, attempt)
|
_, err = pControl.RegisterAttempt(info.PaymentHash, attempt)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("unable to send htlc message: %v", err)
|
t.Fatalf("unable to send htlc message: %v", err)
|
||||||
}
|
}
|
||||||
@ -236,7 +236,7 @@ func TestPaymentControlSwitchDoubleSend(t *testing.T) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Record an attempt.
|
// Record an attempt.
|
||||||
err = pControl.RegisterAttempt(info.PaymentHash, attempt)
|
_, err = pControl.RegisterAttempt(info.PaymentHash, attempt)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("unable to send htlc message: %v", err)
|
t.Fatalf("unable to send htlc message: %v", err)
|
||||||
}
|
}
|
||||||
@ -375,7 +375,7 @@ func TestPaymentControlDeleteNonInFligt(t *testing.T) {
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("unable to send htlc message: %v", err)
|
t.Fatalf("unable to send htlc message: %v", err)
|
||||||
}
|
}
|
||||||
err = pControl.RegisterAttempt(info.PaymentHash, attempt)
|
_, err = pControl.RegisterAttempt(info.PaymentHash, attempt)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("unable to send htlc message: %v", err)
|
t.Fatalf("unable to send htlc message: %v", err)
|
||||||
}
|
}
|
||||||
@ -387,7 +387,7 @@ func TestPaymentControlDeleteNonInFligt(t *testing.T) {
|
|||||||
if p.failed {
|
if p.failed {
|
||||||
// Fail the payment attempt.
|
// Fail the payment attempt.
|
||||||
htlcFailure := HTLCFailUnreadable
|
htlcFailure := HTLCFailUnreadable
|
||||||
err := pControl.FailAttempt(
|
_, err := pControl.FailAttempt(
|
||||||
info.PaymentHash, attempt.AttemptID,
|
info.PaymentHash, attempt.AttemptID,
|
||||||
&HTLCFailInfo{
|
&HTLCFailInfo{
|
||||||
Reason: htlcFailure,
|
Reason: htlcFailure,
|
||||||
@ -520,7 +520,7 @@ func TestPaymentControlMultiShard(t *testing.T) {
|
|||||||
a.AttemptID = i
|
a.AttemptID = i
|
||||||
attempts = append(attempts, &a)
|
attempts = append(attempts, &a)
|
||||||
|
|
||||||
err = pControl.RegisterAttempt(info.PaymentHash, &a)
|
_, err = pControl.RegisterAttempt(info.PaymentHash, &a)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("unable to send htlc message: %v", err)
|
t.Fatalf("unable to send htlc message: %v", err)
|
||||||
}
|
}
|
||||||
@ -541,7 +541,7 @@ func TestPaymentControlMultiShard(t *testing.T) {
|
|||||||
// will be too large.
|
// will be too large.
|
||||||
b := *attempt
|
b := *attempt
|
||||||
b.AttemptID = 3
|
b.AttemptID = 3
|
||||||
err = pControl.RegisterAttempt(info.PaymentHash, &b)
|
_, err = pControl.RegisterAttempt(info.PaymentHash, &b)
|
||||||
if err != ErrValueExceedsAmt {
|
if err != ErrValueExceedsAmt {
|
||||||
t.Fatalf("expected ErrValueExceedsAmt, got: %v",
|
t.Fatalf("expected ErrValueExceedsAmt, got: %v",
|
||||||
err)
|
err)
|
||||||
@ -550,7 +550,7 @@ func TestPaymentControlMultiShard(t *testing.T) {
|
|||||||
// Fail the second attempt.
|
// Fail the second attempt.
|
||||||
a := attempts[1]
|
a := attempts[1]
|
||||||
htlcFail := HTLCFailUnreadable
|
htlcFail := HTLCFailUnreadable
|
||||||
err = pControl.FailAttempt(
|
_, err = pControl.FailAttempt(
|
||||||
info.PaymentHash, a.AttemptID,
|
info.PaymentHash, a.AttemptID,
|
||||||
&HTLCFailInfo{
|
&HTLCFailInfo{
|
||||||
Reason: htlcFail,
|
Reason: htlcFail,
|
||||||
@ -596,7 +596,7 @@ func TestPaymentControlMultiShard(t *testing.T) {
|
|||||||
t, pControl, info.PaymentHash, info, nil, htlc,
|
t, pControl, info.PaymentHash, info, nil, htlc,
|
||||||
)
|
)
|
||||||
} else {
|
} else {
|
||||||
err := pControl.FailAttempt(
|
_, err := pControl.FailAttempt(
|
||||||
info.PaymentHash, a.AttemptID,
|
info.PaymentHash, a.AttemptID,
|
||||||
&HTLCFailInfo{
|
&HTLCFailInfo{
|
||||||
Reason: htlcFail,
|
Reason: htlcFail,
|
||||||
@ -634,7 +634,7 @@ func TestPaymentControlMultiShard(t *testing.T) {
|
|||||||
// that the payment has reached a terminal condition.
|
// that the payment has reached a terminal condition.
|
||||||
b = *attempt
|
b = *attempt
|
||||||
b.AttemptID = 3
|
b.AttemptID = 3
|
||||||
err = pControl.RegisterAttempt(info.PaymentHash, &b)
|
_, err = pControl.RegisterAttempt(info.PaymentHash, &b)
|
||||||
if err != ErrPaymentTerminal {
|
if err != ErrPaymentTerminal {
|
||||||
t.Fatalf("expected ErrPaymentTerminal, got: %v", err)
|
t.Fatalf("expected ErrPaymentTerminal, got: %v", err)
|
||||||
}
|
}
|
||||||
@ -666,7 +666,7 @@ func TestPaymentControlMultiShard(t *testing.T) {
|
|||||||
)
|
)
|
||||||
} else {
|
} else {
|
||||||
// Fail the attempt.
|
// Fail the attempt.
|
||||||
err := pControl.FailAttempt(
|
_, err := pControl.FailAttempt(
|
||||||
info.PaymentHash, a.AttemptID,
|
info.PaymentHash, a.AttemptID,
|
||||||
&HTLCFailInfo{
|
&HTLCFailInfo{
|
||||||
Reason: htlcFail,
|
Reason: htlcFail,
|
||||||
@ -708,7 +708,7 @@ func TestPaymentControlMultiShard(t *testing.T) {
|
|||||||
assertPaymentStatus(t, pControl, info.PaymentHash, finalStatus)
|
assertPaymentStatus(t, pControl, info.PaymentHash, finalStatus)
|
||||||
|
|
||||||
// Finally assert we cannot register more attempts.
|
// Finally assert we cannot register more attempts.
|
||||||
err = pControl.RegisterAttempt(info.PaymentHash, &b)
|
_, err = pControl.RegisterAttempt(info.PaymentHash, &b)
|
||||||
if err != expRegErr {
|
if err != expRegErr {
|
||||||
t.Fatalf("expected error %v, got: %v", expRegErr, err)
|
t.Fatalf("expected error %v, got: %v", expRegErr, err)
|
||||||
}
|
}
|
||||||
@ -756,7 +756,7 @@ func TestPaymentControlMPPRecordValidation(t *testing.T) {
|
|||||||
info.Value, [32]byte{1},
|
info.Value, [32]byte{1},
|
||||||
)
|
)
|
||||||
|
|
||||||
err = pControl.RegisterAttempt(info.PaymentHash, attempt)
|
_, err = pControl.RegisterAttempt(info.PaymentHash, attempt)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("unable to send htlc message: %v", err)
|
t.Fatalf("unable to send htlc message: %v", err)
|
||||||
}
|
}
|
||||||
@ -765,7 +765,7 @@ func TestPaymentControlMPPRecordValidation(t *testing.T) {
|
|||||||
b := *attempt
|
b := *attempt
|
||||||
b.AttemptID = 1
|
b.AttemptID = 1
|
||||||
b.Route.FinalHop().MPP = nil
|
b.Route.FinalHop().MPP = nil
|
||||||
err = pControl.RegisterAttempt(info.PaymentHash, &b)
|
_, err = pControl.RegisterAttempt(info.PaymentHash, &b)
|
||||||
if err != ErrMPPayment {
|
if err != ErrMPPayment {
|
||||||
t.Fatalf("expected ErrMPPayment, got: %v", err)
|
t.Fatalf("expected ErrMPPayment, got: %v", err)
|
||||||
}
|
}
|
||||||
@ -774,7 +774,7 @@ func TestPaymentControlMPPRecordValidation(t *testing.T) {
|
|||||||
b.Route.FinalHop().MPP = record.NewMPP(
|
b.Route.FinalHop().MPP = record.NewMPP(
|
||||||
info.Value, [32]byte{2},
|
info.Value, [32]byte{2},
|
||||||
)
|
)
|
||||||
err = pControl.RegisterAttempt(info.PaymentHash, &b)
|
_, err = pControl.RegisterAttempt(info.PaymentHash, &b)
|
||||||
if err != ErrMPPPaymentAddrMismatch {
|
if err != ErrMPPPaymentAddrMismatch {
|
||||||
t.Fatalf("expected ErrMPPPaymentAddrMismatch, got: %v", err)
|
t.Fatalf("expected ErrMPPPaymentAddrMismatch, got: %v", err)
|
||||||
}
|
}
|
||||||
@ -783,7 +783,7 @@ func TestPaymentControlMPPRecordValidation(t *testing.T) {
|
|||||||
b.Route.FinalHop().MPP = record.NewMPP(
|
b.Route.FinalHop().MPP = record.NewMPP(
|
||||||
info.Value/2, [32]byte{1},
|
info.Value/2, [32]byte{1},
|
||||||
)
|
)
|
||||||
err = pControl.RegisterAttempt(info.PaymentHash, &b)
|
_, err = pControl.RegisterAttempt(info.PaymentHash, &b)
|
||||||
if err != ErrMPPTotalAmountMismatch {
|
if err != ErrMPPTotalAmountMismatch {
|
||||||
t.Fatalf("expected ErrMPPTotalAmountMismatch, got: %v", err)
|
t.Fatalf("expected ErrMPPTotalAmountMismatch, got: %v", err)
|
||||||
}
|
}
|
||||||
@ -801,7 +801,7 @@ func TestPaymentControlMPPRecordValidation(t *testing.T) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
attempt.Route.FinalHop().MPP = nil
|
attempt.Route.FinalHop().MPP = nil
|
||||||
err = pControl.RegisterAttempt(info.PaymentHash, attempt)
|
_, err = pControl.RegisterAttempt(info.PaymentHash, attempt)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("unable to send htlc message: %v", err)
|
t.Fatalf("unable to send htlc message: %v", err)
|
||||||
}
|
}
|
||||||
@ -813,7 +813,7 @@ func TestPaymentControlMPPRecordValidation(t *testing.T) {
|
|||||||
info.Value, [32]byte{1},
|
info.Value, [32]byte{1},
|
||||||
)
|
)
|
||||||
|
|
||||||
err = pControl.RegisterAttempt(info.PaymentHash, &b)
|
_, err = pControl.RegisterAttempt(info.PaymentHash, &b)
|
||||||
if err != ErrNonMPPayment {
|
if err != ErrNonMPPayment {
|
||||||
t.Fatalf("expected ErrNonMPPayment, got: %v", err)
|
t.Fatalf("expected ErrNonMPPayment, got: %v", err)
|
||||||
}
|
}
|
||||||
|
@ -46,6 +46,12 @@ var (
|
|||||||
"<hex_value>,.. For example: --data 3438382=0a21ff. " +
|
"<hex_value>,.. For example: --data 3438382=0a21ff. " +
|
||||||
"Custom record ids start from 65536.",
|
"Custom record ids start from 65536.",
|
||||||
}
|
}
|
||||||
|
|
||||||
|
showInflightFlag = cli.BoolFlag{
|
||||||
|
Name: "show_inflight",
|
||||||
|
Usage: "if set, intermediate payment state updates will be " +
|
||||||
|
"displayed",
|
||||||
|
}
|
||||||
)
|
)
|
||||||
|
|
||||||
// paymentFlags returns common flags for sendpayment and payinvoice.
|
// paymentFlags returns common flags for sendpayment and payinvoice.
|
||||||
@ -82,7 +88,7 @@ func paymentFlags() []cli.Flag {
|
|||||||
Name: "allow_self_payment",
|
Name: "allow_self_payment",
|
||||||
Usage: "allow sending a circular payment to self",
|
Usage: "allow sending a circular payment to self",
|
||||||
},
|
},
|
||||||
dataFlag,
|
dataFlag, showInflightFlag,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -382,6 +388,8 @@ func sendPaymentRequest(ctx *cli.Context,
|
|||||||
|
|
||||||
req.FeeLimitSat = feeLimit
|
req.FeeLimitSat = feeLimit
|
||||||
|
|
||||||
|
showInflight := ctx.Bool(showInflightFlag.Name)
|
||||||
|
|
||||||
stream, err := routerClient.SendPayment(context.Background(), req)
|
stream, err := routerClient.SendPayment(context.Background(), req)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
@ -393,18 +401,22 @@ func sendPaymentRequest(ctx *cli.Context,
|
|||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
if status.State != routerrpc.PaymentState_IN_FLIGHT {
|
if status.Status != lnrpc.Payment_IN_FLIGHT {
|
||||||
printRespJSON(status)
|
printRespJSON(status)
|
||||||
|
|
||||||
// If we get a payment error back, we pass an error up
|
// If we get a payment error back, we pass an error up
|
||||||
// to main which eventually calls fatal() and returns
|
// to main which eventually calls fatal() and returns
|
||||||
// with a non-zero exit code.
|
// with a non-zero exit code.
|
||||||
if status.State != routerrpc.PaymentState_SUCCEEDED {
|
if status.Status != lnrpc.Payment_SUCCEEDED {
|
||||||
return errors.New(status.State.String())
|
return errors.New(status.Status.String())
|
||||||
}
|
}
|
||||||
|
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if showInflight {
|
||||||
|
printRespJSON(status)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -454,7 +466,7 @@ func trackPayment(ctx *cli.Context) error {
|
|||||||
|
|
||||||
printRespJSON(status)
|
printRespJSON(status)
|
||||||
|
|
||||||
if status.State != routerrpc.PaymentState_IN_FLIGHT {
|
if status.Status != lnrpc.Payment_IN_FLIGHT {
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -23,62 +23,6 @@ var _ = math.Inf
|
|||||||
// proto package needs to be updated.
|
// proto package needs to be updated.
|
||||||
const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package
|
const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package
|
||||||
|
|
||||||
type PaymentState int32
|
|
||||||
|
|
||||||
const (
|
|
||||||
//*
|
|
||||||
//Payment is still in flight.
|
|
||||||
PaymentState_IN_FLIGHT PaymentState = 0
|
|
||||||
//*
|
|
||||||
//Payment completed successfully.
|
|
||||||
PaymentState_SUCCEEDED PaymentState = 1
|
|
||||||
//*
|
|
||||||
//There are more routes to try, but the payment timeout was exceeded.
|
|
||||||
PaymentState_FAILED_TIMEOUT PaymentState = 2
|
|
||||||
//*
|
|
||||||
//All possible routes were tried and failed permanently. Or were no
|
|
||||||
//routes to the destination at all.
|
|
||||||
PaymentState_FAILED_NO_ROUTE PaymentState = 3
|
|
||||||
//*
|
|
||||||
//A non-recoverable error has occured.
|
|
||||||
PaymentState_FAILED_ERROR PaymentState = 4
|
|
||||||
//*
|
|
||||||
//Payment details incorrect (unknown hash, invalid amt or
|
|
||||||
//invalid final cltv delta)
|
|
||||||
PaymentState_FAILED_INCORRECT_PAYMENT_DETAILS PaymentState = 5
|
|
||||||
//*
|
|
||||||
//Insufficient local balance.
|
|
||||||
PaymentState_FAILED_INSUFFICIENT_BALANCE PaymentState = 6
|
|
||||||
)
|
|
||||||
|
|
||||||
var PaymentState_name = map[int32]string{
|
|
||||||
0: "IN_FLIGHT",
|
|
||||||
1: "SUCCEEDED",
|
|
||||||
2: "FAILED_TIMEOUT",
|
|
||||||
3: "FAILED_NO_ROUTE",
|
|
||||||
4: "FAILED_ERROR",
|
|
||||||
5: "FAILED_INCORRECT_PAYMENT_DETAILS",
|
|
||||||
6: "FAILED_INSUFFICIENT_BALANCE",
|
|
||||||
}
|
|
||||||
|
|
||||||
var PaymentState_value = map[string]int32{
|
|
||||||
"IN_FLIGHT": 0,
|
|
||||||
"SUCCEEDED": 1,
|
|
||||||
"FAILED_TIMEOUT": 2,
|
|
||||||
"FAILED_NO_ROUTE": 3,
|
|
||||||
"FAILED_ERROR": 4,
|
|
||||||
"FAILED_INCORRECT_PAYMENT_DETAILS": 5,
|
|
||||||
"FAILED_INSUFFICIENT_BALANCE": 6,
|
|
||||||
}
|
|
||||||
|
|
||||||
func (x PaymentState) String() string {
|
|
||||||
return proto.EnumName(PaymentState_name, int32(x))
|
|
||||||
}
|
|
||||||
|
|
||||||
func (PaymentState) EnumDescriptor() ([]byte, []int) {
|
|
||||||
return fileDescriptor_7a0613f69d37b0a5, []int{0}
|
|
||||||
}
|
|
||||||
|
|
||||||
type FailureDetail int32
|
type FailureDetail int32
|
||||||
|
|
||||||
const (
|
const (
|
||||||
@ -164,7 +108,7 @@ func (x FailureDetail) String() string {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (FailureDetail) EnumDescriptor() ([]byte, []int) {
|
func (FailureDetail) EnumDescriptor() ([]byte, []int) {
|
||||||
return fileDescriptor_7a0613f69d37b0a5, []int{1}
|
return fileDescriptor_7a0613f69d37b0a5, []int{0}
|
||||||
}
|
}
|
||||||
|
|
||||||
type HtlcEvent_EventType int32
|
type HtlcEvent_EventType int32
|
||||||
@ -195,7 +139,7 @@ func (x HtlcEvent_EventType) String() string {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (HtlcEvent_EventType) EnumDescriptor() ([]byte, []int) {
|
func (HtlcEvent_EventType) EnumDescriptor() ([]byte, []int) {
|
||||||
return fileDescriptor_7a0613f69d37b0a5, []int{18, 0}
|
return fileDescriptor_7a0613f69d37b0a5, []int{17, 0}
|
||||||
}
|
}
|
||||||
|
|
||||||
type SendPaymentRequest struct {
|
type SendPaymentRequest struct {
|
||||||
@ -460,66 +404,6 @@ func (m *TrackPaymentRequest) GetPaymentHash() []byte {
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
type PaymentStatus struct {
|
|
||||||
/// Current state the payment is in.
|
|
||||||
State PaymentState `protobuf:"varint,1,opt,name=state,proto3,enum=routerrpc.PaymentState" json:"state,omitempty"`
|
|
||||||
//*
|
|
||||||
//The pre-image of the payment when state is SUCCEEDED.
|
|
||||||
Preimage []byte `protobuf:"bytes,2,opt,name=preimage,proto3" json:"preimage,omitempty"`
|
|
||||||
//*
|
|
||||||
//The HTLCs made in attempt to settle the payment.
|
|
||||||
Htlcs []*lnrpc.HTLCAttempt `protobuf:"bytes,4,rep,name=htlcs,proto3" json:"htlcs,omitempty"`
|
|
||||||
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
|
||||||
XXX_unrecognized []byte `json:"-"`
|
|
||||||
XXX_sizecache int32 `json:"-"`
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *PaymentStatus) Reset() { *m = PaymentStatus{} }
|
|
||||||
func (m *PaymentStatus) String() string { return proto.CompactTextString(m) }
|
|
||||||
func (*PaymentStatus) ProtoMessage() {}
|
|
||||||
func (*PaymentStatus) Descriptor() ([]byte, []int) {
|
|
||||||
return fileDescriptor_7a0613f69d37b0a5, []int{2}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *PaymentStatus) XXX_Unmarshal(b []byte) error {
|
|
||||||
return xxx_messageInfo_PaymentStatus.Unmarshal(m, b)
|
|
||||||
}
|
|
||||||
func (m *PaymentStatus) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
|
|
||||||
return xxx_messageInfo_PaymentStatus.Marshal(b, m, deterministic)
|
|
||||||
}
|
|
||||||
func (m *PaymentStatus) XXX_Merge(src proto.Message) {
|
|
||||||
xxx_messageInfo_PaymentStatus.Merge(m, src)
|
|
||||||
}
|
|
||||||
func (m *PaymentStatus) XXX_Size() int {
|
|
||||||
return xxx_messageInfo_PaymentStatus.Size(m)
|
|
||||||
}
|
|
||||||
func (m *PaymentStatus) XXX_DiscardUnknown() {
|
|
||||||
xxx_messageInfo_PaymentStatus.DiscardUnknown(m)
|
|
||||||
}
|
|
||||||
|
|
||||||
var xxx_messageInfo_PaymentStatus proto.InternalMessageInfo
|
|
||||||
|
|
||||||
func (m *PaymentStatus) GetState() PaymentState {
|
|
||||||
if m != nil {
|
|
||||||
return m.State
|
|
||||||
}
|
|
||||||
return PaymentState_IN_FLIGHT
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *PaymentStatus) GetPreimage() []byte {
|
|
||||||
if m != nil {
|
|
||||||
return m.Preimage
|
|
||||||
}
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *PaymentStatus) GetHtlcs() []*lnrpc.HTLCAttempt {
|
|
||||||
if m != nil {
|
|
||||||
return m.Htlcs
|
|
||||||
}
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
type RouteFeeRequest struct {
|
type RouteFeeRequest struct {
|
||||||
//*
|
//*
|
||||||
//The destination once wishes to obtain a routing fee quote to.
|
//The destination once wishes to obtain a routing fee quote to.
|
||||||
@ -536,7 +420,7 @@ func (m *RouteFeeRequest) Reset() { *m = RouteFeeRequest{} }
|
|||||||
func (m *RouteFeeRequest) String() string { return proto.CompactTextString(m) }
|
func (m *RouteFeeRequest) String() string { return proto.CompactTextString(m) }
|
||||||
func (*RouteFeeRequest) ProtoMessage() {}
|
func (*RouteFeeRequest) ProtoMessage() {}
|
||||||
func (*RouteFeeRequest) Descriptor() ([]byte, []int) {
|
func (*RouteFeeRequest) Descriptor() ([]byte, []int) {
|
||||||
return fileDescriptor_7a0613f69d37b0a5, []int{3}
|
return fileDescriptor_7a0613f69d37b0a5, []int{2}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (m *RouteFeeRequest) XXX_Unmarshal(b []byte) error {
|
func (m *RouteFeeRequest) XXX_Unmarshal(b []byte) error {
|
||||||
@ -590,7 +474,7 @@ func (m *RouteFeeResponse) Reset() { *m = RouteFeeResponse{} }
|
|||||||
func (m *RouteFeeResponse) String() string { return proto.CompactTextString(m) }
|
func (m *RouteFeeResponse) String() string { return proto.CompactTextString(m) }
|
||||||
func (*RouteFeeResponse) ProtoMessage() {}
|
func (*RouteFeeResponse) ProtoMessage() {}
|
||||||
func (*RouteFeeResponse) Descriptor() ([]byte, []int) {
|
func (*RouteFeeResponse) Descriptor() ([]byte, []int) {
|
||||||
return fileDescriptor_7a0613f69d37b0a5, []int{4}
|
return fileDescriptor_7a0613f69d37b0a5, []int{3}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (m *RouteFeeResponse) XXX_Unmarshal(b []byte) error {
|
func (m *RouteFeeResponse) XXX_Unmarshal(b []byte) error {
|
||||||
@ -639,7 +523,7 @@ func (m *SendToRouteRequest) Reset() { *m = SendToRouteRequest{} }
|
|||||||
func (m *SendToRouteRequest) String() string { return proto.CompactTextString(m) }
|
func (m *SendToRouteRequest) String() string { return proto.CompactTextString(m) }
|
||||||
func (*SendToRouteRequest) ProtoMessage() {}
|
func (*SendToRouteRequest) ProtoMessage() {}
|
||||||
func (*SendToRouteRequest) Descriptor() ([]byte, []int) {
|
func (*SendToRouteRequest) Descriptor() ([]byte, []int) {
|
||||||
return fileDescriptor_7a0613f69d37b0a5, []int{5}
|
return fileDescriptor_7a0613f69d37b0a5, []int{4}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (m *SendToRouteRequest) XXX_Unmarshal(b []byte) error {
|
func (m *SendToRouteRequest) XXX_Unmarshal(b []byte) error {
|
||||||
@ -688,7 +572,7 @@ func (m *SendToRouteResponse) Reset() { *m = SendToRouteResponse{} }
|
|||||||
func (m *SendToRouteResponse) String() string { return proto.CompactTextString(m) }
|
func (m *SendToRouteResponse) String() string { return proto.CompactTextString(m) }
|
||||||
func (*SendToRouteResponse) ProtoMessage() {}
|
func (*SendToRouteResponse) ProtoMessage() {}
|
||||||
func (*SendToRouteResponse) Descriptor() ([]byte, []int) {
|
func (*SendToRouteResponse) Descriptor() ([]byte, []int) {
|
||||||
return fileDescriptor_7a0613f69d37b0a5, []int{6}
|
return fileDescriptor_7a0613f69d37b0a5, []int{5}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (m *SendToRouteResponse) XXX_Unmarshal(b []byte) error {
|
func (m *SendToRouteResponse) XXX_Unmarshal(b []byte) error {
|
||||||
@ -733,7 +617,7 @@ func (m *ResetMissionControlRequest) Reset() { *m = ResetMissionControlR
|
|||||||
func (m *ResetMissionControlRequest) String() string { return proto.CompactTextString(m) }
|
func (m *ResetMissionControlRequest) String() string { return proto.CompactTextString(m) }
|
||||||
func (*ResetMissionControlRequest) ProtoMessage() {}
|
func (*ResetMissionControlRequest) ProtoMessage() {}
|
||||||
func (*ResetMissionControlRequest) Descriptor() ([]byte, []int) {
|
func (*ResetMissionControlRequest) Descriptor() ([]byte, []int) {
|
||||||
return fileDescriptor_7a0613f69d37b0a5, []int{7}
|
return fileDescriptor_7a0613f69d37b0a5, []int{6}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (m *ResetMissionControlRequest) XXX_Unmarshal(b []byte) error {
|
func (m *ResetMissionControlRequest) XXX_Unmarshal(b []byte) error {
|
||||||
@ -764,7 +648,7 @@ func (m *ResetMissionControlResponse) Reset() { *m = ResetMissionControl
|
|||||||
func (m *ResetMissionControlResponse) String() string { return proto.CompactTextString(m) }
|
func (m *ResetMissionControlResponse) String() string { return proto.CompactTextString(m) }
|
||||||
func (*ResetMissionControlResponse) ProtoMessage() {}
|
func (*ResetMissionControlResponse) ProtoMessage() {}
|
||||||
func (*ResetMissionControlResponse) Descriptor() ([]byte, []int) {
|
func (*ResetMissionControlResponse) Descriptor() ([]byte, []int) {
|
||||||
return fileDescriptor_7a0613f69d37b0a5, []int{8}
|
return fileDescriptor_7a0613f69d37b0a5, []int{7}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (m *ResetMissionControlResponse) XXX_Unmarshal(b []byte) error {
|
func (m *ResetMissionControlResponse) XXX_Unmarshal(b []byte) error {
|
||||||
@ -795,7 +679,7 @@ func (m *QueryMissionControlRequest) Reset() { *m = QueryMissionControlR
|
|||||||
func (m *QueryMissionControlRequest) String() string { return proto.CompactTextString(m) }
|
func (m *QueryMissionControlRequest) String() string { return proto.CompactTextString(m) }
|
||||||
func (*QueryMissionControlRequest) ProtoMessage() {}
|
func (*QueryMissionControlRequest) ProtoMessage() {}
|
||||||
func (*QueryMissionControlRequest) Descriptor() ([]byte, []int) {
|
func (*QueryMissionControlRequest) Descriptor() ([]byte, []int) {
|
||||||
return fileDescriptor_7a0613f69d37b0a5, []int{9}
|
return fileDescriptor_7a0613f69d37b0a5, []int{8}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (m *QueryMissionControlRequest) XXX_Unmarshal(b []byte) error {
|
func (m *QueryMissionControlRequest) XXX_Unmarshal(b []byte) error {
|
||||||
@ -829,7 +713,7 @@ func (m *QueryMissionControlResponse) Reset() { *m = QueryMissionControl
|
|||||||
func (m *QueryMissionControlResponse) String() string { return proto.CompactTextString(m) }
|
func (m *QueryMissionControlResponse) String() string { return proto.CompactTextString(m) }
|
||||||
func (*QueryMissionControlResponse) ProtoMessage() {}
|
func (*QueryMissionControlResponse) ProtoMessage() {}
|
||||||
func (*QueryMissionControlResponse) Descriptor() ([]byte, []int) {
|
func (*QueryMissionControlResponse) Descriptor() ([]byte, []int) {
|
||||||
return fileDescriptor_7a0613f69d37b0a5, []int{10}
|
return fileDescriptor_7a0613f69d37b0a5, []int{9}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (m *QueryMissionControlResponse) XXX_Unmarshal(b []byte) error {
|
func (m *QueryMissionControlResponse) XXX_Unmarshal(b []byte) error {
|
||||||
@ -873,7 +757,7 @@ func (m *PairHistory) Reset() { *m = PairHistory{} }
|
|||||||
func (m *PairHistory) String() string { return proto.CompactTextString(m) }
|
func (m *PairHistory) String() string { return proto.CompactTextString(m) }
|
||||||
func (*PairHistory) ProtoMessage() {}
|
func (*PairHistory) ProtoMessage() {}
|
||||||
func (*PairHistory) Descriptor() ([]byte, []int) {
|
func (*PairHistory) Descriptor() ([]byte, []int) {
|
||||||
return fileDescriptor_7a0613f69d37b0a5, []int{11}
|
return fileDescriptor_7a0613f69d37b0a5, []int{10}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (m *PairHistory) XXX_Unmarshal(b []byte) error {
|
func (m *PairHistory) XXX_Unmarshal(b []byte) error {
|
||||||
@ -941,7 +825,7 @@ func (m *PairData) Reset() { *m = PairData{} }
|
|||||||
func (m *PairData) String() string { return proto.CompactTextString(m) }
|
func (m *PairData) String() string { return proto.CompactTextString(m) }
|
||||||
func (*PairData) ProtoMessage() {}
|
func (*PairData) ProtoMessage() {}
|
||||||
func (*PairData) Descriptor() ([]byte, []int) {
|
func (*PairData) Descriptor() ([]byte, []int) {
|
||||||
return fileDescriptor_7a0613f69d37b0a5, []int{12}
|
return fileDescriptor_7a0613f69d37b0a5, []int{11}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (m *PairData) XXX_Unmarshal(b []byte) error {
|
func (m *PairData) XXX_Unmarshal(b []byte) error {
|
||||||
@ -1020,7 +904,7 @@ func (m *QueryProbabilityRequest) Reset() { *m = QueryProbabilityRequest
|
|||||||
func (m *QueryProbabilityRequest) String() string { return proto.CompactTextString(m) }
|
func (m *QueryProbabilityRequest) String() string { return proto.CompactTextString(m) }
|
||||||
func (*QueryProbabilityRequest) ProtoMessage() {}
|
func (*QueryProbabilityRequest) ProtoMessage() {}
|
||||||
func (*QueryProbabilityRequest) Descriptor() ([]byte, []int) {
|
func (*QueryProbabilityRequest) Descriptor() ([]byte, []int) {
|
||||||
return fileDescriptor_7a0613f69d37b0a5, []int{13}
|
return fileDescriptor_7a0613f69d37b0a5, []int{12}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (m *QueryProbabilityRequest) XXX_Unmarshal(b []byte) error {
|
func (m *QueryProbabilityRequest) XXX_Unmarshal(b []byte) error {
|
||||||
@ -1076,7 +960,7 @@ func (m *QueryProbabilityResponse) Reset() { *m = QueryProbabilityRespon
|
|||||||
func (m *QueryProbabilityResponse) String() string { return proto.CompactTextString(m) }
|
func (m *QueryProbabilityResponse) String() string { return proto.CompactTextString(m) }
|
||||||
func (*QueryProbabilityResponse) ProtoMessage() {}
|
func (*QueryProbabilityResponse) ProtoMessage() {}
|
||||||
func (*QueryProbabilityResponse) Descriptor() ([]byte, []int) {
|
func (*QueryProbabilityResponse) Descriptor() ([]byte, []int) {
|
||||||
return fileDescriptor_7a0613f69d37b0a5, []int{14}
|
return fileDescriptor_7a0613f69d37b0a5, []int{13}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (m *QueryProbabilityResponse) XXX_Unmarshal(b []byte) error {
|
func (m *QueryProbabilityResponse) XXX_Unmarshal(b []byte) error {
|
||||||
@ -1137,7 +1021,7 @@ func (m *BuildRouteRequest) Reset() { *m = BuildRouteRequest{} }
|
|||||||
func (m *BuildRouteRequest) String() string { return proto.CompactTextString(m) }
|
func (m *BuildRouteRequest) String() string { return proto.CompactTextString(m) }
|
||||||
func (*BuildRouteRequest) ProtoMessage() {}
|
func (*BuildRouteRequest) ProtoMessage() {}
|
||||||
func (*BuildRouteRequest) Descriptor() ([]byte, []int) {
|
func (*BuildRouteRequest) Descriptor() ([]byte, []int) {
|
||||||
return fileDescriptor_7a0613f69d37b0a5, []int{15}
|
return fileDescriptor_7a0613f69d37b0a5, []int{14}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (m *BuildRouteRequest) XXX_Unmarshal(b []byte) error {
|
func (m *BuildRouteRequest) XXX_Unmarshal(b []byte) error {
|
||||||
@ -1199,7 +1083,7 @@ func (m *BuildRouteResponse) Reset() { *m = BuildRouteResponse{} }
|
|||||||
func (m *BuildRouteResponse) String() string { return proto.CompactTextString(m) }
|
func (m *BuildRouteResponse) String() string { return proto.CompactTextString(m) }
|
||||||
func (*BuildRouteResponse) ProtoMessage() {}
|
func (*BuildRouteResponse) ProtoMessage() {}
|
||||||
func (*BuildRouteResponse) Descriptor() ([]byte, []int) {
|
func (*BuildRouteResponse) Descriptor() ([]byte, []int) {
|
||||||
return fileDescriptor_7a0613f69d37b0a5, []int{16}
|
return fileDescriptor_7a0613f69d37b0a5, []int{15}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (m *BuildRouteResponse) XXX_Unmarshal(b []byte) error {
|
func (m *BuildRouteResponse) XXX_Unmarshal(b []byte) error {
|
||||||
@ -1237,7 +1121,7 @@ func (m *SubscribeHtlcEventsRequest) Reset() { *m = SubscribeHtlcEventsR
|
|||||||
func (m *SubscribeHtlcEventsRequest) String() string { return proto.CompactTextString(m) }
|
func (m *SubscribeHtlcEventsRequest) String() string { return proto.CompactTextString(m) }
|
||||||
func (*SubscribeHtlcEventsRequest) ProtoMessage() {}
|
func (*SubscribeHtlcEventsRequest) ProtoMessage() {}
|
||||||
func (*SubscribeHtlcEventsRequest) Descriptor() ([]byte, []int) {
|
func (*SubscribeHtlcEventsRequest) Descriptor() ([]byte, []int) {
|
||||||
return fileDescriptor_7a0613f69d37b0a5, []int{17}
|
return fileDescriptor_7a0613f69d37b0a5, []int{16}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (m *SubscribeHtlcEventsRequest) XXX_Unmarshal(b []byte) error {
|
func (m *SubscribeHtlcEventsRequest) XXX_Unmarshal(b []byte) error {
|
||||||
@ -1304,7 +1188,7 @@ func (m *HtlcEvent) Reset() { *m = HtlcEvent{} }
|
|||||||
func (m *HtlcEvent) String() string { return proto.CompactTextString(m) }
|
func (m *HtlcEvent) String() string { return proto.CompactTextString(m) }
|
||||||
func (*HtlcEvent) ProtoMessage() {}
|
func (*HtlcEvent) ProtoMessage() {}
|
||||||
func (*HtlcEvent) Descriptor() ([]byte, []int) {
|
func (*HtlcEvent) Descriptor() ([]byte, []int) {
|
||||||
return fileDescriptor_7a0613f69d37b0a5, []int{18}
|
return fileDescriptor_7a0613f69d37b0a5, []int{17}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (m *HtlcEvent) XXX_Unmarshal(b []byte) error {
|
func (m *HtlcEvent) XXX_Unmarshal(b []byte) error {
|
||||||
@ -1458,7 +1342,7 @@ func (m *HtlcInfo) Reset() { *m = HtlcInfo{} }
|
|||||||
func (m *HtlcInfo) String() string { return proto.CompactTextString(m) }
|
func (m *HtlcInfo) String() string { return proto.CompactTextString(m) }
|
||||||
func (*HtlcInfo) ProtoMessage() {}
|
func (*HtlcInfo) ProtoMessage() {}
|
||||||
func (*HtlcInfo) Descriptor() ([]byte, []int) {
|
func (*HtlcInfo) Descriptor() ([]byte, []int) {
|
||||||
return fileDescriptor_7a0613f69d37b0a5, []int{19}
|
return fileDescriptor_7a0613f69d37b0a5, []int{18}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (m *HtlcInfo) XXX_Unmarshal(b []byte) error {
|
func (m *HtlcInfo) XXX_Unmarshal(b []byte) error {
|
||||||
@ -1519,7 +1403,7 @@ func (m *ForwardEvent) Reset() { *m = ForwardEvent{} }
|
|||||||
func (m *ForwardEvent) String() string { return proto.CompactTextString(m) }
|
func (m *ForwardEvent) String() string { return proto.CompactTextString(m) }
|
||||||
func (*ForwardEvent) ProtoMessage() {}
|
func (*ForwardEvent) ProtoMessage() {}
|
||||||
func (*ForwardEvent) Descriptor() ([]byte, []int) {
|
func (*ForwardEvent) Descriptor() ([]byte, []int) {
|
||||||
return fileDescriptor_7a0613f69d37b0a5, []int{20}
|
return fileDescriptor_7a0613f69d37b0a5, []int{19}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (m *ForwardEvent) XXX_Unmarshal(b []byte) error {
|
func (m *ForwardEvent) XXX_Unmarshal(b []byte) error {
|
||||||
@ -1557,7 +1441,7 @@ func (m *ForwardFailEvent) Reset() { *m = ForwardFailEvent{} }
|
|||||||
func (m *ForwardFailEvent) String() string { return proto.CompactTextString(m) }
|
func (m *ForwardFailEvent) String() string { return proto.CompactTextString(m) }
|
||||||
func (*ForwardFailEvent) ProtoMessage() {}
|
func (*ForwardFailEvent) ProtoMessage() {}
|
||||||
func (*ForwardFailEvent) Descriptor() ([]byte, []int) {
|
func (*ForwardFailEvent) Descriptor() ([]byte, []int) {
|
||||||
return fileDescriptor_7a0613f69d37b0a5, []int{21}
|
return fileDescriptor_7a0613f69d37b0a5, []int{20}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (m *ForwardFailEvent) XXX_Unmarshal(b []byte) error {
|
func (m *ForwardFailEvent) XXX_Unmarshal(b []byte) error {
|
||||||
@ -1588,7 +1472,7 @@ func (m *SettleEvent) Reset() { *m = SettleEvent{} }
|
|||||||
func (m *SettleEvent) String() string { return proto.CompactTextString(m) }
|
func (m *SettleEvent) String() string { return proto.CompactTextString(m) }
|
||||||
func (*SettleEvent) ProtoMessage() {}
|
func (*SettleEvent) ProtoMessage() {}
|
||||||
func (*SettleEvent) Descriptor() ([]byte, []int) {
|
func (*SettleEvent) Descriptor() ([]byte, []int) {
|
||||||
return fileDescriptor_7a0613f69d37b0a5, []int{22}
|
return fileDescriptor_7a0613f69d37b0a5, []int{21}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (m *SettleEvent) XXX_Unmarshal(b []byte) error {
|
func (m *SettleEvent) XXX_Unmarshal(b []byte) error {
|
||||||
@ -1630,7 +1514,7 @@ func (m *LinkFailEvent) Reset() { *m = LinkFailEvent{} }
|
|||||||
func (m *LinkFailEvent) String() string { return proto.CompactTextString(m) }
|
func (m *LinkFailEvent) String() string { return proto.CompactTextString(m) }
|
||||||
func (*LinkFailEvent) ProtoMessage() {}
|
func (*LinkFailEvent) ProtoMessage() {}
|
||||||
func (*LinkFailEvent) Descriptor() ([]byte, []int) {
|
func (*LinkFailEvent) Descriptor() ([]byte, []int) {
|
||||||
return fileDescriptor_7a0613f69d37b0a5, []int{23}
|
return fileDescriptor_7a0613f69d37b0a5, []int{22}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (m *LinkFailEvent) XXX_Unmarshal(b []byte) error {
|
func (m *LinkFailEvent) XXX_Unmarshal(b []byte) error {
|
||||||
@ -1680,13 +1564,11 @@ func (m *LinkFailEvent) GetFailureString() string {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func init() {
|
func init() {
|
||||||
proto.RegisterEnum("routerrpc.PaymentState", PaymentState_name, PaymentState_value)
|
|
||||||
proto.RegisterEnum("routerrpc.FailureDetail", FailureDetail_name, FailureDetail_value)
|
proto.RegisterEnum("routerrpc.FailureDetail", FailureDetail_name, FailureDetail_value)
|
||||||
proto.RegisterEnum("routerrpc.HtlcEvent_EventType", HtlcEvent_EventType_name, HtlcEvent_EventType_value)
|
proto.RegisterEnum("routerrpc.HtlcEvent_EventType", HtlcEvent_EventType_name, HtlcEvent_EventType_value)
|
||||||
proto.RegisterType((*SendPaymentRequest)(nil), "routerrpc.SendPaymentRequest")
|
proto.RegisterType((*SendPaymentRequest)(nil), "routerrpc.SendPaymentRequest")
|
||||||
proto.RegisterMapType((map[uint64][]byte)(nil), "routerrpc.SendPaymentRequest.DestCustomRecordsEntry")
|
proto.RegisterMapType((map[uint64][]byte)(nil), "routerrpc.SendPaymentRequest.DestCustomRecordsEntry")
|
||||||
proto.RegisterType((*TrackPaymentRequest)(nil), "routerrpc.TrackPaymentRequest")
|
proto.RegisterType((*TrackPaymentRequest)(nil), "routerrpc.TrackPaymentRequest")
|
||||||
proto.RegisterType((*PaymentStatus)(nil), "routerrpc.PaymentStatus")
|
|
||||||
proto.RegisterType((*RouteFeeRequest)(nil), "routerrpc.RouteFeeRequest")
|
proto.RegisterType((*RouteFeeRequest)(nil), "routerrpc.RouteFeeRequest")
|
||||||
proto.RegisterType((*RouteFeeResponse)(nil), "routerrpc.RouteFeeResponse")
|
proto.RegisterType((*RouteFeeResponse)(nil), "routerrpc.RouteFeeResponse")
|
||||||
proto.RegisterType((*SendToRouteRequest)(nil), "routerrpc.SendToRouteRequest")
|
proto.RegisterType((*SendToRouteRequest)(nil), "routerrpc.SendToRouteRequest")
|
||||||
@ -1713,142 +1595,134 @@ func init() {
|
|||||||
func init() { proto.RegisterFile("routerrpc/router.proto", fileDescriptor_7a0613f69d37b0a5) }
|
func init() { proto.RegisterFile("routerrpc/router.proto", fileDescriptor_7a0613f69d37b0a5) }
|
||||||
|
|
||||||
var fileDescriptor_7a0613f69d37b0a5 = []byte{
|
var fileDescriptor_7a0613f69d37b0a5 = []byte{
|
||||||
// 2150 bytes of a gzipped FileDescriptorProto
|
// 2017 bytes of a gzipped FileDescriptorProto
|
||||||
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x58, 0xdd, 0x72, 0xdb, 0xb8,
|
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x58, 0x5d, 0x77, 0xdb, 0x48,
|
||||||
0x15, 0x0e, 0x6d, 0xca, 0x96, 0x8e, 0x7e, 0x4c, 0x43, 0x59, 0x47, 0x95, 0x93, 0x5d, 0x2d, 0xbb,
|
0x19, 0x5e, 0xc5, 0x72, 0x62, 0xbf, 0xfe, 0x52, 0xc6, 0xdd, 0xd4, 0x38, 0xed, 0xe2, 0x15, 0x6c,
|
||||||
0x9b, 0x68, 0xd2, 0xac, 0x9d, 0x75, 0x3b, 0x6d, 0xa6, 0xed, 0x6e, 0x47, 0x96, 0xe8, 0x88, 0x8e,
|
0xeb, 0x53, 0x4a, 0xd2, 0x0d, 0x1c, 0xe8, 0x01, 0xb6, 0xe0, 0x58, 0xca, 0x46, 0x8d, 0x23, 0x79,
|
||||||
0x4c, 0x6a, 0x21, 0x3a, 0x3f, 0xcd, 0x05, 0x86, 0x96, 0x20, 0x8b, 0x35, 0x45, 0xaa, 0x24, 0x94,
|
0xc7, 0x4e, 0xdb, 0xa5, 0x17, 0x73, 0x14, 0x7b, 0x1c, 0x8b, 0xc8, 0x92, 0x91, 0xc6, 0xed, 0xc9,
|
||||||
0x8c, 0x2f, 0x3b, 0xbd, 0xeb, 0x8b, 0xf4, 0xae, 0x4f, 0xd0, 0x77, 0xe9, 0x6d, 0x9f, 0xa0, 0xd3,
|
0x25, 0xb7, 0xfc, 0x11, 0xfe, 0x04, 0xff, 0x85, 0x5b, 0xee, 0xb8, 0xe3, 0x70, 0xc9, 0x99, 0x91,
|
||||||
0xcb, 0x1d, 0x80, 0xa0, 0x44, 0xd9, 0x72, 0x76, 0x6f, 0x12, 0xf1, 0x3b, 0x1f, 0x0e, 0xce, 0x39,
|
0xc6, 0x96, 0x13, 0xa7, 0xbb, 0x37, 0x89, 0xf4, 0xbc, 0xcf, 0xbc, 0x1f, 0xf3, 0x3e, 0xf3, 0x21,
|
||||||
0xf8, 0x80, 0x03, 0x18, 0xf6, 0xa2, 0x70, 0xce, 0x68, 0x14, 0xcd, 0x86, 0x87, 0xc9, 0xaf, 0x83,
|
0xc3, 0x5e, 0x14, 0x2e, 0x18, 0x8d, 0xa2, 0xf9, 0xe8, 0x30, 0x79, 0x3a, 0x98, 0x47, 0x21, 0x0b,
|
||||||
0x59, 0x14, 0xb2, 0x10, 0x15, 0x16, 0x78, 0xbd, 0x10, 0xcd, 0x86, 0x09, 0xaa, 0xff, 0x3f, 0x07,
|
0x51, 0x71, 0x89, 0x37, 0x8b, 0xd1, 0x7c, 0x94, 0xa0, 0xfa, 0xff, 0xf2, 0x80, 0x06, 0x34, 0x18,
|
||||||
0x68, 0x40, 0x83, 0x51, 0xdf, 0xbd, 0x9e, 0xd2, 0x80, 0x61, 0xfa, 0xd7, 0x39, 0x8d, 0x19, 0x42,
|
0xf7, 0xdd, 0x9b, 0x19, 0x0d, 0x18, 0xa6, 0x7f, 0x5d, 0xd0, 0x98, 0x21, 0x04, 0xea, 0x98, 0xc6,
|
||||||
0xa0, 0x8e, 0x68, 0xcc, 0x6a, 0x4a, 0x43, 0x69, 0x96, 0xb0, 0xf8, 0x8d, 0x34, 0xd8, 0x74, 0xa7,
|
0xac, 0xa1, 0xb4, 0x94, 0x76, 0x19, 0x8b, 0x67, 0xa4, 0x41, 0xce, 0x9d, 0xb1, 0xc6, 0x56, 0x4b,
|
||||||
0xac, 0xb6, 0xd1, 0x50, 0x9a, 0x9b, 0x98, 0xff, 0x44, 0xbf, 0x80, 0xbc, 0x3b, 0x65, 0x64, 0x1a,
|
0x69, 0xe7, 0x30, 0x7f, 0x44, 0x3f, 0x81, 0x82, 0x3b, 0x63, 0x64, 0x16, 0xbb, 0xac, 0x51, 0x16,
|
||||||
0xbb, 0xac, 0x56, 0x12, 0xf0, 0xb6, 0x3b, 0x65, 0x67, 0xb1, 0xcb, 0xd0, 0x97, 0x50, 0x9a, 0x25,
|
0xf0, 0x8e, 0x3b, 0x63, 0xe7, 0xb1, 0xcb, 0xd0, 0x97, 0x50, 0x9e, 0x27, 0x2e, 0xc9, 0xd4, 0x8d,
|
||||||
0x2e, 0xc9, 0xc4, 0x8d, 0x27, 0xb5, 0x4d, 0xe1, 0xa8, 0x28, 0xb1, 0xae, 0x1b, 0x4f, 0x50, 0x13,
|
0xa7, 0x8d, 0x9c, 0x70, 0x54, 0x4a, 0xb1, 0x53, 0x37, 0x9e, 0xa2, 0x36, 0x68, 0x13, 0x2f, 0x70,
|
||||||
0xb4, 0xb1, 0x17, 0xb8, 0x3e, 0x19, 0xfa, 0xec, 0x03, 0x19, 0x51, 0x9f, 0xb9, 0x35, 0xb5, 0xa1,
|
0x7d, 0x32, 0xf2, 0xd9, 0x07, 0x32, 0xa6, 0x3e, 0x73, 0x1b, 0x6a, 0x4b, 0x69, 0xe7, 0x71, 0x55,
|
||||||
0x34, 0x73, 0xb8, 0x22, 0xf0, 0xb6, 0xcf, 0x3e, 0x74, 0x38, 0x8a, 0x9e, 0xc0, 0x4e, 0xea, 0x2c,
|
0xe0, 0x5d, 0x9f, 0x7d, 0x30, 0x38, 0x8a, 0x9e, 0x42, 0x4d, 0x3a, 0x8b, 0x92, 0x04, 0x1b, 0xf9,
|
||||||
0x4a, 0x02, 0xac, 0xe5, 0x1a, 0x4a, 0xb3, 0x80, 0x2b, 0xb3, 0xd5, 0xb0, 0x9f, 0xc0, 0x0e, 0xf3,
|
0x96, 0xd2, 0x2e, 0xe2, 0xea, 0x7c, 0x3d, 0xed, 0xa7, 0x50, 0x63, 0xde, 0x8c, 0x86, 0x0b, 0x46,
|
||||||
0xa6, 0x34, 0x9c, 0x33, 0x12, 0xd3, 0x61, 0x18, 0x8c, 0xe2, 0xda, 0x56, 0xe2, 0x51, 0xc2, 0x83,
|
0x62, 0x3a, 0x0a, 0x83, 0x71, 0xdc, 0xd8, 0x4e, 0x3c, 0xa6, 0xf0, 0x20, 0x41, 0x91, 0x0e, 0x95,
|
||||||
0x04, 0x45, 0x3a, 0x94, 0xc7, 0x94, 0x12, 0xdf, 0x9b, 0x7a, 0x8c, 0xf0, 0xf0, 0xb7, 0x45, 0xf8,
|
0x09, 0xa5, 0xc4, 0xf7, 0x66, 0x1e, 0x23, 0x3c, 0xfd, 0x1d, 0x91, 0x7e, 0x69, 0x42, 0x69, 0x8f,
|
||||||
0xc5, 0x31, 0xa5, 0x3d, 0x8e, 0x0d, 0x5c, 0x86, 0xbe, 0x82, 0xca, 0x92, 0x23, 0x72, 0x2c, 0x0b,
|
0x63, 0x03, 0x97, 0xa1, 0x9f, 0x43, 0x75, 0xc5, 0x11, 0x35, 0x56, 0x04, 0xa9, 0x2c, 0x49, 0xa2,
|
||||||
0x52, 0x29, 0x25, 0x89, 0x44, 0x9f, 0x81, 0x16, 0xce, 0xd9, 0x65, 0xe8, 0x05, 0x97, 0x64, 0x38,
|
0xd0, 0xe7, 0xa0, 0x85, 0x0b, 0x76, 0x15, 0x7a, 0xc1, 0x15, 0x19, 0x4d, 0xdd, 0x80, 0x78, 0xe3,
|
||||||
0x71, 0x03, 0xe2, 0x8d, 0x6a, 0xf9, 0x86, 0xd2, 0x54, 0x8f, 0x37, 0x9e, 0x2b, 0xb8, 0x92, 0xda,
|
0x46, 0xa1, 0xa5, 0xb4, 0xd5, 0xe3, 0xad, 0x17, 0x0a, 0xae, 0x4a, 0x5b, 0x77, 0xea, 0x06, 0xd6,
|
||||||
0xda, 0x13, 0x37, 0x30, 0x47, 0xe8, 0x31, 0xec, 0xf8, 0x6e, 0xcc, 0xc8, 0x24, 0x9c, 0x91, 0xd9,
|
0x18, 0x3d, 0x81, 0x9a, 0xef, 0xc6, 0x8c, 0x4c, 0xc3, 0x39, 0x99, 0x2f, 0x2e, 0xaf, 0xe9, 0x4d,
|
||||||
0xfc, 0xe2, 0x8a, 0x5e, 0xd7, 0x2a, 0xa2, 0x32, 0x65, 0x0e, 0x77, 0xc3, 0x59, 0x5f, 0x80, 0xe8,
|
0xa3, 0x2a, 0x66, 0xa6, 0xc2, 0xe1, 0xd3, 0x70, 0xde, 0x17, 0x20, 0x7a, 0x0c, 0x20, 0x66, 0x45,
|
||||||
0x11, 0x80, 0xa8, 0x8a, 0x98, 0xbc, 0x56, 0x10, 0x39, 0x14, 0x38, 0x22, 0x26, 0x46, 0xdf, 0x42,
|
0x04, 0x6f, 0x14, 0x45, 0x0d, 0x45, 0x8e, 0x88, 0xc0, 0xe8, 0x6b, 0x28, 0x89, 0x6e, 0x92, 0xa9,
|
||||||
0x51, 0xac, 0x26, 0x99, 0x78, 0x01, 0x8b, 0x6b, 0xd0, 0xd8, 0x6c, 0x16, 0x8f, 0xb4, 0x03, 0x3f,
|
0x17, 0xb0, 0xb8, 0x01, 0xad, 0x5c, 0xbb, 0x74, 0xa4, 0x1d, 0xf8, 0x01, 0x6f, 0x2c, 0xe6, 0x96,
|
||||||
0xe0, 0x0b, 0x8b, 0xb9, 0xa5, 0xeb, 0x05, 0x0c, 0x43, 0x94, 0xfe, 0x8c, 0xd1, 0x08, 0xaa, 0x7c,
|
0x53, 0x2f, 0x60, 0x18, 0x22, 0xf9, 0x18, 0xa3, 0x31, 0xd4, 0x79, 0x17, 0xc9, 0x68, 0x11, 0xb3,
|
||||||
0x15, 0xc9, 0x70, 0x1e, 0xb3, 0x70, 0x4a, 0x22, 0x3a, 0x0c, 0xa3, 0x51, 0x5c, 0x2b, 0x8a, 0xa1,
|
0x70, 0x46, 0x22, 0x3a, 0x0a, 0xa3, 0x71, 0xdc, 0x28, 0x89, 0xa1, 0xbf, 0x3e, 0x58, 0x8a, 0xe3,
|
||||||
0xbf, 0x39, 0x58, 0x88, 0xe3, 0xe0, 0xb6, 0x1a, 0x0e, 0x3a, 0x34, 0x66, 0x6d, 0x31, 0x0e, 0x27,
|
0xe0, 0xae, 0x1a, 0x0e, 0x0c, 0x1a, 0xb3, 0xae, 0x18, 0x87, 0x93, 0x61, 0x66, 0xc0, 0xa2, 0x1b,
|
||||||
0xc3, 0x8c, 0x80, 0x45, 0xd7, 0x78, 0x77, 0x74, 0x13, 0x47, 0xcf, 0x00, 0xb9, 0xbe, 0x1f, 0x7e,
|
0xbc, 0x3b, 0xbe, 0x8d, 0xa3, 0xe7, 0x80, 0x5c, 0xdf, 0x0f, 0x3f, 0x92, 0x98, 0xfa, 0x13, 0x92,
|
||||||
0x24, 0x31, 0xf5, 0xc7, 0x44, 0xae, 0x4e, 0x6d, 0xa7, 0xa1, 0x34, 0xf3, 0x58, 0x13, 0x96, 0x01,
|
0x76, 0xa7, 0x51, 0x6b, 0x29, 0xed, 0x02, 0xd6, 0x84, 0x65, 0x40, 0xfd, 0x49, 0xea, 0x1e, 0xfd,
|
||||||
0xf5, 0xc7, 0xd2, 0x3d, 0xfa, 0x2d, 0x94, 0x45, 0x4c, 0x63, 0xea, 0xb2, 0x79, 0x44, 0xe3, 0x9a,
|
0x06, 0x2a, 0x22, 0xa7, 0x09, 0x75, 0xd9, 0x22, 0xa2, 0x71, 0x43, 0x6b, 0xe5, 0xda, 0xd5, 0xa3,
|
||||||
0xd6, 0xd8, 0x6c, 0x56, 0x8e, 0x76, 0x65, 0x22, 0x27, 0x09, 0x7c, 0xec, 0x31, 0x5c, 0xe2, 0x3c,
|
0xdd, 0xb4, 0x90, 0x93, 0x04, 0x3e, 0xf6, 0x18, 0x2e, 0x73, 0x5e, 0xfa, 0x1e, 0x37, 0x0d, 0xd8,
|
||||||
0xf9, 0x1d, 0xd7, 0x3b, 0xb0, 0xb7, 0x3e, 0x24, 0xae, 0x51, 0x5e, 0x53, 0x2e, 0x5b, 0x15, 0xf3,
|
0xdb, 0x9c, 0x12, 0xd7, 0x28, 0x9f, 0x53, 0x2e, 0x5b, 0x15, 0xf3, 0x47, 0xf4, 0x00, 0xf2, 0x1f,
|
||||||
0x9f, 0xe8, 0x3e, 0xe4, 0x3e, 0xb8, 0xfe, 0x9c, 0x0a, 0xdd, 0x96, 0x70, 0xf2, 0xf1, 0xfb, 0x8d,
|
0x5c, 0x7f, 0x41, 0x85, 0x6e, 0xcb, 0x38, 0x79, 0xf9, 0xdd, 0xd6, 0x4b, 0x45, 0x7f, 0x09, 0xf5,
|
||||||
0x17, 0x8a, 0xfe, 0x02, 0xaa, 0x4e, 0xe4, 0x0e, 0xaf, 0x6e, 0x48, 0xff, 0xa6, 0x72, 0x95, 0x5b,
|
0x61, 0xe4, 0x8e, 0xae, 0x6f, 0x49, 0xff, 0xb6, 0x72, 0x95, 0x3b, 0xca, 0xd5, 0x5f, 0x41, 0x4d,
|
||||||
0xca, 0xd5, 0xff, 0xa1, 0x40, 0x59, 0x8e, 0x1a, 0x30, 0x97, 0xcd, 0x63, 0xf4, 0x0d, 0xe4, 0x62,
|
0x4c, 0xf2, 0x09, 0xa5, 0x9f, 0x5a, 0x30, 0x0f, 0x81, 0x2f, 0x07, 0x21, 0xaf, 0x64, 0xd1, 0x6c,
|
||||||
0xe6, 0x32, 0x2a, 0xd8, 0x95, 0xa3, 0x07, 0x99, 0x7a, 0x66, 0x88, 0x14, 0x27, 0x2c, 0x54, 0x87,
|
0xbb, 0x33, 0xae, 0x2c, 0x7d, 0x0c, 0xda, 0x6a, 0x7c, 0x3c, 0x0f, 0x83, 0x98, 0xf2, 0xd5, 0xc0,
|
||||||
0xfc, 0x2c, 0xa2, 0xde, 0xd4, 0xbd, 0x4c, 0xe3, 0x5a, 0x7c, 0xa3, 0x26, 0xe4, 0x26, 0xcc, 0x1f,
|
0x7b, 0xc0, 0x65, 0xc4, 0x55, 0x27, 0xf4, 0xa6, 0x88, 0x51, 0xd5, 0x14, 0x3f, 0xa1, 0x54, 0x28,
|
||||||
0xc6, 0x35, 0x55, 0x2c, 0x0d, 0x92, 0xc5, 0xe8, 0x3a, 0xbd, 0x76, 0x8b, 0x31, 0x3a, 0x9d, 0x31,
|
0xee, 0x49, 0x22, 0x72, 0xe2, 0x87, 0xa3, 0x6b, 0xbe, 0x6c, 0xdc, 0x9b, 0xd4, 0x7d, 0x85, 0xc3,
|
||||||
0x9c, 0x10, 0x4e, 0xd5, 0xfc, 0xa6, 0xa6, 0xea, 0xdf, 0xc3, 0x8e, 0x58, 0xf1, 0x13, 0x4a, 0x3f,
|
0xbd, 0x70, 0x74, 0x6d, 0x70, 0x50, 0x7f, 0x9f, 0xac, 0xec, 0x61, 0x28, 0x62, 0xfd, 0xf8, 0xf2,
|
||||||
0xb5, 0x7b, 0x1f, 0x00, 0xdf, 0x9b, 0x42, 0xeb, 0xc9, 0x0e, 0xde, 0x72, 0xa7, 0x5c, 0xe6, 0xfa,
|
0x90, 0x0e, 0x79, 0x21, 0x07, 0xe1, 0xb6, 0x74, 0x54, 0xce, 0xea, 0x0a, 0x27, 0x26, 0xfd, 0x3d,
|
||||||
0x08, 0xb4, 0xe5, 0xf8, 0x78, 0x16, 0x06, 0x31, 0x8f, 0x41, 0xe3, 0x09, 0x70, 0x4d, 0xf3, 0x2d,
|
0xd4, 0xd7, 0x9c, 0xa7, 0x55, 0x34, 0xa1, 0x30, 0x8f, 0xa8, 0x37, 0x73, 0xaf, 0x68, 0xea, 0x79,
|
||||||
0x20, 0xc4, 0xaf, 0x88, 0x51, 0x15, 0x89, 0x9f, 0x50, 0x2a, 0xe4, 0xff, 0x38, 0xd9, 0x71, 0xc4,
|
0xf9, 0x8e, 0xda, 0xb0, 0x33, 0x71, 0x3d, 0x7f, 0x11, 0x49, 0xc7, 0x55, 0xd9, 0xe7, 0x04, 0xc5,
|
||||||
0x0f, 0x87, 0x57, 0x7c, 0x0f, 0xbb, 0xd7, 0xd2, 0x7d, 0x99, 0xc3, 0xbd, 0x70, 0x78, 0xd5, 0xe1,
|
0xd2, 0xac, 0x3f, 0x82, 0x26, 0xa6, 0x31, 0x65, 0xe7, 0x5e, 0x1c, 0x7b, 0x61, 0xd0, 0x0d, 0x03,
|
||||||
0xa0, 0xfe, 0x3e, 0x39, 0x66, 0x9c, 0x50, 0xcc, 0xf5, 0xf3, 0x6b, 0x8d, 0x74, 0xc8, 0x89, 0x5a,
|
0x16, 0x85, 0x7e, 0x5a, 0x81, 0xfe, 0x18, 0xf6, 0x37, 0x5a, 0x93, 0x14, 0xf8, 0xe0, 0xef, 0x16,
|
||||||
0x0a, 0xb7, 0xc5, 0xa3, 0x52, 0x56, 0xe4, 0x38, 0x31, 0xe9, 0xef, 0xa1, 0xba, 0xe2, 0x5c, 0x66,
|
0x34, 0xba, 0xd9, 0x3c, 0xf8, 0x3b, 0xd8, 0xdf, 0x68, 0x4d, 0xf3, 0x7f, 0x0e, 0xf9, 0xb9, 0xeb,
|
||||||
0x91, 0xad, 0xb2, 0x72, 0xab, 0xca, 0xdb, 0x63, 0xd7, 0xf3, 0xe7, 0x51, 0xea, 0xb8, 0x92, 0x8a,
|
0x45, 0x71, 0x63, 0x4b, 0xac, 0x8b, 0xbd, 0xcc, 0xba, 0xe8, 0xbb, 0x5e, 0x74, 0xea, 0xc5, 0x2c,
|
||||||
0x2e, 0x41, 0x71, 0x6a, 0xd6, 0x1f, 0x42, 0x1d, 0xd3, 0x98, 0xb2, 0x33, 0x2f, 0x8e, 0xbd, 0x30,
|
0x8c, 0x6e, 0x70, 0x42, 0x7a, 0xad, 0x16, 0x14, 0x6d, 0x4b, 0xff, 0xbb, 0x02, 0xa5, 0x8c, 0x11,
|
||||||
0x68, 0x87, 0x01, 0x8b, 0x42, 0x5f, 0x66, 0xa0, 0x3f, 0x82, 0xfd, 0xb5, 0xd6, 0x24, 0x04, 0x3e,
|
0xed, 0x43, 0x31, 0x08, 0xc7, 0x94, 0x4c, 0xa2, 0x70, 0x26, 0x27, 0x81, 0x03, 0x27, 0x51, 0x38,
|
||||||
0xf8, 0x87, 0x39, 0x8d, 0xae, 0xd7, 0x0f, 0xfe, 0x01, 0xf6, 0xd7, 0x5a, 0x65, 0xfc, 0xcf, 0x20,
|
0xe3, 0x9a, 0x10, 0x46, 0x16, 0xa6, 0x82, 0xdc, 0xe6, 0xaf, 0xc3, 0x10, 0xfd, 0x12, 0x76, 0xa6,
|
||||||
0x37, 0x73, 0xbd, 0x28, 0xae, 0x6d, 0x08, 0x25, 0xec, 0xad, 0x88, 0xca, 0x8b, 0xba, 0x5e, 0xcc,
|
0x89, 0x03, 0xb1, 0x17, 0x95, 0x8e, 0xea, 0xb7, 0x62, 0x1b, 0x2e, 0x73, 0xb1, 0xe4, 0xbc, 0x56,
|
||||||
0xc2, 0xe8, 0x1a, 0x27, 0xa4, 0x53, 0x35, 0xaf, 0x68, 0x1b, 0x5c, 0x9a, 0xc5, 0x8c, 0x11, 0xed,
|
0x0b, 0x39, 0x4d, 0x7d, 0xad, 0x16, 0x54, 0x2d, 0xff, 0x5a, 0x2d, 0xe4, 0xb5, 0xed, 0xd7, 0x6a,
|
||||||
0x43, 0x21, 0x08, 0x47, 0x94, 0x8c, 0xa3, 0x70, 0x9a, 0x16, 0x81, 0x03, 0x27, 0x51, 0x38, 0xe5,
|
0x61, 0x5b, 0xdb, 0xd1, 0xff, 0xad, 0x40, 0x41, 0xb2, 0x79, 0x26, 0x7c, 0x4a, 0x09, 0xd7, 0x45,
|
||||||
0x9a, 0x10, 0x46, 0x16, 0x4a, 0x15, 0x6e, 0xf1, 0x4f, 0x27, 0x44, 0xdf, 0xc0, 0xf6, 0x24, 0x71,
|
0x2a, 0xa6, 0x02, 0x07, 0x86, 0xde, 0x8c, 0xa2, 0x16, 0x94, 0x85, 0x71, 0x5d, 0xa2, 0xc0, 0xb1,
|
||||||
0x20, 0x0e, 0xc6, 0xe2, 0x51, 0xf5, 0xc6, 0xdc, 0x1d, 0x97, 0xb9, 0x38, 0xe5, 0x24, 0x42, 0x3c,
|
0x8e, 0x90, 0xa9, 0xd8, 0x24, 0x25, 0x43, 0xe8, 0x51, 0x4d, 0x37, 0xc9, 0x84, 0x22, 0xf7, 0xf9,
|
||||||
0x55, 0xf3, 0xaa, 0x96, 0x3b, 0x55, 0xf3, 0x39, 0x6d, 0xeb, 0x54, 0xcd, 0x6f, 0x69, 0xdb, 0xfa,
|
0x78, 0x31, 0x1a, 0xd1, 0x38, 0x4e, 0xa2, 0xe4, 0x13, 0x4a, 0x8a, 0x89, 0x40, 0x4f, 0xa0, 0x26,
|
||||||
0x7f, 0x15, 0xc8, 0xa7, 0x6c, 0x1e, 0x09, 0x2f, 0x29, 0xe1, 0xba, 0x90, 0x62, 0xca, 0x73, 0xc0,
|
0x29, 0x32, 0xd6, 0x76, 0xa2, 0xd7, 0x14, 0x4e, 0xc3, 0xb5, 0x41, 0xcb, 0xf2, 0x66, 0xab, 0x6d,
|
||||||
0xf1, 0xa6, 0x14, 0x35, 0xa0, 0x24, 0x8c, 0xab, 0x12, 0x05, 0x8e, 0xb5, 0x84, 0x4c, 0xc5, 0x89,
|
0xb9, 0xba, 0x22, 0xf2, 0xa0, 0x49, 0xf1, 0xfa, 0x5f, 0xe0, 0xa1, 0x68, 0x65, 0x3f, 0x0a, 0x2f,
|
||||||
0x9d, 0x32, 0x84, 0x1e, 0x55, 0x79, 0x62, 0x27, 0x94, 0xb4, 0xe9, 0xc4, 0xf3, 0xe1, 0x90, 0xc6,
|
0xdd, 0x4b, 0xcf, 0xf7, 0xd8, 0x8d, 0x14, 0x39, 0x2f, 0x3c, 0x0a, 0x67, 0x84, 0xcf, 0xad, 0x6c,
|
||||||
0x71, 0x32, 0x4b, 0x2e, 0xa1, 0x48, 0x4c, 0x4c, 0xf4, 0x18, 0x76, 0x52, 0x4a, 0x3a, 0xd7, 0x56,
|
0x01, 0x07, 0xec, 0x70, 0x4c, 0x79, 0x0b, 0x58, 0x98, 0x98, 0xd2, 0x16, 0xb0, 0x50, 0x18, 0xb2,
|
||||||
0xa2, 0x57, 0x09, 0xcb, 0xe9, 0x9a, 0xa0, 0x65, 0x79, 0xd3, 0x65, 0x8f, 0xa8, 0x2c, 0x89, 0x7c,
|
0xc7, 0x59, 0x6e, 0xed, 0x38, 0xd3, 0xaf, 0xa1, 0x71, 0x37, 0x56, 0xaa, 0x99, 0x16, 0x94, 0xe6,
|
||||||
0x52, 0xb9, 0x0b, 0xff, 0x02, 0x0f, 0xc4, 0x52, 0xf6, 0xa3, 0xf0, 0xc2, 0xbd, 0xf0, 0x7c, 0x8f,
|
0x2b, 0x58, 0x84, 0x53, 0x70, 0x16, 0xca, 0xf6, 0x76, 0xeb, 0x87, 0x7b, 0xab, 0xff, 0x43, 0x81,
|
||||||
0x5d, 0xa7, 0x22, 0xe7, 0x89, 0x47, 0xe1, 0x94, 0xf0, 0xda, 0xa6, 0x4b, 0xc0, 0x01, 0x2b, 0x1c,
|
0xdd, 0xe3, 0x85, 0xe7, 0x8f, 0xd7, 0x16, 0x6e, 0x36, 0x3b, 0x65, 0xfd, 0xb0, 0xdd, 0x74, 0x92,
|
||||||
0x51, 0xbe, 0x04, 0x2c, 0x4c, 0x4c, 0x72, 0x09, 0x58, 0x28, 0x0c, 0xd9, 0xde, 0xba, 0xb9, 0xd2,
|
0x6e, 0x6d, 0x3c, 0x49, 0x37, 0x9d, 0x56, 0xb9, 0x7b, 0x4f, 0xab, 0x9f, 0x42, 0x69, 0x75, 0x50,
|
||||||
0x5b, 0xf5, 0x2b, 0xa8, 0xdd, 0x9e, 0x4b, 0x6a, 0xa6, 0x01, 0xc5, 0xd9, 0x12, 0x16, 0xd3, 0x29,
|
0xc5, 0x0d, 0xb5, 0x95, 0x6b, 0x97, 0x31, 0x4c, 0xe5, 0x29, 0x15, 0xeb, 0x2f, 0x01, 0x65, 0x13,
|
||||||
0x38, 0x0b, 0x65, 0xd7, 0x76, 0xe3, 0xa7, 0xd7, 0x56, 0xff, 0xa7, 0x02, 0xbb, 0xc7, 0x73, 0xcf,
|
0x4d, 0x27, 0x64, 0xb9, 0x7f, 0x28, 0xf7, 0xef, 0x1f, 0x8f, 0xa0, 0x39, 0x58, 0x5c, 0xc6, 0xa3,
|
||||||
0x1f, 0xad, 0x6c, 0xdc, 0x6c, 0x74, 0xca, 0x6a, 0xe7, 0x5f, 0xd7, 0xd6, 0x37, 0xd6, 0xb6, 0xf5,
|
0xc8, 0xbb, 0xa4, 0xa7, 0xcc, 0x1f, 0x99, 0x1f, 0x68, 0xc0, 0x62, 0xb9, 0x4a, 0xff, 0xab, 0x42,
|
||||||
0x75, 0xad, 0x73, 0xf3, 0xce, 0xd6, 0xf9, 0x05, 0x14, 0x97, 0x5d, 0x33, 0x39, 0x1d, 0x4b, 0x18,
|
0x71, 0x89, 0xa2, 0x03, 0xa8, 0x7b, 0xc1, 0x28, 0x9c, 0xc9, 0xa4, 0x03, 0xea, 0xf3, 0xbc, 0x93,
|
||||||
0x26, 0x69, 0xcb, 0x8c, 0xf5, 0x17, 0x80, 0xb2, 0x81, 0xca, 0x82, 0x2c, 0xce, 0x0f, 0xe5, 0xee,
|
0x4d, 0x7e, 0x57, 0x9a, 0xba, 0x89, 0xc5, 0x1a, 0x73, 0xfe, 0x5a, 0x91, 0x29, 0x7f, 0x2b, 0xe1,
|
||||||
0xf3, 0xe3, 0x21, 0xd4, 0x07, 0xf3, 0x8b, 0x78, 0x18, 0x79, 0x17, 0xb4, 0xcb, 0xfc, 0xa1, 0xf1,
|
0x67, 0x6b, 0x4c, 0xf8, 0x6d, 0xd0, 0x96, 0xfe, 0xa7, 0xcc, 0x1f, 0x2d, 0x27, 0x05, 0x57, 0x25,
|
||||||
0x81, 0x06, 0x2c, 0x4e, 0x77, 0xe9, 0xff, 0x54, 0x28, 0x2c, 0x50, 0x74, 0x00, 0x55, 0x2f, 0x18,
|
0xce, 0x93, 0x49, 0x98, 0x4b, 0xcf, 0x92, 0xa9, 0x26, 0x4c, 0x89, 0xa7, 0xcc, 0x2f, 0xa1, 0xcc,
|
||||||
0x86, 0xd3, 0x34, 0xe8, 0x80, 0xfa, 0x3c, 0xee, 0xa4, 0xe3, 0xec, 0xa6, 0xa6, 0x76, 0x62, 0x31,
|
0xd7, 0x43, 0xcc, 0xdc, 0xd9, 0x9c, 0x04, 0xb1, 0x58, 0x17, 0x2a, 0x2e, 0x2d, 0x31, 0x3b, 0x46,
|
||||||
0x47, 0x9c, 0xbf, 0x92, 0xa4, 0xe4, 0x6f, 0x24, 0xfc, 0x6c, 0x8e, 0x09, 0xbf, 0x09, 0xda, 0xc2,
|
0xdf, 0x00, 0x50, 0x5e, 0x1f, 0x61, 0x37, 0x73, 0x2a, 0x96, 0x44, 0xf5, 0xe8, 0x8b, 0x8c, 0x30,
|
||||||
0x3f, 0x3f, 0xe6, 0x17, 0x45, 0xc1, 0x95, 0x14, 0xe7, 0xc1, 0x24, 0xcc, 0x85, 0xe7, 0x94, 0xa9,
|
0x96, 0x13, 0x70, 0x20, 0xfe, 0x0e, 0x6f, 0xe6, 0x14, 0x17, 0xa9, 0x7c, 0x44, 0xaf, 0xa0, 0x32,
|
||||||
0x26, 0xcc, 0x14, 0x97, 0xcc, 0x2f, 0xa1, 0xc4, 0xf7, 0x43, 0xcc, 0xdc, 0xe9, 0x8c, 0x04, 0xb1,
|
0x09, 0xa3, 0x8f, 0x6e, 0x34, 0x26, 0x02, 0x4c, 0xb7, 0x8d, 0x87, 0x19, 0x0f, 0x27, 0x89, 0x5d,
|
||||||
0xd8, 0x17, 0x2a, 0x2e, 0x2e, 0x30, 0x2b, 0x46, 0xdf, 0x01, 0x50, 0x9e, 0x1f, 0x61, 0xd7, 0x33,
|
0x0c, 0x3f, 0xfd, 0x0c, 0x97, 0x27, 0x99, 0x77, 0x74, 0x06, 0x48, 0x8e, 0x17, 0xab, 0x3c, 0x71,
|
||||||
0x2a, 0xb6, 0x44, 0xe5, 0xe8, 0xf3, 0x8c, 0x30, 0x16, 0x05, 0x38, 0x10, 0xff, 0x3a, 0xd7, 0x33,
|
0x52, 0x10, 0x4e, 0xf6, 0xef, 0x3a, 0xe1, 0x9b, 0xb4, 0x74, 0xa4, 0x4d, 0x6e, 0x61, 0xe8, 0xf7,
|
||||||
0x8a, 0x0b, 0x34, 0xfd, 0x89, 0xbe, 0x87, 0xf2, 0x38, 0x8c, 0x3e, 0xba, 0xd1, 0x88, 0x08, 0x50,
|
0x50, 0x8e, 0x29, 0x63, 0x3e, 0x4d, 0xdd, 0x14, 0x85, 0x9b, 0xbd, 0xb5, 0x6b, 0x05, 0x37, 0x4b,
|
||||||
0x1e, 0x1b, 0xd9, 0x3e, 0x78, 0x92, 0xd8, 0xc5, 0xf0, 0xee, 0x3d, 0x5c, 0x1a, 0x67, 0xbe, 0xd1,
|
0x0f, 0xa5, 0x78, 0xf5, 0x8a, 0x8e, 0xa1, 0xe6, 0x7b, 0xc1, 0x75, 0x36, 0x0d, 0x10, 0xe3, 0x1b,
|
||||||
0x2b, 0x40, 0xe9, 0x78, 0xb1, 0xcb, 0x13, 0x27, 0x79, 0xe1, 0x64, 0xff, 0xb6, 0x13, 0x7e, 0x48,
|
0x99, 0xf1, 0x3d, 0x2f, 0xb8, 0xce, 0xe6, 0x50, 0xf1, 0xb3, 0x80, 0xfe, 0x07, 0x28, 0x2e, 0x67,
|
||||||
0xa7, 0x8e, 0xb4, 0xf1, 0x0d, 0x0c, 0xfd, 0x01, 0x4a, 0x31, 0x65, 0xcc, 0xa7, 0xd2, 0x4d, 0x41,
|
0x09, 0x95, 0x60, 0xe7, 0xc2, 0x3e, 0xb3, 0x9d, 0xb7, 0xb6, 0xf6, 0x19, 0x2a, 0x80, 0x3a, 0x30,
|
||||||
0xb8, 0xd9, 0x5b, 0xb9, 0xe3, 0x70, 0x73, 0xea, 0xa1, 0x18, 0x2f, 0x3f, 0xd1, 0x31, 0xec, 0xf8,
|
0x6d, 0x43, 0x53, 0x38, 0x8c, 0xcd, 0xae, 0x69, 0xbd, 0x31, 0xb5, 0x2d, 0xfe, 0x72, 0xe2, 0xe0,
|
||||||
0x5e, 0x70, 0x95, 0x0d, 0x03, 0xc4, 0xf8, 0x5a, 0x66, 0x7c, 0xcf, 0x0b, 0xae, 0xb2, 0x31, 0x94,
|
0xb7, 0x1d, 0x6c, 0x68, 0xb9, 0xe3, 0x1d, 0xc8, 0x8b, 0xb8, 0xfa, 0x3f, 0x15, 0x28, 0x88, 0x0e,
|
||||||
0xfd, 0x2c, 0xa0, 0xff, 0x11, 0x0a, 0x8b, 0x2a, 0xa1, 0x22, 0x6c, 0x9f, 0x5b, 0xaf, 0x2c, 0xfb,
|
0x06, 0x93, 0x10, 0xfd, 0x02, 0x96, 0xe2, 0x12, 0x9b, 0x1b, 0x3f, 0x70, 0x85, 0xea, 0x2a, 0x78,
|
||||||
0x8d, 0xa5, 0xdd, 0x43, 0x79, 0x50, 0x07, 0x86, 0xd5, 0xd1, 0x14, 0x0e, 0x63, 0xa3, 0x6d, 0x98,
|
0x29, 0x98, 0x61, 0x8a, 0x73, 0xf2, 0x52, 0x1a, 0x4b, 0xf2, 0x56, 0x42, 0x96, 0x86, 0x25, 0xf9,
|
||||||
0xaf, 0x0d, 0x6d, 0x83, 0x7f, 0x9c, 0xd8, 0xf8, 0x4d, 0x0b, 0x77, 0xb4, 0xcd, 0xe3, 0x6d, 0xc8,
|
0x59, 0xc6, 0xf3, 0xda, 0x96, 0xa3, 0xe2, 0x9a, 0x34, 0xc8, 0x1d, 0xf6, 0x59, 0xc6, 0xf1, 0xda,
|
||||||
0x89, 0x79, 0xf5, 0x7f, 0x2b, 0x90, 0x17, 0x2b, 0x18, 0x8c, 0x43, 0xf4, 0x2b, 0x58, 0x88, 0x4b,
|
0x4e, 0xac, 0xe2, 0x9a, 0x34, 0xa4, 0x5c, 0xfd, 0xb7, 0x50, 0xce, 0xf6, 0x1c, 0x3d, 0x05, 0xd5,
|
||||||
0x1c, 0x6e, 0xbc, 0xe1, 0x0a, 0xd5, 0x95, 0xf1, 0x42, 0x30, 0x8e, 0xc4, 0x39, 0x79, 0x21, 0x8d,
|
0x0b, 0x26, 0x61, 0xba, 0x10, 0xeb, 0xb7, 0xc4, 0xc5, 0x8b, 0xc4, 0x82, 0xa0, 0x23, 0xd0, 0x6e,
|
||||||
0x05, 0x79, 0x23, 0x21, 0xa7, 0x86, 0x05, 0xf9, 0x69, 0xc6, 0xf3, 0xca, 0x91, 0xa3, 0xe2, 0x9d,
|
0xf7, 0x59, 0xaf, 0x40, 0x29, 0xd3, 0x34, 0xfd, 0x5f, 0x0a, 0x54, 0xd6, 0x9a, 0xf0, 0xa3, 0xbd,
|
||||||
0xd4, 0x90, 0x9e, 0xb0, 0x4f, 0x33, 0x8e, 0x57, 0x4e, 0x62, 0x15, 0xef, 0xa4, 0x06, 0xc9, 0xd5,
|
0xa3, 0x6f, 0xa0, 0xfc, 0xd1, 0x8b, 0x28, 0xc9, 0x1e, 0xff, 0xd5, 0xa3, 0xe6, 0xfa, 0xf1, 0x2f,
|
||||||
0x7f, 0x07, 0xa5, 0xec, 0x9a, 0xa3, 0x27, 0xa0, 0x7a, 0xc1, 0x38, 0x94, 0x1b, 0xb1, 0x7a, 0x43,
|
0xff, 0x77, 0xc3, 0x31, 0xc5, 0x25, 0xce, 0x4f, 0x01, 0xf4, 0x47, 0xa8, 0xa6, 0x23, 0xc9, 0x98,
|
||||||
0x5c, 0x3c, 0x49, 0x2c, 0x08, 0x3a, 0x02, 0xed, 0xe6, 0x3a, 0xeb, 0x65, 0x28, 0x66, 0x16, 0x4d,
|
0x32, 0xd7, 0xf3, 0xc5, 0x54, 0x55, 0xd7, 0xe4, 0x91, 0x72, 0x0d, 0x61, 0xc7, 0x95, 0x49, 0xf6,
|
||||||
0xff, 0x8f, 0x02, 0xe5, 0x95, 0x45, 0xf8, 0xd9, 0xde, 0xd1, 0x77, 0x50, 0xfa, 0xe8, 0x45, 0x94,
|
0x15, 0x7d, 0xb5, 0x72, 0x10, 0xb3, 0xc8, 0x0b, 0xae, 0xc4, 0xfc, 0x15, 0x97, 0xb4, 0x81, 0x00,
|
||||||
0x64, 0xdb, 0x7f, 0xe5, 0xa8, 0xbe, 0xda, 0xfe, 0xd3, 0xff, 0xdb, 0xe1, 0x88, 0xe2, 0x22, 0xe7,
|
0x9f, 0xfd, 0x4d, 0x85, 0xca, 0x9a, 0x9f, 0x75, 0x21, 0x55, 0xa0, 0x68, 0x3b, 0xc4, 0x30, 0x87,
|
||||||
0x4b, 0x00, 0xfd, 0x09, 0x2a, 0x72, 0x24, 0x19, 0x51, 0xe6, 0x7a, 0xbe, 0x28, 0x55, 0x65, 0x45,
|
0x1d, 0xab, 0xa7, 0x29, 0x48, 0x83, 0xb2, 0x63, 0x5b, 0x8e, 0x4d, 0x0c, 0xb3, 0xeb, 0x18, 0x5c,
|
||||||
0x1e, 0x92, 0xdb, 0x11, 0x76, 0x5c, 0x1e, 0x67, 0x3f, 0xd1, 0xd7, 0x4b, 0x07, 0x31, 0x8b, 0xbc,
|
0x52, 0x9f, 0xc3, 0x6e, 0xcf, 0xb2, 0xcf, 0x88, 0xed, 0x0c, 0x89, 0xd9, 0xb3, 0xbe, 0xb5, 0x8e,
|
||||||
0xe0, 0x52, 0xd4, 0xaf, 0xb0, 0xa0, 0x0d, 0x04, 0xf8, 0xf4, 0x5f, 0x0a, 0x94, 0xb2, 0x57, 0x47,
|
0x7b, 0xa6, 0x96, 0x43, 0x0f, 0x40, 0x73, 0x6c, 0xd2, 0x3d, 0xed, 0x58, 0x36, 0x19, 0x5a, 0xe7,
|
||||||
0x54, 0x86, 0x82, 0x69, 0x91, 0x93, 0x9e, 0xf9, 0xb2, 0xeb, 0x68, 0xf7, 0xf8, 0xe7, 0xe0, 0xbc,
|
0xa6, 0x73, 0x31, 0xd4, 0x54, 0x8e, 0x9e, 0x0e, 0x7b, 0x5d, 0x62, 0xbe, 0xeb, 0x9a, 0xa6, 0x31,
|
||||||
0xdd, 0x36, 0x8c, 0x8e, 0xc1, 0xe5, 0x84, 0xa0, 0x72, 0xd2, 0x32, 0x7b, 0x46, 0x87, 0x38, 0xe6,
|
0x20, 0xe7, 0x9d, 0x77, 0x5a, 0x1e, 0x35, 0xe0, 0x81, 0x65, 0x0f, 0x2e, 0x4e, 0x4e, 0xac, 0xae,
|
||||||
0x99, 0x61, 0x9f, 0x3b, 0xda, 0x06, 0xaa, 0xc2, 0x8e, 0xc4, 0x2c, 0x9b, 0x60, 0xfb, 0xdc, 0x31,
|
0x65, 0xda, 0x43, 0x72, 0xdc, 0xe9, 0x75, 0xec, 0xae, 0xa9, 0x6d, 0xa3, 0x3d, 0x40, 0x96, 0xdd,
|
||||||
0xb4, 0x4d, 0xa4, 0x41, 0x49, 0x82, 0x06, 0xc6, 0x36, 0xd6, 0x54, 0xf4, 0x15, 0x34, 0x24, 0x62,
|
0x75, 0xce, 0xfb, 0x3d, 0x73, 0x68, 0x12, 0x29, 0xdd, 0x1d, 0x54, 0x87, 0x9a, 0xf0, 0xd3, 0x31,
|
||||||
0x5a, 0x6d, 0x1b, 0x63, 0xa3, 0xed, 0x90, 0x7e, 0xeb, 0xdd, 0x99, 0x61, 0x39, 0xa4, 0x63, 0x38,
|
0x0c, 0x72, 0xd2, 0xb1, 0x7a, 0xa6, 0xa1, 0x15, 0x78, 0x26, 0x29, 0x63, 0x40, 0x0c, 0x6b, 0xd0,
|
||||||
0x2d, 0xb3, 0x37, 0xd0, 0x72, 0xe8, 0x0b, 0xd8, 0x5f, 0xb0, 0x06, 0xe7, 0x27, 0x27, 0x66, 0xdb,
|
0x39, 0xe6, 0x70, 0x91, 0xc7, 0xb4, 0xec, 0x37, 0x8e, 0xd5, 0x35, 0x49, 0x97, 0xbb, 0xe5, 0x28,
|
||||||
0xe4, 0x84, 0xe3, 0x56, 0xaf, 0x65, 0xb5, 0x0d, 0x6d, 0xeb, 0xe9, 0xdf, 0x54, 0x28, 0xaf, 0x24,
|
0x70, 0xb2, 0x44, 0x2f, 0x6c, 0xc3, 0xc4, 0xfd, 0x8e, 0x65, 0x68, 0x25, 0xb4, 0x0f, 0x0f, 0x25,
|
||||||
0xbe, 0xaa, 0xfc, 0x32, 0x14, 0x2c, 0x5b, 0xfa, 0xd3, 0x14, 0x1e, 0x86, 0x6d, 0x99, 0xb6, 0x45,
|
0x6c, 0xbe, 0xeb, 0x5b, 0xf8, 0x7b, 0x32, 0x74, 0x1c, 0x32, 0x70, 0x1c, 0x5b, 0x2b, 0x67, 0x3d,
|
||||||
0x3a, 0x46, 0xdb, 0xee, 0xf0, 0x3d, 0xf0, 0x19, 0xec, 0xf6, 0x4c, 0xeb, 0x15, 0xb1, 0x6c, 0x87,
|
0xf1, 0x6a, 0x9d, 0xbe, 0x69, 0x6b, 0x15, 0xf4, 0x10, 0xea, 0xe7, 0xfd, 0x3e, 0x91, 0x16, 0x59,
|
||||||
0x18, 0x3d, 0xf3, 0xa5, 0x79, 0xdc, 0xe3, 0xf1, 0xde, 0x07, 0xcd, 0xb6, 0x48, 0xbb, 0xdb, 0x32,
|
0x6c, 0x95, 0xd3, 0x3b, 0x86, 0x81, 0xcd, 0xc1, 0x80, 0x9c, 0x5b, 0x83, 0xf3, 0xce, 0xb0, 0x7b,
|
||||||
0xad, 0x45, 0x6a, 0x2a, 0x47, 0xf9, 0x85, 0x98, 0x18, 0x6f, 0x79, 0x05, 0x06, 0xe4, 0xac, 0xf5,
|
0xaa, 0xd5, 0x78, 0x49, 0x03, 0x73, 0x48, 0x86, 0xce, 0xb0, 0xd3, 0x5b, 0xe1, 0x1a, 0x4f, 0x68,
|
||||||
0x56, 0xcb, 0xa1, 0x1a, 0xdc, 0x5f, 0x1f, 0x1c, 0xda, 0x03, 0xc4, 0x93, 0x3b, 0xeb, 0xf7, 0x0c,
|
0x85, 0xf3, 0xa0, 0x3d, 0xe7, 0xad, 0xb6, 0xcb, 0x27, 0x9c, 0xc3, 0xce, 0x9b, 0x34, 0x45, 0xc4,
|
||||||
0xc7, 0x20, 0xe9, 0x5e, 0xdb, 0xe6, 0x25, 0x12, 0x7e, 0x5a, 0x9d, 0x0e, 0x49, 0xd2, 0xd3, 0xf2,
|
0x6b, 0x4f, 0xdb, 0x23, 0x63, 0x6a, 0x75, 0x0e, 0x5a, 0xf6, 0x9b, 0x4e, 0xcf, 0x32, 0xc8, 0x99,
|
||||||
0x3c, 0x12, 0xc9, 0x18, 0x90, 0x8e, 0x39, 0x68, 0x1d, 0x73, 0xb8, 0xc0, 0xe7, 0x34, 0xad, 0xd7,
|
0xf9, 0xbd, 0x58, 0xfa, 0x0f, 0x38, 0x98, 0x64, 0x46, 0xfa, 0xd8, 0xf9, 0x96, 0x27, 0xa2, 0x7d,
|
||||||
0xb6, 0xd9, 0x36, 0x48, 0x9b, 0xbb, 0xe5, 0x28, 0x70, 0x72, 0x8a, 0x9e, 0x5b, 0x1d, 0x03, 0xf7,
|
0x8e, 0x10, 0x54, 0xbb, 0x16, 0xee, 0x5e, 0xf4, 0x3a, 0x98, 0x60, 0xe7, 0x62, 0x68, 0x6a, 0x7b,
|
||||||
0x5b, 0x66, 0x47, 0x2b, 0xa2, 0x7d, 0x78, 0x90, 0xc2, 0xc6, 0xdb, 0xbe, 0x89, 0xdf, 0x11, 0xc7,
|
0x47, 0xff, 0xc9, 0xc3, 0xb6, 0x38, 0xa8, 0x22, 0xf4, 0x8a, 0xeb, 0x7f, 0xf9, 0x2d, 0x84, 0x1e,
|
||||||
0xb6, 0xc9, 0xc0, 0xb6, 0x2d, 0xad, 0x94, 0xf5, 0xc4, 0xb3, 0xb5, 0xfb, 0x86, 0xa5, 0x95, 0xd1,
|
0x7f, 0xf2, 0x1b, 0xa9, 0x29, 0x2f, 0xb3, 0x29, 0xfc, 0x42, 0x41, 0x7f, 0x82, 0x72, 0xf6, 0xfb,
|
||||||
0x03, 0xa8, 0x9e, 0xf5, 0xfb, 0x24, 0xb5, 0xa4, 0xc9, 0x56, 0x38, 0xbd, 0xd5, 0xe9, 0x60, 0x63,
|
0x02, 0x65, 0xf7, 0xf6, 0x0d, 0x1f, 0x1e, 0x1b, 0x3c, 0x9c, 0x81, 0x66, 0xc6, 0xcc, 0x9b, 0xb9,
|
||||||
0x30, 0x20, 0x67, 0xe6, 0xe0, 0xac, 0xe5, 0xb4, 0xbb, 0xda, 0x0e, 0x4f, 0x69, 0x60, 0x38, 0xc4,
|
0x8c, 0xca, 0xef, 0x05, 0xd4, 0xcc, 0x78, 0xb9, 0xf5, 0x11, 0xd2, 0xdc, 0xdf, 0x68, 0x4b, 0x4f,
|
||||||
0xb1, 0x9d, 0x56, 0x6f, 0x89, 0x6b, 0x3c, 0xa0, 0x25, 0xce, 0x27, 0xed, 0xd9, 0x6f, 0xb4, 0x5d,
|
0xe5, 0x5e, 0x52, 0x4e, 0x7a, 0x63, 0xbf, 0x53, 0xce, 0xfa, 0x67, 0x42, 0xf3, 0x8b, 0xfb, 0xcc,
|
||||||
0x5e, 0x70, 0x0e, 0xdb, 0xaf, 0x65, 0x88, 0x88, 0xe7, 0x2e, 0x97, 0x27, 0x9d, 0x53, 0xab, 0x72,
|
0xa9, 0xb7, 0x31, 0xd4, 0x37, 0x5c, 0xc2, 0xd1, 0x57, 0xd9, 0x0c, 0xee, 0xbd, 0xc2, 0x37, 0x9f,
|
||||||
0xd0, 0xb4, 0x5e, 0xb7, 0x7a, 0x66, 0x87, 0xbc, 0x32, 0xde, 0x89, 0xb3, 0xea, 0x3e, 0x07, 0x93,
|
0xfc, 0x10, 0x6d, 0x15, 0x65, 0xc3, 0x6d, 0x7d, 0x2d, 0xca, 0xfd, 0x77, 0xfd, 0xb5, 0x28, 0x9f,
|
||||||
0xc8, 0x48, 0x1f, 0xdb, 0x2f, 0x79, 0x20, 0xda, 0x67, 0x5c, 0x71, 0x6d, 0x13, 0xb7, 0xcf, 0x7b,
|
0xba, 0xf4, 0xbf, 0x07, 0xed, 0xf6, 0xe5, 0x0e, 0xe9, 0xb7, 0xc7, 0xde, 0xbd, 0x65, 0x36, 0x7f,
|
||||||
0x2d, 0x2c, 0xc5, 0xb5, 0x77, 0xf4, 0xf7, 0x2d, 0xd8, 0x12, 0x9d, 0x35, 0x42, 0x5d, 0xbe, 0x61,
|
0xf6, 0x49, 0x4e, 0xea, 0xdc, 0x02, 0x58, 0x5d, 0x91, 0xd0, 0xa3, 0xcc, 0x90, 0x3b, 0x57, 0xbc,
|
||||||
0x17, 0x2f, 0x49, 0xf4, 0xe8, 0x93, 0x2f, 0xcc, 0x7a, 0x6d, 0xfd, 0x83, 0x69, 0x1e, 0x3f, 0x57,
|
0xe6, 0xe3, 0x7b, 0xac, 0xa9, 0xab, 0x21, 0xd4, 0x37, 0xdc, 0x99, 0xd6, 0x66, 0xe3, 0xfe, 0x3b,
|
||||||
0xd0, 0x29, 0x94, 0xb2, 0xef, 0x34, 0x94, 0x6d, 0x4b, 0x6b, 0x1e, 0x70, 0x9f, 0xf4, 0xf5, 0x0a,
|
0x55, 0xf3, 0xc1, 0xa6, 0xab, 0xc5, 0x0b, 0xe5, 0xf8, 0xeb, 0x3f, 0x1f, 0x5e, 0x79, 0x6c, 0xba,
|
||||||
0x34, 0x23, 0x66, 0xde, 0x94, 0xbf, 0xc5, 0xe4, 0xa3, 0x07, 0xd5, 0x33, 0xfc, 0x1b, 0x2f, 0xa9,
|
0xb8, 0x3c, 0x18, 0x85, 0xb3, 0x43, 0xdf, 0xbb, 0x9a, 0xb2, 0xc0, 0x0b, 0xae, 0x02, 0xca, 0x3e,
|
||||||
0xfa, 0xfe, 0x5a, 0x9b, 0xbc, 0x5a, 0xf4, 0x92, 0x14, 0xe5, 0xb3, 0xe3, 0x56, 0x8a, 0xab, 0x6f,
|
0x86, 0xd1, 0xf5, 0xa1, 0x1f, 0x8c, 0x0f, 0x85, 0x2e, 0x0f, 0x97, 0xc3, 0x2f, 0xb7, 0xc5, 0x6f,
|
||||||
0x9d, 0xfa, 0xe7, 0x77, 0x99, 0xa5, 0xb7, 0x11, 0x54, 0xd7, 0xbc, 0x24, 0xd0, 0xd7, 0xd9, 0x08,
|
0x47, 0xbf, 0xfa, 0x7f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x74, 0xbe, 0x98, 0x4d, 0x6b, 0x12, 0x00,
|
||||||
0xee, 0x7c, 0x87, 0xd4, 0x1f, 0xff, 0x14, 0x6d, 0x39, 0xcb, 0x9a, 0x27, 0xc7, 0xca, 0x2c, 0x77,
|
0x00,
|
||||||
0x3f, 0x58, 0x56, 0x66, 0xf9, 0xd4, 0xcb, 0xe5, 0x3d, 0x68, 0x37, 0x6f, 0xa8, 0x48, 0xbf, 0x39,
|
|
||||||
0xf6, 0xf6, 0x55, 0xb9, 0xfe, 0xcb, 0x4f, 0x72, 0xa4, 0x73, 0x13, 0x60, 0x79, 0xcf, 0x43, 0x0f,
|
|
||||||
0x33, 0x43, 0x6e, 0xdd, 0x53, 0xeb, 0x8f, 0xee, 0xb0, 0x4a, 0x57, 0x0e, 0x54, 0xd7, 0x5c, 0xfc,
|
|
||||||
0x56, 0xaa, 0x71, 0xf7, 0xc5, 0xb0, 0x7e, 0x7f, 0xdd, 0xfd, 0xe8, 0xb9, 0x72, 0xfc, 0xed, 0x9f,
|
|
||||||
0x0f, 0x2f, 0x3d, 0x36, 0x99, 0x5f, 0x1c, 0x0c, 0xc3, 0xe9, 0xa1, 0xef, 0x5d, 0x4e, 0x58, 0xe0,
|
|
||||||
0x05, 0x97, 0x01, 0x65, 0x1f, 0xc3, 0xe8, 0xea, 0xd0, 0x0f, 0x46, 0x87, 0xa2, 0xd9, 0x1c, 0x2e,
|
|
||||||
0x86, 0x5f, 0x6c, 0x89, 0xbf, 0xc6, 0xfd, 0xfa, 0xc7, 0x00, 0x00, 0x00, 0xff, 0xff, 0xaf, 0x84,
|
|
||||||
0xd2, 0x59, 0xbd, 0x13, 0x00, 0x00,
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Reference imports to suppress errors if they are not otherwise used.
|
// Reference imports to suppress errors if they are not otherwise used.
|
||||||
@ -1866,7 +1740,7 @@ type RouterClient interface {
|
|||||||
//*
|
//*
|
||||||
//SendPayment attempts to route a payment described by the passed
|
//SendPayment attempts to route a payment described by the passed
|
||||||
//PaymentRequest to the final destination. The call returns a stream of
|
//PaymentRequest to the final destination. The call returns a stream of
|
||||||
//payment status updates.
|
//payment updates.
|
||||||
SendPayment(ctx context.Context, in *SendPaymentRequest, opts ...grpc.CallOption) (Router_SendPaymentClient, error)
|
SendPayment(ctx context.Context, in *SendPaymentRequest, opts ...grpc.CallOption) (Router_SendPaymentClient, error)
|
||||||
//*
|
//*
|
||||||
//TrackPayment returns an update stream for the payment identified by the
|
//TrackPayment returns an update stream for the payment identified by the
|
||||||
@ -1928,7 +1802,7 @@ func (c *routerClient) SendPayment(ctx context.Context, in *SendPaymentRequest,
|
|||||||
}
|
}
|
||||||
|
|
||||||
type Router_SendPaymentClient interface {
|
type Router_SendPaymentClient interface {
|
||||||
Recv() (*PaymentStatus, error)
|
Recv() (*lnrpc.Payment, error)
|
||||||
grpc.ClientStream
|
grpc.ClientStream
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1936,8 +1810,8 @@ type routerSendPaymentClient struct {
|
|||||||
grpc.ClientStream
|
grpc.ClientStream
|
||||||
}
|
}
|
||||||
|
|
||||||
func (x *routerSendPaymentClient) Recv() (*PaymentStatus, error) {
|
func (x *routerSendPaymentClient) Recv() (*lnrpc.Payment, error) {
|
||||||
m := new(PaymentStatus)
|
m := new(lnrpc.Payment)
|
||||||
if err := x.ClientStream.RecvMsg(m); err != nil {
|
if err := x.ClientStream.RecvMsg(m); err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
@ -1960,7 +1834,7 @@ func (c *routerClient) TrackPayment(ctx context.Context, in *TrackPaymentRequest
|
|||||||
}
|
}
|
||||||
|
|
||||||
type Router_TrackPaymentClient interface {
|
type Router_TrackPaymentClient interface {
|
||||||
Recv() (*PaymentStatus, error)
|
Recv() (*lnrpc.Payment, error)
|
||||||
grpc.ClientStream
|
grpc.ClientStream
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1968,8 +1842,8 @@ type routerTrackPaymentClient struct {
|
|||||||
grpc.ClientStream
|
grpc.ClientStream
|
||||||
}
|
}
|
||||||
|
|
||||||
func (x *routerTrackPaymentClient) Recv() (*PaymentStatus, error) {
|
func (x *routerTrackPaymentClient) Recv() (*lnrpc.Payment, error) {
|
||||||
m := new(PaymentStatus)
|
m := new(lnrpc.Payment)
|
||||||
if err := x.ClientStream.RecvMsg(m); err != nil {
|
if err := x.ClientStream.RecvMsg(m); err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
@ -2067,7 +1941,7 @@ type RouterServer interface {
|
|||||||
//*
|
//*
|
||||||
//SendPayment attempts to route a payment described by the passed
|
//SendPayment attempts to route a payment described by the passed
|
||||||
//PaymentRequest to the final destination. The call returns a stream of
|
//PaymentRequest to the final destination. The call returns a stream of
|
||||||
//payment status updates.
|
//payment updates.
|
||||||
SendPayment(*SendPaymentRequest, Router_SendPaymentServer) error
|
SendPayment(*SendPaymentRequest, Router_SendPaymentServer) error
|
||||||
//*
|
//*
|
||||||
//TrackPayment returns an update stream for the payment identified by the
|
//TrackPayment returns an update stream for the payment identified by the
|
||||||
@ -2118,7 +1992,7 @@ func _Router_SendPayment_Handler(srv interface{}, stream grpc.ServerStream) erro
|
|||||||
}
|
}
|
||||||
|
|
||||||
type Router_SendPaymentServer interface {
|
type Router_SendPaymentServer interface {
|
||||||
Send(*PaymentStatus) error
|
Send(*lnrpc.Payment) error
|
||||||
grpc.ServerStream
|
grpc.ServerStream
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -2126,7 +2000,7 @@ type routerSendPaymentServer struct {
|
|||||||
grpc.ServerStream
|
grpc.ServerStream
|
||||||
}
|
}
|
||||||
|
|
||||||
func (x *routerSendPaymentServer) Send(m *PaymentStatus) error {
|
func (x *routerSendPaymentServer) Send(m *lnrpc.Payment) error {
|
||||||
return x.ServerStream.SendMsg(m)
|
return x.ServerStream.SendMsg(m)
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -2139,7 +2013,7 @@ func _Router_TrackPayment_Handler(srv interface{}, stream grpc.ServerStream) err
|
|||||||
}
|
}
|
||||||
|
|
||||||
type Router_TrackPaymentServer interface {
|
type Router_TrackPaymentServer interface {
|
||||||
Send(*PaymentStatus) error
|
Send(*lnrpc.Payment) error
|
||||||
grpc.ServerStream
|
grpc.ServerStream
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -2147,7 +2021,7 @@ type routerTrackPaymentServer struct {
|
|||||||
grpc.ServerStream
|
grpc.ServerStream
|
||||||
}
|
}
|
||||||
|
|
||||||
func (x *routerTrackPaymentServer) Send(m *PaymentStatus) error {
|
func (x *routerTrackPaymentServer) Send(m *lnrpc.Payment) error {
|
||||||
return x.ServerStream.SendMsg(m)
|
return x.ServerStream.SendMsg(m)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -121,62 +121,6 @@ message TrackPaymentRequest {
|
|||||||
bytes payment_hash = 1;
|
bytes payment_hash = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
enum PaymentState {
|
|
||||||
/**
|
|
||||||
Payment is still in flight.
|
|
||||||
*/
|
|
||||||
IN_FLIGHT = 0;
|
|
||||||
|
|
||||||
/**
|
|
||||||
Payment completed successfully.
|
|
||||||
*/
|
|
||||||
SUCCEEDED = 1;
|
|
||||||
|
|
||||||
/**
|
|
||||||
There are more routes to try, but the payment timeout was exceeded.
|
|
||||||
*/
|
|
||||||
FAILED_TIMEOUT = 2;
|
|
||||||
|
|
||||||
/**
|
|
||||||
All possible routes were tried and failed permanently. Or were no
|
|
||||||
routes to the destination at all.
|
|
||||||
*/
|
|
||||||
FAILED_NO_ROUTE = 3;
|
|
||||||
|
|
||||||
/**
|
|
||||||
A non-recoverable error has occured.
|
|
||||||
*/
|
|
||||||
FAILED_ERROR = 4;
|
|
||||||
|
|
||||||
/**
|
|
||||||
Payment details incorrect (unknown hash, invalid amt or
|
|
||||||
invalid final cltv delta)
|
|
||||||
*/
|
|
||||||
FAILED_INCORRECT_PAYMENT_DETAILS = 5;
|
|
||||||
|
|
||||||
/**
|
|
||||||
Insufficient local balance.
|
|
||||||
*/
|
|
||||||
FAILED_INSUFFICIENT_BALANCE = 6;
|
|
||||||
}
|
|
||||||
|
|
||||||
message PaymentStatus {
|
|
||||||
/// Current state the payment is in.
|
|
||||||
PaymentState state = 1;
|
|
||||||
|
|
||||||
/**
|
|
||||||
The pre-image of the payment when state is SUCCEEDED.
|
|
||||||
*/
|
|
||||||
bytes preimage = 2;
|
|
||||||
|
|
||||||
reserved 3;
|
|
||||||
|
|
||||||
/**
|
|
||||||
The HTLCs made in attempt to settle the payment.
|
|
||||||
*/
|
|
||||||
repeated lnrpc.HTLCAttempt htlcs = 4;
|
|
||||||
}
|
|
||||||
|
|
||||||
message RouteFeeRequest {
|
message RouteFeeRequest {
|
||||||
/**
|
/**
|
||||||
The destination once wishes to obtain a routing fee quote to.
|
The destination once wishes to obtain a routing fee quote to.
|
||||||
@ -465,15 +409,15 @@ service Router {
|
|||||||
/**
|
/**
|
||||||
SendPayment attempts to route a payment described by the passed
|
SendPayment attempts to route a payment described by the passed
|
||||||
PaymentRequest to the final destination. The call returns a stream of
|
PaymentRequest to the final destination. The call returns a stream of
|
||||||
payment status updates.
|
payment updates.
|
||||||
*/
|
*/
|
||||||
rpc SendPayment (SendPaymentRequest) returns (stream PaymentStatus);
|
rpc SendPayment (SendPaymentRequest) returns (stream lnrpc.Payment);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
TrackPayment returns an update stream for the payment identified by the
|
TrackPayment returns an update stream for the payment identified by the
|
||||||
payment hash.
|
payment hash.
|
||||||
*/
|
*/
|
||||||
rpc TrackPayment (TrackPaymentRequest) returns (stream PaymentStatus);
|
rpc TrackPayment (TrackPaymentRequest) returns (stream lnrpc.Payment);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
EstimateRouteFee allows callers to obtain a lower bound w.r.t how much it
|
EstimateRouteFee allows callers to obtain a lower bound w.r.t how much it
|
||||||
|
@ -1094,3 +1094,131 @@ func marshallChannelUpdate(update *lnwire.ChannelUpdate) *lnrpc.ChannelUpdate {
|
|||||||
ExtraOpaqueData: update.ExtraOpaqueData,
|
ExtraOpaqueData: update.ExtraOpaqueData,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// MarshallPayment marshall a payment to its rpc representation.
|
||||||
|
func (r *RouterBackend) MarshallPayment(payment *channeldb.MPPayment) (
|
||||||
|
*lnrpc.Payment, error) {
|
||||||
|
|
||||||
|
// Fetch the payment's route and preimage. If no HTLC was
|
||||||
|
// successful, an empty route and preimage will be used.
|
||||||
|
var (
|
||||||
|
route route.Route
|
||||||
|
preimage lntypes.Preimage
|
||||||
|
)
|
||||||
|
for _, htlc := range payment.HTLCs {
|
||||||
|
// Display the last route attempted.
|
||||||
|
route = htlc.Route
|
||||||
|
|
||||||
|
// If any of the htlcs have settled, extract a valid
|
||||||
|
// preimage.
|
||||||
|
if htlc.Settle != nil {
|
||||||
|
preimage = htlc.Settle.Preimage
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Encode the hops from the successful route, if any.
|
||||||
|
path := make([]string, len(route.Hops))
|
||||||
|
for i, hop := range route.Hops {
|
||||||
|
path[i] = hex.EncodeToString(hop.PubKeyBytes[:])
|
||||||
|
}
|
||||||
|
|
||||||
|
msatValue := int64(payment.Info.Value)
|
||||||
|
satValue := int64(payment.Info.Value.ToSatoshis())
|
||||||
|
|
||||||
|
status, err := convertPaymentStatus(payment.Status)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
|
||||||
|
htlcs := make([]*lnrpc.HTLCAttempt, 0, len(payment.HTLCs))
|
||||||
|
for _, dbHTLC := range payment.HTLCs {
|
||||||
|
htlc, err := r.MarshalHTLCAttempt(dbHTLC)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
|
||||||
|
htlcs = append(htlcs, htlc)
|
||||||
|
}
|
||||||
|
|
||||||
|
paymentHash := payment.Info.PaymentHash
|
||||||
|
creationTimeNS := MarshalTimeNano(payment.Info.CreationTime)
|
||||||
|
|
||||||
|
failureReason, err := marshallPaymentFailureReason(
|
||||||
|
payment.FailureReason,
|
||||||
|
)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
|
||||||
|
return &lnrpc.Payment{
|
||||||
|
PaymentHash: hex.EncodeToString(paymentHash[:]),
|
||||||
|
Value: satValue,
|
||||||
|
ValueMsat: msatValue,
|
||||||
|
ValueSat: satValue,
|
||||||
|
CreationDate: payment.Info.CreationTime.Unix(),
|
||||||
|
CreationTimeNs: creationTimeNS,
|
||||||
|
Path: path,
|
||||||
|
Fee: int64(route.TotalFees().ToSatoshis()),
|
||||||
|
FeeSat: int64(route.TotalFees().ToSatoshis()),
|
||||||
|
FeeMsat: int64(route.TotalFees()),
|
||||||
|
PaymentPreimage: hex.EncodeToString(preimage[:]),
|
||||||
|
PaymentRequest: string(payment.Info.PaymentRequest),
|
||||||
|
Status: status,
|
||||||
|
Htlcs: htlcs,
|
||||||
|
PaymentIndex: payment.SequenceNum,
|
||||||
|
FailureReason: failureReason,
|
||||||
|
}, nil
|
||||||
|
}
|
||||||
|
|
||||||
|
// convertPaymentStatus converts a channeldb.PaymentStatus to the type expected
|
||||||
|
// by the RPC.
|
||||||
|
func convertPaymentStatus(dbStatus channeldb.PaymentStatus) (
|
||||||
|
lnrpc.Payment_PaymentStatus, error) {
|
||||||
|
|
||||||
|
switch dbStatus {
|
||||||
|
case channeldb.StatusUnknown:
|
||||||
|
return lnrpc.Payment_UNKNOWN, nil
|
||||||
|
|
||||||
|
case channeldb.StatusInFlight:
|
||||||
|
return lnrpc.Payment_IN_FLIGHT, nil
|
||||||
|
|
||||||
|
case channeldb.StatusSucceeded:
|
||||||
|
return lnrpc.Payment_SUCCEEDED, nil
|
||||||
|
|
||||||
|
case channeldb.StatusFailed:
|
||||||
|
return lnrpc.Payment_FAILED, nil
|
||||||
|
|
||||||
|
default:
|
||||||
|
return 0, fmt.Errorf("unhandled payment status %v", dbStatus)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// marshallPaymentFailureReason marshalls the failure reason to the corresponding rpc
|
||||||
|
// type.
|
||||||
|
func marshallPaymentFailureReason(reason *channeldb.FailureReason) (
|
||||||
|
lnrpc.PaymentFailureReason, error) {
|
||||||
|
|
||||||
|
if reason == nil {
|
||||||
|
return lnrpc.PaymentFailureReason_FAILURE_REASON_NONE, nil
|
||||||
|
}
|
||||||
|
|
||||||
|
switch *reason {
|
||||||
|
|
||||||
|
case channeldb.FailureReasonTimeout:
|
||||||
|
return lnrpc.PaymentFailureReason_FAILURE_REASON_TIMEOUT, nil
|
||||||
|
|
||||||
|
case channeldb.FailureReasonNoRoute:
|
||||||
|
return lnrpc.PaymentFailureReason_FAILURE_REASON_NO_ROUTE, nil
|
||||||
|
|
||||||
|
case channeldb.FailureReasonError:
|
||||||
|
return lnrpc.PaymentFailureReason_FAILURE_REASON_ERROR, nil
|
||||||
|
|
||||||
|
case channeldb.FailureReasonPaymentDetails:
|
||||||
|
return lnrpc.PaymentFailureReason_FAILURE_REASON_INCORRECT_PAYMENT_DETAILS, nil
|
||||||
|
|
||||||
|
case channeldb.FailureReasonInsufficientBalance:
|
||||||
|
return lnrpc.PaymentFailureReason_FAILURE_REASON_INSUFFICIENT_BALANCE, nil
|
||||||
|
}
|
||||||
|
|
||||||
|
return 0, errors.New("unknown failure reason")
|
||||||
|
}
|
||||||
|
@ -441,7 +441,7 @@ func (s *Server) trackPayment(paymentHash lntypes.Hash,
|
|||||||
router := s.cfg.RouterBackend
|
router := s.cfg.RouterBackend
|
||||||
|
|
||||||
// Subscribe to the outcome of this payment.
|
// Subscribe to the outcome of this payment.
|
||||||
inFlight, resultChan, err := router.Tower.SubscribePayment(
|
subscription, err := router.Tower.SubscribePayment(
|
||||||
paymentHash,
|
paymentHash,
|
||||||
)
|
)
|
||||||
switch {
|
switch {
|
||||||
@ -450,95 +450,37 @@ func (s *Server) trackPayment(paymentHash lntypes.Hash,
|
|||||||
case err != nil:
|
case err != nil:
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
defer subscription.Close()
|
||||||
|
|
||||||
// If it is in flight, send a state update to the client. Payment status
|
// Stream updates back to the client. The first update is always the
|
||||||
// update streams are expected to always send the current payment state
|
// current state of the payment.
|
||||||
// immediately.
|
for {
|
||||||
if inFlight {
|
select {
|
||||||
err = stream.Send(&PaymentStatus{
|
case item, ok := <-subscription.Updates:
|
||||||
State: PaymentState_IN_FLIGHT,
|
if !ok {
|
||||||
})
|
// No more payment updates.
|
||||||
if err != nil {
|
return nil
|
||||||
return err
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Wait for the outcome of the payment. For payments that have
|
|
||||||
// completed, the result should already be waiting on the channel.
|
|
||||||
select {
|
|
||||||
case result := <-resultChan:
|
|
||||||
// Marshall result to rpc type.
|
|
||||||
var status PaymentStatus
|
|
||||||
if result.Success {
|
|
||||||
log.Debugf("Payment %v successfully completed",
|
|
||||||
paymentHash)
|
|
||||||
|
|
||||||
status.State = PaymentState_SUCCEEDED
|
|
||||||
status.Preimage = result.Preimage[:]
|
|
||||||
} else {
|
|
||||||
state, err := marshallFailureReason(
|
|
||||||
result.FailureReason,
|
|
||||||
)
|
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
}
|
||||||
status.State = state
|
result := item.(*channeldb.MPPayment)
|
||||||
}
|
rpcPayment, err := router.MarshallPayment(result)
|
||||||
|
|
||||||
// Marshal our list of HTLCs that have been tried for this
|
|
||||||
// payment.
|
|
||||||
htlcs := make([]*lnrpc.HTLCAttempt, 0, len(result.HTLCs))
|
|
||||||
for _, dbHtlc := range result.HTLCs {
|
|
||||||
htlc, err := router.MarshalHTLCAttempt(dbHtlc)
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
htlcs = append(htlcs, htlc)
|
// Send event to the client.
|
||||||
|
err = stream.Send(rpcPayment)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
case <-s.quit:
|
||||||
|
return errServerShuttingDown
|
||||||
|
|
||||||
|
case <-stream.Context().Done():
|
||||||
|
log.Debugf("Payment status stream %v canceled", paymentHash)
|
||||||
|
return stream.Context().Err()
|
||||||
}
|
}
|
||||||
status.Htlcs = htlcs
|
|
||||||
|
|
||||||
// Send event to the client.
|
|
||||||
err = stream.Send(&status)
|
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
|
|
||||||
case <-s.quit:
|
|
||||||
return errServerShuttingDown
|
|
||||||
|
|
||||||
case <-stream.Context().Done():
|
|
||||||
log.Debugf("Payment status stream %v canceled", paymentHash)
|
|
||||||
return stream.Context().Err()
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
// marshallFailureReason marshalls the failure reason to the corresponding rpc
|
|
||||||
// type.
|
|
||||||
func marshallFailureReason(reason channeldb.FailureReason) (
|
|
||||||
PaymentState, error) {
|
|
||||||
|
|
||||||
switch reason {
|
|
||||||
|
|
||||||
case channeldb.FailureReasonTimeout:
|
|
||||||
return PaymentState_FAILED_TIMEOUT, nil
|
|
||||||
|
|
||||||
case channeldb.FailureReasonNoRoute:
|
|
||||||
return PaymentState_FAILED_NO_ROUTE, nil
|
|
||||||
|
|
||||||
case channeldb.FailureReasonError:
|
|
||||||
return PaymentState_FAILED_ERROR, nil
|
|
||||||
|
|
||||||
case channeldb.FailureReasonPaymentDetails:
|
|
||||||
return PaymentState_FAILED_INCORRECT_PAYMENT_DETAILS, nil
|
|
||||||
|
|
||||||
case channeldb.FailureReasonInsufficientBalance:
|
|
||||||
return PaymentState_FAILED_INSUFFICIENT_BALANCE, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
return 0, errors.New("unknown failure reason")
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// BuildRoute builds a route from a list of hop addresses.
|
// BuildRoute builds a route from a list of hop addresses.
|
||||||
|
1572
lnrpc/rpc.pb.go
1572
lnrpc/rpc.pb.go
@ -188,6 +188,57 @@ func (InvoiceHTLCState) EnumDescriptor() ([]byte, []int) {
|
|||||||
return fileDescriptor_77a6da22d6a3feb1, []int{4}
|
return fileDescriptor_77a6da22d6a3feb1, []int{4}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
type PaymentFailureReason int32
|
||||||
|
|
||||||
|
const (
|
||||||
|
//*
|
||||||
|
//Payment isn't failed (yet).
|
||||||
|
PaymentFailureReason_FAILURE_REASON_NONE PaymentFailureReason = 0
|
||||||
|
//*
|
||||||
|
//There are more routes to try, but the payment timeout was exceeded.
|
||||||
|
PaymentFailureReason_FAILURE_REASON_TIMEOUT PaymentFailureReason = 1
|
||||||
|
//*
|
||||||
|
//All possible routes were tried and failed permanently. Or were no
|
||||||
|
//routes to the destination at all.
|
||||||
|
PaymentFailureReason_FAILURE_REASON_NO_ROUTE PaymentFailureReason = 2
|
||||||
|
//*
|
||||||
|
//A non-recoverable error has occured.
|
||||||
|
PaymentFailureReason_FAILURE_REASON_ERROR PaymentFailureReason = 3
|
||||||
|
//*
|
||||||
|
//Payment details incorrect (unknown hash, invalid amt or
|
||||||
|
//invalid final cltv delta)
|
||||||
|
PaymentFailureReason_FAILURE_REASON_INCORRECT_PAYMENT_DETAILS PaymentFailureReason = 4
|
||||||
|
//*
|
||||||
|
//Insufficient local balance.
|
||||||
|
PaymentFailureReason_FAILURE_REASON_INSUFFICIENT_BALANCE PaymentFailureReason = 5
|
||||||
|
)
|
||||||
|
|
||||||
|
var PaymentFailureReason_name = map[int32]string{
|
||||||
|
0: "FAILURE_REASON_NONE",
|
||||||
|
1: "FAILURE_REASON_TIMEOUT",
|
||||||
|
2: "FAILURE_REASON_NO_ROUTE",
|
||||||
|
3: "FAILURE_REASON_ERROR",
|
||||||
|
4: "FAILURE_REASON_INCORRECT_PAYMENT_DETAILS",
|
||||||
|
5: "FAILURE_REASON_INSUFFICIENT_BALANCE",
|
||||||
|
}
|
||||||
|
|
||||||
|
var PaymentFailureReason_value = map[string]int32{
|
||||||
|
"FAILURE_REASON_NONE": 0,
|
||||||
|
"FAILURE_REASON_TIMEOUT": 1,
|
||||||
|
"FAILURE_REASON_NO_ROUTE": 2,
|
||||||
|
"FAILURE_REASON_ERROR": 3,
|
||||||
|
"FAILURE_REASON_INCORRECT_PAYMENT_DETAILS": 4,
|
||||||
|
"FAILURE_REASON_INSUFFICIENT_BALANCE": 5,
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x PaymentFailureReason) String() string {
|
||||||
|
return proto.EnumName(PaymentFailureReason_name, int32(x))
|
||||||
|
}
|
||||||
|
|
||||||
|
func (PaymentFailureReason) EnumDescriptor() ([]byte, []int) {
|
||||||
|
return fileDescriptor_77a6da22d6a3feb1, []int{5}
|
||||||
|
}
|
||||||
|
|
||||||
type FeatureBit int32
|
type FeatureBit int32
|
||||||
|
|
||||||
const (
|
const (
|
||||||
@ -255,7 +306,7 @@ func (x FeatureBit) String() string {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (FeatureBit) EnumDescriptor() ([]byte, []int) {
|
func (FeatureBit) EnumDescriptor() ([]byte, []int) {
|
||||||
return fileDescriptor_77a6da22d6a3feb1, []int{5}
|
return fileDescriptor_77a6da22d6a3feb1, []int{6}
|
||||||
}
|
}
|
||||||
|
|
||||||
type ChannelCloseSummary_ClosureType int32
|
type ChannelCloseSummary_ClosureType int32
|
||||||
@ -9504,10 +9555,11 @@ type Payment struct {
|
|||||||
//The creation index of this payment. Each payment can be uniquely identified
|
//The creation index of this payment. Each payment can be uniquely identified
|
||||||
//by this index, which may not strictly increment by 1 for payments made in
|
//by this index, which may not strictly increment by 1 for payments made in
|
||||||
//older versions of lnd.
|
//older versions of lnd.
|
||||||
PaymentIndex uint64 `protobuf:"varint,15,opt,name=payment_index,json=paymentIndex,proto3" json:"payment_index,omitempty"`
|
PaymentIndex uint64 `protobuf:"varint,15,opt,name=payment_index,json=paymentIndex,proto3" json:"payment_index,omitempty"`
|
||||||
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
FailureReason PaymentFailureReason `protobuf:"varint,16,opt,name=failure_reason,json=failureReason,proto3,enum=lnrpc.PaymentFailureReason" json:"failure_reason,omitempty"`
|
||||||
XXX_unrecognized []byte `json:"-"`
|
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
||||||
XXX_sizecache int32 `json:"-"`
|
XXX_unrecognized []byte `json:"-"`
|
||||||
|
XXX_sizecache int32 `json:"-"`
|
||||||
}
|
}
|
||||||
|
|
||||||
func (m *Payment) Reset() { *m = Payment{} }
|
func (m *Payment) Reset() { *m = Payment{} }
|
||||||
@ -9644,6 +9696,13 @@ func (m *Payment) GetPaymentIndex() uint64 {
|
|||||||
return 0
|
return 0
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (m *Payment) GetFailureReason() PaymentFailureReason {
|
||||||
|
if m != nil {
|
||||||
|
return m.FailureReason
|
||||||
|
}
|
||||||
|
return PaymentFailureReason_FAILURE_REASON_NONE
|
||||||
|
}
|
||||||
|
|
||||||
type HTLCAttempt struct {
|
type HTLCAttempt struct {
|
||||||
/// The status of the HTLC.
|
/// The status of the HTLC.
|
||||||
Status HTLCAttempt_HTLCStatus `protobuf:"varint,1,opt,name=status,proto3,enum=lnrpc.HTLCAttempt_HTLCStatus" json:"status,omitempty"`
|
Status HTLCAttempt_HTLCStatus `protobuf:"varint,1,opt,name=status,proto3,enum=lnrpc.HTLCAttempt_HTLCStatus" json:"status,omitempty"`
|
||||||
@ -11759,6 +11818,7 @@ func init() {
|
|||||||
proto.RegisterEnum("lnrpc.Initiator", Initiator_name, Initiator_value)
|
proto.RegisterEnum("lnrpc.Initiator", Initiator_name, Initiator_value)
|
||||||
proto.RegisterEnum("lnrpc.NodeMetricType", NodeMetricType_name, NodeMetricType_value)
|
proto.RegisterEnum("lnrpc.NodeMetricType", NodeMetricType_name, NodeMetricType_value)
|
||||||
proto.RegisterEnum("lnrpc.InvoiceHTLCState", InvoiceHTLCState_name, InvoiceHTLCState_value)
|
proto.RegisterEnum("lnrpc.InvoiceHTLCState", InvoiceHTLCState_name, InvoiceHTLCState_value)
|
||||||
|
proto.RegisterEnum("lnrpc.PaymentFailureReason", PaymentFailureReason_name, PaymentFailureReason_value)
|
||||||
proto.RegisterEnum("lnrpc.FeatureBit", FeatureBit_name, FeatureBit_value)
|
proto.RegisterEnum("lnrpc.FeatureBit", FeatureBit_name, FeatureBit_value)
|
||||||
proto.RegisterEnum("lnrpc.ChannelCloseSummary_ClosureType", ChannelCloseSummary_ClosureType_name, ChannelCloseSummary_ClosureType_value)
|
proto.RegisterEnum("lnrpc.ChannelCloseSummary_ClosureType", ChannelCloseSummary_ClosureType_name, ChannelCloseSummary_ClosureType_value)
|
||||||
proto.RegisterEnum("lnrpc.Peer_SyncType", Peer_SyncType_name, Peer_SyncType_value)
|
proto.RegisterEnum("lnrpc.Peer_SyncType", Peer_SyncType_name, Peer_SyncType_value)
|
||||||
@ -11948,754 +12008,760 @@ func init() {
|
|||||||
func init() { proto.RegisterFile("rpc.proto", fileDescriptor_77a6da22d6a3feb1) }
|
func init() { proto.RegisterFile("rpc.proto", fileDescriptor_77a6da22d6a3feb1) }
|
||||||
|
|
||||||
var fileDescriptor_77a6da22d6a3feb1 = []byte{
|
var fileDescriptor_77a6da22d6a3feb1 = []byte{
|
||||||
// 11938 bytes of a gzipped FileDescriptorProto
|
// 12041 bytes of a gzipped FileDescriptorProto
|
||||||
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xbc, 0xbd, 0x69, 0x6c, 0x24, 0x49,
|
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xbc, 0xbd, 0x5b, 0x6c, 0x24, 0x49,
|
||||||
0x76, 0x18, 0xdc, 0x75, 0xb1, 0xaa, 0x5e, 0x1d, 0x2c, 0x06, 0xaf, 0x6a, 0x76, 0xf7, 0x74, 0x4f,
|
0x76, 0x18, 0xda, 0xf5, 0x22, 0xab, 0x4e, 0x3d, 0x58, 0x0c, 0xbe, 0xaa, 0xd9, 0xdd, 0xd3, 0x3d,
|
||||||
0xce, 0xec, 0x4c, 0x4f, 0xcf, 0x2e, 0xbb, 0xa7, 0x77, 0x7b, 0x66, 0x77, 0xe6, 0xd3, 0x6a, 0x8b,
|
0x39, 0xb3, 0xd3, 0xbd, 0x3d, 0xb3, 0xec, 0x9e, 0xde, 0xed, 0x99, 0xdd, 0x99, 0xab, 0xd5, 0x16,
|
||||||
0x64, 0xb1, 0x59, 0xdb, 0xbc, 0x26, 0xab, 0x38, 0xa3, 0x5e, 0x1d, 0xb9, 0xc9, 0xaa, 0x20, 0x99,
|
0xc9, 0x62, 0xb3, 0xb6, 0xc9, 0x22, 0x27, 0xab, 0x38, 0xa3, 0x59, 0x3d, 0x72, 0x93, 0x55, 0x41,
|
||||||
0xea, 0xaa, 0xcc, 0x9a, 0xcc, 0x2c, 0x1e, 0xbb, 0x98, 0xef, 0x87, 0x61, 0x1b, 0x82, 0x61, 0x1b,
|
0x32, 0xd5, 0x55, 0x99, 0x35, 0x99, 0x59, 0x7c, 0xec, 0x62, 0xee, 0x87, 0x61, 0x1b, 0x82, 0x61,
|
||||||
0x10, 0x6c, 0x19, 0xb0, 0x2c, 0xc1, 0x87, 0x60, 0x1b, 0x86, 0x01, 0x41, 0x80, 0xe4, 0x1f, 0x06,
|
0x1b, 0x10, 0x6c, 0x19, 0xb0, 0x2c, 0xc1, 0x0f, 0xc1, 0x36, 0x0c, 0x03, 0x82, 0x00, 0xc9, 0x1f,
|
||||||
0xfc, 0x5f, 0x7f, 0x7c, 0xc0, 0x90, 0x0c, 0x18, 0x86, 0x20, 0xc0, 0xb0, 0x2d, 0xff, 0x33, 0x04,
|
0x06, 0xfc, 0xaf, 0x1f, 0x3f, 0x60, 0x48, 0xfe, 0xb0, 0x21, 0x08, 0x30, 0x6c, 0xcb, 0x7f, 0x86,
|
||||||
0xf8, 0xb7, 0x01, 0x23, 0xde, 0x8b, 0xc8, 0x8c, 0xac, 0x4a, 0x76, 0xf7, 0xec, 0xae, 0xf7, 0x0f,
|
0x00, 0x7f, 0x1b, 0x30, 0xe2, 0x9c, 0x88, 0xcc, 0xc8, 0xaa, 0x64, 0x77, 0xcf, 0xee, 0x7a, 0x7f,
|
||||||
0x59, 0xf9, 0xe2, 0xc5, 0xfd, 0xe2, 0xc5, 0xbb, 0x22, 0x02, 0xca, 0xfe, 0xb8, 0xbf, 0x3e, 0xf6,
|
0xc8, 0xca, 0x13, 0x27, 0xde, 0x27, 0x4e, 0x9c, 0x57, 0x44, 0x40, 0xc9, 0x1f, 0xf7, 0x37, 0xc6,
|
||||||
0xbd, 0xd0, 0x63, 0x85, 0xa1, 0xeb, 0x8f, 0xfb, 0x6b, 0xb7, 0x4f, 0x3d, 0xef, 0x74, 0xc8, 0x1f,
|
0xbe, 0x17, 0x7a, 0xac, 0x30, 0x74, 0xfd, 0x71, 0x7f, 0xfd, 0xf6, 0xa9, 0xe7, 0x9d, 0x0e, 0xf9,
|
||||||
0xda, 0x63, 0xe7, 0xa1, 0xed, 0xba, 0x5e, 0x68, 0x87, 0x8e, 0xe7, 0x06, 0x84, 0x64, 0xfc, 0x10,
|
0x23, 0x7b, 0xec, 0x3c, 0xb2, 0x5d, 0xd7, 0x0b, 0xed, 0xd0, 0xf1, 0xdc, 0x80, 0x90, 0x8c, 0x1f,
|
||||||
0xea, 0x4f, 0xb9, 0xdb, 0xe5, 0x7c, 0x60, 0xf2, 0x2f, 0x26, 0x3c, 0x08, 0xd9, 0xfb, 0xb0, 0x60,
|
0x42, 0xed, 0x19, 0x77, 0xbb, 0x9c, 0x0f, 0x4c, 0xfe, 0xc5, 0x84, 0x07, 0x21, 0x7b, 0x17, 0x16,
|
||||||
0xf3, 0x1f, 0x71, 0x3e, 0xb0, 0xc6, 0x76, 0x10, 0x8c, 0xcf, 0x7c, 0x3b, 0xe0, 0xcd, 0xcc, 0xbd,
|
0x6d, 0xfe, 0x23, 0xce, 0x07, 0xd6, 0xd8, 0x0e, 0x82, 0xf1, 0x99, 0x6f, 0x07, 0xbc, 0x91, 0xb9,
|
||||||
0xcc, 0xfd, 0xaa, 0xd9, 0xa0, 0x84, 0xc3, 0x08, 0xce, 0xde, 0x84, 0x6a, 0x20, 0x50, 0xb9, 0x1b,
|
0x97, 0x79, 0x50, 0x31, 0xeb, 0x94, 0x70, 0x18, 0xc1, 0xd9, 0x9b, 0x50, 0x09, 0x04, 0x2a, 0x77,
|
||||||
0xfa, 0xde, 0xf8, 0xaa, 0x99, 0x45, 0xbc, 0x8a, 0x80, 0xb5, 0x09, 0x64, 0x0c, 0x61, 0x3e, 0xaa,
|
0x43, 0xdf, 0x1b, 0x5f, 0x35, 0xb2, 0x88, 0x57, 0x16, 0xb0, 0x16, 0x81, 0x8c, 0x21, 0x2c, 0x44,
|
||||||
0x21, 0x18, 0x7b, 0x6e, 0xc0, 0xd9, 0x23, 0x58, 0xea, 0x3b, 0xe3, 0x33, 0xee, 0x5b, 0x98, 0x79,
|
0x35, 0x04, 0x63, 0xcf, 0x0d, 0x38, 0x7b, 0x0c, 0xcb, 0x7d, 0x67, 0x7c, 0xc6, 0x7d, 0x0b, 0x33,
|
||||||
0xe4, 0xf2, 0x91, 0xe7, 0x3a, 0xfd, 0x66, 0xe6, 0x5e, 0xee, 0x7e, 0xd9, 0x64, 0x94, 0x26, 0x72,
|
0x8f, 0x5c, 0x3e, 0xf2, 0x5c, 0xa7, 0xdf, 0xc8, 0xdc, 0xcb, 0x3d, 0x28, 0x99, 0x8c, 0xd2, 0x44,
|
||||||
0xec, 0xc9, 0x14, 0xf6, 0x2e, 0xcc, 0x73, 0x97, 0xe0, 0x7c, 0x80, 0xb9, 0x64, 0x55, 0xf5, 0x18,
|
0x8e, 0x7d, 0x99, 0xc2, 0xee, 0xc3, 0x02, 0x77, 0x09, 0xce, 0x07, 0x98, 0x4b, 0x56, 0x55, 0x8b,
|
||||||
0x2c, 0x32, 0x18, 0xbf, 0x91, 0x85, 0x85, 0x8e, 0xeb, 0x84, 0x9f, 0xdb, 0xc3, 0x21, 0x0f, 0x55,
|
0xc1, 0x22, 0x83, 0xf1, 0x1b, 0x59, 0x58, 0x6c, 0xbb, 0x4e, 0xf8, 0x99, 0x3d, 0x1c, 0xf2, 0x50,
|
||||||
0x9f, 0xde, 0x85, 0xf9, 0x0b, 0x04, 0x60, 0x9f, 0x2e, 0x3c, 0x7f, 0x20, 0x7b, 0x54, 0x27, 0xf0,
|
0xf5, 0xe9, 0x3e, 0x2c, 0x5c, 0x20, 0x00, 0xfb, 0x74, 0xe1, 0xf9, 0x03, 0xd9, 0xa3, 0x1a, 0x81,
|
||||||
0xa1, 0x84, 0x5e, 0xdb, 0xb2, 0xec, 0xb5, 0x2d, 0x4b, 0x1d, 0xae, 0xdc, 0x35, 0xc3, 0xf5, 0x2e,
|
0x0f, 0x25, 0xf4, 0xda, 0x96, 0x65, 0xaf, 0x6d, 0x59, 0xea, 0x70, 0xe5, 0xae, 0x19, 0xae, 0xfb,
|
||||||
0xcc, 0xfb, 0xbc, 0xef, 0x9d, 0x73, 0xff, 0xca, 0xba, 0x70, 0xdc, 0x81, 0x77, 0xd1, 0xcc, 0xdf,
|
0xb0, 0xe0, 0xf3, 0xbe, 0x77, 0xce, 0xfd, 0x2b, 0xeb, 0xc2, 0x71, 0x07, 0xde, 0x45, 0x23, 0x7f,
|
||||||
0xcb, 0xdc, 0x2f, 0x98, 0x75, 0x05, 0xfe, 0x1c, 0xa1, 0x6c, 0x03, 0xe6, 0xfb, 0x67, 0xb6, 0xeb,
|
0x2f, 0xf3, 0xa0, 0x60, 0xd6, 0x14, 0xf8, 0x33, 0x84, 0xb2, 0x4d, 0x58, 0xe8, 0x9f, 0xd9, 0xae,
|
||||||
0xf2, 0xa1, 0x75, 0x6c, 0xf7, 0x5f, 0x4c, 0xc6, 0x41, 0xb3, 0x70, 0x2f, 0x73, 0xbf, 0xf2, 0xf8,
|
0xcb, 0x87, 0xd6, 0xb1, 0xdd, 0x7f, 0x31, 0x19, 0x07, 0x8d, 0xc2, 0xbd, 0xcc, 0x83, 0xf2, 0x93,
|
||||||
0xe6, 0x3a, 0xce, 0xea, 0xfa, 0xe6, 0x99, 0xed, 0x6e, 0x60, 0x4a, 0xd7, 0xb5, 0xc7, 0xc1, 0x99,
|
0x9b, 0x1b, 0x38, 0xab, 0x1b, 0x5b, 0x67, 0xb6, 0xbb, 0x89, 0x29, 0x5d, 0xd7, 0x1e, 0x07, 0x67,
|
||||||
0x17, 0x9a, 0x75, 0x99, 0x83, 0xc0, 0x81, 0xb1, 0x04, 0x4c, 0x1f, 0x09, 0x1a, 0x7b, 0xe3, 0x5f,
|
0x5e, 0x68, 0xd6, 0x64, 0x0e, 0x02, 0x07, 0xc6, 0x32, 0x30, 0x7d, 0x24, 0x68, 0xec, 0x8d, 0x7f,
|
||||||
0x66, 0x60, 0xf1, 0xc8, 0x1d, 0x7a, 0xfd, 0x17, 0x3f, 0xe1, 0x10, 0xa5, 0xf4, 0x21, 0xfb, 0xba,
|
0x99, 0x81, 0xa5, 0x23, 0x77, 0xe8, 0xf5, 0x5f, 0xfc, 0x84, 0x43, 0x94, 0xd2, 0x87, 0xec, 0xeb,
|
||||||
0x7d, 0xc8, 0x7d, 0xd5, 0x3e, 0xac, 0xc0, 0x52, 0xb2, 0xb1, 0xb2, 0x17, 0x1c, 0x96, 0x45, 0xee,
|
0xf6, 0x21, 0xf7, 0x55, 0xfb, 0xb0, 0x0a, 0xcb, 0xc9, 0xc6, 0xca, 0x5e, 0x70, 0x58, 0x11, 0xb9,
|
||||||
0x53, 0xae, 0x9a, 0xa5, 0xba, 0xf1, 0x1e, 0x34, 0xfa, 0x13, 0xdf, 0xe7, 0xee, 0x4c, 0x3f, 0xe6,
|
0x4f, 0xb9, 0x6a, 0x96, 0xea, 0xc6, 0xd7, 0xa1, 0xde, 0x9f, 0xf8, 0x3e, 0x77, 0x67, 0xfa, 0xb1,
|
||||||
0x25, 0x3c, 0xea, 0xc8, 0x9b, 0x50, 0x75, 0xf9, 0x45, 0x8c, 0x26, 0x69, 0xd7, 0xe5, 0x17, 0x0a,
|
0x20, 0xe1, 0x51, 0x47, 0xde, 0x84, 0x8a, 0xcb, 0x2f, 0x62, 0x34, 0x49, 0xbb, 0x2e, 0xbf, 0x50,
|
||||||
0xc5, 0x68, 0xc2, 0xca, 0x74, 0x35, 0xb2, 0x01, 0x7f, 0x91, 0x81, 0xfc, 0x51, 0x78, 0xe9, 0xb1,
|
0x28, 0x46, 0x03, 0x56, 0xa7, 0xab, 0x91, 0x0d, 0xf8, 0x8b, 0x0c, 0xe4, 0x8f, 0xc2, 0x4b, 0x8f,
|
||||||
0x27, 0x50, 0xb5, 0x07, 0x03, 0x9f, 0x07, 0x81, 0x15, 0x5e, 0x8d, 0x69, 0xa5, 0xd4, 0x1f, 0x33,
|
0x3d, 0x85, 0x8a, 0x3d, 0x18, 0xf8, 0x3c, 0x08, 0xac, 0xf0, 0x6a, 0x4c, 0x2b, 0xa5, 0xf6, 0x84,
|
||||||
0xd9, 0xc5, 0x16, 0x25, 0xf5, 0xae, 0xc6, 0xdc, 0xac, 0xd8, 0xf1, 0x07, 0x6b, 0x42, 0x51, 0x7e,
|
0xc9, 0x2e, 0x36, 0x29, 0xa9, 0x77, 0x35, 0xe6, 0x66, 0xd9, 0x8e, 0x3f, 0x58, 0x03, 0xe6, 0xe5,
|
||||||
0x62, 0xbd, 0x65, 0x53, 0x7d, 0xb2, 0x3b, 0x00, 0xf6, 0xc8, 0x9b, 0xb8, 0xa1, 0x15, 0xd8, 0x21,
|
0x27, 0xd6, 0x5b, 0x32, 0xd5, 0x27, 0xbb, 0x03, 0x60, 0x8f, 0xbc, 0x89, 0x1b, 0x5a, 0x81, 0x1d,
|
||||||
0x8e, 0x58, 0xce, 0x2c, 0x13, 0xa4, 0x6b, 0x87, 0xec, 0x16, 0x94, 0xc7, 0x2f, 0xac, 0xa0, 0xef,
|
0xe2, 0x88, 0xe5, 0xcc, 0x12, 0x41, 0xba, 0x76, 0xc8, 0x6e, 0x41, 0x69, 0xfc, 0xc2, 0x0a, 0xfa,
|
||||||
0x3b, 0xe3, 0x10, 0x89, 0xa7, 0x6c, 0x96, 0xc6, 0x2f, 0xba, 0xf8, 0xcd, 0xde, 0x87, 0x92, 0x37,
|
0xbe, 0x33, 0x0e, 0x91, 0x78, 0x4a, 0x66, 0x71, 0xfc, 0xa2, 0x8b, 0xdf, 0xec, 0x5d, 0x28, 0x7a,
|
||||||
0x09, 0xc7, 0x9e, 0xe3, 0x86, 0x92, 0x5e, 0xe6, 0x65, 0x43, 0x0e, 0x26, 0xe1, 0xa1, 0x00, 0x9b,
|
0x93, 0x70, 0xec, 0x39, 0x6e, 0x28, 0xe9, 0x65, 0x41, 0x36, 0xe4, 0x60, 0x12, 0x1e, 0x0a, 0xb0,
|
||||||
0x11, 0x02, 0x7b, 0x1b, 0x6a, 0x7d, 0xcf, 0x3d, 0x71, 0xfc, 0x11, 0x71, 0x84, 0xe6, 0x1c, 0xd6,
|
0x19, 0x21, 0xb0, 0xb7, 0xa1, 0xda, 0xf7, 0xdc, 0x13, 0xc7, 0x1f, 0x11, 0x47, 0x68, 0xcc, 0x61,
|
||||||
0x95, 0x04, 0x1a, 0x7f, 0x90, 0x85, 0x4a, 0xcf, 0xb7, 0xdd, 0xc0, 0xee, 0x0b, 0x00, 0x5b, 0x85,
|
0x5d, 0x49, 0xa0, 0xf1, 0x07, 0x59, 0x28, 0xf7, 0x7c, 0xdb, 0x0d, 0xec, 0xbe, 0x00, 0xb0, 0x35,
|
||||||
0x62, 0x78, 0x69, 0x9d, 0xd9, 0xc1, 0x19, 0x76, 0xb5, 0x6c, 0xce, 0x85, 0x97, 0x3b, 0x76, 0x70,
|
0x98, 0x0f, 0x2f, 0xad, 0x33, 0x3b, 0x38, 0xc3, 0xae, 0x96, 0xcc, 0xb9, 0xf0, 0x72, 0xd7, 0x0e,
|
||||||
0xc6, 0x56, 0x60, 0x8e, 0x5a, 0x89, 0x1d, 0xca, 0x99, 0xf2, 0x4b, 0x2c, 0x10, 0x77, 0x32, 0xb2,
|
0xce, 0xd8, 0x2a, 0xcc, 0x51, 0x2b, 0xb1, 0x43, 0x39, 0x53, 0x7e, 0x89, 0x05, 0xe2, 0x4e, 0x46,
|
||||||
0x92, 0x55, 0xe5, 0x90, 0x62, 0x1a, 0xee, 0x64, 0xb4, 0xa9, 0xc3, 0x45, 0xe7, 0x8f, 0xc5, 0x74,
|
0x56, 0xb2, 0xaa, 0x1c, 0x52, 0x4c, 0xdd, 0x9d, 0x8c, 0xb6, 0x74, 0xb8, 0xe8, 0xfc, 0xb1, 0x98,
|
||||||
0x53, 0x05, 0xd4, 0xbd, 0x32, 0x42, 0xb0, 0x8e, 0x37, 0xa1, 0x2a, 0x93, 0xb9, 0x73, 0x7a, 0x46,
|
0x6e, 0xaa, 0x80, 0xba, 0x57, 0x42, 0x08, 0xd6, 0xf1, 0x26, 0x54, 0x64, 0x32, 0x77, 0x4e, 0xcf,
|
||||||
0x7d, 0x2c, 0x98, 0x15, 0x42, 0x40, 0x90, 0x28, 0x21, 0x74, 0x46, 0xdc, 0x0a, 0x42, 0x7b, 0x34,
|
0xa8, 0x8f, 0x05, 0xb3, 0x4c, 0x08, 0x08, 0x12, 0x25, 0x84, 0xce, 0x88, 0x5b, 0x41, 0x68, 0x8f,
|
||||||
0x96, 0x5d, 0x2a, 0x0b, 0x48, 0x57, 0x00, 0x30, 0xd9, 0x0b, 0xed, 0xa1, 0x75, 0xc2, 0x79, 0xd0,
|
0xc6, 0xb2, 0x4b, 0x25, 0x01, 0xe9, 0x0a, 0x00, 0x26, 0x7b, 0xa1, 0x3d, 0xb4, 0x4e, 0x38, 0x0f,
|
||||||
0x2c, 0xca, 0x64, 0x01, 0xd9, 0xe6, 0x3c, 0x60, 0x5f, 0x83, 0xfa, 0x80, 0x07, 0xa1, 0x25, 0x27,
|
0x1a, 0xf3, 0x32, 0x59, 0x40, 0x76, 0x38, 0x0f, 0xd8, 0xd7, 0xa0, 0x36, 0xe0, 0x41, 0x68, 0xc9,
|
||||||
0x83, 0x07, 0xcd, 0x12, 0xae, 0xfc, 0x9a, 0x80, 0xb6, 0x14, 0x90, 0xdd, 0x06, 0xf0, 0xed, 0x0b,
|
0xc9, 0xe0, 0x41, 0xa3, 0x88, 0x2b, 0xbf, 0x2a, 0xa0, 0x4d, 0x05, 0x64, 0xb7, 0x01, 0x7c, 0xfb,
|
||||||
0x4b, 0x0c, 0x04, 0xbf, 0x6c, 0x96, 0x69, 0x16, 0x7c, 0xfb, 0xa2, 0x77, 0xb9, 0xc3, 0x2f, 0x05,
|
0xc2, 0x12, 0x03, 0xc1, 0x2f, 0x1b, 0x25, 0x9a, 0x05, 0xdf, 0xbe, 0xe8, 0x5d, 0xee, 0xf2, 0x4b,
|
||||||
0xd5, 0x3c, 0xe5, 0xa1, 0x36, 0x68, 0x81, 0xa4, 0x4e, 0x63, 0x17, 0x98, 0x06, 0xde, 0xe2, 0xa1,
|
0x41, 0x35, 0xcf, 0x78, 0xa8, 0x0d, 0x5a, 0x20, 0xa9, 0xd3, 0xd8, 0x03, 0xa6, 0x81, 0xb7, 0x79,
|
||||||
0xed, 0x0c, 0x03, 0xf6, 0x21, 0x54, 0x43, 0x0d, 0x19, 0xd9, 0x60, 0x25, 0x22, 0x21, 0x2d, 0x83,
|
0x68, 0x3b, 0xc3, 0x80, 0x7d, 0x00, 0x95, 0x50, 0x43, 0x46, 0x36, 0x58, 0x8e, 0x48, 0x48, 0xcb,
|
||||||
0x99, 0xc0, 0x33, 0xce, 0xa0, 0xb4, 0xcd, 0xf9, 0xae, 0x33, 0x72, 0x42, 0xb6, 0x02, 0x85, 0x13,
|
0x60, 0x26, 0xf0, 0x8c, 0x33, 0x28, 0xee, 0x70, 0xbe, 0xe7, 0x8c, 0x9c, 0x90, 0xad, 0x42, 0xe1,
|
||||||
0xe7, 0x92, 0x13, 0xb1, 0xe7, 0x76, 0x6e, 0x98, 0xf4, 0xc9, 0xee, 0x02, 0xe0, 0x0f, 0x6b, 0x14,
|
0xc4, 0xb9, 0xe4, 0x44, 0xec, 0xb9, 0xdd, 0x1b, 0x26, 0x7d, 0xb2, 0xbb, 0x00, 0xf8, 0xc3, 0x1a,
|
||||||
0x51, 0xd3, 0xce, 0x0d, 0xb3, 0x8c, 0xb0, 0xbd, 0xc0, 0x0e, 0xd9, 0x1a, 0x14, 0xc7, 0xdc, 0xef,
|
0x45, 0xd4, 0xb4, 0x7b, 0xc3, 0x2c, 0x21, 0x6c, 0x3f, 0xb0, 0x43, 0xb6, 0x0e, 0xf3, 0x63, 0xee,
|
||||||
0x73, 0x35, 0x6f, 0x3b, 0x37, 0x4c, 0x05, 0xd8, 0x28, 0x42, 0x61, 0x28, 0x4a, 0x37, 0xfe, 0xb8,
|
0xf7, 0xb9, 0x9a, 0xb7, 0xdd, 0x1b, 0xa6, 0x02, 0x6c, 0xce, 0x43, 0x61, 0x28, 0x4a, 0x37, 0xfe,
|
||||||
0x00, 0x95, 0x2e, 0x77, 0xa3, 0x55, 0xc6, 0x20, 0x2f, 0x06, 0x44, 0xae, 0x2c, 0xfc, 0xcd, 0xde,
|
0xb8, 0x00, 0xe5, 0x2e, 0x77, 0xa3, 0x55, 0xc6, 0x20, 0x2f, 0x06, 0x44, 0xae, 0x2c, 0xfc, 0xcd,
|
||||||
0x82, 0x0a, 0x0e, 0x5d, 0x10, 0xfa, 0x8e, 0x7b, 0x4a, 0x54, 0xbd, 0x91, 0x6d, 0x66, 0x4c, 0x10,
|
0xde, 0x82, 0x32, 0x0e, 0x5d, 0x10, 0xfa, 0x8e, 0x7b, 0x4a, 0x54, 0xbd, 0x99, 0x6d, 0x64, 0x4c,
|
||||||
0xe0, 0x2e, 0x42, 0x59, 0x03, 0x72, 0xf6, 0x48, 0x51, 0xb5, 0xf8, 0xc9, 0x6e, 0x42, 0xc9, 0x1e,
|
0x10, 0xe0, 0x2e, 0x42, 0x59, 0x1d, 0x72, 0xf6, 0x48, 0x51, 0xb5, 0xf8, 0xc9, 0x6e, 0x42, 0xd1,
|
||||||
0x85, 0xd4, 0xbc, 0x2a, 0x82, 0x8b, 0xf6, 0x28, 0xc4, 0xa6, 0xbd, 0x09, 0xd5, 0xb1, 0x7d, 0x35,
|
0x1e, 0x85, 0xd4, 0xbc, 0x0a, 0x82, 0xe7, 0xed, 0x51, 0x88, 0x4d, 0x7b, 0x13, 0x2a, 0x63, 0xfb,
|
||||||
0x12, 0x6b, 0x39, 0x22, 0x87, 0xaa, 0x59, 0x91, 0x30, 0x24, 0x88, 0xc7, 0xb0, 0xa8, 0xa3, 0xa8,
|
0x6a, 0x24, 0xd6, 0x72, 0x44, 0x0e, 0x15, 0xb3, 0x2c, 0x61, 0x48, 0x10, 0x4f, 0x60, 0x49, 0x47,
|
||||||
0xca, 0x0b, 0x51, 0xe5, 0x0b, 0x1a, 0xb6, 0x6c, 0xc3, 0xbb, 0x30, 0xaf, 0xf2, 0xf8, 0xd4, 0x1f,
|
0x51, 0x95, 0x17, 0xa2, 0xca, 0x17, 0x35, 0x6c, 0xd9, 0x86, 0xfb, 0xb0, 0xa0, 0xf2, 0xf8, 0xd4,
|
||||||
0x24, 0x93, 0xb2, 0x59, 0x97, 0x60, 0xd5, 0xcb, 0xfb, 0xd0, 0x38, 0x71, 0x5c, 0x7b, 0x68, 0xf5,
|
0x1f, 0x24, 0x93, 0x92, 0x59, 0x93, 0x60, 0xd5, 0xcb, 0x07, 0x50, 0x3f, 0x71, 0x5c, 0x7b, 0x68,
|
||||||
0x87, 0xe1, 0xb9, 0x35, 0xe0, 0xc3, 0xd0, 0x46, 0x8a, 0x29, 0x98, 0x75, 0x84, 0x6f, 0x0e, 0xc3,
|
0xf5, 0x87, 0xe1, 0xb9, 0x35, 0xe0, 0xc3, 0xd0, 0x46, 0x8a, 0x29, 0x98, 0x35, 0x84, 0x6f, 0x0d,
|
||||||
0xf3, 0x2d, 0x01, 0x65, 0x5f, 0x87, 0xf2, 0x09, 0xe7, 0x16, 0x0e, 0x56, 0xb3, 0x94, 0x58, 0x78,
|
0xc3, 0xf3, 0x6d, 0x01, 0x65, 0xef, 0x41, 0xe9, 0x84, 0x73, 0x0b, 0x07, 0xab, 0x51, 0x4c, 0x2c,
|
||||||
0x6a, 0x86, 0xcc, 0xd2, 0x89, 0x9a, 0xab, 0xaf, 0x43, 0xc3, 0x9b, 0x84, 0xa7, 0x9e, 0xe3, 0x9e,
|
0x3c, 0x35, 0x43, 0x66, 0xf1, 0x44, 0xcd, 0xd5, 0x7b, 0x50, 0xf7, 0x26, 0xe1, 0xa9, 0xe7, 0xb8,
|
||||||
0x5a, 0x82, 0xdf, 0x59, 0xce, 0x00, 0x69, 0x28, 0xbf, 0x91, 0x7d, 0x94, 0x31, 0xeb, 0x2a, 0x4d,
|
0xa7, 0x96, 0xe0, 0x77, 0x96, 0x33, 0x40, 0x1a, 0xca, 0x6f, 0x66, 0x1f, 0x67, 0xcc, 0x9a, 0x4a,
|
||||||
0x70, 0x9e, 0xce, 0x80, 0xbd, 0x03, 0xf3, 0x43, 0x3b, 0x08, 0xad, 0x33, 0x6f, 0x6c, 0x8d, 0x27,
|
0x13, 0x9c, 0xa7, 0x3d, 0x60, 0xef, 0xc0, 0xc2, 0xd0, 0x0e, 0x42, 0xeb, 0xcc, 0x1b, 0x5b, 0xe3,
|
||||||
0xc7, 0x2f, 0xf8, 0x55, 0xb3, 0x86, 0x03, 0x51, 0x13, 0xe0, 0x1d, 0x6f, 0x7c, 0x88, 0x40, 0x41,
|
0xc9, 0xf1, 0x0b, 0x7e, 0xd5, 0xa8, 0xe2, 0x40, 0x54, 0x05, 0x78, 0xd7, 0x1b, 0x1f, 0x22, 0x50,
|
||||||
0xd9, 0xd8, 0x4e, 0x6a, 0x04, 0xdc, 0xcb, 0xdc, 0xaf, 0x99, 0x65, 0x01, 0xa1, 0x4a, 0x9f, 0xc3,
|
0x50, 0x36, 0xb6, 0x93, 0x1a, 0x01, 0xf7, 0x32, 0x0f, 0xaa, 0x66, 0x49, 0x40, 0xa8, 0xd2, 0xcf,
|
||||||
0x22, 0x4e, 0x4f, 0x7f, 0x12, 0x84, 0xde, 0xc8, 0x12, 0xbc, 0xda, 0x1f, 0x04, 0xcd, 0x0a, 0xd2,
|
0x61, 0x09, 0xa7, 0xa7, 0x3f, 0x09, 0x42, 0x6f, 0x64, 0x09, 0x5e, 0xed, 0x0f, 0x82, 0x46, 0x19,
|
||||||
0xda, 0x7b, 0xb2, 0xb1, 0xda, 0x1c, 0xaf, 0x6f, 0xf1, 0x20, 0xdc, 0x44, 0x64, 0x93, 0x70, 0xc5,
|
0x69, 0xed, 0xeb, 0xb2, 0xb1, 0xda, 0x1c, 0x6f, 0x6c, 0xf3, 0x20, 0xdc, 0x42, 0x64, 0x93, 0x70,
|
||||||
0x86, 0x7e, 0x65, 0x2e, 0x0c, 0xa6, 0xe1, 0xec, 0xeb, 0xc0, 0xec, 0xe1, 0xd0, 0xbb, 0xb0, 0x02,
|
0xc5, 0x86, 0x7e, 0x65, 0x2e, 0x0e, 0xa6, 0xe1, 0xec, 0x3d, 0x60, 0xf6, 0x70, 0xe8, 0x5d, 0x58,
|
||||||
0x3e, 0x3c, 0xb1, 0xe4, 0x20, 0x36, 0xeb, 0xf7, 0x32, 0xf7, 0x4b, 0x66, 0x03, 0x53, 0xba, 0x7c,
|
0x01, 0x1f, 0x9e, 0x58, 0x72, 0x10, 0x1b, 0xb5, 0x7b, 0x99, 0x07, 0x45, 0xb3, 0x8e, 0x29, 0x5d,
|
||||||
0x78, 0x72, 0x48, 0x70, 0xf6, 0x21, 0xe0, 0x62, 0xb2, 0x4e, 0xb8, 0x1d, 0x4e, 0x7c, 0x1e, 0x34,
|
0x3e, 0x3c, 0x39, 0x24, 0x38, 0xfb, 0x00, 0x70, 0x31, 0x59, 0x27, 0xdc, 0x0e, 0x27, 0x3e, 0x0f,
|
||||||
0xe7, 0xef, 0xe5, 0xee, 0xd7, 0x1f, 0x2f, 0x44, 0xe3, 0x85, 0xe0, 0x0d, 0x27, 0x34, 0xab, 0x02,
|
0x1a, 0x0b, 0xf7, 0x72, 0x0f, 0x6a, 0x4f, 0x16, 0xa3, 0xf1, 0x42, 0xf0, 0xa6, 0x13, 0x9a, 0x15,
|
||||||
0x4f, 0x7e, 0x07, 0x6b, 0x5b, 0xb0, 0x92, 0xde, 0x24, 0x41, 0x54, 0x62, 0x54, 0x04, 0x31, 0xe6,
|
0x81, 0x27, 0xbf, 0x83, 0xf5, 0x6d, 0x58, 0x4d, 0x6f, 0x92, 0x20, 0x2a, 0x31, 0x2a, 0x82, 0x18,
|
||||||
0x4d, 0xf1, 0x93, 0x2d, 0x41, 0xe1, 0xdc, 0x1e, 0x4e, 0xb8, 0xe4, 0xe9, 0xf4, 0xf1, 0x71, 0xf6,
|
0xf3, 0xa6, 0xf8, 0xc9, 0x96, 0xa1, 0x70, 0x6e, 0x0f, 0x27, 0x5c, 0xf2, 0x74, 0xfa, 0xf8, 0x28,
|
||||||
0xdb, 0x19, 0xe3, 0x8f, 0x32, 0x50, 0xa5, 0x5e, 0x4a, 0x59, 0xe4, 0x2d, 0xa8, 0x29, 0x6a, 0xe0,
|
0xfb, 0xed, 0x8c, 0xf1, 0x47, 0x19, 0xa8, 0x50, 0x2f, 0xa5, 0x2c, 0xf2, 0x16, 0x54, 0x15, 0x35,
|
||||||
0xbe, 0xef, 0xf9, 0x92, 0xab, 0x29, 0xca, 0x6b, 0x0b, 0x98, 0xd8, 0x55, 0x14, 0xd2, 0xd8, 0xe7,
|
0x70, 0xdf, 0xf7, 0x7c, 0xc9, 0xd5, 0x14, 0xe5, 0xb5, 0x04, 0x4c, 0xec, 0x2a, 0x0a, 0x69, 0xec,
|
||||||
0xce, 0xc8, 0x3e, 0x55, 0x45, 0x2b, 0x52, 0x3a, 0x94, 0x60, 0xf6, 0x41, 0x5c, 0x9e, 0xef, 0x4d,
|
0x73, 0x67, 0x64, 0x9f, 0xaa, 0xa2, 0x15, 0x29, 0x1d, 0x4a, 0x30, 0x7b, 0x3f, 0x2e, 0xcf, 0xf7,
|
||||||
0x42, 0x2e, 0xf7, 0xbc, 0xaa, 0xec, 0x9e, 0x29, 0x60, 0x51, 0xe9, 0xf8, 0xf5, 0x1a, 0x74, 0x6e,
|
0x26, 0x21, 0x97, 0x7b, 0x5e, 0x45, 0x76, 0xcf, 0x14, 0xb0, 0xa8, 0x74, 0xfc, 0x7a, 0x0d, 0x3a,
|
||||||
0xfc, 0x56, 0x06, 0x98, 0x68, 0x76, 0xcf, 0xa3, 0x02, 0x24, 0x85, 0x4e, 0xe7, 0xcc, 0xbc, 0xf6,
|
0x37, 0x7e, 0x2b, 0x03, 0x4c, 0x34, 0xbb, 0xe7, 0x51, 0x01, 0x92, 0x42, 0xa7, 0x73, 0x66, 0x5e,
|
||||||
0x0a, 0xc9, 0xbe, 0x6c, 0x85, 0x18, 0x50, 0xa0, 0xb6, 0xe7, 0x53, 0xda, 0x4e, 0x49, 0xdf, 0xcf,
|
0x7b, 0x85, 0x64, 0x5f, 0xb6, 0x42, 0x0c, 0x28, 0x50, 0xdb, 0xf3, 0x29, 0x6d, 0xa7, 0xa4, 0xef,
|
||||||
0x97, 0x72, 0x8d, 0xbc, 0xf1, 0x5f, 0x72, 0xb0, 0xb4, 0x49, 0x5b, 0x76, 0xab, 0xdf, 0xe7, 0xe3,
|
0xe7, 0x8b, 0xb9, 0x7a, 0xde, 0xf8, 0x2f, 0x39, 0x58, 0xde, 0xa2, 0x2d, 0xbb, 0xd9, 0xef, 0xf3,
|
||||||
0x68, 0xed, 0xdc, 0x85, 0x8a, 0xeb, 0x0d, 0xb8, 0xa2, 0x58, 0x6a, 0x18, 0x08, 0x90, 0x46, 0xae,
|
0x71, 0xb4, 0x76, 0xee, 0x42, 0xd9, 0xf5, 0x06, 0x5c, 0x51, 0x2c, 0x35, 0x0c, 0x04, 0x48, 0x23,
|
||||||
0x67, 0xb6, 0xe3, 0x52, 0xc3, 0x69, 0x30, 0xcb, 0x08, 0xc1, 0x66, 0xbf, 0x03, 0xf3, 0x63, 0xee,
|
0xd7, 0x33, 0xdb, 0x71, 0xa9, 0xe1, 0x34, 0x98, 0x25, 0x84, 0x60, 0xb3, 0xdf, 0x81, 0x85, 0x31,
|
||||||
0x0e, 0xf4, 0x25, 0x42, 0x42, 0x55, 0x4d, 0x82, 0xe5, 0xea, 0xb8, 0x0b, 0x95, 0x93, 0x09, 0xe1,
|
0x77, 0x07, 0xfa, 0x12, 0x21, 0xa1, 0xaa, 0x2a, 0xc1, 0x72, 0x75, 0xdc, 0x85, 0xf2, 0xc9, 0x84,
|
||||||
0x09, 0xc6, 0x92, 0x47, 0x1a, 0x00, 0x09, 0x6a, 0x11, 0x7f, 0x19, 0x4f, 0x82, 0x33, 0x4c, 0x2d,
|
0xf0, 0x04, 0x63, 0xc9, 0x23, 0x0d, 0x80, 0x04, 0x35, 0x89, 0xbf, 0x8c, 0x27, 0xc1, 0x19, 0xa6,
|
||||||
0x60, 0x6a, 0x51, 0x7c, 0x8b, 0xa4, 0x3b, 0x00, 0x83, 0x49, 0x10, 0xca, 0x15, 0x33, 0x87, 0x89,
|
0x16, 0x30, 0x75, 0x5e, 0x7c, 0x8b, 0xa4, 0x3b, 0x00, 0x83, 0x49, 0x10, 0xca, 0x15, 0x33, 0x87,
|
||||||
0x65, 0x01, 0xa1, 0x15, 0xf3, 0x0d, 0x58, 0x1c, 0xd9, 0x97, 0x16, 0xd2, 0x8e, 0xe5, 0xb8, 0xd6,
|
0x89, 0x25, 0x01, 0xa1, 0x15, 0xf3, 0x0d, 0x58, 0x1a, 0xd9, 0x97, 0x16, 0xd2, 0x8e, 0xe5, 0xb8,
|
||||||
0xc9, 0x10, 0xf7, 0x9c, 0x22, 0xe2, 0x35, 0x46, 0xf6, 0xe5, 0x67, 0x22, 0xa5, 0xe3, 0x6e, 0x23,
|
0xd6, 0xc9, 0x10, 0xf7, 0x9c, 0x79, 0xc4, 0xab, 0x8f, 0xec, 0xcb, 0x4f, 0x45, 0x4a, 0xdb, 0xdd,
|
||||||
0x5c, 0xb0, 0x15, 0x25, 0xee, 0xf8, 0x3c, 0xe0, 0xfe, 0x39, 0x47, 0x4e, 0x90, 0x8f, 0x64, 0x1a,
|
0x41, 0xb8, 0x60, 0x2b, 0x4a, 0xdc, 0xf1, 0x79, 0xc0, 0xfd, 0x73, 0x8e, 0x9c, 0x20, 0x1f, 0xc9,
|
||||||
0x93, 0xa0, 0xa2, 0x45, 0x23, 0xd1, 0xef, 0x70, 0xd8, 0xa7, 0x65, 0x6f, 0x16, 0x47, 0x8e, 0xbb,
|
0x34, 0x26, 0x41, 0x45, 0x8b, 0x46, 0xa2, 0xdf, 0xe1, 0xb0, 0x4f, 0xcb, 0xde, 0x9c, 0x1f, 0x39,
|
||||||
0x13, 0x0e, 0xfb, 0x62, 0x5f, 0x11, 0x7c, 0x64, 0xcc, 0x7d, 0xeb, 0xc5, 0x05, 0xae, 0xe1, 0x3c,
|
0xee, 0x6e, 0x38, 0xec, 0x8b, 0x7d, 0x45, 0xf0, 0x91, 0x31, 0xf7, 0xad, 0x17, 0x17, 0xb8, 0x86,
|
||||||
0xf2, 0x8d, 0x43, 0xee, 0x3f, 0xbb, 0x10, 0x5b, 0x7f, 0x3f, 0x40, 0x46, 0x64, 0x5f, 0x35, 0x2b,
|
0xf3, 0xc8, 0x37, 0x0e, 0xb9, 0xff, 0xfc, 0x42, 0x6c, 0xfd, 0xfd, 0x00, 0x19, 0x91, 0x7d, 0xd5,
|
||||||
0xb8, 0xc0, 0x4b, 0xfd, 0x40, 0xb0, 0x20, 0xfb, 0x4a, 0x2c, 0x42, 0xd1, 0x5a, 0x1b, 0x67, 0x81,
|
0x28, 0xe3, 0x02, 0x2f, 0xf6, 0x03, 0xc1, 0x82, 0xec, 0x2b, 0xb1, 0x08, 0x45, 0x6b, 0x6d, 0x9c,
|
||||||
0x0f, 0xb0, 0xf8, 0x00, 0x39, 0x6a, 0x0d, 0x1b, 0xdb, 0x92, 0x09, 0xa2, 0x9e, 0x40, 0x50, 0xbd,
|
0x05, 0x3e, 0xc0, 0xe2, 0x03, 0xe4, 0xa8, 0x55, 0x6c, 0x6c, 0x53, 0x26, 0x88, 0x7a, 0x02, 0x41,
|
||||||
0x6a, 0xec, 0xc9, 0xd0, 0x3e, 0x0d, 0x90, 0xa5, 0xd4, 0xcc, 0xaa, 0x04, 0x6e, 0x0b, 0x98, 0xf1,
|
0xf5, 0xaa, 0xb1, 0x27, 0x43, 0xfb, 0x34, 0x40, 0x96, 0x52, 0x35, 0x2b, 0x12, 0xb8, 0x23, 0x60,
|
||||||
0x39, 0x09, 0x59, 0xda, 0xdc, 0xca, 0x35, 0x23, 0xb6, 0x7a, 0x84, 0xe0, 0xbc, 0x96, 0x4c, 0xf9,
|
0xc6, 0x67, 0x24, 0x64, 0x69, 0x73, 0x2b, 0xd7, 0x8c, 0xd8, 0xea, 0x11, 0x82, 0xf3, 0x5a, 0x34,
|
||||||
0x95, 0x36, 0x69, 0xd9, 0x94, 0x49, 0x33, 0x7e, 0x37, 0x03, 0x55, 0x59, 0x32, 0x0a, 0x25, 0x6c,
|
0xe5, 0x57, 0xda, 0xa4, 0x65, 0x53, 0x26, 0xcd, 0xf8, 0xdd, 0x0c, 0x54, 0x64, 0xc9, 0x28, 0x94,
|
||||||
0x1d, 0x98, 0x9a, 0xc5, 0xf0, 0xd2, 0x19, 0x58, 0xc7, 0x57, 0x21, 0x0f, 0x88, 0x68, 0x76, 0x6e,
|
0xb0, 0x0d, 0x60, 0x6a, 0x16, 0xc3, 0x4b, 0x67, 0x60, 0x1d, 0x5f, 0x85, 0x3c, 0x20, 0xa2, 0xd9,
|
||||||
0x98, 0x0d, 0x99, 0xd6, 0xbb, 0x74, 0x06, 0x1b, 0x22, 0x85, 0x3d, 0x80, 0x46, 0x02, 0x3f, 0x08,
|
0xbd, 0x61, 0xd6, 0x65, 0x5a, 0xef, 0xd2, 0x19, 0x6c, 0x8a, 0x14, 0xf6, 0x10, 0xea, 0x09, 0xfc,
|
||||||
0x7d, 0xa2, 0xe8, 0x9d, 0x1b, 0x66, 0x5d, 0xc3, 0xee, 0x86, 0xbe, 0x58, 0x23, 0x42, 0xe4, 0x99,
|
0x20, 0xf4, 0x89, 0xa2, 0x77, 0x6f, 0x98, 0x35, 0x0d, 0xbb, 0x1b, 0xfa, 0x62, 0x8d, 0x08, 0x91,
|
||||||
0x84, 0x96, 0xe3, 0x0e, 0xf8, 0x25, 0x92, 0x51, 0xcd, 0xac, 0x10, 0xac, 0x23, 0x40, 0x1b, 0x75,
|
0x67, 0x12, 0x5a, 0x8e, 0x3b, 0xe0, 0x97, 0x48, 0x46, 0x55, 0xb3, 0x4c, 0xb0, 0xb6, 0x00, 0x6d,
|
||||||
0xa8, 0xea, 0xc5, 0x19, 0xa7, 0x50, 0x52, 0xf2, 0x12, 0x0a, 0x0c, 0x53, 0x4d, 0x32, 0xcb, 0x61,
|
0xd6, 0xa0, 0xa2, 0x17, 0x67, 0x9c, 0x42, 0x51, 0xc9, 0x4b, 0x28, 0x30, 0x4c, 0x35, 0xc9, 0x2c,
|
||||||
0xd4, 0x92, 0x9b, 0x50, 0x4a, 0xb6, 0xc0, 0x2c, 0x86, 0xaf, 0x5d, 0xb1, 0xf1, 0x5d, 0x68, 0xec,
|
0x85, 0x51, 0x4b, 0x6e, 0x42, 0x31, 0xd9, 0x02, 0x73, 0x3e, 0x7c, 0xed, 0x8a, 0x8d, 0xef, 0x42,
|
||||||
0x0a, 0xe2, 0x71, 0x05, 0xb1, 0x4a, 0xf9, 0x6f, 0x05, 0xe6, 0xb4, 0x45, 0x53, 0x36, 0xe5, 0x97,
|
0x7d, 0x4f, 0x10, 0x8f, 0x2b, 0x88, 0x55, 0xca, 0x7f, 0xab, 0x30, 0xa7, 0x2d, 0x9a, 0x92, 0x29,
|
||||||
0xd8, 0x73, 0xcf, 0xbc, 0x20, 0x94, 0xb5, 0xe0, 0x6f, 0xe3, 0x8f, 0x33, 0xc0, 0xda, 0x41, 0xe8,
|
0xbf, 0xc4, 0x9e, 0x7b, 0xe6, 0x05, 0xa1, 0xac, 0x05, 0x7f, 0x1b, 0x7f, 0x9c, 0x01, 0xd6, 0x0a,
|
||||||
0x8c, 0xec, 0x90, 0x6f, 0xf3, 0x88, 0x2d, 0x1c, 0x40, 0x55, 0x94, 0xd6, 0xf3, 0x5a, 0x24, 0x90,
|
0x42, 0x67, 0x64, 0x87, 0x7c, 0x87, 0x47, 0x6c, 0xe1, 0x00, 0x2a, 0xa2, 0xb4, 0x9e, 0xd7, 0x24,
|
||||||
0x91, 0x40, 0xf1, 0xbe, 0x5c, 0xc6, 0xb3, 0x19, 0xd6, 0x75, 0x6c, 0x62, 0xf3, 0x89, 0x02, 0xc4,
|
0x81, 0x8c, 0x04, 0x8a, 0x77, 0xe5, 0x32, 0x9e, 0xcd, 0xb0, 0xa1, 0x63, 0x13, 0x9b, 0x4f, 0x14,
|
||||||
0x2a, 0x0b, 0x6d, 0xff, 0x94, 0x87, 0x28, 0xc6, 0x49, 0x79, 0x1f, 0x08, 0x24, 0x04, 0xb8, 0xb5,
|
0x20, 0x56, 0x59, 0x68, 0xfb, 0xa7, 0x3c, 0x44, 0x31, 0x4e, 0xca, 0xfb, 0x40, 0x20, 0x21, 0xc0,
|
||||||
0x5f, 0x84, 0x85, 0x99, 0x32, 0x74, 0xbe, 0x5c, 0x4e, 0xe1, 0xcb, 0x39, 0x9d, 0x2f, 0x5b, 0xb0,
|
0xad, 0xff, 0x22, 0x2c, 0xce, 0x94, 0xa1, 0xf3, 0xe5, 0x52, 0x0a, 0x5f, 0xce, 0xe9, 0x7c, 0xd9,
|
||||||
0x98, 0x68, 0x97, 0xa4, 0xb4, 0x55, 0x28, 0x8a, 0x05, 0x21, 0x84, 0x83, 0x0c, 0x49, 0x95, 0x27,
|
0x82, 0xa5, 0x44, 0xbb, 0x24, 0xa5, 0xad, 0xc1, 0xbc, 0x58, 0x10, 0x42, 0x38, 0xc8, 0x90, 0x54,
|
||||||
0x9c, 0x0b, 0x31, 0xf8, 0x21, 0x2c, 0x9d, 0x70, 0xee, 0xdb, 0x21, 0x26, 0xe2, 0x8a, 0x11, 0x33,
|
0x79, 0xc2, 0xb9, 0x10, 0x83, 0x1f, 0xc1, 0xf2, 0x09, 0xe7, 0xbe, 0x1d, 0x62, 0x22, 0xae, 0x18,
|
||||||
0x24, 0x0b, 0x5e, 0x90, 0x69, 0x5d, 0x3b, 0x3c, 0xe4, 0xbe, 0x98, 0x29, 0xe3, 0xbf, 0x65, 0x60,
|
0x31, 0x43, 0xb2, 0xe0, 0x45, 0x99, 0xd6, 0xb5, 0xc3, 0x43, 0xee, 0x8b, 0x99, 0x32, 0xfe, 0x5b,
|
||||||
0x5e, 0x70, 0xd0, 0x3d, 0xdb, 0xbd, 0x52, 0xe3, 0xb4, 0x9b, 0x3a, 0x4e, 0xf7, 0xb5, 0xcd, 0x50,
|
0x06, 0x16, 0x04, 0x07, 0xdd, 0xb7, 0xdd, 0x2b, 0x35, 0x4e, 0x7b, 0xa9, 0xe3, 0xf4, 0x40, 0xdb,
|
||||||
0xc3, 0xfe, 0xaa, 0x83, 0x94, 0x9b, 0x1e, 0x24, 0x76, 0x0f, 0xaa, 0x89, 0xb6, 0x16, 0xb0, 0xad,
|
0x0c, 0x35, 0xec, 0xaf, 0x3a, 0x48, 0xb9, 0xe9, 0x41, 0x62, 0xf7, 0xa0, 0x92, 0x68, 0x6b, 0x01,
|
||||||
0x10, 0x44, 0x8d, 0xfc, 0xe9, 0x87, 0xf1, 0x1d, 0x68, 0xc4, 0xcd, 0x96, 0x63, 0xc8, 0x20, 0x2f,
|
0xdb, 0x0a, 0x41, 0xd4, 0xc8, 0x9f, 0x7e, 0x18, 0xdf, 0x81, 0x7a, 0xdc, 0x6c, 0x39, 0x86, 0x0c,
|
||||||
0x48, 0x52, 0x16, 0x80, 0xbf, 0x8d, 0xdf, 0xc9, 0x10, 0xe2, 0xa6, 0xe7, 0x44, 0xd2, 0xa9, 0x40,
|
0xf2, 0x82, 0x24, 0x65, 0x01, 0xf8, 0xdb, 0xf8, 0x9d, 0x0c, 0x21, 0x6e, 0x79, 0x4e, 0x24, 0x9d,
|
||||||
0x14, 0x72, 0xaf, 0x42, 0x14, 0xbf, 0xaf, 0x95, 0xea, 0x7f, 0xfa, 0xce, 0x8a, 0xa5, 0x13, 0x70,
|
0x0a, 0x44, 0x21, 0xf7, 0x2a, 0x44, 0xf1, 0xfb, 0x5a, 0xa9, 0xfe, 0xa7, 0xef, 0xac, 0x58, 0x3a,
|
||||||
0x77, 0x60, 0xd9, 0xc3, 0x21, 0x32, 0xdf, 0x92, 0x59, 0x14, 0xdf, 0xad, 0xe1, 0xd0, 0x78, 0x17,
|
0x01, 0x77, 0x07, 0x96, 0x3d, 0x1c, 0x22, 0xf3, 0x2d, 0x9a, 0xf3, 0xe2, 0xbb, 0x39, 0x1c, 0x1a,
|
||||||
0x16, 0xb4, 0xd6, 0xbd, 0xa4, 0x1f, 0xfb, 0xc0, 0x76, 0x9d, 0x20, 0x3c, 0x72, 0x83, 0xb1, 0x26,
|
0xf7, 0x61, 0x51, 0x6b, 0xdd, 0x4b, 0xfa, 0xd1, 0x01, 0xb6, 0xe7, 0x04, 0xe1, 0x91, 0x1b, 0x8c,
|
||||||
0xb8, 0xdd, 0x82, 0xb2, 0xe0, 0xb0, 0xa2, 0x65, 0xb4, 0x64, 0x0b, 0xa6, 0x60, 0xb9, 0xa2, 0x5d,
|
0x35, 0xc1, 0xed, 0x16, 0x94, 0x04, 0x87, 0x15, 0x2d, 0xa3, 0x25, 0x5b, 0x30, 0x05, 0xcb, 0x15,
|
||||||
0x01, 0x26, 0xda, 0x97, 0x32, 0x31, 0x2b, 0x13, 0xed, 0x4b, 0x4c, 0x34, 0xbe, 0x0d, 0x8b, 0x89,
|
0xed, 0x0a, 0x30, 0xd1, 0xbe, 0x94, 0x89, 0x59, 0x99, 0x68, 0x5f, 0x62, 0xa2, 0xf1, 0x6d, 0x58,
|
||||||
0xf2, 0x64, 0xd5, 0x6f, 0x42, 0x61, 0x12, 0x5e, 0x7a, 0x4a, 0x34, 0xaf, 0x48, 0x0a, 0x11, 0x0a,
|
0x4a, 0x94, 0x27, 0xab, 0x7e, 0x13, 0x0a, 0x93, 0xf0, 0xd2, 0x53, 0xa2, 0x79, 0x59, 0x52, 0x88,
|
||||||
0xa0, 0x49, 0x29, 0xc6, 0x27, 0xb0, 0xb0, 0xcf, 0x2f, 0xe4, 0x22, 0x56, 0x0d, 0x79, 0x07, 0xf2,
|
0x50, 0x00, 0x4d, 0x4a, 0x31, 0x3e, 0x86, 0xc5, 0x0e, 0xbf, 0x90, 0x8b, 0x58, 0x35, 0xe4, 0x1d,
|
||||||
0xaf, 0x50, 0x0a, 0x31, 0xdd, 0x58, 0x07, 0xa6, 0x67, 0x96, 0xb5, 0x6a, 0x3a, 0x62, 0x26, 0xa1,
|
0xc8, 0xbf, 0x42, 0x29, 0xc4, 0x74, 0x63, 0x03, 0x98, 0x9e, 0x59, 0xd6, 0xaa, 0xe9, 0x88, 0x99,
|
||||||
0x23, 0x1a, 0xef, 0x00, 0xeb, 0x3a, 0xa7, 0xee, 0x1e, 0x0f, 0x02, 0xfb, 0x34, 0x5a, 0xf6, 0x0d,
|
0x84, 0x8e, 0x68, 0xbc, 0x03, 0xac, 0xeb, 0x9c, 0xba, 0xfb, 0x3c, 0x08, 0xec, 0xd3, 0x68, 0xd9,
|
||||||
0xc8, 0x8d, 0x82, 0x53, 0xc9, 0xa3, 0xc4, 0x4f, 0xe3, 0x9b, 0xb0, 0x98, 0xc0, 0x93, 0x05, 0xdf,
|
0xd7, 0x21, 0x37, 0x0a, 0x4e, 0x25, 0x8f, 0x12, 0x3f, 0x8d, 0x6f, 0xc2, 0x52, 0x02, 0x4f, 0x16,
|
||||||
0x86, 0x72, 0xe0, 0x9c, 0xba, 0x28, 0x58, 0xc9, 0xa2, 0x63, 0x80, 0xb1, 0x0d, 0x4b, 0x9f, 0x71,
|
0x7c, 0x1b, 0x4a, 0x81, 0x73, 0xea, 0xa2, 0x60, 0x25, 0x8b, 0x8e, 0x01, 0xc6, 0x0e, 0x2c, 0x7f,
|
||||||
0xdf, 0x39, 0xb9, 0x7a, 0x55, 0xf1, 0xc9, 0x72, 0xb2, 0xd3, 0xe5, 0xb4, 0x61, 0x79, 0xaa, 0x1c,
|
0xca, 0x7d, 0xe7, 0xe4, 0xea, 0x55, 0xc5, 0x27, 0xcb, 0xc9, 0x4e, 0x97, 0xd3, 0x82, 0x95, 0xa9,
|
||||||
0x59, 0x3d, 0x91, 0xaf, 0x9c, 0xc9, 0x92, 0x49, 0x1f, 0x1a, 0xdf, 0xcb, 0xea, 0x7c, 0xcf, 0x38,
|
0x72, 0x64, 0xf5, 0x44, 0xbe, 0x72, 0x26, 0x8b, 0x26, 0x7d, 0x68, 0x7c, 0x2f, 0xab, 0xf3, 0x3d,
|
||||||
0x02, 0xb6, 0xe9, 0xb9, 0x2e, 0xef, 0x87, 0x87, 0x9c, 0xfb, 0xb1, 0x95, 0x2a, 0xa6, 0xd5, 0xca,
|
0xe3, 0x08, 0xd8, 0x96, 0xe7, 0xba, 0xbc, 0x1f, 0x1e, 0x72, 0xee, 0xc7, 0x56, 0xaa, 0x98, 0x56,
|
||||||
0xe3, 0x55, 0x39, 0xb2, 0xd3, 0xcc, 0x54, 0x12, 0x31, 0x83, 0xfc, 0x98, 0xfb, 0x23, 0x2c, 0xb8,
|
0xcb, 0x4f, 0xd6, 0xe4, 0xc8, 0x4e, 0x33, 0x53, 0x49, 0xc4, 0x0c, 0xf2, 0x63, 0xee, 0x8f, 0xb0,
|
||||||
0x64, 0xe2, 0x6f, 0x63, 0x19, 0x16, 0x13, 0xc5, 0x4a, 0xbd, 0xfe, 0x11, 0x2c, 0x6f, 0x39, 0x41,
|
0xe0, 0xa2, 0x89, 0xbf, 0x8d, 0x15, 0x58, 0x4a, 0x14, 0x2b, 0xf5, 0xfa, 0xc7, 0xb0, 0xb2, 0xed,
|
||||||
0x7f, 0xb6, 0xc2, 0x55, 0x28, 0x8e, 0x27, 0xc7, 0x56, 0x92, 0x2f, 0x3f, 0xe3, 0x57, 0x42, 0xdb,
|
0x04, 0xfd, 0xd9, 0x0a, 0xd7, 0x60, 0x7e, 0x3c, 0x39, 0xb6, 0x92, 0x7c, 0xf9, 0x39, 0xbf, 0x12,
|
||||||
0x9b, 0xce, 0x21, 0xcb, 0xfa, 0xab, 0x19, 0xc8, 0xef, 0xf4, 0x76, 0x37, 0xd9, 0x1a, 0x94, 0x1c,
|
0xda, 0xde, 0x74, 0x0e, 0x59, 0xd6, 0x5f, 0xcd, 0x40, 0x7e, 0xb7, 0xb7, 0xb7, 0xc5, 0xd6, 0xa1,
|
||||||
0xb7, 0xef, 0x8d, 0x84, 0xe0, 0x45, 0x7d, 0x8e, 0xbe, 0xaf, 0x5d, 0x60, 0xb7, 0xa0, 0x8c, 0xf2,
|
0xe8, 0xb8, 0x7d, 0x6f, 0x24, 0x04, 0x2f, 0xea, 0x73, 0xf4, 0x7d, 0xed, 0x02, 0xbb, 0x05, 0x25,
|
||||||
0x9a, 0x50, 0x6d, 0xa5, 0xe8, 0x53, 0x12, 0x80, 0x5d, 0xaf, 0xff, 0x42, 0xe8, 0xd4, 0xfc, 0x72,
|
0x94, 0xd7, 0x84, 0x6a, 0x2b, 0x45, 0x9f, 0xa2, 0x00, 0xec, 0x79, 0xfd, 0x17, 0x42, 0xa7, 0xe6,
|
||||||
0xec, 0xf8, 0xa8, 0x35, 0x2b, 0x65, 0x38, 0x4f, 0x7b, 0x7d, 0x9c, 0x40, 0x1a, 0xb1, 0xf1, 0xaf,
|
0x97, 0x63, 0xc7, 0x47, 0xad, 0x59, 0x29, 0xc3, 0x79, 0xda, 0xeb, 0xe3, 0x04, 0xd2, 0x88, 0x8d,
|
||||||
0x4b, 0x50, 0x94, 0xbb, 0x2d, 0xed, 0xdc, 0xa1, 0x73, 0xce, 0xe3, 0x9d, 0x5b, 0x7c, 0x09, 0x79,
|
0x7f, 0x5d, 0x84, 0x79, 0xb9, 0xdb, 0xd2, 0xce, 0x1d, 0x3a, 0xe7, 0x3c, 0xde, 0xb9, 0xc5, 0x97,
|
||||||
0xc0, 0xe7, 0x23, 0x2f, 0x8c, 0x04, 0x36, 0x9a, 0x83, 0x2a, 0x01, 0xa5, 0xc8, 0xa6, 0x09, 0x0d,
|
0x90, 0x07, 0x7c, 0x3e, 0xf2, 0xc2, 0x48, 0x60, 0xa3, 0x39, 0xa8, 0x10, 0x50, 0x8a, 0x6c, 0x9a,
|
||||||
0x64, 0x62, 0xc8, 0x11, 0x52, 0x5f, 0xdf, 0xca, 0x6f, 0x41, 0x51, 0xed, 0xfd, 0xf9, 0x48, 0xa7,
|
0xd0, 0x40, 0x26, 0x86, 0x1c, 0x21, 0xf5, 0xf5, 0xad, 0xfc, 0x16, 0xcc, 0xab, 0xbd, 0x3f, 0x1f,
|
||||||
0x99, 0xeb, 0x93, 0xb4, 0xb6, 0x06, 0xa5, 0xbe, 0x3d, 0xb6, 0xfb, 0x4e, 0x78, 0x25, 0x19, 0x42,
|
0xe9, 0x34, 0x73, 0x7d, 0x92, 0xd6, 0xd6, 0xa1, 0xd8, 0xb7, 0xc7, 0x76, 0xdf, 0x09, 0xaf, 0x24,
|
||||||
0xf4, 0x2d, 0x4a, 0x1f, 0x7a, 0x7d, 0x7b, 0x68, 0x1d, 0xdb, 0x43, 0xdb, 0xed, 0x73, 0xa9, 0xbb,
|
0x43, 0x88, 0xbe, 0x45, 0xe9, 0x43, 0xaf, 0x6f, 0x0f, 0xad, 0x63, 0x7b, 0x68, 0xbb, 0x7d, 0x2e,
|
||||||
0x57, 0x11, 0xb8, 0x41, 0x30, 0xa1, 0x9f, 0xcb, 0x76, 0x2a, 0x2c, 0x52, 0xe1, 0x65, 0xeb, 0x15,
|
0x75, 0xf7, 0x0a, 0x02, 0x37, 0x09, 0x26, 0xf4, 0x73, 0xd9, 0x4e, 0x85, 0x45, 0x2a, 0xbc, 0x6c,
|
||||||
0x9a, 0x10, 0x2e, 0xbd, 0xd1, 0xc8, 0x11, 0x5a, 0x06, 0x89, 0x61, 0x39, 0xb3, 0x4c, 0x90, 0x6d,
|
0xbd, 0x42, 0x13, 0xc2, 0xa5, 0x37, 0x1a, 0x39, 0x42, 0xcb, 0x20, 0x31, 0x2c, 0x67, 0x96, 0x08,
|
||||||
0x8e, 0xbd, 0x95, 0xc9, 0x17, 0x34, 0x74, 0x65, 0xaa, 0x8a, 0x80, 0x9f, 0x93, 0x21, 0x61, 0x56,
|
0xb2, 0xc3, 0xb1, 0xb7, 0x32, 0xf9, 0x82, 0x86, 0xae, 0x44, 0x55, 0x11, 0xf0, 0x33, 0x32, 0x24,
|
||||||
0x16, 0xcb, 0x69, 0xb2, 0xd8, 0xfb, 0xb0, 0x30, 0x71, 0x03, 0x1e, 0x86, 0x43, 0x3e, 0x88, 0xda,
|
0xcc, 0xca, 0x62, 0x39, 0x4d, 0x16, 0x7b, 0x17, 0x16, 0x27, 0x6e, 0xc0, 0xc3, 0x70, 0xc8, 0x07,
|
||||||
0x52, 0x41, 0xa4, 0x46, 0x94, 0xa0, 0x9a, 0xb3, 0x0e, 0x8b, 0x64, 0x74, 0x08, 0xec, 0xd0, 0x0b,
|
0x51, 0x5b, 0xca, 0x88, 0x54, 0x8f, 0x12, 0x54, 0x73, 0x36, 0x60, 0x89, 0x8c, 0x0e, 0x81, 0x1d,
|
||||||
0xce, 0x9c, 0xc0, 0x0a, 0x84, 0x86, 0x44, 0xea, 0xee, 0x02, 0x26, 0x75, 0x65, 0x4a, 0x97, 0x54,
|
0x7a, 0xc1, 0x99, 0x13, 0x58, 0x81, 0xd0, 0x90, 0x48, 0xdd, 0x5d, 0xc4, 0xa4, 0xae, 0x4c, 0xe9,
|
||||||
0xa4, 0xd5, 0x29, 0x7c, 0x9f, 0xf7, 0xb9, 0x73, 0xce, 0x07, 0x28, 0xa7, 0xe5, 0xcc, 0xe5, 0x44,
|
0x92, 0x8a, 0xb4, 0x36, 0x85, 0xef, 0xf3, 0x3e, 0x77, 0xce, 0xf9, 0x00, 0xe5, 0xb4, 0x9c, 0xb9,
|
||||||
0x1e, 0x53, 0x26, 0xa2, 0xd0, 0x3d, 0x19, 0x59, 0x93, 0xf1, 0xc0, 0x16, 0xc2, 0x4a, 0x9d, 0x84,
|
0x92, 0xc8, 0x63, 0xca, 0x44, 0x14, 0xba, 0x27, 0x23, 0x6b, 0x32, 0x1e, 0xd8, 0x42, 0x58, 0xa9,
|
||||||
0x61, 0x77, 0x32, 0x3a, 0x22, 0x08, 0x7b, 0x04, 0x4a, 0x12, 0x93, 0xf2, 0xe1, 0x7c, 0x82, 0x9f,
|
0x91, 0x30, 0xec, 0x4e, 0x46, 0x47, 0x04, 0x61, 0x8f, 0x41, 0x49, 0x62, 0x52, 0x3e, 0x5c, 0x48,
|
||||||
0x09, 0x62, 0x35, 0xab, 0x12, 0x83, 0x04, 0xc5, 0x84, 0xcc, 0xd9, 0x98, 0x92, 0x39, 0x9b, 0x50,
|
0xf0, 0x33, 0x41, 0xac, 0x66, 0x45, 0x62, 0x90, 0xa0, 0x98, 0x90, 0x39, 0xeb, 0x53, 0x32, 0x67,
|
||||||
0x1c, 0xfb, 0xce, 0xb9, 0x1d, 0xf2, 0xe6, 0x02, 0x31, 0x70, 0xf9, 0x29, 0x38, 0x83, 0xe3, 0x3a,
|
0x03, 0xe6, 0xc7, 0xbe, 0x73, 0x6e, 0x87, 0xbc, 0xb1, 0x48, 0x0c, 0x5c, 0x7e, 0x0a, 0xce, 0xe0,
|
||||||
0xa1, 0x63, 0x87, 0x9e, 0xdf, 0x64, 0x98, 0x16, 0x03, 0xd8, 0x03, 0x58, 0x40, 0x1a, 0x09, 0x42,
|
0xb8, 0x4e, 0xe8, 0xd8, 0xa1, 0xe7, 0x37, 0x18, 0xa6, 0xc5, 0x00, 0xf6, 0x10, 0x16, 0x91, 0x46,
|
||||||
0x3b, 0x9c, 0x04, 0x52, 0x02, 0x5d, 0x44, 0x62, 0x42, 0x19, 0xba, 0x8b, 0x70, 0x14, 0x42, 0xd9,
|
0x82, 0xd0, 0x0e, 0x27, 0x81, 0x94, 0x40, 0x97, 0x90, 0x98, 0x50, 0x86, 0xee, 0x22, 0x1c, 0x85,
|
||||||
0x37, 0x61, 0x85, 0xc8, 0x02, 0x73, 0x48, 0xc9, 0x1a, 0x05, 0x82, 0x25, 0x1c, 0x8a, 0x45, 0x4c,
|
0x50, 0xf6, 0x4d, 0x58, 0x25, 0xb2, 0xc0, 0x1c, 0x52, 0xb2, 0x46, 0x81, 0x60, 0x19, 0x87, 0x62,
|
||||||
0x15, 0xf4, 0x2d, 0xe5, 0x6b, 0x21, 0x1d, 0x3c, 0x81, 0x55, 0x49, 0x26, 0x33, 0xb9, 0x96, 0x31,
|
0x09, 0x53, 0x05, 0x7d, 0x4b, 0xf9, 0x5a, 0x48, 0x07, 0x4f, 0x61, 0x4d, 0x92, 0xc9, 0x4c, 0xae,
|
||||||
0xd7, 0x12, 0x25, 0x4f, 0x65, 0x5b, 0x87, 0x05, 0xd1, 0x24, 0xa7, 0x6f, 0xc9, 0xdc, 0x62, 0x25,
|
0x15, 0xcc, 0xb5, 0x4c, 0xc9, 0x53, 0xd9, 0x36, 0x60, 0x51, 0x34, 0xc9, 0xe9, 0x5b, 0x32, 0xb7,
|
||||||
0xac, 0x88, 0xd6, 0xa3, 0xa6, 0x34, 0x4f, 0x89, 0x26, 0xa6, 0x3d, 0xe3, 0x57, 0xec, 0xbb, 0x30,
|
0x58, 0x09, 0xab, 0xa2, 0xf5, 0xa8, 0x29, 0x2d, 0x50, 0xa2, 0x89, 0x69, 0xcf, 0xf9, 0x15, 0xfb,
|
||||||
0x4f, 0x24, 0x83, 0xea, 0x15, 0x72, 0xfa, 0x35, 0xe4, 0xf4, 0xcb, 0xca, 0xc2, 0x19, 0xa5, 0x22,
|
0x2e, 0x2c, 0x10, 0xc9, 0xa0, 0x7a, 0x85, 0x9c, 0x7e, 0x1d, 0x39, 0xfd, 0x8a, 0xb2, 0x70, 0x46,
|
||||||
0xb3, 0xaf, 0xf7, 0x13, 0xdf, 0x62, 0x39, 0x0c, 0x9d, 0x13, 0x1e, 0x3a, 0x23, 0xde, 0x5c, 0x25,
|
0xa9, 0xc8, 0xec, 0x6b, 0xfd, 0xc4, 0xb7, 0x58, 0x0e, 0x43, 0xe7, 0x84, 0x87, 0xce, 0x88, 0x37,
|
||||||
0x02, 0x53, 0xdf, 0x62, 0xa5, 0x4e, 0xc6, 0x98, 0xd2, 0x24, 0xbe, 0x40, 0x5f, 0x48, 0xbb, 0x43,
|
0xd6, 0x88, 0xc0, 0xd4, 0xb7, 0x58, 0xa9, 0x93, 0x31, 0xa6, 0x34, 0x88, 0x2f, 0xd0, 0x17, 0xd2,
|
||||||
0x2f, 0xe0, 0xca, 0x44, 0xd5, 0xbc, 0x29, 0x17, 0xa1, 0x00, 0x2a, 0x19, 0x52, 0x08, 0xe2, 0xa4,
|
0xee, 0xd0, 0x0b, 0xb8, 0x32, 0x51, 0x35, 0x6e, 0xca, 0x45, 0x28, 0x80, 0x4a, 0x86, 0x14, 0x82,
|
||||||
0xf4, 0x44, 0x86, 0xc4, 0x5b, 0x48, 0x0c, 0x35, 0xd2, 0x7d, 0x94, 0x31, 0x51, 0xec, 0xe2, 0x67,
|
0x38, 0x29, 0x3d, 0x91, 0x21, 0xf1, 0x16, 0x12, 0x43, 0x95, 0x74, 0x1f, 0x65, 0x4c, 0x14, 0xbb,
|
||||||
0xf6, 0x85, 0xe2, 0x20, 0xb7, 0x71, 0x7e, 0x41, 0x80, 0x24, 0xef, 0xf8, 0xc3, 0x0c, 0x6d, 0x88,
|
0xf8, 0x99, 0x7d, 0xa1, 0x38, 0xc8, 0x6d, 0x9c, 0x5f, 0x10, 0x20, 0xc9, 0x3b, 0xfe, 0x30, 0x43,
|
||||||
0x92, 0x7f, 0x04, 0x9a, 0x7a, 0x47, 0x9c, 0xc3, 0xf2, 0xdc, 0xe1, 0x95, 0x64, 0x26, 0x40, 0xa0,
|
0x1b, 0xa2, 0xe4, 0x1f, 0x81, 0xa6, 0xde, 0x11, 0xe7, 0xb0, 0x3c, 0x77, 0x78, 0x25, 0x99, 0x09,
|
||||||
0x03, 0x77, 0x88, 0xab, 0xd9, 0x71, 0x75, 0x14, 0xe2, 0xbd, 0x55, 0x05, 0x44, 0xa4, 0xbb, 0x50,
|
0x10, 0xe8, 0xc0, 0x1d, 0xe2, 0x6a, 0x76, 0x5c, 0x1d, 0x85, 0x78, 0x6f, 0x45, 0x01, 0x11, 0xe9,
|
||||||
0x19, 0x4f, 0x8e, 0x87, 0x4e, 0x9f, 0x50, 0x72, 0x54, 0x0a, 0x81, 0x10, 0x41, 0xe8, 0xb7, 0x44,
|
0x2e, 0x94, 0xc7, 0x93, 0xe3, 0xa1, 0xd3, 0x27, 0x94, 0x1c, 0x95, 0x42, 0x20, 0x44, 0x10, 0xfa,
|
||||||
0x51, 0x84, 0x91, 0x47, 0x8c, 0x8a, 0x84, 0x21, 0x0a, 0xf2, 0x76, 0xee, 0x23, 0x3b, 0xa9, 0x9a,
|
0x2d, 0x51, 0x14, 0x61, 0xe4, 0x11, 0xa3, 0x2c, 0x61, 0x88, 0x82, 0xbc, 0x9d, 0xfb, 0xc8, 0x4e,
|
||||||
0xf8, 0xdb, 0xd8, 0x80, 0xa5, 0x64, 0xa3, 0xe5, 0xc6, 0xf3, 0x00, 0x4a, 0x92, 0x57, 0x29, 0xc3,
|
0x2a, 0x26, 0xfe, 0x36, 0x36, 0x61, 0x39, 0xd9, 0x68, 0xb9, 0xf1, 0x3c, 0x84, 0xa2, 0xe4, 0x55,
|
||||||
0x47, 0x5d, 0x33, 0x45, 0x0b, 0x15, 0x2d, 0x4a, 0x37, 0x7e, 0xaf, 0x00, 0x8b, 0x12, 0xba, 0x29,
|
0xca, 0xf0, 0x51, 0xd3, 0x4c, 0xd1, 0x42, 0x45, 0x8b, 0xd2, 0x8d, 0xdf, 0x2b, 0xc0, 0x92, 0x84,
|
||||||
0x86, 0xb6, 0x3b, 0x19, 0x8d, 0x6c, 0x3f, 0x85, 0x09, 0x66, 0x5e, 0xce, 0x04, 0xb3, 0x33, 0x4c,
|
0x6e, 0x89, 0xa1, 0xed, 0x4e, 0x46, 0x23, 0xdb, 0x4f, 0x61, 0x82, 0x99, 0x97, 0x33, 0xc1, 0xec,
|
||||||
0x30, 0xa9, 0xf9, 0x12, 0x0f, 0x4d, 0x6a, 0xbe, 0x62, 0x2e, 0x49, 0x19, 0xd1, 0xed, 0xa0, 0x35,
|
0x0c, 0x13, 0x4c, 0x6a, 0xbe, 0xc4, 0x43, 0x93, 0x9a, 0xaf, 0x98, 0x4b, 0x52, 0x46, 0x74, 0x3b,
|
||||||
0x09, 0xee, 0x91, 0xbd, 0x75, 0x86, 0x65, 0x17, 0x52, 0x58, 0xb6, 0xce, 0x70, 0xe7, 0xa6, 0x18,
|
0x68, 0x55, 0x82, 0x7b, 0x64, 0x6f, 0x9d, 0x61, 0xd9, 0x85, 0x14, 0x96, 0xad, 0x33, 0xdc, 0xb9,
|
||||||
0xee, 0x9b, 0x40, 0x44, 0xa3, 0x66, 0xbf, 0x48, 0xfa, 0x09, 0xc2, 0xa4, 0x31, 0xf5, 0x5d, 0x98,
|
0x29, 0x86, 0xfb, 0x26, 0x10, 0xd1, 0xa8, 0xd9, 0x9f, 0x27, 0xfd, 0x04, 0x61, 0xd2, 0x98, 0x7a,
|
||||||
0x9f, 0xe6, 0x71, 0xc4, 0x4c, 0xeb, 0x29, 0x1c, 0xce, 0x19, 0x71, 0xdc, 0xad, 0x34, 0xe4, 0xb2,
|
0x1f, 0x16, 0xa6, 0x79, 0x1c, 0x31, 0xd3, 0x5a, 0x0a, 0x87, 0x73, 0x46, 0x1c, 0x77, 0x2b, 0x0d,
|
||||||
0xe4, 0x70, 0xce, 0x88, 0xef, 0x62, 0x8a, 0xc2, 0x6f, 0x03, 0x50, 0xdd, 0xb8, 0x68, 0x00, 0x17,
|
0xb9, 0x24, 0x39, 0x9c, 0x33, 0xe2, 0x7b, 0x98, 0xa2, 0xf0, 0x5b, 0x00, 0x54, 0x37, 0x2e, 0x1a,
|
||||||
0xcd, 0x3b, 0xc9, 0xb9, 0xd0, 0x47, 0x7d, 0x5d, 0x7c, 0x4c, 0x7c, 0x8e, 0xab, 0xa8, 0x8c, 0x39,
|
0xc0, 0x45, 0xf3, 0x4e, 0x72, 0x2e, 0xf4, 0x51, 0xdf, 0x10, 0x1f, 0x13, 0x9f, 0xe3, 0x2a, 0x2a,
|
||||||
0x71, 0x01, 0x7d, 0x04, 0x75, 0x6f, 0xcc, 0x5d, 0x2b, 0xe6, 0x35, 0x15, 0x2c, 0xaa, 0x21, 0x8b,
|
0x61, 0x4e, 0x5c, 0x40, 0x1f, 0x42, 0xcd, 0x1b, 0x73, 0xd7, 0x8a, 0x79, 0x4d, 0x19, 0x8b, 0xaa,
|
||||||
0xea, 0x28, 0xb8, 0x59, 0x13, 0x78, 0xd1, 0x27, 0xfb, 0x0e, 0x0d, 0x32, 0xd7, 0x72, 0x56, 0xaf,
|
0xcb, 0xa2, 0xda, 0x0a, 0x6e, 0x56, 0x05, 0x5e, 0xf4, 0xc9, 0xbe, 0x43, 0x83, 0xcc, 0xb5, 0x9c,
|
||||||
0xc9, 0x59, 0x47, 0xc4, 0xe8, 0xdb, 0xf8, 0x1b, 0x19, 0xa8, 0x68, 0xcd, 0x61, 0xcb, 0xb0, 0xb0,
|
0x95, 0x6b, 0x72, 0xd6, 0x10, 0x31, 0xfa, 0x36, 0xfe, 0x46, 0x06, 0xca, 0x5a, 0x73, 0xd8, 0x0a,
|
||||||
0x79, 0x70, 0x70, 0xd8, 0x36, 0x5b, 0xbd, 0xce, 0x67, 0x6d, 0x6b, 0x73, 0xf7, 0xa0, 0xdb, 0x6e,
|
0x2c, 0x6e, 0x1d, 0x1c, 0x1c, 0xb6, 0xcc, 0x66, 0xaf, 0xfd, 0x69, 0xcb, 0xda, 0xda, 0x3b, 0xe8,
|
||||||
0xdc, 0x10, 0xe0, 0xdd, 0x83, 0xcd, 0xd6, 0xae, 0xb5, 0x7d, 0x60, 0x6e, 0x2a, 0x70, 0x86, 0xad,
|
0xb6, 0xea, 0x37, 0x04, 0x78, 0xef, 0x60, 0xab, 0xb9, 0x67, 0xed, 0x1c, 0x98, 0x5b, 0x0a, 0x9c,
|
||||||
0x00, 0x33, 0xdb, 0x7b, 0x07, 0xbd, 0x76, 0x02, 0x9e, 0x65, 0x0d, 0xa8, 0x6e, 0x98, 0xed, 0xd6,
|
0x61, 0xab, 0xc0, 0xcc, 0xd6, 0xfe, 0x41, 0xaf, 0x95, 0x80, 0x67, 0x59, 0x1d, 0x2a, 0x9b, 0x66,
|
||||||
0xe6, 0x8e, 0x84, 0xe4, 0xd8, 0x12, 0x34, 0xb6, 0x8f, 0xf6, 0xb7, 0x3a, 0xfb, 0x4f, 0xad, 0xcd,
|
0xab, 0xb9, 0xb5, 0x2b, 0x21, 0x39, 0xb6, 0x0c, 0xf5, 0x9d, 0xa3, 0xce, 0x76, 0xbb, 0xf3, 0xcc,
|
||||||
0xd6, 0xfe, 0x66, 0x7b, 0xb7, 0xbd, 0xd5, 0xc8, 0xb3, 0x1a, 0x94, 0x5b, 0x1b, 0xad, 0xfd, 0xad,
|
0xda, 0x6a, 0x76, 0xb6, 0x5a, 0x7b, 0xad, 0xed, 0x7a, 0x9e, 0x55, 0xa1, 0xd4, 0xdc, 0x6c, 0x76,
|
||||||
0x83, 0xfd, 0xf6, 0x56, 0xa3, 0x60, 0xfc, 0x79, 0x06, 0x96, 0x71, 0xa0, 0x06, 0xd3, 0x2b, 0xf4,
|
0xb6, 0x0f, 0x3a, 0xad, 0xed, 0x7a, 0xc1, 0xf8, 0xf3, 0x0c, 0xac, 0xe0, 0x40, 0x0d, 0xa6, 0x57,
|
||||||
0x1e, 0x54, 0xfa, 0x9e, 0x37, 0x16, 0x6a, 0x50, 0xbc, 0xdd, 0xeb, 0x20, 0xb1, 0xfa, 0x88, 0xb3,
|
0xe8, 0x3d, 0x28, 0xf7, 0x3d, 0x6f, 0x2c, 0xd4, 0xa0, 0x78, 0xbb, 0xd7, 0x41, 0x62, 0xf5, 0x11,
|
||||||
0x9e, 0x78, 0x7e, 0x9f, 0xcb, 0x05, 0x0a, 0x08, 0xda, 0x16, 0x10, 0x41, 0x20, 0x92, 0xc2, 0x08,
|
0x67, 0x3d, 0xf1, 0xfc, 0x3e, 0x97, 0x0b, 0x14, 0x10, 0xb4, 0x23, 0x20, 0x82, 0x40, 0x24, 0x85,
|
||||||
0x83, 0xd6, 0x67, 0x85, 0x60, 0x84, 0xb2, 0x02, 0x73, 0xc7, 0x3e, 0xb7, 0xfb, 0x67, 0x72, 0x69,
|
0x11, 0x06, 0xad, 0xcf, 0x32, 0xc1, 0x08, 0x65, 0x15, 0xe6, 0x8e, 0x7d, 0x6e, 0xf7, 0xcf, 0xe4,
|
||||||
0xca, 0x2f, 0xf6, 0x5e, 0xac, 0xa0, 0xf7, 0xc5, 0x84, 0x0f, 0xf9, 0x00, 0xe9, 0xb3, 0x64, 0xce,
|
0xd2, 0x94, 0x5f, 0xec, 0xeb, 0xb1, 0x82, 0xde, 0x17, 0x13, 0x3e, 0xe4, 0x03, 0xa4, 0xcf, 0xa2,
|
||||||
0x4b, 0xf8, 0xa6, 0x04, 0x8b, 0xad, 0xc2, 0x3e, 0xb6, 0xdd, 0x81, 0xe7, 0xf2, 0x81, 0xd4, 0x03,
|
0xb9, 0x20, 0xe1, 0x5b, 0x12, 0x2c, 0xb6, 0x0a, 0xfb, 0xd8, 0x76, 0x07, 0x9e, 0xcb, 0x07, 0x52,
|
||||||
0x62, 0x80, 0x71, 0x08, 0x2b, 0xd3, 0xfd, 0x93, 0x8b, 0xf9, 0x43, 0x6d, 0x31, 0x93, 0x58, 0xbe,
|
0x0f, 0x88, 0x01, 0xc6, 0x21, 0xac, 0x4e, 0xf7, 0x4f, 0x2e, 0xe6, 0x0f, 0xb4, 0xc5, 0x4c, 0x62,
|
||||||
0x76, 0x3d, 0x01, 0x69, 0x0b, 0xfb, 0x6f, 0xe5, 0x21, 0x2f, 0xc4, 0xb4, 0x6b, 0x25, 0x3a, 0x5d,
|
0xf9, 0xfa, 0xf5, 0x04, 0xa4, 0x2d, 0xec, 0xbf, 0x95, 0x87, 0xbc, 0x10, 0xd3, 0xae, 0x95, 0xe8,
|
||||||
0xee, 0xce, 0xcd, 0xf8, 0x66, 0xd0, 0x0e, 0x40, 0xfb, 0x37, 0x19, 0x9b, 0xca, 0x08, 0xc1, 0x7d,
|
0x74, 0xb9, 0x3b, 0x37, 0xe3, 0x9b, 0x41, 0x3b, 0x00, 0xed, 0xdf, 0x64, 0x6c, 0x2a, 0x21, 0x04,
|
||||||
0x3b, 0x4a, 0xf6, 0x79, 0xff, 0x5c, 0x5a, 0x9b, 0x28, 0xd9, 0xe4, 0xfd, 0x73, 0x54, 0x78, 0xec,
|
0xf7, 0xed, 0x28, 0xd9, 0xe7, 0xfd, 0x73, 0x69, 0x6d, 0xa2, 0x64, 0x93, 0xf7, 0xcf, 0x51, 0xe1,
|
||||||
0x90, 0xf2, 0xd2, 0x62, 0x2c, 0x06, 0x76, 0x88, 0x39, 0x65, 0x12, 0xe6, 0x2b, 0x46, 0x49, 0x98,
|
0xb1, 0x43, 0xca, 0x4b, 0x8b, 0x71, 0x3e, 0xb0, 0x43, 0xcc, 0x29, 0x93, 0x30, 0xdf, 0x7c, 0x94,
|
||||||
0xab, 0x09, 0x45, 0xc7, 0x3d, 0xf6, 0x26, 0xee, 0x00, 0xd7, 0x5e, 0xc9, 0x54, 0x9f, 0xe8, 0x0a,
|
0x84, 0xb9, 0x1a, 0x30, 0xef, 0xb8, 0xc7, 0xde, 0xc4, 0x1d, 0xe0, 0xda, 0x2b, 0x9a, 0xea, 0x13,
|
||||||
0x42, 0x36, 0x21, 0x76, 0x09, 0x5a, 0x6a, 0x25, 0x01, 0xe8, 0x89, 0x7d, 0xe2, 0x03, 0x28, 0x07,
|
0x5d, 0x41, 0xc8, 0x26, 0xc4, 0x2e, 0x41, 0x4b, 0xad, 0x28, 0x00, 0x3d, 0xb1, 0x4f, 0xbc, 0x0f,
|
||||||
0x57, 0x6e, 0x5f, 0x5f, 0x60, 0x4b, 0x72, 0x7c, 0x44, 0xef, 0xd7, 0xbb, 0x57, 0x6e, 0x1f, 0x97,
|
0xa5, 0xe0, 0xca, 0xed, 0xeb, 0x0b, 0x6c, 0x59, 0x8e, 0x8f, 0xe8, 0xfd, 0x46, 0xf7, 0xca, 0xed,
|
||||||
0x53, 0x29, 0x90, 0xbf, 0xd8, 0x13, 0x28, 0x45, 0x46, 0x59, 0x62, 0x8f, 0x37, 0xf5, 0x1c, 0xca,
|
0xe3, 0x72, 0x2a, 0x06, 0xf2, 0x17, 0x7b, 0x0a, 0xc5, 0xc8, 0x28, 0x4b, 0xec, 0xf1, 0xa6, 0x9e,
|
||||||
0x12, 0x4b, 0xba, 0x6f, 0x84, 0xca, 0x1e, 0xc2, 0x1c, 0x5a, 0x4e, 0x83, 0x66, 0x15, 0x33, 0x29,
|
0x43, 0x59, 0x62, 0x49, 0xf7, 0x8d, 0x50, 0xd9, 0x23, 0x98, 0x43, 0xcb, 0x69, 0xd0, 0xa8, 0x60,
|
||||||
0x61, 0x5c, 0x34, 0x03, 0xbd, 0x30, 0x7c, 0x80, 0x56, 0x54, 0x53, 0xa2, 0xad, 0x3d, 0x83, 0x5a,
|
0x26, 0x25, 0x8c, 0x8b, 0x66, 0xa0, 0x17, 0x86, 0x0f, 0xd0, 0x8a, 0x6a, 0x4a, 0xb4, 0xf5, 0xe7,
|
||||||
0xa2, 0x2c, 0x5d, 0xc3, 0xad, 0x91, 0x86, 0xfb, 0xb6, 0xae, 0xe1, 0xc6, 0x6c, 0x5a, 0x66, 0xd3,
|
0x50, 0x4d, 0x94, 0xa5, 0x6b, 0xb8, 0x55, 0xd2, 0x70, 0xdf, 0xd6, 0x35, 0xdc, 0x98, 0x4d, 0xcb,
|
||||||
0x35, 0xde, 0x5f, 0x84, 0x92, 0xea, 0x8a, 0x58, 0x44, 0x47, 0xfb, 0xcf, 0xf6, 0x0f, 0x3e, 0xdf,
|
0x6c, 0xba, 0xc6, 0xfb, 0x8b, 0x50, 0x54, 0x5d, 0x11, 0x8b, 0xe8, 0xa8, 0xf3, 0xbc, 0x73, 0xf0,
|
||||||
0xb7, 0xba, 0xcf, 0xf7, 0x37, 0x1b, 0x37, 0xd8, 0x3c, 0x54, 0x5a, 0x9b, 0xb8, 0x2e, 0x11, 0x90,
|
0x59, 0xc7, 0xea, 0x7e, 0xde, 0xd9, 0xaa, 0xdf, 0x60, 0x0b, 0x50, 0x6e, 0x6e, 0xe1, 0xba, 0x44,
|
||||||
0x11, 0x28, 0x87, 0xad, 0x6e, 0x37, 0x82, 0x64, 0x8d, 0x6d, 0x68, 0x4c, 0xb7, 0x54, 0xd0, 0x64,
|
0x40, 0x46, 0xa0, 0x1c, 0x36, 0xbb, 0xdd, 0x08, 0x92, 0x35, 0x76, 0xa0, 0x3e, 0xdd, 0x52, 0x41,
|
||||||
0xa8, 0x60, 0xd2, 0xae, 0x1c, 0x03, 0x84, 0xfe, 0x42, 0xa6, 0x62, 0x12, 0x92, 0xe9, 0xc3, 0x78,
|
0x93, 0xa1, 0x82, 0x49, 0xbb, 0x72, 0x0c, 0x10, 0xfa, 0x0b, 0x99, 0x8a, 0x49, 0x48, 0xa6, 0x0f,
|
||||||
0x02, 0x0d, 0xb1, 0xe9, 0x88, 0xa1, 0x0a, 0x34, 0xfb, 0xec, 0x50, 0x08, 0x5e, 0xba, 0x6d, 0xb9,
|
0xe3, 0x29, 0xd4, 0xc5, 0xa6, 0x23, 0x86, 0x2a, 0xd0, 0xec, 0xb3, 0x43, 0x21, 0x78, 0xe9, 0xb6,
|
||||||
0x64, 0x56, 0x08, 0x86, 0x55, 0x19, 0x1f, 0xc2, 0x82, 0x96, 0x2d, 0xd6, 0x37, 0xc5, 0x46, 0x36,
|
0xe5, 0xa2, 0x59, 0x26, 0x18, 0x56, 0x65, 0x7c, 0x00, 0x8b, 0x5a, 0xb6, 0x58, 0xdf, 0x14, 0x1b,
|
||||||
0xad, 0x6f, 0xa2, 0x76, 0x41, 0x29, 0xc6, 0x2a, 0x2c, 0x8b, 0xcf, 0xf6, 0x39, 0x77, 0xc3, 0xee,
|
0xd9, 0xb4, 0xbe, 0x89, 0xda, 0x05, 0xa5, 0x18, 0x6b, 0xb0, 0x22, 0x3e, 0x5b, 0xe7, 0xdc, 0x0d,
|
||||||
0xe4, 0x98, 0x1c, 0x82, 0x8e, 0xe7, 0x0a, 0xad, 0xa3, 0x1c, 0xa5, 0x5c, 0x4f, 0xe4, 0xeb, 0x52,
|
0xbb, 0x93, 0x63, 0x72, 0x08, 0x3a, 0x9e, 0x2b, 0xb4, 0x8e, 0x52, 0x94, 0x72, 0x3d, 0x91, 0x6f,
|
||||||
0x35, 0xcd, 0x22, 0x69, 0xac, 0x69, 0x35, 0x60, 0xc6, 0x75, 0xfc, 0x9b, 0x50, 0x51, 0xcb, 0x11,
|
0x48, 0xd5, 0x34, 0x8b, 0xa4, 0xb1, 0xae, 0xd5, 0x80, 0x19, 0x37, 0xf0, 0x6f, 0x42, 0x45, 0x2d,
|
||||||
0x48, 0x0c, 0xeb, 0x61, 0xbb, 0x6d, 0x5a, 0x07, 0xfb, 0xbb, 0x9d, 0x7d, 0xc1, 0xed, 0xc4, 0xb0,
|
0x45, 0x20, 0x31, 0xac, 0x87, 0xad, 0x96, 0x69, 0x1d, 0x74, 0xf6, 0xda, 0x1d, 0xc1, 0xed, 0xc4,
|
||||||
0x22, 0x60, 0x7b, 0x1b, 0x21, 0x19, 0xa3, 0x01, 0xf5, 0xa7, 0x3c, 0xec, 0xb8, 0x27, 0x9e, 0x72,
|
0xb0, 0x22, 0x60, 0x67, 0x07, 0x21, 0x19, 0xa3, 0x0e, 0xb5, 0x67, 0x3c, 0x6c, 0xbb, 0x27, 0x9e,
|
||||||
0x7e, 0xfd, 0x45, 0x01, 0xe6, 0x23, 0x50, 0xac, 0xe2, 0x9e, 0x73, 0x3f, 0x70, 0x3c, 0x17, 0xa5,
|
0x72, 0x7e, 0xfd, 0x45, 0x01, 0x16, 0x22, 0x50, 0xac, 0xe2, 0x9e, 0x73, 0x3f, 0x70, 0x3c, 0x17,
|
||||||
0xd5, 0xb2, 0xa9, 0x3e, 0xc5, 0xd6, 0xe3, 0x0c, 0xb8, 0x1b, 0x3a, 0xe1, 0x95, 0x95, 0xb0, 0x87,
|
0xa5, 0xd5, 0x92, 0xa9, 0x3e, 0xc5, 0xd6, 0xe3, 0x0c, 0xb8, 0x1b, 0x3a, 0xe1, 0x95, 0x95, 0xb0,
|
||||||
0xd5, 0x15, 0x58, 0x6e, 0x71, 0x4b, 0x50, 0xb0, 0x87, 0x8e, 0xad, 0xfc, 0xa8, 0xf4, 0x21, 0xa0,
|
0x87, 0xd5, 0x14, 0x58, 0x6e, 0x71, 0xcb, 0x50, 0xb0, 0x87, 0x8e, 0xad, 0xfc, 0xa8, 0xf4, 0x21,
|
||||||
0x7d, 0x6f, 0xe8, 0xf9, 0x28, 0x98, 0x96, 0x4d, 0xfa, 0x60, 0x8f, 0x60, 0x49, 0x08, 0xc8, 0xba,
|
0xa0, 0x7d, 0x6f, 0xe8, 0xf9, 0x28, 0x98, 0x96, 0x4c, 0xfa, 0x60, 0x8f, 0x61, 0x59, 0x08, 0xc8,
|
||||||
0x91, 0x12, 0xf9, 0x07, 0x99, 0xe6, 0x98, 0x3b, 0x19, 0x1d, 0xc6, 0x86, 0x4a, 0x91, 0x22, 0x36,
|
0xba, 0x91, 0x12, 0xf9, 0x07, 0x99, 0xe6, 0x98, 0x3b, 0x19, 0x1d, 0xc6, 0x86, 0x4a, 0x91, 0x22,
|
||||||
0x36, 0x91, 0x43, 0x4a, 0x32, 0x51, 0x06, 0xd2, 0xb5, 0x16, 0xdc, 0xc9, 0xa8, 0x85, 0x29, 0x11,
|
0x36, 0x36, 0x91, 0x43, 0x4a, 0x32, 0x51, 0x06, 0xd2, 0xb5, 0x16, 0xdd, 0xc9, 0xa8, 0x89, 0x29,
|
||||||
0xfe, 0x63, 0x58, 0x16, 0xf8, 0x91, 0xec, 0x13, 0xe5, 0x98, 0xc7, 0x1c, 0xa2, 0xb0, 0x8e, 0x4c,
|
0x11, 0xfe, 0x13, 0x58, 0x11, 0xf8, 0x91, 0xec, 0x13, 0xe5, 0x58, 0xc0, 0x1c, 0xa2, 0xb0, 0xb6,
|
||||||
0x8b, 0xf2, 0xdc, 0x82, 0x32, 0xb5, 0x4a, 0xcc, 0x78, 0x81, 0x64, 0x6c, 0x6c, 0x0a, 0xf7, 0x83,
|
0x4c, 0x8b, 0xf2, 0xdc, 0x82, 0x12, 0xb5, 0x4a, 0xcc, 0x78, 0x81, 0x64, 0x6c, 0x6c, 0x0a, 0xf7,
|
||||||
0x19, 0x97, 0xe7, 0x1c, 0xed, 0xd2, 0x53, 0x2e, 0x4f, 0xcd, 0x69, 0x5a, 0x9a, 0x76, 0x9a, 0x3e,
|
0x83, 0x19, 0x97, 0xe7, 0x1c, 0xed, 0xd2, 0x53, 0x2e, 0x4f, 0xcd, 0x69, 0x5a, 0x9c, 0x76, 0x9a,
|
||||||
0x86, 0xe5, 0x63, 0x41, 0x82, 0x67, 0xdc, 0x1e, 0x70, 0xdf, 0x8a, 0x09, 0x9b, 0x74, 0x89, 0x45,
|
0x3e, 0x81, 0x95, 0x63, 0x41, 0x82, 0x67, 0xdc, 0x1e, 0x70, 0xdf, 0x8a, 0x09, 0x9b, 0x74, 0x89,
|
||||||
0x91, 0xb8, 0x83, 0x69, 0xd1, 0x3a, 0x10, 0x42, 0x88, 0x60, 0x0b, 0x7c, 0x60, 0x85, 0x9e, 0x85,
|
0x25, 0x91, 0xb8, 0x8b, 0x69, 0xd1, 0x3a, 0x10, 0x42, 0x88, 0x60, 0x0b, 0x7c, 0x60, 0x85, 0x9e,
|
||||||
0xb2, 0x09, 0x32, 0x98, 0x92, 0x59, 0x23, 0x70, 0xcf, 0xdb, 0x14, 0xc0, 0x24, 0xde, 0xa9, 0x6f,
|
0x85, 0xb2, 0x09, 0x32, 0x98, 0xa2, 0x59, 0x25, 0x70, 0xcf, 0xdb, 0x12, 0xc0, 0x24, 0xde, 0xa9,
|
||||||
0x8f, 0xcf, 0xa4, 0xb4, 0x1f, 0xe1, 0x3d, 0x15, 0x40, 0x76, 0x1b, 0x8a, 0x82, 0xe4, 0x5d, 0x4e,
|
0x6f, 0x8f, 0xcf, 0xa4, 0xb4, 0x1f, 0xe1, 0x3d, 0x13, 0x40, 0x76, 0x1b, 0xe6, 0x05, 0xc9, 0xbb,
|
||||||
0x9e, 0x29, 0x92, 0xa7, 0x15, 0x88, 0xbd, 0x0d, 0x73, 0x58, 0x47, 0xd0, 0x6c, 0x20, 0xbd, 0x57,
|
0x9c, 0x3c, 0x53, 0x24, 0x4f, 0x2b, 0x10, 0x7b, 0x1b, 0xe6, 0xb0, 0x8e, 0xa0, 0x51, 0x47, 0x7a,
|
||||||
0x63, 0x46, 0xee, 0xb8, 0xa6, 0x4c, 0x13, 0x92, 0xde, 0xc4, 0x77, 0x88, 0xcb, 0x94, 0x4d, 0xfc,
|
0xaf, 0xc4, 0x8c, 0xdc, 0x71, 0x4d, 0x99, 0x26, 0x24, 0xbd, 0x89, 0xef, 0x10, 0x97, 0x29, 0x99,
|
||||||
0xcd, 0xbe, 0xa7, 0xb1, 0xac, 0x45, 0xcc, 0xfb, 0xb6, 0xcc, 0x3b, 0x45, 0x69, 0xd7, 0x71, 0xaf,
|
0xf8, 0x9b, 0x7d, 0x4f, 0x63, 0x59, 0x4b, 0x98, 0xf7, 0x6d, 0x99, 0x77, 0x8a, 0xd2, 0xae, 0xe3,
|
||||||
0x9f, 0x29, 0x33, 0xfa, 0x7e, 0xbe, 0x54, 0x69, 0x54, 0x8d, 0x8f, 0xa0, 0x40, 0xa3, 0x23, 0x88,
|
0x5e, 0x3f, 0x53, 0x66, 0xf4, 0xfd, 0x7c, 0xb1, 0x5c, 0xaf, 0x18, 0x1f, 0x42, 0x81, 0x46, 0x47,
|
||||||
0x10, 0xc7, 0x2e, 0x23, 0x89, 0x10, 0xa1, 0x4d, 0x28, 0xba, 0x3c, 0xbc, 0xf0, 0xfc, 0x17, 0xca,
|
0x10, 0x21, 0x8e, 0x5d, 0x46, 0x12, 0x21, 0x42, 0x1b, 0x30, 0xef, 0xf2, 0xf0, 0xc2, 0xf3, 0x5f,
|
||||||
0x62, 0x2c, 0x3f, 0x8d, 0x1f, 0xa1, 0xa9, 0x23, 0x72, 0x87, 0x93, 0xd6, 0x26, 0xc8, 0x83, 0xa6,
|
0x28, 0x8b, 0xb1, 0xfc, 0x34, 0x7e, 0x84, 0xa6, 0x8e, 0xc8, 0x1d, 0x4e, 0x5a, 0x9b, 0x20, 0x0f,
|
||||||
0x37, 0x38, 0xb3, 0xa5, 0xf5, 0xa5, 0x84, 0x80, 0xee, 0x99, 0x3d, 0x43, 0x1e, 0xd9, 0x59, 0x8f,
|
0x9a, 0xde, 0xe0, 0xcc, 0x96, 0xd6, 0x97, 0x22, 0x02, 0xba, 0x67, 0xf6, 0x0c, 0x79, 0x64, 0x67,
|
||||||
0xf8, 0xdb, 0x50, 0x57, 0x0e, 0xf8, 0xc0, 0x1a, 0xf2, 0x93, 0x50, 0x92, 0x7b, 0x55, 0x7a, 0xdf,
|
0x3d, 0xe2, 0x6f, 0x43, 0x4d, 0x39, 0xe0, 0x03, 0x6b, 0xc8, 0x4f, 0x42, 0x49, 0xee, 0x15, 0xe9,
|
||||||
0x83, 0x5d, 0x7e, 0x12, 0x1a, 0x7b, 0xb0, 0x20, 0x09, 0xf2, 0x60, 0xcc, 0x55, 0xd5, 0xdf, 0x4e,
|
0x7d, 0x0f, 0xf6, 0xf8, 0x49, 0x68, 0xec, 0xc3, 0xa2, 0x24, 0xc8, 0x83, 0x31, 0x57, 0x55, 0x7f,
|
||||||
0x13, 0x76, 0x2b, 0x8f, 0x17, 0x93, 0x1b, 0x2d, 0x05, 0x16, 0x24, 0x24, 0x60, 0xe3, 0x53, 0x60,
|
0x3b, 0x4d, 0xd8, 0x2d, 0x3f, 0x59, 0x4a, 0x6e, 0xb4, 0x14, 0x58, 0x90, 0x90, 0x80, 0x8d, 0x4f,
|
||||||
0xfa, 0x36, 0x2c, 0xcb, 0x93, 0x22, 0xa7, 0x32, 0xb4, 0x2b, 0x7f, 0x55, 0x24, 0xd8, 0x3a, 0x03,
|
0x80, 0xe9, 0xdb, 0xb0, 0x2c, 0x4f, 0x8a, 0x9c, 0xca, 0xd0, 0xae, 0xfc, 0x55, 0x91, 0x60, 0xeb,
|
||||||
0x31, 0x3a, 0xc1, 0xa4, 0xdf, 0x57, 0x81, 0x11, 0x25, 0x53, 0x7d, 0x1a, 0x7f, 0x92, 0x81, 0x45,
|
0x0c, 0xc4, 0xe8, 0x04, 0x93, 0x7e, 0x5f, 0x05, 0x46, 0x14, 0x4d, 0xf5, 0x69, 0xfc, 0x49, 0x06,
|
||||||
0x2c, 0x4c, 0x09, 0xeb, 0x92, 0xc9, 0xfe, 0xc4, 0x8d, 0x14, 0xf3, 0xa3, 0xcb, 0x3e, 0xf4, 0xf1,
|
0x96, 0xb0, 0x30, 0x25, 0xac, 0x4b, 0x26, 0xfb, 0x13, 0x37, 0x52, 0xcc, 0x8f, 0x2e, 0xfb, 0xd0,
|
||||||
0xd5, 0x4d, 0x9b, 0xf9, 0x19, 0xd3, 0xe6, 0x7b, 0xd0, 0x18, 0xf0, 0xa1, 0x83, 0x31, 0x32, 0x4a,
|
0xc7, 0x57, 0x37, 0x6d, 0xe6, 0x67, 0x4c, 0x9b, 0x5f, 0x87, 0xfa, 0x80, 0x0f, 0x1d, 0x8c, 0x91,
|
||||||
0x94, 0x20, 0xf1, 0x7c, 0x5e, 0xc1, 0xa5, 0xaa, 0x66, 0xfc, 0xbd, 0x0c, 0x2c, 0x90, 0xa4, 0x82,
|
0x51, 0xa2, 0x04, 0x89, 0xe7, 0x0b, 0x0a, 0x2e, 0x55, 0x35, 0xe3, 0xef, 0x65, 0x60, 0x91, 0x24,
|
||||||
0x4a, 0xaf, 0x1c, 0xa8, 0x4f, 0x94, 0x96, 0x27, 0x59, 0x95, 0xec, 0x53, 0xbc, 0x83, 0x23, 0x94,
|
0x15, 0x54, 0x7a, 0xe5, 0x40, 0x7d, 0xac, 0xb4, 0x3c, 0xc9, 0xaa, 0x64, 0x9f, 0xe2, 0x1d, 0x1c,
|
||||||
0x90, 0x77, 0x6e, 0x48, 0xed, 0x4f, 0x42, 0xd9, 0xc7, 0xa8, 0x60, 0xb8, 0x16, 0x02, 0x53, 0x62,
|
0xa1, 0x84, 0xbc, 0x7b, 0x43, 0x6a, 0x7f, 0x12, 0xca, 0x3e, 0x42, 0x05, 0xc3, 0xb5, 0x10, 0x98,
|
||||||
0x6e, 0x92, 0x93, 0xb2, 0x73, 0x03, 0xb5, 0x0f, 0x17, 0x41, 0x1b, 0x25, 0xa1, 0x76, 0x0a, 0xb0,
|
0x12, 0x73, 0x93, 0x9c, 0x94, 0xdd, 0x1b, 0xa8, 0x7d, 0xb8, 0x08, 0xda, 0x2c, 0x0a, 0xb5, 0x53,
|
||||||
0xb1, 0x0d, 0xb5, 0x44, 0x35, 0x09, 0xfb, 0x6b, 0x95, 0xec, 0xaf, 0x33, 0x3e, 0x8e, 0xec, 0xac,
|
0x80, 0x8d, 0x1d, 0xa8, 0x26, 0xaa, 0x49, 0xd8, 0x5f, 0x2b, 0x64, 0x7f, 0x9d, 0xf1, 0x71, 0x64,
|
||||||
0x8f, 0xe3, 0x0a, 0x16, 0x4d, 0x6e, 0x0f, 0xae, 0xb6, 0x3d, 0xff, 0x30, 0x38, 0x0e, 0xb7, 0x49,
|
0x67, 0x7d, 0x1c, 0x57, 0xb0, 0x64, 0x72, 0x7b, 0x70, 0xb5, 0xe3, 0xf9, 0x87, 0xc1, 0x71, 0xb8,
|
||||||
0xfc, 0x13, 0xfc, 0x3d, 0x72, 0xdc, 0x25, 0x8c, 0x9c, 0xca, 0x7f, 0xa3, 0x74, 0xd9, 0xaf, 0x41,
|
0x43, 0xe2, 0x9f, 0xe0, 0xef, 0x91, 0xe3, 0x2e, 0x61, 0xe4, 0x54, 0xfe, 0x1b, 0xa5, 0xcb, 0x7e,
|
||||||
0x3d, 0xf6, 0xf0, 0x69, 0x86, 0xb2, 0x5a, 0xe4, 0xe4, 0x43, 0x7b, 0x99, 0xd0, 0x03, 0x83, 0xe3,
|
0x0d, 0x6a, 0xb1, 0x87, 0x4f, 0x33, 0x94, 0x55, 0x23, 0x27, 0x1f, 0xda, 0xcb, 0x84, 0x1e, 0x18,
|
||||||
0x50, 0x9a, 0xca, 0xf0, 0xb7, 0xf1, 0xd7, 0xf2, 0xc0, 0x04, 0x35, 0x4f, 0x11, 0xcc, 0x94, 0x6f,
|
0x1c, 0x87, 0xd2, 0x54, 0x86, 0xbf, 0x8d, 0xbf, 0x96, 0x07, 0x26, 0xa8, 0x79, 0x8a, 0x60, 0xa6,
|
||||||
0x32, 0x3b, 0xe3, 0x9b, 0x7c, 0x04, 0x4c, 0x43, 0x50, 0x2e, 0xd3, 0x5c, 0xe4, 0x32, 0x6d, 0xc4,
|
0x7c, 0x93, 0xd9, 0x19, 0xdf, 0xe4, 0x63, 0x60, 0x1a, 0x82, 0x72, 0x99, 0xe6, 0x22, 0x97, 0x69,
|
||||||
0xb8, 0xd2, 0x63, 0xfa, 0x08, 0x96, 0xa4, 0x2c, 0x9d, 0x6c, 0x2a, 0x91, 0x06, 0x23, 0xa1, 0x3a,
|
0x3d, 0xc6, 0x95, 0x1e, 0xd3, 0xc7, 0xb0, 0x2c, 0x65, 0xe9, 0x64, 0x53, 0x89, 0x34, 0x18, 0x09,
|
||||||
0xd1, 0x5e, 0xe5, 0x97, 0x14, 0xba, 0x39, 0x99, 0xc2, 0xd0, 0x2f, 0xa9, 0xb4, 0x72, 0x8d, 0x00,
|
0xd5, 0x89, 0xf6, 0x2a, 0xbf, 0xa4, 0xd0, 0xcd, 0xc9, 0x14, 0x86, 0x7e, 0x49, 0xa5, 0x95, 0x6b,
|
||||||
0xe7, 0x5e, 0x49, 0x80, 0xc5, 0x19, 0x02, 0xd4, 0x2c, 0x33, 0xa5, 0xa4, 0x65, 0xc6, 0x80, 0x9a,
|
0x04, 0x38, 0xf7, 0x4a, 0x02, 0x9c, 0x9f, 0x21, 0x40, 0xcd, 0x32, 0x53, 0x4c, 0x5a, 0x66, 0x0c,
|
||||||
0xf2, 0x3e, 0x52, 0xd0, 0x05, 0x09, 0x8e, 0x15, 0xe9, 0x82, 0xc4, 0xc0, 0x8b, 0xfb, 0xd0, 0x50,
|
0xa8, 0x2a, 0xef, 0x23, 0x05, 0x5d, 0x90, 0xe0, 0x58, 0x96, 0x2e, 0x48, 0x0c, 0xbc, 0x78, 0x00,
|
||||||
0xe6, 0x93, 0xc8, 0xf6, 0x43, 0x01, 0x05, 0xd2, 0xfa, 0xb6, 0xa9, 0x2c, 0x40, 0x09, 0x4b, 0x7b,
|
0x75, 0x65, 0x3e, 0x89, 0x6c, 0x3f, 0x14, 0x50, 0x20, 0xad, 0x6f, 0x5b, 0xca, 0x02, 0x94, 0xb0,
|
||||||
0x65, 0xca, 0xd2, 0xfe, 0x3e, 0x2c, 0x04, 0x82, 0x7e, 0xad, 0x89, 0x2b, 0xa3, 0x7f, 0xf8, 0x00,
|
0xb4, 0x97, 0xa7, 0x2c, 0xed, 0xef, 0xc2, 0x62, 0x20, 0xe8, 0xd7, 0x9a, 0xb8, 0x32, 0xfa, 0x87,
|
||||||
0xd5, 0xac, 0x92, 0xd9, 0xc0, 0x84, 0xa3, 0x18, 0x3e, 0x6b, 0xd7, 0xa8, 0xa5, 0xd8, 0x35, 0x9e,
|
0x0f, 0x50, 0xcd, 0x2a, 0x9a, 0x75, 0x4c, 0x38, 0x8a, 0xe1, 0xb3, 0x76, 0x8d, 0x6a, 0x8a, 0x5d,
|
||||||
0xc4, 0x8e, 0xba, 0xe0, 0xcc, 0x19, 0xa1, 0xcc, 0x10, 0x47, 0xca, 0xc8, 0x01, 0xee, 0x9e, 0x39,
|
0xe3, 0x69, 0xec, 0xa8, 0x0b, 0xce, 0x9c, 0x11, 0xca, 0x0c, 0x71, 0xa4, 0x8c, 0x1c, 0xe0, 0xee,
|
||||||
0x23, 0x53, 0x79, 0x85, 0xc5, 0x87, 0xf1, 0xbf, 0x33, 0xd0, 0x10, 0x74, 0x90, 0x58, 0x62, 0xdf,
|
0x99, 0x33, 0x32, 0x95, 0x57, 0x58, 0x7c, 0x18, 0xff, 0x3b, 0x03, 0x75, 0x41, 0x07, 0x89, 0x25,
|
||||||
0x01, 0x64, 0x06, 0xaf, 0xb9, 0xc2, 0x2a, 0x02, 0x57, 0x2d, 0xb0, 0x8f, 0x00, 0x57, 0x8c, 0x25,
|
0xf6, 0x1d, 0x40, 0x66, 0xf0, 0x9a, 0x2b, 0xac, 0x2c, 0x70, 0xd5, 0x02, 0xfb, 0x10, 0x70, 0xc5,
|
||||||
0x74, 0x4a, 0xb9, 0xbe, 0x9a, 0xc9, 0xf5, 0x15, 0xf3, 0xd0, 0x9d, 0x1b, 0xa4, 0x7b, 0x08, 0x08,
|
0x58, 0x42, 0xa7, 0x94, 0xeb, 0xab, 0x91, 0x5c, 0x5f, 0x31, 0x0f, 0xdd, 0xbd, 0x41, 0xba, 0x87,
|
||||||
0xfb, 0x0e, 0x94, 0x05, 0x61, 0x22, 0x95, 0xc8, 0x00, 0x2d, 0x25, 0x79, 0xa5, 0xac, 0x11, 0x91,
|
0x80, 0xb0, 0xef, 0x40, 0x49, 0x10, 0x26, 0x52, 0x89, 0x0c, 0xd0, 0x52, 0x92, 0x57, 0xca, 0x1a,
|
||||||
0x75, 0x2c, 0x3f, 0xd3, 0x7c, 0xab, 0xf9, 0x14, 0xdf, 0xaa, 0xb6, 0x80, 0x77, 0x00, 0x9e, 0xf1,
|
0x11, 0x59, 0xc7, 0xf2, 0x33, 0xcd, 0xb7, 0x9a, 0x4f, 0xf1, 0xad, 0x6a, 0x0b, 0x78, 0x17, 0xe0,
|
||||||
0xab, 0x5d, 0xaf, 0x8f, 0x1a, 0xef, 0x1d, 0x00, 0x41, 0xcb, 0x27, 0xf6, 0xc8, 0x91, 0x06, 0x9b,
|
0x39, 0xbf, 0xda, 0xf3, 0xfa, 0xa8, 0xf1, 0xde, 0x01, 0x10, 0xb4, 0x7c, 0x62, 0x8f, 0x1c, 0x69,
|
||||||
0x82, 0x59, 0x7e, 0xc1, 0xaf, 0xb6, 0x11, 0x20, 0x26, 0x52, 0x24, 0xc7, 0xab, 0xb8, 0x60, 0x96,
|
0xb0, 0x29, 0x98, 0xa5, 0x17, 0xfc, 0x6a, 0x07, 0x01, 0x62, 0x22, 0x45, 0x72, 0xbc, 0x8a, 0x0b,
|
||||||
0x5e, 0xf0, 0x2b, 0x5a, 0xc2, 0x16, 0xd4, 0x9e, 0xf1, 0xab, 0x2d, 0x4e, 0x42, 0xa6, 0xe7, 0x0b,
|
0x66, 0xf1, 0x05, 0xbf, 0xa2, 0x25, 0x6c, 0x41, 0xf5, 0x39, 0xbf, 0xda, 0xe6, 0x24, 0x64, 0x7a,
|
||||||
0x22, 0xf2, 0xed, 0x0b, 0x21, 0x55, 0x26, 0xfc, 0xa2, 0x15, 0xdf, 0xbe, 0x78, 0xc6, 0xaf, 0x94,
|
0xbe, 0x20, 0x22, 0xdf, 0xbe, 0x10, 0x52, 0x65, 0xc2, 0x2f, 0x5a, 0xf6, 0xed, 0x8b, 0xe7, 0xfc,
|
||||||
0x8f, 0xb6, 0x28, 0xd2, 0x87, 0x5e, 0x5f, 0xee, 0x9b, 0x2a, 0xc2, 0x23, 0x6e, 0x94, 0x39, 0xf7,
|
0x4a, 0xf9, 0x68, 0xe7, 0x45, 0xfa, 0xd0, 0xeb, 0xcb, 0x7d, 0x53, 0x45, 0x78, 0xc4, 0x8d, 0x32,
|
||||||
0x02, 0x7f, 0x1b, 0x7f, 0x99, 0x81, 0x9a, 0x68, 0x3f, 0xb2, 0x65, 0x31, 0x65, 0x2a, 0x50, 0x28,
|
0xe7, 0x5e, 0xe0, 0x6f, 0xe3, 0x2f, 0x33, 0x50, 0x15, 0xed, 0x47, 0xb6, 0x2c, 0xa6, 0x4c, 0x05,
|
||||||
0x13, 0x07, 0x0a, 0x3d, 0x96, 0x5c, 0x8d, 0x78, 0x7c, 0xf6, 0x7a, 0x1e, 0x8f, 0x73, 0x43, 0x0c,
|
0x0a, 0x65, 0xe2, 0x40, 0xa1, 0x27, 0x92, 0xab, 0x11, 0x8f, 0xcf, 0x5e, 0xcf, 0xe3, 0x71, 0x6e,
|
||||||
0xfe, 0x03, 0x28, 0xd3, 0xb2, 0x14, 0xeb, 0x3c, 0x97, 0x98, 0xe0, 0x44, 0x87, 0xcc, 0x12, 0xa2,
|
0x88, 0xc1, 0xbf, 0x0f, 0x25, 0x5a, 0x96, 0x62, 0x9d, 0xe7, 0x12, 0x13, 0x9c, 0xe8, 0x90, 0x59,
|
||||||
0x3d, 0xa3, 0xb8, 0x04, 0xcd, 0xf8, 0x47, 0x43, 0x5c, 0xf6, 0x23, 0x93, 0x5f, 0xca, 0x34, 0x14,
|
0x44, 0xb4, 0xe7, 0x14, 0x97, 0xa0, 0x19, 0xff, 0x68, 0x88, 0x4b, 0x7e, 0x64, 0xf2, 0x4b, 0x99,
|
||||||
0xae, 0x89, 0x4b, 0xd0, 0x2d, 0x6b, 0x73, 0x33, 0x96, 0xb5, 0x03, 0x28, 0x89, 0xa9, 0xc6, 0xce,
|
0x86, 0xc2, 0x35, 0x71, 0x09, 0xba, 0x65, 0x6d, 0x6e, 0xc6, 0xb2, 0x76, 0x00, 0x45, 0x31, 0xd5,
|
||||||
0xa6, 0x14, 0x9a, 0x49, 0x2b, 0x54, 0x48, 0x02, 0xb6, 0xd8, 0x14, 0x04, 0xa3, 0xcb, 0x4a, 0x49,
|
0xd8, 0xd9, 0x94, 0x42, 0x33, 0x69, 0x85, 0x0a, 0x49, 0xc0, 0x16, 0x9b, 0x82, 0x60, 0x74, 0x59,
|
||||||
0xc0, 0x0e, 0xf8, 0x21, 0x32, 0xbb, 0x0c, 0x54, 0xb4, 0x15, 0x80, 0xc6, 0xc9, 0x68, 0xbc, 0x68,
|
0x29, 0x09, 0xd8, 0x01, 0x3f, 0x44, 0x66, 0x97, 0x81, 0xb2, 0xb6, 0x02, 0xd0, 0x38, 0x19, 0x8d,
|
||||||
0xb9, 0x24, 0x49, 0x3c, 0x31, 0xe0, 0x3b, 0x37, 0xcc, 0x5a, 0x3f, 0x31, 0x03, 0xeb, 0x92, 0x56,
|
0x17, 0x2d, 0x97, 0x24, 0x89, 0x27, 0x06, 0x7c, 0xf7, 0x86, 0x59, 0xed, 0x27, 0x66, 0x60, 0x43,
|
||||||
0x31, 0x67, 0x36, 0x11, 0xd3, 0xa4, 0x1a, 0xae, 0x08, 0x54, 0xfc, 0xde, 0x98, 0x83, 0xbc, 0x40,
|
0xd2, 0x2a, 0xe6, 0xcc, 0x26, 0x62, 0x9a, 0x54, 0xc3, 0x15, 0x81, 0x8a, 0xdf, 0x9b, 0x73, 0x90,
|
||||||
0x35, 0x3e, 0x81, 0x05, 0xad, 0x19, 0xa4, 0xe6, 0xbf, 0x6e, 0x0f, 0x8d, 0x5f, 0x89, 0x32, 0x8b,
|
0x17, 0xa8, 0xc6, 0xc7, 0xb0, 0xa8, 0x35, 0x83, 0xd4, 0xfc, 0xd7, 0xed, 0xa1, 0xf1, 0x2b, 0x51,
|
||||||
0x3a, 0xc8, 0x7d, 0xa4, 0x62, 0x3c, 0xf8, 0x80, 0x3a, 0x2e, 0x63, 0x49, 0x08, 0x24, 0xd0, 0x5e,
|
0x66, 0x51, 0x07, 0xb9, 0x8f, 0x54, 0x8c, 0x07, 0x1f, 0x50, 0xc7, 0x65, 0x2c, 0x09, 0x81, 0x04,
|
||||||
0x3b, 0xee, 0xe0, 0xd7, 0x60, 0x51, 0x2b, 0x7d, 0xdb, 0x71, 0xed, 0xa1, 0xf3, 0x23, 0xdc, 0xf0,
|
0xda, 0x6b, 0xc7, 0x1d, 0xfc, 0x1a, 0x2c, 0x69, 0xa5, 0xef, 0x38, 0xae, 0x3d, 0x74, 0x7e, 0x84,
|
||||||
0x03, 0xe7, 0xd4, 0x9d, 0x2a, 0x9f, 0x40, 0x5f, 0xa9, 0xfc, 0xbf, 0x9f, 0x85, 0x25, 0x59, 0x01,
|
0x1b, 0x7e, 0xe0, 0x9c, 0xba, 0x53, 0xe5, 0x13, 0xe8, 0x2b, 0x95, 0xff, 0xf7, 0xb3, 0xb0, 0x2c,
|
||||||
0x46, 0xed, 0x39, 0x42, 0x8a, 0xdb, 0x0b, 0x4e, 0xd9, 0x77, 0xa0, 0x26, 0xc6, 0xc6, 0xf2, 0xf9,
|
0x2b, 0xc0, 0xa8, 0x3d, 0x47, 0x48, 0x71, 0xfb, 0xc1, 0x29, 0xfb, 0x0e, 0x54, 0xc5, 0xd8, 0x58,
|
||||||
0xa9, 0x13, 0x84, 0x5c, 0xb9, 0xad, 0x52, 0x18, 0x97, 0xd8, 0xcc, 0x05, 0xaa, 0x29, 0x31, 0xd9,
|
0x3e, 0x3f, 0x75, 0x82, 0x90, 0x2b, 0xb7, 0x55, 0x0a, 0xe3, 0x12, 0x9b, 0xb9, 0x40, 0x35, 0x25,
|
||||||
0x27, 0x50, 0xc1, 0xac, 0x64, 0x46, 0x91, 0x13, 0xd1, 0x9c, 0xcd, 0x48, 0x03, 0xbd, 0x73, 0xc3,
|
0x26, 0xfb, 0x18, 0xca, 0x98, 0x95, 0xcc, 0x28, 0x72, 0x22, 0x1a, 0xb3, 0x19, 0x69, 0xa0, 0x77,
|
||||||
0x84, 0x20, 0x1e, 0xf6, 0x4f, 0xa0, 0x82, 0x73, 0x78, 0x8e, 0x03, 0x39, 0xc5, 0xaa, 0x66, 0x06,
|
0x6f, 0x98, 0x10, 0xc4, 0xc3, 0xfe, 0x31, 0x94, 0x71, 0x0e, 0xcf, 0x71, 0x20, 0xa7, 0x58, 0xd5,
|
||||||
0x5a, 0x64, 0x1e, 0xc7, 0xc3, 0xde, 0x82, 0x1a, 0x31, 0x2b, 0x39, 0x4e, 0x32, 0x1a, 0x68, 0x6d,
|
0xcc, 0x40, 0x8b, 0xcc, 0xe3, 0x78, 0xd8, 0x9b, 0x50, 0x25, 0x66, 0x25, 0xc7, 0x49, 0x46, 0x03,
|
||||||
0x36, 0xbb, 0x1a, 0x49, 0xd1, 0xf8, 0xb1, 0xf6, 0xbd, 0x51, 0x86, 0x62, 0xe8, 0x3b, 0xa7, 0xa7,
|
0xad, 0xcf, 0x66, 0x57, 0x23, 0x29, 0x1a, 0x3f, 0xd6, 0xbe, 0x37, 0x4b, 0x30, 0x1f, 0xfa, 0xce,
|
||||||
0xdc, 0x37, 0x56, 0xa2, 0xa1, 0x11, 0x5c, 0x98, 0x77, 0x43, 0x3e, 0x16, 0xb2, 0xb9, 0xf1, 0x6f,
|
0xe9, 0x29, 0xf7, 0x8d, 0xd5, 0x68, 0x68, 0x04, 0x17, 0xe6, 0xdd, 0x90, 0x8f, 0x85, 0x6c, 0x6e,
|
||||||
0x33, 0x50, 0x91, 0x7c, 0xf5, 0x27, 0xf6, 0x95, 0xad, 0x69, 0x61, 0xaf, 0x64, 0xb1, 0x89, 0xa3,
|
0xfc, 0xdb, 0x0c, 0x94, 0x25, 0x5f, 0xfd, 0x89, 0x7d, 0x65, 0xeb, 0x5a, 0xd8, 0x2b, 0x59, 0x6c,
|
||||||
0x5c, 0xdf, 0x85, 0xf9, 0x91, 0x90, 0xd3, 0x85, 0x1e, 0x99, 0x70, 0x94, 0xd5, 0x15, 0x58, 0x8a,
|
0xe2, 0x28, 0xd7, 0xfb, 0xb0, 0x30, 0x12, 0x72, 0xba, 0xd0, 0x23, 0x13, 0x8e, 0xb2, 0x9a, 0x02,
|
||||||
0xc9, 0xeb, 0xb0, 0x88, 0x52, 0x73, 0x60, 0x85, 0xce, 0xd0, 0x52, 0x89, 0x32, 0xc4, 0x74, 0x81,
|
0x4b, 0x31, 0x79, 0x03, 0x96, 0x50, 0x6a, 0x0e, 0xac, 0xd0, 0x19, 0x5a, 0x2a, 0x51, 0x86, 0x98,
|
||||||
0x92, 0x7a, 0xce, 0x70, 0x4f, 0x26, 0x08, 0xe1, 0x31, 0x08, 0xed, 0x53, 0x2e, 0xd7, 0x36, 0x7d,
|
0x2e, 0x52, 0x52, 0xcf, 0x19, 0xee, 0xcb, 0x04, 0x21, 0x3c, 0x06, 0xa1, 0x7d, 0xca, 0xe5, 0xda,
|
||||||
0x18, 0x4d, 0x58, 0x99, 0x52, 0x21, 0x95, 0xfa, 0xfb, 0x7f, 0x16, 0x60, 0x75, 0x26, 0x49, 0xaa,
|
0xa6, 0x0f, 0xa3, 0x01, 0xab, 0x53, 0x2a, 0xa4, 0x52, 0x7f, 0xff, 0xcf, 0x22, 0xac, 0xcd, 0x24,
|
||||||
0xc1, 0x91, 0x83, 0x68, 0xe8, 0x8c, 0x8e, 0xbd, 0xc8, 0x7c, 0x9a, 0xd1, 0x1c, 0x44, 0xbb, 0x22,
|
0x49, 0x35, 0x38, 0x72, 0x10, 0x0d, 0x9d, 0xd1, 0xb1, 0x17, 0x99, 0x4f, 0x33, 0x9a, 0x83, 0x68,
|
||||||
0x45, 0x99, 0x4f, 0x39, 0x2c, 0x2b, 0x82, 0x44, 0xfb, 0x67, 0xa4, 0x65, 0x66, 0x51, 0x07, 0xfa,
|
0x4f, 0xa4, 0x28, 0xf3, 0x29, 0x87, 0x15, 0x45, 0x90, 0x68, 0xff, 0x8c, 0xb4, 0xcc, 0x2c, 0xea,
|
||||||
0x20, 0xb9, 0x89, 0x4d, 0x57, 0xa7, 0xe0, 0xba, 0x68, 0xb4, 0x38, 0x9e, 0x81, 0x05, 0xec, 0xd7,
|
0x40, 0xef, 0x27, 0x37, 0xb1, 0xe9, 0xea, 0x14, 0x5c, 0x17, 0x8d, 0x96, 0xc6, 0x33, 0xb0, 0x80,
|
||||||
0xa1, 0x19, 0xd1, 0xbd, 0x14, 0xdb, 0x35, 0x95, 0x59, 0xd4, 0xf4, 0xf5, 0x57, 0xd4, 0x94, 0xb0,
|
0xfd, 0x3a, 0x34, 0x22, 0xba, 0x97, 0x62, 0xbb, 0xa6, 0x32, 0x8b, 0x9a, 0xde, 0x7b, 0x45, 0x4d,
|
||||||
0xdd, 0xa1, 0xec, 0xb4, 0xa2, 0x96, 0x0c, 0x15, 0x18, 0xd5, 0x75, 0x0e, 0x6f, 0xa8, 0xba, 0x50,
|
0x09, 0xdb, 0x1d, 0xca, 0x4e, 0xab, 0x6a, 0xc9, 0x50, 0x81, 0x51, 0x5d, 0xe7, 0xf0, 0x86, 0xaa,
|
||||||
0x0c, 0x9f, 0xad, 0x31, 0xff, 0x5a, 0x7d, 0x43, 0xbb, 0x64, 0xa2, 0x5a, 0xf3, 0x96, 0x2c, 0x38,
|
0x0b, 0xc5, 0xf0, 0xd9, 0x1a, 0xf3, 0xaf, 0xd5, 0x37, 0xb4, 0x4b, 0x26, 0xaa, 0x35, 0x6f, 0xc9,
|
||||||
0x4a, 0xd2, 0xeb, 0x3d, 0x83, 0x95, 0x0b, 0xdb, 0x09, 0x55, 0x1f, 0x35, 0x8d, 0xbd, 0x80, 0xf5,
|
0x82, 0xa3, 0x24, 0xbd, 0xde, 0x33, 0x58, 0xbd, 0xb0, 0x9d, 0x50, 0xf5, 0x51, 0xd3, 0xd8, 0x0b,
|
||||||
0x3d, 0x7e, 0x45, 0x7d, 0x9f, 0x53, 0xe6, 0x84, 0x62, 0xb2, 0x74, 0x31, 0x0b, 0x0c, 0xd6, 0xfe,
|
0x58, 0xdf, 0x93, 0x57, 0xd4, 0xf7, 0x19, 0x65, 0x4e, 0x28, 0x26, 0xcb, 0x17, 0xb3, 0xc0, 0x60,
|
||||||
0x71, 0x0e, 0xea, 0xc9, 0x52, 0x04, 0x63, 0x91, 0x9b, 0x8d, 0x92, 0x37, 0xa5, 0x10, 0x2c, 0x4d,
|
0xfd, 0x1f, 0xe7, 0xa0, 0x96, 0x2c, 0x45, 0x30, 0x16, 0xb9, 0xd9, 0x28, 0x79, 0x53, 0x0a, 0xc1,
|
||||||
0xfb, 0xfb, 0x24, 0x67, 0xce, 0x3a, 0x1d, 0xb2, 0x29, 0x4e, 0x07, 0xdd, 0xd6, 0x9f, 0x7b, 0x95,
|
0xd2, 0xb4, 0xdf, 0x21, 0x39, 0x73, 0xd6, 0xe9, 0x90, 0x4d, 0x71, 0x3a, 0xe8, 0xb6, 0xfe, 0xdc,
|
||||||
0x73, 0x35, 0xff, 0x5a, 0xce, 0xd5, 0x42, 0x9a, 0x73, 0xf5, 0x7a, 0x8f, 0xdc, 0xdc, 0x4f, 0xe4,
|
0xab, 0x9c, 0xab, 0xf9, 0xd7, 0x72, 0xae, 0x16, 0xd2, 0x9c, 0xab, 0xd7, 0x7b, 0xe4, 0xe6, 0x7e,
|
||||||
0x91, 0x2b, 0xbe, 0xd4, 0x23, 0xa7, 0xf9, 0x11, 0x4b, 0xd7, 0x58, 0xe8, 0x35, 0xcf, 0x62, 0x8a,
|
0x22, 0x8f, 0xdc, 0xfc, 0x4b, 0x3d, 0x72, 0x9a, 0x1f, 0xb1, 0x78, 0x8d, 0x85, 0x5e, 0xf3, 0x2c,
|
||||||
0x47, 0xae, 0xfc, 0x15, 0x3c, 0x72, 0x6b, 0x7f, 0x99, 0x01, 0x36, 0xbb, 0x3a, 0xd8, 0x53, 0xf2,
|
0xa6, 0x78, 0xe4, 0x4a, 0x5f, 0xc1, 0x23, 0xb7, 0xfe, 0x97, 0x19, 0x60, 0xb3, 0xab, 0x83, 0x3d,
|
||||||
0xe7, 0xb8, 0x7c, 0x28, 0x39, 0xf7, 0x37, 0x5e, 0x6f, 0x85, 0x29, 0x82, 0x50, 0xb9, 0xd9, 0x43,
|
0x23, 0x7f, 0x8e, 0xcb, 0x87, 0x92, 0x73, 0x7f, 0xe3, 0xf5, 0x56, 0x98, 0x22, 0x08, 0x95, 0x9b,
|
||||||
0x58, 0xd4, 0x03, 0xe1, 0x75, 0xad, 0xbd, 0x66, 0x32, 0x3d, 0x29, 0xb6, 0xed, 0x68, 0x9e, 0xec,
|
0x3d, 0x82, 0x25, 0x3d, 0x10, 0x5e, 0xd7, 0xda, 0xab, 0x26, 0xd3, 0x93, 0x62, 0xdb, 0x8e, 0xe6,
|
||||||
0xfc, 0x2b, 0x3d, 0xd9, 0x85, 0x57, 0x7a, 0xb2, 0xe7, 0x92, 0x9e, 0xec, 0xb5, 0xff, 0x98, 0x81,
|
0xc9, 0xce, 0xbf, 0xd2, 0x93, 0x5d, 0x78, 0xa5, 0x27, 0x7b, 0x2e, 0xe9, 0xc9, 0x5e, 0xff, 0x8f,
|
||||||
0xc5, 0x14, 0x22, 0xfe, 0xd9, 0xf5, 0x59, 0xd0, 0x5e, 0x82, 0xad, 0x65, 0x25, 0xed, 0xe9, 0x1c,
|
0x19, 0x58, 0x4a, 0x21, 0xe2, 0x9f, 0x5d, 0x9f, 0x05, 0xed, 0x25, 0xd8, 0x5a, 0x56, 0xd2, 0x9e,
|
||||||
0x6d, 0x17, 0x2a, 0xf1, 0x54, 0xa8, 0x83, 0x22, 0x0f, 0x5e, 0xc5, 0x5d, 0xe2, 0x1c, 0xa6, 0x9e,
|
0xce, 0xd1, 0xf6, 0xa0, 0x1c, 0x4f, 0x85, 0x3a, 0x28, 0xf2, 0xf0, 0x55, 0xdc, 0x25, 0xce, 0x61,
|
||||||
0x7d, 0xed, 0xf7, 0xb2, 0x50, 0xd1, 0x12, 0xc5, 0x28, 0x12, 0xc9, 0x6a, 0x01, 0x44, 0x24, 0x19,
|
0xea, 0xd9, 0xd7, 0x7f, 0x2f, 0x0b, 0x65, 0x2d, 0x51, 0x8c, 0x22, 0x91, 0xac, 0x16, 0x40, 0x44,
|
||||||
0xa2, 0xcd, 0xe1, 0x2e, 0x48, 0xa7, 0x06, 0xa5, 0xd3, 0xe2, 0x92, 0x62, 0x20, 0x22, 0xac, 0xc3,
|
0x92, 0x21, 0xda, 0x1c, 0xee, 0x82, 0x74, 0x6a, 0x50, 0x3a, 0x2d, 0x2e, 0x29, 0x06, 0x22, 0xc2,
|
||||||
0xa2, 0xf2, 0xb5, 0xf1, 0x38, 0x4e, 0x50, 0xee, 0x35, 0x0b, 0xd2, 0xe3, 0xc6, 0xa3, 0xb0, 0x43,
|
0x06, 0x2c, 0x29, 0x5f, 0x1b, 0x8f, 0xe3, 0x04, 0xe5, 0x5e, 0xb3, 0x28, 0x3d, 0x6e, 0x3c, 0x0a,
|
||||||
0xf6, 0x50, 0xa9, 0x83, 0xf1, 0xdc, 0x21, 0xa9, 0x93, 0xc7, 0x60, 0x81, 0x16, 0x88, 0x9a, 0x44,
|
0x3b, 0x64, 0x8f, 0x94, 0x3a, 0x18, 0xcf, 0x1d, 0x92, 0x3a, 0x79, 0x0c, 0x16, 0x69, 0x81, 0xa8,
|
||||||
0x41, 0xe7, 0x1f, 0xc0, 0xb2, 0x5a, 0x1e, 0xc9, 0x1c, 0xe4, 0x44, 0x60, 0x72, 0x71, 0xe8, 0x59,
|
0x49, 0x14, 0x74, 0xfe, 0x3e, 0xac, 0xa8, 0xe5, 0x91, 0xcc, 0x41, 0x4e, 0x04, 0x26, 0x17, 0x87,
|
||||||
0xbe, 0x07, 0x77, 0xa6, 0xda, 0x34, 0x95, 0x95, 0x02, 0x5a, 0x6f, 0x26, 0x5a, 0xa7, 0x97, 0xb0,
|
0x9e, 0xe5, 0x7b, 0x70, 0x67, 0xaa, 0x4d, 0x53, 0x59, 0x29, 0xa0, 0xf5, 0x66, 0xa2, 0x75, 0x7a,
|
||||||
0xf6, 0x63, 0xa8, 0x25, 0x18, 0xe5, 0xcf, 0x6e, 0xca, 0xa7, 0xed, 0x3c, 0x34, 0xa2, 0xba, 0x9d,
|
0x09, 0xeb, 0x3f, 0x86, 0x6a, 0x82, 0x51, 0xfe, 0xec, 0xa6, 0x7c, 0xda, 0xce, 0x43, 0x23, 0xaa,
|
||||||
0x67, 0xed, 0x7f, 0xe5, 0x80, 0xcd, 0xf2, 0xea, 0x9f, 0x67, 0x13, 0x66, 0x09, 0x33, 0x97, 0x42,
|
0xdb, 0x79, 0xd6, 0xff, 0x57, 0x0e, 0xd8, 0x2c, 0xaf, 0xfe, 0x79, 0x36, 0x61, 0x96, 0x30, 0x73,
|
||||||
0x98, 0xff, 0xcf, 0xe4, 0x87, 0xf7, 0x61, 0x41, 0x1e, 0x98, 0xd2, 0x1c, 0xa6, 0xb4, 0x38, 0x1b,
|
0x29, 0x84, 0xf9, 0xff, 0x4c, 0x7e, 0x78, 0x17, 0x16, 0xe5, 0x81, 0x29, 0xcd, 0x61, 0x4a, 0x8b,
|
||||||
0x51, 0x82, 0x6a, 0xc5, 0x47, 0xd3, 0x81, 0x1b, 0xa5, 0xc4, 0x19, 0x11, 0x4d, 0x80, 0x9a, 0x8a,
|
0xb3, 0x1e, 0x25, 0xa8, 0x56, 0x7c, 0x38, 0x1d, 0xb8, 0x51, 0x4c, 0x9c, 0x11, 0xd1, 0x04, 0xa8,
|
||||||
0xdf, 0x38, 0x82, 0x39, 0xdb, 0xed, 0x9f, 0x79, 0xbe, 0xe4, 0x83, 0xbf, 0xf0, 0x95, 0xb7, 0xcf,
|
0xa9, 0xf8, 0x8d, 0x23, 0x98, 0xb3, 0xdd, 0xfe, 0x99, 0xe7, 0x4b, 0x3e, 0xf8, 0x0b, 0x5f, 0x79,
|
||||||
0xf5, 0x16, 0xe6, 0x47, 0xa9, 0xcd, 0x94, 0x85, 0x19, 0x1f, 0x40, 0x45, 0x03, 0xb3, 0x32, 0x14,
|
0xfb, 0xdc, 0x68, 0x62, 0x7e, 0x94, 0xda, 0x4c, 0x59, 0x98, 0xf1, 0x3e, 0x94, 0x35, 0x30, 0x2b,
|
||||||
0x76, 0x3b, 0x7b, 0x1b, 0x07, 0x8d, 0x1b, 0xac, 0x06, 0x65, 0xb3, 0xbd, 0x79, 0xf0, 0x59, 0xdb,
|
0x41, 0x61, 0xaf, 0xbd, 0xbf, 0x79, 0x50, 0xbf, 0xc1, 0xaa, 0x50, 0x32, 0x5b, 0x5b, 0x07, 0x9f,
|
||||||
0x6c, 0x6f, 0x35, 0x32, 0xac, 0x04, 0xf9, 0xdd, 0x83, 0x6e, 0xaf, 0x91, 0x35, 0xd6, 0xa0, 0x29,
|
0xb6, 0xcc, 0xd6, 0x76, 0x3d, 0xc3, 0x8a, 0x90, 0xdf, 0x3b, 0xe8, 0xf6, 0xea, 0x59, 0x63, 0x1d,
|
||||||
0x4b, 0x9c, 0xf5, 0x59, 0xfc, 0x56, 0x3e, 0x32, 0x17, 0x62, 0xa2, 0x54, 0xd1, 0xbf, 0x09, 0x55,
|
0x1a, 0xb2, 0xc4, 0x59, 0x9f, 0xc5, 0x6f, 0xe5, 0x23, 0x73, 0x21, 0x26, 0x4a, 0x15, 0xfd, 0x9b,
|
||||||
0x5d, 0xbc, 0x91, 0x14, 0x31, 0xe5, 0xb3, 0x17, 0xca, 0xb9, 0xa7, 0xf1, 0xea, 0x4d, 0x20, 0x8f,
|
0x50, 0xd1, 0xc5, 0x1b, 0x49, 0x11, 0x53, 0x3e, 0x7b, 0xa1, 0x9c, 0x7b, 0x1a, 0xaf, 0xde, 0x02,
|
||||||
0xed, 0x20, 0xca, 0x96, 0x4d, 0xc8, 0xad, 0x29, 0xde, 0x41, 0x54, 0x7e, 0x12, 0x64, 0xf8, 0xff,
|
0xf2, 0xd8, 0x0e, 0xa2, 0x6c, 0xd9, 0x84, 0xdc, 0x9a, 0xe2, 0x1d, 0x44, 0xe5, 0x27, 0x41, 0x86,
|
||||||
0x41, 0x3d, 0x69, 0xc0, 0x97, 0x1c, 0x29, 0x4d, 0xe1, 0x14, 0xb9, 0x13, 0x16, 0x7d, 0xf6, 0x3d,
|
0xff, 0x1f, 0xd4, 0x92, 0x06, 0x7c, 0xc9, 0x91, 0xd2, 0x14, 0x4e, 0x91, 0x3b, 0x61, 0xd1, 0x67,
|
||||||
0x68, 0x4c, 0x3b, 0x00, 0xa4, 0xf0, 0x7c, 0x4d, 0xfe, 0x79, 0x27, 0xe9, 0x13, 0x60, 0x3b, 0xb0,
|
0xdf, 0x83, 0xfa, 0xb4, 0x03, 0x40, 0x0a, 0xcf, 0xd7, 0xe4, 0x5f, 0x70, 0x92, 0x3e, 0x01, 0xb6,
|
||||||
0x94, 0x26, 0xe0, 0x21, 0x7d, 0x5c, 0x6f, 0xa4, 0x60, 0xb3, 0x42, 0x1c, 0xfb, 0xb6, 0xf4, 0xf3,
|
0x0b, 0xcb, 0x69, 0x02, 0x1e, 0xd2, 0xc7, 0xf5, 0x46, 0x0a, 0x36, 0x2b, 0xc4, 0xb1, 0x6f, 0x4b,
|
||||||
0x14, 0x70, 0xfa, 0xdf, 0x4e, 0xd6, 0xaf, 0x0d, 0xf6, 0x3a, 0xfd, 0xd3, 0x3c, 0x3e, 0xe7, 0x00,
|
0x3f, 0x4f, 0x01, 0xa7, 0xff, 0xed, 0x64, 0xfd, 0xda, 0x60, 0x6f, 0xd0, 0x3f, 0xcd, 0xe3, 0x73,
|
||||||
0x31, 0x8c, 0x35, 0xa0, 0x7a, 0x70, 0xd8, 0xde, 0xb7, 0x36, 0x77, 0x5a, 0xfb, 0xfb, 0xed, 0xdd,
|
0x0e, 0x10, 0xc3, 0x58, 0x1d, 0x2a, 0x07, 0x87, 0xad, 0x8e, 0xb5, 0xb5, 0xdb, 0xec, 0x74, 0x5a,
|
||||||
0xc6, 0x0d, 0xc6, 0xa0, 0x8e, 0xbe, 0xea, 0xad, 0x08, 0x96, 0x11, 0x30, 0xe9, 0x6f, 0x53, 0xb0,
|
0x7b, 0xf5, 0x1b, 0x8c, 0x41, 0x0d, 0x7d, 0xd5, 0xdb, 0x11, 0x2c, 0x23, 0x60, 0xd2, 0xdf, 0xa6,
|
||||||
0x2c, 0x5b, 0x82, 0x46, 0x67, 0x7f, 0x0a, 0x9a, 0x63, 0x4d, 0x58, 0x3a, 0x6c, 0x93, 0x7b, 0x3b,
|
0x60, 0x59, 0xb6, 0x0c, 0xf5, 0x76, 0x67, 0x0a, 0x9a, 0x63, 0x0d, 0x58, 0x3e, 0x6c, 0x91, 0x7b,
|
||||||
0x51, 0x6e, 0x5e, 0x28, 0x0d, 0xb2, 0xbb, 0x42, 0x69, 0xa0, 0x83, 0x7f, 0x72, 0x1d, 0x28, 0x59,
|
0x3b, 0x51, 0x6e, 0x5e, 0x28, 0x0d, 0xb2, 0xbb, 0x42, 0x69, 0xa0, 0x83, 0x7f, 0x72, 0x1d, 0x28,
|
||||||
0xfa, 0xb7, 0x33, 0xb0, 0x3c, 0x95, 0x10, 0x1f, 0xe7, 0x20, 0x49, 0x3a, 0x29, 0x43, 0x57, 0x11,
|
0x59, 0xfa, 0xb7, 0x33, 0xb0, 0x32, 0x95, 0x10, 0x1f, 0xe7, 0x20, 0x49, 0x3a, 0x29, 0x43, 0x57,
|
||||||
0xa8, 0x56, 0xd3, 0xfb, 0xb0, 0x10, 0x19, 0x9e, 0xa6, 0x76, 0xa5, 0x46, 0x94, 0xa0, 0x90, 0x1f,
|
0x10, 0xa8, 0x56, 0xd3, 0xbb, 0xb0, 0x18, 0x19, 0x9e, 0xa6, 0x76, 0xa5, 0x7a, 0x94, 0xa0, 0x90,
|
||||||
0xc2, 0xa2, 0x66, 0xbf, 0x9a, 0xe2, 0x15, 0x4c, 0x4b, 0x92, 0x19, 0x8c, 0xd5, 0x28, 0x6c, 0x7e,
|
0x1f, 0xc1, 0x92, 0x66, 0xbf, 0x9a, 0xe2, 0x15, 0x4c, 0x4b, 0x92, 0x19, 0x8c, 0xb5, 0x28, 0x6c,
|
||||||
0xaa, 0xd5, 0x03, 0x3a, 0x4d, 0xa8, 0x27, 0xc4, 0x6e, 0xb0, 0x64, 0x7b, 0xd5, 0x27, 0x7b, 0x34,
|
0x7e, 0xaa, 0xd5, 0x03, 0x3a, 0x4d, 0xa8, 0x27, 0xc4, 0x6e, 0xb0, 0x64, 0x7b, 0xd5, 0x27, 0x7b,
|
||||||
0x45, 0x08, 0xc9, 0xd6, 0xea, 0x13, 0xae, 0xaa, 0xff, 0xfd, 0x39, 0x60, 0x9f, 0x4e, 0xb8, 0x7f,
|
0x3c, 0x45, 0x08, 0xc9, 0xd6, 0xea, 0x13, 0xae, 0xaa, 0xff, 0xfd, 0x39, 0x60, 0x9f, 0x4c, 0xb8,
|
||||||
0x85, 0xc7, 0x35, 0x82, 0x57, 0xc5, 0x2f, 0x2a, 0x4b, 0x4b, 0xf6, 0xb5, 0x8e, 0x64, 0xa5, 0x1d,
|
0x7f, 0x85, 0xc7, 0x35, 0x82, 0x57, 0xc5, 0x2f, 0x2a, 0x4b, 0x4b, 0xf6, 0xb5, 0x8e, 0x64, 0xa5,
|
||||||
0x89, 0xca, 0xbf, 0xfa, 0x48, 0x54, 0xe1, 0x55, 0x47, 0xa2, 0xde, 0x82, 0x9a, 0x73, 0xea, 0x7a,
|
0x1d, 0x89, 0xca, 0xbf, 0xfa, 0x48, 0x54, 0xe1, 0x55, 0x47, 0xa2, 0xde, 0x82, 0xaa, 0x73, 0xea,
|
||||||
0x82, 0x15, 0x0a, 0x49, 0x38, 0x68, 0xce, 0xdd, 0xcb, 0xdd, 0xaf, 0x9a, 0x55, 0x09, 0x14, 0x72,
|
0x7a, 0x82, 0x15, 0x0a, 0x49, 0x38, 0x68, 0xcc, 0xdd, 0xcb, 0x3d, 0xa8, 0x98, 0x15, 0x09, 0x14,
|
||||||
0x70, 0xc0, 0x3e, 0x89, 0x91, 0xf8, 0xe0, 0x14, 0x8f, 0xef, 0xe9, 0x4c, 0xb0, 0x3d, 0x38, 0xe5,
|
0x72, 0x70, 0xc0, 0x3e, 0x8e, 0x91, 0xf8, 0xe0, 0x14, 0x8f, 0xef, 0xe9, 0x4c, 0xb0, 0x35, 0x38,
|
||||||
0xd2, 0xb0, 0x84, 0x9a, 0x86, 0xca, 0x2c, 0xe0, 0x01, 0x7b, 0x1b, 0xea, 0x81, 0x37, 0x11, 0x8a,
|
0xe5, 0xd2, 0xb0, 0x84, 0x9a, 0x86, 0xca, 0x2c, 0xe0, 0x01, 0x7b, 0x1b, 0x6a, 0x81, 0x37, 0x11,
|
||||||
0x85, 0x1a, 0x06, 0x72, 0x94, 0x55, 0x09, 0x7a, 0xa8, 0xbc, 0xa2, 0x8b, 0x93, 0x80, 0x5b, 0x23,
|
0x8a, 0x85, 0x1a, 0x06, 0x72, 0x94, 0x55, 0x08, 0x7a, 0xa8, 0xbc, 0xa2, 0x4b, 0x93, 0x80, 0x5b,
|
||||||
0x27, 0x08, 0x84, 0x78, 0xd6, 0xf7, 0xdc, 0xd0, 0xf7, 0x86, 0xd2, 0xf7, 0xb5, 0x30, 0x09, 0xf8,
|
0x23, 0x27, 0x08, 0x84, 0x78, 0xd6, 0xf7, 0xdc, 0xd0, 0xf7, 0x86, 0xd2, 0xf7, 0xb5, 0x38, 0x09,
|
||||||
0x1e, 0xa5, 0x6c, 0x52, 0x02, 0xfb, 0x56, 0xdc, 0xa4, 0xb1, 0xed, 0xf8, 0x41, 0x13, 0xb0, 0x49,
|
0xf8, 0x3e, 0xa5, 0x6c, 0x51, 0x02, 0xfb, 0x56, 0xdc, 0xa4, 0xb1, 0xed, 0xf8, 0x41, 0x03, 0xb0,
|
||||||
0xaa, 0xa7, 0x28, 0xbf, 0xdb, 0x8e, 0x1f, 0xb5, 0x45, 0x7c, 0x04, 0x53, 0x47, 0xb5, 0x2a, 0xd3,
|
0x49, 0xaa, 0xa7, 0x28, 0xbf, 0xdb, 0x8e, 0x1f, 0xb5, 0x45, 0x7c, 0x04, 0x53, 0x47, 0xb5, 0xca,
|
||||||
0x47, 0xb5, 0x7e, 0x98, 0x7e, 0x54, 0xab, 0x86, 0x45, 0x3f, 0x92, 0x45, 0xcf, 0x4e, 0xf1, 0x57,
|
0xd3, 0x47, 0xb5, 0x7e, 0x98, 0x7e, 0x54, 0xab, 0x8a, 0x45, 0x3f, 0x96, 0x45, 0xcf, 0x4e, 0xf1,
|
||||||
0x3a, 0xb1, 0x35, 0x7b, 0x02, 0xad, 0xfe, 0x55, 0x4e, 0xa0, 0xcd, 0xa7, 0x9d, 0x40, 0xfb, 0x00,
|
0x57, 0x3a, 0xb1, 0x35, 0x7b, 0x02, 0xad, 0xf6, 0x55, 0x4e, 0xa0, 0x2d, 0xa4, 0x9d, 0x40, 0x7b,
|
||||||
0x2a, 0x78, 0x36, 0xc8, 0x3a, 0x73, 0x84, 0x0c, 0x47, 0xbe, 0xbc, 0x86, 0x7e, 0x78, 0x68, 0xc7,
|
0x1f, 0xca, 0x78, 0x36, 0xc8, 0x3a, 0x73, 0x84, 0x0c, 0x47, 0xbe, 0xbc, 0xba, 0x7e, 0x78, 0x68,
|
||||||
0x71, 0x43, 0x13, 0x7c, 0xf5, 0x33, 0x98, 0x3d, 0x0c, 0xb6, 0xf0, 0x73, 0x3c, 0x0c, 0x26, 0xcf,
|
0xd7, 0x71, 0x43, 0x13, 0x7c, 0xf5, 0x33, 0x98, 0x3d, 0x0c, 0xb6, 0xf8, 0x73, 0x3c, 0x0c, 0x26,
|
||||||
0x30, 0xad, 0x43, 0x49, 0xcd, 0x13, 0x63, 0x90, 0x3f, 0xf1, 0xbd, 0x91, 0xf2, 0x71, 0x88, 0xdf,
|
0xcf, 0x30, 0x6d, 0x40, 0x51, 0xcd, 0x13, 0x63, 0x90, 0x3f, 0xf1, 0xbd, 0x91, 0xf2, 0x71, 0x88,
|
||||||
0xac, 0x0e, 0xd9, 0xd0, 0x93, 0x99, 0xb3, 0xa1, 0x67, 0xfc, 0x2a, 0x54, 0x34, 0x52, 0x63, 0x6f,
|
0xdf, 0xac, 0x06, 0xd9, 0xd0, 0x93, 0x99, 0xb3, 0xa1, 0x67, 0xfc, 0x2a, 0x94, 0x35, 0x52, 0x63,
|
||||||
0x92, 0x5d, 0x52, 0xe8, 0x66, 0x52, 0xb6, 0xa4, 0x51, 0x2c, 0x4b, 0x68, 0x67, 0x20, 0xf8, 0xcd,
|
0x6f, 0x92, 0x5d, 0x52, 0xe8, 0x66, 0x52, 0xb6, 0xa4, 0x51, 0x2c, 0x49, 0x68, 0x7b, 0x20, 0xf8,
|
||||||
0xc0, 0xf1, 0x39, 0x1e, 0xdb, 0xb4, 0x7c, 0x7e, 0xce, 0xfd, 0x40, 0xf9, 0x9c, 0x1a, 0x51, 0x82,
|
0xcd, 0xc0, 0xf1, 0x39, 0x1e, 0xdb, 0xb4, 0x7c, 0x7e, 0xce, 0xfd, 0x40, 0xf9, 0x9c, 0xea, 0x51,
|
||||||
0x49, 0x70, 0xe3, 0xd7, 0x60, 0x31, 0x31, 0xb7, 0x92, 0x45, 0xbc, 0x0d, 0x73, 0x38, 0x6e, 0x2a,
|
0x82, 0x49, 0x70, 0xe3, 0xd7, 0x60, 0x29, 0x31, 0xb7, 0x92, 0x45, 0xbc, 0x0d, 0x73, 0x38, 0x6e,
|
||||||
0x26, 0x20, 0x79, 0x28, 0x4b, 0xa6, 0xe1, 0x79, 0x7c, 0x72, 0x97, 0x59, 0x63, 0xdf, 0x3b, 0xc6,
|
0x2a, 0x26, 0x20, 0x79, 0x28, 0x4b, 0xa6, 0xe1, 0x79, 0x7c, 0x72, 0x97, 0x59, 0x63, 0xdf, 0x3b,
|
||||||
0x4a, 0x32, 0x66, 0x45, 0xc2, 0x0e, 0x7d, 0xef, 0xd8, 0xf8, 0xb3, 0x1c, 0xe4, 0x76, 0xbc, 0xb1,
|
0xc6, 0x4a, 0x32, 0x66, 0x59, 0xc2, 0x0e, 0x7d, 0xef, 0xd8, 0xf8, 0xb3, 0x1c, 0xe4, 0x76, 0xbd,
|
||||||
0x1e, 0xa3, 0x96, 0x99, 0x89, 0x51, 0x93, 0x0a, 0xa7, 0x15, 0x29, 0x94, 0x52, 0x66, 0x47, 0x47,
|
0xb1, 0x1e, 0xa3, 0x96, 0x99, 0x89, 0x51, 0x93, 0x0a, 0xa7, 0x15, 0x29, 0x94, 0x52, 0x66, 0x47,
|
||||||
0x91, 0x52, 0x2a, 0xef, 0x43, 0x5d, 0xf0, 0x89, 0xd0, 0x13, 0x1a, 0xfb, 0x85, 0xed, 0x93, 0x40,
|
0x47, 0x91, 0x52, 0x2a, 0x1f, 0x40, 0x4d, 0xf0, 0x89, 0xd0, 0x13, 0x1a, 0xfb, 0x85, 0xed, 0x93,
|
||||||
0x9c, 0xa3, 0xc5, 0x67, 0x8f, 0xc2, 0x9e, 0xb7, 0x4d, 0x70, 0xb6, 0x04, 0xb9, 0x48, 0x7d, 0xc1,
|
0x40, 0x9c, 0xa3, 0xc5, 0x67, 0x8f, 0xc2, 0x9e, 0xb7, 0x43, 0x70, 0xb6, 0x0c, 0xb9, 0x48, 0x7d,
|
||||||
0x64, 0xf1, 0xc9, 0x56, 0x60, 0x0e, 0x83, 0x95, 0xaf, 0xa4, 0xd3, 0x5b, 0x7e, 0xb1, 0x6f, 0xc0,
|
0xc1, 0x64, 0xf1, 0xc9, 0x56, 0x61, 0x0e, 0x83, 0x95, 0xaf, 0xa4, 0xd3, 0x5b, 0x7e, 0xb1, 0x6f,
|
||||||
0x62, 0xb2, 0x5c, 0x62, 0x45, 0x52, 0x36, 0xd2, 0x0b, 0x46, 0x9e, 0x74, 0x13, 0x04, 0x1f, 0x21,
|
0xc0, 0x52, 0xb2, 0x5c, 0x62, 0x45, 0x52, 0x36, 0xd2, 0x0b, 0x46, 0x9e, 0x74, 0x13, 0x04, 0x1f,
|
||||||
0x1c, 0x19, 0x3b, 0x73, 0xc2, 0x39, 0x26, 0x69, 0x4c, 0xaf, 0x94, 0x60, 0x7a, 0x77, 0xa1, 0x12,
|
0x21, 0x1c, 0x19, 0x3b, 0x73, 0xc2, 0x39, 0x26, 0x69, 0x4c, 0xaf, 0x98, 0x60, 0x7a, 0x77, 0xa1,
|
||||||
0x0e, 0xcf, 0xad, 0xb1, 0x7d, 0x35, 0xf4, 0xec, 0x81, 0x5c, 0xdf, 0x10, 0x0e, 0xcf, 0x0f, 0x09,
|
0x1c, 0x0e, 0xcf, 0xad, 0xb1, 0x7d, 0x35, 0xf4, 0xec, 0x81, 0x5c, 0xdf, 0x10, 0x0e, 0xcf, 0x0f,
|
||||||
0xc2, 0x1e, 0x02, 0x8c, 0xc6, 0x63, 0xb9, 0xf6, 0xd0, 0xf9, 0x11, 0x93, 0xf2, 0xde, 0xe1, 0x21,
|
0x09, 0xc2, 0x1e, 0x01, 0x8c, 0xc6, 0x63, 0xb9, 0xf6, 0xd0, 0xf9, 0x11, 0x93, 0xf2, 0xfe, 0xe1,
|
||||||
0x91, 0x9c, 0x59, 0x1e, 0x8d, 0xc7, 0xf4, 0x93, 0x6d, 0x41, 0x3d, 0xf5, 0x68, 0xe5, 0x1d, 0x15,
|
0x21, 0x91, 0x9c, 0x59, 0x1a, 0x8d, 0xc7, 0xf4, 0x93, 0x6d, 0x43, 0x2d, 0xf5, 0x68, 0xe5, 0x1d,
|
||||||
0x5b, 0xeb, 0x8d, 0xd7, 0x53, 0x16, 0x67, 0xad, 0xaf, 0xc3, 0xd6, 0xbe, 0x07, 0xec, 0xa7, 0x3c,
|
0x15, 0x5b, 0xeb, 0x8d, 0x37, 0x52, 0x16, 0x67, 0xb5, 0xaf, 0xc3, 0xd6, 0xbf, 0x07, 0xec, 0xa7,
|
||||||
0xe0, 0xd8, 0x83, 0x72, 0xd4, 0x3e, 0xfd, 0x7c, 0x20, 0x46, 0xcb, 0x57, 0x12, 0xe7, 0x03, 0x5b,
|
0x3c, 0xe0, 0xd8, 0x83, 0x52, 0xd4, 0x3e, 0xfd, 0x7c, 0x20, 0x46, 0xcb, 0x97, 0x13, 0xe7, 0x03,
|
||||||
0x83, 0x81, 0x2f, 0xf8, 0x22, 0x6d, 0x98, 0x11, 0xcb, 0x07, 0x6d, 0xc7, 0x6c, 0x11, 0xdf, 0x37,
|
0x9b, 0x83, 0x81, 0x2f, 0xf8, 0x22, 0x6d, 0x98, 0x11, 0xcb, 0x07, 0x6d, 0xc7, 0x6c, 0x12, 0xdf,
|
||||||
0xfe, 0x6b, 0x06, 0x0a, 0x74, 0x58, 0xf1, 0x1d, 0x98, 0x27, 0xfc, 0x28, 0xde, 0x4f, 0xba, 0xca,
|
0x37, 0xfe, 0x6b, 0x06, 0x0a, 0x74, 0x58, 0xf1, 0x1d, 0x58, 0x20, 0xfc, 0x28, 0xde, 0x4f, 0xba,
|
||||||
0x69, 0xdf, 0xed, 0xc9, 0x50, 0x3f, 0xb1, 0x2c, 0xb4, 0x83, 0xd6, 0xd9, 0x68, 0xe6, 0xb5, 0xc3,
|
0xca, 0x69, 0xdf, 0xed, 0xc9, 0x50, 0x3f, 0xb1, 0x2c, 0xb4, 0x83, 0xd6, 0xd9, 0x68, 0xe6, 0xb5,
|
||||||
0xd6, 0x77, 0xa1, 0x1c, 0x55, 0xad, 0x91, 0x4e, 0x49, 0xd5, 0xcc, 0xde, 0x80, 0xfc, 0x99, 0x37,
|
0xc3, 0xd6, 0x77, 0xa1, 0x14, 0x55, 0xad, 0x91, 0x4e, 0x51, 0xd5, 0xcc, 0xde, 0x80, 0xfc, 0x99,
|
||||||
0x56, 0x96, 0x1f, 0x88, 0x47, 0xd2, 0x44, 0x78, 0xdc, 0x16, 0x51, 0x07, 0x35, 0x5e, 0x5a, 0x2c,
|
0x37, 0x56, 0x96, 0x1f, 0x88, 0x47, 0xd2, 0x44, 0x78, 0xdc, 0x16, 0x51, 0x07, 0x35, 0x5e, 0x5a,
|
||||||
0xa2, 0x4a, 0x90, 0x0c, 0x66, 0xfb, 0x38, 0x97, 0xd2, 0xc7, 0x23, 0x98, 0x17, 0x7c, 0x40, 0x0b,
|
0x2c, 0xa2, 0x4a, 0x90, 0x0c, 0x66, 0xfb, 0x38, 0x97, 0xd2, 0xc7, 0x23, 0x58, 0x10, 0x7c, 0x40,
|
||||||
0x59, 0xb9, 0x7e, 0xd3, 0x7c, 0x4f, 0x48, 0x78, 0xfd, 0xe1, 0x64, 0xc0, 0x75, 0xdb, 0x1b, 0xc6,
|
0x0b, 0x59, 0xb9, 0x7e, 0xd3, 0xfc, 0xba, 0x90, 0xf0, 0xfa, 0xc3, 0xc9, 0x80, 0xeb, 0xb6, 0x37,
|
||||||
0xb7, 0x49, 0xb8, 0x92, 0xac, 0x8d, 0xdf, 0xcf, 0x10, 0x7f, 0x11, 0xe5, 0xb2, 0xfb, 0x90, 0x17,
|
0x8c, 0x6f, 0x93, 0x70, 0x25, 0x59, 0x1b, 0xbf, 0x9f, 0x21, 0xfe, 0x22, 0xca, 0x65, 0x0f, 0x20,
|
||||||
0xfb, 0xdb, 0x94, 0x25, 0x3e, 0x3a, 0xb6, 0x20, 0xf0, 0x4c, 0xc4, 0xc0, 0xdb, 0x09, 0x26, 0xa3,
|
0x2f, 0xf6, 0xb7, 0x29, 0x4b, 0x7c, 0x74, 0x6c, 0x41, 0xe0, 0x99, 0x88, 0x81, 0xb7, 0x13, 0x4c,
|
||||||
0x64, 0xe9, 0x35, 0xb3, 0xe2, 0x4e, 0x46, 0x91, 0xe9, 0xea, 0x6b, 0xaa, 0x5b, 0x53, 0x66, 0x1f,
|
0x46, 0xc9, 0xd2, 0xab, 0x66, 0xd9, 0x9d, 0x8c, 0x22, 0xd3, 0xd5, 0xd7, 0x54, 0xb7, 0xa6, 0xcc,
|
||||||
0xea, 0x7d, 0xb4, 0x4c, 0xd7, 0xb5, 0x40, 0xb9, 0x7c, 0x62, 0xc7, 0x54, 0x52, 0xe0, 0xe0, 0x94,
|
0x3e, 0xd4, 0xfb, 0x68, 0x99, 0x6e, 0x68, 0x81, 0x72, 0xf9, 0xc4, 0x8e, 0xa9, 0xa4, 0xc0, 0xc1,
|
||||||
0x6b, 0x01, 0x72, 0x7f, 0x94, 0x85, 0x5a, 0xa2, 0x45, 0x18, 0x29, 0x28, 0x36, 0x00, 0x72, 0x2c,
|
0x29, 0xd7, 0x02, 0xe4, 0xfe, 0x28, 0x0b, 0xd5, 0x44, 0x8b, 0x30, 0x52, 0x50, 0x6c, 0x00, 0xe4,
|
||||||
0xc9, 0xf9, 0x06, 0x01, 0x92, 0x82, 0xba, 0x36, 0x4e, 0xd9, 0xc4, 0x38, 0x45, 0xc1, 0x39, 0x39,
|
0x58, 0x92, 0xf3, 0x0d, 0x02, 0x24, 0x05, 0x75, 0x6d, 0x9c, 0xb2, 0x89, 0x71, 0x8a, 0x82, 0x73,
|
||||||
0x3d, 0x38, 0xe7, 0x11, 0x94, 0xe3, 0x03, 0xf6, 0xc9, 0x26, 0x89, 0xfa, 0xd4, 0xe1, 0x8d, 0x18,
|
0x72, 0x7a, 0x70, 0xce, 0x63, 0x28, 0xc5, 0x07, 0xec, 0x93, 0x4d, 0x12, 0xf5, 0xa9, 0xc3, 0x1b,
|
||||||
0x29, 0x0e, 0xe7, 0x29, 0xe8, 0xe1, 0x3c, 0xdf, 0xd5, 0xa2, 0x3f, 0xe6, 0xb0, 0x18, 0x23, 0x6d,
|
0x31, 0x52, 0x1c, 0xce, 0x53, 0xd0, 0xc3, 0x79, 0xbe, 0xab, 0x45, 0x7f, 0xcc, 0x61, 0x31, 0x46,
|
||||||
0x44, 0x7f, 0x2e, 0xb1, 0x1f, 0xc6, 0x27, 0x50, 0xd1, 0x1a, 0xaf, 0x47, 0x79, 0x64, 0x12, 0x51,
|
0xda, 0x88, 0xfe, 0x5c, 0x62, 0x3f, 0x8c, 0x8f, 0xa1, 0xac, 0x35, 0x5e, 0x8f, 0xf2, 0xc8, 0x24,
|
||||||
0x1e, 0xd1, 0x31, 0xab, 0x6c, 0x7c, 0xcc, 0xca, 0xf8, 0xeb, 0x59, 0xa8, 0x89, 0xf5, 0xe5, 0xb8,
|
0xa2, 0x3c, 0xa2, 0x63, 0x56, 0xd9, 0xf8, 0x98, 0x95, 0xf1, 0xd7, 0xb3, 0x50, 0x15, 0xeb, 0xcb,
|
||||||
0xa7, 0x87, 0xde, 0xd0, 0xe9, 0xa3, 0xa3, 0x29, 0x5a, 0x61, 0x52, 0xd0, 0x52, 0xeb, 0x4c, 0x2e,
|
0x71, 0x4f, 0x0f, 0xbd, 0xa1, 0xd3, 0x47, 0x47, 0x53, 0xb4, 0xc2, 0xa4, 0xa0, 0xa5, 0xd6, 0x99,
|
||||||
0x31, 0x92, 0xb3, 0xf4, 0xd3, 0xa4, 0xc4, 0xa4, 0xa3, 0xd3, 0xa4, 0x06, 0xd4, 0x04, 0x63, 0x44,
|
0x5c, 0x62, 0x24, 0x67, 0xe9, 0xa7, 0x49, 0x89, 0x49, 0x47, 0xa7, 0x49, 0x0d, 0xa8, 0x0a, 0xc6,
|
||||||
0x97, 0x51, 0x7c, 0xfc, 0xdf, 0xac, 0x9c, 0x70, 0xbe, 0x61, 0x07, 0xc4, 0x21, 0xbf, 0x01, 0x8b,
|
0x88, 0x2e, 0xa3, 0xf8, 0xf8, 0xbf, 0x59, 0x3e, 0xe1, 0x7c, 0xd3, 0x0e, 0x88, 0x43, 0x7e, 0x03,
|
||||||
0x02, 0x07, 0x0f, 0xd2, 0x8d, 0x9c, 0xe1, 0xd0, 0x21, 0x4c, 0x32, 0x34, 0x35, 0x4e, 0x38, 0x37,
|
0x96, 0x04, 0x0e, 0x1e, 0xa4, 0x1b, 0x39, 0xc3, 0xa1, 0x43, 0x98, 0x64, 0x68, 0xaa, 0x9f, 0x70,
|
||||||
0xed, 0x90, 0xef, 0x89, 0x04, 0x79, 0x5b, 0x40, 0x69, 0xe0, 0x04, 0xf6, 0x71, 0x1c, 0xcf, 0x19,
|
0x6e, 0xda, 0x21, 0xdf, 0x17, 0x09, 0xf2, 0xb6, 0x80, 0xe2, 0xc0, 0x09, 0xec, 0xe3, 0x38, 0x9e,
|
||||||
0x7d, 0xa3, 0x67, 0xd9, 0xbe, 0xd4, 0x3c, 0xcb, 0x64, 0x80, 0xa8, 0x8c, 0xec, 0xcb, 0xc8, 0xb3,
|
0x33, 0xfa, 0x46, 0xcf, 0xb2, 0x7d, 0xa9, 0x79, 0x96, 0xc9, 0x00, 0x51, 0x1e, 0xd9, 0x97, 0x91,
|
||||||
0x3c, 0x45, 0x49, 0xc5, 0x69, 0x4a, 0x32, 0xfe, 0x4d, 0x16, 0x2a, 0x1a, 0x59, 0xbe, 0xce, 0xee,
|
0x67, 0x79, 0x8a, 0x92, 0xe6, 0xa7, 0x29, 0xc9, 0xf8, 0x37, 0x59, 0x28, 0x6b, 0x64, 0xf9, 0x3a,
|
||||||
0x7a, 0x67, 0xc6, 0x31, 0x58, 0xd6, 0x7d, 0x80, 0x6f, 0x25, 0xab, 0xc4, 0xd8, 0x17, 0xba, 0x97,
|
0xbb, 0xeb, 0x9d, 0x19, 0xc7, 0x60, 0x49, 0xf7, 0x01, 0xbe, 0x95, 0xac, 0x12, 0x63, 0x5f, 0xe8,
|
||||||
0x40, 0x23, 0xe0, 0x5b, 0x50, 0x16, 0xab, 0xee, 0x03, 0x34, 0xc1, 0xca, 0x5b, 0x35, 0x10, 0x70,
|
0x5e, 0x02, 0x8d, 0x80, 0x6f, 0x41, 0x49, 0xac, 0xba, 0xf7, 0xd1, 0x04, 0x2b, 0x6f, 0xd5, 0x40,
|
||||||
0x38, 0x39, 0x56, 0x89, 0x8f, 0x31, 0xb1, 0x10, 0x27, 0x3e, 0x16, 0x89, 0x2f, 0x8b, 0xb0, 0xfe,
|
0xc0, 0xe1, 0xe4, 0x58, 0x25, 0x3e, 0xc1, 0xc4, 0x42, 0x9c, 0xf8, 0x44, 0x24, 0xbe, 0x2c, 0xc2,
|
||||||
0x08, 0xaa, 0xb2, 0x54, 0x9c, 0x53, 0xec, 0x6e, 0xbc, 0xea, 0x13, 0xf3, 0x6d, 0x56, 0xa8, 0x3a,
|
0xfa, 0x43, 0xa8, 0xc8, 0x52, 0x71, 0x4e, 0xb1, 0xbb, 0xf1, 0xaa, 0x4f, 0xcc, 0xb7, 0x59, 0xa6,
|
||||||
0x9a, 0x7c, 0x99, 0xf1, 0xb1, 0xca, 0x58, 0x7a, 0x55, 0xc6, 0xc7, 0xf4, 0x61, 0x6c, 0x47, 0x41,
|
0xea, 0x68, 0xf2, 0x65, 0xc6, 0x27, 0x2a, 0x63, 0xf1, 0x55, 0x19, 0x9f, 0xd0, 0x87, 0xb1, 0x13,
|
||||||
0xeb, 0x18, 0x77, 0xa5, 0xf8, 0xd8, 0x43, 0x58, 0x54, 0xec, 0x6a, 0xe2, 0xda, 0xae, 0xeb, 0x4d,
|
0x05, 0xad, 0x63, 0xdc, 0x95, 0xe2, 0x63, 0x8f, 0x60, 0x49, 0xb1, 0xab, 0x89, 0x6b, 0xbb, 0xae,
|
||||||
0xdc, 0x3e, 0x57, 0xe7, 0xaf, 0x98, 0x4c, 0x3a, 0x8a, 0x53, 0x8c, 0x41, 0x74, 0x40, 0x97, 0xe2,
|
0x37, 0x71, 0xfb, 0x5c, 0x9d, 0xbf, 0x62, 0x32, 0xe9, 0x28, 0x4e, 0x31, 0x06, 0xd1, 0x01, 0x5d,
|
||||||
0xb7, 0x1e, 0x40, 0x81, 0xe4, 0x72, 0x12, 0x3e, 0xd2, 0x19, 0x17, 0xa1, 0xb0, 0xfb, 0x50, 0x20,
|
0x8a, 0xdf, 0x7a, 0x08, 0x05, 0x92, 0xcb, 0x49, 0xf8, 0x48, 0x67, 0x5c, 0x84, 0xc2, 0x1e, 0x40,
|
||||||
0xf1, 0x3c, 0x7b, 0x2d, 0xb3, 0x21, 0x04, 0xa3, 0x05, 0x4c, 0x64, 0xdc, 0xe3, 0xa1, 0xef, 0xf4,
|
0x81, 0xc4, 0xf3, 0xec, 0xb5, 0xcc, 0x86, 0x10, 0x8c, 0x26, 0x30, 0x91, 0x71, 0x9f, 0x87, 0xbe,
|
||||||
0x83, 0xf8, 0x68, 0x57, 0x41, 0xe8, 0x9f, 0x54, 0x57, 0x6c, 0xb9, 0x8d, 0x31, 0x51, 0x47, 0x25,
|
0xd3, 0x0f, 0xe2, 0xa3, 0x5d, 0x05, 0xa1, 0x7f, 0x52, 0x5d, 0xb1, 0xe5, 0x36, 0xc6, 0x44, 0x1d,
|
||||||
0x1c, 0xb1, 0x31, 0x2d, 0x26, 0xca, 0x90, 0xe2, 0xd2, 0x10, 0x56, 0x8e, 0x79, 0x78, 0xc1, 0xb9,
|
0x95, 0x70, 0xc4, 0xc6, 0xb4, 0x94, 0x28, 0x43, 0x8a, 0x4b, 0x43, 0x58, 0x3d, 0xe6, 0xe1, 0x05,
|
||||||
0xeb, 0x0a, 0x61, 0xa8, 0xcf, 0xdd, 0xd0, 0xb7, 0x87, 0x62, 0x92, 0xa8, 0x07, 0x4f, 0x66, 0x4a,
|
0xe7, 0xae, 0x2b, 0x84, 0xa1, 0x3e, 0x77, 0x43, 0xdf, 0x1e, 0x8a, 0x49, 0xa2, 0x1e, 0x3c, 0x9d,
|
||||||
0x8d, 0x6d, 0x20, 0x1b, 0x71, 0xc6, 0xcd, 0x28, 0x1f, 0xf1, 0x8e, 0xe5, 0xe3, 0xb4, 0xb4, 0xb5,
|
0x29, 0x35, 0xb6, 0x81, 0x6c, 0xc6, 0x19, 0xb7, 0xa2, 0x7c, 0xc4, 0x3b, 0x56, 0x8e, 0xd3, 0xd2,
|
||||||
0x5f, 0x81, 0xb5, 0xeb, 0x33, 0xa5, 0x1c, 0xe0, 0xbc, 0x9f, 0xe4, 0x2a, 0x91, 0x1f, 0x70, 0xe8,
|
0xd6, 0x7f, 0x05, 0xd6, 0xaf, 0xcf, 0x94, 0x72, 0x80, 0xf3, 0x41, 0x92, 0xab, 0x44, 0x7e, 0xc0,
|
||||||
0xd9, 0x21, 0xb5, 0x46, 0xe7, 0x2c, 0xfb, 0x50, 0xd1, 0x52, 0xe2, 0xbd, 0x3f, 0x83, 0xc2, 0x1d,
|
0xa1, 0x67, 0x87, 0xd4, 0x1a, 0x9d, 0xb3, 0x74, 0xa0, 0xac, 0xa5, 0xc4, 0x7b, 0x7f, 0x06, 0x85,
|
||||||
0x7d, 0x88, 0x1d, 0xc9, 0xf5, 0xfc, 0x11, 0xfa, 0xdd, 0x06, 0x56, 0x5c, 0x7a, 0xc6, 0x9c, 0x8f,
|
0x3b, 0xfa, 0x10, 0x3b, 0x92, 0xeb, 0xf9, 0x23, 0xf4, 0xbb, 0x0d, 0xac, 0xb8, 0xf4, 0x8c, 0xb9,
|
||||||
0xe1, 0x78, 0x62, 0xdd, 0x58, 0x87, 0x79, 0x94, 0xec, 0xb5, 0x8d, 0xee, 0x65, 0xc2, 0xa0, 0xb1,
|
0x10, 0xc3, 0xf1, 0xc4, 0xba, 0xb1, 0x01, 0x0b, 0x28, 0xd9, 0x6b, 0x1b, 0xdd, 0xcb, 0x84, 0x41,
|
||||||
0x04, 0x6c, 0x9f, 0x78, 0x97, 0x1e, 0xce, 0xf9, 0x9f, 0x72, 0x50, 0xd1, 0xc0, 0x62, 0x37, 0xc2,
|
0x63, 0x19, 0x58, 0x87, 0x78, 0x97, 0x1e, 0xce, 0xf9, 0x9f, 0x72, 0x50, 0xd6, 0xc0, 0x62, 0x37,
|
||||||
0x00, 0x40, 0x6b, 0xe0, 0xd8, 0x23, 0xae, 0x9c, 0x9c, 0x35, 0xb3, 0x86, 0xd0, 0x2d, 0x09, 0x14,
|
0xc2, 0x00, 0x40, 0x6b, 0xe0, 0xd8, 0x23, 0xae, 0x9c, 0x9c, 0x55, 0xb3, 0x8a, 0xd0, 0x6d, 0x09,
|
||||||
0x7b, 0xb1, 0x7d, 0x7e, 0x6a, 0x79, 0x93, 0xd0, 0x1a, 0xf0, 0x53, 0x9f, 0xab, 0x56, 0x56, 0xed,
|
0x14, 0x7b, 0xb1, 0x7d, 0x7e, 0x6a, 0x79, 0x93, 0xd0, 0x1a, 0xf0, 0x53, 0x9f, 0xab, 0x56, 0x56,
|
||||||
0xf3, 0xd3, 0x83, 0x49, 0xb8, 0x85, 0x30, 0x81, 0x25, 0x78, 0x89, 0x86, 0x25, 0x63, 0xd6, 0x46,
|
0xec, 0xf3, 0xd3, 0x83, 0x49, 0xb8, 0x8d, 0x30, 0x81, 0x25, 0x78, 0x89, 0x86, 0x25, 0x63, 0xd6,
|
||||||
0xf6, 0x65, 0x8c, 0x25, 0x03, 0x27, 0x89, 0x32, 0xf3, 0x51, 0xe0, 0x24, 0x69, 0x8b, 0xd3, 0x1b,
|
0x46, 0xf6, 0x65, 0x8c, 0x25, 0x03, 0x27, 0x89, 0x32, 0xf3, 0x51, 0xe0, 0x24, 0x69, 0x8b, 0xd3,
|
||||||
0x68, 0x61, 0x76, 0x03, 0xfd, 0x16, 0xac, 0xd0, 0x06, 0x2a, 0x59, 0xb3, 0x35, 0xb5, 0x92, 0x97,
|
0x1b, 0x68, 0x61, 0x76, 0x03, 0xfd, 0x16, 0xac, 0xd2, 0x06, 0x2a, 0x59, 0xb3, 0x35, 0xb5, 0x92,
|
||||||
0x30, 0x55, 0x76, 0x52, 0x13, 0x7b, 0x1b, 0xa2, 0x07, 0x8a, 0x2d, 0x05, 0xce, 0x8f, 0x88, 0x91,
|
0x97, 0x31, 0x55, 0x76, 0x52, 0x13, 0x7b, 0xeb, 0xa2, 0x07, 0x8a, 0x2d, 0x05, 0xce, 0x8f, 0x88,
|
||||||
0x65, 0x4c, 0xd1, 0x33, 0x59, 0x78, 0xd7, 0xf9, 0x11, 0x17, 0x98, 0x18, 0x1d, 0xa3, 0x63, 0xca,
|
0x91, 0x65, 0x4c, 0xd1, 0x33, 0x59, 0x78, 0xd7, 0xf9, 0x11, 0x17, 0x98, 0x18, 0x1d, 0xa3, 0x63,
|
||||||
0xf3, 0x13, 0x23, 0xc7, 0x9d, 0xc6, 0xb4, 0x2f, 0x93, 0x98, 0x65, 0x89, 0x69, 0x5f, 0xea, 0x98,
|
0xca, 0xf3, 0x13, 0x23, 0xc7, 0x9d, 0xc6, 0xb4, 0x2f, 0x93, 0x98, 0x25, 0x89, 0x69, 0x5f, 0xea,
|
||||||
0x4f, 0x60, 0x75, 0xc4, 0x07, 0x8e, 0x9d, 0x2c, 0xd6, 0x8a, 0x05, 0xb7, 0x25, 0x4a, 0xd6, 0xf2,
|
0x98, 0x4f, 0x61, 0x6d, 0xc4, 0x07, 0x8e, 0x9d, 0x2c, 0xd6, 0x8a, 0x05, 0xb7, 0x65, 0x4a, 0xd6,
|
||||||
0x74, 0x49, 0x71, 0x17, 0xa3, 0xf1, 0x23, 0x6f, 0x74, 0xec, 0x90, 0xcc, 0x42, 0xf1, 0x3a, 0x79,
|
0xf2, 0x74, 0x49, 0x71, 0x17, 0xa3, 0xf1, 0x23, 0x6f, 0x74, 0xec, 0x90, 0xcc, 0x42, 0xf1, 0x3a,
|
||||||
0xb3, 0xee, 0x4e, 0x46, 0x3f, 0x40, 0xb0, 0xc8, 0x12, 0x18, 0x35, 0xa8, 0x74, 0x43, 0x6f, 0xac,
|
0x79, 0xb3, 0xe6, 0x4e, 0x46, 0x3f, 0x40, 0xb0, 0xc8, 0x12, 0x18, 0x55, 0x28, 0x77, 0x43, 0x6f,
|
||||||
0xa6, 0xb9, 0x0e, 0x55, 0xfa, 0x94, 0x87, 0x1a, 0x6f, 0xc1, 0x4d, 0x64, 0x09, 0x3d, 0x6f, 0xec,
|
0xac, 0xa6, 0xb9, 0x06, 0x15, 0xfa, 0x94, 0x87, 0x1a, 0x6f, 0xc1, 0x4d, 0x64, 0x09, 0x3d, 0x6f,
|
||||||
0x0d, 0xbd, 0xd3, 0xab, 0x84, 0x1d, 0xef, 0xdf, 0x65, 0x60, 0x31, 0x91, 0x2a, 0xd9, 0xeb, 0xb7,
|
0xec, 0x0d, 0xbd, 0xd3, 0xab, 0x84, 0x1d, 0xef, 0xdf, 0x65, 0x60, 0x29, 0x91, 0x2a, 0xd9, 0xeb,
|
||||||
0x88, 0x9f, 0x45, 0x27, 0xd3, 0x68, 0x0d, 0x2e, 0x68, 0x6b, 0x90, 0x10, 0x89, 0x99, 0xa9, 0xd3,
|
0xb7, 0x88, 0x9f, 0x45, 0x27, 0xd3, 0x68, 0x0d, 0x2e, 0x6a, 0x6b, 0x90, 0x10, 0x89, 0x99, 0xa9,
|
||||||
0x6a, 0xad, 0xf8, 0x46, 0x05, 0x95, 0x91, 0x58, 0x4a, 0x73, 0x96, 0xa5, 0xc8, 0xfc, 0xea, 0xae,
|
0xd3, 0x6a, 0xcd, 0xf8, 0x46, 0x05, 0x95, 0x91, 0x58, 0x4a, 0x63, 0x96, 0xa5, 0xc8, 0xfc, 0xea,
|
||||||
0x05, 0x55, 0xc4, 0x2f, 0xc8, 0x33, 0x2e, 0x03, 0xd9, 0xe5, 0x5c, 0xf2, 0xa0, 0x80, 0x6e, 0xf3,
|
0xae, 0x05, 0x55, 0xc4, 0x2f, 0xc8, 0x33, 0x2e, 0x03, 0xd9, 0xe5, 0x5c, 0xf2, 0xa0, 0x80, 0x6e,
|
||||||
0x53, 0x2d, 0x88, 0x0d, 0x81, 0x81, 0xf1, 0x4f, 0x32, 0x00, 0x71, 0xeb, 0xf0, 0xa8, 0x42, 0x24,
|
0xf3, 0x53, 0x2d, 0x88, 0x0d, 0x81, 0x81, 0xf1, 0x4f, 0x32, 0x00, 0x71, 0xeb, 0xf0, 0xa8, 0x42,
|
||||||
0xb7, 0xd0, 0x65, 0x65, 0x9a, 0x8c, 0xf2, 0x26, 0x54, 0xa3, 0x88, 0xe5, 0x58, 0x12, 0xaa, 0x28,
|
0x24, 0xb7, 0xd0, 0x65, 0x65, 0x9a, 0x8c, 0xf2, 0x26, 0x54, 0xa2, 0x88, 0xe5, 0x58, 0x12, 0x2a,
|
||||||
0x98, 0x10, 0x87, 0xde, 0x85, 0xf9, 0xd3, 0xa1, 0x77, 0x8c, 0x12, 0xab, 0x94, 0x5b, 0x28, 0x5e,
|
0x2b, 0x98, 0x10, 0x87, 0xee, 0xc3, 0xc2, 0xe9, 0xd0, 0x3b, 0x46, 0x89, 0x55, 0xca, 0x2d, 0x14,
|
||||||
0xad, 0x4e, 0x60, 0x25, 0x8d, 0xc4, 0x72, 0x53, 0x3e, 0x35, 0xa8, 0x59, 0x97, 0x82, 0x8c, 0xdf,
|
0xaf, 0x56, 0x23, 0xb0, 0x92, 0x46, 0x62, 0xb9, 0x29, 0x9f, 0x1a, 0xd4, 0xac, 0x4b, 0x41, 0xc6,
|
||||||
0xcc, 0x46, 0xa1, 0x9b, 0xf1, 0x48, 0xbc, 0x5c, 0xbd, 0xfb, 0x49, 0x62, 0x69, 0x5e, 0xe6, 0x5e,
|
0x6f, 0x66, 0xa3, 0xd0, 0xcd, 0x78, 0x24, 0x5e, 0xae, 0xde, 0xfd, 0x24, 0xb1, 0x34, 0x2f, 0x73,
|
||||||
0xfc, 0x04, 0xea, 0x3e, 0x6d, 0x4a, 0x6a, 0xc7, 0xca, 0xbf, 0x64, 0xc7, 0xaa, 0xf9, 0x09, 0x49,
|
0x2f, 0x7e, 0x0c, 0x35, 0x9f, 0x36, 0x25, 0xb5, 0x63, 0xe5, 0x5f, 0xb2, 0x63, 0x55, 0xfd, 0x84,
|
||||||
0xe7, 0x3d, 0x68, 0xd8, 0x83, 0x73, 0xee, 0x87, 0x0e, 0x5a, 0xeb, 0x51, 0x3e, 0x96, 0xc1, 0x92,
|
0xa4, 0xf3, 0x75, 0xa8, 0xdb, 0x83, 0x73, 0xee, 0x87, 0x0e, 0x5a, 0xeb, 0x51, 0x3e, 0x96, 0xc1,
|
||||||
0x1a, 0x1c, 0x05, 0xd1, 0x77, 0x61, 0x5e, 0x1e, 0xb4, 0x8d, 0x30, 0xe5, 0xd5, 0x3d, 0x31, 0x58,
|
0x92, 0x1a, 0x1c, 0x05, 0xd1, 0xfb, 0xb0, 0x20, 0x0f, 0xda, 0x46, 0x98, 0xf2, 0xea, 0x9e, 0x18,
|
||||||
0x20, 0x1a, 0xff, 0x5c, 0xc5, 0x8a, 0x26, 0x67, 0xf7, 0xe5, 0xa3, 0xa2, 0xf7, 0x30, 0x3b, 0xeb,
|
0x2c, 0x10, 0x8d, 0x7f, 0xae, 0x62, 0x45, 0x93, 0xb3, 0xfb, 0xf2, 0x51, 0xd1, 0x7b, 0x98, 0x9d,
|
||||||
0x40, 0x95, 0x84, 0x24, 0x9d, 0x00, 0x92, 0x1f, 0x11, 0x50, 0xba, 0x00, 0x92, 0xc3, 0x9a, 0x7f,
|
0x75, 0xa0, 0x4a, 0x42, 0x92, 0x4e, 0x00, 0xc9, 0x8f, 0x08, 0x28, 0x5d, 0x00, 0xc9, 0x61, 0xcd,
|
||||||
0x9d, 0x61, 0x35, 0xfe, 0x43, 0x06, 0x8a, 0x3b, 0xde, 0x78, 0xc7, 0xa1, 0x60, 0x7d, 0x5c, 0x26,
|
0xbf, 0xce, 0xb0, 0x1a, 0xff, 0x21, 0x03, 0xf3, 0xbb, 0xde, 0x78, 0xd7, 0xa1, 0x60, 0x7d, 0x5c,
|
||||||
0x91, 0x8f, 0x6a, 0x4e, 0x7c, 0x62, 0xe0, 0xcf, 0x4b, 0xce, 0x93, 0xa5, 0x8a, 0x79, 0xb5, 0xa4,
|
0x26, 0x91, 0x8f, 0x6a, 0x4e, 0x7c, 0x62, 0xe0, 0xcf, 0x4b, 0xce, 0x93, 0xa5, 0x8a, 0x79, 0xd5,
|
||||||
0x98, 0xf7, 0x5d, 0xb8, 0x85, 0x2e, 0x40, 0xdf, 0x1b, 0x7b, 0xbe, 0x58, 0xaa, 0xf6, 0x90, 0xc4,
|
0xa4, 0x98, 0xf7, 0x5d, 0xb8, 0x85, 0x2e, 0x40, 0xdf, 0x1b, 0x7b, 0xbe, 0x58, 0xaa, 0xf6, 0x90,
|
||||||
0x3d, 0xcf, 0x0d, 0xcf, 0x14, 0xef, 0xbc, 0x79, 0xc2, 0xf9, 0xa1, 0x86, 0xb1, 0x17, 0x21, 0xe0,
|
0xc4, 0x3d, 0xcf, 0x0d, 0xcf, 0x14, 0xef, 0xbc, 0x79, 0xc2, 0xf9, 0xa1, 0x86, 0xb1, 0x1f, 0x21,
|
||||||
0x89, 0xcd, 0x61, 0x78, 0x6e, 0x91, 0x86, 0x2e, 0xe5, 0x51, 0xe2, 0xa8, 0xf3, 0x22, 0xa1, 0x8d,
|
0xe0, 0x89, 0xcd, 0x61, 0x78, 0x6e, 0x91, 0x86, 0x2e, 0xe5, 0x51, 0xe2, 0xa8, 0x0b, 0x22, 0xa1,
|
||||||
0x70, 0x94, 0x48, 0x8d, 0x6f, 0x43, 0x39, 0x32, 0xf6, 0xb0, 0xf7, 0xa1, 0x7c, 0xe6, 0x8d, 0xa5,
|
0x85, 0x70, 0x94, 0x48, 0x8d, 0x6f, 0x43, 0x29, 0x32, 0xf6, 0xb0, 0x77, 0xa1, 0x74, 0xe6, 0x8d,
|
||||||
0x45, 0x28, 0x93, 0x38, 0x73, 0x27, 0x7b, 0x6d, 0x96, 0xce, 0xe8, 0x47, 0x60, 0xfc, 0x59, 0x11,
|
0xa5, 0x45, 0x28, 0x93, 0x38, 0x73, 0x27, 0x7b, 0x6d, 0x16, 0xcf, 0xe8, 0x47, 0x60, 0xfc, 0xd9,
|
||||||
0x8a, 0x1d, 0xf7, 0xdc, 0x73, 0xfa, 0x18, 0x6d, 0x3a, 0xe2, 0x23, 0x4f, 0x9d, 0xf6, 0x17, 0xbf,
|
0x3c, 0xcc, 0xb7, 0xdd, 0x73, 0xcf, 0xe9, 0x63, 0xb4, 0xe9, 0x88, 0x8f, 0x3c, 0x75, 0xda, 0x5f,
|
||||||
0x31, 0x36, 0x2b, 0xbe, 0x80, 0x27, 0x27, 0x63, 0xb3, 0xa2, 0xab, 0x77, 0x96, 0x61, 0xce, 0xd7,
|
0xfc, 0xc6, 0xd8, 0xac, 0xf8, 0x02, 0x9e, 0x9c, 0x8c, 0xcd, 0x8a, 0xae, 0xde, 0x59, 0x81, 0x39,
|
||||||
0x6f, 0xd0, 0x29, 0xf8, 0x18, 0xff, 0x1e, 0xed, 0x97, 0x05, 0xed, 0xb6, 0x04, 0x51, 0x16, 0xdd,
|
0x5f, 0xbf, 0x41, 0xa7, 0xe0, 0x63, 0xfc, 0x7b, 0xb4, 0x5f, 0x16, 0xb4, 0xdb, 0x12, 0x44, 0x59,
|
||||||
0xec, 0x82, 0x43, 0x46, 0xa7, 0x2f, 0xcb, 0x08, 0xc1, 0x01, 0xbb, 0x0d, 0x45, 0x79, 0xc4, 0x8d,
|
0x74, 0xb3, 0x0b, 0x0e, 0x19, 0x9d, 0xbe, 0x2c, 0x21, 0x04, 0x07, 0xec, 0x36, 0xcc, 0xcb, 0x23,
|
||||||
0xce, 0x24, 0x51, 0xc0, 0xba, 0x04, 0x21, 0x35, 0xf8, 0x9c, 0x5c, 0xb8, 0x91, 0x20, 0x9b, 0x33,
|
0x6e, 0x74, 0x26, 0x89, 0x02, 0xd6, 0x25, 0x08, 0xa9, 0xc1, 0xe7, 0xe4, 0xc2, 0x8d, 0x04, 0xd9,
|
||||||
0xab, 0x0a, 0xb8, 0x25, 0x68, 0xed, 0x2e, 0x54, 0x08, 0x9f, 0x50, 0x4a, 0x32, 0x48, 0x13, 0x41,
|
0x9c, 0x59, 0x51, 0xc0, 0x6d, 0x41, 0x6b, 0x77, 0xa1, 0x4c, 0xf8, 0x84, 0x52, 0x94, 0x41, 0x9a,
|
||||||
0x88, 0x90, 0x72, 0x11, 0x55, 0x39, 0xf5, 0x22, 0x2a, 0x0c, 0x27, 0x8e, 0xb8, 0x2c, 0x75, 0x11,
|
0x08, 0x42, 0x84, 0x94, 0x8b, 0xa8, 0x4a, 0xa9, 0x17, 0x51, 0x61, 0x38, 0x71, 0xc4, 0x65, 0xa9,
|
||||||
0xe8, 0xfa, 0x21, 0x0d, 0xae, 0x6e, 0x61, 0x93, 0x36, 0x15, 0x3a, 0x8c, 0xac, 0x6c, 0x2a, 0x6f,
|
0x8b, 0x40, 0xd7, 0x0f, 0x69, 0x70, 0x75, 0x0b, 0x9b, 0xb4, 0xa9, 0xd0, 0x61, 0x64, 0x65, 0x53,
|
||||||
0x41, 0xed, 0xc4, 0x1e, 0x0e, 0x8f, 0xed, 0xfe, 0x0b, 0x32, 0x05, 0x54, 0xc9, 0xfa, 0xa9, 0x80,
|
0x79, 0x0b, 0xaa, 0x27, 0xf6, 0x70, 0x78, 0x6c, 0xf7, 0x5f, 0x90, 0x29, 0xa0, 0x42, 0xd6, 0x4f,
|
||||||
0x68, 0x0b, 0xb8, 0x0b, 0x15, 0x6d, 0x96, 0x31, 0x02, 0x33, 0x6f, 0x42, 0x3c, 0xbf, 0xd3, 0x16,
|
0x05, 0x44, 0x5b, 0xc0, 0x5d, 0x28, 0x6b, 0xb3, 0x8c, 0x11, 0x98, 0x79, 0x13, 0xe2, 0xf9, 0x9d,
|
||||||
0xbe, 0xfa, 0x6b, 0x58, 0xf8, 0xb4, 0x48, 0xd4, 0xf9, 0x64, 0x24, 0xea, 0x2d, 0xe4, 0xa6, 0x32,
|
0xb6, 0xf0, 0xd5, 0x5e, 0xc3, 0xc2, 0xa7, 0x45, 0xa2, 0x2e, 0x24, 0x23, 0x51, 0x6f, 0x21, 0x37,
|
||||||
0xe4, 0xb0, 0x41, 0x77, 0xdd, 0xd8, 0x83, 0x01, 0x86, 0x1c, 0xd2, 0xc5, 0x92, 0x38, 0x78, 0x94,
|
0x95, 0x21, 0x87, 0x75, 0xba, 0xeb, 0xc6, 0x1e, 0x0c, 0x30, 0xe4, 0x90, 0x2e, 0x96, 0xc4, 0xc1,
|
||||||
0xbe, 0x40, 0xba, 0x04, 0xc1, 0x08, 0xe5, 0x0e, 0x99, 0xa9, 0xc7, 0xb6, 0x33, 0xc0, 0x43, 0x07,
|
0xa3, 0xf4, 0x45, 0xd2, 0x25, 0x08, 0x46, 0x28, 0x77, 0xc8, 0x4c, 0x3d, 0xb6, 0x9d, 0x01, 0x1e,
|
||||||
0x64, 0x3d, 0x28, 0xda, 0xa3, 0xf0, 0xd0, 0x76, 0x06, 0xec, 0x1e, 0x54, 0x55, 0x32, 0xee, 0x8e,
|
0x3a, 0x20, 0xeb, 0xc1, 0xbc, 0x3d, 0x0a, 0x0f, 0x6d, 0x67, 0xc0, 0xee, 0x41, 0x45, 0x25, 0xe3,
|
||||||
0x8b, 0x34, 0xfe, 0x32, 0x59, 0xec, 0x89, 0x06, 0xd4, 0x22, 0x8c, 0x51, 0x7c, 0xa2, 0xb8, 0x22,
|
0xee, 0xb8, 0x44, 0xe3, 0x2f, 0x93, 0xc5, 0x9e, 0x68, 0x40, 0x35, 0xc2, 0x18, 0xc5, 0x27, 0x8a,
|
||||||
0x51, 0x90, 0x0e, 0x3e, 0xc0, 0x28, 0x9f, 0x90, 0xe3, 0xb9, 0xe1, 0xfa, 0xe3, 0x5b, 0x51, 0xf0,
|
0xcb, 0x12, 0x05, 0xe9, 0xe0, 0x7d, 0x8c, 0xf2, 0x09, 0x39, 0x9e, 0x1b, 0xae, 0x3d, 0xb9, 0x15,
|
||||||
0x01, 0x52, 0xa9, 0xfa, 0x4f, 0xce, 0x31, 0xc2, 0x14, 0xc2, 0x1d, 0xf9, 0xe8, 0x56, 0x12, 0xf2,
|
0x05, 0x1f, 0x20, 0x95, 0xaa, 0xff, 0xe4, 0x1c, 0x23, 0x4c, 0x21, 0xdc, 0x91, 0x8f, 0x6e, 0x35,
|
||||||
0xaf, 0x44, 0x45, 0x1f, 0x1d, 0x21, 0xb0, 0x6f, 0x6b, 0xfa, 0x6b, 0x13, 0x91, 0x6f, 0x4f, 0x95,
|
0x21, 0xff, 0x4a, 0x54, 0xf4, 0xd1, 0x11, 0x02, 0xfb, 0xb6, 0xa6, 0xbf, 0x36, 0x10, 0xf9, 0xf6,
|
||||||
0x7f, 0xdd, 0x99, 0xab, 0x3b, 0x00, 0x4e, 0x20, 0x76, 0x99, 0x80, 0xbb, 0x03, 0x3c, 0x02, 0x5c,
|
0x54, 0xf9, 0xd7, 0x9d, 0xb9, 0xba, 0x03, 0xe0, 0x04, 0x62, 0x97, 0x09, 0xb8, 0x3b, 0xc0, 0x23,
|
||||||
0x32, 0xcb, 0x4e, 0xf0, 0x8c, 0x00, 0x3f, 0x5b, 0xc5, 0xb6, 0x05, 0x55, 0xbd, 0x9b, 0xac, 0x04,
|
0xc0, 0x45, 0xb3, 0xe4, 0x04, 0xcf, 0x09, 0xf0, 0xb3, 0x55, 0x6c, 0x9b, 0x50, 0xd1, 0xbb, 0xc9,
|
||||||
0xf9, 0x83, 0xc3, 0xf6, 0x7e, 0xe3, 0x06, 0xab, 0x40, 0xb1, 0xdb, 0xee, 0xf5, 0x76, 0xd1, 0xd3,
|
0x8a, 0x90, 0x3f, 0x38, 0x6c, 0x75, 0xea, 0x37, 0x58, 0x19, 0xe6, 0xbb, 0xad, 0x5e, 0x6f, 0x0f,
|
||||||
0x57, 0x85, 0x52, 0x74, 0x4e, 0x31, 0x2b, 0xbe, 0x5a, 0x9b, 0x9b, 0xed, 0xc3, 0x5e, 0x7b, 0xab,
|
0x3d, 0x7d, 0x15, 0x28, 0x46, 0xe7, 0x14, 0xb3, 0xe2, 0xab, 0xb9, 0xb5, 0xd5, 0x3a, 0xec, 0xb5,
|
||||||
0x91, 0xfb, 0x7e, 0xbe, 0x94, 0x6d, 0xe4, 0x8c, 0x3f, 0xcf, 0x41, 0x45, 0x1b, 0x85, 0x97, 0x33,
|
0xb6, 0xeb, 0xb9, 0xef, 0xe7, 0x8b, 0xd9, 0x7a, 0xce, 0xf8, 0xf3, 0x1c, 0x94, 0xb5, 0x51, 0x78,
|
||||||
0xe3, 0x3b, 0x00, 0xa8, 0x49, 0xc6, 0x11, 0xa9, 0x79, 0xb3, 0x2c, 0x20, 0x34, 0xf9, 0xba, 0x8f,
|
0x39, 0x33, 0xbe, 0x03, 0x80, 0x9a, 0x64, 0x1c, 0x91, 0x9a, 0x37, 0x4b, 0x02, 0x42, 0x93, 0xaf,
|
||||||
0x22, 0x47, 0x97, 0x28, 0x29, 0x1f, 0xc5, 0x5b, 0x50, 0xa3, 0xfb, 0x88, 0x74, 0x7f, 0x6d, 0xc1,
|
0xfb, 0x28, 0x72, 0x74, 0x89, 0x92, 0xf2, 0x51, 0xbc, 0x05, 0x55, 0xba, 0x8f, 0x48, 0xf7, 0xd7,
|
||||||
0xac, 0x12, 0x50, 0xb2, 0x6a, 0x3c, 0xc0, 0x8c, 0x48, 0x78, 0x7a, 0x4e, 0xde, 0x4e, 0x42, 0x20,
|
0x16, 0xcc, 0x0a, 0x01, 0x25, 0xab, 0xc6, 0x03, 0xcc, 0x88, 0x84, 0xa7, 0xe7, 0xe4, 0xed, 0x24,
|
||||||
0x3c, 0x3f, 0x87, 0x87, 0x1f, 0x03, 0x6f, 0x78, 0xce, 0x09, 0x83, 0x24, 0xc2, 0x8a, 0x84, 0xf5,
|
0x04, 0xc2, 0xf3, 0x73, 0x78, 0xf8, 0x31, 0xf0, 0x86, 0xe7, 0x9c, 0x30, 0x48, 0x22, 0x2c, 0x4b,
|
||||||
0xe4, 0x51, 0x6c, 0xc9, 0x0f, 0xb5, 0x13, 0xb4, 0x05, 0xb3, 0x4a, 0x40, 0x59, 0xd1, 0x37, 0x14,
|
0x58, 0x4f, 0x1e, 0xc5, 0x96, 0xfc, 0x50, 0x3b, 0x41, 0x5b, 0x30, 0x2b, 0x04, 0x94, 0x15, 0x7d,
|
||||||
0x01, 0x51, 0xf4, 0xca, 0xea, 0x2c, 0x35, 0x24, 0x88, 0x67, 0x77, 0xc6, 0x8c, 0x58, 0x46, 0xc2,
|
0x43, 0x11, 0x10, 0x45, 0xaf, 0xac, 0xcd, 0x52, 0x43, 0x82, 0x78, 0xf6, 0x66, 0xcc, 0x88, 0x25,
|
||||||
0xf8, 0xda, 0x6c, 0xbe, 0x57, 0x9b, 0x13, 0xd9, 0xfb, 0xc0, 0x46, 0xe3, 0xb1, 0x95, 0x62, 0xe0,
|
0x24, 0x8c, 0xaf, 0xcd, 0xe6, 0x7b, 0xb5, 0x39, 0x91, 0xbd, 0x0b, 0x6c, 0x34, 0x1e, 0x5b, 0x29,
|
||||||
0xcb, 0x9b, 0xf3, 0xa3, 0xf1, 0xb8, 0xa7, 0xd9, 0xbf, 0x7e, 0x06, 0xb6, 0xc7, 0x2f, 0x80, 0xb5,
|
0x06, 0xbe, 0xbc, 0xb9, 0x30, 0x1a, 0x8f, 0x7b, 0x9a, 0xfd, 0xeb, 0x67, 0x60, 0x7b, 0xfc, 0x02,
|
||||||
0xc4, 0x02, 0xc6, 0x26, 0x46, 0xaa, 0x58, 0xcc, 0x96, 0x33, 0x3a, 0x5b, 0x4e, 0xe1, 0x7e, 0xd9,
|
0x58, 0x53, 0x2c, 0x60, 0x6c, 0x62, 0xa4, 0x8a, 0xc5, 0x6c, 0x39, 0xa3, 0xb3, 0xe5, 0x14, 0xee,
|
||||||
0x54, 0xee, 0xf7, 0x32, 0x3e, 0x61, 0x6c, 0x43, 0xe5, 0x50, 0xbb, 0xed, 0xec, 0x9e, 0xd8, 0x21,
|
0x97, 0x4d, 0xe5, 0x7e, 0x2f, 0xe3, 0x13, 0xc6, 0x0e, 0x94, 0x0f, 0xb5, 0xdb, 0xce, 0xee, 0x89,
|
||||||
0xd4, 0x3d, 0x67, 0xb4, 0x77, 0x90, 0x4d, 0xd1, 0x97, 0xd7, 0x9b, 0x69, 0xad, 0xc9, 0x6a, 0xad,
|
0x1d, 0x42, 0xdd, 0x73, 0x46, 0x7b, 0x07, 0xd9, 0x14, 0x7d, 0x79, 0xbd, 0x99, 0xd6, 0x9a, 0xac,
|
||||||
0x31, 0xfe, 0x51, 0x86, 0x6e, 0x92, 0x89, 0x1a, 0x1f, 0x5f, 0xb0, 0xa6, 0xdc, 0x6f, 0xf1, 0x41,
|
0xd6, 0x1a, 0xe3, 0x1f, 0x65, 0xe8, 0x26, 0x99, 0xa8, 0xf1, 0xf1, 0x05, 0x6b, 0xca, 0xfd, 0x16,
|
||||||
0xf7, 0x8a, 0x72, 0xbb, 0xc9, 0x33, 0xea, 0xd8, 0x34, 0xcb, 0x3b, 0x39, 0x09, 0xb8, 0x8a, 0xf1,
|
0x1f, 0x74, 0x2f, 0x2b, 0xb7, 0x9b, 0x3c, 0xa3, 0x8e, 0x4d, 0xb3, 0xbc, 0x93, 0x93, 0x80, 0xab,
|
||||||
0xa8, 0x20, 0xec, 0x00, 0x41, 0x4a, 0xf8, 0x16, 0x12, 0xbe, 0x43, 0xe5, 0x07, 0x32, 0xb0, 0x43,
|
0x18, 0x8f, 0x32, 0xc2, 0x0e, 0x10, 0xa4, 0x84, 0x6f, 0x21, 0xe1, 0x3b, 0x54, 0x7e, 0x20, 0x03,
|
||||||
0x08, 0xdf, 0x7b, 0xf6, 0xa5, 0xac, 0x35, 0x10, 0x22, 0x88, 0xf4, 0x0f, 0xa8, 0xb3, 0xb0, 0xd1,
|
0x3b, 0x84, 0xf0, 0xbd, 0x6f, 0x5f, 0xca, 0x5a, 0x03, 0x21, 0x82, 0x48, 0xff, 0x80, 0x3a, 0x0b,
|
||||||
0xb7, 0xf1, 0x0f, 0xe4, 0x59, 0xfc, 0xe9, 0xf1, 0x7d, 0x00, 0xa5, 0xa8, 0xd4, 0xe4, 0x0e, 0xab,
|
0x1b, 0x7d, 0x1b, 0xff, 0x40, 0x9e, 0xc5, 0x9f, 0x1e, 0xdf, 0x87, 0x50, 0x8c, 0x4a, 0x4d, 0xee,
|
||||||
0x30, 0xa3, 0x74, 0xb1, 0x8f, 0xa3, 0x31, 0x24, 0xd1, 0x62, 0x5a, 0x5c, 0xe8, 0xe3, 0xe9, 0x68,
|
0xb0, 0x0a, 0x33, 0x4a, 0x17, 0xfb, 0x38, 0x1a, 0x43, 0x12, 0x2d, 0xa6, 0xc5, 0x85, 0x3e, 0x9e,
|
||||||
0xad, 0xfe, 0x3a, 0xb0, 0x13, 0xc7, 0x9f, 0x46, 0xa6, 0xc5, 0xd6, 0xc0, 0x14, 0x0d, 0xdb, 0x38,
|
0xb6, 0xd6, 0xea, 0xf7, 0x80, 0x9d, 0x38, 0xfe, 0x34, 0x32, 0x2d, 0xb6, 0x3a, 0xa6, 0x68, 0xd8,
|
||||||
0x82, 0x45, 0xc5, 0x25, 0x34, 0x8d, 0x20, 0x39, 0x79, 0x99, 0x57, 0x30, 0xf9, 0xec, 0x0c, 0x93,
|
0xc6, 0x11, 0x2c, 0x29, 0x2e, 0xa1, 0x69, 0x04, 0xc9, 0xc9, 0xcb, 0xbc, 0x82, 0xc9, 0x67, 0x67,
|
||||||
0x37, 0xfe, 0x73, 0x1e, 0x8a, 0xea, 0xe6, 0xc0, 0xb4, 0xdb, 0xee, 0xca, 0xc9, 0xdb, 0xee, 0x9a,
|
0x98, 0xbc, 0xf1, 0x3b, 0x05, 0x98, 0x57, 0x37, 0x07, 0xa6, 0xdd, 0x76, 0x57, 0x4a, 0xde, 0x76,
|
||||||
0x89, 0x9b, 0x91, 0x70, 0xea, 0xe5, 0x7e, 0xff, 0xee, 0xf4, 0x96, 0xad, 0xf9, 0x2a, 0x12, 0xdb,
|
0xd7, 0x48, 0xdc, 0x8c, 0x84, 0x53, 0x2f, 0xf7, 0xfb, 0xfb, 0xd3, 0x5b, 0xb6, 0xe6, 0xab, 0x48,
|
||||||
0xf6, 0x0a, 0xe4, 0xc7, 0x76, 0x78, 0x86, 0x76, 0x49, 0x22, 0x1e, 0xfc, 0x56, 0x3e, 0x8c, 0x42,
|
0x6c, 0xdb, 0xab, 0x90, 0x1f, 0xdb, 0xe1, 0x19, 0xda, 0x25, 0x89, 0x78, 0xf0, 0x5b, 0xf9, 0x30,
|
||||||
0xd2, 0x87, 0x91, 0x76, 0x33, 0x20, 0x89, 0xa4, 0x33, 0x37, 0x03, 0xde, 0x02, 0x92, 0x2f, 0xb4,
|
0x0a, 0x49, 0x1f, 0x46, 0xda, 0xcd, 0x80, 0x24, 0x92, 0xce, 0xdc, 0x0c, 0x78, 0x0b, 0x48, 0xbe,
|
||||||
0xa0, 0xb7, 0x12, 0x02, 0xc4, 0x5e, 0x94, 0x14, 0x47, 0x4a, 0xd3, 0xe2, 0xc8, 0x6b, 0x8b, 0x0a,
|
0xd0, 0x82, 0xde, 0x8a, 0x08, 0x10, 0x7b, 0x51, 0x52, 0x1c, 0x29, 0x4e, 0x8b, 0x23, 0xaf, 0x2d,
|
||||||
0xdf, 0x82, 0x39, 0xba, 0x55, 0x43, 0x9e, 0xf9, 0x55, 0x1b, 0x8a, 0x1c, 0x43, 0xf5, 0x9f, 0x4e,
|
0x2a, 0x7c, 0x0b, 0xe6, 0xe8, 0x56, 0x0d, 0x79, 0xe6, 0x57, 0x6d, 0x28, 0x72, 0x0c, 0xd5, 0x7f,
|
||||||
0x42, 0x98, 0x12, 0x57, 0xbf, 0x66, 0xab, 0x92, 0xb8, 0x66, 0x4b, 0xf7, 0xad, 0x54, 0x93, 0xbe,
|
0x3a, 0x09, 0x61, 0x4a, 0x5c, 0xfd, 0x9a, 0xad, 0x72, 0xe2, 0x9a, 0x2d, 0xdd, 0xb7, 0x52, 0x49,
|
||||||
0x95, 0xfb, 0xd0, 0x88, 0x06, 0x14, 0x2d, 0x95, 0x6e, 0x20, 0x4f, 0x14, 0xd6, 0x15, 0x5c, 0x70,
|
0xfa, 0x56, 0x1e, 0x40, 0x3d, 0x1a, 0x50, 0xb4, 0x54, 0xba, 0x81, 0x3c, 0x51, 0x58, 0x53, 0x70,
|
||||||
0xc9, 0xfd, 0x20, 0xde, 0x10, 0xeb, 0x89, 0x0d, 0x51, 0xf0, 0xb0, 0x56, 0x18, 0xf2, 0xd1, 0x38,
|
0xc1, 0x25, 0x3b, 0x41, 0xbc, 0x21, 0xd6, 0x12, 0x1b, 0xa2, 0xe0, 0x61, 0xcd, 0x30, 0xe4, 0xa3,
|
||||||
0x54, 0x1b, 0xa2, 0x76, 0x19, 0x23, 0x51, 0xc4, 0x3c, 0x52, 0x84, 0x9a, 0x76, 0xb5, 0xe4, 0x6b,
|
0x71, 0xa8, 0x36, 0x44, 0xed, 0x32, 0x46, 0xa2, 0x88, 0x05, 0xa4, 0x08, 0x35, 0xed, 0x44, 0x35,
|
||||||
0x89, 0x5e, 0x88, 0x6d, 0x48, 0x1e, 0xfb, 0xa5, 0xf8, 0x93, 0xce, 0xbe, 0xb5, 0xbd, 0xdb, 0x79,
|
0x9b, 0x50, 0x3b, 0xb1, 0x9d, 0xe1, 0xc4, 0xe7, 0x96, 0xcf, 0xed, 0xc0, 0x73, 0x91, 0x29, 0xc4,
|
||||||
0xba, 0xd3, 0x6b, 0x64, 0xc4, 0x67, 0xf7, 0x68, 0x73, 0xb3, 0xdd, 0xde, 0xc2, 0x6d, 0x09, 0x60,
|
0x7b, 0xb3, 0xec, 0xe2, 0x0e, 0xe1, 0x98, 0x88, 0x62, 0x56, 0x4f, 0xf4, 0x4f, 0x3c, 0xdc, 0xa4,
|
||||||
0x6e, 0xbb, 0xd5, 0x11, 0x5b, 0x54, 0xce, 0xf8, 0xed, 0x2c, 0x54, 0xb4, 0x36, 0xb0, 0x27, 0xd1,
|
0x8f, 0x84, 0xd8, 0xca, 0xe4, 0xd1, 0x61, 0x8a, 0x61, 0x69, 0x77, 0xac, 0x9d, 0xbd, 0xf6, 0xb3,
|
||||||
0xd0, 0xd1, 0x75, 0x4d, 0x77, 0x66, 0xdb, 0xb9, 0xae, 0xf8, 0xb5, 0x36, 0x76, 0xd1, 0x65, 0x89,
|
0xdd, 0x5e, 0x3d, 0x23, 0x3e, 0xbb, 0x47, 0x5b, 0x5b, 0xad, 0xd6, 0x36, 0x6e, 0x6d, 0x00, 0x73,
|
||||||
0xd9, 0x6b, 0x2f, 0x4b, 0x64, 0xef, 0xc0, 0xbc, 0x4d, 0x25, 0x44, 0x43, 0x25, 0x4d, 0xf5, 0x12,
|
0x3b, 0xcd, 0xb6, 0xd8, 0xe6, 0x72, 0xc6, 0x6f, 0x67, 0xa1, 0xac, 0xf5, 0x83, 0x3d, 0x8d, 0x86,
|
||||||
0x2c, 0x47, 0x0a, 0xe3, 0x41, 0xe3, 0x4d, 0x47, 0xe0, 0xe5, 0x55, 0x08, 0x66, 0xb4, 0xef, 0xe0,
|
0x9f, 0xae, 0x7c, 0xba, 0x33, 0xdb, 0xd7, 0x0d, 0xc5, 0xf3, 0xb5, 0xf1, 0x8f, 0x2e, 0x5c, 0xcc,
|
||||||
0x88, 0x16, 0x4f, 0x6c, 0x67, 0x38, 0xf1, 0xb9, 0x74, 0xad, 0x47, 0xdb, 0x37, 0x41, 0x4d, 0x95,
|
0x5e, 0x7b, 0xe1, 0x22, 0x7b, 0x07, 0x16, 0x6c, 0x2a, 0x21, 0x1a, 0x6e, 0x69, 0xee, 0x97, 0x60,
|
||||||
0x6c, 0x7c, 0x08, 0x10, 0xb7, 0x39, 0x39, 0x38, 0x37, 0x92, 0x83, 0x93, 0xd1, 0x06, 0x27, 0x6b,
|
0x39, 0xda, 0x18, 0x53, 0x1a, 0x6f, 0x5c, 0x02, 0x2f, 0xaf, 0xc2, 0x38, 0xa3, 0xbd, 0x0b, 0x67,
|
||||||
0xfc, 0x33, 0xc9, 0x6c, 0xe4, 0x48, 0x47, 0xc6, 0xb9, 0x6f, 0x80, 0x32, 0x17, 0x5a, 0x18, 0x96,
|
0x65, 0x5e, 0x8e, 0x89, 0x74, 0xcf, 0x47, 0x22, 0x80, 0x1c, 0x29, 0x95, 0x6c, 0x7c, 0x00, 0x10,
|
||||||
0x3d, 0x1e, 0xf2, 0x50, 0xdd, 0x2e, 0xb0, 0x20, 0x53, 0x3a, 0x51, 0xc2, 0x0c, 0x73, 0xcc, 0xce,
|
0xb7, 0x39, 0x39, 0x38, 0x37, 0x92, 0x83, 0x93, 0xd1, 0x06, 0x27, 0x6b, 0xfc, 0x33, 0xc9, 0xb0,
|
||||||
0x32, 0xc7, 0x37, 0xa1, 0x2a, 0x18, 0xa3, 0x9c, 0xe2, 0x40, 0x32, 0x98, 0xca, 0xc8, 0xbe, 0x54,
|
0xe4, 0x48, 0x47, 0x06, 0xbe, 0x6f, 0x80, 0x32, 0x39, 0x5a, 0x18, 0xda, 0x3d, 0x1e, 0xf2, 0x50,
|
||||||
0x75, 0x27, 0xb8, 0x62, 0x7e, 0x8a, 0x2b, 0xfe, 0x4e, 0x86, 0x2e, 0xfb, 0x88, 0x1b, 0x1a, 0xb3,
|
0xdd, 0x50, 0xb0, 0x28, 0x53, 0xda, 0x51, 0xc2, 0x0c, 0x83, 0xcd, 0xce, 0x32, 0xd8, 0x37, 0xa1,
|
||||||
0xc5, 0xa8, 0xcc, 0x24, 0x5b, 0x94, 0xa8, 0x66, 0x94, 0x7e, 0x0d, 0xab, 0xcb, 0xa6, 0xb3, 0xba,
|
0x22, 0x98, 0xab, 0x24, 0x93, 0x40, 0x32, 0xa9, 0xf2, 0xc8, 0xbe, 0x54, 0x75, 0x27, 0x38, 0x6b,
|
||||||
0x74, 0x26, 0x9a, 0x4b, 0x65, 0xa2, 0xc6, 0x1a, 0x34, 0xb7, 0xb8, 0x18, 0x8a, 0xd6, 0x70, 0x38,
|
0x7e, 0x8a, 0xb3, 0xfe, 0x4e, 0x86, 0x2e, 0x0c, 0x89, 0x1b, 0x1a, 0xb3, 0xd6, 0xa8, 0xcc, 0x24,
|
||||||
0x35, 0x96, 0xc6, 0x2d, 0xb8, 0x99, 0x92, 0x26, 0xed, 0x2c, 0x9f, 0xc2, 0x72, 0x8b, 0x6e, 0x41,
|
0x6b, 0x95, 0xa8, 0x66, 0x94, 0x7e, 0x0d, 0xbb, 0xcc, 0xa6, 0xb3, 0xcb, 0x74, 0x46, 0x9c, 0x4b,
|
||||||
0xf8, 0x59, 0x1d, 0x77, 0x34, 0x9a, 0xb0, 0x32, 0x5d, 0xa4, 0xac, 0x6c, 0x1b, 0x16, 0xb6, 0xf8,
|
0x65, 0xc4, 0xc6, 0x3a, 0x34, 0xb6, 0xb9, 0x18, 0x8a, 0xe6, 0x70, 0x38, 0x35, 0x96, 0xc6, 0x2d,
|
||||||
0xf1, 0xe4, 0x74, 0x97, 0x9f, 0xc7, 0x15, 0x31, 0xc8, 0x07, 0x67, 0xde, 0x85, 0x9c, 0x5c, 0xfc,
|
0xb8, 0x99, 0x92, 0x26, 0x6d, 0x35, 0x9f, 0xc0, 0x4a, 0x93, 0x6e, 0x52, 0xf8, 0x59, 0x1d, 0x99,
|
||||||
0x8d, 0x81, 0x94, 0x02, 0xc7, 0x0a, 0xc6, 0xbc, 0xaf, 0x6c, 0xed, 0x08, 0xe9, 0x8e, 0x79, 0xdf,
|
0x34, 0x1a, 0xb0, 0x3a, 0x5d, 0xa4, 0xac, 0x6c, 0x07, 0x16, 0xb7, 0xf9, 0xf1, 0xe4, 0x74, 0x8f,
|
||||||
0x78, 0x02, 0x4c, 0x2f, 0x47, 0xce, 0x84, 0x50, 0x84, 0x26, 0xc7, 0x56, 0x70, 0x15, 0x84, 0x7c,
|
0x9f, 0xc7, 0x15, 0x31, 0xc8, 0x07, 0x67, 0xde, 0x85, 0x9c, 0x5c, 0xfc, 0x8d, 0xc1, 0x98, 0x02,
|
||||||
0xa4, 0x8e, 0xf9, 0x41, 0x30, 0x39, 0xee, 0x12, 0xc4, 0x78, 0x17, 0xaa, 0x87, 0xf6, 0x95, 0xc9,
|
0xc7, 0x0a, 0xc6, 0xbc, 0xaf, 0xec, 0xf5, 0x08, 0xe9, 0x8e, 0x79, 0xdf, 0x78, 0x0a, 0x4c, 0x2f,
|
||||||
0xbf, 0x90, 0xa7, 0xe9, 0x56, 0xa1, 0x38, 0xb6, 0xaf, 0x04, 0xa7, 0x8b, 0xdc, 0x6e, 0x98, 0x6c,
|
0x47, 0xce, 0x84, 0x50, 0xa6, 0x26, 0xc7, 0x56, 0x70, 0x15, 0x84, 0x7c, 0xa4, 0x8e, 0x0a, 0x42,
|
||||||
0xfc, 0x41, 0x1e, 0xe6, 0x08, 0x93, 0xdd, 0xa3, 0xeb, 0x86, 0x1d, 0x17, 0x39, 0x8d, 0xda, 0x0b,
|
0x30, 0x39, 0xee, 0x12, 0xc4, 0xb8, 0x0f, 0x95, 0x43, 0xfb, 0xca, 0xe4, 0x5f, 0xc8, 0x13, 0x79,
|
||||||
0x34, 0xd0, 0xcc, 0x76, 0x91, 0x9d, 0xdd, 0x2e, 0xa4, 0x8d, 0x50, 0x5d, 0xb3, 0xa4, 0x1c, 0x24,
|
0x6b, 0x30, 0x3f, 0xb6, 0xaf, 0x04, 0xb7, 0x8c, 0x5c, 0x77, 0x98, 0x6c, 0xfc, 0x41, 0x1e, 0xe6,
|
||||||
0xee, 0x64, 0xa4, 0xee, 0x56, 0x4a, 0x5e, 0x05, 0x90, 0x8f, 0xaf, 0x93, 0xa6, 0x73, 0xd2, 0x49,
|
0x08, 0x93, 0xdd, 0xa3, 0x2b, 0x8b, 0x1d, 0x17, 0xb9, 0x95, 0xda, 0x4f, 0x34, 0xd0, 0xcc, 0x96,
|
||||||
0x17, 0x76, 0xac, 0x6e, 0x51, 0xeb, 0xd4, 0x2e, 0x28, 0x77, 0x04, 0x1d, 0x94, 0xaa, 0xd3, 0x15,
|
0x93, 0x9d, 0xdd, 0x72, 0xa4, 0x9d, 0x51, 0x5d, 0xd5, 0xa4, 0x9c, 0x2c, 0xee, 0x64, 0xa4, 0xee,
|
||||||
0xd5, 0x11, 0xd1, 0xa4, 0x4e, 0x37, 0xa3, 0xbb, 0x95, 0x5e, 0xad, 0xbb, 0x91, 0xf1, 0xf0, 0x25,
|
0x67, 0x4a, 0x5e, 0x27, 0x90, 0x8f, 0xaf, 0xa4, 0xa6, 0xb3, 0xd6, 0x49, 0x37, 0x78, 0xac, 0xb2,
|
||||||
0xba, 0x1b, 0xbc, 0x86, 0xee, 0xf6, 0x1a, 0xee, 0xe3, 0x9b, 0x50, 0x42, 0xd1, 0x46, 0xdb, 0x20,
|
0x51, 0xeb, 0xd4, 0x4e, 0x2a, 0x77, 0x15, 0x1d, 0x94, 0xaa, 0x17, 0xce, 0xab, 0x63, 0xa6, 0x49,
|
||||||
0x84, 0x48, 0x23, 0x36, 0x88, 0x8f, 0x34, 0xed, 0x86, 0x62, 0x57, 0x6e, 0xc5, 0x0b, 0xd0, 0xe4,
|
0xbd, 0x70, 0x46, 0xff, 0x2b, 0xbe, 0x5a, 0xff, 0x23, 0x03, 0xe4, 0x4b, 0xf4, 0x3f, 0x78, 0x0d,
|
||||||
0x5f, 0xfc, 0x7c, 0xdc, 0x72, 0xcf, 0xa1, 0x28, 0xa1, 0x82, 0xa0, 0x5d, 0x7b, 0xa4, 0x6e, 0xaa,
|
0xfd, 0xef, 0x35, 0x5c, 0xd0, 0x37, 0xa1, 0x88, 0xe2, 0x91, 0xb6, 0xc9, 0x08, 0xb1, 0x48, 0x6c,
|
||||||
0xc3, 0xdf, 0x62, 0xd8, 0xf0, 0x7a, 0xad, 0x2f, 0x26, 0x8e, 0xcf, 0x07, 0xea, 0x0a, 0x22, 0x07,
|
0x32, 0x1f, 0x6a, 0x1a, 0x12, 0xc5, 0xbf, 0x68, 0x5c, 0xde, 0xe4, 0x5f, 0xfc, 0x7c, 0x5c, 0x7b,
|
||||||
0xd7, 0xa8, 0x80, 0x88, 0x0e, 0x0a, 0x4d, 0xcb, 0xf5, 0x2e, 0x5c, 0xc9, 0x7b, 0x8a, 0x4e, 0xf0,
|
0x9f, 0xc3, 0xbc, 0x84, 0x0a, 0x82, 0x76, 0xed, 0x91, 0xba, 0xed, 0x0e, 0x7f, 0x8b, 0x61, 0xc3,
|
||||||
0x4c, 0x7c, 0x1a, 0x0c, 0x1a, 0x78, 0x57, 0xe5, 0xd8, 0xf3, 0xd5, 0xfe, 0x6b, 0xfc, 0x61, 0x06,
|
0x2b, 0xba, 0xbe, 0x98, 0x38, 0x3e, 0x1f, 0xa8, 0x6b, 0x8c, 0x1c, 0x5c, 0xa3, 0x02, 0x22, 0x3a,
|
||||||
0x1a, 0x72, 0x75, 0x45, 0x69, 0xba, 0xa2, 0x53, 0xb8, 0x2e, 0xd4, 0xe2, 0xe5, 0x17, 0x0a, 0x19,
|
0x28, 0xb4, 0x35, 0xd7, 0xbb, 0x70, 0x25, 0xef, 0x99, 0x77, 0x82, 0xe7, 0xe2, 0xd3, 0x60, 0x50,
|
||||||
0x50, 0x43, 0xfb, 0x4e, 0xb4, 0x19, 0x93, 0x7d, 0xaa, 0x22, 0x80, 0xdb, 0x72, 0x43, 0x7e, 0x03,
|
0xc7, 0xfb, 0x2e, 0xc7, 0x9e, 0xaf, 0xf6, 0x70, 0xe3, 0x0f, 0x33, 0x50, 0x97, 0xab, 0x2b, 0x4a,
|
||||||
0x2a, 0x2a, 0xcc, 0x7b, 0xe4, 0x0c, 0xd5, 0xcd, 0xf1, 0x14, 0xe7, 0xbd, 0xe7, 0x0c, 0xd5, 0x5e,
|
0xd3, 0x95, 0xa5, 0xc2, 0x75, 0xe1, 0x1a, 0x2f, 0xbf, 0x94, 0xc8, 0x80, 0x2a, 0xda, 0x88, 0xa2,
|
||||||
0xee, 0xdb, 0xf2, 0xc8, 0x72, 0x06, 0xf7, 0x72, 0xd3, 0x0e, 0xb9, 0xf1, 0xaf, 0x32, 0xb0, 0xa0,
|
0x0d, 0x9d, 0x6c, 0x5c, 0x65, 0x01, 0xdc, 0x91, 0x9b, 0xfa, 0x1b, 0x50, 0x56, 0xa1, 0xe2, 0x23,
|
||||||
0x75, 0x45, 0xae, 0xdb, 0x8f, 0xa1, 0x1a, 0x5d, 0x12, 0xcb, 0x23, 0xe1, 0x72, 0x35, 0xc9, 0x68,
|
0x67, 0xa8, 0x6e, 0x9f, 0xa7, 0x58, 0xf1, 0x7d, 0x67, 0xa8, 0xe4, 0x01, 0xdf, 0x96, 0xc7, 0x9e,
|
||||||
0xe2, 0x6c, 0x95, 0x7e, 0x04, 0x09, 0x44, 0x63, 0x06, 0xf6, 0x15, 0xc5, 0x22, 0x4f, 0x46, 0x4a,
|
0x33, 0x28, 0x0f, 0x98, 0x76, 0xc8, 0x8d, 0x7f, 0x95, 0x81, 0x45, 0xad, 0x2b, 0x72, 0xdd, 0x7e,
|
||||||
0x7f, 0x1b, 0xd8, 0x57, 0xdb, 0x9c, 0x77, 0x27, 0x23, 0xa1, 0x9d, 0x5f, 0x70, 0xfe, 0x22, 0x42,
|
0x04, 0x95, 0xe8, 0xa2, 0x59, 0x1e, 0x09, 0xa8, 0x6b, 0x49, 0x46, 0x13, 0x67, 0x2b, 0xf7, 0x23,
|
||||||
0x20, 0xf6, 0x09, 0x02, 0x26, 0x31, 0x0c, 0xa8, 0x8d, 0x3c, 0x37, 0x3c, 0x8b, 0x50, 0xa4, 0x60,
|
0x48, 0x20, 0x1a, 0x33, 0xb0, 0xaf, 0x28, 0x9e, 0x79, 0x32, 0x52, 0x3a, 0xe0, 0xc0, 0xbe, 0xda,
|
||||||
0x8d, 0x40, 0xc2, 0x31, 0xfe, 0x34, 0x0b, 0x8b, 0x64, 0x45, 0x94, 0xd6, 0x5b, 0xc9, 0xba, 0x9a,
|
0xe1, 0xbc, 0x3b, 0x19, 0x09, 0x0d, 0xff, 0x82, 0xf3, 0x17, 0x11, 0x02, 0xb1, 0x4f, 0x10, 0x30,
|
||||||
0x30, 0x47, 0x06, 0x55, 0x62, 0x5e, 0x3b, 0x37, 0x4c, 0xf9, 0xcd, 0xbe, 0xf5, 0x9a, 0x96, 0x4f,
|
0x89, 0x61, 0x40, 0x75, 0xe4, 0xb9, 0xe1, 0x59, 0x84, 0x22, 0x85, 0x73, 0x04, 0x12, 0x8e, 0xf1,
|
||||||
0x75, 0x2a, 0xfa, 0x9a, 0xe1, 0xcf, 0xcd, 0x0e, 0xff, 0xf5, 0xc3, 0x9b, 0xe6, 0xcb, 0x2d, 0xa4,
|
0xa7, 0x59, 0x58, 0x22, 0x4b, 0xa4, 0xb4, 0x00, 0x4b, 0xd6, 0xd5, 0x80, 0x39, 0x32, 0xca, 0x12,
|
||||||
0xf9, 0x72, 0x5f, 0xc7, 0x83, 0x3a, 0x73, 0x7e, 0xb7, 0x28, 0x71, 0xb4, 0xf3, 0xbb, 0x4f, 0x60,
|
0xf3, 0xda, 0xbd, 0x61, 0xca, 0x6f, 0xf6, 0xad, 0xd7, 0xb4, 0x9e, 0xaa, 0x93, 0xd5, 0xd7, 0x0c,
|
||||||
0x35, 0x81, 0x83, 0xdc, 0xda, 0x39, 0x71, 0xb8, 0xba, 0x42, 0x66, 0x49, 0xc3, 0xee, 0xaa, 0xb4,
|
0x7f, 0x6e, 0x76, 0xf8, 0xaf, 0x1f, 0xde, 0x34, 0x7f, 0x70, 0x21, 0xcd, 0x1f, 0xfc, 0x3a, 0x5e,
|
||||||
0x8d, 0x22, 0x14, 0x82, 0xbe, 0x37, 0xe6, 0xc6, 0x0a, 0x2c, 0x25, 0x47, 0x55, 0x6e, 0x13, 0xbf,
|
0xd8, 0x99, 0x33, 0xc0, 0xf3, 0x12, 0x47, 0x3b, 0x03, 0xfc, 0x14, 0xd6, 0x12, 0x38, 0xc8, 0xad,
|
||||||
0x9b, 0x81, 0xa6, 0x8c, 0xbc, 0x71, 0xdc, 0xd3, 0x1d, 0x27, 0x08, 0x3d, 0x3f, 0xba, 0x4c, 0xf5,
|
0x9d, 0x13, 0x87, 0xab, 0x6b, 0x68, 0x96, 0x35, 0xec, 0xae, 0x4a, 0xdb, 0x9c, 0x87, 0x42, 0xd0,
|
||||||
0x0e, 0x40, 0x10, 0xda, 0xbe, 0x54, 0xa8, 0xe5, 0xa5, 0x29, 0x08, 0x41, 0x65, 0xf9, 0x26, 0x94,
|
0xf7, 0xc6, 0xdc, 0x58, 0x85, 0xe5, 0xe4, 0xa8, 0xca, 0x6d, 0xe2, 0x77, 0x33, 0xd0, 0x90, 0xd1,
|
||||||
0xb8, 0x3b, 0xa0, 0x44, 0xa2, 0x86, 0x22, 0x77, 0x07, 0x4a, 0xd5, 0x9e, 0xd9, 0x4a, 0x6b, 0x49,
|
0x3b, 0x8e, 0x7b, 0xba, 0xeb, 0x04, 0xa1, 0xe7, 0x47, 0x17, 0xb2, 0xde, 0x01, 0x08, 0x42, 0xdb,
|
||||||
0x21, 0x41, 0xde, 0x61, 0x20, 0x46, 0x87, 0x9f, 0xe3, 0x96, 0x9e, 0x8f, 0xee, 0x30, 0xd8, 0xb3,
|
0x97, 0x4a, 0xb9, 0xbc, 0x78, 0x05, 0x21, 0xa8, 0x70, 0xdf, 0x84, 0x22, 0x77, 0x07, 0x94, 0x48,
|
||||||
0x2f, 0x31, 0x8e, 0x35, 0x30, 0xfe, 0x6e, 0x16, 0xe6, 0xe3, 0xf6, 0xd1, 0x05, 0x28, 0x2f, 0xbf,
|
0xd4, 0x30, 0xcf, 0xdd, 0x81, 0x52, 0xd7, 0x67, 0xb6, 0xd2, 0x6a, 0x52, 0x48, 0x90, 0xf7, 0x20,
|
||||||
0xca, 0xe5, 0x9e, 0x24, 0x07, 0x47, 0xa8, 0x28, 0x9a, 0x6d, 0xb5, 0x44, 0x8b, 0xb3, 0xe3, 0x32,
|
0x88, 0xd1, 0xe1, 0xe7, 0xb8, 0xa5, 0xe7, 0xa3, 0x7b, 0x10, 0xf6, 0xed, 0x4b, 0x8c, 0x85, 0x0d,
|
||||||
0x03, 0x2a, 0x0a, 0xc3, 0x9b, 0x84, 0xda, 0x9d, 0x86, 0x65, 0x42, 0x39, 0x98, 0x84, 0x42, 0xa7,
|
0x8c, 0xbf, 0x9b, 0x85, 0x85, 0xb8, 0x7d, 0x74, 0x89, 0xca, 0xcb, 0xaf, 0x83, 0xb9, 0x27, 0xc9,
|
||||||
0x14, 0xca, 0xb5, 0xe3, 0x4a, 0xad, 0xae, 0x60, 0x8f, 0xc2, 0x0e, 0x3e, 0x95, 0x20, 0xc0, 0x22,
|
0xc1, 0x11, 0x6a, 0x8e, 0x66, 0x9f, 0x2d, 0xd2, 0xe2, 0x6c, 0xbb, 0xcc, 0x80, 0xb2, 0xc2, 0xf0,
|
||||||
0x1b, 0x4d, 0xa4, 0xc0, 0x12, 0xf8, 0x0d, 0x52, 0x25, 0x68, 0xe6, 0x50, 0x8d, 0xd0, 0xe5, 0x6c,
|
0x26, 0xa1, 0x76, 0x2f, 0x62, 0x89, 0x50, 0x0e, 0x26, 0xa1, 0xd0, 0x4b, 0x85, 0x82, 0xee, 0xb8,
|
||||||
0xba, 0x35, 0x3a, 0x92, 0xb3, 0xdf, 0x80, 0x0a, 0x15, 0x1e, 0x1f, 0xd7, 0xce, 0x9b, 0x65, 0xac,
|
0x52, 0x33, 0x2c, 0xd8, 0xa3, 0xb0, 0x8d, 0xcf, 0x2d, 0x08, 0xb0, 0xc8, 0x46, 0x13, 0x29, 0xb0,
|
||||||
0x01, 0xd3, 0xa5, 0x9d, 0xcb, 0x9b, 0x24, 0xb4, 0x7b, 0xa0, 0xaa, 0x30, 0xb0, 0xe5, 0x6f, 0x66,
|
0x04, 0x7e, 0x9d, 0xd4, 0x11, 0x9a, 0x39, 0x54, 0x45, 0x74, 0x59, 0x9d, 0x6e, 0x9e, 0x8e, 0x64,
|
||||||
0xe0, 0x66, 0xca, 0xb4, 0xc9, 0x55, 0xbe, 0x09, 0x0b, 0x27, 0x51, 0xa2, 0x1a, 0x5d, 0x5a, 0xea,
|
0xf5, 0x37, 0xa0, 0x4c, 0x85, 0xc7, 0x47, 0xbe, 0xf3, 0x66, 0x09, 0x6b, 0xc0, 0x74, 0x69, 0x2b,
|
||||||
0x2b, 0x8a, 0xad, 0x26, 0xc7, 0xd4, 0x6c, 0x9c, 0x24, 0x01, 0xb1, 0x5e, 0x49, 0x33, 0x98, 0xb8,
|
0xf3, 0x26, 0x09, 0x0b, 0x01, 0x50, 0x55, 0x18, 0x1c, 0xf3, 0x37, 0x33, 0x70, 0x33, 0x65, 0xda,
|
||||||
0x0c, 0x00, 0x45, 0x22, 0x9a, 0x46, 0x92, 0xdf, 0x0f, 0x61, 0xad, 0x7d, 0x29, 0x38, 0xc6, 0xa6,
|
0xe4, 0x2a, 0xdf, 0x82, 0xc5, 0x93, 0x28, 0x51, 0x8d, 0x2e, 0x2d, 0xf5, 0x55, 0xc5, 0x56, 0x93,
|
||||||
0xfe, 0xd6, 0x87, 0x22, 0xa3, 0xa4, 0x0d, 0x3d, 0xf3, 0x5a, 0x36, 0xf4, 0x01, 0x9d, 0x1e, 0x8e,
|
0x63, 0x6a, 0xd6, 0x4f, 0x92, 0x80, 0x58, 0x37, 0xa5, 0x19, 0x4c, 0x5c, 0x28, 0x80, 0x22, 0x11,
|
||||||
0xca, 0xfa, 0x49, 0x0a, 0xc1, 0x0d, 0x54, 0xe4, 0xa1, 0xb7, 0x4a, 0xd4, 0xad, 0x00, 0xfd, 0xe8,
|
0x4d, 0x23, 0xa9, 0x85, 0x87, 0xb0, 0xde, 0xba, 0x14, 0x1c, 0x63, 0x4b, 0x7f, 0x2f, 0x44, 0x91,
|
||||||
0x8d, 0x12, 0x23, 0x80, 0xf9, 0xbd, 0xc9, 0x30, 0x74, 0xe2, 0x67, 0x4b, 0xd8, 0xb7, 0x64, 0x1e,
|
0x51, 0xd2, 0x0e, 0x9f, 0x79, 0x2d, 0x3b, 0xfc, 0x80, 0x4e, 0x20, 0x47, 0x65, 0xfd, 0x24, 0x85,
|
||||||
0xac, 0x47, 0x8d, 0x5a, 0x6a, 0x45, 0x10, 0x55, 0x84, 0x83, 0x35, 0x12, 0x05, 0x59, 0xb3, 0xf5,
|
0xe0, 0x06, 0x2a, 0xf2, 0xd0, 0x7b, 0x27, 0xea, 0x66, 0x81, 0x7e, 0xf4, 0xce, 0x89, 0x11, 0xc0,
|
||||||
0xcd, 0x8f, 0x92, 0x35, 0x18, 0x37, 0x61, 0x35, 0xfe, 0xa2, 0x61, 0x53, 0x5b, 0xcd, 0x3f, 0xcc,
|
0xc2, 0xfe, 0x64, 0x18, 0x3a, 0xf1, 0xd3, 0x27, 0xec, 0x5b, 0x32, 0x0f, 0xd6, 0xa3, 0x46, 0x2d,
|
||||||
0x50, 0xd0, 0x7c, 0xf2, 0x09, 0x15, 0xd6, 0x86, 0xc5, 0xc0, 0x71, 0x4f, 0x87, 0x5c, 0x2f, 0x3e,
|
0xb5, 0x22, 0x88, 0x2a, 0xc2, 0xc1, 0x1a, 0x89, 0x82, 0xac, 0xd9, 0xfa, 0x16, 0x46, 0xc9, 0x1a,
|
||||||
0x90, 0x83, 0xb0, 0x9c, 0x6c, 0x9b, 0x7c, 0x66, 0xc5, 0x5c, 0xa0, 0x1c, 0x71, 0x69, 0x01, 0xdb,
|
0x8c, 0x9b, 0xb0, 0x16, 0x7f, 0xd1, 0xb0, 0xa9, 0xad, 0xe6, 0x1f, 0x66, 0x28, 0xf0, 0x3e, 0xf9,
|
||||||
0xb8, 0xae, 0x91, 0x31, 0x59, 0x4c, 0x8d, 0xc6, 0x6c, 0xe3, 0x3b, 0x50, 0x4f, 0x56, 0xc4, 0x3e,
|
0x0c, 0x0b, 0x6b, 0xc1, 0x52, 0xe0, 0xb8, 0xa7, 0x43, 0xae, 0x17, 0x1f, 0xc8, 0x41, 0x58, 0x49,
|
||||||
0x92, 0x87, 0xee, 0xe3, 0x56, 0xe5, 0xa6, 0x4e, 0x24, 0xc7, 0x04, 0x51, 0x89, 0xc7, 0x3e, 0x30,
|
0xb6, 0x4d, 0x3e, 0xd5, 0x62, 0x2e, 0x52, 0x8e, 0xb8, 0xb4, 0x80, 0x6d, 0x5e, 0xd7, 0xc8, 0x98,
|
||||||
0xfe, 0x76, 0x06, 0x9a, 0x26, 0x17, 0x94, 0xab, 0xb5, 0x52, 0xd1, 0xcc, 0xc7, 0x33, 0xa5, 0x5e,
|
0x2c, 0xa6, 0x46, 0x63, 0xb6, 0xf1, 0x6d, 0xa8, 0x25, 0x2b, 0x62, 0x1f, 0xca, 0x83, 0xfb, 0x71,
|
||||||
0xdf, 0x57, 0x75, 0x96, 0x5f, 0xb5, 0xe8, 0xeb, 0xd7, 0x4e, 0xc6, 0xce, 0x8d, 0x99, 0x1e, 0x6d,
|
0xab, 0x72, 0x53, 0xa7, 0x9a, 0x63, 0x82, 0x28, 0xc7, 0x63, 0x1f, 0x18, 0x7f, 0x3b, 0x03, 0x0d,
|
||||||
0x94, 0x60, 0x8e, 0x50, 0x8c, 0x55, 0x58, 0x96, 0xed, 0x51, 0x6d, 0x89, 0x1d, 0xa4, 0x89, 0x1a,
|
0x93, 0x0b, 0xca, 0xd5, 0x5a, 0xa9, 0x68, 0xe6, 0xa3, 0x99, 0x52, 0xaf, 0xef, 0xab, 0xba, 0x0f,
|
||||||
0x13, 0x0e, 0xd2, 0x35, 0x68, 0xd2, 0xe9, 0x5a, 0xbd, 0x13, 0x32, 0xe3, 0x16, 0xb0, 0x3d, 0xbb,
|
0x40, 0xb5, 0xe8, 0xbd, 0x6b, 0x27, 0x63, 0xf7, 0xc6, 0x4c, 0x8f, 0x36, 0x8b, 0x30, 0x47, 0x28,
|
||||||
0x6f, 0xfb, 0x9e, 0xe7, 0x1e, 0x72, 0x5f, 0x86, 0x20, 0xa3, 0x84, 0x89, 0xfe, 0x43, 0x25, 0x0a,
|
0xc6, 0x1a, 0xac, 0xc8, 0xf6, 0xa8, 0xb6, 0xc4, 0x4e, 0xd6, 0x44, 0x8d, 0x09, 0x27, 0xeb, 0x3a,
|
||||||
0xd3, 0x97, 0xba, 0xc9, 0xd5, 0x73, 0x55, 0xc4, 0x15, 0x7d, 0x19, 0x26, 0x2c, 0x6e, 0xd8, 0x2f,
|
0x34, 0xe8, 0x84, 0xae, 0xde, 0x09, 0x99, 0x71, 0x1b, 0xd8, 0xbe, 0xdd, 0xb7, 0x7d, 0xcf, 0x73,
|
||||||
0xb8, 0x2a, 0x49, 0x0d, 0xd1, 0x27, 0x50, 0x19, 0x47, 0x85, 0xaa, 0x71, 0x57, 0x97, 0x82, 0xcc,
|
0x0f, 0xb9, 0x2f, 0xc3, 0x98, 0x51, 0xc2, 0x44, 0x1f, 0xa4, 0x12, 0x85, 0xe9, 0x4b, 0xdd, 0x06,
|
||||||
0x56, 0x6b, 0xea, 0xd8, 0xc6, 0x63, 0x58, 0x4a, 0x96, 0x29, 0x59, 0xc7, 0x1a, 0x94, 0x46, 0x12,
|
0xeb, 0xb9, 0x2a, 0x6a, 0x8b, 0xbe, 0x0c, 0x13, 0x96, 0x36, 0xed, 0x17, 0x5c, 0x95, 0xa4, 0x86,
|
||||||
0x26, 0x5b, 0x17, 0x7d, 0x1b, 0xbf, 0x55, 0x82, 0xa2, 0xd4, 0x46, 0xd9, 0x3a, 0xe4, 0xfb, 0x2a,
|
0xe8, 0x63, 0x28, 0x8f, 0xa3, 0x42, 0xd5, 0xb8, 0xab, 0x8b, 0x45, 0x66, 0xab, 0x35, 0x75, 0x6c,
|
||||||
0xea, 0x2d, 0xbe, 0x6b, 0x4a, 0xa6, 0xaa, 0xff, 0x9b, 0x18, 0xfb, 0x26, 0xf0, 0xd8, 0x27, 0x50,
|
0xe3, 0x09, 0x2c, 0x27, 0xcb, 0x94, 0xac, 0x63, 0x1d, 0x8a, 0x23, 0x09, 0x93, 0xad, 0x8b, 0xbe,
|
||||||
0x4f, 0x3a, 0x7e, 0xa7, 0xce, 0xee, 0x27, 0x3d, 0xb6, 0xb5, 0xfe, 0x94, 0x8b, 0xaf, 0x1c, 0x6f,
|
0x8d, 0xdf, 0x2a, 0xc2, 0xbc, 0xd4, 0x46, 0xd9, 0x06, 0xe4, 0xfb, 0x2a, 0x72, 0x2e, 0xbe, 0xaf,
|
||||||
0x8e, 0x24, 0x33, 0x94, 0xce, 0xb4, 0xdd, 0xd3, 0x73, 0x85, 0xbc, 0x1d, 0x9c, 0xd9, 0xd6, 0xe3,
|
0x4a, 0xa6, 0xaa, 0xff, 0x5b, 0x18, 0x3f, 0x27, 0xf0, 0xd8, 0xc7, 0x50, 0x4b, 0x3a, 0x8f, 0xa7,
|
||||||
0x27, 0x1f, 0xca, 0xc3, 0xfb, 0x15, 0x04, 0x76, 0xcf, 0xec, 0xc7, 0x4f, 0x3e, 0x9c, 0x96, 0xa4,
|
0xce, 0xff, 0x27, 0xbd, 0xbe, 0xd5, 0xfe, 0x94, 0x9b, 0xb0, 0x14, 0x6f, 0x8e, 0x24, 0x33, 0x14,
|
||||||
0xe5, 0xd1, 0x7d, 0x4d, 0x92, 0x5e, 0x82, 0x02, 0x5d, 0x59, 0x4a, 0xe1, 0x4b, 0xf4, 0xc1, 0x1e,
|
0xcf, 0xb4, 0xdd, 0xd3, 0x73, 0x85, 0xbc, 0x1d, 0x9c, 0xd9, 0xd6, 0x93, 0xa7, 0x1f, 0xc8, 0x0b,
|
||||||
0xc1, 0x92, 0x54, 0xba, 0x2d, 0x19, 0x68, 0x4e, 0x5c, 0xb0, 0x44, 0x67, 0xfb, 0x64, 0x5a, 0x17,
|
0x00, 0xca, 0x08, 0xec, 0x9e, 0xd9, 0x4f, 0x9e, 0x7e, 0x30, 0x2d, 0x49, 0xcb, 0xe3, 0xff, 0x9a,
|
||||||
0x93, 0xc8, 0xfc, 0xb5, 0x02, 0x73, 0x67, 0xf1, 0xfd, 0xb3, 0x35, 0x53, 0x7e, 0x19, 0x7f, 0x5a,
|
0x24, 0xbd, 0x0c, 0x05, 0xba, 0xf6, 0x94, 0x42, 0xa0, 0xe8, 0x83, 0x3d, 0x86, 0x65, 0x65, 0xda,
|
||||||
0x80, 0x8a, 0x36, 0x28, 0xac, 0x0a, 0x25, 0xb3, 0xdd, 0x6d, 0x9b, 0x9f, 0xb5, 0xb7, 0x1a, 0x37,
|
0x90, 0xc1, 0xea, 0xc4, 0x05, 0x8b, 0x74, 0x3e, 0x50, 0xa6, 0x75, 0x31, 0x89, 0x8c, 0x21, 0xab,
|
||||||
0xd8, 0x7d, 0x78, 0xbb, 0xb3, 0xbf, 0x79, 0x60, 0x9a, 0xed, 0xcd, 0x9e, 0x75, 0x60, 0x5a, 0xea,
|
0x30, 0x77, 0x16, 0xdf, 0x61, 0x5b, 0x35, 0xe5, 0x97, 0xf1, 0xa7, 0x05, 0x28, 0x6b, 0x83, 0xc2,
|
||||||
0xc6, 0xb3, 0xc3, 0xd6, 0xf3, 0xbd, 0xf6, 0x7e, 0xcf, 0xda, 0x6a, 0xf7, 0x5a, 0x9d, 0xdd, 0x6e,
|
0x2a, 0x50, 0x34, 0x5b, 0xdd, 0x96, 0xf9, 0x69, 0x6b, 0xbb, 0x7e, 0x83, 0x3d, 0x80, 0xb7, 0xdb,
|
||||||
0x23, 0xc3, 0x6e, 0x43, 0x33, 0xc6, 0x54, 0xc9, 0xad, 0xbd, 0x83, 0xa3, 0xfd, 0x5e, 0x23, 0xcb,
|
0x9d, 0xad, 0x03, 0xd3, 0x6c, 0x6d, 0xf5, 0xac, 0x03, 0xd3, 0x52, 0xb7, 0xa6, 0x1d, 0x36, 0x3f,
|
||||||
0xee, 0xc2, 0xad, 0xed, 0xce, 0x7e, 0x6b, 0xd7, 0x8a, 0x71, 0x36, 0x77, 0x7b, 0x9f, 0x59, 0xed,
|
0xdf, 0x6f, 0x75, 0x7a, 0xd6, 0x76, 0xab, 0xd7, 0x6c, 0xef, 0x75, 0xeb, 0x19, 0x76, 0x1b, 0x1a,
|
||||||
0x5f, 0x3a, 0xec, 0x98, 0xcf, 0x1b, 0xb9, 0x34, 0x84, 0x9d, 0xde, 0xee, 0xa6, 0x2a, 0x21, 0xcf,
|
0x31, 0xa6, 0x4a, 0x6e, 0xee, 0x1f, 0x1c, 0x75, 0x7a, 0xf5, 0x2c, 0xbb, 0x0b, 0xb7, 0x76, 0xda,
|
||||||
0x6e, 0xc2, 0x32, 0x21, 0x50, 0x16, 0xab, 0x77, 0x70, 0x60, 0x75, 0x0f, 0x0e, 0xf6, 0x1b, 0x05,
|
0x9d, 0xe6, 0x9e, 0x15, 0xe3, 0x6c, 0xed, 0xf5, 0x3e, 0xb5, 0x5a, 0xbf, 0x74, 0xd8, 0x36, 0x3f,
|
||||||
0xb6, 0x00, 0xb5, 0xce, 0xfe, 0x67, 0xad, 0xdd, 0xce, 0x96, 0x65, 0xb6, 0x5b, 0xbb, 0x7b, 0x8d,
|
0xaf, 0xe7, 0xd2, 0x10, 0x76, 0x7b, 0x7b, 0x5b, 0xaa, 0x84, 0x3c, 0xbb, 0x09, 0x2b, 0x84, 0x40,
|
||||||
0x39, 0xb6, 0x08, 0xf3, 0xd3, 0x78, 0x45, 0x51, 0x84, 0xc2, 0x3b, 0xd8, 0xef, 0x1c, 0xec, 0x5b,
|
0x59, 0xac, 0xde, 0xc1, 0x81, 0xd5, 0x3d, 0x38, 0xe8, 0xd4, 0x0b, 0x6c, 0x11, 0xaa, 0xed, 0xce,
|
||||||
0x9f, 0xb5, 0xcd, 0x6e, 0xe7, 0x60, 0xbf, 0x51, 0x62, 0x2b, 0xc0, 0x92, 0x49, 0x3b, 0x7b, 0xad,
|
0xa7, 0xcd, 0xbd, 0xf6, 0xb6, 0x65, 0xb6, 0x9a, 0x7b, 0xfb, 0xf5, 0x39, 0xb6, 0x04, 0x0b, 0xd3,
|
||||||
0xcd, 0x46, 0x99, 0x2d, 0xc3, 0x42, 0x12, 0xfe, 0xac, 0xfd, 0xbc, 0x01, 0xac, 0x09, 0x4b, 0xd4,
|
0x78, 0xf3, 0xa2, 0x08, 0x85, 0x77, 0xd0, 0x69, 0x1f, 0x74, 0xac, 0x4f, 0x5b, 0x66, 0xb7, 0x7d,
|
||||||
0x30, 0x6b, 0xa3, 0xbd, 0x7b, 0xf0, 0xb9, 0xb5, 0xd7, 0xd9, 0xef, 0xec, 0x1d, 0xed, 0x35, 0x2a,
|
0xd0, 0xa9, 0x17, 0xd9, 0x2a, 0xb0, 0x64, 0xd2, 0xee, 0x7e, 0x73, 0xab, 0x5e, 0x62, 0x2b, 0xb0,
|
||||||
0x78, 0x91, 0x62, 0xbb, 0x6d, 0x75, 0xf6, 0xbb, 0x47, 0xdb, 0xdb, 0x9d, 0xcd, 0x4e, 0x7b, 0xbf,
|
0x98, 0x84, 0x3f, 0x6f, 0x7d, 0x5e, 0x07, 0xd6, 0x80, 0x65, 0x6a, 0x98, 0xb5, 0xd9, 0xda, 0x3b,
|
||||||
0xd7, 0xa8, 0x52, 0xcd, 0x69, 0x1d, 0xaf, 0x89, 0x0c, 0xf2, 0x34, 0x8a, 0xb5, 0xd5, 0xe9, 0xb6,
|
0xf8, 0xcc, 0xda, 0x6f, 0x77, 0xda, 0xfb, 0x47, 0xfb, 0xf5, 0x32, 0x5e, 0xc6, 0xd8, 0x6a, 0x59,
|
||||||
0x36, 0x76, 0xdb, 0x5b, 0x8d, 0x3a, 0xbb, 0x03, 0x37, 0x7b, 0xed, 0xbd, 0xc3, 0x03, 0xb3, 0x65,
|
0xed, 0x4e, 0xf7, 0x68, 0x67, 0xa7, 0xbd, 0xd5, 0x6e, 0x75, 0x7a, 0xf5, 0x0a, 0xd5, 0x9c, 0xd6,
|
||||||
0x3e, 0x57, 0xa7, 0x55, 0xac, 0xed, 0x56, 0x67, 0xf7, 0xc8, 0x6c, 0x37, 0xe6, 0xd9, 0x9b, 0x70,
|
0xf1, 0xaa, 0xc8, 0x20, 0x4f, 0xb4, 0x58, 0xdb, 0xed, 0x6e, 0x73, 0x73, 0xaf, 0xb5, 0x5d, 0xaf,
|
||||||
0xc7, 0x6c, 0x7f, 0x7a, 0xd4, 0x31, 0xdb, 0x5b, 0xd6, 0xfe, 0xc1, 0x56, 0xdb, 0xda, 0x6e, 0xb7,
|
0xb1, 0x3b, 0x70, 0xb3, 0xd7, 0xda, 0x3f, 0x3c, 0x30, 0x9b, 0xe6, 0xe7, 0xea, 0xc4, 0x8b, 0xb5,
|
||||||
0x7a, 0x47, 0x66, 0xdb, 0xda, 0xeb, 0x74, 0xbb, 0x9d, 0xfd, 0xa7, 0x8d, 0x06, 0x7b, 0x1b, 0xee,
|
0xd3, 0x6c, 0xef, 0x1d, 0x99, 0xad, 0xfa, 0x02, 0x7b, 0x13, 0xee, 0x98, 0xad, 0x4f, 0x8e, 0xda,
|
||||||
0x45, 0x28, 0x51, 0x01, 0x53, 0x58, 0x0b, 0xa2, 0x7f, 0x6a, 0x4a, 0xf7, 0xdb, 0xbf, 0xd4, 0xb3,
|
0x66, 0x6b, 0xdb, 0xea, 0x1c, 0x6c, 0xb7, 0xac, 0x9d, 0x56, 0xb3, 0x77, 0x64, 0xb6, 0xac, 0xfd,
|
||||||
0x0e, 0xdb, 0x6d, 0xb3, 0xc1, 0xd8, 0x1a, 0xac, 0xc4, 0xd5, 0x53, 0x05, 0xb2, 0xee, 0x45, 0x91,
|
0x76, 0xb7, 0xdb, 0xee, 0x3c, 0xab, 0xd7, 0xd9, 0xdb, 0x70, 0x2f, 0x42, 0x89, 0x0a, 0x98, 0xc2,
|
||||||
0x76, 0xd8, 0x36, 0xf7, 0x5a, 0xfb, 0x62, 0x82, 0x13, 0x69, 0x4b, 0xa2, 0xd9, 0x71, 0xda, 0x74,
|
0x5a, 0x14, 0xfd, 0x53, 0x53, 0xda, 0x69, 0xfd, 0x52, 0xcf, 0x3a, 0x6c, 0xb5, 0xcc, 0x3a, 0x63,
|
||||||
0xb3, 0x97, 0x19, 0x83, 0xba, 0x36, 0x2b, 0xdb, 0x2d, 0xb3, 0xb1, 0xc2, 0xe6, 0xa1, 0xb2, 0x77,
|
0xeb, 0xb0, 0x1a, 0x57, 0x4f, 0x15, 0xc8, 0xba, 0x97, 0x44, 0xda, 0x61, 0xcb, 0xdc, 0x6f, 0x76,
|
||||||
0x78, 0x68, 0xf5, 0x3a, 0x7b, 0xed, 0x83, 0xa3, 0x5e, 0x63, 0x95, 0x2d, 0x43, 0xa3, 0xb3, 0xdf,
|
0xc4, 0x04, 0x27, 0xd2, 0x96, 0x45, 0xb3, 0xe3, 0xb4, 0xe9, 0x66, 0xaf, 0x30, 0x06, 0x35, 0x6d,
|
||||||
0x6b, 0x9b, 0x62, 0xae, 0x55, 0xd6, 0xff, 0x51, 0x64, 0x4b, 0x30, 0xaf, 0x5a, 0xaa, 0xa0, 0x7f,
|
0x56, 0x76, 0x9a, 0x66, 0x7d, 0x95, 0x2d, 0x40, 0x79, 0xff, 0xf0, 0xd0, 0xea, 0xb5, 0xf7, 0x5b,
|
||||||
0x51, 0x64, 0xab, 0xc0, 0x8e, 0xf6, 0xcd, 0x76, 0x6b, 0x4b, 0x0c, 0x5c, 0x94, 0xf0, 0x3f, 0x8b,
|
0x07, 0x47, 0xbd, 0xfa, 0x1a, 0x5b, 0x81, 0x7a, 0xbb, 0xd3, 0x6b, 0x99, 0x62, 0xae, 0x55, 0xd6,
|
||||||
0xd2, 0x09, 0xf4, 0x87, 0xb9, 0x68, 0xb3, 0x8e, 0xa3, 0x2a, 0x92, 0xb7, 0x91, 0x57, 0xb5, 0x5b,
|
0xff, 0x31, 0xcf, 0x96, 0x61, 0x41, 0xb5, 0x54, 0x41, 0xff, 0x62, 0x9e, 0xad, 0x01, 0x3b, 0xea,
|
||||||
0xc4, 0x5f, 0xf5, 0x4e, 0x88, 0xa6, 0x5a, 0xe5, 0x66, 0x54, 0xab, 0x19, 0xdd, 0xbd, 0xa6, 0xcb,
|
0x98, 0xad, 0xe6, 0xb6, 0x18, 0xb8, 0x28, 0xe1, 0x7f, 0xce, 0x4b, 0x47, 0xd2, 0x1f, 0xe6, 0xa2,
|
||||||
0x7e, 0x6f, 0x41, 0x6d, 0x44, 0x37, 0x93, 0xcb, 0x1b, 0x88, 0x41, 0x86, 0x18, 0x11, 0x90, 0xae,
|
0xcd, 0x3a, 0x8e, 0xcc, 0x48, 0xde, 0x68, 0x5e, 0xd1, 0x6e, 0x22, 0x7f, 0xd5, 0x5b, 0x23, 0x9a,
|
||||||
0x1f, 0x9e, 0x79, 0x28, 0xa3, 0x30, 0xfb, 0x50, 0x46, 0x9a, 0x7c, 0x3f, 0x97, 0x26, 0xdf, 0x3f,
|
0x6a, 0x95, 0x9b, 0x51, 0xad, 0x66, 0x74, 0xf7, 0xaa, 0x2e, 0xfb, 0xbd, 0x05, 0xd5, 0x11, 0xdd,
|
||||||
0x80, 0x05, 0x62, 0x4d, 0x8e, 0xeb, 0x8c, 0x94, 0xd6, 0x4c, 0x52, 0xe0, 0x3c, 0xb2, 0x28, 0x82,
|
0x6e, 0x2e, 0x6f, 0x31, 0x06, 0x19, 0xa6, 0x44, 0x40, 0xba, 0xc2, 0x78, 0xe6, 0xb1, 0x8d, 0xc2,
|
||||||
0x2b, 0x75, 0x42, 0xa9, 0x1c, 0x92, 0x85, 0x14, 0xa5, 0xb6, 0x91, 0xd0, 0x34, 0x88, 0x73, 0x44,
|
0xec, 0x63, 0x1b, 0x69, 0xf2, 0xfd, 0x5c, 0x9a, 0x7c, 0xff, 0x10, 0x16, 0x89, 0x35, 0x39, 0xae,
|
||||||
0x9a, 0x46, 0x54, 0x83, 0x7d, 0x19, 0xd7, 0x50, 0xd1, 0x6a, 0x20, 0x38, 0xd6, 0xf0, 0x00, 0x16,
|
0x33, 0x52, 0x5a, 0x33, 0x49, 0x81, 0x0b, 0xc8, 0xa2, 0x08, 0xae, 0xd4, 0x09, 0xa5, 0x72, 0x48,
|
||||||
0xf8, 0x65, 0xe8, 0xdb, 0x96, 0x37, 0xb6, 0xbf, 0x98, 0xa0, 0x97, 0xda, 0x46, 0x1d, 0xbe, 0x6a,
|
0x16, 0x32, 0x2f, 0xb5, 0x8d, 0x84, 0xa6, 0x41, 0x9c, 0x23, 0xd2, 0x34, 0xa2, 0x1a, 0xec, 0xcb,
|
||||||
0xce, 0x63, 0xc2, 0x01, 0xc2, 0xb7, 0xec, 0xd0, 0x7e, 0xf0, 0x25, 0x54, 0xb4, 0x5b, 0xeb, 0xd9,
|
0xb8, 0x86, 0xb2, 0x56, 0x03, 0xc1, 0xb1, 0x86, 0x87, 0xb0, 0xc8, 0x2f, 0x43, 0xdf, 0xb6, 0xbc,
|
||||||
0x2a, 0x2c, 0x7e, 0xde, 0xe9, 0xed, 0xb7, 0xbb, 0x5d, 0xeb, 0xf0, 0x68, 0xe3, 0x59, 0xfb, 0xb9,
|
0xb1, 0xfd, 0xc5, 0x04, 0x3d, 0xdd, 0x36, 0xea, 0xf0, 0x15, 0x73, 0x01, 0x13, 0x0e, 0x10, 0xbe,
|
||||||
0xb5, 0xd3, 0xea, 0xee, 0x34, 0x6e, 0x88, 0x45, 0xbb, 0xdf, 0xee, 0xf6, 0xda, 0x5b, 0x09, 0x78,
|
0x6d, 0x87, 0xf6, 0xc3, 0x2f, 0xa1, 0xac, 0xdd, 0x7c, 0xcf, 0xd6, 0x60, 0xe9, 0xb3, 0x76, 0xaf,
|
||||||
0x86, 0xbd, 0x01, 0x6b, 0x47, 0xfb, 0x47, 0xdd, 0xf6, 0x96, 0x95, 0x96, 0x2f, 0x2b, 0xa8, 0x54,
|
0xd3, 0xea, 0x76, 0xad, 0xc3, 0xa3, 0xcd, 0xe7, 0xad, 0xcf, 0xad, 0xdd, 0x66, 0x77, 0xb7, 0x7e,
|
||||||
0xa6, 0xa7, 0x64, 0xcf, 0x3d, 0xf8, 0x35, 0xa8, 0x27, 0x0f, 0x6e, 0x33, 0x80, 0xb9, 0xdd, 0xf6,
|
0x43, 0x2c, 0xda, 0x4e, 0xab, 0xdb, 0x6b, 0x6d, 0x27, 0xe0, 0x19, 0xf6, 0x06, 0xac, 0x1f, 0x75,
|
||||||
0xd3, 0xd6, 0xe6, 0x73, 0xba, 0x6a, 0xb5, 0xdb, 0x6b, 0xf5, 0x3a, 0x9b, 0x96, 0xbc, 0x5a, 0x55,
|
0x8e, 0xba, 0xad, 0x6d, 0x2b, 0x2d, 0x5f, 0x56, 0x50, 0xa9, 0x4c, 0x4f, 0xc9, 0x9e, 0x7b, 0xf8,
|
||||||
0x70, 0x84, 0x0c, 0xab, 0x40, 0xb1, 0xb5, 0xbf, 0xb9, 0x73, 0x60, 0x76, 0x1b, 0x59, 0x76, 0x1b,
|
0x6b, 0x50, 0x4b, 0x1e, 0xfe, 0x66, 0x00, 0x73, 0x7b, 0xad, 0x67, 0xcd, 0xad, 0xcf, 0xe9, 0xba,
|
||||||
0x56, 0x15, 0xad, 0x6e, 0x1e, 0xec, 0xed, 0x75, 0x7a, 0xc8, 0x0c, 0x7b, 0xcf, 0x0f, 0x05, 0x69,
|
0xd6, 0x6e, 0xaf, 0xd9, 0x6b, 0x6f, 0x59, 0xf2, 0x7a, 0x56, 0xc1, 0x11, 0x32, 0xac, 0x0c, 0xf3,
|
||||||
0x3e, 0xb0, 0xa1, 0x1c, 0xdf, 0x0d, 0x8b, 0x0c, 0xa6, 0xd3, 0xeb, 0xb4, 0x7a, 0x31, 0x77, 0x6d,
|
0xcd, 0xce, 0xd6, 0xee, 0x81, 0xd9, 0xad, 0x67, 0xd9, 0x6d, 0x58, 0x53, 0xb4, 0xba, 0x75, 0xb0,
|
||||||
0xdc, 0x10, 0xfc, 0x2b, 0x06, 0xe3, 0xd5, 0xae, 0x8d, 0x0c, 0x9d, 0x6d, 0x53, 0x40, 0xaa, 0xbd,
|
0xbf, 0xdf, 0xee, 0x21, 0x33, 0xec, 0x7d, 0x7e, 0x28, 0x48, 0xf3, 0xa1, 0x0d, 0xa5, 0xf8, 0x7e,
|
||||||
0x91, 0x15, 0x8b, 0x2a, 0x86, 0x6e, 0x1c, 0xf4, 0x44, 0x17, 0xbe, 0x03, 0xf5, 0x64, 0x04, 0x63,
|
0x59, 0x64, 0x30, 0xed, 0x5e, 0xbb, 0xd9, 0x8b, 0xb9, 0x6b, 0xfd, 0x86, 0xe0, 0x5f, 0x31, 0x18,
|
||||||
0xd2, 0x6c, 0xbd, 0x06, 0x2b, 0x1b, 0xed, 0xde, 0xe7, 0xed, 0xf6, 0x3e, 0x8e, 0xce, 0x66, 0x7b,
|
0xaf, 0x87, 0xad, 0x67, 0xe8, 0x7c, 0x9c, 0x02, 0x52, 0xed, 0xf5, 0xac, 0x58, 0x54, 0x31, 0x74,
|
||||||
0xbf, 0x67, 0xb6, 0x76, 0x3b, 0xbd, 0xe7, 0x8d, 0xcc, 0x83, 0x4f, 0xa0, 0x31, 0xed, 0x2e, 0x4c,
|
0xf3, 0xa0, 0x27, 0xba, 0xf0, 0x1d, 0xa8, 0x25, 0xa3, 0x20, 0x93, 0x66, 0xeb, 0x75, 0x58, 0xdd,
|
||||||
0xf8, 0x57, 0x5f, 0xe6, 0x88, 0x7d, 0xf0, 0x4f, 0x73, 0x00, 0xf1, 0x31, 0x1a, 0xc1, 0x26, 0xb7,
|
0x6c, 0xf5, 0x3e, 0x6b, 0xb5, 0x3a, 0x38, 0x3a, 0x5b, 0xad, 0x4e, 0xcf, 0x6c, 0xee, 0xb5, 0x7b,
|
||||||
0x5a, 0xbd, 0xd6, 0xee, 0x81, 0x98, 0x02, 0xf3, 0xa0, 0x27, 0xb8, 0x9f, 0xd9, 0xfe, 0xb4, 0x71,
|
0x9f, 0xd7, 0x33, 0x0f, 0x3f, 0x86, 0xfa, 0xb4, 0xcb, 0x31, 0xe1, 0xa3, 0x7d, 0x99, 0x33, 0xf7,
|
||||||
0x23, 0x35, 0xe5, 0xe0, 0xb0, 0xd7, 0xc8, 0x88, 0xd9, 0xa6, 0xee, 0xec, 0x5a, 0xe6, 0xc1, 0x51,
|
0xe1, 0x7f, 0xce, 0xc0, 0x72, 0x9a, 0x55, 0x5d, 0xcc, 0xa1, 0x5c, 0x9c, 0x82, 0x45, 0x77, 0x0f,
|
||||||
0x67, 0xff, 0x29, 0x5d, 0x9d, 0x89, 0x3b, 0xc4, 0xd1, 0xe1, 0xb6, 0x79, 0xb0, 0xdf, 0xb3, 0xba,
|
0x3a, 0x56, 0xe7, 0x00, 0xef, 0x83, 0x5c, 0x87, 0xd5, 0xa9, 0x04, 0xc5, 0x09, 0x32, 0xec, 0x16,
|
||||||
0x3b, 0x47, 0xbd, 0x2d, 0xbc, 0x78, 0x73, 0xd3, 0xec, 0x1c, 0x52, 0x99, 0xf9, 0x97, 0x21, 0x88,
|
0xac, 0xcd, 0x64, 0xb2, 0xcc, 0x83, 0x23, 0xec, 0x76, 0x03, 0x96, 0xa7, 0x12, 0x5b, 0xa6, 0x79,
|
||||||
0xa2, 0x0b, 0x82, 0x5e, 0x9e, 0x1e, 0x74, 0xbb, 0x9d, 0x43, 0xeb, 0xd3, 0xa3, 0xb6, 0xd9, 0x69,
|
0x60, 0xd6, 0x73, 0xec, 0x3d, 0x78, 0x30, 0x95, 0x32, 0xbb, 0x31, 0xa9, 0x7d, 0x2b, 0xcf, 0xee,
|
||||||
0x77, 0x31, 0xe3, 0x5c, 0x0a, 0x5c, 0xe0, 0x17, 0xc5, 0xbe, 0xd2, 0xdb, 0xfd, 0x4c, 0x32, 0x7e,
|
0xc3, 0x5b, 0x33, 0xd8, 0x31, 0xef, 0xb6, 0x36, 0x9b, 0x7b, 0xa2, 0x7b, 0xf5, 0xc2, 0xc3, 0x7f,
|
||||||
0x81, 0x5a, 0x4a, 0x82, 0x04, 0x56, 0x59, 0x0c, 0xa6, 0xe0, 0x9c, 0x29, 0x25, 0xc3, 0x35, 0x69,
|
0x9a, 0x03, 0x88, 0x8f, 0x19, 0x89, 0xfa, 0xb7, 0x9b, 0xbd, 0xe6, 0xde, 0x81, 0x20, 0x2f, 0xf3,
|
||||||
0x22, 0x5f, 0x45, 0xec, 0x09, 0x33, 0x84, 0x84, 0xd9, 0xaa, 0xe9, 0x49, 0x22, 0x17, 0x6e, 0x17,
|
0xa0, 0x27, 0x4a, 0x37, 0x5b, 0x9f, 0xd4, 0x6f, 0xa4, 0xa6, 0x1c, 0x1c, 0x8a, 0x0e, 0xad, 0xc1,
|
||||||
0xd1, 0xe6, 0xba, 0xb5, 0x65, 0x62, 0x86, 0xfa, 0x0c, 0x54, 0xe0, 0xce, 0x8b, 0x89, 0x12, 0xac,
|
0x12, 0x4d, 0xd5, 0x9e, 0xe8, 0x46, 0xbb, 0xf3, 0x8c, 0xae, 0x16, 0xc5, 0xdd, 0xef, 0xe8, 0x70,
|
||||||
0x55, 0xa0, 0x34, 0xd4, 0x87, 0x48, 0x59, 0x78, 0xfc, 0x9b, 0x39, 0xa8, 0xd3, 0x91, 0x46, 0x7a,
|
0xc7, 0x3c, 0xe8, 0xf4, 0xac, 0xee, 0xee, 0x51, 0x6f, 0x1b, 0x2f, 0x26, 0xdd, 0x32, 0xdb, 0x87,
|
||||||
0xf0, 0x90, 0xfb, 0x6c, 0x0f, 0x8a, 0xf2, 0xe5, 0x4c, 0xb6, 0x1c, 0xdd, 0x6a, 0xa8, 0xbf, 0xd5,
|
0x54, 0x66, 0xfe, 0x65, 0x08, 0xa2, 0xe8, 0x82, 0x58, 0x0b, 0xcf, 0x0e, 0xba, 0xdd, 0xf6, 0xa1,
|
||||||
0xb9, 0xb6, 0x32, 0x0d, 0x96, 0xa2, 0xe4, 0xe2, 0x5f, 0xf9, 0x93, 0xff, 0xfe, 0x77, 0xb2, 0x35,
|
0xf5, 0xc9, 0x51, 0xcb, 0x6c, 0xb7, 0xba, 0x98, 0x71, 0x2e, 0x05, 0x2e, 0xf0, 0xe7, 0xc5, 0x9e,
|
||||||
0x56, 0x79, 0x78, 0xfe, 0xc1, 0xc3, 0x53, 0xee, 0x06, 0xa2, 0x8c, 0x5f, 0x01, 0x88, 0xdf, 0x83,
|
0xd9, 0xdb, 0xfb, 0x54, 0x6e, 0x6a, 0x02, 0xb5, 0x98, 0x04, 0x09, 0xac, 0x92, 0x98, 0x1d, 0xb1,
|
||||||
0x64, 0x4d, 0xed, 0x1a, 0x85, 0xc4, 0x4b, 0x90, 0x6b, 0x37, 0x53, 0x52, 0x64, 0xb9, 0x37, 0xb1,
|
0x2b, 0xa4, 0x94, 0x0c, 0xd7, 0xa4, 0x89, 0x7c, 0x65, 0xb1, 0xdf, 0xcd, 0x2c, 0x12, 0xcc, 0x56,
|
||||||
0xdc, 0x45, 0xa3, 0x2e, 0xca, 0x75, 0x5c, 0x27, 0xa4, 0xb7, 0x21, 0x3f, 0xce, 0x3c, 0x60, 0x03,
|
0x49, 0x4f, 0x12, 0xb9, 0x70, 0x2b, 0x8c, 0x04, 0x87, 0xed, 0x6d, 0x13, 0x33, 0xd4, 0x66, 0xa0,
|
||||||
0xa8, 0xea, 0x2f, 0x35, 0x32, 0x25, 0xe5, 0xa5, 0xbc, 0x35, 0xb9, 0x76, 0x2b, 0x35, 0x4d, 0xc9,
|
0x02, 0x77, 0x41, 0x10, 0xa1, 0xd8, 0x36, 0x04, 0x4a, 0x5d, 0x7d, 0x88, 0x94, 0xc5, 0x27, 0xbf,
|
||||||
0xcf, 0x58, 0xc7, 0xb2, 0xd1, 0x10, 0x75, 0x4c, 0x10, 0x23, 0xae, 0x65, 0x48, 0x1a, 0x45, 0xfc,
|
0x99, 0x83, 0x1a, 0x1d, 0xf9, 0xa4, 0x07, 0x21, 0xb9, 0xcf, 0xf6, 0x61, 0x5e, 0xbe, 0x2c, 0xca,
|
||||||
0x20, 0x23, 0xbb, 0xad, 0xc9, 0x84, 0x33, 0xcf, 0x41, 0xae, 0xdd, 0xb9, 0x26, 0x55, 0xd6, 0x75,
|
0x56, 0xa2, 0x5b, 0x1f, 0xf5, 0xb7, 0x4c, 0xd7, 0x57, 0xa7, 0xc1, 0x52, 0x4c, 0x5e, 0xfa, 0x2b,
|
||||||
0x07, 0xeb, 0x5a, 0x35, 0x98, 0xa8, 0xab, 0x8f, 0x38, 0xea, 0x39, 0xc8, 0x8f, 0x33, 0x0f, 0x1e,
|
0x7f, 0xf2, 0xdf, 0xff, 0x4e, 0xb6, 0xca, 0xca, 0x8f, 0xce, 0xdf, 0x7f, 0x74, 0xca, 0xdd, 0x40,
|
||||||
0xff, 0xfb, 0xf7, 0xa0, 0x1c, 0x85, 0x38, 0xb3, 0x5f, 0x87, 0x5a, 0xe2, 0xcc, 0x29, 0x53, 0xdd,
|
0x94, 0xf1, 0x2b, 0x00, 0xf1, 0x7b, 0x99, 0xac, 0xa1, 0x5d, 0x33, 0x91, 0x78, 0x29, 0x73, 0xfd,
|
||||||
0x48, 0x3b, 0xa2, 0xba, 0x76, 0x3b, 0x3d, 0x51, 0x56, 0xfc, 0x06, 0x56, 0xdc, 0x64, 0x2b, 0xa2,
|
0x66, 0x4a, 0x8a, 0x2c, 0xf7, 0x26, 0x96, 0xbb, 0x64, 0xd4, 0x44, 0xb9, 0x8e, 0xeb, 0x84, 0xf4,
|
||||||
0x62, 0x79, 0xa6, 0xf3, 0x21, 0x9e, 0x11, 0xa7, 0x3b, 0x22, 0x5f, 0x68, 0x9a, 0x13, 0x55, 0x76,
|
0x76, 0xe6, 0x47, 0x99, 0x87, 0x6c, 0x00, 0x15, 0xfd, 0x25, 0x4b, 0xa6, 0x24, 0xd8, 0x94, 0xb7,
|
||||||
0x7b, 0x5a, 0x9b, 0x49, 0xd4, 0x76, 0xe7, 0x9a, 0x54, 0x59, 0xdd, 0x6d, 0xac, 0x6e, 0x85, 0x2d,
|
0x38, 0xd7, 0x6f, 0xa5, 0xa6, 0x29, 0xdd, 0x00, 0xeb, 0x58, 0x31, 0xea, 0xa2, 0x8e, 0x09, 0x62,
|
||||||
0xe9, 0xd5, 0xa9, 0xc8, 0x58, 0xc6, 0xf1, 0x5e, 0x56, 0xfd, 0xbd, 0x42, 0x76, 0x27, 0xbe, 0x45,
|
0xc4, 0xb5, 0x0c, 0x49, 0x5b, 0x8a, 0x1f, 0xac, 0x64, 0xb7, 0x35, 0x79, 0x77, 0xe6, 0xb9, 0xcc,
|
||||||
0x33, 0xe5, 0x1d, 0xc3, 0x88, 0x44, 0x66, 0x1f, 0x33, 0x34, 0x9a, 0x58, 0x15, 0x63, 0x38, 0x7d,
|
0xf5, 0x3b, 0xd7, 0xa4, 0xca, 0xba, 0xee, 0x60, 0x5d, 0x6b, 0x06, 0x13, 0x75, 0xf5, 0x11, 0x47,
|
||||||
0xfa, 0x73, 0x85, 0xec, 0x18, 0x2a, 0xda, 0x13, 0x3f, 0xec, 0xe6, 0xb5, 0xcf, 0x11, 0xad, 0xad,
|
0x3d, 0x97, 0xf9, 0x51, 0xe6, 0xe1, 0x93, 0x7f, 0xff, 0x75, 0x28, 0x45, 0x21, 0xe0, 0xec, 0xd7,
|
||||||
0xa5, 0x25, 0xa5, 0x75, 0x45, 0x2f, 0xff, 0xe1, 0x09, 0xe7, 0xec, 0x97, 0xa1, 0x1c, 0x3d, 0x1c,
|
0xa1, 0x9a, 0x38, 0x93, 0xcb, 0x54, 0x37, 0xd2, 0x8e, 0xf0, 0xae, 0xdf, 0x4e, 0x4f, 0x94, 0x15,
|
||||||
0xc3, 0x56, 0xb5, 0x87, 0x7c, 0xf4, 0x87, 0x6e, 0xd6, 0x9a, 0xb3, 0x09, 0x69, 0xc4, 0xa7, 0x97,
|
0xbf, 0x81, 0x15, 0x37, 0xd8, 0xaa, 0xa8, 0x58, 0x9e, 0x79, 0x7d, 0x84, 0x67, 0xe8, 0xe9, 0x0e,
|
||||||
0x2e, 0x88, 0xef, 0x73, 0xa8, 0x68, 0x8f, 0xc3, 0x44, 0x1d, 0x98, 0x7d, 0x80, 0x26, 0xea, 0x40,
|
0xcd, 0x17, 0x9a, 0x56, 0x48, 0x95, 0xdd, 0x9e, 0xd6, 0xd4, 0x12, 0xb5, 0xdd, 0xb9, 0x26, 0x55,
|
||||||
0xca, 0x5b, 0x32, 0xc6, 0x02, 0x56, 0x51, 0x61, 0x65, 0xa4, 0xef, 0xf0, 0xd2, 0x0b, 0xd8, 0x2e,
|
0x56, 0x77, 0x1b, 0xab, 0x5b, 0x65, 0xcb, 0x7a, 0x75, 0x2a, 0x72, 0x98, 0x71, 0xbc, 0xb7, 0x56,
|
||||||
0x2c, 0x4b, 0x2d, 0xf1, 0x98, 0x7f, 0x95, 0x69, 0x48, 0x79, 0x22, 0xf2, 0x51, 0x86, 0x7d, 0x02,
|
0x7f, 0xcf, 0x91, 0xdd, 0x89, 0x6f, 0x19, 0x4d, 0x79, 0xe7, 0x31, 0x22, 0x91, 0xd9, 0xc7, 0x1e,
|
||||||
0x25, 0xf5, 0x06, 0x10, 0x5b, 0x49, 0x7f, 0xcb, 0x68, 0x6d, 0x75, 0x06, 0x2e, 0x55, 0xba, 0xe7,
|
0x8d, 0x06, 0x56, 0xc5, 0x18, 0x4e, 0x9f, 0xfe, 0x9c, 0x23, 0x3b, 0x86, 0xb2, 0xf6, 0x04, 0x12,
|
||||||
0x00, 0xf1, 0x4b, 0x34, 0x11, 0x93, 0x98, 0x79, 0xd9, 0x26, 0xa2, 0x80, 0xd9, 0x67, 0x6b, 0x8c,
|
0xbb, 0x79, 0xed, 0x73, 0x4d, 0xeb, 0xeb, 0x69, 0x49, 0x69, 0x5d, 0xd1, 0xcb, 0x7f, 0x74, 0xc2,
|
||||||
0x15, 0xec, 0x60, 0x83, 0x21, 0x93, 0x70, 0xf9, 0x85, 0xba, 0x3c, 0xfb, 0x87, 0x50, 0xd1, 0x1e,
|
0x39, 0xfb, 0x65, 0x28, 0x45, 0x0f, 0xeb, 0xb0, 0x35, 0xed, 0xa1, 0x23, 0xfd, 0x21, 0xa0, 0xf5,
|
||||||
0xa3, 0x89, 0x86, 0x6f, 0xf6, 0x21, 0x9b, 0x68, 0xf8, 0x52, 0xde, 0xae, 0x31, 0xd6, 0xb0, 0xf4,
|
0xc6, 0x6c, 0x42, 0x1a, 0xf1, 0xe9, 0xa5, 0x0b, 0xe2, 0xfb, 0x0c, 0xca, 0xda, 0xe3, 0x39, 0x51,
|
||||||
0x25, 0x63, 0x5e, 0x94, 0x2e, 0xc4, 0x44, 0x29, 0xae, 0x89, 0x09, 0x3a, 0x83, 0x5a, 0xe2, 0xc5,
|
0x07, 0x66, 0x1f, 0xe8, 0x89, 0x3a, 0x90, 0xf2, 0xd6, 0x8e, 0xb1, 0x88, 0x55, 0x94, 0x59, 0x09,
|
||||||
0x99, 0x68, 0x85, 0xa6, 0xbd, 0x67, 0x13, 0xad, 0xd0, 0xd4, 0x47, 0x6a, 0x14, 0x9d, 0x19, 0x0b,
|
0xe9, 0x3b, 0xbc, 0xf4, 0x02, 0xb6, 0x07, 0x2b, 0x52, 0x03, 0x3e, 0xe6, 0x5f, 0x65, 0x1a, 0x52,
|
||||||
0xa2, 0x1e, 0xba, 0x3f, 0x4b, 0xab, 0xe9, 0x07, 0x50, 0xd1, 0x5e, 0x8f, 0x89, 0xfa, 0x32, 0xfb,
|
0x9e, 0xd0, 0x7c, 0x9c, 0x61, 0x1f, 0x43, 0x51, 0xbd, 0x91, 0xc4, 0x56, 0xd3, 0xdf, 0x7a, 0x5a,
|
||||||
0x50, 0x4d, 0xd4, 0x97, 0xb4, 0xc7, 0x66, 0x96, 0xb0, 0x8e, 0xba, 0x81, 0xa4, 0x80, 0xd7, 0xff,
|
0x5f, 0x9b, 0x81, 0x4b, 0x75, 0xf5, 0x73, 0x80, 0xf8, 0xa5, 0x9e, 0x88, 0x49, 0xcc, 0xbc, 0xfc,
|
||||||
0x8a, 0xb2, 0x7f, 0x1d, 0xea, 0xc9, 0x07, 0x65, 0xa2, 0xb5, 0x9f, 0xfa, 0x32, 0x4d, 0xb4, 0xf6,
|
0x13, 0x51, 0xc0, 0xec, 0xb3, 0x3e, 0xc6, 0x2a, 0x76, 0xb0, 0xce, 0x90, 0x49, 0xb8, 0xfc, 0x42,
|
||||||
0xaf, 0x79, 0x85, 0x46, 0x92, 0xf4, 0x83, 0xc5, 0xa8, 0x92, 0x87, 0x3f, 0x96, 0x87, 0xb5, 0xbe,
|
0x5d, 0x2e, 0xfe, 0x43, 0x28, 0x6b, 0x8f, 0xf5, 0x44, 0xc3, 0x37, 0xfb, 0xd0, 0x4f, 0x34, 0x7c,
|
||||||
0x64, 0x9f, 0x0a, 0x06, 0x27, 0x6f, 0x9f, 0x66, 0xab, 0x1a, 0xd5, 0xea, 0xd7, 0x58, 0x47, 0xeb,
|
0x29, 0x6f, 0xfb, 0x18, 0xeb, 0x58, 0xfa, 0xb2, 0xb1, 0x20, 0x4a, 0x17, 0x22, 0xb0, 0x14, 0x45,
|
||||||
0x65, 0xe6, 0xa2, 0xea, 0x24, 0x31, 0x63, 0xe1, 0xec, 0x29, 0x2c, 0x46, 0xc4, 0x1c, 0x5d, 0x27,
|
0xc5, 0x04, 0x9d, 0x41, 0x35, 0xf1, 0x22, 0x4f, 0xb4, 0x42, 0xd3, 0xde, 0xfb, 0x89, 0x56, 0x68,
|
||||||
0x1d, 0x44, 0x7d, 0x48, 0xbd, 0xb4, 0x7a, 0xad, 0x31, 0x9d, 0xfa, 0x28, 0x43, 0xdb, 0x1f, 0x5e,
|
0xea, 0x23, 0x3e, 0x8a, 0xce, 0x8c, 0x45, 0x51, 0x0f, 0xdd, 0x2f, 0xa6, 0xd5, 0xf4, 0x03, 0x28,
|
||||||
0xe2, 0xab, 0x6d, 0x7f, 0xfa, 0x8d, 0xd2, 0xda, 0xf6, 0x97, 0xb8, 0xeb, 0x77, 0x7a, 0xfb, 0x0b,
|
0x6b, 0xaf, 0xeb, 0x44, 0x7d, 0x99, 0x7d, 0xc8, 0x27, 0xea, 0x4b, 0xda, 0x63, 0x3c, 0xcb, 0x58,
|
||||||
0x1d, 0x51, 0x86, 0x0b, 0xf3, 0xd3, 0x97, 0x3b, 0xdf, 0xb9, 0xee, 0x32, 0x0c, 0x2a, 0xfe, 0x8d,
|
0x47, 0xcd, 0x40, 0x52, 0xc0, 0xeb, 0x91, 0x45, 0xd9, 0xbf, 0x0e, 0xb5, 0xe4, 0x83, 0x3b, 0xd1,
|
||||||
0x97, 0xdf, 0x95, 0x91, 0x64, 0x45, 0x8a, 0x9b, 0x3e, 0x94, 0xb1, 0x41, 0xec, 0x57, 0xa1, 0xaa,
|
0xda, 0x4f, 0x7d, 0xb9, 0x27, 0x5a, 0xfb, 0xd7, 0xbc, 0xd2, 0x23, 0x49, 0xfa, 0xe1, 0x52, 0x54,
|
||||||
0x3f, 0x42, 0xc1, 0x74, 0x9e, 0x30, 0x5d, 0xd3, 0xad, 0xd4, 0xb4, 0x24, 0x95, 0xb0, 0xaa, 0x5e,
|
0xc9, 0xa3, 0x1f, 0xcb, 0xc3, 0x6c, 0x5f, 0xb2, 0x4f, 0x04, 0x83, 0x93, 0xb7, 0x73, 0xb3, 0x35,
|
||||||
0x0d, 0xfb, 0x0c, 0x56, 0xa2, 0x61, 0xd6, 0x6f, 0x73, 0x08, 0xd8, 0xdd, 0x94, 0x3b, 0x1e, 0x12,
|
0x8d, 0x6a, 0xf5, 0x6b, 0xbe, 0xa3, 0xf5, 0x32, 0x73, 0x91, 0x77, 0x92, 0x98, 0xb1, 0x70, 0xf6,
|
||||||
0x83, 0x7d, 0xf3, 0xda, 0x4b, 0x20, 0x1e, 0x65, 0x04, 0xf5, 0x25, 0x2f, 0xdc, 0x8f, 0x77, 0x9e,
|
0x0c, 0x96, 0x22, 0x62, 0x8e, 0xae, 0xdb, 0x0e, 0xa2, 0x3e, 0xa4, 0x5e, 0xea, 0xbd, 0x5e, 0x9f,
|
||||||
0xb4, 0x77, 0x06, 0xe2, 0x9d, 0x27, 0xf5, 0x96, 0x7e, 0x45, 0x7d, 0x6c, 0x31, 0x31, 0x46, 0x14,
|
0x4e, 0x7d, 0x9c, 0xa1, 0xed, 0x0f, 0x2f, 0x39, 0xd6, 0xb6, 0x3f, 0xfd, 0xc6, 0x6d, 0x6d, 0xfb,
|
||||||
0x35, 0xcd, 0x7e, 0x00, 0xf3, 0xda, 0x55, 0x15, 0xdd, 0x2b, 0xb7, 0x1f, 0xad, 0xa4, 0xd9, 0x6b,
|
0x4b, 0xdc, 0x85, 0x3c, 0xbd, 0xfd, 0x85, 0x8e, 0x28, 0xc3, 0x85, 0x85, 0xe9, 0xcb, 0xaf, 0xef,
|
||||||
0x5b, 0xd7, 0xd2, 0xec, 0xaa, 0xc6, 0x2a, 0x96, 0xbf, 0x60, 0x24, 0x06, 0x47, 0xac, 0xa2, 0x4d,
|
0x5c, 0x77, 0x59, 0x08, 0x15, 0xff, 0xc6, 0xcb, 0xef, 0x12, 0x49, 0xb2, 0x22, 0xc5, 0x4d, 0x1f,
|
||||||
0xa8, 0xe8, 0xd7, 0x60, 0xbc, 0xa4, 0xdc, 0x55, 0x2d, 0x49, 0xbf, 0x21, 0xf4, 0x51, 0x86, 0xed,
|
0xc9, 0xd8, 0x29, 0xf6, 0xab, 0x50, 0xd1, 0x1f, 0xe9, 0x60, 0x3a, 0x4f, 0x98, 0xae, 0xe9, 0x56,
|
||||||
0x42, 0x63, 0xfa, 0xd2, 0xba, 0x88, 0xa7, 0xa4, 0x5d, 0xf4, 0xb7, 0x36, 0x95, 0x98, 0xb8, 0xea,
|
0x6a, 0x5a, 0x92, 0x4a, 0x58, 0x45, 0xaf, 0x86, 0x7d, 0x0a, 0xab, 0xd1, 0x30, 0xeb, 0xb7, 0x5d,
|
||||||
0x8e, 0x1d, 0xd2, 0xb9, 0x9b, 0xe8, 0x3d, 0x45, 0xcf, 0x9f, 0xde, 0xd5, 0x93, 0xef, 0x2c, 0x46,
|
0x04, 0xec, 0x6e, 0xca, 0x1d, 0x18, 0x89, 0xc1, 0xbe, 0x79, 0xed, 0x25, 0x19, 0x8f, 0x33, 0x82,
|
||||||
0xa5, 0xa5, 0xbd, 0xb0, 0x79, 0x3f, 0xf3, 0x28, 0xc3, 0x7e, 0x3b, 0x03, 0xd5, 0xc4, 0xa5, 0x4d,
|
0xfa, 0x92, 0x0f, 0x12, 0xc4, 0x3b, 0x4f, 0xda, 0x3b, 0x0c, 0xf1, 0xce, 0x93, 0xfa, 0x8a, 0x81,
|
||||||
0x89, 0x93, 0x0d, 0x53, 0xfd, 0x6c, 0xea, 0x69, 0x7a, 0x47, 0x0d, 0x13, 0x07, 0x71, 0xf7, 0xc1,
|
0xa2, 0x3e, 0xb6, 0x94, 0x18, 0x23, 0x8a, 0x2a, 0x67, 0x3f, 0x80, 0x05, 0xed, 0x2a, 0x8f, 0xee,
|
||||||
0xf7, 0x13, 0x93, 0xf4, 0xe3, 0x84, 0x5b, 0x72, 0x7d, 0xfa, 0xc1, 0xc5, 0x2f, 0xa7, 0x11, 0xf4,
|
0x95, 0xdb, 0x8f, 0x56, 0xd2, 0xec, 0xb5, 0xb6, 0xeb, 0x69, 0x36, 0x63, 0x63, 0x0d, 0xcb, 0x5f,
|
||||||
0x8b, 0x80, 0xbf, 0x7c, 0x94, 0x61, 0xff, 0x22, 0x03, 0xf5, 0x64, 0xbc, 0x41, 0xd4, 0xdd, 0xd4,
|
0x34, 0x12, 0x83, 0x23, 0x56, 0xd1, 0x16, 0x94, 0xf5, 0x6b, 0x42, 0x5e, 0x52, 0xee, 0x9a, 0x96,
|
||||||
0xc8, 0x86, 0x88, 0x94, 0xae, 0x09, 0x52, 0xf8, 0x01, 0xb6, 0xb2, 0xf7, 0xc0, 0x4c, 0xb4, 0x52,
|
0xa4, 0xdf, 0xa0, 0xfa, 0x38, 0xc3, 0xf6, 0xa0, 0x3e, 0x7d, 0xa9, 0x5f, 0xc4, 0x53, 0xd2, 0x2e,
|
||||||
0x3e, 0x15, 0xf1, 0xd3, 0xb5, 0x96, 0xfd, 0x22, 0xbd, 0x6f, 0xac, 0x22, 0xcd, 0xd8, 0xec, 0x7b,
|
0x42, 0x5c, 0x9f, 0x4a, 0x4c, 0x5c, 0x05, 0xc8, 0x0e, 0xe9, 0x5c, 0x52, 0xf4, 0xde, 0xa4, 0xe7,
|
||||||
0xb8, 0x11, 0xf9, 0xe9, 0xaf, 0xc7, 0x1a, 0xb9, 0xdf, 0xc8, 0x66, 0x70, 0x26, 0x7e, 0x48, 0xaf,
|
0x4f, 0xef, 0xea, 0xc9, 0x77, 0x28, 0xa3, 0xd2, 0xd2, 0x5e, 0x20, 0x7d, 0x90, 0x79, 0x9c, 0x61,
|
||||||
0x0b, 0xaa, 0xc0, 0x24, 0x41, 0xca, 0xaf, 0x5d, 0xc8, 0xdb, 0xd8, 0xb1, 0x37, 0x8c, 0x9b, 0x89,
|
0xbf, 0x9d, 0x81, 0x4a, 0xe2, 0x52, 0xab, 0xc4, 0xc9, 0x8f, 0xa9, 0x7e, 0x36, 0xf4, 0x34, 0xbd,
|
||||||
0x8e, 0x4d, 0x4b, 0x1f, 0x2d, 0x6a, 0xa2, 0x7c, 0x01, 0x36, 0xde, 0x3e, 0x67, 0x5e, 0x85, 0x4d,
|
0xa3, 0x86, 0x89, 0x83, 0xb8, 0xf7, 0xf0, 0xfb, 0x89, 0x49, 0xfa, 0x71, 0xc2, 0xe5, 0xba, 0x31,
|
||||||
0xad, 0x04, 0x1b, 0x39, 0xa2, 0x46, 0x4a, 0xf4, 0xc4, 0x7a, 0x7b, 0xcd, 0x62, 0x8c, 0x07, 0xd8,
|
0xfd, 0x20, 0xe5, 0x97, 0xd3, 0x08, 0xfa, 0x45, 0xc9, 0x5f, 0x3e, 0xce, 0xb0, 0x7f, 0x91, 0x81,
|
||||||
0xd6, 0xb7, 0x8d, 0xbb, 0xd7, 0xb6, 0xf5, 0x21, 0x06, 0x10, 0x88, 0x16, 0x1f, 0x02, 0xc4, 0xe1,
|
0x5a, 0x32, 0x96, 0x22, 0xea, 0x6e, 0x6a, 0xd4, 0x46, 0x44, 0x4a, 0xd7, 0x04, 0x60, 0xfc, 0x00,
|
||||||
0xa0, 0x6c, 0x2a, 0x28, 0x31, 0xe2, 0x42, 0xb3, 0x11, 0xa3, 0xc9, 0x45, 0xad, 0x62, 0x17, 0x45,
|
0x5b, 0xd9, 0x7b, 0x68, 0x26, 0x5a, 0x29, 0x9f, 0xd2, 0xf8, 0xe9, 0x5a, 0xcb, 0x7e, 0x91, 0xde,
|
||||||
0x89, 0xbf, 0x4c, 0x3c, 0x35, 0x0a, 0x97, 0xd4, 0x45, 0xb0, 0x64, 0xe4, 0x66, 0x42, 0x04, 0x9b,
|
0x7f, 0x56, 0x91, 0x78, 0x6c, 0xf6, 0xbd, 0xe0, 0x88, 0xfc, 0xf4, 0xd7, 0x75, 0x8d, 0xdc, 0x6f,
|
||||||
0x2e, 0x3f, 0xc1, 0x51, 0xa3, 0xd8, 0xc8, 0x23, 0xa8, 0xed, 0x7a, 0xde, 0x8b, 0xc9, 0x38, 0x3a,
|
0x64, 0x33, 0x38, 0x13, 0x3f, 0xa4, 0xd7, 0x17, 0x55, 0xd0, 0x95, 0x20, 0xe5, 0xd7, 0x2e, 0xe4,
|
||||||
0x82, 0x90, 0x8c, 0x17, 0xda, 0xb1, 0x83, 0xb3, 0xb5, 0xa9, 0x5e, 0x18, 0xf7, 0xb0, 0xa8, 0x35,
|
0x6d, 0xec, 0xd8, 0x1b, 0xc6, 0xcd, 0x44, 0xc7, 0xa6, 0xa5, 0x8f, 0x26, 0x35, 0x51, 0xbe, 0x90,
|
||||||
0xd6, 0xd4, 0x8a, 0x7a, 0xf8, 0xe3, 0x38, 0x06, 0xf5, 0x4b, 0x66, 0xc3, 0x42, 0xc4, 0xa8, 0xe3,
|
0x1b, 0x6f, 0x9f, 0x33, 0xaf, 0xe6, 0xa6, 0x56, 0x82, 0x8d, 0x1c, 0x51, 0x23, 0x25, 0x7a, 0x62,
|
||||||
0x38, 0xcf, 0x64, 0x31, 0x09, 0xf6, 0x3c, 0x5d, 0x45, 0x42, 0x57, 0x50, 0xad, 0x7d, 0x18, 0xa8,
|
0xbd, 0xbd, 0x66, 0x31, 0xc6, 0x43, 0x6c, 0xeb, 0xdb, 0xc6, 0xdd, 0x6b, 0xdb, 0xfa, 0x08, 0x83,
|
||||||
0x32, 0x1f, 0x65, 0xd8, 0x21, 0x54, 0xb7, 0x78, 0x1f, 0xef, 0xb0, 0xc0, 0xd8, 0x98, 0xc5, 0x44,
|
0x23, 0x44, 0x8b, 0x0f, 0x01, 0xe2, 0x70, 0x59, 0x36, 0x15, 0xb4, 0x19, 0x71, 0xa1, 0xd9, 0x88,
|
||||||
0x9c, 0x05, 0x05, 0xd5, 0xac, 0xd5, 0x12, 0xc0, 0xe4, 0xe6, 0x35, 0xb6, 0xaf, 0x7c, 0xfe, 0xc5,
|
0xda, 0xe4, 0xa2, 0x56, 0xb1, 0x9d, 0xa2, 0xc4, 0x5f, 0x26, 0x9e, 0x1a, 0x85, 0x93, 0xea, 0x22,
|
||||||
0xc3, 0x1f, 0xcb, 0xa8, 0x9b, 0x2f, 0xd5, 0xe6, 0x15, 0x47, 0x60, 0xe9, 0x12, 0x40, 0x32, 0x8c,
|
0x58, 0x32, 0xb2, 0x35, 0x21, 0x82, 0x4d, 0x97, 0x9f, 0xe0, 0xa8, 0x51, 0xec, 0xe8, 0x11, 0x54,
|
||||||
0x29, 0xb1, 0x79, 0xcd, 0x84, 0x31, 0x25, 0x86, 0x3a, 0x8a, 0xb7, 0x1a, 0xc2, 0xc2, 0x4c, 0xe4,
|
0xf7, 0x3c, 0xef, 0xc5, 0x64, 0x1c, 0x1d, 0xd1, 0x48, 0xc6, 0x42, 0xed, 0xda, 0xc1, 0xd9, 0xfa,
|
||||||
0x53, 0xb4, 0x6f, 0x5d, 0x17, 0x2f, 0xb5, 0x76, 0xef, 0x7a, 0x84, 0x64, 0x6d, 0x0f, 0x92, 0xb5,
|
0x54, 0x2f, 0x8c, 0x7b, 0x58, 0xd4, 0x3a, 0x6b, 0x68, 0x45, 0x3d, 0xfa, 0x71, 0x1c, 0xa3, 0xfb,
|
||||||
0x75, 0xa1, 0x46, 0x57, 0xfd, 0x1e, 0x73, 0x3a, 0xcd, 0x3a, 0x75, 0x15, 0x94, 0x7e, 0x54, 0x76,
|
0x25, 0xb3, 0x61, 0x31, 0x62, 0xd4, 0x71, 0x1c, 0x6c, 0xb2, 0x98, 0x04, 0x7b, 0x9e, 0xae, 0x22,
|
||||||
0x7a, 0x97, 0xc1, 0xb4, 0xa4, 0x98, 0x83, 0xe7, 0x19, 0xd9, 0x09, 0xbe, 0x6f, 0xa1, 0x1d, 0x1f,
|
0xa1, 0x2b, 0xa8, 0xd6, 0x3e, 0x0a, 0x54, 0x99, 0x8f, 0x33, 0xec, 0x10, 0x2a, 0xdb, 0xbc, 0x8f,
|
||||||
0x8d, 0x88, 0x71, 0xf6, 0x48, 0x6b, 0x44, 0x8c, 0x29, 0xa7, 0x4d, 0x95, 0x0e, 0xca, 0x96, 0xa3,
|
0x77, 0x7c, 0x60, 0xdc, 0xcf, 0x52, 0x22, 0x86, 0x84, 0x02, 0x86, 0xd6, 0xab, 0x09, 0x60, 0x72,
|
||||||
0xb2, 0x1f, 0xba, 0xde, 0x80, 0x8f, 0x64, 0xa9, 0xbf, 0x0c, 0x95, 0xa7, 0x3c, 0x54, 0xe7, 0x35,
|
0xf3, 0x1a, 0xdb, 0x57, 0x3e, 0xff, 0xe2, 0xd1, 0x8f, 0x65, 0x44, 0xd1, 0x97, 0x6a, 0xf3, 0x8a,
|
||||||
0x23, 0x81, 0x7e, 0xea, 0x00, 0xe7, 0x5a, 0xca, 0x29, 0xdb, 0x24, 0x6d, 0x52, 0xc9, 0x7c, 0x70,
|
0xa3, 0xcb, 0x74, 0x09, 0x20, 0x19, 0xa2, 0x95, 0xd8, 0xbc, 0x66, 0x42, 0xb4, 0x12, 0x43, 0x1d,
|
||||||
0xca, 0x89, 0x13, 0x5a, 0xce, 0xe0, 0x4b, 0xf6, 0x4b, 0x58, 0x78, 0x74, 0x3b, 0xc1, 0x8a, 0xd6,
|
0xc5, 0x92, 0x0d, 0x61, 0x71, 0x26, 0xaa, 0x2b, 0xda, 0xb7, 0xae, 0x8b, 0x05, 0x5b, 0xbf, 0x77,
|
||||||
0x4c, 0xbd, 0xf0, 0xf9, 0x29, 0x78, 0x5a, 0xc9, 0xa2, 0xcd, 0x9a, 0x60, 0xe9, 0x42, 0x45, 0xbb,
|
0x3d, 0x42, 0xb2, 0xb6, 0x87, 0xc9, 0xda, 0xba, 0x50, 0xa5, 0xab, 0x90, 0x8f, 0x39, 0x9d, 0xf6,
|
||||||
0xc5, 0x24, 0x1a, 0x9b, 0xd9, 0x5b, 0x6b, 0xa2, 0xb1, 0x49, 0xb9, 0xf4, 0xc4, 0xb8, 0x8f, 0xf5,
|
0x9d, 0xba, 0x2a, 0x4b, 0x3f, 0x4a, 0x3c, 0xbd, 0xcb, 0x60, 0x5a, 0x52, 0xcc, 0xc1, 0xf3, 0x9e,
|
||||||
0x18, 0xec, 0x5e, 0x5c, 0x0f, 0x5d, 0x74, 0x12, 0xd7, 0xf4, 0xf0, 0xc7, 0xf6, 0x28, 0xfc, 0x92,
|
0xec, 0x04, 0xdf, 0xff, 0xd0, 0x8e, 0xd7, 0x46, 0xc4, 0x38, 0x7b, 0xe4, 0x37, 0x22, 0xc6, 0x94,
|
||||||
0x7d, 0x4e, 0xd3, 0xa1, 0x9d, 0x47, 0x8d, 0x35, 0x94, 0xe9, 0xa3, 0xab, 0xd1, 0x60, 0x69, 0x49,
|
0xd3, 0xb8, 0x4a, 0x07, 0x65, 0x2b, 0x51, 0xd9, 0x8f, 0x5c, 0x6f, 0xc0, 0x47, 0xb2, 0xd4, 0x5f,
|
||||||
0x49, 0xad, 0x85, 0xaa, 0x42, 0xb1, 0xf1, 0x09, 0x40, 0x37, 0xf4, 0xc6, 0x5b, 0x36, 0x1f, 0x79,
|
0x86, 0xf2, 0x33, 0x1e, 0xaa, 0xf3, 0xac, 0x91, 0x40, 0x3f, 0x75, 0xc0, 0x75, 0x3d, 0xe5, 0x14,
|
||||||
0x6e, 0xcc, 0xd3, 0xe3, 0x13, 0x92, 0x31, 0x9f, 0xd4, 0x8e, 0x49, 0xb2, 0xcf, 0x35, 0x95, 0x2e,
|
0x72, 0x92, 0x36, 0xa9, 0x64, 0x3e, 0x38, 0xe5, 0xc4, 0x09, 0x2d, 0x67, 0xf0, 0x25, 0xfb, 0x25,
|
||||||
0x71, 0x92, 0x5a, 0x11, 0xf1, 0xb5, 0x87, 0x28, 0xa3, 0x01, 0x49, 0x39, 0x48, 0xf9, 0x28, 0xc3,
|
0x2c, 0x3c, 0xba, 0xbd, 0x61, 0x55, 0x6b, 0xa6, 0x5e, 0xf8, 0xc2, 0x14, 0x3c, 0xad, 0x64, 0xd1,
|
||||||
0x5a, 0x00, 0x71, 0x88, 0x5d, 0xa4, 0xa0, 0xcd, 0x44, 0xef, 0x45, 0xec, 0x35, 0x25, 0x1e, 0xef,
|
0x66, 0x4d, 0xb0, 0x74, 0xa1, 0xac, 0xdd, 0xf2, 0x12, 0x8d, 0xcd, 0xec, 0xad, 0x3e, 0xd1, 0xd8,
|
||||||
0x10, 0xca, 0x71, 0x6c, 0xd2, 0x6a, 0x7c, 0x29, 0x53, 0x22, 0x92, 0x29, 0x12, 0x17, 0x66, 0xe2,
|
0xa4, 0x5c, 0x0a, 0x63, 0x3c, 0xc0, 0x7a, 0x0c, 0x76, 0x2f, 0xae, 0x87, 0x2e, 0x82, 0x89, 0x6b,
|
||||||
0x82, 0x8c, 0x06, 0x0e, 0x15, 0xb0, 0x92, 0x18, 0xaa, 0x13, 0xce, 0x03, 0xe6, 0xc0, 0x22, 0x35,
|
0x7a, 0xf4, 0x63, 0x7b, 0x14, 0x7e, 0xc9, 0x3e, 0xa3, 0xe9, 0xd0, 0xce, 0xeb, 0xc6, 0x1a, 0xca,
|
||||||
0x30, 0x92, 0xcd, 0xf0, 0x64, 0x5f, 0xf4, 0xaa, 0xcc, 0x6c, 0x88, 0x4e, 0xc4, 0x35, 0x52, 0x03,
|
0xf4, 0xd1, 0xde, 0x68, 0xb0, 0xb4, 0xa4, 0xa4, 0xd6, 0x42, 0x55, 0xa1, 0xd8, 0xf8, 0x14, 0xa0,
|
||||||
0x4d, 0x12, 0x76, 0x26, 0x41, 0xad, 0x74, 0xaa, 0x50, 0x6c, 0x01, 0x23, 0x58, 0x98, 0x89, 0x65,
|
0x1b, 0x7a, 0xe3, 0x6d, 0x9b, 0x8f, 0x3c, 0x37, 0xe6, 0xe9, 0xf1, 0x09, 0xd2, 0x98, 0x4f, 0x6a,
|
||||||
0x88, 0x58, 0xc7, 0x75, 0xc1, 0x29, 0x11, 0xeb, 0xb8, 0x36, 0x0c, 0xc2, 0x58, 0xc6, 0x2a, 0xe7,
|
0xc7, 0x48, 0xd9, 0x67, 0x9a, 0x4a, 0x97, 0x38, 0x69, 0xae, 0x88, 0xf8, 0xda, 0x43, 0xa6, 0xd1,
|
||||||
0x0d, 0x40, 0xbd, 0xf2, 0xc2, 0x09, 0xfb, 0x67, 0xa2, 0xba, 0xdf, 0xcb, 0xc0, 0x62, 0x4a, 0xb4,
|
0x80, 0xa4, 0x1c, 0x34, 0x7d, 0x9c, 0x61, 0x4d, 0x80, 0x38, 0x7c, 0x30, 0x52, 0xd0, 0x66, 0x22,
|
||||||
0x02, 0x7b, 0x53, 0x99, 0x28, 0xae, 0x8d, 0x64, 0x58, 0x4b, 0xf5, 0x6a, 0x1b, 0x5d, 0xac, 0x67,
|
0x13, 0x23, 0xf6, 0x9a, 0x12, 0x6b, 0x78, 0x08, 0xa5, 0x38, 0xee, 0x6a, 0x2d, 0xbe, 0xb4, 0x2a,
|
||||||
0x8f, 0x3d, 0x4b, 0x6c, 0xa0, 0xe4, 0x54, 0x96, 0x2b, 0xf3, 0xa5, 0x12, 0x4c, 0xaa, 0xf8, 0xf2,
|
0x11, 0xa5, 0x15, 0x89, 0x0b, 0x33, 0x31, 0x4f, 0x46, 0x1d, 0x87, 0x0a, 0x58, 0x51, 0x0c, 0xd5,
|
||||||
0x05, 0xac, 0x52, 0x43, 0x5a, 0xc3, 0xe1, 0x94, 0xc7, 0xfd, 0x0d, 0xad, 0x15, 0x29, 0x51, 0x04,
|
0x09, 0xe7, 0x01, 0x73, 0x60, 0x89, 0x1a, 0x18, 0xc9, 0x66, 0x78, 0xf2, 0x31, 0x7a, 0x75, 0x67,
|
||||||
0x09, 0x65, 0x20, 0x19, 0x49, 0x70, 0x8d, 0xec, 0x4e, 0x4d, 0x65, 0x13, 0x68, 0x4c, 0x7b, 0xb2,
|
0x36, 0xfc, 0x28, 0xe2, 0x1a, 0xa9, 0x41, 0x34, 0x09, 0x3b, 0x93, 0xa0, 0x56, 0x3a, 0x75, 0x29,
|
||||||
0xd9, 0xf5, 0x65, 0xad, 0xdd, 0x4d, 0x28, 0xdb, 0x29, 0xde, 0xef, 0xaf, 0x61, 0x65, 0x77, 0x8d,
|
0xb6, 0x80, 0x11, 0x2c, 0xce, 0xc4, 0x69, 0x44, 0xac, 0xe3, 0xba, 0xc0, 0x9b, 0x88, 0x75, 0x5c,
|
||||||
0xb5, 0xb4, 0x71, 0x21, 0xfd, 0x5b, 0xcc, 0xc7, 0xff, 0x1f, 0xb9, 0xdd, 0xa7, 0xfa, 0x79, 0x37,
|
0x1b, 0xe2, 0x61, 0xac, 0x60, 0x95, 0x0b, 0x06, 0xa0, 0x5e, 0x79, 0xe1, 0x84, 0xfd, 0x33, 0x51,
|
||||||
0xba, 0x47, 0x3f, 0x3d, 0x48, 0x20, 0x52, 0xf7, 0xd3, 0xbd, 0xf6, 0xef, 0x60, 0xf5, 0xf7, 0x8c,
|
0xdd, 0xef, 0x65, 0x60, 0x29, 0x25, 0x12, 0x83, 0xbd, 0xa9, 0x4c, 0x14, 0xd7, 0x46, 0x69, 0xac,
|
||||||
0x5b, 0x69, 0xd5, 0xfb, 0x94, 0x85, 0x14, 0xff, 0xd5, 0xe9, 0x75, 0xad, 0x5a, 0x70, 0x2f, 0x6d,
|
0xa7, 0x7a, 0xec, 0x8d, 0x2e, 0xd6, 0xb3, 0xcf, 0x9e, 0x27, 0x36, 0x50, 0x72, 0x98, 0xcb, 0x95,
|
||||||
0xbe, 0xaf, 0x55, 0xbc, 0xa6, 0xc6, 0xfa, 0x06, 0xca, 0x90, 0x55, 0xdd, 0xcd, 0x1e, 0x2d, 0x9f,
|
0xf9, 0x52, 0x09, 0x26, 0x55, 0x7c, 0xf9, 0x02, 0xd6, 0xa8, 0x21, 0xcd, 0xe1, 0x70, 0x2a, 0x9a,
|
||||||
0x14, 0x7f, 0x7e, 0xb4, 0x7c, 0xd2, 0xfc, 0xf2, 0x49, 0xf9, 0x49, 0x79, 0xe4, 0x3f, 0xce, 0x3c,
|
0xe0, 0x0d, 0xad, 0x15, 0x29, 0x11, 0x12, 0x09, 0x65, 0x20, 0x19, 0x25, 0x71, 0x8d, 0xec, 0x4e,
|
||||||
0xd8, 0x78, 0xf7, 0x07, 0x5f, 0x3b, 0x75, 0xc2, 0xb3, 0xc9, 0xf1, 0x7a, 0xdf, 0x1b, 0x3d, 0x1c,
|
0x4d, 0x65, 0x13, 0xa8, 0x4f, 0x7b, 0xe9, 0xd9, 0xf5, 0x65, 0xad, 0xdf, 0x4d, 0x28, 0xdb, 0x29,
|
||||||
0x2a, 0xd3, 0xa6, 0x3c, 0xfe, 0xfe, 0x70, 0xe8, 0x0e, 0x1e, 0x62, 0xb1, 0xc7, 0x73, 0x63, 0xdf,
|
0x9e, 0xfd, 0xaf, 0x61, 0x65, 0x77, 0x8d, 0xf5, 0xb4, 0x71, 0x21, 0xfd, 0x5b, 0xcc, 0xc7, 0xff,
|
||||||
0x0b, 0xbd, 0x6f, 0xfe, 0xdf, 0x00, 0x00, 0x00, 0xff, 0xff, 0x84, 0x24, 0xba, 0xa4, 0x4f, 0x8a,
|
0x1f, 0x85, 0x14, 0x4c, 0xf5, 0xf3, 0x6e, 0xf4, 0xce, 0x40, 0x7a, 0x00, 0x44, 0xa4, 0xee, 0xa7,
|
||||||
0x00, 0x00,
|
0x47, 0x24, 0xbc, 0x83, 0xd5, 0xdf, 0x33, 0x6e, 0xa5, 0x55, 0xef, 0x53, 0x16, 0x52, 0xfc, 0xd7,
|
||||||
|
0xa6, 0xd7, 0xb5, 0x6a, 0xc1, 0xbd, 0xb4, 0xf9, 0xbe, 0x56, 0xf1, 0x9a, 0x1a, 0xeb, 0x1b, 0x28,
|
||||||
|
0x43, 0x56, 0xf4, 0x10, 0x82, 0x68, 0xf9, 0xa4, 0xc4, 0x2a, 0x44, 0xcb, 0x27, 0x2d, 0xe6, 0x20,
|
||||||
|
0x29, 0x3f, 0xa9, 0x68, 0x83, 0x8f, 0x32, 0x0f, 0x37, 0xef, 0xff, 0xe0, 0x6b, 0xa7, 0x4e, 0x78,
|
||||||
|
0x36, 0x39, 0xde, 0xe8, 0x7b, 0xa3, 0x47, 0x43, 0x65, 0xda, 0x94, 0xd7, 0x03, 0x3c, 0x1a, 0xba,
|
||||||
|
0x83, 0x47, 0x58, 0xec, 0xf1, 0xdc, 0xd8, 0xf7, 0x42, 0xef, 0x9b, 0xff, 0x37, 0x00, 0x00, 0xff,
|
||||||
|
0xff, 0x40, 0x26, 0x50, 0x15, 0x6f, 0x8b, 0x00, 0x00,
|
||||||
}
|
}
|
||||||
|
|
||||||
// Reference imports to suppress errors if they are not otherwise used.
|
// Reference imports to suppress errors if they are not otherwise used.
|
||||||
|
@ -3053,6 +3053,40 @@ message InvoiceSubscription {
|
|||||||
uint64 settle_index = 2;
|
uint64 settle_index = 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
enum PaymentFailureReason {
|
||||||
|
/**
|
||||||
|
Payment isn't failed (yet).
|
||||||
|
*/
|
||||||
|
FAILURE_REASON_NONE = 0;
|
||||||
|
|
||||||
|
/**
|
||||||
|
There are more routes to try, but the payment timeout was exceeded.
|
||||||
|
*/
|
||||||
|
FAILURE_REASON_TIMEOUT = 1;
|
||||||
|
|
||||||
|
/**
|
||||||
|
All possible routes were tried and failed permanently. Or were no
|
||||||
|
routes to the destination at all.
|
||||||
|
*/
|
||||||
|
FAILURE_REASON_NO_ROUTE = 2;
|
||||||
|
|
||||||
|
/**
|
||||||
|
A non-recoverable error has occured.
|
||||||
|
*/
|
||||||
|
FAILURE_REASON_ERROR = 3;
|
||||||
|
|
||||||
|
/**
|
||||||
|
Payment details incorrect (unknown hash, invalid amt or
|
||||||
|
invalid final cltv delta)
|
||||||
|
*/
|
||||||
|
FAILURE_REASON_INCORRECT_PAYMENT_DETAILS = 4;
|
||||||
|
|
||||||
|
/**
|
||||||
|
Insufficient local balance.
|
||||||
|
*/
|
||||||
|
FAILURE_REASON_INSUFFICIENT_BALANCE = 5;
|
||||||
|
}
|
||||||
|
|
||||||
message Payment {
|
message Payment {
|
||||||
/// The payment hash
|
/// The payment hash
|
||||||
string payment_hash = 1;
|
string payment_hash = 1;
|
||||||
@ -3109,6 +3143,8 @@ message Payment {
|
|||||||
older versions of lnd.
|
older versions of lnd.
|
||||||
*/
|
*/
|
||||||
uint64 payment_index = 15;
|
uint64 payment_index = 15;
|
||||||
|
|
||||||
|
PaymentFailureReason failure_reason = 16;
|
||||||
}
|
}
|
||||||
|
|
||||||
message HTLCAttempt {
|
message HTLCAttempt {
|
||||||
|
@ -3996,9 +3996,25 @@
|
|||||||
"type": "string",
|
"type": "string",
|
||||||
"format": "uint64",
|
"format": "uint64",
|
||||||
"description": "*\nThe creation index of this payment. Each payment can be uniquely identified\nby this index, which may not strictly increment by 1 for payments made in\nolder versions of lnd."
|
"description": "*\nThe creation index of this payment. Each payment can be uniquely identified\nby this index, which may not strictly increment by 1 for payments made in\nolder versions of lnd."
|
||||||
|
},
|
||||||
|
"failure_reason": {
|
||||||
|
"$ref": "#/definitions/lnrpcPaymentFailureReason"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"lnrpcPaymentFailureReason": {
|
||||||
|
"type": "string",
|
||||||
|
"enum": [
|
||||||
|
"FAILURE_REASON_NONE",
|
||||||
|
"FAILURE_REASON_TIMEOUT",
|
||||||
|
"FAILURE_REASON_NO_ROUTE",
|
||||||
|
"FAILURE_REASON_ERROR",
|
||||||
|
"FAILURE_REASON_INCORRECT_PAYMENT_DETAILS",
|
||||||
|
"FAILURE_REASON_INSUFFICIENT_BALANCE"
|
||||||
|
],
|
||||||
|
"default": "FAILURE_REASON_NONE",
|
||||||
|
"description": " - FAILURE_REASON_NONE: *\nPayment isn't failed (yet).\n - FAILURE_REASON_TIMEOUT: *\nThere are more routes to try, but the payment timeout was exceeded.\n - FAILURE_REASON_NO_ROUTE: *\nAll possible routes were tried and failed permanently. Or were no\nroutes to the destination at all.\n - FAILURE_REASON_ERROR: *\nA non-recoverable error has occured.\n - FAILURE_REASON_INCORRECT_PAYMENT_DETAILS: *\nPayment details incorrect (unknown hash, invalid amt or\ninvalid final cltv delta)\n - FAILURE_REASON_INSUFFICIENT_BALANCE: *\nInsufficient local balance."
|
||||||
|
},
|
||||||
"lnrpcPeer": {
|
"lnrpcPeer": {
|
||||||
"type": "object",
|
"type": "object",
|
||||||
"properties": {
|
"properties": {
|
||||||
|
@ -14271,13 +14271,13 @@ func testHoldInvoicePersistence(net *lntest.NetworkHarness, t *harnessTest) {
|
|||||||
|
|
||||||
// Wait for inlight status update.
|
// Wait for inlight status update.
|
||||||
for _, payStream := range paymentStreams {
|
for _, payStream := range paymentStreams {
|
||||||
status, err := payStream.Recv()
|
payment, err := payStream.Recv()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("Failed receiving status update: %v", err)
|
t.Fatalf("Failed receiving status update: %v", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
if status.State != routerrpc.PaymentState_IN_FLIGHT {
|
if payment.Status != lnrpc.Payment_IN_FLIGHT {
|
||||||
t.Fatalf("state not in flight: %v", status.State)
|
t.Fatalf("state not in flight: %v", payment.Status)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -14355,7 +14355,7 @@ func testHoldInvoicePersistence(net *lntest.NetworkHarness, t *harnessTest) {
|
|||||||
// Now after a restart, we must re-track the payments. We set up a
|
// Now after a restart, we must re-track the payments. We set up a
|
||||||
// goroutine for each to track thir status updates.
|
// goroutine for each to track thir status updates.
|
||||||
var (
|
var (
|
||||||
statusUpdates []chan *routerrpc.PaymentStatus
|
statusUpdates []chan *lnrpc.Payment
|
||||||
wg sync.WaitGroup
|
wg sync.WaitGroup
|
||||||
quit = make(chan struct{})
|
quit = make(chan struct{})
|
||||||
)
|
)
|
||||||
@ -14377,20 +14377,20 @@ func testHoldInvoicePersistence(net *lntest.NetworkHarness, t *harnessTest) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// We set up a channel where we'll forward any status update.
|
// We set up a channel where we'll forward any status update.
|
||||||
upd := make(chan *routerrpc.PaymentStatus)
|
upd := make(chan *lnrpc.Payment)
|
||||||
wg.Add(1)
|
wg.Add(1)
|
||||||
go func() {
|
go func() {
|
||||||
defer wg.Done()
|
defer wg.Done()
|
||||||
|
|
||||||
for {
|
for {
|
||||||
status, err := payStream.Recv()
|
payment, err := payStream.Recv()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
close(upd)
|
close(upd)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
select {
|
select {
|
||||||
case upd <- status:
|
case upd <- payment:
|
||||||
case <-quit:
|
case <-quit:
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
@ -14400,17 +14400,17 @@ func testHoldInvoicePersistence(net *lntest.NetworkHarness, t *harnessTest) {
|
|||||||
statusUpdates = append(statusUpdates, upd)
|
statusUpdates = append(statusUpdates, upd)
|
||||||
}
|
}
|
||||||
|
|
||||||
// Wait for the infligt status update.
|
// Wait for the in-flight status update.
|
||||||
for _, upd := range statusUpdates {
|
for _, upd := range statusUpdates {
|
||||||
select {
|
select {
|
||||||
case status, ok := <-upd:
|
case payment, ok := <-upd:
|
||||||
if !ok {
|
if !ok {
|
||||||
t.Fatalf("failed getting status update")
|
t.Fatalf("failed getting payment update")
|
||||||
}
|
}
|
||||||
|
|
||||||
if status.State != routerrpc.PaymentState_IN_FLIGHT {
|
if payment.Status != lnrpc.Payment_IN_FLIGHT {
|
||||||
t.Fatalf("state not in in flight: %v",
|
t.Fatalf("state not in in flight: %v",
|
||||||
status.State)
|
payment.Status)
|
||||||
}
|
}
|
||||||
case <-time.After(5 * time.Second):
|
case <-time.After(5 * time.Second):
|
||||||
t.Fatalf("in flight status not recevied")
|
t.Fatalf("in flight status not recevied")
|
||||||
@ -14439,25 +14439,38 @@ func testHoldInvoicePersistence(net *lntest.NetworkHarness, t *harnessTest) {
|
|||||||
|
|
||||||
// Make sure we get the expected status update.
|
// Make sure we get the expected status update.
|
||||||
for i, upd := range statusUpdates {
|
for i, upd := range statusUpdates {
|
||||||
select {
|
// Read until the payment is in a terminal state.
|
||||||
case status, ok := <-upd:
|
var payment *lnrpc.Payment
|
||||||
if !ok {
|
for payment == nil {
|
||||||
t.Fatalf("failed getting status update")
|
select {
|
||||||
}
|
case p, ok := <-upd:
|
||||||
|
if !ok {
|
||||||
|
t.Fatalf("failed getting payment update")
|
||||||
|
}
|
||||||
|
|
||||||
if i%2 == 0 {
|
if p.Status == lnrpc.Payment_IN_FLIGHT {
|
||||||
if status.State != routerrpc.PaymentState_SUCCEEDED {
|
continue
|
||||||
t.Fatalf("state not suceeded : %v",
|
|
||||||
status.State)
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
if status.State != routerrpc.PaymentState_FAILED_INCORRECT_PAYMENT_DETAILS {
|
|
||||||
t.Fatalf("state not failed: %v",
|
|
||||||
status.State)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
payment = p
|
||||||
|
case <-time.After(5 * time.Second):
|
||||||
|
t.Fatalf("in flight status not recevied")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Assert terminal payment state.
|
||||||
|
if i%2 == 0 {
|
||||||
|
if payment.Status != lnrpc.Payment_SUCCEEDED {
|
||||||
|
t.Fatalf("state not suceeded : %v",
|
||||||
|
payment.Status)
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
if payment.FailureReason !=
|
||||||
|
lnrpc.PaymentFailureReason_FAILURE_REASON_INCORRECT_PAYMENT_DETAILS {
|
||||||
|
|
||||||
|
t.Fatalf("state not failed: %v",
|
||||||
|
payment.FailureReason)
|
||||||
}
|
}
|
||||||
case <-time.After(5 * time.Second):
|
|
||||||
t.Fatalf("in flight status not recevied")
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
90
multimutex/hash_mutex.go
Normal file
90
multimutex/hash_mutex.go
Normal file
@ -0,0 +1,90 @@
|
|||||||
|
package multimutex
|
||||||
|
|
||||||
|
import (
|
||||||
|
"fmt"
|
||||||
|
"sync"
|
||||||
|
|
||||||
|
"github.com/lightningnetwork/lnd/lntypes"
|
||||||
|
)
|
||||||
|
|
||||||
|
// HashMutex is a struct that keeps track of a set of mutexes with a given hash.
|
||||||
|
// It can be used for making sure only one goroutine gets given the mutex per
|
||||||
|
// hash.
|
||||||
|
type HashMutex struct {
|
||||||
|
// mutexes is a map of hashes to a cntMutex. The cntMutex for
|
||||||
|
// a given hash will hold the mutex to be used by all
|
||||||
|
// callers requesting access for the hash, in addition to
|
||||||
|
// the count of callers.
|
||||||
|
mutexes map[lntypes.Hash]*cntMutex
|
||||||
|
|
||||||
|
// mapMtx is used to give synchronize concurrent access
|
||||||
|
// to the mutexes map.
|
||||||
|
mapMtx sync.Mutex
|
||||||
|
}
|
||||||
|
|
||||||
|
// NewHashMutex creates a new Mutex.
|
||||||
|
func NewHashMutex() *HashMutex {
|
||||||
|
return &HashMutex{
|
||||||
|
mutexes: make(map[lntypes.Hash]*cntMutex),
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Lock locks the mutex by the given hash. If the mutex is already
|
||||||
|
// locked by this hash, Lock blocks until the mutex is available.
|
||||||
|
func (c *HashMutex) Lock(hash lntypes.Hash) {
|
||||||
|
c.mapMtx.Lock()
|
||||||
|
mtx, ok := c.mutexes[hash]
|
||||||
|
if ok {
|
||||||
|
// If the mutex already existed in the map, we
|
||||||
|
// increment its counter, to indicate that there
|
||||||
|
// now is one more goroutine waiting for it.
|
||||||
|
mtx.cnt++
|
||||||
|
} else {
|
||||||
|
// If it was not in the map, it means no other
|
||||||
|
// goroutine has locked the mutex for this hash,
|
||||||
|
// and we can create a new mutex with count 1
|
||||||
|
// and add it to the map.
|
||||||
|
mtx = &cntMutex{
|
||||||
|
cnt: 1,
|
||||||
|
}
|
||||||
|
c.mutexes[hash] = mtx
|
||||||
|
}
|
||||||
|
c.mapMtx.Unlock()
|
||||||
|
|
||||||
|
// Acquire the mutex for this hash.
|
||||||
|
mtx.Lock()
|
||||||
|
}
|
||||||
|
|
||||||
|
// Unlock unlocks the mutex by the given hash. It is a run-time
|
||||||
|
// error if the mutex is not locked by the hash on entry to Unlock.
|
||||||
|
func (c *HashMutex) Unlock(hash lntypes.Hash) {
|
||||||
|
// Since we are done with all the work for this
|
||||||
|
// update, we update the map to reflect that.
|
||||||
|
c.mapMtx.Lock()
|
||||||
|
|
||||||
|
mtx, ok := c.mutexes[hash]
|
||||||
|
if !ok {
|
||||||
|
// The mutex not existing in the map means
|
||||||
|
// an unlock for an hash not currently locked
|
||||||
|
// was attempted.
|
||||||
|
panic(fmt.Sprintf("double unlock for hash %v",
|
||||||
|
hash))
|
||||||
|
}
|
||||||
|
|
||||||
|
// Decrement the counter. If the count goes to
|
||||||
|
// zero, it means this caller was the last one
|
||||||
|
// to wait for the mutex, and we can delete it
|
||||||
|
// from the map. We can do this safely since we
|
||||||
|
// are under the mapMtx, meaning that all other
|
||||||
|
// goroutines waiting for the mutex already
|
||||||
|
// have incremented it, or will create a new
|
||||||
|
// mutex when they get the mapMtx.
|
||||||
|
mtx.cnt--
|
||||||
|
if mtx.cnt == 0 {
|
||||||
|
delete(c.mutexes, hash)
|
||||||
|
}
|
||||||
|
c.mapMtx.Unlock()
|
||||||
|
|
||||||
|
// Unlock the mutex for this hash.
|
||||||
|
mtx.Unlock()
|
||||||
|
}
|
@ -58,6 +58,7 @@ func (cq *ConcurrentQueue) start() {
|
|||||||
go func() {
|
go func() {
|
||||||
defer cq.wg.Done()
|
defer cq.wg.Done()
|
||||||
|
|
||||||
|
readLoop:
|
||||||
for {
|
for {
|
||||||
nextElement := cq.overflow.Front()
|
nextElement := cq.overflow.Front()
|
||||||
if nextElement == nil {
|
if nextElement == nil {
|
||||||
@ -65,7 +66,10 @@ func (cq *ConcurrentQueue) start() {
|
|||||||
// directly to the output channel. If output channel is full
|
// directly to the output channel. If output channel is full
|
||||||
// though, push to overflow.
|
// though, push to overflow.
|
||||||
select {
|
select {
|
||||||
case item := <-cq.chanIn:
|
case item, ok := <-cq.chanIn:
|
||||||
|
if !ok {
|
||||||
|
break readLoop
|
||||||
|
}
|
||||||
select {
|
select {
|
||||||
case cq.chanOut <- item:
|
case cq.chanOut <- item:
|
||||||
// Optimistically push directly to chanOut
|
// Optimistically push directly to chanOut
|
||||||
@ -79,7 +83,10 @@ func (cq *ConcurrentQueue) start() {
|
|||||||
// Overflow queue is not empty, so any new items get pushed to
|
// Overflow queue is not empty, so any new items get pushed to
|
||||||
// the back to preserve order.
|
// the back to preserve order.
|
||||||
select {
|
select {
|
||||||
case item := <-cq.chanIn:
|
case item, ok := <-cq.chanIn:
|
||||||
|
if !ok {
|
||||||
|
break readLoop
|
||||||
|
}
|
||||||
cq.overflow.PushBack(item)
|
cq.overflow.PushBack(item)
|
||||||
case cq.chanOut <- nextElement.Value:
|
case cq.chanOut <- nextElement.Value:
|
||||||
cq.overflow.Remove(nextElement)
|
cq.overflow.Remove(nextElement)
|
||||||
@ -88,6 +95,22 @@ func (cq *ConcurrentQueue) start() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Incoming channel has been closed. Empty overflow queue into
|
||||||
|
// the outgoing channel.
|
||||||
|
nextElement := cq.overflow.Front()
|
||||||
|
for nextElement != nil {
|
||||||
|
select {
|
||||||
|
case cq.chanOut <- nextElement.Value:
|
||||||
|
cq.overflow.Remove(nextElement)
|
||||||
|
case <-cq.quit:
|
||||||
|
return
|
||||||
|
}
|
||||||
|
nextElement = cq.overflow.Front()
|
||||||
|
}
|
||||||
|
|
||||||
|
// Close outgoing channel.
|
||||||
|
close(cq.chanOut)
|
||||||
}()
|
}()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -63,3 +63,25 @@ func TestConcurrentQueueIdempotentStop(t *testing.T) {
|
|||||||
|
|
||||||
testQueueAddDrain(t, 100, 1, 10, 1000, 1000)
|
testQueueAddDrain(t, 100, 1, 10, 1000, 1000)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// TestQueueCloseIncoming tests that the queue properly handles an incoming
|
||||||
|
// channel that is closed.
|
||||||
|
func TestQueueCloseIncoming(t *testing.T) {
|
||||||
|
t.Parallel()
|
||||||
|
|
||||||
|
queue := queue.NewConcurrentQueue(10)
|
||||||
|
queue.Start()
|
||||||
|
|
||||||
|
queue.ChanIn() <- 1
|
||||||
|
close(queue.ChanIn())
|
||||||
|
|
||||||
|
item := <-queue.ChanOut()
|
||||||
|
if item.(int) != 1 {
|
||||||
|
t.Fatalf("unexpected item")
|
||||||
|
}
|
||||||
|
|
||||||
|
_, ok := <-queue.ChanOut()
|
||||||
|
if ok {
|
||||||
|
t.Fatalf("expected outgoing channel being closed")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@ -1,11 +1,12 @@
|
|||||||
package routing
|
package routing
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"errors"
|
|
||||||
"sync"
|
"sync"
|
||||||
|
|
||||||
"github.com/lightningnetwork/lnd/channeldb"
|
"github.com/lightningnetwork/lnd/channeldb"
|
||||||
"github.com/lightningnetwork/lnd/lntypes"
|
"github.com/lightningnetwork/lnd/lntypes"
|
||||||
|
"github.com/lightningnetwork/lnd/multimutex"
|
||||||
|
"github.com/lightningnetwork/lnd/queue"
|
||||||
)
|
)
|
||||||
|
|
||||||
// ControlTower tracks all outgoing payments made, whose primary purpose is to
|
// ControlTower tracks all outgoing payments made, whose primary purpose is to
|
||||||
@ -50,29 +51,43 @@ type ControlTower interface {
|
|||||||
FetchInFlightPayments() ([]*channeldb.InFlightPayment, error)
|
FetchInFlightPayments() ([]*channeldb.InFlightPayment, error)
|
||||||
|
|
||||||
// SubscribePayment subscribes to updates for the payment with the given
|
// SubscribePayment subscribes to updates for the payment with the given
|
||||||
// hash. It returns a boolean indicating whether the payment is still in
|
// hash. A first update with the current state of the payment is always
|
||||||
// flight and a channel that provides the final outcome of the payment.
|
// sent out immediately.
|
||||||
SubscribePayment(paymentHash lntypes.Hash) (bool, chan PaymentResult,
|
SubscribePayment(paymentHash lntypes.Hash) (*ControlTowerSubscriber,
|
||||||
error)
|
error)
|
||||||
}
|
}
|
||||||
|
|
||||||
// PaymentResult is the struct describing the events received by payment
|
// ControlTowerSubscriber contains the state for a payment update subscriber.
|
||||||
// subscribers.
|
type ControlTowerSubscriber struct {
|
||||||
type PaymentResult struct {
|
// Updates is the channel over which *channeldb.MPPayment updates can be
|
||||||
// Success indicates whether the payment was successful.
|
// received.
|
||||||
Success bool
|
Updates <-chan interface{}
|
||||||
|
|
||||||
// Preimage is the preimage of a successful payment. This serves as a
|
queue *queue.ConcurrentQueue
|
||||||
// proof of payment. It is only set for successful payments.
|
quit chan struct{}
|
||||||
Preimage lntypes.Preimage
|
}
|
||||||
|
|
||||||
// FailureReason is a failure reason code indicating the reason the
|
// newControlTowerSubscriber instantiates a new subscriber state object.
|
||||||
// payment failed. It is only set for failed payments.
|
func newControlTowerSubscriber() *ControlTowerSubscriber {
|
||||||
FailureReason channeldb.FailureReason
|
// Create a queue for payment updates.
|
||||||
|
queue := queue.NewConcurrentQueue(20)
|
||||||
|
queue.Start()
|
||||||
|
|
||||||
// HTLCs is a list of HTLCs that have been attempted in order to settle
|
return &ControlTowerSubscriber{
|
||||||
// the payment.
|
Updates: queue.ChanOut(),
|
||||||
HTLCs []channeldb.HTLCAttempt
|
queue: queue,
|
||||||
|
quit: make(chan struct{}),
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Close signals that the subscriber is no longer interested in updates.
|
||||||
|
func (s *ControlTowerSubscriber) Close() {
|
||||||
|
// Close quit channel so that any pending writes to the queue are
|
||||||
|
// cancelled.
|
||||||
|
close(s.quit)
|
||||||
|
|
||||||
|
// Stop the queue goroutine so that it won't leak.
|
||||||
|
s.queue.Stop()
|
||||||
}
|
}
|
||||||
|
|
||||||
// controlTower is persistent implementation of ControlTower to restrict
|
// controlTower is persistent implementation of ControlTower to restrict
|
||||||
@ -80,15 +95,21 @@ type PaymentResult struct {
|
|||||||
type controlTower struct {
|
type controlTower struct {
|
||||||
db *channeldb.PaymentControl
|
db *channeldb.PaymentControl
|
||||||
|
|
||||||
subscribers map[lntypes.Hash][]chan PaymentResult
|
subscribers map[lntypes.Hash][]*ControlTowerSubscriber
|
||||||
subscribersMtx sync.Mutex
|
subscribersMtx sync.Mutex
|
||||||
|
|
||||||
|
// paymentsMtx provides synchronization on the payment level to ensure
|
||||||
|
// that no race conditions occur in between updating the database and
|
||||||
|
// sending a notification.
|
||||||
|
paymentsMtx *multimutex.HashMutex
|
||||||
}
|
}
|
||||||
|
|
||||||
// NewControlTower creates a new instance of the controlTower.
|
// NewControlTower creates a new instance of the controlTower.
|
||||||
func NewControlTower(db *channeldb.PaymentControl) ControlTower {
|
func NewControlTower(db *channeldb.PaymentControl) ControlTower {
|
||||||
return &controlTower{
|
return &controlTower{
|
||||||
db: db,
|
db: db,
|
||||||
subscribers: make(map[lntypes.Hash][]chan PaymentResult),
|
subscribers: make(map[lntypes.Hash][]*ControlTowerSubscriber),
|
||||||
|
paymentsMtx: multimutex.NewHashMutex(),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -107,7 +128,18 @@ func (p *controlTower) InitPayment(paymentHash lntypes.Hash,
|
|||||||
func (p *controlTower) RegisterAttempt(paymentHash lntypes.Hash,
|
func (p *controlTower) RegisterAttempt(paymentHash lntypes.Hash,
|
||||||
attempt *channeldb.HTLCAttemptInfo) error {
|
attempt *channeldb.HTLCAttemptInfo) error {
|
||||||
|
|
||||||
return p.db.RegisterAttempt(paymentHash, attempt)
|
p.paymentsMtx.Lock(paymentHash)
|
||||||
|
defer p.paymentsMtx.Unlock(paymentHash)
|
||||||
|
|
||||||
|
payment, err := p.db.RegisterAttempt(paymentHash, attempt)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
// Notify subscribers of the attempt registration.
|
||||||
|
p.notifySubscribers(paymentHash, payment)
|
||||||
|
|
||||||
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
// SettleAttempt marks the given attempt settled with the preimage. If
|
// SettleAttempt marks the given attempt settled with the preimage. If
|
||||||
@ -116,15 +148,16 @@ func (p *controlTower) RegisterAttempt(paymentHash lntypes.Hash,
|
|||||||
func (p *controlTower) SettleAttempt(paymentHash lntypes.Hash,
|
func (p *controlTower) SettleAttempt(paymentHash lntypes.Hash,
|
||||||
attemptID uint64, settleInfo *channeldb.HTLCSettleInfo) error {
|
attemptID uint64, settleInfo *channeldb.HTLCSettleInfo) error {
|
||||||
|
|
||||||
|
p.paymentsMtx.Lock(paymentHash)
|
||||||
|
defer p.paymentsMtx.Unlock(paymentHash)
|
||||||
|
|
||||||
payment, err := p.db.SettleAttempt(paymentHash, attemptID, settleInfo)
|
payment, err := p.db.SettleAttempt(paymentHash, attemptID, settleInfo)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
// Notify subscribers of success event.
|
// Notify subscribers of success event.
|
||||||
p.notifyFinalEvent(
|
p.notifySubscribers(paymentHash, payment)
|
||||||
paymentHash, createSuccessResult(payment.HTLCs),
|
|
||||||
)
|
|
||||||
|
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
@ -133,7 +166,18 @@ func (p *controlTower) SettleAttempt(paymentHash lntypes.Hash,
|
|||||||
func (p *controlTower) FailAttempt(paymentHash lntypes.Hash,
|
func (p *controlTower) FailAttempt(paymentHash lntypes.Hash,
|
||||||
attemptID uint64, failInfo *channeldb.HTLCFailInfo) error {
|
attemptID uint64, failInfo *channeldb.HTLCFailInfo) error {
|
||||||
|
|
||||||
return p.db.FailAttempt(paymentHash, attemptID, failInfo)
|
p.paymentsMtx.Lock(paymentHash)
|
||||||
|
defer p.paymentsMtx.Unlock(paymentHash)
|
||||||
|
|
||||||
|
payment, err := p.db.FailAttempt(paymentHash, attemptID, failInfo)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
// Notify subscribers of failed attempt.
|
||||||
|
p.notifySubscribers(paymentHash, payment)
|
||||||
|
|
||||||
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
// FetchPayment fetches the payment corresponding to the given payment hash.
|
// FetchPayment fetches the payment corresponding to the given payment hash.
|
||||||
@ -143,35 +187,6 @@ func (p *controlTower) FetchPayment(paymentHash lntypes.Hash) (
|
|||||||
return p.db.FetchPayment(paymentHash)
|
return p.db.FetchPayment(paymentHash)
|
||||||
}
|
}
|
||||||
|
|
||||||
// createSuccessResult creates a success result to send to subscribers.
|
|
||||||
func createSuccessResult(htlcs []channeldb.HTLCAttempt) *PaymentResult {
|
|
||||||
// Extract any preimage from the list of HTLCs.
|
|
||||||
var preimage lntypes.Preimage
|
|
||||||
for _, htlc := range htlcs {
|
|
||||||
if htlc.Settle != nil {
|
|
||||||
preimage = htlc.Settle.Preimage
|
|
||||||
break
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return &PaymentResult{
|
|
||||||
Success: true,
|
|
||||||
Preimage: preimage,
|
|
||||||
HTLCs: htlcs,
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// createFailResult creates a failed result to send to subscribers.
|
|
||||||
func createFailedResult(htlcs []channeldb.HTLCAttempt,
|
|
||||||
reason channeldb.FailureReason) *PaymentResult {
|
|
||||||
|
|
||||||
return &PaymentResult{
|
|
||||||
Success: false,
|
|
||||||
FailureReason: reason,
|
|
||||||
HTLCs: htlcs,
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Fail transitions a payment into the Failed state, and records the reason the
|
// Fail transitions a payment into the Failed state, and records the reason the
|
||||||
// payment failed. After invoking this method, InitPayment should return nil on
|
// payment failed. After invoking this method, InitPayment should return nil on
|
||||||
// its next call for this payment hash, allowing the switch to make a
|
// its next call for this payment hash, allowing the switch to make a
|
||||||
@ -179,17 +194,16 @@ func createFailedResult(htlcs []channeldb.HTLCAttempt,
|
|||||||
func (p *controlTower) Fail(paymentHash lntypes.Hash,
|
func (p *controlTower) Fail(paymentHash lntypes.Hash,
|
||||||
reason channeldb.FailureReason) error {
|
reason channeldb.FailureReason) error {
|
||||||
|
|
||||||
|
p.paymentsMtx.Lock(paymentHash)
|
||||||
|
defer p.paymentsMtx.Unlock(paymentHash)
|
||||||
|
|
||||||
payment, err := p.db.Fail(paymentHash, reason)
|
payment, err := p.db.Fail(paymentHash, reason)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
// Notify subscribers of fail event.
|
// Notify subscribers of fail event.
|
||||||
p.notifyFinalEvent(
|
p.notifySubscribers(paymentHash, payment)
|
||||||
paymentHash, createFailedResult(
|
|
||||||
payment.HTLCs, reason,
|
|
||||||
),
|
|
||||||
)
|
|
||||||
|
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
@ -199,86 +213,81 @@ func (p *controlTower) FetchInFlightPayments() ([]*channeldb.InFlightPayment, er
|
|||||||
return p.db.FetchInFlightPayments()
|
return p.db.FetchInFlightPayments()
|
||||||
}
|
}
|
||||||
|
|
||||||
// SubscribePayment subscribes to updates for the payment with the given hash.
|
// SubscribePayment subscribes to updates for the payment with the given hash. A
|
||||||
// It returns a boolean indicating whether the payment is still in flight and a
|
// first update with the current state of the payment is always sent out
|
||||||
// channel that provides the final outcome of the payment.
|
// immediately.
|
||||||
func (p *controlTower) SubscribePayment(paymentHash lntypes.Hash) (
|
func (p *controlTower) SubscribePayment(paymentHash lntypes.Hash) (
|
||||||
bool, chan PaymentResult, error) {
|
*ControlTowerSubscriber, error) {
|
||||||
|
|
||||||
// Create a channel with buffer size 1. For every payment there will be
|
// Take lock before querying the db to prevent missing or duplicating an
|
||||||
// exactly one event sent.
|
// update.
|
||||||
c := make(chan PaymentResult, 1)
|
p.paymentsMtx.Lock(paymentHash)
|
||||||
|
defer p.paymentsMtx.Unlock(paymentHash)
|
||||||
// Take lock before querying the db to prevent this scenario:
|
|
||||||
// FetchPayment returns us an in-flight state -> payment succeeds, but
|
|
||||||
// there is no subscriber to notify yet -> we add ourselves as a
|
|
||||||
// subscriber -> ... we will never receive a notification.
|
|
||||||
p.subscribersMtx.Lock()
|
|
||||||
defer p.subscribersMtx.Unlock()
|
|
||||||
|
|
||||||
payment, err := p.db.FetchPayment(paymentHash)
|
payment, err := p.db.FetchPayment(paymentHash)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return false, nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
var event PaymentResult
|
subscriber := newControlTowerSubscriber()
|
||||||
|
|
||||||
switch payment.Status {
|
// Always write current payment state to the channel.
|
||||||
|
subscriber.queue.ChanIn() <- payment
|
||||||
|
|
||||||
// Payment is currently in flight. Register this subscriber and
|
// Payment is currently in flight. Register this subscriber for further
|
||||||
// return without writing a result to the channel yet.
|
// updates. Otherwise this update is the final update and the incoming
|
||||||
case channeldb.StatusInFlight:
|
// channel can be closed. This will close the queue's outgoing channel
|
||||||
|
// when all updates have been written.
|
||||||
|
if payment.Status == channeldb.StatusInFlight {
|
||||||
|
p.subscribersMtx.Lock()
|
||||||
p.subscribers[paymentHash] = append(
|
p.subscribers[paymentHash] = append(
|
||||||
p.subscribers[paymentHash], c,
|
p.subscribers[paymentHash], subscriber,
|
||||||
)
|
)
|
||||||
|
p.subscribersMtx.Unlock()
|
||||||
return true, c, nil
|
} else {
|
||||||
|
close(subscriber.queue.ChanIn())
|
||||||
// Payment already succeeded. It is not necessary to register as
|
|
||||||
// a subscriber, because we can send the result on the channel
|
|
||||||
// immediately.
|
|
||||||
case channeldb.StatusSucceeded:
|
|
||||||
event = *createSuccessResult(payment.HTLCs)
|
|
||||||
|
|
||||||
// Payment already failed. It is not necessary to register as a
|
|
||||||
// subscriber, because we can send the result on the channel
|
|
||||||
// immediately.
|
|
||||||
case channeldb.StatusFailed:
|
|
||||||
event = *createFailedResult(
|
|
||||||
payment.HTLCs, *payment.FailureReason,
|
|
||||||
)
|
|
||||||
|
|
||||||
default:
|
|
||||||
return false, nil, errors.New("unknown payment status")
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Write immediate result to the channel.
|
return subscriber, nil
|
||||||
c <- event
|
|
||||||
close(c)
|
|
||||||
|
|
||||||
return false, c, nil
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// notifyFinalEvent sends a final payment event to all subscribers of this
|
// notifySubscribers sends a final payment event to all subscribers of this
|
||||||
// payment. The channel will be closed after this.
|
// payment. The channel will be closed after this. Note that this function must
|
||||||
func (p *controlTower) notifyFinalEvent(paymentHash lntypes.Hash,
|
// be executed atomically (by means of a lock) with the database update to
|
||||||
event *PaymentResult) {
|
// guarantuee consistency of the notifications.
|
||||||
|
func (p *controlTower) notifySubscribers(paymentHash lntypes.Hash,
|
||||||
|
event *channeldb.MPPayment) {
|
||||||
|
|
||||||
// Get all subscribers for this hash. As there is only a single outcome,
|
// Get all subscribers for this payment.
|
||||||
// the subscriber list can be cleared.
|
|
||||||
p.subscribersMtx.Lock()
|
p.subscribersMtx.Lock()
|
||||||
list, ok := p.subscribers[paymentHash]
|
list, ok := p.subscribers[paymentHash]
|
||||||
if !ok {
|
if !ok {
|
||||||
p.subscribersMtx.Unlock()
|
p.subscribersMtx.Unlock()
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
delete(p.subscribers, paymentHash)
|
|
||||||
|
// If the payment reached a terminal state, the subscriber list can be
|
||||||
|
// cleared. There won't be any more updates.
|
||||||
|
terminal := event.Status != channeldb.StatusInFlight
|
||||||
|
if terminal {
|
||||||
|
delete(p.subscribers, paymentHash)
|
||||||
|
}
|
||||||
p.subscribersMtx.Unlock()
|
p.subscribersMtx.Unlock()
|
||||||
|
|
||||||
// Notify all subscribers of the event. The subscriber channel is
|
// Notify all subscribers of the event.
|
||||||
// buffered, so it cannot block here.
|
|
||||||
for _, subscriber := range list {
|
for _, subscriber := range list {
|
||||||
subscriber <- *event
|
select {
|
||||||
close(subscriber)
|
case subscriber.queue.ChanIn() <- event:
|
||||||
|
// If this event is the last, close the incoming channel
|
||||||
|
// of the queue. This will signal the subscriber that
|
||||||
|
// there won't be any more updates.
|
||||||
|
if terminal {
|
||||||
|
close(subscriber.queue.ChanIn())
|
||||||
|
}
|
||||||
|
|
||||||
|
// If subscriber disappeared, skip notification. For further
|
||||||
|
// notifications, we'll keep skipping over this subscriber.
|
||||||
|
case <-subscriber.quit:
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -55,7 +55,7 @@ func TestControlTowerSubscribeUnknown(t *testing.T) {
|
|||||||
pControl := NewControlTower(channeldb.NewPaymentControl(db))
|
pControl := NewControlTower(channeldb.NewPaymentControl(db))
|
||||||
|
|
||||||
// Subscription should fail when the payment is not known.
|
// Subscription should fail when the payment is not known.
|
||||||
_, _, err = pControl.SubscribePayment(lntypes.Hash{1})
|
_, err = pControl.SubscribePayment(lntypes.Hash{1})
|
||||||
if err != channeldb.ErrPaymentNotInitiated {
|
if err != channeldb.ErrPaymentNotInitiated {
|
||||||
t.Fatal("expected subscribe to fail for unknown payment")
|
t.Fatal("expected subscribe to fail for unknown payment")
|
||||||
}
|
}
|
||||||
@ -86,13 +86,10 @@ func TestControlTowerSubscribeSuccess(t *testing.T) {
|
|||||||
|
|
||||||
// Subscription should succeed and immediately report the InFlight
|
// Subscription should succeed and immediately report the InFlight
|
||||||
// status.
|
// status.
|
||||||
inFlight, subscriber1, err := pControl.SubscribePayment(info.PaymentHash)
|
subscriber1, err := pControl.SubscribePayment(info.PaymentHash)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("expected subscribe to succeed, but got: %v", err)
|
t.Fatalf("expected subscribe to succeed, but got: %v", err)
|
||||||
}
|
}
|
||||||
if !inFlight {
|
|
||||||
t.Fatalf("unexpected payment to be in flight")
|
|
||||||
}
|
|
||||||
|
|
||||||
// Register an attempt.
|
// Register an attempt.
|
||||||
err = pControl.RegisterAttempt(info.PaymentHash, attempt)
|
err = pControl.RegisterAttempt(info.PaymentHash, attempt)
|
||||||
@ -101,13 +98,10 @@ func TestControlTowerSubscribeSuccess(t *testing.T) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Register a second subscriber after the first attempt has started.
|
// Register a second subscriber after the first attempt has started.
|
||||||
inFlight, subscriber2, err := pControl.SubscribePayment(info.PaymentHash)
|
subscriber2, err := pControl.SubscribePayment(info.PaymentHash)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("expected subscribe to succeed, but got: %v", err)
|
t.Fatalf("expected subscribe to succeed, but got: %v", err)
|
||||||
}
|
}
|
||||||
if !inFlight {
|
|
||||||
t.Fatalf("unexpected payment to be in flight")
|
|
||||||
}
|
|
||||||
|
|
||||||
// Mark the payment as successful.
|
// Mark the payment as successful.
|
||||||
err = pControl.SettleAttempt(
|
err = pControl.SettleAttempt(
|
||||||
@ -121,32 +115,33 @@ func TestControlTowerSubscribeSuccess(t *testing.T) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Register a third subscriber after the payment succeeded.
|
// Register a third subscriber after the payment succeeded.
|
||||||
inFlight, subscriber3, err := pControl.SubscribePayment(info.PaymentHash)
|
subscriber3, err := pControl.SubscribePayment(info.PaymentHash)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("expected subscribe to succeed, but got: %v", err)
|
t.Fatalf("expected subscribe to succeed, but got: %v", err)
|
||||||
}
|
}
|
||||||
if inFlight {
|
|
||||||
t.Fatalf("expected payment to be finished")
|
|
||||||
}
|
|
||||||
|
|
||||||
// We expect all subscribers to now report the final outcome followed by
|
// We expect all subscribers to now report the final outcome followed by
|
||||||
// no other events.
|
// no other events.
|
||||||
subscribers := []chan PaymentResult{
|
subscribers := []*ControlTowerSubscriber{
|
||||||
subscriber1, subscriber2, subscriber3,
|
subscriber1, subscriber2, subscriber3,
|
||||||
}
|
}
|
||||||
|
|
||||||
for _, s := range subscribers {
|
for _, s := range subscribers {
|
||||||
var result PaymentResult
|
var result *channeldb.MPPayment
|
||||||
select {
|
for result == nil || result.Status == channeldb.StatusInFlight {
|
||||||
case result = <-s:
|
select {
|
||||||
case <-time.After(testTimeout):
|
case item := <-s.Updates:
|
||||||
t.Fatal("timeout waiting for payment result")
|
result = item.(*channeldb.MPPayment)
|
||||||
|
case <-time.After(testTimeout):
|
||||||
|
t.Fatal("timeout waiting for payment result")
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if !result.Success {
|
if result.Status != channeldb.StatusSucceeded {
|
||||||
t.Fatal("unexpected payment state")
|
t.Fatal("unexpected payment state")
|
||||||
}
|
}
|
||||||
if result.Preimage != preimg {
|
settle, _ := result.TerminalInfo()
|
||||||
|
if settle.Preimage != preimg {
|
||||||
t.Fatal("unexpected preimage")
|
t.Fatal("unexpected preimage")
|
||||||
}
|
}
|
||||||
if len(result.HTLCs) != 1 {
|
if len(result.HTLCs) != 1 {
|
||||||
@ -161,7 +156,7 @@ func TestControlTowerSubscribeSuccess(t *testing.T) {
|
|||||||
|
|
||||||
// After the final event, we expect the channel to be closed.
|
// After the final event, we expect the channel to be closed.
|
||||||
select {
|
select {
|
||||||
case _, ok := <-s:
|
case _, ok := <-s.Updates:
|
||||||
if ok {
|
if ok {
|
||||||
t.Fatal("expected channel to be closed")
|
t.Fatal("expected channel to be closed")
|
||||||
}
|
}
|
||||||
@ -204,7 +199,7 @@ func testPaymentControlSubscribeFail(t *testing.T, registerAttempt bool) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Subscription should succeed.
|
// Subscription should succeed.
|
||||||
_, subscriber1, err := pControl.SubscribePayment(info.PaymentHash)
|
subscriber1, err := pControl.SubscribePayment(info.PaymentHash)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("expected subscribe to succeed, but got: %v", err)
|
t.Fatalf("expected subscribe to succeed, but got: %v", err)
|
||||||
}
|
}
|
||||||
@ -235,29 +230,29 @@ func testPaymentControlSubscribeFail(t *testing.T, registerAttempt bool) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Register a second subscriber after the payment failed.
|
// Register a second subscriber after the payment failed.
|
||||||
inFlight, subscriber2, err := pControl.SubscribePayment(info.PaymentHash)
|
subscriber2, err := pControl.SubscribePayment(info.PaymentHash)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("expected subscribe to succeed, but got: %v", err)
|
t.Fatalf("expected subscribe to succeed, but got: %v", err)
|
||||||
}
|
}
|
||||||
if inFlight {
|
|
||||||
t.Fatalf("expected payment to be finished")
|
|
||||||
}
|
|
||||||
|
|
||||||
// We expect all subscribers to now report the final outcome followed by
|
// We expect all subscribers to now report the final outcome followed by
|
||||||
// no other events.
|
// no other events.
|
||||||
subscribers := []chan PaymentResult{
|
subscribers := []*ControlTowerSubscriber{
|
||||||
subscriber1, subscriber2,
|
subscriber1, subscriber2,
|
||||||
}
|
}
|
||||||
|
|
||||||
for _, s := range subscribers {
|
for _, s := range subscribers {
|
||||||
var result PaymentResult
|
var result *channeldb.MPPayment
|
||||||
select {
|
for result == nil || result.Status == channeldb.StatusInFlight {
|
||||||
case result = <-s:
|
select {
|
||||||
case <-time.After(testTimeout):
|
case item := <-s.Updates:
|
||||||
t.Fatal("timeout waiting for payment result")
|
result = item.(*channeldb.MPPayment)
|
||||||
|
case <-time.After(testTimeout):
|
||||||
|
t.Fatal("timeout waiting for payment result")
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if result.Success {
|
if result.Status == channeldb.StatusSucceeded {
|
||||||
t.Fatal("unexpected payment state")
|
t.Fatal("unexpected payment state")
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -282,13 +277,13 @@ func testPaymentControlSubscribeFail(t *testing.T, registerAttempt bool) {
|
|||||||
len(result.HTLCs))
|
len(result.HTLCs))
|
||||||
}
|
}
|
||||||
|
|
||||||
if result.FailureReason != channeldb.FailureReasonTimeout {
|
if *result.FailureReason != channeldb.FailureReasonTimeout {
|
||||||
t.Fatal("unexpected failure reason")
|
t.Fatal("unexpected failure reason")
|
||||||
}
|
}
|
||||||
|
|
||||||
// After the final event, we expect the channel to be closed.
|
// After the final event, we expect the channel to be closed.
|
||||||
select {
|
select {
|
||||||
case _, ok := <-s:
|
case _, ok := <-s.Updates:
|
||||||
if ok {
|
if ok {
|
||||||
t.Fatal("expected channel to be closed")
|
t.Fatal("expected channel to be closed")
|
||||||
}
|
}
|
||||||
|
@ -457,7 +457,7 @@ func (m *mockControlTower) FetchInFlightPayments() (
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (m *mockControlTower) SubscribePayment(paymentHash lntypes.Hash) (
|
func (m *mockControlTower) SubscribePayment(paymentHash lntypes.Hash) (
|
||||||
bool, chan PaymentResult, error) {
|
*ControlTowerSubscriber, error) {
|
||||||
|
|
||||||
return false, nil, errors.New("not implemented")
|
return nil, errors.New("not implemented")
|
||||||
}
|
}
|
||||||
|
@ -207,7 +207,7 @@ func (p *paymentLifecycle) resumePayment() ([32]byte, *route.Route, error) {
|
|||||||
uint32(state.numShardsInFlight), uint32(p.currentHeight),
|
uint32(state.numShardsInFlight), uint32(p.currentHeight),
|
||||||
)
|
)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Warnf("Failed to find route for payment %x: %v",
|
log.Warnf("Failed to find route for payment %v: %v",
|
||||||
p.paymentHash, err)
|
p.paymentHash, err)
|
||||||
|
|
||||||
routeErr, ok := err.(noRouteError)
|
routeErr, ok := err.(noRouteError)
|
||||||
@ -489,7 +489,7 @@ func (p *shardHandler) collectResult(attempt *channeldb.HTLCAttemptInfo) (
|
|||||||
// case we can safely send a new payment attempt, and wait for its
|
// case we can safely send a new payment attempt, and wait for its
|
||||||
// result to be available.
|
// result to be available.
|
||||||
case err == htlcswitch.ErrPaymentIDNotFound:
|
case err == htlcswitch.ErrPaymentIDNotFound:
|
||||||
log.Debugf("Payment ID %v for hash %x not found in "+
|
log.Debugf("Payment ID %v for hash %v not found in "+
|
||||||
"the Switch, retrying.", attempt.AttemptID,
|
"the Switch, retrying.", attempt.AttemptID,
|
||||||
p.paymentHash)
|
p.paymentHash)
|
||||||
|
|
||||||
@ -544,7 +544,7 @@ func (p *shardHandler) collectResult(attempt *channeldb.HTLCAttemptInfo) (
|
|||||||
}
|
}
|
||||||
|
|
||||||
// We successfully got a payment result back from the switch.
|
// We successfully got a payment result back from the switch.
|
||||||
log.Debugf("Payment %x succeeded with pid=%v",
|
log.Debugf("Payment %v succeeded with pid=%v",
|
||||||
p.paymentHash, attempt.AttemptID)
|
p.paymentHash, attempt.AttemptID)
|
||||||
|
|
||||||
// Report success to mission control.
|
// Report success to mission control.
|
||||||
@ -637,7 +637,7 @@ func (p *shardHandler) sendPaymentAttempt(
|
|||||||
attempt *channeldb.HTLCAttemptInfo, firstHop lnwire.ShortChannelID,
|
attempt *channeldb.HTLCAttemptInfo, firstHop lnwire.ShortChannelID,
|
||||||
htlcAdd *lnwire.UpdateAddHTLC) error {
|
htlcAdd *lnwire.UpdateAddHTLC) error {
|
||||||
|
|
||||||
log.Tracef("Attempting to send payment %x (pid=%v), "+
|
log.Tracef("Attempting to send payment %v (pid=%v), "+
|
||||||
"using route: %v", p.paymentHash, attempt.AttemptID,
|
"using route: %v", p.paymentHash, attempt.AttemptID,
|
||||||
newLogClosure(func() string {
|
newLogClosure(func() string {
|
||||||
return spew.Sdump(attempt.Route)
|
return spew.Sdump(attempt.Route)
|
||||||
@ -653,12 +653,12 @@ func (p *shardHandler) sendPaymentAttempt(
|
|||||||
)
|
)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Errorf("Failed sending attempt %d for payment "+
|
log.Errorf("Failed sending attempt %d for payment "+
|
||||||
"%x to switch: %v", attempt.AttemptID,
|
"%v to switch: %v", attempt.AttemptID,
|
||||||
p.paymentHash, err)
|
p.paymentHash, err)
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
log.Debugf("Payment %x (pid=%v) successfully sent to switch, route: %v",
|
log.Debugf("Payment %v (pid=%v) successfully sent to switch, route: %v",
|
||||||
p.paymentHash, attempt.AttemptID, &attempt.Route)
|
p.paymentHash, attempt.AttemptID, &attempt.Route)
|
||||||
|
|
||||||
return nil
|
return nil
|
||||||
@ -678,7 +678,7 @@ func (p *shardHandler) handleSendError(attempt *channeldb.HTLCAttemptInfo,
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
log.Debugf("Payment %x failed: final_outcome=%v, raw_err=%v",
|
log.Debugf("Payment %v failed: final_outcome=%v, raw_err=%v",
|
||||||
p.paymentHash, *reason, sendErr)
|
p.paymentHash, *reason, sendErr)
|
||||||
|
|
||||||
err := p.router.cfg.Control.Fail(p.paymentHash, *reason)
|
err := p.router.cfg.Control.Fail(p.paymentHash, *reason)
|
||||||
|
83
rpcserver.go
83
rpcserver.go
@ -5184,94 +5184,21 @@ func (r *rpcServer) ListPayments(ctx context.Context,
|
|||||||
}
|
}
|
||||||
|
|
||||||
for _, payment := range paymentsQuerySlice.Payments {
|
for _, payment := range paymentsQuerySlice.Payments {
|
||||||
// Fetch the payment's route and preimage. If no HTLC was
|
payment := payment
|
||||||
// successful, an empty route and preimage will be used.
|
|
||||||
var (
|
|
||||||
route route.Route
|
|
||||||
preimage lntypes.Preimage
|
|
||||||
)
|
|
||||||
for _, htlc := range payment.HTLCs {
|
|
||||||
// Display the last route attempted.
|
|
||||||
route = htlc.Route
|
|
||||||
|
|
||||||
// If any of the htlcs have settled, extract a valid
|
rpcPayment, err := r.routerBackend.MarshallPayment(&payment)
|
||||||
// preimage.
|
|
||||||
if htlc.Settle != nil {
|
|
||||||
preimage = htlc.Settle.Preimage
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Encode the hops from the successful route, if any.
|
|
||||||
path := make([]string, len(route.Hops))
|
|
||||||
for i, hop := range route.Hops {
|
|
||||||
path[i] = hex.EncodeToString(hop.PubKeyBytes[:])
|
|
||||||
}
|
|
||||||
|
|
||||||
msatValue := int64(payment.Info.Value)
|
|
||||||
satValue := int64(payment.Info.Value.ToSatoshis())
|
|
||||||
|
|
||||||
status, err := convertPaymentStatus(payment.Status)
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
htlcs := make([]*lnrpc.HTLCAttempt, 0, len(payment.HTLCs))
|
paymentsResp.Payments = append(
|
||||||
for _, dbHTLC := range payment.HTLCs {
|
paymentsResp.Payments, rpcPayment,
|
||||||
htlc, err := r.routerBackend.MarshalHTLCAttempt(dbHTLC)
|
)
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
htlcs = append(htlcs, htlc)
|
|
||||||
}
|
|
||||||
|
|
||||||
paymentHash := payment.Info.PaymentHash
|
|
||||||
creationTimeNS := routerrpc.MarshalTimeNano(payment.Info.CreationTime)
|
|
||||||
paymentsResp.Payments = append(paymentsResp.Payments, &lnrpc.Payment{
|
|
||||||
PaymentHash: hex.EncodeToString(paymentHash[:]),
|
|
||||||
Value: satValue,
|
|
||||||
ValueMsat: msatValue,
|
|
||||||
ValueSat: satValue,
|
|
||||||
CreationDate: payment.Info.CreationTime.Unix(),
|
|
||||||
CreationTimeNs: creationTimeNS,
|
|
||||||
Path: path,
|
|
||||||
Fee: int64(route.TotalFees().ToSatoshis()),
|
|
||||||
FeeSat: int64(route.TotalFees().ToSatoshis()),
|
|
||||||
FeeMsat: int64(route.TotalFees()),
|
|
||||||
PaymentPreimage: hex.EncodeToString(preimage[:]),
|
|
||||||
PaymentRequest: string(payment.Info.PaymentRequest),
|
|
||||||
Status: status,
|
|
||||||
Htlcs: htlcs,
|
|
||||||
PaymentIndex: payment.SequenceNum,
|
|
||||||
})
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return paymentsResp, nil
|
return paymentsResp, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
// convertPaymentStatus converts a channeldb.PaymentStatus to the type expected
|
|
||||||
// by the RPC.
|
|
||||||
func convertPaymentStatus(dbStatus channeldb.PaymentStatus) (
|
|
||||||
lnrpc.Payment_PaymentStatus, error) {
|
|
||||||
|
|
||||||
switch dbStatus {
|
|
||||||
case channeldb.StatusUnknown:
|
|
||||||
return lnrpc.Payment_UNKNOWN, nil
|
|
||||||
|
|
||||||
case channeldb.StatusInFlight:
|
|
||||||
return lnrpc.Payment_IN_FLIGHT, nil
|
|
||||||
|
|
||||||
case channeldb.StatusSucceeded:
|
|
||||||
return lnrpc.Payment_SUCCEEDED, nil
|
|
||||||
|
|
||||||
case channeldb.StatusFailed:
|
|
||||||
return lnrpc.Payment_FAILED, nil
|
|
||||||
|
|
||||||
default:
|
|
||||||
return 0, fmt.Errorf("unhandled payment status %v", dbStatus)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// DeleteAllPayments deletes all outgoing payments from DB.
|
// DeleteAllPayments deletes all outgoing payments from DB.
|
||||||
func (r *rpcServer) DeleteAllPayments(ctx context.Context,
|
func (r *rpcServer) DeleteAllPayments(ctx context.Context,
|
||||||
_ *lnrpc.DeleteAllPaymentsRequest) (*lnrpc.DeleteAllPaymentsResponse, error) {
|
_ *lnrpc.DeleteAllPaymentsRequest) (*lnrpc.DeleteAllPaymentsResponse, error) {
|
||||||
|
Loading…
Reference in New Issue
Block a user