code: def decompile(self, data, ttFont):
      header = {}
      headerSize = sstruct.calcsize(FVAR_HEADER_FORMAT)
      header = sstruct.unpack(FVAR_HEADER_FORMAT, data[0:headerSize])
      if header["version"] != 0x00010000:
          raise TTLibError(
              "unsupported 'fvar' version %04x" % header["version"]
          )
      pos = header["offsetToData"]
      axisSize = header["axisSize"]
      for _ in range(header["axisCount"]):
          axis = Axis()
          axis.decompile(data[pos : pos + axisSize])
          self.axes.append(axis)
          pos += axisSize
      instanceSize = header["instanceSize"]
      axisTags = [axis.axisTag for axis in self.axes]
      for _ in range(header["instanceCount"]):
          instance = NamedInstance()
          instance.decompile(data[pos : pos + instanceSize], axisTags)
          self.instances.append(instance)
          pos += instanceSize
  
imports: from fontTools.misc import sstruct
  from fontTools.misc.fixedTools import fixedToFloat, floatToFixed, floatToFixedToStr, strToFixedToFloat
  from fontTools.misc.textTools import Tag, bytesjoin, safeEval
  from fontTools.ttLib import TTLibError
  from .None import DefaultTable
  import struct
label_desc: Use image node_id 3 for calling the table__f_v_a_r obj's underlying member method code with example usage: obj.decompile(data, ttFont) without return types