code: func DecodeAttrs(v []byte) (map[string]interface{}, error) {
  	var pb internal.AttrMap
  	if err := proto.Unmarshal(v, &pb); err != nil {
  		return nil, err
  	}
  	return decodeAttrs(pb.GetAttrs()), nil
  }
docs: // DecodeAttrs decodes a byte slice into an  attribute map.