mirror of
https://github.com/osrg/gobgp.git
synced 2024-05-11 05:55:10 +00:00
rpki: delete roa validation stream API
better to be implemented outside GoBGP. Signed-off-by: FUJITA Tomonori <[email protected]>
This commit is contained in:
+278
-437
@@ -61,7 +61,6 @@ It has these top-level messages:
|
||||
RPKIState
|
||||
RPKI
|
||||
ROA
|
||||
ROAResult
|
||||
Vrf
|
||||
Global
|
||||
*/
|
||||
@@ -378,64 +377,6 @@ func (ModBmpArguments_MonitoringPolicy) EnumDescriptor() ([]byte, []int) {
|
||||
return fileDescriptor0, []int{8, 0}
|
||||
}
|
||||
|
||||
type ROAResult_ValidationReason int32
|
||||
|
||||
const (
|
||||
ROAResult_UPDATE ROAResult_ValidationReason = 0
|
||||
ROAResult_WITHDRAW ROAResult_ValidationReason = 1
|
||||
ROAResult_PEER_DOWN ROAResult_ValidationReason = 2
|
||||
ROAResult_REVALIDATE ROAResult_ValidationReason = 3
|
||||
)
|
||||
|
||||
var ROAResult_ValidationReason_name = map[int32]string{
|
||||
0: "UPDATE",
|
||||
1: "WITHDRAW",
|
||||
2: "PEER_DOWN",
|
||||
3: "REVALIDATE",
|
||||
}
|
||||
var ROAResult_ValidationReason_value = map[string]int32{
|
||||
"UPDATE": 0,
|
||||
"WITHDRAW": 1,
|
||||
"PEER_DOWN": 2,
|
||||
"REVALIDATE": 3,
|
||||
}
|
||||
|
||||
func (x ROAResult_ValidationReason) String() string {
|
||||
return proto.EnumName(ROAResult_ValidationReason_name, int32(x))
|
||||
}
|
||||
func (ROAResult_ValidationReason) EnumDescriptor() ([]byte, []int) {
|
||||
return fileDescriptor0, []int{52, 0}
|
||||
}
|
||||
|
||||
type ROAResult_ValidationResult int32
|
||||
|
||||
const (
|
||||
ROAResult_NONE ROAResult_ValidationResult = 0
|
||||
ROAResult_NOT_FOUND ROAResult_ValidationResult = 1
|
||||
ROAResult_VALID ROAResult_ValidationResult = 2
|
||||
ROAResult_INVALID ROAResult_ValidationResult = 3
|
||||
)
|
||||
|
||||
var ROAResult_ValidationResult_name = map[int32]string{
|
||||
0: "NONE",
|
||||
1: "NOT_FOUND",
|
||||
2: "VALID",
|
||||
3: "INVALID",
|
||||
}
|
||||
var ROAResult_ValidationResult_value = map[string]int32{
|
||||
"NONE": 0,
|
||||
"NOT_FOUND": 1,
|
||||
"VALID": 2,
|
||||
"INVALID": 3,
|
||||
}
|
||||
|
||||
func (x ROAResult_ValidationResult) String() string {
|
||||
return proto.EnumName(ROAResult_ValidationResult_name, int32(x))
|
||||
}
|
||||
func (ROAResult_ValidationResult) EnumDescriptor() ([]byte, []int) {
|
||||
return fileDescriptor0, []int{52, 1}
|
||||
}
|
||||
|
||||
type Error struct {
|
||||
Code Error_ErrorCode `protobuf:"varint,1,opt,name=code,enum=gobgpapi.Error_ErrorCode" json:"code,omitempty"`
|
||||
Msg string `protobuf:"bytes,2,opt,name=msg" json:"msg,omitempty"`
|
||||
@@ -1422,30 +1363,6 @@ func (m *ROA) GetConf() *RPKIConf {
|
||||
return nil
|
||||
}
|
||||
|
||||
type ROAResult struct {
|
||||
Reason ROAResult_ValidationReason `protobuf:"varint,1,opt,name=reason,enum=gobgpapi.ROAResult_ValidationReason" json:"reason,omitempty"`
|
||||
Address string `protobuf:"bytes,2,opt,name=address" json:"address,omitempty"`
|
||||
Timestamp int64 `protobuf:"varint,3,opt,name=timestamp" json:"timestamp,omitempty"`
|
||||
AspathAttr []byte `protobuf:"bytes,4,opt,name=aspath_attr,json=aspathAttr,proto3" json:"aspath_attr,omitempty"`
|
||||
OriginAs uint32 `protobuf:"varint,5,opt,name=origin_as,json=originAs" json:"origin_as,omitempty"`
|
||||
Prefix string `protobuf:"bytes,6,opt,name=prefix" json:"prefix,omitempty"`
|
||||
OldResult ROAResult_ValidationResult `protobuf:"varint,7,opt,name=old_result,json=oldResult,enum=gobgpapi.ROAResult_ValidationResult" json:"old_result,omitempty"`
|
||||
NewResult ROAResult_ValidationResult `protobuf:"varint,8,opt,name=new_result,json=newResult,enum=gobgpapi.ROAResult_ValidationResult" json:"new_result,omitempty"`
|
||||
Roas []*ROA `protobuf:"bytes,9,rep,name=roas" json:"roas,omitempty"`
|
||||
}
|
||||
|
||||
func (m *ROAResult) Reset() { *m = ROAResult{} }
|
||||
func (m *ROAResult) String() string { return proto.CompactTextString(m) }
|
||||
func (*ROAResult) ProtoMessage() {}
|
||||
func (*ROAResult) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{52} }
|
||||
|
||||
func (m *ROAResult) GetRoas() []*ROA {
|
||||
if m != nil {
|
||||
return m.Roas
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
type Vrf struct {
|
||||
Name string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
|
||||
Rd []byte `protobuf:"bytes,2,opt,name=rd,proto3" json:"rd,omitempty"`
|
||||
@@ -1456,7 +1373,7 @@ type Vrf struct {
|
||||
func (m *Vrf) Reset() { *m = Vrf{} }
|
||||
func (m *Vrf) String() string { return proto.CompactTextString(m) }
|
||||
func (*Vrf) ProtoMessage() {}
|
||||
func (*Vrf) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{53} }
|
||||
func (*Vrf) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{52} }
|
||||
|
||||
type Global struct {
|
||||
As uint32 `protobuf:"varint,1,opt,name=as" json:"as,omitempty"`
|
||||
@@ -1472,7 +1389,7 @@ type Global struct {
|
||||
func (m *Global) Reset() { *m = Global{} }
|
||||
func (m *Global) String() string { return proto.CompactTextString(m) }
|
||||
func (*Global) ProtoMessage() {}
|
||||
func (*Global) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{54} }
|
||||
func (*Global) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{53} }
|
||||
|
||||
func init() {
|
||||
proto.RegisterType((*Error)(nil), "gobgpapi.Error")
|
||||
@@ -1527,7 +1444,6 @@ func init() {
|
||||
proto.RegisterType((*RPKIState)(nil), "gobgpapi.RPKIState")
|
||||
proto.RegisterType((*RPKI)(nil), "gobgpapi.RPKI")
|
||||
proto.RegisterType((*ROA)(nil), "gobgpapi.ROA")
|
||||
proto.RegisterType((*ROAResult)(nil), "gobgpapi.ROAResult")
|
||||
proto.RegisterType((*Vrf)(nil), "gobgpapi.Vrf")
|
||||
proto.RegisterType((*Global)(nil), "gobgpapi.Global")
|
||||
proto.RegisterEnum("gobgpapi.Resource", Resource_name, Resource_value)
|
||||
@@ -1541,8 +1457,6 @@ func init() {
|
||||
proto.RegisterEnum("gobgpapi.PolicyType", PolicyType_name, PolicyType_value)
|
||||
proto.RegisterEnum("gobgpapi.Error_ErrorCode", Error_ErrorCode_name, Error_ErrorCode_value)
|
||||
proto.RegisterEnum("gobgpapi.ModBmpArguments_MonitoringPolicy", ModBmpArguments_MonitoringPolicy_name, ModBmpArguments_MonitoringPolicy_value)
|
||||
proto.RegisterEnum("gobgpapi.ROAResult_ValidationReason", ROAResult_ValidationReason_name, ROAResult_ValidationReason_value)
|
||||
proto.RegisterEnum("gobgpapi.ROAResult_ValidationResult", ROAResult_ValidationResult_name, ROAResult_ValidationResult_value)
|
||||
}
|
||||
|
||||
// Reference imports to suppress errors if they are not otherwise used.
|
||||
@@ -1574,7 +1488,6 @@ type GobgpApiClient interface {
|
||||
MonitorRib(ctx context.Context, in *Table, opts ...grpc.CallOption) (GobgpApi_MonitorRibClient, error)
|
||||
MonitorBestChanged(ctx context.Context, in *Arguments, opts ...grpc.CallOption) (GobgpApi_MonitorBestChangedClient, error)
|
||||
MonitorPeerState(ctx context.Context, in *Arguments, opts ...grpc.CallOption) (GobgpApi_MonitorPeerStateClient, error)
|
||||
MonitorROAValidation(ctx context.Context, in *Arguments, opts ...grpc.CallOption) (GobgpApi_MonitorROAValidationClient, error)
|
||||
GetMrt(ctx context.Context, in *MrtArguments, opts ...grpc.CallOption) (GobgpApi_GetMrtClient, error)
|
||||
ModMrt(ctx context.Context, in *ModMrtArguments, opts ...grpc.CallOption) (*Error, error)
|
||||
ModBmp(ctx context.Context, in *ModBmpArguments, opts ...grpc.CallOption) (*Error, error)
|
||||
@@ -1883,40 +1796,8 @@ func (x *gobgpApiMonitorPeerStateClient) Recv() (*Peer, error) {
|
||||
return m, nil
|
||||
}
|
||||
|
||||
func (c *gobgpApiClient) MonitorROAValidation(ctx context.Context, in *Arguments, opts ...grpc.CallOption) (GobgpApi_MonitorROAValidationClient, error) {
|
||||
stream, err := grpc.NewClientStream(ctx, &_GobgpApi_serviceDesc.Streams[5], c.cc, "/gobgpapi.GobgpApi/MonitorROAValidation", opts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
x := &gobgpApiMonitorROAValidationClient{stream}
|
||||
if err := x.ClientStream.SendMsg(in); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if err := x.ClientStream.CloseSend(); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return x, nil
|
||||
}
|
||||
|
||||
type GobgpApi_MonitorROAValidationClient interface {
|
||||
Recv() (*ROAResult, error)
|
||||
grpc.ClientStream
|
||||
}
|
||||
|
||||
type gobgpApiMonitorROAValidationClient struct {
|
||||
grpc.ClientStream
|
||||
}
|
||||
|
||||
func (x *gobgpApiMonitorROAValidationClient) Recv() (*ROAResult, error) {
|
||||
m := new(ROAResult)
|
||||
if err := x.ClientStream.RecvMsg(m); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return m, nil
|
||||
}
|
||||
|
||||
func (c *gobgpApiClient) GetMrt(ctx context.Context, in *MrtArguments, opts ...grpc.CallOption) (GobgpApi_GetMrtClient, error) {
|
||||
stream, err := grpc.NewClientStream(ctx, &_GobgpApi_serviceDesc.Streams[6], c.cc, "/gobgpapi.GobgpApi/GetMrt", opts...)
|
||||
stream, err := grpc.NewClientStream(ctx, &_GobgpApi_serviceDesc.Streams[5], c.cc, "/gobgpapi.GobgpApi/GetMrt", opts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@@ -1966,7 +1847,7 @@ func (c *gobgpApiClient) ModBmp(ctx context.Context, in *ModBmpArguments, opts .
|
||||
}
|
||||
|
||||
func (c *gobgpApiClient) GetRPKI(ctx context.Context, in *Arguments, opts ...grpc.CallOption) (GobgpApi_GetRPKIClient, error) {
|
||||
stream, err := grpc.NewClientStream(ctx, &_GobgpApi_serviceDesc.Streams[7], c.cc, "/gobgpapi.GobgpApi/GetRPKI", opts...)
|
||||
stream, err := grpc.NewClientStream(ctx, &_GobgpApi_serviceDesc.Streams[6], c.cc, "/gobgpapi.GobgpApi/GetRPKI", opts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@@ -2007,7 +1888,7 @@ func (c *gobgpApiClient) ModRPKI(ctx context.Context, in *ModRpkiArguments, opts
|
||||
}
|
||||
|
||||
func (c *gobgpApiClient) GetROA(ctx context.Context, in *Arguments, opts ...grpc.CallOption) (GobgpApi_GetROAClient, error) {
|
||||
stream, err := grpc.NewClientStream(ctx, &_GobgpApi_serviceDesc.Streams[8], c.cc, "/gobgpapi.GobgpApi/GetROA", opts...)
|
||||
stream, err := grpc.NewClientStream(ctx, &_GobgpApi_serviceDesc.Streams[7], c.cc, "/gobgpapi.GobgpApi/GetROA", opts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@@ -2039,7 +1920,7 @@ func (x *gobgpApiGetROAClient) Recv() (*ROA, error) {
|
||||
}
|
||||
|
||||
func (c *gobgpApiClient) GetVrfs(ctx context.Context, in *Arguments, opts ...grpc.CallOption) (GobgpApi_GetVrfsClient, error) {
|
||||
stream, err := grpc.NewClientStream(ctx, &_GobgpApi_serviceDesc.Streams[9], c.cc, "/gobgpapi.GobgpApi/GetVrfs", opts...)
|
||||
stream, err := grpc.NewClientStream(ctx, &_GobgpApi_serviceDesc.Streams[8], c.cc, "/gobgpapi.GobgpApi/GetVrfs", opts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@@ -2089,7 +1970,7 @@ func (c *gobgpApiClient) GetDefinedSet(ctx context.Context, in *DefinedSet, opts
|
||||
}
|
||||
|
||||
func (c *gobgpApiClient) GetDefinedSets(ctx context.Context, in *DefinedSet, opts ...grpc.CallOption) (GobgpApi_GetDefinedSetsClient, error) {
|
||||
stream, err := grpc.NewClientStream(ctx, &_GobgpApi_serviceDesc.Streams[10], c.cc, "/gobgpapi.GobgpApi/GetDefinedSets", opts...)
|
||||
stream, err := grpc.NewClientStream(ctx, &_GobgpApi_serviceDesc.Streams[9], c.cc, "/gobgpapi.GobgpApi/GetDefinedSets", opts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@@ -2139,7 +2020,7 @@ func (c *gobgpApiClient) GetStatement(ctx context.Context, in *Statement, opts .
|
||||
}
|
||||
|
||||
func (c *gobgpApiClient) GetStatements(ctx context.Context, in *Statement, opts ...grpc.CallOption) (GobgpApi_GetStatementsClient, error) {
|
||||
stream, err := grpc.NewClientStream(ctx, &_GobgpApi_serviceDesc.Streams[11], c.cc, "/gobgpapi.GobgpApi/GetStatements", opts...)
|
||||
stream, err := grpc.NewClientStream(ctx, &_GobgpApi_serviceDesc.Streams[10], c.cc, "/gobgpapi.GobgpApi/GetStatements", opts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@@ -2189,7 +2070,7 @@ func (c *gobgpApiClient) GetPolicy(ctx context.Context, in *Policy, opts ...grpc
|
||||
}
|
||||
|
||||
func (c *gobgpApiClient) GetPolicies(ctx context.Context, in *Policy, opts ...grpc.CallOption) (GobgpApi_GetPoliciesClient, error) {
|
||||
stream, err := grpc.NewClientStream(ctx, &_GobgpApi_serviceDesc.Streams[12], c.cc, "/gobgpapi.GobgpApi/GetPolicies", opts...)
|
||||
stream, err := grpc.NewClientStream(ctx, &_GobgpApi_serviceDesc.Streams[11], c.cc, "/gobgpapi.GobgpApi/GetPolicies", opts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@@ -2268,7 +2149,6 @@ type GobgpApiServer interface {
|
||||
MonitorRib(*Table, GobgpApi_MonitorRibServer) error
|
||||
MonitorBestChanged(*Arguments, GobgpApi_MonitorBestChangedServer) error
|
||||
MonitorPeerState(*Arguments, GobgpApi_MonitorPeerStateServer) error
|
||||
MonitorROAValidation(*Arguments, GobgpApi_MonitorROAValidationServer) error
|
||||
GetMrt(*MrtArguments, GobgpApi_GetMrtServer) error
|
||||
ModMrt(context.Context, *ModMrtArguments) (*Error, error)
|
||||
ModBmp(context.Context, *ModBmpArguments) (*Error, error)
|
||||
@@ -2638,27 +2518,6 @@ func (x *gobgpApiMonitorPeerStateServer) Send(m *Peer) error {
|
||||
return x.ServerStream.SendMsg(m)
|
||||
}
|
||||
|
||||
func _GobgpApi_MonitorROAValidation_Handler(srv interface{}, stream grpc.ServerStream) error {
|
||||
m := new(Arguments)
|
||||
if err := stream.RecvMsg(m); err != nil {
|
||||
return err
|
||||
}
|
||||
return srv.(GobgpApiServer).MonitorROAValidation(m, &gobgpApiMonitorROAValidationServer{stream})
|
||||
}
|
||||
|
||||
type GobgpApi_MonitorROAValidationServer interface {
|
||||
Send(*ROAResult) error
|
||||
grpc.ServerStream
|
||||
}
|
||||
|
||||
type gobgpApiMonitorROAValidationServer struct {
|
||||
grpc.ServerStream
|
||||
}
|
||||
|
||||
func (x *gobgpApiMonitorROAValidationServer) Send(m *ROAResult) error {
|
||||
return x.ServerStream.SendMsg(m)
|
||||
}
|
||||
|
||||
func _GobgpApi_GetMrt_Handler(srv interface{}, stream grpc.ServerStream) error {
|
||||
m := new(MrtArguments)
|
||||
if err := stream.RecvMsg(m); err != nil {
|
||||
@@ -3153,11 +3012,6 @@ var _GobgpApi_serviceDesc = grpc.ServiceDesc{
|
||||
Handler: _GobgpApi_MonitorPeerState_Handler,
|
||||
ServerStreams: true,
|
||||
},
|
||||
{
|
||||
StreamName: "MonitorROAValidation",
|
||||
Handler: _GobgpApi_MonitorROAValidation_Handler,
|
||||
ServerStreams: true,
|
||||
},
|
||||
{
|
||||
StreamName: "GetMrt",
|
||||
Handler: _GobgpApi_GetMrt_Handler,
|
||||
@@ -3197,286 +3051,273 @@ var _GobgpApi_serviceDesc = grpc.ServiceDesc{
|
||||
}
|
||||
|
||||
var fileDescriptor0 = []byte{
|
||||
// 4496 bytes of a gzipped FileDescriptorProto
|
||||
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xd4, 0x3b, 0x4d, 0x73, 0x1b, 0x47,
|
||||
0x76, 0x06, 0x01, 0x92, 0xc0, 0x03, 0x40, 0x82, 0x43, 0x4a, 0xa6, 0xb8, 0x5e, 0xaf, 0x77, 0x62,
|
||||
0x7b, 0x6d, 0xae, 0x2d, 0xd9, 0xb2, 0x2d, 0x6f, 0xb4, 0xde, 0x4d, 0x20, 0x60, 0x24, 0x61, 0x4d,
|
||||
0x12, 0x50, 0x13, 0x92, 0xed, 0x5c, 0x26, 0x23, 0x60, 0x40, 0x4e, 0x09, 0xc0, 0x8c, 0x67, 0x06,
|
||||
0xfa, 0x48, 0x55, 0x72, 0xd8, 0x1c, 0x72, 0x48, 0xe5, 0x9a, 0xaa, 0x54, 0x6d, 0xfe, 0x40, 0xfe,
|
||||
0x40, 0x2a, 0xf7, 0xa4, 0x2a, 0xc7, 0x5c, 0x73, 0x49, 0x0e, 0xa9, 0x5c, 0x72, 0x4f, 0x55, 0x8e,
|
||||
0x79, 0xef, 0x75, 0xcf, 0x4c, 0x0f, 0x38, 0xa2, 0xa8, 0xe5, 0x56, 0xaa, 0x72, 0x21, 0xa6, 0xdf,
|
||||
0x57, 0xbf, 0xee, 0x7e, 0x5f, 0xfd, 0x41, 0xa8, 0x9f, 0xf8, 0x8f, 0x4f, 0x82, 0xeb, 0x41, 0xe8,
|
||||
0xc7, 0xbe, 0x51, 0xe5, 0x86, 0x13, 0x78, 0xe6, 0x14, 0x56, 0xad, 0x30, 0xf4, 0x43, 0xe3, 0x63,
|
||||
0xa8, 0x8c, 0xfc, 0xb1, 0xbb, 0x5b, 0x7a, 0xa7, 0xf4, 0xc1, 0xc6, 0xcd, 0x6b, 0xd7, 0x13, 0x8a,
|
||||
0xeb, 0x8c, 0x96, 0x7f, 0x3b, 0x48, 0x20, 0x98, 0xcc, 0x68, 0x41, 0x79, 0x16, 0x9d, 0xec, 0xae,
|
||||
0x20, 0x75, 0x4d, 0xd0, 0xa7, 0x69, 0x42, 0x2d, 0x25, 0x32, 0xea, 0xb0, 0x7e, 0xfc, 0xb0, 0xd3,
|
||||
0xb1, 0x8e, 0x8f, 0x5b, 0x6f, 0x18, 0x55, 0xa8, 0xdc, 0x6d, 0xf7, 0x0e, 0x5a, 0x25, 0xf3, 0x04,
|
||||
0x6a, 0xed, 0xf0, 0x64, 0x31, 0x73, 0xe7, 0x71, 0x64, 0x5c, 0x87, 0x6a, 0xe8, 0x46, 0xfe, 0x22,
|
||||
0x1c, 0x25, 0xbd, 0x1a, 0x59, 0xaf, 0x42, 0x61, 0x44, 0x4a, 0x63, 0x5c, 0x85, 0xb5, 0x89, 0x33,
|
||||
0xf3, 0xa6, 0x2f, 0xb8, 0xd7, 0xa6, 0x50, 0x2d, 0xc3, 0x80, 0xca, 0xdc, 0x99, 0xb9, 0xbb, 0x65,
|
||||
0xd6, 0x85, 0xbf, 0xcd, 0x7f, 0x2d, 0x41, 0xeb, 0xd0, 0x1f, 0x0f, 0x9c, 0xf8, 0x34, 0xeb, 0xf0,
|
||||
0x53, 0xa8, 0xf9, 0x81, 0x1b, 0x3a, 0xb1, 0xe7, 0xcf, 0x55, 0x8f, 0xdb, 0x59, 0x8f, 0xfd, 0x04,
|
||||
0x25, 0x32, 0xaa, 0x9c, 0x8e, 0x2b, 0x17, 0xd0, 0xb1, 0x40, 0x17, 0xc3, 0x84, 0x4a, 0x80, 0x7a,
|
||||
0xec, 0x56, 0x10, 0x56, 0xbf, 0xb9, 0x91, 0xf1, 0x93, 0x76, 0x82, 0x71, 0xc4, 0xb7, 0x58, 0x78,
|
||||
0xe3, 0xdd, 0x55, 0xa4, 0x69, 0x08, 0xfe, 0xd6, 0xc6, 0xbb, 0xa6, 0x8f, 0xd7, 0x7c, 0x0f, 0x36,
|
||||
0xd5, 0xd0, 0x50, 0x81, 0xc0, 0x9f, 0x47, 0x6e, 0xca, 0x5e, 0xca, 0xd8, 0xcd, 0x3f, 0x85, 0x2d,
|
||||
0x45, 0x16, 0xfd, 0xf6, 0x73, 0x9e, 0x8c, 0x67, 0x45, 0x1b, 0xcf, 0xbb, 0xb0, 0x4a, 0x3a, 0x47,
|
||||
0x38, 0xc8, 0x72, 0xc1, 0x80, 0x24, 0xd2, 0x9c, 0xc1, 0x0e, 0x76, 0x7f, 0xe4, 0x7a, 0x27, 0xa7,
|
||||
0x8f, 0xfd, 0xf0, 0x52, 0x8b, 0x40, 0x13, 0xe8, 0xba, 0x21, 0x2b, 0x91, 0xef, 0x0f, 0xa1, 0x82,
|
||||
0x71, 0xe6, 0xdf, 0x96, 0xa0, 0x71, 0x18, 0xc6, 0xbf, 0x7b, 0xeb, 0xda, 0x83, 0xaa, 0x37, 0x8f,
|
||||
0xdd, 0xf0, 0xa9, 0x33, 0xe5, 0x55, 0xad, 0x88, 0xb4, 0x6d, 0x7c, 0x08, 0xad, 0xb9, 0x1a, 0xa0,
|
||||
0xed, 0x8c, 0xc7, 0x28, 0x2b, 0xe2, 0x55, 0xae, 0x89, 0xcd, 0x04, 0xde, 0x96, 0x60, 0xf3, 0x6f,
|
||||
0x4a, 0xbc, 0x6a, 0x39, 0x15, 0x7f, 0x8b, 0xa9, 0xf8, 0x01, 0xd4, 0xc6, 0x8b, 0x59, 0x60, 0xc7,
|
||||
0x2f, 0x02, 0xb9, 0x28, 0xab, 0xa2, 0x4a, 0x80, 0x21, 0xb6, 0x49, 0xd5, 0x89, 0x37, 0x75, 0x35,
|
||||
0x03, 0x4c, 0xdb, 0xb9, 0x61, 0x54, 0xf2, 0xc3, 0x30, 0xff, 0x43, 0xea, 0x76, 0x67, 0x16, 0x5c,
|
||||
0x4a, 0xb7, 0x5d, 0x58, 0x4f, 0x26, 0x41, 0x9a, 0x4b, 0xd2, 0x24, 0x2b, 0x0a, 0xfc, 0x30, 0x66,
|
||||
0xa5, 0x9a, 0x82, 0xbf, 0x8d, 0x5f, 0x42, 0x85, 0x07, 0x51, 0x61, 0xd9, 0xfb, 0x99, 0xec, 0x25,
|
||||
0x4d, 0xb0, 0x3d, 0xf7, 0x62, 0x3f, 0xf4, 0xe6, 0x27, 0x03, 0x7f, 0xea, 0x8d, 0x5e, 0x08, 0xe6,
|
||||
0x33, 0x6f, 0x90, 0x83, 0xe7, 0x31, 0xc6, 0x3a, 0x94, 0x07, 0xc2, 0x92, 0x11, 0x67, 0xd0, 0x3f,
|
||||
0x1e, 0xb6, 0x4a, 0xf4, 0x75, 0xa7, 0x3f, 0xbc, 0xdf, 0x5a, 0x31, 0xff, 0x41, 0x86, 0x04, 0x11,
|
||||
0x3c, 0xf1, 0x2e, 0x35, 0x4c, 0x8c, 0x7c, 0x4e, 0x34, 0x57, 0x56, 0x42, 0x9f, 0xfa, 0xc0, 0xcb,
|
||||
0xc5, 0x03, 0xaf, 0x68, 0x03, 0xc7, 0x95, 0x98, 0x7a, 0x13, 0x37, 0xf6, 0x70, 0x95, 0xc8, 0xdd,
|
||||
0xcb, 0x22, 0x6d, 0x93, 0x11, 0x06, 0xa1, 0x3b, 0xf1, 0x9e, 0xb3, 0xcb, 0xd7, 0x84, 0x6a, 0x99,
|
||||
0x2e, 0x2f, 0xd0, 0xa3, 0x70, 0x72, 0x29, 0xcd, 0x7f, 0x04, 0xe5, 0xa7, 0xe1, 0x44, 0xb9, 0x51,
|
||||
0x33, 0x23, 0x46, 0xb9, 0x82, 0x30, 0x66, 0x04, 0x57, 0xb1, 0x9b, 0x2e, 0x76, 0x39, 0x77, 0xc7,
|
||||
0xc7, 0xee, 0xe5, 0x4c, 0xf5, 0x7d, 0x28, 0x47, 0x6e, 0xac, 0x7a, 0xdb, 0xc9, 0x88, 0x33, 0xf1,
|
||||
0x82, 0x08, 0x30, 0x4e, 0x5d, 0xc1, 0x4e, 0x8f, 0x63, 0x27, 0x76, 0xa9, 0xaf, 0x4b, 0xf5, 0x89,
|
||||
0x2c, 0x51, 0x22, 0x48, 0xf5, 0xac, 0xb1, 0xa4, 0x7d, 0x88, 0x8c, 0xca, 0xfc, 0xb7, 0x12, 0x18,
|
||||
0x14, 0x27, 0xd9, 0x82, 0x2e, 0xd5, 0xf9, 0x07, 0xb8, 0x78, 0x2c, 0x45, 0xf5, 0xdc, 0xd2, 0x02,
|
||||
0x95, 0xb4, 0x5c, 0x85, 0x37, 0x6e, 0xc3, 0x35, 0x5c, 0x57, 0x37, 0xb4, 0xdd, 0xe7, 0x5e, 0x14,
|
||||
0xa3, 0xfd, 0xda, 0xa9, 0x3e, 0xd2, 0x84, 0xaa, 0xe2, 0x4d, 0x26, 0xb0, 0x14, 0x3e, 0xd5, 0x3c,
|
||||
0x32, 0x6e, 0xc0, 0x36, 0x1a, 0x45, 0x84, 0x9e, 0xeb, 0xea, 0x5c, 0x15, 0xe6, 0x32, 0x12, 0x54,
|
||||
0xc6, 0x60, 0xfe, 0x55, 0x09, 0xde, 0xca, 0x06, 0x18, 0x45, 0xde, 0xc9, 0xfc, 0xd2, 0xf3, 0x7c,
|
||||
0x1b, 0xc0, 0x49, 0x25, 0xa9, 0xe1, 0xee, 0x2d, 0x0f, 0x37, 0xeb, 0x4b, 0x68, 0xd4, 0xe6, 0x33,
|
||||
0xd8, 0x45, 0x75, 0xee, 0x4d, 0xfd, 0xc7, 0xce, 0xb4, 0xe3, 0xcf, 0x27, 0xde, 0xc9, 0x65, 0x67,
|
||||
0xfd, 0x84, 0x65, 0x9d, 0x9d, 0x75, 0xd9, 0x87, 0x50, 0x78, 0xf3, 0x37, 0x65, 0x8c, 0x0a, 0x2a,
|
||||
0xd9, 0xce, 0xa7, 0xa1, 0x97, 0x64, 0x4b, 0xfa, 0x66, 0xcf, 0x73, 0xe2, 0x38, 0xa4, 0xd8, 0x55,
|
||||
0x46, 0xa8, 0x6a, 0xb1, 0xb7, 0x9f, 0xc8, 0x70, 0x5a, 0x16, 0xf4, 0x49, 0xdc, 0x8f, 0xdd, 0x28,
|
||||
0x56, 0x33, 0xce, 0xdf, 0xe8, 0x59, 0x75, 0x2f, 0xb2, 0x9f, 0x79, 0xf1, 0xe9, 0x38, 0x74, 0x9e,
|
||||
0xb1, 0x5b, 0x57, 0x05, 0x78, 0xd1, 0x37, 0x0a, 0x62, 0xbc, 0x0d, 0x80, 0x91, 0xd6, 0x1b, 0xcb,
|
||||
0x91, 0xad, 0x71, 0xe0, 0xd6, 0x20, 0xc6, 0x27, 0xb0, 0x33, 0xf7, 0x6d, 0x6f, 0x16, 0xe0, 0xc4,
|
||||
0x79, 0x71, 0x26, 0x69, 0x5d, 0x2e, 0xeb, 0xdc, 0xef, 0x29, 0x54, 0x2a, 0x31, 0xcb, 0x57, 0xd5,
|
||||
0x5c, 0xbe, 0xfa, 0x21, 0x80, 0xcc, 0x68, 0x36, 0x45, 0xa9, 0x1a, 0xe3, 0x6a, 0x12, 0xd2, 0x8e,
|
||||
0x38, 0x81, 0x28, 0x34, 0x96, 0x0b, 0x20, 0x93, 0x84, 0x04, 0xf4, 0xc6, 0x2a, 0x81, 0x60, 0x56,
|
||||
0x70, 0xc7, 0xbb, 0x75, 0xee, 0x39, 0x6d, 0x1b, 0x3b, 0xb0, 0x8a, 0xe6, 0x36, 0x75, 0x77, 0x1b,
|
||||
0x8c, 0x90, 0x0d, 0x9c, 0xfd, 0x16, 0x0e, 0x7c, 0x12, 0xfa, 0x33, 0xb4, 0x65, 0x24, 0x9c, 0xe3,
|
||||
0x3a, 0x34, 0x99, 0x60, 0xc3, 0x8b, 0xee, 0x22, 0xd8, 0x52, 0x50, 0x9a, 0xa2, 0x34, 0x57, 0x7a,
|
||||
0xc1, 0xee, 0x06, 0x77, 0x0d, 0x09, 0xa8, 0x17, 0x98, 0x31, 0xd4, 0xbb, 0x2e, 0x59, 0xbb, 0x9c,
|
||||
0x91, 0x2c, 0x14, 0x96, 0xf4, 0x50, 0x98, 0x55, 0x1f, 0x2b, 0xe7, 0x54, 0x1f, 0xc6, 0x4f, 0x60,
|
||||
0x73, 0xea, 0xcf, 0x4f, 0xd0, 0xc5, 0x24, 0x9b, 0x9b, 0xf8, 0xd5, 0x86, 0x04, 0x0f, 0x14, 0xd4,
|
||||
0xfc, 0xfb, 0x12, 0xac, 0x0e, 0x9d, 0xc7, 0x38, 0x94, 0xf7, 0x55, 0x42, 0x7a, 0x79, 0xb1, 0xc0,
|
||||
0xf8, 0xc2, 0x92, 0x28, 0x5b, 0x8c, 0x72, 0x6e, 0x31, 0x7e, 0x1f, 0x1a, 0xe3, 0x6c, 0x4c, 0xe4,
|
||||
0xa5, 0xa4, 0xf3, 0x15, 0x3d, 0x18, 0xa6, 0x58, 0x91, 0x23, 0xa5, 0xf9, 0x0a, 0xfc, 0x28, 0xb6,
|
||||
0x55, 0x48, 0x51, 0x26, 0x45, 0x20, 0xe9, 0x5d, 0xe6, 0x3f, 0x92, 0x39, 0x63, 0xe9, 0xc3, 0xab,
|
||||
0x46, 0xdd, 0x79, 0xae, 0x9c, 0x94, 0xa6, 0x48, 0xdb, 0xc6, 0xcf, 0xa0, 0xe1, 0x04, 0xc1, 0xf4,
|
||||
0x45, 0x22, 0xa6, 0xcc, 0x3e, 0xa2, 0x29, 0xd0, 0x26, 0xac, 0x0a, 0x4f, 0x75, 0x27, 0x6b, 0xd0,
|
||||
0x74, 0x8c, 0xd0, 0x3b, 0xb9, 0xe3, 0xba, 0x3e, 0x1d, 0xd4, 0x27, 0xf9, 0xad, 0x60, 0xbc, 0xf1,
|
||||
0x73, 0x68, 0xba, 0x88, 0xb1, 0x67, 0x8b, 0x69, 0xec, 0x9d, 0xfa, 0x01, 0x1b, 0x77, 0xfd, 0xe6,
|
||||
0x55, 0x6d, 0x03, 0x81, 0xbf, 0x87, 0x0a, 0x2b, 0x1a, 0xae, 0xd6, 0x32, 0xda, 0xb0, 0x19, 0xfa,
|
||||
0x8b, 0xd8, 0xb5, 0x71, 0x39, 0xa6, 0xee, 0x08, 0x93, 0x39, 0xdb, 0x64, 0xfd, 0xe6, 0xae, 0x36,
|
||||
0xfd, 0x44, 0x20, 0x12, 0xbc, 0xd8, 0x08, 0x73, 0x6d, 0x5c, 0xe9, 0x8a, 0x37, 0x9f, 0xf8, 0x6c,
|
||||
0xaf, 0xb9, 0x68, 0x4f, 0x7a, 0x72, 0x18, 0x14, 0x4c, 0x40, 0x81, 0x82, 0x72, 0x2c, 0x7a, 0x78,
|
||||
0x63, 0x39, 0x50, 0x0c, 0x19, 0x2e, 0x14, 0x9e, 0xa2, 0x50, 0x1c, 0x3a, 0xf3, 0x88, 0x53, 0x77,
|
||||
0x73, 0x59, 0xee, 0x30, 0x41, 0x89, 0x8c, 0x8a, 0xe6, 0x59, 0x0e, 0x84, 0xa3, 0x6f, 0xb8, 0xbb,
|
||||
0xb9, 0x3c, 0xcf, 0x3c, 0x8a, 0x63, 0x46, 0x8a, 0x7a, 0x98, 0x35, 0xcc, 0x7f, 0x2e, 0x41, 0x5d,
|
||||
0x5b, 0x04, 0xe3, 0x4b, 0xa8, 0x79, 0xf3, 0x64, 0xb9, 0x4a, 0xaf, 0x8c, 0xac, 0x58, 0xc5, 0x29,
|
||||
0xc6, 0x3f, 0xc0, 0x85, 0x78, 0x4e, 0xca, 0xd8, 0xb9, 0x2c, 0x74, 0x1e, 0x73, 0x43, 0x32, 0x64,
|
||||
0x02, 0x30, 0x00, 0x69, 0x02, 0xca, 0xaf, 0x16, 0x20, 0x19, 0x94, 0x45, 0xfe, 0x19, 0xd4, 0xa5,
|
||||
0x5f, 0x1d, 0x78, 0x33, 0x2f, 0xd6, 0x9c, 0xa2, 0x94, 0x73, 0x8a, 0x1f, 0x43, 0x63, 0xe6, 0x3c,
|
||||
0xcf, 0x1c, 0x53, 0x56, 0x52, 0x75, 0x84, 0x25, 0x5e, 0x69, 0x7c, 0x0e, 0x57, 0xa3, 0xd3, 0x45,
|
||||
0x3c, 0xf6, 0x9f, 0xcd, 0xed, 0xf8, 0x14, 0x73, 0xda, 0xa9, 0x3f, 0x1d, 0xdb, 0xc1, 0x28, 0x29,
|
||||
0x21, 0x77, 0x12, 0xec, 0x30, 0x41, 0x0e, 0x46, 0xb1, 0xf9, 0xdf, 0x65, 0xa8, 0x26, 0xd6, 0x69,
|
||||
0xfc, 0x1e, 0x34, 0x9d, 0x45, 0x7c, 0x6a, 0x07, 0x98, 0x7a, 0x9e, 0xf9, 0xe1, 0x58, 0x85, 0x91,
|
||||
0x06, 0x01, 0x07, 0x0a, 0x66, 0xbc, 0x03, 0x75, 0x74, 0xba, 0x51, 0xe8, 0x05, 0x1c, 0x97, 0xa5,
|
||||
0x4b, 0xeb, 0x20, 0xe3, 0x1a, 0x56, 0x6b, 0xfe, 0xc8, 0x99, 0x62, 0x34, 0x55, 0x7d, 0xaf, 0x73,
|
||||
0xbb, 0x1d, 0xbd, 0x46, 0xf5, 0x6f, 0xbc, 0x09, 0xeb, 0xb4, 0x4b, 0x21, 0x21, 0xab, 0x72, 0x2e,
|
||||
0xa8, 0x89, 0x32, 0x30, 0x5a, 0x33, 0xe2, 0x04, 0x4d, 0x22, 0x50, 0x45, 0x5f, 0x8d, 0x20, 0xf7,
|
||||
0x08, 0x40, 0xd1, 0x9a, 0xd1, 0x1c, 0x98, 0xd6, 0x99, 0xb3, 0x4a, 0x00, 0x2e, 0xf7, 0xf7, 0x61,
|
||||
0x2b, 0x74, 0x67, 0x3e, 0xd6, 0x01, 0x41, 0xe8, 0x3d, 0x45, 0x43, 0x27, 0xf1, 0x32, 0x19, 0x6c,
|
||||
0x4a, 0xc4, 0x40, 0xc2, 0xb1, 0x9f, 0x8f, 0xc0, 0x90, 0xf6, 0x39, 0x99, 0x3a, 0x81, 0x3d, 0x76,
|
||||
0x66, 0x01, 0x56, 0x15, 0x9c, 0x1d, 0xaa, 0xa2, 0xc5, 0x98, 0xbb, 0x88, 0xe8, 0x4a, 0xb8, 0xf1,
|
||||
0x1e, 0x6c, 0x44, 0xee, 0x7c, 0x6c, 0x8f, 0xfc, 0xd9, 0x6c, 0x81, 0x35, 0xf6, 0x0b, 0xf6, 0xca,
|
||||
0xa6, 0x68, 0x12, 0xb4, 0x93, 0x00, 0x49, 0x79, 0xea, 0x07, 0xa5, 0x8e, 0x9c, 0x00, 0x1d, 0x90,
|
||||
0xf2, 0x66, 0x4d, 0x42, 0x3a, 0x0e, 0x2b, 0x2f, 0xa7, 0x8e, 0xb0, 0x0d, 0xc6, 0xca, 0xb9, 0x24,
|
||||
0xe4, 0x06, 0xac, 0x60, 0x02, 0x6a, 0xf2, 0x80, 0xf1, 0x0b, 0x2b, 0x8a, 0xa6, 0x34, 0x08, 0x7b,
|
||||
0x4a, 0xc6, 0x13, 0x61, 0x82, 0x58, 0x0a, 0x95, 0x9a, 0x69, 0x89, 0x46, 0x90, 0x35, 0x22, 0xf3,
|
||||
0x6b, 0x68, 0xe8, 0x31, 0x86, 0xea, 0x71, 0xdc, 0xf4, 0x60, 0x4c, 0x97, 0x8b, 0x5e, 0x15, 0x49,
|
||||
0x93, 0x4d, 0x4f, 0x51, 0xd9, 0x71, 0x3c, 0x4d, 0x4d, 0x4f, 0xc1, 0x86, 0xf1, 0xd4, 0xfc, 0xf3,
|
||||
0x12, 0x6c, 0xe4, 0x43, 0x0e, 0x59, 0xe3, 0x52, 0x94, 0xb2, 0x47, 0x18, 0x5d, 0xb1, 0xf2, 0x91,
|
||||
0xe2, 0x77, 0xf2, 0x21, 0xa9, 0xc3, 0x38, 0x0c, 0x8c, 0x7b, 0x67, 0xb9, 0x16, 0x11, 0xa6, 0x43,
|
||||
0x4a, 0xbd, 0xb2, 0xe7, 0x37, 0x97, 0x39, 0x19, 0xdf, 0x1b, 0x9b, 0xff, 0xb9, 0x0a, 0xb5, 0x34,
|
||||
0x80, 0xfd, 0x1f, 0xd8, 0x32, 0xee, 0x96, 0x67, 0x68, 0xa8, 0x58, 0xdf, 0x44, 0xea, 0x9c, 0x42,
|
||||
0x8b, 0xf8, 0x87, 0x0a, 0x23, 0x52, 0x9a, 0x42, 0xdb, 0x5f, 0x7d, 0xa5, 0xed, 0xaf, 0x9d, 0x63,
|
||||
0xfb, 0xeb, 0xe7, 0xda, 0x7e, 0x75, 0xc9, 0xf6, 0x31, 0x98, 0x7f, 0xbf, 0x70, 0x17, 0xa8, 0x6d,
|
||||
0x6d, 0x39, 0x98, 0x3f, 0x60, 0xb8, 0x50, 0xf8, 0x62, 0x2f, 0x81, 0xd7, 0xf1, 0x92, 0xfa, 0x85,
|
||||
0xbd, 0xa4, 0x51, 0xe4, 0x25, 0xb8, 0x78, 0x11, 0xce, 0x03, 0x2e, 0x80, 0xac, 0xd7, 0xd9, 0xe8,
|
||||
0x9b, 0xa2, 0xa1, 0x80, 0x72, 0x85, 0xbf, 0xc0, 0x80, 0xb7, 0x08, 0x28, 0x96, 0xba, 0x63, 0xf2,
|
||||
0x17, 0xe7, 0x31, 0xe6, 0xef, 0x98, 0x32, 0x3a, 0xf9, 0x41, 0x4d, 0x5c, 0x49, 0xb1, 0x1d, 0x0d,
|
||||
0x49, 0x73, 0x44, 0xb9, 0x57, 0xca, 0xdd, 0x94, 0xd5, 0x1c, 0x02, 0xa4, 0x4c, 0xac, 0x20, 0x9c,
|
||||
0xf1, 0xcc, 0x4b, 0xba, 0x6d, 0xc9, 0x8a, 0x8b, 0x41, 0x92, 0x60, 0x8f, 0x8e, 0x48, 0x46, 0xae,
|
||||
0xf7, 0x14, 0x1d, 0x65, 0x4b, 0x4e, 0x70, 0xd2, 0x26, 0x9c, 0x33, 0x1a, 0xb9, 0x01, 0xf6, 0xb8,
|
||||
0x6b, 0x48, 0x5c, 0xd2, 0xa6, 0x62, 0xd6, 0x19, 0x63, 0xee, 0x8a, 0xbd, 0x08, 0xb1, 0xdb, 0x8c,
|
||||
0xd5, 0x20, 0xc6, 0x36, 0xac, 0xe2, 0x5c, 0xd9, 0xdf, 0xef, 0xee, 0xc8, 0x6d, 0x2f, 0x36, 0x1e,
|
||||
0x50, 0xfd, 0x38, 0x99, 0xfa, 0x41, 0xb4, 0x7b, 0x85, 0x81, 0xb2, 0x61, 0xfe, 0x31, 0x54, 0x13,
|
||||
0xeb, 0x32, 0x3e, 0xd6, 0xd4, 0x91, 0x89, 0x6f, 0xeb, 0x8c, 0x0d, 0x6a, 0x1a, 0xbe, 0x07, 0x95,
|
||||
0x28, 0xdb, 0x7d, 0x14, 0x90, 0x32, 0xda, 0xfc, 0xa7, 0x12, 0xac, 0x2b, 0x88, 0x61, 0x42, 0xe3,
|
||||
0xa8, 0x3f, 0xec, 0xdd, 0xed, 0x75, 0xda, 0xc3, 0x5e, 0xff, 0x88, 0x7b, 0xa9, 0x88, 0xc6, 0x5c,
|
||||
0x83, 0x51, 0xd6, 0x7a, 0x38, 0xe8, 0xb6, 0x87, 0x16, 0x0b, 0xae, 0x88, 0xb5, 0x05, 0xb7, 0xa8,
|
||||
0xec, 0xeb, 0x0f, 0xac, 0x23, 0x75, 0x06, 0x54, 0xf1, 0xf1, 0xdb, 0x78, 0x0b, 0x6a, 0x5f, 0x5b,
|
||||
0xd6, 0xa0, 0x7d, 0xd0, 0x7b, 0x64, 0xa9, 0x53, 0x95, 0xda, 0x93, 0x04, 0x40, 0x61, 0x48, 0x58,
|
||||
0x77, 0x85, 0x75, 0x7c, 0x9f, 0x5d, 0xa3, 0x22, 0xd6, 0x43, 0xd9, 0x24, 0xbe, 0x6e, 0xef, 0xb8,
|
||||
0xd3, 0x16, 0x5d, 0xab, 0xcb, 0x4e, 0x81, 0x7c, 0xe3, 0x04, 0x40, 0x33, 0x35, 0xec, 0x0f, 0xdb,
|
||||
0x07, 0xec, 0x12, 0x15, 0xb1, 0x1a, 0x53, 0xc3, 0xbc, 0x05, 0x6b, 0xd2, 0xb2, 0x09, 0xef, 0xcd,
|
||||
0x83, 0x45, 0xac, 0xd2, 0xaa, 0x6c, 0x90, 0xde, 0x38, 0xcf, 0x04, 0x56, 0xe7, 0x57, 0xb2, 0x65,
|
||||
0xba, 0xb0, 0x26, 0xcb, 0x1b, 0xf4, 0xf1, 0xb5, 0x11, 0xef, 0xb7, 0xd4, 0xec, 0x5e, 0x5d, 0x2e,
|
||||
0x80, 0xe4, 0x6e, 0x4c, 0x28, 0x2a, 0xe3, 0xa7, 0x5c, 0xf1, 0xc7, 0xae, 0x9a, 0xe1, 0x2b, 0xcb,
|
||||
0xe4, 0xb2, 0xb8, 0x92, 0x34, 0x34, 0xcd, 0x0d, 0x5d, 0x0a, 0x99, 0x3d, 0xca, 0x99, 0x63, 0x5c,
|
||||
0xc3, 0x00, 0x18, 0x87, 0x2f, 0x92, 0xc9, 0x56, 0x40, 0x41, 0x30, 0xb2, 0x5f, 0xce, 0xec, 0x7c,
|
||||
0x18, 0x22, 0xe7, 0xbb, 0x4a, 0x00, 0x92, 0x84, 0xf6, 0x60, 0x3c, 0x71, 0xdd, 0x00, 0x37, 0x49,
|
||||
0xe8, 0xbc, 0x4b, 0x67, 0x70, 0x5b, 0x29, 0xa6, 0x97, 0x1c, 0xc6, 0x75, 0xe1, 0x6d, 0xb4, 0x6c,
|
||||
0x6f, 0xb6, 0x98, 0xd9, 0xa9, 0x2d, 0x52, 0x91, 0x62, 0x2f, 0x9d, 0x7b, 0xbd, 0xa5, 0xa8, 0xda,
|
||||
0x3a, 0x51, 0x22, 0xc5, 0xfc, 0xbb, 0x15, 0xa8, 0x6b, 0xc3, 0xfb, 0x7f, 0x3a, 0x0c, 0xde, 0x4f,
|
||||
0xba, 0x27, 0x7e, 0xec, 0x39, 0x14, 0x50, 0x32, 0xe5, 0xa4, 0x21, 0x1a, 0x19, 0xee, 0x7e, 0xa2,
|
||||
0x26, 0xda, 0xcf, 0x22, 0x60, 0x9a, 0x35, 0x65, 0xf7, 0xdc, 0xa2, 0x40, 0x40, 0x85, 0x16, 0x63,
|
||||
0xa4, 0x41, 0xa6, 0x6d, 0xf3, 0x7f, 0x4a, 0x50, 0x4b, 0xcb, 0x61, 0x9a, 0x2a, 0x95, 0x5e, 0x54,
|
||||
0x42, 0x50, 0x59, 0x4a, 0xe6, 0x18, 0x95, 0x0d, 0x30, 0xe8, 0x4b, 0x22, 0x2e, 0xae, 0xa5, 0xa9,
|
||||
0xca, 0x32, 0x61, 0xa0, 0x64, 0xcc, 0xe2, 0x85, 0x3d, 0xf6, 0xa2, 0x11, 0x46, 0xe6, 0xf0, 0x85,
|
||||
0xda, 0xb5, 0x35, 0x10, 0xd8, 0x4d, 0x60, 0x94, 0xc5, 0x29, 0x13, 0xd2, 0x7c, 0xce, 0xe8, 0xca,
|
||||
0x42, 0xee, 0xc4, 0xeb, 0x0a, 0x76, 0x48, 0xf7, 0x0f, 0x18, 0x9b, 0x55, 0x69, 0x92, 0xcf, 0x4e,
|
||||
0x4d, 0x09, 0x4d, 0xb4, 0xc1, 0x10, 0xa9, 0xc8, 0x58, 0x1d, 0x99, 0x9f, 0x54, 0x51, 0xc3, 0xfa,
|
||||
0x60, 0xf2, 0x8a, 0x47, 0xb8, 0xb9, 0x41, 0x01, 0xb2, 0xfc, 0x5a, 0xc3, 0xe6, 0x61, 0x14, 0x99,
|
||||
0xbf, 0x80, 0xba, 0x56, 0xd2, 0xa3, 0x6f, 0x6d, 0xeb, 0xf5, 0x7f, 0xbe, 0x3e, 0xd8, 0xd2, 0xea,
|
||||
0x7d, 0x59, 0x1c, 0x98, 0x0b, 0x58, 0x93, 0xf5, 0x0c, 0xd9, 0x8e, 0x17, 0xd8, 0xb9, 0xad, 0x6e,
|
||||
0xd5, 0x0b, 0x14, 0xf2, 0x7d, 0xd8, 0x9c, 0x39, 0xd1, 0x13, 0x7b, 0xea, 0xce, 0x4f, 0x30, 0xff,
|
||||
0xe3, 0x92, 0xab, 0x29, 0x6b, 0x12, 0xf8, 0x80, 0xa1, 0x87, 0xde, 0xfc, 0x0c, 0x9d, 0xf3, 0x5c,
|
||||
0x25, 0x78, 0x9d, 0xce, 0x79, 0x4e, 0x67, 0x41, 0x90, 0x9d, 0xbf, 0x61, 0x16, 0xd7, 0xb7, 0xbc,
|
||||
0x57, 0xce, 0x9c, 0xd1, 0x51, 0xaa, 0x3d, 0x67, 0xd7, 0x8b, 0xb0, 0xa9, 0x17, 0xc5, 0x7c, 0x0f,
|
||||
0x80, 0x30, 0xfa, 0xc6, 0x14, 0x5a, 0x4d, 0x0b, 0x7b, 0xb9, 0xdb, 0x6d, 0x2d, 0x97, 0x70, 0x22,
|
||||
0xa5, 0x30, 0xef, 0x61, 0xf8, 0x77, 0xe2, 0xd1, 0x29, 0x29, 0xf3, 0x93, 0x9c, 0x32, 0xda, 0x86,
|
||||
0x8b, 0x29, 0xce, 0x57, 0xc5, 0x7c, 0x04, 0x8d, 0x76, 0x44, 0x07, 0x00, 0x72, 0xac, 0xb8, 0x1e,
|
||||
0xba, 0x30, 0x6d, 0x0b, 0xa3, 0x53, 0x69, 0x32, 0xd1, 0xfa, 0xe5, 0xdc, 0x25, 0xd1, 0x53, 0xb6,
|
||||
0xcc, 0x5f, 0x97, 0x01, 0x30, 0xa0, 0x8d, 0x3d, 0xb9, 0x29, 0xff, 0x14, 0x4b, 0x16, 0x59, 0xa5,
|
||||
0xd2, 0xd1, 0x66, 0xe9, 0x4c, 0xa1, 0xa4, 0xc6, 0x82, 0x65, 0x0c, 0x53, 0xd1, 0xb0, 0xbe, 0x80,
|
||||
0x46, 0x5a, 0x29, 0x65, 0xe7, 0xa1, 0x45, 0x4c, 0xe9, 0xf9, 0x08, 0xb1, 0x7d, 0x05, 0x1b, 0x4e,
|
||||
0x64, 0xd3, 0x61, 0x86, 0x5a, 0x54, 0xb5, 0x1b, 0xbb, 0x5a, 0x3c, 0x14, 0xac, 0x05, 0xf5, 0xe1,
|
||||
0xdf, 0xc4, 0xd4, 0xaf, 0xb8, 0xa9, 0xcf, 0xca, 0xcb, 0x15, 0x95, 0x6c, 0xd4, 0xe3, 0x97, 0x14,
|
||||
0xe9, 0x54, 0xd1, 0xc2, 0x5c, 0xab, 0x2f, 0xe5, 0x6a, 0xa4, 0x84, 0xc4, 0xf8, 0x4b, 0xd8, 0x72,
|
||||
0x9f, 0xc7, 0x76, 0x9e, 0x79, 0xed, 0xa5, 0xcc, 0x9b, 0x48, 0xdc, 0xd1, 0xf9, 0xc9, 0x09, 0x83,
|
||||
0x27, 0x1e, 0xc6, 0xd7, 0x08, 0xeb, 0x70, 0xf6, 0xb3, 0x55, 0x74, 0x42, 0x04, 0x09, 0x86, 0x98,
|
||||
0x13, 0xd8, 0x4c, 0x19, 0xda, 0x23, 0x75, 0xd0, 0xab, 0xaf, 0xef, 0x0f, 0xb3, 0x6e, 0x96, 0x08,
|
||||
0xb5, 0x25, 0xc6, 0xfa, 0x38, 0x51, 0x31, 0x39, 0x29, 0xc1, 0xfa, 0x58, 0x03, 0x99, 0x47, 0x50,
|
||||
0x3b, 0x74, 0xc7, 0xaa, 0x87, 0x9f, 0xe6, 0x7a, 0x78, 0x53, 0x2f, 0x2f, 0xc6, 0x67, 0x64, 0x63,
|
||||
0x4a, 0xc6, 0xa8, 0xbb, 0x90, 0x36, 0x59, 0x16, 0xb2, 0x61, 0xda, 0xb0, 0x89, 0x6b, 0x14, 0xba,
|
||||
0x01, 0xd6, 0x83, 0x4a, 0xaa, 0xba, 0x3c, 0x28, 0x65, 0x97, 0x07, 0x68, 0x79, 0x44, 0xe1, 0xa4,
|
||||
0x79, 0x5b, 0xb6, 0xb0, 0x56, 0x69, 0x2e, 0x22, 0x17, 0x17, 0x7f, 0x12, 0x63, 0x94, 0x8b, 0x62,
|
||||
0x15, 0x09, 0xeb, 0x08, 0x3c, 0x40, 0xd8, 0x21, 0x82, 0xcc, 0x0f, 0xa1, 0x79, 0x84, 0xb3, 0x89,
|
||||
0x3b, 0x17, 0x25, 0x5e, 0xbb, 0x89, 0x28, 0xe5, 0x6e, 0x22, 0xcc, 0x7f, 0x59, 0x81, 0x75, 0x49,
|
||||
0x14, 0x65, 0x87, 0x15, 0xce, 0x48, 0x3b, 0x68, 0x5d, 0x3e, 0xac, 0x90, 0xd4, 0xea, 0xb0, 0x42,
|
||||
0xc9, 0xff, 0x12, 0x6a, 0x59, 0xb5, 0x2b, 0x2d, 0xf9, 0xda, 0x4b, 0xe7, 0x5e, 0x64, 0xb4, 0x18,
|
||||
0x8f, 0xcb, 0x33, 0x2c, 0xeb, 0xca, 0xcb, 0x87, 0x29, 0xe9, 0x64, 0x0a, 0xc2, 0xa3, 0x66, 0x40,
|
||||
0x76, 0x2b, 0xa7, 0x4c, 0x99, 0xed, 0xb5, 0x9c, 0xc5, 0xeb, 0xb3, 0xc9, 0xd6, 0x2b, 0x01, 0x68,
|
||||
0x84, 0xcd, 0x9c, 0x11, 0x2a, 0xeb, 0x3d, 0x47, 0xbb, 0x86, 0x6e, 0x87, 0x68, 0x50, 0xeb, 0x73,
|
||||
0x39, 0x95, 0xca, 0x74, 0xb5, 0x15, 0xcf, 0xcd, 0xb1, 0x48, 0xe8, 0xcc, 0x5f, 0x63, 0xf6, 0x4b,
|
||||
0xcf, 0xd9, 0xd3, 0xa8, 0x54, 0xd2, 0x02, 0xe4, 0xe7, 0x00, 0xa3, 0x34, 0x78, 0x9c, 0xbd, 0x09,
|
||||
0xc9, 0x02, 0x8b, 0xd0, 0xe8, 0xd0, 0xf2, 0xd6, 0xe5, 0xc2, 0x44, 0x6a, 0xbe, 0xb4, 0xda, 0x56,
|
||||
0x2d, 0xa1, 0x48, 0x28, 0xcc, 0x07, 0x98, 0x48, 0xe4, 0xf1, 0x4d, 0x91, 0x02, 0x9f, 0x01, 0x68,
|
||||
0x77, 0x04, 0xf2, 0xc4, 0xb4, 0xf0, 0x42, 0x44, 0x23, 0x33, 0xff, 0xbd, 0x04, 0xad, 0xe5, 0x93,
|
||||
0x1e, 0xdc, 0x70, 0xe9, 0xee, 0xb0, 0xb3, 0x7c, 0x26, 0xa4, 0xf9, 0xc2, 0xef, 0xe2, 0xca, 0x9c,
|
||||
0xb2, 0x08, 0xc9, 0xf5, 0x0a, 0xb3, 0x88, 0x3c, 0xad, 0x4c, 0x29, 0x8c, 0x1b, 0xb0, 0x3e, 0x76,
|
||||
0x27, 0x0e, 0x05, 0x8f, 0xd5, 0xf3, 0x4c, 0x39, 0xa1, 0x32, 0xdf, 0x01, 0x38, 0x0c, 0xe3, 0x64,
|
||||
0x57, 0x80, 0x0a, 0x8c, 0x9d, 0xd8, 0x49, 0xae, 0x03, 0xe8, 0xdb, 0xb4, 0xa0, 0x2a, 0x06, 0x5f,
|
||||
0xf7, 0xf8, 0x24, 0xe9, 0xa5, 0x4e, 0xb5, 0x5c, 0x3e, 0xc8, 0x84, 0xa4, 0x95, 0x0f, 0xe6, 0x6f,
|
||||
0x2a, 0x50, 0x23, 0x39, 0xb2, 0x96, 0xcc, 0x4a, 0xac, 0x12, 0x87, 0x89, 0xa2, 0x12, 0x4b, 0x06,
|
||||
0x90, 0xb4, 0x4d, 0xe7, 0x24, 0xb8, 0x39, 0x96, 0xbe, 0x8f, 0x5f, 0xb2, 0xcb, 0x11, 0xee, 0xf7,
|
||||
0x6d, 0x2f, 0x78, 0xfa, 0xb9, 0xba, 0x58, 0x04, 0x09, 0xea, 0x21, 0x24, 0x4f, 0x70, 0x4b, 0x1d,
|
||||
0x37, 0x65, 0x04, 0xb7, 0xf8, 0x60, 0x59, 0xe6, 0x30, 0x96, 0xa0, 0x6a, 0x1e, 0x09, 0x4a, 0x24,
|
||||
0x64, 0x04, 0xb7, 0x54, 0xdd, 0x93, 0x11, 0xdc, 0xa2, 0x71, 0x60, 0x99, 0xe3, 0x61, 0x29, 0xaa,
|
||||
0xae, 0x1e, 0x64, 0x8b, 0x8a, 0xb7, 0x64, 0x77, 0x26, 0x65, 0xd7, 0x78, 0x30, 0x8d, 0x04, 0xc8,
|
||||
0xd2, 0x97, 0x88, 0x6e, 0xf1, 0x5e, 0x3c, 0x4f, 0x74, 0x4b, 0xee, 0x99, 0x49, 0xa6, 0x3d, 0xc7,
|
||||
0x3a, 0x75, 0xf2, 0x82, 0xf7, 0xe0, 0x65, 0xda, 0x33, 0x13, 0xf0, 0x88, 0x61, 0xa4, 0xe7, 0xc8,
|
||||
0x19, 0x9d, 0xd2, 0x01, 0x0b, 0x65, 0x9c, 0x06, 0x93, 0x00, 0x83, 0x04, 0x41, 0xa8, 0x08, 0x4c,
|
||||
0x09, 0xf8, 0x9d, 0x04, 0x6f, 0xbd, 0xcb, 0xa2, 0x99, 0xd0, 0xc8, 0xc7, 0x13, 0x6f, 0x43, 0x9d,
|
||||
0xb6, 0xf1, 0xfe, 0xc4, 0x66, 0x33, 0xd8, 0x60, 0x9a, 0x1a, 0x82, 0xfa, 0x93, 0x2e, 0x02, 0x28,
|
||||
0xb8, 0xbb, 0xf4, 0xb0, 0x85, 0x37, 0xd8, 0x18, 0xdc, 0xb9, 0x41, 0x45, 0xa8, 0x52, 0xf1, 0xfb,
|
||||
0x05, 0x15, 0xaa, 0x2d, 0x46, 0xd6, 0x25, 0xec, 0x01, 0x81, 0xe4, 0x52, 0xa0, 0x22, 0x8a, 0x62,
|
||||
0x4b, 0x2a, 0xc8, 0x20, 0x26, 0x30, 0xbf, 0x83, 0x0a, 0x59, 0x47, 0x7a, 0xd6, 0x7e, 0xa6, 0xa0,
|
||||
0x48, 0x6c, 0x50, 0x9d, 0xb5, 0x7f, 0x98, 0xdf, 0x91, 0x6d, 0xe7, 0x09, 0x73, 0xfb, 0xb1, 0xbf,
|
||||
0x2c, 0x41, 0x59, 0xf4, 0xdb, 0x64, 0x3f, 0x4e, 0xa4, 0xf2, 0x0d, 0x7e, 0xd1, 0xd6, 0x53, 0xae,
|
||||
0x24, 0x56, 0x15, 0x49, 0xf9, 0x9d, 0x02, 0x68, 0x65, 0xb1, 0x76, 0x24, 0x94, 0xba, 0xc7, 0x90,
|
||||
0x2d, 0xed, 0x32, 0xa6, 0x92, 0xbb, 0x8c, 0x79, 0xe9, 0x25, 0x41, 0x5e, 0x71, 0xf3, 0xaf, 0xc9,
|
||||
0x0f, 0xfa, 0x6d, 0x99, 0xcf, 0xb1, 0xb6, 0xc1, 0x24, 0xe7, 0x44, 0x69, 0xe6, 0x79, 0x57, 0xe3,
|
||||
0x4b, 0x88, 0xae, 0x3f, 0x4a, 0x2f, 0xc7, 0x04, 0xd3, 0x0a, 0xc5, 0x73, 0xce, 0x33, 0x03, 0x1c,
|
||||
0x1b, 0xf9, 0x0c, 0x4e, 0xc0, 0x2c, 0x50, 0x37, 0x76, 0x19, 0x80, 0x8f, 0x43, 0x22, 0x2e, 0x89,
|
||||
0xe8, 0x66, 0x8f, 0x07, 0xd2, 0xa0, 0x8b, 0x49, 0x02, 0xb5, 0x11, 0x42, 0x95, 0xb8, 0x1f, 0x7a,
|
||||
0x27, 0xde, 0x3c, 0x3b, 0xa6, 0xad, 0x4a, 0x40, 0x3b, 0x7a, 0xd9, 0xcd, 0xbc, 0xd1, 0x01, 0xa0,
|
||||
0xcd, 0x95, 0x56, 0xbb, 0x5c, 0x60, 0x3c, 0x04, 0x10, 0x35, 0xe4, 0x53, 0x13, 0x82, 0x42, 0xe6,
|
||||
0xee, 0xb3, 0x44, 0x48, 0xf5, 0x75, 0x84, 0x20, 0x9f, 0x12, 0xf2, 0x63, 0xa8, 0x84, 0xbe, 0x43,
|
||||
0x07, 0x62, 0xe5, 0xfc, 0xf5, 0x3e, 0xb1, 0x33, 0xca, 0xfc, 0x1a, 0x5a, 0xcb, 0xd3, 0x6a, 0x40,
|
||||
0x72, 0xde, 0xd1, 0x7a, 0xc3, 0x68, 0x40, 0xf5, 0x9b, 0xde, 0xf0, 0x7e, 0x57, 0xb4, 0xbf, 0x69,
|
||||
0x95, 0x8c, 0x26, 0xd4, 0x06, 0x96, 0x25, 0xec, 0x6e, 0xff, 0x9b, 0xa3, 0xd6, 0x0a, 0x5a, 0x12,
|
||||
0x08, 0xeb, 0x51, 0xfb, 0xa0, 0xc7, 0xc4, 0x65, 0xb3, 0x93, 0x17, 0xc6, 0x3a, 0x54, 0xa1, 0x72,
|
||||
0xd4, 0x3f, 0x22, 0x51, 0xc8, 0x7c, 0xd4, 0x1f, 0xda, 0x77, 0xfb, 0x0f, 0x8f, 0xba, 0x28, 0xab,
|
||||
0x06, 0xab, 0xcc, 0x8a, 0x72, 0xea, 0xb0, 0xde, 0x3b, 0x92, 0x8d, 0xb2, 0x39, 0x82, 0xf2, 0xa3,
|
||||
0x70, 0x52, 0x98, 0xbb, 0xd0, 0x72, 0x43, 0x79, 0x4e, 0xda, 0x10, 0xf8, 0xc5, 0x1b, 0x25, 0x79,
|
||||
0x3d, 0x11, 0xca, 0x2d, 0x47, 0x03, 0x37, 0x4a, 0x0c, 0x10, 0x31, 0x21, 0xd5, 0xe5, 0x07, 0xbf,
|
||||
0xb6, 0x60, 0xa4, 0x04, 0x88, 0xd8, 0xfc, 0x8b, 0x15, 0x58, 0x93, 0x77, 0xc1, 0x67, 0xdc, 0x01,
|
||||
0xf9, 0xb8, 0xbe, 0x49, 0xcf, 0x64, 0x71, 0xf7, 0x25, 0x01, 0xbd, 0x31, 0x59, 0x0c, 0xed, 0x69,
|
||||
0xdc, 0xb9, 0x9d, 0xbe, 0x5e, 0xc1, 0xc2, 0x54, 0x82, 0x78, 0x77, 0xf8, 0x21, 0xb4, 0x14, 0x81,
|
||||
0x32, 0x41, 0x95, 0xae, 0x6a, 0x62, 0x53, 0xc2, 0xdb, 0x09, 0x38, 0x77, 0x49, 0xb7, 0xba, 0x74,
|
||||
0x49, 0xf7, 0x2e, 0x6c, 0xcc, 0x82, 0x69, 0x64, 0x4f, 0x9d, 0xc7, 0xee, 0x94, 0x37, 0x79, 0x32,
|
||||
0x28, 0x37, 0x08, 0x7a, 0x40, 0x40, 0xda, 0xe3, 0x2d, 0x51, 0xe1, 0x16, 0x6f, 0x7d, 0x99, 0xca,
|
||||
0x79, 0x4e, 0x3e, 0x30, 0xf2, 0xa7, 0xea, 0x2e, 0xad, 0xca, 0x69, 0x23, 0x03, 0xec, 0x77, 0x30,
|
||||
0xad, 0x25, 0x79, 0x17, 0x17, 0xfe, 0xde, 0x41, 0xff, 0x4e, 0xfb, 0x00, 0x57, 0x0b, 0x97, 0xe7,
|
||||
0xa0, 0xdf, 0xc1, 0xcf, 0x12, 0x81, 0xdb, 0xdd, 0x5f, 0xd9, 0xbd, 0x23, 0xb9, 0x54, 0xf4, 0xdd,
|
||||
0x7f, 0x38, 0x6c, 0x95, 0xe9, 0x71, 0xcd, 0x23, 0x71, 0xb7, 0x55, 0xd9, 0xff, 0x13, 0xa8, 0xa5,
|
||||
0x37, 0xf1, 0x04, 0x6d, 0x77, 0xbb, 0x28, 0x02, 0x3f, 0xba, 0x16, 0x09, 0x40, 0x26, 0xfc, 0xb0,
|
||||
0xdb, 0x07, 0x07, 0x52, 0x82, 0xb0, 0x06, 0x07, 0xed, 0x0e, 0x5a, 0x0c, 0x89, 0xb6, 0x8e, 0xda,
|
||||
0x77, 0x0e, 0xac, 0x56, 0x85, 0xa9, 0x7a, 0xc7, 0xdc, 0x58, 0xa5, 0xee, 0x85, 0x75, 0x6c, 0x0d,
|
||||
0x5b, 0x6b, 0x64, 0x37, 0xc7, 0xfd, 0xbb, 0x43, 0xd9, 0x5c, 0x27, 0xa3, 0xeb, 0x1d, 0xf5, 0x86,
|
||||
0x3d, 0x34, 0x97, 0x3f, 0xb2, 0x5a, 0xd5, 0x7d, 0x9b, 0x2e, 0x89, 0xd3, 0xbd, 0x29, 0x49, 0x1c,
|
||||
0x08, 0xeb, 0x6e, 0xef, 0x5b, 0x69, 0xbc, 0x47, 0x56, 0xef, 0xde, 0xfd, 0x3b, 0x7d, 0x81, 0x5a,
|
||||
0xa0, 0x3a, 0xc3, 0xf6, 0x3d, 0x35, 0x86, 0x63, 0x7b, 0xd0, 0x1e, 0xde, 0x47, 0x0d, 0x50, 0x7a,
|
||||
0xa7, 0x7f, 0x78, 0xf8, 0x10, 0x45, 0x7e, 0x87, 0x4a, 0x6c, 0x41, 0xd3, 0xfa, 0x76, 0x68, 0x67,
|
||||
0xa0, 0xd5, 0xfd, 0x0f, 0x71, 0x0f, 0x90, 0xec, 0x37, 0x79, 0x70, 0x47, 0xdf, 0xc9, 0xc1, 0xd1,
|
||||
0x78, 0x78, 0x76, 0xd0, 0x78, 0x2d, 0x31, 0x6c, 0xad, 0xec, 0xef, 0x43, 0x6b, 0x79, 0x37, 0x69,
|
||||
0xac, 0xc1, 0x8a, 0xf5, 0x00, 0x19, 0xf0, 0xf7, 0x9e, 0x85, 0xf4, 0xf8, 0x8b, 0x23, 0x5c, 0xd9,
|
||||
0xbf, 0xa1, 0x8e, 0x0b, 0x54, 0x1d, 0x9d, 0xf9, 0x09, 0x4d, 0x77, 0xa7, 0x63, 0x0d, 0x86, 0x52,
|
||||
0xb8, 0xb0, 0x7e, 0x65, 0x75, 0x48, 0xf8, 0x43, 0xd8, 0x2e, 0xd8, 0xca, 0x90, 0xc6, 0xa9, 0xb6,
|
||||
0xb6, 0x9c, 0xf8, 0x1d, 0x68, 0x65, 0x20, 0x61, 0x1d, 0xf6, 0x1f, 0x51, 0xc7, 0x57, 0x60, 0x4b,
|
||||
0x87, 0xca, 0x25, 0x58, 0xd9, 0xff, 0x18, 0x9a, 0xb9, 0xfd, 0x0b, 0x4d, 0xcf, 0xa1, 0xd5, 0xb5,
|
||||
0x0f, 0xfb, 0x24, 0x6a, 0x13, 0xea, 0xd4, 0x48, 0xc8, 0x4b, 0xfb, 0x1f, 0x01, 0x64, 0xf5, 0x1d,
|
||||
0x0d, 0x06, 0xcd, 0x82, 0x75, 0xee, 0x1d, 0x0e, 0xfa, 0x42, 0xe9, 0x6c, 0x7d, 0xcb, 0xdf, 0x2b,
|
||||
0x37, 0xff, 0x6b, 0x0b, 0xaa, 0xf7, 0x28, 0xea, 0xb4, 0x03, 0xcf, 0xb8, 0x0d, 0x9b, 0xf7, 0xdc,
|
||||
0x58, 0x7f, 0xe6, 0x61, 0x68, 0xf9, 0x2a, 0x7d, 0xf2, 0xb1, 0x77, 0xe6, 0xbd, 0x86, 0xf9, 0x86,
|
||||
0x71, 0x9f, 0x9f, 0x3b, 0xe5, 0x78, 0xcd, 0xdc, 0x03, 0xb1, 0xc2, 0xd7, 0x23, 0x7b, 0x9b, 0x4b,
|
||||
0x8f, 0x56, 0x51, 0xd2, 0x97, 0xd0, 0x40, 0x2d, 0x92, 0x57, 0x88, 0x51, 0xb1, 0x0a, 0x4b, 0x2f,
|
||||
0x0a, 0xcd, 0x37, 0x3e, 0x29, 0x61, 0xe9, 0x5e, 0xd7, 0x18, 0x2f, 0xc8, 0x67, 0xfc, 0x21, 0x4e,
|
||||
0x60, 0xf6, 0xe8, 0xd1, 0x78, 0x3b, 0xa7, 0xf4, 0x99, 0xb7, 0x90, 0x45, 0x0a, 0x7f, 0x84, 0x5e,
|
||||
0x89, 0x9b, 0x64, 0xef, 0xb1, 0xa1, 0x21, 0xf9, 0x81, 0xc2, 0xde, 0x32, 0x00, 0xa9, 0x6f, 0xa0,
|
||||
0xe3, 0x70, 0xa9, 0x53, 0xa8, 0x5f, 0x81, 0xf8, 0xcf, 0xd0, 0xbd, 0xfc, 0x49, 0xfc, 0x7a, 0x4c,
|
||||
0x5f, 0x40, 0x3d, 0x65, 0xea, 0xcd, 0x2f, 0xcc, 0x76, 0x0b, 0x1a, 0x29, 0x5b, 0x7f, 0x71, 0xf1,
|
||||
0xee, 0x6e, 0x42, 0xf5, 0x58, 0x5d, 0xef, 0x5e, 0x98, 0xe7, 0x13, 0x34, 0x43, 0xbe, 0xe3, 0xbb,
|
||||
0x30, 0x07, 0x6e, 0xf8, 0xba, 0x5e, 0xf4, 0x5a, 0x2c, 0x77, 0xd0, 0x57, 0xe4, 0x8b, 0x5a, 0x63,
|
||||
0x2f, 0xb7, 0xb2, 0xb9, 0x67, 0xc6, 0x7b, 0xd7, 0xce, 0xe0, 0x92, 0x52, 0x13, 0x65, 0x7c, 0x05,
|
||||
0xd5, 0xe4, 0x55, 0xae, 0xf1, 0x83, 0x33, 0x84, 0xd1, 0x79, 0xfd, 0x7f, 0x50, 0xa2, 0xfd, 0xb1,
|
||||
0x7a, 0xf4, 0x58, 0x68, 0x21, 0xc5, 0x0f, 0x4b, 0xd8, 0x9e, 0xbb, 0xf4, 0xca, 0x8d, 0x39, 0xef,
|
||||
0x20, 0xa6, 0x73, 0xea, 0xcc, 0x4f, 0xe8, 0xa6, 0xa6, 0x68, 0xe4, 0xe7, 0x48, 0xf9, 0x79, 0xfa,
|
||||
0xe8, 0x32, 0xbb, 0x9c, 0xbc, 0xb0, 0x4b, 0x75, 0xe9, 0x45, 0xb0, 0x54, 0xbe, 0xdf, 0xce, 0x4a,
|
||||
0x87, 0x62, 0x01, 0xdb, 0x05, 0xe5, 0x0f, 0x4b, 0xb9, 0xcd, 0x0e, 0x82, 0xdb, 0x37, 0x43, 0x3b,
|
||||
0x0a, 0xd3, 0x9f, 0xd5, 0xee, 0xed, 0xe4, 0xe0, 0x6a, 0x97, 0xc7, 0xbc, 0xb7, 0x60, 0x4d, 0xbe,
|
||||
0xc1, 0x35, 0xf2, 0x6b, 0x94, 0x63, 0x2f, 0xb4, 0xe4, 0x35, 0xf9, 0x2a, 0x75, 0x89, 0x4f, 0x7f,
|
||||
0xa7, 0x5a, 0x6c, 0xc9, 0xeb, 0xe4, 0xcc, 0x54, 0xe2, 0xbf, 0x6a, 0x96, 0x88, 0x88, 0x75, 0xfc,
|
||||
0x19, 0x1b, 0x19, 0xf3, 0xe4, 0x8d, 0x2c, 0xf7, 0x70, 0xf5, 0x25, 0x3e, 0x40, 0xbd, 0x61, 0xd1,
|
||||
0x5f, 0xd8, 0x59, 0xbe, 0x22, 0xe4, 0xbe, 0x3e, 0x65, 0xfd, 0xb0, 0x00, 0x8b, 0x5e, 0xc9, 0x82,
|
||||
0x44, 0xda, 0x14, 0x52, 0xcd, 0x96, 0x9f, 0x0a, 0xfd, 0x6d, 0x6a, 0x91, 0x72, 0xbf, 0x80, 0x26,
|
||||
0x76, 0xa5, 0x9d, 0x3d, 0x17, 0xbe, 0x08, 0xdd, 0x2b, 0x84, 0x72, 0x60, 0xdd, 0xc8, 0xb1, 0x47,
|
||||
0xaf, 0xc7, 0xcf, 0xd6, 0xd7, 0xcc, 0xbd, 0x6d, 0x35, 0xde, 0xc9, 0xe9, 0x5f, 0xf0, 0xe8, 0xb5,
|
||||
0x68, 0x18, 0xb7, 0x39, 0x9f, 0x64, 0xa7, 0x3e, 0x45, 0x87, 0x29, 0x7b, 0x45, 0xc0, 0x74, 0x0a,
|
||||
0xb4, 0xa7, 0x9c, 0xaf, 0xc1, 0x8c, 0x03, 0xb8, 0x03, 0x0d, 0xfd, 0x9d, 0xac, 0xf1, 0xa3, 0x9c,
|
||||
0xfe, 0x67, 0xdf, 0xcf, 0x16, 0x07, 0xbd, 0x1a, 0xaa, 0xa0, 0x0e, 0x8c, 0xce, 0x1c, 0xa9, 0xec,
|
||||
0x9d, 0x81, 0xc8, 0xe0, 0x9f, 0xb0, 0x50, 0xad, 0x7a, 0x21, 0x26, 0xd4, 0xf6, 0x2b, 0xac, 0xa3,
|
||||
0x92, 0x47, 0xa7, 0xc6, 0x5b, 0xf9, 0x40, 0x97, 0x7f, 0x6a, 0x5b, 0xa4, 0x67, 0x1f, 0xb6, 0x53,
|
||||
0x3d, 0xb5, 0x43, 0xa8, 0x73, 0x9e, 0x22, 0xed, 0x9d, 0x83, 0x43, 0x81, 0x03, 0xd8, 0x2e, 0x78,
|
||||
0x03, 0x6b, 0xbc, 0x5f, 0xa4, 0xd8, 0xd9, 0x27, 0xb2, 0x05, 0x2a, 0x3e, 0x5e, 0xe3, 0xff, 0xa4,
|
||||
0xf9, 0xec, 0x7f, 0x03, 0x00, 0x00, 0xff, 0xff, 0x40, 0x18, 0xcf, 0x5b, 0x58, 0x33, 0x00, 0x00,
|
||||
// 4284 bytes of a gzipped FileDescriptorProto
|
||||
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xd4, 0x7b, 0xcd, 0x73, 0x1b, 0x47,
|
||||
0x76, 0xb8, 0x41, 0x7c, 0x10, 0x78, 0x00, 0x48, 0x70, 0x44, 0xc9, 0x14, 0xd7, 0xeb, 0xf5, 0x6f,
|
||||
0x7e, 0x6b, 0xaf, 0xc5, 0xb5, 0x2d, 0x5b, 0xb6, 0xe9, 0x8d, 0xd6, 0xbb, 0x09, 0x04, 0x42, 0x12,
|
||||
0xd6, 0x24, 0x01, 0x35, 0x21, 0xc5, 0xce, 0x65, 0x32, 0x04, 0x06, 0xe4, 0x94, 0x00, 0xcc, 0x78,
|
||||
0x66, 0xa0, 0x8f, 0x54, 0x25, 0x87, 0xcd, 0x21, 0x87, 0x54, 0xfe, 0x80, 0x54, 0x6d, 0x6e, 0x39,
|
||||
0xe5, 0x1f, 0x48, 0xe5, 0x9e, 0x54, 0xe5, 0x98, 0x6b, 0x2e, 0xc9, 0x21, 0x95, 0x3f, 0x21, 0x55,
|
||||
0x39, 0xe6, 0xbd, 0xd7, 0x3d, 0x33, 0x3d, 0xc0, 0x88, 0xa2, 0x96, 0x5b, 0xa9, 0xca, 0x85, 0x98,
|
||||
0x7e, 0x5f, 0xfd, 0xba, 0xfb, 0x7d, 0xf5, 0x07, 0xa1, 0x7e, 0xe6, 0x9d, 0x9e, 0xf9, 0x9f, 0xf8,
|
||||
0x81, 0x17, 0x79, 0x46, 0x95, 0x1b, 0xb6, 0xef, 0x9a, 0x53, 0x28, 0x77, 0x83, 0xc0, 0x0b, 0x8c,
|
||||
0x8f, 0xa1, 0x34, 0xf2, 0xc6, 0xce, 0x4e, 0xe1, 0xbd, 0xc2, 0x87, 0x1b, 0x77, 0x6e, 0x7e, 0x12,
|
||||
0x53, 0x7c, 0xc2, 0x68, 0xf9, 0xb7, 0x83, 0x04, 0x82, 0xc9, 0x8c, 0x16, 0x14, 0x67, 0xe1, 0xd9,
|
||||
0xce, 0x1a, 0x52, 0xd7, 0x04, 0x7d, 0x9a, 0x26, 0xd4, 0x12, 0x22, 0xa3, 0x0e, 0xeb, 0x27, 0x8f,
|
||||
0x3b, 0x9d, 0xee, 0xc9, 0x49, 0xeb, 0x2d, 0xa3, 0x0a, 0xa5, 0xfb, 0xed, 0xde, 0x61, 0xab, 0x60,
|
||||
0x9e, 0x41, 0xad, 0x1d, 0x9c, 0x2d, 0x66, 0xce, 0x3c, 0x0a, 0x8d, 0x4f, 0xa0, 0x1a, 0x38, 0xa1,
|
||||
0xb7, 0x08, 0x46, 0x71, 0xaf, 0x46, 0xda, 0xab, 0x50, 0x18, 0x91, 0xd0, 0x18, 0x37, 0xa0, 0x32,
|
||||
0xb1, 0x67, 0xee, 0xf4, 0x25, 0xf7, 0xda, 0x14, 0xaa, 0x65, 0x18, 0x50, 0x9a, 0xdb, 0x33, 0x67,
|
||||
0xa7, 0xc8, 0xba, 0xf0, 0xb7, 0xf9, 0xaf, 0x05, 0x68, 0x1d, 0x79, 0xe3, 0x81, 0x1d, 0x9d, 0xa7,
|
||||
0x1d, 0x7e, 0x06, 0x35, 0xcf, 0x77, 0x02, 0x3b, 0x72, 0xbd, 0xb9, 0xea, 0xf1, 0x5a, 0xda, 0x63,
|
||||
0x3f, 0x46, 0x89, 0x94, 0x2a, 0xa3, 0xe3, 0xda, 0x25, 0x74, 0xcc, 0xd1, 0xc5, 0x30, 0xa1, 0xe4,
|
||||
0xa3, 0x1e, 0x3b, 0x25, 0x84, 0xd5, 0xef, 0x6c, 0xa4, 0xfc, 0xa4, 0x9d, 0x60, 0x1c, 0xf1, 0x2d,
|
||||
0x16, 0xee, 0x78, 0xa7, 0x8c, 0x34, 0x0d, 0xc1, 0xdf, 0xda, 0x78, 0x2b, 0xfa, 0x78, 0xcd, 0xf7,
|
||||
0x61, 0x53, 0x0d, 0x0d, 0x15, 0xf0, 0xbd, 0x79, 0xe8, 0x24, 0xec, 0x85, 0x94, 0xdd, 0xfc, 0x53,
|
||||
0xd8, 0x52, 0x64, 0xe1, 0x6f, 0x3f, 0xe7, 0xf1, 0x78, 0xd6, 0xb4, 0xf1, 0xfc, 0x18, 0xca, 0xa4,
|
||||
0x73, 0x88, 0x83, 0x2c, 0xe6, 0x0c, 0x48, 0x22, 0xcd, 0x19, 0x6c, 0x63, 0xf7, 0xc7, 0x8e, 0x7b,
|
||||
0x76, 0x7e, 0xea, 0x05, 0x57, 0x5a, 0x04, 0x9a, 0x40, 0xc7, 0x09, 0x58, 0x89, 0x6c, 0x7f, 0x08,
|
||||
0x15, 0x8c, 0x33, 0xff, 0xa6, 0x00, 0x8d, 0xa3, 0x20, 0xfa, 0xdd, 0x5b, 0xd7, 0x2e, 0x54, 0xdd,
|
||||
0x79, 0xe4, 0x04, 0xcf, 0xec, 0x29, 0xaf, 0x6a, 0x49, 0x24, 0x6d, 0xe3, 0x16, 0xb4, 0xe6, 0x6a,
|
||||
0x80, 0x96, 0x3d, 0x1e, 0xa3, 0xac, 0x90, 0x57, 0xb9, 0x26, 0x36, 0x63, 0x78, 0x5b, 0x82, 0xcd,
|
||||
0xbf, 0x2e, 0xf0, 0xaa, 0x65, 0x54, 0xfc, 0x2d, 0xa6, 0xe2, 0x07, 0x50, 0x1b, 0x2f, 0x66, 0xbe,
|
||||
0x15, 0xbd, 0xf4, 0xe5, 0xa2, 0x94, 0x45, 0x95, 0x00, 0x43, 0x6c, 0x93, 0xaa, 0x13, 0x77, 0xea,
|
||||
0x68, 0x06, 0x98, 0xb4, 0x33, 0xc3, 0x28, 0x65, 0x87, 0x61, 0xfe, 0x87, 0xd4, 0xed, 0xde, 0xcc,
|
||||
0xbf, 0x92, 0x6e, 0x3b, 0xb0, 0x1e, 0x4f, 0x82, 0x34, 0x97, 0xb8, 0x49, 0x56, 0xe4, 0x7b, 0x41,
|
||||
0xc4, 0x4a, 0x35, 0x05, 0x7f, 0x1b, 0xbf, 0x84, 0x12, 0x0f, 0xa2, 0xc4, 0xb2, 0xf7, 0x52, 0xd9,
|
||||
0x4b, 0x9a, 0x60, 0x7b, 0xee, 0x46, 0x5e, 0xe0, 0xce, 0xcf, 0x06, 0xde, 0xd4, 0x1d, 0xbd, 0x14,
|
||||
0xcc, 0x67, 0xde, 0x26, 0x07, 0xcf, 0x62, 0x8c, 0x75, 0x28, 0x0e, 0x44, 0x57, 0x46, 0x9c, 0x41,
|
||||
0xff, 0x64, 0xd8, 0x2a, 0xd0, 0xd7, 0xbd, 0xfe, 0xf0, 0x61, 0x6b, 0xcd, 0xfc, 0x07, 0x19, 0x12,
|
||||
0x84, 0xff, 0xd4, 0xbd, 0xd2, 0x30, 0x31, 0xf2, 0xd9, 0xe1, 0x5c, 0x59, 0x09, 0x7d, 0xea, 0x03,
|
||||
0x2f, 0xe6, 0x0f, 0xbc, 0xa4, 0x0d, 0x1c, 0x57, 0x62, 0xea, 0x4e, 0x9c, 0xc8, 0xc5, 0x55, 0x22,
|
||||
0x77, 0x2f, 0x8a, 0xa4, 0x4d, 0x46, 0xe8, 0x07, 0xce, 0xc4, 0x7d, 0xc1, 0x2e, 0x5f, 0x13, 0xaa,
|
||||
0x65, 0x3a, 0xbc, 0x40, 0x4f, 0x82, 0xc9, 0x95, 0x34, 0xff, 0x11, 0x14, 0x9f, 0x05, 0x13, 0xe5,
|
||||
0x46, 0xcd, 0x94, 0x18, 0xe5, 0x0a, 0xc2, 0x98, 0x21, 0xdc, 0xc0, 0x6e, 0x0e, 0xb0, 0xcb, 0xb9,
|
||||
0x33, 0x3e, 0x71, 0xae, 0x66, 0xaa, 0x1f, 0x40, 0x31, 0x74, 0x22, 0xd5, 0xdb, 0x76, 0x4a, 0x9c,
|
||||
0x8a, 0x17, 0x44, 0x80, 0x71, 0xea, 0x3a, 0x76, 0x7a, 0x12, 0xd9, 0x91, 0x43, 0x7d, 0x5d, 0xa9,
|
||||
0x4f, 0x64, 0x09, 0x63, 0x41, 0xaa, 0x67, 0x8d, 0x25, 0xe9, 0x43, 0xa4, 0x54, 0xe6, 0xbf, 0x15,
|
||||
0xc0, 0xa0, 0x38, 0xc9, 0x16, 0x74, 0xa5, 0xce, 0x3f, 0xc4, 0xc5, 0x63, 0x29, 0xaa, 0xe7, 0x96,
|
||||
0x16, 0xa8, 0xa4, 0xe5, 0x2a, 0xbc, 0x71, 0x17, 0x6e, 0xe2, 0xba, 0x3a, 0x81, 0xe5, 0xbc, 0x70,
|
||||
0xc3, 0x08, 0xed, 0xd7, 0x4a, 0xf4, 0x91, 0x26, 0x54, 0x15, 0x6f, 0x33, 0x41, 0x57, 0xe1, 0x13,
|
||||
0xcd, 0x43, 0xe3, 0x36, 0x5c, 0x43, 0xa3, 0x08, 0xd1, 0x73, 0x1d, 0x9d, 0xab, 0xc4, 0x5c, 0x46,
|
||||
0x8c, 0x4a, 0x19, 0xcc, 0xbf, 0x2a, 0xc0, 0x3b, 0xe9, 0x00, 0xc3, 0xd0, 0x3d, 0x9b, 0x5f, 0x79,
|
||||
0x9e, 0xef, 0x02, 0xd8, 0x89, 0x24, 0x35, 0xdc, 0xdd, 0xe5, 0xe1, 0xa6, 0x7d, 0x09, 0x8d, 0xda,
|
||||
0x7c, 0x0e, 0x3b, 0xa8, 0xce, 0x83, 0xa9, 0x77, 0x6a, 0x4f, 0x3b, 0xde, 0x7c, 0xe2, 0x9e, 0x5d,
|
||||
0x75, 0xd6, 0xcf, 0x58, 0xd6, 0xea, 0xac, 0xcb, 0x3e, 0x84, 0xc2, 0x9b, 0xbf, 0x29, 0x62, 0x54,
|
||||
0x50, 0xc9, 0x76, 0x3e, 0x0d, 0xdc, 0x38, 0x5b, 0xd2, 0x37, 0x7b, 0x9e, 0x1d, 0x45, 0x01, 0xc5,
|
||||
0xae, 0x22, 0x42, 0x55, 0x8b, 0xbd, 0xfd, 0x4c, 0x86, 0xd3, 0xa2, 0xa0, 0x4f, 0xe2, 0x3e, 0x75,
|
||||
0xc2, 0x48, 0xcd, 0x38, 0x7f, 0xa3, 0x67, 0xd5, 0xdd, 0xd0, 0x7a, 0xee, 0x46, 0xe7, 0xe3, 0xc0,
|
||||
0x7e, 0xce, 0x6e, 0x5d, 0x15, 0xe0, 0x86, 0x7f, 0xa8, 0x20, 0xc6, 0xbb, 0x00, 0x18, 0x69, 0xdd,
|
||||
0xb1, 0x1c, 0x59, 0x85, 0x03, 0xb7, 0x06, 0x31, 0x3e, 0x85, 0xed, 0xb9, 0x67, 0xb9, 0x33, 0x1f,
|
||||
0x27, 0xce, 0x8d, 0x52, 0x49, 0xeb, 0x72, 0x59, 0xe7, 0x5e, 0x4f, 0xa1, 0x12, 0x89, 0x69, 0xbe,
|
||||
0xaa, 0x66, 0xf2, 0xd5, 0x0f, 0x01, 0x64, 0x46, 0xb3, 0x28, 0x4a, 0xd5, 0x18, 0x57, 0x93, 0x90,
|
||||
0x76, 0xc8, 0x09, 0x44, 0xa1, 0xb1, 0x5c, 0x00, 0x99, 0x24, 0x24, 0xa0, 0x37, 0x56, 0x09, 0x04,
|
||||
0xb3, 0x82, 0x33, 0xde, 0xa9, 0x73, 0xcf, 0x49, 0xdb, 0xd8, 0x86, 0x32, 0x9a, 0xdb, 0xd4, 0xd9,
|
||||
0x69, 0x30, 0x42, 0x36, 0x70, 0xf6, 0x5b, 0x38, 0xf0, 0x49, 0xe0, 0xcd, 0xd0, 0x96, 0x91, 0x70,
|
||||
0x8e, 0xeb, 0xd0, 0x64, 0x82, 0x0d, 0x37, 0xbc, 0x8f, 0xe0, 0xae, 0x82, 0xd2, 0x14, 0x25, 0xb9,
|
||||
0xd2, 0xf5, 0x77, 0x36, 0xb8, 0x6b, 0x88, 0x41, 0x3d, 0xdf, 0x8c, 0xa0, 0x7e, 0xe0, 0x90, 0xb5,
|
||||
0xcb, 0x19, 0x49, 0x43, 0x61, 0x41, 0x0f, 0x85, 0x69, 0xf5, 0xb1, 0x76, 0x41, 0xf5, 0x61, 0xfc,
|
||||
0x04, 0x36, 0xa7, 0xde, 0xfc, 0x0c, 0x5d, 0x4c, 0xb2, 0x39, 0xb1, 0x5f, 0x6d, 0x48, 0xf0, 0x40,
|
||||
0x41, 0xcd, 0xbf, 0x2f, 0x40, 0x79, 0x68, 0x9f, 0xe2, 0x50, 0x3e, 0x50, 0x09, 0xe9, 0xd5, 0xc5,
|
||||
0x02, 0xe3, 0x73, 0x4b, 0xa2, 0x74, 0x31, 0x8a, 0x99, 0xc5, 0xf8, 0x3d, 0x68, 0x8c, 0xd3, 0x31,
|
||||
0x91, 0x97, 0x92, 0xce, 0xd7, 0xf5, 0x60, 0x98, 0x60, 0x45, 0x86, 0x94, 0xe6, 0xcb, 0xf7, 0xc2,
|
||||
0xc8, 0x52, 0x21, 0x45, 0x99, 0x14, 0x81, 0xa4, 0x77, 0x99, 0xff, 0x48, 0xe6, 0x8c, 0xa5, 0x0f,
|
||||
0xaf, 0x1a, 0x75, 0xe7, 0x3a, 0x72, 0x52, 0x9a, 0x22, 0x69, 0x1b, 0x3f, 0x83, 0x86, 0xed, 0xfb,
|
||||
0xd3, 0x97, 0xb1, 0x98, 0x22, 0xfb, 0x88, 0xa6, 0x40, 0x9b, 0xb0, 0x2a, 0x3c, 0xd5, 0xed, 0xb4,
|
||||
0x41, 0xd3, 0x31, 0x42, 0xef, 0xe4, 0x8e, 0xeb, 0xfa, 0x74, 0x50, 0x9f, 0xe4, 0xb7, 0x82, 0xf1,
|
||||
0xc6, 0xcf, 0xa1, 0xe9, 0x20, 0xc6, 0x9a, 0x2d, 0xa6, 0x91, 0x7b, 0xee, 0xf9, 0x6c, 0xdc, 0xf5,
|
||||
0x3b, 0x37, 0xb4, 0x0d, 0x04, 0xfe, 0x1e, 0x29, 0xac, 0x68, 0x38, 0x5a, 0xcb, 0x68, 0xc3, 0x66,
|
||||
0xe0, 0x2d, 0x22, 0xc7, 0xc2, 0xe5, 0x98, 0x3a, 0x23, 0x4c, 0xe6, 0x6c, 0x93, 0xf5, 0x3b, 0x3b,
|
||||
0xda, 0xf4, 0x13, 0x81, 0x88, 0xf1, 0x62, 0x23, 0xc8, 0xb4, 0x71, 0xa5, 0x4b, 0xee, 0x7c, 0xe2,
|
||||
0xb1, 0xbd, 0x66, 0xa2, 0x3d, 0xe9, 0xc9, 0x61, 0x50, 0x30, 0x01, 0x05, 0x0a, 0xca, 0xb1, 0xe8,
|
||||
0xe1, 0x8d, 0xe5, 0x40, 0x31, 0x64, 0xb8, 0x50, 0x78, 0x8a, 0x42, 0x51, 0x60, 0xcf, 0x43, 0x4e,
|
||||
0xdd, 0xcd, 0x65, 0xb9, 0xc3, 0x18, 0x25, 0x52, 0x2a, 0x9a, 0x67, 0x39, 0x10, 0x8e, 0xbe, 0xc1,
|
||||
0xce, 0xe6, 0xf2, 0x3c, 0xf3, 0x28, 0x4e, 0x18, 0x29, 0xea, 0x41, 0xda, 0x30, 0xff, 0xb9, 0x00,
|
||||
0x75, 0x6d, 0x11, 0x8c, 0xaf, 0xa0, 0xe6, 0xce, 0xe3, 0xe5, 0x2a, 0xbc, 0x36, 0xb2, 0x62, 0x15,
|
||||
0xa7, 0x18, 0x7f, 0x1f, 0x17, 0xe2, 0x05, 0x29, 0x63, 0x65, 0xb2, 0xd0, 0x45, 0xcc, 0x0d, 0xc9,
|
||||
0x90, 0x0a, 0xc0, 0x00, 0xa4, 0x09, 0x28, 0xbe, 0x5e, 0x80, 0x64, 0x50, 0x16, 0xf9, 0x67, 0x50,
|
||||
0x97, 0x7e, 0x75, 0xe8, 0xce, 0xdc, 0x48, 0x73, 0x8a, 0x42, 0xc6, 0x29, 0xfe, 0x1f, 0x34, 0x66,
|
||||
0xf6, 0x8b, 0xd4, 0x31, 0x65, 0x25, 0x55, 0x47, 0x58, 0xec, 0x95, 0xc6, 0x17, 0x70, 0x23, 0x3c,
|
||||
0x5f, 0x44, 0x63, 0xef, 0xf9, 0xdc, 0x8a, 0xce, 0x31, 0xa7, 0x9d, 0x7b, 0xd3, 0xb1, 0xe5, 0x8f,
|
||||
0xe2, 0x12, 0x72, 0x3b, 0xc6, 0x0e, 0x63, 0xe4, 0x60, 0x14, 0x99, 0xff, 0x55, 0x84, 0x6a, 0x6c,
|
||||
0x9d, 0xc6, 0xff, 0x87, 0xa6, 0xbd, 0x88, 0xce, 0x2d, 0x1f, 0x53, 0xcf, 0x73, 0x2f, 0x18, 0xab,
|
||||
0x30, 0xd2, 0x20, 0xe0, 0x40, 0xc1, 0x8c, 0xf7, 0xa0, 0x8e, 0x4e, 0x37, 0x0a, 0x5c, 0x9f, 0xe3,
|
||||
0xb2, 0x74, 0x69, 0x1d, 0x64, 0xdc, 0xc4, 0x6a, 0xcd, 0x1b, 0xd9, 0x53, 0x8c, 0xa6, 0xaa, 0xef,
|
||||
0x75, 0x6e, 0xb7, 0xc3, 0x37, 0xa8, 0xfe, 0x8d, 0xb7, 0x61, 0x9d, 0x76, 0x29, 0x24, 0xa4, 0x2c,
|
||||
0xe7, 0x82, 0x9a, 0x28, 0x03, 0xa3, 0x35, 0x23, 0xce, 0xd0, 0x24, 0x7c, 0x55, 0xf4, 0xd5, 0x08,
|
||||
0xf2, 0x80, 0x00, 0x14, 0xad, 0x19, 0xcd, 0x81, 0x69, 0x9d, 0x39, 0xab, 0x04, 0xe0, 0x72, 0x7f,
|
||||
0x0f, 0xb6, 0x02, 0x67, 0xe6, 0x61, 0x1d, 0xe0, 0x07, 0xee, 0x33, 0x34, 0x74, 0x12, 0x2f, 0x93,
|
||||
0xc1, 0xa6, 0x44, 0x0c, 0x24, 0x1c, 0xfb, 0xf9, 0x08, 0x0c, 0x69, 0x9f, 0x93, 0xa9, 0xed, 0x5b,
|
||||
0x63, 0x7b, 0xe6, 0x63, 0x55, 0xc1, 0xd9, 0xa1, 0x2a, 0x5a, 0x8c, 0xb9, 0x8f, 0x88, 0x03, 0x09,
|
||||
0x37, 0xde, 0x87, 0x8d, 0xd0, 0x99, 0x8f, 0xad, 0x91, 0x37, 0x9b, 0x2d, 0xb0, 0xc6, 0x7e, 0xc9,
|
||||
0x5e, 0xd9, 0x14, 0x4d, 0x82, 0x76, 0x62, 0x20, 0x29, 0x4f, 0xfd, 0xa0, 0xd4, 0x91, 0xed, 0xa3,
|
||||
0x03, 0x52, 0xde, 0xac, 0x49, 0x48, 0xc7, 0x66, 0xe5, 0xe5, 0xd4, 0x11, 0xb6, 0xc1, 0x58, 0x39,
|
||||
0x97, 0x84, 0xdc, 0x80, 0x35, 0x4c, 0x40, 0x4d, 0x1e, 0x30, 0x7e, 0x61, 0x45, 0xd1, 0x94, 0x06,
|
||||
0x61, 0x4d, 0xc9, 0x78, 0x42, 0x4c, 0x10, 0x4b, 0xa1, 0x52, 0x33, 0x2d, 0xd1, 0xf0, 0xd3, 0x46,
|
||||
0x68, 0x7e, 0x03, 0x0d, 0x3d, 0xc6, 0x50, 0x3d, 0x8e, 0x9b, 0x1e, 0x8c, 0xe9, 0x72, 0xd1, 0xab,
|
||||
0x22, 0x6e, 0xb2, 0xe9, 0x29, 0x2a, 0x2b, 0x8a, 0xa6, 0x89, 0xe9, 0x29, 0xd8, 0x30, 0x9a, 0x9a,
|
||||
0x7f, 0x5e, 0x80, 0x8d, 0x6c, 0xc8, 0x21, 0x6b, 0x5c, 0x8a, 0x52, 0xd6, 0x08, 0xa3, 0x2b, 0x56,
|
||||
0x3e, 0x52, 0xfc, 0x76, 0x36, 0x24, 0x75, 0x18, 0x87, 0x81, 0x71, 0x77, 0x95, 0x6b, 0x11, 0x62,
|
||||
0x3a, 0xa4, 0xd4, 0x2b, 0x7b, 0x7e, 0x7b, 0x99, 0x93, 0xf1, 0xbd, 0xb1, 0xf9, 0x9f, 0x65, 0xa8,
|
||||
0x25, 0x01, 0xec, 0x7f, 0xc1, 0x96, 0x71, 0xb7, 0x3c, 0x43, 0x43, 0xc5, 0xfa, 0x26, 0x54, 0xe7,
|
||||
0x14, 0x5a, 0xc4, 0x3f, 0x52, 0x18, 0x91, 0xd0, 0xe4, 0xda, 0x7e, 0xf9, 0xb5, 0xb6, 0x5f, 0xb9,
|
||||
0xc0, 0xf6, 0xd7, 0x2f, 0xb4, 0xfd, 0xea, 0x92, 0xed, 0x63, 0x30, 0xff, 0x7e, 0xe1, 0x2c, 0x50,
|
||||
0xdb, 0xda, 0x72, 0x30, 0x7f, 0xc4, 0x70, 0xa1, 0xf0, 0xf9, 0x5e, 0x02, 0x6f, 0xe2, 0x25, 0xf5,
|
||||
0x4b, 0x7b, 0x49, 0x23, 0xcf, 0x4b, 0x70, 0xf1, 0x42, 0x9c, 0x07, 0x5c, 0x00, 0x59, 0xaf, 0xb3,
|
||||
0xd1, 0x37, 0x45, 0x43, 0x01, 0xe5, 0x0a, 0x7f, 0x89, 0x01, 0x6f, 0xe1, 0x53, 0x2c, 0x75, 0xc6,
|
||||
0xe4, 0x2f, 0xf6, 0x29, 0xe6, 0xef, 0x88, 0x32, 0x3a, 0xf9, 0x41, 0x4d, 0x5c, 0x4f, 0xb0, 0x1d,
|
||||
0x0d, 0x49, 0x73, 0x44, 0xb9, 0x57, 0xca, 0xdd, 0x94, 0xd5, 0x1c, 0x02, 0xa4, 0x4c, 0xac, 0x20,
|
||||
0xec, 0xf1, 0xcc, 0x8d, 0xbb, 0x6d, 0xc9, 0x8a, 0x8b, 0x41, 0x92, 0x60, 0x97, 0x8e, 0x48, 0x46,
|
||||
0x8e, 0xfb, 0x0c, 0x1d, 0x65, 0x4b, 0x4e, 0x70, 0xdc, 0x26, 0x9c, 0x3d, 0x1a, 0x39, 0x3e, 0xf6,
|
||||
0xb8, 0x63, 0x48, 0x5c, 0xdc, 0xa6, 0x62, 0xd6, 0x1e, 0x63, 0xee, 0x8a, 0xdc, 0x10, 0xb1, 0xd7,
|
||||
0x18, 0xab, 0x41, 0x8c, 0x6b, 0x50, 0xc6, 0xb9, 0xb2, 0xbe, 0xdf, 0xd9, 0x96, 0xdb, 0x5e, 0x6c,
|
||||
0x3c, 0xa2, 0xfa, 0x71, 0x32, 0xf5, 0xfc, 0x70, 0xe7, 0x3a, 0x03, 0x65, 0xc3, 0xfc, 0x63, 0xa8,
|
||||
0xc6, 0xd6, 0x65, 0x7c, 0xac, 0xa9, 0x23, 0x13, 0xdf, 0xd6, 0x8a, 0x0d, 0x6a, 0x1a, 0xbe, 0x0f,
|
||||
0xa5, 0x30, 0xdd, 0x7d, 0xe4, 0x90, 0x32, 0xda, 0xfc, 0xa7, 0x02, 0xac, 0x2b, 0x88, 0x61, 0x42,
|
||||
0xe3, 0xb8, 0x3f, 0xec, 0xdd, 0xef, 0x75, 0xda, 0xc3, 0x5e, 0xff, 0x98, 0x7b, 0x29, 0x89, 0xc6,
|
||||
0x5c, 0x83, 0x51, 0xd6, 0x7a, 0x3c, 0x38, 0x68, 0x0f, 0xbb, 0x2c, 0xb8, 0x24, 0x2a, 0x0b, 0x6e,
|
||||
0x51, 0xd9, 0xd7, 0x1f, 0x74, 0x8f, 0xd5, 0x19, 0x50, 0xc9, 0xc3, 0x6f, 0xe3, 0x1d, 0xa8, 0x7d,
|
||||
0xd3, 0xed, 0x0e, 0xda, 0x87, 0xbd, 0x27, 0x5d, 0x75, 0xaa, 0x52, 0x7b, 0x1a, 0x03, 0x28, 0x0c,
|
||||
0x89, 0xee, 0x7d, 0xd1, 0x3d, 0x79, 0xc8, 0xae, 0x51, 0x12, 0xeb, 0x81, 0x6c, 0x12, 0xdf, 0x41,
|
||||
0xef, 0xa4, 0xd3, 0x16, 0x07, 0xdd, 0x03, 0x76, 0x0a, 0xe4, 0x1b, 0xc7, 0x00, 0x9a, 0xa9, 0x61,
|
||||
0x7f, 0xd8, 0x3e, 0x64, 0x97, 0x28, 0x89, 0x72, 0x44, 0x0d, 0x73, 0x1f, 0x2a, 0xd2, 0xb2, 0x09,
|
||||
0xef, 0xce, 0xfd, 0x45, 0xa4, 0xd2, 0xaa, 0x6c, 0x90, 0xde, 0x38, 0xcf, 0x04, 0x56, 0xe7, 0x57,
|
||||
0xb2, 0x65, 0x3a, 0x50, 0x91, 0xe5, 0x0d, 0xfa, 0x78, 0x65, 0xc4, 0xfb, 0x2d, 0x35, 0xbb, 0x37,
|
||||
0x96, 0x0b, 0x20, 0xb9, 0x1b, 0x13, 0x8a, 0xca, 0xf8, 0x29, 0x57, 0xfc, 0x91, 0xa3, 0x66, 0xf8,
|
||||
0xfa, 0x32, 0xb9, 0x2c, 0xae, 0x24, 0x0d, 0x4d, 0x73, 0x43, 0x97, 0x42, 0x66, 0x8f, 0x72, 0xe6,
|
||||
0x18, 0xd7, 0x30, 0x00, 0x46, 0xc1, 0xcb, 0x78, 0xb2, 0x15, 0x50, 0x10, 0x8c, 0xec, 0x97, 0x33,
|
||||
0x3b, 0x1f, 0x86, 0xc8, 0xf9, 0xae, 0x12, 0x80, 0x24, 0xa1, 0x3d, 0x18, 0x4f, 0x1d, 0xc7, 0xc7,
|
||||
0x4d, 0x12, 0x3a, 0xef, 0xd2, 0x19, 0xdc, 0x56, 0x82, 0xe9, 0xc5, 0x87, 0x71, 0x07, 0xf0, 0x2e,
|
||||
0x5a, 0xb6, 0x3b, 0x5b, 0xcc, 0xac, 0xc4, 0x16, 0xa9, 0x48, 0xb1, 0x96, 0xce, 0xbd, 0xde, 0x51,
|
||||
0x54, 0x6d, 0x9d, 0x28, 0x96, 0x62, 0xfe, 0xdd, 0x1a, 0xd4, 0xb5, 0xe1, 0xfd, 0x1f, 0x1d, 0x06,
|
||||
0xef, 0x27, 0x9d, 0x33, 0x2f, 0x72, 0x6d, 0x0a, 0x28, 0xa9, 0x72, 0xd2, 0x10, 0x8d, 0x14, 0xf7,
|
||||
0x30, 0x56, 0x13, 0xed, 0x67, 0xe1, 0x33, 0x4d, 0x45, 0xd9, 0x3d, 0xb7, 0x28, 0x10, 0x50, 0xa1,
|
||||
0xc5, 0x18, 0x69, 0x90, 0x49, 0xdb, 0xfc, 0xef, 0x02, 0xd4, 0x92, 0x72, 0x98, 0xa6, 0x4a, 0xa5,
|
||||
0x17, 0x95, 0x10, 0x54, 0x96, 0x92, 0x39, 0x46, 0x65, 0x03, 0x0c, 0xfa, 0x92, 0x88, 0x8b, 0x6b,
|
||||
0x69, 0xaa, 0xb2, 0x4c, 0x18, 0x28, 0x19, 0xb3, 0x68, 0x61, 0x8d, 0xdd, 0x70, 0x84, 0x91, 0x39,
|
||||
0x78, 0xa9, 0x76, 0x6d, 0x0d, 0x04, 0x1e, 0xc4, 0x30, 0xca, 0xe2, 0x94, 0x09, 0x69, 0x3e, 0x67,
|
||||
0x74, 0x65, 0x21, 0x77, 0xe2, 0x75, 0x05, 0x3b, 0xa2, 0xfb, 0x07, 0x8c, 0xcd, 0xaa, 0x34, 0xc9,
|
||||
0x66, 0xa7, 0xa6, 0x84, 0xc6, 0xda, 0x60, 0x88, 0x54, 0x64, 0xac, 0x8e, 0xcc, 0x4f, 0xaa, 0xa8,
|
||||
0x61, 0x7d, 0x30, 0x79, 0x45, 0x23, 0xdc, 0xdc, 0xa0, 0x00, 0x59, 0x7e, 0x55, 0xb0, 0x79, 0x14,
|
||||
0x86, 0xe6, 0x2f, 0xa0, 0xae, 0x95, 0xf4, 0xe8, 0x5b, 0xd7, 0xf4, 0xfa, 0x3f, 0x5b, 0x1f, 0x6c,
|
||||
0x69, 0xf5, 0xbe, 0x2c, 0x0e, 0xcc, 0x05, 0x54, 0x64, 0x3d, 0x43, 0xb6, 0xe3, 0xfa, 0x56, 0x66,
|
||||
0xab, 0x5b, 0x75, 0x7d, 0x85, 0xfc, 0x00, 0x36, 0x67, 0x76, 0xf8, 0xd4, 0x9a, 0x3a, 0xf3, 0x33,
|
||||
0xcc, 0xff, 0xb8, 0xe4, 0x6a, 0xca, 0x9a, 0x04, 0x3e, 0x64, 0xe8, 0x91, 0x3b, 0x5f, 0xa1, 0xb3,
|
||||
0x5f, 0xa8, 0x04, 0xaf, 0xd3, 0xd9, 0x2f, 0xe8, 0x2c, 0x08, 0xd2, 0xf3, 0x37, 0xcc, 0xe2, 0xfa,
|
||||
0x96, 0xf7, 0xfa, 0xca, 0x19, 0x1d, 0xa5, 0xda, 0x0b, 0x76, 0xbd, 0x08, 0x9b, 0xba, 0x61, 0xc4,
|
||||
0xf7, 0x00, 0x08, 0xa3, 0x6f, 0x4c, 0xa1, 0xd5, 0xa4, 0xb0, 0x97, 0xbb, 0xdd, 0xd6, 0x72, 0x09,
|
||||
0x27, 0x12, 0x0a, 0xf3, 0x01, 0x86, 0x7f, 0x3b, 0x1a, 0x9d, 0x93, 0x32, 0x3f, 0xc9, 0x28, 0xa3,
|
||||
0x6d, 0xb8, 0x98, 0xe2, 0x62, 0x55, 0xcc, 0x27, 0xd0, 0x68, 0x87, 0x74, 0x00, 0x20, 0xc7, 0x8a,
|
||||
0xeb, 0xa1, 0x0b, 0xd3, 0xb6, 0x30, 0x3a, 0x95, 0x26, 0x13, 0xad, 0x5f, 0xce, 0x5d, 0x1c, 0x3d,
|
||||
0x65, 0xcb, 0xfc, 0x75, 0x11, 0x00, 0x03, 0xda, 0xd8, 0x95, 0x9b, 0xf2, 0xcf, 0xb0, 0x64, 0x91,
|
||||
0x55, 0x2a, 0x1d, 0x6d, 0x16, 0x56, 0x0a, 0x25, 0x35, 0x16, 0x2c, 0x63, 0x98, 0x8a, 0x86, 0xf5,
|
||||
0x25, 0x34, 0x92, 0x4a, 0x29, 0x3d, 0x0f, 0xcd, 0x63, 0x4a, 0xce, 0x47, 0x88, 0xed, 0x6b, 0xd8,
|
||||
0xb0, 0x43, 0x8b, 0x0e, 0x33, 0xd4, 0xa2, 0xaa, 0xdd, 0xd8, 0x8d, 0xfc, 0xa1, 0x60, 0x2d, 0xa8,
|
||||
0x0f, 0xff, 0x0e, 0xa6, 0x7e, 0xc5, 0x4d, 0x7d, 0x96, 0x5e, 0xad, 0xa8, 0x64, 0xa3, 0x1e, 0xbf,
|
||||
0xa2, 0x48, 0xa7, 0x8a, 0x16, 0xe6, 0x2a, 0xbf, 0x92, 0xab, 0x91, 0x10, 0x12, 0xe3, 0x2f, 0x61,
|
||||
0xcb, 0x79, 0x11, 0x59, 0x59, 0xe6, 0xca, 0x2b, 0x99, 0x37, 0x91, 0xb8, 0xa3, 0xf3, 0x93, 0x13,
|
||||
0xfa, 0x4f, 0x5d, 0x8c, 0xaf, 0x21, 0xd6, 0xe1, 0xec, 0x67, 0x65, 0x74, 0x42, 0x04, 0x09, 0x86,
|
||||
0x98, 0x13, 0xd8, 0x4c, 0x18, 0xda, 0x23, 0x75, 0xd0, 0xab, 0xaf, 0xef, 0x0f, 0xd3, 0x6e, 0x96,
|
||||
0x08, 0xb5, 0x25, 0xc6, 0xfa, 0x38, 0x56, 0x31, 0x3e, 0x29, 0xc1, 0xfa, 0x58, 0x03, 0x99, 0xc7,
|
||||
0x50, 0x3b, 0x72, 0xc6, 0xaa, 0x87, 0x9f, 0x66, 0x7a, 0x78, 0x5b, 0x2f, 0x2f, 0xc6, 0x2b, 0xb2,
|
||||
0x31, 0x25, 0x63, 0xd4, 0x5d, 0x48, 0x9b, 0x2c, 0x0a, 0xd9, 0x30, 0x2d, 0xd8, 0xc4, 0x35, 0x0a,
|
||||
0x1c, 0x1f, 0xeb, 0x41, 0x25, 0x55, 0x5d, 0x1e, 0x14, 0xd2, 0xcb, 0x03, 0xb4, 0x3c, 0xa2, 0xb0,
|
||||
0x93, 0xbc, 0x2d, 0x5b, 0x58, 0xab, 0x34, 0x17, 0xa1, 0x83, 0x8b, 0x3f, 0x89, 0x30, 0xca, 0x85,
|
||||
0x91, 0x8a, 0x84, 0x75, 0x04, 0x1e, 0x22, 0xec, 0x08, 0x41, 0xe6, 0x2d, 0x68, 0x1e, 0xe3, 0x6c,
|
||||
0xe2, 0xce, 0x45, 0x89, 0xd7, 0x6e, 0x22, 0x0a, 0x99, 0x9b, 0x08, 0xf3, 0x5f, 0xd6, 0x60, 0x5d,
|
||||
0x12, 0x85, 0xe9, 0x61, 0x85, 0x3d, 0xd2, 0x0e, 0x5a, 0x97, 0x0f, 0x2b, 0x24, 0xb5, 0x3a, 0xac,
|
||||
0x50, 0xf2, 0xbf, 0x82, 0x5a, 0x5a, 0xed, 0x4a, 0x4b, 0xbe, 0xf9, 0xca, 0xb9, 0x17, 0x29, 0x2d,
|
||||
0xc6, 0xe3, 0xe2, 0x0c, 0xcb, 0xba, 0xe2, 0xf2, 0x61, 0x4a, 0x32, 0x99, 0x82, 0xf0, 0xa8, 0x19,
|
||||
0x90, 0xdd, 0xca, 0x29, 0x53, 0x66, 0x7b, 0x33, 0x63, 0xf1, 0xfa, 0x6c, 0xb2, 0xf5, 0x4a, 0x00,
|
||||
0x1a, 0x61, 0x33, 0x63, 0x84, 0xca, 0x7a, 0x2f, 0xd0, 0xae, 0xa1, 0xdb, 0x21, 0x1a, 0xd4, 0xfa,
|
||||
0x5c, 0x4e, 0xa5, 0x32, 0x5d, 0x6d, 0xc5, 0x33, 0x73, 0x2c, 0x62, 0x3a, 0xf3, 0xd7, 0x98, 0xfd,
|
||||
0x92, 0x73, 0xf6, 0x24, 0x2a, 0x15, 0xb4, 0x00, 0xf9, 0x05, 0xc0, 0x28, 0x09, 0x1e, 0xab, 0x37,
|
||||
0x21, 0x69, 0x60, 0x11, 0x1a, 0x1d, 0x5a, 0xde, 0xba, 0x5c, 0x98, 0x50, 0xcd, 0x97, 0x56, 0xdb,
|
||||
0xaa, 0x25, 0x14, 0x31, 0x85, 0xf9, 0x08, 0x13, 0x89, 0x3c, 0xbe, 0xc9, 0x53, 0xe0, 0x73, 0x00,
|
||||
0xed, 0x8e, 0x40, 0x9e, 0x98, 0xe6, 0x5e, 0x88, 0x68, 0x64, 0xe6, 0xbf, 0x17, 0xa0, 0xb5, 0x7c,
|
||||
0xd2, 0x83, 0x1b, 0x2e, 0xdd, 0x1d, 0xb6, 0x97, 0xcf, 0x84, 0x34, 0x5f, 0xf8, 0x5d, 0x5c, 0x99,
|
||||
0x53, 0x16, 0x21, 0xb9, 0x6e, 0x6e, 0x16, 0x91, 0xa7, 0x95, 0x09, 0x85, 0x71, 0x1b, 0xd6, 0xc7,
|
||||
0xce, 0xc4, 0xa6, 0xe0, 0x51, 0xbe, 0xc8, 0x94, 0x63, 0x2a, 0xf3, 0x3d, 0x80, 0xa3, 0x20, 0x8a,
|
||||
0x77, 0x05, 0xa8, 0xc0, 0xd8, 0x8e, 0xec, 0xf8, 0x3a, 0x80, 0xbe, 0xcd, 0x2e, 0x54, 0xc5, 0xe0,
|
||||
0x9b, 0x1e, 0x9f, 0x24, 0xbd, 0xd2, 0xa9, 0x96, 0xcb, 0x07, 0x99, 0x90, 0xb4, 0xf2, 0xc1, 0xfc,
|
||||
0x4d, 0x09, 0x6a, 0x24, 0x47, 0xd6, 0x92, 0x69, 0x89, 0x55, 0xe0, 0x30, 0x91, 0x57, 0x62, 0xc9,
|
||||
0x00, 0x92, 0xb4, 0xe9, 0x9c, 0x04, 0x37, 0xc7, 0xd2, 0xf7, 0xf1, 0x4b, 0x76, 0x39, 0xc2, 0xfd,
|
||||
0xbe, 0xe5, 0xfa, 0xcf, 0xbe, 0x50, 0x17, 0x8b, 0x20, 0x41, 0x3d, 0x84, 0x64, 0x09, 0xf6, 0xd5,
|
||||
0x71, 0x53, 0x4a, 0xb0, 0xcf, 0x07, 0xcb, 0x32, 0x87, 0xb1, 0x04, 0x55, 0xf3, 0x48, 0x50, 0x2c,
|
||||
0x21, 0x25, 0xd8, 0x57, 0x75, 0x4f, 0x4a, 0xb0, 0x4f, 0xe3, 0xc0, 0x32, 0xc7, 0xc5, 0x52, 0x54,
|
||||
0x5d, 0x3d, 0xc8, 0x16, 0x15, 0x6f, 0xf1, 0xee, 0x4c, 0xca, 0xae, 0xf1, 0x60, 0x1a, 0x31, 0x90,
|
||||
0xa5, 0x2f, 0x11, 0xed, 0xf3, 0x5e, 0x3c, 0x4b, 0xb4, 0x2f, 0xf7, 0xcc, 0x24, 0xd3, 0x9a, 0x63,
|
||||
0x9d, 0x3a, 0x79, 0xc9, 0x7b, 0xf0, 0x22, 0xed, 0x99, 0x09, 0x78, 0xcc, 0x30, 0xd2, 0x73, 0x64,
|
||||
0x8f, 0xce, 0xe9, 0x80, 0x85, 0x32, 0x4e, 0x83, 0x49, 0x80, 0x41, 0x82, 0x20, 0x54, 0x04, 0x26,
|
||||
0x04, 0xfc, 0x4e, 0x82, 0xb7, 0xde, 0x45, 0xd1, 0x8c, 0x69, 0xe4, 0xe3, 0x89, 0x77, 0xa1, 0x4e,
|
||||
0xdb, 0x78, 0x6f, 0x62, 0xb1, 0x19, 0x6c, 0x30, 0x4d, 0x0d, 0x41, 0xfd, 0xc9, 0x01, 0x02, 0x28,
|
||||
0xb8, 0x3b, 0xf4, 0xb0, 0x85, 0x37, 0xd8, 0x18, 0xdc, 0xb9, 0x41, 0x45, 0xa8, 0x52, 0xf1, 0xfb,
|
||||
0x05, 0x15, 0xaa, 0x2d, 0x46, 0xd6, 0x25, 0xec, 0x11, 0x81, 0xe4, 0x52, 0xa0, 0x22, 0x8a, 0x62,
|
||||
0x4b, 0x2a, 0xc8, 0x20, 0x26, 0x30, 0xbf, 0x83, 0x12, 0x59, 0x47, 0x72, 0xd6, 0xbe, 0x52, 0x50,
|
||||
0xc4, 0x36, 0xa8, 0xce, 0xda, 0x6f, 0x65, 0x77, 0x64, 0xd7, 0xb2, 0x84, 0x99, 0xfd, 0xd8, 0x5f,
|
||||
0x16, 0xa0, 0x28, 0xfa, 0x6d, 0xb2, 0x1f, 0x3b, 0x54, 0xf9, 0x06, 0xbf, 0x68, 0xeb, 0x29, 0x57,
|
||||
0x12, 0xab, 0x8a, 0xb8, 0xfc, 0x4e, 0x00, 0xb4, 0xb2, 0x58, 0x3b, 0x12, 0x4a, 0xdd, 0x63, 0xc8,
|
||||
0x96, 0x76, 0x19, 0x53, 0xca, 0x5c, 0xc6, 0xbc, 0xf2, 0x92, 0x20, 0xab, 0xb8, 0x39, 0x82, 0xe2,
|
||||
0x93, 0x60, 0x92, 0x1b, 0xa2, 0x50, 0xc1, 0x40, 0x1e, 0x87, 0x35, 0x04, 0x7e, 0x71, 0x3d, 0x2c,
|
||||
0x4f, 0xa1, 0x03, 0x59, 0x59, 0x36, 0xb0, 0x1e, 0x66, 0x80, 0x88, 0x08, 0xa9, 0xce, 0xb8, 0xf9,
|
||||
0x52, 0x9d, 0x91, 0x12, 0x20, 0x22, 0xf3, 0x2f, 0xd6, 0xa0, 0x22, 0xaf, 0xfc, 0x56, 0x46, 0x8d,
|
||||
0x7c, 0x9c, 0xc6, 0x92, 0xa3, 0x37, 0x2c, 0xb2, 0x25, 0xa0, 0x37, 0xa6, 0x65, 0xa2, 0xd2, 0xd5,
|
||||
0x99, 0x5b, 0xc9, 0x23, 0x05, 0xac, 0x3f, 0x24, 0x88, 0x37, 0x01, 0xb7, 0xa0, 0xa5, 0x08, 0x94,
|
||||
0xe3, 0xab, 0xa8, 0x54, 0x13, 0x9b, 0x12, 0xde, 0x8e, 0xc1, 0x99, 0xbb, 0x98, 0xf2, 0xd2, 0x5d,
|
||||
0xcc, 0x8f, 0x61, 0x63, 0xe6, 0x4f, 0x43, 0x6b, 0x6a, 0x9f, 0x3a, 0x53, 0xae, 0xe5, 0xa5, 0xef,
|
||||
0x35, 0x08, 0x7a, 0x48, 0x40, 0x2a, 0xe5, 0x97, 0xa8, 0xb0, 0x92, 0x5f, 0x5f, 0xa6, 0xb2, 0x5f,
|
||||
0xd0, 0x32, 0x8e, 0xbc, 0xa9, 0xba, 0x32, 0xa9, 0x72, 0x74, 0x48, 0x01, 0x7b, 0x1d, 0x8c, 0x5e,
|
||||
0x71, 0x78, 0x05, 0x9c, 0x94, 0xc3, 0xfe, 0xbd, 0xf6, 0x61, 0xeb, 0x2d, 0xa3, 0x06, 0xe5, 0xc3,
|
||||
0x7e, 0x07, 0x3f, 0x0b, 0x04, 0x6e, 0x1f, 0xfc, 0xca, 0xea, 0x1d, 0xb7, 0xd6, 0xe8, 0xb1, 0x16,
|
||||
0x7d, 0xf7, 0x1f, 0x0f, 0x5b, 0x45, 0x7a, 0x43, 0xf1, 0x44, 0xdc, 0x6f, 0x95, 0xf6, 0xfe, 0x04,
|
||||
0x6a, 0xc9, 0x85, 0x2b, 0x41, 0xdb, 0x07, 0x07, 0x28, 0x02, 0x3f, 0x0e, 0xba, 0x24, 0x00, 0x99,
|
||||
0xf0, 0xc3, 0x6a, 0x1f, 0x1e, 0x4a, 0x09, 0xa2, 0x3b, 0x38, 0x6c, 0x77, 0xba, 0x28, 0x01, 0x45,
|
||||
0x77, 0x8f, 0xdb, 0xf7, 0x0e, 0xbb, 0xad, 0x12, 0x53, 0xf5, 0x4e, 0xb8, 0x51, 0xa6, 0xee, 0x45,
|
||||
0xf7, 0xa4, 0x3b, 0x6c, 0x55, 0x8c, 0x26, 0xa6, 0xce, 0xfe, 0xfd, 0xa1, 0x6c, 0xae, 0xe3, 0x7a,
|
||||
0x41, 0xef, 0xb8, 0x37, 0xec, 0xb5, 0x0f, 0x7b, 0x7f, 0xd4, 0x6d, 0x55, 0xf7, 0x2c, 0xba, 0x0b,
|
||||
0x4c, 0xb6, 0x20, 0x24, 0x71, 0x20, 0xba, 0xf7, 0x7b, 0xdf, 0xa2, 0x02, 0x0d, 0xa8, 0x1e, 0x77,
|
||||
0x7b, 0x0f, 0x1e, 0xde, 0xeb, 0x0b, 0xd4, 0x02, 0xd5, 0x19, 0xb6, 0x1f, 0xa8, 0x31, 0x9c, 0x58,
|
||||
0x83, 0xf6, 0xf0, 0x21, 0x6a, 0x80, 0xd2, 0x3b, 0xfd, 0xa3, 0xa3, 0xc7, 0x28, 0xf2, 0x3b, 0x54,
|
||||
0x62, 0x0b, 0x9a, 0xdd, 0x6f, 0x87, 0x56, 0x0a, 0x2a, 0xef, 0xdd, 0xc2, 0x52, 0x2f, 0xde, 0x56,
|
||||
0xf0, 0xe0, 0x8e, 0xbf, 0x93, 0x83, 0xa3, 0xf1, 0xf0, 0xec, 0xf4, 0x8e, 0x9f, 0x74, 0xc5, 0xb0,
|
||||
0xb5, 0xb6, 0xb7, 0x07, 0xad, 0xe5, 0x4d, 0x83, 0x51, 0x81, 0xb5, 0xee, 0x23, 0x64, 0xc0, 0xdf,
|
||||
0x07, 0x5d, 0xa4, 0xc7, 0x5f, 0x1c, 0xe1, 0xda, 0xde, 0x6d, 0xb5, 0x2b, 0x54, 0xe5, 0x52, 0x15,
|
||||
0x4a, 0xc7, 0xfd, 0x63, 0x7a, 0x90, 0x42, 0xd3, 0xdd, 0xe9, 0x74, 0x07, 0x43, 0x29, 0x5c, 0x74,
|
||||
0x7f, 0xd5, 0xed, 0x90, 0xf0, 0xc7, 0x70, 0x2d, 0xa7, 0x62, 0x25, 0x8d, 0x13, 0x6d, 0x2d, 0x39,
|
||||
0xf1, 0xdb, 0xd0, 0x4a, 0x41, 0xa2, 0x7b, 0xd4, 0x7f, 0x42, 0x1d, 0x5f, 0x87, 0x2d, 0x1d, 0x2a,
|
||||
0x97, 0x60, 0x6d, 0xef, 0x63, 0x68, 0x66, 0xca, 0x54, 0x9a, 0x9e, 0xa3, 0xee, 0x81, 0x75, 0xd4,
|
||||
0x27, 0x51, 0x9b, 0x50, 0xa7, 0x46, 0x4c, 0x5e, 0xd8, 0xfb, 0x08, 0x20, 0x4d, 0xe3, 0x34, 0x18,
|
||||
0x34, 0x0b, 0xd6, 0xb9, 0x77, 0x34, 0xe8, 0x0b, 0xa5, 0x73, 0xf7, 0x5b, 0xfe, 0x5e, 0xbb, 0xf3,
|
||||
0xb7, 0x5b, 0x50, 0x7d, 0x40, 0x8e, 0xde, 0xf6, 0x5d, 0xe3, 0x2e, 0x6c, 0x3e, 0x70, 0x22, 0xfd,
|
||||
0x36, 0xdf, 0xd0, 0xc2, 0x52, 0x72, 0xb3, 0xbf, 0xbb, 0x72, 0x2d, 0x6f, 0xbe, 0x65, 0x3c, 0xe4,
|
||||
0x57, 0x2d, 0x19, 0x5e, 0x33, 0xf3, 0x0e, 0x28, 0xf7, 0x91, 0xc0, 0xee, 0xe6, 0xd2, 0xdb, 0x44,
|
||||
0x94, 0xf4, 0x15, 0x34, 0x50, 0x8b, 0xf8, 0xb1, 0x59, 0x98, 0xaf, 0xc2, 0xd2, 0xc3, 0x31, 0xf3,
|
||||
0xad, 0x4f, 0x0b, 0x58, 0xa1, 0xd5, 0x35, 0xc6, 0x4b, 0xf2, 0x19, 0x7f, 0x80, 0x13, 0x98, 0xbe,
|
||||
0x6d, 0x33, 0xde, 0xcd, 0x28, 0xbd, 0xf2, 0xe4, 0x2d, 0x4f, 0xe1, 0x8f, 0xd0, 0x2b, 0x71, 0x2f,
|
||||
0xe4, 0x9e, 0x1a, 0x1a, 0x92, 0xef, 0xa1, 0x77, 0x97, 0x01, 0x48, 0x7d, 0x1b, 0x1d, 0x87, 0x33,
|
||||
0x5a, 0xae, 0x7e, 0x39, 0xe2, 0x3f, 0x47, 0xf7, 0xf2, 0x26, 0xd1, 0x9b, 0x31, 0x7d, 0x09, 0xf5,
|
||||
0x84, 0xa9, 0x37, 0xbf, 0x34, 0xdb, 0x3e, 0x34, 0x12, 0xb6, 0xfe, 0xe2, 0xf2, 0xdd, 0xdd, 0x81,
|
||||
0xea, 0x89, 0xba, 0xc5, 0xbb, 0x34, 0xcf, 0xa7, 0x68, 0x86, 0x7c, 0x95, 0x73, 0x69, 0x0e, 0xac,
|
||||
0xeb, 0x0f, 0xdc, 0xf0, 0x8d, 0x58, 0xee, 0xa1, 0xaf, 0xc8, 0x87, 0x93, 0xc6, 0x6e, 0x66, 0x65,
|
||||
0x33, 0xaf, 0x49, 0x77, 0x6f, 0xae, 0xe0, 0xe2, 0x8a, 0x02, 0x65, 0x7c, 0x0d, 0xd5, 0xf8, 0xf1,
|
||||
0xa5, 0xf1, 0x83, 0x15, 0xc2, 0xf0, 0xa2, 0xfe, 0x3f, 0x2c, 0xd0, 0x36, 0x48, 0xbd, 0x6d, 0xcb,
|
||||
0xb5, 0x90, 0xfc, 0xf7, 0x03, 0x6c, 0xcf, 0x07, 0xf4, 0x98, 0x89, 0x39, 0xef, 0x21, 0xa6, 0x73,
|
||||
0x6e, 0xcf, 0xcf, 0xe8, 0x40, 0x3e, 0x6f, 0xe4, 0x17, 0x48, 0xf9, 0x79, 0xf2, 0xb6, 0x2e, 0xbd,
|
||||
0x83, 0xba, 0xb4, 0x4b, 0xdd, 0x65, 0xd3, 0xc6, 0xfa, 0xda, 0xd0, 0xce, 0x2a, 0xf4, 0x77, 0x8f,
|
||||
0xbb, 0xdb, 0x19, 0xb8, 0x2a, 0xc3, 0x99, 0x77, 0x1f, 0x2a, 0xf2, 0x91, 0xa4, 0x91, 0x9d, 0xdd,
|
||||
0x0c, 0x7b, 0xae, 0x0d, 0x56, 0xe4, 0xb3, 0xc1, 0x25, 0x3e, 0xfd, 0x21, 0x61, 0xbe, 0x0d, 0xae,
|
||||
0x93, 0x1b, 0x52, 0x0d, 0xf6, 0xba, 0xf1, 0x11, 0x11, 0xeb, 0xf8, 0x33, 0x36, 0x0f, 0xe6, 0xc9,
|
||||
0x9a, 0x47, 0xe6, 0x65, 0xe1, 0x2b, 0xac, 0x97, 0x7a, 0xc3, 0xaa, 0x2c, 0xb7, 0x33, 0xed, 0x45,
|
||||
0x1e, 0xd2, 0x70, 0x5f, 0x9f, 0xb1, 0x7e, 0x58, 0x3a, 0x85, 0xaf, 0x65, 0x41, 0x22, 0x6d, 0x0a,
|
||||
0xa9, 0xda, 0xca, 0x4e, 0x85, 0xfe, 0x78, 0x30, 0x4f, 0xb9, 0x5f, 0x40, 0x13, 0xbb, 0xd2, 0x0e,
|
||||
0x07, 0x73, 0x9f, 0xec, 0xed, 0xe6, 0x42, 0x39, 0x24, 0x6e, 0x64, 0xd8, 0xc3, 0x37, 0xe3, 0x67,
|
||||
0xd3, 0x6d, 0x66, 0x1e, 0x1f, 0x1a, 0xef, 0x65, 0xf4, 0xcf, 0x79, 0x95, 0x98, 0x37, 0x8c, 0xbb,
|
||||
0x9c, 0x09, 0xd2, 0x6d, 0x79, 0xde, 0x6e, 0x77, 0x37, 0x0f, 0x98, 0x4c, 0x81, 0xf6, 0xd6, 0xee,
|
||||
0x0d, 0x98, 0x71, 0x00, 0xf7, 0xa0, 0xa1, 0x3f, 0x64, 0x34, 0x7e, 0x94, 0xd1, 0x7f, 0xf5, 0x81,
|
||||
0x63, 0x7e, 0xb8, 0xaa, 0xa1, 0x0a, 0x6a, 0x47, 0xbf, 0xb2, 0xe7, 0xdd, 0x5d, 0x81, 0xc8, 0xb0,
|
||||
0x1d, 0xb3, 0x50, 0x95, 0x79, 0x29, 0x26, 0xd4, 0xf6, 0x6b, 0xac, 0x80, 0xe2, 0x57, 0x81, 0xc6,
|
||||
0x3b, 0xd9, 0x10, 0x95, 0x7d, 0x0b, 0x99, 0xa7, 0x67, 0x1f, 0xae, 0x25, 0x7a, 0x6a, 0xa7, 0x04,
|
||||
0x17, 0xbc, 0x15, 0xd9, 0xbd, 0x00, 0x87, 0x02, 0x07, 0x70, 0x2d, 0xe7, 0x91, 0xa2, 0xf1, 0x41,
|
||||
0x9e, 0x62, 0xab, 0x6f, 0x18, 0x73, 0x54, 0x3c, 0xad, 0xf0, 0xbf, 0x3a, 0x7c, 0xfe, 0x3f, 0x01,
|
||||
0x00, 0x00, 0xff, 0xff, 0x68, 0x50, 0xca, 0x12, 0xf9, 0x30, 0x00, 0x00,
|
||||
}
|
||||
|
||||
@@ -38,7 +38,6 @@ service GobgpApi {
|
||||
rpc MonitorRib(Table) returns (stream Destination) {}
|
||||
rpc MonitorBestChanged(Arguments) returns (stream Destination) {}
|
||||
rpc MonitorPeerState(Arguments) returns (stream Peer) {}
|
||||
rpc MonitorROAValidation(Arguments) returns (stream ROAResult) {}
|
||||
rpc GetMrt(MrtArguments) returns (stream MrtMessage) {}
|
||||
rpc ModMrt(ModMrtArguments) returns (Error) {}
|
||||
rpc ModBmp(ModBmpArguments) returns (Error) {}
|
||||
@@ -523,30 +522,6 @@ message ROA {
|
||||
RPKIConf conf = 5;
|
||||
}
|
||||
|
||||
message ROAResult {
|
||||
enum ValidationReason {
|
||||
UPDATE = 0;
|
||||
WITHDRAW = 1;
|
||||
PEER_DOWN = 2;
|
||||
REVALIDATE = 3;
|
||||
}
|
||||
ValidationReason reason = 1;
|
||||
string address = 2;
|
||||
int64 timestamp = 3;
|
||||
bytes aspath_attr = 4;
|
||||
uint32 origin_as = 5;
|
||||
string prefix = 6;
|
||||
enum ValidationResult {
|
||||
NONE = 0;
|
||||
NOT_FOUND = 1;
|
||||
VALID = 2;
|
||||
INVALID = 3;
|
||||
}
|
||||
ValidationResult old_result = 7;
|
||||
ValidationResult new_result = 8;
|
||||
repeated ROA roas = 9;
|
||||
}
|
||||
|
||||
message Vrf {
|
||||
string name = 1;
|
||||
bytes rd = 2;
|
||||
|
||||
@@ -24,7 +24,6 @@ import (
|
||||
"golang.org/x/net/context"
|
||||
"io"
|
||||
"net"
|
||||
"time"
|
||||
)
|
||||
|
||||
func NewMonitorCmd() *cobra.Command {
|
||||
@@ -106,54 +105,6 @@ func NewMonitorCmd() *cobra.Command {
|
||||
},
|
||||
}
|
||||
|
||||
rpkiCmd := &cobra.Command{
|
||||
Use: CMD_RPKI,
|
||||
Run: func(cmd *cobra.Command, args []string) {
|
||||
stream, err := client.MonitorROAValidation(context.Background(), &gobgpapi.Arguments{})
|
||||
if err != nil {
|
||||
exitWithError(err)
|
||||
}
|
||||
for {
|
||||
s, err := stream.Recv()
|
||||
if err == io.EOF {
|
||||
break
|
||||
} else if err != nil {
|
||||
exitWithError(err)
|
||||
}
|
||||
if globalOpts.Json {
|
||||
j, _ := json.Marshal(s)
|
||||
fmt.Println(string(j))
|
||||
} else {
|
||||
reason := "Update"
|
||||
if s.Reason == gobgpapi.ROAResult_WITHDRAW {
|
||||
reason = "Withdraw"
|
||||
} else if s.Reason == gobgpapi.ROAResult_PEER_DOWN {
|
||||
reason = "PeerDown"
|
||||
} else if s.Reason == gobgpapi.ROAResult_REVALIDATE {
|
||||
reason = "Revalidate"
|
||||
} else {
|
||||
reason = "Unknown"
|
||||
}
|
||||
aspath := &bgp.PathAttributeAsPath{}
|
||||
aspath.DecodeFromBytes(s.AspathAttr)
|
||||
fmt.Printf("[VALIDATION] Reason: %s, Peer: %s, Timestamp: %s, Prefix:%s, OriginAS:%d, ASPath:%s, Old:%s, New:%s", reason, s.Address, time.Unix(s.Timestamp, 0).String(), s.Prefix, s.OriginAs, aspath.String(), s.OldResult, s.NewResult)
|
||||
if len(s.Roas) == 0 {
|
||||
fmt.Printf("\n")
|
||||
} else {
|
||||
fmt.Printf(", ROAs:")
|
||||
for i, roa := range s.Roas {
|
||||
if i != 0 {
|
||||
fmt.Printf(",")
|
||||
}
|
||||
fmt.Printf(" [Source: %s, AS: %v, Prefix: %s, Prefixlen: %v, Maxlen: %v]", net.JoinHostPort(roa.Conf.Address, roa.Conf.RemotePort), roa.As, roa.Prefix, roa.Prefixlen, roa.Maxlen)
|
||||
}
|
||||
fmt.Printf("\n")
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
}
|
||||
|
||||
adjInCmd := &cobra.Command{
|
||||
Use: CMD_ADJ_IN,
|
||||
Run: func(cmd *cobra.Command, args []string) {
|
||||
@@ -208,7 +159,6 @@ func NewMonitorCmd() *cobra.Command {
|
||||
}
|
||||
monitorCmd.AddCommand(globalCmd)
|
||||
monitorCmd.AddCommand(neighborCmd)
|
||||
monitorCmd.AddCommand(rpkiCmd)
|
||||
monitorCmd.AddCommand(adjInCmd)
|
||||
|
||||
return monitorCmd
|
||||
|
||||
@@ -50,7 +50,6 @@ const (
|
||||
REQ_MONITOR_GLOBAL_BEST_CHANGED
|
||||
REQ_MONITOR_INCOMING
|
||||
REQ_MONITOR_NEIGHBOR_PEER_STATE
|
||||
REQ_MONITOR_ROA_VALIDATION_RESULT
|
||||
REQ_MRT_GLOBAL_RIB
|
||||
REQ_MRT_LOCAL_RIB
|
||||
REQ_MOD_MRT
|
||||
@@ -204,15 +203,6 @@ func (s *Server) MonitorPeerState(arg *api.Arguments, stream api.GobgpApi_Monito
|
||||
})
|
||||
}
|
||||
|
||||
func (s *Server) MonitorROAValidation(arg *api.Arguments, stream api.GobgpApi_MonitorROAValidationServer) error {
|
||||
req := NewGrpcRequest(REQ_MONITOR_ROA_VALIDATION_RESULT, "", bgp.RouteFamily(arg.Family), nil)
|
||||
s.bgpServerCh <- req
|
||||
|
||||
return handleMultipleResponses(req, func(res *GrpcResponse) error {
|
||||
return stream.Send(res.Data.(*api.ROAResult))
|
||||
})
|
||||
}
|
||||
|
||||
func (s *Server) neighbor(reqType int, arg *api.Arguments) (*api.Error, error) {
|
||||
none := &api.Error{}
|
||||
req := NewGrpcRequest(reqType, arg.Name, bgp.RouteFamily(arg.Family), nil)
|
||||
|
||||
+10
-41
@@ -530,84 +530,53 @@ func (c *roaManager) handleGRPC(grpcReq *GrpcRequest) {
|
||||
}
|
||||
}
|
||||
|
||||
func validatePath(ownAs uint32, tree *radix.Tree, cidr string, asPath *bgp.PathAttributeAsPath) (config.RpkiValidationResultType, []*ROA) {
|
||||
func validatePath(ownAs uint32, tree *radix.Tree, cidr string, asPath *bgp.PathAttributeAsPath) config.RpkiValidationResultType {
|
||||
var as uint32
|
||||
if asPath == nil || len(asPath.Value) == 0 {
|
||||
return config.RPKI_VALIDATION_RESULT_TYPE_NOT_FOUND, []*ROA{}
|
||||
return config.RPKI_VALIDATION_RESULT_TYPE_NOT_FOUND
|
||||
}
|
||||
asParam := asPath.Value[len(asPath.Value)-1].(*bgp.As4PathParam)
|
||||
switch asParam.Type {
|
||||
case bgp.BGP_ASPATH_ATTR_TYPE_SEQ:
|
||||
if len(asParam.AS) == 0 {
|
||||
return config.RPKI_VALIDATION_RESULT_TYPE_NOT_FOUND, []*ROA{}
|
||||
return config.RPKI_VALIDATION_RESULT_TYPE_NOT_FOUND
|
||||
}
|
||||
as = asParam.AS[len(asParam.AS)-1]
|
||||
case bgp.BGP_ASPATH_ATTR_TYPE_CONFED_SET, bgp.BGP_ASPATH_ATTR_TYPE_CONFED_SEQ:
|
||||
as = ownAs
|
||||
default:
|
||||
return config.RPKI_VALIDATION_RESULT_TYPE_NOT_FOUND, []*ROA{}
|
||||
return config.RPKI_VALIDATION_RESULT_TYPE_NOT_FOUND
|
||||
}
|
||||
_, n, _ := net.ParseCIDR(cidr)
|
||||
ones, _ := n.Mask.Size()
|
||||
prefixLen := uint8(ones)
|
||||
_, b, _ := tree.LongestPrefix(table.IpToRadixkey(n.IP, prefixLen))
|
||||
if b == nil {
|
||||
return config.RPKI_VALIDATION_RESULT_TYPE_NOT_FOUND, []*ROA{}
|
||||
return config.RPKI_VALIDATION_RESULT_TYPE_NOT_FOUND
|
||||
}
|
||||
|
||||
roaList := make([]*ROA, 0)
|
||||
|
||||
result := config.RPKI_VALIDATION_RESULT_TYPE_INVALID
|
||||
bucket, _ := b.(*roaBucket)
|
||||
for _, r := range bucket.entries {
|
||||
if prefixLen > r.MaxLen {
|
||||
continue
|
||||
}
|
||||
if r.AS == as {
|
||||
result = config.RPKI_VALIDATION_RESULT_TYPE_VALID
|
||||
return config.RPKI_VALIDATION_RESULT_TYPE_VALID
|
||||
}
|
||||
roaList = append(roaList, r)
|
||||
}
|
||||
return result, roaList
|
||||
return config.RPKI_VALIDATION_RESULT_TYPE_INVALID
|
||||
}
|
||||
|
||||
func (c *roaManager) validate(pathList []*table.Path, isMonitor bool) []*api.ROAResult {
|
||||
results := make([]*api.ROAResult, 0)
|
||||
if len(c.clientMap) == 0 {
|
||||
return results
|
||||
}
|
||||
func (c *roaManager) validate(pathList []*table.Path) {
|
||||
for _, path := range pathList {
|
||||
if path.IsWithdraw {
|
||||
if path.IsWithdraw || path.IsEOR() {
|
||||
continue
|
||||
}
|
||||
if tree, ok := c.Roas[path.GetRouteFamily()]; ok {
|
||||
r, roaList := validatePath(c.AS, tree, path.GetNlri().String(), path.GetAsPath())
|
||||
if isMonitor && path.Validation() != config.RpkiValidationResultType(r) {
|
||||
apiRoaList := func() []*api.ROA {
|
||||
apiRoaList := make([]*api.ROA, 0)
|
||||
for _, r := range roaList {
|
||||
apiRoaList = append(apiRoaList, r.toApiStruct())
|
||||
}
|
||||
return apiRoaList
|
||||
}()
|
||||
rr := &api.ROAResult{
|
||||
Address: path.GetSource().Address.String(),
|
||||
Timestamp: path.GetTimestamp().Unix(),
|
||||
OriginAs: path.GetSourceAs(),
|
||||
Prefix: path.GetNlri().String(),
|
||||
OldResult: api.ROAResult_ValidationResult(path.Validation().ToInt()),
|
||||
NewResult: api.ROAResult_ValidationResult(r.ToInt()),
|
||||
Roas: apiRoaList,
|
||||
}
|
||||
if b := path.GetAsPath(); b != nil {
|
||||
rr.AspathAttr, _ = b.Serialize()
|
||||
}
|
||||
results = append(results, rr)
|
||||
}
|
||||
r := validatePath(c.AS, tree, path.GetNlri().String(), path.GetAsPath())
|
||||
path.SetValidation(config.RpkiValidationResultType(r))
|
||||
}
|
||||
}
|
||||
return results
|
||||
}
|
||||
|
||||
type roaClient struct {
|
||||
|
||||
+1
-2
@@ -54,8 +54,7 @@ func strToASParam(str string) *bgp.PathAttributeAsPath {
|
||||
}
|
||||
|
||||
func validateOne(tree *radix.Tree, cidr, aspathStr string) config.RpkiValidationResultType {
|
||||
r, _ := validatePath(65500, tree, cidr, strToASParam(aspathStr))
|
||||
return r
|
||||
return validatePath(65500, tree, cidr, strToASParam(aspathStr))
|
||||
}
|
||||
|
||||
func TestValidate0(t *testing.T) {
|
||||
|
||||
+7
-110
@@ -499,8 +499,7 @@ func (server *BgpServer) dropPeerAllRoutes(peer *Peer, families []bgp.RouteFamil
|
||||
ids = append(ids, table.GLOBAL_RIB_NAME)
|
||||
}
|
||||
for _, rf := range families {
|
||||
best, withdrawn := server.globalRib.DeletePathsByPeer(ids, peer.fsm.peerInfo, rf)
|
||||
server.validatePaths(nil, withdrawn, true)
|
||||
best, _ := server.globalRib.DeletePathsByPeer(ids, peer.fsm.peerInfo, rf)
|
||||
|
||||
if !peer.isRouteServerClient() && !server.bgpConfig.Global.Collector.Enabled {
|
||||
server.broadcastBests(best[table.GLOBAL_RIB_NAME])
|
||||
@@ -518,33 +517,6 @@ func (server *BgpServer) dropPeerAllRoutes(peer *Peer, families []bgp.RouteFamil
|
||||
return msgs
|
||||
}
|
||||
|
||||
func (server *BgpServer) broadcastValidationResults(results []*api.ROAResult) {
|
||||
for _, result := range results {
|
||||
remainReqs := make([]*GrpcRequest, 0, len(server.broadcastReqs))
|
||||
for _, req := range server.broadcastReqs {
|
||||
select {
|
||||
case <-req.EndCh:
|
||||
continue
|
||||
default:
|
||||
}
|
||||
if req.RequestType != REQ_MONITOR_ROA_VALIDATION_RESULT {
|
||||
remainReqs = append(remainReqs, req)
|
||||
continue
|
||||
}
|
||||
m := &broadcastGrpcMsg{
|
||||
req: req,
|
||||
result: &GrpcResponse{
|
||||
Data: result,
|
||||
},
|
||||
}
|
||||
server.broadcastMsgs = append(server.broadcastMsgs, m)
|
||||
|
||||
remainReqs = append(remainReqs, req)
|
||||
}
|
||||
server.broadcastReqs = remainReqs
|
||||
}
|
||||
}
|
||||
|
||||
func (server *BgpServer) broadcastBests(bests []*table.Path) {
|
||||
for _, path := range bests {
|
||||
if path == nil {
|
||||
@@ -668,71 +640,9 @@ func (server *BgpServer) RSimportPaths(peer *Peer, pathList []*table.Path) []*ta
|
||||
return moded
|
||||
}
|
||||
|
||||
func (server *BgpServer) isRpkiMonitored() bool {
|
||||
if len(server.broadcastReqs) > 0 {
|
||||
for _, req := range server.broadcastReqs {
|
||||
if req.RequestType == REQ_MONITOR_ROA_VALIDATION_RESULT {
|
||||
return true
|
||||
}
|
||||
}
|
||||
}
|
||||
return false
|
||||
}
|
||||
|
||||
func (server *BgpServer) validatePaths(newly, withdrawn []*table.Path, peerDown bool) {
|
||||
isMonitor := server.isRpkiMonitored()
|
||||
if isMonitor {
|
||||
rrList := make([]*api.ROAResult, 0, len(withdrawn))
|
||||
for _, path := range withdrawn {
|
||||
if path.Validation() == config.RPKI_VALIDATION_RESULT_TYPE_INVALID {
|
||||
reason := api.ROAResult_WITHDRAW
|
||||
if peerDown {
|
||||
reason = api.ROAResult_PEER_DOWN
|
||||
}
|
||||
rr := &api.ROAResult{
|
||||
Reason: reason,
|
||||
Address: path.GetSource().Address.String(),
|
||||
Timestamp: path.GetTimestamp().Unix(),
|
||||
OriginAs: path.GetSourceAs(),
|
||||
Prefix: path.GetNlri().String(),
|
||||
OldResult: api.ROAResult_ValidationResult(path.Validation().ToInt()),
|
||||
NewResult: api.ROAResult_ValidationResult(path.Validation().ToInt()),
|
||||
}
|
||||
if b := path.GetAsPath(); b != nil {
|
||||
rr.AspathAttr, _ = b.Serialize()
|
||||
}
|
||||
rrList = append(rrList, rr)
|
||||
}
|
||||
}
|
||||
server.broadcastValidationResults(rrList)
|
||||
}
|
||||
|
||||
if vResults := server.roaManager.validate(newly, isMonitor); isMonitor {
|
||||
for i, path := range newly {
|
||||
old := func() config.RpkiValidationResultType {
|
||||
for _, withdrawn := range withdrawn {
|
||||
if path.GetSource().Equal(withdrawn.GetSource()) {
|
||||
return withdrawn.Validation()
|
||||
}
|
||||
}
|
||||
return config.RPKI_VALIDATION_RESULT_TYPE_NONE
|
||||
}()
|
||||
vResults[i].OldResult = api.ROAResult_ValidationResult(old.ToInt())
|
||||
}
|
||||
rrList := make([]*api.ROAResult, 0, len(vResults))
|
||||
for _, rr := range vResults {
|
||||
invalid := api.ROAResult_ValidationResult(config.RPKI_VALIDATION_RESULT_TYPE_INVALID.ToInt())
|
||||
if rr.NewResult == invalid || rr.OldResult == invalid {
|
||||
rrList = append(rrList, rr)
|
||||
}
|
||||
}
|
||||
server.broadcastValidationResults(rrList)
|
||||
}
|
||||
}
|
||||
|
||||
func (server *BgpServer) propagateUpdate(peer *Peer, pathList []*table.Path) ([]*SenderMsg, []*table.Path) {
|
||||
rib := server.globalRib
|
||||
var alteredPathList, newly, withdrawn []*table.Path
|
||||
var alteredPathList, withdrawn []*table.Path
|
||||
var best map[string][]*table.Path
|
||||
msgs := make([]*SenderMsg, 0, len(server.neighborMap))
|
||||
|
||||
@@ -758,8 +668,7 @@ func (server *BgpServer) propagateUpdate(peer *Peer, pathList []*table.Path) ([]
|
||||
ids = append(ids, targetPeer.TableID())
|
||||
}
|
||||
}
|
||||
best, newly, withdrawn = rib.ProcessPaths(ids, append(pathList, moded...))
|
||||
server.validatePaths(newly, withdrawn, false)
|
||||
best, _, withdrawn = rib.ProcessPaths(ids, append(pathList, moded...))
|
||||
} else {
|
||||
for idx, path := range pathList {
|
||||
path = server.policy.ApplyPolicy(table.GLOBAL_RIB_NAME, table.POLICY_DIRECTION_IMPORT, path, nil)
|
||||
@@ -806,8 +715,7 @@ func (server *BgpServer) propagateUpdate(peer *Peer, pathList []*table.Path) ([]
|
||||
}
|
||||
}
|
||||
alteredPathList = pathList
|
||||
best, newly, withdrawn = rib.ProcessPaths([]string{table.GLOBAL_RIB_NAME}, pathList)
|
||||
server.validatePaths(newly, withdrawn, false)
|
||||
best, _, withdrawn = rib.ProcessPaths([]string{table.GLOBAL_RIB_NAME}, pathList)
|
||||
if len(best[table.GLOBAL_RIB_NAME]) == 0 {
|
||||
return nil, alteredPathList
|
||||
}
|
||||
@@ -948,6 +856,7 @@ func (server *BgpServer) handleFSMMessage(peer *Peer, e *FsmMsg) []*SenderMsg {
|
||||
case *bgp.MessageError:
|
||||
return []*SenderMsg{newSenderMsg(peer, nil, bgp.NewBGPNotificationMessage(m.TypeCode, m.SubTypeCode, m.Data), false)}
|
||||
case *bgp.BGPMessage:
|
||||
server.roaManager.validate(e.PathList)
|
||||
pathList, eor, notification := peer.handleUpdate(e)
|
||||
if notification != nil {
|
||||
return []*SenderMsg{newSenderMsg(peer, nil, notification, true)}
|
||||
@@ -2335,7 +2244,7 @@ func (server *BgpServer) handleGrpc(grpcReq *GrpcRequest) []*SenderMsg {
|
||||
ResponseErr: err,
|
||||
}
|
||||
close(grpcReq.ResponseCh)
|
||||
case REQ_MONITOR_GLOBAL_BEST_CHANGED, REQ_MONITOR_NEIGHBOR_PEER_STATE, REQ_MONITOR_ROA_VALIDATION_RESULT:
|
||||
case REQ_MONITOR_GLOBAL_BEST_CHANGED, REQ_MONITOR_NEIGHBOR_PEER_STATE:
|
||||
server.broadcastReqs = append(server.broadcastReqs, grpcReq)
|
||||
case REQ_MONITOR_INCOMING:
|
||||
if grpcReq.Name != "" {
|
||||
@@ -2989,7 +2898,6 @@ func (server *BgpServer) handleModRpki(grpcReq *GrpcRequest) {
|
||||
grpcDone(grpcReq, server.roaManager.operate(arg.Operation, arg.Address))
|
||||
return
|
||||
case api.Operation_REPLACE:
|
||||
isMonitored := server.isRpkiMonitored()
|
||||
for _, rf := range server.globalRib.GetRFlist() {
|
||||
if t, ok := server.globalRib.Tables[rf]; ok {
|
||||
dsts := t.GetDestinations()
|
||||
@@ -3000,18 +2908,7 @@ func (server *BgpServer) handleModRpki(grpcReq *GrpcRequest) {
|
||||
}
|
||||
}
|
||||
for _, dst := range dsts {
|
||||
if rr := server.roaManager.validate(dst.GetAllKnownPathList(), isMonitored); isMonitored {
|
||||
send := make([]*api.ROAResult, 0, len(rr))
|
||||
for _, r := range rr {
|
||||
invalid := api.ROAResult_ValidationResult(config.RPKI_VALIDATION_RESULT_TYPE_INVALID.ToInt())
|
||||
|
||||
if r.OldResult != r.NewResult && (r.OldResult == invalid || r.NewResult == invalid) {
|
||||
r.Reason = api.ROAResult_REVALIDATE
|
||||
send = append(send, r)
|
||||
}
|
||||
}
|
||||
server.broadcastValidationResults(send)
|
||||
}
|
||||
server.roaManager.validate(dst.GetAllKnownPathList())
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user