blob: e713544f3320de0110d2337cdcf523f45507380b [file] [log] [blame]
Don Newton98fd8812019-09-23 15:15:02 -04001// Code generated by protoc-gen-go. DO NOT EDIT.
2// source: voltha_protos/device.proto
3
4package voltha
5
6import (
7 fmt "fmt"
8 proto "github.com/golang/protobuf/proto"
9 any "github.com/golang/protobuf/ptypes/any"
David K. Bainbridgeaea73cd2020-01-27 10:44:50 -080010 common "github.com/opencord/voltha-protos/v3/go/common"
11 openflow_13 "github.com/opencord/voltha-protos/v3/go/openflow_13"
Don Newton98fd8812019-09-23 15:15:02 -040012 math "math"
13)
14
15// Reference imports to suppress errors if they are not otherwise used.
16var _ = proto.Marshal
17var _ = fmt.Errorf
18var _ = math.Inf
19
20// This is a compile-time assertion to ensure that this generated file
21// is compatible with the proto package it is being compiled against.
22// A compilation error at this line likely means your copy of the
23// proto package needs to be updated.
24const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package
25
26type PmConfig_PmType int32
27
28const (
29 PmConfig_COUNTER PmConfig_PmType = 0
30 PmConfig_GAUGE PmConfig_PmType = 1
31 PmConfig_STATE PmConfig_PmType = 2
32 PmConfig_CONTEXT PmConfig_PmType = 3
33)
34
35var PmConfig_PmType_name = map[int32]string{
36 0: "COUNTER",
37 1: "GAUGE",
38 2: "STATE",
39 3: "CONTEXT",
40}
41
42var PmConfig_PmType_value = map[string]int32{
43 "COUNTER": 0,
44 "GAUGE": 1,
45 "STATE": 2,
46 "CONTEXT": 3,
47}
48
49func (x PmConfig_PmType) String() string {
50 return proto.EnumName(PmConfig_PmType_name, int32(x))
51}
52
53func (PmConfig_PmType) EnumDescriptor() ([]byte, []int) {
54 return fileDescriptor_200940f73d155856, []int{2, 0}
55}
56
57type ImageDownload_ImageDownloadState int32
58
59const (
60 ImageDownload_DOWNLOAD_UNKNOWN ImageDownload_ImageDownloadState = 0
61 ImageDownload_DOWNLOAD_SUCCEEDED ImageDownload_ImageDownloadState = 1
62 ImageDownload_DOWNLOAD_REQUESTED ImageDownload_ImageDownloadState = 2
63 ImageDownload_DOWNLOAD_STARTED ImageDownload_ImageDownloadState = 3
64 ImageDownload_DOWNLOAD_FAILED ImageDownload_ImageDownloadState = 4
65 ImageDownload_DOWNLOAD_UNSUPPORTED ImageDownload_ImageDownloadState = 5
66 ImageDownload_DOWNLOAD_CANCELLED ImageDownload_ImageDownloadState = 6
67)
68
69var ImageDownload_ImageDownloadState_name = map[int32]string{
70 0: "DOWNLOAD_UNKNOWN",
71 1: "DOWNLOAD_SUCCEEDED",
72 2: "DOWNLOAD_REQUESTED",
73 3: "DOWNLOAD_STARTED",
74 4: "DOWNLOAD_FAILED",
75 5: "DOWNLOAD_UNSUPPORTED",
76 6: "DOWNLOAD_CANCELLED",
77}
78
79var ImageDownload_ImageDownloadState_value = map[string]int32{
80 "DOWNLOAD_UNKNOWN": 0,
81 "DOWNLOAD_SUCCEEDED": 1,
82 "DOWNLOAD_REQUESTED": 2,
83 "DOWNLOAD_STARTED": 3,
84 "DOWNLOAD_FAILED": 4,
85 "DOWNLOAD_UNSUPPORTED": 5,
86 "DOWNLOAD_CANCELLED": 6,
87}
88
89func (x ImageDownload_ImageDownloadState) String() string {
90 return proto.EnumName(ImageDownload_ImageDownloadState_name, int32(x))
91}
92
93func (ImageDownload_ImageDownloadState) EnumDescriptor() ([]byte, []int) {
94 return fileDescriptor_200940f73d155856, []int{7, 0}
95}
96
97type ImageDownload_ImageDownloadFailureReason int32
98
99const (
100 ImageDownload_NO_ERROR ImageDownload_ImageDownloadFailureReason = 0
101 ImageDownload_INVALID_URL ImageDownload_ImageDownloadFailureReason = 1
102 ImageDownload_DEVICE_BUSY ImageDownload_ImageDownloadFailureReason = 2
103 ImageDownload_INSUFFICIENT_SPACE ImageDownload_ImageDownloadFailureReason = 3
104 ImageDownload_UNKNOWN_ERROR ImageDownload_ImageDownloadFailureReason = 4
105 ImageDownload_CANCELLED ImageDownload_ImageDownloadFailureReason = 5
106)
107
108var ImageDownload_ImageDownloadFailureReason_name = map[int32]string{
109 0: "NO_ERROR",
110 1: "INVALID_URL",
111 2: "DEVICE_BUSY",
112 3: "INSUFFICIENT_SPACE",
113 4: "UNKNOWN_ERROR",
114 5: "CANCELLED",
115}
116
117var ImageDownload_ImageDownloadFailureReason_value = map[string]int32{
118 "NO_ERROR": 0,
119 "INVALID_URL": 1,
120 "DEVICE_BUSY": 2,
121 "INSUFFICIENT_SPACE": 3,
122 "UNKNOWN_ERROR": 4,
123 "CANCELLED": 5,
124}
125
126func (x ImageDownload_ImageDownloadFailureReason) String() string {
127 return proto.EnumName(ImageDownload_ImageDownloadFailureReason_name, int32(x))
128}
129
130func (ImageDownload_ImageDownloadFailureReason) EnumDescriptor() ([]byte, []int) {
131 return fileDescriptor_200940f73d155856, []int{7, 1}
132}
133
134type ImageDownload_ImageActivateState int32
135
136const (
137 ImageDownload_IMAGE_UNKNOWN ImageDownload_ImageActivateState = 0
138 ImageDownload_IMAGE_INACTIVE ImageDownload_ImageActivateState = 1
139 ImageDownload_IMAGE_ACTIVATING ImageDownload_ImageActivateState = 2
140 ImageDownload_IMAGE_ACTIVE ImageDownload_ImageActivateState = 3
141 ImageDownload_IMAGE_REVERTING ImageDownload_ImageActivateState = 4
142 ImageDownload_IMAGE_REVERTED ImageDownload_ImageActivateState = 5
143)
144
145var ImageDownload_ImageActivateState_name = map[int32]string{
146 0: "IMAGE_UNKNOWN",
147 1: "IMAGE_INACTIVE",
148 2: "IMAGE_ACTIVATING",
149 3: "IMAGE_ACTIVE",
150 4: "IMAGE_REVERTING",
151 5: "IMAGE_REVERTED",
152}
153
154var ImageDownload_ImageActivateState_value = map[string]int32{
155 "IMAGE_UNKNOWN": 0,
156 "IMAGE_INACTIVE": 1,
157 "IMAGE_ACTIVATING": 2,
158 "IMAGE_ACTIVE": 3,
159 "IMAGE_REVERTING": 4,
160 "IMAGE_REVERTED": 5,
161}
162
163func (x ImageDownload_ImageActivateState) String() string {
164 return proto.EnumName(ImageDownload_ImageActivateState_name, int32(x))
165}
166
167func (ImageDownload_ImageActivateState) EnumDescriptor() ([]byte, []int) {
168 return fileDescriptor_200940f73d155856, []int{7, 2}
169}
170
171type Port_PortType int32
172
173const (
174 Port_UNKNOWN Port_PortType = 0
175 Port_ETHERNET_NNI Port_PortType = 1
176 Port_ETHERNET_UNI Port_PortType = 2
177 Port_PON_OLT Port_PortType = 3
178 Port_PON_ONU Port_PortType = 4
179 Port_VENET_OLT Port_PortType = 5
180 Port_VENET_ONU Port_PortType = 6
181)
182
183var Port_PortType_name = map[int32]string{
184 0: "UNKNOWN",
185 1: "ETHERNET_NNI",
186 2: "ETHERNET_UNI",
187 3: "PON_OLT",
188 4: "PON_ONU",
189 5: "VENET_OLT",
190 6: "VENET_ONU",
191}
192
193var Port_PortType_value = map[string]int32{
194 "UNKNOWN": 0,
195 "ETHERNET_NNI": 1,
196 "ETHERNET_UNI": 2,
197 "PON_OLT": 3,
198 "PON_ONU": 4,
199 "VENET_OLT": 5,
200 "VENET_ONU": 6,
201}
202
203func (x Port_PortType) String() string {
204 return proto.EnumName(Port_PortType_name, int32(x))
205}
206
207func (Port_PortType) EnumDescriptor() ([]byte, []int) {
208 return fileDescriptor_200940f73d155856, []int{9, 0}
209}
210
211type SimulateAlarmRequest_OperationType int32
212
213const (
214 SimulateAlarmRequest_RAISE SimulateAlarmRequest_OperationType = 0
215 SimulateAlarmRequest_CLEAR SimulateAlarmRequest_OperationType = 1
216)
217
218var SimulateAlarmRequest_OperationType_name = map[int32]string{
219 0: "RAISE",
220 1: "CLEAR",
221}
222
223var SimulateAlarmRequest_OperationType_value = map[string]int32{
224 "RAISE": 0,
225 "CLEAR": 1,
226}
227
228func (x SimulateAlarmRequest_OperationType) String() string {
229 return proto.EnumName(SimulateAlarmRequest_OperationType_name, int32(x))
230}
231
232func (SimulateAlarmRequest_OperationType) EnumDescriptor() ([]byte, []int) {
233 return fileDescriptor_200940f73d155856, []int{13, 0}
234}
235
236// A Device Type
237type DeviceType struct {
238 // Unique name for the device type
239 Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
240 // Unique vendor id for the device type applicable to ONU
241 // 4 bytes of vendor id from ONU serial number
242 VendorId string `protobuf:"bytes,5,opt,name=vendor_id,json=vendorId,proto3" json:"vendor_id,omitempty"`
243 VendorIds []string `protobuf:"bytes,6,rep,name=vendor_ids,json=vendorIds,proto3" json:"vendor_ids,omitempty"`
244 // Name of the adapter that handles device type
245 Adapter string `protobuf:"bytes,2,opt,name=adapter,proto3" json:"adapter,omitempty"`
246 // Capabilities
247 AcceptsBulkFlowUpdate bool `protobuf:"varint,3,opt,name=accepts_bulk_flow_update,json=acceptsBulkFlowUpdate,proto3" json:"accepts_bulk_flow_update,omitempty"`
248 AcceptsAddRemoveFlowUpdates bool `protobuf:"varint,4,opt,name=accepts_add_remove_flow_updates,json=acceptsAddRemoveFlowUpdates,proto3" json:"accepts_add_remove_flow_updates,omitempty"`
249 AcceptsDirectLogicalFlowsUpdate bool `protobuf:"varint,7,opt,name=accepts_direct_logical_flows_update,json=acceptsDirectLogicalFlowsUpdate,proto3" json:"accepts_direct_logical_flows_update,omitempty"`
250 XXX_NoUnkeyedLiteral struct{} `json:"-"`
251 XXX_unrecognized []byte `json:"-"`
252 XXX_sizecache int32 `json:"-"`
253}
254
255func (m *DeviceType) Reset() { *m = DeviceType{} }
256func (m *DeviceType) String() string { return proto.CompactTextString(m) }
257func (*DeviceType) ProtoMessage() {}
258func (*DeviceType) Descriptor() ([]byte, []int) {
259 return fileDescriptor_200940f73d155856, []int{0}
260}
261
262func (m *DeviceType) XXX_Unmarshal(b []byte) error {
263 return xxx_messageInfo_DeviceType.Unmarshal(m, b)
264}
265func (m *DeviceType) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
266 return xxx_messageInfo_DeviceType.Marshal(b, m, deterministic)
267}
268func (m *DeviceType) XXX_Merge(src proto.Message) {
269 xxx_messageInfo_DeviceType.Merge(m, src)
270}
271func (m *DeviceType) XXX_Size() int {
272 return xxx_messageInfo_DeviceType.Size(m)
273}
274func (m *DeviceType) XXX_DiscardUnknown() {
275 xxx_messageInfo_DeviceType.DiscardUnknown(m)
276}
277
278var xxx_messageInfo_DeviceType proto.InternalMessageInfo
279
280func (m *DeviceType) GetId() string {
281 if m != nil {
282 return m.Id
283 }
284 return ""
285}
286
287func (m *DeviceType) GetVendorId() string {
288 if m != nil {
289 return m.VendorId
290 }
291 return ""
292}
293
294func (m *DeviceType) GetVendorIds() []string {
295 if m != nil {
296 return m.VendorIds
297 }
298 return nil
299}
300
301func (m *DeviceType) GetAdapter() string {
302 if m != nil {
303 return m.Adapter
304 }
305 return ""
306}
307
308func (m *DeviceType) GetAcceptsBulkFlowUpdate() bool {
309 if m != nil {
310 return m.AcceptsBulkFlowUpdate
311 }
312 return false
313}
314
315func (m *DeviceType) GetAcceptsAddRemoveFlowUpdates() bool {
316 if m != nil {
317 return m.AcceptsAddRemoveFlowUpdates
318 }
319 return false
320}
321
322func (m *DeviceType) GetAcceptsDirectLogicalFlowsUpdate() bool {
323 if m != nil {
324 return m.AcceptsDirectLogicalFlowsUpdate
325 }
326 return false
327}
328
329// A plurality of device types
330type DeviceTypes struct {
331 Items []*DeviceType `protobuf:"bytes,1,rep,name=items,proto3" json:"items,omitempty"`
332 XXX_NoUnkeyedLiteral struct{} `json:"-"`
333 XXX_unrecognized []byte `json:"-"`
334 XXX_sizecache int32 `json:"-"`
335}
336
337func (m *DeviceTypes) Reset() { *m = DeviceTypes{} }
338func (m *DeviceTypes) String() string { return proto.CompactTextString(m) }
339func (*DeviceTypes) ProtoMessage() {}
340func (*DeviceTypes) Descriptor() ([]byte, []int) {
341 return fileDescriptor_200940f73d155856, []int{1}
342}
343
344func (m *DeviceTypes) XXX_Unmarshal(b []byte) error {
345 return xxx_messageInfo_DeviceTypes.Unmarshal(m, b)
346}
347func (m *DeviceTypes) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
348 return xxx_messageInfo_DeviceTypes.Marshal(b, m, deterministic)
349}
350func (m *DeviceTypes) XXX_Merge(src proto.Message) {
351 xxx_messageInfo_DeviceTypes.Merge(m, src)
352}
353func (m *DeviceTypes) XXX_Size() int {
354 return xxx_messageInfo_DeviceTypes.Size(m)
355}
356func (m *DeviceTypes) XXX_DiscardUnknown() {
357 xxx_messageInfo_DeviceTypes.DiscardUnknown(m)
358}
359
360var xxx_messageInfo_DeviceTypes proto.InternalMessageInfo
361
362func (m *DeviceTypes) GetItems() []*DeviceType {
363 if m != nil {
364 return m.Items
365 }
366 return nil
367}
368
369type PmConfig struct {
370 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
371 Type PmConfig_PmType `protobuf:"varint,2,opt,name=type,proto3,enum=voltha.PmConfig_PmType" json:"type,omitempty"`
372 Enabled bool `protobuf:"varint,3,opt,name=enabled,proto3" json:"enabled,omitempty"`
373 SampleFreq uint32 `protobuf:"varint,4,opt,name=sample_freq,json=sampleFreq,proto3" json:"sample_freq,omitempty"`
374 XXX_NoUnkeyedLiteral struct{} `json:"-"`
375 XXX_unrecognized []byte `json:"-"`
376 XXX_sizecache int32 `json:"-"`
377}
378
379func (m *PmConfig) Reset() { *m = PmConfig{} }
380func (m *PmConfig) String() string { return proto.CompactTextString(m) }
381func (*PmConfig) ProtoMessage() {}
382func (*PmConfig) Descriptor() ([]byte, []int) {
383 return fileDescriptor_200940f73d155856, []int{2}
384}
385
386func (m *PmConfig) XXX_Unmarshal(b []byte) error {
387 return xxx_messageInfo_PmConfig.Unmarshal(m, b)
388}
389func (m *PmConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
390 return xxx_messageInfo_PmConfig.Marshal(b, m, deterministic)
391}
392func (m *PmConfig) XXX_Merge(src proto.Message) {
393 xxx_messageInfo_PmConfig.Merge(m, src)
394}
395func (m *PmConfig) XXX_Size() int {
396 return xxx_messageInfo_PmConfig.Size(m)
397}
398func (m *PmConfig) XXX_DiscardUnknown() {
399 xxx_messageInfo_PmConfig.DiscardUnknown(m)
400}
401
402var xxx_messageInfo_PmConfig proto.InternalMessageInfo
403
404func (m *PmConfig) GetName() string {
405 if m != nil {
406 return m.Name
407 }
408 return ""
409}
410
411func (m *PmConfig) GetType() PmConfig_PmType {
412 if m != nil {
413 return m.Type
414 }
415 return PmConfig_COUNTER
416}
417
418func (m *PmConfig) GetEnabled() bool {
419 if m != nil {
420 return m.Enabled
421 }
422 return false
423}
424
425func (m *PmConfig) GetSampleFreq() uint32 {
426 if m != nil {
427 return m.SampleFreq
428 }
429 return 0
430}
431
432type PmGroupConfig struct {
433 GroupName string `protobuf:"bytes,1,opt,name=group_name,json=groupName,proto3" json:"group_name,omitempty"`
434 GroupFreq uint32 `protobuf:"varint,2,opt,name=group_freq,json=groupFreq,proto3" json:"group_freq,omitempty"`
435 Enabled bool `protobuf:"varint,3,opt,name=enabled,proto3" json:"enabled,omitempty"`
436 Metrics []*PmConfig `protobuf:"bytes,4,rep,name=metrics,proto3" json:"metrics,omitempty"`
437 XXX_NoUnkeyedLiteral struct{} `json:"-"`
438 XXX_unrecognized []byte `json:"-"`
439 XXX_sizecache int32 `json:"-"`
440}
441
442func (m *PmGroupConfig) Reset() { *m = PmGroupConfig{} }
443func (m *PmGroupConfig) String() string { return proto.CompactTextString(m) }
444func (*PmGroupConfig) ProtoMessage() {}
445func (*PmGroupConfig) Descriptor() ([]byte, []int) {
446 return fileDescriptor_200940f73d155856, []int{3}
447}
448
449func (m *PmGroupConfig) XXX_Unmarshal(b []byte) error {
450 return xxx_messageInfo_PmGroupConfig.Unmarshal(m, b)
451}
452func (m *PmGroupConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
453 return xxx_messageInfo_PmGroupConfig.Marshal(b, m, deterministic)
454}
455func (m *PmGroupConfig) XXX_Merge(src proto.Message) {
456 xxx_messageInfo_PmGroupConfig.Merge(m, src)
457}
458func (m *PmGroupConfig) XXX_Size() int {
459 return xxx_messageInfo_PmGroupConfig.Size(m)
460}
461func (m *PmGroupConfig) XXX_DiscardUnknown() {
462 xxx_messageInfo_PmGroupConfig.DiscardUnknown(m)
463}
464
465var xxx_messageInfo_PmGroupConfig proto.InternalMessageInfo
466
467func (m *PmGroupConfig) GetGroupName() string {
468 if m != nil {
469 return m.GroupName
470 }
471 return ""
472}
473
474func (m *PmGroupConfig) GetGroupFreq() uint32 {
475 if m != nil {
476 return m.GroupFreq
477 }
478 return 0
479}
480
481func (m *PmGroupConfig) GetEnabled() bool {
482 if m != nil {
483 return m.Enabled
484 }
485 return false
486}
487
488func (m *PmGroupConfig) GetMetrics() []*PmConfig {
489 if m != nil {
490 return m.Metrics
491 }
492 return nil
493}
494
495type PmConfigs struct {
496 Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
497 DefaultFreq uint32 `protobuf:"varint,2,opt,name=default_freq,json=defaultFreq,proto3" json:"default_freq,omitempty"`
498 // Forces group names and group semantics
499 Grouped bool `protobuf:"varint,3,opt,name=grouped,proto3" json:"grouped,omitempty"`
500 // Allows Pm to set an individual sample frequency
501 FreqOverride bool `protobuf:"varint,4,opt,name=freq_override,json=freqOverride,proto3" json:"freq_override,omitempty"`
502 Groups []*PmGroupConfig `protobuf:"bytes,5,rep,name=groups,proto3" json:"groups,omitempty"`
503 Metrics []*PmConfig `protobuf:"bytes,6,rep,name=metrics,proto3" json:"metrics,omitempty"`
504 XXX_NoUnkeyedLiteral struct{} `json:"-"`
505 XXX_unrecognized []byte `json:"-"`
506 XXX_sizecache int32 `json:"-"`
507}
508
509func (m *PmConfigs) Reset() { *m = PmConfigs{} }
510func (m *PmConfigs) String() string { return proto.CompactTextString(m) }
511func (*PmConfigs) ProtoMessage() {}
512func (*PmConfigs) Descriptor() ([]byte, []int) {
513 return fileDescriptor_200940f73d155856, []int{4}
514}
515
516func (m *PmConfigs) XXX_Unmarshal(b []byte) error {
517 return xxx_messageInfo_PmConfigs.Unmarshal(m, b)
518}
519func (m *PmConfigs) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
520 return xxx_messageInfo_PmConfigs.Marshal(b, m, deterministic)
521}
522func (m *PmConfigs) XXX_Merge(src proto.Message) {
523 xxx_messageInfo_PmConfigs.Merge(m, src)
524}
525func (m *PmConfigs) XXX_Size() int {
526 return xxx_messageInfo_PmConfigs.Size(m)
527}
528func (m *PmConfigs) XXX_DiscardUnknown() {
529 xxx_messageInfo_PmConfigs.DiscardUnknown(m)
530}
531
532var xxx_messageInfo_PmConfigs proto.InternalMessageInfo
533
534func (m *PmConfigs) GetId() string {
535 if m != nil {
536 return m.Id
537 }
538 return ""
539}
540
541func (m *PmConfigs) GetDefaultFreq() uint32 {
542 if m != nil {
543 return m.DefaultFreq
544 }
545 return 0
546}
547
548func (m *PmConfigs) GetGrouped() bool {
549 if m != nil {
550 return m.Grouped
551 }
552 return false
553}
554
555func (m *PmConfigs) GetFreqOverride() bool {
556 if m != nil {
557 return m.FreqOverride
558 }
559 return false
560}
561
562func (m *PmConfigs) GetGroups() []*PmGroupConfig {
563 if m != nil {
564 return m.Groups
565 }
566 return nil
567}
568
569func (m *PmConfigs) GetMetrics() []*PmConfig {
570 if m != nil {
571 return m.Metrics
572 }
573 return nil
574}
575
576// Describes instance of software image on the device
577type Image struct {
578 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
579 Version string `protobuf:"bytes,2,opt,name=version,proto3" json:"version,omitempty"`
580 Hash string `protobuf:"bytes,3,opt,name=hash,proto3" json:"hash,omitempty"`
581 InstallDatetime string `protobuf:"bytes,4,opt,name=install_datetime,json=installDatetime,proto3" json:"install_datetime,omitempty"`
582 // The active software image is one that is currently loaded and executing
583 // in the ONU or circuit pack. Under normal operation, one software image
584 // is always active while the other is inactive. Under no circumstances are
585 // both software images allowed to be active at the same time
586 IsActive bool `protobuf:"varint,5,opt,name=is_active,json=isActive,proto3" json:"is_active,omitempty"`
587 // The committed software image is loaded and executed upon reboot of the
588 // ONU and/or circuit pack. During normal operation, one software image is
589 // always committed, while the other is uncommitted.
590 IsCommitted bool `protobuf:"varint,6,opt,name=is_committed,json=isCommitted,proto3" json:"is_committed,omitempty"`
591 // A software image is valid if it has been verified to be an executable
592 // code image. The verification mechanism is not subject to standardization;
593 // however, it should include at least a data integrity (e.g., CRC) check of
594 // the entire code image.
595 IsValid bool `protobuf:"varint,7,opt,name=is_valid,json=isValid,proto3" json:"is_valid,omitempty"`
596 XXX_NoUnkeyedLiteral struct{} `json:"-"`
597 XXX_unrecognized []byte `json:"-"`
598 XXX_sizecache int32 `json:"-"`
599}
600
601func (m *Image) Reset() { *m = Image{} }
602func (m *Image) String() string { return proto.CompactTextString(m) }
603func (*Image) ProtoMessage() {}
604func (*Image) Descriptor() ([]byte, []int) {
605 return fileDescriptor_200940f73d155856, []int{5}
606}
607
608func (m *Image) XXX_Unmarshal(b []byte) error {
609 return xxx_messageInfo_Image.Unmarshal(m, b)
610}
611func (m *Image) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
612 return xxx_messageInfo_Image.Marshal(b, m, deterministic)
613}
614func (m *Image) XXX_Merge(src proto.Message) {
615 xxx_messageInfo_Image.Merge(m, src)
616}
617func (m *Image) XXX_Size() int {
618 return xxx_messageInfo_Image.Size(m)
619}
620func (m *Image) XXX_DiscardUnknown() {
621 xxx_messageInfo_Image.DiscardUnknown(m)
622}
623
624var xxx_messageInfo_Image proto.InternalMessageInfo
625
626func (m *Image) GetName() string {
627 if m != nil {
628 return m.Name
629 }
630 return ""
631}
632
633func (m *Image) GetVersion() string {
634 if m != nil {
635 return m.Version
636 }
637 return ""
638}
639
640func (m *Image) GetHash() string {
641 if m != nil {
642 return m.Hash
643 }
644 return ""
645}
646
647func (m *Image) GetInstallDatetime() string {
648 if m != nil {
649 return m.InstallDatetime
650 }
651 return ""
652}
653
654func (m *Image) GetIsActive() bool {
655 if m != nil {
656 return m.IsActive
657 }
658 return false
659}
660
661func (m *Image) GetIsCommitted() bool {
662 if m != nil {
663 return m.IsCommitted
664 }
665 return false
666}
667
668func (m *Image) GetIsValid() bool {
669 if m != nil {
670 return m.IsValid
671 }
672 return false
673}
674
675// List of software on the device
676type Images struct {
677 Image []*Image `protobuf:"bytes,1,rep,name=image,proto3" json:"image,omitempty"`
678 XXX_NoUnkeyedLiteral struct{} `json:"-"`
679 XXX_unrecognized []byte `json:"-"`
680 XXX_sizecache int32 `json:"-"`
681}
682
683func (m *Images) Reset() { *m = Images{} }
684func (m *Images) String() string { return proto.CompactTextString(m) }
685func (*Images) ProtoMessage() {}
686func (*Images) Descriptor() ([]byte, []int) {
687 return fileDescriptor_200940f73d155856, []int{6}
688}
689
690func (m *Images) XXX_Unmarshal(b []byte) error {
691 return xxx_messageInfo_Images.Unmarshal(m, b)
692}
693func (m *Images) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
694 return xxx_messageInfo_Images.Marshal(b, m, deterministic)
695}
696func (m *Images) XXX_Merge(src proto.Message) {
697 xxx_messageInfo_Images.Merge(m, src)
698}
699func (m *Images) XXX_Size() int {
700 return xxx_messageInfo_Images.Size(m)
701}
702func (m *Images) XXX_DiscardUnknown() {
703 xxx_messageInfo_Images.DiscardUnknown(m)
704}
705
706var xxx_messageInfo_Images proto.InternalMessageInfo
707
708func (m *Images) GetImage() []*Image {
709 if m != nil {
710 return m.Image
711 }
712 return nil
713}
714
715type ImageDownload struct {
716 // Device Identifier
717 Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
718 // Image unique identifier
719 Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
720 // URL where the image is available
721 // should include username password
722 Url string `protobuf:"bytes,3,opt,name=url,proto3" json:"url,omitempty"`
723 // CRC of the image to be verified aginst
724 Crc uint32 `protobuf:"varint,4,opt,name=crc,proto3" json:"crc,omitempty"`
725 // Download state
726 DownloadState ImageDownload_ImageDownloadState `protobuf:"varint,5,opt,name=download_state,json=downloadState,proto3,enum=voltha.ImageDownload_ImageDownloadState" json:"download_state,omitempty"`
727 // Downloaded version
728 ImageVersion string `protobuf:"bytes,6,opt,name=image_version,json=imageVersion,proto3" json:"image_version,omitempty"`
729 // Bytes downloaded
730 DownloadedBytes uint32 `protobuf:"varint,7,opt,name=downloaded_bytes,json=downloadedBytes,proto3" json:"downloaded_bytes,omitempty"`
731 // Download failure reason
732 Reason ImageDownload_ImageDownloadFailureReason `protobuf:"varint,8,opt,name=reason,proto3,enum=voltha.ImageDownload_ImageDownloadFailureReason" json:"reason,omitempty"`
733 // Additional info
734 AdditionalInfo string `protobuf:"bytes,9,opt,name=additional_info,json=additionalInfo,proto3" json:"additional_info,omitempty"`
735 // Save current configuration
736 SaveConfig bool `protobuf:"varint,10,opt,name=save_config,json=saveConfig,proto3" json:"save_config,omitempty"`
737 // Image local location
738 LocalDir string `protobuf:"bytes,11,opt,name=local_dir,json=localDir,proto3" json:"local_dir,omitempty"`
739 // Image activation state
740 ImageState ImageDownload_ImageActivateState `protobuf:"varint,12,opt,name=image_state,json=imageState,proto3,enum=voltha.ImageDownload_ImageActivateState" json:"image_state,omitempty"`
741 // Image file size
742 FileSize uint32 `protobuf:"varint,13,opt,name=file_size,json=fileSize,proto3" json:"file_size,omitempty"`
743 XXX_NoUnkeyedLiteral struct{} `json:"-"`
744 XXX_unrecognized []byte `json:"-"`
745 XXX_sizecache int32 `json:"-"`
746}
747
748func (m *ImageDownload) Reset() { *m = ImageDownload{} }
749func (m *ImageDownload) String() string { return proto.CompactTextString(m) }
750func (*ImageDownload) ProtoMessage() {}
751func (*ImageDownload) Descriptor() ([]byte, []int) {
752 return fileDescriptor_200940f73d155856, []int{7}
753}
754
755func (m *ImageDownload) XXX_Unmarshal(b []byte) error {
756 return xxx_messageInfo_ImageDownload.Unmarshal(m, b)
757}
758func (m *ImageDownload) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
759 return xxx_messageInfo_ImageDownload.Marshal(b, m, deterministic)
760}
761func (m *ImageDownload) XXX_Merge(src proto.Message) {
762 xxx_messageInfo_ImageDownload.Merge(m, src)
763}
764func (m *ImageDownload) XXX_Size() int {
765 return xxx_messageInfo_ImageDownload.Size(m)
766}
767func (m *ImageDownload) XXX_DiscardUnknown() {
768 xxx_messageInfo_ImageDownload.DiscardUnknown(m)
769}
770
771var xxx_messageInfo_ImageDownload proto.InternalMessageInfo
772
773func (m *ImageDownload) GetId() string {
774 if m != nil {
775 return m.Id
776 }
777 return ""
778}
779
780func (m *ImageDownload) GetName() string {
781 if m != nil {
782 return m.Name
783 }
784 return ""
785}
786
787func (m *ImageDownload) GetUrl() string {
788 if m != nil {
789 return m.Url
790 }
791 return ""
792}
793
794func (m *ImageDownload) GetCrc() uint32 {
795 if m != nil {
796 return m.Crc
797 }
798 return 0
799}
800
801func (m *ImageDownload) GetDownloadState() ImageDownload_ImageDownloadState {
802 if m != nil {
803 return m.DownloadState
804 }
805 return ImageDownload_DOWNLOAD_UNKNOWN
806}
807
808func (m *ImageDownload) GetImageVersion() string {
809 if m != nil {
810 return m.ImageVersion
811 }
812 return ""
813}
814
815func (m *ImageDownload) GetDownloadedBytes() uint32 {
816 if m != nil {
817 return m.DownloadedBytes
818 }
819 return 0
820}
821
822func (m *ImageDownload) GetReason() ImageDownload_ImageDownloadFailureReason {
823 if m != nil {
824 return m.Reason
825 }
826 return ImageDownload_NO_ERROR
827}
828
829func (m *ImageDownload) GetAdditionalInfo() string {
830 if m != nil {
831 return m.AdditionalInfo
832 }
833 return ""
834}
835
836func (m *ImageDownload) GetSaveConfig() bool {
837 if m != nil {
838 return m.SaveConfig
839 }
840 return false
841}
842
843func (m *ImageDownload) GetLocalDir() string {
844 if m != nil {
845 return m.LocalDir
846 }
847 return ""
848}
849
850func (m *ImageDownload) GetImageState() ImageDownload_ImageActivateState {
851 if m != nil {
852 return m.ImageState
853 }
854 return ImageDownload_IMAGE_UNKNOWN
855}
856
857func (m *ImageDownload) GetFileSize() uint32 {
858 if m != nil {
859 return m.FileSize
860 }
861 return 0
862}
863
864type ImageDownloads struct {
865 Items []*ImageDownload `protobuf:"bytes,2,rep,name=items,proto3" json:"items,omitempty"`
866 XXX_NoUnkeyedLiteral struct{} `json:"-"`
867 XXX_unrecognized []byte `json:"-"`
868 XXX_sizecache int32 `json:"-"`
869}
870
871func (m *ImageDownloads) Reset() { *m = ImageDownloads{} }
872func (m *ImageDownloads) String() string { return proto.CompactTextString(m) }
873func (*ImageDownloads) ProtoMessage() {}
874func (*ImageDownloads) Descriptor() ([]byte, []int) {
875 return fileDescriptor_200940f73d155856, []int{8}
876}
877
878func (m *ImageDownloads) XXX_Unmarshal(b []byte) error {
879 return xxx_messageInfo_ImageDownloads.Unmarshal(m, b)
880}
881func (m *ImageDownloads) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
882 return xxx_messageInfo_ImageDownloads.Marshal(b, m, deterministic)
883}
884func (m *ImageDownloads) XXX_Merge(src proto.Message) {
885 xxx_messageInfo_ImageDownloads.Merge(m, src)
886}
887func (m *ImageDownloads) XXX_Size() int {
888 return xxx_messageInfo_ImageDownloads.Size(m)
889}
890func (m *ImageDownloads) XXX_DiscardUnknown() {
891 xxx_messageInfo_ImageDownloads.DiscardUnknown(m)
892}
893
894var xxx_messageInfo_ImageDownloads proto.InternalMessageInfo
895
896func (m *ImageDownloads) GetItems() []*ImageDownload {
897 if m != nil {
898 return m.Items
899 }
900 return nil
901}
902
903type Port struct {
David K. Bainbridgeaea73cd2020-01-27 10:44:50 -0800904 PortNo uint32 `protobuf:"varint,1,opt,name=port_no,json=portNo,proto3" json:"port_no,omitempty"`
905 Label string `protobuf:"bytes,2,opt,name=label,proto3" json:"label,omitempty"`
906 Type Port_PortType `protobuf:"varint,3,opt,name=type,proto3,enum=voltha.Port_PortType" json:"type,omitempty"`
907 AdminState common.AdminState_Types `protobuf:"varint,5,opt,name=admin_state,json=adminState,proto3,enum=common.AdminState_Types" json:"admin_state,omitempty"`
908 OperStatus common.OperStatus_Types `protobuf:"varint,6,opt,name=oper_status,json=operStatus,proto3,enum=common.OperStatus_Types" json:"oper_status,omitempty"`
909 DeviceId string `protobuf:"bytes,7,opt,name=device_id,json=deviceId,proto3" json:"device_id,omitempty"`
910 Peers []*Port_PeerPort `protobuf:"bytes,8,rep,name=peers,proto3" json:"peers,omitempty"`
911 RxPackets uint64 `protobuf:"fixed64,9,opt,name=rx_packets,json=rxPackets,proto3" json:"rx_packets,omitempty"`
912 RxBytes uint64 `protobuf:"fixed64,10,opt,name=rx_bytes,json=rxBytes,proto3" json:"rx_bytes,omitempty"`
913 RxErrors uint64 `protobuf:"fixed64,11,opt,name=rx_errors,json=rxErrors,proto3" json:"rx_errors,omitempty"`
914 TxPackets uint64 `protobuf:"fixed64,12,opt,name=tx_packets,json=txPackets,proto3" json:"tx_packets,omitempty"`
915 TxBytes uint64 `protobuf:"fixed64,13,opt,name=tx_bytes,json=txBytes,proto3" json:"tx_bytes,omitempty"`
916 TxErrors uint64 `protobuf:"fixed64,14,opt,name=tx_errors,json=txErrors,proto3" json:"tx_errors,omitempty"`
917 XXX_NoUnkeyedLiteral struct{} `json:"-"`
918 XXX_unrecognized []byte `json:"-"`
919 XXX_sizecache int32 `json:"-"`
Don Newton98fd8812019-09-23 15:15:02 -0400920}
921
922func (m *Port) Reset() { *m = Port{} }
923func (m *Port) String() string { return proto.CompactTextString(m) }
924func (*Port) ProtoMessage() {}
925func (*Port) Descriptor() ([]byte, []int) {
926 return fileDescriptor_200940f73d155856, []int{9}
927}
928
929func (m *Port) XXX_Unmarshal(b []byte) error {
930 return xxx_messageInfo_Port.Unmarshal(m, b)
931}
932func (m *Port) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
933 return xxx_messageInfo_Port.Marshal(b, m, deterministic)
934}
935func (m *Port) XXX_Merge(src proto.Message) {
936 xxx_messageInfo_Port.Merge(m, src)
937}
938func (m *Port) XXX_Size() int {
939 return xxx_messageInfo_Port.Size(m)
940}
941func (m *Port) XXX_DiscardUnknown() {
942 xxx_messageInfo_Port.DiscardUnknown(m)
943}
944
945var xxx_messageInfo_Port proto.InternalMessageInfo
946
947func (m *Port) GetPortNo() uint32 {
948 if m != nil {
949 return m.PortNo
950 }
951 return 0
952}
953
954func (m *Port) GetLabel() string {
955 if m != nil {
956 return m.Label
957 }
958 return ""
959}
960
961func (m *Port) GetType() Port_PortType {
962 if m != nil {
963 return m.Type
964 }
965 return Port_UNKNOWN
966}
967
David K. Bainbridgeaea73cd2020-01-27 10:44:50 -0800968func (m *Port) GetAdminState() common.AdminState_Types {
Don Newton98fd8812019-09-23 15:15:02 -0400969 if m != nil {
970 return m.AdminState
971 }
972 return common.AdminState_UNKNOWN
973}
974
David K. Bainbridgeaea73cd2020-01-27 10:44:50 -0800975func (m *Port) GetOperStatus() common.OperStatus_Types {
Don Newton98fd8812019-09-23 15:15:02 -0400976 if m != nil {
977 return m.OperStatus
978 }
979 return common.OperStatus_UNKNOWN
980}
981
982func (m *Port) GetDeviceId() string {
983 if m != nil {
984 return m.DeviceId
985 }
986 return ""
987}
988
989func (m *Port) GetPeers() []*Port_PeerPort {
990 if m != nil {
991 return m.Peers
992 }
993 return nil
994}
995
996func (m *Port) GetRxPackets() uint64 {
997 if m != nil {
998 return m.RxPackets
999 }
1000 return 0
1001}
1002
1003func (m *Port) GetRxBytes() uint64 {
1004 if m != nil {
1005 return m.RxBytes
1006 }
1007 return 0
1008}
1009
1010func (m *Port) GetRxErrors() uint64 {
1011 if m != nil {
1012 return m.RxErrors
1013 }
1014 return 0
1015}
1016
1017func (m *Port) GetTxPackets() uint64 {
1018 if m != nil {
1019 return m.TxPackets
1020 }
1021 return 0
1022}
1023
1024func (m *Port) GetTxBytes() uint64 {
1025 if m != nil {
1026 return m.TxBytes
1027 }
1028 return 0
1029}
1030
1031func (m *Port) GetTxErrors() uint64 {
1032 if m != nil {
1033 return m.TxErrors
1034 }
1035 return 0
1036}
1037
1038type Port_PeerPort struct {
1039 DeviceId string `protobuf:"bytes,1,opt,name=device_id,json=deviceId,proto3" json:"device_id,omitempty"`
1040 PortNo uint32 `protobuf:"varint,2,opt,name=port_no,json=portNo,proto3" json:"port_no,omitempty"`
1041 XXX_NoUnkeyedLiteral struct{} `json:"-"`
1042 XXX_unrecognized []byte `json:"-"`
1043 XXX_sizecache int32 `json:"-"`
1044}
1045
1046func (m *Port_PeerPort) Reset() { *m = Port_PeerPort{} }
1047func (m *Port_PeerPort) String() string { return proto.CompactTextString(m) }
1048func (*Port_PeerPort) ProtoMessage() {}
1049func (*Port_PeerPort) Descriptor() ([]byte, []int) {
1050 return fileDescriptor_200940f73d155856, []int{9, 0}
1051}
1052
1053func (m *Port_PeerPort) XXX_Unmarshal(b []byte) error {
1054 return xxx_messageInfo_Port_PeerPort.Unmarshal(m, b)
1055}
1056func (m *Port_PeerPort) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
1057 return xxx_messageInfo_Port_PeerPort.Marshal(b, m, deterministic)
1058}
1059func (m *Port_PeerPort) XXX_Merge(src proto.Message) {
1060 xxx_messageInfo_Port_PeerPort.Merge(m, src)
1061}
1062func (m *Port_PeerPort) XXX_Size() int {
1063 return xxx_messageInfo_Port_PeerPort.Size(m)
1064}
1065func (m *Port_PeerPort) XXX_DiscardUnknown() {
1066 xxx_messageInfo_Port_PeerPort.DiscardUnknown(m)
1067}
1068
1069var xxx_messageInfo_Port_PeerPort proto.InternalMessageInfo
1070
1071func (m *Port_PeerPort) GetDeviceId() string {
1072 if m != nil {
1073 return m.DeviceId
1074 }
1075 return ""
1076}
1077
1078func (m *Port_PeerPort) GetPortNo() uint32 {
1079 if m != nil {
1080 return m.PortNo
1081 }
1082 return 0
1083}
1084
1085type Ports struct {
1086 Items []*Port `protobuf:"bytes,1,rep,name=items,proto3" json:"items,omitempty"`
1087 XXX_NoUnkeyedLiteral struct{} `json:"-"`
1088 XXX_unrecognized []byte `json:"-"`
1089 XXX_sizecache int32 `json:"-"`
1090}
1091
1092func (m *Ports) Reset() { *m = Ports{} }
1093func (m *Ports) String() string { return proto.CompactTextString(m) }
1094func (*Ports) ProtoMessage() {}
1095func (*Ports) Descriptor() ([]byte, []int) {
1096 return fileDescriptor_200940f73d155856, []int{10}
1097}
1098
1099func (m *Ports) XXX_Unmarshal(b []byte) error {
1100 return xxx_messageInfo_Ports.Unmarshal(m, b)
1101}
1102func (m *Ports) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
1103 return xxx_messageInfo_Ports.Marshal(b, m, deterministic)
1104}
1105func (m *Ports) XXX_Merge(src proto.Message) {
1106 xxx_messageInfo_Ports.Merge(m, src)
1107}
1108func (m *Ports) XXX_Size() int {
1109 return xxx_messageInfo_Ports.Size(m)
1110}
1111func (m *Ports) XXX_DiscardUnknown() {
1112 xxx_messageInfo_Ports.DiscardUnknown(m)
1113}
1114
1115var xxx_messageInfo_Ports proto.InternalMessageInfo
1116
1117func (m *Ports) GetItems() []*Port {
1118 if m != nil {
1119 return m.Items
1120 }
1121 return nil
1122}
1123
1124// A Physical Device instance
1125type Device struct {
1126 // Voltha's device identifier
1127 Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
1128 // Device type, refers to one of the registered device types
1129 Type string `protobuf:"bytes,2,opt,name=type,proto3" json:"type,omitempty"`
1130 // Is this device a root device. Each logical switch has one root
1131 // device that is associated with the logical flow switch.
1132 Root bool `protobuf:"varint,3,opt,name=root,proto3" json:"root,omitempty"`
1133 // Parent device id, in the device tree (for a root device, the parent_id
1134 // is the logical_device.id)
1135 ParentId string `protobuf:"bytes,4,opt,name=parent_id,json=parentId,proto3" json:"parent_id,omitempty"`
1136 ParentPortNo uint32 `protobuf:"varint,20,opt,name=parent_port_no,json=parentPortNo,proto3" json:"parent_port_no,omitempty"`
1137 // Vendor, version, serial number, etc.
1138 Vendor string `protobuf:"bytes,5,opt,name=vendor,proto3" json:"vendor,omitempty"`
1139 Model string `protobuf:"bytes,6,opt,name=model,proto3" json:"model,omitempty"`
1140 HardwareVersion string `protobuf:"bytes,7,opt,name=hardware_version,json=hardwareVersion,proto3" json:"hardware_version,omitempty"`
1141 FirmwareVersion string `protobuf:"bytes,8,opt,name=firmware_version,json=firmwareVersion,proto3" json:"firmware_version,omitempty"`
1142 // List of software on the device
1143 Images *Images `protobuf:"bytes,9,opt,name=images,proto3" json:"images,omitempty"`
1144 SerialNumber string `protobuf:"bytes,10,opt,name=serial_number,json=serialNumber,proto3" json:"serial_number,omitempty"`
1145 VendorId string `protobuf:"bytes,24,opt,name=vendor_id,json=vendorId,proto3" json:"vendor_id,omitempty"`
1146 // Addapter that takes care of device
1147 Adapter string `protobuf:"bytes,11,opt,name=adapter,proto3" json:"adapter,omitempty"`
1148 // Device contact on vlan (if 0, no vlan)
1149 Vlan uint32 `protobuf:"varint,12,opt,name=vlan,proto3" json:"vlan,omitempty"`
1150 // Device contact MAC address (format: "xx:xx:xx:xx:xx:xx")
1151 MacAddress string `protobuf:"bytes,13,opt,name=mac_address,json=macAddress,proto3" json:"mac_address,omitempty"`
1152 // Types that are valid to be assigned to Address:
1153 // *Device_Ipv4Address
1154 // *Device_Ipv6Address
1155 // *Device_HostAndPort
David K. Bainbridgeaea73cd2020-01-27 10:44:50 -08001156 Address isDevice_Address `protobuf_oneof:"address"`
1157 ExtraArgs string `protobuf:"bytes,23,opt,name=extra_args,json=extraArgs,proto3" json:"extra_args,omitempty"`
1158 ProxyAddress *Device_ProxyAddress `protobuf:"bytes,19,opt,name=proxy_address,json=proxyAddress,proto3" json:"proxy_address,omitempty"`
1159 AdminState common.AdminState_Types `protobuf:"varint,16,opt,name=admin_state,json=adminState,proto3,enum=common.AdminState_Types" json:"admin_state,omitempty"`
1160 OperStatus common.OperStatus_Types `protobuf:"varint,17,opt,name=oper_status,json=operStatus,proto3,enum=common.OperStatus_Types" json:"oper_status,omitempty"`
1161 Reason string `protobuf:"bytes,22,opt,name=reason,proto3" json:"reason,omitempty"`
1162 ConnectStatus common.ConnectStatus_Types `protobuf:"varint,18,opt,name=connect_status,json=connectStatus,proto3,enum=common.ConnectStatus_Types" json:"connect_status,omitempty"`
Don Newton98fd8812019-09-23 15:15:02 -04001163 // Device type specific attributes
1164 Custom *any.Any `protobuf:"bytes,64,opt,name=custom,proto3" json:"custom,omitempty"`
1165 Ports []*Port `protobuf:"bytes,128,rep,name=ports,proto3" json:"ports,omitempty"`
1166 Flows *openflow_13.Flows `protobuf:"bytes,129,opt,name=flows,proto3" json:"flows,omitempty"`
1167 FlowGroups *openflow_13.FlowGroups `protobuf:"bytes,130,opt,name=flow_groups,json=flowGroups,proto3" json:"flow_groups,omitempty"`
1168 // PmConfigs will eventually converted to a child node of the
1169 // device to falicitata callbacks and to simplify manipulation.
1170 PmConfigs *PmConfigs `protobuf:"bytes,131,opt,name=pm_configs,json=pmConfigs,proto3" json:"pm_configs,omitempty"`
1171 ImageDownloads []*ImageDownload `protobuf:"bytes,133,rep,name=image_downloads,json=imageDownloads,proto3" json:"image_downloads,omitempty"`
1172 XXX_NoUnkeyedLiteral struct{} `json:"-"`
1173 XXX_unrecognized []byte `json:"-"`
1174 XXX_sizecache int32 `json:"-"`
1175}
1176
1177func (m *Device) Reset() { *m = Device{} }
1178func (m *Device) String() string { return proto.CompactTextString(m) }
1179func (*Device) ProtoMessage() {}
1180func (*Device) Descriptor() ([]byte, []int) {
1181 return fileDescriptor_200940f73d155856, []int{11}
1182}
1183
1184func (m *Device) XXX_Unmarshal(b []byte) error {
1185 return xxx_messageInfo_Device.Unmarshal(m, b)
1186}
1187func (m *Device) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
1188 return xxx_messageInfo_Device.Marshal(b, m, deterministic)
1189}
1190func (m *Device) XXX_Merge(src proto.Message) {
1191 xxx_messageInfo_Device.Merge(m, src)
1192}
1193func (m *Device) XXX_Size() int {
1194 return xxx_messageInfo_Device.Size(m)
1195}
1196func (m *Device) XXX_DiscardUnknown() {
1197 xxx_messageInfo_Device.DiscardUnknown(m)
1198}
1199
1200var xxx_messageInfo_Device proto.InternalMessageInfo
1201
1202func (m *Device) GetId() string {
1203 if m != nil {
1204 return m.Id
1205 }
1206 return ""
1207}
1208
1209func (m *Device) GetType() string {
1210 if m != nil {
1211 return m.Type
1212 }
1213 return ""
1214}
1215
1216func (m *Device) GetRoot() bool {
1217 if m != nil {
1218 return m.Root
1219 }
1220 return false
1221}
1222
1223func (m *Device) GetParentId() string {
1224 if m != nil {
1225 return m.ParentId
1226 }
1227 return ""
1228}
1229
1230func (m *Device) GetParentPortNo() uint32 {
1231 if m != nil {
1232 return m.ParentPortNo
1233 }
1234 return 0
1235}
1236
1237func (m *Device) GetVendor() string {
1238 if m != nil {
1239 return m.Vendor
1240 }
1241 return ""
1242}
1243
1244func (m *Device) GetModel() string {
1245 if m != nil {
1246 return m.Model
1247 }
1248 return ""
1249}
1250
1251func (m *Device) GetHardwareVersion() string {
1252 if m != nil {
1253 return m.HardwareVersion
1254 }
1255 return ""
1256}
1257
1258func (m *Device) GetFirmwareVersion() string {
1259 if m != nil {
1260 return m.FirmwareVersion
1261 }
1262 return ""
1263}
1264
1265func (m *Device) GetImages() *Images {
1266 if m != nil {
1267 return m.Images
1268 }
1269 return nil
1270}
1271
1272func (m *Device) GetSerialNumber() string {
1273 if m != nil {
1274 return m.SerialNumber
1275 }
1276 return ""
1277}
1278
1279func (m *Device) GetVendorId() string {
1280 if m != nil {
1281 return m.VendorId
1282 }
1283 return ""
1284}
1285
1286func (m *Device) GetAdapter() string {
1287 if m != nil {
1288 return m.Adapter
1289 }
1290 return ""
1291}
1292
1293func (m *Device) GetVlan() uint32 {
1294 if m != nil {
1295 return m.Vlan
1296 }
1297 return 0
1298}
1299
1300func (m *Device) GetMacAddress() string {
1301 if m != nil {
1302 return m.MacAddress
1303 }
1304 return ""
1305}
1306
1307type isDevice_Address interface {
1308 isDevice_Address()
1309}
1310
1311type Device_Ipv4Address struct {
1312 Ipv4Address string `protobuf:"bytes,14,opt,name=ipv4_address,json=ipv4Address,proto3,oneof"`
1313}
1314
1315type Device_Ipv6Address struct {
1316 Ipv6Address string `protobuf:"bytes,15,opt,name=ipv6_address,json=ipv6Address,proto3,oneof"`
1317}
1318
1319type Device_HostAndPort struct {
1320 HostAndPort string `protobuf:"bytes,21,opt,name=host_and_port,json=hostAndPort,proto3,oneof"`
1321}
1322
1323func (*Device_Ipv4Address) isDevice_Address() {}
1324
1325func (*Device_Ipv6Address) isDevice_Address() {}
1326
1327func (*Device_HostAndPort) isDevice_Address() {}
1328
1329func (m *Device) GetAddress() isDevice_Address {
1330 if m != nil {
1331 return m.Address
1332 }
1333 return nil
1334}
1335
1336func (m *Device) GetIpv4Address() string {
1337 if x, ok := m.GetAddress().(*Device_Ipv4Address); ok {
1338 return x.Ipv4Address
1339 }
1340 return ""
1341}
1342
1343func (m *Device) GetIpv6Address() string {
1344 if x, ok := m.GetAddress().(*Device_Ipv6Address); ok {
1345 return x.Ipv6Address
1346 }
1347 return ""
1348}
1349
1350func (m *Device) GetHostAndPort() string {
1351 if x, ok := m.GetAddress().(*Device_HostAndPort); ok {
1352 return x.HostAndPort
1353 }
1354 return ""
1355}
1356
1357func (m *Device) GetExtraArgs() string {
1358 if m != nil {
1359 return m.ExtraArgs
1360 }
1361 return ""
1362}
1363
1364func (m *Device) GetProxyAddress() *Device_ProxyAddress {
1365 if m != nil {
1366 return m.ProxyAddress
1367 }
1368 return nil
1369}
1370
David K. Bainbridgeaea73cd2020-01-27 10:44:50 -08001371func (m *Device) GetAdminState() common.AdminState_Types {
Don Newton98fd8812019-09-23 15:15:02 -04001372 if m != nil {
1373 return m.AdminState
1374 }
1375 return common.AdminState_UNKNOWN
1376}
1377
David K. Bainbridgeaea73cd2020-01-27 10:44:50 -08001378func (m *Device) GetOperStatus() common.OperStatus_Types {
Don Newton98fd8812019-09-23 15:15:02 -04001379 if m != nil {
1380 return m.OperStatus
1381 }
1382 return common.OperStatus_UNKNOWN
1383}
1384
1385func (m *Device) GetReason() string {
1386 if m != nil {
1387 return m.Reason
1388 }
1389 return ""
1390}
1391
David K. Bainbridgeaea73cd2020-01-27 10:44:50 -08001392func (m *Device) GetConnectStatus() common.ConnectStatus_Types {
Don Newton98fd8812019-09-23 15:15:02 -04001393 if m != nil {
1394 return m.ConnectStatus
1395 }
1396 return common.ConnectStatus_UNKNOWN
1397}
1398
1399func (m *Device) GetCustom() *any.Any {
1400 if m != nil {
1401 return m.Custom
1402 }
1403 return nil
1404}
1405
1406func (m *Device) GetPorts() []*Port {
1407 if m != nil {
1408 return m.Ports
1409 }
1410 return nil
1411}
1412
1413func (m *Device) GetFlows() *openflow_13.Flows {
1414 if m != nil {
1415 return m.Flows
1416 }
1417 return nil
1418}
1419
1420func (m *Device) GetFlowGroups() *openflow_13.FlowGroups {
1421 if m != nil {
1422 return m.FlowGroups
1423 }
1424 return nil
1425}
1426
1427func (m *Device) GetPmConfigs() *PmConfigs {
1428 if m != nil {
1429 return m.PmConfigs
1430 }
1431 return nil
1432}
1433
1434func (m *Device) GetImageDownloads() []*ImageDownload {
1435 if m != nil {
1436 return m.ImageDownloads
1437 }
1438 return nil
1439}
1440
1441// XXX_OneofWrappers is for the internal use of the proto package.
1442func (*Device) XXX_OneofWrappers() []interface{} {
1443 return []interface{}{
1444 (*Device_Ipv4Address)(nil),
1445 (*Device_Ipv6Address)(nil),
1446 (*Device_HostAndPort)(nil),
1447 }
1448}
1449
1450type Device_ProxyAddress struct {
1451 DeviceId string `protobuf:"bytes,1,opt,name=device_id,json=deviceId,proto3" json:"device_id,omitempty"`
1452 DeviceType string `protobuf:"bytes,2,opt,name=device_type,json=deviceType,proto3" json:"device_type,omitempty"`
1453 ChannelId uint32 `protobuf:"varint,3,opt,name=channel_id,json=channelId,proto3" json:"channel_id,omitempty"`
1454 ChannelGroupId uint32 `protobuf:"varint,4,opt,name=channel_group_id,json=channelGroupId,proto3" json:"channel_group_id,omitempty"`
1455 ChannelTermination string `protobuf:"bytes,5,opt,name=channel_termination,json=channelTermination,proto3" json:"channel_termination,omitempty"`
1456 OnuId uint32 `protobuf:"varint,6,opt,name=onu_id,json=onuId,proto3" json:"onu_id,omitempty"`
1457 OnuSessionId uint32 `protobuf:"varint,7,opt,name=onu_session_id,json=onuSessionId,proto3" json:"onu_session_id,omitempty"`
1458 XXX_NoUnkeyedLiteral struct{} `json:"-"`
1459 XXX_unrecognized []byte `json:"-"`
1460 XXX_sizecache int32 `json:"-"`
1461}
1462
1463func (m *Device_ProxyAddress) Reset() { *m = Device_ProxyAddress{} }
1464func (m *Device_ProxyAddress) String() string { return proto.CompactTextString(m) }
1465func (*Device_ProxyAddress) ProtoMessage() {}
1466func (*Device_ProxyAddress) Descriptor() ([]byte, []int) {
1467 return fileDescriptor_200940f73d155856, []int{11, 0}
1468}
1469
1470func (m *Device_ProxyAddress) XXX_Unmarshal(b []byte) error {
1471 return xxx_messageInfo_Device_ProxyAddress.Unmarshal(m, b)
1472}
1473func (m *Device_ProxyAddress) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
1474 return xxx_messageInfo_Device_ProxyAddress.Marshal(b, m, deterministic)
1475}
1476func (m *Device_ProxyAddress) XXX_Merge(src proto.Message) {
1477 xxx_messageInfo_Device_ProxyAddress.Merge(m, src)
1478}
1479func (m *Device_ProxyAddress) XXX_Size() int {
1480 return xxx_messageInfo_Device_ProxyAddress.Size(m)
1481}
1482func (m *Device_ProxyAddress) XXX_DiscardUnknown() {
1483 xxx_messageInfo_Device_ProxyAddress.DiscardUnknown(m)
1484}
1485
1486var xxx_messageInfo_Device_ProxyAddress proto.InternalMessageInfo
1487
1488func (m *Device_ProxyAddress) GetDeviceId() string {
1489 if m != nil {
1490 return m.DeviceId
1491 }
1492 return ""
1493}
1494
1495func (m *Device_ProxyAddress) GetDeviceType() string {
1496 if m != nil {
1497 return m.DeviceType
1498 }
1499 return ""
1500}
1501
1502func (m *Device_ProxyAddress) GetChannelId() uint32 {
1503 if m != nil {
1504 return m.ChannelId
1505 }
1506 return 0
1507}
1508
1509func (m *Device_ProxyAddress) GetChannelGroupId() uint32 {
1510 if m != nil {
1511 return m.ChannelGroupId
1512 }
1513 return 0
1514}
1515
1516func (m *Device_ProxyAddress) GetChannelTermination() string {
1517 if m != nil {
1518 return m.ChannelTermination
1519 }
1520 return ""
1521}
1522
1523func (m *Device_ProxyAddress) GetOnuId() uint32 {
1524 if m != nil {
1525 return m.OnuId
1526 }
1527 return 0
1528}
1529
1530func (m *Device_ProxyAddress) GetOnuSessionId() uint32 {
1531 if m != nil {
1532 return m.OnuSessionId
1533 }
1534 return 0
1535}
1536
1537type Devices struct {
1538 Items []*Device `protobuf:"bytes,1,rep,name=items,proto3" json:"items,omitempty"`
1539 XXX_NoUnkeyedLiteral struct{} `json:"-"`
1540 XXX_unrecognized []byte `json:"-"`
1541 XXX_sizecache int32 `json:"-"`
1542}
1543
1544func (m *Devices) Reset() { *m = Devices{} }
1545func (m *Devices) String() string { return proto.CompactTextString(m) }
1546func (*Devices) ProtoMessage() {}
1547func (*Devices) Descriptor() ([]byte, []int) {
1548 return fileDescriptor_200940f73d155856, []int{12}
1549}
1550
1551func (m *Devices) XXX_Unmarshal(b []byte) error {
1552 return xxx_messageInfo_Devices.Unmarshal(m, b)
1553}
1554func (m *Devices) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
1555 return xxx_messageInfo_Devices.Marshal(b, m, deterministic)
1556}
1557func (m *Devices) XXX_Merge(src proto.Message) {
1558 xxx_messageInfo_Devices.Merge(m, src)
1559}
1560func (m *Devices) XXX_Size() int {
1561 return xxx_messageInfo_Devices.Size(m)
1562}
1563func (m *Devices) XXX_DiscardUnknown() {
1564 xxx_messageInfo_Devices.DiscardUnknown(m)
1565}
1566
1567var xxx_messageInfo_Devices proto.InternalMessageInfo
1568
1569func (m *Devices) GetItems() []*Device {
1570 if m != nil {
1571 return m.Items
1572 }
1573 return nil
1574}
1575
1576type SimulateAlarmRequest struct {
1577 // Device Identifier
1578 Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
1579 Indicator string `protobuf:"bytes,2,opt,name=indicator,proto3" json:"indicator,omitempty"`
1580 IntfId string `protobuf:"bytes,3,opt,name=intf_id,json=intfId,proto3" json:"intf_id,omitempty"`
1581 PortTypeName string `protobuf:"bytes,4,opt,name=port_type_name,json=portTypeName,proto3" json:"port_type_name,omitempty"`
1582 OnuDeviceId string `protobuf:"bytes,5,opt,name=onu_device_id,json=onuDeviceId,proto3" json:"onu_device_id,omitempty"`
1583 InverseBitErrorRate int32 `protobuf:"varint,6,opt,name=inverse_bit_error_rate,json=inverseBitErrorRate,proto3" json:"inverse_bit_error_rate,omitempty"`
1584 Drift int32 `protobuf:"varint,7,opt,name=drift,proto3" json:"drift,omitempty"`
1585 NewEqd int32 `protobuf:"varint,8,opt,name=new_eqd,json=newEqd,proto3" json:"new_eqd,omitempty"`
1586 OnuSerialNumber string `protobuf:"bytes,9,opt,name=onu_serial_number,json=onuSerialNumber,proto3" json:"onu_serial_number,omitempty"`
1587 Operation SimulateAlarmRequest_OperationType `protobuf:"varint,10,opt,name=operation,proto3,enum=voltha.SimulateAlarmRequest_OperationType" json:"operation,omitempty"`
1588 XXX_NoUnkeyedLiteral struct{} `json:"-"`
1589 XXX_unrecognized []byte `json:"-"`
1590 XXX_sizecache int32 `json:"-"`
1591}
1592
1593func (m *SimulateAlarmRequest) Reset() { *m = SimulateAlarmRequest{} }
1594func (m *SimulateAlarmRequest) String() string { return proto.CompactTextString(m) }
1595func (*SimulateAlarmRequest) ProtoMessage() {}
1596func (*SimulateAlarmRequest) Descriptor() ([]byte, []int) {
1597 return fileDescriptor_200940f73d155856, []int{13}
1598}
1599
1600func (m *SimulateAlarmRequest) XXX_Unmarshal(b []byte) error {
1601 return xxx_messageInfo_SimulateAlarmRequest.Unmarshal(m, b)
1602}
1603func (m *SimulateAlarmRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
1604 return xxx_messageInfo_SimulateAlarmRequest.Marshal(b, m, deterministic)
1605}
1606func (m *SimulateAlarmRequest) XXX_Merge(src proto.Message) {
1607 xxx_messageInfo_SimulateAlarmRequest.Merge(m, src)
1608}
1609func (m *SimulateAlarmRequest) XXX_Size() int {
1610 return xxx_messageInfo_SimulateAlarmRequest.Size(m)
1611}
1612func (m *SimulateAlarmRequest) XXX_DiscardUnknown() {
1613 xxx_messageInfo_SimulateAlarmRequest.DiscardUnknown(m)
1614}
1615
1616var xxx_messageInfo_SimulateAlarmRequest proto.InternalMessageInfo
1617
1618func (m *SimulateAlarmRequest) GetId() string {
1619 if m != nil {
1620 return m.Id
1621 }
1622 return ""
1623}
1624
1625func (m *SimulateAlarmRequest) GetIndicator() string {
1626 if m != nil {
1627 return m.Indicator
1628 }
1629 return ""
1630}
1631
1632func (m *SimulateAlarmRequest) GetIntfId() string {
1633 if m != nil {
1634 return m.IntfId
1635 }
1636 return ""
1637}
1638
1639func (m *SimulateAlarmRequest) GetPortTypeName() string {
1640 if m != nil {
1641 return m.PortTypeName
1642 }
1643 return ""
1644}
1645
1646func (m *SimulateAlarmRequest) GetOnuDeviceId() string {
1647 if m != nil {
1648 return m.OnuDeviceId
1649 }
1650 return ""
1651}
1652
1653func (m *SimulateAlarmRequest) GetInverseBitErrorRate() int32 {
1654 if m != nil {
1655 return m.InverseBitErrorRate
1656 }
1657 return 0
1658}
1659
1660func (m *SimulateAlarmRequest) GetDrift() int32 {
1661 if m != nil {
1662 return m.Drift
1663 }
1664 return 0
1665}
1666
1667func (m *SimulateAlarmRequest) GetNewEqd() int32 {
1668 if m != nil {
1669 return m.NewEqd
1670 }
1671 return 0
1672}
1673
1674func (m *SimulateAlarmRequest) GetOnuSerialNumber() string {
1675 if m != nil {
1676 return m.OnuSerialNumber
1677 }
1678 return ""
1679}
1680
1681func (m *SimulateAlarmRequest) GetOperation() SimulateAlarmRequest_OperationType {
1682 if m != nil {
1683 return m.Operation
1684 }
1685 return SimulateAlarmRequest_RAISE
1686}
1687
1688func init() {
1689 proto.RegisterEnum("voltha.PmConfig_PmType", PmConfig_PmType_name, PmConfig_PmType_value)
1690 proto.RegisterEnum("voltha.ImageDownload_ImageDownloadState", ImageDownload_ImageDownloadState_name, ImageDownload_ImageDownloadState_value)
1691 proto.RegisterEnum("voltha.ImageDownload_ImageDownloadFailureReason", ImageDownload_ImageDownloadFailureReason_name, ImageDownload_ImageDownloadFailureReason_value)
1692 proto.RegisterEnum("voltha.ImageDownload_ImageActivateState", ImageDownload_ImageActivateState_name, ImageDownload_ImageActivateState_value)
1693 proto.RegisterEnum("voltha.Port_PortType", Port_PortType_name, Port_PortType_value)
1694 proto.RegisterEnum("voltha.SimulateAlarmRequest_OperationType", SimulateAlarmRequest_OperationType_name, SimulateAlarmRequest_OperationType_value)
1695 proto.RegisterType((*DeviceType)(nil), "voltha.DeviceType")
1696 proto.RegisterType((*DeviceTypes)(nil), "voltha.DeviceTypes")
1697 proto.RegisterType((*PmConfig)(nil), "voltha.PmConfig")
1698 proto.RegisterType((*PmGroupConfig)(nil), "voltha.PmGroupConfig")
1699 proto.RegisterType((*PmConfigs)(nil), "voltha.PmConfigs")
1700 proto.RegisterType((*Image)(nil), "voltha.Image")
1701 proto.RegisterType((*Images)(nil), "voltha.Images")
1702 proto.RegisterType((*ImageDownload)(nil), "voltha.ImageDownload")
1703 proto.RegisterType((*ImageDownloads)(nil), "voltha.ImageDownloads")
1704 proto.RegisterType((*Port)(nil), "voltha.Port")
1705 proto.RegisterType((*Port_PeerPort)(nil), "voltha.Port.PeerPort")
1706 proto.RegisterType((*Ports)(nil), "voltha.Ports")
1707 proto.RegisterType((*Device)(nil), "voltha.Device")
1708 proto.RegisterType((*Device_ProxyAddress)(nil), "voltha.Device.ProxyAddress")
1709 proto.RegisterType((*Devices)(nil), "voltha.Devices")
1710 proto.RegisterType((*SimulateAlarmRequest)(nil), "voltha.SimulateAlarmRequest")
1711}
1712
1713func init() { proto.RegisterFile("voltha_protos/device.proto", fileDescriptor_200940f73d155856) }
1714
1715var fileDescriptor_200940f73d155856 = []byte{
David K. Bainbridgeaea73cd2020-01-27 10:44:50 -08001716 // 2359 bytes of a gzipped FileDescriptorProto
1717 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x58, 0x4d, 0x73, 0xdb, 0xc6,
1718 0xf9, 0x37, 0x29, 0x01, 0x24, 0x1e, 0xbe, 0x08, 0x5e, 0xcb, 0x31, 0x6c, 0xfd, 0x35, 0xf6, 0x9f,
1719 0x4e, 0xa7, 0x4a, 0x52, 0x4b, 0x6e, 0xdc, 0x49, 0xd2, 0x43, 0x67, 0x4c, 0x91, 0xb0, 0x8d, 0xa9,
1720 0x4a, 0xa9, 0x4b, 0x52, 0x69, 0x7b, 0xc1, 0x40, 0xc4, 0x4a, 0xc2, 0x04, 0x2f, 0xf4, 0x02, 0xa4,
1721 0xe5, 0x9c, 0xda, 0x66, 0xd2, 0x53, 0x6f, 0xfd, 0x12, 0xfd, 0x06, 0x3d, 0xb6, 0x33, 0x3d, 0x67,
1722 0xfa, 0x1d, 0xda, 0x99, 0x4e, 0x3f, 0x41, 0xce, 0x9d, 0x7d, 0x76, 0x97, 0x04, 0x64, 0xd7, 0x69,
1723 0x2f, 0x12, 0xf6, 0xf7, 0xbc, 0xec, 0xee, 0x6f, 0x77, 0x9f, 0x17, 0xc2, 0xbd, 0x65, 0x16, 0x17,
1724 0x97, 0x81, 0x3f, 0xe7, 0x59, 0x91, 0xe5, 0x07, 0x21, 0x5b, 0x46, 0x33, 0xb6, 0x8f, 0x23, 0x62,
1725 0x4a, 0xd9, 0xbd, 0xbb, 0x17, 0x59, 0x76, 0x11, 0xb3, 0x03, 0x44, 0xcf, 0x16, 0xe7, 0x07, 0x41,
1726 0xfa, 0x5a, 0xaa, 0xdc, 0xbb, 0x66, 0x3e, 0xcb, 0x92, 0x24, 0x4b, 0x95, 0xcc, 0xa9, 0xca, 0x12,
1727 0x56, 0x04, 0x4a, 0x72, 0xbf, 0x2a, 0xc9, 0xe6, 0x2c, 0x3d, 0x8f, 0xb3, 0x57, 0xfe, 0x0f, 0x9f,
1728 0x48, 0x85, 0xde, 0x9f, 0xeb, 0x00, 0x43, 0x5c, 0xca, 0xe4, 0xf5, 0x9c, 0x91, 0x2e, 0xd4, 0xa3,
1729 0xd0, 0xa9, 0x3d, 0xa8, 0xed, 0x59, 0xb4, 0x1e, 0x85, 0x64, 0x07, 0xac, 0x25, 0x4b, 0xc3, 0x8c,
1730 0xfb, 0x51, 0xe8, 0x18, 0x08, 0x37, 0x25, 0xe0, 0x85, 0x64, 0x17, 0x60, 0x25, 0xcc, 0x1d, 0xf3,
1731 0xc1, 0xc6, 0x9e, 0x45, 0x2d, 0x2d, 0xcd, 0x89, 0x03, 0x8d, 0x20, 0x0c, 0xe6, 0x05, 0xe3, 0x4e,
1732 0x1d, 0x2d, 0xf5, 0x90, 0x7c, 0x0a, 0x4e, 0x30, 0x9b, 0xb1, 0x79, 0x91, 0xfb, 0x67, 0x8b, 0xf8,
1733 0x0b, 0x1f, 0x97, 0xb4, 0x98, 0x87, 0x41, 0xc1, 0x9c, 0x8d, 0x07, 0xb5, 0xbd, 0x26, 0xbd, 0xad,
1734 0xe4, 0x87, 0x8b, 0xf8, 0x8b, 0x67, 0x71, 0xf6, 0x6a, 0x8a, 0x42, 0x32, 0x84, 0xfb, 0xda, 0x30,
1735 0x08, 0x43, 0x9f, 0xb3, 0x24, 0x5b, 0xb2, 0xb2, 0x79, 0xee, 0x6c, 0xa2, 0xfd, 0x8e, 0x52, 0xeb,
1736 0x87, 0x21, 0x45, 0xa5, 0xb5, 0x93, 0x9c, 0x1c, 0xc1, 0x43, 0xed, 0x25, 0x8c, 0x38, 0x9b, 0x15,
1737 0x7e, 0x9c, 0x5d, 0x44, 0xb3, 0x20, 0x46, 0x4f, 0xb9, 0x5e, 0x49, 0x03, 0x3d, 0xe9, 0x09, 0x87,
1738 0xa8, 0x79, 0x24, 0x15, 0x85, 0xb7, 0x5c, 0xba, 0xeb, 0x7d, 0x0a, 0xad, 0x35, 0x81, 0x39, 0xd9,
1739 0x03, 0x23, 0x2a, 0x58, 0x92, 0x3b, 0xb5, 0x07, 0x1b, 0x7b, 0xad, 0x8f, 0xc9, 0xbe, 0x3c, 0x81,
1740 0xfd, 0xb5, 0x0e, 0x95, 0x0a, 0xbd, 0xbf, 0xd4, 0xa0, 0x79, 0x92, 0x0c, 0xb2, 0xf4, 0x3c, 0xba,
1741 0x20, 0x04, 0x36, 0xd3, 0x20, 0x61, 0x8a, 0x7a, 0xfc, 0x26, 0x1f, 0xc1, 0x66, 0xf1, 0x7a, 0xce,
1742 0x90, 0xbd, 0xee, 0xc7, 0x77, 0xb4, 0x27, 0x6d, 0xb3, 0x7f, 0x92, 0xa0, 0x3b, 0x54, 0x12, 0x6c,
1743 0xb3, 0x34, 0x38, 0x8b, 0x59, 0xa8, 0x28, 0xd4, 0x43, 0x72, 0x1f, 0x5a, 0x79, 0x90, 0xcc, 0x63,
1744 0xe6, 0x9f, 0x73, 0xf6, 0x12, 0x09, 0xea, 0x50, 0x90, 0xd0, 0x33, 0xce, 0x5e, 0xf6, 0x3e, 0x03,
1745 0x53, 0xba, 0x22, 0x2d, 0x68, 0x0c, 0x8e, 0xa7, 0xa3, 0x89, 0x4b, 0xed, 0x1b, 0xc4, 0x02, 0xe3,
1746 0x79, 0x7f, 0xfa, 0xdc, 0xb5, 0x6b, 0xe2, 0x73, 0x3c, 0xe9, 0x4f, 0x5c, 0xbb, 0x2e, 0x55, 0x46,
1747 0x13, 0xf7, 0x17, 0x13, 0x7b, 0xa3, 0xf7, 0x87, 0x1a, 0x74, 0x4e, 0x92, 0xe7, 0x3c, 0x5b, 0xcc,
1748 0xd5, 0x3e, 0x76, 0x01, 0x2e, 0xc4, 0xd0, 0x2f, 0xed, 0xc6, 0x42, 0x64, 0x24, 0xb6, 0xb4, 0x12,
1749 0xe3, 0x52, 0xea, 0xb8, 0x14, 0x29, 0x16, 0x2b, 0x79, 0xc7, 0x26, 0x3e, 0x84, 0x46, 0xc2, 0x0a,
1750 0x1e, 0xcd, 0xc4, 0x09, 0x0b, 0x62, 0xed, 0xeb, 0x74, 0x50, 0xad, 0xd0, 0xfb, 0x67, 0x0d, 0x2c,
1751 0x8d, 0xe6, 0x6f, 0x5c, 0xe9, 0xff, 0x87, 0x76, 0xc8, 0xce, 0x83, 0x45, 0x5c, 0x94, 0x17, 0xd1,
1752 0x52, 0x18, 0x2e, 0xe3, 0x3e, 0x34, 0x70, 0x4d, 0x7a, 0x19, 0x87, 0xc6, 0xbf, 0xbe, 0xfd, 0x66,
1753 0xb7, 0x46, 0x35, 0x4a, 0x3e, 0x84, 0x8e, 0xb0, 0xf5, 0xb3, 0x25, 0xe3, 0x3c, 0x0a, 0x99, 0xbc,
1754 0x75, 0x5a, 0xad, 0x2d, 0x64, 0xc7, 0x4a, 0x44, 0x1e, 0x81, 0x89, 0x66, 0xb9, 0x63, 0xe0, 0xc2,
1755 0x6f, 0xaf, 0x17, 0x5e, 0x22, 0x8e, 0x2a, 0xa5, 0xf2, 0x46, 0xcd, 0xef, 0xda, 0xe8, 0xdf, 0x6a,
1756 0x60, 0x78, 0x49, 0x70, 0xc1, 0xde, 0x7a, 0x7d, 0x1c, 0x68, 0x2c, 0x19, 0xcf, 0xa3, 0x2c, 0xd5,
1757 0xef, 0x4f, 0x0d, 0x85, 0xf6, 0x65, 0x90, 0x5f, 0xe2, 0xe6, 0x2c, 0x8a, 0xdf, 0xe4, 0x03, 0xb0,
1758 0xa3, 0x34, 0x2f, 0x82, 0x38, 0xf6, 0xc5, 0xb5, 0x2e, 0xa2, 0x44, 0xee, 0xca, 0xa2, 0x5b, 0x0a,
1759 0x1f, 0x2a, 0x58, 0x04, 0x85, 0x28, 0xf7, 0x83, 0x59, 0x11, 0x2d, 0x19, 0x06, 0x85, 0x26, 0x6d,
1760 0x46, 0x79, 0x1f, 0xc7, 0x82, 0xde, 0x28, 0xf7, 0x45, 0x78, 0x8a, 0x8a, 0x82, 0x85, 0x8e, 0x89,
1761 0xf2, 0x56, 0x94, 0x0f, 0x34, 0x44, 0xee, 0x42, 0x33, 0xca, 0xfd, 0x65, 0x10, 0x47, 0xa1, 0x7a,
1762 0x64, 0x8d, 0x28, 0x3f, 0x15, 0xc3, 0xde, 0x23, 0x30, 0x71, 0x43, 0x39, 0x79, 0x08, 0x46, 0x24,
1763 0xbe, 0xd4, 0x3b, 0xea, 0x68, 0x16, 0x50, 0x4c, 0xa5, 0xac, 0xf7, 0x8f, 0x06, 0x74, 0x10, 0x18,
1764 0x66, 0xaf, 0xd2, 0x38, 0x0b, 0xc2, 0x37, 0x4e, 0x5b, 0x13, 0x53, 0x2f, 0x11, 0x63, 0xc3, 0xc6,
1765 0x82, 0xc7, 0x6a, 0xf7, 0xe2, 0x53, 0x20, 0x33, 0x3e, 0x53, 0x4f, 0x43, 0x7c, 0x92, 0x63, 0xe8,
1766 0x86, 0xca, 0xa7, 0x9f, 0x17, 0x22, 0x1c, 0x18, 0xf8, 0x0a, 0xf7, 0x2a, 0xeb, 0xd0, 0xd3, 0x56,
1767 0x47, 0x63, 0xa1, 0x4f, 0x3b, 0x61, 0x79, 0x48, 0x1e, 0x42, 0x07, 0xd7, 0xec, 0xeb, 0x33, 0x31,
1768 0x71, 0xfa, 0x36, 0x82, 0xa7, 0xea, 0x60, 0x3e, 0x00, 0x5b, 0x5b, 0xb1, 0xd0, 0x3f, 0x7b, 0x2d,
1769 0x02, 0x5a, 0x03, 0x17, 0xb5, 0xb5, 0xc6, 0x0f, 0x05, 0x4c, 0x5e, 0x80, 0xc9, 0x59, 0x90, 0x67,
1770 0xa9, 0xd3, 0xc4, 0x85, 0x3d, 0xfe, 0x2f, 0x16, 0xf6, 0x2c, 0x88, 0xe2, 0x05, 0x67, 0x14, 0xed,
1771 0xa8, 0xb2, 0x27, 0xdf, 0x87, 0xad, 0x20, 0x0c, 0xa3, 0x22, 0xca, 0xd2, 0x20, 0xf6, 0xa3, 0xf4,
1772 0x3c, 0x73, 0x2c, 0x5c, 0x5b, 0x77, 0x0d, 0x7b, 0xe9, 0x79, 0x26, 0x03, 0xc9, 0x92, 0xf9, 0x33,
1773 0xbc, 0x86, 0x0e, 0xe0, 0xd1, 0x81, 0x80, 0xd4, 0xe3, 0xdf, 0x01, 0x2b, 0xce, 0x44, 0x1c, 0x0d,
1774 0x23, 0xee, 0xb4, 0x64, 0xb6, 0x40, 0x60, 0x18, 0x71, 0xe2, 0x41, 0x4b, 0x12, 0x20, 0xe9, 0x6c,
1775 0x7f, 0x27, 0x9d, 0x78, 0xa1, 0x82, 0x82, 0x49, 0x3a, 0x01, 0x8d, 0x25, 0x97, 0x3b, 0x60, 0x9d,
1776 0x47, 0x31, 0xf3, 0xf3, 0xe8, 0x4b, 0xe6, 0x74, 0x90, 0x9f, 0xa6, 0x00, 0xc6, 0xd1, 0x97, 0xac,
1777 0xf7, 0xa7, 0x1a, 0x90, 0x37, 0x8f, 0x83, 0x6c, 0x83, 0x3d, 0x3c, 0xfe, 0x7c, 0x74, 0x74, 0xdc,
1778 0x1f, 0xfa, 0xd3, 0xd1, 0x4f, 0x47, 0xc7, 0x9f, 0x8f, 0xec, 0x1b, 0xe4, 0x3d, 0x20, 0x2b, 0x74,
1779 0x3c, 0x1d, 0x0c, 0x5c, 0x77, 0xe8, 0x0e, 0xed, 0x5a, 0x05, 0xa7, 0xee, 0xcf, 0xa7, 0xee, 0x78,
1780 0xe2, 0x0e, 0xed, 0x7a, 0xc5, 0xcb, 0x78, 0xd2, 0xa7, 0x02, 0xdd, 0x20, 0xb7, 0x60, 0x6b, 0x85,
1781 0x3e, 0xeb, 0x7b, 0x47, 0xee, 0xd0, 0xde, 0x24, 0x0e, 0x6c, 0x97, 0x26, 0x1c, 0x4f, 0x4f, 0x4e,
1782 0x8e, 0x51, 0xdd, 0xa8, 0x38, 0x1f, 0xf4, 0x47, 0x03, 0xf7, 0x48, 0x58, 0x98, 0xbd, 0xdf, 0xd5,
1783 0xe0, 0xde, 0x7f, 0x3e, 0x2f, 0xd2, 0x86, 0xe6, 0xe8, 0xd8, 0x77, 0x29, 0x3d, 0x16, 0xd1, 0x79,
1784 0x0b, 0x5a, 0xde, 0xe8, 0xb4, 0x7f, 0xe4, 0x0d, 0xfd, 0x29, 0x3d, 0xb2, 0x6b, 0x02, 0x18, 0xba,
1785 0xa7, 0xde, 0xc0, 0xf5, 0x0f, 0xa7, 0xe3, 0x5f, 0xda, 0x75, 0x31, 0x8d, 0x37, 0x1a, 0x4f, 0x9f,
1786 0x3d, 0xf3, 0x06, 0x9e, 0x3b, 0x9a, 0xf8, 0xe3, 0x93, 0xfe, 0xc0, 0xb5, 0x37, 0xc8, 0x4d, 0xe8,
1787 0x28, 0x02, 0x94, 0xb3, 0x4d, 0xd2, 0x01, 0x6b, 0xbd, 0x10, 0xa3, 0xf7, 0x7b, 0x4d, 0x61, 0xe5,
1788 0x08, 0x84, 0xa1, 0xf7, 0xb3, 0xfe, 0x73, 0xb7, 0xc4, 0x1f, 0x81, 0xae, 0x84, 0xbc, 0x51, 0x7f,
1789 0x30, 0xf1, 0x4e, 0x45, 0xb2, 0xd8, 0x06, 0x5b, 0x62, 0x88, 0xf4, 0x27, 0xde, 0xe8, 0xb9, 0x5d,
1790 0x27, 0x36, 0xb4, 0x4b, 0xa8, 0x2b, 0x59, 0x93, 0x08, 0x75, 0x4f, 0x5d, 0x8a, 0x6a, 0x9b, 0x6b,
1791 0x87, 0x12, 0xc4, 0xe5, 0xfc, 0x04, 0xba, 0x15, 0x5a, 0x72, 0xf2, 0x91, 0x4e, 0xb2, 0xf5, 0x6a,
1792 0x48, 0xad, 0xa8, 0xe9, 0x3c, 0xfb, 0xb5, 0x01, 0x9b, 0x27, 0x19, 0x2f, 0xc8, 0x1d, 0x68, 0xcc,
1793 0x33, 0x5e, 0xf8, 0x69, 0x86, 0x01, 0xa2, 0x43, 0x4d, 0x31, 0x1c, 0x65, 0x64, 0x1b, 0x8c, 0x38,
1794 0x38, 0x63, 0xb1, 0x8a, 0x12, 0x72, 0x40, 0x3e, 0x50, 0xe9, 0x77, 0x03, 0x6f, 0xea, 0x3a, 0x6c,
1795 0x67, 0xbc, 0xc0, 0x3f, 0xa5, 0xe4, 0xfb, 0x63, 0x68, 0x05, 0x61, 0x12, 0xa5, 0x95, 0x50, 0xe1,
1796 0xec, 0xab, 0x22, 0xad, 0x2f, 0x44, 0x48, 0xe1, 0x3e, 0xd6, 0x08, 0x14, 0x82, 0x15, 0x22, 0x4c,
1797 0xb3, 0x39, 0xe3, 0x68, 0xb9, 0xc8, 0x31, 0x2a, 0x94, 0x4c, 0x8f, 0xe7, 0x8c, 0x8f, 0x51, 0xa2,
1798 0x4d, 0xb3, 0x15, 0x22, 0x9e, 0x81, 0xac, 0x22, 0x7d, 0x15, 0x48, 0x2d, 0xda, 0x94, 0x80, 0x17,
1799 0x0a, 0x8a, 0xe6, 0x8c, 0xf1, 0xdc, 0x69, 0x5e, 0xcb, 0x3a, 0xb8, 0x7c, 0xc6, 0xb8, 0xf8, 0xa0,
1800 0x52, 0x47, 0xa4, 0x65, 0x7e, 0xe5, 0xcf, 0x83, 0xd9, 0x17, 0xac, 0xc8, 0xf1, 0xf5, 0x9b, 0xd4,
1801 0xe2, 0x57, 0x27, 0x12, 0x10, 0x01, 0x9b, 0x5f, 0xa9, 0x70, 0x04, 0x28, 0x6c, 0xf0, 0x2b, 0x19,
1802 0x86, 0x76, 0xc0, 0xe2, 0x57, 0x3e, 0xe3, 0x3c, 0xe3, 0x39, 0x3e, 0x79, 0x93, 0x36, 0xf9, 0x95,
1803 0x8b, 0x63, 0xe1, 0xb6, 0x58, 0xbb, 0x6d, 0x4b, 0xb7, 0x45, 0xd9, 0x6d, 0xa1, 0xdd, 0x76, 0xa4,
1804 0xdb, 0x62, 0xed, 0xb6, 0x58, 0xb9, 0xed, 0x4a, 0xb7, 0x85, 0x72, 0x7b, 0xef, 0x29, 0x34, 0xf5,
1805 0x06, 0xaa, 0x1c, 0xd4, 0xae, 0x71, 0x50, 0x3a, 0xf0, 0x7a, 0xf9, 0xc0, 0x7b, 0x39, 0x34, 0xf5,
1806 0x09, 0x8a, 0x82, 0x66, 0x7d, 0x9f, 0x6d, 0x68, 0xbb, 0x93, 0x17, 0x2e, 0x1d, 0xb9, 0x13, 0x7f,
1807 0x34, 0xf2, 0xec, 0x5a, 0x05, 0x99, 0x8e, 0x3c, 0x59, 0x01, 0x9d, 0x1c, 0x8f, 0xfc, 0xe3, 0xa3,
1808 0x89, 0xbd, 0xb1, 0x1a, 0x8c, 0xa6, 0xf2, 0x19, 0x9d, 0xba, 0x42, 0x51, 0xc8, 0x8c, 0xd2, 0x70,
1809 0x34, 0xb5, 0xcd, 0xde, 0x47, 0x60, 0x88, 0x49, 0x73, 0xd2, 0xab, 0x96, 0x88, 0xed, 0xf2, 0xd1,
1810 0xe8, 0x4b, 0xfb, 0xd7, 0x36, 0x98, 0xb2, 0x64, 0x24, 0xb7, 0xd7, 0x29, 0x4d, 0x57, 0x18, 0x22,
1811 0xb3, 0xdd, 0x2d, 0x55, 0x87, 0x2b, 0x81, 0xbc, 0x8e, 0x77, 0x61, 0x93, 0x67, 0x59, 0x51, 0x2d,
1812 0x5e, 0x10, 0x22, 0x3d, 0xb0, 0xe6, 0x01, 0x67, 0x69, 0x21, 0xf8, 0xda, 0x2c, 0x9b, 0x36, 0x25,
1813 0x8e, 0x57, 0xa7, 0xab, 0x74, 0x34, 0x7b, 0xdb, 0x82, 0xbd, 0x55, 0x79, 0x23, 0x85, 0x27, 0xf2,
1814 0xed, 0xec, 0x82, 0x29, 0x4b, 0x7e, 0xd9, 0x1e, 0x68, 0x25, 0x05, 0x92, 0x1d, 0x30, 0x92, 0x2c,
1815 0x64, 0xb1, 0x4c, 0x77, 0x5a, 0x2a, 0x31, 0xf2, 0x18, 0xec, 0xcb, 0x80, 0x87, 0xaf, 0x02, 0xbe,
1816 0x4e, 0x8b, 0x8d, 0xb2, 0xde, 0x96, 0x16, 0xeb, 0x04, 0xf9, 0x18, 0xec, 0xf3, 0x88, 0x27, 0x15,
1817 0x8b, 0x66, 0xc5, 0x42, 0x8b, 0xb5, 0xc5, 0x23, 0x30, 0x31, 0x73, 0xc8, 0x6b, 0xdd, 0xfa, 0xb8,
1818 0x5b, 0x89, 0x15, 0xf9, 0x6a, 0xbd, 0x52, 0x49, 0x54, 0x76, 0x39, 0xe3, 0x51, 0x10, 0xfb, 0xe9,
1819 0x22, 0x39, 0x63, 0x1c, 0xef, 0xfb, 0xca, 0x7b, 0x5b, 0xca, 0x46, 0x28, 0x12, 0x5c, 0xae, 0x9b,
1820 0x23, 0xa7, 0xc2, 0xe5, 0xaa, 0x47, 0xba, 0xbf, 0x6e, 0x82, 0x5a, 0x65, 0x8d, 0x55, 0x2f, 0x44,
1821 0x60, 0x73, 0x19, 0x07, 0x29, 0xbe, 0x8e, 0x0e, 0xc5, 0x6f, 0x91, 0x68, 0x93, 0x60, 0x26, 0x5a,
1822 0x1c, 0xce, 0x72, 0xf9, 0x36, 0x2c, 0x0a, 0x49, 0x30, 0xeb, 0x4b, 0x84, 0x3c, 0x84, 0x76, 0x34,
1823 0x5f, 0xfe, 0x68, 0xa5, 0x21, 0x5e, 0x88, 0xf5, 0xe2, 0x06, 0x6d, 0x09, 0xb4, 0xaa, 0xf4, 0xc9,
1824 0x4a, 0x69, 0xab, 0xa4, 0xf4, 0x89, 0x56, 0x7a, 0x1f, 0x3a, 0x97, 0x59, 0x5e, 0xf8, 0x41, 0x1a,
1825 0xe2, 0x69, 0x3b, 0xb7, 0xb5, 0x96, 0x80, 0xfb, 0x69, 0x88, 0xaf, 0x6c, 0x17, 0x80, 0x5d, 0x15,
1826 0x3c, 0xf0, 0x03, 0x7e, 0x91, 0x3b, 0x77, 0x64, 0x55, 0x8f, 0x48, 0x9f, 0x5f, 0xe4, 0xe4, 0x29,
1827 0x74, 0xe6, 0x3c, 0xbb, 0x7a, 0xbd, 0x9a, 0xea, 0x16, 0x52, 0xbd, 0x53, 0xed, 0x7d, 0xf6, 0x4f,
1828 0x84, 0x8e, 0x9a, 0x98, 0xb6, 0xe7, 0xa5, 0xd1, 0xf5, 0x00, 0x6a, 0xff, 0x0f, 0x01, 0xf4, 0x69,
1829 0x35, 0x80, 0xde, 0x7c, 0x77, 0x00, 0xd5, 0xfc, 0x97, 0xe3, 0xe8, 0xee, 0xaa, 0x94, 0x7a, 0xaf,
1830 0x72, 0x85, 0x55, 0x7d, 0xe4, 0x41, 0x77, 0x96, 0xa5, 0xa9, 0xe8, 0x13, 0xd5, 0x1c, 0x04, 0xe7,
1831 0xd8, 0xd1, 0x73, 0x0c, 0xa4, 0xf4, 0x6d, 0xd3, 0x74, 0x66, 0x65, 0x19, 0xf9, 0x01, 0x98, 0xb3,
1832 0x45, 0x5e, 0x64, 0x89, 0xf3, 0x14, 0x19, 0xda, 0xde, 0x97, 0x0d, 0xff, 0xbe, 0x6e, 0xf8, 0xf7,
1833 0xfb, 0xe9, 0x6b, 0xaa, 0x74, 0xc8, 0x13, 0x30, 0xc4, 0x91, 0xe4, 0xce, 0xaf, 0xdf, 0x12, 0x28,
1834 0x0e, 0xbb, 0x7f, 0xff, 0xf6, 0x9b, 0x5d, 0x6b, 0x15, 0xe1, 0xa8, 0xd4, 0x25, 0x8f, 0xc1, 0xc0,
1835 0x2e, 0xd6, 0xf9, 0x4d, 0x0d, 0xa7, 0x20, 0xfb, 0xe5, 0xa6, 0x1f, 0x1b, 0xd7, 0x43, 0x43, 0x98,
1836 0xde, 0xa0, 0x52, 0x51, 0x10, 0x88, 0x62, 0xd5, 0xa5, 0xfc, 0x56, 0xda, 0xdd, 0x79, 0xc3, 0x0e,
1837 0xbb, 0x95, 0x95, 0x31, 0x9c, 0xaf, 0x20, 0xf2, 0x19, 0xc0, 0x3c, 0x51, 0x65, 0x61, 0xee, 0x7c,
1838 0x25, 0x1d, 0xdc, 0xbc, 0xde, 0xb7, 0xac, 0x4c, 0xad, 0xf9, 0xaa, 0x39, 0x3b, 0x82, 0x2d, 0x59,
1839 0x14, 0xea, 0xf2, 0x36, 0x77, 0xbe, 0xae, 0xbd, 0x23, 0xa7, 0x1f, 0xb6, 0x84, 0x0b, 0x53, 0x16,
1840 0xf5, 0xb4, 0x1b, 0x55, 0xca, 0x82, 0x7b, 0x5f, 0xd5, 0xa1, 0x5d, 0xbe, 0x64, 0xef, 0xce, 0x0e,
1841 0xf7, 0xa1, 0xa5, 0x84, 0xeb, 0x38, 0x4a, 0x21, 0x5c, 0xff, 0x18, 0xb2, 0x0b, 0x30, 0xbb, 0x0c,
1842 0xd2, 0x94, 0xc5, 0xc2, 0x7c, 0x43, 0x36, 0xab, 0x0a, 0xf1, 0x42, 0xb2, 0x07, 0xb6, 0x16, 0xcb,
1843 0x9e, 0x56, 0x45, 0xd4, 0x0e, 0xed, 0x2a, 0x1c, 0xe9, 0xf1, 0x42, 0x72, 0x00, 0xb7, 0xb4, 0x66,
1844 0xc1, 0x78, 0x12, 0xa5, 0x81, 0xa8, 0xaa, 0xd5, 0xef, 0x29, 0x44, 0x89, 0x26, 0x6b, 0x09, 0xb9,
1845 0x0d, 0x66, 0x96, 0x2e, 0x84, 0x43, 0x13, 0x1d, 0x1a, 0x59, 0xba, 0xf0, 0x42, 0xf2, 0x3e, 0x74,
1846 0x05, 0x9c, 0xb3, 0x5c, 0x84, 0x36, 0x9d, 0xf5, 0x3b, 0xb4, 0x9d, 0xa5, 0x8b, 0xb1, 0x04, 0xbd,
1847 0xf0, 0xd0, 0x12, 0x21, 0x07, 0xf7, 0xdf, 0x3b, 0x80, 0x86, 0x7c, 0x7b, 0xe2, 0xa1, 0x57, 0x92,
1848 0x4e, 0xb7, 0xfa, 0x36, 0x75, 0xda, 0xf9, 0xe3, 0x06, 0x6c, 0x8f, 0xa3, 0x64, 0x11, 0x07, 0x05,
1849 0xeb, 0xc7, 0x01, 0x4f, 0x28, 0x7b, 0xb9, 0x60, 0x79, 0xf1, 0x46, 0x5f, 0xf5, 0x7f, 0x60, 0x45,
1850 0x69, 0x18, 0xcd, 0x82, 0x22, 0xd3, 0x3f, 0xef, 0xac, 0x01, 0x91, 0x78, 0xa3, 0xb4, 0x38, 0xd7,
1851 0xb4, 0x59, 0xd4, 0x14, 0x43, 0xb9, 0x03, 0xbc, 0xaf, 0x82, 0x71, 0xf9, 0x13, 0x81, 0xec, 0x31,
1852 0xdb, 0x73, 0x95, 0x8e, 0xf1, 0x57, 0x82, 0x1e, 0x74, 0xc4, 0x3e, 0xd7, 0x47, 0x27, 0x99, 0x6a,
1853 0x65, 0xe9, 0x62, 0xa8, 0x4f, 0xef, 0x09, 0xbc, 0x17, 0xa5, 0x22, 0x05, 0x30, 0xff, 0x2c, 0x2a,
1854 0x64, 0xa9, 0xe0, 0x73, 0x11, 0x3c, 0x04, 0x65, 0x06, 0xbd, 0xa5, 0xa4, 0x87, 0x51, 0x81, 0x65,
1855 0x03, 0x95, 0x4d, 0x80, 0x11, 0xf2, 0xe8, 0xbc, 0x40, 0xde, 0x0c, 0x2a, 0x07, 0x62, 0xb5, 0x29,
1856 0x7b, 0xe5, 0xb3, 0x97, 0x21, 0xe6, 0x12, 0x83, 0x9a, 0x29, 0x7b, 0xe5, 0xbe, 0x14, 0x6d, 0xfe,
1857 0x4d, 0xc9, 0x77, 0x39, 0x21, 0xc8, 0xde, 0x68, 0x0b, 0x29, 0x2f, 0x25, 0x83, 0x17, 0x60, 0x89,
1858 0x90, 0x22, 0x4f, 0x16, 0x30, 0x40, 0x7c, 0xa8, 0x39, 0x7e, 0x1b, 0xa3, 0x18, 0x99, 0x50, 0x1b,
1859 0xeb, 0xc8, 0xb5, 0x71, 0xef, 0x7b, 0xd0, 0xa9, 0xc8, 0x88, 0x05, 0x06, 0xed, 0x7b, 0x63, 0x57,
1860 0xfe, 0x26, 0x33, 0x38, 0x72, 0xfb, 0xd4, 0xae, 0x1d, 0x8e, 0xe1, 0x56, 0xc6, 0x2f, 0xf0, 0x95,
1861 0xce, 0x32, 0x1e, 0xaa, 0xb9, 0x0e, 0xdb, 0xa7, 0xf8, 0x5f, 0xf2, 0xf4, 0xab, 0xfd, 0x8b, 0xa8,
1862 0xb8, 0x5c, 0x9c, 0x89, 0x48, 0x75, 0xa0, 0x35, 0x0f, 0xa4, 0xe6, 0x23, 0xf5, 0x9b, 0xe0, 0xf2,
1863 0xc9, 0xc1, 0x45, 0xa6, 0xb0, 0x33, 0x13, 0xc1, 0x27, 0xff, 0x0e, 0x00, 0x00, 0xff, 0xff, 0x35,
1864 0x16, 0x1c, 0x6d, 0xad, 0x14, 0x00, 0x00,
Don Newton98fd8812019-09-23 15:15:02 -04001865}