You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

497 lines
17 KiB

  1. // Code generated by protoc-gen-go.
  2. // source: queue.proto
  3. // DO NOT EDIT!
  4. /*
  5. Package queue_pb is a generated protocol buffer package.
  6. It is generated from these files:
  7. queue.proto
  8. It has these top-level messages:
  9. WriteMessageRequest
  10. WriteMessageResponse
  11. ReadMessageRequest
  12. ReadMessageResponse
  13. ConfigureTopicRequest
  14. ConfigureTopicResponse
  15. DeleteTopicRequest
  16. DeleteTopicResponse
  17. */
  18. package queue_pb
  19. import proto "github.com/golang/protobuf/proto"
  20. import fmt "fmt"
  21. import math "math"
  22. import (
  23. context "golang.org/x/net/context"
  24. grpc "google.golang.org/grpc"
  25. )
  26. // Reference imports to suppress errors if they are not otherwise used.
  27. var _ = proto.Marshal
  28. var _ = fmt.Errorf
  29. var _ = math.Inf
  30. // This is a compile-time assertion to ensure that this generated file
  31. // is compatible with the proto package it is being compiled against.
  32. // A compilation error at this line likely means your copy of the
  33. // proto package needs to be updated.
  34. const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package
  35. type WriteMessageRequest struct {
  36. Topic string `protobuf:"bytes,1,opt,name=topic" json:"topic,omitempty"`
  37. EventNs int64 `protobuf:"varint,2,opt,name=event_ns,json=eventNs" json:"event_ns,omitempty"`
  38. Data []byte `protobuf:"bytes,3,opt,name=data,proto3" json:"data,omitempty"`
  39. }
  40. func (m *WriteMessageRequest) Reset() { *m = WriteMessageRequest{} }
  41. func (m *WriteMessageRequest) String() string { return proto.CompactTextString(m) }
  42. func (*WriteMessageRequest) ProtoMessage() {}
  43. func (*WriteMessageRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }
  44. func (m *WriteMessageRequest) GetTopic() string {
  45. if m != nil {
  46. return m.Topic
  47. }
  48. return ""
  49. }
  50. func (m *WriteMessageRequest) GetEventNs() int64 {
  51. if m != nil {
  52. return m.EventNs
  53. }
  54. return 0
  55. }
  56. func (m *WriteMessageRequest) GetData() []byte {
  57. if m != nil {
  58. return m.Data
  59. }
  60. return nil
  61. }
  62. type WriteMessageResponse struct {
  63. Error string `protobuf:"bytes,1,opt,name=error" json:"error,omitempty"`
  64. AckNs int64 `protobuf:"varint,2,opt,name=ack_ns,json=ackNs" json:"ack_ns,omitempty"`
  65. }
  66. func (m *WriteMessageResponse) Reset() { *m = WriteMessageResponse{} }
  67. func (m *WriteMessageResponse) String() string { return proto.CompactTextString(m) }
  68. func (*WriteMessageResponse) ProtoMessage() {}
  69. func (*WriteMessageResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{1} }
  70. func (m *WriteMessageResponse) GetError() string {
  71. if m != nil {
  72. return m.Error
  73. }
  74. return ""
  75. }
  76. func (m *WriteMessageResponse) GetAckNs() int64 {
  77. if m != nil {
  78. return m.AckNs
  79. }
  80. return 0
  81. }
  82. type ReadMessageRequest struct {
  83. Topic string `protobuf:"bytes,1,opt,name=topic" json:"topic,omitempty"`
  84. StartNs int64 `protobuf:"varint,2,opt,name=start_ns,json=startNs" json:"start_ns,omitempty"`
  85. }
  86. func (m *ReadMessageRequest) Reset() { *m = ReadMessageRequest{} }
  87. func (m *ReadMessageRequest) String() string { return proto.CompactTextString(m) }
  88. func (*ReadMessageRequest) ProtoMessage() {}
  89. func (*ReadMessageRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{2} }
  90. func (m *ReadMessageRequest) GetTopic() string {
  91. if m != nil {
  92. return m.Topic
  93. }
  94. return ""
  95. }
  96. func (m *ReadMessageRequest) GetStartNs() int64 {
  97. if m != nil {
  98. return m.StartNs
  99. }
  100. return 0
  101. }
  102. type ReadMessageResponse struct {
  103. Error string `protobuf:"bytes,1,opt,name=error" json:"error,omitempty"`
  104. EventNs int64 `protobuf:"varint,2,opt,name=event_ns,json=eventNs" json:"event_ns,omitempty"`
  105. Data []byte `protobuf:"bytes,3,opt,name=data,proto3" json:"data,omitempty"`
  106. }
  107. func (m *ReadMessageResponse) Reset() { *m = ReadMessageResponse{} }
  108. func (m *ReadMessageResponse) String() string { return proto.CompactTextString(m) }
  109. func (*ReadMessageResponse) ProtoMessage() {}
  110. func (*ReadMessageResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{3} }
  111. func (m *ReadMessageResponse) GetError() string {
  112. if m != nil {
  113. return m.Error
  114. }
  115. return ""
  116. }
  117. func (m *ReadMessageResponse) GetEventNs() int64 {
  118. if m != nil {
  119. return m.EventNs
  120. }
  121. return 0
  122. }
  123. func (m *ReadMessageResponse) GetData() []byte {
  124. if m != nil {
  125. return m.Data
  126. }
  127. return nil
  128. }
  129. type ConfigureTopicRequest struct {
  130. Topic string `protobuf:"bytes,1,opt,name=topic" json:"topic,omitempty"`
  131. TtlSeconds int64 `protobuf:"varint,2,opt,name=ttl_seconds,json=ttlSeconds" json:"ttl_seconds,omitempty"`
  132. }
  133. func (m *ConfigureTopicRequest) Reset() { *m = ConfigureTopicRequest{} }
  134. func (m *ConfigureTopicRequest) String() string { return proto.CompactTextString(m) }
  135. func (*ConfigureTopicRequest) ProtoMessage() {}
  136. func (*ConfigureTopicRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{4} }
  137. func (m *ConfigureTopicRequest) GetTopic() string {
  138. if m != nil {
  139. return m.Topic
  140. }
  141. return ""
  142. }
  143. func (m *ConfigureTopicRequest) GetTtlSeconds() int64 {
  144. if m != nil {
  145. return m.TtlSeconds
  146. }
  147. return 0
  148. }
  149. type ConfigureTopicResponse struct {
  150. Error string `protobuf:"bytes,1,opt,name=error" json:"error,omitempty"`
  151. }
  152. func (m *ConfigureTopicResponse) Reset() { *m = ConfigureTopicResponse{} }
  153. func (m *ConfigureTopicResponse) String() string { return proto.CompactTextString(m) }
  154. func (*ConfigureTopicResponse) ProtoMessage() {}
  155. func (*ConfigureTopicResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{5} }
  156. func (m *ConfigureTopicResponse) GetError() string {
  157. if m != nil {
  158. return m.Error
  159. }
  160. return ""
  161. }
  162. type DeleteTopicRequest struct {
  163. Topic string `protobuf:"bytes,1,opt,name=topic" json:"topic,omitempty"`
  164. }
  165. func (m *DeleteTopicRequest) Reset() { *m = DeleteTopicRequest{} }
  166. func (m *DeleteTopicRequest) String() string { return proto.CompactTextString(m) }
  167. func (*DeleteTopicRequest) ProtoMessage() {}
  168. func (*DeleteTopicRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{6} }
  169. func (m *DeleteTopicRequest) GetTopic() string {
  170. if m != nil {
  171. return m.Topic
  172. }
  173. return ""
  174. }
  175. type DeleteTopicResponse struct {
  176. Error string `protobuf:"bytes,1,opt,name=error" json:"error,omitempty"`
  177. }
  178. func (m *DeleteTopicResponse) Reset() { *m = DeleteTopicResponse{} }
  179. func (m *DeleteTopicResponse) String() string { return proto.CompactTextString(m) }
  180. func (*DeleteTopicResponse) ProtoMessage() {}
  181. func (*DeleteTopicResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{7} }
  182. func (m *DeleteTopicResponse) GetError() string {
  183. if m != nil {
  184. return m.Error
  185. }
  186. return ""
  187. }
  188. func init() {
  189. proto.RegisterType((*WriteMessageRequest)(nil), "queue_pb.WriteMessageRequest")
  190. proto.RegisterType((*WriteMessageResponse)(nil), "queue_pb.WriteMessageResponse")
  191. proto.RegisterType((*ReadMessageRequest)(nil), "queue_pb.ReadMessageRequest")
  192. proto.RegisterType((*ReadMessageResponse)(nil), "queue_pb.ReadMessageResponse")
  193. proto.RegisterType((*ConfigureTopicRequest)(nil), "queue_pb.ConfigureTopicRequest")
  194. proto.RegisterType((*ConfigureTopicResponse)(nil), "queue_pb.ConfigureTopicResponse")
  195. proto.RegisterType((*DeleteTopicRequest)(nil), "queue_pb.DeleteTopicRequest")
  196. proto.RegisterType((*DeleteTopicResponse)(nil), "queue_pb.DeleteTopicResponse")
  197. }
  198. // Reference imports to suppress errors if they are not otherwise used.
  199. var _ context.Context
  200. var _ grpc.ClientConn
  201. // This is a compile-time assertion to ensure that this generated file
  202. // is compatible with the grpc package it is being compiled against.
  203. const _ = grpc.SupportPackageIsVersion4
  204. // Client API for SeaweedQueue service
  205. type SeaweedQueueClient interface {
  206. StreamWrite(ctx context.Context, opts ...grpc.CallOption) (SeaweedQueue_StreamWriteClient, error)
  207. StreamRead(ctx context.Context, in *ReadMessageRequest, opts ...grpc.CallOption) (SeaweedQueue_StreamReadClient, error)
  208. ConfigureTopic(ctx context.Context, in *ConfigureTopicRequest, opts ...grpc.CallOption) (*ConfigureTopicResponse, error)
  209. DeleteTopic(ctx context.Context, in *DeleteTopicRequest, opts ...grpc.CallOption) (*DeleteTopicResponse, error)
  210. }
  211. type seaweedQueueClient struct {
  212. cc *grpc.ClientConn
  213. }
  214. func NewSeaweedQueueClient(cc *grpc.ClientConn) SeaweedQueueClient {
  215. return &seaweedQueueClient{cc}
  216. }
  217. func (c *seaweedQueueClient) StreamWrite(ctx context.Context, opts ...grpc.CallOption) (SeaweedQueue_StreamWriteClient, error) {
  218. stream, err := grpc.NewClientStream(ctx, &_SeaweedQueue_serviceDesc.Streams[0], c.cc, "/queue_pb.SeaweedQueue/StreamWrite", opts...)
  219. if err != nil {
  220. return nil, err
  221. }
  222. x := &seaweedQueueStreamWriteClient{stream}
  223. return x, nil
  224. }
  225. type SeaweedQueue_StreamWriteClient interface {
  226. Send(*WriteMessageRequest) error
  227. Recv() (*WriteMessageResponse, error)
  228. grpc.ClientStream
  229. }
  230. type seaweedQueueStreamWriteClient struct {
  231. grpc.ClientStream
  232. }
  233. func (x *seaweedQueueStreamWriteClient) Send(m *WriteMessageRequest) error {
  234. return x.ClientStream.SendMsg(m)
  235. }
  236. func (x *seaweedQueueStreamWriteClient) Recv() (*WriteMessageResponse, error) {
  237. m := new(WriteMessageResponse)
  238. if err := x.ClientStream.RecvMsg(m); err != nil {
  239. return nil, err
  240. }
  241. return m, nil
  242. }
  243. func (c *seaweedQueueClient) StreamRead(ctx context.Context, in *ReadMessageRequest, opts ...grpc.CallOption) (SeaweedQueue_StreamReadClient, error) {
  244. stream, err := grpc.NewClientStream(ctx, &_SeaweedQueue_serviceDesc.Streams[1], c.cc, "/queue_pb.SeaweedQueue/StreamRead", opts...)
  245. if err != nil {
  246. return nil, err
  247. }
  248. x := &seaweedQueueStreamReadClient{stream}
  249. if err := x.ClientStream.SendMsg(in); err != nil {
  250. return nil, err
  251. }
  252. if err := x.ClientStream.CloseSend(); err != nil {
  253. return nil, err
  254. }
  255. return x, nil
  256. }
  257. type SeaweedQueue_StreamReadClient interface {
  258. Recv() (*ReadMessageResponse, error)
  259. grpc.ClientStream
  260. }
  261. type seaweedQueueStreamReadClient struct {
  262. grpc.ClientStream
  263. }
  264. func (x *seaweedQueueStreamReadClient) Recv() (*ReadMessageResponse, error) {
  265. m := new(ReadMessageResponse)
  266. if err := x.ClientStream.RecvMsg(m); err != nil {
  267. return nil, err
  268. }
  269. return m, nil
  270. }
  271. func (c *seaweedQueueClient) ConfigureTopic(ctx context.Context, in *ConfigureTopicRequest, opts ...grpc.CallOption) (*ConfigureTopicResponse, error) {
  272. out := new(ConfigureTopicResponse)
  273. err := grpc.Invoke(ctx, "/queue_pb.SeaweedQueue/ConfigureTopic", in, out, c.cc, opts...)
  274. if err != nil {
  275. return nil, err
  276. }
  277. return out, nil
  278. }
  279. func (c *seaweedQueueClient) DeleteTopic(ctx context.Context, in *DeleteTopicRequest, opts ...grpc.CallOption) (*DeleteTopicResponse, error) {
  280. out := new(DeleteTopicResponse)
  281. err := grpc.Invoke(ctx, "/queue_pb.SeaweedQueue/DeleteTopic", in, out, c.cc, opts...)
  282. if err != nil {
  283. return nil, err
  284. }
  285. return out, nil
  286. }
  287. // Server API for SeaweedQueue service
  288. type SeaweedQueueServer interface {
  289. StreamWrite(SeaweedQueue_StreamWriteServer) error
  290. StreamRead(*ReadMessageRequest, SeaweedQueue_StreamReadServer) error
  291. ConfigureTopic(context.Context, *ConfigureTopicRequest) (*ConfigureTopicResponse, error)
  292. DeleteTopic(context.Context, *DeleteTopicRequest) (*DeleteTopicResponse, error)
  293. }
  294. func RegisterSeaweedQueueServer(s *grpc.Server, srv SeaweedQueueServer) {
  295. s.RegisterService(&_SeaweedQueue_serviceDesc, srv)
  296. }
  297. func _SeaweedQueue_StreamWrite_Handler(srv interface{}, stream grpc.ServerStream) error {
  298. return srv.(SeaweedQueueServer).StreamWrite(&seaweedQueueStreamWriteServer{stream})
  299. }
  300. type SeaweedQueue_StreamWriteServer interface {
  301. Send(*WriteMessageResponse) error
  302. Recv() (*WriteMessageRequest, error)
  303. grpc.ServerStream
  304. }
  305. type seaweedQueueStreamWriteServer struct {
  306. grpc.ServerStream
  307. }
  308. func (x *seaweedQueueStreamWriteServer) Send(m *WriteMessageResponse) error {
  309. return x.ServerStream.SendMsg(m)
  310. }
  311. func (x *seaweedQueueStreamWriteServer) Recv() (*WriteMessageRequest, error) {
  312. m := new(WriteMessageRequest)
  313. if err := x.ServerStream.RecvMsg(m); err != nil {
  314. return nil, err
  315. }
  316. return m, nil
  317. }
  318. func _SeaweedQueue_StreamRead_Handler(srv interface{}, stream grpc.ServerStream) error {
  319. m := new(ReadMessageRequest)
  320. if err := stream.RecvMsg(m); err != nil {
  321. return err
  322. }
  323. return srv.(SeaweedQueueServer).StreamRead(m, &seaweedQueueStreamReadServer{stream})
  324. }
  325. type SeaweedQueue_StreamReadServer interface {
  326. Send(*ReadMessageResponse) error
  327. grpc.ServerStream
  328. }
  329. type seaweedQueueStreamReadServer struct {
  330. grpc.ServerStream
  331. }
  332. func (x *seaweedQueueStreamReadServer) Send(m *ReadMessageResponse) error {
  333. return x.ServerStream.SendMsg(m)
  334. }
  335. func _SeaweedQueue_ConfigureTopic_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  336. in := new(ConfigureTopicRequest)
  337. if err := dec(in); err != nil {
  338. return nil, err
  339. }
  340. if interceptor == nil {
  341. return srv.(SeaweedQueueServer).ConfigureTopic(ctx, in)
  342. }
  343. info := &grpc.UnaryServerInfo{
  344. Server: srv,
  345. FullMethod: "/queue_pb.SeaweedQueue/ConfigureTopic",
  346. }
  347. handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  348. return srv.(SeaweedQueueServer).ConfigureTopic(ctx, req.(*ConfigureTopicRequest))
  349. }
  350. return interceptor(ctx, in, info, handler)
  351. }
  352. func _SeaweedQueue_DeleteTopic_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  353. in := new(DeleteTopicRequest)
  354. if err := dec(in); err != nil {
  355. return nil, err
  356. }
  357. if interceptor == nil {
  358. return srv.(SeaweedQueueServer).DeleteTopic(ctx, in)
  359. }
  360. info := &grpc.UnaryServerInfo{
  361. Server: srv,
  362. FullMethod: "/queue_pb.SeaweedQueue/DeleteTopic",
  363. }
  364. handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  365. return srv.(SeaweedQueueServer).DeleteTopic(ctx, req.(*DeleteTopicRequest))
  366. }
  367. return interceptor(ctx, in, info, handler)
  368. }
  369. var _SeaweedQueue_serviceDesc = grpc.ServiceDesc{
  370. ServiceName: "queue_pb.SeaweedQueue",
  371. HandlerType: (*SeaweedQueueServer)(nil),
  372. Methods: []grpc.MethodDesc{
  373. {
  374. MethodName: "ConfigureTopic",
  375. Handler: _SeaweedQueue_ConfigureTopic_Handler,
  376. },
  377. {
  378. MethodName: "DeleteTopic",
  379. Handler: _SeaweedQueue_DeleteTopic_Handler,
  380. },
  381. },
  382. Streams: []grpc.StreamDesc{
  383. {
  384. StreamName: "StreamWrite",
  385. Handler: _SeaweedQueue_StreamWrite_Handler,
  386. ServerStreams: true,
  387. ClientStreams: true,
  388. },
  389. {
  390. StreamName: "StreamRead",
  391. Handler: _SeaweedQueue_StreamRead_Handler,
  392. ServerStreams: true,
  393. },
  394. },
  395. Metadata: "queue.proto",
  396. }
  397. func init() { proto.RegisterFile("queue.proto", fileDescriptor0) }
  398. var fileDescriptor0 = []byte{
  399. // 380 bytes of a gzipped FileDescriptorProto
  400. 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x94, 0x93, 0xd1, 0x6e, 0xda, 0x30,
  401. 0x14, 0x86, 0x09, 0x0c, 0xc6, 0x4e, 0xd0, 0x34, 0x19, 0x98, 0x18, 0x1a, 0x10, 0xf9, 0x2a, 0xda,
  402. 0xa4, 0x08, 0x6d, 0x6f, 0x00, 0xed, 0x5d, 0x89, 0xda, 0xd0, 0xaa, 0x52, 0x6f, 0x90, 0x49, 0x0e,
  403. 0x28, 0x22, 0x4d, 0x82, 0xed, 0xb4, 0x6f, 0xda, 0xe7, 0xa9, 0xe2, 0x28, 0x22, 0x29, 0x10, 0xd1,
  404. 0xbb, 0xfc, 0xb1, 0xfd, 0x9d, 0xdf, 0xff, 0x39, 0x06, 0x7d, 0x9f, 0x60, 0x82, 0x56, 0xcc, 0x23,
  405. 0x19, 0x91, 0xb6, 0x12, 0xab, 0x78, 0x4d, 0x9f, 0xa0, 0xfb, 0xc8, 0x7d, 0x89, 0x0b, 0x14, 0x82,
  406. 0x6d, 0xd1, 0xc1, 0x7d, 0x82, 0x42, 0x92, 0x1e, 0x34, 0x65, 0x14, 0xfb, 0xee, 0x40, 0x33, 0x34,
  407. 0xf3, 0x9b, 0x93, 0x09, 0xf2, 0x0b, 0xda, 0xf8, 0x82, 0xa1, 0x5c, 0x85, 0x62, 0x50, 0x37, 0x34,
  408. 0xb3, 0xe1, 0x7c, 0x55, 0xda, 0x16, 0x84, 0xc0, 0x17, 0x8f, 0x49, 0x36, 0x68, 0x18, 0x9a, 0xd9,
  409. 0x71, 0xd4, 0x37, 0x9d, 0x43, 0xaf, 0xcc, 0x16, 0x71, 0x14, 0x0a, 0x4c, 0xe1, 0xc8, 0x79, 0xc4,
  410. 0x73, 0xb8, 0x12, 0xa4, 0x0f, 0x2d, 0xe6, 0xee, 0x0e, 0xe8, 0x26, 0x73, 0x77, 0xb6, 0xa0, 0xd7,
  411. 0x40, 0x1c, 0x64, 0xde, 0xa5, 0xfe, 0x84, 0x64, 0xbc, 0xe8, 0x4f, 0x69, 0x5b, 0xa4, 0xf7, 0x2c,
  412. 0x61, 0x2a, 0xad, 0x7c, 0xf2, 0x9e, 0x36, 0xf4, 0xe7, 0x51, 0xb8, 0xf1, 0xb7, 0x09, 0xc7, 0xfb,
  413. 0xd4, 0x48, 0xb5, 0xcb, 0x09, 0xe8, 0x52, 0x06, 0x2b, 0x81, 0x6e, 0x14, 0x7a, 0x79, 0x01, 0x90,
  414. 0x32, 0x58, 0x66, 0x7f, 0xa8, 0x05, 0x3f, 0x3f, 0xf2, 0xaa, 0xec, 0xd2, 0x3f, 0x40, 0xae, 0x30,
  415. 0x40, 0x79, 0x41, 0x71, 0xfa, 0x17, 0xba, 0xa5, 0xbd, 0x55, 0xe0, 0x7f, 0x6f, 0x75, 0xe8, 0x2c,
  416. 0x91, 0xbd, 0x22, 0x7a, 0x77, 0xe9, 0xc0, 0x10, 0x07, 0xf4, 0xa5, 0xe4, 0xc8, 0x9e, 0x55, 0x5f,
  417. 0xc9, 0xc8, 0xca, 0xe7, 0xc8, 0x3a, 0x31, 0x44, 0xc3, 0xf1, 0xb9, 0xe5, 0xac, 0x28, 0xad, 0x99,
  418. 0xda, 0x54, 0x23, 0x0b, 0x80, 0x8c, 0x99, 0xf6, 0x87, 0xfc, 0x3e, 0x9c, 0x39, 0x6e, 0xfb, 0x70,
  419. 0x74, 0x66, 0x35, 0x07, 0x4e, 0x35, 0xf2, 0x00, 0xdf, 0xcb, 0xe1, 0x91, 0xc9, 0xe1, 0xd0, 0xc9,
  420. 0x36, 0x0d, 0x8d, 0xf3, 0x1b, 0x72, 0x30, 0xb9, 0x01, 0xbd, 0x90, 0x5b, 0xd1, 0xe6, 0x71, 0xf4,
  421. 0x45, 0x9b, 0x27, 0xc2, 0xa6, 0xb5, 0xd9, 0x18, 0x7e, 0x88, 0x2c, 0xd7, 0x8d, 0xb0, 0xdc, 0xc0,
  422. 0xc7, 0x50, 0xce, 0x40, 0x45, 0x7c, 0x9b, 0xbe, 0xcf, 0x75, 0x4b, 0x3d, 0xd3, 0xff, 0xef, 0x01,
  423. 0x00, 0x00, 0xff, 0xff, 0x34, 0x84, 0x96, 0x74, 0xb5, 0x03, 0x00, 0x00,
  424. }