<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def assume_script(self) -> 'Language': """ Fill in the script if it's missing, and if it can be assumed from the language subtag. This is the opposite of `simplify_script`. Language.make(language='en', script='Latn') Language.make(language='yi', script='Hebr') Language.make(language='yi', script='Latn') This fills in nothing when the script cannot be assumed -- such as when the language has multiple scripts, or it has no standard orthography: Language.make(language='sr') Language.make(language='eee') It also dosn't fill anything in when the language is unspecified. Language.make(region='US') """

        if self._assumed is not None:
            return self._assumed
        if self.language and not self.script:
            try:
                self._assumed = self.update_dict({'script': DEFAULT_SCRIPTS[self.language]})
            except KeyError:
                self._assumed = self
        else:
            self._assumed = self
        return self._assumed