code: def _prepare_configs(configs, requires_filters, temporal_timeouts):
          
          if not isinstance(requires_filters, dict):
              requires_filters = {}
  
          if not isinstance(temporal_timeouts, dict):
              temporal_timeouts = {}
  
          if not requires_filters and not temporal_timeouts:
              # No explicit configuration given
              return configs
  
          # We need to change a part of the requirements
          new_configs = {}
          for field, config in configs.items():
              # Extract values from tuple
              requirement, timeout = config
              explicit_filter = requires_filters.get(field)
              explicit_timeout = temporal_timeouts.get(field)
  
              # Convert the timeout value
              try:
                  explicit_timeout = int(explicit_timeout)
                  if explicit_timeout <= 0:
                      explicit_timeout = timeout
              except (ValueError, TypeError):
                  explicit_timeout = timeout
  
              if not explicit_filter and not explicit_timeout:
                  # Nothing to do
                  new_configs[field] = config
              else:
                  try:
                      # Store an updated copy of the requirement
                      requirement_copy = requirement.copy()
                      if explicit_filter:
                          requirement_copy.set_filter(explicit_filter)
                      new_configs[field] = (requirement_copy, explicit_timeout)
                  except (TypeError, ValueError):
                      # No information for this one, or invalid filter:
                      # keep the factory requirement
                      new_configs[field] = config
  
          return new_configs
docs: Overrides the filters specified in the decorator with the given ones
  
          :param configs: Field → (Requirement, key, allow_none) dictionary
          :param requires_filters: Content of the 'requires.filter' component
                                   property (field → string)
          :param temporal_timeouts: Content of the 'temporal.timeouts' component
                                    property (field → float)
          :return: The new configuration dictionary