code: function decodeTlv(path, value) {
      var data = {},
          offset = 0,
          len = value.length,
          pathType = cutils.getPathDateType(path),
          pathArray = cutils.getPathArray(path),
          bufData,
          type,
          oid = pathArray[0],
          iid,
          rid;
  
      while (offset < len) {
          bufData = decodeTlvBuf(path, value, offset);
          type = bufData.type;
          offset = bufData.offset;
  
          switch (pathType) {
              case 'object':
                  if (type === 'instance') {
                      iid = bufData.id;
                      data[iid] = {};
                  } else if (type === 'resource') {
                      rid = cutils.ridKey(oid, bufData.id);
                      data[iid][rid] = bufData.value;
                  } else if (type === 'multiResrc') {
                      rid = cutils.ridKey(oid, bufData.id);
                      data[iid][rid] = {};
                  } else if (type === 'resrcInst') {
                      data[iid][rid][bufData.id] = bufData.value;
                  }
                  break;
  
              case 'instance':
                  if (type === 'instance') {
                      iid = bufData.id;
                  } else if (type === 'resource') {
                      rid = cutils.ridKey(oid, bufData.id);
                      data[rid] = bufData.value;
                  } else if (type === 'multiResrc') {
                      rid = cutils.ridKey(oid, bufData.id);
                      data[rid] = {};
                  } else if (type === 'resrcInst') {
                      data[rid][bufData.id] = bufData.value;
                  }
                  break;
  
              case 'resource':
                  if (type === 'resource') {
                      data = bufData.value;
                  } else if (type === 'multiResrc') {
                      rid = cutils.ridKey(oid, bufData.id);
                  } else if (type === 'resrcInst') {
                      data[bufData.id] = bufData.value;
                  }
                  break;
  
              default:
                  break;
          }
  
      }
  
      return data;
  }
docs: *******************************************************
  Tlv                                                   *
  *******************************************************