<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def prepare(self):
 """ Reorganizes the data such that the deployment logic can find it all where it expects to be. The raw configuration file is intended to be as human-friendly as possible partly through the following mechanisms: - In order to minimize repetition, any attributes that are common to all server configurations can be specified in the ``server_common_attributes`` stanza even though the stanza itself does not map directly to a deployable resource. - For reference locality, each security group stanza contains its list of rules even though rules are actually created in a separate stage from the groups themselves. In order to make the :class:`Config` object more useful to the program logic, this method performs the following transformations: - Distributes the ``server_common_attributes`` among all the members of the ``servers`` stanza. - Extracts security group rules to a top-level key, and interpolates all source and target values. """

        # TODO: take server_common_attributes and disperse it among the various
        # server stanzas

        # First stage - turn all the dicts (SERVER, SECGROUP, DATABASE, LOADBAL)
        # into lists now they're merged properly
        for stanza_key, name_key in (
                (R.SERVERS, A.server.NAME),
                (R.SERVER_SECURITY_GROUPS, A.secgroup.NAME),
                (R.LOAD_BALANCERS, A.loadbalancer.NAME),
                (R.DATABASES, A.database.NAME),
                (R.BUCKETS, A.NAME),
                (R.QUEUES, A.NAME)):
            self[stanza_key] = self._convert_to_list(stanza_key, name_key)

        self._prepare_ssh_keys()
        self._prepare_secgroups()
        self._prepare_tags()
        self._prepare_dbs()
        self._prepare_servers()
        self._prepare_load_balancers()
        self._prepare_ansible()