<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def update_agent_db_refs(self, agent, agent_text, do_rename=True):
 """Update db_refs of agent using the grounding map If the grounding map is missing one of the HGNC symbol or Uniprot ID, attempts to reconstruct one from the other. Parameters agent : :py:class:`indra.statements.Agent` The agent whose db_refs will be updated agent_text : str The agent_text to find a grounding for in the grounding map dictionary. Typically this will be agent.db_refs['TEXT'] but there may be situations where a different value should be used. do_rename: Optional[bool] If True, the Agent name is updated based on the mapped grounding. If do_rename is True the priority for setting the name is FamPlex ID, HGNC symbol, then the gene name from Uniprot. Default: True Raises ------ ValueError If the the grounding map contains and HGNC symbol for agent_text but no HGNC ID can be found for it. ValueError If the grounding map contains both an HGNC symbol and a Uniprot ID, but the HGNC symbol and the gene name associated with the gene in Uniprot do not match or if there is no associated gene name in Uniprot. """

        map_db_refs = deepcopy(self.gm.get(agent_text))
        self.standardize_agent_db_refs(agent, map_db_refs, do_rename)