code: func (z *Archive) DecodeMsg(dc *msgp.Reader) (err error) {
  	var field []byte
  	_ = field
  	var zb0001 uint32
  	zb0001, err = dc.ReadMapHeader()
  	if err != nil {
  		err = msgp.WrapError(err)
  		return
  	}
  	for zb0001 > 0 {
  		zb0001--
  		field, err = dc.ReadMapKeyPtr()
  		if err != nil {
  			err = msgp.WrapError(err)
  			return
  		}
  		switch msgp.UnsafeString(field) {
  		case "MetricDefinition":
  			err = z.MetricDefinition.DecodeMsg(dc)
  			if err != nil {
  				err = msgp.WrapError(err, "MetricDefinition")
  				return
  			}
  		case "SchemaId":
  			z.SchemaId, err = dc.ReadUint16()
  			if err != nil {
  				err = msgp.WrapError(err, "SchemaId")
  				return
  			}
  		case "AggId":
  			z.AggId, err = dc.ReadUint16()
  			if err != nil {
  				err = msgp.WrapError(err, "AggId")
  				return
  			}
  		case "IrId":
  			z.IrId, err = dc.ReadUint16()
  			if err != nil {
  				err = msgp.WrapError(err, "IrId")
  				return
  			}
  		case "LastSave":
  			z.LastSave, err = dc.ReadUint32()
  			if err != nil {
  				err = msgp.WrapError(err, "LastSave")
  				return
  			}
  		default:
  			err = dc.Skip()
  			if err != nil {
  				err = msgp.WrapError(err)
  				return
  			}
  		}
  	}
  	return
  }
docs: // DecodeMsg implements msgp.Decodable