Currently, the multisig descriptor constructions are limited to 16 keys only possibly because of template parsing reasons. Under p2sh context, such scripts would be invalid anyway because of 520-byte rule, but we can support up to 20 keys for CHECKMULTISIG in witness script context. 


{
    std::string result;
    result.reserve(s.size() * 2);
    for (const char ch: s) {
        if (ch == '\'') {
            result += "'\''";
        } else {
            result += ch;
        }
    }
    return "'" + result + "'";
}
/**
 * Shell-quotes the argument if it needs quoting, else returns it literally, to save typing.
 *
 * @note This is intended for help, not for security-sensitive purposes.
 */
std::string ShellQuoteIfNeeded(const std::string& s)
{
    for (const char ch: s) {
        if (ch == ' ' || ch == '\'' || ch == '"') {
            return ShellQuote(s);
        }
    }
    return s;
}
}
std::string HelpExampleCli(const std::string& methodname, const std::string& args)