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.

493 lines
20 KiB

  1. // Code generated by protoc-gen-go.
  2. // source: volume_server.proto
  3. // DO NOT EDIT!
  4. /*
  5. Package volume_server_pb is a generated protocol buffer package.
  6. It is generated from these files:
  7. volume_server.proto
  8. It has these top-level messages:
  9. BatchDeleteRequest
  10. BatchDeleteResponse
  11. DeleteResult
  12. Empty
  13. VacuumVolumeCheckRequest
  14. VacuumVolumeCheckResponse
  15. VacuumVolumeCompactRequest
  16. VacuumVolumeCompactResponse
  17. VacuumVolumeCommitRequest
  18. VacuumVolumeCommitResponse
  19. VacuumVolumeCleanupRequest
  20. VacuumVolumeCleanupResponse
  21. */
  22. package volume_server_pb
  23. import proto "github.com/golang/protobuf/proto"
  24. import fmt "fmt"
  25. import math "math"
  26. import (
  27. context "golang.org/x/net/context"
  28. grpc "google.golang.org/grpc"
  29. )
  30. // Reference imports to suppress errors if they are not otherwise used.
  31. var _ = proto.Marshal
  32. var _ = fmt.Errorf
  33. var _ = math.Inf
  34. // This is a compile-time assertion to ensure that this generated file
  35. // is compatible with the proto package it is being compiled against.
  36. // A compilation error at this line likely means your copy of the
  37. // proto package needs to be updated.
  38. const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package
  39. type BatchDeleteRequest struct {
  40. FileIds []string `protobuf:"bytes,1,rep,name=file_ids,json=fileIds" json:"file_ids,omitempty"`
  41. }
  42. func (m *BatchDeleteRequest) Reset() { *m = BatchDeleteRequest{} }
  43. func (m *BatchDeleteRequest) String() string { return proto.CompactTextString(m) }
  44. func (*BatchDeleteRequest) ProtoMessage() {}
  45. func (*BatchDeleteRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }
  46. func (m *BatchDeleteRequest) GetFileIds() []string {
  47. if m != nil {
  48. return m.FileIds
  49. }
  50. return nil
  51. }
  52. type BatchDeleteResponse struct {
  53. Results []*DeleteResult `protobuf:"bytes,1,rep,name=results" json:"results,omitempty"`
  54. }
  55. func (m *BatchDeleteResponse) Reset() { *m = BatchDeleteResponse{} }
  56. func (m *BatchDeleteResponse) String() string { return proto.CompactTextString(m) }
  57. func (*BatchDeleteResponse) ProtoMessage() {}
  58. func (*BatchDeleteResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{1} }
  59. func (m *BatchDeleteResponse) GetResults() []*DeleteResult {
  60. if m != nil {
  61. return m.Results
  62. }
  63. return nil
  64. }
  65. type DeleteResult struct {
  66. FileId string `protobuf:"bytes,1,opt,name=file_id,json=fileId" json:"file_id,omitempty"`
  67. Status int32 `protobuf:"varint,2,opt,name=status" json:"status,omitempty"`
  68. Error string `protobuf:"bytes,3,opt,name=error" json:"error,omitempty"`
  69. Size uint32 `protobuf:"varint,4,opt,name=size" json:"size,omitempty"`
  70. }
  71. func (m *DeleteResult) Reset() { *m = DeleteResult{} }
  72. func (m *DeleteResult) String() string { return proto.CompactTextString(m) }
  73. func (*DeleteResult) ProtoMessage() {}
  74. func (*DeleteResult) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{2} }
  75. func (m *DeleteResult) GetFileId() string {
  76. if m != nil {
  77. return m.FileId
  78. }
  79. return ""
  80. }
  81. func (m *DeleteResult) GetStatus() int32 {
  82. if m != nil {
  83. return m.Status
  84. }
  85. return 0
  86. }
  87. func (m *DeleteResult) GetError() string {
  88. if m != nil {
  89. return m.Error
  90. }
  91. return ""
  92. }
  93. func (m *DeleteResult) GetSize() uint32 {
  94. if m != nil {
  95. return m.Size
  96. }
  97. return 0
  98. }
  99. type Empty struct {
  100. }
  101. func (m *Empty) Reset() { *m = Empty{} }
  102. func (m *Empty) String() string { return proto.CompactTextString(m) }
  103. func (*Empty) ProtoMessage() {}
  104. func (*Empty) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{3} }
  105. type VacuumVolumeCheckRequest struct {
  106. VolumdId uint32 `protobuf:"varint,1,opt,name=volumd_id,json=volumdId" json:"volumd_id,omitempty"`
  107. }
  108. func (m *VacuumVolumeCheckRequest) Reset() { *m = VacuumVolumeCheckRequest{} }
  109. func (m *VacuumVolumeCheckRequest) String() string { return proto.CompactTextString(m) }
  110. func (*VacuumVolumeCheckRequest) ProtoMessage() {}
  111. func (*VacuumVolumeCheckRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{4} }
  112. func (m *VacuumVolumeCheckRequest) GetVolumdId() uint32 {
  113. if m != nil {
  114. return m.VolumdId
  115. }
  116. return 0
  117. }
  118. type VacuumVolumeCheckResponse struct {
  119. GarbageRatio float64 `protobuf:"fixed64,1,opt,name=garbage_ratio,json=garbageRatio" json:"garbage_ratio,omitempty"`
  120. }
  121. func (m *VacuumVolumeCheckResponse) Reset() { *m = VacuumVolumeCheckResponse{} }
  122. func (m *VacuumVolumeCheckResponse) String() string { return proto.CompactTextString(m) }
  123. func (*VacuumVolumeCheckResponse) ProtoMessage() {}
  124. func (*VacuumVolumeCheckResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{5} }
  125. func (m *VacuumVolumeCheckResponse) GetGarbageRatio() float64 {
  126. if m != nil {
  127. return m.GarbageRatio
  128. }
  129. return 0
  130. }
  131. type VacuumVolumeCompactRequest struct {
  132. VolumdId uint32 `protobuf:"varint,1,opt,name=volumd_id,json=volumdId" json:"volumd_id,omitempty"`
  133. Preallocate int64 `protobuf:"varint,2,opt,name=preallocate" json:"preallocate,omitempty"`
  134. }
  135. func (m *VacuumVolumeCompactRequest) Reset() { *m = VacuumVolumeCompactRequest{} }
  136. func (m *VacuumVolumeCompactRequest) String() string { return proto.CompactTextString(m) }
  137. func (*VacuumVolumeCompactRequest) ProtoMessage() {}
  138. func (*VacuumVolumeCompactRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{6} }
  139. func (m *VacuumVolumeCompactRequest) GetVolumdId() uint32 {
  140. if m != nil {
  141. return m.VolumdId
  142. }
  143. return 0
  144. }
  145. func (m *VacuumVolumeCompactRequest) GetPreallocate() int64 {
  146. if m != nil {
  147. return m.Preallocate
  148. }
  149. return 0
  150. }
  151. type VacuumVolumeCompactResponse struct {
  152. }
  153. func (m *VacuumVolumeCompactResponse) Reset() { *m = VacuumVolumeCompactResponse{} }
  154. func (m *VacuumVolumeCompactResponse) String() string { return proto.CompactTextString(m) }
  155. func (*VacuumVolumeCompactResponse) ProtoMessage() {}
  156. func (*VacuumVolumeCompactResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{7} }
  157. type VacuumVolumeCommitRequest struct {
  158. VolumdId uint32 `protobuf:"varint,1,opt,name=volumd_id,json=volumdId" json:"volumd_id,omitempty"`
  159. }
  160. func (m *VacuumVolumeCommitRequest) Reset() { *m = VacuumVolumeCommitRequest{} }
  161. func (m *VacuumVolumeCommitRequest) String() string { return proto.CompactTextString(m) }
  162. func (*VacuumVolumeCommitRequest) ProtoMessage() {}
  163. func (*VacuumVolumeCommitRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{8} }
  164. func (m *VacuumVolumeCommitRequest) GetVolumdId() uint32 {
  165. if m != nil {
  166. return m.VolumdId
  167. }
  168. return 0
  169. }
  170. type VacuumVolumeCommitResponse struct {
  171. }
  172. func (m *VacuumVolumeCommitResponse) Reset() { *m = VacuumVolumeCommitResponse{} }
  173. func (m *VacuumVolumeCommitResponse) String() string { return proto.CompactTextString(m) }
  174. func (*VacuumVolumeCommitResponse) ProtoMessage() {}
  175. func (*VacuumVolumeCommitResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{9} }
  176. type VacuumVolumeCleanupRequest struct {
  177. VolumdId uint32 `protobuf:"varint,1,opt,name=volumd_id,json=volumdId" json:"volumd_id,omitempty"`
  178. }
  179. func (m *VacuumVolumeCleanupRequest) Reset() { *m = VacuumVolumeCleanupRequest{} }
  180. func (m *VacuumVolumeCleanupRequest) String() string { return proto.CompactTextString(m) }
  181. func (*VacuumVolumeCleanupRequest) ProtoMessage() {}
  182. func (*VacuumVolumeCleanupRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{10} }
  183. func (m *VacuumVolumeCleanupRequest) GetVolumdId() uint32 {
  184. if m != nil {
  185. return m.VolumdId
  186. }
  187. return 0
  188. }
  189. type VacuumVolumeCleanupResponse struct {
  190. }
  191. func (m *VacuumVolumeCleanupResponse) Reset() { *m = VacuumVolumeCleanupResponse{} }
  192. func (m *VacuumVolumeCleanupResponse) String() string { return proto.CompactTextString(m) }
  193. func (*VacuumVolumeCleanupResponse) ProtoMessage() {}
  194. func (*VacuumVolumeCleanupResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{11} }
  195. func init() {
  196. proto.RegisterType((*BatchDeleteRequest)(nil), "volume_server_pb.BatchDeleteRequest")
  197. proto.RegisterType((*BatchDeleteResponse)(nil), "volume_server_pb.BatchDeleteResponse")
  198. proto.RegisterType((*DeleteResult)(nil), "volume_server_pb.DeleteResult")
  199. proto.RegisterType((*Empty)(nil), "volume_server_pb.Empty")
  200. proto.RegisterType((*VacuumVolumeCheckRequest)(nil), "volume_server_pb.VacuumVolumeCheckRequest")
  201. proto.RegisterType((*VacuumVolumeCheckResponse)(nil), "volume_server_pb.VacuumVolumeCheckResponse")
  202. proto.RegisterType((*VacuumVolumeCompactRequest)(nil), "volume_server_pb.VacuumVolumeCompactRequest")
  203. proto.RegisterType((*VacuumVolumeCompactResponse)(nil), "volume_server_pb.VacuumVolumeCompactResponse")
  204. proto.RegisterType((*VacuumVolumeCommitRequest)(nil), "volume_server_pb.VacuumVolumeCommitRequest")
  205. proto.RegisterType((*VacuumVolumeCommitResponse)(nil), "volume_server_pb.VacuumVolumeCommitResponse")
  206. proto.RegisterType((*VacuumVolumeCleanupRequest)(nil), "volume_server_pb.VacuumVolumeCleanupRequest")
  207. proto.RegisterType((*VacuumVolumeCleanupResponse)(nil), "volume_server_pb.VacuumVolumeCleanupResponse")
  208. }
  209. // Reference imports to suppress errors if they are not otherwise used.
  210. var _ context.Context
  211. var _ grpc.ClientConn
  212. // This is a compile-time assertion to ensure that this generated file
  213. // is compatible with the grpc package it is being compiled against.
  214. const _ = grpc.SupportPackageIsVersion4
  215. // Client API for VolumeServer service
  216. type VolumeServerClient interface {
  217. // Experts only: takes multiple fid parameters. This function does not propagate deletes to replicas.
  218. BatchDelete(ctx context.Context, in *BatchDeleteRequest, opts ...grpc.CallOption) (*BatchDeleteResponse, error)
  219. VacuumVolumeCheck(ctx context.Context, in *VacuumVolumeCheckRequest, opts ...grpc.CallOption) (*VacuumVolumeCheckResponse, error)
  220. VacuumVolumeCompact(ctx context.Context, in *VacuumVolumeCompactRequest, opts ...grpc.CallOption) (*VacuumVolumeCompactResponse, error)
  221. VacuumVolumeCommit(ctx context.Context, in *VacuumVolumeCommitRequest, opts ...grpc.CallOption) (*VacuumVolumeCommitResponse, error)
  222. VacuumVolumeCleanup(ctx context.Context, in *VacuumVolumeCleanupRequest, opts ...grpc.CallOption) (*VacuumVolumeCleanupResponse, error)
  223. }
  224. type volumeServerClient struct {
  225. cc *grpc.ClientConn
  226. }
  227. func NewVolumeServerClient(cc *grpc.ClientConn) VolumeServerClient {
  228. return &volumeServerClient{cc}
  229. }
  230. func (c *volumeServerClient) BatchDelete(ctx context.Context, in *BatchDeleteRequest, opts ...grpc.CallOption) (*BatchDeleteResponse, error) {
  231. out := new(BatchDeleteResponse)
  232. err := grpc.Invoke(ctx, "/volume_server_pb.VolumeServer/BatchDelete", in, out, c.cc, opts...)
  233. if err != nil {
  234. return nil, err
  235. }
  236. return out, nil
  237. }
  238. func (c *volumeServerClient) VacuumVolumeCheck(ctx context.Context, in *VacuumVolumeCheckRequest, opts ...grpc.CallOption) (*VacuumVolumeCheckResponse, error) {
  239. out := new(VacuumVolumeCheckResponse)
  240. err := grpc.Invoke(ctx, "/volume_server_pb.VolumeServer/VacuumVolumeCheck", in, out, c.cc, opts...)
  241. if err != nil {
  242. return nil, err
  243. }
  244. return out, nil
  245. }
  246. func (c *volumeServerClient) VacuumVolumeCompact(ctx context.Context, in *VacuumVolumeCompactRequest, opts ...grpc.CallOption) (*VacuumVolumeCompactResponse, error) {
  247. out := new(VacuumVolumeCompactResponse)
  248. err := grpc.Invoke(ctx, "/volume_server_pb.VolumeServer/VacuumVolumeCompact", in, out, c.cc, opts...)
  249. if err != nil {
  250. return nil, err
  251. }
  252. return out, nil
  253. }
  254. func (c *volumeServerClient) VacuumVolumeCommit(ctx context.Context, in *VacuumVolumeCommitRequest, opts ...grpc.CallOption) (*VacuumVolumeCommitResponse, error) {
  255. out := new(VacuumVolumeCommitResponse)
  256. err := grpc.Invoke(ctx, "/volume_server_pb.VolumeServer/VacuumVolumeCommit", in, out, c.cc, opts...)
  257. if err != nil {
  258. return nil, err
  259. }
  260. return out, nil
  261. }
  262. func (c *volumeServerClient) VacuumVolumeCleanup(ctx context.Context, in *VacuumVolumeCleanupRequest, opts ...grpc.CallOption) (*VacuumVolumeCleanupResponse, error) {
  263. out := new(VacuumVolumeCleanupResponse)
  264. err := grpc.Invoke(ctx, "/volume_server_pb.VolumeServer/VacuumVolumeCleanup", in, out, c.cc, opts...)
  265. if err != nil {
  266. return nil, err
  267. }
  268. return out, nil
  269. }
  270. // Server API for VolumeServer service
  271. type VolumeServerServer interface {
  272. // Experts only: takes multiple fid parameters. This function does not propagate deletes to replicas.
  273. BatchDelete(context.Context, *BatchDeleteRequest) (*BatchDeleteResponse, error)
  274. VacuumVolumeCheck(context.Context, *VacuumVolumeCheckRequest) (*VacuumVolumeCheckResponse, error)
  275. VacuumVolumeCompact(context.Context, *VacuumVolumeCompactRequest) (*VacuumVolumeCompactResponse, error)
  276. VacuumVolumeCommit(context.Context, *VacuumVolumeCommitRequest) (*VacuumVolumeCommitResponse, error)
  277. VacuumVolumeCleanup(context.Context, *VacuumVolumeCleanupRequest) (*VacuumVolumeCleanupResponse, error)
  278. }
  279. func RegisterVolumeServerServer(s *grpc.Server, srv VolumeServerServer) {
  280. s.RegisterService(&_VolumeServer_serviceDesc, srv)
  281. }
  282. func _VolumeServer_BatchDelete_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  283. in := new(BatchDeleteRequest)
  284. if err := dec(in); err != nil {
  285. return nil, err
  286. }
  287. if interceptor == nil {
  288. return srv.(VolumeServerServer).BatchDelete(ctx, in)
  289. }
  290. info := &grpc.UnaryServerInfo{
  291. Server: srv,
  292. FullMethod: "/volume_server_pb.VolumeServer/BatchDelete",
  293. }
  294. handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  295. return srv.(VolumeServerServer).BatchDelete(ctx, req.(*BatchDeleteRequest))
  296. }
  297. return interceptor(ctx, in, info, handler)
  298. }
  299. func _VolumeServer_VacuumVolumeCheck_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  300. in := new(VacuumVolumeCheckRequest)
  301. if err := dec(in); err != nil {
  302. return nil, err
  303. }
  304. if interceptor == nil {
  305. return srv.(VolumeServerServer).VacuumVolumeCheck(ctx, in)
  306. }
  307. info := &grpc.UnaryServerInfo{
  308. Server: srv,
  309. FullMethod: "/volume_server_pb.VolumeServer/VacuumVolumeCheck",
  310. }
  311. handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  312. return srv.(VolumeServerServer).VacuumVolumeCheck(ctx, req.(*VacuumVolumeCheckRequest))
  313. }
  314. return interceptor(ctx, in, info, handler)
  315. }
  316. func _VolumeServer_VacuumVolumeCompact_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  317. in := new(VacuumVolumeCompactRequest)
  318. if err := dec(in); err != nil {
  319. return nil, err
  320. }
  321. if interceptor == nil {
  322. return srv.(VolumeServerServer).VacuumVolumeCompact(ctx, in)
  323. }
  324. info := &grpc.UnaryServerInfo{
  325. Server: srv,
  326. FullMethod: "/volume_server_pb.VolumeServer/VacuumVolumeCompact",
  327. }
  328. handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  329. return srv.(VolumeServerServer).VacuumVolumeCompact(ctx, req.(*VacuumVolumeCompactRequest))
  330. }
  331. return interceptor(ctx, in, info, handler)
  332. }
  333. func _VolumeServer_VacuumVolumeCommit_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  334. in := new(VacuumVolumeCommitRequest)
  335. if err := dec(in); err != nil {
  336. return nil, err
  337. }
  338. if interceptor == nil {
  339. return srv.(VolumeServerServer).VacuumVolumeCommit(ctx, in)
  340. }
  341. info := &grpc.UnaryServerInfo{
  342. Server: srv,
  343. FullMethod: "/volume_server_pb.VolumeServer/VacuumVolumeCommit",
  344. }
  345. handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  346. return srv.(VolumeServerServer).VacuumVolumeCommit(ctx, req.(*VacuumVolumeCommitRequest))
  347. }
  348. return interceptor(ctx, in, info, handler)
  349. }
  350. func _VolumeServer_VacuumVolumeCleanup_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  351. in := new(VacuumVolumeCleanupRequest)
  352. if err := dec(in); err != nil {
  353. return nil, err
  354. }
  355. if interceptor == nil {
  356. return srv.(VolumeServerServer).VacuumVolumeCleanup(ctx, in)
  357. }
  358. info := &grpc.UnaryServerInfo{
  359. Server: srv,
  360. FullMethod: "/volume_server_pb.VolumeServer/VacuumVolumeCleanup",
  361. }
  362. handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  363. return srv.(VolumeServerServer).VacuumVolumeCleanup(ctx, req.(*VacuumVolumeCleanupRequest))
  364. }
  365. return interceptor(ctx, in, info, handler)
  366. }
  367. var _VolumeServer_serviceDesc = grpc.ServiceDesc{
  368. ServiceName: "volume_server_pb.VolumeServer",
  369. HandlerType: (*VolumeServerServer)(nil),
  370. Methods: []grpc.MethodDesc{
  371. {
  372. MethodName: "BatchDelete",
  373. Handler: _VolumeServer_BatchDelete_Handler,
  374. },
  375. {
  376. MethodName: "VacuumVolumeCheck",
  377. Handler: _VolumeServer_VacuumVolumeCheck_Handler,
  378. },
  379. {
  380. MethodName: "VacuumVolumeCompact",
  381. Handler: _VolumeServer_VacuumVolumeCompact_Handler,
  382. },
  383. {
  384. MethodName: "VacuumVolumeCommit",
  385. Handler: _VolumeServer_VacuumVolumeCommit_Handler,
  386. },
  387. {
  388. MethodName: "VacuumVolumeCleanup",
  389. Handler: _VolumeServer_VacuumVolumeCleanup_Handler,
  390. },
  391. },
  392. Streams: []grpc.StreamDesc{},
  393. Metadata: "volume_server.proto",
  394. }
  395. func init() { proto.RegisterFile("volume_server.proto", fileDescriptor0) }
  396. var fileDescriptor0 = []byte{
  397. // 454 bytes of a gzipped FileDescriptorProto
  398. 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x8c, 0x54, 0x4b, 0x6f, 0xd3, 0x40,
  399. 0x10, 0xae, 0xc9, 0xab, 0x99, 0x24, 0x12, 0x4c, 0x10, 0xb8, 0x2e, 0x20, 0x6b, 0x01, 0x29, 0xa2,
  400. 0x25, 0x48, 0xe5, 0x40, 0xb9, 0x21, 0x1e, 0x87, 0x9e, 0x90, 0x16, 0xa9, 0x17, 0x90, 0xa2, 0x8d,
  401. 0x33, 0xb4, 0x16, 0x76, 0xd6, 0xdd, 0x5d, 0x57, 0x82, 0xbf, 0xc6, 0x9f, 0x43, 0xdd, 0x75, 0x42,
  402. 0x1c, 0x27, 0xb2, 0x6f, 0xde, 0xd9, 0xf9, 0x1e, 0xb3, 0xf3, 0xc9, 0x30, 0xbe, 0x95, 0x49, 0x9e,
  403. 0xd2, 0x4c, 0x93, 0xba, 0x25, 0x35, 0xcd, 0x94, 0x34, 0x12, 0xef, 0x97, 0x8a, 0xb3, 0x6c, 0xce,
  404. 0xde, 0x00, 0x7e, 0x14, 0x26, 0xba, 0xfe, 0x4c, 0x09, 0x19, 0xe2, 0x74, 0x93, 0x93, 0x36, 0x78,
  405. 0x04, 0x87, 0x3f, 0xe3, 0x84, 0x66, 0xf1, 0x42, 0xfb, 0x5e, 0xd8, 0x9a, 0xf4, 0x79, 0xef, 0xee,
  406. 0x7c, 0xb1, 0xd0, 0xec, 0x2b, 0x8c, 0x4b, 0x00, 0x9d, 0xc9, 0xa5, 0x26, 0x3c, 0x87, 0x9e, 0x22,
  407. 0x9d, 0x27, 0xc6, 0x01, 0x06, 0x67, 0xcf, 0xa6, 0xdb, 0x5a, 0xd3, 0x35, 0x24, 0x4f, 0x0c, 0x5f,
  408. 0xb5, 0xb3, 0x18, 0x86, 0x9b, 0x17, 0xf8, 0x18, 0x7a, 0x85, 0xb6, 0xef, 0x85, 0xde, 0xa4, 0xcf,
  409. 0xbb, 0x4e, 0x1a, 0x1f, 0x41, 0x57, 0x1b, 0x61, 0x72, 0xed, 0xdf, 0x0b, 0xbd, 0x49, 0x87, 0x17,
  410. 0x27, 0x7c, 0x08, 0x1d, 0x52, 0x4a, 0x2a, 0xbf, 0x65, 0xdb, 0xdd, 0x01, 0x11, 0xda, 0x3a, 0xfe,
  411. 0x43, 0x7e, 0x3b, 0xf4, 0x26, 0x23, 0x6e, 0xbf, 0x59, 0x0f, 0x3a, 0x5f, 0xd2, 0xcc, 0xfc, 0x66,
  412. 0xef, 0xc0, 0xbf, 0x14, 0x51, 0x9e, 0xa7, 0x97, 0xd6, 0xe3, 0xa7, 0x6b, 0x8a, 0x7e, 0xad, 0x66,
  413. 0x3f, 0x86, 0xbe, 0x75, 0xbe, 0x58, 0x39, 0x18, 0xf1, 0x43, 0x57, 0xb8, 0x58, 0xb0, 0x0f, 0x70,
  414. 0xb4, 0x03, 0x58, 0xbc, 0xc1, 0x73, 0x18, 0x5d, 0x09, 0x35, 0x17, 0x57, 0x34, 0x53, 0xc2, 0xc4,
  415. 0xd2, 0xa2, 0x3d, 0x3e, 0x2c, 0x8a, 0xfc, 0xae, 0xc6, 0xbe, 0x43, 0x50, 0x62, 0x90, 0x69, 0x26,
  416. 0x22, 0xd3, 0x44, 0x1c, 0x43, 0x18, 0x64, 0x8a, 0x44, 0x92, 0xc8, 0x48, 0x18, 0xb2, 0xaf, 0xd0,
  417. 0xe2, 0x9b, 0x25, 0xf6, 0x14, 0x8e, 0x77, 0x92, 0x3b, 0x83, 0xec, 0x7c, 0xcb, 0xbd, 0x4c, 0xd3,
  418. 0xb8, 0x91, 0x34, 0x7b, 0x52, 0x71, 0x6d, 0x91, 0x05, 0xef, 0xfb, 0xad, 0xdb, 0x84, 0xc4, 0x32,
  419. 0xcf, 0x1a, 0x11, 0x6f, 0x3b, 0x5e, 0x41, 0x1d, 0xf3, 0xd9, 0xdf, 0x36, 0x0c, 0xdd, 0xcd, 0x37,
  420. 0x1b, 0x23, 0xfc, 0x01, 0x83, 0x8d, 0xf8, 0xe1, 0x8b, 0x6a, 0xca, 0xaa, 0x71, 0x0e, 0x5e, 0xd6,
  421. 0x74, 0x15, 0x63, 0x1c, 0xe0, 0x12, 0x1e, 0x54, 0xd6, 0x8b, 0xaf, 0xaa, 0xe8, 0x7d, 0xe1, 0x09,
  422. 0x4e, 0x1a, 0xf5, 0xae, 0xf5, 0x0c, 0x8c, 0x77, 0xec, 0x0b, 0x4f, 0x6b, 0x58, 0x4a, 0x99, 0x09,
  423. 0x5e, 0x37, 0xec, 0x5e, 0xab, 0xde, 0x00, 0x56, 0x97, 0x89, 0x27, 0xb5, 0x34, 0xff, 0xc3, 0x12,
  424. 0x9c, 0x36, 0x6b, 0xde, 0x3b, 0xa8, 0x5b, 0x73, 0xed, 0xa0, 0xa5, 0x20, 0xd5, 0x0e, 0x5a, 0xce,
  425. 0x0e, 0x3b, 0x98, 0x77, 0xed, 0x5f, 0xef, 0xed, 0xbf, 0x00, 0x00, 0x00, 0xff, 0xff, 0x13, 0x2b,
  426. 0x80, 0x54, 0x0c, 0x05, 0x00, 0x00,
  427. }