1// Code generated by protoc-gen-go. DO NOT EDIT.
2// source: google/genomics/v1/readalignment.proto
3
4package genomics // import "google.golang.org/genproto/googleapis/genomics/v1"
5
6import proto "github.com/golang/protobuf/proto"
7import fmt "fmt"
8import math "math"
9import _struct "github.com/golang/protobuf/ptypes/struct"
10import _ "google.golang.org/genproto/googleapis/api/annotations"
11
12// Reference imports to suppress errors if they are not otherwise used.
13var _ = proto.Marshal
14var _ = fmt.Errorf
15var _ = math.Inf
16
17// This is a compile-time assertion to ensure that this generated file
18// is compatible with the proto package it is being compiled against.
19// A compilation error at this line likely means your copy of the
20// proto package needs to be updated.
21const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package
22
23// A linear alignment can be represented by one CIGAR string. Describes the
24// mapped position and local alignment of the read to the reference.
25type LinearAlignment struct {
26	// The position of this alignment.
27	Position *Position `protobuf:"bytes,1,opt,name=position,proto3" json:"position,omitempty"`
28	// The mapping quality of this alignment. Represents how likely
29	// the read maps to this position as opposed to other locations.
30	//
31	// Specifically, this is -10 log10 Pr(mapping position is wrong), rounded to
32	// the nearest integer.
33	MappingQuality int32 `protobuf:"varint,2,opt,name=mapping_quality,json=mappingQuality,proto3" json:"mapping_quality,omitempty"`
34	// Represents the local alignment of this sequence (alignment matches, indels,
35	// etc) against the reference.
36	Cigar                []*CigarUnit `protobuf:"bytes,3,rep,name=cigar,proto3" json:"cigar,omitempty"`
37	XXX_NoUnkeyedLiteral struct{}     `json:"-"`
38	XXX_unrecognized     []byte       `json:"-"`
39	XXX_sizecache        int32        `json:"-"`
40}
41
42func (m *LinearAlignment) Reset()         { *m = LinearAlignment{} }
43func (m *LinearAlignment) String() string { return proto.CompactTextString(m) }
44func (*LinearAlignment) ProtoMessage()    {}
45func (*LinearAlignment) Descriptor() ([]byte, []int) {
46	return fileDescriptor_readalignment_b0fdaef32d6e6f98, []int{0}
47}
48func (m *LinearAlignment) XXX_Unmarshal(b []byte) error {
49	return xxx_messageInfo_LinearAlignment.Unmarshal(m, b)
50}
51func (m *LinearAlignment) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
52	return xxx_messageInfo_LinearAlignment.Marshal(b, m, deterministic)
53}
54func (dst *LinearAlignment) XXX_Merge(src proto.Message) {
55	xxx_messageInfo_LinearAlignment.Merge(dst, src)
56}
57func (m *LinearAlignment) XXX_Size() int {
58	return xxx_messageInfo_LinearAlignment.Size(m)
59}
60func (m *LinearAlignment) XXX_DiscardUnknown() {
61	xxx_messageInfo_LinearAlignment.DiscardUnknown(m)
62}
63
64var xxx_messageInfo_LinearAlignment proto.InternalMessageInfo
65
66func (m *LinearAlignment) GetPosition() *Position {
67	if m != nil {
68		return m.Position
69	}
70	return nil
71}
72
73func (m *LinearAlignment) GetMappingQuality() int32 {
74	if m != nil {
75		return m.MappingQuality
76	}
77	return 0
78}
79
80func (m *LinearAlignment) GetCigar() []*CigarUnit {
81	if m != nil {
82		return m.Cigar
83	}
84	return nil
85}
86
87// A read alignment describes a linear alignment of a string of DNA to a
88// [reference sequence][google.genomics.v1.Reference], in addition to metadata
89// about the fragment (the molecule of DNA sequenced) and the read (the bases
90// which were read by the sequencer). A read is equivalent to a line in a SAM
91// file. A read belongs to exactly one read group and exactly one
92// [read group set][google.genomics.v1.ReadGroupSet].
93//
94// For more genomics resource definitions, see [Fundamentals of Google
95// Genomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)
96//
97// ### Reverse-stranded reads
98//
99// Mapped reads (reads having a non-null `alignment`) can be aligned to either
100// the forward or the reverse strand of their associated reference. Strandedness
101// of a mapped read is encoded by `alignment.position.reverseStrand`.
102//
103// If we consider the reference to be a forward-stranded coordinate space of
104// `[0, reference.length)` with `0` as the left-most position and
105// `reference.length` as the right-most position, reads are always aligned left
106// to right. That is, `alignment.position.position` always refers to the
107// left-most reference coordinate and `alignment.cigar` describes the alignment
108// of this read to the reference from left to right. All per-base fields such as
109// `alignedSequence` and `alignedQuality` share this same left-to-right
110// orientation; this is true of reads which are aligned to either strand. For
111// reverse-stranded reads, this means that `alignedSequence` is the reverse
112// complement of the bases that were originally reported by the sequencing
113// machine.
114//
115// ### Generating a reference-aligned sequence string
116//
117// When interacting with mapped reads, it's often useful to produce a string
118// representing the local alignment of the read to reference. The following
119// pseudocode demonstrates one way of doing this:
120//
121//     out = ""
122//     offset = 0
123//     for c in read.alignment.cigar {
124//       switch c.operation {
125//       case "ALIGNMENT_MATCH", "SEQUENCE_MATCH", "SEQUENCE_MISMATCH":
126//         out += read.alignedSequence[offset:offset+c.operationLength]
127//         offset += c.operationLength
128//         break
129//       case "CLIP_SOFT", "INSERT":
130//         offset += c.operationLength
131//         break
132//       case "PAD":
133//         out += repeat("*", c.operationLength)
134//         break
135//       case "DELETE":
136//         out += repeat("-", c.operationLength)
137//         break
138//       case "SKIP":
139//         out += repeat(" ", c.operationLength)
140//         break
141//       case "CLIP_HARD":
142//         break
143//       }
144//     }
145//     return out
146//
147// ### Converting to SAM's CIGAR string
148//
149// The following pseudocode generates a SAM CIGAR string from the
150// `cigar` field. Note that this is a lossy conversion
151// (`cigar.referenceSequence` is lost).
152//
153//     cigarMap = {
154//       "ALIGNMENT_MATCH": "M",
155//       "INSERT": "I",
156//       "DELETE": "D",
157//       "SKIP": "N",
158//       "CLIP_SOFT": "S",
159//       "CLIP_HARD": "H",
160//       "PAD": "P",
161//       "SEQUENCE_MATCH": "=",
162//       "SEQUENCE_MISMATCH": "X",
163//     }
164//     cigarStr = ""
165//     for c in read.alignment.cigar {
166//       cigarStr += c.operationLength + cigarMap[c.operation]
167//     }
168//     return cigarStr
169type Read struct {
170	// The server-generated read ID, unique across all reads. This is different
171	// from the `fragmentName`.
172	Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
173	// The ID of the read group this read belongs to. A read belongs to exactly
174	// one read group. This is a server-generated ID which is distinct from SAM's
175	// RG tag (for that value, see
176	// [ReadGroup.name][google.genomics.v1.ReadGroup.name]).
177	ReadGroupId string `protobuf:"bytes,2,opt,name=read_group_id,json=readGroupId,proto3" json:"read_group_id,omitempty"`
178	// The ID of the read group set this read belongs to. A read belongs to
179	// exactly one read group set.
180	ReadGroupSetId string `protobuf:"bytes,3,opt,name=read_group_set_id,json=readGroupSetId,proto3" json:"read_group_set_id,omitempty"`
181	// The fragment name. Equivalent to QNAME (query template name) in SAM.
182	FragmentName string `protobuf:"bytes,4,opt,name=fragment_name,json=fragmentName,proto3" json:"fragment_name,omitempty"`
183	// The orientation and the distance between reads from the fragment are
184	// consistent with the sequencing protocol (SAM flag 0x2).
185	ProperPlacement bool `protobuf:"varint,5,opt,name=proper_placement,json=properPlacement,proto3" json:"proper_placement,omitempty"`
186	// The fragment is a PCR or optical duplicate (SAM flag 0x400).
187	DuplicateFragment bool `protobuf:"varint,6,opt,name=duplicate_fragment,json=duplicateFragment,proto3" json:"duplicate_fragment,omitempty"`
188	// The observed length of the fragment, equivalent to TLEN in SAM.
189	FragmentLength int32 `protobuf:"varint,7,opt,name=fragment_length,json=fragmentLength,proto3" json:"fragment_length,omitempty"`
190	// The read number in sequencing. 0-based and less than numberReads. This
191	// field replaces SAM flag 0x40 and 0x80.
192	ReadNumber int32 `protobuf:"varint,8,opt,name=read_number,json=readNumber,proto3" json:"read_number,omitempty"`
193	// The number of reads in the fragment (extension to SAM flag 0x1).
194	NumberReads int32 `protobuf:"varint,9,opt,name=number_reads,json=numberReads,proto3" json:"number_reads,omitempty"`
195	// Whether this read did not pass filters, such as platform or vendor quality
196	// controls (SAM flag 0x200).
197	FailedVendorQualityChecks bool `protobuf:"varint,10,opt,name=failed_vendor_quality_checks,json=failedVendorQualityChecks,proto3" json:"failed_vendor_quality_checks,omitempty"`
198	// The linear alignment for this alignment record. This field is null for
199	// unmapped reads.
200	Alignment *LinearAlignment `protobuf:"bytes,11,opt,name=alignment,proto3" json:"alignment,omitempty"`
201	// Whether this alignment is secondary. Equivalent to SAM flag 0x100.
202	// A secondary alignment represents an alternative to the primary alignment
203	// for this read. Aligners may return secondary alignments if a read can map
204	// ambiguously to multiple coordinates in the genome. By convention, each read
205	// has one and only one alignment where both `secondaryAlignment`
206	// and `supplementaryAlignment` are false.
207	SecondaryAlignment bool `protobuf:"varint,12,opt,name=secondary_alignment,json=secondaryAlignment,proto3" json:"secondary_alignment,omitempty"`
208	// Whether this alignment is supplementary. Equivalent to SAM flag 0x800.
209	// Supplementary alignments are used in the representation of a chimeric
210	// alignment. In a chimeric alignment, a read is split into multiple
211	// linear alignments that map to different reference contigs. The first
212	// linear alignment in the read will be designated as the representative
213	// alignment; the remaining linear alignments will be designated as
214	// supplementary alignments. These alignments may have different mapping
215	// quality scores. In each linear alignment in a chimeric alignment, the read
216	// will be hard clipped. The `alignedSequence` and
217	// `alignedQuality` fields in the alignment record will only
218	// represent the bases for its respective linear alignment.
219	SupplementaryAlignment bool `protobuf:"varint,13,opt,name=supplementary_alignment,json=supplementaryAlignment,proto3" json:"supplementary_alignment,omitempty"`
220	// The bases of the read sequence contained in this alignment record,
221	// **without CIGAR operations applied** (equivalent to SEQ in SAM).
222	// `alignedSequence` and `alignedQuality` may be
223	// shorter than the full read sequence and quality. This will occur if the
224	// alignment is part of a chimeric alignment, or if the read was trimmed. When
225	// this occurs, the CIGAR for this read will begin/end with a hard clip
226	// operator that will indicate the length of the excised sequence.
227	AlignedSequence string `protobuf:"bytes,14,opt,name=aligned_sequence,json=alignedSequence,proto3" json:"aligned_sequence,omitempty"`
228	// The quality of the read sequence contained in this alignment record
229	// (equivalent to QUAL in SAM).
230	// `alignedSequence` and `alignedQuality` may be shorter than the full read
231	// sequence and quality. This will occur if the alignment is part of a
232	// chimeric alignment, or if the read was trimmed. When this occurs, the CIGAR
233	// for this read will begin/end with a hard clip operator that will indicate
234	// the length of the excised sequence.
235	AlignedQuality []int32 `protobuf:"varint,15,rep,packed,name=aligned_quality,json=alignedQuality,proto3" json:"aligned_quality,omitempty"`
236	// The mapping of the primary alignment of the
237	// `(readNumber+1)%numberReads` read in the fragment. It replaces
238	// mate position and mate strand in SAM.
239	NextMatePosition *Position `protobuf:"bytes,16,opt,name=next_mate_position,json=nextMatePosition,proto3" json:"next_mate_position,omitempty"`
240	// A map of additional read alignment information. This must be of the form
241	// map<string, string[]> (string key mapping to a list of string values).
242	Info                 map[string]*_struct.ListValue `protobuf:"bytes,17,rep,name=info,proto3" json:"info,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
243	XXX_NoUnkeyedLiteral struct{}                      `json:"-"`
244	XXX_unrecognized     []byte                        `json:"-"`
245	XXX_sizecache        int32                         `json:"-"`
246}
247
248func (m *Read) Reset()         { *m = Read{} }
249func (m *Read) String() string { return proto.CompactTextString(m) }
250func (*Read) ProtoMessage()    {}
251func (*Read) Descriptor() ([]byte, []int) {
252	return fileDescriptor_readalignment_b0fdaef32d6e6f98, []int{1}
253}
254func (m *Read) XXX_Unmarshal(b []byte) error {
255	return xxx_messageInfo_Read.Unmarshal(m, b)
256}
257func (m *Read) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
258	return xxx_messageInfo_Read.Marshal(b, m, deterministic)
259}
260func (dst *Read) XXX_Merge(src proto.Message) {
261	xxx_messageInfo_Read.Merge(dst, src)
262}
263func (m *Read) XXX_Size() int {
264	return xxx_messageInfo_Read.Size(m)
265}
266func (m *Read) XXX_DiscardUnknown() {
267	xxx_messageInfo_Read.DiscardUnknown(m)
268}
269
270var xxx_messageInfo_Read proto.InternalMessageInfo
271
272func (m *Read) GetId() string {
273	if m != nil {
274		return m.Id
275	}
276	return ""
277}
278
279func (m *Read) GetReadGroupId() string {
280	if m != nil {
281		return m.ReadGroupId
282	}
283	return ""
284}
285
286func (m *Read) GetReadGroupSetId() string {
287	if m != nil {
288		return m.ReadGroupSetId
289	}
290	return ""
291}
292
293func (m *Read) GetFragmentName() string {
294	if m != nil {
295		return m.FragmentName
296	}
297	return ""
298}
299
300func (m *Read) GetProperPlacement() bool {
301	if m != nil {
302		return m.ProperPlacement
303	}
304	return false
305}
306
307func (m *Read) GetDuplicateFragment() bool {
308	if m != nil {
309		return m.DuplicateFragment
310	}
311	return false
312}
313
314func (m *Read) GetFragmentLength() int32 {
315	if m != nil {
316		return m.FragmentLength
317	}
318	return 0
319}
320
321func (m *Read) GetReadNumber() int32 {
322	if m != nil {
323		return m.ReadNumber
324	}
325	return 0
326}
327
328func (m *Read) GetNumberReads() int32 {
329	if m != nil {
330		return m.NumberReads
331	}
332	return 0
333}
334
335func (m *Read) GetFailedVendorQualityChecks() bool {
336	if m != nil {
337		return m.FailedVendorQualityChecks
338	}
339	return false
340}
341
342func (m *Read) GetAlignment() *LinearAlignment {
343	if m != nil {
344		return m.Alignment
345	}
346	return nil
347}
348
349func (m *Read) GetSecondaryAlignment() bool {
350	if m != nil {
351		return m.SecondaryAlignment
352	}
353	return false
354}
355
356func (m *Read) GetSupplementaryAlignment() bool {
357	if m != nil {
358		return m.SupplementaryAlignment
359	}
360	return false
361}
362
363func (m *Read) GetAlignedSequence() string {
364	if m != nil {
365		return m.AlignedSequence
366	}
367	return ""
368}
369
370func (m *Read) GetAlignedQuality() []int32 {
371	if m != nil {
372		return m.AlignedQuality
373	}
374	return nil
375}
376
377func (m *Read) GetNextMatePosition() *Position {
378	if m != nil {
379		return m.NextMatePosition
380	}
381	return nil
382}
383
384func (m *Read) GetInfo() map[string]*_struct.ListValue {
385	if m != nil {
386		return m.Info
387	}
388	return nil
389}
390
391func init() {
392	proto.RegisterType((*LinearAlignment)(nil), "google.genomics.v1.LinearAlignment")
393	proto.RegisterType((*Read)(nil), "google.genomics.v1.Read")
394	proto.RegisterMapType((map[string]*_struct.ListValue)(nil), "google.genomics.v1.Read.InfoEntry")
395}
396
397func init() {
398	proto.RegisterFile("google/genomics/v1/readalignment.proto", fileDescriptor_readalignment_b0fdaef32d6e6f98)
399}
400
401var fileDescriptor_readalignment_b0fdaef32d6e6f98 = []byte{
402	// 683 bytes of a gzipped FileDescriptorProto
403	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x94, 0xcd, 0x4e, 0xdb, 0x4a,
404	0x14, 0xc7, 0xe5, 0x84, 0x70, 0xc9, 0x09, 0x24, 0x61, 0xae, 0xc4, 0xf5, 0x8d, 0xb8, 0xb7, 0x21,
405	0x48, 0x6d, 0x58, 0xd4, 0x2e, 0x20, 0xb5, 0x88, 0x2e, 0x2a, 0x40, 0x6d, 0x45, 0x45, 0x51, 0x6a,
406	0x54, 0x16, 0xdd, 0x58, 0x83, 0x7d, 0x62, 0x46, 0xd8, 0x33, 0xc6, 0x1e, 0x47, 0xcd, 0x23, 0xf5,
407	0xdd, 0xfa, 0x00, 0x5d, 0x56, 0x33, 0xf6, 0x38, 0xd0, 0x66, 0xd1, 0x5d, 0xf2, 0x3f, 0xbf, 0xf3,
408	0xe1, 0xf3, 0x31, 0xf0, 0x34, 0x12, 0x22, 0x8a, 0xd1, 0x8d, 0x90, 0x8b, 0x84, 0x05, 0xb9, 0x3b,
409	0xdb, 0x77, 0x33, 0xa4, 0x21, 0x8d, 0x59, 0xc4, 0x13, 0xe4, 0xd2, 0x49, 0x33, 0x21, 0x05, 0x21,
410	0x25, 0xe7, 0x18, 0xce, 0x99, 0xed, 0x0f, 0xb6, 0x2b, 0x5f, 0x9a, 0x32, 0x97, 0x72, 0x2e, 0x24,
411	0x95, 0x4c, 0xf0, 0xbc, 0xf4, 0x18, 0xfc, 0xbf, 0x24, 0x72, 0xc0, 0x22, 0x9a, 0x55, 0xf6, 0x9d,
412	0x25, 0xf6, 0x54, 0xe4, 0x4c, 0xc5, 0xa8, 0x10, 0x93, 0x40, 0xff, 0xbb, 0x29, 0xa6, 0x6e, 0x2e,
413	0xb3, 0x22, 0xa8, 0x4a, 0x1a, 0x7d, 0xb3, 0xa0, 0x77, 0xc1, 0x38, 0xd2, 0xec, 0xc4, 0x14, 0x4b,
414	0x8e, 0x60, 0xcd, 0xc4, 0xb0, 0xad, 0xa1, 0x35, 0xee, 0x1c, 0x6c, 0x3b, 0xbf, 0x57, 0xee, 0x4c,
415	0x2a, 0xc6, 0xab, 0x69, 0xf2, 0x0c, 0x7a, 0x09, 0x4d, 0x53, 0xc6, 0x23, 0xff, 0xbe, 0xa0, 0x31,
416	0x93, 0x73, 0xbb, 0x31, 0xb4, 0xc6, 0x2d, 0xaf, 0x5b, 0xc9, 0x9f, 0x4a, 0x95, 0x1c, 0x42, 0x4b,
417	0x7f, 0x86, 0xdd, 0x1c, 0x36, 0xc7, 0x9d, 0x83, 0xff, 0x96, 0xc5, 0x3f, 0x53, 0xc0, 0x67, 0xce,
418	0xa4, 0x57, 0xb2, 0xa3, 0xef, 0xab, 0xb0, 0xe2, 0x21, 0x0d, 0x49, 0x17, 0x1a, 0x2c, 0xd4, 0xa5,
419	0xb5, 0xbd, 0x06, 0x0b, 0xc9, 0x08, 0x36, 0x54, 0xbb, 0xfd, 0x28, 0x13, 0x45, 0xea, 0xb3, 0x50,
420	0x27, 0x6d, 0x7b, 0x1d, 0x25, 0xbe, 0x57, 0xda, 0x79, 0x48, 0xf6, 0x60, 0xf3, 0x01, 0x93, 0xa3,
421	0x54, 0x5c, 0x53, 0x73, 0xdd, 0x9a, 0xbb, 0x42, 0x79, 0x1e, 0x92, 0x5d, 0xd8, 0x98, 0x66, 0x34,
422	0x52, 0xbd, 0xf0, 0x39, 0x4d, 0xd0, 0x5e, 0xd1, 0xd8, 0xba, 0x11, 0x2f, 0x69, 0x82, 0x64, 0x0f,
423	0xfa, 0x69, 0x26, 0x52, 0xcc, 0xfc, 0x34, 0xa6, 0x01, 0x2a, 0xdd, 0x6e, 0x0d, 0xad, 0xf1, 0x9a,
424	0xd7, 0x2b, 0xf5, 0x89, 0x91, 0xc9, 0x73, 0x20, 0x61, 0x91, 0xc6, 0x2c, 0xa0, 0x12, 0x7d, 0x13,
425	0xc4, 0x5e, 0xd5, 0xf0, 0x66, 0x6d, 0x79, 0x57, 0x19, 0x54, 0x13, 0xeb, 0xf4, 0x31, 0xf2, 0x48,
426	0xde, 0xda, 0x7f, 0x95, 0x4d, 0x34, 0xf2, 0x85, 0x56, 0xc9, 0x13, 0xd0, 0x5f, 0xe8, 0xf3, 0x22,
427	0xb9, 0xc1, 0xcc, 0x5e, 0xd3, 0x10, 0x28, 0xe9, 0x52, 0x2b, 0x64, 0x07, 0xd6, 0x4b, 0x9b, 0xaf,
428	0xc4, 0xdc, 0x6e, 0x6b, 0xa2, 0x53, 0x6a, 0xaa, 0x93, 0x39, 0x79, 0x03, 0xdb, 0x53, 0xca, 0x62,
429	0x0c, 0xfd, 0x19, 0xf2, 0x50, 0x64, 0x66, 0x6e, 0x7e, 0x70, 0x8b, 0xc1, 0x5d, 0x6e, 0x83, 0xae,
430	0xf2, 0xdf, 0x92, 0xb9, 0xd6, 0x48, 0x35, 0xc3, 0x33, 0x0d, 0x90, 0x13, 0x68, 0xd7, 0x6b, 0x6e,
431	0x77, 0xf4, 0xb6, 0xec, 0x2e, 0x9b, 0xe6, 0x2f, 0x4b, 0xe6, 0x2d, 0xbc, 0x88, 0x0b, 0x7f, 0xe7,
432	0x18, 0x08, 0x1e, 0xd2, 0x6c, 0xee, 0x2f, 0x82, 0xad, 0xeb, 0xd4, 0xa4, 0x36, 0x2d, 0x16, 0xf4,
433	0x15, 0xfc, 0x93, 0x17, 0x69, 0x1a, 0xeb, 0xf6, 0x3e, 0x76, 0xda, 0xd0, 0x4e, 0x5b, 0x8f, 0xcc,
434	0x0b, 0xc7, 0x3d, 0xe8, 0x6b, 0x14, 0x43, 0x3f, 0xc7, 0xfb, 0x02, 0x79, 0x80, 0x76, 0x57, 0x0f,
435	0xb7, 0x57, 0xe9, 0x57, 0x95, 0xac, 0xa6, 0x60, 0x50, 0xb3, 0xca, 0xbd, 0x61, 0x53, 0x4d, 0xa1,
436	0x92, 0xcd, 0x2a, 0x7f, 0x00, 0xc2, 0xf1, 0xab, 0xf4, 0x13, 0x35, 0xdd, 0xfa, 0x6e, 0xfa, 0x7f,
437	0x70, 0x37, 0x7d, 0xe5, 0xf7, 0x91, 0x4a, 0x34, 0x0a, 0x79, 0x09, 0x2b, 0x8c, 0x4f, 0x85, 0xbd,
438	0xa9, 0xaf, 0x62, 0xb4, 0xcc, 0x5b, 0x8d, 0xcd, 0x39, 0xe7, 0x53, 0xf1, 0x96, 0xcb, 0x6c, 0xee,
439	0x69, 0x7e, 0x70, 0x05, 0xed, 0x5a, 0x22, 0x7d, 0x68, 0xde, 0xe1, 0xbc, 0x3a, 0x0f, 0xf5, 0x93,
440	0xbc, 0x80, 0xd6, 0x8c, 0xc6, 0x05, 0xea, 0xbb, 0xe8, 0x1c, 0x0c, 0x4c, 0x5c, 0xf3, 0x24, 0x38,
441	0x17, 0x2c, 0x97, 0xd7, 0x8a, 0xf0, 0x4a, 0xf0, 0xb8, 0x71, 0x64, 0x9d, 0x26, 0xb0, 0x15, 0x88,
442	0x64, 0x49, 0x0d, 0xa7, 0x44, 0x15, 0x51, 0x77, 0x75, 0xa2, 0xa2, 0x4c, 0xac, 0x2f, 0xc7, 0x86,
443	0x14, 0x31, 0xe5, 0x91, 0x23, 0xb2, 0x48, 0x3d, 0x4b, 0x3a, 0x87, 0x5b, 0x9a, 0x68, 0xca, 0xf2,
444	0x87, 0x4f, 0xd5, 0x6b, 0xf3, 0xfb, 0x87, 0x65, 0xdd, 0xac, 0x6a, 0xf2, 0xf0, 0x67, 0x00, 0x00,
445	0x00, 0xff, 0xff, 0xd0, 0xe1, 0xf6, 0x57, 0x4d, 0x05, 0x00, 0x00,
446}
447