code: async def load_blob(reader, elem_type, params=None, elem=None):
      
      ivalue = await load_varint(reader)
      fvalue = bytearray(ivalue)
      await reader.areadinto(fvalue)
  
      if elem is None:
          return fvalue  # array by default
  
      elif isinstance(elem, x.BlobType):
          setattr(elem, elem_type.DATA_ATTR, fvalue)
          return elem
  
      else:
          elem.extend(fvalue)
  
      return elem
docs: Loads blob from reader to the element. Returns the loaded blob.
  
      :param reader:
      :param elem_type:
      :param params:
      :param elem:
      :return: