github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl@v0.2.0/AlgorithmSuites/AlgorithmSuites.go (about)

     1  // Package AlgorithmSuites
     2  // Dafny module AlgorithmSuites compiled into Go
     3  
     4  package AlgorithmSuites
     5  
     6  import (
     7  	os "os"
     8  
     9  	m_ComAmazonawsDynamodbTypes "github.com/aws/aws-cryptographic-material-providers-library/releases/go/dynamodb/ComAmazonawsDynamodbTypes"
    10  	m_Com_Amazonaws_Dynamodb "github.com/aws/aws-cryptographic-material-providers-library/releases/go/dynamodb/Com_Amazonaws_Dynamodb"
    11  	m_ComAmazonawsKmsTypes "github.com/aws/aws-cryptographic-material-providers-library/releases/go/kms/ComAmazonawsKmsTypes"
    12  	m_Com_Amazonaws_Kms "github.com/aws/aws-cryptographic-material-providers-library/releases/go/kms/Com_Amazonaws_Kms"
    13  	m_AwsArnParsing "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsArnParsing"
    14  	m_AwsCryptographyKeyStoreOperations "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsCryptographyKeyStoreOperations"
    15  	m_AwsCryptographyKeyStoreTypes "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsCryptographyKeyStoreTypes"
    16  	m_AwsCryptographyMaterialProvidersTypes "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsCryptographyMaterialProvidersTypes"
    17  	m_AwsKmsMrkMatchForDecrypt "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsKmsMrkMatchForDecrypt"
    18  	m_AwsKmsUtils "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsKmsUtils"
    19  	m_CreateKeyStoreTable "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/CreateKeyStoreTable"
    20  	m_CreateKeys "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/CreateKeys"
    21  	m_DDBKeystoreOperations "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/DDBKeystoreOperations"
    22  	m_GetKeys "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/GetKeys"
    23  	m_KMSKeystoreOperations "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/KMSKeystoreOperations"
    24  	m_KeyStore "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/KeyStore"
    25  	m_KeyStoreErrorMessages "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/KeyStoreErrorMessages"
    26  	m_KmsArn "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/KmsArn"
    27  	m_Structure "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/Structure"
    28  	m_AtomicPrimitives "github.com/aws/aws-cryptographic-material-providers-library/releases/go/primitives/AtomicPrimitives"
    29  	m_AwsCryptographyPrimitivesOperations "github.com/aws/aws-cryptographic-material-providers-library/releases/go/primitives/AwsCryptographyPrimitivesOperations"
    30  	m_AwsCryptographyPrimitivesTypes "github.com/aws/aws-cryptographic-material-providers-library/releases/go/primitives/AwsCryptographyPrimitivesTypes"
    31  	m_Digest "github.com/aws/aws-cryptographic-material-providers-library/releases/go/primitives/Digest"
    32  	m_HKDF "github.com/aws/aws-cryptographic-material-providers-library/releases/go/primitives/HKDF"
    33  	m_KdfCtr "github.com/aws/aws-cryptographic-material-providers-library/releases/go/primitives/KdfCtr"
    34  	m_Random "github.com/aws/aws-cryptographic-material-providers-library/releases/go/primitives/Random"
    35  	m_WrappedHKDF "github.com/aws/aws-cryptographic-material-providers-library/releases/go/primitives/WrappedHKDF"
    36  	m_WrappedHMAC "github.com/aws/aws-cryptographic-material-providers-library/releases/go/primitives/WrappedHMAC"
    37  	m_Actions "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Actions"
    38  	m_Base64 "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Base64"
    39  	m_Base64Lemmas "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Base64Lemmas"
    40  	m_BoundedInts "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/BoundedInts"
    41  	m_DivInternals "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/DivInternals"
    42  	m_DivInternalsNonlinear "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/DivInternalsNonlinear"
    43  	m_DivMod "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/DivMod"
    44  	m_FileIO "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/FileIO"
    45  	m_FloatCompare "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/FloatCompare"
    46  	m_Functions "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Functions"
    47  	m_GeneralInternals "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/GeneralInternals"
    48  	m_GetOpt "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/GetOpt"
    49  	m_HexStrings "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/HexStrings"
    50  	m_Logarithm "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Logarithm"
    51  	m__Math "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Math_"
    52  	m_ModInternals "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/ModInternals"
    53  	m_ModInternalsNonlinear "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/ModInternalsNonlinear"
    54  	m_Mul "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Mul"
    55  	m_MulInternals "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/MulInternals"
    56  	m_MulInternalsNonlinear "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/MulInternalsNonlinear"
    57  	m_Power "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Power"
    58  	m_Relations "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Relations"
    59  	m_Seq "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Seq"
    60  	m_Seq_MergeSort "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Seq_MergeSort"
    61  	m_Sorting "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Sorting"
    62  	m_StandardLibrary "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary"
    63  	m_StandardLibraryInterop "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibraryInterop"
    64  	m_StandardLibrary_Sequence "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_Sequence"
    65  	m_StandardLibrary_String "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_String"
    66  	m_StandardLibrary_UInt "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_UInt"
    67  	m_Streams "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Streams"
    68  	m_UnicodeStrings "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/UnicodeStrings"
    69  	m__Unicode "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Unicode_"
    70  	m_Utf16EncodingForm "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Utf16EncodingForm"
    71  	m_Utf8EncodingForm "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Utf8EncodingForm"
    72  	m_Wrappers "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Wrappers"
    73  	m__System "github.com/dafny-lang/DafnyRuntimeGo/v4/System_"
    74  	_dafny "github.com/dafny-lang/DafnyRuntimeGo/v4/dafny"
    75  )
    76  
    77  var _ = os.Args
    78  var _ _dafny.Dummy__
    79  var _ m__System.Dummy__
    80  var _ m_Wrappers.Dummy__
    81  var _ m_BoundedInts.Dummy__
    82  var _ m_StandardLibrary_UInt.Dummy__
    83  var _ m_StandardLibrary_Sequence.Dummy__
    84  var _ m_StandardLibrary_String.Dummy__
    85  var _ m_StandardLibrary.Dummy__
    86  var _ m_AwsCryptographyPrimitivesTypes.Dummy__
    87  var _ m_Random.Dummy__
    88  var _ m_Digest.Dummy__
    89  var _ m_WrappedHMAC.Dummy__
    90  var _ m_HKDF.Dummy__
    91  var _ m_WrappedHKDF.Dummy__
    92  var _ m_KdfCtr.Dummy__
    93  var _ m_AwsCryptographyPrimitivesOperations.Dummy__
    94  var _ m_AtomicPrimitives.Dummy__
    95  var _ m_ComAmazonawsDynamodbTypes.Dummy__
    96  var _ m_ComAmazonawsKmsTypes.Dummy__
    97  var _ m_Relations.Dummy__
    98  var _ m_Seq_MergeSort.Dummy__
    99  var _ m__Math.Dummy__
   100  var _ m_Seq.Dummy__
   101  var _ m__Unicode.Dummy__
   102  var _ m_Functions.Dummy__
   103  var _ m_Utf8EncodingForm.Dummy__
   104  var _ m_Utf16EncodingForm.Dummy__
   105  var _ m_UnicodeStrings.Dummy__
   106  var _ m_FileIO.Dummy__
   107  var _ m_GeneralInternals.Dummy__
   108  var _ m_MulInternalsNonlinear.Dummy__
   109  var _ m_MulInternals.Dummy__
   110  var _ m_Mul.Dummy__
   111  var _ m_ModInternalsNonlinear.Dummy__
   112  var _ m_DivInternalsNonlinear.Dummy__
   113  var _ m_ModInternals.Dummy__
   114  var _ m_DivInternals.Dummy__
   115  var _ m_DivMod.Dummy__
   116  var _ m_Power.Dummy__
   117  var _ m_Logarithm.Dummy__
   118  var _ m_StandardLibraryInterop.Dummy__
   119  var _ m_Streams.Dummy__
   120  var _ m_Sorting.Dummy__
   121  var _ m_HexStrings.Dummy__
   122  var _ m_GetOpt.Dummy__
   123  var _ m_FloatCompare.Dummy__
   124  var _ m_Base64.Dummy__
   125  var _ m_Base64Lemmas.Dummy__
   126  var _ m_Actions.Dummy__
   127  var _ m_AwsCryptographyKeyStoreTypes.Dummy__
   128  var _ m_AwsCryptographyMaterialProvidersTypes.Dummy__
   129  var _ m_AwsArnParsing.Dummy__
   130  var _ m_AwsKmsMrkMatchForDecrypt.Dummy__
   131  var _ m_AwsKmsUtils.Dummy__
   132  var _ m_KeyStoreErrorMessages.Dummy__
   133  var _ m_KmsArn.Dummy__
   134  var _ m_Structure.Dummy__
   135  var _ m_KMSKeystoreOperations.Dummy__
   136  var _ m_DDBKeystoreOperations.Dummy__
   137  var _ m_CreateKeys.Dummy__
   138  var _ m_CreateKeyStoreTable.Dummy__
   139  var _ m_GetKeys.Dummy__
   140  var _ m_AwsCryptographyKeyStoreOperations.Dummy__
   141  var _ m_Com_Amazonaws_Kms.Dummy__
   142  var _ m_Com_Amazonaws_Dynamodb.Dummy__
   143  var _ m_KeyStore.Dummy__
   144  
   145  type Dummy__ struct{}
   146  
   147  // Definition of class Default__
   148  type Default__ struct {
   149  	dummy byte
   150  }
   151  
   152  func New_Default___() *Default__ {
   153  	_this := Default__{}
   154  
   155  	return &_this
   156  }
   157  
   158  type CompanionStruct_Default___ struct {
   159  }
   160  
   161  var Companion_Default___ = CompanionStruct_Default___{}
   162  
   163  func (_this *Default__) Equals(other *Default__) bool {
   164  	return _this == other
   165  }
   166  
   167  func (_this *Default__) EqualsGeneric(x interface{}) bool {
   168  	other, ok := x.(*Default__)
   169  	return ok && _this.Equals(other)
   170  }
   171  
   172  func (*Default__) String() string {
   173  	return "AlgorithmSuites.Default__"
   174  }
   175  func (_this *Default__) ParentTraits_() []*_dafny.TraitID {
   176  	return [](*_dafny.TraitID){}
   177  }
   178  
   179  var _ _dafny.TraitOffspring = &Default__{}
   180  
   181  func (_static *CompanionStruct_Default___) SupportedESDKEncrypt_q(e m_AwsCryptographyMaterialProvidersTypes.Encrypt) bool {
   182  	return (((true) && ((((((e).Dtor_AES__GCM()).Dtor_keyLength()) == (int32(32))) || ((((e).Dtor_AES__GCM()).Dtor_keyLength()) == (int32(24)))) || ((((e).Dtor_AES__GCM()).Dtor_keyLength()) == (int32(16))))) && ((((e).Dtor_AES__GCM()).Dtor_tagLength()) == (int32(16)))) && ((((e).Dtor_AES__GCM()).Dtor_ivLength()) == (int32(12)))
   183  }
   184  func (_static *CompanionStruct_Default___) SupportedDBEEncrypt_q(e m_AwsCryptographyMaterialProvidersTypes.Encrypt) bool {
   185  	return (((true) && ((((e).Dtor_AES__GCM()).Dtor_keyLength()) == (int32(32)))) && ((((e).Dtor_AES__GCM()).Dtor_tagLength()) == (int32(16)))) && ((((e).Dtor_AES__GCM()).Dtor_ivLength()) == (int32(12)))
   186  }
   187  func (_static *CompanionStruct_Default___) SupportedDBEEDKWrapping_q(p m_AwsCryptographyMaterialProvidersTypes.EdkWrappingAlgorithm) bool {
   188  	return (((((((p).Is_IntermediateKeyWrapping()) && (true)) && ((((((p).Dtor_IntermediateKeyWrapping()).Dtor_pdkEncryptAlgorithm()).Dtor_AES__GCM()).Dtor_keyLength()) == (int32(32)))) && ((((((p).Dtor_IntermediateKeyWrapping()).Dtor_pdkEncryptAlgorithm()).Dtor_AES__GCM()).Dtor_tagLength()) == (int32(16)))) && ((((((p).Dtor_IntermediateKeyWrapping()).Dtor_pdkEncryptAlgorithm()).Dtor_AES__GCM()).Dtor_ivLength()) == (int32(12)))) && ((((p).Dtor_IntermediateKeyWrapping()).Dtor_macKeyKdf()).Is_HKDF())) && ((((p).Dtor_IntermediateKeyWrapping()).Dtor_keyEncryptionKeyKdf()).Is_HKDF())
   189  }
   190  func (_static *CompanionStruct_Default___) KeyDerivationAlgorithm_q(kdf m_AwsCryptographyMaterialProvidersTypes.DerivationAlgorithm) bool {
   191  	return (!((true) && ((kdf).Is_HKDF())) || (((((kdf).Dtor_HKDF()).Dtor_inputKeyLength()) == (((kdf).Dtor_HKDF()).Dtor_outputKeyLength())) && (!((((kdf).Dtor_HKDF()).Dtor_hmac()).Equals(m_AwsCryptographyPrimitivesTypes.Companion_DigestAlgorithm_.Create_SHA__512_())) || ((((kdf).Dtor_HKDF()).Dtor_inputKeyLength()) == (int32(32)))))) && (!((kdf).Is_None()))
   192  }
   193  func (_static *CompanionStruct_Default___) CommitmentDerivationAlgorithm_q(kdf m_AwsCryptographyMaterialProvidersTypes.DerivationAlgorithm) bool {
   194  	return (!((true) && ((kdf).Is_HKDF())) || (((((((kdf).Dtor_HKDF()).Dtor_hmac()).Is_SHA__512()) && ((((kdf).Dtor_HKDF()).Dtor_saltLength()) == (int32(32)))) && ((((kdf).Dtor_HKDF()).Dtor_inputKeyLength()) == (int32(32)))) && ((((kdf).Dtor_HKDF()).Dtor_outputKeyLength()) == (int32(32))))) && (!((kdf).Is_IDENTITY()))
   195  }
   196  func (_static *CompanionStruct_Default___) EdkWrappingAlgorithm_q(alg m_AwsCryptographyMaterialProvidersTypes.EdkWrappingAlgorithm) bool {
   197  	return ((((((alg).Is_IntermediateKeyWrapping()) && ((((alg).Dtor_IntermediateKeyWrapping()).Dtor_keyEncryptionKeyKdf()).Is_HKDF())) && ((((alg).Dtor_IntermediateKeyWrapping()).Dtor_macKeyKdf()).Is_HKDF())) && (true)) && ((((((alg).Dtor_IntermediateKeyWrapping()).Dtor_pdkEncryptAlgorithm()).Dtor_AES__GCM()).Dtor_keyLength()) == (int32(32)))) || ((alg).Is_DIRECT__KEY__WRAPPING())
   198  }
   199  func (_static *CompanionStruct_Default___) AlgorithmSuiteInfo_q(a m_AwsCryptographyMaterialProvidersTypes.AlgorithmSuiteInfo) bool {
   200  	return ((((((((Companion_Default___.KeyDerivationAlgorithm_q((a).Dtor_kdf())) && (Companion_Default___.CommitmentDerivationAlgorithm_q((a).Dtor_commitment()))) && (Companion_Default___.EdkWrappingAlgorithm_q((a).Dtor_edkWrapping()))) && (!(((a).Dtor_kdf()).Is_HKDF()) || ((true) && (((((a).Dtor_kdf()).Dtor_HKDF()).Dtor_outputKeyLength()) == ((((a).Dtor_encrypt()).Dtor_AES__GCM()).Dtor_keyLength()))))) && (!(((a).Dtor_signature()).Is_ECDSA()) || (((a).Dtor_kdf()).Is_HKDF()))) && (!(((a).Dtor_commitment()).Is_HKDF()) || ((((((a).Dtor_commitment()).Dtor_HKDF()).Dtor_saltLength()) == (int32(32))) && (((a).Dtor_commitment()).Equals((a).Dtor_kdf()))))) && (!(((a).Dtor_edkWrapping()).Is_IntermediateKeyWrapping()) || (((((a).Dtor_kdf()).Is_HKDF()) && (((((a).Dtor_edkWrapping()).Dtor_IntermediateKeyWrapping()).Dtor_keyEncryptionKeyKdf()).Equals((a).Dtor_kdf()))) && (((((a).Dtor_edkWrapping()).Dtor_IntermediateKeyWrapping()).Dtor_macKeyKdf()).Equals((a).Dtor_kdf()))))) && (!((((a).Dtor_kdf()).Is_HKDF()) && (((a).Dtor_commitment()).Is_None())) || (((((a).Dtor_kdf()).Dtor_HKDF()).Dtor_saltLength()) == (int32(0))))) && (!(!(((a).Dtor_symmetricSignature()).Is_None())) || ((true) && (((a).Dtor_edkWrapping()).Is_IntermediateKeyWrapping())))
   201  }
   202  func (_static *CompanionStruct_Default___) ESDKAlgorithmSuite_q(a m_AwsCryptographyMaterialProvidersTypes.AlgorithmSuiteInfo) bool {
   203  	return ((Companion_Default___.AlgorithmSuiteInfo_q(a)) && (Companion_Default___.SupportedESDKEncrypt_q((a).Dtor_encrypt()))) && (func() bool {
   204  		var _source0 m_AwsCryptographyMaterialProvidersTypes.ESDKAlgorithmSuiteId = ((a).Dtor_id()).Dtor_ESDK()
   205  		_ = _source0
   206  		{
   207  			if _source0.Is_ALG__AES__128__GCM__IV12__TAG16__NO__KDF() {
   208  				return ((((((((_dafny.Companion_Sequence_.Equal((a).Dtor_binaryId(), _dafny.SeqOf(uint8(0), uint8(20)))) && (((a).Dtor_messageVersion()) == (int32(1)))) && (true)) && (((((a).Dtor_encrypt()).Dtor_AES__GCM()).Dtor_keyLength()) == (int32(16)))) && (((a).Dtor_kdf()).Is_IDENTITY())) && (((a).Dtor_signature()).Is_None())) && (((a).Dtor_commitment()).Is_None())) && (((a).Dtor_symmetricSignature()).Is_None())) && (((a).Dtor_edkWrapping()).Is_DIRECT__KEY__WRAPPING())
   209  			}
   210  		}
   211  		{
   212  			if _source0.Is_ALG__AES__192__GCM__IV12__TAG16__NO__KDF() {
   213  				return ((((((((_dafny.Companion_Sequence_.Equal((a).Dtor_binaryId(), _dafny.SeqOf(uint8(0), uint8(70)))) && (((a).Dtor_messageVersion()) == (int32(1)))) && (true)) && (((((a).Dtor_encrypt()).Dtor_AES__GCM()).Dtor_keyLength()) == (int32(24)))) && (((a).Dtor_kdf()).Is_IDENTITY())) && (((a).Dtor_signature()).Is_None())) && (((a).Dtor_commitment()).Is_None())) && (((a).Dtor_symmetricSignature()).Is_None())) && (((a).Dtor_edkWrapping()).Is_DIRECT__KEY__WRAPPING())
   214  			}
   215  		}
   216  		{
   217  			if _source0.Is_ALG__AES__256__GCM__IV12__TAG16__NO__KDF() {
   218  				return ((((((((_dafny.Companion_Sequence_.Equal((a).Dtor_binaryId(), _dafny.SeqOf(uint8(0), uint8(120)))) && (((a).Dtor_messageVersion()) == (int32(1)))) && (true)) && (((((a).Dtor_encrypt()).Dtor_AES__GCM()).Dtor_keyLength()) == (int32(32)))) && (((a).Dtor_kdf()).Is_IDENTITY())) && (((a).Dtor_signature()).Is_None())) && (((a).Dtor_commitment()).Is_None())) && (((a).Dtor_symmetricSignature()).Is_None())) && (((a).Dtor_edkWrapping()).Is_DIRECT__KEY__WRAPPING())
   219  			}
   220  		}
   221  		{
   222  			if _source0.Is_ALG__AES__128__GCM__IV12__TAG16__HKDF__SHA256() {
   223  				return (((((((((_dafny.Companion_Sequence_.Equal((a).Dtor_binaryId(), _dafny.SeqOf(uint8(1), uint8(20)))) && (((a).Dtor_messageVersion()) == (int32(1)))) && (true)) && (((((a).Dtor_encrypt()).Dtor_AES__GCM()).Dtor_keyLength()) == (int32(16)))) && (((a).Dtor_kdf()).Is_HKDF())) && (((((a).Dtor_kdf()).Dtor_HKDF()).Dtor_hmac()).Equals(m_AwsCryptographyPrimitivesTypes.Companion_DigestAlgorithm_.Create_SHA__256_()))) && (((a).Dtor_signature()).Is_None())) && (((a).Dtor_commitment()).Is_None())) && (((a).Dtor_symmetricSignature()).Is_None())) && (((a).Dtor_edkWrapping()).Is_DIRECT__KEY__WRAPPING())
   224  			}
   225  		}
   226  		{
   227  			if _source0.Is_ALG__AES__192__GCM__IV12__TAG16__HKDF__SHA256() {
   228  				return (((((((((_dafny.Companion_Sequence_.Equal((a).Dtor_binaryId(), _dafny.SeqOf(uint8(1), uint8(70)))) && (((a).Dtor_messageVersion()) == (int32(1)))) && (true)) && (((((a).Dtor_encrypt()).Dtor_AES__GCM()).Dtor_keyLength()) == (int32(24)))) && (((a).Dtor_kdf()).Is_HKDF())) && (((((a).Dtor_kdf()).Dtor_HKDF()).Dtor_hmac()).Equals(m_AwsCryptographyPrimitivesTypes.Companion_DigestAlgorithm_.Create_SHA__256_()))) && (((a).Dtor_signature()).Is_None())) && (((a).Dtor_commitment()).Is_None())) && (((a).Dtor_symmetricSignature()).Is_None())) && (((a).Dtor_edkWrapping()).Is_DIRECT__KEY__WRAPPING())
   229  			}
   230  		}
   231  		{
   232  			if _source0.Is_ALG__AES__256__GCM__IV12__TAG16__HKDF__SHA256() {
   233  				return (((((((((_dafny.Companion_Sequence_.Equal((a).Dtor_binaryId(), _dafny.SeqOf(uint8(1), uint8(120)))) && (((a).Dtor_messageVersion()) == (int32(1)))) && (true)) && (((((a).Dtor_encrypt()).Dtor_AES__GCM()).Dtor_keyLength()) == (int32(32)))) && (((a).Dtor_kdf()).Is_HKDF())) && (((((a).Dtor_kdf()).Dtor_HKDF()).Dtor_hmac()).Equals(m_AwsCryptographyPrimitivesTypes.Companion_DigestAlgorithm_.Create_SHA__256_()))) && (((a).Dtor_signature()).Is_None())) && (((a).Dtor_commitment()).Is_None())) && (((a).Dtor_symmetricSignature()).Is_None())) && (((a).Dtor_edkWrapping()).Is_DIRECT__KEY__WRAPPING())
   234  			}
   235  		}
   236  		{
   237  			if _source0.Is_ALG__AES__128__GCM__IV12__TAG16__HKDF__SHA256__ECDSA__P256() {
   238  				return ((((((((((_dafny.Companion_Sequence_.Equal((a).Dtor_binaryId(), _dafny.SeqOf(uint8(2), uint8(20)))) && (((a).Dtor_messageVersion()) == (int32(1)))) && (true)) && (((((a).Dtor_encrypt()).Dtor_AES__GCM()).Dtor_keyLength()) == (int32(16)))) && (((a).Dtor_kdf()).Is_HKDF())) && (((((a).Dtor_kdf()).Dtor_HKDF()).Dtor_hmac()).Equals(m_AwsCryptographyPrimitivesTypes.Companion_DigestAlgorithm_.Create_SHA__256_()))) && (((a).Dtor_signature()).Is_ECDSA())) && (((((a).Dtor_signature()).Dtor_ECDSA()).Dtor_curve()).Equals(m_AwsCryptographyPrimitivesTypes.Companion_ECDSASignatureAlgorithm_.Create_ECDSA__P256_()))) && (((a).Dtor_commitment()).Is_None())) && (((a).Dtor_symmetricSignature()).Is_None())) && (((a).Dtor_edkWrapping()).Is_DIRECT__KEY__WRAPPING())
   239  			}
   240  		}
   241  		{
   242  			if _source0.Is_ALG__AES__192__GCM__IV12__TAG16__HKDF__SHA384__ECDSA__P384() {
   243  				return ((((((((((_dafny.Companion_Sequence_.Equal((a).Dtor_binaryId(), _dafny.SeqOf(uint8(3), uint8(70)))) && (((a).Dtor_messageVersion()) == (int32(1)))) && (true)) && (((((a).Dtor_encrypt()).Dtor_AES__GCM()).Dtor_keyLength()) == (int32(24)))) && (((a).Dtor_kdf()).Is_HKDF())) && (((((a).Dtor_kdf()).Dtor_HKDF()).Dtor_hmac()).Equals(m_AwsCryptographyPrimitivesTypes.Companion_DigestAlgorithm_.Create_SHA__384_()))) && (((a).Dtor_signature()).Is_ECDSA())) && (((((a).Dtor_signature()).Dtor_ECDSA()).Dtor_curve()).Equals(m_AwsCryptographyPrimitivesTypes.Companion_ECDSASignatureAlgorithm_.Create_ECDSA__P384_()))) && (((a).Dtor_commitment()).Is_None())) && (((a).Dtor_symmetricSignature()).Is_None())) && (((a).Dtor_edkWrapping()).Is_DIRECT__KEY__WRAPPING())
   244  			}
   245  		}
   246  		{
   247  			if _source0.Is_ALG__AES__256__GCM__IV12__TAG16__HKDF__SHA384__ECDSA__P384() {
   248  				return ((((((((((_dafny.Companion_Sequence_.Equal((a).Dtor_binaryId(), _dafny.SeqOf(uint8(3), uint8(120)))) && (((a).Dtor_messageVersion()) == (int32(1)))) && (true)) && (((((a).Dtor_encrypt()).Dtor_AES__GCM()).Dtor_keyLength()) == (int32(32)))) && (((a).Dtor_kdf()).Is_HKDF())) && (((((a).Dtor_kdf()).Dtor_HKDF()).Dtor_hmac()).Equals(m_AwsCryptographyPrimitivesTypes.Companion_DigestAlgorithm_.Create_SHA__384_()))) && (((a).Dtor_signature()).Is_ECDSA())) && (((((a).Dtor_signature()).Dtor_ECDSA()).Dtor_curve()).Equals(m_AwsCryptographyPrimitivesTypes.Companion_ECDSASignatureAlgorithm_.Create_ECDSA__P384_()))) && (((a).Dtor_commitment()).Is_None())) && (((a).Dtor_symmetricSignature()).Is_None())) && (((a).Dtor_edkWrapping()).Is_DIRECT__KEY__WRAPPING())
   249  			}
   250  		}
   251  		{
   252  			if _source0.Is_ALG__AES__256__GCM__HKDF__SHA512__COMMIT__KEY() {
   253  				return (((((((((_dafny.Companion_Sequence_.Equal((a).Dtor_binaryId(), _dafny.SeqOf(uint8(4), uint8(120)))) && (((a).Dtor_messageVersion()) == (int32(2)))) && (true)) && (((((a).Dtor_encrypt()).Dtor_AES__GCM()).Dtor_keyLength()) == (int32(32)))) && (((a).Dtor_kdf()).Is_HKDF())) && (((((a).Dtor_kdf()).Dtor_HKDF()).Dtor_hmac()).Equals(m_AwsCryptographyPrimitivesTypes.Companion_DigestAlgorithm_.Create_SHA__512_()))) && (((a).Dtor_signature()).Is_None())) && (((a).Dtor_commitment()).Is_HKDF())) && (((a).Dtor_symmetricSignature()).Is_None())) && (((a).Dtor_edkWrapping()).Is_DIRECT__KEY__WRAPPING())
   254  			}
   255  		}
   256  		{
   257  			return ((((((((((_dafny.Companion_Sequence_.Equal((a).Dtor_binaryId(), _dafny.SeqOf(uint8(5), uint8(120)))) && (((a).Dtor_messageVersion()) == (int32(2)))) && (true)) && (((((a).Dtor_encrypt()).Dtor_AES__GCM()).Dtor_keyLength()) == (int32(32)))) && (((a).Dtor_kdf()).Is_HKDF())) && (((((a).Dtor_kdf()).Dtor_HKDF()).Dtor_hmac()).Equals(m_AwsCryptographyPrimitivesTypes.Companion_DigestAlgorithm_.Create_SHA__512_()))) && (((a).Dtor_signature()).Is_ECDSA())) && (((((a).Dtor_signature()).Dtor_ECDSA()).Dtor_curve()).Equals(m_AwsCryptographyPrimitivesTypes.Companion_ECDSASignatureAlgorithm_.Create_ECDSA__P384_()))) && (((a).Dtor_commitment()).Is_HKDF())) && (((a).Dtor_symmetricSignature()).Is_None())) && (((a).Dtor_edkWrapping()).Is_DIRECT__KEY__WRAPPING())
   258  		}
   259  	}())
   260  }
   261  func (_static *CompanionStruct_Default___) DBEAlgorithmSuite_q(a m_AwsCryptographyMaterialProvidersTypes.AlgorithmSuiteInfo) bool {
   262  	return (((Companion_Default___.AlgorithmSuiteInfo_q(a)) && (Companion_Default___.SupportedDBEEncrypt_q((a).Dtor_encrypt()))) && (Companion_Default___.SupportedDBEEDKWrapping_q((a).Dtor_edkWrapping()))) && (func() bool {
   263  		var _source0 m_AwsCryptographyMaterialProvidersTypes.DBEAlgorithmSuiteId = ((a).Dtor_id()).Dtor_DBE()
   264  		_ = _source0
   265  		{
   266  			if _source0.Is_ALG__AES__256__GCM__HKDF__SHA512__COMMIT__KEY__SYMSIG__HMAC__SHA384() {
   267  				return ((((((((((((_dafny.Companion_Sequence_.Equal((a).Dtor_binaryId(), _dafny.SeqOf(uint8(103), uint8(0)))) && (((a).Dtor_messageVersion()) == (int32(1)))) && (true)) && (((((a).Dtor_encrypt()).Dtor_AES__GCM()).Dtor_keyLength()) == (int32(32)))) && (((a).Dtor_kdf()).Is_HKDF())) && (((((a).Dtor_kdf()).Dtor_HKDF()).Dtor_hmac()).Equals(m_AwsCryptographyPrimitivesTypes.Companion_DigestAlgorithm_.Create_SHA__512_()))) && (((a).Dtor_signature()).Is_None())) && (((a).Dtor_commitment()).Is_HKDF())) && (((a).Dtor_symmetricSignature()).Is_HMAC())) && ((((a).Dtor_symmetricSignature()).Dtor_HMAC()).Equals(m_AwsCryptographyPrimitivesTypes.Companion_DigestAlgorithm_.Create_SHA__384_()))) && (((a).Dtor_edkWrapping()).Is_IntermediateKeyWrapping())) && (true)) && (((((((a).Dtor_edkWrapping()).Dtor_IntermediateKeyWrapping()).Dtor_pdkEncryptAlgorithm()).Dtor_AES__GCM()).Dtor_keyLength()) == (int32(32)))
   268  			}
   269  		}
   270  		{
   271  			return (((((((((((((_dafny.Companion_Sequence_.Equal((a).Dtor_binaryId(), _dafny.SeqOf(uint8(103), uint8(1)))) && (((a).Dtor_messageVersion()) == (int32(1)))) && (true)) && (((((a).Dtor_encrypt()).Dtor_AES__GCM()).Dtor_keyLength()) == (int32(32)))) && (((a).Dtor_kdf()).Is_HKDF())) && (((((a).Dtor_kdf()).Dtor_HKDF()).Dtor_hmac()).Equals(m_AwsCryptographyPrimitivesTypes.Companion_DigestAlgorithm_.Create_SHA__512_()))) && (((a).Dtor_signature()).Is_ECDSA())) && (((((a).Dtor_signature()).Dtor_ECDSA()).Dtor_curve()).Equals(m_AwsCryptographyPrimitivesTypes.Companion_ECDSASignatureAlgorithm_.Create_ECDSA__P384_()))) && (((a).Dtor_commitment()).Is_HKDF())) && (((a).Dtor_symmetricSignature()).Is_HMAC())) && ((((a).Dtor_symmetricSignature()).Dtor_HMAC()).Equals(m_AwsCryptographyPrimitivesTypes.Companion_DigestAlgorithm_.Create_SHA__384_()))) && (((a).Dtor_edkWrapping()).Is_IntermediateKeyWrapping())) && (true)) && (((((((a).Dtor_edkWrapping()).Dtor_IntermediateKeyWrapping()).Dtor_pdkEncryptAlgorithm()).Dtor_AES__GCM()).Dtor_keyLength()) == (int32(32)))
   272  		}
   273  	}())
   274  }
   275  func (_static *CompanionStruct_Default___) AlgorithmSuite_q(a m_AwsCryptographyMaterialProvidersTypes.AlgorithmSuiteInfo) bool {
   276  	var _source0 m_AwsCryptographyMaterialProvidersTypes.AlgorithmSuiteId = (a).Dtor_id()
   277  	_ = _source0
   278  	{
   279  		if _source0.Is_ESDK() {
   280  			return Companion_Default___.ESDKAlgorithmSuite_q(a)
   281  		}
   282  	}
   283  	{
   284  		return Companion_Default___.DBEAlgorithmSuite_q(a)
   285  	}
   286  }
   287  func (_static *CompanionStruct_Default___) HKDF__SHA__256(keyLength int32) m_AwsCryptographyMaterialProvidersTypes.DerivationAlgorithm {
   288  	return m_AwsCryptographyMaterialProvidersTypes.Companion_DerivationAlgorithm_.Create_HKDF_(m_AwsCryptographyMaterialProvidersTypes.Companion_HKDF_.Create_HKDF_(m_AwsCryptographyPrimitivesTypes.Companion_DigestAlgorithm_.Create_SHA__256_(), int32(0), keyLength, keyLength))
   289  }
   290  func (_static *CompanionStruct_Default___) HKDF__SHA__384(keyLength int32) m_AwsCryptographyMaterialProvidersTypes.DerivationAlgorithm {
   291  	return m_AwsCryptographyMaterialProvidersTypes.Companion_DerivationAlgorithm_.Create_HKDF_(m_AwsCryptographyMaterialProvidersTypes.Companion_HKDF_.Create_HKDF_(m_AwsCryptographyPrimitivesTypes.Companion_DigestAlgorithm_.Create_SHA__384_(), int32(0), keyLength, keyLength))
   292  }
   293  func (_static *CompanionStruct_Default___) HKDF__SHA__512(keyLength int32) m_AwsCryptographyMaterialProvidersTypes.DerivationAlgorithm {
   294  	return m_AwsCryptographyMaterialProvidersTypes.Companion_DerivationAlgorithm_.Create_HKDF_(m_AwsCryptographyMaterialProvidersTypes.Companion_HKDF_.Create_HKDF_(m_AwsCryptographyPrimitivesTypes.Companion_DigestAlgorithm_.Create_SHA__512_(), int32(32), keyLength, keyLength))
   295  }
   296  func (_static *CompanionStruct_Default___) GetSuite(id m_AwsCryptographyMaterialProvidersTypes.AlgorithmSuiteId) m_AwsCryptographyMaterialProvidersTypes.AlgorithmSuiteInfo {
   297  	var _source0 m_AwsCryptographyMaterialProvidersTypes.AlgorithmSuiteId = id
   298  	_ = _source0
   299  	{
   300  		if _source0.Is_ESDK() {
   301  			var _0_e m_AwsCryptographyMaterialProvidersTypes.ESDKAlgorithmSuiteId = _source0.Get_().(m_AwsCryptographyMaterialProvidersTypes.AlgorithmSuiteId_ESDK).ESDK
   302  			_ = _0_e
   303  			return Companion_Default___.GetESDKSuite(_0_e)
   304  		}
   305  	}
   306  	{
   307  		var _1_e m_AwsCryptographyMaterialProvidersTypes.DBEAlgorithmSuiteId = _source0.Get_().(m_AwsCryptographyMaterialProvidersTypes.AlgorithmSuiteId_DBE).DBE
   308  		_ = _1_e
   309  		return Companion_Default___.GetDBESuite(_1_e)
   310  	}
   311  }
   312  func (_static *CompanionStruct_Default___) GetDBESuite(id m_AwsCryptographyMaterialProvidersTypes.DBEAlgorithmSuiteId) m_AwsCryptographyMaterialProvidersTypes.AlgorithmSuiteInfo {
   313  	return (Companion_Default___.SupportedDBEAlgorithmSuites()).Get(id).(m_AwsCryptographyMaterialProvidersTypes.AlgorithmSuiteInfo)
   314  }
   315  func (_static *CompanionStruct_Default___) GetESDKSuite(id m_AwsCryptographyMaterialProvidersTypes.ESDKAlgorithmSuiteId) m_AwsCryptographyMaterialProvidersTypes.AlgorithmSuiteInfo {
   316  	return (Companion_Default___.SupportedESDKAlgorithmSuites()).Get(id).(m_AwsCryptographyMaterialProvidersTypes.AlgorithmSuiteInfo)
   317  }
   318  func (_static *CompanionStruct_Default___) GetEncryptKeyLength(a m_AwsCryptographyMaterialProvidersTypes.AlgorithmSuiteInfo) int32 {
   319  	var _source0 m_AwsCryptographyMaterialProvidersTypes.Encrypt = (a).Dtor_encrypt()
   320  	_ = _source0
   321  	{
   322  		var _0_e m_AwsCryptographyPrimitivesTypes.AES__GCM = _source0.Get_().(m_AwsCryptographyMaterialProvidersTypes.Encrypt_AES__GCM).AES__GCM
   323  		_ = _0_e
   324  		return (_0_e).Dtor_keyLength()
   325  	}
   326  }
   327  func (_static *CompanionStruct_Default___) GetEncryptTagLength(a m_AwsCryptographyMaterialProvidersTypes.AlgorithmSuiteInfo) int32 {
   328  	var _source0 m_AwsCryptographyMaterialProvidersTypes.Encrypt = (a).Dtor_encrypt()
   329  	_ = _source0
   330  	{
   331  		var _0_e m_AwsCryptographyPrimitivesTypes.AES__GCM = _source0.Get_().(m_AwsCryptographyMaterialProvidersTypes.Encrypt_AES__GCM).AES__GCM
   332  		_ = _0_e
   333  		return (_0_e).Dtor_tagLength()
   334  	}
   335  }
   336  func (_static *CompanionStruct_Default___) GetEncryptIvLength(a m_AwsCryptographyMaterialProvidersTypes.AlgorithmSuiteInfo) int32 {
   337  	var _source0 m_AwsCryptographyMaterialProvidersTypes.Encrypt = (a).Dtor_encrypt()
   338  	_ = _source0
   339  	{
   340  		var _0_e m_AwsCryptographyPrimitivesTypes.AES__GCM = _source0.Get_().(m_AwsCryptographyMaterialProvidersTypes.Encrypt_AES__GCM).AES__GCM
   341  		_ = _0_e
   342  		return (_0_e).Dtor_ivLength()
   343  	}
   344  }
   345  func (_static *CompanionStruct_Default___) GetAlgorithmSuiteInfo(binaryId_q _dafny.Sequence) m_Wrappers.Result {
   346  	var _0_valueOrError0 m_Wrappers.Outcome = m_Wrappers.Companion_Default___.Need((Companion_Default___.AlgorithmSuiteInfoByBinaryId()).Contains(binaryId_q), m_AwsCryptographyMaterialProvidersTypes.Companion_Error_.Create_AwsCryptographicMaterialProvidersException_(_dafny.SeqOfString("Invalid BinaryId")))
   347  	_ = _0_valueOrError0
   348  	if (_0_valueOrError0).IsFailure() {
   349  		return (_0_valueOrError0).PropagateFailure()
   350  	} else {
   351  		return m_Wrappers.Companion_Result_.Create_Success_((Companion_Default___.AlgorithmSuiteInfoByBinaryId()).Get(binaryId_q).(m_AwsCryptographyMaterialProvidersTypes.AlgorithmSuiteInfo))
   352  	}
   353  }
   354  func (_static *CompanionStruct_Default___) Bits128() int32 {
   355  	return int32(16)
   356  }
   357  func (_static *CompanionStruct_Default___) TagLen() int32 {
   358  	return int32(16)
   359  }
   360  func (_static *CompanionStruct_Default___) IvLen() int32 {
   361  	return int32(12)
   362  }
   363  func (_static *CompanionStruct_Default___) AES__128__GCM__IV12__TAG16() m_AwsCryptographyMaterialProvidersTypes.Encrypt {
   364  	return m_AwsCryptographyMaterialProvidersTypes.Companion_Encrypt_.Create_AES__GCM_(m_AwsCryptographyPrimitivesTypes.Companion_AES__GCM_.Create_AES__GCM_(Companion_Default___.Bits128(), Companion_Default___.TagLen(), Companion_Default___.IvLen()))
   365  }
   366  func (_static *CompanionStruct_Default___) Bits192() int32 {
   367  	return int32(24)
   368  }
   369  func (_static *CompanionStruct_Default___) AES__192__GCM__IV12__TAG16() m_AwsCryptographyMaterialProvidersTypes.Encrypt {
   370  	return m_AwsCryptographyMaterialProvidersTypes.Companion_Encrypt_.Create_AES__GCM_(m_AwsCryptographyPrimitivesTypes.Companion_AES__GCM_.Create_AES__GCM_(Companion_Default___.Bits192(), Companion_Default___.TagLen(), Companion_Default___.IvLen()))
   371  }
   372  func (_static *CompanionStruct_Default___) Bits256() int32 {
   373  	return int32(32)
   374  }
   375  func (_static *CompanionStruct_Default___) AES__256__GCM__IV12__TAG16() m_AwsCryptographyMaterialProvidersTypes.Encrypt {
   376  	return m_AwsCryptographyMaterialProvidersTypes.Companion_Encrypt_.Create_AES__GCM_(m_AwsCryptographyPrimitivesTypes.Companion_AES__GCM_.Create_AES__GCM_(Companion_Default___.Bits256(), Companion_Default___.TagLen(), Companion_Default___.IvLen()))
   377  }
   378  func (_static *CompanionStruct_Default___) EDK__INTERMEDIATE__WRAPPING__AES__GCM__256__HKDF__SHA__512() m_AwsCryptographyMaterialProvidersTypes.EdkWrappingAlgorithm {
   379  	return m_AwsCryptographyMaterialProvidersTypes.Companion_EdkWrappingAlgorithm_.Create_IntermediateKeyWrapping_(m_AwsCryptographyMaterialProvidersTypes.Companion_IntermediateKeyWrapping_.Create_IntermediateKeyWrapping_(Companion_Default___.HKDF__SHA__512(Companion_Default___.Bits256()), Companion_Default___.HKDF__SHA__512(Companion_Default___.Bits256()), Companion_Default___.AES__256__GCM__IV12__TAG16()))
   380  }
   381  func (_static *CompanionStruct_Default___) DBE__ALG__AES__256__GCM__HKDF__SHA512__COMMIT__KEY__SYMSIG__HMAC__SHA384() m_AwsCryptographyMaterialProvidersTypes.AlgorithmSuiteInfo {
   382  	return m_AwsCryptographyMaterialProvidersTypes.Companion_AlgorithmSuiteInfo_.Create_AlgorithmSuiteInfo_(m_AwsCryptographyMaterialProvidersTypes.Companion_AlgorithmSuiteId_.Create_DBE_(m_AwsCryptographyMaterialProvidersTypes.Companion_DBEAlgorithmSuiteId_.Create_ALG__AES__256__GCM__HKDF__SHA512__COMMIT__KEY__SYMSIG__HMAC__SHA384_()), _dafny.SeqOf(uint8(103), uint8(0)), int32(1), Companion_Default___.AES__256__GCM__IV12__TAG16(), Companion_Default___.HKDF__SHA__512(Companion_Default___.Bits256()), Companion_Default___.HKDF__SHA__512(Companion_Default___.Bits256()), m_AwsCryptographyMaterialProvidersTypes.Companion_SignatureAlgorithm_.Create_None_(m_AwsCryptographyMaterialProvidersTypes.Companion_None_.Create_None_()), m_AwsCryptographyMaterialProvidersTypes.Companion_SymmetricSignatureAlgorithm_.Create_HMAC_(m_AwsCryptographyPrimitivesTypes.Companion_DigestAlgorithm_.Create_SHA__384_()), Companion_Default___.EDK__INTERMEDIATE__WRAPPING__AES__GCM__256__HKDF__SHA__512())
   383  }
   384  func (_static *CompanionStruct_Default___) DBE__ALG__AES__256__GCM__HKDF__SHA512__COMMIT__KEY__ECDSA__P384__SYMSIG__HMAC__SHA384() m_AwsCryptographyMaterialProvidersTypes.AlgorithmSuiteInfo {
   385  	return m_AwsCryptographyMaterialProvidersTypes.Companion_AlgorithmSuiteInfo_.Create_AlgorithmSuiteInfo_(m_AwsCryptographyMaterialProvidersTypes.Companion_AlgorithmSuiteId_.Create_DBE_(m_AwsCryptographyMaterialProvidersTypes.Companion_DBEAlgorithmSuiteId_.Create_ALG__AES__256__GCM__HKDF__SHA512__COMMIT__KEY__ECDSA__P384__SYMSIG__HMAC__SHA384_()), _dafny.SeqOf(uint8(103), uint8(1)), int32(1), Companion_Default___.AES__256__GCM__IV12__TAG16(), Companion_Default___.HKDF__SHA__512(Companion_Default___.Bits256()), Companion_Default___.HKDF__SHA__512(Companion_Default___.Bits256()), m_AwsCryptographyMaterialProvidersTypes.Companion_SignatureAlgorithm_.Create_ECDSA_(m_AwsCryptographyMaterialProvidersTypes.Companion_ECDSA_.Create_ECDSA_(m_AwsCryptographyPrimitivesTypes.Companion_ECDSASignatureAlgorithm_.Create_ECDSA__P384_())), m_AwsCryptographyMaterialProvidersTypes.Companion_SymmetricSignatureAlgorithm_.Create_HMAC_(m_AwsCryptographyPrimitivesTypes.Companion_DigestAlgorithm_.Create_SHA__384_()), Companion_Default___.EDK__INTERMEDIATE__WRAPPING__AES__GCM__256__HKDF__SHA__512())
   386  }
   387  func (_static *CompanionStruct_Default___) ESDK__ALG__AES__128__GCM__IV12__TAG16__NO__KDF() m_AwsCryptographyMaterialProvidersTypes.AlgorithmSuiteInfo {
   388  	return m_AwsCryptographyMaterialProvidersTypes.Companion_AlgorithmSuiteInfo_.Create_AlgorithmSuiteInfo_(m_AwsCryptographyMaterialProvidersTypes.Companion_AlgorithmSuiteId_.Create_ESDK_(m_AwsCryptographyMaterialProvidersTypes.Companion_ESDKAlgorithmSuiteId_.Create_ALG__AES__128__GCM__IV12__TAG16__NO__KDF_()), _dafny.SeqOf(uint8(0), uint8(20)), int32(1), Companion_Default___.AES__128__GCM__IV12__TAG16(), m_AwsCryptographyMaterialProvidersTypes.Companion_DerivationAlgorithm_.Create_IDENTITY_(m_AwsCryptographyMaterialProvidersTypes.Companion_IDENTITY_.Create_IDENTITY_()), m_AwsCryptographyMaterialProvidersTypes.Companion_DerivationAlgorithm_.Create_None_(m_AwsCryptographyMaterialProvidersTypes.Companion_None_.Create_None_()), m_AwsCryptographyMaterialProvidersTypes.Companion_SignatureAlgorithm_.Create_None_(m_AwsCryptographyMaterialProvidersTypes.Companion_None_.Create_None_()), m_AwsCryptographyMaterialProvidersTypes.Companion_SymmetricSignatureAlgorithm_.Create_None_(m_AwsCryptographyMaterialProvidersTypes.Companion_None_.Create_None_()), m_AwsCryptographyMaterialProvidersTypes.Companion_EdkWrappingAlgorithm_.Create_DIRECT__KEY__WRAPPING_(m_AwsCryptographyMaterialProvidersTypes.Companion_DIRECT__KEY__WRAPPING_.Create_DIRECT__KEY__WRAPPING_()))
   389  }
   390  func (_static *CompanionStruct_Default___) ESDK__ALG__AES__192__GCM__IV12__TAG16__NO__KDF() m_AwsCryptographyMaterialProvidersTypes.AlgorithmSuiteInfo {
   391  	return m_AwsCryptographyMaterialProvidersTypes.Companion_AlgorithmSuiteInfo_.Create_AlgorithmSuiteInfo_(m_AwsCryptographyMaterialProvidersTypes.Companion_AlgorithmSuiteId_.Create_ESDK_(m_AwsCryptographyMaterialProvidersTypes.Companion_ESDKAlgorithmSuiteId_.Create_ALG__AES__192__GCM__IV12__TAG16__NO__KDF_()), _dafny.SeqOf(uint8(0), uint8(70)), int32(1), Companion_Default___.AES__192__GCM__IV12__TAG16(), m_AwsCryptographyMaterialProvidersTypes.Companion_DerivationAlgorithm_.Create_IDENTITY_(m_AwsCryptographyMaterialProvidersTypes.Companion_IDENTITY_.Create_IDENTITY_()), m_AwsCryptographyMaterialProvidersTypes.Companion_DerivationAlgorithm_.Create_None_(m_AwsCryptographyMaterialProvidersTypes.Companion_None_.Create_None_()), m_AwsCryptographyMaterialProvidersTypes.Companion_SignatureAlgorithm_.Create_None_(m_AwsCryptographyMaterialProvidersTypes.Companion_None_.Create_None_()), m_AwsCryptographyMaterialProvidersTypes.Companion_SymmetricSignatureAlgorithm_.Create_None_(m_AwsCryptographyMaterialProvidersTypes.Companion_None_.Create_None_()), m_AwsCryptographyMaterialProvidersTypes.Companion_EdkWrappingAlgorithm_.Create_DIRECT__KEY__WRAPPING_(m_AwsCryptographyMaterialProvidersTypes.Companion_DIRECT__KEY__WRAPPING_.Create_DIRECT__KEY__WRAPPING_()))
   392  }
   393  func (_static *CompanionStruct_Default___) ESDK__ALG__AES__256__GCM__IV12__TAG16__NO__KDF() m_AwsCryptographyMaterialProvidersTypes.AlgorithmSuiteInfo {
   394  	return m_AwsCryptographyMaterialProvidersTypes.Companion_AlgorithmSuiteInfo_.Create_AlgorithmSuiteInfo_(m_AwsCryptographyMaterialProvidersTypes.Companion_AlgorithmSuiteId_.Create_ESDK_(m_AwsCryptographyMaterialProvidersTypes.Companion_ESDKAlgorithmSuiteId_.Create_ALG__AES__256__GCM__IV12__TAG16__NO__KDF_()), _dafny.SeqOf(uint8(0), uint8(120)), int32(1), Companion_Default___.AES__256__GCM__IV12__TAG16(), m_AwsCryptographyMaterialProvidersTypes.Companion_DerivationAlgorithm_.Create_IDENTITY_(m_AwsCryptographyMaterialProvidersTypes.Companion_IDENTITY_.Create_IDENTITY_()), m_AwsCryptographyMaterialProvidersTypes.Companion_DerivationAlgorithm_.Create_None_(m_AwsCryptographyMaterialProvidersTypes.Companion_None_.Create_None_()), m_AwsCryptographyMaterialProvidersTypes.Companion_SignatureAlgorithm_.Create_None_(m_AwsCryptographyMaterialProvidersTypes.Companion_None_.Create_None_()), m_AwsCryptographyMaterialProvidersTypes.Companion_SymmetricSignatureAlgorithm_.Create_None_(m_AwsCryptographyMaterialProvidersTypes.Companion_None_.Create_None_()), m_AwsCryptographyMaterialProvidersTypes.Companion_EdkWrappingAlgorithm_.Create_DIRECT__KEY__WRAPPING_(m_AwsCryptographyMaterialProvidersTypes.Companion_DIRECT__KEY__WRAPPING_.Create_DIRECT__KEY__WRAPPING_()))
   395  }
   396  func (_static *CompanionStruct_Default___) ESDK__ALG__AES__128__GCM__IV12__TAG16__HKDF__SHA256() m_AwsCryptographyMaterialProvidersTypes.AlgorithmSuiteInfo {
   397  	return m_AwsCryptographyMaterialProvidersTypes.Companion_AlgorithmSuiteInfo_.Create_AlgorithmSuiteInfo_(m_AwsCryptographyMaterialProvidersTypes.Companion_AlgorithmSuiteId_.Create_ESDK_(m_AwsCryptographyMaterialProvidersTypes.Companion_ESDKAlgorithmSuiteId_.Create_ALG__AES__128__GCM__IV12__TAG16__HKDF__SHA256_()), _dafny.SeqOf(uint8(1), uint8(20)), int32(1), Companion_Default___.AES__128__GCM__IV12__TAG16(), Companion_Default___.HKDF__SHA__256(Companion_Default___.Bits128()), m_AwsCryptographyMaterialProvidersTypes.Companion_DerivationAlgorithm_.Create_None_(m_AwsCryptographyMaterialProvidersTypes.Companion_None_.Create_None_()), m_AwsCryptographyMaterialProvidersTypes.Companion_SignatureAlgorithm_.Create_None_(m_AwsCryptographyMaterialProvidersTypes.Companion_None_.Create_None_()), m_AwsCryptographyMaterialProvidersTypes.Companion_SymmetricSignatureAlgorithm_.Create_None_(m_AwsCryptographyMaterialProvidersTypes.Companion_None_.Create_None_()), m_AwsCryptographyMaterialProvidersTypes.Companion_EdkWrappingAlgorithm_.Create_DIRECT__KEY__WRAPPING_(m_AwsCryptographyMaterialProvidersTypes.Companion_DIRECT__KEY__WRAPPING_.Create_DIRECT__KEY__WRAPPING_()))
   398  }
   399  func (_static *CompanionStruct_Default___) ESDK__ALG__AES__192__GCM__IV12__TAG16__HKDF__SHA256() m_AwsCryptographyMaterialProvidersTypes.AlgorithmSuiteInfo {
   400  	return m_AwsCryptographyMaterialProvidersTypes.Companion_AlgorithmSuiteInfo_.Create_AlgorithmSuiteInfo_(m_AwsCryptographyMaterialProvidersTypes.Companion_AlgorithmSuiteId_.Create_ESDK_(m_AwsCryptographyMaterialProvidersTypes.Companion_ESDKAlgorithmSuiteId_.Create_ALG__AES__192__GCM__IV12__TAG16__HKDF__SHA256_()), _dafny.SeqOf(uint8(1), uint8(70)), int32(1), Companion_Default___.AES__192__GCM__IV12__TAG16(), Companion_Default___.HKDF__SHA__256(Companion_Default___.Bits192()), m_AwsCryptographyMaterialProvidersTypes.Companion_DerivationAlgorithm_.Create_None_(m_AwsCryptographyMaterialProvidersTypes.Companion_None_.Create_None_()), m_AwsCryptographyMaterialProvidersTypes.Companion_SignatureAlgorithm_.Create_None_(m_AwsCryptographyMaterialProvidersTypes.Companion_None_.Create_None_()), m_AwsCryptographyMaterialProvidersTypes.Companion_SymmetricSignatureAlgorithm_.Create_None_(m_AwsCryptographyMaterialProvidersTypes.Companion_None_.Create_None_()), m_AwsCryptographyMaterialProvidersTypes.Companion_EdkWrappingAlgorithm_.Create_DIRECT__KEY__WRAPPING_(m_AwsCryptographyMaterialProvidersTypes.Companion_DIRECT__KEY__WRAPPING_.Create_DIRECT__KEY__WRAPPING_()))
   401  }
   402  func (_static *CompanionStruct_Default___) ESDK__ALG__AES__256__GCM__IV12__TAG16__HKDF__SHA256() m_AwsCryptographyMaterialProvidersTypes.AlgorithmSuiteInfo {
   403  	return m_AwsCryptographyMaterialProvidersTypes.Companion_AlgorithmSuiteInfo_.Create_AlgorithmSuiteInfo_(m_AwsCryptographyMaterialProvidersTypes.Companion_AlgorithmSuiteId_.Create_ESDK_(m_AwsCryptographyMaterialProvidersTypes.Companion_ESDKAlgorithmSuiteId_.Create_ALG__AES__256__GCM__IV12__TAG16__HKDF__SHA256_()), _dafny.SeqOf(uint8(1), uint8(120)), int32(1), Companion_Default___.AES__256__GCM__IV12__TAG16(), Companion_Default___.HKDF__SHA__256(Companion_Default___.Bits256()), m_AwsCryptographyMaterialProvidersTypes.Companion_DerivationAlgorithm_.Create_None_(m_AwsCryptographyMaterialProvidersTypes.Companion_None_.Create_None_()), m_AwsCryptographyMaterialProvidersTypes.Companion_SignatureAlgorithm_.Create_None_(m_AwsCryptographyMaterialProvidersTypes.Companion_None_.Create_None_()), m_AwsCryptographyMaterialProvidersTypes.Companion_SymmetricSignatureAlgorithm_.Create_None_(m_AwsCryptographyMaterialProvidersTypes.Companion_None_.Create_None_()), m_AwsCryptographyMaterialProvidersTypes.Companion_EdkWrappingAlgorithm_.Create_DIRECT__KEY__WRAPPING_(m_AwsCryptographyMaterialProvidersTypes.Companion_DIRECT__KEY__WRAPPING_.Create_DIRECT__KEY__WRAPPING_()))
   404  }
   405  func (_static *CompanionStruct_Default___) ESDK__ALG__AES__128__GCM__IV12__TAG16__HKDF__SHA256__ECDSA__P256() m_AwsCryptographyMaterialProvidersTypes.AlgorithmSuiteInfo {
   406  	return m_AwsCryptographyMaterialProvidersTypes.Companion_AlgorithmSuiteInfo_.Create_AlgorithmSuiteInfo_(m_AwsCryptographyMaterialProvidersTypes.Companion_AlgorithmSuiteId_.Create_ESDK_(m_AwsCryptographyMaterialProvidersTypes.Companion_ESDKAlgorithmSuiteId_.Create_ALG__AES__128__GCM__IV12__TAG16__HKDF__SHA256__ECDSA__P256_()), _dafny.SeqOf(uint8(2), uint8(20)), int32(1), Companion_Default___.AES__128__GCM__IV12__TAG16(), Companion_Default___.HKDF__SHA__256(Companion_Default___.Bits128()), m_AwsCryptographyMaterialProvidersTypes.Companion_DerivationAlgorithm_.Create_None_(m_AwsCryptographyMaterialProvidersTypes.Companion_None_.Create_None_()), m_AwsCryptographyMaterialProvidersTypes.Companion_SignatureAlgorithm_.Create_ECDSA_(m_AwsCryptographyMaterialProvidersTypes.Companion_ECDSA_.Create_ECDSA_(m_AwsCryptographyPrimitivesTypes.Companion_ECDSASignatureAlgorithm_.Create_ECDSA__P256_())), m_AwsCryptographyMaterialProvidersTypes.Companion_SymmetricSignatureAlgorithm_.Create_None_(m_AwsCryptographyMaterialProvidersTypes.Companion_None_.Create_None_()), m_AwsCryptographyMaterialProvidersTypes.Companion_EdkWrappingAlgorithm_.Create_DIRECT__KEY__WRAPPING_(m_AwsCryptographyMaterialProvidersTypes.Companion_DIRECT__KEY__WRAPPING_.Create_DIRECT__KEY__WRAPPING_()))
   407  }
   408  func (_static *CompanionStruct_Default___) ESDK__ALG__AES__192__GCM__IV12__TAG16__HKDF__SHA384__ECDSA__P384() m_AwsCryptographyMaterialProvidersTypes.AlgorithmSuiteInfo {
   409  	return m_AwsCryptographyMaterialProvidersTypes.Companion_AlgorithmSuiteInfo_.Create_AlgorithmSuiteInfo_(m_AwsCryptographyMaterialProvidersTypes.Companion_AlgorithmSuiteId_.Create_ESDK_(m_AwsCryptographyMaterialProvidersTypes.Companion_ESDKAlgorithmSuiteId_.Create_ALG__AES__192__GCM__IV12__TAG16__HKDF__SHA384__ECDSA__P384_()), _dafny.SeqOf(uint8(3), uint8(70)), int32(1), Companion_Default___.AES__192__GCM__IV12__TAG16(), Companion_Default___.HKDF__SHA__384(Companion_Default___.Bits192()), m_AwsCryptographyMaterialProvidersTypes.Companion_DerivationAlgorithm_.Create_None_(m_AwsCryptographyMaterialProvidersTypes.Companion_None_.Create_None_()), m_AwsCryptographyMaterialProvidersTypes.Companion_SignatureAlgorithm_.Create_ECDSA_(m_AwsCryptographyMaterialProvidersTypes.Companion_ECDSA_.Create_ECDSA_(m_AwsCryptographyPrimitivesTypes.Companion_ECDSASignatureAlgorithm_.Create_ECDSA__P384_())), m_AwsCryptographyMaterialProvidersTypes.Companion_SymmetricSignatureAlgorithm_.Create_None_(m_AwsCryptographyMaterialProvidersTypes.Companion_None_.Create_None_()), m_AwsCryptographyMaterialProvidersTypes.Companion_EdkWrappingAlgorithm_.Create_DIRECT__KEY__WRAPPING_(m_AwsCryptographyMaterialProvidersTypes.Companion_DIRECT__KEY__WRAPPING_.Create_DIRECT__KEY__WRAPPING_()))
   410  }
   411  func (_static *CompanionStruct_Default___) ESDK__ALG__AES__256__GCM__IV12__TAG16__HKDF__SHA384__ECDSA__P384() m_AwsCryptographyMaterialProvidersTypes.AlgorithmSuiteInfo {
   412  	return m_AwsCryptographyMaterialProvidersTypes.Companion_AlgorithmSuiteInfo_.Create_AlgorithmSuiteInfo_(m_AwsCryptographyMaterialProvidersTypes.Companion_AlgorithmSuiteId_.Create_ESDK_(m_AwsCryptographyMaterialProvidersTypes.Companion_ESDKAlgorithmSuiteId_.Create_ALG__AES__256__GCM__IV12__TAG16__HKDF__SHA384__ECDSA__P384_()), _dafny.SeqOf(uint8(3), uint8(120)), int32(1), Companion_Default___.AES__256__GCM__IV12__TAG16(), Companion_Default___.HKDF__SHA__384(Companion_Default___.Bits256()), m_AwsCryptographyMaterialProvidersTypes.Companion_DerivationAlgorithm_.Create_None_(m_AwsCryptographyMaterialProvidersTypes.Companion_None_.Create_None_()), m_AwsCryptographyMaterialProvidersTypes.Companion_SignatureAlgorithm_.Create_ECDSA_(m_AwsCryptographyMaterialProvidersTypes.Companion_ECDSA_.Create_ECDSA_(m_AwsCryptographyPrimitivesTypes.Companion_ECDSASignatureAlgorithm_.Create_ECDSA__P384_())), m_AwsCryptographyMaterialProvidersTypes.Companion_SymmetricSignatureAlgorithm_.Create_None_(m_AwsCryptographyMaterialProvidersTypes.Companion_None_.Create_None_()), m_AwsCryptographyMaterialProvidersTypes.Companion_EdkWrappingAlgorithm_.Create_DIRECT__KEY__WRAPPING_(m_AwsCryptographyMaterialProvidersTypes.Companion_DIRECT__KEY__WRAPPING_.Create_DIRECT__KEY__WRAPPING_()))
   413  }
   414  func (_static *CompanionStruct_Default___) ESDK__ALG__AES__256__GCM__HKDF__SHA512__COMMIT__KEY() m_AwsCryptographyMaterialProvidersTypes.AlgorithmSuiteInfo {
   415  	return m_AwsCryptographyMaterialProvidersTypes.Companion_AlgorithmSuiteInfo_.Create_AlgorithmSuiteInfo_(m_AwsCryptographyMaterialProvidersTypes.Companion_AlgorithmSuiteId_.Create_ESDK_(m_AwsCryptographyMaterialProvidersTypes.Companion_ESDKAlgorithmSuiteId_.Create_ALG__AES__256__GCM__HKDF__SHA512__COMMIT__KEY_()), _dafny.SeqOf(uint8(4), uint8(120)), int32(2), Companion_Default___.AES__256__GCM__IV12__TAG16(), Companion_Default___.HKDF__SHA__512(Companion_Default___.Bits256()), Companion_Default___.HKDF__SHA__512(Companion_Default___.Bits256()), m_AwsCryptographyMaterialProvidersTypes.Companion_SignatureAlgorithm_.Create_None_(m_AwsCryptographyMaterialProvidersTypes.Companion_None_.Create_None_()), m_AwsCryptographyMaterialProvidersTypes.Companion_SymmetricSignatureAlgorithm_.Create_None_(m_AwsCryptographyMaterialProvidersTypes.Companion_None_.Create_None_()), m_AwsCryptographyMaterialProvidersTypes.Companion_EdkWrappingAlgorithm_.Create_DIRECT__KEY__WRAPPING_(m_AwsCryptographyMaterialProvidersTypes.Companion_DIRECT__KEY__WRAPPING_.Create_DIRECT__KEY__WRAPPING_()))
   416  }
   417  func (_static *CompanionStruct_Default___) ESDK__ALG__AES__256__GCM__HKDF__SHA512__COMMIT__KEY__ECDSA__P384() m_AwsCryptographyMaterialProvidersTypes.AlgorithmSuiteInfo {
   418  	return m_AwsCryptographyMaterialProvidersTypes.Companion_AlgorithmSuiteInfo_.Create_AlgorithmSuiteInfo_(m_AwsCryptographyMaterialProvidersTypes.Companion_AlgorithmSuiteId_.Create_ESDK_(m_AwsCryptographyMaterialProvidersTypes.Companion_ESDKAlgorithmSuiteId_.Create_ALG__AES__256__GCM__HKDF__SHA512__COMMIT__KEY__ECDSA__P384_()), _dafny.SeqOf(uint8(5), uint8(120)), int32(2), Companion_Default___.AES__256__GCM__IV12__TAG16(), Companion_Default___.HKDF__SHA__512(Companion_Default___.Bits256()), Companion_Default___.HKDF__SHA__512(Companion_Default___.Bits256()), m_AwsCryptographyMaterialProvidersTypes.Companion_SignatureAlgorithm_.Create_ECDSA_(m_AwsCryptographyMaterialProvidersTypes.Companion_ECDSA_.Create_ECDSA_(m_AwsCryptographyPrimitivesTypes.Companion_ECDSASignatureAlgorithm_.Create_ECDSA__P384_())), m_AwsCryptographyMaterialProvidersTypes.Companion_SymmetricSignatureAlgorithm_.Create_None_(m_AwsCryptographyMaterialProvidersTypes.Companion_None_.Create_None_()), m_AwsCryptographyMaterialProvidersTypes.Companion_EdkWrappingAlgorithm_.Create_DIRECT__KEY__WRAPPING_(m_AwsCryptographyMaterialProvidersTypes.Companion_DIRECT__KEY__WRAPPING_.Create_DIRECT__KEY__WRAPPING_()))
   419  }
   420  func (_static *CompanionStruct_Default___) SupportedESDKAlgorithmSuites() _dafny.Map {
   421  	return _dafny.NewMapBuilder().ToMap().UpdateUnsafe(m_AwsCryptographyMaterialProvidersTypes.Companion_ESDKAlgorithmSuiteId_.Create_ALG__AES__128__GCM__IV12__TAG16__NO__KDF_(), Companion_Default___.ESDK__ALG__AES__128__GCM__IV12__TAG16__NO__KDF()).UpdateUnsafe(m_AwsCryptographyMaterialProvidersTypes.Companion_ESDKAlgorithmSuiteId_.Create_ALG__AES__192__GCM__IV12__TAG16__NO__KDF_(), Companion_Default___.ESDK__ALG__AES__192__GCM__IV12__TAG16__NO__KDF()).UpdateUnsafe(m_AwsCryptographyMaterialProvidersTypes.Companion_ESDKAlgorithmSuiteId_.Create_ALG__AES__256__GCM__IV12__TAG16__NO__KDF_(), Companion_Default___.ESDK__ALG__AES__256__GCM__IV12__TAG16__NO__KDF()).UpdateUnsafe(m_AwsCryptographyMaterialProvidersTypes.Companion_ESDKAlgorithmSuiteId_.Create_ALG__AES__128__GCM__IV12__TAG16__HKDF__SHA256_(), Companion_Default___.ESDK__ALG__AES__128__GCM__IV12__TAG16__HKDF__SHA256()).UpdateUnsafe(m_AwsCryptographyMaterialProvidersTypes.Companion_ESDKAlgorithmSuiteId_.Create_ALG__AES__192__GCM__IV12__TAG16__HKDF__SHA256_(), Companion_Default___.ESDK__ALG__AES__192__GCM__IV12__TAG16__HKDF__SHA256()).UpdateUnsafe(m_AwsCryptographyMaterialProvidersTypes.Companion_ESDKAlgorithmSuiteId_.Create_ALG__AES__256__GCM__IV12__TAG16__HKDF__SHA256_(), Companion_Default___.ESDK__ALG__AES__256__GCM__IV12__TAG16__HKDF__SHA256()).UpdateUnsafe(m_AwsCryptographyMaterialProvidersTypes.Companion_ESDKAlgorithmSuiteId_.Create_ALG__AES__128__GCM__IV12__TAG16__HKDF__SHA256__ECDSA__P256_(), Companion_Default___.ESDK__ALG__AES__128__GCM__IV12__TAG16__HKDF__SHA256__ECDSA__P256()).UpdateUnsafe(m_AwsCryptographyMaterialProvidersTypes.Companion_ESDKAlgorithmSuiteId_.Create_ALG__AES__192__GCM__IV12__TAG16__HKDF__SHA384__ECDSA__P384_(), Companion_Default___.ESDK__ALG__AES__192__GCM__IV12__TAG16__HKDF__SHA384__ECDSA__P384()).UpdateUnsafe(m_AwsCryptographyMaterialProvidersTypes.Companion_ESDKAlgorithmSuiteId_.Create_ALG__AES__256__GCM__IV12__TAG16__HKDF__SHA384__ECDSA__P384_(), Companion_Default___.ESDK__ALG__AES__256__GCM__IV12__TAG16__HKDF__SHA384__ECDSA__P384()).UpdateUnsafe(m_AwsCryptographyMaterialProvidersTypes.Companion_ESDKAlgorithmSuiteId_.Create_ALG__AES__256__GCM__HKDF__SHA512__COMMIT__KEY_(), Companion_Default___.ESDK__ALG__AES__256__GCM__HKDF__SHA512__COMMIT__KEY()).UpdateUnsafe(m_AwsCryptographyMaterialProvidersTypes.Companion_ESDKAlgorithmSuiteId_.Create_ALG__AES__256__GCM__HKDF__SHA512__COMMIT__KEY__ECDSA__P384_(), Companion_Default___.ESDK__ALG__AES__256__GCM__HKDF__SHA512__COMMIT__KEY__ECDSA__P384())
   422  }
   423  func (_static *CompanionStruct_Default___) SupportedDBEAlgorithmSuites() _dafny.Map {
   424  	return _dafny.NewMapBuilder().ToMap().UpdateUnsafe(m_AwsCryptographyMaterialProvidersTypes.Companion_DBEAlgorithmSuiteId_.Create_ALG__AES__256__GCM__HKDF__SHA512__COMMIT__KEY__SYMSIG__HMAC__SHA384_(), Companion_Default___.DBE__ALG__AES__256__GCM__HKDF__SHA512__COMMIT__KEY__SYMSIG__HMAC__SHA384()).UpdateUnsafe(m_AwsCryptographyMaterialProvidersTypes.Companion_DBEAlgorithmSuiteId_.Create_ALG__AES__256__GCM__HKDF__SHA512__COMMIT__KEY__ECDSA__P384__SYMSIG__HMAC__SHA384_(), Companion_Default___.DBE__ALG__AES__256__GCM__HKDF__SHA512__COMMIT__KEY__ECDSA__P384__SYMSIG__HMAC__SHA384())
   425  }
   426  func (_static *CompanionStruct_Default___) AlgorithmSuiteInfoByBinaryId() _dafny.Map {
   427  	return _dafny.NewMapBuilder().ToMap().UpdateUnsafe(_dafny.SeqOf(uint8(0), uint8(20)), Companion_Default___.ESDK__ALG__AES__128__GCM__IV12__TAG16__NO__KDF()).UpdateUnsafe(_dafny.SeqOf(uint8(0), uint8(70)), Companion_Default___.ESDK__ALG__AES__192__GCM__IV12__TAG16__NO__KDF()).UpdateUnsafe(_dafny.SeqOf(uint8(0), uint8(120)), Companion_Default___.ESDK__ALG__AES__256__GCM__IV12__TAG16__NO__KDF()).UpdateUnsafe(_dafny.SeqOf(uint8(1), uint8(20)), Companion_Default___.ESDK__ALG__AES__128__GCM__IV12__TAG16__HKDF__SHA256()).UpdateUnsafe(_dafny.SeqOf(uint8(1), uint8(70)), Companion_Default___.ESDK__ALG__AES__192__GCM__IV12__TAG16__HKDF__SHA256()).UpdateUnsafe(_dafny.SeqOf(uint8(1), uint8(120)), Companion_Default___.ESDK__ALG__AES__256__GCM__IV12__TAG16__HKDF__SHA256()).UpdateUnsafe(_dafny.SeqOf(uint8(2), uint8(20)), Companion_Default___.ESDK__ALG__AES__128__GCM__IV12__TAG16__HKDF__SHA256__ECDSA__P256()).UpdateUnsafe(_dafny.SeqOf(uint8(3), uint8(70)), Companion_Default___.ESDK__ALG__AES__192__GCM__IV12__TAG16__HKDF__SHA384__ECDSA__P384()).UpdateUnsafe(_dafny.SeqOf(uint8(3), uint8(120)), Companion_Default___.ESDK__ALG__AES__256__GCM__IV12__TAG16__HKDF__SHA384__ECDSA__P384()).UpdateUnsafe(_dafny.SeqOf(uint8(4), uint8(120)), Companion_Default___.ESDK__ALG__AES__256__GCM__HKDF__SHA512__COMMIT__KEY()).UpdateUnsafe(_dafny.SeqOf(uint8(5), uint8(120)), Companion_Default___.ESDK__ALG__AES__256__GCM__HKDF__SHA512__COMMIT__KEY__ECDSA__P384()).UpdateUnsafe(_dafny.SeqOf(uint8(103), uint8(0)), Companion_Default___.DBE__ALG__AES__256__GCM__HKDF__SHA512__COMMIT__KEY__SYMSIG__HMAC__SHA384()).UpdateUnsafe(_dafny.SeqOf(uint8(103), uint8(1)), Companion_Default___.DBE__ALG__AES__256__GCM__HKDF__SHA512__COMMIT__KEY__ECDSA__P384__SYMSIG__HMAC__SHA384())
   428  }
   429  
   430  // End of class Default__
   431  
   432  // Definition of class AlgorithmSuite
   433  type AlgorithmSuite struct {
   434  }
   435  
   436  func New_AlgorithmSuite_() *AlgorithmSuite {
   437  	_this := AlgorithmSuite{}
   438  
   439  	return &_this
   440  }
   441  
   442  type CompanionStruct_AlgorithmSuite_ struct {
   443  }
   444  
   445  var Companion_AlgorithmSuite_ = CompanionStruct_AlgorithmSuite_{}
   446  
   447  func (*AlgorithmSuite) String() string {
   448  	return "AlgorithmSuites.AlgorithmSuite"
   449  }
   450  
   451  // End of class AlgorithmSuite
   452  
   453  func Type_AlgorithmSuite_() _dafny.TypeDescriptor {
   454  	return type_AlgorithmSuite_{}
   455  }
   456  
   457  type type_AlgorithmSuite_ struct {
   458  }
   459  
   460  func (_this type_AlgorithmSuite_) Default() interface{} {
   461  	return m_AwsCryptographyMaterialProvidersTypes.Companion_AlgorithmSuiteInfo_.Default()
   462  }
   463  
   464  func (_this type_AlgorithmSuite_) String() string {
   465  	return "AlgorithmSuites.AlgorithmSuite"
   466  }
   467  func (_this *CompanionStruct_AlgorithmSuite_) Is_(__source m_AwsCryptographyMaterialProvidersTypes.AlgorithmSuiteInfo) bool {
   468  	var _0_a m_AwsCryptographyMaterialProvidersTypes.AlgorithmSuiteInfo = (__source)
   469  	_ = _0_a
   470  	return Companion_Default___.AlgorithmSuite_q(_0_a)
   471  }