<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def from_array(array):
 """ Deserialize a new CallbackQuery from a given dictionary. :return: new CallbackQuery instance. :rtype: CallbackQuery """

        if array is None or not array:
            return None
        # end if
        assert_type_or_raise(array, dict, parameter_name="array")

        from ..receivable.peer import User

        data = {}
        data['id'] = u(array.get('id'))
        data['from_peer'] = User.from_array(array.get('from'))
        data['chat_instance'] = u(array.get('chat_instance'))
        data['message'] = Message.from_array(array.get('message')) if array.get('message') is not None else None
        data['inline_message_id'] = u(array.get('inline_message_id')) if array.get('inline_message_id') is not None else None
        data['data'] = u(array.get('data')) if array.get('data') is not None else None
        data['game_short_name'] = u(array.get('game_short_name')) if array.get('game_short_name') is not None else None
        data['_raw'] = array
        return CallbackQuery(**data)