<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def standalone_from_launchable(cls, launch):
 """ Given a launchable resource, create a definition of a standalone instance, which doesn't depend on or contain references to other elements. """

        attrs = copy.copy(launch.el_attrs)
        # Remove attributes we overwrite / don't need
        del attrs["Type"]
        if attrs.has_key("DependsOn"):
            del attrs["DependsOn"]
        if attrs["Properties"].has_key("SpotPrice"):
            del attrs["Properties"]["SpotPrice"]
        if attrs["Properties"].has_key("InstanceMonitoring"):
            del attrs["Properties"]["InstanceMonitoring"]
        if attrs["Properties"].has_key("SecurityGroups"):
            del attrs["Properties"]["SecurityGroups"]
        if attrs["Properties"].has_key("InstanceId"):
            raise RuntimeError("Can't make instance from launchable containing InstanceId property")
        inst = EC2Instance(**attrs)
        # TODO: shallow copy?
        inst.iscm = launch.iscm
        return inst