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