<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def furnish(app: web.Application):
 """ Configures Application routes, readying it for running. This function modifies routes and resources that were added by calling code, and must be called immediately prior to `run(app)`. Args: app (web.Application):
 The Aiohttp Application as created by `create_app()` """

    app_name = app['config']['name']
    prefix = '/' + app_name.lstrip('/')
    app.router.add_routes(routes)
    cors_middleware.enable_cors(app)

    # Configure CORS and prefixes on all endpoints.
    known_resources = set()
    for route in list(app.router.routes()):
        if route.resource in known_resources:
            continue
        known_resources.add(route.resource)
        route.resource.add_prefix(prefix)

    # Configure swagger settings
    # We set prefix explicitly here
    aiohttp_swagger.setup_swagger(app,
                                  swagger_url=prefix + '/api/doc',
                                  description='',
                                  title=f'Brewblox Service "{app_name}"',
                                  api_version='0.0',
                                  contact='development@brewpi.com')

    LOGGER.info('Service info: ' + getenv('SERVICE_INFO', 'UNKNOWN'))

    for route in app.router.routes():
        LOGGER.info(f'Endpoint [{route.method}] {route.resource}')

    for name, impl in app.get(features.FEATURES_KEY, {}).items():
        LOGGER.info(f'Feature [{name}] {impl}')