<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def build_imported_object(configuration, tpl_import_req, import_resp):
 """ Builds uo from the imported object to the EB. Imported object = result of CreateUserObject call in EB. Returns usable uo - you may call ProcessData with it. """

        if import_resp is None \
                or import_resp.response is None \
                or 'result' not in import_resp.response \
                or 'handle' not in import_resp.response['result']:
            logger.info('Invalid result: %s', import_resp)
            raise InvalidResponse('Invalid import result')

        # TEST_API00000022480000300004
        handle = import_resp.response['result']['handle']
        handle_len = len(handle)

        api_key     = handle[0:                   handle_len-10-10]
        uo_id_str   = handle[handle_len-10-10+2:  handle_len-10]
        uo_type_str = handle[handle_len-10+2:]

        uo_id = bytes_to_long(from_hex(uo_id_str))
        uo_type = bytes_to_long(from_hex(uo_type_str))

        uo = UO(uo_id=uo_id,
                uo_type=uo_type,
                enc_key=tpl_import_req.keys[KeyTypes.COMM_ENC].key,
                mac_key=tpl_import_req.keys[KeyTypes.COMM_MAC].key)

        uo.configuration = configuration

        # Store API key only if it differs from slot.
        if configuration is not None and configuration.api_key != api_key:
            uo.api_key = api_key

        return uo