/*
 * Copyright 2014-2021 The OpenSSL Project Authors. All Rights Reserved.
 *
 * Licensed under the Apache License 2.0 (the "License").  You may not use
 * this file except in compliance with the License.  You can obtain a copy
 * in the file LICENSE in the source distribution or at
 * https://www.openssl.org/source/license.html
 */

#ifndef OPENSSL_NO_SRP

extern const BIGNUM ossl_bn_group_1024;

extern const BIGNUM ossl_bn_group_1536;

extern const BIGNUM ossl_bn_group_2048;

extern const BIGNUM ossl_bn_group_3072;

extern const BIGNUM ossl_bn_group_4096;

extern const BIGNUM ossl_bn_group_6144;

extern const BIGNUM ossl_bn_group_8192;

extern const BIGNUM ossl_bn_generator_19;

extern const BIGNUM ossl_bn_generator_5;

extern const BIGNUM ossl_bn_generator_2;

#endif
