@classmethod
    def read(cls, fd, cache):
        header = AMF3Integer.read(fd)

        if (header & 1) == 0:
            index = header >> 1

            return cache[index]
        else:
            size = header >> 1
            data = fd.read(size)
            rval = data.decode("utf8", "ignore")

            if len(data) > 0:
                cache.append(rval)

            return rval
dataset/ETHPy150Open chrippa/livestreamer/src/livestreamer/packages/flashmedia/types.py/AMF3String.read/original