<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def proxies(self):
 """Formats proxy configuration into required format for Python Requests module. Generates a dictionary for use with the Python Requests module format when proxy is required for remote connections. **Example Response** :: {"http": "http://user:pass@10.10.1.10:3128/"} Returns: (dictionary):
 Dictionary of proxy settings """

        proxies = {}
        if (
            self.default_args.tc_proxy_host is not None
            and self.default_args.tc_proxy_port is not None
        ):

            if (
                self.default_args.tc_proxy_username is not None
                and self.default_args.tc_proxy_password is not None
            ):
                tc_proxy_username = quote(self.default_args.tc_proxy_username, safe='~')
                tc_proxy_password = quote(self.default_args.tc_proxy_password, safe='~')

                # proxy url with auth
                proxy_url = '{}:{}@{}:{}'.format(
                    tc_proxy_username,
                    tc_proxy_password,
                    self.default_args.tc_proxy_host,
                    self.default_args.tc_proxy_port,
                )
            else:
                # proxy url without auth
                proxy_url = '{}:{}'.format(
                    self.default_args.tc_proxy_host, self.default_args.tc_proxy_port
                )
            proxies = {
                'http': 'http://{}'.format(proxy_url),
                'https': 'https://{}'.format(proxy_url),
            }
        return proxies