1// Code generated by protoc-gen-go. DO NOT EDIT. 2// source: google/bytestream/bytestream.proto 3 4/* 5Package bytestream is a generated protocol buffer package. 6 7It is generated from these files: 8 google/bytestream/bytestream.proto 9 10It has these top-level messages: 11 ReadRequest 12 ReadResponse 13 WriteRequest 14 WriteResponse 15 QueryWriteStatusRequest 16 QueryWriteStatusResponse 17*/ 18package bytestream 19 20import proto "github.com/golang/protobuf/proto" 21import fmt "fmt" 22import math "math" 23import _ "google.golang.org/genproto/googleapis/api/annotations" 24import _ "github.com/golang/protobuf/ptypes/wrappers" 25 26import ( 27 context "golang.org/x/net/context" 28 grpc "google.golang.org/grpc" 29) 30 31// Reference imports to suppress errors if they are not otherwise used. 32var _ = proto.Marshal 33var _ = fmt.Errorf 34var _ = math.Inf 35 36// This is a compile-time assertion to ensure that this generated file 37// is compatible with the proto package it is being compiled against. 38// A compilation error at this line likely means your copy of the 39// proto package needs to be updated. 40const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package 41 42// Request object for ByteStream.Read. 43type ReadRequest struct { 44 // The name of the resource to read. 45 ResourceName string `protobuf:"bytes,1,opt,name=resource_name,json=resourceName" json:"resource_name,omitempty"` 46 // The offset for the first byte to return in the read, relative to the start 47 // of the resource. 48 // 49 // A `read_offset` that is negative or greater than the size of the resource 50 // will cause an `OUT_OF_RANGE` error. 51 ReadOffset int64 `protobuf:"varint,2,opt,name=read_offset,json=readOffset" json:"read_offset,omitempty"` 52 // The maximum number of `data` bytes the server is allowed to return in the 53 // sum of all `ReadResponse` messages. A `read_limit` of zero indicates that 54 // there is no limit, and a negative `read_limit` will cause an error. 55 // 56 // If the stream returns fewer bytes than allowed by the `read_limit` and no 57 // error occurred, the stream includes all data from the `read_offset` to the 58 // end of the resource. 59 ReadLimit int64 `protobuf:"varint,3,opt,name=read_limit,json=readLimit" json:"read_limit,omitempty"` 60} 61 62func (m *ReadRequest) Reset() { *m = ReadRequest{} } 63func (m *ReadRequest) String() string { return proto.CompactTextString(m) } 64func (*ReadRequest) ProtoMessage() {} 65func (*ReadRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} } 66 67func (m *ReadRequest) GetResourceName() string { 68 if m != nil { 69 return m.ResourceName 70 } 71 return "" 72} 73 74func (m *ReadRequest) GetReadOffset() int64 { 75 if m != nil { 76 return m.ReadOffset 77 } 78 return 0 79} 80 81func (m *ReadRequest) GetReadLimit() int64 { 82 if m != nil { 83 return m.ReadLimit 84 } 85 return 0 86} 87 88// Response object for ByteStream.Read. 89type ReadResponse struct { 90 // A portion of the data for the resource. The service **may** leave `data` 91 // empty for any given `ReadResponse`. This enables the service to inform the 92 // client that the request is still live while it is running an operation to 93 // generate more data. 94 Data []byte `protobuf:"bytes,10,opt,name=data,proto3" json:"data,omitempty"` 95} 96 97func (m *ReadResponse) Reset() { *m = ReadResponse{} } 98func (m *ReadResponse) String() string { return proto.CompactTextString(m) } 99func (*ReadResponse) ProtoMessage() {} 100func (*ReadResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{1} } 101 102func (m *ReadResponse) GetData() []byte { 103 if m != nil { 104 return m.Data 105 } 106 return nil 107} 108 109// Request object for ByteStream.Write. 110type WriteRequest struct { 111 // The name of the resource to write. This **must** be set on the first 112 // `WriteRequest` of each `Write()` action. If it is set on subsequent calls, 113 // it **must** match the value of the first request. 114 ResourceName string `protobuf:"bytes,1,opt,name=resource_name,json=resourceName" json:"resource_name,omitempty"` 115 // The offset from the beginning of the resource at which the data should be 116 // written. It is required on all `WriteRequest`s. 117 // 118 // In the first `WriteRequest` of a `Write()` action, it indicates 119 // the initial offset for the `Write()` call. The value **must** be equal to 120 // the `committed_size` that a call to `QueryWriteStatus()` would return. 121 // 122 // On subsequent calls, this value **must** be set and **must** be equal to 123 // the sum of the first `write_offset` and the sizes of all `data` bundles 124 // sent previously on this stream. 125 // 126 // An incorrect value will cause an error. 127 WriteOffset int64 `protobuf:"varint,2,opt,name=write_offset,json=writeOffset" json:"write_offset,omitempty"` 128 // If `true`, this indicates that the write is complete. Sending any 129 // `WriteRequest`s subsequent to one in which `finish_write` is `true` will 130 // cause an error. 131 FinishWrite bool `protobuf:"varint,3,opt,name=finish_write,json=finishWrite" json:"finish_write,omitempty"` 132 // A portion of the data for the resource. The client **may** leave `data` 133 // empty for any given `WriteRequest`. This enables the client to inform the 134 // service that the request is still live while it is running an operation to 135 // generate more data. 136 Data []byte `protobuf:"bytes,10,opt,name=data,proto3" json:"data,omitempty"` 137} 138 139func (m *WriteRequest) Reset() { *m = WriteRequest{} } 140func (m *WriteRequest) String() string { return proto.CompactTextString(m) } 141func (*WriteRequest) ProtoMessage() {} 142func (*WriteRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{2} } 143 144func (m *WriteRequest) GetResourceName() string { 145 if m != nil { 146 return m.ResourceName 147 } 148 return "" 149} 150 151func (m *WriteRequest) GetWriteOffset() int64 { 152 if m != nil { 153 return m.WriteOffset 154 } 155 return 0 156} 157 158func (m *WriteRequest) GetFinishWrite() bool { 159 if m != nil { 160 return m.FinishWrite 161 } 162 return false 163} 164 165func (m *WriteRequest) GetData() []byte { 166 if m != nil { 167 return m.Data 168 } 169 return nil 170} 171 172// Response object for ByteStream.Write. 173type WriteResponse struct { 174 // The number of bytes that have been processed for the given resource. 175 CommittedSize int64 `protobuf:"varint,1,opt,name=committed_size,json=committedSize" json:"committed_size,omitempty"` 176} 177 178func (m *WriteResponse) Reset() { *m = WriteResponse{} } 179func (m *WriteResponse) String() string { return proto.CompactTextString(m) } 180func (*WriteResponse) ProtoMessage() {} 181func (*WriteResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{3} } 182 183func (m *WriteResponse) GetCommittedSize() int64 { 184 if m != nil { 185 return m.CommittedSize 186 } 187 return 0 188} 189 190// Request object for ByteStream.QueryWriteStatus. 191type QueryWriteStatusRequest struct { 192 // The name of the resource whose write status is being requested. 193 ResourceName string `protobuf:"bytes,1,opt,name=resource_name,json=resourceName" json:"resource_name,omitempty"` 194} 195 196func (m *QueryWriteStatusRequest) Reset() { *m = QueryWriteStatusRequest{} } 197func (m *QueryWriteStatusRequest) String() string { return proto.CompactTextString(m) } 198func (*QueryWriteStatusRequest) ProtoMessage() {} 199func (*QueryWriteStatusRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{4} } 200 201func (m *QueryWriteStatusRequest) GetResourceName() string { 202 if m != nil { 203 return m.ResourceName 204 } 205 return "" 206} 207 208// Response object for ByteStream.QueryWriteStatus. 209type QueryWriteStatusResponse struct { 210 // The number of bytes that have been processed for the given resource. 211 CommittedSize int64 `protobuf:"varint,1,opt,name=committed_size,json=committedSize" json:"committed_size,omitempty"` 212 // `complete` is `true` only if the client has sent a `WriteRequest` with 213 // `finish_write` set to true, and the server has processed that request. 214 Complete bool `protobuf:"varint,2,opt,name=complete" json:"complete,omitempty"` 215} 216 217func (m *QueryWriteStatusResponse) Reset() { *m = QueryWriteStatusResponse{} } 218func (m *QueryWriteStatusResponse) String() string { return proto.CompactTextString(m) } 219func (*QueryWriteStatusResponse) ProtoMessage() {} 220func (*QueryWriteStatusResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{5} } 221 222func (m *QueryWriteStatusResponse) GetCommittedSize() int64 { 223 if m != nil { 224 return m.CommittedSize 225 } 226 return 0 227} 228 229func (m *QueryWriteStatusResponse) GetComplete() bool { 230 if m != nil { 231 return m.Complete 232 } 233 return false 234} 235 236func init() { 237 proto.RegisterType((*ReadRequest)(nil), "google.bytestream.ReadRequest") 238 proto.RegisterType((*ReadResponse)(nil), "google.bytestream.ReadResponse") 239 proto.RegisterType((*WriteRequest)(nil), "google.bytestream.WriteRequest") 240 proto.RegisterType((*WriteResponse)(nil), "google.bytestream.WriteResponse") 241 proto.RegisterType((*QueryWriteStatusRequest)(nil), "google.bytestream.QueryWriteStatusRequest") 242 proto.RegisterType((*QueryWriteStatusResponse)(nil), "google.bytestream.QueryWriteStatusResponse") 243} 244 245// Reference imports to suppress errors if they are not otherwise used. 246var _ context.Context 247var _ grpc.ClientConn 248 249// This is a compile-time assertion to ensure that this generated file 250// is compatible with the grpc package it is being compiled against. 251const _ = grpc.SupportPackageIsVersion4 252 253// Client API for ByteStream service 254 255type ByteStreamClient interface { 256 // `Read()` is used to retrieve the contents of a resource as a sequence 257 // of bytes. The bytes are returned in a sequence of responses, and the 258 // responses are delivered as the results of a server-side streaming RPC. 259 Read(ctx context.Context, in *ReadRequest, opts ...grpc.CallOption) (ByteStream_ReadClient, error) 260 // `Write()` is used to send the contents of a resource as a sequence of 261 // bytes. The bytes are sent in a sequence of request protos of a client-side 262 // streaming RPC. 263 // 264 // A `Write()` action is resumable. If there is an error or the connection is 265 // broken during the `Write()`, the client should check the status of the 266 // `Write()` by calling `QueryWriteStatus()` and continue writing from the 267 // returned `committed_size`. This may be less than the amount of data the 268 // client previously sent. 269 // 270 // Calling `Write()` on a resource name that was previously written and 271 // finalized could cause an error, depending on whether the underlying service 272 // allows over-writing of previously written resources. 273 // 274 // When the client closes the request channel, the service will respond with 275 // a `WriteResponse`. The service will not view the resource as `complete` 276 // until the client has sent a `WriteRequest` with `finish_write` set to 277 // `true`. Sending any requests on a stream after sending a request with 278 // `finish_write` set to `true` will cause an error. The client **should** 279 // check the `WriteResponse` it receives to determine how much data the 280 // service was able to commit and whether the service views the resource as 281 // `complete` or not. 282 Write(ctx context.Context, opts ...grpc.CallOption) (ByteStream_WriteClient, error) 283 // `QueryWriteStatus()` is used to find the `committed_size` for a resource 284 // that is being written, which can then be used as the `write_offset` for 285 // the next `Write()` call. 286 // 287 // If the resource does not exist (i.e., the resource has been deleted, or the 288 // first `Write()` has not yet reached the service), this method returns the 289 // error `NOT_FOUND`. 290 // 291 // The client **may** call `QueryWriteStatus()` at any time to determine how 292 // much data has been processed for this resource. This is useful if the 293 // client is buffering data and needs to know which data can be safely 294 // evicted. For any sequence of `QueryWriteStatus()` calls for a given 295 // resource name, the sequence of returned `committed_size` values will be 296 // non-decreasing. 297 QueryWriteStatus(ctx context.Context, in *QueryWriteStatusRequest, opts ...grpc.CallOption) (*QueryWriteStatusResponse, error) 298} 299 300type byteStreamClient struct { 301 cc *grpc.ClientConn 302} 303 304func NewByteStreamClient(cc *grpc.ClientConn) ByteStreamClient { 305 return &byteStreamClient{cc} 306} 307 308func (c *byteStreamClient) Read(ctx context.Context, in *ReadRequest, opts ...grpc.CallOption) (ByteStream_ReadClient, error) { 309 stream, err := grpc.NewClientStream(ctx, &_ByteStream_serviceDesc.Streams[0], c.cc, "/google.bytestream.ByteStream/Read", opts...) 310 if err != nil { 311 return nil, err 312 } 313 x := &byteStreamReadClient{stream} 314 if err := x.ClientStream.SendMsg(in); err != nil { 315 return nil, err 316 } 317 if err := x.ClientStream.CloseSend(); err != nil { 318 return nil, err 319 } 320 return x, nil 321} 322 323type ByteStream_ReadClient interface { 324 Recv() (*ReadResponse, error) 325 grpc.ClientStream 326} 327 328type byteStreamReadClient struct { 329 grpc.ClientStream 330} 331 332func (x *byteStreamReadClient) Recv() (*ReadResponse, error) { 333 m := new(ReadResponse) 334 if err := x.ClientStream.RecvMsg(m); err != nil { 335 return nil, err 336 } 337 return m, nil 338} 339 340func (c *byteStreamClient) Write(ctx context.Context, opts ...grpc.CallOption) (ByteStream_WriteClient, error) { 341 stream, err := grpc.NewClientStream(ctx, &_ByteStream_serviceDesc.Streams[1], c.cc, "/google.bytestream.ByteStream/Write", opts...) 342 if err != nil { 343 return nil, err 344 } 345 x := &byteStreamWriteClient{stream} 346 return x, nil 347} 348 349type ByteStream_WriteClient interface { 350 Send(*WriteRequest) error 351 CloseAndRecv() (*WriteResponse, error) 352 grpc.ClientStream 353} 354 355type byteStreamWriteClient struct { 356 grpc.ClientStream 357} 358 359func (x *byteStreamWriteClient) Send(m *WriteRequest) error { 360 return x.ClientStream.SendMsg(m) 361} 362 363func (x *byteStreamWriteClient) CloseAndRecv() (*WriteResponse, error) { 364 if err := x.ClientStream.CloseSend(); err != nil { 365 return nil, err 366 } 367 m := new(WriteResponse) 368 if err := x.ClientStream.RecvMsg(m); err != nil { 369 return nil, err 370 } 371 return m, nil 372} 373 374func (c *byteStreamClient) QueryWriteStatus(ctx context.Context, in *QueryWriteStatusRequest, opts ...grpc.CallOption) (*QueryWriteStatusResponse, error) { 375 out := new(QueryWriteStatusResponse) 376 err := grpc.Invoke(ctx, "/google.bytestream.ByteStream/QueryWriteStatus", in, out, c.cc, opts...) 377 if err != nil { 378 return nil, err 379 } 380 return out, nil 381} 382 383// Server API for ByteStream service 384 385type ByteStreamServer interface { 386 // `Read()` is used to retrieve the contents of a resource as a sequence 387 // of bytes. The bytes are returned in a sequence of responses, and the 388 // responses are delivered as the results of a server-side streaming RPC. 389 Read(*ReadRequest, ByteStream_ReadServer) error 390 // `Write()` is used to send the contents of a resource as a sequence of 391 // bytes. The bytes are sent in a sequence of request protos of a client-side 392 // streaming RPC. 393 // 394 // A `Write()` action is resumable. If there is an error or the connection is 395 // broken during the `Write()`, the client should check the status of the 396 // `Write()` by calling `QueryWriteStatus()` and continue writing from the 397 // returned `committed_size`. This may be less than the amount of data the 398 // client previously sent. 399 // 400 // Calling `Write()` on a resource name that was previously written and 401 // finalized could cause an error, depending on whether the underlying service 402 // allows over-writing of previously written resources. 403 // 404 // When the client closes the request channel, the service will respond with 405 // a `WriteResponse`. The service will not view the resource as `complete` 406 // until the client has sent a `WriteRequest` with `finish_write` set to 407 // `true`. Sending any requests on a stream after sending a request with 408 // `finish_write` set to `true` will cause an error. The client **should** 409 // check the `WriteResponse` it receives to determine how much data the 410 // service was able to commit and whether the service views the resource as 411 // `complete` or not. 412 Write(ByteStream_WriteServer) error 413 // `QueryWriteStatus()` is used to find the `committed_size` for a resource 414 // that is being written, which can then be used as the `write_offset` for 415 // the next `Write()` call. 416 // 417 // If the resource does not exist (i.e., the resource has been deleted, or the 418 // first `Write()` has not yet reached the service), this method returns the 419 // error `NOT_FOUND`. 420 // 421 // The client **may** call `QueryWriteStatus()` at any time to determine how 422 // much data has been processed for this resource. This is useful if the 423 // client is buffering data and needs to know which data can be safely 424 // evicted. For any sequence of `QueryWriteStatus()` calls for a given 425 // resource name, the sequence of returned `committed_size` values will be 426 // non-decreasing. 427 QueryWriteStatus(context.Context, *QueryWriteStatusRequest) (*QueryWriteStatusResponse, error) 428} 429 430func RegisterByteStreamServer(s *grpc.Server, srv ByteStreamServer) { 431 s.RegisterService(&_ByteStream_serviceDesc, srv) 432} 433 434func _ByteStream_Read_Handler(srv interface{}, stream grpc.ServerStream) error { 435 m := new(ReadRequest) 436 if err := stream.RecvMsg(m); err != nil { 437 return err 438 } 439 return srv.(ByteStreamServer).Read(m, &byteStreamReadServer{stream}) 440} 441 442type ByteStream_ReadServer interface { 443 Send(*ReadResponse) error 444 grpc.ServerStream 445} 446 447type byteStreamReadServer struct { 448 grpc.ServerStream 449} 450 451func (x *byteStreamReadServer) Send(m *ReadResponse) error { 452 return x.ServerStream.SendMsg(m) 453} 454 455func _ByteStream_Write_Handler(srv interface{}, stream grpc.ServerStream) error { 456 return srv.(ByteStreamServer).Write(&byteStreamWriteServer{stream}) 457} 458 459type ByteStream_WriteServer interface { 460 SendAndClose(*WriteResponse) error 461 Recv() (*WriteRequest, error) 462 grpc.ServerStream 463} 464 465type byteStreamWriteServer struct { 466 grpc.ServerStream 467} 468 469func (x *byteStreamWriteServer) SendAndClose(m *WriteResponse) error { 470 return x.ServerStream.SendMsg(m) 471} 472 473func (x *byteStreamWriteServer) Recv() (*WriteRequest, error) { 474 m := new(WriteRequest) 475 if err := x.ServerStream.RecvMsg(m); err != nil { 476 return nil, err 477 } 478 return m, nil 479} 480 481func _ByteStream_QueryWriteStatus_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 482 in := new(QueryWriteStatusRequest) 483 if err := dec(in); err != nil { 484 return nil, err 485 } 486 if interceptor == nil { 487 return srv.(ByteStreamServer).QueryWriteStatus(ctx, in) 488 } 489 info := &grpc.UnaryServerInfo{ 490 Server: srv, 491 FullMethod: "/google.bytestream.ByteStream/QueryWriteStatus", 492 } 493 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 494 return srv.(ByteStreamServer).QueryWriteStatus(ctx, req.(*QueryWriteStatusRequest)) 495 } 496 return interceptor(ctx, in, info, handler) 497} 498 499var _ByteStream_serviceDesc = grpc.ServiceDesc{ 500 ServiceName: "google.bytestream.ByteStream", 501 HandlerType: (*ByteStreamServer)(nil), 502 Methods: []grpc.MethodDesc{ 503 { 504 MethodName: "QueryWriteStatus", 505 Handler: _ByteStream_QueryWriteStatus_Handler, 506 }, 507 }, 508 Streams: []grpc.StreamDesc{ 509 { 510 StreamName: "Read", 511 Handler: _ByteStream_Read_Handler, 512 ServerStreams: true, 513 }, 514 { 515 StreamName: "Write", 516 Handler: _ByteStream_Write_Handler, 517 ClientStreams: true, 518 }, 519 }, 520 Metadata: "google/bytestream/bytestream.proto", 521} 522 523func init() { proto.RegisterFile("google/bytestream/bytestream.proto", fileDescriptor0) } 524 525var fileDescriptor0 = []byte{ 526 // 446 bytes of a gzipped FileDescriptorProto 527 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x53, 0x5b, 0x8b, 0x13, 0x31, 528 0x14, 0x66, 0xb6, 0xab, 0x74, 0x4f, 0xa7, 0x5e, 0x02, 0xe2, 0x30, 0xe8, 0x6e, 0x77, 0x44, 0x28, 529 0x0a, 0x33, 0xa2, 0xe0, 0xcb, 0x82, 0x0f, 0x7d, 0x13, 0x16, 0x2f, 0xd9, 0x07, 0x41, 0x90, 0x21, 530 0x6d, 0x4f, 0xc7, 0x60, 0x93, 0x8c, 0x49, 0x86, 0xa5, 0xfb, 0x1f, 0x7c, 0xf1, 0x17, 0x4b, 0x92, 531 0xb1, 0x1d, 0x6d, 0x0b, 0xdb, 0xb7, 0xe4, 0xbb, 0xcc, 0xf9, 0xe6, 0xe4, 0x1c, 0xc8, 0x2a, 0xa5, 532 0xaa, 0x25, 0x16, 0xd3, 0x95, 0x45, 0x63, 0x35, 0x32, 0xd1, 0x39, 0xe6, 0xb5, 0x56, 0x56, 0x91, 533 0x87, 0x41, 0x93, 0x6f, 0x88, 0xf4, 0x49, 0x6b, 0x63, 0x35, 0x2f, 0x98, 0x94, 0xca, 0x32, 0xcb, 534 0x95, 0x34, 0xc1, 0x90, 0x9e, 0xb6, 0xac, 0xbf, 0x4d, 0x9b, 0x45, 0x71, 0xad, 0x59, 0x5d, 0xa3, 535 0x6e, 0xf9, 0x4c, 0xc3, 0x80, 0x22, 0x9b, 0x53, 0xfc, 0xd9, 0xa0, 0xb1, 0xe4, 0x19, 0x0c, 0x35, 536 0x1a, 0xd5, 0xe8, 0x19, 0x96, 0x92, 0x09, 0x4c, 0xa2, 0x51, 0x34, 0x3e, 0xa1, 0xf1, 0x5f, 0xf0, 537 0x03, 0x13, 0x48, 0xce, 0x60, 0xa0, 0x91, 0xcd, 0x4b, 0xb5, 0x58, 0x18, 0xb4, 0xc9, 0xd1, 0x28, 538 0x1a, 0xf7, 0x28, 0x38, 0xe8, 0xa3, 0x47, 0xc8, 0x53, 0xf0, 0xb7, 0x72, 0xc9, 0x05, 0xb7, 0x49, 539 0xcf, 0xf3, 0x27, 0x0e, 0xb9, 0x74, 0x40, 0x96, 0x41, 0x1c, 0x6a, 0x9a, 0x5a, 0x49, 0x83, 0x84, 540 0xc0, 0xf1, 0x9c, 0x59, 0x96, 0xc0, 0x28, 0x1a, 0xc7, 0xd4, 0x9f, 0xb3, 0x5f, 0x11, 0xc4, 0x5f, 541 0x34, 0xb7, 0x78, 0x50, 0xb2, 0x73, 0x88, 0xaf, 0x9d, 0xe9, 0xdf, 0x68, 0x03, 0x8f, 0xb5, 0xd9, 542 0xce, 0x21, 0x5e, 0x70, 0xc9, 0xcd, 0xf7, 0xd2, 0xa3, 0x3e, 0x5d, 0x9f, 0x0e, 0x02, 0xe6, 0x2b, 543 0xee, 0xcc, 0xf3, 0x16, 0x86, 0x6d, 0x9c, 0x36, 0xf4, 0x73, 0xb8, 0x37, 0x53, 0x42, 0x70, 0x6b, 544 0x71, 0x5e, 0x1a, 0x7e, 0x13, 0x02, 0xf5, 0xe8, 0x70, 0x8d, 0x5e, 0xf1, 0x1b, 0xcc, 0xde, 0xc1, 545 0xe3, 0xcf, 0x0d, 0xea, 0x95, 0x37, 0x5f, 0x59, 0x66, 0x1b, 0x73, 0xc8, 0x1f, 0x65, 0xdf, 0x20, 546 0xd9, 0xf6, 0x1f, 0x14, 0x81, 0xa4, 0xd0, 0x9f, 0x29, 0x51, 0x2f, 0xd1, 0xa2, 0x6f, 0x48, 0x9f, 547 0xae, 0xef, 0xaf, 0x7f, 0x1f, 0x01, 0x4c, 0x56, 0xee, 0xcb, 0x6e, 0x96, 0xc8, 0x7b, 0x38, 0x76, 548 0x2f, 0x43, 0x4e, 0xf3, 0xad, 0x39, 0xcb, 0x3b, 0x63, 0x92, 0x9e, 0xed, 0xe5, 0x43, 0xb4, 0x57, 549 0x11, 0xb9, 0x84, 0x3b, 0xa1, 0x9b, 0xbb, 0xb4, 0xdd, 0x97, 0x4d, 0x47, 0xfb, 0x05, 0xe1, 0x6b, 550 0xe3, 0x88, 0xfc, 0x80, 0x07, 0xff, 0xb7, 0x81, 0xbc, 0xd8, 0xe1, 0xdb, 0xd3, 0xeb, 0xf4, 0xe5, 551 0xad, 0xb4, 0xa1, 0xdc, 0x04, 0xe1, 0xd1, 0x4c, 0x89, 0x6d, 0xc7, 0xe4, 0xfe, 0xa6, 0x55, 0x9f, 552 0xdc, 0xf6, 0x7c, 0xbd, 0x68, 0x35, 0x95, 0x5a, 0x32, 0x59, 0xe5, 0x4a, 0x57, 0x45, 0x85, 0xd2, 553 0x6f, 0x56, 0x11, 0x28, 0x56, 0x73, 0xd3, 0x59, 0xe3, 0x8b, 0xcd, 0x71, 0x7a, 0xd7, 0xeb, 0xde, 554 0xfc, 0x09, 0x00, 0x00, 0xff, 0xff, 0x8f, 0x91, 0x09, 0xd4, 0xf8, 0x03, 0x00, 0x00, 555} 556