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.

1053 lines
38 KiB

  1. // Code generated by protoc-gen-go.
  2. // source: filer.proto
  3. // DO NOT EDIT!
  4. /*
  5. Package filer_pb is a generated protocol buffer package.
  6. It is generated from these files:
  7. filer.proto
  8. It has these top-level messages:
  9. LookupDirectoryEntryRequest
  10. LookupDirectoryEntryResponse
  11. ListEntriesRequest
  12. ListEntriesResponse
  13. Entry
  14. FileChunk
  15. FuseAttributes
  16. GetEntryAttributesRequest
  17. GetEntryAttributesResponse
  18. GetFileContentRequest
  19. GetFileContentResponse
  20. CreateEntryRequest
  21. CreateEntryResponse
  22. UpdateEntryRequest
  23. UpdateEntryResponse
  24. DeleteEntryRequest
  25. DeleteEntryResponse
  26. AssignVolumeRequest
  27. AssignVolumeResponse
  28. LookupVolumeRequest
  29. Locations
  30. Location
  31. LookupVolumeResponse
  32. */
  33. package filer_pb
  34. import proto "github.com/golang/protobuf/proto"
  35. import fmt "fmt"
  36. import math "math"
  37. import (
  38. context "golang.org/x/net/context"
  39. grpc "google.golang.org/grpc"
  40. )
  41. // Reference imports to suppress errors if they are not otherwise used.
  42. var _ = proto.Marshal
  43. var _ = fmt.Errorf
  44. var _ = math.Inf
  45. // This is a compile-time assertion to ensure that this generated file
  46. // is compatible with the proto package it is being compiled against.
  47. // A compilation error at this line likely means your copy of the
  48. // proto package needs to be updated.
  49. const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package
  50. type LookupDirectoryEntryRequest struct {
  51. Directory string `protobuf:"bytes,1,opt,name=directory" json:"directory,omitempty"`
  52. Name string `protobuf:"bytes,2,opt,name=name" json:"name,omitempty"`
  53. }
  54. func (m *LookupDirectoryEntryRequest) Reset() { *m = LookupDirectoryEntryRequest{} }
  55. func (m *LookupDirectoryEntryRequest) String() string { return proto.CompactTextString(m) }
  56. func (*LookupDirectoryEntryRequest) ProtoMessage() {}
  57. func (*LookupDirectoryEntryRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }
  58. func (m *LookupDirectoryEntryRequest) GetDirectory() string {
  59. if m != nil {
  60. return m.Directory
  61. }
  62. return ""
  63. }
  64. func (m *LookupDirectoryEntryRequest) GetName() string {
  65. if m != nil {
  66. return m.Name
  67. }
  68. return ""
  69. }
  70. type LookupDirectoryEntryResponse struct {
  71. Entry *Entry `protobuf:"bytes,1,opt,name=entry" json:"entry,omitempty"`
  72. }
  73. func (m *LookupDirectoryEntryResponse) Reset() { *m = LookupDirectoryEntryResponse{} }
  74. func (m *LookupDirectoryEntryResponse) String() string { return proto.CompactTextString(m) }
  75. func (*LookupDirectoryEntryResponse) ProtoMessage() {}
  76. func (*LookupDirectoryEntryResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{1} }
  77. func (m *LookupDirectoryEntryResponse) GetEntry() *Entry {
  78. if m != nil {
  79. return m.Entry
  80. }
  81. return nil
  82. }
  83. type ListEntriesRequest struct {
  84. Directory string `protobuf:"bytes,1,opt,name=directory" json:"directory,omitempty"`
  85. }
  86. func (m *ListEntriesRequest) Reset() { *m = ListEntriesRequest{} }
  87. func (m *ListEntriesRequest) String() string { return proto.CompactTextString(m) }
  88. func (*ListEntriesRequest) ProtoMessage() {}
  89. func (*ListEntriesRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{2} }
  90. func (m *ListEntriesRequest) GetDirectory() string {
  91. if m != nil {
  92. return m.Directory
  93. }
  94. return ""
  95. }
  96. type ListEntriesResponse struct {
  97. Entries []*Entry `protobuf:"bytes,1,rep,name=entries" json:"entries,omitempty"`
  98. }
  99. func (m *ListEntriesResponse) Reset() { *m = ListEntriesResponse{} }
  100. func (m *ListEntriesResponse) String() string { return proto.CompactTextString(m) }
  101. func (*ListEntriesResponse) ProtoMessage() {}
  102. func (*ListEntriesResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{3} }
  103. func (m *ListEntriesResponse) GetEntries() []*Entry {
  104. if m != nil {
  105. return m.Entries
  106. }
  107. return nil
  108. }
  109. type Entry struct {
  110. Name string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
  111. IsDirectory bool `protobuf:"varint,2,opt,name=is_directory,json=isDirectory" json:"is_directory,omitempty"`
  112. Chunks []*FileChunk `protobuf:"bytes,3,rep,name=chunks" json:"chunks,omitempty"`
  113. Attributes *FuseAttributes `protobuf:"bytes,4,opt,name=attributes" json:"attributes,omitempty"`
  114. }
  115. func (m *Entry) Reset() { *m = Entry{} }
  116. func (m *Entry) String() string { return proto.CompactTextString(m) }
  117. func (*Entry) ProtoMessage() {}
  118. func (*Entry) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{4} }
  119. func (m *Entry) GetName() string {
  120. if m != nil {
  121. return m.Name
  122. }
  123. return ""
  124. }
  125. func (m *Entry) GetIsDirectory() bool {
  126. if m != nil {
  127. return m.IsDirectory
  128. }
  129. return false
  130. }
  131. func (m *Entry) GetChunks() []*FileChunk {
  132. if m != nil {
  133. return m.Chunks
  134. }
  135. return nil
  136. }
  137. func (m *Entry) GetAttributes() *FuseAttributes {
  138. if m != nil {
  139. return m.Attributes
  140. }
  141. return nil
  142. }
  143. type FileChunk struct {
  144. FileId string `protobuf:"bytes,1,opt,name=file_id,json=fileId" json:"file_id,omitempty"`
  145. Offset int64 `protobuf:"varint,2,opt,name=offset" json:"offset,omitempty"`
  146. Size uint64 `protobuf:"varint,3,opt,name=size" json:"size,omitempty"`
  147. Mtime int64 `protobuf:"varint,4,opt,name=mtime" json:"mtime,omitempty"`
  148. }
  149. func (m *FileChunk) Reset() { *m = FileChunk{} }
  150. func (m *FileChunk) String() string { return proto.CompactTextString(m) }
  151. func (*FileChunk) ProtoMessage() {}
  152. func (*FileChunk) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{5} }
  153. func (m *FileChunk) GetFileId() string {
  154. if m != nil {
  155. return m.FileId
  156. }
  157. return ""
  158. }
  159. func (m *FileChunk) GetOffset() int64 {
  160. if m != nil {
  161. return m.Offset
  162. }
  163. return 0
  164. }
  165. func (m *FileChunk) GetSize() uint64 {
  166. if m != nil {
  167. return m.Size
  168. }
  169. return 0
  170. }
  171. func (m *FileChunk) GetMtime() int64 {
  172. if m != nil {
  173. return m.Mtime
  174. }
  175. return 0
  176. }
  177. type FuseAttributes struct {
  178. FileSize uint64 `protobuf:"varint,1,opt,name=file_size,json=fileSize" json:"file_size,omitempty"`
  179. Mtime int64 `protobuf:"varint,2,opt,name=mtime" json:"mtime,omitempty"`
  180. FileMode uint32 `protobuf:"varint,3,opt,name=file_mode,json=fileMode" json:"file_mode,omitempty"`
  181. Uid uint32 `protobuf:"varint,4,opt,name=uid" json:"uid,omitempty"`
  182. Gid uint32 `protobuf:"varint,5,opt,name=gid" json:"gid,omitempty"`
  183. Crtime int64 `protobuf:"varint,6,opt,name=crtime" json:"crtime,omitempty"`
  184. Mime string `protobuf:"bytes,7,opt,name=mime" json:"mime,omitempty"`
  185. Replication string `protobuf:"bytes,8,opt,name=replication" json:"replication,omitempty"`
  186. Collection string `protobuf:"bytes,9,opt,name=collection" json:"collection,omitempty"`
  187. TtlSec int32 `protobuf:"varint,10,opt,name=ttl_sec,json=ttlSec" json:"ttl_sec,omitempty"`
  188. }
  189. func (m *FuseAttributes) Reset() { *m = FuseAttributes{} }
  190. func (m *FuseAttributes) String() string { return proto.CompactTextString(m) }
  191. func (*FuseAttributes) ProtoMessage() {}
  192. func (*FuseAttributes) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{6} }
  193. func (m *FuseAttributes) GetFileSize() uint64 {
  194. if m != nil {
  195. return m.FileSize
  196. }
  197. return 0
  198. }
  199. func (m *FuseAttributes) GetMtime() int64 {
  200. if m != nil {
  201. return m.Mtime
  202. }
  203. return 0
  204. }
  205. func (m *FuseAttributes) GetFileMode() uint32 {
  206. if m != nil {
  207. return m.FileMode
  208. }
  209. return 0
  210. }
  211. func (m *FuseAttributes) GetUid() uint32 {
  212. if m != nil {
  213. return m.Uid
  214. }
  215. return 0
  216. }
  217. func (m *FuseAttributes) GetGid() uint32 {
  218. if m != nil {
  219. return m.Gid
  220. }
  221. return 0
  222. }
  223. func (m *FuseAttributes) GetCrtime() int64 {
  224. if m != nil {
  225. return m.Crtime
  226. }
  227. return 0
  228. }
  229. func (m *FuseAttributes) GetMime() string {
  230. if m != nil {
  231. return m.Mime
  232. }
  233. return ""
  234. }
  235. func (m *FuseAttributes) GetReplication() string {
  236. if m != nil {
  237. return m.Replication
  238. }
  239. return ""
  240. }
  241. func (m *FuseAttributes) GetCollection() string {
  242. if m != nil {
  243. return m.Collection
  244. }
  245. return ""
  246. }
  247. func (m *FuseAttributes) GetTtlSec() int32 {
  248. if m != nil {
  249. return m.TtlSec
  250. }
  251. return 0
  252. }
  253. type GetEntryAttributesRequest struct {
  254. Name string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
  255. ParentDir string `protobuf:"bytes,2,opt,name=parent_dir,json=parentDir" json:"parent_dir,omitempty"`
  256. FileId string `protobuf:"bytes,3,opt,name=file_id,json=fileId" json:"file_id,omitempty"`
  257. }
  258. func (m *GetEntryAttributesRequest) Reset() { *m = GetEntryAttributesRequest{} }
  259. func (m *GetEntryAttributesRequest) String() string { return proto.CompactTextString(m) }
  260. func (*GetEntryAttributesRequest) ProtoMessage() {}
  261. func (*GetEntryAttributesRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{7} }
  262. func (m *GetEntryAttributesRequest) GetName() string {
  263. if m != nil {
  264. return m.Name
  265. }
  266. return ""
  267. }
  268. func (m *GetEntryAttributesRequest) GetParentDir() string {
  269. if m != nil {
  270. return m.ParentDir
  271. }
  272. return ""
  273. }
  274. func (m *GetEntryAttributesRequest) GetFileId() string {
  275. if m != nil {
  276. return m.FileId
  277. }
  278. return ""
  279. }
  280. type GetEntryAttributesResponse struct {
  281. Attributes *FuseAttributes `protobuf:"bytes,1,opt,name=attributes" json:"attributes,omitempty"`
  282. Chunks []*FileChunk `protobuf:"bytes,2,rep,name=chunks" json:"chunks,omitempty"`
  283. }
  284. func (m *GetEntryAttributesResponse) Reset() { *m = GetEntryAttributesResponse{} }
  285. func (m *GetEntryAttributesResponse) String() string { return proto.CompactTextString(m) }
  286. func (*GetEntryAttributesResponse) ProtoMessage() {}
  287. func (*GetEntryAttributesResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{8} }
  288. func (m *GetEntryAttributesResponse) GetAttributes() *FuseAttributes {
  289. if m != nil {
  290. return m.Attributes
  291. }
  292. return nil
  293. }
  294. func (m *GetEntryAttributesResponse) GetChunks() []*FileChunk {
  295. if m != nil {
  296. return m.Chunks
  297. }
  298. return nil
  299. }
  300. type GetFileContentRequest struct {
  301. FileId string `protobuf:"bytes,1,opt,name=file_id,json=fileId" json:"file_id,omitempty"`
  302. }
  303. func (m *GetFileContentRequest) Reset() { *m = GetFileContentRequest{} }
  304. func (m *GetFileContentRequest) String() string { return proto.CompactTextString(m) }
  305. func (*GetFileContentRequest) ProtoMessage() {}
  306. func (*GetFileContentRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{9} }
  307. func (m *GetFileContentRequest) GetFileId() string {
  308. if m != nil {
  309. return m.FileId
  310. }
  311. return ""
  312. }
  313. type GetFileContentResponse struct {
  314. Content []byte `protobuf:"bytes,1,opt,name=content,proto3" json:"content,omitempty"`
  315. }
  316. func (m *GetFileContentResponse) Reset() { *m = GetFileContentResponse{} }
  317. func (m *GetFileContentResponse) String() string { return proto.CompactTextString(m) }
  318. func (*GetFileContentResponse) ProtoMessage() {}
  319. func (*GetFileContentResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{10} }
  320. func (m *GetFileContentResponse) GetContent() []byte {
  321. if m != nil {
  322. return m.Content
  323. }
  324. return nil
  325. }
  326. type CreateEntryRequest struct {
  327. Directory string `protobuf:"bytes,1,opt,name=directory" json:"directory,omitempty"`
  328. Entry *Entry `protobuf:"bytes,2,opt,name=entry" json:"entry,omitempty"`
  329. }
  330. func (m *CreateEntryRequest) Reset() { *m = CreateEntryRequest{} }
  331. func (m *CreateEntryRequest) String() string { return proto.CompactTextString(m) }
  332. func (*CreateEntryRequest) ProtoMessage() {}
  333. func (*CreateEntryRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{11} }
  334. func (m *CreateEntryRequest) GetDirectory() string {
  335. if m != nil {
  336. return m.Directory
  337. }
  338. return ""
  339. }
  340. func (m *CreateEntryRequest) GetEntry() *Entry {
  341. if m != nil {
  342. return m.Entry
  343. }
  344. return nil
  345. }
  346. type CreateEntryResponse struct {
  347. }
  348. func (m *CreateEntryResponse) Reset() { *m = CreateEntryResponse{} }
  349. func (m *CreateEntryResponse) String() string { return proto.CompactTextString(m) }
  350. func (*CreateEntryResponse) ProtoMessage() {}
  351. func (*CreateEntryResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{12} }
  352. type UpdateEntryRequest struct {
  353. Directory string `protobuf:"bytes,1,opt,name=directory" json:"directory,omitempty"`
  354. Entry *Entry `protobuf:"bytes,2,opt,name=entry" json:"entry,omitempty"`
  355. }
  356. func (m *UpdateEntryRequest) Reset() { *m = UpdateEntryRequest{} }
  357. func (m *UpdateEntryRequest) String() string { return proto.CompactTextString(m) }
  358. func (*UpdateEntryRequest) ProtoMessage() {}
  359. func (*UpdateEntryRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{13} }
  360. func (m *UpdateEntryRequest) GetDirectory() string {
  361. if m != nil {
  362. return m.Directory
  363. }
  364. return ""
  365. }
  366. func (m *UpdateEntryRequest) GetEntry() *Entry {
  367. if m != nil {
  368. return m.Entry
  369. }
  370. return nil
  371. }
  372. type UpdateEntryResponse struct {
  373. }
  374. func (m *UpdateEntryResponse) Reset() { *m = UpdateEntryResponse{} }
  375. func (m *UpdateEntryResponse) String() string { return proto.CompactTextString(m) }
  376. func (*UpdateEntryResponse) ProtoMessage() {}
  377. func (*UpdateEntryResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{14} }
  378. type DeleteEntryRequest struct {
  379. Directory string `protobuf:"bytes,1,opt,name=directory" json:"directory,omitempty"`
  380. Name string `protobuf:"bytes,2,opt,name=name" json:"name,omitempty"`
  381. IsDirectory bool `protobuf:"varint,3,opt,name=is_directory,json=isDirectory" json:"is_directory,omitempty"`
  382. IsDeleteData bool `protobuf:"varint,4,opt,name=is_delete_data,json=isDeleteData" json:"is_delete_data,omitempty"`
  383. }
  384. func (m *DeleteEntryRequest) Reset() { *m = DeleteEntryRequest{} }
  385. func (m *DeleteEntryRequest) String() string { return proto.CompactTextString(m) }
  386. func (*DeleteEntryRequest) ProtoMessage() {}
  387. func (*DeleteEntryRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{15} }
  388. func (m *DeleteEntryRequest) GetDirectory() string {
  389. if m != nil {
  390. return m.Directory
  391. }
  392. return ""
  393. }
  394. func (m *DeleteEntryRequest) GetName() string {
  395. if m != nil {
  396. return m.Name
  397. }
  398. return ""
  399. }
  400. func (m *DeleteEntryRequest) GetIsDirectory() bool {
  401. if m != nil {
  402. return m.IsDirectory
  403. }
  404. return false
  405. }
  406. func (m *DeleteEntryRequest) GetIsDeleteData() bool {
  407. if m != nil {
  408. return m.IsDeleteData
  409. }
  410. return false
  411. }
  412. type DeleteEntryResponse struct {
  413. }
  414. func (m *DeleteEntryResponse) Reset() { *m = DeleteEntryResponse{} }
  415. func (m *DeleteEntryResponse) String() string { return proto.CompactTextString(m) }
  416. func (*DeleteEntryResponse) ProtoMessage() {}
  417. func (*DeleteEntryResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{16} }
  418. type AssignVolumeRequest struct {
  419. Count int32 `protobuf:"varint,1,opt,name=count" json:"count,omitempty"`
  420. Collection string `protobuf:"bytes,2,opt,name=collection" json:"collection,omitempty"`
  421. Replication string `protobuf:"bytes,3,opt,name=replication" json:"replication,omitempty"`
  422. TtlSec int32 `protobuf:"varint,4,opt,name=ttl_sec,json=ttlSec" json:"ttl_sec,omitempty"`
  423. DataCenter string `protobuf:"bytes,5,opt,name=data_center,json=dataCenter" json:"data_center,omitempty"`
  424. }
  425. func (m *AssignVolumeRequest) Reset() { *m = AssignVolumeRequest{} }
  426. func (m *AssignVolumeRequest) String() string { return proto.CompactTextString(m) }
  427. func (*AssignVolumeRequest) ProtoMessage() {}
  428. func (*AssignVolumeRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{17} }
  429. func (m *AssignVolumeRequest) GetCount() int32 {
  430. if m != nil {
  431. return m.Count
  432. }
  433. return 0
  434. }
  435. func (m *AssignVolumeRequest) GetCollection() string {
  436. if m != nil {
  437. return m.Collection
  438. }
  439. return ""
  440. }
  441. func (m *AssignVolumeRequest) GetReplication() string {
  442. if m != nil {
  443. return m.Replication
  444. }
  445. return ""
  446. }
  447. func (m *AssignVolumeRequest) GetTtlSec() int32 {
  448. if m != nil {
  449. return m.TtlSec
  450. }
  451. return 0
  452. }
  453. func (m *AssignVolumeRequest) GetDataCenter() string {
  454. if m != nil {
  455. return m.DataCenter
  456. }
  457. return ""
  458. }
  459. type AssignVolumeResponse struct {
  460. FileId string `protobuf:"bytes,1,opt,name=file_id,json=fileId" json:"file_id,omitempty"`
  461. Url string `protobuf:"bytes,2,opt,name=url" json:"url,omitempty"`
  462. PublicUrl string `protobuf:"bytes,3,opt,name=public_url,json=publicUrl" json:"public_url,omitempty"`
  463. Count int32 `protobuf:"varint,4,opt,name=count" json:"count,omitempty"`
  464. }
  465. func (m *AssignVolumeResponse) Reset() { *m = AssignVolumeResponse{} }
  466. func (m *AssignVolumeResponse) String() string { return proto.CompactTextString(m) }
  467. func (*AssignVolumeResponse) ProtoMessage() {}
  468. func (*AssignVolumeResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{18} }
  469. func (m *AssignVolumeResponse) GetFileId() string {
  470. if m != nil {
  471. return m.FileId
  472. }
  473. return ""
  474. }
  475. func (m *AssignVolumeResponse) GetUrl() string {
  476. if m != nil {
  477. return m.Url
  478. }
  479. return ""
  480. }
  481. func (m *AssignVolumeResponse) GetPublicUrl() string {
  482. if m != nil {
  483. return m.PublicUrl
  484. }
  485. return ""
  486. }
  487. func (m *AssignVolumeResponse) GetCount() int32 {
  488. if m != nil {
  489. return m.Count
  490. }
  491. return 0
  492. }
  493. type LookupVolumeRequest struct {
  494. VolumeIds []string `protobuf:"bytes,1,rep,name=volume_ids,json=volumeIds" json:"volume_ids,omitempty"`
  495. }
  496. func (m *LookupVolumeRequest) Reset() { *m = LookupVolumeRequest{} }
  497. func (m *LookupVolumeRequest) String() string { return proto.CompactTextString(m) }
  498. func (*LookupVolumeRequest) ProtoMessage() {}
  499. func (*LookupVolumeRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{19} }
  500. func (m *LookupVolumeRequest) GetVolumeIds() []string {
  501. if m != nil {
  502. return m.VolumeIds
  503. }
  504. return nil
  505. }
  506. type Locations struct {
  507. Locations []*Location `protobuf:"bytes,1,rep,name=locations" json:"locations,omitempty"`
  508. }
  509. func (m *Locations) Reset() { *m = Locations{} }
  510. func (m *Locations) String() string { return proto.CompactTextString(m) }
  511. func (*Locations) ProtoMessage() {}
  512. func (*Locations) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{20} }
  513. func (m *Locations) GetLocations() []*Location {
  514. if m != nil {
  515. return m.Locations
  516. }
  517. return nil
  518. }
  519. type Location struct {
  520. Url string `protobuf:"bytes,1,opt,name=url" json:"url,omitempty"`
  521. PublicUrl string `protobuf:"bytes,2,opt,name=public_url,json=publicUrl" json:"public_url,omitempty"`
  522. }
  523. func (m *Location) Reset() { *m = Location{} }
  524. func (m *Location) String() string { return proto.CompactTextString(m) }
  525. func (*Location) ProtoMessage() {}
  526. func (*Location) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{21} }
  527. func (m *Location) GetUrl() string {
  528. if m != nil {
  529. return m.Url
  530. }
  531. return ""
  532. }
  533. func (m *Location) GetPublicUrl() string {
  534. if m != nil {
  535. return m.PublicUrl
  536. }
  537. return ""
  538. }
  539. type LookupVolumeResponse struct {
  540. LocationsMap map[string]*Locations `protobuf:"bytes,1,rep,name=locations_map,json=locationsMap" json:"locations_map,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
  541. }
  542. func (m *LookupVolumeResponse) Reset() { *m = LookupVolumeResponse{} }
  543. func (m *LookupVolumeResponse) String() string { return proto.CompactTextString(m) }
  544. func (*LookupVolumeResponse) ProtoMessage() {}
  545. func (*LookupVolumeResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{22} }
  546. func (m *LookupVolumeResponse) GetLocationsMap() map[string]*Locations {
  547. if m != nil {
  548. return m.LocationsMap
  549. }
  550. return nil
  551. }
  552. func init() {
  553. proto.RegisterType((*LookupDirectoryEntryRequest)(nil), "filer_pb.LookupDirectoryEntryRequest")
  554. proto.RegisterType((*LookupDirectoryEntryResponse)(nil), "filer_pb.LookupDirectoryEntryResponse")
  555. proto.RegisterType((*ListEntriesRequest)(nil), "filer_pb.ListEntriesRequest")
  556. proto.RegisterType((*ListEntriesResponse)(nil), "filer_pb.ListEntriesResponse")
  557. proto.RegisterType((*Entry)(nil), "filer_pb.Entry")
  558. proto.RegisterType((*FileChunk)(nil), "filer_pb.FileChunk")
  559. proto.RegisterType((*FuseAttributes)(nil), "filer_pb.FuseAttributes")
  560. proto.RegisterType((*GetEntryAttributesRequest)(nil), "filer_pb.GetEntryAttributesRequest")
  561. proto.RegisterType((*GetEntryAttributesResponse)(nil), "filer_pb.GetEntryAttributesResponse")
  562. proto.RegisterType((*GetFileContentRequest)(nil), "filer_pb.GetFileContentRequest")
  563. proto.RegisterType((*GetFileContentResponse)(nil), "filer_pb.GetFileContentResponse")
  564. proto.RegisterType((*CreateEntryRequest)(nil), "filer_pb.CreateEntryRequest")
  565. proto.RegisterType((*CreateEntryResponse)(nil), "filer_pb.CreateEntryResponse")
  566. proto.RegisterType((*UpdateEntryRequest)(nil), "filer_pb.UpdateEntryRequest")
  567. proto.RegisterType((*UpdateEntryResponse)(nil), "filer_pb.UpdateEntryResponse")
  568. proto.RegisterType((*DeleteEntryRequest)(nil), "filer_pb.DeleteEntryRequest")
  569. proto.RegisterType((*DeleteEntryResponse)(nil), "filer_pb.DeleteEntryResponse")
  570. proto.RegisterType((*AssignVolumeRequest)(nil), "filer_pb.AssignVolumeRequest")
  571. proto.RegisterType((*AssignVolumeResponse)(nil), "filer_pb.AssignVolumeResponse")
  572. proto.RegisterType((*LookupVolumeRequest)(nil), "filer_pb.LookupVolumeRequest")
  573. proto.RegisterType((*Locations)(nil), "filer_pb.Locations")
  574. proto.RegisterType((*Location)(nil), "filer_pb.Location")
  575. proto.RegisterType((*LookupVolumeResponse)(nil), "filer_pb.LookupVolumeResponse")
  576. }
  577. // Reference imports to suppress errors if they are not otherwise used.
  578. var _ context.Context
  579. var _ grpc.ClientConn
  580. // This is a compile-time assertion to ensure that this generated file
  581. // is compatible with the grpc package it is being compiled against.
  582. const _ = grpc.SupportPackageIsVersion4
  583. // Client API for SeaweedFiler service
  584. type SeaweedFilerClient interface {
  585. LookupDirectoryEntry(ctx context.Context, in *LookupDirectoryEntryRequest, opts ...grpc.CallOption) (*LookupDirectoryEntryResponse, error)
  586. ListEntries(ctx context.Context, in *ListEntriesRequest, opts ...grpc.CallOption) (*ListEntriesResponse, error)
  587. GetEntryAttributes(ctx context.Context, in *GetEntryAttributesRequest, opts ...grpc.CallOption) (*GetEntryAttributesResponse, error)
  588. CreateEntry(ctx context.Context, in *CreateEntryRequest, opts ...grpc.CallOption) (*CreateEntryResponse, error)
  589. UpdateEntry(ctx context.Context, in *UpdateEntryRequest, opts ...grpc.CallOption) (*UpdateEntryResponse, error)
  590. DeleteEntry(ctx context.Context, in *DeleteEntryRequest, opts ...grpc.CallOption) (*DeleteEntryResponse, error)
  591. AssignVolume(ctx context.Context, in *AssignVolumeRequest, opts ...grpc.CallOption) (*AssignVolumeResponse, error)
  592. LookupVolume(ctx context.Context, in *LookupVolumeRequest, opts ...grpc.CallOption) (*LookupVolumeResponse, error)
  593. }
  594. type seaweedFilerClient struct {
  595. cc *grpc.ClientConn
  596. }
  597. func NewSeaweedFilerClient(cc *grpc.ClientConn) SeaweedFilerClient {
  598. return &seaweedFilerClient{cc}
  599. }
  600. func (c *seaweedFilerClient) LookupDirectoryEntry(ctx context.Context, in *LookupDirectoryEntryRequest, opts ...grpc.CallOption) (*LookupDirectoryEntryResponse, error) {
  601. out := new(LookupDirectoryEntryResponse)
  602. err := grpc.Invoke(ctx, "/filer_pb.SeaweedFiler/LookupDirectoryEntry", in, out, c.cc, opts...)
  603. if err != nil {
  604. return nil, err
  605. }
  606. return out, nil
  607. }
  608. func (c *seaweedFilerClient) ListEntries(ctx context.Context, in *ListEntriesRequest, opts ...grpc.CallOption) (*ListEntriesResponse, error) {
  609. out := new(ListEntriesResponse)
  610. err := grpc.Invoke(ctx, "/filer_pb.SeaweedFiler/ListEntries", in, out, c.cc, opts...)
  611. if err != nil {
  612. return nil, err
  613. }
  614. return out, nil
  615. }
  616. func (c *seaweedFilerClient) GetEntryAttributes(ctx context.Context, in *GetEntryAttributesRequest, opts ...grpc.CallOption) (*GetEntryAttributesResponse, error) {
  617. out := new(GetEntryAttributesResponse)
  618. err := grpc.Invoke(ctx, "/filer_pb.SeaweedFiler/GetEntryAttributes", in, out, c.cc, opts...)
  619. if err != nil {
  620. return nil, err
  621. }
  622. return out, nil
  623. }
  624. func (c *seaweedFilerClient) CreateEntry(ctx context.Context, in *CreateEntryRequest, opts ...grpc.CallOption) (*CreateEntryResponse, error) {
  625. out := new(CreateEntryResponse)
  626. err := grpc.Invoke(ctx, "/filer_pb.SeaweedFiler/CreateEntry", in, out, c.cc, opts...)
  627. if err != nil {
  628. return nil, err
  629. }
  630. return out, nil
  631. }
  632. func (c *seaweedFilerClient) UpdateEntry(ctx context.Context, in *UpdateEntryRequest, opts ...grpc.CallOption) (*UpdateEntryResponse, error) {
  633. out := new(UpdateEntryResponse)
  634. err := grpc.Invoke(ctx, "/filer_pb.SeaweedFiler/UpdateEntry", in, out, c.cc, opts...)
  635. if err != nil {
  636. return nil, err
  637. }
  638. return out, nil
  639. }
  640. func (c *seaweedFilerClient) DeleteEntry(ctx context.Context, in *DeleteEntryRequest, opts ...grpc.CallOption) (*DeleteEntryResponse, error) {
  641. out := new(DeleteEntryResponse)
  642. err := grpc.Invoke(ctx, "/filer_pb.SeaweedFiler/DeleteEntry", in, out, c.cc, opts...)
  643. if err != nil {
  644. return nil, err
  645. }
  646. return out, nil
  647. }
  648. func (c *seaweedFilerClient) AssignVolume(ctx context.Context, in *AssignVolumeRequest, opts ...grpc.CallOption) (*AssignVolumeResponse, error) {
  649. out := new(AssignVolumeResponse)
  650. err := grpc.Invoke(ctx, "/filer_pb.SeaweedFiler/AssignVolume", in, out, c.cc, opts...)
  651. if err != nil {
  652. return nil, err
  653. }
  654. return out, nil
  655. }
  656. func (c *seaweedFilerClient) LookupVolume(ctx context.Context, in *LookupVolumeRequest, opts ...grpc.CallOption) (*LookupVolumeResponse, error) {
  657. out := new(LookupVolumeResponse)
  658. err := grpc.Invoke(ctx, "/filer_pb.SeaweedFiler/LookupVolume", in, out, c.cc, opts...)
  659. if err != nil {
  660. return nil, err
  661. }
  662. return out, nil
  663. }
  664. // Server API for SeaweedFiler service
  665. type SeaweedFilerServer interface {
  666. LookupDirectoryEntry(context.Context, *LookupDirectoryEntryRequest) (*LookupDirectoryEntryResponse, error)
  667. ListEntries(context.Context, *ListEntriesRequest) (*ListEntriesResponse, error)
  668. GetEntryAttributes(context.Context, *GetEntryAttributesRequest) (*GetEntryAttributesResponse, error)
  669. CreateEntry(context.Context, *CreateEntryRequest) (*CreateEntryResponse, error)
  670. UpdateEntry(context.Context, *UpdateEntryRequest) (*UpdateEntryResponse, error)
  671. DeleteEntry(context.Context, *DeleteEntryRequest) (*DeleteEntryResponse, error)
  672. AssignVolume(context.Context, *AssignVolumeRequest) (*AssignVolumeResponse, error)
  673. LookupVolume(context.Context, *LookupVolumeRequest) (*LookupVolumeResponse, error)
  674. }
  675. func RegisterSeaweedFilerServer(s *grpc.Server, srv SeaweedFilerServer) {
  676. s.RegisterService(&_SeaweedFiler_serviceDesc, srv)
  677. }
  678. func _SeaweedFiler_LookupDirectoryEntry_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  679. in := new(LookupDirectoryEntryRequest)
  680. if err := dec(in); err != nil {
  681. return nil, err
  682. }
  683. if interceptor == nil {
  684. return srv.(SeaweedFilerServer).LookupDirectoryEntry(ctx, in)
  685. }
  686. info := &grpc.UnaryServerInfo{
  687. Server: srv,
  688. FullMethod: "/filer_pb.SeaweedFiler/LookupDirectoryEntry",
  689. }
  690. handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  691. return srv.(SeaweedFilerServer).LookupDirectoryEntry(ctx, req.(*LookupDirectoryEntryRequest))
  692. }
  693. return interceptor(ctx, in, info, handler)
  694. }
  695. func _SeaweedFiler_ListEntries_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  696. in := new(ListEntriesRequest)
  697. if err := dec(in); err != nil {
  698. return nil, err
  699. }
  700. if interceptor == nil {
  701. return srv.(SeaweedFilerServer).ListEntries(ctx, in)
  702. }
  703. info := &grpc.UnaryServerInfo{
  704. Server: srv,
  705. FullMethod: "/filer_pb.SeaweedFiler/ListEntries",
  706. }
  707. handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  708. return srv.(SeaweedFilerServer).ListEntries(ctx, req.(*ListEntriesRequest))
  709. }
  710. return interceptor(ctx, in, info, handler)
  711. }
  712. func _SeaweedFiler_GetEntryAttributes_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  713. in := new(GetEntryAttributesRequest)
  714. if err := dec(in); err != nil {
  715. return nil, err
  716. }
  717. if interceptor == nil {
  718. return srv.(SeaweedFilerServer).GetEntryAttributes(ctx, in)
  719. }
  720. info := &grpc.UnaryServerInfo{
  721. Server: srv,
  722. FullMethod: "/filer_pb.SeaweedFiler/GetEntryAttributes",
  723. }
  724. handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  725. return srv.(SeaweedFilerServer).GetEntryAttributes(ctx, req.(*GetEntryAttributesRequest))
  726. }
  727. return interceptor(ctx, in, info, handler)
  728. }
  729. func _SeaweedFiler_CreateEntry_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  730. in := new(CreateEntryRequest)
  731. if err := dec(in); err != nil {
  732. return nil, err
  733. }
  734. if interceptor == nil {
  735. return srv.(SeaweedFilerServer).CreateEntry(ctx, in)
  736. }
  737. info := &grpc.UnaryServerInfo{
  738. Server: srv,
  739. FullMethod: "/filer_pb.SeaweedFiler/CreateEntry",
  740. }
  741. handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  742. return srv.(SeaweedFilerServer).CreateEntry(ctx, req.(*CreateEntryRequest))
  743. }
  744. return interceptor(ctx, in, info, handler)
  745. }
  746. func _SeaweedFiler_UpdateEntry_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  747. in := new(UpdateEntryRequest)
  748. if err := dec(in); err != nil {
  749. return nil, err
  750. }
  751. if interceptor == nil {
  752. return srv.(SeaweedFilerServer).UpdateEntry(ctx, in)
  753. }
  754. info := &grpc.UnaryServerInfo{
  755. Server: srv,
  756. FullMethod: "/filer_pb.SeaweedFiler/UpdateEntry",
  757. }
  758. handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  759. return srv.(SeaweedFilerServer).UpdateEntry(ctx, req.(*UpdateEntryRequest))
  760. }
  761. return interceptor(ctx, in, info, handler)
  762. }
  763. func _SeaweedFiler_DeleteEntry_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  764. in := new(DeleteEntryRequest)
  765. if err := dec(in); err != nil {
  766. return nil, err
  767. }
  768. if interceptor == nil {
  769. return srv.(SeaweedFilerServer).DeleteEntry(ctx, in)
  770. }
  771. info := &grpc.UnaryServerInfo{
  772. Server: srv,
  773. FullMethod: "/filer_pb.SeaweedFiler/DeleteEntry",
  774. }
  775. handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  776. return srv.(SeaweedFilerServer).DeleteEntry(ctx, req.(*DeleteEntryRequest))
  777. }
  778. return interceptor(ctx, in, info, handler)
  779. }
  780. func _SeaweedFiler_AssignVolume_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  781. in := new(AssignVolumeRequest)
  782. if err := dec(in); err != nil {
  783. return nil, err
  784. }
  785. if interceptor == nil {
  786. return srv.(SeaweedFilerServer).AssignVolume(ctx, in)
  787. }
  788. info := &grpc.UnaryServerInfo{
  789. Server: srv,
  790. FullMethod: "/filer_pb.SeaweedFiler/AssignVolume",
  791. }
  792. handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  793. return srv.(SeaweedFilerServer).AssignVolume(ctx, req.(*AssignVolumeRequest))
  794. }
  795. return interceptor(ctx, in, info, handler)
  796. }
  797. func _SeaweedFiler_LookupVolume_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  798. in := new(LookupVolumeRequest)
  799. if err := dec(in); err != nil {
  800. return nil, err
  801. }
  802. if interceptor == nil {
  803. return srv.(SeaweedFilerServer).LookupVolume(ctx, in)
  804. }
  805. info := &grpc.UnaryServerInfo{
  806. Server: srv,
  807. FullMethod: "/filer_pb.SeaweedFiler/LookupVolume",
  808. }
  809. handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  810. return srv.(SeaweedFilerServer).LookupVolume(ctx, req.(*LookupVolumeRequest))
  811. }
  812. return interceptor(ctx, in, info, handler)
  813. }
  814. var _SeaweedFiler_serviceDesc = grpc.ServiceDesc{
  815. ServiceName: "filer_pb.SeaweedFiler",
  816. HandlerType: (*SeaweedFilerServer)(nil),
  817. Methods: []grpc.MethodDesc{
  818. {
  819. MethodName: "LookupDirectoryEntry",
  820. Handler: _SeaweedFiler_LookupDirectoryEntry_Handler,
  821. },
  822. {
  823. MethodName: "ListEntries",
  824. Handler: _SeaweedFiler_ListEntries_Handler,
  825. },
  826. {
  827. MethodName: "GetEntryAttributes",
  828. Handler: _SeaweedFiler_GetEntryAttributes_Handler,
  829. },
  830. {
  831. MethodName: "CreateEntry",
  832. Handler: _SeaweedFiler_CreateEntry_Handler,
  833. },
  834. {
  835. MethodName: "UpdateEntry",
  836. Handler: _SeaweedFiler_UpdateEntry_Handler,
  837. },
  838. {
  839. MethodName: "DeleteEntry",
  840. Handler: _SeaweedFiler_DeleteEntry_Handler,
  841. },
  842. {
  843. MethodName: "AssignVolume",
  844. Handler: _SeaweedFiler_AssignVolume_Handler,
  845. },
  846. {
  847. MethodName: "LookupVolume",
  848. Handler: _SeaweedFiler_LookupVolume_Handler,
  849. },
  850. },
  851. Streams: []grpc.StreamDesc{},
  852. Metadata: "filer.proto",
  853. }
  854. func init() { proto.RegisterFile("filer.proto", fileDescriptor0) }
  855. var fileDescriptor0 = []byte{
  856. // 990 bytes of a gzipped FileDescriptorProto
  857. 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xb4, 0x56, 0xdd, 0x6e, 0xdc, 0x44,
  858. 0x14, 0x8e, 0xd7, 0xbb, 0x9b, 0xf5, 0xd9, 0x4d, 0x81, 0xd9, 0xb4, 0x98, 0x6d, 0x52, 0x96, 0xa1,
  859. 0x45, 0xa9, 0x90, 0xa2, 0x28, 0x70, 0x51, 0x81, 0x90, 0xa8, 0x92, 0x52, 0x55, 0x4a, 0x55, 0xc9,
  860. 0x21, 0x48, 0x5c, 0xad, 0x1c, 0xfb, 0x64, 0x19, 0xc5, 0x6b, 0x2f, 0x9e, 0x71, 0x50, 0xb8, 0xe5,
  861. 0x92, 0x0b, 0x9e, 0x02, 0xf1, 0x02, 0xbc, 0x01, 0x2f, 0x86, 0xe6, 0xc7, 0xde, 0xf1, 0xda, 0xdb,
  862. 0x9f, 0x8b, 0xde, 0xcd, 0x9c, 0x9f, 0xef, 0x7c, 0xc7, 0x3e, 0xe7, 0xb3, 0x61, 0x78, 0xc5, 0x12,
  863. 0xcc, 0x0f, 0x97, 0x79, 0x26, 0x32, 0x32, 0x50, 0x97, 0xd9, 0xf2, 0x92, 0xbe, 0x82, 0xfb, 0x67,
  864. 0x59, 0x76, 0x5d, 0x2c, 0x4f, 0x59, 0x8e, 0x91, 0xc8, 0xf2, 0xdb, 0x67, 0xa9, 0xc8, 0x6f, 0x03,
  865. 0xfc, 0xb5, 0x40, 0x2e, 0xc8, 0x1e, 0x78, 0x71, 0xe9, 0xf0, 0x9d, 0xa9, 0x73, 0xe0, 0x05, 0x2b,
  866. 0x03, 0x21, 0xd0, 0x4d, 0xc3, 0x05, 0xfa, 0x1d, 0xe5, 0x50, 0x67, 0xfa, 0x0c, 0xf6, 0xda, 0x01,
  867. 0xf9, 0x32, 0x4b, 0x39, 0x92, 0x47, 0xd0, 0x43, 0x69, 0x50, 0x68, 0xc3, 0xe3, 0x0f, 0x0e, 0x4b,
  868. 0x2a, 0x87, 0x3a, 0x4e, 0x7b, 0xe9, 0x31, 0x90, 0x33, 0xc6, 0x85, 0xb4, 0x31, 0xe4, 0x6f, 0x45,
  869. 0x87, 0x7e, 0x0f, 0xe3, 0x5a, 0x8e, 0xa9, 0xf8, 0x18, 0xb6, 0x51, 0x9b, 0x7c, 0x67, 0xea, 0xb6,
  870. 0xd5, 0x2c, 0xfd, 0xf4, 0x6f, 0x07, 0x7a, 0xca, 0x54, 0xb5, 0xe6, 0xac, 0x5a, 0x23, 0x9f, 0xc1,
  871. 0x88, 0xf1, 0xd9, 0x8a, 0x80, 0x6c, 0x7b, 0x10, 0x0c, 0x19, 0xaf, 0x5a, 0x25, 0x5f, 0x42, 0x3f,
  872. 0xfa, 0xa5, 0x48, 0xaf, 0xb9, 0xef, 0xaa, 0x52, 0xe3, 0x55, 0xa9, 0x1f, 0x58, 0x82, 0x27, 0xd2,
  873. 0x17, 0x98, 0x10, 0xf2, 0x04, 0x20, 0x14, 0x22, 0x67, 0x97, 0x85, 0x40, 0xee, 0x77, 0xd5, 0xf3,
  874. 0xf0, 0xad, 0x84, 0x82, 0xe3, 0xd3, 0xca, 0x1f, 0x58, 0xb1, 0xf4, 0x0a, 0xbc, 0x0a, 0x8e, 0x7c,
  875. 0x0c, 0xdb, 0x32, 0x67, 0xc6, 0x62, 0xc3, 0xb6, 0x2f, 0xaf, 0x2f, 0x62, 0x72, 0x0f, 0xfa, 0xd9,
  876. 0xd5, 0x15, 0x47, 0xa1, 0x98, 0xba, 0x81, 0xb9, 0xc9, 0xde, 0x38, 0xfb, 0x1d, 0x7d, 0x77, 0xea,
  877. 0x1c, 0x74, 0x03, 0x75, 0x26, 0xbb, 0xd0, 0x5b, 0x08, 0xb6, 0x40, 0x45, 0xc3, 0x0d, 0xf4, 0x85,
  878. 0xfe, 0xd9, 0x81, 0x3b, 0x75, 0x1a, 0xe4, 0x3e, 0x78, 0xaa, 0x9a, 0x42, 0x70, 0x14, 0x82, 0x9a,
  879. 0xa6, 0xf3, 0x1a, 0x4a, 0xc7, 0x42, 0xa9, 0x52, 0x16, 0x59, 0xac, 0x8b, 0xee, 0xe8, 0x94, 0x97,
  880. 0x59, 0x8c, 0xe4, 0x43, 0x70, 0x0b, 0x16, 0xab, 0xb2, 0x3b, 0x81, 0x3c, 0x4a, 0xcb, 0x9c, 0xc5,
  881. 0x7e, 0x4f, 0x5b, 0xe6, 0x4c, 0x35, 0x12, 0xe5, 0x0a, 0xb7, 0xaf, 0x1b, 0xd1, 0x37, 0xd9, 0xc8,
  882. 0x42, 0x5a, 0xb7, 0xf5, 0x4b, 0x92, 0x67, 0x32, 0x85, 0x61, 0x8e, 0xcb, 0x84, 0x45, 0xa1, 0x60,
  883. 0x59, 0xea, 0x0f, 0x94, 0xcb, 0x36, 0x91, 0x07, 0x00, 0x51, 0x96, 0x24, 0x18, 0xa9, 0x00, 0x4f,
  884. 0x05, 0x58, 0x16, 0xf9, 0x3c, 0x85, 0x48, 0x66, 0x1c, 0x23, 0x1f, 0xa6, 0xce, 0x41, 0x2f, 0xe8,
  885. 0x0b, 0x91, 0x9c, 0x63, 0x44, 0xe7, 0xf0, 0xc9, 0x73, 0x54, 0xe3, 0x75, 0x6b, 0xbd, 0x17, 0x33,
  886. 0x9a, 0x6d, 0x03, 0xb3, 0x0f, 0xb0, 0x0c, 0x73, 0x4c, 0x85, 0x1c, 0x1a, 0xb3, 0x25, 0x9e, 0xb6,
  887. 0x9c, 0xb2, 0xdc, 0x7e, 0x71, 0xae, 0xfd, 0xe2, 0xe8, 0x1f, 0x0e, 0x4c, 0xda, 0x2a, 0x99, 0x81,
  888. 0xae, 0xcf, 0x8d, 0xf3, 0xf6, 0x73, 0x63, 0x8d, 0x67, 0xe7, 0x8d, 0xe3, 0x49, 0x8f, 0xe0, 0xee,
  889. 0x73, 0x14, 0xca, 0x9e, 0xa5, 0x02, 0x53, 0x51, 0xb6, 0xba, 0x69, 0xe0, 0xe8, 0x31, 0xdc, 0x5b,
  890. 0xcf, 0x30, 0x94, 0x7d, 0xd8, 0x8e, 0xb4, 0x49, 0xa5, 0x8c, 0x82, 0xf2, 0x4a, 0x7f, 0x06, 0x72,
  891. 0x92, 0x63, 0x28, 0xf0, 0x1d, 0x74, 0xa7, 0xd2, 0x90, 0xce, 0x6b, 0x35, 0xe4, 0x2e, 0x8c, 0x6b,
  892. 0xd0, 0x9a, 0x8b, 0xac, 0x78, 0xb1, 0x8c, 0xdf, 0x57, 0xc5, 0x1a, 0xb4, 0xa9, 0xf8, 0x97, 0x03,
  893. 0xe4, 0x14, 0x13, 0x7c, 0xa7, 0x92, 0x2d, 0xe2, 0xda, 0x50, 0x20, 0xb7, 0xa9, 0x40, 0x0f, 0xe1,
  894. 0x8e, 0x0c, 0x51, 0xd5, 0x66, 0x71, 0x28, 0x42, 0xb5, 0x5a, 0x83, 0x60, 0xc4, 0xb8, 0xa6, 0x70,
  895. 0x1a, 0x8a, 0x50, 0x12, 0xad, 0x11, 0x32, 0x44, 0xff, 0x71, 0x60, 0xfc, 0x94, 0x73, 0x36, 0x4f,
  896. 0x7f, 0xca, 0x92, 0x62, 0x81, 0x25, 0xd3, 0x5d, 0xe8, 0x45, 0x59, 0x61, 0x5e, 0x5e, 0x2f, 0xd0,
  897. 0x97, 0xb5, 0x45, 0xea, 0x34, 0x16, 0x69, 0x6d, 0x15, 0xdd, 0xe6, 0x2a, 0x5a, 0xab, 0xd6, 0xb5,
  898. 0x57, 0x8d, 0x7c, 0x0a, 0x43, 0xc9, 0x7d, 0x16, 0x61, 0x2a, 0x30, 0x57, 0x5a, 0xe0, 0x05, 0x20,
  899. 0x4d, 0x27, 0xca, 0x42, 0x6f, 0x60, 0xb7, 0x4e, 0xd4, 0x0c, 0xda, 0x46, 0x31, 0x94, 0x3a, 0x93,
  900. 0x27, 0x86, 0xa5, 0x3c, 0xaa, 0xed, 0x2c, 0x2e, 0x13, 0x16, 0xcd, 0xa4, 0xc3, 0x35, 0xdb, 0xa9,
  901. 0x2c, 0x17, 0x79, 0xb2, 0xea, 0xb9, 0x6b, 0xf5, 0x4c, 0xbf, 0x86, 0xb1, 0xfe, 0xbc, 0xd5, 0x1f,
  902. 0xd0, 0x3e, 0xc0, 0x8d, 0x32, 0xcc, 0x58, 0xac, 0x3f, 0x33, 0x5e, 0xe0, 0x69, 0xcb, 0x8b, 0x98,
  903. 0xd3, 0xef, 0xc0, 0x3b, 0xcb, 0x74, 0xcf, 0x9c, 0x1c, 0x81, 0x97, 0x94, 0x17, 0xf3, 0x45, 0x22,
  904. 0xab, 0x79, 0x2a, 0xe3, 0x82, 0x55, 0x10, 0xfd, 0x16, 0x06, 0xa5, 0xb9, 0xec, 0xc3, 0xd9, 0xd4,
  905. 0x47, 0x67, 0xad, 0x0f, 0xfa, 0x9f, 0x03, 0xbb, 0x75, 0xca, 0xe6, 0x51, 0x5d, 0xc0, 0x4e, 0x55,
  906. 0x62, 0xb6, 0x08, 0x97, 0x86, 0xcb, 0x91, 0xcd, 0xa5, 0x99, 0x56, 0x11, 0xe4, 0x2f, 0xc3, 0xa5,
  907. 0x9e, 0x9e, 0x51, 0x62, 0x99, 0x26, 0x3f, 0xc2, 0x47, 0x8d, 0x10, 0xc9, 0xfa, 0x1a, 0xcb, 0x21,
  908. 0x97, 0x47, 0xf2, 0x18, 0x7a, 0x37, 0x61, 0x52, 0xa0, 0xd9, 0xa8, 0x71, 0xf3, 0x09, 0xf0, 0x40,
  909. 0x47, 0x7c, 0xd3, 0x79, 0xe2, 0x1c, 0xff, 0xdb, 0x83, 0xd1, 0x39, 0x86, 0xbf, 0x21, 0xc6, 0x52,
  910. 0x5f, 0x72, 0x32, 0x2f, 0xbb, 0xaa, 0xff, 0x67, 0x90, 0x47, 0xeb, 0xf4, 0x5b, 0x7f, 0x6c, 0x26,
  911. 0x5f, 0xbc, 0x29, 0xcc, 0x6c, 0xc4, 0x16, 0x39, 0x83, 0xa1, 0xf5, 0x57, 0x41, 0xf6, 0xac, 0xc4,
  912. 0xc6, 0x0f, 0xca, 0x64, 0x7f, 0x83, 0xb7, 0x42, 0x0b, 0x81, 0x34, 0x95, 0x9d, 0x7c, 0xbe, 0x4a,
  913. 0xdb, 0xf8, 0x85, 0x99, 0x3c, 0x7c, 0x7d, 0x90, 0x4d, 0xd8, 0x92, 0x3d, 0x9b, 0x70, 0x53, 0x68,
  914. 0x6d, 0xc2, 0x6d, 0x5a, 0xa9, 0xd0, 0x2c, 0x49, 0xb3, 0xd1, 0x9a, 0x22, 0x6a, 0xa3, 0xb5, 0xe9,
  915. 0xa0, 0x42, 0xb3, 0x74, 0xc7, 0x46, 0x6b, 0xea, 0xa3, 0x8d, 0xd6, 0x26, 0x56, 0x5b, 0xe4, 0x15,
  916. 0x8c, 0x6c, 0x11, 0x20, 0x56, 0x42, 0x8b, 0x8a, 0x4d, 0x1e, 0x6c, 0x72, 0xdb, 0x80, 0xf6, 0xcc,
  917. 0xdb, 0x80, 0x2d, 0x5b, 0x6f, 0x03, 0xb6, 0xad, 0x0a, 0xdd, 0xba, 0xec, 0xab, 0xff, 0xed, 0xaf,
  918. 0xfe, 0x0f, 0x00, 0x00, 0xff, 0xff, 0x65, 0x12, 0xc7, 0x9d, 0x7e, 0x0b, 0x00, 0x00,
  919. }