pb.pb.go 20 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524
  1. // Code generated by protoc-gen-gogo. DO NOT EDIT.
  2. // source: pb/pb.proto
  3. /*
  4. Package pb is a generated protocol buffer package.
  5. It is generated from these files:
  6. pb/pb.proto
  7. It has these top-level messages:
  8. Metadata
  9. BurndownSparseMatrixRow
  10. BurndownSparseMatrix
  11. BurndownAnalysisResults
  12. CompressedSparseRowMatrix
  13. Couples
  14. TouchedFiles
  15. DeveloperTouchedFiles
  16. CouplesAnalysisResults
  17. UASTChange
  18. UASTChangesSaverResults
  19. AnalysisResults
  20. */
  21. package pb
  22. import proto "github.com/gogo/protobuf/proto"
  23. import fmt "fmt"
  24. import math "math"
  25. // Reference imports to suppress errors if they are not otherwise used.
  26. var _ = proto.Marshal
  27. var _ = fmt.Errorf
  28. var _ = math.Inf
  29. // This is a compile-time assertion to ensure that this generated file
  30. // is compatible with the proto package it is being compiled against.
  31. // A compilation error at this line likely means your copy of the
  32. // proto package needs to be updated.
  33. const _ = proto.GoGoProtoPackageIsVersion2 // please upgrade the proto package
  34. type Metadata struct {
  35. // this format is versioned
  36. Version int32 `protobuf:"varint,1,opt,name=version,proto3" json:"version,omitempty"`
  37. // git hash of the revision from which Hercules is built
  38. Hash string `protobuf:"bytes,2,opt,name=hash,proto3" json:"hash,omitempty"`
  39. // repository's name
  40. Repository string `protobuf:"bytes,3,opt,name=repository,proto3" json:"repository,omitempty"`
  41. // timestamp of the first analysed commit
  42. BeginUnixTime int64 `protobuf:"varint,4,opt,name=begin_unix_time,json=beginUnixTime,proto3" json:"begin_unix_time,omitempty"`
  43. // timestamp of the last analysed commit
  44. EndUnixTime int64 `protobuf:"varint,5,opt,name=end_unix_time,json=endUnixTime,proto3" json:"end_unix_time,omitempty"`
  45. // number of processed commits
  46. Commits int32 `protobuf:"varint,6,opt,name=commits,proto3" json:"commits,omitempty"`
  47. }
  48. func (m *Metadata) Reset() { *m = Metadata{} }
  49. func (m *Metadata) String() string { return proto.CompactTextString(m) }
  50. func (*Metadata) ProtoMessage() {}
  51. func (*Metadata) Descriptor() ([]byte, []int) { return fileDescriptorPb, []int{0} }
  52. func (m *Metadata) GetVersion() int32 {
  53. if m != nil {
  54. return m.Version
  55. }
  56. return 0
  57. }
  58. func (m *Metadata) GetHash() string {
  59. if m != nil {
  60. return m.Hash
  61. }
  62. return ""
  63. }
  64. func (m *Metadata) GetRepository() string {
  65. if m != nil {
  66. return m.Repository
  67. }
  68. return ""
  69. }
  70. func (m *Metadata) GetBeginUnixTime() int64 {
  71. if m != nil {
  72. return m.BeginUnixTime
  73. }
  74. return 0
  75. }
  76. func (m *Metadata) GetEndUnixTime() int64 {
  77. if m != nil {
  78. return m.EndUnixTime
  79. }
  80. return 0
  81. }
  82. func (m *Metadata) GetCommits() int32 {
  83. if m != nil {
  84. return m.Commits
  85. }
  86. return 0
  87. }
  88. type BurndownSparseMatrixRow struct {
  89. // the first `len(column)` elements are stored,
  90. // the rest `number_of_columns - len(column)` values are zeros
  91. Columns []uint32 `protobuf:"varint,1,rep,packed,name=columns" json:"columns,omitempty"`
  92. }
  93. func (m *BurndownSparseMatrixRow) Reset() { *m = BurndownSparseMatrixRow{} }
  94. func (m *BurndownSparseMatrixRow) String() string { return proto.CompactTextString(m) }
  95. func (*BurndownSparseMatrixRow) ProtoMessage() {}
  96. func (*BurndownSparseMatrixRow) Descriptor() ([]byte, []int) { return fileDescriptorPb, []int{1} }
  97. func (m *BurndownSparseMatrixRow) GetColumns() []uint32 {
  98. if m != nil {
  99. return m.Columns
  100. }
  101. return nil
  102. }
  103. type BurndownSparseMatrix struct {
  104. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
  105. NumberOfRows int32 `protobuf:"varint,2,opt,name=number_of_rows,json=numberOfRows,proto3" json:"number_of_rows,omitempty"`
  106. NumberOfColumns int32 `protobuf:"varint,3,opt,name=number_of_columns,json=numberOfColumns,proto3" json:"number_of_columns,omitempty"`
  107. // `len(row)` matches `number_of_rows`
  108. Rows []*BurndownSparseMatrixRow `protobuf:"bytes,4,rep,name=rows" json:"rows,omitempty"`
  109. }
  110. func (m *BurndownSparseMatrix) Reset() { *m = BurndownSparseMatrix{} }
  111. func (m *BurndownSparseMatrix) String() string { return proto.CompactTextString(m) }
  112. func (*BurndownSparseMatrix) ProtoMessage() {}
  113. func (*BurndownSparseMatrix) Descriptor() ([]byte, []int) { return fileDescriptorPb, []int{2} }
  114. func (m *BurndownSparseMatrix) GetName() string {
  115. if m != nil {
  116. return m.Name
  117. }
  118. return ""
  119. }
  120. func (m *BurndownSparseMatrix) GetNumberOfRows() int32 {
  121. if m != nil {
  122. return m.NumberOfRows
  123. }
  124. return 0
  125. }
  126. func (m *BurndownSparseMatrix) GetNumberOfColumns() int32 {
  127. if m != nil {
  128. return m.NumberOfColumns
  129. }
  130. return 0
  131. }
  132. func (m *BurndownSparseMatrix) GetRows() []*BurndownSparseMatrixRow {
  133. if m != nil {
  134. return m.Rows
  135. }
  136. return nil
  137. }
  138. type BurndownAnalysisResults struct {
  139. // how many days are in each band [burndown_project, burndown_file, burndown_developer]
  140. Granularity int32 `protobuf:"varint,1,opt,name=granularity,proto3" json:"granularity,omitempty"`
  141. // how frequently we measure the state of each band [burndown_project, burndown_file, burndown_developer]
  142. Sampling int32 `protobuf:"varint,2,opt,name=sampling,proto3" json:"sampling,omitempty"`
  143. // always exists
  144. Project *BurndownSparseMatrix `protobuf:"bytes,3,opt,name=project" json:"project,omitempty"`
  145. // this is included if `-burndown-files` was specified
  146. Files []*BurndownSparseMatrix `protobuf:"bytes,4,rep,name=files" json:"files,omitempty"`
  147. // these two are included if `-burndown-people` was specified
  148. People []*BurndownSparseMatrix `protobuf:"bytes,5,rep,name=people" json:"people,omitempty"`
  149. // rows and cols order correspond to `burndown_developer`
  150. PeopleInteraction *CompressedSparseRowMatrix `protobuf:"bytes,6,opt,name=people_interaction,json=peopleInteraction" json:"people_interaction,omitempty"`
  151. }
  152. func (m *BurndownAnalysisResults) Reset() { *m = BurndownAnalysisResults{} }
  153. func (m *BurndownAnalysisResults) String() string { return proto.CompactTextString(m) }
  154. func (*BurndownAnalysisResults) ProtoMessage() {}
  155. func (*BurndownAnalysisResults) Descriptor() ([]byte, []int) { return fileDescriptorPb, []int{3} }
  156. func (m *BurndownAnalysisResults) GetGranularity() int32 {
  157. if m != nil {
  158. return m.Granularity
  159. }
  160. return 0
  161. }
  162. func (m *BurndownAnalysisResults) GetSampling() int32 {
  163. if m != nil {
  164. return m.Sampling
  165. }
  166. return 0
  167. }
  168. func (m *BurndownAnalysisResults) GetProject() *BurndownSparseMatrix {
  169. if m != nil {
  170. return m.Project
  171. }
  172. return nil
  173. }
  174. func (m *BurndownAnalysisResults) GetFiles() []*BurndownSparseMatrix {
  175. if m != nil {
  176. return m.Files
  177. }
  178. return nil
  179. }
  180. func (m *BurndownAnalysisResults) GetPeople() []*BurndownSparseMatrix {
  181. if m != nil {
  182. return m.People
  183. }
  184. return nil
  185. }
  186. func (m *BurndownAnalysisResults) GetPeopleInteraction() *CompressedSparseRowMatrix {
  187. if m != nil {
  188. return m.PeopleInteraction
  189. }
  190. return nil
  191. }
  192. type CompressedSparseRowMatrix struct {
  193. NumberOfRows int32 `protobuf:"varint,1,opt,name=number_of_rows,json=numberOfRows,proto3" json:"number_of_rows,omitempty"`
  194. NumberOfColumns int32 `protobuf:"varint,2,opt,name=number_of_columns,json=numberOfColumns,proto3" json:"number_of_columns,omitempty"`
  195. // https://en.wikipedia.org/wiki/Sparse_matrix#Compressed_sparse_row_.28CSR.2C_CRS_or_Yale_format.29
  196. Data []int64 `protobuf:"varint,3,rep,packed,name=data" json:"data,omitempty"`
  197. Indices []int32 `protobuf:"varint,4,rep,packed,name=indices" json:"indices,omitempty"`
  198. Indptr []int64 `protobuf:"varint,5,rep,packed,name=indptr" json:"indptr,omitempty"`
  199. }
  200. func (m *CompressedSparseRowMatrix) Reset() { *m = CompressedSparseRowMatrix{} }
  201. func (m *CompressedSparseRowMatrix) String() string { return proto.CompactTextString(m) }
  202. func (*CompressedSparseRowMatrix) ProtoMessage() {}
  203. func (*CompressedSparseRowMatrix) Descriptor() ([]byte, []int) { return fileDescriptorPb, []int{4} }
  204. func (m *CompressedSparseRowMatrix) GetNumberOfRows() int32 {
  205. if m != nil {
  206. return m.NumberOfRows
  207. }
  208. return 0
  209. }
  210. func (m *CompressedSparseRowMatrix) GetNumberOfColumns() int32 {
  211. if m != nil {
  212. return m.NumberOfColumns
  213. }
  214. return 0
  215. }
  216. func (m *CompressedSparseRowMatrix) GetData() []int64 {
  217. if m != nil {
  218. return m.Data
  219. }
  220. return nil
  221. }
  222. func (m *CompressedSparseRowMatrix) GetIndices() []int32 {
  223. if m != nil {
  224. return m.Indices
  225. }
  226. return nil
  227. }
  228. func (m *CompressedSparseRowMatrix) GetIndptr() []int64 {
  229. if m != nil {
  230. return m.Indptr
  231. }
  232. return nil
  233. }
  234. type Couples struct {
  235. // name of each `matrix`'s row and column
  236. Index []string `protobuf:"bytes,1,rep,name=index" json:"index,omitempty"`
  237. // is always square
  238. Matrix *CompressedSparseRowMatrix `protobuf:"bytes,2,opt,name=matrix" json:"matrix,omitempty"`
  239. }
  240. func (m *Couples) Reset() { *m = Couples{} }
  241. func (m *Couples) String() string { return proto.CompactTextString(m) }
  242. func (*Couples) ProtoMessage() {}
  243. func (*Couples) Descriptor() ([]byte, []int) { return fileDescriptorPb, []int{5} }
  244. func (m *Couples) GetIndex() []string {
  245. if m != nil {
  246. return m.Index
  247. }
  248. return nil
  249. }
  250. func (m *Couples) GetMatrix() *CompressedSparseRowMatrix {
  251. if m != nil {
  252. return m.Matrix
  253. }
  254. return nil
  255. }
  256. type TouchedFiles struct {
  257. Files []int32 `protobuf:"varint,1,rep,packed,name=files" json:"files,omitempty"`
  258. }
  259. func (m *TouchedFiles) Reset() { *m = TouchedFiles{} }
  260. func (m *TouchedFiles) String() string { return proto.CompactTextString(m) }
  261. func (*TouchedFiles) ProtoMessage() {}
  262. func (*TouchedFiles) Descriptor() ([]byte, []int) { return fileDescriptorPb, []int{6} }
  263. func (m *TouchedFiles) GetFiles() []int32 {
  264. if m != nil {
  265. return m.Files
  266. }
  267. return nil
  268. }
  269. type DeveloperTouchedFiles struct {
  270. // order corresponds to `developer_couples::index`
  271. Developers []*TouchedFiles `protobuf:"bytes,1,rep,name=developers" json:"developers,omitempty"`
  272. }
  273. func (m *DeveloperTouchedFiles) Reset() { *m = DeveloperTouchedFiles{} }
  274. func (m *DeveloperTouchedFiles) String() string { return proto.CompactTextString(m) }
  275. func (*DeveloperTouchedFiles) ProtoMessage() {}
  276. func (*DeveloperTouchedFiles) Descriptor() ([]byte, []int) { return fileDescriptorPb, []int{7} }
  277. func (m *DeveloperTouchedFiles) GetDevelopers() []*TouchedFiles {
  278. if m != nil {
  279. return m.Developers
  280. }
  281. return nil
  282. }
  283. type CouplesAnalysisResults struct {
  284. FileCouples *Couples `protobuf:"bytes,6,opt,name=file_couples,json=fileCouples" json:"file_couples,omitempty"`
  285. DeveloperCouples *Couples `protobuf:"bytes,7,opt,name=developer_couples,json=developerCouples" json:"developer_couples,omitempty"`
  286. TouchedFiles *DeveloperTouchedFiles `protobuf:"bytes,8,opt,name=touched_files,json=touchedFiles" json:"touched_files,omitempty"`
  287. }
  288. func (m *CouplesAnalysisResults) Reset() { *m = CouplesAnalysisResults{} }
  289. func (m *CouplesAnalysisResults) String() string { return proto.CompactTextString(m) }
  290. func (*CouplesAnalysisResults) ProtoMessage() {}
  291. func (*CouplesAnalysisResults) Descriptor() ([]byte, []int) { return fileDescriptorPb, []int{8} }
  292. func (m *CouplesAnalysisResults) GetFileCouples() *Couples {
  293. if m != nil {
  294. return m.FileCouples
  295. }
  296. return nil
  297. }
  298. func (m *CouplesAnalysisResults) GetDeveloperCouples() *Couples {
  299. if m != nil {
  300. return m.DeveloperCouples
  301. }
  302. return nil
  303. }
  304. func (m *CouplesAnalysisResults) GetTouchedFiles() *DeveloperTouchedFiles {
  305. if m != nil {
  306. return m.TouchedFiles
  307. }
  308. return nil
  309. }
  310. type UASTChange struct {
  311. FileName string `protobuf:"bytes,1,opt,name=file_name,json=fileName,proto3" json:"file_name,omitempty"`
  312. SrcBefore string `protobuf:"bytes,2,opt,name=src_before,json=srcBefore,proto3" json:"src_before,omitempty"`
  313. SrcAfter string `protobuf:"bytes,3,opt,name=src_after,json=srcAfter,proto3" json:"src_after,omitempty"`
  314. UastBefore string `protobuf:"bytes,4,opt,name=uast_before,json=uastBefore,proto3" json:"uast_before,omitempty"`
  315. UastAfter string `protobuf:"bytes,5,opt,name=uast_after,json=uastAfter,proto3" json:"uast_after,omitempty"`
  316. }
  317. func (m *UASTChange) Reset() { *m = UASTChange{} }
  318. func (m *UASTChange) String() string { return proto.CompactTextString(m) }
  319. func (*UASTChange) ProtoMessage() {}
  320. func (*UASTChange) Descriptor() ([]byte, []int) { return fileDescriptorPb, []int{9} }
  321. func (m *UASTChange) GetFileName() string {
  322. if m != nil {
  323. return m.FileName
  324. }
  325. return ""
  326. }
  327. func (m *UASTChange) GetSrcBefore() string {
  328. if m != nil {
  329. return m.SrcBefore
  330. }
  331. return ""
  332. }
  333. func (m *UASTChange) GetSrcAfter() string {
  334. if m != nil {
  335. return m.SrcAfter
  336. }
  337. return ""
  338. }
  339. func (m *UASTChange) GetUastBefore() string {
  340. if m != nil {
  341. return m.UastBefore
  342. }
  343. return ""
  344. }
  345. func (m *UASTChange) GetUastAfter() string {
  346. if m != nil {
  347. return m.UastAfter
  348. }
  349. return ""
  350. }
  351. type UASTChangesSaverResults struct {
  352. Changes []*UASTChange `protobuf:"bytes,1,rep,name=changes" json:"changes,omitempty"`
  353. }
  354. func (m *UASTChangesSaverResults) Reset() { *m = UASTChangesSaverResults{} }
  355. func (m *UASTChangesSaverResults) String() string { return proto.CompactTextString(m) }
  356. func (*UASTChangesSaverResults) ProtoMessage() {}
  357. func (*UASTChangesSaverResults) Descriptor() ([]byte, []int) { return fileDescriptorPb, []int{10} }
  358. func (m *UASTChangesSaverResults) GetChanges() []*UASTChange {
  359. if m != nil {
  360. return m.Changes
  361. }
  362. return nil
  363. }
  364. type AnalysisResults struct {
  365. Header *Metadata `protobuf:"bytes,1,opt,name=header" json:"header,omitempty"`
  366. // the mapped values are dynamic messages which require the second parsing pass.
  367. Contents map[string][]byte `protobuf:"bytes,2,rep,name=contents" json:"contents,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
  368. }
  369. func (m *AnalysisResults) Reset() { *m = AnalysisResults{} }
  370. func (m *AnalysisResults) String() string { return proto.CompactTextString(m) }
  371. func (*AnalysisResults) ProtoMessage() {}
  372. func (*AnalysisResults) Descriptor() ([]byte, []int) { return fileDescriptorPb, []int{11} }
  373. func (m *AnalysisResults) GetHeader() *Metadata {
  374. if m != nil {
  375. return m.Header
  376. }
  377. return nil
  378. }
  379. func (m *AnalysisResults) GetContents() map[string][]byte {
  380. if m != nil {
  381. return m.Contents
  382. }
  383. return nil
  384. }
  385. func init() {
  386. proto.RegisterType((*Metadata)(nil), "Metadata")
  387. proto.RegisterType((*BurndownSparseMatrixRow)(nil), "BurndownSparseMatrixRow")
  388. proto.RegisterType((*BurndownSparseMatrix)(nil), "BurndownSparseMatrix")
  389. proto.RegisterType((*BurndownAnalysisResults)(nil), "BurndownAnalysisResults")
  390. proto.RegisterType((*CompressedSparseRowMatrix)(nil), "CompressedSparseRowMatrix")
  391. proto.RegisterType((*Couples)(nil), "Couples")
  392. proto.RegisterType((*TouchedFiles)(nil), "TouchedFiles")
  393. proto.RegisterType((*DeveloperTouchedFiles)(nil), "DeveloperTouchedFiles")
  394. proto.RegisterType((*CouplesAnalysisResults)(nil), "CouplesAnalysisResults")
  395. proto.RegisterType((*UASTChange)(nil), "UASTChange")
  396. proto.RegisterType((*UASTChangesSaverResults)(nil), "UASTChangesSaverResults")
  397. proto.RegisterType((*AnalysisResults)(nil), "AnalysisResults")
  398. }
  399. func init() { proto.RegisterFile("pb/pb.proto", fileDescriptorPb) }
  400. var fileDescriptorPb = []byte{
  401. // 805 bytes of a gzipped FileDescriptorProto
  402. 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x55, 0x4d, 0x8f, 0xdb, 0x36,
  403. 0x10, 0x85, 0x56, 0xfe, 0x1c, 0xd9, 0xdd, 0x2c, 0x91, 0x6c, 0xd4, 0x2d, 0x92, 0xba, 0x42, 0x5a,
  404. 0x18, 0x4d, 0xa3, 0x00, 0x0e, 0x0a, 0x14, 0xc9, 0xa5, 0x1b, 0xb7, 0x01, 0x72, 0x48, 0x0b, 0x70,
  405. 0x37, 0x67, 0x81, 0x96, 0xe8, 0x35, 0x5b, 0x89, 0x14, 0x48, 0x6a, 0xbd, 0xfe, 0x41, 0xbd, 0x14,
  406. 0x28, 0x7a, 0xe8, 0xa9, 0x97, 0xfe, 0xb6, 0x82, 0x1f, 0xb2, 0x9d, 0x85, 0x37, 0xc8, 0x8d, 0x6f,
  407. 0xe6, 0x3d, 0xea, 0xcd, 0x0c, 0x49, 0x41, 0x54, 0x2f, 0x9e, 0xd7, 0x8b, 0xb4, 0x96, 0x42, 0x8b,
  408. 0xe4, 0xbf, 0x00, 0x06, 0xef, 0xa8, 0x26, 0x05, 0xd1, 0x04, 0xc5, 0xd0, 0xbf, 0xa6, 0x52, 0x31,
  409. 0xc1, 0xe3, 0x60, 0x12, 0x4c, 0xbb, 0xb8, 0x85, 0x08, 0x41, 0x67, 0x45, 0xd4, 0x2a, 0x3e, 0x9a,
  410. 0x04, 0xd3, 0x21, 0xb6, 0x6b, 0xf4, 0x18, 0x40, 0xd2, 0x5a, 0x28, 0xa6, 0x85, 0xdc, 0xc4, 0xa1,
  411. 0xcd, 0xec, 0x45, 0xd0, 0x37, 0x70, 0xbc, 0xa0, 0x57, 0x8c, 0x67, 0x0d, 0x67, 0x37, 0x99, 0x66,
  412. 0x15, 0x8d, 0x3b, 0x93, 0x60, 0x1a, 0xe2, 0xb1, 0x0d, 0xbf, 0xe7, 0xec, 0xe6, 0x92, 0x55, 0x14,
  413. 0x25, 0x30, 0xa6, 0xbc, 0xd8, 0x63, 0x75, 0x2d, 0x2b, 0xa2, 0xbc, 0xd8, 0x72, 0x62, 0xe8, 0xe7,
  414. 0xa2, 0xaa, 0x98, 0x56, 0x71, 0xcf, 0x39, 0xf3, 0x30, 0x79, 0x01, 0x0f, 0x5f, 0x37, 0x92, 0x17,
  415. 0x62, 0xcd, 0x2f, 0x6a, 0x22, 0x15, 0x7d, 0x47, 0xb4, 0x64, 0x37, 0x58, 0xac, 0x9d, 0xa8, 0x6c,
  416. 0x2a, 0xae, 0xe2, 0x60, 0x12, 0x4e, 0xc7, 0xb8, 0x85, 0xc9, 0x9f, 0x01, 0xdc, 0x3f, 0xa4, 0x32,
  417. 0x75, 0x72, 0x52, 0x51, 0x5b, 0xfe, 0x10, 0xdb, 0x35, 0x7a, 0x02, 0x9f, 0xf1, 0xa6, 0x5a, 0x50,
  418. 0x99, 0x89, 0x65, 0x26, 0xc5, 0x5a, 0xd9, 0x2e, 0x74, 0xf1, 0xc8, 0x45, 0x7f, 0x5d, 0x62, 0xb1,
  419. 0x56, 0xe8, 0x5b, 0x38, 0xd9, 0xb1, 0xda, 0xcf, 0x86, 0x96, 0x78, 0xdc, 0x12, 0xe7, 0x2e, 0x8c,
  420. 0xbe, 0x83, 0x8e, 0xdd, 0xa7, 0x33, 0x09, 0xa7, 0xd1, 0x2c, 0x4e, 0xef, 0x28, 0x00, 0x5b, 0x56,
  421. 0xf2, 0xf7, 0xd1, 0xae, 0xc4, 0x73, 0x4e, 0xca, 0x8d, 0x62, 0x0a, 0x53, 0xd5, 0x94, 0x5a, 0xa1,
  422. 0x09, 0x44, 0x57, 0x92, 0xf0, 0xa6, 0x24, 0x92, 0xe9, 0x8d, 0x9f, 0xda, 0x7e, 0x08, 0x9d, 0xc1,
  423. 0x40, 0x91, 0xaa, 0x2e, 0x19, 0xbf, 0xf2, 0xbe, 0xb7, 0x18, 0x3d, 0x87, 0x7e, 0x2d, 0xc5, 0x6f,
  424. 0x34, 0xd7, 0xd6, 0x69, 0x34, 0x7b, 0x70, 0xd8, 0x4a, 0xcb, 0x42, 0x4f, 0xa1, 0xbb, 0x64, 0x25,
  425. 0x6d, 0x9d, 0xdf, 0x41, 0x77, 0x1c, 0xf4, 0x0c, 0x7a, 0x35, 0x15, 0x75, 0x69, 0x06, 0xfa, 0x11,
  426. 0xb6, 0x27, 0xa1, 0xb7, 0x80, 0xdc, 0x2a, 0x63, 0x5c, 0x53, 0x49, 0x72, 0x6d, 0xce, 0x61, 0xcf,
  427. 0xfa, 0x3a, 0x4b, 0xe7, 0xa2, 0xaa, 0x25, 0x55, 0x8a, 0x16, 0x4e, 0x8c, 0xc5, 0xda, 0xeb, 0x4f,
  428. 0x9c, 0xea, 0xed, 0x4e, 0x94, 0xfc, 0x13, 0xc0, 0xe7, 0x77, 0x0a, 0x0e, 0xcc, 0x33, 0xf8, 0xd4,
  429. 0x79, 0x1e, 0x1d, 0x9e, 0x27, 0x82, 0x8e, 0xb9, 0x3f, 0x71, 0x38, 0x09, 0xa7, 0x21, 0xee, 0xb4,
  430. 0x77, 0x89, 0xf1, 0x82, 0xe5, 0xbe, 0x59, 0x5d, 0xdc, 0x42, 0x74, 0x0a, 0x3d, 0xc6, 0x8b, 0x5a,
  431. 0x4b, 0xdb, 0x97, 0x10, 0x7b, 0x94, 0x5c, 0x40, 0x7f, 0x2e, 0x9a, 0xda, 0xb4, 0xee, 0x3e, 0x74,
  432. 0x19, 0x2f, 0xe8, 0x8d, 0x3d, 0xb7, 0x43, 0xec, 0x00, 0x9a, 0x41, 0xaf, 0xb2, 0x25, 0x58, 0x1f,
  433. 0x1f, 0xef, 0x8a, 0x67, 0x26, 0x4f, 0x60, 0x74, 0x29, 0x9a, 0x7c, 0x45, 0x8b, 0x37, 0xcc, 0xef,
  434. 0xec, 0x26, 0x18, 0x58, 0x53, 0x0e, 0x24, 0x6f, 0xe0, 0xc1, 0x4f, 0xf4, 0x9a, 0x96, 0xa2, 0xa6,
  435. 0xf2, 0x03, 0xfa, 0x33, 0x80, 0xa2, 0x4d, 0x38, 0x4d, 0x34, 0x1b, 0xa7, 0xfb, 0x14, 0xbc, 0x47,
  436. 0x48, 0xfe, 0x0d, 0xe0, 0xd4, 0xd7, 0x70, 0xfb, 0xa4, 0x3e, 0x85, 0x91, 0xf9, 0x56, 0x96, 0xbb,
  437. 0xb4, 0x1f, 0xec, 0x20, 0xf5, 0x74, 0x1c, 0x99, 0x6c, 0x5b, 0xff, 0xf7, 0x70, 0xb2, 0xdd, 0x75,
  438. 0xab, 0xe8, 0xdf, 0x52, 0xdc, 0xdb, 0x52, 0x5a, 0xd9, 0x2b, 0x18, 0x6b, 0x67, 0x2d, 0x73, 0x45,
  439. 0x0e, 0xac, 0xe4, 0x34, 0x3d, 0x58, 0x1c, 0x1e, 0xe9, 0x3d, 0x94, 0xfc, 0x11, 0x00, 0xbc, 0x3f,
  440. 0xbf, 0xb8, 0x9c, 0xaf, 0x08, 0xbf, 0xa2, 0xe8, 0x0b, 0x18, 0x5a, 0xbf, 0x7b, 0xcf, 0xc1, 0xc0,
  441. 0x04, 0x7e, 0x31, 0x4f, 0xc2, 0x23, 0x00, 0x25, 0xf3, 0x6c, 0x41, 0x97, 0x42, 0x52, 0xff, 0x28,
  442. 0x0e, 0x95, 0xcc, 0x5f, 0xdb, 0x80, 0xd1, 0x9a, 0x34, 0x59, 0x6a, 0x2a, 0xfd, 0xc3, 0x38, 0x50,
  443. 0x32, 0x3f, 0x37, 0x18, 0x7d, 0x09, 0x51, 0x43, 0x94, 0x6e, 0xc5, 0x1d, 0xf7, 0x6e, 0x9a, 0x90,
  444. 0x57, 0x3f, 0x02, 0x8b, 0xbc, 0xbc, 0xeb, 0x36, 0x37, 0x11, 0xab, 0x4f, 0x7e, 0x84, 0x87, 0x3b,
  445. 0x9b, 0xea, 0x82, 0x5c, 0x53, 0xd9, 0xf6, 0xf8, 0x6b, 0xe8, 0xe7, 0x2e, 0xec, 0x47, 0x15, 0xa5,
  446. 0x3b, 0x2a, 0x6e, 0x73, 0xc9, 0x5f, 0x01, 0x1c, 0xdf, 0x1e, 0xcf, 0x57, 0xd0, 0x5b, 0x51, 0x52,
  447. 0x50, 0x69, 0x6b, 0x8d, 0x66, 0xc3, 0xb4, 0xfd, 0x2b, 0x60, 0x9f, 0x40, 0x2f, 0x61, 0x90, 0x0b,
  448. 0xae, 0x29, 0xd7, 0xe6, 0x22, 0x98, 0xed, 0x1f, 0xa7, 0xb7, 0xb6, 0x49, 0xe7, 0x9e, 0xf0, 0x33,
  449. 0xd7, 0x72, 0x83, 0xb7, 0xfc, 0xb3, 0x57, 0x30, 0xfe, 0x20, 0x85, 0xee, 0x41, 0xf8, 0x3b, 0xdd,
  450. 0xf8, 0xc6, 0x9a, 0xa5, 0x39, 0x99, 0xd7, 0xa4, 0x6c, 0x5c, 0x3b, 0x47, 0xd8, 0x81, 0x97, 0x47,
  451. 0x3f, 0x04, 0x8b, 0x9e, 0xfd, 0x55, 0xbd, 0xf8, 0x3f, 0x00, 0x00, 0xff, 0xff, 0xd4, 0x4f, 0x9f,
  452. 0xe0, 0xb9, 0x06, 0x00, 0x00,
  453. }