// /** @file
// A shell application that triggers capsule update process.
//
// This application can trigger capsule update process. It can also
// generate capsule image, or dump capsule variable information.
//
// Copyright (c) 2016, Intel Corporation. All rights reserved.<BR>
//
// SPDX-License-Identifier: BSD-2-Clause-Patent
//
// **/


#string STR_MODULE_ABSTRACT             #language en-US "A shell application that triggers capsule update process."

#string STR_MODULE_DESCRIPTION          #language en-US "This application can trigger capsule update process. It can also generate capsule image, or dump capsule variable information."

