VOL-4034: Per event.proto definition, the units of timestamp is in seconds.
- Move to voltha-lib-go version 4.3.1
- Bump adapter version to 3.3.2
Change-Id: Ia37527d2c09fad2c2772b5d6ba5e64035f177a91
diff --git a/.golangci.yml b/.golangci.yml
index 45b224e..68c70c2 100644
--- a/.golangci.yml
+++ b/.golangci.yml
@@ -78,6 +78,12 @@
- "don't use underscores in Go names; method Cancel_image_download"
- "don't use underscores in Go names; method Activate_image_update"
- "don't use underscores in Go names; method Revert_image_update"
+ - "don't use underscores in Go names; method Download_onu_image"
+ - "don't use underscores in Go names; method Get_onu_image_status"
+ - "don't use underscores in Go names; method Abort_onu_image_upgrade"
+ - "don't use underscores in Go names; method Get_onu_images"
+ - "don't use underscores in Go names; method Activate_onu_image"
+ - "don't use underscores in Go names; method Commit_onu_image"
- "don't use underscores in Go names; method Disable_port"
- "don't use underscores in Go names; method Enable_port"
- "don't use underscores in Go names; method Child_device_lost"
diff --git a/VERSION b/VERSION
index bea438e..4772543 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-3.3.1
+3.3.2
diff --git a/go.mod b/go.mod
index 2247e65..02802a3 100644
--- a/go.mod
+++ b/go.mod
@@ -7,8 +7,8 @@
github.com/gogo/protobuf v1.3.1
github.com/golang/protobuf v1.3.2
github.com/grpc-ecosystem/go-grpc-middleware v1.0.1-0.20190118093823-f849b5445de4
- github.com/opencord/voltha-lib-go/v4 v4.2.3
- github.com/opencord/voltha-protos/v4 v4.1.0
+ github.com/opencord/voltha-lib-go/v4 v4.3.1
+ github.com/opencord/voltha-protos/v4 v4.1.1
go.etcd.io/etcd v0.0.0-20190930204107-236ac2a90522
google.golang.org/grpc v1.25.1
)
diff --git a/go.sum b/go.sum
index cd78529..1af3d67 100644
--- a/go.sum
+++ b/go.sum
@@ -141,11 +141,10 @@
github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE=
github.com/onsi/gomega v1.4.2 h1:3mYCb7aPxS/RU7TI1y4rkEn1oKmPRjNJLNEXgw7MH2I=
github.com/onsi/gomega v1.4.2/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY=
-github.com/opencord/voltha-lib-go/v4 v4.2.3 h1:nT3k4ZMbYhJDrAtkgJ97to4Kznt5fsl5ULcB6XvGIhU=
-github.com/opencord/voltha-lib-go/v4 v4.2.3/go.mod h1:K7lDkSkJ97EyfvX8fQtBmBvpj7n6MmwnAtD8Jz79HcQ=
-github.com/opencord/voltha-protos/v4 v4.0.12/go.mod h1:W/OIFIyvFh/C0vchRUuarIsMylEhzCRM9pNxLvkPtKc=
-github.com/opencord/voltha-protos/v4 v4.1.0 h1:bZRI2sAJyxbDQY4yuTXrPNBnSEgfghyJel1JxBYvhnY=
-github.com/opencord/voltha-protos/v4 v4.1.0/go.mod h1:W/OIFIyvFh/C0vchRUuarIsMylEhzCRM9pNxLvkPtKc=
+github.com/opencord/voltha-lib-go/v4 v4.3.1 h1:z2CgB3un53IgbYTsz+pdRtmQ3E6e6+PieGQDyHaQN1A=
+github.com/opencord/voltha-lib-go/v4 v4.3.1/go.mod h1:65GN71j4os0ApBRR+xbJ93iAMJMKIwVi/npG/hbPt8w=
+github.com/opencord/voltha-protos/v4 v4.1.1 h1:yovQHC+JQSrw5zxj0UeQqmyFUBQ+487JdG5w5ttrRyc=
+github.com/opencord/voltha-protos/v4 v4.1.1/go.mod h1:W/OIFIyvFh/C0vchRUuarIsMylEhzCRM9pNxLvkPtKc=
github.com/opentracing/opentracing-go v1.1.0 h1:pWlfV3Bxv7k65HYwkikxat0+s3pV4bsqf19k25Ur8rU=
github.com/opentracing/opentracing-go v1.1.0/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o=
github.com/phayes/freeport v0.0.0-20180830031419-95f893ade6f2 h1:JhzVVoYvbOACxoUmOs6V/G4D5nPVUW73rKvXxP4XUJc=
diff --git a/internal/pkg/core/device_handler.go b/internal/pkg/core/device_handler.go
index 53b33f5..fdb0859 100644
--- a/internal/pkg/core/device_handler.go
+++ b/internal/pkg/core/device_handler.go
@@ -485,7 +485,7 @@
}
func (dh *DeviceHandler) handleOltIndication(ctx context.Context, oltIndication *oop.OltIndication) error {
- raisedTs := time.Now().UnixNano()
+ raisedTs := time.Now().Unix()
if oltIndication.OperState == "up" && dh.transitionMap.currentDeviceState != deviceStateUp {
dh.transitionMap.Handle(ctx, DeviceUpInd)
} else if oltIndication.OperState == "down" {
@@ -503,7 +503,7 @@
// nolint: gocyclo
func (dh *DeviceHandler) handleIndication(ctx context.Context, indication *oop.Indication) {
- raisedTs := time.Now().UnixNano()
+ raisedTs := time.Now().Unix()
switch indication.Data.(type) {
case *oop.Indication_OltInd:
span, ctx := log.CreateChildSpan(ctx, "olt-indication", log.Fields{"device-id": dh.device.Id})
@@ -642,7 +642,7 @@
//Clear olt communication failure event
dh.device.ConnectStatus = voltha.ConnectStatus_REACHABLE
dh.device.OperStatus = voltha.OperStatus_ACTIVE
- raisedTs := time.Now().UnixNano()
+ raisedTs := time.Now().Unix()
go dh.eventMgr.oltCommunicationEvent(ctx, dh.device, raisedTs)
//check adapter and agent reconcile status
@@ -1157,7 +1157,7 @@
}
var alarmInd oop.OnuAlarmIndication
- raisedTs := time.Now().UnixNano()
+ raisedTs := time.Now().Unix()
if _, loaded := dh.discOnus.LoadOrStore(sn, true); loaded {
/* When PON cable disconnected and connected back from OLT, it was expected OnuAlarmIndication
@@ -1237,7 +1237,7 @@
"pon-intf-id": ponintfid,
"serial-number": sn}, err)
}
- if err := dh.eventMgr.OnuDiscoveryIndication(ctx, onuDiscInd, dh.device.Id, onuDevice.Id, onuID, sn, time.Now().UnixNano()); err != nil {
+ if err := dh.eventMgr.OnuDiscoveryIndication(ctx, onuDiscInd, dh.device.Id, onuDevice.Id, onuID, sn, time.Now().Unix()); err != nil {
logger.Warnw(ctx, "discovery-indication-failed", log.Fields{"error": err})
}
logger.Infow(ctx, "onu-child-device-added",
@@ -1336,7 +1336,7 @@
}
if onuInd.OperState == "down" && onuInd.FailReason != oop.OnuIndication_ONU_ACTIVATION_FAIL_REASON_NONE {
- if err := dh.eventMgr.onuActivationIndication(ctx, onuActivationFailEvent, onuInd, dh.device.Id, time.Now().UnixNano()); err != nil {
+ if err := dh.eventMgr.onuActivationIndication(ctx, onuActivationFailEvent, onuInd, dh.device.Id, time.Now().Unix()); err != nil {
logger.Warnw(ctx, "onu-activation-indication-reporting-failed", log.Fields{"error": err})
}
}
@@ -2043,7 +2043,7 @@
}
//raise olt communication failure event
- raisedTs := time.Now().UnixNano()
+ raisedTs := time.Now().Unix()
device.ConnectStatus = voltha.ConnectStatus_UNREACHABLE
device.OperStatus = voltha.OperStatus_UNKNOWN
go dh.eventMgr.oltCommunicationEvent(ctx, device, raisedTs)
diff --git a/internal/pkg/core/openolt.go b/internal/pkg/core/openolt.go
index d7e5b5a..6564e29 100644
--- a/internal/pkg/core/openolt.go
+++ b/internal/pkg/core/openolt.go
@@ -314,6 +314,36 @@
return nil, olterrors.ErrNotImplemented
}
+//Download_onu_image unimplemented
+func (oo *OpenOLT) Download_onu_image(ctx context.Context, request *voltha.DeviceImageDownloadRequest) (*voltha.DeviceImageResponse, error) {
+ return nil, olterrors.ErrNotImplemented
+}
+
+//Get_onu_image_status unimplemented
+func (oo *OpenOLT) Get_onu_image_status(ctx context.Context, in *voltha.DeviceImageRequest) (*voltha.DeviceImageResponse, error) {
+ return nil, olterrors.ErrNotImplemented
+}
+
+//Abort_onu_image_upgrade unimplemented
+func (oo *OpenOLT) Abort_onu_image_upgrade(ctx context.Context, in *voltha.DeviceImageRequest) (*voltha.DeviceImageResponse, error) {
+ return nil, olterrors.ErrNotImplemented
+}
+
+//Get_onu_images unimplemented
+func (oo *OpenOLT) Get_onu_images(ctx context.Context, deviceID string) (*voltha.OnuImages, error) {
+ return nil, olterrors.ErrNotImplemented
+}
+
+//Activate_onu_image unimplemented
+func (oo *OpenOLT) Activate_onu_image(ctx context.Context, in *voltha.DeviceImageRequest) (*voltha.DeviceImageResponse, error) {
+ return nil, olterrors.ErrNotImplemented
+}
+
+//Commit_onu_image unimplemented
+func (oo *OpenOLT) Commit_onu_image(ctx context.Context, in *voltha.DeviceImageRequest) (*voltha.DeviceImageResponse, error) {
+ return nil, olterrors.ErrNotImplemented
+}
+
// Enable_port to Enable PON/NNI interface
func (oo *OpenOLT) Enable_port(ctx context.Context, deviceID string, port *voltha.Port) error {
logger.Infow(ctx, "Enable_port", log.Fields{"device-id": deviceID, "port": port})
diff --git a/internal/pkg/core/statsmanager.go b/internal/pkg/core/statsmanager.go
index c7b149f..6fc3e53 100755
--- a/internal/pkg/core/statsmanager.go
+++ b/internal/pkg/core/statsmanager.go
@@ -576,10 +576,10 @@
volthaEventSubCatgry = voltha.EventSubCategory_ONT
}
- raisedTs := time.Now().UnixNano()
+ raisedTs := time.Now().Unix()
mmd := voltha.MetricMetaData{
Title: statType,
- Ts: float64(raisedTs) / (1.0 * 1e9),
+ Ts: float64(raisedTs),
Context: metricsContext,
DeviceId: devID,
}
@@ -589,7 +589,7 @@
ke.SliceData = []*voltha.MetricInformation{&metricInfo}
ke.Type = voltha.KpiEventType_slice
- ke.Ts = float64(time.Now().UnixNano()) / (1.0 * 1e9)
+ ke.Ts = float64(raisedTs)
if err := StatMgr.Device.EventProxy.SendKpiEvent(ctx, "STATS_EVENT", &ke, voltha.EventCategory_EQUIPMENT, volthaEventSubCatgry, raisedTs); err != nil {
logger.Errorw(ctx, "failed-to-send-stats", log.Fields{"err": err})
diff --git a/vendor/github.com/opencord/voltha-lib-go/v4/pkg/adapters/common/request_handler.go b/vendor/github.com/opencord/voltha-lib-go/v4/pkg/adapters/common/request_handler.go
index 5a333c7..020e799 100644
--- a/vendor/github.com/opencord/voltha-lib-go/v4/pkg/adapters/common/request_handler.go
+++ b/vendor/github.com/opencord/voltha-lib-go/v4/pkg/adapters/common/request_handler.go
@@ -835,3 +835,147 @@
logger.Debugw(ctx, "invoke rhp.adapter.Single_get_value_request ", log.Fields{"singleGetvalueReq": singleGetvalueReq})
return rhp.adapter.Single_get_value_request(ctx, singleGetvalueReq)
}
+
+func (rhp *RequestHandlerProxy) getDeviceDownloadImageRequest(ctx context.Context, args []*ic.Argument) (*voltha.DeviceImageDownloadRequest, error) {
+ logger.Debugw(ctx, "getDeviceDownloadImageRequest", log.Fields{"args": args})
+ if len(args) < 1 {
+ logger.Warn(ctx, "invalid-number-of-args", log.Fields{"args": args})
+ return nil, errors.New("invalid-number-of-args")
+ }
+
+ deviceDownloadImageReq := ic.DeviceImageDownloadRequest{}
+
+ for _, arg := range args {
+ switch arg.Key {
+ case "deviceImageDownloadReq":
+ if err := ptypes.UnmarshalAny(arg.Value, &deviceDownloadImageReq); err != nil {
+ logger.Warnw(ctx, "cannot-unmarshal-device", log.Fields{"error": err})
+ return nil, err
+ }
+ default:
+ return nil, errors.New("invalid argument")
+ }
+ }
+ return &deviceDownloadImageReq, nil
+}
+
+func (rhp *RequestHandlerProxy) getDeviceImageRequest(ctx context.Context, args []*ic.Argument) (*voltha.DeviceImageRequest, error) {
+ logger.Debugw(ctx, "getDeviceImageRequest", log.Fields{"args": args})
+ if len(args) < 1 {
+ logger.Warn(ctx, "invalid-number-of-args", log.Fields{"args": args})
+ return nil, errors.New("invalid-number-of-args")
+ }
+
+ deviceImageReq := ic.DeviceImageRequest{}
+
+ for _, arg := range args {
+ switch arg.Key {
+ case "deviceImageReq":
+ if err := ptypes.UnmarshalAny(arg.Value, &deviceImageReq); err != nil {
+ logger.Warnw(ctx, "cannot-unmarshal-device", log.Fields{"error": err})
+ return nil, err
+ }
+ default:
+ return nil, errors.New("invalid argument")
+ }
+ }
+ return &deviceImageReq, nil
+}
+
+func (rhp *RequestHandlerProxy) getDeviceID(ctx context.Context, args []*ic.Argument) (string, error) {
+ logger.Debugw(ctx, "getDeviceID", log.Fields{"args": args})
+
+ deviceId := &ic.StrType{}
+
+ for _, arg := range args {
+ switch arg.Key {
+ case "deviceId":
+ if err := ptypes.UnmarshalAny(arg.Value, deviceId); err != nil {
+ logger.Warnw(ctx, "cannot-unmarshal-device", log.Fields{"error": err})
+ return "", err
+ }
+ default:
+ return "", errors.New("invalid argument")
+ }
+ }
+ return deviceId.Val, nil
+}
+
+func (rhp *RequestHandlerProxy) Download_onu_image(ctx context.Context, args []*ic.Argument) (*voltha.DeviceImageResponse, error) {
+ imageDownloadReq, err := rhp.getDeviceDownloadImageRequest(ctx, args)
+ if err != nil {
+ return nil, err
+ }
+
+ imageDownloadRsp, err := rhp.adapter.Download_onu_image(ctx, imageDownloadReq)
+ if err != nil {
+ return nil, status.Errorf(codes.NotFound, "%s", err.Error())
+ }
+ return imageDownloadRsp, nil
+}
+
+func (rhp *RequestHandlerProxy) Get_onu_image_status(ctx context.Context, args []*ic.Argument) (*voltha.DeviceImageResponse, error) {
+ imageStatusReq, err := rhp.getDeviceImageRequest(ctx, args)
+ if err != nil {
+ return nil, err
+ }
+
+ imageStatus, err := rhp.adapter.Get_onu_image_status(ctx, imageStatusReq)
+ if err != nil {
+ return nil, status.Errorf(codes.NotFound, "%s", err.Error())
+ }
+ return imageStatus, nil
+}
+
+func (rhp *RequestHandlerProxy) Abort_onu_image_upgrade(ctx context.Context, args []*ic.Argument) (*voltha.DeviceImageResponse, error) {
+ imageAbortReq, err := rhp.getDeviceImageRequest(ctx, args)
+ if err != nil {
+ return nil, err
+ }
+
+ imageAbortRsp, err := rhp.adapter.Abort_onu_image_upgrade(ctx, imageAbortReq)
+ if err != nil {
+ return nil, status.Errorf(codes.NotFound, "%s", err.Error())
+ }
+ return imageAbortRsp, nil
+}
+
+func (rhp *RequestHandlerProxy) Activate_onu_image(ctx context.Context, args []*ic.Argument) (*voltha.DeviceImageResponse, error) {
+ imageActivateReq, err := rhp.getDeviceImageRequest(ctx, args)
+ if err != nil {
+ return nil, err
+ }
+
+ imageActivateRsp, err := rhp.adapter.Activate_onu_image(ctx, imageActivateReq)
+ if err != nil {
+ return nil, status.Errorf(codes.NotFound, "%s", err.Error())
+ }
+ return imageActivateRsp, nil
+}
+
+func (rhp *RequestHandlerProxy) Commit_onu_image(ctx context.Context, args []*ic.Argument) (*voltha.DeviceImageResponse, error) {
+ imageCommitReq, err := rhp.getDeviceImageRequest(ctx, args)
+ if err != nil {
+ return nil, err
+ }
+
+ imageCommitRsp, err := rhp.adapter.Commit_onu_image(ctx, imageCommitReq)
+ if err != nil {
+ return nil, status.Errorf(codes.NotFound, "%s", err.Error())
+ }
+
+ return imageCommitRsp, nil
+}
+
+func (rhp *RequestHandlerProxy) Get_onu_images(ctx context.Context, args []*ic.Argument) (*voltha.OnuImages, error) {
+ deviceID, err := rhp.getDeviceID(ctx, args)
+ if err != nil {
+ return nil, err
+ }
+
+ onuImages, err := rhp.adapter.Get_onu_images(ctx, deviceID)
+ if err != nil {
+ return nil, status.Errorf(codes.NotFound, "%s", err.Error())
+ }
+ return onuImages, nil
+}
diff --git a/vendor/github.com/opencord/voltha-lib-go/v4/pkg/adapters/iAdapter.go b/vendor/github.com/opencord/voltha-lib-go/v4/pkg/adapters/iAdapter.go
index 92a33e7..fbf2b5d 100644
--- a/vendor/github.com/opencord/voltha-lib-go/v4/pkg/adapters/iAdapter.go
+++ b/vendor/github.com/opencord/voltha-lib-go/v4/pkg/adapters/iAdapter.go
@@ -57,4 +57,10 @@
Start_omci_test(ctx context.Context, device *voltha.Device, request *voltha.OmciTestRequest) (*voltha.TestResponse, error)
Get_ext_value(ctx context.Context, deviceId string, device *voltha.Device, valueflag voltha.ValueType_Type) (*voltha.ReturnValues, error)
Single_get_value_request(ctx context.Context, request extension.SingleGetValueRequest) (*extension.SingleGetValueResponse, error)
+ Download_onu_image(ctx context.Context, request *voltha.DeviceImageDownloadRequest) (*voltha.DeviceImageResponse, error)
+ Get_onu_image_status(ctx context.Context, in *voltha.DeviceImageRequest) (*voltha.DeviceImageResponse, error)
+ Abort_onu_image_upgrade(ctx context.Context, in *voltha.DeviceImageRequest) (*voltha.DeviceImageResponse, error)
+ Get_onu_images(ctx context.Context, deviceID string) (*voltha.OnuImages, error)
+ Activate_onu_image(ctx context.Context, in *voltha.DeviceImageRequest) (*voltha.DeviceImageResponse, error)
+ Commit_onu_image(ctx context.Context, in *voltha.DeviceImageRequest) (*voltha.DeviceImageResponse, error)
}
diff --git a/vendor/github.com/opencord/voltha-lib-go/v4/pkg/events/events_proxy.go b/vendor/github.com/opencord/voltha-lib-go/v4/pkg/events/events_proxy.go
index 2301f43..ebd48ab 100644
--- a/vendor/github.com/opencord/voltha-lib-go/v4/pkg/events/events_proxy.go
+++ b/vendor/github.com/opencord/voltha-lib-go/v4/pkg/events/events_proxy.go
@@ -84,8 +84,8 @@
header.Type = eventType
header.TypeVersion = eventif.EventTypeVersion
- // raisedTs is in nanoseconds
- timestamp, err := ptypes.TimestampProto(time.Unix(0, raisedTs))
+ // raisedTs is in seconds
+ timestamp, err := ptypes.TimestampProto(time.Unix(raisedTs, 0))
if err != nil {
return nil, err
}
diff --git a/vendor/github.com/opencord/voltha-protos/v4/go/inter_container/inter_container.pb.go b/vendor/github.com/opencord/voltha-protos/v4/go/inter_container/inter_container.pb.go
index a0957f1..04f2b14 100644
--- a/vendor/github.com/opencord/voltha-protos/v4/go/inter_container/inter_container.pb.go
+++ b/vendor/github.com/opencord/voltha-protos/v4/go/inter_container/inter_container.pb.go
@@ -162,6 +162,15 @@
// Membership from public import voltha_protos/voltha.proto
type Membership = voltha.Membership
+// DeviceImageDownloadRequest from public import voltha_protos/voltha.proto
+type DeviceImageDownloadRequest = voltha.DeviceImageDownloadRequest
+
+// DeviceImageRequest from public import voltha_protos/voltha.proto
+type DeviceImageRequest = voltha.DeviceImageRequest
+
+// DeviceImageResponse from public import voltha_protos/voltha.proto
+type DeviceImageResponse = voltha.DeviceImageResponse
+
// FlowMetadata from public import voltha_protos/voltha.proto
type FlowMetadata = voltha.FlowMetadata
diff --git a/vendor/github.com/opencord/voltha-protos/v4/go/voltha/device.pb.go b/vendor/github.com/opencord/voltha-protos/v4/go/voltha/device.pb.go
index 2499fd1..957af8f 100644
--- a/vendor/github.com/opencord/voltha-protos/v4/go/voltha/device.pb.go
+++ b/vendor/github.com/opencord/voltha-protos/v4/go/voltha/device.pb.go
@@ -91,7 +91,7 @@
}
func (ImageDownload_ImageDownloadState) EnumDescriptor() ([]byte, []int) {
- return fileDescriptor_200940f73d155856, []int{7, 0}
+ return fileDescriptor_200940f73d155856, []int{6, 0}
}
type ImageDownload_ImageDownloadFailureReason int32
@@ -128,7 +128,7 @@
}
func (ImageDownload_ImageDownloadFailureReason) EnumDescriptor() ([]byte, []int) {
- return fileDescriptor_200940f73d155856, []int{7, 1}
+ return fileDescriptor_200940f73d155856, []int{6, 1}
}
type ImageDownload_ImageActivateState int32
@@ -165,7 +165,151 @@
}
func (ImageDownload_ImageActivateState) EnumDescriptor() ([]byte, []int) {
- return fileDescriptor_200940f73d155856, []int{7, 2}
+ return fileDescriptor_200940f73d155856, []int{6, 2}
+}
+
+type ImageState_ImageDownloadState int32
+
+const (
+ ImageState_DOWNLOAD_UNKNOWN ImageState_ImageDownloadState = 0
+ ImageState_DOWNLOAD_SUCCEEDED ImageState_ImageDownloadState = 1
+ ImageState_DOWNLOAD_REQUESTED ImageState_ImageDownloadState = 2
+ ImageState_DOWNLOAD_STARTED ImageState_ImageDownloadState = 3
+ ImageState_DOWNLOAD_FAILED ImageState_ImageDownloadState = 4
+ ImageState_DOWNLOAD_UNSUPPORTED ImageState_ImageDownloadState = 5
+ ImageState_DOWNLOAD_CANCELLING ImageState_ImageDownloadState = 6
+ ImageState_DOWNLOAD_CANCELLED ImageState_ImageDownloadState = 7
+)
+
+var ImageState_ImageDownloadState_name = map[int32]string{
+ 0: "DOWNLOAD_UNKNOWN",
+ 1: "DOWNLOAD_SUCCEEDED",
+ 2: "DOWNLOAD_REQUESTED",
+ 3: "DOWNLOAD_STARTED",
+ 4: "DOWNLOAD_FAILED",
+ 5: "DOWNLOAD_UNSUPPORTED",
+ 6: "DOWNLOAD_CANCELLING",
+ 7: "DOWNLOAD_CANCELLED",
+}
+
+var ImageState_ImageDownloadState_value = map[string]int32{
+ "DOWNLOAD_UNKNOWN": 0,
+ "DOWNLOAD_SUCCEEDED": 1,
+ "DOWNLOAD_REQUESTED": 2,
+ "DOWNLOAD_STARTED": 3,
+ "DOWNLOAD_FAILED": 4,
+ "DOWNLOAD_UNSUPPORTED": 5,
+ "DOWNLOAD_CANCELLING": 6,
+ "DOWNLOAD_CANCELLED": 7,
+}
+
+func (x ImageState_ImageDownloadState) String() string {
+ return proto.EnumName(ImageState_ImageDownloadState_name, int32(x))
+}
+
+func (ImageState_ImageDownloadState) EnumDescriptor() ([]byte, []int) {
+ return fileDescriptor_200940f73d155856, []int{12, 0}
+}
+
+type ImageState_ImageFailureReason int32
+
+const (
+ ImageState_NO_ERROR ImageState_ImageFailureReason = 0
+ ImageState_INVALID_URL ImageState_ImageFailureReason = 1
+ ImageState_DEVICE_BUSY ImageState_ImageFailureReason = 2
+ ImageState_INSUFFICIENT_SPACE ImageState_ImageFailureReason = 3
+ ImageState_UNKNOWN_ERROR ImageState_ImageFailureReason = 4
+ ImageState_CANCELLED_ON_REQUEST ImageState_ImageFailureReason = 5
+ ImageState_CANCELLED_ON_ONU_STATE ImageState_ImageFailureReason = 6
+ ImageState_VENDOR_DEVICE_MISMATCH ImageState_ImageFailureReason = 7
+ ImageState_OMCI_TRANSFER_ERROR ImageState_ImageFailureReason = 8
+ ImageState_IMAGE_REFUSED_BY_ONU ImageState_ImageFailureReason = 9
+)
+
+var ImageState_ImageFailureReason_name = map[int32]string{
+ 0: "NO_ERROR",
+ 1: "INVALID_URL",
+ 2: "DEVICE_BUSY",
+ 3: "INSUFFICIENT_SPACE",
+ 4: "UNKNOWN_ERROR",
+ 5: "CANCELLED_ON_REQUEST",
+ 6: "CANCELLED_ON_ONU_STATE",
+ 7: "VENDOR_DEVICE_MISMATCH",
+ 8: "OMCI_TRANSFER_ERROR",
+ 9: "IMAGE_REFUSED_BY_ONU",
+}
+
+var ImageState_ImageFailureReason_value = map[string]int32{
+ "NO_ERROR": 0,
+ "INVALID_URL": 1,
+ "DEVICE_BUSY": 2,
+ "INSUFFICIENT_SPACE": 3,
+ "UNKNOWN_ERROR": 4,
+ "CANCELLED_ON_REQUEST": 5,
+ "CANCELLED_ON_ONU_STATE": 6,
+ "VENDOR_DEVICE_MISMATCH": 7,
+ "OMCI_TRANSFER_ERROR": 8,
+ "IMAGE_REFUSED_BY_ONU": 9,
+}
+
+func (x ImageState_ImageFailureReason) String() string {
+ return proto.EnumName(ImageState_ImageFailureReason_name, int32(x))
+}
+
+func (ImageState_ImageFailureReason) EnumDescriptor() ([]byte, []int) {
+ return fileDescriptor_200940f73d155856, []int{12, 1}
+}
+
+type ImageState_ImageActivationState int32
+
+const (
+ ImageState_IMAGE_UNKNOWN ImageState_ImageActivationState = 0
+ ImageState_IMAGE_INACTIVE ImageState_ImageActivationState = 1
+ ImageState_IMAGE_ACTIVATING ImageState_ImageActivationState = 2
+ ImageState_IMAGE_ACTIVE ImageState_ImageActivationState = 3
+ ImageState_IMAGE_COMMITTING ImageState_ImageActivationState = 4
+ ImageState_IMAGE_COMMITTED ImageState_ImageActivationState = 5
+ ImageState_IMAGE_ACTIVATION_ABORTING ImageState_ImageActivationState = 6
+ ImageState_IMAGE_ACTIVATION_ABORTED ImageState_ImageActivationState = 7
+ ImageState_IMAGE_COMMIT_ABORTING ImageState_ImageActivationState = 8
+ ImageState_IMAGE_COMMIT_ABORTED ImageState_ImageActivationState = 9
+ ImageState_IMAGE_DOWNLOADING ImageState_ImageActivationState = 10
+)
+
+var ImageState_ImageActivationState_name = map[int32]string{
+ 0: "IMAGE_UNKNOWN",
+ 1: "IMAGE_INACTIVE",
+ 2: "IMAGE_ACTIVATING",
+ 3: "IMAGE_ACTIVE",
+ 4: "IMAGE_COMMITTING",
+ 5: "IMAGE_COMMITTED",
+ 6: "IMAGE_ACTIVATION_ABORTING",
+ 7: "IMAGE_ACTIVATION_ABORTED",
+ 8: "IMAGE_COMMIT_ABORTING",
+ 9: "IMAGE_COMMIT_ABORTED",
+ 10: "IMAGE_DOWNLOADING",
+}
+
+var ImageState_ImageActivationState_value = map[string]int32{
+ "IMAGE_UNKNOWN": 0,
+ "IMAGE_INACTIVE": 1,
+ "IMAGE_ACTIVATING": 2,
+ "IMAGE_ACTIVE": 3,
+ "IMAGE_COMMITTING": 4,
+ "IMAGE_COMMITTED": 5,
+ "IMAGE_ACTIVATION_ABORTING": 6,
+ "IMAGE_ACTIVATION_ABORTED": 7,
+ "IMAGE_COMMIT_ABORTING": 8,
+ "IMAGE_COMMIT_ABORTED": 9,
+ "IMAGE_DOWNLOADING": 10,
+}
+
+func (x ImageState_ImageActivationState) String() string {
+ return proto.EnumName(ImageState_ImageActivationState_name, int32(x))
+}
+
+func (ImageState_ImageActivationState) EnumDescriptor() ([]byte, []int) {
+ return fileDescriptor_200940f73d155856, []int{12, 2}
}
type Port_PortType int32
@@ -205,7 +349,7 @@
}
func (Port_PortType) EnumDescriptor() ([]byte, []int) {
- return fileDescriptor_200940f73d155856, []int{9, 0}
+ return fileDescriptor_200940f73d155856, []int{13, 0}
}
type SimulateAlarmRequest_OperationType int32
@@ -230,7 +374,7 @@
}
func (SimulateAlarmRequest_OperationType) EnumDescriptor() ([]byte, []int) {
- return fileDescriptor_200940f73d155856, []int{13, 0}
+ return fileDescriptor_200940f73d155856, []int{17, 0}
}
// A Device Type
@@ -581,26 +725,47 @@
return 0
}
-// Describes instance of software image on the device
+//Object representing an image
type Image struct {
- Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
- Version string `protobuf:"bytes,2,opt,name=version,proto3" json:"version,omitempty"`
- Hash string `protobuf:"bytes,3,opt,name=hash,proto3" json:"hash,omitempty"`
+ Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
+ // Version, this is the sole identifier of the image. it's the vendor specified OMCI version
+ // must be known at the time of initiating a download, activate, commit image on an onu.
+ Version string `protobuf:"bytes,2,opt,name=version,proto3" json:"version,omitempty"`
+ // hash of the image to be verified against
+ // Deprecated in voltha 2.8, will be removed
+ Hash uint32 `protobuf:"varint,3,opt,name=hash,proto3" json:"hash,omitempty"`
+ // Deprecated in voltha 2.8, will be removed
InstallDatetime string `protobuf:"bytes,4,opt,name=install_datetime,json=installDatetime,proto3" json:"install_datetime,omitempty"`
// The active software image is one that is currently loaded and executing
// in the ONU or circuit pack. Under normal operation, one software image
// is always active while the other is inactive. Under no circumstances are
// both software images allowed to be active at the same time
+ // Deprecated in voltha 2.8, will be removed
IsActive bool `protobuf:"varint,5,opt,name=is_active,json=isActive,proto3" json:"is_active,omitempty"`
// The committed software image is loaded and executed upon reboot of the
// ONU and/or circuit pack. During normal operation, one software image is
// always committed, while the other is uncommitted.
+ // Deprecated in voltha 2.8, will be removed
IsCommitted bool `protobuf:"varint,6,opt,name=is_committed,json=isCommitted,proto3" json:"is_committed,omitempty"`
// A software image is valid if it has been verified to be an executable
// code image. The verification mechanism is not subject to standardization;
// however, it should include at least a data integrity (e.g., CRC) check of
// the entire code image.
- IsValid bool `protobuf:"varint,7,opt,name=is_valid,json=isValid,proto3" json:"is_valid,omitempty"`
+ // Deprecated in voltha 2.8, will be removed
+ IsValid bool `protobuf:"varint,7,opt,name=is_valid,json=isValid,proto3" json:"is_valid,omitempty"`
+ // URL where the image is available
+ // URL MUST be fully qualified,
+ // including filename, username and password
+ Url string `protobuf:"bytes,8,opt,name=url,proto3" json:"url,omitempty"`
+ // Represents the vendor/device mfr
+ // Needs to match the vendor of the device the image will be installed on
+ // optional, if not matched no check will be performed
+ Vendor string `protobuf:"bytes,9,opt,name=vendor,proto3" json:"vendor,omitempty"`
+ // Represents the ONU Image CRC value.
+ // Default to value 0 if not specified.
+ // If different then 0 it's used to verify the image retrieved from outside before sending it to the ONU.
+ // Calculation of this needs to be done according to ITU-T I.363.5 as per OMCI spec (section A.2.27)
+ Crc32 uint32 `protobuf:"varint,10,opt,name=crc32,proto3" json:"crc32,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
@@ -645,11 +810,11 @@
return ""
}
-func (m *Image) GetHash() string {
+func (m *Image) GetHash() uint32 {
if m != nil {
return m.Hash
}
- return ""
+ return 0
}
func (m *Image) GetInstallDatetime() string {
@@ -680,47 +845,29 @@
return false
}
-// List of software on the device
-type Images struct {
- Image []*Image `protobuf:"bytes,1,rep,name=image,proto3" json:"image,omitempty"`
- XXX_NoUnkeyedLiteral struct{} `json:"-"`
- XXX_unrecognized []byte `json:"-"`
- XXX_sizecache int32 `json:"-"`
-}
-
-func (m *Images) Reset() { *m = Images{} }
-func (m *Images) String() string { return proto.CompactTextString(m) }
-func (*Images) ProtoMessage() {}
-func (*Images) Descriptor() ([]byte, []int) {
- return fileDescriptor_200940f73d155856, []int{6}
-}
-
-func (m *Images) XXX_Unmarshal(b []byte) error {
- return xxx_messageInfo_Images.Unmarshal(m, b)
-}
-func (m *Images) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- return xxx_messageInfo_Images.Marshal(b, m, deterministic)
-}
-func (m *Images) XXX_Merge(src proto.Message) {
- xxx_messageInfo_Images.Merge(m, src)
-}
-func (m *Images) XXX_Size() int {
- return xxx_messageInfo_Images.Size(m)
-}
-func (m *Images) XXX_DiscardUnknown() {
- xxx_messageInfo_Images.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_Images proto.InternalMessageInfo
-
-func (m *Images) GetImage() []*Image {
+func (m *Image) GetUrl() string {
if m != nil {
- return m.Image
+ return m.Url
}
- return nil
+ return ""
}
-//TODO: ImageDownload is not actively used (05/19/2020). When this is tackled, can remove extra/unnecessary fields.
+func (m *Image) GetVendor() string {
+ if m != nil {
+ return m.Vendor
+ }
+ return ""
+}
+
+func (m *Image) GetCrc32() uint32 {
+ if m != nil {
+ return m.Crc32
+ }
+ return 0
+}
+
+// Older version of the API please see DeviceImageDownloadRequest
+// Deprecated in voltha 2.8, will be removed
type ImageDownload struct {
// Device Identifier
Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
@@ -758,7 +905,7 @@
func (m *ImageDownload) String() string { return proto.CompactTextString(m) }
func (*ImageDownload) ProtoMessage() {}
func (*ImageDownload) Descriptor() ([]byte, []int) {
- return fileDescriptor_200940f73d155856, []int{7}
+ return fileDescriptor_200940f73d155856, []int{6}
}
func (m *ImageDownload) XXX_Unmarshal(b []byte) error {
@@ -870,6 +1017,7 @@
return 0
}
+// Deprecated in voltha 2.8, will be removed
type ImageDownloads struct {
Items []*ImageDownload `protobuf:"bytes,2,rep,name=items,proto3" json:"items,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
@@ -881,7 +1029,7 @@
func (m *ImageDownloads) String() string { return proto.CompactTextString(m) }
func (*ImageDownloads) ProtoMessage() {}
func (*ImageDownloads) Descriptor() ([]byte, []int) {
- return fileDescriptor_200940f73d155856, []int{8}
+ return fileDescriptor_200940f73d155856, []int{7}
}
func (m *ImageDownloads) XXX_Unmarshal(b []byte) error {
@@ -909,6 +1057,282 @@
return nil
}
+type Images struct {
+ Image []*Image `protobuf:"bytes,1,rep,name=image,proto3" json:"image,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *Images) Reset() { *m = Images{} }
+func (m *Images) String() string { return proto.CompactTextString(m) }
+func (*Images) ProtoMessage() {}
+func (*Images) Descriptor() ([]byte, []int) {
+ return fileDescriptor_200940f73d155856, []int{8}
+}
+
+func (m *Images) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_Images.Unmarshal(m, b)
+}
+func (m *Images) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_Images.Marshal(b, m, deterministic)
+}
+func (m *Images) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_Images.Merge(m, src)
+}
+func (m *Images) XXX_Size() int {
+ return xxx_messageInfo_Images.Size(m)
+}
+func (m *Images) XXX_DiscardUnknown() {
+ xxx_messageInfo_Images.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_Images proto.InternalMessageInfo
+
+func (m *Images) GetImage() []*Image {
+ if m != nil {
+ return m.Image
+ }
+ return nil
+}
+
+// OnuImage represents the OMCI information as per OMCI spec
+// the information will be populates exactly as extracted from the device.
+type OnuImage struct {
+ //image version
+ Version string `protobuf:"bytes,1,opt,name=version,proto3" json:"version,omitempty"`
+ IsCommited bool `protobuf:"varint,2,opt,name=isCommited,proto3" json:"isCommited,omitempty"`
+ IsActive bool `protobuf:"varint,3,opt,name=isActive,proto3" json:"isActive,omitempty"`
+ IsValid bool `protobuf:"varint,4,opt,name=isValid,proto3" json:"isValid,omitempty"`
+ ProductCode string `protobuf:"bytes,5,opt,name=productCode,proto3" json:"productCode,omitempty"`
+ // Hash is computed by the ONU and is optional as per OMCI spec (paragraph 9.1.4)
+ // No assumption should be made on the existence of this attribute at any time.
+ Hash string `protobuf:"bytes,6,opt,name=hash,proto3" json:"hash,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *OnuImage) Reset() { *m = OnuImage{} }
+func (m *OnuImage) String() string { return proto.CompactTextString(m) }
+func (*OnuImage) ProtoMessage() {}
+func (*OnuImage) Descriptor() ([]byte, []int) {
+ return fileDescriptor_200940f73d155856, []int{9}
+}
+
+func (m *OnuImage) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_OnuImage.Unmarshal(m, b)
+}
+func (m *OnuImage) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_OnuImage.Marshal(b, m, deterministic)
+}
+func (m *OnuImage) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_OnuImage.Merge(m, src)
+}
+func (m *OnuImage) XXX_Size() int {
+ return xxx_messageInfo_OnuImage.Size(m)
+}
+func (m *OnuImage) XXX_DiscardUnknown() {
+ xxx_messageInfo_OnuImage.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_OnuImage proto.InternalMessageInfo
+
+func (m *OnuImage) GetVersion() string {
+ if m != nil {
+ return m.Version
+ }
+ return ""
+}
+
+func (m *OnuImage) GetIsCommited() bool {
+ if m != nil {
+ return m.IsCommited
+ }
+ return false
+}
+
+func (m *OnuImage) GetIsActive() bool {
+ if m != nil {
+ return m.IsActive
+ }
+ return false
+}
+
+func (m *OnuImage) GetIsValid() bool {
+ if m != nil {
+ return m.IsValid
+ }
+ return false
+}
+
+func (m *OnuImage) GetProductCode() string {
+ if m != nil {
+ return m.ProductCode
+ }
+ return ""
+}
+
+func (m *OnuImage) GetHash() string {
+ if m != nil {
+ return m.Hash
+ }
+ return ""
+}
+
+type OnuImages struct {
+ Items []*OnuImage `protobuf:"bytes,1,rep,name=items,proto3" json:"items,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *OnuImages) Reset() { *m = OnuImages{} }
+func (m *OnuImages) String() string { return proto.CompactTextString(m) }
+func (*OnuImages) ProtoMessage() {}
+func (*OnuImages) Descriptor() ([]byte, []int) {
+ return fileDescriptor_200940f73d155856, []int{10}
+}
+
+func (m *OnuImages) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_OnuImages.Unmarshal(m, b)
+}
+func (m *OnuImages) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_OnuImages.Marshal(b, m, deterministic)
+}
+func (m *OnuImages) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_OnuImages.Merge(m, src)
+}
+func (m *OnuImages) XXX_Size() int {
+ return xxx_messageInfo_OnuImages.Size(m)
+}
+func (m *OnuImages) XXX_DiscardUnknown() {
+ xxx_messageInfo_OnuImages.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_OnuImages proto.InternalMessageInfo
+
+func (m *OnuImages) GetItems() []*OnuImage {
+ if m != nil {
+ return m.Items
+ }
+ return nil
+}
+
+type DeviceImageState struct {
+ DeviceId string `protobuf:"bytes,1,opt,name=device_id,json=deviceId,proto3" json:"device_id,omitempty"`
+ ImageState *ImageState `protobuf:"bytes,2,opt,name=imageState,proto3" json:"imageState,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *DeviceImageState) Reset() { *m = DeviceImageState{} }
+func (m *DeviceImageState) String() string { return proto.CompactTextString(m) }
+func (*DeviceImageState) ProtoMessage() {}
+func (*DeviceImageState) Descriptor() ([]byte, []int) {
+ return fileDescriptor_200940f73d155856, []int{11}
+}
+
+func (m *DeviceImageState) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_DeviceImageState.Unmarshal(m, b)
+}
+func (m *DeviceImageState) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_DeviceImageState.Marshal(b, m, deterministic)
+}
+func (m *DeviceImageState) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_DeviceImageState.Merge(m, src)
+}
+func (m *DeviceImageState) XXX_Size() int {
+ return xxx_messageInfo_DeviceImageState.Size(m)
+}
+func (m *DeviceImageState) XXX_DiscardUnknown() {
+ xxx_messageInfo_DeviceImageState.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_DeviceImageState proto.InternalMessageInfo
+
+func (m *DeviceImageState) GetDeviceId() string {
+ if m != nil {
+ return m.DeviceId
+ }
+ return ""
+}
+
+func (m *DeviceImageState) GetImageState() *ImageState {
+ if m != nil {
+ return m.ImageState
+ }
+ return nil
+}
+
+type ImageState struct {
+ // image version
+ Version string `protobuf:"bytes,1,opt,name=version,proto3" json:"version,omitempty"`
+ // Download state
+ DownloadState ImageState_ImageDownloadState `protobuf:"varint,2,opt,name=download_state,json=downloadState,proto3,enum=voltha.ImageState_ImageDownloadState" json:"download_state,omitempty"`
+ // Image Operation Failure reason (use for both Download and Activate)
+ Reason ImageState_ImageFailureReason `protobuf:"varint,3,opt,name=reason,proto3,enum=voltha.ImageState_ImageFailureReason" json:"reason,omitempty"`
+ // Image activation state
+ ImageState ImageState_ImageActivationState `protobuf:"varint,4,opt,name=image_state,json=imageState,proto3,enum=voltha.ImageState_ImageActivationState" json:"image_state,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *ImageState) Reset() { *m = ImageState{} }
+func (m *ImageState) String() string { return proto.CompactTextString(m) }
+func (*ImageState) ProtoMessage() {}
+func (*ImageState) Descriptor() ([]byte, []int) {
+ return fileDescriptor_200940f73d155856, []int{12}
+}
+
+func (m *ImageState) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_ImageState.Unmarshal(m, b)
+}
+func (m *ImageState) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_ImageState.Marshal(b, m, deterministic)
+}
+func (m *ImageState) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_ImageState.Merge(m, src)
+}
+func (m *ImageState) XXX_Size() int {
+ return xxx_messageInfo_ImageState.Size(m)
+}
+func (m *ImageState) XXX_DiscardUnknown() {
+ xxx_messageInfo_ImageState.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_ImageState proto.InternalMessageInfo
+
+func (m *ImageState) GetVersion() string {
+ if m != nil {
+ return m.Version
+ }
+ return ""
+}
+
+func (m *ImageState) GetDownloadState() ImageState_ImageDownloadState {
+ if m != nil {
+ return m.DownloadState
+ }
+ return ImageState_DOWNLOAD_UNKNOWN
+}
+
+func (m *ImageState) GetReason() ImageState_ImageFailureReason {
+ if m != nil {
+ return m.Reason
+ }
+ return ImageState_NO_ERROR
+}
+
+func (m *ImageState) GetImageState() ImageState_ImageActivationState {
+ if m != nil {
+ return m.ImageState
+ }
+ return ImageState_IMAGE_UNKNOWN
+}
+
type Port struct {
PortNo uint32 `protobuf:"varint,1,opt,name=port_no,json=portNo,proto3" json:"port_no,omitempty"`
Label string `protobuf:"bytes,2,opt,name=label,proto3" json:"label,omitempty"`
@@ -936,7 +1360,7 @@
func (m *Port) String() string { return proto.CompactTextString(m) }
func (*Port) ProtoMessage() {}
func (*Port) Descriptor() ([]byte, []int) {
- return fileDescriptor_200940f73d155856, []int{9}
+ return fileDescriptor_200940f73d155856, []int{13}
}
func (m *Port) XXX_Unmarshal(b []byte) error {
@@ -1067,7 +1491,7 @@
func (m *Port_PeerPort) String() string { return proto.CompactTextString(m) }
func (*Port_PeerPort) ProtoMessage() {}
func (*Port_PeerPort) Descriptor() ([]byte, []int) {
- return fileDescriptor_200940f73d155856, []int{9, 0}
+ return fileDescriptor_200940f73d155856, []int{13, 0}
}
func (m *Port_PeerPort) XXX_Unmarshal(b []byte) error {
@@ -1113,7 +1537,7 @@
func (m *Ports) String() string { return proto.CompactTextString(m) }
func (*Ports) ProtoMessage() {}
func (*Ports) Descriptor() ([]byte, []int) {
- return fileDescriptor_200940f73d155856, []int{10}
+ return fileDescriptor_200940f73d155856, []int{14}
}
func (m *Ports) XXX_Unmarshal(b []byte) error {
@@ -1163,7 +1587,7 @@
Images *Images `protobuf:"bytes,9,opt,name=images,proto3" json:"images,omitempty"`
SerialNumber string `protobuf:"bytes,10,opt,name=serial_number,json=serialNumber,proto3" json:"serial_number,omitempty"`
VendorId string `protobuf:"bytes,24,opt,name=vendor_id,json=vendorId,proto3" json:"vendor_id,omitempty"`
- // Addapter that takes care of device
+ // Adapter that takes care of device
Adapter string `protobuf:"bytes,11,opt,name=adapter,proto3" json:"adapter,omitempty"`
// Device contact on vlan (if 0, no vlan)
Vlan uint32 `protobuf:"varint,12,opt,name=vlan,proto3" json:"vlan,omitempty"`
@@ -1195,7 +1619,7 @@
func (m *Device) String() string { return proto.CompactTextString(m) }
func (*Device) ProtoMessage() {}
func (*Device) Descriptor() ([]byte, []int) {
- return fileDescriptor_200940f73d155856, []int{11}
+ return fileDescriptor_200940f73d155856, []int{15}
}
func (m *Device) XXX_Unmarshal(b []byte) error {
@@ -1460,7 +1884,7 @@
func (m *Device_ProxyAddress) String() string { return proto.CompactTextString(m) }
func (*Device_ProxyAddress) ProtoMessage() {}
func (*Device_ProxyAddress) Descriptor() ([]byte, []int) {
- return fileDescriptor_200940f73d155856, []int{11, 0}
+ return fileDescriptor_200940f73d155856, []int{15, 0}
}
func (m *Device_ProxyAddress) XXX_Unmarshal(b []byte) error {
@@ -1541,7 +1965,7 @@
func (m *Devices) String() string { return proto.CompactTextString(m) }
func (*Devices) ProtoMessage() {}
func (*Devices) Descriptor() ([]byte, []int) {
- return fileDescriptor_200940f73d155856, []int{12}
+ return fileDescriptor_200940f73d155856, []int{16}
}
func (m *Devices) XXX_Unmarshal(b []byte) error {
@@ -1590,7 +2014,7 @@
func (m *SimulateAlarmRequest) String() string { return proto.CompactTextString(m) }
func (*SimulateAlarmRequest) ProtoMessage() {}
func (*SimulateAlarmRequest) Descriptor() ([]byte, []int) {
- return fileDescriptor_200940f73d155856, []int{13}
+ return fileDescriptor_200940f73d155856, []int{17}
}
func (m *SimulateAlarmRequest) XXX_Unmarshal(b []byte) error {
@@ -1686,6 +2110,9 @@
proto.RegisterEnum("voltha.ImageDownload_ImageDownloadState", ImageDownload_ImageDownloadState_name, ImageDownload_ImageDownloadState_value)
proto.RegisterEnum("voltha.ImageDownload_ImageDownloadFailureReason", ImageDownload_ImageDownloadFailureReason_name, ImageDownload_ImageDownloadFailureReason_value)
proto.RegisterEnum("voltha.ImageDownload_ImageActivateState", ImageDownload_ImageActivateState_name, ImageDownload_ImageActivateState_value)
+ proto.RegisterEnum("voltha.ImageState_ImageDownloadState", ImageState_ImageDownloadState_name, ImageState_ImageDownloadState_value)
+ proto.RegisterEnum("voltha.ImageState_ImageFailureReason", ImageState_ImageFailureReason_name, ImageState_ImageFailureReason_value)
+ proto.RegisterEnum("voltha.ImageState_ImageActivationState", ImageState_ImageActivationState_name, ImageState_ImageActivationState_value)
proto.RegisterEnum("voltha.Port_PortType", Port_PortType_name, Port_PortType_value)
proto.RegisterEnum("voltha.SimulateAlarmRequest_OperationType", SimulateAlarmRequest_OperationType_name, SimulateAlarmRequest_OperationType_value)
proto.RegisterType((*DeviceType)(nil), "voltha.DeviceType")
@@ -1694,9 +2121,13 @@
proto.RegisterType((*PmGroupConfig)(nil), "voltha.PmGroupConfig")
proto.RegisterType((*PmConfigs)(nil), "voltha.PmConfigs")
proto.RegisterType((*Image)(nil), "voltha.Image")
- proto.RegisterType((*Images)(nil), "voltha.Images")
proto.RegisterType((*ImageDownload)(nil), "voltha.ImageDownload")
proto.RegisterType((*ImageDownloads)(nil), "voltha.ImageDownloads")
+ proto.RegisterType((*Images)(nil), "voltha.Images")
+ proto.RegisterType((*OnuImage)(nil), "voltha.OnuImage")
+ proto.RegisterType((*OnuImages)(nil), "voltha.OnuImages")
+ proto.RegisterType((*DeviceImageState)(nil), "voltha.DeviceImageState")
+ proto.RegisterType((*ImageState)(nil), "voltha.ImageState")
proto.RegisterType((*Port)(nil), "voltha.Port")
proto.RegisterType((*Port_PeerPort)(nil), "voltha.Port.PeerPort")
proto.RegisterType((*Ports)(nil), "voltha.Ports")
@@ -1709,152 +2140,174 @@
func init() { proto.RegisterFile("voltha_protos/device.proto", fileDescriptor_200940f73d155856) }
var fileDescriptor_200940f73d155856 = []byte{
- // 2341 bytes of a gzipped FileDescriptorProto
- 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x58, 0xcd, 0x72, 0xdb, 0xb8,
- 0x1d, 0x8f, 0x64, 0x8b, 0x12, 0xff, 0xfa, 0x30, 0x83, 0x38, 0x09, 0x63, 0xd7, 0xe3, 0x54, 0xd9,
- 0x4e, 0x9d, 0xa4, 0xb1, 0xd3, 0x64, 0x67, 0x77, 0x7b, 0xe8, 0x4c, 0x64, 0x89, 0x4e, 0x38, 0x75,
- 0x25, 0x17, 0x92, 0xbc, 0x6d, 0x2f, 0x1c, 0x5a, 0x84, 0x6c, 0x4e, 0x48, 0x42, 0x01, 0x28, 0xd9,
- 0xde, 0x5b, 0x67, 0xa7, 0x3d, 0xf5, 0xd6, 0x5b, 0x9f, 0xa0, 0x6f, 0xb0, 0xc7, 0xf6, 0x05, 0x76,
- 0xfa, 0x0e, 0xed, 0xa5, 0x4f, 0xb0, 0xe7, 0x0e, 0x00, 0x42, 0x22, 0x9d, 0x34, 0xdb, 0xbd, 0xd8,
- 0xc4, 0xef, 0xff, 0x01, 0xe0, 0x07, 0xfc, 0x3f, 0x20, 0xd8, 0x5a, 0xd0, 0x28, 0xbd, 0xf0, 0xbd,
- 0x19, 0xa3, 0x29, 0xe5, 0x07, 0x01, 0x59, 0x84, 0x13, 0xb2, 0x2f, 0x47, 0xc8, 0x50, 0xb2, 0xad,
- 0x07, 0xe7, 0x94, 0x9e, 0x47, 0xe4, 0x40, 0xa2, 0x67, 0xf3, 0xe9, 0x81, 0x9f, 0x5c, 0x2b, 0x95,
- 0xad, 0x1b, 0xe6, 0x13, 0x1a, 0xc7, 0x34, 0xc9, 0x64, 0x76, 0x51, 0x16, 0x93, 0xd4, 0xcf, 0x24,
- 0xbb, 0x45, 0x09, 0x9d, 0x91, 0x64, 0x1a, 0xd1, 0x4b, 0xef, 0xe7, 0x2f, 0x95, 0x42, 0xfb, 0xef,
- 0x65, 0x80, 0x9e, 0x5c, 0xca, 0xe8, 0x7a, 0x46, 0x50, 0x0b, 0xca, 0x61, 0x60, 0x97, 0x1e, 0x96,
- 0xf6, 0x4c, 0x5c, 0x0e, 0x03, 0xb4, 0x0d, 0xe6, 0x82, 0x24, 0x01, 0x65, 0x5e, 0x18, 0xd8, 0x15,
- 0x09, 0xd7, 0x14, 0xe0, 0x06, 0x68, 0x07, 0x60, 0x29, 0xe4, 0xb6, 0xf1, 0x70, 0x6d, 0xcf, 0xc4,
- 0xa6, 0x96, 0x72, 0x64, 0x43, 0xd5, 0x0f, 0xfc, 0x59, 0x4a, 0x98, 0x5d, 0x96, 0x96, 0x7a, 0x88,
- 0x3e, 0x07, 0xdb, 0x9f, 0x4c, 0xc8, 0x2c, 0xe5, 0xde, 0xd9, 0x3c, 0x7a, 0xeb, 0xc9, 0x25, 0xcd,
- 0x67, 0x81, 0x9f, 0x12, 0x7b, 0xed, 0x61, 0x69, 0xaf, 0x86, 0xef, 0x66, 0xf2, 0xc3, 0x79, 0xf4,
- 0xf6, 0x28, 0xa2, 0x97, 0x63, 0x29, 0x44, 0x3d, 0xd8, 0xd5, 0x86, 0x7e, 0x10, 0x78, 0x8c, 0xc4,
- 0x74, 0x41, 0xf2, 0xe6, 0xdc, 0x5e, 0x97, 0xf6, 0xdb, 0x99, 0x5a, 0x27, 0x08, 0xb0, 0x54, 0x5a,
- 0x39, 0xe1, 0xe8, 0x18, 0x1e, 0x69, 0x2f, 0x41, 0xc8, 0xc8, 0x24, 0xf5, 0x22, 0x7a, 0x1e, 0x4e,
- 0xfc, 0x48, 0x7a, 0xe2, 0x7a, 0x25, 0x55, 0xe9, 0x49, 0x4f, 0xd8, 0x93, 0x9a, 0xc7, 0x4a, 0x51,
- 0x78, 0xe3, 0xca, 0x5d, 0xfb, 0x73, 0xa8, 0xaf, 0x08, 0xe4, 0x68, 0x0f, 0x2a, 0x61, 0x4a, 0x62,
- 0x6e, 0x97, 0x1e, 0xae, 0xed, 0xd5, 0x5f, 0xa0, 0x7d, 0x75, 0x02, 0xfb, 0x2b, 0x1d, 0xac, 0x14,
- 0xda, 0xff, 0x28, 0x41, 0xed, 0x24, 0xee, 0xd2, 0x64, 0x1a, 0x9e, 0x23, 0x04, 0xeb, 0x89, 0x1f,
- 0x93, 0x8c, 0x7a, 0xf9, 0x8d, 0x9e, 0xc2, 0x7a, 0x7a, 0x3d, 0x23, 0x92, 0xbd, 0xd6, 0x8b, 0xfb,
- 0xda, 0x93, 0xb6, 0xd9, 0x3f, 0x89, 0xa5, 0x3b, 0xa9, 0x24, 0xd8, 0x26, 0x89, 0x7f, 0x16, 0x91,
- 0x20, 0xa3, 0x50, 0x0f, 0xd1, 0x2e, 0xd4, 0xb9, 0x1f, 0xcf, 0x22, 0xe2, 0x4d, 0x19, 0x79, 0x27,
- 0x09, 0x6a, 0x62, 0x50, 0xd0, 0x11, 0x23, 0xef, 0xda, 0x5f, 0x80, 0xa1, 0x5c, 0xa1, 0x3a, 0x54,
- 0xbb, 0x83, 0x71, 0x7f, 0xe4, 0x60, 0xeb, 0x16, 0x32, 0xa1, 0xf2, 0xba, 0x33, 0x7e, 0xed, 0x58,
- 0x25, 0xf1, 0x39, 0x1c, 0x75, 0x46, 0x8e, 0x55, 0x56, 0x2a, 0xfd, 0x91, 0xf3, 0xdb, 0x91, 0xb5,
- 0xd6, 0xfe, 0x4b, 0x09, 0x9a, 0x27, 0xf1, 0x6b, 0x46, 0xe7, 0xb3, 0x6c, 0x1f, 0x3b, 0x00, 0xe7,
- 0x62, 0xe8, 0xe5, 0x76, 0x63, 0x4a, 0xa4, 0x2f, 0xb6, 0xb4, 0x14, 0xcb, 0xa5, 0x94, 0xe5, 0x52,
- 0x94, 0x58, 0xac, 0xe4, 0x23, 0x9b, 0x78, 0x02, 0xd5, 0x98, 0xa4, 0x2c, 0x9c, 0x88, 0x13, 0x16,
- 0xc4, 0x5a, 0x37, 0xe9, 0xc0, 0x5a, 0xa1, 0xfd, 0x87, 0x32, 0x98, 0x1a, 0xe5, 0xef, 0x5d, 0xe9,
- 0x1f, 0x43, 0x23, 0x20, 0x53, 0x7f, 0x1e, 0xa5, 0xf9, 0x45, 0xd4, 0x33, 0x4c, 0x2e, 0x63, 0x17,
- 0xaa, 0x72, 0x4d, 0x7a, 0x19, 0x87, 0x95, 0xff, 0x7c, 0xf7, 0xed, 0x4e, 0x09, 0x6b, 0x14, 0x3d,
- 0x81, 0xa6, 0xb0, 0xf5, 0xe8, 0x82, 0x30, 0x16, 0x06, 0x44, 0xdd, 0x3a, 0xad, 0xd6, 0x10, 0xb2,
- 0x41, 0x26, 0x42, 0xcf, 0xc0, 0x90, 0x66, 0xdc, 0xae, 0xc8, 0x85, 0xdf, 0x5d, 0x2d, 0x3c, 0x47,
- 0x1c, 0xce, 0x94, 0xf2, 0x1b, 0x35, 0xbe, 0x67, 0xa3, 0xe8, 0x01, 0xd4, 0x62, 0xff, 0xca, 0xe3,
- 0x6f, 0xc9, 0xa5, 0xbc, 0xad, 0x4d, 0x5c, 0x8d, 0xfd, 0xab, 0xe1, 0x5b, 0x72, 0xd9, 0xfe, 0x67,
- 0x09, 0x2a, 0x6e, 0xec, 0x9f, 0x93, 0x0f, 0xde, 0x2c, 0x1b, 0xaa, 0x0b, 0xc2, 0x78, 0x48, 0x13,
- 0x1d, 0x9a, 0xd9, 0x50, 0x68, 0x5f, 0xf8, 0xfc, 0x42, 0xee, 0xdb, 0xc4, 0xf2, 0x1b, 0x3d, 0x06,
- 0x2b, 0x4c, 0x78, 0xea, 0x47, 0x91, 0x27, 0x6e, 0x7c, 0x1a, 0xc6, 0x6a, 0xc3, 0x26, 0xde, 0xc8,
- 0xf0, 0x5e, 0x06, 0x8b, 0x7c, 0x11, 0x72, 0xcf, 0x9f, 0xa4, 0xe1, 0x82, 0xc8, 0x7c, 0x51, 0xc3,
- 0xb5, 0x90, 0x77, 0xe4, 0x58, 0x30, 0x1f, 0x72, 0x4f, 0x64, 0xae, 0x30, 0x4d, 0x49, 0x60, 0x1b,
- 0x52, 0x5e, 0x0f, 0x79, 0x57, 0x43, 0x62, 0x47, 0x21, 0xf7, 0x16, 0x7e, 0x14, 0x06, 0x59, 0xfc,
- 0x55, 0x43, 0x7e, 0x2a, 0x86, 0xed, 0x67, 0x60, 0xc8, 0x0d, 0x71, 0xf4, 0x08, 0x2a, 0xa1, 0xf8,
- 0xca, 0x42, 0xac, 0xa9, 0x09, 0x92, 0x62, 0xac, 0x64, 0xed, 0x7f, 0x57, 0xa1, 0x29, 0x81, 0x1e,
- 0xbd, 0x4c, 0x22, 0xea, 0x07, 0xef, 0x5d, 0x04, 0x4d, 0x4c, 0x39, 0x47, 0x8c, 0x05, 0x6b, 0x73,
- 0x16, 0x65, 0xbb, 0x17, 0x9f, 0x02, 0x99, 0xb0, 0x49, 0x16, 0x35, 0xe2, 0x13, 0x0d, 0xa0, 0x15,
- 0x64, 0x3e, 0x3d, 0x9e, 0x8a, 0x4c, 0x51, 0x91, 0x01, 0xba, 0x57, 0x58, 0x87, 0x9e, 0xb6, 0x38,
- 0x1a, 0x0a, 0x7d, 0xdc, 0x0c, 0xf2, 0x43, 0xf4, 0x08, 0x9a, 0x72, 0xcd, 0x9e, 0x3e, 0x13, 0x43,
- 0x4e, 0xdf, 0x90, 0xe0, 0x69, 0x76, 0x30, 0x8f, 0xc1, 0xd2, 0x56, 0x24, 0xf0, 0xce, 0xae, 0x45,
- 0xae, 0x53, 0x67, 0xbe, 0xb1, 0xc2, 0x0f, 0x05, 0x8c, 0xde, 0x80, 0xc1, 0x88, 0xcf, 0x69, 0x62,
- 0xd7, 0xe4, 0xc2, 0x9e, 0xff, 0x1f, 0x0b, 0x3b, 0xf2, 0xc3, 0x68, 0xce, 0x08, 0x96, 0x76, 0x38,
- 0xb3, 0x47, 0x3f, 0x85, 0x0d, 0x3f, 0x08, 0xc2, 0x34, 0xa4, 0x89, 0x1f, 0x79, 0x61, 0x32, 0xa5,
- 0xb6, 0x29, 0xd7, 0xd6, 0x5a, 0xc1, 0x6e, 0x32, 0xa5, 0x2a, 0xc7, 0x2c, 0x88, 0x37, 0x91, 0x37,
- 0xd4, 0x06, 0x79, 0x74, 0x20, 0xa0, 0x2c, 0x2f, 0x6c, 0x83, 0x19, 0x51, 0x91, 0x62, 0x83, 0x90,
- 0xd9, 0x75, 0x55, 0x48, 0x24, 0xd0, 0x0b, 0x19, 0x72, 0xa1, 0xae, 0x08, 0x50, 0x74, 0x36, 0xbe,
- 0x97, 0x4e, 0x79, 0xa1, 0xfc, 0x94, 0x28, 0x3a, 0x41, 0x1a, 0x2b, 0x2e, 0xb7, 0xc1, 0x9c, 0x86,
- 0x11, 0xf1, 0x78, 0xf8, 0x15, 0xb1, 0x9b, 0x92, 0x9f, 0x9a, 0x00, 0x86, 0xe1, 0x57, 0xa4, 0xfd,
- 0x4d, 0x09, 0xd0, 0xfb, 0xc7, 0x81, 0x36, 0xc1, 0xea, 0x0d, 0xbe, 0xec, 0x1f, 0x0f, 0x3a, 0x3d,
- 0x6f, 0xdc, 0xff, 0x55, 0x7f, 0xf0, 0x65, 0xdf, 0xba, 0x85, 0xee, 0x01, 0x5a, 0xa2, 0xc3, 0x71,
- 0xb7, 0xeb, 0x38, 0x3d, 0xa7, 0x67, 0x95, 0x0a, 0x38, 0x76, 0x7e, 0x33, 0x76, 0x86, 0x23, 0xa7,
- 0x67, 0x95, 0x0b, 0x5e, 0x86, 0xa3, 0x0e, 0x16, 0xe8, 0x1a, 0xba, 0x03, 0x1b, 0x4b, 0xf4, 0xa8,
- 0xe3, 0x1e, 0x3b, 0x3d, 0x6b, 0x1d, 0xd9, 0xb0, 0x99, 0x9b, 0x70, 0x38, 0x3e, 0x39, 0x19, 0x48,
- 0xf5, 0x4a, 0xc1, 0x79, 0xb7, 0xd3, 0xef, 0x3a, 0xc7, 0xc2, 0xc2, 0x68, 0xff, 0xa9, 0x04, 0x5b,
- 0xff, 0xfb, 0xbc, 0x50, 0x03, 0x6a, 0xfd, 0x81, 0xe7, 0x60, 0x3c, 0x10, 0x89, 0x7b, 0x03, 0xea,
- 0x6e, 0xff, 0xb4, 0x73, 0xec, 0xf6, 0xbc, 0x31, 0x3e, 0xb6, 0x4a, 0x02, 0xe8, 0x39, 0xa7, 0x6e,
- 0xd7, 0xf1, 0x0e, 0xc7, 0xc3, 0xdf, 0x59, 0x65, 0x31, 0x8d, 0xdb, 0x1f, 0x8e, 0x8f, 0x8e, 0xdc,
- 0xae, 0xeb, 0xf4, 0x47, 0xde, 0xf0, 0xa4, 0xd3, 0x75, 0xac, 0x35, 0x74, 0x1b, 0x9a, 0x19, 0x01,
- 0x99, 0xb3, 0x75, 0xd4, 0x04, 0x73, 0xb5, 0x90, 0x4a, 0xfb, 0xcf, 0x9a, 0xc2, 0xc2, 0x11, 0x08,
- 0x43, 0xf7, 0xd7, 0x9d, 0xd7, 0x4e, 0x8e, 0x3f, 0x04, 0x2d, 0x05, 0xb9, 0xfd, 0x4e, 0x77, 0xe4,
- 0x9e, 0x8a, 0x3a, 0xb2, 0x09, 0x96, 0xc2, 0x24, 0xd2, 0x19, 0xb9, 0xfd, 0xd7, 0x56, 0x19, 0x59,
- 0xd0, 0xc8, 0xa1, 0x8e, 0x62, 0x4d, 0x21, 0xd8, 0x39, 0x75, 0xb0, 0x54, 0x5b, 0x5f, 0x39, 0x54,
- 0xa0, 0x5c, 0xce, 0x2f, 0xa1, 0x55, 0xa0, 0x85, 0xa3, 0xa7, 0xba, 0xfe, 0x96, 0x8b, 0xd9, 0xb6,
- 0xa0, 0xa6, 0x4b, 0xf0, 0x37, 0x15, 0x58, 0x3f, 0xa1, 0x2c, 0x45, 0xf7, 0xa1, 0x3a, 0xa3, 0x2c,
- 0xf5, 0x12, 0x2a, 0x13, 0x44, 0x13, 0x1b, 0x62, 0xd8, 0xa7, 0x68, 0x13, 0x2a, 0x91, 0x7f, 0x46,
- 0xa2, 0x2c, 0x4b, 0xa8, 0x01, 0x7a, 0x9c, 0x55, 0xe6, 0x35, 0x79, 0x53, 0x57, 0x19, 0x9d, 0xb2,
- 0x54, 0xfe, 0xc9, 0xd5, 0xe5, 0x5f, 0x40, 0xdd, 0x0f, 0xe2, 0x30, 0x29, 0xa4, 0x0a, 0x7b, 0x3f,
- 0xeb, 0xdf, 0x3a, 0x42, 0x24, 0x29, 0xdc, 0x97, 0xed, 0x03, 0x06, 0x7f, 0x89, 0x08, 0x53, 0x3a,
- 0x23, 0x4c, 0x5a, 0xce, 0xb9, 0xcc, 0x0a, 0x39, 0xd3, 0xc1, 0x8c, 0xb0, 0xa1, 0x94, 0x68, 0x53,
- 0xba, 0x44, 0x44, 0x18, 0xa8, 0x06, 0xd3, 0xcb, 0x12, 0xa9, 0x89, 0x6b, 0x0a, 0x70, 0x03, 0x41,
- 0xd1, 0x8c, 0x10, 0xc6, 0xed, 0xda, 0x8d, 0x82, 0x24, 0x97, 0x4f, 0x08, 0x13, 0x1f, 0x58, 0xe9,
- 0x88, 0x8a, 0xcd, 0xae, 0xbc, 0x99, 0x3f, 0x79, 0x4b, 0x52, 0x2e, 0xa3, 0xdf, 0xc0, 0x26, 0xbb,
- 0x3a, 0x51, 0x80, 0x48, 0xd8, 0xec, 0x2a, 0x4b, 0x47, 0x20, 0x85, 0x55, 0x76, 0xa5, 0xd2, 0xd0,
- 0x36, 0x98, 0xec, 0xca, 0x23, 0x8c, 0x51, 0xc6, 0x65, 0xc8, 0x1b, 0xb8, 0xc6, 0xae, 0x1c, 0x39,
- 0x16, 0x6e, 0xd3, 0x95, 0xdb, 0x86, 0x72, 0x9b, 0xe6, 0xdd, 0xa6, 0xda, 0x6d, 0x53, 0xb9, 0x4d,
- 0x57, 0x6e, 0xd3, 0xa5, 0xdb, 0x96, 0x72, 0x9b, 0x6a, 0xb7, 0xcf, 0xa1, 0x46, 0xa7, 0x33, 0x4f,
- 0x1c, 0x9e, 0xbd, 0xf1, 0xb0, 0x24, 0x77, 0x97, 0x6f, 0x7a, 0xb5, 0x10, 0x57, 0xe9, 0x74, 0x26,
- 0xb6, 0xb9, 0xf5, 0x0a, 0x6a, 0x7a, 0xcb, 0x45, 0xd6, 0x4a, 0x37, 0x58, 0xcb, 0x5d, 0x91, 0x72,
- 0xfe, 0x8a, 0xb4, 0x39, 0xd4, 0xf4, 0x99, 0x8b, 0xee, 0x68, 0x15, 0x01, 0x16, 0x34, 0x9c, 0xd1,
- 0x1b, 0x07, 0xf7, 0x9d, 0x91, 0xd7, 0xef, 0xbb, 0x56, 0xa9, 0x80, 0x8c, 0xfb, 0xae, 0x6a, 0xa7,
- 0x4e, 0x06, 0x7d, 0x6f, 0x70, 0x3c, 0xb2, 0xd6, 0x96, 0x83, 0xfe, 0x58, 0x05, 0xde, 0xa9, 0x23,
- 0x14, 0x85, 0xac, 0x92, 0x1b, 0xf6, 0xc7, 0x96, 0xd1, 0x7e, 0x0a, 0x15, 0x31, 0x29, 0x47, 0xed,
- 0x62, 0xbf, 0xd9, 0xc8, 0x1f, 0xa6, 0xbe, 0xe6, 0x7f, 0xad, 0x83, 0xa1, 0xfa, 0x4f, 0x74, 0x77,
- 0x55, 0x04, 0x75, 0xbb, 0x22, 0x6a, 0xe1, 0x83, 0x5c, 0xab, 0xb9, 0x14, 0xa8, 0x0b, 0xfc, 0x00,
- 0xd6, 0x19, 0xa5, 0x69, 0xb1, 0x13, 0x92, 0x10, 0x6a, 0x83, 0x39, 0xf3, 0x19, 0x49, 0x52, 0xc1,
- 0xd7, 0x7a, 0xde, 0xb4, 0xa6, 0x70, 0x79, 0xd9, 0x5a, 0x99, 0x8e, 0x66, 0x6f, 0x53, 0xb0, 0xb7,
- 0xec, 0x95, 0x94, 0xf0, 0x44, 0x45, 0xdb, 0x0e, 0x18, 0xea, 0xfd, 0xa0, 0xde, 0x1a, 0x5a, 0x29,
- 0x03, 0xd1, 0x36, 0x54, 0x62, 0x1a, 0x90, 0x48, 0x15, 0x48, 0x2d, 0x55, 0x18, 0x7a, 0x0e, 0xd6,
- 0x85, 0xcf, 0x82, 0x4b, 0x9f, 0xad, 0x0a, 0x69, 0x35, 0xaf, 0xb7, 0xa1, 0xc5, 0xba, 0xa4, 0x3e,
- 0x07, 0x6b, 0x1a, 0xb2, 0xb8, 0x60, 0x51, 0x2b, 0x58, 0x68, 0xb1, 0xb6, 0x78, 0x06, 0x86, 0xac,
- 0x35, 0x2a, 0x10, 0xea, 0x2f, 0x5a, 0x85, 0xec, 0xc2, 0x97, 0xeb, 0x55, 0x4a, 0xa2, 0x4d, 0xe4,
- 0x84, 0x85, 0x7e, 0xe4, 0x25, 0xf3, 0xf8, 0x8c, 0x30, 0x19, 0x21, 0x4b, 0xef, 0x0d, 0x25, 0xeb,
- 0x4b, 0x91, 0xe0, 0x72, 0xf5, 0xd2, 0xb2, 0x0b, 0x5c, 0x2e, 0x1f, 0x5c, 0xbb, 0xab, 0x17, 0x55,
- 0x3d, 0xaf, 0xb1, 0x7c, 0x58, 0x21, 0x58, 0x5f, 0x44, 0x7e, 0x22, 0xe3, 0xa9, 0x89, 0xe5, 0xb7,
- 0x28, 0xcd, 0xb1, 0x3f, 0x11, 0xef, 0x25, 0x46, 0xb8, 0x8a, 0x26, 0x13, 0x43, 0xec, 0x4f, 0x3a,
- 0x0a, 0x41, 0x8f, 0xa0, 0x11, 0xce, 0x16, 0x9f, 0x2e, 0x35, 0x44, 0x4c, 0x99, 0x6f, 0x6e, 0xe1,
- 0xba, 0x40, 0x8b, 0x4a, 0x9f, 0x2d, 0x95, 0x36, 0x72, 0x4a, 0x9f, 0x69, 0xa5, 0x4f, 0xa0, 0x79,
- 0x41, 0x79, 0xea, 0xf9, 0x49, 0xa0, 0x42, 0xf0, 0xae, 0xd6, 0x12, 0x70, 0x27, 0x09, 0x64, 0x94,
- 0xed, 0x00, 0x90, 0xab, 0x94, 0xf9, 0x9e, 0xcf, 0xce, 0xb9, 0x7d, 0x5f, 0x3d, 0x11, 0x24, 0xd2,
- 0x61, 0xe7, 0x1c, 0xbd, 0x82, 0xe6, 0x8c, 0xd1, 0xab, 0xeb, 0xe5, 0x54, 0x77, 0x24, 0xd5, 0xdb,
- 0xc5, 0x87, 0xd4, 0xfe, 0x89, 0xd0, 0xc9, 0x26, 0xc6, 0x8d, 0x59, 0x6e, 0x74, 0x33, 0xe5, 0x5a,
- 0x3f, 0x20, 0xe5, 0xbe, 0x2a, 0xa6, 0xdc, 0xdb, 0x1f, 0x4f, 0xb9, 0x9a, 0xff, 0x7c, 0xe6, 0xdd,
- 0x59, 0x36, 0x5f, 0xf7, 0x0a, 0x57, 0x38, 0xeb, 0xa8, 0x5c, 0x68, 0x4d, 0x68, 0x92, 0x88, 0x47,
- 0x67, 0x36, 0x07, 0x92, 0x73, 0x6c, 0xeb, 0x39, 0xba, 0x4a, 0xfa, 0xa1, 0x69, 0x9a, 0x93, 0xbc,
- 0x0c, 0xfd, 0x0c, 0x8c, 0xc9, 0x9c, 0xa7, 0x34, 0xb6, 0x5f, 0x49, 0x86, 0x36, 0xf7, 0xd5, 0xaf,
- 0x07, 0xfb, 0xfa, 0xd7, 0x83, 0xfd, 0x4e, 0x72, 0x8d, 0x33, 0x1d, 0xf4, 0x05, 0xc0, 0x2c, 0xce,
- 0xfa, 0x33, 0x6e, 0x7f, 0x5d, 0x92, 0x26, 0xb7, 0x6f, 0xbe, 0x2d, 0xf8, 0x61, 0xe5, 0x5f, 0xdf,
- 0x7d, 0xbb, 0x73, 0x0b, 0x9b, 0xb3, 0xe5, 0x03, 0xea, 0x18, 0x36, 0x54, 0x77, 0xa6, 0xfb, 0x4c,
- 0x6e, 0xff, 0xb1, 0xf4, 0x91, 0xe2, 0x7a, 0x58, 0x17, 0x2e, 0x0c, 0xd5, 0x5d, 0xe3, 0x56, 0x58,
- 0xa8, 0xcf, 0x5b, 0x5f, 0x97, 0xa1, 0x91, 0x3f, 0xbb, 0x8f, 0x27, 0xdd, 0x5d, 0xa8, 0x67, 0xc2,
- 0x55, 0x7a, 0xc2, 0x10, 0xac, 0x7e, 0xb0, 0xd8, 0x01, 0x98, 0x5c, 0xf8, 0x49, 0x42, 0x22, 0x61,
- 0xbe, 0xa6, 0x1e, 0x94, 0x19, 0xe2, 0x06, 0x68, 0x0f, 0x2c, 0x2d, 0x56, 0xef, 0xce, 0x2c, 0x51,
- 0x35, 0x71, 0x2b, 0xc3, 0xe5, 0x1b, 0xcc, 0x0d, 0xd0, 0x01, 0xdc, 0xd1, 0x9a, 0x29, 0x61, 0x71,
- 0x98, 0xf8, 0xa2, 0xbd, 0xcd, 0x7e, 0xf3, 0x40, 0x99, 0x68, 0xb4, 0x92, 0xa0, 0xbb, 0x60, 0xd0,
- 0x64, 0x2e, 0x1c, 0x1a, 0xd2, 0x61, 0x85, 0x26, 0x73, 0x37, 0x40, 0x9f, 0x40, 0x4b, 0xc0, 0x9c,
- 0x70, 0x91, 0x31, 0x74, 0xf9, 0x6d, 0xe2, 0x06, 0x4d, 0xe6, 0x43, 0x05, 0xba, 0xc1, 0xa1, 0x29,
- 0x22, 0x59, 0xee, 0xbf, 0x7d, 0x00, 0x55, 0x75, 0xa5, 0x45, 0xfc, 0x14, 0x72, 0x79, 0xab, 0x78,
- 0xe5, 0x75, 0x36, 0xff, 0xdb, 0x1a, 0x6c, 0x0e, 0xc3, 0x78, 0x1e, 0xf9, 0x29, 0xe9, 0x44, 0x3e,
- 0x8b, 0x31, 0x79, 0x37, 0x27, 0x3c, 0x7d, 0xef, 0x81, 0xf3, 0x23, 0x30, 0xc3, 0x24, 0x08, 0x27,
- 0x7e, 0x4a, 0xf5, 0x4f, 0x30, 0x2b, 0x40, 0xd4, 0xb3, 0x30, 0x49, 0xa7, 0x9a, 0x36, 0x13, 0x1b,
- 0x62, 0xa8, 0x76, 0x20, 0x53, 0xb5, 0x60, 0x5c, 0x3d, 0xe3, 0xd5, 0x63, 0xaf, 0x31, 0xcb, 0xaa,
- 0x9c, 0x7c, 0xc9, 0xb7, 0xa1, 0x29, 0xf6, 0xb9, 0x3a, 0x3a, 0xc5, 0x54, 0x9d, 0x26, 0xf3, 0x9e,
- 0x3e, 0xbd, 0x97, 0x70, 0x2f, 0x4c, 0x44, 0x66, 0x25, 0xde, 0x59, 0x98, 0xaa, 0x9a, 0xed, 0x31,
- 0x11, 0x93, 0x82, 0xb2, 0x0a, 0xbe, 0x93, 0x49, 0x0f, 0xc3, 0x54, 0xd6, 0x6f, 0xac, 0xba, 0xf1,
- 0x4a, 0xc0, 0xc2, 0x69, 0x2a, 0x79, 0xab, 0x60, 0x35, 0x10, 0xab, 0x4d, 0xc8, 0xa5, 0x47, 0xde,
- 0x05, 0x32, 0x45, 0x57, 0xb0, 0x91, 0x90, 0x4b, 0xe7, 0x9d, 0x78, 0x8a, 0xdf, 0x56, 0x7c, 0xe7,
- 0xf3, 0xac, 0x7a, 0xa4, 0x6c, 0x48, 0xca, 0x73, 0x39, 0xf6, 0x0d, 0x98, 0x22, 0x52, 0xd5, 0xc9,
- 0x82, 0x8c, 0xbb, 0x27, 0x9a, 0xe3, 0x0f, 0x31, 0x2a, 0x03, 0x5e, 0x6a, 0xcb, 0x86, 0x6e, 0x65,
- 0xdc, 0xfe, 0x09, 0x34, 0x0b, 0x32, 0x64, 0x42, 0x05, 0x77, 0xdc, 0xa1, 0xa3, 0x7e, 0x37, 0xe9,
- 0x1e, 0x3b, 0x1d, 0x6c, 0x95, 0x0e, 0x87, 0x70, 0x87, 0xb2, 0x73, 0xd9, 0x81, 0x4c, 0x28, 0x0b,
- 0xb2, 0xb9, 0x0e, 0x1b, 0xa7, 0xf2, 0xbf, 0xe2, 0xe9, 0xf7, 0xfb, 0xe7, 0x61, 0x7a, 0x31, 0x3f,
- 0x13, 0x09, 0xe0, 0x40, 0x6b, 0x1e, 0x28, 0xcd, 0x67, 0xd9, 0xef, 0x76, 0x8b, 0x4f, 0x0f, 0xce,
- 0x69, 0x86, 0x9d, 0x19, 0x12, 0x7c, 0xf9, 0xdf, 0x00, 0x00, 0x00, 0xff, 0xff, 0x8e, 0x96, 0xa4,
- 0xa3, 0x51, 0x14, 0x00, 0x00,
+ // 2701 bytes of a gzipped FileDescriptorProto
+ 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x59, 0xcb, 0x72, 0x1b, 0xc7,
+ 0xd5, 0x16, 0x40, 0x62, 0x80, 0x39, 0xb8, 0x70, 0xd4, 0x22, 0xa5, 0x11, 0x69, 0xfe, 0xd2, 0x0f,
+ 0xd9, 0xbf, 0x69, 0xe9, 0x17, 0xa9, 0x48, 0x2e, 0xdb, 0x59, 0xb8, 0x4a, 0x20, 0x30, 0x94, 0xa6,
+ 0x42, 0x0d, 0x98, 0x06, 0x40, 0xc7, 0xd9, 0x4c, 0x0d, 0x31, 0x4d, 0x72, 0x4a, 0x83, 0x19, 0xa8,
+ 0x67, 0x40, 0x52, 0xde, 0xa5, 0x5c, 0xc9, 0x2a, 0x55, 0x59, 0x64, 0x95, 0x3c, 0x41, 0x96, 0xd9,
+ 0x79, 0x99, 0xbc, 0x80, 0xab, 0xf2, 0x0c, 0xc9, 0x26, 0x0f, 0x90, 0xf2, 0x3a, 0xd5, 0xb7, 0xb9,
+ 0x90, 0x92, 0xec, 0x54, 0xa5, 0x52, 0xd9, 0x90, 0xd3, 0xdf, 0xb9, 0x74, 0xf7, 0xe9, 0x3e, 0x5f,
+ 0x9f, 0x6e, 0xc0, 0xfa, 0x59, 0x1c, 0xa6, 0xa7, 0x9e, 0x3b, 0xa7, 0x71, 0x1a, 0x27, 0x3b, 0x3e,
+ 0x39, 0x0b, 0xa6, 0x64, 0x9b, 0xb7, 0x90, 0x26, 0x64, 0xeb, 0xb7, 0x4f, 0xe2, 0xf8, 0x24, 0x24,
+ 0x3b, 0x1c, 0x3d, 0x5a, 0x1c, 0xef, 0x78, 0xd1, 0x6b, 0xa1, 0xb2, 0x7e, 0xc9, 0x7c, 0x1a, 0xcf,
+ 0x66, 0x71, 0x24, 0x65, 0x66, 0x59, 0x36, 0x23, 0xa9, 0x27, 0x25, 0x77, 0xca, 0x92, 0x78, 0x4e,
+ 0xa2, 0xe3, 0x30, 0x3e, 0x77, 0x7f, 0xf4, 0x44, 0x28, 0x74, 0xff, 0x54, 0x05, 0x18, 0xf0, 0xa1,
+ 0x8c, 0x5f, 0xcf, 0x09, 0xea, 0x40, 0x35, 0xf0, 0xcd, 0xca, 0xdd, 0xca, 0x96, 0x8e, 0xab, 0x81,
+ 0x8f, 0x36, 0x40, 0x3f, 0x23, 0x91, 0x1f, 0x53, 0x37, 0xf0, 0xcd, 0x1a, 0x87, 0x1b, 0x02, 0xb0,
+ 0x7d, 0xb4, 0x09, 0x90, 0x09, 0x13, 0x53, 0xbb, 0xbb, 0xb4, 0xa5, 0x63, 0x5d, 0x49, 0x13, 0x64,
+ 0x42, 0xdd, 0xf3, 0xbd, 0x79, 0x4a, 0xa8, 0x59, 0xe5, 0x96, 0xaa, 0x89, 0x3e, 0x05, 0xd3, 0x9b,
+ 0x4e, 0xc9, 0x3c, 0x4d, 0xdc, 0xa3, 0x45, 0xf8, 0xd2, 0xe5, 0x43, 0x5a, 0xcc, 0x7d, 0x2f, 0x25,
+ 0xe6, 0xd2, 0xdd, 0xca, 0x56, 0x03, 0xaf, 0x49, 0xf9, 0xee, 0x22, 0x7c, 0xb9, 0x17, 0xc6, 0xe7,
+ 0x13, 0x2e, 0x44, 0x03, 0xb8, 0xa3, 0x0c, 0x3d, 0xdf, 0x77, 0x29, 0x99, 0xc5, 0x67, 0xa4, 0x68,
+ 0x9e, 0x98, 0xcb, 0xdc, 0x7e, 0x43, 0xaa, 0xf5, 0x7c, 0x1f, 0x73, 0xa5, 0xdc, 0x49, 0x82, 0xf6,
+ 0xe1, 0x9e, 0xf2, 0xe2, 0x07, 0x94, 0x4c, 0x53, 0x37, 0x8c, 0x4f, 0x82, 0xa9, 0x17, 0x72, 0x4f,
+ 0x89, 0x1a, 0x49, 0x9d, 0x7b, 0x52, 0x1d, 0x0e, 0xb8, 0xe6, 0xbe, 0x50, 0x64, 0xde, 0x12, 0xe1,
+ 0xae, 0xfb, 0x29, 0x34, 0xf3, 0x00, 0x26, 0x68, 0x0b, 0x6a, 0x41, 0x4a, 0x66, 0x89, 0x59, 0xb9,
+ 0xbb, 0xb4, 0xd5, 0x7c, 0x8c, 0xb6, 0xc5, 0x0a, 0x6c, 0xe7, 0x3a, 0x58, 0x28, 0x74, 0xff, 0x5c,
+ 0x81, 0xc6, 0xc1, 0xac, 0x1f, 0x47, 0xc7, 0xc1, 0x09, 0x42, 0xb0, 0x1c, 0x79, 0x33, 0x22, 0x43,
+ 0xcf, 0xbf, 0xd1, 0x03, 0x58, 0x4e, 0x5f, 0xcf, 0x09, 0x8f, 0x5e, 0xe7, 0xf1, 0x2d, 0xe5, 0x49,
+ 0xd9, 0x6c, 0x1f, 0xcc, 0xb8, 0x3b, 0xae, 0xc4, 0xa2, 0x4d, 0x22, 0xef, 0x28, 0x24, 0xbe, 0x0c,
+ 0xa1, 0x6a, 0xa2, 0x3b, 0xd0, 0x4c, 0xbc, 0xd9, 0x3c, 0x24, 0xee, 0x31, 0x25, 0xaf, 0x78, 0x80,
+ 0xda, 0x18, 0x04, 0xb4, 0x47, 0xc9, 0xab, 0xee, 0x67, 0xa0, 0x09, 0x57, 0xa8, 0x09, 0xf5, 0xfe,
+ 0x70, 0xe2, 0x8c, 0x2d, 0x6c, 0x5c, 0x43, 0x3a, 0xd4, 0x9e, 0xf5, 0x26, 0xcf, 0x2c, 0xa3, 0xc2,
+ 0x3e, 0x47, 0xe3, 0xde, 0xd8, 0x32, 0xaa, 0x42, 0xc5, 0x19, 0x5b, 0x3f, 0x1b, 0x1b, 0x4b, 0xdd,
+ 0xdf, 0x56, 0xa0, 0x7d, 0x30, 0x7b, 0x46, 0xe3, 0xc5, 0x5c, 0xce, 0x63, 0x13, 0xe0, 0x84, 0x35,
+ 0xdd, 0xc2, 0x6c, 0x74, 0x8e, 0x38, 0x6c, 0x4a, 0x99, 0x98, 0x0f, 0xa5, 0xca, 0x87, 0x22, 0xc4,
+ 0x6c, 0x24, 0xef, 0x98, 0xc4, 0x7d, 0xa8, 0xcf, 0x48, 0x4a, 0x83, 0x29, 0x5b, 0x61, 0x16, 0x58,
+ 0xe3, 0x72, 0x38, 0xb0, 0x52, 0xe8, 0xfe, 0xa2, 0x0a, 0xba, 0x42, 0x93, 0x2b, 0x5b, 0xfa, 0x7f,
+ 0xa1, 0xe5, 0x93, 0x63, 0x6f, 0x11, 0xa6, 0xc5, 0x41, 0x34, 0x25, 0xc6, 0x87, 0x71, 0x07, 0xea,
+ 0x7c, 0x4c, 0x6a, 0x18, 0xbb, 0xb5, 0xbf, 0x7f, 0xf7, 0xed, 0x66, 0x05, 0x2b, 0x14, 0xdd, 0x87,
+ 0x36, 0xb3, 0x75, 0xe3, 0x33, 0x42, 0x69, 0xe0, 0x13, 0xb1, 0xeb, 0x94, 0x5a, 0x8b, 0xc9, 0x86,
+ 0x52, 0x84, 0x1e, 0x82, 0xc6, 0xcd, 0x12, 0xb3, 0xc6, 0x07, 0xbe, 0x96, 0x0f, 0xbc, 0x10, 0x38,
+ 0x2c, 0x95, 0x8a, 0x13, 0xd5, 0xbe, 0x67, 0xa2, 0xe8, 0x36, 0x34, 0x66, 0xde, 0x85, 0x9b, 0xbc,
+ 0x24, 0xe7, 0x7c, 0xb7, 0xb6, 0x71, 0x7d, 0xe6, 0x5d, 0x8c, 0x5e, 0x92, 0xf3, 0xee, 0x6f, 0xaa,
+ 0x50, 0xb3, 0x67, 0xde, 0x09, 0x79, 0xe3, 0xce, 0x32, 0xa1, 0x7e, 0x46, 0x68, 0x12, 0xc4, 0x91,
+ 0x4a, 0x4d, 0xd9, 0x64, 0xda, 0xa7, 0x5e, 0x72, 0xca, 0xe7, 0xdd, 0xc6, 0xfc, 0x1b, 0x7d, 0x04,
+ 0x46, 0x10, 0x25, 0xa9, 0x17, 0x86, 0x2e, 0xdb, 0xf1, 0x69, 0x30, 0x13, 0x13, 0xd6, 0xf1, 0x8a,
+ 0xc4, 0x07, 0x12, 0x66, 0x7c, 0x11, 0x24, 0xae, 0x37, 0x4d, 0x83, 0x33, 0xc2, 0xf9, 0xa2, 0x81,
+ 0x1b, 0x41, 0xd2, 0xe3, 0x6d, 0x16, 0xf9, 0x20, 0x71, 0x19, 0x73, 0x05, 0x69, 0x4a, 0x7c, 0x53,
+ 0xe3, 0xf2, 0x66, 0x90, 0xf4, 0x15, 0xc4, 0x66, 0x14, 0x24, 0xee, 0x99, 0x17, 0x06, 0xbe, 0xcc,
+ 0xbf, 0x7a, 0x90, 0x1c, 0xb2, 0x26, 0x32, 0x60, 0x69, 0x41, 0x43, 0xb3, 0xc1, 0x3b, 0x66, 0x9f,
+ 0xe8, 0x26, 0x68, 0x82, 0x6d, 0x4c, 0x9d, 0x83, 0xb2, 0x85, 0x56, 0xa1, 0x36, 0xa5, 0xd3, 0x27,
+ 0x8f, 0x4d, 0xe0, 0x93, 0x10, 0x8d, 0xee, 0xdf, 0xea, 0xd0, 0xe6, 0x11, 0x19, 0xc4, 0xe7, 0x51,
+ 0x18, 0x7b, 0xfe, 0x95, 0x9d, 0xa1, 0x22, 0x55, 0x2d, 0x44, 0x4a, 0xf6, 0xba, 0x94, 0xf7, 0x6a,
+ 0xc0, 0xd2, 0x94, 0x4e, 0x65, 0x1a, 0xb1, 0x4f, 0x34, 0x84, 0x8e, 0x2f, 0x7d, 0xba, 0x49, 0xca,
+ 0xa8, 0xa3, 0xc6, 0x33, 0x76, 0x4b, 0xad, 0x5c, 0xa9, 0xdb, 0x72, 0x6b, 0xc4, 0xf4, 0x71, 0xdb,
+ 0x2f, 0x36, 0xd1, 0x3d, 0x68, 0x07, 0x4c, 0xc9, 0x55, 0x8b, 0xa4, 0xf1, 0xee, 0x5b, 0x1c, 0x3c,
+ 0x94, 0x2b, 0xf5, 0x11, 0x18, 0xca, 0x8a, 0xf8, 0xee, 0xd1, 0x6b, 0x46, 0x7e, 0x62, 0x13, 0xac,
+ 0xe4, 0xf8, 0x2e, 0x83, 0xd1, 0x73, 0xd0, 0x28, 0xf1, 0x92, 0x38, 0xe2, 0xd1, 0xeb, 0x3c, 0x7e,
+ 0xf4, 0x03, 0x06, 0xb6, 0xe7, 0x05, 0xe1, 0x82, 0x12, 0xcc, 0xed, 0xb0, 0xb4, 0x47, 0x1f, 0xc2,
+ 0x8a, 0xe7, 0xfb, 0x41, 0x1a, 0xc4, 0x91, 0x17, 0xba, 0x41, 0x74, 0x1c, 0xcb, 0xd8, 0x77, 0x72,
+ 0xd8, 0x8e, 0x8e, 0x63, 0x41, 0x3a, 0x67, 0xc4, 0x9d, 0xf2, 0x2d, 0xcb, 0x57, 0xa2, 0xc1, 0x48,
+ 0xe7, 0x8c, 0x48, 0xa2, 0xd8, 0x00, 0x3d, 0x8c, 0x19, 0xe7, 0xfa, 0x01, 0x35, 0x9b, 0xe2, 0x64,
+ 0xe1, 0xc0, 0x20, 0xa0, 0xc8, 0x86, 0xa6, 0x08, 0x80, 0x08, 0x67, 0xeb, 0x7b, 0xc3, 0xc9, 0x77,
+ 0x98, 0x97, 0x12, 0x11, 0x4e, 0xe0, 0xc6, 0x22, 0x96, 0x1b, 0xa0, 0x1f, 0x07, 0x21, 0x71, 0x93,
+ 0xe0, 0x2b, 0x62, 0xb6, 0x79, 0x7c, 0x1a, 0x0c, 0x18, 0x05, 0x5f, 0x91, 0xee, 0x37, 0x15, 0x40,
+ 0x57, 0x97, 0x03, 0xad, 0x82, 0x31, 0x18, 0x7e, 0xe1, 0xec, 0x0f, 0x7b, 0x03, 0x77, 0xe2, 0xfc,
+ 0xc4, 0x19, 0x7e, 0xe1, 0x18, 0xd7, 0xd0, 0x4d, 0x40, 0x19, 0x3a, 0x9a, 0xf4, 0xfb, 0x96, 0x35,
+ 0xb0, 0x06, 0x46, 0xa5, 0x84, 0x63, 0xeb, 0xa7, 0x13, 0x6b, 0x34, 0xb6, 0x06, 0x46, 0xb5, 0xe4,
+ 0x65, 0x34, 0xee, 0x61, 0x86, 0x2e, 0xa1, 0x1b, 0xb0, 0x92, 0xa1, 0x7b, 0x3d, 0x7b, 0xdf, 0x1a,
+ 0x18, 0xcb, 0xc8, 0x84, 0xd5, 0x42, 0x87, 0xa3, 0xc9, 0xc1, 0xc1, 0x90, 0xab, 0xd7, 0x4a, 0xce,
+ 0xfb, 0x3d, 0xa7, 0x6f, 0xed, 0x33, 0x0b, 0xad, 0xfb, 0xab, 0x0a, 0xac, 0xbf, 0x7d, 0xbd, 0x50,
+ 0x0b, 0x1a, 0xce, 0xd0, 0xb5, 0x30, 0x1e, 0x32, 0x26, 0x5f, 0x81, 0xa6, 0xed, 0x1c, 0xf6, 0xf6,
+ 0xed, 0x81, 0x3b, 0xc1, 0xfb, 0x46, 0x85, 0x01, 0x03, 0xeb, 0xd0, 0xee, 0x5b, 0xee, 0xee, 0x64,
+ 0xf4, 0xa5, 0x51, 0x65, 0xdd, 0xd8, 0xce, 0x68, 0xb2, 0xb7, 0x67, 0xf7, 0x6d, 0xcb, 0x19, 0xbb,
+ 0xa3, 0x83, 0x5e, 0xdf, 0x32, 0x96, 0xd0, 0x75, 0x68, 0xcb, 0x00, 0x48, 0x67, 0xcb, 0xa8, 0x0d,
+ 0x7a, 0x3e, 0x90, 0x5a, 0xf7, 0xd7, 0x2a, 0x84, 0xa5, 0x25, 0x60, 0x86, 0xf6, 0x8b, 0xde, 0x33,
+ 0xab, 0x10, 0x3f, 0x04, 0x1d, 0x01, 0xd9, 0x4e, 0xaf, 0x3f, 0xb6, 0x0f, 0xd9, 0xc1, 0xb2, 0x0a,
+ 0x86, 0xc0, 0x38, 0xd2, 0x1b, 0xdb, 0xce, 0x33, 0xa3, 0x8a, 0x0c, 0x68, 0x15, 0x50, 0x4b, 0x44,
+ 0x4d, 0x20, 0xd8, 0x3a, 0xb4, 0x30, 0x57, 0x5b, 0xce, 0x1d, 0x0a, 0x90, 0x0f, 0xe7, 0x73, 0xe8,
+ 0x94, 0xc2, 0x92, 0xa0, 0x07, 0xea, 0x40, 0xae, 0x96, 0xe9, 0xb7, 0xa4, 0xa6, 0xce, 0xe4, 0x87,
+ 0xa0, 0x71, 0x3c, 0x41, 0xf7, 0xa0, 0xc6, 0x77, 0x91, 0x3c, 0xc7, 0xdb, 0x25, 0x33, 0x2c, 0x64,
+ 0xdd, 0x3f, 0x56, 0xa0, 0x31, 0x8c, 0x16, 0x82, 0x68, 0x0b, 0xa4, 0x5a, 0x29, 0x93, 0xea, 0xff,
+ 0x00, 0x28, 0x92, 0x23, 0x3e, 0xa7, 0x97, 0x06, 0x2e, 0x20, 0x68, 0x1d, 0x32, 0x92, 0x94, 0xe7,
+ 0x5e, 0x4e, 0x9a, 0x26, 0x28, 0x06, 0x94, 0xa5, 0x4d, 0x46, 0x88, 0x77, 0xa1, 0x39, 0xa7, 0xb1,
+ 0xbf, 0x98, 0xa6, 0xfd, 0xd8, 0x27, 0xb2, 0x3a, 0x2b, 0x42, 0x19, 0x99, 0x0b, 0xfa, 0xe0, 0xdf,
+ 0xdd, 0x27, 0xa0, 0xab, 0x11, 0x27, 0xe8, 0xff, 0xca, 0xc5, 0x4a, 0x76, 0xd4, 0x28, 0x0d, 0x15,
+ 0x96, 0x29, 0x18, 0xa2, 0x7e, 0xb1, 0x4b, 0x89, 0x25, 0x6a, 0x58, 0x37, 0x23, 0xd1, 0x86, 0x00,
+ 0x6c, 0x1f, 0x3d, 0x86, 0x42, 0x0e, 0xf2, 0x19, 0x17, 0x4a, 0xa1, 0xdc, 0x49, 0x31, 0x53, 0x19,
+ 0x41, 0x43, 0xc1, 0xff, 0xdb, 0xc3, 0xb9, 0x7f, 0x85, 0x6f, 0x45, 0x85, 0xf4, 0xc1, 0xd5, 0x0e,
+ 0x7e, 0x00, 0xd9, 0x7e, 0x9e, 0x91, 0xe3, 0xd2, 0xbb, 0xbd, 0xbc, 0x99, 0x11, 0x9f, 0x97, 0xa9,
+ 0x6a, 0x99, 0xfb, 0xf8, 0xf0, 0x6d, 0x3e, 0x64, 0x92, 0x04, 0x71, 0x74, 0x75, 0xfe, 0x7f, 0xf9,
+ 0xaf, 0x27, 0xa3, 0x5b, 0x70, 0xe3, 0x32, 0x19, 0xb1, 0x4c, 0xd4, 0xde, 0xc2, 0x52, 0xf5, 0xee,
+ 0x3f, 0xd4, 0x94, 0xfe, 0x63, 0xec, 0x64, 0xc2, 0x6a, 0x36, 0x00, 0x77, 0xe8, 0xa8, 0x18, 0x18,
+ 0x35, 0xb4, 0x0e, 0x37, 0x4b, 0x92, 0xa1, 0x33, 0x71, 0x45, 0x51, 0xab, 0x31, 0xd9, 0xa1, 0xe5,
+ 0x0c, 0x86, 0xd8, 0x95, 0x1d, 0xbf, 0xb0, 0x47, 0x2f, 0x7a, 0xe3, 0xfe, 0x73, 0xa3, 0xce, 0x26,
+ 0x3d, 0x7c, 0xd1, 0xb7, 0xdd, 0x31, 0xee, 0x39, 0xa3, 0x3d, 0x0b, 0xcb, 0xae, 0x1a, 0xac, 0x2b,
+ 0x45, 0x3f, 0x7b, 0x93, 0x91, 0x35, 0x70, 0x77, 0xbf, 0x64, 0x4e, 0x0d, 0xbd, 0xfb, 0xbb, 0x2a,
+ 0xac, 0xbe, 0x69, 0xb9, 0xff, 0xdd, 0xac, 0x98, 0xe9, 0xf5, 0x87, 0x2f, 0x5e, 0xd8, 0x63, 0x49,
+ 0x8b, 0x19, 0x57, 0x4a, 0x94, 0x2f, 0xdd, 0x26, 0xdc, 0x2e, 0xbb, 0x1c, 0x3a, 0x6e, 0x6f, 0x77,
+ 0x28, 0xa8, 0x54, 0x43, 0xef, 0x81, 0xf9, 0x66, 0x31, 0x5b, 0x46, 0x74, 0x1b, 0xd6, 0x8a, 0x1e,
+ 0x73, 0xc3, 0x42, 0x10, 0x8a, 0x22, 0x6b, 0x60, 0xe8, 0x68, 0x0d, 0xae, 0x0b, 0x89, 0xda, 0x19,
+ 0xcc, 0x00, 0xba, 0xdf, 0xd4, 0x60, 0xf9, 0x20, 0xa6, 0x29, 0xba, 0x05, 0xf5, 0x79, 0x4c, 0x53,
+ 0x37, 0x8a, 0x79, 0x7e, 0xb7, 0xb1, 0xc6, 0x9a, 0x4e, 0xcc, 0xca, 0xb7, 0xd0, 0x3b, 0x22, 0xa1,
+ 0xac, 0xc3, 0x44, 0x03, 0x7d, 0x24, 0x2f, 0x43, 0x22, 0x49, 0xf3, 0x22, 0x3a, 0xa6, 0x29, 0xff,
+ 0x53, 0xb8, 0x0a, 0xfd, 0x18, 0x9a, 0x9e, 0x3f, 0x0b, 0xa2, 0x52, 0x31, 0x66, 0x6e, 0xcb, 0x2b,
+ 0x73, 0x8f, 0x89, 0x44, 0x4a, 0xf2, 0x1b, 0x1b, 0x06, 0x2f, 0x43, 0x98, 0x69, 0x3c, 0x27, 0x94,
+ 0x5b, 0x2e, 0x12, 0x4e, 0x9c, 0x05, 0xd3, 0xe1, 0x9c, 0xd0, 0x11, 0x97, 0x28, 0xd3, 0x38, 0x43,
+ 0xca, 0x7c, 0x58, 0xbf, 0xc4, 0x87, 0x0f, 0xa0, 0x36, 0x27, 0x84, 0x26, 0x66, 0xe3, 0xd2, 0x1d,
+ 0x80, 0x0f, 0x9f, 0x10, 0xca, 0x3e, 0xb0, 0xd0, 0x61, 0x97, 0x24, 0x7a, 0xe1, 0xce, 0xbd, 0xe9,
+ 0x4b, 0x92, 0x26, 0xbc, 0xbe, 0xd2, 0xb0, 0x4e, 0x2f, 0x0e, 0x04, 0xc0, 0x6a, 0x64, 0x7a, 0x21,
+ 0x0b, 0x3e, 0xe0, 0xc2, 0x3a, 0xbd, 0x10, 0x85, 0xde, 0x06, 0xe8, 0xf4, 0xc2, 0x25, 0x94, 0xc6,
+ 0x34, 0xe1, 0x45, 0x95, 0x86, 0x1b, 0xf4, 0xc2, 0xe2, 0x6d, 0xe6, 0x36, 0xcd, 0xdd, 0xb6, 0x84,
+ 0xdb, 0xb4, 0xe8, 0x36, 0x55, 0x6e, 0xdb, 0xc2, 0x6d, 0x9a, 0xbb, 0x4d, 0x33, 0xb7, 0x1d, 0xe1,
+ 0x36, 0x55, 0x6e, 0x1f, 0x41, 0x23, 0x3e, 0x9e, 0xbb, 0x6c, 0xf1, 0xcc, 0x15, 0x4e, 0xf4, 0x6b,
+ 0xdb, 0xc5, 0x77, 0x06, 0x25, 0xc4, 0xf5, 0xf8, 0x78, 0xce, 0xa6, 0xb9, 0xfe, 0x14, 0x1a, 0x6a,
+ 0xca, 0xef, 0x3e, 0x45, 0x0a, 0x5b, 0xa4, 0x5a, 0xdc, 0x22, 0xdd, 0x04, 0x1a, 0x6a, 0xcd, 0xd9,
+ 0x85, 0x34, 0xcf, 0x26, 0x03, 0x5a, 0xd6, 0xf8, 0xb9, 0x85, 0x1d, 0x6b, 0xec, 0x3a, 0x8e, 0x6d,
+ 0x54, 0x4a, 0xc8, 0xc4, 0xb1, 0xc5, 0x0d, 0xf6, 0x80, 0xe5, 0xff, 0xfe, 0xd8, 0x58, 0xca, 0x1a,
+ 0xce, 0x44, 0x94, 0x36, 0x87, 0x16, 0x53, 0x64, 0xb2, 0x5a, 0xa1, 0xe9, 0x4c, 0x0c, 0xad, 0xfb,
+ 0x00, 0x6a, 0xac, 0xd3, 0x04, 0x75, 0xcb, 0xa7, 0x66, 0xab, 0xb8, 0x98, 0xea, 0xc4, 0xfc, 0x7d,
+ 0x13, 0x34, 0x71, 0x64, 0xa2, 0xb5, 0xfc, 0x9a, 0xa1, 0x6e, 0x88, 0xec, 0xb6, 0x71, 0xbb, 0x70,
+ 0xbb, 0xcf, 0x04, 0x62, 0x03, 0xdf, 0x86, 0x65, 0x1a, 0xc7, 0x69, 0xf9, 0xf2, 0xc9, 0x21, 0xd4,
+ 0x05, 0x7d, 0xee, 0x51, 0x12, 0xa5, 0xae, 0x2c, 0x08, 0x32, 0xd3, 0x86, 0xc0, 0xf9, 0x66, 0xeb,
+ 0x48, 0x1d, 0x15, 0xbd, 0x55, 0x16, 0xbd, 0xec, 0x7a, 0x2a, 0x84, 0x07, 0x22, 0xdb, 0x36, 0xb3,
+ 0x4b, 0x54, 0xad, 0xe8, 0x4d, 0xdd, 0xa5, 0x36, 0xa0, 0x36, 0x8b, 0x7d, 0x12, 0x8a, 0x1a, 0x42,
+ 0x49, 0x05, 0x86, 0x1e, 0x81, 0x71, 0xea, 0x51, 0xff, 0xdc, 0xa3, 0xf9, 0x55, 0xa5, 0x5e, 0xd4,
+ 0x5b, 0x51, 0x62, 0x75, 0x69, 0x79, 0x04, 0xc6, 0x71, 0x40, 0x67, 0x25, 0x8b, 0x46, 0xc9, 0x42,
+ 0x89, 0x95, 0xc5, 0x43, 0xd0, 0xf8, 0x19, 0x29, 0x12, 0xa1, 0xf9, 0xb8, 0x53, 0x3a, 0x5a, 0x93,
+ 0x6c, 0xbc, 0x42, 0x89, 0xdd, 0xcc, 0x13, 0x42, 0x03, 0x2f, 0x74, 0xa3, 0xc5, 0xec, 0x88, 0x50,
+ 0x9e, 0x21, 0x99, 0xf7, 0x96, 0x90, 0x39, 0x5c, 0xc4, 0x62, 0x99, 0x3f, 0x6e, 0x99, 0xa5, 0x58,
+ 0x66, 0x6f, 0x5c, 0x77, 0xf2, 0x47, 0xac, 0x66, 0x51, 0x23, 0x7b, 0xcb, 0x42, 0xb0, 0x7c, 0x16,
+ 0x7a, 0x11, 0xcf, 0xa7, 0x36, 0xe6, 0xdf, 0xec, 0xf2, 0x33, 0xf3, 0xa6, 0xae, 0xe7, 0xfb, 0x94,
+ 0x24, 0x22, 0x9b, 0x74, 0x0c, 0x33, 0x6f, 0xda, 0x13, 0x08, 0xba, 0x07, 0xad, 0x60, 0x7e, 0xf6,
+ 0x71, 0xa6, 0xc1, 0x72, 0x4a, 0x7f, 0x7e, 0x0d, 0x37, 0x19, 0x5a, 0x56, 0xfa, 0x24, 0x53, 0x5a,
+ 0x29, 0x28, 0x7d, 0xa2, 0x94, 0xde, 0x87, 0xf6, 0x69, 0x9c, 0xa4, 0xae, 0x17, 0xf9, 0x22, 0x05,
+ 0xd7, 0x94, 0x16, 0x83, 0x7b, 0x91, 0xcf, 0xb3, 0x6c, 0x13, 0x80, 0x5c, 0xa4, 0xd4, 0x73, 0x3d,
+ 0x7a, 0x92, 0x98, 0xb7, 0xc4, 0xab, 0x0c, 0x47, 0x7a, 0xf4, 0x24, 0x41, 0x4f, 0xa1, 0x3d, 0xa7,
+ 0xf1, 0xc5, 0xeb, 0xac, 0xab, 0x1b, 0x3c, 0xd4, 0x1b, 0xe5, 0xb7, 0xab, 0xed, 0x03, 0xa6, 0x23,
+ 0x3b, 0xc6, 0xad, 0x79, 0xa1, 0x75, 0x99, 0x72, 0x8d, 0x7f, 0x81, 0x72, 0x9f, 0x96, 0x29, 0xf7,
+ 0xfa, 0xbb, 0x29, 0x57, 0xc5, 0xbf, 0xc8, 0xbc, 0x9b, 0x59, 0x05, 0x77, 0xb3, 0xb4, 0x85, 0x65,
+ 0x85, 0x66, 0x43, 0x67, 0x1a, 0x47, 0x11, 0x99, 0xa6, 0xaa, 0x0f, 0xc4, 0xfb, 0xd8, 0x50, 0x7d,
+ 0xf4, 0x85, 0xf4, 0x4d, 0xdd, 0xb4, 0xa7, 0x45, 0x19, 0xfa, 0x7f, 0xd0, 0xa6, 0x8b, 0x24, 0x8d,
+ 0x67, 0xe6, 0x53, 0x1e, 0xa1, 0xd5, 0x6d, 0xf1, 0x60, 0xbb, 0xad, 0x1e, 0x6c, 0xb7, 0x7b, 0xd1,
+ 0x6b, 0x2c, 0x75, 0xd0, 0x67, 0x00, 0xf3, 0x99, 0xbc, 0x01, 0x27, 0xe6, 0xd7, 0x15, 0x6e, 0x72,
+ 0xfd, 0xf2, 0x73, 0x4e, 0xb2, 0x5b, 0xfb, 0xeb, 0x77, 0xdf, 0x6e, 0x5e, 0xc3, 0xfa, 0x3c, 0x7b,
+ 0xb3, 0xda, 0x87, 0x15, 0x51, 0x54, 0xaa, 0x52, 0x35, 0x31, 0x7f, 0x59, 0x79, 0xc7, 0xf5, 0x65,
+ 0xb7, 0xc9, 0x5c, 0x68, 0xe2, 0xfd, 0x02, 0x77, 0x82, 0xd2, 0x0d, 0x68, 0xfd, 0xeb, 0x2a, 0xb4,
+ 0x8a, 0x6b, 0xf7, 0x6e, 0xd2, 0xbd, 0x03, 0x4d, 0x29, 0xcc, 0xe9, 0x09, 0x83, 0x9f, 0xbf, 0x11,
+ 0x6f, 0x02, 0x4c, 0x4f, 0xbd, 0x28, 0x22, 0x21, 0x33, 0x17, 0x0f, 0x45, 0xba, 0x44, 0x6c, 0x1f,
+ 0x6d, 0x81, 0xa1, 0xc4, 0xe2, 0xa9, 0x4f, 0x12, 0x55, 0x1b, 0x77, 0x24, 0xce, 0x9f, 0xbd, 0x6c,
+ 0x1f, 0xed, 0xc0, 0x0d, 0xa5, 0x99, 0x12, 0x3a, 0x0b, 0x22, 0x5e, 0x29, 0xc9, 0x8b, 0x0c, 0x92,
+ 0xa2, 0x71, 0x2e, 0x41, 0x6b, 0xa0, 0xc5, 0xd1, 0x82, 0x39, 0xd4, 0xc4, 0xcb, 0x4e, 0x1c, 0x2d,
+ 0x6c, 0x1f, 0xbd, 0x0f, 0x1d, 0x06, 0x27, 0x24, 0x61, 0x8c, 0xa1, 0x8e, 0xdf, 0x36, 0x6e, 0xc5,
+ 0xd1, 0x62, 0x24, 0x40, 0xdb, 0xdf, 0xd5, 0x59, 0x26, 0xf3, 0xf9, 0x77, 0x77, 0xa0, 0x2e, 0xb6,
+ 0x34, 0xcb, 0x9f, 0x12, 0x97, 0x77, 0xca, 0x5b, 0x5e, 0xb1, 0xf9, 0x1f, 0x96, 0x60, 0x75, 0x14,
+ 0xcc, 0x16, 0xa1, 0x97, 0x92, 0x5e, 0xe8, 0xd1, 0x19, 0x26, 0xaf, 0x16, 0x24, 0x49, 0xaf, 0x3c,
+ 0x21, 0xbd, 0x07, 0x7a, 0x10, 0xf9, 0xc1, 0xd4, 0x4b, 0x63, 0xf5, 0xea, 0x9d, 0x03, 0xec, 0x3c,
+ 0x0b, 0xa2, 0xf4, 0x58, 0x85, 0x4d, 0xc7, 0x1a, 0x6b, 0x8a, 0x19, 0x70, 0xaa, 0x66, 0x11, 0x17,
+ 0x2f, 0xa7, 0xe2, 0x7d, 0xad, 0x35, 0x97, 0xa7, 0x1c, 0x7f, 0x3c, 0xed, 0x42, 0x9b, 0xcd, 0x33,
+ 0x5f, 0x3a, 0x79, 0xe5, 0x8b, 0xa3, 0xc5, 0x40, 0xad, 0xde, 0x13, 0xb8, 0x19, 0x44, 0x8c, 0x59,
+ 0x89, 0x7b, 0x14, 0xa4, 0xe2, 0xcc, 0x76, 0x29, 0xcb, 0x49, 0x16, 0xb2, 0x1a, 0xbe, 0x21, 0xa5,
+ 0xbb, 0x41, 0xca, 0xcf, 0x6f, 0x2c, 0xae, 0x18, 0x35, 0x9f, 0x06, 0xc7, 0x29, 0x8f, 0x5b, 0x0d,
+ 0x8b, 0x06, 0x1b, 0x6d, 0x44, 0xce, 0x5d, 0xf2, 0xca, 0xe7, 0x14, 0x5d, 0xc3, 0x5a, 0x44, 0xce,
+ 0xad, 0x57, 0x3e, 0xba, 0x0f, 0xd7, 0x45, 0xbc, 0x8b, 0x3c, 0x2b, 0x9e, 0x81, 0x56, 0x78, 0xc8,
+ 0x0b, 0x1c, 0xfb, 0x1c, 0x74, 0x96, 0xa9, 0x62, 0x65, 0x81, 0xe7, 0xdd, 0x7d, 0x15, 0xe3, 0x37,
+ 0x45, 0x94, 0x27, 0x3c, 0xd7, 0xe6, 0x05, 0x5d, 0x6e, 0xdc, 0xfd, 0x00, 0xda, 0x25, 0x19, 0xd2,
+ 0xa1, 0x86, 0x7b, 0xf6, 0xc8, 0x12, 0x4f, 0xd5, 0xfd, 0x7d, 0xab, 0x87, 0x8d, 0xca, 0xee, 0x08,
+ 0x6e, 0xc4, 0xf4, 0x84, 0x57, 0x20, 0xd3, 0x98, 0xfa, 0xb2, 0xaf, 0xdd, 0xd6, 0x21, 0xff, 0x2f,
+ 0xe2, 0xf4, 0xf3, 0xed, 0x93, 0x20, 0x3d, 0x5d, 0x1c, 0x31, 0x02, 0xd8, 0x51, 0x9a, 0x3b, 0x42,
+ 0xf3, 0xa1, 0xfc, 0xa9, 0xe4, 0xec, 0xe3, 0x9d, 0x93, 0x58, 0x62, 0x47, 0x1a, 0x07, 0x9f, 0xfc,
+ 0x33, 0x00, 0x00, 0xff, 0xff, 0x07, 0x84, 0x3f, 0x04, 0xc4, 0x19, 0x00, 0x00,
}
diff --git a/vendor/github.com/opencord/voltha-protos/v4/go/voltha/voltha.pb.go b/vendor/github.com/opencord/voltha-protos/v4/go/voltha/voltha.pb.go
index e69957a..7e9a2a5 100644
--- a/vendor/github.com/opencord/voltha-protos/v4/go/voltha/voltha.pb.go
+++ b/vendor/github.com/opencord/voltha-protos/v4/go/voltha/voltha.pb.go
@@ -2135,6 +2135,174 @@
return ""
}
+type DeviceImageDownloadRequest struct {
+ // Device Id
+ // allows for operations on multiple devices.
+ DeviceId []*common.ID `protobuf:"bytes,1,rep,name=device_id,json=deviceId,proto3" json:"device_id,omitempty"`
+ //The image for the device containing all the information
+ Image *Image `protobuf:"bytes,2,opt,name=image,proto3" json:"image,omitempty"`
+ //Activate the image if the download to the device is successful
+ ActivateOnSuccess bool `protobuf:"varint,3,opt,name=activateOnSuccess,proto3" json:"activateOnSuccess,omitempty"`
+ //Automatically commit the image if the activation on the device is successful
+ CommitOnSuccess bool `protobuf:"varint,4,opt,name=commitOnSuccess,proto3" json:"commitOnSuccess,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *DeviceImageDownloadRequest) Reset() { *m = DeviceImageDownloadRequest{} }
+func (m *DeviceImageDownloadRequest) String() string { return proto.CompactTextString(m) }
+func (*DeviceImageDownloadRequest) ProtoMessage() {}
+func (*DeviceImageDownloadRequest) Descriptor() ([]byte, []int) {
+ return fileDescriptor_e084f1a60ce7016c, []int{15}
+}
+
+func (m *DeviceImageDownloadRequest) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_DeviceImageDownloadRequest.Unmarshal(m, b)
+}
+func (m *DeviceImageDownloadRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_DeviceImageDownloadRequest.Marshal(b, m, deterministic)
+}
+func (m *DeviceImageDownloadRequest) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_DeviceImageDownloadRequest.Merge(m, src)
+}
+func (m *DeviceImageDownloadRequest) XXX_Size() int {
+ return xxx_messageInfo_DeviceImageDownloadRequest.Size(m)
+}
+func (m *DeviceImageDownloadRequest) XXX_DiscardUnknown() {
+ xxx_messageInfo_DeviceImageDownloadRequest.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_DeviceImageDownloadRequest proto.InternalMessageInfo
+
+func (m *DeviceImageDownloadRequest) GetDeviceId() []*common.ID {
+ if m != nil {
+ return m.DeviceId
+ }
+ return nil
+}
+
+func (m *DeviceImageDownloadRequest) GetImage() *Image {
+ if m != nil {
+ return m.Image
+ }
+ return nil
+}
+
+func (m *DeviceImageDownloadRequest) GetActivateOnSuccess() bool {
+ if m != nil {
+ return m.ActivateOnSuccess
+ }
+ return false
+}
+
+func (m *DeviceImageDownloadRequest) GetCommitOnSuccess() bool {
+ if m != nil {
+ return m.CommitOnSuccess
+ }
+ return false
+}
+
+type DeviceImageRequest struct {
+ //Device Id
+ //allows for operations on multiple adapters.
+ DeviceId []*common.ID `protobuf:"bytes,1,rep,name=device_id,json=deviceId,proto3" json:"device_id,omitempty"`
+ // Image Version, this is the sole identifier of the image. it's the vendor specified OMCI version
+ // must be known at the time of initiating a download, activate, commit image on an onu.
+ Version string `protobuf:"bytes,2,opt,name=version,proto3" json:"version,omitempty"`
+ //Automatically commit the image if the activation on the device is successful
+ CommitOnSuccess bool `protobuf:"varint,3,opt,name=commitOnSuccess,proto3" json:"commitOnSuccess,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *DeviceImageRequest) Reset() { *m = DeviceImageRequest{} }
+func (m *DeviceImageRequest) String() string { return proto.CompactTextString(m) }
+func (*DeviceImageRequest) ProtoMessage() {}
+func (*DeviceImageRequest) Descriptor() ([]byte, []int) {
+ return fileDescriptor_e084f1a60ce7016c, []int{16}
+}
+
+func (m *DeviceImageRequest) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_DeviceImageRequest.Unmarshal(m, b)
+}
+func (m *DeviceImageRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_DeviceImageRequest.Marshal(b, m, deterministic)
+}
+func (m *DeviceImageRequest) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_DeviceImageRequest.Merge(m, src)
+}
+func (m *DeviceImageRequest) XXX_Size() int {
+ return xxx_messageInfo_DeviceImageRequest.Size(m)
+}
+func (m *DeviceImageRequest) XXX_DiscardUnknown() {
+ xxx_messageInfo_DeviceImageRequest.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_DeviceImageRequest proto.InternalMessageInfo
+
+func (m *DeviceImageRequest) GetDeviceId() []*common.ID {
+ if m != nil {
+ return m.DeviceId
+ }
+ return nil
+}
+
+func (m *DeviceImageRequest) GetVersion() string {
+ if m != nil {
+ return m.Version
+ }
+ return ""
+}
+
+func (m *DeviceImageRequest) GetCommitOnSuccess() bool {
+ if m != nil {
+ return m.CommitOnSuccess
+ }
+ return false
+}
+
+type DeviceImageResponse struct {
+ //Image state for the different devices
+ DeviceImageStates []*DeviceImageState `protobuf:"bytes,1,rep,name=device_image_states,json=deviceImageStates,proto3" json:"device_image_states,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *DeviceImageResponse) Reset() { *m = DeviceImageResponse{} }
+func (m *DeviceImageResponse) String() string { return proto.CompactTextString(m) }
+func (*DeviceImageResponse) ProtoMessage() {}
+func (*DeviceImageResponse) Descriptor() ([]byte, []int) {
+ return fileDescriptor_e084f1a60ce7016c, []int{17}
+}
+
+func (m *DeviceImageResponse) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_DeviceImageResponse.Unmarshal(m, b)
+}
+func (m *DeviceImageResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_DeviceImageResponse.Marshal(b, m, deterministic)
+}
+func (m *DeviceImageResponse) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_DeviceImageResponse.Merge(m, src)
+}
+func (m *DeviceImageResponse) XXX_Size() int {
+ return xxx_messageInfo_DeviceImageResponse.Size(m)
+}
+func (m *DeviceImageResponse) XXX_DiscardUnknown() {
+ xxx_messageInfo_DeviceImageResponse.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_DeviceImageResponse proto.InternalMessageInfo
+
+func (m *DeviceImageResponse) GetDeviceImageStates() []*DeviceImageState {
+ if m != nil {
+ return m.DeviceImageStates
+ }
+ return nil
+}
+
// Additional information required to process flow at device adapters
type FlowMetadata struct {
// Meters associated with flow-update to adapter
@@ -2148,7 +2316,7 @@
func (m *FlowMetadata) String() string { return proto.CompactTextString(m) }
func (*FlowMetadata) ProtoMessage() {}
func (*FlowMetadata) Descriptor() ([]byte, []int) {
- return fileDescriptor_e084f1a60ce7016c, []int{15}
+ return fileDescriptor_e084f1a60ce7016c, []int{18}
}
func (m *FlowMetadata) XXX_Unmarshal(b []byte) error {
@@ -2195,177 +2363,198 @@
proto.RegisterType((*SelfTestResponse)(nil), "voltha.SelfTestResponse")
proto.RegisterType((*OfAgentSubscriber)(nil), "voltha.OfAgentSubscriber")
proto.RegisterType((*Membership)(nil), "voltha.Membership")
+ proto.RegisterType((*DeviceImageDownloadRequest)(nil), "voltha.DeviceImageDownloadRequest")
+ proto.RegisterType((*DeviceImageRequest)(nil), "voltha.DeviceImageRequest")
+ proto.RegisterType((*DeviceImageResponse)(nil), "voltha.DeviceImageResponse")
proto.RegisterType((*FlowMetadata)(nil), "voltha.FlowMetadata")
}
func init() { proto.RegisterFile("voltha_protos/voltha.proto", fileDescriptor_e084f1a60ce7016c) }
var fileDescriptor_e084f1a60ce7016c = []byte{
- // 2613 bytes of a gzipped FileDescriptorProto
- 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x5a, 0x5b, 0x6f, 0x1b, 0xc7,
- 0xf5, 0x17, 0x75, 0xd7, 0x21, 0x25, 0x91, 0x43, 0x5d, 0x68, 0x4a, 0xb2, 0xad, 0xc9, 0x4d, 0x51,
- 0x62, 0xd2, 0xb1, 0x9c, 0x20, 0xff, 0xf8, 0x1f, 0x34, 0xba, 0x59, 0x61, 0x6d, 0x99, 0xec, 0x52,
- 0xb2, 0xd3, 0x36, 0x06, 0xb1, 0xe4, 0x0e, 0xa9, 0x85, 0x97, 0x5c, 0x76, 0x77, 0x28, 0x5b, 0x30,
- 0x82, 0x02, 0xe9, 0x25, 0x7d, 0xcf, 0x7b, 0x9f, 0x5a, 0x14, 0xe8, 0x77, 0xc9, 0x43, 0xd1, 0xa7,
- 0xbe, 0x16, 0x7d, 0xe8, 0x27, 0xc8, 0x73, 0x31, 0x67, 0x66, 0xc9, 0x5d, 0xee, 0xae, 0x24, 0xa6,
- 0x01, 0xfa, 0x24, 0xed, 0x39, 0x67, 0x7e, 0xe7, 0x36, 0x73, 0xe6, 0xec, 0x59, 0x42, 0xfe, 0xdc,
- 0xb6, 0xf8, 0x99, 0x5e, 0xeb, 0x3a, 0x36, 0xb7, 0xdd, 0xa2, 0x7c, 0x2a, 0xe0, 0x13, 0x99, 0x96,
- 0x4f, 0xf9, 0xf5, 0x96, 0x6d, 0xb7, 0x2c, 0x56, 0xd4, 0xbb, 0x66, 0x51, 0xef, 0x74, 0x6c, 0xae,
- 0x73, 0xd3, 0xee, 0xb8, 0x52, 0x2a, 0xbf, 0xa6, 0xb8, 0xf8, 0x54, 0xef, 0x35, 0x8b, 0xac, 0xdd,
- 0xe5, 0x17, 0x8a, 0x99, 0x0b, 0xc2, 0xb7, 0x19, 0x57, 0xe0, 0xf9, 0x21, 0xc5, 0x0d, 0xbb, 0xdd,
- 0xb6, 0x3b, 0xd1, 0xbc, 0x33, 0xa6, 0x5b, 0xfc, 0x4c, 0xf1, 0x68, 0x90, 0x67, 0xd9, 0x2d, 0xb3,
- 0xa1, 0x5b, 0x35, 0x83, 0x9d, 0x9b, 0x0d, 0x16, 0xbd, 0x3e, 0xc0, 0x5b, 0x0b, 0xf2, 0x74, 0x43,
- 0xef, 0x72, 0xe6, 0x28, 0xe6, 0xad, 0x20, 0xd3, 0xee, 0xb2, 0x4e, 0xd3, 0xb2, 0x5f, 0xd6, 0x3e,
- 0xd8, 0x89, 0x11, 0x68, 0x37, 0xcc, 0x5a, 0xdb, 0xac, 0xd7, 0x8c, 0xba, 0x12, 0xd8, 0x8c, 0x10,
- 0xd0, 0x2d, 0xdd, 0x69, 0x0f, 0x44, 0x6e, 0x06, 0x45, 0xd8, 0x2b, 0x5e, 0x6b, 0xd8, 0x9d, 0xa6,
- 0xd9, 0x92, 0x7c, 0xfa, 0xa7, 0x04, 0x24, 0x0f, 0xd0, 0xe4, 0x23, 0xc7, 0xee, 0x75, 0xc9, 0x32,
- 0x8c, 0x9b, 0x46, 0x2e, 0x71, 0x3b, 0xb1, 0x35, 0xb7, 0x37, 0xf5, 0xef, 0xef, 0xbf, 0xdb, 0x48,
- 0x68, 0xe3, 0xa6, 0x41, 0x4a, 0xb0, 0x18, 0x74, 0xde, 0xcd, 0x8d, 0xdf, 0x9e, 0xd8, 0x4a, 0xde,
- 0x5b, 0x2e, 0xa8, 0x2c, 0x3e, 0x96, 0x6c, 0x89, 0xb5, 0x37, 0xf7, 0xcf, 0xef, 0xbf, 0xdb, 0x98,
- 0x14, 0x58, 0xda, 0x82, 0xe5, 0xe7, 0xb8, 0x64, 0x07, 0x66, 0x3c, 0x88, 0x09, 0x84, 0x58, 0xf0,
- 0x20, 0xc2, 0x6b, 0x3d, 0x49, 0xfa, 0x7f, 0x90, 0xf2, 0x59, 0xe9, 0x92, 0x77, 0x61, 0xca, 0xe4,
- 0xac, 0xed, 0xe6, 0x12, 0x08, 0x91, 0x0d, 0x42, 0xa0, 0x90, 0x26, 0x25, 0xe8, 0x1f, 0x13, 0x40,
- 0x0e, 0xcf, 0x59, 0x87, 0x3f, 0x34, 0x2d, 0xce, 0x1c, 0xad, 0x67, 0xb1, 0x47, 0xec, 0x82, 0x7e,
- 0x93, 0x80, 0xec, 0x10, 0xf9, 0xe4, 0xa2, 0xcb, 0xc8, 0x02, 0x40, 0x13, 0x29, 0x35, 0xdd, 0xb2,
- 0xd2, 0x63, 0x24, 0x05, 0xb3, 0x0d, 0x9d, 0xb3, 0x96, 0xed, 0x5c, 0xa4, 0x13, 0x24, 0x0d, 0x29,
- 0xb7, 0x57, 0xaf, 0xf5, 0x29, 0xe3, 0x84, 0xc0, 0xc2, 0x8b, 0xae, 0x59, 0x63, 0x02, 0xaa, 0xc6,
- 0x2f, 0xba, 0x2c, 0x3d, 0x41, 0x96, 0x21, 0x23, 0x83, 0xec, 0x27, 0x4f, 0x0a, 0xb2, 0xf4, 0xc7,
- 0x4f, 0x9e, 0xa2, 0x26, 0x2c, 0x0e, 0x19, 0x42, 0x3e, 0x83, 0x89, 0x17, 0xec, 0x02, 0xd3, 0xb0,
- 0x70, 0xaf, 0xe0, 0x39, 0x17, 0xf6, 0xa2, 0x10, 0xe1, 0x81, 0x26, 0x96, 0x92, 0x25, 0x98, 0x3a,
- 0xd7, 0xad, 0x1e, 0xcb, 0x8d, 0x8b, 0x54, 0x6a, 0xf2, 0x81, 0xfe, 0x25, 0x01, 0x49, 0xdf, 0x92,
- 0xb8, 0x6c, 0xaf, 0xc0, 0x34, 0xeb, 0xe8, 0x75, 0x4b, 0xae, 0x9e, 0xd5, 0xd4, 0x13, 0x59, 0x83,
- 0x39, 0xe5, 0x80, 0x69, 0xe4, 0x26, 0x10, 0x78, 0x56, 0x12, 0x4a, 0x06, 0xd9, 0x00, 0x18, 0xb8,
- 0x95, 0x9b, 0x44, 0xee, 0x1c, 0x52, 0x30, 0xae, 0x77, 0x60, 0xca, 0xe9, 0x59, 0xcc, 0xcd, 0x4d,
- 0x61, 0xc6, 0x56, 0x63, 0x9c, 0xd2, 0xa4, 0x14, 0xfd, 0x14, 0x52, 0x3e, 0x8e, 0x4b, 0xee, 0xc0,
- 0x8c, 0x4c, 0x4b, 0x28, 0xe5, 0x7e, 0x00, 0x4f, 0x86, 0xbe, 0x80, 0xd4, 0xbe, 0xed, 0xb0, 0x52,
- 0xc7, 0xe5, 0x7a, 0xa7, 0xc1, 0xc8, 0xdb, 0x90, 0x34, 0xd5, 0xff, 0xb5, 0x61, 0x8f, 0xc1, 0xe3,
- 0x94, 0x0c, 0xb2, 0x03, 0xd3, 0xb2, 0x00, 0xa0, 0xe7, 0xc9, 0x7b, 0x4b, 0x9e, 0x96, 0xcf, 0x91,
- 0x5a, 0xe5, 0x3a, 0xef, 0xb9, 0x7b, 0x53, 0x62, 0x87, 0x8e, 0x69, 0x4a, 0x94, 0x3e, 0x80, 0x79,
- 0xbf, 0x32, 0x97, 0x6c, 0x07, 0x77, 0x67, 0x1f, 0xc4, 0x2f, 0xe5, 0x6d, 0xcf, 0x0f, 0x61, 0xb1,
- 0xdc, 0x6e, 0x98, 0x27, 0xcc, 0xe5, 0x1a, 0xfb, 0x55, 0x8f, 0xb9, 0x9c, 0x2c, 0x0c, 0xb2, 0x82,
- 0xe9, 0x20, 0x30, 0xd9, 0xeb, 0x99, 0x86, 0x4a, 0x25, 0xfe, 0x4f, 0x7f, 0x0d, 0x29, 0xb9, 0xc4,
- 0xed, 0xda, 0x1d, 0x97, 0x91, 0x9f, 0xc0, 0xb4, 0xc3, 0xdc, 0x9e, 0xc5, 0xd5, 0xa6, 0x79, 0xc7,
- 0xd3, 0xe9, 0x97, 0x0a, 0x3c, 0x68, 0x28, 0xae, 0xa9, 0x65, 0xb4, 0x00, 0x24, 0xcc, 0x25, 0x49,
- 0x98, 0xa9, 0x9e, 0xee, 0xef, 0x1f, 0x56, 0xab, 0xe9, 0x31, 0xf1, 0xf0, 0x70, 0xb7, 0xf4, 0xf8,
- 0x54, 0x3b, 0x4c, 0x27, 0xe8, 0x73, 0x98, 0x7d, 0x2a, 0xf6, 0x54, 0x95, 0x85, 0x0d, 0xfe, 0x18,
- 0x52, 0xb2, 0x0c, 0xc9, 0x53, 0xa0, 0x62, 0x99, 0x2d, 0xa8, 0xca, 0xb3, 0x2b, 0x78, 0xfb, 0xf8,
- 0xff, 0xe7, 0x63, 0x5a, 0x52, 0x1f, 0x3c, 0xee, 0xcd, 0xa8, 0x6d, 0x4b, 0xff, 0x31, 0x09, 0xd3,
- 0x4f, 0xd1, 0x03, 0x72, 0x0b, 0x66, 0xce, 0x99, 0xe3, 0x9a, 0x76, 0x27, 0x98, 0x37, 0x8f, 0x4a,
- 0x3e, 0x82, 0x59, 0x55, 0x59, 0xbd, 0xaa, 0xb4, 0xe8, 0x79, 0xbf, 0x2b, 0xe9, 0xfe, 0x9a, 0xd2,
- 0x97, 0x8d, 0x2a, 0x6a, 0x13, 0xff, 0x7d, 0x51, 0x9b, 0xbc, 0x6e, 0x51, 0x23, 0x9f, 0x41, 0x4a,
- 0x1d, 0x27, 0x71, 0x64, 0xbc, 0x93, 0x41, 0x82, 0x2b, 0xc5, 0xe1, 0xf1, 0xaf, 0x4e, 0x1a, 0x7d,
- 0xb2, 0x4b, 0xf6, 0x61, 0x5e, 0x21, 0xb4, 0xb0, 0x2e, 0xe6, 0xa6, 0x63, 0xcb, 0xa1, 0x1f, 0x43,
- 0xa9, 0x55, 0xb5, 0x74, 0x1f, 0xe6, 0xe5, 0xc1, 0xf5, 0x0e, 0xd8, 0x4c, 0xec, 0x01, 0x0b, 0x80,
- 0x30, 0xff, 0xf9, 0xfc, 0x19, 0x64, 0x06, 0xf7, 0x93, 0xce, 0xf5, 0xba, 0xee, 0xb2, 0xdc, 0xba,
- 0x02, 0x12, 0x9c, 0xc2, 0xb1, 0x59, 0x97, 0xe6, 0x1c, 0xe8, 0x5c, 0xdf, 0x4b, 0x0b, 0xa0, 0xa4,
- 0xaf, 0x9e, 0x68, 0x8b, 0x42, 0x4a, 0x08, 0xa9, 0xd5, 0xe4, 0x19, 0x64, 0xfd, 0x37, 0x9a, 0x07,
- 0xba, 0xa1, 0x52, 0x84, 0xa0, 0xb8, 0x95, 0x2e, 0x85, 0x45, 0xb3, 0xa4, 0x98, 0x42, 0xa0, 0x7f,
- 0x4e, 0x40, 0xba, 0xca, 0xac, 0xe6, 0xf5, 0x0e, 0xd0, 0xb0, 0xa4, 0x9f, 0xe0, 0x3f, 0x40, 0x15,
- 0x58, 0x08, 0x72, 0xe2, 0x0f, 0x0f, 0xc9, 0xc0, 0xfc, 0x93, 0xf2, 0x49, 0xad, 0x7a, 0x5a, 0xa9,
- 0x94, 0xb5, 0x93, 0xc3, 0x83, 0xf4, 0xb8, 0x20, 0x9d, 0x3e, 0x79, 0xf4, 0xa4, 0xfc, 0xec, 0x49,
- 0xed, 0x50, 0xd3, 0xca, 0x5a, 0x7a, 0x82, 0x96, 0x21, 0x53, 0x6e, 0xee, 0xb6, 0x58, 0x87, 0x57,
- 0x7b, 0x75, 0xb7, 0xe1, 0x98, 0x75, 0xe6, 0x88, 0x32, 0x6b, 0x37, 0x75, 0x41, 0xec, 0x17, 0x32,
- 0x6d, 0x4e, 0x51, 0x4a, 0x86, 0x28, 0xd1, 0xea, 0xc6, 0xef, 0x17, 0x8c, 0x59, 0x49, 0x28, 0x19,
- 0xf4, 0x01, 0xc0, 0x31, 0x6b, 0xd7, 0x99, 0xe3, 0x9e, 0x99, 0x5d, 0x81, 0x84, 0xbb, 0xa6, 0xd6,
- 0xd1, 0xdb, 0xcc, 0x43, 0x42, 0xca, 0x13, 0xbd, 0xcd, 0xd4, 0xa1, 0x1e, 0xf7, 0x0e, 0x35, 0x3d,
- 0x84, 0xd4, 0x43, 0xcb, 0x7e, 0x79, 0xcc, 0xb8, 0x2e, 0x72, 0x41, 0x3e, 0x84, 0xe9, 0x36, 0xf3,
- 0x15, 0xe4, 0x8d, 0x82, 0xbf, 0x83, 0xb1, 0x9b, 0xdd, 0x1a, 0xb2, 0x55, 0x0d, 0xd0, 0x94, 0xf0,
- 0xbd, 0xbf, 0xdd, 0x85, 0x79, 0x79, 0xb0, 0xab, 0xcc, 0x11, 0x49, 0x22, 0xcf, 0x60, 0xfe, 0x88,
- 0x71, 0x9f, 0x61, 0x2b, 0x05, 0xd9, 0xe5, 0x15, 0xbc, 0x2e, 0xaf, 0x70, 0x28, 0xba, 0xbc, 0x7c,
- 0xff, 0x64, 0x0c, 0x64, 0x69, 0xfe, 0xeb, 0xbf, 0xff, 0xeb, 0xdb, 0xf1, 0x25, 0x42, 0xb0, 0x61,
- 0x3c, 0xff, 0xa0, 0xd8, 0x1e, 0xe0, 0x3c, 0x87, 0xf4, 0x69, 0xd7, 0xd0, 0x39, 0xf3, 0x61, 0x47,
- 0x60, 0xe4, 0x63, 0xf4, 0xd1, 0x0d, 0xc4, 0x5e, 0xa5, 0x11, 0xd8, 0x9f, 0x24, 0xb6, 0xc9, 0x01,
- 0xcc, 0x1d, 0x31, 0xae, 0x8a, 0x54, 0x9c, 0xcd, 0xfd, 0x3a, 0x20, 0xe5, 0xe8, 0x22, 0x62, 0xce,
- 0x91, 0x19, 0x85, 0x49, 0x9e, 0x43, 0xe6, 0xb1, 0xe9, 0xf2, 0xe0, 0x05, 0x12, 0x87, 0xb6, 0x1c,
- 0x75, 0x93, 0xb8, 0xf4, 0x06, 0x82, 0x66, 0x49, 0xc6, 0x33, 0xd4, 0xec, 0x23, 0x55, 0x61, 0xf1,
- 0x88, 0x05, 0xd0, 0x09, 0x14, 0x54, 0xff, 0x5b, 0x3a, 0xc8, 0x47, 0x5e, 0x4d, 0xf4, 0x26, 0xe2,
- 0xe5, 0xc8, 0x4a, 0x08, 0xaf, 0xf8, 0xda, 0x34, 0xbe, 0x22, 0x1a, 0xa4, 0x84, 0xcd, 0xbb, 0x5e,
- 0x21, 0x8d, 0x33, 0x37, 0x3d, 0x54, 0x86, 0x5d, 0x9a, 0x43, 0x64, 0x42, 0xd2, 0x1e, 0x72, 0xbf,
- 0x18, 0x33, 0x20, 0x02, 0xf3, 0x71, 0xb0, 0xae, 0xc6, 0x21, 0xaf, 0x44, 0x56, 0x68, 0x97, 0xde,
- 0x42, 0xfc, 0x1b, 0x64, 0xd5, 0xc3, 0x1f, 0x2a, 0xf0, 0xe4, 0x97, 0x90, 0x3e, 0x62, 0x41, 0x2d,
- 0x81, 0x80, 0x44, 0x97, 0x7e, 0xfa, 0x26, 0xe2, 0xde, 0x24, 0xeb, 0x31, 0xb8, 0x32, 0x2e, 0x4d,
- 0x58, 0x09, 0xf9, 0x50, 0xb1, 0x1d, 0xee, 0x46, 0xc7, 0x5c, 0xc9, 0xa1, 0x04, 0xdd, 0x46, 0x0d,
- 0x6f, 0x12, 0x7a, 0x99, 0x86, 0x62, 0x17, 0xd1, 0x5e, 0xc1, 0xd2, 0xb0, 0x13, 0x02, 0x84, 0x2c,
- 0x47, 0x20, 0x97, 0x8c, 0x7c, 0x36, 0x82, 0x4c, 0xef, 0xa3, 0xbe, 0x02, 0x79, 0xff, 0x6a, 0x7d,
- 0xc5, 0xd7, 0xe2, 0x4f, 0x4d, 0x78, 0xf8, 0xbb, 0x04, 0xac, 0x1e, 0x62, 0x33, 0x78, 0x6d, 0xed,
- 0x71, 0xa7, 0xeb, 0x01, 0x1a, 0xf0, 0x21, 0xdd, 0x19, 0xc5, 0x80, 0xa2, 0xea, 0x44, 0xbf, 0x49,
- 0x40, 0xee, 0xc0, 0x74, 0x7f, 0x14, 0x43, 0xfe, 0x1f, 0x0d, 0xf9, 0x88, 0xde, 0x1f, 0xc9, 0x10,
- 0x43, 0x6a, 0x27, 0x46, 0x44, 0xce, 0x45, 0x9d, 0x0c, 0xe6, 0x9c, 0x04, 0x8a, 0x23, 0xf2, 0xaf,
- 0x99, 0xf1, 0x26, 0x62, 0xfd, 0x26, 0x01, 0xeb, 0xb2, 0x96, 0x85, 0x14, 0x9d, 0xa0, 0x19, 0xeb,
- 0x21, 0x05, 0x48, 0x97, 0x6b, 0x62, 0x5d, 0xbf, 0x83, 0x26, 0xbc, 0x43, 0xaf, 0x61, 0x82, 0xa8,
- 0x78, 0xbf, 0x4d, 0xc0, 0x46, 0x84, 0x15, 0xc7, 0xa2, 0xb2, 0x4b, 0x33, 0xd6, 0x02, 0x66, 0x20,
- 0xe3, 0xd8, 0x36, 0xae, 0xb0, 0xa2, 0x80, 0x56, 0x6c, 0xd1, 0x37, 0x2e, 0xb5, 0x42, 0xde, 0x1f,
- 0xc2, 0x8c, 0x16, 0xac, 0x86, 0x42, 0x8e, 0xaa, 0x82, 0x31, 0xcf, 0x86, 0x6d, 0x71, 0xe9, 0x7b,
- 0xa8, 0xeb, 0x2d, 0x72, 0x1d, 0x5d, 0x84, 0xc3, 0x5a, 0x64, 0x6e, 0x55, 0xe3, 0xe4, 0x57, 0xb6,
- 0x1a, 0x8a, 0xbf, 0x14, 0xa2, 0x77, 0x51, 0xe1, 0x36, 0xd9, 0xba, 0x32, 0xc4, 0xaa, 0x87, 0x23,
- 0xdf, 0x26, 0x60, 0x33, 0x26, 0xd7, 0x88, 0x29, 0x23, 0xbd, 0x19, 0xad, 0xf0, 0x3a, 0x59, 0xdf,
- 0x41, 0x93, 0xee, 0xd0, 0x6b, 0x9b, 0x24, 0x82, 0x5e, 0x86, 0xa4, 0x88, 0xc5, 0x55, 0x85, 0x79,
- 0x31, 0xd8, 0x7a, 0xba, 0x74, 0x15, 0x95, 0x65, 0xc8, 0xa2, 0xa7, 0xcc, 0xab, 0xc4, 0x65, 0x98,
- 0x1f, 0x00, 0x96, 0x8c, 0x78, 0xc8, 0xe4, 0x20, 0xcc, 0x11, 0x57, 0x9d, 0x84, 0x33, 0x0d, 0x97,
- 0x9c, 0x42, 0x5a, 0x63, 0x0d, 0xbb, 0xd3, 0x30, 0x2d, 0xe6, 0x99, 0xe9, 0x5f, 0x1b, 0x1b, 0x8f,
- 0x75, 0xc4, 0x5c, 0xa1, 0x61, 0x4c, 0xe1, 0xf8, 0x21, 0x5e, 0xf3, 0x11, 0x57, 0xc5, 0x50, 0x8b,
- 0xef, 0xc1, 0x90, 0xa5, 0x21, 0x4f, 0xe5, 0xdd, 0xf0, 0x53, 0x48, 0xed, 0x3b, 0x4c, 0xe7, 0xca,
- 0x34, 0x32, 0xb4, 0x3a, 0x84, 0xa6, 0x1a, 0x1b, 0x3a, 0x1c, 0x37, 0x61, 0xd2, 0x33, 0x48, 0xc9,
- 0x22, 0x1c, 0x61, 0x55, 0x9c, 0x93, 0x6f, 0x20, 0xde, 0x06, 0x5d, 0x8b, 0xb2, 0xce, 0x2b, 0xab,
- 0x3f, 0x87, 0x79, 0x55, 0x55, 0x47, 0x40, 0x56, 0x77, 0x23, 0x5d, 0x8f, 0x44, 0xf6, 0xea, 0xe4,
- 0x33, 0x48, 0x69, 0xac, 0x6e, 0xdb, 0xfc, 0x47, 0xb3, 0xd9, 0x41, 0x38, 0x01, 0x7c, 0xc0, 0x2c,
- 0xc6, 0x7f, 0x40, 0x30, 0xb6, 0xa3, 0x81, 0x0d, 0x84, 0x23, 0x75, 0xc8, 0x3c, 0xb4, 0x9d, 0x06,
- 0x1b, 0x19, 0xfd, 0x5d, 0x44, 0x7f, 0x63, 0x7b, 0x33, 0x12, 0xbd, 0x29, 0x30, 0x6b, 0x4a, 0x47,
- 0x0f, 0xe6, 0x0f, 0xec, 0x97, 0x1d, 0xcb, 0xd6, 0x8d, 0x52, 0x5b, 0x6f, 0xb1, 0xc1, 0xdd, 0x85,
- 0x8f, 0x1e, 0x2f, 0xbf, 0xec, 0xa9, 0x2d, 0x77, 0x99, 0x83, 0x13, 0x51, 0xf1, 0x3a, 0x42, 0x3f,
- 0x42, 0x4d, 0x77, 0xe9, 0x7b, 0x91, 0x9a, 0x4c, 0x01, 0x51, 0x33, 0x14, 0x86, 0x5b, 0x7c, 0x2d,
- 0x1a, 0xfd, 0xaf, 0xc4, 0x06, 0xfa, 0x3a, 0x01, 0x2b, 0x47, 0x8c, 0x07, 0x74, 0xc8, 0xd9, 0x46,
- 0xbc, 0x01, 0x51, 0x64, 0xfa, 0x09, 0x1a, 0x70, 0x9f, 0xdc, 0x1b, 0xc1, 0x80, 0xa2, 0x2b, 0x35,
- 0xf5, 0xb0, 0x15, 0x0b, 0xe0, 0x8d, 0xa8, 0x5d, 0x15, 0x32, 0x32, 0x8a, 0xfb, 0xa4, 0x29, 0x1b,
- 0xcd, 0x00, 0x92, 0x3b, 0x94, 0xd7, 0x28, 0x6d, 0x2e, 0x7d, 0x1f, 0xd5, 0xbd, 0x4d, 0xde, 0xbc,
- 0x8e, 0x3a, 0xf2, 0x0a, 0xb2, 0xfb, 0xa2, 0x67, 0xb6, 0xae, 0xe9, 0x61, 0x64, 0x82, 0x95, 0x87,
- 0xdb, 0x23, 0x79, 0xf8, 0x87, 0x04, 0x64, 0x77, 0x1b, 0xdc, 0x3c, 0xd7, 0x39, 0x43, 0x2d, 0xf2,
- 0x3e, 0x18, 0x51, 0xf5, 0x3e, 0xaa, 0xfe, 0x94, 0x7e, 0x3c, 0x4a, 0x6a, 0x25, 0xb9, 0x87, 0xfa,
- 0xc4, 0x46, 0xfb, 0x7d, 0x02, 0x32, 0x1a, 0x3b, 0x67, 0x0e, 0xff, 0x9f, 0x18, 0xe2, 0xa0, 0x6a,
- 0x61, 0x48, 0x05, 0x16, 0x07, 0xb7, 0x4d, 0xb8, 0x27, 0x9f, 0xf7, 0x2c, 0x92, 0xcd, 0x38, 0x45,
- 0x95, 0xeb, 0x24, 0x1f, 0xa9, 0x52, 0x36, 0xe1, 0xcf, 0x21, 0xeb, 0x43, 0x54, 0x03, 0xac, 0x20,
- 0x6a, 0xa6, 0x8f, 0xea, 0xb1, 0xe9, 0x3b, 0x88, 0xbc, 0x49, 0x6e, 0x45, 0x23, 0x7b, 0x23, 0x33,
- 0x97, 0x74, 0x60, 0x59, 0x46, 0x6b, 0x58, 0x41, 0x18, 0x34, 0xb6, 0x10, 0xa9, 0x0e, 0x93, 0x5e,
- 0xa5, 0x4c, 0x04, 0xe8, 0xd4, 0x1f, 0xa0, 0xeb, 0x35, 0xb0, 0x97, 0x47, 0x49, 0x36, 0xae, 0x0c,
- 0x96, 0x82, 0xb0, 0xa3, 0xf4, 0x4e, 0x5b, 0xa8, 0x80, 0x92, 0xdb, 0xb1, 0x0a, 0xbc, 0x9e, 0xe9,
- 0x4b, 0xbf, 0xf5, 0x72, 0x36, 0x16, 0xd7, 0x4e, 0x64, 0xc3, 0xf3, 0x35, 0x37, 0xee, 0xee, 0x96,
- 0x83, 0x39, 0xa2, 0xe1, 0x84, 0x62, 0x20, 0x3f, 0x14, 0x99, 0x10, 0x1e, 0xdd, 0x44, 0xb8, 0x35,
- 0x72, 0x23, 0x0a, 0x4e, 0xf6, 0x03, 0x35, 0x48, 0x0f, 0x2c, 0x56, 0x41, 0x89, 0x33, 0x79, 0x29,
- 0x62, 0x9e, 0xe7, 0x7a, 0xe3, 0x09, 0xb2, 0x3c, 0xa4, 0x44, 0x85, 0xe4, 0x21, 0xa4, 0xab, 0xdc,
- 0x61, 0x7a, 0xbb, 0xa2, 0x37, 0x5e, 0x30, 0xee, 0x96, 0x7b, 0x9c, 0xac, 0x04, 0x22, 0x2d, 0x19,
- 0xe5, 0x1e, 0x8f, 0xdd, 0x40, 0x63, 0x5b, 0x09, 0x72, 0x88, 0x6d, 0x15, 0x33, 0xcf, 0x99, 0x02,
- 0x2a, 0x75, 0x2e, 0x99, 0x4f, 0x84, 0xf1, 0x4b, 0x1d, 0x3a, 0x76, 0x37, 0x41, 0x1e, 0x41, 0x56,
- 0xc1, 0xec, 0x9f, 0xe9, 0x9d, 0x16, 0xc3, 0xa9, 0x62, 0xbc, 0xcb, 0xb9, 0x00, 0x92, 0x6f, 0x09,
- 0x82, 0x9d, 0xc2, 0x42, 0x3f, 0x21, 0xf2, 0xbb, 0x55, 0xb0, 0xf1, 0x0f, 0x87, 0x2b, 0x6e, 0xb3,
- 0xaa, 0x68, 0x79, 0x39, 0xc9, 0xc8, 0x1e, 0xcd, 0xff, 0x8d, 0x24, 0x6a, 0x0e, 0x9a, 0x8f, 0x22,
- 0xd2, 0xdb, 0xa8, 0x22, 0x4f, 0xfb, 0x09, 0x09, 0x8c, 0x55, 0xc5, 0x21, 0x7b, 0x8a, 0x76, 0xfb,
- 0xd1, 0x23, 0x07, 0x03, 0xfe, 0x2f, 0x1f, 0x61, 0xc3, 0x03, 0xa8, 0xd2, 0x70, 0x03, 0x32, 0xb2,
- 0x58, 0xfc, 0x30, 0xc3, 0xdf, 0x42, 0x15, 0xb7, 0xf2, 0x97, 0xa8, 0x10, 0xd6, 0x1b, 0x90, 0x91,
- 0xbd, 0xd0, 0x95, 0x5a, 0xe2, 0xf6, 0x93, 0xf2, 0x65, 0xfb, 0x32, 0x5f, 0xd4, 0xc1, 0x08, 0x7c,
- 0xfd, 0xb9, 0xf2, 0x60, 0x04, 0x22, 0x16, 0x3a, 0x18, 0x01, 0x2d, 0xe4, 0x31, 0x36, 0xf4, 0x78,
- 0xf5, 0xb8, 0xd1, 0x0d, 0xbd, 0xe4, 0x79, 0x5d, 0x22, 0x59, 0x8b, 0xbf, 0x78, 0x5c, 0xf2, 0x05,
- 0xcc, 0x7a, 0x63, 0xdf, 0x00, 0x58, 0x2e, 0x6e, 0x7e, 0x4c, 0xdf, 0x46, 0xd8, 0xdb, 0xf4, 0x66,
- 0x24, 0xac, 0xcb, 0xac, 0x66, 0x8d, 0x0b, 0xb4, 0xa7, 0xd8, 0x1f, 0x05, 0xc6, 0xe6, 0xc3, 0xef,
- 0xb7, 0xa1, 0xb9, 0x7a, 0xb8, 0xf2, 0x88, 0x63, 0x24, 0xe4, 0xd4, 0x8b, 0xad, 0x59, 0x27, 0x5f,
- 0x02, 0x39, 0x62, 0x7c, 0x68, 0x72, 0x3e, 0x34, 0x04, 0x8b, 0x1a, 0xae, 0x87, 0xe3, 0x11, 0xc4,
- 0xc6, 0x39, 0x3d, 0x71, 0x61, 0xbe, 0x6a, 0xb6, 0x7b, 0x96, 0xce, 0x19, 0xae, 0x27, 0xeb, 0xfd,
- 0x40, 0xf8, 0xc9, 0xea, 0x5b, 0x57, 0xdc, 0x9d, 0x1f, 0x1a, 0x4c, 0x04, 0x63, 0xa4, 0x90, 0x6a,
- 0x02, 0x49, 0xec, 0xcc, 0x7d, 0x98, 0xeb, 0x8f, 0xc8, 0xc9, 0x0d, 0x4f, 0x61, 0x68, 0x78, 0x9e,
- 0x8f, 0x67, 0xd1, 0x31, 0x72, 0x0c, 0x20, 0xdf, 0xaa, 0x70, 0x88, 0x94, 0xf2, 0x77, 0x04, 0xb1,
- 0x1b, 0x5a, 0xbd, 0x8e, 0xd2, 0x05, 0x61, 0xe3, 0x60, 0xb5, 0x7a, 0x61, 0x56, 0xef, 0x52, 0x23,
- 0xe0, 0x0d, 0xde, 0xfa, 0xce, 0x3f, 0x28, 0xfa, 0x96, 0x0b, 0xc0, 0x2f, 0x20, 0x29, 0x8a, 0xc7,
- 0x2b, 0x8e, 0xdf, 0xdd, 0xc8, 0x8a, 0x17, 0x39, 0xf9, 0x19, 0xae, 0xcb, 0x1a, 0x66, 0xd3, 0x64,
- 0x4e, 0x7e, 0xc9, 0xa3, 0x6b, 0x8c, 0xf7, 0x9c, 0x0e, 0x72, 0x5d, 0xba, 0x86, 0xc0, 0xcb, 0x24,
- 0xeb, 0x05, 0xd4, 0x0f, 0x75, 0x02, 0xc9, 0xaa, 0xef, 0xb1, 0x3f, 0xb6, 0xf5, 0x3e, 0xf0, 0xc5,
- 0x9a, 0x1b, 0x42, 0xf5, 0xc3, 0x9c, 0x41, 0xb6, 0xca, 0x75, 0x87, 0x7b, 0x9f, 0x37, 0x45, 0x4b,
- 0x6a, 0x77, 0x48, 0xff, 0xcb, 0xef, 0xd0, 0x67, 0xcf, 0xc1, 0x61, 0x0e, 0x9c, 0x16, 0x55, 0x32,
- 0x68, 0x7f, 0xa2, 0xeb, 0x0a, 0xcc, 0x1a, 0x7e, 0x19, 0x12, 0xc7, 0xe4, 0x93, 0xc4, 0xf6, 0x9e,
- 0x05, 0x59, 0xdb, 0x69, 0xe1, 0x8d, 0xd1, 0xb0, 0x1d, 0x43, 0xe1, 0xec, 0xa5, 0xe4, 0xcc, 0xbd,
- 0x82, 0x3f, 0x7d, 0xf8, 0x45, 0xa1, 0x65, 0xf2, 0xb3, 0x5e, 0x5d, 0x44, 0xa7, 0xe8, 0x49, 0xaa,
- 0x9f, 0xa0, 0xdc, 0xf1, 0x7e, 0x90, 0x72, 0xbf, 0xd8, 0xb2, 0x15, 0xed, 0xaf, 0xe3, 0x2b, 0x65,
- 0x0f, 0xef, 0xa9, 0x7f, 0x84, 0x5f, 0x19, 0xaf, 0x4c, 0x54, 0x26, 0x2b, 0x53, 0x95, 0xe9, 0xca,
- 0x4c, 0x65, 0xb6, 0x3e, 0x8d, 0x6b, 0x77, 0xfe, 0x13, 0x00, 0x00, 0xff, 0xff, 0xb4, 0x0e, 0xe5,
- 0xbc, 0xdc, 0x22, 0x00, 0x00,
+ // 2900 bytes of a gzipped FileDescriptorProto
+ 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x5a, 0x49, 0x73, 0x1b, 0xc7,
+ 0x15, 0x16, 0xb8, 0xf3, 0x01, 0x24, 0x81, 0x06, 0x17, 0x08, 0x24, 0xb5, 0xb4, 0x6c, 0x89, 0xa6,
+ 0x2d, 0xc0, 0x5a, 0xac, 0x72, 0xec, 0xb8, 0x62, 0x6e, 0xa2, 0x11, 0x4b, 0x02, 0x32, 0x20, 0x25,
+ 0x27, 0xb1, 0x0a, 0x35, 0xc0, 0x34, 0xc0, 0x29, 0x01, 0x18, 0x64, 0xa6, 0x41, 0x49, 0xa5, 0x72,
+ 0xa5, 0xe2, 0x2c, 0x76, 0xce, 0xbe, 0xe7, 0x94, 0x54, 0xaa, 0x72, 0xc9, 0x7f, 0xc8, 0xdd, 0xa7,
+ 0x9c, 0x72, 0x4d, 0xe5, 0x90, 0x5f, 0xe0, 0x73, 0xaa, 0x5f, 0x77, 0x03, 0x33, 0x98, 0x19, 0x2e,
+ 0xb2, 0xab, 0x72, 0x22, 0xa7, 0xfb, 0xf5, 0xf7, 0xbd, 0x7e, 0xdd, 0x6f, 0xe9, 0x6e, 0x40, 0xfe,
+ 0xd8, 0x69, 0xf3, 0x23, 0xb3, 0xd6, 0x73, 0x1d, 0xee, 0x78, 0x45, 0xf9, 0x55, 0xc0, 0x2f, 0x32,
+ 0x25, 0xbf, 0xf2, 0x6b, 0x2d, 0xc7, 0x69, 0xb5, 0x59, 0xd1, 0xec, 0xd9, 0x45, 0xb3, 0xdb, 0x75,
+ 0xb8, 0xc9, 0x6d, 0xa7, 0xeb, 0x49, 0xa9, 0xfc, 0xaa, 0xea, 0xc5, 0xaf, 0x7a, 0xbf, 0x59, 0x64,
+ 0x9d, 0x1e, 0x7f, 0xa9, 0x3a, 0x73, 0x41, 0xf8, 0x0e, 0xe3, 0x0a, 0x3c, 0x3f, 0x42, 0xdc, 0x70,
+ 0x3a, 0x1d, 0xa7, 0x1b, 0xdd, 0x77, 0xc4, 0xcc, 0x36, 0x3f, 0x52, 0x7d, 0x34, 0xd8, 0xd7, 0x76,
+ 0x5a, 0x76, 0xc3, 0x6c, 0xd7, 0x2c, 0x76, 0x6c, 0x37, 0x58, 0xf4, 0xf8, 0x40, 0xdf, 0x6a, 0xb0,
+ 0xcf, 0xb4, 0xcc, 0x1e, 0x67, 0xae, 0xea, 0xbc, 0x1c, 0xec, 0x74, 0x7a, 0xac, 0xdb, 0x6c, 0x3b,
+ 0xcf, 0x6b, 0xb7, 0xee, 0xc4, 0x08, 0x74, 0x1a, 0x76, 0xad, 0x63, 0xd7, 0x6b, 0x56, 0x5d, 0x09,
+ 0x5c, 0x8d, 0x10, 0x30, 0xdb, 0xa6, 0xdb, 0x19, 0x8a, 0x5c, 0x0a, 0x8a, 0xb0, 0x17, 0xbc, 0xd6,
+ 0x70, 0xba, 0x4d, 0xbb, 0x25, 0xfb, 0xe9, 0x9f, 0x13, 0x90, 0xdc, 0x45, 0x95, 0xf7, 0x5d, 0xa7,
+ 0xdf, 0x23, 0x4b, 0x30, 0x66, 0x5b, 0xb9, 0xc4, 0x95, 0xc4, 0xc6, 0xec, 0xf6, 0xe4, 0x7f, 0xbf,
+ 0xfb, 0x76, 0x3d, 0x61, 0x8c, 0xd9, 0x16, 0x29, 0xc1, 0x42, 0x70, 0xf2, 0x5e, 0x6e, 0xec, 0xca,
+ 0xf8, 0x46, 0xf2, 0xf6, 0x52, 0x41, 0xad, 0xe2, 0x03, 0xd9, 0x2d, 0xb1, 0xb6, 0x67, 0xff, 0xfd,
+ 0xdd, 0xb7, 0xeb, 0x13, 0x02, 0xcb, 0x98, 0x6f, 0xfb, 0x7b, 0x3c, 0x72, 0x07, 0xa6, 0x35, 0xc4,
+ 0x38, 0x42, 0xcc, 0x6b, 0x88, 0xf0, 0x58, 0x2d, 0x49, 0x7f, 0x04, 0x29, 0x9f, 0x96, 0x1e, 0x79,
+ 0x0b, 0x26, 0x6d, 0xce, 0x3a, 0x5e, 0x2e, 0x81, 0x10, 0xd9, 0x20, 0x04, 0x0a, 0x19, 0x52, 0x82,
+ 0xfe, 0x29, 0x01, 0x64, 0xef, 0x98, 0x75, 0xf9, 0x7d, 0xbb, 0xcd, 0x99, 0x6b, 0xf4, 0xdb, 0xec,
+ 0x53, 0xf6, 0x92, 0x7e, 0x95, 0x80, 0xec, 0x48, 0xf3, 0xc1, 0xcb, 0x1e, 0x23, 0xf3, 0x00, 0x4d,
+ 0x6c, 0xa9, 0x99, 0xed, 0x76, 0xfa, 0x02, 0x49, 0xc1, 0x4c, 0xc3, 0xe4, 0xac, 0xe5, 0xb8, 0x2f,
+ 0xd3, 0x09, 0x92, 0x86, 0x94, 0xd7, 0xaf, 0xd7, 0x06, 0x2d, 0x63, 0x84, 0xc0, 0xfc, 0xb3, 0x9e,
+ 0x5d, 0x63, 0x02, 0xaa, 0xc6, 0x5f, 0xf6, 0x58, 0x7a, 0x9c, 0x2c, 0x41, 0x46, 0x1a, 0xd9, 0xdf,
+ 0x3c, 0x21, 0x9a, 0xe5, 0x7c, 0xfc, 0xcd, 0x93, 0xd4, 0x86, 0x85, 0x11, 0x45, 0xc8, 0xc7, 0x30,
+ 0xfe, 0x8c, 0xbd, 0xc4, 0x65, 0x98, 0xbf, 0x5d, 0xd0, 0x93, 0x0b, 0xcf, 0xa2, 0x10, 0x31, 0x03,
+ 0x43, 0x0c, 0x25, 0x8b, 0x30, 0x79, 0x6c, 0xb6, 0xfb, 0x2c, 0x37, 0x26, 0x96, 0xd2, 0x90, 0x1f,
+ 0xf4, 0xaf, 0x09, 0x48, 0xfa, 0x86, 0xc4, 0xad, 0xf6, 0x32, 0x4c, 0xb1, 0xae, 0x59, 0x6f, 0xcb,
+ 0xd1, 0x33, 0x86, 0xfa, 0x22, 0xab, 0x30, 0xab, 0x26, 0x60, 0x5b, 0xb9, 0x71, 0x04, 0x9e, 0x91,
+ 0x0d, 0x25, 0x8b, 0xac, 0x03, 0x0c, 0xa7, 0x95, 0x9b, 0xc0, 0xde, 0x59, 0x6c, 0x41, 0xbb, 0xde,
+ 0x84, 0x49, 0xb7, 0xdf, 0x66, 0x5e, 0x6e, 0x12, 0x57, 0x6c, 0x25, 0x66, 0x52, 0x86, 0x94, 0xa2,
+ 0x1f, 0x41, 0xca, 0xd7, 0xe3, 0x91, 0x9b, 0x30, 0x2d, 0x97, 0x25, 0xb4, 0xe4, 0x7e, 0x00, 0x2d,
+ 0x43, 0x9f, 0x41, 0x6a, 0xc7, 0x71, 0x59, 0xa9, 0xeb, 0x71, 0xb3, 0xdb, 0x60, 0xe4, 0x3a, 0x24,
+ 0x6d, 0xf5, 0x7f, 0x6d, 0x74, 0xc6, 0xa0, 0x7b, 0x4a, 0x16, 0xb9, 0x03, 0x53, 0x32, 0x00, 0xe0,
+ 0xcc, 0x93, 0xb7, 0x17, 0x35, 0xcb, 0x27, 0xd8, 0x5a, 0xe5, 0x26, 0xef, 0x7b, 0xdb, 0x93, 0x62,
+ 0x87, 0x5e, 0x30, 0x94, 0x28, 0xfd, 0x10, 0xe6, 0xfc, 0x64, 0x1e, 0xd9, 0x0c, 0xee, 0xce, 0x01,
+ 0x88, 0x5f, 0x4a, 0x6f, 0xcf, 0xf7, 0x60, 0xa1, 0xdc, 0x69, 0xd8, 0x07, 0xcc, 0xe3, 0x06, 0xfb,
+ 0x55, 0x9f, 0x79, 0x9c, 0xcc, 0x0f, 0x57, 0x05, 0x97, 0x83, 0xc0, 0x44, 0xbf, 0x6f, 0x5b, 0x6a,
+ 0x29, 0xf1, 0x7f, 0xfa, 0x6b, 0x48, 0xc9, 0x21, 0x5e, 0xcf, 0xe9, 0x7a, 0x8c, 0xfc, 0x04, 0xa6,
+ 0x5c, 0xe6, 0xf5, 0xdb, 0x5c, 0x6d, 0x9a, 0x1b, 0x9a, 0xd3, 0x2f, 0x15, 0xf8, 0x30, 0x50, 0xdc,
+ 0x50, 0xc3, 0x68, 0x01, 0x48, 0xb8, 0x97, 0x24, 0x61, 0xba, 0x7a, 0xb8, 0xb3, 0xb3, 0x57, 0xad,
+ 0xa6, 0x2f, 0x88, 0x8f, 0xfb, 0x5b, 0xa5, 0x07, 0x87, 0xc6, 0x5e, 0x3a, 0x41, 0x9f, 0xc2, 0xcc,
+ 0x63, 0xb1, 0xa7, 0xaa, 0x2c, 0xac, 0xf0, 0xfb, 0x90, 0x92, 0x61, 0x48, 0x7a, 0x81, 0xb2, 0x65,
+ 0xb6, 0xa0, 0x22, 0xcf, 0x96, 0xe8, 0xdb, 0xc1, 0xff, 0x3f, 0xb9, 0x60, 0x24, 0xcd, 0xe1, 0xe7,
+ 0xf6, 0xb4, 0xda, 0xb6, 0xf4, 0x5f, 0x13, 0x30, 0xf5, 0x18, 0x67, 0x40, 0x2e, 0xc3, 0xf4, 0x31,
+ 0x73, 0x3d, 0xdb, 0xe9, 0x06, 0xd7, 0x4d, 0xb7, 0x92, 0x7b, 0x30, 0xa3, 0x22, 0xab, 0x8e, 0x4a,
+ 0x0b, 0x7a, 0xf6, 0x5b, 0xb2, 0xdd, 0x1f, 0x53, 0x06, 0xb2, 0x51, 0x41, 0x6d, 0xfc, 0xfb, 0x07,
+ 0xb5, 0x89, 0xb3, 0x06, 0x35, 0xf2, 0x31, 0xa4, 0x94, 0x3b, 0x09, 0x97, 0xd1, 0x9e, 0x41, 0x82,
+ 0x23, 0x85, 0xf3, 0xf8, 0x47, 0x27, 0xad, 0x41, 0xb3, 0x47, 0x76, 0x60, 0x4e, 0x21, 0xb4, 0x30,
+ 0x2e, 0xe6, 0xa6, 0x62, 0xc3, 0xa1, 0x1f, 0x43, 0xd1, 0xaa, 0x58, 0xba, 0x03, 0x73, 0xd2, 0x71,
+ 0xb5, 0x83, 0x4d, 0xc7, 0x3a, 0x58, 0x00, 0x84, 0xf9, 0xfd, 0xf3, 0x67, 0x90, 0x19, 0xe6, 0x27,
+ 0x93, 0x9b, 0x75, 0xd3, 0x63, 0xb9, 0x35, 0x05, 0x24, 0x7a, 0x0a, 0x0f, 0xed, 0xba, 0x54, 0x67,
+ 0xd7, 0xe4, 0xe6, 0x76, 0x5a, 0x00, 0x25, 0x7d, 0xf1, 0xc4, 0x58, 0x10, 0x52, 0x42, 0x48, 0x8d,
+ 0x26, 0x4f, 0x20, 0xeb, 0xcf, 0x68, 0x1a, 0x74, 0x5d, 0x2d, 0x11, 0x82, 0xe2, 0x56, 0x3a, 0x11,
+ 0x16, 0xd5, 0x92, 0x62, 0x0a, 0x81, 0xfe, 0x25, 0x01, 0xe9, 0x2a, 0x6b, 0x37, 0xcf, 0xe6, 0x40,
+ 0xa3, 0x92, 0xfe, 0x06, 0xbf, 0x03, 0x55, 0x60, 0x3e, 0xd8, 0x13, 0xef, 0x3c, 0x24, 0x03, 0x73,
+ 0x8f, 0xca, 0x07, 0xb5, 0xea, 0x61, 0xa5, 0x52, 0x36, 0x0e, 0xf6, 0x76, 0xd3, 0x63, 0xa2, 0xe9,
+ 0xf0, 0xd1, 0xa7, 0x8f, 0xca, 0x4f, 0x1e, 0xd5, 0xf6, 0x0c, 0xa3, 0x6c, 0xa4, 0xc7, 0x69, 0x19,
+ 0x32, 0xe5, 0xe6, 0x56, 0x8b, 0x75, 0x79, 0xb5, 0x5f, 0xf7, 0x1a, 0xae, 0x5d, 0x67, 0xae, 0x08,
+ 0xb3, 0x4e, 0xd3, 0x14, 0x8d, 0x83, 0x40, 0x66, 0xcc, 0xaa, 0x96, 0x92, 0x25, 0x42, 0xb4, 0xca,
+ 0xf8, 0x83, 0x80, 0x31, 0x23, 0x1b, 0x4a, 0x16, 0xfd, 0x10, 0xe0, 0x21, 0xeb, 0xd4, 0x99, 0xeb,
+ 0x1d, 0xd9, 0x3d, 0x81, 0x84, 0xbb, 0xa6, 0xd6, 0x35, 0x3b, 0x4c, 0x23, 0x61, 0xcb, 0x23, 0xb3,
+ 0xc3, 0x94, 0x53, 0x8f, 0x69, 0xa7, 0xa6, 0xff, 0x48, 0x40, 0x5e, 0x5a, 0xba, 0xd4, 0x31, 0x5b,
+ 0x6c, 0xd7, 0x79, 0xde, 0x6d, 0x3b, 0xa6, 0xa5, 0x83, 0xd6, 0x0d, 0x7f, 0x6e, 0x90, 0x71, 0x0f,
+ 0x0a, 0xaa, 0xd0, 0x2a, 0xed, 0xfa, 0xf2, 0xc4, 0x35, 0x98, 0xb4, 0x05, 0x80, 0x8a, 0x0a, 0x73,
+ 0xda, 0xce, 0x88, 0x6a, 0xc8, 0x3e, 0xf2, 0x0e, 0x64, 0xcc, 0x06, 0xb7, 0x8f, 0x4d, 0xce, 0xca,
+ 0xdd, 0x6a, 0xbf, 0xd1, 0x60, 0x9e, 0x87, 0x19, 0x67, 0xc6, 0x08, 0x77, 0x90, 0x0d, 0x58, 0x10,
+ 0x4c, 0x36, 0x1f, 0xca, 0x4e, 0xa0, 0xec, 0x68, 0x33, 0xfd, 0x4d, 0x02, 0x88, 0x6f, 0x12, 0xe7,
+ 0x56, 0x3e, 0x37, 0x8c, 0x45, 0xd2, 0x32, 0x83, 0x20, 0x14, 0xa1, 0xc3, 0x78, 0xb4, 0x0e, 0x35,
+ 0xc8, 0x06, 0x54, 0x50, 0x1b, 0xf0, 0x13, 0xc8, 0x6a, 0x1d, 0x44, 0x7b, 0xcd, 0xe3, 0x26, 0x67,
+ 0x3a, 0x85, 0xe4, 0x82, 0x1e, 0x8d, 0x23, 0x45, 0x32, 0x62, 0x86, 0x2a, 0x29, 0x86, 0x2d, 0x1e,
+ 0xdd, 0x83, 0xd4, 0xfd, 0xb6, 0xf3, 0xfc, 0x21, 0xe3, 0xa6, 0xf0, 0x1a, 0xf2, 0x1e, 0x4c, 0x75,
+ 0x98, 0x2f, 0x75, 0xae, 0x17, 0xfc, 0xb5, 0xa6, 0xd3, 0xec, 0xd5, 0xb0, 0x5b, 0x45, 0x6b, 0x43,
+ 0x09, 0xdf, 0xfe, 0xfb, 0x3d, 0x98, 0x93, 0x21, 0xb8, 0xca, 0x5c, 0xc1, 0x41, 0x9e, 0xc0, 0xdc,
+ 0x3e, 0xe3, 0xbe, 0x2d, 0xb4, 0x5c, 0x90, 0xf5, 0x78, 0x41, 0xd7, 0xe3, 0x85, 0x3d, 0x51, 0x8f,
+ 0xe7, 0x07, 0x31, 0x6c, 0x28, 0x4b, 0xf3, 0x5f, 0xfe, 0xf3, 0x3f, 0xdf, 0x8c, 0x2d, 0x12, 0x82,
+ 0xa5, 0xfd, 0xf1, 0xad, 0x62, 0x67, 0x88, 0xf3, 0x14, 0xd2, 0x87, 0x3d, 0xcb, 0xe4, 0xcc, 0x87,
+ 0x1d, 0x81, 0x91, 0x8f, 0xe1, 0xa3, 0xeb, 0x88, 0xbd, 0x42, 0x23, 0xb0, 0x3f, 0x48, 0x6c, 0x92,
+ 0x5d, 0x98, 0xdd, 0x67, 0x5c, 0xa5, 0x93, 0x38, 0x9d, 0x07, 0x11, 0x5b, 0xca, 0xd1, 0x05, 0xc4,
+ 0x9c, 0x25, 0xd3, 0x0a, 0x93, 0x3c, 0x85, 0xcc, 0x03, 0xdb, 0xe3, 0xc1, 0x54, 0x1f, 0x87, 0xb6,
+ 0x14, 0x95, 0xf3, 0x3d, 0x7a, 0x11, 0x41, 0xb3, 0x24, 0xa3, 0x15, 0xb5, 0x07, 0x48, 0x55, 0x58,
+ 0xd8, 0x67, 0x01, 0x74, 0xe2, 0xdb, 0x83, 0xf9, 0xc8, 0x22, 0x82, 0x5e, 0x42, 0xbc, 0x1c, 0x59,
+ 0x0e, 0xe1, 0x15, 0x5f, 0xd9, 0xd6, 0x17, 0xc4, 0x80, 0x94, 0xd0, 0x79, 0x4b, 0xa7, 0xbc, 0x38,
+ 0x75, 0xd3, 0x23, 0x09, 0xd3, 0xa3, 0x39, 0x44, 0x26, 0x24, 0xad, 0x91, 0x07, 0x69, 0x93, 0x01,
+ 0x11, 0x98, 0x0f, 0x82, 0x19, 0x30, 0x0e, 0x79, 0x39, 0x32, 0x97, 0x7a, 0xf4, 0x32, 0xe2, 0x5f,
+ 0x24, 0x2b, 0x1a, 0x7f, 0x24, 0x15, 0x93, 0x5f, 0x42, 0x7a, 0x9f, 0x05, 0x59, 0x02, 0x06, 0x89,
+ 0x4e, 0xd2, 0xf4, 0x0d, 0xc4, 0xbd, 0x44, 0xd6, 0x62, 0x70, 0xa5, 0x5d, 0x9a, 0xb0, 0x1c, 0x9a,
+ 0x43, 0xc5, 0x71, 0xb9, 0x17, 0x6d, 0x73, 0x25, 0x87, 0x12, 0x74, 0x13, 0x19, 0xde, 0x20, 0xf4,
+ 0x24, 0x86, 0x62, 0x0f, 0xd1, 0x5e, 0xc0, 0xe2, 0xe8, 0x24, 0x04, 0x08, 0x59, 0x8a, 0x40, 0x2e,
+ 0x59, 0xf9, 0x6c, 0x44, 0x33, 0xbd, 0x8b, 0x7c, 0x05, 0xf2, 0xce, 0xe9, 0x7c, 0xc5, 0x57, 0xe2,
+ 0x4f, 0x4d, 0xcc, 0xf0, 0xf7, 0x09, 0x58, 0xd9, 0xc3, 0xb2, 0xfd, 0xcc, 0xec, 0x71, 0xde, 0xf5,
+ 0x21, 0x2a, 0xf0, 0x1e, 0xbd, 0x73, 0x1e, 0x05, 0x8a, 0xea, 0xcc, 0xf0, 0x55, 0x02, 0x72, 0xbb,
+ 0xb6, 0xf7, 0x83, 0x28, 0xf2, 0x63, 0x54, 0xe4, 0x1e, 0xbd, 0x7b, 0x2e, 0x45, 0x2c, 0xc9, 0x4e,
+ 0xac, 0x88, 0x35, 0x17, 0x71, 0x32, 0xb8, 0xe6, 0x24, 0x10, 0x1c, 0xb1, 0xff, 0x8c, 0x2b, 0xde,
+ 0x44, 0xac, 0xdf, 0x26, 0x60, 0x4d, 0xc6, 0xb2, 0x10, 0xd1, 0x01, 0xaa, 0xb1, 0x16, 0x22, 0xc0,
+ 0x76, 0x39, 0x26, 0x76, 0xea, 0x37, 0x51, 0x85, 0x1b, 0xf4, 0x0c, 0x2a, 0x88, 0x88, 0xf7, 0xbb,
+ 0x04, 0xac, 0x47, 0x68, 0xf1, 0x50, 0x44, 0x76, 0xa9, 0xc6, 0x6a, 0x40, 0x0d, 0xec, 0x78, 0xe8,
+ 0x58, 0xa7, 0x68, 0x51, 0x40, 0x2d, 0x36, 0xe8, 0xb5, 0x13, 0xb5, 0x90, 0xf9, 0x43, 0xa8, 0xd1,
+ 0x82, 0x95, 0x90, 0xc9, 0x91, 0x2a, 0x68, 0xf3, 0x6c, 0x58, 0x17, 0x8f, 0xbe, 0x8d, 0x5c, 0x6f,
+ 0x92, 0xb3, 0x70, 0x11, 0x0e, 0xab, 0x91, 0x6b, 0xab, 0x4a, 0x5c, 0x3f, 0xd9, 0x4a, 0xc8, 0xfe,
+ 0x52, 0x88, 0xbe, 0x8b, 0x84, 0x9b, 0x64, 0xe3, 0x54, 0x13, 0xab, 0x6a, 0x9b, 0x7c, 0x93, 0x80,
+ 0xab, 0x31, 0x6b, 0x8d, 0x98, 0xd2, 0xd2, 0x57, 0xa3, 0x09, 0xcf, 0xb2, 0xea, 0x77, 0x50, 0xa5,
+ 0x9b, 0xf4, 0xcc, 0x2a, 0x09, 0xa3, 0x97, 0x21, 0x29, 0x6c, 0x71, 0x5a, 0x60, 0x5e, 0x08, 0x96,
+ 0x14, 0x1e, 0x5d, 0x41, 0xb2, 0x0c, 0x59, 0xd0, 0x64, 0x3a, 0x12, 0x97, 0x61, 0x6e, 0x08, 0x58,
+ 0xb2, 0xe2, 0x21, 0x93, 0x43, 0x33, 0x47, 0xa4, 0x3a, 0x09, 0x67, 0x5b, 0x1e, 0x39, 0x84, 0xb4,
+ 0xc1, 0x1a, 0x4e, 0xb7, 0x61, 0xb7, 0x99, 0x56, 0xd3, 0x3f, 0x36, 0xd6, 0x1e, 0x6b, 0x88, 0xb9,
+ 0x4c, 0xc3, 0x98, 0x62, 0xe2, 0x7b, 0x98, 0xe6, 0x23, 0x52, 0xc5, 0xc8, 0x61, 0x4c, 0xc3, 0x90,
+ 0xc5, 0x91, 0x99, 0xca, 0xdc, 0xf0, 0x53, 0x48, 0xed, 0xb8, 0xcc, 0xe4, 0x4a, 0x35, 0x32, 0x32,
+ 0x3a, 0x84, 0xa6, 0x0a, 0x1b, 0x3a, 0x6a, 0x37, 0xa1, 0xd2, 0x13, 0x48, 0xc9, 0x20, 0x1c, 0xa1,
+ 0x55, 0xdc, 0x24, 0xaf, 0x21, 0xde, 0x3a, 0x5d, 0x8d, 0xd2, 0x4e, 0x87, 0xd5, 0x9f, 0xc3, 0x9c,
+ 0x8a, 0xaa, 0xe7, 0x40, 0x56, 0xb9, 0x91, 0xae, 0x45, 0x22, 0xeb, 0x38, 0xf9, 0x04, 0x52, 0x06,
+ 0xab, 0x3b, 0x0e, 0xff, 0xc1, 0x74, 0x76, 0x11, 0x4e, 0x00, 0xef, 0xb2, 0x36, 0xe3, 0xaf, 0x61,
+ 0x8c, 0xcd, 0x68, 0x60, 0x0b, 0xe1, 0x48, 0x1d, 0x32, 0xf7, 0x1d, 0xb7, 0xc1, 0xce, 0x8d, 0xfe,
+ 0x16, 0xa2, 0x5f, 0xdb, 0xbc, 0x1a, 0x89, 0xde, 0x14, 0x98, 0x35, 0xc5, 0xd1, 0x87, 0x39, 0x7d,
+ 0xe4, 0xc1, 0x5a, 0x7b, 0x98, 0xbb, 0x02, 0xc7, 0xa1, 0xfc, 0x92, 0xa6, 0x2d, 0xf7, 0x98, 0x8b,
+ 0x77, 0xd7, 0xa2, 0xc2, 0xa7, 0xf7, 0x90, 0xe9, 0x5d, 0xfa, 0x76, 0x24, 0x93, 0xac, 0xf8, 0x2d,
+ 0x85, 0xe1, 0x15, 0x5f, 0x89, 0x23, 0xd9, 0x17, 0x62, 0x03, 0x7d, 0x99, 0x80, 0xe5, 0x7d, 0xc6,
+ 0x03, 0x1c, 0xf2, 0x16, 0x2a, 0x5e, 0x81, 0xa8, 0x66, 0xfa, 0x01, 0x2a, 0x70, 0x97, 0xdc, 0x3e,
+ 0x87, 0x02, 0x45, 0x4f, 0x32, 0xf5, 0xb1, 0x14, 0x0b, 0xe0, 0x9d, 0x93, 0x5d, 0x05, 0x32, 0x72,
+ 0x9e, 0xe9, 0x93, 0xa6, 0x2c, 0x34, 0x03, 0x48, 0xde, 0xc8, 0xba, 0x46, 0xb1, 0x79, 0xf4, 0x1d,
+ 0xa4, 0xbb, 0x4e, 0xde, 0x38, 0x0b, 0x1d, 0x79, 0x01, 0xd9, 0x1d, 0x51, 0x33, 0xb7, 0xcf, 0x38,
+ 0xc3, 0xc8, 0x05, 0x56, 0x33, 0xdc, 0x3c, 0xd7, 0x0c, 0xbf, 0x4e, 0x40, 0x76, 0x4b, 0x1d, 0x67,
+ 0x91, 0x45, 0xe6, 0x83, 0x73, 0x52, 0xef, 0x20, 0xf5, 0x47, 0xf4, 0xfd, 0xf3, 0x2c, 0xad, 0x6c,
+ 0xee, 0x23, 0x9f, 0xd8, 0x68, 0x7f, 0x48, 0x40, 0xc6, 0x60, 0xc7, 0xcc, 0xe5, 0xff, 0x17, 0x45,
+ 0x5c, 0xa4, 0x16, 0x8a, 0x7c, 0x9d, 0x80, 0xa5, 0x80, 0xa7, 0x1d, 0x38, 0xca, 0xa3, 0x69, 0xc4,
+ 0x21, 0x78, 0xe4, 0x1a, 0x22, 0xbf, 0x1a, 0x21, 0xa3, 0x8f, 0xd8, 0xba, 0x7c, 0x21, 0xd7, 0x47,
+ 0xf5, 0x43, 0x1d, 0xbc, 0xa2, 0xd6, 0x4d, 0x9e, 0xc0, 0x3d, 0xf2, 0x1c, 0xe6, 0xf5, 0xbe, 0x57,
+ 0x3e, 0x97, 0x8f, 0x84, 0x3f, 0x03, 0x75, 0xec, 0x8e, 0x54, 0xd4, 0xf2, 0x4f, 0x4d, 0x39, 0xdc,
+ 0x1f, 0x13, 0x70, 0x71, 0xab, 0xee, 0x0c, 0xd6, 0xa2, 0xe5, 0x9a, 0xd6, 0xd0, 0x0e, 0xaf, 0xad,
+ 0x44, 0xac, 0x17, 0x2a, 0x25, 0x4c, 0x41, 0x59, 0xeb, 0x4b, 0x3a, 0x6d, 0x84, 0xc7, 0x90, 0xda,
+ 0x67, 0xbc, 0xdc, 0xed, 0x97, 0xe4, 0xb7, 0xdf, 0xff, 0x32, 0x9a, 0x6d, 0xd0, 0x4d, 0x6f, 0x20,
+ 0xc7, 0x55, 0x72, 0x39, 0x72, 0x0f, 0x38, 0xdd, 0xbe, 0xc6, 0x7d, 0x05, 0x73, 0x81, 0xad, 0xff,
+ 0xfa, 0xd3, 0xba, 0x85, 0x94, 0x6f, 0xd3, 0xb8, 0x65, 0xd5, 0x17, 0x46, 0x8a, 0x59, 0x6c, 0xb2,
+ 0xe7, 0x90, 0xdc, 0xc1, 0x6b, 0x99, 0xef, 0x49, 0x5d, 0x44, 0xea, 0xb7, 0x68, 0xdc, 0xb2, 0xca,
+ 0xbb, 0x1f, 0x1f, 0x71, 0x05, 0x16, 0x86, 0xb5, 0x54, 0xf8, 0xc4, 0x39, 0xb8, 0x0d, 0x93, 0x47,
+ 0x4d, 0x8a, 0xf0, 0x6b, 0x24, 0x1f, 0x69, 0x4c, 0x79, 0xc4, 0x7c, 0x0a, 0x59, 0x1f, 0xa2, 0xba,
+ 0x48, 0x8f, 0x59, 0xa6, 0x41, 0xf7, 0x29, 0xcb, 0xd4, 0xd3, 0x57, 0xf7, 0x1e, 0xe9, 0xc2, 0x92,
+ 0x8c, 0x05, 0xa3, 0x04, 0x61, 0xd0, 0xd8, 0x34, 0xab, 0xce, 0x4f, 0xf4, 0x34, 0x32, 0x61, 0xa0,
+ 0x43, 0xbf, 0x81, 0xce, 0x76, 0x3c, 0x3b, 0xd9, 0x4a, 0xf2, 0x58, 0xc6, 0x60, 0x31, 0x08, 0x7b,
+ 0x9e, 0x93, 0xc1, 0x06, 0x12, 0x50, 0x72, 0x25, 0x96, 0x40, 0x9f, 0x08, 0x3e, 0xf7, 0x6b, 0x2f,
+ 0xef, 0xe8, 0xe3, 0x8a, 0xe5, 0x6c, 0xf8, 0x9e, 0xdf, 0x8b, 0xab, 0x4c, 0xe5, 0x03, 0x01, 0x31,
+ 0xf0, 0xfe, 0x6d, 0x28, 0x3f, 0x62, 0x99, 0x10, 0x1e, 0xbd, 0x8a, 0x70, 0xab, 0xe4, 0x62, 0x14,
+ 0x9c, 0xac, 0x76, 0x6b, 0x90, 0x1e, 0x6a, 0xac, 0x8c, 0x12, 0xa7, 0xf2, 0x62, 0xc4, 0xbb, 0x82,
+ 0xa7, 0x2f, 0xdf, 0xc8, 0xd2, 0x08, 0x89, 0x32, 0xc9, 0x7d, 0x48, 0x57, 0xb9, 0xcb, 0xcc, 0x4e,
+ 0xc5, 0x6c, 0x3c, 0x63, 0xdc, 0x2b, 0xf7, 0x39, 0x59, 0x0e, 0x58, 0x5a, 0x76, 0x94, 0xfb, 0x3c,
+ 0x76, 0x03, 0x5d, 0xd8, 0x48, 0x90, 0x3d, 0x3c, 0x34, 0x30, 0xfb, 0x98, 0x29, 0xa0, 0x52, 0xf7,
+ 0x84, 0xdb, 0xb7, 0x30, 0x7e, 0xa9, 0x4b, 0x2f, 0xbc, 0x9b, 0x20, 0x9f, 0x42, 0x56, 0xc1, 0xec,
+ 0x1c, 0x99, 0xdd, 0x16, 0xc3, 0xd7, 0x8d, 0xf8, 0x29, 0xe7, 0x02, 0x48, 0xbe, 0x21, 0x08, 0x76,
+ 0x88, 0x09, 0xc2, 0xff, 0x7e, 0x1e, 0x3c, 0xd6, 0x86, 0xcd, 0x15, 0xb7, 0x59, 0x95, 0xb5, 0xf4,
+ 0x9a, 0x64, 0xe4, 0x09, 0xc4, 0xff, 0x56, 0x1b, 0xf5, 0x1e, 0x93, 0x8f, 0x6a, 0xa4, 0x57, 0x90,
+ 0x22, 0x4f, 0x07, 0x0b, 0x12, 0x78, 0xde, 0x11, 0x4e, 0xf6, 0x18, 0xf5, 0xf6, 0xa3, 0x47, 0x5e,
+ 0x7b, 0xf9, 0x5f, 0x60, 0xc3, 0x8a, 0x07, 0x50, 0xa5, 0xe2, 0x16, 0x64, 0x64, 0xb0, 0x78, 0x3d,
+ 0xc5, 0xdf, 0x44, 0x8a, 0xcb, 0xf9, 0x13, 0x28, 0x84, 0xf6, 0x16, 0x64, 0x64, 0xa5, 0x7f, 0x2a,
+ 0x4b, 0xdc, 0x7e, 0x52, 0x73, 0xd9, 0x3c, 0x69, 0x2e, 0xca, 0x31, 0x02, 0xaf, 0xd0, 0xa7, 0x3a,
+ 0x46, 0xc0, 0x62, 0x21, 0xc7, 0x08, 0xb0, 0x90, 0x07, 0x78, 0x5c, 0x8d, 0xc8, 0xaa, 0xf3, 0x81,
+ 0xa2, 0xcb, 0xd3, 0x67, 0x20, 0xb2, 0x1a, 0x5f, 0x56, 0x79, 0xe4, 0x33, 0x98, 0xd1, 0xcf, 0x4f,
+ 0x01, 0xb0, 0x5c, 0xdc, 0x3b, 0x16, 0xbd, 0x8e, 0xb0, 0x57, 0xe8, 0xa5, 0x48, 0x58, 0x8f, 0xb5,
+ 0x9b, 0x35, 0x2e, 0xd0, 0x1e, 0x63, 0xf5, 0x1f, 0x78, 0xbe, 0x1b, 0xbd, 0xbd, 0x09, 0xbd, 0xef,
+ 0x85, 0x23, 0x8f, 0x70, 0x23, 0x21, 0xa7, 0xae, 0x6d, 0xec, 0x3a, 0xf9, 0x1c, 0xc8, 0x3e, 0xe3,
+ 0x23, 0x2f, 0x78, 0x23, 0x57, 0xbc, 0x51, 0x8f, 0x7c, 0x61, 0x7b, 0x04, 0xb1, 0xf1, 0xbd, 0x90,
+ 0x78, 0x30, 0x57, 0xb5, 0x3b, 0xfd, 0xb6, 0xc9, 0x19, 0x8e, 0x27, 0x6b, 0x03, 0x43, 0xf8, 0x9b,
+ 0x75, 0x96, 0x8f, 0xa9, 0x68, 0x43, 0xd7, 0x6e, 0x41, 0x1b, 0x29, 0xa4, 0x9a, 0x40, 0x12, 0x3b,
+ 0x73, 0x07, 0x66, 0x07, 0x4f, 0x75, 0xe4, 0xe2, 0xa0, 0x38, 0x1a, 0x7d, 0xc4, 0xcb, 0xc7, 0x77,
+ 0xd1, 0x0b, 0xe4, 0x21, 0x80, 0xbc, 0x33, 0xc0, 0x2b, 0xd2, 0x94, 0xbf, 0x22, 0x88, 0xdd, 0xd0,
+ 0xea, 0xb2, 0x85, 0xce, 0x0b, 0x1d, 0x87, 0xa3, 0xd5, 0x75, 0x90, 0xba, 0x29, 0x38, 0x07, 0xde,
+ 0xf0, 0x4e, 0xe3, 0xf8, 0x56, 0xd1, 0x37, 0x5c, 0x00, 0x7e, 0x06, 0x49, 0x11, 0x3c, 0x5e, 0x70,
+ 0x7c, 0xff, 0x27, 0xcb, 0xda, 0x72, 0xf2, 0xe7, 0x00, 0x3d, 0xd6, 0xb0, 0x9b, 0x36, 0x73, 0xf3,
+ 0x8b, 0xba, 0xdd, 0x60, 0xbc, 0xef, 0x76, 0xb1, 0xd7, 0xa3, 0xab, 0x08, 0xbc, 0x44, 0xb2, 0xda,
+ 0xa0, 0x7e, 0xa8, 0x03, 0x48, 0x56, 0x7d, 0x9f, 0x83, 0x47, 0x09, 0xfd, 0x43, 0x83, 0x58, 0x75,
+ 0x43, 0xa8, 0x7e, 0x98, 0x23, 0xc8, 0x56, 0xb9, 0xe9, 0x72, 0xfd, 0x33, 0x0b, 0x51, 0x75, 0x3a,
+ 0x5d, 0x32, 0xf8, 0x05, 0xca, 0xc8, 0xcf, 0x2f, 0x86, 0xce, 0x1c, 0xf0, 0x16, 0x15, 0x32, 0xe8,
+ 0xe0, 0xbd, 0xc2, 0x13, 0x98, 0x35, 0x7c, 0xa1, 0x16, 0x6e, 0xf2, 0x41, 0x62, 0x73, 0xbb, 0x0d,
+ 0x59, 0xc7, 0x6d, 0x61, 0xc6, 0x68, 0x38, 0xae, 0xa5, 0x70, 0xb6, 0x53, 0xf2, 0x45, 0xa9, 0x82,
+ 0x3f, 0xc1, 0xfa, 0x45, 0xa1, 0x65, 0xf3, 0xa3, 0x7e, 0x5d, 0x58, 0xa7, 0xa8, 0x25, 0xd5, 0x4f,
+ 0xe1, 0x6e, 0xea, 0x1f, 0xc6, 0xdd, 0x2d, 0xb6, 0x1c, 0xd5, 0xf6, 0xb7, 0xb1, 0xe5, 0xb2, 0xc6,
+ 0x7b, 0xec, 0x7f, 0xa0, 0xaa, 0x8c, 0x55, 0xc6, 0x2b, 0x13, 0x95, 0xc9, 0xca, 0x54, 0x65, 0xba,
+ 0x32, 0x53, 0x9f, 0xc2, 0xb1, 0x77, 0xfe, 0x17, 0x00, 0x00, 0xff, 0xff, 0x87, 0x9b, 0x36, 0xf4,
+ 0x64, 0x27, 0x00, 0x00,
}
// Reference imports to suppress errors if they are not otherwise used.
@@ -2444,12 +2633,16 @@
DownloadImage(ctx context.Context, in *ImageDownload, opts ...grpc.CallOption) (*common.OperationResp, error)
// Get image download status on a device
// The request retrieves progress on device and updates db record
+ // Deprecated in voltha 2.8, will be removed
GetImageDownloadStatus(ctx context.Context, in *ImageDownload, opts ...grpc.CallOption) (*ImageDownload, error)
// Get image download db record
+ // Deprecated in voltha 2.8, will be removed
GetImageDownload(ctx context.Context, in *ImageDownload, opts ...grpc.CallOption) (*ImageDownload, error)
// List image download db records for a given device
+ // Deprecated in voltha 2.8, will be removed
ListImageDownloads(ctx context.Context, in *common.ID, opts ...grpc.CallOption) (*ImageDownloads, error)
// Cancel an existing image download process on a device
+ // Deprecated in voltha 2.8, will be removed
CancelImageDownload(ctx context.Context, in *ImageDownload, opts ...grpc.CallOption) (*common.OperationResp, error)
// Activate the specified image at a standby partition
// to active partition.
@@ -2458,6 +2651,7 @@
// If no reboot, then a reboot is required to make the
// activated image running on device
// Note that the call is expected to be non-blocking.
+ // Deprecated in voltha 2.8, will be removed
ActivateImageUpdate(ctx context.Context, in *ImageDownload, opts ...grpc.CallOption) (*common.OperationResp, error)
// Revert the specified image at standby partition
// to active partition, and revert to previous image
@@ -2466,7 +2660,36 @@
// If no reboot, then a reboot is required to make the
// previous image running on device
// Note that the call is expected to be non-blocking.
+ // Deprecated in voltha 2.8, will be removed
RevertImageUpdate(ctx context.Context, in *ImageDownload, opts ...grpc.CallOption) (*common.OperationResp, error)
+ // Downloads a certain image to the standby partition of the devices
+ // Note that the call is expected to be non-blocking.
+ DownloadImageToDevice(ctx context.Context, in *DeviceImageDownloadRequest, opts ...grpc.CallOption) (*DeviceImageResponse, error)
+ // Get image status on a number of devices devices
+ // Polled from northbound systems to get state of download/activate/commit
+ GetImageStatus(ctx context.Context, in *DeviceImageRequest, opts ...grpc.CallOption) (*DeviceImageResponse, error)
+ // Aborts the upgrade of an image on a device
+ // To be used carefully, stops any further operations for the Image on the given devices
+ // Might also stop if possible existing work, but no guarantees are given,
+ // depends on implementation and procedure status.
+ AbortImageUpgradeToDevice(ctx context.Context, in *DeviceImageRequest, opts ...grpc.CallOption) (*DeviceImageResponse, error)
+ // Get Both Active and Standby image for a given device
+ GetOnuImages(ctx context.Context, in *common.ID, opts ...grpc.CallOption) (*OnuImages, error)
+ // Activate the specified image from a standby partition
+ // to active partition.
+ // Depending on the device implementation, this call
+ // may or may not cause device reboot.
+ // If no reboot, then a reboot is required to make the
+ // activated image running on device
+ // Note that the call is expected to be non-blocking.
+ ActivateImage(ctx context.Context, in *DeviceImageRequest, opts ...grpc.CallOption) (*DeviceImageResponse, error)
+ // Commit the specified image to be default.
+ // Depending on the device implementation, this call
+ // may or may not cause device reboot.
+ // If no reboot, then a reboot is required to make the
+ // activated image running on device upon next reboot
+ // Note that the call is expected to be non-blocking.
+ CommitImage(ctx context.Context, in *DeviceImageRequest, opts ...grpc.CallOption) (*DeviceImageResponse, error)
// List ports of a device
ListDevicePorts(ctx context.Context, in *common.ID, opts ...grpc.CallOption) (*Ports, error)
// List pm config of a device
@@ -2837,6 +3060,60 @@
return out, nil
}
+func (c *volthaServiceClient) DownloadImageToDevice(ctx context.Context, in *DeviceImageDownloadRequest, opts ...grpc.CallOption) (*DeviceImageResponse, error) {
+ out := new(DeviceImageResponse)
+ err := c.cc.Invoke(ctx, "/voltha.VolthaService/DownloadImageToDevice", in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *volthaServiceClient) GetImageStatus(ctx context.Context, in *DeviceImageRequest, opts ...grpc.CallOption) (*DeviceImageResponse, error) {
+ out := new(DeviceImageResponse)
+ err := c.cc.Invoke(ctx, "/voltha.VolthaService/GetImageStatus", in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *volthaServiceClient) AbortImageUpgradeToDevice(ctx context.Context, in *DeviceImageRequest, opts ...grpc.CallOption) (*DeviceImageResponse, error) {
+ out := new(DeviceImageResponse)
+ err := c.cc.Invoke(ctx, "/voltha.VolthaService/AbortImageUpgradeToDevice", in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *volthaServiceClient) GetOnuImages(ctx context.Context, in *common.ID, opts ...grpc.CallOption) (*OnuImages, error) {
+ out := new(OnuImages)
+ err := c.cc.Invoke(ctx, "/voltha.VolthaService/GetOnuImages", in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *volthaServiceClient) ActivateImage(ctx context.Context, in *DeviceImageRequest, opts ...grpc.CallOption) (*DeviceImageResponse, error) {
+ out := new(DeviceImageResponse)
+ err := c.cc.Invoke(ctx, "/voltha.VolthaService/ActivateImage", in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *volthaServiceClient) CommitImage(ctx context.Context, in *DeviceImageRequest, opts ...grpc.CallOption) (*DeviceImageResponse, error) {
+ out := new(DeviceImageResponse)
+ err := c.cc.Invoke(ctx, "/voltha.VolthaService/CommitImage", in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
func (c *volthaServiceClient) ListDevicePorts(ctx context.Context, in *common.ID, opts ...grpc.CallOption) (*Ports, error) {
out := new(Ports)
err := c.cc.Invoke(ctx, "/voltha.VolthaService/ListDevicePorts", in, out, opts...)
@@ -3226,12 +3503,16 @@
DownloadImage(context.Context, *ImageDownload) (*common.OperationResp, error)
// Get image download status on a device
// The request retrieves progress on device and updates db record
+ // Deprecated in voltha 2.8, will be removed
GetImageDownloadStatus(context.Context, *ImageDownload) (*ImageDownload, error)
// Get image download db record
+ // Deprecated in voltha 2.8, will be removed
GetImageDownload(context.Context, *ImageDownload) (*ImageDownload, error)
// List image download db records for a given device
+ // Deprecated in voltha 2.8, will be removed
ListImageDownloads(context.Context, *common.ID) (*ImageDownloads, error)
// Cancel an existing image download process on a device
+ // Deprecated in voltha 2.8, will be removed
CancelImageDownload(context.Context, *ImageDownload) (*common.OperationResp, error)
// Activate the specified image at a standby partition
// to active partition.
@@ -3240,6 +3521,7 @@
// If no reboot, then a reboot is required to make the
// activated image running on device
// Note that the call is expected to be non-blocking.
+ // Deprecated in voltha 2.8, will be removed
ActivateImageUpdate(context.Context, *ImageDownload) (*common.OperationResp, error)
// Revert the specified image at standby partition
// to active partition, and revert to previous image
@@ -3248,7 +3530,36 @@
// If no reboot, then a reboot is required to make the
// previous image running on device
// Note that the call is expected to be non-blocking.
+ // Deprecated in voltha 2.8, will be removed
RevertImageUpdate(context.Context, *ImageDownload) (*common.OperationResp, error)
+ // Downloads a certain image to the standby partition of the devices
+ // Note that the call is expected to be non-blocking.
+ DownloadImageToDevice(context.Context, *DeviceImageDownloadRequest) (*DeviceImageResponse, error)
+ // Get image status on a number of devices devices
+ // Polled from northbound systems to get state of download/activate/commit
+ GetImageStatus(context.Context, *DeviceImageRequest) (*DeviceImageResponse, error)
+ // Aborts the upgrade of an image on a device
+ // To be used carefully, stops any further operations for the Image on the given devices
+ // Might also stop if possible existing work, but no guarantees are given,
+ // depends on implementation and procedure status.
+ AbortImageUpgradeToDevice(context.Context, *DeviceImageRequest) (*DeviceImageResponse, error)
+ // Get Both Active and Standby image for a given device
+ GetOnuImages(context.Context, *common.ID) (*OnuImages, error)
+ // Activate the specified image from a standby partition
+ // to active partition.
+ // Depending on the device implementation, this call
+ // may or may not cause device reboot.
+ // If no reboot, then a reboot is required to make the
+ // activated image running on device
+ // Note that the call is expected to be non-blocking.
+ ActivateImage(context.Context, *DeviceImageRequest) (*DeviceImageResponse, error)
+ // Commit the specified image to be default.
+ // Depending on the device implementation, this call
+ // may or may not cause device reboot.
+ // If no reboot, then a reboot is required to make the
+ // activated image running on device upon next reboot
+ // Note that the call is expected to be non-blocking.
+ CommitImage(context.Context, *DeviceImageRequest) (*DeviceImageResponse, error)
// List ports of a device
ListDevicePorts(context.Context, *common.ID) (*Ports, error)
// List pm config of a device
@@ -3405,6 +3716,24 @@
func (*UnimplementedVolthaServiceServer) RevertImageUpdate(ctx context.Context, req *ImageDownload) (*common.OperationResp, error) {
return nil, status.Errorf(codes.Unimplemented, "method RevertImageUpdate not implemented")
}
+func (*UnimplementedVolthaServiceServer) DownloadImageToDevice(ctx context.Context, req *DeviceImageDownloadRequest) (*DeviceImageResponse, error) {
+ return nil, status.Errorf(codes.Unimplemented, "method DownloadImageToDevice not implemented")
+}
+func (*UnimplementedVolthaServiceServer) GetImageStatus(ctx context.Context, req *DeviceImageRequest) (*DeviceImageResponse, error) {
+ return nil, status.Errorf(codes.Unimplemented, "method GetImageStatus not implemented")
+}
+func (*UnimplementedVolthaServiceServer) AbortImageUpgradeToDevice(ctx context.Context, req *DeviceImageRequest) (*DeviceImageResponse, error) {
+ return nil, status.Errorf(codes.Unimplemented, "method AbortImageUpgradeToDevice not implemented")
+}
+func (*UnimplementedVolthaServiceServer) GetOnuImages(ctx context.Context, req *common.ID) (*OnuImages, error) {
+ return nil, status.Errorf(codes.Unimplemented, "method GetOnuImages not implemented")
+}
+func (*UnimplementedVolthaServiceServer) ActivateImage(ctx context.Context, req *DeviceImageRequest) (*DeviceImageResponse, error) {
+ return nil, status.Errorf(codes.Unimplemented, "method ActivateImage not implemented")
+}
+func (*UnimplementedVolthaServiceServer) CommitImage(ctx context.Context, req *DeviceImageRequest) (*DeviceImageResponse, error) {
+ return nil, status.Errorf(codes.Unimplemented, "method CommitImage not implemented")
+}
func (*UnimplementedVolthaServiceServer) ListDevicePorts(ctx context.Context, req *common.ID) (*Ports, error) {
return nil, status.Errorf(codes.Unimplemented, "method ListDevicePorts not implemented")
}
@@ -4124,6 +4453,114 @@
return interceptor(ctx, in, info, handler)
}
+func _VolthaService_DownloadImageToDevice_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(DeviceImageDownloadRequest)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(VolthaServiceServer).DownloadImageToDevice(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: "/voltha.VolthaService/DownloadImageToDevice",
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(VolthaServiceServer).DownloadImageToDevice(ctx, req.(*DeviceImageDownloadRequest))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _VolthaService_GetImageStatus_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(DeviceImageRequest)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(VolthaServiceServer).GetImageStatus(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: "/voltha.VolthaService/GetImageStatus",
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(VolthaServiceServer).GetImageStatus(ctx, req.(*DeviceImageRequest))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _VolthaService_AbortImageUpgradeToDevice_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(DeviceImageRequest)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(VolthaServiceServer).AbortImageUpgradeToDevice(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: "/voltha.VolthaService/AbortImageUpgradeToDevice",
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(VolthaServiceServer).AbortImageUpgradeToDevice(ctx, req.(*DeviceImageRequest))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _VolthaService_GetOnuImages_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(common.ID)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(VolthaServiceServer).GetOnuImages(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: "/voltha.VolthaService/GetOnuImages",
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(VolthaServiceServer).GetOnuImages(ctx, req.(*common.ID))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _VolthaService_ActivateImage_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(DeviceImageRequest)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(VolthaServiceServer).ActivateImage(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: "/voltha.VolthaService/ActivateImage",
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(VolthaServiceServer).ActivateImage(ctx, req.(*DeviceImageRequest))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _VolthaService_CommitImage_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(DeviceImageRequest)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(VolthaServiceServer).CommitImage(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: "/voltha.VolthaService/CommitImage",
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(VolthaServiceServer).CommitImage(ctx, req.(*DeviceImageRequest))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
func _VolthaService_ListDevicePorts_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(common.ID)
if err := dec(in); err != nil {
@@ -4787,6 +5224,30 @@
Handler: _VolthaService_RevertImageUpdate_Handler,
},
{
+ MethodName: "DownloadImageToDevice",
+ Handler: _VolthaService_DownloadImageToDevice_Handler,
+ },
+ {
+ MethodName: "GetImageStatus",
+ Handler: _VolthaService_GetImageStatus_Handler,
+ },
+ {
+ MethodName: "AbortImageUpgradeToDevice",
+ Handler: _VolthaService_AbortImageUpgradeToDevice_Handler,
+ },
+ {
+ MethodName: "GetOnuImages",
+ Handler: _VolthaService_GetOnuImages_Handler,
+ },
+ {
+ MethodName: "ActivateImage",
+ Handler: _VolthaService_ActivateImage_Handler,
+ },
+ {
+ MethodName: "CommitImage",
+ Handler: _VolthaService_CommitImage_Handler,
+ },
+ {
MethodName: "ListDevicePorts",
Handler: _VolthaService_ListDevicePorts_Handler,
},
diff --git a/vendor/modules.txt b/vendor/modules.txt
index 030cfa9..27b3671 100644
--- a/vendor/modules.txt
+++ b/vendor/modules.txt
@@ -56,7 +56,7 @@
# github.com/jcmturner/gofork v1.0.0
github.com/jcmturner/gofork/encoding/asn1
github.com/jcmturner/gofork/x/crypto/pbkdf2
-# github.com/opencord/voltha-lib-go/v4 v4.2.3
+# github.com/opencord/voltha-lib-go/v4 v4.3.1
## explicit
github.com/opencord/voltha-lib-go/v4/pkg/adapters
github.com/opencord/voltha-lib-go/v4/pkg/adapters/adapterif
@@ -74,7 +74,7 @@
github.com/opencord/voltha-lib-go/v4/pkg/probe
github.com/opencord/voltha-lib-go/v4/pkg/techprofile
github.com/opencord/voltha-lib-go/v4/pkg/version
-# github.com/opencord/voltha-protos/v4 v4.1.0
+# github.com/opencord/voltha-protos/v4 v4.1.1
## explicit
github.com/opencord/voltha-protos/v4/go/common
github.com/opencord/voltha-protos/v4/go/ext/config