<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def get_logout_uri(self, id_token_hint=None, post_logout_redirect_uri=None, state=None, session_state=None):
 """Function to logout the user. Parameters: * **id_token_hint (string, optional):
** oxd server will use last used ID Token, if not provided * **post_logout_redirect_uri (string, optional):
** URI to redirect, this uri would override the value given in the site-config * **state (string, optional):
** site state * **session_state (string, optional):
** session state Returns: **string:** The URI to which the user must be directed in order to perform the logout """

        params = {"oxd_id": self.oxd_id}
        if id_token_hint:
            params["id_token_hint"] = id_token_hint

        if post_logout_redirect_uri:
            params["post_logout_redirect_uri"] = post_logout_redirect_uri

        if state:
            params["state"] = state

        if session_state:
            params["session_state"] = session_state

        logger.debug("Sending command `get_logout_uri` with params %s", params)
        response = self.msgr.request("get_logout_uri", **params)
        logger.debug("Received response: %s", response)

        if response['status'] == 'error':
            raise OxdServerError(response['data'])
        return response['data']['uri']