code: def get_client_parameters(username: str, ip_address: str, user_agent: str) -> dict:
      
  
      filter_kwargs = dict()
  
      if settings.AXES_ONLY_USER_FAILURES:
          # 1. Only individual usernames can be tracked with parametrization
          filter_kwargs['username'] = username
      else:
          if settings.AXES_LOCK_OUT_BY_COMBINATION_USER_AND_IP:
              # 2. A combination of username and IP address can be used as well
              filter_kwargs['username'] = username
              filter_kwargs['ip_address'] = ip_address
          else:
              # 3. Default case is to track the IP address only, which is the most secure option
              filter_kwargs['ip_address'] = ip_address
  
          if settings.AXES_USE_USER_AGENT:
              # 4. The HTTP User-Agent can be used to track e.g. one browser
              filter_kwargs['user_agent'] = user_agent
  
      return filter_kwargs
docs: Get query parameters for filtering AccessAttempt queryset.
  
      This method returns a dict that guarantees iteration order for keys and values,
      and can so be used in e.g. the generation of hash keys or other deterministic functions.