<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def decode(self):
 """Decodes the mission files into dictionaries"""


        LOGGER.debug('decoding lua tables')

        if not self.zip_content:
            self.unzip()

        LOGGER.debug('reading map resource file')
        with open(str(self.map_res_file), encoding=ENCODING) as stream:
            self._map_res, self._map_res_qual = SLTP().decode(stream.read())

        LOGGER.debug('reading l10n file')
        with open(str(self.dictionary_file), encoding=ENCODING) as stream:
            self._l10n, self._l10n_qual = SLTP().decode(stream.read())

        LOGGER.debug('reading mission file')
        with open(str(self.mission_file), encoding=ENCODING) as stream:
            mission_data, self._mission_qual = SLTP().decode(stream.read())
            self._mission = Mission(mission_data, self._l10n)

        LOGGER.debug('gathering resources')
        for file in Path(self.temp_dir, 'l10n', 'DEFAULT').iterdir():
            if file.name in ('dictionary', 'mapResource'):
                continue
            LOGGER.debug('found resource: %s', file.name)
            self._resources.add(file.name)

        LOGGER.debug('decoding done')