Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
P
plugin
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
JIRA
JIRA
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
link33
plugin
Commits
2ffe574c
Commit
2ffe574c
authored
Nov 07, 2019
by
pengjun
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
#627 update coll & issuance query result
parent
af89673b
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
279 additions
and
223 deletions
+279
-223
collateralizedb.go
plugin/dapp/collateralize/executor/collateralizedb.go
+1
-0
query.go
plugin/dapp/collateralize/executor/query.go
+14
-0
collateralize.proto
plugin/dapp/collateralize/proto/collateralize.proto
+21
-19
collateralize.pb.go
plugin/dapp/collateralize/types/collateralize.pb.go
+104
-87
issuancedb.go
plugin/dapp/issuance/executor/issuancedb.go
+1
-0
query.go
plugin/dapp/issuance/executor/query.go
+2
-0
issuance.proto
plugin/dapp/issuance/proto/issuance.proto
+37
-35
issuance.pb.go
plugin/dapp/issuance/types/issuance.pb.go
+99
-82
No files found.
plugin/dapp/collateralize/executor/collateralizedb.go
View file @
2ffe574c
...
...
@@ -584,6 +584,7 @@ func (action *Action) CollateralizeBorrow(borrow *pty.CollateralizeBorrow) (*typ
// 构造借出记录
borrowRecord
:=
&
pty
.
BorrowRecord
{}
borrowRecord
.
RecordId
=
common
.
ToHex
(
action
.
txhash
)
borrowRecord
.
CollateralizeId
=
coll
.
CollateralizeId
borrowRecord
.
AccountAddr
=
action
.
fromaddr
borrowRecord
.
CollateralValue
=
btyFrozen
borrowRecord
.
StartTime
=
action
.
blocktime
...
...
plugin/dapp/collateralize/executor/query.go
View file @
2ffe574c
...
...
@@ -25,6 +25,7 @@ func (c *Collateralize) Query_CollateralizeInfoByID(req *pty.ReqCollateralizeInf
CreateAddr
:
coll
.
CreateAddr
,
Balance
:
coll
.
Balance
,
Period
:
coll
.
Period
,
CollateralizeId
:
coll
.
CollateralizeId
,
},
nil
}
...
...
@@ -46,6 +47,7 @@ func (c *Collateralize) Query_CollateralizeInfoByIDs(req *pty.ReqCollateralizeIn
CreateAddr
:
coll
.
CreateAddr
,
Balance
:
coll
.
Balance
,
Period
:
coll
.
Period
,
CollateralizeId
:
coll
.
CollateralizeId
,
})
}
...
...
@@ -100,6 +102,18 @@ func (c *Collateralize) Query_CollateralizeRecordByAddr(req *pty.ReqCollateraliz
return
ret
,
nil
}
func
(
c
*
Collateralize
)
Query_CollateralizeRecordByStatus
(
req
*
pty
.
ReqCollateralizeRecordByStatus
)
(
types
.
Message
,
error
)
{
ret
:=
&
pty
.
RepCollateralizeRecords
{}
records
,
err
:=
queryCollateralizeRecordByStatus
(
c
.
GetStateDB
(),
c
.
GetLocalDB
(),
req
.
Status
,
req
.
Index
)
if
err
!=
nil
{
clog
.
Error
(
"Query_CollateralizeRecordByStatus"
,
"get collateralize record error"
,
err
)
return
nil
,
err
}
ret
.
Records
=
records
return
ret
,
nil
}
func
(
c
*
Collateralize
)
Query_CollateralizeConfig
(
req
*
pty
.
ReqCollateralizeRecordByAddr
)
(
types
.
Message
,
error
)
{
config
,
err
:=
getCollateralizeConfig
(
c
.
GetStateDB
())
if
err
!=
nil
{
...
...
plugin/dapp/collateralize/proto/collateralize.proto
View file @
2ffe574c
...
...
@@ -2,15 +2,15 @@ syntax = "proto3";
package
types
;
//
借
贷信息
//
放
贷信息
message
Collateralize
{
string
collateralizeId
=
1
;
//
借贷ID,一期借
贷对应一个ID
int64
totalBalance
=
2
;
//当期
可借
贷的总金额(ccny)
string
collateralizeId
=
1
;
//
放贷ID,一期放
贷对应一个ID
int64
totalBalance
=
2
;
//当期
放
贷的总金额(ccny)
int64
debtCeiling
=
3
;
//单用户可借出的限额(ccny)
float
liquidationRatio
=
4
;
//清算比例
float
stabilityFeeRatio
=
5
;
//稳定费率
string
createAddr
=
6
;
//创建人地址
int64
balance
=
7
;
//
剩余可借贷
金额(ccny)
int64
balance
=
7
;
//
放贷剩余
金额(ccny)
repeated
BorrowRecord
borrowRecords
=
8
;
//借贷记录
repeated
BorrowRecord
InvalidRecords
=
9
;
//失效的借贷记录
int32
status
=
10
;
//当期借贷的状态,是否关闭
...
...
@@ -33,9 +33,10 @@ message BorrowRecord {
int64
liquidateTime
=
8
;
//清算时间
int64
expireTime
=
9
;
//超时清算时间
int32
preStatus
=
10
;
//上一次抵押状态,用于告警恢复
string
recordId
=
11
;
//借出id,标识一次借出记录
int64
index
=
12
;
//当前索引
int64
preIndex
=
13
;
//上级索引
string
recordId
=
11
;
//借贷id,标识一次借出记录
string
collateralizeId
=
12
;
//放贷id
int64
index
=
13
;
//当前索引
int64
preIndex
=
14
;
//上级索引
}
// 资产价格记录
...
...
@@ -71,7 +72,7 @@ message CollateralizeManage {
message
CollateralizeAddr
{
repeated
string
superAddrs
=
1
;
//大户地址
}
// 创建
借
贷
// 创建
放
贷
message
CollateralizeCreate
{
int64
totalBalance
=
1
;
//可借贷总金额
}
...
...
@@ -102,12 +103,12 @@ message CollateralizeFeed {
repeated
int64
volume
=
3
;
//成交量
}
//
借
贷关闭
//
放
贷关闭
message
CollateralizeClose
{
string
collateralizeId
=
1
;
//借贷期数ID
}
// exec_local
借
贷信息
// exec_local
放
贷信息
message
ReceiptCollateralize
{
string
collateralizeId
=
1
;
string
createAddr
=
2
;
...
...
@@ -119,7 +120,7 @@ message ReceiptCollateralize {
int64
preIndex
=
8
;
}
// exec_local
借
贷记录信息
// exec_local
放
贷记录信息
message
CollateralizeRecord
{
string
collateralizeId
=
1
;
string
addr
=
2
;
...
...
@@ -127,17 +128,17 @@ message CollateralizeRecord {
int64
index
=
4
;
}
// exec_local
借
贷记录信息列表
// exec_local
放
贷记录信息列表
message
CollateralizeRecords
{
repeated
CollateralizeRecord
records
=
1
;
}
// 根据ID查询一期
借
贷信息
// 根据ID查询一期
放
贷信息
message
ReqCollateralizeInfo
{
string
collateralizeId
=
1
;
}
// 返回一期
借
贷信息
// 返回一期
放
贷信息
message
RepCollateralizeCurrentInfo
{
int32
status
=
1
;
//当期借贷的状态,是否关闭
int64
totalBalance
=
2
;
//当期可借贷的总金额(ccny)
...
...
@@ -147,19 +148,20 @@ message RepCollateralizeCurrentInfo {
string
createAddr
=
6
;
//创建人地址
int64
balance
=
7
;
//剩余可借贷金额(ccny)
int64
period
=
8
;
//合约期限
string
collateralizeId
=
9
;
//放贷ID
}
// 根据ID列表查询多期
借
贷信息
// 根据ID列表查询多期
放
贷信息
message
ReqCollateralizeInfos
{
repeated
string
collateralizeIds
=
1
;
}
// 返回多期
借
贷信息
// 返回多期
放
贷信息
message
RepCollateralizeCurrentInfos
{
repeated
RepCollateralizeCurrentInfo
infos
=
1
;
}
// 根据
借
贷状态查询
// 根据
放
贷状态查询
message
ReqCollateralizeByStatus
{
int32
status
=
1
;
int64
index
=
2
;
...
...
@@ -171,7 +173,7 @@ message ReqCollateralizeByAddr {
int64
index
=
2
;
}
// 返回
借
贷ID列表
// 返回
放
贷ID列表
message
RepCollateralizeIDs
{
repeated
string
IDs
=
1
;
}
...
...
@@ -201,7 +203,7 @@ message ReqCollateralizeRecord {
string
recordId
=
2
;
}
// 返回记录
// 返回
借贷
记录
message
RepCollateralizeRecord
{
BorrowRecord
record
=
1
;
}
...
...
plugin/dapp/collateralize/types/collateralize.pb.go
View file @
2ffe574c
...
...
@@ -20,7 +20,7 @@ var _ = math.Inf
// proto package needs to be updated.
const
_
=
proto
.
ProtoPackageIsVersion3
// please upgrade the proto package
//
借
贷信息
//
放
贷信息
type
Collateralize
struct
{
CollateralizeId
string
`protobuf:"bytes,1,opt,name=collateralizeId,proto3" json:"collateralizeId,omitempty"`
TotalBalance
int64
`protobuf:"varint,2,opt,name=totalBalance,proto3" json:"totalBalance,omitempty"`
...
...
@@ -185,8 +185,9 @@ type BorrowRecord struct {
ExpireTime
int64
`protobuf:"varint,9,opt,name=expireTime,proto3" json:"expireTime,omitempty"`
PreStatus
int32
`protobuf:"varint,10,opt,name=preStatus,proto3" json:"preStatus,omitempty"`
RecordId
string
`protobuf:"bytes,11,opt,name=recordId,proto3" json:"recordId,omitempty"`
Index
int64
`protobuf:"varint,12,opt,name=index,proto3" json:"index,omitempty"`
PreIndex
int64
`protobuf:"varint,13,opt,name=preIndex,proto3" json:"preIndex,omitempty"`
CollateralizeId
string
`protobuf:"bytes,12,opt,name=collateralizeId,proto3" json:"collateralizeId,omitempty"`
Index
int64
`protobuf:"varint,13,opt,name=index,proto3" json:"index,omitempty"`
PreIndex
int64
`protobuf:"varint,14,opt,name=preIndex,proto3" json:"preIndex,omitempty"`
XXX_NoUnkeyedLiteral
struct
{}
`json:"-"`
XXX_unrecognized
[]
byte
`json:"-"`
XXX_sizecache
int32
`json:"-"`
...
...
@@ -294,6 +295,13 @@ func (m *BorrowRecord) GetRecordId() string {
return
""
}
func
(
m
*
BorrowRecord
)
GetCollateralizeId
()
string
{
if
m
!=
nil
{
return
m
.
CollateralizeId
}
return
""
}
func
(
m
*
BorrowRecord
)
GetIndex
()
int64
{
if
m
!=
nil
{
return
m
.
Index
...
...
@@ -646,7 +654,7 @@ func (m *CollateralizeAddr) GetSuperAddrs() []string {
return
nil
}
// 创建
借
贷
// 创建
放
贷
type
CollateralizeCreate
struct
{
TotalBalance
int64
`protobuf:"varint,1,opt,name=totalBalance,proto3" json:"totalBalance,omitempty"`
XXX_NoUnkeyedLiteral
struct
{}
`json:"-"`
...
...
@@ -894,7 +902,7 @@ func (m *CollateralizeFeed) GetVolume() []int64 {
return
nil
}
//
借
贷关闭
//
放
贷关闭
type
CollateralizeClose
struct
{
CollateralizeId
string
`protobuf:"bytes,1,opt,name=collateralizeId,proto3" json:"collateralizeId,omitempty"`
XXX_NoUnkeyedLiteral
struct
{}
`json:"-"`
...
...
@@ -934,7 +942,7 @@ func (m *CollateralizeClose) GetCollateralizeId() string {
return
""
}
// exec_local
借
贷信息
// exec_local
放
贷信息
type
ReceiptCollateralize
struct
{
CollateralizeId
string
`protobuf:"bytes,1,opt,name=collateralizeId,proto3" json:"collateralizeId,omitempty"`
CreateAddr
string
`protobuf:"bytes,2,opt,name=createAddr,proto3" json:"createAddr,omitempty"`
...
...
@@ -1030,7 +1038,7 @@ func (m *ReceiptCollateralize) GetPreIndex() int64 {
return
0
}
// exec_local
借
贷记录信息
// exec_local
放
贷记录信息
type
CollateralizeRecord
struct
{
CollateralizeId
string
`protobuf:"bytes,1,opt,name=collateralizeId,proto3" json:"collateralizeId,omitempty"`
Addr
string
`protobuf:"bytes,2,opt,name=addr,proto3" json:"addr,omitempty"`
...
...
@@ -1094,7 +1102,7 @@ func (m *CollateralizeRecord) GetIndex() int64 {
return
0
}
// exec_local
借
贷记录信息列表
// exec_local
放
贷记录信息列表
type
CollateralizeRecords
struct
{
Records
[]
*
CollateralizeRecord
`protobuf:"bytes,1,rep,name=records,proto3" json:"records,omitempty"`
XXX_NoUnkeyedLiteral
struct
{}
`json:"-"`
...
...
@@ -1134,7 +1142,7 @@ func (m *CollateralizeRecords) GetRecords() []*CollateralizeRecord {
return
nil
}
// 根据ID查询一期
借
贷信息
// 根据ID查询一期
放
贷信息
type
ReqCollateralizeInfo
struct
{
CollateralizeId
string
`protobuf:"bytes,1,opt,name=collateralizeId,proto3" json:"collateralizeId,omitempty"`
XXX_NoUnkeyedLiteral
struct
{}
`json:"-"`
...
...
@@ -1174,7 +1182,7 @@ func (m *ReqCollateralizeInfo) GetCollateralizeId() string {
return
""
}
// 返回一期
借
贷信息
// 返回一期
放
贷信息
type
RepCollateralizeCurrentInfo
struct
{
Status
int32
`protobuf:"varint,1,opt,name=status,proto3" json:"status,omitempty"`
TotalBalance
int64
`protobuf:"varint,2,opt,name=totalBalance,proto3" json:"totalBalance,omitempty"`
...
...
@@ -1184,6 +1192,7 @@ type RepCollateralizeCurrentInfo struct {
CreateAddr
string
`protobuf:"bytes,6,opt,name=createAddr,proto3" json:"createAddr,omitempty"`
Balance
int64
`protobuf:"varint,7,opt,name=balance,proto3" json:"balance,omitempty"`
Period
int64
`protobuf:"varint,8,opt,name=period,proto3" json:"period,omitempty"`
CollateralizeId
string
`protobuf:"bytes,9,opt,name=collateralizeId,proto3" json:"collateralizeId,omitempty"`
XXX_NoUnkeyedLiteral
struct
{}
`json:"-"`
XXX_unrecognized
[]
byte
`json:"-"`
XXX_sizecache
int32
`json:"-"`
...
...
@@ -1270,7 +1279,14 @@ func (m *RepCollateralizeCurrentInfo) GetPeriod() int64 {
return
0
}
// 根据ID列表查询多期借贷信息
func
(
m
*
RepCollateralizeCurrentInfo
)
GetCollateralizeId
()
string
{
if
m
!=
nil
{
return
m
.
CollateralizeId
}
return
""
}
// 根据ID列表查询多期放贷信息
type
ReqCollateralizeInfos
struct
{
CollateralizeIds
[]
string
`protobuf:"bytes,1,rep,name=collateralizeIds,proto3" json:"collateralizeIds,omitempty"`
XXX_NoUnkeyedLiteral
struct
{}
`json:"-"`
...
...
@@ -1310,7 +1326,7 @@ func (m *ReqCollateralizeInfos) GetCollateralizeIds() []string {
return
nil
}
// 返回多期
借
贷信息
// 返回多期
放
贷信息
type
RepCollateralizeCurrentInfos
struct
{
Infos
[]
*
RepCollateralizeCurrentInfo
`protobuf:"bytes,1,rep,name=infos,proto3" json:"infos,omitempty"`
XXX_NoUnkeyedLiteral
struct
{}
`json:"-"`
...
...
@@ -1350,7 +1366,7 @@ func (m *RepCollateralizeCurrentInfos) GetInfos() []*RepCollateralizeCurrentInfo
return
nil
}
// 根据
借
贷状态查询
// 根据
放
贷状态查询
type
ReqCollateralizeByStatus
struct
{
Status
int32
`protobuf:"varint,1,opt,name=status,proto3" json:"status,omitempty"`
Index
int64
`protobuf:"varint,2,opt,name=index,proto3" json:"index,omitempty"`
...
...
@@ -1446,7 +1462,7 @@ func (m *ReqCollateralizeByAddr) GetIndex() int64 {
return
0
}
// 返回
借
贷ID列表
// 返回
放
贷ID列表
type
RepCollateralizeIDs
struct
{
IDs
[]
string
`protobuf:"bytes,1,rep,name=IDs,proto3" json:"IDs,omitempty"`
XXX_NoUnkeyedLiteral
struct
{}
`json:"-"`
...
...
@@ -1686,7 +1702,7 @@ func (m *ReqCollateralizeRecord) GetRecordId() string {
return
""
}
// 返回记录
// 返回
借贷
记录
type
RepCollateralizeRecord
struct
{
Record
*
BorrowRecord
`protobuf:"bytes,1,opt,name=record,proto3" json:"record,omitempty"`
XXX_NoUnkeyedLiteral
struct
{}
`json:"-"`
...
...
@@ -1840,79 +1856,80 @@ func init() {
func
init
()
{
proto
.
RegisterFile
(
"collateralize.proto"
,
fileDescriptor_a988fb4a61381972
)
}
var
fileDescriptor_a988fb4a61381972
=
[]
byte
{
// 11
81
bytes of a gzipped FileDescriptorProto
// 11
92
bytes of a gzipped FileDescriptorProto
0x1f
,
0x8b
,
0x08
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x02
,
0xff
,
0xdc
,
0x58
,
0xdd
,
0x6e
,
0xdc
,
0x44
,
0x14
,
0xae
,
0xed
,
0xfd
,
0xc9
,
0x9e
,
0x4d
,
0xd
a
,
0x74
,
0x12
,
0x82
,
0x09
,
0x51
,
0xb4
,
0xb2
,
0x90
,
0x14
,
0xae
,
0xed
,
0xfd
,
0xc9
,
0x9e
,
0x4d
,
0xd
2
,
0x76
,
0x12
,
0x82
,
0x09
,
0x51
,
0xb4
,
0xb2
,
0x90
,
0x58
,
0xf1
,
0x13
,
0x89
,
0xb4
,
0x42
,
0x54
,
0x48
,
0x88
,
0x64
,
0xdb
,
0x2a
,
0x2b
,
0x15
,
0xa9
,
0x32
,
0x05
,
0x21
,
0x24
,
0x90
,
0xbc
,
0xf6
,
0x24
,
0x58
,
0x72
,
0x6c
,
0x67
,
0x3c
,
0x1b
,
0xb2
,
0xdc
,
0xd3
,
0xa7
,
0xe0
,
0x9e
,
0x37
,
0xe0
,
0x3d
,
0xb8
,
0xe0
,
0x65
,
0xb8
,
0x42
,
0x73
,
0x66
,
0xfc
,
0x37
,
0xb6
,
0xa3
,
0x2c
,
0x70
,
0x03
,
0x37
,
0xd5
,
0xce
,
0x99
,
0x6f
,
0xce
,
0x1c
,
0x7f
,
0xe7
,
0x3b
,
0xe7
,
0x4c
,
0x03
,
0x3b
,
0x7e
,
0x12
,
0x45
,
0x1e
,
0xa7
,
0xcc
,
0x8b
,
0xc2
,
0x9f
,
0xe8
,
0x51
,
0xca
,
0x12
,
0x9e
,
0x90
,
0x3e
,
0x5f
,
0xa5
,
0x34
,
0x73
,
0x7e
,
0xef
,
0xc1
,
0xd6
,
0xac
,
0xba
,
0x4d
,
0xa6
,
0xf0
,
0xa0
,
0x86
,
0x9f
,
0x07
,
0xb6
,
0x31
,
0x31
,
0xa6
,
0x23
,
0x57
,
0x37
,
0x13
,
0x07
,
0x36
,
0x79
,
0xc2
,
0xbd
,
0xe8
,
0xd4
,
0x8b
,
0xbc
,
0xd8
,
0xa7
,
0xb6
,
0x39
,
0x31
,
0xa6
,
0x96
,
0x5b
,
0xb3
,
0x91
,
0x09
,
0x8c
,
0x03
,
0xba
,
0xe0
,
0x33
,
0x1a
,
0x46
,
0x61
,
0x7c
,
0x61
,
0x5b
,
0x08
,
0xa9
,
0x9a
,
0xc8
,
0x7b
,
0xb0
,
0x1d
,
0x85
,
0x57
,
0xcb
,
0x30
,
0xf0
,
0x78
,
0x98
,
0xc4
,
0xae
,
0xf8
,
0xd7
,
0xee
,
0x4d
,
0x8c
,
0xa9
,
0xe9
,
0x36
,
0xec
,
0xe4
,
0x03
,
0x78
,
0x98
,
0x71
,
0x6f
,
0x11
,
0x46
,
0x21
,
0x5f
,
0x3d
,
0xa7
,
0x54
,
0x82
,
0xfb
,
0x08
,
0x6e
,
0x6e
,
0x90
,
0x43
,
0x00
,
0x9f
,
0x51
,
0x8f
,
0xd3
,
0x93
,
0x20
,
0x60
,
0xf6
,
0x00
,
0x3f
,
0xa2
,
0x62
,
0x21
,
0x36
,
0x0c
,
0x17
,
0x2a
,
0xf4
,
0x21
,
0xc6
,
0x95
,
0x2f
,
0xc9
,
0x13
,
0xd8
,
0x5a
,
0x24
,
0x8c
,
0x25
,
0x3f
,
0xba
,
0xd4
,
0x4f
,
0x58
,
0x90
,
0xd9
,
0x1b
,
0x13
,
0x6b
,
0x3a
,
0x3e
,
0xde
,
0x39
,
0x42
,
0xd2
,
0x8e
,
0x4e
,
0x2b
,
0x7b
,
0x6e
,
0x1d
,
0x49
,
0x3e
,
0x85
,
0xfb
,
0xf3
,
0xf8
,
0xda
,
0x8b
,
0xc2
,
0x20
,
0x3f
,
0x3b
,
0xea
,
0x3e
,
0xab
,
0x41
,
0xc9
,
0x1e
,
0x0c
,
0x32
,
0xee
,
0xf1
,
0x65
,
0x66
,
0xc3
,
0xc4
,
0x98
,
0xf6
,
0x5d
,
0xb5
,
0x22
,
0x1f
,
0xc3
,
0x9e
,
0x60
,
0x3e
,
0xe3
,
0x2f
,
0x4a
,
0x46
,
0x5e
,
0xb2
,
0xd0
,
0xa7
,
0xf6
,
0x18
,
0x3f
,
0xbe
,
0x63
,
0x57
,
0xf8
,
0x4b
,
0x29
,
0x0b
,
0x93
,
0xc0
,
0xde
,
0xc4
,
0x0f
,
0x54
,
0x2b
,
0xe4
,
0x1c
,
0x4f
,
0x3c
,
0xbb
,
0x49
,
0x43
,
0x46
,
0x5f
,
0x85
,
0x97
,
0xd4
,
0xde
,
0x42
,
0x44
,
0xc3
,
0x4e
,
0x76
,
0xa1
,
0x1f
,
0xc6
,
0x01
,
0xbd
,
0xb1
,
0xef
,
0x23
,
0x40
,
0x2e
,
0xc8
,
0x3e
,
0x6c
,
0xa4
,
0x8c
,
0xce
,
0x71
,
0xe3
,
0x01
,
0x6e
,
0x14
,
0x6b
,
0xe7
,
0x37
,
0x0b
,
0x36
,
0xab
,
0x9f
,
0x29
,
0x44
,
0xe0
,
0xf9
,
0x7e
,
0xb2
,
0x8c
,
0x39
,
0x66
,
0x42
,
0xca
,
0xa9
,
0x6a
,
0x22
,
0x07
,
0x30
,
0xca
,
0xb8
,
0xc7
,
0x38
,
0x46
,
0x22
,
0x75
,
0x54
,
0x1a
,
0xea
,
0x92
,
0xfc
,
0xda
,
0x8b
,
0x96
,
0x54
,
0x09
,
0x49
,
0x37
,
0xd7
,
0x91
,
0x92
,
0x21
,
0xa9
,
0x25
,
0xdd
,
0x2c
,
0x6e
,
0x14
,
0x2a
,
0x94
,
0xde
,
0xfa
,
0xf2
,
0xc6
,
0xc2
,
0xa0
,
0x89
,
0x52
,
0x3a
,
0x1a
,
0x34
,
0x44
,
0x59
,
0x90
,
0xac
,
0x92
,
0x36
,
0xac
,
0x25
,
0xed
,
0x1d
,
0xd8
,
0xca
,
0xb1
,
0x92
,
0xe1
,
0x0d
,
0xbc
,
0xa5
,
0x6e
,
0x14
,
0x22
,
0xa5
,
0x65
,
0x12
,
0x46
,
0x08
,
0xa9
,
0x58
,
0x44
,
0x9c
,
0x29
,
0xa3
,
0x5f
,
0x56
,
0x55
,
0x51
,
0x1a
,
0x44
,
0x1a
,
0x18
,
0x72
,
0x3c
,
0x0f
,
0x50
,
0x0a
,
0x23
,
0xb7
,
0x58
,
0x97
,
0x89
,
0xdb
,
0xec
,
0x4a
,
0xdc
,
0x96
,
0x96
,
0xb8
,
0xd7
,
0x06
,
0x6c
,
0x9f
,
0x64
,
0x19
,
0xe5
,
0xf8
,
0x61
,
0x2a
,
0x79
,
0x87
,
0x00
,
0xd2
,
0x25
,
0x06
,
0x68
,
0xc8
,
0x00
,
0x4b
,
0x8b
,
0x70
,
0xb8
,
0xe0
,
0x2b
,
0x49
,
0x91
,
0x89
,
0x14
,
0x15
,
0x6b
,
0xb9
,
0xe7
,
0xcb
,
0x3d
,
0x2b
,
0xdf
,
0xf3
,
0x8b
,
0x3d
,
0xca
,
0x7f
,
0xa8
,
0xe6
,
0xa8
,
0x58
,
0x3b
,
0xbf
,
0x58
,
0xb0
,
0x53
,
0xeb
,
0x4a
,
0x27
,
0xbe
,
0xe0
,
0x9b
,
0x3c
,
0x86
,
0x81
,
0xac
,
0x5f
,
0x8c
,
0x63
,
0x7c
,
0xbc
,
0xaf
,
0x8a
,
0xaa
,
0x86
,
0x9d
,
0x21
,
0xe2
,
0xec
,
0x9e
,
0xab
,
0xb0
,
0xe2
,
0x94
,
0xac
,
0x51
,
0x8c
,
0xaf
,
0xe3
,
0x94
,
0x14
,
0xac
,
0x38
,
0x25
,
0xb1
,
0xe4
,
0x23
,
0xe8
,
0x33
,
0x9a
,
0x7a
,
0x2b
,
0x0c
,
0x7c
,
0x7c
,
0xfc
,
0x56
,
0xdb
,
0x21
,
0x57
,
0x00
,
0xce
,
0xee
,
0xb9
,
0x12
,
0x29
,
0x2e
,
0xf2
,
0xd2
,
0x94
,
0xc6
,
0x01
,
0x7e
,
0x50
,
0xc7
,
0x45
,
0x27
,
0x88
,
0x10
,
0x17
,
0x49
,
0x2c
,
0x39
,
0x82
,
0xde
,
0x39
,
0xa5
,
0x01
,
0x8a
,
0x70
,
0x7c
,
0x6c
,
0xb7
,
0x9d
,
0x79
,
0x4e
,
0xa9
,
0x38
,
0x81
,
0x38
,
0x11
,
0x98
,
0x1f
,
0x25
,
0x99
,
0x14
,
0x64
,
0x47
,
0x60
,
0x33
,
0x01
,
0x10
,
0x81
,
0x21
,
0x52
,
0x04
,
0x76
,
0xe9
,
0xc5
,
0xde
,
0x85
,
0x6c
,
0x74
,
0x1d
,
0x81
,
0x7d
,
0x81
,
0x08
,
0x11
,
0x98
,
0xc4
,
0x92
,
0xfb
,
0x60
,
0xf2
,
0x95
,
0xd2
,
0x9c
,
0xc9
,
0x57
,
0xa7
,
0x43
,
0xe8
,
0x5f
,
0x8b
,
0xea
,
0x70
,
0xfe
,
0x30
,
0xb4
,
0xf4
,
0xc8
,
0xa3
,
0x7a
,
0xb3
,
0x37
,
0xee
,
0xd6
,
0xec
,
0xcd
,
0x75
,
0x9a
,
0xbd
,
0xd5
,
0xd5
,
0xec
,
0xcb
,
0x56
,
0xd7
,
0xd3
,
0x5b
,
0x9d
,
0x28
,
0xfd
,
0x57
,
0xd5
,
0x41
,
0x25
,
0xcb
,
0xbd
,
0x61
,
0x77
,
0x1e
,
0xc1
,
0xc3
,
0x7a
,
0xaa
,
0x44
,
0x6b
,
0x3a
,
0x04
,
0xc8
,
0x96
,
0x29
,
0x65
,
0x62
,
0x91
,
0xd9
,
0xc6
,
0xc4
,
0x12
,
0x53
,
0xa4
,
0xb4
,
0x38
,
0x4f
,
0x34
,
0x2e
,
0xa4
,
0xfc
,
0x1a
,
0xc3
,
0xd1
,
0x68
,
0x0e
,
0x47
,
0xe7
,
0x2b
,
0xed
,
0xa8
,
0xd4
,
0xe0
,
0x1a
,
0x13
,
0x78
,
0x57
,
0x65
,
0x44
,
0xb5
,
0x4c
,
0x95
,
0x9e
,
0x6f
,
0x81
,
0x34
,
0x55
,
0xba
,
0x86
,
0xd7
,
0x6a
,
0x53
,
0x31
,
0xeb
,
0x4d
,
0xc5
,
0xf9
,
0x59
,
0x4f
,
0xbd
,
0x94
,
0xf3
,
0xbf
,
0xe3
,
0xfd
,
0xee
,
0x8d
,
0xde
,
0xf9
,
0x4e
,
0x4b
,
0x95
,
0xa8
,
0x10
,
0xe1
,
0x1a
,
0x73
,
0xba
,
0x4a
,
0x25
,
0xdf
,
0x7d
,
0xb7
,
0x58
,
0x0b
,
0xaa
,
0x52
,
0xd5
,
0xa3
,
0xac
,
0xa9
,
0xe9
,
0xca
,
0x85
,
0x50
,
0xcd
,
0x75
,
0x12
,
0x2d
,
0x2f
,
0xc5
,
0x3d
,
0x96
,
0x50
,
0x8d
,
0x5c
,
0x39
,
0x9f
,
0x69
,
0x14
,
0x62
,
0x3d
,
0xdd
,
0xfd
,
0x23
,
0x9d
,
0xd7
,
0x26
,
0xec
,
0xba
,
0xd4
,
0xa7
,
0x61
,
0xca
,
0xff
,
0xee
,
0xeb
,
0xaa
,
0xfe
,
0x7a
,
0x31
,
0x1b
,
0xaf
,
0x17
,
0x6d
,
0xa8
,
0x5a
,
0xcd
,
0xa1
,
0x5a
,
0x65
,
0xba
,
0xa7
,
0x31
,
0x5d
,
0x0e
,
0xad
,
0x7e
,
0x6d
,
0x68
,
0x1d
,
0xc0
,
0xe8
,
0x65
,
0x31
,
0x6e
,
0x06
,
0x72
,
0xdc
,
0x14
,
0x86
,
0x72
,
0xa4
,
0x0c
,
0xbb
,
0x46
,
0xca
,
0x86
,
0x36
,
0x52
,
0x1a
,
0x7a
,
0x51
,
0x53
,
0xe5
,
0xee
,
0x3c
,
0x10
,
0xe8
,
0x79
,
0x25
,
0x03
,
0xf8
,
0xbb
,
0xf6
,
0x65
,
0x56
,
0xd7
,
0xd8
,
0xeb
,
0x55
,
0x62
,
0x74
,
0x5e
,
0xc0
,
0x6e
,
0x4b
,
0x18
,
0x19
,
0x79
,
0x0c
,
0x43
,
0xa6
,
0xde
,
0x69
,
0x06
,
0xbe
,
0xd3
,
0xf6
,
0xdb
,
0xfb
,
0x3c
,
0x3e
,
0xd7
,
0x72
,
0xa8
,
0xf3
,
0xb9
,
0xc8
,
0xee
,
0x55
,
0x0d
,
0x32
,
0x8f
,
0xcf
,
0x93
,
0x35
,
0x04
,
0xf2
,
0xab
,
0x09
,
0x6f
,
0xbb
,
0x34
,
0xad
,
0x8b
,
0x6c
,
0xc9
,
0x18
,
0x8d
,
0x39
,
0x7a
,
0x2a
,
0xf3
,
0x63
,
0xd4
,
0xf2
,
0xf3
,
0xff
,
0x7d
,
0x73
,
0x97
,
0x0d
,
0x7c
,
0xa3
,
0xda
,
0xc0
,
0x9d
,
0x19
,
0xbc
,
0xd1
,
0xc6
,
0x75
,
0x96
,
0x77
,
0xf6
,
0x0a
,
0xab
,
0x79
,
0x7b
,
0x6e
,
0xd8
,
0x9d
,
0x6f
,
0xe0
,
0xe0
,
0x16
,
0xb6
,
0x33
,
0xf2
,
0x89
,
0x10
,
0xcd
,
0x79
,
0x92
,
0x8b
,
0xc0
,
0x51
,
0x22
,
0xb8
,
0xe5
,
0x8c
,
0x2b
,
0x0f
,
0x38
,
0x67
,
0x60
,
0xeb
,
0xe1
,
0x9d
,
0xae
,
0x54
,
0xb9
,
0x74
,
0x25
,
0xb1
,
0x90
,
0xa8
,
0x59
,
0x95
,
0xe8
,
0x29
,
0xec
,
0x35
,
0x3d
,
0x21
,
0x69
,
0x79
,
0x09
,
0x18
,
0x95
,
0x12
,
0x68
,
0xf7
,
0xf1
,
0x2e
,
0xec
,
0xe8
,
0x31
,
0xcf
,
0x9f
,
0x66
,
0x64
,
0x1b
,
0xac
,
0xf9
,
0xd3
,
0x9c
,
0x1d
,
0xf1
,
0xd3
,
0x61
,
0x82
,
0x90
,
0xab
,
0x16
,
0x91
,
0xab
,
0x2b
,
0xff
,
0x59
,
0x7d
,
0x16
,
0xc1
,
0x59
,
0xd5
,
0xe0
,
0x6e
,
0xe0
,
0xb0
,
0xeb
,
0x4e
,
0x45
,
0xd8
,
0xdd
,
0x6f
,
0x2d
,
0xa9
,
0x35
,
0xdb
,
0xa9
,
0xad
,
0xdd
,
0x7c
,
0x06
,
0x6f
,
0xea
,
0xb4
,
0xe4
,
0x0d
,
0xe0
,
0x43
,
0xbd
,
0x01
,
0xb4
,
0xfe
,
0x47
,
0xad
,
0xa8
,
0xfc
,
0xef
,
0x9b
,
0x49
,
0x5a
,
0xbb
,
0xa3
,
0xdd
,
0x36
,
0x5f
,
0x9f
,
0x09
,
0xff
,
0x6d
,
0x91
,
0x92
,
0xf7
,
0x61
,
0x20
,
0x51
,
0xea
,
0xed
,
0xdb
,
0x1a
,
0xa7
,
0x82
,
0x38
,
0x7f
,
0x1a
,
0x4d
,
0x3f
,
0xb3
,
0x24
,
0x3e
,
0x0f
,
0x2f
,
0xfe
,
0xeb
,
0x8f
,
0x34
,
0x11
,
0xbf
,
0xb0
,
0xe5
,
0xb0
,
0x81
,
0x8c
,
0xbf
,
0x62
,
0x5a
,
0x0c
,
0xf0
,
0x2f
,
0x1c
,
0x8f
,
0xfe
,
0x0a
,
0x00
,
0x00
,
0xff
,
0xff
,
0xdc
,
0x88
,
0x66
,
0x50
,
0xf8
,
0x10
,
0x00
,
0x00
,
0xa7
,
0xe0
,
0xa5
,
0x7a
,
0xc1
,
0x3d
,
0xcf
,
0xc1
,
0x15
,
0x9a
,
0x33
,
0xe3
,
0xbf
,
0xb1
,
0x1d
,
0x65
,
0x81
,
0x1b
,
0xb8
,
0x89
,
0x3c
,
0x67
,
0xbe
,
0x99
,
0x39
,
0xf3
,
0x9d
,
0xef
,
0x9c
,
0x33
,
0x59
,
0xd8
,
0xf1
,
0x93
,
0x28
,
0xf2
,
0x38
,
0x65
,
0x5e
,
0x14
,
0xfe
,
0x42
,
0x8f
,
0x52
,
0x96
,
0xf0
,
0x84
,
0xf4
,
0xf9
,
0x2a
,
0xa5
,
0x99
,
0xf3
,
0xa6
,
0x07
,
0x5b
,
0xb3
,
0xea
,
0x34
,
0x99
,
0xc2
,
0xfd
,
0x1a
,
0x7e
,
0x1e
,
0xd8
,
0xc6
,
0xc4
,
0x98
,
0x8e
,
0x5c
,
0xdd
,
0x4c
,
0x1c
,
0xd8
,
0xe4
,
0x09
,
0xf7
,
0xa2
,
0x53
,
0x2f
,
0xf2
,
0x62
,
0x9f
,
0xda
,
0xe6
,
0xc4
,
0x98
,
0x5a
,
0x6e
,
0xcd
,
0x46
,
0x26
,
0x30
,
0x0e
,
0xe8
,
0x82
,
0xcf
,
0x68
,
0x18
,
0x85
,
0xf1
,
0x85
,
0x6d
,
0x21
,
0xa4
,
0x6a
,
0x22
,
0x1f
,
0xc0
,
0x83
,
0x28
,
0xbc
,
0x5a
,
0x86
,
0x81
,
0xc7
,
0xc3
,
0x24
,
0x76
,
0xc5
,
0x5f
,
0xbb
,
0x37
,
0x31
,
0xa6
,
0xa6
,
0xdb
,
0xb0
,
0x93
,
0x8f
,
0xe0
,
0x61
,
0xc6
,
0xbd
,
0x45
,
0x18
,
0x85
,
0x7c
,
0xf5
,
0x9c
,
0x52
,
0x09
,
0xee
,
0x23
,
0xb8
,
0x39
,
0x41
,
0x0e
,
0x01
,
0x7c
,
0x46
,
0x3d
,
0x4e
,
0x4f
,
0x82
,
0x80
,
0xd9
,
0x03
,
0xbc
,
0x44
,
0xc5
,
0x42
,
0x6c
,
0x18
,
0x2e
,
0x94
,
0xeb
,
0x43
,
0xf4
,
0x2b
,
0x1f
,
0x92
,
0x27
,
0xb0
,
0xb5
,
0x48
,
0x18
,
0x4b
,
0x7e
,
0x76
,
0xa9
,
0x9f
,
0xb0
,
0x20
,
0xb3
,
0x37
,
0x26
,
0xd6
,
0x74
,
0x7c
,
0xbc
,
0x73
,
0x84
,
0xa4
,
0x1d
,
0x9d
,
0x56
,
0xe6
,
0xdc
,
0x3a
,
0x92
,
0x7c
,
0x0e
,
0xdb
,
0xf3
,
0xf8
,
0xda
,
0x8b
,
0xc2
,
0x20
,
0x5f
,
0x3b
,
0xea
,
0x5e
,
0xab
,
0x41
,
0xc9
,
0x1e
,
0x0c
,
0x32
,
0xee
,
0xf1
,
0x65
,
0x66
,
0xc3
,
0xc4
,
0x98
,
0xf6
,
0x5d
,
0x35
,
0x22
,
0x9f
,
0xc2
,
0x9e
,
0x60
,
0x3e
,
0xe3
,
0x2f
,
0x4a
,
0x46
,
0x5e
,
0xb2
,
0xd0
,
0xa7
,
0xf6
,
0x18
,
0x2f
,
0xdf
,
0x31
,
0x2b
,
0xf6
,
0x4b
,
0x29
,
0x0b
,
0x93
,
0xc0
,
0xde
,
0xc4
,
0x0b
,
0xaa
,
0x11
,
0x72
,
0x8e
,
0x2b
,
0x9e
,
0xdd
,
0xa4
,
0x21
,
0xa3
,
0xaf
,
0xc2
,
0x4b
,
0x6a
,
0x6f
,
0x21
,
0xa2
,
0x61
,
0x27
,
0xbb
,
0xd0
,
0x0f
,
0xe3
,
0x80
,
0xde
,
0xd8
,
0xdb
,
0x08
,
0x90
,
0x03
,
0xb2
,
0x0f
,
0x1b
,
0x29
,
0xa3
,
0x73
,
0x9c
,
0xb8
,
0x8f
,
0x13
,
0xc5
,
0xd8
,
0xf9
,
0xc3
,
0x82
,
0xcd
,
0xea
,
0x35
,
0x85
,
0x08
,
0x3c
,
0xdf
,
0x4f
,
0x96
,
0x31
,
0xc7
,
0x48
,
0x48
,
0x39
,
0x55
,
0x4d
,
0xe4
,
0x00
,
0x46
,
0x19
,
0xf7
,
0x18
,
0x47
,
0x4f
,
0xa4
,
0x8e
,
0x4a
,
0x43
,
0x5d
,
0x92
,
0xdf
,
0x7a
,
0xd1
,
0x92
,
0x2a
,
0x21
,
0xe9
,
0xe6
,
0x3a
,
0x52
,
0x32
,
0x24
,
0xb5
,
0xa4
,
0x9b
,
0xc5
,
0x89
,
0x42
,
0x85
,
0x72
,
0xb7
,
0xbe
,
0x3c
,
0xb1
,
0x30
,
0x68
,
0xa2
,
0x94
,
0x1b
,
0x0d
,
0x1a
,
0xa2
,
0x2c
,
0x48
,
0x56
,
0x41
,
0x1b
,
0xd6
,
0x82
,
0xf6
,
0x1e
,
0x6c
,
0xe5
,
0x58
,
0xc9
,
0xf0
,
0x06
,
0x9e
,
0x52
,
0x37
,
0x0a
,
0x91
,
0xd2
,
0x32
,
0x08
,
0x23
,
0x84
,
0x54
,
0x2c
,
0xc2
,
0xcf
,
0x94
,
0xd1
,
0xaf
,
0xab
,
0xaa
,
0x28
,
0x0d
,
0x22
,
0x0c
,
0x0c
,
0x39
,
0x9e
,
0x07
,
0x28
,
0x85
,
0x91
,
0x5b
,
0x8c
,
0xdb
,
0x12
,
0x79
,
0xb3
,
0x3d
,
0x91
,
0x8b
,
0x10
,
0x6f
,
0x75
,
0x85
,
0x78
,
0x5b
,
0x0b
,
0xf1
,
0x6b
,
0x03
,
0x1e
,
0x9c
,
0x64
,
0x19
,
0xe5
,
0x48
,
0x81
,
0x0a
,
0xf3
,
0x21
,
0x80
,
0x3c
,
0x1c
,
0xaf
,
0x62
,
0xc8
,
0xab
,
0x94
,
0x16
,
0xb1
,
0xe1
,
0x82
,
0xaf
,
0x24
,
0x99
,
0x26
,
0x92
,
0x59
,
0x8c
,
0xe5
,
0x9c
,
0x2f
,
0xe7
,
0xac
,
0x7c
,
0xce
,
0x2f
,
0xe6
,
0x28
,
0xff
,
0xa9
,
0x1a
,
0xcd
,
0x62
,
0xec
,
0xfc
,
0x66
,
0xc1
,
0x4e
,
0xad
,
0x7e
,
0x9d
,
0xf8
,
0x22
,
0x32
,
0xe4
,
0x31
,
0x0c
,
0x64
,
0xa6
,
0xa3
,
0x1f
,
0xe3
,
0xe3
,
0x7d
,
0x95
,
0x7e
,
0x35
,
0xec
,
0x0c
,
0x11
,
0x67
,
0xf7
,
0x5c
,
0x85
,
0x15
,
0xab
,
0x64
,
0x36
,
0xa3
,
0x7f
,
0x1d
,
0xab
,
0xa4
,
0xb4
,
0xc5
,
0x2a
,
0x89
,
0x25
,
0x9f
,
0x40
,
0x9f
,
0xd1
,
0xd4
,
0x5b
,
0xa1
,
0xe3
,
0xe3
,
0xe3
,
0x77
,
0xda
,
0x16
,
0xb9
,
0x02
,
0x70
,
0x76
,
0xcf
,
0x95
,
0x48
,
0x71
,
0x90
,
0x97
,
0xa6
,
0x34
,
0x0e
,
0xf0
,
0x42
,
0x1d
,
0x07
,
0x9d
,
0x20
,
0x42
,
0x1c
,
0x24
,
0xb1
,
0xe4
,
0x08
,
0x7a
,
0xe7
,
0x94
,
0x06
,
0x28
,
0xd7
,
0xf1
,
0xb1
,
0xdd
,
0xb6
,
0xe6
,
0x39
,
0xa5
,
0x62
,
0x05
,
0xe2
,
0x84
,
0x63
,
0x7e
,
0x94
,
0x64
,
0x52
,
0xba
,
0x1d
,
0x8e
,
0xcd
,
0x04
,
0x40
,
0x38
,
0x86
,
0x48
,
0xe1
,
0xd8
,
0xa5
,
0x17
,
0x7b
,
0x17
,
0xb2
,
0x24
,
0x76
,
0x38
,
0xf6
,
0x15
,
0x22
,
0x84
,
0x63
,
0x12
,
0x4b
,
0xb6
,
0xc1
,
0xe4
,
0x2b
,
0xa5
,
0x4e
,
0x93
,
0xaf
,
0x4e
,
0x87
,
0xd0
,
0xbf
,
0x16
,
0x79
,
0xe4
,
0xfc
,
0x6e
,
0x68
,
0xe1
,
0x91
,
0x4b
,
0xf5
,
0xb6
,
0x60
,
0xdc
,
0xad
,
0x2d
,
0x98
,
0xeb
,
0xb4
,
0x05
,
0xab
,
0xab
,
0x2d
,
0x94
,
0x45
,
0xb1
,
0xa7
,
0x17
,
0x45
,
0x91
,
0x18
,
0xaf
,
0xaa
,
0x2d
,
0x4d
,
0x16
,
0x86
,
0x86
,
0xdd
,
0x79
,
0x04
,
0x0f
,
0xeb
,
0xa1
,
0x12
,
0x45
,
0xec
,
0x10
,
0x20
,
0x5b
,
0xa6
,
0x94
,
0x89
,
0x41
,
0x66
,
0x1b
,
0x13
,
0x4b
,
0xf4
,
0x9b
,
0xd2
,
0xe2
,
0x3c
,
0xd1
,
0xb8
,
0x90
,
0xf2
,
0x6b
,
0xb4
,
0x51
,
0xa3
,
0xd9
,
0x46
,
0x9d
,
0x6f
,
0xb4
,
0xa5
,
0x52
,
0x83
,
0x6b
,
0xf4
,
0xea
,
0x5d
,
0x15
,
0x11
,
0x55
,
0x5c
,
0x55
,
0x78
,
0xbe
,
0x07
,
0xd2
,
0x54
,
0xe9
,
0x1a
,
0xbb
,
0x56
,
0xcb
,
0x8f
,
0x59
,
0x2f
,
0x3f
,
0xce
,
0xaf
,
0x7a
,
0xe8
,
0xa5
,
0x9c
,
0xff
,
0x9d
,
0xdd
,
0xef
,
0xde
,
0x12
,
0x9c
,
0x1f
,
0xb4
,
0x50
,
0x89
,
0x0c
,
0x11
,
0x5b
,
0x63
,
0x4c
,
0x57
,
0xa9
,
0xe4
,
0xbb
,
0xef
,
0x16
,
0x63
,
0x41
,
0x55
,
0xaa
,
0x6a
,
0x94
,
0x35
,
0x35
,
0x5d
,
0x39
,
0x10
,
0xaa
,
0xb9
,
0x4e
,
0xa2
,
0xe5
,
0xa5
,
0x38
,
0xc7
,
0x12
,
0xaa
,
0x91
,
0x23
,
0xe7
,
0x0b
,
0x8d
,
0x42
,
0xcc
,
0xa7
,
0xbb
,
0x5f
,
0xd2
,
0x79
,
0x6d
,
0xc2
,
0xae
,
0x4b
,
0x7d
,
0x1a
,
0xa6
,
0xfc
,
0xef
,
0xbe
,
0xc3
,
0xea
,
0xef
,
0x1c
,
0xb3
,
0xf1
,
0xce
,
0xd1
,
0xda
,
0xaf
,
0xd5
,
0x6c
,
0xbf
,
0x55
,
0xa6
,
0x7b
,
0x1a
,
0xd3
,
0x65
,
0x7b
,
0xeb
,
0xd7
,
0xda
,
0xdb
,
0x01
,
0x8c
,
0x5e
,
0x16
,
0x8d
,
0x69
,
0x20
,
0x1b
,
0x53
,
0x61
,
0x28
,
0x5b
,
0xca
,
0xb0
,
0xab
,
0xa5
,
0x6c
,
0x68
,
0x2d
,
0xa5
,
0xa1
,
0x17
,
0xd5
,
0x55
,
0xee
,
0xce
,
0x03
,
0x81
,
0x9e
,
0x57
,
0x32
,
0x80
,
0xdf
,
0xb5
,
0x9b
,
0x59
,
0xda
,
0xcd
,
0x0a
,
0x1f
,
0x7b
,
0x15
,
0x1f
,
0x9d
,
0x17
,
0xb0
,
0xdb
,
0xe2
,
0x46
,
0x46
,
0x1e
,
0xc3
,
0x90
,
0xa9
,
0x17
,
0x9d
,
0x81
,
0x2f
,
0xba
,
0xfd
,
0xf6
,
0x3a
,
0x8f
,
0x0f
,
0xbb
,
0x1c
,
0xea
,
0x7c
,
0x29
,
0xa2
,
0x7b
,
0x55
,
0x83
,
0xcc
,
0xe3
,
0xf3
,
0x64
,
0x0d
,
0x81
,
0xbc
,
0x31
,
0xe1
,
0x5d
,
0x97
,
0xa6
,
0x75
,
0x91
,
0x2d
,
0x19
,
0xa3
,
0x31
,
0xc7
,
0x9d
,
0xca
,
0xf8
,
0x18
,
0xb5
,
0xf8
,
0xfc
,
0x7f
,
0x5f
,
0xe7
,
0x65
,
0x01
,
0xdf
,
0xa8
,
0x15
,
0xf0
,
0x16
,
0x4e
,
0x47
,
0xed
,
0x9c
,
0xce
,
0xe0
,
0xad
,
0xb6
,
0xa8
,
0x64
,
0x79
,
0x0f
,
0xa8
,
0x60
,
0xf3
,
0x42
,
0xde
,
0xb0
,
0x3b
,
0xdf
,
0xc1
,
0xc1
,
0x2d
,
0x71
,
0xc9
,
0xc8
,
0x67
,
0x42
,
0x5e
,
0xe7
,
0x49
,
0x2e
,
0x17
,
0x47
,
0xc9
,
0xe5
,
0x96
,
0x35
,
0xae
,
0x5c
,
0xe0
,
0x9c
,
0x81
,
0xad
,
0xbb
,
0x77
,
0xba
,
0x52
,
0x89
,
0xd5
,
0x15
,
0xee
,
0x42
,
0xcc
,
0x66
,
0x55
,
0xcc
,
0xa7
,
0xb0
,
0xd7
,
0xdc
,
0x09
,
0xe9
,
0xcd
,
0x93
,
0xc5
,
0xa8
,
0x24
,
0x4b
,
0xfb
,
0x1e
,
0xef
,
0xc3
,
0x8e
,
0xee
,
0xf3
,
0xfc
,
0x69
,
0x46
,
0x1e
,
0x80
,
0x35
,
0x7f
,
0x9a
,
0xb3
,
0x23
,
0x3e
,
0x1d
,
0x26
,
0x08
,
0xb9
,
0x6a
,
0x49
,
0x07
,
0x75
,
0xe4
,
0x3f
,
0xcb
,
0xe4
,
0xc2
,
0x39
,
0xab
,
0xea
,
0xdc
,
0x0d
,
0x1c
,
0x76
,
0x9d
,
0xa9
,
0x08
,
0xbb
,
0xfb
,
0xa9
,
0x25
,
0xb5
,
0x66
,
0x3b
,
0xb5
,
0xb5
,
0x93
,
0xcf
,
0xe0
,
0x6d
,
0x9d
,
0x96
,
0xbc
,
0x54
,
0x7c
,
0xac
,
0x97
,
0x8a
,
0xd6
,
0x7f
,
0xfe
,
0x8a
,
0x1a
,
0xf1
,
0x63
,
0x33
,
0x48
,
0x6b
,
0xd7
,
0xbe
,
0xdb
,
0x3a
,
0xf1
,
0x33
,
0xb1
,
0x7f
,
0x9b
,
0xa7
,
0xe4
,
0x43
,
0x18
,
0x48
,
0x94
,
0x7a
,
0x25
,
0xb7
,
0xfa
,
0xa9
,
0x20
,
0xce
,
0x9f
,
0x46
,
0x73
,
0x9f
,
0x59
,
0x12
,
0x9f
,
0x87
,
0x17
,
0xff
,
0xf5
,
0xe7
,
0x9c
,
0xf0
,
0x5f
,
0xd8
,
0x72
,
0xd8
,
0x40
,
0xfa
,
0x5f
,
0x31
,
0x2d
,
0x06
,
0xf8
,
0xab
,
0xc9
,
0xa3
,
0xbf
,
0x02
,
0x00
,
0x00
,
0xff
,
0xff
,
0xab
,
0xcf
,
0xc4
,
0xe0
,
0x4c
,
0x11
,
0x00
,
0x00
,
}
plugin/dapp/issuance/executor/issuancedb.go
View file @
2ffe574c
...
...
@@ -594,6 +594,7 @@ func (action *Action) IssuanceDebt(debt *pty.IssuanceDebt) (*types.Receipt, erro
debtRecord
:=
&
pty
.
DebtRecord
{}
debtRecord
.
AccountAddr
=
action
.
fromaddr
debtRecord
.
DebtId
=
common
.
ToHex
(
action
.
txhash
)
debtRecord
.
IssuId
=
issu
.
IssuanceId
debtRecord
.
CollateralValue
=
btyFrozen
debtRecord
.
StartTime
=
action
.
blocktime
debtRecord
.
CollateralPrice
=
lastPrice
...
...
plugin/dapp/issuance/executor/query.go
View file @
2ffe574c
...
...
@@ -25,6 +25,7 @@ func (c *Issuance) Query_IssuanceInfoByID(req *pty.ReqIssuanceInfo) (types.Messa
CollateralValue
:
issu
.
CollateralValue
,
DebtValue
:
issu
.
DebtValue
,
Period
:
issu
.
Period
,
IssuId
:
issu
.
IssuanceId
,
},
nil
}
...
...
@@ -46,6 +47,7 @@ func (c *Issuance) Query_IssuanceInfoByIDs(req *pty.ReqIssuanceInfos) (types.Mes
CollateralValue
:
issu
.
CollateralValue
,
DebtValue
:
issu
.
DebtValue
,
Period
:
issu
.
Period
,
IssuId
:
issu
.
IssuanceId
,
})
}
...
...
plugin/dapp/issuance/proto/issuance.proto
View file @
2ffe574c
...
...
@@ -2,19 +2,19 @@ syntax = "proto3";
package
types
;
//
借贷
信息
//
发行
信息
message
Issuance
{
string
issuanceId
=
1
;
//
借贷ID,一期借贷
对应一个ID
int64
totalBalance
=
2
;
//当期
可借贷
的总金额(ccny)
string
issuanceId
=
1
;
//
发行ID,一期发行
对应一个ID
int64
totalBalance
=
2
;
//当期
发行
的总金额(ccny)
int64
debtCeiling
=
3
;
//单用户可借出的限额(ccny)
float
liquidationRatio
=
4
;
//清算比例
int64
collateralValue
=
5
;
//抵押物总数量(bty)
int64
debtValue
=
6
;
//产生的ccny数量
repeated
DebtRecord
debtRecords
=
7
;
//大户抵押记录
repeated
DebtRecord
invalidRecords
=
8
;
//大户抵押记录
int32
status
=
9
;
//当期
借贷
的状态,是否关闭
float
latestLiquidationPrice
=
10
;
//最高清算价格
int64
period
=
11
;
//
借贷
最大期限
int32
status
=
9
;
//当期
发行
的状态,是否关闭
float
latestLiquidationPrice
=
10
;
//最高清算价格
int64
period
=
11
;
//
发行
最大期限
int64
latestExpireTime
=
12
;
//最近超期时间
int64
createTime
=
13
;
//创建时间
int64
balance
=
14
;
//剩余可发行ccny
...
...
@@ -25,8 +25,8 @@ message Issuance {
// 抵押记录
message
DebtRecord
{
string
accountAddr
=
1
;
//
借贷
人地址
int64
startTime
=
2
;
//
借贷
时间
string
accountAddr
=
1
;
//
抵押
人地址
int64
startTime
=
2
;
//
抵押
时间
int64
collateralValue
=
3
;
//抵押物价值(bty)
float
collateralPrice
=
4
;
//抵押物价格
int64
debtValue
=
5
;
//债务价值(ccny)
...
...
@@ -36,8 +36,9 @@ message DebtRecord {
int64
expireTime
=
9
;
//超时清算时间
int32
preStatus
=
10
;
//上一次抵押状态,用于告警恢复
string
debtId
=
11
;
//借贷id
int64
index
=
12
;
//当前索引
int64
preIndex
=
13
;
//上级索引
string
issuId
=
12
;
//发行id
int64
index
=
13
;
//当前索引
int64
preIndex
=
14
;
//上级索引
}
// 资产价格记录
...
...
@@ -49,8 +50,8 @@ message IssuanceAssetPriceRecord {
// action
message
IssuanceAction
{
oneof
value
{
IssuanceCreate
create
=
1
;
//创建一期
借贷
IssuanceDebt
debt
=
2
;
//
借贷
IssuanceCreate
create
=
1
;
//创建一期
发行
IssuanceDebt
debt
=
2
;
//
抵押
IssuanceRepay
repay
=
3
;
//清算
IssuanceFeed
feed
=
4
;
//喂价
IssuanceClose
close
=
5
;
//关闭
...
...
@@ -63,24 +64,24 @@ message IssuanceManage {
repeated
string
superAddrs
=
1
;
//大户地址
}
// 创建
借贷
// 创建
发行
message
IssuanceCreate
{
int64
totalBalance
=
1
;
//
可借贷
总金额
int64
totalBalance
=
1
;
//
发行
总金额
int64
debtCeiling
=
2
;
//单用户可借出的限额(ccny)
float
liquidationRatio
=
3
;
//清算比例
int64
period
=
4
;
//借贷
最大期限
int64
period
=
4
;
//发行
最大期限
}
//
质押借出
//
抵押
message
IssuanceDebt
{
string
issuanceId
=
1
;
//
借贷期数
ID
int64
value
=
2
;
//借贷
价值
(ccny)
string
issuanceId
=
1
;
//
发行
ID
int64
value
=
2
;
//借贷
金额
(ccny)
}
// 质押清算
message
IssuanceRepay
{
string
issuanceId
=
1
;
//
借贷期数
ID
string
debtId
=
2
;
//
借贷
ID
string
issuanceId
=
1
;
//
发行
ID
string
debtId
=
2
;
//
抵押
ID
}
// 喂价
...
...
@@ -92,10 +93,10 @@ message IssuanceFeed {
// 借贷关闭
message
IssuanceClose
{
string
issuanceId
=
1
;
//
借贷期数
ID
string
issuanceId
=
1
;
//
发行
ID
}
// exec_local
借贷
信息
// exec_local
发行
信息
message
ReceiptIssuance
{
string
issuanceId
=
1
;
string
accountAddr
=
2
;
...
...
@@ -108,7 +109,7 @@ message ReceiptIssuance {
float
btyPrice
=
9
;
//bty价格
}
// exec_local
借贷
记录信息
// exec_local
抵押
记录信息
message
IssuanceRecord
{
string
issuanceId
=
1
;
string
addr
=
2
;
...
...
@@ -116,34 +117,35 @@ message IssuanceRecord {
int64
index
=
4
;
}
// exec_local
借贷
记录信息列表
// exec_local
抵押
记录信息列表
message
IssuanceRecords
{
repeated
IssuanceRecord
records
=
1
;
}
// 根据ID查询
一期借贷
信息
// 根据ID查询
发行
信息
message
ReqIssuanceInfo
{
string
issuanceId
=
1
;
}
// 返回一期
借贷
信息
// 返回一期
发行
信息
message
RepIssuanceCurrentInfo
{
int32
status
=
1
;
//当期借贷
的状态,是否关闭
int64
totalBalance
=
2
;
//当期
可借贷的
总金额(ccny)
int32
status
=
1
;
//当期发行
的状态,是否关闭
int64
totalBalance
=
2
;
//当期
发行
总金额(ccny)
int64
debtCeiling
=
3
;
//单用户可借出的限额(ccny)
float
liquidationRatio
=
4
;
//清算比例
int64
balance
=
5
;
//剩余可借贷金额(ccny)
int64
collateralValue
=
6
;
//抵押物总数量(bty)
int64
debtValue
=
7
;
//产生的ccny数量
int64
period
=
8
;
//借贷最大期限
int64
period
=
8
;
//发行最大期限
string
issuId
=
9
;
//发行ID
}
// 根据ID列表查询多期
借贷
信息
// 根据ID列表查询多期
发行
信息
message
ReqIssuanceInfos
{
repeated
string
issuanceIds
=
1
;
}
// 返回多期
借贷
信息
// 返回多期
发行
信息
message
RepIssuanceCurrentInfos
{
repeated
RepIssuanceCurrentInfo
infos
=
1
;
}
...
...
@@ -154,19 +156,19 @@ message ReqIssuanceByStatus {
int64
index
=
2
;
}
// 返回
借贷
ID列表
// 返回
发行
ID列表
message
RepIssuanceIDs
{
repeated
string
IDs
=
1
;
}
// 根据用户地址查询
发行
记录
// 根据用户地址查询
抵押
记录
message
ReqIssuanceRecordsByAddr
{
string
issuanceId
=
1
;
string
addr
=
2
;
int64
index
=
3
;
}
// 根据状态查询
发行
记录
// 根据状态查询
抵押
记录
message
ReqIssuanceRecordsByStatus
{
string
issuanceId
=
1
;
int32
status
=
2
;
...
...
@@ -178,7 +180,7 @@ message RepIssuanceRecords {
repeated
DebtRecord
records
=
1
;
}
// 精确查找
发行
记录
// 精确查找
抵押
记录
message
ReqIssuanceDebtInfo
{
string
issuanceId
=
1
;
string
debtId
=
2
;
...
...
plugin/dapp/issuance/types/issuance.pb.go
View file @
2ffe574c
...
...
@@ -20,7 +20,7 @@ var _ = math.Inf
// proto package needs to be updated.
const
_
=
proto
.
ProtoPackageIsVersion3
// please upgrade the proto package
//
借贷
信息
//
发行
信息
type
Issuance
struct
{
IssuanceId
string
`protobuf:"bytes,1,opt,name=issuanceId,proto3" json:"issuanceId,omitempty"`
TotalBalance
int64
`protobuf:"varint,2,opt,name=totalBalance,proto3" json:"totalBalance,omitempty"`
...
...
@@ -201,8 +201,9 @@ type DebtRecord struct {
ExpireTime
int64
`protobuf:"varint,9,opt,name=expireTime,proto3" json:"expireTime,omitempty"`
PreStatus
int32
`protobuf:"varint,10,opt,name=preStatus,proto3" json:"preStatus,omitempty"`
DebtId
string
`protobuf:"bytes,11,opt,name=debtId,proto3" json:"debtId,omitempty"`
Index
int64
`protobuf:"varint,12,opt,name=index,proto3" json:"index,omitempty"`
PreIndex
int64
`protobuf:"varint,13,opt,name=preIndex,proto3" json:"preIndex,omitempty"`
IssuId
string
`protobuf:"bytes,12,opt,name=issuId,proto3" json:"issuId,omitempty"`
Index
int64
`protobuf:"varint,13,opt,name=index,proto3" json:"index,omitempty"`
PreIndex
int64
`protobuf:"varint,14,opt,name=preIndex,proto3" json:"preIndex,omitempty"`
XXX_NoUnkeyedLiteral
struct
{}
`json:"-"`
XXX_unrecognized
[]
byte
`json:"-"`
XXX_sizecache
int32
`json:"-"`
...
...
@@ -310,6 +311,13 @@ func (m *DebtRecord) GetDebtId() string {
return
""
}
func
(
m
*
DebtRecord
)
GetIssuId
()
string
{
if
m
!=
nil
{
return
m
.
IssuId
}
return
""
}
func
(
m
*
DebtRecord
)
GetIndex
()
int64
{
if
m
!=
nil
{
return
m
.
Index
...
...
@@ -560,7 +568,7 @@ func (m *IssuanceManage) GetSuperAddrs() []string {
return
nil
}
// 创建
借贷
// 创建
发行
type
IssuanceCreate
struct
{
TotalBalance
int64
`protobuf:"varint,1,opt,name=totalBalance,proto3" json:"totalBalance,omitempty"`
DebtCeiling
int64
`protobuf:"varint,2,opt,name=debtCeiling,proto3" json:"debtCeiling,omitempty"`
...
...
@@ -624,7 +632,7 @@ func (m *IssuanceCreate) GetPeriod() int64 {
return
0
}
//
质押借出
//
抵押
type
IssuanceDebt
struct
{
IssuanceId
string
`protobuf:"bytes,1,opt,name=issuanceId,proto3" json:"issuanceId,omitempty"`
Value
int64
`protobuf:"varint,2,opt,name=value,proto3" json:"value,omitempty"`
...
...
@@ -816,7 +824,7 @@ func (m *IssuanceClose) GetIssuanceId() string {
return
""
}
// exec_local
借贷
信息
// exec_local
发行
信息
type
ReceiptIssuance
struct
{
IssuanceId
string
`protobuf:"bytes,1,opt,name=issuanceId,proto3" json:"issuanceId,omitempty"`
AccountAddr
string
`protobuf:"bytes,2,opt,name=accountAddr,proto3" json:"accountAddr,omitempty"`
...
...
@@ -920,7 +928,7 @@ func (m *ReceiptIssuance) GetBtyPrice() float32 {
return
0
}
// exec_local
借贷
记录信息
// exec_local
抵押
记录信息
type
IssuanceRecord
struct
{
IssuanceId
string
`protobuf:"bytes,1,opt,name=issuanceId,proto3" json:"issuanceId,omitempty"`
Addr
string
`protobuf:"bytes,2,opt,name=addr,proto3" json:"addr,omitempty"`
...
...
@@ -984,7 +992,7 @@ func (m *IssuanceRecord) GetIndex() int64 {
return
0
}
// exec_local
借贷
记录信息列表
// exec_local
抵押
记录信息列表
type
IssuanceRecords
struct
{
Records
[]
*
IssuanceRecord
`protobuf:"bytes,1,rep,name=records,proto3" json:"records,omitempty"`
XXX_NoUnkeyedLiteral
struct
{}
`json:"-"`
...
...
@@ -1024,7 +1032,7 @@ func (m *IssuanceRecords) GetRecords() []*IssuanceRecord {
return
nil
}
// 根据ID查询
一期借贷
信息
// 根据ID查询
发行
信息
type
ReqIssuanceInfo
struct
{
IssuanceId
string
`protobuf:"bytes,1,opt,name=issuanceId,proto3" json:"issuanceId,omitempty"`
XXX_NoUnkeyedLiteral
struct
{}
`json:"-"`
...
...
@@ -1064,7 +1072,7 @@ func (m *ReqIssuanceInfo) GetIssuanceId() string {
return
""
}
// 返回一期
借贷
信息
// 返回一期
发行
信息
type
RepIssuanceCurrentInfo
struct
{
Status
int32
`protobuf:"varint,1,opt,name=status,proto3" json:"status,omitempty"`
TotalBalance
int64
`protobuf:"varint,2,opt,name=totalBalance,proto3" json:"totalBalance,omitempty"`
...
...
@@ -1074,6 +1082,7 @@ type RepIssuanceCurrentInfo struct {
CollateralValue
int64
`protobuf:"varint,6,opt,name=collateralValue,proto3" json:"collateralValue,omitempty"`
DebtValue
int64
`protobuf:"varint,7,opt,name=debtValue,proto3" json:"debtValue,omitempty"`
Period
int64
`protobuf:"varint,8,opt,name=period,proto3" json:"period,omitempty"`
IssuId
string
`protobuf:"bytes,9,opt,name=issuId,proto3" json:"issuId,omitempty"`
XXX_NoUnkeyedLiteral
struct
{}
`json:"-"`
XXX_unrecognized
[]
byte
`json:"-"`
XXX_sizecache
int32
`json:"-"`
...
...
@@ -1160,7 +1169,14 @@ func (m *RepIssuanceCurrentInfo) GetPeriod() int64 {
return
0
}
// 根据ID列表查询多期借贷信息
func
(
m
*
RepIssuanceCurrentInfo
)
GetIssuId
()
string
{
if
m
!=
nil
{
return
m
.
IssuId
}
return
""
}
// 根据ID列表查询多期发行信息
type
ReqIssuanceInfos
struct
{
IssuanceIds
[]
string
`protobuf:"bytes,1,rep,name=issuanceIds,proto3" json:"issuanceIds,omitempty"`
XXX_NoUnkeyedLiteral
struct
{}
`json:"-"`
...
...
@@ -1200,7 +1216,7 @@ func (m *ReqIssuanceInfos) GetIssuanceIds() []string {
return
nil
}
// 返回多期
借贷
信息
// 返回多期
发行
信息
type
RepIssuanceCurrentInfos
struct
{
Infos
[]
*
RepIssuanceCurrentInfo
`protobuf:"bytes,1,rep,name=infos,proto3" json:"infos,omitempty"`
XXX_NoUnkeyedLiteral
struct
{}
`json:"-"`
...
...
@@ -1288,7 +1304,7 @@ func (m *ReqIssuanceByStatus) GetIndex() int64 {
return
0
}
// 返回
借贷
ID列表
// 返回
发行
ID列表
type
RepIssuanceIDs
struct
{
IDs
[]
string
`protobuf:"bytes,1,rep,name=IDs,proto3" json:"IDs,omitempty"`
XXX_NoUnkeyedLiteral
struct
{}
`json:"-"`
...
...
@@ -1328,7 +1344,7 @@ func (m *RepIssuanceIDs) GetIDs() []string {
return
nil
}
// 根据用户地址查询
发行
记录
// 根据用户地址查询
抵押
记录
type
ReqIssuanceRecordsByAddr
struct
{
IssuanceId
string
`protobuf:"bytes,1,opt,name=issuanceId,proto3" json:"issuanceId,omitempty"`
Addr
string
`protobuf:"bytes,2,opt,name=addr,proto3" json:"addr,omitempty"`
...
...
@@ -1384,7 +1400,7 @@ func (m *ReqIssuanceRecordsByAddr) GetIndex() int64 {
return
0
}
// 根据状态查询
发行
记录
// 根据状态查询
抵押
记录
type
ReqIssuanceRecordsByStatus
struct
{
IssuanceId
string
`protobuf:"bytes,1,opt,name=issuanceId,proto3" json:"issuanceId,omitempty"`
Status
int32
`protobuf:"varint,2,opt,name=status,proto3" json:"status,omitempty"`
...
...
@@ -1480,7 +1496,7 @@ func (m *RepIssuanceRecords) GetRecords() []*DebtRecord {
return
nil
}
// 精确查找
发行
记录
// 精确查找
抵押
记录
type
ReqIssuanceDebtInfo
struct
{
IssuanceId
string
`protobuf:"bytes,1,opt,name=issuanceId,proto3" json:"issuanceId,omitempty"`
DebtId
string
`protobuf:"bytes,2,opt,name=debtId,proto3" json:"debtId,omitempty"`
...
...
@@ -1598,73 +1614,74 @@ func init() {
func
init
()
{
proto
.
RegisterFile
(
"issuance.proto"
,
fileDescriptor_7110f4228953d675
)
}
var
fileDescriptor_7110f4228953d675
=
[]
byte
{
// 10
74
bytes of a gzipped FileDescriptorProto
// 10
91
bytes of a gzipped FileDescriptorProto
0x1f
,
0x8b
,
0x08
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x02
,
0xff
,
0xbc
,
0x57
,
0xdd
,
0x6e
,
0xe3
,
0x44
,
0x14
,
0xae
,
0xed
,
0x38
,
0x3f
,
0x27
,
0x6d
,
0xda
,
0x9d
,
0xed
,
0x16
,
0x6b
,
0x05
,
0xab
,
0xc8
,
0xe2
,
0x22
,
0x0b
,
0xa8
,
0x85
,
0x16
,
0x21
,
0x71
,
0x47
,
0xd3
,
0x02
,
0x8d
,
0xc4
,
0x22
,
0x64
,
0x56
,
0x2b
,
0x6e
,
0x5d
,
0x7b
,
0xba
,
0x32
,
0x72
,
0x63
,
0xaf
,
0x3d
,
0xa9
,
0x36
,
0x4f
,
0xc1
,
0x3d
,
0xe2
,
0x21
,
0x78
,
0x01
,
0xde
,
0x8a
,
0x07
,
0x40
,
0xe7
,
0xcc
,
0xd8
,
0xe3
,
0xbf
,
0x34
,
0x11
,
0x17
,
0x7b
,
0x53
,
0x65
,
0xce
,
0x7c
,
0x73
,
0x7e
,
0xbf
,
0xf9
,
0x3c
,
0x85
,
0x49
,
0x94
,
0xe7
,
0x2b
,
0x7f
,
0x19
,
0xf0
,
0xd3
,
0x34
,
0x4b
,
0x44
,
0xc2
,
0x6c
,
0xb1
,
0x4e
,
0x79
,
0xee
,
0xfe
,
0xdb
,
0x83
,
0xe1
,
0x42
,
0xed
,
0xb0
,
0x17
,
0x00
,
0x05
,
0x6a
,
0x11
,
0x3a
,
0xc6
,
0xd4
,
0x98
,
0x8d
,
0xbc
,
0x8a
,
0x85
,
0xb9
,
0xb0
,
0x2f
,
0x12
,
0xe1
,
0xc7
,
0x73
,
0x3f
,
0x46
,
0x8b
,
0x63
,
0x4e
,
0x8d
,
0x99
,
0xe5
,
0xd5
,
0x6c
,
0x6c
,
0x0a
,
0xe3
,
0x90
,
0xdf
,
0x8a
,
0x2b
,
0x1e
,
0xc5
,
0xd1
,
0xf2
,
0xad
,
0x63
,
0x11
,
0xa4
,
0x6a
,
0x62
,
0x9f
,
0xc1
,
0x51
,
0x1c
,
0xbd
,
0x5b
,
0x45
,
0xa1
,
0x2f
,
0xa2
,
0x64
,
0xe9
,
0xe1
,
0x5f
,
0xa7
,
0x37
,
0x35
,
0x66
,
0xa6
,
0xd7
,
0xb2
,
0xb3
,
0x19
,
0x1c
,
0x06
,
0x49
,
0x1c
,
0xfb
,
0x82
,
0x67
,
0x7e
,
0xfc
,
0xc6
,
0x8f
,
0x57
,
0xdc
,
0xb1
,
0xc9
,
0x63
,
0xd3
,
0xcc
,
0x3e
,
0x86
,
0x11
,
0x06
,
0x91
,
0x98
,
0x3e
,
0x61
,
0xb4
,
0x81
,
0x5d
,
0xc8
,
0xac
,
0x3c
,
0x1e
,
0x24
,
0x59
,
0x98
,
0x3b
,
0x83
,
0xa9
,
0x35
,
0x1b
,
0x9f
,
0x3f
,
0x39
,
0xa5
,
0x1e
,
0x9c
,
0x5e
,
0x97
,
0x3b
,
0x5e
,
0x15
,
0xc5
,
0xbe
,
0x85
,
0x49
,
0xb4
,
0x7c
,
0xf0
,
0xe3
,
0x28
,
0x2c
,
0xce
,
0x0d
,
0x37
,
0x9d
,
0x6b
,
0x00
,
0xd9
,
0x09
,
0xf4
,
0x73
,
0xe1
,
0x8b
,
0x55
,
0xee
,
0x8c
,
0xa6
,
0xc6
,
0xcc
,
0xf6
,
0xd4
,
0x8a
,
0x7d
,
0x03
,
0x27
,
0x98
,
0x75
,
0x2e
,
0x7e
,
0xd2
,
0x95
,
0xfe
,
0x92
,
0x45
,
0x01
,
0x77
,
0x80
,
0x3a
,
0xb0
,
0x61
,
0x17
,
0xfd
,
0xa5
,
0x3c
,
0x8b
,
0x92
,
0xd0
,
0x19
,
0x53
,
0x69
,
0x6a
,
0x45
,
0xbd
,
0xa4
,
0x13
,
0xdf
,
0xbf
,
0x4f
,
0xa3
,
0x8c
,
0xbf
,
0x8e
,
0xee
,
0xb9
,
0xb3
,
0x4f
,
0x88
,
0x96
,
0x1d
,
0xa7
,
0x1b
,
0x64
,
0xdc
,
0x17
,
0x12
,
0x75
,
0x40
,
0xa8
,
0x8a
,
0x85
,
0x39
,
0x30
,
0xb8
,
0x55
,
0x83
,
0x9d
,
0xd0
,
0x66
,
0xb1
,
0x2c
,
0x78
,
0xc1
,
0xb3
,
0xcb
,
0x30
,
0xcc
,
0x9c
,
0x43
,
0xcd
,
0x0b
,
0x69
,
0x61
,
0xc7
,
0x60
,
0x47
,
0xcb
,
0x90
,
0xbf
,
0x77
,
0x8e
,
0xe8
,
0x9c
,
0x5c
,
0xb0
,
0xe7
,
0x30
,
0x4c
,
0x33
,
0xbe
,
0xa0
,
0x8d
,
0x27
,
0xb4
,
0x51
,
0xae
,
0xdd
,
0xbf
,
0x2d
,
0x00
,
0xdd
,
0x3e
,
0x24
,
0x8d
,
0x1f
,
0x04
,
0xc9
,
0x6a
,
0x29
,
0x28
,
0x82
,
0x64
,
0x5e
,
0xd5
,
0x84
,
0xe3
,
0xcd
,
0x85
,
0x9f
,
0x09
,
0xca
,
0x5d
,
0xf2
,
0x4e
,
0x1b
,
0xba
,
0x68
,
0x62
,
0x75
,
0xd3
,
0xa4
,
0x86
,
0x94
,
0x9d
,
0x97
,
0xdc
,
0x6b
,
0x9a
,
0xeb
,
0x84
,
0xb2
,
0x9b
,
0x84
,
0xaa
,
0x93
,
0x58
,
0x3a
,
0xea
,
0xb7
,
0x48
,
0x5c
,
0x0e
,
0x4f
,
0x91
,
0x61
,
0x50
,
0x23
,
0xc3
,
0xa7
,
0x70
,
0x50
,
0x60
,
0xe5
,
0x4c
,
0x86
,
0x14
,
0xa5
,
0x6e
,
0xc4
,
0xe6
,
0x73
,
0x3d
,
0xdc
,
0x91
,
0x1c
,
0x9b
,
0xb6
,
0x60
,
0x9e
,
0x69
,
0xc6
,
0x7f
,
0x95
,
0x01
,
0x80
,
0x02
,
0x68
,
0x03
,
0xc6
,
0xc6
,
0xa4
,
0x17
,
0x92
,
0x38
,
0x23
,
0x4f
,
0xad
,
0xf4
,
0xc8
,
0xf6
,
0x37
,
0x8d
,
0xec
,
0xa0
,
0x31
,
0xb2
,
0x37
,
0xe0
,
0x14
,
0x42
,
0x71
,
0x99
,
0xe7
,
0x5c
,
0x50
,
0x6d
,
0x6a
,
0x7e
,
0x2f
,
0x00
,
0x32
,
0xfa
,
0x45
,
0x39
,
0x1a
,
0x32
,
0x47
,
0x6d
,
0x41
,
0xbf
,
0xb7
,
0x62
,
0x2d
,
0xbb
,
0x64
,
0x52
,
0x97
,
0xca
,
0xb5
,
0xfb
,
0x8f
,
0x09
,
0x93
,
0xd2
,
0x71
,
0x80
,
0x5d
,
0x63
,
0x67
,
0xd0
,
0x97
,
0xbc
,
0x24
,
0x57
,
0xe3
,
0xf3
,
0x67
,
0xea
,
0xc2
,
0x15
,
0xb0
,
0x2b
,
0xda
,
0xbc
,
0xd9
,
0xf3
,
0x14
,
0x8c
,
0xbd
,
0x84
,
0x1e
,
0xd6
,
0x45
,
0xbe
,
0xc7
,
0xe7
,
0x4f
,
0x1b
,
0x70
,
0x24
,
0xda
,
0xcd
,
0x9e
,
0x47
,
0x10
,
0xf6
,
0x05
,
0xd8
,
0x19
,
0x4f
,
0xfd
,
0x35
,
0x11
,
0x64
,
0x7c
,
0x7e
,
0xdc
,
0xc0
,
0x7a
,
0xb8
,
0x77
,
0xb3
,
0xe7
,
0x49
,
0x10
,
0x3a
,
0xbe
,
0xe3
,
0x3c
,
0x24
,
0x8e
,
0xb4
,
0x1d
,
0xff
,
0xc0
,
0x79
,
0x88
,
0x8e
,
0x11
,
0x82
,
0x8e
,
0x83
,
0x38
,
0xc9
,
0x25
,
0x57
,
0xda
,
0x8e
,
0xaf
,
0x70
,
0x0f
,
0x1d
,
0x13
,
0x08
,
0x4b
,
0xbc
,
0xf7
,
0x97
,
0xfe
,
0x5b
,
0xc9
,
0x9a
,
0x76
,
0x89
,
0xaf
,
0x68
,
0x13
,
0x4b
,
0x94
,
0x30
,
0x36
,
0x01
,
0x53
,
0xac
,
0xd5
,
0x7c
,
0x4d
,
0xb1
,
0x9e
,
0x0f
,
0xc0
,
0x7e
,
0x40
,
0x26
,
0xba
,
0x5f
,
0xea
,
0xf6
,
0xc9
,
0x43
,
0x38
,
0x8d
,
0x7c
,
0x95
,
0xca
,
0xbb
,
0x99
,
0x3b
,
0xc6
,
0xd4
,
0xc2
,
0xeb
,
0xaa
,
0x2d
,
0xee
,
0x9f
,
0x86
,
0x3e
,
0x22
,
0x5b
,
0xd9
,
0x52
,
0x76
,
0x63
,
0xbb
,
0xb2
,
0x9b
,
0xbb
,
0x29
,
0xbb
,
0xb5
,
0x41
,
0xd9
,
0xb5
,
0xa2
,
0xf5
,
0xaa
,
0x8a
,
0xe6
,
0x5e
,
0xc3
,
0x7e
,
0x75
,
0x6e
,
0x5b
,
0xbf
,
0x49
,
0xc7
,
0xaa
,
0x0f
,
0x2a
,
0x1f
,
0xd5
,
0x94
,
0x1f
,
0xe1
,
0xa0
,
0x36
,
0xd1
,
0xad
,
0x6e
,
0xf4
,
0x3d
,
0x31
,
0xab
,
0xf7
,
0xc4
,
0xfd
,
0x4d
,
0xa7
,
0x83
,
0xd3
,
0x46
,
0x26
,
0xa3
,
0x50
,
0xbc
,
0x5e
,
0xa7
,
0xb2
,
0x49
,
0xb6
,
0x57
,
0xae
,
0x31
,
0x95
,
0x54
,
0x51
,
0xdc
,
0x9a
,
0x99
,
0x9e
,
0x5c
,
0xa0
,
0xe7
,
0x87
,
0x24
,
0x5e
,
0xdd
,
0xa3
,
0x24
,
0x59
,
0x58
,
0xa8
,
0x5c
,
0xb9
,
0x67
,
0x3a
,
0x45
,
0xe2
,
0xc6
,
0xb6
,
0x14
,
0xdd
,
0x3f
,
0x4c
,
0x38
,
0xf4
,
0x78
,
0xc0
,
0xa3
,
0x54
,
0xec
,
0xfc
,
0xc5
,
0x6e
,
0x08
,
0xab
,
0xd9
,
0x16
,
0x56
,
0x5d
,
0xb8
,
0x55
,
0x13
,
0x08
,
0x2d
,
0x5a
,
0xbd
,
0x9a
,
0x68
,
0xd5
,
0xe4
,
0xc6
,
0x6e
,
0xca
,
0x4d
,
0x29
,
0x2b
,
0xfd
,
0x4d
,
0xb2
,
0x32
,
0xa8
,
0xcb
,
0x4a
,
0x43
,
0x3a
,
0x86
,
0x8f
,
0x4a
,
0xc7
,
0xa8
,
0x21
,
0x1d
,
0x99
,
0xe6
,
0xb1
,
0x16
,
0xa2
,
0x47
,
0xfb
,
0xc1
,
0xa0
,
0xe7
,
0xeb
,
0x46
,
0xd0
,
0xef
,
0x8d
,
0x1d
,
0x28
,
0x6b
,
0xe9
,
0x55
,
0x6a
,
0x71
,
0xe7
,
0x70
,
0x58
,
0x8f
,
0x99
,
0xb3
,
0x33
,
0x18
,
0x64
,
0xea
,
0x81
,
0x60
,
0xd0
,
0x03
,
0xe1
,
0x59
,
0x4b
,
0x54
,
0xe8
,
0x91
,
0x50
,
0xa0
,
0xdc
,
0xaf
,
0x70
,
0x90
,
0xef
,
0x8a
,
0xdd
,
0xc5
,
0xf2
,
0x2e
,
0xd9
,
0x3a
,
0xfc
,
0xbf
,
0x4c
,
0x38
,
0xf1
,
0x78
,
0x5a
,
0x32
,
0x66
,
0x95
,
0x65
,
0x7c
,
0x29
,
0xe8
,
0xa8
,
0x9e
,
0x94
,
0x51
,
0x9b
,
0xd4
,
0x87
,
0x7f
,
0xad
,
0x55
,
0x5e
,
0x10
,
0x76
,
0xfd
,
0x05
,
0xd1
,
0xf1
,
0x81
,
0xee
,
0xef
,
0xf0
,
0x8e
,
0x1b
,
0x34
,
0x3f
,
0xbb
,
0x5a
,
0x35
,
0x86
,
0x35
,
0xd5
,
0xf8
,
0x1a
,
0x8e
,
0x1a
,
0x1d
,
0xcd
,
0xb1
,
0x36
,
0xdd
,
0xc0
,
0x42
,
0x07
,
0xab
,
0x26
,
0xf7
,
0x67
,
0xf8
,
0xa8
,
0xbb
,
0xa7
,
0x39
,
0xbb
,
0xc0
,
0xe1
,
0xdf
,
0x25
,
0xc5
,
0x44
,
0x3f
,
0x51
,
0x13
,
0xed
,
0x86
,
0x7b
,
0x12
,
0xeb
,
0x5e
,
0xc1
,
0xd3
,
0x4a
,
0x16
,
0xf3
,
0xb5
,
0xfe
,
0x06
,
0x77
,
0x0e
,
0xa8
,
0x24
,
0x98
,
0x59
,
0x25
,
0x98
,
0x0b
,
0x93
,
0x4a
,
0x94
,
0xc5
,
0x75
,
0xce
,
0x8e
,
0xc0
,
0x5a
,
0x5c
,
0x17
,
0x05
,
0xe0
,
0x4f
,
0x37
,
0x04
,
0xa7
,
0x12
,
0x48
,
0xf1
,
0x70
,
0xbe
,
0xa6
,
0x0b
,
0xfd
,
0x7f
,
0xae
,
0x40
,
0x99
,
0x89
,
0x55
,
0xcd
,
0xe4
,
0x77
,
0x78
,
0xde
,
0x15
,
0x45
,
0x55
,
0xb5
,
0x83
,
0xa2
,
0xaa
,
0xaa
,
0xcd
,
0xee
,
0xaa
,
0x6b
,
0xb1
,
0x2e
,
0x81
,
0x55
,
0xaa
,
0x2e
,
0x6e
,
0xd6
,
0xe7
,
0xcd
,
0x9b
,
0xd5
,
0xf1
,
0xf4
,
0x2e
,
0x6f
,
0xd5
,
0xab
,
0x5a
,
0xf7
,
0x11
,
0xb1
,
0xcb
,
0xcd
,
0xda
,
0xa8
,
0xfc
,
0xdf
,
0xa1
,
0xbb
,
0xb4
,
0xe5
,
0xee
,
0x25
,
0xf4
,
0x65
,
0x40
,
0xf5
,
0x36
,
0xe9
,
0xc8
,
0x48
,
0x01
,
0x6e
,
0xfb
,
0xf4
,
0x9f
,
0xd6
,
0xc5
,
0x7f
,
0x01
,
0x00
,
0x00
,
0xff
,
0xff
,
0x87
,
0x63
,
0xe3
,
0x4a
,
0x7b
,
0x0d
,
0x00
,
0x00
,
0x6e
,
0x5d
,
0x7b
,
0xba
,
0x32
,
0x72
,
0x63
,
0xaf
,
0x3d
,
0xa9
,
0x36
,
0x4f
,
0xc1
,
0x3d
,
0xcf
,
0xc1
,
0x2d
,
0xf7
,
0x3c
,
0x10
,
0x0f
,
0x80
,
0xce
,
0x99
,
0xb1
,
0xc7
,
0x7f
,
0x69
,
0x22
,
0x2e
,
0xf6
,
0xa6
,
0xca
,
0x9c
,
0xf9
,
0x7c
,
0x7e
,
0xbf
,
0xf9
,
0x66
,
0x0a
,
0x93
,
0x28
,
0xcf
,
0x57
,
0xfe
,
0x32
,
0xe0
,
0xa7
,
0x69
,
0x96
,
0x88
,
0x84
,
0xd9
,
0x62
,
0x9d
,
0xf2
,
0xdc
,
0xfd
,
0xb7
,
0x07
,
0xc3
,
0x85
,
0xda
,
0x61
,
0x2f
,
0x00
,
0x0a
,
0xd4
,
0x22
,
0x74
,
0x8c
,
0xa9
,
0x31
,
0x1b
,
0x79
,
0x15
,
0x0b
,
0x73
,
0x61
,
0x5f
,
0x24
,
0xc2
,
0x8f
,
0xe7
,
0x7e
,
0x8c
,
0x16
,
0xc7
,
0x9c
,
0x1a
,
0x33
,
0xcb
,
0xab
,
0xd9
,
0xd8
,
0x14
,
0xc6
,
0x21
,
0xbf
,
0x15
,
0x57
,
0x3c
,
0x8a
,
0xa3
,
0xe5
,
0x5b
,
0xc7
,
0x22
,
0x48
,
0xd5
,
0xc4
,
0x3e
,
0x83
,
0xa3
,
0x38
,
0x7a
,
0xb7
,
0x8a
,
0x42
,
0x5f
,
0x44
,
0xc9
,
0xd2
,
0xc3
,
0xbf
,
0x4e
,
0x6f
,
0x6a
,
0xcc
,
0x4c
,
0xaf
,
0x65
,
0x67
,
0x33
,
0x38
,
0x0c
,
0x92
,
0x38
,
0xf6
,
0x05
,
0xcf
,
0xfc
,
0xf8
,
0x8d
,
0x1f
,
0xaf
,
0xb8
,
0x63
,
0x93
,
0xc7
,
0xa6
,
0x99
,
0x7d
,
0x0c
,
0x23
,
0x0c
,
0x22
,
0x31
,
0x7d
,
0xc2
,
0x68
,
0x03
,
0xbb
,
0x90
,
0x59
,
0x79
,
0x3c
,
0x48
,
0xb2
,
0x30
,
0x77
,
0x06
,
0x53
,
0x6b
,
0x36
,
0x3e
,
0x7f
,
0x72
,
0x4a
,
0x3d
,
0x38
,
0xbd
,
0x2e
,
0x77
,
0xbc
,
0x2a
,
0x8a
,
0x7d
,
0x0b
,
0x93
,
0x68
,
0xf9
,
0xe0
,
0xc7
,
0x51
,
0x58
,
0x7c
,
0x37
,
0xdc
,
0xf4
,
0x5d
,
0x03
,
0xc8
,
0x4e
,
0xa0
,
0x9f
,
0x0b
,
0x5f
,
0xac
,
0x72
,
0x67
,
0x34
,
0x35
,
0x66
,
0xb6
,
0xa7
,
0x56
,
0xec
,
0x1b
,
0x38
,
0xc1
,
0xac
,
0x73
,
0xf1
,
0x93
,
0xae
,
0xf4
,
0x97
,
0x2c
,
0x0a
,
0xb8
,
0x03
,
0xd4
,
0x81
,
0x0d
,
0xbb
,
0xe8
,
0x2f
,
0xe5
,
0x59
,
0x94
,
0x84
,
0xce
,
0x98
,
0x4a
,
0x53
,
0x2b
,
0xea
,
0x25
,
0x7d
,
0xf1
,
0xfd
,
0xfb
,
0x34
,
0xca
,
0xf8
,
0xeb
,
0xe8
,
0x9e
,
0x3b
,
0xfb
,
0x84
,
0x68
,
0xd9
,
0x71
,
0xba
,
0x41
,
0xc6
,
0x7d
,
0x21
,
0x51
,
0x07
,
0x84
,
0xaa
,
0x58
,
0x98
,
0x03
,
0x83
,
0x5b
,
0x35
,
0xd8
,
0x09
,
0x6d
,
0x16
,
0xcb
,
0x82
,
0x17
,
0x3c
,
0xbb
,
0x0c
,
0xc3
,
0xcc
,
0x39
,
0xd4
,
0xbc
,
0x90
,
0x16
,
0x76
,
0x0c
,
0x76
,
0xb4
,
0x0c
,
0xf9
,
0x7b
,
0xe7
,
0x88
,
0xbe
,
0x93
,
0x0b
,
0xf6
,
0x1c
,
0x86
,
0x69
,
0xc6
,
0x17
,
0xb4
,
0xf1
,
0x84
,
0x36
,
0xca
,
0xb5
,
0xfb
,
0x8f
,
0x05
,
0xa0
,
0xdb
,
0x87
,
0xa4
,
0xf1
,
0x83
,
0x20
,
0x59
,
0x2d
,
0x05
,
0x45
,
0x90
,
0xcc
,
0xab
,
0x9a
,
0x70
,
0xbc
,
0xb9
,
0xf0
,
0x33
,
0x41
,
0xb9
,
0x4b
,
0xde
,
0x69
,
0x43
,
0x17
,
0x4d
,
0xac
,
0x6e
,
0x9a
,
0xd4
,
0x90
,
0xb2
,
0xf3
,
0x92
,
0x7b
,
0x4d
,
0x73
,
0x9d
,
0x50
,
0x76
,
0x93
,
0x50
,
0x75
,
0x12
,
0x4b
,
0x47
,
0xfd
,
0x16
,
0x89
,
0xcb
,
0xe1
,
0x29
,
0x32
,
0x0c
,
0x6a
,
0x64
,
0xf8
,
0x14
,
0x0e
,
0x0a
,
0xac
,
0x9c
,
0xc9
,
0x90
,
0xa2
,
0xd4
,
0x8d
,
0xd8
,
0x7c
,
0xae
,
0x87
,
0x3b
,
0x92
,
0x63
,
0xd3
,
0x16
,
0xcc
,
0x33
,
0xcd
,
0xf8
,
0xaf
,
0x32
,
0x00
,
0x50
,
0x00
,
0x6d
,
0xc0
,
0xd8
,
0x98
,
0xf4
,
0x42
,
0x12
,
0x67
,
0xe4
,
0xa9
,
0x15
,
0xda
,
0x71
,
0x80
,
0x8b
,
0x90
,
0xe8
,
0x32
,
0xf2
,
0xd4
,
0x4a
,
0x8f
,
0xf2
,
0x60
,
0xd3
,
0x28
,
0x27
,
0x8d
,
0x51
,
0xbe
,
0x01
,
0xa7
,
0x10
,
0x90
,
0xcb
,
0x3c
,
0xe7
,
0x82
,
0x6a
,
0x56
,
0x73
,
0x7d
,
0x01
,
0x90
,
0xd1
,
0x2f
,
0xca
,
0xdd
,
0x90
,
0xb9
,
0x6b
,
0x0b
,
0xfa
,
0xbd
,
0x15
,
0x6b
,
0xd9
,
0x3d
,
0x93
,
0xba
,
0x57
,
0xae
,
0xdd
,
0xbf
,
0x4d
,
0x98
,
0x94
,
0x8e
,
0x03
,
0xec
,
0x26
,
0x3b
,
0x83
,
0xbe
,
0xe4
,
0x2b
,
0xb9
,
0x1a
,
0x9f
,
0x3f
,
0x53
,
0x07
,
0xb1
,
0x80
,
0x5d
,
0xd1
,
0xe6
,
0xcd
,
0x9e
,
0xa7
,
0x60
,
0xec
,
0x25
,
0xf4
,
0xb0
,
0x5e
,
0xf2
,
0x3d
,
0x3e
,
0x7f
,
0xda
,
0x80
,
0x23
,
0x01
,
0x6f
,
0xf6
,
0x3c
,
0x82
,
0xb0
,
0x2f
,
0xc0
,
0xce
,
0x78
,
0xea
,
0xaf
,
0x89
,
0x38
,
0xe3
,
0xf3
,
0xe3
,
0x06
,
0xd6
,
0xc3
,
0xbd
,
0x9b
,
0x3d
,
0x4f
,
0x82
,
0xd0
,
0xf1
,
0x1d
,
0xe7
,
0x21
,
0x71
,
0xa7
,
0xed
,
0xf8
,
0x07
,
0xce
,
0x43
,
0x74
,
0x8c
,
0x10
,
0x74
,
0x1c
,
0xc4
,
0x49
,
0x2e
,
0x39
,
0xd4
,
0x76
,
0x7c
,
0x85
,
0x7b
,
0xe8
,
0x98
,
0x40
,
0x58
,
0xe2
,
0xbd
,
0xbf
,
0xf4
,
0xdf
,
0x4a
,
0x36
,
0xb5
,
0x4b
,
0x7c
,
0x45
,
0x9b
,
0x58
,
0xa2
,
0x84
,
0xb1
,
0x09
,
0x98
,
0x62
,
0xad
,
0xe6
,
0x6e
,
0x8a
,
0xf5
,
0x7c
,
0x00
,
0xf6
,
0x03
,
0x32
,
0xd4
,
0xfd
,
0x52
,
0xb7
,
0x4f
,
0x7e
,
0x84
,
0xd3
,
0xc8
,
0x57
,
0xa9
,
0x3c
,
0xb3
,
0xb9
,
0x63
,
0x4c
,
0x2d
,
0x3c
,
0xc6
,
0xda
,
0xe2
,
0xfe
,
0x69
,
0xe8
,
0x4f
,
0x64
,
0x2b
,
0x5b
,
0x8a
,
0x6f
,
0x6c
,
0x57
,
0x7c
,
0x73
,
0x37
,
0xc5
,
0xb7
,
0x36
,
0x28
,
0xbe
,
0x56
,
0xba
,
0x5e
,
0x55
,
0xe9
,
0xdc
,
0x6b
,
0xd8
,
0xaf
,
0xce
,
0x6d
,
0xeb
,
0x5d
,
0x75
,
0xac
,
0xfa
,
0xa0
,
0xf2
,
0x51
,
0x4d
,
0xf9
,
0x11
,
0x0e
,
0x6a
,
0x13
,
0xdd
,
0xea
,
0x46
,
0x9f
,
0x1f
,
0xb3
,
0x7a
,
0x7e
,
0xdc
,
0xdf
,
0x74
,
0x3a
,
0x38
,
0x6d
,
0x64
,
0x32
,
0x0a
,
0xc8
,
0xeb
,
0x75
,
0x2a
,
0x9b
,
0x64
,
0x7b
,
0xe5
,
0x1a
,
0x53
,
0x49
,
0x15
,
0xc5
,
0xad
,
0x99
,
0xe9
,
0xc9
,
0x05
,
0x7a
,
0x7e
,
0x48
,
0xe2
,
0xd5
,
0x3d
,
0x4a
,
0x95
,
0x85
,
0x85
,
0xca
,
0x95
,
0x7b
,
0xa6
,
0x53
,
0x24
,
0x6e
,
0x6c
,
0x4b
,
0xd1
,
0xfd
,
0xc3
,
0x84
,
0x43
,
0x8f
,
0x07
,
0x3c
,
0x4a
,
0xc5
,
0xce
,
0x37
,
0x79
,
0x43
,
0x70
,
0xcd
,
0xb6
,
0xe0
,
0xea
,
0xc2
,
0xad
,
0xa6
,
0x70
,
0x28
,
0x31
,
0xeb
,
0xd5
,
0xc4
,
0xac
,
0x26
,
0x43
,
0x76
,
0x53
,
0x86
,
0x4a
,
0x59
,
0xe9
,
0x6f
,
0x92
,
0x95
,
0x41
,
0x5d
,
0x56
,
0x1a
,
0xd2
,
0x31
,
0x7c
,
0x54
,
0x3a
,
0x46
,
0x0d
,
0xe9
,
0xc8
,
0x34
,
0x8f
,
0xb5
,
0x10
,
0x3d
,
0xda
,
0x0f
,
0x06
,
0x3d
,
0x5f
,
0x37
,
0x82
,
0x7e
,
0x6f
,
0xec
,
0x40
,
0x59
,
0x4b
,
0xaf
,
0x52
,
0x8b
,
0x3b
,
0x87
,
0xc3
,
0x7a
,
0xcc
,
0x9c
,
0x9d
,
0xc1
,
0x20
,
0x53
,
0x0f
,
0x07
,
0x83
,
0x1e
,
0x0e
,
0xcf
,
0x5a
,
0xa2
,
0x42
,
0x8f
,
0x87
,
0x02
,
0xe5
,
0x7e
,
0x85
,
0x83
,
0x7c
,
0x57
,
0xec
,
0x2e
,
0x96
,
0x77
,
0xc9
,
0xd6
,
0xe1
,
0xff
,
0x65
,
0xc2
,
0x89
,
0xc7
,
0xd3
,
0x92
,
0x31
,
0xab
,
0x2c
,
0xe3
,
0x4b
,
0x41
,
0x9f
,
0xea
,
0x49
,
0x19
,
0xb5
,
0x49
,
0x7d
,
0xf8
,
0x57
,
0x5c
,
0xe5
,
0x65
,
0x61
,
0xd7
,
0x5f
,
0x16
,
0x1d
,
0x17
,
0x77
,
0x7f
,
0x87
,
0xf7
,
0xdd
,
0xa0
,
0x79
,
0x1d
,
0x6b
,
0xd5
,
0x18
,
0xd6
,
0xde
,
0x47
,
0xfa
,
0x9a
,
0x1b
,
0x55
,
0xaf
,
0x39
,
0xf7
,
0x6b
,
0x38
,
0x6a
,
0x74
,
0x3a
,
0xc7
,
0x9a
,
0x75
,
0x63
,
0x0b
,
0x7d
,
0xac
,
0x9a
,
0xdc
,
0x9f
,
0xe1
,
0xa3
,
0xee
,
0x5e
,
0xe7
,
0xec
,
0x02
,
0x49
,
0x71
,
0x97
,
0x14
,
0x93
,
0xfe
,
0x44
,
0x4d
,
0xba
,
0x1b
,
0xee
,
0x49
,
0xac
,
0x7b
,
0x05
,
0x4f
,
0x2b
,
0x59
,
0xcc
,
0xd7
,
0xfa
,
0xce
,
0xee
,
0x1c
,
0x5c
,
0x49
,
0x3c
,
0xb3
,
0x4a
,
0x3c
,
0x17
,
0x26
,
0x95
,
0x28
,
0x8b
,
0xeb
,
0x9c
,
0x1d
,
0x81
,
0xb5
,
0xb8
,
0x2e
,
0x0a
,
0xc0
,
0x9f
,
0x6e
,
0x08
,
0x4e
,
0x25
,
0x90
,
0xe2
,
0xe7
,
0x7c
,
0x4d
,
0x07
,
0xfd
,
0xff
,
0x1c
,
0x8d
,
0x32
,
0x13
,
0xab
,
0x9a
,
0xc9
,
0xef
,
0xf0
,
0xbc
,
0x2b
,
0x8a
,
0xaa
,
0x6a
,
0x07
,
0xa5
,
0x55
,
0x55
,
0x9b
,
0xdd
,
0x55
,
0xd7
,
0x62
,
0x5d
,
0x02
,
0xab
,
0x54
,
0x5d
,
0x9c
,
0xb8
,
0xcf
,
0x9b
,
0x27
,
0xae
,
0xe3
,
0xa9
,
0x5e
,
0x9e
,
0xb6
,
0x57
,
0xb5
,
0xee
,
0x23
,
0x62
,
0x97
,
0x13
,
0xb7
,
0xf1
,
0x46
,
0xf8
,
0x0e
,
0xdd
,
0xa5
,
0x2d
,
0x77
,
0x2f
,
0xa1
,
0x2f
,
0x03
,
0xaa
,
0x37
,
0x4b
,
0x47
,
0x46
,
0x0a
,
0x70
,
0xdb
,
0xa7
,
0xff
,
0xcc
,
0x2e
,
0xfe
,
0x0b
,
0x00
,
0x00
,
0xff
,
0xff
,
0x7d
,
0x38
,
0xd8
,
0xb1
,
0xab
,
0x0d
,
0x00
,
0x00
,
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment