# Source code for fontTools.ttLib.tables.F_F_T_M_

    from fontTools.misc import sstruct
    from fontTools.misc.textTools import safeEval
    from fontTools.misc.timeTools import timestampFromString, timestampToString
    from . import DefaultTable

    FFTMFormat = """
    		>	# big endian
    		version:        I
    		FFTimeStamp:    Q
    		sourceCreated:  Q
    		sourceModified: Q
    """

    class table_F_F_T_M_(DefaultTable.DefaultTable):

    	def decompile(self, data, ttFont):
    		dummy, rest = sstruct.unpack2(FFTMFormat, data, self)

    	def compile(self, ttFont):
    		data = sstruct.pack(FFTMFormat, self)
    		return data

    	def toXML(self, writer, ttFont):
    		writer.comment("FontForge's timestamp, font source creation and modification dates")
    		writer.newline()
    		formatstring, names, fixes = sstruct.getformat(FFTMFormat)
    		for name in names:
    			value = getattr(self, name)
    			if name in ("FFTimeStamp", "sourceCreated", "sourceModified"):
    				value = timestampToString(value)
    			writer.simpletag(name, value=value)
    			writer.newline()

    	def fromXML(self, name, attrs, content, ttFont):
    		value = attrs["value"]
    		if name in ("FFTimeStamp", "sourceCreated", "sourceModified"):
    			value = timestampFromString(value)
    		else:
    			value = safeEval(value)
    		setattr(self, name, value)