VOL-1596 Add Support for handling multicast groups in OpenOLT Adapter.
VOL-1595 Add Support for handling multicast flows in OpenOLT Adapter.
Depends voltha-protos from the patch below:
https://gerrit.opencord.org/#/c/16690/
Change-Id: I1cc9900bd6400bb31aed11beda674138838a21d2
diff --git a/Makefile b/Makefile
index ce333d4..f7b7e37 100644
--- a/Makefile
+++ b/Makefile
@@ -81,17 +81,17 @@
local-protos:
ifdef LOCAL_PROTOS
- rm -rf vendor/github.com/opencord/voltha-protos/v2/go
- mkdir -p vendor/github.com/opencord/voltha-protos/v2/go
- cp -r ${LOCAL_PROTOS}/go/* vendor/github.com/opencord/voltha-protos/v2/go
- rm -rf vendor/github.com/opencord/voltha-protos/v2/go/vendor
+ rm -rf vendor/github.com/opencord/voltha-protos/v3/go
+ mkdir -p vendor/github.com/opencord/voltha-protos/v3/go
+ cp -r ${LOCAL_PROTOS}/go/* vendor/github.com/opencord/voltha-protos/v3/go
+ rm -rf vendor/github.com/opencord/voltha-protos/v3/go/vendor
endif
## Local Development Helpers
local-lib-go:
ifdef LOCAL_LIB_GO
- mkdir -p vendor/github.com/opencord/voltha-lib-go/v2/pkg
- cp -r ${LOCAL_LIB_GO}/pkg/* vendor/github.com/opencord/voltha-lib-go/v2/pkg/
+ mkdir -p vendor/github.com/opencord/voltha-lib-go/v3/pkg
+ cp -r ${LOCAL_LIB_GO}/pkg/* vendor/github.com/opencord/voltha-lib-go/v3/pkg/
endif
## Docker targets
diff --git a/VERSION b/VERSION
index b7aaf72..276cbf9 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-2.2.7-dev
+2.3.0
diff --git a/adaptercore/device_handler.go b/adaptercore/device_handler.go
index 3ec4d0e..3def7bc 100644
--- a/adaptercore/device_handler.go
+++ b/adaptercore/device_handler.go
@@ -34,15 +34,15 @@
backoff "github.com/cenkalti/backoff/v3"
"github.com/gogo/protobuf/proto"
"github.com/golang/protobuf/ptypes"
- "github.com/opencord/voltha-lib-go/v2/pkg/adapters/adapterif"
- "github.com/opencord/voltha-lib-go/v2/pkg/log"
- "github.com/opencord/voltha-lib-go/v2/pkg/pmmetrics"
+ "github.com/opencord/voltha-lib-go/v3/pkg/adapters/adapterif"
+ "github.com/opencord/voltha-lib-go/v3/pkg/log"
+ "github.com/opencord/voltha-lib-go/v3/pkg/pmmetrics"
rsrcMgr "github.com/opencord/voltha-openolt-adapter/adaptercore/resourcemanager"
- "github.com/opencord/voltha-protos/v2/go/common"
- ic "github.com/opencord/voltha-protos/v2/go/inter_container"
- of "github.com/opencord/voltha-protos/v2/go/openflow_13"
- oop "github.com/opencord/voltha-protos/v2/go/openolt"
- "github.com/opencord/voltha-protos/v2/go/voltha"
+ "github.com/opencord/voltha-protos/v3/go/common"
+ ic "github.com/opencord/voltha-protos/v3/go/inter_container"
+ of "github.com/opencord/voltha-protos/v3/go/openflow_13"
+ oop "github.com/opencord/voltha-protos/v3/go/openolt"
+ "github.com/opencord/voltha-protos/v3/go/voltha"
"google.golang.org/grpc"
"google.golang.org/grpc/status"
)
@@ -228,7 +228,7 @@
}
func (dh *DeviceHandler) addPort(intfID uint32, portType voltha.Port_PortType, state string) {
- var operStatus common.OperStatus_OperStatus
+ var operStatus common.OperStatus_Types
if state == "up" {
operStatus = voltha.OperStatus_ACTIVE
} else {
@@ -798,7 +798,7 @@
func (dh *DeviceHandler) sendProxiedMessage(onuDevice *voltha.Device, omciMsg *ic.InterAdapterOmciMessage) {
var intfID uint32
var onuID uint32
- var connectStatus common.ConnectStatus_ConnectStatus
+ var connectStatus common.ConnectStatus_Types
if onuDevice != nil {
intfID = onuDevice.ProxyAddress.GetChannelId()
onuID = onuDevice.ProxyAddress.GetOnuId()
@@ -1120,6 +1120,18 @@
// dh.flowMgr.RemoveFlow(flow)
}
}
+
+ if groups != nil {
+ for _, group := range groups.ToAdd.Items {
+ dh.flowMgr.AddGroup(group)
+ }
+ for _, group := range groups.ToUpdate.Items {
+ dh.flowMgr.ModifyGroup(group)
+ }
+ if len(groups.ToRemove.Items) != 0 {
+ log.Debug("Group delete operation is not supported for now")
+ }
+ }
log.Debug("UpdateFlowsIncrementally done successfully")
return nil
}
diff --git a/adaptercore/device_handler_test.go b/adaptercore/device_handler_test.go
index 26b86ba..82cd862 100644
--- a/adaptercore/device_handler_test.go
+++ b/adaptercore/device_handler_test.go
@@ -25,21 +25,21 @@
"testing"
"time"
- "github.com/opencord/voltha-lib-go/v2/pkg/pmmetrics"
+ "github.com/opencord/voltha-lib-go/v3/pkg/pmmetrics"
"github.com/golang/protobuf/ptypes"
"github.com/golang/protobuf/ptypes/any"
- "github.com/opencord/voltha-lib-go/v2/pkg/db"
- fu "github.com/opencord/voltha-lib-go/v2/pkg/flows"
- "github.com/opencord/voltha-lib-go/v2/pkg/log"
- ponrmgr "github.com/opencord/voltha-lib-go/v2/pkg/ponresourcemanager"
+ "github.com/opencord/voltha-lib-go/v3/pkg/db"
+ fu "github.com/opencord/voltha-lib-go/v3/pkg/flows"
+ "github.com/opencord/voltha-lib-go/v3/pkg/log"
+ ponrmgr "github.com/opencord/voltha-lib-go/v3/pkg/ponresourcemanager"
"github.com/opencord/voltha-openolt-adapter/adaptercore/resourcemanager"
"github.com/opencord/voltha-openolt-adapter/mocks"
- ic "github.com/opencord/voltha-protos/v2/go/inter_container"
- of "github.com/opencord/voltha-protos/v2/go/openflow_13"
- ofp "github.com/opencord/voltha-protos/v2/go/openflow_13"
- oop "github.com/opencord/voltha-protos/v2/go/openolt"
- "github.com/opencord/voltha-protos/v2/go/voltha"
+ ic "github.com/opencord/voltha-protos/v3/go/inter_container"
+ of "github.com/opencord/voltha-protos/v3/go/openflow_13"
+ ofp "github.com/opencord/voltha-protos/v3/go/openflow_13"
+ oop "github.com/opencord/voltha-protos/v3/go/openolt"
+ "github.com/opencord/voltha-protos/v3/go/voltha"
)
func init() {
diff --git a/adaptercore/olt_platform.go b/adaptercore/olt_platform.go
index 8c7cf8d..efc0029 100644
--- a/adaptercore/olt_platform.go
+++ b/adaptercore/olt_platform.go
@@ -20,10 +20,10 @@
import (
"errors"
- "github.com/opencord/voltha-lib-go/v2/pkg/flows"
- "github.com/opencord/voltha-lib-go/v2/pkg/log"
- ofp "github.com/opencord/voltha-protos/v2/go/openflow_13"
- "github.com/opencord/voltha-protos/v2/go/voltha"
+ "github.com/opencord/voltha-lib-go/v3/pkg/flows"
+ "github.com/opencord/voltha-lib-go/v3/pkg/log"
+ ofp "github.com/opencord/voltha-protos/v3/go/openflow_13"
+ "github.com/opencord/voltha-protos/v3/go/voltha"
)
/*=====================================================================
diff --git a/adaptercore/olt_platform_test.go b/adaptercore/olt_platform_test.go
index 7a799b8..141e8bd 100644
--- a/adaptercore/olt_platform_test.go
+++ b/adaptercore/olt_platform_test.go
@@ -22,9 +22,9 @@
"reflect"
"testing"
- fu "github.com/opencord/voltha-lib-go/v2/pkg/flows"
- ofp "github.com/opencord/voltha-protos/v2/go/openflow_13"
- "github.com/opencord/voltha-protos/v2/go/voltha"
+ fu "github.com/opencord/voltha-lib-go/v3/pkg/flows"
+ ofp "github.com/opencord/voltha-protos/v3/go/openflow_13"
+ "github.com/opencord/voltha-protos/v3/go/voltha"
)
func TestMkUniPortNum(t *testing.T) {
diff --git a/adaptercore/olt_state_transitions.go b/adaptercore/olt_state_transitions.go
index feb07d7..697ee5f 100644
--- a/adaptercore/olt_state_transitions.go
+++ b/adaptercore/olt_state_transitions.go
@@ -21,7 +21,7 @@
"reflect"
"runtime"
- "github.com/opencord/voltha-lib-go/v2/pkg/log"
+ "github.com/opencord/voltha-lib-go/v3/pkg/log"
)
// DeviceState OLT Device state
diff --git a/adaptercore/openolt.go b/adaptercore/openolt.go
index 375b137..7a53524 100644
--- a/adaptercore/openolt.go
+++ b/adaptercore/openolt.go
@@ -24,13 +24,13 @@
"sync"
"time"
- "github.com/opencord/voltha-lib-go/v2/pkg/adapters/adapterif"
- "github.com/opencord/voltha-lib-go/v2/pkg/kafka"
- "github.com/opencord/voltha-lib-go/v2/pkg/log"
+ "github.com/opencord/voltha-lib-go/v3/pkg/adapters/adapterif"
+ "github.com/opencord/voltha-lib-go/v3/pkg/kafka"
+ "github.com/opencord/voltha-lib-go/v3/pkg/log"
"github.com/opencord/voltha-openolt-adapter/config"
- ic "github.com/opencord/voltha-protos/v2/go/inter_container"
- "github.com/opencord/voltha-protos/v2/go/openflow_13"
- "github.com/opencord/voltha-protos/v2/go/voltha"
+ ic "github.com/opencord/voltha-protos/v3/go/inter_container"
+ "github.com/opencord/voltha-protos/v3/go/openflow_13"
+ "github.com/opencord/voltha-protos/v3/go/voltha"
)
//OpenOLT structure holds the OLT information
diff --git a/adaptercore/openolt_eventmgr.go b/adaptercore/openolt_eventmgr.go
index 19661ea..75086dc 100644
--- a/adaptercore/openolt_eventmgr.go
+++ b/adaptercore/openolt_eventmgr.go
@@ -21,10 +21,10 @@
"fmt"
"strconv"
- "github.com/opencord/voltha-lib-go/v2/pkg/adapters/adapterif"
- "github.com/opencord/voltha-lib-go/v2/pkg/log"
- oop "github.com/opencord/voltha-protos/v2/go/openolt"
- "github.com/opencord/voltha-protos/v2/go/voltha"
+ "github.com/opencord/voltha-lib-go/v3/pkg/adapters/adapterif"
+ "github.com/opencord/voltha-lib-go/v3/pkg/log"
+ oop "github.com/opencord/voltha-protos/v3/go/openolt"
+ "github.com/opencord/voltha-protos/v3/go/voltha"
)
const (
diff --git a/adaptercore/openolt_eventmgr_test.go b/adaptercore/openolt_eventmgr_test.go
index 7430be4..7dbda43 100644
--- a/adaptercore/openolt_eventmgr_test.go
+++ b/adaptercore/openolt_eventmgr_test.go
@@ -23,7 +23,7 @@
"time"
"github.com/opencord/voltha-openolt-adapter/mocks"
- oop "github.com/opencord/voltha-protos/v2/go/openolt"
+ oop "github.com/opencord/voltha-protos/v3/go/openolt"
)
func mockEventMgr() *OpenOltEventMgr {
diff --git a/adaptercore/openolt_flowmgr.go b/adaptercore/openolt_flowmgr.go
index 3376809..b8af453 100644
--- a/adaptercore/openolt_flowmgr.go
+++ b/adaptercore/openolt_flowmgr.go
@@ -28,16 +28,16 @@
"sync"
"time"
- "github.com/opencord/voltha-lib-go/v2/pkg/flows"
- "github.com/opencord/voltha-lib-go/v2/pkg/log"
- tp "github.com/opencord/voltha-lib-go/v2/pkg/techprofile"
+ "github.com/opencord/voltha-lib-go/v3/pkg/flows"
+ "github.com/opencord/voltha-lib-go/v3/pkg/log"
+ tp "github.com/opencord/voltha-lib-go/v3/pkg/techprofile"
rsrcMgr "github.com/opencord/voltha-openolt-adapter/adaptercore/resourcemanager"
- "github.com/opencord/voltha-protos/v2/go/common"
- ic "github.com/opencord/voltha-protos/v2/go/inter_container"
- ofp "github.com/opencord/voltha-protos/v2/go/openflow_13"
- openoltpb2 "github.com/opencord/voltha-protos/v2/go/openolt"
- tp_pb "github.com/opencord/voltha-protos/v2/go/tech_profile"
- "github.com/opencord/voltha-protos/v2/go/voltha"
+ "github.com/opencord/voltha-protos/v3/go/common"
+ ic "github.com/opencord/voltha-protos/v3/go/inter_container"
+ ofp "github.com/opencord/voltha-protos/v3/go/openflow_13"
+ openoltpb2 "github.com/opencord/voltha-protos/v3/go/openolt"
+ tp_pb "github.com/opencord/voltha-protos/v3/go/tech_profile"
+ "github.com/opencord/voltha-protos/v3/go/voltha"
//deepcopy "github.com/getlantern/deepcopy"
"github.com/EagleChen/mapmutex"
@@ -57,6 +57,9 @@
//DhcpFlow flow category
DhcpFlow = "DHCP_FLOW"
+ //MulticastFlow flow category
+ MulticastFlow = "MULTICAST_FLOW"
+
//IgmpFlow flow category
IgmpFlow = "IGMP_FLOW"
@@ -90,6 +93,8 @@
Upstream = "upstream"
//Downstream constant
Downstream = "downstream"
+ //Multicast constant
+ Multicast = "multicast"
//PacketTagType constant
PacketTagType = "pkt_tag_type"
//Untagged constant
@@ -103,6 +108,8 @@
//EthType constant
EthType = "eth_type"
+ //EthDst constant
+ EthDst = "eth_dst"
//TPID constant
TPID = "tpid"
//IPProto constant
@@ -128,6 +135,8 @@
TunnelID = "tunnel_id"
//Output constant
Output = "output"
+ //GroupID constant
+ GroupID = "group_id"
// Actions
//PopVlan constant
@@ -152,6 +161,13 @@
PortNo = "portNo"
//AllocID constant
AllocID = "allocId"
+
+ //NoneOnuID constant
+ NoneOnuID = -1
+ //NoneUniID constant
+ NoneUniID = -1
+ //NoneGemPortID constant
+ NoneGemPortID = -1
)
type gemPortKey struct {
@@ -183,6 +199,11 @@
flowMetadata *voltha.FlowMetadata
}
+type queueInfoBrief struct {
+ gemPortID uint32
+ servicePriority uint32
+}
+
//OpenOltFlowMgr creates the Structure of OpenOltFlowMgr obj
type OpenOltFlowMgr struct {
techprofile map[uint32]tp.TechProfileIf
@@ -195,7 +216,8 @@
lockCache sync.RWMutex
pendingFlowDelete sync.Map
// The mapmutex.Mutex can be fine tuned to use mapmutex.NewCustomizedMapMutex
- perUserFlowHandleLock *mapmutex.Mutex
+ perUserFlowHandleLock *mapmutex.Mutex
+ interfaceToMcastQueueMap map[uint32]*queueInfoBrief /*pon interface -> multicast queue map. Required to assign GEM to a bucket during group population*/
}
//NewFlowManager creates OpenOltFlowMgr object and initializes the parameters
@@ -228,6 +250,9 @@
flowMgr.lockCache = sync.RWMutex{}
flowMgr.pendingFlowDelete = sync.Map{}
flowMgr.perUserFlowHandleLock = mapmutex.NewMapMutex()
+ flowMgr.interfaceToMcastQueueMap = make(map[uint32]*queueInfoBrief)
+ //load interface to multicast queue map from kv store
+ flowMgr.loadInterfaceToMulticastQueueMap()
log.Info("Initialization of flow manager success!!")
return &flowMgr
}
@@ -239,6 +264,9 @@
} else if direction == Downstream {
log.Debug("downstream flow, not shifting id")
return uint64(flowID), nil
+ } else if direction == Multicast {
+ log.Debug("multicast flow, shifting id")
+ return 0x2<<15 | uint64(flowID), nil
} else {
log.Debug("Unrecognized direction")
return 0, fmt.Errorf("unrecognized direction %s", direction)
@@ -427,6 +455,25 @@
return err
}
+ if sq.direction == tp_pb.Direction_DOWNSTREAM {
+ multicastTrafficQueues := f.techprofile[sq.intfID].GetMulticastTrafficQueues(sq.tpInst)
+ if len(multicastTrafficQueues) > 0 {
+ if _, present := f.interfaceToMcastQueueMap[sq.intfID]; !present {
+ //assumed that there is only one queue per PON for the multicast service
+ //the default queue with multicastQueuePerPonPort.Priority per a pon interface is used for multicast service
+ //just put it in interfaceToMcastQueueMap to use for building group members
+ multicastQueuePerPonPort := multicastTrafficQueues[0]
+ f.interfaceToMcastQueueMap[sq.intfID] = &queueInfoBrief{
+ gemPortID: multicastQueuePerPonPort.GemportId,
+ servicePriority: multicastQueuePerPonPort.Priority,
+ }
+ //also store the queue info in kv store
+ f.resourceMgr.AddMcastQueueForIntf(sq.intfID,
+ multicastQueuePerPonPort.GemportId,
+ multicastQueuePerPonPort.Priority)
+ }
+ }
+ }
return nil
}
@@ -998,6 +1045,7 @@
classifier.DstPort, _ = classifierInfo[UDPDst].(uint32)
classifier.DstIp, _ = classifierInfo[Ipv4Dst].(uint32)
classifier.SrcIp, _ = classifierInfo[Ipv4Src].(uint32)
+ classifier.DstMac, _ = classifierInfo[EthDst].([]uint8)
if pktTagType, ok := classifierInfo[PacketTagType].(string); ok {
classifier.PktTagType = pktTagType
@@ -1505,6 +1553,12 @@
func (f *OpenOltFlowMgr) clearFlowFromResourceManager(flow *ofp.OfpFlowStats, flowDirection string) {
log.Debugw("clearFlowFromResourceManager", log.Fields{"flowDirection": flowDirection, "flow": *flow})
+
+ if flowDirection == Multicast {
+ f.clearMulticastFlowFromResourceManager(flow)
+ return
+ }
+
var updatedFlows []rsrcMgr.FlowInfo
var flowID uint32
var onuID, uniID int32
@@ -1570,6 +1624,61 @@
}
}
+//clearMulticastFlowFromResourceManager removes a multicast flow from the KV store and
+// clears resources reserved for this multicast flow
+func (f *OpenOltFlowMgr) clearMulticastFlowFromResourceManager(flow *ofp.OfpFlowStats) {
+ classifierInfo := make(map[string]interface{})
+ formulateClassifierInfoFromFlow(classifierInfo, flow)
+ inPort, err := f.getInPortOfMulticastFlow(classifierInfo)
+
+ if err != nil {
+ log.Warnw("No inPort found. Cannot release resources of the multicast flow.", log.Fields{"flowId:": flow.Id})
+ return
+ }
+
+ networkInterfaceID := IntfIDFromNniPortNum(inPort)
+ var onuID = int32(NoneOnuID)
+ var uniID = int32(NoneUniID)
+ var flowID uint32
+ var updatedFlows []rsrcMgr.FlowInfo
+
+ flowIds := f.resourceMgr.GetCurrentFlowIDsForOnu(networkInterfaceID, onuID, uniID)
+
+ for _, flowID = range flowIds {
+ flowInfo := f.resourceMgr.GetFlowIDInfo(networkInterfaceID, onuID, uniID, flowID)
+ if flowInfo == nil {
+ log.Debugw("No multicast FlowInfo found in the KV store",
+ log.Fields{"Intf": networkInterfaceID, "onuID": onuID, "uniID": uniID, "flowID": flowID})
+ continue
+ }
+ updatedFlows = nil
+ for _, flow := range *flowInfo {
+ updatedFlows = append(updatedFlows, flow)
+ }
+ for i, storedFlow := range updatedFlows {
+ if flow.Id == storedFlow.LogicalFlowID {
+ removeFlowMessage := openoltpb2.Flow{FlowId: storedFlow.Flow.FlowId, FlowType: storedFlow.Flow.FlowType}
+ log.Debugw("Multicast flow to be deleted", log.Fields{"flow": storedFlow})
+ //remove from device
+ if ok := f.removeFlowFromDevice(&removeFlowMessage); !ok {
+ log.Errorw("Failed to remove multicast flow from device", log.Fields{"flowId": flow.Id})
+ return
+ }
+ log.Debugw("Multicast flow removed from device successfully", log.Fields{"flowId": flow.Id})
+ //Remove the Flow from FlowInfo
+ updatedFlows = append(updatedFlows[:i], updatedFlows[i+1:]...)
+ if err := f.updateFlowInfoToKVStore(int32(networkInterfaceID), NoneOnuID, NoneUniID, flowID, &updatedFlows); err != nil {
+ log.Error("Failed to delete multicast flow from the KV store", log.Fields{"flow": storedFlow, "err": err})
+ return
+ }
+ //release flow id
+ log.Debugw("Releasing multicast flow id", log.Fields{"flowId": flowID, "interfaceID": networkInterfaceID})
+ f.resourceMgr.FreeFlowID(uint32(networkInterfaceID), NoneOnuID, NoneUniID, flowID)
+ }
+ }
+ }
+}
+
//RemoveFlow removes the flow from the device
func (f *OpenOltFlowMgr) RemoveFlow(flow *ofp.OfpFlowStats) {
log.Debugw("Removing Flow", log.Fields{"flow": flow})
@@ -1587,12 +1696,14 @@
}
}
}
- if IsUpstream(actionInfo[Output].(uint32)) {
+
+ if flows.HasGroup(flow) {
+ direction = Multicast
+ } else if IsUpstream(actionInfo[Output].(uint32)) {
direction = Upstream
} else {
direction = Downstream
}
-
f.clearFlowFromResourceManager(flow, direction) //TODO: Take care of the limitations
return
@@ -1650,6 +1761,12 @@
return
}
+ if flows.HasGroup(flow) {
+ // handle multicast flow
+ f.handleFlowWithGroup(actionInfo, classifierInfo, flow)
+ return
+ }
+
/* Controller bound trap flows */
err = formulateControllerBoundTrapFlowInfo(actionInfo, classifierInfo, flow)
if err != nil {
@@ -1723,6 +1840,283 @@
}
}
+// handleFlowWithGroup adds multicast flow to the device.
+func (f *OpenOltFlowMgr) handleFlowWithGroup(actionInfo, classifierInfo map[string]interface{}, flow *ofp.OfpFlowStats) {
+ classifierInfo[PacketTagType] = DoubleTag
+ log.Debugw("add-multicast-flow", log.Fields{"classifierInfo": classifierInfo, "actionInfo": actionInfo})
+
+ inPort, err := f.getInPortOfMulticastFlow(classifierInfo)
+ if err != nil {
+ log.Warnw("No inPort found. Ignoring multicast flow.", log.Fields{"flowId:": flow.Id})
+ return
+ }
+ //replace ipDst with ethDst
+ if ipv4Dst, ok := classifierInfo[Ipv4Dst]; ok &&
+ flows.IsMulticastIp(ipv4Dst.(uint32)) {
+ // replace ipv4_dst classifier with eth_dst
+ multicastMac := flows.ConvertToMulticastMacBytes(ipv4Dst.(uint32))
+ delete(classifierInfo, Ipv4Dst)
+ delete(classifierInfo, EthType)
+ classifierInfo[EthDst] = multicastMac
+ log.Debugw("multicast-ip-to-mac-conversion-success", log.Fields{"ip:": ipv4Dst.(uint32), "mac:": multicastMac})
+ }
+
+ var onuID = NoneOnuID
+ var uniID = NoneUniID
+ var gemPortID = NoneGemPortID
+
+ networkInterfaceID := IntfIDFromNniPortNum(inPort)
+
+ var flowStoreCookie = getFlowStoreCookie(classifierInfo, uint32(0))
+ if present := f.resourceMgr.IsFlowCookieOnKVStore(uint32(networkInterfaceID), int32(onuID), int32(uniID), flowStoreCookie); present {
+ log.Debugw("multicast-flow-exists--not-re-adding", log.Fields{"classifierInfo": classifierInfo})
+ return
+ }
+ flowID, err := f.resourceMgr.GetFlowID(uint32(networkInterfaceID), int32(onuID), int32(uniID), uint32(gemPortID), flowStoreCookie, "", 0, 0)
+ if err != nil {
+ log.Errorw("Flow id unavailable for multicast flow", log.Fields{"error": err})
+ return
+ }
+ var classifierProto *openoltpb2.Classifier
+ if classifierProto = makeOpenOltClassifierField(classifierInfo); classifierProto == nil {
+ log.Error("Error in making classifier protobuf for multicast flow")
+ return
+ }
+ groupID := actionInfo[GroupID].(uint32)
+ multicastFlow := openoltpb2.Flow{
+ FlowId: flowID,
+ FlowType: Multicast,
+ NetworkIntfId: int32(networkInterfaceID),
+ GroupId: groupID,
+ Classifier: classifierProto,
+ Priority: int32(flow.Priority),
+ Cookie: flow.Cookie}
+
+ if ok := f.addFlowToDevice(flow, &multicastFlow); ok {
+ log.Debug("multicast flow added to device successfully")
+ //get cached group
+ group, _, err := f.GetFlowGroupFromKVStore(groupID, true)
+ if err == nil {
+ //calling groupAdd to set group members after multicast flow creation
+ if f.ModifyGroup(group) {
+ //cached group can be removed now
+ f.resourceMgr.RemoveFlowGroupFromKVStore(groupID, true)
+ }
+ }
+
+ flowsToKVStore := f.getUpdatedFlowInfo(&multicastFlow, flowStoreCookie, MulticastFlow, flowID, flow.Id)
+ if err := f.updateFlowInfoToKVStore(int32(networkInterfaceID),
+ int32(onuID),
+ int32(uniID),
+ flowID, flowsToKVStore); err != nil {
+ log.Errorw("Error uploading multicast flow into KV store", log.Fields{"flow": multicastFlow, "error": err})
+ }
+ }
+ return
+}
+
+//getInPortOfMulticastFlow return inPort criterion if exists; returns NNI interface of the device otherwise
+func (f *OpenOltFlowMgr) getInPortOfMulticastFlow(classifierInfo map[string]interface{}) (uint32, error) {
+ if _, ok := classifierInfo[InPort]; ok {
+ return classifierInfo[InPort].(uint32), nil
+ }
+ // find first NNI port of the device
+ nniPorts, e := f.resourceMgr.GetNNIFromKVStore()
+ if e == nil && len(nniPorts) > 0 {
+ return nniPorts[0], nil
+ }
+ return 0, errors.New("cannot find NNI port of device")
+}
+
+// AddGroup add or update the group
+func (f *OpenOltFlowMgr) AddGroup(group *ofp.OfpGroupEntry) {
+ log.Infow("add-group", log.Fields{"group": group})
+ if group == nil {
+ log.Warn("skipping nil group")
+ return
+ }
+
+ groupToOlt := openoltpb2.Group{
+ GroupId: group.Desc.GroupId,
+ Command: openoltpb2.Group_SET_MEMBERS,
+ Action: f.buildGroupAction(),
+ }
+
+ log.Debugw("Sending group to device", log.Fields{"groupToOlt": groupToOlt})
+ _, err := f.deviceHandler.Client.PerformGroupOperation(context.Background(), &groupToOlt)
+ if err != nil {
+ log.Errorw("add-group operation failed", log.Fields{"err": err, "groupToOlt": groupToOlt})
+ return
+ }
+ // group members not created yet. So let's store the group
+ if err := f.resourceMgr.AddFlowGroupToKVStore(group, true); err != nil {
+ log.Errorw("Group cannot be stored in KV store", log.Fields{"groupId": group.Desc.GroupId, "err": err})
+ } else {
+ log.Debugw("add-group operation performed on the device successfully ", log.Fields{"groupToOlt": groupToOlt})
+ }
+}
+
+//buildGroupAction creates and returns a group action
+func (f *OpenOltFlowMgr) buildGroupAction() *openoltpb2.Action {
+ var actionCmd openoltpb2.ActionCmd
+ var action openoltpb2.Action
+ action.Cmd = &actionCmd
+ //pop outer vlan
+ action.Cmd.RemoveOuterTag = true
+ return &action
+}
+
+// ModifyGroup updates the group
+func (f *OpenOltFlowMgr) ModifyGroup(group *ofp.OfpGroupEntry) bool {
+ log.Infow("modify-group", log.Fields{"group": group})
+ if group == nil || group.Desc == nil {
+ log.Warn("cannot modify group; group is nil")
+ return false
+ }
+
+ new := f.buildGroup(group.Desc.GroupId, group.Desc.Buckets)
+ //get existing members of the group
+ val, groupExists, err := f.GetFlowGroupFromKVStore(group.Desc.GroupId, false)
+
+ if err != nil {
+ log.Errorw("Failed to retrieve the group from the store. Cannot modify group.",
+ log.Fields{"groupId": group.Desc.GroupId, "err": err})
+ return false
+ }
+
+ var current *openoltpb2.Group
+ if groupExists {
+ // group already exists
+ current = f.buildGroup(group.Desc.GroupId, val.Desc.GetBuckets())
+ log.Debugw("modify-group: group exists.", log.Fields{"current": val, "new": group})
+ } else {
+ current = f.buildGroup(group.Desc.GroupId, nil)
+ }
+
+ log.Debugw("modify-group: comparing current and new.", log.Fields{"current": current, "new": new})
+ // check if the buckets are identical
+ bucketsIdentical := f.bucketsIdentical(current, new)
+
+ isSuccess := true
+ if !bucketsIdentical {
+ groupToOlt := openoltpb2.Group{
+ GroupId: group.Desc.GroupId,
+ Command: openoltpb2.Group_SET_MEMBERS,
+ Members: new.Members,
+ Action: f.buildGroupAction(),
+ }
+
+ if err := f.callGroupAdd(&groupToOlt); err != nil {
+ log.Warnw("One of the group add/remove operations has failed. Cannot save group modifications",
+ log.Fields{"group": group})
+ isSuccess = false
+ }
+ }
+
+ if isSuccess {
+ if err := f.resourceMgr.AddFlowGroupToKVStore(group, false); err != nil {
+ log.Errorw("Failed to save the group into kv store", log.Fields{"groupId": group.Desc.GroupId})
+ }
+ log.Debugw("modify-group was success. Storing the group", log.Fields{"group": group, "existingGroup": current})
+ }
+ return isSuccess
+}
+
+//bucketsIdentical returns true if groups are identical; false otherwise
+func (f *OpenOltFlowMgr) bucketsIdentical(current *openoltpb2.Group, new *openoltpb2.Group) bool {
+ if current.GroupId == new.GroupId &&
+ len(new.Members) == len(current.Members) {
+ diff := f.findDiff(current, new)
+ if diff == nil || len(diff) < 1 {
+ log.Infow("modify-group: current and new buckets are the same. Won't send SET_MEMBERS again.",
+ log.Fields{"groupId:": current.GroupId})
+ return true
+ }
+ }
+ return false
+}
+
+//findDiff compares group members and finds members which only exists in groups2
+func (f *OpenOltFlowMgr) findDiff(group1 *openoltpb2.Group, group2 *openoltpb2.Group) []*openoltpb2.GroupMember {
+ var members []*openoltpb2.GroupMember
+ for _, bucket := range group2.Members {
+ if !f.contains(group1.Members, bucket) {
+ // bucket does not exist and must be added
+ members = append(members, bucket)
+ }
+ }
+ return members
+}
+
+//contains returns true if the members list contains the given member; false otherwise
+func (f *OpenOltFlowMgr) contains(members []*openoltpb2.GroupMember, member *openoltpb2.GroupMember) bool {
+ for _, groupMember := range members {
+ if groupMember.InterfaceId == member.InterfaceId {
+ return true
+ }
+ }
+ return false
+}
+
+//callGroupAdd call GroupAdd operation of openolt proto
+func (f *OpenOltFlowMgr) callGroupAdd(group *openoltpb2.Group) error {
+ log.Debugw("Sending group to device", log.Fields{"groupToOlt": group, "command": group.Command})
+ _, err := f.deviceHandler.Client.PerformGroupOperation(context.Background(), group)
+ if err != nil {
+ log.Errorw("group operation failed", log.Fields{"err": err, "groupToOlt": group})
+ }
+ return err
+}
+
+//buildGroup build openoltpb2.Group from given group id and bucket list
+func (f *OpenOltFlowMgr) buildGroup(groupID uint32, buckets []*ofp.OfpBucket) *openoltpb2.Group {
+ group := openoltpb2.Group{
+ GroupId: groupID}
+ // create members of the group
+ if buckets != nil {
+ for _, ofBucket := range buckets {
+ member := f.buildMember(ofBucket)
+ if member != nil && !f.contains(group.Members, member) {
+ group.Members = append(group.Members, member)
+ }
+ }
+ }
+ return &group
+}
+
+//buildMember builds openoltpb2.GroupMember from an OpenFlow bucket
+func (f *OpenOltFlowMgr) buildMember(ofBucket *ofp.OfpBucket) *openoltpb2.GroupMember {
+ var outPort uint32
+ outPortFound := false
+ for _, ofAction := range ofBucket.Actions {
+ if ofAction.Type == ofp.OfpActionType_OFPAT_OUTPUT {
+ outPort = ofAction.GetOutput().Port
+ outPortFound = true
+ }
+ }
+
+ if !outPortFound {
+ log.Debugw("bucket skipped since no out port found in it",
+ log.Fields{"ofBucket": ofBucket})
+ return nil
+ }
+ interfaceID := IntfIDFromUniPortNum(outPort)
+ log.Debugw("got associated interface id of the port", log.Fields{"portNumber:": outPort, "interfaceId:": interfaceID})
+ if groupInfo, ok := f.interfaceToMcastQueueMap[interfaceID]; ok {
+ member := openoltpb2.GroupMember{
+ InterfaceId: interfaceID,
+ InterfaceType: openoltpb2.GroupMember_PON,
+ GemPortId: groupInfo.gemPortID,
+ Priority: groupInfo.servicePriority,
+ }
+ //add member to the group
+ return &member
+ }
+ log.Warnf("bucket skipped since interface-2-gem mapping cannot be found",
+ log.Fields{"ofBucket": ofBucket})
+ return nil
+}
+
//sendTPDownloadMsgToChild send payload
func (f *OpenOltFlowMgr) sendTPDownloadMsgToChild(intfID uint32, onuID uint32, uniID uint32, uni string, TpID uint32) error {
@@ -2228,6 +2622,9 @@
if field.Type == flows.ETH_TYPE {
classifierInfo[EthType] = field.GetEthType()
log.Debug("field-type-eth-type", log.Fields{"classifierInfo[ETH_TYPE]": classifierInfo[EthType].(uint32)})
+ } else if field.Type == flows.ETH_DST {
+ classifierInfo[EthDst] = field.GetEthDst()
+ log.Debug("field-type-eth-type", log.Fields{"classifierInfo[ETH_DST]": classifierInfo[EthDst].([]uint8)})
} else if field.Type == flows.IP_PROTO {
classifierInfo[IPProto] = field.GetIpProto()
log.Debug("field-type-ip-proto", log.Fields{"classifierInfo[IP_PROTO]": classifierInfo[IPProto].(uint32)})
@@ -2297,20 +2694,11 @@
return errors.New("invalid openflow class")
}
/*log.Debugw("action-type-set-field",log.Fields{"field": field, "in_port": classifierInfo[IN_PORT].(uint32)})*/
- if ofbField := field.GetOfbField(); ofbField != nil {
- if fieldtype := ofbField.GetType(); fieldtype == ofp.OxmOfbFieldTypes_OFPXMT_OFB_VLAN_VID {
- if vlan := ofbField.GetVlanVid(); vlan != 0 {
- actionInfo[VlanVid] = vlan & 0xfff
- log.Debugw("action-set-vlan-vid", log.Fields{"actionInfo[VLAN_VID]": actionInfo[VlanVid].(uint32)})
- } else {
- log.Error("No Invalid vlan id in set vlan-vid action")
- }
- } else {
- log.Errorw("unsupported-action-set-field-type", log.Fields{"type": fieldtype})
- }
- }
+ formulateSetFieldActionInfoFromFlow(field, actionInfo)
}
}
+ } else if action.Type == flows.GROUP {
+ formulateGroupActionInfoFromFlow(action, actionInfo)
} else {
log.Errorw("Un supported action type", log.Fields{"type": action.Type})
return errors.New("un supported action type")
@@ -2319,6 +2707,30 @@
return nil
}
+func formulateSetFieldActionInfoFromFlow(field *ofp.OfpOxmField, actionInfo map[string]interface{}) {
+ if ofbField := field.GetOfbField(); ofbField != nil {
+ if fieldtype := ofbField.GetType(); fieldtype == ofp.OxmOfbFieldTypes_OFPXMT_OFB_VLAN_VID {
+ if vlan := ofbField.GetVlanVid(); vlan != 0 {
+ actionInfo[VlanVid] = vlan & 0xfff
+ log.Debugw("action-set-vlan-vid", log.Fields{"actionInfo[VLAN_VID]": actionInfo[VlanVid].(uint32)})
+ } else {
+ log.Error("No Invalid vlan id in set vlan-vid action")
+ }
+ } else {
+ log.Errorw("unsupported-action-set-field-type", log.Fields{"type": fieldtype})
+ }
+ }
+}
+
+func formulateGroupActionInfoFromFlow(action *ofp.OfpAction, actionInfo map[string]interface{}) {
+ if action.GetGroup() == nil {
+ log.Warn("No group entry found in the group action")
+ } else {
+ actionInfo[GroupID] = action.GetGroup().GroupId
+ log.Debugw("action-group-id", log.Fields{"actionInfo[GroupID]": actionInfo[GroupID].(uint32)})
+ }
+}
+
func formulateControllerBoundTrapFlowInfo(actionInfo, classifierInfo map[string]interface{}, flow *ofp.OfpFlowStats) error {
if isControllerFlow := IsControllerBoundFlow(actionInfo[Output].(uint32)); isControllerFlow {
log.Debug("Controller bound trap flows, getting inport from tunnelid")
@@ -2456,3 +2868,54 @@
}
return
}
+
+//loadInterfaceToMulticastQueueMap reads multicast queues per interface from the KV store
+//and put them into interfaceToMcastQueueMap.
+func (f *OpenOltFlowMgr) loadInterfaceToMulticastQueueMap() {
+ storedMulticastQueueMap, err := f.resourceMgr.GetMcastQueuePerInterfaceMap()
+ if err != nil {
+ log.Error("Failed to get pon interface to multicast queue map")
+ return
+ }
+ for intf, queueInfo := range storedMulticastQueueMap {
+ q := queueInfoBrief{
+ gemPortID: queueInfo[0],
+ servicePriority: queueInfo[1],
+ }
+ f.interfaceToMcastQueueMap[intf] = &q
+ }
+}
+
+//GetFlowGroupFromKVStore fetches and returns flow group from the KV store. Returns (nil, false, error) if any problem occurs during
+//fetching the data. Returns (group, true, nil) if the group is fetched and returned successfully.
+//Returns (nil, false, nil) if the group does not exists in the KV store.
+func (f *OpenOltFlowMgr) GetFlowGroupFromKVStore(groupID uint32, cached bool) (*ofp.OfpGroupEntry, bool, error) {
+ exists, groupInfo, err := f.resourceMgr.GetFlowGroupFromKVStore(groupID, cached)
+ if err != nil {
+ log.Errorw("Failed to get the flow group from KV store", log.Fields{"groupId": groupID, "err": err})
+ return nil, false, errors.New("failed to retrieve the flow group")
+ }
+ if exists {
+ return newGroup(groupInfo.GroupID, groupInfo.OutPorts), exists, nil
+ }
+ return nil, exists, nil
+}
+
+func newGroup(groupID uint32, outPorts []uint32) *ofp.OfpGroupEntry {
+ groupDesc := ofp.OfpGroupDesc{
+ Type: ofp.OfpGroupType_OFPGT_ALL,
+ GroupId: groupID,
+ }
+ groupEntry := ofp.OfpGroupEntry{
+ Desc: &groupDesc,
+ }
+ var acts []*ofp.OfpAction
+ for i := 0; i < len(outPorts); i++ {
+ acts = append(acts, flows.Output(outPorts[i]))
+ }
+ bucket := ofp.OfpBucket{
+ Actions: acts,
+ }
+ groupDesc.Buckets = []*ofp.OfpBucket{&bucket}
+ return &groupEntry
+}
diff --git a/adaptercore/openolt_flowmgr_test.go b/adaptercore/openolt_flowmgr_test.go
index 3b19081..8342a79 100644
--- a/adaptercore/openolt_flowmgr_test.go
+++ b/adaptercore/openolt_flowmgr_test.go
@@ -21,19 +21,19 @@
"fmt"
"testing"
- "github.com/opencord/voltha-protos/v2/go/voltha"
+ "github.com/opencord/voltha-protos/v3/go/voltha"
- "github.com/opencord/voltha-lib-go/v2/pkg/db"
- fu "github.com/opencord/voltha-lib-go/v2/pkg/flows"
- "github.com/opencord/voltha-lib-go/v2/pkg/log"
- tp "github.com/opencord/voltha-lib-go/v2/pkg/techprofile"
+ "github.com/opencord/voltha-lib-go/v3/pkg/db"
+ fu "github.com/opencord/voltha-lib-go/v3/pkg/flows"
+ "github.com/opencord/voltha-lib-go/v3/pkg/log"
+ tp "github.com/opencord/voltha-lib-go/v3/pkg/techprofile"
"github.com/opencord/voltha-openolt-adapter/adaptercore/resourcemanager"
rsrcMgr "github.com/opencord/voltha-openolt-adapter/adaptercore/resourcemanager"
"github.com/opencord/voltha-openolt-adapter/mocks"
- ofp "github.com/opencord/voltha-protos/v2/go/openflow_13"
- "github.com/opencord/voltha-protos/v2/go/openolt"
- openoltpb2 "github.com/opencord/voltha-protos/v2/go/openolt"
- tp_pb "github.com/opencord/voltha-protos/v2/go/tech_profile"
+ ofp "github.com/opencord/voltha-protos/v3/go/openflow_13"
+ "github.com/opencord/voltha-protos/v3/go/openolt"
+ openoltpb2 "github.com/opencord/voltha-protos/v3/go/openolt"
+ tp_pb "github.com/opencord/voltha-protos/v3/go/tech_profile"
)
var flowMgr *OpenOltFlowMgr
@@ -88,6 +88,13 @@
tps[key] = mocks.MockTechProfile{TpID: key}
}
flwMgr.techprofile = tps
+
+ interface2mcastQeueuMap := make(map[uint32]*queueInfoBrief)
+ interface2mcastQeueuMap[0] = &queueInfoBrief{
+ gemPortID: 4000,
+ servicePriority: 3,
+ }
+ flwMgr.interfaceToMcastQueueMap = interface2mcastQeueuMap
return flwMgr
}
@@ -244,6 +251,23 @@
}
dhcpofpstats := fu.MkFlowStat(dhcpFa)
//dhcpofpstats.Cookie = dhcpofpstats.Id
+
+ //multicast flow
+ multicastFa := &fu.FlowArgs{
+ MatchFields: []*ofp.OfpOxmOfbField{
+ fu.InPort(65536),
+ fu.VlanVid(660), //vlan
+ fu.Metadata_ofp(uint64(66)), //inner vlan
+ fu.EthType(0x800), //ipv4
+ fu.Ipv4Dst(3809869825), //227.22.0.1
+ },
+ Actions: []*ofp.OfpAction{
+ fu.Group(1),
+ },
+ }
+ multicastOfpStats := fu.MkFlowStat(multicastFa)
+ multicastOfpStats.Id = 1
+
type args struct {
flow *ofp.OfpFlowStats
}
@@ -255,6 +279,7 @@
{"RemoveFlow", args{flow: ofpstats}},
{"RemoveFlow", args{flow: lldpofpstats}},
{"RemoveFlow", args{flow: dhcpofpstats}},
+ {"RemoveFlow", args{flow: multicastOfpStats}},
}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
@@ -443,6 +468,20 @@
},
KV: kw6,
}
+ //multicast flow
+ fa11 := &fu.FlowArgs{
+ MatchFields: []*ofp.OfpOxmOfbField{
+ fu.InPort(65536),
+ fu.VlanVid(660), //vlan
+ fu.Metadata_ofp(uint64(66)), //inner vlan
+ fu.EthType(0x800), //ipv4
+ fu.Ipv4Dst(3809869825), //227.22.0.1
+ },
+ Actions: []*ofp.OfpAction{
+ fu.Group(1),
+ },
+ KV: kw6,
+ }
ofpstats := fu.MkFlowStat(fa)
ofpstats2 := fu.MkFlowStat(fa2)
ofpstats3 := fu.MkFlowStat(fa3)
@@ -454,6 +493,7 @@
ofpstats9 := fu.MkFlowStat(fa9)
ofpstats10 := fu.MkFlowStat(fa10)
igmpstats := fu.MkFlowStat(igmpFa)
+ ofpstats11 := fu.MkFlowStat(fa11)
fmt.Println(ofpstats6, ofpstats9, ofpstats10)
@@ -482,6 +522,7 @@
{"AddFlow", args{flow: igmpstats, flowMetadata: flowMetadata}},
//{"AddFlow", args{flow: ofpstats10, flowMetadata: flowMetadata}},
//ofpstats10
+ {"AddFlow", args{flow: ofpstats11, flowMetadata: flowMetadata}},
}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
@@ -855,3 +896,30 @@
})
}
}
+
+func TestOpenOltFlowMgr_TestMulticastFlow(t *testing.T) {
+ //create group
+ group := newGroup(2, []uint32{1})
+ flowMgr.AddGroup(group)
+
+ //create multicast flow
+ multicastFlowArgs := &fu.FlowArgs{
+ MatchFields: []*ofp.OfpOxmOfbField{
+ fu.InPort(65536),
+ fu.VlanVid(660), //vlan
+ fu.Metadata_ofp(uint64(66)), //inner vlan
+ fu.EthType(0x800), //ipv4
+ fu.Ipv4Dst(3809869825), //227.22.0.1
+ },
+ Actions: []*ofp.OfpAction{
+ fu.Group(1),
+ },
+ }
+ ofpStats := fu.MkFlowStat(multicastFlowArgs)
+ flowMgr.AddFlow(ofpStats, &voltha.FlowMetadata{})
+
+ //add bucket to the group
+ group = newGroup(2, []uint32{1, 2})
+
+ flowMgr.ModifyGroup(group)
+}
diff --git a/adaptercore/openolt_test.go b/adaptercore/openolt_test.go
index 47e9ce3..aefd862 100644
--- a/adaptercore/openolt_test.go
+++ b/adaptercore/openolt_test.go
@@ -29,14 +29,14 @@
"sync"
"testing"
- com "github.com/opencord/voltha-lib-go/v2/pkg/adapters/common"
- fu "github.com/opencord/voltha-lib-go/v2/pkg/flows"
- "github.com/opencord/voltha-lib-go/v2/pkg/kafka"
+ com "github.com/opencord/voltha-lib-go/v3/pkg/adapters/common"
+ fu "github.com/opencord/voltha-lib-go/v3/pkg/flows"
+ "github.com/opencord/voltha-lib-go/v3/pkg/kafka"
"github.com/opencord/voltha-openolt-adapter/config"
- ic "github.com/opencord/voltha-protos/v2/go/inter_container"
- "github.com/opencord/voltha-protos/v2/go/openflow_13"
- ofp "github.com/opencord/voltha-protos/v2/go/openflow_13"
- "github.com/opencord/voltha-protos/v2/go/voltha"
+ ic "github.com/opencord/voltha-protos/v3/go/inter_container"
+ "github.com/opencord/voltha-protos/v3/go/openflow_13"
+ ofp "github.com/opencord/voltha-protos/v3/go/openflow_13"
+ "github.com/opencord/voltha-protos/v3/go/voltha"
)
// mocks the OpenOLT struct.
diff --git a/adaptercore/resourcemanager/resourcemanager.go b/adaptercore/resourcemanager/resourcemanager.go
index 21f21c9..0e3da4d 100755
--- a/adaptercore/resourcemanager/resourcemanager.go
+++ b/adaptercore/resourcemanager/resourcemanager.go
@@ -24,12 +24,12 @@
"strconv"
"strings"
- "github.com/opencord/voltha-lib-go/v2/pkg/db"
- "github.com/opencord/voltha-lib-go/v2/pkg/db/kvstore"
- "github.com/opencord/voltha-lib-go/v2/pkg/log"
- ponrmgr "github.com/opencord/voltha-lib-go/v2/pkg/ponresourcemanager"
- ofp "github.com/opencord/voltha-protos/v2/go/openflow_13"
- "github.com/opencord/voltha-protos/v2/go/openolt"
+ "github.com/opencord/voltha-lib-go/v3/pkg/db"
+ "github.com/opencord/voltha-lib-go/v3/pkg/db/kvstore"
+ "github.com/opencord/voltha-lib-go/v3/pkg/log"
+ ponrmgr "github.com/opencord/voltha-lib-go/v3/pkg/ponresourcemanager"
+ ofp "github.com/opencord/voltha-protos/v3/go/openflow_13"
+ "github.com/opencord/voltha-protos/v3/go/openolt"
)
const (
@@ -48,6 +48,20 @@
OnuPacketINPath = "onu_packetin/{%d,%d,%d}"
//FlowIDsForGem flowids_per_gem/<intfid>
FlowIDsForGem = "flowids_per_gem/{%d}"
+ //McastQueuesForIntf multicast queues for pon interfaces
+ McastQueuesForIntf = "mcast_qs_for_int"
+ //FlowGroup flow_groups/<flow_group_id>
+ // A group is stored under this path on the KV store after it has been installed to the device.
+ // It should also be deleted after it has been removed from the device accordingly.
+ FlowGroup = "flow_groups/{%d}"
+ //FlowGroupCached flow_groups_cached/<flow_group_id>
+ // When a group add request received, we create the group without setting any members to it since we cannot
+ // set any members to a group until it is associated with a multicast flow. It is a BAL limitation.
+ // When the related multicast flow has been created we perform set members operation for the group.
+ // That is why we need to keep the members of a group until the multicast flow creation request comes.
+ // We preserve the groups under "FlowGroupsCached" directory in the KV store temporarily. Having set members,
+ // we remove the group from the cached group store.
+ FlowGroupCached = "flow_groups_cached/{%d}"
)
// FlowInfo holds the flow information
@@ -74,6 +88,12 @@
LogicalPort uint32
}
+// GroupInfo holds group information
+type GroupInfo struct {
+ GroupID uint32
+ OutPorts []uint32
+}
+
// OpenOltResourceMgr holds resource related information as provided below for each field
type OpenOltResourceMgr struct {
DeviceID string // OLT device id
@@ -1269,9 +1289,9 @@
log.Error("failed to get data from kv store")
return nil, err
}
- if value != nil {
+ if value != nil && value.Value != nil {
if val, err = kvstore.ToByte(value.Value); err != nil {
- log.Error("Failed to convert to byte array", log.Fields{"error": err})
+ log.Error("Failed to convert to byte array ", log.Fields{"error": err})
return nil, err
}
if err = json.Unmarshal(val, &flowsForGem); err != nil {
@@ -1298,3 +1318,136 @@
IntfOnuIDUniID := fmt.Sprintf("%d,%d,%d", intfID, onuID, uniID)
RsrcMgr.ResourceMgrs[intfID].RemoveResourceMap(IntfOnuIDUniID)
}
+
+//GetMcastQueuePerInterfaceMap gets multicast queue info per pon interface
+func (RsrcMgr *OpenOltResourceMgr) GetMcastQueuePerInterfaceMap() (map[uint32][]uint32, error) {
+ path := fmt.Sprintf(McastQueuesForIntf)
+ var mcastQueueToIntfMap map[uint32][]uint32
+ var val []byte
+
+ kvPair, err := RsrcMgr.KVStore.Get(path)
+ if err != nil {
+ log.Error("failed to get data from kv store")
+ return nil, err
+ }
+ if kvPair != nil && kvPair.Value != nil {
+ if val, err = kvstore.ToByte(kvPair.Value); err != nil {
+ log.Error("Failed to convert to byte array ", log.Fields{"error": err})
+ return nil, err
+ }
+ if err = json.Unmarshal(val, &mcastQueueToIntfMap); err != nil {
+ log.Error("Failed to unmarshall ", log.Fields{"error": err})
+ return nil, err
+ }
+ }
+ return mcastQueueToIntfMap, nil
+}
+
+//AddMcastQueueForIntf adds multicast queue for pon interface
+func (RsrcMgr *OpenOltResourceMgr) AddMcastQueueForIntf(intf uint32, gem uint32, servicePriority uint32) error {
+ var val []byte
+ path := fmt.Sprintf(McastQueuesForIntf)
+
+ mcastQueues, err := RsrcMgr.GetMcastQueuePerInterfaceMap()
+ if err != nil {
+ log.Errorw("Failed to get multicast queue info for interface", log.Fields{"error": err, "intf": intf})
+ return err
+ }
+ if mcastQueues == nil {
+ mcastQueues = make(map[uint32][]uint32)
+ }
+ mcastQueues[intf] = []uint32{gem, servicePriority}
+ if val, err = json.Marshal(mcastQueues); err != nil {
+ log.Errorw("Failed to marshal data", log.Fields{"error": err})
+ return err
+ }
+ if err = RsrcMgr.KVStore.Put(path, val); err != nil {
+ log.Errorw("Failed to put to kvstore", log.Fields{"error": err, "path": path, "value": val})
+ return err
+ }
+ log.Debugw("added multicast queue info to KV store successfully", log.Fields{"path": path, "mcastQueueInfo": mcastQueues[intf], "interfaceId": intf})
+ return nil
+}
+
+//AddFlowGroupToKVStore adds flow group into KV store
+func (RsrcMgr *OpenOltResourceMgr) AddFlowGroupToKVStore(groupEntry *ofp.OfpGroupEntry, cached bool) error {
+ var Value []byte
+ var err error
+ var path string
+ if cached {
+ path = fmt.Sprintf(FlowGroupCached, groupEntry.Desc.GroupId)
+ } else {
+ path = fmt.Sprintf(FlowGroup, groupEntry.Desc.GroupId)
+ }
+ //build group info object
+ var outPorts []uint32
+ for _, ofBucket := range groupEntry.Desc.Buckets {
+ for _, ofAction := range ofBucket.Actions {
+ if ofAction.Type == ofp.OfpActionType_OFPAT_OUTPUT {
+ outPorts = append(outPorts, ofAction.GetOutput().Port)
+ }
+ }
+ }
+ groupInfo := GroupInfo{
+ GroupID: groupEntry.Desc.GroupId,
+ OutPorts: outPorts,
+ }
+
+ Value, err = json.Marshal(groupInfo)
+
+ if err != nil {
+ log.Error("failed to Marshal flow group object")
+ return err
+ }
+
+ if err = RsrcMgr.KVStore.Put(path, Value); err != nil {
+ log.Errorf("Failed to update resource %s", path)
+ return err
+ }
+ return nil
+}
+
+//RemoveFlowGroupFromKVStore removes flow group from KV store
+func (RsrcMgr *OpenOltResourceMgr) RemoveFlowGroupFromKVStore(groupID uint32, cached bool) bool {
+ var path string
+ if cached {
+ path = fmt.Sprintf(FlowGroupCached, groupID)
+ } else {
+ path = fmt.Sprintf(FlowGroup, groupID)
+ }
+ if err := RsrcMgr.KVStore.Delete(path); err != nil {
+ log.Errorf("Failed to remove resource %s due to %s", path, err)
+ return false
+ }
+ return true
+}
+
+//GetFlowGroupFromKVStore fetches flow group from the KV store. Returns (false, {} error) if any problem occurs during
+//fetching the data. Returns (true, groupInfo, nil) if the group is fetched successfully.
+// Returns (false, {}, nil) if the group does not exists in the KV store.
+func (RsrcMgr *OpenOltResourceMgr) GetFlowGroupFromKVStore(groupID uint32, cached bool) (bool, GroupInfo, error) {
+ var groupInfo GroupInfo
+ var path string
+ if cached {
+ path = fmt.Sprintf(FlowGroupCached, groupID)
+ } else {
+ path = fmt.Sprintf(FlowGroup, groupID)
+ }
+ kvPair, err := RsrcMgr.KVStore.Get(path)
+ if err != nil {
+ return false, groupInfo, err
+ }
+ if kvPair != nil && kvPair.Value != nil {
+ Val, err := kvstore.ToByte(kvPair.Value)
+ if err != nil {
+ log.Errorw("Failed to convert flow group into byte array", log.Fields{"error": err})
+ return false, groupInfo, err
+ }
+ if err = json.Unmarshal(Val, &groupInfo); err != nil {
+ log.Errorw("Failed to unmarshal", log.Fields{"error": err})
+ return false, groupInfo, err
+ }
+ return true, groupInfo, nil
+ }
+ return false, groupInfo, nil
+}
diff --git a/adaptercore/resourcemanager/resourcemanager_test.go b/adaptercore/resourcemanager/resourcemanager_test.go
index 1eac99f..2cc6953 100644
--- a/adaptercore/resourcemanager/resourcemanager_test.go
+++ b/adaptercore/resourcemanager/resourcemanager_test.go
@@ -26,12 +26,13 @@
import (
"encoding/json"
"errors"
- "github.com/opencord/voltha-lib-go/v2/pkg/db"
- "github.com/opencord/voltha-lib-go/v2/pkg/db/kvstore"
- "github.com/opencord/voltha-lib-go/v2/pkg/log"
- ponrmgr "github.com/opencord/voltha-lib-go/v2/pkg/ponresourcemanager"
- ofp "github.com/opencord/voltha-protos/v2/go/openflow_13"
- "github.com/opencord/voltha-protos/v2/go/openolt"
+ "github.com/opencord/voltha-lib-go/v3/pkg/db"
+ "github.com/opencord/voltha-lib-go/v3/pkg/db/kvstore"
+ fu "github.com/opencord/voltha-lib-go/v3/pkg/flows"
+ "github.com/opencord/voltha-lib-go/v3/pkg/log"
+ ponrmgr "github.com/opencord/voltha-lib-go/v3/pkg/ponresourcemanager"
+ ofp "github.com/opencord/voltha-protos/v3/go/openflow_13"
+ "github.com/opencord/voltha-protos/v3/go/openolt"
"reflect"
"strconv"
"strings"
@@ -161,6 +162,19 @@
str, _ := json.Marshal(1)
return kvstore.NewKVPair(key, str, "mock", 3000, 1), nil
}
+ if strings.Contains(key, McastQueuesForIntf) {
+ log.Debug("Error Error Error Key:", McastQueuesForIntf)
+ mcastQueues := make(map[uint32][]uint32)
+ mcastQueues[10] = []uint32{4000, 0}
+ str, _ := json.Marshal(mcastQueues)
+ return kvstore.NewKVPair(key, str, "mock", 3000, 1), nil
+ }
+ if strings.Contains(key, "flow_groups") && !strings.Contains(key, "1000") {
+ groupInfo := GroupInfo{GroupID: 2, OutPorts: []uint32{2}}
+ str, _ := json.Marshal(groupInfo)
+ return kvstore.NewKVPair(key, str, "mock", 3000, 1), nil
+ }
+
maps := make(map[string]*kvstore.KVPair)
maps[key] = &kvstore.KVPair{Key: key}
return maps[key], nil
@@ -971,3 +985,141 @@
})
}
}
+
+func TestOpenOltResourceMgr_AddMcastQueueForIntf(t *testing.T) {
+ type args struct {
+ intf uint32
+ gem uint32
+ servicePriority uint32
+ }
+ tests := []struct {
+ name string
+ args args
+ fields *fields
+ }{
+ {"AddMcastQueueForIntf-1", args{0, 4000, 0}, getResMgr()},
+ {"AddMcastQueueForIntf-2", args{1, 4000, 1}, getResMgr()},
+ {"AddMcastQueueForIntf-3", args{2, 4000, 2}, getResMgr()},
+ }
+ for _, tt := range tests {
+ t.Run(tt.name, func(t *testing.T) {
+ RsrcMgr := testResMgrObject(tt.fields)
+ err := RsrcMgr.AddMcastQueueForIntf(tt.args.intf, tt.args.gem, tt.args.servicePriority)
+ if err != nil {
+ t.Errorf("%s got err= %s wants nil", tt.name, err)
+ return
+ }
+ })
+ }
+}
+
+func newGroup(groupID uint32, outPorts []uint32) *ofp.OfpGroupEntry {
+ groupDesc := ofp.OfpGroupDesc{
+ Type: ofp.OfpGroupType_OFPGT_ALL,
+ GroupId: groupID,
+ }
+ groupEntry := ofp.OfpGroupEntry{
+ Desc: &groupDesc,
+ }
+ var acts []*ofp.OfpAction
+ for i := 0; i < len(outPorts); i++ {
+ acts = append(acts, fu.Output(outPorts[i]))
+ }
+ bucket := ofp.OfpBucket{
+ Actions: acts,
+ }
+ groupDesc.Buckets = []*ofp.OfpBucket{&bucket}
+ return &groupEntry
+}
+
+func TestOpenOltResourceMgr_AddFlowGroupToKVStore(t *testing.T) {
+ type args struct {
+ group *ofp.OfpGroupEntry
+ cached bool
+ }
+ //create group 1
+ group1 := newGroup(1, []uint32{1})
+ //create group 2
+ group2 := newGroup(2, []uint32{2})
+ //define test set
+ tests := []struct {
+ name string
+ args args
+ fields *fields
+ }{
+ {"AddFlowGroupToKVStore-1", args{group1, true}, getResMgr()},
+ {"AddFlowGroupToKVStore-2", args{group2, false}, getResMgr()},
+ }
+ //execute tests
+ for _, tt := range tests {
+ t.Run(tt.name, func(t *testing.T) {
+ RsrcMgr := testResMgrObject(tt.fields)
+ err := RsrcMgr.AddFlowGroupToKVStore(tt.args.group, tt.args.cached)
+ if err != nil {
+ t.Errorf("%s got err= %s wants nil", tt.name, err)
+ return
+ }
+ })
+ }
+}
+
+func TestOpenOltResourceMgr_RemoveFlowGroupFromKVStore(t *testing.T) {
+ type args struct {
+ groupID uint32
+ cached bool
+ }
+ //define test set
+ tests := []struct {
+ name string
+ args args
+ fields *fields
+ }{
+ {"RemoveFlowGroupFromKVStore-1", args{1, true}, getResMgr()},
+ {"RemoveFlowGroupFromKVStore-2", args{2, false}, getResMgr()},
+ }
+ //execute tests
+ for _, tt := range tests {
+ t.Run(tt.name, func(t *testing.T) {
+ RsrcMgr := testResMgrObject(tt.fields)
+ success := RsrcMgr.RemoveFlowGroupFromKVStore(tt.args.groupID, tt.args.cached)
+ if !success {
+ t.Errorf("%s got false but wants true", tt.name)
+ return
+ }
+ })
+ }
+}
+
+func TestOpenOltResourceMgr_GetFlowGroupFromKVStore(t *testing.T) {
+ type args struct {
+ groupID uint32
+ cached bool
+ }
+ //define test set
+ tests := []struct {
+ name string
+ args args
+ fields *fields
+ }{
+ {"GetFlowGroupFromKVStore-1", args{1, true}, getResMgr()},
+ {"GetFlowGroupFromKVStore-2", args{2, false}, getResMgr()},
+ {"GetFlowGroupFromKVStore-3", args{1000, false}, getResMgr()},
+ }
+ //execute tests
+ for _, tt := range tests {
+ t.Run(tt.name, func(t *testing.T) {
+ RsrcMgr := testResMgrObject(tt.fields)
+ exists, groupInfo, err := RsrcMgr.GetFlowGroupFromKVStore(tt.args.groupID, tt.args.cached)
+ if err != nil {
+ t.Errorf("%s got error but wants nil error", tt.name)
+ return
+ } else if exists && (groupInfo.GroupID == 0) {
+ t.Errorf("%s got true and nil group info but expected not nil group info", tt.name)
+ return
+ } else if tt.args.groupID == 3 && exists {
+ t.Errorf("%s got true but wants false", tt.name)
+ return
+ }
+ })
+ }
+}
diff --git a/adaptercore/statsmanager.go b/adaptercore/statsmanager.go
index c42e86b..0905c1e 100755
--- a/adaptercore/statsmanager.go
+++ b/adaptercore/statsmanager.go
@@ -23,9 +23,9 @@
"sync"
"time"
- "github.com/opencord/voltha-lib-go/v2/pkg/log"
- "github.com/opencord/voltha-protos/v2/go/openolt"
- "github.com/opencord/voltha-protos/v2/go/voltha"
+ "github.com/opencord/voltha-lib-go/v3/pkg/log"
+ "github.com/opencord/voltha-protos/v3/go/openolt"
+ "github.com/opencord/voltha-protos/v3/go/voltha"
)
var mutex = &sync.Mutex{}
@@ -355,7 +355,7 @@
var metricInfo voltha.MetricInformation
var ke voltha.KpiEvent2
- var volthaEventSubCatgry voltha.EventSubCategory_EventSubCategory
+ var volthaEventSubCatgry voltha.EventSubCategory_Types
if portType == "NNIStats" {
volthaEventSubCatgry = voltha.EventSubCategory_NNI
diff --git a/adaptercore/statsmanager_test.go b/adaptercore/statsmanager_test.go
index 6f16493..c6fddc5 100644
--- a/adaptercore/statsmanager_test.go
+++ b/adaptercore/statsmanager_test.go
@@ -21,9 +21,9 @@
"reflect"
"testing"
- "github.com/opencord/voltha-lib-go/v2/pkg/log"
- "github.com/opencord/voltha-protos/v2/go/openolt"
- "github.com/opencord/voltha-protos/v2/go/voltha"
+ "github.com/opencord/voltha-lib-go/v3/pkg/log"
+ "github.com/opencord/voltha-protos/v3/go/openolt"
+ "github.com/opencord/voltha-protos/v3/go/voltha"
)
func init() {
diff --git a/config/config.go b/config/config.go
index babd8ea..b763621 100644
--- a/config/config.go
+++ b/config/config.go
@@ -20,7 +20,7 @@
import (
"flag"
"fmt"
- "github.com/opencord/voltha-lib-go/v2/pkg/log"
+ "github.com/opencord/voltha-lib-go/v3/pkg/log"
"os"
"time"
)
diff --git a/go.mod b/go.mod
index addbbe9..3bc7487 100644
--- a/go.mod
+++ b/go.mod
@@ -7,8 +7,8 @@
github.com/cenkalti/backoff/v3 v3.1.1
github.com/gogo/protobuf v1.3.1
github.com/golang/protobuf v1.3.2
- github.com/opencord/voltha-lib-go/v2 v2.2.26
- github.com/opencord/voltha-protos/v2 v2.1.2
+ github.com/opencord/voltha-lib-go/v3 v3.0.0
+ github.com/opencord/voltha-protos/v3 v3.1.0
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 916f084..fbf6be6 100644
--- a/go.sum
+++ b/go.sum
@@ -196,11 +196,11 @@
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/v2 v2.2.26 h1:0JlaG6a7cUuzOkMZ6K/JL6hTyiKKZkjEYvyVl9V9JQ4=
-github.com/opencord/voltha-lib-go/v2 v2.2.26/go.mod h1:CoY2amUEsbO2grCbJRk7G+Fl1Xb7vQLw3/uGLbTz0Ms=
-github.com/opencord/voltha-protos/v2 v2.1.0/go.mod h1:6kOcfYi1CadWowFxI2SH5wLfHrsRECZLZlD2MFK6WDI=
-github.com/opencord/voltha-protos/v2 v2.1.2 h1:/eX+kXhANbzxTpBHgC6vjwBUGRKKvGUOQRDdDgROp9E=
-github.com/opencord/voltha-protos/v2 v2.1.2/go.mod h1:6kOcfYi1CadWowFxI2SH5wLfHrsRECZLZlD2MFK6WDI=
+github.com/opencord/voltha-lib-go/v3 v3.0.0 h1:vtVoQXCmwskXyr9N4DqqsVmrQL6qW+okW6fDFMbsKiA=
+github.com/opencord/voltha-lib-go/v3 v3.0.0/go.mod h1:YsfYynNUXHiHR2SlxrlU0J8d6szyd4PB8zMuKeoqagI=
+github.com/opencord/voltha-protos/v3 v3.0.0/go.mod h1:n60tmoNSjgDGxEH7YGqDhIeiCpQETpnF5wOcNepHvWU=
+github.com/opencord/voltha-protos/v3 v3.1.0 h1:jPBizpoIRlVIy8ZzTpC+cyQQL2esjJgIPvNcilWMDLA=
+github.com/opencord/voltha-protos/v3 v3.1.0/go.mod h1:n60tmoNSjgDGxEH7YGqDhIeiCpQETpnF5wOcNepHvWU=
github.com/pascaldekloe/goe v0.0.0-20180627143212-57f6aae5913c/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc=
github.com/pascaldekloe/goe v0.1.0 h1:cBOtyMzM9HTpWjXfbbunk26uA6nG3a8n06Wieeh0MwY=
github.com/pascaldekloe/goe v0.1.0/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc=
diff --git a/main.go b/main.go
index f284969..9a3b97a 100644
--- a/main.go
+++ b/main.go
@@ -27,19 +27,19 @@
"syscall"
"time"
- "github.com/opencord/voltha-lib-go/v2/pkg/adapters/adapterif"
+ "github.com/opencord/voltha-lib-go/v3/pkg/adapters/adapterif"
- "github.com/opencord/voltha-lib-go/v2/pkg/adapters"
- com "github.com/opencord/voltha-lib-go/v2/pkg/adapters/common"
- "github.com/opencord/voltha-lib-go/v2/pkg/db/kvstore"
- "github.com/opencord/voltha-lib-go/v2/pkg/kafka"
- "github.com/opencord/voltha-lib-go/v2/pkg/log"
- "github.com/opencord/voltha-lib-go/v2/pkg/probe"
+ "github.com/opencord/voltha-lib-go/v3/pkg/adapters"
+ com "github.com/opencord/voltha-lib-go/v3/pkg/adapters/common"
+ "github.com/opencord/voltha-lib-go/v3/pkg/db/kvstore"
+ "github.com/opencord/voltha-lib-go/v3/pkg/kafka"
+ "github.com/opencord/voltha-lib-go/v3/pkg/log"
+ "github.com/opencord/voltha-lib-go/v3/pkg/probe"
ac "github.com/opencord/voltha-openolt-adapter/adaptercore"
"github.com/opencord/voltha-openolt-adapter/config"
"github.com/opencord/voltha-openolt-adapter/config/version"
- ic "github.com/opencord/voltha-protos/v2/go/inter_container"
- "github.com/opencord/voltha-protos/v2/go/voltha"
+ ic "github.com/opencord/voltha-protos/v3/go/inter_container"
+ "github.com/opencord/voltha-protos/v3/go/voltha"
)
type adapter struct {
@@ -454,7 +454,7 @@
log.With(log.Fields{"error": err}).Fatal("Cannot setup logging")
}
- log.SetPackageLogLevel("github.com/opencord/voltha-lib-go/v2/pkg/adapters/common", log.DebugLevel)
+ log.SetPackageLogLevel("github.com/opencord/voltha-lib-go/v3/pkg/adapters/common", log.DebugLevel)
defer log.CleanUp()
diff --git a/main_test.go b/main_test.go
index cffd0aa..84e2981 100644
--- a/main_test.go
+++ b/main_test.go
@@ -22,11 +22,11 @@
"google.golang.org/grpc/status"
"testing"
- "github.com/opencord/voltha-lib-go/v2/pkg/kafka"
- "github.com/opencord/voltha-lib-go/v2/pkg/log"
+ "github.com/opencord/voltha-lib-go/v3/pkg/kafka"
+ "github.com/opencord/voltha-lib-go/v3/pkg/log"
"github.com/opencord/voltha-openolt-adapter/config"
"github.com/opencord/voltha-openolt-adapter/mocks"
- ca "github.com/opencord/voltha-protos/v2/go/inter_container"
+ ca "github.com/opencord/voltha-protos/v3/go/inter_container"
"go.etcd.io/etcd/pkg/mock/mockserver"
)
diff --git a/mocks/mockAdapterProxy.go b/mocks/mockAdapterProxy.go
index 19b59de..817e675 100644
--- a/mocks/mockAdapterProxy.go
+++ b/mocks/mockAdapterProxy.go
@@ -22,7 +22,7 @@
"errors"
"github.com/golang/protobuf/proto"
- "github.com/opencord/voltha-protos/v2/go/inter_container"
+ "github.com/opencord/voltha-protos/v3/go/inter_container"
)
// MockAdapterProxy mocks the AdapterProxy interface.
diff --git a/mocks/mockCoreProxy.go b/mocks/mockCoreProxy.go
index 24f60c8..2c3a81c 100644
--- a/mocks/mockCoreProxy.go
+++ b/mocks/mockCoreProxy.go
@@ -22,8 +22,8 @@
"errors"
"fmt"
- "github.com/opencord/voltha-lib-go/v2/pkg/kafka"
- "github.com/opencord/voltha-protos/v2/go/voltha"
+ "github.com/opencord/voltha-lib-go/v3/pkg/kafka"
+ "github.com/opencord/voltha-protos/v3/go/voltha"
)
// MockCoreProxy mocks the CoreProxy interface
@@ -82,7 +82,7 @@
}
// PortsStateUpdate implements mock PortsStateUpdate
-func (mcp *MockCoreProxy) PortsStateUpdate(ctx context.Context, deviceID string, operStatus voltha.OperStatus_OperStatus) error {
+func (mcp *MockCoreProxy) PortsStateUpdate(ctx context.Context, deviceID string, operStatus voltha.OperStatus_Types) error {
if deviceID == "" {
return errors.New("no Device")
}
@@ -99,7 +99,7 @@
// DeviceStateUpdate implements mock DeviceStateUpdate
func (mcp *MockCoreProxy) DeviceStateUpdate(ctx context.Context, deviceID string,
- connStatus voltha.ConnectStatus_ConnectStatus, operStatus voltha.OperStatus_OperStatus) error {
+ connStatus voltha.ConnectStatus_Types, operStatus voltha.OperStatus_Types) error {
if deviceID == "" {
return errors.New("no Device id")
}
@@ -209,6 +209,6 @@
// PortStateUpdate implements mock PortStateUpdate
func (mcp *MockCoreProxy) PortStateUpdate(ctx context.Context, deviceID string, pType voltha.Port_PortType, portNo uint32,
- operStatus voltha.OperStatus_OperStatus) error {
+ operStatus voltha.OperStatus_Types) error {
return nil
}
diff --git a/mocks/mockEventproxy.go b/mocks/mockEventproxy.go
index 605bfdd..d2621ab 100644
--- a/mocks/mockEventproxy.go
+++ b/mocks/mockEventproxy.go
@@ -20,7 +20,7 @@
import (
"errors"
- "github.com/opencord/voltha-protos/v2/go/voltha"
+ "github.com/opencord/voltha-protos/v3/go/voltha"
)
// MockEventProxy for mocking EventProxyIntf
@@ -28,8 +28,8 @@
}
// SendDeviceEvent mocks the SendDeviceEvent function
-func (me *MockEventProxy) SendDeviceEvent(deviceEvent *voltha.DeviceEvent, category voltha.EventCategory_EventCategory,
- subCategory voltha.EventSubCategory_EventSubCategory, raisedTs int64) error {
+func (me *MockEventProxy) SendDeviceEvent(deviceEvent *voltha.DeviceEvent, category voltha.EventCategory_Types,
+ subCategory voltha.EventSubCategory_Types, raisedTs int64) error {
if raisedTs == 0 {
return errors.New("raisedTS cannot be zero")
}
@@ -37,8 +37,8 @@
}
// SendKpiEvent mocks the SendKpiEvent function
-func (me *MockEventProxy) SendKpiEvent(id string, deviceEvent *voltha.KpiEvent2, category voltha.EventCategory_EventCategory,
- subCategory voltha.EventSubCategory_EventSubCategory, raisedTs int64) error {
+func (me *MockEventProxy) SendKpiEvent(id string, deviceEvent *voltha.KpiEvent2, category voltha.EventCategory_Types,
+ subCategory voltha.EventSubCategory_Types, raisedTs int64) error {
if raisedTs == 0 {
return errors.New("raisedTS cannot be zero")
}
diff --git a/mocks/mockKVClient.go b/mocks/mockKVClient.go
index b6ba991..7d12cac 100644
--- a/mocks/mockKVClient.go
+++ b/mocks/mockKVClient.go
@@ -23,12 +23,12 @@
"strconv"
"strings"
- "github.com/opencord/voltha-lib-go/v2/pkg/log"
+ "github.com/opencord/voltha-lib-go/v3/pkg/log"
"github.com/opencord/voltha-openolt-adapter/adaptercore/resourcemanager"
- "github.com/opencord/voltha-lib-go/v2/pkg/db/kvstore"
- ofp "github.com/opencord/voltha-protos/v2/go/openflow_13"
- openolt "github.com/opencord/voltha-protos/v2/go/openolt"
+ "github.com/opencord/voltha-lib-go/v3/pkg/db/kvstore"
+ ofp "github.com/opencord/voltha-protos/v3/go/openflow_13"
+ openolt "github.com/opencord/voltha-protos/v3/go/openolt"
)
const (
@@ -46,6 +46,10 @@
GemportIDs = "gemport_ids"
// AllocIDs to extract alloc_ids
AllocIDs = "alloc_ids"
+ //FlowGroup flow_groups/<flow_group_id>
+ FlowGroup = "flow_groups"
+ //FlowGroupCached flow_groups_cached/<flow_group_id>
+ FlowGroupCached = "flow_groups_cached"
)
// MockKVClient mocks the AdapterProxy interface.
@@ -131,6 +135,7 @@
{
Flow: &openolt.Flow{FlowId: 1, OnuId: 1, UniId: 1, GemportId: 1},
FlowStoreCookie: uint64(48132224281636694),
+ LogicalFlowID: 1,
},
}
log.Debug("Error Error Error Key:", FlowIDs)
@@ -147,6 +152,16 @@
str, _ := json.Marshal(1)
return kvstore.NewKVPair(key, str, "mock", 3000, 1), nil
}
+ if strings.Contains(key, FlowGroup) || strings.Contains(key, FlowGroupCached) {
+ log.Debug("Error Error Error Key:", FlowGroup)
+ groupInfo := resourcemanager.GroupInfo{
+ GroupID: 2,
+ OutPorts: []uint32{1},
+ }
+ str, _ := json.Marshal(&groupInfo)
+ return kvstore.NewKVPair(key, str, "mock", 3000, 1), nil
+ }
+
maps := make(map[string]*kvstore.KVPair)
maps[key] = &kvstore.KVPair{Key: key}
return maps[key], nil
diff --git a/mocks/mockOpenOltClient.go b/mocks/mockOpenOltClient.go
index 00a9fd5..652f959 100644
--- a/mocks/mockOpenOltClient.go
+++ b/mocks/mockOpenOltClient.go
@@ -22,8 +22,8 @@
"errors"
"io"
- openolt "github.com/opencord/voltha-protos/v2/go/openolt"
- tech_profile "github.com/opencord/voltha-protos/v2/go/tech_profile"
+ openolt "github.com/opencord/voltha-protos/v3/go/openolt"
+ tech_profile "github.com/opencord/voltha-protos/v3/go/tech_profile"
"google.golang.org/grpc"
"google.golang.org/grpc/metadata"
)
@@ -222,3 +222,8 @@
func (mock *mockOpenoltEnableIndicationClient) RecvMsg(m interface{}) error {
return nil
}
+
+// PerformGroupOperation mocks the PerformGroupOperation function of Openoltclient.
+func (ooc *MockOpenoltClient) PerformGroupOperation(ctx context.Context, in *openolt.Group, opts ...grpc.CallOption) (*openolt.Empty, error) {
+ return &openolt.Empty{}, nil
+}
diff --git a/mocks/mockTechprofile.go b/mocks/mockTechprofile.go
index 6fa3c39..e4edf2f 100644
--- a/mocks/mockTechprofile.go
+++ b/mocks/mockTechprofile.go
@@ -18,10 +18,10 @@
package mocks
import (
- "github.com/opencord/voltha-lib-go/v2/pkg/db"
- "github.com/opencord/voltha-lib-go/v2/pkg/log"
- tp "github.com/opencord/voltha-lib-go/v2/pkg/techprofile"
- tp_pb "github.com/opencord/voltha-protos/v2/go/tech_profile"
+ "github.com/opencord/voltha-lib-go/v3/pkg/db"
+ "github.com/opencord/voltha-lib-go/v3/pkg/log"
+ tp "github.com/opencord/voltha-lib-go/v3/pkg/techprofile"
+ tp_pb "github.com/opencord/voltha-protos/v3/go/tech_profile"
)
// MockTechProfile mock struct for OpenoltClient.
diff --git a/vendor/github.com/opencord/voltha-lib-go/v2/pkg/adapters/README.md b/vendor/github.com/opencord/voltha-lib-go/v2/pkg/adapters/README.md
deleted file mode 100644
index 13479f8..0000000
--- a/vendor/github.com/opencord/voltha-lib-go/v2/pkg/adapters/README.md
+++ /dev/null
@@ -1,10 +0,0 @@
-## How to Build and Run a Voltha Go language Adapter
-
-This directory is a repo for all voltha adapters written in Go language. At this time, the simulated_olt and
-simulated_onu adapters are the only adapters using the Go language. These adapters provide basic capabilities
-which will be used for high availability and capacity testing.
-
-### Building and running the Simulated OLT and ONU Adapters
-
-Please refer to the ```BUILD.md``` file under the voltha-go repo
-
diff --git a/vendor/github.com/opencord/voltha-lib-go/v2/pkg/adapters/adapterif/adapter_proxy_if.go b/vendor/github.com/opencord/voltha-lib-go/v3/pkg/adapters/adapterif/adapter_proxy_if.go
similarity index 93%
rename from vendor/github.com/opencord/voltha-lib-go/v2/pkg/adapters/adapterif/adapter_proxy_if.go
rename to vendor/github.com/opencord/voltha-lib-go/v3/pkg/adapters/adapterif/adapter_proxy_if.go
index 8197170..de5cfc0 100644
--- a/vendor/github.com/opencord/voltha-lib-go/v2/pkg/adapters/adapterif/adapter_proxy_if.go
+++ b/vendor/github.com/opencord/voltha-lib-go/v3/pkg/adapters/adapterif/adapter_proxy_if.go
@@ -20,7 +20,7 @@
"context"
"github.com/golang/protobuf/proto"
- ic "github.com/opencord/voltha-protos/v2/go/inter_container"
+ ic "github.com/opencord/voltha-protos/v3/go/inter_container"
)
// AdapterProxy interface for AdapterProxy implementation.
diff --git a/vendor/github.com/opencord/voltha-lib-go/v2/pkg/adapters/adapterif/core_proxy_if.go b/vendor/github.com/opencord/voltha-lib-go/v3/pkg/adapters/adapterif/core_proxy_if.go
similarity index 90%
rename from vendor/github.com/opencord/voltha-lib-go/v2/pkg/adapters/adapterif/core_proxy_if.go
rename to vendor/github.com/opencord/voltha-lib-go/v3/pkg/adapters/adapterif/core_proxy_if.go
index c7af374..dbf3418 100644
--- a/vendor/github.com/opencord/voltha-lib-go/v2/pkg/adapters/adapterif/core_proxy_if.go
+++ b/vendor/github.com/opencord/voltha-lib-go/v3/pkg/adapters/adapterif/core_proxy_if.go
@@ -19,7 +19,7 @@
import (
"context"
- "github.com/opencord/voltha-protos/v2/go/voltha"
+ "github.com/opencord/voltha-protos/v3/go/voltha"
)
// CoreProxy interface for voltha-go coreproxy.
@@ -32,10 +32,10 @@
RegisterAdapter(ctx context.Context, adapter *voltha.Adapter, deviceTypes *voltha.DeviceTypes) error
DeviceUpdate(ctx context.Context, device *voltha.Device) error
PortCreated(ctx context.Context, deviceID string, port *voltha.Port) error
- PortsStateUpdate(ctx context.Context, deviceID string, operStatus voltha.OperStatus_OperStatus) error
+ PortsStateUpdate(ctx context.Context, deviceID string, operStatus voltha.OperStatus_Types) error
DeleteAllPorts(ctx context.Context, deviceID string) error
DeviceStateUpdate(ctx context.Context, deviceID string,
- connStatus voltha.ConnectStatus_ConnectStatus, operStatus voltha.OperStatus_OperStatus) error
+ connStatus voltha.ConnectStatus_Types, operStatus voltha.OperStatus_Types) error
DevicePMConfigUpdate(ctx context.Context, pmConfigs *voltha.PmConfigs) error
ChildDeviceDetected(ctx context.Context, parentDeviceID string, parentPortNo int,
@@ -49,5 +49,5 @@
SendPacketIn(ctx context.Context, deviceID string, port uint32, pktPayload []byte) error
DeviceReasonUpdate(ctx context.Context, deviceID string, deviceReason string) error
PortStateUpdate(ctx context.Context, deviceID string, pType voltha.Port_PortType, portNo uint32,
- operStatus voltha.OperStatus_OperStatus) error
+ operStatus voltha.OperStatus_Types) error
}
diff --git a/vendor/github.com/opencord/voltha-lib-go/v2/pkg/adapters/adapterif/events_proxy_if.go b/vendor/github.com/opencord/voltha-lib-go/v3/pkg/adapters/adapterif/events_proxy_if.go
similarity index 82%
rename from vendor/github.com/opencord/voltha-lib-go/v2/pkg/adapters/adapterif/events_proxy_if.go
rename to vendor/github.com/opencord/voltha-lib-go/v3/pkg/adapters/adapterif/events_proxy_if.go
index b8ea9d8..c144935 100644
--- a/vendor/github.com/opencord/voltha-lib-go/v2/pkg/adapters/adapterif/events_proxy_if.go
+++ b/vendor/github.com/opencord/voltha-lib-go/v3/pkg/adapters/adapterif/events_proxy_if.go
@@ -17,7 +17,7 @@
package adapterif
import (
- "github.com/opencord/voltha-protos/v2/go/voltha"
+ "github.com/opencord/voltha-protos/v3/go/voltha"
)
// EventProxy interface for eventproxy
@@ -33,7 +33,7 @@
)
type (
- EventType = voltha.EventType_EventType
- EventCategory = voltha.EventCategory_EventCategory
- EventSubCategory = voltha.EventSubCategory_EventSubCategory
+ EventType = voltha.EventType_Types
+ EventCategory = voltha.EventCategory_Types
+ EventSubCategory = voltha.EventSubCategory_Types
)
diff --git a/vendor/github.com/opencord/voltha-lib-go/v2/pkg/adapters/common/adapter_proxy.go b/vendor/github.com/opencord/voltha-lib-go/v3/pkg/adapters/common/adapter_proxy.go
similarity index 82%
rename from vendor/github.com/opencord/voltha-lib-go/v2/pkg/adapters/common/adapter_proxy.go
rename to vendor/github.com/opencord/voltha-lib-go/v3/pkg/adapters/common/adapter_proxy.go
index 7b09a1f..b302214 100644
--- a/vendor/github.com/opencord/voltha-lib-go/v2/pkg/adapters/common/adapter_proxy.go
+++ b/vendor/github.com/opencord/voltha-lib-go/v3/pkg/adapters/common/adapter_proxy.go
@@ -17,14 +17,15 @@
import (
"context"
+ "time"
+
"github.com/golang/protobuf/proto"
"github.com/golang/protobuf/ptypes"
"github.com/golang/protobuf/ptypes/any"
"github.com/google/uuid"
- "github.com/opencord/voltha-lib-go/v2/pkg/kafka"
- "github.com/opencord/voltha-lib-go/v2/pkg/log"
- ic "github.com/opencord/voltha-protos/v2/go/inter_container"
- "time"
+ "github.com/opencord/voltha-lib-go/v3/pkg/kafka"
+ "github.com/opencord/voltha-lib-go/v3/pkg/log"
+ ic "github.com/opencord/voltha-protos/v3/go/inter_container"
)
type AdapterProxy struct {
@@ -38,7 +39,7 @@
proxy.kafkaICProxy = kafkaProxy
proxy.adapterTopic = adapterTopic
proxy.coreTopic = coreTopic
- log.Debugw("TOPICS", log.Fields{"core": proxy.coreTopic, "adapter": proxy.adapterTopic})
+ logger.Debugw("TOPICS", log.Fields{"core": proxy.coreTopic, "adapter": proxy.adapterTopic})
return &proxy
}
@@ -50,14 +51,14 @@
toDeviceId string,
proxyDeviceId string,
messageId string) error {
- log.Debugw("sending-inter-adapter-message", log.Fields{"type": msgType, "from": fromAdapter,
+ logger.Debugw("sending-inter-adapter-message", log.Fields{"type": msgType, "from": fromAdapter,
"to": toAdapter, "toDevice": toDeviceId, "proxyDevice": proxyDeviceId})
//Marshal the message
var marshalledMsg *any.Any
var err error
if marshalledMsg, err = ptypes.MarshalAny(msg); err != nil {
- log.Warnw("cannot-marshal-msg", log.Fields{"error": err})
+ logger.Warnw("cannot-marshal-msg", log.Fields{"error": err})
return err
}
@@ -91,6 +92,6 @@
rpc := "process_inter_adapter_message"
success, result := ap.kafkaICProxy.InvokeRPC(ctx, rpc, &topic, &replyToTopic, true, proxyDeviceId, args...)
- log.Debugw("inter-adapter-msg-response", log.Fields{"replyTopic": replyToTopic, "success": success})
+ logger.Debugw("inter-adapter-msg-response", log.Fields{"replyTopic": replyToTopic, "success": success})
return unPackResponse(rpc, "", success, result)
}
diff --git a/vendor/github.com/opencord/voltha-lib-go/v2/pkg/db/common.go b/vendor/github.com/opencord/voltha-lib-go/v3/pkg/adapters/common/common.go
similarity index 69%
copy from vendor/github.com/opencord/voltha-lib-go/v2/pkg/db/common.go
copy to vendor/github.com/opencord/voltha-lib-go/v3/pkg/adapters/common/common.go
index 0851ede..acf818c 100644
--- a/vendor/github.com/opencord/voltha-lib-go/v2/pkg/db/common.go
+++ b/vendor/github.com/opencord/voltha-lib-go/v3/pkg/adapters/common/common.go
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-present Open Networking Foundation
+ * Copyright 2020-present Open Networking Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -13,21 +13,22 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package db
+package common
import (
- "github.com/opencord/voltha-lib-go/v2/pkg/log"
+ "github.com/opencord/voltha-lib-go/v3/pkg/log"
)
const (
- logLevel = log.FatalLevel
+ logLevel = log.ErrorLevel
)
-// Unit test initialization. This init() function handles all unit tests in
-// the current directory.
+var logger log.Logger
+
func init() {
// Setup this package so that it's log level can be modified at run time
- _, err := log.AddPackage(log.JSON, logLevel, log.Fields{"pkg": "db"})
+ var err error
+ logger, err = log.AddPackage(log.JSON, logLevel, log.Fields{"pkg": "common"})
if err != nil {
panic(err)
}
diff --git a/vendor/github.com/opencord/voltha-lib-go/v2/pkg/adapters/common/core_proxy.go b/vendor/github.com/opencord/voltha-lib-go/v3/pkg/adapters/common/core_proxy.go
similarity index 79%
rename from vendor/github.com/opencord/voltha-lib-go/v2/pkg/adapters/common/core_proxy.go
rename to vendor/github.com/opencord/voltha-lib-go/v3/pkg/adapters/common/core_proxy.go
index a69d9b4..9b46c28 100644
--- a/vendor/github.com/opencord/voltha-lib-go/v2/pkg/adapters/common/core_proxy.go
+++ b/vendor/github.com/opencord/voltha-lib-go/v3/pkg/adapters/common/core_proxy.go
@@ -21,10 +21,10 @@
"github.com/golang/protobuf/ptypes"
a "github.com/golang/protobuf/ptypes/any"
- "github.com/opencord/voltha-lib-go/v2/pkg/kafka"
- "github.com/opencord/voltha-lib-go/v2/pkg/log"
- ic "github.com/opencord/voltha-protos/v2/go/inter_container"
- "github.com/opencord/voltha-protos/v2/go/voltha"
+ "github.com/opencord/voltha-lib-go/v3/pkg/kafka"
+ "github.com/opencord/voltha-lib-go/v3/pkg/log"
+ ic "github.com/opencord/voltha-protos/v3/go/inter_container"
+ "github.com/opencord/voltha-protos/v3/go/voltha"
"google.golang.org/grpc/codes"
"google.golang.org/grpc/status"
)
@@ -44,7 +44,7 @@
proxy.coreTopic = coreTopic
proxy.deviceIdCoreMap = make(map[string]string)
proxy.lockDeviceIdCoreMap = sync.RWMutex{}
- log.Debugw("TOPICS", log.Fields{"core": proxy.coreTopic, "adapter": proxy.adapterTopic})
+ logger.Debugw("TOPICS", log.Fields{"core": proxy.coreTopic, "adapter": proxy.adapterTopic})
return &proxy
}
@@ -56,9 +56,9 @@
unpackResult := &ic.Error{}
var err error
if err = ptypes.UnmarshalAny(response, unpackResult); err != nil {
- log.Warnw("cannot-unmarshal-response", log.Fields{"error": err})
+ logger.Warnw("cannot-unmarshal-response", log.Fields{"error": err})
}
- log.Debugw("response", log.Fields{"rpc": rpc, "deviceId": deviceId, "success": success, "error": err})
+ logger.Debugw("response", log.Fields{"rpc": rpc, "deviceId": deviceId, "success": success, "error": err})
// TODO: Need to get the real error code
return status.Errorf(codes.Canceled, "%s", unpackResult.Reason)
}
@@ -94,7 +94,7 @@
}
func (ap *CoreProxy) RegisterAdapter(ctx context.Context, adapter *voltha.Adapter, deviceTypes *voltha.DeviceTypes) error {
- log.Debugw("registering-adapter", log.Fields{"coreTopic": ap.coreTopic, "adapterTopic": ap.adapterTopic})
+ logger.Debugw("registering-adapter", log.Fields{"coreTopic": ap.coreTopic, "adapterTopic": ap.adapterTopic})
rpc := "Register"
topic := kafka.Topic{Name: ap.coreTopic}
replyToTopic := ap.getAdapterTopic()
@@ -109,12 +109,12 @@
}
success, result := ap.kafkaICProxy.InvokeRPC(ctx, rpc, &topic, &replyToTopic, true, "", args...)
- log.Debugw("Register-Adapter-response", log.Fields{"replyTopic": replyToTopic, "success": success})
+ logger.Debugw("Register-Adapter-response", log.Fields{"replyTopic": replyToTopic, "success": success})
return unPackResponse(rpc, "", success, result)
}
func (ap *CoreProxy) DeviceUpdate(ctx context.Context, device *voltha.Device) error {
- log.Debugw("DeviceUpdate", log.Fields{"deviceId": device.Id})
+ logger.Debugw("DeviceUpdate", log.Fields{"deviceId": device.Id})
rpc := "DeviceUpdate"
toTopic := ap.getCoreTopic(device.Id)
args := make([]*kafka.KVArg, 1)
@@ -125,12 +125,12 @@
// Use a device specific topic as we are the only adaptercore handling requests for this device
replyToTopic := ap.getAdapterTopic()
success, result := ap.kafkaICProxy.InvokeRPC(nil, rpc, &toTopic, &replyToTopic, true, device.Id, args...)
- log.Debugw("DeviceUpdate-response", log.Fields{"deviceId": device.Id, "success": success})
+ logger.Debugw("DeviceUpdate-response", log.Fields{"deviceId": device.Id, "success": success})
return unPackResponse(rpc, device.Id, success, result)
}
func (ap *CoreProxy) PortCreated(ctx context.Context, deviceId string, port *voltha.Port) error {
- log.Debugw("PortCreated", log.Fields{"portNo": port.PortNo})
+ logger.Debugw("PortCreated", log.Fields{"portNo": port.PortNo})
rpc := "PortCreated"
// Use a device specific topic to send the request. The adapter handling the device creates a device
// specific topic
@@ -149,11 +149,11 @@
// Use a device specific topic as we are the only adaptercore handling requests for this device
replyToTopic := ap.getAdapterTopic()
success, result := ap.kafkaICProxy.InvokeRPC(nil, rpc, &toTopic, &replyToTopic, true, deviceId, args...)
- log.Debugw("PortCreated-response", log.Fields{"deviceId": deviceId, "success": success})
+ logger.Debugw("PortCreated-response", log.Fields{"deviceId": deviceId, "success": success})
return unPackResponse(rpc, deviceId, success, result)
}
-func (ap *CoreProxy) PortsStateUpdate(ctx context.Context, deviceId string, operStatus voltha.OperStatus_OperStatus) error {
+func (ap *CoreProxy) PortsStateUpdate(ctx context.Context, deviceId string, operStatus voltha.OperStatus_Types) error {
log.Debugw("PortsStateUpdate", log.Fields{"deviceId": deviceId})
rpc := "PortsStateUpdate"
// Use a device specific topic to send the request. The adapter handling the device creates a device
@@ -175,12 +175,12 @@
// Use a device specific topic as we are the only adaptercore handling requests for this device
replyToTopic := ap.getAdapterTopic()
success, result := ap.kafkaICProxy.InvokeRPC(nil, rpc, &toTopic, &replyToTopic, true, deviceId, args...)
- log.Debugw("PortsStateUpdate-response", log.Fields{"deviceId": deviceId, "success": success})
+ logger.Debugw("PortsStateUpdate-response", log.Fields{"deviceId": deviceId, "success": success})
return unPackResponse(rpc, deviceId, success, result)
}
func (ap *CoreProxy) DeleteAllPorts(ctx context.Context, deviceId string) error {
- log.Debugw("DeleteAllPorts", log.Fields{"deviceId": deviceId})
+ logger.Debugw("DeleteAllPorts", log.Fields{"deviceId": deviceId})
rpc := "DeleteAllPorts"
// Use a device specific topic to send the request. The adapter handling the device creates a device
// specific topic
@@ -196,12 +196,12 @@
// Use a device specific topic as we are the only adaptercore handling requests for this device
replyToTopic := ap.getAdapterTopic()
success, result := ap.kafkaICProxy.InvokeRPC(nil, rpc, &toTopic, &replyToTopic, true, deviceId, args...)
- log.Debugw("DeleteAllPorts-response", log.Fields{"deviceId": deviceId, "success": success})
+ logger.Debugw("DeleteAllPorts-response", log.Fields{"deviceId": deviceId, "success": success})
return unPackResponse(rpc, deviceId, success, result)
}
func (ap *CoreProxy) DeviceStateUpdate(ctx context.Context, deviceId string,
- connStatus voltha.ConnectStatus_ConnectStatus, operStatus voltha.OperStatus_OperStatus) error {
+ connStatus voltha.ConnectStatus_Types, operStatus voltha.OperStatus_Types) error {
log.Debugw("DeviceStateUpdate", log.Fields{"deviceId": deviceId})
rpc := "DeviceStateUpdate"
// Use a device specific topic to send the request. The adapter handling the device creates a device
@@ -227,13 +227,13 @@
// Use a device specific topic as we are the only adaptercore handling requests for this device
replyToTopic := ap.getAdapterTopic()
success, result := ap.kafkaICProxy.InvokeRPC(nil, rpc, &toTopic, &replyToTopic, true, deviceId, args...)
- log.Debugw("DeviceStateUpdate-response", log.Fields{"deviceId": deviceId, "success": success})
+ logger.Debugw("DeviceStateUpdate-response", log.Fields{"deviceId": deviceId, "success": success})
return unPackResponse(rpc, deviceId, success, result)
}
func (ap *CoreProxy) ChildDeviceDetected(ctx context.Context, parentDeviceId string, parentPortNo int,
childDeviceType string, channelId int, vendorId string, serialNumber string, onuId int64) (*voltha.Device, error) {
- log.Debugw("ChildDeviceDetected", log.Fields{"pDeviceId": parentDeviceId, "channelId": channelId})
+ logger.Debugw("ChildDeviceDetected", log.Fields{"pDeviceId": parentDeviceId, "channelId": channelId})
rpc := "ChildDeviceDetected"
// Use a device specific topic to send the request. The adapter handling the device creates a device
// specific topic
@@ -278,12 +278,12 @@
}
success, result := ap.kafkaICProxy.InvokeRPC(nil, rpc, &toTopic, &replyToTopic, true, parentDeviceId, args...)
- log.Debugw("ChildDeviceDetected-response", log.Fields{"pDeviceId": parentDeviceId, "success": success})
+ logger.Debugw("ChildDeviceDetected-response", log.Fields{"pDeviceId": parentDeviceId, "success": success})
if success {
volthaDevice := &voltha.Device{}
if err := ptypes.UnmarshalAny(result, volthaDevice); err != nil {
- log.Warnw("cannot-unmarshal-response", log.Fields{"error": err})
+ logger.Warnw("cannot-unmarshal-response", log.Fields{"error": err})
return nil, status.Errorf(codes.InvalidArgument, "%s", err.Error())
}
return volthaDevice, nil
@@ -291,9 +291,9 @@
unpackResult := &ic.Error{}
var err error
if err = ptypes.UnmarshalAny(result, unpackResult); err != nil {
- log.Warnw("cannot-unmarshal-response", log.Fields{"error": err})
+ logger.Warnw("cannot-unmarshal-response", log.Fields{"error": err})
}
- log.Debugw("ChildDeviceDetected-return", log.Fields{"deviceid": parentDeviceId, "success": success, "error": err})
+ logger.Debugw("ChildDeviceDetected-return", log.Fields{"deviceid": parentDeviceId, "success": success, "error": err})
// TODO: Need to get the real error code
return nil, status.Errorf(codes.Internal, "%s", unpackResult.Reason)
}
@@ -301,7 +301,7 @@
}
func (ap *CoreProxy) ChildDevicesLost(ctx context.Context, parentDeviceId string) error {
- log.Debugw("ChildDevicesLost", log.Fields{"pDeviceId": parentDeviceId})
+ logger.Debugw("ChildDevicesLost", log.Fields{"pDeviceId": parentDeviceId})
rpc := "ChildDevicesLost"
// Use a device specific topic to send the request. The adapter handling the device creates a device
// specific topic
@@ -316,12 +316,12 @@
}
success, result := ap.kafkaICProxy.InvokeRPC(nil, rpc, &toTopic, &replyToTopic, true, parentDeviceId, args...)
- log.Debugw("ChildDevicesLost-response", log.Fields{"pDeviceId": parentDeviceId, "success": success})
+ logger.Debugw("ChildDevicesLost-response", log.Fields{"pDeviceId": parentDeviceId, "success": success})
return unPackResponse(rpc, parentDeviceId, success, result)
}
func (ap *CoreProxy) ChildDevicesDetected(ctx context.Context, parentDeviceId string) error {
- log.Debugw("ChildDevicesDetected", log.Fields{"pDeviceId": parentDeviceId})
+ logger.Debugw("ChildDevicesDetected", log.Fields{"pDeviceId": parentDeviceId})
rpc := "ChildDevicesDetected"
// Use a device specific topic to send the request. The adapter handling the device creates a device
// specific topic
@@ -336,12 +336,12 @@
}
success, result := ap.kafkaICProxy.InvokeRPC(nil, rpc, &toTopic, &replyToTopic, true, parentDeviceId, args...)
- log.Debugw("ChildDevicesDetected-response", log.Fields{"pDeviceId": parentDeviceId, "success": success})
+ logger.Debugw("ChildDevicesDetected-response", log.Fields{"pDeviceId": parentDeviceId, "success": success})
return unPackResponse(rpc, parentDeviceId, success, result)
}
func (ap *CoreProxy) GetDevice(ctx context.Context, parentDeviceId string, deviceId string) (*voltha.Device, error) {
- log.Debugw("GetDevice", log.Fields{"deviceId": deviceId})
+ logger.Debugw("GetDevice", log.Fields{"deviceId": deviceId})
rpc := "GetDevice"
toTopic := ap.getCoreTopic(parentDeviceId)
@@ -355,12 +355,12 @@
}
success, result := ap.kafkaICProxy.InvokeRPC(nil, rpc, &toTopic, &replyToTopic, true, parentDeviceId, args...)
- log.Debugw("GetDevice-response", log.Fields{"pDeviceId": parentDeviceId, "success": success})
+ logger.Debugw("GetDevice-response", log.Fields{"pDeviceId": parentDeviceId, "success": success})
if success {
volthaDevice := &voltha.Device{}
if err := ptypes.UnmarshalAny(result, volthaDevice); err != nil {
- log.Warnw("cannot-unmarshal-response", log.Fields{"error": err})
+ logger.Warnw("cannot-unmarshal-response", log.Fields{"error": err})
return nil, status.Errorf(codes.InvalidArgument, "%s", err.Error())
}
return volthaDevice, nil
@@ -368,16 +368,16 @@
unpackResult := &ic.Error{}
var err error
if err = ptypes.UnmarshalAny(result, unpackResult); err != nil {
- log.Warnw("cannot-unmarshal-response", log.Fields{"error": err})
+ logger.Warnw("cannot-unmarshal-response", log.Fields{"error": err})
}
- log.Debugw("GetDevice-return", log.Fields{"deviceid": parentDeviceId, "success": success, "error": err})
+ logger.Debugw("GetDevice-return", log.Fields{"deviceid": parentDeviceId, "success": success, "error": err})
// TODO: Need to get the real error code
return nil, status.Errorf(codes.Internal, "%s", unpackResult.Reason)
}
}
func (ap *CoreProxy) GetChildDevice(ctx context.Context, parentDeviceId string, kwargs map[string]interface{}) (*voltha.Device, error) {
- log.Debugw("GetChildDevice", log.Fields{"parentDeviceId": parentDeviceId, "kwargs": kwargs})
+ logger.Debugw("GetChildDevice", log.Fields{"parentDeviceId": parentDeviceId, "kwargs": kwargs})
rpc := "GetChildDevice"
toTopic := ap.getCoreTopic(parentDeviceId)
@@ -415,12 +415,12 @@
}
success, result := ap.kafkaICProxy.InvokeRPC(nil, rpc, &toTopic, &replyToTopic, true, parentDeviceId, args...)
- log.Debugw("GetChildDevice-response", log.Fields{"pDeviceId": parentDeviceId, "success": success})
+ logger.Debugw("GetChildDevice-response", log.Fields{"pDeviceId": parentDeviceId, "success": success})
if success {
volthaDevice := &voltha.Device{}
if err := ptypes.UnmarshalAny(result, volthaDevice); err != nil {
- log.Warnw("cannot-unmarshal-response", log.Fields{"error": err})
+ logger.Warnw("cannot-unmarshal-response", log.Fields{"error": err})
return nil, status.Errorf(codes.InvalidArgument, "%s", err.Error())
}
return volthaDevice, nil
@@ -428,16 +428,16 @@
unpackResult := &ic.Error{}
var err error
if err = ptypes.UnmarshalAny(result, unpackResult); err != nil {
- log.Warnw("cannot-unmarshal-response", log.Fields{"error": err})
+ logger.Warnw("cannot-unmarshal-response", log.Fields{"error": err})
}
- log.Debugw("GetChildDevice-return", log.Fields{"deviceid": parentDeviceId, "success": success, "error": err})
+ logger.Debugw("GetChildDevice-return", log.Fields{"deviceid": parentDeviceId, "success": success, "error": err})
// TODO: Need to get the real error code
return nil, status.Errorf(codes.Internal, "%s", unpackResult.Reason)
}
}
func (ap *CoreProxy) GetChildDevices(ctx context.Context, parentDeviceId string) (*voltha.Devices, error) {
- log.Debugw("GetChildDevices", log.Fields{"parentDeviceId": parentDeviceId})
+ logger.Debugw("GetChildDevices", log.Fields{"parentDeviceId": parentDeviceId})
rpc := "GetChildDevices"
toTopic := ap.getCoreTopic(parentDeviceId)
@@ -451,12 +451,12 @@
}
success, result := ap.kafkaICProxy.InvokeRPC(nil, rpc, &toTopic, &replyToTopic, true, parentDeviceId, args...)
- log.Debugw("GetChildDevices-response", log.Fields{"pDeviceId": parentDeviceId, "success": success})
+ logger.Debugw("GetChildDevices-response", log.Fields{"pDeviceId": parentDeviceId, "success": success})
if success {
volthaDevices := &voltha.Devices{}
if err := ptypes.UnmarshalAny(result, volthaDevices); err != nil {
- log.Warnw("cannot-unmarshal-response", log.Fields{"error": err})
+ logger.Warnw("cannot-unmarshal-response", log.Fields{"error": err})
return nil, status.Errorf(codes.InvalidArgument, "%s", err.Error())
}
return volthaDevices, nil
@@ -464,16 +464,16 @@
unpackResult := &ic.Error{}
var err error
if err = ptypes.UnmarshalAny(result, unpackResult); err != nil {
- log.Warnw("cannot-unmarshal-response", log.Fields{"error": err})
+ logger.Warnw("cannot-unmarshal-response", log.Fields{"error": err})
}
- log.Debugw("GetChildDevices-return", log.Fields{"deviceid": parentDeviceId, "success": success, "error": err})
+ logger.Debugw("GetChildDevices-return", log.Fields{"deviceid": parentDeviceId, "success": success, "error": err})
// TODO: Need to get the real error code
return nil, status.Errorf(codes.Internal, "%s", unpackResult.Reason)
}
}
func (ap *CoreProxy) SendPacketIn(ctx context.Context, deviceId string, port uint32, pktPayload []byte) error {
- log.Debugw("SendPacketIn", log.Fields{"deviceId": deviceId, "port": port, "pktPayload": pktPayload})
+ logger.Debugw("SendPacketIn", log.Fields{"deviceId": deviceId, "port": port, "pktPayload": pktPayload})
rpc := "PacketIn"
// Use a device specific topic to send the request. The adapter handling the device creates a device
// specific topic
@@ -497,12 +497,12 @@
Value: pkt,
}
success, result := ap.kafkaICProxy.InvokeRPC(nil, rpc, &toTopic, &replyToTopic, true, deviceId, args...)
- log.Debugw("SendPacketIn-response", log.Fields{"pDeviceId": deviceId, "success": success})
+ logger.Debugw("SendPacketIn-response", log.Fields{"pDeviceId": deviceId, "success": success})
return unPackResponse(rpc, deviceId, success, result)
}
func (ap *CoreProxy) DeviceReasonUpdate(ctx context.Context, deviceId string, deviceReason string) error {
- log.Debugw("DeviceReasonUpdate", log.Fields{"deviceId": deviceId, "deviceReason": deviceReason})
+ logger.Debugw("DeviceReasonUpdate", log.Fields{"deviceId": deviceId, "deviceReason": deviceReason})
rpc := "DeviceReasonUpdate"
// Use a device specific topic to send the request. The adapter handling the device creates a device
// specific topic
@@ -521,12 +521,12 @@
Value: reason,
}
success, result := ap.kafkaICProxy.InvokeRPC(nil, rpc, &toTopic, &replyToTopic, true, deviceId, args...)
- log.Debugw("DeviceReason-response", log.Fields{"pDeviceId": deviceId, "success": success})
+ logger.Debugw("DeviceReason-response", log.Fields{"pDeviceId": deviceId, "success": success})
return unPackResponse(rpc, deviceId, success, result)
}
func (ap *CoreProxy) DevicePMConfigUpdate(ctx context.Context, pmConfigs *voltha.PmConfigs) error {
- log.Debugw("DevicePMConfigUpdate", log.Fields{"pmConfigs": pmConfigs})
+ logger.Debugw("DevicePMConfigUpdate", log.Fields{"pmConfigs": pmConfigs})
rpc := "DevicePMConfigUpdate"
// Use a device specific topic to send the request. The adapter handling the device creates a device
// specific topic
@@ -539,12 +539,12 @@
Value: pmConfigs,
}
success, result := ap.kafkaICProxy.InvokeRPC(nil, rpc, &toTopic, &replyToTopic, true, pmConfigs.Id, args...)
- log.Debugw("DevicePMConfigUpdate-response", log.Fields{"pDeviceId": pmConfigs.Id, "success": success})
+ logger.Debugw("DevicePMConfigUpdate-response", log.Fields{"pDeviceId": pmConfigs.Id, "success": success})
return unPackResponse(rpc, pmConfigs.Id, success, result)
}
func (ap *CoreProxy) ReconcileChildDevices(ctx context.Context, parentDeviceId string) error {
- log.Debugw("ReconcileChildDevices", log.Fields{"parentDeviceId": parentDeviceId})
+ logger.Debugw("ReconcileChildDevices", log.Fields{"parentDeviceId": parentDeviceId})
rpc := "ReconcileChildDevices"
// Use a device specific topic to send the request. The adapter handling the device creates a device
// specific topic
@@ -556,13 +556,13 @@
}
success, result := ap.kafkaICProxy.InvokeRPC(nil, rpc, &toTopic, &replyToTopic, true, parentDeviceId, args...)
- log.Debugw("ReconcileChildDevices-response", log.Fields{"pDeviceId": parentDeviceId, "success": success})
+ logger.Debugw("ReconcileChildDevices-response", log.Fields{"pDeviceId": parentDeviceId, "success": success})
return unPackResponse(rpc, parentDeviceId, success, result)
}
func (ap *CoreProxy) PortStateUpdate(ctx context.Context, deviceId string, pType voltha.Port_PortType, portNum uint32,
- operStatus voltha.OperStatus_OperStatus) error {
- log.Debugw("PortStateUpdate", log.Fields{"deviceId": deviceId, "portType": pType, "portNo": portNum, "operation_status": operStatus})
+ operStatus voltha.OperStatus_Types) error {
+ logger.Debugw("PortStateUpdate", log.Fields{"deviceId": deviceId, "portType": pType, "portNo": portNum, "operation_status": operStatus})
rpc := "PortStateUpdate"
// Use a device specific topic to send the request. The adapter handling the device creates a device
// specific topic
@@ -593,6 +593,6 @@
// Use a device specific topic as we are the only adaptercore handling requests for this device
replyToTopic := ap.getAdapterTopic()
success, result := ap.kafkaICProxy.InvokeRPC(nil, rpc, &toTopic, &replyToTopic, true, deviceId, args...)
- log.Debugw("PortStateUpdate-response", log.Fields{"deviceId": deviceId, "success": success})
+ logger.Debugw("PortStateUpdate-response", log.Fields{"deviceId": deviceId, "success": success})
return unPackResponse(rpc, deviceId, success, result)
}
diff --git a/vendor/github.com/opencord/voltha-lib-go/v2/pkg/adapters/common/events_proxy.go b/vendor/github.com/opencord/voltha-lib-go/v3/pkg/adapters/common/events_proxy.go
similarity index 82%
rename from vendor/github.com/opencord/voltha-lib-go/v2/pkg/adapters/common/events_proxy.go
rename to vendor/github.com/opencord/voltha-lib-go/v3/pkg/adapters/common/events_proxy.go
index ab6b0d0..034de8e 100644
--- a/vendor/github.com/opencord/voltha-lib-go/v2/pkg/adapters/common/events_proxy.go
+++ b/vendor/github.com/opencord/voltha-lib-go/v3/pkg/adapters/common/events_proxy.go
@@ -23,10 +23,10 @@
"strings"
"time"
- "github.com/opencord/voltha-lib-go/v2/pkg/adapters/adapterif"
- "github.com/opencord/voltha-lib-go/v2/pkg/kafka"
- "github.com/opencord/voltha-lib-go/v2/pkg/log"
- "github.com/opencord/voltha-protos/v2/go/voltha"
+ "github.com/opencord/voltha-lib-go/v3/pkg/adapters/adapterif"
+ "github.com/opencord/voltha-lib-go/v3/pkg/kafka"
+ "github.com/opencord/voltha-lib-go/v3/pkg/log"
+ "github.com/opencord/voltha-protos/v3/go/voltha"
)
type EventProxy struct {
@@ -81,7 +81,7 @@
/* Send out device events*/
func (ep *EventProxy) SendDeviceEvent(deviceEvent *voltha.DeviceEvent, category adapterif.EventCategory, subCategory adapterif.EventSubCategory, raisedTs int64) error {
if deviceEvent == nil {
- log.Error("Recieved empty device event")
+ logger.Error("Recieved empty device event")
return errors.New("Device event nil")
}
var event voltha.Event
@@ -90,10 +90,10 @@
event.Header = ep.getEventHeader(deviceEvent.DeviceEventName, category, subCategory, voltha.EventType_DEVICE_EVENT, raisedTs)
event.EventType = &de
if err := ep.sendEvent(&event); err != nil {
- log.Errorw("Failed to send device event to KAFKA bus", log.Fields{"device-event": deviceEvent})
+ logger.Errorw("Failed to send device event to KAFKA bus", log.Fields{"device-event": deviceEvent})
return err
}
- log.Infow("Successfully sent device event KAFKA", log.Fields{"Id": event.Header.Id, "Category": event.Header.Category,
+ logger.Infow("Successfully sent device event KAFKA", log.Fields{"Id": event.Header.Id, "Category": event.Header.Category,
"SubCategory": event.Header.SubCategory, "Type": event.Header.Type, "TypeVersion": event.Header.TypeVersion,
"ReportedTs": event.Header.ReportedTs, "ResourceId": deviceEvent.ResourceId, "Context": deviceEvent.Context,
"DeviceEventName": deviceEvent.DeviceEventName})
@@ -105,7 +105,7 @@
// SendKpiEvent is to send kpi events to voltha.event topic
func (ep *EventProxy) SendKpiEvent(id string, kpiEvent *voltha.KpiEvent2, category adapterif.EventCategory, subCategory adapterif.EventSubCategory, raisedTs int64) error {
if kpiEvent == nil {
- log.Error("Recieved empty kpi event")
+ logger.Error("Recieved empty kpi event")
return errors.New("KPI event nil")
}
var event voltha.Event
@@ -114,10 +114,10 @@
event.Header = ep.getEventHeader(id, category, subCategory, voltha.EventType_KPI_EVENT2, raisedTs)
event.EventType = &de
if err := ep.sendEvent(&event); err != nil {
- log.Errorw("Failed to send kpi event to KAFKA bus", log.Fields{"device-event": kpiEvent})
+ logger.Errorw("Failed to send kpi event to KAFKA bus", log.Fields{"device-event": kpiEvent})
return err
}
- log.Infow("Successfully sent kpi event to KAFKA", log.Fields{"Id": event.Header.Id, "Category": event.Header.Category,
+ logger.Infow("Successfully sent kpi event to KAFKA", log.Fields{"Id": event.Header.Id, "Category": event.Header.Category,
"SubCategory": event.Header.SubCategory, "Type": event.Header.Type, "TypeVersion": event.Header.TypeVersion,
"ReportedTs": event.Header.ReportedTs, "KpiEventName": "STATS_EVENT"})
@@ -131,7 +131,7 @@
if err := ep.kafkaClient.Send(event, &ep.eventTopic); err != nil {
return err
}
- log.Debugw("Sent event to kafka", log.Fields{"event": event})
+ logger.Debugw("Sent event to kafka", log.Fields{"event": event})
return nil
}
diff --git a/vendor/github.com/opencord/voltha-lib-go/v2/pkg/adapters/common/performance_metrics.go b/vendor/github.com/opencord/voltha-lib-go/v3/pkg/adapters/common/performance_metrics.go
similarity index 97%
rename from vendor/github.com/opencord/voltha-lib-go/v2/pkg/adapters/common/performance_metrics.go
rename to vendor/github.com/opencord/voltha-lib-go/v3/pkg/adapters/common/performance_metrics.go
index bcb45f8..7697c05 100644
--- a/vendor/github.com/opencord/voltha-lib-go/v2/pkg/adapters/common/performance_metrics.go
+++ b/vendor/github.com/opencord/voltha-lib-go/v3/pkg/adapters/common/performance_metrics.go
@@ -17,7 +17,7 @@
package common
import (
- "github.com/opencord/voltha-protos/v2/go/voltha"
+ "github.com/opencord/voltha-protos/v3/go/voltha"
)
type PmMetrics struct {
diff --git a/vendor/github.com/opencord/voltha-lib-go/v2/pkg/adapters/common/request_handler.go b/vendor/github.com/opencord/voltha-lib-go/v3/pkg/adapters/common/request_handler.go
similarity index 74%
rename from vendor/github.com/opencord/voltha-lib-go/v2/pkg/adapters/common/request_handler.go
rename to vendor/github.com/opencord/voltha-lib-go/v3/pkg/adapters/common/request_handler.go
index dfcaf1e..414116b 100644
--- a/vendor/github.com/opencord/voltha-lib-go/v2/pkg/adapters/common/request_handler.go
+++ b/vendor/github.com/opencord/voltha-lib-go/v3/pkg/adapters/common/request_handler.go
@@ -17,15 +17,16 @@
import (
"errors"
+
"github.com/golang/protobuf/ptypes"
"github.com/golang/protobuf/ptypes/empty"
- "github.com/opencord/voltha-lib-go/v2/pkg/adapters"
- "github.com/opencord/voltha-lib-go/v2/pkg/adapters/adapterif"
- "github.com/opencord/voltha-lib-go/v2/pkg/kafka"
- "github.com/opencord/voltha-lib-go/v2/pkg/log"
- ic "github.com/opencord/voltha-protos/v2/go/inter_container"
- "github.com/opencord/voltha-protos/v2/go/openflow_13"
- "github.com/opencord/voltha-protos/v2/go/voltha"
+ "github.com/opencord/voltha-lib-go/v3/pkg/adapters"
+ "github.com/opencord/voltha-lib-go/v3/pkg/adapters/adapterif"
+ "github.com/opencord/voltha-lib-go/v3/pkg/kafka"
+ "github.com/opencord/voltha-lib-go/v3/pkg/log"
+ ic "github.com/opencord/voltha-protos/v3/go/inter_container"
+ "github.com/opencord/voltha-protos/v3/go/openflow_13"
+ "github.com/opencord/voltha-protos/v3/go/voltha"
"google.golang.org/grpc/codes"
"google.golang.org/grpc/status"
)
@@ -59,7 +60,7 @@
func (rhp *RequestHandlerProxy) Adopt_device(args []*ic.Argument) (*empty.Empty, error) {
if len(args) < 3 {
- log.Warn("invalid-number-of-args", log.Fields{"args": args})
+ logger.Warn("invalid-number-of-args", log.Fields{"args": args})
err := errors.New("invalid-number-of-args")
return nil, err
}
@@ -70,23 +71,23 @@
switch arg.Key {
case "device":
if err := ptypes.UnmarshalAny(arg.Value, device); err != nil {
- log.Warnw("cannot-unmarshal-device", log.Fields{"error": err})
+ logger.Warnw("cannot-unmarshal-device", log.Fields{"error": err})
return nil, err
}
case kafka.TransactionKey:
if err := ptypes.UnmarshalAny(arg.Value, transactionID); err != nil {
- log.Warnw("cannot-unmarshal-transaction-ID", log.Fields{"error": err})
+ logger.Warnw("cannot-unmarshal-transaction-ID", log.Fields{"error": err})
return nil, err
}
case kafka.FromTopic:
if err := ptypes.UnmarshalAny(arg.Value, fromTopic); err != nil {
- log.Warnw("cannot-unmarshal-from-topic", log.Fields{"error": err})
+ logger.Warnw("cannot-unmarshal-from-topic", log.Fields{"error": err})
return nil, err
}
}
}
- log.Debugw("Adopt_device", log.Fields{"deviceId": device.Id})
+ logger.Debugw("Adopt_device", log.Fields{"deviceId": device.Id})
//Update the core reference for that device
rhp.coreProxy.UpdateCoreReference(device.Id, fromTopic.Val)
@@ -101,7 +102,7 @@
func (rhp *RequestHandlerProxy) Reconcile_device(args []*ic.Argument) (*empty.Empty, error) {
if len(args) < 3 {
- log.Warn("invalid-number-of-args", log.Fields{"args": args})
+ logger.Warn("invalid-number-of-args", log.Fields{"args": args})
err := errors.New("invalid-number-of-args")
return nil, err
}
@@ -113,17 +114,17 @@
switch arg.Key {
case "device":
if err := ptypes.UnmarshalAny(arg.Value, device); err != nil {
- log.Warnw("cannot-unmarshal-device", log.Fields{"error": err})
+ logger.Warnw("cannot-unmarshal-device", log.Fields{"error": err})
return nil, err
}
case kafka.TransactionKey:
if err := ptypes.UnmarshalAny(arg.Value, transactionID); err != nil {
- log.Warnw("cannot-unmarshal-transaction-ID", log.Fields{"error": err})
+ logger.Warnw("cannot-unmarshal-transaction-ID", log.Fields{"error": err})
return nil, err
}
case kafka.FromTopic:
if err := ptypes.UnmarshalAny(arg.Value, fromTopic); err != nil {
- log.Warnw("cannot-unmarshal-from-topic", log.Fields{"error": err})
+ logger.Warnw("cannot-unmarshal-from-topic", log.Fields{"error": err})
return nil, err
}
}
@@ -144,7 +145,7 @@
func (rhp *RequestHandlerProxy) Disable_device(args []*ic.Argument) (*empty.Empty, error) {
if len(args) < 3 {
- log.Warn("invalid-number-of-args", log.Fields{"args": args})
+ logger.Warn("invalid-number-of-args", log.Fields{"args": args})
err := errors.New("invalid-number-of-args")
return nil, err
}
@@ -156,17 +157,17 @@
switch arg.Key {
case "device":
if err := ptypes.UnmarshalAny(arg.Value, device); err != nil {
- log.Warnw("cannot-unmarshal-device", log.Fields{"error": err})
+ logger.Warnw("cannot-unmarshal-device", log.Fields{"error": err})
return nil, err
}
case kafka.TransactionKey:
if err := ptypes.UnmarshalAny(arg.Value, transactionID); err != nil {
- log.Warnw("cannot-unmarshal-transaction-ID", log.Fields{"error": err})
+ logger.Warnw("cannot-unmarshal-transaction-ID", log.Fields{"error": err})
return nil, err
}
case kafka.FromTopic:
if err := ptypes.UnmarshalAny(arg.Value, fromTopic); err != nil {
- log.Warnw("cannot-unmarshal-from-topic", log.Fields{"error": err})
+ logger.Warnw("cannot-unmarshal-from-topic", log.Fields{"error": err})
return nil, err
}
}
@@ -182,7 +183,7 @@
func (rhp *RequestHandlerProxy) Reenable_device(args []*ic.Argument) (*empty.Empty, error) {
if len(args) < 3 {
- log.Warn("invalid-number-of-args", log.Fields{"args": args})
+ logger.Warn("invalid-number-of-args", log.Fields{"args": args})
err := errors.New("invalid-number-of-args")
return nil, err
}
@@ -194,17 +195,17 @@
switch arg.Key {
case "device":
if err := ptypes.UnmarshalAny(arg.Value, device); err != nil {
- log.Warnw("cannot-unmarshal-device", log.Fields{"error": err})
+ logger.Warnw("cannot-unmarshal-device", log.Fields{"error": err})
return nil, err
}
case kafka.TransactionKey:
if err := ptypes.UnmarshalAny(arg.Value, transactionID); err != nil {
- log.Warnw("cannot-unmarshal-transaction-ID", log.Fields{"error": err})
+ logger.Warnw("cannot-unmarshal-transaction-ID", log.Fields{"error": err})
return nil, err
}
case kafka.FromTopic:
if err := ptypes.UnmarshalAny(arg.Value, fromTopic); err != nil {
- log.Warnw("cannot-unmarshal-from-topic", log.Fields{"error": err})
+ logger.Warnw("cannot-unmarshal-from-topic", log.Fields{"error": err})
return nil, err
}
}
@@ -220,7 +221,7 @@
func (rhp *RequestHandlerProxy) Reboot_device(args []*ic.Argument) (*empty.Empty, error) {
if len(args) < 3 {
- log.Warn("invalid-number-of-args", log.Fields{"args": args})
+ logger.Warn("invalid-number-of-args", log.Fields{"args": args})
err := errors.New("invalid-number-of-args")
return nil, err
}
@@ -232,17 +233,17 @@
switch arg.Key {
case "device":
if err := ptypes.UnmarshalAny(arg.Value, device); err != nil {
- log.Warnw("cannot-unmarshal-device", log.Fields{"error": err})
+ logger.Warnw("cannot-unmarshal-device", log.Fields{"error": err})
return nil, err
}
case kafka.TransactionKey:
if err := ptypes.UnmarshalAny(arg.Value, transactionID); err != nil {
- log.Warnw("cannot-unmarshal-transaction-ID", log.Fields{"error": err})
+ logger.Warnw("cannot-unmarshal-transaction-ID", log.Fields{"error": err})
return nil, err
}
case kafka.FromTopic:
if err := ptypes.UnmarshalAny(arg.Value, fromTopic); err != nil {
- log.Warnw("cannot-unmarshal-from-topic", log.Fields{"error": err})
+ logger.Warnw("cannot-unmarshal-from-topic", log.Fields{"error": err})
return nil, err
}
}
@@ -263,7 +264,7 @@
func (rhp *RequestHandlerProxy) Delete_device(args []*ic.Argument) (*empty.Empty, error) {
if len(args) < 3 {
- log.Warn("invalid-number-of-args", log.Fields{"args": args})
+ logger.Warn("invalid-number-of-args", log.Fields{"args": args})
err := errors.New("invalid-number-of-args")
return nil, err
}
@@ -275,17 +276,17 @@
switch arg.Key {
case "device":
if err := ptypes.UnmarshalAny(arg.Value, device); err != nil {
- log.Warnw("cannot-unmarshal-device", log.Fields{"error": err})
+ logger.Warnw("cannot-unmarshal-device", log.Fields{"error": err})
return nil, err
}
case kafka.TransactionKey:
if err := ptypes.UnmarshalAny(arg.Value, transactionID); err != nil {
- log.Warnw("cannot-unmarshal-transaction-ID", log.Fields{"error": err})
+ logger.Warnw("cannot-unmarshal-transaction-ID", log.Fields{"error": err})
return nil, err
}
case kafka.FromTopic:
if err := ptypes.UnmarshalAny(arg.Value, fromTopic); err != nil {
- log.Warnw("cannot-unmarshal-from-topic", log.Fields{"error": err})
+ logger.Warnw("cannot-unmarshal-from-topic", log.Fields{"error": err})
return nil, err
}
}
@@ -304,9 +305,9 @@
}
func (rhp *RequestHandlerProxy) Update_flows_bulk(args []*ic.Argument) (*empty.Empty, error) {
- log.Debug("Update_flows_bulk")
+ logger.Debug("Update_flows_bulk")
if len(args) < 5 {
- log.Warn("Update_flows_bulk-invalid-number-of-args", log.Fields{"args": args})
+ logger.Warn("Update_flows_bulk-invalid-number-of-args", log.Fields{"args": args})
err := errors.New("invalid-number-of-args")
return nil, err
}
@@ -319,32 +320,32 @@
switch arg.Key {
case "device":
if err := ptypes.UnmarshalAny(arg.Value, device); err != nil {
- log.Warnw("cannot-unmarshal-device", log.Fields{"error": err})
+ logger.Warnw("cannot-unmarshal-device", log.Fields{"error": err})
return nil, err
}
case "flows":
if err := ptypes.UnmarshalAny(arg.Value, flows); err != nil {
- log.Warnw("cannot-unmarshal-flows", log.Fields{"error": err})
+ logger.Warnw("cannot-unmarshal-flows", log.Fields{"error": err})
return nil, err
}
case "groups":
if err := ptypes.UnmarshalAny(arg.Value, groups); err != nil {
- log.Warnw("cannot-unmarshal-groups", log.Fields{"error": err})
+ logger.Warnw("cannot-unmarshal-groups", log.Fields{"error": err})
return nil, err
}
case "flow_metadata":
if err := ptypes.UnmarshalAny(arg.Value, flowMetadata); err != nil {
- log.Warnw("cannot-unmarshal-metadata", log.Fields{"error": err})
+ logger.Warnw("cannot-unmarshal-metadata", log.Fields{"error": err})
return nil, err
}
case kafka.TransactionKey:
if err := ptypes.UnmarshalAny(arg.Value, transactionID); err != nil {
- log.Warnw("cannot-unmarshal-transaction-ID", log.Fields{"error": err})
+ logger.Warnw("cannot-unmarshal-transaction-ID", log.Fields{"error": err})
return nil, err
}
}
}
- log.Debugw("Update_flows_bulk", log.Fields{"flows": flows, "groups": groups})
+ logger.Debugw("Update_flows_bulk", log.Fields{"flows": flows, "groups": groups})
//Invoke the bulk flow update API of the adapter
if err := rhp.adapter.Update_flows_bulk(device, flows, groups, flowMetadata); err != nil {
return nil, status.Errorf(codes.NotFound, "%s", err.Error())
@@ -353,9 +354,9 @@
}
func (rhp *RequestHandlerProxy) Update_flows_incrementally(args []*ic.Argument) (*empty.Empty, error) {
- log.Debug("Update_flows_incrementally")
+ logger.Debug("Update_flows_incrementally")
if len(args) < 5 {
- log.Warn("Update_flows_incrementally-invalid-number-of-args", log.Fields{"args": args})
+ logger.Warn("Update_flows_incrementally-invalid-number-of-args", log.Fields{"args": args})
err := errors.New("invalid-number-of-args")
return nil, err
}
@@ -368,32 +369,32 @@
switch arg.Key {
case "device":
if err := ptypes.UnmarshalAny(arg.Value, device); err != nil {
- log.Warnw("cannot-unmarshal-device", log.Fields{"error": err})
+ logger.Warnw("cannot-unmarshal-device", log.Fields{"error": err})
return nil, err
}
case "flow_changes":
if err := ptypes.UnmarshalAny(arg.Value, flows); err != nil {
- log.Warnw("cannot-unmarshal-flows", log.Fields{"error": err})
+ logger.Warnw("cannot-unmarshal-flows", log.Fields{"error": err})
return nil, err
}
case "group_changes":
if err := ptypes.UnmarshalAny(arg.Value, groups); err != nil {
- log.Warnw("cannot-unmarshal-groups", log.Fields{"error": err})
+ logger.Warnw("cannot-unmarshal-groups", log.Fields{"error": err})
return nil, err
}
case "flow_metadata":
if err := ptypes.UnmarshalAny(arg.Value, flowMetadata); err != nil {
- log.Warnw("cannot-unmarshal-metadata", log.Fields{"error": err})
+ logger.Warnw("cannot-unmarshal-metadata", log.Fields{"error": err})
return nil, err
}
case kafka.TransactionKey:
if err := ptypes.UnmarshalAny(arg.Value, transactionID); err != nil {
- log.Warnw("cannot-unmarshal-transaction-ID", log.Fields{"error": err})
+ logger.Warnw("cannot-unmarshal-transaction-ID", log.Fields{"error": err})
return nil, err
}
}
}
- log.Debugw("Update_flows_incrementally", log.Fields{"flows": flows, "groups": groups})
+ logger.Debugw("Update_flows_incrementally", log.Fields{"flows": flows, "groups": groups})
//Invoke the incremental flow update API of the adapter
if err := rhp.adapter.Update_flows_incrementally(device, flows, groups, flowMetadata); err != nil {
return nil, status.Errorf(codes.NotFound, "%s", err.Error())
@@ -402,9 +403,9 @@
}
func (rhp *RequestHandlerProxy) Update_pm_config(args []*ic.Argument) (*empty.Empty, error) {
- log.Debug("Update_pm_config")
+ logger.Debug("Update_pm_config")
if len(args) < 2 {
- log.Warn("Update_pm_config-invalid-number-of-args", log.Fields{"args": args})
+ logger.Warn("Update_pm_config-invalid-number-of-args", log.Fields{"args": args})
err := errors.New("invalid-number-of-args")
return nil, err
}
@@ -415,22 +416,22 @@
switch arg.Key {
case "device":
if err := ptypes.UnmarshalAny(arg.Value, device); err != nil {
- log.Warnw("cannot-unmarshal-device", log.Fields{"error": err})
+ logger.Warnw("cannot-unmarshal-device", log.Fields{"error": err})
return nil, err
}
case "pm_configs":
if err := ptypes.UnmarshalAny(arg.Value, pmConfigs); err != nil {
- log.Warnw("cannot-unmarshal-pm-configs", log.Fields{"error": err})
+ logger.Warnw("cannot-unmarshal-pm-configs", log.Fields{"error": err})
return nil, err
}
case kafka.TransactionKey:
if err := ptypes.UnmarshalAny(arg.Value, transactionID); err != nil {
- log.Warnw("cannot-unmarshal-transaction-ID", log.Fields{"error": err})
+ logger.Warnw("cannot-unmarshal-transaction-ID", log.Fields{"error": err})
return nil, err
}
}
}
- log.Debugw("Update_pm_config", log.Fields{"deviceId": device.Id, "pmConfigs": pmConfigs})
+ logger.Debugw("Update_pm_config", log.Fields{"deviceId": device.Id, "pmConfigs": pmConfigs})
//Invoke the pm config update API of the adapter
if err := rhp.adapter.Update_pm_config(device, pmConfigs); err != nil {
return nil, status.Errorf(codes.NotFound, "%s", err.Error())
@@ -439,9 +440,9 @@
}
func (rhp *RequestHandlerProxy) Receive_packet_out(args []*ic.Argument) (*empty.Empty, error) {
- log.Debugw("Receive_packet_out", log.Fields{"args": args})
+ logger.Debugw("Receive_packet_out", log.Fields{"args": args})
if len(args) < 3 {
- log.Warn("Receive_packet_out-invalid-number-of-args", log.Fields{"args": args})
+ logger.Warn("Receive_packet_out-invalid-number-of-args", log.Fields{"args": args})
err := errors.New("invalid-number-of-args")
return nil, err
}
@@ -453,27 +454,27 @@
switch arg.Key {
case "deviceId":
if err := ptypes.UnmarshalAny(arg.Value, deviceId); err != nil {
- log.Warnw("cannot-unmarshal-deviceId", log.Fields{"error": err})
+ logger.Warnw("cannot-unmarshal-deviceId", log.Fields{"error": err})
return nil, err
}
case "outPort":
if err := ptypes.UnmarshalAny(arg.Value, egressPort); err != nil {
- log.Warnw("cannot-unmarshal-egressPort", log.Fields{"error": err})
+ logger.Warnw("cannot-unmarshal-egressPort", log.Fields{"error": err})
return nil, err
}
case "packet":
if err := ptypes.UnmarshalAny(arg.Value, packet); err != nil {
- log.Warnw("cannot-unmarshal-packet", log.Fields{"error": err})
+ logger.Warnw("cannot-unmarshal-packet", log.Fields{"error": err})
return nil, err
}
case kafka.TransactionKey:
if err := ptypes.UnmarshalAny(arg.Value, transactionID); err != nil {
- log.Warnw("cannot-unmarshal-transaction-ID", log.Fields{"error": err})
+ logger.Warnw("cannot-unmarshal-transaction-ID", log.Fields{"error": err})
return nil, err
}
}
}
- log.Debugw("Receive_packet_out", log.Fields{"deviceId": deviceId.Val, "outPort": egressPort, "packet": packet})
+ logger.Debugw("Receive_packet_out", log.Fields{"deviceId": deviceId.Val, "outPort": egressPort, "packet": packet})
//Invoke the adopt device on the adapter
if err := rhp.adapter.Receive_packet_out(deviceId.Val, int(egressPort.Val), packet); err != nil {
return nil, status.Errorf(codes.NotFound, "%s", err.Error())
@@ -491,7 +492,7 @@
func (rhp *RequestHandlerProxy) Get_ofp_device_info(args []*ic.Argument) (*ic.SwitchCapability, error) {
if len(args) < 2 {
- log.Warn("invalid-number-of-args", log.Fields{"args": args})
+ logger.Warn("invalid-number-of-args", log.Fields{"args": args})
err := errors.New("invalid-number-of-args")
return nil, err
}
@@ -501,31 +502,31 @@
switch arg.Key {
case "device":
if err := ptypes.UnmarshalAny(arg.Value, device); err != nil {
- log.Warnw("cannot-unmarshal-device", log.Fields{"error": err})
+ logger.Warnw("cannot-unmarshal-device", log.Fields{"error": err})
return nil, err
}
case kafka.TransactionKey:
if err := ptypes.UnmarshalAny(arg.Value, transactionID); err != nil {
- log.Warnw("cannot-unmarshal-transaction-ID", log.Fields{"error": err})
+ logger.Warnw("cannot-unmarshal-transaction-ID", log.Fields{"error": err})
return nil, err
}
}
}
- log.Debugw("Get_ofp_device_info", log.Fields{"deviceId": device.Id})
+ logger.Debugw("Get_ofp_device_info", log.Fields{"deviceId": device.Id})
var cap *ic.SwitchCapability
var err error
if cap, err = rhp.adapter.Get_ofp_device_info(device); err != nil {
return nil, status.Errorf(codes.NotFound, "%s", err.Error())
}
- log.Debugw("Get_ofp_device_info", log.Fields{"cap": cap})
+ logger.Debugw("Get_ofp_device_info", log.Fields{"cap": cap})
return cap, nil
}
func (rhp *RequestHandlerProxy) Get_ofp_port_info(args []*ic.Argument) (*ic.PortCapability, error) {
if len(args) < 3 {
- log.Warn("invalid-number-of-args", log.Fields{"args": args})
+ logger.Warn("invalid-number-of-args", log.Fields{"args": args})
err := errors.New("invalid-number-of-args")
return nil, err
}
@@ -536,22 +537,22 @@
switch arg.Key {
case "device":
if err := ptypes.UnmarshalAny(arg.Value, device); err != nil {
- log.Warnw("cannot-unmarshal-device", log.Fields{"error": err})
+ logger.Warnw("cannot-unmarshal-device", log.Fields{"error": err})
return nil, err
}
case "port_no":
if err := ptypes.UnmarshalAny(arg.Value, pNo); err != nil {
- log.Warnw("cannot-unmarshal-port-no", log.Fields{"error": err})
+ logger.Warnw("cannot-unmarshal-port-no", log.Fields{"error": err})
return nil, err
}
case kafka.TransactionKey:
if err := ptypes.UnmarshalAny(arg.Value, transactionID); err != nil {
- log.Warnw("cannot-unmarshal-transaction-ID", log.Fields{"error": err})
+ logger.Warnw("cannot-unmarshal-transaction-ID", log.Fields{"error": err})
return nil, err
}
}
}
- log.Debugw("Get_ofp_port_info", log.Fields{"deviceId": device.Id, "portNo": pNo.Val})
+ logger.Debugw("Get_ofp_port_info", log.Fields{"deviceId": device.Id, "portNo": pNo.Val})
var cap *ic.PortCapability
var err error
if cap, err = rhp.adapter.Get_ofp_port_info(device, pNo.Val); err != nil {
@@ -562,7 +563,7 @@
func (rhp *RequestHandlerProxy) Process_inter_adapter_message(args []*ic.Argument) (*empty.Empty, error) {
if len(args) < 2 {
- log.Warn("invalid-number-of-args", log.Fields{"args": args})
+ logger.Warn("invalid-number-of-args", log.Fields{"args": args})
err := errors.New("invalid-number-of-args")
return nil, err
}
@@ -572,18 +573,18 @@
switch arg.Key {
case "msg":
if err := ptypes.UnmarshalAny(arg.Value, iaMsg); err != nil {
- log.Warnw("cannot-unmarshal-device", log.Fields{"error": err})
+ logger.Warnw("cannot-unmarshal-device", log.Fields{"error": err})
return nil, err
}
case kafka.TransactionKey:
if err := ptypes.UnmarshalAny(arg.Value, transactionID); err != nil {
- log.Warnw("cannot-unmarshal-transaction-ID", log.Fields{"error": err})
+ logger.Warnw("cannot-unmarshal-transaction-ID", log.Fields{"error": err})
return nil, err
}
}
}
- log.Debugw("Process_inter_adapter_message", log.Fields{"msgId": iaMsg.Header.Id})
+ logger.Debugw("Process_inter_adapter_message", log.Fields{"msgId": iaMsg.Header.Id})
//Invoke the inter adapter API on the handler
if err := rhp.adapter.Process_inter_adapter_message(iaMsg); err != nil {
diff --git a/vendor/github.com/opencord/voltha-lib-go/v2/pkg/adapters/common/utils.go b/vendor/github.com/opencord/voltha-lib-go/v3/pkg/adapters/common/utils.go
similarity index 100%
rename from vendor/github.com/opencord/voltha-lib-go/v2/pkg/adapters/common/utils.go
rename to vendor/github.com/opencord/voltha-lib-go/v3/pkg/adapters/common/utils.go
diff --git a/vendor/github.com/opencord/voltha-lib-go/v2/pkg/adapters/iAdapter.go b/vendor/github.com/opencord/voltha-lib-go/v3/pkg/adapters/iAdapter.go
similarity index 93%
rename from vendor/github.com/opencord/voltha-lib-go/v2/pkg/adapters/iAdapter.go
rename to vendor/github.com/opencord/voltha-lib-go/v3/pkg/adapters/iAdapter.go
index 38aac38..3b86ac5 100644
--- a/vendor/github.com/opencord/voltha-lib-go/v2/pkg/adapters/iAdapter.go
+++ b/vendor/github.com/opencord/voltha-lib-go/v3/pkg/adapters/iAdapter.go
@@ -16,9 +16,9 @@
package adapters
import (
- ic "github.com/opencord/voltha-protos/v2/go/inter_container"
- "github.com/opencord/voltha-protos/v2/go/openflow_13"
- "github.com/opencord/voltha-protos/v2/go/voltha"
+ ic "github.com/opencord/voltha-protos/v3/go/inter_container"
+ "github.com/opencord/voltha-protos/v3/go/openflow_13"
+ "github.com/opencord/voltha-protos/v3/go/voltha"
)
//IAdapter represents the set of APIs a voltha adapter has to support.
diff --git a/vendor/github.com/opencord/voltha-lib-go/v2/pkg/db/backend.go b/vendor/github.com/opencord/voltha-lib-go/v3/pkg/db/backend.go
similarity index 86%
rename from vendor/github.com/opencord/voltha-lib-go/v2/pkg/db/backend.go
rename to vendor/github.com/opencord/voltha-lib-go/v3/pkg/db/backend.go
index b2547c2..23ad5a0 100644
--- a/vendor/github.com/opencord/voltha-lib-go/v2/pkg/db/backend.go
+++ b/vendor/github.com/opencord/voltha-lib-go/v3/pkg/db/backend.go
@@ -20,13 +20,14 @@
"context"
"errors"
"fmt"
- "github.com/opencord/voltha-lib-go/v2/pkg/db/kvstore"
- "github.com/opencord/voltha-lib-go/v2/pkg/log"
- "google.golang.org/grpc/codes"
- "google.golang.org/grpc/status"
"strconv"
"sync"
"time"
+
+ "github.com/opencord/voltha-lib-go/v3/pkg/db/kvstore"
+ "github.com/opencord/voltha-lib-go/v3/pkg/log"
+ "google.golang.org/grpc/codes"
+ "google.golang.org/grpc/status"
)
const (
@@ -65,7 +66,7 @@
address := host + ":" + strconv.Itoa(port)
if b.Client, err = b.newClient(address, timeout); err != nil {
- log.Errorw("failed-to-create-kv-client",
+ logger.Errorw("failed-to-create-kv-client",
log.Fields{
"type": storeType, "host": host, "port": port,
"timeout": timeout, "prefix": pathPrefix,
@@ -99,11 +100,11 @@
if b.liveness != nil {
if b.alive != alive {
- log.Debug("update-liveness-channel-reason-change")
+ logger.Debug("update-liveness-channel-reason-change")
b.liveness <- alive
b.lastLivenessTime = time.Now()
} else if time.Now().Sub(b.lastLivenessTime) > b.LivenessChannelInterval {
- log.Debug("update-liveness-channel-reason-interval")
+ logger.Debug("update-liveness-channel-reason-interval")
b.liveness <- alive
b.lastLivenessTime = time.Now()
}
@@ -111,7 +112,7 @@
// Emit log message only for alive state change
if b.alive != alive {
- log.Debugw("change-kvstore-alive-status", log.Fields{"alive": alive})
+ logger.Debugw("change-kvstore-alive-status", log.Fields{"alive": alive})
b.alive = alive
}
}
@@ -120,7 +121,7 @@
// post on Liveness channel
func (b *Backend) PerformLivenessCheck(timeout int) bool {
alive := b.Client.IsConnectionUp(timeout)
- log.Debugw("kvstore-liveness-check-result", log.Fields{"alive": alive})
+ logger.Debugw("kvstore-liveness-check-result", log.Fields{"alive": alive})
b.updateLiveness(alive)
return alive
@@ -132,10 +133,10 @@
// by the service (i.e. rw_core / ro_core) to update readiness status
// and/or take other actions.
func (b *Backend) EnableLivenessChannel() chan bool {
- log.Debug("enable-kvstore-liveness-channel")
+ logger.Debug("enable-kvstore-liveness-channel")
if b.liveness == nil {
- log.Debug("create-kvstore-liveness-channel")
+ logger.Debug("create-kvstore-liveness-channel")
// Channel size of 10 to avoid any possibility of blocking in Load conditions
b.liveness = make(chan bool, 10)
@@ -191,7 +192,7 @@
defer b.Unlock()
formattedPath := b.makePath(key)
- log.Debugw("listing-key", log.Fields{"key": key, "path": formattedPath})
+ logger.Debugw("listing-key", log.Fields{"key": key, "path": formattedPath})
pair, err := b.Client.List(formattedPath, b.Timeout)
@@ -206,7 +207,7 @@
defer b.Unlock()
formattedPath := b.makePath(key)
- log.Debugw("getting-key", log.Fields{"key": key, "path": formattedPath})
+ logger.Debugw("getting-key", log.Fields{"key": key, "path": formattedPath})
pair, err := b.Client.Get(formattedPath, b.Timeout)
@@ -221,7 +222,7 @@
defer b.Unlock()
formattedPath := b.makePath(key)
- log.Debugw("putting-key", log.Fields{"key": key, "value": string(value.([]byte)), "path": formattedPath})
+ logger.Debugw("putting-key", log.Fields{"key": key, "value": string(value.([]byte)), "path": formattedPath})
err := b.Client.Put(formattedPath, value, b.Timeout)
@@ -236,7 +237,7 @@
defer b.Unlock()
formattedPath := b.makePath(key)
- log.Debugw("deleting-key", log.Fields{"key": key, "path": formattedPath})
+ logger.Debugw("deleting-key", log.Fields{"key": key, "path": formattedPath})
err := b.Client.Delete(formattedPath, b.Timeout)
@@ -251,7 +252,7 @@
defer b.Unlock()
formattedPath := b.makePath(key)
- log.Debugw("creating-key-watch", log.Fields{"key": key, "path": formattedPath})
+ logger.Debugw("creating-key-watch", log.Fields{"key": key, "path": formattedPath})
return b.Client.Watch(formattedPath)
}
@@ -262,7 +263,7 @@
defer b.Unlock()
formattedPath := b.makePath(key)
- log.Debugw("deleting-key-watch", log.Fields{"key": key, "path": formattedPath})
+ logger.Debugw("deleting-key-watch", log.Fields{"key": key, "path": formattedPath})
b.Client.CloseWatch(formattedPath, ch)
}
diff --git a/vendor/github.com/opencord/voltha-lib-go/v2/pkg/db/common.go b/vendor/github.com/opencord/voltha-lib-go/v3/pkg/db/common.go
similarity index 70%
rename from vendor/github.com/opencord/voltha-lib-go/v2/pkg/db/common.go
rename to vendor/github.com/opencord/voltha-lib-go/v3/pkg/db/common.go
index 0851ede..a5a79ae 100644
--- a/vendor/github.com/opencord/voltha-lib-go/v2/pkg/db/common.go
+++ b/vendor/github.com/opencord/voltha-lib-go/v3/pkg/db/common.go
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-present Open Networking Foundation
+ * Copyright 2020-present Open Networking Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -16,18 +16,19 @@
package db
import (
- "github.com/opencord/voltha-lib-go/v2/pkg/log"
+ "github.com/opencord/voltha-lib-go/v3/pkg/log"
)
const (
- logLevel = log.FatalLevel
+ logLevel = log.ErrorLevel
)
-// Unit test initialization. This init() function handles all unit tests in
-// the current directory.
+var logger log.Logger
+
func init() {
// Setup this package so that it's log level can be modified at run time
- _, err := log.AddPackage(log.JSON, logLevel, log.Fields{"pkg": "db"})
+ var err error
+ logger, err = log.AddPackage(log.JSON, logLevel, log.Fields{"pkg": "db"})
if err != nil {
panic(err)
}
diff --git a/vendor/github.com/opencord/voltha-lib-go/v2/pkg/db/kvstore/client.go b/vendor/github.com/opencord/voltha-lib-go/v3/pkg/db/kvstore/client.go
similarity index 95%
rename from vendor/github.com/opencord/voltha-lib-go/v2/pkg/db/kvstore/client.go
rename to vendor/github.com/opencord/voltha-lib-go/v3/pkg/db/kvstore/client.go
index 97fbec9..088593a 100644
--- a/vendor/github.com/opencord/voltha-lib-go/v2/pkg/db/kvstore/client.go
+++ b/vendor/github.com/opencord/voltha-lib-go/v3/pkg/db/kvstore/client.go
@@ -15,10 +15,6 @@
*/
package kvstore
-import (
- "github.com/opencord/voltha-lib-go/v2/pkg/log"
-)
-
const (
// Default timeout in seconds when making a kvstore request
defaultKVGetTimeout = 5
@@ -43,10 +39,6 @@
Lease int64
}
-func init() {
- log.AddPackage(log.JSON, log.WarnLevel, nil)
-}
-
// NewKVPair creates a new KVPair object
func NewKVPair(key string, value interface{}, session string, lease int64, version int64) *KVPair {
kv := new(KVPair)
diff --git a/vendor/github.com/opencord/voltha-lib-go/v2/pkg/db/common.go b/vendor/github.com/opencord/voltha-lib-go/v3/pkg/db/kvstore/common.go
similarity index 69%
copy from vendor/github.com/opencord/voltha-lib-go/v2/pkg/db/common.go
copy to vendor/github.com/opencord/voltha-lib-go/v3/pkg/db/kvstore/common.go
index 0851ede..2d2a6a6 100644
--- a/vendor/github.com/opencord/voltha-lib-go/v2/pkg/db/common.go
+++ b/vendor/github.com/opencord/voltha-lib-go/v3/pkg/db/kvstore/common.go
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-present Open Networking Foundation
+ * Copyright 2020-present Open Networking Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -13,21 +13,22 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package db
+package kvstore
import (
- "github.com/opencord/voltha-lib-go/v2/pkg/log"
+ "github.com/opencord/voltha-lib-go/v3/pkg/log"
)
const (
- logLevel = log.FatalLevel
+ logLevel = log.ErrorLevel
)
-// Unit test initialization. This init() function handles all unit tests in
-// the current directory.
+var logger log.Logger
+
func init() {
// Setup this package so that it's log level can be modified at run time
- _, err := log.AddPackage(log.JSON, logLevel, log.Fields{"pkg": "db"})
+ var err error
+ logger, err = log.AddPackage(log.JSON, logLevel, log.Fields{"pkg": "kvstore"})
if err != nil {
panic(err)
}
diff --git a/vendor/github.com/opencord/voltha-lib-go/v2/pkg/db/kvstore/consulclient.go b/vendor/github.com/opencord/voltha-lib-go/v3/pkg/db/kvstore/consulclient.go
similarity index 86%
rename from vendor/github.com/opencord/voltha-lib-go/v2/pkg/db/kvstore/consulclient.go
rename to vendor/github.com/opencord/voltha-lib-go/v3/pkg/db/kvstore/consulclient.go
index a94de4d..e391293 100644
--- a/vendor/github.com/opencord/voltha-lib-go/v2/pkg/db/kvstore/consulclient.go
+++ b/vendor/github.com/opencord/voltha-lib-go/v3/pkg/db/kvstore/consulclient.go
@@ -19,7 +19,7 @@
"bytes"
"context"
"errors"
- log "github.com/opencord/voltha-lib-go/v2/pkg/log"
+ log "github.com/opencord/voltha-lib-go/v3/pkg/log"
"sync"
"time"
//log "ciena.com/coordinator/common"
@@ -53,7 +53,7 @@
config.WaitTime = duration
consul, err := consulapi.NewClient(config)
if err != nil {
- log.Error(err)
+ logger.Error(err)
return nil, err
}
@@ -65,7 +65,7 @@
// IsConnectionUp returns whether the connection to the Consul KV store is up
func (c *ConsulClient) IsConnectionUp(timeout int) bool {
- log.Error("Unimplemented function")
+ logger.Error("Unimplemented function")
return false
}
@@ -80,7 +80,7 @@
// For now we ignore meta data
kvps, _, err := kv.List(key, &queryOptions)
if err != nil {
- log.Error(err)
+ logger.Error(err)
return nil, err
}
m := make(map[string]*KVPair)
@@ -102,7 +102,7 @@
// For now we ignore meta data
kvp, _, err := kv.Get(key, &queryOptions)
if err != nil {
- log.Error(err)
+ logger.Error(err)
return nil, err
}
if kvp != nil {
@@ -121,7 +121,7 @@
var val []byte
var er error
if val, er = ToByte(value); er != nil {
- log.Error(er)
+ logger.Error(er)
return er
}
@@ -133,7 +133,7 @@
defer c.writeLock.Unlock()
_, err := kv.Put(&kvp, &writeOptions)
if err != nil {
- log.Error(err)
+ logger.Error(err)
return err
}
return nil
@@ -148,7 +148,7 @@
defer c.writeLock.Unlock()
_, err := kv.Delete(key, &writeOptions)
if err != nil {
- log.Error(err)
+ logger.Error(err)
return err
}
return nil
@@ -156,11 +156,11 @@
func (c *ConsulClient) deleteSession() {
if c.sessionID != "" {
- log.Debug("cleaning-up-session")
+ logger.Debug("cleaning-up-session")
session := c.consul.Session()
_, err := session.Destroy(c.sessionID, nil)
if err != nil {
- log.Errorw("error-cleaning-session", log.Fields{"session": c.sessionID, "error": err})
+ logger.Errorw("error-cleaning-session", log.Fields{"session": c.sessionID, "error": err})
}
}
c.sessionID = ""
@@ -177,17 +177,17 @@
for {
id, meta, err := session.Create(entry, nil)
if err != nil {
- log.Errorw("create-session-error", log.Fields{"error": err})
+ logger.Errorw("create-session-error", log.Fields{"error": err})
if retries == 0 {
return nil, "", err
}
} else if meta.RequestTime == 0 {
- log.Errorw("create-session-bad-meta-data", log.Fields{"meta-data": meta})
+ logger.Errorw("create-session-bad-meta-data", log.Fields{"meta-data": meta})
if retries == 0 {
return nil, "", errors.New("bad-meta-data")
}
} else if id == "" {
- log.Error("create-session-nil-id")
+ logger.Error("create-session-nil-id")
if retries == 0 {
return nil, "", errors.New("ID-nil")
}
@@ -198,7 +198,7 @@
if retries > 0 {
retries--
}
- log.Debug("retrying-session-create-after-a-second-delay")
+ logger.Debug("retrying-session-create-after-a-second-delay")
time.Sleep(time.Duration(1) * time.Second)
}
}
@@ -225,7 +225,7 @@
var val []byte
var er error
if val, er = ToByte(value); er != nil {
- log.Error(er)
+ logger.Error(er)
return nil, er
}
@@ -238,17 +238,17 @@
reservationSuccessful := false
defer func() {
if !reservationSuccessful {
- log.Debug("deleting-session")
+ logger.Debug("deleting-session")
c.deleteSession()
}
}()
session, sessionID, err := c.createSession(ttl, -1)
if err != nil {
- log.Errorw("no-session-created", log.Fields{"error": err})
+ logger.Errorw("no-session-created", log.Fields{"error": err})
return "", errors.New("no-session-created")
}
- log.Debugw("session-created", log.Fields{"session-id": sessionID})
+ logger.Debugw("session-created", log.Fields{"session-id": sessionID})
c.sessionID = sessionID
c.session = session
@@ -257,11 +257,11 @@
kvp := consulapi.KVPair{Key: key, Value: val, Session: c.sessionID}
result, _, err := kv.Acquire(&kvp, nil)
if err != nil {
- log.Errorw("error-acquiring-keys", log.Fields{"error": err})
+ logger.Errorw("error-acquiring-keys", log.Fields{"error": err})
return nil, err
}
- log.Debugw("key-acquired", log.Fields{"key": key, "status": result})
+ logger.Debugw("key-acquired", log.Fields{"key": key, "status": result})
// Irrespective whether we were successful in acquiring the key, let's read it back and see if it's us.
m, err := c.Get(key, defaultKVGetTimeout)
@@ -269,7 +269,7 @@
return nil, err
}
if m != nil {
- log.Debugw("response-received", log.Fields{"key": m.Key, "m.value": string(m.Value.([]byte)), "value": value})
+ logger.Debugw("response-received", log.Fields{"key": m.Key, "m.value": string(m.Value.([]byte)), "value": value})
if m.Key == key && isEqual(m.Value, value) {
// My reservation is successful - register it. For now, support is only for 1 reservation per key
// per session.
@@ -299,11 +299,11 @@
kvp = consulapi.KVPair{Key: key, Value: value.([]byte), Session: c.sessionID}
result, _, err = kv.Release(&kvp, nil)
if err != nil {
- log.Errorw("cannot-release-reservation", log.Fields{"key": key, "error": err})
+ logger.Errorw("cannot-release-reservation", log.Fields{"key": key, "error": err})
return err
}
if !result {
- log.Errorw("cannot-release-reservation", log.Fields{"key": key})
+ logger.Errorw("cannot-release-reservation", log.Fields{"key": key})
}
delete(c.keyReservations, key)
}
@@ -390,14 +390,14 @@
c.writeLock.Lock()
defer c.writeLock.Unlock()
if watchedChannelsContexts, ok = c.watchedChannelsContext[key]; !ok {
- log.Errorw("key-has-no-watched-context-or-channel", log.Fields{"key": key})
+ logger.Errorw("key-has-no-watched-context-or-channel", log.Fields{"key": key})
return
}
// Look for the channels
var pos = -1
for i, chCtxMap := range watchedChannelsContexts {
if chCtxMap.channel == ch {
- log.Debug("channel-found")
+ logger.Debug("channel-found")
chCtxMap.cancel()
//close the channel
close(ch)
@@ -409,7 +409,7 @@
if pos >= 0 {
c.watchedChannelsContext[key] = append(c.watchedChannelsContext[key][:pos], c.watchedChannelsContext[key][pos+1:]...)
}
- log.Debugw("watched-channel-exiting", log.Fields{"key": key, "channel": c.watchedChannelsContext[key]})
+ logger.Debugw("watched-channel-exiting", log.Fields{"key": key, "channel": c.watchedChannelsContext[key]})
}
func (c *ConsulClient) isKVEqual(kv1 *consulapi.KVPair, kv2 *consulapi.KVPair) bool {
@@ -430,7 +430,7 @@
}
func (c *ConsulClient) listenForKeyChange(watchContext context.Context, key string, ch chan *Event) {
- log.Debugw("start-watching-channel", log.Fields{"key": key, "channel": ch})
+ logger.Debugw("start-watching-channel", log.Fields{"key": key, "channel": ch})
defer c.CloseWatch(key, ch)
duration := GetDuration(defaultKVGetTimeout)
@@ -441,7 +441,7 @@
// Get the existing value, if any
previousKVPair, meta, err := kv.Get(key, &queryOptions)
if err != nil {
- log.Debug(err)
+ logger.Debug(err)
}
lastIndex := meta.LastIndex
@@ -456,30 +456,30 @@
pair, meta, err = kv.Get(key, waitOptions)
select {
case <-watchContext.Done():
- log.Debug("done-event-received-exiting")
+ logger.Debug("done-event-received-exiting")
return
default:
if err != nil {
- log.Warnw("error-from-watch", log.Fields{"error": err})
+ logger.Warnw("error-from-watch", log.Fields{"error": err})
ch <- NewEvent(CONNECTIONDOWN, key, []byte(""), -1)
} else {
- log.Debugw("index-state", log.Fields{"lastindex": lastIndex, "newindex": meta.LastIndex, "key": key})
+ logger.Debugw("index-state", log.Fields{"lastindex": lastIndex, "newindex": meta.LastIndex, "key": key})
}
}
if err != nil {
- log.Debug(err)
+ logger.Debug(err)
// On error, block for 10 milliseconds to prevent endless loop
time.Sleep(10 * time.Millisecond)
} else if meta.LastIndex <= lastIndex {
- log.Info("no-index-change-or-negative")
+ logger.Info("no-index-change-or-negative")
} else {
- log.Debugw("update-received", log.Fields{"pair": pair})
+ logger.Debugw("update-received", log.Fields{"pair": pair})
if pair == nil {
ch <- NewEvent(DELETE, key, []byte(""), -1)
} else if !c.isKVEqual(pair, previousKVPair) {
// Push the change onto the channel if the data has changed
// For now just assume it's a PUT change
- log.Debugw("pair-details", log.Fields{"session": pair.Session, "key": pair.Key, "value": pair.Value})
+ logger.Debugw("pair-details", log.Fields{"session": pair.Session, "key": pair.Key, "value": pair.Value})
ch <- NewEvent(PUT, pair.Key, pair.Value, -1)
}
previousKVPair = pair
@@ -500,7 +500,7 @@
// Clear the sessionID
if _, err := c.consul.Session().Destroy(c.sessionID, &writeOptions); err != nil {
- log.Errorw("error-closing-client", log.Fields{"error": err})
+ logger.Errorw("error-closing-client", log.Fields{"error": err})
}
}
diff --git a/vendor/github.com/opencord/voltha-lib-go/v2/pkg/db/kvstore/etcdclient.go b/vendor/github.com/opencord/voltha-lib-go/v3/pkg/db/kvstore/etcdclient.go
similarity index 91%
rename from vendor/github.com/opencord/voltha-lib-go/v2/pkg/db/kvstore/etcdclient.go
rename to vendor/github.com/opencord/voltha-lib-go/v3/pkg/db/kvstore/etcdclient.go
index 3ae767c..7096748 100644
--- a/vendor/github.com/opencord/voltha-lib-go/v2/pkg/db/kvstore/etcdclient.go
+++ b/vendor/github.com/opencord/voltha-lib-go/v3/pkg/db/kvstore/etcdclient.go
@@ -19,7 +19,7 @@
"context"
"errors"
"fmt"
- "github.com/opencord/voltha-lib-go/v2/pkg/log"
+ "github.com/opencord/voltha-lib-go/v3/pkg/log"
v3Client "go.etcd.io/etcd/clientv3"
v3Concurrency "go.etcd.io/etcd/clientv3/concurrency"
v3rpcTypes "go.etcd.io/etcd/etcdserver/api/v3rpc/rpctypes"
@@ -50,7 +50,7 @@
DialTimeout: duration,
})
if err != nil {
- log.Error(err)
+ logger.Error(err)
return nil, err
}
@@ -82,7 +82,7 @@
resp, err := c.ectdAPI.Get(ctx, key, v3Client.WithPrefix())
cancel()
if err != nil {
- log.Error(err)
+ logger.Error(err)
return nil, err
}
m := make(map[string]*KVPair)
@@ -102,7 +102,7 @@
resp, err := c.ectdAPI.Get(ctx, key)
cancel()
if err != nil {
- log.Error(err)
+ logger.Error(err)
return nil, err
}
for _, ev := range resp.Kvs {
@@ -143,13 +143,13 @@
if err != nil {
switch err {
case context.Canceled:
- log.Warnw("context-cancelled", log.Fields{"error": err})
+ logger.Warnw("context-cancelled", log.Fields{"error": err})
case context.DeadlineExceeded:
- log.Warnw("context-deadline-exceeded", log.Fields{"error": err})
+ logger.Warnw("context-deadline-exceeded", log.Fields{"error": err})
case v3rpcTypes.ErrEmptyKey:
- log.Warnw("etcd-client-error", log.Fields{"error": err})
+ logger.Warnw("etcd-client-error", log.Fields{"error": err})
default:
- log.Warnw("bad-endpoints", log.Fields{"error": err})
+ logger.Warnw("bad-endpoints", log.Fields{"error": err})
}
return err
}
@@ -171,10 +171,10 @@
// delete the key
if _, err := c.ectdAPI.Delete(ctx, key); err != nil {
- log.Errorw("failed-to-delete-key", log.Fields{"key": key, "error": err})
+ logger.Errorw("failed-to-delete-key", log.Fields{"key": key, "error": err})
return err
}
- log.Debugw("key(s)-deleted", log.Fields{"key": key})
+ logger.Debugw("key(s)-deleted", log.Fields{"key": key})
return nil
}
@@ -199,7 +199,7 @@
resp, err := c.ectdAPI.Grant(ctx, ttl)
if err != nil {
- log.Error(err)
+ logger.Error(err)
return nil, err
}
// Register the lease id
@@ -212,7 +212,7 @@
defer func() {
if !reservationSuccessful {
if err = c.ReleaseReservation(key); err != nil {
- log.Error("cannot-release-lease")
+ logger.Error("cannot-release-lease")
}
}
}()
@@ -270,7 +270,7 @@
for key, leaseID := range c.keyReservations {
_, err := c.ectdAPI.Revoke(ctx, *leaseID)
if err != nil {
- log.Errorw("cannot-release-reservation", log.Fields{"key": key, "error": err})
+ logger.Errorw("cannot-release-reservation", log.Fields{"key": key, "error": err})
return err
}
delete(c.keyReservations, key)
@@ -281,7 +281,7 @@
// ReleaseReservation releases reservation for a specific key.
func (c *EtcdClient) ReleaseReservation(key string) error {
// Get the leaseid using the key
- log.Debugw("Release-reservation", log.Fields{"key": key})
+ logger.Debugw("Release-reservation", log.Fields{"key": key})
var ok bool
var leaseID *v3Client.LeaseID
c.writeLock.Lock()
@@ -296,7 +296,7 @@
if leaseID != nil {
_, err := c.ectdAPI.Revoke(ctx, *leaseID)
if err != nil {
- log.Error(err)
+ logger.Error(err)
return err
}
delete(c.keyReservations, key)
@@ -322,7 +322,7 @@
if leaseID != nil {
_, err := c.ectdAPI.KeepAliveOnce(ctx, *leaseID)
if err != nil {
- log.Errorw("lease-may-have-expired", log.Fields{"error": err})
+ logger.Errorw("lease-may-have-expired", log.Fields{"error": err})
return err
}
} else {
@@ -349,7 +349,7 @@
// Changing the log field (from channelMaps) as the underlying logger cannot format the map of channels into a
// json format.
- log.Debugw("watched-channels", log.Fields{"len": len(channelMaps)})
+ logger.Debugw("watched-channels", log.Fields{"len": len(channelMaps)})
// Launch a go routine to listen for updates
go c.listenForKeyChange(channel, ch, cancel)
@@ -406,17 +406,17 @@
defer c.writeLock.Unlock()
if watchedChannels, ok = c.getChannelMaps(key); !ok {
- log.Warnw("key-has-no-watched-channels", log.Fields{"key": key})
+ logger.Warnw("key-has-no-watched-channels", log.Fields{"key": key})
return
}
// Look for the channels
var pos = -1
for i, chMap := range watchedChannels {
if t, ok := chMap[ch]; ok {
- log.Debug("channel-found")
+ logger.Debug("channel-found")
// Close the etcd watcher before the client channel. This should close the etcd channel as well
if err := t.Close(); err != nil {
- log.Errorw("watcher-cannot-be-closed", log.Fields{"key": key, "error": err})
+ logger.Errorw("watcher-cannot-be-closed", log.Fields{"key": key, "error": err})
}
pos = i
break
@@ -428,11 +428,11 @@
if pos >= 0 {
channelMaps = c.removeChannelMap(key, pos)
}
- log.Infow("watcher-channel-exiting", log.Fields{"key": key, "channel": channelMaps})
+ logger.Infow("watcher-channel-exiting", log.Fields{"key": key, "channel": channelMaps})
}
func (c *EtcdClient) listenForKeyChange(channel v3Client.WatchChan, ch chan<- *Event, cancel context.CancelFunc) {
- log.Debug("start-listening-on-channel ...")
+ logger.Debug("start-listening-on-channel ...")
defer cancel()
defer close(ch)
for resp := range channel {
@@ -440,7 +440,7 @@
ch <- NewEvent(getEventType(ev), ev.Kv.Key, ev.Kv.Value, ev.Kv.Version)
}
}
- log.Debug("stop-listening-on-channel ...")
+ logger.Debug("stop-listening-on-channel ...")
}
func getEventType(event *v3Client.Event) int {
@@ -458,7 +458,7 @@
c.writeLock.Lock()
defer c.writeLock.Unlock()
if err := c.ectdAPI.Close(); err != nil {
- log.Errorw("error-closing-client", log.Fields{"error": err})
+ logger.Errorw("error-closing-client", log.Fields{"error": err})
}
}
diff --git a/vendor/github.com/opencord/voltha-lib-go/v2/pkg/db/kvstore/kvutils.go b/vendor/github.com/opencord/voltha-lib-go/v3/pkg/db/kvstore/kvutils.go
similarity index 100%
rename from vendor/github.com/opencord/voltha-lib-go/v2/pkg/db/kvstore/kvutils.go
rename to vendor/github.com/opencord/voltha-lib-go/v3/pkg/db/kvstore/kvutils.go
diff --git a/vendor/github.com/opencord/voltha-lib-go/v2/pkg/db/common.go b/vendor/github.com/opencord/voltha-lib-go/v3/pkg/flows/common.go
similarity index 69%
copy from vendor/github.com/opencord/voltha-lib-go/v2/pkg/db/common.go
copy to vendor/github.com/opencord/voltha-lib-go/v3/pkg/flows/common.go
index 0851ede..b4fe7ec 100644
--- a/vendor/github.com/opencord/voltha-lib-go/v2/pkg/db/common.go
+++ b/vendor/github.com/opencord/voltha-lib-go/v3/pkg/flows/common.go
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-present Open Networking Foundation
+ * Copyright 2020-present Open Networking Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -13,21 +13,22 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package db
+package flows
import (
- "github.com/opencord/voltha-lib-go/v2/pkg/log"
+ "github.com/opencord/voltha-lib-go/v3/pkg/log"
)
const (
- logLevel = log.FatalLevel
+ logLevel = log.ErrorLevel
)
-// Unit test initialization. This init() function handles all unit tests in
-// the current directory.
+var logger log.Logger
+
func init() {
// Setup this package so that it's log level can be modified at run time
- _, err := log.AddPackage(log.JSON, logLevel, log.Fields{"pkg": "db"})
+ var err error
+ logger, err = log.AddPackage(log.JSON, logLevel, log.Fields{"pkg": "flowsUtils"})
if err != nil {
panic(err)
}
diff --git a/vendor/github.com/opencord/voltha-lib-go/v2/pkg/flows/flow_utils.go b/vendor/github.com/opencord/voltha-lib-go/v3/pkg/flows/flow_utils.go
similarity index 97%
rename from vendor/github.com/opencord/voltha-lib-go/v2/pkg/flows/flow_utils.go
rename to vendor/github.com/opencord/voltha-lib-go/v3/pkg/flows/flow_utils.go
index 02a4b0b..b9981e6 100644
--- a/vendor/github.com/opencord/voltha-lib-go/v2/pkg/flows/flow_utils.go
+++ b/vendor/github.com/opencord/voltha-lib-go/v3/pkg/flows/flow_utils.go
@@ -21,8 +21,8 @@
"fmt"
"github.com/cevaris/ordered_map"
"github.com/gogo/protobuf/proto"
- "github.com/opencord/voltha-lib-go/v2/pkg/log"
- ofp "github.com/opencord/voltha-protos/v2/go/openflow_13"
+ "github.com/opencord/voltha-lib-go/v3/pkg/log"
+ ofp "github.com/opencord/voltha-protos/v3/go/openflow_13"
"math/big"
"strings"
)
@@ -510,7 +510,7 @@
return uint32(field.GetTableMetadata() & 0xFFFFFFFF)
}
}
- log.Debug("No-metadata-present")
+ logger.Debug("No-metadata-present")
return 0
}
@@ -523,7 +523,7 @@
return field.GetTableMetadata()
}
}
- log.Debug("No-metadata-present")
+ logger.Debug("No-metadata-present")
return 0
}
@@ -538,7 +538,7 @@
}
}
}
- log.Debugw("No-write-metadata-present", log.Fields{"flow": flow})
+ logger.Debugw("No-write-metadata-present", log.Fields{"flow": flow})
return 0
}
@@ -552,10 +552,10 @@
This is set in the ONOS OltPipeline as a write metadata instruction
*/
var tpId uint16 = 0
- log.Debugw("Write metadata value for Techprofile ID", log.Fields{"metadata": metadata})
+ logger.Debugw("Write metadata value for Techprofile ID", log.Fields{"metadata": metadata})
if metadata != 0 {
tpId = uint16((metadata >> 32) & 0xFFFF)
- log.Debugw("Found techprofile ID from write metadata action", log.Fields{"tpid": tpId})
+ logger.Debugw("Found techprofile ID from write metadata action", log.Fields{"tpid": tpId})
}
return tpId
}
@@ -570,10 +570,10 @@
*/
var uniPort uint32 = 0
md := GetMetadataFromWriteMetadataAction(flow)
- log.Debugw("Metadata found for egress/uni port ", log.Fields{"metadata": md})
+ logger.Debugw("Metadata found for egress/uni port ", log.Fields{"metadata": md})
if md != 0 {
uniPort = uint32(md & 0xFFFFFFFF)
- log.Debugw("Found EgressPort from write metadata action", log.Fields{"egress_port": uniPort})
+ logger.Debugw("Found EgressPort from write metadata action", log.Fields{"egress_port": uniPort})
}
return uniPort
@@ -591,7 +591,7 @@
md := GetMetadataFromWriteMetadataAction(flow)
if md != 0 {
innerTag = uint16((md >> 48) & 0xFFFF)
- log.Debugw("Found CVLAN from write metadate action", log.Fields{"c_vlan": innerTag})
+ logger.Debugw("Found CVLAN from write metadate action", log.Fields{"c_vlan": innerTag})
}
return innerTag
}
@@ -605,7 +605,7 @@
return 0
}
if md <= 0xffffffff {
- log.Debugw("onos-upgrade-suggested", log.Fields{"Metadata_ofp": md, "message": "Legacy MetaData detected form OltPipeline"})
+ logger.Debugw("onos-upgrade-suggested", logger.Fields{"Metadata_ofp": md, "message": "Legacy MetaData detected form OltPipeline"})
return md
}
return (md >> 32) & 0xffffffff
@@ -730,7 +730,7 @@
meter := &ofp.OfpMeterEntry{Config: &ofp.OfpMeterConfig{},
Stats: &ofp.OfpMeterStats{BandStats: bandStats}}
if meterMod == nil {
- log.Error("Invalid meter mod command")
+ logger.Error("Invalid meter mod command")
return meter
}
// config init
@@ -752,7 +752,7 @@
bandStats = append(bandStats, band)
}
meter.Stats.BandStats = bandStats
- log.Debugw("Allocated meter entry", log.Fields{"meter": *meter})
+ logger.Debugw("Allocated meter entry", log.Fields{"meter": *meter})
return meter
}
diff --git a/vendor/github.com/opencord/voltha-lib-go/v2/pkg/kafka/client.go b/vendor/github.com/opencord/voltha-lib-go/v3/pkg/kafka/client.go
similarity index 96%
rename from vendor/github.com/opencord/voltha-lib-go/v2/pkg/kafka/client.go
rename to vendor/github.com/opencord/voltha-lib-go/v3/pkg/kafka/client.go
index bda7ed9..6289043 100644
--- a/vendor/github.com/opencord/voltha-lib-go/v2/pkg/kafka/client.go
+++ b/vendor/github.com/opencord/voltha-lib-go/v3/pkg/kafka/client.go
@@ -18,7 +18,7 @@
import (
"time"
- ca "github.com/opencord/voltha-protos/v2/go/inter_container"
+ ca "github.com/opencord/voltha-protos/v3/go/inter_container"
)
const (
diff --git a/vendor/github.com/opencord/voltha-lib-go/v2/pkg/db/common.go b/vendor/github.com/opencord/voltha-lib-go/v3/pkg/kafka/common.go
similarity index 69%
copy from vendor/github.com/opencord/voltha-lib-go/v2/pkg/db/common.go
copy to vendor/github.com/opencord/voltha-lib-go/v3/pkg/kafka/common.go
index 0851ede..cb6acb2 100644
--- a/vendor/github.com/opencord/voltha-lib-go/v2/pkg/db/common.go
+++ b/vendor/github.com/opencord/voltha-lib-go/v3/pkg/kafka/common.go
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-present Open Networking Foundation
+ * Copyright 2020-present Open Networking Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -13,21 +13,22 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package db
+package kafka
import (
- "github.com/opencord/voltha-lib-go/v2/pkg/log"
+ "github.com/opencord/voltha-lib-go/v3/pkg/log"
)
const (
- logLevel = log.FatalLevel
+ logLevel = log.ErrorLevel
)
-// Unit test initialization. This init() function handles all unit tests in
-// the current directory.
+var logger log.Logger
+
func init() {
// Setup this package so that it's log level can be modified at run time
- _, err := log.AddPackage(log.JSON, logLevel, log.Fields{"pkg": "db"})
+ var err error
+ logger, err = log.AddPackage(log.JSON, logLevel, log.Fields{"pkg": "kafka"})
if err != nil {
panic(err)
}
diff --git a/vendor/github.com/opencord/voltha-lib-go/v2/pkg/kafka/kafka_inter_container_library.go b/vendor/github.com/opencord/voltha-lib-go/v3/pkg/kafka/kafka_inter_container_library.go
similarity index 86%
rename from vendor/github.com/opencord/voltha-lib-go/v2/pkg/kafka/kafka_inter_container_library.go
rename to vendor/github.com/opencord/voltha-lib-go/v3/pkg/kafka/kafka_inter_container_library.go
index 4e04b30..042e121 100644
--- a/vendor/github.com/opencord/voltha-lib-go/v2/pkg/kafka/kafka_inter_container_library.go
+++ b/vendor/github.com/opencord/voltha-lib-go/v3/pkg/kafka/kafka_inter_container_library.go
@@ -19,22 +19,18 @@
"context"
"errors"
"fmt"
- "github.com/golang/protobuf/proto"
- "github.com/golang/protobuf/ptypes"
- "github.com/golang/protobuf/ptypes/any"
- "github.com/google/uuid"
- "github.com/opencord/voltha-lib-go/v2/pkg/log"
- ic "github.com/opencord/voltha-protos/v2/go/inter_container"
"reflect"
"strings"
"sync"
"time"
-)
-// Initialize the logger - gets the default until the main function setup the logger
-func init() {
- log.AddPackage(log.JSON, log.DebugLevel, nil)
-}
+ "github.com/golang/protobuf/proto"
+ "github.com/golang/protobuf/ptypes"
+ "github.com/golang/protobuf/ptypes/any"
+ "github.com/google/uuid"
+ "github.com/opencord/voltha-lib-go/v3/pkg/log"
+ ic "github.com/opencord/voltha-protos/v3/go/inter_container"
+)
const (
DefaultMaxRetries = 3
@@ -148,11 +144,11 @@
}
func (kp *InterContainerProxy) Start() error {
- log.Info("Starting-Proxy")
+ logger.Info("Starting-Proxy")
// Kafka MsgClient should already have been created. If not, output fatal error
if kp.kafkaClient == nil {
- log.Fatal("kafka-client-not-set")
+ logger.Fatal("kafka-client-not-set")
}
// Create the Done channel
@@ -160,7 +156,7 @@
// Start the kafka client
if err := kp.kafkaClient.Start(); err != nil {
- log.Errorw("Cannot-create-kafka-proxy", log.Fields{"error": err})
+ logger.Errorw("Cannot-create-kafka-proxy", log.Fields{"error": err})
return err
}
@@ -177,7 +173,7 @@
}
func (kp *InterContainerProxy) Stop() {
- log.Info("stopping-intercontainer-proxy")
+ logger.Info("stopping-intercontainer-proxy")
kp.doneCh <- 1
// TODO : Perform cleanup
kp.kafkaClient.Stop()
@@ -188,10 +184,10 @@
// DeviceDiscovered publish the discovered device onto the kafka messaging bus
func (kp *InterContainerProxy) DeviceDiscovered(deviceId string, deviceType string, parentId string, publisher string) error {
- log.Debugw("sending-device-discovery-msg", log.Fields{"deviceId": deviceId})
+ logger.Debugw("sending-device-discovery-msg", log.Fields{"deviceId": deviceId})
// Simple validation
if deviceId == "" || deviceType == "" {
- log.Errorw("invalid-parameters", log.Fields{"id": deviceId, "type": deviceType})
+ logger.Errorw("invalid-parameters", log.Fields{"id": deviceId, "type": deviceType})
return errors.New("invalid-parameters")
}
// Create the device discovery message
@@ -212,7 +208,7 @@
var marshalledData *any.Any
var err error
if marshalledData, err = ptypes.MarshalAny(body); err != nil {
- log.Errorw("cannot-marshal-request", log.Fields{"error": err})
+ logger.Errorw("cannot-marshal-request", log.Fields{"error": err})
return err
}
msg := &ic.InterContainerMessage{
@@ -222,7 +218,7 @@
// Send the message
if err := kp.kafkaClient.Send(msg, kp.deviceDiscoveryTopic); err != nil {
- log.Errorw("cannot-send-device-discovery-message", log.Fields{"error": err})
+ logger.Errorw("cannot-send-device-discovery-message", log.Fields{"error": err})
return err
}
return nil
@@ -242,7 +238,7 @@
// Encode the request
protoRequest, err := encodeRequest(rpc, toTopic, responseTopic, key, kvArgs...)
if err != nil {
- log.Warnw("cannot-format-request", log.Fields{"rpc": rpc, "error": err})
+ logger.Warnw("cannot-format-request", log.Fields{"rpc": rpc, "error": err})
return false, nil
}
@@ -251,7 +247,7 @@
if waitForResponse {
var err error
if ch, err = kp.subscribeForResponse(*responseTopic, protoRequest.Header.Id); err != nil {
- log.Errorw("failed-to-subscribe-for-response", log.Fields{"error": err, "toTopic": toTopic.Name})
+ logger.Errorw("failed-to-subscribe-for-response", log.Fields{"error": err, "toTopic": toTopic.Name})
}
}
@@ -259,7 +255,7 @@
// specific key, hence ensuring a single partition is used to publish the request. This ensures that the
// subscriber on that topic will receive the request in the order it was sent. The key used is the deviceId.
//key := GetDeviceIdFromTopic(*toTopic)
- log.Debugw("sending-msg", log.Fields{"rpc": rpc, "toTopic": toTopic, "replyTopic": responseTopic, "key": key, "xId": protoRequest.Header.Id})
+ logger.Debugw("sending-msg", log.Fields{"rpc": rpc, "toTopic": toTopic, "replyTopic": responseTopic, "key": key, "xId": protoRequest.Header.Id})
go kp.kafkaClient.Send(protoRequest, toTopic, key)
if waitForResponse {
@@ -279,7 +275,7 @@
select {
case msg, ok := <-ch:
if !ok {
- log.Warnw("channel-closed", log.Fields{"rpc": rpc, "replyTopic": replyToTopic.Name})
+ logger.Warnw("channel-closed", log.Fields{"rpc": rpc, "replyTopic": replyToTopic.Name})
protoError := &ic.Error{Reason: "channel-closed"}
var marshalledArg *any.Any
if marshalledArg, err = ptypes.MarshalAny(protoError); err != nil {
@@ -287,15 +283,15 @@
}
return false, marshalledArg
}
- log.Debugw("received-response", log.Fields{"rpc": rpc, "msgHeader": msg.Header})
+ logger.Debugw("received-response", log.Fields{"rpc": rpc, "msgHeader": msg.Header})
var responseBody *ic.InterContainerResponseBody
var err error
if responseBody, err = decodeResponse(msg); err != nil {
- log.Errorw("decode-response-error", log.Fields{"error": err})
+ logger.Errorw("decode-response-error", log.Fields{"error": err})
}
return responseBody.Success, responseBody.Result
case <-ctx.Done():
- log.Debugw("context-cancelled", log.Fields{"rpc": rpc, "ctx": ctx.Err()})
+ logger.Debugw("context-cancelled", log.Fields{"rpc": rpc, "ctx": ctx.Err()})
// pack the error as proto any type
protoError := &ic.Error{Reason: ctx.Err().Error()}
var marshalledArg *any.Any
@@ -304,7 +300,7 @@
}
return false, marshalledArg
case <-childCtx.Done():
- log.Debugw("context-cancelled", log.Fields{"rpc": rpc, "ctx": childCtx.Err()})
+ logger.Debugw("context-cancelled", log.Fields{"rpc": rpc, "ctx": childCtx.Err()})
// pack the error as proto any type
protoError := &ic.Error{Reason: childCtx.Err().Error()}
var marshalledArg *any.Any
@@ -313,7 +309,7 @@
}
return false, marshalledArg
case <-kp.doneCh:
- log.Infow("received-exit-signal", log.Fields{"toTopic": toTopic.Name, "rpc": rpc})
+ logger.Infow("received-exit-signal", log.Fields{"toTopic": toTopic.Name, "rpc": rpc})
return true, nil
}
}
@@ -329,7 +325,7 @@
var err error
if ch, err = kp.kafkaClient.Subscribe(&topic); err != nil {
//if ch, err = kp.Subscribe(topic); err != nil {
- log.Errorw("failed-to-subscribe", log.Fields{"error": err, "topic": topic.Name})
+ logger.Errorw("failed-to-subscribe", log.Fields{"error": err, "topic": topic.Name})
return err
}
@@ -348,7 +344,7 @@
var ch <-chan *ic.InterContainerMessage
var err error
if ch, err = kp.kafkaClient.Subscribe(&topic, &KVArg{Key: Offset, Value: initialOffset}); err != nil {
- log.Errorw("failed-to-subscribe", log.Fields{"error": err, "topic": topic.Name})
+ logger.Errorw("failed-to-subscribe", log.Fields{"error": err, "topic": topic.Name})
return err
}
kp.addToTopicRequestHandlerChannelMap(topic.Name, &requestHandlerChannel{requesthandlerInterface: kp.defaultRequestHandlerInterface, ch: ch})
@@ -387,7 +383,7 @@
// Unsubscribe to this topic first - this will close the subscribed channel
var err error
if err = kp.kafkaClient.UnSubscribe(&Topic{Name: topic}, kp.topicToResponseChannelMap[topic]); err != nil {
- log.Errorw("unsubscribing-error", log.Fields{"topic": topic})
+ logger.Errorw("unsubscribing-error", log.Fields{"topic": topic})
}
delete(kp.topicToResponseChannelMap, topic)
return err
@@ -403,7 +399,7 @@
for topic, _ := range kp.topicToResponseChannelMap {
// Unsubscribe to this topic first - this will close the subscribed channel
if err = kp.kafkaClient.UnSubscribe(&Topic{Name: topic}, kp.topicToResponseChannelMap[topic]); err != nil {
- log.Errorw("unsubscribing-error", log.Fields{"topic": topic, "error": err})
+ logger.Errorw("unsubscribing-error", log.Fields{"topic": topic, "error": err})
}
delete(kp.topicToResponseChannelMap, topic)
}
@@ -438,7 +434,7 @@
for topic, _ := range kp.topicToRequestHandlerChannelMap {
// Close the kafka client client first by unsubscribing to this topic
if err = kp.kafkaClient.UnSubscribe(&Topic{Name: topic}, kp.topicToRequestHandlerChannelMap[topic].ch); err != nil {
- log.Errorw("unsubscribing-error", log.Fields{"topic": topic, "error": err})
+ logger.Errorw("unsubscribing-error", log.Fields{"topic": topic, "error": err})
}
delete(kp.topicToRequestHandlerChannelMap, topic)
}
@@ -486,10 +482,10 @@
func (kp *InterContainerProxy) DeleteTopic(topic Topic) error {
// If we have any consumers on that topic we need to close them
if err := kp.deleteFromTopicResponseChannelMap(topic.Name); err != nil {
- log.Errorw("delete-from-topic-responsechannelmap-failed", log.Fields{"error": err})
+ logger.Errorw("delete-from-topic-responsechannelmap-failed", log.Fields{"error": err})
}
if err := kp.deleteFromTopicRequestHandlerChannelMap(topic.Name); err != nil {
- log.Errorw("delete-from-topic-requesthandlerchannelmap-failed", log.Fields{"error": err})
+ logger.Errorw("delete-from-topic-requesthandlerchannelmap-failed", log.Fields{"error": err})
}
kp.deleteTopicTransactionIdToChannelMap(topic.Name)
@@ -503,7 +499,7 @@
}
protoValue, ok := returnedVal.(proto.Message)
if !ok {
- log.Warnw("response-value-not-proto-message", log.Fields{"error": ok, "returnVal": returnedVal})
+ logger.Warnw("response-value-not-proto-message", log.Fields{"error": ok, "returnVal": returnedVal})
err := errors.New("response-value-not-proto-message")
return nil, err
}
@@ -512,7 +508,7 @@
var marshalledReturnedVal *any.Any
var err error
if marshalledReturnedVal, err = ptypes.MarshalAny(protoValue); err != nil {
- log.Warnw("cannot-marshal-returned-val", log.Fields{"error": err})
+ logger.Warnw("cannot-marshal-returned-val", log.Fields{"error": err})
return nil, err
}
return marshalledReturnedVal, nil
@@ -534,7 +530,7 @@
var err error
// Error should never happen here
if marshalledResponseBody, err = ptypes.MarshalAny(responseBody); err != nil {
- log.Warnw("cannot-marshal-failed-response-body", log.Fields{"error": err})
+ logger.Warnw("cannot-marshal-failed-response-body", log.Fields{"error": err})
}
return &ic.InterContainerMessage{
@@ -547,7 +543,7 @@
//formatRequest formats a request to send over kafka and returns an InterContainerMessage message on success
//or an error on failure
func encodeResponse(request *ic.InterContainerMessage, success bool, returnedValues ...interface{}) (*ic.InterContainerMessage, error) {
- //log.Debugw("encodeResponse", log.Fields{"success": success, "returnedValues": returnedValues})
+ //logger.Debugw("encodeResponse", log.Fields{"success": success, "returnedValues": returnedValues})
responseHeader := &ic.Header{
Id: request.Header.Id,
Type: ic.MessageType_RESPONSE,
@@ -562,7 +558,7 @@
var err error
for _, returnVal := range returnedValues {
if marshalledReturnedVal, err = encodeReturnedValue(returnVal); err != nil {
- log.Warnw("cannot-marshal-response-body", log.Fields{"error": err})
+ logger.Warnw("cannot-marshal-response-body", log.Fields{"error": err})
}
break // for now we support only 1 returned value - (excluding the error)
}
@@ -575,7 +571,7 @@
// Marshal the response body
var marshalledResponseBody *any.Any
if marshalledResponseBody, err = ptypes.MarshalAny(responseBody); err != nil {
- log.Warnw("cannot-marshal-response-body", log.Fields{"error": err})
+ logger.Warnw("cannot-marshal-response-body", log.Fields{"error": err})
return nil, err
}
@@ -611,7 +607,7 @@
var marshalledArg *any.Any
var err error
if marshalledArg, err = ptypes.MarshalAny(&ic.StrType{Val: transactionId}); err != nil {
- log.Warnw("cannot-add-transactionId", log.Fields{"error": err})
+ logger.Warnw("cannot-add-transactionId", log.Fields{"error": err})
return currentArgs
}
protoArg := &ic.Argument{
@@ -625,7 +621,7 @@
var marshalledArg *any.Any
var err error
if marshalledArg, err = ptypes.MarshalAny(&ic.StrType{Val: fromTopic}); err != nil {
- log.Warnw("cannot-add-transactionId", log.Fields{"error": err})
+ logger.Warnw("cannot-add-transactionId", log.Fields{"error": err})
return currentArgs
}
protoArg := &ic.Argument{
@@ -645,9 +641,9 @@
// Get the request body
requestBody := &ic.InterContainerRequestBody{}
if err = ptypes.UnmarshalAny(msg.Body, requestBody); err != nil {
- log.Warnw("cannot-unmarshal-request", log.Fields{"error": err})
+ logger.Warnw("cannot-unmarshal-request", log.Fields{"error": err})
} else {
- log.Debugw("received-request", log.Fields{"rpc": requestBody.Rpc, "header": msg.Header})
+ logger.Debugw("received-request", log.Fields{"rpc": requestBody.Rpc, "header": msg.Header})
// let the callee unpack the arguments as its the only one that knows the real proto type
// Augment the requestBody with the message Id as it will be used in scenarios where cores
// are set in pairs and competing
@@ -659,7 +655,7 @@
out, err = CallFuncByName(targetInterface, requestBody.Rpc, requestBody.Args)
if err != nil {
- log.Warn(err)
+ logger.Warn(err)
}
}
// Response required?
@@ -679,7 +675,7 @@
if out[lastIndex].Interface() != nil { // Error
if retError, ok := out[lastIndex].Interface().(error); ok {
if retError.Error() == ErrorTransactionNotAcquired.Error() {
- log.Debugw("Ignoring request", log.Fields{"error": retError, "txId": msg.Header.Id})
+ logger.Debugw("Ignoring request", log.Fields{"error": retError, "txId": msg.Header.Id})
return // Ignore - process is in competing mode and ignored transaction
}
returnError = &ic.Error{Reason: retError.Error()}
@@ -689,12 +685,12 @@
returnedValues = append(returnedValues, returnError)
}
} else if len(out) == 2 && reflect.ValueOf(out[0].Interface()).IsValid() && reflect.ValueOf(out[0].Interface()).IsNil() {
- log.Warnw("Unexpected response of (nil,nil)", log.Fields{"txId": msg.Header.Id})
+ logger.Warnw("Unexpected response of (nil,nil)", log.Fields{"txId": msg.Header.Id})
return // Ignore - should not happen
} else { // Non-error case
success = true
for idx, val := range out {
- //log.Debugw("returned-api-response-loop", log.Fields{"idx": idx, "val": val.Interface()})
+ //logger.Debugw("returned-api-response-loop", log.Fields{"idx": idx, "val": val.Interface()})
if idx != lastIndex {
returnedValues = append(returnedValues, val.Interface())
}
@@ -704,7 +700,7 @@
var icm *ic.InterContainerMessage
if icm, err = encodeResponse(msg, success, returnedValues...); err != nil {
- log.Warnw("error-encoding-response-returning-failure-result", log.Fields{"error": err})
+ logger.Warnw("error-encoding-response-returning-failure-result", log.Fields{"error": err})
icm = encodeDefaultFailedResponse(msg)
}
// To preserve ordering of messages, all messages to a given topic are sent to the same partition
@@ -713,22 +709,22 @@
// partitions.
replyTopic := &Topic{Name: msg.Header.FromTopic}
key := msg.Header.KeyTopic
- log.Debugw("sending-response-to-kafka", log.Fields{"rpc": requestBody.Rpc, "header": icm.Header, "key": key})
+ logger.Debugw("sending-response-to-kafka", log.Fields{"rpc": requestBody.Rpc, "header": icm.Header, "key": key})
// TODO: handle error response.
go kp.kafkaClient.Send(icm, replyTopic, key)
}
} else if msg.Header.Type == ic.MessageType_RESPONSE {
- log.Debugw("response-received", log.Fields{"msg-header": msg.Header})
+ logger.Debugw("response-received", log.Fields{"msg-header": msg.Header})
go kp.dispatchResponse(msg)
} else {
- log.Warnw("unsupported-message-received", log.Fields{"msg-header": msg.Header})
+ logger.Warnw("unsupported-message-received", log.Fields{"msg-header": msg.Header})
}
}
func (kp *InterContainerProxy) waitForMessages(ch <-chan *ic.InterContainerMessage, topic Topic, targetInterface interface{}) {
// Wait for messages
for msg := range ch {
- //log.Debugw("request-received", log.Fields{"msg": msg, "topic": topic.Name, "target": targetInterface})
+ //logger.Debugw("request-received", log.Fields{"msg": msg, "topic": topic.Name, "target": targetInterface})
go kp.handleMessage(msg, targetInterface)
}
}
@@ -737,7 +733,7 @@
kp.lockTransactionIdToChannelMap.RLock()
defer kp.lockTransactionIdToChannelMap.RUnlock()
if _, exist := kp.transactionIdToChannelMap[msg.Header.Id]; !exist {
- log.Debugw("no-waiting-channel", log.Fields{"transaction": msg.Header.Id})
+ logger.Debugw("no-waiting-channel", log.Fields{"transaction": msg.Header.Id})
return
}
kp.transactionIdToChannelMap[msg.Header.Id].ch <- msg
@@ -748,7 +744,7 @@
// API. There is one response channel waiting for kafka messages before dispatching the message to the
// corresponding waiting channel
func (kp *InterContainerProxy) subscribeForResponse(topic Topic, trnsId string) (chan *ic.InterContainerMessage, error) {
- log.Debugw("subscribeForResponse", log.Fields{"topic": topic.Name, "trnsid": trnsId})
+ logger.Debugw("subscribeForResponse", log.Fields{"topic": topic.Name, "trnsid": trnsId})
// Create a specific channel for this consumers. We cannot use the channel from the kafkaclient as it will
// broadcast any message for this topic to all channels waiting on it.
@@ -759,7 +755,7 @@
}
func (kp *InterContainerProxy) unSubscribeForResponse(trnsId string) error {
- log.Debugw("unsubscribe-for-response", log.Fields{"trnsId": trnsId})
+ logger.Debugw("unsubscribe-for-response", log.Fields{"trnsId": trnsId})
kp.deleteFromTransactionIdToChannelMap(trnsId)
return nil
}
@@ -803,12 +799,12 @@
// ascertain the value interface type is a proto.Message
protoValue, ok := arg.Value.(proto.Message)
if !ok {
- log.Warnw("argument-value-not-proto-message", log.Fields{"error": ok, "Value": arg.Value})
+ logger.Warnw("argument-value-not-proto-message", log.Fields{"error": ok, "Value": arg.Value})
err := errors.New("argument-value-not-proto-message")
return nil, err
}
if marshalledArg, err = ptypes.MarshalAny(protoValue); err != nil {
- log.Warnw("cannot-marshal-request", log.Fields{"error": err})
+ logger.Warnw("cannot-marshal-request", log.Fields{"error": err})
return nil, err
}
protoArg := &ic.Argument{
@@ -821,7 +817,7 @@
var marshalledData *any.Any
var err error
if marshalledData, err = ptypes.MarshalAny(requestBody); err != nil {
- log.Warnw("cannot-marshal-request", log.Fields{"error": err})
+ logger.Warnw("cannot-marshal-request", log.Fields{"error": err})
return nil, err
}
request := &ic.InterContainerMessage{
@@ -835,10 +831,10 @@
// Extract the message body
responseBody := ic.InterContainerResponseBody{}
if err := ptypes.UnmarshalAny(response.Body, &responseBody); err != nil {
- log.Warnw("cannot-unmarshal-response", log.Fields{"error": err})
+ logger.Warnw("cannot-unmarshal-response", log.Fields{"error": err})
return nil, err
}
- //log.Debugw("response-decoded-successfully", log.Fields{"response-status": &responseBody.Success})
+ //logger.Debugw("response-decoded-successfully", log.Fields{"response-status": &responseBody.Success})
return &responseBody, nil
diff --git a/vendor/github.com/opencord/voltha-lib-go/v2/pkg/kafka/sarama_client.go b/vendor/github.com/opencord/voltha-lib-go/v3/pkg/kafka/sarama_client.go
similarity index 83%
rename from vendor/github.com/opencord/voltha-lib-go/v2/pkg/kafka/sarama_client.go
rename to vendor/github.com/opencord/voltha-lib-go/v3/pkg/kafka/sarama_client.go
index c05df69..9d4ab52 100644
--- a/vendor/github.com/opencord/voltha-lib-go/v2/pkg/kafka/sarama_client.go
+++ b/vendor/github.com/opencord/voltha-lib-go/v3/pkg/kafka/sarama_client.go
@@ -19,22 +19,19 @@
"context"
"errors"
"fmt"
+ "strings"
+ "sync"
+ "time"
+
"github.com/Shopify/sarama"
scc "github.com/bsm/sarama-cluster"
"github.com/eapache/go-resiliency/breaker"
"github.com/golang/protobuf/proto"
"github.com/google/uuid"
- "github.com/opencord/voltha-lib-go/v2/pkg/log"
- ic "github.com/opencord/voltha-protos/v2/go/inter_container"
- "strings"
- "sync"
- "time"
+ "github.com/opencord/voltha-lib-go/v3/pkg/log"
+ ic "github.com/opencord/voltha-protos/v3/go/inter_container"
)
-func init() {
- log.AddPackage(log.JSON, log.DebugLevel, nil)
-}
-
type returnErrorFunction func() error
// consumerChannels represents one or more consumers listening on a kafka topic. Once a message is received on that
@@ -241,7 +238,7 @@
}
func (sc *SaramaClient) Start() error {
- log.Info("Starting-kafka-sarama-client")
+ logger.Info("Starting-kafka-sarama-client")
// Create the Done channel
sc.doneCh = make(chan int, 1)
@@ -257,20 +254,20 @@
// Create the Cluster Admin
if err = sc.createClusterAdmin(); err != nil {
- log.Errorw("Cannot-create-cluster-admin", log.Fields{"error": err})
+ logger.Errorw("Cannot-create-cluster-admin", log.Fields{"error": err})
return err
}
// Create the Publisher
if err := sc.createPublisher(); err != nil {
- log.Errorw("Cannot-create-kafka-publisher", log.Fields{"error": err})
+ logger.Errorw("Cannot-create-kafka-publisher", log.Fields{"error": err})
return err
}
if sc.consumerType == DefaultConsumerType {
// Create the master consumers
if err := sc.createConsumer(); err != nil {
- log.Errorw("Cannot-create-kafka-consumers", log.Fields{"error": err})
+ logger.Errorw("Cannot-create-kafka-consumers", log.Fields{"error": err})
return err
}
}
@@ -278,7 +275,7 @@
// Create the topic to consumers/channel map
sc.topicToConsumerChannelMap = make(map[string]*consumerChannels)
- log.Info("kafka-sarama-client-started")
+ logger.Info("kafka-sarama-client-started")
sc.started = true
@@ -286,7 +283,7 @@
}
func (sc *SaramaClient) Stop() {
- log.Info("stopping-sarama-client")
+ logger.Info("stopping-sarama-client")
sc.started = false
@@ -295,33 +292,33 @@
if sc.producer != nil {
if err := sc.producer.Close(); err != nil {
- log.Errorw("closing-producer-failed", log.Fields{"error": err})
+ logger.Errorw("closing-producer-failed", log.Fields{"error": err})
}
}
if sc.consumer != nil {
if err := sc.consumer.Close(); err != nil {
- log.Errorw("closing-partition-consumer-failed", log.Fields{"error": err})
+ logger.Errorw("closing-partition-consumer-failed", log.Fields{"error": err})
}
}
for key, val := range sc.groupConsumers {
- log.Debugw("closing-group-consumer", log.Fields{"topic": key})
+ logger.Debugw("closing-group-consumer", log.Fields{"topic": key})
if err := val.Close(); err != nil {
- log.Errorw("closing-group-consumer-failed", log.Fields{"error": err, "topic": key})
+ logger.Errorw("closing-group-consumer-failed", log.Fields{"error": err, "topic": key})
}
}
if sc.cAdmin != nil {
if err := sc.cAdmin.Close(); err != nil {
- log.Errorw("closing-cluster-admin-failed", log.Fields{"error": err})
+ logger.Errorw("closing-cluster-admin-failed", log.Fields{"error": err})
}
}
//TODO: Clear the consumers map
//sc.clearConsumerChannelMap()
- log.Info("sarama-client-stopped")
+ logger.Info("sarama-client-stopped")
}
//createTopic is an internal function to create a topic on the Kafka Broker. No locking is required as
@@ -338,15 +335,15 @@
if err := sc.cAdmin.CreateTopic(topic.Name, topicDetail, false); err != nil {
if err == sarama.ErrTopicAlreadyExists {
// Not an error
- log.Debugw("topic-already-exist", log.Fields{"topic": topic.Name})
+ logger.Debugw("topic-already-exist", log.Fields{"topic": topic.Name})
return nil
}
- log.Errorw("create-topic-failure", log.Fields{"error": err})
+ logger.Errorw("create-topic-failure", log.Fields{"error": err})
return err
}
// TODO: Wait until the topic has been created. No API is available in the Sarama clusterAdmin to
// do so.
- log.Debugw("topic-created", log.Fields{"topic": topic, "numPartition": numPartition, "replicationFactor": repFactor})
+ logger.Debugw("topic-created", log.Fields{"topic": topic, "numPartition": numPartition, "replicationFactor": repFactor})
return nil
}
@@ -368,16 +365,16 @@
if err := sc.cAdmin.DeleteTopic(topic.Name); err != nil {
if err == sarama.ErrUnknownTopicOrPartition {
// Not an error as does not exist
- log.Debugw("topic-not-exist", log.Fields{"topic": topic.Name})
+ logger.Debugw("topic-not-exist", log.Fields{"topic": topic.Name})
return nil
}
- log.Errorw("delete-topic-failed", log.Fields{"topic": topic, "error": err})
+ logger.Errorw("delete-topic-failed", log.Fields{"topic": topic, "error": err})
return err
}
// Clear the topic from the consumer channel. This will also close any consumers listening on that topic.
if err := sc.clearTopicFromConsumerChannelMap(*topic); err != nil {
- log.Errorw("failure-clearing-channels", log.Fields{"topic": topic, "error": err})
+ logger.Errorw("failure-clearing-channels", log.Fields{"topic": topic, "error": err})
return err
}
return nil
@@ -389,11 +386,11 @@
sc.lockTopic(topic)
defer sc.unLockTopic(topic)
- log.Debugw("subscribe", log.Fields{"topic": topic.Name})
+ logger.Debugw("subscribe", log.Fields{"topic": topic.Name})
// If a consumers already exist for that topic then resuse it
if consumerCh := sc.getConsumerChannel(topic); consumerCh != nil {
- log.Debugw("topic-already-subscribed", log.Fields{"topic": topic.Name})
+ logger.Debugw("topic-already-subscribed", log.Fields{"topic": topic.Name})
// Create a channel specific for that consumers and add it to the consumers channel map
ch := make(chan *ic.InterContainerMessage)
sc.addChannelToConsumerChannelMap(topic, ch)
@@ -408,12 +405,12 @@
if sc.consumerType == PartitionConsumer {
if sc.autoCreateTopic {
if err = sc.createTopic(topic, sc.numPartitions, sc.numReplicas); err != nil {
- log.Errorw("create-topic-failure", log.Fields{"error": err, "topic": topic.Name})
+ logger.Errorw("create-topic-failure", log.Fields{"error": err, "topic": topic.Name})
return nil, err
}
}
if consumerListeningChannel, err = sc.setupPartitionConsumerChannel(topic, getOffset(kvArgs...)); err != nil {
- log.Warnw("create-consumers-channel-failure", log.Fields{"error": err, "topic": topic.Name})
+ logger.Warnw("create-consumers-channel-failure", log.Fields{"error": err, "topic": topic.Name})
return nil, err
}
} else if sc.consumerType == GroupCustomer {
@@ -421,7 +418,7 @@
// does not consume from a precreated topic in some scenarios
//if sc.autoCreateTopic {
// if err = sc.createTopic(topic, sc.numPartitions, sc.numReplicas); err != nil {
- // log.Errorw("create-topic-failure", log.Fields{"error": err, "topic": topic.Name})
+ // logger.Errorw("create-topic-failure", logger.Fields{"error": err, "topic": topic.Name})
// return nil, err
// }
//}
@@ -435,12 +432,12 @@
groupId = sc.consumerGroupPrefix + topic.Name
}
if consumerListeningChannel, err = sc.setupGroupConsumerChannel(topic, groupId, getOffset(kvArgs...)); err != nil {
- log.Warnw("create-consumers-channel-failure", log.Fields{"error": err, "topic": topic.Name, "groupId": groupId})
+ logger.Warnw("create-consumers-channel-failure", log.Fields{"error": err, "topic": topic.Name, "groupId": groupId})
return nil, err
}
} else {
- log.Warnw("unknown-consumer-type", log.Fields{"consumer-type": sc.consumerType})
+ logger.Warnw("unknown-consumer-type", log.Fields{"consumer-type": sc.consumerType})
return nil, errors.New("unknown-consumer-type")
}
@@ -452,13 +449,13 @@
sc.lockTopic(topic)
defer sc.unLockTopic(topic)
- log.Debugw("unsubscribing-channel-from-topic", log.Fields{"topic": topic.Name})
+ logger.Debugw("unsubscribing-channel-from-topic", log.Fields{"topic": topic.Name})
var err error
if err = sc.removeChannelFromConsumerChannelMap(*topic, ch); err != nil {
- log.Errorw("failed-removing-channel", log.Fields{"error": err})
+ logger.Errorw("failed-removing-channel", log.Fields{"error": err})
}
if err = sc.deleteFromGroupConsumers(topic.Name); err != nil {
- log.Errorw("failed-deleting-group-consumer", log.Fields{"error": err})
+ logger.Errorw("failed-deleting-group-consumer", log.Fields{"error": err})
}
return err
}
@@ -470,11 +467,11 @@
// events to the channel is rate-limited by livenessChannelInterval.
if sc.liveness != nil {
if sc.alive != alive {
- log.Info("update-liveness-channel-because-change")
+ logger.Info("update-liveness-channel-because-change")
sc.liveness <- alive
sc.lastLivenessTime = time.Now()
} else if time.Now().Sub(sc.lastLivenessTime) > sc.livenessChannelInterval {
- log.Info("update-liveness-channel-because-interval")
+ logger.Info("update-liveness-channel-because-interval")
sc.liveness <- alive
sc.lastLivenessTime = time.Now()
}
@@ -482,7 +479,7 @@
// Only emit a log message when the state changes
if sc.alive != alive {
- log.Info("set-client-alive", log.Fields{"alive": alive})
+ logger.Info("set-client-alive", log.Fields{"alive": alive})
sc.alive = alive
}
}
@@ -491,7 +488,7 @@
func (sc *SaramaClient) setUnhealthy() {
sc.healthy = false
if sc.healthiness != nil {
- log.Infow("set-client-unhealthy", log.Fields{"healthy": sc.healthy})
+ logger.Infow("set-client-unhealthy", log.Fields{"healthy": sc.healthy})
sc.healthiness <- sc.healthy
}
}
@@ -511,35 +508,35 @@
switch err.Error() {
case context.DeadlineExceeded.Error():
- log.Info("is-liveness-error-timeout")
+ logger.Info("is-liveness-error-timeout")
return true
case sarama.ErrOutOfBrokers.Error(): // "Kafka: client has run out of available brokers"
- log.Info("is-liveness-error-no-brokers")
+ logger.Info("is-liveness-error-no-brokers")
return true
case sarama.ErrShuttingDown.Error(): // "Kafka: message received by producer in process of shutting down"
- log.Info("is-liveness-error-shutting-down")
+ logger.Info("is-liveness-error-shutting-down")
return true
case sarama.ErrControllerNotAvailable.Error(): // "Kafka: controller is not available"
- log.Info("is-liveness-error-not-available")
+ logger.Info("is-liveness-error-not-available")
return true
case breaker.ErrBreakerOpen.Error(): // "circuit breaker is open"
- log.Info("is-liveness-error-circuit-breaker-open")
+ logger.Info("is-liveness-error-circuit-breaker-open")
return true
}
if strings.HasSuffix(err.Error(), "connection refused") { // "dial tcp 10.244.1.176:9092: connect: connection refused"
- log.Info("is-liveness-error-connection-refused")
+ logger.Info("is-liveness-error-connection-refused")
return true
}
if strings.HasSuffix(err.Error(), "i/o timeout") { // "dial tcp 10.244.1.176:9092: i/o timeout"
- log.Info("is-liveness-error-io-timeout")
+ logger.Info("is-liveness-error-io-timeout")
return true
}
// Other errors shouldn't trigger a loss of liveness
- log.Infow("is-liveness-error-ignored", log.Fields{"err": err})
+ logger.Infow("is-liveness-error-ignored", log.Fields{"err": err})
return false
}
@@ -552,7 +549,7 @@
var ok bool
// ascertain the value interface type is a proto.Message
if protoMsg, ok = msg.(proto.Message); !ok {
- log.Warnw("message-not-proto-message", log.Fields{"msg": msg})
+ logger.Warnw("message-not-proto-message", log.Fields{"msg": msg})
return errors.New(fmt.Sprintf("not-a-proto-msg-%s", msg))
}
@@ -560,7 +557,7 @@
var err error
// Create the Sarama producer message
if marshalled, err = proto.Marshal(protoMsg); err != nil {
- log.Errorw("marshalling-failed", log.Fields{"msg": protoMsg, "error": err})
+ logger.Errorw("marshalling-failed", log.Fields{"msg": protoMsg, "error": err})
return err
}
key := ""
@@ -579,10 +576,10 @@
// TODO: Use a lock or a different mechanism to ensure the response received corresponds to the message sent.
select {
case ok := <-sc.producer.Successes():
- log.Debugw("message-sent", log.Fields{"status": ok.Topic})
+ logger.Debugw("message-sent", log.Fields{"status": ok.Topic})
sc.updateLiveness(true)
case notOk := <-sc.producer.Errors():
- log.Debugw("error-sending", log.Fields{"status": notOk})
+ logger.Debugw("error-sending", log.Fields{"status": notOk})
if sc.isLivenessError(notOk) {
sc.updateLiveness(false)
}
@@ -597,10 +594,10 @@
// by the service (i.e. rw_core / ro_core) to update readiness status
// and/or take other actions.
func (sc *SaramaClient) EnableLivenessChannel(enable bool) chan bool {
- log.Infow("kafka-enable-liveness-channel", log.Fields{"enable": enable})
+ logger.Infow("kafka-enable-liveness-channel", log.Fields{"enable": enable})
if enable {
if sc.liveness == nil {
- log.Info("kafka-create-liveness-channel")
+ logger.Info("kafka-create-liveness-channel")
// At least 1, so we can immediately post to it without blocking
// Setting a bigger number (10) allows the monitor to fall behind
// without blocking others. The monitor shouldn't really fall
@@ -621,10 +618,10 @@
// if the kafka consumers die, or some other problem occurs which is
// catastrophic that would require re-creating the client.
func (sc *SaramaClient) EnableHealthinessChannel(enable bool) chan bool {
- log.Infow("kafka-enable-healthiness-channel", log.Fields{"enable": enable})
+ logger.Infow("kafka-enable-healthiness-channel", log.Fields{"enable": enable})
if enable {
if sc.healthiness == nil {
- log.Info("kafka-create-healthiness-channel")
+ logger.Info("kafka-create-healthiness-channel")
// At least 1, so we can immediately post to it without blocking
// Setting a bigger number (10) allows the monitor to fall behind
// without blocking others. The monitor shouldn't really fall
@@ -659,10 +656,10 @@
// TODO: Use a lock or a different mechanism to ensure the response received corresponds to the message sent.
select {
case ok := <-sc.producer.Successes():
- log.Debugw("liveness-message-sent", log.Fields{"status": ok.Topic})
+ logger.Debugw("liveness-message-sent", log.Fields{"status": ok.Topic})
sc.updateLiveness(true)
case notOk := <-sc.producer.Errors():
- log.Debugw("liveness-error-sending", log.Fields{"status": notOk})
+ logger.Debugw("liveness-error-sending", log.Fields{"status": notOk})
if sc.isLivenessError(notOk) {
sc.updateLiveness(false)
}
@@ -700,7 +697,7 @@
var cAdmin sarama.ClusterAdmin
var err error
if cAdmin, err = sarama.NewClusterAdmin([]string{kafkaFullAddr}, config); err != nil {
- log.Errorw("cluster-admin-failure", log.Fields{"error": err, "broker-address": kafkaFullAddr})
+ logger.Errorw("cluster-admin-failure", log.Fields{"error": err, "broker-address": kafkaFullAddr})
return err
}
sc.cAdmin = cAdmin
@@ -760,7 +757,7 @@
consumerCh.channels = append(consumerCh.channels, ch)
return
}
- log.Warnw("consumers-channel-not-exist", log.Fields{"topic": topic.Name})
+ logger.Warnw("consumers-channel-not-exist", log.Fields{"topic": topic.Name})
}
//closeConsumers closes a list of sarama consumers. The consumers can either be a partition consumers or a group consumers
@@ -770,7 +767,7 @@
// Is it a partition consumers?
if partionConsumer, ok := consumer.(sarama.PartitionConsumer); ok {
if errTemp := partionConsumer.Close(); errTemp != nil {
- log.Debugw("partition!!!", log.Fields{"err": errTemp})
+ logger.Debugw("partition!!!", log.Fields{"err": errTemp})
if strings.Compare(errTemp.Error(), sarama.ErrUnknownTopicOrPartition.Error()) == 0 {
// This can occur on race condition
err = nil
@@ -800,7 +797,7 @@
consumerCh.channels = removeChannel(consumerCh.channels, ch)
// If there are no more channels then we can close the consumers itself
if len(consumerCh.channels) == 0 {
- log.Debugw("closing-consumers", log.Fields{"topic": topic})
+ logger.Debugw("closing-consumers", log.Fields{"topic": topic})
err := closeConsumers(consumerCh.consumers)
//err := consumerCh.consumers.Close()
delete(sc.topicToConsumerChannelMap, topic.Name)
@@ -808,7 +805,7 @@
}
return nil
}
- log.Warnw("topic-does-not-exist", log.Fields{"topic": topic.Name})
+ logger.Warnw("topic-does-not-exist", log.Fields{"topic": topic.Name})
return errors.New("topic-does-not-exist")
}
@@ -829,7 +826,7 @@
delete(sc.topicToConsumerChannelMap, topic.Name)
return err
}
- log.Debugw("topic-does-not-exist", log.Fields{"topic": topic.Name})
+ logger.Debugw("topic-does-not-exist", log.Fields{"topic": topic.Name})
return nil
}
@@ -868,12 +865,12 @@
brokers := []string{kafkaFullAddr}
if producer, err := sarama.NewAsyncProducer(brokers, config); err != nil {
- log.Errorw("error-starting-publisher", log.Fields{"error": err})
+ logger.Errorw("error-starting-publisher", log.Fields{"error": err})
return err
} else {
sc.producer = producer
}
- log.Info("Kafka-publisher-created")
+ logger.Info("Kafka-publisher-created")
return nil
}
@@ -889,12 +886,12 @@
brokers := []string{kafkaFullAddr}
if consumer, err := sarama.NewConsumer(brokers, config); err != nil {
- log.Errorw("error-starting-consumers", log.Fields{"error": err})
+ logger.Errorw("error-starting-consumers", log.Fields{"error": err})
return err
} else {
sc.consumer = consumer
}
- log.Info("Kafka-consumers-created")
+ logger.Info("Kafka-consumers-created")
return nil
}
@@ -918,10 +915,10 @@
var err error
if consumer, err = scc.NewConsumer(brokers, groupId, topics, config); err != nil {
- log.Errorw("create-group-consumers-failure", log.Fields{"error": err, "topic": topic.Name, "groupId": groupId})
+ logger.Errorw("create-group-consumers-failure", log.Fields{"error": err, "topic": topic.Name, "groupId": groupId})
return nil, err
}
- log.Debugw("create-group-consumers-success", log.Fields{"topic": topic.Name, "groupId": groupId})
+ logger.Debugw("create-group-consumers-success", log.Fields{"topic": topic.Name, "groupId": groupId})
//sc.groupConsumers[topic.Name] = consumer
sc.addToGroupConsumers(topic.Name, consumer)
@@ -942,7 +939,7 @@
}
func (sc *SaramaClient) consumeFromAPartition(topic *Topic, consumer sarama.PartitionConsumer, consumerChnls *consumerChannels) {
- log.Debugw("starting-partition-consumption-loop", log.Fields{"topic": topic.Name})
+ logger.Debugw("starting-partition-consumption-loop", log.Fields{"topic": topic.Name})
startloop:
for {
select {
@@ -950,38 +947,38 @@
if ok {
if sc.isLivenessError(err) {
sc.updateLiveness(false)
- log.Warnw("partition-consumers-error", log.Fields{"error": err})
+ logger.Warnw("partition-consumers-error", log.Fields{"error": err})
}
} else {
// Channel is closed
break startloop
}
case msg, ok := <-consumer.Messages():
- //log.Debugw("message-received", log.Fields{"msg": msg, "receivedTopic": msg.Topic})
+ //logger.Debugw("message-received", logger.Fields{"msg": msg, "receivedTopic": msg.Topic})
if !ok {
// channel is closed
break startloop
}
msgBody := msg.Value
sc.updateLiveness(true)
- log.Debugw("message-received", log.Fields{"timestamp": msg.Timestamp, "receivedTopic": msg.Topic})
+ logger.Debugw("message-received", log.Fields{"timestamp": msg.Timestamp, "receivedTopic": msg.Topic})
icm := &ic.InterContainerMessage{}
if err := proto.Unmarshal(msgBody, icm); err != nil {
- log.Warnw("partition-invalid-message", log.Fields{"error": err})
+ logger.Warnw("partition-invalid-message", log.Fields{"error": err})
continue
}
go sc.dispatchToConsumers(consumerChnls, icm)
case <-sc.doneCh:
- log.Infow("partition-received-exit-signal", log.Fields{"topic": topic.Name})
+ logger.Infow("partition-received-exit-signal", log.Fields{"topic": topic.Name})
break startloop
}
}
- log.Infow("partition-consumer-stopped", log.Fields{"topic": topic.Name})
+ logger.Infow("partition-consumer-stopped", log.Fields{"topic": topic.Name})
sc.setUnhealthy()
}
func (sc *SaramaClient) consumeGroupMessages(topic *Topic, consumer *scc.Consumer, consumerChnls *consumerChannels) {
- log.Debugw("starting-group-consumption-loop", log.Fields{"topic": topic.Name})
+ logger.Debugw("starting-group-consumption-loop", log.Fields{"topic": topic.Name})
startloop:
for {
@@ -991,44 +988,44 @@
if sc.isLivenessError(err) {
sc.updateLiveness(false)
}
- log.Warnw("group-consumers-error", log.Fields{"topic": topic.Name, "error": err})
+ logger.Warnw("group-consumers-error", log.Fields{"topic": topic.Name, "error": err})
} else {
- log.Warnw("group-consumers-closed-err", log.Fields{"topic": topic.Name})
+ logger.Warnw("group-consumers-closed-err", log.Fields{"topic": topic.Name})
// channel is closed
break startloop
}
case msg, ok := <-consumer.Messages():
if !ok {
- log.Warnw("group-consumers-closed-msg", log.Fields{"topic": topic.Name})
+ logger.Warnw("group-consumers-closed-msg", log.Fields{"topic": topic.Name})
// Channel closed
break startloop
}
sc.updateLiveness(true)
- log.Debugw("message-received", log.Fields{"timestamp": msg.Timestamp, "receivedTopic": msg.Topic})
+ logger.Debugw("message-received", log.Fields{"timestamp": msg.Timestamp, "receivedTopic": msg.Topic})
msgBody := msg.Value
icm := &ic.InterContainerMessage{}
if err := proto.Unmarshal(msgBody, icm); err != nil {
- log.Warnw("invalid-message", log.Fields{"error": err})
+ logger.Warnw("invalid-message", log.Fields{"error": err})
continue
}
go sc.dispatchToConsumers(consumerChnls, icm)
consumer.MarkOffset(msg, "")
case ntf := <-consumer.Notifications():
- log.Debugw("group-received-notification", log.Fields{"notification": ntf})
+ logger.Debugw("group-received-notification", log.Fields{"notification": ntf})
case <-sc.doneCh:
- log.Infow("group-received-exit-signal", log.Fields{"topic": topic.Name})
+ logger.Infow("group-received-exit-signal", log.Fields{"topic": topic.Name})
break startloop
}
}
- log.Infow("group-consumer-stopped", log.Fields{"topic": topic.Name})
+ logger.Infow("group-consumer-stopped", log.Fields{"topic": topic.Name})
sc.setUnhealthy()
}
func (sc *SaramaClient) startConsumers(topic *Topic) error {
- log.Debugw("starting-consumers", log.Fields{"topic": topic.Name})
+ logger.Debugw("starting-consumers", log.Fields{"topic": topic.Name})
var consumerCh *consumerChannels
if consumerCh = sc.getConsumerChannel(topic); consumerCh == nil {
- log.Errorw("consumers-not-exist", log.Fields{"topic": topic.Name})
+ logger.Errorw("consumers-not-exist", log.Fields{"topic": topic.Name})
return errors.New("consumers-not-exist")
}
// For each consumer listening for that topic, start a consumption loop
@@ -1038,7 +1035,7 @@
} else if gConsumer, ok := consumer.(*scc.Consumer); ok {
go sc.consumeGroupMessages(topic, gConsumer, consumerCh)
} else {
- log.Errorw("invalid-consumer", log.Fields{"topic": topic})
+ logger.Errorw("invalid-consumer", log.Fields{"topic": topic})
return errors.New("invalid-consumer")
}
}
@@ -1052,7 +1049,7 @@
var err error
if pConsumers, err = sc.createPartitionConsumers(topic, initialOffset); err != nil {
- log.Errorw("creating-partition-consumers-failure", log.Fields{"error": err, "topic": topic.Name})
+ logger.Errorw("creating-partition-consumers-failure", log.Fields{"error": err, "topic": topic.Name})
return nil, err
}
@@ -1085,7 +1082,7 @@
var pConsumer *scc.Consumer
var err error
if pConsumer, err = sc.createGroupConsumer(topic, groupId, initialOffset, DefaultMaxRetries); err != nil {
- log.Errorw("creating-partition-consumers-failure", log.Fields{"error": err, "topic": topic.Name})
+ logger.Errorw("creating-partition-consumers-failure", log.Fields{"error": err, "topic": topic.Name})
return nil, err
}
// Create the consumers/channel structure and set the consumers and create a channel on that topic - for now
@@ -1106,10 +1103,10 @@
}
func (sc *SaramaClient) createPartitionConsumers(topic *Topic, initialOffset int64) ([]sarama.PartitionConsumer, error) {
- log.Debugw("creating-partition-consumers", log.Fields{"topic": topic.Name})
+ logger.Debugw("creating-partition-consumers", log.Fields{"topic": topic.Name})
partitionList, err := sc.consumer.Partitions(topic.Name)
if err != nil {
- log.Warnw("get-partition-failure", log.Fields{"error": err, "topic": topic.Name})
+ logger.Warnw("get-partition-failure", log.Fields{"error": err, "topic": topic.Name})
return nil, err
}
@@ -1117,7 +1114,7 @@
for _, partition := range partitionList {
var pConsumer sarama.PartitionConsumer
if pConsumer, err = sc.consumer.ConsumePartition(topic.Name, partition, initialOffset); err != nil {
- log.Warnw("consumers-partition-failure", log.Fields{"error": err, "topic": topic.Name})
+ logger.Warnw("consumers-partition-failure", log.Fields{"error": err, "topic": topic.Name})
return nil, err
}
pConsumers = append(pConsumers, pConsumer)
@@ -1132,7 +1129,7 @@
if channel == ch {
channels[len(channels)-1], channels[i] = channels[i], channels[len(channels)-1]
close(channel)
- log.Debug("channel-closed")
+ logger.Debug("channel-closed")
return channels[:len(channels)-1]
}
}
@@ -1154,7 +1151,7 @@
consumer := sc.groupConsumers[topic]
delete(sc.groupConsumers, topic)
if err := consumer.Close(); err != nil {
- log.Errorw("failure-closing-consumer", log.Fields{"error": err})
+ logger.Errorw("failure-closing-consumer", log.Fields{"error": err})
return err
}
}
diff --git a/vendor/github.com/opencord/voltha-lib-go/v2/pkg/kafka/utils.go b/vendor/github.com/opencord/voltha-lib-go/v3/pkg/kafka/utils.go
similarity index 100%
rename from vendor/github.com/opencord/voltha-lib-go/v2/pkg/kafka/utils.go
rename to vendor/github.com/opencord/voltha-lib-go/v3/pkg/kafka/utils.go
diff --git a/vendor/github.com/opencord/voltha-lib-go/v2/pkg/log/log.go b/vendor/github.com/opencord/voltha-lib-go/v3/pkg/log/log.go
similarity index 95%
rename from vendor/github.com/opencord/voltha-lib-go/v2/pkg/log/log.go
rename to vendor/github.com/opencord/voltha-lib-go/v3/pkg/log/log.go
index fe3a4e0..43567e3 100644
--- a/vendor/github.com/opencord/voltha-lib-go/v2/pkg/log/log.go
+++ b/vendor/github.com/opencord/voltha-lib-go/v3/pkg/log/log.go
@@ -59,8 +59,6 @@
WarnLevel
// ErrorLevel logs a message at error level
ErrorLevel
- // PanicLevel logs a message, then panics.
- PanicLevel
// FatalLevel logs a message, then calls os.Exit(1).
FatalLevel
)
@@ -109,6 +107,9 @@
// V reports whether verbosity level l is at least the requested verbose level.
V(l int) bool
+
+ //Returns the log level of this specific logger
+ GetLogLevel() int
}
// Fields is used as key-value pairs for structured logging
@@ -121,8 +122,9 @@
var cfgs map[string]zp.Config
type logger struct {
- log *zp.SugaredLogger
- parent *zp.Logger
+ log *zp.SugaredLogger
+ parent *zp.Logger
+ packageName string
}
func intToAtomicLevel(l int) zp.AtomicLevel {
@@ -135,8 +137,6 @@
return zp.NewAtomicLevelAt(zc.WarnLevel)
case ErrorLevel:
return zp.NewAtomicLevelAt(zc.ErrorLevel)
- case PanicLevel:
- return zp.NewAtomicLevelAt(zc.PanicLevel)
case FatalLevel:
return zp.NewAtomicLevelAt(zc.FatalLevel)
}
@@ -153,8 +153,6 @@
return zc.WarnLevel
case ErrorLevel:
return zc.ErrorLevel
- case PanicLevel:
- return zc.PanicLevel
case FatalLevel:
return zc.FatalLevel
}
@@ -171,9 +169,23 @@
return WarnLevel
case zc.ErrorLevel:
return ErrorLevel
- case zc.PanicLevel:
- return PanicLevel
- case FatalLevel:
+ case zc.FatalLevel:
+ return FatalLevel
+ }
+ return ErrorLevel
+}
+
+func StringToInt(l string) int {
+ switch l {
+ case "DEBUG":
+ return DebugLevel
+ case "INFO":
+ return InfoLevel
+ case "WARN":
+ return WarnLevel
+ case "ERROR":
+ return ErrorLevel
+ case "FATAL":
return FatalLevel
}
return ErrorLevel
@@ -258,8 +270,9 @@
}
loggers[pkgName] = &logger{
- log: l.Sugar(),
- parent: l,
+ log: l.Sugar(),
+ parent: l,
+ packageName: pkgName,
}
return loggers[pkgName], nil
}
@@ -279,8 +292,9 @@
}
loggers[pkgName] = &logger{
- log: l.Sugar(),
- parent: l,
+ log: l.Sugar(),
+ parent: l,
+ packageName: pkgName,
}
}
return nil
@@ -326,8 +340,9 @@
// Set the logger
loggers[pkgName] = &logger{
- log: l.Sugar(),
- parent: l,
+ log: l.Sugar(),
+ parent: l,
+ packageName: pkgName,
}
return loggers[pkgName], nil
}
@@ -342,8 +357,6 @@
cfg.Level.SetLevel(zc.WarnLevel)
case ErrorLevel:
cfg.Level.SetLevel(zc.ErrorLevel)
- case PanicLevel:
- cfg.Level.SetLevel(zc.PanicLevel)
case FatalLevel:
cfg.Level.SetLevel(zc.FatalLevel)
default:
@@ -632,6 +645,11 @@
return l.parent.Core().Enabled(intToLevel(level))
}
+// GetLogLevel returns the current level of the logger
+func (l logger) GetLogLevel() int {
+ return levelToInt(cfgs[l.packageName].Level.Level())
+}
+
// With returns a logger initialized with the key-value pairs
func With(keysAndValues Fields) Logger {
return logger{log: getPackageLevelSugaredLogger().With(serializeMap(keysAndValues)...), parent: defaultLogger.parent}
@@ -761,3 +779,8 @@
func V(level int) bool {
return getPackageLevelLogger().V(level)
}
+
+//GetLogLevel returns the log level of the invoking package
+func GetLogLevel() int {
+ return getPackageLevelLogger().GetLogLevel()
+}
diff --git a/vendor/github.com/opencord/voltha-lib-go/v2/pkg/pmmetrics/performance_metrics.go b/vendor/github.com/opencord/voltha-lib-go/v3/pkg/pmmetrics/performance_metrics.go
similarity index 97%
rename from vendor/github.com/opencord/voltha-lib-go/v2/pkg/pmmetrics/performance_metrics.go
rename to vendor/github.com/opencord/voltha-lib-go/v3/pkg/pmmetrics/performance_metrics.go
index 8951a7d..b5d9369 100644
--- a/vendor/github.com/opencord/voltha-lib-go/v2/pkg/pmmetrics/performance_metrics.go
+++ b/vendor/github.com/opencord/voltha-lib-go/v3/pkg/pmmetrics/performance_metrics.go
@@ -17,7 +17,7 @@
package pmmetrics
import (
- "github.com/opencord/voltha-protos/v2/go/voltha"
+ "github.com/opencord/voltha-protos/v3/go/voltha"
)
// PmMetrics structure holds metric and device info
diff --git a/vendor/github.com/opencord/voltha-lib-go/v2/pkg/ponresourcemanager/ponresourcemanager.go b/vendor/github.com/opencord/voltha-lib-go/v3/pkg/ponresourcemanager/ponresourcemanager.go
similarity index 99%
rename from vendor/github.com/opencord/voltha-lib-go/v2/pkg/ponresourcemanager/ponresourcemanager.go
rename to vendor/github.com/opencord/voltha-lib-go/v3/pkg/ponresourcemanager/ponresourcemanager.go
index 0abe6c1..4587675 100644
--- a/vendor/github.com/opencord/voltha-lib-go/v2/pkg/ponresourcemanager/ponresourcemanager.go
+++ b/vendor/github.com/opencord/voltha-lib-go/v3/pkg/ponresourcemanager/ponresourcemanager.go
@@ -23,11 +23,11 @@
"fmt"
"strconv"
- "github.com/boljen/go-bitmap"
- "github.com/opencord/voltha-lib-go/v2/pkg/db"
- "github.com/opencord/voltha-lib-go/v2/pkg/db/kvstore"
- "github.com/opencord/voltha-lib-go/v2/pkg/log"
- tp "github.com/opencord/voltha-lib-go/v2/pkg/techprofile"
+ bitmap "github.com/boljen/go-bitmap"
+ "github.com/opencord/voltha-lib-go/v3/pkg/db"
+ "github.com/opencord/voltha-lib-go/v3/pkg/db/kvstore"
+ "github.com/opencord/voltha-lib-go/v3/pkg/log"
+ tp "github.com/opencord/voltha-lib-go/v3/pkg/techprofile"
)
const (
diff --git a/vendor/github.com/opencord/voltha-lib-go/v2/pkg/probe/probe.go b/vendor/github.com/opencord/voltha-lib-go/v3/pkg/probe/probe.go
similarity index 99%
rename from vendor/github.com/opencord/voltha-lib-go/v2/pkg/probe/probe.go
rename to vendor/github.com/opencord/voltha-lib-go/v3/pkg/probe/probe.go
index 7e6dbf9..9f00953 100644
--- a/vendor/github.com/opencord/voltha-lib-go/v2/pkg/probe/probe.go
+++ b/vendor/github.com/opencord/voltha-lib-go/v3/pkg/probe/probe.go
@@ -18,7 +18,7 @@
import (
"context"
"fmt"
- "github.com/opencord/voltha-lib-go/v2/pkg/log"
+ "github.com/opencord/voltha-lib-go/v3/pkg/log"
"net/http"
"sync"
)
diff --git a/vendor/github.com/opencord/voltha-lib-go/v2/pkg/techprofile/4QueueHybridProfileMap1.json b/vendor/github.com/opencord/voltha-lib-go/v3/pkg/techprofile/4QueueHybridProfileMap1.json
similarity index 100%
rename from vendor/github.com/opencord/voltha-lib-go/v2/pkg/techprofile/4QueueHybridProfileMap1.json
rename to vendor/github.com/opencord/voltha-lib-go/v3/pkg/techprofile/4QueueHybridProfileMap1.json
diff --git a/vendor/github.com/opencord/voltha-lib-go/v2/pkg/techprofile/README.md b/vendor/github.com/opencord/voltha-lib-go/v3/pkg/techprofile/README.md
similarity index 100%
rename from vendor/github.com/opencord/voltha-lib-go/v2/pkg/techprofile/README.md
rename to vendor/github.com/opencord/voltha-lib-go/v3/pkg/techprofile/README.md
diff --git a/vendor/github.com/opencord/voltha-lib-go/v2/pkg/techprofile/config.go b/vendor/github.com/opencord/voltha-lib-go/v3/pkg/techprofile/config.go
similarity index 98%
rename from vendor/github.com/opencord/voltha-lib-go/v2/pkg/techprofile/config.go
rename to vendor/github.com/opencord/voltha-lib-go/v3/pkg/techprofile/config.go
index b1a8ac5..2df7147 100644
--- a/vendor/github.com/opencord/voltha-lib-go/v2/pkg/techprofile/config.go
+++ b/vendor/github.com/opencord/voltha-lib-go/v3/pkg/techprofile/config.go
@@ -16,7 +16,7 @@
package techprofile
import (
- "github.com/opencord/voltha-lib-go/v2/pkg/db"
+ "github.com/opencord/voltha-lib-go/v3/pkg/db"
)
// tech profile default constants
diff --git a/vendor/github.com/opencord/voltha-lib-go/v2/pkg/techprofile/tech_profile.go b/vendor/github.com/opencord/voltha-lib-go/v3/pkg/techprofile/tech_profile.go
similarity index 99%
rename from vendor/github.com/opencord/voltha-lib-go/v2/pkg/techprofile/tech_profile.go
rename to vendor/github.com/opencord/voltha-lib-go/v3/pkg/techprofile/tech_profile.go
index 3588838..0358291 100644
--- a/vendor/github.com/opencord/voltha-lib-go/v2/pkg/techprofile/tech_profile.go
+++ b/vendor/github.com/opencord/voltha-lib-go/v3/pkg/techprofile/tech_profile.go
@@ -23,10 +23,11 @@
"regexp"
"strconv"
- "github.com/opencord/voltha-lib-go/v2/pkg/db"
- "github.com/opencord/voltha-lib-go/v2/pkg/db/kvstore"
- "github.com/opencord/voltha-lib-go/v2/pkg/log"
- tp_pb "github.com/opencord/voltha-protos/v2/go/tech_profile"
+ "github.com/opencord/voltha-lib-go/v3/pkg/db"
+
+ "github.com/opencord/voltha-lib-go/v3/pkg/db/kvstore"
+ "github.com/opencord/voltha-lib-go/v3/pkg/log"
+ tp_pb "github.com/opencord/voltha-protos/v3/go/tech_profile"
)
// Interface to pon resource manager APIs
diff --git a/vendor/github.com/opencord/voltha-lib-go/v2/pkg/techprofile/tech_profile_if.go b/vendor/github.com/opencord/voltha-lib-go/v3/pkg/techprofile/tech_profile_if.go
similarity index 93%
rename from vendor/github.com/opencord/voltha-lib-go/v2/pkg/techprofile/tech_profile_if.go
rename to vendor/github.com/opencord/voltha-lib-go/v3/pkg/techprofile/tech_profile_if.go
index cadca87..9184b5b 100644
--- a/vendor/github.com/opencord/voltha-lib-go/v2/pkg/techprofile/tech_profile_if.go
+++ b/vendor/github.com/opencord/voltha-lib-go/v3/pkg/techprofile/tech_profile_if.go
@@ -17,8 +17,8 @@
package techprofile
import (
- "github.com/opencord/voltha-lib-go/v2/pkg/db"
- tp_pb "github.com/opencord/voltha-protos/v2/go/tech_profile"
+ "github.com/opencord/voltha-lib-go/v3/pkg/db"
+ tp_pb "github.com/opencord/voltha-protos/v3/go/tech_profile"
)
type TechProfileIf interface {
diff --git a/vendor/github.com/opencord/voltha-protos/v2/go/common/yang_options.pb.go b/vendor/github.com/opencord/voltha-protos/v2/go/common/yang_options.pb.go
deleted file mode 100644
index 66c99ab..0000000
--- a/vendor/github.com/opencord/voltha-protos/v2/go/common/yang_options.pb.go
+++ /dev/null
@@ -1,237 +0,0 @@
-// Code generated by protoc-gen-go. DO NOT EDIT.
-// source: voltha_protos/yang_options.proto
-
-package common
-
-import (
- fmt "fmt"
- proto "github.com/golang/protobuf/proto"
- descriptor "github.com/golang/protobuf/protoc-gen-go/descriptor"
- math "math"
-)
-
-// Reference imports to suppress errors if they are not otherwise used.
-var _ = proto.Marshal
-var _ = fmt.Errorf
-var _ = math.Inf
-
-// This is a compile-time assertion to ensure that this generated file
-// is compatible with the proto package it is being compiled against.
-// A compilation error at this line likely means your copy of the
-// proto package needs to be updated.
-const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package
-
-type MessageParserOption int32
-
-const (
- // Move any enclosing child enum/message definition to the same level
- // as the parent (this message) in the yang generated file
- MessageParserOption_MOVE_TO_PARENT_LEVEL MessageParserOption = 0
- // Create both a grouping and a container for this message. The container
- // name will be the message name. The grouping name will be the message
- // name prefixed with "grouping_"
- MessageParserOption_CREATE_BOTH_GROUPING_AND_CONTAINER MessageParserOption = 1
-)
-
-var MessageParserOption_name = map[int32]string{
- 0: "MOVE_TO_PARENT_LEVEL",
- 1: "CREATE_BOTH_GROUPING_AND_CONTAINER",
-}
-
-var MessageParserOption_value = map[string]int32{
- "MOVE_TO_PARENT_LEVEL": 0,
- "CREATE_BOTH_GROUPING_AND_CONTAINER": 1,
-}
-
-func (x MessageParserOption) String() string {
- return proto.EnumName(MessageParserOption_name, int32(x))
-}
-
-func (MessageParserOption) EnumDescriptor() ([]byte, []int) {
- return fileDescriptor_e6be2fba65eb89fb, []int{0}
-}
-
-type InlineNode struct {
- Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
- Type string `protobuf:"bytes,2,opt,name=type,proto3" json:"type,omitempty"`
- XXX_NoUnkeyedLiteral struct{} `json:"-"`
- XXX_unrecognized []byte `json:"-"`
- XXX_sizecache int32 `json:"-"`
-}
-
-func (m *InlineNode) Reset() { *m = InlineNode{} }
-func (m *InlineNode) String() string { return proto.CompactTextString(m) }
-func (*InlineNode) ProtoMessage() {}
-func (*InlineNode) Descriptor() ([]byte, []int) {
- return fileDescriptor_e6be2fba65eb89fb, []int{0}
-}
-
-func (m *InlineNode) XXX_Unmarshal(b []byte) error {
- return xxx_messageInfo_InlineNode.Unmarshal(m, b)
-}
-func (m *InlineNode) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- return xxx_messageInfo_InlineNode.Marshal(b, m, deterministic)
-}
-func (m *InlineNode) XXX_Merge(src proto.Message) {
- xxx_messageInfo_InlineNode.Merge(m, src)
-}
-func (m *InlineNode) XXX_Size() int {
- return xxx_messageInfo_InlineNode.Size(m)
-}
-func (m *InlineNode) XXX_DiscardUnknown() {
- xxx_messageInfo_InlineNode.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_InlineNode proto.InternalMessageInfo
-
-func (m *InlineNode) GetId() string {
- if m != nil {
- return m.Id
- }
- return ""
-}
-
-func (m *InlineNode) GetType() string {
- if m != nil {
- return m.Type
- }
- return ""
-}
-
-type RpcReturnDef struct {
- // The gRPC methods return message types. NETCONF expects an actual
- // attribute as defined in the YANG schema. The xnl_tag will be used
- // as the top most tag when translating a gRPC response into an xml
- // response
- XmlTag string `protobuf:"bytes,1,opt,name=xml_tag,json=xmlTag,proto3" json:"xml_tag,omitempty"`
- // When the gRPC response is a list of items, we need to differentiate
- // between a YANG schema attribute whose name is "items" and when "items"
- // is used only to indicate a list of items is being returned. The default
- // behavior assumes a list is returned when "items" is present in
- // the response. This option will therefore be used when the attribute
- // name in the YANG schema is 'items'
- ListItemsName string `protobuf:"bytes,2,opt,name=list_items_name,json=listItemsName,proto3" json:"list_items_name,omitempty"`
- XXX_NoUnkeyedLiteral struct{} `json:"-"`
- XXX_unrecognized []byte `json:"-"`
- XXX_sizecache int32 `json:"-"`
-}
-
-func (m *RpcReturnDef) Reset() { *m = RpcReturnDef{} }
-func (m *RpcReturnDef) String() string { return proto.CompactTextString(m) }
-func (*RpcReturnDef) ProtoMessage() {}
-func (*RpcReturnDef) Descriptor() ([]byte, []int) {
- return fileDescriptor_e6be2fba65eb89fb, []int{1}
-}
-
-func (m *RpcReturnDef) XXX_Unmarshal(b []byte) error {
- return xxx_messageInfo_RpcReturnDef.Unmarshal(m, b)
-}
-func (m *RpcReturnDef) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- return xxx_messageInfo_RpcReturnDef.Marshal(b, m, deterministic)
-}
-func (m *RpcReturnDef) XXX_Merge(src proto.Message) {
- xxx_messageInfo_RpcReturnDef.Merge(m, src)
-}
-func (m *RpcReturnDef) XXX_Size() int {
- return xxx_messageInfo_RpcReturnDef.Size(m)
-}
-func (m *RpcReturnDef) XXX_DiscardUnknown() {
- xxx_messageInfo_RpcReturnDef.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_RpcReturnDef proto.InternalMessageInfo
-
-func (m *RpcReturnDef) GetXmlTag() string {
- if m != nil {
- return m.XmlTag
- }
- return ""
-}
-
-func (m *RpcReturnDef) GetListItemsName() string {
- if m != nil {
- return m.ListItemsName
- }
- return ""
-}
-
-var E_YangChildRule = &proto.ExtensionDesc{
- ExtendedType: (*descriptor.MessageOptions)(nil),
- ExtensionType: (*MessageParserOption)(nil),
- Field: 7761774,
- Name: "common.yang_child_rule",
- Tag: "varint,7761774,opt,name=yang_child_rule,enum=common.MessageParserOption",
- Filename: "voltha_protos/yang_options.proto",
-}
-
-var E_YangMessageRule = &proto.ExtensionDesc{
- ExtendedType: (*descriptor.MessageOptions)(nil),
- ExtensionType: (*MessageParserOption)(nil),
- Field: 7761775,
- Name: "common.yang_message_rule",
- Tag: "varint,7761775,opt,name=yang_message_rule,enum=common.MessageParserOption",
- Filename: "voltha_protos/yang_options.proto",
-}
-
-var E_YangInlineNode = &proto.ExtensionDesc{
- ExtendedType: (*descriptor.FieldOptions)(nil),
- ExtensionType: (*InlineNode)(nil),
- Field: 7761776,
- Name: "common.yang_inline_node",
- Tag: "bytes,7761776,opt,name=yang_inline_node",
- Filename: "voltha_protos/yang_options.proto",
-}
-
-var E_YangXmlTag = &proto.ExtensionDesc{
- ExtendedType: (*descriptor.MethodOptions)(nil),
- ExtensionType: (*RpcReturnDef)(nil),
- Field: 7761777,
- Name: "common.yang_xml_tag",
- Tag: "bytes,7761777,opt,name=yang_xml_tag",
- Filename: "voltha_protos/yang_options.proto",
-}
-
-func init() {
- proto.RegisterEnum("common.MessageParserOption", MessageParserOption_name, MessageParserOption_value)
- proto.RegisterType((*InlineNode)(nil), "common.InlineNode")
- proto.RegisterType((*RpcReturnDef)(nil), "common.RpcReturnDef")
- proto.RegisterExtension(E_YangChildRule)
- proto.RegisterExtension(E_YangMessageRule)
- proto.RegisterExtension(E_YangInlineNode)
- proto.RegisterExtension(E_YangXmlTag)
-}
-
-func init() { proto.RegisterFile("voltha_protos/yang_options.proto", fileDescriptor_e6be2fba65eb89fb) }
-
-var fileDescriptor_e6be2fba65eb89fb = []byte{
- // 454 bytes of a gzipped FileDescriptorProto
- 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x92, 0x4d, 0x6f, 0xd3, 0x30,
- 0x18, 0xc7, 0x69, 0x41, 0x45, 0x98, 0xad, 0x2b, 0x66, 0x12, 0x15, 0x08, 0xa8, 0x7a, 0x98, 0x26,
- 0x24, 0x92, 0xa9, 0xdc, 0x7a, 0xeb, 0xba, 0x30, 0x2a, 0x6d, 0x49, 0x65, 0x85, 0xf1, 0x72, 0xc0,
- 0x4a, 0x93, 0x67, 0x8e, 0x85, 0x63, 0x47, 0xb1, 0x33, 0x6d, 0x1f, 0x95, 0x0b, 0x1f, 0x81, 0x97,
- 0x6f, 0x80, 0x62, 0x27, 0x0c, 0x89, 0x1d, 0x76, 0x6b, 0xff, 0x79, 0xf2, 0xfb, 0xe5, 0x79, 0x41,
- 0x93, 0x0b, 0x25, 0x4c, 0x9e, 0xd0, 0xb2, 0x52, 0x46, 0x69, 0xff, 0x2a, 0x91, 0x8c, 0xaa, 0xd2,
- 0x70, 0x25, 0xb5, 0x67, 0x33, 0x3c, 0x48, 0x55, 0x51, 0x28, 0xf9, 0x74, 0xc2, 0x94, 0x62, 0x02,
- 0x7c, 0x9b, 0x6e, 0xea, 0x73, 0x3f, 0x03, 0x9d, 0x56, 0xbc, 0x34, 0xaa, 0x72, 0x95, 0xd3, 0x03,
- 0x84, 0x56, 0x52, 0x70, 0x09, 0xa1, 0xca, 0x00, 0x0f, 0x51, 0x9f, 0x67, 0xe3, 0xde, 0xa4, 0xb7,
- 0xff, 0x80, 0xf4, 0x79, 0x86, 0x31, 0xba, 0x67, 0xae, 0x4a, 0x18, 0xf7, 0x6d, 0x62, 0x7f, 0x4f,
- 0x23, 0xb4, 0x45, 0xca, 0x94, 0x80, 0xa9, 0x2b, 0x79, 0x04, 0xe7, 0xf8, 0x09, 0xba, 0x7f, 0x59,
- 0x08, 0x6a, 0x12, 0xd6, 0xbe, 0x38, 0xb8, 0x2c, 0x44, 0x9c, 0x30, 0xbc, 0x87, 0x76, 0x04, 0xd7,
- 0x86, 0x72, 0x03, 0x85, 0xa6, 0x32, 0x29, 0x3a, 0xce, 0x76, 0x13, 0xaf, 0x9a, 0x34, 0x4c, 0x0a,
- 0x78, 0xf5, 0x01, 0x3d, 0x3e, 0x05, 0xad, 0x13, 0x06, 0xeb, 0xa4, 0xd2, 0x50, 0x45, 0xb6, 0x15,
- 0x3c, 0x46, 0xbb, 0xa7, 0xd1, 0x59, 0x40, 0xe3, 0x88, 0xae, 0x17, 0x24, 0x08, 0x63, 0x7a, 0x12,
- 0x9c, 0x05, 0x27, 0xa3, 0x3b, 0x78, 0x0f, 0x4d, 0x97, 0x24, 0x58, 0xc4, 0x01, 0x3d, 0x8c, 0xe2,
- 0x77, 0xf4, 0x98, 0x44, 0xef, 0xd7, 0xab, 0xf0, 0x98, 0x2e, 0xc2, 0x23, 0xba, 0x8c, 0xc2, 0x78,
- 0xb1, 0x0a, 0x03, 0x32, 0xea, 0xcd, 0x19, 0xda, 0xb1, 0xb3, 0x49, 0x73, 0x2e, 0x32, 0x5a, 0xd5,
- 0x02, 0xf0, 0x4b, 0xcf, 0x4d, 0xc4, 0xeb, 0x26, 0xe2, 0xb5, 0x6a, 0x27, 0xd5, 0xe3, 0x1f, 0xdf,
- 0xbf, 0xdd, 0x9d, 0xf4, 0xf6, 0x87, 0xb3, 0x67, 0x9e, 0x9b, 0xa1, 0x77, 0xc3, 0xb7, 0x91, 0xed,
- 0x86, 0xbb, 0x6c, 0xb0, 0xa4, 0x16, 0x30, 0xff, 0x8a, 0x1e, 0x59, 0x51, 0xe1, 0x4a, 0x6f, 0xa9,
- 0xfa, 0x79, 0x2b, 0x95, 0x6d, 0xa1, 0x7d, 0x60, 0x65, 0x5f, 0xd0, 0xc8, 0xca, 0xb8, 0x5d, 0x1b,
- 0x95, 0xcd, 0xde, 0x9e, 0xff, 0xe7, 0x7a, 0xcb, 0x41, 0x64, 0x9d, 0xe9, 0x97, 0x33, 0x3d, 0x9c,
- 0xe1, 0xce, 0x74, 0xbd, 0x73, 0x32, 0x6c, 0x68, 0xd7, 0xff, 0xe7, 0x9f, 0xd0, 0x96, 0xe5, 0xb7,
- 0x4b, 0xc5, 0x2f, 0x6e, 0xe8, 0xc3, 0xe4, 0xea, 0x2f, 0xfc, 0x77, 0x07, 0xdf, 0xed, 0xe0, 0xff,
- 0x9e, 0x07, 0x41, 0x0d, 0xec, 0xa3, 0xbd, 0x88, 0xc3, 0x83, 0xcf, 0x1e, 0xe3, 0x26, 0xaf, 0x37,
- 0x4d, 0xa5, 0xaf, 0x4a, 0x90, 0xa9, 0xaa, 0x32, 0xdf, 0x9d, 0xf3, 0xeb, 0xf6, 0x9c, 0x2f, 0x66,
- 0x3e, 0x53, 0xbe, 0x43, 0x6d, 0x06, 0x36, 0x7c, 0xf3, 0x27, 0x00, 0x00, 0xff, 0xff, 0xd9, 0x00,
- 0xd5, 0x39, 0xf3, 0x02, 0x00, 0x00,
-}
diff --git a/vendor/github.com/opencord/voltha-protos/v2/go/common/common.pb.go b/vendor/github.com/opencord/voltha-protos/v3/go/common/common.pb.go
similarity index 69%
rename from vendor/github.com/opencord/voltha-protos/v2/go/common/common.pb.go
rename to vendor/github.com/opencord/voltha-protos/v3/go/common/common.pb.go
index 6c01eb8..96d2f34 100644
--- a/vendor/github.com/opencord/voltha-protos/v2/go/common/common.pb.go
+++ b/vendor/github.com/opencord/voltha-protos/v3/go/common/common.pb.go
@@ -43,18 +43,18 @@
}
// Logging verbosity level
-type LogLevel_LogLevel int32
+type LogLevel_Types int32
const (
- LogLevel_DEBUG LogLevel_LogLevel = 0
- LogLevel_INFO LogLevel_LogLevel = 1
- LogLevel_WARNING LogLevel_LogLevel = 2
- LogLevel_ERROR LogLevel_LogLevel = 3
- LogLevel_CRITICAL LogLevel_LogLevel = 4
- LogLevel_FATAL LogLevel_LogLevel = 5
+ LogLevel_DEBUG LogLevel_Types = 0
+ LogLevel_INFO LogLevel_Types = 1
+ LogLevel_WARNING LogLevel_Types = 2
+ LogLevel_ERROR LogLevel_Types = 3
+ LogLevel_CRITICAL LogLevel_Types = 4
+ LogLevel_FATAL LogLevel_Types = 5
)
-var LogLevel_LogLevel_name = map[int32]string{
+var LogLevel_Types_name = map[int32]string{
0: "DEBUG",
1: "INFO",
2: "WARNING",
@@ -63,7 +63,7 @@
5: "FATAL",
}
-var LogLevel_LogLevel_value = map[string]int32{
+var LogLevel_Types_value = map[string]int32{
"DEBUG": 0,
"INFO": 1,
"WARNING": 2,
@@ -72,34 +72,34 @@
"FATAL": 5,
}
-func (x LogLevel_LogLevel) String() string {
- return proto.EnumName(LogLevel_LogLevel_name, int32(x))
+func (x LogLevel_Types) String() string {
+ return proto.EnumName(LogLevel_Types_name, int32(x))
}
-func (LogLevel_LogLevel) EnumDescriptor() ([]byte, []int) {
+func (LogLevel_Types) EnumDescriptor() ([]byte, []int) {
return fileDescriptor_c2e3fd231961e826, []int{2, 0}
}
// Administrative State
-type AdminState_AdminState int32
+type AdminState_Types int32
const (
// The administrative state of the device is unknown
- AdminState_UNKNOWN AdminState_AdminState = 0
+ AdminState_UNKNOWN AdminState_Types = 0
// The device is pre-provisioned into Voltha, but not contacted by it
- AdminState_PREPROVISIONED AdminState_AdminState = 1
+ AdminState_PREPROVISIONED AdminState_Types = 1
// The device is enabled for activation and operation
- AdminState_ENABLED AdminState_AdminState = 2
+ AdminState_ENABLED AdminState_Types = 2
// The device is disabled and shall not perform its intended forwarding
// functions other than being available for re-activation.
- AdminState_DISABLED AdminState_AdminState = 3
+ AdminState_DISABLED AdminState_Types = 3
// The device is in the state of image download
- AdminState_DOWNLOADING_IMAGE AdminState_AdminState = 4
+ AdminState_DOWNLOADING_IMAGE AdminState_Types = 4
// The device is marked to be deleted
- AdminState_DELETED AdminState_AdminState = 5
+ AdminState_DELETED AdminState_Types = 5
)
-var AdminState_AdminState_name = map[int32]string{
+var AdminState_Types_name = map[int32]string{
0: "UNKNOWN",
1: "PREPROVISIONED",
2: "ENABLED",
@@ -108,7 +108,7 @@
5: "DELETED",
}
-var AdminState_AdminState_value = map[string]int32{
+var AdminState_Types_value = map[string]int32{
"UNKNOWN": 0,
"PREPROVISIONED": 1,
"ENABLED": 2,
@@ -117,33 +117,33 @@
"DELETED": 5,
}
-func (x AdminState_AdminState) String() string {
- return proto.EnumName(AdminState_AdminState_name, int32(x))
+func (x AdminState_Types) String() string {
+ return proto.EnumName(AdminState_Types_name, int32(x))
}
-func (AdminState_AdminState) EnumDescriptor() ([]byte, []int) {
+func (AdminState_Types) EnumDescriptor() ([]byte, []int) {
return fileDescriptor_c2e3fd231961e826, []int{6, 0}
}
// Operational Status
-type OperStatus_OperStatus int32
+type OperStatus_Types int32
const (
// The status of the device is unknown at this point
- OperStatus_UNKNOWN OperStatus_OperStatus = 0
+ OperStatus_UNKNOWN OperStatus_Types = 0
// The device has been discovered, but not yet activated
- OperStatus_DISCOVERED OperStatus_OperStatus = 1
+ OperStatus_DISCOVERED OperStatus_Types = 1
// The device is being activated (booted, rebooted, upgraded, etc.)
- OperStatus_ACTIVATING OperStatus_OperStatus = 2
+ OperStatus_ACTIVATING OperStatus_Types = 2
// Service impacting tests are being conducted
- OperStatus_TESTING OperStatus_OperStatus = 3
+ OperStatus_TESTING OperStatus_Types = 3
// The device is up and active
- OperStatus_ACTIVE OperStatus_OperStatus = 4
+ OperStatus_ACTIVE OperStatus_Types = 4
// The device has failed and cannot fulfill its intended role
- OperStatus_FAILED OperStatus_OperStatus = 5
+ OperStatus_FAILED OperStatus_Types = 5
)
-var OperStatus_OperStatus_name = map[int32]string{
+var OperStatus_Types_name = map[int32]string{
0: "UNKNOWN",
1: "DISCOVERED",
2: "ACTIVATING",
@@ -152,7 +152,7 @@
5: "FAILED",
}
-var OperStatus_OperStatus_value = map[string]int32{
+var OperStatus_Types_value = map[string]int32{
"UNKNOWN": 0,
"DISCOVERED": 1,
"ACTIVATING": 2,
@@ -161,43 +161,43 @@
"FAILED": 5,
}
-func (x OperStatus_OperStatus) String() string {
- return proto.EnumName(OperStatus_OperStatus_name, int32(x))
+func (x OperStatus_Types) String() string {
+ return proto.EnumName(OperStatus_Types_name, int32(x))
}
-func (OperStatus_OperStatus) EnumDescriptor() ([]byte, []int) {
+func (OperStatus_Types) EnumDescriptor() ([]byte, []int) {
return fileDescriptor_c2e3fd231961e826, []int{7, 0}
}
// Connectivity Status
-type ConnectStatus_ConnectStatus int32
+type ConnectStatus_Types int32
const (
// The device connectivity status is unknown
- ConnectStatus_UNKNOWN ConnectStatus_ConnectStatus = 0
+ ConnectStatus_UNKNOWN ConnectStatus_Types = 0
// The device cannot be reached by Voltha
- ConnectStatus_UNREACHABLE ConnectStatus_ConnectStatus = 1
+ ConnectStatus_UNREACHABLE ConnectStatus_Types = 1
// There is live communication between device and Voltha
- ConnectStatus_REACHABLE ConnectStatus_ConnectStatus = 2
+ ConnectStatus_REACHABLE ConnectStatus_Types = 2
)
-var ConnectStatus_ConnectStatus_name = map[int32]string{
+var ConnectStatus_Types_name = map[int32]string{
0: "UNKNOWN",
1: "UNREACHABLE",
2: "REACHABLE",
}
-var ConnectStatus_ConnectStatus_value = map[string]int32{
+var ConnectStatus_Types_value = map[string]int32{
"UNKNOWN": 0,
"UNREACHABLE": 1,
"REACHABLE": 2,
}
-func (x ConnectStatus_ConnectStatus) String() string {
- return proto.EnumName(ConnectStatus_ConnectStatus_name, int32(x))
+func (x ConnectStatus_Types) String() string {
+ return proto.EnumName(ConnectStatus_Types_name, int32(x))
}
-func (ConnectStatus_ConnectStatus) EnumDescriptor() ([]byte, []int) {
+func (ConnectStatus_Types) EnumDescriptor() ([]byte, []int) {
return fileDescriptor_c2e3fd231961e826, []int{8, 0}
}
@@ -341,12 +341,12 @@
var xxx_messageInfo_LogLevel proto.InternalMessageInfo
type Logging struct {
- Level LogLevel_LogLevel `protobuf:"varint,1,opt,name=level,proto3,enum=common.LogLevel_LogLevel" json:"level,omitempty"`
- PackageName string `protobuf:"bytes,2,opt,name=package_name,json=packageName,proto3" json:"package_name,omitempty"`
- ComponentName string `protobuf:"bytes,3,opt,name=component_name,json=componentName,proto3" json:"component_name,omitempty"`
- XXX_NoUnkeyedLiteral struct{} `json:"-"`
- XXX_unrecognized []byte `json:"-"`
- XXX_sizecache int32 `json:"-"`
+ Level LogLevel_Types `protobuf:"varint,1,opt,name=level,proto3,enum=common.LogLevel_Types" json:"level,omitempty"`
+ PackageName string `protobuf:"bytes,2,opt,name=package_name,json=packageName,proto3" json:"package_name,omitempty"`
+ ComponentName string `protobuf:"bytes,3,opt,name=component_name,json=componentName,proto3" json:"component_name,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
}
func (m *Logging) Reset() { *m = Logging{} }
@@ -374,7 +374,7 @@
var xxx_messageInfo_Logging proto.InternalMessageInfo
-func (m *Logging) GetLevel() LogLevel_LogLevel {
+func (m *Logging) GetLevel() LogLevel_Types {
if m != nil {
return m.Level
}
@@ -619,10 +619,10 @@
func init() {
proto.RegisterEnum("common.TestModeKeys", TestModeKeys_name, TestModeKeys_value)
- proto.RegisterEnum("common.LogLevel_LogLevel", LogLevel_LogLevel_name, LogLevel_LogLevel_value)
- proto.RegisterEnum("common.AdminState_AdminState", AdminState_AdminState_name, AdminState_AdminState_value)
- proto.RegisterEnum("common.OperStatus_OperStatus", OperStatus_OperStatus_name, OperStatus_OperStatus_value)
- proto.RegisterEnum("common.ConnectStatus_ConnectStatus", ConnectStatus_ConnectStatus_name, ConnectStatus_ConnectStatus_value)
+ proto.RegisterEnum("common.LogLevel_Types", LogLevel_Types_name, LogLevel_Types_value)
+ proto.RegisterEnum("common.AdminState_Types", AdminState_Types_name, AdminState_Types_value)
+ proto.RegisterEnum("common.OperStatus_Types", OperStatus_Types_name, OperStatus_Types_value)
+ proto.RegisterEnum("common.ConnectStatus_Types", ConnectStatus_Types_name, ConnectStatus_Types_value)
proto.RegisterEnum("common.OperationResp_OperationReturnCode", OperationResp_OperationReturnCode_name, OperationResp_OperationReturnCode_value)
proto.RegisterType((*ID)(nil), "common.ID")
proto.RegisterType((*IDs)(nil), "common.IDs")
@@ -639,47 +639,45 @@
func init() { proto.RegisterFile("voltha_protos/common.proto", fileDescriptor_c2e3fd231961e826) }
var fileDescriptor_c2e3fd231961e826 = []byte{
- // 663 bytes of a gzipped FileDescriptorProto
- 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x6c, 0x54, 0xcd, 0x4e, 0xdb, 0x4c,
- 0x14, 0x8d, 0xf3, 0x07, 0xdc, 0x90, 0xe0, 0x6f, 0xbe, 0x22, 0x01, 0x6a, 0xa5, 0xd4, 0x12, 0x82,
- 0x56, 0x2a, 0x69, 0xe9, 0xaa, 0x55, 0xbb, 0x30, 0xf6, 0x90, 0x8e, 0x30, 0xe3, 0x68, 0xec, 0x80,
- 0xd4, 0x05, 0x91, 0x89, 0x07, 0x63, 0x35, 0x99, 0xb1, 0x62, 0x83, 0xc4, 0xb2, 0x52, 0x5f, 0xaf,
- 0xaf, 0xd0, 0x67, 0xe8, 0xaa, 0xeb, 0x6a, 0x6c, 0x87, 0x24, 0x15, 0x3b, 0x9f, 0x33, 0xe7, 0xfa,
- 0xdc, 0x7b, 0xee, 0x68, 0x60, 0xef, 0x5e, 0x4e, 0xb2, 0xdb, 0x60, 0x94, 0xcc, 0x64, 0x26, 0xd3,
- 0xde, 0x58, 0x4e, 0xa7, 0x52, 0x1c, 0xe5, 0x08, 0x35, 0x0b, 0xb4, 0xd7, 0x5d, 0xd5, 0x3c, 0x04,
- 0x22, 0x1a, 0xc9, 0x24, 0x8b, 0xa5, 0x48, 0x0b, 0xa5, 0xf1, 0x0c, 0xaa, 0xc4, 0x46, 0x1d, 0xa8,
- 0xc6, 0xe1, 0x8e, 0xd6, 0xd5, 0x0e, 0x37, 0x58, 0x35, 0x0e, 0x8d, 0x03, 0xa8, 0x11, 0x3b, 0x45,
- 0x5d, 0x68, 0xc4, 0x19, 0x9f, 0xa6, 0x3b, 0x5a, 0xb7, 0x76, 0xd8, 0x3a, 0x86, 0xa3, 0xd2, 0x84,
- 0xd8, 0xac, 0x38, 0x30, 0xc6, 0xb0, 0xee, 0xc8, 0xc8, 0xe1, 0xf7, 0x7c, 0x62, 0x0c, 0x16, 0xdf,
- 0x68, 0x03, 0x1a, 0x36, 0x3e, 0x19, 0xf6, 0xf5, 0x0a, 0x5a, 0x87, 0x3a, 0xa1, 0xa7, 0xae, 0xae,
- 0xa1, 0x16, 0xac, 0x5d, 0x9a, 0x8c, 0x12, 0xda, 0xd7, 0xab, 0x4a, 0x81, 0x19, 0x73, 0x99, 0x5e,
- 0x43, 0x9b, 0xb0, 0x6e, 0x31, 0xe2, 0x13, 0xcb, 0x74, 0xf4, 0xba, 0x3a, 0x38, 0x35, 0x7d, 0xd3,
- 0xd1, 0x1b, 0x1f, 0x1b, 0xbf, 0xff, 0xfc, 0x7c, 0x51, 0x31, 0x7e, 0x68, 0xb0, 0xe6, 0xc8, 0x28,
- 0x8a, 0x45, 0x84, 0x7a, 0xd0, 0x98, 0x28, 0x87, 0xbc, 0xd9, 0xce, 0xf1, 0xee, 0xbc, 0xa5, 0xb9,
- 0xf3, 0xe3, 0x07, 0x2b, 0x74, 0xe8, 0x25, 0x6c, 0x26, 0xc1, 0xf8, 0x5b, 0x10, 0xf1, 0x91, 0x08,
- 0xa6, 0x7c, 0xa7, 0x9a, 0x0f, 0xd9, 0x2a, 0x39, 0x1a, 0x4c, 0x39, 0xda, 0x87, 0xce, 0x58, 0x4e,
- 0x13, 0x29, 0xb8, 0xc8, 0x0a, 0x51, 0x2d, 0x17, 0xb5, 0x1f, 0x59, 0x25, 0x33, 0x3e, 0x80, 0x5e,
- 0x76, 0x61, 0xcd, 0xf9, 0x27, 0x4a, 0xb5, 0xa7, 0x4a, 0xdf, 0xe5, 0xd1, 0xa8, 0xd2, 0x14, 0xed,
- 0xaf, 0x86, 0xba, 0xb5, 0x34, 0x81, 0x12, 0xcc, 0x93, 0xfd, 0xae, 0x01, 0x98, 0xe1, 0x34, 0x16,
- 0x5e, 0x16, 0x64, 0xdc, 0x98, 0x2c, 0x23, 0x95, 0xe4, 0x90, 0x9e, 0x51, 0xf7, 0x92, 0xea, 0x15,
- 0x84, 0xa0, 0x33, 0x60, 0x78, 0xc0, 0xdc, 0x0b, 0xe2, 0x11, 0x97, 0x62, 0xbb, 0x88, 0x1a, 0x53,
- 0xf3, 0xc4, 0xc1, 0xb6, 0x5e, 0x55, 0xf9, 0xda, 0xc4, 0x2b, 0x50, 0x0d, 0x6d, 0xc3, 0x7f, 0xb6,
- 0x7b, 0x49, 0x1d, 0xd7, 0xb4, 0x09, 0xed, 0x8f, 0xc8, 0xb9, 0xd9, 0xc7, 0x7a, 0x5d, 0x55, 0xd8,
- 0xd8, 0xc1, 0x3e, 0xb6, 0x17, 0xc1, 0xa7, 0x00, 0x6e, 0xc2, 0x67, 0xca, 0xf3, 0x2e, 0x35, 0xae,
- 0x96, 0xd1, 0x6a, 0x0b, 0x1d, 0x00, 0x9b, 0x78, 0x96, 0x7b, 0x81, 0x59, 0x6e, 0xdf, 0x01, 0x30,
- 0x2d, 0x9f, 0x5c, 0x98, 0x7e, 0xb1, 0xec, 0x16, 0xac, 0xf9, 0xd8, 0xcb, 0x41, 0x0d, 0x01, 0x34,
- 0xf3, 0x43, 0xe5, 0x0a, 0xd0, 0x3c, 0x35, 0x89, 0xb3, 0x6c, 0xea, 0x43, 0xdb, 0x92, 0x42, 0xf0,
- 0x71, 0x56, 0xfa, 0x7e, 0xfa, 0x87, 0x58, 0xb5, 0xde, 0x82, 0xd6, 0x90, 0x32, 0x6c, 0x5a, 0x5f,
- 0xd4, 0x80, 0xba, 0x86, 0xda, 0xb0, 0xb1, 0x80, 0xd5, 0xf9, 0x5f, 0x7f, 0x69, 0xd0, 0x56, 0xdd,
- 0x07, 0xea, 0xf2, 0x33, 0x9e, 0x26, 0xe8, 0x33, 0xd4, 0xc7, 0x32, 0xe4, 0xe5, 0x45, 0x7a, 0x35,
- 0x5f, 0xc3, 0x8a, 0x68, 0x19, 0x65, 0x77, 0x33, 0x61, 0xc9, 0x90, 0xb3, 0xbc, 0x0c, 0x1d, 0xc0,
- 0x56, 0x10, 0x86, 0xb1, 0x3a, 0x0b, 0x26, 0xa3, 0x58, 0xdc, 0xc8, 0xf2, 0x6a, 0x75, 0x16, 0x34,
- 0x11, 0x37, 0xd2, 0xb8, 0x82, 0xff, 0x9f, 0xf8, 0x8b, 0x5a, 0x83, 0x3b, 0xc0, 0xcc, 0xf4, 0x89,
- 0x4b, 0x47, 0xde, 0xd0, 0xb2, 0xb0, 0xe7, 0xe9, 0x95, 0x55, 0x5a, 0x45, 0x33, 0x64, 0x6a, 0xa8,
- 0x5d, 0xd8, 0x5e, 0xd0, 0x43, 0xea, 0x0d, 0x07, 0x03, 0x97, 0xa9, 0x5d, 0xcd, 0x07, 0x7c, 0xfd,
- 0x1c, 0x36, 0x7d, 0x9e, 0x66, 0xe7, 0x32, 0xe4, 0x67, 0xfc, 0x21, 0x55, 0x4b, 0x0f, 0x92, 0x78,
- 0x94, 0xf1, 0x34, 0xd3, 0x2b, 0x27, 0x6f, 0xbf, 0x1e, 0x45, 0x71, 0x76, 0x7b, 0x77, 0xad, 0xc6,
- 0xec, 0xc9, 0x84, 0x8b, 0xb1, 0x9c, 0x85, 0xbd, 0xe2, 0x79, 0x78, 0x53, 0x3e, 0x0f, 0xf7, 0xc7,
- 0xbd, 0x48, 0x96, 0x0f, 0xc9, 0x75, 0x33, 0x27, 0xdf, 0xff, 0x0d, 0x00, 0x00, 0xff, 0xff, 0xd8,
- 0x9c, 0x7c, 0xa7, 0x67, 0x04, 0x00, 0x00,
+ // 640 bytes of a gzipped FileDescriptorProto
+ 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x6c, 0x53, 0x5d, 0x4f, 0xdb, 0x4a,
+ 0x10, 0x8d, 0x9d, 0x2f, 0x98, 0x90, 0xb0, 0x77, 0xb9, 0x5c, 0x71, 0xab, 0x3e, 0x50, 0x4b, 0x08,
+ 0x5a, 0xb5, 0x89, 0x0a, 0x7d, 0xe9, 0x43, 0x1f, 0x8c, 0xbd, 0xa4, 0x2b, 0xcc, 0x3a, 0x5a, 0x3b,
+ 0xa0, 0xf6, 0xa1, 0x91, 0x89, 0x17, 0x63, 0x35, 0xf1, 0x5a, 0xb1, 0x83, 0xc4, 0x63, 0x7f, 0x65,
+ 0xff, 0x4e, 0xb5, 0xfe, 0x28, 0x20, 0xe5, 0x71, 0xce, 0x9c, 0xd9, 0x33, 0x73, 0x66, 0x07, 0x5e,
+ 0x3d, 0xc8, 0x45, 0x7e, 0x1f, 0xcc, 0xd2, 0x95, 0xcc, 0x65, 0x36, 0x9a, 0xcb, 0xe5, 0x52, 0x26,
+ 0xc3, 0x22, 0xc2, 0x9d, 0x32, 0x32, 0xfe, 0x05, 0x9d, 0xda, 0x78, 0x00, 0x7a, 0x1c, 0x1e, 0x68,
+ 0x87, 0xda, 0xc9, 0x36, 0xd7, 0xe3, 0xd0, 0x38, 0x86, 0x26, 0xb5, 0x33, 0x7c, 0x08, 0xed, 0x38,
+ 0x17, 0xcb, 0xec, 0x40, 0x3b, 0x6c, 0x9e, 0xf4, 0x4e, 0x61, 0x58, 0x3d, 0x41, 0x6d, 0x5e, 0x26,
+ 0x8c, 0x6f, 0xb0, 0xe5, 0xc8, 0xc8, 0x11, 0x0f, 0x62, 0x61, 0x5c, 0x41, 0xdb, 0x7f, 0x4c, 0x45,
+ 0x86, 0xb7, 0xa1, 0x6d, 0x93, 0xf3, 0xe9, 0x18, 0x35, 0xf0, 0x16, 0xb4, 0x28, 0xbb, 0x70, 0x91,
+ 0x86, 0x7b, 0xd0, 0xbd, 0x31, 0x39, 0xa3, 0x6c, 0x8c, 0x74, 0xc5, 0x20, 0x9c, 0xbb, 0x1c, 0x35,
+ 0xf1, 0x0e, 0x6c, 0x59, 0x9c, 0xfa, 0xd4, 0x32, 0x1d, 0xd4, 0x52, 0x89, 0x0b, 0xd3, 0x37, 0x1d,
+ 0xd4, 0x36, 0x7e, 0x69, 0xd0, 0x75, 0x64, 0x14, 0xc5, 0x49, 0x84, 0xdf, 0x43, 0x7b, 0xa1, 0x34,
+ 0x8a, 0x16, 0x07, 0xa7, 0xff, 0xd5, 0x8d, 0xd4, 0xda, 0xc3, 0x42, 0x98, 0x97, 0x24, 0xfc, 0x06,
+ 0x76, 0xd2, 0x60, 0xfe, 0x33, 0x88, 0xc4, 0x2c, 0x09, 0x96, 0xe2, 0x40, 0x2f, 0xe6, 0xea, 0x55,
+ 0x18, 0x0b, 0x96, 0x02, 0x1f, 0xc1, 0x60, 0x2e, 0x97, 0xa9, 0x4c, 0x44, 0x92, 0x97, 0xa4, 0x66,
+ 0x41, 0xea, 0xff, 0x45, 0x15, 0xcd, 0xf8, 0x0c, 0xa8, 0x6a, 0xc1, 0xaa, 0xf1, 0x0d, 0xa5, 0xda,
+ 0xa6, 0xd2, 0x8f, 0x85, 0x33, 0xaa, 0x34, 0xc3, 0x47, 0x2f, 0x7d, 0xdc, 0x7d, 0xd6, 0xbe, 0x22,
+ 0xd4, 0x66, 0xae, 0x01, 0xcc, 0x70, 0x19, 0x27, 0x5e, 0x1e, 0xe4, 0xc2, 0x88, 0x6a, 0x3b, 0x7b,
+ 0xd0, 0x9d, 0xb2, 0x4b, 0xe6, 0xde, 0x30, 0xd4, 0xc0, 0x18, 0x06, 0x13, 0x4e, 0x26, 0xdc, 0xbd,
+ 0xa6, 0x1e, 0x75, 0x19, 0xb1, 0x4b, 0x6b, 0x09, 0x33, 0xcf, 0x1d, 0x62, 0x23, 0x5d, 0xf9, 0x69,
+ 0x53, 0xaf, 0x8c, 0x9a, 0x78, 0x1f, 0xfe, 0xb1, 0xdd, 0x1b, 0xe6, 0xb8, 0xa6, 0x4d, 0xd9, 0x78,
+ 0x46, 0xaf, 0xcc, 0x31, 0x41, 0x2d, 0x55, 0x61, 0x13, 0x87, 0xf8, 0xc4, 0x46, 0x6d, 0x23, 0x02,
+ 0x70, 0x53, 0xb1, 0x52, 0xaa, 0x6b, 0xb5, 0xd1, 0x4d, 0xb2, 0x03, 0x00, 0x9b, 0x7a, 0x96, 0x7b,
+ 0x4d, 0x78, 0x21, 0x39, 0x00, 0x30, 0x2d, 0x9f, 0x5e, 0x9b, 0x7e, 0xb9, 0xd0, 0x1e, 0x74, 0x7d,
+ 0xe2, 0x15, 0x41, 0x13, 0x03, 0x74, 0x8a, 0xa4, 0x52, 0x02, 0xe8, 0x5c, 0x98, 0xd4, 0x29, 0x84,
+ 0x08, 0xf4, 0x2d, 0x99, 0x24, 0x62, 0x9e, 0x57, 0x5a, 0x9f, 0x36, 0x6a, 0xed, 0x42, 0x6f, 0xca,
+ 0x38, 0x31, 0xad, 0xaf, 0x6a, 0x0a, 0xa4, 0xe1, 0x3e, 0x6c, 0x3f, 0x85, 0xba, 0xf1, 0x5b, 0x83,
+ 0xbe, 0x6a, 0x38, 0xc8, 0x63, 0x99, 0x70, 0x91, 0xa5, 0xf8, 0x0b, 0xb4, 0xe6, 0x32, 0x14, 0xd5,
+ 0xef, 0x78, 0x5b, 0xdb, 0xfb, 0x82, 0xf4, 0x3c, 0xca, 0xd7, 0xab, 0xc4, 0x92, 0xa1, 0xe0, 0x45,
+ 0x19, 0x3e, 0x86, 0xdd, 0x20, 0x0c, 0x63, 0x95, 0x0b, 0x16, 0xb3, 0x38, 0xb9, 0x93, 0xd5, 0x97,
+ 0x19, 0x3c, 0xc1, 0x34, 0xb9, 0x93, 0xc6, 0x0f, 0xd8, 0xdb, 0xf0, 0x8a, 0x32, 0xd9, 0x9d, 0x10,
+ 0x6e, 0xfa, 0xd4, 0x65, 0x33, 0x6f, 0x6a, 0x59, 0xc4, 0xf3, 0x50, 0xe3, 0x25, 0xac, 0x4c, 0x98,
+ 0x72, 0x35, 0xcd, 0xff, 0xb0, 0xff, 0x04, 0x4f, 0x99, 0x37, 0x9d, 0x4c, 0x5c, 0xae, 0x36, 0xa1,
+ 0xbf, 0x7b, 0x0d, 0x3b, 0xbe, 0xc8, 0xf2, 0x2b, 0x19, 0x8a, 0x4b, 0xf1, 0x98, 0xa9, 0x5d, 0x06,
+ 0x69, 0x3c, 0xcb, 0x45, 0x96, 0xa3, 0xc6, 0x39, 0x81, 0x3d, 0xb9, 0x8a, 0x86, 0x32, 0x15, 0xc9,
+ 0x5c, 0xae, 0xc2, 0x61, 0x79, 0xdd, 0xdf, 0x87, 0x51, 0x9c, 0xdf, 0xaf, 0x6f, 0xd5, 0xd0, 0xa3,
+ 0x3a, 0x37, 0x2a, 0x73, 0x1f, 0xaa, 0xcb, 0x7f, 0x38, 0x1b, 0x45, 0xb2, 0xba, 0xff, 0xdb, 0x4e,
+ 0x01, 0x9e, 0xfd, 0x09, 0x00, 0x00, 0xff, 0xff, 0x80, 0xbf, 0xca, 0x42, 0x1e, 0x04, 0x00, 0x00,
}
diff --git a/vendor/github.com/opencord/voltha-protos/v2/go/common/meta.pb.go b/vendor/github.com/opencord/voltha-protos/v3/go/common/meta.pb.go
similarity index 68%
rename from vendor/github.com/opencord/voltha-protos/v2/go/common/meta.pb.go
rename to vendor/github.com/opencord/voltha-protos/v3/go/common/meta.pb.go
index 1df5cca..8fbd621 100644
--- a/vendor/github.com/opencord/voltha-protos/v2/go/common/meta.pb.go
+++ b/vendor/github.com/opencord/voltha-protos/v3/go/common/meta.pb.go
@@ -120,23 +120,23 @@
func init() { proto.RegisterFile("voltha_protos/meta.proto", fileDescriptor_96b320e8a67781f3) }
var fileDescriptor_96b320e8a67781f3 = []byte{
- // 273 bytes of a gzipped FileDescriptorProto
- 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x84, 0x90, 0x41, 0x4b, 0x84, 0x40,
- 0x18, 0x86, 0xb3, 0x05, 0xc1, 0x2f, 0x5a, 0xcc, 0x93, 0x04, 0x0b, 0xd2, 0x69, 0x09, 0x9a, 0x09,
- 0xbb, 0xed, 0x6d, 0xdb, 0x76, 0x6b, 0x61, 0x53, 0x90, 0x2e, 0x75, 0x11, 0x1d, 0x27, 0x1d, 0x52,
- 0x3f, 0x71, 0x66, 0x17, 0xfa, 0xa9, 0x5d, 0xfa, 0x05, 0xf5, 0x1f, 0x42, 0x47, 0xbb, 0xee, 0xed,
- 0x9d, 0x77, 0xde, 0x79, 0x78, 0x18, 0x70, 0x0f, 0x58, 0xaa, 0x22, 0x89, 0x9b, 0x16, 0x15, 0x4a,
- 0x5a, 0x71, 0x95, 0x90, 0x3e, 0x3b, 0xa6, 0xbe, 0xb9, 0xf4, 0x72, 0xc4, 0xbc, 0xe4, 0xb4, 0x6f,
- 0xd3, 0xfd, 0x3b, 0xcd, 0xb8, 0x64, 0xad, 0x68, 0x14, 0xb6, 0x7a, 0x79, 0x35, 0x03, 0x6b, 0x55,
- 0x88, 0x32, 0x0b, 0x30, 0xe3, 0x8e, 0x0d, 0x93, 0x0f, 0xfe, 0xe9, 0x1a, 0x9e, 0x31, 0xb7, 0xa2,
- 0x2e, 0x5e, 0xfb, 0x60, 0x2e, 0x19, 0xe3, 0x52, 0x3a, 0x00, 0xe6, 0x2a, 0x0c, 0x36, 0xdb, 0x47,
- 0xfb, 0xc4, 0x39, 0x07, 0x2b, 0x5a, 0x2f, 0x1f, 0xe2, 0x30, 0xd8, 0xbd, 0xda, 0xc6, 0x70, 0xdc,
- 0xc5, 0x2f, 0xdb, 0xe7, 0xb5, 0x7d, 0xba, 0x88, 0x00, 0x58, 0x87, 0x8c, 0xeb, 0x8e, 0x39, 0x23,
- 0xda, 0x81, 0x8c, 0x0e, 0x64, 0x23, 0x78, 0x99, 0x85, 0x8d, 0x12, 0x58, 0x4b, 0xf7, 0xe7, 0xfb,
- 0x6b, 0xe2, 0x19, 0xf3, 0x33, 0xff, 0x82, 0x68, 0x67, 0xf2, 0xaf, 0x13, 0x59, 0x6c, 0x8c, 0x8b,
- 0x27, 0x30, 0x13, 0xed, 0x71, 0x84, 0xf7, 0xab, 0x79, 0x53, 0x7f, 0x3a, 0xf2, 0xb4, 0x7f, 0x34,
- 0xbc, 0xbf, 0xbf, 0x7d, 0x23, 0xb9, 0x50, 0xc5, 0x3e, 0x25, 0x0c, 0x2b, 0x8a, 0x0d, 0xaf, 0x19,
- 0xb6, 0x19, 0xd5, 0xe3, 0x9b, 0xe1, 0x2b, 0x0f, 0x3e, 0xcd, 0x91, 0x32, 0xac, 0x2a, 0xac, 0x53,
- 0xb3, 0x2f, 0xef, 0xfe, 0x02, 0x00, 0x00, 0xff, 0xff, 0x1f, 0x75, 0x11, 0xd9, 0x6f, 0x01, 0x00,
- 0x00,
+ // 281 bytes of a gzipped FileDescriptorProto
+ 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x84, 0x90, 0xc1, 0x4a, 0xc3, 0x40,
+ 0x10, 0x86, 0x8d, 0x85, 0x40, 0x46, 0x2c, 0x31, 0xa7, 0x52, 0x28, 0x04, 0x4f, 0x45, 0x70, 0x17,
+ 0xd2, 0x5b, 0x6f, 0xb5, 0xb6, 0x5a, 0x88, 0x09, 0x04, 0x2f, 0x7a, 0x09, 0xc9, 0x66, 0x4d, 0x82,
+ 0x49, 0x26, 0x64, 0xb7, 0x05, 0x1f, 0xd5, 0x8b, 0x4f, 0xa0, 0xef, 0x20, 0xc9, 0x66, 0xbd, 0x7a,
+ 0xfb, 0x67, 0xf6, 0xdf, 0x8f, 0x8f, 0x81, 0xd9, 0x09, 0x2b, 0x59, 0x24, 0x71, 0xdb, 0xa1, 0x44,
+ 0x41, 0x6b, 0x2e, 0x13, 0x32, 0x64, 0xc7, 0x54, 0x2f, 0x73, 0x37, 0x47, 0xcc, 0x2b, 0x4e, 0x87,
+ 0x6d, 0x7a, 0x7c, 0xa3, 0x19, 0x17, 0xac, 0x2b, 0x5b, 0x89, 0x9d, 0x6a, 0x5e, 0x2f, 0xc0, 0xda,
+ 0x16, 0x65, 0x95, 0x05, 0x98, 0x71, 0xc7, 0x86, 0xc9, 0x3b, 0xff, 0x98, 0x19, 0xae, 0xb1, 0xb4,
+ 0xa2, 0x3e, 0xde, 0x78, 0x60, 0x6e, 0x18, 0xe3, 0x42, 0x38, 0x00, 0xe6, 0x36, 0x0c, 0xf6, 0x87,
+ 0x07, 0xfb, 0xcc, 0xb9, 0x04, 0x2b, 0xda, 0x6d, 0xee, 0xe3, 0x30, 0xf0, 0x5f, 0x6c, 0x63, 0x1c,
+ 0xfd, 0xf8, 0xf9, 0xf0, 0xb4, 0xb3, 0xcf, 0xd7, 0x11, 0x00, 0xeb, 0x91, 0x71, 0xd3, 0x33, 0x17,
+ 0x44, 0x39, 0x10, 0xed, 0x40, 0xf6, 0x25, 0xaf, 0xb2, 0xb0, 0x95, 0x25, 0x36, 0x62, 0xf6, 0xfd,
+ 0xf5, 0x39, 0x71, 0x8d, 0xe5, 0x85, 0x77, 0x45, 0x94, 0x33, 0xf9, 0xd3, 0x89, 0x2c, 0xa6, 0xe3,
+ 0xfa, 0x11, 0xcc, 0x44, 0x79, 0xfc, 0xc3, 0xfb, 0x51, 0xbc, 0xa9, 0x37, 0xd5, 0x3c, 0xe5, 0x1f,
+ 0x8d, 0xff, 0xef, 0x7c, 0x98, 0x63, 0x97, 0x13, 0x6c, 0x79, 0xc3, 0xb0, 0xcb, 0x74, 0x8b, 0x61,
+ 0x5d, 0x63, 0xf3, 0x4a, 0xf2, 0x52, 0x16, 0xc7, 0xb4, 0x1f, 0xa9, 0xae, 0x50, 0x55, 0xb9, 0x1d,
+ 0xcf, 0x7c, 0x5a, 0xd1, 0x1c, 0xa9, 0xea, 0xa7, 0xe6, 0xb0, 0x5c, 0xfd, 0x06, 0x00, 0x00, 0xff,
+ 0xff, 0x45, 0x61, 0x57, 0xbf, 0x8b, 0x01, 0x00, 0x00,
}
diff --git a/vendor/github.com/opencord/voltha-protos/v2/go/inter_container/inter_container.pb.go b/vendor/github.com/opencord/voltha-protos/v3/go/inter_container/inter_container.pb.go
similarity index 80%
rename from vendor/github.com/opencord/voltha-protos/v2/go/inter_container/inter_container.pb.go
rename to vendor/github.com/opencord/voltha-protos/v3/go/inter_container/inter_container.pb.go
index 56bfd36..120a94b 100644
--- a/vendor/github.com/opencord/voltha-protos/v2/go/inter_container/inter_container.pb.go
+++ b/vendor/github.com/opencord/voltha-protos/v3/go/inter_container/inter_container.pb.go
@@ -7,9 +7,9 @@
fmt "fmt"
proto "github.com/golang/protobuf/proto"
any "github.com/golang/protobuf/ptypes/any"
- common "github.com/opencord/voltha-protos/v2/go/common"
- openflow_13 "github.com/opencord/voltha-protos/v2/go/openflow_13"
- voltha "github.com/opencord/voltha-protos/v2/go/voltha"
+ common "github.com/opencord/voltha-protos/v3/go/common"
+ openflow_13 "github.com/opencord/voltha-protos/v3/go/openflow_13"
+ voltha "github.com/opencord/voltha-protos/v3/go/voltha"
math "math"
)
@@ -62,54 +62,54 @@
const TestModeKeys_api_test = TestModeKeys(common.TestModeKeys_api_test)
-// LogLevel_LogLevel from public import voltha_protos/common.proto
-type LogLevel_LogLevel = common.LogLevel_LogLevel
+// LogLevel_Types from public import voltha_protos/common.proto
+type LogLevel_Types = common.LogLevel_Types
-var LogLevel_LogLevel_name = common.LogLevel_LogLevel_name
-var LogLevel_LogLevel_value = common.LogLevel_LogLevel_value
+var LogLevel_Types_name = common.LogLevel_Types_name
+var LogLevel_Types_value = common.LogLevel_Types_value
-const LogLevel_DEBUG = LogLevel_LogLevel(common.LogLevel_DEBUG)
-const LogLevel_INFO = LogLevel_LogLevel(common.LogLevel_INFO)
-const LogLevel_WARNING = LogLevel_LogLevel(common.LogLevel_WARNING)
-const LogLevel_ERROR = LogLevel_LogLevel(common.LogLevel_ERROR)
-const LogLevel_CRITICAL = LogLevel_LogLevel(common.LogLevel_CRITICAL)
-const LogLevel_FATAL = LogLevel_LogLevel(common.LogLevel_FATAL)
+const LogLevel_DEBUG = LogLevel_Types(common.LogLevel_DEBUG)
+const LogLevel_INFO = LogLevel_Types(common.LogLevel_INFO)
+const LogLevel_WARNING = LogLevel_Types(common.LogLevel_WARNING)
+const LogLevel_ERROR = LogLevel_Types(common.LogLevel_ERROR)
+const LogLevel_CRITICAL = LogLevel_Types(common.LogLevel_CRITICAL)
+const LogLevel_FATAL = LogLevel_Types(common.LogLevel_FATAL)
-// AdminState_AdminState from public import voltha_protos/common.proto
-type AdminState_AdminState = common.AdminState_AdminState
+// AdminState_Types from public import voltha_protos/common.proto
+type AdminState_Types = common.AdminState_Types
-var AdminState_AdminState_name = common.AdminState_AdminState_name
-var AdminState_AdminState_value = common.AdminState_AdminState_value
+var AdminState_Types_name = common.AdminState_Types_name
+var AdminState_Types_value = common.AdminState_Types_value
-const AdminState_UNKNOWN = AdminState_AdminState(common.AdminState_UNKNOWN)
-const AdminState_PREPROVISIONED = AdminState_AdminState(common.AdminState_PREPROVISIONED)
-const AdminState_ENABLED = AdminState_AdminState(common.AdminState_ENABLED)
-const AdminState_DISABLED = AdminState_AdminState(common.AdminState_DISABLED)
-const AdminState_DOWNLOADING_IMAGE = AdminState_AdminState(common.AdminState_DOWNLOADING_IMAGE)
-const AdminState_DELETED = AdminState_AdminState(common.AdminState_DELETED)
+const AdminState_UNKNOWN = AdminState_Types(common.AdminState_UNKNOWN)
+const AdminState_PREPROVISIONED = AdminState_Types(common.AdminState_PREPROVISIONED)
+const AdminState_ENABLED = AdminState_Types(common.AdminState_ENABLED)
+const AdminState_DISABLED = AdminState_Types(common.AdminState_DISABLED)
+const AdminState_DOWNLOADING_IMAGE = AdminState_Types(common.AdminState_DOWNLOADING_IMAGE)
+const AdminState_DELETED = AdminState_Types(common.AdminState_DELETED)
-// OperStatus_OperStatus from public import voltha_protos/common.proto
-type OperStatus_OperStatus = common.OperStatus_OperStatus
+// OperStatus_Types from public import voltha_protos/common.proto
+type OperStatus_Types = common.OperStatus_Types
-var OperStatus_OperStatus_name = common.OperStatus_OperStatus_name
-var OperStatus_OperStatus_value = common.OperStatus_OperStatus_value
+var OperStatus_Types_name = common.OperStatus_Types_name
+var OperStatus_Types_value = common.OperStatus_Types_value
-const OperStatus_UNKNOWN = OperStatus_OperStatus(common.OperStatus_UNKNOWN)
-const OperStatus_DISCOVERED = OperStatus_OperStatus(common.OperStatus_DISCOVERED)
-const OperStatus_ACTIVATING = OperStatus_OperStatus(common.OperStatus_ACTIVATING)
-const OperStatus_TESTING = OperStatus_OperStatus(common.OperStatus_TESTING)
-const OperStatus_ACTIVE = OperStatus_OperStatus(common.OperStatus_ACTIVE)
-const OperStatus_FAILED = OperStatus_OperStatus(common.OperStatus_FAILED)
+const OperStatus_UNKNOWN = OperStatus_Types(common.OperStatus_UNKNOWN)
+const OperStatus_DISCOVERED = OperStatus_Types(common.OperStatus_DISCOVERED)
+const OperStatus_ACTIVATING = OperStatus_Types(common.OperStatus_ACTIVATING)
+const OperStatus_TESTING = OperStatus_Types(common.OperStatus_TESTING)
+const OperStatus_ACTIVE = OperStatus_Types(common.OperStatus_ACTIVE)
+const OperStatus_FAILED = OperStatus_Types(common.OperStatus_FAILED)
-// ConnectStatus_ConnectStatus from public import voltha_protos/common.proto
-type ConnectStatus_ConnectStatus = common.ConnectStatus_ConnectStatus
+// ConnectStatus_Types from public import voltha_protos/common.proto
+type ConnectStatus_Types = common.ConnectStatus_Types
-var ConnectStatus_ConnectStatus_name = common.ConnectStatus_ConnectStatus_name
-var ConnectStatus_ConnectStatus_value = common.ConnectStatus_ConnectStatus_value
+var ConnectStatus_Types_name = common.ConnectStatus_Types_name
+var ConnectStatus_Types_value = common.ConnectStatus_Types_value
-const ConnectStatus_UNKNOWN = ConnectStatus_ConnectStatus(common.ConnectStatus_UNKNOWN)
-const ConnectStatus_UNREACHABLE = ConnectStatus_ConnectStatus(common.ConnectStatus_UNREACHABLE)
-const ConnectStatus_REACHABLE = ConnectStatus_ConnectStatus(common.ConnectStatus_REACHABLE)
+const ConnectStatus_UNKNOWN = ConnectStatus_Types(common.ConnectStatus_UNKNOWN)
+const ConnectStatus_UNREACHABLE = ConnectStatus_Types(common.ConnectStatus_UNREACHABLE)
+const ConnectStatus_REACHABLE = ConnectStatus_Types(common.ConnectStatus_REACHABLE)
// OperationResp_OperationReturnCode from public import voltha_protos/common.proto
type OperationResp_OperationReturnCode = common.OperationResp_OperationReturnCode
@@ -1089,12 +1089,12 @@
}
type InterAdapterOmciMessage struct {
- Message []byte `protobuf:"bytes,1,opt,name=message,proto3" json:"message,omitempty"`
- ConnectStatus common.ConnectStatus_ConnectStatus `protobuf:"varint,2,opt,name=connect_status,json=connectStatus,proto3,enum=common.ConnectStatus_ConnectStatus" json:"connect_status,omitempty"`
- ProxyAddress *voltha.Device_ProxyAddress `protobuf:"bytes,3,opt,name=proxy_address,json=proxyAddress,proto3" json:"proxy_address,omitempty"`
- XXX_NoUnkeyedLiteral struct{} `json:"-"`
- XXX_unrecognized []byte `json:"-"`
- XXX_sizecache int32 `json:"-"`
+ Message []byte `protobuf:"bytes,1,opt,name=message,proto3" json:"message,omitempty"`
+ ConnectStatus common.ConnectStatus_Types `protobuf:"varint,2,opt,name=connect_status,json=connectStatus,proto3,enum=common.ConnectStatus_Types" json:"connect_status,omitempty"`
+ ProxyAddress *voltha.Device_ProxyAddress `protobuf:"bytes,3,opt,name=proxy_address,json=proxyAddress,proto3" json:"proxy_address,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
}
func (m *InterAdapterOmciMessage) Reset() { *m = InterAdapterOmciMessage{} }
@@ -1129,7 +1129,7 @@
return nil
}
-func (m *InterAdapterOmciMessage) GetConnectStatus() common.ConnectStatus_ConnectStatus {
+func (m *InterAdapterOmciMessage) GetConnectStatus() common.ConnectStatus_Types {
if m != nil {
return m.ConnectStatus
}
@@ -1470,87 +1470,87 @@
}
var fileDescriptor_941f0031a549667f = []byte{
- // 1303 bytes of a gzipped FileDescriptorProto
- 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x56, 0x49, 0x6f, 0xdb, 0x46,
- 0x14, 0x8e, 0x76, 0xe9, 0xc9, 0x56, 0xe4, 0x71, 0x1c, 0xcb, 0x76, 0x16, 0x97, 0x59, 0x9b, 0xb6,
- 0x32, 0xea, 0xa0, 0x68, 0x73, 0x6a, 0x65, 0x89, 0x8e, 0x59, 0xd8, 0x92, 0x4a, 0xc9, 0x09, 0xd0,
- 0x0b, 0x41, 0x93, 0x63, 0x89, 0x30, 0xc5, 0x61, 0x86, 0x43, 0xa7, 0xbc, 0x14, 0xe8, 0xad, 0x7f,
- 0xa2, 0x40, 0x4f, 0xfd, 0x09, 0xbd, 0xf7, 0x9f, 0x15, 0xb3, 0x50, 0xa2, 0x94, 0xa4, 0x01, 0xd2,
- 0xdb, 0xbc, 0xf7, 0x7d, 0xb3, 0xbd, 0xe5, 0x9b, 0x81, 0x07, 0xd7, 0xc4, 0x67, 0x53, 0xdb, 0x0a,
- 0x29, 0x61, 0x24, 0x3a, 0xf0, 0x02, 0x86, 0xa9, 0xe5, 0x90, 0x80, 0xd9, 0x5e, 0x80, 0x69, 0x5b,
- 0xb8, 0x51, 0x59, 0x92, 0x76, 0x77, 0x97, 0xc9, 0x0e, 0x99, 0xcd, 0x48, 0x20, 0x39, 0xab, 0x98,
- 0xb4, 0x14, 0xb6, 0x33, 0x21, 0x64, 0xe2, 0xe3, 0x03, 0x61, 0x5d, 0xc4, 0x97, 0x07, 0x76, 0x90,
- 0x28, 0xe8, 0xfe, 0xf2, 0x34, 0x12, 0xe2, 0xe0, 0xd2, 0x27, 0x6f, 0xad, 0xaf, 0x9f, 0x2b, 0x82,
- 0xb6, 0x4c, 0xf0, 0xc9, 0xc4, 0x73, 0x6c, 0xdf, 0x72, 0xf1, 0xb5, 0xe7, 0x60, 0xc9, 0xd1, 0xf6,
- 0xa0, 0x32, 0x62, 0x74, 0x9c, 0x84, 0x18, 0x35, 0xa1, 0x70, 0x6d, 0xfb, 0xad, 0xdc, 0x7e, 0xee,
- 0x69, 0xcd, 0xe4, 0x43, 0x0e, 0x1a, 0x01, 0x5b, 0x05, 0x0b, 0x12, 0xbc, 0x03, 0xd5, 0x23, 0x42,
- 0xfc, 0x55, 0xb4, 0x2a, 0x51, 0x0d, 0xca, 0x43, 0xdb, 0xb9, 0xc2, 0x0c, 0xb5, 0xa0, 0x12, 0xda,
- 0x89, 0x4f, 0x6c, 0x57, 0xe0, 0x6b, 0x66, 0x6a, 0x6a, 0x3a, 0xd4, 0x74, 0x4a, 0x09, 0xed, 0x12,
- 0x17, 0x6b, 0xdf, 0x41, 0xc9, 0x21, 0x2e, 0x8e, 0xd0, 0x36, 0x6c, 0x9e, 0xf7, 0x47, 0xe7, 0xc3,
- 0xe1, 0xc0, 0x1c, 0xeb, 0x3d, 0xcb, 0xd4, 0x7f, 0x3a, 0xd7, 0x47, 0xe3, 0xe6, 0x0d, 0x74, 0x1b,
- 0x90, 0xd1, 0x7f, 0xd5, 0x39, 0x35, 0x7a, 0xd6, 0xb0, 0x63, 0x76, 0xce, 0xf4, 0xb1, 0x6e, 0x8e,
- 0x9a, 0x39, 0xed, 0x18, 0x4a, 0x62, 0x19, 0xf4, 0x08, 0x8a, 0x7c, 0x09, 0xb1, 0x4d, 0xfd, 0x70,
- 0xa3, 0xad, 0x02, 0x39, 0xdf, 0xc3, 0x14, 0x30, 0xba, 0x0d, 0x65, 0x8a, 0xed, 0x88, 0x04, 0xad,
- 0xbc, 0xb8, 0xaa, 0xb2, 0xb4, 0xbf, 0x73, 0x50, 0x3e, 0xc1, 0xb6, 0x8b, 0x29, 0x6a, 0x40, 0xde,
- 0x73, 0x55, 0x24, 0xf2, 0x9e, 0x8b, 0x9e, 0x40, 0x91, 0x25, 0x21, 0x16, 0x13, 0x1a, 0x87, 0x9b,
- 0xe9, 0xca, 0x67, 0x38, 0x8a, 0xec, 0x09, 0xe6, 0x21, 0x30, 0x05, 0x01, 0xdd, 0x05, 0xb8, 0xa4,
- 0x64, 0x66, 0x31, 0x12, 0x7a, 0x4e, 0xab, 0x20, 0x16, 0xa8, 0x71, 0xcf, 0x98, 0x3b, 0xd0, 0x0e,
- 0x54, 0x19, 0x51, 0x60, 0x51, 0x80, 0x15, 0x46, 0x24, 0xb4, 0x07, 0xb5, 0x2b, 0x9c, 0x28, 0xac,
- 0x24, 0xb0, 0xea, 0x15, 0x4e, 0x24, 0x78, 0x07, 0x6a, 0xcc, 0x9b, 0xe1, 0x88, 0xd9, 0xb3, 0xb0,
- 0x55, 0x16, 0x39, 0x58, 0x38, 0xb4, 0x13, 0xa8, 0x76, 0xe8, 0x24, 0x9e, 0xe1, 0x80, 0xf1, 0x4c,
- 0x5c, 0xe1, 0x24, 0x4d, 0xe2, 0x15, 0x4e, 0xd0, 0x33, 0x28, 0x5d, 0xdb, 0x7e, 0x2c, 0x0f, 0x5f,
- 0x3f, 0xbc, 0xd5, 0x96, 0x15, 0xd5, 0x4e, 0x2b, 0xaa, 0xdd, 0x09, 0x12, 0x53, 0x52, 0x34, 0x0f,
- 0xb6, 0x0c, 0x5e, 0xc6, 0xdd, 0xb4, 0x8a, 0xd5, 0x0d, 0xd1, 0x63, 0x28, 0x4f, 0x45, 0x68, 0x54,
- 0x70, 0x1b, 0x69, 0x08, 0x64, 0xc0, 0x4c, 0x85, 0xa2, 0xa7, 0x50, 0xbc, 0x20, 0x6e, 0xf2, 0x9f,
- 0x7b, 0x09, 0x86, 0xf6, 0x57, 0x0e, 0x76, 0x96, 0xf7, 0x32, 0xf1, 0x9b, 0x18, 0x47, 0xec, 0x88,
- 0xb8, 0x09, 0xbf, 0x06, 0x0d, 0x1d, 0x95, 0x20, 0x3e, 0x44, 0x0f, 0xa1, 0x68, 0xd3, 0x49, 0xd4,
- 0x2a, 0xec, 0x17, 0x9e, 0xd6, 0x0f, 0x9b, 0xe9, 0xfe, 0xe9, 0xc5, 0x4d, 0x81, 0xa2, 0x2f, 0x60,
- 0x83, 0xe2, 0x28, 0x24, 0x41, 0x84, 0x2d, 0x8a, 0xdf, 0xc4, 0x1e, 0xc5, 0xae, 0x88, 0x74, 0xd5,
- 0x6c, 0xa6, 0x80, 0xa9, 0xfc, 0xe8, 0x21, 0x34, 0x28, 0x0e, 0x7d, 0x1e, 0xf4, 0xa5, 0xb8, 0xaf,
- 0x09, 0xef, 0x58, 0x26, 0x46, 0x73, 0x61, 0x77, 0xf5, 0x9c, 0x72, 0x1d, 0x71, 0xd0, 0x16, 0x54,
- 0xa2, 0xd8, 0x71, 0x70, 0x14, 0xa9, 0xea, 0x4f, 0x4d, 0xf4, 0x25, 0x2f, 0xb3, 0x28, 0xf6, 0x99,
- 0x28, 0x83, 0x0f, 0x05, 0x43, 0x71, 0xb4, 0xdf, 0x73, 0xd0, 0x1c, 0xbd, 0xf5, 0x98, 0x33, 0xed,
- 0xda, 0xa1, 0x7d, 0xe1, 0xf9, 0x1e, 0x4b, 0xd0, 0xe7, 0x50, 0x74, 0x71, 0xe4, 0xa8, 0x98, 0x6f,
- 0xb5, 0xb3, 0x2d, 0x4e, 0x2e, 0x43, 0x8b, 0x83, 0xa6, 0xa0, 0x20, 0x03, 0x6e, 0x46, 0x62, 0xba,
- 0x75, 0x89, 0x6d, 0x16, 0x53, 0x1c, 0xa9, 0x1c, 0xec, 0xbf, 0x33, 0x6b, 0x85, 0x67, 0x36, 0xa4,
- 0xe3, 0x58, 0xd9, 0xda, 0x0b, 0x68, 0x0c, 0x09, 0x65, 0x99, 0x73, 0x3c, 0x81, 0x62, 0x48, 0x28,
- 0x53, 0xe7, 0x98, 0x97, 0xff, 0xa9, 0x14, 0x14, 0x4e, 0x36, 0x05, 0x41, 0xfb, 0x15, 0x9a, 0x3d,
- 0xa1, 0x2e, 0x3d, 0x2f, 0x72, 0xc8, 0x35, 0xe6, 0x51, 0x5e, 0xed, 0xa5, 0x3d, 0xa8, 0x85, 0x36,
- 0xc5, 0x01, 0xb3, 0x3c, 0x57, 0x25, 0xb8, 0x2a, 0x1d, 0x86, 0x8b, 0xee, 0x43, 0x5d, 0xca, 0x93,
- 0x25, 0xfa, 0x4d, 0x36, 0x10, 0x48, 0x97, 0x50, 0x9a, 0x3b, 0x50, 0x0b, 0xe3, 0x0b, 0xdf, 0x8b,
- 0xa6, 0x98, 0xaa, 0x16, 0x5a, 0x38, 0xb4, 0x3f, 0xf2, 0xb0, 0x2d, 0x92, 0xd5, 0x71, 0xed, 0x90,
- 0xcd, 0xcb, 0x97, 0xcf, 0xd4, 0x7e, 0xcb, 0x43, 0x89, 0x0f, 0x22, 0xd4, 0x84, 0xb5, 0xe3, 0xd3,
- 0xc1, 0xeb, 0x8c, 0xb4, 0x6c, 0xc0, 0xba, 0xf2, 0x8c, 0x86, 0x83, 0xfe, 0x48, 0x6f, 0xe6, 0x38,
- 0x69, 0x70, 0xd6, 0x35, 0xe6, 0xa4, 0x3c, 0x27, 0x29, 0x8f, 0x22, 0x15, 0xd0, 0x26, 0xdc, 0x3c,
- 0xd3, 0xc7, 0xa6, 0xd1, 0x1d, 0xcd, 0x79, 0x45, 0x74, 0x0b, 0x9a, 0x0b, 0xa7, 0xa2, 0x96, 0x38,
- 0x75, 0xd0, 0x3f, 0xb7, 0x8c, 0xfe, 0x42, 0xd2, 0xca, 0x9c, 0xba, 0x70, 0x2a, 0x6a, 0x05, 0x7d,
- 0x06, 0x77, 0xc7, 0x7a, 0xf7, 0xc4, 0x1a, 0x9a, 0x83, 0x63, 0xe3, 0x54, 0xb7, 0x7a, 0x83, 0xd7,
- 0xfd, 0xd3, 0x41, 0x67, 0x31, 0xb1, 0x8a, 0xf6, 0x60, 0xbb, 0xa7, 0x9f, 0xea, 0x63, 0xdd, 0x7a,
- 0xa9, 0x9f, 0x59, 0x5c, 0x2a, 0xe7, 0x60, 0x0d, 0xb5, 0xe0, 0x96, 0x02, 0xc7, 0xdd, 0x41, 0x7f,
- 0x81, 0x00, 0x8f, 0x01, 0xca, 0xc6, 0xe7, 0x03, 0x72, 0xf7, 0x62, 0x49, 0xee, 0x1e, 0xa5, 0xf9,
- 0xfe, 0x40, 0x64, 0xdb, 0x22, 0xaa, 0xff, 0x5b, 0x00, 0xf7, 0x61, 0x8d, 0x11, 0xf5, 0x38, 0xf1,
- 0xd2, 0x90, 0xbd, 0x08, 0x8c, 0xc8, 0x8a, 0x32, 0x5c, 0xf4, 0x18, 0x6e, 0x86, 0x94, 0xfc, 0x92,
- 0x64, 0x48, 0x65, 0x41, 0x5a, 0x17, 0xee, 0x39, 0x6f, 0x49, 0x2d, 0x2b, 0xab, 0x6a, 0xf9, 0x4f,
- 0x6e, 0xb9, 0x46, 0x06, 0x33, 0xc7, 0x4b, 0x65, 0xae, 0x05, 0x95, 0x99, 0x1c, 0xa6, 0x6f, 0x95,
- 0x32, 0xd1, 0x8f, 0xd0, 0x70, 0x48, 0x10, 0x60, 0x87, 0x59, 0x11, 0xb3, 0x59, 0x1c, 0xa9, 0xe0,
- 0x3c, 0x68, 0xab, 0xa7, 0xbc, 0x2b, 0xd1, 0x91, 0x00, 0x97, 0x2d, 0x73, 0xdd, 0xc9, 0x9a, 0xe8,
- 0x07, 0x90, 0x07, 0xb6, 0x6c, 0xd7, 0xa5, 0x5c, 0x39, 0xa4, 0x40, 0xec, 0xa5, 0x71, 0x96, 0x17,
- 0x69, 0x0f, 0x39, 0xa7, 0x23, 0x29, 0xe6, 0x5a, 0x98, 0xb1, 0xb4, 0x11, 0x3c, 0xce, 0x5e, 0x61,
- 0x8c, 0x9d, 0xe9, 0x90, 0x92, 0x4b, 0xcf, 0xc7, 0x3d, 0xf2, 0x36, 0xe0, 0x8f, 0x6b, 0x7a, 0xa3,
- 0x2d, 0x28, 0xc7, 0x81, 0x67, 0xa9, 0xf4, 0xae, 0x9b, 0xa5, 0x38, 0xf0, 0x0c, 0x17, 0x21, 0x28,
- 0x86, 0x36, 0x9b, 0xaa, 0xfe, 0x13, 0x63, 0x8d, 0xc2, 0x7e, 0x76, 0xd1, 0x1e, 0xf6, 0x31, 0xc3,
- 0x2f, 0xf1, 0x8c, 0xf7, 0xf7, 0x47, 0x96, 0xdb, 0x86, 0x0a, 0x0b, 0xad, 0xcc, 0x8a, 0x65, 0x16,
- 0x0e, 0x6d, 0x36, 0x45, 0xf7, 0xa0, 0x3e, 0xc1, 0x33, 0x8b, 0x8b, 0x03, 0x9f, 0x54, 0x10, 0x93,
- 0x6a, 0x13, 0xb9, 0xa8, 0xe1, 0x6a, 0x57, 0x70, 0xef, 0xdd, 0x3d, 0xc7, 0xfc, 0x13, 0xf5, 0xa9,
- 0x3b, 0xee, 0x40, 0xd5, 0xf6, 0x7d, 0xe2, 0x2c, 0xb6, 0xab, 0x08, 0xdb, 0x70, 0xb5, 0x3f, 0x73,
- 0xd0, 0xca, 0xee, 0xb6, 0x24, 0xe4, 0xb7, 0xa1, 0xac, 0x12, 0x2b, 0x75, 0x5c, 0x59, 0xe8, 0xd9,
- 0xc7, 0x5f, 0xb4, 0x93, 0x1b, 0xf2, 0x4d, 0x43, 0xdf, 0x40, 0x91, 0xcc, 0x1c, 0x4f, 0xe5, 0xf3,
- 0xfe, 0xfb, 0xfa, 0x26, 0x53, 0x6d, 0x7c, 0x1a, 0xa7, 0x1f, 0xd5, 0xe6, 0x3f, 0x24, 0x2d, 0x82,
- 0xcd, 0xf7, 0x74, 0x19, 0x3a, 0x5c, 0x79, 0x7e, 0x77, 0xdf, 0xb7, 0xf4, 0xa7, 0x3e, 0xc5, 0xcf,
- 0xbe, 0x87, 0x7a, 0xa6, 0x9d, 0x51, 0x1d, 0x2a, 0x0b, 0x65, 0x5c, 0x83, 0x6a, 0x46, 0x14, 0xb7,
- 0x60, 0xa3, 0xa7, 0xbf, 0x32, 0xba, 0xba, 0xd5, 0x33, 0x46, 0xdd, 0xc1, 0x2b, 0xdd, 0xd4, 0x7b,
- 0xcd, 0xfc, 0xd1, 0x8b, 0x9f, 0xbf, 0x9d, 0x78, 0x6c, 0x1a, 0x5f, 0xf0, 0x66, 0x10, 0x1f, 0x51,
- 0x87, 0x50, 0x57, 0x7d, 0x64, 0xbf, 0x4a, 0xbf, 0xb5, 0x87, 0x07, 0x13, 0xb2, 0xfa, 0x4b, 0x1e,
- 0xde, 0x18, 0xe6, 0x86, 0xc5, 0x8b, 0xb2, 0xe0, 0x3c, 0xff, 0x37, 0x00, 0x00, 0xff, 0xff, 0x4b,
- 0x68, 0xda, 0x8e, 0x53, 0x0b, 0x00, 0x00,
+ // 1311 bytes of a gzipped FileDescriptorProto
+ 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x56, 0xcb, 0x6e, 0xdb, 0x46,
+ 0x14, 0x8d, 0xde, 0xd2, 0x95, 0xad, 0xc8, 0xe3, 0x38, 0x96, 0xed, 0x3c, 0x5c, 0x36, 0xaf, 0xa6,
+ 0xad, 0x8c, 0x3a, 0x28, 0xda, 0xac, 0x5a, 0x59, 0xa2, 0x63, 0x02, 0xb6, 0xa4, 0x52, 0x72, 0x02,
+ 0x74, 0x43, 0xd0, 0xe4, 0x58, 0x22, 0x4c, 0x71, 0x98, 0xe1, 0xd0, 0x29, 0x37, 0x05, 0xba, 0xeb,
+ 0x4f, 0x14, 0xe8, 0xaa, 0x9f, 0x50, 0xa0, 0x7f, 0x57, 0xcc, 0x83, 0x12, 0xa5, 0xc4, 0x0d, 0x90,
+ 0xee, 0x38, 0xf7, 0x9c, 0x79, 0x9d, 0x7b, 0xef, 0x19, 0xc2, 0xe7, 0xd7, 0xc4, 0x67, 0x53, 0xdb,
+ 0x0a, 0x29, 0x61, 0x24, 0x3a, 0xf0, 0x02, 0x86, 0xa9, 0xe5, 0x90, 0x80, 0xd9, 0x5e, 0x80, 0x69,
+ 0x5b, 0x84, 0x51, 0x59, 0x92, 0x76, 0x77, 0x97, 0xc9, 0x0e, 0x99, 0xcd, 0x48, 0x20, 0x39, 0xab,
+ 0x98, 0x1c, 0x29, 0x6c, 0x67, 0x42, 0xc8, 0xc4, 0xc7, 0x07, 0x62, 0x74, 0x11, 0x5f, 0x1e, 0xd8,
+ 0x41, 0xa2, 0xa0, 0x87, 0xcb, 0xd3, 0x48, 0x88, 0x83, 0x4b, 0x9f, 0xbc, 0xb3, 0xbe, 0x79, 0xa1,
+ 0x08, 0xda, 0x32, 0xc1, 0x27, 0x13, 0xcf, 0xb1, 0x7d, 0xcb, 0xc5, 0xd7, 0x9e, 0x83, 0x25, 0x47,
+ 0xdb, 0x83, 0xca, 0x88, 0xd1, 0x71, 0x12, 0x62, 0xd4, 0x84, 0xc2, 0xb5, 0xed, 0xb7, 0x72, 0xfb,
+ 0xb9, 0x67, 0x35, 0x93, 0x7f, 0x72, 0xd0, 0x08, 0xd8, 0x2a, 0x58, 0x90, 0xe0, 0x3d, 0xa8, 0x1e,
+ 0x11, 0xe2, 0xaf, 0xa2, 0x55, 0x89, 0x6a, 0x50, 0x1e, 0xda, 0xce, 0x15, 0x66, 0xa8, 0x05, 0x95,
+ 0xd0, 0x4e, 0x7c, 0x62, 0xbb, 0x02, 0x5f, 0x33, 0xd3, 0xa1, 0xa6, 0x43, 0x4d, 0xa7, 0x94, 0xd0,
+ 0x2e, 0x71, 0xb1, 0xf6, 0x3d, 0x94, 0x1c, 0xe2, 0xe2, 0x08, 0x6d, 0xc3, 0xe6, 0x79, 0x7f, 0x74,
+ 0x3e, 0x1c, 0x0e, 0xcc, 0xb1, 0xde, 0xb3, 0x4c, 0xfd, 0xa7, 0x73, 0x7d, 0x34, 0x6e, 0xde, 0x42,
+ 0x77, 0x01, 0x19, 0xfd, 0xd7, 0x9d, 0x53, 0xa3, 0x67, 0x0d, 0x3b, 0x66, 0xe7, 0x4c, 0x1f, 0xeb,
+ 0xe6, 0xa8, 0x99, 0xd3, 0x8e, 0xa1, 0x24, 0x96, 0x41, 0x8f, 0xa1, 0xc8, 0x97, 0x10, 0xdb, 0xd4,
+ 0x0f, 0x37, 0xda, 0x4a, 0xc8, 0xf9, 0x1e, 0xa6, 0x80, 0xd1, 0x5d, 0x28, 0x53, 0x6c, 0x47, 0x24,
+ 0x68, 0xe5, 0xc5, 0x55, 0xd5, 0x48, 0xfb, 0x3b, 0x07, 0xe5, 0x13, 0x6c, 0xbb, 0x98, 0xa2, 0x06,
+ 0xe4, 0x3d, 0x57, 0x29, 0x91, 0xf7, 0x5c, 0xf4, 0x14, 0x8a, 0x2c, 0x09, 0xb1, 0x98, 0xd0, 0x38,
+ 0xdc, 0x4c, 0x57, 0x3e, 0xc3, 0x51, 0x64, 0x4f, 0x30, 0x97, 0xc0, 0x14, 0x04, 0x74, 0x1f, 0xe0,
+ 0x92, 0x92, 0x99, 0xc5, 0x48, 0xe8, 0x39, 0xad, 0x82, 0x58, 0xa0, 0xc6, 0x23, 0x63, 0x1e, 0x40,
+ 0x3b, 0x50, 0x65, 0x44, 0x81, 0x45, 0x01, 0x56, 0x18, 0x91, 0xd0, 0x1e, 0xd4, 0xae, 0x70, 0xa2,
+ 0xb0, 0x92, 0xc0, 0xaa, 0x57, 0x38, 0x91, 0xe0, 0x3d, 0xa8, 0x31, 0x6f, 0x86, 0x23, 0x66, 0xcf,
+ 0xc2, 0x56, 0x59, 0xe4, 0x60, 0x11, 0xd0, 0x4e, 0xa0, 0xda, 0xa1, 0x93, 0x78, 0x86, 0x03, 0xc6,
+ 0x33, 0x71, 0x85, 0x93, 0x34, 0x89, 0x57, 0x38, 0x41, 0xcf, 0xa1, 0x74, 0x6d, 0xfb, 0xb1, 0x3c,
+ 0x7c, 0xfd, 0xf0, 0x4e, 0x5b, 0x56, 0x54, 0x3b, 0xad, 0xa8, 0x76, 0x27, 0x48, 0x4c, 0x49, 0xd1,
+ 0x3c, 0xd8, 0x32, 0x78, 0x19, 0x77, 0xd3, 0x2a, 0x56, 0x37, 0x44, 0x4f, 0xa0, 0x3c, 0x15, 0xd2,
+ 0x28, 0x71, 0x1b, 0xa9, 0x04, 0x52, 0x30, 0x53, 0xa1, 0xe8, 0x19, 0x14, 0x2f, 0x88, 0x9b, 0xfc,
+ 0xe7, 0x5e, 0x82, 0xa1, 0xfd, 0x95, 0x83, 0x9d, 0xe5, 0xbd, 0x4c, 0xfc, 0x36, 0xc6, 0x11, 0x3b,
+ 0x22, 0x6e, 0xc2, 0xaf, 0x41, 0x43, 0x47, 0x25, 0x88, 0x7f, 0xa2, 0x47, 0x50, 0xb4, 0xe9, 0x24,
+ 0x6a, 0x15, 0xf6, 0x0b, 0xcf, 0xea, 0x87, 0xcd, 0x74, 0xff, 0xf4, 0xe2, 0xa6, 0x40, 0xd1, 0x97,
+ 0xb0, 0x41, 0x71, 0x14, 0x92, 0x20, 0xc2, 0x16, 0xc5, 0x6f, 0x63, 0x8f, 0x62, 0x57, 0x28, 0x5d,
+ 0x35, 0x9b, 0x29, 0x60, 0xaa, 0x38, 0x7a, 0x04, 0x0d, 0x8a, 0x43, 0x9f, 0x8b, 0xbe, 0xa4, 0xfb,
+ 0x9a, 0x88, 0x8e, 0x65, 0x62, 0x34, 0x17, 0x76, 0x57, 0xcf, 0x29, 0xd7, 0x11, 0x07, 0x6d, 0x41,
+ 0x25, 0x8a, 0x1d, 0x07, 0x47, 0x91, 0xaa, 0xfe, 0x74, 0x88, 0xbe, 0xe2, 0x65, 0x16, 0xc5, 0x3e,
+ 0x13, 0x65, 0x70, 0x93, 0x18, 0x8a, 0xa3, 0xfd, 0x9e, 0x83, 0xe6, 0xe8, 0x9d, 0xc7, 0x9c, 0x69,
+ 0xd7, 0x0e, 0xed, 0x0b, 0xcf, 0xf7, 0x58, 0x82, 0xbe, 0x80, 0xa2, 0x8b, 0x23, 0x47, 0x69, 0xbe,
+ 0xd5, 0xce, 0xb6, 0x38, 0xb9, 0x0c, 0x2d, 0x0e, 0x9a, 0x82, 0x82, 0x0c, 0xb8, 0x1d, 0x89, 0xe9,
+ 0xd6, 0x25, 0xb6, 0x59, 0x4c, 0x71, 0xa4, 0x72, 0xb0, 0xff, 0xde, 0xac, 0x15, 0x9e, 0xd9, 0x90,
+ 0x81, 0x63, 0x35, 0xd6, 0x5e, 0x42, 0x63, 0x48, 0x28, 0xcb, 0x9c, 0xe3, 0x29, 0x14, 0x43, 0x42,
+ 0x99, 0x3a, 0xc7, 0xbc, 0xfc, 0x4f, 0xa5, 0xa1, 0x70, 0xb2, 0x29, 0x08, 0xda, 0xaf, 0xd0, 0xec,
+ 0x09, 0x77, 0xe9, 0x79, 0x91, 0x43, 0xae, 0x31, 0x57, 0x79, 0xb5, 0x97, 0xf6, 0xa0, 0x16, 0xda,
+ 0x14, 0x07, 0xcc, 0xf2, 0x5c, 0x95, 0xe0, 0xaa, 0x0c, 0x18, 0x2e, 0x7a, 0x08, 0x75, 0x69, 0x4f,
+ 0x96, 0xe8, 0x37, 0xd9, 0x40, 0x20, 0x43, 0xc2, 0x69, 0xee, 0x41, 0x2d, 0x8c, 0x2f, 0x7c, 0x2f,
+ 0x9a, 0x62, 0xaa, 0x5a, 0x68, 0x11, 0xd0, 0xfe, 0xc8, 0xc3, 0xb6, 0x48, 0x56, 0xc7, 0xb5, 0x43,
+ 0x36, 0x2f, 0x5f, 0x3e, 0x53, 0xfb, 0x2d, 0x0f, 0x25, 0xfe, 0x11, 0xa1, 0x26, 0xac, 0x1d, 0x9f,
+ 0x0e, 0xde, 0x64, 0xac, 0x65, 0x03, 0xd6, 0x55, 0x64, 0x34, 0x1c, 0xf4, 0x47, 0x7a, 0x33, 0xc7,
+ 0x49, 0x83, 0xb3, 0xae, 0x31, 0x27, 0xe5, 0x39, 0x49, 0x45, 0x14, 0xa9, 0x80, 0x36, 0xe1, 0xf6,
+ 0x99, 0x3e, 0x36, 0x8d, 0xee, 0x68, 0xce, 0x2b, 0xa2, 0x3b, 0xd0, 0x5c, 0x04, 0x15, 0xb5, 0xc4,
+ 0xa9, 0x83, 0xfe, 0xb9, 0x65, 0xf4, 0x17, 0x96, 0x56, 0xe6, 0xd4, 0x45, 0x50, 0x51, 0x2b, 0xe8,
+ 0x33, 0xb8, 0x3f, 0xd6, 0xbb, 0x27, 0xd6, 0xd0, 0x1c, 0x1c, 0x1b, 0xa7, 0xba, 0xd5, 0x1b, 0xbc,
+ 0xe9, 0x9f, 0x0e, 0x3a, 0x8b, 0x89, 0x55, 0xb4, 0x07, 0xdb, 0x3d, 0xfd, 0x54, 0x1f, 0xeb, 0xd6,
+ 0x2b, 0xfd, 0xcc, 0xe2, 0x56, 0x39, 0x07, 0x6b, 0xa8, 0x05, 0x77, 0x14, 0x38, 0xee, 0x0e, 0xfa,
+ 0x0b, 0x04, 0xb8, 0x06, 0x28, 0xab, 0xcf, 0x0d, 0x76, 0xf7, 0x72, 0xc9, 0xee, 0x1e, 0xa7, 0xf9,
+ 0xbe, 0x41, 0xd9, 0xb6, 0x50, 0xf5, 0x7f, 0x1b, 0xe0, 0x3e, 0xac, 0x31, 0xa2, 0x1e, 0x27, 0x5e,
+ 0x1a, 0xb2, 0x17, 0x81, 0x11, 0x59, 0x51, 0x86, 0x8b, 0x9e, 0xc0, 0xed, 0x90, 0x92, 0x5f, 0x92,
+ 0x0c, 0xa9, 0x2c, 0x48, 0xeb, 0x22, 0x3c, 0xe7, 0x2d, 0xb9, 0x65, 0x65, 0xd5, 0x2d, 0xff, 0xc9,
+ 0x2d, 0xd7, 0xc8, 0x60, 0xe6, 0x78, 0xa9, 0xcd, 0xb5, 0xa0, 0x32, 0x93, 0x9f, 0xe9, 0x5b, 0xa5,
+ 0x86, 0xe8, 0x08, 0x1a, 0x0e, 0x09, 0x02, 0xec, 0x30, 0x2b, 0x62, 0x36, 0x8b, 0x23, 0x25, 0xce,
+ 0x5e, 0x5b, 0x3d, 0xe5, 0x5d, 0x89, 0x8e, 0x04, 0xa8, 0x24, 0x59, 0x77, 0xb2, 0x41, 0xf4, 0x23,
+ 0xc8, 0x83, 0x5a, 0xb6, 0xeb, 0x52, 0xee, 0x18, 0xd2, 0x18, 0xf6, 0x52, 0x7d, 0xe5, 0x05, 0xda,
+ 0x43, 0xce, 0xe9, 0x48, 0x8a, 0xb9, 0x16, 0x66, 0x46, 0xda, 0x08, 0x9e, 0x64, 0x8f, 0x3e, 0xc6,
+ 0xce, 0x74, 0x48, 0xc9, 0xa5, 0xe7, 0xe3, 0x1e, 0x79, 0x17, 0xf0, 0x47, 0x35, 0xbd, 0xc9, 0x16,
+ 0x94, 0xe3, 0xc0, 0xb3, 0x54, 0x5a, 0xd7, 0xcd, 0x52, 0x1c, 0x78, 0x86, 0x8b, 0x10, 0x14, 0x43,
+ 0x9b, 0x4d, 0x55, 0xdf, 0x89, 0x6f, 0x8d, 0xc2, 0x7e, 0x76, 0xd1, 0x1e, 0xf6, 0x31, 0xc3, 0xaf,
+ 0xf0, 0x8c, 0xf7, 0xf5, 0x47, 0x96, 0xdb, 0x86, 0x0a, 0x0b, 0xad, 0xcc, 0x8a, 0x65, 0x16, 0x0e,
+ 0x6d, 0x36, 0x45, 0x0f, 0xa0, 0x3e, 0xc1, 0x33, 0x8b, 0x9b, 0x02, 0x9f, 0x54, 0x10, 0x93, 0x6a,
+ 0x13, 0xb9, 0xa8, 0xe1, 0x6a, 0x57, 0xf0, 0xe0, 0xfd, 0x3d, 0xc7, 0xfc, 0xe7, 0xe9, 0x53, 0x77,
+ 0xdc, 0x81, 0xaa, 0xed, 0xfb, 0xc4, 0x59, 0x6c, 0x57, 0x11, 0x63, 0xc3, 0xd5, 0xfe, 0xcc, 0x41,
+ 0x2b, 0xbb, 0xdb, 0x92, 0x81, 0xdf, 0x85, 0xb2, 0x4a, 0xa8, 0xf4, 0x6f, 0x35, 0x42, 0xcf, 0x3f,
+ 0xfe, 0x92, 0x9d, 0xdc, 0x92, 0x6f, 0x19, 0xfa, 0x16, 0x8a, 0x64, 0xe6, 0x78, 0x2a, 0x9f, 0x0f,
+ 0x3f, 0xd4, 0x2f, 0x99, 0x2a, 0xe3, 0xd3, 0x38, 0xfd, 0xa8, 0x36, 0xff, 0x33, 0xd2, 0x22, 0xd8,
+ 0xfc, 0x40, 0x77, 0xa1, 0xc3, 0x95, 0x67, 0x77, 0xf7, 0x43, 0x4b, 0x7f, 0xea, 0x13, 0xfc, 0xfc,
+ 0x07, 0xa8, 0x67, 0xda, 0x18, 0xd5, 0xa1, 0xb2, 0x70, 0xc4, 0x35, 0xa8, 0x66, 0xcc, 0x70, 0x0b,
+ 0x36, 0x7a, 0xfa, 0x6b, 0xa3, 0xab, 0x5b, 0x3d, 0x63, 0xd4, 0x1d, 0xbc, 0xd6, 0x4d, 0xbd, 0xd7,
+ 0xcc, 0x1f, 0xf5, 0x61, 0x93, 0xd0, 0x89, 0x78, 0x60, 0x1c, 0x42, 0x5d, 0x75, 0xb8, 0x9f, 0xbf,
+ 0x9b, 0x78, 0x6c, 0x1a, 0x5f, 0xf0, 0xce, 0x38, 0x48, 0x31, 0xf5, 0x57, 0xfb, 0x75, 0xfa, 0x8f,
+ 0xfb, 0xe2, 0x60, 0x42, 0x56, 0x7f, 0x99, 0x87, 0xb7, 0x86, 0xb9, 0x61, 0xf1, 0xa2, 0x2c, 0x38,
+ 0x2f, 0xfe, 0x0d, 0x00, 0x00, 0xff, 0xff, 0x52, 0x46, 0x45, 0x14, 0x60, 0x0b, 0x00, 0x00,
}
diff --git a/vendor/github.com/opencord/voltha-protos/v2/go/omci/omci_alarm_db.pb.go b/vendor/github.com/opencord/voltha-protos/v3/go/omci/omci_alarm_db.pb.go
similarity index 81%
rename from vendor/github.com/opencord/voltha-protos/v2/go/omci/omci_alarm_db.pb.go
rename to vendor/github.com/opencord/voltha-protos/v3/go/omci/omci_alarm_db.pb.go
index dddee14..3d20894 100644
--- a/vendor/github.com/opencord/voltha-protos/v2/go/omci/omci_alarm_db.pb.go
+++ b/vendor/github.com/opencord/voltha-protos/v3/go/omci/omci_alarm_db.pb.go
@@ -6,7 +6,7 @@
import (
fmt "fmt"
proto "github.com/golang/protobuf/proto"
- _ "github.com/opencord/voltha-protos/v2/go/common"
+ _ "github.com/opencord/voltha-protos/v3/go/common"
math "math"
)
@@ -474,43 +474,43 @@
func init() { proto.RegisterFile("voltha_protos/omci_alarm_db.proto", fileDescriptor_8d41f1e38aadb08d) }
var fileDescriptor_8d41f1e38aadb08d = []byte{
- // 595 bytes of a gzipped FileDescriptorProto
- 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x54, 0xc1, 0x6e, 0xd3, 0x40,
- 0x10, 0x25, 0x6d, 0xda, 0xa6, 0x93, 0xa4, 0x4d, 0x97, 0xaa, 0x2c, 0x95, 0x2a, 0x15, 0x0b, 0x50,
- 0x0f, 0xe0, 0x48, 0xe5, 0x08, 0x52, 0x55, 0xb7, 0x39, 0xe4, 0x80, 0x2a, 0xdc, 0x9e, 0xb8, 0x58,
- 0x1b, 0x7b, 0x48, 0x56, 0xf2, 0xae, 0x83, 0x77, 0x63, 0x29, 0x07, 0x2e, 0x7c, 0x15, 0x3f, 0xd1,
- 0x9f, 0xe0, 0xc4, 0x17, 0xf4, 0x8c, 0x3c, 0xb6, 0x13, 0x47, 0x96, 0x10, 0xb7, 0x7d, 0x6f, 0x66,
- 0xde, 0xcc, 0xce, 0x5b, 0x2d, 0xbc, 0xca, 0x92, 0xd8, 0xce, 0x44, 0x30, 0x4f, 0x13, 0x9b, 0x98,
- 0x61, 0xa2, 0x42, 0x19, 0x88, 0x58, 0xa4, 0x2a, 0x88, 0x26, 0x2e, 0x91, 0xac, 0x9d, 0x93, 0xa7,
- 0x7c, 0x33, 0x51, 0xa1, 0x15, 0x45, 0xdc, 0x19, 0x01, 0xbb, 0xce, 0x2b, 0xae, 0xad, 0x4d, 0xe5,
- 0x64, 0x61, 0xf1, 0x56, 0x58, 0xc1, 0x5e, 0x42, 0x5b, 0x0b, 0x85, 0xbc, 0x75, 0xde, 0xba, 0xd8,
- 0xf7, 0x76, 0xfe, 0x3c, 0x3d, 0x9e, 0xb5, 0x7c, 0xa2, 0xd8, 0x31, 0xec, 0x64, 0x22, 0x5e, 0x20,
- 0xdf, 0xca, 0x63, 0x7e, 0x01, 0x9c, 0x5f, 0x2d, 0x38, 0x22, 0x9d, 0xb1, 0x36, 0x56, 0xe8, 0xb0,
- 0x90, 0x79, 0x0b, 0x5d, 0x59, 0xe2, 0x40, 0x46, 0xa4, 0xd6, 0xaf, 0xd4, 0xa0, 0x8a, 0x8c, 0x23,
- 0xc6, 0x61, 0x2f, 0x4c, 0x51, 0x58, 0x8c, 0x4a, 0xd5, 0x0a, 0xb2, 0x53, 0xe8, 0xa8, 0x24, 0x92,
- 0xdf, 0x24, 0x46, 0x7c, 0x9b, 0x42, 0x2b, 0xcc, 0x46, 0x00, 0xa2, 0x9a, 0xda, 0xf0, 0xf6, 0xf9,
- 0xf6, 0x45, 0xf7, 0x92, 0xbb, 0xf9, 0x7d, 0xdd, 0xe6, 0x95, 0xbc, 0xee, 0xef, 0xa7, 0xc7, 0xb3,
- 0xdd, 0xe2, 0x5e, 0x7e, 0xad, 0xd0, 0xf9, 0x01, 0x07, 0x94, 0x7e, 0x13, 0x0b, 0x63, 0x68, 0xec,
- 0x73, 0xe8, 0x84, 0x39, 0x68, 0xcc, 0xbc, 0x47, 0xf4, 0x38, 0x62, 0x63, 0xd8, 0xaf, 0xc6, 0x37,
- 0x7c, 0x8b, 0x3a, 0xbf, 0xa8, 0x75, 0xae, 0x2f, 0xc1, 0x63, 0x79, 0xe3, 0xfe, 0xc6, 0x26, 0xfc,
- 0x75, 0xb5, 0xf3, 0xa5, 0x34, 0xe0, 0xb3, 0xd0, 0x62, 0x8a, 0xd1, 0x48, 0x5b, 0x69, 0x97, 0xff,
- 0x31, 0x42, 0x65, 0xd1, 0x56, 0xc3, 0x22, 0xe7, 0x13, 0x0c, 0x0a, 0x49, 0x34, 0x46, 0x4c, 0xf1,
- 0x61, 0x39, 0x47, 0x76, 0x01, 0x3d, 0x55, 0xc0, 0xc0, 0x2e, 0xe7, 0xb8, 0x29, 0xda, 0x55, 0xeb,
- 0x4c, 0xe7, 0xe7, 0x36, 0x1c, 0x52, 0xf9, 0x2d, 0x66, 0xb2, 0x34, 0xd2, 0x81, 0xfd, 0x88, 0x50,
- 0x35, 0xcf, 0xaa, 0x63, 0xa7, 0xe0, 0xff, 0x69, 0xa2, 0x0b, 0xcf, 0x63, 0x61, 0x6c, 0xf9, 0x34,
- 0x0d, 0x7e, 0x5f, 0xa0, 0x0e, 0x91, 0xfc, 0xec, 0xfb, 0x47, 0x79, 0x88, 0xfa, 0xdd, 0x97, 0x01,
- 0xf6, 0x1a, 0x0e, 0x28, 0xdf, 0x2c, 0x75, 0x18, 0x58, 0xa9, 0x90, 0xb7, 0x49, 0xb0, 0x97, 0xb3,
- 0xf7, 0x4b, 0x1d, 0x3e, 0x48, 0x85, 0x79, 0xbf, 0x0c, 0x53, 0x23, 0x13, 0xcd, 0x77, 0x48, 0xa9,
- 0x82, 0xec, 0x0a, 0x8a, 0x2d, 0xa1, 0xe1, 0xbb, 0xe4, 0xcd, 0x71, 0xcd, 0x9b, 0x95, 0xcd, 0xde,
- 0x61, 0x6e, 0x0c, 0xac, 0x17, 0xed, 0x57, 0x55, 0xec, 0x06, 0x06, 0xaa, 0xb0, 0x23, 0xc0, 0xdc,
- 0x0f, 0x89, 0x86, 0xef, 0x35, 0xde, 0xd7, 0x86, 0x63, 0xfe, 0xa1, 0xaa, 0x41, 0x89, 0x86, 0x7d,
- 0x84, 0x7e, 0x7d, 0xe3, 0x86, 0x77, 0x48, 0xe1, 0xa4, 0xae, 0xb0, 0x5e, 0xbb, 0xdf, 0xab, 0x79,
- 0x60, 0x9c, 0x2b, 0x38, 0xa1, 0x8c, 0xbb, 0x39, 0xea, 0x3b, 0x15, 0xca, 0x51, 0x86, 0xda, 0x92,
- 0x3d, 0x6f, 0xe0, 0xa8, 0x41, 0xb2, 0x01, 0xf4, 0x8c, 0x15, 0x16, 0x83, 0x70, 0x26, 0xf4, 0x14,
- 0x07, 0xcf, 0x9c, 0xb8, 0x7c, 0x56, 0x1b, 0xb9, 0xcc, 0x83, 0xf6, 0xca, 0xfd, 0x83, 0x4b, 0xb7,
- 0x36, 0x4a, 0x43, 0xd3, 0x6d, 0x30, 0x3e, 0xd5, 0x32, 0x06, 0xed, 0x48, 0x58, 0x51, 0x9a, 0x4c,
- 0x67, 0xcf, 0xfd, 0xfa, 0x6e, 0x2a, 0xed, 0x6c, 0x31, 0x71, 0xc3, 0x44, 0x0d, 0x93, 0x39, 0xea,
- 0x30, 0x49, 0xa3, 0x61, 0xf1, 0xeb, 0xbc, 0x2f, 0x7f, 0x9d, 0xec, 0x72, 0x38, 0x4d, 0xe8, 0x93,
- 0x9a, 0xec, 0x12, 0xf5, 0xe1, 0x6f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x81, 0xc5, 0x68, 0x49, 0xc1,
- 0x04, 0x00, 0x00,
+ // 605 bytes of a gzipped FileDescriptorProto
+ 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x54, 0xc1, 0x4e, 0xdb, 0x40,
+ 0x10, 0x6d, 0x20, 0x40, 0x98, 0x24, 0x10, 0xb6, 0x88, 0x6e, 0x91, 0x90, 0xa8, 0xd5, 0x56, 0x1c,
+ 0x5a, 0x47, 0x82, 0x63, 0x2b, 0x21, 0x02, 0x91, 0x9a, 0x43, 0x85, 0x6a, 0x38, 0xf5, 0x62, 0x6d,
+ 0xec, 0xa9, 0x59, 0xc9, 0xbb, 0x4e, 0xbd, 0x1b, 0x4b, 0x39, 0xf4, 0xd2, 0xaf, 0xea, 0x4f, 0xf0,
+ 0x13, 0x3d, 0xf5, 0x0b, 0x38, 0x57, 0x1e, 0xdb, 0x89, 0x23, 0x4b, 0x55, 0x6f, 0xfb, 0xde, 0xcc,
+ 0xbc, 0x99, 0x9d, 0xb7, 0x5a, 0x78, 0x95, 0x25, 0xb1, 0x7d, 0x10, 0xfe, 0x2c, 0x4d, 0x6c, 0x62,
+ 0x86, 0x89, 0x0a, 0xa4, 0x2f, 0x62, 0x91, 0x2a, 0x3f, 0x9c, 0xba, 0x44, 0xb2, 0x76, 0x4e, 0x1e,
+ 0xf3, 0xf5, 0x44, 0x85, 0x56, 0x14, 0x71, 0x67, 0x0c, 0xec, 0x2a, 0xaf, 0xb8, 0xb2, 0x36, 0x95,
+ 0xd3, 0xb9, 0xc5, 0x1b, 0x61, 0x05, 0x7b, 0x09, 0x6d, 0x2d, 0x14, 0xf2, 0xd6, 0x69, 0xeb, 0x6c,
+ 0x77, 0xb4, 0xf5, 0xe7, 0xe9, 0xf1, 0xa4, 0xe5, 0x11, 0xc5, 0x0e, 0x61, 0x2b, 0x13, 0xf1, 0x1c,
+ 0xf9, 0x46, 0x1e, 0xf3, 0x0a, 0xe0, 0xfc, 0x6a, 0xc1, 0x01, 0xe9, 0x4c, 0xb4, 0xb1, 0x42, 0x07,
+ 0x85, 0xcc, 0x5b, 0xe8, 0xca, 0x12, 0xfb, 0x32, 0x24, 0xb5, 0x7e, 0xa5, 0x06, 0x55, 0x64, 0x12,
+ 0x32, 0x0e, 0x3b, 0x41, 0x8a, 0xc2, 0x62, 0x58, 0xaa, 0x56, 0x90, 0x1d, 0x43, 0x47, 0x25, 0xa1,
+ 0xfc, 0x26, 0x31, 0xe4, 0x9b, 0x14, 0x5a, 0x62, 0x36, 0x06, 0x10, 0xd5, 0xd4, 0x86, 0xb7, 0x4f,
+ 0x37, 0xcf, 0xba, 0xe7, 0xdc, 0xcd, 0xef, 0xeb, 0x36, 0xaf, 0x34, 0xea, 0xfe, 0x7e, 0x7a, 0x3c,
+ 0xd9, 0x2e, 0xee, 0xe5, 0xd5, 0x0a, 0x9d, 0x1f, 0xb0, 0x47, 0xe9, 0xd7, 0xb1, 0x30, 0x86, 0xc6,
+ 0x3e, 0x85, 0x4e, 0x90, 0x83, 0xc6, 0xcc, 0x3b, 0x44, 0x4f, 0x42, 0x36, 0x81, 0xdd, 0x6a, 0x7c,
+ 0xc3, 0x37, 0xa8, 0xf3, 0x8b, 0x5a, 0xe7, 0xfa, 0x12, 0x46, 0x2c, 0x6f, 0xdc, 0x5f, 0xdb, 0x84,
+ 0xb7, 0xaa, 0x76, 0xbe, 0x94, 0x06, 0x7c, 0x16, 0x5a, 0x44, 0x18, 0x8e, 0xb5, 0x95, 0x76, 0xf1,
+ 0x1f, 0x23, 0x54, 0x16, 0x6d, 0x34, 0x2c, 0x72, 0x3e, 0xc2, 0xa0, 0x90, 0x44, 0x63, 0x44, 0x84,
+ 0xf7, 0x8b, 0x19, 0xb2, 0x33, 0xe8, 0xa9, 0x02, 0xfa, 0x76, 0x31, 0xc3, 0x75, 0xd1, 0xae, 0x5a,
+ 0x65, 0x3a, 0x3f, 0x37, 0x61, 0x9f, 0xca, 0x6f, 0x30, 0x93, 0xa5, 0x91, 0x0e, 0xec, 0x86, 0x84,
+ 0xaa, 0x79, 0x96, 0x1d, 0x3b, 0x05, 0xff, 0x4f, 0x13, 0x5d, 0x78, 0x1e, 0x0b, 0x63, 0xcb, 0xa7,
+ 0x69, 0xf0, 0xfb, 0x1c, 0x75, 0x80, 0xe4, 0x67, 0xdf, 0x3b, 0xc8, 0x43, 0xd4, 0xef, 0xae, 0x0c,
+ 0xb0, 0xd7, 0xb0, 0x47, 0xf9, 0x66, 0xa1, 0x03, 0xdf, 0x4a, 0x85, 0xbc, 0x4d, 0x82, 0xbd, 0x9c,
+ 0xbd, 0x5b, 0xe8, 0xe0, 0x5e, 0x2a, 0xcc, 0xfb, 0x65, 0x98, 0x1a, 0x99, 0x68, 0xbe, 0x45, 0x4a,
+ 0x15, 0x64, 0x97, 0x50, 0x6c, 0x09, 0x0d, 0xdf, 0x26, 0x6f, 0x0e, 0x6b, 0xde, 0x2c, 0x6d, 0x1e,
+ 0xed, 0xe7, 0xc6, 0xc0, 0x6a, 0xd1, 0x5e, 0x55, 0xc5, 0xae, 0x61, 0xa0, 0x0a, 0x3b, 0x7c, 0xcc,
+ 0xfd, 0x90, 0x68, 0xf8, 0x4e, 0xe3, 0x7d, 0xad, 0x39, 0xe6, 0xed, 0xab, 0x1a, 0x94, 0x68, 0xd8,
+ 0x07, 0xe8, 0xd7, 0x37, 0x6e, 0x78, 0x87, 0x14, 0x8e, 0xea, 0x0a, 0xab, 0xb5, 0x7b, 0xbd, 0x9a,
+ 0x07, 0xc6, 0xb9, 0x84, 0x23, 0xca, 0xb8, 0x9d, 0xa1, 0xbe, 0x55, 0x81, 0x1c, 0x67, 0xa8, 0x2d,
+ 0xd9, 0xf3, 0x06, 0x0e, 0x1a, 0x24, 0x1b, 0x40, 0xcf, 0x58, 0x61, 0xd1, 0x0f, 0x1e, 0x84, 0x8e,
+ 0x70, 0xf0, 0xcc, 0x89, 0xcb, 0x67, 0xb5, 0x96, 0xcb, 0x46, 0xd0, 0x5e, 0xba, 0xbf, 0x77, 0xee,
+ 0xd6, 0x46, 0x69, 0x68, 0xba, 0x0d, 0xc6, 0xa3, 0x5a, 0xc6, 0xa0, 0x1d, 0x0a, 0x2b, 0x4a, 0x93,
+ 0xe9, 0x3c, 0xfa, 0x04, 0x3c, 0x49, 0x23, 0x37, 0x99, 0xa1, 0x0e, 0x92, 0x34, 0x74, 0x8b, 0xef,
+ 0x86, 0xe4, 0xbf, 0xbe, 0x8b, 0xa4, 0x7d, 0x98, 0x4f, 0xdd, 0x20, 0x51, 0xc3, 0x2a, 0x61, 0x58,
+ 0x24, 0xbc, 0x2f, 0xff, 0xa3, 0xec, 0x62, 0x18, 0x25, 0xf4, 0x7d, 0x4d, 0xb7, 0x89, 0xba, 0xf8,
+ 0x1b, 0x00, 0x00, 0xff, 0xff, 0x79, 0xe4, 0xce, 0x1a, 0xdb, 0x04, 0x00, 0x00,
}
diff --git a/vendor/github.com/opencord/voltha-protos/v2/go/omci/omci_mib_db.pb.go b/vendor/github.com/opencord/voltha-protos/v3/go/omci/omci_mib_db.pb.go
similarity index 75%
rename from vendor/github.com/opencord/voltha-protos/v2/go/omci/omci_mib_db.pb.go
rename to vendor/github.com/opencord/voltha-protos/v3/go/omci/omci_mib_db.pb.go
index 6d5e3ac..a3f23af 100644
--- a/vendor/github.com/opencord/voltha-protos/v2/go/omci/omci_mib_db.pb.go
+++ b/vendor/github.com/opencord/voltha-protos/v3/go/omci/omci_mib_db.pb.go
@@ -6,7 +6,7 @@
import (
fmt "fmt"
proto "github.com/golang/protobuf/proto"
- _ "github.com/opencord/voltha-protos/v2/go/common"
+ _ "github.com/opencord/voltha-protos/v3/go/common"
math "math"
)
@@ -21,25 +21,25 @@
// proto package needs to be updated.
const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package
-type OpenOmciEventType_OpenOmciEventType int32
+type OpenOmciEventType_Types int32
const (
- OpenOmciEventType_state_change OpenOmciEventType_OpenOmciEventType = 0
+ OpenOmciEventType_state_change OpenOmciEventType_Types = 0
)
-var OpenOmciEventType_OpenOmciEventType_name = map[int32]string{
+var OpenOmciEventType_Types_name = map[int32]string{
0: "state_change",
}
-var OpenOmciEventType_OpenOmciEventType_value = map[string]int32{
+var OpenOmciEventType_Types_value = map[string]int32{
"state_change": 0,
}
-func (x OpenOmciEventType_OpenOmciEventType) String() string {
- return proto.EnumName(OpenOmciEventType_OpenOmciEventType_name, int32(x))
+func (x OpenOmciEventType_Types) String() string {
+ return proto.EnumName(OpenOmciEventType_Types_name, int32(x))
}
-func (OpenOmciEventType_OpenOmciEventType) EnumDescriptor() ([]byte, []int) {
+func (OpenOmciEventType_Types) EnumDescriptor() ([]byte, []int) {
return fileDescriptor_4fa402a2df36dcc1, []int{6, 0}
}
@@ -413,11 +413,11 @@
var xxx_messageInfo_OpenOmciEventType proto.InternalMessageInfo
type OpenOmciEvent struct {
- Type OpenOmciEventType_OpenOmciEventType `protobuf:"varint,1,opt,name=type,proto3,enum=omci.OpenOmciEventType_OpenOmciEventType" json:"type,omitempty"`
- Data string `protobuf:"bytes,2,opt,name=data,proto3" json:"data,omitempty"`
- XXX_NoUnkeyedLiteral struct{} `json:"-"`
- XXX_unrecognized []byte `json:"-"`
- XXX_sizecache int32 `json:"-"`
+ Type OpenOmciEventType_Types `protobuf:"varint,1,opt,name=type,proto3,enum=omci.OpenOmciEventType_Types" json:"type,omitempty"`
+ Data string `protobuf:"bytes,2,opt,name=data,proto3" json:"data,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
}
func (m *OpenOmciEvent) Reset() { *m = OpenOmciEvent{} }
@@ -445,7 +445,7 @@
var xxx_messageInfo_OpenOmciEvent proto.InternalMessageInfo
-func (m *OpenOmciEvent) GetType() OpenOmciEventType_OpenOmciEventType {
+func (m *OpenOmciEvent) GetType() OpenOmciEventType_Types {
if m != nil {
return m.Type
}
@@ -460,7 +460,7 @@
}
func init() {
- proto.RegisterEnum("omci.OpenOmciEventType_OpenOmciEventType", OpenOmciEventType_OpenOmciEventType_name, OpenOmciEventType_OpenOmciEventType_value)
+ proto.RegisterEnum("omci.OpenOmciEventType_Types", OpenOmciEventType_Types_name, OpenOmciEventType_Types_value)
proto.RegisterType((*MibAttributeData)(nil), "omci.MibAttributeData")
proto.RegisterType((*MibInstanceData)(nil), "omci.MibInstanceData")
proto.RegisterType((*MibClassData)(nil), "omci.MibClassData")
@@ -474,42 +474,43 @@
func init() { proto.RegisterFile("voltha_protos/omci_mib_db.proto", fileDescriptor_4fa402a2df36dcc1) }
var fileDescriptor_4fa402a2df36dcc1 = []byte{
- // 584 bytes of a gzipped FileDescriptorProto
- 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x54, 0xdf, 0x6a, 0x13, 0x4f,
- 0x18, 0xfd, 0x25, 0xdd, 0xb6, 0xe9, 0xb7, 0xd9, 0x36, 0x9d, 0x9f, 0xca, 0x58, 0x28, 0x96, 0x45,
- 0xa5, 0x82, 0x26, 0x50, 0x41, 0x41, 0xa8, 0x60, 0xda, 0x22, 0x05, 0x97, 0xc2, 0xda, 0x2b, 0x6f,
- 0x96, 0xd9, 0xdd, 0xcf, 0x64, 0x20, 0x33, 0x1b, 0x32, 0x93, 0x85, 0x7d, 0x2f, 0x5f, 0xa3, 0x2f,
- 0xe1, 0x55, 0x9f, 0xa0, 0xd7, 0x32, 0xb3, 0x7f, 0xb2, 0x31, 0x22, 0xde, 0xed, 0x39, 0xdf, 0xff,
- 0x73, 0x96, 0x81, 0x67, 0x79, 0x36, 0xd3, 0x53, 0x16, 0xcd, 0x17, 0x99, 0xce, 0xd4, 0x28, 0x13,
- 0x09, 0x8f, 0x04, 0x8f, 0xa3, 0x34, 0x1e, 0x5a, 0x8a, 0x38, 0x86, 0x3a, 0xa2, 0xeb, 0x69, 0x02,
- 0x35, 0x2b, 0xe3, 0xfe, 0x05, 0x0c, 0x02, 0x1e, 0x7f, 0xd2, 0x7a, 0xc1, 0xe3, 0xa5, 0xc6, 0x4b,
- 0xa6, 0x19, 0x79, 0x0a, 0x8e, 0x64, 0x02, 0x69, 0xe7, 0xa4, 0x73, 0xba, 0x37, 0xde, 0xbe, 0x7f,
- 0xb8, 0x3b, 0xee, 0x84, 0x96, 0x22, 0x8f, 0x60, 0x3b, 0x67, 0xb3, 0x25, 0xd2, 0xae, 0x89, 0x85,
- 0x25, 0xf0, 0x7f, 0x74, 0xe0, 0x20, 0xe0, 0xf1, 0xb5, 0x54, 0x9a, 0xc9, 0xa4, 0x6c, 0xf2, 0x12,
- 0x5c, 0x5e, 0xe1, 0x88, 0xa7, 0xb6, 0x97, 0x57, 0xf7, 0x82, 0x3a, 0x72, 0x9d, 0x12, 0x0a, 0xbb,
- 0xc9, 0x02, 0x99, 0xc6, 0xb4, 0xea, 0x59, 0x43, 0x72, 0x04, 0x3d, 0x91, 0xa5, 0xfc, 0x3b, 0xc7,
- 0x94, 0x6e, 0xd9, 0x50, 0x83, 0xc9, 0x05, 0x00, 0xab, 0x77, 0x56, 0xd4, 0x39, 0xd9, 0x3a, 0x75,
- 0xcf, 0x9e, 0x0c, 0xcd, 0xad, 0xc3, 0xdf, 0xcf, 0x19, 0xbb, 0x3f, 0x1f, 0xee, 0x8e, 0x77, 0xca,
- 0x9b, 0xc2, 0x56, 0x99, 0x5f, 0x40, 0x3f, 0xe0, 0xf1, 0xc5, 0x8c, 0x29, 0x65, 0x57, 0x3e, 0x81,
- 0x5e, 0x62, 0xc0, 0xc6, 0xbe, 0xbb, 0x96, 0xbe, 0x4e, 0xc9, 0x67, 0xd8, 0xab, 0x57, 0x57, 0xb4,
- 0x6b, 0xa7, 0x3e, 0x6e, 0xa6, 0xb6, 0xcf, 0x1f, 0x13, 0x33, 0xd4, 0x5b, 0xd3, 0x20, 0x5c, 0xd5,
- 0xfa, 0x5f, 0xc0, 0x0b, 0x98, 0x64, 0x13, 0x4c, 0xaf, 0xa4, 0xe6, 0xba, 0xf8, 0x87, 0xd9, 0xb5,
- 0x2b, 0xdd, 0x0d, 0x57, 0xfc, 0xf7, 0xe0, 0x06, 0xa8, 0x14, 0x9b, 0xe0, 0x6d, 0x31, 0x47, 0x72,
- 0x0a, 0x7d, 0x51, 0xc2, 0x48, 0x17, 0x73, 0x5c, 0xef, 0xe7, 0x8a, 0x55, 0xa6, 0x7f, 0xdf, 0x05,
- 0x2f, 0xe0, 0xf1, 0x25, 0xe6, 0xbc, 0xb2, 0xcd, 0x87, 0xbd, 0xd4, 0xa2, 0x7a, 0x91, 0x66, 0x54,
- 0xaf, 0xe4, 0xff, 0x6a, 0xd9, 0x73, 0xd8, 0x9f, 0x31, 0xa5, 0x23, 0x55, 0xc8, 0x24, 0xd2, 0x5c,
- 0x60, 0x65, 0x5c, 0xdf, 0xb0, 0x5f, 0x0b, 0x99, 0xdc, 0x72, 0x81, 0xc4, 0x07, 0xcf, 0xfe, 0xa3,
- 0x4c, 0x33, 0x9b, 0x49, 0x1d, 0xb3, 0x60, 0xe8, 0x0a, 0x1e, 0x9b, 0x1d, 0x4c, 0x9e, 0x99, 0x91,
- 0xe3, 0x42, 0xf1, 0x4c, 0xd2, 0x6d, 0x1b, 0xad, 0x21, 0x39, 0x87, 0x52, 0x12, 0x54, 0x74, 0xc7,
- 0x3a, 0x40, 0x1a, 0x07, 0x1a, 0x2b, 0xc7, 0x07, 0x46, 0x7e, 0x58, 0x69, 0x1a, 0xd6, 0x35, 0xe4,
- 0x23, 0x0c, 0x44, 0xa9, 0x7c, 0x84, 0x46, 0x7a, 0x8e, 0x8a, 0xee, 0xda, 0x3e, 0xff, 0x57, 0x7d,
- 0xda, 0xbe, 0x84, 0x07, 0xa2, 0x05, 0x39, 0x2a, 0xf2, 0x0e, 0xbc, 0xb6, 0xb8, 0x8a, 0xf6, 0x6c,
- 0xf1, 0x61, 0x55, 0xbc, 0x12, 0x37, 0xec, 0xb7, 0x94, 0x56, 0xfe, 0x07, 0x38, 0xbc, 0x99, 0xa3,
- 0xbc, 0x11, 0x09, 0xbf, 0xca, 0x51, 0x6a, 0xab, 0xff, 0x8b, 0x3f, 0x90, 0x64, 0x00, 0x7d, 0xa5,
- 0x99, 0xc6, 0x28, 0x99, 0x32, 0x39, 0xc1, 0xc1, 0x7f, 0x7e, 0x0c, 0xde, 0x5a, 0x1a, 0x39, 0x07,
- 0xa7, 0x71, 0x76, 0xff, 0xec, 0x55, 0x39, 0x7b, 0xa3, 0xd3, 0x26, 0x13, 0xda, 0x32, 0x42, 0xc0,
- 0x31, 0xe2, 0x57, 0xee, 0xd9, 0xef, 0xf1, 0xf0, 0xdb, 0xeb, 0x09, 0xd7, 0xd3, 0x65, 0x3c, 0x4c,
- 0x32, 0x31, 0xca, 0xe6, 0x28, 0x93, 0x6c, 0x91, 0x8e, 0xca, 0x87, 0xe3, 0x4d, 0xf5, 0x70, 0xe4,
- 0x67, 0xa3, 0x49, 0x66, 0x5f, 0x99, 0x78, 0xc7, 0x52, 0x6f, 0x7f, 0x05, 0x00, 0x00, 0xff, 0xff,
- 0x1c, 0x99, 0x02, 0x13, 0x82, 0x04, 0x00, 0x00,
+ // 598 bytes of a gzipped FileDescriptorProto
+ 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x54, 0xcd, 0x6a, 0xdb, 0x4c,
+ 0x14, 0xfd, 0xec, 0xd8, 0x89, 0x73, 0x6d, 0x25, 0xce, 0x7c, 0x6d, 0x99, 0x04, 0x42, 0x83, 0x28,
+ 0x25, 0x8b, 0x56, 0xa6, 0x09, 0xb4, 0xab, 0x16, 0xea, 0x24, 0xb4, 0x81, 0x8a, 0x80, 0x1a, 0xba,
+ 0xe8, 0x46, 0x8c, 0xa4, 0x5b, 0x65, 0xc0, 0x33, 0x32, 0x9a, 0x89, 0x40, 0xef, 0xd5, 0xd7, 0xc8,
+ 0x4b, 0x74, 0x95, 0x27, 0xc8, 0xba, 0xcc, 0xe8, 0xc7, 0x72, 0x03, 0xa5, 0x3b, 0x9d, 0xfb, 0x73,
+ 0xee, 0xbd, 0xe7, 0x88, 0x81, 0xe7, 0x45, 0xb6, 0xd0, 0x37, 0x2c, 0x5c, 0xe6, 0x99, 0xce, 0xd4,
+ 0x2c, 0x13, 0x31, 0x0f, 0x05, 0x8f, 0xc2, 0x24, 0xf2, 0x6c, 0x88, 0x0c, 0x4c, 0xe8, 0x80, 0xae,
+ 0x97, 0x09, 0xd4, 0xac, 0xca, 0xbb, 0x67, 0x30, 0xf5, 0x79, 0xf4, 0x51, 0xeb, 0x9c, 0x47, 0xb7,
+ 0x1a, 0xcf, 0x99, 0x66, 0x64, 0x1f, 0x06, 0x92, 0x09, 0xa4, 0xbd, 0xa3, 0xde, 0xf1, 0xf6, 0x7c,
+ 0x78, 0xff, 0x70, 0x77, 0xd8, 0x0b, 0x6c, 0x88, 0x3c, 0x81, 0x61, 0xc1, 0x16, 0xb7, 0x48, 0xfb,
+ 0x26, 0x17, 0x54, 0xc0, 0xfd, 0xd9, 0x83, 0x5d, 0x9f, 0x47, 0x97, 0x52, 0x69, 0x26, 0xe3, 0x8a,
+ 0xe4, 0x25, 0x8c, 0x79, 0x8d, 0x43, 0x9e, 0x58, 0x2e, 0xa7, 0xe1, 0x82, 0x26, 0x73, 0x99, 0x10,
+ 0x0a, 0x5b, 0x71, 0x8e, 0x4c, 0x63, 0x52, 0x73, 0x36, 0x90, 0x1c, 0xc0, 0x48, 0x64, 0x09, 0xff,
+ 0xc1, 0x31, 0xa1, 0x1b, 0x36, 0xd5, 0x62, 0x72, 0x06, 0xc0, 0x9a, 0x9d, 0x15, 0x1d, 0x1c, 0x6d,
+ 0x1c, 0x8f, 0x4f, 0x9e, 0x79, 0xe6, 0x56, 0xef, 0xcf, 0x73, 0xe6, 0xe3, 0x5f, 0x0f, 0x77, 0x87,
+ 0x9b, 0xd5, 0x4d, 0x41, 0xa7, 0xcd, 0x2d, 0x61, 0xe2, 0xf3, 0xe8, 0x6c, 0xc1, 0x94, 0xb2, 0x2b,
+ 0x1f, 0xc1, 0x28, 0x36, 0xe0, 0xd1, 0xbe, 0x5b, 0x36, 0x7c, 0x99, 0x90, 0x4f, 0xb0, 0xdd, 0xac,
+ 0xae, 0x68, 0xdf, 0x4e, 0x7d, 0xda, 0x4e, 0xed, 0x9e, 0x3f, 0x27, 0x66, 0xa8, 0xb3, 0xa6, 0x41,
+ 0xb0, 0xea, 0x75, 0xbf, 0x80, 0xe3, 0x33, 0xc9, 0x52, 0x4c, 0x2e, 0xa4, 0xe6, 0xba, 0xfc, 0x87,
+ 0xd9, 0x8d, 0x2b, 0xfd, 0x47, 0xae, 0xb8, 0xef, 0x60, 0xec, 0xa3, 0x52, 0x2c, 0xc5, 0xeb, 0x72,
+ 0x89, 0xe4, 0x18, 0x26, 0xa2, 0x82, 0xa1, 0x2e, 0x97, 0xb8, 0xce, 0x37, 0x16, 0xab, 0x4a, 0xf7,
+ 0xbe, 0x0f, 0x8e, 0xcf, 0xa3, 0x73, 0x2c, 0x78, 0x6d, 0x9b, 0x0b, 0xdb, 0x89, 0x45, 0xcd, 0x22,
+ 0xed, 0xa8, 0x51, 0x15, 0xff, 0xab, 0x65, 0x2f, 0x60, 0x67, 0xc1, 0x94, 0x0e, 0x55, 0x29, 0xe3,
+ 0x50, 0x73, 0x81, 0xb5, 0x71, 0x13, 0x13, 0xfd, 0x5a, 0xca, 0xf8, 0x9a, 0x0b, 0x24, 0x2e, 0x38,
+ 0xf6, 0x1f, 0x65, 0x9a, 0xd9, 0x4a, 0x3a, 0x30, 0x0b, 0x06, 0x63, 0xc1, 0x23, 0xb3, 0x83, 0xa9,
+ 0x33, 0x33, 0x0a, 0xcc, 0x15, 0xcf, 0x24, 0x1d, 0xda, 0x6c, 0x03, 0xc9, 0x7b, 0xa8, 0x24, 0x41,
+ 0x45, 0x37, 0xad, 0x03, 0xa4, 0x75, 0xa0, 0xb5, 0x72, 0xbe, 0x6b, 0xe4, 0x87, 0x95, 0xa6, 0x41,
+ 0xd3, 0x43, 0x3e, 0xc0, 0x54, 0x54, 0xca, 0x87, 0x68, 0xa4, 0xe7, 0xa8, 0xe8, 0x96, 0xe5, 0xf9,
+ 0xbf, 0xe6, 0xe9, 0xfa, 0x12, 0xec, 0x8a, 0x0e, 0xe4, 0xa8, 0xc8, 0x5b, 0x70, 0xba, 0xe2, 0x2a,
+ 0x3a, 0xb2, 0xcd, 0x7b, 0x75, 0xf3, 0x4a, 0xdc, 0x60, 0xd2, 0x51, 0x5a, 0xb9, 0x1e, 0xec, 0x5d,
+ 0x2d, 0x51, 0x5e, 0x89, 0x98, 0x5f, 0x14, 0x28, 0xb5, 0xd5, 0x7f, 0x1f, 0x86, 0x36, 0x4b, 0xa6,
+ 0x30, 0x51, 0x9a, 0x69, 0x0c, 0xe3, 0x1b, 0x26, 0x53, 0x9c, 0xfe, 0xe7, 0x7e, 0x03, 0x67, 0xad,
+ 0x9e, 0xbc, 0x81, 0x41, 0xeb, 0xe6, 0xce, 0xc9, 0x61, 0x35, 0xef, 0x11, 0xa5, 0x67, 0xf9, 0x02,
+ 0x5b, 0x4a, 0x08, 0x0c, 0x8c, 0xc8, 0xb5, 0x4b, 0xf6, 0x7b, 0xfe, 0x19, 0x68, 0x96, 0xa7, 0x5e,
+ 0xb6, 0x44, 0x19, 0x67, 0x79, 0xe2, 0x55, 0x2f, 0x83, 0x65, 0xfb, 0xfe, 0x2a, 0xe5, 0xfa, 0xe6,
+ 0x36, 0xf2, 0xe2, 0x4c, 0xcc, 0x9a, 0x82, 0x59, 0x55, 0xf0, 0xba, 0x7e, 0x3a, 0x8a, 0xd3, 0x59,
+ 0x9a, 0xd9, 0x77, 0x26, 0xda, 0xb4, 0xa1, 0xd3, 0xdf, 0x01, 0x00, 0x00, 0xff, 0xff, 0x26, 0xab,
+ 0x52, 0x5b, 0x84, 0x04, 0x00, 0x00,
}
diff --git a/vendor/github.com/opencord/voltha-protos/v2/go/openflow_13/openflow_13.pb.go b/vendor/github.com/opencord/voltha-protos/v3/go/openflow_13/openflow_13.pb.go
similarity index 84%
rename from vendor/github.com/opencord/voltha-protos/v2/go/openflow_13/openflow_13.pb.go
rename to vendor/github.com/opencord/voltha-protos/v3/go/openflow_13/openflow_13.pb.go
index e506aa5..e3c00f3 100644
--- a/vendor/github.com/opencord/voltha-protos/v2/go/openflow_13/openflow_13.pb.go
+++ b/vendor/github.com/opencord/voltha-protos/v3/go/openflow_13/openflow_13.pb.go
@@ -6,7 +6,6 @@
import (
fmt "fmt"
proto "github.com/golang/protobuf/proto"
- common "github.com/opencord/voltha-protos/v2/go/common"
_ "google.golang.org/genproto/googleapis/api/annotations"
math "math"
)
@@ -22,29 +21,6 @@
// proto package needs to be updated.
const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package
-// InlineNode from public import voltha_protos/yang_options.proto
-type InlineNode = common.InlineNode
-
-// RpcReturnDef from public import voltha_protos/yang_options.proto
-type RpcReturnDef = common.RpcReturnDef
-
-// MessageParserOption from public import voltha_protos/yang_options.proto
-type MessageParserOption = common.MessageParserOption
-
-var MessageParserOption_name = common.MessageParserOption_name
-var MessageParserOption_value = common.MessageParserOption_value
-
-const MessageParserOption_MOVE_TO_PARENT_LEVEL = MessageParserOption(common.MessageParserOption_MOVE_TO_PARENT_LEVEL)
-const MessageParserOption_CREATE_BOTH_GROUPING_AND_CONTAINER = MessageParserOption(common.MessageParserOption_CREATE_BOTH_GROUPING_AND_CONTAINER)
-
-var E_YangChildRule = common.E_YangChildRule
-
-var E_YangMessageRule = common.E_YangMessageRule
-
-var E_YangInlineNode = common.E_YangInlineNode
-
-var E_YangXmlTag = common.E_YangXmlTag
-
// Port numbering. Ports are numbered starting from 1.
type OfpPortNo int32
@@ -1936,18 +1912,18 @@
type OfpMeterModFailedCode int32
const (
- OfpMeterModFailedCode_OFPMMFC_UNKNOWN OfpMeterModFailedCode = 0
- OfpMeterModFailedCode_OFPMMFC_METER_EXISTS OfpMeterModFailedCode = 1
- OfpMeterModFailedCode_OFPMMFC_INVALID_METER OfpMeterModFailedCode = 2
- OfpMeterModFailedCode_OFPMMFC_UNKNOWN_METER OfpMeterModFailedCode = 3
- OfpMeterModFailedCode_OFPMMFC_BAD_COMMAND OfpMeterModFailedCode = 4
- OfpMeterModFailedCode_OFPMMFC_BAD_FLAGS OfpMeterModFailedCode = 5
- OfpMeterModFailedCode_OFPMMFC_BAD_RATE OfpMeterModFailedCode = 6
- OfpMeterModFailedCode_OFPMMFC_BAD_BURST OfpMeterModFailedCode = 7
- OfpMeterModFailedCode_OFPMMFC_BAD_BAND OfpMeterModFailedCode = 8
- OfpMeterModFailedCode_OFPMMFC_BAD_BAND_VALUE OfpMeterModFailedCode = 9
- OfpMeterModFailedCode_OFPMMFC_OUT_OF_METERS OfpMeterModFailedCode = 10
- OfpMeterModFailedCode_OFPMMFC_OUT_OF_BANDS OfpMeterModFailedCode = 11
+ OfpMeterModFailedCode_OFPMMFC_UNKNOWN OfpMeterModFailedCode = 0
+ OfpMeterModFailedCode_OFPMMFC_METER_EXISTS OfpMeterModFailedCode = 1
+ OfpMeterModFailedCode_OFPMMFC_INVALID_METER OfpMeterModFailedCode = 2
+ OfpMeterModFailedCode_OFPMMFC_UNKNOWN_METER OfpMeterModFailedCode = 3
+ OfpMeterModFailedCode_OFPMMFC_BAD_COMMAND OfpMeterModFailedCode = 4
+ OfpMeterModFailedCode_OFPMMFC_BAD_FLAGS OfpMeterModFailedCode = 5
+ OfpMeterModFailedCode_OFPMMFC_BAD_RATE OfpMeterModFailedCode = 6
+ OfpMeterModFailedCode_OFPMMFC_BAD_BURST OfpMeterModFailedCode = 7
+ OfpMeterModFailedCode_OFPMMFC_BAD_BAND OfpMeterModFailedCode = 8
+ OfpMeterModFailedCode_OFPMMFC_BAD_BAND_DETAIL OfpMeterModFailedCode = 9
+ OfpMeterModFailedCode_OFPMMFC_OUT_OF_METERS OfpMeterModFailedCode = 10
+ OfpMeterModFailedCode_OFPMMFC_OUT_OF_BANDS OfpMeterModFailedCode = 11
)
var OfpMeterModFailedCode_name = map[int32]string{
@@ -1960,24 +1936,24 @@
6: "OFPMMFC_BAD_RATE",
7: "OFPMMFC_BAD_BURST",
8: "OFPMMFC_BAD_BAND",
- 9: "OFPMMFC_BAD_BAND_VALUE",
+ 9: "OFPMMFC_BAD_BAND_DETAIL",
10: "OFPMMFC_OUT_OF_METERS",
11: "OFPMMFC_OUT_OF_BANDS",
}
var OfpMeterModFailedCode_value = map[string]int32{
- "OFPMMFC_UNKNOWN": 0,
- "OFPMMFC_METER_EXISTS": 1,
- "OFPMMFC_INVALID_METER": 2,
- "OFPMMFC_UNKNOWN_METER": 3,
- "OFPMMFC_BAD_COMMAND": 4,
- "OFPMMFC_BAD_FLAGS": 5,
- "OFPMMFC_BAD_RATE": 6,
- "OFPMMFC_BAD_BURST": 7,
- "OFPMMFC_BAD_BAND": 8,
- "OFPMMFC_BAD_BAND_VALUE": 9,
- "OFPMMFC_OUT_OF_METERS": 10,
- "OFPMMFC_OUT_OF_BANDS": 11,
+ "OFPMMFC_UNKNOWN": 0,
+ "OFPMMFC_METER_EXISTS": 1,
+ "OFPMMFC_INVALID_METER": 2,
+ "OFPMMFC_UNKNOWN_METER": 3,
+ "OFPMMFC_BAD_COMMAND": 4,
+ "OFPMMFC_BAD_FLAGS": 5,
+ "OFPMMFC_BAD_RATE": 6,
+ "OFPMMFC_BAD_BURST": 7,
+ "OFPMMFC_BAD_BAND": 8,
+ "OFPMMFC_BAD_BAND_DETAIL": 9,
+ "OFPMMFC_OUT_OF_METERS": 10,
+ "OFPMMFC_OUT_OF_BANDS": 11,
}
func (x OfpMeterModFailedCode) String() string {
@@ -9307,534 +9283,532 @@
func init() { proto.RegisterFile("voltha_protos/openflow_13.proto", fileDescriptor_08e3a4e375aeddc7) }
var fileDescriptor_08e3a4e375aeddc7 = []byte{
- // 8460 bytes of a gzipped FileDescriptorProto
+ // 8423 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xdc, 0x7d, 0x5b, 0x8c, 0x1b, 0x59,
0x76, 0x98, 0xf8, 0xe8, 0x6e, 0xf2, 0xb2, 0xbb, 0x55, 0x2a, 0xbd, 0x28, 0xb5, 0x34, 0x92, 0x38,
- 0x33, 0xbb, 0xb3, 0x5c, 0xef, 0x6a, 0x46, 0xa3, 0xd5, 0xae, 0xf7, 0xe1, 0xa8, 0x48, 0x16, 0xbb,
- 0x39, 0xe2, 0xa3, 0x54, 0x55, 0xad, 0xc7, 0x06, 0x4e, 0x81, 0x4d, 0x96, 0xba, 0xe9, 0x21, 0x59,
- 0xdc, 0xaa, 0xea, 0x56, 0xcb, 0x89, 0x03, 0xc5, 0x46, 0x10, 0x20, 0x89, 0xed, 0x04, 0xfe, 0x58,
- 0x20, 0x70, 0x80, 0x18, 0x71, 0x3e, 0x82, 0x00, 0xf9, 0x08, 0x10, 0x20, 0x40, 0x7e, 0x13, 0x20,
- 0x01, 0xf2, 0x00, 0x0c, 0x04, 0xfe, 0xb1, 0xff, 0x9c, 0x9f, 0x00, 0xfe, 0x4e, 0xe2, 0x6c, 0x56,
- 0xc1, 0xb9, 0xe7, 0xdc, 0x5b, 0xb7, 0xf8, 0xe8, 0xe9, 0xdd, 0xcc, 0xe6, 0x23, 0x5f, 0x62, 0x9d,
- 0xd7, 0x3d, 0xf7, 0xdc, 0x73, 0xce, 0x3d, 0xf7, 0xd4, 0xad, 0x16, 0xbb, 0x73, 0x12, 0x8c, 0xe3,
- 0xa3, 0xbe, 0x37, 0x0b, 0x83, 0x38, 0x88, 0xee, 0x07, 0x33, 0x7f, 0xfa, 0x6a, 0x1c, 0xbc, 0xf6,
- 0x3e, 0xf9, 0xf4, 0x9b, 0x1c, 0xa4, 0x97, 0x14, 0xd0, 0xcd, 0x5b, 0x87, 0x41, 0x70, 0x38, 0xf6,
- 0xef, 0xf7, 0x67, 0xa3, 0xfb, 0xfd, 0xe9, 0x34, 0x88, 0xfb, 0xf1, 0x28, 0x98, 0x46, 0x48, 0x7a,
- 0xf3, 0x6e, 0x5a, 0xd6, 0x9b, 0xfe, 0xf4, 0xd0, 0x0b, 0x66, 0x0a, 0x45, 0x65, 0xc0, 0x58, 0xf0,
- 0x6a, 0xe6, 0x1d, 0xf9, 0xfd, 0xa1, 0x1f, 0xea, 0x65, 0xb6, 0x71, 0xe2, 0x87, 0xd1, 0x28, 0x98,
- 0x96, 0x33, 0x77, 0x33, 0x1f, 0x6d, 0xd9, 0xe2, 0x51, 0xff, 0x1a, 0xcb, 0xc7, 0x6f, 0x66, 0x7e,
- 0x39, 0x7b, 0x37, 0xf3, 0xd1, 0xf6, 0x83, 0xab, 0xdf, 0x54, 0xd5, 0x02, 0x01, 0x80, 0xb4, 0x39,
- 0x89, 0xae, 0xb1, 0xdc, 0xe9, 0x68, 0x58, 0xce, 0x71, 0x01, 0xf0, 0xb3, 0xf2, 0xcf, 0x32, 0xec,
- 0x2a, 0x8e, 0x32, 0x1e, 0x07, 0x9e, 0x3f, 0xf6, 0x27, 0x62, 0xc0, 0x87, 0x24, 0x36, 0xc3, 0xc5,
- 0xde, 0x5d, 0x10, 0xab, 0x70, 0x28, 0x23, 0x3c, 0x65, 0x5b, 0xa4, 0xd7, 0xc1, 0x28, 0x9e, 0xf4,
- 0x67, 0x5c, 0xab, 0xd2, 0x83, 0xaf, 0x9d, 0xc5, 0x9e, 0x62, 0xd8, 0xbb, 0x60, 0xa7, 0x25, 0xd4,
- 0x8a, 0x6c, 0x03, 0xc8, 0xfc, 0x69, 0x5c, 0xf9, 0x0e, 0xbb, 0x75, 0x16, 0x2f, 0x18, 0x09, 0x7f,
- 0x45, 0xe5, 0xec, 0xdd, 0x1c, 0x18, 0x89, 0x1e, 0x2b, 0x4f, 0x58, 0x51, 0x72, 0xea, 0xbf, 0xc2,
- 0x0a, 0x24, 0x31, 0x2a, 0x67, 0xee, 0xe6, 0x3e, 0x2a, 0x3d, 0xa8, 0x9c, 0xa5, 0x1f, 0x1a, 0xc4,
- 0x96, 0x3c, 0x95, 0x0e, 0xbb, 0x04, 0x24, 0xd1, 0xeb, 0x51, 0x3c, 0x38, 0xf2, 0x06, 0xc1, 0xf4,
- 0xd5, 0xe8, 0x50, 0xbf, 0xc2, 0xd6, 0x5e, 0x8d, 0xfb, 0x87, 0x11, 0x2d, 0x0f, 0x3e, 0xe8, 0x15,
- 0xb6, 0x35, 0x19, 0x45, 0x91, 0x17, 0xf9, 0xd3, 0xa1, 0x37, 0xf6, 0xa7, 0xdc, 0x1e, 0x5b, 0x76,
- 0x09, 0x80, 0x8e, 0x3f, 0x1d, 0xb6, 0xfd, 0x69, 0xa5, 0xc6, 0xb6, 0xf8, 0x3a, 0xf5, 0x0f, 0xc6,
- 0xbe, 0x37, 0x09, 0x86, 0xfa, 0x0d, 0x56, 0xc0, 0x87, 0xd1, 0x50, 0x2c, 0x36, 0x7f, 0x6e, 0x0d,
- 0xf5, 0x6b, 0x6c, 0x1d, 0xc7, 0x23, 0x41, 0xf4, 0x54, 0xf9, 0x47, 0x59, 0x56, 0x00, 0x21, 0xb3,
- 0x20, 0x8c, 0xf5, 0xeb, 0x6c, 0x03, 0xfe, 0xf5, 0xa6, 0x01, 0xb1, 0xaf, 0xc3, 0x63, 0x37, 0x00,
- 0xc4, 0xd1, 0x6b, 0xaf, 0x3f, 0x1c, 0x86, 0x64, 0x9f, 0xf5, 0xa3, 0xd7, 0xc6, 0x70, 0x18, 0xea,
- 0x3a, 0xcb, 0x4f, 0xfb, 0x13, 0x9f, 0x7b, 0x46, 0xd1, 0xe6, 0xbf, 0x95, 0xa1, 0xf2, 0xea, 0x50,
- 0x30, 0xd1, 0x28, 0xee, 0xc7, 0x7e, 0x79, 0x0d, 0x27, 0xca, 0x1f, 0x40, 0xc2, 0xe0, 0x38, 0x0c,
- 0xcb, 0xeb, 0x1c, 0xc8, 0x7f, 0xeb, 0xef, 0x31, 0xd6, 0x1f, 0x9e, 0xf8, 0x61, 0x3c, 0x8a, 0xfc,
- 0x61, 0x79, 0x83, 0x63, 0x14, 0x88, 0x7e, 0x8b, 0x15, 0xa3, 0xe3, 0x19, 0xe8, 0xe6, 0x0f, 0xcb,
- 0x05, 0x8e, 0x4e, 0x00, 0x20, 0x71, 0xe6, 0xfb, 0x61, 0xb9, 0x88, 0x12, 0xe1, 0xb7, 0x7e, 0x9b,
- 0x31, 0x90, 0xec, 0x45, 0x33, 0xdf, 0x1f, 0x96, 0x19, 0xb2, 0x00, 0xc4, 0x01, 0x80, 0xbe, 0xc3,
- 0x8a, 0x93, 0xfe, 0x29, 0x61, 0x4b, 0x1c, 0x5b, 0x98, 0xf4, 0x4f, 0x39, 0xb2, 0xf2, 0x2f, 0x33,
- 0xec, 0xb2, 0xb2, 0x6c, 0xaf, 0xfc, 0x7e, 0x7c, 0x1c, 0xfa, 0x91, 0x7e, 0x87, 0x95, 0x86, 0xfd,
- 0xb8, 0x3f, 0xeb, 0xc7, 0x47, 0xc2, 0xe0, 0x79, 0x9b, 0x09, 0x50, 0x8b, 0x4b, 0x9d, 0x7a, 0x07,
- 0xc7, 0xaf, 0x5e, 0xf9, 0x61, 0x44, 0x66, 0x2f, 0x4c, 0x6b, 0xf8, 0x0c, 0x6b, 0x35, 0xc5, 0xa5,
- 0x8b, 0x28, 0xae, 0x36, 0xa6, 0x2e, 0x7f, 0xd4, 0xef, 0xb1, 0xcd, 0xfe, 0xf1, 0xe9, 0x68, 0x3c,
- 0xea, 0x87, 0x6f, 0x40, 0x32, 0x9a, 0xb1, 0x24, 0x61, 0xad, 0xa1, 0x5e, 0x61, 0x9b, 0x83, 0xfe,
- 0xac, 0x7f, 0x30, 0x1a, 0x8f, 0xe2, 0x91, 0x1f, 0x91, 0x49, 0x53, 0xb0, 0x4a, 0xc8, 0x2e, 0x8a,
- 0x95, 0xf5, 0xc0, 0xd6, 0xc7, 0x91, 0xfe, 0x90, 0xad, 0x87, 0x7e, 0x3f, 0xa2, 0x5c, 0xb0, 0xfd,
- 0xe0, 0xd6, 0x82, 0xfb, 0x72, 0x6a, 0xa4, 0xb1, 0x89, 0x16, 0x12, 0xc5, 0xd0, 0x8f, 0x06, 0x14,
- 0x92, 0x57, 0x97, 0xf2, 0xd8, 0x9c, 0xa4, 0xf2, 0xb7, 0x33, 0x6c, 0x53, 0x8a, 0x01, 0x97, 0xfc,
- 0xd9, 0x5d, 0x2a, 0x71, 0x9f, 0x5c, 0xca, 0x7d, 0x74, 0x96, 0x9f, 0xf4, 0xa3, 0xcf, 0xc9, 0x1a,
- 0xfc, 0x37, 0x38, 0x82, 0x74, 0x0b, 0xb2, 0x41, 0x02, 0xa8, 0xbc, 0xc6, 0xd8, 0x9d, 0xf4, 0xe3,
- 0xc1, 0x91, 0x7e, 0x3f, 0x95, 0x96, 0x76, 0x16, 0x26, 0xc1, 0xa9, 0xd4, 0x8c, 0xf4, 0xcb, 0x8c,
- 0x05, 0xa7, 0x13, 0xef, 0xd5, 0xc8, 0x1f, 0x0f, 0x31, 0x2d, 0x94, 0x1e, 0xdc, 0x5c, 0x60, 0x93,
- 0x24, 0x76, 0x31, 0x38, 0x9d, 0x34, 0x39, 0x71, 0xe5, 0xbf, 0x65, 0x30, 0x32, 0x25, 0x52, 0xff,
- 0x36, 0x03, 0xb4, 0x37, 0x18, 0xf7, 0xa3, 0x88, 0x54, 0x58, 0x2e, 0x8b, 0x53, 0xd8, 0x85, 0xe0,
- 0x74, 0x52, 0x87, 0x5f, 0xfa, 0x0f, 0x60, 0x0e, 0x07, 0x28, 0x85, 0x4f, 0xbd, 0xf4, 0xe0, 0xbd,
- 0xa5, 0x8c, 0x92, 0x6a, 0xef, 0x82, 0x5d, 0x08, 0x5e, 0x1d, 0x70, 0x55, 0xf4, 0x17, 0x4c, 0xf7,
- 0x4f, 0x67, 0x7e, 0x38, 0x82, 0x04, 0xe4, 0x87, 0x24, 0x67, 0x8d, 0xcb, 0xf9, 0xea, 0x52, 0x39,
- 0x8b, 0xe4, 0x7b, 0x17, 0xec, 0x4b, 0x2a, 0x94, 0x4b, 0xae, 0x6d, 0xb0, 0x35, 0x8e, 0xad, 0xfc,
- 0xf1, 0x36, 0x66, 0xb5, 0x94, 0x12, 0x67, 0xef, 0x02, 0x2a, 0x25, 0x37, 0x79, 0x44, 0x36, 0xbf,
- 0xc1, 0x0a, 0x47, 0xfd, 0xc8, 0xe3, 0xeb, 0x0c, 0xde, 0x56, 0xb0, 0x37, 0x8e, 0xfa, 0x51, 0x07,
- 0x96, 0xfa, 0x0a, 0xcb, 0x83, 0xe7, 0xa0, 0x53, 0xec, 0x5d, 0xb0, 0xf9, 0x93, 0xfe, 0x21, 0xdb,
- 0x9a, 0x1d, 0xbd, 0x89, 0x46, 0x83, 0xfe, 0x98, 0xfb, 0x1c, 0x7a, 0xc7, 0xde, 0x05, 0x7b, 0x53,
- 0x80, 0x2d, 0x20, 0xfb, 0x2a, 0xdb, 0xa6, 0x2c, 0xe9, 0xc7, 0x7d, 0x88, 0x50, 0x6e, 0x82, 0x3c,
- 0xec, 0x19, 0x1c, 0xde, 0x21, 0xb0, 0x7e, 0x83, 0x6d, 0xf8, 0xf1, 0x91, 0x37, 0x8c, 0x62, 0x9e,
- 0x90, 0x36, 0xf7, 0x2e, 0xd8, 0xeb, 0x7e, 0x7c, 0xd4, 0x88, 0x62, 0x81, 0x8a, 0xc2, 0x01, 0xcf,
- 0x48, 0x02, 0xe5, 0x84, 0x03, 0x7d, 0x87, 0x15, 0x00, 0xc5, 0x27, 0x5c, 0x20, 0x05, 0x80, 0xd8,
- 0x85, 0x39, 0xed, 0xb0, 0xc2, 0xc9, 0xb8, 0x3f, 0xf5, 0x4e, 0x46, 0x43, 0x4c, 0x49, 0x80, 0x04,
- 0xc8, 0xb3, 0xd1, 0x50, 0x22, 0x67, 0x83, 0x19, 0x66, 0x25, 0x81, 0xb4, 0x06, 0x33, 0x18, 0x71,
- 0x34, 0xf3, 0x86, 0xd1, 0x60, 0x86, 0x39, 0x09, 0x46, 0x1c, 0xcd, 0x1a, 0xd1, 0x60, 0xa6, 0x5f,
- 0x67, 0xeb, 0xa3, 0x99, 0xe7, 0x0f, 0xa6, 0xe5, 0x4d, 0xc2, 0xac, 0x8d, 0x66, 0xe6, 0x60, 0x0a,
- 0x02, 0x47, 0x33, 0x2c, 0x0e, 0xca, 0x5b, 0x42, 0xe0, 0x68, 0x66, 0xf1, 0x32, 0x83, 0x23, 0x4f,
- 0x1e, 0xf2, 0x39, 0x6c, 0x27, 0xc8, 0x93, 0x87, 0x34, 0x09, 0x8e, 0x84, 0xb9, 0x5f, 0x54, 0x91,
- 0x34, 0xf9, 0x78, 0x30, 0xe3, 0x8c, 0x9a, 0x50, 0x25, 0x1e, 0xcc, 0x80, 0x8f, 0x50, 0xc0, 0x76,
- 0x49, 0x41, 0x11, 0xd7, 0xf1, 0x10, 0xb9, 0x74, 0x81, 0x3a, 0x1e, 0x0a, 0x2e, 0x40, 0x01, 0xd7,
- 0x65, 0x05, 0x05, 0x5c, 0x3b, 0xac, 0x10, 0x0d, 0x62, 0x64, 0xbb, 0x22, 0x14, 0x01, 0x08, 0x69,
- 0xc9, 0x91, 0xc0, 0x78, 0x55, 0x45, 0x02, 0xe7, 0x3d, 0x56, 0x1a, 0x0d, 0x26, 0x30, 0x09, 0xbe,
- 0x14, 0xd7, 0x08, 0xcf, 0x10, 0xc8, 0x57, 0x23, 0x21, 0x19, 0x04, 0x43, 0xbf, 0x7c, 0x3d, 0x4d,
- 0x52, 0x0f, 0x86, 0x3e, 0xd8, 0xb6, 0x1f, 0xce, 0xbc, 0x60, 0x56, 0x2e, 0x0b, 0xdb, 0xf6, 0xc3,
- 0x59, 0x8f, 0xaf, 0x07, 0x20, 0xa2, 0x59, 0xbf, 0x7c, 0x43, 0xe8, 0xdc, 0x0f, 0x67, 0xce, 0xac,
- 0x2f, 0x50, 0xf1, 0xac, 0x5f, 0xbe, 0xa9, 0xa0, 0xdc, 0x04, 0x15, 0x1d, 0xf5, 0xcb, 0x3b, 0xc2,
- 0x6f, 0x80, 0xeb, 0x28, 0xe1, 0x3a, 0xea, 0x97, 0x6f, 0x29, 0x28, 0xf7, 0xa8, 0x4f, 0xab, 0xf1,
- 0x88, 0x1b, 0xe1, 0x36, 0xe1, 0x60, 0x35, 0x1e, 0x25, 0x4b, 0xf5, 0x88, 0x1b, 0xe1, 0x3d, 0x15,
- 0x29, 0x8c, 0x00, 0xc8, 0x57, 0xe3, 0xfe, 0x81, 0x3f, 0x2e, 0xdf, 0x91, 0x33, 0x9c, 0x9d, 0x3c,
- 0x6a, 0x72, 0x98, 0x34, 0xc2, 0x23, 0xb4, 0xd3, 0xdd, 0x94, 0x11, 0x1e, 0xa5, 0xec, 0xf4, 0x08,
- 0xed, 0x74, 0x2f, 0x4d, 0xc2, 0xed, 0xf4, 0x15, 0xb6, 0xcd, 0x07, 0x9a, 0x0e, 0xbd, 0xb8, 0x1f,
- 0x1e, 0xfa, 0x71, 0xb9, 0x42, 0xba, 0x6c, 0x02, 0xbc, 0x3b, 0x74, 0x39, 0x54, 0xbf, 0x4b, 0x0a,
- 0x4d, 0x87, 0x5e, 0x14, 0x8d, 0xcb, 0xef, 0x13, 0x51, 0x11, 0x89, 0x9c, 0x68, 0xac, 0x52, 0xc4,
- 0xe3, 0x71, 0xf9, 0x83, 0x34, 0x85, 0x3b, 0x1e, 0xeb, 0x77, 0x18, 0x9b, 0xcc, 0xc6, 0x91, 0x87,
- 0x73, 0xfa, 0x90, 0xb4, 0x29, 0x02, 0xac, 0xcd, 0xa7, 0x74, 0x83, 0x6d, 0x70, 0x82, 0x78, 0x50,
- 0xfe, 0x8a, 0x58, 0x00, 0x00, 0xb8, 0xdc, 0x5a, 0x1c, 0x75, 0x10, 0x44, 0xe5, 0xaf, 0x0a, 0x97,
- 0x01, 0x48, 0x2d, 0x88, 0x00, 0x39, 0x3b, 0x38, 0xf0, 0x46, 0xd1, 0x68, 0x58, 0xfe, 0x48, 0x20,
- 0x67, 0x07, 0x07, 0xad, 0x68, 0x34, 0xd4, 0x6f, 0xb3, 0x62, 0x7c, 0x3c, 0x9d, 0xfa, 0x63, 0xd8,
- 0x85, 0xbf, 0x46, 0x19, 0xa3, 0x80, 0xa0, 0xd6, 0x50, 0x5a, 0xda, 0x3f, 0x8d, 0x8f, 0x86, 0x61,
- 0xb9, 0xaa, 0x5a, 0xda, 0xe4, 0x30, 0xfd, 0x63, 0x76, 0x39, 0x9d, 0x78, 0x30, 0xb7, 0x8d, 0xb8,
- 0xac, 0x8c, 0x7d, 0x29, 0x95, 0x7d, 0x78, 0x9e, 0xab, 0xb0, 0x4d, 0xca, 0x40, 0x48, 0xfa, 0x6b,
- 0xdc, 0x18, 0x19, 0x9b, 0x61, 0x1a, 0x52, 0x69, 0xa2, 0x70, 0x80, 0x34, 0x9f, 0x2b, 0x34, 0x4e,
- 0x38, 0xe0, 0x34, 0x1f, 0xb0, 0x2d, 0x91, 0x76, 0x90, 0x68, 0xc2, 0xd5, 0xcb, 0xd8, 0x25, 0xca,
- 0x3d, 0x82, 0x4a, 0x64, 0x04, 0xa4, 0x0a, 0x05, 0x15, 0xa5, 0x85, 0x14, 0x95, 0x54, 0x2a, 0x52,
- 0xa9, 0x14, 0xad, 0x28, 0x3c, 0x90, 0xe8, 0x37, 0x88, 0x88, 0x61, 0x8c, 0xa8, 0x34, 0xb1, 0xa0,
- 0xf9, 0xeb, 0x0a, 0x8d, 0x4b, 0x34, 0x1f, 0xf2, 0xd1, 0x1e, 0x25, 0x3a, 0xfd, 0x8d, 0x0c, 0xcd,
- 0xaf, 0x44, 0x01, 0x90, 0x22, 0x93, 0x4a, 0xfd, 0x66, 0x8a, 0x4c, 0x68, 0xf5, 0x75, 0xa6, 0x29,
- 0xe1, 0x80, 0x94, 0xbf, 0x95, 0xa1, 0x61, 0xb7, 0x93, 0xa0, 0x10, 0x32, 0x85, 0x37, 0x20, 0xe5,
- 0xdf, 0x15, 0x94, 0x25, 0xf2, 0x09, 0x4e, 0x06, 0xdb, 0x89, 0xf0, 0x0b, 0xa4, 0xfb, 0xed, 0x0c,
- 0xad, 0xe8, 0xa6, 0xf0, 0x8e, 0xd4, 0xe0, 0xe8, 0x21, 0x48, 0xfa, 0x3b, 0xa9, 0xc1, 0xd1, 0x4f,
- 0x80, 0x18, 0x76, 0xd4, 0x93, 0xfe, 0xf8, 0xd8, 0xaf, 0xad, 0x63, 0xa5, 0x53, 0xf1, 0xd8, 0xcd,
- 0xd5, 0xbb, 0x32, 0x94, 0xb4, 0x80, 0xc1, 0x43, 0x06, 0x15, 0x57, 0x50, 0x64, 0xec, 0xe1, 0x31,
- 0x0c, 0x7c, 0x44, 0x61, 0xa2, 0xfa, 0x33, 0x05, 0xab, 0xfc, 0x8b, 0x3c, 0x1e, 0x15, 0xfb, 0x03,
- 0x38, 0x3f, 0xea, 0x1f, 0xa7, 0xf6, 0xec, 0xc5, 0xda, 0x10, 0xc9, 0xd4, 0x1a, 0xe9, 0x3b, 0x6c,
- 0x3d, 0x38, 0x8e, 0x67, 0xc7, 0x31, 0xd5, 0x86, 0xef, 0xad, 0xe2, 0x41, 0x2a, 0x08, 0x4a, 0xfc,
- 0xa5, 0xff, 0x80, 0x82, 0x32, 0x8e, 0xc7, 0x7c, 0x4b, 0x2f, 0x2d, 0x39, 0x29, 0x12, 0xaf, 0xa0,
- 0x13, 0x61, 0xeb, 0xc6, 0x63, 0xfd, 0x01, 0xcb, 0xcf, 0x8e, 0xa3, 0x23, 0xaa, 0x88, 0x56, 0xaa,
- 0x0a, 0x34, 0xbc, 0x56, 0x38, 0x8e, 0x8e, 0x60, 0xc8, 0x59, 0x30, 0xe3, 0xe2, 0xa8, 0x02, 0x5a,
- 0x39, 0xa4, 0xa0, 0xe3, 0xc9, 0x20, 0x98, 0x75, 0x66, 0xe3, 0x48, 0xff, 0x16, 0x5b, 0x3b, 0x0c,
- 0x83, 0xe3, 0x19, 0x2f, 0x0c, 0x4a, 0x0f, 0x6e, 0xaf, 0xe2, 0xe5, 0x44, 0xb0, 0x69, 0xf0, 0x1f,
- 0xfa, 0xb7, 0xd9, 0xfa, 0xf4, 0x35, 0x9f, 0xe6, 0xc6, 0xd9, 0x26, 0x42, 0x2a, 0x60, 0x9c, 0xbe,
- 0x86, 0x29, 0x3e, 0x66, 0xc5, 0xc8, 0x8f, 0xa9, 0x62, 0x2b, 0x70, 0xde, 0x7b, 0xab, 0x78, 0x25,
- 0x21, 0xe4, 0xa7, 0xc8, 0x8f, 0xb1, 0xf8, 0xfb, 0x6c, 0xce, 0x05, 0x8a, 0x5c, 0xc8, 0x07, 0xab,
- 0x84, 0xa8, 0xb4, 0x90, 0xc4, 0xd5, 0xe7, 0x5a, 0x81, 0xad, 0x23, 0x59, 0xe5, 0x31, 0x96, 0x7b,
- 0xa9, 0x85, 0xe5, 0x67, 0x2e, 0x28, 0xbf, 0x32, 0x74, 0xe6, 0xa2, 0xd3, 0x24, 0x1c, 0xaa, 0x92,
- 0xc3, 0xeb, 0xfa, 0xa4, 0x7f, 0x0a, 0xe7, 0xd6, 0x8f, 0xf1, 0x3c, 0x35, 0xb7, 0xbc, 0x50, 0xfc,
- 0x49, 0x97, 0xa0, 0xd3, 0x2b, 0x2d, 0x77, 0xe5, 0x3e, 0x1e, 0x65, 0x94, 0x55, 0x85, 0xd2, 0xdf,
- 0x8f, 0x8f, 0xfc, 0x50, 0x7a, 0xec, 0x96, 0x9d, 0x00, 0x2a, 0x9f, 0xa6, 0x86, 0x10, 0xcb, 0xf9,
- 0x05, 0x4c, 0xdf, 0x60, 0xda, 0xfc, 0x3a, 0x82, 0x52, 0xfc, 0x87, 0x72, 0xa4, 0xe6, 0xcf, 0xad,
- 0x61, 0xa5, 0x9a, 0x32, 0x04, 0x2e, 0x9f, 0x7e, 0x55, 0x2e, 0x37, 0x1d, 0xe7, 0xf9, 0x62, 0x56,
- 0xf6, 0xd8, 0x95, 0x65, 0xcb, 0xa5, 0x7f, 0x4c, 0x55, 0x34, 0xa7, 0x3e, 0xfb, 0x7c, 0x41, 0xe5,
- 0xf6, 0x53, 0x76, 0x7d, 0xc5, 0x9a, 0x2d, 0x84, 0x7c, 0x66, 0x31, 0xe4, 0x61, 0xa1, 0x78, 0xfd,
- 0x0b, 0x2b, 0xb2, 0x69, 0xf3, 0xdf, 0x95, 0xdf, 0xcf, 0xa1, 0x79, 0x47, 0xd3, 0x28, 0x0e, 0x8f,
- 0x31, 0x17, 0xe8, 0x4a, 0x2e, 0xd8, 0xa2, 0x68, 0xdf, 0x63, 0xec, 0x30, 0x88, 0x03, 0x3c, 0xb5,
- 0x52, 0xc4, 0x2f, 0x1e, 0x22, 0x14, 0x29, 0x5e, 0x42, 0x0e, 0xbb, 0x35, 0x3c, 0xf1, 0x23, 0xae,
- 0xee, 0xb2, 0xed, 0xd7, 0xe1, 0x28, 0x56, 0xea, 0x71, 0xcc, 0x01, 0x5f, 0x3f, 0x53, 0x5a, 0x9a,
- 0x05, 0x8a, 0x77, 0x0e, 0x91, 0xc5, 0xfb, 0x63, 0xb6, 0x81, 0x66, 0x89, 0x28, 0x2f, 0x7c, 0x70,
- 0xa6, 0x38, 0xa2, 0x85, 0x18, 0xa7, 0x9f, 0xfa, 0x77, 0xd9, 0xda, 0xc4, 0x07, 0xd3, 0x61, 0x7e,
- 0xa8, 0x9c, 0xc9, 0xcf, 0x29, 0x21, 0x5e, 0xf9, 0x0f, 0xbd, 0x37, 0x67, 0xfd, 0xf5, 0x15, 0x0d,
- 0x2c, 0x55, 0xc4, 0x99, 0x21, 0xb7, 0x8e, 0x4b, 0x55, 0xf9, 0x36, 0x6e, 0x03, 0xcb, 0xed, 0x7a,
- 0x46, 0xcf, 0xa7, 0xd2, 0x67, 0xef, 0x9d, 0x6d, 0x42, 0xfd, 0x26, 0x2b, 0xc8, 0x15, 0xc0, 0xfe,
- 0x85, 0x7c, 0xd6, 0xdf, 0x67, 0x5b, 0xe9, 0xa2, 0x25, 0xcb, 0x09, 0x36, 0x27, 0x4a, 0xb5, 0x52,
- 0x69, 0xa3, 0x37, 0x2e, 0x31, 0xab, 0xfe, 0x49, 0xb2, 0x1a, 0xd8, 0x2b, 0xbb, 0xbe, 0x22, 0xf1,
- 0x48, 0xf3, 0x57, 0x1e, 0x60, 0x4f, 0x71, 0xc1, 0xc8, 0x3c, 0x35, 0xc0, 0x0f, 0x65, 0x92, 0xfc,
- 0xb9, 0x35, 0xac, 0x3c, 0xc3, 0xd6, 0xde, 0x2a, 0xab, 0xfe, 0xdc, 0x41, 0xf1, 0x27, 0x39, 0xec,
- 0x64, 0x70, 0x7d, 0x27, 0x01, 0x75, 0xd0, 0x82, 0xcf, 0x47, 0x3e, 0x59, 0x8a, 0x9e, 0xf4, 0x3b,
- 0xac, 0x84, 0xbf, 0x54, 0x2b, 0x31, 0x04, 0xf1, 0x22, 0x40, 0x5d, 0xa1, 0x5c, 0xba, 0x2b, 0xf7,
- 0x3d, 0xb6, 0x31, 0x08, 0x26, 0x93, 0xfe, 0x14, 0xcf, 0xf6, 0xdb, 0x4b, 0x32, 0xbc, 0x18, 0xdf,
- 0x23, 0x42, 0x5b, 0x70, 0xe8, 0xf7, 0xd8, 0xe6, 0x68, 0x38, 0xf6, 0xbd, 0x78, 0x34, 0xf1, 0x83,
- 0xe3, 0x98, 0xfa, 0x1f, 0x25, 0x80, 0xb9, 0x08, 0x02, 0x92, 0xa3, 0x7e, 0x38, 0x94, 0x24, 0xd8,
- 0x64, 0x2b, 0x01, 0x4c, 0x90, 0xdc, 0x64, 0x85, 0x59, 0x38, 0x0a, 0xc2, 0x51, 0xfc, 0x86, 0x3a,
- 0x6d, 0xf2, 0x59, 0xdf, 0x61, 0x45, 0x6c, 0x5f, 0x81, 0xea, 0xd8, 0x67, 0x2b, 0x20, 0xa0, 0xc5,
- 0x9b, 0x8d, 0xc1, 0x71, 0x8c, 0xa7, 0x6e, 0x6c, 0xb5, 0x6d, 0x04, 0xc7, 0x31, 0x3f, 0x6e, 0xef,
- 0xb0, 0x22, 0xa0, 0x70, 0xbb, 0xc4, 0x66, 0x1b, 0xd0, 0xee, 0xf2, 0x8c, 0x2a, 0xfb, 0x9d, 0x25,
- 0xb5, 0xdf, 0xf9, 0x4b, 0x6c, 0x8d, 0x77, 0x60, 0xf8, 0x79, 0xb6, 0xf4, 0xe0, 0xda, 0xf2, 0xfe,
- 0x8c, 0x8d, 0x44, 0xfa, 0x63, 0xb6, 0xa9, 0x2c, 0x78, 0x54, 0xde, 0xe2, 0x0e, 0x76, 0xeb, 0xac,
- 0x58, 0xb3, 0x53, 0x1c, 0x95, 0x1f, 0x67, 0xb0, 0xf4, 0x39, 0x38, 0x1e, 0x7c, 0xee, 0xc7, 0xb0,
- 0xb8, 0xaf, 0xfd, 0xd1, 0xe1, 0x91, 0xd8, 0xc1, 0xe8, 0x09, 0x8a, 0xac, 0xd7, 0xbc, 0x31, 0xc4,
- 0xa7, 0x89, 0xdb, 0x58, 0x91, 0x43, 0xf8, 0x44, 0xef, 0xb0, 0x12, 0xa2, 0x71, 0xaa, 0xb8, 0xba,
- 0xc8, 0x81, 0x93, 0xfd, 0x44, 0x4d, 0x49, 0xe7, 0x0b, 0x82, 0xff, 0x40, 0xcd, 0x23, 0xdc, 0x76,
- 0xc0, 0xf3, 0xbe, 0x9f, 0x78, 0x09, 0x96, 0x66, 0x8b, 0x79, 0x49, 0x12, 0x2f, 0xba, 0xc9, 0xfd,
- 0x54, 0x9b, 0x7f, 0x67, 0x05, 0xab, 0x52, 0xd4, 0xa9, 0x5b, 0x5e, 0x2e, 0xb5, 0xe5, 0xc1, 0x74,
- 0xd0, 0x60, 0xab, 0xa7, 0x83, 0x78, 0x5b, 0xd0, 0x55, 0x7e, 0x3b, 0xc3, 0xb6, 0x79, 0x47, 0xb0,
- 0x0f, 0xcf, 0x50, 0x2f, 0xa4, 0xdd, 0x2a, 0x33, 0xe7, 0x56, 0xd7, 0xd9, 0xc6, 0x68, 0xaa, 0x9a,
- 0x7b, 0x7d, 0x34, 0xe5, 0xb6, 0x56, 0x4c, 0x99, 0x3b, 0x9f, 0x29, 0x65, 0x5c, 0xe7, 0xd5, 0xb8,
- 0x26, 0xf3, 0x92, 0x3e, 0xa3, 0xe9, 0xd9, 0xea, 0xfc, 0xb2, 0xec, 0x98, 0x66, 0x57, 0x04, 0xa8,
- 0x14, 0x34, 0xdf, 0x36, 0x3d, 0x23, 0xee, 0x93, 0x5c, 0x92, 0x4f, 0xe5, 0x12, 0x19, 0x05, 0x6b,
- 0xe7, 0x89, 0x02, 0x31, 0xbd, 0x75, 0x65, 0x7a, 0xff, 0x30, 0x87, 0x45, 0x0c, 0x67, 0x0a, 0xfd,
- 0x49, 0x70, 0xe2, 0xaf, 0x4e, 0x5d, 0x6a, 0xec, 0x67, 0xe7, 0x62, 0xff, 0xfb, 0x72, 0xe2, 0x39,
- 0x3e, 0xf1, 0x0f, 0x96, 0x67, 0x26, 0x1a, 0xe2, 0xac, 0xb9, 0xe7, 0xd3, 0x73, 0xbf, 0xc7, 0x36,
- 0x87, 0xc7, 0x61, 0x9f, 0x0a, 0xa1, 0x81, 0x48, 0x5b, 0x02, 0xe6, 0xf8, 0x03, 0xd8, 0x7a, 0x24,
- 0xc9, 0x14, 0x68, 0x30, 0x6f, 0x49, 0xbe, 0x6e, 0xe4, 0x0f, 0x16, 0xd2, 0xdf, 0xc6, 0x17, 0xa7,
- 0xbf, 0xc2, 0x62, 0xfa, 0xbb, 0xc7, 0x36, 0x69, 0x01, 0x07, 0xc1, 0xf1, 0x14, 0x33, 0x59, 0xde,
- 0x2e, 0x21, 0xac, 0x0e, 0x20, 0xc8, 0x01, 0x07, 0x6f, 0x62, 0x9f, 0x08, 0x18, 0x27, 0x28, 0x02,
- 0x04, 0xd1, 0x72, 0xcd, 0xde, 0x9c, 0x63, 0xcd, 0x2a, 0x7f, 0x92, 0xc5, 0x3d, 0x0e, 0xb7, 0xb3,
- 0x83, 0xfe, 0x74, 0x78, 0xde, 0xf7, 0x66, 0x0a, 0x87, 0x12, 0xac, 0x3a, 0xcb, 0x87, 0xfd, 0xd8,
- 0xa7, 0xe5, 0xe3, 0xbf, 0xb9, 0xc2, 0xc7, 0x61, 0x14, 0x7b, 0xd1, 0xe8, 0xd7, 0x7d, 0x72, 0xbd,
- 0x22, 0x87, 0x38, 0xa3, 0x5f, 0xf7, 0xf5, 0x47, 0x2c, 0x3f, 0x0c, 0x83, 0x19, 0xd5, 0x48, 0x67,
- 0x0e, 0x04, 0x74, 0x70, 0x7e, 0x82, 0x7f, 0xf5, 0xcf, 0x58, 0x69, 0x18, 0x0d, 0x66, 0xb0, 0xe4,
- 0xfd, 0xf0, 0xf3, 0x95, 0x4d, 0x64, 0x95, 0x3d, 0x21, 0xdf, 0xbb, 0x60, 0x33, 0x78, 0xb4, 0xf9,
- 0x93, 0xde, 0x5d, 0x5a, 0x2c, 0x7d, 0x74, 0x96, 0xb0, 0x73, 0xd5, 0x4a, 0x57, 0xb1, 0xee, 0x9f,
- 0x9b, 0x42, 0xe5, 0x7b, 0x58, 0x42, 0x2d, 0x57, 0x0d, 0xec, 0x35, 0x0b, 0xfd, 0x81, 0x37, 0xf6,
- 0x4f, 0x7c, 0x51, 0xb7, 0x17, 0x01, 0xd2, 0x06, 0x40, 0xc5, 0x60, 0x3b, 0x67, 0xa8, 0x72, 0x9e,
- 0x02, 0xa3, 0xf2, 0xaf, 0x28, 0xe9, 0xa0, 0x8c, 0x73, 0xe6, 0x74, 0x49, 0xbc, 0x98, 0xd3, 0xe5,
- 0x1e, 0x9a, 0x55, 0xf7, 0x50, 0xb5, 0x4a, 0xca, 0xa5, 0xaa, 0x24, 0xfd, 0x3b, 0x6c, 0x0d, 0x34,
- 0x17, 0x69, 0xbb, 0x72, 0x96, 0xa1, 0xe9, 0xb5, 0x25, 0x32, 0x54, 0x9e, 0xa0, 0xe6, 0x7e, 0x18,
- 0x06, 0xa1, 0x37, 0x89, 0x0e, 0x97, 0x9e, 0x0c, 0x74, 0x96, 0xe7, 0x6d, 0x42, 0xf2, 0x42, 0xf8,
- 0x2d, 0xb3, 0x53, 0x4e, 0xc9, 0x4e, 0xbf, 0x95, 0xc1, 0x85, 0x40, 0x69, 0xa9, 0xa6, 0xc6, 0x2a,
- 0xd1, 0x37, 0x58, 0xc1, 0x3f, 0xc5, 0xfd, 0x89, 0xc4, 0x6f, 0xf8, 0xa7, 0x33, 0xde, 0xa3, 0x9c,
- 0xb7, 0x7c, 0xee, 0x8c, 0xd2, 0x4e, 0xdd, 0x02, 0x4e, 0x28, 0x04, 0x8f, 0xc7, 0xf1, 0x68, 0xd6,
- 0xe7, 0xef, 0xbb, 0x7e, 0x74, 0xec, 0x47, 0xb1, 0xfe, 0x69, 0x2a, 0x04, 0xef, 0x2c, 0x1a, 0x49,
- 0x72, 0x28, 0x11, 0xb8, 0x7c, 0x2d, 0x74, 0x96, 0x3f, 0x08, 0x86, 0x6f, 0xc4, 0xec, 0xe1, 0x77,
- 0x25, 0x26, 0xe7, 0x54, 0xc6, 0x9d, 0x8d, 0xdf, 0xfc, 0xa2, 0x47, 0xfd, 0xdd, 0x0c, 0xbe, 0xe1,
- 0x1d, 0xfa, 0xd1, 0x80, 0xbb, 0xc8, 0xab, 0x90, 0xff, 0xe6, 0xe3, 0x15, 0xed, 0x8d, 0xc9, 0xab,
- 0xb0, 0x01, 0x28, 0x7c, 0x21, 0x27, 0x5f, 0xf4, 0x15, 0xed, 0xf5, 0xa3, 0xd7, 0x02, 0x11, 0x11,
- 0x02, 0x5f, 0xf3, 0xae, 0x47, 0x88, 0xb8, 0xcd, 0x58, 0xe4, 0x87, 0xa3, 0xfe, 0xd8, 0x9b, 0x1e,
- 0x4f, 0xb8, 0x85, 0x8b, 0x76, 0x11, 0x21, 0xdd, 0xe3, 0x09, 0xf0, 0x0d, 0x71, 0x58, 0x9e, 0x2b,
- 0x8a, 0xf6, 0xfa, 0x70, 0x06, 0x7c, 0x95, 0x3f, 0xca, 0xb0, 0x6b, 0x72, 0x03, 0x89, 0xe2, 0x7e,
- 0x1c, 0xc9, 0x15, 0x38, 0xe3, 0x0d, 0xb6, 0x5a, 0x6f, 0x66, 0xcf, 0xa8, 0x37, 0x73, 0x73, 0xf5,
- 0xe6, 0xaa, 0xbd, 0x76, 0xae, 0x6e, 0x5f, 0x5b, 0xa8, 0xdb, 0x65, 0x62, 0x5f, 0x3f, 0x4f, 0x62,
- 0xff, 0xb7, 0x39, 0xac, 0x73, 0x92, 0x49, 0xe9, 0xdb, 0x2c, 0x3b, 0x1a, 0xf2, 0x17, 0x2d, 0x79,
- 0x3b, 0x3b, 0x3a, 0xf3, 0xf5, 0xfc, 0xfc, 0xa6, 0x98, 0x3d, 0xc7, 0xa6, 0x98, 0x5b, 0xb2, 0x29,
- 0xaa, 0x3b, 0x7a, 0x7e, 0x6e, 0x47, 0xff, 0x72, 0xce, 0x0b, 0xd2, 0xf1, 0x36, 0x54, 0xc7, 0x4b,
- 0x8c, 0x5c, 0x48, 0x19, 0xf9, 0x4b, 0xdc, 0x5e, 0xff, 0x1f, 0x1d, 0x0c, 0xfe, 0x38, 0x83, 0xe9,
- 0xbe, 0x7f, 0x78, 0x18, 0xfa, 0x87, 0xfd, 0xd8, 0xff, 0xff, 0xc6, 0x43, 0xff, 0x1a, 0xbb, 0xb1,
- 0x7c, 0x62, 0x90, 0x84, 0xe6, 0x17, 0x2a, 0xf3, 0x45, 0x0b, 0x95, 0x9d, 0x5f, 0xa8, 0xdb, 0x8c,
- 0xf1, 0xa1, 0x11, 0x4d, 0x55, 0x07, 0x40, 0x38, 0xba, 0xf2, 0xe7, 0x39, 0x4c, 0xfd, 0x68, 0x3c,
- 0xba, 0x44, 0xe1, 0xcd, 0xc2, 0x60, 0xe6, 0x87, 0xbc, 0xdc, 0x54, 0x93, 0xe0, 0x62, 0x21, 0xb0,
- 0xc8, 0xa6, 0x66, 0xc3, 0x67, 0x73, 0xcb, 0x8e, 0xbd, 0xa9, 0x8f, 0xcf, 0x23, 0x45, 0xe5, 0xe3,
- 0xaf, 0xae, 0x94, 0x67, 0xdd, 0x66, 0xa5, 0xa9, 0x7f, 0x1a, 0xab, 0xf7, 0x34, 0x4a, 0x0f, 0xee,
- 0x9f, 0x47, 0xac, 0xc2, 0x06, 0xa5, 0x0f, 0x3c, 0xd2, 0xed, 0x8e, 0xdd, 0xf9, 0x2e, 0xd5, 0xd7,
- 0xcf, 0x23, 0x6f, 0x49, 0xb3, 0xea, 0x7b, 0x2c, 0x17, 0x9c, 0x4e, 0x56, 0xd6, 0x61, 0x4b, 0x84,
- 0x04, 0xa7, 0x93, 0xbd, 0x0b, 0x36, 0x70, 0x81, 0xc5, 0x96, 0x14, 0x60, 0xe7, 0xb2, 0xd8, 0x99,
- 0x85, 0x98, 0x78, 0x89, 0x51, 0x39, 0x64, 0xef, 0x9f, 0xc3, 0xe2, 0x0b, 0x01, 0x9b, 0xf9, 0x99,
- 0x03, 0xf6, 0x33, 0x56, 0xf9, 0xe2, 0x35, 0xd0, 0x3f, 0x60, 0xdb, 0xc9, 0xa3, 0x37, 0x1a, 0xe2,
- 0x48, 0x5b, 0xf6, 0xa6, 0x5c, 0x99, 0xd6, 0x30, 0xaa, 0x38, 0xd8, 0x31, 0x5b, 0x6d, 0xff, 0x9f,
- 0xa7, 0xab, 0xf5, 0xad, 0x55, 0x8e, 0x0f, 0xeb, 0x01, 0xbb, 0x64, 0x70, 0x3a, 0xe1, 0x1a, 0xe5,
- 0xf0, 0x1e, 0x4c, 0x70, 0x3a, 0x01, 0x5d, 0xfe, 0x7e, 0x66, 0xa5, 0x05, 0xcf, 0xac, 0x3f, 0x97,
- 0xbc, 0xe8, 0x49, 0x15, 0x51, 0xb9, 0x74, 0x11, 0xf5, 0x75, 0x96, 0xba, 0xdc, 0xe1, 0x51, 0xb5,
- 0x04, 0x9a, 0x68, 0x2a, 0xa2, 0x01, 0x95, 0xd3, 0xef, 0x65, 0x99, 0xbe, 0xa0, 0x53, 0x74, 0x56,
- 0x4e, 0x14, 0x17, 0xc4, 0xb2, 0xca, 0x05, 0xb1, 0x0f, 0xd9, 0xb6, 0xd2, 0x59, 0x84, 0xfc, 0x95,
- 0xe3, 0xc9, 0x64, 0x2b, 0x69, 0x2d, 0x42, 0x2e, 0x57, 0xc9, 0x78, 0xdf, 0x92, 0xd2, 0xa3, 0x24,
- 0x7b, 0x0e, 0x40, 0xe5, 0xbe, 0xd0, 0x5a, 0xea, 0xbe, 0xd0, 0x1d, 0x56, 0x9a, 0xf4, 0x4f, 0x3d,
- 0x7f, 0x1a, 0x87, 0x23, 0x3f, 0xa2, 0xad, 0x8c, 0x4d, 0xfa, 0xa7, 0x26, 0x42, 0xf4, 0x5d, 0x28,
- 0xfb, 0x79, 0xfa, 0x01, 0xfc, 0x06, 0x5f, 0xcd, 0xf3, 0x84, 0x11, 0xe4, 0x2b, 0x5b, 0x61, 0xad,
- 0xfc, 0x38, 0x83, 0xfd, 0x73, 0x24, 0xc5, 0xbd, 0xff, 0xec, 0xbd, 0x1e, 0x5c, 0xe3, 0x44, 0xcd,
- 0xa4, 0x5b, 0x76, 0x09, 0x61, 0x98, 0x4b, 0xef, 0xb1, 0xcd, 0x71, 0x10, 0x7c, 0x7e, 0x3c, 0x53,
- 0xb2, 0x69, 0xde, 0x2e, 0x21, 0x0c, 0x49, 0xde, 0x67, 0x5b, 0xdc, 0x76, 0xfe, 0x90, 0x68, 0xf2,
- 0xd4, 0x9e, 0x45, 0x20, 0x26, 0xdd, 0x4f, 0xb0, 0xd0, 0x92, 0x57, 0xc0, 0x92, 0x6d, 0x6c, 0xd5,
- 0xbd, 0xac, 0xca, 0x9f, 0x52, 0x1d, 0x93, 0xf0, 0xac, 0xbe, 0xc3, 0x75, 0x9b, 0xb1, 0xf0, 0x94,
- 0x1a, 0x20, 0x91, 0xd8, 0x11, 0xc2, 0x53, 0x0b, 0x01, 0x80, 0x8e, 0x13, 0x34, 0xce, 0xa1, 0x18,
- 0x4b, 0xf4, 0x0d, 0x56, 0x08, 0x4f, 0x3d, 0xd8, 0x40, 0x22, 0x52, 0x7e, 0x23, 0x3c, 0xad, 0xc1,
- 0x23, 0xb7, 0x9e, 0x40, 0xe1, 0xb6, 0xb7, 0x11, 0x13, 0x0a, 0xc7, 0x84, 0x53, 0xdd, 0xcc, 0x1f,
- 0xf2, 0x55, 0xe5, 0x63, 0x36, 0x10, 0x40, 0x63, 0x0a, 0xf4, 0x86, 0x18, 0x53, 0xa0, 0x77, 0x58,
- 0x31, 0x3c, 0xc5, 0xe3, 0x47, 0x44, 0xa5, 0x4a, 0x21, 0x3c, 0x35, 0xf9, 0x33, 0x20, 0x63, 0x89,
- 0xc4, 0x4a, 0xa5, 0x10, 0x0b, 0xe4, 0x5d, 0xb6, 0x19, 0x9e, 0x7a, 0xaf, 0xc2, 0xfe, 0xc4, 0x07,
- 0x12, 0x2a, 0x54, 0x58, 0x78, 0xda, 0x04, 0x90, 0xc9, 0x6f, 0x2d, 0x96, 0xc2, 0x53, 0x2f, 0x38,
- 0xf1, 0x43, 0x4e, 0x50, 0x12, 0xaa, 0xf5, 0x4e, 0xfc, 0x10, 0xf0, 0xb7, 0xb8, 0xe6, 0x83, 0x70,
- 0xc0, 0xd1, 0x9b, 0x62, 0xf0, 0x7a, 0x38, 0x40, 0x6e, 0x36, 0x08, 0xc6, 0xe3, 0x51, 0x44, 0x75,
- 0x0b, 0xed, 0xf5, 0x02, 0xb2, 0x50, 0x21, 0x6e, 0x9f, 0xa3, 0x42, 0xbc, 0xb8, 0x58, 0x21, 0x56,
- 0x1e, 0x62, 0xc7, 0x1e, 0x3b, 0x7c, 0x0b, 0xa5, 0xcd, 0xaa, 0x77, 0x5d, 0xcf, 0x30, 0xee, 0xb1,
- 0xa9, 0x87, 0x0e, 0xe7, 0x87, 0xff, 0xf7, 0x45, 0x43, 0xe5, 0xc7, 0x59, 0x0c, 0x1d, 0x45, 0x9d,
- 0x33, 0xd4, 0xe0, 0xcb, 0xe7, 0xbf, 0x4a, 0xc5, 0x4d, 0x21, 0xf4, 0x5f, 0xc9, 0xa0, 0x49, 0x69,
- 0x93, 0xfb, 0x22, 0x6d, 0xf2, 0xf3, 0x25, 0xcc, 0x97, 0xd5, 0x9a, 0xaa, 0xb1, 0x4d, 0xb2, 0x14,
- 0x9f, 0x11, 0xe5, 0x96, 0x3b, 0x2b, 0x7a, 0xa5, 0xc2, 0x9c, 0x76, 0x09, 0x9f, 0x1d, 0xe0, 0x81,
- 0x63, 0xdb, 0x76, 0x62, 0x19, 0x7e, 0x78, 0xfb, 0xa2, 0x2b, 0x8c, 0x67, 0x76, 0x72, 0xb3, 0x2b,
- 0x3b, 0xb9, 0xb9, 0x73, 0x76, 0x72, 0xff, 0x30, 0xa3, 0xae, 0x15, 0xe4, 0xd5, 0x37, 0xfa, 0xaf,
- 0xd2, 0xd5, 0x50, 0x7c, 0x7d, 0xb9, 0x4a, 0x25, 0x20, 0xa9, 0xfd, 0xd2, 0x6f, 0xfe, 0xf7, 0xff,
- 0x78, 0x7b, 0x1d, 0xe9, 0xe1, 0xe7, 0x2d, 0xfd, 0xa6, 0x42, 0xfd, 0x8d, 0x34, 0x35, 0x5e, 0x27,
- 0xd5, 0x1f, 0xe0, 0x95, 0x61, 0x51, 0xd0, 0xdd, 0x5a, 0x21, 0x9f, 0xd3, 0xe0, 0x85, 0xe2, 0xa8,
- 0xf2, 0xb7, 0x32, 0xe8, 0xab, 0x88, 0x92, 0x7b, 0xd4, 0x15, 0xb6, 0xc6, 0x6f, 0x1a, 0x8a, 0xf7,
- 0xb2, 0xfc, 0x61, 0xe1, 0x1e, 0x6d, 0x76, 0xf1, 0x1e, 0x2d, 0x38, 0x0d, 0x6c, 0x24, 0x5c, 0x9e,
- 0xd8, 0xa4, 0x8b, 0x93, 0xfe, 0x29, 0x2f, 0xde, 0x23, 0xbd, 0x9c, 0x6e, 0xf1, 0x6f, 0x25, 0x1b,
- 0xff, 0x77, 0xd4, 0xc6, 0xd1, 0x62, 0xb7, 0xe1, 0x8c, 0x97, 0x5a, 0xbf, 0x86, 0xaf, 0x8b, 0x95,
- 0xa6, 0x0c, 0x86, 0x46, 0x95, 0x5d, 0x22, 0x17, 0xe7, 0x40, 0x35, 0xea, 0x2e, 0x22, 0xa2, 0xd6,
- 0x9f, 0x62, 0xee, 0xd7, 0xbf, 0xc2, 0x2e, 0x72, 0x5f, 0x57, 0x28, 0x31, 0xfc, 0xb6, 0x00, 0x2c,
- 0xe9, 0x2a, 0x7f, 0x40, 0x21, 0x88, 0x83, 0xc9, 0x10, 0x5c, 0xa1, 0xda, 0x5c, 0x99, 0x9f, 0x9d,
- 0x2b, 0xf3, 0x61, 0xd4, 0xa4, 0x21, 0xae, 0xc6, 0xe1, 0x16, 0x82, 0x5b, 0x53, 0xa4, 0xab, 0x30,
- 0xae, 0x46, 0x42, 0x85, 0xc1, 0x58, 0x02, 0xa0, 0xa0, 0xf9, 0xb2, 0xc2, 0xf1, 0x31, 0x63, 0x89,
- 0x0d, 0x29, 0x18, 0xef, 0x9d, 0xd5, 0x01, 0x43, 0x7f, 0x2a, 0xc2, 0x6f, 0x0c, 0xc6, 0xdf, 0xc0,
- 0xa6, 0x3a, 0x92, 0x9c, 0x79, 0x6f, 0x5f, 0xb5, 0x5c, 0x76, 0x45, 0x0f, 0x2e, 0xf7, 0xb3, 0xf6,
- 0xe0, 0xfe, 0x39, 0xb9, 0x34, 0x12, 0x48, 0x97, 0xa6, 0x5b, 0xeb, 0xf8, 0xc6, 0x3a, 0x23, 0x6f,
- 0xad, 0x77, 0xf8, 0x2b, 0xd3, 0xdb, 0x34, 0x69, 0x74, 0x7a, 0x5a, 0x27, 0x80, 0xb8, 0x4b, 0x1d,
- 0x3f, 0xb7, 0xc4, 0xf1, 0x49, 0xbe, 0x68, 0x1c, 0x0a, 0xf9, 0xe0, 0x3a, 0x12, 0x39, 0x08, 0xc6,
- 0x41, 0x48, 0x2b, 0x03, 0xc8, 0x3a, 0x3c, 0x83, 0xc2, 0x8a, 0x4f, 0x61, 0xaa, 0x38, 0x94, 0x75,
- 0x5a, 0x66, 0xc5, 0x05, 0x1a, 0xd5, 0xbc, 0xb5, 0x8f, 0x21, 0x47, 0x14, 0x04, 0x0f, 0x3c, 0xbc,
- 0xa7, 0xdf, 0x9a, 0x4f, 0x18, 0x2a, 0x87, 0x2c, 0xfc, 0xbe, 0x30, 0x69, 0x28, 0x9e, 0x2e, 0x92,
- 0xc6, 0x09, 0xbb, 0xc7, 0xfb, 0x92, 0xa9, 0x8e, 0xa4, 0x8c, 0xd8, 0xa3, 0xe5, 0x57, 0xaa, 0x32,
- 0x5f, 0x50, 0x69, 0xcf, 0xb5, 0x2b, 0x97, 0x35, 0x44, 0xc7, 0xb8, 0x1b, 0xa7, 0xc6, 0xfd, 0xc5,
- 0x8d, 0x66, 0x62, 0xe3, 0xf3, 0x47, 0xc7, 0xfe, 0x31, 0x9d, 0x24, 0x68, 0x2c, 0xde, 0x36, 0xc2,
- 0xca, 0x56, 0x38, 0x92, 0x3c, 0x99, 0x6b, 0x2c, 0x97, 0x5c, 0xe1, 0x81, 0x9f, 0x95, 0x10, 0x95,
- 0x56, 0xc4, 0x4c, 0x46, 0x53, 0x8f, 0xbf, 0x7a, 0xa8, 0xb3, 0x92, 0x22, 0x97, 0x56, 0x7a, 0xd1,
- 0xd3, 0x17, 0x34, 0xc0, 0x7a, 0x9a, 0xae, 0xae, 0x2d, 0x79, 0xa7, 0xb1, 0x6c, 0xcc, 0xfe, 0xe9,
- 0x2f, 0x78, 0xcc, 0x7f, 0x40, 0xad, 0x20, 0x85, 0x33, 0x65, 0xfd, 0x2f, 0x65, 0xe0, 0xf3, 0x1c,
- 0xdf, 0x96, 0xad, 0xe5, 0xdf, 0xcc, 0x60, 0x4e, 0xa2, 0x6c, 0xcb, 0x07, 0x01, 0x7f, 0xc0, 0xd1,
- 0x92, 0xbc, 0xcd, 0x9f, 0xf1, 0x20, 0xa6, 0x34, 0xa6, 0xf0, 0x86, 0x56, 0x2d, 0x75, 0x02, 0x5a,
- 0xf5, 0x6a, 0x60, 0x85, 0xfe, 0x74, 0xf8, 0x79, 0x80, 0xf7, 0x2f, 0x90, 0xe8, 0x90, 0x57, 0x33,
- 0x10, 0x85, 0x72, 0x97, 0x5b, 0x72, 0x33, 0xac, 0x72, 0x88, 0x27, 0xe2, 0x25, 0x3c, 0xb3, 0xf1,
- 0x9b, 0xa5, 0x77, 0xc9, 0xbe, 0xc5, 0xd6, 0x39, 0xb5, 0xf8, 0x10, 0xe3, 0xf6, 0xaa, 0xd7, 0xb0,
- 0x9c, 0xca, 0x26, 0xe2, 0x8a, 0xb9, 0x70, 0xed, 0x0a, 0xed, 0xb4, 0xe2, 0x45, 0x83, 0xb4, 0x5d,
- 0x2e, 0x65, 0xbb, 0x4a, 0x47, 0x75, 0xbe, 0xf3, 0x9d, 0xa3, 0x52, 0xe2, 0xb2, 0x69, 0x71, 0x7f,
- 0x46, 0xd9, 0x51, 0x91, 0xf7, 0xf3, 0xc8, 0x49, 0x9d, 0x92, 0x72, 0x0b, 0xa7, 0x24, 0xe5, 0xe8,
- 0x95, 0x9f, 0x3f, 0x7a, 0xa5, 0x4e, 0x3a, 0x6b, 0x73, 0x27, 0x9d, 0xf9, 0x6d, 0x77, 0xfd, 0x1c,
- 0xdb, 0xee, 0xc6, 0x92, 0x93, 0xc6, 0x04, 0x1d, 0x34, 0x0c, 0xc6, 0xbe, 0x34, 0xd7, 0x43, 0x96,
- 0x87, 0xe7, 0x95, 0x2f, 0x39, 0x07, 0xc1, 0x34, 0x0e, 0x83, 0xf1, 0xd8, 0x0f, 0x39, 0x9f, 0xcd,
- 0xa9, 0x61, 0xb8, 0x43, 0x7f, 0xea, 0xd3, 0x80, 0x64, 0x88, 0xbc, 0xbd, 0x99, 0x00, 0x5b, 0xc3,
- 0xca, 0xef, 0x50, 0x40, 0xf4, 0xa3, 0x37, 0xd3, 0x81, 0xd8, 0xa4, 0x3f, 0x60, 0xdb, 0x49, 0x39,
- 0xc2, 0xbb, 0xa8, 0xd4, 0xf6, 0x11, 0xd5, 0x08, 0xef, 0xa3, 0x7e, 0xc4, 0x34, 0xe5, 0x2b, 0x29,
- 0x71, 0x8f, 0x07, 0xe8, 0xb6, 0x01, 0xee, 0x70, 0x30, 0xa7, 0xac, 0xb2, 0x4b, 0xa9, 0xd7, 0xde,
- 0x9c, 0x14, 0x4b, 0xc2, 0x8b, 0x80, 0xb0, 0x11, 0xce, 0xef, 0x46, 0xbd, 0x64, 0xdb, 0x7c, 0x2b,
- 0xee, 0x04, 0xc3, 0xfd, 0xd9, 0x10, 0x32, 0x15, 0xbe, 0x10, 0xc0, 0xf7, 0x2e, 0xd9, 0x11, 0xff,
- 0x2a, 0x48, 0xbe, 0xe4, 0xa3, 0xdd, 0xea, 0xe6, 0xea, 0xd7, 0x80, 0x36, 0x56, 0x16, 0x9d, 0x60,
- 0x58, 0xb1, 0xd8, 0x45, 0x2e, 0x9a, 0x57, 0x27, 0x36, 0x8f, 0x9a, 0x1f, 0xb0, 0x92, 0xb2, 0xaf,
- 0xad, 0xec, 0xa3, 0xa9, 0x7b, 0x1f, 0x9b, 0x48, 0x19, 0x95, 0xe7, 0xec, 0x62, 0x73, 0x1c, 0xbc,
- 0xe6, 0x9d, 0xb0, 0x15, 0xda, 0x3e, 0x64, 0x05, 0x71, 0x19, 0x89, 0x94, 0xbd, 0xb1, 0xf2, 0xb6,
- 0x92, 0xbd, 0x01, 0xbf, 0x40, 0x55, 0x8f, 0x5d, 0x01, 0xc1, 0xbc, 0x58, 0x3e, 0x4b, 0xfa, 0xb7,
- 0x59, 0x51, 0x5e, 0x62, 0x59, 0x69, 0x0b, 0x49, 0x61, 0xe3, 0xc1, 0x06, 0x06, 0xf8, 0x2e, 0x5b,
- 0x83, 0x01, 0x22, 0xfd, 0x13, 0xb6, 0x36, 0x8a, 0xfd, 0x89, 0x98, 0xfb, 0xce, 0x72, 0xe5, 0x68,
- 0xdb, 0xe7, 0x94, 0x95, 0xef, 0xb3, 0x75, 0x6e, 0xc7, 0x08, 0x8a, 0x06, 0x95, 0x79, 0x95, 0xe1,
- 0x78, 0x29, 0x23, 0xb8, 0x1f, 0x33, 0x26, 0xa7, 0x76, 0x0e, 0x09, 0xca, 0xb9, 0x49, 0x48, 0x18,
- 0xb1, 0x12, 0x48, 0xa8, 0x1f, 0xf5, 0xa7, 0x87, 0x7e, 0xa4, 0x7f, 0x8d, 0xad, 0xc7, 0x81, 0xd7,
- 0x1f, 0x8a, 0xeb, 0xa0, 0x7a, 0x4a, 0x06, 0x9f, 0xa5, 0xbd, 0x16, 0x07, 0xc6, 0x70, 0xa8, 0xdf,
- 0x67, 0xc5, 0x38, 0x20, 0x37, 0x24, 0x73, 0x2d, 0xa3, 0x2e, 0xc4, 0x01, 0xba, 0x24, 0x94, 0x64,
- 0x9a, 0xd4, 0x56, 0x0c, 0xf8, 0xcd, 0xb9, 0x01, 0xaf, 0x2f, 0x88, 0xc0, 0xc9, 0x89, 0x51, 0x1f,
- 0x2e, 0x8e, 0xba, 0x92, 0x45, 0x0e, 0x4d, 0x5c, 0xc7, 0x7c, 0xdd, 0xa9, 0x87, 0x7e, 0x16, 0x17,
- 0x3a, 0x48, 0xc5, 0x61, 0x05, 0x8b, 0x82, 0x74, 0x99, 0xb3, 0xc8, 0xb0, 0x5e, 0xe9, 0x2c, 0x92,
- 0xc2, 0x2e, 0x88, 0x68, 0xaf, 0x3c, 0x67, 0x45, 0x14, 0xda, 0x3b, 0x8e, 0x17, 0xa4, 0x7e, 0x97,
- 0xb1, 0xe4, 0x96, 0x12, 0x89, 0xdd, 0x59, 0x25, 0x36, 0x38, 0x8e, 0x6d, 0x52, 0xa2, 0x77, 0x0c,
- 0x5b, 0x5a, 0x09, 0x8d, 0x6a, 0x9e, 0xf8, 0xd3, 0x45, 0xd1, 0x7f, 0x89, 0x95, 0x94, 0x0c, 0xb3,
- 0xb2, 0x32, 0x55, 0x68, 0xf6, 0x2e, 0xd8, 0x2c, 0x49, 0x3e, 0xb5, 0x0d, 0xb6, 0xe6, 0x83, 0xe4,
- 0xea, 0x7f, 0xc9, 0xb0, 0x92, 0x24, 0x9d, 0x06, 0xba, 0xc6, 0x36, 0x7b, 0x4d, 0xcb, 0xf2, 0x5a,
- 0xdd, 0x67, 0x46, 0xbb, 0xd5, 0xd0, 0x2e, 0xe8, 0x1a, 0x2b, 0x70, 0x48, 0xc7, 0x78, 0xa1, 0xbd,
- 0xfd, 0xe9, 0xbb, 0x77, 0x1b, 0xfa, 0x15, 0x49, 0xe3, 0x59, 0x3d, 0xdb, 0xd5, 0xfe, 0xc7, 0x3b,
- 0x80, 0xea, 0x8c, 0x71, 0xa8, 0x6b, 0xd4, 0xda, 0xa6, 0xf6, 0x3f, 0x39, 0xec, 0x32, 0x2b, 0x71,
- 0x58, 0xb7, 0x67, 0x77, 0x8c, 0xb6, 0xf6, 0x17, 0x29, 0xc2, 0x66, 0xbb, 0xd7, 0x6b, 0x68, 0xff,
- 0x8b, 0xc3, 0xc4, 0x20, 0x46, 0xbb, 0xad, 0xfd, 0x84, 0x43, 0xae, 0xb3, 0x8b, 0x1c, 0x52, 0xef,
- 0x75, 0x5d, 0xbb, 0xd7, 0x6e, 0x9b, 0xb6, 0xf6, 0xbf, 0x53, 0xec, 0xed, 0x5e, 0xdd, 0x68, 0x6b,
- 0x3f, 0x4d, 0xb3, 0x77, 0x5f, 0x6a, 0xef, 0x00, 0x52, 0xfd, 0x77, 0x6b, 0xf8, 0x9a, 0x9a, 0xef,
- 0xc5, 0xdb, 0x9c, 0xc5, 0xf5, 0xf6, 0xcc, 0x76, 0xbb, 0xa7, 0x5d, 0x90, 0xcf, 0xa6, 0x6d, 0xf7,
- 0x6c, 0x2d, 0xa3, 0x5f, 0x65, 0x97, 0xf0, 0xb9, 0xbe, 0xd7, 0xf3, 0x6c, 0xf3, 0xe9, 0xbe, 0xe9,
- 0xb8, 0x5a, 0x56, 0xbf, 0xcc, 0x55, 0x90, 0x60, 0xab, 0xfd, 0x52, 0xcb, 0x25, 0xb4, 0x2f, 0x2c,
- 0xd3, 0x6e, 0x75, 0xcc, 0xae, 0x6b, 0xda, 0x5a, 0x5e, 0xbf, 0xc1, 0xae, 0x72, 0x70, 0xd3, 0x34,
- 0xdc, 0x7d, 0xdb, 0x74, 0xa4, 0x98, 0x35, 0xfd, 0x3a, 0xbb, 0x3c, 0x8f, 0x02, 0x51, 0xeb, 0xfa,
- 0x0e, 0xbb, 0xce, 0x11, 0xbb, 0xa6, 0x0b, 0xd3, 0x6c, 0xb6, 0x76, 0x25, 0xd7, 0x86, 0x14, 0x98,
- 0x42, 0x02, 0x5f, 0x41, 0xea, 0xe5, 0x48, 0x94, 0x56, 0xd4, 0x75, 0xb6, 0xcd, 0x81, 0x96, 0x51,
- 0x7f, 0x62, 0xba, 0x5e, 0xab, 0xab, 0x31, 0xa9, 0x6b, 0xb3, 0xdd, 0x7b, 0xee, 0xd9, 0x66, 0xa7,
- 0xf7, 0xcc, 0x6c, 0x68, 0x25, 0xfd, 0x0a, 0xd3, 0x90, 0xb4, 0x67, 0xbb, 0x9e, 0xe3, 0x1a, 0xee,
- 0xbe, 0xa3, 0x6d, 0x4a, 0xa9, 0x24, 0xa0, 0xb7, 0xef, 0x6a, 0x5b, 0xfa, 0x25, 0xb6, 0x95, 0x48,
- 0xe8, 0xf4, 0x1a, 0xda, 0xb6, 0x1c, 0x68, 0xd7, 0xee, 0xed, 0x5b, 0x1c, 0x76, 0x51, 0x92, 0x71,
- 0x89, 0x00, 0xd2, 0x24, 0x19, 0x77, 0x07, 0x0e, 0xbb, 0xa4, 0xdf, 0x64, 0xd7, 0x38, 0xac, 0xb3,
- 0xdf, 0x76, 0x5b, 0x96, 0x61, 0xbb, 0x72, 0xbe, 0xba, 0x5e, 0x66, 0x57, 0x16, 0x70, 0x30, 0xdd,
- 0xcb, 0x12, 0x53, 0x33, 0x6c, 0xbb, 0x65, 0xda, 0x92, 0xe7, 0x8a, 0x7e, 0x8d, 0xe9, 0x73, 0x18,
- 0xe0, 0xb8, 0xaa, 0xdf, 0x63, 0xb7, 0x39, 0xfc, 0xe9, 0xbe, 0xb9, 0x6f, 0x2e, 0x33, 0xef, 0x35,
- 0xfd, 0x0e, 0xdb, 0x59, 0x45, 0x02, 0x32, 0xae, 0x4b, 0xdb, 0xd9, 0xbd, 0xb6, 0x29, 0xf9, 0xca,
- 0xd2, 0x4a, 0x04, 0x06, 0xda, 0x1b, 0x72, 0x5e, 0x20, 0xc6, 0x70, 0x5e, 0x76, 0xeb, 0x92, 0xe1,
- 0xa6, 0xd4, 0x5e, 0xc5, 0x01, 0xd7, 0x8e, 0xb4, 0x90, 0x23, 0x30, 0xda, 0x2d, 0x09, 0xeb, 0x98,
- 0xae, 0x69, 0x73, 0xab, 0xdd, 0xae, 0xd6, 0xf1, 0x9e, 0xc7, 0xdc, 0x1f, 0x3a, 0x20, 0xd2, 0x3d,
- 0xbe, 0xd6, 0x22, 0x56, 0x71, 0x30, 0x80, 0x3d, 0x33, 0x6d, 0xa7, 0xd5, 0xeb, 0xd6, 0x5a, 0x6e,
- 0xc7, 0xb0, 0xb4, 0x4c, 0xd5, 0xc7, 0x6a, 0x86, 0x2a, 0x63, 0x6c, 0x2e, 0xa0, 0x1f, 0xd4, 0xbd,
- 0xa6, 0x6d, 0xec, 0x8a, 0x10, 0xbd, 0x40, 0x72, 0x09, 0xda, 0xb0, 0x7b, 0x96, 0x96, 0xa1, 0x59,
- 0x13, 0xcc, 0x36, 0x0d, 0xa7, 0xa3, 0x65, 0xd3, 0x84, 0x1d, 0xc3, 0x79, 0xa2, 0xe5, 0xaa, 0x8f,
- 0x71, 0x18, 0x7c, 0x57, 0x41, 0x45, 0x13, 0x39, 0x47, 0x5d, 0xd1, 0x93, 0x9c, 0xbb, 0xee, 0x35,
- 0x4c, 0xcb, 0x36, 0xeb, 0x86, 0x6b, 0x36, 0x84, 0x84, 0x5f, 0xc1, 0xaf, 0xac, 0xf1, 0x36, 0x3a,
- 0xb1, 0xaa, 0x53, 0xdc, 0x66, 0x45, 0x04, 0x41, 0x3e, 0xfa, 0x69, 0x26, 0x79, 0x86, 0xd4, 0xf1,
- 0x2e, 0x53, 0xfd, 0xd7, 0x54, 0xb7, 0xa5, 0x5a, 0x0f, 0x98, 0xd5, 0x54, 0x0d, 0xe4, 0x8c, 0xc0,
- 0xb1, 0x21, 0x06, 0x1c, 0x2d, 0x23, 0x0d, 0x82, 0x3e, 0x8b, 0xd0, 0xac, 0x24, 0x95, 0xe1, 0xe2,
- 0x68, 0x79, 0x49, 0x8a, 0x51, 0x80, 0xd0, 0x02, 0xe9, 0x5b, 0xf7, 0x5a, 0x16, 0x59, 0xe9, 0xae,
- 0x24, 0x44, 0x47, 0x43, 0xc2, 0xc7, 0xfa, 0x35, 0xee, 0x5d, 0x24, 0xb3, 0xd6, 0xee, 0xd5, 0x9f,
- 0x98, 0x0d, 0xed, 0x6d, 0xb6, 0x7a, 0xa2, 0x7c, 0x64, 0x9f, 0x32, 0xdf, 0x12, 0xe5, 0x05, 0x7b,
- 0xa3, 0xf7, 0xbc, 0xab, 0x65, 0x12, 0xba, 0x2e, 0x24, 0xab, 0xfa, 0x33, 0x2d, 0x2f, 0x92, 0x39,
- 0x07, 0x35, 0x9f, 0x37, 0xb4, 0xbb, 0x14, 0x31, 0x08, 0x49, 0x32, 0xc5, 0xe3, 0xea, 0x5f, 0x9e,
- 0x7b, 0x4b, 0x23, 0x4c, 0x6f, 0x39, 0x8b, 0xc3, 0x3a, 0x5e, 0xbb, 0xd5, 0x7d, 0x32, 0x37, 0xac,
- 0x23, 0x67, 0x91, 0xa5, 0xf4, 0xca, 0xe9, 0x9e, 0x99, 0x5a, 0xbe, 0xfa, 0xa7, 0x59, 0xfc, 0xb4,
- 0x85, 0x4b, 0x97, 0xed, 0x26, 0x62, 0x6c, 0x2a, 0x03, 0x48, 0xd0, 0x27, 0x1f, 0x77, 0x6a, 0xde,
- 0x5e, 0x23, 0x11, 0x4f, 0xa0, 0x66, 0x43, 0xfa, 0x1d, 0x07, 0x11, 0x59, 0x7e, 0x1e, 0xd6, 0x6c,
- 0x68, 0x05, 0x31, 0xfb, 0xa6, 0xf7, 0xc9, 0x2e, 0xa7, 0xd2, 0xd2, 0x90, 0x26, 0xd8, 0x43, 0x11,
- 0x8f, 0xa0, 0xc7, 0xba, 0x2e, 0x40, 0x0f, 0x09, 0xf4, 0x16, 0xfc, 0x3f, 0x11, 0x4f, 0xc0, 0xac,
- 0x7e, 0x49, 0x4a, 0x73, 0x11, 0x04, 0x06, 0x2f, 0x21, 0xa8, 0xe7, 0xee, 0x99, 0xb6, 0xf6, 0xb6,
- 0x90, 0x10, 0xd5, 0x7b, 0x96, 0x05, 0x20, 0x2d, 0x21, 0x6a, 0xb6, 0x6a, 0x00, 0xb9, 0x9b, 0x0c,
- 0x69, 0xec, 0xbb, 0xbd, 0xae, 0xb9, 0xab, 0xbd, 0x7d, 0xac, 0x5f, 0x12, 0x54, 0x96, 0xb1, 0xef,
- 0x98, 0xda, 0xdb, 0xb7, 0x19, 0xfd, 0x1a, 0x77, 0x25, 0x01, 0x82, 0x9c, 0xd1, 0xd1, 0xde, 0xbe,
- 0xcd, 0x56, 0x1b, 0x8a, 0xd3, 0xd0, 0x85, 0xd9, 0x2d, 0x1e, 0x15, 0x96, 0xed, 0x19, 0x0d, 0xdc,
- 0xc3, 0x37, 0xf1, 0xb1, 0x61, 0xb6, 0x4d, 0xd7, 0xd4, 0x32, 0x09, 0xa4, 0xd3, 0x6b, 0xb4, 0x9a,
- 0x2f, 0xb5, 0x6c, 0xf5, 0x53, 0x74, 0x81, 0xe4, 0x0f, 0x17, 0x90, 0x51, 0x3b, 0xdc, 0xe9, 0xbb,
- 0x0d, 0xc3, 0x06, 0x49, 0x28, 0xb8, 0xe3, 0x7a, 0xbd, 0x17, 0x1d, 0x2d, 0x53, 0xfd, 0x3c, 0xf9,
- 0xcb, 0x04, 0xfc, 0x4f, 0x0d, 0x90, 0xdc, 0x17, 0x9d, 0xba, 0xd7, 0x7d, 0xd1, 0xf1, 0x3e, 0x96,
- 0x63, 0x0b, 0xc8, 0x27, 0x5a, 0x46, 0xdf, 0xe1, 0xd1, 0x0f, 0x90, 0x9e, 0x65, 0x76, 0x79, 0x04,
- 0xd6, 0x0c, 0xa7, 0x55, 0x87, 0xc9, 0xe8, 0x37, 0xf8, 0x6e, 0x09, 0xc8, 0xd4, 0x0e, 0xfb, 0xee,
- 0x5d, 0xae, 0xfa, 0xf7, 0x0a, 0xec, 0xf2, 0x92, 0x8f, 0xfd, 0xc9, 0xa9, 0x5f, 0x80, 0x52, 0xcd,
- 0x9a, 0xac, 0x4a, 0x2e, 0x50, 0x5a, 0x56, 0xe1, 0x7b, 0x2f, 0x11, 0x97, 0xa1, 0x4d, 0x59, 0xe0,
- 0x3a, 0xa6, 0x6b, 0x34, 0x0c, 0xd7, 0xd0, 0xb2, 0x73, 0xc2, 0x4c, 0x77, 0xcf, 0x6b, 0x38, 0xae,
- 0x96, 0x5b, 0x02, 0x77, 0xec, 0xba, 0x96, 0x9f, 0x13, 0x04, 0x70, 0xf7, 0xa5, 0x65, 0xca, 0x6d,
- 0x5f, 0x20, 0x9e, 0xb5, 0x8d, 0xae, 0xf7, 0xac, 0xd5, 0xd0, 0xd6, 0x97, 0x21, 0xac, 0xba, 0xa5,
- 0x6d, 0xcc, 0xcf, 0xc3, 0xf2, 0x1a, 0x4e, 0xdd, 0xd2, 0x0a, 0xb4, 0x15, 0x29, 0x70, 0xb3, 0xde,
- 0xd5, 0x8a, 0x73, 0x72, 0x5a, 0x96, 0x67, 0xd9, 0x3d, 0xb7, 0xa7, 0xb1, 0x05, 0xc4, 0xb3, 0x87,
- 0x5c, 0xd7, 0xd2, 0x32, 0x04, 0x4c, 0x6e, 0x73, 0x6e, 0x64, 0xb7, 0x6e, 0x71, 0x86, 0xad, 0x25,
- 0x70, 0xa0, 0xdf, 0x9e, 0x83, 0xef, 0x37, 0x90, 0xfe, 0xe2, 0x12, 0x38, 0xd0, 0x6b, 0x73, 0x03,
- 0x3b, 0x75, 0x17, 0x19, 0x2e, 0x2d, 0x43, 0x34, 0x78, 0x39, 0x30, 0xb7, 0x76, 0xf5, 0x0e, 0x28,
- 0xcb, 0x2d, 0x7b, 0x79, 0x39, 0xae, 0xde, 0x6b, 0x98, 0xda, 0x95, 0x39, 0x5b, 0x19, 0xb6, 0xe5,
- 0xf5, 0x2c, 0xed, 0xea, 0x9c, 0x62, 0x00, 0x76, 0x2c, 0x43, 0xbb, 0xb6, 0x04, 0xee, 0x5a, 0x86,
- 0x76, 0x7d, 0x19, 0xfd, 0x9e, 0xa1, 0x95, 0x97, 0xd1, 0xef, 0x19, 0xda, 0x8d, 0x45, 0xcb, 0x3e,
- 0xe2, 0x13, 0xbc, 0xb9, 0x0c, 0x01, 0x13, 0xdc, 0x99, 0x9f, 0x04, 0x20, 0x9a, 0x6d, 0xa3, 0x66,
- 0xb6, 0xb5, 0x5b, 0xcb, 0x26, 0xf8, 0x08, 0x27, 0x7f, 0x7b, 0x39, 0x8e, 0x4f, 0xfe, 0x3d, 0xfd,
- 0x36, 0xbb, 0x31, 0x2f, 0xb3, 0xdb, 0xf0, 0x5c, 0xc3, 0xde, 0x35, 0x5d, 0xed, 0xce, 0xb2, 0x21,
- 0xbb, 0x0d, 0xcf, 0x69, 0xb7, 0xb5, 0xbb, 0x2b, 0x70, 0x6e, 0xbb, 0xad, 0xdd, 0xa3, 0xdd, 0x5a,
- 0xc6, 0x8a, 0xd5, 0x76, 0x3c, 0xd4, 0xb4, 0x32, 0x67, 0x0f, 0x8e, 0x72, 0xeb, 0xda, 0xfb, 0xf3,
- 0xe1, 0x05, 0xf0, 0x5a, 0xcf, 0xd1, 0x3e, 0x98, 0x43, 0x58, 0xb5, 0x9a, 0xd7, 0x72, 0x5a, 0x0d,
- 0xed, 0x43, 0x2a, 0x5d, 0xa4, 0xab, 0xed, 0x77, 0xbb, 0x66, 0xdb, 0x6b, 0x35, 0xb4, 0xaf, 0x2c,
- 0x53, 0xcd, 0x7c, 0xe1, 0xee, 0x35, 0x6c, 0xed, 0xab, 0xd5, 0x4f, 0xf1, 0xf4, 0xc2, 0x3f, 0x4d,
- 0x1f, 0x0d, 0xf5, 0x8b, 0x3c, 0x69, 0x3e, 0x6b, 0x35, 0xbc, 0x6e, 0xaf, 0x6b, 0xf2, 0x2d, 0x6b,
- 0x9b, 0x00, 0x96, 0x6d, 0x3a, 0x66, 0xd7, 0xd5, 0xde, 0xde, 0xad, 0xfe, 0xfb, 0x0c, 0xf6, 0xf1,
- 0x46, 0xb3, 0x93, 0x47, 0xf4, 0x29, 0xb5, 0xb8, 0xef, 0x0a, 0xd4, 0x2d, 0x73, 0x6f, 0x61, 0x4f,
- 0x02, 0x18, 0x88, 0x7c, 0x01, 0xb9, 0x03, 0xf7, 0x37, 0x00, 0x99, 0x8e, 0xa5, 0x65, 0x69, 0x54,
- 0x78, 0x36, 0xf6, 0xdd, 0x3d, 0x2d, 0xaf, 0x00, 0x1a, 0x50, 0x04, 0x16, 0x14, 0x00, 0x14, 0x4b,
- 0x9a, 0xa6, 0x48, 0xb5, 0x7b, 0xfb, 0x90, 0xdf, 0xee, 0x2a, 0x52, 0xf7, 0x7a, 0x96, 0xf6, 0x98,
- 0x76, 0x0e, 0x78, 0xde, 0xef, 0xda, 0xa6, 0x05, 0xdb, 0x90, 0x0a, 0x72, 0xcc, 0xa7, 0x50, 0x30,
- 0xfc, 0x24, 0x9b, 0xfa, 0x96, 0x95, 0xfe, 0xbc, 0x16, 0x90, 0x19, 0xbc, 0x86, 0xb7, 0xf6, 0x21,
- 0x13, 0xe2, 0x32, 0x19, 0x50, 0xe4, 0x5a, 0x2f, 0x3d, 0xd7, 0x6d, 0xf3, 0xf2, 0xbe, 0x44, 0xd1,
- 0xa2, 0xc2, 0x5b, 0x5d, 0x99, 0x0e, 0x0c, 0x2c, 0x4d, 0x71, 0x51, 0xdd, 0xb6, 0x0c, 0x6f, 0xc3,
- 0xf5, 0x1a, 0x66, 0x3d, 0x81, 0x6b, 0x54, 0x18, 0x18, 0xae, 0x67, 0xed, 0x3b, 0x7b, 0x3c, 0xa3,
- 0x69, 0x97, 0xc8, 0x98, 0x00, 0xec, 0x59, 0x08, 0xd3, 0xe7, 0x08, 0x41, 0x82, 0x76, 0x39, 0x4d,
- 0xc8, 0x61, 0x57, 0x12, 0x42, 0xd0, 0x80, 0x97, 0x4e, 0xda, 0x55, 0xb2, 0xa2, 0x41, 0x47, 0x0f,
- 0xed, 0x1a, 0xd5, 0x56, 0x44, 0xd5, 0x7d, 0xce, 0xb5, 0xb9, 0x9e, 0x40, 0x41, 0x4b, 0x82, 0x96,
- 0xd3, 0x12, 0x9b, 0x2d, 0xb3, 0xdd, 0xd0, 0x6e, 0x28, 0x43, 0x83, 0x3e, 0x56, 0xad, 0xa6, 0xdd,
- 0xa4, 0xa5, 0x21, 0x75, 0x00, 0xb4, 0xa3, 0x97, 0xc5, 0xbc, 0x17, 0xb6, 0xa4, 0x67, 0x78, 0x23,
- 0x46, 0xe9, 0x33, 0xd2, 0x37, 0xca, 0xa2, 0x3a, 0xee, 0xb4, 0x53, 0x47, 0x69, 0x46, 0x30, 0x28,
- 0x5e, 0xff, 0xeb, 0xbb, 0x1c, 0x6d, 0xe9, 0x00, 0xe9, 0xf6, 0xbc, 0xda, 0x7e, 0xb3, 0x49, 0x72,
- 0xff, 0xb3, 0x70, 0x51, 0xe5, 0x3b, 0x44, 0xbe, 0xb6, 0xe4, 0x38, 0x6a, 0x45, 0x8c, 0xf3, 0x6d,
- 0xb9, 0xde, 0x6e, 0xcf, 0xed, 0xd1, 0xf1, 0x3b, 0x43, 0xf1, 0xd4, 0x72, 0xbd, 0xe7, 0x76, 0xcb,
- 0x35, 0xd5, 0x1d, 0x0e, 0x43, 0x50, 0x62, 0x8c, 0xba, 0xdb, 0xea, 0x75, 0x1d, 0x2d, 0x97, 0x20,
- 0x0c, 0xcb, 0x6a, 0xbf, 0x94, 0x88, 0x7c, 0x82, 0xa8, 0xb7, 0x4d, 0xc3, 0x96, 0x88, 0x35, 0xe1,
- 0xd7, 0x74, 0x5e, 0xd1, 0xd6, 0xc9, 0x52, 0xad, 0x25, 0x96, 0xfa, 0xab, 0x38, 0xa1, 0xf9, 0xef,
- 0x0f, 0xa9, 0xa0, 0x68, 0xd6, 0x53, 0x95, 0x4a, 0xb3, 0x2e, 0xea, 0x12, 0xb1, 0x53, 0x4b, 0x88,
- 0xe7, 0xb8, 0x76, 0xab, 0x0e, 0xc7, 0x73, 0x49, 0x4a, 0x45, 0x4d, 0x2e, 0x21, 0x45, 0x88, 0x20,
- 0xcd, 0x57, 0xff, 0x31, 0xbd, 0xf1, 0x94, 0xa3, 0x63, 0xbc, 0xa3, 0x31, 0x9b, 0x6a, 0x09, 0x4a,
- 0x22, 0x9a, 0x9e, 0x63, 0x76, 0x1b, 0xf2, 0xe0, 0x9c, 0xa8, 0xd1, 0xf4, 0xea, 0x7b, 0x66, 0xfd,
- 0x89, 0xd7, 0x7b, 0x66, 0xda, 0x6d, 0xc3, 0x92, 0x05, 0x43, 0xb3, 0xe9, 0x41, 0x82, 0x81, 0x48,
- 0xda, 0xef, 0xba, 0x89, 0xd1, 0x9a, 0x4d, 0x5e, 0x6a, 0x3f, 0x91, 0x88, 0x42, 0x0a, 0x51, 0x7b,
- 0x29, 0x11, 0x5a, 0xd5, 0xc1, 0xa3, 0x0f, 0x7e, 0x29, 0x8e, 0xb3, 0xdb, 0x5d, 0x68, 0xc4, 0xec,
- 0x2a, 0x8d, 0x18, 0x01, 0x49, 0xba, 0x26, 0x12, 0x22, 0x1b, 0x21, 0x9f, 0xe1, 0x4b, 0xba, 0x85,
- 0x2f, 0xfa, 0xc8, 0xf0, 0xbb, 0x69, 0xc3, 0xef, 0x2a, 0x86, 0x97, 0x10, 0xb2, 0x6f, 0xb6, 0xea,
- 0xa8, 0x77, 0x48, 0xb8, 0x3b, 0x92, 0x10, 0x3c, 0x7d, 0x49, 0x21, 0x10, 0x64, 0x6d, 0xb3, 0x0e,
- 0xb9, 0x12, 0xc3, 0x60, 0x17, 0xfc, 0xb5, 0xd1, 0xb2, 0x4d, 0xbe, 0x70, 0x9b, 0xa8, 0xa4, 0xeb,
- 0x35, 0x9b, 0x5a, 0xae, 0x6a, 0xa1, 0x63, 0xcc, 0x7f, 0xf7, 0x46, 0x8b, 0x63, 0x83, 0x95, 0x3a,
- 0x86, 0x5b, 0xdf, 0xd3, 0x2e, 0x90, 0xbb, 0x09, 0x07, 0x94, 0x07, 0x36, 0x5b, 0x18, 0x89, 0x87,
- 0x7a, 0xb6, 0xfa, 0x77, 0x32, 0xf8, 0x82, 0x65, 0xc9, 0x17, 0x65, 0xb4, 0x5a, 0xb6, 0xed, 0xb5,
- 0x1a, 0x6d, 0xd3, 0x73, 0x5b, 0x1d, 0xb3, 0xa7, 0x64, 0x48, 0xdb, 0xf6, 0xf6, 0x0c, 0xbb, 0x21,
- 0xe1, 0xc2, 0x08, 0xb6, 0xac, 0x9c, 0xb3, 0x09, 0x25, 0x1e, 0xfd, 0xa4, 0xf3, 0x49, 0x38, 0x9e,
- 0xdd, 0x09, 0x9e, 0xaf, 0x4e, 0xe9, 0xcf, 0x86, 0xf1, 0xd7, 0xe8, 0x54, 0x3e, 0x7b, 0x3f, 0x34,
- 0xed, 0x9e, 0x5c, 0xd2, 0x0e, 0x2e, 0xe9, 0xdb, 0x9f, 0xbc, 0xdb, 0xd0, 0xaf, 0xf2, 0x59, 0x77,
- 0x3c, 0xa7, 0xdd, 0x7b, 0x6e, 0x19, 0xee, 0x1e, 0x35, 0xbd, 0xb0, 0x1b, 0xd6, 0x51, 0xbb, 0x61,
- 0x6a, 0xe7, 0xab, 0x83, 0xa7, 0x5f, 0xbe, 0xe0, 0x93, 0x85, 0x6f, 0x96, 0xd4, 0x62, 0xbe, 0xa6,
- 0x66, 0x0e, 0xb4, 0x27, 0xc0, 0xe8, 0x9c, 0x8f, 0x73, 0xe0, 0x00, 0xa7, 0x0e, 0x67, 0xd8, 0x8e,
- 0x61, 0x3f, 0xd1, 0x44, 0x51, 0x0e, 0xf0, 0x85, 0xb8, 0xfe, 0x4c, 0xfd, 0x00, 0x6d, 0xd1, 0xbf,
- 0x3a, 0x69, 0xff, 0xea, 0x2c, 0xf8, 0x57, 0x47, 0xf1, 0xaf, 0x43, 0xf5, 0x35, 0xbf, 0x1a, 0xa2,
- 0x9d, 0x66, 0xaa, 0x03, 0xc0, 0x10, 0xf4, 0xa4, 0x66, 0xc1, 0xa9, 0x9d, 0x66, 0xd1, 0x84, 0x28,
- 0xb3, 0x1c, 0xb9, 0x1f, 0x77, 0x9a, 0x5e, 0x6d, 0xdf, 0x76, 0x5c, 0xb9, 0x1f, 0x77, 0x9a, 0xe2,
- 0x9c, 0x5e, 0xfd, 0x43, 0xba, 0x95, 0x88, 0x1f, 0x0e, 0x71, 0xfb, 0xe0, 0xd4, 0x4d, 0x6a, 0x12,
- 0x7a, 0x4d, 0xa3, 0xd5, 0x36, 0x61, 0x34, 0xdc, 0x22, 0x4d, 0xd7, 0xab, 0x19, 0x0d, 0xd9, 0xd6,
- 0x11, 0x9e, 0x47, 0x60, 0xf2, 0xc7, 0x2c, 0x55, 0x4a, 0x04, 0x6d, 0x75, 0x1d, 0xd7, 0xde, 0x47,
- 0x54, 0x8e, 0xf6, 0x1f, 0x42, 0xa1, 0x43, 0xe7, 0x13, 0x7a, 0xd1, 0x5f, 0x13, 0xe3, 0xae, 0x51,
- 0xd5, 0x63, 0x2a, 0x7d, 0x36, 0x81, 0x5b, 0x4f, 0xd8, 0x44, 0xbf, 0x4d, 0xa0, 0x36, 0x12, 0x36,
- 0xd9, 0x77, 0x13, 0xb8, 0x42, 0xc2, 0x86, 0xbd, 0x88, 0x9e, 0x25, 0x50, 0x45, 0xfd, 0x3d, 0x76,
- 0x13, 0x51, 0xce, 0xf3, 0x96, 0x5b, 0xdf, 0x13, 0xcd, 0x30, 0xc2, 0x33, 0xaa, 0x2c, 0xcd, 0x74,
- 0x3b, 0x4c, 0xa0, 0x4b, 0xc9, 0xa8, 0xb2, 0x6f, 0x25, 0x70, 0x9b, 0xd4, 0x69, 0x93, 0x1a, 0xc9,
- 0x2e, 0x28, 0x11, 0x6c, 0xd1, 0x9e, 0x61, 0x2e, 0xf1, 0xad, 0x9a, 0xfa, 0x47, 0x41, 0x5f, 0xf5,
- 0x47, 0x63, 0x7e, 0x3b, 0x95, 0xff, 0x4d, 0x2d, 0xf0, 0xc7, 0xbd, 0x66, 0xdd, 0x6b, 0x75, 0xeb,
- 0xbd, 0x8e, 0x65, 0xb8, 0x2d, 0xd8, 0xf5, 0x84, 0x97, 0x01, 0xc2, 0xb4, 0x4c, 0x1b, 0x4e, 0xa8,
- 0x7f, 0x9e, 0xc5, 0xfc, 0x72, 0xd0, 0x1f, 0x8a, 0xd7, 0x86, 0x28, 0x03, 0x17, 0xbc, 0x66, 0xd7,
- 0xf9, 0x8a, 0x50, 0xbf, 0x4c, 0x76, 0x39, 0x04, 0x9c, 0x57, 0xdd, 0x62, 0x37, 0x15, 0x40, 0xd9,
- 0xa3, 0xd4, 0xb2, 0xd4, 0xc4, 0x15, 0x98, 0xd4, 0x14, 0xc4, 0x86, 0xa4, 0x20, 0x51, 0x9e, 0xe8,
- 0xcc, 0x00, 0x02, 0xf5, 0x5c, 0xa3, 0xf8, 0x14, 0xa4, 0x6d, 0xb3, 0x2b, 0x4f, 0x8a, 0x1c, 0xc6,
- 0x4b, 0x03, 0xcf, 0xec, 0x58, 0xee, 0x4b, 0xd9, 0x1c, 0x56, 0x10, 0xfb, 0xdd, 0x27, 0xdd, 0xde,
- 0xf3, 0xae, 0xdc, 0x5d, 0xa4, 0xfa, 0xdc, 0xe6, 0x2d, 0x58, 0xe2, 0x64, 0x5e, 0x2d, 0xc7, 0x73,
- 0xda, 0xc6, 0x33, 0x53, 0x63, 0x73, 0x93, 0xe5, 0x67, 0x63, 0x51, 0x15, 0x4a, 0x20, 0x6f, 0x13,
- 0x69, 0x9b, 0xfa, 0x07, 0xec, 0x2e, 0x81, 0x93, 0x1e, 0x2d, 0x0d, 0x0f, 0xbb, 0x21, 0xb8, 0xb0,
- 0xb6, 0x55, 0xfd, 0xfd, 0x1c, 0xe6, 0x1f, 0xb0, 0x37, 0x15, 0xa5, 0xdc, 0xdc, 0x34, 0x92, 0xa1,
- 0x98, 0x55, 0xf4, 0x1a, 0x05, 0x10, 0x26, 0x9d, 0x11, 0x06, 0x35, 0x96, 0x18, 0x54, 0xd4, 0x2e,
- 0x0a, 0x12, 0x25, 0xe5, 0xe6, 0x10, 0xbd, 0x7d, 0x8c, 0x0d, 0xb9, 0x0d, 0x0b, 0x84, 0x61, 0xef,
- 0xee, 0x83, 0x30, 0x6d, 0x4d, 0x2c, 0x81, 0x21, 0x96, 0x60, 0x5d, 0x51, 0xd1, 0xed, 0xc1, 0xa6,
- 0xd3, 0x05, 0x53, 0x63, 0xa0, 0x0b, 0x7e, 0x2c, 0x45, 0x0b, 0xc2, 0x1f, 0x94, 0xe1, 0xb0, 0x26,
- 0x2d, 0x52, 0xa4, 0x00, 0x86, 0x07, 0x39, 0x77, 0xd0, 0xae, 0xd3, 0x72, 0x5c, 0x18, 0x95, 0xe9,
- 0xb7, 0x58, 0x99, 0xd0, 0xfb, 0x5d, 0x67, 0xdf, 0x02, 0x25, 0xcd, 0x86, 0xd7, 0xb3, 0x1b, 0xa6,
- 0xad, 0x95, 0xe6, 0xec, 0xe1, 0x1a, 0xbb, 0xda, 0xe6, 0xdc, 0x04, 0xa0, 0xc4, 0xe0, 0x53, 0x16,
- 0x87, 0x73, 0x15, 0x01, 0x06, 0xdc, 0x9e, 0x33, 0x20, 0xef, 0x2e, 0x8b, 0x59, 0x5f, 0xac, 0xfe,
- 0x45, 0x86, 0x95, 0xc5, 0xf2, 0xa8, 0xc5, 0xa5, 0x12, 0x56, 0xb5, 0x56, 0x5d, 0xf8, 0x13, 0xcf,
- 0x61, 0x32, 0x09, 0x22, 0xc2, 0xd9, 0xb7, 0x10, 0x9c, 0x51, 0xe8, 0x53, 0xbe, 0x26, 0xf2, 0x60,
- 0x42, 0x2f, 0xab, 0xcf, 0x1c, 0x65, 0x9a, 0x45, 0x14, 0xf6, 0x7f, 0xf3, 0x42, 0xfb, 0xd6, 0x92,
- 0xe5, 0x5f, 0x9b, 0x1b, 0x50, 0x2e, 0xff, 0xba, 0x30, 0x5c, 0x2b, 0x71, 0xa4, 0x0d, 0xb1, 0xc0,
- 0x2d, 0xb1, 0xc0, 0x85, 0xea, 0x3f, 0xa1, 0xef, 0x0d, 0x60, 0xf2, 0xd8, 0xe7, 0x52, 0x5d, 0xb3,
- 0xb3, 0xcc, 0x35, 0x3b, 0xaa, 0x6b, 0xa6, 0x61, 0xb0, 0x3c, 0x32, 0xfe, 0x09, 0xd6, 0x68, 0xc3,
- 0x76, 0x67, 0x53, 0x33, 0x7b, 0x0e, 0xd9, 0x7d, 0xae, 0x20, 0xf3, 0xc2, 0x87, 0x08, 0xf9, 0xbc,
- 0xd5, 0x6e, 0xd4, 0x0d, 0xbb, 0x01, 0x65, 0x35, 0xf9, 0x1c, 0x61, 0xf0, 0xb0, 0xb2, 0x3e, 0x07,
- 0x7d, 0x66, 0xb4, 0xf7, 0x4d, 0x6d, 0x63, 0x4e, 0x79, 0x2e, 0x5a, 0x74, 0x8c, 0x04, 0xd0, 0xb2,
- 0x4d, 0xdb, 0x7c, 0xaa, 0x15, 0x15, 0x09, 0x8d, 0x7d, 0x8b, 0xe4, 0x32, 0x61, 0xa7, 0x8e, 0xb0,
- 0x53, 0xa9, 0xfa, 0x47, 0xe4, 0x24, 0x49, 0xb9, 0xac, 0xe4, 0x5e, 0x1c, 0xb0, 0xd9, 0x69, 0x4a,
- 0x2f, 0x91, 0xe5, 0x13, 0x07, 0x52, 0x9a, 0xdf, 0x6f, 0xb7, 0x65, 0xde, 0xe4, 0xf0, 0x39, 0x17,
- 0x51, 0xc4, 0x88, 0x5a, 0x3a, 0x27, 0x0a, 0xf2, 0x8e, 0xcc, 0xdf, 0xb2, 0x8c, 0x96, 0x12, 0xa8,
- 0x32, 0x5b, 0x9b, 0x47, 0xd4, 0x7b, 0x9d, 0x8e, 0xd1, 0x05, 0x3b, 0xe1, 0xe4, 0x25, 0xa2, 0xd9,
- 0x36, 0x76, 0x1d, 0x6d, 0xa3, 0xfa, 0x07, 0x39, 0xfc, 0x60, 0x2d, 0xa9, 0x84, 0xd5, 0x59, 0xa1,
- 0xa2, 0xbb, 0xc0, 0x84, 0x1b, 0xae, 0xf9, 0xa2, 0xe5, 0xb8, 0x8e, 0x7c, 0x57, 0xc1, 0x31, 0xa2,
- 0xcc, 0xc4, 0x58, 0xcf, 0x90, 0x2f, 0x73, 0xd4, 0x73, 0xb3, 0xb5, 0xbb, 0xe7, 0xaa, 0x41, 0x2d,
- 0xc3, 0x80, 0xe3, 0x21, 0x45, 0xf4, 0x9a, 0xc8, 0x09, 0x67, 0x2d, 0xdc, 0x31, 0x55, 0x54, 0x6d,
- 0x1f, 0xf2, 0x2c, 0x9c, 0x1c, 0xee, 0xb2, 0x5b, 0x02, 0x57, 0xdf, 0x33, 0x5a, 0xdd, 0x56, 0x77,
- 0x37, 0x25, 0x78, 0x8d, 0x92, 0x0c, 0x0e, 0xcc, 0xb3, 0x8c, 0x8a, 0x5e, 0x17, 0x65, 0x38, 0xa0,
- 0xdb, 0xbd, 0x9e, 0x25, 0x37, 0x8c, 0x5d, 0x65, 0xd1, 0x68, 0x12, 0x05, 0x15, 0xc5, 0x47, 0x33,
- 0x1b, 0x32, 0x97, 0xa1, 0xbf, 0xec, 0x4a, 0xdb, 0x43, 0x64, 0x88, 0xf6, 0xe2, 0xee, 0xbc, 0xe1,
- 0x4b, 0xe4, 0x04, 0x12, 0x81, 0x13, 0xd2, 0x36, 0x69, 0x41, 0x24, 0x9c, 0x6b, 0x2c, 0xdf, 0x2d,
- 0xee, 0x26, 0x8b, 0xbd, 0x5d, 0xfd, 0x5d, 0x72, 0x3c, 0xf1, 0xf7, 0x7e, 0x53, 0x4b, 0x84, 0xda,
- 0x58, 0x42, 0x0c, 0x35, 0x79, 0x51, 0x1b, 0x09, 0xdd, 0xc3, 0x18, 0x93, 0xb5, 0xac, 0x95, 0xa8,
- 0xc9, 0x5f, 0x94, 0x8a, 0x45, 0x91, 0x70, 0xa3, 0xf1, 0xcc, 0xb4, 0xdd, 0x96, 0x63, 0x4a, 0xf7,
- 0xb3, 0x14, 0xf7, 0xab, 0xfe, 0x2a, 0x3a, 0x8d, 0xfc, 0xa3, 0xd8, 0x29, 0x8d, 0xe8, 0x1d, 0x61,
- 0xca, 0xbb, 0x65, 0x30, 0xb8, 0x73, 0x23, 0x8b, 0x77, 0x19, 0x6e, 0x22, 0x3e, 0x5b, 0xfd, 0x21,
- 0xce, 0x17, 0xaf, 0x64, 0x05, 0xb3, 0x25, 0xf3, 0x7d, 0xda, 0x4b, 0xcf, 0x17, 0xc7, 0x94, 0x50,
- 0xdc, 0x90, 0x84, 0x6c, 0x0e, 0x16, 0xb2, 0xff, 0x0a, 0xbb, 0xbd, 0xf0, 0xe7, 0xc1, 0x97, 0xa8,
- 0xef, 0xd4, 0x53, 0x81, 0x22, 0x0a, 0x20, 0x09, 0xc6, 0xd4, 0x87, 0xf2, 0x39, 0x30, 0xd1, 0xfd,
- 0xd6, 0xfc, 0x85, 0xac, 0x94, 0x78, 0x3a, 0xc0, 0xd9, 0xcd, 0x3a, 0xd4, 0xdd, 0xdc, 0x32, 0x0a,
- 0x88, 0x7b, 0x6c, 0x72, 0x84, 0xb3, 0x69, 0x34, 0xa8, 0x2f, 0xb5, 0x6c, 0xf5, 0xdf, 0x64, 0xd1,
- 0xee, 0xc9, 0xb1, 0x62, 0x31, 0x05, 0x75, 0xd2, 0x29, 0x08, 0x23, 0x98, 0x03, 0xb1, 0x0a, 0xa5,
- 0x08, 0xce, 0xd0, 0x8a, 0x77, 0xd4, 0x08, 0xc6, 0x7e, 0x45, 0x56, 0x45, 0x89, 0xb8, 0x40, 0x94,
- 0xa8, 0x28, 0x3a, 0xf3, 0x6e, 0x9e, 0x27, 0xb3, 0x75, 0xd2, 0xf9, 0x45, 0x24, 0x6d, 0x09, 0xb6,
- 0x0d, 0xd7, 0x94, 0xc9, 0xa8, 0x93, 0xc4, 0x84, 0xcd, 0xdf, 0xee, 0xcf, 0x11, 0xd7, 0x40, 0x72,
- 0x81, 0x92, 0x42, 0x0a, 0x4a, 0x79, 0xbe, 0xa8, 0x6a, 0x4a, 0x09, 0x83, 0x2b, 0xea, 0x68, 0x4c,
- 0x9d, 0xb9, 0xc8, 0x25, 0x46, 0xb7, 0xe1, 0x68, 0xa5, 0xea, 0x3f, 0xcd, 0x2c, 0xf9, 0x02, 0x31,
- 0x5a, 0xe6, 0xc3, 0xcd, 0x39, 0x1f, 0xa6, 0xd7, 0xd6, 0x02, 0x2c, 0x37, 0x70, 0xb1, 0x60, 0x09,
- 0x03, 0x24, 0x05, 0x79, 0x57, 0xa2, 0xa9, 0x38, 0x4d, 0x6e, 0x5e, 0x88, 0x2c, 0x43, 0xf2, 0x22,
- 0x14, 0x9a, 0xd2, 0x9d, 0xd6, 0xaa, 0xff, 0x89, 0x36, 0xe7, 0xf4, 0xdf, 0x27, 0x10, 0xa7, 0x3d,
- 0x38, 0x68, 0x3b, 0xf5, 0xe4, 0xf4, 0xc7, 0xaf, 0x8f, 0x3c, 0x97, 0xaf, 0xa6, 0x3b, 0x96, 0x67,
- 0xec, 0xee, 0xda, 0xe6, 0xae, 0xc1, 0xcf, 0xe8, 0x74, 0xe0, 0x13, 0x97, 0x51, 0x72, 0xc2, 0xde,
- 0x56, 0xfa, 0x25, 0xae, 0x24, 0xc3, 0x28, 0x5a, 0x4b, 0x00, 0x98, 0x01, 0xd7, 0x13, 0x3e, 0x71,
- 0xd8, 0x77, 0xea, 0xda, 0x86, 0x30, 0xb8, 0x80, 0x8a, 0x23, 0x8d, 0x6c, 0xf4, 0x76, 0x2c, 0xf2,
- 0xa2, 0xa2, 0x38, 0x51, 0x13, 0x40, 0xe4, 0x02, 0x96, 0x88, 0x40, 0xb8, 0x14, 0x51, 0x4a, 0x30,
- 0xe9, 0xf3, 0x92, 0xbc, 0xa1, 0x21, 0x26, 0xc1, 0x75, 0x11, 0xa7, 0xa7, 0x8e, 0xb5, 0xec, 0x64,
- 0xbe, 0xb3, 0xf4, 0xef, 0x52, 0x78, 0xe2, 0x1b, 0x7b, 0x64, 0x6c, 0xc2, 0x71, 0x6e, 0xe1, 0x2d,
- 0xaf, 0x80, 0x77, 0x7a, 0xb6, 0xa9, 0x65, 0xaa, 0x6d, 0x0a, 0xc7, 0xf4, 0xdf, 0x9a, 0x20, 0x49,
- 0x42, 0xe3, 0x26, 0x5e, 0x6d, 0x50, 0x64, 0x91, 0xf7, 0x4b, 0x0c, 0x49, 0xfb, 0xb3, 0x1c, 0xaa,
- 0xb6, 0xe2, 0x2b, 0x6c, 0xe9, 0x37, 0x96, 0xab, 0x1e, 0xa2, 0x21, 0x37, 0xe1, 0xc6, 0xb7, 0x80,
- 0xf1, 0x3a, 0x2d, 0xc7, 0x91, 0x05, 0x29, 0x47, 0x77, 0xcd, 0x17, 0x74, 0xe4, 0x74, 0xb4, 0x2c,
- 0x95, 0xdd, 0xf3, 0x08, 0x64, 0xcb, 0x89, 0xeb, 0x08, 0x80, 0x4d, 0xf7, 0x44, 0xf3, 0xb4, 0xc5,
- 0x2f, 0xa2, 0x90, 0x75, 0x4d, 0x65, 0x4d, 0x77, 0x4d, 0xd7, 0x55, 0xd6, 0x14, 0x0a, 0x59, 0x37,
- 0x64, 0x0c, 0x58, 0x2e, 0xf5, 0x03, 0x0a, 0x32, 0x18, 0x61, 0x34, 0x59, 0x0f, 0x32, 0x71, 0xbf,
- 0x24, 0x51, 0xc2, 0x31, 0x5d, 0xac, 0xde, 0xc4, 0xf1, 0x7a, 0x09, 0x0e, 0x87, 0xd9, 0x52, 0x99,
- 0x51, 0x0d, 0xc9, 0xbc, 0xad, 0x32, 0xa7, 0x71, 0xc8, 0x7c, 0x51, 0xbf, 0x99, 0xac, 0x44, 0xca,
- 0xbf, 0x7e, 0xfa, 0x2e, 0xa7, 0xdf, 0x49, 0xd6, 0x42, 0xc5, 0x21, 0x2b, 0x38, 0xe0, 0xef, 0xd1,
- 0x1f, 0xe6, 0xc0, 0x8a, 0x2b, 0x75, 0x21, 0x83, 0xda, 0x82, 0xcd, 0xfa, 0xc2, 0xe5, 0x15, 0x80,
- 0x61, 0xf7, 0x90, 0x6a, 0x2a, 0x2d, 0x23, 0x8a, 0xa5, 0x04, 0xd3, 0x6e, 0x3d, 0x33, 0xbb, 0xa6,
- 0x93, 0xdc, 0xce, 0xd8, 0x55, 0x6a, 0x25, 0x2d, 0xaf, 0x30, 0xc8, 0x02, 0x8a, 0xb7, 0x6d, 0x1d,
- 0xad, 0x50, 0xfd, 0x1c, 0xfb, 0x01, 0xc9, 0x35, 0x74, 0xbc, 0x79, 0x2e, 0x76, 0x50, 0xb5, 0x3f,
- 0x86, 0x5a, 0x3e, 0x75, 0xbd, 0x4e, 0xab, 0x8b, 0x09, 0x3d, 0xa3, 0xc0, 0x8c, 0x17, 0x08, 0xcb,
- 0x52, 0x0c, 0x3e, 0x5d, 0xd2, 0xc1, 0xf8, 0x11, 0x1e, 0x86, 0xe7, 0xee, 0x21, 0x93, 0x9f, 0xd6,
- 0x6d, 0x6c, 0xa7, 0x74, 0x7b, 0xf5, 0x3d, 0xa3, 0xbb, 0x6b, 0xca, 0x5e, 0xbe, 0x40, 0x98, 0x4f,
- 0xf7, 0x8d, 0xb6, 0xbc, 0x9f, 0x26, 0xa0, 0x1d, 0xc3, 0xc1, 0xcd, 0x2b, 0x4d, 0x8c, 0x47, 0xfa,
- 0x5c, 0xed, 0x5b, 0x3f, 0xfc, 0xf4, 0x70, 0x14, 0x1f, 0x1d, 0x1f, 0x7c, 0x73, 0x10, 0x4c, 0xf8,
- 0x7f, 0x0e, 0x33, 0x08, 0xc2, 0xe1, 0x7d, 0xfc, 0x7f, 0x5e, 0xbe, 0x41, 0xff, 0xcf, 0xcb, 0xc9,
- 0x83, 0xfb, 0x87, 0x81, 0xfa, 0x3f, 0xc7, 0x58, 0x99, 0x83, 0x75, 0x8e, 0xfb, 0xf4, 0xff, 0x04,
- 0x00, 0x00, 0xff, 0xff, 0xde, 0x8a, 0x49, 0xf4, 0x5f, 0x66, 0x00, 0x00,
+ 0x33, 0xbb, 0xb3, 0xdc, 0x78, 0x34, 0x7a, 0xac, 0x76, 0xbd, 0x0f, 0x47, 0x45, 0xb2, 0xd8, 0xe4,
+ 0x88, 0x2f, 0x55, 0x55, 0xb7, 0xa4, 0x0d, 0x92, 0x02, 0x9b, 0x2c, 0x75, 0xd3, 0x43, 0xb2, 0xb8,
+ 0x55, 0xd5, 0xad, 0x96, 0x63, 0x07, 0x4a, 0x8c, 0x20, 0x40, 0x12, 0xdb, 0x09, 0xfc, 0xb1, 0x40,
+ 0xe0, 0x00, 0x31, 0x92, 0x7c, 0x04, 0x01, 0xf2, 0x11, 0x20, 0x40, 0x80, 0x7c, 0x1b, 0x48, 0x80,
+ 0x20, 0x01, 0x0c, 0x04, 0xfe, 0xb1, 0xff, 0x9c, 0x9f, 0x00, 0xfe, 0x4f, 0x36, 0x9b, 0x55, 0x70,
+ 0xee, 0x39, 0xf7, 0xd6, 0x2d, 0x3e, 0x7a, 0x7a, 0x37, 0xb3, 0xf9, 0xf0, 0x97, 0x58, 0xe7, 0x75,
+ 0xcf, 0x3d, 0xf7, 0x9c, 0x73, 0xcf, 0x3d, 0x75, 0xab, 0xc5, 0xee, 0x9c, 0xf8, 0xe3, 0xe8, 0xa8,
+ 0xef, 0xce, 0x02, 0x3f, 0xf2, 0xc3, 0xfb, 0xfe, 0xcc, 0x9b, 0xbe, 0x1e, 0xfb, 0x6f, 0xdc, 0x07,
+ 0x8f, 0x3e, 0xe5, 0x20, 0xbd, 0xa0, 0x80, 0x6e, 0xde, 0x3a, 0xf4, 0xfd, 0xc3, 0xb1, 0x77, 0xbf,
+ 0x3f, 0x1b, 0xdd, 0xef, 0x4f, 0xa7, 0x7e, 0xd4, 0x8f, 0x46, 0xfe, 0x34, 0x44, 0xd2, 0xd2, 0x80,
+ 0x31, 0xff, 0xf5, 0xcc, 0x3d, 0xf2, 0xfa, 0x43, 0x2f, 0xd0, 0x8b, 0x6c, 0xe3, 0xc4, 0x0b, 0xc2,
+ 0x91, 0x3f, 0x2d, 0xa6, 0xee, 0xa6, 0x3e, 0xd9, 0xb2, 0xc4, 0xa3, 0xfe, 0x0d, 0x96, 0x8d, 0xde,
+ 0xce, 0xbc, 0x62, 0xfa, 0x6e, 0xea, 0x93, 0xed, 0x87, 0x57, 0x3f, 0x55, 0x07, 0x05, 0x01, 0x80,
+ 0xb4, 0x38, 0x89, 0xae, 0xb1, 0xcc, 0xe9, 0x68, 0x58, 0xcc, 0x70, 0x01, 0xf0, 0xb3, 0xf4, 0xaf,
+ 0x53, 0xec, 0x2a, 0x8e, 0x32, 0x1e, 0xfb, 0xae, 0x37, 0xf6, 0x26, 0x62, 0xc0, 0xc7, 0x24, 0x36,
+ 0xc5, 0xc5, 0xde, 0x5d, 0x10, 0xab, 0x70, 0x28, 0x23, 0x3c, 0x67, 0x5b, 0xa4, 0xd7, 0xc1, 0x28,
+ 0x9a, 0xf4, 0x67, 0x5c, 0xab, 0xc2, 0xc3, 0x6f, 0x9c, 0xc5, 0x9e, 0x60, 0x68, 0x5c, 0xb0, 0x92,
+ 0x12, 0x2a, 0x79, 0xb6, 0x01, 0x64, 0xde, 0x34, 0x2a, 0x7d, 0x87, 0xdd, 0x3a, 0x8b, 0x17, 0x8c,
+ 0x84, 0xbf, 0xc2, 0x62, 0xfa, 0x6e, 0x06, 0x8c, 0x44, 0x8f, 0xa5, 0x67, 0x2c, 0x2f, 0x39, 0xf5,
+ 0x5f, 0x63, 0x39, 0x92, 0x18, 0x16, 0x53, 0x77, 0x33, 0x9f, 0x14, 0x1e, 0x96, 0xce, 0xd2, 0x0f,
+ 0x0d, 0x62, 0x49, 0x9e, 0x52, 0x9b, 0x5d, 0x02, 0x92, 0xf0, 0xcd, 0x28, 0x1a, 0x1c, 0xb9, 0x03,
+ 0x7f, 0xfa, 0x7a, 0x74, 0xa8, 0x5f, 0x61, 0x6b, 0xaf, 0xc7, 0xfd, 0xc3, 0x90, 0x96, 0x07, 0x1f,
+ 0xf4, 0x12, 0xdb, 0x9a, 0x8c, 0xc2, 0xd0, 0x0d, 0xbd, 0xe9, 0xd0, 0x1d, 0x7b, 0x53, 0x6e, 0x8f,
+ 0x2d, 0xab, 0x00, 0x40, 0xdb, 0x9b, 0x0e, 0x5b, 0xde, 0xb4, 0x54, 0x61, 0x5b, 0x7c, 0x9d, 0xfa,
+ 0x07, 0x63, 0xcf, 0x9d, 0xf8, 0x43, 0xfd, 0x06, 0xcb, 0xe1, 0xc3, 0x68, 0x28, 0x16, 0x9b, 0x3f,
+ 0x37, 0x87, 0xfa, 0x35, 0xb6, 0x8e, 0xe3, 0x91, 0x20, 0x7a, 0x2a, 0xfd, 0xb3, 0x34, 0xcb, 0x81,
+ 0x90, 0x99, 0x1f, 0x44, 0xfa, 0x75, 0xb6, 0x01, 0xff, 0xba, 0x53, 0x9f, 0xd8, 0xd7, 0xe1, 0xb1,
+ 0xe3, 0x03, 0xe2, 0xe8, 0x8d, 0xdb, 0x1f, 0x0e, 0x03, 0xb2, 0xcf, 0xfa, 0xd1, 0x1b, 0x63, 0x38,
+ 0x0c, 0x74, 0x9d, 0x65, 0xa7, 0xfd, 0x89, 0xc7, 0x3d, 0x23, 0x6f, 0xf1, 0xdf, 0xca, 0x50, 0x59,
+ 0x75, 0x28, 0x98, 0x68, 0x18, 0xf5, 0x23, 0xaf, 0xb8, 0x86, 0x13, 0xe5, 0x0f, 0x20, 0x61, 0x70,
+ 0x1c, 0x04, 0xc5, 0x75, 0x0e, 0xe4, 0xbf, 0xf5, 0x0f, 0x18, 0xeb, 0x0f, 0x4f, 0xbc, 0x20, 0x1a,
+ 0x85, 0xde, 0xb0, 0xb8, 0xc1, 0x31, 0x0a, 0x44, 0xbf, 0xc5, 0xf2, 0xe1, 0xf1, 0x0c, 0x74, 0xf3,
+ 0x86, 0xc5, 0x1c, 0x47, 0xc7, 0x00, 0x90, 0x38, 0xf3, 0xbc, 0xa0, 0x98, 0x47, 0x89, 0xf0, 0x5b,
+ 0xbf, 0xcd, 0x18, 0x48, 0x76, 0xc3, 0x99, 0xe7, 0x0d, 0x8b, 0x0c, 0x59, 0x00, 0x62, 0x03, 0x40,
+ 0xdf, 0x61, 0xf9, 0x49, 0xff, 0x94, 0xb0, 0x05, 0x8e, 0xcd, 0x4d, 0xfa, 0xa7, 0x1c, 0x59, 0xfa,
+ 0x77, 0x29, 0x76, 0x59, 0x59, 0xb6, 0xd7, 0x5e, 0x3f, 0x3a, 0x0e, 0xbc, 0x50, 0xbf, 0xc3, 0x0a,
+ 0xc3, 0x7e, 0xd4, 0x9f, 0xf5, 0xa3, 0x23, 0x61, 0xf0, 0xac, 0xc5, 0x04, 0xa8, 0xc9, 0xa5, 0x4e,
+ 0xdd, 0x83, 0xe3, 0xd7, 0xaf, 0xbd, 0x20, 0x24, 0xb3, 0xe7, 0xa6, 0x15, 0x7c, 0x86, 0xb5, 0x9a,
+ 0xe2, 0xd2, 0x85, 0x14, 0x57, 0x1b, 0x53, 0x87, 0x3f, 0xea, 0xf7, 0xd8, 0x66, 0xff, 0xf8, 0x74,
+ 0x34, 0x1e, 0xf5, 0x83, 0xb7, 0x20, 0x19, 0xcd, 0x58, 0x90, 0xb0, 0xe6, 0x50, 0x2f, 0xb1, 0xcd,
+ 0x41, 0x7f, 0xd6, 0x3f, 0x18, 0x8d, 0x47, 0xd1, 0xc8, 0x0b, 0xc9, 0xa4, 0x09, 0x58, 0x29, 0x60,
+ 0x17, 0xc5, 0xca, 0xba, 0x60, 0xeb, 0xe3, 0x50, 0x7f, 0xcc, 0xd6, 0x03, 0xaf, 0x1f, 0x52, 0x2e,
+ 0xd8, 0x7e, 0x78, 0x6b, 0xc1, 0x7d, 0x39, 0x35, 0xd2, 0x58, 0x44, 0x0b, 0x89, 0x62, 0xe8, 0x85,
+ 0x03, 0x0a, 0xc9, 0xab, 0x4b, 0x79, 0x2c, 0x4e, 0x52, 0xfa, 0xfb, 0x29, 0xb6, 0x29, 0xc5, 0x80,
+ 0x4b, 0xfe, 0xfc, 0x2e, 0x15, 0xbb, 0x4f, 0x26, 0xe1, 0x3e, 0x3a, 0xcb, 0x4e, 0xfa, 0xe1, 0x17,
+ 0x64, 0x0d, 0xfe, 0x1b, 0x1c, 0x41, 0xba, 0x05, 0xd9, 0x20, 0x06, 0x94, 0xde, 0x60, 0xec, 0x4e,
+ 0xfa, 0xd1, 0xe0, 0x48, 0xbf, 0x9f, 0x48, 0x4b, 0x3b, 0x0b, 0x93, 0xe0, 0x54, 0x6a, 0x46, 0xfa,
+ 0x55, 0xc6, 0xfc, 0xd3, 0x89, 0xfb, 0x7a, 0xe4, 0x8d, 0x87, 0x98, 0x16, 0x0a, 0x0f, 0x6f, 0x2e,
+ 0xb0, 0x49, 0x12, 0x2b, 0xef, 0x9f, 0x4e, 0xea, 0x9c, 0xb8, 0xf4, 0x3f, 0x52, 0x18, 0x99, 0x12,
+ 0xa9, 0x7f, 0x9b, 0x01, 0xda, 0x1d, 0x8c, 0xfb, 0x61, 0x48, 0x2a, 0x2c, 0x97, 0xc5, 0x29, 0xac,
+ 0x9c, 0x7f, 0x3a, 0xa9, 0xc2, 0x2f, 0xfd, 0x07, 0x30, 0x87, 0x03, 0x94, 0xc2, 0xa7, 0x5e, 0x78,
+ 0xf8, 0xc1, 0x52, 0x46, 0x49, 0xd5, 0xb8, 0x60, 0xe5, 0xfc, 0xd7, 0x07, 0x5c, 0x15, 0xfd, 0x25,
+ 0xd3, 0xbd, 0xd3, 0x99, 0x17, 0x8c, 0x20, 0x01, 0x79, 0x01, 0xc9, 0x59, 0xe3, 0x72, 0xbe, 0xbe,
+ 0x54, 0xce, 0x22, 0x79, 0xe3, 0x82, 0x75, 0x49, 0x85, 0x72, 0xc9, 0x95, 0x0d, 0xb6, 0xc6, 0xb1,
+ 0xa5, 0x3f, 0xd9, 0xc6, 0xac, 0x96, 0x50, 0xe2, 0xec, 0x5d, 0x40, 0xa5, 0xe4, 0x26, 0x0f, 0xc9,
+ 0xe6, 0x37, 0x58, 0xee, 0xa8, 0x1f, 0xba, 0x7c, 0x9d, 0xc1, 0xdb, 0x72, 0xd6, 0xc6, 0x51, 0x3f,
+ 0x6c, 0xc3, 0x52, 0x5f, 0x61, 0x59, 0xf0, 0x1c, 0x74, 0x8a, 0xc6, 0x05, 0x8b, 0x3f, 0xe9, 0x1f,
+ 0xb3, 0xad, 0xd9, 0xd1, 0xdb, 0x70, 0x34, 0xe8, 0x8f, 0xb9, 0xcf, 0xa1, 0x77, 0x34, 0x2e, 0x58,
+ 0x9b, 0x02, 0xdc, 0x03, 0xb2, 0xaf, 0xb3, 0x6d, 0xca, 0x92, 0x5e, 0xd4, 0x87, 0x08, 0xe5, 0x26,
+ 0xc8, 0xc2, 0x9e, 0xc1, 0xe1, 0x6d, 0x02, 0xeb, 0x37, 0xd8, 0x86, 0x17, 0x1d, 0xb9, 0xc3, 0x30,
+ 0xe2, 0x09, 0x69, 0xb3, 0x71, 0xc1, 0x5a, 0xf7, 0xa2, 0xa3, 0x5a, 0x18, 0x09, 0x54, 0x18, 0x0c,
+ 0x78, 0x46, 0x12, 0x28, 0x3b, 0x18, 0xe8, 0x3b, 0x2c, 0x07, 0x28, 0x3e, 0xe1, 0x1c, 0x29, 0x00,
+ 0xc4, 0x0e, 0xcc, 0x69, 0x87, 0xe5, 0x4e, 0xc6, 0xfd, 0xa9, 0x7b, 0x32, 0x1a, 0x62, 0x4a, 0x02,
+ 0x24, 0x40, 0xf6, 0x47, 0x43, 0x89, 0x9c, 0x0d, 0x66, 0x98, 0x95, 0x04, 0xb2, 0x37, 0x98, 0xc1,
+ 0x88, 0xa3, 0x99, 0x3b, 0x0c, 0x07, 0x33, 0xcc, 0x49, 0x30, 0xe2, 0x68, 0x56, 0x0b, 0x07, 0x33,
+ 0xfd, 0x3a, 0x5b, 0x1f, 0xcd, 0x5c, 0x6f, 0x30, 0x2d, 0x6e, 0x12, 0x66, 0x6d, 0x34, 0x33, 0x07,
+ 0x53, 0x10, 0x38, 0x9a, 0x61, 0x19, 0x51, 0xdc, 0x12, 0x02, 0x47, 0xb3, 0x1e, 0x2f, 0x22, 0x38,
+ 0xf2, 0xe4, 0x31, 0x9f, 0xc3, 0x76, 0x8c, 0x3c, 0x79, 0x4c, 0x93, 0xe0, 0x48, 0x98, 0xfb, 0x45,
+ 0x15, 0x49, 0x93, 0x8f, 0x06, 0x33, 0xce, 0xa8, 0x09, 0x55, 0xa2, 0xc1, 0x0c, 0xf8, 0x08, 0x05,
+ 0x6c, 0x97, 0x14, 0x14, 0x71, 0x1d, 0x0f, 0x91, 0x4b, 0x17, 0xa8, 0xe3, 0xa1, 0xe0, 0x02, 0x14,
+ 0x70, 0x5d, 0x56, 0x50, 0xc0, 0xb5, 0xc3, 0x72, 0xe1, 0x20, 0x42, 0xb6, 0x2b, 0x42, 0x11, 0x80,
+ 0x90, 0x96, 0x1c, 0x09, 0x8c, 0x57, 0x55, 0x24, 0x70, 0xde, 0x63, 0x85, 0xd1, 0x60, 0x02, 0x93,
+ 0xe0, 0x4b, 0x71, 0x8d, 0xf0, 0x0c, 0x81, 0x7c, 0x35, 0x62, 0x92, 0x81, 0x3f, 0xf4, 0x8a, 0xd7,
+ 0x93, 0x24, 0x55, 0x7f, 0xe8, 0x81, 0x6d, 0xfb, 0xc1, 0xcc, 0xf5, 0x67, 0xc5, 0xa2, 0xb0, 0x6d,
+ 0x3f, 0x98, 0x75, 0xf9, 0x7a, 0x00, 0x22, 0x9c, 0xf5, 0x8b, 0x37, 0x84, 0xce, 0xfd, 0x60, 0x66,
+ 0xcf, 0xfa, 0x02, 0x15, 0xcd, 0xfa, 0xc5, 0x9b, 0x0a, 0xca, 0x89, 0x51, 0xe1, 0x51, 0xbf, 0xb8,
+ 0x23, 0xfc, 0x06, 0xb8, 0x8e, 0x62, 0xae, 0xa3, 0x7e, 0xf1, 0x96, 0x82, 0x72, 0x8e, 0xfa, 0xb4,
+ 0x1a, 0x4f, 0xb8, 0x11, 0x6e, 0x13, 0x0e, 0x56, 0xe3, 0x49, 0xbc, 0x54, 0x4f, 0xb8, 0x11, 0x3e,
+ 0x50, 0x91, 0xc2, 0x08, 0x80, 0x7c, 0x3d, 0xee, 0x1f, 0x78, 0xe3, 0xe2, 0x1d, 0x39, 0xc3, 0xd9,
+ 0xc9, 0x93, 0x3a, 0x87, 0x49, 0x23, 0x3c, 0x41, 0x3b, 0xdd, 0x4d, 0x18, 0xe1, 0x49, 0xc2, 0x4e,
+ 0x4f, 0xd0, 0x4e, 0xf7, 0x92, 0x24, 0xdc, 0x4e, 0x5f, 0x63, 0xdb, 0x7c, 0xa0, 0xe9, 0xd0, 0x8d,
+ 0xfa, 0xc1, 0xa1, 0x17, 0x15, 0x4b, 0xa4, 0xcb, 0x26, 0xc0, 0x3b, 0x43, 0x87, 0x43, 0xf5, 0xbb,
+ 0xa4, 0xd0, 0x74, 0xe8, 0x86, 0xe1, 0xb8, 0xf8, 0x21, 0x11, 0xe5, 0x91, 0xc8, 0x0e, 0xc7, 0x2a,
+ 0x45, 0x34, 0x1e, 0x17, 0x3f, 0x4a, 0x52, 0x38, 0xe3, 0xb1, 0x7e, 0x87, 0xb1, 0xc9, 0x6c, 0x1c,
+ 0xba, 0x38, 0xa7, 0x8f, 0x49, 0x9b, 0x3c, 0xc0, 0x5a, 0x7c, 0x4a, 0x37, 0xd8, 0x06, 0x27, 0x88,
+ 0x06, 0xc5, 0xaf, 0x89, 0x05, 0x00, 0x80, 0xc3, 0xad, 0xc5, 0x51, 0x07, 0x7e, 0x58, 0xfc, 0xba,
+ 0x70, 0x19, 0x80, 0x54, 0xfc, 0x10, 0x90, 0xb3, 0x83, 0x03, 0x77, 0x14, 0x8e, 0x86, 0xc5, 0x4f,
+ 0x04, 0x72, 0x76, 0x70, 0xd0, 0x0c, 0x47, 0x43, 0xfd, 0x36, 0xcb, 0x47, 0xc7, 0xd3, 0xa9, 0x37,
+ 0x86, 0x5d, 0xf8, 0x1b, 0x94, 0x31, 0x72, 0x08, 0x6a, 0x0e, 0xa5, 0xa5, 0xbd, 0xd3, 0xe8, 0x68,
+ 0x18, 0x14, 0xcb, 0xaa, 0xa5, 0x4d, 0x0e, 0xd3, 0x3f, 0x63, 0x97, 0x93, 0x89, 0x07, 0x73, 0xdb,
+ 0x88, 0xcb, 0x4a, 0x59, 0x97, 0x12, 0xd9, 0x87, 0xe7, 0xb9, 0x12, 0xdb, 0xa4, 0x0c, 0x84, 0xa4,
+ 0xbf, 0xce, 0x8d, 0x91, 0xb2, 0x18, 0xa6, 0x21, 0x95, 0x26, 0x0c, 0x06, 0x48, 0xf3, 0x85, 0x42,
+ 0x63, 0x07, 0x03, 0x4e, 0xf3, 0x11, 0xdb, 0x12, 0x69, 0x07, 0x89, 0x26, 0x5c, 0xbd, 0x94, 0x55,
+ 0xa0, 0xdc, 0x23, 0xa8, 0x44, 0x46, 0x40, 0xaa, 0x40, 0x50, 0x51, 0x5a, 0x48, 0x50, 0x49, 0xa5,
+ 0x42, 0x95, 0x4a, 0xd1, 0x8a, 0xc2, 0x03, 0x89, 0x7e, 0x8b, 0x88, 0x18, 0xc6, 0x88, 0x4a, 0x13,
+ 0x09, 0x9a, 0xbf, 0xa5, 0xd0, 0x38, 0x44, 0xf3, 0x31, 0x1f, 0xed, 0x49, 0xac, 0xd3, 0xdf, 0x4e,
+ 0xd1, 0xfc, 0x0a, 0x14, 0x00, 0x09, 0x32, 0xa9, 0xd4, 0xdf, 0x49, 0x90, 0x09, 0xad, 0xbe, 0xc9,
+ 0x34, 0x25, 0x1c, 0x90, 0xf2, 0xb7, 0x53, 0x34, 0xec, 0x76, 0x1c, 0x14, 0x42, 0xa6, 0xf0, 0x06,
+ 0xa4, 0xfc, 0x87, 0x82, 0xb2, 0x40, 0x3e, 0xc1, 0xc9, 0x60, 0x3b, 0x11, 0x7e, 0x81, 0x74, 0xbf,
+ 0x93, 0xa2, 0x15, 0xdd, 0x14, 0xde, 0x91, 0x18, 0x1c, 0x3d, 0x04, 0x49, 0x7f, 0x37, 0x31, 0x38,
+ 0xfa, 0x09, 0x10, 0xc3, 0x8e, 0x7a, 0xd2, 0x1f, 0x1f, 0x7b, 0x95, 0x75, 0xac, 0x74, 0x4a, 0x2e,
+ 0xbb, 0xb9, 0x7a, 0x57, 0x86, 0x92, 0x16, 0x30, 0x78, 0xc8, 0xa0, 0xe2, 0x0a, 0x8a, 0x8c, 0x06,
+ 0x1e, 0xc3, 0xc0, 0x47, 0x14, 0x26, 0xaa, 0x3f, 0x13, 0xb0, 0xd2, 0xbf, 0xcd, 0xe2, 0x51, 0xb1,
+ 0x3f, 0x80, 0xf3, 0xa3, 0xfe, 0x59, 0x62, 0xcf, 0x5e, 0xac, 0x0d, 0x91, 0x4c, 0xad, 0x91, 0xbe,
+ 0xc3, 0xd6, 0xfd, 0xe3, 0x68, 0x76, 0x1c, 0x51, 0x6d, 0xf8, 0xc1, 0x2a, 0x1e, 0xa4, 0x82, 0xa0,
+ 0xc4, 0x5f, 0xfa, 0x0f, 0x28, 0x28, 0xa3, 0x68, 0xcc, 0xb7, 0xf4, 0xc2, 0x92, 0x93, 0x22, 0xf1,
+ 0x0a, 0x3a, 0x11, 0xb6, 0x4e, 0x34, 0xd6, 0x1f, 0xb2, 0xec, 0xec, 0x38, 0x3c, 0xa2, 0x8a, 0x68,
+ 0xa5, 0xaa, 0x40, 0xc3, 0x6b, 0x85, 0xe3, 0xf0, 0x08, 0x86, 0x9c, 0xf9, 0x33, 0x2e, 0x8e, 0x2a,
+ 0xa0, 0x95, 0x43, 0x0a, 0x3a, 0x9e, 0x0c, 0xfc, 0x59, 0x7b, 0x36, 0x0e, 0xf5, 0x6f, 0xb1, 0xb5,
+ 0xc3, 0xc0, 0x3f, 0x9e, 0xf1, 0xc2, 0xa0, 0xf0, 0xf0, 0xf6, 0x2a, 0x5e, 0x4e, 0x04, 0x9b, 0x06,
+ 0xff, 0xa1, 0x7f, 0x9b, 0xad, 0x4f, 0xdf, 0xf0, 0x69, 0x6e, 0x9c, 0x6d, 0x22, 0xa4, 0x02, 0xc6,
+ 0xe9, 0x1b, 0x98, 0xe2, 0x53, 0x96, 0x0f, 0xbd, 0x88, 0x2a, 0xb6, 0x1c, 0xe7, 0xbd, 0xb7, 0x8a,
+ 0x57, 0x12, 0x42, 0x7e, 0x0a, 0xbd, 0x08, 0x8b, 0xbf, 0xcf, 0xe7, 0x5c, 0x20, 0xcf, 0x85, 0x7c,
+ 0xb4, 0x4a, 0x88, 0x4a, 0x0b, 0x49, 0x5c, 0x7d, 0xae, 0xe4, 0xd8, 0x3a, 0x92, 0x95, 0x9e, 0x62,
+ 0xb9, 0x97, 0x58, 0x58, 0x7e, 0xe6, 0x82, 0xf2, 0x2b, 0x45, 0x67, 0x2e, 0x3a, 0x4d, 0xc2, 0xa1,
+ 0x2a, 0x3e, 0xbc, 0xae, 0x4f, 0xfa, 0xa7, 0x70, 0x6e, 0xfd, 0x0c, 0xcf, 0x53, 0x73, 0xcb, 0x0b,
+ 0xc5, 0x9f, 0x74, 0x09, 0x3a, 0xbd, 0xd2, 0x72, 0x97, 0xee, 0xe3, 0x51, 0x46, 0x59, 0x55, 0x28,
+ 0xfd, 0xbd, 0xe8, 0xc8, 0x0b, 0xa4, 0xc7, 0x6e, 0x59, 0x31, 0xa0, 0xf4, 0x28, 0x31, 0x84, 0x58,
+ 0xce, 0x2f, 0x61, 0xfa, 0x15, 0xa6, 0xcd, 0xaf, 0x23, 0x28, 0xc5, 0x7f, 0x28, 0x47, 0x6a, 0xfe,
+ 0xdc, 0x1c, 0x96, 0xca, 0x09, 0x43, 0xe0, 0xf2, 0xe9, 0x57, 0xe5, 0x72, 0xd3, 0x71, 0x9e, 0x2f,
+ 0x66, 0xa9, 0xc1, 0xae, 0x2c, 0x5b, 0x2e, 0xfd, 0x33, 0xaa, 0xa2, 0x39, 0xf5, 0xd9, 0xe7, 0x0b,
+ 0x2a, 0xb7, 0x9f, 0xb3, 0xeb, 0x2b, 0xd6, 0x6c, 0x21, 0xe4, 0x53, 0x8b, 0x21, 0x0f, 0x0b, 0xc5,
+ 0xeb, 0x5f, 0x58, 0x91, 0x4d, 0x8b, 0xff, 0x2e, 0xfd, 0x41, 0x06, 0xcd, 0x3b, 0x9a, 0x86, 0x51,
+ 0x70, 0x8c, 0xb9, 0x40, 0x57, 0x72, 0xc1, 0x16, 0x45, 0x7b, 0x83, 0xb1, 0x43, 0x3f, 0xf2, 0xf1,
+ 0xd4, 0x4a, 0x11, 0xbf, 0x78, 0x88, 0x50, 0xa4, 0xb8, 0x31, 0x39, 0xec, 0xd6, 0xf0, 0xc4, 0x8f,
+ 0xb8, 0xba, 0xc3, 0xb6, 0xdf, 0x04, 0xa3, 0x48, 0xa9, 0xc7, 0x31, 0x07, 0x7c, 0xf3, 0x4c, 0x69,
+ 0x49, 0x16, 0x28, 0xde, 0x39, 0x44, 0x16, 0xef, 0x4f, 0xd9, 0x06, 0x9a, 0x25, 0xa4, 0xbc, 0xf0,
+ 0xd1, 0x99, 0xe2, 0x88, 0x16, 0x62, 0x9c, 0x7e, 0xea, 0xdf, 0x65, 0x6b, 0x13, 0x0f, 0x4c, 0x87,
+ 0xf9, 0xa1, 0x74, 0x26, 0x3f, 0xa7, 0x84, 0x78, 0xe5, 0x3f, 0xf4, 0xee, 0x9c, 0xf5, 0xd7, 0x57,
+ 0x34, 0xb0, 0x54, 0x11, 0x67, 0x86, 0xdc, 0x3a, 0x2e, 0x55, 0xe9, 0xdb, 0xb8, 0x0d, 0x2c, 0xb7,
+ 0xeb, 0x19, 0x3d, 0x9f, 0x52, 0x9f, 0x7d, 0x70, 0xb6, 0x09, 0xf5, 0x9b, 0x2c, 0x27, 0x57, 0x00,
+ 0xfb, 0x17, 0xf2, 0x59, 0xff, 0x90, 0x6d, 0x25, 0x8b, 0x96, 0x34, 0x27, 0xd8, 0x9c, 0x28, 0xd5,
+ 0x4a, 0xa9, 0x85, 0xde, 0xb8, 0xc4, 0xac, 0xfa, 0x83, 0x78, 0x35, 0xb0, 0x57, 0x76, 0x7d, 0x45,
+ 0xe2, 0x91, 0xe6, 0x2f, 0x3d, 0xc4, 0x9e, 0xe2, 0x82, 0x91, 0x79, 0x6a, 0x80, 0x1f, 0xca, 0x24,
+ 0xf9, 0x73, 0x73, 0x58, 0xda, 0xc7, 0xd6, 0xde, 0x2a, 0xab, 0xfe, 0xc2, 0x41, 0xf1, 0xa7, 0x19,
+ 0xec, 0x64, 0x70, 0x7d, 0x27, 0x3e, 0x75, 0xd0, 0xfc, 0x2f, 0x46, 0x1e, 0x59, 0x8a, 0x9e, 0xf4,
+ 0x3b, 0xac, 0x80, 0xbf, 0x54, 0x2b, 0x31, 0x04, 0xf1, 0x22, 0x40, 0x5d, 0xa1, 0x4c, 0xb2, 0x2b,
+ 0xf7, 0x3d, 0xb6, 0x31, 0xf0, 0x27, 0x93, 0xfe, 0x14, 0xcf, 0xf6, 0xdb, 0x4b, 0x32, 0xbc, 0x18,
+ 0xdf, 0x25, 0x42, 0x4b, 0x70, 0xe8, 0xf7, 0xd8, 0xe6, 0x68, 0x38, 0xf6, 0xdc, 0x68, 0x34, 0xf1,
+ 0xfc, 0xe3, 0x88, 0xfa, 0x1f, 0x05, 0x80, 0x39, 0x08, 0x02, 0x92, 0xa3, 0x7e, 0x30, 0x94, 0x24,
+ 0xd8, 0x64, 0x2b, 0x00, 0x4c, 0x90, 0xdc, 0x64, 0xb9, 0x59, 0x30, 0xf2, 0x83, 0x51, 0xf4, 0x96,
+ 0x3a, 0x6d, 0xf2, 0x59, 0xdf, 0x61, 0x79, 0x6c, 0x5f, 0x81, 0xea, 0xd8, 0x67, 0xcb, 0x21, 0xa0,
+ 0xc9, 0x9b, 0x8d, 0xfe, 0x71, 0x84, 0xa7, 0x6e, 0x6c, 0xb5, 0x6d, 0xf8, 0xc7, 0x11, 0x3f, 0x6e,
+ 0xef, 0xb0, 0x3c, 0xa0, 0x70, 0xbb, 0xc4, 0x66, 0x1b, 0xd0, 0xee, 0xf2, 0x8c, 0x2a, 0xfb, 0x9d,
+ 0x05, 0xb5, 0xdf, 0xf9, 0x57, 0xd8, 0x1a, 0xef, 0xc0, 0xf0, 0xf3, 0x6c, 0xe1, 0xe1, 0xb5, 0xe5,
+ 0xfd, 0x19, 0x0b, 0x89, 0xf4, 0xa7, 0x6c, 0x53, 0x59, 0xf0, 0xb0, 0xb8, 0xc5, 0x1d, 0xec, 0xd6,
+ 0x59, 0xb1, 0x66, 0x25, 0x38, 0x4a, 0x3f, 0x4e, 0x61, 0xe9, 0x73, 0x70, 0x3c, 0xf8, 0xc2, 0x8b,
+ 0x60, 0x71, 0xdf, 0x78, 0xa3, 0xc3, 0x23, 0xb1, 0x83, 0xd1, 0x13, 0x14, 0x59, 0x6f, 0x78, 0x63,
+ 0x88, 0x4f, 0x13, 0xb7, 0xb1, 0x3c, 0x87, 0xf0, 0x89, 0xde, 0x61, 0x05, 0x44, 0xe3, 0x54, 0x71,
+ 0x75, 0x91, 0x03, 0x27, 0xfb, 0x40, 0x4d, 0x49, 0xe7, 0x0b, 0x82, 0xff, 0x4c, 0xcd, 0x23, 0xdc,
+ 0x76, 0xc0, 0xf3, 0xbe, 0x1f, 0x7b, 0x09, 0x96, 0x66, 0x8b, 0x79, 0x49, 0x12, 0x2f, 0xba, 0xc9,
+ 0xfd, 0x44, 0x9b, 0x7f, 0x67, 0x05, 0xab, 0x52, 0xd4, 0xa9, 0x5b, 0x5e, 0x26, 0xb1, 0xe5, 0xc1,
+ 0x74, 0xd0, 0x60, 0xab, 0xa7, 0x83, 0x78, 0x4b, 0xd0, 0x95, 0x7e, 0x27, 0xc5, 0xb6, 0x79, 0x47,
+ 0xb0, 0x0f, 0xcf, 0x50, 0x2f, 0x24, 0xdd, 0x2a, 0x35, 0xe7, 0x56, 0xd7, 0xd9, 0xc6, 0x68, 0xaa,
+ 0x9a, 0x7b, 0x7d, 0x34, 0xe5, 0xb6, 0x56, 0x4c, 0x99, 0x39, 0x9f, 0x29, 0x65, 0x5c, 0x67, 0xd5,
+ 0xb8, 0x26, 0xf3, 0x92, 0x3e, 0xa3, 0xe9, 0xd9, 0xea, 0xfc, 0xaa, 0xec, 0x98, 0xa6, 0x57, 0x04,
+ 0xa8, 0x14, 0x34, 0xdf, 0x36, 0x3d, 0x23, 0xee, 0xe3, 0x5c, 0x92, 0x4d, 0xe4, 0x12, 0x19, 0x05,
+ 0x6b, 0xe7, 0x89, 0x02, 0x31, 0xbd, 0x75, 0x65, 0x7a, 0xff, 0x34, 0x83, 0x45, 0x0c, 0x67, 0x0a,
+ 0xbc, 0x89, 0x7f, 0xe2, 0xad, 0x4e, 0x5d, 0x6a, 0xec, 0xa7, 0xe7, 0x62, 0xff, 0xfb, 0x72, 0xe2,
+ 0x19, 0x3e, 0xf1, 0x8f, 0x96, 0x67, 0x26, 0x1a, 0xe2, 0xac, 0xb9, 0x67, 0x93, 0x73, 0xbf, 0xc7,
+ 0x36, 0x87, 0xc7, 0x41, 0x9f, 0x0a, 0xa1, 0x81, 0x48, 0x5b, 0x02, 0x66, 0x7b, 0x03, 0xd8, 0x7a,
+ 0x24, 0xc9, 0x14, 0x68, 0x30, 0x6f, 0x49, 0xbe, 0x4e, 0xe8, 0x0d, 0x16, 0xd2, 0xdf, 0xc6, 0x97,
+ 0xa7, 0xbf, 0xdc, 0x62, 0xfa, 0xbb, 0xc7, 0x36, 0x69, 0x01, 0x07, 0xfe, 0xf1, 0x14, 0x33, 0x59,
+ 0xd6, 0x2a, 0x20, 0xac, 0x0a, 0x20, 0xc8, 0x01, 0x07, 0x6f, 0x23, 0x8f, 0x08, 0x18, 0x27, 0xc8,
+ 0x03, 0x04, 0xd1, 0x72, 0xcd, 0xde, 0x9e, 0x63, 0xcd, 0x4a, 0x7f, 0x9a, 0xc6, 0x3d, 0x0e, 0xb7,
+ 0xb3, 0x83, 0xfe, 0x74, 0x78, 0xde, 0xf7, 0x66, 0x0a, 0x87, 0x12, 0xac, 0x3a, 0xcb, 0x06, 0xfd,
+ 0xc8, 0xa3, 0xe5, 0xe3, 0xbf, 0xb9, 0xc2, 0xc7, 0x41, 0x18, 0xb9, 0xe1, 0xe8, 0x37, 0x3c, 0x72,
+ 0xbd, 0x3c, 0x87, 0xd8, 0xa3, 0xdf, 0xf0, 0xf4, 0x27, 0x2c, 0x3b, 0x0c, 0xfc, 0x19, 0xd5, 0x48,
+ 0x67, 0x0e, 0x04, 0x74, 0x70, 0x7e, 0x82, 0x7f, 0xf5, 0xcf, 0x59, 0x61, 0x18, 0x0e, 0x66, 0xb0,
+ 0xe4, 0xfd, 0xe0, 0x8b, 0x95, 0x4d, 0x64, 0x95, 0x3d, 0x26, 0x6f, 0x5c, 0xb0, 0x18, 0x3c, 0x5a,
+ 0xfc, 0x49, 0xef, 0x2c, 0x2d, 0x96, 0x3e, 0x39, 0x4b, 0xd8, 0xb9, 0x6a, 0xa5, 0xab, 0x58, 0xf7,
+ 0xcf, 0x4d, 0xa1, 0xf4, 0x3d, 0x2c, 0xa1, 0x96, 0xab, 0x06, 0xf6, 0x9a, 0x05, 0xde, 0xc0, 0x1d,
+ 0x7b, 0x27, 0x9e, 0xa8, 0xdb, 0xf3, 0x00, 0x69, 0x01, 0xa0, 0x64, 0xb0, 0x9d, 0x33, 0x54, 0x39,
+ 0x4f, 0x81, 0x51, 0xfa, 0xf7, 0x94, 0x74, 0x50, 0xc6, 0x39, 0x73, 0xba, 0x24, 0x5e, 0xcc, 0xe9,
+ 0x72, 0x0f, 0x4d, 0xab, 0x7b, 0xa8, 0x5a, 0x25, 0x65, 0x12, 0x55, 0x92, 0xfe, 0x1d, 0xb6, 0x06,
+ 0x9a, 0x8b, 0xb4, 0x5d, 0x3a, 0xcb, 0xd0, 0xf4, 0xda, 0x12, 0x19, 0x4a, 0xcf, 0x50, 0x73, 0x2f,
+ 0x08, 0xfc, 0xc0, 0x9d, 0x84, 0x87, 0x4b, 0x4f, 0x06, 0x3a, 0xcb, 0xf2, 0x36, 0x21, 0x79, 0x21,
+ 0xfc, 0x96, 0xd9, 0x29, 0xa3, 0x64, 0xa7, 0xdf, 0x4e, 0xe1, 0x42, 0xa0, 0xb4, 0x44, 0x53, 0x63,
+ 0x95, 0xe8, 0x1b, 0x2c, 0xe7, 0x9d, 0xe2, 0xfe, 0x44, 0xe2, 0x37, 0xbc, 0xd3, 0x19, 0xef, 0x51,
+ 0xce, 0x5b, 0x3e, 0x73, 0x46, 0x69, 0xa7, 0x6e, 0x01, 0x27, 0x14, 0x82, 0xc7, 0xe3, 0x68, 0x34,
+ 0xeb, 0xf3, 0xf7, 0x5d, 0x3f, 0x3a, 0xf6, 0xc2, 0x48, 0x7f, 0x94, 0x08, 0xc1, 0x3b, 0x8b, 0x46,
+ 0x92, 0x1c, 0x4a, 0x04, 0x2e, 0x5f, 0x0b, 0x9d, 0x65, 0x0f, 0xfc, 0xe1, 0x5b, 0x31, 0x7b, 0xf8,
+ 0x5d, 0x8a, 0xc8, 0x39, 0x95, 0x71, 0x67, 0xe3, 0xb7, 0xbf, 0xec, 0x51, 0x7f, 0x2f, 0x85, 0x6f,
+ 0x78, 0x87, 0x5e, 0x38, 0xe0, 0x2e, 0xf2, 0x3a, 0xe0, 0xbf, 0xf9, 0x78, 0x79, 0x6b, 0x63, 0xf2,
+ 0x3a, 0xa8, 0x01, 0x0a, 0x5f, 0xc8, 0xc9, 0x17, 0x7d, 0x79, 0x6b, 0xfd, 0xe8, 0x8d, 0x40, 0x84,
+ 0x84, 0xc0, 0xd7, 0xbc, 0xeb, 0x21, 0x22, 0x6e, 0x33, 0x16, 0x7a, 0xc1, 0xa8, 0x3f, 0x76, 0xa7,
+ 0xc7, 0x13, 0x6e, 0xe1, 0xbc, 0x95, 0x47, 0x48, 0xe7, 0x78, 0x02, 0x7c, 0x43, 0x1c, 0x96, 0xe7,
+ 0x8a, 0xbc, 0xb5, 0x3e, 0x9c, 0x01, 0x5f, 0xe9, 0x8f, 0x53, 0xec, 0x9a, 0xdc, 0x40, 0xc2, 0xa8,
+ 0x1f, 0x85, 0x72, 0x05, 0xce, 0x78, 0x83, 0xad, 0xd6, 0x9b, 0xe9, 0x33, 0xea, 0xcd, 0xcc, 0x5c,
+ 0xbd, 0xb9, 0x6a, 0xaf, 0x9d, 0xab, 0xdb, 0xd7, 0x16, 0xea, 0x76, 0x99, 0xd8, 0xd7, 0xcf, 0x93,
+ 0xd8, 0xff, 0x28, 0x83, 0x75, 0x4e, 0x3c, 0x29, 0x7d, 0x9b, 0xa5, 0x47, 0x43, 0xfe, 0xa2, 0x25,
+ 0x6b, 0xa5, 0x47, 0x67, 0xbe, 0x9e, 0x9f, 0xdf, 0x14, 0xd3, 0xe7, 0xd8, 0x14, 0x33, 0x4b, 0x36,
+ 0x45, 0x75, 0x47, 0xcf, 0xce, 0xed, 0xe8, 0x5f, 0xcd, 0x79, 0x41, 0x3a, 0xde, 0x86, 0xea, 0x78,
+ 0xb1, 0x91, 0x73, 0x09, 0x23, 0x7f, 0x85, 0xdb, 0xeb, 0xff, 0xa7, 0x83, 0xc1, 0x9f, 0xa4, 0x30,
+ 0xdd, 0xf7, 0x0f, 0x0f, 0x03, 0xef, 0xb0, 0x1f, 0x79, 0x7f, 0x69, 0x3c, 0xf4, 0x37, 0xd9, 0x8d,
+ 0xe5, 0x13, 0x83, 0x24, 0x34, 0xbf, 0x50, 0xa9, 0x2f, 0x5b, 0xa8, 0xf4, 0xfc, 0x42, 0xdd, 0x66,
+ 0x8c, 0x0f, 0x8d, 0x68, 0xaa, 0x3a, 0x00, 0xc2, 0xd1, 0xa5, 0xbf, 0xc8, 0x60, 0xea, 0x47, 0xe3,
+ 0xd1, 0x25, 0x0a, 0x77, 0x16, 0xf8, 0x33, 0x2f, 0xe0, 0xe5, 0xa6, 0x9a, 0x04, 0x17, 0x0b, 0x81,
+ 0x45, 0x36, 0x35, 0x1b, 0xee, 0xcf, 0x2d, 0x3b, 0xf6, 0xa6, 0x3e, 0x3b, 0x8f, 0x14, 0x95, 0x8f,
+ 0xbf, 0xba, 0x52, 0x9e, 0x75, 0x8b, 0x15, 0xa6, 0xde, 0x69, 0xa4, 0xde, 0xd3, 0x28, 0x3c, 0xbc,
+ 0x7f, 0x1e, 0xb1, 0x0a, 0x1b, 0x94, 0x3e, 0xf0, 0x48, 0xb7, 0x3b, 0x76, 0xe7, 0xbb, 0x54, 0xdf,
+ 0x3c, 0x8f, 0xbc, 0x25, 0xcd, 0xaa, 0xef, 0xb1, 0x8c, 0x7f, 0x3a, 0x59, 0x59, 0x87, 0x2d, 0x11,
+ 0xe2, 0x9f, 0x4e, 0x1a, 0x17, 0x2c, 0xe0, 0x02, 0x8b, 0x2d, 0x29, 0xc0, 0xce, 0x65, 0xb1, 0x33,
+ 0x0b, 0x31, 0xf1, 0x12, 0xa3, 0x74, 0xc8, 0x3e, 0x3c, 0x87, 0xc5, 0x17, 0x02, 0x36, 0xf5, 0x73,
+ 0x07, 0xec, 0xe7, 0xac, 0xf4, 0xe5, 0x6b, 0xa0, 0x7f, 0xc4, 0xb6, 0xe3, 0x47, 0x77, 0x34, 0xc4,
+ 0x91, 0xb6, 0xac, 0x4d, 0xb9, 0x32, 0xcd, 0x61, 0x58, 0xb2, 0xb1, 0x63, 0xb6, 0xda, 0xfe, 0xbf,
+ 0x48, 0x57, 0xeb, 0x5b, 0xab, 0x1c, 0x1f, 0xd6, 0x03, 0x76, 0x49, 0xff, 0x74, 0xc2, 0x35, 0xca,
+ 0xe0, 0x3d, 0x18, 0xff, 0x74, 0x02, 0xba, 0xfc, 0xe3, 0xd4, 0x4a, 0x0b, 0x9e, 0x59, 0x7f, 0x2e,
+ 0x79, 0xd1, 0x93, 0x28, 0xa2, 0x32, 0xc9, 0x22, 0xea, 0x9b, 0x2c, 0x71, 0xb9, 0xc3, 0xa5, 0x6a,
+ 0x09, 0x34, 0xd1, 0x54, 0x44, 0x0d, 0x2a, 0xa7, 0xdf, 0x4f, 0x33, 0x7d, 0x41, 0xa7, 0xf0, 0xac,
+ 0x9c, 0x28, 0x2e, 0x88, 0xa5, 0x95, 0x0b, 0x62, 0x1f, 0xb3, 0x6d, 0xa5, 0xb3, 0x08, 0xf9, 0x2b,
+ 0xc3, 0x93, 0xc9, 0x56, 0xdc, 0x5a, 0x84, 0x5c, 0xae, 0x92, 0xf1, 0xbe, 0x25, 0xa5, 0x47, 0x49,
+ 0xf6, 0x02, 0x80, 0xca, 0x7d, 0xa1, 0xb5, 0xc4, 0x7d, 0xa1, 0x3b, 0xac, 0x30, 0xe9, 0x9f, 0xba,
+ 0xde, 0x34, 0x0a, 0x46, 0x5e, 0x48, 0x5b, 0x19, 0x9b, 0xf4, 0x4f, 0x4d, 0x84, 0xe8, 0xbb, 0x50,
+ 0xf6, 0xf3, 0xf4, 0x03, 0xf8, 0x0d, 0xbe, 0x9a, 0xe7, 0x09, 0x23, 0xc8, 0x57, 0x96, 0xc2, 0x5a,
+ 0xfa, 0x71, 0x0a, 0xfb, 0xe7, 0x48, 0x8a, 0x7b, 0xff, 0xd9, 0x7b, 0x3d, 0xb8, 0xc6, 0x89, 0x9a,
+ 0x49, 0xb7, 0xac, 0x02, 0xc2, 0x30, 0x97, 0xde, 0x63, 0x9b, 0x63, 0xdf, 0xff, 0xe2, 0x78, 0xa6,
+ 0x64, 0xd3, 0xac, 0x55, 0x40, 0x18, 0x92, 0x7c, 0xc8, 0xb6, 0xb8, 0xed, 0xbc, 0x21, 0xd1, 0x64,
+ 0xa9, 0x3d, 0x8b, 0x40, 0x4c, 0xba, 0x0f, 0xb0, 0xd0, 0x92, 0x57, 0xc0, 0xe2, 0x6d, 0x6c, 0xd5,
+ 0xbd, 0xac, 0xd2, 0x9f, 0x51, 0x1d, 0x13, 0xf3, 0xac, 0xbe, 0xc3, 0x75, 0x9b, 0xb1, 0xe0, 0x94,
+ 0x1a, 0x20, 0xa1, 0xd8, 0x11, 0x82, 0xd3, 0x1e, 0x02, 0x00, 0x1d, 0xc5, 0x68, 0x9c, 0x43, 0x3e,
+ 0x92, 0xe8, 0x1b, 0x2c, 0x17, 0x9c, 0xba, 0xb0, 0x81, 0x84, 0xa4, 0xfc, 0x46, 0x70, 0x5a, 0x81,
+ 0x47, 0x6e, 0x3d, 0x81, 0xc2, 0x6d, 0x6f, 0x23, 0x22, 0x14, 0x8e, 0x09, 0xa7, 0xba, 0x99, 0x37,
+ 0xe4, 0xab, 0xca, 0xc7, 0xac, 0x21, 0x80, 0xc6, 0x14, 0xe8, 0x0d, 0x31, 0xa6, 0x40, 0xef, 0xb0,
+ 0x7c, 0x70, 0x8a, 0xc7, 0x8f, 0x90, 0x4a, 0x95, 0x5c, 0x70, 0x6a, 0xf2, 0x67, 0x40, 0x46, 0x12,
+ 0x89, 0x95, 0x4a, 0x2e, 0x12, 0xc8, 0xbb, 0x6c, 0x33, 0x38, 0x75, 0x5f, 0x07, 0xfd, 0x89, 0x07,
+ 0x24, 0x54, 0xa8, 0xb0, 0xe0, 0xb4, 0x0e, 0x20, 0x93, 0xdf, 0x5a, 0x2c, 0x04, 0xa7, 0xae, 0x7f,
+ 0xe2, 0x05, 0x9c, 0xa0, 0x20, 0x54, 0xeb, 0x9e, 0x78, 0x01, 0xe0, 0x6f, 0x71, 0xcd, 0x07, 0xc1,
+ 0x80, 0xa3, 0x37, 0xc5, 0xe0, 0xd5, 0x60, 0x80, 0xdc, 0x6c, 0xe0, 0x8f, 0xc7, 0xa3, 0x90, 0xea,
+ 0x16, 0xda, 0xeb, 0x05, 0x64, 0xa1, 0x42, 0xdc, 0x3e, 0x47, 0x85, 0x78, 0x71, 0xb1, 0x42, 0x2c,
+ 0x3d, 0xc6, 0x8e, 0x3d, 0x76, 0xf8, 0x16, 0x4a, 0x9b, 0x55, 0xef, 0xba, 0xf6, 0x31, 0xee, 0xb1,
+ 0xa9, 0x87, 0x0e, 0xe7, 0x05, 0xff, 0xef, 0x45, 0x43, 0xe9, 0xc7, 0x69, 0x0c, 0x1d, 0x45, 0x9d,
+ 0x33, 0xd4, 0xe0, 0xcb, 0xe7, 0xbd, 0x4e, 0xc4, 0x4d, 0x2e, 0xf0, 0x5e, 0xcb, 0xa0, 0x49, 0x68,
+ 0x93, 0xf9, 0x32, 0x6d, 0xb2, 0xf3, 0x25, 0xcc, 0x57, 0xd5, 0x9a, 0xaa, 0xb0, 0x4d, 0xb2, 0x14,
+ 0x9f, 0x11, 0xe5, 0x96, 0x3b, 0x2b, 0x7a, 0xa5, 0xc2, 0x9c, 0x56, 0x01, 0x9f, 0x6d, 0xe0, 0x81,
+ 0x63, 0xdb, 0x76, 0x6c, 0x19, 0x7e, 0x78, 0xfb, 0xb2, 0x2b, 0x8c, 0x67, 0x76, 0x72, 0xd3, 0x2b,
+ 0x3b, 0xb9, 0x99, 0x73, 0x76, 0x72, 0x4f, 0xd4, 0xa5, 0x82, 0xb4, 0xfa, 0x16, 0x34, 0x92, 0x47,
+ 0xc9, 0xc2, 0x4a, 0x8d, 0x80, 0x04, 0xef, 0x87, 0xea, 0x0f, 0xf1, 0x0e, 0xb0, 0xa8, 0xd0, 0x6e,
+ 0xad, 0xe0, 0xe0, 0x34, 0x78, 0x43, 0x38, 0x2c, 0xfd, 0xbd, 0x14, 0x3a, 0x1f, 0xa2, 0xe4, 0xa6,
+ 0x73, 0x85, 0xad, 0xf1, 0xab, 0x83, 0xe2, 0x45, 0x2b, 0x7f, 0x58, 0xb8, 0x18, 0x9b, 0x5e, 0xbc,
+ 0x18, 0x0b, 0x5e, 0x00, 0x3b, 0x03, 0x97, 0x27, 0x76, 0xdd, 0xfc, 0xa4, 0x7f, 0xca, 0xab, 0xf1,
+ 0x50, 0x2f, 0x26, 0x7b, 0xf6, 0x5b, 0xf1, 0x4e, 0xfe, 0x1d, 0xb5, 0x13, 0xb4, 0xd8, 0x3e, 0x38,
+ 0xe3, 0x2d, 0xd5, 0xaf, 0xe3, 0xfb, 0x5f, 0xa5, 0xcb, 0x82, 0xbe, 0x5e, 0x66, 0x97, 0xc8, 0x67,
+ 0x39, 0x50, 0x0d, 0xa3, 0x8b, 0x88, 0xa8, 0xf4, 0xa7, 0x98, 0xcc, 0xf5, 0xaf, 0xb1, 0x8b, 0xdc,
+ 0x79, 0x15, 0x4a, 0x8c, 0xa7, 0x2d, 0x00, 0x4b, 0xba, 0xd2, 0x1f, 0x52, 0x4c, 0xe1, 0x60, 0x32,
+ 0xa6, 0x56, 0xa8, 0x36, 0x57, 0xb7, 0xa7, 0xe7, 0xea, 0x76, 0x18, 0x35, 0xee, 0x70, 0xab, 0x81,
+ 0xb5, 0x85, 0xe0, 0xe6, 0x14, 0xe9, 0x4a, 0x8c, 0xab, 0x11, 0x53, 0x61, 0x74, 0x15, 0x00, 0x28,
+ 0x68, 0xbe, 0xaa, 0xf8, 0x7a, 0xca, 0x58, 0x6c, 0x43, 0x8a, 0xae, 0x7b, 0x67, 0xb5, 0xb4, 0xd0,
+ 0x9f, 0xf2, 0xf0, 0x1b, 0xa3, 0xeb, 0xb7, 0xb0, 0x4b, 0x8e, 0x24, 0x67, 0x5e, 0xc4, 0x57, 0x2d,
+ 0x97, 0x5e, 0xd1, 0x54, 0xcb, 0xfc, 0xbc, 0x4d, 0xb5, 0x7f, 0x43, 0x2e, 0x8d, 0x04, 0xd2, 0xa5,
+ 0xe9, 0x1a, 0x3a, 0xbe, 0x82, 0x4e, 0xc9, 0x6b, 0xe8, 0x6d, 0xfe, 0x0e, 0xf4, 0x36, 0x4d, 0x1a,
+ 0x9d, 0x9e, 0xd6, 0x09, 0x20, 0xce, 0x52, 0xc7, 0xcf, 0x2c, 0x71, 0x7c, 0x92, 0x2f, 0x3a, 0x81,
+ 0x42, 0x3e, 0xb8, 0x8e, 0x44, 0x0e, 0xfc, 0xb1, 0x1f, 0xd0, 0xca, 0x00, 0xb2, 0x0a, 0xcf, 0xa5,
+ 0xdf, 0x54, 0x5d, 0x0a, 0x63, 0xff, 0x5b, 0xb2, 0xee, 0x4a, 0xad, 0xb8, 0x10, 0xa3, 0x5a, 0x57,
+ 0x96, 0x65, 0x5f, 0x9a, 0x01, 0x14, 0xb7, 0x15, 0x19, 0xe0, 0x84, 0xdd, 0xe3, 0x5d, 0xc3, 0x44,
+ 0xbf, 0x50, 0x86, 0xdf, 0xd1, 0xf2, 0x0b, 0x4f, 0xa9, 0x2f, 0xa9, 0x83, 0xe7, 0x9a, 0x89, 0xcb,
+ 0xda, 0x95, 0x63, 0xdc, 0x2b, 0x13, 0xe3, 0xfe, 0xf2, 0x46, 0x33, 0xb1, 0x2d, 0xf9, 0xa3, 0x63,
+ 0xef, 0x98, 0xea, 0x7c, 0x1a, 0x8b, 0x37, 0x75, 0xb0, 0xee, 0x14, 0x5e, 0x21, 0xcf, 0xcd, 0x1a,
+ 0xcb, 0xc4, 0x17, 0x6c, 0xe0, 0x67, 0x29, 0x40, 0xa5, 0x15, 0x31, 0x93, 0xd1, 0xd4, 0xe5, 0x2f,
+ 0x06, 0xaa, 0xac, 0xa0, 0xc8, 0xa5, 0x75, 0x5b, 0x74, 0xdb, 0x05, 0x0d, 0xb0, 0xda, 0xa5, 0x8b,
+ 0x65, 0x4b, 0xde, 0x38, 0x2c, 0x1b, 0xb3, 0x7f, 0xfa, 0x4b, 0x1e, 0xf3, 0x9f, 0x50, 0xa3, 0x46,
+ 0xe1, 0x4c, 0x58, 0xff, 0x2b, 0x19, 0xf8, 0x3c, 0x87, 0xab, 0x65, 0x6b, 0xf9, 0x77, 0x53, 0x98,
+ 0x60, 0x28, 0x75, 0xf2, 0x41, 0xc0, 0x1f, 0x70, 0xb4, 0x38, 0x09, 0xf3, 0x67, 0x3c, 0x26, 0x29,
+ 0x6d, 0x23, 0xbc, 0x3f, 0x55, 0x49, 0x9c, 0x4f, 0x56, 0x35, 0xee, 0x57, 0xe8, 0x4f, 0x47, 0x93,
+ 0x87, 0x78, 0x3b, 0x02, 0x89, 0x0e, 0x79, 0xad, 0x01, 0x51, 0x28, 0xb7, 0xac, 0x25, 0xf7, 0xb6,
+ 0x4a, 0x87, 0x78, 0x5e, 0x5d, 0xc2, 0x33, 0x1b, 0xbf, 0x5d, 0x7a, 0xd3, 0xeb, 0x5b, 0x6c, 0x9d,
+ 0x53, 0x8b, 0xcf, 0x24, 0x6e, 0xaf, 0x7a, 0x49, 0xca, 0xa9, 0x2c, 0x22, 0x2e, 0x99, 0x0b, 0x97,
+ 0xa2, 0xd0, 0x4e, 0x2b, 0x5e, 0x03, 0x48, 0xdb, 0x65, 0x12, 0xb6, 0x2b, 0xb5, 0x55, 0xe7, 0x3b,
+ 0xdf, 0x29, 0x27, 0x21, 0x2e, 0x9d, 0x14, 0xf7, 0xe7, 0x74, 0x9a, 0x53, 0xe4, 0xfd, 0x22, 0x72,
+ 0x12, 0x67, 0x98, 0xcc, 0xc2, 0x19, 0x46, 0x39, 0x18, 0x65, 0xe7, 0x0f, 0x46, 0x89, 0x73, 0xc8,
+ 0xda, 0xdc, 0x39, 0x64, 0x7e, 0x0f, 0x5d, 0x3f, 0xc7, 0x1e, 0xba, 0xb1, 0xe4, 0x1c, 0x30, 0x41,
+ 0x07, 0x0d, 0xfc, 0xb1, 0x27, 0xcd, 0xf5, 0x98, 0x65, 0xe1, 0x79, 0xe5, 0x2b, 0xc8, 0x81, 0x3f,
+ 0x8d, 0x02, 0x7f, 0x3c, 0xf6, 0x02, 0xce, 0x67, 0x71, 0x6a, 0x18, 0xee, 0xd0, 0x9b, 0x7a, 0x34,
+ 0x20, 0x19, 0x22, 0x6b, 0x6d, 0xc6, 0xc0, 0xe6, 0xb0, 0xf4, 0xbb, 0x14, 0x10, 0xfd, 0xf0, 0xed,
+ 0x74, 0x20, 0x76, 0xdc, 0x8f, 0xd8, 0x76, 0x5c, 0x5b, 0xf0, 0x1e, 0x27, 0x35, 0x65, 0x44, 0x69,
+ 0xc1, 0xbb, 0x9c, 0x9f, 0x30, 0x4d, 0xf9, 0x86, 0x49, 0xdc, 0xb2, 0x01, 0xba, 0x6d, 0x80, 0xdb,
+ 0x1c, 0xcc, 0x29, 0xcb, 0xec, 0x52, 0xe2, 0xa5, 0x34, 0x27, 0xc5, 0xfa, 0xee, 0x22, 0x20, 0x2c,
+ 0x84, 0xf3, 0x9b, 0x4b, 0xaf, 0xd8, 0x36, 0xdf, 0x57, 0xdb, 0xfe, 0x70, 0x6f, 0x36, 0x84, 0x4c,
+ 0x85, 0xed, 0x7a, 0x7c, 0x2b, 0x92, 0x1e, 0xf1, 0x6f, 0x76, 0xe4, 0x2b, 0x38, 0xda, 0xad, 0x6e,
+ 0xae, 0x7e, 0x49, 0x67, 0x61, 0x99, 0xd0, 0xf6, 0x87, 0xa5, 0x1e, 0xbb, 0xc8, 0x45, 0xf3, 0x52,
+ 0xc3, 0xe2, 0x51, 0xf3, 0x03, 0x56, 0x50, 0xf6, 0xb5, 0x95, 0x5d, 0x2e, 0x75, 0xef, 0x63, 0x13,
+ 0x29, 0xa3, 0xf4, 0x82, 0x5d, 0xac, 0x8f, 0xfd, 0x37, 0xbc, 0x4f, 0xb5, 0x42, 0xdb, 0xc7, 0x2c,
+ 0x27, 0xae, 0x0a, 0x91, 0xb2, 0x37, 0x56, 0xde, 0x25, 0xb2, 0x36, 0xe0, 0x17, 0xa8, 0xea, 0xb2,
+ 0x2b, 0x20, 0x98, 0x57, 0xbe, 0x67, 0x49, 0xff, 0x36, 0xcb, 0xcb, 0x2b, 0x26, 0x2b, 0x6d, 0x21,
+ 0x29, 0x2c, 0x3c, 0x76, 0xc0, 0x00, 0xdf, 0x65, 0x6b, 0x30, 0x40, 0xa8, 0x3f, 0x60, 0x6b, 0xa3,
+ 0xc8, 0x9b, 0x88, 0xb9, 0xef, 0x2c, 0x57, 0x8e, 0xb6, 0x7d, 0x4e, 0x59, 0xfa, 0x3e, 0x5b, 0xe7,
+ 0x76, 0x0c, 0xa1, 0x68, 0x50, 0x99, 0x57, 0x19, 0x8e, 0x17, 0x26, 0x82, 0xfb, 0x29, 0x63, 0x72,
+ 0x6a, 0xe7, 0x90, 0xa0, 0x1c, 0x6b, 0x84, 0x84, 0x11, 0x2b, 0x80, 0x84, 0xea, 0x51, 0x7f, 0x7a,
+ 0xe8, 0x85, 0xfa, 0x37, 0xd8, 0x7a, 0xe4, 0xbb, 0xfd, 0xa1, 0xb8, 0xac, 0xa9, 0x27, 0x64, 0xf0,
+ 0x59, 0x5a, 0x6b, 0x91, 0x6f, 0x0c, 0x87, 0xfa, 0x7d, 0x96, 0x8f, 0x7c, 0x72, 0x43, 0x32, 0xd7,
+ 0x32, 0xea, 0x5c, 0xe4, 0xa3, 0x4b, 0x42, 0x41, 0xa8, 0x49, 0x6d, 0xc5, 0x80, 0x9f, 0xce, 0x0d,
+ 0x78, 0x7d, 0x41, 0x04, 0x4e, 0x4e, 0x8c, 0xfa, 0x78, 0x71, 0xd4, 0x95, 0x2c, 0x72, 0x68, 0xe2,
+ 0x3a, 0xe6, 0xeb, 0x4e, 0x1d, 0xee, 0xb3, 0xb8, 0xd0, 0x41, 0x4a, 0x36, 0xcb, 0xf5, 0x28, 0x48,
+ 0x97, 0x39, 0x8b, 0x0c, 0xeb, 0x95, 0xce, 0x22, 0x29, 0xac, 0x9c, 0x88, 0xf6, 0xd2, 0x0b, 0x96,
+ 0x47, 0xa1, 0xdd, 0xe3, 0x68, 0x41, 0xea, 0x77, 0x19, 0x8b, 0xef, 0x10, 0x91, 0xd8, 0x9d, 0x55,
+ 0x62, 0xfd, 0xe3, 0xc8, 0x22, 0x25, 0xba, 0xc7, 0xb0, 0xa5, 0x15, 0xd0, 0xa8, 0xe6, 0x89, 0x37,
+ 0x5d, 0x14, 0xfd, 0x57, 0x59, 0x41, 0xc9, 0x30, 0x2b, 0x2b, 0x53, 0x85, 0xa6, 0x71, 0xc1, 0x62,
+ 0x71, 0xf2, 0xa9, 0x6c, 0xb0, 0x35, 0x0f, 0x24, 0x97, 0xff, 0x5b, 0x8a, 0x15, 0x24, 0xe9, 0xd4,
+ 0xd7, 0x35, 0xb6, 0xd9, 0xad, 0xf7, 0x7a, 0x6e, 0xb3, 0xb3, 0x6f, 0xb4, 0x9a, 0x35, 0xed, 0x82,
+ 0xae, 0xb1, 0x1c, 0x87, 0xb4, 0x8d, 0x97, 0xda, 0xbb, 0x9f, 0xbd, 0x7f, 0xbf, 0xa1, 0x5f, 0x91,
+ 0x34, 0x6e, 0xaf, 0x6b, 0x39, 0xda, 0xff, 0x7c, 0x0f, 0x50, 0x9d, 0x31, 0x0e, 0x75, 0x8c, 0x4a,
+ 0xcb, 0xd4, 0xfe, 0x17, 0x87, 0x5d, 0x66, 0x05, 0x0e, 0xeb, 0x74, 0xad, 0xb6, 0xd1, 0xd2, 0x7e,
+ 0x92, 0x20, 0xac, 0xb7, 0xba, 0xdd, 0x9a, 0xf6, 0xbf, 0x39, 0x4c, 0x0c, 0x62, 0xb4, 0x5a, 0xda,
+ 0x4f, 0x39, 0xe4, 0x3a, 0xbb, 0xc8, 0x21, 0xd5, 0x6e, 0xc7, 0xb1, 0xba, 0xad, 0x96, 0x69, 0x69,
+ 0xff, 0x27, 0xc1, 0xde, 0xea, 0x56, 0x8d, 0x96, 0xf6, 0xb3, 0x24, 0x7b, 0xe7, 0x95, 0xf6, 0x1e,
+ 0x20, 0xe5, 0xff, 0xb8, 0x86, 0x2f, 0x91, 0xf9, 0x5e, 0xbc, 0xcd, 0x59, 0x1c, 0xb7, 0x61, 0xb6,
+ 0x5a, 0x5d, 0xed, 0x82, 0x7c, 0x36, 0x2d, 0xab, 0x6b, 0x69, 0x29, 0xfd, 0x2a, 0xbb, 0x84, 0xcf,
+ 0xd5, 0x46, 0xd7, 0xb5, 0xcc, 0xe7, 0x7b, 0xa6, 0xed, 0x68, 0x69, 0xfd, 0x32, 0x57, 0x41, 0x82,
+ 0x7b, 0xad, 0x57, 0x5a, 0x26, 0xa6, 0x7d, 0xd9, 0x33, 0xad, 0x66, 0xdb, 0xec, 0x38, 0xa6, 0xa5,
+ 0x65, 0xf5, 0x1b, 0xec, 0x2a, 0x07, 0xd7, 0x4d, 0xc3, 0xd9, 0xb3, 0x4c, 0x5b, 0x8a, 0x59, 0xd3,
+ 0xaf, 0xb3, 0xcb, 0xf3, 0x28, 0x10, 0xb5, 0xae, 0xef, 0xb0, 0xeb, 0x1c, 0xb1, 0x6b, 0x3a, 0x30,
+ 0xcd, 0x7a, 0x73, 0x57, 0x72, 0x6d, 0x48, 0x81, 0x09, 0x24, 0xf0, 0xe5, 0xa4, 0x5e, 0xb6, 0x44,
+ 0x69, 0x79, 0x5d, 0x67, 0xdb, 0x1c, 0xd8, 0x33, 0xaa, 0xcf, 0x4c, 0xc7, 0x6d, 0x76, 0x34, 0x26,
+ 0x75, 0xad, 0xb7, 0xba, 0x2f, 0x5c, 0xcb, 0x6c, 0x77, 0xf7, 0xcd, 0x9a, 0x56, 0xd0, 0xaf, 0x30,
+ 0x0d, 0x49, 0xbb, 0x96, 0xe3, 0xda, 0x8e, 0xe1, 0xec, 0xd9, 0xda, 0xa6, 0x94, 0x4a, 0x02, 0xba,
+ 0x7b, 0x8e, 0xb6, 0xa5, 0x5f, 0x62, 0x5b, 0xb1, 0x84, 0x76, 0xb7, 0xa6, 0x6d, 0xcb, 0x81, 0x76,
+ 0xad, 0xee, 0x5e, 0x8f, 0xc3, 0x2e, 0x4a, 0x32, 0x2e, 0x11, 0x40, 0x9a, 0x24, 0xe3, 0xee, 0xc0,
+ 0x61, 0x97, 0xf4, 0x9b, 0xec, 0x1a, 0x87, 0xb5, 0xf7, 0x5a, 0x4e, 0xb3, 0x67, 0x58, 0x8e, 0x9c,
+ 0xaf, 0xae, 0x17, 0xd9, 0x95, 0x05, 0x1c, 0x4c, 0xf7, 0xb2, 0xc4, 0x54, 0x0c, 0xcb, 0x6a, 0x9a,
+ 0x96, 0xe4, 0xb9, 0xa2, 0x5f, 0x63, 0xfa, 0x1c, 0x06, 0x38, 0xae, 0xea, 0xf7, 0xd8, 0x6d, 0x0e,
+ 0x7f, 0xbe, 0x67, 0xee, 0x99, 0xcb, 0xcc, 0x7b, 0x4d, 0xbf, 0xc3, 0x76, 0x56, 0x91, 0x80, 0x8c,
+ 0xeb, 0xd2, 0x76, 0x56, 0xb7, 0x65, 0x4a, 0xbe, 0xa2, 0xb4, 0x12, 0x81, 0x81, 0xf6, 0x86, 0x9c,
+ 0x17, 0x88, 0x31, 0xec, 0x57, 0x9d, 0xaa, 0x64, 0xb8, 0x29, 0xb5, 0x57, 0x71, 0xc0, 0xb5, 0x23,
+ 0x2d, 0x64, 0x0b, 0x8c, 0x76, 0x4b, 0xc2, 0xda, 0xa6, 0x63, 0x5a, 0xdc, 0x6a, 0xb7, 0xcb, 0x55,
+ 0xbc, 0x85, 0x31, 0xf7, 0x67, 0x08, 0x88, 0xb4, 0xc1, 0xd7, 0x5a, 0xc4, 0x2a, 0x0e, 0x06, 0xb0,
+ 0x7d, 0xd3, 0xb2, 0x9b, 0xdd, 0x4e, 0xa5, 0xe9, 0xb4, 0x8d, 0x9e, 0x96, 0x2a, 0x7b, 0x58, 0xcd,
+ 0x50, 0x65, 0x8c, 0x9d, 0x02, 0xf4, 0x83, 0xaa, 0x5b, 0xb7, 0x8c, 0x5d, 0x11, 0xa2, 0x17, 0x48,
+ 0x2e, 0x41, 0x6b, 0x56, 0xb7, 0xa7, 0xa5, 0x68, 0xd6, 0x04, 0xb3, 0x4c, 0xc3, 0x6e, 0x6b, 0xe9,
+ 0x24, 0x61, 0xdb, 0xb0, 0x9f, 0x69, 0x99, 0xf2, 0x53, 0x1c, 0x06, 0xdf, 0x24, 0x50, 0xd1, 0x44,
+ 0xce, 0x51, 0x55, 0xf4, 0x24, 0xe7, 0xae, 0xba, 0x35, 0xb3, 0x67, 0x99, 0x55, 0xc3, 0x31, 0x6b,
+ 0x42, 0xc2, 0xaf, 0xe1, 0x37, 0xd0, 0x78, 0x57, 0x9c, 0x58, 0xd5, 0x29, 0x6e, 0xb3, 0x3c, 0x82,
+ 0x20, 0x1f, 0xfd, 0x2c, 0x15, 0x3f, 0x43, 0xea, 0x78, 0x9f, 0x2a, 0xff, 0x07, 0xaa, 0xdb, 0x12,
+ 0x7d, 0x04, 0xcc, 0x6a, 0xaa, 0x06, 0x72, 0x46, 0xe0, 0xd8, 0x10, 0x03, 0xb6, 0x96, 0x92, 0x06,
+ 0x41, 0x9f, 0x45, 0x68, 0x5a, 0x92, 0xca, 0x70, 0xb1, 0xb5, 0xac, 0x24, 0xc5, 0x28, 0x40, 0x68,
+ 0x8e, 0xf4, 0xad, 0xba, 0xcd, 0x1e, 0x59, 0xe9, 0xae, 0x24, 0x44, 0x47, 0x43, 0xc2, 0xa7, 0xfa,
+ 0x35, 0xee, 0x5d, 0x24, 0xb3, 0xd2, 0xea, 0x56, 0x9f, 0x99, 0x35, 0xed, 0x5d, 0xba, 0x7c, 0xa2,
+ 0x7c, 0x02, 0x9f, 0x30, 0xdf, 0x12, 0xe5, 0x05, 0x7b, 0xad, 0xfb, 0xa2, 0xa3, 0xa5, 0x62, 0xba,
+ 0x0e, 0x24, 0xab, 0xea, 0xbe, 0x96, 0x15, 0xc9, 0x9c, 0x83, 0xea, 0x2f, 0x6a, 0xda, 0x5d, 0x8a,
+ 0x18, 0x84, 0xc4, 0x99, 0xe2, 0x69, 0xf9, 0xaf, 0xcd, 0xbd, 0x43, 0x11, 0xa6, 0xef, 0xd9, 0x8b,
+ 0xc3, 0xda, 0x6e, 0xab, 0xd9, 0x79, 0x36, 0x37, 0xac, 0x2d, 0x67, 0x91, 0xa6, 0xf4, 0xca, 0xe9,
+ 0xf6, 0x4d, 0x2d, 0x5b, 0xfe, 0xb3, 0x34, 0x7e, 0x78, 0xc2, 0xa5, 0xcb, 0xde, 0x11, 0x31, 0xd6,
+ 0x95, 0x01, 0x24, 0xe8, 0xc1, 0x67, 0xed, 0x8a, 0xdb, 0xa8, 0xc5, 0xe2, 0x09, 0x54, 0xaf, 0x49,
+ 0xbf, 0xe3, 0x20, 0x22, 0xcb, 0xce, 0xc3, 0xea, 0x35, 0x2d, 0x27, 0x66, 0x5f, 0x77, 0x1f, 0xec,
+ 0x72, 0x2a, 0x2d, 0x09, 0xa9, 0x83, 0x3d, 0x14, 0xf1, 0x08, 0x7a, 0xaa, 0xeb, 0x02, 0xf4, 0x98,
+ 0x40, 0xef, 0xc0, 0xff, 0x63, 0xf1, 0x04, 0x4c, 0xeb, 0x97, 0xa4, 0x34, 0x07, 0x41, 0x60, 0xf0,
+ 0x02, 0x82, 0xba, 0x4e, 0xc3, 0xb4, 0xb4, 0x77, 0xb9, 0x98, 0xa8, 0xda, 0xed, 0xf5, 0x00, 0xa4,
+ 0xc5, 0x44, 0xf5, 0x66, 0x05, 0x20, 0x77, 0xe3, 0x21, 0x8d, 0x3d, 0xa7, 0xdb, 0x31, 0x77, 0xb5,
+ 0x77, 0x4f, 0xf5, 0x4b, 0x82, 0xaa, 0x67, 0xec, 0xd9, 0xa6, 0xf6, 0xee, 0x5d, 0x4a, 0xbf, 0xc6,
+ 0x5d, 0x49, 0x80, 0x20, 0x67, 0xb4, 0xb5, 0x77, 0xef, 0xd2, 0xe5, 0x9a, 0xe2, 0x34, 0x74, 0x9d,
+ 0x75, 0x8b, 0x47, 0x45, 0xcf, 0x72, 0x8d, 0x1a, 0xee, 0xe1, 0x9b, 0xf8, 0x58, 0x33, 0x5b, 0xa6,
+ 0x63, 0x6a, 0xa9, 0x18, 0xd2, 0xee, 0xd6, 0x9a, 0xf5, 0x57, 0x5a, 0xba, 0xfc, 0x08, 0x5d, 0x20,
+ 0xfe, 0xb3, 0x02, 0x64, 0xd4, 0x36, 0x77, 0xfa, 0x4e, 0xcd, 0xb0, 0x40, 0x12, 0x0a, 0x6e, 0x3b,
+ 0x6e, 0xf7, 0x65, 0x5b, 0x4b, 0x95, 0xbf, 0x88, 0xff, 0x6e, 0x00, 0xff, 0x43, 0x00, 0x24, 0xf7,
+ 0x65, 0xbb, 0xea, 0x76, 0x5e, 0xb6, 0xdd, 0xcf, 0xe4, 0xd8, 0x02, 0xf2, 0x40, 0x4b, 0xe9, 0x3b,
+ 0x3c, 0xfa, 0x01, 0xd2, 0xed, 0x99, 0x1d, 0x1e, 0x81, 0x15, 0xc3, 0x6e, 0x56, 0x61, 0x32, 0xfa,
+ 0x0d, 0xbe, 0x5b, 0x02, 0x32, 0xb1, 0xc3, 0xbe, 0x7f, 0x9f, 0x29, 0xff, 0xa3, 0x1c, 0xbb, 0xbc,
+ 0xe4, 0x53, 0x7c, 0x72, 0xea, 0x97, 0xa0, 0x54, 0xbd, 0x22, 0xab, 0x92, 0x0b, 0x94, 0x96, 0x55,
+ 0x78, 0xe3, 0x15, 0xe2, 0x52, 0xb4, 0x29, 0x0b, 0x5c, 0xdb, 0x74, 0x8c, 0x9a, 0xe1, 0x18, 0x5a,
+ 0x7a, 0x4e, 0x98, 0xe9, 0x34, 0xdc, 0x9a, 0xed, 0x68, 0x99, 0x25, 0x70, 0xdb, 0xaa, 0x6a, 0xd9,
+ 0x39, 0x41, 0x00, 0x77, 0x5e, 0xf5, 0x4c, 0xb9, 0xed, 0x0b, 0xc4, 0x7e, 0xcb, 0xe8, 0xb8, 0xfb,
+ 0xcd, 0x9a, 0xb6, 0xbe, 0x0c, 0xd1, 0xab, 0xf6, 0xb4, 0x8d, 0xf9, 0x79, 0xf4, 0xdc, 0x9a, 0x5d,
+ 0xed, 0x69, 0x39, 0xda, 0x8a, 0x14, 0xb8, 0x59, 0xed, 0x68, 0xf9, 0x39, 0x39, 0xcd, 0x9e, 0xdb,
+ 0xb3, 0xba, 0x4e, 0x57, 0x63, 0x0b, 0x88, 0xfd, 0xc7, 0x5c, 0xd7, 0xc2, 0x32, 0x04, 0x4c, 0x6e,
+ 0x73, 0x6e, 0x64, 0xa7, 0xda, 0xe3, 0x0c, 0x5b, 0x4b, 0xe0, 0x40, 0xbf, 0x3d, 0x07, 0xdf, 0xab,
+ 0x21, 0xfd, 0xc5, 0x25, 0x70, 0xa0, 0xd7, 0xe6, 0x06, 0xb6, 0xab, 0x0e, 0x32, 0x5c, 0x5a, 0x86,
+ 0xa8, 0xf1, 0x72, 0x60, 0x6e, 0xed, 0xaa, 0x6d, 0x50, 0x96, 0x5b, 0xf6, 0xf2, 0x72, 0x5c, 0xb5,
+ 0x5b, 0x33, 0xb5, 0x2b, 0x73, 0xb6, 0x32, 0xac, 0x9e, 0xdb, 0xed, 0x69, 0x57, 0xe7, 0x14, 0x03,
+ 0xb0, 0xdd, 0x33, 0xb4, 0x6b, 0x4b, 0xe0, 0x4e, 0xcf, 0xd0, 0xae, 0x2f, 0xa3, 0x6f, 0x18, 0x5a,
+ 0x71, 0x19, 0x7d, 0xc3, 0xd0, 0x6e, 0x2c, 0x5a, 0xf6, 0x09, 0x9f, 0xe0, 0xcd, 0x65, 0x08, 0x98,
+ 0xe0, 0xce, 0xfc, 0x24, 0x00, 0x51, 0x6f, 0x19, 0x15, 0xb3, 0xa5, 0xdd, 0x5a, 0x36, 0xc1, 0x27,
+ 0x38, 0xf9, 0xdb, 0xcb, 0x71, 0x7c, 0xf2, 0x1f, 0xe8, 0xb7, 0xd9, 0x8d, 0x79, 0x99, 0x9d, 0x9a,
+ 0xeb, 0x18, 0xd6, 0xae, 0xe9, 0x68, 0x77, 0x96, 0x0d, 0xd9, 0xa9, 0xb9, 0x76, 0xab, 0xa5, 0xdd,
+ 0x5d, 0x81, 0x73, 0x5a, 0x2d, 0xed, 0x1e, 0xed, 0xd6, 0x32, 0x56, 0x7a, 0x2d, 0xdb, 0x45, 0x4d,
+ 0x4b, 0x73, 0xf6, 0xe0, 0x28, 0xa7, 0xaa, 0x7d, 0x38, 0x1f, 0x5e, 0x00, 0xaf, 0x74, 0x6d, 0xed,
+ 0xa3, 0x39, 0x44, 0xaf, 0x52, 0x71, 0x9b, 0x76, 0xb3, 0xa6, 0x7d, 0x4c, 0xa5, 0x8b, 0x74, 0xb5,
+ 0xbd, 0x4e, 0xc7, 0x6c, 0xb9, 0xcd, 0x9a, 0xf6, 0xb5, 0x65, 0xaa, 0x99, 0x2f, 0x9d, 0x46, 0xcd,
+ 0xd2, 0xbe, 0x5e, 0x7e, 0x84, 0xa7, 0x17, 0xfe, 0xe1, 0xf8, 0x68, 0xa8, 0x5f, 0xe4, 0x49, 0x73,
+ 0xbf, 0x59, 0x73, 0x3b, 0xdd, 0x8e, 0xc9, 0xb7, 0xac, 0x6d, 0x02, 0xf4, 0x2c, 0xd3, 0x36, 0x3b,
+ 0x8e, 0xf6, 0xee, 0x6e, 0xf9, 0x3f, 0xa5, 0xb0, 0x8f, 0x37, 0x9a, 0x9d, 0x3c, 0xa1, 0x0f, 0x9d,
+ 0xc5, 0x6d, 0x54, 0xa0, 0x6e, 0x9a, 0x8d, 0x85, 0x3d, 0x09, 0x60, 0x20, 0xf2, 0x25, 0xe4, 0x0e,
+ 0xdc, 0xdf, 0x00, 0x64, 0xda, 0x3d, 0x2d, 0x4d, 0xa3, 0xc2, 0xb3, 0xb1, 0xe7, 0x34, 0xb4, 0xac,
+ 0x02, 0xa8, 0x41, 0x11, 0x98, 0x53, 0x00, 0x50, 0x2c, 0x69, 0x9a, 0x22, 0xd5, 0xea, 0xee, 0x41,
+ 0x7e, 0xbb, 0xab, 0x48, 0x6d, 0x74, 0x7b, 0xda, 0x53, 0xda, 0x39, 0xe0, 0x79, 0xaf, 0x63, 0x99,
+ 0x3d, 0xd8, 0x86, 0x54, 0x90, 0x6d, 0x3e, 0x87, 0x82, 0xe1, 0xa7, 0xe9, 0xc4, 0x97, 0xa6, 0xf4,
+ 0xc7, 0xaf, 0x80, 0xcc, 0xe0, 0x35, 0x7c, 0x6f, 0x0f, 0x32, 0x21, 0x2e, 0x93, 0x01, 0x45, 0x6e,
+ 0xef, 0x95, 0xeb, 0x38, 0x2d, 0x5e, 0xde, 0x17, 0x28, 0x5a, 0x54, 0x78, 0xb3, 0x23, 0xd3, 0x81,
+ 0x81, 0xa5, 0x29, 0x2e, 0xaa, 0xd3, 0x92, 0xe1, 0x6d, 0x38, 0x6e, 0xcd, 0xac, 0xc6, 0x70, 0x8d,
+ 0x0a, 0x03, 0xc3, 0x71, 0x7b, 0x7b, 0x76, 0x83, 0x67, 0x34, 0xed, 0x12, 0x19, 0x13, 0x80, 0xdd,
+ 0x1e, 0xc2, 0xf4, 0x39, 0x42, 0x90, 0xa0, 0x5d, 0x4e, 0x12, 0x72, 0xd8, 0x95, 0x98, 0x10, 0x34,
+ 0xe0, 0xa5, 0x93, 0x76, 0x95, 0xac, 0x68, 0xd0, 0xd1, 0x43, 0xbb, 0x46, 0xb5, 0x15, 0x51, 0x75,
+ 0x5e, 0x70, 0x6d, 0xae, 0xc7, 0x50, 0xd0, 0x92, 0xa0, 0xc5, 0xa4, 0xc4, 0x7a, 0xd3, 0x6c, 0xd5,
+ 0xb4, 0x1b, 0xca, 0xd0, 0xa0, 0x4f, 0xaf, 0x52, 0xd1, 0x6e, 0xd2, 0xd2, 0x90, 0x3a, 0x00, 0xda,
+ 0xd1, 0x8b, 0x62, 0xde, 0x0b, 0x5b, 0xd2, 0x3e, 0xde, 0x57, 0x51, 0xfa, 0x8c, 0xf4, 0x05, 0xb1,
+ 0xa8, 0x8e, 0xdb, 0xad, 0xc4, 0x51, 0x9a, 0x11, 0x0c, 0x8a, 0xd7, 0xff, 0xfe, 0x3e, 0x43, 0x5b,
+ 0x3a, 0x40, 0x3a, 0x5d, 0xb7, 0xb2, 0x57, 0xaf, 0x93, 0xdc, 0xff, 0x2a, 0x5c, 0x54, 0xf9, 0x4a,
+ 0x90, 0xaf, 0x2d, 0x39, 0x8e, 0x5a, 0x11, 0xe3, 0x7c, 0x9b, 0x8e, 0xbb, 0xdb, 0x75, 0xba, 0x74,
+ 0xfc, 0x4e, 0x51, 0x3c, 0x35, 0x1d, 0xf7, 0x85, 0xd5, 0x74, 0x4c, 0x75, 0x87, 0xc3, 0x10, 0x94,
+ 0x18, 0xa3, 0xea, 0x34, 0xbb, 0x1d, 0x5b, 0xcb, 0xc4, 0x08, 0xa3, 0xd7, 0x6b, 0xbd, 0x92, 0x88,
+ 0x6c, 0x8c, 0xa8, 0xb6, 0x4c, 0xc3, 0x92, 0x88, 0x35, 0xe1, 0xd7, 0x74, 0x5e, 0xd1, 0xd6, 0xc9,
+ 0x52, 0xcd, 0x25, 0x96, 0xfa, 0x9b, 0x38, 0xa1, 0xf9, 0xaf, 0x03, 0xa9, 0xa0, 0xa8, 0x57, 0x13,
+ 0x95, 0x4a, 0xbd, 0x2a, 0xea, 0x12, 0xb1, 0x53, 0x4b, 0x88, 0x6b, 0x3b, 0x56, 0xb3, 0x0a, 0xc7,
+ 0x73, 0x49, 0x4a, 0x45, 0x4d, 0x26, 0x26, 0x45, 0x88, 0x20, 0xcd, 0x96, 0xff, 0x39, 0xbd, 0xbe,
+ 0x94, 0xa3, 0x63, 0xbc, 0xa3, 0x31, 0xeb, 0x6a, 0x09, 0x4a, 0x22, 0xea, 0xae, 0x6d, 0x76, 0x6a,
+ 0xf2, 0xe0, 0x1c, 0xab, 0x51, 0x77, 0xab, 0x0d, 0xb3, 0xfa, 0xcc, 0xed, 0xee, 0x9b, 0x56, 0xcb,
+ 0xe8, 0xc9, 0x82, 0xa1, 0x5e, 0x77, 0x21, 0xc1, 0x40, 0x24, 0xed, 0x75, 0x9c, 0xd8, 0x68, 0xf5,
+ 0x3a, 0x2f, 0xb5, 0x9f, 0x49, 0x44, 0x2e, 0x81, 0xa8, 0xbc, 0x92, 0x08, 0xad, 0x6c, 0xe3, 0xd1,
+ 0x07, 0xbf, 0xe3, 0xc6, 0xd9, 0xed, 0x2e, 0x34, 0x62, 0x76, 0x95, 0x46, 0x8c, 0x80, 0xc4, 0x5d,
+ 0x13, 0x09, 0x91, 0x8d, 0x90, 0xcf, 0xf1, 0x25, 0xdd, 0xc2, 0xf7, 0x76, 0x64, 0xf8, 0xdd, 0xa4,
+ 0xe1, 0x77, 0x15, 0xc3, 0x4b, 0x08, 0xd9, 0x37, 0x5d, 0xb6, 0xd5, 0x1b, 0x1e, 0xdc, 0x1d, 0x49,
+ 0x08, 0x9e, 0xbe, 0xa4, 0x10, 0x08, 0xb2, 0x96, 0x59, 0x85, 0x5c, 0x89, 0x61, 0xb0, 0x0b, 0xfe,
+ 0x5a, 0x6b, 0x5a, 0x26, 0x5f, 0xb8, 0x4d, 0x54, 0xd2, 0x71, 0xeb, 0x75, 0x2d, 0x53, 0xee, 0xa1,
+ 0x63, 0xcc, 0x7f, 0x95, 0x46, 0x8b, 0x63, 0x81, 0x95, 0xda, 0x86, 0x53, 0x6d, 0x68, 0x17, 0xc8,
+ 0xdd, 0x84, 0x03, 0xca, 0x03, 0x9b, 0x25, 0x8c, 0xc4, 0x43, 0x3d, 0x5d, 0xfe, 0x07, 0x29, 0x7c,
+ 0xc1, 0xb2, 0xe4, 0x7b, 0x2f, 0x5a, 0x2d, 0xcb, 0x72, 0x9b, 0xb5, 0x96, 0xe9, 0x3a, 0xcd, 0xb6,
+ 0xd9, 0x55, 0x32, 0xa4, 0x65, 0xb9, 0x0d, 0xc3, 0xaa, 0x49, 0xb8, 0x30, 0x82, 0x25, 0x2b, 0xe7,
+ 0x74, 0x4c, 0x89, 0x47, 0x3f, 0xe9, 0x7c, 0x12, 0x8e, 0x67, 0x77, 0x82, 0x67, 0xcb, 0x53, 0xfa,
+ 0xa3, 0x5e, 0xfc, 0x9d, 0x38, 0x95, 0xcf, 0xee, 0x0f, 0x4d, 0xab, 0x2b, 0x97, 0xb4, 0x8d, 0x4b,
+ 0xfa, 0xee, 0xa7, 0xef, 0x37, 0xf4, 0xab, 0x7c, 0xd6, 0x6d, 0xd7, 0x6e, 0x75, 0x5f, 0xf4, 0x0c,
+ 0xa7, 0x41, 0x4d, 0x2f, 0xec, 0x86, 0xb5, 0xd5, 0x6e, 0x98, 0xda, 0xf9, 0x6a, 0xe3, 0xe9, 0x97,
+ 0x2f, 0xf8, 0x64, 0xe1, 0x8b, 0x22, 0xb5, 0x98, 0xaf, 0xa8, 0x99, 0x03, 0xed, 0x09, 0x30, 0x3a,
+ 0xe7, 0xe3, 0x1c, 0x38, 0xc0, 0xae, 0xc2, 0x19, 0xb6, 0x6d, 0x58, 0xcf, 0x34, 0x51, 0x94, 0x03,
+ 0x7c, 0x21, 0xae, 0x3f, 0x57, 0x3f, 0x0f, 0x5b, 0xf4, 0xaf, 0x76, 0xd2, 0xbf, 0xda, 0x0b, 0xfe,
+ 0xd5, 0x56, 0xfc, 0xeb, 0x50, 0x7d, 0x69, 0xaf, 0x86, 0x68, 0xbb, 0x9e, 0xe8, 0x00, 0x30, 0x04,
+ 0x3d, 0xab, 0xf4, 0xe0, 0xd4, 0x4e, 0xb3, 0xa8, 0x43, 0x94, 0xf5, 0x6c, 0xb9, 0x1f, 0xb7, 0xeb,
+ 0x6e, 0x65, 0xcf, 0xb2, 0x1d, 0xb9, 0x1f, 0xb7, 0xeb, 0xe2, 0x9c, 0x5e, 0xfe, 0x17, 0x74, 0x67,
+ 0x10, 0x3f, 0xeb, 0xe1, 0xf6, 0xc1, 0xa9, 0x9b, 0xd4, 0x24, 0x74, 0xeb, 0x46, 0xb3, 0x65, 0xc2,
+ 0x68, 0xb8, 0x45, 0x9a, 0x8e, 0x5b, 0x31, 0x6a, 0xb2, 0xad, 0x23, 0x3c, 0x8f, 0xc0, 0xe4, 0x8f,
+ 0x69, 0xaa, 0x94, 0x08, 0xda, 0xec, 0xd8, 0x8e, 0xb5, 0x87, 0xa8, 0x0c, 0xed, 0x3f, 0x84, 0x42,
+ 0x87, 0xce, 0xc6, 0xf4, 0xa2, 0xbf, 0x26, 0xc6, 0x5d, 0xa3, 0xaa, 0xc7, 0x54, 0xfa, 0x6c, 0x02,
+ 0xb7, 0x1e, 0xb3, 0x89, 0x7e, 0x9b, 0x40, 0x6d, 0xc4, 0x6c, 0xb2, 0xef, 0x26, 0x70, 0xb9, 0x98,
+ 0x0d, 0x7b, 0x11, 0xdd, 0x9e, 0x40, 0xe5, 0xf5, 0x0f, 0xd8, 0x4d, 0x44, 0xd9, 0x2f, 0x9a, 0x4e,
+ 0xb5, 0x21, 0x9a, 0x61, 0x84, 0x67, 0x54, 0x59, 0x9a, 0xc9, 0x76, 0x98, 0x40, 0x17, 0xe2, 0x51,
+ 0x65, 0xdf, 0x4a, 0xe0, 0x36, 0xa9, 0xd3, 0x26, 0x35, 0x92, 0x5d, 0x50, 0x22, 0xd8, 0xa2, 0x3d,
+ 0xc3, 0x5c, 0xe2, 0x5b, 0x15, 0xf5, 0x4f, 0x76, 0xbe, 0xee, 0x8f, 0xc6, 0xfc, 0xee, 0x28, 0xff,
+ 0x8b, 0x57, 0xe0, 0x8f, 0x8d, 0x7a, 0xd5, 0x6d, 0x76, 0xaa, 0xdd, 0x76, 0xcf, 0x70, 0x9a, 0xb0,
+ 0xeb, 0x09, 0x2f, 0x03, 0x84, 0xd9, 0x33, 0x2d, 0x38, 0xa1, 0xfe, 0x45, 0x1a, 0xf3, 0xcb, 0x41,
+ 0x7f, 0x28, 0x5e, 0x1b, 0xa2, 0x0c, 0x5c, 0xf0, 0x8a, 0x55, 0xe5, 0x2b, 0x42, 0xfd, 0x32, 0xd9,
+ 0xe5, 0x10, 0x70, 0x5e, 0x75, 0x8b, 0xdd, 0x54, 0x00, 0x65, 0x8f, 0x52, 0x4b, 0x53, 0x13, 0x57,
+ 0x60, 0x12, 0x53, 0x10, 0x1b, 0x92, 0x82, 0x44, 0x79, 0xa2, 0x33, 0x03, 0x08, 0xd4, 0x73, 0x8d,
+ 0xe2, 0x53, 0x90, 0xb6, 0xcc, 0x8e, 0x3c, 0x29, 0x72, 0x18, 0x2f, 0x0d, 0x5c, 0xb3, 0xdd, 0x73,
+ 0x5e, 0xc9, 0xe6, 0xb0, 0x82, 0xd8, 0xeb, 0x3c, 0xeb, 0x74, 0x5f, 0x74, 0xe4, 0xee, 0x22, 0xd5,
+ 0xe7, 0x36, 0x6f, 0xc2, 0x12, 0xc7, 0xf3, 0x6a, 0xda, 0xae, 0xdd, 0x32, 0xf6, 0x4d, 0x8d, 0xcd,
+ 0x4d, 0x96, 0x9f, 0x8d, 0x45, 0x55, 0x28, 0x81, 0xbc, 0x4d, 0xa4, 0x6d, 0xea, 0x1f, 0xb1, 0xbb,
+ 0x04, 0x8e, 0x7b, 0xb4, 0x34, 0x3c, 0xec, 0x86, 0xe0, 0xc2, 0xda, 0x56, 0xf9, 0x0f, 0x32, 0x98,
+ 0x7f, 0xc0, 0xde, 0x54, 0x94, 0x72, 0x73, 0xd3, 0x48, 0x86, 0x62, 0x56, 0xd1, 0x6b, 0x14, 0x40,
+ 0x98, 0x74, 0x4a, 0x18, 0xd4, 0x58, 0x62, 0x50, 0x51, 0xbb, 0x28, 0x48, 0x94, 0x94, 0x99, 0x43,
+ 0x74, 0xf7, 0x30, 0x36, 0xe4, 0x36, 0x2c, 0x10, 0x86, 0xb5, 0xbb, 0x07, 0xc2, 0xb4, 0x35, 0xb1,
+ 0x04, 0x86, 0x58, 0x82, 0x75, 0x45, 0x45, 0xa7, 0x0b, 0x9b, 0x4e, 0x07, 0x4c, 0x8d, 0x81, 0x2e,
+ 0xf8, 0xb1, 0x14, 0xcd, 0x09, 0x7f, 0x50, 0x86, 0xc3, 0x9a, 0x34, 0x4f, 0x91, 0x02, 0x18, 0x1e,
+ 0xe4, 0xdc, 0x41, 0x3b, 0x76, 0xd3, 0x76, 0x60, 0x54, 0xa6, 0xdf, 0x62, 0x45, 0x42, 0xef, 0x75,
+ 0xec, 0xbd, 0x1e, 0x28, 0x69, 0xd6, 0xdc, 0xae, 0x55, 0x33, 0x2d, 0xad, 0x30, 0x67, 0x0f, 0xc7,
+ 0xd8, 0xd5, 0x36, 0xe7, 0x26, 0x00, 0x25, 0x06, 0x9f, 0xb2, 0x38, 0x9c, 0xab, 0x08, 0x30, 0xe0,
+ 0xf6, 0x9c, 0x01, 0x79, 0x77, 0x59, 0xcc, 0xfa, 0x62, 0xf9, 0x27, 0x29, 0x56, 0x14, 0xcb, 0xa3,
+ 0x16, 0x97, 0x4a, 0x58, 0x55, 0x9a, 0x55, 0xe1, 0x4f, 0x3c, 0x87, 0xc9, 0x24, 0x88, 0x08, 0x7b,
+ 0xaf, 0x87, 0xe0, 0x94, 0x42, 0x9f, 0xf0, 0x35, 0x91, 0x07, 0x63, 0x7a, 0x59, 0x7d, 0x66, 0x28,
+ 0xd3, 0x2c, 0xa2, 0xb0, 0xff, 0x9b, 0x15, 0xda, 0x37, 0x97, 0x2c, 0xff, 0xda, 0xdc, 0x80, 0x72,
+ 0xf9, 0xd7, 0x85, 0xe1, 0x9a, 0xb1, 0x23, 0x6d, 0x88, 0x05, 0x6e, 0x8a, 0x05, 0xce, 0x95, 0xff,
+ 0x25, 0x7d, 0x0d, 0x00, 0x93, 0xc7, 0x3e, 0x97, 0xea, 0x9a, 0xed, 0x65, 0xae, 0xd9, 0x56, 0x5d,
+ 0x33, 0x09, 0x83, 0xe5, 0x91, 0xf1, 0x4f, 0xb0, 0x5a, 0x0b, 0xb6, 0x3b, 0x8b, 0x9a, 0xd9, 0x73,
+ 0xc8, 0xce, 0x0b, 0x05, 0x99, 0x15, 0x3e, 0x44, 0xc8, 0x17, 0xcd, 0x56, 0xad, 0x6a, 0x58, 0x35,
+ 0x28, 0xab, 0xc9, 0xe7, 0x08, 0x83, 0x87, 0x95, 0xf5, 0x39, 0xe8, 0xbe, 0xd1, 0xda, 0x33, 0xb5,
+ 0x8d, 0x39, 0xe5, 0xb9, 0x68, 0xd1, 0x31, 0x12, 0xc0, 0x9e, 0x65, 0x5a, 0xe6, 0x73, 0x2d, 0xaf,
+ 0x48, 0xa8, 0xed, 0xf5, 0x48, 0x2e, 0x13, 0x76, 0x6a, 0x0b, 0x3b, 0x15, 0xca, 0x7f, 0x4c, 0x4e,
+ 0x12, 0x97, 0xcb, 0x4a, 0xee, 0xc5, 0x01, 0xeb, 0xed, 0xba, 0xf4, 0x12, 0x59, 0x3e, 0x71, 0x20,
+ 0xa5, 0xf9, 0xbd, 0x56, 0x4b, 0xe6, 0x4d, 0x0e, 0x9f, 0x73, 0x11, 0x45, 0x8c, 0xa8, 0xa5, 0x33,
+ 0xa2, 0x20, 0x6f, 0xcb, 0xfc, 0x2d, 0xcb, 0x68, 0x29, 0x81, 0x2a, 0xb3, 0xb5, 0x79, 0x44, 0xb5,
+ 0xdb, 0x6e, 0x1b, 0x1d, 0xb0, 0x13, 0x4e, 0x5e, 0x22, 0xea, 0x2d, 0x63, 0xd7, 0xd6, 0x36, 0xca,
+ 0x7f, 0x98, 0xc1, 0xcf, 0xc9, 0xe2, 0x4a, 0x58, 0x9d, 0x15, 0x2a, 0xba, 0x0b, 0x4c, 0xb8, 0xe1,
+ 0x9a, 0x2f, 0x9b, 0xb6, 0x63, 0xcb, 0x77, 0x15, 0x1c, 0x23, 0xca, 0x4c, 0x8c, 0xf5, 0x14, 0xf9,
+ 0x32, 0x47, 0xbd, 0x30, 0x9b, 0xbb, 0x0d, 0x47, 0x0d, 0x6a, 0x19, 0x06, 0x1c, 0x0f, 0x29, 0xa2,
+ 0x5b, 0x47, 0x4e, 0x38, 0x6b, 0xe1, 0x8e, 0xa9, 0xa2, 0x2a, 0x7b, 0x90, 0x67, 0xe1, 0xe4, 0x70,
+ 0x97, 0xdd, 0x12, 0xb8, 0x6a, 0xc3, 0x68, 0x76, 0x9a, 0x9d, 0xdd, 0x84, 0xe0, 0x35, 0x4a, 0x32,
+ 0x38, 0x30, 0xcf, 0x32, 0x2a, 0x7a, 0x5d, 0x94, 0xe1, 0x80, 0x6e, 0x75, 0xbb, 0x3d, 0xb9, 0x61,
+ 0xec, 0x2a, 0x8b, 0x46, 0x93, 0xc8, 0xa9, 0x28, 0x3e, 0x9a, 0x59, 0x93, 0xb9, 0x0c, 0xfd, 0x65,
+ 0x57, 0xda, 0x1e, 0x22, 0x43, 0xb4, 0x17, 0x77, 0xe7, 0x0d, 0x5f, 0x20, 0x27, 0x90, 0x08, 0x9c,
+ 0x90, 0xb6, 0x49, 0x0b, 0x22, 0xe1, 0x5c, 0x63, 0xf9, 0x6e, 0x71, 0x37, 0x5e, 0xec, 0xed, 0xf2,
+ 0xef, 0x91, 0xe3, 0x89, 0xbf, 0xc6, 0x9b, 0x58, 0x22, 0xd4, 0xa6, 0x27, 0xc4, 0x50, 0x93, 0x17,
+ 0xb5, 0x91, 0xd0, 0x06, 0xc6, 0x98, 0xac, 0x65, 0x7b, 0xb1, 0x9a, 0xfc, 0x45, 0xa9, 0x58, 0x14,
+ 0x09, 0x37, 0x6a, 0xfb, 0xa6, 0xe5, 0x34, 0x6d, 0x53, 0xba, 0x5f, 0x4f, 0x71, 0xbf, 0xf2, 0x5f,
+ 0x47, 0xa7, 0x91, 0x7f, 0xb2, 0x3a, 0xa1, 0x11, 0xbd, 0x23, 0x4c, 0x78, 0xb7, 0x0c, 0x06, 0x67,
+ 0x6e, 0x64, 0xf1, 0x2e, 0xc3, 0x89, 0xc5, 0xa7, 0xcb, 0x3f, 0xc4, 0xf9, 0xe2, 0x95, 0x2c, 0x7f,
+ 0xb6, 0x64, 0xbe, 0xcf, 0xbb, 0xc9, 0xf9, 0xe2, 0x98, 0x12, 0x8a, 0x1b, 0x92, 0x90, 0xcd, 0xc1,
+ 0x42, 0xf6, 0xdf, 0x60, 0xb7, 0x17, 0xfe, 0x78, 0xf7, 0x12, 0xf5, 0xed, 0x6a, 0x22, 0x50, 0x44,
+ 0x01, 0x24, 0xc1, 0x98, 0xfa, 0x50, 0x3e, 0x07, 0xc6, 0xba, 0xdf, 0x9a, 0xbf, 0x90, 0x95, 0x10,
+ 0x4f, 0x07, 0x38, 0xab, 0x5e, 0x85, 0xba, 0x9b, 0x5b, 0x46, 0x01, 0x71, 0x8f, 0x8d, 0x8f, 0x70,
+ 0x16, 0x8d, 0x06, 0xf5, 0xa5, 0x96, 0x2e, 0xff, 0x51, 0x1a, 0xed, 0x1e, 0x1f, 0x2b, 0x16, 0x53,
+ 0x50, 0x3b, 0x99, 0x82, 0x30, 0x82, 0x39, 0x10, 0xab, 0x50, 0x8a, 0xe0, 0x14, 0xad, 0x78, 0x5b,
+ 0x8d, 0x60, 0xec, 0x57, 0xa4, 0x55, 0x94, 0x88, 0x0b, 0x44, 0x89, 0x8a, 0xa2, 0x3d, 0xef, 0xe6,
+ 0x59, 0x32, 0x5b, 0x3b, 0x99, 0x5f, 0x44, 0xd2, 0x96, 0x60, 0xcb, 0x70, 0x4c, 0x99, 0x8c, 0xda,
+ 0x71, 0x4c, 0x58, 0xfc, 0xed, 0xfe, 0x1c, 0x71, 0x05, 0x24, 0xe7, 0x68, 0xbb, 0x48, 0x40, 0xdd,
+ 0x9a, 0xe9, 0x18, 0xcd, 0x96, 0x96, 0x57, 0x55, 0xa5, 0x8c, 0xc1, 0x35, 0xb5, 0x35, 0xa6, 0x4e,
+ 0x5d, 0x24, 0x13, 0xa3, 0x53, 0xb3, 0xb5, 0x42, 0xf9, 0x5f, 0xa5, 0x96, 0x7c, 0x20, 0x18, 0x2e,
+ 0x73, 0xe2, 0xfa, 0x9c, 0x13, 0xd3, 0x7b, 0x6b, 0x01, 0x96, 0x3b, 0xb8, 0x58, 0xb1, 0x98, 0x01,
+ 0xb2, 0x82, 0xbc, 0x2c, 0x51, 0x57, 0xbc, 0x26, 0x33, 0x2f, 0x44, 0xd6, 0x21, 0x59, 0x11, 0x0b,
+ 0x75, 0xe9, 0x4f, 0x6b, 0xe5, 0xff, 0x42, 0xbb, 0x73, 0xf2, 0xcf, 0x07, 0x88, 0xe3, 0x1e, 0x9c,
+ 0xb4, 0xed, 0x6a, 0x7c, 0xfc, 0xe3, 0xf7, 0x47, 0x5e, 0xc8, 0x77, 0xd3, 0xed, 0x9e, 0x6b, 0xec,
+ 0xee, 0x5a, 0xe6, 0xae, 0xc1, 0x0f, 0xe9, 0x74, 0xe2, 0x13, 0xb7, 0x51, 0x32, 0xc2, 0xe0, 0xbd,
+ 0xe4, 0x5b, 0x5c, 0x49, 0x86, 0x61, 0xb4, 0x16, 0x03, 0x30, 0x05, 0xae, 0xc7, 0x7c, 0xe2, 0xb4,
+ 0x6f, 0x57, 0xb5, 0x0d, 0x61, 0x70, 0x01, 0x15, 0x67, 0x1a, 0xd9, 0xe9, 0x6d, 0xf7, 0xc8, 0x8d,
+ 0xf2, 0xe2, 0x48, 0x4d, 0x00, 0x91, 0x0c, 0x58, 0x2c, 0x02, 0xe1, 0x52, 0x44, 0x21, 0xc6, 0x24,
+ 0x0f, 0x4c, 0xf2, 0x8a, 0x86, 0x98, 0x04, 0xd7, 0x45, 0x1c, 0x9f, 0xda, 0xbd, 0x65, 0x47, 0xf3,
+ 0x9d, 0xa5, 0x7f, 0x36, 0xc2, 0x15, 0x9f, 0xc0, 0x23, 0x63, 0x1d, 0xce, 0x73, 0x0b, 0xaf, 0x79,
+ 0x05, 0xbc, 0xdd, 0xb5, 0x4c, 0x2d, 0x55, 0x6e, 0x51, 0x3c, 0x26, 0xff, 0x14, 0x04, 0x49, 0x12,
+ 0x1a, 0xd7, 0xf1, 0x6e, 0x83, 0x22, 0x8b, 0xdc, 0x5f, 0x62, 0x48, 0xda, 0x9f, 0x67, 0x50, 0xb5,
+ 0x15, 0x1f, 0x49, 0x4b, 0xbf, 0xe9, 0x39, 0xea, 0x29, 0x1a, 0x92, 0x13, 0xee, 0x7c, 0x0b, 0x18,
+ 0xb7, 0xdd, 0xb4, 0x6d, 0x59, 0x91, 0x72, 0x74, 0xc7, 0x7c, 0x49, 0x67, 0x4e, 0x5b, 0x4b, 0x53,
+ 0xdd, 0x3d, 0x8f, 0x40, 0xb6, 0x8c, 0xb8, 0x8f, 0x00, 0xd8, 0x64, 0x53, 0x34, 0x4b, 0x7b, 0xfc,
+ 0x22, 0x0a, 0x59, 0xd7, 0x54, 0xd6, 0x64, 0xdb, 0x74, 0x5d, 0x65, 0x4d, 0xa0, 0x90, 0x75, 0x43,
+ 0xc6, 0x40, 0xcf, 0xa1, 0x86, 0x40, 0x4e, 0x06, 0x23, 0x8c, 0x26, 0x0b, 0x42, 0x26, 0x2e, 0x98,
+ 0xc4, 0x4a, 0xd8, 0xa6, 0x83, 0xe5, 0x9b, 0x38, 0x5f, 0x2f, 0xc1, 0xe1, 0x30, 0x5b, 0x2a, 0x33,
+ 0xaa, 0x21, 0x99, 0xb7, 0x55, 0xe6, 0x24, 0x0e, 0x99, 0x2f, 0xea, 0x37, 0xe3, 0x95, 0x48, 0xf8,
+ 0xd7, 0xcf, 0xde, 0x67, 0xf4, 0x3b, 0xf1, 0x5a, 0xa8, 0x38, 0x64, 0x05, 0x07, 0xfc, 0x7d, 0xfa,
+ 0xbb, 0x19, 0x58, 0x72, 0x25, 0x6e, 0x64, 0x50, 0x5f, 0xb0, 0x5e, 0x5d, 0xb8, 0xbd, 0x02, 0x30,
+ 0x6c, 0x1f, 0x52, 0x51, 0xa5, 0xa5, 0x44, 0xb5, 0x14, 0x63, 0x5a, 0xcd, 0x7d, 0xb3, 0x63, 0xda,
+ 0xf1, 0xf5, 0x8c, 0x5d, 0xa5, 0x58, 0xd2, 0xb2, 0x0a, 0x83, 0xac, 0xa0, 0x78, 0xdf, 0xd6, 0xd6,
+ 0x72, 0xe5, 0x2f, 0xb0, 0x21, 0x10, 0xdf, 0x43, 0xc7, 0xab, 0xe7, 0x62, 0x0b, 0x55, 0x1b, 0x64,
+ 0xa8, 0xe5, 0x73, 0xc7, 0x6d, 0x37, 0x3b, 0x98, 0xd1, 0x53, 0x0a, 0xcc, 0x78, 0x89, 0xb0, 0x34,
+ 0xc5, 0xe0, 0xf3, 0x25, 0x2d, 0x8c, 0x1f, 0xe1, 0x69, 0x78, 0xee, 0x22, 0x32, 0xf9, 0x69, 0xd5,
+ 0xc2, 0x7e, 0x4a, 0xa7, 0x5b, 0x6d, 0x18, 0x9d, 0x5d, 0x53, 0x36, 0xf3, 0x05, 0xc2, 0x7c, 0xbe,
+ 0x67, 0xb4, 0xe4, 0x05, 0x35, 0x01, 0x6d, 0x1b, 0x36, 0xee, 0x5e, 0x49, 0x62, 0x3c, 0xd3, 0x67,
+ 0x2a, 0x7b, 0xec, 0x03, 0x3f, 0x38, 0xe4, 0x97, 0x01, 0x07, 0x7e, 0x30, 0xfc, 0x14, 0xff, 0xa7,
+ 0x16, 0x79, 0x39, 0xf0, 0xc1, 0xa3, 0x1f, 0x3e, 0x3a, 0x1c, 0x45, 0x47, 0xc7, 0x07, 0x9f, 0x0e,
+ 0xfc, 0xc9, 0x7d, 0x41, 0x76, 0x1f, 0xc9, 0x7e, 0x85, 0xfe, 0x43, 0x97, 0x93, 0x47, 0xf7, 0x0f,
+ 0x7d, 0xf5, 0xbf, 0x75, 0x39, 0x58, 0xe7, 0x98, 0x47, 0xff, 0x37, 0x00, 0x00, 0xff, 0xff, 0xe3,
+ 0xd4, 0xf3, 0x50, 0xfa, 0x65, 0x00, 0x00,
}
diff --git a/vendor/github.com/opencord/voltha-protos/v2/go/openolt/openolt.pb.go b/vendor/github.com/opencord/voltha-protos/v3/go/openolt/openolt.pb.go
similarity index 81%
rename from vendor/github.com/opencord/voltha-protos/v2/go/openolt/openolt.pb.go
rename to vendor/github.com/opencord/voltha-protos/v3/go/openolt/openolt.pb.go
index f46f33a..5bc0537 100644
--- a/vendor/github.com/opencord/voltha-protos/v2/go/openolt/openolt.pb.go
+++ b/vendor/github.com/opencord/voltha-protos/v3/go/openolt/openolt.pb.go
@@ -7,7 +7,7 @@
context "context"
fmt "fmt"
proto "github.com/golang/protobuf/proto"
- tech_profile "github.com/opencord/voltha-protos/v2/go/tech_profile"
+ tech_profile "github.com/opencord/voltha-protos/v3/go/tech_profile"
_ "google.golang.org/genproto/googleapis/api/annotations"
grpc "google.golang.org/grpc"
math "math"
@@ -168,6 +168,62 @@
return fileDescriptor_c072e7aa0dfd74d5, []int{15, 0, 0, 1}
}
+type GroupMember_InterfaceType int32
+
+const (
+ GroupMember_PON GroupMember_InterfaceType = 0
+ GroupMember_EPON_1G_PATH GroupMember_InterfaceType = 1
+ GroupMember_EPON_10G_PATH GroupMember_InterfaceType = 2
+)
+
+var GroupMember_InterfaceType_name = map[int32]string{
+ 0: "PON",
+ 1: "EPON_1G_PATH",
+ 2: "EPON_10G_PATH",
+}
+
+var GroupMember_InterfaceType_value = map[string]int32{
+ "PON": 0,
+ "EPON_1G_PATH": 1,
+ "EPON_10G_PATH": 2,
+}
+
+func (x GroupMember_InterfaceType) String() string {
+ return proto.EnumName(GroupMember_InterfaceType_name, int32(x))
+}
+
+func (GroupMember_InterfaceType) EnumDescriptor() ([]byte, []int) {
+ return fileDescriptor_c072e7aa0dfd74d5, []int{36, 0}
+}
+
+type Group_GroupMembersCommand int32
+
+const (
+ Group_ADD_MEMBERS Group_GroupMembersCommand = 0
+ Group_REMOVE_MEMBERS Group_GroupMembersCommand = 1
+ Group_SET_MEMBERS Group_GroupMembersCommand = 2
+)
+
+var Group_GroupMembersCommand_name = map[int32]string{
+ 0: "ADD_MEMBERS",
+ 1: "REMOVE_MEMBERS",
+ 2: "SET_MEMBERS",
+}
+
+var Group_GroupMembersCommand_value = map[string]int32{
+ "ADD_MEMBERS": 0,
+ "REMOVE_MEMBERS": 1,
+ "SET_MEMBERS": 2,
+}
+
+func (x Group_GroupMembersCommand) String() string {
+ return proto.EnumName(Group_GroupMembersCommand_name, int32(x))
+}
+
+func (Group_GroupMembersCommand) EnumDescriptor() ([]byte, []int) {
+ return fileDescriptor_c072e7aa0dfd74d5, []int{37, 0}
+}
+
type Indication struct {
// Types that are valid to be assigned to Data:
// *Indication_OltInd
@@ -1773,6 +1829,12 @@
AddOuterTag bool `protobuf:"varint,1,opt,name=add_outer_tag,json=addOuterTag,proto3" json:"add_outer_tag,omitempty"`
RemoveOuterTag bool `protobuf:"varint,2,opt,name=remove_outer_tag,json=removeOuterTag,proto3" json:"remove_outer_tag,omitempty"`
TrapToHost bool `protobuf:"varint,3,opt,name=trap_to_host,json=trapToHost,proto3" json:"trap_to_host,omitempty"`
+ RemarkOuterPbits bool `protobuf:"varint,4,opt,name=remark_outer_pbits,json=remarkOuterPbits,proto3" json:"remark_outer_pbits,omitempty"`
+ RemarkInnerPbits bool `protobuf:"varint,5,opt,name=remark_inner_pbits,json=remarkInnerPbits,proto3" json:"remark_inner_pbits,omitempty"`
+ AddInnerTag bool `protobuf:"varint,6,opt,name=add_inner_tag,json=addInnerTag,proto3" json:"add_inner_tag,omitempty"`
+ RemoveInnerTag bool `protobuf:"varint,7,opt,name=remove_inner_tag,json=removeInnerTag,proto3" json:"remove_inner_tag,omitempty"`
+ TranslateInnerTag bool `protobuf:"varint,8,opt,name=translate_inner_tag,json=translateInnerTag,proto3" json:"translate_inner_tag,omitempty"`
+ TranslateOuterTag bool `protobuf:"varint,9,opt,name=translate_outer_tag,json=translateOuterTag,proto3" json:"translate_outer_tag,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
@@ -1824,6 +1886,48 @@
return false
}
+func (m *ActionCmd) GetRemarkOuterPbits() bool {
+ if m != nil {
+ return m.RemarkOuterPbits
+ }
+ return false
+}
+
+func (m *ActionCmd) GetRemarkInnerPbits() bool {
+ if m != nil {
+ return m.RemarkInnerPbits
+ }
+ return false
+}
+
+func (m *ActionCmd) GetAddInnerTag() bool {
+ if m != nil {
+ return m.AddInnerTag
+ }
+ return false
+}
+
+func (m *ActionCmd) GetRemoveInnerTag() bool {
+ if m != nil {
+ return m.RemoveInnerTag
+ }
+ return false
+}
+
+func (m *ActionCmd) GetTranslateInnerTag() bool {
+ if m != nil {
+ return m.TranslateInnerTag
+ }
+ return false
+}
+
+func (m *ActionCmd) GetTranslateOuterTag() bool {
+ if m != nil {
+ return m.TranslateOuterTag
+ }
+ return false
+}
+
type Action struct {
Cmd *ActionCmd `protobuf:"bytes,1,opt,name=cmd,proto3" json:"cmd,omitempty"`
OVid uint32 `protobuf:"fixed32,2,opt,name=o_vid,json=oVid,proto3" json:"o_vid,omitempty"`
@@ -1925,6 +2029,7 @@
Priority int32 `protobuf:"fixed32,9,opt,name=priority,proto3" json:"priority,omitempty"`
Cookie uint64 `protobuf:"fixed64,12,opt,name=cookie,proto3" json:"cookie,omitempty"`
PortNo uint32 `protobuf:"fixed32,13,opt,name=port_no,json=portNo,proto3" json:"port_no,omitempty"`
+ GroupId uint32 `protobuf:"fixed32,14,opt,name=group_id,json=groupId,proto3" json:"group_id,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
@@ -2046,6 +2151,13 @@
return 0
}
+func (m *Flow) GetGroupId() uint32 {
+ if m != nil {
+ return m.GroupId
+ }
+ return 0
+}
+
type SerialNumber struct {
VendorId []byte `protobuf:"bytes,1,opt,name=vendor_id,json=vendorId,proto3" json:"vendor_id,omitempty"`
VendorSpecific []byte `protobuf:"bytes,2,opt,name=vendor_specific,json=vendorSpecific,proto3" json:"vendor_specific,omitempty"`
@@ -3110,6 +3222,132 @@
return 0
}
+type GroupMember struct {
+ InterfaceId uint32 `protobuf:"varint,1,opt,name=interface_id,json=interfaceId,proto3" json:"interface_id,omitempty"`
+ InterfaceType GroupMember_InterfaceType `protobuf:"varint,2,opt,name=interface_type,json=interfaceType,proto3,enum=openolt.GroupMember_InterfaceType" json:"interface_type,omitempty"`
+ GemPortId uint32 `protobuf:"varint,3,opt,name=gem_port_id,json=gemPortId,proto3" json:"gem_port_id,omitempty"`
+ Priority uint32 `protobuf:"varint,4,opt,name=priority,proto3" json:"priority,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *GroupMember) Reset() { *m = GroupMember{} }
+func (m *GroupMember) String() string { return proto.CompactTextString(m) }
+func (*GroupMember) ProtoMessage() {}
+func (*GroupMember) Descriptor() ([]byte, []int) {
+ return fileDescriptor_c072e7aa0dfd74d5, []int{36}
+}
+
+func (m *GroupMember) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_GroupMember.Unmarshal(m, b)
+}
+func (m *GroupMember) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_GroupMember.Marshal(b, m, deterministic)
+}
+func (m *GroupMember) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_GroupMember.Merge(m, src)
+}
+func (m *GroupMember) XXX_Size() int {
+ return xxx_messageInfo_GroupMember.Size(m)
+}
+func (m *GroupMember) XXX_DiscardUnknown() {
+ xxx_messageInfo_GroupMember.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_GroupMember proto.InternalMessageInfo
+
+func (m *GroupMember) GetInterfaceId() uint32 {
+ if m != nil {
+ return m.InterfaceId
+ }
+ return 0
+}
+
+func (m *GroupMember) GetInterfaceType() GroupMember_InterfaceType {
+ if m != nil {
+ return m.InterfaceType
+ }
+ return GroupMember_PON
+}
+
+func (m *GroupMember) GetGemPortId() uint32 {
+ if m != nil {
+ return m.GemPortId
+ }
+ return 0
+}
+
+func (m *GroupMember) GetPriority() uint32 {
+ if m != nil {
+ return m.Priority
+ }
+ return 0
+}
+
+type Group struct {
+ GroupId uint32 `protobuf:"varint,1,opt,name=group_id,json=groupId,proto3" json:"group_id,omitempty"`
+ Command Group_GroupMembersCommand `protobuf:"varint,2,opt,name=command,proto3,enum=openolt.Group_GroupMembersCommand" json:"command,omitempty"`
+ Members []*GroupMember `protobuf:"bytes,3,rep,name=members,proto3" json:"members,omitempty"`
+ Action *Action `protobuf:"bytes,4,opt,name=action,proto3" json:"action,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *Group) Reset() { *m = Group{} }
+func (m *Group) String() string { return proto.CompactTextString(m) }
+func (*Group) ProtoMessage() {}
+func (*Group) Descriptor() ([]byte, []int) {
+ return fileDescriptor_c072e7aa0dfd74d5, []int{37}
+}
+
+func (m *Group) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_Group.Unmarshal(m, b)
+}
+func (m *Group) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_Group.Marshal(b, m, deterministic)
+}
+func (m *Group) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_Group.Merge(m, src)
+}
+func (m *Group) XXX_Size() int {
+ return xxx_messageInfo_Group.Size(m)
+}
+func (m *Group) XXX_DiscardUnknown() {
+ xxx_messageInfo_Group.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_Group proto.InternalMessageInfo
+
+func (m *Group) GetGroupId() uint32 {
+ if m != nil {
+ return m.GroupId
+ }
+ return 0
+}
+
+func (m *Group) GetCommand() Group_GroupMembersCommand {
+ if m != nil {
+ return m.Command
+ }
+ return Group_ADD_MEMBERS
+}
+
+func (m *Group) GetMembers() []*GroupMember {
+ if m != nil {
+ return m.Members
+ }
+ return nil
+}
+
+func (m *Group) GetAction() *Action {
+ if m != nil {
+ return m.Action
+ }
+ return nil
+}
+
type Empty struct {
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
@@ -3120,7 +3358,7 @@
func (m *Empty) String() string { return proto.CompactTextString(m) }
func (*Empty) ProtoMessage() {}
func (*Empty) Descriptor() ([]byte, []int) {
- return fileDescriptor_c072e7aa0dfd74d5, []int{36}
+ return fileDescriptor_c072e7aa0dfd74d5, []int{38}
}
func (m *Empty) XXX_Unmarshal(b []byte) error {
@@ -3144,6 +3382,8 @@
func init() {
proto.RegisterEnum("openolt.DeviceInfo_DeviceResourceRanges_Pool_PoolType", DeviceInfo_DeviceResourceRanges_Pool_PoolType_name, DeviceInfo_DeviceResourceRanges_Pool_PoolType_value)
proto.RegisterEnum("openolt.DeviceInfo_DeviceResourceRanges_Pool_SharingType", DeviceInfo_DeviceResourceRanges_Pool_SharingType_name, DeviceInfo_DeviceResourceRanges_Pool_SharingType_value)
+ proto.RegisterEnum("openolt.GroupMember_InterfaceType", GroupMember_InterfaceType_name, GroupMember_InterfaceType_value)
+ proto.RegisterEnum("openolt.Group_GroupMembersCommand", Group_GroupMembersCommand_name, Group_GroupMembersCommand_value)
proto.RegisterType((*Indication)(nil), "openolt.Indication")
proto.RegisterType((*AlarmIndication)(nil), "openolt.AlarmIndication")
proto.RegisterType((*OltIndication)(nil), "openolt.OltIndication")
@@ -3182,209 +3422,233 @@
proto.RegisterType((*OnuLossOfKeySyncFailureIndication)(nil), "openolt.OnuLossOfKeySyncFailureIndication")
proto.RegisterType((*OnuItuPonStatsIndication)(nil), "openolt.OnuItuPonStatsIndication")
proto.RegisterType((*OnuProcessingErrorIndication)(nil), "openolt.OnuProcessingErrorIndication")
+ proto.RegisterType((*GroupMember)(nil), "openolt.GroupMember")
+ proto.RegisterType((*Group)(nil), "openolt.Group")
proto.RegisterType((*Empty)(nil), "openolt.Empty")
}
func init() { proto.RegisterFile("voltha_protos/openolt.proto", fileDescriptor_c072e7aa0dfd74d5) }
var fileDescriptor_c072e7aa0dfd74d5 = []byte{
- // 3127 bytes of a gzipped FileDescriptorProto
- 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x5a, 0xdd, 0x72, 0x1c, 0x47,
- 0xf5, 0xf7, 0x4a, 0xab, 0x9d, 0xdd, 0xb3, 0x1f, 0x92, 0x5b, 0xd6, 0xb7, 0x62, 0x2b, 0xf3, 0xf7,
- 0x3f, 0x31, 0xa1, 0x62, 0xc5, 0x4e, 0x0a, 0x48, 0xa0, 0x20, 0xb2, 0x24, 0x47, 0x4b, 0x2c, 0xaf,
- 0x18, 0xc9, 0x31, 0x84, 0xa2, 0x26, 0xa3, 0x99, 0xde, 0x55, 0x97, 0x66, 0xa7, 0x27, 0xd3, 0xbd,
- 0xfa, 0x28, 0xee, 0x02, 0xbc, 0x00, 0x29, 0x2e, 0xa0, 0x8a, 0x2b, 0x5e, 0x82, 0x2a, 0x2e, 0x73,
- 0x4b, 0x71, 0xc3, 0x2b, 0x70, 0xc3, 0x3b, 0x70, 0x41, 0xf5, 0xe9, 0x9e, 0xd9, 0x99, 0x5d, 0x49,
- 0xb6, 0x8c, 0x29, 0x6e, 0x54, 0xd3, 0xe7, 0xfc, 0xce, 0xef, 0xf4, 0xe9, 0x3e, 0x7d, 0xfa, 0x63,
- 0x05, 0x2b, 0x27, 0x3c, 0x94, 0x47, 0x9e, 0x1b, 0x27, 0x5c, 0x72, 0xb1, 0xce, 0x63, 0x1a, 0xf1,
- 0x50, 0xde, 0xc7, 0x26, 0xb1, 0x4c, 0x73, 0x79, 0xb5, 0xc7, 0x79, 0x2f, 0xa4, 0xeb, 0x5e, 0xcc,
- 0xd6, 0xbd, 0x28, 0xe2, 0xd2, 0x93, 0x8c, 0x47, 0x42, 0xc3, 0x96, 0xd7, 0x8a, 0x1c, 0x92, 0xfa,
- 0x47, 0xea, 0xbb, 0xcb, 0x42, 0xaa, 0x11, 0xf6, 0x5f, 0xcb, 0x00, 0xed, 0x28, 0x60, 0x3e, 0xda,
- 0x91, 0x07, 0x60, 0xf1, 0x50, 0xba, 0x2c, 0x0a, 0x16, 0x4b, 0x6b, 0xa5, 0x7b, 0xf5, 0x87, 0xf3,
- 0xf7, 0x53, 0xc7, 0x9d, 0x50, 0x0e, 0x81, 0x3b, 0x37, 0x9c, 0x0a, 0x47, 0x01, 0xf9, 0x00, 0xaa,
- 0x2c, 0x92, 0x5d, 0xb4, 0x99, 0x40, 0x9b, 0x85, 0xcc, 0xa6, 0x1d, 0xc9, 0x6e, 0xc1, 0xc8, 0x62,
- 0x5a, 0x42, 0x36, 0xa0, 0x89, 0x56, 0x3c, 0xa6, 0x09, 0x9a, 0x4e, 0xa2, 0xe9, 0x4a, 0xc1, 0xb4,
- 0x13, 0xd3, 0xa4, 0x60, 0x5e, 0x67, 0x43, 0x29, 0xf9, 0x21, 0x34, 0x78, 0x34, 0x70, 0x03, 0x26,
- 0x7c, 0x64, 0x28, 0x23, 0xc3, 0xf2, 0xb0, 0xc3, 0xd1, 0x60, 0x8b, 0x09, 0xbf, 0x40, 0x00, 0x3c,
- 0x13, 0x62, 0xac, 0xd1, 0x00, 0x4d, 0xa7, 0x46, 0x63, 0x8d, 0x06, 0x23, 0xb1, 0xa2, 0x40, 0xc5,
- 0xca, 0xfb, 0x3e, 0x43, 0x9b, 0xca, 0x48, 0xac, 0x9d, 0xbe, 0xcf, 0x8a, 0xb1, 0x72, 0x2d, 0x21,
- 0x1f, 0x80, 0x15, 0x1f, 0xeb, 0x41, 0xb5, 0xd0, 0x68, 0x29, 0x33, 0xda, 0xf3, 0xfc, 0x63, 0x3a,
- 0x32, 0xae, 0xf1, 0x31, 0x8e, 0xeb, 0xf7, 0x00, 0x62, 0x9e, 0x48, 0x57, 0x48, 0x4f, 0x8a, 0xc5,
- 0xea, 0x88, 0xb7, 0x3d, 0x9e, 0xc8, 0x7d, 0x35, 0xd9, 0x42, 0x32, 0x5f, 0xec, 0xdc, 0x70, 0x6a,
- 0xb1, 0x91, 0x08, 0x65, 0xd9, 0x0d, 0xf9, 0xa9, 0xb1, 0xac, 0x8d, 0x58, 0x3e, 0x0e, 0xf9, 0x69,
- 0xd1, 0xb2, 0x6b, 0x24, 0x82, 0x7c, 0x17, 0x6a, 0x5e, 0xe8, 0x25, 0x7d, 0xec, 0x2b, 0xa0, 0xe1,
- 0x62, 0x66, 0xb8, 0xa1, 0x34, 0x85, 0xae, 0x56, 0x3d, 0x23, 0x7a, 0x54, 0x81, 0x72, 0xe0, 0x49,
- 0xcf, 0xfe, 0x67, 0x15, 0xa6, 0x47, 0x70, 0x6a, 0x9c, 0x43, 0x2e, 0x2e, 0xcc, 0xa9, 0x27, 0x5c,
- 0x14, 0x63, 0x0f, 0x51, 0x40, 0xb6, 0xa0, 0x15, 0x9c, 0xb3, 0xa8, 0xe7, 0xf6, 0x3c, 0x11, 0xe7,
- 0x32, 0x6b, 0x35, 0xb3, 0xdc, 0x52, 0xea, 0x4f, 0x3c, 0x11, 0x17, 0xec, 0x1b, 0x41, 0x4e, 0xac,
- 0x72, 0x4c, 0x4d, 0xf0, 0x30, 0xa2, 0xd1, 0x1c, 0xeb, 0x44, 0x83, 0xf1, 0xa0, 0xea, 0x7c, 0x28,
- 0x25, 0xcf, 0xe1, 0x96, 0xa2, 0x10, 0xd2, 0x4b, 0xe4, 0x20, 0x76, 0xbb, 0x1e, 0x0b, 0x73, 0xb9,
- 0x76, 0x37, 0xcf, 0xb4, 0xaf, 0x31, 0x8f, 0x3d, 0x16, 0x0e, 0x12, 0x5a, 0xa0, 0xbc, 0xc9, 0x0b,
- 0x6a, 0x45, 0xfc, 0x39, 0xcc, 0x23, 0x31, 0xeb, 0x45, 0x5e, 0xe8, 0x06, 0xb4, 0x97, 0x78, 0x01,
- 0xcd, 0xe5, 0xe2, 0xff, 0x15, 0xa8, 0x11, 0xb5, 0xa5, 0x41, 0x05, 0xe6, 0x59, 0x3e, 0xae, 0x25,
- 0x3f, 0x87, 0x05, 0x5c, 0x18, 0x09, 0xeb, 0x4a, 0x97, 0x77, 0xdd, 0x53, 0x16, 0x05, 0xfc, 0x34,
- 0x97, 0xb4, 0x05, 0xf2, 0x2d, 0x05, 0xeb, 0x74, 0x9f, 0x23, 0x68, 0x8c, 0x7c, 0x54, 0x4b, 0x0e,
- 0x40, 0x45, 0xe3, 0x86, 0x5c, 0x08, 0x37, 0x5b, 0x0b, 0x3a, 0xad, 0xdf, 0xce, 0xd3, 0x3e, 0xe1,
- 0x42, 0x74, 0xba, 0x6a, 0x51, 0x6c, 0x1e, 0x79, 0x51, 0x44, 0xc3, 0x02, 0x75, 0x8b, 0x1b, 0x84,
- 0x59, 0x22, 0xe9, 0x38, 0x63, 0x28, 0x62, 0x38, 0xce, 0xd5, 0x0b, 0xc6, 0x59, 0x63, 0x2e, 0x1d,
- 0xe7, 0xa1, 0x5a, 0x11, 0x77, 0x74, 0x91, 0x90, 0xec, 0x54, 0xf7, 0x54, 0xaf, 0x86, 0x6f, 0xe7,
- 0x09, 0x0f, 0x12, 0x2f, 0x12, 0x7d, 0x26, 0x04, 0xe3, 0x51, 0x3b, 0x92, 0x34, 0xe9, 0xd2, 0x84,
- 0x46, 0x3e, 0x7d, 0xee, 0x25, 0x11, 0x8b, 0x7a, 0xa6, 0x6a, 0x1c, 0xb0, 0x53, 0xec, 0xe9, 0x17,
- 0x7a, 0x70, 0x3d, 0x5f, 0xb2, 0x13, 0xf4, 0x3b, 0xec, 0x2c, 0x8c, 0x8f, 0xc2, 0x46, 0x06, 0xbb,
- 0xa8, 0xbf, 0x2a, 0xe6, 0x22, 0x42, 0x7b, 0x58, 0x54, 0x1e, 0xe2, 0x84, 0xfb, 0x54, 0x08, 0xb5,
- 0x0a, 0x68, 0x92, 0x70, 0x5d, 0x25, 0xeb, 0xe8, 0xe2, 0xff, 0xf3, 0x2e, 0xf6, 0x32, 0xdc, 0xb6,
- 0x82, 0x15, 0x1c, 0xcc, 0xf1, 0x8b, 0xf4, 0x84, 0xc2, 0xd2, 0x70, 0x0e, 0xbb, 0xae, 0x38, 0x8f,
- 0xfc, 0x61, 0x14, 0x0d, 0x74, 0xf1, 0xce, 0xf8, 0x5c, 0x7e, 0x4a, 0xcf, 0xf7, 0xcf, 0x23, 0xff,
- 0xb2, 0x40, 0x34, 0x28, 0x45, 0x28, 0x37, 0xcf, 0x60, 0x0e, 0x0b, 0xac, 0x1c, 0xb8, 0x31, 0x8f,
- 0x74, 0x39, 0x42, 0x17, 0x4d, 0x74, 0xf1, 0x66, 0xa1, 0xdc, 0xca, 0xc1, 0x1e, 0x8f, 0xb0, 0x0a,
- 0x8d, 0x4d, 0x69, 0x51, 0x97, 0xd5, 0x9a, 0xfb, 0xd0, 0x2c, 0xec, 0x49, 0xe4, 0x0d, 0x00, 0xdc,
- 0x4e, 0x94, 0x23, 0x8a, 0xb5, 0xa6, 0xe6, 0xd4, 0x94, 0x44, 0x99, 0x52, 0x7b, 0x07, 0x5a, 0xc5,
- 0xfd, 0x88, 0x2c, 0x80, 0xa5, 0xb7, 0x2e, 0x5d, 0x99, 0x2c, 0xa7, 0x82, 0xdb, 0x53, 0x30, 0xc2,
- 0x34, 0x31, 0xca, 0x74, 0x04, 0x37, 0xc7, 0x36, 0x97, 0xcb, 0xc9, 0x3e, 0x82, 0xa6, 0xa0, 0x09,
- 0xf3, 0x42, 0x37, 0x1a, 0xf4, 0x0f, 0x69, 0x62, 0x6a, 0xd9, 0x5c, 0x16, 0xfe, 0x3e, 0x6a, 0x9f,
- 0xa2, 0xd2, 0x69, 0x88, 0x5c, 0xcb, 0xfe, 0x4b, 0x09, 0x9a, 0x85, 0xcd, 0xe8, 0x72, 0x37, 0x73,
- 0x50, 0xc1, 0xd1, 0xd6, 0xb5, 0xd2, 0x72, 0xa6, 0xd4, 0xc8, 0x8d, 0x86, 0x32, 0x39, 0x12, 0x0a,
- 0xb9, 0x03, 0x75, 0x2f, 0xe8, 0xb3, 0xc8, 0xe8, 0xa7, 0x50, 0x0f, 0x28, 0xd2, 0x80, 0xb1, 0xde,
- 0x97, 0x5f, 0xbe, 0xf7, 0x5f, 0x00, 0x19, 0xdf, 0xc6, 0x09, 0x81, 0xb2, 0x3c, 0x8f, 0xd3, 0x09,
- 0xc2, 0xef, 0x7c, 0x54, 0x13, 0x57, 0xcc, 0xc4, 0x68, 0xf7, 0x6d, 0x07, 0x5a, 0xc5, 0x7d, 0xf7,
- 0xda, 0xe3, 0x33, 0x03, 0x93, 0xf1, 0xb1, 0x44, 0xe6, 0x86, 0xa3, 0x3e, 0xed, 0x6f, 0x4a, 0x30,
- 0x33, 0xba, 0x2f, 0x93, 0x15, 0xa8, 0x21, 0x2d, 0xf6, 0x5c, 0x8f, 0x12, 0x1e, 0x7b, 0x0e, 0x46,
- 0x7a, 0x3f, 0x96, 0x47, 0x3d, 0xda, 0xc7, 0x6d, 0x3c, 0xf3, 0x5b, 0x33, 0x92, 0x76, 0xa0, 0xec,
- 0x70, 0xa3, 0x66, 0x7a, 0x6b, 0xb2, 0x9c, 0x8a, 0x6a, 0x6a, 0x05, 0x1a, 0x45, 0x1c, 0x2b, 0xb6,
- 0xe5, 0x54, 0x54, 0xf3, 0x29, 0x27, 0xf3, 0x50, 0xf1, 0x39, 0x3f, 0x66, 0x14, 0x4b, 0x6e, 0xc5,
- 0x31, 0xad, 0x34, 0x8a, 0xf2, 0x30, 0x8a, 0xbb, 0x50, 0xd3, 0xc5, 0xcc, 0xf3, 0x2f, 0xef, 0xa0,
- 0xfd, 0x03, 0xa8, 0xed, 0x50, 0x2f, 0x91, 0x87, 0xd4, 0x93, 0x64, 0x1d, 0x66, 0x8f, 0xd2, 0x86,
- 0x2e, 0xc5, 0x72, 0x90, 0x50, 0x63, 0x41, 0x32, 0xd5, 0x7e, 0xaa, 0xb1, 0x7f, 0x55, 0x82, 0xc9,
- 0x4e, 0x34, 0xb8, 0xf6, 0x98, 0x8f, 0xe5, 0xd4, 0xe4, 0x4b, 0xe7, 0x14, 0x46, 0xca, 0x74, 0x16,
- 0x5a, 0x8e, 0xfa, 0xb4, 0x3f, 0x05, 0x4b, 0xe5, 0xc0, 0xae, 0xe8, 0xbd, 0x86, 0xc9, 0xff, 0x4d,
- 0x09, 0x6a, 0xaa, 0xa8, 0xe2, 0xfc, 0x5f, 0x9b, 0x2f, 0x37, 0x6f, 0xe5, 0xc2, 0xbc, 0x15, 0x13,
- 0x61, 0x6a, 0x34, 0x11, 0xc6, 0xfb, 0xf1, 0x21, 0x34, 0x9e, 0xc5, 0x21, 0x8b, 0x8e, 0x5f, 0xd4,
- 0x13, 0x63, 0x3a, 0x31, 0x34, 0xfd, 0x6d, 0x0d, 0x60, 0x8b, 0x9e, 0x30, 0x9f, 0xb6, 0xa3, 0x2e,
- 0xa6, 0xcc, 0x09, 0x8d, 0x02, 0x9e, 0x98, 0x05, 0x67, 0x5a, 0xe4, 0x16, 0x4c, 0xf5, 0x79, 0x40,
- 0x43, 0x53, 0xde, 0x74, 0x83, 0x7c, 0x0b, 0x66, 0x8e, 0xbc, 0x24, 0x38, 0xf5, 0x12, 0xea, 0x9e,
- 0xd0, 0x44, 0xed, 0x89, 0x66, 0xd5, 0x4d, 0xa7, 0xf2, 0xcf, 0xb4, 0x58, 0x41, 0xbb, 0x2c, 0xe9,
- 0x17, 0xa0, 0x65, 0x0d, 0x4d, 0xe5, 0x29, 0x74, 0x05, 0x6a, 0x01, 0xf6, 0x48, 0xf5, 0x7f, 0x46,
- 0xaf, 0x1e, 0x2d, 0x68, 0x07, 0xe4, 0x3d, 0xb8, 0x65, 0x94, 0xc5, 0xa4, 0xb8, 0x89, 0x38, 0xa2,
- 0x75, 0xf9, 0x8c, 0x50, 0x74, 0x6a, 0x43, 0x51, 0x83, 0x27, 0x70, 0xbf, 0xb2, 0x9c, 0x6a, 0xcc,
- 0x23, 0x75, 0x26, 0x16, 0xe4, 0x36, 0x80, 0xba, 0xe7, 0x44, 0x3c, 0xe4, 0xbd, 0xf3, 0xb4, 0xa0,
- 0x0d, 0x25, 0x64, 0x4d, 0x9f, 0x08, 0x58, 0xa0, 0x4f, 0x75, 0x66, 0x81, 0x01, 0x4e, 0x20, 0x1e,
- 0xd2, 0xc8, 0x2a, 0x80, 0x41, 0x50, 0x73, 0xb6, 0xb1, 0x9c, 0x2a, 0xea, 0xb7, 0xa3, 0x80, 0xdc,
- 0x85, 0x96, 0x17, 0x86, 0xdc, 0x1f, 0x32, 0x54, 0x11, 0xd1, 0x40, 0x69, 0xca, 0xb1, 0x06, 0x8d,
- 0x0c, 0x45, 0xcd, 0xb9, 0xc3, 0x72, 0xc0, 0x60, 0x14, 0xcf, 0x3d, 0x98, 0x19, 0xa6, 0x84, 0x61,
- 0x02, 0x44, 0xb5, 0xb2, 0xc4, 0xd0, 0x5c, 0x77, 0xa1, 0x95, 0x43, 0x52, 0x73, 0x0c, 0xb0, 0x9c,
- 0x46, 0x86, 0x53, 0x7c, 0x36, 0x34, 0x4d, 0x31, 0x31, 0x64, 0x4d, 0x04, 0xd5, 0x75, 0x49, 0xd1,
- 0x4c, 0xb7, 0xa1, 0x9e, 0x62, 0x14, 0x4d, 0x4b, 0xe7, 0xa1, 0x46, 0x28, 0x8e, 0x8f, 0xa1, 0x92,
- 0x78, 0x51, 0x8f, 0x8a, 0xc5, 0xe9, 0xb5, 0xc9, 0x7b, 0xf5, 0x87, 0xf7, 0x86, 0xe7, 0xed, 0x2c,
- 0xa1, 0xcc, 0xa7, 0x43, 0x05, 0x1f, 0x24, 0x3e, 0x75, 0x10, 0xef, 0x18, 0xbb, 0xe5, 0xdf, 0x95,
- 0xe1, 0xd6, 0x45, 0x00, 0xb2, 0x94, 0x5e, 0x13, 0x03, 0xb1, 0x58, 0x5a, 0x9b, 0xbc, 0x67, 0x99,
- 0xbb, 0x60, 0x30, 0x3a, 0x63, 0x13, 0x63, 0x33, 0xb6, 0x09, 0x53, 0x31, 0xe7, 0xa1, 0x58, 0x9c,
- 0xc4, 0x4e, 0xbd, 0xfb, 0xb2, 0x9d, 0xba, 0xbf, 0xc7, 0x79, 0xe8, 0x68, 0xdb, 0xe5, 0x7f, 0x4d,
- 0x40, 0x59, 0xb5, 0xc9, 0x8f, 0x73, 0xdb, 0x4f, 0xeb, 0xe1, 0x77, 0xae, 0x45, 0x86, 0x7f, 0x54,
- 0xc9, 0x37, 0xdb, 0xd6, 0x3e, 0x58, 0xe2, 0xc8, 0x4b, 0x58, 0xd4, 0xc3, 0x6e, 0xb7, 0x1e, 0x7e,
- 0x78, 0x3d, 0xba, 0x7d, 0x6d, 0x8c, 0x8c, 0x29, 0x93, 0x5a, 0x98, 0x7a, 0x02, 0xf5, 0x9e, 0xa0,
- 0x1b, 0x6a, 0x9d, 0x53, 0x73, 0xf1, 0xb0, 0x1c, 0xf5, 0x69, 0x6f, 0x40, 0x35, 0xed, 0x0e, 0x01,
- 0xa8, 0x74, 0x9e, 0x3e, 0x73, 0xdb, 0x5b, 0x33, 0x37, 0x48, 0x03, 0xaa, 0x1b, 0x4f, 0x9e, 0x74,
- 0x36, 0x55, 0xab, 0x44, 0x5a, 0x00, 0x9f, 0x6c, 0xef, 0xee, 0x75, 0x9c, 0x03, 0xd5, 0x9e, 0x20,
- 0x75, 0xb0, 0x1e, 0x3f, 0xe9, 0x3c, 0x57, 0x8d, 0x49, 0xfb, 0x08, 0xea, 0xb9, 0x2e, 0x90, 0x79,
- 0x20, 0x5b, 0xdb, 0x5b, 0xed, 0xcd, 0x8d, 0x83, 0xed, 0x2d, 0x77, 0x6f, 0xdb, 0x71, 0xdb, 0x4f,
- 0x0f, 0x1e, 0xcf, 0xdc, 0x20, 0x77, 0x60, 0x65, 0x7f, 0x67, 0xc3, 0xd9, 0xde, 0x72, 0x1f, 0xfd,
- 0xcc, 0xdd, 0x78, 0xf2, 0x04, 0xe5, 0xf8, 0x71, 0xb0, 0xbd, 0xb9, 0x33, 0x53, 0x22, 0x6b, 0xb0,
- 0x7a, 0x01, 0x60, 0x7f, 0x63, 0x77, 0x5b, 0x23, 0x26, 0xec, 0x5f, 0x4f, 0x02, 0x6c, 0x86, 0x9e,
- 0x10, 0xac, 0xcb, 0x68, 0x82, 0xf5, 0xd3, 0x95, 0x71, 0x56, 0xcd, 0xa6, 0xf8, 0x41, 0xcc, 0x02,
- 0x32, 0x0b, 0x53, 0xdc, 0x3d, 0xc9, 0xaa, 0x6a, 0x99, 0x7f, 0xc6, 0xb0, 0xd6, 0x32, 0x8d, 0x35,
- 0x03, 0xc2, 0x52, 0x2c, 0x43, 0xac, 0x1e, 0x92, 0x32, 0x53, 0xd8, 0x05, 0xb0, 0xb8, 0x1b, 0x1f,
- 0x32, 0x29, 0x4c, 0x91, 0xad, 0xf0, 0x3d, 0xd5, 0xc2, 0xfa, 0x69, 0x14, 0x66, 0x47, 0x65, 0x5a,
- 0xb1, 0x04, 0x55, 0x2a, 0x8f, 0xf4, 0xbe, 0xae, 0x97, 0xba, 0x45, 0xe5, 0x51, 0xba, 0xad, 0x07,
- 0x42, 0xba, 0x7d, 0xcf, 0xc7, 0x25, 0xde, 0x70, 0x2a, 0x81, 0x90, 0xbb, 0x9e, 0xaf, 0x14, 0x22,
- 0xf1, 0x51, 0x51, 0xd3, 0x0a, 0x91, 0xf8, 0x4a, 0xa1, 0x92, 0x3c, 0xd6, 0xaf, 0x2d, 0x66, 0x2d,
- 0x5b, 0x2c, 0xde, 0xc3, 0x17, 0x9b, 0x39, 0x50, 0xd6, 0x2e, 0x8b, 0xcd, 0xe2, 0x9d, 0x0a, 0x84,
- 0x6c, 0xc7, 0x4a, 0xac, 0xa8, 0x58, 0x6c, 0xea, 0xd8, 0x94, 0x48, 0xfc, 0x76, 0xac, 0x88, 0x94,
- 0x58, 0xad, 0x6e, 0xb3, 0x8e, 0x95, 0x47, 0x55, 0xe0, 0x94, 0x4a, 0x11, 0xa1, 0x4a, 0x2f, 0x60,
- 0xd5, 0x4b, 0x54, 0xad, 0x41, 0x23, 0x3e, 0x96, 0xae, 0xf4, 0x7a, 0x3a, 0x9e, 0x69, 0xbd, 0x94,
- 0xe2, 0x63, 0x79, 0xe0, 0xe1, 0x0c, 0xdb, 0xbf, 0x84, 0x9a, 0xba, 0x70, 0xf0, 0x68, 0xb3, 0x8f,
- 0x15, 0xc3, 0x0b, 0x02, 0x97, 0x0f, 0x24, 0x4d, 0x94, 0x11, 0xce, 0x45, 0xd5, 0xa9, 0x7b, 0x41,
- 0xd0, 0x51, 0xb2, 0x03, 0xaf, 0xa7, 0xaa, 0x54, 0x42, 0xfb, 0xfc, 0x84, 0xe6, 0x60, 0x13, 0x08,
- 0x6b, 0x69, 0x79, 0x86, 0x5c, 0x83, 0x86, 0x4c, 0xbc, 0xd8, 0x95, 0xdc, 0x3d, 0xe2, 0x42, 0x67,
- 0x6f, 0xd5, 0x01, 0x25, 0x3b, 0xe0, 0x3b, 0x5c, 0x48, 0xfb, 0xcf, 0x25, 0xa8, 0x68, 0xef, 0xe4,
- 0x2e, 0x4c, 0xfa, 0xfd, 0xf4, 0x3d, 0x80, 0x0c, 0x9f, 0x18, 0xd2, 0xbe, 0x39, 0x4a, 0x7d, 0x71,
- 0x3a, 0xe4, 0xa6, 0x78, 0xb2, 0x30, 0xc5, 0xc3, 0x9c, 0x2a, 0x8f, 0xe4, 0x94, 0xce, 0x93, 0xa9,
- 0x62, 0x9e, 0x5c, 0x9c, 0x0e, 0xc3, 0x64, 0xb3, 0x72, 0xc9, 0x66, 0xff, 0x71, 0x12, 0xca, 0x8f,
- 0x43, 0x7e, 0x8a, 0xd5, 0xdf, 0x57, 0xf7, 0x29, 0x37, 0xbf, 0x1d, 0x4f, 0x3b, 0x0d, 0x2d, 0x6d,
- 0x5f, 0x74, 0x3c, 0x98, 0x4e, 0x8f, 0x07, 0x73, 0x50, 0x19, 0x44, 0x4c, 0x89, 0xeb, 0x5a, 0x3c,
- 0x88, 0xd8, 0x55, 0xc7, 0xc0, 0x15, 0xc0, 0xda, 0xac, 0x27, 0x53, 0x6f, 0xad, 0x55, 0x25, 0xc0,
- 0xec, 0x5c, 0x82, 0x6a, 0xba, 0xc3, 0x60, 0xae, 0x4d, 0x3b, 0x96, 0xd9, 0x5d, 0xc8, 0x5b, 0x30,
- 0x1d, 0x51, 0x79, 0xca, 0x93, 0xe3, 0xac, 0x97, 0x53, 0x88, 0x68, 0x1a, 0x71, 0xfb, 0xa2, 0xe3,
- 0x69, 0x05, 0x21, 0xb9, 0x53, 0xc9, 0xfb, 0x00, 0x7e, 0xb6, 0x64, 0xcd, 0x1d, 0x7f, 0x36, 0x9b,
- 0xab, 0xe1, 0x6a, 0x76, 0x72, 0x30, 0xf2, 0x36, 0x54, 0x3c, 0x9c, 0x45, 0x73, 0x77, 0x9f, 0x1e,
- 0x99, 0x5c, 0xc7, 0xa8, 0xc9, 0x32, 0x54, 0xe3, 0x84, 0xf1, 0x84, 0xc9, 0x73, 0x5c, 0x45, 0xd3,
- 0x4e, 0xd6, 0xce, 0x1d, 0x73, 0x1b, 0x85, 0x63, 0x6e, 0xee, 0x7c, 0xd5, 0xcc, 0x9f, 0xaf, 0xec,
- 0x03, 0x68, 0x8c, 0x9e, 0x10, 0xf4, 0x31, 0x27, 0x9d, 0xa1, 0x86, 0x53, 0xd5, 0x82, 0x76, 0x40,
- 0xde, 0x86, 0x69, 0xa3, 0x14, 0x31, 0xf5, 0x59, 0x97, 0xf9, 0xe6, 0xf8, 0xd4, 0xd2, 0xe2, 0x7d,
- 0x23, 0xb5, 0xff, 0x56, 0x86, 0x56, 0xf1, 0xa1, 0xed, 0xf2, 0x73, 0xd8, 0x12, 0x54, 0x93, 0x33,
- 0xf7, 0xf0, 0x5c, 0x52, 0x81, 0x6c, 0x15, 0xc7, 0x4a, 0xce, 0x1e, 0xa9, 0xa6, 0x1a, 0xe6, 0xe4,
- 0xcc, 0x8d, 0xf1, 0x20, 0xa7, 0x93, 0xb6, 0xe2, 0xd4, 0x92, 0x33, 0x7d, 0xb2, 0x13, 0xb8, 0xc4,
- 0xce, 0xdc, 0x81, 0xef, 0xa9, 0x55, 0x6d, 0x40, 0x65, 0x04, 0xb5, 0x92, 0xb3, 0x67, 0x4a, 0x5c,
- 0x44, 0xf6, 0x0b, 0xc8, 0xa9, 0x14, 0xb9, 0x3b, 0x8e, 0x3c, 0x2c, 0x20, 0x2b, 0x29, 0xf2, 0xd1,
- 0x38, 0x52, 0xbf, 0x30, 0xa4, 0x48, 0x2b, 0x45, 0xe2, 0x8b, 0x41, 0x8a, 0x5c, 0x82, 0xaa, 0x4c,
- 0x23, 0xac, 0xea, 0x08, 0xe5, 0x30, 0x42, 0x39, 0x8c, 0xb0, 0xa6, 0x23, 0x94, 0xf9, 0x08, 0xe5,
- 0x68, 0x84, 0xa0, 0x7d, 0xc8, 0xb1, 0x08, 0xe5, 0x68, 0x84, 0xf5, 0x14, 0xb9, 0x3b, 0x8e, 0x2c,
- 0x46, 0xd8, 0x48, 0x91, 0x8f, 0xc6, 0x91, 0xc5, 0x08, 0x9b, 0x29, 0xb2, 0x10, 0xa1, 0x0d, 0xcd,
- 0xe4, 0xcc, 0xf5, 0x13, 0x5f, 0xa3, 0x05, 0xd6, 0xd7, 0x8a, 0x53, 0x4f, 0xce, 0x36, 0x13, 0x1f,
- 0x91, 0x18, 0xea, 0x21, 0x8b, 0x53, 0xc0, 0xb4, 0x0e, 0xf5, 0x90, 0xc5, 0x46, 0xbd, 0x0a, 0x35,
- 0xc9, 0xfa, 0x54, 0x48, 0xaf, 0x1f, 0xe3, 0x49, 0xd7, 0x72, 0x86, 0x02, 0x75, 0x9d, 0x6f, 0x15,
- 0xdf, 0x5f, 0xf3, 0x8b, 0xbf, 0x54, 0x58, 0xfc, 0xaf, 0x9e, 0x50, 0xaf, 0x3e, 0x51, 0x57, 0xf7,
- 0xfe, 0x63, 0x68, 0x16, 0x1e, 0x6c, 0x2f, 0x5f, 0x0c, 0xf3, 0x50, 0x51, 0x17, 0xf6, 0x81, 0x30,
- 0xa7, 0x39, 0xd3, 0xb2, 0x7f, 0x01, 0xb3, 0x17, 0x3c, 0xdc, 0x5e, 0xfb, 0x9a, 0x35, 0xa4, 0x9f,
- 0x2c, 0xd0, 0xff, 0x69, 0x02, 0xc8, 0xf8, 0x9b, 0xee, 0xab, 0x3c, 0x99, 0x84, 0x5c, 0xb8, 0x05,
- 0x17, 0xb5, 0x90, 0x8b, 0x7d, 0x14, 0x68, 0xf5, 0x61, 0xaa, 0x2e, 0xa7, 0xea, 0x43, 0xa3, 0xbe,
- 0x07, 0x33, 0x21, 0x8f, 0x7d, 0xb7, 0xcf, 0x44, 0xc6, 0xa1, 0x6f, 0x21, 0x2d, 0x25, 0xdf, 0x65,
- 0x22, 0x25, 0x7a, 0x00, 0x73, 0x06, 0x69, 0x12, 0x2e, 0x85, 0x57, 0xf4, 0xcd, 0x47, 0xc3, 0x75,
- 0xe2, 0x19, 0x93, 0x3b, 0x50, 0x0f, 0x79, 0x97, 0xa5, 0x40, 0x4b, 0x6f, 0xf0, 0x4a, 0x64, 0x00,
- 0x6f, 0x42, 0x23, 0xe4, 0x5e, 0x3f, 0x43, 0x54, 0x11, 0x51, 0x47, 0x99, 0x86, 0xd8, 0x14, 0x56,
- 0xae, 0x78, 0xae, 0x7e, 0x6d, 0x93, 0xf1, 0xfb, 0x12, 0x2c, 0x5f, 0xfe, 0x76, 0xfd, 0xba, 0xdc,
- 0x90, 0xf7, 0x61, 0x9e, 0x45, 0xea, 0xfa, 0x49, 0xdd, 0x43, 0x26, 0xcd, 0x38, 0x26, 0x9e, 0xa4,
- 0xe6, 0x14, 0x30, 0x6b, 0xb4, 0x8f, 0x98, 0xc4, 0x81, 0x74, 0x3c, 0x49, 0xed, 0xaf, 0x75, 0xdf,
- 0x2e, 0x79, 0xfa, 0x7e, 0x6d, 0x7d, 0xbb, 0x05, 0x53, 0xf8, 0x08, 0x9f, 0x1e, 0x48, 0xb0, 0xa1,
- 0xd8, 0x23, 0x7a, 0xea, 0xd2, 0x2f, 0xd3, 0x23, 0x49, 0x25, 0xa2, 0xa7, 0xdb, 0x5f, 0x06, 0xf6,
- 0x11, 0xdc, 0xbe, 0xfa, 0xe1, 0xfc, 0xb5, 0xcd, 0xcd, 0x1f, 0x4a, 0x3a, 0x07, 0x2e, 0x79, 0x4a,
- 0xff, 0xdf, 0x4e, 0xce, 0x57, 0x25, 0xb0, 0x5f, 0xfc, 0x2c, 0xff, 0xdf, 0x9d, 0x24, 0xfb, 0x4b,
- 0x9c, 0x8b, 0x2b, 0x9e, 0xef, 0xaf, 0xed, 0xff, 0x0e, 0xd4, 0xf1, 0x8d, 0x3d, 0xa1, 0x9e, 0x30,
- 0x8f, 0x2a, 0x96, 0x03, 0x4a, 0xe4, 0xa0, 0xc4, 0x3e, 0x86, 0x37, 0x5f, 0xf8, 0xd6, 0xfe, 0xda,
- 0x32, 0x80, 0xc1, 0xe2, 0x65, 0xaf, 0xee, 0xaf, 0x52, 0x2f, 0x93, 0x80, 0xa5, 0x5b, 0xa2, 0x0e,
- 0xac, 0x96, 0x04, 0x4c, 0x6f, 0x89, 0xf6, 0x53, 0x58, 0xbd, 0xea, 0x67, 0x8a, 0xeb, 0xba, 0xb3,
- 0x2d, 0x98, 0xda, 0xee, 0xc7, 0xf2, 0xfc, 0xe1, 0x37, 0x4d, 0xb0, 0x3a, 0xfa, 0x70, 0x49, 0xb6,
- 0x00, 0xb6, 0x98, 0xf0, 0x0e, 0x43, 0xda, 0x09, 0x25, 0x69, 0x65, 0x87, 0x4e, 0x44, 0x2e, 0x8f,
- 0xb4, 0xed, 0xf9, 0xaf, 0xfe, 0xfe, 0x8f, 0xaf, 0x27, 0x66, 0xec, 0xfa, 0xfa, 0xc9, 0x83, 0x75,
- 0x63, 0xf7, 0x51, 0xe9, 0x1d, 0xf2, 0x18, 0xea, 0x0e, 0xa5, 0xd1, 0xcb, 0xd2, 0x2c, 0x20, 0xcd,
- 0x4d, 0xbb, 0xa1, 0x68, 0x52, 0x43, 0xc5, 0xb3, 0x0d, 0x75, 0x93, 0x3a, 0xb4, 0x13, 0x0d, 0x48,
- 0x23, 0xff, 0x4b, 0xc7, 0x18, 0xcb, 0x22, 0xb2, 0x10, 0xbb, 0xa9, 0x58, 0xb6, 0xb5, 0xf3, 0x68,
- 0xa0, 0x68, 0x76, 0xa0, 0xb9, 0x45, 0xbd, 0x97, 0x26, 0x5a, 0x42, 0xa2, 0x59, 0xbb, 0x95, 0x8b,
- 0xca, 0x30, 0x6d, 0x42, 0x6d, 0x8b, 0x86, 0xf4, 0xda, 0xdd, 0xc9, 0x8c, 0x14, 0x49, 0x1b, 0xc0,
- 0x3c, 0xb4, 0x76, 0x06, 0x92, 0xcc, 0x14, 0x7e, 0xf9, 0xde, 0x15, 0xbd, 0xab, 0xfb, 0x33, 0xb4,
- 0x54, 0x54, 0x1d, 0x68, 0x64, 0xaf, 0xac, 0x8a, 0x8c, 0x14, 0x7e, 0xd1, 0x42, 0xf1, 0x18, 0xdd,
- 0x0a, 0xd2, 0xcd, 0xd9, 0x33, 0x48, 0x97, 0xb3, 0x56, 0x84, 0x3f, 0x85, 0xe9, 0xfc, 0x7b, 0xa9,
- 0xe2, 0x1c, 0x3e, 0x27, 0xe7, 0x35, 0x63, 0xb4, 0xb7, 0x91, 0x76, 0xd1, 0x9e, 0x55, 0xb4, 0x23,
- 0x1c, 0x8a, 0xf9, 0x63, 0xb0, 0xd4, 0x91, 0x6d, 0x23, 0x08, 0x48, 0xb3, 0xf0, 0x23, 0xfa, 0xd5,
- 0x59, 0x65, 0x6c, 0x74, 0x56, 0x81, 0x6a, 0x39, 0x78, 0x5f, 0x7e, 0x11, 0x49, 0x61, 0xd0, 0x86,
- 0x66, 0x8a, 0x67, 0x1f, 0x5a, 0xd9, 0x63, 0xfd, 0xe6, 0x11, 0xf5, 0x8f, 0xc7, 0x12, 0x74, 0x38,
- 0x8c, 0x19, 0xd0, 0x7e, 0x03, 0x09, 0x17, 0x6c, 0xa2, 0x08, 0x8b, 0xf6, 0x8a, 0x74, 0x17, 0xea,
- 0x3a, 0xe7, 0xf6, 0x78, 0xd4, 0xee, 0xe6, 0x26, 0x22, 0xfb, 0xf5, 0x60, 0xac, 0x8b, 0xcb, 0xc8,
- 0x78, 0xcb, 0x9e, 0x1e, 0x26, 0x2c, 0x1a, 0x9b, 0x89, 0x35, 0x99, 0xf7, 0xf2, 0x7c, 0x85, 0x89,
- 0xcd, 0x5b, 0x2b, 0x42, 0x07, 0x9a, 0x9f, 0x50, 0x99, 0x7b, 0xcf, 0x1e, 0x8d, 0x79, 0xf6, 0x82,
- 0x27, 0x37, 0x7b, 0x15, 0x29, 0xe7, 0xed, 0x9b, 0x8a, 0xb2, 0x60, 0xaf, 0x38, 0x7f, 0x04, 0x15,
- 0x87, 0x1e, 0x72, 0xfe, 0xe2, 0x15, 0x3e, 0x87, 0x3c, 0xd3, 0x36, 0xe8, 0x15, 0xae, 0x6c, 0x14,
- 0xc1, 0x33, 0xb8, 0xb9, 0xc9, 0xc3, 0x90, 0xfa, 0xf9, 0xab, 0xe1, 0x8b, 0xb8, 0xd6, 0x90, 0x6b,
- 0xd9, 0x9e, 0x53, 0x5c, 0x63, 0xe6, 0x8a, 0x36, 0x81, 0x85, 0xcd, 0x84, 0x7a, 0x92, 0x1e, 0x24,
- 0x5e, 0xb7, 0xcb, 0xfc, 0x7d, 0xff, 0x88, 0x06, 0x83, 0x90, 0x26, 0x82, 0xdc, 0xb9, 0x5f, 0xf8,
- 0xe7, 0x9d, 0x31, 0xc0, 0x98, 0xb7, 0xb7, 0xd0, 0xdb, 0x9a, 0xbd, 0x82, 0xde, 0x2e, 0x66, 0x35,
- 0x3e, 0x75, 0x86, 0xbd, 0x6e, 0x9f, 0x97, 0xb0, 0x2a, 0x9f, 0x5d, 0x98, 0x2d, 0xf4, 0xe8, 0x27,
- 0x03, 0x3a, 0xa0, 0x82, 0xac, 0x5c, 0xe8, 0x4f, 0x2b, 0xc7, 0x7c, 0xd9, 0xe8, 0x6b, 0xd5, 0x5e,
- 0x18, 0x8b, 0x4f, 0x1b, 0x18, 0x3f, 0x85, 0x5e, 0xfc, 0xc7, 0x7e, 0x2e, 0x60, 0x53, 0x7e, 0xbe,
- 0x0f, 0x33, 0x7a, 0x19, 0xe4, 0x76, 0xb5, 0xcb, 0xd3, 0x74, 0x08, 0xb2, 0x6f, 0xbc, 0x57, 0x7a,
- 0xf4, 0xe0, 0xf3, 0xf5, 0x1e, 0x93, 0x47, 0x83, 0xc3, 0xfb, 0x3e, 0xef, 0xe3, 0xbf, 0x79, 0xf9,
- 0x3c, 0x09, 0xd6, 0xf5, 0x7f, 0x6e, 0xbd, 0x6b, 0xfe, 0x73, 0xeb, 0xe4, 0xe1, 0x7a, 0x8f, 0xa7,
- 0xff, 0x03, 0xb6, 0x57, 0x3a, 0xac, 0xa0, 0xfc, 0xfd, 0x7f, 0x07, 0x00, 0x00, 0xff, 0xff, 0x3c,
- 0x63, 0xa1, 0x96, 0x25, 0x26, 0x00, 0x00,
+ // 3481 bytes of a gzipped FileDescriptorProto
+ 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x5a, 0x4f, 0x73, 0x1c, 0x49,
+ 0x56, 0x77, 0xab, 0xff, 0x54, 0xf7, 0xeb, 0x3f, 0x6a, 0xa7, 0x2c, 0x5b, 0x7f, 0xbc, 0xb6, 0xa6,
+ 0x30, 0x3b, 0x66, 0x60, 0xa5, 0x19, 0xcf, 0x06, 0xb0, 0xc3, 0x02, 0x23, 0xab, 0xdb, 0x56, 0x33,
+ 0x96, 0x5b, 0x94, 0xda, 0x33, 0xb0, 0xc4, 0x44, 0x6d, 0xa9, 0x2a, 0xbb, 0x95, 0xa1, 0xea, 0xca,
+ 0x9a, 0xaa, 0x6c, 0xc9, 0xba, 0x2e, 0x2c, 0x1f, 0x80, 0x0d, 0x0e, 0x70, 0x84, 0x2f, 0xb1, 0x11,
+ 0x7b, 0xe4, 0x4a, 0x70, 0xe1, 0x2b, 0x70, 0xe1, 0x0b, 0x70, 0xe2, 0x40, 0xe4, 0xcb, 0xac, 0x7f,
+ 0xdd, 0x2d, 0xd9, 0x1a, 0x4c, 0x70, 0x51, 0x74, 0xbe, 0xf7, 0x7b, 0xbf, 0xcc, 0x97, 0xf9, 0xf2,
+ 0xe5, 0xab, 0x4c, 0xc1, 0xf6, 0x05, 0xf7, 0xc5, 0x99, 0x63, 0x87, 0x11, 0x17, 0x3c, 0xde, 0xe3,
+ 0x21, 0x0d, 0xb8, 0x2f, 0x76, 0xb1, 0x49, 0x0c, 0xdd, 0xdc, 0x7a, 0x38, 0xe1, 0x7c, 0xe2, 0xd3,
+ 0x3d, 0x27, 0x64, 0x7b, 0x4e, 0x10, 0x70, 0xe1, 0x08, 0xc6, 0x83, 0x58, 0xc1, 0xb6, 0x76, 0x8a,
+ 0x1c, 0x82, 0xba, 0x67, 0xf2, 0xf7, 0x98, 0xf9, 0x54, 0x21, 0xcc, 0x7f, 0xad, 0x00, 0x0c, 0x02,
+ 0x8f, 0xb9, 0x68, 0x47, 0x3e, 0x03, 0x83, 0xfb, 0xc2, 0x66, 0x81, 0xb7, 0x51, 0xda, 0x29, 0x3d,
+ 0x6d, 0x3e, 0xbb, 0xbf, 0x9b, 0x74, 0x3c, 0xf4, 0x45, 0x06, 0x3c, 0xbc, 0x63, 0xd5, 0x38, 0x0a,
+ 0xc8, 0x8f, 0xa1, 0xce, 0x02, 0x31, 0x46, 0x9b, 0x15, 0xb4, 0x79, 0x90, 0xda, 0x0c, 0x02, 0x31,
+ 0x2e, 0x18, 0x19, 0x4c, 0x49, 0xc8, 0x3e, 0xb4, 0xd1, 0x8a, 0x87, 0x34, 0x42, 0xd3, 0x32, 0x9a,
+ 0x6e, 0x17, 0x4c, 0x87, 0x21, 0x8d, 0x0a, 0xe6, 0x4d, 0x96, 0x49, 0xc9, 0x9f, 0x40, 0x8b, 0x07,
+ 0x33, 0xdb, 0x63, 0xb1, 0x8b, 0x0c, 0x15, 0x64, 0xd8, 0xca, 0x06, 0x1c, 0xcc, 0x7a, 0x2c, 0x76,
+ 0x0b, 0x04, 0xc0, 0x53, 0x21, 0xfa, 0x1a, 0xcc, 0xd0, 0xb4, 0x3a, 0xef, 0x6b, 0x30, 0x9b, 0xf3,
+ 0x15, 0x05, 0xd2, 0x57, 0x3e, 0x75, 0x19, 0xda, 0xd4, 0xe6, 0x7c, 0x1d, 0x4e, 0x5d, 0x56, 0xf4,
+ 0x95, 0x2b, 0x09, 0xf9, 0x31, 0x18, 0xe1, 0xb9, 0x9a, 0x54, 0x03, 0x8d, 0x36, 0x53, 0xa3, 0x63,
+ 0xc7, 0x3d, 0xa7, 0x73, 0xf3, 0x1a, 0x9e, 0xe3, 0xbc, 0xfe, 0x21, 0x40, 0xc8, 0x23, 0x61, 0xc7,
+ 0xc2, 0x11, 0xf1, 0x46, 0x7d, 0xae, 0xb7, 0x63, 0x1e, 0x89, 0x13, 0xb9, 0xd8, 0xb1, 0x60, 0x6e,
+ 0x7c, 0x78, 0xc7, 0x6a, 0x84, 0x5a, 0x12, 0x4b, 0xcb, 0xb1, 0xcf, 0x2f, 0xb5, 0x65, 0x63, 0xce,
+ 0xf2, 0x85, 0xcf, 0x2f, 0x8b, 0x96, 0x63, 0x2d, 0x89, 0xc9, 0x1f, 0x40, 0xc3, 0xf1, 0x9d, 0x68,
+ 0x8a, 0x63, 0x05, 0x34, 0xdc, 0x48, 0x0d, 0xf7, 0xa5, 0xa6, 0x30, 0xd4, 0xba, 0xa3, 0x45, 0xcf,
+ 0x6b, 0x50, 0xf1, 0x1c, 0xe1, 0x98, 0xff, 0x59, 0x87, 0xd5, 0x39, 0x9c, 0x9c, 0x67, 0x9f, 0xc7,
+ 0x4b, 0x63, 0xea, 0x15, 0x8f, 0x8b, 0xbe, 0xfb, 0x28, 0x20, 0x3d, 0xe8, 0x78, 0x57, 0x2c, 0x98,
+ 0xd8, 0x13, 0x27, 0x0e, 0x73, 0x91, 0xf5, 0x30, 0xb5, 0xec, 0x49, 0xf5, 0x4b, 0x27, 0x0e, 0x0b,
+ 0xf6, 0x2d, 0x2f, 0x27, 0x96, 0x31, 0x26, 0x17, 0x38, 0xf3, 0x68, 0x3e, 0xc6, 0x86, 0xc1, 0x6c,
+ 0xd1, 0xa9, 0x26, 0xcf, 0xa4, 0xe4, 0x1b, 0xb8, 0x27, 0x29, 0x62, 0xe1, 0x44, 0x62, 0x16, 0xda,
+ 0x63, 0x87, 0xf9, 0xb9, 0x58, 0x7b, 0x92, 0x67, 0x3a, 0x51, 0x98, 0x17, 0x0e, 0xf3, 0x67, 0x11,
+ 0x2d, 0x50, 0xde, 0xe5, 0x05, 0xb5, 0x24, 0xfe, 0x19, 0xdc, 0x47, 0x62, 0x36, 0x09, 0x1c, 0xdf,
+ 0xf6, 0xe8, 0x24, 0x72, 0x3c, 0x9a, 0x8b, 0xc5, 0xdf, 0x2a, 0x50, 0x23, 0xaa, 0xa7, 0x40, 0x05,
+ 0xe6, 0x35, 0xbe, 0xa8, 0x25, 0x7f, 0x05, 0x0f, 0x70, 0x63, 0x44, 0x6c, 0x2c, 0x6c, 0x3e, 0xb6,
+ 0x2f, 0x59, 0xe0, 0xf1, 0xcb, 0x5c, 0xd0, 0x16, 0xc8, 0x7b, 0x12, 0x36, 0x1c, 0x7f, 0x83, 0xa0,
+ 0x05, 0xf2, 0x79, 0x2d, 0x19, 0x81, 0xf4, 0xc6, 0xf6, 0x79, 0x1c, 0xdb, 0xe9, 0x5e, 0x50, 0x61,
+ 0xfd, 0x71, 0x9e, 0xf6, 0x15, 0x8f, 0xe3, 0xe1, 0x58, 0x6e, 0x8a, 0x83, 0x33, 0x27, 0x08, 0xa8,
+ 0x5f, 0xa0, 0xee, 0x70, 0x8d, 0xd0, 0x5b, 0x24, 0x99, 0x67, 0x74, 0x25, 0xce, 0xe6, 0xb9, 0xbe,
+ 0x64, 0x9e, 0x15, 0xe6, 0xda, 0x79, 0xce, 0xd4, 0x92, 0x78, 0xa8, 0x92, 0x84, 0x60, 0x97, 0x6a,
+ 0xa4, 0x6a, 0x37, 0xfc, 0x6e, 0x9e, 0x70, 0x14, 0x39, 0x41, 0x3c, 0x65, 0x71, 0xcc, 0x78, 0x30,
+ 0x08, 0x04, 0x8d, 0xc6, 0x34, 0xa2, 0x81, 0x4b, 0xbf, 0x71, 0xa2, 0x80, 0x05, 0x13, 0x9d, 0x35,
+ 0x46, 0xec, 0x12, 0x47, 0xfa, 0x73, 0x35, 0xb9, 0x8e, 0x2b, 0xd8, 0x05, 0xf6, 0x9b, 0x0d, 0x16,
+ 0x16, 0x67, 0x61, 0x3f, 0x85, 0x2d, 0x1b, 0xaf, 0xf4, 0xb9, 0x88, 0x50, 0x3d, 0x6c, 0xc8, 0x1e,
+ 0xc2, 0x88, 0xbb, 0x34, 0x8e, 0xe5, 0x2e, 0xa0, 0x51, 0xc4, 0x55, 0x96, 0x6c, 0x62, 0x17, 0xbf,
+ 0x9d, 0xef, 0xe2, 0x38, 0xc5, 0xf5, 0x25, 0xac, 0xd0, 0xc1, 0x3a, 0x5f, 0xa6, 0x27, 0x14, 0x36,
+ 0xb3, 0x35, 0x1c, 0xdb, 0xf1, 0x55, 0xe0, 0x66, 0x5e, 0xb4, 0xb0, 0x8b, 0x4f, 0x16, 0xd7, 0xf2,
+ 0x2b, 0x7a, 0x75, 0x72, 0x15, 0xb8, 0xd7, 0x39, 0xa2, 0x40, 0x09, 0x42, 0x76, 0xf3, 0x06, 0xd6,
+ 0x31, 0xc1, 0x8a, 0x99, 0x1d, 0xf2, 0x40, 0xa5, 0x23, 0xec, 0xa2, 0x8d, 0x5d, 0x7c, 0x54, 0x48,
+ 0xb7, 0x62, 0x76, 0xcc, 0x03, 0xcc, 0x42, 0x0b, 0x4b, 0x5a, 0xd4, 0xa5, 0xb9, 0x66, 0x17, 0xda,
+ 0x85, 0x33, 0x89, 0xfc, 0x00, 0x00, 0x8f, 0x13, 0xd9, 0x11, 0xc5, 0x5c, 0xd3, 0xb0, 0x1a, 0x52,
+ 0x22, 0x4d, 0xa9, 0x79, 0x08, 0x9d, 0xe2, 0x79, 0x44, 0x1e, 0x80, 0xa1, 0x8e, 0x2e, 0x95, 0x99,
+ 0x0c, 0xab, 0x86, 0xc7, 0x93, 0x37, 0xc7, 0xb4, 0x32, 0xcf, 0x74, 0x06, 0x77, 0x17, 0x0e, 0x97,
+ 0xeb, 0xc9, 0xbe, 0x80, 0x76, 0x4c, 0x23, 0xe6, 0xf8, 0x76, 0x30, 0x9b, 0x9e, 0xd2, 0x48, 0xe7,
+ 0xb2, 0xf5, 0xd4, 0xfd, 0x13, 0xd4, 0xbe, 0x46, 0xa5, 0xd5, 0x8a, 0x73, 0x2d, 0xf3, 0x37, 0x25,
+ 0x68, 0x17, 0x0e, 0xa3, 0xeb, 0xbb, 0x59, 0x87, 0x1a, 0xce, 0xb6, 0xca, 0x95, 0x86, 0x55, 0x95,
+ 0x33, 0x37, 0xef, 0x4a, 0x79, 0xce, 0x15, 0xf2, 0x18, 0x9a, 0x8e, 0x37, 0x65, 0x81, 0xd6, 0x57,
+ 0x51, 0x0f, 0x28, 0x52, 0x80, 0x85, 0xd1, 0x57, 0xde, 0x7f, 0xf4, 0x3f, 0x07, 0xb2, 0x78, 0x8c,
+ 0x13, 0x02, 0x15, 0x71, 0x15, 0x26, 0x0b, 0x84, 0xbf, 0xf3, 0x5e, 0xad, 0xdc, 0xb0, 0x12, 0xf3,
+ 0xc3, 0x37, 0x2d, 0xe8, 0x14, 0xcf, 0xdd, 0x5b, 0xcf, 0x4f, 0x17, 0xca, 0xe1, 0xb9, 0x40, 0xe6,
+ 0x96, 0x25, 0x7f, 0x9a, 0xff, 0x52, 0x82, 0xee, 0xfc, 0xb9, 0x4c, 0xb6, 0xa1, 0x81, 0xb4, 0x38,
+ 0x72, 0x35, 0x4b, 0x58, 0xf6, 0x8c, 0xe6, 0x46, 0xbf, 0x10, 0x47, 0x13, 0x3a, 0xc5, 0x63, 0x3c,
+ 0xed, 0xb7, 0xa1, 0x25, 0x03, 0x4f, 0xda, 0xe1, 0x41, 0xcd, 0xd4, 0xd1, 0x64, 0x58, 0x35, 0xd9,
+ 0x54, 0x0a, 0x34, 0x0a, 0x38, 0x66, 0x6c, 0xc3, 0xaa, 0xc9, 0xe6, 0x6b, 0x4e, 0xee, 0x43, 0xcd,
+ 0xe5, 0xfc, 0x9c, 0x51, 0x4c, 0xb9, 0x35, 0x4b, 0xb7, 0x12, 0x2f, 0x2a, 0x99, 0x17, 0x4f, 0xa0,
+ 0xa1, 0x92, 0x99, 0xe3, 0x5e, 0x3f, 0x40, 0xf3, 0xa7, 0xd0, 0x38, 0xa4, 0x4e, 0x24, 0x4e, 0xa9,
+ 0x23, 0xc8, 0x1e, 0xac, 0x9d, 0x25, 0x0d, 0x95, 0x8a, 0xc5, 0x2c, 0xa2, 0xda, 0x82, 0xa4, 0xaa,
+ 0x93, 0x44, 0x63, 0xfe, 0x75, 0x09, 0xca, 0xc3, 0x60, 0x76, 0xeb, 0x39, 0x5f, 0x88, 0xa9, 0xf2,
+ 0x7b, 0xc7, 0x14, 0x7a, 0xca, 0x54, 0x14, 0x1a, 0x96, 0xfc, 0x69, 0x7e, 0x05, 0x86, 0x8c, 0x81,
+ 0xa3, 0x78, 0xf2, 0x01, 0x16, 0xff, 0x97, 0x25, 0x68, 0xc8, 0xa4, 0x8a, 0xeb, 0x7f, 0x6b, 0xbe,
+ 0xdc, 0xba, 0x55, 0x0a, 0xeb, 0x56, 0x0c, 0x84, 0xea, 0x7c, 0x20, 0x2c, 0x8e, 0xe3, 0x27, 0xd0,
+ 0x7a, 0x13, 0xfa, 0x2c, 0x38, 0x7f, 0xd7, 0x48, 0xb4, 0xe9, 0x4a, 0x66, 0xfa, 0x77, 0x0d, 0x80,
+ 0x1e, 0xbd, 0x60, 0x2e, 0x1d, 0x04, 0x63, 0x0c, 0x99, 0x0b, 0x1a, 0x78, 0x3c, 0xd2, 0x1b, 0x4e,
+ 0xb7, 0xc8, 0x3d, 0xa8, 0x4e, 0xb9, 0x47, 0x7d, 0x9d, 0xde, 0x54, 0x83, 0xfc, 0x0e, 0x74, 0xcf,
+ 0x9c, 0xc8, 0xbb, 0x74, 0x22, 0x6a, 0x5f, 0xd0, 0x48, 0x9e, 0x89, 0x7a, 0xd7, 0xad, 0x26, 0xf2,
+ 0xaf, 0x95, 0x58, 0x42, 0xc7, 0x2c, 0x9a, 0x16, 0xa0, 0x15, 0x05, 0x4d, 0xe4, 0x09, 0x74, 0x1b,
+ 0x1a, 0x1e, 0x8e, 0x48, 0x8e, 0xbf, 0xab, 0x76, 0x8f, 0x12, 0x0c, 0x3c, 0xf2, 0x29, 0xdc, 0xd3,
+ 0xca, 0x62, 0x50, 0xdc, 0x45, 0x1c, 0x51, 0xba, 0x7c, 0x44, 0x48, 0x3a, 0x79, 0xa0, 0xc8, 0xc9,
+ 0x8b, 0xf1, 0xbc, 0x32, 0xac, 0x7a, 0xc8, 0x03, 0x59, 0x13, 0xc7, 0xe4, 0x11, 0x80, 0xfc, 0xce,
+ 0x09, 0xb8, 0xcf, 0x27, 0x57, 0x49, 0x42, 0xcb, 0x24, 0x64, 0x47, 0x55, 0x04, 0xcc, 0x53, 0x55,
+ 0x9d, 0xde, 0x60, 0x80, 0x0b, 0x88, 0x45, 0x1a, 0x79, 0x08, 0xa0, 0x11, 0x54, 0xd7, 0x36, 0x86,
+ 0x55, 0x47, 0x7d, 0x3f, 0xf0, 0xc8, 0x13, 0xe8, 0x38, 0xbe, 0xcf, 0xdd, 0x8c, 0xa1, 0x8e, 0x88,
+ 0x16, 0x4a, 0x13, 0x8e, 0x1d, 0x68, 0xa5, 0x28, 0xaa, 0xeb, 0x0e, 0xc3, 0x02, 0x8d, 0x91, 0x3c,
+ 0x4f, 0xa1, 0x9b, 0x85, 0x84, 0x66, 0x02, 0x44, 0x75, 0xd2, 0xc0, 0x50, 0x5c, 0x4f, 0xa0, 0x93,
+ 0x43, 0x52, 0x5d, 0x06, 0x18, 0x56, 0x2b, 0xc5, 0x49, 0x3e, 0x13, 0xda, 0x3a, 0x99, 0x68, 0xb2,
+ 0x36, 0x82, 0x9a, 0x2a, 0xa5, 0x28, 0xa6, 0x47, 0xd0, 0x4c, 0x30, 0x92, 0xa6, 0xa3, 0xe2, 0x50,
+ 0x21, 0x24, 0xc7, 0x97, 0x50, 0x8b, 0x9c, 0x60, 0x42, 0xe3, 0x8d, 0xd5, 0x9d, 0xf2, 0xd3, 0xe6,
+ 0xb3, 0xa7, 0x59, 0xbd, 0x9d, 0x06, 0x94, 0xfe, 0x69, 0xd1, 0x98, 0xcf, 0x22, 0x97, 0x5a, 0x88,
+ 0xb7, 0xb4, 0xdd, 0xd6, 0xdf, 0x57, 0xe0, 0xde, 0x32, 0x00, 0xd9, 0x4c, 0x3e, 0x13, 0xbd, 0x78,
+ 0xa3, 0xb4, 0x53, 0x7e, 0x6a, 0xe8, 0x6f, 0x41, 0x6f, 0x7e, 0xc5, 0x56, 0x16, 0x56, 0xec, 0x00,
+ 0xaa, 0x21, 0xe7, 0x7e, 0xbc, 0x51, 0xc6, 0x41, 0xfd, 0xe8, 0x7d, 0x07, 0xb5, 0x7b, 0xcc, 0xb9,
+ 0x6f, 0x29, 0xdb, 0xad, 0xff, 0x5e, 0x81, 0x8a, 0x6c, 0x93, 0x3f, 0xcb, 0x1d, 0x3f, 0x9d, 0x67,
+ 0xbf, 0x7f, 0x2b, 0x32, 0xfc, 0x23, 0x53, 0xbe, 0x3e, 0xb6, 0x4e, 0xc0, 0x88, 0xcf, 0x9c, 0x88,
+ 0x05, 0x13, 0x1c, 0x76, 0xe7, 0xd9, 0x4f, 0x6e, 0x47, 0x77, 0xa2, 0x8c, 0x91, 0x31, 0x61, 0x92,
+ 0x1b, 0x53, 0x2d, 0xa0, 0x3a, 0x13, 0x54, 0x43, 0xee, 0x73, 0xaa, 0x3f, 0x3c, 0x0c, 0x4b, 0xfe,
+ 0x34, 0xf7, 0xa1, 0x9e, 0x0c, 0x87, 0x00, 0xd4, 0x86, 0xaf, 0xdf, 0xd8, 0x83, 0x5e, 0xf7, 0x0e,
+ 0x69, 0x41, 0x7d, 0xff, 0xd5, 0xab, 0xe1, 0x81, 0x6c, 0x95, 0x48, 0x07, 0xe0, 0x65, 0xff, 0xe8,
+ 0x78, 0x68, 0x8d, 0x64, 0x7b, 0x85, 0x34, 0xc1, 0x78, 0xf1, 0x6a, 0xf8, 0x8d, 0x6c, 0x94, 0xcd,
+ 0x33, 0x68, 0xe6, 0x86, 0x40, 0xee, 0x03, 0xe9, 0xf5, 0x7b, 0x83, 0x83, 0xfd, 0x51, 0xbf, 0x67,
+ 0x1f, 0xf7, 0x2d, 0x7b, 0xf0, 0x7a, 0xf4, 0xa2, 0x7b, 0x87, 0x3c, 0x86, 0xed, 0x93, 0xc3, 0x7d,
+ 0xab, 0xdf, 0xb3, 0x9f, 0xff, 0xa5, 0xbd, 0xff, 0xea, 0x15, 0xca, 0xf1, 0xc7, 0xa8, 0x7f, 0x70,
+ 0xd8, 0x2d, 0x91, 0x1d, 0x78, 0xb8, 0x04, 0x70, 0xb2, 0x7f, 0xd4, 0x57, 0x88, 0x15, 0xf3, 0x6f,
+ 0xca, 0x00, 0x07, 0xbe, 0x13, 0xc7, 0x6c, 0xcc, 0x68, 0x84, 0xf9, 0xd3, 0x16, 0x61, 0x9a, 0xcd,
+ 0xaa, 0x7c, 0x14, 0x32, 0x8f, 0xac, 0x41, 0x95, 0xdb, 0x17, 0x69, 0x56, 0xad, 0xf0, 0xaf, 0x19,
+ 0xe6, 0x5a, 0xa6, 0xb0, 0x7a, 0x42, 0x58, 0x82, 0x65, 0x88, 0x55, 0x53, 0x52, 0x61, 0x12, 0xfb,
+ 0x00, 0x0c, 0x6e, 0x87, 0xa7, 0x4c, 0xc4, 0x3a, 0xc9, 0xd6, 0xf8, 0xb1, 0x6c, 0x61, 0xfe, 0xd4,
+ 0x0a, 0x7d, 0xa2, 0x32, 0xa5, 0xd8, 0x84, 0x3a, 0x15, 0x67, 0xea, 0x5c, 0x57, 0x5b, 0xdd, 0xa0,
+ 0xe2, 0x2c, 0x39, 0xd6, 0xbd, 0x58, 0xd8, 0x53, 0xc7, 0xc5, 0x2d, 0xde, 0xb2, 0x6a, 0x5e, 0x2c,
+ 0x8e, 0x1c, 0x57, 0x2a, 0xe2, 0xc8, 0x45, 0x45, 0x43, 0x29, 0xe2, 0xc8, 0x95, 0x0a, 0x19, 0xe4,
+ 0xa1, 0xba, 0x6d, 0xd1, 0x7b, 0xd9, 0x60, 0xe1, 0x31, 0xde, 0xd8, 0xac, 0x83, 0xb4, 0xb6, 0x59,
+ 0xa8, 0x37, 0x6f, 0xd5, 0x8b, 0xc5, 0x20, 0x94, 0x62, 0x49, 0xc5, 0x42, 0x9d, 0xc7, 0xaa, 0x71,
+ 0xe4, 0x0e, 0x42, 0x49, 0x24, 0xc5, 0x72, 0x77, 0xeb, 0x7d, 0x2c, 0x7b, 0x94, 0x09, 0x4e, 0xaa,
+ 0x24, 0x11, 0xaa, 0xd4, 0x06, 0x96, 0xa3, 0x44, 0xd5, 0x0e, 0xb4, 0xc2, 0x73, 0x61, 0x0b, 0x67,
+ 0xa2, 0xfc, 0x59, 0x55, 0x5b, 0x29, 0x3c, 0x17, 0x23, 0x07, 0x57, 0xd8, 0xfc, 0x65, 0x19, 0x1a,
+ 0xf2, 0x8b, 0x83, 0x07, 0x07, 0x53, 0x4c, 0x19, 0x8e, 0xe7, 0xd9, 0x7c, 0x26, 0x68, 0x24, 0xad,
+ 0x70, 0x31, 0xea, 0x56, 0xd3, 0xf1, 0xbc, 0xa1, 0x94, 0x8d, 0x9c, 0x89, 0x4c, 0x53, 0x11, 0x9d,
+ 0xf2, 0x0b, 0x9a, 0x83, 0xad, 0x20, 0xac, 0xa3, 0xe4, 0x29, 0x72, 0x07, 0x5a, 0x22, 0x72, 0x42,
+ 0x5b, 0x70, 0xfb, 0x8c, 0xc7, 0x2a, 0x7c, 0xeb, 0x16, 0x48, 0xd9, 0x88, 0x1f, 0xf2, 0x58, 0x90,
+ 0xdf, 0x03, 0x12, 0xd1, 0xa9, 0x13, 0x9d, 0x6b, 0x2e, 0xb5, 0x1e, 0x15, 0xc4, 0x75, 0x95, 0x06,
+ 0xd9, 0xd4, 0xca, 0x64, 0x68, 0x16, 0x04, 0x29, 0xba, 0x9a, 0x47, 0x0f, 0xa4, 0x42, 0xa1, 0xb5,
+ 0x2f, 0x0a, 0x2a, 0x07, 0x59, 0x4b, 0x7d, 0x41, 0x54, 0xd1, 0x97, 0x0c, 0x66, 0xe4, 0x7d, 0x49,
+ 0x91, 0xbb, 0xb0, 0x26, 0xe4, 0x67, 0xa1, 0xef, 0x88, 0x3c, 0xb8, 0x8e, 0xe0, 0xbb, 0xa9, 0x6a,
+ 0x39, 0x3e, 0x9b, 0xa8, 0xc6, 0x1c, 0x3e, 0x99, 0x2b, 0xf3, 0xd7, 0x25, 0xa8, 0xa9, 0x75, 0x20,
+ 0x4f, 0xa0, 0xec, 0x4e, 0x93, 0xab, 0x11, 0x92, 0xdd, 0xb6, 0x24, 0xab, 0x64, 0x49, 0xf5, 0xf2,
+ 0x9d, 0x91, 0x8b, 0xf6, 0x72, 0x21, 0xda, 0xb3, 0xed, 0x55, 0x99, 0xdb, 0x5e, 0x6a, 0xcb, 0x54,
+ 0x8b, 0x5b, 0x66, 0xf9, 0xce, 0xc8, 0xf6, 0x9d, 0x91, 0xdb, 0x77, 0xe6, 0xaf, 0xcb, 0x50, 0x79,
+ 0xe1, 0xf3, 0x4b, 0x3c, 0x08, 0x5d, 0xf9, 0x69, 0x69, 0xe7, 0x2b, 0x93, 0x55, 0xab, 0xa5, 0xa4,
+ 0x83, 0x65, 0x95, 0xd2, 0x6a, 0x52, 0x29, 0xad, 0x43, 0x6d, 0x16, 0x30, 0x29, 0x6e, 0x2a, 0xf1,
+ 0x2c, 0x60, 0x37, 0x55, 0xc4, 0xdb, 0x80, 0xc7, 0x94, 0x8a, 0x6b, 0x55, 0x65, 0xd4, 0xa5, 0x00,
+ 0x37, 0xea, 0x26, 0xd4, 0x93, 0xc3, 0x16, 0xb7, 0xdd, 0xaa, 0x65, 0xe8, 0x83, 0x96, 0xfc, 0x10,
+ 0x56, 0x03, 0x2a, 0x2e, 0x39, 0x46, 0x91, 0x1a, 0x65, 0x15, 0x11, 0x6d, 0x2d, 0x1e, 0x2c, 0xab,
+ 0xd4, 0x6b, 0x08, 0xc9, 0x15, 0x68, 0x9f, 0x03, 0xb8, 0x69, 0xf6, 0xd2, 0xd7, 0x1d, 0x6b, 0xe9,
+ 0x5a, 0x65, 0x89, 0xcd, 0xca, 0xc1, 0xc8, 0xc7, 0x50, 0x73, 0x70, 0x15, 0xf5, 0x35, 0xc6, 0xea,
+ 0xdc, 0xe2, 0x5a, 0x5a, 0x4d, 0xb6, 0xa0, 0x1e, 0x46, 0x8c, 0x47, 0x4c, 0x5c, 0x61, 0xc8, 0xac,
+ 0x5a, 0x69, 0x3b, 0x57, 0xf1, 0xb7, 0x0a, 0x15, 0x7f, 0xae, 0xd4, 0x6c, 0x17, 0x4a, 0xcd, 0x4d,
+ 0xa8, 0x4f, 0x22, 0x3e, 0x0b, 0xa5, 0x1f, 0x3a, 0x3f, 0x60, 0x7b, 0xe0, 0x99, 0x23, 0x68, 0xcd,
+ 0xd7, 0x51, 0xaa, 0x18, 0x4c, 0x16, 0xaf, 0x65, 0xd5, 0x95, 0x60, 0xe0, 0x91, 0x8f, 0x61, 0x55,
+ 0x2b, 0xe3, 0x90, 0xba, 0x6c, 0xcc, 0x5c, 0x5d, 0x64, 0x76, 0x94, 0xf8, 0x44, 0x4b, 0xcd, 0x7f,
+ 0xab, 0x40, 0xa7, 0x78, 0x1d, 0x79, 0x7d, 0xb5, 0xba, 0x09, 0xf5, 0xe8, 0xad, 0x7d, 0x7a, 0x25,
+ 0x68, 0x8c, 0x6c, 0x35, 0xcb, 0x88, 0xde, 0x3e, 0x97, 0x4d, 0xb9, 0x02, 0xd1, 0x5b, 0x3b, 0xc4,
+ 0x72, 0x57, 0xc5, 0x73, 0xcd, 0x6a, 0x44, 0x6f, 0x55, 0xfd, 0x1b, 0xe3, 0xde, 0x7d, 0x6b, 0xcf,
+ 0x5c, 0x47, 0xe6, 0x3e, 0x0d, 0xaa, 0x20, 0xa8, 0x13, 0xbd, 0x7d, 0x23, 0xc5, 0x45, 0xe4, 0xb4,
+ 0x80, 0xac, 0x26, 0xc8, 0xa3, 0x45, 0xe4, 0x69, 0x01, 0x59, 0x4b, 0x90, 0xcf, 0x17, 0x91, 0xea,
+ 0x1e, 0x26, 0x41, 0x1a, 0x09, 0x12, 0xef, 0x55, 0x12, 0xe4, 0x26, 0xd4, 0x45, 0xe2, 0x61, 0x5d,
+ 0x79, 0x28, 0x32, 0x0f, 0x45, 0xe6, 0x61, 0x43, 0x79, 0x28, 0xf2, 0x1e, 0x8a, 0x79, 0x0f, 0x41,
+ 0xf5, 0x21, 0x16, 0x3c, 0x14, 0xf3, 0x1e, 0x36, 0x13, 0xe4, 0xd1, 0x22, 0xb2, 0xe8, 0x61, 0x2b,
+ 0x41, 0x3e, 0x5f, 0x44, 0x16, 0x3d, 0x6c, 0x27, 0xc8, 0x82, 0x87, 0x26, 0xb4, 0xa3, 0xb7, 0xb6,
+ 0x1b, 0xb9, 0x0a, 0x1d, 0x63, 0x94, 0xd5, 0xac, 0x66, 0xf4, 0xf6, 0x20, 0x72, 0x11, 0x89, 0xae,
+ 0x9e, 0xb2, 0x30, 0x01, 0xac, 0x2a, 0x57, 0x4f, 0x59, 0xa8, 0xd5, 0x0f, 0xa1, 0x21, 0xd8, 0x94,
+ 0xc6, 0xc2, 0x99, 0x86, 0xf8, 0x3d, 0x60, 0x58, 0x99, 0xc0, 0xfc, 0x4d, 0x09, 0x3a, 0xc5, 0x5b,
+ 0xea, 0x7c, 0x5e, 0x28, 0x15, 0xf2, 0xc2, 0xf7, 0x0f, 0xa8, 0xef, 0xbf, 0x50, 0x37, 0x8f, 0xfe,
+ 0x4b, 0x68, 0x17, 0xae, 0xb5, 0xaf, 0xdf, 0x0c, 0xf7, 0xa1, 0x16, 0x0b, 0x47, 0xcc, 0x62, 0x5d,
+ 0xf3, 0xea, 0x96, 0xf9, 0x2d, 0xac, 0x2d, 0xb9, 0xde, 0xbe, 0xf5, 0xc7, 0x68, 0x46, 0x5f, 0x2e,
+ 0xd0, 0xff, 0xf3, 0x0a, 0x90, 0xc5, 0x9b, 0xef, 0xef, 0x73, 0xb1, 0xe4, 0xf3, 0xd8, 0x2e, 0x74,
+ 0xd1, 0xf0, 0x79, 0x7c, 0x82, 0x02, 0xa5, 0x3e, 0x4d, 0xd4, 0x95, 0x44, 0x7d, 0xaa, 0xd5, 0x4f,
+ 0xa1, 0xeb, 0xf3, 0xd0, 0xb5, 0xa7, 0x2c, 0x4e, 0x39, 0xd4, 0xb7, 0x5a, 0x47, 0xca, 0x8f, 0x58,
+ 0x9c, 0x10, 0x7d, 0x06, 0xeb, 0x1a, 0xa9, 0x03, 0x2e, 0x81, 0xd7, 0xd4, 0xf7, 0xa1, 0x82, 0xab,
+ 0xc0, 0xd3, 0x26, 0x8f, 0xa1, 0xe9, 0xf3, 0x31, 0x4b, 0x80, 0x86, 0x2a, 0x83, 0xa4, 0x48, 0x03,
+ 0x3e, 0x82, 0x96, 0xcf, 0x9d, 0x69, 0x8a, 0xa8, 0x23, 0xa2, 0x89, 0x32, 0x05, 0x31, 0x29, 0x6c,
+ 0xdf, 0x70, 0xa9, 0xff, 0xc1, 0x16, 0xe3, 0x1f, 0x4a, 0xb0, 0x75, 0xfd, 0x0d, 0xff, 0x87, 0xea,
+ 0x86, 0x7c, 0x0e, 0xf7, 0x59, 0x20, 0x3f, 0xd2, 0xa9, 0x7d, 0xca, 0x84, 0x9e, 0xc7, 0xc8, 0x11,
+ 0x54, 0x17, 0x08, 0x6b, 0x5a, 0xfb, 0x9c, 0x09, 0x9c, 0x48, 0xcb, 0x11, 0xd4, 0xfc, 0x95, 0x1a,
+ 0xdb, 0x35, 0x0f, 0x04, 0x1f, 0x6c, 0x6c, 0xf7, 0xa0, 0x8a, 0x4f, 0x15, 0x49, 0xad, 0x82, 0x0d,
+ 0xc9, 0x1e, 0xd0, 0x4b, 0x9b, 0x7e, 0x97, 0x54, 0x2b, 0xb5, 0x80, 0x5e, 0xf6, 0xbf, 0xf3, 0xcc,
+ 0x33, 0x78, 0x74, 0xf3, 0xf3, 0xc2, 0x07, 0x5b, 0x9b, 0x7f, 0x2c, 0xa9, 0x18, 0xb8, 0xe6, 0xc1,
+ 0xe1, 0xff, 0x77, 0x71, 0x7e, 0x51, 0x02, 0xf3, 0xdd, 0x8f, 0x17, 0xff, 0xb7, 0x8b, 0x64, 0x7e,
+ 0x87, 0x6b, 0x71, 0xc3, 0x23, 0xc7, 0xad, 0xfb, 0x7f, 0x0c, 0x4d, 0x7c, 0x89, 0x88, 0xa8, 0x13,
+ 0xeb, 0xab, 0x27, 0xc3, 0x02, 0x29, 0xb2, 0x50, 0x62, 0x9e, 0xc3, 0x47, 0xef, 0x7c, 0x91, 0xf8,
+ 0x60, 0x11, 0xc0, 0x60, 0xe3, 0xba, 0xb7, 0x89, 0xef, 0x93, 0x2f, 0x23, 0x8f, 0x25, 0x47, 0xa2,
+ 0x72, 0xac, 0x11, 0x79, 0x4c, 0x1d, 0x89, 0xe6, 0x6b, 0x78, 0x78, 0xd3, 0x63, 0xce, 0x6d, 0xbb,
+ 0x33, 0xff, 0xab, 0x04, 0xcd, 0x97, 0xb2, 0xee, 0x3b, 0xa2, 0x58, 0xeb, 0x7d, 0x04, 0x2d, 0x96,
+ 0xdc, 0x07, 0x27, 0x24, 0x6d, 0x7c, 0x50, 0x57, 0xb2, 0x81, 0x47, 0x06, 0xd0, 0xc9, 0x20, 0x58,
+ 0x68, 0xab, 0x4b, 0x0d, 0x33, 0xad, 0x5b, 0x73, 0x84, 0xbb, 0xe9, 0xed, 0x32, 0xde, 0x5e, 0xb4,
+ 0x59, 0xbe, 0x49, 0x1e, 0x41, 0x73, 0x42, 0xa7, 0x76, 0x52, 0x4f, 0x97, 0xb1, 0x33, 0x59, 0x4f,
+ 0x1f, 0xab, 0x7a, 0x3a, 0x5f, 0xf1, 0x56, 0x50, 0x99, 0xb6, 0xcd, 0x3f, 0x86, 0x76, 0x81, 0x9b,
+ 0x18, 0x50, 0x3e, 0x1e, 0xbe, 0xee, 0xde, 0x21, 0x5d, 0x68, 0xf5, 0x8f, 0x87, 0xaf, 0xed, 0xcf,
+ 0x5e, 0xda, 0xc7, 0xfb, 0xa3, 0xc3, 0x6e, 0x89, 0xdc, 0x85, 0xb6, 0x92, 0x7c, 0xaa, 0x45, 0x2b,
+ 0xe6, 0xdf, 0xae, 0x40, 0x15, 0xc7, 0x59, 0xa8, 0x84, 0x95, 0xbb, 0x49, 0x25, 0x4c, 0x7e, 0x0a,
+ 0x86, 0xcb, 0xa7, 0x53, 0x47, 0xbf, 0x2c, 0x2f, 0xf8, 0x98, 0xf7, 0x34, 0x3e, 0x50, 0x48, 0x2b,
+ 0x31, 0x21, 0xbb, 0x60, 0x4c, 0x95, 0x4a, 0x5f, 0x49, 0xdd, 0x5b, 0x36, 0x43, 0x56, 0x02, 0xca,
+ 0x7d, 0x08, 0x54, 0x6e, 0xfc, 0x10, 0x30, 0xbf, 0x82, 0xb5, 0x25, 0x1d, 0x93, 0x55, 0x68, 0xee,
+ 0xf7, 0x7a, 0xf6, 0x51, 0xff, 0xe8, 0x79, 0xdf, 0x3a, 0xe9, 0xde, 0x21, 0x04, 0x3a, 0x56, 0xff,
+ 0x68, 0xf8, 0x75, 0x3f, 0x95, 0x95, 0x24, 0xe8, 0xa4, 0x3f, 0x4a, 0x05, 0x2b, 0xa6, 0x01, 0xd5,
+ 0xfe, 0x34, 0x14, 0x57, 0xcf, 0xfe, 0xa9, 0x03, 0xc6, 0x50, 0x75, 0x48, 0x7a, 0x00, 0x3d, 0x16,
+ 0x3b, 0xa7, 0x3e, 0x1d, 0xfa, 0x82, 0x74, 0xd2, 0x81, 0x20, 0x72, 0x6b, 0xae, 0x6d, 0xde, 0xff,
+ 0xc5, 0xbf, 0xff, 0xc7, 0xaf, 0x56, 0xba, 0x66, 0x73, 0xef, 0xe2, 0xb3, 0x3d, 0x6d, 0xf7, 0x45,
+ 0xe9, 0x13, 0xf2, 0x02, 0x9a, 0x16, 0xa5, 0xc1, 0xfb, 0xd2, 0x3c, 0x40, 0x9a, 0xbb, 0x66, 0x4b,
+ 0xd2, 0x24, 0x86, 0x92, 0xa7, 0x0f, 0x4d, 0x9d, 0x3c, 0xe8, 0x30, 0x98, 0x91, 0x56, 0xfe, 0x45,
+ 0x70, 0x81, 0x65, 0x03, 0x59, 0x88, 0xd9, 0x96, 0x2c, 0x7d, 0xd5, 0x79, 0x30, 0x93, 0x34, 0x87,
+ 0xd0, 0xee, 0x51, 0xe7, 0xbd, 0x89, 0x36, 0x91, 0x68, 0xcd, 0xec, 0xe4, 0xbc, 0xd2, 0x4c, 0x07,
+ 0xd0, 0xe8, 0x51, 0x9f, 0xde, 0x7a, 0x38, 0xa9, 0x91, 0x24, 0x19, 0x00, 0xe8, 0x07, 0x89, 0xe1,
+ 0x4c, 0x90, 0x6e, 0xe1, 0x3f, 0x44, 0x8e, 0xe2, 0xc9, 0xcd, 0xe3, 0xc9, 0x2c, 0x25, 0xd5, 0x10,
+ 0x5a, 0xe9, 0x6b, 0x84, 0x24, 0x23, 0x85, 0x97, 0x5f, 0x14, 0x2f, 0xd0, 0x6d, 0x23, 0xdd, 0xba,
+ 0xd9, 0x45, 0xba, 0x9c, 0xb5, 0x24, 0xfc, 0x0b, 0x58, 0xcd, 0xbf, 0x2b, 0x48, 0xce, 0xec, 0xd9,
+ 0x25, 0xaf, 0x59, 0xa0, 0x7d, 0x84, 0xb4, 0x1b, 0xe6, 0x9a, 0xa4, 0x9d, 0xe3, 0x90, 0xcc, 0x5f,
+ 0x82, 0x21, 0x8b, 0xf6, 0x7d, 0xcf, 0x23, 0xed, 0xc2, 0x3f, 0x9b, 0xdc, 0x1c, 0x55, 0xda, 0x46,
+ 0x45, 0x15, 0xc8, 0x96, 0x85, 0x57, 0x31, 0xef, 0x22, 0x29, 0x4c, 0x5a, 0x66, 0x26, 0x79, 0x4e,
+ 0xa0, 0x93, 0x3e, 0x6a, 0x1d, 0x9c, 0x51, 0xf7, 0x7c, 0x21, 0x40, 0xb3, 0x69, 0x4c, 0x81, 0xe6,
+ 0x0f, 0x90, 0xf0, 0x81, 0x49, 0x24, 0x61, 0xd1, 0x5e, 0x92, 0x1e, 0x41, 0x53, 0xc5, 0xdc, 0x31,
+ 0x0f, 0x06, 0xe3, 0xdc, 0x42, 0xa4, 0xb9, 0x6a, 0x61, 0x88, 0x5b, 0xc8, 0x78, 0xcf, 0x5c, 0xcd,
+ 0x02, 0x16, 0x8d, 0xf5, 0xc2, 0xea, 0xc8, 0x7b, 0x7f, 0xbe, 0xc2, 0xc2, 0xe6, 0xad, 0x25, 0xa1,
+ 0x05, 0xed, 0x97, 0x54, 0xe4, 0xde, 0x7d, 0xe6, 0x7d, 0x5e, 0x5b, 0x72, 0x35, 0x6d, 0x3e, 0x44,
+ 0xca, 0xfb, 0xe6, 0x5d, 0x49, 0x59, 0xb0, 0x97, 0x9c, 0x7f, 0x0a, 0x35, 0x8b, 0x9e, 0x72, 0xfe,
+ 0xee, 0x1d, 0xbe, 0x8e, 0x3c, 0xab, 0x26, 0xa8, 0x1d, 0x2e, 0x6d, 0x24, 0xc1, 0x1b, 0xb8, 0x7b,
+ 0xc0, 0x7d, 0x9f, 0xba, 0xf9, 0xcb, 0x81, 0x77, 0x71, 0xed, 0x20, 0xd7, 0x96, 0xb9, 0x2e, 0xb9,
+ 0x16, 0xcc, 0x25, 0x6d, 0x04, 0x0f, 0x0e, 0x22, 0xea, 0x08, 0x3a, 0x8a, 0x9c, 0xf1, 0x98, 0xb9,
+ 0x27, 0xee, 0x19, 0xf5, 0x66, 0xbe, 0x4c, 0xb5, 0x8f, 0x77, 0x0b, 0xff, 0xe4, 0xb6, 0x00, 0x58,
+ 0xe8, 0xed, 0x87, 0xd8, 0xdb, 0x8e, 0xb9, 0x8d, 0xbd, 0x2d, 0x67, 0xd5, 0x7d, 0xaa, 0x08, 0xfb,
+ 0xd0, 0x7d, 0x5e, 0xc3, 0x2a, 0xfb, 0x1c, 0xc3, 0x5a, 0x61, 0x44, 0x7f, 0x3e, 0xa3, 0x33, 0x1a,
+ 0x93, 0xed, 0xa5, 0xfd, 0x29, 0xe5, 0x42, 0x5f, 0x26, 0xf6, 0xf5, 0xd0, 0x7c, 0xb0, 0xe0, 0x9f,
+ 0x32, 0xd0, 0xfd, 0x14, 0x46, 0xf1, 0xbf, 0xee, 0x67, 0x09, 0x9b, 0xec, 0xe7, 0x8f, 0xa0, 0xab,
+ 0xb6, 0x41, 0xae, 0xae, 0xb9, 0x3e, 0x4c, 0x33, 0x90, 0x79, 0xe7, 0xd3, 0x12, 0xf9, 0x16, 0xd6,
+ 0x8f, 0x69, 0x34, 0xe6, 0xd1, 0x14, 0x8f, 0xc8, 0x61, 0x48, 0xa3, 0x79, 0x06, 0x54, 0x2c, 0x8c,
+ 0xec, 0x09, 0x8e, 0xec, 0x91, 0xb9, 0x29, 0x47, 0xb6, 0x94, 0xe2, 0x8b, 0xd2, 0x27, 0xcf, 0xbf,
+ 0x85, 0x6d, 0x1e, 0x4d, 0xd0, 0xd4, 0xe5, 0x91, 0xb7, 0xab, 0xfe, 0x73, 0x32, 0xa1, 0x7a, 0xde,
+ 0xfe, 0x1a, 0xdb, 0xf2, 0x18, 0x1d, 0xbe, 0x1a, 0xfd, 0x6c, 0x6f, 0xc2, 0xc4, 0xd9, 0xec, 0x74,
+ 0xd7, 0xe5, 0xd3, 0xbd, 0xc4, 0x64, 0x4f, 0x99, 0xfc, 0x48, 0xff, 0xb3, 0xe5, 0xc5, 0xe7, 0x7b,
+ 0x13, 0x9e, 0xfc, 0xdb, 0xe6, 0x71, 0xe9, 0xb4, 0x86, 0xf2, 0xcf, 0xff, 0x27, 0x00, 0x00, 0xff,
+ 0xff, 0xf2, 0x03, 0xdf, 0xca, 0xd8, 0x29, 0x00, 0x00,
}
// Reference imports to suppress errors if they are not otherwise used.
@@ -3420,6 +3684,7 @@
CreateTrafficQueues(ctx context.Context, in *tech_profile.TrafficQueues, opts ...grpc.CallOption) (*Empty, error)
RemoveTrafficQueues(ctx context.Context, in *tech_profile.TrafficQueues, opts ...grpc.CallOption) (*Empty, error)
EnableIndication(ctx context.Context, in *Empty, opts ...grpc.CallOption) (Openolt_EnableIndicationClient, error)
+ PerformGroupOperation(ctx context.Context, in *Group, opts ...grpc.CallOption) (*Empty, error)
}
type openoltClient struct {
@@ -3642,6 +3907,15 @@
return m, nil
}
+func (c *openoltClient) PerformGroupOperation(ctx context.Context, in *Group, opts ...grpc.CallOption) (*Empty, error) {
+ out := new(Empty)
+ err := c.cc.Invoke(ctx, "/openolt.Openolt/PerformGroupOperation", in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
// OpenoltServer is the server API for Openolt service.
type OpenoltServer interface {
DisableOlt(context.Context, *Empty) (*Empty, error)
@@ -3665,6 +3939,7 @@
CreateTrafficQueues(context.Context, *tech_profile.TrafficQueues) (*Empty, error)
RemoveTrafficQueues(context.Context, *tech_profile.TrafficQueues) (*Empty, error)
EnableIndication(*Empty, Openolt_EnableIndicationServer) error
+ PerformGroupOperation(context.Context, *Group) (*Empty, error)
}
func RegisterOpenoltServer(s *grpc.Server, srv OpenoltServer) {
@@ -4052,6 +4327,24 @@
return x.ServerStream.SendMsg(m)
}
+func _Openolt_PerformGroupOperation_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(Group)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(OpenoltServer).PerformGroupOperation(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: "/openolt.Openolt/PerformGroupOperation",
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(OpenoltServer).PerformGroupOperation(ctx, req.(*Group))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
var _Openolt_serviceDesc = grpc.ServiceDesc{
ServiceName: "openolt.Openolt",
HandlerType: (*OpenoltServer)(nil),
@@ -4136,6 +4429,10 @@
MethodName: "RemoveTrafficQueues",
Handler: _Openolt_RemoveTrafficQueues_Handler,
},
+ {
+ MethodName: "PerformGroupOperation",
+ Handler: _Openolt_PerformGroupOperation_Handler,
+ },
},
Streams: []grpc.StreamDesc{
{
diff --git a/vendor/github.com/opencord/voltha-protos/v2/go/tech_profile/tech_profile.pb.go b/vendor/github.com/opencord/voltha-protos/v3/go/tech_profile/tech_profile.pb.go
similarity index 81%
rename from vendor/github.com/opencord/voltha-protos/v2/go/tech_profile/tech_profile.pb.go
rename to vendor/github.com/opencord/voltha-protos/v3/go/tech_profile/tech_profile.pb.go
index 5a78e1e..f74a616 100644
--- a/vendor/github.com/opencord/voltha-protos/v2/go/tech_profile/tech_profile.pb.go
+++ b/vendor/github.com/opencord/voltha-protos/v3/go/tech_profile/tech_profile.pb.go
@@ -898,75 +898,75 @@
func init() { proto.RegisterFile("voltha_protos/tech_profile.proto", fileDescriptor_d019a68bffe14cae) }
var fileDescriptor_d019a68bffe14cae = []byte{
- // 1106 bytes of a gzipped FileDescriptorProto
+ // 1118 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x56, 0xdd, 0x6e, 0x1b, 0x45,
- 0x14, 0xf6, 0xda, 0x8d, 0x7f, 0x4e, 0x6c, 0x77, 0x33, 0x25, 0xc4, 0xa4, 0x0d, 0x04, 0x97, 0xaa,
- 0x91, 0x11, 0x31, 0x0a, 0x25, 0x37, 0x45, 0xaa, 0xec, 0x26, 0x52, 0x2c, 0xd1, 0x34, 0xdd, 0x04,
- 0x59, 0xe2, 0x82, 0xd5, 0x78, 0x67, 0x6c, 0x8f, 0xb4, 0x9e, 0x59, 0x66, 0xc7, 0x75, 0xd2, 0x2b,
- 0x6e, 0x78, 0x0b, 0x6e, 0x79, 0x01, 0xb8, 0x41, 0x3c, 0x11, 0x2f, 0xc0, 0x3d, 0x9a, 0xd9, 0x5d,
- 0xdb, 0xbb, 0x36, 0x29, 0x54, 0x70, 0x37, 0xe7, 0xdb, 0x6f, 0xce, 0x9c, 0x6f, 0xce, 0xcf, 0x0e,
- 0xec, 0xbf, 0x16, 0xbe, 0x1a, 0x63, 0x37, 0x90, 0x42, 0x89, 0xb0, 0xad, 0xa8, 0x37, 0xd6, 0xeb,
- 0x21, 0xf3, 0xe9, 0xa1, 0xc1, 0x50, 0x75, 0x19, 0xdb, 0x7d, 0x30, 0x12, 0x62, 0xe4, 0xd3, 0x36,
- 0x0e, 0x58, 0x1b, 0x73, 0x2e, 0x14, 0x56, 0x4c, 0xf0, 0x30, 0xe2, 0x36, 0x7f, 0xc8, 0xc3, 0xdd,
- 0x4b, 0x6f, 0x4c, 0xc9, 0xd4, 0xa7, 0xf2, 0xb9, 0xe0, 0x43, 0x36, 0x42, 0x5f, 0x42, 0x85, 0x30,
- 0x49, 0x3d, 0xcd, 0x6b, 0x58, 0xfb, 0xd6, 0x41, 0xfd, 0x68, 0xe7, 0x30, 0x75, 0xce, 0x49, 0xf2,
- 0xd9, 0x59, 0x30, 0xd1, 0x33, 0xa8, 0x61, 0x42, 0x98, 0x5e, 0x63, 0xdf, 0x1d, 0xcc, 0x1a, 0x79,
- 0xb3, 0x75, 0x37, 0xbd, 0xb5, 0x33, 0xa7, 0x74, 0xfb, 0x4e, 0x75, 0xb1, 0xa1, 0x3b, 0x43, 0xbb,
- 0x50, 0x0e, 0x24, 0x13, 0x92, 0xa9, 0x9b, 0x46, 0x61, 0xdf, 0x3a, 0x28, 0x39, 0x73, 0x1b, 0xbd,
- 0x0f, 0xc5, 0x19, 0x65, 0xa3, 0xb1, 0x6a, 0xdc, 0x31, 0x5f, 0x62, 0x0b, 0x75, 0xa0, 0x1a, 0xea,
- 0xf0, 0xdd, 0x40, 0xf8, 0xcc, 0xbb, 0x69, 0x6c, 0x98, 0x33, 0x3f, 0x4c, 0x9f, 0x19, 0x0b, 0x64,
- 0x7c, 0x74, 0x61, 0x58, 0xce, 0xa6, 0xd9, 0x13, 0x19, 0xcd, 0xdf, 0x2c, 0x40, 0x57, 0x12, 0x0f,
- 0x87, 0xcc, 0xbb, 0x1c, 0xe3, 0x80, 0xf1, 0x51, 0x8f, 0x0f, 0x05, 0xb2, 0xa1, 0xe0, 0x31, 0x69,
- 0xf4, 0x97, 0x1c, 0xbd, 0x34, 0xc8, 0x20, 0x34, 0xb2, 0x34, 0x32, 0x08, 0x35, 0x12, 0x30, 0x19,
- 0x07, 0xab, 0x97, 0x06, 0x19, 0x84, 0x71, 0x90, 0x7a, 0xa9, 0x91, 0x11, 0x93, 0x26, 0xb0, 0x92,
- 0xa3, 0x97, 0xe8, 0x0c, 0x00, 0x13, 0xe2, 0x0e, 0x66, 0x2e, 0xe3, 0xa4, 0x51, 0x34, 0x11, 0xb7,
- 0xd2, 0x11, 0xf7, 0xf8, 0x90, 0x4a, 0x49, 0x49, 0x72, 0x5b, 0xdd, 0x7e, 0x8f, 0x13, 0xe6, 0x99,
- 0xd4, 0x39, 0x65, 0x4c, 0x48, 0x77, 0xd6, 0xe3, 0xa4, 0xf9, 0xa7, 0x05, 0x76, 0x12, 0x7a, 0x92,
- 0xc4, 0x77, 0x4d, 0xdf, 0x07, 0x50, 0xc6, 0xbe, 0x2f, 0x3c, 0x97, 0x91, 0x58, 0x62, 0xc9, 0xd8,
- 0x3d, 0x82, 0x9e, 0x42, 0x25, 0x4c, 0xdc, 0x1b, 0xb1, 0x9b, 0x47, 0x7b, 0x6b, 0x6f, 0x38, 0x29,
- 0x21, 0x67, 0xc1, 0x47, 0x0e, 0xbc, 0xa7, 0xa2, 0x10, 0xdd, 0x30, 0xba, 0x5e, 0x97, 0xf1, 0xa1,
- 0x30, 0x57, 0xb4, 0x79, 0xb4, 0x9f, 0xf6, 0xb3, 0x9a, 0x07, 0x07, 0xa9, 0x15, 0xac, 0xf9, 0xbb,
- 0x05, 0x5b, 0x59, 0xdd, 0x21, 0xda, 0x81, 0x12, 0xe3, 0x6a, 0xa8, 0x05, 0x44, 0x59, 0x2b, 0x6a,
- 0xb3, 0x47, 0xd0, 0x36, 0x14, 0x05, 0x9f, 0x2e, 0x84, 0x6d, 0x08, 0x3e, 0x8d, 0xe0, 0x29, 0x67,
- 0x1a, 0x8e, 0xd2, 0xb5, 0x31, 0xe5, 0xac, 0x47, 0xb4, 0x9b, 0x40, 0x48, 0xe5, 0x72, 0x11, 0x27,
- 0xad, 0xa8, 0xcd, 0x73, 0x81, 0x4e, 0xa1, 0x3e, 0x57, 0xa2, 0x4f, 0x0d, 0x1b, 0x85, 0xfd, 0xc2,
- 0xc1, 0x66, 0xb6, 0xda, 0xb2, 0x81, 0x39, 0x35, 0xb5, 0x84, 0x84, 0xcd, 0x63, 0xd8, 0xbe, 0xc2,
- 0xcc, 0x3f, 0x91, 0x22, 0x38, 0x61, 0xa1, 0x87, 0x25, 0x89, 0xfb, 0x6e, 0x0f, 0xe0, 0xfb, 0x29,
- 0x9d, 0x52, 0x37, 0x64, 0x6f, 0x68, 0x2c, 0xa1, 0x62, 0x90, 0x4b, 0xf6, 0x86, 0x36, 0x7f, 0xb4,
- 0xc0, 0x76, 0x28, 0x49, 0xef, 0x79, 0x08, 0xb5, 0x09, 0xe3, 0xae, 0x1a, 0x4b, 0x1a, 0x8e, 0x85,
- 0x9f, 0x28, 0xaf, 0x4e, 0x18, 0xbf, 0x4a, 0x30, 0x43, 0xc2, 0xd7, 0x4b, 0xa4, 0x7c, 0x4c, 0xc2,
- 0xd7, 0x0b, 0xd2, 0x63, 0xb8, 0xab, 0x49, 0x81, 0x14, 0x03, 0x3c, 0x60, 0xfe, 0xa2, 0x09, 0xeb,
- 0x13, 0x7c, 0x7d, 0xb1, 0x40, 0x9b, 0xbf, 0x5a, 0xb0, 0xd5, 0x5f, 0x09, 0xe4, 0x09, 0x6c, 0x8c,
- 0x24, 0xa5, 0x51, 0xc5, 0xad, 0xdc, 0x49, 0x96, 0xee, 0x44, 0x64, 0x74, 0x0c, 0xc5, 0x1b, 0xea,
- 0xfb, 0x22, 0x1a, 0x16, 0x6f, 0xdf, 0x16, 0xb3, 0xd1, 0xe7, 0x50, 0x90, 0x94, 0xc4, 0xb5, 0xf8,
- 0xb6, 0x4d, 0x9a, 0xda, 0xfc, 0x23, 0x0f, 0xb5, 0x74, 0xc4, 0x5d, 0xa8, 0x93, 0x08, 0x48, 0x86,
- 0x47, 0xd4, 0x2c, 0xf7, 0xb3, 0xcd, 0x62, 0x38, 0xf1, 0xe4, 0xa8, 0x91, 0x65, 0x13, 0x7d, 0x07,
- 0x0d, 0x85, 0x99, 0xef, 0x12, 0x29, 0x02, 0x37, 0xf1, 0xe6, 0x19, 0xff, 0xb1, 0xa2, 0x87, 0x99,
- 0xe2, 0x58, 0x97, 0xf9, 0xb3, 0x9c, 0xb3, 0xad, 0xd6, 0x96, 0xc4, 0x39, 0x20, 0x49, 0x49, 0xd6,
- 0xf3, 0x3f, 0x92, 0x7d, 0x96, 0x73, 0x6c, 0x99, 0xcd, 0xd2, 0x2b, 0xb8, 0x37, 0x5b, 0xe3, 0x30,
- 0xea, 0xc5, 0x8f, 0xd2, 0x0e, 0xfb, 0x6b, 0x3c, 0x6e, 0xcd, 0xb2, 0x2e, 0xbb, 0xf6, 0xe2, 0x1a,
- 0x23, 0x6f, 0xcd, 0x9f, 0x0b, 0x50, 0x8d, 0x9b, 0xe0, 0x95, 0xae, 0xde, 0x77, 0x9d, 0x48, 0x7b,
- 0x00, 0x23, 0x3a, 0x31, 0xbd, 0x38, 0x6f, 0xdd, 0x4a, 0x8c, 0xf4, 0x88, 0x1e, 0x58, 0xc1, 0x80,
- 0x29, 0x77, 0x82, 0x03, 0x73, 0x23, 0x15, 0xa7, 0xa4, 0xed, 0x17, 0x38, 0x40, 0x8f, 0xa0, 0x8e,
- 0x69, 0xe8, 0x52, 0xee, 0xc9, 0x9b, 0xc0, 0x9c, 0xaa, 0x15, 0x96, 0x9d, 0x1a, 0xa6, 0xe1, 0xe9,
- 0x1c, 0xfc, 0x0f, 0x7e, 0x1e, 0xa9, 0x7f, 0x56, 0xf1, 0x6f, 0xff, 0x59, 0xa5, 0xd4, 0x3f, 0x6b,
- 0xb5, 0xf0, 0xca, 0xff, 0xba, 0xf0, 0xba, 0xd9, 0x5b, 0x6f, 0x54, 0x4c, 0x0e, 0xd7, 0xfb, 0x88,
- 0x1b, 0x21, 0xf1, 0x11, 0x99, 0xcd, 0x5f, 0x2c, 0xa8, 0x2d, 0xe7, 0xe9, 0xff, 0x9f, 0xa0, 0x9d,
- 0xc5, 0x04, 0x35, 0x73, 0x2d, 0x6c, 0x14, 0xcd, 0x04, 0xdd, 0x5d, 0x3b, 0x41, 0x4d, 0x50, 0xf3,
- 0xe9, 0x19, 0x85, 0xd8, 0xfa, 0x0a, 0x2a, 0xf3, 0x62, 0x41, 0x55, 0x28, 0x7f, 0x73, 0x71, 0x79,
- 0xe5, 0x9c, 0x76, 0x5e, 0xd8, 0x39, 0x54, 0x07, 0x38, 0x79, 0xd9, 0x3f, 0x8f, 0x6d, 0x0b, 0x6d,
- 0x41, 0xad, 0xdb, 0x3b, 0xe9, 0x39, 0xa7, 0xcf, 0xaf, 0x7a, 0x2f, 0xcf, 0x3b, 0x5f, 0xdb, 0xf9,
- 0xd6, 0x53, 0xb0, 0xb3, 0xf9, 0x44, 0x25, 0x28, 0xf4, 0x1d, 0xc7, 0xce, 0x21, 0x04, 0xf5, 0x4b,
- 0x25, 0x99, 0xa7, 0x2e, 0xe2, 0x0c, 0xda, 0x16, 0x02, 0x28, 0x9e, 0xdd, 0x0c, 0x24, 0x23, 0x76,
- 0xbe, 0xc5, 0xa1, 0xba, 0xfc, 0x7a, 0x41, 0xdb, 0xb0, 0xb5, 0x6c, 0xbb, 0xe7, 0x82, 0x53, 0x3b,
- 0x87, 0xee, 0xc1, 0xdd, 0x34, 0xdc, 0xb1, 0x2d, 0x74, 0x1f, 0x76, 0x52, 0x60, 0x97, 0x86, 0xea,
- 0x74, 0x38, 0x14, 0x52, 0xd9, 0xf9, 0x15, 0x47, 0x9d, 0xa9, 0x12, 0x76, 0xa1, 0xf5, 0x6c, 0x3e,
- 0xb1, 0xe2, 0x48, 0xab, 0x50, 0x4e, 0xe6, 0x87, 0x9d, 0x43, 0x35, 0xa8, 0xf4, 0xe7, 0xa6, 0xa5,
- 0x65, 0x38, 0x94, 0xd8, 0x79, 0x54, 0x86, 0x3b, 0xba, 0x75, 0xed, 0x42, 0xeb, 0x27, 0x0b, 0x1e,
- 0xdc, 0xf6, 0x92, 0x40, 0x8f, 0xe0, 0xe3, 0xdb, 0xbe, 0x27, 0x8a, 0x0e, 0xe0, 0x93, 0x5b, 0x69,
- 0x9d, 0x30, 0x9c, 0x4a, 0x4a, 0x6c, 0x0b, 0x7d, 0x0a, 0x8f, 0x6f, 0x65, 0x2e, 0xcb, 0xee, 0x1e,
- 0x7f, 0xfb, 0x64, 0xc4, 0xd4, 0x78, 0x3a, 0x38, 0xf4, 0xc4, 0xa4, 0x2d, 0x02, 0xca, 0x3d, 0x21,
- 0x49, 0x3b, 0x7a, 0xdf, 0x7e, 0x16, 0xbf, 0x6f, 0x5f, 0x1f, 0xb5, 0x47, 0x22, 0xf5, 0xca, 0x1d,
- 0x14, 0xcd, 0xa7, 0x2f, 0xfe, 0x0a, 0x00, 0x00, 0xff, 0xff, 0x92, 0xf8, 0xb6, 0xb7, 0x0a, 0x0b,
- 0x00, 0x00,
+ 0x14, 0xf6, 0xda, 0x8d, 0x7f, 0x4e, 0x6c, 0x77, 0x33, 0x25, 0xd4, 0xa4, 0x2d, 0x18, 0x97, 0xaa,
+ 0x91, 0x11, 0x31, 0x4a, 0x4b, 0x6f, 0x8a, 0x54, 0xd9, 0x4d, 0xa4, 0x58, 0xa2, 0x69, 0xba, 0x09,
+ 0x32, 0xe2, 0x82, 0xd5, 0x78, 0x67, 0xbc, 0x1e, 0x69, 0x3d, 0xb3, 0xcc, 0x8e, 0xeb, 0xa4, 0x57,
+ 0xdc, 0xf0, 0x16, 0xdc, 0xf2, 0x02, 0x70, 0x83, 0x78, 0x22, 0x5e, 0x80, 0x7b, 0x34, 0xb3, 0xbb,
+ 0xb6, 0xd7, 0x36, 0x29, 0x54, 0x70, 0x37, 0xe7, 0xdb, 0x6f, 0xce, 0x9c, 0x6f, 0xce, 0xcf, 0x0e,
+ 0x34, 0x5f, 0x8b, 0x40, 0x8d, 0xb1, 0x1b, 0x4a, 0xa1, 0x44, 0xd4, 0x51, 0xd4, 0x1b, 0xeb, 0xf5,
+ 0x88, 0x05, 0xf4, 0xc0, 0x60, 0xa8, 0xba, 0x8c, 0xed, 0xdd, 0xf5, 0x85, 0xf0, 0x03, 0xda, 0xc1,
+ 0x21, 0xeb, 0x60, 0xce, 0x85, 0xc2, 0x8a, 0x09, 0x1e, 0xc5, 0xdc, 0xd6, 0x0f, 0x79, 0xb8, 0x79,
+ 0xee, 0x8d, 0x29, 0x99, 0x06, 0x54, 0x3e, 0x17, 0x7c, 0xc4, 0x7c, 0xf4, 0x05, 0x54, 0x08, 0x93,
+ 0xd4, 0xd3, 0xbc, 0x86, 0xd5, 0xb4, 0xf6, 0xeb, 0x87, 0xb7, 0x0f, 0x32, 0xe7, 0x1c, 0xa5, 0x9f,
+ 0x9d, 0x05, 0x13, 0x3d, 0x83, 0x1a, 0x26, 0x84, 0xe9, 0x35, 0x0e, 0xdc, 0xe1, 0xac, 0x91, 0x37,
+ 0x5b, 0xf7, 0xb2, 0x5b, 0xbb, 0x73, 0x4a, 0x6f, 0xe0, 0x54, 0x17, 0x1b, 0x7a, 0x33, 0xb4, 0x07,
+ 0xe5, 0x50, 0x32, 0x21, 0x99, 0xba, 0x6a, 0x14, 0x9a, 0xd6, 0x7e, 0xc9, 0x99, 0xdb, 0xe8, 0x7d,
+ 0x28, 0xce, 0x28, 0xf3, 0xc7, 0xaa, 0x71, 0xc3, 0x7c, 0x49, 0x2c, 0xd4, 0x85, 0x6a, 0xa4, 0xc3,
+ 0x77, 0x43, 0x11, 0x30, 0xef, 0xaa, 0xb1, 0x65, 0xce, 0xfc, 0x30, 0x7b, 0x66, 0x22, 0x90, 0x71,
+ 0xff, 0xcc, 0xb0, 0x9c, 0x6d, 0xb3, 0x27, 0x36, 0x5a, 0xbf, 0x59, 0x80, 0x2e, 0x24, 0x1e, 0x8d,
+ 0x98, 0x77, 0x3e, 0xc6, 0x21, 0xe3, 0x7e, 0x9f, 0x8f, 0x04, 0xb2, 0xa1, 0xe0, 0x31, 0x69, 0xf4,
+ 0x97, 0x1c, 0xbd, 0x34, 0xc8, 0x30, 0x32, 0xb2, 0x34, 0x32, 0x8c, 0x34, 0x12, 0x32, 0x99, 0x04,
+ 0xab, 0x97, 0x06, 0x19, 0x46, 0x49, 0x90, 0x7a, 0xa9, 0x11, 0x9f, 0x49, 0x13, 0x58, 0xc9, 0xd1,
+ 0x4b, 0x74, 0x02, 0x80, 0x09, 0x71, 0x87, 0x33, 0x97, 0x71, 0xd2, 0x28, 0x9a, 0x88, 0xdb, 0xd9,
+ 0x88, 0xfb, 0x7c, 0x44, 0xa5, 0xa4, 0x24, 0xbd, 0xad, 0xde, 0xa0, 0xcf, 0x09, 0xf3, 0x4c, 0xea,
+ 0x9c, 0x32, 0x26, 0xa4, 0x37, 0xeb, 0x73, 0xd2, 0xfa, 0xd3, 0x02, 0x3b, 0x0d, 0x3d, 0x4d, 0xe2,
+ 0xbb, 0xa6, 0xef, 0x03, 0x28, 0xe3, 0x20, 0x10, 0x9e, 0xcb, 0x48, 0x22, 0xb1, 0x64, 0xec, 0x3e,
+ 0x41, 0x4f, 0xa1, 0x12, 0xa5, 0xee, 0x8d, 0xd8, 0xed, 0xc3, 0x7b, 0x1b, 0x6f, 0x38, 0x2d, 0x21,
+ 0x67, 0xc1, 0x47, 0x0e, 0xbc, 0xa7, 0xe2, 0x10, 0xdd, 0x28, 0xbe, 0x5e, 0x97, 0xf1, 0x91, 0x30,
+ 0x57, 0xb4, 0x7d, 0xd8, 0xcc, 0xfa, 0x59, 0xcf, 0x83, 0x83, 0xd4, 0x1a, 0xd6, 0xfa, 0xdd, 0x82,
+ 0x9d, 0x55, 0xdd, 0x11, 0xba, 0x0d, 0x25, 0xc6, 0xd5, 0x48, 0x0b, 0x88, 0xb3, 0x56, 0xd4, 0x66,
+ 0x9f, 0xa0, 0x5d, 0x28, 0x0a, 0x3e, 0x5d, 0x08, 0xdb, 0x12, 0x7c, 0x1a, 0xc3, 0x53, 0xce, 0x34,
+ 0x1c, 0xa7, 0x6b, 0x6b, 0xca, 0x59, 0x9f, 0x68, 0x37, 0xa1, 0x90, 0xca, 0xe5, 0x22, 0x49, 0x5a,
+ 0x51, 0x9b, 0xa7, 0x02, 0x1d, 0x43, 0x7d, 0xae, 0x44, 0x9f, 0x1a, 0x35, 0x0a, 0xcd, 0xc2, 0xfe,
+ 0xf6, 0x6a, 0xb5, 0xad, 0x06, 0xe6, 0xd4, 0xd4, 0x12, 0x12, 0xb5, 0x9e, 0xc0, 0xee, 0x05, 0x66,
+ 0xc1, 0x91, 0x14, 0xe1, 0x11, 0x8b, 0x3c, 0x2c, 0x49, 0xd2, 0x77, 0xf7, 0x00, 0xbe, 0x9f, 0xd2,
+ 0x29, 0x75, 0x23, 0xf6, 0x86, 0x26, 0x12, 0x2a, 0x06, 0x39, 0x67, 0x6f, 0x68, 0xeb, 0x47, 0x0b,
+ 0x6c, 0x87, 0x92, 0xec, 0x9e, 0xfb, 0x50, 0x9b, 0x30, 0xee, 0xaa, 0xb1, 0xa4, 0xd1, 0x58, 0x04,
+ 0xa9, 0xf2, 0xea, 0x84, 0xf1, 0x8b, 0x14, 0x33, 0x24, 0x7c, 0xb9, 0x44, 0xca, 0x27, 0x24, 0x7c,
+ 0xb9, 0x20, 0x3d, 0x84, 0x9b, 0x9a, 0x14, 0x4a, 0x31, 0xc4, 0x43, 0x16, 0x2c, 0x9a, 0xb0, 0x3e,
+ 0xc1, 0x97, 0x67, 0x0b, 0xb4, 0xf5, 0xab, 0x05, 0x3b, 0x83, 0xb5, 0x40, 0x1e, 0xc3, 0x96, 0x2f,
+ 0x29, 0x8d, 0x2b, 0x6e, 0xed, 0x4e, 0x56, 0xe9, 0x4e, 0x4c, 0x46, 0x4f, 0xa0, 0x78, 0x45, 0x83,
+ 0x40, 0xc4, 0xc3, 0xe2, 0xed, 0xdb, 0x12, 0x36, 0xfa, 0x1c, 0x0a, 0x92, 0x92, 0xa4, 0x16, 0xdf,
+ 0xb6, 0x49, 0x53, 0x5b, 0x7f, 0xe4, 0xa1, 0x96, 0x8d, 0xb8, 0x07, 0x75, 0x12, 0x03, 0xe9, 0xf0,
+ 0x88, 0x9b, 0xe5, 0xce, 0x6a, 0xb3, 0x18, 0x4e, 0x32, 0x39, 0x6a, 0x64, 0xd9, 0x44, 0xdf, 0x41,
+ 0x43, 0x61, 0x16, 0xb8, 0x44, 0x8a, 0xd0, 0x4d, 0xbd, 0x79, 0xc6, 0x7f, 0xa2, 0xe8, 0xfe, 0x4a,
+ 0x71, 0x6c, 0xca, 0xfc, 0x49, 0xce, 0xd9, 0x55, 0x1b, 0x4b, 0xe2, 0x14, 0x90, 0xa4, 0x64, 0xd5,
+ 0xf3, 0x3f, 0x92, 0x7d, 0x92, 0x73, 0x6c, 0xb9, 0x9a, 0xa5, 0x57, 0x70, 0x6b, 0xb6, 0xc1, 0x61,
+ 0xdc, 0x8b, 0x1f, 0x65, 0x1d, 0x0e, 0x36, 0x78, 0xdc, 0x99, 0xad, 0xba, 0xec, 0xd9, 0x8b, 0x6b,
+ 0x8c, 0xbd, 0xb5, 0x7e, 0x2e, 0x40, 0x35, 0x69, 0x82, 0x57, 0xba, 0x7a, 0xdf, 0x75, 0x22, 0xdd,
+ 0x03, 0xf0, 0xe9, 0xc4, 0xf4, 0xe2, 0xbc, 0x75, 0x2b, 0x09, 0xd2, 0x27, 0x7a, 0x60, 0x85, 0x43,
+ 0xa6, 0xdc, 0x09, 0x0e, 0xcd, 0x8d, 0x54, 0x9c, 0x92, 0xb6, 0x5f, 0xe0, 0x10, 0x3d, 0x80, 0x3a,
+ 0xa6, 0x91, 0x4b, 0xb9, 0x27, 0xaf, 0x42, 0x73, 0xaa, 0x56, 0x58, 0x76, 0x6a, 0x98, 0x46, 0xc7,
+ 0x73, 0xf0, 0x3f, 0xf8, 0x79, 0x64, 0xfe, 0x59, 0xc5, 0xbf, 0xfd, 0x67, 0x95, 0x32, 0xff, 0xac,
+ 0xf5, 0xc2, 0x2b, 0xff, 0xeb, 0xc2, 0xeb, 0xad, 0xde, 0x7a, 0xa3, 0x62, 0x72, 0xb8, 0xd9, 0x47,
+ 0xd2, 0x08, 0xa9, 0x8f, 0xd8, 0x6c, 0xfd, 0x62, 0x41, 0x6d, 0x39, 0x4f, 0xff, 0xff, 0x04, 0xed,
+ 0x2e, 0x26, 0xa8, 0x99, 0x6b, 0x51, 0xa3, 0x68, 0x26, 0xe8, 0xde, 0xc6, 0x09, 0x6a, 0x82, 0x9a,
+ 0x4f, 0xcf, 0x38, 0xc4, 0xf6, 0x97, 0x50, 0x99, 0x17, 0x0b, 0xaa, 0x42, 0xf9, 0xeb, 0xb3, 0xf3,
+ 0x0b, 0xe7, 0xb8, 0xfb, 0xc2, 0xce, 0xa1, 0x3a, 0xc0, 0xd1, 0xcb, 0xc1, 0x69, 0x62, 0x5b, 0x68,
+ 0x07, 0x6a, 0xbd, 0xfe, 0x51, 0xdf, 0x39, 0x7e, 0x7e, 0xd1, 0x7f, 0x79, 0xda, 0xfd, 0xca, 0xce,
+ 0xb7, 0x9f, 0x82, 0xbd, 0x9a, 0x4f, 0x54, 0x82, 0xc2, 0xc0, 0x71, 0xec, 0x1c, 0x42, 0x50, 0x3f,
+ 0x57, 0x92, 0x79, 0xea, 0x2c, 0xc9, 0xa0, 0x6d, 0x21, 0x80, 0xe2, 0xc9, 0xd5, 0x50, 0x32, 0x62,
+ 0xe7, 0xdb, 0x1c, 0xaa, 0xcb, 0xaf, 0x17, 0xb4, 0x0b, 0x3b, 0xcb, 0xb6, 0x7b, 0x2a, 0x38, 0xb5,
+ 0x73, 0xe8, 0x16, 0xdc, 0xcc, 0xc2, 0x5d, 0xdb, 0x42, 0x77, 0xe0, 0x76, 0x06, 0xec, 0xd1, 0x48,
+ 0x1d, 0x8f, 0x46, 0x42, 0x2a, 0x3b, 0xbf, 0xe6, 0xa8, 0x3b, 0x55, 0xc2, 0x2e, 0xb4, 0x9f, 0xcd,
+ 0x27, 0x56, 0x12, 0x69, 0x15, 0xca, 0xe9, 0xfc, 0xb0, 0x73, 0xa8, 0x06, 0x95, 0xc1, 0xdc, 0xb4,
+ 0xb4, 0x0c, 0x87, 0x12, 0x3b, 0x8f, 0xca, 0x70, 0x43, 0xb7, 0xae, 0x5d, 0x68, 0xff, 0x64, 0xc1,
+ 0xdd, 0xeb, 0x5e, 0x12, 0xe8, 0x01, 0x7c, 0x7c, 0xdd, 0xf7, 0x54, 0xd1, 0x3e, 0x7c, 0x72, 0x2d,
+ 0xad, 0x1b, 0x45, 0x53, 0x49, 0x89, 0x6d, 0xa1, 0x4f, 0xe1, 0xe1, 0xb5, 0xcc, 0x65, 0xd9, 0xbd,
+ 0x6f, 0xa0, 0x29, 0xa4, 0x7f, 0x20, 0x42, 0xca, 0x3d, 0x21, 0xc9, 0x41, 0xfc, 0xb0, 0xcd, 0x94,
+ 0xc2, 0xb7, 0x8f, 0x7d, 0xa6, 0xc6, 0xd3, 0xe1, 0x81, 0x27, 0x26, 0x9d, 0x94, 0xd8, 0x89, 0x89,
+ 0x9f, 0x25, 0x2f, 0xe0, 0xd7, 0x8f, 0x3a, 0xbe, 0xc8, 0xbc, 0x83, 0x87, 0x45, 0xf3, 0xe9, 0xd1,
+ 0x5f, 0x01, 0x00, 0x00, 0xff, 0xff, 0x31, 0x2e, 0x0c, 0xef, 0x2c, 0x0b, 0x00, 0x00,
}
diff --git a/vendor/github.com/opencord/voltha-protos/v2/go/voltha/adapter.pb.go b/vendor/github.com/opencord/voltha-protos/v3/go/voltha/adapter.pb.go
similarity index 69%
rename from vendor/github.com/opencord/voltha-protos/v2/go/voltha/adapter.pb.go
rename to vendor/github.com/opencord/voltha-protos/v3/go/voltha/adapter.pb.go
index 1f8b073..93bf21b 100644
--- a/vendor/github.com/opencord/voltha-protos/v2/go/voltha/adapter.pb.go
+++ b/vendor/github.com/opencord/voltha-protos/v3/go/voltha/adapter.pb.go
@@ -7,7 +7,7 @@
fmt "fmt"
proto "github.com/golang/protobuf/proto"
any "github.com/golang/protobuf/ptypes/any"
- common "github.com/opencord/voltha-protos/v2/go/common"
+ common "github.com/opencord/voltha-protos/v3/go/common"
math "math"
)
@@ -24,7 +24,7 @@
type AdapterConfig struct {
// Common adapter config attributes here
- LogLevel common.LogLevel_LogLevel `protobuf:"varint,1,opt,name=log_level,json=logLevel,proto3,enum=common.LogLevel_LogLevel" json:"log_level,omitempty"`
+ LogLevel common.LogLevel_Types `protobuf:"varint,1,opt,name=log_level,json=logLevel,proto3,enum=common.LogLevel_Types" json:"log_level,omitempty"`
// Custom (vendor-specific) configuration attributes
AdditionalConfig *any.Any `protobuf:"bytes,64,opt,name=additional_config,json=additionalConfig,proto3" json:"additional_config,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
@@ -57,7 +57,7 @@
var xxx_messageInfo_AdapterConfig proto.InternalMessageInfo
-func (m *AdapterConfig) GetLogLevel() common.LogLevel_LogLevel {
+func (m *AdapterConfig) GetLogLevel() common.LogLevel_Types {
if m != nil {
return m.LogLevel
}
@@ -203,29 +203,30 @@
func init() { proto.RegisterFile("voltha_protos/adapter.proto", fileDescriptor_7e998ce153307274) }
var fileDescriptor_7e998ce153307274 = []byte{
- // 380 bytes of a gzipped FileDescriptorProto
- 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x7c, 0x92, 0xc1, 0x8e, 0xda, 0x30,
- 0x10, 0x86, 0x95, 0x50, 0x02, 0x18, 0xb5, 0xa5, 0x56, 0xa9, 0x02, 0x15, 0x6a, 0x84, 0x54, 0x29,
- 0x87, 0xe2, 0xb4, 0xa9, 0xd4, 0x73, 0xa1, 0x5c, 0x2a, 0x71, 0xca, 0xb1, 0x97, 0x28, 0xc4, 0xc6,
- 0x58, 0x72, 0x3c, 0x51, 0x12, 0x22, 0xf1, 0x0a, 0xbd, 0xed, 0x83, 0xed, 0x7b, 0xec, 0x13, 0xec,
- 0x79, 0x85, 0x6d, 0x16, 0xd8, 0xc3, 0xde, 0xec, 0xff, 0x9b, 0x99, 0xff, 0xf7, 0x24, 0xe8, 0x73,
- 0x0b, 0xb2, 0xd9, 0x67, 0x69, 0x59, 0x41, 0x03, 0x75, 0x94, 0xd1, 0xac, 0x6c, 0x58, 0x45, 0xf4,
- 0x15, 0x7b, 0x06, 0x4e, 0x27, 0x1c, 0x80, 0x4b, 0x16, 0x69, 0x75, 0x7b, 0xd8, 0x45, 0x99, 0x3a,
- 0x9a, 0x92, 0xe9, 0xf4, 0xb6, 0x3f, 0x87, 0xa2, 0x00, 0x65, 0x99, 0x7f, 0xcb, 0x0a, 0xd6, 0x64,
- 0x86, 0xcc, 0xff, 0x3b, 0xe8, 0xed, 0xd2, 0x58, 0xfd, 0x01, 0xb5, 0x13, 0x1c, 0xff, 0x42, 0x03,
- 0x09, 0x3c, 0x95, 0xac, 0x65, 0xd2, 0x77, 0x02, 0x27, 0x7c, 0x17, 0x4f, 0x88, 0x9d, 0xb6, 0x01,
- 0xbe, 0x39, 0xe9, 0xcf, 0x87, 0xa4, 0x2f, 0xed, 0x09, 0x2f, 0xd1, 0x87, 0x8c, 0x52, 0xd1, 0x08,
- 0x50, 0x99, 0x4c, 0x73, 0x3d, 0xcc, 0xff, 0x1d, 0x38, 0xe1, 0x30, 0xfe, 0x48, 0x4c, 0x6c, 0x72,
- 0x8e, 0x4d, 0x96, 0xea, 0x98, 0x8c, 0x2e, 0xe5, 0xc6, 0x7a, 0x7e, 0xe7, 0xa2, 0x9e, 0x0d, 0x83,
- 0xc7, 0xc8, 0x15, 0x54, 0xfb, 0x0f, 0x56, 0xdd, 0x87, 0xc7, 0xfb, 0x99, 0x93, 0xb8, 0x82, 0xe2,
- 0x19, 0xf2, 0x5a, 0xa6, 0x28, 0x54, 0xbe, 0x7b, 0x8d, 0xac, 0x88, 0xbf, 0xa0, 0x5e, 0xcb, 0xaa,
- 0x5a, 0x80, 0xf2, 0x3b, 0xd7, 0xfc, 0xac, 0xe2, 0x05, 0xf2, 0x6c, 0xb4, 0x91, 0x8e, 0x36, 0x26,
- 0x66, 0x35, 0xe4, 0x66, 0x09, 0x89, 0x2d, 0xc2, 0x09, 0xfa, 0x74, 0xf5, 0x28, 0xca, 0xea, 0xbc,
- 0x12, 0xe5, 0xe9, 0xf6, 0xda, 0xcb, 0xce, 0xa6, 0xe3, 0x4b, 0xeb, 0xfa, 0xd2, 0x89, 0xbf, 0x21,
- 0x2c, 0x81, 0x8b, 0x5c, 0x0f, 0x6c, 0x45, 0xce, 0x52, 0x41, 0x6b, 0xff, 0x4d, 0xd0, 0x09, 0x07,
- 0xc9, 0xc8, 0x92, 0xb5, 0x06, 0x7f, 0x69, 0x3d, 0xff, 0x81, 0xfa, 0x36, 0x5a, 0x8d, 0xbf, 0xa2,
- 0xae, 0x68, 0x58, 0x51, 0xfb, 0x4e, 0xd0, 0x09, 0x87, 0xf1, 0xfb, 0x17, 0xd9, 0x13, 0x43, 0x57,
- 0xdf, 0xff, 0x11, 0x2e, 0x9a, 0xfd, 0x61, 0x7b, 0xfa, 0x6c, 0x11, 0x94, 0x4c, 0xe5, 0x50, 0xd1,
- 0xc8, 0x14, 0x2f, 0xec, 0x3f, 0xd0, 0xc6, 0x11, 0x07, 0xab, 0x6d, 0x3d, 0x2d, 0xfe, 0x7c, 0x0a,
- 0x00, 0x00, 0xff, 0xff, 0x63, 0x35, 0x2c, 0x02, 0x84, 0x02, 0x00, 0x00,
+ // 397 bytes of a gzipped FileDescriptorProto
+ 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x7c, 0x92, 0x41, 0x8e, 0xda, 0x30,
+ 0x14, 0x86, 0x95, 0xd0, 0xc9, 0x0c, 0x1e, 0x4d, 0x4b, 0xdd, 0x82, 0x52, 0x2a, 0xd4, 0x08, 0xa9,
+ 0x52, 0x16, 0xc5, 0x51, 0xe1, 0x02, 0x85, 0xb2, 0xa9, 0xc4, 0x2a, 0x42, 0x5d, 0x74, 0x13, 0x85,
+ 0xd8, 0x18, 0x4b, 0x8e, 0x5f, 0x14, 0x87, 0x48, 0x9c, 0xa0, 0xeb, 0x1e, 0xac, 0xf7, 0xe8, 0x09,
+ 0xba, 0xae, 0xb0, 0x1d, 0x01, 0x5d, 0xcc, 0x2a, 0x7a, 0xff, 0xf7, 0xbf, 0xf7, 0x7e, 0x3b, 0x46,
+ 0xef, 0x5b, 0x90, 0xcd, 0x21, 0xcf, 0xaa, 0x1a, 0x1a, 0xd0, 0x49, 0x4e, 0xf3, 0xaa, 0x61, 0x35,
+ 0x31, 0x25, 0x0e, 0x2c, 0x1c, 0xbf, 0xe3, 0x00, 0x5c, 0xb2, 0xc4, 0xa8, 0xbb, 0xe3, 0x3e, 0xc9,
+ 0xd5, 0xc9, 0x5a, 0xc6, 0xe3, 0xdb, 0xfe, 0x02, 0xca, 0x12, 0x94, 0x63, 0xe1, 0x2d, 0x2b, 0x59,
+ 0x93, 0x5b, 0x32, 0xfd, 0xe9, 0xa1, 0xa7, 0xa5, 0x5d, 0xf5, 0x15, 0xd4, 0x5e, 0x70, 0xbc, 0x40,
+ 0x7d, 0x09, 0x3c, 0x93, 0xac, 0x65, 0x32, 0xf4, 0x22, 0x2f, 0x7e, 0x39, 0x1f, 0x11, 0x37, 0x6d,
+ 0x03, 0x7c, 0x73, 0xd6, 0xc9, 0xf6, 0x54, 0x31, 0x9d, 0x3e, 0x48, 0x57, 0xe3, 0x25, 0x7a, 0x9d,
+ 0x53, 0x2a, 0x1a, 0x01, 0x2a, 0x97, 0x59, 0x61, 0x26, 0x85, 0x5f, 0x22, 0x2f, 0x7e, 0x9c, 0xbf,
+ 0x25, 0x36, 0x33, 0xe9, 0x32, 0x93, 0xa5, 0x3a, 0xa5, 0x83, 0x8b, 0xdd, 0xee, 0x9d, 0xfe, 0xf2,
+ 0xd1, 0xbd, 0x4b, 0x82, 0x87, 0xc8, 0x17, 0xd4, 0x2c, 0xef, 0xaf, 0xee, 0xfe, 0xfc, 0xfd, 0x3d,
+ 0xf1, 0x52, 0x5f, 0x50, 0x3c, 0x41, 0x41, 0xcb, 0x14, 0x85, 0x3a, 0xf4, 0xaf, 0x91, 0x13, 0xf1,
+ 0x07, 0x74, 0xdf, 0xb2, 0x5a, 0x0b, 0x50, 0x61, 0xef, 0x9a, 0x77, 0x2a, 0x9e, 0xa1, 0xc0, 0x45,
+ 0x1b, 0x98, 0x68, 0x43, 0x62, 0xef, 0x85, 0xdc, 0xdc, 0x40, 0xea, 0x4c, 0x38, 0x45, 0xa3, 0xab,
+ 0x43, 0x51, 0xa6, 0x8b, 0x5a, 0x54, 0xe7, 0xea, 0xb9, 0x93, 0x75, 0x4b, 0x87, 0x97, 0xd6, 0xf5,
+ 0xa5, 0x13, 0x7f, 0x42, 0x58, 0x02, 0x17, 0x85, 0x19, 0xd8, 0x8a, 0x82, 0x65, 0x82, 0xea, 0xf0,
+ 0x45, 0xd4, 0x8b, 0xfb, 0xe9, 0xc0, 0x91, 0xb5, 0x01, 0xdf, 0xa8, 0x9e, 0x7e, 0x46, 0x0f, 0x2e,
+ 0x9a, 0xc6, 0x1f, 0xd1, 0x9d, 0x68, 0x58, 0xa9, 0x43, 0x2f, 0xea, 0xc5, 0x8f, 0xf3, 0x57, 0xff,
+ 0x65, 0x4f, 0x2d, 0x5d, 0x6d, 0xd1, 0x1b, 0xa8, 0x39, 0x81, 0x8a, 0xa9, 0x02, 0x6a, 0xea, 0x5c,
+ 0xab, 0xa7, 0xef, 0xe6, 0xeb, 0xcc, 0x3f, 0x08, 0x17, 0xcd, 0xe1, 0xb8, 0x3b, 0xff, 0xd7, 0xa4,
+ 0xb3, 0x26, 0xd6, 0x3a, 0x73, 0x8f, 0xa4, 0x5d, 0x24, 0x1c, 0x9c, 0xb6, 0x0b, 0x8c, 0xb8, 0xf8,
+ 0x17, 0x00, 0x00, 0xff, 0xff, 0x41, 0x59, 0x44, 0x43, 0xa5, 0x02, 0x00, 0x00,
}
diff --git a/vendor/github.com/opencord/voltha-protos/v2/go/voltha/device.pb.go b/vendor/github.com/opencord/voltha-protos/v3/go/voltha/device.pb.go
similarity index 73%
rename from vendor/github.com/opencord/voltha-protos/v2/go/voltha/device.pb.go
rename to vendor/github.com/opencord/voltha-protos/v3/go/voltha/device.pb.go
index 97df91b..e713544 100644
--- a/vendor/github.com/opencord/voltha-protos/v2/go/voltha/device.pb.go
+++ b/vendor/github.com/opencord/voltha-protos/v3/go/voltha/device.pb.go
@@ -7,8 +7,8 @@
fmt "fmt"
proto "github.com/golang/protobuf/proto"
any "github.com/golang/protobuf/ptypes/any"
- common "github.com/opencord/voltha-protos/v2/go/common"
- openflow_13 "github.com/opencord/voltha-protos/v2/go/openflow_13"
+ common "github.com/opencord/voltha-protos/v3/go/common"
+ openflow_13 "github.com/opencord/voltha-protos/v3/go/openflow_13"
math "math"
)
@@ -901,22 +901,22 @@
}
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"`
- Type Port_PortType `protobuf:"varint,3,opt,name=type,proto3,enum=voltha.Port_PortType" json:"type,omitempty"`
- AdminState common.AdminState_AdminState `protobuf:"varint,5,opt,name=admin_state,json=adminState,proto3,enum=common.AdminState_AdminState" json:"admin_state,omitempty"`
- OperStatus common.OperStatus_OperStatus `protobuf:"varint,6,opt,name=oper_status,json=operStatus,proto3,enum=common.OperStatus_OperStatus" json:"oper_status,omitempty"`
- DeviceId string `protobuf:"bytes,7,opt,name=device_id,json=deviceId,proto3" json:"device_id,omitempty"`
- Peers []*Port_PeerPort `protobuf:"bytes,8,rep,name=peers,proto3" json:"peers,omitempty"`
- RxPackets uint64 `protobuf:"fixed64,9,opt,name=rx_packets,json=rxPackets,proto3" json:"rx_packets,omitempty"`
- RxBytes uint64 `protobuf:"fixed64,10,opt,name=rx_bytes,json=rxBytes,proto3" json:"rx_bytes,omitempty"`
- RxErrors uint64 `protobuf:"fixed64,11,opt,name=rx_errors,json=rxErrors,proto3" json:"rx_errors,omitempty"`
- TxPackets uint64 `protobuf:"fixed64,12,opt,name=tx_packets,json=txPackets,proto3" json:"tx_packets,omitempty"`
- TxBytes uint64 `protobuf:"fixed64,13,opt,name=tx_bytes,json=txBytes,proto3" json:"tx_bytes,omitempty"`
- TxErrors uint64 `protobuf:"fixed64,14,opt,name=tx_errors,json=txErrors,proto3" json:"tx_errors,omitempty"`
- XXX_NoUnkeyedLiteral struct{} `json:"-"`
- XXX_unrecognized []byte `json:"-"`
- XXX_sizecache int32 `json:"-"`
+ 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"`
+ Type Port_PortType `protobuf:"varint,3,opt,name=type,proto3,enum=voltha.Port_PortType" json:"type,omitempty"`
+ AdminState common.AdminState_Types `protobuf:"varint,5,opt,name=admin_state,json=adminState,proto3,enum=common.AdminState_Types" json:"admin_state,omitempty"`
+ OperStatus common.OperStatus_Types `protobuf:"varint,6,opt,name=oper_status,json=operStatus,proto3,enum=common.OperStatus_Types" json:"oper_status,omitempty"`
+ DeviceId string `protobuf:"bytes,7,opt,name=device_id,json=deviceId,proto3" json:"device_id,omitempty"`
+ Peers []*Port_PeerPort `protobuf:"bytes,8,rep,name=peers,proto3" json:"peers,omitempty"`
+ RxPackets uint64 `protobuf:"fixed64,9,opt,name=rx_packets,json=rxPackets,proto3" json:"rx_packets,omitempty"`
+ RxBytes uint64 `protobuf:"fixed64,10,opt,name=rx_bytes,json=rxBytes,proto3" json:"rx_bytes,omitempty"`
+ RxErrors uint64 `protobuf:"fixed64,11,opt,name=rx_errors,json=rxErrors,proto3" json:"rx_errors,omitempty"`
+ TxPackets uint64 `protobuf:"fixed64,12,opt,name=tx_packets,json=txPackets,proto3" json:"tx_packets,omitempty"`
+ TxBytes uint64 `protobuf:"fixed64,13,opt,name=tx_bytes,json=txBytes,proto3" json:"tx_bytes,omitempty"`
+ TxErrors uint64 `protobuf:"fixed64,14,opt,name=tx_errors,json=txErrors,proto3" json:"tx_errors,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
}
func (m *Port) Reset() { *m = Port{} }
@@ -965,14 +965,14 @@
return Port_UNKNOWN
}
-func (m *Port) GetAdminState() common.AdminState_AdminState {
+func (m *Port) GetAdminState() common.AdminState_Types {
if m != nil {
return m.AdminState
}
return common.AdminState_UNKNOWN
}
-func (m *Port) GetOperStatus() common.OperStatus_OperStatus {
+func (m *Port) GetOperStatus() common.OperStatus_Types {
if m != nil {
return m.OperStatus
}
@@ -1153,13 +1153,13 @@
// *Device_Ipv4Address
// *Device_Ipv6Address
// *Device_HostAndPort
- Address isDevice_Address `protobuf_oneof:"address"`
- ExtraArgs string `protobuf:"bytes,23,opt,name=extra_args,json=extraArgs,proto3" json:"extra_args,omitempty"`
- ProxyAddress *Device_ProxyAddress `protobuf:"bytes,19,opt,name=proxy_address,json=proxyAddress,proto3" json:"proxy_address,omitempty"`
- AdminState common.AdminState_AdminState `protobuf:"varint,16,opt,name=admin_state,json=adminState,proto3,enum=common.AdminState_AdminState" json:"admin_state,omitempty"`
- OperStatus common.OperStatus_OperStatus `protobuf:"varint,17,opt,name=oper_status,json=operStatus,proto3,enum=common.OperStatus_OperStatus" json:"oper_status,omitempty"`
- Reason string `protobuf:"bytes,22,opt,name=reason,proto3" json:"reason,omitempty"`
- ConnectStatus common.ConnectStatus_ConnectStatus `protobuf:"varint,18,opt,name=connect_status,json=connectStatus,proto3,enum=common.ConnectStatus_ConnectStatus" json:"connect_status,omitempty"`
+ Address isDevice_Address `protobuf_oneof:"address"`
+ ExtraArgs string `protobuf:"bytes,23,opt,name=extra_args,json=extraArgs,proto3" json:"extra_args,omitempty"`
+ ProxyAddress *Device_ProxyAddress `protobuf:"bytes,19,opt,name=proxy_address,json=proxyAddress,proto3" json:"proxy_address,omitempty"`
+ AdminState common.AdminState_Types `protobuf:"varint,16,opt,name=admin_state,json=adminState,proto3,enum=common.AdminState_Types" json:"admin_state,omitempty"`
+ OperStatus common.OperStatus_Types `protobuf:"varint,17,opt,name=oper_status,json=operStatus,proto3,enum=common.OperStatus_Types" json:"oper_status,omitempty"`
+ Reason string `protobuf:"bytes,22,opt,name=reason,proto3" json:"reason,omitempty"`
+ ConnectStatus common.ConnectStatus_Types `protobuf:"varint,18,opt,name=connect_status,json=connectStatus,proto3,enum=common.ConnectStatus_Types" json:"connect_status,omitempty"`
// Device type specific attributes
Custom *any.Any `protobuf:"bytes,64,opt,name=custom,proto3" json:"custom,omitempty"`
Ports []*Port `protobuf:"bytes,128,rep,name=ports,proto3" json:"ports,omitempty"`
@@ -1368,14 +1368,14 @@
return nil
}
-func (m *Device) GetAdminState() common.AdminState_AdminState {
+func (m *Device) GetAdminState() common.AdminState_Types {
if m != nil {
return m.AdminState
}
return common.AdminState_UNKNOWN
}
-func (m *Device) GetOperStatus() common.OperStatus_OperStatus {
+func (m *Device) GetOperStatus() common.OperStatus_Types {
if m != nil {
return m.OperStatus
}
@@ -1389,7 +1389,7 @@
return ""
}
-func (m *Device) GetConnectStatus() common.ConnectStatus_ConnectStatus {
+func (m *Device) GetConnectStatus() common.ConnectStatus_Types {
if m != nil {
return m.ConnectStatus
}
@@ -1713,154 +1713,153 @@
func init() { proto.RegisterFile("voltha_protos/device.proto", fileDescriptor_200940f73d155856) }
var fileDescriptor_200940f73d155856 = []byte{
- // 2382 bytes of a gzipped FileDescriptorProto
- 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x58, 0x4d, 0x73, 0x1b, 0x49,
- 0xf9, 0x8f, 0x64, 0xcf, 0x48, 0xf3, 0xe8, 0xc5, 0x93, 0x8e, 0xb3, 0x99, 0xd8, 0x7f, 0x97, 0xf3,
- 0x57, 0x96, 0xc2, 0x9b, 0x25, 0x76, 0x48, 0xa8, 0xdd, 0x2d, 0xaa, 0xa0, 0x22, 0x4b, 0xe3, 0x44,
- 0x85, 0x91, 0xbc, 0x2d, 0xc9, 0x0b, 0x5c, 0xa6, 0xc6, 0x9a, 0x96, 0x3d, 0xb5, 0xf3, 0xa2, 0x74,
- 0x8f, 0x64, 0x7b, 0x4f, 0xc0, 0x16, 0x9c, 0xb8, 0x51, 0xc5, 0x67, 0xe0, 0x1b, 0x70, 0x84, 0x2f,
- 0x90, 0xe2, 0x0b, 0x70, 0xe2, 0x40, 0x51, 0x9c, 0x38, 0xe5, 0x4c, 0xf5, 0x9b, 0x34, 0xe3, 0x84,
- 0xec, 0x72, 0x99, 0xea, 0xfe, 0x3d, 0x2f, 0xdd, 0xfd, 0xeb, 0xee, 0xe7, 0x79, 0x7a, 0x60, 0x6b,
- 0x91, 0x46, 0xd9, 0x85, 0xef, 0xcd, 0x68, 0x9a, 0xa5, 0xec, 0x20, 0x20, 0x8b, 0x70, 0x42, 0xf6,
- 0x45, 0x0f, 0x99, 0x52, 0xb6, 0x75, 0xff, 0x3c, 0x4d, 0xcf, 0x23, 0x72, 0x20, 0xd0, 0xb3, 0xf9,
- 0xf4, 0xc0, 0x4f, 0xae, 0xa5, 0xca, 0xd6, 0x0d, 0xf3, 0x49, 0x1a, 0xc7, 0x69, 0xa2, 0x64, 0x4e,
- 0x51, 0x16, 0x93, 0xcc, 0x57, 0x92, 0xdd, 0xa2, 0x24, 0x9d, 0x91, 0x64, 0x1a, 0xa5, 0x97, 0xde,
- 0xf7, 0x9f, 0x29, 0x85, 0x07, 0x45, 0x85, 0x6b, 0x3f, 0x39, 0xf7, 0xd2, 0x59, 0x16, 0xa6, 0x09,
- 0x93, 0x1a, 0xad, 0x3f, 0x97, 0x01, 0xba, 0x62, 0xb2, 0xa3, 0xeb, 0x19, 0x41, 0x4d, 0x28, 0x87,
- 0x81, 0x53, 0x7a, 0x50, 0xda, 0xb3, 0x70, 0x39, 0x0c, 0xd0, 0x36, 0x58, 0x0b, 0x92, 0x04, 0x29,
- 0xf5, 0xc2, 0xc0, 0x31, 0x04, 0x5c, 0x95, 0x40, 0x2f, 0x40, 0x3b, 0x00, 0x4b, 0x21, 0x73, 0xcc,
- 0x07, 0x6b, 0x7b, 0x16, 0xb6, 0xb4, 0x94, 0x21, 0x07, 0x2a, 0x7e, 0xe0, 0xcf, 0x32, 0x42, 0x9d,
- 0xb2, 0xb0, 0xd4, 0x5d, 0xf4, 0x29, 0x38, 0xfe, 0x64, 0x42, 0x66, 0x19, 0xf3, 0xce, 0xe6, 0xd1,
- 0x97, 0x9e, 0x98, 0xf4, 0x7c, 0x16, 0xf8, 0x19, 0x71, 0xd6, 0x1e, 0x94, 0xf6, 0xaa, 0xf8, 0xae,
- 0x92, 0x1f, 0xce, 0xa3, 0x2f, 0x8f, 0xa2, 0xf4, 0x72, 0x2c, 0x84, 0xa8, 0x0b, 0xbb, 0xda, 0xd0,
- 0x0f, 0x02, 0x8f, 0x92, 0x38, 0x5d, 0x90, 0xbc, 0x39, 0x73, 0xd6, 0x85, 0xfd, 0xb6, 0x52, 0x6b,
- 0x07, 0x01, 0x16, 0x4a, 0x2b, 0x27, 0x0c, 0x1d, 0xc3, 0x43, 0xed, 0x25, 0x08, 0x29, 0x99, 0x64,
- 0x5e, 0x94, 0x9e, 0x87, 0x13, 0x3f, 0x12, 0x9e, 0x98, 0x9e, 0x49, 0x45, 0x78, 0xd2, 0x03, 0x76,
- 0x85, 0xe6, 0xb1, 0x54, 0xe4, 0xde, 0x98, 0x74, 0xd7, 0xfa, 0x14, 0x6a, 0x2b, 0x02, 0x19, 0xda,
- 0x03, 0x23, 0xcc, 0x48, 0xcc, 0x9c, 0xd2, 0x83, 0xb5, 0xbd, 0xda, 0x53, 0xb4, 0x2f, 0xb7, 0x60,
- 0x7f, 0xa5, 0x83, 0xa5, 0x42, 0xeb, 0x2f, 0x25, 0xa8, 0x9e, 0xc4, 0x9d, 0x34, 0x99, 0x86, 0xe7,
- 0x08, 0xc1, 0x7a, 0xe2, 0xc7, 0x44, 0x51, 0x2f, 0xda, 0xe8, 0x63, 0x58, 0xcf, 0xae, 0x67, 0x44,
- 0xb0, 0xd7, 0x7c, 0x7a, 0x4f, 0x7b, 0xd2, 0x36, 0xfb, 0x27, 0xb1, 0x70, 0x27, 0x94, 0x38, 0xdb,
- 0x24, 0xf1, 0xcf, 0x22, 0x12, 0x28, 0x0a, 0x75, 0x17, 0xed, 0x42, 0x8d, 0xf9, 0xf1, 0x2c, 0x22,
- 0xde, 0x94, 0x92, 0x57, 0x82, 0xa0, 0x06, 0x06, 0x09, 0x1d, 0x51, 0xf2, 0xaa, 0xf5, 0x19, 0x98,
- 0xd2, 0x15, 0xaa, 0x41, 0xa5, 0x33, 0x18, 0xf7, 0x47, 0x2e, 0xb6, 0x6f, 0x21, 0x0b, 0x8c, 0x17,
- 0xed, 0xf1, 0x0b, 0xd7, 0x2e, 0xf1, 0xe6, 0x70, 0xd4, 0x1e, 0xb9, 0x76, 0x59, 0xaa, 0xf4, 0x47,
- 0xee, 0xcf, 0x46, 0xf6, 0x5a, 0xeb, 0xf7, 0x25, 0x68, 0x9c, 0xc4, 0x2f, 0x68, 0x3a, 0x9f, 0xa9,
- 0x75, 0xec, 0x00, 0x9c, 0xf3, 0xae, 0x97, 0x5b, 0x8d, 0x25, 0x90, 0x3e, 0x5f, 0xd2, 0x52, 0x2c,
- 0xa6, 0x52, 0x16, 0x53, 0x91, 0x62, 0x3e, 0x93, 0xf7, 0x2c, 0xe2, 0x11, 0x54, 0x62, 0x92, 0xd1,
- 0x70, 0xc2, 0x77, 0x98, 0x13, 0x6b, 0xdf, 0xa4, 0x03, 0x6b, 0x85, 0xd6, 0x3f, 0x4a, 0x60, 0x69,
- 0x94, 0xbd, 0x75, 0xa4, 0xff, 0x1f, 0xea, 0x01, 0x99, 0xfa, 0xf3, 0x28, 0xcb, 0x4f, 0xa2, 0xa6,
- 0x30, 0x31, 0x8d, 0x5d, 0xa8, 0x88, 0x39, 0xe9, 0x69, 0x1c, 0x1a, 0xff, 0x7c, 0xf3, 0x7a, 0xa7,
- 0x84, 0x35, 0x8a, 0x1e, 0x41, 0x83, 0xdb, 0x7a, 0xe9, 0x82, 0x50, 0x1a, 0x06, 0x44, 0x9e, 0x3a,
- 0xad, 0x56, 0xe7, 0xb2, 0x81, 0x12, 0xa1, 0xc7, 0x60, 0x0a, 0x33, 0xe6, 0x18, 0x62, 0xe2, 0x77,
- 0x57, 0x13, 0xcf, 0x11, 0x87, 0x95, 0x52, 0x7e, 0xa1, 0xe6, 0x37, 0x2d, 0xf4, 0xaf, 0x25, 0x30,
- 0x7a, 0xb1, 0x7f, 0x4e, 0xde, 0x79, 0x7c, 0x1c, 0xa8, 0x2c, 0x08, 0x65, 0x61, 0x9a, 0xe8, 0xfb,
- 0xa7, 0xba, 0x5c, 0xfb, 0xc2, 0x67, 0x17, 0x62, 0x71, 0x16, 0x16, 0x6d, 0xf4, 0x11, 0xd8, 0x61,
- 0xc2, 0x32, 0x3f, 0x8a, 0x3c, 0x7e, 0xac, 0xb3, 0x30, 0x96, 0xab, 0xb2, 0xf0, 0x86, 0xc2, 0xbb,
- 0x0a, 0xe6, 0x41, 0x21, 0x64, 0x9e, 0x3f, 0xc9, 0xc2, 0x05, 0x11, 0x41, 0xa1, 0x8a, 0xab, 0x21,
- 0x6b, 0x8b, 0x3e, 0xa7, 0x37, 0x64, 0x1e, 0x0f, 0x60, 0x61, 0x96, 0x91, 0xc0, 0x31, 0x85, 0xbc,
- 0x16, 0xb2, 0x8e, 0x86, 0xd0, 0x7d, 0xa8, 0x86, 0xcc, 0x5b, 0xf8, 0x51, 0x18, 0xa8, 0x4b, 0x56,
- 0x09, 0xd9, 0x29, 0xef, 0xb6, 0x1e, 0x83, 0x29, 0x16, 0xc4, 0xd0, 0x43, 0x30, 0x42, 0xde, 0x52,
- 0xf7, 0xa8, 0xa1, 0x59, 0x10, 0x62, 0x2c, 0x65, 0xad, 0x7f, 0x55, 0xa0, 0x21, 0x80, 0x6e, 0x7a,
- 0x99, 0x44, 0xa9, 0x1f, 0xbc, 0xb5, 0xdb, 0x9a, 0x98, 0x72, 0x8e, 0x18, 0x1b, 0xd6, 0xe6, 0x34,
- 0x52, 0xab, 0xe7, 0x4d, 0x8e, 0x4c, 0xe8, 0x44, 0x5d, 0x0d, 0xde, 0x44, 0x03, 0x68, 0x06, 0xca,
- 0xa7, 0xc7, 0x32, 0x1e, 0x0e, 0x0c, 0x71, 0x0b, 0xf7, 0x0a, 0xf3, 0xd0, 0xc3, 0x16, 0x7b, 0x43,
- 0xae, 0x8f, 0x1b, 0x41, 0xbe, 0x8b, 0x1e, 0x42, 0x43, 0xcc, 0xd9, 0xd3, 0x7b, 0x62, 0x8a, 0xe1,
- 0xeb, 0x02, 0x3c, 0x55, 0x1b, 0xf3, 0x11, 0xd8, 0xda, 0x8a, 0x04, 0xde, 0xd9, 0x35, 0x0f, 0x68,
- 0x15, 0x31, 0xa9, 0x8d, 0x15, 0x7e, 0xc8, 0x61, 0xf4, 0x12, 0x4c, 0x4a, 0x7c, 0x96, 0x26, 0x4e,
- 0x55, 0x4c, 0xec, 0xc9, 0xb7, 0x98, 0xd8, 0x91, 0x1f, 0x46, 0x73, 0x4a, 0xb0, 0xb0, 0xc3, 0xca,
- 0x1e, 0x7d, 0x17, 0x36, 0xfc, 0x20, 0x08, 0x79, 0x56, 0xf0, 0x23, 0x2f, 0x4c, 0xa6, 0xa9, 0x63,
- 0x89, 0xb9, 0x35, 0x57, 0x70, 0x2f, 0x99, 0xa6, 0x32, 0x90, 0x2c, 0x88, 0x37, 0x11, 0xc7, 0xd0,
- 0x01, 0xb1, 0x75, 0xc0, 0x21, 0x75, 0xf9, 0xb7, 0xc1, 0x8a, 0x52, 0x1e, 0x47, 0x83, 0x90, 0x3a,
- 0x35, 0x99, 0x2d, 0x04, 0xd0, 0x0d, 0x29, 0xea, 0x41, 0x4d, 0x12, 0x20, 0xe9, 0xac, 0x7f, 0x23,
- 0x9d, 0xe2, 0x40, 0xf9, 0x19, 0x91, 0x74, 0x82, 0x30, 0x96, 0x5c, 0x6e, 0x83, 0x35, 0x0d, 0x23,
- 0xe2, 0xb1, 0xf0, 0x2b, 0xe2, 0x34, 0x04, 0x3f, 0x55, 0x0e, 0x0c, 0xc3, 0xaf, 0x48, 0xeb, 0x4f,
- 0x25, 0x40, 0x6f, 0x6f, 0x07, 0xda, 0x04, 0xbb, 0x3b, 0xf8, 0xa2, 0x7f, 0x3c, 0x68, 0x77, 0xbd,
- 0x71, 0xff, 0x27, 0xfd, 0xc1, 0x17, 0x7d, 0xfb, 0x16, 0xfa, 0x00, 0xd0, 0x12, 0x1d, 0x8e, 0x3b,
- 0x1d, 0xd7, 0xed, 0xba, 0x5d, 0xbb, 0x54, 0xc0, 0xb1, 0xfb, 0xf9, 0xd8, 0x1d, 0x8e, 0xdc, 0xae,
- 0x5d, 0x2e, 0x78, 0x19, 0x8e, 0xda, 0x98, 0xa3, 0x6b, 0xe8, 0x0e, 0x6c, 0x2c, 0xd1, 0xa3, 0x76,
- 0xef, 0xd8, 0xed, 0xda, 0xeb, 0xc8, 0x81, 0xcd, 0xdc, 0x80, 0xc3, 0xf1, 0xc9, 0xc9, 0x40, 0xa8,
- 0x1b, 0x05, 0xe7, 0x9d, 0x76, 0xbf, 0xe3, 0x1e, 0x73, 0x0b, 0xb3, 0xf5, 0xdb, 0x12, 0x6c, 0xfd,
- 0xf7, 0xfd, 0x42, 0x75, 0xa8, 0xf6, 0x07, 0x9e, 0x8b, 0xf1, 0x80, 0x47, 0xe7, 0x0d, 0xa8, 0xf5,
- 0xfa, 0xa7, 0xed, 0xe3, 0x5e, 0xd7, 0x1b, 0xe3, 0x63, 0xbb, 0xc4, 0x81, 0xae, 0x7b, 0xda, 0xeb,
- 0xb8, 0xde, 0xe1, 0x78, 0xf8, 0x73, 0xbb, 0xcc, 0x87, 0xe9, 0xf5, 0x87, 0xe3, 0xa3, 0xa3, 0x5e,
- 0xa7, 0xe7, 0xf6, 0x47, 0xde, 0xf0, 0xa4, 0xdd, 0x71, 0xed, 0x35, 0x74, 0x1b, 0x1a, 0x8a, 0x00,
- 0xe5, 0x6c, 0x1d, 0x35, 0xc0, 0x5a, 0x4d, 0xc4, 0x68, 0xfd, 0x4e, 0x53, 0x58, 0xd8, 0x02, 0x6e,
- 0xd8, 0xfb, 0x69, 0xfb, 0x85, 0x9b, 0xe3, 0x0f, 0x41, 0x53, 0x42, 0xbd, 0x7e, 0xbb, 0x33, 0xea,
- 0x9d, 0xf2, 0x64, 0xb1, 0x09, 0xb6, 0xc4, 0x04, 0xd2, 0x1e, 0xf5, 0xfa, 0x2f, 0xec, 0x32, 0xb2,
- 0xa1, 0x9e, 0x43, 0x5d, 0xc9, 0x9a, 0x44, 0xb0, 0x7b, 0xea, 0x62, 0xa1, 0xb6, 0xbe, 0x72, 0x28,
- 0x41, 0x3e, 0x9d, 0x1f, 0x1a, 0xff, 0x7e, 0xf3, 0x7a, 0xe7, 0x56, 0xeb, 0x47, 0xd0, 0x2c, 0xb0,
- 0xc3, 0xd0, 0xc7, 0x3a, 0xd7, 0x96, 0x8b, 0x91, 0xb5, 0xa0, 0xa6, 0xd3, 0xed, 0x1f, 0x0c, 0x58,
- 0x3f, 0x49, 0x69, 0x86, 0xee, 0x41, 0x65, 0x96, 0xd2, 0xcc, 0x4b, 0x52, 0x11, 0x27, 0x1a, 0xd8,
- 0xe4, 0xdd, 0x7e, 0x8a, 0x36, 0xc1, 0x88, 0xfc, 0x33, 0x12, 0xa9, 0x60, 0x21, 0x3b, 0xe8, 0x23,
- 0x95, 0x85, 0xd7, 0xc4, 0x81, 0x5d, 0x45, 0xef, 0x94, 0x66, 0xe2, 0x93, 0xcb, 0xc1, 0x3f, 0x86,
- 0x9a, 0x1f, 0xc4, 0x61, 0x52, 0x88, 0x18, 0x3b, 0xfb, 0xaa, 0x9a, 0x6b, 0x73, 0x91, 0x60, 0x32,
- 0xd7, 0xc4, 0xe0, 0x2f, 0xdb, 0xdc, 0x3e, 0x9d, 0x11, 0x2a, 0xcc, 0xe7, 0x4c, 0x44, 0x88, 0x9c,
- 0xfd, 0x60, 0x46, 0xe8, 0x50, 0x48, 0x72, 0x4d, 0x0c, 0xe9, 0xb2, 0xcd, 0xef, 0x85, 0x2c, 0x3c,
- 0x3d, 0x15, 0x59, 0x2d, 0x5c, 0x95, 0x40, 0x2f, 0xe0, 0x64, 0xcd, 0x08, 0xa1, 0xcc, 0xa9, 0xde,
- 0x48, 0x43, 0x62, 0x21, 0x84, 0x50, 0xde, 0xc0, 0x52, 0x87, 0xe7, 0x69, 0x7a, 0xe5, 0xcd, 0xfc,
- 0xc9, 0x97, 0x24, 0x63, 0x22, 0x1c, 0x98, 0xd8, 0xa2, 0x57, 0x27, 0x12, 0xe0, 0x11, 0x9c, 0x5e,
- 0xa9, 0xf8, 0x04, 0x42, 0x58, 0xa1, 0x57, 0x32, 0x2e, 0x6d, 0x83, 0x45, 0xaf, 0x3c, 0x42, 0x69,
- 0x4a, 0x99, 0x88, 0x01, 0x26, 0xae, 0xd2, 0x2b, 0x57, 0xf4, 0xb9, 0xdb, 0x6c, 0xe5, 0xb6, 0x2e,
- 0xdd, 0x66, 0x79, 0xb7, 0x99, 0x76, 0xdb, 0x90, 0x6e, 0xb3, 0x95, 0xdb, 0x6c, 0xe9, 0xb6, 0x29,
- 0xdd, 0x66, 0xca, 0xed, 0xd6, 0x73, 0xa8, 0xea, 0x05, 0x14, 0x39, 0x28, 0xdd, 0xe0, 0x20, 0xb7,
- 0xf5, 0xe5, 0xfc, 0xd6, 0xb7, 0x18, 0x54, 0xf5, 0x5e, 0xf2, 0x0a, 0x67, 0x75, 0xc0, 0x6d, 0xa8,
- 0xbb, 0xa3, 0x97, 0x2e, 0xee, 0xbb, 0x23, 0xaf, 0xdf, 0xef, 0xd9, 0xa5, 0x02, 0x32, 0xee, 0xf7,
- 0x64, 0x49, 0x74, 0x32, 0xe8, 0x7b, 0x83, 0xe3, 0x91, 0xbd, 0xb6, 0xec, 0xf4, 0xc7, 0xf2, 0x5e,
- 0x9d, 0xba, 0x5c, 0x91, 0xcb, 0x8c, 0x5c, 0xb7, 0x3f, 0xb6, 0x4d, 0x7d, 0xae, 0x3f, 0x06, 0x83,
- 0x8f, 0xcd, 0x50, 0xab, 0x58, 0x3a, 0xd6, 0xf3, 0x3b, 0xa4, 0x4f, 0xf1, 0xdf, 0xea, 0x60, 0xca,
- 0x52, 0x12, 0xdd, 0x5d, 0xa5, 0x3a, 0x5d, 0x79, 0xf0, 0x8c, 0x77, 0x3f, 0x57, 0x35, 0x2e, 0x05,
- 0xf2, 0x7c, 0xde, 0x87, 0x75, 0x9a, 0xa6, 0x59, 0xb1, 0xa8, 0x11, 0x10, 0x6a, 0x81, 0x35, 0xf3,
- 0x29, 0x49, 0x32, 0x4e, 0xdb, 0x7a, 0xde, 0xb4, 0x2a, 0x71, 0x71, 0x82, 0x9a, 0x4a, 0x47, 0x93,
- 0xb8, 0xc9, 0x49, 0x5c, 0x96, 0x3d, 0x52, 0x78, 0x22, 0x2f, 0xd3, 0x0e, 0x98, 0xf2, 0x29, 0x20,
- 0x9f, 0x0d, 0x5a, 0x49, 0x81, 0x68, 0x1b, 0x8c, 0x38, 0x0d, 0x48, 0x24, 0xd3, 0xa0, 0x96, 0x4a,
- 0x0c, 0x3d, 0x01, 0xfb, 0xc2, 0xa7, 0xc1, 0xa5, 0x4f, 0x57, 0xe9, 0xb2, 0x92, 0xd7, 0xdb, 0xd0,
- 0x62, 0x9d, 0x38, 0x9f, 0x80, 0x3d, 0x0d, 0x69, 0x5c, 0xb0, 0xa8, 0x16, 0x2c, 0xb4, 0x58, 0x5b,
- 0x3c, 0x06, 0x53, 0x64, 0x14, 0x79, 0xba, 0x6b, 0x4f, 0x9b, 0x85, 0xe0, 0xc1, 0x96, 0xf3, 0x95,
- 0x4a, 0xbc, 0xe2, 0x63, 0x84, 0x86, 0x7e, 0xe4, 0x25, 0xf3, 0xf8, 0x8c, 0x50, 0x71, 0xec, 0x97,
- 0xde, 0xeb, 0x52, 0xd6, 0x17, 0x22, 0xce, 0xe5, 0xea, 0xd1, 0xe4, 0x14, 0xb8, 0x5c, 0xbe, 0x9d,
- 0x76, 0x57, 0x8f, 0xa3, 0x5a, 0x5e, 0x63, 0xf9, 0x46, 0x42, 0xb0, 0xbe, 0x88, 0xfc, 0x44, 0x5c,
- 0x92, 0x06, 0x16, 0x6d, 0x9e, 0x80, 0x63, 0x7f, 0xc2, 0x9f, 0x3e, 0x94, 0x30, 0x79, 0x45, 0x2c,
- 0x0c, 0xb1, 0x3f, 0x69, 0x4b, 0x04, 0x3d, 0x84, 0x7a, 0x38, 0x5b, 0xfc, 0x60, 0xa9, 0xc1, 0x2f,
- 0x8a, 0xf5, 0xf2, 0x16, 0xae, 0x71, 0xb4, 0xa8, 0xf4, 0xc9, 0x52, 0x69, 0x23, 0xa7, 0xf4, 0x89,
- 0x56, 0xfa, 0x10, 0x1a, 0x17, 0x29, 0xcb, 0x3c, 0x3f, 0x09, 0xc4, 0x6e, 0x3b, 0x77, 0xb5, 0x16,
- 0x87, 0xdb, 0x49, 0x20, 0x2e, 0xdb, 0x0e, 0x00, 0xb9, 0xca, 0xa8, 0xef, 0xf9, 0xf4, 0x9c, 0x39,
- 0xf7, 0x64, 0xb5, 0x2f, 0x90, 0x36, 0x3d, 0x67, 0xe8, 0x39, 0x34, 0x66, 0x34, 0xbd, 0xba, 0x5e,
- 0x0e, 0x75, 0x47, 0x50, 0xbd, 0x5d, 0x7c, 0x13, 0xed, 0x9f, 0x70, 0x1d, 0x35, 0x30, 0xae, 0xcf,
- 0x72, 0xbd, 0x9b, 0x11, 0xd5, 0xfe, 0x5f, 0x23, 0xaa, 0x5b, 0x8c, 0xa8, 0xb7, 0xbf, 0x45, 0x44,
- 0xd5, 0x3b, 0x91, 0x0f, 0xac, 0x3b, 0xcb, 0x62, 0xeb, 0x83, 0xc2, 0x61, 0x56, 0x15, 0xd4, 0xe7,
- 0xd0, 0x9c, 0xa4, 0x49, 0xc2, 0x5f, 0x92, 0x6a, 0x20, 0x24, 0x06, 0x7a, 0xa8, 0x07, 0xea, 0x48,
- 0xa9, 0x1a, 0xab, 0xd0, 0xd3, 0xbe, 0x1a, 0x93, 0x3c, 0x8a, 0xbe, 0x07, 0xe6, 0x64, 0xce, 0xb2,
- 0x34, 0x76, 0x9e, 0x0b, 0xce, 0x36, 0xf7, 0xe5, 0xcf, 0x83, 0x7d, 0xfd, 0xf3, 0x60, 0xbf, 0x9d,
- 0x5c, 0x63, 0xa5, 0x83, 0x9e, 0x81, 0xc1, 0x37, 0x89, 0x39, 0xbf, 0x7c, 0x47, 0xe8, 0x38, 0x6c,
- 0xfe, 0xfd, 0xcd, 0xeb, 0x1d, 0x6b, 0x19, 0xfa, 0xb0, 0xd4, 0x45, 0x4f, 0xc0, 0x10, 0xef, 0x5d,
- 0xe7, 0x57, 0x25, 0x31, 0x04, 0xda, 0xcf, 0xff, 0x40, 0x10, 0x4f, 0xdc, 0x43, 0x83, 0x9b, 0xde,
- 0xc2, 0x52, 0x11, 0x3d, 0x87, 0x9a, 0x10, 0xab, 0xf7, 0xcc, 0xaf, 0xa5, 0xdd, 0xbd, 0xb7, 0xec,
- 0xc4, 0xbb, 0x66, 0x69, 0x0c, 0xd3, 0x25, 0x84, 0x3e, 0x03, 0x98, 0xc5, 0xaa, 0x80, 0x64, 0xce,
- 0xd7, 0xd2, 0xc1, 0xed, 0x9b, 0x2f, 0x9c, 0xa5, 0xa9, 0x35, 0x5b, 0x3e, 0xe3, 0x8e, 0x61, 0x43,
- 0x96, 0x8f, 0xba, 0x10, 0x66, 0xce, 0x6f, 0x4a, 0xef, 0x49, 0xfb, 0x87, 0x35, 0xee, 0xc2, 0x94,
- 0xe5, 0x3f, 0x6e, 0x86, 0x85, 0xca, 0x61, 0xeb, 0xeb, 0x32, 0xd4, 0xf3, 0xc7, 0xee, 0xfd, 0x69,
- 0x63, 0x17, 0x6a, 0x4a, 0xb8, 0x8a, 0xac, 0x18, 0x82, 0xd5, 0x6f, 0x93, 0x1d, 0x80, 0xc9, 0x85,
- 0x9f, 0x24, 0x24, 0xe2, 0xe6, 0x6b, 0xf2, 0x59, 0xab, 0x90, 0x5e, 0x80, 0xf6, 0xc0, 0xd6, 0x62,
- 0xf9, 0xfa, 0x55, 0x31, 0xb6, 0x81, 0x9b, 0x0a, 0x17, 0xf4, 0xf4, 0x02, 0x74, 0x00, 0x77, 0xb4,
- 0x66, 0x46, 0x68, 0x1c, 0x26, 0x3e, 0xaf, 0xbf, 0xd5, 0x9f, 0x17, 0xa4, 0x44, 0xa3, 0x95, 0x04,
- 0xdd, 0x05, 0x33, 0x4d, 0xe6, 0xdc, 0xa1, 0x29, 0x1c, 0x1a, 0x69, 0x32, 0xef, 0x05, 0xe8, 0x43,
- 0x68, 0x72, 0x98, 0x11, 0xc6, 0x83, 0x9d, 0x2e, 0x07, 0x1a, 0xb8, 0x9e, 0x26, 0xf3, 0xa1, 0x04,
- 0x7b, 0x81, 0x4a, 0x40, 0x87, 0x16, 0x8f, 0x45, 0x82, 0x86, 0xd6, 0x01, 0x54, 0xe4, 0xa5, 0xe4,
- 0x11, 0xa0, 0x90, 0x8d, 0x9a, 0xc5, 0x4b, 0xab, 0xf3, 0xd1, 0x1f, 0xd7, 0x60, 0x73, 0x18, 0xc6,
- 0xf3, 0xc8, 0xcf, 0x48, 0x3b, 0xf2, 0x69, 0x8c, 0xc9, 0xab, 0x39, 0x61, 0xd9, 0x5b, 0x0f, 0xb1,
- 0xff, 0x03, 0x2b, 0x4c, 0x82, 0x70, 0xe2, 0x67, 0xa9, 0xfe, 0x1f, 0xb4, 0x02, 0x78, 0x62, 0x0e,
- 0x93, 0x6c, 0xaa, 0xd9, 0xb3, 0xb0, 0xc9, 0xbb, 0x72, 0x21, 0xe2, 0xd8, 0x72, 0xe2, 0xe5, 0x3f,
- 0x05, 0xf9, 0x28, 0xad, 0xcf, 0x54, 0xba, 0x16, 0xbf, 0x15, 0x5a, 0xd0, 0xe0, 0xcb, 0x5d, 0xed,
- 0xa0, 0x24, 0xac, 0x96, 0x26, 0xf3, 0xae, 0xde, 0xc4, 0x67, 0xf0, 0x41, 0x98, 0xf0, 0xdc, 0x40,
- 0xbc, 0xb3, 0x30, 0x93, 0xa5, 0x84, 0x47, 0x79, 0x54, 0xe1, 0xcc, 0x19, 0xf8, 0x8e, 0x92, 0x1e,
- 0x86, 0x99, 0x28, 0x2b, 0xb0, 0x7c, 0x35, 0x18, 0x01, 0x0d, 0xa7, 0x99, 0xa0, 0xcf, 0xc0, 0xb2,
- 0xc3, 0x67, 0x9b, 0x90, 0x4b, 0x8f, 0xbc, 0x0a, 0x44, 0x92, 0x31, 0xb0, 0x99, 0x90, 0x4b, 0xf7,
- 0x55, 0x80, 0x1e, 0xc1, 0x6d, 0x49, 0x7b, 0x3e, 0x53, 0xc8, 0xc7, 0xd4, 0x86, 0x60, 0x3e, 0x97,
- 0x25, 0x5e, 0x82, 0xc5, 0x23, 0x8c, 0xdc, 0x60, 0x10, 0xf1, 0xe2, 0x91, 0xe6, 0xf8, 0x5d, 0x8c,
- 0x8a, 0x10, 0x25, 0xb4, 0x45, 0xc5, 0xb9, 0x32, 0x6e, 0x7d, 0x07, 0x1a, 0x05, 0x19, 0xb2, 0xc0,
- 0xc0, 0xed, 0xde, 0xd0, 0x95, 0x3f, 0x71, 0x3a, 0xc7, 0x6e, 0x1b, 0xdb, 0xa5, 0xc3, 0x27, 0xbf,
- 0xd8, 0x3f, 0x0f, 0xb3, 0x8b, 0xf9, 0x19, 0x8f, 0x4a, 0xe2, 0x67, 0xe1, 0x24, 0xa5, 0xc1, 0x81,
- 0x1c, 0xf2, 0xb1, 0xfa, 0x45, 0xb8, 0x78, 0x7a, 0x70, 0x9e, 0x2a, 0xec, 0xcc, 0x14, 0xe0, 0xb3,
- 0xff, 0x04, 0x00, 0x00, 0xff, 0xff, 0xc5, 0x71, 0xb2, 0x11, 0xdd, 0x14, 0x00, 0x00,
+ // 2359 bytes of a gzipped FileDescriptorProto
+ 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x58, 0x4d, 0x73, 0xdb, 0xc6,
+ 0xf9, 0x37, 0x29, 0x01, 0x24, 0x1e, 0xbe, 0x08, 0x5e, 0xcb, 0x31, 0x6c, 0xfd, 0x35, 0xf6, 0x9f,
+ 0x4e, 0xa7, 0x4a, 0x52, 0x4b, 0x6e, 0xdc, 0x49, 0xd2, 0x43, 0x67, 0x4c, 0x91, 0xb0, 0x8d, 0xa9,
+ 0x4a, 0xa9, 0x4b, 0x52, 0x69, 0x7b, 0xc1, 0x40, 0xc4, 0x4a, 0xc2, 0x04, 0x2f, 0xf4, 0x02, 0xa4,
+ 0xe5, 0x9c, 0xda, 0x66, 0xd2, 0x53, 0x6f, 0xfd, 0x12, 0xfd, 0x06, 0x3d, 0xb6, 0x33, 0x3d, 0x67,
+ 0xfa, 0x1d, 0xda, 0x99, 0x4e, 0x3f, 0x41, 0xce, 0x9d, 0x7d, 0x76, 0x97, 0x04, 0x64, 0xd7, 0x69,
+ 0x2f, 0x12, 0xf6, 0xf7, 0xbc, 0xec, 0xee, 0x6f, 0x77, 0x9f, 0x17, 0xc2, 0xbd, 0x65, 0x16, 0x17,
+ 0x97, 0x81, 0x3f, 0xe7, 0x59, 0x91, 0xe5, 0x07, 0x21, 0x5b, 0x46, 0x33, 0xb6, 0x8f, 0x23, 0x62,
+ 0x4a, 0xd9, 0xbd, 0xbb, 0x17, 0x59, 0x76, 0x11, 0xb3, 0x03, 0x44, 0xcf, 0x16, 0xe7, 0x07, 0x41,
+ 0xfa, 0x5a, 0xaa, 0xdc, 0xbb, 0x66, 0x3e, 0xcb, 0x92, 0x24, 0x4b, 0x95, 0xcc, 0xa9, 0xca, 0x12,
+ 0x56, 0x04, 0x4a, 0x72, 0xbf, 0x2a, 0xc9, 0xe6, 0x2c, 0x3d, 0x8f, 0xb3, 0x57, 0xfe, 0x0f, 0x9f,
+ 0x48, 0x85, 0xde, 0x9f, 0xeb, 0x00, 0x43, 0x5c, 0xca, 0xe4, 0xf5, 0x9c, 0x91, 0x2e, 0xd4, 0xa3,
+ 0xd0, 0xa9, 0x3d, 0xa8, 0xed, 0x59, 0xb4, 0x1e, 0x85, 0x64, 0x07, 0xac, 0x25, 0x4b, 0xc3, 0x8c,
+ 0xfb, 0x51, 0xe8, 0x18, 0x08, 0x37, 0x25, 0xe0, 0x85, 0x64, 0x17, 0x60, 0x25, 0xcc, 0x1d, 0xf3,
+ 0xc1, 0xc6, 0x9e, 0x45, 0x2d, 0x2d, 0xcd, 0x89, 0x03, 0x8d, 0x20, 0x0c, 0xe6, 0x05, 0xe3, 0x4e,
+ 0x1d, 0x2d, 0xf5, 0x90, 0x7c, 0x0a, 0x4e, 0x30, 0x9b, 0xb1, 0x79, 0x91, 0xfb, 0x67, 0x8b, 0xf8,
+ 0x0b, 0x1f, 0x97, 0xb4, 0x98, 0x87, 0x41, 0xc1, 0x9c, 0x8d, 0x07, 0xb5, 0xbd, 0x26, 0xbd, 0xad,
+ 0xe4, 0x87, 0x8b, 0xf8, 0x8b, 0x67, 0x71, 0xf6, 0x6a, 0x8a, 0x42, 0x32, 0x84, 0xfb, 0xda, 0x30,
+ 0x08, 0x43, 0x9f, 0xb3, 0x24, 0x5b, 0xb2, 0xb2, 0x79, 0xee, 0x6c, 0xa2, 0xfd, 0x8e, 0x52, 0xeb,
+ 0x87, 0x21, 0x45, 0xa5, 0xb5, 0x93, 0x9c, 0x1c, 0xc1, 0x43, 0xed, 0x25, 0x8c, 0x38, 0x9b, 0x15,
+ 0x7e, 0x9c, 0x5d, 0x44, 0xb3, 0x20, 0x46, 0x4f, 0xb9, 0x5e, 0x49, 0x03, 0x3d, 0xe9, 0x09, 0x87,
+ 0xa8, 0x79, 0x24, 0x15, 0x85, 0xb7, 0x5c, 0xba, 0xeb, 0x7d, 0x0a, 0xad, 0x35, 0x81, 0x39, 0xd9,
+ 0x03, 0x23, 0x2a, 0x58, 0x92, 0x3b, 0xb5, 0x07, 0x1b, 0x7b, 0xad, 0x8f, 0xc9, 0xbe, 0x3c, 0x81,
+ 0xfd, 0xb5, 0x0e, 0x95, 0x0a, 0xbd, 0xbf, 0xd4, 0xa0, 0x79, 0x92, 0x0c, 0xb2, 0xf4, 0x3c, 0xba,
+ 0x20, 0x04, 0x36, 0xd3, 0x20, 0x61, 0x8a, 0x7a, 0xfc, 0x26, 0x1f, 0xc1, 0x66, 0xf1, 0x7a, 0xce,
+ 0x90, 0xbd, 0xee, 0xc7, 0x77, 0xb4, 0x27, 0x6d, 0xb3, 0x7f, 0x92, 0xa0, 0x3b, 0x54, 0x12, 0x6c,
+ 0xb3, 0x34, 0x38, 0x8b, 0x59, 0xa8, 0x28, 0xd4, 0x43, 0x72, 0x1f, 0x5a, 0x79, 0x90, 0xcc, 0x63,
+ 0xe6, 0x9f, 0x73, 0xf6, 0x12, 0x09, 0xea, 0x50, 0x90, 0xd0, 0x33, 0xce, 0x5e, 0xf6, 0x3e, 0x03,
+ 0x53, 0xba, 0x22, 0x2d, 0x68, 0x0c, 0x8e, 0xa7, 0xa3, 0x89, 0x4b, 0xed, 0x1b, 0xc4, 0x02, 0xe3,
+ 0x79, 0x7f, 0xfa, 0xdc, 0xb5, 0x6b, 0xe2, 0x73, 0x3c, 0xe9, 0x4f, 0x5c, 0xbb, 0x2e, 0x55, 0x46,
+ 0x13, 0xf7, 0x17, 0x13, 0x7b, 0xa3, 0xf7, 0x87, 0x1a, 0x74, 0x4e, 0x92, 0xe7, 0x3c, 0x5b, 0xcc,
+ 0xd5, 0x3e, 0x76, 0x01, 0x2e, 0xc4, 0xd0, 0x2f, 0xed, 0xc6, 0x42, 0x64, 0x24, 0xb6, 0xb4, 0x12,
+ 0xe3, 0x52, 0xea, 0xb8, 0x14, 0x29, 0x16, 0x2b, 0x79, 0xc7, 0x26, 0x3e, 0x84, 0x46, 0xc2, 0x0a,
+ 0x1e, 0xcd, 0xc4, 0x09, 0x0b, 0x62, 0xed, 0xeb, 0x74, 0x50, 0xad, 0xd0, 0xfb, 0x67, 0x0d, 0x2c,
+ 0x8d, 0xe6, 0x6f, 0x5c, 0xe9, 0xff, 0x87, 0x76, 0xc8, 0xce, 0x83, 0x45, 0x5c, 0x94, 0x17, 0xd1,
+ 0x52, 0x18, 0x2e, 0xe3, 0x3e, 0x34, 0x70, 0x4d, 0x7a, 0x19, 0x87, 0xc6, 0xbf, 0xbe, 0xfd, 0x66,
+ 0xb7, 0x46, 0x35, 0x4a, 0x3e, 0x84, 0x8e, 0xb0, 0xf5, 0xb3, 0x25, 0xe3, 0x3c, 0x0a, 0x99, 0xbc,
+ 0x75, 0x5a, 0xad, 0x2d, 0x64, 0xc7, 0x4a, 0x44, 0x1e, 0x81, 0x89, 0x66, 0xb9, 0x63, 0xe0, 0xc2,
+ 0x6f, 0xaf, 0x17, 0x5e, 0x22, 0x8e, 0x2a, 0xa5, 0xf2, 0x46, 0xcd, 0xef, 0xda, 0xe8, 0xdf, 0x6a,
+ 0x60, 0x78, 0x49, 0x70, 0xc1, 0xde, 0x7a, 0x7d, 0x1c, 0x68, 0x2c, 0x19, 0xcf, 0xa3, 0x2c, 0xd5,
+ 0xef, 0x4f, 0x0d, 0x85, 0xf6, 0x65, 0x90, 0x5f, 0xe2, 0xe6, 0x2c, 0x8a, 0xdf, 0xe4, 0x03, 0xb0,
+ 0xa3, 0x34, 0x2f, 0x82, 0x38, 0xf6, 0xc5, 0xb5, 0x2e, 0xa2, 0x44, 0xee, 0xca, 0xa2, 0x5b, 0x0a,
+ 0x1f, 0x2a, 0x58, 0x04, 0x85, 0x28, 0xf7, 0x83, 0x59, 0x11, 0x2d, 0x19, 0x06, 0x85, 0x26, 0x6d,
+ 0x46, 0x79, 0x1f, 0xc7, 0x82, 0xde, 0x28, 0xf7, 0x45, 0x78, 0x8a, 0x8a, 0x82, 0x85, 0x8e, 0x89,
+ 0xf2, 0x56, 0x94, 0x0f, 0x34, 0x44, 0xee, 0x42, 0x33, 0xca, 0xfd, 0x65, 0x10, 0x47, 0xa1, 0x7a,
+ 0x64, 0x8d, 0x28, 0x3f, 0x15, 0xc3, 0xde, 0x23, 0x30, 0x71, 0x43, 0x39, 0x79, 0x08, 0x46, 0x24,
+ 0xbe, 0xd4, 0x3b, 0xea, 0x68, 0x16, 0x50, 0x4c, 0xa5, 0xac, 0xf7, 0x8f, 0x06, 0x74, 0x10, 0x18,
+ 0x66, 0xaf, 0xd2, 0x38, 0x0b, 0xc2, 0x37, 0x4e, 0x5b, 0x13, 0x53, 0x2f, 0x11, 0x63, 0xc3, 0xc6,
+ 0x82, 0xc7, 0x6a, 0xf7, 0xe2, 0x53, 0x20, 0x33, 0x3e, 0x53, 0x4f, 0x43, 0x7c, 0x92, 0x63, 0xe8,
+ 0x86, 0xca, 0xa7, 0x9f, 0x17, 0x22, 0x1c, 0x18, 0xf8, 0x0a, 0xf7, 0x2a, 0xeb, 0xd0, 0xd3, 0x56,
+ 0x47, 0x63, 0xa1, 0x4f, 0x3b, 0x61, 0x79, 0x48, 0x1e, 0x42, 0x07, 0xd7, 0xec, 0xeb, 0x33, 0x31,
+ 0x71, 0xfa, 0x36, 0x82, 0xa7, 0xea, 0x60, 0x3e, 0x00, 0x5b, 0x5b, 0xb1, 0xd0, 0x3f, 0x7b, 0x2d,
+ 0x02, 0x5a, 0x03, 0x17, 0xb5, 0xb5, 0xc6, 0x0f, 0x05, 0x4c, 0x5e, 0x80, 0xc9, 0x59, 0x90, 0x67,
+ 0xa9, 0xd3, 0xc4, 0x85, 0x3d, 0xfe, 0x2f, 0x16, 0xf6, 0x2c, 0x88, 0xe2, 0x05, 0x67, 0x14, 0xed,
+ 0xa8, 0xb2, 0x27, 0xdf, 0x87, 0xad, 0x20, 0x0c, 0xa3, 0x22, 0xca, 0xd2, 0x20, 0xf6, 0xa3, 0xf4,
+ 0x3c, 0x73, 0x2c, 0x5c, 0x5b, 0x77, 0x0d, 0x7b, 0xe9, 0x79, 0x26, 0x03, 0xc9, 0x92, 0xf9, 0x33,
+ 0xbc, 0x86, 0x0e, 0xe0, 0xd1, 0x81, 0x80, 0xd4, 0xe3, 0xdf, 0x01, 0x2b, 0xce, 0x44, 0x1c, 0x0d,
+ 0x23, 0xee, 0xb4, 0x64, 0xb6, 0x40, 0x60, 0x18, 0x71, 0xe2, 0x41, 0x4b, 0x12, 0x20, 0xe9, 0x6c,
+ 0x7f, 0x27, 0x9d, 0x78, 0xa1, 0x82, 0x82, 0x49, 0x3a, 0x01, 0x8d, 0x25, 0x97, 0x3b, 0x60, 0x9d,
+ 0x47, 0x31, 0xf3, 0xf3, 0xe8, 0x4b, 0xe6, 0x74, 0x90, 0x9f, 0xa6, 0x00, 0xc6, 0xd1, 0x97, 0xac,
+ 0xf7, 0xa7, 0x1a, 0x90, 0x37, 0x8f, 0x83, 0x6c, 0x83, 0x3d, 0x3c, 0xfe, 0x7c, 0x74, 0x74, 0xdc,
+ 0x1f, 0xfa, 0xd3, 0xd1, 0x4f, 0x47, 0xc7, 0x9f, 0x8f, 0xec, 0x1b, 0xe4, 0x3d, 0x20, 0x2b, 0x74,
+ 0x3c, 0x1d, 0x0c, 0x5c, 0x77, 0xe8, 0x0e, 0xed, 0x5a, 0x05, 0xa7, 0xee, 0xcf, 0xa7, 0xee, 0x78,
+ 0xe2, 0x0e, 0xed, 0x7a, 0xc5, 0xcb, 0x78, 0xd2, 0xa7, 0x02, 0xdd, 0x20, 0xb7, 0x60, 0x6b, 0x85,
+ 0x3e, 0xeb, 0x7b, 0x47, 0xee, 0xd0, 0xde, 0x24, 0x0e, 0x6c, 0x97, 0x26, 0x1c, 0x4f, 0x4f, 0x4e,
+ 0x8e, 0x51, 0xdd, 0xa8, 0x38, 0x1f, 0xf4, 0x47, 0x03, 0xf7, 0x48, 0x58, 0x98, 0xbd, 0xdf, 0xd5,
+ 0xe0, 0xde, 0x7f, 0x3e, 0x2f, 0xd2, 0x86, 0xe6, 0xe8, 0xd8, 0x77, 0x29, 0x3d, 0x16, 0xd1, 0x79,
+ 0x0b, 0x5a, 0xde, 0xe8, 0xb4, 0x7f, 0xe4, 0x0d, 0xfd, 0x29, 0x3d, 0xb2, 0x6b, 0x02, 0x18, 0xba,
+ 0xa7, 0xde, 0xc0, 0xf5, 0x0f, 0xa7, 0xe3, 0x5f, 0xda, 0x75, 0x31, 0x8d, 0x37, 0x1a, 0x4f, 0x9f,
+ 0x3d, 0xf3, 0x06, 0x9e, 0x3b, 0x9a, 0xf8, 0xe3, 0x93, 0xfe, 0xc0, 0xb5, 0x37, 0xc8, 0x4d, 0xe8,
+ 0x28, 0x02, 0x94, 0xb3, 0x4d, 0xd2, 0x01, 0x6b, 0xbd, 0x10, 0xa3, 0xf7, 0x7b, 0x4d, 0x61, 0xe5,
+ 0x08, 0x84, 0xa1, 0xf7, 0xb3, 0xfe, 0x73, 0xb7, 0xc4, 0x1f, 0x81, 0xae, 0x84, 0xbc, 0x51, 0x7f,
+ 0x30, 0xf1, 0x4e, 0x45, 0xb2, 0xd8, 0x06, 0x5b, 0x62, 0x88, 0xf4, 0x27, 0xde, 0xe8, 0xb9, 0x5d,
+ 0x27, 0x36, 0xb4, 0x4b, 0xa8, 0x2b, 0x59, 0x93, 0x08, 0x75, 0x4f, 0x5d, 0x8a, 0x6a, 0x9b, 0x6b,
+ 0x87, 0x12, 0xc4, 0xe5, 0xfc, 0x04, 0xba, 0x15, 0x5a, 0x72, 0xf2, 0x91, 0x4e, 0xb2, 0xf5, 0x6a,
+ 0x48, 0xad, 0xa8, 0xe9, 0x3c, 0xfb, 0xb5, 0x01, 0x9b, 0x27, 0x19, 0x2f, 0xc8, 0x1d, 0x68, 0xcc,
+ 0x33, 0x5e, 0xf8, 0x69, 0x86, 0x01, 0xa2, 0x43, 0x4d, 0x31, 0x1c, 0x65, 0x64, 0x1b, 0x8c, 0x38,
+ 0x38, 0x63, 0xb1, 0x8a, 0x12, 0x72, 0x40, 0x3e, 0x50, 0xe9, 0x77, 0x03, 0x6f, 0xea, 0x3a, 0x6c,
+ 0x67, 0xbc, 0xc0, 0x3f, 0xa5, 0xe4, 0xfb, 0x63, 0x68, 0x05, 0x61, 0x12, 0xa5, 0x95, 0x50, 0xe1,
+ 0xec, 0xab, 0x22, 0xad, 0x2f, 0x44, 0x48, 0xe1, 0x3e, 0xd6, 0x08, 0x14, 0x82, 0x15, 0x22, 0x4c,
+ 0xb3, 0x39, 0xe3, 0x68, 0xb9, 0xc8, 0x31, 0x2a, 0x94, 0x4c, 0x8f, 0xe7, 0x8c, 0x8f, 0x51, 0xa2,
+ 0x4d, 0xb3, 0x15, 0x22, 0x9e, 0x81, 0xac, 0x22, 0x7d, 0x15, 0x48, 0x2d, 0xda, 0x94, 0x80, 0x17,
+ 0x0a, 0x8a, 0xe6, 0x8c, 0xf1, 0xdc, 0x69, 0x5e, 0xcb, 0x3a, 0xb8, 0x7c, 0xc6, 0xb8, 0xf8, 0xa0,
+ 0x52, 0x47, 0xa4, 0x65, 0x7e, 0xe5, 0xcf, 0x83, 0xd9, 0x17, 0xac, 0xc8, 0xf1, 0xf5, 0x9b, 0xd4,
+ 0xe2, 0x57, 0x27, 0x12, 0x10, 0x01, 0x9b, 0x5f, 0xa9, 0x70, 0x04, 0x28, 0x6c, 0xf0, 0x2b, 0x19,
+ 0x86, 0x76, 0xc0, 0xe2, 0x57, 0x3e, 0xe3, 0x3c, 0xe3, 0x39, 0x3e, 0x79, 0x93, 0x36, 0xf9, 0x95,
+ 0x8b, 0x63, 0xe1, 0xb6, 0x58, 0xbb, 0x6d, 0x4b, 0xb7, 0x45, 0xd9, 0x6d, 0xa1, 0xdd, 0x76, 0xa4,
+ 0xdb, 0x62, 0xed, 0xb6, 0x58, 0xb9, 0xed, 0x4a, 0xb7, 0x85, 0x72, 0x7b, 0xef, 0x29, 0x34, 0xf5,
+ 0x06, 0xaa, 0x1c, 0xd4, 0xae, 0x71, 0x50, 0x3a, 0xf0, 0x7a, 0xf9, 0xc0, 0x7b, 0x39, 0x34, 0xf5,
+ 0x09, 0x8a, 0x82, 0x66, 0x7d, 0x9f, 0x6d, 0x68, 0xbb, 0x93, 0x17, 0x2e, 0x1d, 0xb9, 0x13, 0x7f,
+ 0x34, 0xf2, 0xec, 0x5a, 0x05, 0x99, 0x8e, 0x3c, 0x59, 0x01, 0x9d, 0x1c, 0x8f, 0xfc, 0xe3, 0xa3,
+ 0x89, 0xbd, 0xb1, 0x1a, 0x8c, 0xa6, 0xf2, 0x19, 0x9d, 0xba, 0x42, 0x51, 0xc8, 0x8c, 0xd2, 0x70,
+ 0x34, 0xb5, 0xcd, 0xde, 0x47, 0x60, 0x88, 0x49, 0x73, 0xd2, 0xab, 0x96, 0x88, 0xed, 0xf2, 0xd1,
+ 0xe8, 0x4b, 0xfb, 0xd7, 0x36, 0x98, 0xb2, 0x64, 0x24, 0xb7, 0xd7, 0x29, 0x4d, 0x57, 0x18, 0x22,
+ 0xb3, 0xdd, 0x2d, 0x55, 0x87, 0x2b, 0x81, 0xbc, 0x8e, 0x77, 0x61, 0x93, 0x67, 0x59, 0x51, 0x2d,
+ 0x5e, 0x10, 0x22, 0x3d, 0xb0, 0xe6, 0x01, 0x67, 0x69, 0x21, 0xf8, 0xda, 0x2c, 0x9b, 0x36, 0x25,
+ 0x8e, 0x57, 0xa7, 0xab, 0x74, 0x34, 0x7b, 0xdb, 0x82, 0xbd, 0x55, 0x79, 0x23, 0x85, 0x27, 0xf2,
+ 0xed, 0xec, 0x82, 0x29, 0x4b, 0x7e, 0xd9, 0x1e, 0x68, 0x25, 0x05, 0x92, 0x1d, 0x30, 0x92, 0x2c,
+ 0x64, 0xb1, 0x4c, 0x77, 0x5a, 0x2a, 0x31, 0xf2, 0x18, 0xec, 0xcb, 0x80, 0x87, 0xaf, 0x02, 0xbe,
+ 0x4e, 0x8b, 0x8d, 0xb2, 0xde, 0x96, 0x16, 0xeb, 0x04, 0xf9, 0x18, 0xec, 0xf3, 0x88, 0x27, 0x15,
+ 0x8b, 0x66, 0xc5, 0x42, 0x8b, 0xb5, 0xc5, 0x23, 0x30, 0x31, 0x73, 0xc8, 0x6b, 0xdd, 0xfa, 0xb8,
+ 0x5b, 0x89, 0x15, 0xf9, 0x6a, 0xbd, 0x52, 0x49, 0x54, 0x76, 0x39, 0xe3, 0x51, 0x10, 0xfb, 0xe9,
+ 0x22, 0x39, 0x63, 0x1c, 0xef, 0xfb, 0xca, 0x7b, 0x5b, 0xca, 0x46, 0x28, 0x12, 0x5c, 0xae, 0x9b,
+ 0x23, 0xa7, 0xc2, 0xe5, 0xaa, 0x47, 0xba, 0xbf, 0x6e, 0x82, 0x5a, 0x65, 0x8d, 0x55, 0x2f, 0x44,
+ 0x60, 0x73, 0x19, 0x07, 0x29, 0xbe, 0x8e, 0x0e, 0xc5, 0x6f, 0x91, 0x68, 0x93, 0x60, 0x26, 0x5a,
+ 0x1c, 0xce, 0x72, 0xf9, 0x36, 0x2c, 0x0a, 0x49, 0x30, 0xeb, 0x4b, 0x84, 0x3c, 0x84, 0x76, 0x34,
+ 0x5f, 0xfe, 0x68, 0xa5, 0x21, 0x5e, 0x88, 0xf5, 0xe2, 0x06, 0x6d, 0x09, 0xb4, 0xaa, 0xf4, 0xc9,
+ 0x4a, 0x69, 0xab, 0xa4, 0xf4, 0x89, 0x56, 0x7a, 0x1f, 0x3a, 0x97, 0x59, 0x5e, 0xf8, 0x41, 0x1a,
+ 0xe2, 0x69, 0x3b, 0xb7, 0xb5, 0x96, 0x80, 0xfb, 0x69, 0x88, 0xaf, 0x6c, 0x17, 0x80, 0x5d, 0x15,
+ 0x3c, 0xf0, 0x03, 0x7e, 0x91, 0x3b, 0x77, 0x64, 0x55, 0x8f, 0x48, 0x9f, 0x5f, 0xe4, 0xe4, 0x29,
+ 0x74, 0xe6, 0x3c, 0xbb, 0x7a, 0xbd, 0x9a, 0xea, 0x16, 0x52, 0xbd, 0x53, 0xed, 0x7d, 0xf6, 0x4f,
+ 0x84, 0x8e, 0x9a, 0x98, 0xb6, 0xe7, 0xa5, 0xd1, 0xf5, 0x00, 0x6a, 0xff, 0x0f, 0x01, 0xf4, 0x69,
+ 0x35, 0x80, 0xde, 0x7c, 0x77, 0x00, 0xd5, 0xfc, 0x97, 0xe3, 0xe8, 0xee, 0xaa, 0x94, 0x7a, 0xaf,
+ 0x72, 0x85, 0x55, 0x7d, 0xe4, 0x41, 0x77, 0x96, 0xa5, 0xa9, 0xe8, 0x13, 0xd5, 0x1c, 0x04, 0xe7,
+ 0xd8, 0xd1, 0x73, 0x0c, 0xa4, 0xf4, 0x6d, 0xd3, 0x74, 0x66, 0x65, 0x19, 0xf9, 0x01, 0x98, 0xb3,
+ 0x45, 0x5e, 0x64, 0x89, 0xf3, 0x14, 0x19, 0xda, 0xde, 0x97, 0x0d, 0xff, 0xbe, 0x6e, 0xf8, 0xf7,
+ 0xfb, 0xe9, 0x6b, 0xaa, 0x74, 0xc8, 0x13, 0x30, 0xc4, 0x91, 0xe4, 0xce, 0xaf, 0xdf, 0x12, 0x28,
+ 0x0e, 0xbb, 0x7f, 0xff, 0xf6, 0x9b, 0x5d, 0x6b, 0x15, 0xe1, 0xa8, 0xd4, 0x25, 0x8f, 0xc1, 0xc0,
+ 0x2e, 0xd6, 0xf9, 0x4d, 0x0d, 0xa7, 0x20, 0xfb, 0xe5, 0xa6, 0x1f, 0x1b, 0xd7, 0x43, 0x43, 0x98,
+ 0xde, 0xa0, 0x52, 0x51, 0x10, 0x88, 0x62, 0xd5, 0xa5, 0xfc, 0x56, 0xda, 0xdd, 0x79, 0xc3, 0x0e,
+ 0xbb, 0x95, 0x95, 0x31, 0x9c, 0xaf, 0x20, 0xf2, 0x19, 0xc0, 0x3c, 0x51, 0x65, 0x61, 0xee, 0x7c,
+ 0x25, 0x1d, 0xdc, 0xbc, 0xde, 0xb7, 0xac, 0x4c, 0xad, 0xf9, 0xaa, 0x39, 0x3b, 0x82, 0x2d, 0x59,
+ 0x14, 0xea, 0xf2, 0x36, 0x77, 0xbe, 0xae, 0xbd, 0x23, 0xa7, 0x1f, 0xb6, 0x84, 0x0b, 0x53, 0x16,
+ 0xf5, 0xb4, 0x1b, 0x55, 0xca, 0x82, 0x7b, 0x5f, 0xd5, 0xa1, 0x5d, 0xbe, 0x64, 0xef, 0xce, 0x0e,
+ 0xf7, 0xa1, 0xa5, 0x84, 0xeb, 0x38, 0x4a, 0x21, 0x5c, 0xff, 0x18, 0xb2, 0x0b, 0x30, 0xbb, 0x0c,
+ 0xd2, 0x94, 0xc5, 0xc2, 0x7c, 0x43, 0x36, 0xab, 0x0a, 0xf1, 0x42, 0xb2, 0x07, 0xb6, 0x16, 0xcb,
+ 0x9e, 0x56, 0x45, 0xd4, 0x0e, 0xed, 0x2a, 0x1c, 0xe9, 0xf1, 0x42, 0x72, 0x00, 0xb7, 0xb4, 0x66,
+ 0xc1, 0x78, 0x12, 0xa5, 0x81, 0xa8, 0xaa, 0xd5, 0xef, 0x29, 0x44, 0x89, 0x26, 0x6b, 0x09, 0xb9,
+ 0x0d, 0x66, 0x96, 0x2e, 0x84, 0x43, 0x13, 0x1d, 0x1a, 0x59, 0xba, 0xf0, 0x42, 0xf2, 0x3e, 0x74,
+ 0x05, 0x9c, 0xb3, 0x5c, 0x84, 0x36, 0x9d, 0xf5, 0x3b, 0xb4, 0x9d, 0xa5, 0x8b, 0xb1, 0x04, 0xbd,
+ 0xf0, 0xd0, 0x12, 0x21, 0x07, 0xf7, 0xdf, 0x3b, 0x80, 0x86, 0x7c, 0x7b, 0xe2, 0xa1, 0x57, 0x92,
+ 0x4e, 0xb7, 0xfa, 0x36, 0x75, 0xda, 0xf9, 0xe3, 0x06, 0x6c, 0x8f, 0xa3, 0x64, 0x11, 0x07, 0x05,
+ 0xeb, 0xc7, 0x01, 0x4f, 0x28, 0x7b, 0xb9, 0x60, 0x79, 0xf1, 0x46, 0x5f, 0xf5, 0x7f, 0x60, 0x45,
+ 0x69, 0x18, 0xcd, 0x82, 0x22, 0xd3, 0x3f, 0xef, 0xac, 0x01, 0x91, 0x78, 0xa3, 0xb4, 0x38, 0xd7,
+ 0xb4, 0x59, 0xd4, 0x14, 0x43, 0xb9, 0x03, 0xbc, 0xaf, 0x82, 0x71, 0xf9, 0x13, 0x81, 0xec, 0x31,
+ 0xdb, 0x73, 0x95, 0x8e, 0xf1, 0x57, 0x82, 0x1e, 0x74, 0xc4, 0x3e, 0xd7, 0x47, 0x27, 0x99, 0x6a,
+ 0x65, 0xe9, 0x62, 0xa8, 0x4f, 0xef, 0x09, 0xbc, 0x17, 0xa5, 0x22, 0x05, 0x30, 0xff, 0x2c, 0x2a,
+ 0x64, 0xa9, 0xe0, 0x73, 0x11, 0x3c, 0x04, 0x65, 0x06, 0xbd, 0xa5, 0xa4, 0x87, 0x51, 0x81, 0x65,
+ 0x03, 0x95, 0x4d, 0x80, 0x11, 0xf2, 0xe8, 0xbc, 0x40, 0xde, 0x0c, 0x2a, 0x07, 0x62, 0xb5, 0x29,
+ 0x7b, 0xe5, 0xb3, 0x97, 0x21, 0xe6, 0x12, 0x83, 0x9a, 0x29, 0x7b, 0xe5, 0xbe, 0x14, 0x6d, 0xfe,
+ 0x4d, 0xc9, 0x77, 0x39, 0x21, 0xc8, 0xde, 0x68, 0x0b, 0x29, 0x2f, 0x25, 0x83, 0x17, 0x60, 0x89,
+ 0x90, 0x22, 0x4f, 0x16, 0x30, 0x40, 0x7c, 0xa8, 0x39, 0x7e, 0x1b, 0xa3, 0x18, 0x99, 0x50, 0x1b,
+ 0xeb, 0xc8, 0xb5, 0x71, 0xef, 0x7b, 0xd0, 0xa9, 0xc8, 0x88, 0x05, 0x06, 0xed, 0x7b, 0x63, 0x57,
+ 0xfe, 0x26, 0x33, 0x38, 0x72, 0xfb, 0xd4, 0xae, 0x1d, 0x8e, 0xe1, 0x56, 0xc6, 0x2f, 0xf0, 0x95,
+ 0xce, 0x32, 0x1e, 0xaa, 0xb9, 0x0e, 0xdb, 0xa7, 0xf8, 0x5f, 0xf2, 0xf4, 0xab, 0xfd, 0x8b, 0xa8,
+ 0xb8, 0x5c, 0x9c, 0x89, 0x48, 0x75, 0xa0, 0x35, 0x0f, 0xa4, 0xe6, 0x23, 0xf5, 0x9b, 0xe0, 0xf2,
+ 0xc9, 0xc1, 0x45, 0xa6, 0xb0, 0x33, 0x13, 0xc1, 0x27, 0xff, 0x0e, 0x00, 0x00, 0xff, 0xff, 0x35,
+ 0x16, 0x1c, 0x6d, 0xad, 0x14, 0x00, 0x00,
}
diff --git a/vendor/github.com/opencord/voltha-protos/v2/go/voltha/events.pb.go b/vendor/github.com/opencord/voltha-protos/v3/go/voltha/events.pb.go
similarity index 68%
rename from vendor/github.com/opencord/voltha-protos/v2/go/voltha/events.pb.go
rename to vendor/github.com/opencord/voltha-protos/v3/go/voltha/events.pb.go
index 1ddc775..7df3e27 100644
--- a/vendor/github.com/opencord/voltha-protos/v2/go/voltha/events.pb.go
+++ b/vendor/github.com/opencord/voltha-protos/v3/go/voltha/events.pb.go
@@ -6,7 +6,7 @@
import (
fmt "fmt"
proto "github.com/golang/protobuf/proto"
- _ "github.com/opencord/voltha-protos/v2/go/common"
+ _ "github.com/opencord/voltha-protos/v3/go/common"
_ "google.golang.org/genproto/googleapis/api/annotations"
math "math"
)
@@ -22,71 +22,71 @@
// proto package needs to be updated.
const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package
-type ConfigEventType_ConfigEventType int32
+type ConfigEventType_Types int32
const (
- ConfigEventType_add ConfigEventType_ConfigEventType = 0
- ConfigEventType_remove ConfigEventType_ConfigEventType = 1
- ConfigEventType_update ConfigEventType_ConfigEventType = 2
+ ConfigEventType_add ConfigEventType_Types = 0
+ ConfigEventType_remove ConfigEventType_Types = 1
+ ConfigEventType_update ConfigEventType_Types = 2
)
-var ConfigEventType_ConfigEventType_name = map[int32]string{
+var ConfigEventType_Types_name = map[int32]string{
0: "add",
1: "remove",
2: "update",
}
-var ConfigEventType_ConfigEventType_value = map[string]int32{
+var ConfigEventType_Types_value = map[string]int32{
"add": 0,
"remove": 1,
"update": 2,
}
-func (x ConfigEventType_ConfigEventType) String() string {
- return proto.EnumName(ConfigEventType_ConfigEventType_name, int32(x))
+func (x ConfigEventType_Types) String() string {
+ return proto.EnumName(ConfigEventType_Types_name, int32(x))
}
-func (ConfigEventType_ConfigEventType) EnumDescriptor() ([]byte, []int) {
+func (ConfigEventType_Types) EnumDescriptor() ([]byte, []int) {
return fileDescriptor_e63e6c07044fd2c4, []int{0, 0}
}
-type KpiEventType_KpiEventType int32
+type KpiEventType_Types int32
const (
- KpiEventType_slice KpiEventType_KpiEventType = 0
- KpiEventType_ts KpiEventType_KpiEventType = 1
+ KpiEventType_slice KpiEventType_Types = 0
+ KpiEventType_ts KpiEventType_Types = 1
)
-var KpiEventType_KpiEventType_name = map[int32]string{
+var KpiEventType_Types_name = map[int32]string{
0: "slice",
1: "ts",
}
-var KpiEventType_KpiEventType_value = map[string]int32{
+var KpiEventType_Types_value = map[string]int32{
"slice": 0,
"ts": 1,
}
-func (x KpiEventType_KpiEventType) String() string {
- return proto.EnumName(KpiEventType_KpiEventType_name, int32(x))
+func (x KpiEventType_Types) String() string {
+ return proto.EnumName(KpiEventType_Types_name, int32(x))
}
-func (KpiEventType_KpiEventType) EnumDescriptor() ([]byte, []int) {
+func (KpiEventType_Types) EnumDescriptor() ([]byte, []int) {
return fileDescriptor_e63e6c07044fd2c4, []int{2, 0}
}
-type AlarmEventType_AlarmEventType int32
+type AlarmEventType_Types int32
const (
- AlarmEventType_COMMUNICATION AlarmEventType_AlarmEventType = 0
- AlarmEventType_ENVIRONMENT AlarmEventType_AlarmEventType = 1
- AlarmEventType_EQUIPMENT AlarmEventType_AlarmEventType = 2
- AlarmEventType_SERVICE AlarmEventType_AlarmEventType = 3
- AlarmEventType_PROCESSING AlarmEventType_AlarmEventType = 4
- AlarmEventType_SECURITY AlarmEventType_AlarmEventType = 5
+ AlarmEventType_COMMUNICATION AlarmEventType_Types = 0
+ AlarmEventType_ENVIRONMENT AlarmEventType_Types = 1
+ AlarmEventType_EQUIPMENT AlarmEventType_Types = 2
+ AlarmEventType_SERVICE AlarmEventType_Types = 3
+ AlarmEventType_PROCESSING AlarmEventType_Types = 4
+ AlarmEventType_SECURITY AlarmEventType_Types = 5
)
-var AlarmEventType_AlarmEventType_name = map[int32]string{
+var AlarmEventType_Types_name = map[int32]string{
0: "COMMUNICATION",
1: "ENVIRONMENT",
2: "EQUIPMENT",
@@ -95,7 +95,7 @@
5: "SECURITY",
}
-var AlarmEventType_AlarmEventType_value = map[string]int32{
+var AlarmEventType_Types_value = map[string]int32{
"COMMUNICATION": 0,
"ENVIRONMENT": 1,
"EQUIPMENT": 2,
@@ -104,25 +104,25 @@
"SECURITY": 5,
}
-func (x AlarmEventType_AlarmEventType) String() string {
- return proto.EnumName(AlarmEventType_AlarmEventType_name, int32(x))
+func (x AlarmEventType_Types) String() string {
+ return proto.EnumName(AlarmEventType_Types_name, int32(x))
}
-func (AlarmEventType_AlarmEventType) EnumDescriptor() ([]byte, []int) {
+func (AlarmEventType_Types) EnumDescriptor() ([]byte, []int) {
return fileDescriptor_e63e6c07044fd2c4, []int{8, 0}
}
-type AlarmEventCategory_AlarmEventCategory int32
+type AlarmEventCategory_Types int32
const (
- AlarmEventCategory_PON AlarmEventCategory_AlarmEventCategory = 0
- AlarmEventCategory_OLT AlarmEventCategory_AlarmEventCategory = 1
- AlarmEventCategory_ONT AlarmEventCategory_AlarmEventCategory = 2
- AlarmEventCategory_ONU AlarmEventCategory_AlarmEventCategory = 3
- AlarmEventCategory_NNI AlarmEventCategory_AlarmEventCategory = 4
+ AlarmEventCategory_PON AlarmEventCategory_Types = 0
+ AlarmEventCategory_OLT AlarmEventCategory_Types = 1
+ AlarmEventCategory_ONT AlarmEventCategory_Types = 2
+ AlarmEventCategory_ONU AlarmEventCategory_Types = 3
+ AlarmEventCategory_NNI AlarmEventCategory_Types = 4
)
-var AlarmEventCategory_AlarmEventCategory_name = map[int32]string{
+var AlarmEventCategory_Types_name = map[int32]string{
0: "PON",
1: "OLT",
2: "ONT",
@@ -130,7 +130,7 @@
4: "NNI",
}
-var AlarmEventCategory_AlarmEventCategory_value = map[string]int32{
+var AlarmEventCategory_Types_value = map[string]int32{
"PON": 0,
"OLT": 1,
"ONT": 2,
@@ -138,50 +138,50 @@
"NNI": 4,
}
-func (x AlarmEventCategory_AlarmEventCategory) String() string {
- return proto.EnumName(AlarmEventCategory_AlarmEventCategory_name, int32(x))
+func (x AlarmEventCategory_Types) String() string {
+ return proto.EnumName(AlarmEventCategory_Types_name, int32(x))
}
-func (AlarmEventCategory_AlarmEventCategory) EnumDescriptor() ([]byte, []int) {
+func (AlarmEventCategory_Types) EnumDescriptor() ([]byte, []int) {
return fileDescriptor_e63e6c07044fd2c4, []int{9, 0}
}
-type AlarmEventState_AlarmEventState int32
+type AlarmEventState_Types int32
const (
- AlarmEventState_RAISED AlarmEventState_AlarmEventState = 0
- AlarmEventState_CLEARED AlarmEventState_AlarmEventState = 1
+ AlarmEventState_RAISED AlarmEventState_Types = 0
+ AlarmEventState_CLEARED AlarmEventState_Types = 1
)
-var AlarmEventState_AlarmEventState_name = map[int32]string{
+var AlarmEventState_Types_name = map[int32]string{
0: "RAISED",
1: "CLEARED",
}
-var AlarmEventState_AlarmEventState_value = map[string]int32{
+var AlarmEventState_Types_value = map[string]int32{
"RAISED": 0,
"CLEARED": 1,
}
-func (x AlarmEventState_AlarmEventState) String() string {
- return proto.EnumName(AlarmEventState_AlarmEventState_name, int32(x))
+func (x AlarmEventState_Types) String() string {
+ return proto.EnumName(AlarmEventState_Types_name, int32(x))
}
-func (AlarmEventState_AlarmEventState) EnumDescriptor() ([]byte, []int) {
+func (AlarmEventState_Types) EnumDescriptor() ([]byte, []int) {
return fileDescriptor_e63e6c07044fd2c4, []int{10, 0}
}
-type AlarmEventSeverity_AlarmEventSeverity int32
+type AlarmEventSeverity_Types int32
const (
- AlarmEventSeverity_INDETERMINATE AlarmEventSeverity_AlarmEventSeverity = 0
- AlarmEventSeverity_WARNING AlarmEventSeverity_AlarmEventSeverity = 1
- AlarmEventSeverity_MINOR AlarmEventSeverity_AlarmEventSeverity = 2
- AlarmEventSeverity_MAJOR AlarmEventSeverity_AlarmEventSeverity = 3
- AlarmEventSeverity_CRITICAL AlarmEventSeverity_AlarmEventSeverity = 4
+ AlarmEventSeverity_INDETERMINATE AlarmEventSeverity_Types = 0
+ AlarmEventSeverity_WARNING AlarmEventSeverity_Types = 1
+ AlarmEventSeverity_MINOR AlarmEventSeverity_Types = 2
+ AlarmEventSeverity_MAJOR AlarmEventSeverity_Types = 3
+ AlarmEventSeverity_CRITICAL AlarmEventSeverity_Types = 4
)
-var AlarmEventSeverity_AlarmEventSeverity_name = map[int32]string{
+var AlarmEventSeverity_Types_name = map[int32]string{
0: "INDETERMINATE",
1: "WARNING",
2: "MINOR",
@@ -189,7 +189,7 @@
4: "CRITICAL",
}
-var AlarmEventSeverity_AlarmEventSeverity_value = map[string]int32{
+var AlarmEventSeverity_Types_value = map[string]int32{
"INDETERMINATE": 0,
"WARNING": 1,
"MINOR": 2,
@@ -197,26 +197,26 @@
"CRITICAL": 4,
}
-func (x AlarmEventSeverity_AlarmEventSeverity) String() string {
- return proto.EnumName(AlarmEventSeverity_AlarmEventSeverity_name, int32(x))
+func (x AlarmEventSeverity_Types) String() string {
+ return proto.EnumName(AlarmEventSeverity_Types_name, int32(x))
}
-func (AlarmEventSeverity_AlarmEventSeverity) EnumDescriptor() ([]byte, []int) {
+func (AlarmEventSeverity_Types) EnumDescriptor() ([]byte, []int) {
return fileDescriptor_e63e6c07044fd2c4, []int{11, 0}
}
-type EventCategory_EventCategory int32
+type EventCategory_Types int32
const (
- EventCategory_COMMUNICATION EventCategory_EventCategory = 0
- EventCategory_ENVIRONMENT EventCategory_EventCategory = 1
- EventCategory_EQUIPMENT EventCategory_EventCategory = 2
- EventCategory_SERVICE EventCategory_EventCategory = 3
- EventCategory_PROCESSING EventCategory_EventCategory = 4
- EventCategory_SECURITY EventCategory_EventCategory = 5
+ EventCategory_COMMUNICATION EventCategory_Types = 0
+ EventCategory_ENVIRONMENT EventCategory_Types = 1
+ EventCategory_EQUIPMENT EventCategory_Types = 2
+ EventCategory_SERVICE EventCategory_Types = 3
+ EventCategory_PROCESSING EventCategory_Types = 4
+ EventCategory_SECURITY EventCategory_Types = 5
)
-var EventCategory_EventCategory_name = map[int32]string{
+var EventCategory_Types_name = map[int32]string{
0: "COMMUNICATION",
1: "ENVIRONMENT",
2: "EQUIPMENT",
@@ -225,7 +225,7 @@
5: "SECURITY",
}
-var EventCategory_EventCategory_value = map[string]int32{
+var EventCategory_Types_value = map[string]int32{
"COMMUNICATION": 0,
"ENVIRONMENT": 1,
"EQUIPMENT": 2,
@@ -234,25 +234,25 @@
"SECURITY": 5,
}
-func (x EventCategory_EventCategory) String() string {
- return proto.EnumName(EventCategory_EventCategory_name, int32(x))
+func (x EventCategory_Types) String() string {
+ return proto.EnumName(EventCategory_Types_name, int32(x))
}
-func (EventCategory_EventCategory) EnumDescriptor() ([]byte, []int) {
+func (EventCategory_Types) EnumDescriptor() ([]byte, []int) {
return fileDescriptor_e63e6c07044fd2c4, []int{14, 0}
}
-type EventSubCategory_EventSubCategory int32
+type EventSubCategory_Types int32
const (
- EventSubCategory_PON EventSubCategory_EventSubCategory = 0
- EventSubCategory_OLT EventSubCategory_EventSubCategory = 1
- EventSubCategory_ONT EventSubCategory_EventSubCategory = 2
- EventSubCategory_ONU EventSubCategory_EventSubCategory = 3
- EventSubCategory_NNI EventSubCategory_EventSubCategory = 4
+ EventSubCategory_PON EventSubCategory_Types = 0
+ EventSubCategory_OLT EventSubCategory_Types = 1
+ EventSubCategory_ONT EventSubCategory_Types = 2
+ EventSubCategory_ONU EventSubCategory_Types = 3
+ EventSubCategory_NNI EventSubCategory_Types = 4
)
-var EventSubCategory_EventSubCategory_name = map[int32]string{
+var EventSubCategory_Types_name = map[int32]string{
0: "PON",
1: "OLT",
2: "ONT",
@@ -260,7 +260,7 @@
4: "NNI",
}
-var EventSubCategory_EventSubCategory_value = map[string]int32{
+var EventSubCategory_Types_value = map[string]int32{
"PON": 0,
"OLT": 1,
"ONT": 2,
@@ -268,42 +268,42 @@
"NNI": 4,
}
-func (x EventSubCategory_EventSubCategory) String() string {
- return proto.EnumName(EventSubCategory_EventSubCategory_name, int32(x))
+func (x EventSubCategory_Types) String() string {
+ return proto.EnumName(EventSubCategory_Types_name, int32(x))
}
-func (EventSubCategory_EventSubCategory) EnumDescriptor() ([]byte, []int) {
+func (EventSubCategory_Types) EnumDescriptor() ([]byte, []int) {
return fileDescriptor_e63e6c07044fd2c4, []int{15, 0}
}
-type EventType_EventType int32
+type EventType_Types int32
const (
- EventType_CONFIG_EVENT EventType_EventType = 0
- EventType_KPI_EVENT EventType_EventType = 1
- EventType_KPI_EVENT2 EventType_EventType = 2
- EventType_DEVICE_EVENT EventType_EventType = 3
+ EventType_CONFIG_EVENT EventType_Types = 0
+ EventType_KPI_EVENT EventType_Types = 1
+ EventType_KPI_EVENT2 EventType_Types = 2
+ EventType_DEVICE_EVENT EventType_Types = 3
)
-var EventType_EventType_name = map[int32]string{
+var EventType_Types_name = map[int32]string{
0: "CONFIG_EVENT",
1: "KPI_EVENT",
2: "KPI_EVENT2",
3: "DEVICE_EVENT",
}
-var EventType_EventType_value = map[string]int32{
+var EventType_Types_value = map[string]int32{
"CONFIG_EVENT": 0,
"KPI_EVENT": 1,
"KPI_EVENT2": 2,
"DEVICE_EVENT": 3,
}
-func (x EventType_EventType) String() string {
- return proto.EnumName(EventType_EventType_name, int32(x))
+func (x EventType_Types) String() string {
+ return proto.EnumName(EventType_Types_name, int32(x))
}
-func (EventType_EventType) EnumDescriptor() ([]byte, []int) {
+func (EventType_Types) EnumDescriptor() ([]byte, []int) {
return fileDescriptor_e63e6c07044fd2c4, []int{16, 0}
}
@@ -339,12 +339,12 @@
var xxx_messageInfo_ConfigEventType proto.InternalMessageInfo
type ConfigEvent struct {
- Type ConfigEventType_ConfigEventType `protobuf:"varint,1,opt,name=type,proto3,enum=voltha.ConfigEventType_ConfigEventType" json:"type,omitempty"`
- Hash string `protobuf:"bytes,2,opt,name=hash,proto3" json:"hash,omitempty"`
- Data string `protobuf:"bytes,3,opt,name=data,proto3" json:"data,omitempty"`
- XXX_NoUnkeyedLiteral struct{} `json:"-"`
- XXX_unrecognized []byte `json:"-"`
- XXX_sizecache int32 `json:"-"`
+ Type ConfigEventType_Types `protobuf:"varint,1,opt,name=type,proto3,enum=voltha.ConfigEventType_Types" json:"type,omitempty"`
+ Hash string `protobuf:"bytes,2,opt,name=hash,proto3" json:"hash,omitempty"`
+ Data string `protobuf:"bytes,3,opt,name=data,proto3" json:"data,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
}
func (m *ConfigEvent) Reset() { *m = ConfigEvent{} }
@@ -372,7 +372,7 @@
var xxx_messageInfo_ConfigEvent proto.InternalMessageInfo
-func (m *ConfigEvent) GetType() ConfigEventType_ConfigEventType {
+func (m *ConfigEvent) GetType() ConfigEventType_Types {
if m != nil {
return m.Type
}
@@ -606,7 +606,7 @@
// to a more easily parsable format. See VOL-1140
// for more information.
type KpiEvent struct {
- Type KpiEventType_KpiEventType `protobuf:"varint,1,opt,name=type,proto3,enum=voltha.KpiEventType_KpiEventType" json:"type,omitempty"`
+ Type KpiEventType_Types `protobuf:"varint,1,opt,name=type,proto3,enum=voltha.KpiEventType_Types" json:"type,omitempty"`
Ts float32 `protobuf:"fixed32,2,opt,name=ts,proto3" json:"ts,omitempty"`
Prefixes map[string]*MetricValuePairs `protobuf:"bytes,3,rep,name=prefixes,proto3" json:"prefixes,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
@@ -639,7 +639,7 @@
var xxx_messageInfo_KpiEvent proto.InternalMessageInfo
-func (m *KpiEvent) GetType() KpiEventType_KpiEventType {
+func (m *KpiEvent) GetType() KpiEventType_Types {
if m != nil {
return m.Type
}
@@ -662,7 +662,7 @@
type KpiEvent2 struct {
// Type of KPI Event
- Type KpiEventType_KpiEventType `protobuf:"varint,1,opt,name=type,proto3,enum=voltha.KpiEventType_KpiEventType" json:"type,omitempty"`
+ Type KpiEventType_Types `protobuf:"varint,1,opt,name=type,proto3,enum=voltha.KpiEventType_Types" json:"type,omitempty"`
// Fields used when for slice:
Ts float64 `protobuf:"fixed64,2,opt,name=ts,proto3" json:"ts,omitempty"`
SliceData []*MetricInformation `protobuf:"bytes,3,rep,name=slice_data,json=sliceData,proto3" json:"slice_data,omitempty"`
@@ -696,7 +696,7 @@
var xxx_messageInfo_KpiEvent2 proto.InternalMessageInfo
-func (m *KpiEvent2) GetType() KpiEventType_KpiEventType {
+func (m *KpiEvent2) GetType() KpiEventType_Types {
if m != nil {
return m.Type
}
@@ -868,13 +868,13 @@
// Unique ID for this alarm. e.g. voltha.some_olt.1234
Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
// Refers to the area of the system impacted by the alarm
- Type AlarmEventType_AlarmEventType `protobuf:"varint,2,opt,name=type,proto3,enum=voltha.AlarmEventType_AlarmEventType" json:"type,omitempty"`
+ Type AlarmEventType_Types `protobuf:"varint,2,opt,name=type,proto3,enum=voltha.AlarmEventType_Types" json:"type,omitempty"`
// Refers to functional category of the alarm
- Category AlarmEventCategory_AlarmEventCategory `protobuf:"varint,3,opt,name=category,proto3,enum=voltha.AlarmEventCategory_AlarmEventCategory" json:"category,omitempty"`
+ Category AlarmEventCategory_Types `protobuf:"varint,3,opt,name=category,proto3,enum=voltha.AlarmEventCategory_Types" json:"category,omitempty"`
// Current active state of the alarm
- State AlarmEventState_AlarmEventState `protobuf:"varint,4,opt,name=state,proto3,enum=voltha.AlarmEventState_AlarmEventState" json:"state,omitempty"`
+ State AlarmEventState_Types `protobuf:"varint,4,opt,name=state,proto3,enum=voltha.AlarmEventState_Types" json:"state,omitempty"`
// Overall impact of the alarm on the system
- Severity AlarmEventSeverity_AlarmEventSeverity `protobuf:"varint,5,opt,name=severity,proto3,enum=voltha.AlarmEventSeverity_AlarmEventSeverity" json:"severity,omitempty"`
+ Severity AlarmEventSeverity_Types `protobuf:"varint,5,opt,name=severity,proto3,enum=voltha.AlarmEventSeverity_Types" json:"severity,omitempty"`
// Timestamp at which the alarm was first raised
RaisedTs float32 `protobuf:"fixed32,6,opt,name=raised_ts,json=raisedTs,proto3" json:"raised_ts,omitempty"`
// Timestamp at which the alarm was reported
@@ -928,28 +928,28 @@
return ""
}
-func (m *AlarmEvent) GetType() AlarmEventType_AlarmEventType {
+func (m *AlarmEvent) GetType() AlarmEventType_Types {
if m != nil {
return m.Type
}
return AlarmEventType_COMMUNICATION
}
-func (m *AlarmEvent) GetCategory() AlarmEventCategory_AlarmEventCategory {
+func (m *AlarmEvent) GetCategory() AlarmEventCategory_Types {
if m != nil {
return m.Category
}
return AlarmEventCategory_PON
}
-func (m *AlarmEvent) GetState() AlarmEventState_AlarmEventState {
+func (m *AlarmEvent) GetState() AlarmEventState_Types {
if m != nil {
return m.State
}
return AlarmEventState_RAISED
}
-func (m *AlarmEvent) GetSeverity() AlarmEventSeverity_AlarmEventSeverity {
+func (m *AlarmEvent) GetSeverity() AlarmEventSeverity_Types {
if m != nil {
return m.Severity
}
@@ -1186,11 +1186,11 @@
// Unique ID for this event. e.g. voltha.some_olt.1234
Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
// Refers to the functional area affect by the event
- Category EventCategory_EventCategory `protobuf:"varint,2,opt,name=category,proto3,enum=voltha.EventCategory_EventCategory" json:"category,omitempty"`
+ Category EventCategory_Types `protobuf:"varint,2,opt,name=category,proto3,enum=voltha.EventCategory_Types" json:"category,omitempty"`
// Refers to functional category of the event
- SubCategory EventSubCategory_EventSubCategory `protobuf:"varint,3,opt,name=sub_category,json=subCategory,proto3,enum=voltha.EventSubCategory_EventSubCategory" json:"sub_category,omitempty"`
+ SubCategory EventSubCategory_Types `protobuf:"varint,3,opt,name=sub_category,json=subCategory,proto3,enum=voltha.EventSubCategory_Types" json:"sub_category,omitempty"`
// Refers to the type of the event
- Type EventType_EventType `protobuf:"varint,4,opt,name=type,proto3,enum=voltha.EventType_EventType" json:"type,omitempty"`
+ Type EventType_Types `protobuf:"varint,4,opt,name=type,proto3,enum=voltha.EventType_Types" json:"type,omitempty"`
// The version identifier for this event type, thus allowing each
// event type to evolve independently. The version should be in the
// format “MAJOR.MINOR” format and minor changes must only be additive
@@ -1245,21 +1245,21 @@
return ""
}
-func (m *EventHeader) GetCategory() EventCategory_EventCategory {
+func (m *EventHeader) GetCategory() EventCategory_Types {
if m != nil {
return m.Category
}
return EventCategory_COMMUNICATION
}
-func (m *EventHeader) GetSubCategory() EventSubCategory_EventSubCategory {
+func (m *EventHeader) GetSubCategory() EventSubCategory_Types {
if m != nil {
return m.SubCategory
}
return EventSubCategory_PON
}
-func (m *EventHeader) GetType() EventType_EventType {
+func (m *EventHeader) GetType() EventType_Types {
if m != nil {
return m.Type
}
@@ -1411,15 +1411,15 @@
}
func init() {
- proto.RegisterEnum("voltha.ConfigEventType_ConfigEventType", ConfigEventType_ConfigEventType_name, ConfigEventType_ConfigEventType_value)
- proto.RegisterEnum("voltha.KpiEventType_KpiEventType", KpiEventType_KpiEventType_name, KpiEventType_KpiEventType_value)
- proto.RegisterEnum("voltha.AlarmEventType_AlarmEventType", AlarmEventType_AlarmEventType_name, AlarmEventType_AlarmEventType_value)
- proto.RegisterEnum("voltha.AlarmEventCategory_AlarmEventCategory", AlarmEventCategory_AlarmEventCategory_name, AlarmEventCategory_AlarmEventCategory_value)
- proto.RegisterEnum("voltha.AlarmEventState_AlarmEventState", AlarmEventState_AlarmEventState_name, AlarmEventState_AlarmEventState_value)
- proto.RegisterEnum("voltha.AlarmEventSeverity_AlarmEventSeverity", AlarmEventSeverity_AlarmEventSeverity_name, AlarmEventSeverity_AlarmEventSeverity_value)
- proto.RegisterEnum("voltha.EventCategory_EventCategory", EventCategory_EventCategory_name, EventCategory_EventCategory_value)
- proto.RegisterEnum("voltha.EventSubCategory_EventSubCategory", EventSubCategory_EventSubCategory_name, EventSubCategory_EventSubCategory_value)
- proto.RegisterEnum("voltha.EventType_EventType", EventType_EventType_name, EventType_EventType_value)
+ proto.RegisterEnum("voltha.ConfigEventType_Types", ConfigEventType_Types_name, ConfigEventType_Types_value)
+ proto.RegisterEnum("voltha.KpiEventType_Types", KpiEventType_Types_name, KpiEventType_Types_value)
+ proto.RegisterEnum("voltha.AlarmEventType_Types", AlarmEventType_Types_name, AlarmEventType_Types_value)
+ proto.RegisterEnum("voltha.AlarmEventCategory_Types", AlarmEventCategory_Types_name, AlarmEventCategory_Types_value)
+ proto.RegisterEnum("voltha.AlarmEventState_Types", AlarmEventState_Types_name, AlarmEventState_Types_value)
+ proto.RegisterEnum("voltha.AlarmEventSeverity_Types", AlarmEventSeverity_Types_name, AlarmEventSeverity_Types_value)
+ proto.RegisterEnum("voltha.EventCategory_Types", EventCategory_Types_name, EventCategory_Types_value)
+ proto.RegisterEnum("voltha.EventSubCategory_Types", EventSubCategory_Types_name, EventSubCategory_Types_value)
+ proto.RegisterEnum("voltha.EventType_Types", EventType_Types_name, EventType_Types_value)
proto.RegisterType((*ConfigEventType)(nil), "voltha.ConfigEventType")
proto.RegisterType((*ConfigEvent)(nil), "voltha.ConfigEvent")
proto.RegisterType((*KpiEventType)(nil), "voltha.KpiEventType")
@@ -1450,90 +1450,89 @@
func init() { proto.RegisterFile("voltha_protos/events.proto", fileDescriptor_e63e6c07044fd2c4) }
var fileDescriptor_e63e6c07044fd2c4 = []byte{
- // 1351 bytes of a gzipped FileDescriptorProto
- 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x57, 0xdd, 0x6e, 0x1b, 0x45,
- 0x14, 0xf6, 0xae, 0x7f, 0x62, 0x9f, 0x75, 0x92, 0xcd, 0x14, 0x21, 0x93, 0x02, 0x4d, 0x17, 0x51,
- 0x4a, 0x51, 0x6d, 0x58, 0x84, 0x94, 0x06, 0x55, 0xc5, 0x75, 0x96, 0x66, 0x69, 0xbc, 0x0e, 0x6b,
- 0x27, 0xe5, 0xe7, 0xc2, 0x9a, 0x78, 0xa7, 0xce, 0x2a, 0xf6, 0xae, 0xb5, 0x3b, 0xb1, 0x9a, 0x1b,
- 0xc4, 0x03, 0x20, 0x71, 0xd9, 0x0b, 0xde, 0x85, 0x3b, 0xde, 0x84, 0x47, 0xe0, 0x01, 0xd0, 0xfc,
- 0xd8, 0xfb, 0x63, 0x57, 0x08, 0x55, 0xb9, 0x9b, 0xf9, 0xe6, 0x9c, 0xb3, 0xdf, 0x39, 0x73, 0xe6,
- 0x9b, 0x59, 0xd8, 0x9d, 0x87, 0x13, 0x7a, 0x81, 0x87, 0xb3, 0x28, 0xa4, 0x61, 0xdc, 0x22, 0x73,
- 0x12, 0xd0, 0xb8, 0xc9, 0x67, 0xa8, 0x22, 0xd6, 0x76, 0x1b, 0x59, 0x9b, 0x29, 0xa1, 0x58, 0x58,
- 0xec, 0xbe, 0x3f, 0x0e, 0xc3, 0xf1, 0x84, 0xb4, 0xf0, 0xcc, 0x6f, 0xe1, 0x20, 0x08, 0x29, 0xa6,
- 0x7e, 0x18, 0x48, 0x7f, 0xc3, 0x82, 0xed, 0x4e, 0x18, 0xbc, 0xf4, 0xc7, 0x16, 0x8b, 0x3a, 0xb8,
- 0x9e, 0x11, 0xc3, 0x5c, 0x81, 0xd0, 0x06, 0x14, 0xb1, 0xe7, 0xe9, 0x05, 0x04, 0x50, 0x89, 0xc8,
- 0x34, 0x9c, 0x13, 0x5d, 0x61, 0xe3, 0xab, 0x99, 0x87, 0x29, 0xd1, 0x55, 0x23, 0x02, 0x2d, 0xe5,
- 0x83, 0xbe, 0x86, 0x12, 0xbd, 0x9e, 0x91, 0x86, 0xb2, 0xa7, 0xdc, 0xdf, 0x32, 0x3f, 0x69, 0x0a,
- 0x72, 0xcd, 0x5c, 0xd8, 0xfc, 0xdc, 0xe5, 0x4e, 0x08, 0x41, 0xe9, 0x02, 0xc7, 0x17, 0x0d, 0x75,
- 0x4f, 0xb9, 0x5f, 0x73, 0xf9, 0x98, 0x61, 0x1e, 0xa6, 0xb8, 0x51, 0x14, 0x18, 0x1b, 0x1b, 0x5f,
- 0x40, 0xfd, 0xf9, 0xcc, 0x4f, 0x78, 0xdf, 0xcd, 0xce, 0x51, 0x0d, 0xca, 0xf1, 0xc4, 0x1f, 0x11,
- 0xbd, 0x80, 0x2a, 0xa0, 0xd2, 0x58, 0x57, 0x8c, 0xd7, 0x2a, 0x6c, 0x75, 0x09, 0x8d, 0xfc, 0x51,
- 0x97, 0x50, 0x7c, 0x88, 0x29, 0x46, 0xef, 0x40, 0x99, 0xfa, 0x74, 0x22, 0xb8, 0xd6, 0x5c, 0x31,
- 0x41, 0x5b, 0xcc, 0x81, 0x33, 0x50, 0x5c, 0x95, 0xc6, 0xe8, 0x01, 0xec, 0x4c, 0xc2, 0xb1, 0x3f,
- 0xc2, 0x93, 0xa1, 0x47, 0xe6, 0xfe, 0x88, 0x0c, 0x7d, 0x4f, 0x92, 0xd9, 0x96, 0x0b, 0x87, 0x1c,
- 0xb7, 0x3d, 0x74, 0x1b, 0x6a, 0x31, 0x89, 0x7c, 0x3c, 0x19, 0x06, 0x61, 0xa3, 0xc4, 0x6d, 0xaa,
- 0x02, 0x70, 0x42, 0xb6, 0x98, 0x04, 0x28, 0x8b, 0x45, 0x6f, 0xe1, 0xf9, 0x18, 0x36, 0x46, 0x61,
- 0x40, 0xc9, 0x2b, 0xda, 0xa8, 0xec, 0x15, 0xef, 0x6b, 0xe6, 0x47, 0x8b, 0xca, 0x65, 0x49, 0xb3,
- 0xc2, 0x31, 0x2b, 0x2b, 0xa0, 0xd1, 0xb5, 0xbb, 0xf0, 0xd9, 0x3d, 0x80, 0x7a, 0x7a, 0x01, 0xe9,
- 0x50, 0xbc, 0x24, 0xd7, 0x32, 0x31, 0x36, 0x64, 0xc9, 0xce, 0xf1, 0xe4, 0x8a, 0xc8, 0xda, 0x8a,
- 0xc9, 0x81, 0xba, 0xaf, 0x18, 0xbf, 0x2b, 0xa0, 0x8b, 0x8f, 0x9c, 0x31, 0xec, 0x04, 0xfb, 0x51,
- 0x8c, 0x9e, 0xc0, 0xc6, 0x94, 0x63, 0x71, 0x43, 0xe1, 0x7c, 0x3e, 0xce, 0xf2, 0x49, 0x4c, 0x25,
- 0x10, 0x4b, 0x46, 0xd2, 0x8b, 0x31, 0x4a, 0x2f, 0xfc, 0x17, 0x23, 0x35, 0xcd, 0xe8, 0x2f, 0x05,
- 0x76, 0x84, 0xb3, 0x1d, 0xbc, 0x0c, 0xa3, 0x29, 0x6f, 0x5b, 0x64, 0x42, 0x95, 0xf5, 0x36, 0x6f,
- 0x06, 0x16, 0x46, 0x33, 0xdf, 0x5d, 0x5f, 0x23, 0x77, 0x69, 0x87, 0xbe, 0x49, 0xd2, 0x50, 0x79,
- 0x1a, 0xf7, 0xb2, 0x2e, 0xa9, 0xf8, 0x37, 0x90, 0xc7, 0xdf, 0x0a, 0x54, 0x17, 0x7d, 0x89, 0xbe,
- 0xca, 0x1c, 0x8c, 0xbb, 0x0b, 0x1e, 0xe9, 0xbe, 0xcd, 0x4c, 0xe4, 0x91, 0x48, 0xda, 0x51, 0xe5,
- 0xed, 0x78, 0x00, 0xd5, 0x59, 0x44, 0x5e, 0xfa, 0xaf, 0x48, 0xdc, 0x28, 0xf2, 0x94, 0x3e, 0xcc,
- 0x87, 0x6a, 0x9e, 0x48, 0x03, 0x91, 0xca, 0xd2, 0x7e, 0xf7, 0x14, 0x36, 0x33, 0x4b, 0x6b, 0x92,
- 0x69, 0xa6, 0x93, 0xd1, 0xcc, 0xc6, 0x9b, 0x76, 0x3d, 0x9d, 0xe6, 0x6f, 0x0a, 0xd4, 0x16, 0xdf,
- 0x36, 0xdf, 0x3e, 0x4f, 0x71, 0xec, 0xf6, 0x01, 0xf8, 0x11, 0x1e, 0xca, 0xc3, 0xcf, 0x32, 0x7d,
- 0xef, 0x8d, 0x9b, 0xe7, 0xd6, 0xb8, 0x31, 0xdb, 0x7d, 0xe3, 0x57, 0x05, 0xb6, 0xda, 0x13, 0x1c,
- 0x4d, 0x13, 0x7d, 0x08, 0xf2, 0x08, 0xda, 0x81, 0xcd, 0x4e, 0xaf, 0xdb, 0x3d, 0x75, 0xec, 0x4e,
- 0x7b, 0x60, 0xf7, 0x1c, 0xbd, 0x80, 0xb6, 0x41, 0xb3, 0x9c, 0x33, 0xdb, 0xed, 0x39, 0x5d, 0xcb,
- 0x19, 0xe8, 0x0a, 0xda, 0x84, 0x9a, 0xf5, 0xfd, 0xa9, 0x7d, 0xc2, 0xa7, 0x2a, 0xd2, 0x60, 0xa3,
- 0x6f, 0xb9, 0x67, 0x76, 0xc7, 0xd2, 0x8b, 0x68, 0x0b, 0xe0, 0xc4, 0xed, 0x75, 0xac, 0x7e, 0xdf,
- 0x76, 0x9e, 0xe9, 0x25, 0x54, 0x87, 0x6a, 0xdf, 0xea, 0x9c, 0xba, 0xf6, 0xe0, 0x47, 0xbd, 0x6c,
- 0xbc, 0x00, 0x94, 0x7c, 0xaf, 0x83, 0x29, 0x19, 0x87, 0xd1, 0xb5, 0xd1, 0x5e, 0x87, 0x32, 0x81,
- 0x3d, 0xe1, 0xdf, 0xdf, 0x80, 0x62, 0xef, 0x98, 0x7d, 0x97, 0x0d, 0xf8, 0x17, 0xf9, 0xe0, 0x54,
- 0x2f, 0xb2, 0x81, 0xe3, 0xd8, 0x7a, 0xc9, 0x78, 0x0c, 0xdb, 0x49, 0x88, 0x3e, 0xc5, 0x94, 0x18,
- 0x0f, 0x56, 0x20, 0x26, 0xcf, 0x6e, 0xdb, 0xee, 0x5b, 0x87, 0x7a, 0x81, 0xb1, 0xee, 0x1c, 0x5b,
- 0x6d, 0xd7, 0x3a, 0xd4, 0x15, 0x23, 0x48, 0x33, 0xe8, 0x93, 0x39, 0x89, 0x7c, 0x7a, 0x6d, 0xfc,
- 0xb0, 0x0e, 0x65, 0x15, 0xb2, 0x9d, 0x43, 0x6b, 0x60, 0xb9, 0x5d, 0xdb, 0x69, 0x0f, 0x2c, 0x11,
- 0xeb, 0x45, 0xdb, 0x75, 0x58, 0xc6, 0x0a, 0xd3, 0xd8, 0xae, 0xed, 0xf4, 0x5c, 0x5d, 0xe5, 0xc3,
- 0xf6, 0x77, 0x3d, 0x57, 0x2f, 0xb2, 0x3a, 0x74, 0x5c, 0x7b, 0x60, 0x77, 0xda, 0xc7, 0x7a, 0xc9,
- 0x78, 0x5d, 0x06, 0x48, 0x42, 0xb3, 0x3d, 0xf6, 0x3d, 0xd9, 0x6d, 0xaa, 0xef, 0xa1, 0x47, 0xb2,
- 0x55, 0x54, 0xde, 0x2a, 0x4b, 0x85, 0xc9, 0x6e, 0x55, 0x6e, 0x2a, 0xdb, 0xc5, 0x86, 0xea, 0x48,
- 0x56, 0x90, 0x8b, 0xf1, 0x96, 0xf9, 0x70, 0xd5, 0x7d, 0x51, 0xe3, 0x35, 0x90, 0xbb, 0x74, 0x47,
- 0x8f, 0xa1, 0x1c, 0xb3, 0xb2, 0x71, 0xc1, 0x4e, 0x5d, 0x59, 0xb9, 0xaa, 0xe6, 0xe7, 0xae, 0xf0,
- 0x62, 0x4c, 0x62, 0x59, 0x33, 0xae, 0xea, 0x6b, 0x99, 0x2c, 0xaa, 0xba, 0x06, 0x72, 0x97, 0xee,
- 0xec, 0x86, 0x88, 0xb0, 0x1f, 0x13, 0x6f, 0x48, 0xe3, 0x46, 0x85, 0x1f, 0xf9, 0xaa, 0x00, 0x06,
- 0x31, 0xba, 0x03, 0x5a, 0x44, 0x66, 0x61, 0x44, 0xc5, 0xf2, 0x06, 0x5f, 0x86, 0x05, 0x34, 0x88,
- 0xd1, 0x07, 0x00, 0xa3, 0x0b, 0x1c, 0x8c, 0xc5, 0x7a, 0x95, 0xaf, 0xd7, 0x24, 0xb2, 0xf0, 0x8f,
- 0xc3, 0xab, 0x48, 0x5c, 0x40, 0x35, 0xbe, 0x0b, 0xb0, 0x80, 0x6c, 0x0f, 0xed, 0x81, 0xe6, 0x91,
- 0x78, 0x14, 0xf9, 0x33, 0x76, 0xa2, 0x1a, 0xc0, 0x0d, 0xd2, 0x10, 0x7a, 0x94, 0x5c, 0x52, 0x1a,
- 0x3f, 0x90, 0x77, 0x56, 0x33, 0x5d, 0x7f, 0x41, 0xad, 0xbf, 0x45, 0xeb, 0xeb, 0x6f, 0xd1, 0x7b,
- 0xb0, 0x8d, 0x59, 0xbc, 0x21, 0xdb, 0xe9, 0x61, 0x80, 0xa7, 0xa4, 0xb1, 0xc9, 0x2d, 0x37, 0x39,
- 0xcc, 0xba, 0xc0, 0xc1, 0x53, 0xf2, 0x56, 0x97, 0xde, 0x3f, 0x0a, 0x68, 0xe2, 0x83, 0xa2, 0x35,
- 0x73, 0xd5, 0x51, 0x56, 0xaa, 0xf3, 0x00, 0x76, 0x24, 0x71, 0xfe, 0x08, 0x13, 0xb4, 0x44, 0xd8,
- 0x6d, 0x2f, 0x09, 0xc4, 0x88, 0xe5, 0x2b, 0x59, 0x5c, 0xad, 0xe4, 0x41, 0x52, 0xc9, 0x12, 0xaf,
- 0xe4, 0xde, 0xa2, 0x92, 0x29, 0x52, 0x37, 0x70, 0xd7, 0xff, 0x02, 0x9b, 0x59, 0x4d, 0x9a, 0xe6,
- 0x80, 0x1b, 0x16, 0xc6, 0x3e, 0xe8, 0xa2, 0xf9, 0xaf, 0xce, 0x97, 0x14, 0x9e, 0xac, 0x62, 0xff,
- 0x4f, 0x14, 0x7f, 0x86, 0x5a, 0x22, 0xf5, 0x4e, 0x6a, 0x82, 0x74, 0xa8, 0x77, 0x7a, 0xce, 0xb7,
- 0xf6, 0xb3, 0xa1, 0x75, 0xc6, 0xb8, 0x16, 0x18, 0xf5, 0xe7, 0x27, 0xb6, 0x9c, 0x2a, 0x8c, 0xed,
- 0x72, 0x6a, 0xea, 0x2a, 0x73, 0x38, 0xb4, 0x58, 0x26, 0xd2, 0xa2, 0x68, 0xfc, 0xa9, 0x82, 0xc6,
- 0x03, 0x1e, 0x11, 0xec, 0x91, 0x68, 0x45, 0xc3, 0x9e, 0xa4, 0x84, 0x48, 0xe8, 0xd8, 0xf2, 0xe5,
- 0x96, 0xd5, 0xa0, 0x37, 0xc9, 0xcf, 0x31, 0xd4, 0xe3, 0xab, 0xf3, 0x61, 0x4e, 0xcd, 0x3e, 0xcd,
- 0x04, 0x49, 0x95, 0x66, 0x05, 0x70, 0xb5, 0x38, 0x55, 0xb8, 0x96, 0x94, 0x54, 0xa1, 0x65, 0xb7,
- 0x33, 0x51, 0xb8, 0x9a, 0xe6, 0x85, 0xf4, 0x2e, 0xd4, 0xf9, 0x31, 0x9b, 0x93, 0x28, 0x66, 0xcd,
- 0x2a, 0x1e, 0xa6, 0x1a, 0xc3, 0xce, 0x04, 0xf4, 0x76, 0xb2, 0x64, 0xfc, 0xa1, 0x42, 0x59, 0x9c,
- 0xb1, 0xcf, 0xa0, 0x72, 0xc1, 0x8b, 0x28, 0x9f, 0x6f, 0xb7, 0x32, 0xec, 0x44, 0x7d, 0x5d, 0x69,
- 0x82, 0xf6, 0xa1, 0x3e, 0xe2, 0xff, 0x08, 0xe2, 0xbc, 0xc9, 0xf7, 0xc8, 0xad, 0x35, 0xff, 0x13,
- 0x47, 0x05, 0x57, 0x1b, 0xa5, 0xfe, 0x40, 0x5a, 0x50, 0xbb, 0x9c, 0xf9, 0xd2, 0xad, 0xc8, 0xdd,
- 0xf4, 0xfc, 0x2b, 0xe4, 0xa8, 0xe0, 0x56, 0x2f, 0x17, 0x2f, 0x33, 0x13, 0x60, 0xe9, 0x60, 0xf2,
- 0xca, 0x69, 0xe6, 0x4e, 0xde, 0xc3, 0x3c, 0x2a, 0xb8, 0xb5, 0xcb, 0xe5, 0x2b, 0x67, 0x1f, 0xea,
- 0x69, 0x39, 0xe0, 0x65, 0x4b, 0xd1, 0x4b, 0x9d, 0x62, 0x46, 0x2f, 0x25, 0x10, 0x4f, 0xeb, 0x00,
- 0x42, 0x41, 0x58, 0x89, 0x9f, 0x7e, 0xfe, 0x53, 0x73, 0xec, 0xd3, 0x8b, 0xab, 0xf3, 0xe6, 0x28,
- 0x9c, 0xb6, 0xc2, 0x19, 0x09, 0x46, 0x61, 0xe4, 0xb5, 0x44, 0x98, 0x87, 0xf2, 0x97, 0x6e, 0x6e,
- 0xb6, 0xc6, 0xa1, 0xc4, 0xce, 0x2b, 0x1c, 0xfc, 0xf2, 0xdf, 0x00, 0x00, 0x00, 0xff, 0xff, 0xb2,
- 0x1d, 0x42, 0xef, 0x1b, 0x0e, 0x00, 0x00,
+ // 1334 bytes of a gzipped FileDescriptorProto
+ 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xbc, 0x57, 0xdd, 0x72, 0xdb, 0x44,
+ 0x14, 0xb6, 0xe4, 0x9f, 0xd8, 0x47, 0x4e, 0xa2, 0x6c, 0x19, 0x30, 0xee, 0x5f, 0x10, 0x43, 0x27,
+ 0xd3, 0x0e, 0x36, 0x38, 0xcc, 0x10, 0x02, 0x0c, 0xb8, 0x8e, 0x68, 0xd4, 0xd6, 0x72, 0x90, 0x9d,
+ 0x74, 0xe0, 0xc6, 0xb3, 0xb1, 0x36, 0xb6, 0x26, 0xb6, 0xe4, 0x91, 0x36, 0xa6, 0x79, 0x00, 0xae,
+ 0xb9, 0xe4, 0x82, 0x07, 0xe0, 0x49, 0x78, 0x0c, 0x5e, 0x80, 0x6b, 0x1e, 0x80, 0xd9, 0x1f, 0x59,
+ 0x92, 0xe3, 0xc2, 0x45, 0xa6, 0x5c, 0x79, 0x75, 0xfe, 0xf6, 0x3b, 0xdf, 0x9e, 0x73, 0x76, 0x0d,
+ 0xf5, 0x45, 0x30, 0xa5, 0x13, 0x3c, 0x9c, 0x87, 0x01, 0x0d, 0xa2, 0x26, 0x59, 0x10, 0x9f, 0x46,
+ 0x0d, 0xfe, 0x85, 0x4a, 0x42, 0x57, 0xaf, 0x65, 0x6d, 0x66, 0x84, 0x62, 0x61, 0x51, 0xbf, 0x37,
+ 0x0e, 0x82, 0xf1, 0x94, 0x34, 0xf1, 0xdc, 0x6b, 0x62, 0xdf, 0x0f, 0x28, 0xa6, 0x5e, 0xe0, 0x4b,
+ 0x7f, 0xe3, 0x4b, 0xd8, 0xee, 0x04, 0xfe, 0x85, 0x37, 0x36, 0x59, 0xd4, 0xc1, 0xf5, 0x9c, 0x18,
+ 0x7b, 0x50, 0x64, 0xbf, 0x11, 0xda, 0x80, 0x3c, 0x76, 0x5d, 0x3d, 0x87, 0x00, 0x4a, 0x21, 0x99,
+ 0x05, 0x0b, 0xa2, 0x2b, 0x6c, 0x7d, 0x35, 0x77, 0x31, 0x25, 0xba, 0x6a, 0x4c, 0x40, 0x4b, 0x39,
+ 0xa3, 0x4f, 0xa1, 0x40, 0xaf, 0xe7, 0xa4, 0xa6, 0xec, 0x2a, 0x7b, 0x5b, 0xad, 0xfb, 0x0d, 0x01,
+ 0xa9, 0xb1, 0x12, 0xbf, 0xc1, 0x83, 0x3b, 0xdc, 0x14, 0x21, 0x28, 0x4c, 0x70, 0x34, 0xa9, 0xa9,
+ 0xbb, 0xca, 0x5e, 0xc5, 0xe1, 0x6b, 0x26, 0x73, 0x31, 0xc5, 0xb5, 0xbc, 0x90, 0xb1, 0xb5, 0xf1,
+ 0x18, 0xaa, 0x2f, 0xe6, 0x5e, 0x82, 0xb1, 0x1e, 0x63, 0xac, 0x40, 0x31, 0x9a, 0x7a, 0x23, 0xa2,
+ 0xe7, 0x50, 0x09, 0x54, 0x1a, 0xe9, 0x8a, 0xf1, 0xab, 0x0a, 0x5b, 0x5d, 0x42, 0x43, 0x6f, 0xd4,
+ 0x25, 0x14, 0x1f, 0x61, 0x8a, 0xd1, 0x3b, 0x50, 0xa4, 0x1e, 0x9d, 0x0a, 0x68, 0x15, 0x47, 0x7c,
+ 0xa0, 0x2d, 0xe6, 0xc0, 0xb7, 0x56, 0x1c, 0x95, 0x46, 0xe8, 0x31, 0xec, 0x4c, 0x83, 0xb1, 0x37,
+ 0xc2, 0xd3, 0xa1, 0x4b, 0x16, 0xde, 0x88, 0x0c, 0x3d, 0x57, 0xa2, 0xd8, 0x96, 0x8a, 0x23, 0x2e,
+ 0xb7, 0x5c, 0x74, 0x17, 0x2a, 0x11, 0x09, 0x3d, 0x3c, 0x1d, 0xfa, 0x41, 0xad, 0xc0, 0x6d, 0xca,
+ 0x42, 0x60, 0x07, 0x4c, 0x99, 0x04, 0x28, 0x0a, 0xa5, 0x1b, 0x7b, 0x7e, 0x0d, 0x1b, 0xa3, 0xc0,
+ 0xa7, 0xe4, 0x35, 0xad, 0x95, 0x76, 0xf3, 0x7b, 0x5a, 0xeb, 0xc3, 0x98, 0xa8, 0x2c, 0x68, 0xc6,
+ 0x1b, 0xb3, 0x32, 0x7d, 0x1a, 0x5e, 0x3b, 0xb1, 0x4f, 0xfd, 0x10, 0xaa, 0x69, 0x05, 0xd2, 0x21,
+ 0x7f, 0x49, 0xae, 0x65, 0x62, 0x6c, 0xc9, 0x92, 0x5d, 0xe0, 0xe9, 0x15, 0x91, 0xa4, 0x8a, 0x8f,
+ 0x43, 0xf5, 0x40, 0x31, 0x7e, 0x51, 0x40, 0x17, 0x9b, 0x9c, 0x31, 0xd9, 0x09, 0xf6, 0xc2, 0x08,
+ 0x7d, 0x03, 0x1b, 0x33, 0x2e, 0x8b, 0x6a, 0x0a, 0xc7, 0xf3, 0x51, 0x16, 0x4f, 0x62, 0x2a, 0x05,
+ 0x91, 0x44, 0x24, 0xbd, 0x18, 0xa2, 0xb4, 0xe2, 0xbf, 0x10, 0xa9, 0x69, 0x44, 0x7f, 0x28, 0xb0,
+ 0x23, 0x9c, 0x2d, 0xff, 0x22, 0x08, 0x67, 0xbc, 0x36, 0x51, 0x0b, 0xca, 0xac, 0x80, 0x79, 0x15,
+ 0xb0, 0x30, 0x5a, 0xeb, 0xdd, 0xf5, 0x1c, 0x39, 0x4b, 0x3b, 0xf4, 0x6d, 0x92, 0x86, 0xca, 0xd3,
+ 0x78, 0x94, 0x75, 0x49, 0xc5, 0x7f, 0x0b, 0x79, 0xfc, 0xa9, 0x40, 0x39, 0x2e, 0x50, 0xd4, 0xc8,
+ 0xf4, 0x41, 0x3d, 0xc6, 0x91, 0x2e, 0xe0, 0x4c, 0x13, 0x24, 0x75, 0xa8, 0xf2, 0x3a, 0x3c, 0x84,
+ 0xf2, 0x3c, 0x24, 0x17, 0xde, 0x6b, 0x12, 0xd5, 0xf2, 0x3c, 0x97, 0x07, 0xab, 0x31, 0x1a, 0x27,
+ 0xd2, 0x40, 0xe4, 0xb0, 0xb4, 0xaf, 0x9f, 0xc2, 0x66, 0x46, 0xb5, 0x26, 0x8b, 0x46, 0x3a, 0x0b,
+ 0xad, 0x55, 0x7b, 0xd3, 0x71, 0xa7, 0xf3, 0xfb, 0x59, 0x81, 0x4a, 0xbc, 0x77, 0xeb, 0x16, 0x09,
+ 0x8a, 0x46, 0x3b, 0x00, 0xe0, 0x4d, 0x3b, 0x94, 0x7d, 0xce, 0x52, 0x7c, 0xff, 0x8d, 0xc7, 0xe5,
+ 0x54, 0xb8, 0x31, 0x3b, 0x6f, 0xe3, 0x27, 0xd8, 0x6a, 0x4f, 0x71, 0x38, 0x4b, 0x26, 0x01, 0x89,
+ 0x27, 0xc1, 0x0e, 0x6c, 0x76, 0x7a, 0xdd, 0xee, 0xa9, 0x6d, 0x75, 0xda, 0x03, 0xab, 0x67, 0xeb,
+ 0x39, 0xb4, 0x0d, 0x9a, 0x69, 0x9f, 0x59, 0x4e, 0xcf, 0xee, 0x9a, 0xf6, 0x40, 0x57, 0xd0, 0x26,
+ 0x54, 0xcc, 0xef, 0x4f, 0xad, 0x13, 0xfe, 0xa9, 0x22, 0x0d, 0x36, 0xfa, 0xa6, 0x73, 0x66, 0x75,
+ 0x4c, 0x3d, 0x8f, 0xb6, 0x00, 0x4e, 0x9c, 0x5e, 0xc7, 0xec, 0xf7, 0x2d, 0xfb, 0x99, 0x5e, 0x40,
+ 0x55, 0x28, 0xf7, 0xcd, 0xce, 0xa9, 0x63, 0x0d, 0x7e, 0xd0, 0x8b, 0xc6, 0x73, 0x40, 0xc9, 0xc6,
+ 0x1d, 0x4c, 0xc9, 0x38, 0x08, 0xaf, 0x8d, 0xcf, 0x52, 0xa3, 0xf2, 0x84, 0x6f, 0xb9, 0x01, 0xf9,
+ 0xde, 0x4b, 0xb6, 0x15, 0x5b, 0xf0, 0x4d, 0xf8, 0xe2, 0x54, 0xcf, 0xb3, 0x85, 0x6d, 0x5b, 0x7a,
+ 0xc1, 0xd8, 0x87, 0xed, 0x24, 0x56, 0x9f, 0x62, 0x4a, 0x8c, 0xdd, 0x38, 0x10, 0x40, 0xc9, 0x69,
+ 0x5b, 0x7d, 0xf3, 0x48, 0xcf, 0x31, 0x78, 0x9d, 0x97, 0x66, 0xdb, 0x31, 0x8f, 0x74, 0xc5, 0xc0,
+ 0x69, 0x00, 0x7d, 0xb2, 0x20, 0xa1, 0x47, 0xaf, 0x8d, 0x17, 0xa9, 0xec, 0x2d, 0xfb, 0xc8, 0x1c,
+ 0x98, 0x4e, 0xd7, 0xb2, 0xdb, 0x03, 0x53, 0xb8, 0xbf, 0x6a, 0x3b, 0x36, 0xcb, 0x46, 0x61, 0x73,
+ 0xb2, 0x6b, 0xd9, 0x3d, 0x47, 0x57, 0xf9, 0xb2, 0xfd, 0xbc, 0xe7, 0xe8, 0x79, 0x96, 0x63, 0xc7,
+ 0xb1, 0x06, 0x56, 0xa7, 0xfd, 0x52, 0x2f, 0x18, 0x7f, 0x15, 0x00, 0x92, 0x3d, 0xd8, 0xa9, 0x79,
+ 0xae, 0x2c, 0x1c, 0xd5, 0x73, 0xd1, 0x27, 0xf2, 0xd4, 0x55, 0x7e, 0xea, 0xf7, 0xe2, 0xf3, 0xca,
+ 0x9e, 0x47, 0xe6, 0xdc, 0xbf, 0x82, 0xf2, 0x48, 0x52, 0xc5, 0xe7, 0xe8, 0x56, 0x6b, 0xf7, 0xa6,
+ 0x57, 0x4c, 0xa6, 0xf4, 0x5c, 0x7a, 0xa0, 0x7d, 0x28, 0x46, 0x8c, 0x1c, 0x3e, 0x5e, 0x53, 0xf7,
+ 0xc9, 0x0a, 0x77, 0xd2, 0x4f, 0xd8, 0xb2, 0x2d, 0x23, 0x49, 0x0e, 0x9f, 0xbc, 0x6b, 0xb7, 0x8c,
+ 0xe9, 0x8b, 0xb7, 0x8c, 0x3d, 0xd8, 0xe0, 0x0e, 0xb1, 0x17, 0x11, 0x77, 0x48, 0xa3, 0x5a, 0x89,
+ 0x37, 0x64, 0x59, 0x08, 0x06, 0x11, 0x7a, 0x08, 0x5a, 0x48, 0xe6, 0x41, 0x48, 0x85, 0x7a, 0x83,
+ 0xab, 0x21, 0x16, 0x0d, 0x22, 0x74, 0x1f, 0x60, 0x34, 0xc1, 0xfe, 0x58, 0xe8, 0xcb, 0x5c, 0x5f,
+ 0x91, 0x92, 0xd8, 0x3f, 0x0a, 0xae, 0x42, 0x71, 0x2f, 0x54, 0x38, 0xb1, 0x10, 0x8b, 0x2c, 0x17,
+ 0xed, 0x82, 0xe6, 0x92, 0x68, 0x14, 0x7a, 0x73, 0x56, 0xf6, 0x35, 0xe0, 0x06, 0x69, 0x11, 0xfa,
+ 0x22, 0xb9, 0x3b, 0x34, 0xde, 0x35, 0x0f, 0x6f, 0x26, 0xb7, 0xfe, 0xde, 0x58, 0x7f, 0xb9, 0x55,
+ 0xd7, 0x5f, 0x6e, 0x8f, 0x60, 0x1b, 0xb3, 0x78, 0x43, 0x76, 0x8a, 0x43, 0x1f, 0xcf, 0x48, 0x6d,
+ 0x93, 0x5b, 0x6e, 0x72, 0x31, 0x63, 0xcd, 0xc6, 0x33, 0x72, 0xab, 0xbb, 0xe8, 0x6f, 0x05, 0x34,
+ 0xb1, 0xa1, 0xa8, 0xb6, 0x15, 0x76, 0x94, 0x1b, 0xec, 0x3c, 0x86, 0x1d, 0x09, 0x9c, 0x3f, 0x80,
+ 0x04, 0x2c, 0x11, 0x76, 0xdb, 0x4d, 0x02, 0x31, 0x60, 0xab, 0x4c, 0xe6, 0x6f, 0x32, 0x79, 0x98,
+ 0x30, 0x59, 0xe0, 0x4c, 0x2e, 0xcb, 0x24, 0x05, 0xea, 0x2d, 0x5c, 0xc1, 0x0b, 0xd8, 0xcc, 0x8e,
+ 0x90, 0xff, 0x69, 0x7e, 0x1d, 0x83, 0x2e, 0x4a, 0xff, 0xea, 0xfc, 0x96, 0xd3, 0xeb, 0x15, 0x54,
+ 0x92, 0xe9, 0xfb, 0x3c, 0x0e, 0xa1, 0x43, 0xb5, 0xd3, 0xb3, 0xbf, 0xb3, 0x9e, 0x0d, 0xcd, 0x33,
+ 0x06, 0x2e, 0xc7, 0xb0, 0xbe, 0x38, 0xb1, 0xe4, 0xa7, 0xc2, 0xe0, 0x2d, 0x3f, 0x5b, 0xba, 0xca,
+ 0x1c, 0x8e, 0x4c, 0x06, 0x5d, 0x5a, 0xe4, 0x8d, 0xdf, 0x55, 0xd0, 0x78, 0xe4, 0x63, 0x82, 0x5d,
+ 0x12, 0xde, 0x98, 0x3f, 0x9f, 0xa7, 0xa6, 0x89, 0x98, 0x41, 0x77, 0xe3, 0x33, 0xfb, 0xf7, 0x41,
+ 0xd2, 0x86, 0x6a, 0x74, 0x75, 0x3e, 0x5c, 0x19, 0x45, 0x0f, 0x32, 0xce, 0x29, 0x5e, 0xa4, 0xbf,
+ 0x16, 0x25, 0x22, 0xf4, 0x44, 0xce, 0x3e, 0x31, 0x8a, 0xde, 0xcb, 0xb8, 0xde, 0x18, 0x7b, 0x1f,
+ 0x40, 0x95, 0x37, 0xce, 0x82, 0x84, 0x11, 0x2b, 0x3f, 0xf1, 0x02, 0xd4, 0x98, 0xec, 0x4c, 0x88,
+ 0x6e, 0x37, 0x68, 0x8c, 0xdf, 0x54, 0x28, 0x8a, 0xae, 0x79, 0x02, 0xa5, 0x09, 0x67, 0x4b, 0xbe,
+ 0x93, 0xee, 0x64, 0x90, 0x09, 0x22, 0x1d, 0x69, 0x82, 0x0e, 0xa0, 0x3a, 0xe2, 0x6f, 0x71, 0xd1,
+ 0x41, 0xf2, 0xfe, 0xbf, 0xb3, 0xe6, 0x9d, 0x7e, 0x9c, 0x73, 0xb4, 0x51, 0xea, 0x65, 0xdf, 0x84,
+ 0xca, 0xe5, 0xdc, 0x93, 0x6e, 0x79, 0xee, 0xa6, 0xaf, 0xde, 0xfa, 0xc7, 0x39, 0xa7, 0x7c, 0x19,
+ 0x3f, 0x81, 0x5a, 0x00, 0x4b, 0x87, 0x16, 0x67, 0x4d, 0x6b, 0xed, 0xac, 0x7a, 0xb4, 0x8e, 0x73,
+ 0x4e, 0xe5, 0x72, 0xf9, 0xaa, 0x38, 0x80, 0x6a, 0xba, 0xc1, 0x39, 0x6d, 0x29, 0x78, 0xa9, 0xbe,
+ 0x64, 0xf0, 0x52, 0x2d, 0xff, 0xb4, 0x0a, 0x20, 0x66, 0x02, 0xa3, 0xf8, 0xa9, 0x09, 0x77, 0x82,
+ 0x70, 0xdc, 0x08, 0xe6, 0xc4, 0x1f, 0x05, 0xa1, 0x2b, 0xfd, 0x7f, 0x6c, 0x8c, 0x3d, 0x3a, 0xb9,
+ 0x3a, 0x6f, 0x8c, 0x82, 0x59, 0x33, 0xd6, 0x35, 0x85, 0xee, 0x63, 0xf9, 0xaf, 0x69, 0xb1, 0xdf,
+ 0x1c, 0x07, 0x52, 0x76, 0x5e, 0xe2, 0xc2, 0xfd, 0x7f, 0x02, 0x00, 0x00, 0xff, 0xff, 0x8c, 0x4c,
+ 0x16, 0xa6, 0x7e, 0x0d, 0x00, 0x00,
}
diff --git a/vendor/github.com/opencord/voltha-protos/v2/go/voltha/health.pb.go b/vendor/github.com/opencord/voltha-protos/v3/go/voltha/health.pb.go
similarity index 94%
rename from vendor/github.com/opencord/voltha-protos/v2/go/voltha/health.pb.go
rename to vendor/github.com/opencord/voltha-protos/v3/go/voltha/health.pb.go
index 996a99b..42b0541 100644
--- a/vendor/github.com/opencord/voltha-protos/v2/go/voltha/health.pb.go
+++ b/vendor/github.com/opencord/voltha-protos/v3/go/voltha/health.pb.go
@@ -8,7 +8,7 @@
fmt "fmt"
proto "github.com/golang/protobuf/proto"
empty "github.com/golang/protobuf/ptypes/empty"
- _ "github.com/opencord/voltha-protos/v2/go/common"
+ _ "github.com/opencord/voltha-protos/v3/go/common"
_ "google.golang.org/genproto/googleapis/api/annotations"
grpc "google.golang.org/grpc"
math "math"
@@ -103,7 +103,7 @@
func init() { proto.RegisterFile("voltha_protos/health.proto", fileDescriptor_dd1fc2b2d96d69b8) }
var fileDescriptor_dd1fc2b2d96d69b8 = []byte{
- // 292 bytes of a gzipped FileDescriptorProto
+ // 302 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x92, 0x2a, 0xcb, 0xcf, 0x29,
0xc9, 0x48, 0x8c, 0x2f, 0x28, 0xca, 0x2f, 0xc9, 0x2f, 0xd6, 0xcf, 0x48, 0x4d, 0xcc, 0x29, 0xc9,
0xd0, 0x03, 0xf3, 0x84, 0xd8, 0x20, 0x72, 0x52, 0x32, 0xe9, 0xf9, 0xf9, 0xe9, 0x39, 0xa9, 0xfa,
@@ -118,11 +118,11 @@
0x85, 0x38, 0xb9, 0x58, 0x5d, 0x22, 0x3d, 0xfd, 0xdc, 0x05, 0x98, 0x8c, 0x12, 0xb9, 0x78, 0xa1,
0xda, 0x52, 0x8b, 0xca, 0x32, 0x93, 0x53, 0x85, 0x02, 0xb8, 0xf8, 0xdd, 0x53, 0x4b, 0x50, 0x5c,
0x26, 0xa6, 0x07, 0xf1, 0xa2, 0x1e, 0xcc, 0x8b, 0x7a, 0xae, 0x20, 0x2f, 0x4a, 0x89, 0x60, 0x73,
- 0xa2, 0x12, 0x7f, 0xd3, 0xe5, 0x27, 0x93, 0x99, 0x38, 0x85, 0xd8, 0xa1, 0x81, 0xe9, 0x64, 0x10,
- 0xa5, 0x97, 0x9e, 0x59, 0x92, 0x51, 0x9a, 0xa4, 0x97, 0x9c, 0x9f, 0xab, 0x9f, 0x5f, 0x90, 0x9a,
- 0x97, 0x9c, 0x5f, 0x94, 0xa2, 0x0f, 0xd1, 0xab, 0x0b, 0x0d, 0x99, 0x32, 0x23, 0xfd, 0xf4, 0x7c,
- 0xa8, 0x58, 0x12, 0x1b, 0x58, 0xd0, 0x18, 0x10, 0x00, 0x00, 0xff, 0xff, 0x61, 0x34, 0xd4, 0x32,
- 0x9d, 0x01, 0x00, 0x00,
+ 0xa2, 0x12, 0x7f, 0xd3, 0xe5, 0x27, 0x93, 0x99, 0x38, 0x85, 0xd8, 0xa1, 0x81, 0xe9, 0xe4, 0xca,
+ 0x25, 0x9c, 0x5f, 0x94, 0xae, 0x97, 0x5f, 0x90, 0x9a, 0x97, 0x9c, 0x5f, 0x94, 0x02, 0xd5, 0x14,
+ 0xa5, 0x97, 0x9e, 0x59, 0x92, 0x51, 0x9a, 0xa4, 0x97, 0x9c, 0x9f, 0xab, 0x0f, 0x93, 0xd3, 0x87,
+ 0xc8, 0xe9, 0x42, 0x83, 0xab, 0xcc, 0x58, 0x3f, 0x3d, 0x1f, 0x2a, 0x96, 0xc4, 0x06, 0x16, 0x34,
+ 0x06, 0x04, 0x00, 0x00, 0xff, 0xff, 0x39, 0x87, 0x64, 0xd7, 0xb2, 0x01, 0x00, 0x00,
}
// Reference imports to suppress errors if they are not otherwise used.
diff --git a/vendor/github.com/opencord/voltha-protos/v2/go/voltha/logical_device.pb.go b/vendor/github.com/opencord/voltha-protos/v3/go/voltha/logical_device.pb.go
similarity index 76%
rename from vendor/github.com/opencord/voltha-protos/v2/go/voltha/logical_device.pb.go
rename to vendor/github.com/opencord/voltha-protos/v3/go/voltha/logical_device.pb.go
index ecf9196..8ebaa02 100644
--- a/vendor/github.com/opencord/voltha-protos/v2/go/voltha/logical_device.pb.go
+++ b/vendor/github.com/opencord/voltha-protos/v3/go/voltha/logical_device.pb.go
@@ -6,8 +6,8 @@
import (
fmt "fmt"
proto "github.com/golang/protobuf/proto"
- _ "github.com/opencord/voltha-protos/v2/go/common"
- openflow_13 "github.com/opencord/voltha-protos/v2/go/openflow_13"
+ _ "github.com/opencord/voltha-protos/v3/go/common"
+ openflow_13 "github.com/opencord/voltha-protos/v3/go/openflow_13"
_ "google.golang.org/genproto/googleapis/api/annotations"
math "math"
)
@@ -352,39 +352,40 @@
func init() { proto.RegisterFile("voltha_protos/logical_device.proto", fileDescriptor_caf139ab3abc8240) }
var fileDescriptor_caf139ab3abc8240 = []byte{
- // 536 bytes of a gzipped FileDescriptorProto
- 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x74, 0x53, 0xcd, 0x6e, 0xd3, 0x4c,
- 0x14, 0xfd, 0xdc, 0xc6, 0x69, 0x72, 0x9d, 0xe6, 0x93, 0xa6, 0xaa, 0x6a, 0xb5, 0xa0, 0x46, 0x16,
- 0x8b, 0x54, 0x08, 0x27, 0x24, 0x42, 0x82, 0x05, 0x12, 0x44, 0x55, 0x51, 0x24, 0x40, 0x68, 0xd8,
- 0xb1, 0xb1, 0xa6, 0xf6, 0xc4, 0xb1, 0x94, 0xe4, 0x5a, 0x9e, 0x49, 0xba, 0xe5, 0xe7, 0xb5, 0x78,
- 0x05, 0x5e, 0x82, 0x47, 0x60, 0xc1, 0x1a, 0xcd, 0x1d, 0xbb, 0xc4, 0x4d, 0x59, 0xfa, 0xfc, 0xdc,
- 0x7b, 0xe6, 0x5c, 0x19, 0x82, 0x0d, 0x2e, 0xf4, 0x5c, 0x44, 0x79, 0x81, 0x1a, 0xd5, 0x60, 0x81,
- 0x69, 0x16, 0x8b, 0x45, 0x94, 0xc8, 0x4d, 0x16, 0xcb, 0x90, 0x50, 0xd6, 0xb4, 0x9a, 0xd3, 0x07,
- 0x29, 0x62, 0xba, 0x90, 0x03, 0x91, 0x67, 0x03, 0xb1, 0x5a, 0xa1, 0x16, 0x3a, 0xc3, 0x95, 0xb2,
- 0xaa, 0x53, 0xbf, 0x3e, 0x69, 0x29, 0xb5, 0x28, 0x99, 0xf3, 0x3a, 0x83, 0xb9, 0x5c, 0xcd, 0x16,
- 0x78, 0x13, 0x3d, 0x1d, 0x5b, 0x41, 0xf0, 0x1c, 0x0e, 0xdf, 0xda, 0xc5, 0x1f, 0xb0, 0xd0, 0xd3,
- 0x84, 0x75, 0x61, 0x2f, 0x4b, 0x7c, 0xa7, 0xe7, 0xf4, 0xdb, 0x7c, 0x2f, 0x4b, 0xd8, 0x09, 0x1c,
- 0xe4, 0x58, 0xe8, 0x28, 0x4b, 0xfc, 0x3d, 0x02, 0x9b, 0x39, 0x09, 0x83, 0x5f, 0x0e, 0x78, 0x5b,
- 0xd6, 0x1d, 0xe3, 0x10, 0x5a, 0x38, 0xcb, 0x23, 0xa3, 0x26, 0xa7, 0x37, 0x3a, 0x0e, 0xb7, 0xf7,
- 0x57, 0x24, 0x3f, 0xc0, 0x59, 0x4e, 0x13, 0xce, 0xa0, 0x6d, 0x1f, 0x6f, 0x96, 0xed, 0xd3, 0xa0,
- 0x96, 0x05, 0xa6, 0x09, 0x7b, 0x04, 0xdd, 0x92, 0xa4, 0x38, 0x2b, 0xf4, 0x1b, 0x3d, 0xa7, 0x7f,
- 0xc8, 0x3b, 0x16, 0x35, 0x03, 0xde, 0xa3, 0x19, 0x51, 0x20, 0x6a, 0xbb, 0xd5, 0xed, 0x39, 0xfd,
- 0x16, 0x6f, 0x19, 0x80, 0xe6, 0xbf, 0x86, 0x6e, 0xb5, 0x34, 0x52, 0x5a, 0x68, 0xe5, 0x37, 0x29,
- 0xd7, 0xd9, 0xbd, 0xb9, 0xac, 0x84, 0x77, 0xca, 0x74, 0x1f, 0xcd, 0x57, 0xf0, 0x02, 0x3a, 0x5b,
- 0x6f, 0x56, 0xec, 0x02, 0xdc, 0x4c, 0xcb, 0xa5, 0xf2, 0x9d, 0xde, 0x7e, 0xdf, 0x1b, 0x1d, 0x85,
- 0xb6, 0xef, 0x70, 0x4b, 0xc4, 0xad, 0x22, 0xf8, 0xbe, 0x7f, 0x5b, 0xf5, 0x25, 0x45, 0xde, 0x69,
- 0xec, 0x1c, 0xbc, 0x44, 0x68, 0x91, 0x0b, 0x3d, 0xaf, 0xea, 0x6e, 0x70, 0xa8, 0xa0, 0x69, 0xc2,
- 0x2e, 0xa0, 0x91, 0x48, 0x15, 0x53, 0x37, 0xf7, 0xd5, 0x69, 0x48, 0x4e, 0x12, 0x36, 0x85, 0xff,
- 0xd5, 0x4d, 0xa6, 0xe3, 0x79, 0x34, 0x93, 0x42, 0xaf, 0x0b, 0xa9, 0xa8, 0x2f, 0x6f, 0xd4, 0xdb,
- 0x71, 0xdd, 0xd1, 0xf1, 0xae, 0x05, 0xae, 0xca, 0x6f, 0xd3, 0x3c, 0x75, 0xfa, 0xf7, 0x36, 0x2e,
- 0x45, 0xee, 0x18, 0xf4, 0xb2, 0xba, 0xcf, 0x33, 0x70, 0x4d, 0x6b, 0xca, 0xff, 0xfc, 0xef, 0x2a,
- 0x26, 0xed, 0x9f, 0xbf, 0x7f, 0x3c, 0x6c, 0x98, 0x67, 0x73, 0xab, 0x66, 0x43, 0x70, 0x4d, 0x16,
- 0xe5, 0x7f, 0x71, 0x28, 0x1e, 0xab, 0xc5, 0xbb, 0x32, 0xd4, 0xc4, 0x35, 0xae, 0xff, 0xb8, 0x15,
- 0xb2, 0x57, 0xe0, 0x11, 0x9d, 0x16, 0xb8, 0xce, 0x95, 0xff, 0xd5, 0xfa, 0x4e, 0x76, 0x7c, 0x6f,
- 0x88, 0xaf, 0xcc, 0x30, 0xbb, 0x85, 0xd8, 0x18, 0x9a, 0x4b, 0xa9, 0x65, 0xa1, 0xfc, 0x6f, 0xd6,
- 0x7c, 0x54, 0x33, 0xbf, 0x23, 0xae, 0x32, 0x96, 0xd2, 0xe0, 0x25, 0x74, 0x6b, 0xd7, 0x53, 0xec,
- 0x71, 0xfd, 0xf6, 0xc7, 0x77, 0x1e, 0x6c, 0x65, 0xe5, 0xf5, 0x27, 0xc3, 0x4f, 0x61, 0x9a, 0xe9,
- 0xf9, 0xfa, 0x3a, 0x8c, 0x71, 0x49, 0xff, 0x61, 0x8c, 0x45, 0x32, 0xb0, 0x96, 0x27, 0xe5, 0xef,
- 0xb9, 0x19, 0x0d, 0x52, 0x2c, 0xb1, 0xeb, 0x26, 0x81, 0xe3, 0x3f, 0x01, 0x00, 0x00, 0xff, 0xff,
- 0xec, 0x69, 0x73, 0x0c, 0x27, 0x04, 0x00, 0x00,
+ // 550 bytes of a gzipped FileDescriptorProto
+ 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x74, 0x93, 0xcf, 0x6a, 0xdb, 0x40,
+ 0x10, 0xc6, 0xab, 0xd8, 0x72, 0xec, 0x91, 0xe3, 0xc0, 0x9a, 0x10, 0x91, 0xb4, 0xc4, 0x88, 0x1e,
+ 0x1c, 0x4a, 0xa5, 0xd4, 0xa6, 0xd0, 0x1e, 0x0a, 0xad, 0x09, 0x2e, 0x86, 0xfe, 0x63, 0x0b, 0x3d,
+ 0xf4, 0x22, 0x36, 0xd2, 0x5a, 0x16, 0xd8, 0x1a, 0xa1, 0x5d, 0x3b, 0xd7, 0xfe, 0x79, 0xad, 0xbe,
+ 0x42, 0x5f, 0xa2, 0x8f, 0xd0, 0x43, 0xcf, 0x65, 0x77, 0xa5, 0xd4, 0x8a, 0xd3, 0xa3, 0xbe, 0xf9,
+ 0x7d, 0x33, 0xb3, 0xdf, 0x20, 0xf0, 0x36, 0xb8, 0x94, 0x0b, 0x16, 0xe6, 0x05, 0x4a, 0x14, 0xc1,
+ 0x12, 0x93, 0x34, 0x62, 0xcb, 0x30, 0xe6, 0x9b, 0x34, 0xe2, 0xbe, 0x56, 0x49, 0xcb, 0x30, 0x27,
+ 0xf7, 0x13, 0xc4, 0x64, 0xc9, 0x03, 0x96, 0xa7, 0x01, 0xcb, 0x32, 0x94, 0x4c, 0xa6, 0x98, 0x09,
+ 0x43, 0x9d, 0xb8, 0xf5, 0x4e, 0x2b, 0x2e, 0x59, 0x59, 0x39, 0xab, 0x57, 0x30, 0xe7, 0xd9, 0x7c,
+ 0x89, 0xd7, 0xe1, 0x93, 0xb1, 0x01, 0xbc, 0x67, 0x70, 0xf0, 0xc6, 0x0c, 0xfe, 0x80, 0x85, 0x9c,
+ 0xc5, 0xa4, 0x07, 0x7b, 0x69, 0xec, 0x5a, 0x03, 0x6b, 0xd8, 0xa1, 0x7b, 0x69, 0x4c, 0x8e, 0x61,
+ 0x3f, 0xc7, 0x42, 0x86, 0x69, 0xec, 0xee, 0x69, 0xb1, 0x95, 0x6b, 0xd0, 0xfb, 0x6d, 0x81, 0xb3,
+ 0x65, 0xdd, 0x31, 0x5e, 0x40, 0x1b, 0xe7, 0x79, 0xa8, 0x68, 0xed, 0x74, 0x46, 0x47, 0xfe, 0xf6,
+ 0xfc, 0xaa, 0x48, 0xf7, 0x71, 0x9e, 0xeb, 0x0e, 0xa7, 0xd0, 0x31, 0x8f, 0x57, 0xc3, 0x1a, 0xba,
+ 0x51, 0xdb, 0x08, 0xb3, 0x98, 0x3c, 0x84, 0x5e, 0x59, 0xd4, 0xeb, 0x64, 0xe8, 0x36, 0x07, 0xd6,
+ 0xf0, 0x80, 0x76, 0x8d, 0xaa, 0x1a, 0xbc, 0x43, 0xd5, 0xa2, 0x40, 0x94, 0x66, 0xaa, 0x3d, 0xb0,
+ 0x86, 0x6d, 0xda, 0x56, 0x82, 0xee, 0xff, 0x0a, 0x7a, 0xd5, 0xd0, 0x50, 0x48, 0x26, 0x85, 0xdb,
+ 0xd2, 0x7b, 0x9d, 0xde, 0xb9, 0x97, 0x41, 0x68, 0xb7, 0xdc, 0xee, 0xa3, 0xfa, 0xf2, 0x9e, 0x43,
+ 0x77, 0xeb, 0xcd, 0x82, 0x9c, 0x83, 0x9d, 0x4a, 0xbe, 0x12, 0xae, 0x35, 0x68, 0x0c, 0x9d, 0x51,
+ 0xdf, 0x37, 0x79, 0xfb, 0x5b, 0x10, 0x35, 0x84, 0xf7, 0xa3, 0x71, 0x13, 0xf5, 0xa5, 0x5e, 0x79,
+ 0x27, 0xb1, 0x33, 0x70, 0x62, 0x26, 0x59, 0xce, 0xe4, 0xa2, 0x8a, 0xbb, 0x49, 0xa1, 0x92, 0x66,
+ 0x31, 0x39, 0x87, 0x66, 0xcc, 0x45, 0xa4, 0xb3, 0xb9, 0x2b, 0x4e, 0x55, 0xa4, 0x1a, 0x21, 0x33,
+ 0x38, 0x14, 0xd7, 0xa9, 0x8c, 0x16, 0xe1, 0x9c, 0x33, 0xb9, 0x2e, 0xb8, 0xd0, 0x79, 0x39, 0xa3,
+ 0xc1, 0x8e, 0xeb, 0x16, 0x47, 0x7b, 0x46, 0x98, 0x96, 0xdf, 0x2a, 0x79, 0x9d, 0xe9, 0xbf, 0xdb,
+ 0xd8, 0x7a, 0xe5, 0xae, 0x52, 0x2f, 0xab, 0xfb, 0x3c, 0x05, 0x5b, 0xa5, 0x26, 0xdc, 0x2f, 0xff,
+ 0x8f, 0x62, 0xd2, 0xf9, 0xf5, 0xe7, 0xe7, 0x83, 0xa6, 0x7a, 0x36, 0x35, 0x34, 0xb9, 0x00, 0x5b,
+ 0xed, 0x22, 0xdc, 0xaf, 0x96, 0x5e, 0x8f, 0xd4, 0xd6, 0x9b, 0xaa, 0xd2, 0xc4, 0x56, 0xae, 0x7b,
+ 0xd4, 0x80, 0xe4, 0x25, 0x38, 0xba, 0x9c, 0x14, 0xb8, 0xce, 0x85, 0xfb, 0xcd, 0xf8, 0x8e, 0x77,
+ 0x7c, 0xaf, 0x75, 0xbd, 0x32, 0xc3, 0xfc, 0x46, 0x22, 0x63, 0x68, 0xad, 0xb8, 0xe4, 0x85, 0x70,
+ 0xbf, 0x1b, 0x73, 0xbf, 0x66, 0x7e, 0xab, 0x6b, 0x95, 0xb1, 0x44, 0xbd, 0x17, 0xd0, 0xab, 0x5d,
+ 0x4f, 0x90, 0x47, 0xf5, 0xdb, 0x1f, 0xdd, 0x7a, 0xb0, 0xc1, 0xca, 0xeb, 0x4f, 0x3e, 0x41, 0x1f,
+ 0x8b, 0x44, 0xcf, 0x89, 0xb0, 0x88, 0x4b, 0x76, 0x72, 0xf8, 0x7e, 0x5a, 0xc3, 0x3f, 0xfb, 0x49,
+ 0x2a, 0x17, 0xeb, 0x2b, 0x3f, 0xc2, 0x55, 0x50, 0xc1, 0x81, 0x81, 0x1f, 0x97, 0x3f, 0xf1, 0x66,
+ 0x1c, 0x24, 0x58, 0x6a, 0x57, 0x2d, 0x2d, 0x8e, 0xff, 0x06, 0x00, 0x00, 0xff, 0xff, 0xdd, 0xad,
+ 0x36, 0xdf, 0x4d, 0x04, 0x00, 0x00,
}
diff --git a/vendor/github.com/opencord/voltha-protos/v2/go/voltha/ponsim.pb.go b/vendor/github.com/opencord/voltha-protos/v3/go/voltha/ponsim.pb.go
similarity index 85%
rename from vendor/github.com/opencord/voltha-protos/v2/go/voltha/ponsim.pb.go
rename to vendor/github.com/opencord/voltha-protos/v3/go/voltha/ponsim.pb.go
index 38ce681..1dc6e94 100644
--- a/vendor/github.com/opencord/voltha-protos/v2/go/voltha/ponsim.pb.go
+++ b/vendor/github.com/opencord/voltha-protos/v3/go/voltha/ponsim.pb.go
@@ -8,7 +8,7 @@
fmt "fmt"
proto "github.com/golang/protobuf/proto"
empty "github.com/golang/protobuf/ptypes/empty"
- openflow_13 "github.com/opencord/voltha-protos/v2/go/openflow_13"
+ openflow_13 "github.com/opencord/voltha-protos/v3/go/openflow_13"
grpc "google.golang.org/grpc"
math "math"
)
@@ -414,42 +414,43 @@
func init() { proto.RegisterFile("voltha_protos/ponsim.proto", fileDescriptor_352253851b8ea7c0) }
var fileDescriptor_352253851b8ea7c0 = []byte{
- // 556 bytes of a gzipped FileDescriptorProto
- 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x7c, 0x94, 0x4f, 0x6f, 0xd3, 0x40,
- 0x10, 0xc5, 0xf3, 0xa7, 0xf9, 0x37, 0x6d, 0x80, 0x6e, 0x4b, 0x95, 0x26, 0x07, 0xa2, 0xe5, 0x12,
- 0x21, 0x61, 0xb7, 0x89, 0xb8, 0x80, 0x04, 0x88, 0x42, 0x2b, 0x0e, 0x94, 0x68, 0x43, 0x2f, 0x08,
- 0x61, 0x39, 0xf6, 0x26, 0xb5, 0xb0, 0x77, 0x8c, 0xbd, 0x9b, 0xaa, 0xdf, 0x90, 0x8f, 0x85, 0xbc,
- 0x6b, 0x93, 0xb8, 0x4a, 0xb8, 0xed, 0x8e, 0x5f, 0x7e, 0x6f, 0xde, 0x78, 0x62, 0xe8, 0xaf, 0x30,
- 0x94, 0xb7, 0xae, 0x13, 0x27, 0x28, 0x31, 0xb5, 0x63, 0x14, 0x69, 0x10, 0x59, 0xfa, 0x46, 0x9a,
- 0xe6, 0x59, 0x7f, 0xb0, 0x44, 0x5c, 0x86, 0xdc, 0xd6, 0xd5, 0xb9, 0x5a, 0xd8, 0x3c, 0x8a, 0xe5,
- 0xbd, 0x11, 0xf5, 0x9f, 0x95, 0x01, 0x18, 0x73, 0xb1, 0x08, 0xf1, 0xce, 0x39, 0x9f, 0x18, 0x01,
- 0xbd, 0x81, 0xa3, 0x29, 0x8a, 0x59, 0x10, 0x7d, 0x15, 0xea, 0x23, 0x5f, 0x05, 0x1e, 0xff, 0x2c,
- 0x16, 0x48, 0x4e, 0xa1, 0xad, 0x44, 0xe0, 0xc4, 0x98, 0xc8, 0x5e, 0x75, 0x58, 0x1d, 0x35, 0x58,
- 0x4b, 0x89, 0x60, 0x8a, 0x89, 0x24, 0xcf, 0xa1, 0x9b, 0xf2, 0x24, 0x70, 0x43, 0x47, 0xa8, 0x68,
- 0xce, 0x93, 0x5e, 0x6d, 0x58, 0x1d, 0x75, 0xd8, 0x81, 0x29, 0x5e, 0xeb, 0x1a, 0xfd, 0x09, 0x4f,
- 0x0c, 0xb6, 0xcc, 0x14, 0x0f, 0x98, 0x22, 0x67, 0xda, 0xb0, 0x87, 0x42, 0xa5, 0xbd, 0xda, 0xb0,
- 0x3e, 0xda, 0x1f, 0x0f, 0x2c, 0xd3, 0xb5, 0xb5, 0xa5, 0x33, 0xa6, 0x85, 0x94, 0x41, 0xe7, 0x32,
- 0xc4, 0xbb, 0x6f, 0xee, 0x3c, 0xe4, 0x84, 0xc0, 0xde, 0x06, 0x54, 0x9f, 0xc9, 0x39, 0x34, 0xb2,
- 0xa0, 0x6b, 0xe4, 0x66, 0x74, 0x5c, 0xc4, 0x8e, 0x3e, 0xa7, 0xd2, 0x95, 0x29, 0x33, 0x4a, 0xca,
- 0x60, 0xdf, 0x18, 0x5e, 0x26, 0x6e, 0xc4, 0xc9, 0x23, 0xa8, 0x05, 0xbe, 0x66, 0x76, 0x58, 0x2d,
- 0xf0, 0x49, 0x0f, 0x5a, 0xb1, 0x7b, 0x1f, 0xa2, 0xeb, 0xeb, 0xc4, 0x07, 0xac, 0xb8, 0x66, 0xc1,
- 0x50, 0x49, 0x13, 0xac, 0x6e, 0x82, 0xa1, 0x92, 0x59, 0x30, 0xfa, 0xae, 0x18, 0xef, 0xd4, 0xf5,
- 0x7e, 0x71, 0x79, 0x81, 0x4a, 0x48, 0x9e, 0x64, 0x1d, 0x0b, 0x37, 0xe2, 0x39, 0x5d, 0x9f, 0xc9,
- 0x31, 0x34, 0x56, 0x6e, 0xa8, 0xb8, 0xa6, 0xd7, 0x99, 0xb9, 0xd0, 0x25, 0x1c, 0xe6, 0x00, 0x4c,
- 0xe4, 0x17, 0x2e, 0x93, 0xc0, 0x4b, 0xc9, 0x00, 0x3a, 0x99, 0x99, 0xb3, 0xc1, 0x68, 0x67, 0x85,
- 0xeb, 0x8c, 0xf3, 0x2a, 0xeb, 0x33, 0x33, 0xdb, 0x31, 0xce, 0x52, 0x27, 0xac, 0xd0, 0xd2, 0x1f,
- 0xd0, 0x35, 0xcf, 0x0b, 0x93, 0x13, 0x68, 0xfa, 0x7a, 0xec, 0xb9, 0x43, 0x7e, 0x23, 0x13, 0x68,
- 0x45, 0x46, 0x92, 0xf3, 0x4f, 0x1f, 0xf0, 0xd7, 0x8d, 0xb2, 0x42, 0x49, 0x5f, 0xc0, 0x71, 0x89,
- 0xce, 0xf8, 0x6f, 0xc5, 0x53, 0xb9, 0xed, 0xd5, 0x8d, 0xff, 0xd4, 0xa0, 0x69, 0xc4, 0xe4, 0x35,
- 0x74, 0x66, 0x5c, 0xf8, 0xe6, 0x85, 0x1c, 0x95, 0x7d, 0x74, 0xb1, 0x7f, 0x62, 0x99, 0xf5, 0xb7,
- 0x8a, 0xf5, 0xb7, 0x3e, 0x65, 0xeb, 0x4f, 0x2b, 0xe4, 0x3d, 0x74, 0x19, 0xf7, 0x78, 0xb0, 0xe2,
- 0x5a, 0x99, 0x92, 0x1d, 0xd2, 0xfe, 0x36, 0x2e, 0xad, 0x9c, 0x55, 0xc9, 0x05, 0x74, 0xaf, 0xb8,
- 0xdc, 0xd8, 0xe0, 0x5d, 0x84, 0x5e, 0x99, 0xb0, 0xfe, 0x05, 0xad, 0x90, 0xb7, 0xf0, 0xf8, 0x26,
- 0xf6, 0x5d, 0xc9, 0xd7, 0xfb, 0x7a, 0x58, 0xc8, 0xff, 0x95, 0xfe, 0x13, 0xe3, 0x0d, 0xb4, 0xaf,
- 0xb8, 0x9c, 0x65, 0x8b, 0xba, 0xd3, 0xff, 0x69, 0xd9, 0x3f, 0x9f, 0x31, 0xad, 0x7c, 0x38, 0xfb,
- 0x6e, 0x2d, 0x03, 0x79, 0xab, 0xe6, 0x96, 0x87, 0x91, 0xfe, 0xf7, 0x7b, 0x98, 0xf8, 0xb6, 0x51,
- 0xbf, 0xcc, 0x3f, 0x0a, 0xab, 0xb1, 0xbd, 0xc4, 0xbc, 0x36, 0x6f, 0xea, 0xe2, 0xe4, 0x6f, 0x00,
- 0x00, 0x00, 0xff, 0xff, 0x31, 0x5e, 0xc5, 0xf6, 0x7a, 0x04, 0x00, 0x00,
+ // 563 bytes of a gzipped FileDescriptorProto
+ 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x7c, 0x94, 0x5f, 0x6f, 0xd3, 0x30,
+ 0x14, 0xc5, 0xdb, 0x6e, 0xeb, 0x9f, 0xbb, 0x15, 0x98, 0x3b, 0xa6, 0xae, 0x7d, 0xa0, 0x32, 0x2f,
+ 0x15, 0x12, 0x09, 0x5b, 0xc5, 0x0b, 0x48, 0x80, 0x18, 0xdb, 0xc4, 0x03, 0xa3, 0x72, 0xd9, 0x0b,
+ 0x42, 0x44, 0x69, 0xe2, 0x66, 0x11, 0x89, 0x6f, 0x48, 0xec, 0x4e, 0xfb, 0x86, 0x7c, 0x2c, 0x14,
+ 0x3b, 0xa1, 0xcd, 0xd4, 0xf2, 0x66, 0x5f, 0x9f, 0xfe, 0xce, 0x3d, 0x37, 0x57, 0x85, 0xc1, 0x12,
+ 0x23, 0x79, 0xeb, 0x3a, 0x49, 0x8a, 0x12, 0x33, 0x3b, 0x41, 0x91, 0x85, 0xb1, 0xa5, 0x6f, 0xa4,
+ 0x69, 0xde, 0x06, 0xc3, 0x00, 0x31, 0x88, 0xb8, 0xad, 0xab, 0x73, 0xb5, 0xb0, 0x79, 0x9c, 0xc8,
+ 0x7b, 0x23, 0x1a, 0x3c, 0xab, 0x02, 0x30, 0xe1, 0x62, 0x11, 0xe1, 0x9d, 0x73, 0x3a, 0x31, 0x02,
+ 0x7a, 0x03, 0xbd, 0x29, 0x8a, 0x59, 0x18, 0x7f, 0x15, 0xea, 0x13, 0x5f, 0x86, 0x1e, 0xff, 0x2c,
+ 0x16, 0x48, 0x4e, 0xa0, 0xad, 0x44, 0xe8, 0x24, 0x98, 0xca, 0x7e, 0x7d, 0x54, 0x1f, 0xef, 0xb1,
+ 0x96, 0x12, 0xe1, 0x14, 0x53, 0x49, 0x9e, 0x43, 0x37, 0xe3, 0x69, 0xe8, 0x46, 0x8e, 0x50, 0xf1,
+ 0x9c, 0xa7, 0xfd, 0xc6, 0xa8, 0x3e, 0xee, 0xb0, 0x03, 0x53, 0xbc, 0xd6, 0x35, 0xfa, 0x13, 0x9e,
+ 0x18, 0x6c, 0x95, 0x29, 0x1e, 0x30, 0x45, 0xc1, 0xb4, 0x61, 0x17, 0x85, 0xca, 0xfa, 0x8d, 0xd1,
+ 0xce, 0x78, 0xff, 0x6c, 0x68, 0x99, 0xae, 0xad, 0x0d, 0x9d, 0x31, 0x2d, 0xa4, 0x0c, 0x3a, 0x97,
+ 0x11, 0xde, 0x7d, 0x73, 0xe7, 0x11, 0x27, 0x04, 0x76, 0xd7, 0xa0, 0xfa, 0x4c, 0x4e, 0x61, 0x2f,
+ 0x0f, 0xba, 0x42, 0xae, 0x47, 0xc7, 0x45, 0xe2, 0xe8, 0x73, 0x26, 0x5d, 0x99, 0x31, 0xa3, 0xa4,
+ 0x0c, 0xf6, 0x8d, 0xe1, 0x65, 0xea, 0xc6, 0x9c, 0x3c, 0x82, 0x46, 0xe8, 0x6b, 0x66, 0x87, 0x35,
+ 0x42, 0x9f, 0xf4, 0xa1, 0x95, 0xb8, 0xf7, 0x11, 0xba, 0xbe, 0x4e, 0x7c, 0xc0, 0xca, 0x6b, 0x1e,
+ 0x0c, 0x95, 0x34, 0xc1, 0x76, 0x4c, 0x30, 0x54, 0x32, 0x0f, 0x46, 0xdf, 0x97, 0xe3, 0x9d, 0xba,
+ 0xde, 0x2f, 0x2e, 0xcf, 0x51, 0x09, 0xc9, 0xd3, 0xbc, 0x63, 0xe1, 0xc6, 0xbc, 0xa0, 0xeb, 0x33,
+ 0x39, 0x82, 0xbd, 0xa5, 0x1b, 0x29, 0xae, 0xe9, 0x3b, 0xcc, 0x5c, 0x68, 0x00, 0x87, 0x05, 0x00,
+ 0x53, 0xf9, 0x85, 0xcb, 0x34, 0xf4, 0x32, 0x32, 0x84, 0x4e, 0x6e, 0xe6, 0xac, 0x31, 0xda, 0x79,
+ 0xe1, 0x3a, 0xe7, 0xbc, 0xce, 0xfb, 0xcc, 0xcd, 0xb6, 0x8c, 0xb3, 0xd2, 0x09, 0x2b, 0xb5, 0xf4,
+ 0x07, 0x74, 0xcd, 0x7b, 0x69, 0x72, 0x0c, 0x4d, 0x5f, 0x8f, 0xbd, 0x70, 0x28, 0x6e, 0x64, 0x02,
+ 0xad, 0xd8, 0x48, 0x0a, 0xfe, 0xc9, 0x03, 0xfe, 0xaa, 0x51, 0x56, 0x2a, 0xe9, 0x0b, 0x38, 0xaa,
+ 0xd0, 0x19, 0xff, 0xad, 0x78, 0x26, 0x37, 0x7d, 0xba, 0xb3, 0x3f, 0x0d, 0x68, 0x1a, 0x31, 0x79,
+ 0x03, 0x9d, 0x19, 0x17, 0xbe, 0xf9, 0x20, 0xbd, 0xaa, 0x8f, 0x2e, 0x0e, 0x8e, 0x2d, 0xb3, 0xfe,
+ 0x56, 0xb9, 0xfe, 0xd6, 0x45, 0xbe, 0xfe, 0xb4, 0x46, 0x3e, 0x40, 0x97, 0x71, 0x8f, 0x87, 0x4b,
+ 0xae, 0x95, 0x19, 0xd9, 0x22, 0x1d, 0x6c, 0xe2, 0xd2, 0xda, 0xab, 0x3a, 0x39, 0x87, 0xee, 0x15,
+ 0x97, 0x6b, 0x1b, 0xbc, 0x8d, 0xd0, 0xaf, 0x12, 0x56, 0xbf, 0xa0, 0x35, 0xf2, 0x0e, 0x1e, 0xdf,
+ 0x24, 0xbe, 0x2b, 0xf9, 0x6a, 0x5f, 0x0f, 0x4b, 0xf9, 0xbf, 0xd2, 0x7f, 0x62, 0xbc, 0x85, 0xf6,
+ 0x15, 0x97, 0xb3, 0x7c, 0x51, 0xb7, 0xfa, 0x3f, 0xad, 0xfa, 0x17, 0x33, 0xa6, 0xb5, 0x8f, 0x17,
+ 0xd0, 0xc3, 0x34, 0xd0, 0xbb, 0xef, 0x61, 0xea, 0x17, 0xb2, 0xef, 0x56, 0x10, 0xca, 0x5b, 0x35,
+ 0xb7, 0x3c, 0x8c, 0xed, 0xf2, 0xcd, 0x36, 0x6f, 0x2f, 0x8b, 0x7f, 0x8a, 0xe5, 0xc4, 0x0e, 0xb0,
+ 0xa8, 0xcd, 0x9b, 0xba, 0x38, 0xf9, 0x1b, 0x00, 0x00, 0xff, 0xff, 0xb2, 0x72, 0x9e, 0xcb, 0x8f,
+ 0x04, 0x00, 0x00,
}
// Reference imports to suppress errors if they are not otherwise used.
diff --git a/vendor/github.com/opencord/voltha-protos/v2/go/voltha/voltha.pb.go b/vendor/github.com/opencord/voltha-protos/v3/go/voltha/voltha.pb.go
similarity index 90%
rename from vendor/github.com/opencord/voltha-protos/v2/go/voltha/voltha.pb.go
rename to vendor/github.com/opencord/voltha-protos/v3/go/voltha/voltha.pb.go
index 7a768b9..c2edc2d 100644
--- a/vendor/github.com/opencord/voltha-protos/v2/go/voltha/voltha.pb.go
+++ b/vendor/github.com/opencord/voltha-protos/v3/go/voltha/voltha.pb.go
@@ -8,9 +8,9 @@
fmt "fmt"
proto "github.com/golang/protobuf/proto"
empty "github.com/golang/protobuf/ptypes/empty"
- common "github.com/opencord/voltha-protos/v2/go/common"
- omci "github.com/opencord/voltha-protos/v2/go/omci"
- openflow_13 "github.com/opencord/voltha-protos/v2/go/openflow_13"
+ common "github.com/opencord/voltha-protos/v3/go/common"
+ omci "github.com/opencord/voltha-protos/v3/go/omci"
+ openflow_13 "github.com/opencord/voltha-protos/v3/go/openflow_13"
_ "google.golang.org/genproto/googleapis/api/annotations"
grpc "google.golang.org/grpc"
math "math"
@@ -82,54 +82,54 @@
const TestModeKeys_api_test = TestModeKeys(common.TestModeKeys_api_test)
-// LogLevel_LogLevel from public import voltha_protos/common.proto
-type LogLevel_LogLevel = common.LogLevel_LogLevel
+// LogLevel_Types from public import voltha_protos/common.proto
+type LogLevel_Types = common.LogLevel_Types
-var LogLevel_LogLevel_name = common.LogLevel_LogLevel_name
-var LogLevel_LogLevel_value = common.LogLevel_LogLevel_value
+var LogLevel_Types_name = common.LogLevel_Types_name
+var LogLevel_Types_value = common.LogLevel_Types_value
-const LogLevel_DEBUG = LogLevel_LogLevel(common.LogLevel_DEBUG)
-const LogLevel_INFO = LogLevel_LogLevel(common.LogLevel_INFO)
-const LogLevel_WARNING = LogLevel_LogLevel(common.LogLevel_WARNING)
-const LogLevel_ERROR = LogLevel_LogLevel(common.LogLevel_ERROR)
-const LogLevel_CRITICAL = LogLevel_LogLevel(common.LogLevel_CRITICAL)
-const LogLevel_FATAL = LogLevel_LogLevel(common.LogLevel_FATAL)
+const LogLevel_DEBUG = LogLevel_Types(common.LogLevel_DEBUG)
+const LogLevel_INFO = LogLevel_Types(common.LogLevel_INFO)
+const LogLevel_WARNING = LogLevel_Types(common.LogLevel_WARNING)
+const LogLevel_ERROR = LogLevel_Types(common.LogLevel_ERROR)
+const LogLevel_CRITICAL = LogLevel_Types(common.LogLevel_CRITICAL)
+const LogLevel_FATAL = LogLevel_Types(common.LogLevel_FATAL)
-// AdminState_AdminState from public import voltha_protos/common.proto
-type AdminState_AdminState = common.AdminState_AdminState
+// AdminState_Types from public import voltha_protos/common.proto
+type AdminState_Types = common.AdminState_Types
-var AdminState_AdminState_name = common.AdminState_AdminState_name
-var AdminState_AdminState_value = common.AdminState_AdminState_value
+var AdminState_Types_name = common.AdminState_Types_name
+var AdminState_Types_value = common.AdminState_Types_value
-const AdminState_UNKNOWN = AdminState_AdminState(common.AdminState_UNKNOWN)
-const AdminState_PREPROVISIONED = AdminState_AdminState(common.AdminState_PREPROVISIONED)
-const AdminState_ENABLED = AdminState_AdminState(common.AdminState_ENABLED)
-const AdminState_DISABLED = AdminState_AdminState(common.AdminState_DISABLED)
-const AdminState_DOWNLOADING_IMAGE = AdminState_AdminState(common.AdminState_DOWNLOADING_IMAGE)
-const AdminState_DELETED = AdminState_AdminState(common.AdminState_DELETED)
+const AdminState_UNKNOWN = AdminState_Types(common.AdminState_UNKNOWN)
+const AdminState_PREPROVISIONED = AdminState_Types(common.AdminState_PREPROVISIONED)
+const AdminState_ENABLED = AdminState_Types(common.AdminState_ENABLED)
+const AdminState_DISABLED = AdminState_Types(common.AdminState_DISABLED)
+const AdminState_DOWNLOADING_IMAGE = AdminState_Types(common.AdminState_DOWNLOADING_IMAGE)
+const AdminState_DELETED = AdminState_Types(common.AdminState_DELETED)
-// OperStatus_OperStatus from public import voltha_protos/common.proto
-type OperStatus_OperStatus = common.OperStatus_OperStatus
+// OperStatus_Types from public import voltha_protos/common.proto
+type OperStatus_Types = common.OperStatus_Types
-var OperStatus_OperStatus_name = common.OperStatus_OperStatus_name
-var OperStatus_OperStatus_value = common.OperStatus_OperStatus_value
+var OperStatus_Types_name = common.OperStatus_Types_name
+var OperStatus_Types_value = common.OperStatus_Types_value
-const OperStatus_UNKNOWN = OperStatus_OperStatus(common.OperStatus_UNKNOWN)
-const OperStatus_DISCOVERED = OperStatus_OperStatus(common.OperStatus_DISCOVERED)
-const OperStatus_ACTIVATING = OperStatus_OperStatus(common.OperStatus_ACTIVATING)
-const OperStatus_TESTING = OperStatus_OperStatus(common.OperStatus_TESTING)
-const OperStatus_ACTIVE = OperStatus_OperStatus(common.OperStatus_ACTIVE)
-const OperStatus_FAILED = OperStatus_OperStatus(common.OperStatus_FAILED)
+const OperStatus_UNKNOWN = OperStatus_Types(common.OperStatus_UNKNOWN)
+const OperStatus_DISCOVERED = OperStatus_Types(common.OperStatus_DISCOVERED)
+const OperStatus_ACTIVATING = OperStatus_Types(common.OperStatus_ACTIVATING)
+const OperStatus_TESTING = OperStatus_Types(common.OperStatus_TESTING)
+const OperStatus_ACTIVE = OperStatus_Types(common.OperStatus_ACTIVE)
+const OperStatus_FAILED = OperStatus_Types(common.OperStatus_FAILED)
-// ConnectStatus_ConnectStatus from public import voltha_protos/common.proto
-type ConnectStatus_ConnectStatus = common.ConnectStatus_ConnectStatus
+// ConnectStatus_Types from public import voltha_protos/common.proto
+type ConnectStatus_Types = common.ConnectStatus_Types
-var ConnectStatus_ConnectStatus_name = common.ConnectStatus_ConnectStatus_name
-var ConnectStatus_ConnectStatus_value = common.ConnectStatus_ConnectStatus_value
+var ConnectStatus_Types_name = common.ConnectStatus_Types_name
+var ConnectStatus_Types_value = common.ConnectStatus_Types_value
-const ConnectStatus_UNKNOWN = ConnectStatus_ConnectStatus(common.ConnectStatus_UNKNOWN)
-const ConnectStatus_UNREACHABLE = ConnectStatus_ConnectStatus(common.ConnectStatus_UNREACHABLE)
-const ConnectStatus_REACHABLE = ConnectStatus_ConnectStatus(common.ConnectStatus_REACHABLE)
+const ConnectStatus_UNKNOWN = ConnectStatus_Types(common.ConnectStatus_UNKNOWN)
+const ConnectStatus_UNREACHABLE = ConnectStatus_Types(common.ConnectStatus_UNREACHABLE)
+const ConnectStatus_REACHABLE = ConnectStatus_Types(common.ConnectStatus_REACHABLE)
// OperationResp_OperationReturnCode from public import voltha_protos/common.proto
type OperationResp_OperationReturnCode = common.OperationResp_OperationReturnCode
@@ -1156,7 +1156,7 @@
const OfpMeterModFailedCode_OFPMMFC_BAD_RATE = OfpMeterModFailedCode(openflow_13.OfpMeterModFailedCode_OFPMMFC_BAD_RATE)
const OfpMeterModFailedCode_OFPMMFC_BAD_BURST = OfpMeterModFailedCode(openflow_13.OfpMeterModFailedCode_OFPMMFC_BAD_BURST)
const OfpMeterModFailedCode_OFPMMFC_BAD_BAND = OfpMeterModFailedCode(openflow_13.OfpMeterModFailedCode_OFPMMFC_BAD_BAND)
-const OfpMeterModFailedCode_OFPMMFC_BAD_BAND_VALUE = OfpMeterModFailedCode(openflow_13.OfpMeterModFailedCode_OFPMMFC_BAD_BAND_VALUE)
+const OfpMeterModFailedCode_OFPMMFC_BAD_BAND_DETAIL = OfpMeterModFailedCode(openflow_13.OfpMeterModFailedCode_OFPMMFC_BAD_BAND_DETAIL)
const OfpMeterModFailedCode_OFPMMFC_OUT_OF_METERS = OfpMeterModFailedCode(openflow_13.OfpMeterModFailedCode_OFPMMFC_OUT_OF_METERS)
const OfpMeterModFailedCode_OFPMMFC_OUT_OF_BANDS = OfpMeterModFailedCode(openflow_13.OfpMeterModFailedCode_OFPMMFC_OUT_OF_BANDS)
@@ -2015,167 +2015,159 @@
func init() { proto.RegisterFile("voltha_protos/voltha.proto", fileDescriptor_e084f1a60ce7016c) }
var fileDescriptor_e084f1a60ce7016c = []byte{
- // 2553 bytes of a gzipped FileDescriptorProto
- 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x5a, 0xcb, 0x6f, 0x1b, 0xc7,
- 0x19, 0xd7, 0xea, 0xad, 0x4f, 0xa4, 0x44, 0x0e, 0xf5, 0x60, 0x28, 0x29, 0x96, 0x27, 0xf1, 0xa3,
- 0x6a, 0x4c, 0xda, 0x52, 0x6c, 0xb4, 0x4e, 0x83, 0x44, 0xa2, 0x64, 0x95, 0xb5, 0x2c, 0xb1, 0x2b,
- 0xcb, 0xee, 0x23, 0x06, 0xb1, 0xe4, 0x8e, 0xa8, 0x85, 0x97, 0xbb, 0xec, 0xce, 0x50, 0xae, 0xe0,
- 0x06, 0x28, 0xd2, 0x47, 0x8a, 0xa2, 0xa7, 0xe6, 0xde, 0x53, 0x81, 0x02, 0x45, 0xff, 0x15, 0x9f,
- 0xfa, 0x0f, 0x14, 0x45, 0x0f, 0x3d, 0xf6, 0x94, 0xf6, 0x58, 0xcc, 0x63, 0xc9, 0x7d, 0xea, 0x91,
- 0x06, 0xe8, 0x49, 0xdc, 0x99, 0x6f, 0x7e, 0xbf, 0xef, 0x35, 0xf3, 0x7d, 0x3b, 0x2b, 0x28, 0x9d,
- 0xba, 0x36, 0x3b, 0x31, 0x1a, 0x5d, 0xcf, 0x65, 0x2e, 0xad, 0xc8, 0xa7, 0xb2, 0x78, 0x42, 0xe3,
- 0xf2, 0xa9, 0xb4, 0xdc, 0x76, 0xdd, 0xb6, 0x4d, 0x2a, 0x46, 0xd7, 0xaa, 0x18, 0x8e, 0xe3, 0x32,
- 0x83, 0x59, 0xae, 0x43, 0xa5, 0x54, 0x69, 0x49, 0xcd, 0x8a, 0xa7, 0x66, 0xef, 0xb8, 0x42, 0x3a,
- 0x5d, 0x76, 0xa6, 0x26, 0x8b, 0x61, 0xf8, 0x0e, 0x61, 0x0a, 0xbc, 0x14, 0x21, 0x6e, 0xb9, 0x9d,
- 0x8e, 0xeb, 0x24, 0xcf, 0x9d, 0x10, 0xc3, 0x66, 0x27, 0x6a, 0x0e, 0x87, 0xe7, 0x6c, 0xb7, 0x6d,
- 0xb5, 0x0c, 0xbb, 0x61, 0x92, 0x53, 0xab, 0x45, 0x92, 0xd7, 0x87, 0xe6, 0x96, 0xc2, 0x73, 0x86,
- 0x69, 0x74, 0x19, 0xf1, 0xd4, 0xe4, 0xb5, 0xf0, 0xa4, 0xdb, 0x25, 0xce, 0xb1, 0xed, 0xbe, 0x6a,
- 0xdc, 0xdb, 0x48, 0x11, 0xe8, 0xb4, 0xac, 0x46, 0xc7, 0x6a, 0x36, 0xcc, 0xa6, 0x12, 0xb8, 0x9e,
- 0x20, 0x60, 0xd8, 0x86, 0xd7, 0x19, 0x88, 0xac, 0x86, 0x45, 0xce, 0x0c, 0xa7, 0xdd, 0x70, 0xbb,
- 0x01, 0x97, 0xe2, 0x3f, 0x6a, 0x30, 0xbd, 0x2d, 0x94, 0xde, 0xf5, 0xdc, 0x5e, 0x17, 0xcd, 0xc3,
- 0xb0, 0x65, 0x16, 0xb5, 0x55, 0xed, 0xf6, 0xd4, 0xd6, 0xd8, 0x3f, 0xbf, 0x7c, 0xb3, 0xa2, 0xe9,
- 0xc3, 0x96, 0x89, 0x6a, 0x30, 0x1b, 0x36, 0x9f, 0x16, 0x87, 0x57, 0x47, 0x6e, 0x4f, 0xaf, 0xcf,
- 0x97, 0x55, 0x1c, 0xf7, 0xe4, 0xb4, 0xc4, 0xda, 0x9a, 0xfa, 0xfb, 0x97, 0x6f, 0x56, 0x46, 0x39,
- 0x96, 0x3e, 0x63, 0x07, 0x67, 0x28, 0xda, 0x80, 0x09, 0x1f, 0x62, 0x44, 0x40, 0xcc, 0xf8, 0x10,
- 0xf1, 0xb5, 0xbe, 0x24, 0xfe, 0x36, 0x64, 0x02, 0x5a, 0x52, 0xf4, 0x0d, 0x18, 0xb3, 0x18, 0xe9,
- 0xd0, 0xa2, 0x26, 0x20, 0x0a, 0x61, 0x08, 0x21, 0xa4, 0x4b, 0x09, 0xfc, 0x07, 0x0d, 0xd0, 0xce,
- 0x29, 0x71, 0xd8, 0x23, 0xcb, 0x66, 0xc4, 0xd3, 0x7b, 0x36, 0x79, 0x4c, 0xce, 0xf0, 0xe7, 0x1a,
- 0x14, 0x22, 0xc3, 0x4f, 0xcf, 0xba, 0x04, 0xcd, 0x00, 0x1c, 0x8b, 0x91, 0x86, 0x61, 0xdb, 0xb9,
- 0x21, 0x94, 0x81, 0xc9, 0x96, 0xc1, 0x48, 0xdb, 0xf5, 0xce, 0x72, 0x1a, 0xca, 0x41, 0x86, 0xf6,
- 0x9a, 0x8d, 0xfe, 0xc8, 0x30, 0x42, 0x30, 0xf3, 0xb2, 0x6b, 0x35, 0x08, 0x87, 0x6a, 0xb0, 0xb3,
- 0x2e, 0xc9, 0x8d, 0xa0, 0x79, 0xc8, 0xb7, 0x5c, 0xe7, 0xd8, 0x6a, 0x07, 0x87, 0x47, 0xf9, 0xb0,
- 0xb4, 0x27, 0x38, 0x3c, 0x86, 0x2d, 0x98, 0x8d, 0x28, 0x82, 0x3e, 0x86, 0x91, 0x97, 0xe4, 0x4c,
- 0x84, 0x61, 0x66, 0xbd, 0xec, 0x1b, 0x17, 0xb7, 0xa2, 0x9c, 0x60, 0x81, 0xce, 0x97, 0xa2, 0x39,
- 0x18, 0x3b, 0x35, 0xec, 0x1e, 0x29, 0x0e, 0xf3, 0x50, 0xea, 0xf2, 0x01, 0xff, 0x49, 0x83, 0xe9,
- 0xc0, 0x92, 0xb4, 0x68, 0x2f, 0xc0, 0x38, 0x71, 0x8c, 0xa6, 0x2d, 0x57, 0x4f, 0xea, 0xea, 0x09,
- 0x2d, 0xc1, 0x94, 0x32, 0xc0, 0x32, 0x8b, 0x23, 0x02, 0x78, 0x52, 0x0e, 0xd4, 0x4c, 0xb4, 0x02,
- 0x30, 0x30, 0xab, 0x38, 0x2a, 0x66, 0xa7, 0xc4, 0x88, 0xf0, 0xeb, 0x1d, 0x18, 0xf3, 0x7a, 0x36,
- 0xa1, 0xc5, 0x31, 0x11, 0xb1, 0xc5, 0x14, 0xa3, 0x74, 0x29, 0x85, 0x3f, 0x84, 0x4c, 0x60, 0x86,
- 0xa2, 0x3b, 0x30, 0x21, 0xc3, 0x12, 0x0b, 0x79, 0x10, 0xc0, 0x97, 0xc1, 0x1e, 0x64, 0xaa, 0xae,
- 0x47, 0x6a, 0x0e, 0x65, 0x86, 0xd3, 0x22, 0xe8, 0x26, 0x4c, 0x5b, 0xea, 0x77, 0x23, 0x6a, 0x31,
- 0xf8, 0x33, 0x35, 0x13, 0x6d, 0xc0, 0xb8, 0x3c, 0x02, 0x84, 0xe5, 0xd3, 0xeb, 0x73, 0x3e, 0xcb,
- 0x77, 0xc5, 0xe8, 0x21, 0x33, 0x58, 0x8f, 0x6e, 0x8d, 0xf1, 0x0c, 0x1d, 0xd2, 0x95, 0xe8, 0xc3,
- 0xb1, 0xff, 0x70, 0x1c, 0xbc, 0x05, 0xd9, 0x20, 0x27, 0x45, 0x6b, 0xe1, 0x24, 0xed, 0x63, 0x05,
- 0xa5, 0x54, 0x96, 0xfa, 0x18, 0x7f, 0x1b, 0x85, 0xf1, 0x67, 0x42, 0x0a, 0x5d, 0x83, 0x89, 0x53,
- 0xe2, 0x51, 0xcb, 0x75, 0xc2, 0xea, 0xfa, 0xa3, 0xe8, 0x01, 0x4c, 0xaa, 0x23, 0xc5, 0xdf, 0x8c,
- 0xb3, 0x3e, 0xc3, 0xa6, 0x1c, 0x0f, 0x6e, 0xa5, 0xbe, 0x6c, 0xd2, 0x5e, 0x1e, 0xf9, 0xdf, 0xf7,
- 0xf2, 0xe8, 0x65, 0xf7, 0x32, 0xfa, 0x18, 0x32, 0x2a, 0x8b, 0x78, 0xa6, 0xf8, 0x09, 0x81, 0xc2,
- 0x2b, 0x79, 0xce, 0x04, 0x57, 0x4f, 0x9b, 0xfd, 0x61, 0x8a, 0xaa, 0x90, 0x55, 0x08, 0x6d, 0x71,
- 0x1c, 0x14, 0xc7, 0x53, 0x4f, 0x81, 0x20, 0x86, 0xa2, 0x55, 0x47, 0x48, 0x15, 0xb2, 0x32, 0x5f,
- 0xfd, 0xbc, 0x9a, 0x48, 0xcd, 0xab, 0x10, 0x08, 0x09, 0xa6, 0xe5, 0xf7, 0x21, 0x3f, 0x38, 0x98,
- 0x0d, 0x66, 0x34, 0x0d, 0x4a, 0x8a, 0xcb, 0x0a, 0x88, 0xcf, 0x94, 0x9f, 0x58, 0x4d, 0xa9, 0xce,
- 0xb6, 0xc1, 0x8c, 0xad, 0x1c, 0x07, 0x9a, 0x0e, 0x6c, 0x23, 0x7d, 0x96, 0x4b, 0x71, 0x21, 0xb5,
- 0x1a, 0x3d, 0x87, 0x42, 0xf0, 0x28, 0xf7, 0x41, 0x57, 0x54, 0x88, 0x04, 0xe8, 0x26, 0x9f, 0x3b,
- 0x17, 0x56, 0xa8, 0x25, 0xc5, 0x14, 0x82, 0x9f, 0x62, 0x7f, 0xd1, 0x20, 0x77, 0x48, 0xec, 0xe3,
- 0xa7, 0x84, 0x32, 0x9d, 0xd0, 0xae, 0xeb, 0x50, 0x82, 0x3e, 0x82, 0x71, 0x8f, 0xd0, 0x9e, 0xcd,
- 0xd4, 0x99, 0x73, 0xcb, 0xf7, 0x42, 0x54, 0x32, 0x38, 0xd0, 0xb3, 0x99, 0xae, 0x96, 0xe1, 0x3a,
- 0xcc, 0x84, 0x67, 0xd0, 0x34, 0x4c, 0x1c, 0x1e, 0x55, 0xab, 0x3b, 0x87, 0x87, 0xb9, 0x21, 0xfe,
- 0xf0, 0x68, 0xb3, 0xb6, 0x77, 0xa4, 0xef, 0xe4, 0x34, 0x94, 0x87, 0xec, 0xfe, 0xc1, 0xd3, 0xc6,
- 0xe1, 0x51, 0xbd, 0x7e, 0xa0, 0x3f, 0xdd, 0xd9, 0xce, 0x0d, 0xf3, 0xa1, 0xa3, 0xfd, 0xc7, 0xfb,
- 0x07, 0xcf, 0xf7, 0x1b, 0x3b, 0xba, 0x7e, 0xa0, 0xe7, 0x46, 0x1e, 0x8e, 0xfd, 0x8b, 0x6f, 0x32,
- 0x7c, 0x00, 0xf9, 0x83, 0xe3, 0xcd, 0x36, 0x71, 0xd8, 0x61, 0xaf, 0x49, 0x5b, 0x9e, 0xd5, 0x24,
- 0x1e, 0x3f, 0x6b, 0xdc, 0x63, 0x83, 0x0f, 0xf6, 0x77, 0xb3, 0x3e, 0xa5, 0x46, 0x6a, 0x26, 0x3f,
- 0xa7, 0x54, 0xe1, 0xb3, 0x4c, 0x75, 0x00, 0x4e, 0xca, 0x81, 0x9a, 0x89, 0x3f, 0x00, 0x78, 0x42,
- 0x3a, 0x4d, 0xe2, 0xd1, 0x13, 0xab, 0xcb, 0x91, 0x44, 0x0e, 0x35, 0x1c, 0xa3, 0x43, 0x7c, 0x24,
- 0x31, 0xb2, 0x6f, 0x74, 0x78, 0x35, 0x18, 0xee, 0x43, 0x0c, 0x5b, 0x26, 0xde, 0x81, 0xcc, 0x23,
- 0xdb, 0x7d, 0xf5, 0x84, 0x30, 0x83, 0x47, 0x06, 0xdd, 0x87, 0xf1, 0x0e, 0x09, 0x9c, 0x4a, 0x2b,
- 0xe5, 0x60, 0x21, 0x77, 0x8f, 0xbb, 0x0d, 0x31, 0xdd, 0x90, 0xe5, 0x40, 0x57, 0xc2, 0xeb, 0xbf,
- 0xbb, 0x0b, 0x59, 0xb9, 0xcd, 0x0f, 0x89, 0xc7, 0x43, 0x86, 0x74, 0x98, 0x39, 0xea, 0x9a, 0x06,
- 0x23, 0x7b, 0x6e, 0x7b, 0x8f, 0x9c, 0x12, 0x1b, 0xcd, 0x96, 0x55, 0xa3, 0xb2, 0xe7, 0xb6, 0xdb,
- 0x96, 0xd3, 0x2e, 0x2d, 0x94, 0x65, 0xfb, 0x53, 0xf6, 0xdb, 0x9f, 0xf2, 0x0e, 0x6f, 0x7f, 0xf0,
- 0xe2, 0x67, 0x7f, 0xfd, 0xc7, 0x17, 0xc3, 0x79, 0x9c, 0x11, 0x5d, 0xd3, 0xe9, 0x3d, 0xde, 0xa8,
- 0xd0, 0x87, 0xda, 0x1a, 0xaa, 0x43, 0x66, 0x97, 0x30, 0x1f, 0x90, 0xa2, 0x62, 0x04, 0xb1, 0xea,
- 0x76, 0xba, 0xae, 0x43, 0x1c, 0x56, 0xca, 0x45, 0x66, 0x28, 0x9e, 0x13, 0xa0, 0x33, 0x28, 0x04,
- 0x8a, 0x9e, 0x43, 0x76, 0x97, 0xb0, 0x80, 0xfb, 0x52, 0x74, 0x2a, 0xf5, 0x77, 0xf3, 0x40, 0x16,
- 0x97, 0x04, 0xe4, 0x1c, 0x42, 0x3e, 0x64, 0x67, 0x80, 0xf3, 0x02, 0x72, 0xd2, 0xfc, 0x00, 0x76,
- 0x02, 0x46, 0xaa, 0x0f, 0x56, 0x04, 0xf6, 0x22, 0x4e, 0xc0, 0xe6, 0x9e, 0xd8, 0x86, 0xa9, 0x5d,
- 0xc2, 0xd4, 0xc1, 0x9a, 0xa6, 0x73, 0xff, 0xec, 0x92, 0x72, 0x78, 0x56, 0x60, 0x4e, 0xa1, 0x09,
- 0x85, 0x89, 0x7a, 0x90, 0xdf, 0xb3, 0x28, 0x0b, 0x1f, 0xf2, 0x69, 0x68, 0xf3, 0x49, 0xa7, 0x3d,
- 0xc5, 0xf7, 0x7e, 0xfb, 0xef, 0x37, 0x2b, 0x13, 0xaa, 0x30, 0x88, 0xdf, 0x48, 0xfe, 0x16, 0x64,
- 0x05, 0x94, 0xf7, 0x0d, 0xb0, 0xfa, 0x0c, 0x87, 0x30, 0xbb, 0x4b, 0x42, 0xac, 0x08, 0xfc, 0x78,
- 0xd5, 0xb6, 0x4b, 0x89, 0x65, 0x05, 0xbf, 0x2d, 0xf0, 0x8a, 0x68, 0x21, 0x86, 0x57, 0x79, 0x6d,
- 0x99, 0x9f, 0x22, 0x03, 0x32, 0xdc, 0x96, 0x4d, 0xbf, 0x28, 0xa4, 0x99, 0x91, 0x8b, 0x94, 0x14,
- 0x8a, 0x6f, 0x71, 0xad, 0x61, 0x50, 0x7b, 0x04, 0x11, 0x42, 0x39, 0x9f, 0xa8, 0x5f, 0x67, 0x5e,
- 0x03, 0xe2, 0x14, 0x7b, 0xe1, 0x92, 0x91, 0x46, 0xb4, 0x90, 0x58, 0x7c, 0x28, 0xbe, 0xcf, 0xe9,
- 0xf2, 0xb1, 0x92, 0x25, 0x58, 0xdf, 0x42, 0x8b, 0x81, 0xf4, 0x0c, 0x4e, 0xa3, 0x1f, 0x43, 0x4e,
- 0xe6, 0xfe, 0x00, 0x2b, 0xe4, 0xb5, 0xe4, 0x5a, 0x87, 0xdf, 0x15, 0xb8, 0x6f, 0xa3, 0xe5, 0x14,
- 0x5c, 0xe9, 0x3c, 0x0f, 0x16, 0x62, 0x96, 0xd5, 0x5d, 0x8f, 0xd1, 0xe4, 0xc0, 0x28, 0x39, 0x21,
- 0x81, 0x1f, 0xa8, 0x04, 0xe8, 0xf2, 0x27, 0xc1, 0xf6, 0x2e, 0xc2, 0xe7, 0xb1, 0x55, 0x84, 0x24,
- 0xfa, 0x85, 0x06, 0x73, 0x51, 0x8b, 0x38, 0x22, 0x9a, 0x4f, 0xa0, 0xa9, 0x99, 0xa5, 0x42, 0xc2,
- 0x30, 0xfe, 0x88, 0x93, 0x8f, 0xc3, 0x28, 0x87, 0x14, 0xdc, 0x65, 0xf4, 0xde, 0xc5, 0xdc, 0x95,
- 0xd7, 0xfc, 0x4f, 0x83, 0x5b, 0xfe, 0x2b, 0x0d, 0x16, 0x77, 0x44, 0x33, 0x78, 0x69, 0x45, 0xd2,
- 0xb6, 0xec, 0x07, 0x42, 0x81, 0xfb, 0x78, 0xe3, 0x2a, 0x0a, 0x54, 0x54, 0x27, 0xfa, 0xb9, 0x06,
- 0xc5, 0x6d, 0x8b, 0x7e, 0x2d, 0x8a, 0x7c, 0x47, 0x28, 0xf2, 0x00, 0xbf, 0x7f, 0x25, 0x45, 0x4c,
- 0xc9, 0x8e, 0x7e, 0x96, 0x90, 0x0b, 0xbc, 0x44, 0x84, 0x73, 0x01, 0x85, 0xea, 0x82, 0x98, 0xc7,
- 0x5b, 0x2a, 0x13, 0xf8, 0x68, 0xfc, 0x28, 0xb8, 0x28, 0x2b, 0xc4, 0x2a, 0x9e, 0x15, 0xcb, 0xfd,
- 0xba, 0x11, 0x56, 0xe0, 0xa9, 0x50, 0x6f, 0x39, 0x46, 0x2c, 0xc6, 0xe5, 0x9a, 0x54, 0x97, 0xdc,
- 0x11, 0x2a, 0xdc, 0xc2, 0x97, 0x50, 0x81, 0x1f, 0xaf, 0xbf, 0xd4, 0x60, 0x25, 0x41, 0x8b, 0x27,
- 0xbc, 0xd8, 0x49, 0x35, 0x96, 0x42, 0x6a, 0x88, 0x89, 0x27, 0xae, 0x79, 0x81, 0x16, 0x65, 0xa1,
- 0xc5, 0x6d, 0xfc, 0xce, 0xb9, 0x5a, 0xc8, 0x92, 0xca, 0xd5, 0xf8, 0xb9, 0x06, 0x8b, 0xb1, 0x58,
- 0x08, 0xae, 0x70, 0x30, 0x0a, 0x71, 0x65, 0x28, 0xde, 0xe6, 0x11, 0x98, 0xf4, 0xcb, 0x79, 0x2c,
- 0x1c, 0x37, 0xd0, 0x65, 0xb4, 0x40, 0xbf, 0xd7, 0x60, 0x29, 0x31, 0x1d, 0x54, 0xd3, 0x19, 0x54,
- 0x63, 0x31, 0x16, 0x1a, 0x29, 0x84, 0xf7, 0x39, 0x7b, 0x16, 0xa6, 0xc5, 0x94, 0xec, 0x70, 0x63,
- 0xfa, 0xac, 0xa1, 0xdb, 0x17, 0xc6, 0x46, 0xad, 0x45, 0x5f, 0x68, 0x70, 0x3d, 0x25, 0x49, 0x04,
- 0xa3, 0x0c, 0xd1, 0xf5, 0x64, 0x75, 0x2e, 0x93, 0x2e, 0x1b, 0x42, 0xa5, 0x3b, 0xf8, 0xd2, 0x2a,
- 0xf1, 0x68, 0xbd, 0x80, 0x69, 0xee, 0xa9, 0x8b, 0xea, 0xc2, 0x6c, 0xb8, 0xa9, 0xa7, 0xf8, 0x06,
- 0xf7, 0xc5, 0x54, 0xff, 0xc5, 0x43, 0x36, 0x3f, 0x68, 0xd6, 0xa7, 0xf6, 0x0b, 0x80, 0x09, 0xd9,
- 0x01, 0x7c, 0xcd, 0x4c, 0x27, 0x98, 0x1e, 0x84, 0x84, 0xe2, 0x32, 0x07, 0x17, 0x8d, 0xfe, 0x79,
- 0xb5, 0x59, 0x72, 0x58, 0x26, 0x45, 0x47, 0x90, 0xd3, 0x49, 0xcb, 0x75, 0x5a, 0x96, 0x4d, 0x7c,
- 0x4b, 0x82, 0x80, 0xa9, 0x2e, 0x5b, 0x16, 0x98, 0x0b, 0x38, 0x8e, 0xc9, 0x7d, 0xb3, 0x23, 0xfa,
- 0x95, 0x84, 0xb2, 0x15, 0x79, 0xbf, 0xf2, 0x61, 0xd0, 0x5c, 0xc4, 0x7c, 0x59, 0xa7, 0xbe, 0x07,
- 0x99, 0xaa, 0x47, 0x0c, 0xa6, 0x54, 0x43, 0x91, 0xd5, 0x31, 0x34, 0xd5, 0xa1, 0xe1, 0xa8, 0x33,
- 0xb9, 0x4a, 0xcf, 0x21, 0x23, 0x0f, 0xfe, 0x04, 0xad, 0xd2, 0x8c, 0x7c, 0x47, 0xe0, 0xad, 0xe0,
- 0xa5, 0x24, 0xed, 0xfc, 0xa3, 0xfc, 0x87, 0x90, 0x55, 0x27, 0xf9, 0x15, 0x90, 0x55, 0x9d, 0xc6,
- 0xcb, 0x89, 0xc8, 0xfe, 0xd9, 0xfc, 0x1c, 0x32, 0x3a, 0x69, 0xba, 0x2e, 0xfb, 0xda, 0x74, 0xf6,
- 0x04, 0x1c, 0x07, 0xde, 0x26, 0x36, 0x61, 0x5f, 0xc1, 0x19, 0x6b, 0xc9, 0xc0, 0xa6, 0x80, 0x43,
- 0x3d, 0xc8, 0x6e, 0xbb, 0xaf, 0x1c, 0xdb, 0x35, 0xcc, 0x5a, 0xc7, 0x68, 0x93, 0x41, 0x2d, 0x13,
- 0x8f, 0xfe, 0x5c, 0x69, 0xde, 0x27, 0x3c, 0xe8, 0x12, 0x4f, 0xdc, 0x91, 0xf2, 0x17, 0x34, 0xfc,
- 0x40, 0x70, 0xdc, 0xc5, 0xdf, 0x4c, 0xe4, 0xb0, 0x38, 0x44, 0xc3, 0x54, 0x18, 0xb4, 0xf2, 0x9a,
- 0xbf, 0xf3, 0x7c, 0xca, 0x83, 0xfb, 0x99, 0x06, 0x0b, 0xbb, 0x84, 0x85, 0x38, 0xe4, 0x5d, 0x47,
- 0xba, 0x02, 0x49, 0xc3, 0xf8, 0xa1, 0x50, 0xe0, 0x7d, 0xb4, 0x7e, 0x05, 0x05, 0x2a, 0x54, 0x32,
- 0xf5, 0x44, 0xcb, 0x16, 0xc2, 0xbb, 0x22, 0xbb, 0x3a, 0x87, 0xd0, 0x55, 0xcc, 0x47, 0xc7, 0xb2,
- 0x4d, 0x0d, 0x21, 0xd1, 0x48, 0x44, 0x93, 0xd8, 0x28, 0x7e, 0x4f, 0xd0, 0xdd, 0x44, 0xef, 0x5e,
- 0x86, 0x0e, 0xfd, 0x14, 0x0a, 0x55, 0xde, 0x80, 0xdb, 0x97, 0xb4, 0x30, 0x31, 0xc0, 0xca, 0xc2,
- 0xb5, 0x2b, 0x59, 0xf8, 0x1b, 0x0d, 0x0a, 0x9b, 0x2d, 0x66, 0x9d, 0x1a, 0x8c, 0x08, 0x16, 0x79,
- 0x9c, 0x5f, 0x91, 0xba, 0x2a, 0xa8, 0x3f, 0xc4, 0xdf, 0xba, 0x4a, 0x68, 0xe5, 0x70, 0x4f, 0xf0,
- 0xf1, 0x44, 0xfb, 0xb5, 0x06, 0x79, 0x9d, 0x9c, 0x12, 0x8f, 0xfd, 0x5f, 0x14, 0xf1, 0x04, 0x35,
- 0x57, 0xe4, 0x13, 0x98, 0x1d, 0x94, 0x87, 0x78, 0xef, 0x9e, 0xf5, 0x35, 0x92, 0x4d, 0x7b, 0x39,
- 0xd6, 0xb4, 0x2f, 0xa3, 0x52, 0x22, 0xbd, 0x6c, 0xd6, 0x5f, 0x40, 0x21, 0x80, 0xde, 0xa9, 0x8a,
- 0xb7, 0xff, 0x30, 0x43, 0xbe, 0xcf, 0xe0, 0x4f, 0xe3, 0x5b, 0x02, 0xf9, 0x3a, 0xba, 0x96, 0x8c,
- 0xdc, 0x51, 0xb7, 0x08, 0x14, 0x39, 0x30, 0x2f, 0x3d, 0x17, 0x25, 0x88, 0x83, 0xa6, 0x1e, 0x47,
- 0x6b, 0xb2, 0xcb, 0xc4, 0x17, 0x91, 0x71, 0x67, 0x75, 0x82, 0xce, 0xba, 0x5c, 0x73, 0xfb, 0xf0,
- 0xdc, 0xe6, 0x36, 0xcd, 0x7b, 0xfd, 0xa6, 0x76, 0x2e, 0xcc, 0x77, 0x95, 0xee, 0xe9, 0xd1, 0x25,
- 0xba, 0x27, 0x8c, 0x56, 0x53, 0xf9, 0xfd, 0xae, 0xc9, 0x0d, 0x1a, 0x2d, 0xef, 0x1d, 0xd3, 0x5a,
- 0x88, 0x42, 0xfc, 0xee, 0x92, 0xe2, 0x0a, 0x67, 0x9d, 0x09, 0xdf, 0x75, 0x26, 0x57, 0x6b, 0x39,
- 0x87, 0x74, 0x71, 0xb9, 0x32, 0x80, 0x88, 0xf8, 0x38, 0x46, 0x81, 0xaf, 0x0b, 0xb8, 0x25, 0xf4,
- 0x56, 0x12, 0x9c, 0xec, 0x00, 0x28, 0xe4, 0x06, 0x46, 0x28, 0x2f, 0xa6, 0x59, 0x31, 0x97, 0x70,
- 0x7d, 0xaa, 0x2e, 0x2c, 0x66, 0x23, 0x17, 0xae, 0xf2, 0xb6, 0x05, 0xcd, 0x47, 0x88, 0x95, 0xe7,
- 0x1e, 0x41, 0xee, 0x90, 0x79, 0xc4, 0xe8, 0xd4, 0x8d, 0xd6, 0x4b, 0xc2, 0xe8, 0x41, 0x8f, 0xa1,
- 0x85, 0x50, 0xb8, 0xe4, 0xc4, 0x41, 0x8f, 0xa5, 0xa6, 0xe7, 0xd0, 0x6d, 0x0d, 0xed, 0x88, 0xe6,
- 0x8a, 0x58, 0xa7, 0x44, 0x01, 0xd5, 0x9c, 0x73, 0xae, 0x5b, 0xe2, 0xf8, 0x35, 0x07, 0x0f, 0xdd,
- 0xd5, 0xd0, 0x63, 0x28, 0x28, 0x98, 0xea, 0x89, 0xe1, 0xb4, 0x89, 0xb8, 0xd8, 0x4d, 0x77, 0x43,
- 0x31, 0x84, 0x14, 0x58, 0x22, 0xc0, 0x8e, 0x60, 0xa6, 0x1f, 0x24, 0xf9, 0xc5, 0x2c, 0xfc, 0x66,
- 0x11, 0x77, 0x21, 0xc6, 0xc9, 0x29, 0xaf, 0xbc, 0x25, 0xe3, 0xd4, 0x80, 0xbc, 0xec, 0xd4, 0x82,
- 0x5f, 0x67, 0x92, 0xae, 0xa2, 0x4b, 0x49, 0x83, 0x78, 0x55, 0x50, 0x94, 0x70, 0x3f, 0x20, 0xa1,
- 0x9b, 0x6d, 0xbe, 0x85, 0x9f, 0x09, 0xbd, 0x83, 0xe8, 0x89, 0x57, 0x15, 0xc1, 0x6f, 0x2e, 0x71,
- 0xc5, 0x43, 0xa8, 0x52, 0x71, 0x13, 0xf2, 0xf2, 0x28, 0xfa, 0x6a, 0x8a, 0xdf, 0x10, 0x14, 0xd7,
- 0x4a, 0xe7, 0x50, 0x70, 0xed, 0x4d, 0xc8, 0xcb, 0x7e, 0xeb, 0x42, 0x96, 0xb4, 0x7c, 0x52, 0xb6,
- 0xac, 0x9d, 0x67, 0x4b, 0x43, 0x6e, 0x96, 0xd0, 0x77, 0xa7, 0x0b, 0x37, 0x4b, 0xc8, 0x63, 0x2b,
- 0xd1, 0x8d, 0x11, 0x62, 0x41, 0x7b, 0xa2, 0xad, 0x17, 0x45, 0x8e, 0x26, 0xb7, 0xf5, 0x72, 0xce,
- 0xef, 0x15, 0xd1, 0x52, 0x7a, 0x89, 0xa3, 0xe8, 0x07, 0x30, 0xe9, 0x5f, 0xb9, 0x87, 0xc0, 0x8a,
- 0x69, 0x77, 0xf7, 0xf8, 0xa6, 0x80, 0x5d, 0xc5, 0x6f, 0x27, 0xc2, 0x52, 0x62, 0x1f, 0x37, 0x18,
- 0x47, 0x7b, 0x26, 0x3a, 0xb1, 0xd0, 0x97, 0x8b, 0xe8, 0x0b, 0x74, 0xec, 0xd3, 0x46, 0xfc, 0x34,
- 0xe2, 0xdb, 0x88, 0xcb, 0xa9, 0x17, 0x64, 0xab, 0x89, 0x3e, 0x01, 0xb4, 0x4b, 0x58, 0xe4, 0xe3,
- 0x45, 0xe4, 0x5a, 0x2e, 0xe9, 0xfb, 0x46, 0xdc, 0x1f, 0x61, 0x6c, 0xf1, 0xa9, 0x04, 0x51, 0xc8,
- 0x1e, 0x5a, 0x9d, 0x9e, 0x6d, 0x30, 0x22, 0xd6, 0xa3, 0xe5, 0xbe, 0x23, 0x82, 0xc3, 0x3a, 0xf9,
- 0x49, 0x8f, 0x50, 0x96, 0xd6, 0x5d, 0xc4, 0xae, 0x3e, 0xc2, 0x3e, 0x52, 0x48, 0x0d, 0x8e, 0xc4,
- 0x33, 0xb3, 0x0a, 0x53, 0xfd, 0xef, 0x12, 0xe8, 0x2d, 0x9f, 0x30, 0xf6, 0xc5, 0xa2, 0x94, 0x3e,
- 0x85, 0x87, 0xb6, 0x6c, 0x28, 0xb8, 0x5e, 0x5b, 0x9c, 0x3b, 0x2d, 0xd7, 0x33, 0x95, 0xe8, 0x56,
- 0x46, 0x5e, 0x44, 0xd7, 0xc5, 0xc7, 0xfb, 0x1f, 0x95, 0xdb, 0x16, 0x3b, 0xe9, 0x35, 0xb9, 0xd6,
- 0x15, 0x5f, 0x52, 0xfd, 0x13, 0xc5, 0x1d, 0xff, 0x5f, 0x2a, 0xd6, 0x2b, 0x6d, 0x57, 0x8d, 0xfd,
- 0x79, 0x78, 0xe1, 0xc0, 0xc7, 0x7b, 0x16, 0xbc, 0xd7, 0xae, 0x0f, 0xd7, 0x47, 0xea, 0xa3, 0xf5,
- 0xb1, 0xfa, 0x78, 0x7d, 0xa2, 0x3e, 0xd9, 0x1c, 0x17, 0x6b, 0x37, 0xfe, 0x1b, 0x00, 0x00, 0xff,
- 0xff, 0x85, 0xd9, 0x4c, 0xe3, 0x9e, 0x21, 0x00, 0x00,
+ // 2423 bytes of a gzipped FileDescriptorProto
+ 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x99, 0xcb, 0x73, 0xdb, 0xc6,
+ 0x19, 0xc0, 0x05, 0xea, 0xfd, 0x89, 0x94, 0xc8, 0xa5, 0x1e, 0x34, 0x25, 0xc5, 0xf6, 0xe6, 0x61,
+ 0x55, 0x89, 0x48, 0xc7, 0x72, 0x3c, 0x6d, 0xdc, 0x4c, 0x23, 0x51, 0xb2, 0xca, 0x5a, 0x36, 0x59,
+ 0xd0, 0xb2, 0xfb, 0x88, 0x87, 0x03, 0x12, 0x4b, 0x0a, 0x63, 0x10, 0x60, 0xb1, 0x4b, 0x39, 0x1a,
+ 0x4f, 0x2e, 0xe9, 0x23, 0xbd, 0xe7, 0xde, 0x53, 0x3b, 0x9d, 0xe9, 0xff, 0x92, 0x53, 0x4f, 0xb9,
+ 0x76, 0x7a, 0xe8, 0x5f, 0x90, 0x73, 0x67, 0x1f, 0x20, 0x01, 0x02, 0xd0, 0x23, 0xcd, 0x4c, 0x4f,
+ 0x12, 0xf6, 0xfb, 0xf0, 0xfb, 0x1e, 0xbb, 0xfb, 0xed, 0x87, 0x25, 0x14, 0xcf, 0x5c, 0x9b, 0x9d,
+ 0x1a, 0xcd, 0xbe, 0xe7, 0x32, 0x97, 0x96, 0xe5, 0x53, 0x49, 0x3c, 0xa1, 0x19, 0xf9, 0x54, 0xdc,
+ 0xe8, 0xba, 0x6e, 0xd7, 0x26, 0x65, 0xa3, 0x6f, 0x95, 0x0d, 0xc7, 0x71, 0x99, 0xc1, 0x2c, 0xd7,
+ 0xa1, 0x52, 0xab, 0xb8, 0xae, 0xa4, 0xe2, 0xa9, 0x35, 0xe8, 0x94, 0x49, 0xaf, 0xcf, 0xce, 0x95,
+ 0xb0, 0x10, 0xc6, 0xf7, 0x08, 0x53, 0xf0, 0xe2, 0x98, 0xe1, 0xb6, 0xdb, 0xeb, 0xb9, 0x4e, 0xbc,
+ 0xec, 0x94, 0x18, 0x36, 0x3b, 0x55, 0x32, 0x1c, 0x96, 0xd9, 0x6e, 0xd7, 0x6a, 0x1b, 0x76, 0xd3,
+ 0x24, 0x67, 0x56, 0x9b, 0xc4, 0xbf, 0x1f, 0x92, 0xad, 0x87, 0x65, 0x86, 0x69, 0xf4, 0x19, 0xf1,
+ 0x94, 0xf0, 0x66, 0x58, 0xe8, 0xf6, 0x89, 0xd3, 0xb1, 0xdd, 0xd7, 0xcd, 0x0f, 0x77, 0x13, 0x14,
+ 0x7a, 0x6d, 0xab, 0xd9, 0xb3, 0x5a, 0x4d, 0xb3, 0xa5, 0x14, 0x6e, 0xc7, 0x28, 0x18, 0xb6, 0xe1,
+ 0xf5, 0x86, 0x2a, 0xf8, 0xaf, 0x1a, 0x2c, 0x1c, 0x08, 0x97, 0x8e, 0x3c, 0x77, 0xd0, 0x47, 0x2b,
+ 0x90, 0xb2, 0xcc, 0x82, 0x76, 0x4b, 0xdb, 0x9a, 0xdf, 0x9f, 0xfe, 0xcf, 0x77, 0xdf, 0x6c, 0x6a,
+ 0x7a, 0xca, 0x32, 0x51, 0x15, 0x96, 0xc2, 0xc1, 0xd1, 0x42, 0xea, 0xd6, 0xe4, 0xd6, 0xc2, 0xbd,
+ 0x95, 0x92, 0x9a, 0xa5, 0x63, 0x29, 0x96, 0xac, 0xfd, 0xf9, 0x7f, 0x7d, 0xf7, 0xcd, 0xe6, 0x14,
+ 0x67, 0xe9, 0x8b, 0x76, 0x50, 0x42, 0xd1, 0x2e, 0xcc, 0xfa, 0x88, 0x49, 0x81, 0x58, 0xf4, 0x11,
+ 0xd1, 0x77, 0x7d, 0x4d, 0xfc, 0x13, 0x48, 0x07, 0xbc, 0xa4, 0xe8, 0x47, 0x30, 0x6d, 0x31, 0xd2,
+ 0xa3, 0x05, 0x4d, 0x20, 0xf2, 0x61, 0x84, 0x50, 0xd2, 0xa5, 0x06, 0xfe, 0x8b, 0x06, 0xe8, 0xf0,
+ 0x8c, 0x38, 0xec, 0x91, 0x65, 0x33, 0xe2, 0xe9, 0x03, 0x9b, 0x3c, 0x26, 0xe7, 0xf8, 0x2b, 0x0d,
+ 0xf2, 0x63, 0xc3, 0xcf, 0xce, 0xfb, 0x04, 0x2d, 0x02, 0x74, 0xc4, 0x48, 0xd3, 0xb0, 0xed, 0xec,
+ 0x04, 0x4a, 0xc3, 0x5c, 0xdb, 0x60, 0xa4, 0xeb, 0x7a, 0xe7, 0x59, 0x0d, 0x65, 0x21, 0x4d, 0x07,
+ 0xad, 0xe6, 0x70, 0x24, 0x85, 0x10, 0x2c, 0xbe, 0xea, 0x5b, 0x4d, 0xc2, 0x51, 0x4d, 0x76, 0xde,
+ 0x27, 0xd9, 0x49, 0xb4, 0x02, 0xb9, 0xb6, 0xeb, 0x74, 0xac, 0x6e, 0x70, 0x78, 0x8a, 0x0f, 0xcb,
+ 0x78, 0x82, 0xc3, 0xd3, 0xd8, 0x82, 0xa5, 0x31, 0x47, 0xd0, 0xa7, 0x30, 0xf9, 0x8a, 0x9c, 0x8b,
+ 0x69, 0x58, 0xbc, 0x57, 0xf2, 0x83, 0x8b, 0x46, 0x51, 0x8a, 0x89, 0x40, 0xe7, 0xaf, 0xa2, 0x65,
+ 0x98, 0x3e, 0x33, 0xec, 0x01, 0x29, 0xa4, 0xf8, 0x54, 0xea, 0xf2, 0x01, 0xff, 0x5d, 0x83, 0x85,
+ 0xc0, 0x2b, 0x49, 0xb3, 0xbd, 0x0a, 0x33, 0xc4, 0x31, 0x5a, 0xb6, 0x7c, 0x7b, 0x4e, 0x57, 0x4f,
+ 0x68, 0x1d, 0xe6, 0x55, 0x00, 0x96, 0x59, 0x98, 0x14, 0xe0, 0x39, 0x39, 0x50, 0x35, 0xd1, 0x26,
+ 0xc0, 0x28, 0xac, 0xc2, 0x94, 0x90, 0xce, 0x8b, 0x11, 0x91, 0xd7, 0x1d, 0x98, 0xf6, 0x06, 0x36,
+ 0xa1, 0x85, 0x69, 0x31, 0x63, 0x6b, 0x09, 0x41, 0xe9, 0x52, 0x0b, 0x7f, 0x02, 0xe9, 0x80, 0x84,
+ 0xa2, 0x1d, 0x98, 0x95, 0xd3, 0x12, 0x99, 0xf2, 0x20, 0xc0, 0xd7, 0xc1, 0xaf, 0x20, 0x5d, 0x71,
+ 0x3d, 0x52, 0x75, 0x28, 0x33, 0x9c, 0x36, 0x41, 0xef, 0xc1, 0x82, 0xa5, 0xfe, 0x6f, 0x8e, 0x47,
+ 0x0c, 0xbe, 0xa4, 0x6a, 0xa2, 0x5d, 0x98, 0x91, 0x1b, 0x5c, 0x44, 0xbe, 0x70, 0x6f, 0xd9, 0xb7,
+ 0xf2, 0x73, 0x31, 0xda, 0x60, 0x06, 0x1b, 0xd0, 0xfd, 0x69, 0xbe, 0x42, 0x27, 0x74, 0xa5, 0x8a,
+ 0x1f, 0x42, 0x26, 0x68, 0x8c, 0xa2, 0xed, 0xf0, 0xea, 0x1c, 0x42, 0x82, 0x5a, 0xfe, 0xf2, 0xfc,
+ 0x76, 0x0a, 0x66, 0x9e, 0x0b, 0x31, 0xba, 0x09, 0xb3, 0x67, 0xc4, 0xa3, 0x96, 0xeb, 0x84, 0x1d,
+ 0xf4, 0x47, 0xd1, 0x03, 0x98, 0x53, 0x25, 0xc2, 0xdf, 0x7e, 0x4b, 0x3e, 0x7a, 0x4f, 0x8e, 0x07,
+ 0x37, 0xcf, 0x50, 0x37, 0x6e, 0xf7, 0x4e, 0xfe, 0xef, 0xbb, 0x77, 0xea, 0xaa, 0xbb, 0x17, 0x7d,
+ 0x0a, 0x69, 0xb5, 0x6e, 0xf8, 0xda, 0xf0, 0x97, 0x00, 0x0a, 0xbf, 0xc9, 0x57, 0x49, 0xf0, 0xed,
+ 0x05, 0x73, 0x38, 0x4c, 0x51, 0x05, 0x32, 0x8a, 0xd0, 0x15, 0x05, 0xa0, 0x30, 0x93, 0xb8, 0xef,
+ 0x83, 0x0c, 0x65, 0x56, 0x15, 0x8d, 0x0a, 0x64, 0xe4, 0x0a, 0xf5, 0x57, 0xd2, 0x6c, 0xe2, 0x4a,
+ 0x0a, 0x41, 0x48, 0x70, 0x21, 0xfe, 0x12, 0x72, 0xa3, 0x42, 0x6b, 0x30, 0xa3, 0x65, 0x50, 0x52,
+ 0xd8, 0x50, 0x20, 0x2e, 0x29, 0x3d, 0xb1, 0x5a, 0xd2, 0x9d, 0x03, 0x83, 0x19, 0xfb, 0x59, 0x0e,
+ 0x5a, 0x08, 0x6c, 0x1c, 0x7d, 0x89, 0x6b, 0x71, 0x25, 0xf5, 0x36, 0x7a, 0x01, 0xf9, 0x60, 0x69,
+ 0xf6, 0xa1, 0x9b, 0x6a, 0x8a, 0x04, 0x74, 0x8f, 0xcb, 0x2e, 0xc4, 0x0a, 0xb7, 0xa4, 0x9a, 0x22,
+ 0xe0, 0xbf, 0x69, 0x90, 0x6d, 0x10, 0xbb, 0xf3, 0x8c, 0x50, 0xa6, 0x13, 0xda, 0x77, 0x1d, 0x4a,
+ 0xd0, 0xcf, 0x60, 0xc6, 0x23, 0x74, 0x60, 0x33, 0x55, 0x5e, 0xee, 0xf8, 0xe1, 0x8f, 0x6b, 0x06,
+ 0x07, 0x06, 0x36, 0xd3, 0xd5, 0x6b, 0xb8, 0x0e, 0x8b, 0x61, 0x09, 0x5a, 0x80, 0xd9, 0xc6, 0x49,
+ 0xa5, 0x72, 0xd8, 0x68, 0x64, 0x27, 0xf8, 0xc3, 0xa3, 0xbd, 0xea, 0xf1, 0x89, 0x7e, 0x98, 0xd5,
+ 0x50, 0x0e, 0x32, 0x4f, 0x6b, 0xcf, 0x9a, 0x8d, 0x93, 0x7a, 0xbd, 0xa6, 0x3f, 0x3b, 0x3c, 0xc8,
+ 0xa6, 0xf8, 0xd0, 0xc9, 0xd3, 0xc7, 0x4f, 0x6b, 0x2f, 0x9e, 0x36, 0x0f, 0x75, 0xbd, 0xa6, 0x67,
+ 0x27, 0x71, 0x0d, 0x72, 0xb5, 0xce, 0x5e, 0x97, 0x38, 0xac, 0x31, 0x68, 0xd1, 0xb6, 0x67, 0xb5,
+ 0x88, 0xc7, 0xeb, 0x89, 0xdb, 0x31, 0xf8, 0xe0, 0x70, 0xc7, 0xea, 0xf3, 0x6a, 0xa4, 0x6a, 0xf2,
+ 0x5a, 0xa4, 0x4e, 0x37, 0xcb, 0x54, 0x45, 0x6e, 0x4e, 0x0e, 0x54, 0x4d, 0xfc, 0x10, 0xe0, 0x09,
+ 0xe9, 0xb5, 0x88, 0x47, 0x4f, 0xad, 0x3e, 0x27, 0x89, 0x55, 0xd3, 0x74, 0x8c, 0x1e, 0xf1, 0x49,
+ 0x62, 0xe4, 0xa9, 0xd1, 0xe3, 0x15, 0x3f, 0x35, 0x44, 0xa4, 0x2c, 0x13, 0x1f, 0x42, 0xfa, 0x91,
+ 0xed, 0xbe, 0x7e, 0x42, 0x98, 0xc1, 0xe7, 0x02, 0x7d, 0x04, 0x33, 0x3d, 0x12, 0xa8, 0x3c, 0x9b,
+ 0xa5, 0xe0, 0x51, 0xec, 0x76, 0xfa, 0x4d, 0x21, 0x6e, 0xca, 0x92, 0xaf, 0x2b, 0xe5, 0x7b, 0xdf,
+ 0xee, 0x40, 0x46, 0x6e, 0xec, 0x06, 0xf1, 0xf8, 0x24, 0x21, 0x1d, 0x16, 0x4f, 0xfa, 0xa6, 0xc1,
+ 0xc8, 0xb1, 0xdb, 0x3d, 0x26, 0x67, 0xc4, 0x46, 0x4b, 0x25, 0xd5, 0x6a, 0x1c, 0xbb, 0xdd, 0xae,
+ 0xe5, 0x74, 0x8b, 0xab, 0x25, 0xd9, 0xc0, 0x94, 0xfc, 0x06, 0xa6, 0x74, 0xc8, 0x1b, 0x18, 0xbc,
+ 0xf6, 0xe5, 0x3f, 0xff, 0xfd, 0x75, 0x2a, 0x87, 0xd3, 0xa2, 0xef, 0x39, 0xfb, 0x90, 0xb7, 0x1a,
+ 0xf4, 0x63, 0x6d, 0x1b, 0xd5, 0x21, 0x7d, 0x44, 0x98, 0x0f, 0xa4, 0xa8, 0x30, 0x46, 0xac, 0xb8,
+ 0xbd, 0xbe, 0xeb, 0x10, 0x87, 0x15, 0xb3, 0x63, 0x12, 0x8a, 0x97, 0x05, 0x74, 0x11, 0x85, 0xa0,
+ 0xe8, 0x05, 0x64, 0x8e, 0x08, 0x0b, 0xa4, 0x2f, 0xc1, 0xa7, 0xe2, 0x70, 0xff, 0x8e, 0x74, 0x71,
+ 0x51, 0x20, 0x97, 0x11, 0xf2, 0x91, 0xbd, 0x11, 0xe7, 0x25, 0x64, 0x65, 0xf8, 0x01, 0x76, 0x0c,
+ 0x23, 0x31, 0x07, 0x9b, 0x82, 0xbd, 0x86, 0x63, 0xd8, 0x3c, 0x13, 0x07, 0x30, 0x7f, 0x44, 0x98,
+ 0x2a, 0xa5, 0x49, 0x3e, 0x0f, 0xab, 0x95, 0xd4, 0xc3, 0x4b, 0x82, 0x39, 0x8f, 0x66, 0x15, 0x13,
+ 0xbd, 0x84, 0xdc, 0xb1, 0x45, 0x59, 0xb8, 0x9e, 0x27, 0xd1, 0x56, 0xe2, 0x0a, 0x3b, 0xc5, 0x37,
+ 0x04, 0x34, 0x8f, 0x72, 0xbe, 0xa3, 0xd6, 0x90, 0xd4, 0x80, 0xa5, 0x23, 0x12, 0xa2, 0x23, 0xf0,
+ 0xe7, 0xa5, 0x7a, 0x50, 0x8c, 0x3d, 0x29, 0xf0, 0x5b, 0x82, 0x57, 0x40, 0xab, 0x11, 0x5e, 0xf9,
+ 0x8d, 0x65, 0x7e, 0x81, 0x74, 0x48, 0x73, 0x9f, 0xf7, 0xfc, 0x72, 0x9f, 0xe4, 0x6e, 0x76, 0xec,
+ 0xb0, 0xa0, 0xb8, 0x20, 0xc8, 0x08, 0x65, 0x7d, 0xf2, 0xf0, 0xc8, 0x20, 0x80, 0x38, 0xf3, 0x38,
+ 0x5c, 0xfd, 0x93, 0xc8, 0xab, 0xb1, 0xe7, 0x08, 0xc5, 0x37, 0x05, 0xff, 0x06, 0x5a, 0x0b, 0xac,
+ 0xb0, 0xe0, 0x31, 0x84, 0x7e, 0x0b, 0x59, 0xb9, 0x7c, 0x47, 0x6f, 0x85, 0x12, 0x12, 0x7f, 0x40,
+ 0xe1, 0x77, 0x04, 0xf7, 0x2d, 0xb4, 0x91, 0xc0, 0x95, 0x79, 0xe9, 0xc0, 0x6a, 0x24, 0x86, 0xba,
+ 0xeb, 0x31, 0x1a, 0x9f, 0x73, 0xa5, 0x27, 0x34, 0xf0, 0xb6, 0xb0, 0xf0, 0x0e, 0xc2, 0x17, 0x59,
+ 0x28, 0xf7, 0x05, 0xed, 0x73, 0x58, 0x1e, 0x0f, 0x82, 0x43, 0xd0, 0x4a, 0x0c, 0xb9, 0x6a, 0x16,
+ 0xf3, 0x31, 0xc3, 0xf8, 0xbe, 0xb0, 0x57, 0x42, 0x1f, 0x5c, 0x6e, 0xaf, 0xfc, 0x86, 0xff, 0x69,
+ 0xf2, 0x08, 0xff, 0xa8, 0xc1, 0xda, 0xa1, 0xe8, 0xcd, 0xae, 0x6c, 0x3d, 0x69, 0x77, 0x3d, 0x14,
+ 0x0e, 0x7c, 0x84, 0x77, 0xaf, 0xe3, 0x40, 0x59, 0x35, 0x86, 0x5f, 0x69, 0x50, 0x38, 0xb0, 0xe8,
+ 0x0f, 0xe2, 0xc8, 0x4f, 0x85, 0x23, 0x0f, 0xf0, 0xfd, 0x6b, 0x39, 0x62, 0x4a, 0xeb, 0xc8, 0x8c,
+ 0x99, 0x73, 0x5e, 0xcd, 0xc3, 0x73, 0x8e, 0x42, 0x25, 0x5c, 0xc8, 0xaf, 0x38, 0xe3, 0x1d, 0xc1,
+ 0xfa, 0xbd, 0x06, 0x1b, 0xc3, 0x52, 0x1e, 0x36, 0xf4, 0x4c, 0xb8, 0xb1, 0x11, 0x31, 0x20, 0xc6,
+ 0xe5, 0x3b, 0x89, 0xa1, 0xef, 0x08, 0x17, 0xee, 0xe0, 0x2b, 0xb8, 0xc0, 0x2b, 0xde, 0x1f, 0x34,
+ 0xd8, 0x8c, 0xf1, 0xe2, 0x09, 0x3f, 0x7f, 0xa4, 0x1b, 0xeb, 0x21, 0x37, 0x84, 0xe0, 0x89, 0x6b,
+ 0x5e, 0xe2, 0x45, 0x49, 0x78, 0xb1, 0x85, 0xdf, 0xbe, 0xd0, 0x0b, 0x79, 0xca, 0x71, 0x37, 0xba,
+ 0xb0, 0x16, 0x49, 0xb9, 0x30, 0x15, 0xce, 0x79, 0x3e, 0xea, 0x0b, 0xc5, 0xef, 0x0b, 0x5b, 0xef,
+ 0xa2, 0xab, 0xd8, 0x42, 0x0c, 0xd6, 0x63, 0xe7, 0x56, 0xb5, 0x77, 0x41, 0x63, 0x6b, 0x91, 0xfc,
+ 0x4b, 0x25, 0x7c, 0x57, 0x18, 0xdc, 0x46, 0x5b, 0x97, 0xa6, 0x58, 0x75, 0x9a, 0xe8, 0x6b, 0x0d,
+ 0x6e, 0x27, 0xcc, 0xb5, 0x60, 0xca, 0x4c, 0xdf, 0x8e, 0x37, 0x78, 0x95, 0x59, 0xdf, 0x15, 0x2e,
+ 0xed, 0xe0, 0x2b, 0xbb, 0xc4, 0x93, 0x5e, 0x83, 0x05, 0x9e, 0x8b, 0xcb, 0x0a, 0xf3, 0x52, 0xb8,
+ 0x41, 0xa6, 0x7e, 0x23, 0x81, 0x96, 0x7c, 0x63, 0x7e, 0x25, 0xae, 0x41, 0x66, 0x04, 0xac, 0x9a,
+ 0xc9, 0xc8, 0x85, 0x51, 0x9a, 0x63, 0x8e, 0x3a, 0x89, 0xb3, 0x4c, 0x8a, 0x4e, 0x20, 0xab, 0x93,
+ 0xb6, 0xeb, 0xb4, 0x2d, 0x9b, 0xf8, 0x6e, 0x06, 0xdf, 0x4d, 0xcc, 0xc7, 0x86, 0x60, 0xae, 0xe2,
+ 0x28, 0x93, 0x07, 0x7e, 0x28, 0x8e, 0xf9, 0x98, 0xa3, 0x62, 0xec, 0x43, 0xc4, 0xc7, 0xa0, 0xe5,
+ 0xb1, 0x48, 0xe5, 0xd9, 0xf0, 0x0b, 0x48, 0x57, 0x3c, 0x62, 0x30, 0xe5, 0x1a, 0x1a, 0x7b, 0x3b,
+ 0x42, 0x53, 0x8d, 0x0d, 0x1e, 0xcf, 0x1b, 0x77, 0xe9, 0x05, 0xa4, 0x65, 0x11, 0x8e, 0xf1, 0x2a,
+ 0x29, 0xc8, 0xb7, 0x05, 0x6f, 0x13, 0xaf, 0xc7, 0x79, 0xe7, 0x97, 0xd5, 0x5f, 0x43, 0x46, 0x55,
+ 0xd5, 0x6b, 0x90, 0xd5, 0xd9, 0x88, 0x37, 0x62, 0xc9, 0x7e, 0x9d, 0x7c, 0x01, 0x69, 0x9d, 0xb4,
+ 0x5c, 0x97, 0xfd, 0x60, 0x3e, 0x7b, 0x02, 0xc7, 0xc1, 0x07, 0xc4, 0x26, 0xec, 0x7b, 0x24, 0x63,
+ 0x3b, 0x1e, 0x6c, 0x0a, 0x1c, 0x1a, 0x40, 0xe6, 0xc0, 0x7d, 0xed, 0xd8, 0xae, 0x61, 0x56, 0x7b,
+ 0x46, 0x97, 0x8c, 0xce, 0x15, 0xf1, 0xe8, 0xcb, 0x8a, 0x2b, 0xbe, 0xc1, 0x5a, 0x9f, 0x78, 0xe2,
+ 0x72, 0x90, 0x7f, 0xd0, 0xe0, 0x07, 0xc2, 0xc6, 0x5d, 0xfc, 0x7e, 0xac, 0x0d, 0x8b, 0x23, 0x9a,
+ 0xa6, 0x62, 0xd0, 0xf2, 0x1b, 0xfe, 0xa9, 0xf0, 0x05, 0x9f, 0xdc, 0x2f, 0x35, 0x58, 0x3d, 0x22,
+ 0x2c, 0x64, 0x43, 0x5e, 0x03, 0x24, 0x3b, 0x10, 0x37, 0x8c, 0x3f, 0x16, 0x0e, 0xdc, 0x47, 0xf7,
+ 0xae, 0xe1, 0x40, 0x99, 0x4a, 0x4b, 0x03, 0xd1, 0x26, 0x85, 0x78, 0xd7, 0xb4, 0xae, 0x8a, 0x0c,
+ 0xba, 0x4e, 0xf8, 0xa8, 0x23, 0x9b, 0xc0, 0x10, 0x89, 0x8e, 0xcd, 0x68, 0x9c, 0x35, 0x8a, 0x3f,
+ 0x10, 0xe6, 0xde, 0x43, 0xef, 0x5c, 0xc5, 0x1c, 0xfa, 0x1c, 0xf2, 0x15, 0xde, 0xcf, 0xda, 0x57,
+ 0x8c, 0x30, 0x76, 0x82, 0x55, 0x84, 0xdb, 0xd7, 0x8a, 0xf0, 0xcf, 0x1a, 0xe4, 0xf7, 0xda, 0xcc,
+ 0x3a, 0x33, 0x18, 0x11, 0x56, 0x64, 0xad, 0xbe, 0xa6, 0xe9, 0x8a, 0x30, 0xfd, 0x09, 0xfe, 0xf1,
+ 0x75, 0xa6, 0x56, 0x0e, 0x0f, 0x84, 0x3d, 0xbe, 0xd0, 0xfe, 0xa4, 0x41, 0x4e, 0x27, 0x67, 0xc4,
+ 0x63, 0xff, 0x17, 0x47, 0x3c, 0x61, 0x5a, 0x7e, 0x52, 0x2e, 0x8d, 0x4e, 0x82, 0x68, 0xbf, 0x9c,
+ 0xf1, 0x3d, 0x92, 0x8d, 0x32, 0x16, 0x26, 0x37, 0x50, 0x31, 0xd6, 0xa4, 0x6c, 0x90, 0x5f, 0x42,
+ 0x3e, 0x40, 0xec, 0x55, 0xc4, 0x87, 0x72, 0x98, 0x9a, 0x1b, 0x52, 0x7d, 0x31, 0xbe, 0x23, 0xc8,
+ 0xb7, 0xd1, 0xcd, 0x78, 0x72, 0x4f, 0x7d, 0x70, 0x53, 0xe4, 0xc0, 0x8a, 0xcc, 0xd6, 0xb8, 0x81,
+ 0x28, 0x34, 0xb1, 0x04, 0xa9, 0xee, 0x0f, 0x5f, 0x66, 0x8c, 0x27, 0xe8, 0x24, 0x98, 0xa0, 0xab,
+ 0x35, 0x97, 0x17, 0x67, 0x49, 0x36, 0x95, 0x04, 0x96, 0xc3, 0xd8, 0xeb, 0xf4, 0x35, 0x5b, 0xc2,
+ 0x00, 0x46, 0xb7, 0x12, 0x0d, 0xf8, 0xfd, 0xcc, 0x67, 0x41, 0xef, 0xe5, 0xed, 0x5a, 0xd2, 0x51,
+ 0x9f, 0x8f, 0xde, 0xd0, 0xd1, 0xa4, 0x73, 0x55, 0x5e, 0xed, 0x21, 0x5d, 0xdc, 0x1e, 0x8c, 0xf4,
+ 0xc7, 0x32, 0x13, 0xe1, 0xe1, 0xdb, 0x02, 0xb7, 0x8e, 0x6e, 0xc4, 0xe1, 0xe4, 0x59, 0xdd, 0x84,
+ 0xec, 0xc8, 0x63, 0x95, 0x94, 0x24, 0x97, 0x97, 0x63, 0x6e, 0x04, 0xa9, 0x7f, 0x75, 0x80, 0x56,
+ 0xc6, 0x8c, 0xa8, 0x94, 0x3c, 0x82, 0x6c, 0x83, 0x79, 0xc4, 0xe8, 0xd5, 0x8d, 0xf6, 0x2b, 0xc2,
+ 0x68, 0x6d, 0xc0, 0xd0, 0x6a, 0x28, 0xd3, 0x52, 0x50, 0x1b, 0xb0, 0xc4, 0x05, 0x34, 0xb1, 0xa5,
+ 0xa1, 0x43, 0xd1, 0xf2, 0x10, 0xeb, 0x8c, 0x28, 0x50, 0xd5, 0xb9, 0xe0, 0xee, 0x20, 0xca, 0xaf,
+ 0x3a, 0x78, 0xe2, 0xae, 0x86, 0x1e, 0x43, 0x5e, 0x61, 0x2a, 0xa7, 0x86, 0xd3, 0x25, 0xe2, 0x5e,
+ 0x32, 0x39, 0xe4, 0x42, 0x88, 0x14, 0x78, 0x45, 0xc0, 0x4e, 0x60, 0x71, 0x38, 0x21, 0xf2, 0x27,
+ 0x9e, 0x70, 0x53, 0x1e, 0x4d, 0x57, 0xd2, 0x62, 0x55, 0xd9, 0xf2, 0xe7, 0x24, 0x27, 0xfb, 0xa7,
+ 0xe0, 0xcf, 0x09, 0x71, 0x37, 0xa9, 0xc5, 0xb8, 0x41, 0x7c, 0x4b, 0x98, 0x28, 0xe2, 0xe1, 0x84,
+ 0x84, 0x2e, 0x66, 0xf9, 0x26, 0x7b, 0x2e, 0xfc, 0x0e, 0xd2, 0x63, 0x3f, 0xda, 0x83, 0x3f, 0x12,
+ 0x44, 0x1d, 0x0f, 0x51, 0xa5, 0xe3, 0x26, 0xe4, 0x64, 0xb1, 0xf8, 0x7e, 0x8e, 0xbf, 0x2b, 0x4c,
+ 0xdc, 0x2c, 0x5e, 0x60, 0x82, 0x7b, 0x6f, 0x42, 0x4e, 0x76, 0x41, 0x97, 0x5a, 0x49, 0x5a, 0x4f,
+ 0x2a, 0x96, 0xed, 0x8b, 0x62, 0x51, 0x1b, 0x23, 0xf4, 0x43, 0xc9, 0xa5, 0x1b, 0x23, 0x94, 0xb1,
+ 0xc8, 0xc6, 0x08, 0x59, 0x41, 0xc7, 0xa2, 0xd9, 0x16, 0x47, 0x0f, 0x8d, 0x6f, 0xb6, 0xa5, 0xcc,
+ 0xef, 0xe0, 0xd0, 0x7a, 0xf2, 0xc1, 0x43, 0xd1, 0xaf, 0x60, 0xce, 0xbf, 0x38, 0x0e, 0xc1, 0x0a,
+ 0x49, 0x37, 0xd0, 0xf8, 0x3d, 0x81, 0xbd, 0x85, 0xdf, 0x8a, 0xc5, 0x52, 0x62, 0x77, 0x9a, 0x8c,
+ 0xd3, 0x9e, 0x8b, 0xfe, 0x28, 0x74, 0xf1, 0x3e, 0xfe, 0xed, 0x19, 0xb9, 0x99, 0x8f, 0x56, 0x1e,
+ 0xbe, 0x8d, 0xb8, 0x9e, 0xfa, 0xe8, 0xb4, 0x5a, 0xe8, 0x33, 0x40, 0x47, 0x84, 0x8d, 0xdd, 0xbd,
+ 0x8f, 0x5d, 0x50, 0xc5, 0x5d, 0xcf, 0x47, 0xf3, 0x11, 0x66, 0x8b, 0x9b, 0x7e, 0x44, 0x21, 0xd3,
+ 0xb0, 0x7a, 0x03, 0xdb, 0x60, 0x44, 0xbc, 0x8f, 0x36, 0x86, 0x89, 0x08, 0x0e, 0xeb, 0xe4, 0x77,
+ 0x03, 0x42, 0x59, 0xd2, 0x99, 0x1f, 0xb9, 0x34, 0x08, 0xe7, 0x48, 0x91, 0x9a, 0x9c, 0xc4, 0x57,
+ 0x66, 0x05, 0xe6, 0x87, 0x97, 0xec, 0xe8, 0x86, 0x6f, 0x30, 0x72, 0xfd, 0x5e, 0x4c, 0x16, 0xe1,
+ 0x89, 0x7d, 0x1b, 0xf2, 0xae, 0xd7, 0x15, 0x75, 0xa7, 0xed, 0x7a, 0xa6, 0x52, 0xdd, 0x4f, 0xcb,
+ 0x5b, 0xd5, 0xba, 0xf8, 0xb9, 0xf9, 0x37, 0xa5, 0xae, 0xc5, 0x4e, 0x07, 0x2d, 0xee, 0x75, 0xd9,
+ 0xd7, 0x54, 0xbf, 0xe9, 0xef, 0xf8, 0xbf, 0xf0, 0xef, 0x96, 0xbb, 0xae, 0x1a, 0xfb, 0x47, 0x6a,
+ 0xb5, 0xe6, 0xf3, 0x9e, 0x07, 0x2f, 0x69, 0xeb, 0xa9, 0xfa, 0x64, 0x7d, 0xaa, 0x3e, 0x5d, 0x9f,
+ 0xa9, 0xcf, 0xd6, 0xe7, 0x5a, 0x33, 0xe2, 0xdd, 0xdd, 0xff, 0x06, 0x00, 0x00, 0xff, 0xff, 0x47,
+ 0x9e, 0x76, 0x38, 0x2d, 0x20, 0x00, 0x00,
}
// Reference imports to suppress errors if they are not otherwise used.
diff --git a/vendor/modules.txt b/vendor/modules.txt
index 2c11425..a9bf83f 100644
--- a/vendor/modules.txt
+++ b/vendor/modules.txt
@@ -63,27 +63,27 @@
github.com/mitchellh/go-homedir
# github.com/mitchellh/mapstructure v1.1.2
github.com/mitchellh/mapstructure
-# github.com/opencord/voltha-lib-go/v2 v2.2.26
-github.com/opencord/voltha-lib-go/v2/pkg/adapters
-github.com/opencord/voltha-lib-go/v2/pkg/adapters/adapterif
-github.com/opencord/voltha-lib-go/v2/pkg/adapters/common
-github.com/opencord/voltha-lib-go/v2/pkg/db/kvstore
-github.com/opencord/voltha-lib-go/v2/pkg/kafka
-github.com/opencord/voltha-lib-go/v2/pkg/log
-github.com/opencord/voltha-lib-go/v2/pkg/probe
-github.com/opencord/voltha-lib-go/v2/pkg/flows
-github.com/opencord/voltha-lib-go/v2/pkg/pmmetrics
-github.com/opencord/voltha-lib-go/v2/pkg/techprofile
-github.com/opencord/voltha-lib-go/v2/pkg/db
-github.com/opencord/voltha-lib-go/v2/pkg/ponresourcemanager
-# github.com/opencord/voltha-protos/v2 v2.1.2
-github.com/opencord/voltha-protos/v2/go/inter_container
-github.com/opencord/voltha-protos/v2/go/voltha
-github.com/opencord/voltha-protos/v2/go/common
-github.com/opencord/voltha-protos/v2/go/openflow_13
-github.com/opencord/voltha-protos/v2/go/openolt
-github.com/opencord/voltha-protos/v2/go/tech_profile
-github.com/opencord/voltha-protos/v2/go/omci
+# github.com/opencord/voltha-lib-go/v3 v3.0.0
+github.com/opencord/voltha-lib-go/v3/pkg/adapters
+github.com/opencord/voltha-lib-go/v3/pkg/adapters/adapterif
+github.com/opencord/voltha-lib-go/v3/pkg/adapters/common
+github.com/opencord/voltha-lib-go/v3/pkg/db/kvstore
+github.com/opencord/voltha-lib-go/v3/pkg/kafka
+github.com/opencord/voltha-lib-go/v3/pkg/log
+github.com/opencord/voltha-lib-go/v3/pkg/probe
+github.com/opencord/voltha-lib-go/v3/pkg/flows
+github.com/opencord/voltha-lib-go/v3/pkg/pmmetrics
+github.com/opencord/voltha-lib-go/v3/pkg/techprofile
+github.com/opencord/voltha-lib-go/v3/pkg/db
+github.com/opencord/voltha-lib-go/v3/pkg/ponresourcemanager
+# github.com/opencord/voltha-protos/v3 v3.1.0
+github.com/opencord/voltha-protos/v3/go/inter_container
+github.com/opencord/voltha-protos/v3/go/voltha
+github.com/opencord/voltha-protos/v3/go/common
+github.com/opencord/voltha-protos/v3/go/openflow_13
+github.com/opencord/voltha-protos/v3/go/openolt
+github.com/opencord/voltha-protos/v3/go/tech_profile
+github.com/opencord/voltha-protos/v3/go/omci
# github.com/pierrec/lz4 v2.3.0+incompatible
github.com/pierrec/lz4
github.com/pierrec/lz4/internal/xxh32