<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def upload_and_update(path, token, cleanup):
 """ The egg that the provided path points to will be uploaded to Databricks. All jobs which use the same major version of the library will be updated to use the new version, and all version of this library in the production folder with the same major version and a lower minor version will be deleted. Unlike `upload`, `upload_and_update` does not ask for a folder because it relies on the production folder specified in the config. This is to protect against accidentally updating jobs to versions of a library still in testing/development. All egg names already in Databricks must be properly formatted with versions of the form <name>-0.0.0. """

    config = _load_config(CFG_FILE)
    token = _resolve_input(token, 'token', 'token', config)
    folder = _resolve_input(None, 'folder', 'prod_folder', config)

    update_databricks(
        logger,
        path,
        token,
        folder,
        update_jobs=True,
        cleanup=cleanup
    )