diff --git a/security/nss/TAG-INFO b/security/nss/TAG-INFO
index 3e82d67828567..f743c8c2c0d07 100644
--- a/security/nss/TAG-INFO
+++ b/security/nss/TAG-INFO
@@ -1 +1 @@
-c982fb957516
\ No newline at end of file
+1d066793c349
\ No newline at end of file
diff --git a/security/nss/automation/abi-check/expected-report-libnss3.so.txt b/security/nss/automation/abi-check/expected-report-libnss3.so.txt
index 9e127aee6d4b9..a6dbb05bffbd9 100644
--- a/security/nss/automation/abi-check/expected-report-libnss3.so.txt
+++ b/security/nss/automation/abi-check/expected-report-libnss3.so.txt
@@ -1,8 +1,11 @@
-2 Added functions:
+5 Added functions:
+ 'function SECOidTag HASH_GetHMACOidTagByHashOidTag(SECOidTag)' {HASH_GetHMACOidTagByHashOidTag@@NSS_3.65}
'function PK11Context* PK11_CreateContextByPrivKey(CK_MECHANISM_TYPE, CK_ATTRIBUTE_TYPE, SECKEYPrivateKey*, const SECItem*)' {PK11_CreateContextByPrivKey@@NSS_3.65}
'function PK11Context* PK11_CreateContextByPubKey(CK_MECHANISM_TYPE, CK_ATTRIBUTE_TYPE, SECKEYPublicKey*, const SECItem*, void*)' {PK11_CreateContextByPubKey@@NSS_3.65}
+ 'function SECKEYEncryptedPrivateKeyInfo* PK11_ExportEncryptedPrivKeyInfoV2(PK11SlotInfo*, SECOidTag, SECOidTag, SECOidTag, SECItem*, SECKEYPrivateKey*, int, void*)' {PK11_ExportEncryptedPrivKeyInfoV2@@NSS_3.65}
+ 'function SECKEYEncryptedPrivateKeyInfo* PK11_ExportEncryptedPrivateKeyInfoV2(PK11SlotInfo*, SECOidTag, SECOidTag, SECOidTag, SECItem*, CERTCertificate*, int, void*)' {PK11_ExportEncryptedPrivateKeyInfoV2@@NSS_3.65}
1 function with some indirect sub-type change:
diff --git a/security/nss/automation/abi-check/expected-report-libssl3.so.txt b/security/nss/automation/abi-check/expected-report-libssl3.so.txt
index e69de29bb2d1d..c547a45b39d94 100644
--- a/security/nss/automation/abi-check/expected-report-libssl3.so.txt
+++ b/security/nss/automation/abi-check/expected-report-libssl3.so.txt
@@ -0,0 +1,11 @@
+
+1 function with some indirect sub-type change:
+
+ [C]'function SECStatus SSL_HandshakeNegotiatedExtension(PRFileDesc*, SSLExtensionType, PRBool*)' at sslreveal.c:72:1 has some indirect sub-type changes:
+ parameter 2 of type 'typedef SSLExtensionType' has sub-type changes:
+ underlying type 'enum __anonymous_enum__' at sslt.h:519:1 changed:
+ type size hasn't changed
+ 1 enumerator change:
+ '__anonymous_enum__::ssl_tls13_encrypted_client_hello_xtn' from value '65033' to '65034' at sslt.h:519:1
+
+
diff --git a/security/nss/cmd/lib/basicutil.h b/security/nss/cmd/lib/basicutil.h
index de8c1b01e8227..ba76b1798f033 100644
--- a/security/nss/cmd/lib/basicutil.h
+++ b/security/nss/cmd/lib/basicutil.h
@@ -54,10 +54,8 @@ extern void SECU_PrintAsHex(FILE *out, const SECItem *i, const char *m,
/* dump a buffer in hex and ASCII */
extern void SECU_PrintBuf(FILE *out, const char *msg, const void *vp, int len);
-#ifdef HAVE_EPV_TEMPLATE
/* Dump contents of private key */
extern int SECU_PrintPrivateKey(FILE *out, SECItem *der, char *m, int level);
-#endif
/* Init PKCS11 stuff */
extern SECStatus SECU_PKCS11Init(PRBool readOnly);
diff --git a/security/nss/cmd/lib/secutil.c b/security/nss/cmd/lib/secutil.c
index 7fb041ec7d44a..d9270ed927dd4 100644
--- a/security/nss/cmd/lib/secutil.c
+++ b/security/nss/cmd/lib/secutil.c
@@ -562,20 +562,110 @@ SECU_ReadDERFromFile(SECItem *der, PRFileDesc *inFile, PRBool ascii,
#define INDENT_MULT 4
+/*
+ * remove the tag and length and just leave the bare BER data
+ */
SECStatus
SECU_StripTagAndLength(SECItem *i)
{
unsigned int start;
+ PRBool isIndefinite;
if (!i || !i->data || i->len < 2) { /* must be at least tag and length */
+ PORT_SetError(SEC_ERROR_BAD_DER);
return SECFailure;
}
+ isIndefinite = (i->data[1] == 0x80);
start = ((i->data[1] & 0x80) ? (i->data[1] & 0x7f) + 2 : 2);
if (i->len < start) {
+ PORT_SetError(SEC_ERROR_BAD_DER);
return SECFailure;
}
i->data += start;
i->len -= start;
+ /* we are using indefinite encoding, drop the trailing zero */
+ if (isIndefinite) {
+ if (i->len <= 1) {
+ PORT_SetError(SEC_ERROR_BAD_DER);
+ return SECFailure;
+ }
+ /* verify tags are zero */
+ if ((i->data[i->len - 1] != 0) || (i->data[i->len - 2] != 0)) {
+ PORT_SetError(SEC_ERROR_BAD_DER);
+ return SECFailure;
+ }
+ i->len -= 2;
+ }
+
+ return SECSuccess;
+}
+
+/*
+ * Create a new SECItem which points to the current BER tag and length with
+ * all it's data. For indefinite encoding, this will also include the trailing
+ * indefinite markers
+ * The 'in' item is advanced to point to the next BER tag.
+ * You don't want to use this in an actual BER/DER parser as NSS already
+ * has 3 to choose from)
+ */
+SECStatus
+SECU_ExtractBERAndStep(SECItem *in, SECItem *out)
+{
+ if (!in || !in->data || in->len < 2) { /* must be at least tag and length */
+ PORT_SetError(SEC_ERROR_BAD_DER);
+ return SECFailure;
+ }
+
+ *out = *in;
+
+ /* first handle indefinite encoding */
+ if (out->data[1] == 0x80) {
+ SECItem this = *out;
+ SECItem next;
+ this.data += 2;
+ this.len -= 2;
+ out->len = 2;
+ /* walk through all the entries until we find the '0' */
+ while ((this.len >= 2) && (this.data[0] != 0)) {
+ SECStatus rv = SECU_ExtractBERAndStep(&this, &next);
+ if (rv != SECSuccess) {
+ return rv;
+ }
+ out->len += next.len;
+ }
+ if ((this.len < 2) || ((this.data[0] != 0) && (this.data[1] != 0))) {
+ PORT_SetError(SEC_ERROR_BAD_DER);
+ return SECFailure;
+ }
+ out->len += 2; /* include the trailing zeros */
+ in->data += out->len;
+ in->len -= out->len;
+ return SECSuccess;
+ }
+
+ /* now handle normal DER encoding */
+ if (out->data[1] & 0x80) {
+ unsigned int i;
+ unsigned int lenlen = out->data[1] & 0x7f;
+ unsigned int len = 0;
+ if (lenlen > sizeof out->len) {
+ PORT_SetError(SEC_ERROR_BAD_DER);
+ return SECFailure;
+ }
+ for (i = 0; i < lenlen; i++) {
+ len = (len << 8) | out->data[2 + i];
+ }
+ out->len = len + lenlen + 2;
+ } else {
+ out->len = out->data[1] + 2;
+ }
+ if (out->len > in->len) {
+ /* we've ran into a truncated file */
+ PORT_SetError(SEC_ERROR_BAD_DER);
+ return SECFailure;
+ }
+ in->data += out->len;
+ in->len -= out->len;
return SECSuccess;
}
@@ -786,26 +876,10 @@ SECU_PrintSet(FILE *out, const SECItem *t, const char *m, int level)
fprintf(out, "%s{\n", label); /* } */
while (my.len >= 2) {
- SECItem tmp = my;
-
- if (tmp.data[1] & 0x80) {
- unsigned int i;
- unsigned int lenlen = tmp.data[1] & 0x7f;
- if (lenlen > sizeof tmp.len)
- break;
- tmp.len = 0;
- for (i = 0; i < lenlen; i++) {
- tmp.len = (tmp.len << 8) | tmp.data[2 + i];
- }
- tmp.len += lenlen + 2;
- } else {
- tmp.len = tmp.data[1] + 2;
- }
- if (tmp.len > my.len) {
- tmp.len = my.len;
+ SECItem tmp;
+ if (SECSuccess != SECU_ExtractBERAndStep(&my, &tmp)) {
+ break;
}
- my.data += tmp.len;
- my.len -= tmp.len;
SECU_PrintAny(out, &tmp, NULL, level + 1);
}
SECU_Indent(out, level);
@@ -906,12 +980,14 @@ SECU_PrintEncodedInteger(FILE *out, const SECItem *i, const char *m, int level)
}
/* Print a DER encoded OID */
-void
+SECOidTag
SECU_PrintEncodedObjectID(FILE *out, const SECItem *i, const char *m, int level)
{
SECItem my = *i;
+ SECOidTag tag = SEC_OID_UNKNOWN;
if (SECSuccess == SECU_StripTagAndLength(&my))
- SECU_PrintObjectID(out, &my, m, level);
+ tag = SECU_PrintObjectID(out, &my, m, level);
+ return tag;
}
static void
@@ -2455,7 +2531,6 @@ SECU_PrintSubjectPublicKeyInfo(FILE *out, SECItem *der, char *m, int level)
return rv;
}
-#ifdef HAVE_EPV_TEMPLATE
int
SECU_PrintPrivateKey(FILE *out, SECItem *der, char *m, int level)
{
@@ -2482,7 +2557,6 @@ SECU_PrintPrivateKey(FILE *out, SECItem *der, char *m, int level)
PORT_FreeArena(arena, PR_TRUE);
return rv;
}
-#endif
int
SECU_PrintFingerprints(FILE *out, SECItem *derCert, char *m, int level)
@@ -2545,16 +2619,26 @@ SECU_PrintFingerprints(FILE *out, SECItem *derCert, char *m, int level)
*/
/* forward declaration */
+typedef enum {
+ secuPKCS7Unknown = 0,
+ secuPKCS7PKCS12AuthSafe,
+ secuPKCS7PKCS12Safe
+} secuPKCS7State;
+
static int
-secu_PrintPKCS7ContentInfo(FILE *, SEC_PKCS7ContentInfo *, char *, int);
+secu_PrintPKCS7ContentInfo(FILE *, SEC_PKCS7ContentInfo *, secuPKCS7State,
+ const char *, int);
+static int
+secu_PrintDERPKCS7ContentInfo(FILE *, SECItem *, secuPKCS7State,
+ const char *, int);
/*
** secu_PrintPKCS7EncContent
** Prints a SEC_PKCS7EncryptedContentInfo (without decrypting it)
*/
-static void
+static int
secu_PrintPKCS7EncContent(FILE *out, SEC_PKCS7EncryptedContentInfo *src,
- char *m, int level)
+ secuPKCS7State state, const char *m, int level)
{
if (src->contentTypeTag == NULL)
src->contentTypeTag = SECOID_FindOID(&(src->contentType));
@@ -2569,6 +2653,7 @@ secu_PrintPKCS7EncContent(FILE *out, SEC_PKCS7EncryptedContentInfo *src,
"Content Encryption Algorithm", level + 1);
SECU_PrintAsHex(out, &(src->encContent),
"Encrypted Content", level + 1);
+ return 0;
}
/*
@@ -2576,8 +2661,8 @@ secu_PrintPKCS7EncContent(FILE *out, SEC_PKCS7EncryptedContentInfo *src,
** Prints a PKCS7RecipientInfo type
*/
static void
-secu_PrintRecipientInfo(FILE *out, SEC_PKCS7RecipientInfo *info, char *m,
- int level)
+secu_PrintRecipientInfo(FILE *out, SEC_PKCS7RecipientInfo *info,
+ const char *m, int level)
{
SECU_Indent(out, level);
fprintf(out, "%s:\n", m);
@@ -2599,7 +2684,8 @@ secu_PrintRecipientInfo(FILE *out, SEC_PKCS7RecipientInfo *info, char *m,
** Prints a PKCS7SingerInfo type
*/
static void
-secu_PrintSignerInfo(FILE *out, SEC_PKCS7SignerInfo *info, char *m, int level)
+secu_PrintSignerInfo(FILE *out, SEC_PKCS7SignerInfo *info,
+ const char *m, int level)
{
SEC_PKCS7Attribute *attr;
int iv;
@@ -2691,7 +2777,7 @@ SECU_PrintCRLInfo(FILE *out, CERTCrl *crl, char *m, int level)
*/
static int
secu_PrintPKCS7Signed(FILE *out, SEC_PKCS7SignedData *src,
- const char *m, int level)
+ secuPKCS7State state, const char *m, int level)
{
SECAlgorithmID *digAlg; /* digest algorithms */
SECItem *aCert; /* certificate */
@@ -2717,7 +2803,7 @@ secu_PrintPKCS7Signed(FILE *out, SEC_PKCS7SignedData *src,
/* Now for the content */
rv = secu_PrintPKCS7ContentInfo(out, &(src->contentInfo),
- "Content Information", level + 1);
+ state, "Content Information", level + 1);
if (rv != 0)
return rv;
@@ -2772,9 +2858,9 @@ secu_PrintPKCS7Signed(FILE *out, SEC_PKCS7SignedData *src,
** secu_PrintPKCS7Enveloped
** Pretty print a PKCS7 enveloped data type (up to version 1).
*/
-static void
+static int
secu_PrintPKCS7Enveloped(FILE *out, SEC_PKCS7EnvelopedData *src,
- const char *m, int level)
+ secuPKCS7State state, const char *m, int level)
{
SEC_PKCS7RecipientInfo *recInfo; /* pointer for signer information */
int iv;
@@ -2795,8 +2881,8 @@ secu_PrintPKCS7Enveloped(FILE *out, SEC_PKCS7EnvelopedData *src,
}
}
- secu_PrintPKCS7EncContent(out, &src->encContentInfo,
- "Encrypted Content Information", level + 1);
+ return secu_PrintPKCS7EncContent(out, &src->encContentInfo, state,
+ "Encrypted Content Information", level + 1);
}
/*
@@ -2806,7 +2892,8 @@ secu_PrintPKCS7Enveloped(FILE *out, SEC_PKCS7EnvelopedData *src,
static int
secu_PrintPKCS7SignedAndEnveloped(FILE *out,
SEC_PKCS7SignedAndEnvelopedData *src,
- const char *m, int level)
+ secuPKCS7State state, const char *m,
+ int level)
{
SECAlgorithmID *digAlg; /* pointer for digest algorithms */
SECItem *aCert; /* pointer for certificate */
@@ -2842,8 +2929,10 @@ secu_PrintPKCS7SignedAndEnveloped(FILE *out,
}
}
- secu_PrintPKCS7EncContent(out, &src->encContentInfo,
- "Encrypted Content Information", level + 1);
+ rv = secu_PrintPKCS7EncContent(out, &src->encContentInfo, state,
+ "Encrypted Content Information", level + 1);
+ if (rv)
+ return rv;
/* Parse and list certificates (if any) */
if (src->rawCerts != NULL) {
@@ -2920,25 +3009,25 @@ SECU_PrintCrl(FILE *out, SECItem *der, char *m, int level)
** secu_PrintPKCS7Encrypted
** Pretty print a PKCS7 encrypted data type (up to version 1).
*/
-static void
+static int
secu_PrintPKCS7Encrypted(FILE *out, SEC_PKCS7EncryptedData *src,
- const char *m, int level)
+ secuPKCS7State state, const char *m, int level)
{
SECU_Indent(out, level);
fprintf(out, "%s:\n", m);
SECU_PrintInteger(out, &(src->version), "Version", level + 1);
- secu_PrintPKCS7EncContent(out, &src->encContentInfo,
- "Encrypted Content Information", level + 1);
+ return secu_PrintPKCS7EncContent(out, &src->encContentInfo, state,
+ "Encrypted Content Information", level + 1);
}
/*
** secu_PrintPKCS7Digested
** Pretty print a PKCS7 digested data type (up to version 1).
*/
-static void
+static int
secu_PrintPKCS7Digested(FILE *out, SEC_PKCS7DigestedData *src,
- const char *m, int level)
+ secuPKCS7State state, const char *m, int level)
{
SECU_Indent(out, level);
fprintf(out, "%s:\n", m);
@@ -2946,9 +3035,257 @@ secu_PrintPKCS7Digested(FILE *out, SEC_PKCS7DigestedData *src,
SECU_PrintAlgorithmID(out, &src->digestAlg, "Digest Algorithm",
level + 1);
- secu_PrintPKCS7ContentInfo(out, &src->contentInfo, "Content Information",
- level + 1);
+ secu_PrintPKCS7ContentInfo(out, &src->contentInfo, state,
+ "Content Information", level + 1);
SECU_PrintAsHex(out, &src->digest, "Digest", level + 1);
+ return 0;
+}
+
+static int
+secu_PrintPKCS12Attributes(FILE *out, SECItem *item, const char *m, int level)
+{
+ SECItem my = *item;
+ SECItem attribute;
+ SECItem attributeID;
+ SECItem attributeValues;
+
+ if ((my.data[0] != (SEC_ASN1_CONSTRUCTED | SEC_ASN1_SET)) ||
+ SECSuccess != SECU_StripTagAndLength(&my)) {
+ PORT_SetError(SEC_ERROR_BAD_DER);
+ return SECFailure;
+ }
+ SECU_Indent(out, level);
+ fprintf(out, "%s:\n", m);
+ level++;
+
+ while (my.len) {
+ if (SECSuccess != SECU_ExtractBERAndStep(&my, &attribute)) {
+ return SECFailure;
+ }
+ if ((attribute.data[0] != (SEC_ASN1_CONSTRUCTED | SEC_ASN1_SEQUENCE)) ||
+ SECSuccess != SECU_StripTagAndLength(&attribute)) {
+ PORT_SetError(SEC_ERROR_BAD_DER);
+ return SECFailure;
+ }
+
+ /* attribute ID */
+ if (SECSuccess != SECU_ExtractBERAndStep(&attribute, &attributeID)) {
+ return SECFailure;
+ }
+ if ((attributeID.data[0] & SEC_ASN1_TAGNUM_MASK) != SEC_ASN1_OBJECT_ID) {
+ PORT_SetError(SEC_ERROR_BAD_DER);
+ return SECFailure;
+ }
+ SECU_PrintEncodedObjectID(out, &attributeID, "Attribute ID", level);
+
+ /* attribute values */
+ if (!attribute.len) { /* skip if there aren't any */
+ continue;
+ }
+ if (SECSuccess != SECU_ExtractBERAndStep(&attribute, &attributeValues)) {
+ return SECFailure;
+ }
+ if (SECSuccess != SECU_StripTagAndLength(&attributeValues)) {
+ return SECFailure;
+ }
+ while (attributeValues.len) {
+ SECItem tmp;
+ if (SECSuccess != SECU_ExtractBERAndStep(&attributeValues, &tmp)) {
+ return SECFailure;
+ }
+ SECU_PrintAny(out, &tmp, NULL, level + 1);
+ }
+ }
+ return SECSuccess;
+}
+
+static int
+secu_PrintPKCS12Bag(FILE *out, SECItem *item, const char *desc, int level)
+{
+ SECItem my = *item;
+ SECItem bagID;
+ SECItem bagValue;
+ SECItem bagAttributes;
+ SECOidTag bagTag;
+ SECStatus rv;
+ int i;
+ char *m;
+
+ if ((my.data[0] != (SEC_ASN1_CONSTRUCTED | SEC_ASN1_SEQUENCE)) ||
+ SECSuccess != SECU_StripTagAndLength(&my)) {
+ PORT_SetError(SEC_ERROR_BAD_DER);
+ return SECFailure;
+ }
+
+ /* bagId BAG-TYPE.&id ({PKCS12BagSet}) */
+ if (SECSuccess != SECU_ExtractBERAndStep(&my, &bagID)) {
+ return SECFailure;
+ }
+ if ((bagID.data[0] & SEC_ASN1_TAGNUM_MASK) != SEC_ASN1_OBJECT_ID) {
+ PORT_SetError(SEC_ERROR_BAD_DER);
+ return SECFailure;
+ }
+ m = PR_smprintf("%s ID", desc);
+ bagTag = SECU_PrintEncodedObjectID(out, &bagID, m ? m : "Bag ID", level);
+ if (m)
+ PR_smprintf_free(m);
+
+ /* bagValue [0] EXPLICIT BAG-TYPE.&type({PKCS12BagSet}{@bagID}) */
+ if (SECSuccess != SECU_ExtractBERAndStep(&my, &bagValue)) {
+ return SECFailure;
+ }
+ if ((bagValue.data[0] & (SEC_ASN1_CLASS_MASK | SEC_ASN1_TAGNUM_MASK)) !=
+ (SEC_ASN1_CONTEXT_SPECIFIC | 0)) {
+ PORT_SetError(SEC_ERROR_BAD_DER);
+ return SECFailure;
+ }
+ if (SECSuccess != SECU_StripTagAndLength(&bagValue)) {
+ return SECFailure;
+ }
+
+ rv = SECSuccess;
+ switch (bagTag) {
+ case SEC_OID_PKCS12_V1_KEY_BAG_ID:
+ /* Future we need to print out raw private keys. Not a priority since
+ * p12util can't create files with unencrypted private keys, but
+ * some tools can and do */
+ SECU_PrintAny(out, &bagValue, "Private Key", level);
+ break;
+ case SEC_OID_PKCS12_V1_PKCS8_SHROUDED_KEY_BAG_ID:
+ rv = SECU_PrintPrivateKey(out, &bagValue,
+ "Encrypted Private Key", level);
+ break;
+ case SEC_OID_PKCS12_V1_CERT_BAG_ID:
+ rv = secu_PrintPKCS12Bag(out, &bagValue, "Certificate Bag", level + 1);
+ break;
+ case SEC_OID_PKCS12_V1_CRL_BAG_ID:
+ rv = secu_PrintPKCS12Bag(out, &bagValue, "Crl Bag", level + 1);
+ break;
+ case SEC_OID_PKCS12_V1_SECRET_BAG_ID:
+ rv = secu_PrintPKCS12Bag(out, &bagValue, "Secret Bag", level + 1);
+ break;
+ /* from recursive call from CRL and certificate Bag */
+ case SEC_OID_PKCS9_X509_CRL:
+ case SEC_OID_PKCS9_X509_CERT:
+ case SEC_OID_PKCS9_SDSI_CERT:
+ /* unwrap the octect string */
+ rv = SECU_StripTagAndLength(&bagValue);
+ if (rv != SECSuccess) {
+ break;
+ }
+ /* fall through */
+ case SEC_OID_PKCS12_CERT_AND_CRL_BAG_ID:
+ case SEC_OID_PKCS12_X509_CERT_CRL_BAG:
+ case SEC_OID_PKCS12_SDSI_CERT_BAG:
+ if (strcmp(desc, "Crl Bag") == 0) {
+ rv = SECU_PrintSignedData(out, &bagValue, NULL, level + 1,
+ (SECU_PPFunc)SECU_PrintCrl);
+ } else {
+ rv = SECU_PrintSignedData(out, &bagValue, NULL, level + 1,
+ (SECU_PPFunc)SECU_PrintCertificate);
+ }
+ break;
+ case SEC_OID_PKCS12_V1_SAFE_CONTENTS_BAG_ID:
+ for (i = 1; my.len; i++) {
+ SECItem nextBag;
+ rv = SECU_ExtractBERAndStep(&bagValue, &nextBag);
+ if (rv != SECSuccess) {
+ break;
+ }
+ m = PR_smprintf("Nested Bag %d", i);
+ rv = secu_PrintPKCS12Bag(out, &nextBag,
+ m ? m : "Nested Bag", level + 1);
+ if (m)
+ PR_smprintf_free(m);
+ if (rv != SECSuccess) {
+ break;
+ }
+ }
+ break;
+ default:
+ m = PR_smprintf("%s Value", desc);
+ SECU_PrintAny(out, &bagValue, m ? m : "Bag Value", level);
+ if (m)
+ PR_smprintf_free(m);
+ }
+ if (rv != SECSuccess) {
+ return rv;
+ }
+
+ /* bagAttributes SET OF PKCS12Attributes OPTIONAL */
+ if (my.len &&
+ (my.data[0] == (SEC_ASN1_CONSTRUCTED | SEC_ASN1_SET))) {
+ if (SECSuccess != SECU_ExtractBERAndStep(&my, &bagAttributes)) {
+ return SECFailure;
+ }
+ m = PR_smprintf("%s Attributes", desc);
+ rv = secu_PrintPKCS12Attributes(out, &bagAttributes,
+ m ? m : "Bag Attributes", level);
+ if (m)
+ PR_smprintf_free(m);
+ }
+ return rv;
+}
+
+static int
+secu_PrintPKCS7Data(FILE *out, SECItem *item, secuPKCS7State state,
+ const char *desc, int level)
+{
+ SECItem my = *item;
+ SECItem nextbag;
+ int i;
+ SECStatus rv;
+
+ /* walk down each safe */
+ switch (state) {
+ case secuPKCS7PKCS12AuthSafe:
+ if ((my.data[0] != (SEC_ASN1_CONSTRUCTED | SEC_ASN1_SEQUENCE)) ||
+ SECSuccess != SECU_StripTagAndLength(&my)) {
+ PORT_SetError(SEC_ERROR_BAD_DER);
+ return SECFailure;
+ }
+ for (i = 1; my.len; i++) {
+ char *m;
+ if (SECSuccess != SECU_ExtractBERAndStep(&my, &nextbag)) {
+ return SECFailure;
+ }
+ m = PR_smprintf("Safe %d", i);
+ rv = secu_PrintDERPKCS7ContentInfo(out, &nextbag,
+ secuPKCS7PKCS12Safe,
+ m ? m : "Safe", level);
+ if (m)
+ PR_smprintf_free(m);
+ if (rv != SECSuccess) {
+ return SECFailure;
+ }
+ }
+ return SECSuccess;
+ case secuPKCS7PKCS12Safe:
+ if ((my.data[0] != (SEC_ASN1_CONSTRUCTED | SEC_ASN1_SEQUENCE)) ||
+ SECSuccess != SECU_StripTagAndLength(&my)) {
+ PORT_SetError(SEC_ERROR_BAD_DER);
+ return SECFailure;
+ }
+ for (i = 1; my.len; i++) {
+ char *m;
+ if (SECSuccess != SECU_ExtractBERAndStep(&my, &nextbag)) {
+ return SECFailure;
+ }
+ m = PR_smprintf("Bag %d", i);
+ rv = secu_PrintPKCS12Bag(out, &nextbag,
+ m ? m : "Bag", level);
+ if (m)
+ PR_smprintf_free(m);
+ if (rv != SECSuccess) {
+ return SECFailure;
+ }
+ }
+ return SECSuccess;
+ case secuPKCS7Unknown:
+ SECU_PrintAsHex(out, item, desc, level);
+ break;
+ }
+ return SECSuccess;
}
/*
@@ -2958,7 +3295,7 @@ secu_PrintPKCS7Digested(FILE *out, SEC_PKCS7DigestedData *src,
*/
static int
secu_PrintPKCS7ContentInfo(FILE *out, SEC_PKCS7ContentInfo *src,
- char *m, int level)
+ secuPKCS7State state, const char *m, int level)
{
const char *desc;
SECOidTag kind;
@@ -2973,7 +3310,7 @@ secu_PrintPKCS7ContentInfo(FILE *out, SEC_PKCS7ContentInfo *src,
if (src->contentTypeTag == NULL) {
desc = "Unknown";
- kind = SEC_OID_PKCS7_DATA;
+ kind = SEC_OID_UNKNOWN;
} else {
desc = src->contentTypeTag->desc;
kind = src->contentTypeTag->offset;
@@ -2991,25 +3328,33 @@ secu_PrintPKCS7ContentInfo(FILE *out, SEC_PKCS7ContentInfo *src,
rv = 0;
switch (kind) {
case SEC_OID_PKCS7_SIGNED_DATA: /* Signed Data */
- rv = secu_PrintPKCS7Signed(out, src->content.signedData, desc, level);
+ rv = secu_PrintPKCS7Signed(out, src->content.signedData,
+ state, desc, level);
break;
case SEC_OID_PKCS7_ENVELOPED_DATA: /* Enveloped Data */
- secu_PrintPKCS7Enveloped(out, src->content.envelopedData, desc, level);
+ rv = secu_PrintPKCS7Enveloped(out, src->content.envelopedData,
+ state, desc, level);
break;
case SEC_OID_PKCS7_SIGNED_ENVELOPED_DATA: /* Signed and Enveloped */
rv = secu_PrintPKCS7SignedAndEnveloped(out,
src->content.signedAndEnvelopedData,
- desc, level);
+ state, desc, level);
break;
case SEC_OID_PKCS7_DIGESTED_DATA: /* Digested Data */
- secu_PrintPKCS7Digested(out, src->content.digestedData, desc, level);
+ rv = secu_PrintPKCS7Digested(out, src->content.digestedData,
+ state, desc, level);
break;
case SEC_OID_PKCS7_ENCRYPTED_DATA: /* Encrypted Data */
- secu_PrintPKCS7Encrypted(out, src->content.encryptedData, desc, level);
+ rv = secu_PrintPKCS7Encrypted(out, src->content.encryptedData,
+ state, desc, level);
+ break;
+
+ case SEC_OID_PKCS7_DATA:
+ rv = secu_PrintPKCS7Data(out, src->content.data, state, desc, level);
break;
default:
@@ -3024,8 +3369,9 @@ secu_PrintPKCS7ContentInfo(FILE *out, SEC_PKCS7ContentInfo *src,
** SECU_PrintPKCS7ContentInfo
** Decode and print any major PKCS7 data type (up to version 1).
*/
-int
-SECU_PrintPKCS7ContentInfo(FILE *out, SECItem *der, char *m, int level)
+static int
+secu_PrintDERPKCS7ContentInfo(FILE *out, SECItem *der, secuPKCS7State state,
+ const char *m, int level)
{
SEC_PKCS7ContentInfo *cinfo;
int rv;
@@ -3033,7 +3379,7 @@ SECU_PrintPKCS7ContentInfo(FILE *out, SECItem *der, char *m, int level)
cinfo = SEC_PKCS7DecodeItem(der, NULL, NULL, NULL, NULL, NULL, NULL, NULL);
if (cinfo != NULL) {
/* Send it to recursive parsing and printing module */
- rv = secu_PrintPKCS7ContentInfo(out, cinfo, m, level);
+ rv = secu_PrintPKCS7ContentInfo(out, cinfo, state, m, level);
SEC_PKCS7DestroyContentInfo(cinfo);
} else {
rv = -1;
@@ -3042,6 +3388,12 @@ SECU_PrintPKCS7ContentInfo(FILE *out, SECItem *der, char *m, int level)
return rv;
}
+int
+SECU_PrintPKCS7ContentInfo(FILE *out, SECItem *der, char *m, int level)
+{
+ return secu_PrintDERPKCS7ContentInfo(out, der, secuPKCS7Unknown, m, level);
+}
+
/*
** End of PKCS7 functions
*/
@@ -4214,3 +4566,169 @@ readPSK(const char *arg, SECItem *psk, SECItem *label)
PORT_Free(str);
return rv;
}
+
+static SECStatus
+secu_PrintPKCS12DigestInfo(FILE *out, const SECItem *t, char *m, int level)
+{
+ SECItem my = *t;
+ SECItem rawDigestAlgID;
+ SECItem digestData;
+ SECStatus rv;
+ PLArenaPool *arena;
+ SECAlgorithmID digestAlgID;
+ char *mAlgID = NULL;
+ char *mDigest = NULL;
+
+ /* strip the outer sequence */
+ if ((my.data[0] != (SEC_ASN1_CONSTRUCTED | SEC_ASN1_SEQUENCE)) ||
+ SECSuccess != SECU_StripTagAndLength(&my)) {
+ PORT_SetError(SEC_ERROR_BAD_DER);
+ return SECFailure;
+ }
+
+ /* get the algorithm ID */
+ if (SECSuccess != SECU_ExtractBERAndStep(&my, &rawDigestAlgID)) {
+ return SECFailure;
+ }
+ arena = PORT_NewArena(DER_DEFAULT_CHUNKSIZE);
+ if (arena == NULL) {
+ return SECFailure;
+ }
+#define DIGEST_ALGID_STRING "Digest Algorithm ID"
+ if (m)
+ mAlgID = PR_smprintf("%s " DIGEST_ALGID_STRING, m);
+ rv = SEC_QuickDERDecodeItem(arena, &digestAlgID,
+ SEC_ASN1_GET(SECOID_AlgorithmIDTemplate),
+ &rawDigestAlgID);
+ if (rv == SECSuccess) {
+ SECU_PrintAlgorithmID(out, &digestAlgID,
+ mAlgID ? mAlgID : DIGEST_ALGID_STRING, level);
+ }
+ if (mAlgID)
+ PR_smprintf_free(mAlgID);
+ PORT_FreeArena(arena, PR_FALSE);
+ if (rv != SECSuccess) {
+ return rv;
+ }
+
+ /* get the mac data */
+ if (SECSuccess != SECU_ExtractBERAndStep(&my, &digestData)) {
+ return SECFailure;
+ }
+ if ((digestData.data[0] & SEC_ASN1_TAGNUM_MASK) != SEC_ASN1_OCTET_STRING) {
+ PORT_SetError(SEC_ERROR_BAD_DER);
+ return SECFailure;
+ }
+#define DIGEST_STRING "Digest"
+ if (m)
+ mDigest = PR_smprintf("%s " DIGEST_STRING, m);
+ secu_PrintOctetString(out, &digestData,
+ mDigest ? mDigest : DIGEST_STRING, level);
+ if (mDigest)
+ PR_smprintf_free(mDigest);
+ return SECSuccess;
+}
+
+static SECStatus
+secu_PrintPKCS12MacData(FILE *out, const SECItem *t, char *m, int level)
+{
+ SECItem my = *t;
+ SECItem hash;
+ SECItem salt;
+
+ if (m) {
+ SECU_Indent(out, level);
+ fprintf(out, "%s: \n", m);
+ level++;
+ }
+
+ /* strip the outer sequence */
+ if ((my.data[0] != (SEC_ASN1_CONSTRUCTED | SEC_ASN1_SEQUENCE)) ||
+ SECSuccess != SECU_StripTagAndLength(&my)) {
+ PORT_SetError(SEC_ERROR_BAD_DER);
+ return SECFailure;
+ }
+
+ if (SECSuccess != SECU_ExtractBERAndStep(&my, &hash)) {
+ return SECFailure;
+ }
+ if (SECSuccess != secu_PrintPKCS12DigestInfo(out, &hash, "Mac", level)) {
+ return SECFailure;
+ }
+
+ /* handle the salt */
+ if (SECSuccess != SECU_ExtractBERAndStep(&my, &salt)) {
+ return SECFailure;
+ ;
+ }
+ if ((salt.data[0] & SEC_ASN1_TAGNUM_MASK) != SEC_ASN1_OCTET_STRING) {
+ PORT_SetError(SEC_ERROR_BAD_DER);
+ return SECFailure;
+ }
+ secu_PrintOctetString(out, &salt, "Mac Salt", level);
+
+ if (my.len &&
+ ((my.data[0] & SEC_ASN1_TAGNUM_MASK) == SEC_ASN1_INTEGER)) {
+ SECItem iterator;
+ if (SECSuccess != SECU_ExtractBERAndStep(&my, &iterator)) {
+ return SECFailure;
+ }
+ SECU_PrintEncodedInteger(out, &iterator, "Iterations", level);
+ }
+ return SECSuccess;
+}
+
+SECStatus
+SECU_PrintPKCS12(FILE *out, const SECItem *t, char *m, int level)
+{
+ SECItem my = *t;
+ SECItem authSafe;
+ SECItem macData;
+
+ SECU_Indent(out, level);
+ fprintf(out, "%s:\n", m);
+ level++;
+
+ /* strip the outer sequence */
+ if ((my.data[0] != (SEC_ASN1_CONSTRUCTED | SEC_ASN1_SEQUENCE)) ||
+ SECSuccess != SECU_StripTagAndLength(&my)) {
+ PORT_SetError(SEC_ERROR_BAD_DER);
+ return SECFailure;
+ }
+ /* print and remove the optional version number */
+ if (my.len && ((my.data[0] & SEC_ASN1_TAGNUM_MASK) == SEC_ASN1_INTEGER)) {
+ SECItem version;
+
+ if (SECSuccess != SECU_ExtractBERAndStep(&my, &version)) {
+ return SECFailure;
+ }
+ SECU_PrintEncodedInteger(out, &version, "Version", level);
+ }
+
+ /* print the authSafe */
+ if (SECSuccess != SECU_ExtractBERAndStep(&my, &authSafe)) {
+ return SECFailure;
+ }
+ if (SECSuccess != secu_PrintDERPKCS7ContentInfo(out, &authSafe,
+ secuPKCS7PKCS12AuthSafe,
+ "AuthSafe", level)) {
+ return SECFailure;
+ }
+
+ /* print the mac data (optional) */
+ if (!my.len) {
+ return SECSuccess;
+ }
+ if (SECSuccess != SECU_ExtractBERAndStep(&my, &macData)) {
+ return SECFailure;
+ }
+ if (SECSuccess != secu_PrintPKCS12MacData(out, &macData,
+ "Mac Data", level)) {
+ return SECFailure;
+ }
+
+ if (my.len) {
+ fprintf(out, "Unknown extra data found \n");
+ }
+ return SECSuccess;
+}
diff --git a/security/nss/cmd/lib/secutil.h b/security/nss/cmd/lib/secutil.h
index 0bdfa95089eaf..b5f86ad06163b 100644
--- a/security/nss/cmd/lib/secutil.h
+++ b/security/nss/cmd/lib/secutil.h
@@ -26,6 +26,7 @@
#define SEC_CT_CERTIFICATE_REQUEST "certificate-request"
#define SEC_CT_CERTIFICATE_ID "certificate-identity"
#define SEC_CT_PKCS7 "pkcs7"
+#define SEC_CT_PKCS12 "pkcs12"
#define SEC_CT_CRL "crl"
#define SEC_CT_NAME "name"
@@ -235,10 +236,8 @@ extern void SECU_PrintTrustFlags(FILE *out, CERTCertTrust *trust, char *m,
extern int SECU_PrintSubjectPublicKeyInfo(FILE *out, SECItem *der, char *m,
int level);
-#ifdef HAVE_EPV_TEMPLATE
/* Dump contents of private key */
extern int SECU_PrintPrivateKey(FILE *out, SECItem *der, char *m, int level);
-#endif
/* Dump contents of an RSA public key */
extern void SECU_PrintRSAPublicKey(FILE *out, SECKEYPublicKey *pk, char *m, int level);
@@ -253,7 +252,8 @@ extern int SECU_PrintFingerprints(FILE *out, SECItem *derCert, char *m,
/* Pretty-print any PKCS7 thing */
extern int SECU_PrintPKCS7ContentInfo(FILE *out, SECItem *der, char *m,
int level);
-
+/* Pretty-print a pkcs12 file */
+extern SECStatus SECU_PrintPKCS12(FILE *out, const SECItem *der, char *m, int level);
/* Init PKCS11 stuff */
extern SECStatus SECU_PKCS11Init(PRBool readOnly);
diff --git a/security/nss/cmd/pk12util/pk12util.c b/security/nss/cmd/pk12util/pk12util.c
index 794f17b39c628..b0c4ffd7bfa1c 100644
--- a/security/nss/cmd/pk12util/pk12util.c
+++ b/security/nss/cmd/pk12util/pk12util.c
@@ -16,6 +16,7 @@
#include "nss.h"
#include "secport.h"
#include "secpkcs5.h"
+#include "sechash.h"
#include "certdb.h"
#define PKCS12_IN_BUFFER_SIZE 200
@@ -43,7 +44,7 @@ Usage()
FPS "Usage: %s -o exportfile -n certname [-d certdir] [-P dbprefix]\n",
progName);
- FPS "\t\t [-c key_cipher] [-C cert_cipher]\n"
+ FPS "\t\t [-c key_cipher] [-C cert_cipher] [-M mac_alg]\n"
"\t\t [-m | --key_len keyLen] [--cert_key_len certKeyLen] [-v]\n");
FPS "\t\t [-k slotpwfile | -K slotpw]\n"
"\t\t [-w p12filepwfile | -W p12filepw]\n");
@@ -625,7 +626,7 @@ p12u_WriteToExportFile(void *arg, const char *buf, unsigned long len)
void
P12U_ExportPKCS12Object(char *nn, char *outfile, PK11SlotInfo *inSlot,
- SECOidTag cipher, SECOidTag certCipher,
+ SECOidTag cipher, SECOidTag certCipher, SECOidTag hash,
secuPWData *slotPw, secuPWData *p12FilePw)
{
SEC_PKCS12ExportContext *p12ecx = NULL;
@@ -690,7 +691,7 @@ P12U_ExportPKCS12Object(char *nn, char *outfile, PK11SlotInfo *inSlot,
goto loser;
}
- if (SEC_PKCS12AddPasswordIntegrity(p12ecx, pwitem, SEC_OID_SHA1) !=
+ if (SEC_PKCS12AddPasswordIntegrity(p12ecx, pwitem, hash) !=
SECSuccess) {
SECU_PrintError(progName, "PKCS12 add password integrity failed");
pk12uErrno = PK12UERR_PK12ADDPWDINTEG;
@@ -722,8 +723,8 @@ P12U_ExportPKCS12Object(char *nn, char *outfile, PK11SlotInfo *inSlot,
}
if (SEC_PKCS12AddCertAndKey(p12ecx, certSafe, NULL, cert,
- CERT_GetDefaultCertDB(), keySafe, NULL, PR_TRUE, pwitem, cipher) !=
- SECSuccess) {
+ CERT_GetDefaultCertDB(), keySafe, NULL,
+ PR_TRUE, pwitem, cipher) != SECSuccess) {
SECU_PrintError(progName, "add cert and key failed");
pk12uErrno = PK12UERR_ADDCERTKEY;
goto loser;
@@ -857,6 +858,27 @@ P12U_ListPKCS12File(char *in_file, PK11SlotInfo *slot,
return rv;
}
+SECOidTag
+PKCS12U_FindTagFromString(char *cipherString)
+{
+ SECOidTag tag;
+ SECOidData *oid;
+
+ /* future enhancement: accept dotted oid spec? */
+
+ for (tag = 1; (oid = SECOID_FindOIDByTag(tag)) != NULL; tag++) {
+ /* only interested in oids that we actually understand */
+ if (oid->mechanism == CKM_INVALID_MECHANISM) {
+ continue;
+ }
+ if (PORT_Strcasecmp(oid->desc, cipherString) != 0) {
+ continue;
+ }
+ return tag;
+ }
+ return SEC_OID_UNKNOWN;
+}
+
/*
* use the oid table description to map a user input string to a particular
* oid.
@@ -865,46 +887,55 @@ SECOidTag
PKCS12U_MapCipherFromString(char *cipherString, int keyLen)
{
SECOidTag tag;
- SECOidData *oid;
SECOidTag cipher;
- /* future enhancement: accept dotted oid spec? */
-
/* future enhancement: provide 'friendlier' typed in names for
* pbe mechanisms.
*/
/* look for the oid tag by Description */
+ tag = PKCS12U_FindTagFromString(cipherString);
+ if (tag == SEC_OID_UNKNOWN) {
+ return tag;
+ }
+
cipher = SEC_OID_UNKNOWN;
- for (tag = 1; (oid = SECOID_FindOIDByTag(tag)) != NULL; tag++) {
- /* only interested in oids that we actually understand */
- if (oid->mechanism == CKM_INVALID_MECHANISM) {
- continue;
- }
- if (PORT_Strcasecmp(oid->desc, cipherString) != 0) {
- continue;
- }
- /* we found a match... get the PBE version of this
- * cipher... */
- if (!SEC_PKCS5IsAlgorithmPBEAlgTag(tag)) {
- cipher = SEC_PKCS5GetPBEAlgorithm(tag, keyLen);
- /* no eqivalent PKCS5/PKCS12 cipher, use the raw
- * encryption tag we got and pass it directly in,
- * pkcs12 will use the pkcsv5 mechanism */
- if (cipher == SEC_OID_PKCS5_PBES2) {
- cipher = tag;
- } else if (cipher == SEC_OID_PKCS5_PBMAC1) {
- /* make sure we have not macing ciphers here */
- cipher = SEC_OID_UNKNOWN;
- }
- } else {
+ /* we found a match... get the PBE version of this
+ * cipher... */
+ if (!SEC_PKCS5IsAlgorithmPBEAlgTag(tag)) {
+ cipher = SEC_PKCS5GetPBEAlgorithm(tag, keyLen);
+ /* no eqivalent PKCS5/PKCS12 cipher, use the raw
+ * encryption tag we got and pass it directly in,
+ * pkcs12 will use the pkcsv5 mechanism */
+ if (cipher == SEC_OID_PKCS5_PBES2) {
cipher = tag;
+ } else if (cipher == SEC_OID_PKCS5_PBMAC1) {
+ /* make sure we have not macing ciphers here */
+ cipher = SEC_OID_UNKNOWN;
}
- break;
+ } else {
+ cipher = tag;
}
return cipher;
}
+SECOidTag
+PKCS12U_MapHashFromString(char *hashString)
+{
+ SECOidTag hashAlg;
+
+ /* look for the oid tag by Description */
+ hashAlg = PKCS12U_FindTagFromString(hashString);
+ if (hashAlg == SEC_OID_UNKNOWN) {
+ return hashAlg;
+ }
+ /* make sure it's a hashing oid */
+ if (HASH_GetHashTypeByOidTag(hashAlg) == HASH_AlgNULL) {
+ return SEC_OID_UNKNOWN;
+ }
+ return hashAlg;
+}
+
static void
p12u_EnableAllCiphers()
{
@@ -917,7 +948,7 @@ p12u_EnableAllCiphers()
SEC_PKCS12EnableCipher(PKCS12_AES_CBC_128, 1);
SEC_PKCS12EnableCipher(PKCS12_AES_CBC_192, 1);
SEC_PKCS12EnableCipher(PKCS12_AES_CBC_256, 1);
- SEC_PKCS12SetPreferredCipher(PKCS12_DES_EDE3_168, 1);
+ SEC_PKCS12SetPreferredCipher(PKCS12_AES_CBC_256, 1);
}
static PRUintn
@@ -963,7 +994,8 @@ enum {
opt_Cipher,
opt_CertCipher,
opt_KeyLength,
- opt_CertKeyLength
+ opt_CertKeyLength,
+ opt_Mac
};
static secuCommandFlag pk12util_options[] =
@@ -984,7 +1016,8 @@ static secuCommandFlag pk12util_options[] =
{ /* opt_Cipher */ 'c', PR_TRUE, 0, PR_FALSE },
{ /* opt_CertCipher */ 'C', PR_TRUE, 0, PR_FALSE },
{ /* opt_KeyLength */ 'm', PR_TRUE, 0, PR_FALSE, "key_len" },
- { /* opt_CertKeyLength */ 0, PR_TRUE, 0, PR_FALSE, "cert_key_len" }
+ { /* opt_CertKeyLength */ 0, PR_TRUE, 0, PR_FALSE, "cert_key_len" },
+ { /* opt_Mac */ 'M', PR_TRUE, 0, PR_FALSE, PR_FALSE }
};
int
@@ -998,9 +1031,9 @@ main(int argc, char **argv)
char *export_file = NULL;
char *dbprefix = "";
SECStatus rv;
- SECOidTag cipher =
- SEC_OID_PKCS12_V2_PBE_WITH_SHA1_AND_3KEY_TRIPLE_DES_CBC;
- SECOidTag certCipher;
+ SECOidTag cipher = SEC_OID_AES_256_CBC;
+ SECOidTag hash = SEC_OID_SHA256;
+ SECOidTag certCipher = SEC_OID_AES_128_CBC;
int keyLen = 0;
int certKeyLen = 0;
secuCommand pk12util;
@@ -1114,7 +1147,6 @@ main(int argc, char **argv)
}
}
- certCipher = PK11_IsFIPS() ? SEC_OID_UNKNOWN : SEC_OID_PKCS12_V2_PBE_WITH_SHA1_AND_40_BIT_RC2_CBC;
if (pk12util.options[opt_CertCipher].activated) {
char *cipherString = pk12util.options[opt_CertCipher].arg;
@@ -1132,6 +1164,18 @@ main(int argc, char **argv)
}
}
}
+ if (pk12util.options[opt_Mac].activated) {
+ char *hashString = pk12util.options[opt_Mac].arg;
+
+ hash = PKCS12U_MapHashFromString(hashString);
+ /* We don't support creating Mac-less pkcs 12 files */
+ if (hash == SEC_OID_UNKNOWN) {
+ PORT_SetError(SEC_ERROR_INVALID_ALGORITHM);
+ SECU_PrintError(progName, "Algorithm: \"%s\"", hashString);
+ pk12uErrno = PK12UERR_INVALIDALGORITHM;
+ goto done;
+ }
+ }
if (pk12util.options[opt_Import].activated) {
P12U_ImportPKCS12Object(import_file, slot, &slotPw, &p12FilePw);
@@ -1139,7 +1183,7 @@ main(int argc, char **argv)
} else if (pk12util.options[opt_Export].activated) {
P12U_ExportPKCS12Object(pk12util.options[opt_Nickname].arg,
export_file, slot, cipher, certCipher,
- &slotPw, &p12FilePw);
+ hash, &slotPw, &p12FilePw);
} else if (pk12util.options[opt_List].activated) {
P12U_ListPKCS12File(import_file, slot, &slotPw, &p12FilePw);
diff --git a/security/nss/cmd/pp/pp.c b/security/nss/cmd/pp/pp.c
index d6e276834c378..b89b9ad0d9845 100644
--- a/security/nss/cmd/pp/pp.c
+++ b/security/nss/cmd/pp/pp.c
@@ -27,14 +27,13 @@ Usage(char *progName)
progName);
fprintf(stderr, "Pretty prints a file containing ASN.1 data in DER or ascii format.\n");
fprintf(stderr, "%-14s Specify input and display type:", "-t type");
-#ifdef HAVE_EPV_TEMPLATE
fprintf(stderr, " %s (sk),", SEC_CT_PRIVATE_KEY);
-#endif
fprintf(stderr, "\n");
fprintf(stderr, "%-14s %s (pk), %s (c), %s (cr),\n", "", SEC_CT_PUBLIC_KEY,
SEC_CT_CERTIFICATE, SEC_CT_CERTIFICATE_REQUEST);
- fprintf(stderr, "%-14s %s (ci), %s (p7), %s or %s (n).\n", "", SEC_CT_CERTIFICATE_ID,
- SEC_CT_PKCS7, SEC_CT_CRL, SEC_CT_NAME);
+ fprintf(stderr, "%-14s %s (ci), %s (p7), %s (p12), %s or %s (n).\n", "",
+ SEC_CT_CERTIFICATE_ID, SEC_CT_PKCS7, SEC_CT_PKCS12,
+ SEC_CT_CRL, SEC_CT_NAME);
fprintf(stderr, "%-14s (Use either the long type name or the shortcut.)\n", "");
fprintf(stderr, "%-14s Input is in ascii encoded form (RFC1113)\n",
"-a");
@@ -159,11 +158,9 @@ main(int argc, char **argv)
SECU_PrintCertificateRequest);
} else if (PORT_Strcmp(typeTag, SEC_CT_CRL) == 0) {
rv = SECU_PrintSignedData(outFile, &data, "CRL", 0, SECU_PrintCrl);
-#ifdef HAVE_EPV_TEMPLATE
} else if (PORT_Strcmp(typeTag, SEC_CT_PRIVATE_KEY) == 0 ||
PORT_Strcmp(typeTag, "sk") == 0) {
rv = SECU_PrintPrivateKey(outFile, &data, "Private Key", 0);
-#endif
} else if (PORT_Strcmp(typeTag, SEC_CT_PUBLIC_KEY) == 0 ||
PORT_Strcmp(typeTag, "pk") == 0) {
rv = SECU_PrintSubjectPublicKeyInfo(outFile, &data, "Public Key", 0);
@@ -174,6 +171,9 @@ main(int argc, char **argv)
} else if (PORT_Strcmp(typeTag, SEC_CT_NAME) == 0 ||
PORT_Strcmp(typeTag, "n") == 0) {
rv = SECU_PrintDERName(outFile, &data, "Name", 0);
+ } else if (PORT_Strcmp(typeTag, SEC_CT_PKCS12) == 0 ||
+ PORT_Strcmp(typeTag, "p12") == 0) {
+ rv = SECU_PrintPKCS12(outFile, &data, "PKCS #12 File", 0);
} else {
fprintf(stderr, "%s: don't know how to print out '%s' files\n",
progName, typeTag);
diff --git a/security/nss/cmd/selfserv/selfserv.c b/security/nss/cmd/selfserv/selfserv.c
index 6b6f53a353e20..00de3a6b7d911 100644
--- a/security/nss/cmd/selfserv/selfserv.c
+++ b/security/nss/cmd/selfserv/selfserv.c
@@ -1894,16 +1894,23 @@ configureEchWithPublicName(PRFileDesc *model_sock, const char *public_name)
SECKEYPrivateKey *privKey = NULL;
SECOidData *oidData;
char *echConfigBase64 = NULL;
+ PRUint8 configId = 0;
PRUint8 configBuf[1000];
unsigned int len = 0;
- unsigned int echCipherSuite = ((unsigned int)HpkeKdfHkdfSha256 << 16) |
- HpkeAeadChaCha20Poly1305;
+ HpkeSymmetricSuite echCipherSuite = { HpkeKdfHkdfSha256,
+ HpkeAeadChaCha20Poly1305 };
+
PK11SlotInfo *slot = PK11_GetInternalKeySlot();
if (!slot) {
errWarn("PK11_GetInternalKeySlot failed");
return SECFailure;
}
+ if (PK11_GenerateRandom(&configId, sizeof(configId)) != SECSuccess) {
+ errWarn("Failed to generate random configId");
+ goto loser;
+ }
+
oidData = SECOID_FindOIDByTag(SEC_OID_CURVE25519);
if (oidData && (2 + oidData->oid.len) < sizeof(paramBuf)) {
ecParams.data[0] = SEC_ASN1_OBJECT_ID;
@@ -1916,16 +1923,17 @@ configureEchWithPublicName(PRFileDesc *model_sock, const char *public_name)
}
privKey = PK11_GenerateKeyPair(slot, CKM_EC_KEY_PAIR_GEN, &ecParams,
&pubKey, PR_FALSE, PR_FALSE, NULL);
-
if (!privKey || !pubKey) {
errWarn("Failed to generate ECH keypair");
goto loser;
}
- rv = SSL_EncodeEchConfig(echParamsStr, &echCipherSuite, 1,
- HpkeDhKemX25519Sha256, pubKey, 50,
- configBuf, &len, sizeof(configBuf));
+
+ rv = SSL_EncodeEchConfigId(configId, echParamsStr, 100,
+ HpkeDhKemX25519Sha256, pubKey,
+ &echCipherSuite, 1,
+ configBuf, &len, sizeof(configBuf));
if (rv != SECSuccess) {
- errWarn("SSL_EncodeEchConfig failed");
+ errWarn("SSL_EncodeEchConfigId failed");
goto loser;
}
diff --git a/security/nss/coreconf/config.gypi b/security/nss/coreconf/config.gypi
index 951e9abd15871..eec50ddbb74cd 100644
--- a/security/nss/coreconf/config.gypi
+++ b/security/nss/coreconf/config.gypi
@@ -573,11 +573,6 @@
'NSS_DISABLE_DBM',
],
}],
- [ 'enable_draft_hpke==1', {
- 'defines': [
- 'NSS_ENABLE_DRAFT_HPKE',
- ],
- }],
[ 'disable_libpkix==1', {
'defines': [
'NSS_DISABLE_LIBPKIX',
diff --git a/security/nss/coreconf/config.mk b/security/nss/coreconf/config.mk
index 4ae941c479441..d4c9ccaa1f880 100644
--- a/security/nss/coreconf/config.mk
+++ b/security/nss/coreconf/config.mk
@@ -195,10 +195,6 @@ ifdef NSS_PKIX_NO_LDAP
DEFINES += -DNSS_PKIX_NO_LDAP
endif
-ifdef NSS_ENABLE_DRAFT_HPKE
-DEFINES += -DNSS_ENABLE_DRAFT_HPKE
-endif
-
# FIPS support requires startup tests to be executed at load time of shared modules.
# For performance reasons, these tests are disabled by default.
# When compiling binaries that must support FIPS mode,
diff --git a/security/nss/coreconf/coreconf.dep b/security/nss/coreconf/coreconf.dep
index 590d1bfaeee3f..5182f75552c81 100644
--- a/security/nss/coreconf/coreconf.dep
+++ b/security/nss/coreconf/coreconf.dep
@@ -10,4 +10,3 @@
*/
#error "Do not include this header file."
-
diff --git a/security/nss/doc/pk12util.xml b/security/nss/doc/pk12util.xml
index 1bd218d147d7f..0b68beb7ff59d 100644
--- a/security/nss/doc/pk12util.xml
+++ b/security/nss/doc/pk12util.xml
@@ -28,11 +28,17 @@
pk12util
-i p12File|-l p12File|-o p12File
+ -c keyCipher
+ -C certCipher
-d [sql:]directory
-h tokenname
+ -m | --key-len keyLength
+ -M hashAlg
+ -n certname
-P dbprefix
-r
-v
+ --cert-key-len certKeyLength
-k slotPasswordFile|-K slotPassword
-w p12filePasswordFile|-W p12filePassword
@@ -107,6 +113,12 @@
Specify the desired length of the symmetric key to be used to encrypt the private key.
+
+ -M hashAlg
+ Specify the hash algorithm used in the pkcs #12 mac. This algorithm also specifies the HMAC used in the prf when using pkcs #5 v2.
+
+
+
--cert-key-len certKeyLength
Specify the desired length of the symmetric key to be used to encrypt the certificates and other meta-data.
diff --git a/security/nss/doc/pp.xml b/security/nss/doc/pp.xml
index 24efdf876b715..8b42367218b5e 100644
--- a/security/nss/doc/pp.xml
+++ b/security/nss/doc/pp.xml
@@ -40,7 +40,7 @@
Description
pp pretty-prints private and public key, certificate, certificate-request,
- pkcs7 or crl files
+ pkcs7, pkcs12 or crl files
@@ -53,7 +53,7 @@
type
- specify the input, one of {private-key | public-key | certificate | certificate-request | pkcs7 | crl}
+ specify the input, one of {private-key | public-key | certificate | certificate-request | pkcs7 | pkcs12 | crl | name}
diff --git a/security/nss/gtests/common/testvectors/hpke-convert.py b/security/nss/gtests/common/testvectors/hpke-convert.py
new file mode 100755
index 0000000000000..c53f413cc7013
--- /dev/null
+++ b/security/nss/gtests/common/testvectors/hpke-convert.py
@@ -0,0 +1,62 @@
+#!/usr/bin/env python3
+# This script converts the test vectors referenced by the specification into
+# a form that matches our implementation.
+
+import json
+import sys
+
+
+def pkcs8(sk, pk):
+ print(
+ f'"3067020100301406072a8648ce3d020106092b06010401da470f01044c304a0201010420{sk}a123032100{pk}",'
+ )
+
+
+i = 0
+for tc in json.load(sys.stdin):
+ # Only mode_base and mode_psk
+ if tc["mode"] != 0 and tc["mode"] != 1:
+ continue
+ # X25519
+ if tc["kem_id"] != 32:
+ continue
+ # SHA-2 256, 384, and 512 (1..3)
+ if not tc["kdf_id"] in [1, 2, 3]:
+ continue
+ # AES-128-GCM, AES-256-GCM, and ChaCha20Poly1305 (1..3 also)
+ if not tc["aead_id"] in [1, 2, 3]:
+ continue
+
+ print(f"{{{i},")
+ print(f"static_cast({tc['mode']}),")
+ print(f"static_cast({tc['kem_id']}),")
+ print(f"static_cast({tc['kdf_id']}),")
+ print(f"static_cast({tc['aead_id']}),")
+ print(f'"{tc["info"]}", // info')
+ pkcs8(tc["skEm"], tc["pkEm"])
+ pkcs8(tc["skRm"], tc["pkRm"])
+ print(f'"{tc.get("psk", "")}", // psk')
+ print(f'"{tc.get("psk_id", "")}", // psk_id')
+ print(f'"{tc["enc"]}", // enc')
+ print(f'"{tc["key"]}", // key')
+ print(f'"{tc["base_nonce"]}", // nonce')
+
+ print("{ // Encryptions")
+ for e in tc["encryptions"]:
+ print("{")
+ print(f'"{e["plaintext"]}", // pt')
+ print(f'"{e["aad"]}", // aad')
+ print(f'"{e["ciphertext"]}", // ct')
+ print("},")
+ print("},")
+
+ print("{ // Exports")
+ for e in tc["exports"]:
+ print("{")
+ print(f'"{e["exporter_context"]}", // context')
+ print(f'{e["L"]}, // len')
+ print(f'"{e["exported_value"]}", // exported')
+ print("},")
+ print("},")
+ print("},")
+ i = i + 1
diff --git a/security/nss/gtests/common/testvectors/hpke-vectors.h b/security/nss/gtests/common/testvectors/hpke-vectors.h
index afed3fea8c9df..2302e44ac9a74 100644
--- a/security/nss/gtests/common/testvectors/hpke-vectors.h
+++ b/security/nss/gtests/common/testvectors/hpke-vectors.h
@@ -45,199 +45,22159 @@ typedef struct hpke_vector_str {
} hpke_vector;
const hpke_vector kHpkeTestVectors[] = {
- // A.1. DHKEM(X25519, HKDF-SHA256), HKDF-SHA256, AES-128-GCM, Base mode
- {0,
- static_cast(0),
- static_cast(32),
- static_cast(1),
- static_cast(1),
- "4f6465206f6e2061204772656369616e2055726e",
- "3067020100301406072a8648ce3d020106092b06010401da470f01044c304a02010104206"
- "cee2e2755790708a2a1be22667883a5e3f9ec52810404a0d889a0ed3e28de00a123032100"
- "950897e0d37a8bdb0f2153edf5fa580a64b399c39fbb3d014f80983352a63617",
- "3067020100301406072a8648ce3d020106092b06010401da470f01044c304a0201010420e"
- "caf25b8485bcf40b9f013dbb96a6230f25733b8435bba0997a1dedbc7f78806a123032100"
- "a5912b20892e36905bac635267e2353d58f8cc7525271a2bf57b9c48d2ec2c07",
- "",
- "",
- "950897e0d37a8bdb0f2153edf5fa580a64b399c39fbb3d014f80983352a63617",
- "e20cee1bf5392ad2d3a442e231f187ae",
- "5d99b2f03c452f7a9441933a",
- {// Encryptions
- {"4265617574792069732074727574682c20747275746820626561757479",
- "436f756e742d30",
- "9418f1ae06eddc43aa911032aed4a951754ee2286a786733761857f8d96a7ec8d852da9"
- "3bc5eeab49623344aba"},
- {"4265617574792069732074727574682c20747275746820626561757479",
- "436f756e742d31",
- "74d69c61899b9158bb50e95d92fbad106f612ea67c61b3c4bef65c8bf3dc18e17bf41ec"
- "4c408688aae58358d0e"},
- {"4265617574792069732074727574682c20747275746820626561757479",
- "436f756e742d32",
- "e6602db9be05d81c4ab8fa621bc35993a7b759851075a34b3bffd257340011c70c9fa1f"
- "5c11868a076fc3adb3b"}},
- {// Exports
- {"", 32,
- "be82c06bd83fd6edd74385de5a70859b9e03def4c7bb224a10cfae86087f8a25"},
- {"00", 32,
- "82cbfd3c2b2db75e2311d457e569cf12b6387eb4309bca8e77adb2f2b599fc85"},
- {"54657374436f6e74657874", 32,
- "c8387c1e6ec4f026c7f3577e3f29df51f46161295eec84c4f64a9174f7b64e4f"}}},
-
- // A.1. DHKEM(X25519, HKDF-SHA256), HKDF-SHA256, AES-128-GCM, PSK mode
- {1,
- static_cast(1),
- static_cast(32),
- static_cast(1),
- static_cast(1),
- "4f6465206f6e2061204772656369616e2055726e",
- "3067020100301406072a8648ce3d020106092b06010401da470f01044c304a02010104204"
- "c1feed23e15ec6a55b8457e0c0f42a3a1ab3ccc309b7cbb7ac6165fc657bd3ba123032100"
- "f16fa9440b2cb36c855b4b82fb87e1c02ce656dd132f7a7aec739294b6912768",
- "3067020100301406072a8648ce3d020106092b06010401da470f01044c304a02010104208"
- "e5430f0d821407670e5e3f6eecc9f52b2cad27b15a5fad1f3d05359ae30d81ca123032100"
- "13c789187a2dda71889e4b98dc5443624ae68f309cea91865561cfa207586e3a",
- "0247fd33b913760fa1fa51e1892d9f307fbe65eb171e8132c2af18555a738b82",
- "456e6e796e20447572696e206172616e204d6f726961",
- "f16fa9440b2cb36c855b4b82fb87e1c02ce656dd132f7a7aec739294b6912768",
- "70030b55bfb737d4f4355cf62302d281",
- "746d5e6255902701c3e0b99f",
- {// Encryptions
- {"4265617574792069732074727574682c20747275746820626561757479",
- "436f756e742d30",
- "63f7ed3d99e625d4a7373982b5f04daf0c3dfff39cac4b38eeb9d5c225cc3183bdbc91a"
- "053db9b195319cc8c45"},
- {"4265617574792069732074727574682c20747275746820626561757479",
- "436f756e742d31",
- "65e7160f80fdf47893a5abe1edcff46c85899f04acb97882e194ce6d4fceec2dc4cb2d3"
- "abe5d969880722859b2"},
- {"4265617574792069732074727574682c20747275746820626561757479",
- "436f756e742d32",
- "915e08e6e340fca64982e90ad93490826bfb74af8f48062212c87105dad2b7569c83688"
- "e564ed5862592b77cdc"}},
- {// Exports
- {"", 32,
- "7c40ceb745e14d19fceeac6e4756c796957fe5ff28709198c3f8cbdb5d368fe1"},
- {"00", 32,
- "1ef0fd07bd40326f1b88f3545c92969cff202ca7186b9fd1315241f93fcc2edf"},
- {"54657374436f6e74657874", 32,
- "997368419db9490aa96c977cdd90bda8fd6234054d4add3d2f31aaaa2f8c1172"}}},
- // A.2. DHKEM(X25519, HKDF-SHA256), HKDF-SHA256, ChaCha20Poly1305, Base
- // mode
- {2,
- static_cast(0),
- static_cast(32),
- static_cast(1),
- static_cast(3),
- "4f6465206f6e2061204772656369616e2055726e",
- "3067020100301406072a8648ce3d020106092b06010401da470f01044c304a0201010420e"
- "fda8f0538ce6ab9f165aae26e02ad96dcb1775b248267174aeb3d140e002ee3a123032100"
- "1440805f4e60cbd34835baf0813c3071d17def1dbd8c04e75889bb2271d7823a",
- "3067020100301406072a8648ce3d020106092b06010401da470f01044c304a02010104201"
- "4365bb26500e7cf263720c4ab04bd45b8e146b4f724facd1fa01d58b63975e4a123032100"
- "26147d5c2978bccc3cc03a4f9ac607560b5d83f852be4e9024f2cb7207d4c30e",
- "",
- "",
- "1440805f4e60cbd34835baf0813c3071d17def1dbd8c04e75889bb2271d7823a",
- "a17448a542d0d6d75e3b21be0a1f68607904b4802c6b19a7e7e90976aa00a5c8",
- "6f6b832dba944a91e5684514",
- {// Encryptions
- {"4265617574792069732074727574682c20747275746820626561757479",
- "436f756e742d30",
- "1b9ce69bd0e6b4242ac2dd841ef093fc9dfa9e684f81c2d1778fd3268ca5aa7d612cd87"
- "f72acd2aeaee084dee2"},
- {"4265617574792069732074727574682c20747275746820626561757479",
- "436f756e742d31",
- "f041fb8de275b5319587269cb39190029906b9267eb5619b7bec8a5e0b3b3a0bead1696"
- "17f2c4d45d028b1b654"},
- {"4265617574792069732074727574682c20747275746820626561757479",
- "436f756e742d32",
- "0042c74002608a20e432ee9628e84cba76482aca29359e93d60067371be547355acca2c"
- "271a2072b85a77a6237"}},
- {// Exports
- {"", 32,
- "996dc6fda1dc47e687613e0e221d64a3598e1ead9585177d22f230716569c04d"},
- {"00", 32,
- "6d07b4e3e06ace3dc3f1b2a0826a0f896aa828769ff993c2e3829ae40325c27d"},
- {"54657374436f6e74657874", 32,
- "bb69068c4f7767331512d375e4ab0ca0c6c51446040096ea0ae1cc3f9a3f54bd"}}},
- // A.2. DHKEM(X25519, HKDF-SHA256), HKDF-SHA256, ChaCha20Poly1305, PSK
- // mode
- {3,
- static_cast(1),
- static_cast(32),
- static_cast(1),
- static_cast(3),
- "4f6465206f6e2061204772656369616e2055726e",
- "3067020100301406072a8648ce3d020106092b06010401da470f01044c304a0201010420d"
- "b1c9dfba77e1e3b8687ea18af207cffca803bdd983f955376b8271ef9c78a46a123032100"
- "8e4b29035c22b67b3a7a0f5a52f12b3ab17a9ae1f0c63b029137ba09f420224a",
- "3067020100301406072a8648ce3d020106092b06010401da470f01044c304a02010104204"
- "e335da3ec60e68c156586b8217de6801cb83b5a4de413645fcb112c00b2228ba123032100"
- "94ea1227a357dfd3548aadb9ef19d9974add594871498e123390a8bcb4db5d51",
- "0247fd33b913760fa1fa51e1892d9f307fbe65eb171e8132c2af18555a738b82",
- "456e6e796e20447572696e206172616e204d6f726961",
- "8e4b29035c22b67b3a7a0f5a52f12b3ab17a9ae1f0c63b029137ba09f420224a",
- "a603fe0f9897dc6ce042a467d6bd430a01cd679e930f1b5706ad425e4153496d",
- "318e48afae42913a928146e6",
- {// Encryptions
- {"4265617574792069732074727574682c20747275746820626561757479",
- "436f756e742d30",
- "c87f8158a501c7a2f31708bbdba10f9c5ad035624c3153eeb028e65b82f41f38cbe1cd9"
- "aafb10e502d328b83c1"},
- {"4265617574792069732074727574682c20747275746820626561757479",
- "436f756e742d31",
- "aef7a0b0e3a58b177dac9628439b44d1e706724e265ab3b46d791612b51637342479ad9"
- "45607b8b54112bd8c86"},
- {"4265617574792069732074727574682c20747275746820626561757479",
- "436f756e742d32",
- "c00884a5c658213bd4381d65b54d93682692fef9408a6e437a97a904267727269b242d3"
- "d81725ad8f0c764e082"}},
- {// Exports
- {"", 32,
- "23c31ee2757bbecf105f74c90bf1e640b6ddc545dc8d80b1abbf2aa9dd1786ce"},
- {"00", 32,
- "05af7597519945fe8443f7cb84cdb651a8dd18cd7bbbd65d31095d3c69c1257e"},
- {"54657374436f6e74657874", 32,
- "5814619f842c7c328c9657854154e51b581c7bbd3b646bd773be67f93900a109"}}},
- // DHKEM(X25519, HKDF-SHA256), HKDF-SHA512, ChaCha20Poly1305, Base mode
- // Tests KEM.hash != KDF.hash.
- {4,
- static_cast(0),
- static_cast(32),
- static_cast(3),
- static_cast(3),
- "4f6465206f6e2061204772656369616e2055726e",
- "3067020100301406072a8648ce3d020106092b06010401da470f01044c304a02010104200"
- "6e74abcc8b65671d1ef4a6cb273662c6a3b3ff6590852bfebc7bc94887f5c4ea123032100"
- "de2746f66f3e14a3389f570e8f8cc1de4e39a89d1cbb445fad711d7acf407e15",
- "3067020100301406072a8648ce3d020106092b06010401da470f01044c304a02010104202"
- "dc14b2f31b233963f0a2d9a836072f29666fdea84a5893d30254deb9183e0a9a123032100"
- "318f92c9e96142c4ce9a06ea04f7099698ee4160044f2db585d9e2b02abd6041",
- "",
- "",
- "de2746f66f3e14a3389f570e8f8cc1de4e39a89d1cbb445fad711d7acf407e15",
- "4a54adb318d8a420506b0473815a32c2b1923a936fa7c735c8a038a38fcc80d2",
- "9c6d83a59628e7327d19a3d8",
- {// Encryptions
- {"4265617574792069732074727574682c20747275746820626561757479",
- "436f756e742d30",
- "59cbc98df2d7640598377e3184e07c008dea1c264c72a8414028715960ab6d6909a3110"
- "e633a23baf8b9b5e2f1"},
- {"4265617574792069732074727574682c20747275746820626561757479",
- "436f756e742d31",
- "c9a4b68ea349eea9fdf499f7577c9325e9b76f24308a81ac5dfbbee3489dd41c85d7fb3"
- "5e585859ea5c790f155"},
- {"4265617574792069732074727574682c20747275746820626561757479",
- "436f756e742d32",
- "5d9f717b192b43bea1f6bd25ee63d7b88b06019132c31a4e262a4c1d4f01c7bd70d00df"
- "0e2f858cf654ae86447"}},
- {// Exports
- {"", 32,
- "97b0ac016b9dedb5f115cf6fd24b927f8e75b48a2ab6069efe7fec6a18ff4272"},
- {"00", 32,
- "c994b47854104e476d9e47bb15f9fb66f4879f68bc89a4cfccc259e80a30c913"},
- {"54657374436f6e74657874", 32,
- "9199e5beeda45397b1bbee3dd13ad1afbd2963f83d9e5ebdf1e23b6c7e012317"}}},
+ {
+ 0,
+ static_cast(0),
+ static_cast(32),
+ static_cast(1),
+ static_cast(1),
+ "4f6465206f6e2061204772656369616e2055726e", // info
+ "3067020100301406072a8648ce3d020106092b06010401da470f01044c304a"
+ "0201010420ee9fcf08d07241b13b93f2cf6dbdd56f94e940d788c3e4c860f7"
+ "57a08974a883a123032100890e346283bf75af9d786a526c4a191b84d0110c"
+ "794b6aa7e9a0b6205fe2c10c",
+ "3067020100301406072a8648ce3d020106092b06010401da470f01044c304a"
+ "0201010420c867f27c253f720c7074f9b4a495f2c690060629e249f86991bb"
+ "55edf804f7bda1230321008bd766c487fa9266ce3ac898827439aea2fa9c00"
+ "99ab62da954b06f979f2141b",
+ "", // psk
+ "", // psk_id
+ "890e346283bf75af9d786a526c4a191b84d0110c794b6aa7e9a0b6205fe2c1"
+ "0c", // enc
+ "96d0b503c045e18f6e9f62a52d7f59d2", // key
+ "aa39425b7270fcaf1c7b69ec", // nonce
+ {
+ // Encryptions
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d30", // aad
+ "1d2ae93bff2fc322a909669c94372cdd2ac0da261face2a706e417"
+ "a952272f6e5eaa20d0cd15fc28ee52026c4d", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d31", // aad
+ "db308d0077b75c29fd4ebbf3e3ee57312af210d2d2a795e882e8da"
+ "0e5ae5a0775684fc8530aa0c31aea69755b7", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d32", // aad
+ "ae1262b27b76a174a67143392dd384535bb8cd3d3a16ff971baeb8"
+ "1b27847238458e257c024f4fe52e1c2d2512", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d33", // aad
+ "edd95930e4fe6fbacb8e1855b074124ada872beded292c353fc960"
+ "564e09c7051f8b7f5ae944696ff4dde2c69e", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d34", // aad
+ "90abc5e812ab0a5952f2222c12753821ab91e5dbabbf041e7fd21f"
+ "db13045648e90ddd152a183dc2881bd67528", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d35", // aad
+ "36b6c4d62e98a62349015225efa47465704644125e7615c4891196"
+ "a11884f137256563a8c0b831f51719c61aeb", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d36", // aad
+ "a14504cb046f2691521cd9de3e5b12276eb5cc50d2817bef3557e0"
+ "8b3703f4b4ba0618127dcd667172e1d4c979", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d37", // aad
+ "b2a39c3a10cb1d19d12af813d120b43b6ec46bd321a0d5f2667721"
+ "8bed6c34a67f24c93ee904cf69d61f0df4c3", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d38", // aad
+ "30c6d7d697c8d26aceba2d65fe68001afab0a614ddeee48cc1b82c"
+ "b8317b97e28e0e4424c189211edb5dcc81d2", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d39", // aad
+ "8b6c5f1a4c27f89ee3580709229f496a6c61204bd2974d549d6566"
+ "80272edb6dda3b4580fb91147a619f7070c9", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3130", // aad
+ "d4ed2cfb3cfd57c6d3dc8a6fc11c07ebda94c2eb176a9d4af1bd79"
+ "7f0e9bfbd718a28ef9b0f5568aba01ad4998", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3131", // aad
+ "f671644f95ec222c6da648202d2a04bf1573d88bd283fdbb732d48"
+ "cc643a88f08dbe954a7304fd7f65c98d3b53", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3132", // aad
+ "bb07adf300892a6cb60480a0f678025aa1537472d01bd370f559fd"
+ "7f804119d7e3fad41003eb618b48d7ffbc2a", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3133", // aad
+ "b33504371b938457a2d4a0369ef400e7c8cdb3796989a375b48561"
+ "1fda1db61b7df5b2dd11f566e5d89ab1b81f", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3134", // aad
+ "a224e7abe9c2905911d5053688b33e8695d8c293aaffdf4540f0f6"
+ "054db656dec90c72b5fcd17daf7065e65657", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3135", // aad
+ "781b37e555ab7d02c31c6414fbbce500d607290e75c0de637dd0fe"
+ "1c48575260d1b67799d99c28bbb8f5415545", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3136", // aad
+ "d1794d5cf67f0fe49a9c5afdc299f71d934064665b58e7cd393514"
+ "5f5774f50f9da48299eb8119f524458141f5", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3137", // aad
+ "2766a39f84486aa24c04326aafa7d5c02b19e728d921bd979ba8a9"
+ "b9095f5b8c8939135a1e8776033ce618b378", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3138", // aad
+ "c031311ef1a9a302a6a906a0ad70e8d35ee2150dada3333e4cd4d5"
+ "af20dbb2c5e5cdff75f1e5aaafb2b6b7c5aa", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3139", // aad
+ "9ded23ea08881341ef7c3c97cd22fc466af2b6afe455afc50f84f2"
+ "bd3df06550eaa6fcfd7a5dabf05a9ce6d4b1", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3230", // aad
+ "d9168b9a98ad05c723a404ca6a290eab6ce1a33cdc92ff3031c2d7"
+ "f6c84599c2a900a5f1293100232b86eef82b", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3231", // aad
+ "87f732a130360966477b817a1382c0cf5480f7f7621d09e150081e"
+ "16a83ea74d76369e56a86f5dffa669ae5653", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3232", // aad
+ "55cb0c7877d3fd62aa0185de229fc9e15b47a7bc876307dda3d541"
+ "e236bf02cad5823f2b7041f40f6491000e34", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3233", // aad
+ "120e20c06de63697e495df12abca1621db380b6ef2f9d748aeb208"
+ "666b757967d9e294df17af9f1825db14ed6f", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3234", // aad
+ "b81c227124217e51dade09a3bd140f030d9d39a1b2f84473a7afa7"
+ "44c43059dea17f6bd10f798b3becc12537b5", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3235", // aad
+ "935afc24ee2513998ca37ca1909fbf9f536e52c2f0d425f24aa589"
+ "ffc3e44d46a70025ba4c85a336dd8cf0c60e", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3236", // aad
+ "0745f4766085e72e03e9cadbf161d68da530603cc4459917e7a77c"
+ "a5ee07833b282fbded9d55a329165cdaae9a", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3237", // aad
+ "532db0ff603a356194134fd69658fe4f584edc296320d5a4481278"
+ "1f34a49596bd1ad94697f17760cb141c1e6c", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3238", // aad
+ "e7a471153746f4ef2e8c5044e7030c944a32ccc8b516e9c62d1011"
+ "15d080e6cabfa3bf54cc44b0774b02893ab4", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3239", // aad
+ "6e6e2a6e2e6d9a98b5c726f55755043f5a133e31d8c853cdc74a72"
+ "dab862a3aa3ba703b6cecf9714b75832f758", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3330", // aad
+ "3c1ae9df0865a3784c547c811a7544618d0839f316706ad2224329"
+ "e66d3b409c095e2efcddee6850c90a219209", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3331", // aad
+ "d51aa34842e127fb8a5a75427609d05acaa6df972b90671294e3a9"
+ "cd95e158351d4d30e8859bdb4c94632e3151", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3332", // aad
+ "3e41fe57509a417274ca3b0bb438f8d024f0fa0a20aeb37d334c17"
+ "3a4990e3157a9e7c373056d6c489640f0858", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3333", // aad
+ "878a220d65f909536b4f5f5fa6bfadedfdb7af717df0aeb07dc27c"
+ "571884089a8f1d3d270cc45a4ef1d7cd0afe", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3334", // aad
+ "e4fec60771c10320648b6099e0dc5abbfd008156eb41e1db10fa50"
+ "a98385a1be325ae21a25e5afe4db9b4b12dd", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3335", // aad
+ "0cbdcd88d7f67955687963fb477986754acf8d4c78cd1ea5d3c1d2"
+ "ee0d91828223eeafe772306f063b55f380fb", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3336", // aad
+ "d2c37ab9f846007512f0b19a884db8ff51c2282e312e2108b03a97"
+ "c20bb30201a3ec86bb99f3f03741e4c717b5", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3337", // aad
+ "b4214dbec0ea42951fefce48f3a9a59947eaf57f96fcb694925c55"
+ "06a542eeb66ed4726e930cedb7126028bcf3", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3338", // aad
+ "333270c2cbe0aa0b047817a3038a8568a0935a40e066dd32895238"
+ "0908e9ea332a9e66364aed9d2e755480cb3f", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3339", // aad
+ "24ed2ab293813bf65e260a5ca073241f43ae773820804dd44f228f"
+ "34de0796d0ca660a50af6c5be5b84183df65", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3430", // aad
+ "5a1624b384a5997af6eaa9e751fdc222a63a8b48c11a1175a3a7fc"
+ "f9c766eddd37e182e107d3fc384258d78f31", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3431", // aad
+ "2c41cf9b02d41be0aab17dc2b18f9890454a4ea3060f0c87ef22f3"
+ "c313c463829df833bd42e1727fcc345c53de", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3432", // aad
+ "efe9cfe3dd9f17d61b7ef48960c60a86e51f4292583e8395648e62"
+ "278fe05a32c8bb40a3524658a823650814f9", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3433", // aad
+ "d05ad98aeab2170c05b7cf622b2b1ff0252543c845974be88c64af"
+ "d19b9bf5f8db23d33ccd24e2298da94d5308", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3434", // aad
+ "a64b0f0a87b37b28f5acb75b825ea71223c83b6c71f2755d269a39"
+ "2bcec696093b1d406b82a5983de804e295fd", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3435", // aad
+ "e6fd419f4cd84464ebe505d909bb62ef16e5d493c1d19294a800ea"
+ "91da4e929f4c407d37ac0b7a61099c821560", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3436", // aad
+ "99b45a2e3a53e6d5fbcc0d4dbfc3408944a9ff84eac764badde05e"
+ "e0af7b8e7206821219dda0d838f78c2321b4", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3437", // aad
+ "91d3a11c90e1b250828d2ec5665a5bc0302985798b513b67a84ce4"
+ "55f9fa1438d486fee1987bdf901a16ba5ab0", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3438", // aad
+ "57e350cbf7afec4a8d75d92d1efb669ed47d49ccdb4b11d3fcb546"
+ "8a66edf6bdc2568e904d84be91f62fc96b4d", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3439", // aad
+ "d1202b6cc08a86bbb8e79c6f5c70259f0f95f51eb5a0e3aa25e082"
+ "fd6bfeb4ace75bce103c051649e22f5598d1", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3530", // aad
+ "930bb3f53d4f74b16ad9dea7cd15e8325924043bf1988e31f4030c"
+ "c60586f5b025e71ff24a57755b2752e901b0", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3531", // aad
+ "68756e5a97758b8a227b8ef2b6ab941f2fde0a6542ceb1419e14db"
+ "3d0e25ecab3c625caf025048a9980fe17bdb", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3532", // aad
+ "d48a3f52375b35626c5cb718a713c25bbec8d59d9c3636bbdb502f"
+ "6ab5de2d12e5924b7786048aa8727cf07ed0", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3533", // aad
+ "6fa662848e2065f327069382b38f582f32fe642c6e6da0fa463647"
+ "2b9f45e825417d508a44cde924c45c09d7b9", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3534", // aad
+ "96a57f2bdd2dfaef059bb3f2b56b86948e7ea2d46b8eb350687c86"
+ "d757b47667f17640cc9658dc6d6d292900d1", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3535", // aad
+ "c80a022ee885d9523691c6b08318fd84e4565c87a3b18c26cb5797"
+ "2a4ca22108ed01b4cf65a024b812f9b23eda", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3536", // aad
+ "bc4d77717c81cf86eb2b67873e5a018164caf8f99ddf02b3a4a40b"
+ "f9c142da0a9b55b717dd65698a77e2cdbaf7", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3537", // aad
+ "8686f18253d1703350bf89d8efcdd190d5b15a906c9eec926132fa"
+ "e636c1101cfd9925a591b9bd14cab8cf92c3", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3538", // aad
+ "7fcc91a68123b193cd7ffcd628558d690439cdb77e7e0f20d1e9ee"
+ "c033a16c3853e65664bfc4a45ed73c593246", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3539", // aad
+ "9545671024ec1120dc757e24cb64bb3bfe807047faa9d67f045aed"
+ "a23841c69599583bbef3083dae9833c78e0f", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3630", // aad
+ "426163356e776435e8e11ffeec243660f4f535272e215a276d3ab9"
+ "25dea7d46d62d371060a422068daf76c6b11", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3631", // aad
+ "faf2c79412856b6e630cbaa80653e72ffcf8272a48a0be945c5efd"
+ "1583d11ad09508ada36fdf00e12a4eefc575", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3632", // aad
+ "8add0990e6b642f507828c6d8d7a334c921607fb014ce3de7e88f2"
+ "eccaa54c96b3f687d425f7ce4936cdecca96", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3633", // aad
+ "1712770f74d7203037ba58a604b9b9ab85f7422b964e09030b1abe"
+ "4e94e3ed87031e39351eb3e7110fd41e09db", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3634", // aad
+ "eb593aa8d9b07de951232627a78f7e0cc012d50965b91ce10971bc"
+ "55798561a1212a0270414095ccdd02cbe15b", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3635", // aad
+ "49e0f25f39dcf0346dfae474d101eaec8f359c8e6fcedf013d4ba2"
+ "484555e0ef2cea4a4b326df00ebff00b9ae9", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3636", // aad
+ "4a06727544c172b5a835d39192edca790e0a2743d6da616b0b0e2e"
+ "dbcada0ebb0e38cb823da8fba4ddca09b315", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3637", // aad
+ "b1e0d07c7cbc6609765648c202e3e625a95a4f362f465b01f80818"
+ "08be3ed15a3c42ec199332c401223673312c", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3638", // aad
+ "62d83995435e6f714ff8e8aeebb6ad8370f8025915deb73bbc29d6"
+ "50ae644b75f6c08220a4933247983aa64280", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3639", // aad
+ "96843cd39037445382b873172316d9b6d5339d4bdc4554b1eaee4b"
+ "9de74ded846e0495a517959d95a5d2fc922a", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3730", // aad
+ "5ff47373de13249fdb7a974b6ff02ea359603da5bcb9d21a4ebad2"
+ "7b01aa8446bb6e5e71ce4d99f4a024fefa1a", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3731", // aad
+ "9b2c19dd01962f3ddf62eb9316d5bcb58238d3081ac2de88ec3931"
+ "98889e4500f21697d21a544764ce5dcef979", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3732", // aad
+ "c6a626a34298c6731a399d0b8447ade39e6043fe081b9a21447734"
+ "5364cb061efb86574b52d051f186c27b4675", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3733", // aad
+ "7a852c748d02c768efcb9c2764bd827a7862cf0ecc99216b57e0af"
+ "12da2400f00c1fcdecf6de177259a4e5fb7e", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3734", // aad
+ "f784d0a82f0f042adbe0e7131a829227760b31ef28377d967c80d9"
+ "05bbea64464d42c58a7a89b4221b8c4f0e1c", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3735", // aad
+ "9fdaf9f447996a7b384a6ade7b07f4fbce8c37f54a57cf146cd823"
+ "cf91258431502422ea9c39fce5cd63a4506a", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3736", // aad
+ "f94749cf4a852bfbbf8baa0a0a65e1947ee786e29feb0f48cdd4b9"
+ "f1808800934bb1220e637db7a7e534c66b6a", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3737", // aad
+ "b67e26377d97c2540099cb6df17bc2d9e5b9e947535be207adc04f"
+ "8f36b63e14867364ccd1e1dce2aeacc6e38d", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3738", // aad
+ "5cbefee3fb936665c906b78f47415724240bb94c56cb8d51582834"
+ "bf9ddaee79eae9dc77458599ca2980f44646", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3739", // aad
+ "c35c79e7cd9a6bc675db9b87a8f2c1990eb22e1ce04cf4fff338c5"
+ "331ad132e0cc1d25f1da6d172ece852c98db", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3830", // aad
+ "cad29b671ecf8cd5bddffe39d09e5824a899f1807bd1e47a2f4ae9"
+ "3bff7acb2c473b64308ed80d54b21cd975d9", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3831", // aad
+ "0d9b81e4313e0c2334f4b2b5366d8ad2d9e2f060ca3fc2b6e02d2a"
+ "7cebbd20be4fa1f5ba6f339656f62a1c0aa2", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3832", // aad
+ "399c03181c698d704da5b294c60bcec70be3423305a53c6b5649c3"
+ "d3db02710ff2ce6e335a5acb1415184587fc", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3833", // aad
+ "be351a29901231ad773a517dffd7cefd15b9508ef59b5c148de2ac"
+ "b9c93835899027afe6d754389bfb6ea1c00c", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3834", // aad
+ "8eb930635a637a8006080c7dd018472ef355a473f5709e99f6ca2d"
+ "78905aff407050e743e8908ad5c06409715f", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3835", // aad
+ "e839db48c6b9bc8864116c8467030024faabda7a9e76134c6e76f6"
+ "d717deea95e98013b8d704684f5d59d0c5f6", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3836", // aad
+ "cf4a37268d559688135c014caf86181d3706e61ab3588d1b7c445d"
+ "3bb6261cc3627e84f9d372b095ca6c203d5f", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3837", // aad
+ "da644855175c6db93864bb9de9ada481e5d59587630e3ece51ba66"
+ "69b43ad81a3051767c0cea1498836cb358bc", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3838", // aad
+ "e0dbf28b3e1f70800438ff28ab04d26d607056841341d2dcefc5bb"
+ "c1731a9e6d55629a937e011543dcfe88513f", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3839", // aad
+ "c66c6b5f9aaf53be6d5481013de43b6a965137605eab383b8fff0b"
+ "b31625e7db67028d61fbe575f55027e8b4cf", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3930", // aad
+ "f56f89d4453899018fac7e0b05bcce03b543e9d898cf7a2dcfbb24"
+ "9654c01d6a6bb99776959ad9af66d1e53dc3", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3931", // aad
+ "50ecf6094f6f6c7f7a9bd9a1e1f193090e0244fbb63aec35a53138"
+ "866bb3a1e5545d2b7ed7d30366d57f1fa640", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3932", // aad
+ "782991370a57776aa6d99980117fc71f5002afef9d313984a200b8"
+ "0fa88f6d75f3e981e7f03c16ca9cf8c20c3c", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3933", // aad
+ "4bb859faf17952ebfa8a6c7b75b331f4247dac4960ae4bd6cf229c"
+ "d162543c8631fcb1d4a9c3309aa3d3d867a6", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3934", // aad
+ "39f2175bd88fbf9e92f50fe3f06f20360db95b8d3ec2fb64bb6488"
+ "0a15d3738eae9a8f07d4538850f1e80a7b62", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3935", // aad
+ "1e8c83d1bf0dd02a4e837d448e8576dc35055e66cbaaaae3122705"
+ "3b01e45b488923f1b0849c75f19bd5e9abb5", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3936", // aad
+ "7599ca5023399dee04cf3c1b03f03577fe3b4ca6e8855cbb066239"
+ "3477342e041303892ea0ad419ddd951100c1", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3937", // aad
+ "92bff34fdf341cad9501ee635d35beef79f790208bd11c66991b54"
+ "491d402badf86ddae0fe2b86cacabbf48a84", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3938", // aad
+ "5608e67b99d473203559d7d926a9f3ea3d4f34e7ca07332928a4f2"
+ "b3b7ca8699d774e731d4f1d43c11402409b6", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3939", // aad
+ "1878c54cd9312c70e9f7c14b05c19f25dee49f688e6c6e267a8afc"
+ "6c88e8ed47207ee0fe54292536326c1aa9fc", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313030", // aad
+ "932293c1966e81eec76e8b27b1e2c884efd3a757d13e31fc345a5c"
+ "08c80c1d65521d9aa49e44bdb6e83d1f5868", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313031", // aad
+ "68b29e42259b741e3c6e1f6c70a13db1d47815d03b21ec0b0121d6"
+ "4da1fa37d7fbb2013f5377d1d7b4155fd730", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313032", // aad
+ "99eb9aaf35c31bffe117ac8cdf2197cea33da3cbdd4ef5f9d5d15f"
+ "38279b5ef83d7bd79bc5cc985a80f9671fd5", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313033", // aad
+ "9d6eea97b25dd801f2c7d5fe30eed6a3a7343e92936a4737831c05"
+ "5233fb80db944185c06cec615f0431f787bb", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313034", // aad
+ "2c9f26f4ec4c1cd2776fbb72ad0bf5e13675dee4c3ba5555a5fcef"
+ "3536e9fdbb01dc79578f946339918bba5d5c", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313035", // aad
+ "75b2a056fc92ccf2a072bae00f1ae657026e37cad22ac2c9d47712"
+ "e080b34dcc1bad93669ac3ba02a9e47ae619", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313036", // aad
+ "4ee66c79ef2b77704bf5666da5e53f6c7aee65383241a1a68c554f"
+ "0aa5bd7b318036615fd392d22df9acbd5124", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313037", // aad
+ "ed2e2841ac0f73165c6f9e84ebdd903d7b7bb93b50b936241a1045"
+ "49a294c3a95c418da78f99f3c15dcd15ecf5", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313038", // aad
+ "b88f5d14cc838bd34802a16e1776a316d970ab950c2b45ca4fa257"
+ "00f92668835dd7ec74a709a1aefd82bf3eca", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313039", // aad
+ "f8102c6fdaaa93358f225c3630c5b311aea60f42be35ee35306122"
+ "250447ebf7359a8fff39888e02233253ed1d", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313130", // aad
+ "597a5fb99e9127e10d77bcffe268e87ac82d2be3b65b9d808d9f65"
+ "f64383a62267c86f3dcf67d111a50a2ced73", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313131", // aad
+ "a7e1cc511d6b18d85c3670953bca45c2a451f7acd1029a58bfcbb6"
+ "d490d0897e9d553e718992f450c218cb1b94", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313132", // aad
+ "c761b04701ae13fe1c5e7a96d22eca0f3fdd8b519b979c9d3329f1"
+ "a553476aa65a92b1291bab821910b9ee8d32", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313133", // aad
+ "7f0565c789c9230d103a587cd90196d34c471dc9fb7289a61d7201"
+ "67df7ce222b045807aede5fa8e1a6bee97d0", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313134", // aad
+ "d7c048a61475a9007ad16269b5a2855b6717f4df08995e3a4228d2"
+ "b69a6114bf37e69e80ae5aeecb7ccfe33fe8", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313135", // aad
+ "2994f004a3482cd52e10e30f15901b06df52823fc338a1609ec9b5"
+ "13478132cae2d3deb4fa8c9938a3aeb543f4", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313136", // aad
+ "1251abba4e32b06ff56acb305ff32a0779526262f5442dc23c1828"
+ "73c313be5c45bc12c030ca4a82873c52e3d4", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313137", // aad
+ "7051a631663db8e95c04ea4e37bf307253671892f1752efa5aed59"
+ "0dfd518aefdf60aae8ea41fc37074e520b4b", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313138", // aad
+ "a2aa79624f07ca6f81b947dff8f5e6dbf654b85e98e5b41b5fd963"
+ "dc9e3cb99d1198ddb1a28880b923fe8b27c8", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313139", // aad
+ "ca4b3e7800ef6e3fb1d4bad284f873b7d22f3c2f6bd0b1589f6c3a"
+ "b489cef2c07549b99551395b656ed84671a4", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313230", // aad
+ "72cda5a2adb031e3555d8cbaf8ee652fdb51f6febc83c8edd2222a"
+ "ef06456981ebefbb702b2bfe2da29a90ee73", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313231", // aad
+ "39e4fe7ff33616fc0163c3aa26d161f168795b98447569ca17413b"
+ "b9b27f239e5156bee1d9803214f18a30f2b9", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313232", // aad
+ "949da93dca6ce1632b8fd27f1ee7bf0c9afdefb7d26ac02c7bd788"
+ "3f5b96a51a47e8eb53d66098769dcc07f804", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313233", // aad
+ "258bd42d7efcc6ba72131e0fdc5040fa4d8e8089fdc20170578aea"
+ "c3b87c5e71b783f2a46858716d1316acc037", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313234", // aad
+ "33e9d4a56a4f2412b1634ad87c75c296e90793e700f5f4a7fddce0"
+ "5a92d7851302b753c3ae403d0e482d1b60ca", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313235", // aad
+ "da0a9cf0afc7a363755c583834f04206a101eb1335c041b76dfc0d"
+ "67ae8fe1cfaabf0a5bdda20f32b975d00c8f", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313236", // aad
+ "ced8909d397009e64a59eece25b2e6fdc2b74bdce98b7444e3a54d"
+ "954fa64915c77796cda618791f07edc266a5", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313237", // aad
+ "5999426f1345324bbbb8a261754dd97e0364709cc649d1ad017789"
+ "8f85fd2933231899f382de30a574199edea6", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313238", // aad
+ "3c760df760bcc6cfad8b250d262adcf2b3243ddff6e6b57c5a4a2a"
+ "50d6d4ddb6f2c31d9e749b03a3328a82f3b6", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313239", // aad
+ "bf8490f370c92a2360333fc609c49bea7ed46fc743db1a33e641a7"
+ "1dce485c8d4390eb011cccce41df80edad4a", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313330", // aad
+ "eb51bcf3049c35393538f6e515513ba968cf0c9b7a38741e449d22"
+ "9838e35a8fcd3200d02b2ccd410b2cb76e11", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313331", // aad
+ "36343b4dcaa594264c59896b8b7b6b97f395a8464991e2659adec3"
+ "f615a42c19bd471bcf05e9a492e80d9eaee3", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313332", // aad
+ "27461b4a4137b85d8bb68b52a46f0d943ce6d8fb5d632d84ba60ac"
+ "440b56ac9b35b9e073cb3559a7e0eb90b6e3", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313333", // aad
+ "8d972d984afc35451924c80269e23b23bd8ba372182dd7bec64098"
+ "2bd30be88e7a328777b8e193377d22198880", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313334", // aad
+ "b2d7301db171aa5ba49080f5a67019f4e7a403ceb202d3a5e3a458"
+ "e7d4232c7eeae89fc54a17295609e4710df3", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313335", // aad
+ "62ac8f7a79da90a6bc97e94a4bb617a2d7896cdcb142472d2807ea"
+ "8b5e62ac116c5a92d0d10b8cfa4d0b2f73c7", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313336", // aad
+ "890c6b692424ba3d1844d7ea03b070b3a9c5fe8762ab48c18c3041"
+ "024d1b94cffba8561e95cd03ce64cabc3926", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313337", // aad
+ "d3af8dc528ce9b47fe496681aa8432422ca63b3f61b76d287f48d4"
+ "3460771e4136394ef1074db5f87523546764", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313338", // aad
+ "8de2f7ced54e6f9175527fe6ae4d869c2b2cc1bbf4c60a2fbaee84"
+ "e0be071c38aea4734d3f1548fb50e0e40c45", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313339", // aad
+ "a511eda5aa00e40af8394d7dbf54bd773ec5086ddd21d059aa699a"
+ "215b2af4322de79cfc7f7c1fd945f8b9b1c2", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313430", // aad
+ "437ab1b7c2538c67d6dc724da53980bd756f06e1c8f07e41c8a0ae"
+ "430f2622329c4795894d436150d4437c8cd5", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313431", // aad
+ "a4945fd326373a220a87965d343ab5034170fc42a00af2a9a067ac"
+ "2428800a85c892b908744ce74d39217486c4", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313432", // aad
+ "90b6a50bb345fc17cd66ed612a8d24fc9670b3b0c740722e0ab443"
+ "78ef9912794068eb7921ce97f2f8a9b28f94", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313433", // aad
+ "5171785b9022f500628f1fd864168e2806ab2c50ed8b91c88794cd"
+ "cf5962a19c9cb83089d50b3ca90e0c93d9d6", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313434", // aad
+ "2c1597c05052cc6037b038603c246d5d7e8117a95760568ae8828d"
+ "93d91a6c72418740803406a325520a04c49f", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313435", // aad
+ "391ce3692f558381f66e12e08703389cb253b5765a2a301df13f34"
+ "f973eb441ca7c15e909ab3ff4b7c84171c90", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313436", // aad
+ "c8588682821278b7defd13998fe42f84873d7f1db719e2e0dbe47e"
+ "ef7eedb80619d011c8aa2169b761c3b55ea3", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313437", // aad
+ "3232f373d0257b35120f659f6dcbcfaaed019eca4b2f59f408b964"
+ "a3fb39569e22302e8fdd9340a56699f97a45", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313438", // aad
+ "bcdcfa18d726c38bb496850628806f2e4d7356f032e01472aec01a"
+ "565b23405142ce3969372ae10e416846f821", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313439", // aad
+ "4390558eceebfcd1464dcfc6ed48cc2e4a75e6820f414695c8366c"
+ "d75de448e10dcd368e1c33e6366a335d631b", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313530", // aad
+ "f24c2cbf61c02d130eee783f02c618641a7ce8fe131c541e9c4cb0"
+ "3bf276bf52599c85383f9e597aa3ffdb8e7e", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313531", // aad
+ "84f36376d9982f5e438fe74654c36657e2ae872db0803e88ce85b2"
+ "d1296fe68b961a090c907571af3a5039cc1e", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313532", // aad
+ "46168e0c1498f6b68a854f69ae9f976e862aca642f8b61cbc6f4d7"
+ "951ad30283d0a4dff10d763920862bd318ad", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313533", // aad
+ "48b667ecccbd8ad529db74ea44b99919ae933bb31c9ac48ed3c622"
+ "70707f4ac0aae8aa79e91da3c6841f1e3a22", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313534", // aad
+ "995c3d826bb37d8bff6fa1cf81fdfda7d29429635e8e4b18724939"
+ "5884154cccca060eb7ffca4266c57b5caa3b", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313535", // aad
+ "b83a5faaafa75db21b5297d1c0abfed578c130cee3e77f64146ed7"
+ "f5bdfe2db07065bec4ce7cc24b7b5902d402", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313536", // aad
+ "6d99f03d2d79ae06bef1772b0f9966a3c4e0f6de556b9ef943cac0"
+ "6c5e47881909e24027129978c90c62ddd9c8", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313537", // aad
+ "fd701cd8a0a292b496344549ef0532ba3ed92b16a0798df83f3853"
+ "1ddc87dc60e8fa1e9fa56f14bddbbdd70945", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313538", // aad
+ "788b1d8faa155e07cc6abc63ebf4eaaadfa4fa8f4a1e14e05de209"
+ "218f98621e002513c4fc134ee7ef1f79ebc0", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313539", // aad
+ "e752c6365639f40fe4d8628a87c122da3b70a4f2132b010142c82c"
+ "09920d25cc9e6c01b7fef131f3abc138ac3a", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313630", // aad
+ "140bd64612dff91be580283cb650b24602a72aa4fbda8dfb18e3ed"
+ "411a06962910bd8a958d5ea9bbc5efeec8c5", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313631", // aad
+ "61cecebb58880c93dd5eb36f98bce9f249bc43d5ee219a1fb07bcd"
+ "52c870deddfd2a2773529bbc21410853c883", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313632", // aad
+ "02b0626964b199dc48e458ae94a64b38c1372f257906bd7e8443e2"
+ "f5f54fadd6bea40d3e497a5c0fe799a10b85", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313633", // aad
+ "2071cd77ce0780c88e2e42829a786a7599004cd473e743af6912c1"
+ "4a017215911f7cac0ba2f40a7e6747ff43db", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313634", // aad
+ "c17fc9824c08a9b38a77a09d453a3d6e2c0241e073fd095feced21"
+ "92327ac63011ccbe5ce432ff4152fe268abd", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313635", // aad
+ "01cf024223b5d340ef4850cc9591766a0e3c0c7374c676cd2f29ca"
+ "0bfbc0f00b5785f29770ea3f7649f3d48af5", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313636", // aad
+ "bb53299e3cf452f98c8d6decd91060825f5ce8d8d29a8e1cea39c0"
+ "bd4d4fd2c2b724f4e3dc07b86a8df2324b4c", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313637", // aad
+ "955ba6ae6659a46f07d1d3716969c385f22a02a22a0843ffa24d8b"
+ "3805f15a655d948387044686e3b45a7c5cb9", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313638", // aad
+ "7a174c192e4360e669721d2ace9d067596fdf4a118723213b2ec34"
+ "33c3fce4e5981246b05d2b4375615e57ba7a", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313639", // aad
+ "15ab180ebf15b80511efabeb40a279563b3953506d5e97323e78f0"
+ "715afd02de20be59c123dee680b8a2b58b06", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313730", // aad
+ "bce9ee079f51f941f6c5dd0042188a0012ce87ac9b4bd5f220f3e3"
+ "9d2a944d827f90f8212f205d56711cb02c78", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313731", // aad
+ "f768c9fa4092e2f9b2a7033b64ef6b1c0fee88fe649e4473149d05"
+ "eaf803add03032b941179679c69691d65e6b", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313732", // aad
+ "09af3cacdf11305c2177ff3e768af6d2791656c64b791c57d50417"
+ "af71238b1d4e3e8903f04736ba6b0bb72ade", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313733", // aad
+ "623b4ad4b196364a59a57a961034dc95efc79ce01ef533f65600d8"
+ "9fbfeb33d11204fe13504388dd0c259fb70a", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313734", // aad
+ "983204e6635ebfcaac7a7509fa92b5375ed36fe5562e740c8fc7be"
+ "5387be3ddf49d76109c51d62dc9e65d171ad", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313735", // aad
+ "5e8f62a9caa29f757b267e8cd2693ae11bf362c07ad21a34621791"
+ "7993a118e937c066d02f51f5c8d29a3183cd", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313736", // aad
+ "f0b7c013e758428f7a5c7a59403cfdf7ab6799dbdcf226142c6188"
+ "3cc1a4dd3540e913d6ea081d82d532217733", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313737", // aad
+ "4f8d9635a8d0632113c576642e07c1ec0e4f5233e5193e96a62782"
+ "3fbbe30162fc2459e04c73ac0b3c693dd492", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313738", // aad
+ "08c79c930796e36390ad95bbe9f38948442f941086e2f87f9c6e3a"
+ "e4460477fd212499d1a2f5a20129c7af320b", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313739", // aad
+ "d8d4144b717a753d36095b29df850a4d99fdddb87f1929ccb54b00"
+ "75274d471458a68faa268d6ce99c5723d2a7", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313830", // aad
+ "b2aa121df2f13d6da3ac31e95f2d33a5a87a6540fd7dc5e97b977e"
+ "f7724c8434b01e222f8114e8aa368e1d5d70", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313831", // aad
+ "cee61b4209ff9dca85581e4083477ce4adbf7ba0ae01693a437a6c"
+ "e7ae61f0ac0ef87d04c9098b631efb31b04d", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313832", // aad
+ "cb71b47d9ae8c5a9dcd00e99ed5f142b096c3de2534cc325685376"
+ "80667ca3c6ef18d453d079d5c50bb25c65d9", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313833", // aad
+ "3ec796ef1a4e650306d48408a7d746c11af427b9eebcaf9ab1989c"
+ "f62bd502da3a1f8c9cd4b04050b5027a66dd", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313834", // aad
+ "414bb5d18d0a14c563e16b642c57f2f73b2d0f4334c8d17b8f2549"
+ "fb3eb8a918d5af74535a52dcb2444eab5423", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313835", // aad
+ "fec19cdfb2417b91158e79b6714f29a4e69f46176161036dcb2e6d"
+ "375fc6f2f0cf3859dfe3ab6ca31831d4b3fb", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313836", // aad
+ "dc0154d58ee5fc233bd1dabc885ab4cd20de9b20f005406611f8db"
+ "7adbc7ba2eb0756b21ef9d45477275512a16", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313837", // aad
+ "99c2bef351eee9f71d1147ecb56afb386e63560be4d4354caa130a"
+ "48e8c37f751a1a6fd77c118097cef357c07f", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313838", // aad
+ "e57a70b63e907be903dc3dfa0635ab899baee8b7053546adaae082"
+ "dd00bb37f0076e6087968618450c1db52ab7", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313839", // aad
+ "ca2df6daab65f06f8dd4e910f118a40622745d9fc73db467153a7b"
+ "c6459acb6d00a8499fab64e195521cba2b1a", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313930", // aad
+ "c5eb2bf93c44d452f70423215267ff9a7410381070b33f0f7b67f8"
+ "67c22743580e01b97e407e297747f70eda18", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313931", // aad
+ "c6a050a8d9a1c5482f3007683fe3240743d792665d2887b2daf9f3"
+ "9f53b54cd1d3ae72a566e5e1d310e8bbbfa8", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313932", // aad
+ "68fc2ce2746b4104e3cd933d40874d42cafdc2b8a322f3132dbf7e"
+ "0b3a44407ae6565b2741afa5f49be6a6a8f3", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313933", // aad
+ "d466ba58f57f4423fcc5b205d46ad4fafba81bce4a524eec07dc76"
+ "26273dfc10823c1dedd9349a90faacba8219", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313934", // aad
+ "443598894aaf607abf146feecf43f2677bb35ec0759c92c692f1c4"
+ "9a2a550075693f2c5a6d860e907a3f16af43", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313935", // aad
+ "931646d1cd3155d13152b3d4946814ed95e3d4231f2a73d32d71ee"
+ "3ffa0b7aba41ea5c1b8c52141aafc690fa9a", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313936", // aad
+ "60f4356f1f805bc586324a9960f2398d54e0e97bb71cd5f71342ae"
+ "48aec2a869d7deaf246f40f1d8791451d617", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313937", // aad
+ "c23dad3a439bee4c25dc5eb27a546af7e3b125b90d4e244cff7e10"
+ "31460eb48716a0ef89aea28fa3f07bc9f3d8", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313938", // aad
+ "609a043b57bbf1f970a619755115c090782eb4538cdf32b19b8e89"
+ "a486b684d24f3a76f5eefa626f18d5525ded", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313939", // aad
+ "75c857fdd58149c70815101a77bcff4aa068362fc2c0554832f0a0"
+ "e1f3cdc2ca1f9e94bb8e0dcc323e54b357d8", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323030", // aad
+ "b105c27c8ea822ff9a5a1781ce0d674ac574ed080eacd575938707"
+ "eb71231ccb39eb9a3bb3edccee584c40ebe5", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323031", // aad
+ "bfcd51982fd224426377303da020957445a6f4f511c03e52be881a"
+ "470486127a4a80d5c34365ffb6d74ae5991c", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323032", // aad
+ "e5b8abfed4498b3424415bda6777175dbaf064d6b558cd89e3658f"
+ "c2efbe847223fa28c26ae8529fc5ca440518", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323033", // aad
+ "0919be84c9e11d9915405e9d5eb08f2c8bab4499f5f4bacd93b2c9"
+ "5bf62126f63b142956800a3c4ab70995831c", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323034", // aad
+ "255560e183c0b42eac5fd9937f0d3fd425435e0ada5d8d80357cc1"
+ "36db2545fb0018297732b5e42cbaaaafcf53", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323035", // aad
+ "2beb89e3a8688caaba2ceb47379841298c72e144ccdcabb8d76518"
+ "6d7c2d5a8167fdb26ee5b9d993f1fca148b4", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323036", // aad
+ "3167d242968980e0c47f45fd80d65bfd9d990dd49f5e5eeec59518"
+ "38022e40ad143ab1f6db3e0ebee4d842540f", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323037", // aad
+ "734ba58d0fbacbb5441ea3d67b1bfe4f5aeca7c7a9b9e9812cbfa4"
+ "d61dbdb918655d564d3da94885a9e9a8bdf2", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323038", // aad
+ "d174d71c4df06e1c5bc8f220a7f42eb61d4ca90fc80ea2c6fbcae4"
+ "4949421772c470f6b33ef4271a44a3f019ee", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323039", // aad
+ "ec9aa3a07394741299c4a1024317290c067cb0b5f4fc283690b671"
+ "e7a0613e6971b93176c16e28abd9ed63bca7", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323130", // aad
+ "c8ddf87e2314f611dbaf0a5db4b6cdca1254cc3d8fbd97f26c14e8"
+ "8dfeb46e2bdaf9375eb3b9df5bcc8836b285", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323131", // aad
+ "fd1adffad2e7552ef9034f69f04de537046998e6413b57de8543d0"
+ "55a1a0d9475ace2ea2c5f3468447b619c6a3", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323132", // aad
+ "d5b90e8e1d781d7e34845a82d2e64c5ee2f3739342e9e22598f39e"
+ "6d8b5e80a47d2605e0d2263f53217ac2e488", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323133", // aad
+ "461938376a0d050e1bbb7d2acd3dc0179555b002fb9d3e19dabc59"
+ "1990f65e4f626c3ced0d644e1bd1ac695851", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323134", // aad
+ "c7870a0f8f213cb645c072093ff94b9145acc4278f31839972d79a"
+ "133ce51a0d30cf2591aee7e0e15a345f35b6", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323135", // aad
+ "e8fefd2f70c430888011be0c28ef0ae7fd5394cf76ce8891cb2011"
+ "5703725978ae52c67e3a365642be34d4e301", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323136", // aad
+ "5c66bcfdf82534388cb201ec49b687f25e980ac51d071f5ffa0dfd"
+ "19da3af1d570dc9bbbc65ec434290367ee05", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323137", // aad
+ "ab7602cda1c90622173abf23839e14a3d39874ba56133ffd6e5033"
+ "396022bcfcbe45ac09503e8351040657b4fc", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323138", // aad
+ "162c54c571129a7665c8ce85bc8a6c26f2734db60d559ea65bd7ae"
+ "743d8f14f26fc6752aeb03bc1f2444bd4794", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323139", // aad
+ "cae91662fd658bacad5c6a2e6a217636ec1c707ce6b1e294011da7"
+ "af4c8d4c0f5704e1f8c9dd6ee94ef60b0738", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323230", // aad
+ "15d36a4f09fb53e993d895a469c915ef640a01b889eabd0682f4fb"
+ "c3be04749485c0c9b71831362ab6a09bf0c1", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323231", // aad
+ "c49ef2516d76b43b986f3c876a3278feeb59fe5f59ab997a136033"
+ "fb997b5b2df4d39ea495860796e9d812fc0e", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323232", // aad
+ "c13df6923c1016c66f0fd815d6a28c3108a815eb617625d123d3db"
+ "b3c07b0674fde21b29a62951212c89a29265", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323233", // aad
+ "f7276e7089e7d2da66a41d074b82047f47cb4e87845a73cda6c89a"
+ "78dfdc958d7f3874145290618d32b43e2443", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323234", // aad
+ "3f68e699e5d50097a17d15ca9b68e6700359b59c2f74c677949483"
+ "4214874e626d6c14b6e14582aec30f731585", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323235", // aad
+ "8f29ee69c4b409e4d3c0ddb35a241333a738f087c4b3a728edb033"
+ "0c0bd031db7bc7144e31d08274b57ec92169", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323236", // aad
+ "fe592fce624d67b269c2af999d1a3f8b41b838b2266bba0eff54aa"
+ "e23ba005cb682769ba3302915bce92f97390", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323237", // aad
+ "5cf0c374297aa76d1c76092267f819e8ce1ff0168e1cbc3b15c855"
+ "f8f17d9ebe936acff06e2da9b1c8c0c9405d", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323238", // aad
+ "8349f35b958c733b1d6fd90acc9d2ea06b669e275e2ba1e7539492"
+ "483e1013cd9ea6e780c4ae050f71e5923d0d", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323239", // aad
+ "87ae134a658f95246710cc5ced3e730d16a5b05b0782930a33ed12"
+ "e5bdd4080c3f2692b1af28849d6a979f5392", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323330", // aad
+ "8a143c62e17cbb56a38615e62801c97e9c4ee3d929f52d95ddde0e"
+ "d53db7435b647019f57476423390c4523a39", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323331", // aad
+ "14525d9a662752842938445637bedc09c68372af12de6a6b36d804"
+ "633584b91ecbd2f6647156652dc83ae72cb3", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323332", // aad
+ "d757ee33650e973c022aafbfa804a64617b60998e459bea3adbecc"
+ "e6597d75db159a2eca5bd89f5d53f2a0c681", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323333", // aad
+ "5bb01b15122b2b795ebf5b296bc3ff1b2c6884b13ca24355ba46ba"
+ "f8a5336dbad63d05beeee6b00542247f29a7", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323334", // aad
+ "6c90bc11791d17b585460215a3e61a3729e7019d830a5bc50a1cc2"
+ "50bf8da96caf51b1c89f0ca943d3b3f4e6fb", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323335", // aad
+ "3d681edd263d259effa8597f7906938d928116520ee4b3e8aa0a29"
+ "9da6f8b1bb6a3a9c1e4549c7767ffc9703e9", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323336", // aad
+ "ae37d54c80af7596253724a0616c383073fd1a4c4dca0aa61d1034"
+ "2d3374ab3f6075dba44466bb840c7aabca4f", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323337", // aad
+ "69df6679e5119a6473822d89901d7359a229bb63389eab27eb3103"
+ "50640fc812a7eeecca9afc38107ba8145e71", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323338", // aad
+ "e290e915b4c651f40db77e21a032eb957f51d3e0a2b846ba7d589a"
+ "d7c988b67d9762da2afb679085efcbb53ff1", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323339", // aad
+ "dd06a26b4af6adf9e0494794fdd9db237a04f7e0beb7012142ec9c"
+ "a86e6b844db8e957e2e9c5fe7566f914b52a", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323430", // aad
+ "6ab67c32a47ded9565ff3d5a77e519d7305fcd7ff4224d3d2d9c80"
+ "175f81bea5a7a2d2ffe226ed465ccfb404b1", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323431", // aad
+ "9243a21d972f4e006800aafe3c1ebd7c5b726c760c80896cc0e2ad"
+ "4efafc06162ee41c3e5d4b7c714065f230ae", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323432", // aad
+ "a14a8613caeea5245a8f09802db2b7a0d14bb9157893242f14ab71"
+ "31d615df2584eb5035ae3a9fa4212f9f0f78", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323433", // aad
+ "4501386b60e6be9433cb60e7db5d44a5ea2712b7e396ce35fe2ec7"
+ "575a40c018b09de1e2886d937648644f2066", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323434", // aad
+ "e30e6970fb0062342a3f49427983331482b1efdce6554b8419bf59"
+ "0f4532a0559127c95d2259b35ec78eadd661", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323435", // aad
+ "9ad225ec418bdc67000b4ba2d401959daeca9d50b825fda2c9e56d"
+ "e8f2c2d98b562187eeaa66a53d87661923b8", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323436", // aad
+ "344d9301105bb45ea0114b180a66e0ef872244cd8ed2bed4665d3e"
+ "ddabbed509ed66ee3989adcc3ecff65a8683", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323437", // aad
+ "cbc481cacb870ca63393ecc893324a770bdf17752a049c96803fed"
+ "6d36353482044715ad6e109a3e6d3a5b4049", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323438", // aad
+ "01c7bd1d7ee20c1fd6425a0d1864b02b191cd1eb06eb01f4868eb4"
+ "37f277c4fe0cb64092213a311a1d5cff1e54", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323439", // aad
+ "e94bce7f5fdb6d8935f8e6b708f57c8083c0b46b2a2d7aaf3263cd"
+ "ba3d7340dab5c94f1cd7ba0b36c9b0f4a536", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323530", // aad
+ "78ee8ff7bc8f9f5cb57cf167e15b77baca0f7457e2f74063df1c71"
+ "28a8d7d8732aed63ccc5702e000e8a598ad4", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323531", // aad
+ "39785b194a393c999583f4dcee47c129625c00dcda51db9b66f3cd"
+ "7cbbbf4893d471c242f6908befef3453fa7d", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323532", // aad
+ "ffca894a6e1cfb31e647f919cfde069aa849e0545f83e2aba6d421"
+ "9db33b2d8aedbe475f0b6356d49a53f2497a", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323533", // aad
+ "c491803921924efb50866251ba71d4511b1d14498e0c248bb988c4"
+ "43985c6dc92e6525ef2e68bff7625c209257", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323534", // aad
+ "8093b0f1ab5136c22a719b7159f1fadc896ce6372aafa3382ac691"
+ "bae51337ddb192d8b762e78e8fe7f4df2331", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323535", // aad
+ "a356913480b5d3017d05deda7dae5a399ad14e54dc44a2452c9d90"
+ "9e48b1383a55fd9ba7a22ceaeb6c27e32540", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323536", // aad
+ "22cfb308437ae3abcac038c030b60f825a35d85a3b668253c43811"
+ "973ace5c60dee014d97bd13c67e8c4eaaf36", // ct
+ },
+ },
+ {
+ // Exports
+ {
+ "", // context
+ 32, // len
+ "d703147bd36b0218fed1af62840ef3a15869d1c64bc68b4df87371"
+ "ffc9f9ad95", // exported
+ },
+ {
+ "00", // context
+ 32, // len
+ "8bfcbf37919c5ee14028640b7eace4e6de00fc39acf073e74cbd97"
+ "12c9da7beb", // exported
+ },
+ {
+ "54657374436f6e74657874", // context
+ 32, // len
+ "a71f58a7f54e8ef1ed2a6f70f7a0f158246d4c569750420d545f05"
+ "822d10fa07", // exported
+ },
+ },
+ },
+ {
+ 1,
+ static_cast(1),
+ static_cast(32),
+ static_cast(1),
+ static_cast(1),
+ "4f6465206f6e2061204772656369616e2055726e", // info
+ "3067020100301406072a8648ce3d020106092b06010401da470f01044c304a"
+ "0201010420a1fb4d2bda0df27dd5cf33fd6d67d4b2fcf7b2d3ef89ba95ded5"
+ "bc513cb529c3a1230321006c869089a41d49afebbef4a046671062cb95f334"
+ "d333b2796f78b6c56306bf53",
+ "3067020100301406072a8648ce3d020106092b06010401da470f01044c304a"
+ "020101042052a1b190b90aa604eabdb03853dea870a88c2ab78f812f0137af"
+ "75c11f00451fa1230321002b15f3560e8545473330de96ab3f0df764571141"
+ "a4ae9d02d32f967b38b0c701",
+ "0247fd33b913760fa1fa51e1892d9f307fbe65eb171e8132c2af18555a738b"
+ "82", // psk
+ "456e6e796e20447572696e206172616e204d6f726961", // psk_id
+ "6c869089a41d49afebbef4a046671062cb95f334d333b2796f78b6c56306bf"
+ "53", // enc
+ "c7295a3618b0d5f60513c1e0c3624b60", // key
+ "75ac8b35f8d5f59924145c97", // nonce
+ {
+ // Encryptions
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d30", // aad
+ "0024748142b413ee22311a16a7b1bf813cee46b8aad06da9eb1ae1"
+ "4156c3d31bd84385f939e4f6554be9fb22e5", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d31", // aad
+ "c901001814df06c9209bb849511875b2c1a531775304417bfe4609"
+ "32de21a4cc77d234a5e4d9144cf092eecc50", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d32", // aad
+ "7954e8125a7c44d2ee29682541b13139563b220c33f81bc38d18b0"
+ "6bd1f2792f087d64c2de1df6a582a4514984", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d33", // aad
+ "510ce8802cbc778d6d5e285255421a7db63092e7e18e0f7c08f9e5"
+ "84fe3e49ebe2838e90d7d2cc064a8eea873a", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d34", // aad
+ "b6f292027b94a950cb081fb3e6cd0f3f62ff31934b84b138cc0502"
+ "550324f1edff3fe7d46891fde2b13e3f487b", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d35", // aad
+ "15310c4cba1eb940131434f44ad30b99046bfba130a41348b397e0"
+ "0b0cacf2975e99900a606f0023f9715a4981", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d36", // aad
+ "b297de8844409aee273bc4c5e60ff64782d33c047579ebe4b7b696"
+ "4d61861fdee558aff170cd7fe64f74529131", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d37", // aad
+ "dbc8208385a3d77babd5f7570ce782a45e2e2ef96028b70715d917"
+ "22e77d3e6df7f57712f7fd92e5fc1b3f1f71", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d38", // aad
+ "330cdb4ec44f289515302fd70a896b0ed1a28199193bce907b5ed0"
+ "7890141f91ded6d94d84c361adf27c852f06", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d39", // aad
+ "033ae5d13f4549596b89c9f053a9839b9d4aecb75cc7259350c1fa"
+ "4762a56d4e1238b068deb14ed7d7c076df62", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3130", // aad
+ "e1c831e77bd8c2365c9235148dc19a378dda7718147934b6eba432"
+ "91a93139170e5cc0c61b289802e9f6740cc5", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3131", // aad
+ "0725e9df1296204bfa9c96d0718da937e087f20c03dfe00cf5082e"
+ "1a1f95c56942ae82633a8c3a04302e88c4c1", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3132", // aad
+ "983c1d38ae378ee56d4e8ca5d3ec1fa46282fbf6c8783eacdfc0b9"
+ "6029629db8fa1c9721bc9676b7c52a9d4701", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3133", // aad
+ "3055ac739638a6cb7bf4bd5f8e11d9d755f72cbfb1b0ea7521d359"
+ "436e6c4d70e4e2505c37779cc24329e5851f", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3134", // aad
+ "8a58b6969ac2d14b62362d764314d773fe7d17770c77d213e35842"
+ "5908c70b9e578b4dc4ccd6a0713c58181e1e", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3135", // aad
+ "b2d28317a71d344358bb8849b11c3d0a1f4d8a4e4814e32427e2c0"
+ "92360f4152ccbd6f0b7938dfafcadabee864", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3136", // aad
+ "d61a1ea07a5eb0a411ecd87a7ccb50ca47ea61c54f7e0955b80f9a"
+ "79bc1146426c0d574499b0805a825373ec5b", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3137", // aad
+ "3fef3e64f1cb659a2b77c28d777eb49bf689e486fa3cff36f0a5f8"
+ "16719e7433b11d4e24dea76f7a83ab219636", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3138", // aad
+ "7c75ca989e9daffb49efc88fe1d6216587edb59042595af0a62002"
+ "cd88091bf17ca0d6a3463d8cc09132fdd22d", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3139", // aad
+ "df20986c78f3d2b43df3640716e317d70cec17562bdf17db20d336"
+ "8e970af4e2aca765bffede2a2bcaa470099c", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3230", // aad
+ "83707a260effdb961a8871f7533e9816617d350c24cdd4173af39b"
+ "20a3072cca7bc192d5561825d68f762bdbef", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3231", // aad
+ "b69f8401b2219eed06183d81afdf0bbc0692cdb14a5d3c0ac049fa"
+ "72cdb3afefeb615187ff202dab12af5d669d", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3232", // aad
+ "126ab042b20aadeea80e2a01df37c40866704f76cfbc1c82dcbd77"
+ "c4269ab070b8a69b9af4ffe21d721806883d", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3233", // aad
+ "989ee97c09315e0124a794097234b5d97edef48681bd199d785150"
+ "b034d40e9ed809a76e0b6b740b3d1bd60c18", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3234", // aad
+ "284aaec141fd116ddfa8d77906ca8cb50db4629be526833a8fe5e2"
+ "7dce66fca2b370be15a837c06d2ab387878b", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3235", // aad
+ "de27583caf70cd01ca31e0de5b09c6678707e5b26fcc30f4f695ed"
+ "ac0c5031451fbf0588ffa67e9f93c281d724", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3236", // aad
+ "5689871480ce3ce7be4f950b3e5b9bf8ba342d90c7b82abe9cc03a"
+ "7f5d2701ec651e5fb86b314f7fe0e839357c", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3237", // aad
+ "01397ab812b6f7ba245a016b74afbf3df5e5dea95d06c8b48255a0"
+ "b477c022eaef0fac64fc521a0a03430e5cc4", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3238", // aad
+ "e4069e17d70c482c31c4913b25322b7ff3173ab7773f6968696664"
+ "6863d33a9c61f09f23dfec951856e7525686", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3239", // aad
+ "32cdbbe917a5bd4876bab0c2f91cff482002a91cc2548527587b35"
+ "987bb56b159800c7f47396fe2141c856abd9", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3330", // aad
+ "b19c6b008efee2e986c0c3835116d6212b7884c92e43ddba260fb2"
+ "1bb2b215e724282e3e7b66c3367ac4680e20", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3331", // aad
+ "08caa00ea4d5dfd4c6e8bbf5e5b17ab1cca5da22d4ca1a6aad3200"
+ "c23bfb58e0f5ecace45753673d5b9b0ab789", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3332", // aad
+ "6d288b87154b9a5404fc717cc276328d23d786253083b5fca2f88d"
+ "c4afc563895c1c21a54ba2d9ee5ae8778646", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3333", // aad
+ "94d002b5b219df9be901fbc3843cd20d6b35507e4b2a45ebdeac2e"
+ "89b655e30b1ecfa62c1b6b2e71a1cd866995", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3334", // aad
+ "390bb39e5853570833dc176f165bd957fdd1b47a17bf1e8b1c336a"
+ "d973f03be321e275e8a37801b9f21518424b", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3335", // aad
+ "e29da74f79163ee25912d4cbcd53761c5206df7c218fc3d755d4d3"
+ "8c3d8923719aad138b068b7172070b9060b5", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3336", // aad
+ "018e4d98feed5ae88bf6a3a9e02c6a61f88784b5428eaa1518acce"
+ "c03a353e5353fbefc13e32ecec16c20aaf62", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3337", // aad
+ "1541050bb14beca7f084229442ce26cd3ac6f3b7c5da92f7f71979"
+ "76f77ba4400df216aa1b1cffa1bd6eff5a4a", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3338", // aad
+ "bd56515f65b60c7f3872561435c3ce0ba55ac4f63d80f445427dcc"
+ "8ce98c990525c77b98b8b4a9d4d78a7c6189", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3339", // aad
+ "0eac40506bb27b12974f5a343a006afa5621e8d3ed3dbe14d9f8f9"
+ "aa8f0115aacf8e89f3e8b36b1b9918898a43", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3430", // aad
+ "55c6f5c7042285ca71c7a1a00e845975579ade144e02aa3d392696"
+ "bbca914e4fab2bec54cb10cbcb7762144285", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3431", // aad
+ "4c4fbed1f6d9e3ec3085104479ab09e1690663aa7bd5a0988f165d"
+ "668a26b4ce6f2b47a985a2fae987e1071f2c", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3432", // aad
+ "9666c1c45a9aeabb41653bf0c54fc8c802d2ef1c09d08e7bed6ad3"
+ "85a2423cd28a19473e823d5c2ea9821619ff", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3433", // aad
+ "4014847f3c3d8afe44613e16cc272ad40dac202601d2d6d1b562cb"
+ "d276b5858f6eb3014faa0c644aa981e08b6f", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3434", // aad
+ "b62f72a39c77950ce207b5463eff24bb5f24f9bc25fe4a51c8a27c"
+ "fce310a28312814f322b33ad5e3c63c499e7", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3435", // aad
+ "7a00185d4b0e6068a83b7f0caa8a5cb13716ee35e8b5ad7ecc11c2"
+ "541804bd7890f63158840fcbe85e43c4599f", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3436", // aad
+ "e706b3defe4745d6a6a8e8c116b8caac2a2ac41108e2ffc7424e03"
+ "211ce7bbe488da88743f6fb310848bb7c4ab", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3437", // aad
+ "f4ca5d31e71bca421479157a05800473f95d0a3f24bbf7a0ee582f"
+ "2e295e6759c20289340a4c73ca44eefec3d0", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3438", // aad
+ "4db31dffb2384d0759b3e9f6b556cbc1818285931512514ed9ec30"
+ "8f157e3ab9136291c64cc0e7e99238443f1a", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3439", // aad
+ "f0091d3de43aab69a40ae7ccc63e43cfa8dd5e453e21cd3280abd4"
+ "4ec96ad697d2e2fba872977c6a54b3c4b7b0", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3530", // aad
+ "02d4660af67441c01f77ef7a2526bb346ffed841a298c8ed3d8ea2"
+ "28d66afe14681274f03ab6016cd226a716bf", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3531", // aad
+ "3fb78bd5851f8c63be58e63007f526d18cab4982f835b8c24571b5"
+ "48cdb77ddd4990b5c9777d60724ffe997f7d", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3532", // aad
+ "2650ae351fa776da87f50a80b4290eb039be12abe335a9369a4116"
+ "da4defc6d41882aac45e49813a83c6b8d14c", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3533", // aad
+ "9411e5f32c51cd8dcefdbf078023400c26ee58b2e90bc872a7c678"
+ "d70ea2fea9165b089f3c6fba9dec1b9560bc", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3534", // aad
+ "1920edae3124b1c11ae5f8aec6e198f6542a0a22c50b30ccb4a3ce"
+ "351d78c2ea364486f08fc916f8453fa50c7b", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3535", // aad
+ "5038c550d45323b9f586d276a04312b275a2482f6818e74211656d"
+ "cc9dc66959ba73086c93f349c5423dbfc357", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3536", // aad
+ "a0339cc116ec59a4684479c68d89799319ce36285d1ff1ba9d3350"
+ "5f49bf11567aa4d5982fa17791a206abb42c", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3537", // aad
+ "7f9c1ffc45bcd6d9774677dd16b029b5ae21db37662591dc2c9a27"
+ "83f0dabc9d9ad690b9c2d1634068ba4ecdae", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3538", // aad
+ "ec8e3d254975c4402a94c8eae0613a0538e2e05f493b55f4b4f758"
+ "ba3838eb8783fa53f3399d789badad299dea", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3539", // aad
+ "23791c9672d2dc1736eaf3ffef972e4aab12dfc5af419cc4b47051"
+ "d515168fb190e58ab45ff9d904e55a36adba", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3630", // aad
+ "c320d2da72cd64e6501698d3685567b7a7f66fea15965251b723dc"
+ "d2992b35d314134e2bda2579098cce36dbd5", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3631", // aad
+ "86bac19cb12b653cdb15cf32d89395ca620619c2ba7227d8e23de6"
+ "34132b58a5dfd92a3cdba0adb0ca5ee5e7f6", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3632", // aad
+ "27a3268049fdd59f319682c8c138e24eddfffa3a26ace3e1ce322a"
+ "20fd424e2744156be3b5aca58aadce78142a", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3633", // aad
+ "b8f08f28bd53948dc35f1ac90a95c7e9c45e24e602e32567e573cb"
+ "88c337d1fb14db8bcd21ad977532e7b503e6", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3634", // aad
+ "9f60aa27133d21d199eb94e6c85c5a20fc8b735e01de4c6522a581"
+ "db279bdc47c2060f5bdfff24d9bfb003fab9", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3635", // aad
+ "5873aa1149e58d8f9f0531a742b9fcb461429071b4aa12437dd557"
+ "dff12a924f37e19ba16642ad98e13e3cdea5", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3636", // aad
+ "449b269ba29adb6b663ba23411124f669a87e75c4a15a8d1f02e29"
+ "12cfd83a50cb5443fd1ce342d8d562386c51", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3637", // aad
+ "9f6b0f87ada23863b0248d300eae22fae32820c1e3770488f714fc"
+ "88f5ab0df7b32bc251f14453347fae477703", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3638", // aad
+ "368180f70826e077baebc9600f04b6a21bb290f77935b37fcec08b"
+ "4c5181083f8708b9d6606d131e0219899dde", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3639", // aad
+ "3a90e5f96a8efaad3d69c15786b86fcabe430f29bbf216a6ea6097"
+ "d977662b233dbde75579541037a46e3c2d31", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3730", // aad
+ "48172c1e250ecbf4b500928ca094325cc3aa01e3c7af59ea8adf6f"
+ "ccd43191457dfcd49ccfd1c9d7f0dd87ce1b", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3731", // aad
+ "06673da838b52ad030f31aff219bc3912540476391ed0ad81b7f61"
+ "43a94891837ab41df0a2bbe94e9777186d58", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3732", // aad
+ "6a3a06785b8871797173c059cdbd801998eb074d50b15b0c1a42e2"
+ "f25f7edeb5e47d54ab52ed713d7da0cb7950", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3733", // aad
+ "d8614e8f250429dd4f20f4007b6f98c5abc470e2a075a612859af9"
+ "027b9a5b1f88c18ca0ee44e9f021eec6c2e1", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3734", // aad
+ "c531ea8d567a4bf1b8f74d91be3a22f4346e1319168cffb8e974d7"
+ "74e9ef5ce0fbec92de8349823197230bbae1", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3735", // aad
+ "04959f7d3b48438b59090e7680759c5613124870eef277b9169b1a"
+ "aafe5e8a7aa45707554508eecb82418a8574", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3736", // aad
+ "dc9434cb2558994a0a2956f2bc34d016c51d19a22372ead13e9f2d"
+ "01361708566d5a6bfb76b2a739bb497bdd56", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3737", // aad
+ "47cd2fb05ecb83326438bfb42ff7c7be8101a0c82e5f80a979ae6e"
+ "6294a0eeee86df75ae65b64b19babfbd7fdc", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3738", // aad
+ "a83672d8f3e4d355f0879c493f03e1a44082268ade06f9e5326d18"
+ "aaa80aa53e7ba848c47dc4c38173cbff07ea", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3739", // aad
+ "21c99910fcb11d906beb39349dba166ad031d9be5cfdfb1bb86904"
+ "382d565fb991315f7522a9441b8be8b06c6e", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3830", // aad
+ "abfdb9ca7e77115b383c6c96c91dda3558618824404ff59bb53ef3"
+ "8e8047976e1b33e1ec577eed27d481dbf740", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3831", // aad
+ "714b1a8c5d6567f77b4cb0d3170d8792c301e90b3fb4f29aa5391b"
+ "506a26589a1ff2c5b4eb8ad9c230ffb60cd2", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3832", // aad
+ "bc119a59f2c90def135ebda77acdc0459df6ac795c24130778e869"
+ "e1ed350fc7f39aeb724a15df2aea37f3f90f", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3833", // aad
+ "571b9d49f76f15ea28f12a533301ae03a65ba932aa319eee0ba6dd"
+ "1de2f6f0275876fc424be2e6a351717e1c52", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3834", // aad
+ "57e1c6bddbf609927326e03b1e11bf07aad01c2b4b616ea601bf73"
+ "77e152275c6c056e6c818808704d916d20bf", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3835", // aad
+ "4e81c5c3f3aada5add35cf34ced22fca9ffbb6cc823aa28c140b8d"
+ "73ac904ea70cf05c6fdd8a50dd56f8437c84", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3836", // aad
+ "aacd852518f3894d602ed87c58f0158d10e43b55b874d1092b590c"
+ "e885256bf085bb40df384f96023b76880eea", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3837", // aad
+ "1d811c17647cc1eb93a925debfb1ddc5600a46e283971886b66176"
+ "e8c8cd082beeebc9bd32697cd9d2380416dd", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3838", // aad
+ "7f606be5a816e6f4a00fe02d9f65d6be91063cf3402ee51d62ec7f"
+ "83f3c90ee042a95d2721a74e7a88cca57571", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3839", // aad
+ "a82a6d3229f8d157bfe67e2ab32f000660bbbf7e7a106b2f666760"
+ "e6e7cdc49fd044f33a7ac39b711b4c15b35c", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3930", // aad
+ "9c876a6d313a8be401da2f500aba3bdae1ae0f046e353f3749c7a8"
+ "734c94df204ffe5b63d5f51fc6830874e973", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3931", // aad
+ "88bc85e8474e0ff10d9ea5673ef2832746ef511029d8dafc91ab21"
+ "3775141126dc3fad90694d940d53229f6c19", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3932", // aad
+ "25692be73cd8f72edde92ed390e7b578c2f9aafc410f30e7bb955a"
+ "b4bb82b1c007a322952de0769479176c215f", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3933", // aad
+ "93aa6d0a90812e4772384c3e33075dc467425c3a3c8fc54f61f999"
+ "3e4c5cc400a48fd54e03d9ff626e02d6a0a4", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3934", // aad
+ "3fc4676740f00be7d6652f7e774f48996b8f61e2fc93cbe19b9c92"
+ "5dd82c5576a63287c2b3338d6fce8f94aaa5", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3935", // aad
+ "469c8863a2d425da0c45e0fb7f42bf0945d6645894d31698fe784e"
+ "0a9ef4b3bdd70ea457947d7221e04a6009f3", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3936", // aad
+ "bab2ca9ad5dd8e6e3c23f91c398739b0e64c5f131264ba5044584e"
+ "7e27bb46134db78566e7f37c05d00e1a6441", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3937", // aad
+ "f5d78bdf7a4f17505722bf98ab88f43f583168885b0d685cbcae02"
+ "7da42122acc77401d9a48fd62e89a187cd1f", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3938", // aad
+ "dbd17138a419c8ffabd3f0255e441ddd7ed636dc4c76ae86b84e72"
+ "7112ad599d34719eaa3f76b01f25e17915b7", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3939", // aad
+ "ebd6b6c8008f7e4bebc419e07388b5dc803886838a869ba0162c89"
+ "caa0d1ce6bccfc76ce668887dac65b33f4bc", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313030", // aad
+ "4f32b59f9f745a533ff928623e8d2658f1b281fafb01be234953bb"
+ "7064813d4c7b20ef145dcec3c2d5c12665a1", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313031", // aad
+ "990970e005b003e7c67a4929e01f46845cabd0a622df80f3d07170"
+ "c643b5cd40b7c0c8b55f4b7edd8fa8517ea5", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313032", // aad
+ "dada113f3963347c3e2b388ca2d45ba995673a7bf39eead4b7f468"
+ "ab639a67185ef587ff9bad98aa16be3ffc57", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313033", // aad
+ "a55cbd80626427b003925dc6a9801f036141e304ab686dae8851e2"
+ "330a8244d02c7d244032b6c9ecb3075cc33c", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313034", // aad
+ "d7342913d1a2402fa1873a5128adf2c98d7cfe481d6d4c71374661"
+ "fc4a21558afa65eb3c4b71228e8a599add54", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313035", // aad
+ "1f1ed7931996938c7e84f0a162f30fb542489f8cb65d6dcd65f221"
+ "cd6fa82d4c190108345f45f68d0a8a8805f1", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313036", // aad
+ "b770a556d75a652104e63cc223c5cc46f77b9e89b489686e8432b7"
+ "778bb74eff34c8dabc95edeca9ed6be34034", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313037", // aad
+ "455ef4b179022badd33d63c9d865d46f834bf0d900ac97fbdf48dc"
+ "d219cc17b49cad050e9a5f2dce7a7959777f", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313038", // aad
+ "29b10c717191867d611f6d76444f57e85061f3a9127120d4d387d3"
+ "a256e3c505264d1213b508adc8bd0d605ce7", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313039", // aad
+ "8352bb1def172ec960c23846002814cb0872d6d6ecf145f7c94ca0"
+ "defd538d33de80b33e97490ddba8870e8ab1", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313130", // aad
+ "89ff0e6eaa5494961b64bfc2b250c2d064134f70c2746fc798edd9"
+ "35123c6a95fd489f6da0079002453f5497d5", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313131", // aad
+ "528427b5773c8bac122e1598859f63b1f0b506b284c0df0a58809c"
+ "48982e395deaf43437c292291ffad488d3f0", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313132", // aad
+ "a86fa975fc88b0ccdacdb0a2bdb811183e48ea67f3772d5d3a7831"
+ "e3e76f4e496a19e0c5b84d2286a06565cdb1", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313133", // aad
+ "654b9e20e7a0e0623a9f41f3b36ae0bc294935d00f0616774dba32"
+ "037eaeaff2a97954e3fa6fda980de767b992", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313134", // aad
+ "61f9246bd89494e2d5a0812a96058a8f33877ffe1f13a44963ad10"
+ "877de47c5a6f3cfac2527a76f55603348b75", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313135", // aad
+ "8b2047af44d40004fb4f931d0febb7925cf916d36cd417c397afa9"
+ "c9818cfc28ce4e7677713246db509109b68a", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313136", // aad
+ "614cb054a70062bc24072491c370b35e9dd186e4d888e194e999e4"
+ "236d7bd99e6e206298ce072b2b80fab2bd49", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313137", // aad
+ "ad85acf2366433f083ea5579a684bac250164ddf283481eb2829d0"
+ "4b753947814e28988b35d8b8b5845233e447", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313138", // aad
+ "5e00271ee1b8cf97d6e3b6cbbc5b1d527771f3d875ff62d5765745"
+ "e86fd7871b5800d0890ac8b315aa406f92ac", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313139", // aad
+ "9dad0d4b43622567531e302cd2967f9d3c8ecb2d8b3ef0b898b4e8"
+ "c05ddb82e78e527be3fb657fdd9dbf05bb04", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313230", // aad
+ "fbaa616cc9bbc7b0002582ff03583a542dd76f182385a24863bbca"
+ "c3282a9f2cacab11a5bcad86bde2510d9b1d", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313231", // aad
+ "4990745d8d79c1b33fef23b82619696d5e5da451cbeefbf00c30da"
+ "700ef0681531a3d920d72e0d1c908304a463", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313232", // aad
+ "1ef62eeb3ca02b25b2fc43538eabea4131cd852b058eaa1f9a600a"
+ "49af53533c33231e57b0d996090d9d12f6b2", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313233", // aad
+ "09ac256bfcffd8ae39de0bafaf62e1b92654ba9b6982658db76d47"
+ "3abdc9ffdcdf2ba52b10b69a1879d682353d", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313234", // aad
+ "55b7c985df175c14e88645e8a80501be4c23ad61d8926767625cc9"
+ "e449e2ff4ffd867594407259ca4a6fb80a29", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313235", // aad
+ "3fbe94ece8b9c6daa4f9593cccfae2ac03f141fa1dab738d2f50a2"
+ "5e917f6b604575856ec9c5146494497af566", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313236", // aad
+ "1fa4f537937a17976c847e85464c49297ffa5a80f86d4074106cd7"
+ "172153839467554e5875be8cf57d0d8ef175", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313237", // aad
+ "8640feddbddd1dccce0aee7d4009937a05a839a678ebe9ae9e74ae"
+ "99aa4b829e5b3c8203a4c72a7163b765e3e0", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313238", // aad
+ "228735923710bca4446d085e2eb06b4d1ea0f1121d829fde3ab230"
+ "e3a174d0c442d2d872221c668a8c426eab18", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313239", // aad
+ "ce93b6d4e808047e1c09b9a5799529353dcaa465e7dd77573593f7"
+ "8809c0aafc0aa0860e824a9c16374057845c", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313330", // aad
+ "6c76b0a1eb42afca7ba3b58327055e36a93dc86571c924878fec81"
+ "f031061e7517100ecb063a7d11bee3e34bf5", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313331", // aad
+ "0957df2ecbab9d49ed5b02990a13f42c395d962f8a63ddbc0e702b"
+ "e77c58b3a502248e0d0092b8f29d8e8451df", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313332", // aad
+ "7908cd0b19f31fffe10ae3461d5d08368d26769b76c2a464f6d7e8"
+ "24fa5c51cd220cb39903377c6d3b99a0ca50", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313333", // aad
+ "61ac9e0e87edbaf0723866d86d16f842129bb59433f43f91b91326"
+ "17a6eb4b2d8bb81680d49cba27465b391140", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313334", // aad
+ "d0ffb5178936871a0f69cb470343a7cf1cfeb003768644f9735f98"
+ "eb313da7af67c63d2b9cfe3b44090a47e948", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313335", // aad
+ "d7872423e22d83b2844bc709c2a8427ad886ac390d768d0ea508b4"
+ "c4ef4b661c349cfcd5ddfc1a90ede2e6ecc7", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313336", // aad
+ "4f63972a7f47d9cb15d3e0d3b4b4966dd2a0cbb4810997e9728bc2"
+ "788c10293d6ab6427f8325d2acd6dd0c17c4", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313337", // aad
+ "42c474bf28f4276c599bcb223877e037e92dd1633438300850e541"
+ "68b726eb3e3326b73b42daeee7f1124788df", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313338", // aad
+ "1fff015e9c3239916c9c58fe39bbef7168c6777b0cb50253712881"
+ "6fb89c180f7596adb3ffbe091bf99d00d92f", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313339", // aad
+ "4f540fcb8ac7666afdcd38c4273b695c9d472445dc13523bd21214"
+ "75d3d1c4164b781bce14d90ce630c1af4c09", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313430", // aad
+ "806f3f9c254a92c6c36b7b13c5d7c13ad4e71cfed7aaff29d249ea"
+ "eacb0846d96edbf5cb90ea474ee1308e46b1", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313431", // aad
+ "75f935eaf0af922513f1faa962876e34d25335fc907f32a552f298"
+ "2bf4f7eca783f01ead78b1fbd64152bccba8", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313432", // aad
+ "3ba04739c6478c727295ad164308a97c0d46d93c6832efd4e58178"
+ "49b8a2340ef8cc7e94adc9d2438eb86a0efd", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313433", // aad
+ "90c330de54c46c4ef07ed8434e1f2abcaf9fa38fc731597133bc35"
+ "010d8351f3ddb61297c1f1f2cf211b0e46cb", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313434", // aad
+ "6a66305dc104628afce3b9a83eeab7608e01fd616bcc8766ad984a"
+ "b8f60e07cd318b76e4acb4b470d45b9107d0", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313435", // aad
+ "36d4bd636e221987f613b165988dbf52e6ee1cb20258f8be9e280e"
+ "f8df5e789b7fa9e5f1853bbb469918cf0aee", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313436", // aad
+ "cfe57e0694f5560920508b9209832e781a2309f81887a167b71ee0"
+ "456a38e38f0f93422741fe505ab01fa1b65e", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313437", // aad
+ "5486a04671fd59e353265cfb67a03b800c5243e775d9f8b34cddc8"
+ "710b21199346dbd974143ea44fa00bc866bf", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313438", // aad
+ "a7b4b2201bbd8a4e7e5b3900786d6e18c50300069b8dbc8dc91e0b"
+ "33dd0465f5374d83bce9a08e5e4731a480c9", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313439", // aad
+ "7e86246b43d2ffb384fea3df7ecf76807d2c2dee5c599f51a7160d"
+ "8d9dc458b5503e4abea40907b3ffbe4b37d5", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313530", // aad
+ "39db7204445f2688bf2853a8b19ac7da9faa3c9389e56758847ed0"
+ "bc19e18e40b5346464058160b9301c4d6f67", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313531", // aad
+ "d6610e55fc707854297e2e38bf4c1e94f5740bcedd66b32ca8b7db"
+ "d5e50422ec8dcd552bba2c431a11d19b3226", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313532", // aad
+ "13770add7e34c7cc5bbc9394bcdeb8f981e55c5720ec99c94b34d0"
+ "d9043364970140efcb3c196433f65a008dea", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313533", // aad
+ "530160b8bd5cb5f1711f179c9522c0c6f2d837e15ecc9eb1d0a110"
+ "a0300892986cd629be28c04f9b09113b2fb7", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313534", // aad
+ "44b73112f08a67dc9196bc6be2da6172fed430610835b4d8e44722"
+ "85029b0e4f506fc1f4898b5f97562d5569b5", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313535", // aad
+ "5220ae919e1818debecb5ceaea216a1b5582f28a838be845d70773"
+ "f843d5e69bf30c6bc6828b7cfaad3ae24c28", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313536", // aad
+ "53cc13f41a1da765be5ab8834eaef551dccc972c175a9edb7ba854"
+ "4252a1ee2759d835724041ed4032066dc762", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313537", // aad
+ "48aa2e4031978e9b0431a2754e4c237aeac1766ecbfb7eae5fe400"
+ "a12c7c6b55c78a419b81a68ed497c56a25af", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313538", // aad
+ "f5f78f3fa690dd90481f63e40f32a4e67443f643b58fe655eaa5ca"
+ "e32de84142b4f607354cd3fbb682604f7421", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313539", // aad
+ "ffad523fba30f38e757c705ddac4b75d07deec1a98a81fbe8e180b"
+ "49f0e8d66532b8b02749e6a9713ec5b6caa9", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313630", // aad
+ "5dd4e71307edfc1e1a42209c7949d4958b15f2856ef78fd3d310f3"
+ "1c10378ce4f26eada924c1257c1fa39f495c", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313631", // aad
+ "c793cd042cf72c7b374fe2af9a4682a943685c7c8caa0894d67f8a"
+ "63b414cb6ac40a3fc20e45e771022996d695", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313632", // aad
+ "7f6d0f875511122a245196f2b39cef41abf85b0c83a1c41228e949"
+ "360e3c07360cfb2172848435b7185f3b918e", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313633", // aad
+ "122900aa1e382093fa8d883f0ea0bbedcc4860125933f307eff8b4"
+ "577a49083a3f5ee8898f37f966e725ef5ccf", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313634", // aad
+ "df281b46a6092c96e007b8c41f5b16c9d50c7eb3c12987979d6646"
+ "c2a204cc9ece1ccd8c5361108210b79863d1", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313635", // aad
+ "d7bc0f895be189bd0659c87eb5dcfb0c7b7598c6a2a8b1e7ca8740"
+ "49f375f65209ab11187397874d0a4338c4ce", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313636", // aad
+ "bdefc4be4425e1ea9ab1eeca5c3e0d4a9534bc548cdb83921ea082"
+ "92bcf0b32e4a0f84280bca3ff6379be97345", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313637", // aad
+ "e9fe8e7b0a516433ae7884d0cc7ce13ef369920c256e99cf197764"
+ "391b7735263acd5da6f242c5e4e7d57280fe", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313638", // aad
+ "f3cd4ac46d4291ef398381bda4508a9fd2a02f592c35517c003a49"
+ "bd3cb69a3ba361b680f4b333d39e4abc8e29", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313639", // aad
+ "81b6d2ed6881b28a4197e083e4e56688690be9ffb9f6a583533dc8"
+ "32a728d9983dc1cd10069bd50f8cf289903c", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313730", // aad
+ "85febf71ff22f12fea4159fd4456086f641b27d7842c9b79306f01"
+ "a01f4eecd96887aaf3e24bcd177ff2757c78", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313731", // aad
+ "43a5428400392ba736786add2ddd4a6cec058389ed54c33f0149e1"
+ "ad351de7a3af8c9b52f863fd5307484c4a05", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313732", // aad
+ "87d33529fad795e16499893f128f5baa65b27180bc20f2eba9ae52"
+ "1132d589a7e71c14965cd149884d25877bb9", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313733", // aad
+ "5e3e36f23c570c7d00adc27c721cd3559f0930fad510f86bcc727b"
+ "9b183537cd33d31e2df469fb68272920e41b", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313734", // aad
+ "1ffa0215fa0925f99c73a78a129c3521bfa6349b1172e6ee0ce322"
+ "8ea0b99aa7ef7857c2ff25069a35fecf3869", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313735", // aad
+ "edd131cfd4158ccb0ec3936bf7454a35783337455a3d056beb1ef7"
+ "8d6a483a41465d312c458bb9411c1d0a785a", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313736", // aad
+ "70165c55639b7ada821a647b1d9b36a79ccff0bedcf08dff660b69"
+ "7531d071d217c4146ceec65cc9676f8e3b18", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313737", // aad
+ "0742984321d6728c48aeb64be1d9d87251cd8fabff82c11f88c456"
+ "cddf8936a42bafffb2bbe21356813bd63eb6", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313738", // aad
+ "047ba9bf439beda992b9466eb9be7c1eb23b7b42742210e6e0f32d"
+ "64b69273b6bc517ea075aec940e3fdd0026a", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313739", // aad
+ "f5ad7b9d9c869f75e97c2005542f29f377352577989cccaf742c4d"
+ "1ac6161af0dce7d6cca34893fe45710c25b3", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313830", // aad
+ "9257646f7d384e4707ac55019ef35c055a41456c1c7c788e553077"
+ "56db90bea8740eb06843ee60ab9b853ae809", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313831", // aad
+ "53d77cf5d2a99d4e19b6657c22dd903395b7786b38868803014c34"
+ "3bbc3457655f6296acbfe7b16a5511a0ff2d", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313832", // aad
+ "9787f7bc2880438cc07f75f8aed5decfb3892c6f2402a226e51836"
+ "4019573cad4a22db91676fa526cd6283d836", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313833", // aad
+ "7f53eeda3599b51e46c09412e4c239df4695d076de98500daaefb9"
+ "f7354f0db7b67db5538e2491deccca8b01a1", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313834", // aad
+ "c5da57fb776138aa61fc656e7296f6b3baf3730271e825d131b364"
+ "a5fc7f061edbe9677013059e62b9ca3349ea", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313835", // aad
+ "ad2fc945fa453c97b2c1bdc34e8805761ff47448a8975d6094b4c3"
+ "83d75f0aae04a336f9f895257034651b6308", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313836", // aad
+ "4987ae7bddc812fca172ab53fa15e12b24009d8682fa96982a059b"
+ "2afe1c5f10930f38000a788dd9b5fcfb761a", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313837", // aad
+ "9304fbb284a3f664b22dfabd9b51a6c3deaeff937e9148aae5618b"
+ "73318fdd25ae218153c3b243797b217257a7", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313838", // aad
+ "d13bfd0984d30b21c056010f5d496ccda5aa479455e084b6d0d430"
+ "8a9fd10d06b7b1d060530ae094e4b50a3f7b", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313839", // aad
+ "36368c42ccef882f06d9c411eecae093ed5fb034108da6c465aeb9"
+ "1a6be5f9b51e6eb052133e27f21e0a3a6c18", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313930", // aad
+ "06516e4bbff7e3a24396ea07063f352843be3bed070261cbbff2ae"
+ "f7e815b42791ce53c0d65aff697d1309013c", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313931", // aad
+ "7854caee339744dd7e4204251ecc67fe83494567242d3119dba347"
+ "c7dc83a38df0989b9295ad21178a155cb554", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313932", // aad
+ "7c39358aeaf962f8399eb79b04c58424cf0dfc351016d736aa4dd2"
+ "4c1a77778489ef42f8d67d06a87ebd39a903", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313933", // aad
+ "1dbd3d8a6b785a306bca857c8d712b78c86c11df5f3a80e12d5031"
+ "533b496f5fb6ba27f06e620d29ff99ddf3e8", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313934", // aad
+ "51cb77eeaf1b72e6f496f9e0600df8af7a0f728034ab54f04674e4"
+ "8e683e46d11ea0965a9aef60ab6c17f41e7c", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313935", // aad
+ "e7787a65db3706d325f85cd95d843a57415787b891b9675c9a3913"
+ "0b221555896dee56a7d0a4e4d17da8f2ec1e", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313936", // aad
+ "f71851376f17cecf7a2778db35dd77f5cb686b43eb939819345b6f"
+ "c7c912ab9b5ca307686d044428c13b3134e9", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313937", // aad
+ "17560da89d192f415be79d2525007899d5aca0723ba026fd345ef0"
+ "6eae806e176a3afc5a643f86549149817eb7", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313938", // aad
+ "fab8a555296789ad7014d884fbf620d6edf7f458ad6d2a81dd3830"
+ "a4ee5258a1d46cc4ade4de2f9f1b0300ccde", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313939", // aad
+ "903c258b7edaaa1716b2fb415c71e8fa7cb15affffb99cb00dab72"
+ "9be36cbecbf187c314ddb04dee150e562677", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323030", // aad
+ "f6c73fe2e6ddc81d5d1711aa1b9719d7e5967c23454ad613a85419"
+ "865172fbec58f01b069199f2795a2c0d15d8", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323031", // aad
+ "d81ef99116a0db25d6e1797a30114ecdd856ca926f532d9ce718fa"
+ "781a68ede2cf03db7646e105e0e8e3ece7db", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323032", // aad
+ "539a61ed62db5c59c7adc82e476ca4399bc203e6eb4bf0454f2688"
+ "922bdf47a3538d28330ed99d6f3334764d3e", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323033", // aad
+ "7487b18dc97818f96516e547b2256c99145b800d553bdb9908a60c"
+ "e170cf24ff1ada91a96474a90f45cbfbb627", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323034", // aad
+ "ced60defa3a42c4be45c4f8839d16fe4b3ab9e4be935af3f6d72cb"
+ "176d32fe9307742da0977fcc8452a46277be", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323035", // aad
+ "f3e12adbabda48b7c6ddcfed0d8ca28c1231b61f8e07a180cbd34a"
+ "98107213a506328e7c8a11acbb0f54f5e3fa", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323036", // aad
+ "c94f1c5977118a1440ba4065fe29b840bf3c653e3761af11755fff"
+ "137af12534b96d2d5f70b60576791b1a1ceb", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323037", // aad
+ "bf226a7682c9df4bbefba8270b1b38447c1efa37d76f2efadcf082"
+ "3c04874efd0dc3ff296895bd19b073f62cd7", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323038", // aad
+ "472bc66d9af83e1dd0b4a8ea297636c4171f9874c7ee14a5ebe626"
+ "92252372439dbaf191743571274e47e41d17", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323039", // aad
+ "fc6d34ffb00ba5c9a2c1d4c253e28abd3ff497c12d28537d9ebf86"
+ "f27caf5db27b4e30fa139b4820e4364ae1b0", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323130", // aad
+ "b37849c4b4606f95aa4d3b1e067820b88944e9d47d8086f90d6d88"
+ "380feae993c94b998c6e0286782275bc729e", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323131", // aad
+ "7e58752d9afecdbcbc44090a442d8e60981237754a369f67f2b5c2"
+ "762a5bb9b0152c882404874cb681fb11c2fd", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323132", // aad
+ "d7b1d7b538ba76176ee870fa0a58e8b8eaf3a9af520e2169bdfd8b"
+ "8f85bda28e6988c052473fd55f94233a52ad", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323133", // aad
+ "5518c738a37f94e1e099583296f02ba60812cc17216e7eba1bd86f"
+ "32b88e30138c4db1dcf7e6e8c7e456595cfe", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323134", // aad
+ "6bd5ccbeb72dd26f2397334e45d0775522e7beb86d32a53ded73f4"
+ "b1db43d2500c0644dac78ac7edb47acde99b", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323135", // aad
+ "3f0927c1ea9f4fd382034bf54d38173e2dc844a282fdcc800d220f"
+ "d9288635d69b493d64075f9598bc9eaf894e", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323136", // aad
+ "a3a45fbf558b6c43d285f994b116957363069746dba924d678c665"
+ "2d814857c89f18f6fea61ca9edcc7059a0ab", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323137", // aad
+ "ce4dc8dead87d327e1c416c8f4fe79b26fca6368c8719a81143556"
+ "9a595c1f6d4ed2b8107b149620292f5a0b60", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323138", // aad
+ "d09df2bae972d92a6bdc3957842e27c8b25e6b60acb2591f18f32e"
+ "aebae3c68a3cb52e3cb40f1b4b64586f4cc5", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323139", // aad
+ "8a29464759d4a34e08b9a5aa8b9a1ac04a7c1133e25eeb37b412cd"
+ "3bc84be04897ffc88d16f9a788fa95f3c2d2", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323230", // aad
+ "7ad8b2d135801713fc09da25c9145f1ecb4e54b7613c66b62a6676"
+ "b2b37699736e2e393252b0e2e1907f4d69a6", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323231", // aad
+ "6498b37ef26ceefd6b31f206d6e41d5fefdf1411a50bd920986b50"
+ "8af428fcca1514f44fce14293221032747b0", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323232", // aad
+ "2e9cc8c5bfb104ac5497663b67e3211fd0096042290b98b3d73d25"
+ "c775014582f78416b1efbaff5824810de55b", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323233", // aad
+ "0be8bca3d153134c761ce501850ec2dbf2cd9f50120e5ee4d7d4c1"
+ "052b39d899ff22cfd1fdad575317156674da", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323234", // aad
+ "295c6a08940d47fd623c0c33000f5fe6c7c3f8f9b31303c220255b"
+ "ce10a8d80e4240b4ebffa142cb818c7bc308", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323235", // aad
+ "db325c397e8f5d9dbf7bc0aab951855685fbb97de606c88f350f32"
+ "290c5c6f4f7c995bfcd05e2a7c1bc16a596a", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323236", // aad
+ "f530eba2baeedfe982b0b022450fe80ac3591c41d1f909480ff37a"
+ "5425599353fc82c4f527d02e846fe12d9c4b", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323237", // aad
+ "c8af8eff97fdb19cac724747f08df64c1383f472d22e93ccde18aa"
+ "143dee9542aff8091173c0131b3edeed2c39", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323238", // aad
+ "0c8d1c5036ab423e50452b1e61b721775a199a91cd2291e13c96f0"
+ "4df246f44e3afbab4ded8eae1b67ea84242b", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323239", // aad
+ "ab1f95778ad798625944a6689f4a05bbf80267356544f39d831a16"
+ "1e252eecaa71ae49a419756f410b210847ca", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323330", // aad
+ "7e13815dc835aa4f900173aa7eec0ea5e48a75225b6255917d471f"
+ "013ab9c391eaa1a18223a5c55bcec4ec8881", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323331", // aad
+ "8149e24653999edc9cabdc1ed5f1b438fd32e763fba8b51b7ed7db"
+ "5633024951f582caf767c8d6916cd15ed6f3", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323332", // aad
+ "008f0857de35c39602d2550fa4918d26bef695a6bab8f84db6f791"
+ "7e322a0e0620818e29c4720f2fefa38629cf", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323333", // aad
+ "5b5d971d595dce9b9607e1c479040a7e1d6d2a9c6e24028249d51e"
+ "83cce0c97b7ec137cbec644baa4e50b764e8", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323334", // aad
+ "32eb5403f55ff9056b2ea7022c456698ef1534c1f4c93de1cf63be"
+ "41e804ecc272188dcb4cf4a4cffeba127f33", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323335", // aad
+ "5e50b02e08ba86d6682194568ed63477f3a25fe0ec21e6bb0743c4"
+ "d73befd2b50c954bf44eea50f9cf5ff69ad7", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323336", // aad
+ "06ef37c4aa128b3330df71ada637bda39c7f907d86a895a1dd3e98"
+ "1276f1702529b41903c1a59a855089de15b8", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323337", // aad
+ "1e8cbdd91789160baf40bfd8c44e1210aab4a399d7524fa73db321"
+ "c78a910d8977cac9849e8317f26b1d1f93ee", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323338", // aad
+ "a66badb1355dc4ff8ccb7f4fb7a81539ea43bdd77c4d6844a39af6"
+ "67e4f2301b1a9f33ab58656f4de4e406358a", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323339", // aad
+ "1981b4ff9cf0345d662224336d3d7b53918b472e9b964d81b0ddcc"
+ "f31c236aad2b3518436bd9e399feff929d7b", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323430", // aad
+ "bd851f7f07ca893c1590f2a60f1cd901527e8a9dd316c0892b0971"
+ "0ba4810aeb02f7c38a11d39b13bbc93a2d2a", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323431", // aad
+ "cd395282b78afc416b04a6ef1b42a7ff244a5345eb14dfa6198cd6"
+ "ed33d5dc67a4c613d0a4972c74c2eac587ae", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323432", // aad
+ "c124d49084e3b6f8434a7bea03ea98ef82ca9cbef6fdd37bd53d47"
+ "01cc22bb204c928c1bbcbd012a86c438be4d", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323433", // aad
+ "45fdbbbcda0b30d104974a21ed762d0d93fdc198764768e374b1f3"
+ "f9dbe958cf1a9bcfa6122657a396f72ab28f", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323434", // aad
+ "4baeef9122422dd0f3823b1e591ab87b713390cea0199dc1a1e6af"
+ "a8c9ce255fa9137f3acc159bf4cedca24ceb", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323435", // aad
+ "8500ca07d5ac6166d481c54df6f6d2d1e9fe83983b7a0823a029de"
+ "d897ff9c4ac4c18bcbbbba892170174c13dd", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323436", // aad
+ "ab6b7791a171f4860781cc8980bfe792260076bc719e97cfb53f7e"
+ "3302417b7ad87f04b2935322e1fd24f7d76f", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323437", // aad
+ "028e53e8eca58f58b2cb945331f07eb8771f37d5a9bba8b3c1d126"
+ "cbcc760dfbed7b39f9f073afe6536438c062", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323438", // aad
+ "c74d665146e8361835c02260ad9c0cf71b2b50defd6673c41ced2c"
+ "847c2a1ae1851630e96f5119d88269287289", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323439", // aad
+ "b27c8e4aa2aec43657c12564db71c3397017f4920069b5b55451bc"
+ "c31af1466cb299b9e25d0b93713bf6772726", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323530", // aad
+ "c62d74ecb3effd0449b9fc7e4ec66173130efcd164c8c7928440f3"
+ "d44f14d38c9cb0312c5d402af48eb2c2095a", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323531", // aad
+ "c44703fb1d7d93ad4b01a45988974d2598d179514c000cd3ed212d"
+ "9b0d3eb5c8e753bfe27c234efb86b78120c7", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323532", // aad
+ "5b991f1b12f1135fee61253cd7bc4ed58655267c55323e424e698e"
+ "d9cb3980a20031fe37df14bb9d23bd7584f1", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323533", // aad
+ "a4b264928a4dc5bf10e1c70f56a7071064aa0f9c61d20571a9394b"
+ "a72958d1e33ca39d229e623752d01010e84b", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323534", // aad
+ "0b647f17fdc037cdea470edc9ef98955df5caa354ea0941180d809"
+ "5f050f1963f3822a152371abfbe43bc3c7c9", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323535", // aad
+ "bb5bed92d706f18ecad79bae284255719ca717824b91060d0841d0"
+ "88ecaf1c23ba87a80920c2018dd0485748a2", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323536", // aad
+ "da17b7f8ab265f65eba88ed4d8a7c13a7f14cff2fe8703207109db"
+ "0a0a4e4f9e1b611b794ca0951f1e551eb1f3", // ct
+ },
+ },
+ {
+ // Exports
+ {
+ "", // context
+ 32, // len
+ "02e3fec06eb0aa470b793e040746e459c07ca1fdb12fec9c15eb25"
+ "f9fc40d6ee", // exported
+ },
+ {
+ "00", // context
+ 32, // len
+ "fa704fa53292124bf443004b0c29573618be834d515f433fed6667"
+ "5250379c5d", // exported
+ },
+ {
+ "54657374436f6e74657874", // context
+ 32, // len
+ "039bced37cd97c3702e685150baa1c62c003ef3cb3e69cb827d410"
+ "a44eb1be0b", // exported
+ },
+ },
+ },
+ {
+ 2,
+ static_cast(0),
+ static_cast(32),
+ static_cast(1),
+ static_cast(2),
+ "4f6465206f6e2061204772656369616e2055726e", // info
+ "3067020100301406072a8648ce3d020106092b06010401da470f01044c304a"
+ "020101042028e212563a8b6f068af7ff17400ff1baf23612b7a738bbaf5dfb"
+ "321b2b5b431aa1230321008e806d41aecfcece96a6b47f1e488a3ac6e48090"
+ "d9b634355c705dd34311d900",
+ "3067020100301406072a8648ce3d020106092b06010401da470f01044c304a"
+ "02010104204f8282f1b30e39a5d7f3fcccf73d8044a09d89ac168c1929f179"
+ "e2e93e20b8aea123032100ac66bae9ffa270cf4a89ed9f274e30c0456babae"
+ "2572aaaf002ff0d8884ab018",
+ "", // psk
+ "", // psk_id
+ "8e806d41aecfcece96a6b47f1e488a3ac6e48090d9b634355c705dd34311d9"
+ "00", // enc
+ "d7c0d49221e08f1a9270fed5ace0e600e570c766c83e19643d520670299a97"
+ "d1", // key
+ "a243fc1ebc972a48eaf28ea9", // nonce
+ {
+ // Encryptions
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d30", // aad
+ "23ded2d5d90ea89d975dac4792b297240f194952d7421aacbff047"
+ "4100052b6bb8aa58d18ef6c42b6960e2e28f", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d31", // aad
+ "ced7f6e355712d722a7354968e5e83f1c77814fd2816a8fa4a6aed"
+ "2dfd3297815d7dcd21ef905230cfbadd1cde", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d32", // aad
+ "842cf2d63d152ebbbe7a1ecc39671d0efb328e0b05c592ea7be598"
+ "19f0567662783587fcb1deb96f2cad51e56c", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d33", // aad
+ "e87dd08563e2df517d7fd46ceaf54cd1b60e664f5e14cb0c8d2925"
+ "28c558ee36131ab36e79d9fcb4b23a22ba6f", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d34", // aad
+ "e772130cdbaf62e2aa8ff78078f84c7dce3b16ebd970d4997b6117"
+ "d736843d7fc3b712108c4912086e510099e7", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d35", // aad
+ "eb2776c69528944280c469c34fb26c7b865506c14c5429ae02a7fb"
+ "7a8e8f611292a74a4c0f0eaba91f4f0adceb", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d36", // aad
+ "85d88b678ff907967f189cd6f4fb4b3d2ec9ac77f4ddf8ed0f49b6"
+ "46acf9aa2b56d89052ec33b78e88f4430eb3", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d37", // aad
+ "a9e091e5541c5dae452739233d1966da69e86678ff735108386d12"
+ "02ac92b3e8765c489016042ccd50c34c55ec", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d38", // aad
+ "f6379b49f4cf8be756bb51cba9f89c35b384fdfcab8af2f5691a2d"
+ "e635d8eaf36b9d06808336288bff50f716fb", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d39", // aad
+ "90fa74418a15c91ebe4c94ae37fe930bbad9489be610b76b894923"
+ "fd5c8bf4251d6ca88353e3485e4dc3cb9371", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3130", // aad
+ "43c3ab517dd7f203bab193badd47fd49eea7e3545a37bbdfaabb4b"
+ "0d9658d9522b2131a4341ee57f0d6e581bb1", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3131", // aad
+ "9d1225d95bbeb52fe6ab99c3ef404f71d4e05c4e3c56eadfff2a01"
+ "7166a41e11dc0e83f864020eac85ce52ca52", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3132", // aad
+ "6de80fbcb0249d747c86b668def1d2edcce118ed50ac57f2c90bcd"
+ "40a4aee3459a58f9c086af09080731d3978c", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3133", // aad
+ "b952f5513f8a3e2407fb7f2af5b21ea49629d5888fb78ca0830d64"
+ "f504269f76a61d515da4697d793bd6afbf70", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3134", // aad
+ "89ae533b9a4a609fb42dadda1409fd9aaa3b96a8fb1c8f40de18ba"
+ "fbad1efa31b50145f694fe7889540ccec73c", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3135", // aad
+ "283ca163e1cde53b5baf5bd17b031cf84f0c95852cc1291ba85b3f"
+ "0b2e7be5c2a7519d09c99ac81f35bac7b93c", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3136", // aad
+ "ad7750f3aa0bc09314073f43effa81abc1779cc4ee157786d0c7e2"
+ "a47bfb0ac4803be3caf223bf3da83c6967cb", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3137", // aad
+ "c2ca31ef04ab31f07dbaf492c5bdf7b29b1114abca5f8ea0619a50"
+ "5f5f3b9ff888038412a1933de261e0ba1263", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3138", // aad
+ "0575e17db7cf48470437838eca3bce5b7f9493ab4ba663b9390ed9"
+ "00405a3140c57dff1b1d4fd6e48046882978", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3139", // aad
+ "fb10f07ed4a994455e341893dfa490068419721fb85baae002f693"
+ "7b01ae72ba4baed2f6a0e5a92c9a8bbbd473", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3230", // aad
+ "d0b621b0b932504bef646623f676bd9d54ce1ca86cee9fae522217"
+ "918531ce98757658a0ad73e5d5faf3d47291", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3231", // aad
+ "b52badfb0ba127ac2eec345e13876b13ee44643cddc32f76dddaff"
+ "7a55131bf39fed5b0a4477d4c01ea6351d0b", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3232", // aad
+ "46f0ff9f1d2d15be5e698ee8cbefd68cb602b99c3b81d68b4bd32a"
+ "07e03c016b2ba97b90fbf3ddb2c13aa981d3", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3233", // aad
+ "5a44c9299ebf87e9acfd41f4a2d8070c2b05e6ed3c81565b17b9b7"
+ "bcd871c28be5825f1b315ce137331bfdbc68", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3234", // aad
+ "245b39f8b39882a3e3274a4e8e50b8ceced97cf83707955af76046"
+ "fd4b5c68a7e6ebb1a86749c7322276756cd7", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3235", // aad
+ "74dbf7a8d6ed014e7d60600f99db5dd8d6b89579964589d9f9d803"
+ "12c79e3b957d2a6b84e99b57c15b6f282673", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3236", // aad
+ "9b592893a02831169656b1a18aa63d1d888b879a7177eed20effd1"
+ "20145b94fa5816c792b910fa351f67aa83e4", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3237", // aad
+ "8f28a8992a4df78ba36aa8f9fe06b98f9252e4893f412ad7462363"
+ "1a1894802821bafd0de63075b250a5cc5469", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3238", // aad
+ "8a693666aef0d4e456b98052b4ee94a2e3fc19be65cf1bdd821621"
+ "e1ffbbae9be7303a908a299bab9113758f2b", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3239", // aad
+ "d85dca2482c369df79f2e7db1bae4c0f4156b7069250a90373dcf4"
+ "e98b463dc590ca9cce0880a7e58ef8a5c6d1", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3330", // aad
+ "18638d637433a6ce39ddca186af8abf85b74e87c16e4e1cd0b7531"
+ "387e7c2e6b8bf19537df844c98d8e1c6d532", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3331", // aad
+ "0e83dd1006a4f8a0f405a210082d61cdb486a99ecd4778990e21d5"
+ "f28500c35ce74fe0e30a2177083b0ec0a446", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3332", // aad
+ "ea2cb7fd56c892692295b39f56af8d1535601f7d2d617e0eeeb023"
+ "b42ed17ce885c4e2ffc2965fc928ffc54d7e", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3333", // aad
+ "06ddd33b2df8e547c063fd2ae00ba9463ef9a231d2ed440ec3a44f"
+ "77fe34ff28b3ddbd11c565c8233a17dd007f", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3334", // aad
+ "9cb2108dfcc1902a4ee57a72d97141f4f1e844193cf1aebd4e86db"
+ "4dab15575a89a73fa93abe5098563e82ccb3", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3335", // aad
+ "07b13c1f1053ddf141361f29ae628be6de57545f07672f9261114b"
+ "c83ebdb05ffc058f821f204cc3f172c5e081", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3336", // aad
+ "607ac6369eaaac716d82024d7638df8a711fe961b00598be497cab"
+ "2a76dbe603d86c2ca97a8e3bd687abe45da1", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3337", // aad
+ "36c0a105599a8e228232ea044e135dcc8a6780acde1c4b70de6c83"
+ "a0332bcbf19edcd760898e31d394dd58b817", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3338", // aad
+ "2105e3a8edf979d4600dcfe724e0c774bbbcb3c130bad977c6ba63"
+ "c17ec33edb105da45bffee9fb1a2e923988d", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3339", // aad
+ "3d2909960783c633f40f1573412d161e7e30099485d36fdb2f5cf0"
+ "539bf620bbf5af4355f37e76fd27462b036c", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3430", // aad
+ "ed28f9bf126ae456bf00d030c51c003882fd79bd0352c690c54ec8"
+ "62a0e6f31274302ff3f8dcef90f9be993fce", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3431", // aad
+ "1582f8312e48b25770f370511f8330eff2698c863216f3c77710bb"
+ "f4b234a2363adacd4676581cd29576b1af6d", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3432", // aad
+ "3c276dbe05f783d4df6207da28922eeb4ee11c01b995267a71b514"
+ "be40691909731f78c9208b43a543e2f96b4b", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3433", // aad
+ "e6ed2cb97e69156a05368b14515a9a0dfe18ca3729411db0983b63"
+ "269cacf5dbedb7778adf67082cbad29e5a13", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3434", // aad
+ "715874922609748d64c1c34f492740a7e161f2fb67221b1d3c4f34"
+ "ee12a682132668f62ccf1e14ca112c23b5a6", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3435", // aad
+ "e769212990ee3ed63d729687cdad6a64f91c05dad039275e6cf277"
+ "22bbfb40a777d3efea2da9a959a299a10ec5", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3436", // aad
+ "94cef99a452a4a6f67112a41b0d90032cd89e77c9422e8873ddb92"
+ "a9412c031219cdd309d659ab7e189337040b", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3437", // aad
+ "163f983534bb70c192fcbd41a1ee355dc85030ef3b5a0861594b95"
+ "e122d2d3aff804bd080e92ac4a0f0a530c6d", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3438", // aad
+ "88c7b712f09c6fa040b192144c8a64217cdbe208a9efdc01934978"
+ "c27a87d495625bd58948daa3c56df0929683", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3439", // aad
+ "e720cd2d2177d2907158b116badb07361a01e1fef8d3a9654cc4ee"
+ "2237a9805aa2ccc6370bae68588466fa367d", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3530", // aad
+ "197f976656d32639790750f46d3a54b617f977003045d7811f46fb"
+ "4b3dbb0e74c1aa2658b8c1f53623b0e6a9ef", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3531", // aad
+ "70ae88d589159953d7b95f34b7444a7a94d392349c7fb5847f587e"
+ "5dd32ddacb7dba0bb031fbcbbc12e43101fe", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3532", // aad
+ "3a5b2577e7a298f6df5da23ef8fe12fd9700a917a9dde4fabbec6c"
+ "11055e45183ed7ddc617247e66071701b357", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3533", // aad
+ "0267d58725763676db456cc088fd32dce997e0198e3bbb32956c71"
+ "104d2135c577fdafd01c29000b877791f624", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3534", // aad
+ "df0f00ddcf37c1d48495709f2d4554ac1263da35e4789d30fe82d2"
+ "475d80723f8c5d169c2300b0c06872b0c92e", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3535", // aad
+ "abba75e8efce9e8ddc7509aa1699b52ebfcdec85f29857412614e3"
+ "eababb5a5fa35ca38356e1144ee286697fcb", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3536", // aad
+ "67fb1d3d57003076e498f5bcb7d64ccd46b6612fbdcaaefeb212e6"
+ "36f4d03763b79ac4f36f3ffccbe0e3e9bc3f", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3537", // aad
+ "8dd52b9e1dc06c96ddd110ed7b99176aefc0e58b457a667d0bdf35"
+ "c6b2522ecfaa85042467222caacaba6d35e7", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3538", // aad
+ "de3b28713a5566e5990c3ab544aadc3b9802ba03c1dc5a2143dfda"
+ "beedf7cb44131e86c4458ef78d37c1b9e42e", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3539", // aad
+ "05a1211c9933bbb004062dd6d7d2cbfa6018094fd5ff2dcf8c7eed"
+ "58c5bd6385617054fdb78a11a7efc3b58f3b", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3630", // aad
+ "4d4b228f18c80c103d865847e2ce5f4038d0ad7bf87f37108b0d35"
+ "2759a08735f05e42849d68777f207ee0b114", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3631", // aad
+ "f0544ad9cbbdc3b432af0f175b4cdb258f18c266562ec4f0443a23"
+ "b9ec068456343c434056d6f8dfc6d9319e0b", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3632", // aad
+ "565b02a8bcacb15e7aac8f18310b64ee9231453177352d7a26b0ca"
+ "a4c56c89dfbb0759b927e92abcb01883ab41", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3633", // aad
+ "1d21c224abc222521b2392c3ca599637dd032204977e0bcc8b4df2"
+ "43f5af80e6cb2b982af75c46ac9574291089", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3634", // aad
+ "fba6f2eeb0206bbc5aa462ad20fa97967db3b448fba89a7fc530ee"
+ "0d3dab5f26180f5630bf0068635f2324dbd1", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3635", // aad
+ "a6d89e1a87f059b228c5df94c49c170c5a22173e4f69ce50337506"
+ "1163e83bdf6dcba895a20c117dc297153e96", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3636", // aad
+ "2fc1754b0dd272448c432b9cc1340452dc57368c242486f032c242"
+ "2184f0b05ed39adb360badf2fd6335d2a55a", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3637", // aad
+ "8d0037fc6fa4fa489747a69f40191e41f9cfedafa883f093b0c302"
+ "1cdfcd4658fea0c947bce69744ba71d8643f", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3638", // aad
+ "e1a10e29f987c8c4eb8744a40c7d3567bcd376a20aa5209d491986"
+ "57caec87b53c547437bfd7baa32ab8db7c2e", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3639", // aad
+ "5beeea632e795fa425122324b20286248a111c0003cb5b16189817"
+ "541714f9850f80e10d38ee636cd11cc92c38", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3730", // aad
+ "661da48efc06d90cb468c189b8347743a13971800f43ec1bf51f16"
+ "a9a4e8509db12efea51e3b04922327fbc149", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3731", // aad
+ "26629a94619aaa9db1f1afc6927519356072a1da6a924e5d053eb4"
+ "ff7730f3931f41730eb612e9831025ca6e0e", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3732", // aad
+ "55c59647a2a98c65cda4d9075caec37a5712a0f20f8040956f63b4"
+ "d723cbcbb35807c12622e84deba9f4141982", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3733", // aad
+ "80025cff1038f0729ee0f28e19648822a3b60eee18578c30288ce1"
+ "7a3a7cb9fd378540035d5bc723f8170d8fae", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3734", // aad
+ "2dd11de94b12b707f07195f28493d54d21495a3878ccf2a7cf0c8e"
+ "71c60598affa1a5c0af720ec8bc7093cc53f", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3735", // aad
+ "0d9fd3c7b1ef7c4905b8d66944c2257d0ed550fdc46fe83813a7c1"
+ "ed0cfcd7e413afd96afee9f5676677e762ad", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3736", // aad
+ "95287f89f51f7df460df160cd236ac981edda1f128017dbb491644"
+ "6232e23ba06b4a99f9e3fc89561e13348cd0", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3737", // aad
+ "8dfe4304019b4cb27eadbbcad74f26e1566daa62a2cf6e492e5d11"
+ "586d350b898102cadebc67a63d62b73bf461", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3738", // aad
+ "03237d347da6979ca0d5c1bc8bf3ab9e553ef60ca18059d6a59ffd"
+ "9525cd33beff001ca2d9fbcccad2b3273182", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3739", // aad
+ "1acd3c98544653048b2293d1dbda0b3847964daf218c1586fb1515"
+ "0695aee7e9ccfcc51893172a1f7aaf763f7f", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3830", // aad
+ "9f8431aee69a4bdcc7b1ba8c867dddee7032cf6e04632dbb6d896f"
+ "7de9d6d23f4941df8ff3c8f2a05744b99513", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3831", // aad
+ "f024a7ca3d5b5661577014b24c75c3d78fc2e91c088c4b88b4ba78"
+ "cca7d7ebf92c909a09925f5316d67068dddc", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3832", // aad
+ "b2fc0a1a173157db857cd4dce0a8604ca1dec1ce9d094d6ea05f3d"
+ "a0f894e8e84676cf5627bdf7dec368e0dc36", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3833", // aad
+ "45e5945c3fa0e27e331fc6d72f5d45a4685dd05864df233d08825c"
+ "eb190a3e18fd6256732dab484cb3ac11db43", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3834", // aad
+ "f47c3949d279d114a3a4c5b9c87a3a087266f2f57b917914c012d9"
+ "d48c058d278d9508b65d2e7f9dac11798005", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3835", // aad
+ "f061c1b0c1362ab1a877822b351cb353ff6164e0a1106cbfba29cb"
+ "4015caaaaff6f24311e732e6b5588a1307ed", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3836", // aad
+ "c8a3448634a86a344ac4a16b83877a4add81ee994d81cab08cf9f1"
+ "9b1b3474f066f1b6cc96ad6d406f464e5d6a", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3837", // aad
+ "7dfca2af63cc2c7d0801372a703c7d6b9a57b9d09ae434440a6099"
+ "ec8b9be54e92ad9a2fff7282d091da9027b4", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3838", // aad
+ "f6c6f47f8f9e224a44a8c0e7f81a62371cefb611aa3907dba73453"
+ "8fa3e62d94734d5196b7ebd702126dc155f0", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3839", // aad
+ "09c92df2fbaa8b5c3e3134cfec9ef91ff1dd23adb755194cd10fbb"
+ "61ed42fe6d305c1835607f431499dce5c6ca", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3930", // aad
+ "b8d71aaff92e6bcfb7426801d73f3abc5fd1b309f99ddec7302cb9"
+ "dd2823f6d8be0bae81b6e406e56681159a18", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3931", // aad
+ "3475aef56332532e12e152d4b789cce2ac386fd20003a45dc3daea"
+ "da5fd4a72ce2181cd214f3391fcf8e113201", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3932", // aad
+ "af39ffa86830d658df421342acfab4cd52216a3ccf414b1c6f5e09"
+ "e2da0c450c229d7ec7776b9d676570e49ea0", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3933", // aad
+ "2b76c6e3b7236881ca755f311acf01ce07e4034fc57bb43085bc64"
+ "724e1cc7d82e53e27a58691038b7eda017ca", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3934", // aad
+ "300119c10d8bfcca4942dd79bd69adbaf99bd5dd65bf51c277e17e"
+ "386581574193631cd4cf8eb12bc72de70e52", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3935", // aad
+ "0c6b3d83e1d209b718495b0ce3811b758647842b068f5e1282984c"
+ "25642e42064061812b1117d1aed3d8fa93dc", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3936", // aad
+ "5514c8b6874207cae7658a6bf8543c11f14ea04c714eb3e378e19a"
+ "2d420517d4cec6ea0dcb0df462d11b911ed4", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3937", // aad
+ "70a495dab73e94a4fe0adf5ecd95ac091a6c289e02a32f1b8f595a"
+ "0fa04d9f1c41e574933f7ea2fd3dcc9ceedd", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3938", // aad
+ "693839cf5be96d89b783901147a318226962e2d6e7ef09fbef5251"
+ "85569996de1db9a420b29b4fa60d11e538a5", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3939", // aad
+ "f270f49ba19fc52ac4edead28f2a8b85d2cec3ef1c9cfa1702a50f"
+ "bc40fc4f1f85c3c9c8e23207d056b3002c9e", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313030", // aad
+ "38f1372fe8996c5e05ebe5b771128b97b489ab6af0af7988a1b4ba"
+ "aa90fcdad9098b0a865e2d0f8c8c5bfd5f0b", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313031", // aad
+ "bc0af42bcc394b36e190394dc8a5645d5f2edac7f6b44d12399d0e"
+ "d79e9c917240dde5765f480604c6b481a685", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313032", // aad
+ "01ab9010123a912e1c546f95d6f8d38538c09d0a31e959e57781b0"
+ "3f450c0905e7f1ca0eccb04d276ad0722271", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313033", // aad
+ "dd7d768c67a19b2ecd85f6a692c5ec15877265d72efcd0c91cc59d"
+ "d350265dce5e0fa74c38cbbbfb6e1f6d486c", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313034", // aad
+ "ef485a03d81ccea53dc511b94a5cc1453036025f8f9a452194a2f4"
+ "ca282ab731df324ef0455c03ded9f6b3126b", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313035", // aad
+ "f2806de93d8903f0fd3eeef17d12a3ff10fdae6234dbda7ce3745f"
+ "71749b8f83e00248f1f194c81d2f273da262", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313036", // aad
+ "283fa85e636343807ec0c30a2b7e6e77f90ce52731667c8d90f65e"
+ "6cdbd03d870a74d84f572e2fe1dd54539c9b", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313037", // aad
+ "66411e70a365683085a12f95f93a2b6f2d4c98b30f1e5401b8b5a0"
+ "6e2b0a2f88188bfadd8591d9d5daea43df1f", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313038", // aad
+ "c304aab5a0bd5e2d9164715edd3b6fdca3242c1e92a3cc7633d0c6"
+ "969d2440c44d3cc321046fc10c59bfb69ae3", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313039", // aad
+ "ffd9ef2f5b1e97bc2bfafbca4864594748ec4f1a39d38ed4c36d5a"
+ "53795e755baafad364c693b1b21ed5287f8d", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313130", // aad
+ "3e0914d58cd7c65d8860b239b9f8f27da4bb0d13fb857b1d67b507"
+ "ab7d64dd94a8b34e29c4ef11563034b329cd", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313131", // aad
+ "95a354852fd1b844b0eade0c4169e41ef75953837c29be8e52f38f"
+ "0320f60f122e26713509e8f692d3d3cd8b54", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313132", // aad
+ "97acd33b572c95f378f6d0e3cb34de3871ca495ac42ad583a30ced"
+ "c24918e37b985cf3884b6af83a34858ffa85", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313133", // aad
+ "fa169a62ff4c643575b47c8b7603931ade72bc36b9939e4396495d"
+ "0c4d32d2a6443a77cf9caaf58dc2530f1e62", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313134", // aad
+ "be3dba7e5351f121ecb0ecd0fb4b0b43348797648b7cb08c35e60d"
+ "9b891358d1c2286f2587bb12d444e1a5f1e9", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313135", // aad
+ "d32d44cf512e14de994c7655bfc652d5c76781040514e89e8d9fcc"
+ "21e83255e41af22834483b552564eb5a2c49", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313136", // aad
+ "2808ee331cc52d955f95174cae69108eef879af18b0ac4e477c115"
+ "20559ff2eb46fad007ea4a7fed1dc947f5dc", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313137", // aad
+ "2ffd408418a63278c476055784327d718ad857f3ebd568f2500e37"
+ "cae9c5058c3b15eb4184b8158bf0342b4508", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313138", // aad
+ "ab25cd5275bdeb5e9e65250c020e09946b0462e81cc714fc4c08ef"
+ "1647e262161f9bc35c52e2f498444371da08", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313139", // aad
+ "d3d93b39b63322fd14acd2fbfb41b75abf6b7ca6aa8bea342b4be9"
+ "ff5f87804a36690d71451e7b9ce30c0e35f3", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313230", // aad
+ "86e300dafbfe250ff3a1f4e5bc21b643693693ef8eb6b34e8164d6"
+ "02a6afc8391bc526eac95ef147f5e1567e90", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313231", // aad
+ "b6f132836705e7ef4a7ac698397575a6d2ddcec7accd7b626add5b"
+ "706242fabf07c399645de3b2691f57a191cb", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313232", // aad
+ "93e767315281fdaa930be29e489ea33a1c13c496b9795eed47bb90"
+ "0feb702d13cc2d62c0d164c0cd3f24b2646b", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313233", // aad
+ "f27c250f8cc44f51afcb6b648be27818ba614e99ba91d390845106"
+ "28c990daead06e5ea71393fe026e43445266", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313234", // aad
+ "ef7e382ed5a186fc78a2a6e61e2529e1459d4672d399895aad9e9e"
+ "b62bc1ec4103363794ba2cbe95683bca9d94", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313235", // aad
+ "7538d83638e6d209aa537cdf63609ec2b2096b2913734a676ee9ac"
+ "f2fde992531e8b8074500b9b7f0f915fda52", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313236", // aad
+ "0e59382d5dbb1b64029292e7452f20ce9a66ea4b5f62c7e9bea8f6"
+ "afcdaa6809a932bf19fa3d635088f8a7b801", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313237", // aad
+ "ac9fbb39431333ae77d9201129e249f1621bfe8da9c720aaca07be"
+ "8b3b7195bff318a3827316c5ff8835f25061", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313238", // aad
+ "ac54c0fec21bda4939d3ceae1244ef7c8a7e75dc4deeec5a7bee2b"
+ "442a7cf1c11ab27de2ab12ce9dd2d8b61a28", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313239", // aad
+ "ecff7dd1abb4be53e3230bc5db998cc63261ef655211a9d9ae1317"
+ "1bb2754c4d661442f1a3a1bbfe3634a1fc0e", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313330", // aad
+ "8bad94d815af2b15c224c80e90b65bc737c8e0190c364de99c8ec3"
+ "d1045c29dec85092e5baff32141572796484", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313331", // aad
+ "e23b220069d2b36a8142ed9895010eda034fa9745560b6a41fe128"
+ "b01b3b09ee7ac59b5267a28e25eb9b5e9055", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313332", // aad
+ "4fe6efb3dfa6d932815d5ad3bcd821df7d1dd211bb6c8cdf9b68a6"
+ "cbfd291d3f937c33d5c7cced480a7bf145b0", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313333", // aad
+ "7e32f4ee551f30bb43c55e7a9b29ad21b0715c8add443dbba2d5c4"
+ "66302e7a03aabc9f39c12c5911c438544f0d", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313334", // aad
+ "c6444dafad2138dbdaf67fb985119da29c94eb1264afb0e148c26f"
+ "9b680f0e8faf4e0ddcc699d43e40c1b73931", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313335", // aad
+ "9aba43059033ba851482d45b2acc03ad5f0a92be5daa75876caad2"
+ "4ba5543de669c82820ccca5c690dc023b4b5", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313336", // aad
+ "d0bcb00c3c2d7553d9c115eff662a16e8d986c146796765a0219a4"
+ "c316710d78c24454419858b0e64ee5352e22", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313337", // aad
+ "3f25ba542bfdee36371aa07f9dcebecc89e14ece4ff31417bba494"
+ "d21423a5f5cd1fe1e837619fcfc616756c87", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313338", // aad
+ "e2e0c237c3bae392a82b149827d4d2d23599b46e051c405dd37c9f"
+ "4c1c74197f60c7994edd66f3dc06de918983", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313339", // aad
+ "3931e17e51df65d6e70621efb27aefcdf464a018433932f244b4b4"
+ "0d2c984efe38767073aa07dc6924fc8771c3", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313430", // aad
+ "5dc29a4f0efd9e7b57ac67d4ed2393395e92f4d0ade8685dc6d7fb"
+ "8fe42e4ced97eaf7bc02d1c43d236b0f631a", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313431", // aad
+ "d79b9549c00855f12bc43921cd2098afbe9db5761378384d353432"
+ "e8577b7b3434b6d8a1fb1a4e81d4b5bef3fc", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313432", // aad
+ "796c303b9327fa6ad76aa2d360364d0e226113c092f1bb84bea0bd"
+ "01b152b550d2f5ddd625d35e1ef50807edf1", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313433", // aad
+ "20229d5b122b8b7c019d414badcf89f41653fccd56dcf56eed54d7"
+ "3bb090d7699ed0b3ed73f2222f53fa845e47", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313434", // aad
+ "cd0bb9c459fb54e08ef79cccdb2cfa2c5bca5c5c1ae3f78d1f30e5"
+ "1b4cf698ec289eb31805c5b2c24e2a674dcc", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313435", // aad
+ "1c6b86709942271fdec3fca2ca7ea303ba008248317a3fcd2f429d"
+ "ca807773f20b880d392290bb014e620aea59", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313436", // aad
+ "ab0442d31887b9c0eddf31269eb3a9eb144fb5b8fe8e9fb1c976aa"
+ "43496ddf659231463e3ccaf29af77f0b5853", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313437", // aad
+ "2f6af75dc132f8e62b70d1b8b2775ce698d02f68e2380dd3387f50"
+ "4b53b4cd4d5f7b3f31e7a62e81cd2f486c15", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313438", // aad
+ "e2edc83a2fa67a2f76de1b8be0b1fe011c15ac0ea0a1f13a19b56b"
+ "a36264887a4136c886f0b1182ddd216e0f80", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313439", // aad
+ "a7f2caa8cab402fdbc403880a92403d59e896f49fb0d17d6b3b888"
+ "18c8aeee5cf8f1882d66fca16683d3614a15", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313530", // aad
+ "95a7d550db716dd21d2c4104255b5f485aa571ce222ebed536e2c9"
+ "4a0023e65400b4ac86fada4088f36c5573a5", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313531", // aad
+ "e05415c07412b26b6262d64e4b9cb9c53a30408872ff01b0d91b7f"
+ "695a6cfa07d22e966da7fb5399c32810cddf", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313532", // aad
+ "5c28db83cc4c08dfeba2fd09e95ba72c61c8e2343fd8b77928f07a"
+ "a3b1c16f44e87cf273dd58c7c7012eed2171", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313533", // aad
+ "96a3aa9b1f6ec1935d2199ddf1624d1d551326f13c92d224ee0baa"
+ "ec4fb42671ddcf6d60821f6e7b23e800aa69", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313534", // aad
+ "8834889db5b9d771ced9be08775cef9725fd6aae87de0931197989"
+ "01403fcbb7f277c721d61ff3c81476901a3f", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313535", // aad
+ "eb17227bcc0d511cc8d2d58069c3915cddd860560e1d9a80658087"
+ "90840c0721ee722a8f8589e6dd415c15fa12", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313536", // aad
+ "c7d25e2fc15d7e852cbdf69dbb7ff218132957cf3bd8c4bac20d42"
+ "00dc409d6857291b11d67aaed6173fb2d930", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313537", // aad
+ "caddc6208516074a159b473fd1637a6197c685452e1a65b2801848"
+ "6218371cf87adf87e526d172f590fc198ca7", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313538", // aad
+ "2b241cf8a1eea9550f0f9eb0b470923da84e5da63a1c43e64e472d"
+ "a6a32af8480abdf56cd718ab0708d9c575b2", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313539", // aad
+ "761605a94e63628c17d930e638c7242866939d46841194c80fab89"
+ "24f4e005aa89d83378239e45d71b2c58a633", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313630", // aad
+ "57e912b3e62400fd0447030762a63a86cc424bc103ac16b1f0b059"
+ "fd665371441c7f75b974641402f454f23b80", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313631", // aad
+ "ed64afcd3aa1001e4d73387962024f3c406342be0faa6e409eb448"
+ "60ced71c736aaa7b7f2e9e172e9e99571f10", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313632", // aad
+ "72b3ee002046d968fc5ea945c7e001528bb01c899fc79241b3c9b5"
+ "a2fb526c8ccadfa7eff66f39f9682df6e02a", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313633", // aad
+ "f73a793a46f58982f1b32fab1276bb0069697e8aa67c923f335d55"
+ "3a272a022d907206e0a9c195239f0dce7bbd", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313634", // aad
+ "38fbcd9f99baeb6ee2c949001a4e9aa032e1e3ac7294de90db260e"
+ "368a4369b6b29c460da1998b2bc3ee7c92b0", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313635", // aad
+ "92489b0d704efb3d6a93b33ad636f3a240af860c2db65d749a6bde"
+ "6b7a87337273426d29ff72828b815aa5422e", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313636", // aad
+ "1fe30901bd982fb766473cb5c08c6dd8307d23fe8b716b3fcbfe2a"
+ "83ba926322534518de1c6344c3cc5467ba49", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313637", // aad
+ "4808bdf5940e6ae8fa0442dd618d63d9d69d24600fe3e18679b1f9"
+ "d69449f9c35034723cca3a625b93d3e3b1f1", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313638", // aad
+ "1c61c6887472cd2cf6d16137f889dde7554a5cf9ae07ce6de43b78"
+ "543ca24d23458c4dce43ad9b54863e1bc15d", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313639", // aad
+ "15cc79957676852e8a15c93917442bf881f1a12f90988f9202cd0d"
+ "402145ae193231c2924f1885e2d699609117", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313730", // aad
+ "cfbf10394f5e401f058f43913e58f63421da63a563c9e495b447d7"
+ "8d758e4f0c059837d52c02908627ed55a83c", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313731", // aad
+ "ec916a4215649d657c25d1e3c3093b25b1da8e80a239f2694b80ed"
+ "884a1fd4e84c4e906191daf6958a14fe6b9d", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313732", // aad
+ "66a762daa201c304682241cbe576122faaf648bab5f6f0e2e1f408"
+ "495a2a4449416f03dcd18ff1d51a39c2007b", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313733", // aad
+ "ee69d4432e614bcaf3a8071b458b73ca96ac67538e1c3adbd219d4"
+ "b8a1e2fd46f8bcca435d567cdb04c3647216", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313734", // aad
+ "4acd9bac8ca762c031a008742e7b97b23320577e395a8e89a1f333"
+ "a33520003c63a072dc93c39ecff9e72de1df", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313735", // aad
+ "3f1bc8d8587356ffa7e8a0e13add830f11e907e66621163aa3239f"
+ "5f1f9ebeee280f824863724e3fda80acbfd1", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313736", // aad
+ "25c5e5d31fb549db373e2b454423b3072211b0177de15c81d8641c"
+ "826b8e88256d9f1db8a96a0acd5dc0fd24dd", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313737", // aad
+ "d38bbe1aff0f2dcf9b8f37c8edfe07232c0f74067efc38b204e977"
+ "0bc5007d2fce573067feaf013dc138e0f400", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313738", // aad
+ "9e5292090ea554851a1b86f8b3f6c7c777df3441c1eca9e1e7c3e7"
+ "8ca286dfc88b2098f552c8aedd8e19d7bee6", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313739", // aad
+ "7db34f669ae604f55ade02e2bb69abeffede5a80f61874549b2a90"
+ "de8c0c81abfe1c42c0e1898905f3b77cc6aa", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313830", // aad
+ "f3bec066222f9f1ad447949979e95b59de3338ad5cb8dac7514b8f"
+ "e939f805a44ca488e77bf5ada4860a9bd76f", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313831", // aad
+ "ca579358427194021634f2b859a05f9cad15aa53cc548021bda3fb"
+ "9d2d46923b31b77d734266aab9f9a060ff6d", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313832", // aad
+ "d60ed8754f21cd2f76be8ba68f439b40b0fe9399a93d3715f3ef42"
+ "1a7b8e113220fb1c9daa22258858e2a23166", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313833", // aad
+ "7f7c6aa68f9343a36b90ff565be19212cdf49e428301c216f41b94"
+ "f622ea86f9a67d53e4749a417ea0bcd85feb", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313834", // aad
+ "ccbeae345606837e1777bab6d76fc7583602d0bce83893d9afc7dc"
+ "6bbbe12246cb67dc53c4abbf19cae33aadca", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313835", // aad
+ "b82ae42ad42826c3656d4f1710d7defc6b082aeb3c04c5e6c60d08"
+ "fbab693351b569370a363888f8733fca662e", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313836", // aad
+ "9a178ee7b98fc2a41795906783ed7de72f6de9821a5eb4306e6539"
+ "50f5d3e79fc6b3b625a485b2cf25d988df35", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313837", // aad
+ "815f736b050b418e1d14bab5f893bab02df9c0ab8353f362799f13"
+ "d380b776af3e6bb22c9f23db905c4f502f2c", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313838", // aad
+ "c710550592dab20f0e3c7f1c8f87f7f209f81e0047d8f1f1ab1936"
+ "da875819a69a228618933ef6de3c767e298a", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313839", // aad
+ "466908e1814981af77790d397cde835b2e3b9476d25d82f4cc6f30"
+ "3a59a534a9c602b31f2b8872571e4ed7eb63", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313930", // aad
+ "79fbb563a56bcaa74902d4d9c6bc9d5871521a893accfcb22c4447"
+ "7390cea59f25f4ffe07c7fdfdcb05c843d36", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313931", // aad
+ "5ef5eb9060cb23ff539142786dda191a3177e62572e509bd2bf073"
+ "8c727e2001123b6d97f06e82906d54414e73", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313932", // aad
+ "ee2485e7dd26ffee2253e56816ba410de3a5e5b17e142a7f9c1afd"
+ "98c8928f96c615cb15909d752a9c05f50a88", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313933", // aad
+ "fbee3015e44378afdc1961b1a25a728a9442b8845c9b94c120ca46"
+ "97cc2f1c3dc6425e492e21c1fb01661e0cc5", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313934", // aad
+ "377dd7f52e463d2ae0fb7f8cd887ce28a9bbd18b09807a18037164"
+ "f7b8fe43f7f9e964aaaf813e1ab0ab58445d", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313935", // aad
+ "6c60d23f7bcf97cf3fa9fb04d0bb995eb9a809cfda932245d03b7d"
+ "2eaaa801614650c09a96172c48f8efa8ac89", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313936", // aad
+ "4bb127f2e847825794a2b107f61c52cf79678c9f0b91d2ebf21861"
+ "649e17ccfd7c66201b83d3a3d5a36fedd9c3", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313937", // aad
+ "1b9d31f048f53212503549b0c0158e7c61a5f3e5fb8c1389ca2d25"
+ "e9f1b78d04b9edb0a86e61dbdbbd41aedc54", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313938", // aad
+ "34101c2d46e3c43700093d5609f519faf099ad0667821e6caac571"
+ "626ab8dbf2609effe4c296256a0d184914fb", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313939", // aad
+ "f779694f4fdb4adf3bd1ed58dd843d3bb6b6e7417b03a9649f1152"
+ "69bfde023cc1c52a7739ed89685a35206cd6", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323030", // aad
+ "b2aeaf5540420e9d5feda827292aab02e64387765eae1fe965833b"
+ "a2d787f7ece8d6e8a13dc77f62d24f3eeb8b", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323031", // aad
+ "5ad7f504ef16b95948822632fdd464614d53f0c114ecf2eded4051"
+ "62d2b9a6e6e7ebcd96c095436eae2fe239ed", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323032", // aad
+ "a4b80be10aa7306d30eff4ced26d689259c3bc9cf1ef6c6359fc0a"
+ "7e7af105222ae916d49a75fa99ffb039308f", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323033", // aad
+ "d18f9fad9e1831b677de7904890157aa75ebc1998561198df09c05"
+ "8a62c95e02279b93ea934f6b43f5e4f627b4", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323034", // aad
+ "9c3ce2fd2184977509f1b1f48310ad25c1f4d790ee12d029a969d2"
+ "110056d5744ed87d9cb675e2ba96109e9769", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323035", // aad
+ "d21bb1039dbec277edec5c9bc2270f0bb185cbc902fbe8714c3408"
+ "77cbdd620642cc934d56890861a7c87fa696", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323036", // aad
+ "6deddff97f67b958b6927105246a6536560e9ade22086c9d0c3a17"
+ "668247f164ac3f66ca9edf8ffa0ec039f0b9", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323037", // aad
+ "4ce98a88690322e1785aa9bd8a17fd87800c37f264f1c4dfb8d114"
+ "476aceb416b149f5534cddc40df9ca69805f", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323038", // aad
+ "ff98e6a6b15e81fd02148c8091a68028f1c797abf983cb9c97b285"
+ "c92e5cd911294c38c837a7078ef27c495d91", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323039", // aad
+ "1c924c4a543d524346db4eea7d2218e91246a0ecc83a8e4bea4bc0"
+ "5bb6ddcc48b4c8a1366c9735def796c1d4bc", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323130", // aad
+ "9babd9af9487daec9444a868ce843a3d6bb8e53e2399e5916ec101"
+ "f43fc3ba7faf062e3c0a7b8e32b5fe42b346", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323131", // aad
+ "74b58e5367508e79f8c9cace795a73c974438c763bc1bb4292da54"
+ "ea1fab6ac94570d404b1faee61b12b0dfab9", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323132", // aad
+ "614bff8d76e834295bde948e3e5bc47f83807c70478c7e7421d5e1"
+ "125cca511c742cc5c12aac7c4453aec57998", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323133", // aad
+ "f29e076d78ba557ad4866bee610adecc6b284330ba126f4656835c"
+ "9cabf5a1ca55b55d95d2b0f64ae3c90a37d2", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323134", // aad
+ "f925da74b88a9b47d884c3deacda52cab85e6d62053a2846c819f1"
+ "a481039c6aae4f5b84ded6b68f68c0cb5a8e", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323135", // aad
+ "2b6d9a9dffd68dc9f0eefc8f242890d11a531a1803cdda9d10c19d"
+ "f3456f3e0857087ee17dd24f13f7a33be356", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323136", // aad
+ "470ebcfc7f0ca313e9092f49944f664d5355f71ac783897a2540c1"
+ "d4d4a706ebe49ce95879754a99c17aca0823", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323137", // aad
+ "0468e8499909a8401e1df3622ab6cef9c5d18154c0645bd2e93f69"
+ "180fbc71acc04134cfb6af626203124f7414", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323138", // aad
+ "aad18b1642789b9b7db8d355dadf880780ed2011ed04eab871a40a"
+ "3401e70a9f1ebb755a9942c8dc53c3245499", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323139", // aad
+ "5f0825daa56cd62eabe39d6c3bacf24ef3245142a12705a66fc0d2"
+ "500f7a3b5e03a85c561cc3f1c50385442ea6", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323230", // aad
+ "11abfd47c57919dddcdd33019ea457156f63f9212aa12c2fc8234a"
+ "e0bd26883cde9e657ae5dc2841cd69daab29", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323231", // aad
+ "438dccf9489916b11f47519a323a4f14dbdd0cbf655feaabd5664b"
+ "ff0b26f8e889fa3913376e26d53f40a5ce71", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323232", // aad
+ "db1bf18c8a9d1f38c0d0e1038eed44a354d65f4b36eb0d882015e2"
+ "bc64a56cf74740fc531f5c67de1d85054a95", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323233", // aad
+ "6eea4364f51a9f9bfce60895680071e14e79adac6da05ece84c6ea"
+ "d6bf6f37cede28335ef00db9e07f4aa57c02", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323234", // aad
+ "df036dde1433ad3b6b8c80490ac1faa6d8770fc49dc2acf3e029df"
+ "db62ef9f3d198884123b55abe8665fcbb946", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323235", // aad
+ "3924fada71f7b16dd5c92ac2bc40c88d3a113162c01f66cefa4b3d"
+ "7fbc985c21027739022867ef8cf2efef52c5", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323236", // aad
+ "c40fc1256a03b52634e1e6bd940f1b6e0727fe83b5802d27eeb436"
+ "7bc0cf9275c7fdb786a48298a2a44d61bf4b", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323237", // aad
+ "e05fd7846a9d385d8541f2f9eab051146d82874c1aa9603eb7c514"
+ "9bef2c30f1799412bf18bd0b098126076c75", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323238", // aad
+ "35a4a025e3440cbb98ae273e2bfb68ebcf31dcfd0424a5990533c0"
+ "ae627dd5cae808f1b0d256e02b1ce1b30b9d", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323239", // aad
+ "451b183efd850a90b3a4ce97543604abfac822c547ee885f490548"
+ "59900d3045c85eff5e09d7f326b56665353e", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323330", // aad
+ "959772b27b01dd9fd63888a63a1775bb3ab5c215d317d50c40ba5e"
+ "a628536fa6837a9ab24a72a068c74369e796", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323331", // aad
+ "638c63185a25659b4715211147d701c661e3b3bb392031f84d7cb7"
+ "9d9f603b6e218dde9e59d08a858f2f80f412", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323332", // aad
+ "fd5444a067241796e0055a9869f72e8a2e54869aef7c83b3e7058f"
+ "18297dd09e262dd282d6fb7ebab4ca0dcfdb", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323333", // aad
+ "ffeb180478db6ecf7fed0b314662bab02dd49abb8d28289d972b6b"
+ "e47fb0332a371b25ef04d88e0cb0a9775b38", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323334", // aad
+ "e9896d60058afbcf0c28fd162b75b78d454e4c5e796b9961e45c1c"
+ "0cf36b581335db3e5452c3d70848b35b9008", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323335", // aad
+ "ca647d366075b41d66ca930394285f13f986903313933b83fa737a"
+ "3d1d3c15998ce7c437c3d0b8006681a73e9e", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323336", // aad
+ "539eb8556908774274e2c4bd5053fc968bd747cb3ecb7eea9dd9ff"
+ "a98f78aa6c1e60fa22d60a6c4849fc0bfcc8", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323337", // aad
+ "f113ede7fcdc4fcce6b6106b55d540e578f80576e771df50c248c1"
+ "dc43bb61beedd94b963bb772ab36a7eafc64", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323338", // aad
+ "b505150b2d5efc06b6bf76ac43c2df6066a7e7d8a139bb80fa6002"
+ "22f2b3bc417ef3bad3f5fcff8b4bab4602b8", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323339", // aad
+ "23c7f4e1eea7d1af16df60fb97782a1f8637baa46fc6c72d6955ff"
+ "abac765360f8b0e2d57eae06a7155dddc967", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323430", // aad
+ "de05dac315a9a2a4537cba358a5c8c7a75b5c1b945ea5b8002aca0"
+ "f17c2afdaec9ef0e4475d6be268d94a07301", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323431", // aad
+ "3cdcd3d1bf4c26be26a1157cffb4981b3884c101c7849c32cec73e"
+ "fa3ed9132e2933c96bad5f8cf34510614bcd", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323432", // aad
+ "3276473b4041bbc23f64ae6906452fac1688b321b6ee14a0691481"
+ "ce419737d41a6c8419195686418494186e13", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323433", // aad
+ "344e225da9b54789269de6d0913ec2529c2c6df549796094ce0364"
+ "8fd8c8d55cf2b7a4954106f87a37eacbc379", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323434", // aad
+ "b5f291b8db01ea43495b6c3a65d33e5ca0694dc1612e6304d37305"
+ "29f5589aafa10f16d1d7ddba82df659e2c52", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323435", // aad
+ "76cb8c9ba4518a77035b57b189d3f448a51b0d20114120f6f2cb9e"
+ "3d3988b6939fa351d6ae6df6ddd7cd659a38", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323436", // aad
+ "720f1711b3ac677afade9a513f6d304a70fa32ddfcd1c6f40ff9cf"
+ "bb421583b605807070d4230048326b23ea75", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323437", // aad
+ "9f51153d7983feba9e98339fc2e0e93380bb44db4670df4bcd0552"
+ "ec311f0cc5a9ffc5bd6a23061ce9f78b735a", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323438", // aad
+ "3a236f02d9a002191bfe65092bc6f19acb0753feb4141c52a1e1aa"
+ "51cf052b257208ecd74f0ade01c44b5c1dee", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323439", // aad
+ "d54c0415f190124ffb21595a15b07942efbd6ba544994a1fa3ec36"
+ "d5ff0ad08d98c481dbc8b25ea6e94597dffd", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323530", // aad
+ "3f0cb945b002b4c1b6d769f001027b309bbd2460e033a8a3aa434b"
+ "0e4eb6a1667b687f206d24be763eaddf3728", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323531", // aad
+ "664f6b425cc4e2a53d92db32d74aa3c5894dd2a20fd2f08e3e3f0f"
+ "2b0ab5e308cf954fd7e86b836a7e3e0e0271", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323532", // aad
+ "3e63f961f9f408175e45d97a8ae1f1af38b7f25159afae2d8819d9"
+ "1eee5c82995999da1aca87fb676ab73b0f32", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323533", // aad
+ "650932605959705eb10627625783a73853002e9c084e8f9ab0fe5a"
+ "7fda57e5635addddbcc3669b67703ea25984", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323534", // aad
+ "2f186e257a8add7bf54870709c12af75d6c9330053b3a0fdb002fe"
+ "4df1bd4a3d4c4f2730ae03c93f9f8eeb602d", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323535", // aad
+ "e8d90dd741c27619573d34a4e7da36368120dfe420cee7313af5d7"
+ "74ed9be68289518ed0d30427e8a1c1ce222d", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323536", // aad
+ "fc6b9d1ddfe63c9818507d7aef6ad30013966471dc8a84481d08b1"
+ "fe61d442eabb40f84a92a480ac22e93b8b4e", // ct
+ },
+ },
+ {
+ // Exports
+ {
+ "", // context
+ 32, // len
+ "4b4f5f25bcb113003e18472ffd5902f93b8b4848801319a525147b"
+ "47e03f6aff", // exported
+ },
+ {
+ "00", // context
+ 32, // len
+ "d95abb928a78415ff0a2c985d54feb17b03f4259190eb90f43d166"
+ "c7b147ee3f", // exported
+ },
+ {
+ "54657374436f6e74657874", // context
+ 32, // len
+ "b7cacb2b2e923ad7840d4900dcec3f5d1fbb2f3768f137ab539a32"
+ "59e7a6cb04", // exported
+ },
+ },
+ },
+ {
+ 3,
+ static_cast(1),
+ static_cast(32),
+ static_cast(1),
+ static_cast(2),
+ "4f6465206f6e2061204772656369616e2055726e", // info
+ "3067020100301406072a8648ce3d020106092b06010401da470f01044c304a"
+ "0201010420634385e7a0bf4b575e547dc006200de82e38ff359c4a7fbe3f1d"
+ "0235dca6462fa1230321005645a74dfeed158c20555d62f9a9d9296a1d4ff3"
+ "fa58ee9e36d99f8569f04054",
+ "3067020100301406072a8648ce3d020106092b06010401da470f01044c304a"
+ "020101042015d932c7aa252020bc0a4ecbca4c9a07492fbb8610c5c55592bc"
+ "dd859a0fd30da123032100d6084ad878887746e6bae9552562f95a15680a0b"
+ "1a50b901ffce1649247b3224",
+ "0247fd33b913760fa1fa51e1892d9f307fbe65eb171e8132c2af18555a738b"
+ "82", // psk
+ "456e6e796e20447572696e206172616e204d6f726961", // psk_id
+ "5645a74dfeed158c20555d62f9a9d9296a1d4ff3fa58ee9e36d99f8569f040"
+ "54", // enc
+ "6264879d3bb47c01d1211976607e12c5497fe9c0f4a0d5d8b6a20c3bfd0017"
+ "51", // key
+ "f5370fe795f77fec9098deb0", // nonce
+ {
+ // Encryptions
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d30", // aad
+ "0ff9cf5ee8b66df1e99cf1c86b4f6b9193c68c98396f7104962bb3"
+ "e0ca4ec5e2420efd9238e0736f08a39af200", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d31", // aad
+ "aa58399e3b6dce19a4b90a266997f008513f483db1d5262e115379"
+ "2d836c77e2c0c4069912d1caed705c3e6dbc", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d32", // aad
+ "5339bf642fd381015b95eb83d4ae9123b34e7f00d07d6f365ae4a8"
+ "eeb2a495a1c5b761d5a3111da4ca6c75728b", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d33", // aad
+ "0a74d2b71c74e5634edf4e33f841adeb86f3faf2732c9140550a7c"
+ "b71300b471ed8d5b23eeadcb7dc199700141", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d34", // aad
+ "6dc49b9490e12f4c58404e9f26b0bf85ccaaa82a01719a09239fc2"
+ "cba65d347909c9300ec6e426c907315d4749", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d35", // aad
+ "5b7f60623c8c5f2907419862dccbdfd1c9ae9b97f0149ccb0cd8c2"
+ "cb34c8b744a4676adc0b343eb192e48b31ca", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d36", // aad
+ "d5dc6308c4f5b82c01d962b12d5e2ea76c579060033b1341c5e6d1"
+ "870645428b499cda6a2a6540709627f4c487", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d37", // aad
+ "ff6558ba2d116dd4aa4a4bee8c0acecc50e2bd6610013d30cf586a"
+ "0a8077a4823235ec6e1b8edfecbfd6ef59a5", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d38", // aad
+ "ce3c8c9b0870c1e12651692a1c89869e2eed1253004037dba5af98"
+ "bb3b03862ae92ba2e0cab6bc41b2ac2a8b16", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d39", // aad
+ "b2d9ec7f26bcd4c96e48c0b0557df989da86e818824c3962c58106"
+ "662573ab7e2e98b1240ab8d7b09618a996d3", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3130", // aad
+ "5ff18d69c370bcfbfaececb5f30a5fedafa8fcbf57820c9e22b130"
+ "cc4bb26334030ef560cedd9b6ef072f7b046", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3131", // aad
+ "37a8254f7e723e3c249b71c17b0cafc4f9b9de91879d9f18908a84"
+ "b5f9487bbb1b9f64a3bb1a61b7f817483bf5", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3132", // aad
+ "527a37d41945f4eae9d826099117416031bde51327530e41f68318"
+ "1b8d18b7264035c84acf4a994c016477a00f", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3133", // aad
+ "b4410c3b6dbb6e532d8f8adfbf8e963e83d4eae9d047638a3aefbc"
+ "16fd2704b3d55188b931bbcdef717507a51b", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3134", // aad
+ "7904fb83f9542e1d7efe602a7941417363ad5b1a752364c6b0850c"
+ "d29fbcb8ef9ed87160f3ef246b0cfe87b3b9", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3135", // aad
+ "e8349d6a492d0b7d23f3d403ef69a094d7969767968755129053da"
+ "5d246f9758300ce8762e2d1f5b521e691acd", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3136", // aad
+ "fbaa0b90d8a5fa97f12bf6490384b1b1590f25e4a159af4c6bd47d"
+ "81694aeae1f0a54f5d43104ee7a86d89f5b1", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3137", // aad
+ "bf6eb7182af59796d2ac636265e06fb875ca0f7889d7b482e12f88"
+ "936c606626f40f52913b5be92e48f744efec", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3138", // aad
+ "bc1372a6c6dc5cb7bfd8e2e402ddbea7bb1604db6a8a89cfbb51b7"
+ "9922b9b5594da4f02e942f571cf831a06b7e", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3139", // aad
+ "74da66a9cf97baa7f2f755a1ca89190a08f2cd046ec79bd7bb6074"
+ "731912aaaee7906b52e4247bd1b73ffa9c37", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3230", // aad
+ "37c8da9279ce59cdbaf1dce48c079f4e347b633134045c1c70caa1"
+ "8fc42c64ff80ececb69c8091609e6666c65a", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3231", // aad
+ "ea33db5ed32138e8bb990c2e8d94e14f177c79fd3498d1c5e5f52f"
+ "b1bfec42d9c4265030ce18d4981d7e14599a", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3232", // aad
+ "c36288efa3a7e763c702f6f67d735334a01684d132ff8f763e2711"
+ "8981b3149a5215c7bc0a3c8fcd59c894699e", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3233", // aad
+ "1998e0e5e73a136fa67588f2000f0cf23bf87ebd64aa8cd5abaa7c"
+ "870b741604c1b1f99fcb5c935f279f155db4", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3234", // aad
+ "883c34bc264119613784930f0ecec5ee46cd39d9880a145f8915a0"
+ "874dc83ade9d490b86a42860e0ed7c27fb43", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3235", // aad
+ "7cd875aa2075feebf8fc1e1d37c48e785163d3a9248cddd848fe41"
+ "63d404019901b43361ea513586b7a6299868", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3236", // aad
+ "7d5a214a8110bc897538fc08200973e84751c7bceabae081d3f852"
+ "7583ff025d71f1104db379773c2075ebad79", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3237", // aad
+ "6bcf49fa2cc1ccefe6764c8801dcf3e702af3497b0cd8a13ce749b"
+ "ec8bf5d522d4dc8811adbd55c089a89fc9be", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3238", // aad
+ "27d20663e55726fc38209416aae80d69c02ea8e63e6e0c34124bd7"
+ "7262d36eb835d1fb54b2036a2de2908b58d6", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3239", // aad
+ "2fa10067bf5c5ed10bf742f45256cc41fef52d65be10a8880c0a94"
+ "dd833a41205c471b7194a4791933c1abd28b", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3330", // aad
+ "6d323f46b3191b910708efaf0bdfcc7869902953e8e7e2b16b2378"
+ "5396bd5535914e3b0735e82d81b66ca59386", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3331", // aad
+ "682ec3fde6061be0ddf3267e191abb711bf1f7547c14a5f32273b8"
+ "1551bc37f02784daec010e50816124364ee6", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3332", // aad
+ "5ee3e9ae4c80ceed91935261f9c36c7b1045641ff08169191591fa"
+ "ad2d76092902deca5a3f8c77321a4215119c", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3333", // aad
+ "e206535e1c875ad9fd16477da83d6dff53c7cd70dba67fd65fe04c"
+ "8b92fa321403d77f9b290ca575785bdf1c2d", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3334", // aad
+ "37a75f3127cce5a8dac843596360c70cfa60ba51af685df0faec65"
+ "629a644ab53de47829aee84f65f9bb7b61ce", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3335", // aad
+ "f5c78fe599e5c4a8846adccb6f0d38124cc8a3902bcef460e11211"
+ "44d31829b2904dfcca90964a78e04b540429", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3336", // aad
+ "a1538a51c597bb5006536ea3f2b1eea9d95a021e92ac8e7ede3871"
+ "5309f277f7eb191a29976f8b826a2af8edb6", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3337", // aad
+ "3ec5327e4b37dd6e344a0d70f2b1c5445e22276a54f664c070f6c4"
+ "4c7a47f3dfbfff78518596d4de2fbc62e948", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3338", // aad
+ "0fbf527d54155db2076c1772171dcb0870342da311637448a448ac"
+ "c186c41e0d504d2c292e3fa18918eb96e52e", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3339", // aad
+ "37c2f9745b17ce245bb7eb587d7d13d9d4e3f83be7f4448a13a178"
+ "86f2bba3d2e6ed7193f0759f84c1e37c1d8f", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3430", // aad
+ "17f935ce9664e5e2d9221a8af5860b7fa0984f40d64bd33b9927af"
+ "5832be5314b73d57aaac4e8b8a67adbc08a0", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3431", // aad
+ "f01badf324307ec43297d41a6cf910c1f0253d887c8d50942859f8"
+ "eab26e58e502017923870071008302f21400", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3432", // aad
+ "6ab45bc25375a1202fc35bb61d425565a57bfb8598f4c4bf3695df"
+ "f4656959c007af68a987179bebcc745e304e", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3433", // aad
+ "13c2e33c7e7464a24fe37589875d8a0fa8fd227c9a46fb1e928a94"
+ "46366d5179f4e6ee0b203d50dfee8928bee6", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3434", // aad
+ "1d668d43d41a9de115aba66e72cb42564a0adf9a35b0dd2816d543"
+ "5ca80f56b2ff1c310a4c0f41d9e274b29ba8", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3435", // aad
+ "a83f38f4f8b3c832e6f118e1a0d6248a18404da70daa644b1a4d50"
+ "d4655902c9f6fba3f6266b6afbf3468e1789", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3436", // aad
+ "0735639a092c3ca97cd6826bef2c24f5db103979f886958754c674"
+ "fc75349fa7bb1cd2cf33f567af1e3eade2bb", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3437", // aad
+ "339fe8b28df80591d1dce2bb92b71f65eba1bae8e069923d3a7ae3"
+ "132154cb5b567d1d42c530259a3e36418509", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3438", // aad
+ "4d2b2cef619d2402f02794c3393c216319bfb4e8dbe7735c52295a"
+ "a9b04ebe33250a0bf48f207281465b023b38", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3439", // aad
+ "b93bc11d4cfe1ea05939835c6a8d769feb06a95519d26fe8fd98b5"
+ "29c95ff5e8d23b5e20e0d8e1d59a63a38caf", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3530", // aad
+ "f0e09cfd849e510b731e3f6b45a507e346d1b8d646a8c1d4299e61"
+ "1fa037a74ea6edb32780d3cafba5dd987a14", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3531", // aad
+ "8752cce22d1af5dcb09e4077b0c8905beea7777324d9f4432b1769"
+ "8e61712ed3e42dcfc83b104a28048ec09208", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3532", // aad
+ "03f04893d3bdbb2fee35012b41c6fc92764a91284bc5d255840e31"
+ "08211c81e4e0d5662dea8375b49625af77ef", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3533", // aad
+ "d7e0c54f404fb24a853ec16a2a1d6acfd857c727039a5b9ce563fd"
+ "5b1b8f2b62dba03dac2b9b09ade0502dadf6", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3534", // aad
+ "52e1c58de7f19d89607e49f21a3af2bb0a6bad5524ac6431d67755"
+ "021f768b2cfafc06b172c4d365ea3391a40a", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3535", // aad
+ "fb5ee9073519b43c26d308f65406831627e63056efcc6283be402d"
+ "2084aad947e4483fdc9a7864d4ae6fbfc0d5", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3536", // aad
+ "27f8b29fff28fbb41fdb31af12cec7c04089f18d13fd69fefaaa17"
+ "f09067818e0f4925670a991c2bded48c5c6f", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3537", // aad
+ "0ee45950bcd2be0c80659e9f43bc73650f8b04db16fdf04bc94f80"
+ "8753d380ca1f6fcfde6b2957696b9a5e6fc1", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3538", // aad
+ "4a71ad48720d0d0b415996374079e79820320b685edc0bed3873bf"
+ "fdc3c41ce9eb1dd1d80a6404a861e5721535", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3539", // aad
+ "886a69724a56b9aa77f93bb2434d9d06c0e0dfc21131dd1f2ee049"
+ "ee6da9bab84b518a329bd9d06dd2ce85999c", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3630", // aad
+ "691802ca83e92fd85034f701142c97709f1cd9b7a386332d164cae"
+ "a53741fea19b7a1a84a65b46fe441d56acbf", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3631", // aad
+ "0cfa7c4fe969bcb4b74e86c063d7ce23d4596fe065210b65190228"
+ "040b8cea998e856b39a7dde3a2f2a3fbd18a", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3632", // aad
+ "c4a621cb1855ab1d8ff07c9637645bf0f8f394abd1e989419c0c5d"
+ "66b7b6522f4658f77504a280ed737618edd8", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3633", // aad
+ "d473f8f19b8acef0229a3f9b51816764f19dfdfd60a922bbe8e6fc"
+ "31f9f74f6e6ad4a70869573c97a9c51b6866", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3634", // aad
+ "c925b0d3d9d5edfe47b99fa0c6027b1b95a3baf55cb02e9b32e456"
+ "3bd8a964b24614526ee2b44bb8a9050af983", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3635", // aad
+ "d699a322bd3e20ecfca05445ef247d12c05f77cc16b481e8892e5e"
+ "7911939ef3f3acbf913b39ee2570461fd62b", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3636", // aad
+ "8e157fb1ee4ff80667c5e054ef53a5fa2c82530c91ca2546ad5be4"
+ "d1e5c32b78e58292d9b154befc96c26fe077", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3637", // aad
+ "fa9b8802525b682cb3b8aaac477526eee2cd36987a958f5b392ad7"
+ "f6a053023c9532085fdcbc82773b7d378e73", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3638", // aad
+ "25803756f41f053447eb0ad2b6dc01aefa114a62e5baca684a8276"
+ "236962a4a71407dbf31036f98c15b7c2e139", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3639", // aad
+ "345ed957f5d9e0dc85fb6ff567f2eaee32b6b5f8d1bcfef1d86658"
+ "5eb8c6c1ec8c87beee1f82f6ee5ba727922a", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3730", // aad
+ "daa40d8e3dacc73edfe83d10efeddec165ef0d859e94c3e83371a8"
+ "67a4397398c4b344e3a21812bd6257e0307f", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3731", // aad
+ "30d64ea0505aa2127e43a2a03fb88e7990e13248d1a22b2f033f43"
+ "c895bc57b37512d903d2bef1b73551f42efd", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3732", // aad
+ "61c1c8ed633f74921fdce8606f9ccefc1af7bd734a891105bf517e"
+ "4935b2030cc982b0268f427af18ce804c7e7", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3733", // aad
+ "417b0d336595abb0d04f6f5a50519bd39e6caf424a0d6cbcb2808a"
+ "6f7a805fa08191a1cabc7f7f659334452db1", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3734", // aad
+ "20ec43c1c910a2c848503d7a4a3aafbb3a20b5f600cca186a41699"
+ "857a47739b7b7faaafb3b7ca3a0d43708ae8", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3735", // aad
+ "e959bf7a27c9fc499a8ceea9122b5536d56b8098329e33c6134a80"
+ "74f485e3cea39a1e76d41c4b95081e8cfd9e", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3736", // aad
+ "df95a1a6b5d51ef3a5cd2e2f41379f646e289280b4aa08deecf59a"
+ "d7b83486653761242a5f58563b8c6db0d60c", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3737", // aad
+ "1941585732e96a9a7f188b382928a5a1938f1a378b2f186d3be656"
+ "836552becff9dfea1d0d6a224e205d70d09f", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3738", // aad
+ "cbc00b99501aa10aeb2b5a0eb98eea69a2485148a136226eb14f6a"
+ "e9402258f01e5f3f3deafcd91bbcf29224b1", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3739", // aad
+ "6388a9780b7eba5869a411143d92ffa2a719bb19360f1e8a96f9ae"
+ "2f93bed595b904d5151308edd23fca991235", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3830", // aad
+ "f0f644d5950edf7d2b99bfcdbeec5140bd60e14f27126b3d067455"
+ "4ed9555f986f734e3201fbf340b918e46434", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3831", // aad
+ "de17ff9f6e9238079f927243c1ae037aa7003b3e0f7e08cbccd7a0"
+ "c323a76419c7d2eb54b47c15f2cab0a1cd0e", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3832", // aad
+ "aa5eb90f7dacd2a25145103e04c27381f572e0c33b18923b0b7d0a"
+ "954aec3a4e6c4aaf2a1332f17fe53379cd13", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3833", // aad
+ "fa482e474476cb8309dcd6bef793622b0b53b1a6769a7997594f07"
+ "34d7fc29999c945248228327ded35c0dccf7", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3834", // aad
+ "e8a68e639862f02164bcc99c1d37e58db592da53ddb2ca245e6073"
+ "259891fa69b55aa2d81db900829717ae83a7", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3835", // aad
+ "e7aefa5108e31cbb4937fe28bf1cbd6e2bde3b60fc0a8803eabc10"
+ "205f653a62c3a870d0d56ee9832f0fde65da", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3836", // aad
+ "2176b0250742258661b3ee522628ae6a66afc39cbca7841b3ba0b9"
+ "d4661713695561226a5564a302af777fa822", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3837", // aad
+ "3bac96dfb007af1fca52e235cf075950e693178d320617d55eb63b"
+ "e6121a982c32a4f93e560543ac550759d3e9", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3838", // aad
+ "8cf90054815ecd0aaa10d85a11b942d9470fafc2b0f9a3b1b5d569"
+ "75db10844d71ecd5650323f059dcbcbeb00b", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3839", // aad
+ "97cf91067d813e05a7fc5cb932cdfa5628b6a7c3d2195c299e4ce1"
+ "8ddf5bd2873e8956ae12755d8bd4fb7912ec", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3930", // aad
+ "66734c72a193fcfd82f8b5a775c7792bc63f092b1feacdb5c21c1a"
+ "c489e29e6e61a265968c177c90d3d30ab7fc", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3931", // aad
+ "b3623656013675eec924735cd595f51a8040cba8b59d5456385bae"
+ "e13929b50d54c0128864270da806290e1fd2", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3932", // aad
+ "dc8b33f7cde1caf39546ed3cf45ca461f5dc4f4ea7ba1833d02268"
+ "aa2f8fd5eb9af51218518aad98ae47f962a6", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3933", // aad
+ "2fae2741fea465674f0d3c35e84b8ed7e81d49962e1ea448ee34b4"
+ "45ede85a39c302e5e947f4c5fe53e79fcf29", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3934", // aad
+ "1a5d702cba38045d1704331017a179ca2f3654d7f77e41f59daad1"
+ "5f60e49cf7db9cb98633707c977463996d15", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3935", // aad
+ "0ea36c2bda098ebdc472b5db76410975f4fbe203f2cd55a610d4f7"
+ "98465a415d9a9805367d1c6f8c39767df056", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3936", // aad
+ "b36b35abd67e4f6cd0b25a10f6d6a0229002381261699461760652"
+ "7bb5100cce1d4626d7cad31fd6ad29baaabc", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3937", // aad
+ "4fbf549ffda68200e1d8b695565744fcd76a0290f580dd5f189f50"
+ "5174264bdbe7e37d9909fba61044fa33fbcb", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3938", // aad
+ "b5df674e3ad9191140d4459f6356d96a104d1da4d1a92c64f6129b"
+ "3b953aa402a77ebf6d4c65da19d7461cb373", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3939", // aad
+ "a1155aea6fddbeedd54b265d8b128bc396c8baf92ec3d807115663"
+ "03a508867ff615d2ccb2bc0d593bd12db9c6", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313030", // aad
+ "f7aa27352ee47a78feac234197b2319ab552ad2575861daa474831"
+ "6a64b6641d86b06805d815ed91b6d175b192", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313031", // aad
+ "81a8ed0d7b22d96706dc76c6736c64ae3f5245d2db3ed2a77ba668"
+ "a1a8a0cb21429e76d2b161c02b3958455032", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313032", // aad
+ "83c1eaf4515f5e75ba7610a46cd31d8bd9d224ab6bb913d2d05e66"
+ "5f049e7d4b0f08b797bd0390af03e9e4a615", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313033", // aad
+ "1c5ed192ccdb4167c9b3b38aee334ea3b789d10dcf563dd5b56385"
+ "b519547472ea5deea986d32677d527997ec8", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313034", // aad
+ "8144defc8de8ae2ae3f830d2b200ee9295466d8ddf34032247a298"
+ "6ee76305f1235beaacc41b5c0cb89fde79f5", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313035", // aad
+ "58e76dfd079539fe0a222cce52542178a091e5f079f30446d25aac"
+ "0d12f6c6d89f6aad3564692951a6f80d1973", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313036", // aad
+ "d3900b785927c6089a43c0510be0ab8722ea06e491078b9e45b26b"
+ "728f29516596d46e3b7f83cc19228c19ddcc", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313037", // aad
+ "be4e70b9456a8369c787e93d28d4fbfbaef8e507b9eb88b968e934"
+ "f6f60a87109960e2c4a34a3c4cad8dc4868b", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313038", // aad
+ "3268542360685d378a03a277c383c6b11443dfa3f187de2aaddef3"
+ "46c86edf99811e5813155ced5f33813fce8e", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313039", // aad
+ "5752de3a266db2e831e092ef8b089f8b6ffd5ae984615159555d84"
+ "8d5398c3abe5333f23e5dc7ded02ab8b1dcd", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313130", // aad
+ "296a5ecd7cf8b1dd29fc05af5908da0302945b87bfa69d50a88838"
+ "4c8fedfd6d3d6ec620100b0946337ec2f5a5", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313131", // aad
+ "db0ef2b82082bf93f321aead1cefab8a2f7e8c7759dddce0196a8c"
+ "2c2a74edaafc30a507b9a2ec6c269708f6d3", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313132", // aad
+ "074060cf74245ca0693a15451455e8f5282e22cf0f5669c60585d8"
+ "df7c78b42a43224b0e5b0019a726cd905cbc", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313133", // aad
+ "e340cc1551ea0d3a2fe830f64c5f427eab0b227d0f02eac10e3449"
+ "ea7f9341d95e20272839adcc886f896688bf", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313134", // aad
+ "e3178a6b09dbc436fdea6c43975965ee72527462ed6ab215b5660d"
+ "0f3857dd4d3866aa0e0c511b28a3e4e10362", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313135", // aad
+ "03614e29c02e54efc54a6804182852134f08f8c5c6868891641cf3"
+ "3054bbda660356b4fda7133e6719d854e9a3", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313136", // aad
+ "c40b31ba7c68f4b0ee1259af579b257025d6cc8cb50efe9a75463c"
+ "e3bd43f70e12c36d9a3228809755d506d674", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313137", // aad
+ "67b6c202fb7a85a90e1d10f7b5c139f3a9558c4430980a30d185bc"
+ "22c2c09ab1d79733957444411e76f8ad978d", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313138", // aad
+ "19fb8ba90a7a6bc02b5ebc9a5cef57944660b59de4c24e06f07425"
+ "53ee00af03880a461f2a231ab090572e5ed3", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313139", // aad
+ "b10b350da0a47ce25ec2f4ce407d5da681abe84e742b76e101a545"
+ "05c8b4ed4a4471215be255e65adaa1648ded", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313230", // aad
+ "06970cabff199ae473e5fcea9f35f2efb28050d9e77f895bccda74"
+ "1ebc0093514618e63a40ad595f3eed15a64f", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313231", // aad
+ "446e94f9b21e29029a47fa16d3db7ee7894302ee43ef2c8fb661c6"
+ "211f57db98e32e90988fc1e2acb8c79e9334", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313232", // aad
+ "6c1e5b28c4b0c7d3d07f76600e81e08e3c371a8ae453bb9d62914e"
+ "1eecf1e169d7abee4bcd2c455b05b9f82eeb", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313233", // aad
+ "59d359115f5b653c17fac051242a2f529c5dc2ef4caa3873ef8475"
+ "98dd290640f9cb4fa394361c84eee136d6cc", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313234", // aad
+ "0a5bfaa22e232471c7ffd46b066c2fb8bc43b21bcf2b6e3b963210"
+ "3171a1fcaf87049a670ac6803bdc011a0ddb", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313235", // aad
+ "361a2a1cd57bd04bd70eecc0c679e4c6f9bd23a30c7a4d04dfc558"
+ "078d677d1a5a11b43bdec0f609b55d8c7ce8", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313236", // aad
+ "c9e3bc96295adf3425113ed42ae373d53cdb4cfcbdd110a336acf1"
+ "24816b90ac4a047ca0d433497e21099cf83e", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313237", // aad
+ "5a454436247534dd9ed728da89782ec7cafb39b5c9ca2f18656c66"
+ "14e0a9158e99fd68768b4880ecb44eb0503d", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313238", // aad
+ "ecdaf75ab80eedbd323a0bb2c52913c0cf2e9d4fcd93321ed51331"
+ "79f067748d88620c309c67534e21e44e6d23", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313239", // aad
+ "968ccea2ae1b13b01e3779c2798926d8613fc153b583826be75fbb"
+ "f01383c7656be995bf5a7a73e7df46c19d22", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313330", // aad
+ "e8fc1154160d1d996a6074c5059050651db43a2932b2aac207891f"
+ "4b62d2c84d1999f1ce835a4923be0096ae01", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313331", // aad
+ "02d8469771c3b55533ecd16618e34a3492982155d74df3bec904e6"
+ "bd6c40fff8f1e76fdfb069af8b4c46654a05", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313332", // aad
+ "f7c1474f2906f5b2f5f15c517a59544f4d2cf77aaf45d3ed5918b2"
+ "508309754002f1f338edc153dd6ec38cc9aa", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313333", // aad
+ "9435114dad040c205a079501a3bc215ee5c2f1acb36fd84be074ff"
+ "1197177fff22141440469f8418f70c1f76df", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313334", // aad
+ "55be3eda408226eb3899c08063a89f3c9925a6042c4a139c71c88d"
+ "407ccc27fddc537322d85a0ea61ebe154527", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313335", // aad
+ "e370021fd6a345a604baa8ad1f20dc1f5e38bb8161abd9049754b0"
+ "a2cbc3de769fd6e23bcc3609259e37fee173", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313336", // aad
+ "291e62ef85b7459955739d00b0d1d436006881d3383f2a85533a8d"
+ "634fd76553a68bee28bad6e7e3775d0a91bf", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313337", // aad
+ "5d3afe26b2c48e146ec4def5e8dc0cd086ac8126856d6df994d43c"
+ "a7231ad0536ff6c86a6b0b0388ea980b0c01", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313338", // aad
+ "f5572e6de1eb549800df1aeeefe9cdd2925b6423519adde46e55ae"
+ "f36ebea488a82e66f0ad07dcc5fd814ccf99", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313339", // aad
+ "9a536343436b2194ab4da3265d8f7a5d98d683880c81bbdbb92683"
+ "acbcc1206880cb73f7747d390bb35765b240", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313430", // aad
+ "a602dc26629795f96047f7d55cd77ad9e355ee5d2887b441837e48"
+ "7c7e582e40b2b5b0d640b4faaf6d70ec032b", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313431", // aad
+ "4fbb13f59309700dac1a91bea50bfd2e00692160ab9a59c59481eb"
+ "c10a14b3283310d378a6f6499fadfc881217", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313432", // aad
+ "180ab59226506826bfae3d9ad5dac908a90a9d53070ec22338991d"
+ "2622930c643e2750943c0fb92001499b4b19", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313433", // aad
+ "555359a7c2f6cd13a4551fdc486bbe1a4e89e648af58fba6b34595"
+ "369e9ece10168a36df623744c3935185bbbe", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313434", // aad
+ "9d70b16fce7506f959ee4933299f2fb785b54e3e960a2f1ff94e8a"
+ "53837666b2dc00fccaebe92873287d9613c1", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313435", // aad
+ "1a44f2b7e1c8b0b59ee9343f8960b9f8fb7d882d6ac33905e8fd90"
+ "013711ad71510ecfa4c574fa6c9809d99708", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313436", // aad
+ "1f609e2a1c59ebd3f32354637076630559a6cdba119e4a8b862b70"
+ "02209ad4dc11bb1f40451635fc29492b6d69", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313437", // aad
+ "901dd2f0b54ad7b741736e65eec1bd89381824ece71eee464f4c79"
+ "66490b9c42c1fda6b763ef489c76c3a9d565", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313438", // aad
+ "b25a4a80817172f3ce8eb385f2edeb7f458bdd79ff7fc89ba8c890"
+ "f884cb522a483602b1e0833c2011f0aab589", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313439", // aad
+ "af97821f8c98d2381f390c3dc7c0042d8f61435d36af866e5aebd9"
+ "49ed4421c3ef70f00304b391b53179dcf84b", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313530", // aad
+ "54785bfaa6131c599648ccbe5548a18e248cd4e14be600d44972cb"
+ "76ad1710226a7d585a470d47c06e116eb2f3", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313531", // aad
+ "ad4499ed61406e7be26b862df5a4014e43e5e3e2e4212039e5c6eb"
+ "ddd945bd188b3aba6d74b91cc708f9612820", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313532", // aad
+ "0c56c0ab5b05f3f571de326070c1ee420eaf9b8971d0a7580dcc58"
+ "db13c7edea55039677e64090aa4d78e08679", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313533", // aad
+ "2c0d8138989d7e504269cea19487ac6971d7ed195add0a6f067ac2"
+ "b3ac48e8ca1801b2fc077d69a7218eff2b6a", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313534", // aad
+ "2cbe2842c6c765c7d834355caca2d2d5cbd9fe01937accde9d94f3"
+ "fe1f6296a4447b10f3c5b0644d18d3e903b1", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313535", // aad
+ "7c3deb57aa3c6ae49ea5aa28dcf3da28ad9ddd61eaeb4b04e4b4fc"
+ "05574fa0b62b2d12cac7935601144bf58f50", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313536", // aad
+ "fc078f6e35ba48ed40c594d7524172fd420d7894f15489446a42af"
+ "1b8ec94d769a3a3a27d058492f1b732bc622", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313537", // aad
+ "0241b98114f4b7b6b5cb7865d55b788dbed8e07d350eb05214f89b"
+ "870a1ca6b74614dea4624dca97628753e84d", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313538", // aad
+ "c262a1833396e6e18df3032d24edd97c9bf00bc8e028bcd1e6ca87"
+ "76faaae2f15852521fc2c2ba388b0d577b38", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313539", // aad
+ "40d71c599365750505d8e5e05c66c92cc6bb79ee5408348f383de6"
+ "0a1d8178ce9bfe7484ef9896dc2ac60be576", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313630", // aad
+ "5b448e60ab4dcd3e98ec92c607b17a0fc62d3c75237befdb51504e"
+ "1bad89b112b0f100f7d1f52a689fbad38b2f", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313631", // aad
+ "11ebdbcb6a4026b1b790ad32388d7c77b35fd20260999130e07e77"
+ "179f621541557e66e1efcd4e0fe17afb38a8", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313632", // aad
+ "2fa9e2e16e2a81f2b6f023f7af24dcc5e67776bf5d8a9aacfa2fd0"
+ "d6e48ab0fce8f577bb3a2c1ffa6b8b25b335", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313633", // aad
+ "68e631a85c31b2c54d45178f6b0b68cbe237134eed743a4fc58ad6"
+ "885cb2207a9de49301d34f37ae81656fa04d", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313634", // aad
+ "85477a633222ce36b767117ff9bc3ecdd8693be5969cdfa67d04f6"
+ "3c8d63cef4e28465777a87fd75b3212b0b2a", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313635", // aad
+ "bfae6a5c41b62d4cd778c53437cb9e33295965c9c51b65de073720"
+ "4fe5197e5a57bddddb936fb1d479091d58e1", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313636", // aad
+ "b527409241add8ff68e21c9384db6e8ab5634a47a8abdc9ffa5f12"
+ "2f34e1cfaeed3e20c92dd57caa17ea11c08b", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313637", // aad
+ "05a4a2b47e9874499d201d4e46b758451f16506a20bff8c91f404c"
+ "4b2617420424288a3872e066ad90a7bbf9dd", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313638", // aad
+ "7fc094522bf77873e22b23812ebf3146fa339df0e561d74af26583"
+ "7b3f7c35e13115c87694aba40fd4b7f131e0", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313639", // aad
+ "d6897d89ca1e873b19c8038841965a85a665a68145c8ba82068f64"
+ "2e7fdc3b80058ecdb6a5c547fb835527e23c", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313730", // aad
+ "9ea43c5834f3d78b0923d12b2f94ab4722490cd2d125c232e1f2a6"
+ "fc1ef0f6cda627054ceabff85d98089e8bc6", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313731", // aad
+ "c49664bf039b36f89e6507ffd615e2fd7db811f4e7fd609858fd45"
+ "185cf4406a0343b37317fe2240e6cae9a064", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313732", // aad
+ "ce32b71dc4f1ca7262d13f8716b2017bd9fdb58d566d4656426a49"
+ "283666a916afde308c0d1de39c3de1df11c6", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313733", // aad
+ "8dda7a5ff5b74a75652911e3528b7baf78c092d2eb4b6e4e102e0a"
+ "de6af926b01dc8e46563a9b3bac02a2bbf8a", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313734", // aad
+ "bb291a188eccfb76fa103e70f374e9d356e4225531496780551012"
+ "9d036ddc5af184460e9a5670612e82c27811", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313735", // aad
+ "08a0ac3821a58fcaeacb59a0a128c90e528e8774f0b20ffbb9212d"
+ "5036829bc76a563e6d0cfd23250abb847531", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313736", // aad
+ "326394c5ccaa42dcfcab1dad95e54f9fc34219193b016f9d48ec74"
+ "338a0b11f289e05fa9cb28aaf2aa36cf5c01", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313737", // aad
+ "196af0a7b512a08b0baad2042492fa2c9bfdd7b489cbdc9b335f18"
+ "547f8fd448b04abaa0e5a263ac6f7e644289", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313738", // aad
+ "a6001e4c32f373fba95a7390d9cc5b1f33c8e913792c7a08c67e6b"
+ "60c8f8ba29e20a7867f24373bc85c7e4793b", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313739", // aad
+ "1641928bd433bf2328303103df6492e151759824e8f197fc09df80"
+ "2a22d5eca6694d45fed940ae7f88c024dac9", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313830", // aad
+ "f266b6e01949ede09e8ee3362d703c67907afb49dcf75a26ca206d"
+ "7201056c788782b2c930163603b70b541c1f", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313831", // aad
+ "4c1ffc1aef048c8966637a820cb61f62afe920232f8342a35148c9"
+ "f0519c7e93b9c8a5c8e31e2a6a56b5f4616a", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313832", // aad
+ "2e4e7d25c8a45f5d0e777543245b3318d9e17c75379abdb2a470c6"
+ "3f7255a3f8a2f26db6161930f16b292b7970", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313833", // aad
+ "d0e58ca3007d4f320c4f2a27fc2ad4ca852f6d491334cd2c01e76f"
+ "890622542d4444dccbb91e16469bc70af944", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313834", // aad
+ "78d6e1f26f30360c966ebbac30f6b3f49094670563540d715351d3"
+ "1d6a678da856d1c303589c366c43a97c9260", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313835", // aad
+ "b55c07bfb67c88cb8f073331c8b401d72181dcd0a13a7bd509957b"
+ "d467f6f93afa4f93d8a465cce745ee1cc69f", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313836", // aad
+ "a95f6a56c414d5844a16e4bc48e4b3b6f4945b1c7f1917b3885cc4"
+ "f30bf63a3c7a9fc4767ba03e5e5a544c3bff", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313837", // aad
+ "9feb0b9bbb23d25482059a4e75b2c0b8fe073839757eb64c347348"
+ "9e28ad4bad3e9bd5609bf24a7d5c3c4b5c4e", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313838", // aad
+ "fd009bb7e86029a92ecf460f7be895b07c8949897a4b35645865d9"
+ "0fec22fa586764ab7a2b74004340b3c81052", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313839", // aad
+ "346b3e1f3db68c31fe87ab7777d77ef8c3155082f4994683ca180e"
+ "712a48a0daad3efcb42a9d5a4c3352390055", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313930", // aad
+ "235fa73e74cc383b80ee4060c4ebc3dda2522864398b551cb02c38"
+ "c60015f6ba4b3b61e151f43d26ce602ad6a2", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313931", // aad
+ "ab506fbdbe194100b42dff04d836228ab8f66484997afa4bb36088"
+ "38baeea3efc9450a6f6858fa66f65c8307bc", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313932", // aad
+ "e2a4cd05f652f81c5ada6c791d9b7b55b8ea9100ba7f3374001f99"
+ "350d83a1c6caf104e0737f277f44838975a3", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313933", // aad
+ "23b21baafadf0d88750989eafc64a2652a8b1858d38b459ff2e16c"
+ "3f3c9e2ddc9ff9af2a35cb62f405f1fd2995", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313934", // aad
+ "4a5492591da8c7ea3123f337f192178fcbde2361f4d0e5785bf44c"
+ "46468d154aed3ef736173cd48544503a5463", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313935", // aad
+ "7db63bde6206d2398b8fde82be815bbb74f187e997e70b98cef96e"
+ "fe2209affe749f90d00f24dc5c3df9bbf4a7", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313936", // aad
+ "f7226c4e35b9da70b56eea0194fb4ca48af717a1f8025be8d2e198"
+ "314984c3e4c7a7d1bfb320c89a3a47657385", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313937", // aad
+ "88375700488629b1762d1262a515eca22de116e0c0a40783f53a1a"
+ "b44892386e5ce6879d92314ad8865e6c06b4", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313938", // aad
+ "f30ac89116c0a94558be8555c8e1dc2bfedd0077b3cb29c460055a"
+ "03220906dfed2e46aad234cd0e2458513735", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313939", // aad
+ "a833b7ff2273b073083db9dc2e8f54bae4e54273871f940657be52"
+ "f18cacbd605cf244d5c4c7fc99c0e11a52dd", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323030", // aad
+ "bcc52707472f27fc6948f851a5782b6b3ae7dbcae6a0ef7ad479b6"
+ "3a4e6f2174c2bccd5949c84ae8b3323aa5e1", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323031", // aad
+ "61fb76504c1150833532a122abfe618f24512b479e2a4a29b4b4c6"
+ "43881056e57685224b96c397b2fa834bedf3", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323032", // aad
+ "b492076d3c62222eafc2a10a9d2e2ece6b972030020dc1a97ea217"
+ "ba21f1805e3ee2e6e0057624e05474b1d93e", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323033", // aad
+ "3e0c2458f6232bdd093132ab283b4631bb7613b4dea43a95e6debc"
+ "a90699bd5d311afbe570708fee8289798bc3", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323034", // aad
+ "e40717934c66bb795a690ad2fb32b7f8eb30a5dfd424ee3b6fccfc"
+ "6fc0addd4ff010df54db7eb28fed5b052dc9", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323035", // aad
+ "2ab8f5fe7a7529945f9b6a6b83c4c6629663e8d228d4717736cf36"
+ "1b403dd202587603438306b933a81f8fb1ac", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323036", // aad
+ "239fa24cba338ab335fd83461501adb6174fecb3f7c0e7889d1fe9"
+ "73bca74ecc176c69a8a1de4440672308f781", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323037", // aad
+ "ec4c5d8dd8b1b1ee62e0359826602b629af105b0d36c9f95753847"
+ "95bf9e0f9afe32f9aad3c75ef025f56b08e9", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323038", // aad
+ "7aa9a01d3606e189a7ea43eae66555a45735624d64b35edce55484"
+ "2267e0722402948a184db94f14a407b6d056", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323039", // aad
+ "fe1d8afa5e96e90c053653141e19af80b98adc27151918d8e821b4"
+ "0d55c854b45f4b1dc1fac6b0864ccb2fb751", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323130", // aad
+ "b7058404ae72ac5d09209d6d3c82add101aedb7048d85a13ee007d"
+ "ade1417797285090942ba8f4b3d822890f15", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323131", // aad
+ "98417157207eaa0fb4378aa56e77fc7adc5d062da454a399227456"
+ "57482d9af6828641c08f19e41012735c489f", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323132", // aad
+ "477affdf22cd20a14a4e05b6917b61434ace7ce07b994a96e8678a"
+ "e39fe606f5d1ce1ad7e9f90071e46b721d88", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323133", // aad
+ "058766c1c8d65f67f221210ce9af2ea2ad8d599b95a230a7fd4223"
+ "147c1ebfb551f6b402005419e3316f2d9fda", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323134", // aad
+ "1b499e8384ff57680935c6af41f621a61ba584a339dddb403d6785"
+ "25219439dac95cc2f71e9256bb8632daf1db", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323135", // aad
+ "3ea5ea43918e35ea069cc3aca219f7fb5693f321921e26c196c092"
+ "9f9ff85318e70e2d5c28b7ab088c5f49c94b", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323136", // aad
+ "58170587d070f12a941ad5c504705352030d849c684efda2dac725"
+ "c30a80d8ca5fbd5376b1434c41db4764bd01", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323137", // aad
+ "b7d11bb82044ff7e6d4c2b9e01a4c6bb327d4ddd9b03c477227569"
+ "cc6b5a43024f029b7ce7a0e3974e9edf6c1a", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323138", // aad
+ "27041f7dfa9ce0e477d2427fae6e5845e89bbc1add27874ff926d2"
+ "390162c4f1518ab65cca28e6e4d74a8d88c0", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323139", // aad
+ "2ce59009669e8bd20c16acb6d1a8b1e691ee70f02e09ff1f2b42de"
+ "68ae0307d9d7e1053db1025ab8691efbc3f5", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323230", // aad
+ "163acbab8208358e7f840685c0a8198d12211ccf857d49966c516f"
+ "72541191595d78d8c2b38b3ce4e63f97fe1e", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323231", // aad
+ "90fcc621ffdcb849ac2559feb0ac15e053018d8da5e1c933c71a3e"
+ "d87d6a6c52b73dd2faae9a5aca0fdc341c89", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323232", // aad
+ "beb93d976d29f66e8ed24803860a29691f55aacb49d82992be7489"
+ "432dd0dcc402ec05a86e426b3e4d724de950", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323233", // aad
+ "f41303998d21688d42e9ee06e361b943c9fb2b4901c97c9eaa6a42"
+ "8d706c1b5b124816c172eb555a1ff957fb07", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323234", // aad
+ "a8e45b63e2c4d9a2e6ea7cf90d8237e250487f667d28f3faa90ce5"
+ "668f9a5e36acf9063e3b735acdf2bd64b458", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323235", // aad
+ "4bba0db46f8dd1fe7992a794f8cbc3522f5be1cbb68b8d3b362f07"
+ "ad5d5496545ad6ec69dd69246db5744d7673", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323236", // aad
+ "3a05205af769203c83293c80cc166af7314b5404635031b69a5a87"
+ "bb7f7c799cace241e5df2b33aaf1408b2b52", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323237", // aad
+ "e3bf141bc208921fe65289cbe035cc6a8f04402b9c3bddd280a834"
+ "2090f30cde949f7dcf1b63c29990f69fb654", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323238", // aad
+ "a8019c279b92073300f482f0e83fa6c74f38647c1649738823615e"
+ "9df21296ef29a81c4d43376a87366b88f378", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323239", // aad
+ "feb9b988bf5a0bad323cdcce3813923054886dacbd4bc5cbe895c3"
+ "faac60746b119fc1cd7b33dc1cb6f0cfdc82", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323330", // aad
+ "51b26388800da6a7a242471b54140a8e9d160d9037dde0054f2a88"
+ "5bd6141fc11ea7b7183a36fca2a05c561354", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323331", // aad
+ "8a0ae671bfe33cf95b32408a2beb25984bf8a695f0aea1d217ebd0"
+ "ffcd59a52a8151a31b34bf786db02ca02fc7", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323332", // aad
+ "a6d39a73bcb65fdfe78aeba1f93edd581674561b47fdf862b93bb5"
+ "38c1ec1696b8a149a5fca0324de97144bedb", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323333", // aad
+ "6a56a25a3d42cf0f0f44b35888040b3e88819d4bce0dfc0d348b2f"
+ "7f98b46982753b8fadb272d1dab6d4d26cdf", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323334", // aad
+ "ed519590b865c64c477914fc0df8bbe76f6cc4e2f2393f4ead9fb7"
+ "0af9eb788bd2c9295bfd4e74ea4b576cc904", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323335", // aad
+ "2b3d7ab857a87c4625e87349658078eb6beb2d05fadc4925f5986c"
+ "b1a5851e83017633eb22beb78ba7cbc4afde", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323336", // aad
+ "6d91347d66d5eed03b4bad5b5f86a01a49aad63a35fa76aebe6cd7"
+ "138cf4fac769f797a80c70b36f7d72190a28", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323337", // aad
+ "7d24e6446882d449f3196ff786749f31d649242d09651778b5ae7b"
+ "128fe393ba8e546f3ba64f4594418f9eac04", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323338", // aad
+ "038cc18f421a160d787e0ec44f06261a223ecb18571b43fb1b5e74"
+ "af903e6a02f66cd68aa4dd46f0f5c7f41869", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323339", // aad
+ "f1f85c1f635d129f54b39f0876febf4f344cc890e5012c4a2b0dd7"
+ "c34e1ab9d98a7a9866e3bd7884db16e9fab8", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323430", // aad
+ "f4aaf18957d1f83bbd8cd529fdae0e039804055dff97e746900611"
+ "5e18708caed9d44b0a5ec80769e4839a20d7", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323431", // aad
+ "34ae4c39faf1c9ea2eea1b544f3f5662c32110e5990081411e6d8f"
+ "76abe75ddaed06e29e21000cddcf919cc853", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323432", // aad
+ "c5848fec48746310f2d42417248a71119701efdd7c7e2315ae27a4"
+ "1f4d2b0fc6e325c2ffb2e70138438567585b", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323433", // aad
+ "aa8975bee927c4a16084d49eca6bfc6a9b47d2cc887700b254db2f"
+ "529a1f0b7e8b6573cf712aa301bb33b42e50", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323434", // aad
+ "40ad52655a622c4551dded35ba86fabc5c692b37b86696ea5ef60d"
+ "df79e0a5f574a93d6b83a12c99087ac26f26", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323435", // aad
+ "c0c7da4310260b850b603169d063686be4b84b484bcec43f5fa8d1"
+ "eeb8b7a09665181419cad4212a928563c764", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323436", // aad
+ "7490abb3f3a75f138f3bd927eb27b128961cb8d8e1c1e7c20550ed"
+ "647dbc8893e81e4c3aa0781f588bcfc36e7d", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323437", // aad
+ "d452c6d3b42b1012dd0a77ae9c476b5c8f67ba98a4ccab02c6dfbd"
+ "8e5756b161b71dca50d25a5f622867233dce", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323438", // aad
+ "1da67ab17a9fc80344e8be5e42ed381137c245cb004119030f2a55"
+ "a975e3d9241029da6813ecd4ede44b79475d", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323439", // aad
+ "d93156a8bfbb8c2ae5cfb7771bd30e16a0d779cc7217513343f6e2"
+ "53a1cde70f3cdfc62cdcb8b00dca2f546169", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323530", // aad
+ "77be25425c469676cca91c3dc8a57c4ae6399110459e6cfa226d06"
+ "163469462f77273672aefdd0b50a24573a58", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323531", // aad
+ "ac6970a86ba71b25552b7057bf24a29dbfdf08fb6dd15e484e1606"
+ "9e21a4ae1671a18aa241db9548fa4e47a78e", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323532", // aad
+ "e14a8d1a4785c0f1b3494cd1cdff31bfd014842ebb2fa07dedaee9"
+ "7e491a27259c91c164dfd0fd11febb360342", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323533", // aad
+ "d3947c93119be0a274a28f24fa95f39d143bcbf079c3bcbecf27b8"
+ "5fc8f52bd9c61e961d707d84d77b6b3bc488", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323534", // aad
+ "cedddf41d3325dc4caaf738b73b960e7704e880112b2e8eb4f5e4a"
+ "588fbc9d0dd8689dab5fa3c0059f75325159", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323535", // aad
+ "d54024347dd385c9bb79d3ce4fe3838f6e043124aa9e62195a275a"
+ "de41704b9772e03999b1de98b9cc523d9d0e", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323536", // aad
+ "1011f39318f868a14e3c254ab69817223faaf60da7cd96417dfb99"
+ "af9ce86c76c01218cb4d790afcfa8915f53a", // ct
+ },
+ },
+ {
+ // Exports
+ {
+ "", // context
+ 32, // len
+ "c791c1120399fca95bc48f2b99b65b37e6f619257b6b70dafcd6bd"
+ "4e99a7e6fd", // exported
+ },
+ {
+ "00", // context
+ 32, // len
+ "a3ecfab9e08d8ecbb10293f76309d41c05c93902d13d7b3ac04903"
+ "bace208b58", // exported
+ },
+ {
+ "54657374436f6e74657874", // context
+ 32, // len
+ "b7787231dcfd42de256284e9ef270b1664aced65d09b870477a652"
+ "7352fd3d95", // exported
+ },
+ },
+ },
+ {
+ 4,
+ static_cast(0),
+ static_cast(32),
+ static_cast(1),
+ static_cast(3),
+ "4f6465206f6e2061204772656369616e2055726e", // info
+ "3067020100301406072a8648ce3d020106092b06010401da470f01044c304a"
+ "02010104204f15c72b234d390ced29f2d6b07c2930254bb2101425a1cbe709"
+ "e23375c2ff05a123032100d862803cbbc56f94f7ffd62bdb7f96954e4fa1e2"
+ "b2c3a8e4251858ab57b79e0b",
+ "3067020100301406072a8648ce3d020106092b06010401da470f01044c304a"
+ "020101042047be98cd1ac849d09e95fb64dbebb4861457a864f98becbe5c39"
+ "9d636025a7d7a123032100e77bad5e13ac74dc341385a0454a0ff48cbc1fae"
+ "d1f56656b6f5ea9ad7d1220e",
+ "", // psk
+ "", // psk_id
+ "d862803cbbc56f94f7ffd62bdb7f96954e4fa1e2b2c3a8e4251858ab57b79e"
+ "0b", // enc
+ "84473361e8d74ac69b220fc02f66f4c5d54c4d32ebf0f5b73dda23a7fead99"
+ "30", // key
+ "f7fb1c2c9a13c5fd8e5c7ab6", // nonce
+ {
+ // Encryptions
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d30", // aad
+ "11be91e6a7f80d2f341e3baa06470aa60401dc953d6933234c81ba"
+ "fffc4476cecff9b427359e00084c5e02d13a", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d31", // aad
+ "752f4c9d907602a3fefcf9e0b8defad1c87082762b533c83da780b"
+ "3c78bab6ede23fff3de660a2e5c4e4ed406e", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d32", // aad
+ "025350759f0ce9e3dbc8358473163894a5da3d785eec934e6801a4"
+ "ff072d99024fc81f60b6d6a839a0f2c8fab4", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d33", // aad
+ "f136377c7ae84ac01c53e0c77056ea6c2138e9b38800044f1e91c8"
+ "838384e27856a8d380f8acef0c1719939771", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d34", // aad
+ "28ce79827dbaf7c07b8270170e6851c1e9bb3a98d8d0538ff551c2"
+ "5b4d1d1e176982d4377cc021510e609ab66b", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d35", // aad
+ "e2786c8e2e20014e589441ca3d0382f3c76e31ed04dcfa2d571d03"
+ "fe19eb81c0abc2e711b2f8b45f33a4a7666a", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d36", // aad
+ "a83eeba76dfa34f8fad7235a46a42b1cbcf03507f068768412f618"
+ "4c748c31b1f872d00a8a7f859c37423ee169", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d37", // aad
+ "96223d7841f3dc5d747df6e2b0a6cb5ed0ca2ac3c63dac7fb7beea"
+ "c4555b4b024c448539e2751611be319795a8", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d38", // aad
+ "759d0488acffb427ae0532c1c51622fb31e4c44f0f48dfea46b979"
+ "a05a218f2a7d501dffd432f93ca441f0b8f1", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d39", // aad
+ "cfc4e93b5ecaed9a5975fc082ecb360179bba9292f86bb9b0e4b1b"
+ "3a8d1d89b4b070262b3feaff65349266cfaa", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3130", // aad
+ "ca4a7943e4ec60f7c279ebd17d2f62e42c1e47c37addd2a183c7dc"
+ "7562dbd988d3a194e5e1621465fbe964c32f", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3131", // aad
+ "33cfb52a5f8990e7f206e81da4610bc513484815262be462c30a5f"
+ "d8120b4a48a01f0ab263f51a6bdf632901a1", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3132", // aad
+ "a9eb03e9bb81c31b7d8181219ded5c28ec2b816c7d0f47ecf88d5a"
+ "ee3addc0473279d5363bce365ce6279069f1", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3133", // aad
+ "de9e326f13d99bbdfacc5b84643bffc5ea0b921d1729043198f8f6"
+ "7f45f88e14a36ad16a4623851af8b0234d5a", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3134", // aad
+ "41670de15276ac593d1a9ac7d0ead010642a4771a30501727ac1d2"
+ "a05bb24133ab00fad4856e0fc08612e0b18c", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3135", // aad
+ "fc08cd03f0045ed815baf4d7932eda174c8fe33c631fd9e233fbe9"
+ "fa51389efd46b97ab4182d7075665b385bd4", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3136", // aad
+ "428371feee92674ab18b93b1d023716d404b641f0d7604c2443ed4"
+ "936500163ed3ae2d180fdc2026c8d96a0559", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3137", // aad
+ "f853217b23110afe0d4de4e805b7d1c94b736d49edd04ee736ed3c"
+ "83c0b00d81e6932e79a0bb72591058abd781", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3138", // aad
+ "17d16569a80994241e1bd749a9072ca1d142ae846843a13e516331"
+ "ab77e11514f7280814388e07fbc12d5fa7b5", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3139", // aad
+ "c33f7ac01b1d33f8937d7baae4f40bc28dd6caae0cf2e92df06ae8"
+ "5e37db36e27ca788fffd98826c276fa7dd22", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3230", // aad
+ "720d65b93331701667ba7345294d4193386341628f63e4af7c163b"
+ "088e6ae35a4f122b1f331cf89f090435df40", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3231", // aad
+ "9579a2cfffc52e1a0542cf65046083de51ce60ece850c83e1e3d98"
+ "bd09c00a79d0dd1c39e94344c800083be710", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3232", // aad
+ "1c68905f35c296d6366a9efd0cb334d9a8b63670794f99943e0d19"
+ "9de20a581ec5a091b6f344b990deb5ee3977", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3233", // aad
+ "0dfc4cb465f6f052f780c5ca6a08f7500645b63888f6c7aa102770"
+ "354b2063f0c7602a425feec9541c1ba1654d", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3234", // aad
+ "a6afb3d65c419aba639f78b86c781f749766dc2eb7add90872371c"
+ "7e0e1408c50692f609ddd097fc6dec00e65f", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3235", // aad
+ "5103917951d5d0e9ba18854c3da687ca884c24180ce0d94aa6e0a7"
+ "a4733bc2753f4c53dc4403235c6a814dcf15", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3236", // aad
+ "2f2a29933797c8b14bfb154ac3c17c6441894df987e64f0939b435"
+ "e2ac12527cd8fcd509d6f3c0ec010e3159b7", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3237", // aad
+ "e5792f0e4d4cfcb57b90c2de2d3bb3b9c073bee6bb00ff31b0efe7"
+ "3cb8f3d70bcf60faaf81b8dc46ca824c236f", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3238", // aad
+ "063e0998779be19a278d85fdfc0c110c3ca8a6576485f1c8f3979e"
+ "2875e6047599d95d3fd42a02a9fbff639f02", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3239", // aad
+ "9c1b307ed8dedd676125efd0d88bf10ebdc9f3716e36f60ae1fe6a"
+ "0ce4d600a219e42d350b0651c045dedf040f", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3330", // aad
+ "57857419ac000fda86130df4f35508f36e89b8a03ab62d03596794"
+ "1502a2c93e860637b025d181266c6e96ae8d", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3331", // aad
+ "f61f3b4b66c76f65d35ed676c66b01d5a67fabd2321ca70774b546"
+ "5a31983b5facd0f097ff9e9a786e1f97f433", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3332", // aad
+ "8034adccb31ffda54fa3f27813c3d6a1593b004b6d3657a6a2ecf2"
+ "557cd298e41296b48828c48e43140dc60055", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3333", // aad
+ "f86ffc7369272e20b4a1cc67ea3a5d77a689d4256e9a1484075ce9"
+ "ff44bb15d121dc7b7ae10146d93dce251f5c", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3334", // aad
+ "f01d65112654df58ea8fe6e1be53f73a3a8ab9567d34746682c67e"
+ "a1851e5bde3c0c29f31eaa551bd6f5264497", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3335", // aad
+ "721a3e2eb997cb2bc265e8e23c9ffa6de9ae88fecdabd6bea46bef"
+ "feddd1a6455c9dd7169ed934b0283d93a7d2", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3336", // aad
+ "4dae1c33afa6adafd18e62f9b6313144f1ae6003e5e29a9095069f"
+ "cd6064fb179920c7604198f0e25509abbb6f", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3337", // aad
+ "7f85e5128dee63e731f1d0aea5b2259cd7561444a9acb56d4a19b7"
+ "e5e01dde1040945135cfa0a974fd13393c15", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3338", // aad
+ "fe658ec34f33c04ba6e5cc8773ddf1a29d8d4f2f876513c27c16b3"
+ "abaaf5ddf0d87699502c6d89593e1e80b897", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3339", // aad
+ "39e45cba99d062cbadf0afb307c3faff251075fbe73a161babf5f4"
+ "b2a19de35fef4d8b6dd92a4f24d8901f3e7b", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3430", // aad
+ "462248a0ac3ece7a38a3d6924c5bc0a16c887c74cf10738473b095"
+ "6d3af669c3636325578c7a8f1332fd6c2870", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3431", // aad
+ "ecf50cf19bf229077dcdc1c75f00d333a202bbc4e220c3ec77f84c"
+ "c3a3babde611a0dae74b3e4ff4b5eb20128e", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3432", // aad
+ "5149408855139b9cae8fbbe98a213c302960141b70527bbc9ec072"
+ "22c8b1be5b40a2799ade84395aa48b1c16b7", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3433", // aad
+ "8fdfeed19dae0bfddfd919644b9a56ff013dc1ca2b3e92187601fe"
+ "d81c6f68b40dcd2e210c1dc9f03f3e2ba0f5", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3434", // aad
+ "a4912236225169c797a9c420c166100d751e7acbc721b08c341bb2"
+ "02996249faf04edad4898f684b819c84b445", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3435", // aad
+ "44a14d8c01b28e7134cadec29a13c833e79f370904eb1f10ae556b"
+ "34df49e90be6b1b0ec6246d84d2e7e42d81b", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3436", // aad
+ "5bc0466eb0137c5de38fb9fc5a03f1d555112f6e1be2a3dec6ab9c"
+ "3313f73f7417e19e85b42a962a5084a3048b", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3437", // aad
+ "bb8d102a26e002fead3b795e2cf54e5931e7efac0cd48e23a6bb94"
+ "b60b89de44341622308d6b1581e79c1b217f", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3438", // aad
+ "c20b78f669cef539d91b82c19496936fae52ef39c8ddd11e7e5c3e"
+ "8482a96ed5c21d0f110696c4b6973ff2d8c6", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3439", // aad
+ "b406b4c1d3660cf6bb4a2f6471b8c6bdbbc27862d9673804fb9d03"
+ "cd6c1da8fec8eda3e77a658da23f060861d2", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3530", // aad
+ "9d4226c99c6bdcea9865c72c69bf7de196dc9fd64509a29eca7aba"
+ "02b56c2045bf251cfb9db32fcfde08eaa9b3", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3531", // aad
+ "06a3691d5bc0f8d43f45ea734a87e8020304ae5300bea9ca2a3afc"
+ "71e255b88014be7e8945ebd0ac59e36ee5e3", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3532", // aad
+ "bf7671b60bce7f274dd4cfcefc5f7ea619ede25629545c1c974ab0"
+ "ed180dff5423adfce13b2705e8a04c78ed72", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3533", // aad
+ "b6fcb975332a9ad88e860d2e662a5c8d048d90a2467c954ff70c61"
+ "e67336ad87945bfe2a0640169e2a2862dd23", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3534", // aad
+ "d7909ea378b2d48cb7f68418223d1d795ce28089ef690df03c63ba"
+ "788730047c73410090e3546960a5f87894ef", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3535", // aad
+ "dc20e2258e73e02dcd414265b2d888b21abd4336846cbf3a73436c"
+ "46729a8b610e0b8af702fd0fc2eabe5bd8ca", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3536", // aad
+ "2ef646f84e30c220a75ba5b079e9997a2e069a477c7c90ff8db7b2"
+ "ce74624b8eebb4472dca356be5b74d037500", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3537", // aad
+ "1d9387d2daadcb26cbda820d0564c38db527d0e70fbeb56790a809"
+ "2ff331f14cf7094ac2068382adf0e581b561", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3538", // aad
+ "ca29ac844fc2767d5fa4703ad1731d1103837ca72ab220c7cba0e5"
+ "519f5db727177caee1b7214d0337f9bacaef", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3539", // aad
+ "ee3b9235f3c3580e88c2f0827e545916c3817cc250540b864cad4c"
+ "46c69671f3e7bc0d17c72f243923c85e68ff", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3630", // aad
+ "8625f86ea0af8cfa318431eadb3bc4a218e2ae36afa19912a64f9a"
+ "2f94315ada01f51f246eef110306e87ec107", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3631", // aad
+ "ffa971b92263954274df4dcdc9a85ad5ace727307289fd04167033"
+ "a50ce1754247298ed55c690078ef4d96dcc2", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3632", // aad
+ "301cdcd78536c3552e02b9d241422f0614cfbfb5f93f67bccf75b1"
+ "2a6aa6f86e27914d4aad83ae78a03344d9bf", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3633", // aad
+ "fba04958519c226fad5ec23765c8755c649676f21d059b7849a773"
+ "9a3dfb6bdcd245eacc37a6e1edf15f641c47", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3634", // aad
+ "c9d3eb0c640fec82e58b8e5699fc66566463798b33fd0be3d84be8"
+ "0efcf1bc25d4c2f3b854b50e06cec657b3e9", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3635", // aad
+ "c45e5d6be31bafcd415cc0f23729b9387908bf1fe411b65b4470e7"
+ "1b7a3a2b8e34ddafa120ffd698dee1e93571", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3636", // aad
+ "edf4b98d738296fee63dd021fac520d6c97a4f03ba76bff8d18730"
+ "a718e1df618c428ceddc6f8beb4de27d6996", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3637", // aad
+ "f1aa0c28b1adc6614179156dc2f6a033c9c45993d56e0f512a52bb"
+ "a5860048869754ab717a6174503abcdc3dd6", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3638", // aad
+ "035c3e3abc6a4eaa3339edb053840891e80ef48918150438da1407"
+ "d3d9993e9a84dac165bd11e018f1b3d340e8", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3639", // aad
+ "ac46260d7098cc1a65998dcdcd246be93e3aa9f39df5f68584bb59"
+ "adc4fa2e4f00eb6f709fffc7ba6ac2d1fc5a", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3730", // aad
+ "ffb8d5862b98ecd289be6ba749e4755ea556a8dd47e41b082daaf1"
+ "9a378fb913714dfe1c47838b74d0b96f83b6", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3731", // aad
+ "cf7573ada1527de47e5dc51d154edb698a8a293373635186a4bae1"
+ "3bf0f9a54b3439bed7cc613f3a0c3fc40015", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3732", // aad
+ "a454a60fc3f609a5a196d01831b0b644f47605f2313be28aa3b0e2"
+ "839438a294dfb13592c09d8f2e9856f2864e", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3733", // aad
+ "45dc05493da820e74ea58e3df5c228298a22953963b83a2d1fb3dc"
+ "08bee3c88d28bd2f2f4d8d66955031e8e778", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3734", // aad
+ "7cb429f1b97aa56f1cca2548a04026e6e9a597330912cdc92c0624"
+ "f87c96470e0819e5d9ef549a0fe8f6de7aa6", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3735", // aad
+ "caf0076559e19b473a9dd7dccab8dc6415cc176a6cf6e5c1b0b23c"
+ "f9c412d5bdd4c3ac2e36c6449b51debee356", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3736", // aad
+ "ff3e1ab667eba56e4409a78cc5680ca9518e8b7696ef7dbc258a31"
+ "67dce48b3c3632fd8ff3e5786c3deeb6e477", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3737", // aad
+ "0253079dd013b826e429ece4cd649806969cf6cd2c42fad1589828"
+ "7aa0f7b91adffd6b7fa4c43cca0d4bbd2519", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3738", // aad
+ "4224a832c5c7ee3697d48080cd322aed84b43ff501d1f8b702f208"
+ "aa387e58f5bb8d136c1ae795585b70827e0b", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3739", // aad
+ "f7de3441ce327a00436c2e8a0100c527b10ab7cc1f187a20777616"
+ "f9b8e7ef21ad21be03119d3740803e5daeda", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3830", // aad
+ "4c0c01eba1059e94bfadfa67958d7f828f60aa78c155ec88f79c2b"
+ "7d1c6d13a5bf667ad0c9327aa54fd4916bc1", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3831", // aad
+ "45c19412ee150570b70a5205fdf3e43a0b3c54edfbf6137d931d18"
+ "a5c5b8f289901b8bb6b663834d22c7f105c5", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3832", // aad
+ "3cf1047319c9836aa313cfe10496a9abf549b2f791e69c6a564c73"
+ "57a5c887225f4e1fdbbe5d5c9a26311a1a31", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3833", // aad
+ "300cf354090f996d7777e01032adedcc7a4d8f6b9bf7270521848c"
+ "789e2bb755fffd23720b8f0ee6331b1b44cb", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3834", // aad
+ "2e48c2bebbf757888e7e3c6637c98a45eb471dcd91df4594d0e92c"
+ "21423a6ab29ebb3482ddfde10d2d127fbc8c", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3835", // aad
+ "ed3064d3ea9c8633caed88dc5c43b1d1cecae128e94cedf8d94f26"
+ "148fdbe345562218fb279ec77b6eba072347", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3836", // aad
+ "e8596e5656fedca55d330c699cd3e747f2150767bd151d92eb931c"
+ "e957f745925aa8bf774f0813bb06fccdfc11", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3837", // aad
+ "530625e4b0dbe1be903ccde45f168b1029d3b66a7b3230d5a08aba"
+ "fc300583d94198689b3ed1cae9d70d5ad269", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3838", // aad
+ "1f819d2011be0c854b1b8dc3c2c70c231b6187669695de052d4c5b"
+ "62368f372e7326919cfdbd6516bb1aedec67", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3839", // aad
+ "b2d8f260ea663c88a1345ddd5afe23a0b60ca046f1c456da3a0ed6"
+ "ebadde359dd3de1e59c66c3d0999a113dd9f", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3930", // aad
+ "bce38643203a86631928bd9ff7d582724660838b87e84b077cdb0c"
+ "01f0004d9cc013190abfeb3803c5d0e0c54f", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3931", // aad
+ "bfe392ba8777b5a3c275839c145ecfdcb307339905c0fd166a9139"
+ "9b322ab151d0dd47d038e9e95f79545def8e", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3932", // aad
+ "a7e72fc696c0400066a0677d2b732784847c6d928fc8efd08402db"
+ "8184cbe7e98f77bd0e2adb92015734593c1a", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3933", // aad
+ "595da6a633e77c0a7e853e207d591643c577681355943389176cbe"
+ "9d8ce878eba898e1af72b7f1f3de24e2d60a", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3934", // aad
+ "5d665e63d8309c84f9fea92b2e9f78810af9bf1830a0b12f6a42b9"
+ "20bf4bd87ad9d49fe42d0aefa1c8494b36c3", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3935", // aad
+ "aceb5be69978bb80ca0b6d78bb55d8f2048b4832adc4854a8d6c14"
+ "c861eaf6cde60d3f9d94a8304583a5a65087", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3936", // aad
+ "9eab5efef06406ebdb546998d722c3348c3b527a67427a17570d3b"
+ "374e4bf995086079ce7d2b19b21924aca856", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3937", // aad
+ "5b7e5072a96c033086c476203308cd61566f5a2289f32fe3223b06"
+ "c0ee3ca1c6a70585b0f09fdeecdb8a3afab7", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3938", // aad
+ "4ffdebb0a750c3d34ddd3724666a37616ee4ae04f598f74bf3ebea"
+ "3573e8d313f1bd3f94790328526908f6c1ef", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3939", // aad
+ "2ae27b8d702263e626d866c74db236bbf3b63a115bbab00f5c9299"
+ "5a59ad6e9029f60962710ff2e799917c4bd0", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313030", // aad
+ "4f5b4334a3896cc0900a24b37cc23a141ecf60ee07c140c4a6c782"
+ "db838cbef490fe766e3457a00ce01fcf5f4e", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313031", // aad
+ "e11288746358ff568486c50efdf70bd7ebda86ddb86d1b0c06d63d"
+ "cbaa097792135bbaa23bed6865766fd63303", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313032", // aad
+ "b015b335750e754a03cd1bef95353e534806c6ea47ed8a47eb9619"
+ "d4fcf9b0c0f13c8314067923260f7130601c", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313033", // aad
+ "6f133012e3cdeb157ae6104a89099ace0fbb4d2950216eff43fde7"
+ "d8424024ec557513cceacfd22209f2ed93ed", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313034", // aad
+ "7a6c407811f719c7d20aa05f78e8e99429a7b0c8cf8b980f9220d5"
+ "80d62903e00b91240fb712a99fbaaac0eb8a", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313035", // aad
+ "4e599cf812b7cbb02f994396b1ea3a416655e6113e2f07ec0c576c"
+ "390d8c25582cdf17060a228e0188b78a97e4", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313036", // aad
+ "d79e47784c4660eb0bb02ffd4ad033d6e00830207146f5804a6e00"
+ "4dbd148e19160a58e19c4047c0914c25a523", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313037", // aad
+ "9b089ccf6c1ac15cf5722501d1673a0ee14135a9c85d9bfa07814b"
+ "379695120f68032d2f8b1515336c5f65e84f", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313038", // aad
+ "23ec4da16407f8be5cda19cd280dc89ec767bc39d09ccdab58e352"
+ "f12c753c9fd06dd213e2448e159690bca5e2", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313039", // aad
+ "5432d8a316f2b251b32adf4f84514269cfc19114e6b908bb1d2cbd"
+ "5d5194e3d93254c3c10a2bb419bef4ca3920", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313130", // aad
+ "71531a8c0052a7139a56dd89c9aa831c35bcccc6285bd698a87ae2"
+ "017cb2eca6a308cf5ee8e6325c9b766e3bd3", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313131", // aad
+ "01e4cd8dc138caeef99632b722e2dae11b6ff80ebe00278130485f"
+ "59d8f81c3983205c8d145ec20e8f7432f00b", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313132", // aad
+ "5148b4091e0ebe2c2762fea9ddbfbfc1ac1e3eb635f32b23226c63"
+ "35cb79e893744741ac4a48bf43559f0abe03", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313133", // aad
+ "b3fe2f0862a5388ad9ee39c891edbf41259c96c44711bf2383218c"
+ "bc0a882892c4a22b34af4e013facbf1bbf5d", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313134", // aad
+ "ebd720afac1de25e5f3bb9156462e471394b83bc7b77a959adc996"
+ "043d6d85e1c4c770e42cb88ab4f45a08b63e", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313135", // aad
+ "2813c491f7fea85a4ab3e62126d851291eff950f322ea492a02830"
+ "3718802fb4e7cdcacb2cecc6dfda4d4f4fe7", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313136", // aad
+ "808190553ec142c0600261e2018ff59b1fb4a5a3b79ed1c7ccb79c"
+ "8c800c5c57b029bdcfd274d91396e724c939", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313137", // aad
+ "744b1b84634182d3d629a7a8c63541249269b409c8236c0c506fdb"
+ "0e642211b36d3d65db395e60f2b1e16e5985", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313138", // aad
+ "9655599ece880e5590cbcca9e15fb51e6ed6f63f053a161afb17da"
+ "346983d6e13c49b6bb52642831f82b31ba6e", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313139", // aad
+ "aacdceab396d7347fc9e71f94dc3fb504f4b814f8a25d3f5372023"
+ "a25dee8252503cc52344b6d776a25ba61823", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313230", // aad
+ "6824478fd564cf16063a30639f711299be881536a5e8e43b2412c6"
+ "8afde90097c7ce4c70a15ab0ccd3ca4bdead", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313231", // aad
+ "3570f4d56299e6c8e09c50b3433fc837f95709f294a77f267eb4c1"
+ "d34881f2ef8453a5bc24be65aa202618c3b9", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313232", // aad
+ "ce07215fd3120647f89413a08a716e31319ebb6f0ceeef8ea296bc"
+ "1fd5cd8d8c2211490ea4f3f0dfae11097fcf", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313233", // aad
+ "1dc507a6d3f99317d795111c3d14c8893a7b545b48d399407fc121"
+ "ce9064d9d903c7575d6c8598792e655355e1", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313234", // aad
+ "9944b9e54b7a6e73ca35601c2088801d5e4896da7356994cc17f6d"
+ "004aac363483a23158a73363926663f1c18e", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313235", // aad
+ "7f8209f4a1f4a8fb642b8e717831ac82a3a99b19445d0f58f5b354"
+ "47cea428066a242767ce7af6dd4ab72e87f7", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313236", // aad
+ "e3b2862937f3af2f068ccbbf870d225066ea6deca5791c302063f1"
+ "e1c357f3a44928c403aebc3771271b74bf7c", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313237", // aad
+ "5a205f8122607dbd95e5b14199e45d52457124c0821e202d760378"
+ "6ad4d645feb96a855dc54fd278e404a38b86", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313238", // aad
+ "77627bbdb39c3521a04862c79004d27189b37ec5dba0a7a959ec94"
+ "d2b819224635056a870781e37454b86db157", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313239", // aad
+ "56203e1fc0578e9e9cd7bf79c69e111114d9f8f7d2c026347c6a68"
+ "34d22a5e7e07e4cd6832a02747350fbdfc7e", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313330", // aad
+ "0c6fe72e187004ac21bc98a542428b9ff706ad06b6c46bbac2c636"
+ "c1ab41fe5491eef137ff618341c84048be6a", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313331", // aad
+ "87dfd27388e096b9d713d19729a999290a1d0d96c8cdc5b74ab7ea"
+ "0a461b96984ee5739ad6eb30c10f022660fe", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313332", // aad
+ "edba309f282ef03b39ca29b97e2cae2b2de4c1a0e1b0801e892088"
+ "35963fe1d64c0940cb6d5a3040c6fd372de5", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313333", // aad
+ "eed0a6f1fd8b0d41b7a178efbea96778e8774b277fddcdd7ed79dd"
+ "7fa1c1d35ee092b5b961fd666744261b9b30", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313334", // aad
+ "2e69d4c0fd043b0f19f4ed9a6301ccd97236d8b305db83b49dedcd"
+ "92648a08f9e8e41247e0b806578861184278", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313335", // aad
+ "2d86c18291cdfccaba8d4d37d577df4691228d49d2fbbfa3b79024"
+ "9115a99fa4d6473dd372458a72c9b1ce5fc0", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313336", // aad
+ "031cdbf578471cc7bd33ff7a15c230ed7a62df2d5aa615e2bf42ad"
+ "b5c5890e714f2210226619c3949e4de057d0", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313337", // aad
+ "7fc4e60c4b7f3eeb1e1c014f08b0ce7d97251c91d25c269d60b1ef"
+ "51c8873950cde64260dc39f9de5588a3935e", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313338", // aad
+ "a0ecf4bf435f45047088325e82ca1033692fa378476763ad32c397"
+ "84d9e874f53853e1f081f56b71a7f1e5d6c9", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313339", // aad
+ "ca736f0334688c7a508ce7feee8dbe2487233572f26a84077ae342"
+ "c605f532c262d99982bfe0d48aee1578dd23", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313430", // aad
+ "91295f1600758fe3b565e9ec67a6c2695266b7ce8478febcc1830d"
+ "acd2de571d2ec6c2d9358afbf28661cb1edd", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313431", // aad
+ "8e5dae0cd4a465c0be3fb3d20a8cd71f38dcff167ab6a0c245d2ae"
+ "1c532495f1610dc80d9317b47106a59dacde", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313432", // aad
+ "35d74d8a48579d4a5b2ba24fc656a6639fe66d18435c0cb9bb4e35"
+ "e54d3f69ce64f3244d203b43660cb59c0dd7", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313433", // aad
+ "73691289adf1bc0bbeb75ab013953ec165aeafc378058b56cf630f"
+ "910145a332624c187bd267147907f674e0e6", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313434", // aad
+ "16b1a9191940938038af6dd02af82184e48b778410e23ed7ea12d0"
+ "05c3b80ac861acbb445b65e93eac262ee4ea", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313435", // aad
+ "1a399fa7ea110e2e083edbe06a3e7e95e3d6c440330f5a2e8f2229"
+ "93a9b4289138a72131fd21579fbd39a72830", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313436", // aad
+ "46b3e11ce1c601fd5b4f6d5d071e31e889b7cec5c35197587eabf6"
+ "4d1efb0ac74932444cd3942c0b54de55e8c8", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313437", // aad
+ "3d010f3ddb34571f0b47fb98ead0299f30453a076d192c5cad868d"
+ "b2a6045f0488b0befacf1942a4a5037d3485", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313438", // aad
+ "882c8d0b487fc6c7819ae9e54418489dca62b65e36cca05ac16035"
+ "6f7b0a593636218f709431fd6e745a963817", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313439", // aad
+ "de6473d03eec0e09c15091cdef9fa5b9b7ee16098e23bb0c7575d5"
+ "b94a75ea6c6ac253d36bbf5879dac5a78bb6", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313530", // aad
+ "69e6a4fcfc321a706d64d7e0f8da8fc4fecdbf2ecab1fe6eb1be41"
+ "f71f1e7bf6571bc351f7aaa507485ed0e1e6", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313531", // aad
+ "25b779df19624e281bfe60467b02becd752b1b75c16e70bd9e1459"
+ "ce1d1149934cba9db79b110289a2c03e1b9b", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313532", // aad
+ "b7288db07d4bea551bb797eefcbdc53a7c39da754ea36ed29c7f83"
+ "41ee4b02580537b5e052d397bc7a3a0c55f7", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313533", // aad
+ "40a4f765d62fb4b807809120236ab819c4c69a880a139dc7210fed"
+ "81e33068dc7d80d69e13510c1c3d96e862cd", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313534", // aad
+ "cc9c979863c855f0ad2c23bca734ea1f20c740c5b455f8e3f3b3f1"
+ "22fcda81aa128178ae7f88a10ec2c1266c8f", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313535", // aad
+ "a3c423e3462901b40f051a2fa9d3e5595d003f623f56c754da58d3"
+ "ca11c494fe22d045e8e501ff8744f78861c0", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313536", // aad
+ "deb41c997a4cf5c31d4fffeb711e0be48c1aa91365ac55fb62e1fb"
+ "e83f2dc326963ea607e71e00ebba3de68d89", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313537", // aad
+ "c6822697fe100c5cde5d06563e9c2680b37c88f6f1bdfb556fb85d"
+ "62cdf6b99fe0cc20ed9d0ed8619258fd94e3", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313538", // aad
+ "81b455d03e11fc7399ae2f28475bd4688e6a8811219bf0b14b7286"
+ "58828fabe8a232189892a9947614ff16c82b", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313539", // aad
+ "4bb1474f6ee9dd990f3d155d858c9e79372ff1dcd51649c3faadd1"
+ "f8cdd649e99e9073e6f7bc296baefec83049", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313630", // aad
+ "7291a3def6deb0f38f2d3589f96c2bf859558b1b926965c95621e7"
+ "8694b10495f2289b12c57fbae8bf0c7561bc", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313631", // aad
+ "3120edc4c856f652b2c49500e9d5b709fbf49663895bdee2fd1d2a"
+ "b5116a3b98018a97fa0283d8bea3efe27344", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313632", // aad
+ "d0378269f7dc53155176e1c64c8d5723ea2096989b319d45fdeedd"
+ "769ae0a034032cb33669c4fe528aba45263f", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313633", // aad
+ "9503a8b80b946bf82f5be9e533108f918a73d7c565c82c1ef19dfb"
+ "dc88e6eeff2a2bd2872199fd8d940ed025c5", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313634", // aad
+ "a0cad660696b4349c2382f02248ccf2a9f410e32b7a177b1803bc9"
+ "2dbb2008f8c436d47f437ddc0c14f03cc6e1", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313635", // aad
+ "c096f00caac8e0288ed5c1452db02d79822718558e578ffe255098"
+ "adbb262f58e8d47c05478bef0a6910b6aa93", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313636", // aad
+ "329b2a4d1639b09a6a9ae37ccab09b92aeebc7e6b326e640d5593d"
+ "080adeb6ce6f8002bfccadb98814c1e13c57", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313637", // aad
+ "4b30880d843fe305fcec2c28a8f4d6c39c73e6e3bc06ec6210a53b"
+ "053ac701fd78285c788b0fbe1047ab18c5c3", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313638", // aad
+ "02f3746b2680154c6866759afa507d3c6ec6a8452a2c54843e7f39"
+ "95841f4fc781e951212e02ee5ede5159d88f", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313639", // aad
+ "19120c5fda163701c1fc869eb3415afae83abd4b1dfb197696978a"
+ "330e6136f390a24a1a84097291ea8b270ff6", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313730", // aad
+ "98d51a1b4bb863c89331dc3402bce26a0cb9ade19e67ce5b75c714"
+ "977339eee0fe048b39165863573c5312d0cb", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313731", // aad
+ "f3292a0742f0656bc0dda4157ff0ec54fc0453172f275046e69676"
+ "b5434d1656e7e7594035fef056487c576555", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313732", // aad
+ "24c6b8d33973e9804160dc1624a5d373ee501ad7574bcec4c3e5a1"
+ "c3ac2327c100111d34357320be765be753e8", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313733", // aad
+ "64ca9484ea6aa9e883d97050583f505c576ec385a451069e762051"
+ "ca2d324f1c7eb86251a195a69dc70db35b5c", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313734", // aad
+ "229a6a8eedb5db3c3a641b82b727a0d78fa8ff8db94f622b1073a8"
+ "49938ca4dbe2cd2d7d8bf6001922ace549fd", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313735", // aad
+ "7cdfcad2a02e2ec8eddc9609c22f910d93686607ae8778e72c8f74"
+ "a826d7db0a327bfe0afd3d70a6d0ef165de5", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313736", // aad
+ "e8c1fe53284901d16080199f253e4fdf07db1125568a048ba85531"
+ "6d265796fedfd03ab43acd347382130a4560", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313737", // aad
+ "82b2c06f457514f54ec16ddaf7b0613a2ddd4b80695a99d3a10820"
+ "c8c22f4559e5ef36b087809b4c8c7b13af82", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313738", // aad
+ "34dee4036b41c434da8f88f2729ed7b9dcc54f9720b679856a86d2"
+ "8cddc392cbead7072705f744449e984f1f31", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313739", // aad
+ "aba1c3a56538cb4817461154604c0295fe43668a40c471e3e961a8"
+ "1813b9b43d876b48d02b81e1876ece49102e", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313830", // aad
+ "8a896b54049d45bbf4bbdde88615fcaf54dbaee6c8b354e428a936"
+ "c39b12cf275364ddcbb7fca4ee151a330291", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313831", // aad
+ "b6af90855767b772032a265c1f62104ca662a2252e1978665ece8b"
+ "88f16e7a069a9ee121c1b1ec0dd88db56321", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313832", // aad
+ "f68252f264189420b898fb8692d2d2d1c5a2cb9761277790bd2f5f"
+ "b4cd1deba827a9e4db43104862094809d27a", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313833", // aad
+ "e83bb896ba44cff8af199b523d535327f5ed4e7786877bd12044b4"
+ "b61a1e2d87a471962dfe4ff25bf014ed5ad5", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313834", // aad
+ "e2f1aa3c217d4503e11ba39c05ec624ea117bebf2286e0ce1b68fd"
+ "d79adbfbb853c2e7d5dcad3c3547cbc76542", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313835", // aad
+ "f68081b39e296feb94af0e4876f4762e0d251758aea0e292cca99c"
+ "31608c7ca40d1f73df4c5e38a1a6ff671347", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313836", // aad
+ "f7f1e4e04d08415370a5756c6adf62abb54732d0920df216d22d85"
+ "22737b0d3ffb57eabe901d2a5f7621b0352a", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313837", // aad
+ "99fd95a5f841e19389886ef9fc9f183561e40c75f24822d975dd0c"
+ "a06774bbe239e56d962bca08defea65c6bd5", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313838", // aad
+ "4cedc9bfb4e39c3c59509b7ad465cc572a0cac6cfbe4a7fad036f8"
+ "495a44bb21ecfd2753893f29141c34578e71", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313839", // aad
+ "3b02e170b4e27c1f8733db553940192a1f45ab982a9a0f9aa3bfc1"
+ "6dae75c0c744619886098412e88a0421d7a0", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313930", // aad
+ "2453453120a5f87d204ff6dcc05cc639e55bd1d79ffc2af195b0a0"
+ "735cd36554ae19d0b09cc1d5ab389d3f0130", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313931", // aad
+ "f2b93e4aa6f82c9f5938a4bed647e9825fed5b651f14aac4eac28e"
+ "03a2c2e65a07f1a598c988df21ea79a74c42", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313932", // aad
+ "0c69e75b78071a7e68d19b8ca64adc53543b8e96587215823976c6"
+ "8b8b4287a003c13e584a1ff3d175ba9fd435", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313933", // aad
+ "c7cf7ee78c85561f11a2f0b0d334fa49151f8163b30eba7df57461"
+ "fb97d1c20184c6ccd6518c1ff37b56818f7d", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313934", // aad
+ "fee46cd65d4fca0322eff9074259b4c8c84b7803d72958a1392171"
+ "b118a9ced936b6473ed0ddf3ea4263c00129", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313935", // aad
+ "0f3132c1f0462c0da347a3a12e87ca08ac568d18f820b07f921834"
+ "6eeee61ab2932d422afa1cac22b5812d74c7", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313936", // aad
+ "9674d7d425a211b798697898889b0daa6abd81b60d7447b353b628"
+ "f72cada35cc33ec861f92d213c7371315186", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313937", // aad
+ "14ed8dee0e4f63fc801bea325c05aea591fa9e0490319576b87ee0"
+ "f3896b4d1cfb3938e3b4bbe5e5de3274191c", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313938", // aad
+ "25a45341e40e2a33ff5fc304c34c4c58cd706c45f10233d045aff7"
+ "36a8a76821bb39d2a339d17fcba6522b1cb3", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313939", // aad
+ "53d994b5d1d41d24ccdfaaba5a29c62c0cbb89d045e51848fedbf5"
+ "bc29078cd1613562837a46d7c5c914168ab1", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323030", // aad
+ "c32e89973637abef27f0d98658c43faac58c4e48e6b9a592f3830f"
+ "79d1d9ed8403a47bb60f6de02dc64936f646", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323031", // aad
+ "227a07cc9846ee66cb5a07d2cacd71edc059caef22e2b31f0c9bc7"
+ "6a2e83a7dc4babf63bb29f8bfbea483a17f9", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323032", // aad
+ "23cfe901a331ec7e40ba3c0795572f14feee8955ce50a2fcf271e9"
+ "0fb67d7aa9b82749472570257ef86de5ca71", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323033", // aad
+ "af7fb8a88d7254297e9c466d9f70a59c88f13853e3671ed8c4815b"
+ "04f65be191955fde4c9a27cc7ed00f089987", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323034", // aad
+ "143f9a1c5c976557c0d526f4381928f7871ae24d5cb127f2925303"
+ "7579ca5c40cd992c4d90d47652ded61ebee5", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323035", // aad
+ "22034b89df3c28415cfc0d3d12880666d67998f64727ab943e021d"
+ "02c85396c1108c3c4f6cf10086b023d215eb", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323036", // aad
+ "b2af7413b826e6868bb8a8fcdacae02fd9ebd4cf686264428a6628"
+ "dc4737c629a90cead4e31588e8974d3394c8", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323037", // aad
+ "0817abddfbd6f1eb9db262ae7d132b5e5d313d083465d18efc2a69"
+ "a697338be649e113a876ee06ab6985d825ef", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323038", // aad
+ "54a6ae9104180f211780561e4d342a5cd87dd847338605460249e9"
+ "b8fca90aff933b051b8cd0fd07e80eac4b69", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323039", // aad
+ "72ac378039bd0b8f14f5862db023f6cd32bdceaa7ffb6e57f0a48d"
+ "3cc1c54b2b27622d89ec9bf38e21006002ee", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323130", // aad
+ "e08e091ada8f8ba1e7272b7f0d62c5b482f06a5e798db4310abff1"
+ "ae763fda8dac01b80d69506d67c26e9e1a10", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323131", // aad
+ "8881656cb60ed8fc509d731b29352f31741382485bb974c1d5a6a5"
+ "1ac978caff9762ab981b4acb1a20e6d29020", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323132", // aad
+ "252a38dd699b4fc8c7711b4341f108bce268ce67c49c6a9c552dc9"
+ "1f9d5ce52d1af7f5ca47c7cc03d2436b4752", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323133", // aad
+ "238cb4614b76467d53976b3169d85ffb4d7a3c440d7f41b0fe8d3a"
+ "ea992dd9bc4f02bffdc794edca1eb7fb1f6f", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323134", // aad
+ "50e62a20b64ba697d50799737ae9d85c7b8e830ba2b2ca877d66b8"
+ "e6b1ff26406c720c156b529ab1d5da41f859", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323135", // aad
+ "4f18737d0a0de52aacc69f6f6fb82c7ca5f3a8ad4094d108434541"
+ "e59e5c7f02876459cf0162f5f725381cbaec", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323136", // aad
+ "746fdc5e410136f1e12409db5b6bbbd91448d40c977da5c2f073ca"
+ "df7850529319db321924057d98bcd4770aa8", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323137", // aad
+ "52f90a1e09e4bcd0478a60fedaecb379d0348f44d49594f0fa5030"
+ "3b08be7256eb548b5d7bcead1e6101ffa50e", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323138", // aad
+ "51b35f98acacc29b10dca4a377014f4bafe38004a6697cde7091e1"
+ "06e2e057787b82a7ecd46651eac743db1b9f", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323139", // aad
+ "02e1e8e982796dbb38910cd821d90c55f5aa29970b0a78c0099e0d"
+ "e2b4bedfca288b4ad46c5f212c20eb5445bc", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323230", // aad
+ "ab848c3b85bcda3f3a2a6cd1d5062942c43abb2d78d796b1ecf1ad"
+ "0a44e1cecb786fc76ede6fc01adc9a8ffc44", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323231", // aad
+ "c7be201ccafa7f18b48544d9fb2d90c2182335a618f475168dd6d5"
+ "9a33c620a33d27dd29ead93cfabf93abeb0e", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323232", // aad
+ "46427200d057f4eac8cffd2b0ba308e6b0c3f544f1f3e7877ffe07"
+ "be669302d05b3e072754c6c6fc70a717f77b", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323233", // aad
+ "60211b3525d844d9d80c52f61eeee677284d9b09995b1f86bbf1b6"
+ "5232fd53ad17c038edb9c93cd46ab2ea834b", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323234", // aad
+ "55a7b13b2fe590f8a336c1a81ea09bea7d8ab62a1dff1587dd87c5"
+ "f69e029acdd037ea1dee845191d09b1b464a", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323235", // aad
+ "1979d5695b6542167565dcd40baef1f8178ddc511e45388e135974"
+ "5be952caf98440d9d3026d7bb15a95ae3107", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323236", // aad
+ "fb3bc8c4f1a4582a3972ef5026213303fd2d73e26208e461ae8b5e"
+ "ebe824fe1f6c4f7a4f587033aa0726492216", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323237", // aad
+ "b13817346020c94f9c5a6face3748e8873d89f66feb926d9d2cea8"
+ "f705239af6b206278b277669bf836261edd8", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323238", // aad
+ "07f08cd7b0411ebfebb5f5d08dc5e0a03f4787771ba3aaddc28175"
+ "c835b9615f955945c05b089317e7d2aceb87", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323239", // aad
+ "5965ce755d4f85f8d5b5230619758dcb0d283105b5fc0cae0cac5a"
+ "ff8959790fd218004f97d7b833dbda5914d8", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323330", // aad
+ "0a20f3865b41ebfad1f6d8929710390603182e7ce3bb2b0be25b71"
+ "2cc745fc012432f112c0782b2a5c168dfac1", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323331", // aad
+ "2e5f88fff245e1e5c9a9f2444edc6519ff8b0de825e853503f21a1"
+ "4097e0f069f42cced53df0baea9b83d85067", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323332", // aad
+ "089f3433aabc9395ba2d45a62e313c9f00d6416ec5e0b0a0d59f13"
+ "96c789767095a29533befd82152e161d1a72", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323333", // aad
+ "bb9a9b5c2a74e0f2391a7c08680e9856afc91d30d216be7a9b90e5"
+ "903a057b4b88993693eeb26d47a1c4e6f384", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323334", // aad
+ "0c49ef3b17980fcb6810c02fa2c5f59faf0eb733db0735df99a4e6"
+ "8859d0a6cbfb7568217cd2208736f63e19d7", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323335", // aad
+ "5d7af4615634f454299cd48e858e463d316ee1afcf9ce342acc27f"
+ "7ee235ef54093ffa1794a4fc3e7d790a3484", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323336", // aad
+ "33b1e1f4f7bd9f1a84a6387ffb511da4857378fa55e89b7b65e59c"
+ "1d62abbe2daaf99fd25b36b390db5abb7c3e", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323337", // aad
+ "945d9b88bf37200eb7f0ec94fd927d05d7cb2fe3cb30d13bd6eb24"
+ "b287a7fb9d7b1bddb61f7515e6b2b0cbf3f7", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323338", // aad
+ "a06241b553666c836106543429e6d37d6312ad5215d25ca689b4d8"
+ "4763a9e94ccadbce18f0a466feeede9cc368", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323339", // aad
+ "b47ec75cfeef1d3c0560fbaeab9734f441c443f25981a23d22221a"
+ "a3b54936e5c1a5fd1d60acb7ef555981ece2", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323430", // aad
+ "c49d0e92f077d5dc40f1ee0557c85fcf0741bc0061de3f15cf7e48"
+ "67c5ff1e9381f366c9a6d5694605d6718004", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323431", // aad
+ "2a67843fd4936d2ec31d1f1d0dc0df13206ab334d48f4362ec9c16"
+ "bedda0a4327672c34666ae3ca81c3940a599", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323432", // aad
+ "bf3244e616daeccf9cac8ed79d07456b24a3a041964baf39815b50"
+ "ae7e5d23d5244f2c14d84e371957e059c619", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323433", // aad
+ "38fb39828ecbe6f1231d61f07f0cae727e5566a0c1b519f38dbf58"
+ "78640ba20f2069952f4fd912d97f49c83475", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323434", // aad
+ "68f79debbbb549a1dbedee266346427082d54315344e8a55f2f111"
+ "d24a0604ae73bac6b5ed21805ad737ab7eae", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323435", // aad
+ "808af4bfc90fdbdcaab1b1921403f1e301afb46c5c8b66388674f8"
+ "00727260c13bbb7b65766948173fd94e80fa", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323436", // aad
+ "abfc30c1d3b3a40bee0d84ddeca4122f7658780ec4f7262a161bb6"
+ "abe3fa0a16d9b61724cbfa24ee1f077344fd", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323437", // aad
+ "23ec490fa4eac723b512adbee2f3a1bc80c6eecbad19c47eae605a"
+ "80701e5a2343e7b0d6093b0077a4c8d87ce1", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323438", // aad
+ "ae14177d61bdfaae4b38884aa159df8af45894d7b6b8308aa82e8a"
+ "b04f32886986f7cf32cc8de92b0b1e056e38", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323439", // aad
+ "d14036d73867f19ce5d276c312e1c9736cf93d6b05a96e2eccb633"
+ "bf27dfdc45ab0a59683e1a236e4c588f31df", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323530", // aad
+ "ca72e2928eda321484c84c87659439e025f785ca3af41c600586eb"
+ "10e12713efdbd1a8a7460ac6f778173feff6", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323531", // aad
+ "02cc485905fbad796d441a1bc07bd440d301e0393a34a4d28d23dc"
+ "d1cf70c3e116b603600e203ffae88be44dcf", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323532", // aad
+ "0943fd2bd5f14028d06875228b1b215d46413e1ac5c0654b8401b7"
+ "c71525220e9978bf71f1f95adab3d74d03a4", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323533", // aad
+ "8a30c185a8251c5de04a5c3eaaea65517026d6ac07cd30700dfeec"
+ "2ebf7f007232d26536638a70d3d90ae211b1", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323534", // aad
+ "e4f21df33b678d92913e719f7748ddeb01d505de57bee87c060543"
+ "bc76e749d72d07d1fb04ece74f0431bc0598", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323535", // aad
+ "0c3d124ab6785da819846e32fc27b7554d1fea1d26ce2dc26e1a69"
+ "3dd7e016d51495d08817797258d3cba5e9cd", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323536", // aad
+ "4333ea695ea28b188f44060bbe8358a0c00b953a16911cf4308435"
+ "11eeeafbcac7537a6405be9b8b40e76fba65", // ct
+ },
+ },
+ {
+ // Exports
+ {
+ "", // context
+ 32, // len
+ "f22324dcf072e206156be29e76820fefac943468e1e1a511d99b96"
+ "7cf1994b01", // exported
+ },
+ {
+ "00", // context
+ 32, // len
+ "785f3dd5cb3a99bbc76502a0f36856e1f5e88afe22853154333f6b"
+ "f28672f9b8", // exported
+ },
+ {
+ "54657374436f6e74657874", // context
+ 32, // len
+ "30d788b5e977debf0b8b51c34bd9514116ac7e1b494f6efd44080c"
+ "02add02809", // exported
+ },
+ },
+ },
+ {
+ 5,
+ static_cast(1),
+ static_cast(32),
+ static_cast(1),
+ static_cast(3),
+ "4f6465206f6e2061204772656369616e2055726e", // info
+ "3067020100301406072a8648ce3d020106092b06010401da470f01044c304a"
+ "020101042058378b622e94053c3c0e3f4b416365ccb7bfe06b144b599ce233"
+ "86d13bad3168a123032100d9ded3e1e50f70c474b4ebb64b4b9c3d711b5000"
+ "918c88a1b01ea0bfc611ef25",
+ "3067020100301406072a8648ce3d020106092b06010401da470f01044c304a"
+ "020101042025fa61380093b84d96b13d6e2d6b5d0dd9d182bc0b54c8770581"
+ "287014370052a12303210074a556a4fda89ff0db891cb66775d6c9d9b4e3e2"
+ "3bd9714db2124c5d23f0b155",
+ "0247fd33b913760fa1fa51e1892d9f307fbe65eb171e8132c2af18555a738b"
+ "82", // psk
+ "456e6e796e20447572696e206172616e204d6f726961", // psk_id
+ "d9ded3e1e50f70c474b4ebb64b4b9c3d711b5000918c88a1b01ea0bfc611ef"
+ "25", // enc
+ "6db9b0f5e6b99a4f3b2379d0aa26b7557b2d60f6565382222e34fbd807b882"
+ "a2", // key
+ "811bc3b560eddafde5ad6ed4", // nonce
+ {
+ // Encryptions
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d30", // aad
+ "baeb454095d2218f4cfdc59df314ac4df92edd8e66b16a4d5913bf"
+ "df3eeaf305380c0368bf719ef31745f5b84e", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d31", // aad
+ "f798b121acecfe88fd3ed454e70b0a6386ebc735e9cc702d1e9367"
+ "278278c259dbaab86ec70083c08806f42cb7", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d32", // aad
+ "4543b32f9d2ecb0e983551cf3ef53c3f93c779553f1451ef09731e"
+ "dfb466f7046a189e585177520ca488c86a28", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d33", // aad
+ "cdd792b02b6a46993663bf804fd3ab7846c71446607a55f4b3e5e0"
+ "d5b3a0d1230207eb79be7576696802de7ca5", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d34", // aad
+ "0af1c28bb8d92d7b520db655518c74a3b32cd86aeb484274ddbf82"
+ "c70134604a9da5b6e52352a498ec1cae961d", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d35", // aad
+ "9ed0586b1284d09cf8388c881ba017bd89b44561eaed1fb1a9825f"
+ "ee67adffb3e0f172aa814b65e10205803b37", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d36", // aad
+ "53a4edf69b22ee9c48d4806a51b4469ed6878e5fde13672fad0015"
+ "649f0c6519afd88e7e10f1ef6b38d5bd0e32", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d37", // aad
+ "c527d08c1032dac10b5796902b2e7524f8314e57b2a7b04c003bcd"
+ "a135e36e4749844a901d7f242a521571872d", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d38", // aad
+ "c8b4be55e735241a35431e06454ac03829d9147c3871991e70d22f"
+ "9ab92b4d2796638c38940beba00270550a91", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d39", // aad
+ "fad48fd19db92c967ad51624ec078c1e4554e328f479309edb513e"
+ "2cf4e02e27c3874caaacf729aefaa9fd4c31", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3130", // aad
+ "6b2c8502f3e4550279d9ee4356fd0af321095baef6d8fce9f3fc77"
+ "d4c38cfebbc19e73602d2a2a1c4b6bff769a", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3131", // aad
+ "e31f974b47deed1808f914ebb1312973654d18dcb12a00e2423e6b"
+ "19c7519be7276aec90183aaa9f799cd9090c", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3132", // aad
+ "d1862c3a3d7620e684a91d5467c7ffde1877e4616c0f62bafe95fc"
+ "3b32a61ce94987acc1ba0c0808d5481ca7b6", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3133", // aad
+ "1de2b2cd760b428e935b6bcfadf81790d71931902773e23fde1f5b"
+ "13e8557e6541ff4334549ed69bb662547e1f", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3134", // aad
+ "23862b6af839ddf42027b1e66b9ce06562b7e3bd13a6ce8d4d9b64"
+ "c2e88c8c96a90b37524d786dc92911c08525", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3135", // aad
+ "ff65249fc39891e2b6041856285d48f3801f9f178ea18baa633a77"
+ "d238104107236f65d4bc7b4c9f3c577f4bb0", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3136", // aad
+ "028463c6529caedf23c49d46d35781a0537bbbaa76311449c8f0a4"
+ "68e7a2277be1ebe1c3344130e1d41fb0c6fa", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3137", // aad
+ "b90a7bd434109191250496b6f924355f7c53744ae4ce18bddf2a58"
+ "e87abaab65d3b63c0a871b095bef00ace121", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3138", // aad
+ "15244600573712b501b883f16bc69c676090343f2b509db628acc7"
+ "852358f4aacff8e234563da3f1e4f5f16dad", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3139", // aad
+ "37ad6490dbfb6ca40fe93ce2205b92916e91d36fbd1f988682a8f8"
+ "cbe57c7bf480302261f8d10167a57c0a38a4", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3230", // aad
+ "f5398a68521e8580dfee04ade612c725a44907b4b40f069bb05f3a"
+ "b312e541438a6221689f56dc91e127c5f265", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3231", // aad
+ "add73c37ae873541fa6930ab010b84b8cb3a721757115ef7c42e58"
+ "53782f346549915f0d90e307dfe27cc11c23", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3232", // aad
+ "61aadf97a85fef26ef6ba435dc709c44e795339422fa7ae14f4836"
+ "6267c9c872dbfe19aaf04e3a7166ce448c49", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3233", // aad
+ "3d56e5a9cff2315f418d85e565eab143c31f1a988aea6af88428b1"
+ "5f38ca18db3c728765fb3e9329ff23f898c6", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3234", // aad
+ "9759a1d17268fb1d0389f03b94c1b3fd311cf207ec25b101054ca4"
+ "6030721ea4d6689546f61e586822b08a1f7d", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3235", // aad
+ "ca7e0beadad60f20b9f7c201ab811e2586a39bb3d63d7735deb360"
+ "e9bd901d45811b345cf47c1bf20d0e5e86b1", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3236", // aad
+ "7c039dc21fb3ea6c58c56dbb0e34622a3d12dfbe990869dc1a619b"
+ "29b97c2e79a2a5fea7d0311a7a4608ca6968", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3237", // aad
+ "2a23265ee9ed9b4b9dce142b362fbffd7792cb2f2cb1a253b20338"
+ "8881ba2373ef8715aad9b1a040264d0c0f98", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3238", // aad
+ "ac28910c1bc60739b6a0481537ffd04598afd0ca4798d1053da45e"
+ "0ed11690b8b623df26d3508d543aa2807f94", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3239", // aad
+ "9955e7b6e9d8c0ab59182114def1b19e2903e80d7dba8068d9f67a"
+ "66626934c9e5761fb3c10fb89cc184e723e8", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3330", // aad
+ "729d6555dcad2622f6c1ff73fd243b64c3ad173e1769f9daa4f72b"
+ "48a3cc523ef5853ccac7774d48874af8555d", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3331", // aad
+ "979833eb13477d919c800f7332b6fe0117f3fa0baf896524e98d3b"
+ "2c3dfde9968b721abc710e727a6150c31283", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3332", // aad
+ "b7d05f7025ac4889ed53b93064881401801e7a7279e81f15249064"
+ "93703f7bad99a65e6ce5ce99a859373be965", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3333", // aad
+ "5363b166f75e196eca3ebe0797b543a8d41d8cc19fc20b5d6c9ad0"
+ "ef6d6d32e0b36e8108dd2a3590c739a468c5", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3334", // aad
+ "b214b6dda138fed2f6fb86745d8bc389e5b6af67127e237f681804"
+ "e9359a0893609b5c3564c344485acbe9688a", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3335", // aad
+ "3f93cc54872bfd8f3c51b6c462a7cf5aca5ee38731a7809696ad95"
+ "71dc92858ec31aee9ac0824df33a92858870", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3336", // aad
+ "53e90b01c09e8f9a9f0840c324b779e3362f83906770caf8b999b9"
+ "d4f2cb83b8d180c10377f9f8e39a39bfbe24", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3337", // aad
+ "d3eec04ed6f0353283f1a25a2aa8cef01caf1a47bc1f9e59d9f4ee"
+ "36d649021237da72825c5adb6b64c443b3d8", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3338", // aad
+ "1e00f7217421a151bb9702926d69cce0296d7e70fe2f4c587439ef"
+ "98cefa618d8705bf83192b4770f7a279f2de", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3339", // aad
+ "14bcaa22735b68faa34c84a479aaa7d5e62596805944a22f1e558a"
+ "5d16e3dac700fc6111d0f735b7244791223e", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3430", // aad
+ "e9c60abdc09dd36ca3c444c5d5ae7c62a8860b804bed325b39c35b"
+ "2c575455d8658d80f8f76dde68fe216835c7", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3431", // aad
+ "1651de0d5842f5a63218062b3b6199e17f650417021497d5459ee7"
+ "99d724f5b7cd6071a4375f3da6fa3b9ca8fa", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3432", // aad
+ "5c2f01555818fbb9ed119ebd3d9a99af04c64fc1abe80f52412330"
+ "d8544144ce78ccc51225c18ccec311de142a", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3433", // aad
+ "a495ebeceb15d9f78e9b5a7f369c427f9799df4b764a40afa35db4"
+ "45b3c74d17d6ef546ce2705bda0a16d18764", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3434", // aad
+ "ad8ebe164691ea64cbc254c510750c3dad5e9aa80b70b75cd1d29c"
+ "d063bb07620f85268c93396434d4fcc3aacd", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3435", // aad
+ "0b2750686921f08b7c7f8c5abc8f19545e38aa4fee2067075fc917"
+ "b96dcdfdab6442f445e96952ca9d21871de2", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3436", // aad
+ "b94dc8eafaf1d1d24ec570eaba89070debcda25f88b4e7a03ebba8"
+ "d12bb1c9632a3be048579b1d316ac55b40f6", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3437", // aad
+ "760c8ffadc8dbdaeee4b7cda0e7322ccc2a8e1d320e8ecc71a4d30"
+ "f1e61ddb375b662ffe79227e0782321e0f01", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3438", // aad
+ "3ceddb84bd732f5630fc1618227ee24bd7d73f2463e6bb1dd96fed"
+ "f3a6dec619d285069355d686c505a58303a2", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3439", // aad
+ "9184c0a47d2e8a49d587da2deca3474e13b1898d98ffe969d17b39"
+ "c779427245ab63d9c8d99136bbc5a07788f7", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3530", // aad
+ "1eb619379fcd8fcf62a58a21043d3d3d190b768cd3373eb9da2fce"
+ "8f4b7c501eb08e6e04e20637f17650cc1d08", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3531", // aad
+ "1f039322ab635573cc47029b52e699e7e63a375379f8e64aaa4f26"
+ "fc89e7a844647cd7d605296b41930cc86d32", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3532", // aad
+ "d7f573dd6deb3fa3ae52318d3251b6155ec859978e5271f97f33e1"
+ "b4d26c6e64aa9939672e0c58e31256950532", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3533", // aad
+ "324a2bb6cbba2cb021bd5e7827730255369dc81afafc93f9524030"
+ "e4679e578e3701ddf7bdc06a1bd2a44351ca", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3534", // aad
+ "133f4b6a90c95f948708a574dcd5855a4e3e2fd0d8992d22ddcf96"
+ "750870c8556d072f897b2aa2b3a6c0ec1963", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3535", // aad
+ "45a137c15bbd78fcc35da4274ea5c55a9d030251776ceec535a9b7"
+ "776e8b9d247cbe74050766141fcbe2778b75", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3536", // aad
+ "5451cfb7a99f5f4e74288803be38480a08ff185dc2d00ef7a1d204"
+ "c0f696af790519ca2c38a15690f0a00182ae", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3537", // aad
+ "180b8b8f6882982db8023421363f68394082ee931426b5fe759c8f"
+ "f208bdbc20c9e1c3f5d1ed67db021bb80981", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3538", // aad
+ "f84fe8960be715ecef8efe54235f6c1cff4d77e66d8e423035f5e1"
+ "15acc8a9f74a40cf7536e482f36a1a4dd0aa", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3539", // aad
+ "6d91bbc2477bff0862aa3a22714cdc7efebb64afa4f25b8ac7fbae"
+ "fc55bdab832abadbd1bb989c81c775da5b53", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3630", // aad
+ "439f8d2b0ae764d958bb073bf577b20ad1429874e43f66bd807f4e"
+ "24546b69501e16567a588f6ce1104d7f7851", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3631", // aad
+ "912c3f6029de1722d3d98405615c1e39752224dd1d5d3ff836fb09"
+ "e7228d0490d7547cfeb10ffb1df69cf1c4a0", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3632", // aad
+ "57d8caccac28e4de2ca9d5db75b48240b84edf44b15064f3d5dc82"
+ "19cfbe67c736a1758ce147ec17242d9e0e21", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3633", // aad
+ "b235390ced4a283338af8b09f0d6aa0fb8fcc6b76bbdf42bac8a01"
+ "53c0200fa381d0a0cea8d45b853280799d4a", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3634", // aad
+ "68c41f37873951a853cdd8e3808c85231a695c82e7c8681d1e18e6"
+ "096b98f19db7f28a4b11cd2850e6ad883de8", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3635", // aad
+ "52b9a5390cfad86ddd1ff4be1f4418d5ca514b06924177ef8c16a8"
+ "fc0751ef2ff42677900faf6a19172fe33309", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3636", // aad
+ "9c75ebaafc3f35486e260bee27de1afc42997d35fbec89df16396c"
+ "41ebd0596f848f0f9d270ddc840ee7c132fc", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3637", // aad
+ "59ce95ac01c358985452805a8884c139773384b4e5c9ade86d51f6"
+ "62e217305a69a54f7f9d1d39b2ed6e6b8145", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3638", // aad
+ "185fec29af76fc1aa0f971f6e1dc374716d51f48ebbad6a390bcf6"
+ "714748f148b394dd35c26690426c811a8e7f", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3639", // aad
+ "c03c8ee124e0391dde008d12a84128414ba18da65de8e047c30628"
+ "791a19a7ae3b5c38ca17e33253c595382dd9", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3730", // aad
+ "d48a6ec0b10e8d13a848c4cf82c895ea66ae3a953a0aa899889913"
+ "87790db10a4c9703437c39ff1c896fb2bc9d", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3731", // aad
+ "d1d071c074e1fd92d12decd4da29423d8b90053219c5b20f97b11c"
+ "26f995f7d870094c9a38acc2e35f8717ca2f", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3732", // aad
+ "1d4d2dff695f22145e55cfe1663a4eac25a3bb3bd081e65d2c3545"
+ "8c4dfbef362374480f5afe12a7b56d5ce6a8", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3733", // aad
+ "3b12a1ee79d7de8134f32544f34412961c99cb0a3f8bd0b0772024"
+ "09ce963d62c39f77377591371803411e4ece", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3734", // aad
+ "e557afdf156d6155f2a8a40e2b83b0b2e1596a7331615be49dd599"
+ "d9a3fdcb74aa3c185bfbd82823413e910e84", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3735", // aad
+ "d765a715670f184e53d5753d692fb40356d164b649f6579c649e16"
+ "ca89eec0c851d87cfefd8f27f71507f644e3", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3736", // aad
+ "c9654a3c16312b678f04e10d572432cfaaa789320ae729e074e2a1"
+ "3faf95026526a47ef9bcd51514cd3a0517c4", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3737", // aad
+ "15aed62d48803e7b0e345f997f6bd21561858ad25df61227e73557"
+ "28396659f57f8ac828ac0d30fb3c2dfc98a1", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3738", // aad
+ "1ae5a194abbd2e7ab53664f117e0ad5ad81d1f32de38f3edf38791"
+ "8094ce7de1074ce181dc55e960df90a5a404", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3739", // aad
+ "2448c613d115d68579a4b0c43fdb5f86fc1ebf8bd372362439e3b2"
+ "b5573e2d632fe8ad4b306eb860c46e8bc260", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3830", // aad
+ "4621a1e8bc63871acae360733ca4b0a303a0f3887be488b282d3ab"
+ "87f596aa88ff20ff0b3360443a0e2f142098", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3831", // aad
+ "4641e2e7c8dfcbf4a7d34d8c50a3be6c5cae7a72b01ffdeb6f3645"
+ "468fbd9018a59c675354a686509395caa3b4", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3832", // aad
+ "6386a84728c9d1aa476a8115e59fe702138bc9eff01ecb42799791"
+ "5d7e93a3a5c1b2944caf9db8e124f80b6605", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3833", // aad
+ "804878d22489f63db3826a9cf997269a90f73b8b606c75feee636a"
+ "d96bbb5b84a18b6a4733005dfa42a7710591", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3834", // aad
+ "031d8e3318cf02b408a0da3b8f9f83f8577068a1f10db3e29cda42"
+ "fe8a903eb0dd9c7af159547b780740953dbb", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3835", // aad
+ "ee932efee078f44345b9f311cb4e9203f9807cfa4766a3f2e75af1"
+ "03a117e8d80cce3253e48e8b549f1e39d2b7", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3836", // aad
+ "733d719b3343793fb3870ac7cb0bd306f7d52740ae29e793302295"
+ "6295c1f14c3fb71a84a336babae0edc5e846", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3837", // aad
+ "b1bd4c91005d151c7f29c4bd56ea4896ecc197e8615fb992ec16c2"
+ "77b940653b6f62bdad2a5198f45e0cf58cea", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3838", // aad
+ "3c5c1f5f374b803fa5b5be57ef8f4cb7fb12bbafedb773434479b8"
+ "fa44dfbd7d9c7c4f5ba089b1e82c3fa76975", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3839", // aad
+ "d05b959bc290dd57f17409d96871dafecadddd97f88a54525f1e85"
+ "182e1f21825e2148725a4ececbc25d451477", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3930", // aad
+ "40164da22c47f26af5f49db7333318d11481a7fcf930a3259815dc"
+ "13b1401a694520eafe05d59a0cf8e2b6167f", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3931", // aad
+ "1bf44544d60141de525b98d358417a0cd33b6ebebf7476c535ebf9"
+ "680f0b165be46b3163af86677a473f77f746", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3932", // aad
+ "58b78e980d2735df2ada2f36193cb4eed18a139ce7adb4c8e6bf6e"
+ "1a664eabb4163e8f7af5855345e68c058df0", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3933", // aad
+ "847f111ac5ff71b674ef037eaa371fb5330551f87ddaaeeece909a"
+ "2327fd666bcd997eccdfe83da13e660bbdb9", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3934", // aad
+ "2c6e0122e80aeb4c7b7f341a10847412ab6422c5084cf0efb5de6b"
+ "2a12614f2ae2fe16957d731df1ba148a26f3", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3935", // aad
+ "c04068e525d338a00a2aae17006deee28d7ecfce707de44a6f14f9"
+ "adac37648503c7809ade9f5e9b1b7e5cb233", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3936", // aad
+ "99be17f99f03169ba1a938e3d3b3b7e491e4d41b73e204f9904e34"
+ "9ad1ac568cc7890f4825836f3f3f13f65e1d", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3937", // aad
+ "8baf5876715da7cf567e643bf3732886cf30762f379c9da0630c08"
+ "74b19b7b1e8cff573322cff2234f2163dbf5", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3938", // aad
+ "57c11d262b8e32e4165540ea427a94b03c3db615bacc6b283334d1"
+ "40ded59e6ce2a8168c4c4464b14196f7db99", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3939", // aad
+ "fd721c5032a0b13c0da3b88568449143fe2b0b2cdb714654577095"
+ "48d41b6fc641803acd283ca6c678e08060e2", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313030", // aad
+ "daa51799dbb8f1d47c79f8c78a958c5167f6cb778ef6e91072066f"
+ "e7a477b93f103528dd6bf67bba4edad52e28", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313031", // aad
+ "b4ff663a00b9aa5e052844cd7345fefef37f829c9053094a560e99"
+ "e7e28e05592a041ba3507da31390183c7484", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313032", // aad
+ "1201a48bc16db482584e8eb566ea3f5de8d919e1956b87de9eaab2"
+ "80f35cf1b016f15fe8a9df5253b7a33f51b0", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313033", // aad
+ "ba26ce741d114cdd41a169c10f8fb7925e87b4f7f50cb847ba9769"
+ "096df908e4c66faf4e5298aea8ffca72880c", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313034", // aad
+ "d7a407d8956c565d6bd777def0783df9ce378ff0cd80eee2c80242"
+ "627951de1641632d7b66bc32196eeb04edcc", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313035", // aad
+ "30e1b2199df7be043a2724cd0cc584cb3fc03dad2a0fa038dd3519"
+ "4176169fe68ffcb50dec8268b7aab9f3082f", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313036", // aad
+ "ba4d1875b9984df81ebe3846452d0193629f8173560ca3b1f349d6"
+ "447e29c27cb2ce61a1d50022cc91ccee3fe4", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313037", // aad
+ "a30530ec135d936b21c81bb82c3c211aaa56649e9a2d57b851ad40"
+ "2fd7f43bfb65ebc89dfdcad04a8dc1de44e6", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313038", // aad
+ "955ee469db027890026eedeed995db6662d1b1ba16f4fad3553289"
+ "462f46c4ffe4a7878814afefbad6551e8235", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313039", // aad
+ "0e3419a02a038e39e9faf281be3d206d6e18991fabc5155a8478e6"
+ "3b7c6389da8dbd8dece20c39a5497ebbb04c", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313130", // aad
+ "29f54e53603f0e9d31172b70ede26a1cd72d2290e33f5f7919c62b"
+ "4d7978a6a191b219c2021200b7bdbcdf91d4", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313131", // aad
+ "d3eb705bb367dd35e993ff6f753af2dd98c24288b6eb8eb17bc2f8"
+ "a3ee4b37caf089ddadea2dc742bd46d4928e", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313132", // aad
+ "d7ae9b7f17e5e3aa8cdd9a0be8823d28089306b4ca3bdd4ea3c13c"
+ "0187e6cfd0247eca17603f4fdbc38f93fb2e", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313133", // aad
+ "275ce6e7853c0a10840ccedbe4b70e391dcc29f96958f29906dbbb"
+ "3b96954365a31dde8893a31887cf5f1a184f", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313134", // aad
+ "7672c72d09939248f62a504a2d048e1161f7f9bd0b692ff314be56"
+ "2ffafe6fc4c43e2d5afa7b029be7dd60cd5d", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313135", // aad
+ "677c8e29156efbb31fa66bd121320d575079b0b79a76e1b0c538a1"
+ "e4532dfb845560cf517e5b931da7a7b0ca09", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313136", // aad
+ "e27612ca42338cdbbbb86af09d70cd675eef9da96f15f4ef2d33d7"
+ "7ebd3674e70665fe30702507f01f3c1177f5", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313137", // aad
+ "0fcd949b0f9a01cb11072d19aa5d6fc6820bcb1812ba15f35b4f8b"
+ "7052f774773e5426f5742ef856de2e47fce0", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313138", // aad
+ "c862f8e10d928b0ac781766529459c532d65b60d162d69f6b5b732"
+ "c054030e4694c243a42df701a187366c1d94", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313139", // aad
+ "e4a41b0f395c993242a13ec66d9fc51fc1a6e4ad2b4131f148b984"
+ "ca847b256677b2f9abd825f1629381d5f54a", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313230", // aad
+ "629246d7f63ae7e0998667f4bd6435ebb678cacd8245f89fca72dd"
+ "860122ac8db67ad430a5ea71f260bdf7cf68", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313231", // aad
+ "67e94376f1e110d27c09ed6907c268d817cefcd941afa7762af8c9"
+ "c2b4f59173fd394db3c3c7d69900ce1c69e0", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313232", // aad
+ "fa29e0a6af3c58bde5edb899ee0fae24b79108342f63ce5c91e19a"
+ "0ef86cc151d0ebc2771cbbabf9c696f0c897", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313233", // aad
+ "ce52eba11a52e9b0830a4e340b5883ee1cd45edef563275f338d97"
+ "585188ae18eb8383d7535dc804a8f48f80ac", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313234", // aad
+ "f10ca2c3dcb4dadb2bdf096bac0abfb3657869a946f4a59f3e10ae"
+ "98b2301c36f6d5a12837bd39947a3d056fc4", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313235", // aad
+ "f74ea6f3654b1772ba6e1b63f00af103243f3acb9aeef9f3ba8990"
+ "15ddb9e4229945d3bae479c4ce79bd362e06", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313236", // aad
+ "2522c0d1b9b6877b651a50f3e245a28bea34d9a67f14295bae6f4b"
+ "da1f882d4ed86daedabea6936d88a3a96e36", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313237", // aad
+ "cf0bc7b9545c0c30d54164e30b52a3bc0ef712adb7f2eb047014ab"
+ "4eab89c7a548c6be9fe6e7a6e50a310ce684", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313238", // aad
+ "7e746ca75784dd5ffacb65ad499b283979229b57a0b56c52495f0c"
+ "71fe50f00ce0b9696342e9a3bd8f7c946600", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313239", // aad
+ "b713971ce473f54d2c6b5e56e13161e08d5d67cdea6ccbb9999ebb"
+ "2648c062cd06e6f5c7534a88006c2bdf648b", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313330", // aad
+ "8bc7b4533a632dcf1527c7dc3a8d2074614e1b4cf400d68beee454"
+ "a127ae6787245c65b5b8b8fbd67331e28582", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313331", // aad
+ "bd8cf18188249181315962bdfc79b7c23b2a53574a797e665c090e"
+ "ac866c7655a9324e4667d9bcc31245f963db", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313332", // aad
+ "00abf3227a4a0785a2a800f96934bcf6a2190dfde2b89506c42efe"
+ "e005106441aacb5a6a3521ab6d7b5eb883b3", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313333", // aad
+ "5792d052ce7bb10d549b0ba95ea36c428ada3b1bf1d69a00f044ed"
+ "e1e1b1dc8cc80f1c31682f880e06b5e1d694", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313334", // aad
+ "85f179f055828216d1e3e51b25fdb51d18e4224d033463ea2faff0"
+ "da1cf7ef630a19b8db5e216d3d4f72bb4e95", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313335", // aad
+ "c0c6b195bcd308985dc4fede0725a6f206f65d76190dbd4fd378bd"
+ "5e861f83e5f026ae5a95cb6acb74b189714a", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313336", // aad
+ "6716c20f707275e4aa7a860361d7ef53c8c29394e585df7a4d1140"
+ "73b45a3358965449ec82f24ba0b8181a74d5", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313337", // aad
+ "4c57569ce1e3fe17ebf9d67391ea9a7b16e242adfb8aadd38027a6"
+ "ec3473715d1d32e44a4202b98fd7b66bd069", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313338", // aad
+ "523406c6b02903f7e9d611bdd6f01caf1a80b1ca4dbeea27e00989"
+ "6fa8b010f7ff6e08cf4a92133e433ca69ba0", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313339", // aad
+ "dcad2cb71a852750280dd65aaf64b561d7fd540d3f295951c1be86"
+ "a7d0cf6023e1c474d28b977b2997a31fea81", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313430", // aad
+ "8102fae2e47e551f62c4e4dec48db7e87715fa9f3444f360194cd4"
+ "8dbf50a2bd97c50063753784d3e18fc48d13", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313431", // aad
+ "69cccfbba3d250096ff3ea070c781611adc9a95c47f594f1084dd5"
+ "d1f1e380353857b4ca2fb472ecaa2e45de73", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313432", // aad
+ "69b440d60a9740fef17bf6090dc520e6188c2c49f957dc7469df69"
+ "9b21ceec9b1e676de627f434a82271ca93c5", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313433", // aad
+ "003fbb213823d0d7fabefc29cde4b94e049ab7bb6d51fe825f9a57"
+ "99f086164fca51561d5c55b41c212d34c2cf", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313434", // aad
+ "19c5633084cac118de5ac3a8a43c2ddadfee903bebcc7b6185096c"
+ "86e3664f52e487b5a0fc5f8b698ec11fc64f", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313435", // aad
+ "882bfcda0360e88a300906d880356d5d7fe35727758aad0040e223"
+ "d13565ed3a4b50fb99b74be7ba4f2d8ad585", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313436", // aad
+ "6cbb6c19825f6a78abe8974f57706428ca6dcf95695dd02bc441b1"
+ "98e2d16770dcdad34da86e1a5af2977680cc", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313437", // aad
+ "e5361f02e13b9fd3c2c5febe05cbd0def3a49c55c355a5e2764402"
+ "8f674c7b0ed98352768b3255950ade25e295", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313438", // aad
+ "acc7e24d90e1232c9f36729c3c0dd8659e1525df777d6cb222cfc8"
+ "cfa61ce4193361985059b01ca4741b35dbc7", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313439", // aad
+ "6595a7e9b4198502924c61ace6d277263a5ba997ed10e07bdaff17"
+ "eadfb53641c56e4e063da093800f58add8de", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313530", // aad
+ "d68617c45b886f518236265387673b2ae421d5dd608a67526a2d3c"
+ "87c37804ff2a2a62f3265cc51866a0cb95a3", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313531", // aad
+ "949d202d4979a554a5e5e578157ea7f585212c61f5d2c790bba928"
+ "7d552fa3827adde530ceb2f1a5172fa01588", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313532", // aad
+ "34fa65ed40e7324b6b82b9171830bd8263e50ab6bb99cbe4cc184c"
+ "ed39575c2408ed357c047c8290026750a873", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313533", // aad
+ "9c0a45bca81f93e76a589a9f974b831a0dbce0edda1f9042833ca1"
+ "0e84dd5f2351b099802030b53ef0655c58d4", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313534", // aad
+ "ab01795a4d52a6cac7bca2ba4fa945630b5adc46b5c40611bee311"
+ "59a02622236eae0b02178790941ad63b58cb", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313535", // aad
+ "9176a77482081656224daa28c961ec35976fe062e02f097f549f44"
+ "7b3b5f73c9f4b735d1b4fbfa76c969e9a42d", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313536", // aad
+ "3ac8dfad224d0df0869b1f3e844325514e31d43c12b65caf210f5d"
+ "9a5cfb6e8feb2f3839a2ab074be92caba5bb", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313537", // aad
+ "211b4d59f6050b0a0e1fb5280fce73318963c890b056719f1f5ece"
+ "428d8b1a51fdca0b233d83d1c10cb2516d58", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313538", // aad
+ "da74be0f39e179109b9b8686347d94fd8d7a0dd8b6196a050af372"
+ "b970e33067c22c29af8bc5e388d13e261bac", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313539", // aad
+ "f7721ec56029ab0f566b0ac39b0355b313366ec200629031948588"
+ "3b786e28a4e2db1e08c6a2532fedd5887fa8", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313630", // aad
+ "f3747a7ca83853cce328a82a711bf46ca7b3f8c77c9bdbd558a09e"
+ "649fbced96aa0f80c8044684d6ba8e9aea33", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313631", // aad
+ "98b470c5c00073eceba706db766ac97810253fced343ed99dfbfb2"
+ "9208733689298d4d2e53275b0f36a840626a", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313632", // aad
+ "55cf5a96d27f1fbc4c0a3dda6fa3a15e5198b014a50ca069ce3a71"
+ "3839380fa59225492a6b63d34d3f9191e7b8", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313633", // aad
+ "55f048e1a3353acd207d248f6e12489ef4c36e5038fb90bdddce20"
+ "8b8137e7378b09eb1d50282a499c63cb6ce9", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313634", // aad
+ "f606c82388645fc106730099d7d3281865e580c843fa1957d0d528"
+ "c31b1bccfb1b97b0244ddef8106a22a3d04a", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313635", // aad
+ "7a0546e04826ea036bfad17a5504ff6c7dc1aa01f0e9c48b24f566"
+ "c38d299056da65e489cd54bc225721241f13", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313636", // aad
+ "2db2ab83f648f37c6ce28105d2bded8bc0f0d7f785ec7738c80036"
+ "a57a2715383970ae18fbea2a671c34e90541", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313637", // aad
+ "308765695a68dd605289688775091148b6347778f2729f50c07f93"
+ "9ee44b1904fa5081b1d42c17d53a73af1f6f", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313638", // aad
+ "51796873d0d153b57d72291970cd37d5de9df4b72d8ad1dfbac3ea"
+ "9ab6892f0d9e40c604917692a90f4e815847", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313639", // aad
+ "f5de541fe4d1eb8b8babb07b5708ed32c273de955bf6b98d8502eb"
+ "e671df5fa337ab3247d4c7a156154cf02be3", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313730", // aad
+ "9cdec6422124c32d162d8c40df54fef1feda766c6efe7be9ca3f2f"
+ "466b37d19fc92ef362aa7bc1cb7db33ea5c9", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313731", // aad
+ "1d58666b75cddd1e671044222d2ecaa626ca0c53517af470274510"
+ "d398099b8644193fb01c8684982d1601b50c", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313732", // aad
+ "affb85e3d8897788ea05d4e413036ec551b120af04232176d91e8f"
+ "dcbf71db4455d108b55ce28075baddf5e63f", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313733", // aad
+ "cd4acf379de011dc2c0f4f141e871992344bfb0702816fb1ce6454"
+ "ca54df96ce47ba03360595fbf6021d193b00", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313734", // aad
+ "b2f1878432524f0b5148a62979b2acb694353498a0ba7c33c6049f"
+ "e6391f599d10a150f51656676967f2efea6a", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313735", // aad
+ "ed96872c1ee580d0748135897b2f49b668e2acf0f360f3ca273ec3"
+ "145575a04345e9022937f525886da326de57", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313736", // aad
+ "525da2a99649be88e00410d9a6363c2d8bb0ec16ee306015225a96"
+ "f16b383e65c32abaf21a5350bd2ddef7b4fc", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313737", // aad
+ "5545fcf104f1e5fe1a4a698d7165a7ad4ee87e45755da831fdb342"
+ "43c629ef59b3137ce57407d0d807a6411fa5", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313738", // aad
+ "70754d28fc937f8f81a1088b6e10630cb69e65173f39025a10ca1a"
+ "ffb21b45ca064b7b62c75d07a971413c4256", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313739", // aad
+ "3b1a77d22d7ecb53055e3ad0c061cba8407fc918ddc44d604e1456"
+ "dd6561ce2cf57780d8e563392d5c9f65032d", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313830", // aad
+ "493b0fc0d026ddafc2b34ae4985e92df03ce00323e4391df966cc8"
+ "0686f6f5957a992953ba99343c8cce4a07b1", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313831", // aad
+ "58109fde964c040132c50c8e405eebee37ab84af54c8dbf58937f8"
+ "da959d8e27dc6588d8501a7e65c2c8d9190e", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313832", // aad
+ "bdf29784985612d4f61854f975a568d93a5fa436f14bdd9e2a8424"
+ "2edbd2afaa39e1216a520634cb8eff255f93", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313833", // aad
+ "2795f5032ecdd49caf620a9e01d0f2ceb9b21d631cdc9de99acc25"
+ "59589b1673722df92af2de5d76c64bb7077b", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313834", // aad
+ "f79a529bc2a976b19f9016a5ec2524a4ee1719ddb667dd28b126aa"
+ "bcaf9040ebc009f0b71f7b9abe7d9b0a0edd", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313835", // aad
+ "6923dd196554259e350420f4eed9e25c08d64e0d5aee13e2cc99d1"
+ "d5a2b9c6d6954060d7af2d48747a609e9a8b", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313836", // aad
+ "b33849d9e0a2b0403b638a8ef951fd921322061b7432b9e32944a2"
+ "36d917a32342b9982799df583a3010b306e9", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313837", // aad
+ "7054473cfd2b4fde0071abcf873891d048078a954d658ecab7aea8"
+ "c3e8d6790d4059ee6a6ef37f59dfef0dc98a", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313838", // aad
+ "4f48707d190f314c2c1e82068706248d1146989fa7e22a7151ef63"
+ "f487da2921b22a92bd54eeaef580cbbc6003", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313839", // aad
+ "7ce275dc2f092862bbcbebc4602153463c7c8a71fadd2f6a3dabf4"
+ "acb91764e7b6e211997bb3da8f99ae5e6731", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313930", // aad
+ "9766e9bc17658d83883431bd46c654d9fe48601f2e5e9f22317914"
+ "be08c8a7335b07ed3fa8768b55e678f59cea", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313931", // aad
+ "e8cffb539f25df69ed4ef571354d4ed20ad878dfa40b21534646d7"
+ "853f3f97413f12df648e065e0201af9b5763", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313932", // aad
+ "b95de85417bf3092def76da179b5261f49a8051f803faae58a43df"
+ "0d48dc96ad667f42d7dea9d3ef9f48608b8e", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313933", // aad
+ "036069864599832168787fb8ac1ab0d2a9fad6208e863321201e08"
+ "5c126911b5c9cedd1704e05b751d0b1955d4", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313934", // aad
+ "d77debf07671791c3c875ceccf34d270f226300d563f813e43c86e"
+ "6b4b1e6c118a2efc1cdf5686bf72530cbe5e", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313935", // aad
+ "40a049b3b171386dee976fcf940fd4e68edf1a2f1d93198dc108c3"
+ "e20b1409c40d76ffe4e901bba421508425fc", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313936", // aad
+ "ac7f03d5f8f87dd4fb413c7df35b67b9185c2d60052d0a68563d0e"
+ "480a8bd60fb88a0b5f54b5a7bfe9eab634d1", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313937", // aad
+ "d6cd1923e15547571a341cc9ad804172eb2cfe1d638dea81223429"
+ "d9d6320675d83ff52300f5ffa9fff0914825", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313938", // aad
+ "384e8a06606fe168a48ddf2ef1a5c3ae4debd335758d268c4426a7"
+ "eed68d4e91ac4ea557304240d2adadecbe42", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313939", // aad
+ "5a29cdeba8dd93c543a28d53309e2944393e5e505df303c35a12cd"
+ "240422b167fb299a8661f0297be18d8972d0", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323030", // aad
+ "c35f2364244410d04e25493f2545a7cc54a0f1f0505dddcebb7572"
+ "75ac874a35bfeac2cfea5b722a2aeb842047", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323031", // aad
+ "94b9df34d2bda51953c19e82a14e9db8f1f25fc389096b3924c302"
+ "96c693701166f2f6566d9f114e3566a98094", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323032", // aad
+ "30fc32dca816a8a43c346a670043275dc2346cd8f123aafc36b145"
+ "52fef443cc80a59439f34aeea125f317aa7a", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323033", // aad
+ "1be62598bbe1669f6e05c2b5e1b8651194d99d475f1aefb79682a1"
+ "fc73c8243e65445f06b826ca448b5303043d", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323034", // aad
+ "bce5f65a5f8e9227674897e30b1fba82fce2d0bba1d26c9386b1b1"
+ "e6ed779a09c9887f27737d612194601f9b44", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323035", // aad
+ "f684d0170928061463eda81693ab441bc6c7c07d942c68c5cc0e60"
+ "2cbc77219e4197f94ad081f478186aab5824", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323036", // aad
+ "d77a786775f272ab8670be13025920d363719d42466f20d58619ba"
+ "ecc9782e03f065e9883587060b7d50419c9b", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323037", // aad
+ "e649becb19c9058bcb548e0051711991192902354ad4409d27db0f"
+ "28dd8b9bee968ab38adb128d6cff6d9015b9", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323038", // aad
+ "f85520fbdd82d69ca864399f5aba878af039fe3df7d27e805c7611"
+ "0da2a740220d13e99ed011e2d1de7e4f9826", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323039", // aad
+ "2830300b0785892393683a4826725650506ed47a8e7637a919643c"
+ "422f9f1a680d1876fe8b40cd1115093c4a21", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323130", // aad
+ "0e84349dc6b52020c80545b6444d10e288bc8eeeaab8ec72f17df6"
+ "ecc0c1f0efdb8e3a35060e0314bda40c396c", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323131", // aad
+ "ac351809fc577dfbe5b15eb63f7b0e2bff983afcaa33f3222e09a2"
+ "136540c522f14734762173979466f4f85bee", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323132", // aad
+ "8a5434cc49826c5ec21302b5d0e2814bc2a3cc88bf937f1e00ffcd"
+ "8d40e19066f9cc50f063469dfe8eb369ad11", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323133", // aad
+ "e8d69996b13b2f9ada714d965ca794253a146ac012e239fe0949e3"
+ "2dc9dd9990014832fac404be25dad07cf46d", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323134", // aad
+ "05d5eaa2b7cd0972461022a954843b6ace9278d828c1fb1920f417"
+ "b2b5de9e21793c7ea0ffdb348fe69d1bcb48", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323135", // aad
+ "56d6fb63765380dc354c2b1524e15b1977e5fb0f6b266cd5224f6f"
+ "18c5f4b58245c79f19e725e9d4d812b35d79", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323136", // aad
+ "48d17af136d84ac2519d5d46801584e6c6d1c2f9a5a9584b17b10c"
+ "9265301cd90505a85a539035ea3ad3eda69e", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323137", // aad
+ "36e5ddbcb48a47c19000bf809ea204833c87f87ad3f7eea79f93ba"
+ "8c48b78adfecd9175cc621a1f9295c85cd5c", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323138", // aad
+ "9dfbb7c4b70a793b76b6505c5334045cb503ee456bc3b63e06cd11"
+ "9cdc44f409bc2935aff135586a5a33e5d46c", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323139", // aad
+ "46f06b510435982e58613515fea0ccdc8834235d66180a49199aef"
+ "d9aa055141621eb193ba3ae25a5d21371ad8", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323230", // aad
+ "b5a9c94d729c4033e35beebc8a63faf49bf447279965fbffd04ba0"
+ "a01b967fb1db6ff85d5bf85a8e30dfb30c20", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323231", // aad
+ "6fef1799124bcb8893c814d7ead9fea96beaa47cc10c29e551b28c"
+ "96959c69f49c5ab073a0f30d71b02e489141", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323232", // aad
+ "71b79bed74108debbb630c4ff5c3783ed08b67afb574d35e0fc733"
+ "f4dddf1bbbe3a2c55daa5fc2d09b4f8a2803", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323233", // aad
+ "86edcfded4c39babb25296dc5b3da17caf87a8fef78b0329ba6d9f"
+ "2c6b4295c1e01d6e5904b1b1d86eaa10db1e", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323234", // aad
+ "e5822662ab780f247bfa235322ca0f51201ce909006e49e7f1299c"
+ "0a69c9dfc7a5097ec0622adb3abf76ebcac7", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323235", // aad
+ "d543db0d810f473290af3cbe1eac73625d577da046b033f7d90044"
+ "c16650e202c395f1c1e0729e2a465ffc04ea", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323236", // aad
+ "76b551cb95942fbe88cd9ed9256e8412ea4e30e2de84945672f3de"
+ "f1190c75056554e364d7eccb11e6d97e274a", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323237", // aad
+ "2e66cfc3a2cfa8dd6dcc6fb308444ae655a79564735b5c0298b97d"
+ "210f2a7f9758ac0de560bf4f83974e7d5ecc", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323238", // aad
+ "3d707efa5d465968e1dedf66b540bf2a01f53f820164dc0ee9a287"
+ "b93259853b5a2fd3e2b9b7bd6d677b58b51e", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323239", // aad
+ "4baec3c1c9df80f8de450f3a49e694619e49ce9470b5dec6f7ecbd"
+ "fa7c3d38de79ec7bfcdc7d66ba5f25fe753a", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323330", // aad
+ "efbcd6cf72c604fa5e2497cf23772abcaef4998e7622402a0ca73f"
+ "008755eeaa20299f7dae7f56fef1308e1d63", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323331", // aad
+ "cdbb0c1a1a19856a400e3882c6ff4945edbf7fd22152d5cd147122"
+ "87a8ccb2871f05365fad04272c1905233d19", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323332", // aad
+ "17b5f81908e7a09326b2d29b637213d92edd72d10d26c61bd927a6"
+ "360f7df6781f6776bc137cf659a9969e825b", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323333", // aad
+ "1b76877d6be42d71efc59777c0fdc18f29b562640ceed86015c7e6"
+ "420077d7840d61e00cccbedb85e658520a23", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323334", // aad
+ "9a1026a89f2746b22528fb09a910bf0eba824c741fff5ddfbbe06f"
+ "13b297ad580b695e68411b9f371a4c6eeb0f", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323335", // aad
+ "c36565eb988d2ab8bdd937483b4fa800b8e33a7da81011e67ae5f3"
+ "b1b0277fe8f5332547ab930069e906e69df6", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323336", // aad
+ "f638c8292cf8a67c1792c2d37ae6fd54d2950fd9d92cd2eb1461a0"
+ "7c78b838ba25d69c37bde442545370b40e56", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323337", // aad
+ "49f2fac9f7b98c0b9a54be5a284f5eb31f1893c071d2f0c2d2deeb"
+ "a79b967d8f62ada6b9aaf3bd250593035f7c", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323338", // aad
+ "edc45189aa6acf4ccf7f85e16f25ab3bd7eaf2ad5a5230b81b730d"
+ "bbf450a27b72570447c0113cbeb7937c4e1a", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323339", // aad
+ "e3b9defeb10de51ad8220307d8a991c00a2e7b0d81c27f322af8d9"
+ "2bd8a3d14fdf2b6e884ad6e7562216ba34a2", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323430", // aad
+ "d781b38284824bfe00722a251b4ac4148cef8104b4a442d859ab62"
+ "9579230c6fa917218d175fad0aefb4024d9b", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323431", // aad
+ "0837300644a33d81c6aee0f1fe1462a002209f191a949b6434e7c2"
+ "d33796c06c43fed5d538fa12ec03074a9406", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323432", // aad
+ "1c0287604c78f7a2b1fd694df4ef80375185aedd57d79e6108c274"
+ "7d5ba76426de520f30c733cc4fdd29375a64", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323433", // aad
+ "c155c2daf9b169c77af98e63c0fc9e710d12e2e25b241a0aadc3a1"
+ "64ae6b656b1c8280ce43c4e875b12583f478", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323434", // aad
+ "f90984f7bed7e8287a6358b4cbdda6fff756b278897a5866d16b5a"
+ "411ee3a8990a666e265860c5bee2ce3e30e1", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323435", // aad
+ "3cd68555cb154f2606e467ccca3eb1e1f4aacd9e0a1fe39a956bf7"
+ "a45ae52d54932fc1c5eda1f292f99c676f13", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323436", // aad
+ "f790c0b4b4ff32a68b9194841673d7c945ea58155c391e192c557f"
+ "9702783e10dafc5f895ae5da34460a3a87f4", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323437", // aad
+ "08234b7682679ea277e5fb53ac41c5b4544f2bbb643af2656a1fc9"
+ "608853d22d8084793dad37b82d7e1a48abb3", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323438", // aad
+ "5ee52f6946cd4212ac97bdb9dbe01492c7af01ce561551cddfc1b6"
+ "38d11074473897555afd5bb729a46add8d2a", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323439", // aad
+ "e654899f3e44eeb0bbcfd73e85629fa82e22e73c8f7242f6850dae"
+ "234ed69d02d40025ba4d94151cf3131f0076", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323530", // aad
+ "140d213907a92753ac73932c9cb82867143745ed4bbe1a5f33a640"
+ "3052206d5214ee6ee4d6b577ecd174be7800", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323531", // aad
+ "d6dc439ed626f567595db353b65ff77025755725305279e4b79f89"
+ "4c030d1d3d34f6d3f86712da36d125752e6d", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323532", // aad
+ "6fec06a28b817cb65bbfa5d68aa45bd2b34e8a9d5278efbe1c485b"
+ "fa3676d664a331381391028a028452baf2a7", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323533", // aad
+ "32a57d0a1aac5584f3f523e455f4e7c54b5379c524de5d0e083e98"
+ "678cd188047500babab95888bc1c4e9de04a", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323534", // aad
+ "b358a0bb2ebe2224931445f81a66d1df0edf5ff2e256fb55385712"
+ "10e8ab2a4cb9254ea94159006cf677e90550", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323535", // aad
+ "11e42eea033e9c9ea4b94a6b0c4f210bab002b101e4b06a4544477"
+ "cb8aad98ac74132d521454f5676456203527", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323536", // aad
+ "267fce55d3263f581ea42a2cf528b0d67bf6d1dc9220718fb5ed19"
+ "f1a38e0c5bdaf6dde2805a915ec039d44006", // ct
+ },
+ },
+ {
+ // Exports
+ {
+ "", // context
+ 32, // len
+ "03983379c266a6b09287be5743290ad19b8773fa87693091cd72a6"
+ "aa215c2e93", // exported
+ },
+ {
+ "00", // context
+ 32, // len
+ "5110008bcefc255f1d0feef8fcbcbe0665c42a30355d7bf430fb3e"
+ "e02a5507b8", // exported
+ },
+ {
+ "54657374436f6e74657874", // context
+ 32, // len
+ "b6da48879ce5a1e1cbe3338800b061a46d1d87ef526a6fa44a1598"
+ "36f3f148e2", // exported
+ },
+ },
+ },
+ {
+ 6,
+ static_cast(0),
+ static_cast(32),
+ static_cast(3),
+ static_cast(1),
+ "4f6465206f6e2061204772656369616e2055726e", // info
+ "3067020100301406072a8648ce3d020106092b06010401da470f01044c304a"
+ "020101042015fa8d44bec5c59192cb9df3abd9240d2494c864953d8db8465b"
+ "6d58abeb5ac2a123032100ddea6a6ee697b5ca6f0354fa8d7c1410dc74cbd4"
+ "9b26d80fa9bfff8a274b3872",
+ "3067020100301406072a8648ce3d020106092b06010401da470f01044c304a"
+ "020101042008d639c8779d7c27f5fc942b6e0325527349f412649ad2ba3042"
+ "67e2911a713da123032100bc91b4c9e6243eeda359b30e0e216894cfb588ac"
+ "16d07c45a0f58208f7678f7c",
+ "", // psk
+ "", // psk_id
+ "ddea6a6ee697b5ca6f0354fa8d7c1410dc74cbd49b26d80fa9bfff8a274b38"
+ "72", // enc
+ "7eb78183c95522778320a704f670f425", // key
+ "f28f1595dd021db843d5437e", // nonce
+ {
+ // Encryptions
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d30", // aad
+ "5554d7be09317703ecf2bb2879c6fa8ef6050c47fff8c1435ac9cc"
+ "382425e79c5fb56a7eecc324b96ed01e1219", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d31", // aad
+ "f856b6038e0f5e57711636e85a52cacdca51194b156f682a9b5736"
+ "9fd8e8ac9ed1c4860492ec01f756ec41fd9b", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d32", // aad
+ "f45f1e6ab50228f600fd59f27f7278aad38c9c0582438d0efd05d8"
+ "fce15103436d0f263943aaee189228ac285e", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d33", // aad
+ "d62955630d201d44b5ef6f1bc571ba94c1ee12e0c0b91aba9b3c62"
+ "9cf3924164d943c0fec778d55d497e1045de", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d34", // aad
+ "8094f394b8f08a446e7284b1ac389a50233ca274e6518acf9a1158"
+ "d19011ef5fe0f3b6c4f79a051002ae7d5fae", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d35", // aad
+ "6611082e8bc4881a4d2be309fd828ac48c3b1a6f416eb4dffbf0e2"
+ "f7a06b76dc6c3066a2e622db924bea42b0af", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d36", // aad
+ "26890a33798621c896abce418e27ccca6bbcde6f941e84b80b5d52"
+ "5d05f633b763d53ede6c5481289c52a86ef9", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d37", // aad
+ "6c1fc1ffec38c47902dfc08365e212a0c9e01f3cdc36ef950674e5"
+ "37b889da6c9ac39c1d67f62ea2598845d23c", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d38", // aad
+ "8c3648fdce001df2e0440044920dec321145be6630643892b971ba"
+ "1854ad6b2671d74be3307e9033b73ddf119d", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d39", // aad
+ "09097a76741bd8fc4dcee4b4575213a98061344c1f9d40e011e007"
+ "6fa85ad8e1b7947e12f051e50dd0987ca78c", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3130", // aad
+ "336591a47610a280c3c1a96e7de1b602a4e251c586a1a2f445704e"
+ "519c839693280bc1391a81b744232d5da76b", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3131", // aad
+ "d00c1b96825a95db7bd1339d3030c0723b75ea631e6d0741cbe2f0"
+ "2f521b263ea277321a38941ac0f9fa8edc55", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3132", // aad
+ "2ff5fc8662a5b6b23dfefa90a7769cb5971f20cfecca2e3098a4ef"
+ "160b313b6fe5193278dc710e48bc1c7cf39e", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3133", // aad
+ "2c06b04b109e4b08136aeba0c60e51d3aba3d79d6f252784830f8b"
+ "2e7d16abdf07299f7b8096fe1a9198679c15", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3134", // aad
+ "0c31a9f85cd34815627461fc7536cf51cb5e53eac05b58210214d3"
+ "c7f5d3f7bd9c7ba8a10f1e3f1f8a7c90e1c2", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3135", // aad
+ "c46814866bc612bef3edd7f3974e95958e2a7da89802d11e30367e"
+ "200fbdf150d8f15394f9cb9769e2961a45f7", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3136", // aad
+ "a6cd61ecfe99a76655cb97b024691b712fa0946e936bab4989e81d"
+ "70ed6f0d339a52c038561a0f0e9859a8945a", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3137", // aad
+ "02ce86b7ddc3aab0dda8bc966705a9f9add1b26170df82d7c42175"
+ "0dc1d8738cc560f0ab24ec9bcbcd68c3c9c9", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3138", // aad
+ "ebfe7f907bcaef4aedafefe8c03861213653f5063c6f8d96b1a270"
+ "f08ca8b815e3ad8ec4b04416261a053b667c", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3139", // aad
+ "5a2d942ad53fde7a5bbf5d76c51197ff210f7357ecbb5532e3471d"
+ "0f7ab954300920cd78af3d1e1cdf1fbcd51b", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3230", // aad
+ "a9763d8b10e25dbe542e9b4c295e1bef6527373f174923b8770188"
+ "261c552d98c8655854594c18ef424f91d8b1", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3231", // aad
+ "5d0ff88b5500f073e0e590cc5eec958436c06dd25d7985afcfc66e"
+ "2a8067c851e30e5a775637bf35c1d1f3db72", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3232", // aad
+ "34d841a4e8f3de57b0c719258b8f7fddce78fe74597f77d9e251f4"
+ "63110b3c24845f9a11a7a9bb43537a952d74", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3233", // aad
+ "5787768e5e54f84ce9b828389dcdac8c17874fbaf93152ebfdec90"
+ "18e4b2935743604e2b76ba18f5c97f2f0db5", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3234", // aad
+ "7ae1a711d4ad3ba4e3f3a15a71d4dcdfb88e6651e2294c13e4e60b"
+ "c732fc5a90a705beedc511a6ea87b352c95b", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3235", // aad
+ "e9a17d7027f0913c4eaab3b69c4b391188a200cb47fa7ee504e04b"
+ "a6f56d9b3dc08ece0ee40fc814317535f49e", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3236", // aad
+ "e4ffb052809004ef5182eaba6e04dced7031bbea923dda26461902"
+ "778964f6ad55938eefe575690f4f0d391cb0", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3237", // aad
+ "00004471a71d60ca5d793592825c6fedda583a2302d5039b7568ec"
+ "98ffc99ee751b666a30edca030cff5ebf6d0", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3238", // aad
+ "ef84677286fbdf664561497697394a517ac216a30324f76a51392b"
+ "cd5e692a68e6b7361491b4c03ca5d06d17c4", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3239", // aad
+ "4a29fc85c6d8e05c31c7279e3b65b4a117d45a9a6089ffeb21c75b"
+ "8fbbcdf72ee83bc158a7d36275593203f0ac", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3330", // aad
+ "cb2a5ae00b588f9573dab6a6c0ee3418cd7f485ba1a8747e162e2a"
+ "ac6df8936b900e78fcedb347e900f1a075cd", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3331", // aad
+ "4cec3ce1ef454fc35697cf2fe6883ff084150fbaa4fc41d27cc4e5"
+ "0d367ecdab35dbd408f97c413975e894cfe9", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3332", // aad
+ "9ce90f01d099382e9995e5561cf3914bf61b90edf38eac8445900f"
+ "c6c711809d1530ce1fe22c10411f427c122a", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3333", // aad
+ "23e2a8194a0d2924bb97b21f76fc913167ef3c6534541886c21b38"
+ "b4c5809341144cf6252688d540168d44b891", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3334", // aad
+ "9584a3c5f9711fe1026cbac3ef482649b6bdecdf720142f5bac30c"
+ "e9396ec1d7211c1295e3b7908580b8563e6c", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3335", // aad
+ "e9f16900ee34142c3457e3cb429c0d5d80ebc8b62d9fa6bcdc8271"
+ "022d920d004e0dd4770f66681bdfe4b6461a", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3336", // aad
+ "52aef8fc2b8771faa4bb79e87c614ace5e07ff67ae71f5983dd548"
+ "d5b56a9004d72283a3ecd54f6ae1b37beb11", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3337", // aad
+ "35a112112cfee70867e9ef61881ca15a400178edb3af5858a026da"
+ "1d3df10bc015b38b780aec28c7933219f0c2", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3338", // aad
+ "d111738391b680fd7c2333f4d6865481d853203168c2a777649190"
+ "1345825ac8d4a68a602f885f031efbf92165", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3339", // aad
+ "5438f5ff71d218a8ee2b730b242ea2d97d932a29116848a0d60c9e"
+ "29277e93ae441066794f562a7fd93bf71139", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3430", // aad
+ "59d5272d9e958db9c28dc454a764be255d10d2e46c702726707d53"
+ "646ef1fa242dba54ee7c17eda81a3a64b2c7", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3431", // aad
+ "24e89927c6166158733aa87f6990d2add4bf7467d7cac0c44462b2"
+ "5289915c1a93446ae073fdd69032e256be8c", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3432", // aad
+ "536d5ee43cf9616b08ea885218ed51513c5e411337750f8b456e7e"
+ "76bd1b60162a1b91d8b091423bac7415429c", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3433", // aad
+ "e8bfe1c386bbd568bdaf9a93fd04a0bd68183984b1ae383d9a1014"
+ "bd8ef13cbb92fc2fcf452f9474db4bb50d8d", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3434", // aad
+ "2bfbb426648c1ed63ecf0b5f9be42b7ad134022e9fefe32ebdebf6"
+ "fb17f3225eabe486a19063b63cb43a19056c", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3435", // aad
+ "09591ebc7acecff90947116c7c4b5682e9f02676e0e7f5421e5c0a"
+ "e8b172ffc28f7f76a59f030b677b9cd383e7", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3436", // aad
+ "8467270b38bf93f087d57d83777e76ee117469676aec7455386887"
+ "c962bc769a36ebd74ec76c642bda4aa76c70", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3437", // aad
+ "9a5d20cb196cecfade98806589c8601442969515001eb25bb0b95e"
+ "fb062195247440d2479bc9043947c8dbcfd7", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3438", // aad
+ "c948dc2104dc5294108f59333be059ffff56962c74976f1bc4155b"
+ "0720dd925850f25fd4a3df1e14a0e6ebfe4d", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3439", // aad
+ "8efe2b85cdf848df31fdc24ce3f839746858b69bb1367fd018c8ae"
+ "ec6a1859ce297d34cd0ac2f083579e68da64", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3530", // aad
+ "2ee8387c5347e863adf920639c8b719d08ad48f00534cad8167eb7"
+ "c924671e95add991c5cae52ebe1e849590cb", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3531", // aad
+ "6848289f01310b26e1db9ab2a8bff409ccc689e812b0441f0e1df0"
+ "1842f43b51f1b95b22bd3736575f301f28c8", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3532", // aad
+ "af45493fa737608c8716ac40c6a132a98efb517808a5f88659796e"
+ "96a5f5994bc56a298c30ed6d318821c7de23", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3533", // aad
+ "0c01e2a2947c6164cf9691631dd1c9a338d3b6945841ee22eb42b7"
+ "2861ee18f706fd174b336dbbbf4571ebdb82", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3534", // aad
+ "116aae15ff44e6643d3f0c0ccfed3b4bfd3c49c4be1de0dd1160fd"
+ "638a629db3b417ce4d7612d427a0fad3407e", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3535", // aad
+ "9c499e4a7c13783eb1e59c7bf13a4017da3f73591d475196c872c1"
+ "ba02168c2432fa5bad3103ce736096f8d8e3", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3536", // aad
+ "120733f6dc9e530ab4692fcd685df87c39654d0dab7dcd8864d0e6"
+ "958c1d588d8fb15b97a6af7b64516b525330", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3537", // aad
+ "5ff0b3f886b63e540667232aafc3d69499832e85ddc136c72decd3"
+ "7f441abd184e681afd0085febe7dfc41a497", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3538", // aad
+ "b3a583e16db0be1428d1a5deaa83ead617d8011a40c475b136e22c"
+ "4929416cf5a0dd61ad643c533eaec05f2534", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3539", // aad
+ "e4f51cf948b0adfc1d57684333d6bf81546f1dc573444a38ee18c5"
+ "049c567b7fc3a392a3c9867c06576da3adc9", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3630", // aad
+ "0ff8a71d935a96469161cbf8f50349d79b88efee39890f09426f0a"
+ "a9b72f79bc24a38d66d1dfddbd0557ebc998", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3631", // aad
+ "f1bb4200fe49d5831f750fbcb76dc494a464265c0bd781f950c286"
+ "bd3ec1330baf5adffc406272323892969fe8", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3632", // aad
+ "71e348ef3b65d88a1cccaadfe6d976967c60d941557ffea3d190f6"
+ "91ef365270df07a0f78916d8c8d4e17fc5e7", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3633", // aad
+ "cd3a45865f7c97c29bae2d7903dd52ff1b0474029944a46f345b90"
+ "63772f30c558725c241b14baf079cb6d024d", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3634", // aad
+ "1979db976fe00be12ad5e220e158637d78049d057df9bfbdac3112"
+ "d51e689136eae3f9a2cfbcec95026183da76", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3635", // aad
+ "850e39945a643878026e52ef719f67a45c79899cf15c62db7e4fd4"
+ "7ef2cd1cf021c816b9caef10e3624e2bd76a", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3636", // aad
+ "7d76d0f7243c4af3aa96fe36f41a2d8b0067a8a54b2dff126db6e7"
+ "84e5f284e7cb95123f83a05d6c60289bb362", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3637", // aad
+ "e6bc8230843bd00f843c4dedb913efc006f1de67ddb17d8bdb2d27"
+ "304252c97c273d4b200876e3bddb8a30c362", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3638", // aad
+ "e0bf777bb8e8ba7a450f7a4d2cc34abe68e5f5931d6a9fdb5eec3e"
+ "1e7838e3ef8fca5408d236a80161b10542f4", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3639", // aad
+ "c666f17a43ce5fb2d9cd5ecad109a4c1169c5a1676d5867f46a048"
+ "cefaeeeb7a86bff0d091cfd199b8c14461d0", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3730", // aad
+ "da62498ef5784a4015885f5dd472b65c57be68fb165deaa1b688e6"
+ "a3e8414c8e759c7f2fc8d6f92a99f97e8455", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3731", // aad
+ "03e03919cf9831e91408f3148c3df24a8e7d08d1de419190c1313b"
+ "e59f3401231761d73827d464cf532e673906", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3732", // aad
+ "cd70d9c0a076bd32cbf6e569f1b49a6c0c0bfc9d25714e3c19c4d9"
+ "3cff2b58be1c1a3350432621377e88bb163a", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3733", // aad
+ "3e7e7b943a4cd6501aba6740b0dcdd49d19fcb31eccc2439a7b123"
+ "6df1ea331b23dadc3664b5eef12b03c26871", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3734", // aad
+ "5460d6abb980807a6ee0dbf547021023f866c5a71eccdf3696793b"
+ "f72750d6ae17ed8195bdf2764b6779e01029", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3735", // aad
+ "be47426dbc614d31b12bf02971f66fc188252714d43914ee8f69eb"
+ "28ecedeff0befd672c0d84e8473dcc958855", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3736", // aad
+ "33ed9938436333a227bd64a8968c2bcbf83eb196b065a8fe53e5e2"
+ "454c6fd3a638f68ea1f866a47625f1496970", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3737", // aad
+ "f047c21bbc397a7d8060db0e4c530d5647afeaaee803760c71f735"
+ "5bf34015a1171fbaae372aca10b78cf5e500", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3738", // aad
+ "5082a3959a2bcca7d0e17285de7261dddc24131e43ff8195683c9c"
+ "2e8b1a1b521cc7e586e90f26493831d0f35d", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3739", // aad
+ "6f003f0466631807d4c3e351d2b93f52989dc42c02e51d0390e514"
+ "579f120c7fdda833d8fcba386437c7cdadd0", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3830", // aad
+ "f3335c89d6d0fc5806dda9c8e6e29dd278bc7e5c96cb481ab0a294"
+ "f0c351c72cd7772cc18215aca6f97eab35aa", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3831", // aad
+ "7a3dfd73d6ea875196e1c93ed1e7f088efc0f9785ca5f9e34c00aa"
+ "1e62b352d3bfdc16f86da6295ca6eb48b45d", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3832", // aad
+ "57e3feebf7f0eb2ae57a61f8a1c709bd1a78e9d16f62618cb09c88"
+ "4771dc1d01f9487a617f6e38fe175a2b6e13", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3833", // aad
+ "2945c608b06f6fd1ef913d0f8e3e97ace844b74aa79aec1df96153"
+ "24460bc379e915cd61ab46d3b64b1cb439c7", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3834", // aad
+ "570039db61876412e9ef525c72fb478ad699daa796fff4db70009e"
+ "e80992a7c9f05b0414db515aace9ed1ae4d6", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3835", // aad
+ "a49f6b378eb796699ff613efeb438cc3779c32be494923f8330e07"
+ "86fea67a3505035cf9c0a6939adbe7baefca", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3836", // aad
+ "5ccb27181f2a5853b5e195b481dab89582a4fb80450d20d77bf339"
+ "bf74ca20bd0f65d7bcad6cacdf1a01c00847", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3837", // aad
+ "1d59f960d2ef157f8c4a46ae4a0c621782270e80c2fbde05914d94"
+ "b62140affa4bc4a0018b9fe83b97a75c774e", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3838", // aad
+ "d4c8ccc3135a9c75e73b5e46295c8c696487f66d3ccd8001d810bd"
+ "bd8b50d333c2fa0bf893f82ea47e0fb51e45", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3839", // aad
+ "bc0f5d1a09dcd3eaaa5de3bf1188bd36fb13d72dd79acf01ac807e"
+ "e2478bfce3dec38fcde019faf9464c276ce5", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3930", // aad
+ "0121735a4c633c7226acec10c13ce302f0e1a0e37b9e91ef3bf24e"
+ "9938c952d7af370f8efe3f203dc724468fb5", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3931", // aad
+ "27a0264df0559bade7641db7023b45dd9df08ad9cec4c54defe572"
+ "559bee4cb0bf671eed01eab18572349138b4", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3932", // aad
+ "072cfcf0f38c7cab08d0df9d0a47eb24ae28826c3e33c70dae0699"
+ "dcf93e94e5b4137df28b9724194ceb6de077", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3933", // aad
+ "87c2e75fdb46ee3757bde7c6af24dcf0b6cd651d6ba3c898950989"
+ "95394ee41f4ab39266c59ff68f03dc39a7ed", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3934", // aad
+ "f45bfd1ce3d2aacc175dcc0018662e7699439001dfa1be562bdc5e"
+ "553269850d4bf679018a81c374872a93530e", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3935", // aad
+ "426cbc59e858a1291828cfcee738fca8d24fa649b0f0043d0b6ca6"
+ "13802a4ff2f74d4981e1bb2e2e14e3ccbd67", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3936", // aad
+ "d10753d667695ae73ffa9306a82f18cf6adb5506793d36688e44c1"
+ "aa5fcc2de2689911654182fea62d227bb524", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3937", // aad
+ "59ef3df893ae4afbc08ea2bc21ee57964a82d7304ef6ade4f609bf"
+ "14bc4257c8aaa453a26f6bd5e5900ad939d3", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3938", // aad
+ "8ec2f1a281fa2c0856de9644a2c87b9f3b12de3b85fd988158ea47"
+ "62637384ea9fe654c4ab32c4e1b79afc0d4c", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3939", // aad
+ "9fad30d5936538027fb39d856bb353ab02f575522407eda08c7bf3"
+ "51cf7e67fa2464ddcb78a48406b675ff5c36", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313030", // aad
+ "62a217ffb3ee39891ee3e659230150a4e332603c46980ba2454684"
+ "402dbbe46a424aefa5a4cb5779df40cee3ca", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313031", // aad
+ "6f40dfeebb56221548300c197e4f4d88587c2d219bee6463bf1929"
+ "9d4115cc104615ca4b8d13984429ad0fef98", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313032", // aad
+ "d0fabe00de026d071fb804ad64bb360511603904198b0e2ecb72a8"
+ "86dd265197ba0520fb61487b1177b5812aeb", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313033", // aad
+ "e2426d7421de2a6da887b475d9c1aa64a92c78bfdab9d369c92bfd"
+ "15049cf71abd794940af778dd5aed187fce5", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313034", // aad
+ "1d5ea8ce6b44b37e7defd939bf394e1e38f1451244960e530e7579"
+ "301b2c33b1d0d6663df0868076baf4ff6e25", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313035", // aad
+ "f6544710facd58c042b6fc0002d56af0877a243c4e5c1ba600821b"
+ "8adc9cda77902e37d09759bc69323fc7184b", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313036", // aad
+ "97523d754ad605c65e3d92f68fe1bb426e4ba087d1e3b84ee5a736"
+ "1b03f31c24600c2d32d2f2d1d6afaafb14a9", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313037", // aad
+ "29d0659d10b2319331e515b90ef9a880ea3c294730fdf7fabfbad9"
+ "27115e09025daf0fceded8c9087fcad1eac0", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313038", // aad
+ "39569bdf7635edc9f8d9b46f9320574e2d9d73097326bca6becc1b"
+ "f5354ecc8a67ad69c3d67fb773bfa6897435", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313039", // aad
+ "e45ed1fc7ac733c09ba23ece624672e1928da6db8848ebaa3bde36"
+ "51c0f54365f4569b871da8f4048b4d246486", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313130", // aad
+ "89608ddc87de90faf1a563874ee2d6b6f95896d050ccf7b40ef781"
+ "49604350f45d8e1f0f1adacf5da8b676c307", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313131", // aad
+ "6478a7fdf2a45a1aa3f3cd1008dfec0ee8a9a201e8e5250ed15039"
+ "9217644b359ea711239a2a5065240d5145c6", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313132", // aad
+ "4b7dce2f495410fe528a1437b1ef0dc8acbd1e8a8170d7cdf19f0b"
+ "e2fc2d649a66fc3b0424cba2618a6204f80f", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313133", // aad
+ "0fc1c83292b0d7961a3c8fa2d0e21db4f1a5e04ec3e01b6917b93d"
+ "3317e6e23bd010c938182606fa6e2ee0755e", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313134", // aad
+ "561470fb32cba3cf01c7aa51ce7178de65886b0355e719d008be5e"
+ "8eec1ba07508fc6c679dd38a76d18d93e693", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313135", // aad
+ "64801a743d041cd19f07e4bc1b4bbfa71d3fcd56b9527b58e75eaa"
+ "5c519a37f115520914fee65c35769267063f", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313136", // aad
+ "197d3e2acbe36f4fac35ea736a5103d6d713f4b0f068658001c9f2"
+ "4ae736e64d0013a67fe9c2f5924dd4c00806", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313137", // aad
+ "c508bf9f816295433489c011cbdc1cb39ef61914ae49bbae7e36ad"
+ "b31dd1430383fa46b0bef185519282976e87", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313138", // aad
+ "32e981ba108cea834a99e7107b6853c9e2adb75e2b9ab5dbfc76a2"
+ "25415535feb17d2a3c73c7b6fbfb5b0ee0f4", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313139", // aad
+ "a97b3b2452d61a77096c110f72f977ab91059673bc10e03df0750f"
+ "6a37c61a83f21cb172a113e188ec30a2e9c9", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313230", // aad
+ "2da31b404dc0f500d486f82dff4b33168aa8fa59985ea1954b1adf"
+ "eae0d73a57797313c339d782ad5f79c82ce2", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313231", // aad
+ "945517ead607cc82f5ccce9115a25248e207779b2d0aa8fc6982be"
+ "3d6642ad2de963319dade520539d3ee3f75d", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313232", // aad
+ "a12f5b280335f2e94425a145599f75812e1a91e7e1102d6326dc42"
+ "8ae1f272ec3a2dbf5d439ddb74b25ef072ed", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313233", // aad
+ "57ffd66e1dd46e08c88961718432fdb2485f8f6446aa765abe37ee"
+ "bd0f319a1b058cae5262a7b6f60fc7091f5f", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313234", // aad
+ "0ba134cb2a143dc4e06bf47adeaa1c50506ec3d2b70157707f0322"
+ "a20f5e1d19045921593f349aa49455c80dee", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313235", // aad
+ "7a96c6259f157052228137db41ac3bcb7b0058a4bf2f8d0d6bbf1d"
+ "8bd841768a3b27c1e0bff3d1f3252d39e05f", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313236", // aad
+ "7be1b77807224563c78515218631179cfb688587f1b09b75bf1e1e"
+ "8c5407c6daf5ad1f265801c4ef99ee3af410", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313237", // aad
+ "9853bde15192781a0ea74a660529daebc0f6d7522e9f7a197e6504"
+ "b074b94bbdf2dc0a5f958a8b21fe73667b69", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313238", // aad
+ "019fa7a86c0e68d8a8ab790402c24eb53620c349fb7bb53baa051f"
+ "30ace4ea967443ffd643a70ab64c7f1940fd", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313239", // aad
+ "ef04246a225e61976321afcb1aec88ec87616b2b0c1f00923dadd5"
+ "753259c5d598eb8a7a12e05971035ab22d4a", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313330", // aad
+ "202e1e47822d27f6e99af610659f24164d3dab57cceeb88e98eb95"
+ "68e4294610b5204f01bbd7f66b38e03724e8", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313331", // aad
+ "5385c042723e43f8c26d64075494e1518ea07aa715a0c0f8ec6816"
+ "3dad3c4d320ed2c5c736a971a2014c8276c4", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313332", // aad
+ "92886065cb32cc4653a85fe962a6d282c2e741caa6c0269ade0c3b"
+ "13ef6753a97e2a8998d106f837c509e7675e", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313333", // aad
+ "2115ab3a338c4fb3cccbdfa9c999c7b141d13586947860976c86b8"
+ "bf9c7100bef4913160b423d1b9ed1d707500", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313334", // aad
+ "08d6ce05121c84665a7eb2a00e9b05aa65bf1a8f18ac75c5365f97"
+ "271d8d22e49d255db73f447cdb819078b6ad", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313335", // aad
+ "67e06ac23e857b636b72f81bb9faa9ee65ce8e120f6f03dcae0026"
+ "766f53883d2bd8520747ad708cbeae8a3769", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313336", // aad
+ "127bd8d1795a17854b440e6c344f4e4b28d55349b36b2110fb3132"
+ "303f462a039d6fd2201d39fce6db5263c2ca", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313337", // aad
+ "303ca8aaf9ff216bdf08fa8ac9af0ccdd5b166010c1fcd64cb93fa"
+ "366063197df8e56c4945f7f382f4af04a9e4", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313338", // aad
+ "169da0068fc01a2dcc40cb3c6dc6c1a4fb777be8b988e08080a293"
+ "e68a1b005a652c51e3b594708cbb5651fa02", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313339", // aad
+ "018ff1ebb6abc5fad80fee254e05eb7f775da410cfc836e0691e55"
+ "c355fe82bbd3d36b367d7f863d696af8742b", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313430", // aad
+ "7d6206d46ed7779d7c7895581713f27996ddc5cb554d29ec9e1dc3"
+ "e0c97ac66ff59a2537959cda8de3b9d35b86", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313431", // aad
+ "97f6496828a9c7598b63916791da5d79ae2d4f358ba1a92eb9e6a2"
+ "258acf10e9c87e0b485d0bcb075d62d07cc7", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313432", // aad
+ "b484445f7986d2ceb017169871fb16197521a7c789ec2bd7462d58"
+ "22360b30593615208f84d6b00e78c8c4ea50", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313433", // aad
+ "c714dac370be2e5aac6ca91884844c4c3ca0122fa51807f4489880"
+ "762c3c2e5d695d5dfd7eb2801f3cf2bc690a", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313434", // aad
+ "5fc939ebea4f36a67e586a60ef85898409109f85b40c726780e43e"
+ "9e6af86df2e1fb80be6fe2baec40a90d036c", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313435", // aad
+ "a5d30e0c1a997f2bd70dd7e1607822568491dea800f4551fffa903"
+ "9ea5edf181c5e85831ffc51eab118ecde434", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313436", // aad
+ "1d29ca3e01d1452d7c082e30bd8d49911d775cc02e53508769e212"
+ "8a91d0a0c692a3cef431d8c6bc88b5276329", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313437", // aad
+ "bca55e701b7245fa425540e070418e8e4c11c3bc6da3c2050d9a5c"
+ "1bda69356fb413b3f8217d2cead7e975e1d9", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313438", // aad
+ "4a79081eb491433f0399324e8dacaabb268f155b4c4ce574ab7d36"
+ "9ba4fb1a67cf768ecf85482a96b6da1e4e4b", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313439", // aad
+ "b0af8a8c4df33b0557a1b7d049afcdadbc7c475633bb13006a6b42"
+ "fa46bd00e46dd8eb6ffd74ef8193ed1de6bb", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313530", // aad
+ "28be09295a1f7da0e8a65c0dc3e34985a664459dd62a6c6c0e3125"
+ "bca8c197775dd394c78f13234ff90c70a743", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313531", // aad
+ "6c3129a6da1a364dc0528e8087a1d69ced0411efa112bf645f86f4"
+ "d1d073929b0f062ac64a0ecbcfa51833e0f4", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313532", // aad
+ "37a0d8d958c777aa711f526893f8065af3ea8c465bcb016f860663"
+ "3933ed6c85121b908122a34920eaca0ecf88", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313533", // aad
+ "fc6a78a3ad4e69cf04d92eb84fe2af693cb1615e8eae996180ba2f"
+ "88063f9a0877fbcd6def5bba4f5d23ec5763", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313534", // aad
+ "ce258a91b864149bf3aa9d2fa830b8dbb4b281e01763e4cff397c1"
+ "c8f16d9b9232e6ccb7ee3a12da0fc80814c8", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313535", // aad
+ "86bde841424015ed8083a3f16a78204127741537f0672f4c251b8d"
+ "98f77bd1860ab94b3f629b55a6d5352e90c8", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313536", // aad
+ "50fb736fce93053464f356e7cbc5d21008ffe309630e42511355d3"
+ "e49d8022d958810bacf9facb25259ed9a201", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313537", // aad
+ "d9562af83f91e84773c4a7e81f8e8aecf08d09f26c29dc61c269d5"
+ "5e4e0c6faf7ea1b2399645328bcdac98cf68", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313538", // aad
+ "80e0631793f3da9d1a7b43dccc18975434e3140a235decb011e022"
+ "d29767839252c329b3a5d86bda410f3d8d87", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313539", // aad
+ "a60277dc349866aead42affe3ffc16d0cba8f8506e9409f0e7c9cb"
+ "f3bb190b8eedd8643c246cc778c800040770", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313630", // aad
+ "ceae766d4803c0e00f7308288184314b7fe60b1a133332c00457a0"
+ "cc26e412cf3c8196b1d56d9619355e9a3611", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313631", // aad
+ "1f210b0b2e8e912498cf793f498436a7850a5242779fcce9a3a882"
+ "4b6f6ea9b9860e2060765db6e0dfe7a748b3", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313632", // aad
+ "28e832088327d84d0c2e74a82e2b2eda272e5c9ddbc3bd18427cc0"
+ "6de8068e66157a53a9588c7911525ec55d16", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313633", // aad
+ "3c8df199a94282a2f74abadf40898471a27a68ed8f796c270ffac7"
+ "c4c0ae9ab3ed79d82a5633bbf31b2d110ead", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313634", // aad
+ "4ef9ad640678b164abc18a3421b3800f0faad2ce79f041e057e7a5"
+ "6f86cf59d3a0322c8d09e90491a6536172da", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313635", // aad
+ "c6a026559e7a9431e50a93b1a77384ac53405efb74e1328cb0761e"
+ "c3a6f45261d37b3ab1e0fdf2742845bc098a", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313636", // aad
+ "de72a8637aa8dce2dc1b99a8aa51cd71a2a90d6e953bb1371ef8ea"
+ "09ff6838dedd35b02f578c256c81eba34a18", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313637", // aad
+ "ef051390ce2c5c8247b7b9bf2824859692ec14e7ab1ca5ab6a6132"
+ "3180aaf3e88f117658fddfdda4f3b52cda34", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313638", // aad
+ "93e01f0bbf2fa4f098a9062eebbcf19400ed1b180403a9db37eb81"
+ "55d15445e92409aa9844ae80278e21b933f0", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313639", // aad
+ "64c56e3bb8c6b0feb5ec2c8e99606b88488f55247a44dbe381638c"
+ "215bdff9fa01bcb308ae90104a7abec9ca63", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313730", // aad
+ "95bc68140721f4b8902ea82689b285cb42cb89ca20bc44ac39c4d2"
+ "e59492d86c2b26ad48f6c52d4c05ac5339fe", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313731", // aad
+ "ad54967b8008a2c229038e33bfea2c16c78bca8f9afd8278e02e1f"
+ "2cca4e993e1027ef98ba8a58f37328cb7778", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313732", // aad
+ "183a06419b3f783b5d8ba4548d11632ba9adb21e035fbe5f98afb4"
+ "63893d24eae88e75442e97e54923e72d70b4", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313733", // aad
+ "26b7aeb5bba2937aeda06f9c162fafab4dce0fff07485e814b7fef"
+ "1e6b3507c420d7b1dc579078e276f0aff832", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313734", // aad
+ "cdca96768a933141f40f54ed7b8b2b6689a865791de408295bd7cc"
+ "8327fe89bd9af6b2ed0b8ca3cb058953ef9d", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313735", // aad
+ "f95802e85c86bb515429473a86d9959ce34a307d778ff1035bdc4f"
+ "24f6c14e1f251cbdcd994eae24a4de26dfa6", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313736", // aad
+ "d923df899bf685c54e8f45ed970a100499b976189b9121a2c91b7a"
+ "82b2dce57b3dd675459de53a59a7d4645c50", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313737", // aad
+ "df0f1d0c188a5f15c6e68ad575b1535cec7cec6139350e11d38e71"
+ "e9946845bf913a448c0c1425fad729a00d8d", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313738", // aad
+ "9613c6f47f5cb5126cdc9cab07740aa617fafa8adb98f8b6bad334"
+ "48ef253336c0fe799fa429efc11c9c9237c2", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313739", // aad
+ "825acab2bea0c907f115b1dcf8d3b67bfc99ec94e14079f1ac376b"
+ "3534f3888907be199004b11f68beddd2a31a", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313830", // aad
+ "052a27ac2e043044236e5b77b82d6b1dac9b0a60a79667ccfa449a"
+ "5635364d26fb9d561acac6e52587dfff33fd", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313831", // aad
+ "822f8427ee32cc7bfc3a330347a44e46ebe777be3180027946d535"
+ "9e314a414e55a904ab9f8cf09983ad4f79f9", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313832", // aad
+ "61356c5913344fb6b100cf9f6710b7759d7bf4d02a27a49a914d0f"
+ "6fc10ded0a1b15cda20adef3c8c82646e785", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313833", // aad
+ "62253ebc1ee04f9ff0a56143b01515ba7af0d2ed9ccd0cf0201d34"
+ "1127af86bb58866e5a89928a19bb01f15c0b", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313834", // aad
+ "4929e522d742f2de7848545b751229c20a42b087081a1d3c466cbb"
+ "104ab634aa9d10a665658738932a9c5ed16a", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313835", // aad
+ "335e3960cb0ec3def20c69f00c3af83c0764c26761ce89f87ec5d2"
+ "28a3eea0d2f1f4124d73d3afddabd5822793", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313836", // aad
+ "b4aae8c6700dfbc806f5fb496654c9decd632ef29523c295e39416"
+ "e1318aea7cb109f82c8abeb7acadc9445144", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313837", // aad
+ "dcd1c6c6f0376211d758531159316f3fa2bedcc8390f02d04ece4a"
+ "fba0f887947b0801a43fa66a31ca0a97245d", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313838", // aad
+ "e6b547dc058cc3b3725c97b8cec047df259ebfc5897cfe0d559854"
+ "f7f452c277e788f52a038951dfd70f82cf66", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313839", // aad
+ "8fe262b2340fedd8166924d9c4083759c18475f1c195b9a1925701"
+ "6f3ae8741d5ab17d954a764b006987184e2f", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313930", // aad
+ "6eee9ae4a1687f30e54bb28c672d6fcefd6ad95ceb76330c3eb973"
+ "8f4a8fa7d1a667cb345fd95640850ac05019", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313931", // aad
+ "fbbde8eec7b17b37f6ee4798823efdc45cbc0097a3315fb598d9f9"
+ "0ae55271ed91060cd552e2ad16f2a2d12113", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313932", // aad
+ "dcfb21893ac544e13c25acd741f4cf57111918061a19f4c635e7c8"
+ "5f1c90e845f306b0b23e0c44a1e7abd37b7b", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313933", // aad
+ "d71a0565960f7745dcf2afe28934487d59785c192480e7a0323cad"
+ "4fce24cee244627b9b22a59659073ce6fcf0", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313934", // aad
+ "68a78b99eb78c72420194fc39264cee180fac6d28569dd8b7b445c"
+ "a982a22fcf470ee880eebf82a5ef0105831b", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313935", // aad
+ "3180cbb7f530e05cfb427c0869ab81ed3e9f6b66237be23a7ea2e3"
+ "fded06ca64f5fe7e092dd6adaba92c7e4814", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313936", // aad
+ "26bd4c6dd9d4b40414bce7a22561e8be2540f05df4d8bb4cd81386"
+ "055548087278ff81cd631eea879df52235f2", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313937", // aad
+ "eee828eb63e2eb36fd750bda2c24291b193100c6ac0a7dcbc0cdde"
+ "1678461c05d2ec9637083e630c343b5ef5c3", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313938", // aad
+ "2245f283db411faab50d5035289e04e284426766c5a93034343b13"
+ "aa91542d28c85c8d2d358aa20f39e99e8ceb", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313939", // aad
+ "f4579ae0009042253aa17648aef6badbad212933fa4f0f28706c22"
+ "05da66b79e6abd94faeb50d30ce28db30f59", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323030", // aad
+ "9c1b8cfcbe72322239e031476fba123bbc3ed18f9f8f68cd30b3d9"
+ "6c895e7222995857f082da0bb22f1e4c446e", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323031", // aad
+ "82622380a891f41815ca328893a08fa28c670562cac74858847b21"
+ "6004bf7fefbae167b204933642783b6cb3ae", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323032", // aad
+ "645d44acd57e0942fcabcacd35f0bf8c4b51e58a5f267d83a7f2a4"
+ "95cadebf6bb036a751cbcb7d4ef078129902", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323033", // aad
+ "0b2867d211383acba6063be22d1073c317723910a040485b512d58"
+ "3f091d46231e507211c0a2970a3f185f1aa6", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323034", // aad
+ "8d0719d2600497de8814909367f8771aa54e16d556e301c11743c5"
+ "995f770260f33cc06985f2714a839ee45b07", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323035", // aad
+ "aef8605acfb034b315339edaeaa92df6f54d28668b70fccee8d6ff"
+ "b5781f372fc63fc6b341b5c89868b4fefa35", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323036", // aad
+ "6595f3436ffd8aa9bbd57c70ee92618e2acd816b9a41543f3db042"
+ "b56a6f070b946458ef1e3cce3912129cbb8f", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323037", // aad
+ "c6ff4328bb7ad18192662d81ffd3fe2c0cd75a26eb44b9d2880980"
+ "f1b2fe13c7cf49d8409507bf3130dff6a7e0", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323038", // aad
+ "345b5f1e44d2f39a78e52d61c5cf7a8395b95b09f02cc14c34502f"
+ "a983b04c89ab9bc970f04314f3ccd2a5acbf", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323039", // aad
+ "805a18f8e3f464b08a1dc049fe0805bbd12cab4f00f5c5ea9e5e40"
+ "1a610bc39c19f11f34f470bba9edaf88f1c0", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323130", // aad
+ "aa9db1746025008dc195e1a9df42129f284c4eeab831fc2d8abd47"
+ "3713bbf955c13873537a72be6477700e8589", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323131", // aad
+ "9189268fff233f2d8a3fe572527c122e63ce53d5cefa0f6e1204c9"
+ "e1d2caff39bf94ae1babfab456cf415b75df", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323132", // aad
+ "b22f1b11d5edd6909ed3a9a1e8d53d2e492c492453ec8f8c3d9fbe"
+ "22c66a49a19bc9884612477717defbed212e", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323133", // aad
+ "8fe265c6c7b06d5f576d14872eafa26c9042f45fcc191c11b1a4ca"
+ "418a7d3a75e3f5fcbfb98e4705a4449405cf", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323134", // aad
+ "7419f98ac99c060ad0cb631092e03ed3c16ff8bf8bf65e95cdd56d"
+ "aac1a474e49f0aca69f93acb692a540a8e2d", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323135", // aad
+ "6347965c2a039862996b49b761ef0bb49cc58541a8ba72bcd15714"
+ "f0813e256be396cd2443131f268328a3ced6", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323136", // aad
+ "69a939b21e369311883d1a2cba0063a4e3cdcc51b037b7f05d76fa"
+ "4ac2dd1ef1df3ab1a80f4dbebbf92a757b57", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323137", // aad
+ "6ce7dbe5cd835241bef265468b7a6f2f04ccd17af337ef4c82e513"
+ "02634924e0040093708c32afc9c173248aa0", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323138", // aad
+ "bf4f90b86b633ea8fe4aa4e32fd407a68f901c00d9d88add4ba8fd"
+ "99825eb70872b2a01677422c7543a84eb16b", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323139", // aad
+ "46aa6b4b74f884d254f6238cf99c8985c55e4aa24f9774278c913a"
+ "bd398730cec45283341106738d2dae007b92", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323230", // aad
+ "b6bb88db79e8593de5fbc4efc943aaddc81326f8d3163e5ff4db89"
+ "da70076ddca68dfd2240f459cb37ef02a467", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323231", // aad
+ "05ce8dd6acd34b6d3de2bdb29ca9b7048fa2f9bba8521c38d4dbcb"
+ "ebded487638aa83f879afe67565149a7f2a2", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323232", // aad
+ "00ea738080926de853d58a28803bb9bfcfd60d2295c18686f1216d"
+ "dbf8f0e52415cf8ee6892518a10f8853e6ff", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323233", // aad
+ "effc6d25bd89ebf56af1fabc33daa0d1c6d29b743fab77559f7044"
+ "b659376ddc98888080aff0968695bcc87098", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323234", // aad
+ "34b67c1955e9c61695a9fec0dc8338f2dd1e229af99a82e3b2ee04"
+ "8a947f5d6ccb6f8807650b727379f061c1f6", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323235", // aad
+ "51937661bcc87a475c44bbca85a987a35cc6f8b2170f1827db541c"
+ "503c0f1ea5cec4c34a6602c10def35f3ea2a", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323236", // aad
+ "e5e071a0ce27d2a1876e36d2d258b41b36a0c718b3a40756b7c486"
+ "5cc00db94a011272e106d13d8691390ddfdf", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323237", // aad
+ "a8c3ff71ae97ee6daa8c6b8bebfe276c5a52f9997a4bc385b94742"
+ "ff9d0350dc9ba704d5c0dfc8241fec668c89", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323238", // aad
+ "4db699cf1f556601e1d5324500ec9b69a63d1ed70e691e5829d8ea"
+ "0cd31333a58b11bef74fb2873b36d31a2065", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323239", // aad
+ "143f0dfb47062dce0b1062e9a02f748dbacec5853371f1ce0c7ab8"
+ "f44ddb907addfe6373a483623bafb56eb633", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323330", // aad
+ "911a1b12ca83f5b58c78c1e099f2a8cd79a66ca343ac938a726808"
+ "9e3cf517672c11b560a35a7e9d0b73297838", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323331", // aad
+ "fb0be34e26e284fb10766cb4b89eefb1b23058962bedf8d13b4ba9"
+ "e2fc5869c5d11096d721bbbe150a64708391", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323332", // aad
+ "42b41128ebb96732632d5c03f6f9a6fed7e8139d5695959ce6ee8e"
+ "5a29eb57c72219529947dbbb4d11f1ff8d9a", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323333", // aad
+ "63c6bd14b53e4652b0dfcc2bd13db32136cac8da4abf42e516e998"
+ "ed3a7f9e2233a725c4911b58fc9bf6d2b754", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323334", // aad
+ "cb0b60f9ca45fb110c448165132c1e42e5058b8071ecb11bac9b52"
+ "2dd320f6540a66f3149dcaf83b9f07eb0c27", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323335", // aad
+ "e006b279fe41db03c0675c425141a5244656f7961501e0e9b678f5"
+ "a1eeb780673c8ee00f5ba69c2b3c111b02b4", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323336", // aad
+ "a8a19012dc9871d10b44b0ff8b7ff66c0c8bb2ae182085371c0f70"
+ "62426a257c9b6f341ddc84b66b8fdf5ae257", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323337", // aad
+ "8136e0691c833bb411a549a04a15bd3029cdf33239e14075440fe7"
+ "5f4cff4f7d6f1ade731332564318bfa6ccb5", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323338", // aad
+ "7597324e0fb5705ea9a129c5c61fa34bb8aaea9d098022ae7cf037"
+ "badafa452c40fb064a328245f26f90f9bc12", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323339", // aad
+ "c581e3ef8eae32c16357f6d7e2c4732f14f78b2e0d43f2a7c3aa29"
+ "42b69dfe0e0ed7e87133fb1f1e43b02203f3", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323430", // aad
+ "f327b85b71b3bf718c95c161de205915f89bfceec5b847220c2f5a"
+ "6619bbf305cab9f562abd1a7c4351dfce610", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323431", // aad
+ "0ab568ac7988bb74c8a45032b7c1a2ce3cffddffa5dbd05c7bb2cb"
+ "eb67708a93998e2e5750714ab982dd7a4a9e", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323432", // aad
+ "1fd6e4da140aa54f28fb7d638def7533c77ee9e3c2ee9424b33c27"
+ "f879ec9b491d4a158f4b9f0f0bf23c319cd6", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323433", // aad
+ "1df03c41dcda714e13680215586dd1bb2a45ed4930bda233ad4ff9"
+ "c69c52ae564f2c6ae34a78eb311d5301d856", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323434", // aad
+ "46c2a2ec85b0234fff1612c860f0f295a9352efe0ed9c1c9086b65"
+ "9988bf9bbe0db41cc0d9158d95c850892359", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323435", // aad
+ "22497e5ff440ffbdda860b1a7c3129e5cbd23d0945f860f6a12548"
+ "53c06a0c1f12adc130e3967243abc19bafec", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323436", // aad
+ "3694f1ec51eb2bc7544f98da3e778c78fe286232501b929c07298e"
+ "65036bed65b4886689a1fb18632c8a601e11", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323437", // aad
+ "2d7dd160f2561f1a14c67012ea42b5e17f7f1e22e8de65b60b11fe"
+ "3fc8d0ee2be59bc222aedb089b0b8a577041", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323438", // aad
+ "b59b5dc707b89d12d2787a47e205010f5d307979f776cc246e5c4b"
+ "8b624e34d89f0451ff7aa44338ae29f0f316", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323439", // aad
+ "44f07a6ca5269a12f5653e4277b252427ae35f3601884cb6e93555"
+ "153be555eb525da864a1cc58e92ca1151dfe", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323530", // aad
+ "c52753d96ac866b84c281bba1f2b1d8416e18de6662dd804fa269f"
+ "fb0163de9720565324025dc6b661fdd15e21", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323531", // aad
+ "8424bd6a99757c60a5f7f805e22e48b7cda64b00f65c5435f3548c"
+ "a2bb816e5b6aa3ecac07f7023be03930321b", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323532", // aad
+ "ba83633634d0f7cabd2e36e6a59d5047b44d0f4a6b4c25c098dd8c"
+ "cb2849b4e6077747092564ff6f33087394cc", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323533", // aad
+ "aa839037d89797fc904d3d7ef6e81245d4d504222a0045f1a38105"
+ "1a02201eaf4954e4dd939ec1d9c198bd7e3b", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323534", // aad
+ "2fa0c4f94aae3d2a28d58746dba832500c27d94ea6dd7994c2ff16"
+ "5cea7261d483ba91b9838ddc9ce6f11c500a", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323535", // aad
+ "b331aefb6bf8b00597f41e923edc913b3329c796d5517933d15312"
+ "49dc54c31b4e94158a4ca85dd521879f12e6", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323536", // aad
+ "40546ba8323f375f5f60e4c9f4f7cf23db85feb8e6b6d5a3d731af"
+ "d20e9f43af4c2945423914151eff213b0f74", // ct
+ },
+ },
+ {
+ // Exports
+ {
+ "", // context
+ 32, // len
+ "b69c3b2b00725c2822a379c0adcb9d7b5619610cf51f22a6a250ef"
+ "4e68912a03", // exported
+ },
+ {
+ "00", // context
+ 32, // len
+ "2395f4573e42de33aacf2e89c5298f64193c2575fd692a5728fc22"
+ "ed2a71470f", // exported
+ },
+ {
+ "54657374436f6e74657874", // context
+ 32, // len
+ "d8c5eb33e262f150de0d714df071095f2a166684fb8c8401e317fc"
+ "e7ad725dcf", // exported
+ },
+ },
+ },
+ {
+ 7,
+ static_cast(1),
+ static_cast(32),
+ static_cast(3),
+ static_cast(1),
+ "4f6465206f6e2061204772656369616e2055726e", // info
+ "3067020100301406072a8648ce3d020106092b06010401da470f01044c304a"
+ "02010104207a2480b0c7c466f4ec155756e87937746264c0881b631f405f19"
+ "87941cd53bb8a123032100e96f747702b41c838185c0c1d582aeed5701cf72"
+ "9cb951757ec8db541b980414",
+ "3067020100301406072a8648ce3d020106092b06010401da470f01044c304a"
+ "020101042040cffcce7a245f8356fcfb9eadc69828207282326699c4247c64"
+ "ed505eb2f263a123032100a08a0dd37d79572cd4fc49e25c621d7bc718b842"
+ "f2d0e5d5b61f84e28872b21d",
+ "0247fd33b913760fa1fa51e1892d9f307fbe65eb171e8132c2af18555a738b"
+ "82", // psk
+ "456e6e796e20447572696e206172616e204d6f726961", // psk_id
+ "e96f747702b41c838185c0c1d582aeed5701cf729cb951757ec8db541b9804"
+ "14", // enc
+ "8de4e223572bdb8f2bf107777fed02c2", // key
+ "9b3fe8025091827f38d76e92", // nonce
+ {
+ // Encryptions
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d30", // aad
+ "589aea5a0d8870ca8cf9c4dca4a51c5dab1c2d33d29314da30407f"
+ "b5fccc6bf3cff2abbf2d1397b1d5f61104fd", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d31", // aad
+ "841c0d34fc5609215b78479bee622898cb54b4a2c469c174ddab5c"
+ "0aec5774e58caeeb722454bf430ba4775d9e", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d32", // aad
+ "58a94e60d537ec7364060f66cf0025cb53922ea9673d5ed1575c7e"
+ "55548a766b8798c588a76180a1733982995b", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d33", // aad
+ "0481b38e2b7d1da0a9b455a248ff9e09c285349e4c26b0e7d4617a"
+ "d57379a5a6da55c2a20e8da1ac9c1df5877d", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d34", // aad
+ "10d47bb21cd176219f85b4121ad7710ed033c82f0ecb050210698d"
+ "5170ac83196e90f23479e0fcdf7f135556cc", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d35", // aad
+ "ca0e9c2f0704fa47d9c4b6eeda034dfc8edbd49790a9e820753d16"
+ "34431225b05ffdedb80e622c4536e3b93f93", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d36", // aad
+ "52a26206a794ae053ed441cc29257c859254e559783824c117ce5f"
+ "5798bbce0fd8b5f43afa21087c6a06a44c6f", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d37", // aad
+ "d2c135143c5d1aaf0108b01a4b6d8f01b30ce0b4ebbd3b83300a3f"
+ "78338acb8c367103901a5899b5e20c84bec8", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d38", // aad
+ "73cd268cfbf2cebdd6b79cb3cda8d32634b511b5ba4302e60f0842"
+ "5c8b0742b0fc13b0abd1a598ee210dfa6df4", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d39", // aad
+ "984724c6230dee281cf1cf627f06985f8ad98b16daebb1414aa82f"
+ "2e9057e273d709d96461483a3ffca7d5c72a", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3130", // aad
+ "7e73379033f32fe3ed715f4aca798162db1e18e49bf596a02f012c"
+ "6147fc46ad25f41ab1faa346c8d501690361", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3131", // aad
+ "da4b267a3988e4f367ebe84b8e42331e90a742530eb6001037520a"
+ "cf6b08840b32c61f5abc08b907e393327338", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3132", // aad
+ "b718a384b69bbc5175e378f4d7d0a1548cd004d5532169ec606a57"
+ "04e80f9db63d41073c20463c9892e2e89c28", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3133", // aad
+ "5aa474d14977a2427ef09f508615e74f781ce0dff762a4f5c104d8"
+ "5ad45d558770bffbf1a30fc900055e97398f", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3134", // aad
+ "bd74bc7f50493b0389155517f4bbfc9e245c4032e4a4588f931c2c"
+ "d41b9ec9c35c770b90a3c73595366a4d23a6", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3135", // aad
+ "74a00650d496fdf838afbd2984239e73144fe126b8e5ff458be0b0"
+ "f43bf24fb3094eeec4efe1279577dc4ed4de", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3136", // aad
+ "8598abd7d5f5d4f990559dc1437da187b068f684715e0dcec0dbec"
+ "da2f2bdefd8300cacfa0bade1be6845d842c", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3137", // aad
+ "121a1ba602a5855bade505135bf9e613db41619310140ad32b89a4"
+ "7011ac5e3a23d5ff3c4db9362962da413db6", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3138", // aad
+ "d98888733221b5f775bf93c54a4505d7eb48e47456827c164ab009"
+ "975d439c856e3c0238e913ca5f48c879f81c", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3139", // aad
+ "ab3dab7327467e5407dc454e4a779f72a6af15f562ddd41ac88356"
+ "eaf30f1ebcb5aa6d999f24577a343bfbeb93", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3230", // aad
+ "3c2cdd17346d89b306de3faaf8395bf0d12c675a4585eb1e9c32cc"
+ "95a727bfe979e4d5edb29a057b147d05d716", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3231", // aad
+ "5bd9aeae4abac02c0fecd0db6aab79595a4e1a392beec8e16d2306"
+ "94ff891c7990978ba2d7660c13cd06a80033", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3232", // aad
+ "54a96a3b72d1876d790bf1a1402aa3856885a8044fcf32d27fb205"
+ "2b1850e80e81217dbda1050685a49c5f0035", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3233", // aad
+ "78be8bb40b0632f80834d3a0702084b565b8aa59b0c8da9906201e"
+ "4f58fc0aede88cff589eefa0213b254a0294", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3234", // aad
+ "0dacef191d9acbe73b0200e62e7031859543548e67030ec4c7ccc9"
+ "d7727b62ed3ae1e04ccec9c6eaff398f5851", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3235", // aad
+ "1154c55231763e5c9ef18f15eb145d06edb7344c9259a83f5a3370"
+ "7ff29d9d76d728899ef6fbddebc4ba85be61", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3236", // aad
+ "5939a0e29d85511eaf949c362a934b9b941fcd53b00c834074111d"
+ "0a0410064baf6d25097a9fb1f55b5dcbda6a", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3237", // aad
+ "427fbae490870cc207aa4bae1c81758e449113ef10a4ac668334bc"
+ "114cf1cd8c8de45643df801eed79f7ea378f", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3238", // aad
+ "d7ba3a1b855cbcc0eac1f4a37c704832924c91044d871877f5dacc"
+ "bca18d2abd0ad1aca8329068d905b2dba150", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3239", // aad
+ "8863583e9122c3f45f3b87ea44d1298afa8a51977589767c6afd5e"
+ "ee6eb971708197f98c473500cf4559f50067", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3330", // aad
+ "8571e53c3241124630d68ee3ac456f258dea1a4cf903646d0fc3f2"
+ "e3f49ca07d83ee48201109e752287106539f", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3331", // aad
+ "868022c9571208ff77d4d59d827efa351f777f0d1b7320026aa27d"
+ "2fe87dbdf77c808c36a46908692697e59d8e", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3332", // aad
+ "139d849ce79202359472595f2cf68886ac3790b88e81b2b1108efd"
+ "2d136ffa202c7e766c8481714f1f4597bb50", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3333", // aad
+ "c44bd49868fba1de71f90e58cbce4cec7e6c4ae8828f64a43011ef"
+ "84beccef854cd62c4a7a658ca333e4dd0403", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3334", // aad
+ "66c7ca985176bb6db9f835050431d281546e34efc527f073c8d714"
+ "f3b12831d523e080d24d0a9666b0b5defdee", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3335", // aad
+ "1545bea77102b470f6883c51b8b98ed91399e2408a0e0516c305a1"
+ "412278372cf049f4818e856546d6be760ae8", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3336", // aad
+ "8a88345929b14359d58e3e215c19c77ace825f3edc6197339f16b0"
+ "f968f9dda575a9f5912b30cd4f2d706ff0e0", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3337", // aad
+ "50d2dfaf91b1739feeb9cfff79c823ca55f1a749f5e94fa104735d"
+ "c2ac4c97ad0c29ac8ac661b982a5c3279191", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3338", // aad
+ "110c4528dae44cbd1528544fab9ca4c77340e1f58520a60b2a0ca8"
+ "e1565728a9790a1c5605c24a825cec866c9e", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3339", // aad
+ "41d8b843550fcf738e91405b971e8aa7730191c584d654e8e11f61"
+ "ee52e464cd4fa002487aab8bd0450bf11404", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3430", // aad
+ "ac23c1bef707d1028e7643658b9b4dc37c98a282e529652abc43a8"
+ "5c1d5f32495aa41c56c115c555215472af06", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3431", // aad
+ "c3aff17100931a5dc905a9c194e7655043e215de9c0bfb6de79779"
+ "473723926d104580a53d0e47a0e86b870847", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3432", // aad
+ "28a7672a66cb06da760ba736284713e2e80ce8fbe114d818da5581"
+ "7006fe0e1beca859e186c02b30e5467295be", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3433", // aad
+ "a3b17a237e4d0b020daabdc288f87d330510865ffe6019351d3ff9"
+ "754009e3a48790f8a4050b985835fd3216e8", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3434", // aad
+ "68ac482fd53fa545ce91648b2c717de25983cf5d404e5e37480ce5"
+ "6583397dcaf73353139ef450d61aed25b3d7", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3435", // aad
+ "49efedcfca913560fb1d960a23ec49103b0f60fb55a6890eea559e"
+ "7101b00f44974015c128ebcf2405d75742f9", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3436", // aad
+ "b8c242d62694354c866400c627b14c95213c0f519f2d1728cbe8fc"
+ "bc67320adae12ec11f33fb1d3c0f0c10e3b6", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3437", // aad
+ "d292f84a1c555ebe4f36b744accd9a17f41c4de0c2f294c67d1a0d"
+ "725a01d378380a288d9f2ed27abcb48c093a", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3438", // aad
+ "773d0ae303db8f69997e03c9df5b57ca8df1ca4fc00ece39b056b3"
+ "4d96539c6d507c930a6da36f996760810836", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3439", // aad
+ "ee6b81c8fdc823f2918901d99b9cd16d5b2ae2bdc8b187cea689fe"
+ "c53b6d3a546e25830ac435f86770bde978ca", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3530", // aad
+ "79d4bba55260ebdbc7f6bcbcced3e0318e14524545644391622928"
+ "9938938c5a089877d4c043d6f7652f3359d3", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3531", // aad
+ "ba539cd59ad015bf8ad46e95d6142c9961ef3696196db6182a842d"
+ "f7f50a0441a521ce1ecacd4dc6ff0040516c", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3532", // aad
+ "809e1a4d19f13fc99a7edb0a7fa23ee92affad48e9199a7c36e431"
+ "a2f583d10184ef718c865020cbf610334f13", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3533", // aad
+ "f3036a9922c0a591cdbdf29334a439378121a2f8d9c83960829c0f"
+ "d242531a1339caafee2bcd3544787569a9d5", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3534", // aad
+ "3bf66f9404ce3b3591b9fb30a884e096e131274313a56319696f4d"
+ "b74081d1564aab78ddf45798064f3c363bf2", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3535", // aad
+ "d99ee06294e96735934fbec9fdaca89f58b451e34ceb13c520e233"
+ "98bb7e6881f7bcb246de1c86df37b73da4cd", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3536", // aad
+ "e47cf5dde95d91bcd3ef74844eb5d799c2e1fc649f526419d65e87"
+ "e3e8594c716570aa654d515cf4698ec10fb6", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3537", // aad
+ "4c3633396139e62490f24c8758d17a9ba9ea497b3dd2ff3017d129"
+ "00d862746b630d7148795910762e1585f294", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3538", // aad
+ "630557c7248978f1217d3f6bee9b5907dc66730c44204b4a7acffa"
+ "d3dac8527396d2c1e9b54440e759f5c92516", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3539", // aad
+ "1abda45bc6ca317eccc7f2c10331a2208d41fda09800a667b0b4b9"
+ "26e4ff06e73aef6cb634e12373c30c7e3e42", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3630", // aad
+ "f4e38ae4fa9368b50c0c58edcd7c74ee2e3dfc58705906a620d840"
+ "2cbaca47415ee23e1de8c6257b5908376a6d", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3631", // aad
+ "437e9b5cb72b4c47476299419e7df22cb9ef9e2e688f5ee68d1f45"
+ "c49f0f6250306f3240bcd376b680265ac772", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3632", // aad
+ "103fb42247d96e70f2aca368945907aa83cf43a851422f12e977d1"
+ "6f8440f7647dd00d699cb07e37b6a3368a0a", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3633", // aad
+ "c880796479768ed285cafa912daaa04e763ab048c196d70f2be9e9"
+ "15e1b1c84dc9e4bc13e9f51a53c1dfeea0c7", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3634", // aad
+ "a9c8c5aac8686509e0532e970f0fb7be8f8f50a33628e300c8a329"
+ "fadae2567917de3b600b0172a24d1863ed06", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3635", // aad
+ "51f03f5e62b4feddb276fad8e942a64ab9c52a38127ef8cc38dd5a"
+ "fd617a819803af787d8112259a66f1fec4af", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3636", // aad
+ "1f55b6c4f50cb007b8f0a74dcb5dfd2221953a03b3f82f9cbd9428"
+ "e9f43a15be97008a11bfb020324abb61ec4d", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3637", // aad
+ "4a39cc9b292dad2b04bc44c3d0812f37dc8d442b6dfb0cf8c248a2"
+ "221a2efd61023edea0b3ace0ce3e601f7316", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3638", // aad
+ "f15f485d5de8f6849c1bd8f1748fc7c01d32665de2424a7a2a17d9"
+ "1171837b73ad7921e9ec1a22c78dcec1e611", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3639", // aad
+ "02698d2e681d96e1797e143b56e760a7f9686915684b23b21c0cf1"
+ "90c322f957b89bd855219f359def29f84ef8", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3730", // aad
+ "3c96607b7a2b74f5c2660999145e0064cb58c4da3105711720157a"
+ "0bbd1ef3af795c7e04292adae93f32178580", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3731", // aad
+ "b657f8d3e0b165a408f7c53a02cf1da830de1408bec7bdae5d6cb3"
+ "1ee9e984851121102726ddd1cb8bcfd45bb0", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3732", // aad
+ "29c7fab46ceaff2a576ab70099c7115631ec9d206edf6f6fe96014"
+ "27548c71873093f7bebcd0118b1d170e5de9", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3733", // aad
+ "d63fca78f9706975a014360c5b42a7c59e4fdd4bb8e0e400133b3c"
+ "63ddcd0129f140d95ec53a829dea57c9ad6d", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3734", // aad
+ "d71e48a15ed7d255644960e3cee186b7e66c8c0aca1d010b4a762a"
+ "14b863450866ddefa924d0c71f2aec0f0469", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3735", // aad
+ "65e91162df900035c97c8b6a5b8b44b8c1aa01309223fbc318a5b2"
+ "7136be39cef31148ef8e8bafce40f760921f", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3736", // aad
+ "4443738173c014cac502d065fe5bf478e90d9ef8cfdbbc1cef7916"
+ "5b2bf93dd051be90bb4fd793421faf5b6a7f", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3737", // aad
+ "831f80ea91cc3d8aeb88808171563106f71d7a94464c9677f6f1ca"
+ "308abe53c579bf7b07dad859edde2c197e89", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3738", // aad
+ "93505bb17589c418ebb458bd07e5e8d0690fd0e1eb1ba24c64bd72"
+ "cafbfcc88bb8b5a9046bdfd246069f4abeed", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3739", // aad
+ "d6f33b801718dd0c6a7a3043e20642b0a5adad560b40ecf4dc7b1a"
+ "baa60797a63bda6b4cf7c30fcbb68fddaea3", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3830", // aad
+ "0809a4ec1374c9fd2e2a2cbcfb82550e152154b7ca3228d1abd4b5"
+ "1ee3199f65032acc7297304a4c01a5677488", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3831", // aad
+ "7d6e39ef7dc0e5ffeadd03e2ff439eb01d845793b7d3ea500f8276"
+ "c900890bb954614a1ce025ac0b1fcfe3e787", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3832", // aad
+ "392651627b486da0c12c297b5f753b2fa4cb058b303601fbdb2c73"
+ "1c2fca23c103997537446e84814040da583f", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3833", // aad
+ "f9f42078dab8fbcd6ecbad76cf6b1438c68ce2b0e8411fafd365bb"
+ "6618d4df2da56db8f73f19a88d4b819c61d8", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3834", // aad
+ "f5e396748b43af6e2e233e6ac5bf8e6174492532bd2d13561920dd"
+ "d7d1d4ae096d70fa0929178cdbec8010423e", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3835", // aad
+ "b323bbe5b6e43029ac63e3d26aa06eb269fc548a59a6d6d5661212"
+ "f392a148cd609260ac8451d4784f77cc5a03", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3836", // aad
+ "99861cfdd3ee81e8cd3cee282101bf1a3c8f7b4fb7864fa97f3c0e"
+ "3513deae67beceeb734a3beafb84ce488aa2", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3837", // aad
+ "e268e076475161e3fd4b878dff91dedb1c4b63de9f7ae1a80ba8c2"
+ "2019d20f1380971f42b19503e07f6a8c47ce", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3838", // aad
+ "d4e28032ab8f57f2d0ef677699ef2b2f6f637e3839749453f9a622"
+ "3712f5661b6aa6b6238f3084d73ef27fd0b8", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3839", // aad
+ "09dd642bf739093bfa4c7ac90da3b41358c9ef865493b388cff817"
+ "ccd2465188878b75c3cd805b8cff9b565015", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3930", // aad
+ "7f659bacdb8540fbc2f24e5771f307e4a908e35b1189224880e78e"
+ "1461845a2c7f139bc7bdd8b16a1b50a9ad17", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3931", // aad
+ "6c85b85ba8cf2f7a8f9654143ffe5385d2c355fc51ca5e93b4b7f8"
+ "4af1a85e1c84ae3fad81c3dde34153e87ed3", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3932", // aad
+ "df8157ef8785221603e843da60cd6ff20aedcb83196160ffb86ad8"
+ "1de90fc2c390e32e0b9acb6f6928255b68ae", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3933", // aad
+ "8cd10a666da7482c2659ee3bbcd503e0f2ed75a22d5e8985f11a8b"
+ "bd449909dc8987532125376805b2ef1d195e", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3934", // aad
+ "76a58b77fc487d6a16a6a20ea89068cf864cb1c21c35022dee8c44"
+ "4f2a26d673bfd62e6cb2eefc3e5adb610bcd", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3935", // aad
+ "deaa4b35c41714b56048f20e7825e417ea3ac870fb23f60676e65f"
+ "14c85c82aa0a321372b41bf21225f1716c6f", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3936", // aad
+ "ffbe390bfd3cbbcc2d4e2bf37ca84daa1337d99b69b8663640e54e"
+ "dff38140112869b069304ea56995c83afc68", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3937", // aad
+ "236d5a6f2ad9c061c0ef899459fb0b32390f3d9ca4ad698d1babde"
+ "42aea6799b547c1b30dba9433e3fd089fed4", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3938", // aad
+ "b60c3bec4226a2f5a1c616454138db5500613f666f6df2d39e2831"
+ "40a6bb6eee76a9efe65cf10001c824191686", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3939", // aad
+ "50e292c3e09a8b7a8753934c0cacb128453f49f4b5d90c312f874f"
+ "577c120111d707eeed8c786968af7d82e867", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313030", // aad
+ "d8f05b6b3027283dda3e016a689559045f53117b0679192c843311"
+ "0bf6eec2eaabcc3009d91cfb842a4f645ab4", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313031", // aad
+ "24a23aba1df367e7da8e8cbb2cb0f47ba0bedf26201f6e8f74de2a"
+ "d828897afdaf9a03211b8d56243c43143f0e", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313032", // aad
+ "d68b5287636dfc28e7a3c15f56948942d00b99e8878b9615a5aaba"
+ "c4ed0192fc4be2cfe3bbf05f00753f8665d1", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313033", // aad
+ "d0faf073dfcc5152a68139f9313a2fd58d6487690b062386f23671"
+ "dd221bcb7e431d0adab1df8f7d8e5e4de1ea", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313034", // aad
+ "1042c149e04157fc2057612aed17bb4672c847bd2c6bb91d63bc7d"
+ "b2ffad5a3943550795a618a4596ed897eb4d", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313035", // aad
+ "e58b512e163d0be58f52943b0a468234bd6e3ca4717b12aaac86f5"
+ "fdaa75218286485a3ffbfff2f7ee60f264b1", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313036", // aad
+ "b7a93e3b86b1c9c368536cc28aa78ca928de553fac986e1c59dcbf"
+ "9368667e7cb177fd6cf9c85016cee23beeb6", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313037", // aad
+ "cd1a67c9cd42e87dd6b3369ede5a17db58e5892d8f93cf8624c317"
+ "0d77867c5c51197acd5bfec9d63e226b708b", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313038", // aad
+ "f00e7c25a0e0c530b5366b698e7dcb50a3dd6777564c0a1c70c2be"
+ "adf8c21efb284169ffb7556da22b9b4e5a1b", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313039", // aad
+ "384c6c9ec256f75a4c601cb58748fb1424bd6cd0206301ec1c4b69"
+ "640857c1f955c23d31c68b6738bb90813e9b", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313130", // aad
+ "1ac13bac6a79641de609fd3a5d9e4303ba45a01d5765b6c07f1629"
+ "a14f4cfe453a2a4d7017a3020ecda423fd4a", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313131", // aad
+ "5197b3faa1ac0161e922ab884e7f6f0605e430194e491daebe7a0d"
+ "2cf079416ef56e38459f5238697b4532a61d", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313132", // aad
+ "47278fa91532b5b460a2ab7585172328bc2a716c4f996bd619919a"
+ "0d8abbc64717980e7f3990cbeb745e36ada8", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313133", // aad
+ "907557e95a1f4f648bec70826a45880ff0a74befd98fbad39e7faf"
+ "ff6385f0b7071c599239748c481d15528429", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313134", // aad
+ "96f9109b1cedf10c8ac6afbd3311d6619d076915e987256991b292"
+ "b0dd08eabd48cacdcccbec4038c802a35dca", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313135", // aad
+ "9efea62b2632767aadc669650471328ad1ac8a8c2bf2238a944ec9"
+ "e520f2df21bb16845c22897ac57503c5897a", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313136", // aad
+ "a1c9946bc452c16552989e60d6a67a8138ddf780dcee3002c2d613"
+ "18146576b0eba142909e74099ff149496611", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313137", // aad
+ "2b2c53d480b7a3af82a492eff16042235c13be8e24a09a7654be89"
+ "ca51b07950fb6dfb2eb1a8a04c60a34fd5ba", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313138", // aad
+ "ccb1cb24ff24b286ac71c2be26d6ba9b273f1a645547d664bb2801"
+ "515b33e496c94243772af942e459043576e2", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313139", // aad
+ "f813fb6364ea8ed6976af4a4d162c66a211411b0059e684c926f9b"
+ "4401649c539c4f3a0360746c8d1012967408", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313230", // aad
+ "92ea4258428d3ad3fd90462af26a8effe409bda40a09a050becbb3"
+ "093d8dbfeb57650aebf384e22f0572a433de", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313231", // aad
+ "4735f3b7736dc653a22d5f0b684990c4d24fa996b446be32e24b8a"
+ "4f5f70421d75ac59dda0d8cb70375c8e6dee", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313232", // aad
+ "073f6e9bf589f965aa988eabe18ba0ca5d500714400ba05290ce32"
+ "f32d9cdf58f3039b55b0e27f039cab499ac5", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313233", // aad
+ "e0c6673610e1027d1b1c1ca30858dad3b713300719eba7293a351c"
+ "5e440c479f9ecde3a6b7a2fc6a749ddc434f", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313234", // aad
+ "9feea90d3d66dc38b8d8307d044f23b115184b21e40bce1cd26a05"
+ "191aa8baf4076b408716a22243b0a4d47a20", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313235", // aad
+ "06943c002dd01988ff238a6370c7cbb4a9627c073070bc04f7b668"
+ "8b0913829c4d417e0ce298d7146f43de5a17", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313236", // aad
+ "60282451a06fb8e5ed1728c1a3c58e5c473d59dedfac1e6fb8323c"
+ "21316e6dc4b4f901d4d73c1a61acc42f3e3f", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313237", // aad
+ "6b6b27430eab33a6d8b131693238d38d0411d58d0843daf552a907"
+ "db0749199bcca34ec3b10c3721d6b8a44a40", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313238", // aad
+ "01c1724d03cb9cbddfecb227e3ac5f3f8cb3e44f80e68dfcbdd0d9"
+ "dd6a7f8ee905e4ce3eeb2af292379f84d07c", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313239", // aad
+ "12e824c15e94a2dac3c8b7fdf5e563366a796d5f9ce251c4473dfe"
+ "5921c078bcddbdbe4246f77ed66272edad18", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313330", // aad
+ "70953f7e5e9ee3bb80151bc80f77bc71b36cc335e3e75842b05771"
+ "59a13374d969a5fec0a18df94887cddc0b62", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313331", // aad
+ "123804b0837fb838535b1f318a38d53a7155c10edf369d6eaaafee"
+ "acffef9f2b068790c6e8987fe40c3d50878a", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313332", // aad
+ "2756f450407eb224e3047224a530647438bdb473b0bce017906f8c"
+ "a79e660d78e1a1e080d977c3cbb64f3c96fb", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313333", // aad
+ "73cd5d4c1359d3e24bac752fce74a168764bd9d097075eecf0a592"
+ "1927c773f8b1864c82158341d391f7ffc5ec", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313334", // aad
+ "5b8ad2cbecd15a15d39ebff548626e022615edc2c8d6ec50458734"
+ "5cfe6ea483ec8d8e4c5bc8a66ceefab6013f", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313335", // aad
+ "2930e798f46e01c2137a5b0627626c42b55370ef215b7b98d12ebf"
+ "e67ecc67a3e70d93a39a9e66c1ef59340574", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313336", // aad
+ "bdb46672099fff624d82cd63dcf7bb73ab7216e222a943976cadf8"
+ "f160053669661eccb1af8c83249432bda98c", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313337", // aad
+ "66384413f34d81c6a996d57ed36a76d0e2c44b83b4e7a5db7201f1"
+ "f829a2d64c7338790961a8129431fdb25dfb", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313338", // aad
+ "2493e1c749bf0c412c91d2842c3e4dba0281a348456205740218b8"
+ "461e79a3ab91d4abbe8fa5c734f039120174", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313339", // aad
+ "7aca5a85f2962d1693a05a5eae9d7a6da43b6ea50d0bf2728311a7"
+ "2b418bbe57ba2032faf0908a2f6884f1e8da", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313430", // aad
+ "b28f5230475235b2188aa68e06368fba0f2068c671bb874c7b463e"
+ "b4225eaa3d9627cacdead910cf8db5e5f93e", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313431", // aad
+ "b1548a072372bd9513c68527da4321af566bacadc0dad912d547ef"
+ "8cb6abad6bd1d615650571f1d59999eb3235", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313432", // aad
+ "c3c159cb74aff290c47beea56c072516c7b4bb39ff35eb0398435c"
+ "a1d0cc8a3328e39b2d4abee65fbabe97b244", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313433", // aad
+ "cf9288dc9475e74906734f8fa226e3faa2468f0d3475c691fbb81a"
+ "579d5c13b43639cb3c6041c8275c39deee5c", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313434", // aad
+ "d04724a0632edda49811253b17e2661337bae04c498a7c4587f109"
+ "fa592ccdbe635ab9187c2b339da0acbb6094", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313435", // aad
+ "f67890066e4558a036a62b4bd9213ccf0f4315eb13b92c82740a07"
+ "4ade2af08b6d9ddde643292776b57a14e1fc", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313436", // aad
+ "96facf441703e408e0865faf355a02758c10775ee2b7d149b0267e"
+ "9daf58bef2e2c7274de2d958c15b7004be2e", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313437", // aad
+ "cf33a1516e83abefd466d59f0a5ec6d8872535daff4504566ce2c2"
+ "ace594eb987a3a9eddeb98a2f2fc974ba785", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313438", // aad
+ "2fd8a978b63d73f8645fac2379487187fbae62e38518b27e838eec"
+ "5259a18d2b031155e60b4d6c481a8d0c80be", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313439", // aad
+ "ed1d129f802c3c633393acf251ffb6dba441c2733e1df334534aba"
+ "99421ec125d79ca1ada0e734e533e9744fb9", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313530", // aad
+ "c674bc14e82b7907896a3796452bcc303a64c385fba50957e1c3cb"
+ "80e51fccc76c6724737070dad1b8e70f9940", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313531", // aad
+ "1fa01ecbf0ec32e636c1885a006a64aa3cb027537cd81c66bc104a"
+ "1645c02537bd675bdb8ce3c881c5a4af50b8", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313532", // aad
+ "518ab81f918a28ff43ececef9b1ca226ec17ed4d864556276a1940"
+ "3e17641e866b2915c7a8073ba935229c54db", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313533", // aad
+ "8ed0d21e34c840c8573a8bbe373444d9f4c7de6d986d2b7f660345"
+ "ac7dc724813d292207be9ce30ab405ea7188", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313534", // aad
+ "089a23761bae6e6c5bff00578a08fdda141788cb648b2390341d0d"
+ "d3d4b958cd211b5d573e145b119afd29c920", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313535", // aad
+ "b253dcc377dc56b26d0774a1ed6b20b5c1562a266944f1b65c5073"
+ "b12c75686ceaf3822c0408a1d42ee365deca", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313536", // aad
+ "ff82b678611e86502da003373d4b19c774c7a68b76fdeb51724322"
+ "6a3879e18ac0d6755d84c04fbb84840c5c4c", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313537", // aad
+ "04b23baa5637dad5038a310115c6aea3f6d61f80cc6ba0f10962ad"
+ "6194ded3c11183d5dedfccc65b2c76babe79", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313538", // aad
+ "02777d684c5ac5422ba14d734c32b86e034a262b200b3f37a34260"
+ "e9f1791b873b847efd0c6b17db85bbbcb2a8", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313539", // aad
+ "20486ed6e30110ce155c20d469688b0d03017d1dec8cf04a97af54"
+ "dc653b928393899a468ffe2e8c42b7975414", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313630", // aad
+ "5e802a20b4093a1b8d896ff77341aa91bb3450c471cb97d39392dd"
+ "ba495086c238f8597640ff11a2c4f38dff68", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313631", // aad
+ "26a2c19decfb847b1e96b13801cad812d69771668793cfe564840d"
+ "477c329677d63dc9c6a98faa2341632783e8", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313632", // aad
+ "4d50a4e389448228b0649b8ff0bfbb166255bc2045dc84e3388738"
+ "e8baac67daf648f2b227ec8566e7f75c625c", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313633", // aad
+ "30ddaa3ac88cc9489423ca5251db6f78ffef8626fb371f9019021f"
+ "55a34cd164f4011db0c828d4d17efa2e59af", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313634", // aad
+ "835446b5096a38dfe60fd071fd19e75d071c552900a04c074c84eb"
+ "5e8b1595ddbfdb80cc4127ea55c726fbe23c", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313635", // aad
+ "752026713bd450eba27f0bbb2c4b6ccb193f298ca6e0d1f1d32990"
+ "478e1e19d49b6a3659500c30ce735a689440", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313636", // aad
+ "bf289cf3a2235d2caaf2479f113dbdeabf661ead873536bb1cb8de"
+ "b9408599d380557a4c96914eed8408b82403", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313637", // aad
+ "b3e3e352157f0cc90527bfd974f34d2f6ebe089bd1c869d8db4361"
+ "48fe70d45eb5285bb2985d35e07be07e0732", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313638", // aad
+ "b332684375fd7b9aea4ffac0826cd41bcf17dfa89d0377b11add38"
+ "e9cad257d67cc0f0b8528fb85463a1d838ee", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313639", // aad
+ "97cde9b479486dd1b6e7a86d23ee499774b38100d824b45db0c4a0"
+ "ae54a6700cbb8f604cd2c0b74ac286b544fe", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313730", // aad
+ "297816af036666d9dfa11a4f8808703ef07e5b8ea520ea8bef230c"
+ "f615e2bf77a386cac7d872b84747784f868e", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313731", // aad
+ "d1bbc8d12434125fdaec83a44aa17e6124797b7c6a2d7030e7c11e"
+ "9270ee7fdda8e0d8849466e1ccc503581f4a", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313732", // aad
+ "e06cc8838cba727916a896ac0121a8dbbb354d0b1f6a6d5d81ccbf"
+ "2ceaaba0bafe069c79e41b98a24f06c20c9d", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313733", // aad
+ "d8a93aaa6caab02af7ab1feaa36b27b2b578fb8b6ceaad928ab63b"
+ "0721a14dfc562af8b4890dd76ce937eabd3c", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313734", // aad
+ "4d71695ef8efa5d3a93b4cb7d1fa5fc54f0179c318cde9c292e05b"
+ "e7ccb09770b5ebfb06a399f42f857ec6b242", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313735", // aad
+ "046118385f70a1a161d0661de8039e53584a7dd25796a8108d4730"
+ "9b3f45813a9ba24c230d650288d88a6287f7", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313736", // aad
+ "b3d252319dbdd860c21db552b35ec3260b13ccdad04f4e8f8dd458"
+ "63ec6ab78d925adf9663021d1a129430bf76", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313737", // aad
+ "3877d6b1094deb27a222c9b1628096431be3694272cb2b00ba9963"
+ "94839972d9e263f7e7d1f24c02b1a524c32d", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313738", // aad
+ "cbdb1061b9239f95442db62b26b217b2a18a5825f7a2667e0f10e2"
+ "86ecdac9b830d5d14b23fc1de10c813ed096", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313739", // aad
+ "eabb5cac3c2613492603109a0deffe93078b5c294f45dfbd8e477d"
+ "b7efdda8c830f9a9cd97a07021626919e4e0", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313830", // aad
+ "f8c59af3fe958302bd1b488489b71889ee04432b71dcdc632d378a"
+ "96081eb55ec029426956a059dfbfbb19b110", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313831", // aad
+ "8366aeb9c3535184d543422498b71806048027fa2040057a860b47"
+ "abc6ae6384f26d474342b62e45a3deb34576", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313832", // aad
+ "9038203c808d060dc818d072792946ceb3b3f152edc2cf8df3610f"
+ "d9cb1531151443a3f33964fa1f28bb33c770", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313833", // aad
+ "4ab919ca9dc6e770ab5d56e6388bebd6d260ae2fa80056ec34945e"
+ "cbdcac4806912d18cdcebe20ff4524a943aa", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313834", // aad
+ "70b7ce62c89f2d5d6ead02f7db796a43dcbd42517915e0110654c7"
+ "986b5c02e1ca18e8e40ddbd9913b1d8083fc", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313835", // aad
+ "4218c329d942b0b4eaf4493c7617eb692aa109ca1e540a58c0a483"
+ "0878a95a96d249e50dcefe8ac75b63430b65", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313836", // aad
+ "f6cc28a72a984295d925e964f20f4983d5842283f783bced46bdca"
+ "dc175ecb4212bbc9f641e13e652c7b9d63da", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313837", // aad
+ "784ca41a0e89fc2471074fdb753d41289cd0018384681eeab54502"
+ "f54dca818045b90b9723bb8709c4539fbdda", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313838", // aad
+ "a09c23c6b3314d7ea44b77c6d2ea009b04edfe561048becf915147"
+ "a50fc9870fd5c3bb9afe1cb3e7dfbf23cc85", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313839", // aad
+ "e16db283521589708dec9cb82256f21f7facf49903764c22b5fc0b"
+ "22884923ea04dfe2ffbaa4a68a5008b01b19", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313930", // aad
+ "6bd0f0ccb082320a81b89813f7c0a89c210ffca963bcccbd9d7474"
+ "83d193eccca6074f6e31aa2a1fbbd1894e3a", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313931", // aad
+ "e517c7c188e9e3e7a1f96eec5fa51998d10cf65d7846a4c3ea2a30"
+ "1bc9b4339e8ff2e38b3bec6815aa3f9f0d16", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313932", // aad
+ "0f91e094684af7cd3daf57569c6558180fb169d8aa32d0bf3f8dab"
+ "0f902371c88304eb5ca5f61d7f86c4e987b5", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313933", // aad
+ "727213d9d8da27ffddcfe71b4b6362f9796b929e96cabf2a023b6f"
+ "3f005a4b58011517b4f6ab36b9664cf5efd7", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313934", // aad
+ "5af63508aa2bbb35e3b0952a7dc4c8a32ff6ef87cdc5e53b3d17e7"
+ "f021d0975254fe32b356b354f53bc1413e98", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313935", // aad
+ "400985c7f9fa615342e96a7c1a17ee3b2951a4cdb0de92ab0a5ab7"
+ "31e53b3214fb5700fa3d1c9c65276ffce212", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313936", // aad
+ "aadf05696ee9a6c489e53f5db1ec98ae417a5f53c15ffbc0d4cd58"
+ "aa4e7cc8d06af64fb5ec55fde0b11a4b54df", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313937", // aad
+ "b6e2cb77f755b12a3663767f00175b013af445282d6b0558795bb3"
+ "b5568dbd9c9d1b6b0662fd1df65cbb3ab188", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313938", // aad
+ "91018fcd3c4387c308969b2f0d9b77f113c6d55bc35770f23eedbe"
+ "97d6747566c4b79a56dcdbfd218ed52d3911", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313939", // aad
+ "877ba807a1ac7349fa959d58ad7750649340e64069fdfc8008915a"
+ "013bb6a743c25a67198303c70b033d314add", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323030", // aad
+ "6d5ad06e97b06d43e0ac25bfbcad384f008adfc0d36d24e477dea3"
+ "f271d3720b398dded9aae9681fa951dfcf73", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323031", // aad
+ "03dacb73f03ebb216097ead65daecd5d8f0fa98fe0b144f2b190c7"
+ "58d49a55e5d8cc44d639bde16a55ce3d1f3d", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323032", // aad
+ "12472c66ee3712640f796af4c860f1260a900fa46f8417c73ab5ad"
+ "9695cf71b5bca93fc8bbc7944a3a17c734a7", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323033", // aad
+ "d9ddcde2aaf45ec01b5e08c96be1ee678ffc66a70b825d4f8c90a0"
+ "42dcd753af59d5596346c8e13fd2516f2421", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323034", // aad
+ "396c69b426a4c459c5295386cc00444bf52e64a2366029ff8b3747"
+ "fd0691292e00c95d4e0dbcb97bd96348dfbc", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323035", // aad
+ "96e9b1892fcef4cbbd12356508c0e7ef1d5a90796b2b54f97ca99b"
+ "4634904be0859d89d14b476fcac60ffdaba6", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323036", // aad
+ "b5f2ca68d59379f323f4b78addf93bc688cfcbf43474316482af54"
+ "9dab4e5a312b55c61d05e65fe890a62cec8d", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323037", // aad
+ "5b32efbb52d2088181d26d3213f76de142ce62a8d389a0758e7280"
+ "e4c2b00808ef76adeaeae4299bafcaf599df", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323038", // aad
+ "e58420b2e001772c00c1436ff2104393aa94997457d198534cf4c3"
+ "2809190e0bc545553df60d10105916da7569", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323039", // aad
+ "574cd0bf342f9c3a402e660dc053e2e6e3fc5b0465b44496794bb4"
+ "da06c9e27155c45db8a53c51a59a32912f37", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323130", // aad
+ "88b92f35a19a37098d33bbacbd595f325d1acca7ea4d9f7788e103"
+ "5fba7c032fd566f14d207b6b164d94453f02", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323131", // aad
+ "02303989b19fcc36f63f1f469a78a620d2435dbe6839d0a5446b60"
+ "07a76963f3d009a9e4bbac89c2fb32b8baef", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323132", // aad
+ "37d07f2cefa2570bde6f2a0a7c9ecd1d0bff64a391a88937e934cb"
+ "a124d53626512e0b8fcee53a32bdf702736d", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323133", // aad
+ "0c644183f62016b216a08f6bec95408b8c894bd5e8a87673235507"
+ "db69c53654e5a6a3ece38f0a85ffc5c3f3ec", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323134", // aad
+ "ed0d5870b9fd53f61f0ea32f4d98fba9f52d2bb10f2014412977a9"
+ "ce5d87b7540e76267f2bc5ae0aa5d28da857", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323135", // aad
+ "e36f8581b6c97ce6e6f44f0518690d79e78bf61376af07e149c21e"
+ "04bc6ef38c916a3c30ecb755b015551a38af", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323136", // aad
+ "c2c38b150ee75bf8228b564f3b1f268bc6acbcbf6ff7c4f33c1da6"
+ "5553f0af50b48a23c0fbe7dd59f12e8857cc", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323137", // aad
+ "dad54630194d4bcd36065ef282a924905f41b4a30184658daed133"
+ "915cb9d34540ca4fd4ac385887a3e1b8f805", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323138", // aad
+ "e5894f1ee49116a3ce999929dc94f872a288b9c4193d026d7aff3a"
+ "c0fb6e947cf2ddf324c43fbaef03cfc50fbb", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323139", // aad
+ "012688f065aff7f49e4338b04c1082c3136ccead79dd8e75f1080f"
+ "dc205b19d06509628f038e02ef6debcea502", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323230", // aad
+ "275ed11f9cc532681a5d74af6eca61955407f1ddfeee28ebd514e7"
+ "02f83bd550bbd2ac637532a8b356855a0a2d", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323231", // aad
+ "627eb9fb869faaf6854c3e5aa0db1856a185bc78d1a52f22f9b808"
+ "43694bafff927bf7d69d390a3d8beacda77c", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323232", // aad
+ "4391381b674cbae4dbbfb1d67a3742a48605b9300ea42cc6e235b6"
+ "c3e74244aa2b97e5cfdf38637c99b6aafb56", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323233", // aad
+ "ae783ade2051173699bb220d79389567ef3b3af0ca0ec8d8738ceb"
+ "2bde88bc2bcb9af2789e82a82e72c057b3b7", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323234", // aad
+ "b2641576e4c7895e0bd457559a41cac4c86838985950cc0b72afbb"
+ "a076570df6bffe81bcc1246d32934de3c3a6", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323235", // aad
+ "550095036456ce238b2111e1901a57445fb0446f5ca13b3b6ce65b"
+ "d0dbd47b68932b77cd77f5aa4187d2ab27ca", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323236", // aad
+ "951339ba87b3bd1ff5210c4417205062bb83049cc989e3cdd31197"
+ "6be212adc417a0eb4752694c5bf9aa016d7f", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323237", // aad
+ "59e209d55c81491a16dfe2d94204f14bb5b2093dc5ce87902d382b"
+ "358f56dda002c5d628fa287b3466dd91aaef", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323238", // aad
+ "aa94980387c5fbecbd3bd8750c7c6161ce727d5d7c7b70ceb51cdd"
+ "437c9ef7e1de3cb3a22364a6c58397f0ba27", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323239", // aad
+ "e9165e2ba4af77b8a32b5ebf838a52240fc0186316f83c5b9f0d60"
+ "538ea78e4bbc46aa47259369394f5cb4d869", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323330", // aad
+ "da573ffc18e6cbf3ef244a4dca22e74519c22ee5dc9652e2b69847"
+ "2cde8a268c20a631bf746280708f6340e290", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323331", // aad
+ "78ac473b85e2a5fbbcf5107456ac0411aaee5c6b91f12b454ed785"
+ "c32e834e3b6fbb53735d192db7431f75979f", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323332", // aad
+ "41b06d462a0e4a58f569e6f7083d0fd5f14c3ba558e2a69d1687df"
+ "f812503462a8c3f592f81f7a9c8bfbe0ff97", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323333", // aad
+ "fec5a49c5cb350df79236fe5fffa53e240215d0717815f5ebc9fe8"
+ "911187c719ed3e7bf2a9e8442392d5d2c969", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323334", // aad
+ "511dd758601b804bee151e05375b7bd14f8170158e0a088d7da09c"
+ "e3ddcedb56be13a218ee2f0e6c68697eafce", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323335", // aad
+ "4ddfd4a80d903cc8d61fd3457a70ad099ce479104cd3c159f1ef54"
+ "b906ac1d507d7d3a63dfabcb27047bb26158", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323336", // aad
+ "ef650ecd120030fc93068b93f24855e872ebcd62016a9bcd9d2678"
+ "9ac720ec67b15dfd17a689adeb681a8f8cee", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323337", // aad
+ "09dc5c3f7b4fe644510433f0f7587008c10f79377313fcbc8fc7a4"
+ "38f216756e2b249079de2c99a648d9a91293", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323338", // aad
+ "a47a5dd5dc50babbd80008dd8d9a0780ad6a6dd1c7cc1b9e233351"
+ "ab2ee359cfedd5a0be715d1ca1f267fafb02", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323339", // aad
+ "2edbc27b48234a84145e80e4144c722ca20c280b036f45d21ee349"
+ "d89b4e5b585c5fb8eabee5c54eab3d118df9", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323430", // aad
+ "eb1d7e8646edc46a16812fc3c6420a8de23179ddfda7964c58c0f5"
+ "095dda1f110307b0631f9886650451b91cb1", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323431", // aad
+ "3ddd7cb5c115e151c24fcb5677b1671950a28a6dd2624d76da5a08"
+ "59007d1d45c82350a4dc0c27c6aab1ff8906", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323432", // aad
+ "18a404bfea3c965b3ff3d5ebf30791c6ddc5a128443e343c355779"
+ "a9e969b372bcb5322fb8e3e3b73875e3716f", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323433", // aad
+ "36515dd7224d0ee5144672436e7a6123e703a1bec1de9b0f643ab1"
+ "004eefd89652fa17e36102d3b3a69a1dc8fd", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323434", // aad
+ "d4c351b541bdced30ba140ffb5e720e3ee1196f2dcaaf7c6a65b2a"
+ "67f88bb2d3740f024209db1308a66ac4c2c0", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323435", // aad
+ "0f95714cc8de03edc0e5a11bddcb8eecaa7be5fd5915ec3669f1a0"
+ "e4ddf978bd9626f80ef771607663d2d98fbd", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323436", // aad
+ "36ebefd76e34953e006df893765b4664527fb317a00e1a016a1fa9"
+ "a70e2a7e2ae30c2a67d9a4394484dd63a5c3", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323437", // aad
+ "90642aa6c9c033c3059ae12c4b89113f2093e239471cc02cccdba2"
+ "1c7a0f2a50d5153a81c4c1d5fe06ac618835", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323438", // aad
+ "071e084e1151945682766de3112355f16e5b88a4f6ad379cf53a19"
+ "ef8176d37c87d95531e6316f7331968effb4", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323439", // aad
+ "27b078bc6119854e088262cc59bff01ba85a332658d925accf3828"
+ "03384a262d8339ecb5f1a366c4bebf3fe73c", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323530", // aad
+ "34926315b7d922c130bc585ff02083df116a0698fde26a224606e6"
+ "dd8778b53b3a8aca1a00d85ac3b646e30788", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323531", // aad
+ "69050b4c7a1ebc34313dac74e70a0ff44a6480fcbb1a93f367598d"
+ "4514dc6cae575c1ed49bd111432edc047733", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323532", // aad
+ "39167e3ed8a92da4fd389aceb59699f402262f4ee5299110303f12"
+ "5adb668035593632029807ae151540099da7", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323533", // aad
+ "b08964d89c56b6ecfe7e75ccb5ddea592d6c8bd1edbebd2f26ca1c"
+ "af0c3c723ff02fe4c111a9b49ce319033939", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323534", // aad
+ "39c6e35ad5c7ad3e0d5971bbe6a5d305abdf672cac6265e3ec8d4f"
+ "4a844bd0e7f8f14a1cedb0d4941f6ac2ae52", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323535", // aad
+ "1f26b0232973db7616099d0067cad1b3e93b5b1273c9df792aaf25"
+ "4013b5e3deffdfcf0f4c33df5292636b819e", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323536", // aad
+ "817b3b3c07dd8fbe7a72992aea320a1ff01422e93852a3617a47d5"
+ "271f46b04c249aa813ddf097747a566235df", // ct
+ },
+ },
+ {
+ // Exports
+ {
+ "", // context
+ 32, // len
+ "847432a2d508c7de5ed7d347611239eee4de34926754b5ae75db76"
+ "0517e0a48f", // exported
+ },
+ {
+ "00", // context
+ 32, // len
+ "e7f90ecaedaeb1bc3df4f1a365863206785f2c0358280bd8112dfb"
+ "7574803474", // exported
+ },
+ {
+ "54657374436f6e74657874", // context
+ 32, // len
+ "82422ac492bdeb4fd4eaf7872865c553cbc0aa3d184f8611d3bd25"
+ "d7d21b9d04", // exported
+ },
+ },
+ },
+ {
+ 8,
+ static_cast(1),
+ static_cast(32),
+ static_cast(3),
+ static_cast(2),
+ "4f6465206f6e2061204772656369616e2055726e", // info
+ "3067020100301406072a8648ce3d020106092b06010401da470f01044c304a"
+ "0201010420544bdb78a645a86a30e322b6c2778d0399e5eeac383f2fcad020"
+ "389de38f59caa1230321000a90e9401c144b93db691299e3c8b308225d4df5"
+ "32d47de07907065ca3d69c1a",
+ "3067020100301406072a8648ce3d020106092b06010401da470f01044c304a"
+ "0201010420ecb2a337f56cf116f01524d3ab2a1c970f614a97b731176afafa"
+ "29e8f88da58ea123032100020f94384faff781ca7aa6a9af690a6fd87aab48"
+ "ec3ca4f37e2dcddfed5b3a6e",
+ "0247fd33b913760fa1fa51e1892d9f307fbe65eb171e8132c2af18555a738b"
+ "82", // psk
+ "456e6e796e20447572696e206172616e204d6f726961", // psk_id
+ "0a90e9401c144b93db691299e3c8b308225d4df532d47de07907065ca3d69c"
+ "1a", // enc
+ "4fa99d3ddf919af9349866a12a9aa4d1cad6a1b9cdeda2fb1feafaffdd374f"
+ "a5", // key
+ "8a0244cf0f000b92a539a7ab", // nonce
+ {
+ // Encryptions
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d30", // aad
+ "e047eb35ce40e00d40784871c3f91a584f3370ce5ff8cb645e66b9"
+ "476c46355996568f73a87f9fbb329f394d37", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d31", // aad
+ "e4918bcd83e6220008cbf08da9095ddd95be0378b4b9808872f845"
+ "a4c051f34158e8268c7f0700ba4d174a2df3", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d32", // aad
+ "afaddefe60c53238146d758c47fb6174fa0468f678a2147018b44c"
+ "bc74f916f30a5e94953a0c5daab8656f4996", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d33", // aad
+ "287728d1de26158883e27224a8869d8a0dae825b0780bbeb54bc0e"
+ "f3a9dc3000e0623f19eb8259e8dae3e18f25", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d34", // aad
+ "2c36580e20f3a7e2f4383c5b836df2668cb455c1d39485abebb671"
+ "9fc869d4a748f101724f6903a92417df566d", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d35", // aad
+ "5e0b8f68f08b1b6fb3f1f19b6e660a2d351b3416eb6eaa655085e8"
+ "5a1dba95c53f3a67c08e71345038a54057ba", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d36", // aad
+ "710f4c884bde6ae3d17c6eae6547a91ec47fd902d13b499c355994"
+ "86e0a02c0e21ae7579a957fac32e8001a5b7", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d37", // aad
+ "31aa8fdadea696d9878160bd2af5978350ce9e574afc7024029763"
+ "432e22bda1322c4ea1aa97c425a5fc7717a0", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d38", // aad
+ "fcdc89154e17cdd45463d25d3110644142fa31d3bf8db5959779ae"
+ "d97d01037ce45928589e55ede0b47cec574c", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d39", // aad
+ "25913d45720e81a1e3d42fbd293ab1f506558cecb072ecb0a33e16"
+ "6fca3194bd7f52827de9778271d84eff38bb", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3130", // aad
+ "207b24c24787481a50f702a48734a9cf006080ee2fa54d31799ce4"
+ "550777c1b9aa53b1f9c6c0a4d22cb3c1afd2", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3131", // aad
+ "9885802fe818acad2541f8939cc6ef92e0b82ac96529b6c701a5f8"
+ "ab196fc3baf877b77c7c86bdf3ab8f4a9121", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3132", // aad
+ "56759ce2cae90023d23c96910ded636340bbc6317886d243a6708f"
+ "9a0cda56b9310cf620d459ef50e761992b38", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3133", // aad
+ "3bb0724a8011570cea3286b69b19b4b842c40c37ac0585244748de"
+ "72e473d0b58220648c2d388400218c97dbf5", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3134", // aad
+ "534f7dc59c780521c2e62973fd0447dad9686145c96b2db99229dd"
+ "8e645212e08f55ae10494791a8e369f43bfe", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3135", // aad
+ "f40408e56a5d30057c5746557a6ef125a533c748ea9d6084d39072"
+ "b98c74b0668cb22f441b8a1f249f2e80ce53", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3136", // aad
+ "aa871cbc58971c1ca675c3f1c98b9ec7de83c1df7ed09ace75d6b9"
+ "10a4e3c516812d58d572e9ae893270400d90", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3137", // aad
+ "ac9062aca921dfbd1e80dfaab5eda32d2b1b2cbca77528cfcd972c"
+ "6364540c8c6c739c679b6ad36e4312ca3acf", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3138", // aad
+ "445c5e4323a522f84f5a9f79d9100c527e57d8960d3805cdd85d78"
+ "b5f80cea1e4119e54521672a557406b613d4", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3139", // aad
+ "f098f11b7cd697ae5618ce0e83261a57f3bee0e912eaf9a545f2ca"
+ "4d314096de0eac5bae1fe65ee11df4667132", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3230", // aad
+ "4b9dd2797f562fc77b1823ccdec2e54fea281a7546ff6f33515274"
+ "beb664136a0ba9be99d76fef728b7648ea83", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3231", // aad
+ "7e4b94ac4f8f253ec39e2c0db605378137c712cc0112da7c863b50"
+ "b44a4a02d8663aa74ded1ed6f2f9a8131db9", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3232", // aad
+ "1ab6d79c9dc831b2c20fdca92bb566a4a5a68bd2e0952c9d57fbac"
+ "7a84703a4f2797bbd729895d1d4e89fc472f", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3233", // aad
+ "7709f701d69036fe5dbf3c237fae9c871a71f3fe714032056cbe2a"
+ "884f9698c5bb3708e603a65a1588e250146c", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3234", // aad
+ "5577db783dc20cf6a6464fade4b445e3597cae4cd9c21ee0f6f740"
+ "7b1ead68e6de254d63fd2d0ebd371b5361e4", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3235", // aad
+ "2a61b3fd7db45bc374f2d0dc3d76a47c0f174a83316c484350409e"
+ "1c37dbf3b01fc7b480c3fde9b3daacf8b2d6", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3236", // aad
+ "5ccc1528a28f543010e4e0a49da0a9e85fe91e4190063af5f8122c"
+ "eb1e6402477841f75faeb57ce881081b8c0d", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3237", // aad
+ "1ebb2e3aa5183eb6e1b5cb56f6c00f577dfac1953c9915b13c6398"
+ "54e38c799c399eb9a9d4505075952d40fdc9", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3238", // aad
+ "5eff8a39a9a9c1a63168b881a8a7c91167a9a0b05f249ad11bb60f"
+ "aea258220c71db7db53f1fff8f18568fd5e0", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3239", // aad
+ "4749bd7ef7a0369d2989aeb7b6fdf2fc1cb87f2407684e16a696be"
+ "8c5740414565fddec3fa61a1a33856a09e91", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3330", // aad
+ "14f4dbc8b1abbafc8f06015c819f1b9a8aef1f71f297a19038cf8a"
+ "cccc66c13492faef70c3bde039f6ee2c309b", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3331", // aad
+ "b73d249dc86553d45aa4f2aa9fe27990031ccb2ff2336109755b43"
+ "ec692df8ced3e4bf92a5625c91178fef37db", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3332", // aad
+ "041aedcfe640b7b67a1a5bd5075fdaa0d8d697911c4907c0bdfe04"
+ "adef80da491bfe036d749a802ef230784c56", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3333", // aad
+ "05c9a704dae5abb5704ca37e0c9597880af6f00ed9c62ae2472e45"
+ "2ba5be185ecb56c9da8a7492926d48aa73d0", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3334", // aad
+ "29c73ad3ca2d109d9ffb7ca764da0275d4fa419f9d1cbf8cb58dc2"
+ "31865543ef00a7015665cf591fd47403a328", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3335", // aad
+ "5fbbcf3a4d67c448c4d32eb64866360e33c0bef640fceb35823f10"
+ "b957293643c5359c400c05865304aad66f84", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3336", // aad
+ "147d4cf95da77e2229563fdfa6b9bc7204d63bfc0a14b27ec36784"
+ "6ee9704a80f7698e8d22c9437f3f492f7d13", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3337", // aad
+ "a6d5b326df4e8d6e8eaaedb55a73cb675f3be4a2563d9e20890db3"
+ "0b012cdb929d824cdf0407ab3d9dbfb62d39", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3338", // aad
+ "23d47abb1e7dfd86d9494b1880ddeb2f8ea4a023012e29dd8ecf1c"
+ "d5688e6e9180f0b68b275c72e6bb9d8e7108", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3339", // aad
+ "f9b52f97a209ee0c082b908e20e970c68c4fb199988992d353faf5"
+ "6ec2ce7fd728396fcdc07f80a1eb857c410f", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3430", // aad
+ "3c4e750b0e2faeeee1535bb737bbaa225d749fd00b23a2e3f8bcf2"
+ "66752e5a5e498f1723f80c2557e0303687a7", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3431", // aad
+ "2b3e239d748b3087635b21a8005616b400553bb99697340ec1b2e5"
+ "05242ddd5e1c94096803edafcf97a2c79e68", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3432", // aad
+ "5441b827835c397578b17cc4a022d920a52c5ead9ba77ffe168381"
+ "4a60f819fd3a0d2c413835f826f532850239", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3433", // aad
+ "93bbdacd86736b83ea807e4c6067b081d91dae092cb8de91e11832"
+ "ceee0b90b7c9c6f370b3901730fa9fbd0bdf", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3434", // aad
+ "4b0c46285d894f5ab500f41ef0c193dbe86f99f25f13a555b71d7b"
+ "d8f1fe1ae83f8e4b6d4228859fa0b0c85bd8", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3435", // aad
+ "e012e1eb07ef0a4a379db62fac2a68ab2c4ce7630b24cbe6c806fe"
+ "19f1f906135db6b7e800a58815086adc1759", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3436", // aad
+ "69a5b1f5fae40bda59c0cb3665fe0b2ecfd2059a733495ef8cada4"
+ "7770d25e0cc3e79ea0957933bbde80393593", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3437", // aad
+ "c503a20504f7ab111cf361b378d4b63d5e0b4960010f9d6c4a3329"
+ "58d046a90f634ba2a1943d7f6715695fe77c", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3438", // aad
+ "c936ab64af6f7f0dc4ac199b67173faca2184af255f0a32ddb822f"
+ "b592c61cd489f23aa8131f143a87e7daed3e", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3439", // aad
+ "269747b90eb39eeb3a765a7f6692871f715d8b7619a58337f38287"
+ "653955101e153d5e5b0e5cfc5fd4360af79e", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3530", // aad
+ "ca7a5856017ae1ea7674f84d768e5f212853ed68b1274aea034f47"
+ "772c06846f15e614eaf8cc6594c8b4e749f4", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3531", // aad
+ "f79b74bdc7b3714fe210b235e83fcb9ff980406ae696c9d66bf54a"
+ "71ae9b16f4cedd68059a2bb770d40255452b", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3532", // aad
+ "ca6b56328fd3fae7d990ad77d8cd5786d7f93d2c54f85ed68eda69"
+ "4899fb17d141717320a8e1c0dd97e8a6b373", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3533", // aad
+ "ca12f838f3e203e9bbca3d9a22a1cb698cb61f407612a9be181a86"
+ "9f37c9ef2a6b5f7405afa9acdadfe94c36ee", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3534", // aad
+ "f07157f038fd85f97356564253480eff52513deacb1e0f0b20d74c"
+ "aa24de48f6ea89abc14f22aa726554ac2cc4", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3535", // aad
+ "4d08674c7f6a9d63a15139ba2e6950523835beec59c42d408e226b"
+ "3423996021984d0a61d794bbf59194743db7", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3536", // aad
+ "d1ad338db5f955bfeb4b0b4b0e5b84393c2662c203b137d55cc2c6"
+ "40a47dc36a754cf6efe2a585f3b62f5e5f4f", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3537", // aad
+ "d3d3190aae47d05c743130725bffc57d7673fc3b8cadb5e38f35f8"
+ "d7691c6df9b7d43da742c7d359572f026d62", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3538", // aad
+ "7aacd5184fbd4101bc84cdb8f32de67a6684192e4805d9271cce5e"
+ "e98d9b5ecd4aee294399166acdc2d130e0b1", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3539", // aad
+ "3a2d0f9b1b405c76d365f733970426375e0c375c7ca36dd434be95"
+ "a9efa51cae1cc5d21011ab9c35e746f039cd", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3630", // aad
+ "4f1f320b00971d294b29412fdb0b5c94352e98a5f947ec05f7ff9e"
+ "589d3c68314b5d5d743f779911a3615a76ad", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3631", // aad
+ "97c04ea6ca36abf66bd1e5e824099f4b0e14ae8d8d1bd517b8239f"
+ "622e80e3eefd86f67b74d0a468f18028ad1f", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3632", // aad
+ "3bbf67f18e738d1b64e382a2f46a23252732ff274c890d23949326"
+ "8b0be2df908b53b589610a0aa00a0c633f44", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3633", // aad
+ "6da00831a53067e3d5890adab5c8ee9a9e4a7ee0c29e02fe148d92"
+ "8ad2ebdaa0bf05641b4244a9956b296453ef", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3634", // aad
+ "f852dcf49cd1e27704d3a132fa8b027409ccfb06ffd8d23b7fa0bc"
+ "4f03ac55a995ec581c6d144c86306f388cbb", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3635", // aad
+ "c5ce38c62291f648d51fa27e3fe8a7aa3d351a2bbc4076882a9c26"
+ "2d2e81d94f6d4f2b7b3d8f27ebd77b090090", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3636", // aad
+ "fb6ee1880e1c7f5090a16be6834267d2f464b1460cbab7794ab341"
+ "e68f9941951b4b116a9846ed63bce6f77867", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3637", // aad
+ "1a6807bbf7c61fa52ad8277006ee88a43e52509ddbcb6029e04b42"
+ "1623fa2a4c92f097c54f7edf683e13e64854", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3638", // aad
+ "d7934dfb89ef9f5e8776c349d97fba1a0f86938efbc1cd76357e4e"
+ "adb23300ebd369e708e19cea455568812a43", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3639", // aad
+ "c4ef37163faf584b6ffb093773c23433fb954e5d25359549044604"
+ "3988bc9f7deb8d1f020b4390efdc5e33beaf", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3730", // aad
+ "e5ef6fb7bcc3af9bbd8865f02d5b7bb8e1a19bcac1a33bba159d3f"
+ "9d101a9e9d1236d2e055a562cea9daf73780", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3731", // aad
+ "8f50239df1a48a7f90b867220d030c07e765345d9bf6fd3bfa6500"
+ "7b10381d691bdfb229fc9f9c2ad0b026328f", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3732", // aad
+ "5d3e47a3a8e5b6eeeae6cf6161826f96fc177b14c213b99127a1f2"
+ "2cbc011bf3776da2fdff51f0f4a27661647b", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3733", // aad
+ "3373974fd6873a037b5dd08fb226efbe1549a0ef309a68feebc385"
+ "501d16e10f9cbf9be6a46ea6b767f2e9907d", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3734", // aad
+ "7a18905cdd9ad1f04dad462c310bc02b7fe68d56a7283160711d06"
+ "de3ea41e502eaf3ccd57b7aa6045eda2871f", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3735", // aad
+ "1de097701852566629bf4e0f9927ba2e229fac815aa5932a103ad4"
+ "d64f83c5433c5f5b699bdee7cce8d1fef6f4", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3736", // aad
+ "011bbbf1df9745eb28d8e095600ddab2cc44dc80b2a35752586497"
+ "017b9697a14c6beca949163fa01b1ee5f745", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3737", // aad
+ "fd022902bcd1fb3eebbee41a97375a9a074cab905e012308f49773"
+ "ae02f751c90e572b490aa27cba1809acfd45", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3738", // aad
+ "3e793b3585c0124aeeb4781d7cb03c83d910996c311e15fc7b10f1"
+ "488276ebf46c62ebe07b7ac9f31c33a94614", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3739", // aad
+ "94141cc1e6dea96aa222327f59d4004a7a8f94ecfa2ac8c5603352"
+ "a437985c2377d7777ed0023ae5668495db08", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3830", // aad
+ "176b9ced0aab0c11fffeae10dfaf15ff073ceb573adb7d2f7d99ef"
+ "cd48c060243b4165dcb6c629d459c34faec5", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3831", // aad
+ "12ad1fc3c1d0f0f32a7a02479a064b502e5b27726b5007048d6f9b"
+ "2e9815b774200207c204999fb2d79833d2a4", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3832", // aad
+ "2cff33729fc770f319c432e1b121eb40bb6787e9147bf8dda29976"
+ "cdd562ff246759e62b73123d7d19b46d1ff7", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3833", // aad
+ "6288630ffd73cca19d289ec6f0263d56c84f515bea6a4c4ac1c75c"
+ "4e763d15181a81e3f98926923dde60346103", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3834", // aad
+ "47b156a2d26b07951f68f0eff1d9dcc35c628041c186edd969ccac"
+ "46f9ed441e960aaa87816e6052ec8ec1580c", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3835", // aad
+ "34cfc6a438e799e058b7831b032e7299114738b62c006c405e9922"
+ "575a3ec06b58b6a46003f17ca86d9fa709a6", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3836", // aad
+ "7adb4d7b73dba903bb6f8c5eaf52d5e0fe5786515d0c4095a62374"
+ "38be494dc1a14069db2296ac7a1dffd1d7af", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3837", // aad
+ "8e3db56ac97d7f8ee5550d9df1b972f5aeacc64aecf298208600bc"
+ "d82a3bd8d7e49f2950e644526c5bbd48e2a0", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3838", // aad
+ "5f2503aaf21ab57c1a7e18d8a2a946550e9b427f1fb26b9ebbdb8c"
+ "4ceb1b8cf7efa557356b16d9e7ded6d1639b", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3839", // aad
+ "5cb300b57c7094b4eaef3212a7bce6aa08cc8276d86374388571b6"
+ "0b5d1fa0eb0955ca6b4a089378c5aaaf7191", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3930", // aad
+ "3b94c66aa1486b6cec8b651f151e59e0476bca9d0501adb9e9f714"
+ "67ce9c3f2dc7bdfb83fe02064c34e0536492", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3931", // aad
+ "5f48b4354de5e1abc234965ef0feacb473922e25e1e98eeec34821"
+ "04599f6d8ad4e8e9d66c0a2850f89ee6cfd3", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3932", // aad
+ "94d3d0c3b6f3414f8a81b439a1d5dac580b3e2f438d34129761c62"
+ "0c7407158e3883b706edbdf1e7803964bdc3", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3933", // aad
+ "05ea9eb5f3987e952b059c42d5c9f5d382a7a54bba175f19955754"
+ "a67dffd8edc2296070e5e06f78f3cecc33d0", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3934", // aad
+ "9a07f59c48d26d011462656b954fcfc13f4f67534d275820cd90df"
+ "4c750d23668b1ea89cf76013b5d01e31db74", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3935", // aad
+ "b0dda1055e31539eccccc3229908f11eb0b45f20af9d7c818bed71"
+ "a246210a7a07943631c345ddee6dd5ecb90c", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3936", // aad
+ "a122d1bd43579191f629a85929833f2d98ffb9a7fe9c82612ea1e7"
+ "d3f4985cadde1df20420ccc6e46a3993b5d9", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3937", // aad
+ "1b3e8a7398e0b7f7e95bc4525e29c8e48289c5c27b293d2af251e6"
+ "0347d518b6a7791ab5ed80c69e118bbc9c39", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3938", // aad
+ "ff3569fb79bb31f7f59f1c723f7ec1cbb7a9bafa0571c7a686d3d6"
+ "58c526fc39d55d6ed3c8e77c7ae4540c8b57", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3939", // aad
+ "907af7b10ef1c2b97c2f7ff93bbf79c7b20e8c2579cebcce9d4175"
+ "800bc6f6049268eeca1621faa320e61a70c5", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313030", // aad
+ "5dcb8ba12ec68688679a84bf95d17cad393126e11c36f8a6c9669b"
+ "4a69d4a428505e74c4c741685ac521707f45", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313031", // aad
+ "22918cc5b0bd00b39b73bf46385e2fe872d9a93ff796dd0f42f331"
+ "6540f59883e13ac0e80e3323e61ea91e0cb7", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313032", // aad
+ "1e3cbfdef301514ab8a05a5bdae2f867d843b776831d7734de00ac"
+ "c0ab33c24bd61f23f8333196941819a6a5dc", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313033", // aad
+ "48362843d037b2c44622d9b35c41d404c280d03c5601f8c13c87fe"
+ "079d1b52f910c93180ca3d5bf4d538f1d34d", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313034", // aad
+ "b7c7e0e3177e30a4860e8ff0d833aac9103ec3b99b47cdbd70533c"
+ "db4f36b8e01e0cdb39370f7254292b60864e", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313035", // aad
+ "61fa7310333795a3701a8953255275cacdc9c66245c90ee1fc86ae"
+ "53d338b0a84976a29bfbddc849ca39bd3411", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313036", // aad
+ "e5dd56c80e93e9ebe923fab16b882d8aa0249a97278de2bcc454e1"
+ "a3efc5afe9969a910b2efb6de30971064216", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313037", // aad
+ "30c2c99ebd3118b2ca892f05984280e95184369eeaeeadd0a8ce80"
+ "8ecbb3946f75f3fec2171d2e736b2caa1bad", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313038", // aad
+ "3b06144c7f61f64d904948f2246fc498f4f083f267b7fcfb7571b9"
+ "4c772d4a55a151c59587338a5682eddc2bfe", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313039", // aad
+ "b32d5e859e83a353fdd1b0ca385d8cfd45a75f6a9168c96b6b53ee"
+ "ad037dea00f67271b210558fad52a104b882", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313130", // aad
+ "b2a2dd370690cda9b1ab75012f09e822dee622e12e0990d2d93342"
+ "eca798cc3081d1ea68c95b7031f5d0b68b29", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313131", // aad
+ "2087fc80af522ae4b9c7409f35c6748e7d8d63e558cded354b9965"
+ "ae4bddcbc22bd922fcb9cd6223126950b94d", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313132", // aad
+ "34fc07388ed1f849cd3fb343b4d69ba34cee3ba5165e11e90f5782"
+ "e43ebd81baf0e3eb6d7aaf96d32e47195026", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313133", // aad
+ "c9558fc34d9cc35232fa12ff2d915a93edd947261d75ca04594e19"
+ "c8946511b3678443e5df45df9ab3381438e9", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313134", // aad
+ "7dc51986286ddeb5e1efaa4b0bd8673b00acb10ce2eb95de681941"
+ "7cf4a87d0b9c2cf9c821fdfb351ac7d05d9c", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313135", // aad
+ "d195d5eaa17b6cd02c8049f1de434a11268f3d9d9d890c3fd2038a"
+ "d2db5f43bd5a6d7d5bbbe8109e4b132ce0b1", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313136", // aad
+ "5f6ce66519cae44cbd3e0e934e9aeaaf5ac81b21e2313534f49961"
+ "e8978ec4416c0647bcbe7a5d04899b86cde0", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313137", // aad
+ "3ea4a11a86130a33d1c601ad5f3d6f5e1dafe97602bbe5a8fd3e13"
+ "9b7c67368ee26a9daf9b6c3c352df1ebc49b", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313138", // aad
+ "c81f34c779509c7c8555e34f3e447c7a079007a463af605a9d2cdd"
+ "8e02319721dbe7778d91472df675460a9423", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313139", // aad
+ "82c972221ab4185e20f2a2a8038cc5c69885c61291a91082d4a598"
+ "7cb9665ff416d31d078e9853c01064c49afc", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313230", // aad
+ "c5baeaa3fa3bb04d007d9c17f43f3acea3295e570e7c3413bfe313"
+ "233a0e341db13713061680f59fe7dcb2027b", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313231", // aad
+ "468b4d8f3524a2356dbe432dc3652972d7f2c4485f12fea3277bb9"
+ "ce4f502933ad63c8c9b165100012d62ab765", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313232", // aad
+ "dc0b4ae9f6f96479cb8abd65812932c194e77ef21ea0bc77806e8b"
+ "bc49473f273ee9dc2318c56dfc27256b4b86", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313233", // aad
+ "76134744c3517bda223cd6e82528fca6b5ccd315c100c519a93a35"
+ "10722bf4b0cdd61382d721e01f8489627d31", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313234", // aad
+ "5bff51268f15797c85ab43bb9f83bc36fc184a8d4b48b6ca3ce298"
+ "f83e74a6b3810c3ec47a8a77e9714474ef4a", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313235", // aad
+ "d62fa612af3a158f964f413606150b71665a0638639f312e115e62"
+ "f36143865ad9f4e026fe5b6a4fbdb33453d1", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313236", // aad
+ "c296fd3296e7db112d589799f789799e4c6a49bd4c82d169d7ff56"
+ "bab4e1632d5e72a3d6a227360e28bffc42b5", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313237", // aad
+ "201fab094368d805c4742f0931ff235180e4b1c01c89f50bfd871f"
+ "320bb5648d8bcd29b098942b9c3b9e23b609", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313238", // aad
+ "aecdc78f4f795bd01dfa23e5f2b4c3ea10fdbdf75cbcd4436b18c2"
+ "76fea6f0908cab8545d29c7b767ad6239451", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313239", // aad
+ "05c8dcc6e98213c3357c9b9388c0426f461bee450973af780bf432"
+ "44823dd2a3b93d894f2c5bd77ca88f5dcfb6", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313330", // aad
+ "dac0f149541aeee971dec3d801cbc66de857b4dc2f9870e6ae8996"
+ "13f291254b25b838cd271cee602ba5601461", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313331", // aad
+ "87c4b514a4255f76e656c3a65067c009f3ed9e7091b2716ca777c7"
+ "1ebf9845329546973a92673ab2127e0dad0e", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313332", // aad
+ "7bf6b1fb6c2ab0669a2597ddff66119c2c81a492f037dd1c4a57a5"
+ "052de209e20c37a313c3c7fcbf946dbd5141", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313333", // aad
+ "837b3a3454b9d11f32114562dd38be1eb580ebcf3ec858de16d007"
+ "9ad1ff055b940b91d4d760c5523a6911e2a7", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313334", // aad
+ "06afe604c172fa1aa14ab92c171d619cde7678892c50809b2ebfdf"
+ "45507801880223c8e1fe17c28c9c94e021fe", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313335", // aad
+ "eb4af1981a408bc3e2a00f599b4a62b047b74a9e524a2ab6b4e783"
+ "50ff51265c55188600807f58372ac55218ab", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313336", // aad
+ "f43aefb22788ee3846bb8eca2b25ba2ad9c171bdbc56eadcc83402"
+ "2fa4ddf40108b491d099bfa44d1a2a3ef7c8", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313337", // aad
+ "f2cbd40fb454821f959fe6d9a874cb03113713ba76fe03fd3cc94a"
+ "e668f82f050927d40677da60e34e76e0cfee", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313338", // aad
+ "8988418cba7ca876f951c5583cab4024f4c51ebb96d46fde42771c"
+ "4c9ea24dfbc052545a036f837dab22201ab3", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313339", // aad
+ "65e965d1dc8de572565d04602c7e2105d714e1c03b1b2a515aab64"
+ "f5e0a2d2b28236417fc0e517bbf44dd63402", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313430", // aad
+ "3c30ef5d0fc3a0d81db44257fddb450b0e78e03564ba3286dacd62"
+ "0d505331553b46281f3baaac21fd5e7133f4", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313431", // aad
+ "605701d7eca097247efc3e5062bc2d095b14c4277eb275490d646e"
+ "f789b2b6edeb0a08cd4c97cf4f94c52808f4", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313432", // aad
+ "f0a5c285d916fd90cd13fbae6942eec6bef9b4c4922e14681809c9"
+ "438b76304e5f174c0612b37e83c334253f09", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313433", // aad
+ "c4cd830095555da48ae0a1483ee55c42e13fc5093d2f632a30c449"
+ "a865733bb5040901a8ca317029aeffe0817d", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313434", // aad
+ "01ddbbbc1d43d5526953c88be724d603f2e4c50240d7cb89fd50c5"
+ "b6fc0f81a1f6d68cd43cfccae8796a5d8576", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313435", // aad
+ "c7b97444c614e3f46b6ab4291b8a8e6c0b812945cd7e8ccc2210fe"
+ "20b43e97f63a4d1e38899949321fcb74694a", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313436", // aad
+ "bcb26ca93235eaa439d55b378248c01d123aa704a687ddab1cb724"
+ "0061ea96142d9422f767ce7cc009398f7764", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313437", // aad
+ "f07660158da9608ab79a5927251c25de76963f48e8af440dff5272"
+ "67d44582593a75741759d779c91860394576", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313438", // aad
+ "8f52e476f030e164cece1c471ed07694293d7586d601f99536b2c0"
+ "20186a19c7792a56950585e3bfd0056ceda0", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313439", // aad
+ "e6908dae14f7f60a815a63ccf473bed0e02c927f4df1e47ec0722f"
+ "e4d2cf78215adba3e34047744d3f9b01f77b", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313530", // aad
+ "92186344cc15da4673ce35e1ac25a1af09b6eb3a8da4f70f5409a1"
+ "1f2c6c7ea8983279b840a51c98a64841852c", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313531", // aad
+ "2a24bc62b7cc5fc1d5b10653ccba69a59b28767e90366af498c2cd"
+ "b90bcefc53e38cac84779e0474c15affdc79", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313532", // aad
+ "74292bb872954df8fbc5bc67210c5aa37c87b1a868ad8dd07d4333"
+ "6e49adee402eb4ab3c7fb82e690330aaa90d", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313533", // aad
+ "851bae7384e97f189273a1596c97a780ea0dc44884545ce87a2a2e"
+ "465c12581086d5503d93c45d7b0ed92538de", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313534", // aad
+ "39888982c1ec5c3bd69975537d32c44f41ca3dfdc1fbcf47d15837"
+ "5459c030415050a13b277e662ccad8873da4", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313535", // aad
+ "969bb7a9e1d15661c92527785280bd48ad48dce0ad2509b65c2814"
+ "f2753ded783da59dd658ff9a9ce236f62e21", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313536", // aad
+ "c2813cfa31cfbd7c74227755b60513abd4cd33e59977a1e48ac185"
+ "e70e22781c284fbdb3abb80a73365dc6450c", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313537", // aad
+ "0373dce8622c184d1c34ba1ab433bb30860b7a56975b8837d993eb"
+ "f3133b2d26a31ec7a7711cb3d7d334dca144", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313538", // aad
+ "e3b992f2e7eb20c184010429ad9b54fce863d428a7da07fa79c6e3"
+ "7d32833919248e2d5ac744d2bbc56dea0a44", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313539", // aad
+ "6b76412a18b5fe5dbe49d000c46a59a5e4777779a58f89c9758266"
+ "3da5e9547dd33274a6e9be5c6fd841546e82", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313630", // aad
+ "a17846da5a7b16044bc8bb938bb93d023d966c3b100d29986f492f"
+ "6560459e1e68a0c28b41e34586501e540d52", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313631", // aad
+ "4729d3ef3dcb935de5cbace353f9179078a914b7bc4486d53f6c4e"
+ "fb76282315dfcdbb7fbc8bc1f45de8e18db5", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313632", // aad
+ "260316a508e42abf057d1cf014829425dcc2ba721e63d1fb74b690"
+ "687948fdf402c9ad2af52e037e7e8bae925f", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313633", // aad
+ "59baf80474b29fa8b2c6429bb4ea68b9d273f139c9ca9b04a04f93"
+ "9258a92c3429beb8d28d52c3fe11b87f4981", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313634", // aad
+ "f4b436637fc4aa57db2ee81a0914ba9c027408253a72c5d7a12129"
+ "cb6a3fc3cb592f856d1ebe215475aa85f5fd", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313635", // aad
+ "49bddea7337c01f5d2ceb20d7cf7c7c707699c68f68b15f5689097"
+ "1361a4ae80324f9130cb1cc7cadc414bc24c", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313636", // aad
+ "9d831cd29d97ba945d690112544c56cf0a186c37d241de464bf7f4"
+ "399db3636e3f2e23b76b279c7da217fd124e", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313637", // aad
+ "d929e821a69d5970d387a395e4234ac92317cc86cdfd00998d7ae4"
+ "a0bd83a9b0bd1799a9099bb837ee6cfc0daf", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313638", // aad
+ "5cab8501c36e179424472c9ffa05f10bd3f7682bf3cb5cac914b49"
+ "abc7ad79230b57a21f45c9b32f762600e317", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313639", // aad
+ "b960c40e975f87ba191c6e0c094196868ba40184c32430021ab926"
+ "06982189cce165e81f47e4902a9df52a967b", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313730", // aad
+ "d0baf77ced22fa09904087b98c2b7d909d93641b638fbaff2ccfb5"
+ "98ada89f08c721b6120b5d4b77e99f4ed5db", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313731", // aad
+ "48e4b77ac5303b64b7aad17320c7bf84df88cffc27c53e87b70164"
+ "7f287a17be29960dc972f28093351fa90ea7", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313732", // aad
+ "57ea9e3c024c58b97f914118bc8d366afece8042ea4042181b725e"
+ "aed6a86542fd70526fe0c6c3b8c98f21dca7", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313733", // aad
+ "d37cbc6e1ca2bab21d61355acaae85dc6b759e1808b4cae5df839f"
+ "2a01994345c119ab496f5b3382f3eeb7f5fd", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313734", // aad
+ "14ee5f90f013b18e4c49e86bce8fe64159d0b11abd078f0089e22a"
+ "24d0f0ed87c20523ac8ffb4addfb6f1e5036", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313735", // aad
+ "0398ae19385581d886ebe2d7612b3540cbd06133c39f47e2479d14"
+ "d8e848eb38d1edeb3329591882036308c69f", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313736", // aad
+ "6de53a88f52d563c8adc8281f80112242f612cd8d0bceec90af535"
+ "1d7948a5717b57b39ef240c4677adaefa75b", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313737", // aad
+ "9bef2754c9c02b038d6af3e3dd3391af27f05f4e8e13312d6c8ba4"
+ "eeba2e021af3f61ebcc715c923b8c1ea6e88", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313738", // aad
+ "5a733ce779d4e5234ff723f13eb8f5ee39247259306968bb5b3324"
+ "de3af8c9c38c4fe991f0f9c87a1487b72987", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313739", // aad
+ "0df38b93cb878f774d72240cd6e5ce5820d6a80c76dd212b95b327"
+ "3edf8ef90c87a56dc73400fd761058786230", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313830", // aad
+ "139a4933252395db8a1a68a4f074cd6b2d179ccc6f7151150fe4b7"
+ "419fd0530186d8b34f4ab2d839189e995d85", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313831", // aad
+ "cc9bc5fae37455b84ecfb154e398c528cd4ec8468a1735fb1725d2"
+ "dcd673176de78f1351fc31a6e1a92ecd2818", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313832", // aad
+ "a8e7866ef0cd80e492d667d37ed4e4079e9b3eb91f6cae400024f6"
+ "ad7b214acd1883789467bdae9f8ce6be3f1a", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313833", // aad
+ "22e9c5c1e1727bc684b8006a0573342e51664214fd388b2ae956fd"
+ "cd26451b9593b93aaa830fdc0906b2e23f0d", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313834", // aad
+ "3845d678f145917f9f50d6d935181b1349fadde04428f72415269e"
+ "776f34e3ef0d80fc4b68d5bf0b0a3a18df9a", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313835", // aad
+ "de091683a3cfdb9b04079b55adfc4084c9255bdbc271c7a7043899"
+ "5ded1b4daa23312fe70e3eacb72545953a52", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313836", // aad
+ "f32808a055af2df47cfef88f75f02d62098b65d69862df857bbd30"
+ "d7d6557fab449b63cbd459735f7fb86873c7", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313837", // aad
+ "ad0e99bf0c15523fbef6c25886d65fc7d91b0e3995fd4d5d448ee5"
+ "af04c17fc1c5352e37d2db3ad4515ee858ef", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313838", // aad
+ "1d99c341558512e2a21a5afe59c425c9ebfeb8ad11b1793c2c1ab9"
+ "04d7a87860aa96aa13e61869eb9d5eed93d0", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313839", // aad
+ "8fba8e393263158b33916270e292db616594d355361e27ea0026ac"
+ "33632687fb65a1aa87c4e3b33c69d9bae10d", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313930", // aad
+ "56037ecb19be8159706d995727e381e4d727ffe723326a4556bbd9"
+ "2deb8b990d258b26c6920a8ff71169b2f903", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313931", // aad
+ "fc8d363f82ed1f1569aa4ad95de4b35f8686055d7929948c54c842"
+ "fa38c27c3fdda7c161a6d203a78bdbee20c7", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313932", // aad
+ "7ccf4f4e799f93b977204d67e1057a25ee34c51e7552ded39249ea"
+ "37853ff4f191a07850e62528d44697c0494e", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313933", // aad
+ "2ffad6b16ecad80339f19855b4e1bce2e67c1c4301ff4585c70e53"
+ "8e38b967f0a6e0148ab9a1f8098a62ffc88f", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313934", // aad
+ "859c57c4779c18f49577c29974bd7674475557b1ece9c28c5903e5"
+ "ee42ecbb03df4c301ddc21e99067c874e989", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313935", // aad
+ "106bda00093934e9ea0405b1175a7dc0a0437d6437005936f6e63d"
+ "031c1b3e31709ac40400a92506a92da7da04", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313936", // aad
+ "728f81e22592691a12950354167d41c04eb825098521f8df9a389f"
+ "490564c61d95c7011d5aa63120c0b60ec3b1", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313937", // aad
+ "a4d44fa9b42209eb8fde6d81ae159aef0aad9aa2abd09c9a065f21"
+ "7ad55247b51e9abe581e773e9f60f8fcca5a", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313938", // aad
+ "044c1a7b5af06547b3e9ddebb892ecb1314d2b9bbc63b6c14a8e12"
+ "e591161dbb63b243f6ed868611a10921d8f4", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313939", // aad
+ "a6a41799ad1fd6fc295677b35c8eb3236114dcc1733d059ddf8ae5"
+ "e3a0c55cac4f1bdb08e57079f970dd8fc7a3", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323030", // aad
+ "43eac3047f7b14ecc7b0b860a3d406e0517b81c4a3b36155c28369"
+ "7da0b28817ab3f7e18787b5b6ed439225454", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323031", // aad
+ "553b64e92ca2d8ead188de92fa331aa6ac717e70c44e1fe0c6b514"
+ "aeac02e0fa0a325729a0bf92f518340111df", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323032", // aad
+ "a7612de299f9f8b61cad9828ca5b97739724db4da23608e9763b72"
+ "7fd4015f648b9418a696954b6bc5fab68379", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323033", // aad
+ "8080c64d08a16fdb2420617fda908c5a8d737a03d1a97344312a2a"
+ "ebe27895e656a167d7e1bdc470f77a0e0e0d", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323034", // aad
+ "99654ed3fe8f4c42f9619ef241992089bb8516aae307289f2ded71"
+ "3663af0f64fcfb64aee7f03e519169bf7f01", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323035", // aad
+ "975b4fad9bbf9e56373f6317d55a2d74a94d4309b3526032f39189"
+ "158dd3711f53f676158f61b4a46a27c5b778", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323036", // aad
+ "c685c30d1edbbf26518ef4561243b02c708d9586e9b5636eeeac55"
+ "54fa116e792a8180986f4ec6078231ea0b93", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323037", // aad
+ "bcfce8797fac8d62289641f16c1ae6f58094ea9252f517bfce5e42"
+ "054dc2100663178ad12cf013307077c8019d", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323038", // aad
+ "a40f33036fa36e4fb733d8e92fb61157c7aeb2e8f2a27776f7fc76"
+ "1549c675a1eea3fde0f58fa5b7acbe90fe1e", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323039", // aad
+ "44dbff7a26754be05aa3a4d6dba59ac98971f61a88c729113bc060"
+ "29c51f79ad0f9d26102988e31516f7995828", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323130", // aad
+ "fb415a2974ac319e4e53bbbc245e74cf681b333798ebee65f2e202"
+ "d4c632c838031f5971b018fe7550424fd1bc", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323131", // aad
+ "7207188d388c73a436fce38438ea894b372ad9016e82dfe66b6e04"
+ "9dda1c40560104df749aa7b81f5879686bdc", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323132", // aad
+ "c56193ccad97e365f3490c080db8b42d33a4c8916b958295b4cd4b"
+ "b635d75cdbea66ad1a305e794c58bbc9f9de", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323133", // aad
+ "186df6fe4b691d77690c7ff1dc65b2eb609391f330242a81b31dfe"
+ "c821054034d308d56f708239c48bc4ee729a", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323134", // aad
+ "22ec69762c410849c0cf1fdb49a15d3c4b548ceeb38f7aac7b187b"
+ "153a259b24ee5626059ed3dd55f70ef2f513", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323135", // aad
+ "2d1e4315e3267bf10df1bb1242ba4f1e78209c15cf77a7bc805510"
+ "1fe16087a84a291bf77a3af5dd1e56e0d47c", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323136", // aad
+ "3c16f850fada66d9fa6a111218fd29823d9ae8cfe8c5e993ce0c48"
+ "88c200900d72eee578faa7ad7785edc49d48", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323137", // aad
+ "e7d25460e4baa2f56c72486369c054409cb92c5f48c14b84053f06"
+ "e141a5f63acfe0c90b6227b346db1b8987e7", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323138", // aad
+ "371c6d3bf62815bd602993dd51f4be2c91265470baa3572b8e66ac"
+ "4d7a431c9281bf72e47693dc8cf404cdb0bb", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323139", // aad
+ "c8d9df32e316bd4785e1564ff4d5396e41d3e763bccbf7f7bd2e53"
+ "5f42dc44bef0bab69624ef8977896122c2d1", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323230", // aad
+ "9f57371f56090bc8be1b2358d4385cc6795a78959b6eab22fb82ab"
+ "f287c69df55645ed69a34f6e2709beb629da", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323231", // aad
+ "a70a1a5bca257842586d5bf7e81a57a9d8a797ab8af200c259d1cc"
+ "7e045b4f1386d59027ac9bdfa97666122261", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323232", // aad
+ "61499b617e0df9b9ba22093f4dd857dc509f5f629290956d02a211"
+ "23b54de3a1cb654e5bbc610cb2c41689bd50", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323233", // aad
+ "c3461c8ab4018401c36a2a8c0d859b5128a5cb21af908f13929409"
+ "5eaf1e62a9ac22788ea106caaa25567015c0", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323234", // aad
+ "dbdddecae19120ab1906cba6df98161a67e24e0a925e14503d26ce"
+ "d582edfea22711e1ae2e8f91427914eedf36", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323235", // aad
+ "5419426be655b01b4af112b2a9b2d7b8eab1adc6dd89b2bd720e67"
+ "f484ae321f3b9d19b19cff87fbf0d6acfe41", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323236", // aad
+ "413e96286fb63a35043d07712244ca04874d642c1630769327023f"
+ "8e644e077209d704502a93d13f3160b072d0", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323237", // aad
+ "1cc1f0603239e3da80f43f83477d582208b611aa0a985328c4dc2f"
+ "22293732b842c5cce794cd511e2e9cdc58d3", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323238", // aad
+ "6d3596f56fd33b41f9275f47925711c30550d5542b0e3d7367ba28"
+ "c304b3ba8570a8a29e987112bd5c01ecf3b3", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323239", // aad
+ "dbab1ce3fbf6f60335a835e6e2aa4bc02b27afada1f8a3a295f8f2"
+ "71882f66bddf1901e165a0421e988a35cae5", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323330", // aad
+ "c11cbd3c1a69c89e626c298a4c20e36e8bba742431cb5d10f373f3"
+ "c5f3c98755284f6523acb24cd4f6f54f453f", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323331", // aad
+ "93a291d06fa7099416cd7b0c6321c2b1e9e41bacb23830d9e56385"
+ "3b2c99b8f426c2f6a75c1d41e45029931c59", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323332", // aad
+ "9b2377fad7c774c9f04a9566c9c159d1b93a763232fe268a043bb1"
+ "b6e6c445832be248746553ad0c99a3844465", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323333", // aad
+ "094377e0775ac86c4305fb8879d33c2402e02a1edc83bda6b6f096"
+ "0f5887f992803f737ae6e6efdcd8fde8e51f", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323334", // aad
+ "eea66258618dbce32c9257b38212df4c68ef6775ca997524ff2f5a"
+ "7c0ea8e5071a7d45ed5e20c9dde6683aeeff", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323335", // aad
+ "febf16488bb221e9baa3a952936d8e40d3f297234a473e5cab2b40"
+ "9d42acee1cb2f57e7c3aa61a5c5a3b7df852", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323336", // aad
+ "7024bd79b052b34153163225c57bb3eb1725fa2df9201c784199f0"
+ "84c88c53122f70c7955712321e6359f932d7", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323337", // aad
+ "7398ccc10db12612d3c482a3de22b31d377da74808bc36e9cf8a43"
+ "aeeec97d61c86eea1432612508deab0db1ff", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323338", // aad
+ "99d93b94f79e01976516ea1db59ac10987036439dcafd9d758290c"
+ "2f5c16cb266f84177affcf35fe1f6c6a5330", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323339", // aad
+ "261c46349c399fd15833fc7fe5097105687bf6be18155263dbb56a"
+ "2210228a8218acd48bb24488656d94600f55", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323430", // aad
+ "aaa9c28982c0c7d547d6d9a4a8110cf878fc1952e6cd35edbeadfc"
+ "276394a19439f36406a2740651be84f4a4df", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323431", // aad
+ "13b782c42c7e5d028bf475866c17f3bfb4b97df544daa1fbb2823e"
+ "4e0b40a92eaf33336b074d2245d85fe584af", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323432", // aad
+ "f962ec7cd195d42047eb59a0f7ee614dada4b906ff80a62e8d4608"
+ "24ddd2420b9477cf4ea996ea00ff055af902", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323433", // aad
+ "9512cdd2555c6478a36d85b9a0b92f6411506f2222e569a533cc06"
+ "e154505a3b4a62ad220cbf9c2a15456ec8d8", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323434", // aad
+ "dbfb04049faa5b86a1973ecdc1e7a187e0d0b7927d99cd24aebd19"
+ "c7ba4da0685194b9f8b81fb942c636dfb19a", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323435", // aad
+ "d51912f237cac4b418d14d738c91355fd3f46b0ef405ebedb89fe8"
+ "a93bcf59fd8da18385cb2e2c36ac64902964", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323436", // aad
+ "f14d9fd9780703bc80ed179dbd59c4d328ffea5b1e530387ff8d01"
+ "69d22a8bd91de140bcf0a16405dd7a6a28b4", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323437", // aad
+ "16ec1ee98f72a551c3d2808a52c17a55275b84bacb313250d2bf5e"
+ "2d18e4251cbd2daf916dba18b6a903ffa309", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323438", // aad
+ "a87729d5757338895362b78c6e6a01658bda31892334384c5bdc70"
+ "4af4a204410028f107935211d06394096891", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323439", // aad
+ "7c04611751fede611a0a4f95e1f5f67d579981d8acbcd5c2a1b685"
+ "8f4974ce21151221c343822233718417eb6a", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323530", // aad
+ "a7620180df046498241204ed2ceec7724b1be8d235ddc525686f20"
+ "3b954fe4761fb2072d5fc162c6427493927b", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323531", // aad
+ "eb4725aafcb098e0def92f63b6536f686858a9944f5718a8a9f0c7"
+ "4744131d1524d511f4c6354e214da6ed33c6", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323532", // aad
+ "ce612d73494a0962c2b8c0cc7da1db6b1412064e8fadc6899648e9"
+ "f75576f106a75fb542b163bd774b0ca30116", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323533", // aad
+ "e55727a289a0d488cbf4c9756898c5e1e727ee4335ea57d571a5b4"
+ "4af548f8c4f4050c53873ce21334f91f7b5e", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323534", // aad
+ "e9b31037ab220c83960e5b6e7d5af0b03feb921941e2bd4d292290"
+ "a09b8b9b9733028c4acc0343b362736ea642", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323535", // aad
+ "a00fd8bbb012425e3b88056e43ba863702ee9bb55bf5e0d9ecb499"
+ "566ba63fb581237a183f6743a360eb3af0ee", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323536", // aad
+ "a734502b17d8fedf9f662ce084898d6dd43b381c144546bb7eeddc"
+ "2618fed4d87079e1dc9f5ccbfef9caf4f574", // ct
+ },
+ },
+ {
+ // Exports
+ {
+ "", // context
+ 32, // len
+ "4b8d26d4e3501f121378c4ac2926678a7ecf17f991a6c9be37d79b"
+ "92f33c04cc", // exported
+ },
+ {
+ "00", // context
+ 32, // len
+ "44b10a9991d5c1feaf8b73422d85d5cf23d853b4b21924702603bc"
+ "e46e3a8668", // exported
+ },
+ {
+ "54657374436f6e74657874", // context
+ 32, // len
+ "15d4242391fde1e4ae271a89aa2d3227671f3736d17155e98fe463"
+ "8002cdf720", // exported
+ },
+ },
+ },
+ {
+ 9,
+ static_cast(0),
+ static_cast(32),
+ static_cast(3),
+ static_cast(2),
+ "4f6465206f6e2061204772656369616e2055726e", // info
+ "3067020100301406072a8648ce3d020106092b06010401da470f01044c304a"
+ "02010104201a240fd63bef8f7162b83933d3cc3e49b5bdf9128290bbc0cbf1"
+ "7b5d9e5acaf9a12303210037b4ad0855a44175b1572830286d5cb67f515713"
+ "02953826cba2a85d51400574",
+ "3067020100301406072a8648ce3d020106092b06010401da470f01044c304a"
+ "020101042045049207b5fac349139e2c89051cf534faa2ed5fe3aae0589a11"
+ "c69106004ef8a123032100266dd0c2587eaf0a362ddd6f43ff5fa44c5be258"
+ "77c882d0b173a82db277937d",
+ "", // psk
+ "", // psk_id
+ "37b4ad0855a44175b1572830286d5cb67f51571302953826cba2a85d514005"
+ "74", // enc
+ "6cac949c7245b6fc7c70ffef9683cff11eb645ec46eaf4fcb3eb8005468e4f"
+ "ef", // key
+ "78e25403764f7e5946b5b3bb", // nonce
+ {
+ // Encryptions
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d30", // aad
+ "52a1f69fa84078069a1912efea99863ddbdec4e23d0ad4554e0a6f"
+ "6bdacb0d36e81dfd480cd6bc1f0ea56d35d6", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d31", // aad
+ "af3167f31d2545b1c8b0e65f6c083bc9a5474f12daa2cd650f9c99"
+ "c65bbf52d5e5d0ee8a5670ddda6518f47d2a", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d32", // aad
+ "81fafb2e7ad476605773af8918b0402ada492792071dd2f375b4a3"
+ "dca05576abe3bfab78a14b01160f3f371d27", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d33", // aad
+ "1eb96705f0c9806a09abb68d67a4ef4cf2bd26d5151d95f88077b6"
+ "994cfe1397b2213618ff60ba2061b9490451", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d34", // aad
+ "6e9222530e35c14002fef77eb606e607efa10e719b661f12db1a4a"
+ "1136e666b90e31322ff5ed55a2d07d0aba12", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d35", // aad
+ "b87b476e6e32ea8622fc6bd57fc9505070540d63d23a78e0069e20"
+ "e7f876438a3c294041aa9b2e11c21029cde6", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d36", // aad
+ "a8c72cd7efa62a810db32aa9ac7c9ab0469d862849b644cd889adc"
+ "2a97611a9f3d12169d4860a8b2ff508ee289", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d37", // aad
+ "1bc8dc66eb45962a4d0fc91d697e77fb85cc4661a83b918d6402cd"
+ "b27d47bb5d86056c42e7c165a7b377a31859", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d38", // aad
+ "71733c3b07a257a9d0ae074e5dd0eed3269702f7b96ff2e6b1fc37"
+ "f06fdbe1dcf716b85557c6043526fbc08f86", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d39", // aad
+ "d1336711bd17c9c792808f5efadfe8ba6c28dd361d204425fe21a6"
+ "49a61b5315ac7d56cbf4ae8f3abbf3ec1ace", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3130", // aad
+ "7f2ef2ab0c961214344397c98530fd873f2ba8c24eeca35f976085"
+ "9823882819786070b851015099df8023dfe0", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3131", // aad
+ "93efa7ab0e46066ac42125b1fa72eeaf05565d08c8e149bf062315"
+ "d34eb12b2bd0fd9c189a317e576444d23c8e", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3132", // aad
+ "54084d8be6dad10e3f3ad9af337535c54583489dda5919c607b218"
+ "d100236afc397589c5041187820fe00b4216", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3133", // aad
+ "bfa3086b7a845968e8cff42eb9c24c1d6d10c96dae12e14b1969b6"
+ "b82607fe434306f265ab939e412dc42bdf97", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3134", // aad
+ "019c0594d3a99a5bcea2fa88a7a17f9cf3930a88a018328b3e5181"
+ "478d0735d2d68a8e2eddfdbd0bd2965c5b3d", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3135", // aad
+ "93a8e1fc6eedb4ff1dfde34a18ebe0b869566d2f22ddb13d120a5b"
+ "fe1bb30a5ef870fa89f0cd9133d840e1da93", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3136", // aad
+ "39fec9394eaace3d5f70a2164b7df2eada5a3a607a414936e78ed5"
+ "d3d0f3dada05bfb7ec1d329e6d86e92c22b3", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3137", // aad
+ "5e1039abdf4566a53b65a7d915b133421810cde1474547d1ec5496"
+ "207667fb44fc0affe98e444544afd17992b6", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3138", // aad
+ "b183498b022f46ef6a872506c60928997126a6cd39399417d5ab2f"
+ "bd897bf332df909f48edc623879c159f7088", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3139", // aad
+ "710b9ee05c797ce96aa6780682c514927880c7e4368a5f82082cdd"
+ "9c716980a025dda5c95bc95fad67705d479a", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3230", // aad
+ "f9d8faec697b77db6b2d986607dbc2f7b91c07c45e75c59c128f10"
+ "a5f8e3c6083bea4e8a2f327c7772da5a7a60", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3231", // aad
+ "8a25227609ede7d42faaf3a086efd33f69c47404248df87094f21d"
+ "e7ad71eee8f15b7b36459c62f0ddfabc79b9", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3232", // aad
+ "78cd95d20b1aff974f70514fcff8f1dd4a5a66b49611809204a847"
+ "224d9d0aad98e400798c595a578e0290223b", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3233", // aad
+ "9070a17d6567969caa03ea6598c294fe9efe880fdbc5b886580a7d"
+ "c578228ef4c582a710e3d25aab255aa2cbcb", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3234", // aad
+ "f7f8f341b64453a941fd8f8295774b641835f7706ca9a4afb9a51d"
+ "6b304113e7579f95ec222361d70b38a69029", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3235", // aad
+ "034d82ec5f1778f7529c6cf057766518154f3f4b1bbe4259ca7441"
+ "da4d3705b79f9f8d10ea14643d305904f276", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3236", // aad
+ "87b526bdf13821129a9b7655c3e2a3cd9ccb5569bfd3472339492f"
+ "97974815a2957f63dece6766ec410b4d5d9e", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3237", // aad
+ "9ee5b7be750ca2f76d705eeddccb6f92c4282e3dd9b1a0c28664eb"
+ "82b325e4fa53f965e5c523fbc206b2ba6b44", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3238", // aad
+ "35039e5a43993328d8343c23acf837bece7950680a1fa84c7bd24c"
+ "44d637f39b19ed6791e16a8d49daec9cffd9", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3239", // aad
+ "aa1d3a0cb08c0583a3a270b9c4c5b007a70d0f1262fb946c478022"
+ "c668ac6fecbb6d17a2f4afbe1c47c679cc93", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3330", // aad
+ "fb4c0976c659a895ea326faa3f106d92acc6213898328c1e4bca9c"
+ "9ef4f0443607aa376c05f04e2e9d0e589a1c", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3331", // aad
+ "675fbd6fd65264607a30d998ce41d11da3be168ce27f60d0d849ca"
+ "eaf9082288059cf7e2ea5a7e4ca09e0afeb6", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3332", // aad
+ "800c451433fc949d468aa4002107b4942c893a162bdb2c878b228b"
+ "1cf6f7d9cb7a0258c3ccb3b73847d0f363f7", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3333", // aad
+ "c703700ab2d6f1204d9ecaaceb1de20e3d24b895bd7b325ab9758c"
+ "d6b6e3fb914dbccb84193b1cced4cc71e844", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3334", // aad
+ "9c377b794753cb48a97215ebc440d502283f5af048bf661153a60b"
+ "867edfe9cedd25d5d8eab30a5a23baccfa1c", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3335", // aad
+ "29168286cd91800414814f63e62c2eca80697ff57e43ad29b2645d"
+ "18d38762d940e5185eeea8a1f0a87b97ddf3", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3336", // aad
+ "4992188f1f237ae7102cd7f9764a9d85725a8770efcbdda0919deb"
+ "e0c47945e748f1077714ba6699f0aaaf8430", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3337", // aad
+ "1af4c45ce62c53fa0721286cd170b22d4a3fc8e79a1ed439707859"
+ "6fa6a1e7726190776068eea6edc8a8c8a13c", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3338", // aad
+ "b26f373bc600eea79015a61ebcbcc9214641e5ea8214c246490402"
+ "a1d36312bb0ca83f03091b43841fa9a7fa47", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3339", // aad
+ "49c083e86ffc57dc007d5639e14bea5ed65d5b58d0854154f3a244"
+ "a8db10b7ef607355eb1d61b0903ee2971ab8", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3430", // aad
+ "0e3d2744cbec45ce78d85a6a22519f5a9eba0a7113cf0151c6c3bd"
+ "358f1170e6b8704ba7eb52d132e09e94b2a7", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3431", // aad
+ "e913de28e361c39f2b63ac4f6e03ccc190bb830860523b7315c0d6"
+ "a6f43d2bccda88459968211c31ec7de54c60", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3432", // aad
+ "ce6e6f50ab66af33d0c165ccb274cb64d4a9d03116c8ab51b3e521"
+ "31204d3c9cd7a3522d54b7e0a44e3a202dbf", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3433", // aad
+ "15beafb1d93203ded991592f1fe13383e2ef727a2f41e3b985c103"
+ "9a0d76e24c1927a566ba3aa93f8be98c5f58", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3434", // aad
+ "a888d08bed9b873d2c816bc76fbbd3c1f1319ef4ee155b92223a3b"
+ "43fbf3056e3e3401c9d09b6854f69907ab01", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3435", // aad
+ "cc09c1d8379bf11718eb15e0e2e8684a571bb6351c4d2681bd15b7"
+ "822f49b5f48bce900478f01615f9200cd55c", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3436", // aad
+ "f363cc2ec5dfe90a84a2c3a2fe7976546671d7cd8cd9e97833d8d3"
+ "6161b7a3170f0df0d2f101b4008e5edaf260", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3437", // aad
+ "b86a9c15f77a4d3b8329714940e2a6a551accac382b4cdd6df27be"
+ "52233a6c446bf3c23e36dfdcddf969602ad5", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3438", // aad
+ "165737169b9ba3536604add737899fc7580bb0a3abf3e050d624c1"
+ "8c11d3cc5ca67797ede0f2b7e6289249ceef", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3439", // aad
+ "8dbb3e1265d913a7b240813140b610e3eed26b390d05259502ab2c"
+ "2e7f106de3d04441a372c21da47a473d9166", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3530", // aad
+ "6443200c15f134ce335b67022d1f9b77e3fa193a47026195ff1d9b"
+ "fdb96586816b6fdb7276ff24bc763b51a8ed", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3531", // aad
+ "f9b5723dfeb9a4c531fc69f8d77f6583c8e01fc19f53d10a4dae6f"
+ "681c42105fdb20cb517bede77d86cdeaf2e1", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3532", // aad
+ "cd5dfe95040b6f815d1bec478aefdf5ae2b31380472281d4d2b250"
+ "5a64f2a2cd4e811a55020dd246683ea189c0", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3533", // aad
+ "75fb9026143b9c2eff6ff0a5e68d90821e1c41f38fc6798458a610"
+ "db3cee5fc0950fbd4baf07f6ce83bb5bf24c", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3534", // aad
+ "17b91a2949a7407bb4718db6fc4ac5f3518ab7e1e7f16821135fc7"
+ "6f55fdd875935d2a35fbbf7db8e5ea569b3f", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3535", // aad
+ "77f41554c23cd78f3a92f0dca3238168362c1e96ccad5f6ae30353"
+ "72b4ba564e373c1c8242475d04f0dce036e5", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3536", // aad
+ "f3a90b7c48382887c5267937ca1c688ccf349481143e14c79eb177"
+ "8e42dba509a4e87fdf22ebbccaf10549840c", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3537", // aad
+ "33194a96c994059fcf697affc4228279d3c5d5a430efca55b2edb7"
+ "495518f279ceda084014fe8d81493639911f", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3538", // aad
+ "e628bde2d1357450734ae402b3fb61e3943268e8ec9736e7601b19"
+ "07b058fa35b3d61465e8a1c9fb286a226731", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3539", // aad
+ "c3099ca547f806d3b54f58d59169e00b7c75edee145b8ab150b440"
+ "132a73b29f90a13c756501f999443fc1adad", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3630", // aad
+ "c62291e9bffa49ea1893a675cefc9d44dbc631820ef5abfd8d9bd1"
+ "5586675a1840562aad041ee741209ff350c4", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3631", // aad
+ "af79becfffb85df16d4f61c2cbd1aa154875b20c557c10de5d3bd1"
+ "f07da297ce6d627f9a570037192e360bf8fe", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3632", // aad
+ "c63c82352c47e576096bfa6ccd1127151e196b39bb73e11ae5bb89"
+ "9ce86d9b8dfe558c47ae1b8219ed9d14cfc4", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3633", // aad
+ "23e9bc2153c14be243ea6edec28c5a039e95e08fd38bbcecf9e12a"
+ "38e09c3921362dc668edfc3b7c2e6cea6162", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3634", // aad
+ "ffce37f5874f3ff06e749270d767abcca8c7a9cfcc1858cef86595"
+ "809ad8453805c11277194464e61a869ec24a", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3635", // aad
+ "7d933f71a3df11b4676d81accec36696fafeef800f58880b5d2646"
+ "7e84711fa06cbea98c49d4e4f53976577328", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3636", // aad
+ "c0f4f01e7c48d9f8851f959d11a73a4035fc6206d5dd0bf5414ccd"
+ "4cc89d4e05ece18fe340405749229a146944", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3637", // aad
+ "b7975dcfb883899bb10250c44b16aa6161ee25191ca263af662076"
+ "809856bb4dd0465ead263c7a4abbabe4d5b6", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3638", // aad
+ "9df9c903e205e3b5cd725d373e3f2a64fa5d7ab7c4177094f54fec"
+ "ce66b7cac408098baa8edec4e23e489e0b50", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3639", // aad
+ "5c956ca0533cc3a928b800b36c6bc538ae2dcbff81365eef8e0613"
+ "017e4bc157758022b412a7882432a4364a70", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3730", // aad
+ "5460439b87e232e1421796fde90744ec94854c7edf5dc44cc3a2b3"
+ "c06e70741799bee7bc204eca0e46e7b749d1", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3731", // aad
+ "7110a931c4b92510dac109faa0087d84318402b09008cf31d8c7ef"
+ "c764e90d508edfac5c97c3559ce34cbf755f", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3732", // aad
+ "e05ae45cdba59d75da959cf8ec3e455a23c3b927940e8b7099c09e"
+ "b73859be0d85581d0d54bf189cf37334877b", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3733", // aad
+ "93c831c6e15b11028c330115cbd6609b45eab21f89e2ec7a805e22"
+ "d2f7eaf583b5bd9c9c9ac596ccd5fda96c65", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3734", // aad
+ "4cbfce9070d7d6b106f9510762bb35b1763330cdf335747f460492"
+ "4f671f71d9aacd717eb666cabce5a88cc735", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3735", // aad
+ "5d8e61f7291abd14ce4e23b98ee13130568cb326d19cf46c96f6a5"
+ "68b26dbd69436243afb084f435f8a842877b", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3736", // aad
+ "4a7eb780ebdc48f3b767eff8aa9e7a6c50d201d63ff83919024219"
+ "147ccac34d5b92167452fb3c2e8969e9f7e9", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3737", // aad
+ "6e0c9ac9f192bb6d9122afe2822905070c2b2821560335d6061990"
+ "89900206f5b785c51c978c22ea519ada8b68", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3738", // aad
+ "d88695f49af19ac2a0fa3e9d6995211338b2909eb186d956eb606d"
+ "ff1a77fe216333c574f377bf90b6babfdda5", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3739", // aad
+ "0981efb5d5637a33f1202144817633df518594f7856d3a605e501a"
+ "bd2327f00cdd919dd331ebbcb7425b2e5aa8", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3830", // aad
+ "99e645ecb40c16151926ee0ce1721eb0d26ad931c9b7e1d891fe7d"
+ "b1da6e2ea6d9d1b126683ca74f512bd593f1", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3831", // aad
+ "fbc7ca2112efc845897dd1a9f46463fe3c36b06e262b7c7d52afc8"
+ "c9c340baab8571b8de52246e0b348941527a", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3832", // aad
+ "b1c2d62b6241b23dbe795ace393138b22e95d8219133b605b6e290"
+ "8f0e47e9be17fe16211d9d8746500af4025f", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3833", // aad
+ "dce6bd2e4e63712dd7f98e95c66008b7f0cc0762b8e46a33000d1e"
+ "2253ee700a02d2c6b87a84a88ec2f6e647ef", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3834", // aad
+ "9b72d90b7fc8c9421b4d2ae991f668f87128b11297d957a2c8e517"
+ "805e3312023c7490d4dc260e23fd7298c4ba", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3835", // aad
+ "8b86b33f0070b92e3e72d82555d440c2fa5faf364e2376e8a013ea"
+ "d6a64e5de7f88fe30db30634610de6bcbd3b", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3836", // aad
+ "c0a59f935f432a237b90f84434261d4abc4e20e159da93c4740b3d"
+ "d3113fc76aab30292d25a70dfde1bf502086", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3837", // aad
+ "cb80f803c8b1f434abfaf714cca2965be245ac60f3e8b81ae142d3"
+ "fc74e08f08e45afe7cee1ba518bb755bccdf", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3838", // aad
+ "bcdcddbe0f03dd480288822a23958b690db9d8850e42561914e149"
+ "2a978845f9ba5091e404c4194d1d6fbe18f0", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3839", // aad
+ "9688fc37b087571f726ae6c4bfe068c5f31f9e65c0c339f0fb0df3"
+ "4feee0c137ca49fe78cedd57f624889e2c60", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3930", // aad
+ "01222593b82f051ed6f9767a7991216a93d3d55d26f97e7825fe25"
+ "54cb19653e4f006b5a6f0832d933e08f64bf", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3931", // aad
+ "0d0d0a36a960965877a6a90a21f088b47c9970fe81109aa564740c"
+ "791782ba5964fcabc168aedb3d6b6199b9e4", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3932", // aad
+ "06b71090da48655bf144393ecebc0cedeef7fabc4485158848aa54"
+ "b09b7ce813555bdf2811033bab60145f2552", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3933", // aad
+ "865abb068920210d840ce0b85ad65c245b4b2075ca4a6240ae8024"
+ "de17bfe828ea7986a01158fb4e6148594b06", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3934", // aad
+ "e6645ce597da134f298818f9f9f32e37b7dadc485dfcbed8700280"
+ "1f36d1497cedbe46879ae0965f457ef2a705", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3935", // aad
+ "2e3199a16113c0b6bb694e74ad99085def07b3bf9681425bc671c7"
+ "25e34a8102de0b4b6f10985f71c9439e42aa", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3936", // aad
+ "28f4df22a8ca0d04f45988e1854ecf0ea0d6b3793c1a9d7f9cad56"
+ "5d837ad334661727d6a3e9925f95c7dddd34", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3937", // aad
+ "1ac589e1e8656cd5bb8034be8ec52a37a38df7722424d29c1d8b22"
+ "73402b25e39666e74f60c025ec0ae0859244", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3938", // aad
+ "b36c1942c5fbe1534674a6b795abba29c8d9ce64e5fa74ddec062b"
+ "bb2397f5d35ffabc617f4b6f0e4d5223aa23", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3939", // aad
+ "e63ec166525258996fd4c354325f4c5a1f72327572d6ebf3a9bbd0"
+ "150dec28000069246d86259a4b8526af4e66", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313030", // aad
+ "92a152f69a46a7aef9ee8d2dffb312fd3f2a377b1dd1135a1687c5"
+ "12017dd2945f3bd7fcad3450b345cd19cd6f", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313031", // aad
+ "437cbb2b0d6631cf19b9c81cd7272fa67fca9a37c0ee422950cc00"
+ "5cad5c2de6a0fd1b964e3a43860a63370079", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313032", // aad
+ "7e54363f36c351804b5f264702b8634477b6051f145a07ad80bc48"
+ "03d12667136a1d8d84d39775d13bbd0899ec", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313033", // aad
+ "6a5a621b3994925642b2f0f37c2fc58fbfcef40a277c48a3f7496e"
+ "d0c5fc0130016643b4fcef7e1a8627cf1ee6", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313034", // aad
+ "0d72bd55176d20cf654d256c61a4c861748db848e3b9a88f061685"
+ "45d44467c4cbdfe674cc224034a01f085861", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313035", // aad
+ "756ffe317e3b243b0e347f938a18f827021811a404c0a8cffe67db"
+ "9cf3814b7159ae0db0e59a497188b5a72f8d", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313036", // aad
+ "be696b5bed200815594bc208a20ba5a91f4683acfbe828f25c4a78"
+ "1d8c9137d2de6829023d647ecb72e7319a71", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313037", // aad
+ "31d3be3d4e04e2beb9a10435f9b2a898a90a8adcd6214a80ee9b32"
+ "9655690592c62d64b3ed18437a5fc65e612a", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313038", // aad
+ "bf15704d108fa4b51ad12c6d5d319dcd837134b37abaa9b90d7e31"
+ "4eb2e683c1e755dd57e5a84fab02fc924032", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313039", // aad
+ "89e6943db123be1c093c608833a08bbf468d8a8896ee496508e397"
+ "bbc0c0f76320a6484738d63770820fffbb0c", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313130", // aad
+ "d67544dcf3cc2a724d88c51d24b472bfb05ab0576b607b4df81e06"
+ "6d4d61af74f5b57f45a1b587a4c4d3e3232f", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313131", // aad
+ "c5c74bc3b22c85ec72c50086161bc94834f9d303c04099959ff474"
+ "b8f07f9fe7025d19b8457883a667b5f070c1", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313132", // aad
+ "f5daecef43c5328219d7e9b290889761a5bafbd99365ed778e5701"
+ "f33433d177f913b51d719298fe834213c485", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313133", // aad
+ "5c17bcc93c2258f423a8362d164777ccb4c57b15bf84196ed98c69"
+ "e21017b3914ade8a011ecb41a1e461ad89a7", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313134", // aad
+ "8ac7825b6ff39c0b23beaef39151d607499956740578ffe95eda85"
+ "d11cf6671a6f762eb9fe900003e4aed8ea62", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313135", // aad
+ "64604fc3352e7400208b3b9469f63e9fbaf296187a7c9f23638a81"
+ "b7c28729618c8cd34b3b9011efb29fe190ed", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313136", // aad
+ "92b6a53da597a11c126d00c665faf3ba09e4f1be3509174eb568f1"
+ "e0761cf8838f2cf33fa8a238b15c803da468", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313137", // aad
+ "4c79e597c059f731c89a8694c57cf6402ecff3985f51988265cb08"
+ "4f6b2712f979e0f1c15e30ad3b51987260fe", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313138", // aad
+ "3771b34a2f2227976914640ffa517fe8fbcb8e0361a606acbf3d7f"
+ "10b623acab6aee0fe8da46a93248c5b99475", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313139", // aad
+ "542fc742f465b8cb14902cb1d24bf0bc0ca77627d52456897773f2"
+ "6c3ff5d2809d5e8ae2a0b3c766c4595d184f", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313230", // aad
+ "ff018461f21d2188acb66cf89a5c0492df884d28299f68dab3864c"
+ "dfd16e241685f1ec188f3965a07083affee4", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313231", // aad
+ "f33660d835ceb51c7170cf587fbcc9bcca9639f35b099ad73e04bb"
+ "b95aa56b3f902c109005ff82f8ee8e4e44ae", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313232", // aad
+ "4085fb136355a6882c12c1ac3bb3387dc0d75c2230b20cacfbe91d"
+ "a3e395bcf86df0b630f6361972448dc14820", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313233", // aad
+ "08d9f2db83a3d86380e8f0bc6f5a77c202267936c0857d3dd39b51"
+ "f14497379c0f6e16bbb7a8b11e613dfa07f5", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313234", // aad
+ "61eb7b772bd47f1dc06523d1890eab0fcc5060e6fc7443174d5db3"
+ "81eceac08d2b886f20d5aedf58db3477249e", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313235", // aad
+ "a9ad500a4dde4d1db6feb03ed14afb93288f14a4b55addd97ed7af"
+ "531eb402b0055b832b9ed4da5746fc17a1cd", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313236", // aad
+ "09684b5d34dde828a67cebfcc0fb62dbb9f6764d053ac9fbc4169f"
+ "979a9573fb5596ec6cce1f980f1d4af343a4", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313237", // aad
+ "f3f215042944b74e375d46e917db1be967b3cffb62bf49b32c4902"
+ "0f523b142d353efd608a470bcfe702fbea59", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313238", // aad
+ "69f5073547b4327e8519478cce3384d1f976965a8a7717fb75bc70"
+ "a8409aca397a707d64210f3584df4b145d77", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313239", // aad
+ "017f379935bef81089c7297fce99807ab6ff8a33ac28cf66a78833"
+ "25c0ae328b38f3d2158e6e5aa92578da396b", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313330", // aad
+ "0ef9878ebb3fd28897d97bf6cf2e871b6bf1ba1cf2e680a3b1fc7c"
+ "b3fd252be1d2df212f2f2790ea4b9dd50f02", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313331", // aad
+ "7516260b558e4b16f4219884e5335671f8ae15a322a923e86dce5e"
+ "95779ccb2a75b011142ec358c5b1a6e55a7b", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313332", // aad
+ "68c473c020b1328afa7b5e5cd84da7704f6ae63fa71446bc2449b2"
+ "a552ad44c3e1fbee79748991a1277a8cd595", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313333", // aad
+ "87a3a8e7dcd6389cabf7af6d4eb0f186ab4150c91ef066be947014"
+ "2a2a907be49e502cb3eebc20d95c50be9439", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313334", // aad
+ "3ff0b8175158d56c1eadd267041c8e38e1f00e991f8c84f15ec17c"
+ "8ce6106a8fb15a2ae68f3a74eca56c37e437", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313335", // aad
+ "9574bd047d692d63474202df8ad1932d1b471568b60bebf3667138"
+ "2fd4e591ed9cb1862351da23a0b7f128ce0c", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313336", // aad
+ "eb205350266289b8f0eddb2d4f9c0a394ce3a991b1bd738bfb8e96"
+ "117714168fc3b0e1548f0059397ab6266faf", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313337", // aad
+ "ddcbd555d7a80accd4bd16e7e2003f510e7eb64d157abc5248514d"
+ "8411cf4df3950f8ae04acf2a9ef7bf8508ff", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313338", // aad
+ "f0b773d3d91ee9e045c7063a6675dfcf753005a8c93e6fa185a35c"
+ "69ab0831b40e580732176587597a30679b38", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313339", // aad
+ "56eec403d4a023293d6dd0adce32b332a45109debe39ded2765e4d"
+ "35c84fd2746c51310d04e9b95c4d0b32fb79", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313430", // aad
+ "21bb079b2d9e7a52c3ab5c0dfd8730ad8cc39fe84703472a29675e"
+ "a5600a565def0cb54a2176bb2b834b87aa04", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313431", // aad
+ "069ba3a854ee050bb454e0e48adb1d434dcc0f6f9701a239eab62e"
+ "83d9fe99c405599d9e48c08732ba85f02c8f", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313432", // aad
+ "5601b2ccc6ebb076ec17a0fd50c922b5b96044c9c721b26efec7c9"
+ "cf4402f9883729f33414979ea3d7e6fef6b8", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313433", // aad
+ "0b62e07e1bd7f9a593337240ef092ed3cc2ba642279f80bed01e06"
+ "b1fd7040356725463075f01e0b1e9da54045", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313434", // aad
+ "5b65ece08f36f8dee994600c1f6ff056f96065a63c9b3c72c178da"
+ "95d5b88181711236033836d8e7685dae6f42", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313435", // aad
+ "8a619034fbe85895aa42c76273f67ba44ab05a615b6cd6cf727b3d"
+ "dfbe05651b72f59c53a311620618ed882a6e", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313436", // aad
+ "845ba991a338118fed4417e294368a3f348047a0ea697fb04e7883"
+ "5c3beb9cff359962ca6f6107bb9221b40a2c", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313437", // aad
+ "8df0f9a6b536dc7d2ec903b7460c99426c5681f834590d5afdabc0"
+ "a9c1382cee90d5945c7eac9b551a4763a138", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313438", // aad
+ "b767cde8ebbac3657bbba9dc7e3676cd1c7b00b6dd198fe2a09476"
+ "bdbe75fc30bba1db3643b41dddf3482769fb", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313439", // aad
+ "40a91d0dd0d9845f4e0c0a21f8a4a212926a1f03c482a17405a548"
+ "899e2cab4b448b37102374400250e91b144c", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313530", // aad
+ "29986a8a390419c1416caecc9e965030d0be5c458b81a84b31c010"
+ "8dac8bfd967519b339fdc6a7a4600fe1f395", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313531", // aad
+ "4534b6264141c31d5e422afa3fb9e653f33361ba7b6fb5314ae163"
+ "2bb33d2e711569d3ef6d7aae82b605313a38", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313532", // aad
+ "2b9bd0d96324df1d73a16e48dc73b374cb87f5116a3826195fc9d6"
+ "28dd5ecac38d7b8a99998d67c19bbb97f762", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313533", // aad
+ "bfa949e683b5c7554bfe1d329894f17737ca81ca68e031474abfbc"
+ "76edc5c3f649ac9560d5a980022357f8a0c7", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313534", // aad
+ "13df06e0847f9015fcb1da0e44c0a4289306fb359da5dca306d5e4"
+ "254d364dd57043d8a00d7f0dbbf39c6d2c4a", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313535", // aad
+ "c33855496ca2a2657292cb90ff5a2ab940ae84dbf446a6c3bda492"
+ "84c3062cce7c8d345de620854930bfc1ce47", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313536", // aad
+ "9a8127500e5d42ca195414463f63ca3a69921a961cb5f91f5cfb18"
+ "5007187b5888fed08d6ed7df85f55cd21578", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313537", // aad
+ "2ac2ef27f14bd4c73aac2c272258498ab153c24fa928bd3187f743"
+ "c5159e4c08a0d14853a3003dc24a440933a4", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313538", // aad
+ "3db8bce2f5f667c6f0f976a7adafaa1af7cced423066a487b721e6"
+ "6f72b42a8b80ee86b6579127038f67f9939e", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313539", // aad
+ "ba6985858ad9121242349fa6af622741baa40a7b109b7ff2da8351"
+ "fbc3ab8a3e7ce8207624f9085c0cd2b1b40e", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313630", // aad
+ "f10e6b499661de645c5557ebcc73fbd16f7552f2e07099f3e3b11a"
+ "1e1477e8a7217f8007b058a288ec777f9c6a", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313631", // aad
+ "b4c084b72554b0b7bd9cbabcdf349318732397c1e1f9ed1c9d20cb"
+ "1e643dcf8129cdc59cd05dfdeb0571e41be7", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313632", // aad
+ "06dc54b8a5ddad3e6b7357c9b7deeaa73a764934c3b81e36e9a2e0"
+ "ea76361e34645a11e888658a8b64c25092ad", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313633", // aad
+ "53139a78bde37bb536acb4e7f3764d4cd8bd25f561e20da8a6e647"
+ "86b408d80170de4a0968d9d567ef4d37b197", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313634", // aad
+ "61ac1206930e1caff80bcd90dc22b79cb82c5d5aa278988091add0"
+ "7700c833bb3e360c0df5307673e1c113dfa4", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313635", // aad
+ "8f35cca8a11c61bafd668f8e5eef60ede7c2121dee1671be7a0881"
+ "85d28572cf1d06d59d523ad9fbb77df9f4b6", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313636", // aad
+ "c19c93dae1075e136fd9688a1ebb4e2d97efb3ae3899d135179c7c"
+ "91c5a818b31c9b94950df1bb5c3bf045331a", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313637", // aad
+ "c09cc62d7fbf118d88cce7ee8d3c3302b24868c3fefae5f3593730"
+ "b60d7c122bbb21f60f739b1ccfcefe7041e5", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313638", // aad
+ "4ece23c4bf4f42356794a2f434e0fc2cc3e71439639f18dded52b3"
+ "8f266794fc8119cfa8a49845e734fd3e62f3", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313639", // aad
+ "5267c9d149b15fb2da134cb68b03b047856ac3711397b3638ba663"
+ "680b59b3cd7a6d1cfd11f0c385f23e454bdd", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313730", // aad
+ "7aec21e47dad28661607d25bb2963ffe4f798b4329398c50099dc7"
+ "4e93f662aa7d3cd4f6d4055de8e3689d146b", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313731", // aad
+ "3e0d99ffb12c7834247e471549be3757943d6dbca0f79be16aa962"
+ "e78c5e87fe6147a9005878c48a6f1eecab1e", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313732", // aad
+ "cb368a14532f006e1a291ef5e19ef4256fda7718c419d4bfb239e0"
+ "b6255f1d45dab0b69df0dc8d5017f92b5c57", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313733", // aad
+ "2751344e4e818a06159ef5b00e9a780b6aea54f3eea4f5bb90b66a"
+ "0b276dbdd55938d6f283bbfab12a21a67238", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313734", // aad
+ "aa84bc7d95a45ae7eed60b599f4d1f114bfdbc3818690e2a14ad98"
+ "44d09cd6cb9bfd113c27c0f542363b979f27", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313735", // aad
+ "018309fa26d48f980753629ffd796464f4b9c27ebab60396f2fc2f"
+ "fcd8d2be6a60fdfa4e4f925a42144f1f16df", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313736", // aad
+ "0925d8a8a6792ed9992fc120b3334ce575cbfece436740695cbd86"
+ "18771ab0a3416e85930f771d7262858fe7ec", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313737", // aad
+ "ead2e8aa81d8e85e0cffa6f16a9b5ff6bd6801b71a8b84718d29ad"
+ "f817ff9e795a399af8d137515fd27b69968f", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313738", // aad
+ "0bacc546567574ffa94485d70eea8c90eeb8a788f956d7a7c935ae"
+ "aed8533daeb76f5fc3543f484a7ffbc81bd8", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313739", // aad
+ "9194bdfed719a1495b4a2ebc97e520078288810f173d5a25683204"
+ "567fbddb1b0acb7aaf3ef0c2a66503b862cf", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313830", // aad
+ "f0af665200bd80d7867797869f6dcdf01b5962e0722d308b30a004"
+ "641feee3eddd53c073922f6fc7a412fdeefc", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313831", // aad
+ "ecd10331b577190dc0f8a127a635382c5dc235f804a8738e7428c0"
+ "3c1432f705b3ca062e278eb46ad144cf661e", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313832", // aad
+ "3ae60f821615541458ad5873b50b2d199eb18663c655e35968b960"
+ "238dbf943f51ac76945d8575fe44aac5f9e6", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313833", // aad
+ "af469724ce780854f0a0974931a9f5e489ffd508c844704663e97e"
+ "aa00ec7ea2d8c2789fde7d0451c0d40524d3", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313834", // aad
+ "4387afee89977aad5fd90d16842d05723f1a07d4d3e665bd2799eb"
+ "b4d0044c1d98257a4d59a65efe8e95fb2277", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313835", // aad
+ "181b472899f42a90007f94592d660f0bcbfdd33caebe00c72c6d16"
+ "2e044f1cfc2211c675f857ca1675b1a2c54b", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313836", // aad
+ "86530c96a60ca904be7a65933bb0fca55bd8086ababb97ee59b06b"
+ "2a5d2afd09aa32837c9c7ccfb1029b77b5bc", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313837", // aad
+ "a57a7ddc39e5e259cbc198f00b6406463588ac352e6b2aa90466f6"
+ "06f9237656a5f5a1c8b86396d8bf74b4adea", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313838", // aad
+ "220ad1ab0f1ed6450b4fa7f11ddf495d86b7dc443a076695afcd08"
+ "2a714e8d12ebd9477530e437d73f652fa7fb", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313839", // aad
+ "26fb7a282124638573b5afd855d4bc47e62abee662de740f0b5fd2"
+ "d9fbeeb8a9b3edda2fe153bbb30d0dae072f", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313930", // aad
+ "4a9b990a55c8cf4a939640494a47235ec90c36acca1f55bcfc1b35"
+ "4dba1749a7933332d8cb56d3db6d60d2cadd", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313931", // aad
+ "e94978b66ec43add7aa505b8354d8315ba9fb1237ddf00e160dbfc"
+ "054359cc29f1bc409f097f43871b4dbd1f4e", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313932", // aad
+ "79d8e4aa4b1026a83b4564ebe3219548e84a3c9c4d9ac5db2ba8e6"
+ "f9306f75bf769faf97f7b49116f1ac0c903d", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313933", // aad
+ "8b0451e22f0ab1b58e6daeb62c4a6dd684bc84273048837c0eb732"
+ "5357faf08f71d662fe39b302ab482ed73584", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313934", // aad
+ "970829c2bc024cc9d3185ece83a10ea4cd325a8569fede499bb20d"
+ "1e420e5c79da39ae9520ca880ba8521e5a30", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313935", // aad
+ "568fde9265bbb7b1251966fa8e99a99bde699d26b50c89a0aa0ef4"
+ "d02f648bb5471cddc89954412ec950f4ebf6", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313936", // aad
+ "99a024260fb85386076d726e790ce2e7f45a1e87c34997cbd07e86"
+ "6fa594289281674138a5bca7a0bbb9eb9a1d", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313937", // aad
+ "da06d95bf1f17c902c24a0fa210963abf0d51888c29a90b8beda33"
+ "a4dbb8eb41323a003cb016b5dddbefe0c5da", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313938", // aad
+ "e1e4c55dd92b4a3f1570da9b25dabf1090a827cd9a62cc2345ef9e"
+ "f2606332fcdf686c17593cf341235845811d", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313939", // aad
+ "8c4c51855b42327353203d00351864316144154a255c7cd8b9340b"
+ "0adc0001f9fb3212f082351c2f050991259e", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323030", // aad
+ "6a44a78875ab34bf5e4eb21771c1c8d12ceca07c0e265ec5a9887d"
+ "ec298925f5b84e0d370bcbcfd321692bce75", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323031", // aad
+ "f123a4d9189335554bfdc9fdf2b009464cc6b9d3867639301004e2"
+ "a6fe433ca1c7ce6788bfe1f9c538547082ea", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323032", // aad
+ "8c385415c1ef4dfc8e7344edfdb62e447a08ec048369264f56e230"
+ "326490b1299fee4a235ef6667167b0403c65", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323033", // aad
+ "cae7e25c80114596dd59e0122b0266abe5b7a0120e32e97a3dbfe6"
+ "f53a47780651124145531eb15c8f59974a9a", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323034", // aad
+ "b90136e58d39282806207ef37fa6a48bad7172e1a6050d229739ad"
+ "7eeaaec5dd0564ba68d1a0b290bb0460526f", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323035", // aad
+ "a06250a1240e6db8e32a2bae50c39948556c99a82a7c1c9c8606d7"
+ "cf280e9ccd6a370bd3593fb25ffc78e63f60", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323036", // aad
+ "7a26b7d413c2a44cdd711a3b93342838ef6af5f82d9b426ccf2489"
+ "3be7b4dd4b9afff8fed3043a56dec6e997b4", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323037", // aad
+ "9ff893d3a9049b6ba59cc5af4d0cc7e57fb9abd383d430e35965a7"
+ "251df35d40394f3ff3c3f815d60eba661e28", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323038", // aad
+ "f775bbb950bc3d3f04c2e3941a07d84f89ab34e1b3f4c962fc5983"
+ "a348a5a6bef14f840bf2c63150886c0939ac", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323039", // aad
+ "f32474434a007a3a464bc4c0192c6ff6caf2fdca06be3c816f43fb"
+ "54fdf5c24ec1c06e9926efdda6e79f400930", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323130", // aad
+ "a90c2461cc4bdedbc69ada594481147079dfc2409142c484e4ad02"
+ "77822d0c9ed1a757d16ce5ee885554e3d9d9", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323131", // aad
+ "1b75ce4e9ac8ae59977f1ec0c380db6126700cd5caf5d3896defec"
+ "2e82cb105bd0afbc3ed48207851409b9903b", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323132", // aad
+ "634dcaf6c1e9b42e1ec5fa7d7b1d166588960bd0dc11df708ed3b2"
+ "5001333501c6f3a446d0fc82a0d80480628f", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323133", // aad
+ "ebf071508e764b0d3f7c730f71de111eb66428c2c8445313c06553"
+ "af72598c452eb03bb13f4ef8792dc2fe6149", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323134", // aad
+ "02b10e0721863a893527731f57fd5839ab469064aeabb22b1d5552"
+ "5597b85dc3efbdb1a82c3707da45729653f0", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323135", // aad
+ "b8ea9cfaa7832cdde03b62e8b10f913b5176bb4c356885895273eb"
+ "3fbc507171e600e3e4a62fe2213dde358edd", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323136", // aad
+ "76c4f371b096d17aa8176fde1d8dd41df6e0947b9d29c110b44f77"
+ "81a04dbea1b86c44bf29d0346a28ebfea586", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323137", // aad
+ "1dc9673f3db7fb0ce447c51da167a65e13d0a85fa4213be2ac72fd"
+ "e4d4bfb357a3bb169277802dd39d3c4cf671", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323138", // aad
+ "d54d880dd5b68daa1c3a316afd90e6a189a375696135a9d2f1b930"
+ "b2e332c34550194b65dfda184f1f1048aae1", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323139", // aad
+ "39da792eb65996c2d36bd76e4ba9cb4a8bfc6ef910f702accf71f8"
+ "70f76b3de2aeeb473b909ee63e75e638fe7b", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323230", // aad
+ "ac9ba660b0ce63e1ea5b80720bca83a45f408bab508f5651cc9939"
+ "ff01b238e64e24798e6c42b224248d48319f", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323231", // aad
+ "12b40c9a1f277c553f6a94a3730dc9171c63ec11da2aede08e9b30"
+ "3a3272624d2bb6d12cede395060f54c2a7b2", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323232", // aad
+ "851e403348b533bfec847bf925dc885be35f9947fd6bd77b40c14a"
+ "e0399daff0a2f8cb1b62e7d39a084359de85", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323233", // aad
+ "ee87fef1ce52fe416b1abd1be6ebd6f6055bdcc53a013cf50efd67"
+ "c7a41b6ca7433243c51946b80224c98526e6", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323234", // aad
+ "033e6a1279fd862920f609bb281d64e55623fc9274afba1e35bd67"
+ "eabde839523c6f7686fba505bdf456059748", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323235", // aad
+ "7f4e756004c39ca27ebbcb1b932ee8ad5548c63e43e58f5dc01887"
+ "deff2123009395988e1bfc3749a21131aae5", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323236", // aad
+ "b9cf9739de66b41145ce8c75c15555909c180907b0b849e7a56346"
+ "9162351fb8cd135f1e44ca628aaa7d90074d", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323237", // aad
+ "11e0f1cabe7c5ce46830d2025394fa5b90cb56e08ed85a4c43a6cd"
+ "d7c2157b5a4490710f189d0c8e2202acac5b", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323238", // aad
+ "c373c359d080b49c8fa9db976cdc081291a5043808982f61c3f25a"
+ "1605f2e424112ba84323a729e19661ae6994", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323239", // aad
+ "c5e9ea00cc15df164c8457dd4763e72ff9d78b57e41047265df05e"
+ "1b60e365daee005dcf27bec40c0d71c54a59", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323330", // aad
+ "fa6f5c5d43fa94bbd83fa18cc46a8b777a7ffeca14f723ddef190c"
+ "bd5edc493d9ffbaecc5f974c9374b7324049", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323331", // aad
+ "57e36e4f2fbd074c914cacf9bdd3657b51707eed0034f66b34e1c2"
+ "04951b9b965b44ffe86f895a3f412e10258a", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323332", // aad
+ "c241ee71e0083beb5ade4ec1c50cf6e24f6114aa7cfb54227b4c29"
+ "b8c2bef30798814490ef6f7597c024fb8ea6", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323333", // aad
+ "6b486cd31a4dbd4ab25ee6523a0f87496fbde31a765848022cb8fb"
+ "5e963f4db976988fe5309026a7f564430358", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323334", // aad
+ "65e01c058591e693321be49a3d7b10e59b3accb1313540842f2d33"
+ "1746862d18287296f1192962f24d9399a27d", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323335", // aad
+ "1a27825e59a133ea94e6e229df2f60b5223c0c1df85cf3898a72c3"
+ "6852be07e573e8d51908705925c51d9aba89", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323336", // aad
+ "76e1a907e6f7824c6b80c90de82543f55ef4c9e69057ea56293b9f"
+ "ab04e389e5293dbd26c0d6ff63ba6bfaa300", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323337", // aad
+ "805e08e6d74131daf1f8b85866ad61f0975f0794f2a0786e3d0834"
+ "e1a80cba818dc002e4d08629a541802da4f6", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323338", // aad
+ "9b4e3c2dc944a140a1731e9855463dca5ff2afcc1455d3f1386be2"
+ "c776aee1efdffe1d876c02855cd27bc0ad64", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323339", // aad
+ "ce41ab05d872c7f93b1d8a2c9e9d6264dbc78a23bf1a1e6da4b2d8"
+ "af6805f276d055d2aceacfe9a3cc842e8540", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323430", // aad
+ "784b47e9df592da5ada0c381c3f25937aca95f86926322483ed90d"
+ "611ebee64463f1429b169e546d1931f4eadc", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323431", // aad
+ "c75fcb8000dccb23456d6b69400e42ef78b928ecea5d9bfe3ac7a5"
+ "5c61e6ee756d4e87fad40de7e87e86fa14be", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323432", // aad
+ "08cc0ecb74c64a6e8acb990bfcf933389675ec630a4fcbddfc2eb3"
+ "d82d15188073f6b05109794d4e2d42fea24d", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323433", // aad
+ "8b532a65e1a45ee5f75d4d2d414333aac9df2dfc3ed9c6718371d4"
+ "68f3b708892f25793c3f2235e13007612781", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323434", // aad
+ "603d09a52ab02de3cfa71831d39bb6d99263a03158af0b70924c56"
+ "52f0e04ea23c70439f10c5f6d90bbbb77295", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323435", // aad
+ "5535a3db0464d652064d7d669b9117be4644e64b03bbe30fd5e194"
+ "a972259364554a238bc1c39c185968bd879c", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323436", // aad
+ "f4b3e58adc45c316b325fade53a5862a70c15991b1e51ff78ffae3"
+ "610b0c4ad7a6c09216082c9e15fae5722cf6", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323437", // aad
+ "204b355d67cfa273829845461c7fb4a5bf68a9998c273419775d60"
+ "d95b64238217e8ba39c60f7a7e75b96f4f8a", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323438", // aad
+ "bc316eeaef0b25e3a443bf15a5031c22db49091eb0350f80ebccf3"
+ "074a105fb0813261c0393b62ab0036cd3934", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323439", // aad
+ "2ca6c8b75d4b0b755b5d208ff1ed33b35bf253685443d5bf442e71"
+ "ac9c411ed971463950c85936c2b46004efd4", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323530", // aad
+ "34735978d3dbe00a0fb86884df44bdf634b07ed51cb0885c65dfad"
+ "7f855ebca940dbf05668bd06c2b9d4171fae", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323531", // aad
+ "8e13050421e5dd8f31e60241e5826d1d4cdea5d35730cf5eb155ed"
+ "67bcba7c766e9ed3ad1a76c1bbf8609256f9", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323532", // aad
+ "6f59fce26415754107c8fe64ca5a7d65dfe5a2f6a6a00e506b4e8e"
+ "c8e0c1a91ae6fdf69bfc99a51b26484727cb", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323533", // aad
+ "fc4081d2108af3b4feaa472f5923633b9086dc8b166dbe879437bf"
+ "e86a510563745536d60ff0c5d60f0926fcdf", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323534", // aad
+ "00dd92d18a4bc3538de58f3df65d3192b4c7a3968f0b44756707c8"
+ "f48ee6b67c3446e9ccb8d5dd14a0214a13f0", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323535", // aad
+ "36eb4c896602ca953d8c4562a2b8c35e039b28f13fdbd41566c440"
+ "3446207b6420020cc1d46ae1cbac4841181c", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323536", // aad
+ "1fd293547f593e7a82a50b2f2104c0a44ca53ccf767b21a6278d7f"
+ "24dfe4ade3b079173c111fdbc535664e1be7", // ct
+ },
+ },
+ {
+ // Exports
+ {
+ "", // context
+ 32, // len
+ "a4e20580802ca2be8e11d8c41ca0d844d476e76378a0a90f0fa19e"
+ "1d9c44bfe5", // exported
+ },
+ {
+ "00", // context
+ 32, // len
+ "74964f2ca8c822f81eb9335856b3a714b05222bf59fb6a84f763da"
+ "71e4f7003e", // exported
+ },
+ {
+ "54657374436f6e74657874", // context
+ 32, // len
+ "e17b2947c5c3f5bdc6b222f2c9c4e853c411fe820546a764544108"
+ "fdf2831562", // exported
+ },
+ },
+ },
+ {
+ 10,
+ static_cast(0),
+ static_cast(32),
+ static_cast(3),
+ static_cast(3),
+ "4f6465206f6e2061204772656369616e2055726e", // info
+ "3067020100301406072a8648ce3d020106092b06010401da470f01044c304a"
+ "02010104204b0b79433dda55d8afcfc47c25023b8f24f6c80ba7a7eec7fe55"
+ "fed0f8155b45a123032100951f4e859719174b6de112830c258a9f8b2980f7"
+ "6b3a0157f47b064992f36b18",
+ "3067020100301406072a8648ce3d020106092b06010401da470f01044c304a"
+ "0201010420e79c716f6d7a003f6e19035ddbf2423cf8ad869f5143832a3b72"
+ "ea46868f8e2aa1230321009f9795beb7496e89d334bc0849094f1ffed0b02d"
+ "cee4f18d5efad72e3fcb1065",
+ "", // psk
+ "", // psk_id
+ "951f4e859719174b6de112830c258a9f8b2980f76b3a0157f47b064992f36b"
+ "18", // enc
+ "d79227273dae9c60d14b224ed53ec480ef6b43d00b4420b8fdf05afcc5859d"
+ "46", // key
+ "ab5e19699a79a656383dd4eb", // nonce
+ {
+ // Encryptions
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d30", // aad
+ "c5e6fa69d0da73aa0d23b34dd638d5d2d2ec1397f16794b9464602"
+ "7ba9d02d821c59874db1c8ab05c554b44064", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d31", // aad
+ "08e8f0ab48a4f1022a5dadd3efd9e497368392d64f9699641635d4"
+ "dea17bdf678ea18345c27865f09ea03f703f", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d32", // aad
+ "c0a7b2a907063ce5566495e7d41c11bc1c036808adee944b0b56f1"
+ "fbdc90a25ca5f8cbda5d4beeb033c34f6942", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d33", // aad
+ "8443f401bc37d193bb9734996f1d662dfebbb731a729d88118fdc8"
+ "1c2d4bc5d0d469125a6a6b48a7b9d068206b", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d34", // aad
+ "97d48c403c0ccaedff5655bc59683bd6fbe3bc94ab29a25876b0af"
+ "651c80ecaafe6f5eec7d0b6394b2b9a05d38", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d35", // aad
+ "97a354ff547597ccfec76ab7f229d227e1dafcec0687950fe4ec8f"
+ "224f9dce5d25fc89e5cbda232fe186b475cd", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d36", // aad
+ "fd81d9c715264085f50c472a9aae5fc61a50a41a595e79e720fd10"
+ "96118af2a49d3311ea8aa0c71d12027d13aa", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d37", // aad
+ "291cf76b428eb8adc90eb1aed0ddcb4465854300014bacecf75ced"
+ "d418e33ce23e6927b423f2ecbb63ea271090", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d38", // aad
+ "140dd8e65fe3fd4fdbc529a6469627125cd64c08e054d5967051a9"
+ "3beed9a7aa88f96a6f4bcb749212740f6f54", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d39", // aad
+ "667ffc5696fc3eafe601b911aea8aadf1309790d50c5c492101284"
+ "62a7c0dccc6f6c6eb67918b5d08987a55454", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3130", // aad
+ "1102b4a1955dde2451dc2fecb6ec91ce6502075d74ce4df94f762a"
+ "9b34c39ac9b2f3fe28f39c24f653869c1361", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3131", // aad
+ "d21a9ed022c1205d29090cbe29c4230d3a6d0a7d6f22aff8af760a"
+ "8b43ddae56d795a1398086e3ca87c4332685", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3132", // aad
+ "3b5637a2e94df2fb6dc95c76eecab703c9ac3645ca2d9c4bd2edb4"
+ "c177f77b47bbce6d30bbef5c469cdd1e2554", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3133", // aad
+ "2af798fa4390449e6090a450688a5021818dec017bae1d17797f76"
+ "43a3cad2df67d52a9239c629b6ede85f1be2", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3134", // aad
+ "382b0478a10bab68ef5709d83599c92cee442597b0d9fb14276b21"
+ "39bbe6309fccea2d2bbaf88e95a830e2520b", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3135", // aad
+ "beca243613364142edfe2c17a29a82029e003824229dba6d589f68"
+ "20f22a308fd794763ef26f5b5acf5f97948f", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3136", // aad
+ "f8205a0b83c23b279de7255be9d3fce13cffa3414325e12bd2e192"
+ "531afaafa64e0a806c575860101af0ef8521", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3137", // aad
+ "887240940cd8579813c63ebc8800d9523e7f483d02b3e03f8ff757"
+ "cc9049d8e8b27922c3cde8806f354b4dbcf8", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3138", // aad
+ "af7ebb81bdb291003baa46fba8bfd6ceb8f41ff8c17be626b5b4df"
+ "c11090a1285843fc753c9b7d3e4e9b179389", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3139", // aad
+ "beec729724586a4710285a7c4686cb25cb0c4b87ec8a56f4ed555e"
+ "333183244dfb77106be692e004e39e6cf865", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3230", // aad
+ "015bdd4d86f55aa54bbadd51c243ae8c3e4d89f610d2a0d86f8726"
+ "14fb1a63dabac0f59ec4f1e4363574feff72", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3231", // aad
+ "27982d6a0026eafdc87864023c2c86b142ab0b1f6477f3d6497c89"
+ "8da9a475532b19d425200338202db6da0c29", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3232", // aad
+ "e0aa991dd0362417a21a304f09419f356c8952bee0f5638ba01fad"
+ "429998bdb3edabce4adafb05b5e74009a783", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3233", // aad
+ "05020d0db747cb3f2c8bf402f7c48b5dd8648bc994c450c17b7924"
+ "0b2ea4a971e799ce42b3d7eefafcfbd9ed94", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3234", // aad
+ "7adc7dc8ce597c4b4b29167a3c1844fb86a1f9a1a05bbd74b64bc0"
+ "8882dacf472e8b6e5cfb92438dbbe6b771f1", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3235", // aad
+ "60c258e293c074e3af7db85828aa23132c04b58a2ff812cf9d5e52"
+ "82c881181ab5ca2789017fbbacde1a0bb371", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3236", // aad
+ "0c66c049dc316e03d59c5c5bd20c89e54dc88c9fbb2c3a5c80a915"
+ "ad480e4014547eb1350913c81ad19b37299f", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3237", // aad
+ "23543d77ea562883dc52e99dc0945e7754c21303707c984f5c7182"
+ "bfcbf3d6a7a2a639840b879cd8f2e77b70fa", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3238", // aad
+ "2d1f227cc60ee7534d40ac161a9e9c958e8924c972a56da3c8fe51"
+ "4716c8bb96f46a4347141910877fedd071ae", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3239", // aad
+ "da88df7223e07e99a9e9738e47ca03b008d593148545d7ff764013"
+ "7b905e4328b57a12099df8c0f84f6443fd89", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3330", // aad
+ "c70de3ab9a1da55efc8ea7e352483f87e974695b85bf9c16f72f18"
+ "c39d214b62eb0ab7072a82d0cb94ecf0e369", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3331", // aad
+ "a03b307850ea80e23b4bcb5f5c735e069b4c75b47dd34f0165257a"
+ "8c05ea78e268a9f810e4b5131f5e4eea7110", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3332", // aad
+ "46a604e4c3b862ddb868e5ae17445b0dd01f20a4c3116f87ce4528"
+ "f17fb50bdcddfc9e7fcc324e3192d4e98bad", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3333", // aad
+ "5235e26a761327dd0eb048b55861b171a4b2a3906d1d62174148ae"
+ "25c7fa73f7290dd7d8f7b939537be8e81028", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3334", // aad
+ "33854bface705319a801724d2572a864e0190380ecfee10009c9d4"
+ "2fc5144f2c7b0d0b5e9e2ce151ef9c7b6016", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3335", // aad
+ "f17c86b913ab016ecbf0321ebd2ea18a281ccb2074123027411730"
+ "a60c26e84f57b27f8fd833bfa0b902c32be1", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3336", // aad
+ "e2ca72418df78c38a361aa97858ce32760d9bc65aa6287dffa75a4"
+ "d36def4609b9ba32fb414ef2638cfd94d297", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3337", // aad
+ "d7223e8a124b7ad4bfb777ea7faab4349ade26e1937f94b1620092"
+ "5ad599869a96980e9798d312958b78191e09", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3338", // aad
+ "2c2cf6db73e46a212f1e3523fc08a8739587ef788822568f2973e1"
+ "cf699f04652daf7dd1bf71000dec5c3aa987", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3339", // aad
+ "25af9a04a07f1bcef56f4468b307965cee86c2cbe62abca8805565"
+ "8be1b1fb3274d37b6797d5bb165a9163606b", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3430", // aad
+ "417b2d8165f636945b0e95dff32de663bf420e7ff4891d52d2f4e1"
+ "997097be21cab4fcdccb0908d9417bdfdbfb", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3431", // aad
+ "d4ce57f70093afbf8f68a654da640d18532d051f7c9cdad3e8328e"
+ "833c603dc0b4ff96673d78bf19f481a58667", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3432", // aad
+ "e33ca672f1055281e906d2a5e0273664a0d7b7f00b4d0eec76e236"
+ "ca124de5cbacfe1b4f18b96be1eb50409479", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3433", // aad
+ "d7925c2921b3a66fc5c3b454a441399afaf669a04f5c6594a97857"
+ "91bcac33a4eeddecb957ec1875a28ab5da4b", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3434", // aad
+ "7d5d9cb03eee63f477307660ab2f90a0ba0f32ca7af23ff36d6d21"
+ "621fd497e3e3a1f3f5a607b7c13beba2f5cd", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3435", // aad
+ "fd029e0731196584625d6ca32a566dbb4f590597e5cd01ce425fe6"
+ "be4d6df51e613abb5b8daf26220466deca86", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3436", // aad
+ "52b67f4d2b95a5aa06a816f2eb4d501d4df62d69c2234cea1e2da9"
+ "aff6bcba8516f2d83c8918f8d92bf4e525df", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3437", // aad
+ "d6790735bb8d16cfa80d8d4dcb9f3ad2090e8b6750a25ceb98af71"
+ "ee4c6ffbf75b4e9aa150f2620b2cb5988f09", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3438", // aad
+ "dbf89de4f1b7f595186ff7ccab9d5b0cb2c1d4f144637728e629a1"
+ "4addd37ad9aa677b984030e8265c85efd5ac", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3439", // aad
+ "77ccd8c463ac94fd0c1747a9eb84ac78acc9f238ed47c1bef9d37c"
+ "e1c88c8b7eba37f80480d6194dd601a78bdd", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3530", // aad
+ "0da528fdbd404e3b79de4cc82770b79ca6b9747c1f7f52bd93ab93"
+ "fbdf55ee8b322654418f94f4c238570c53bd", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3531", // aad
+ "3e5f0d40b7a49065ae14e504ee0e9c7477fef79e14a23a6d169a0b"
+ "6518ed7ebe49527c02bbd2bac7238f9d8214", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3532", // aad
+ "5cc4be2bbad8240d55562ffc357cf35b760a18d5ea31718d20f4bc"
+ "97fa2abd07143aee87b1dad12f282aa0c682", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3533", // aad
+ "e18ed6f365da1585ed9a3075e633d69974a36f4020f4a0fb61af28"
+ "8d3c491b045dc746f7e381084a278bad1b98", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3534", // aad
+ "0bbfbdd83daf56e6d38356c5588fe0bfed1e1ff2ddb27698367e27"
+ "20596b2cac1b04df32d468e0f28486e280f3", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3535", // aad
+ "c24d82d3944b8de342a7e5d636027256d87dcc104dad296862fc4c"
+ "e0c327136769a42d9e0c6d48536084f672c1", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3536", // aad
+ "136b12ea69d9c2ce073c23a3ba511c46336ceef2802cf081ec46a0"
+ "29132eb41a850af46f4c1d918765fa915447", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3537", // aad
+ "950930da9a4331ba5286d678ff96351fb81909f3bba7fb95f60fda"
+ "804c56de7e0d50e47d82268dfd77412416d3", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3538", // aad
+ "b50666453dd4414819a8b66dd9522ed2a8a1919bb3067e3fd9d7e1"
+ "32710ff4f75a09d3897d0a1d0f62d759e20a", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3539", // aad
+ "d48ac4189a3dc702452dc3e69cbf012f32af9a6970dc58b4fd7b14"
+ "b5c92d956d5c3593612d5660fc0ff95749ae", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3630", // aad
+ "8b06591670793f428c42c0fa523f601065b7ec48ddeb1e00a1afec"
+ "3ddb01666ba9d2fb1d30ac0c0217ae836696", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3631", // aad
+ "45ca2e5afab4d54adac5e51f5fdb9b693b11bc3244c73922e089f8"
+ "82278ab16763ba86ed546249b9efc595d356", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3632", // aad
+ "afa43bad889140ead157a33e245c041d25b608eb44c32b033462bf"
+ "01a06d8e1ab20237f78c4004bdf39957d0cc", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3633", // aad
+ "22c71bec72d2d1df02ddef0c59c1a2a8d6cf4ad2fc27451ae3d06a"
+ "d373a1d4f72c7c47d57718b3a596a1308a48", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3634", // aad
+ "e13487b6cc5b14601aa76e5a73593c4c1cea6f45e26ceaa9b24640"
+ "b25bedd1ea76ae74e6a549c9055b9a81f10a", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3635", // aad
+ "5162049cdc975979c705cd2d6151c5c29bcd0c5b78a85a0c4d8280"
+ "d53674b09e30f978c506a0f5d7cec6ac322a", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3636", // aad
+ "568d779a1138ae468053f4c4337c26a92fc39ec4d3234612bf183a"
+ "e149675ef2fd4ad7af0254b7ef2c776dd9e4", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3637", // aad
+ "dd224362ed4016123b7b2e93265ff482f358d329a2890a8adea845"
+ "fcb604c44bdb97e08f54b3742da996d1b682", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3638", // aad
+ "c8f2e8f788ff4d40716f19be521475bd2d9fd2347cd8489419c78b"
+ "2e2ef9f3494b7779619897202eeae726546c", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3639", // aad
+ "32c5fce68415d15a5f80f749e74027e8d94d68e0413eb88d2c0f8d"
+ "6fa991f885cb40b7ca90a14f45d02fad8524", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3730", // aad
+ "dff28031fc19a899b1b7ebba51869936edca81f772693844149adb"
+ "3b83b7a0e0dcaac9a2c4d46cd6c66b4f5f7d", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3731", // aad
+ "10ff66e1811429dcb6bdb72ed737e57b111f6a3d262e00b152082f"
+ "38e8954afccb881303e37549c3581cc5ab45", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3732", // aad
+ "50489f0462e8c78dab779c27b2b23a7ac8434b02efd36e62beaec7"
+ "fd016b51b23f697e303eede020d7fd038f70", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3733", // aad
+ "fe608d46cd4148508cd50b1021b99d778b9b69469f8e7ce2865f50"
+ "99f065a37565978e15615dbe53f07475cce4", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3734", // aad
+ "22e4e5bf3405671d1f87c9a1606f0da70518e26d66c48d45f969a8"
+ "a09b7544011b343f14de2c3693a35c441d94", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3735", // aad
+ "3fa52f71c5882387a981d3096d151d1206be655b40ea7e4a133477"
+ "5fbfac65d1dd6408b2a4a5341d364c15ec98", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3736", // aad
+ "514c511a9badd39d06616e4a0e249baffe631bffdd8c46956cb962"
+ "7b26b88bf49bf836545f0ce9447544550019", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3737", // aad
+ "871914261e747cc23d81036043242ccdef98a8fbdad35424ae9414"
+ "d7cb651310db2e3649688f6440fda4597461", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3738", // aad
+ "5914daa88d59a086c90817e5496adc2e7c4da0fdb7ec6fccc80ce5"
+ "228dea6aab3a2e9342803d96c4dd21935902", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3739", // aad
+ "a92b466db806e4716b8d95d9c936cd66377b4a75294567fd4b9eb5"
+ "849753eba2375f36883f48e253920669d981", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3830", // aad
+ "bd839700c765881373df61ab2bd3d5b3b230e6729b09e2c7fd058f"
+ "8eb9850f709eab34bd079803f1f67c605039", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3831", // aad
+ "85db9e24929695f22d0009b6f0f613edc106b037edfbcfb9d3f758"
+ "5fbda06678f2ecd2a036d8edb479ce234a5b", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3832", // aad
+ "886064d269cf5c853c63445fd5108009848e725929b163302003a4"
+ "4d5dd382a74707b808c38e0767d00dc9e5ab", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3833", // aad
+ "a2a091ad7356a87af05049e1f2bd30567e545bd072a0152714e112"
+ "b2c3ae799dc108aae424d6fc91d339398fe1", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3834", // aad
+ "bd000bd293183d2ddf5c32530586f063e0d2041014430c3032bd22"
+ "3772b6fc81bd6edcecb3f4ab65383cb00499", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3835", // aad
+ "a23b0441261754d11e6a9dcab5ff8399504c8f7e064471ca9cb8e1"
+ "78474d1ab65a38ff9c822924e406fb0ae99f", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3836", // aad
+ "fb3a81d0f3a721417644e9b4e4fbe5f436f1ba2247349508cb96ae"
+ "b366dcf2a3d25ee5e99ae84ff4245f30a21b", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3837", // aad
+ "0fe2fbf77b849e8b61944ee449940e5e6aabcf161df31c9a1f6299"
+ "9b298b4a7edd2756eda4b91976bea548c897", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3838", // aad
+ "9b39b84452f74bc3a03090076e65307c5749398e3542cdea390731"
+ "4ddd42e94aa7ddf1923affe1a07681cd5083", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3839", // aad
+ "438328dc43b4970f09c8618b673cd3749886deb7b4d3eeae1e9e8f"
+ "db5361d21aa7bce49a9bc67158a6ce8e553d", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3930", // aad
+ "123d99100a7616cb33060bdbfafd881ccfa4c8e596d737fcea4f20"
+ "9e2f6f67e16f58edd5f2c12491b36274c6f1", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3931", // aad
+ "1b47d87de23cfd9a687947ca0d56c32929cacea6bb4c9ceddfb91c"
+ "66b7c8cf36be9fc53a47350fe8011004c4aa", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3932", // aad
+ "9132b99f54221cc8c19adbf2cd0ba606f58b0a289f551b93abc52e"
+ "c79fc3b6e8f8000e6c76bfd8cd5cad03e8b4", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3933", // aad
+ "e120f2b56d47e4a4fbc865a9d191776991f06420a2c7778da67a20"
+ "400349875bfcdb0cd3f08ba83252e7d42fb3", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3934", // aad
+ "1deb59524390feaff45af411f24c0a1069ea46acb3b7fc022b2262"
+ "a61287a1daa4224f1cd57c6a36a983721c30", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3935", // aad
+ "e95d67a4937c0057707fc4e20fbf6e23cd9003e311ac0b8d6d7b04"
+ "fcfa7a266521c66ecf9114797e821554f9f2", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3936", // aad
+ "3fc53852c77be4e1960b5935d1b8c10c70fbd9c0ad41261ccde6ec"
+ "ab06386a35e0a5ca86f21086896ef22df83a", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3937", // aad
+ "161af4d462597b4260f201926f5e488f7217344cf55a276b08b2d5"
+ "51140ee612b12babe33c525eb4a45eb10c44", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3938", // aad
+ "80d91117c0bb9918a986ffc000890b721d9ce20da98f52a2bc21c2"
+ "a4403c0850d53e1a5b645a35a4978a480c33", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3939", // aad
+ "f65d01548e2678f8137f106e61a27b671d29d03022113952b8c8d0"
+ "8f6c84be72d01c7602693c39d12c93e0911d", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313030", // aad
+ "50bc1a9b10180e41ec99c8b97e21069d89599c78a4ff966a244638"
+ "f666d05484f0cb95fdd0b481eb4951c9d736", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313031", // aad
+ "ce0d4611df5f9d9007ee7ce81875c28165163c927de87752286fa8"
+ "22f0ab6a511976db2902cf4bf8c84f4cd868", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313032", // aad
+ "2b341f8182e3fe1f35aa2355f809a526f2403599dfdf0008591f41"
+ "6416d40aee609e28dd73f9c0773fcce68ee6", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313033", // aad
+ "c3b3ce9d3813af8d99be17b9aaf97cac87884833e8e24bed7b1694"
+ "8dbff89b5d188eebefee964fd87984542e9d", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313034", // aad
+ "32c2d066e14655ad6c35f60e1b914472cca0e803edc6d4495c866c"
+ "b709cefdd6f8e2ba6ae476fa1f7c59a94f5c", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313035", // aad
+ "a45041afbd83664d5247f35ba0677973c732600666408af3fe0f2c"
+ "1457805c6f6cec0cd4c2328639d53658d55c", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313036", // aad
+ "dee2d4fd744c903ccd66dd01780637919fa7ff1a4a12227216d846"
+ "65dcd4f3a178c48be49f683fbce2ca3907ce", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313037", // aad
+ "4c604980bafa001393e8cfe5ac6730390f8cfcb23770920bc58ee8"
+ "93010ea041908e21113d257c9f049df96346", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313038", // aad
+ "7527ee716edd0afc4f37d6bc3206bd3c47e1a39de98ac193de9654"
+ "bd1a18d78cb40416a88da3ee204fb3c3a047", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313039", // aad
+ "3e5de744a4c82e873226487c9b91e1a129b2fb82b78b216a1e7a1a"
+ "fd787a069d932017a33d90667fe5006b5457", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313130", // aad
+ "f124eb32f2928d3b5483c7a05b884005d2efac21cca91b53ac2bbf"
+ "c7e56f78780c894d99e72e56355be579a83f", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313131", // aad
+ "41754dbb9f6f4e68b6ce6204fd4554dffceeb5f33b2ebcb6fe623f"
+ "7090860eefbc2020b45d7161faf0fde76d98", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313132", // aad
+ "3d11eb6f8e51c79138d59c3d56bfe279bbb17f302fcdff05307675"
+ "c5878013639de7e8c084ed23be1f2d0ff615", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313133", // aad
+ "cbc5bf23c157eb65822b732b5cc7da486c9fcd08754a6e40713ecf"
+ "571e541caec73b5d7877970051440ff5a61b", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313134", // aad
+ "62cedb677ad1c8b1a891f64980d8a5a0a770a667c6525dd03916a1"
+ "693190daf84fe00ab6b494d153a278fef242", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313135", // aad
+ "779f36c1b26181c2b5b1c10b02adfe55123228892deb068e4b16fc"
+ "c3c599e785d7f4de669af2029ca85e999b4b", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313136", // aad
+ "1d49a3a2e4b666c1c1c13da4f5606edd281f887145d43f31cc7514"
+ "81ddd1bd1254b5c330963adb6e746c9479d5", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313137", // aad
+ "70c171cb803caa589ecf65397461310dab8147eabda7fa96854753"
+ "4165389daec98c8853494dd54f6e728a7d5d", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313138", // aad
+ "cb06472238c11f893ac04570f7e36995f2722a31b72bac5beeb415"
+ "09a52fe19d8befe1d863f561549f515e1eae", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313139", // aad
+ "7f7b7dc34800806e619c3da801544c54756b7e61ec23eaf1e9fce7"
+ "ad56e41f39b1221ccf43825bf7bf6d4b3f66", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313230", // aad
+ "163ee09ccf8597a6f4acff8a6301f0ee0f0136e942a995befa14dd"
+ "f1dde4818102609446bd9a74c95de42ae247", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313231", // aad
+ "d39e7979b90390a5ef2d166b4e29cdc05e1f80ab4a868a77eb50e1"
+ "0effc5277e7c9d2c9110716c1231350c97fd", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313232", // aad
+ "1c030fa308a0133a8c6752c9b5048d5a2eed4b3488d6d3381122e0"
+ "3f904af79d1c655961bfb69dfd53a0bfbff1", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313233", // aad
+ "5a16439806df607a0e96f8fc2b4e79c70296d48ab3fa7543416103"
+ "da3fc8c3a0df379084c9d06faee312ef30d4", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313234", // aad
+ "7939228ed15d5bab611df627bc028122f8e14f015807895b0910de"
+ "75af6a3bf33df6b512450028c3347b5d9e03", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313235", // aad
+ "935ab87f6ee283e7c04da8af92c81af6e8cc8d995c699a4dfd3e50"
+ "b4eec3f0de73650ef46ef93230152f9a4098", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313236", // aad
+ "ac104ca7b2d44defdcd4ab3cb0adc65c3e006b212b5463c6a4a44a"
+ "eec2be40421e799d8e526abc5b44bc01c86c", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313237", // aad
+ "e945e9b3d1b42308f037b04a743f8b181932d1a65c66f72a42608c"
+ "ddad98a2ec5e8a739e16304f31d4dbe19730", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313238", // aad
+ "2969e1a23d448adc51c2605aebeca7b0cffb28dba6f24fb284b850"
+ "525cda48768457cef8eba5714125ffe19f27", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313239", // aad
+ "8820dc541234bd9b85af095fe4b8e9d6e65894a8cae5ec2971cc95"
+ "eb0521e70a1379dab89ab663b5fd72bc8332", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313330", // aad
+ "47cf7c8e835353f93e95b13743b27f09f59b4344877650ce231a0b"
+ "696ef03269202534fa2bd637b3dc8f18a02a", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313331", // aad
+ "ddca7ecec48075e25ab7d27ef04abb0bfefc955716111fa3f03319"
+ "564cdc7af1113eacbff09473ade2efbf0f70", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313332", // aad
+ "ef5dd6536ad9ecd848a22e62072e07d55d186e59284e2454a952ec"
+ "988914185147a1a23244965c55ad748432db", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313333", // aad
+ "f6fbcf2dc4a5bdea20262e3db0022ee9019b5ef05c560f403c7916"
+ "974a5c2688598a08aa590848e47b7b5a4339", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313334", // aad
+ "ed5a86e03146cff96d6d80dba59f5a373ab02dc6896b790803715c"
+ "f04ff7ef4796a371b26eb97043a9324706d1", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313335", // aad
+ "47530f1ef6743489a2defa04aab70c1e1c57ed514d3e035858a51c"
+ "db49baba675a2c723efe463445a17cf35d99", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313336", // aad
+ "383dfeebf7eb824f5e2f44f2676077a997f9419698ad537a4175da"
+ "ab98d9600dafab712243c3d22e34b242cd24", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313337", // aad
+ "99dcbf1fb04cc8758dec7896f3bec0c744c5672254563739213794"
+ "f4e48afca407aac2719d9632c36612e0e1f0", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313338", // aad
+ "6990f60e36c68e7f2d9837e7d33c6c4430b0b8b41ab257ebc925e4"
+ "6ae0ff503fbce2642ab1057763947cb38abf", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313339", // aad
+ "922b1b6bc0b8abf9bee2c85620726d8ec4be7c8d5b81d52972dcd2"
+ "9054b214192110eda1f5e280952396d8ad6a", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313430", // aad
+ "0ee1c7d61cca96c7b8d26963053155dd9a1d88cec7bf0bc58192c5"
+ "7a9ec6df6f0298b44be67759dd12efb4808f", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313431", // aad
+ "8edd4085d1b7e8ac19728c6c0a88283d75e2c7002d3a9049f82c0b"
+ "207fe22c3b4e052bcb3498d887a04172c0f3", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313432", // aad
+ "adb022bdb44849dac29decea99f6b2284032685591aaaa0a1f6bf9"
+ "f155b222a9972e6172c60a4c07e9f55bdcc9", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313433", // aad
+ "26fd4759daa2e9c6ef2fa8d3832255033c4ae85dec27573f12fd85"
+ "ab70fd3e3fad7bbf47bf662a3e84d30d5bd3", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313434", // aad
+ "6510f1a1909a05744fc6fbb4bd4baf70bcbd5fa9e311e5c714e02b"
+ "848651d976b4668e2bc3606b8033a62ca264", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313435", // aad
+ "1405c964156549f3093aada03f87a283a7e4028787e9ea02de7679"
+ "47fb37bd1fe072c003e573592d86221dc674", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313436", // aad
+ "7a1372e657a7d7da5d7f618f4cfbc2f42a7b6ff51e6ec375ac01dd"
+ "02c3ed0388ddbacddf7c778c6a26d6a5fa5e", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313437", // aad
+ "04431e99d79c615a5e0db5b9bfa02bcdc1668901672a831a6f6b15"
+ "7466fe8bc9dbe5e3390d8bf4b47342f6a5bd", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313438", // aad
+ "6e3c799c848f1cbe4658d4692efc7a2d138aa9e7b556be19bb73ac"
+ "a2c2bee56bb94268d5d0fa03d1981c4d486b", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313439", // aad
+ "ecb349fdc277b73a7852c18386e3ec605ed1560febbc7ad7d7d5eb"
+ "b51632ef080a058b810348d06be2f4b6c329", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313530", // aad
+ "94e96f4a8f30cb12923d51daf07c96fb56a330e1355587c6c9f4dc"
+ "e12102707b34fc60c6e44bc3a66d60762a9d", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313531", // aad
+ "1a004d296b8a348bbe14c94ec39e1035c2ce5b8366652b8e46e404"
+ "3ac14b7ef16a298319dfffe87adaadde223a", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313532", // aad
+ "7a08cc8c5efec183fcfc28e40c03c22fa3e06a7f346e16848c6e7d"
+ "74184a1d12a1da6f110b574c375083ddba0f", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313533", // aad
+ "f018cee13e7d7f3b961a3d3c5be28a2048ab0f7cb80351682b5b8c"
+ "c9ce6646c9f9b8b4fe899e9f04e078fc777f", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313534", // aad
+ "62690117fb28d3b3d8e41950be321997a08a467cf0105dd181ca7c"
+ "4a6da3c61fb4e0f244210b1cea54e9629f53", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313535", // aad
+ "a56b1c6e57303913e48f0ab9070085d1e010ca952fd7056ae15580"
+ "f7634f134f6ee3067853e8b665eb1856a0b0", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313536", // aad
+ "e62e434d2bb80e4f332adf394ee5f869a55dbd6e05206e247db2af"
+ "7c1f429e17f85831e8b932c14fa101399051", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313537", // aad
+ "f52bdba01fe9057000daca402943d460e7fdc977ed857fd557ae45"
+ "2ea2796e5fc8de8f497a2754ca4c1549bdb0", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313538", // aad
+ "9d3a171dab9ed5611fc63740413914dfeced6aa7ae8907e7d6dab0"
+ "194431f53f8b603aca04348fdb10a7c79b0f", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313539", // aad
+ "12fe93cacf7079d6fb13acb47e8f02ad25ac9e02f75c14932f2081"
+ "fcb23a0a4f7925d6111834c2c9c4100af5e4", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313630", // aad
+ "7a8b464761ab44f553809f70fd779eeea21d84a8b2a8799786ae1e"
+ "6a4e79ff480c904d474b9c6bab2e07b5f637", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313631", // aad
+ "021087a2125eeac2dc3fb84e748559da5628f37a7c564b2fdb7751"
+ "91952065665fcfdb448eb02d42959efbfc71", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313632", // aad
+ "a2d76772807141489df06bc28c581fa2fbcbf2f2658f75f08c72ff"
+ "ce4a3e70add77857c8583b225a3443dbbbec", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313633", // aad
+ "9f43212f5f5a574ee810b43458cc34151eddc24cf44f765cd67f10"
+ "c76d567d734e89041da3cd5a6a725f14a4e6", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313634", // aad
+ "f9ad55c56179d466772be3d7519d30e1b92f8f53a7f6ce36171ab7"
+ "6242034eae8ffaf98bfee639f64cdd943cf8", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313635", // aad
+ "48ae2865e61d0b9eb9e398dbd0e0532d996a5271b91d805d5fedfb"
+ "fedc09b9e36852edc3ef6de6d1755819f34e", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313636", // aad
+ "51abda424bb5434c642f90550776dc57b0d9f8791011e60cb1269d"
+ "d50edbeba4b9ade9093cf23998b7510a27c3", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313637", // aad
+ "a7b7f20fccf381e48078ba774ecd15490b5aa31efe492887135f5a"
+ "f43cbf0378f2cf95e9ea3bf76aebcec1f05e", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313638", // aad
+ "cc5dc4799e383b1f61c974b8ff4cf12870c2ffcc94613e35e42df0"
+ "eeb64776a2033dbcf1c6a3ebf2103bd2e0e7", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313639", // aad
+ "ac527450b1a359b2cb9f1d33b81c4be3ca3327eb09ffeb07df3885"
+ "8c24e70aa70df5b898c64b4c986f2ac919e9", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313730", // aad
+ "93beb8cf859e63538e65729944486a47709527b80eb9d9edb85585"
+ "b70c450d58c3bcfb9d13d4eee61285f03013", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313731", // aad
+ "550b852939bf20ed506ff99d773bd11ea0f535dc7a825d10039bb5"
+ "48b7eb360d5768409b347331ce670bcd3f90", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313732", // aad
+ "f08ee89c430f1b298697c69b110d20b66bdf785c7aa102b231adb4"
+ "cb78fd0ced0eac34fabf28a38646e3d76453", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313733", // aad
+ "1baf10a9e6a22c8876e5ef87f3fbcd268cea035eae63197b473107"
+ "8a99e71750786950fa67b6d64e980364d7b4", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313734", // aad
+ "813ace0167ac90157628649aeaeb003e7f538318c9361d25b6d9e1"
+ "acc7f2a00a23c97f60cbe2bf83847243af74", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313735", // aad
+ "8951ab1544934bbbdabf35793dc0f02f3ffaf9a87e05f20dac0c21"
+ "fda04cce7b3cdf492e081045ebaacefc37bf", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313736", // aad
+ "834334228dc106e83ef437710b530ce3ac79e0aa3c623ae6bc6fd1"
+ "2dede55cdbb4a693740ae54a7c0399c83a29", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313737", // aad
+ "51e970d7af486a4ceb2988fb69b04123cd8043a26f4ceceee51c59"
+ "6b7dc46fb3b05a3ca376607c4751294436e7", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313738", // aad
+ "68792a278390bdce91517ea774cbdabfdfbd1c950f15e556d4a696"
+ "59af0b4f8399f0df67f55e9b5fe9422ac197", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313739", // aad
+ "e5a168863f2aa6fcdc0627e29f01ddd276019297b76171a9ec93ce"
+ "9e2d83bb409d1fbc0a13ffe6ebbff26da074", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313830", // aad
+ "69073a98e65555ac823f1f0d67b7a5ff0460e29eadf3d0feb740e1"
+ "b6aa55d7119d4623d1c580ba22a1a6408ac1", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313831", // aad
+ "73d37126b3d4fade642ac0c91f97ad60cf23a5c456ad3b0a9fda93"
+ "89f3ce978f3ddeb082ac549490b3326597cb", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313832", // aad
+ "f182d6004bdd032839d7fd6061f1fb3f18b30169e08205275b84da"
+ "d1467bdf1c7d5d243684d1c2b1d70b39c191", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313833", // aad
+ "7a0f02fccbed0eedde68e47a67d52df4db4ba989f8cbc451a4a904"
+ "770387c3f82a0f07e62378eb7998eb572325", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313834", // aad
+ "83563101af4e5824ef7d014fc189ca1bf7e447b899fc6844b7104b"
+ "e84e6572364e16d5b38580477fae315cb3a6", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313835", // aad
+ "9ac4f04b152b0ae8b775f2729bf8b2608ea296fe8e0bc67ee2ab4e"
+ "e52b4529c5cba705aae8a6361ad94ce63727", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313836", // aad
+ "7c1a8064f75959e6ab4083efbb7dc5fd5e6829449f255398cab248"
+ "e9df7880c54a48aa2330d53d545c3acbceb5", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313837", // aad
+ "f9c8d03ebfd3a3eb24861ee67af79c4df80c6d00f5bc2ab58f1952"
+ "db8dae240bde7fd4fe9a06f522fd59aa711b", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313838", // aad
+ "f93ead26311d358d72f851c985ffbf467708400e2b33a41145431d"
+ "c0ca55395ca2c5ca5991905697c9253838e9", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313839", // aad
+ "8f2862793a83134347e0ededf429be1ce9a754598a0d8b6d673e36"
+ "e6e619885a39a055999c1a5c697b67aec248", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313930", // aad
+ "95ef0cd417df06cb3f375223d219d78e1b40b310bb7be6f5aa9037"
+ "29ee8b80eb1b3d7ba2de4bf187f0ba6c4828", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313931", // aad
+ "a8c5865f23c3a0884a4614e2713241598441201ca3042613f0362f"
+ "1707bbc658308b7f1371dc06382c7c0deaf8", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313932", // aad
+ "c2e8d660689cfcc13c6f05240c35d43e6c374ed45a31da9e7ff7a0"
+ "d455e7cbe5e8976cfaace97f5c2fc13598f4", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313933", // aad
+ "ac170a6ea5b2cc1b0c76b80a71e6a676b212748384b2cec877ce52"
+ "2d5200dbeaeb4be84cba96eb2a70431c383c", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313934", // aad
+ "ecfd01c685d81b39154516e832b054c0675ae9999067640aca6f61"
+ "a7bb9d9808f47ef7903a45bc5c4930df4a2a", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313935", // aad
+ "7bd4e0926aecf8df63ad8f2ecc43c829c642a2507839e430a9bd48"
+ "9e0b2c671dc5a13f602f4680e0e47bf1fa60", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313936", // aad
+ "2ad2a1212cdaa8fa2aa1e9ece62397b917f8d43dbe23bb1307a7b7"
+ "312e6859ad30fc056690c46a84fed663c07c", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313937", // aad
+ "60fff5cfe34b2c0b9a58bc87317680c013ff64163a2566e689c8b0"
+ "25d1269547e870153234998367b5b0bbf2ff", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313938", // aad
+ "9f1fd73b1465a12e2d2690a62dace1f6014bf1ca0b164b147f4887"
+ "9eb3258c8b8c90124cf0ae16886872036675", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313939", // aad
+ "c8dd3c9561bfff68ec2ad892f86f9e908370a3b63c0ff555cadd12"
+ "5d9b699840d471bf86b09d340deaac9c4fbf", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323030", // aad
+ "703e62d58f34135c362eb4442872483c5d7f0cd2c6be603fef3869"
+ "bff0902b586aa4329ddd0f15938b794f2e35", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323031", // aad
+ "e8ed2fe07b6912ae3553571a6ed13d4cf252774ff9f52f66f04c7d"
+ "7c019bb3e8715631b14300133ec99ce65d07", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323032", // aad
+ "68c88d569446f222dabfd5bf8035415581d28c3cec223ef842bcbe"
+ "50ef445b0ca3137c3e55a4a37389c34b013a", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323033", // aad
+ "4a783e794d459a89c5b74c90120801892b2665a44893e37228c30a"
+ "cde327c79e49504423f8a1c13e1ca5a33a15", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323034", // aad
+ "d51246cb64529d63f1e41222a5f9d1c0e046e4cca4050b2542f744"
+ "d03ac1f0aa5675541d7800d7911c7e57e775", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323035", // aad
+ "aca87a770b01062fb212103f6beb82121e171817ee154529a9721f"
+ "ebfb2e47c0c1ea9fec622d06b896eb4b58b9", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323036", // aad
+ "f8582b5285d787ae917c324f6fdd0109b27a1e38ae4461d5ea43c4"
+ "5db5a5d2ac8fae1eb52011da38185bfa73f4", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323037", // aad
+ "bf567f3b4a4376fbd3e5f877e04465bb844ce1b25485864db4e98b"
+ "1c1b47e292024ead2b5e2707209c2aa093b3", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323038", // aad
+ "f06b23c175709ce15def628a5c38629e4c5f9d1995bc26c28fcedf"
+ "4d9fde2a8419553d3c7e56186961b0953ea4", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323039", // aad
+ "b7157cc3ddcdaf535c5a71280e7834502ef340451d79b0b0913c44"
+ "929aff75dacc3e52146d36366a152faab383", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323130", // aad
+ "832234a2618e44fa3a2d7ce2ee2fec4e624aa9ee184ecc7fe6d3fc"
+ "ddc5ef0fa9bb02e413e7e066c31592cc1634", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323131", // aad
+ "33cacfb6f84fc4764c4ce82f7b951314bf159bcd06913b147c50ae"
+ "ff049ef86373031d3bd36c52b821da79270b", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323132", // aad
+ "9020f8637148044a5c4f8d816adcc7942d65953c870399bbe05a54"
+ "f184780383a40acd7e221937c9a6f7506b9a", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323133", // aad
+ "229ac6e6aee349d03435ce3ad7a3a6f6a5b867d4e81ac842eeae35"
+ "9233bc7dc565a581e1e2d330def7d6332283", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323134", // aad
+ "8bbef33fb9773317a1a8f66b6215eb7d64922f763cb688c45690bc"
+ "3fd673333d25e6f173f0082c263bab714b5b", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323135", // aad
+ "3499e810c2a121bafa960aa030fca5aa7a42f59b1b7b9dde674018"
+ "a8bbe2f4846247129e843a1b962cc169859a", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323136", // aad
+ "a0bbb318cbfe0e4a7feca79a15c7dae7b2293e7e820ac109a5e1f7"
+ "d96639648319b7c0d6da64e18f01705b7af6", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323137", // aad
+ "19cd9fb63a33bcc6266a725850c9755fdfa5761e112f5251cbd214"
+ "215d746b117f7f4d9e56b93659f7a8f0a32c", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323138", // aad
+ "2521d804a6fc3054698ff5ac8de7ad573d2eb98ce29cae55353b1a"
+ "73ef5674bb882a8160a5d77272913628dafa", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323139", // aad
+ "d810a4f8177490b42abe11f9e0c9b8486fd6eed52dbdef5379d7bc"
+ "d92c06bfab384c0e62b06efd436e5cce7a64", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323230", // aad
+ "34b8af3dd101ed9f280794eb1050d740d43f5fc26e00a42eb01183"
+ "a8c06b250329c2285df11bfd0a731d6df9d0", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323231", // aad
+ "01441744e8d348ec6c37423a4f6686e447b4a12253912169966e6a"
+ "bf2ee4c9f88206e6b549156518dab149306c", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323232", // aad
+ "4afd4950ae24d47dbabe047211ff1a97a790c49498183c623d13ad"
+ "6374385d3a119eef5a4c19c9cbf9a6992065", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323233", // aad
+ "1e98398921ff98e52cef1d796c32a6b9c6ca183d77ca74fce439bb"
+ "a9bdff9412b3a7724f50f04075bdd22f0745", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323234", // aad
+ "e3f22f703cd77dba18257f2727cd4a85cb2ff47e7e5c4c80d6c977"
+ "6f940156baf8b184942ebcbe92adbb37633c", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323235", // aad
+ "8cf8af259d7380d35870437c4e5ab1a2d2be1f2cb8d466dd681ca3"
+ "536836cbc08c0798480b09bf24524a6ef8c9", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323236", // aad
+ "dd9789e7ad6aa57aa1cbbfefbb11f2bffb18bb549bc5ff13bc56fb"
+ "0e7b30d872f60837ffd2654849979e9e50c6", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323237", // aad
+ "fd7b3b0ab3e6039bb88074fb8a5c074f593ad709591dfb3191a2a5"
+ "a65fe35accaf18c383c078a959cfff37bc62", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323238", // aad
+ "f0459d730e596ddae3df9bd2c789eaf0a3a667ee71e10c14328b4e"
+ "42f035ecd2fd7fb4876144154b536164c825", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323239", // aad
+ "4e3748e7bdacfabc83943d4ca97269ece77cb5dd0f4e2db6e82016"
+ "707f34bec2484f6376f1d96ca9ebab56d9e0", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323330", // aad
+ "43b4da7770cbfa67ec2471fb378da88a568ec89ced3f2ba0ec3ad8"
+ "b5f5e023078ef5b6e59cb72533c01e43c4a5", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323331", // aad
+ "3b87ebc3b3b6d5d793fafaa8f5a0fa0c735f05437c6862cff89e44"
+ "404730a905f70dbcc95db8ca57b8978317bd", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323332", // aad
+ "025ab79de52c159f83546a02a37401801b9c990347a617c79becc0"
+ "08db6e86311f8001389b49c6743f7b35d7b9", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323333", // aad
+ "18fac8b9930bbf71ab553f9715d4a8bd793098610a81e62e4500e5"
+ "b0fb1db87f14d417e1be69d3e3f9280f91e4", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323334", // aad
+ "2284ef4be8ace02d763cfee688ea04a329acd220f83d4f138c5653"
+ "f45fdc03f3f24fc285eed4044a45d5551279", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323335", // aad
+ "9d68e2240ade9f02f4c9ac2635d89c2138fa747573f5ae3577693c"
+ "e6884ed971f56c5f74cf53e2339136cb48d7", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323336", // aad
+ "499095c91ab1b1ca0a6bd6aaf1d821abd508a6dcc219cb402c9370"
+ "02675be6eebd7ac111e9c64802a0ea3226d3", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323337", // aad
+ "9ef3c2fedacbb28faba4165ffe7939b8f7acac852362d93707b57c"
+ "4f77567682655c71cc055d5e753e226afb9e", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323338", // aad
+ "3bb2d3d993d440ef601ba78abc18738b6f322a56ddef5c9f13a0c7"
+ "5d9a6a1799f9c7e8abcdbad18eb0c54eb80f", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323339", // aad
+ "631778b7cf18bad85976144a223f97f948397287145f3a123b61a4"
+ "3c862cdfabebbb679e0f68ade02e809505a3", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323430", // aad
+ "f347c4a19f954c1cccced840dc8bc3715e9f804cab700971642bc8"
+ "52e8128b8b97b5e921ec7ade2804739cdeac", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323431", // aad
+ "51939ad35884f76598e6c347a5e08335a7b33cd9cb0d4f6ddb96b5"
+ "c19f53d15d34d0545c5d334ea58a79ed3b5f", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323432", // aad
+ "a4e70a15612fcc467dce5ddfbd1c7355678937e668fda251afd54b"
+ "fa0c2ad639cec6cdcb83a156e247280f3b10", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323433", // aad
+ "9b5b47e66c9caf9782629fc66c2a290967205cb63151f1d92e5b58"
+ "5274d11123b614aefca1a7d9cc0e0bd221fe", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323434", // aad
+ "9bdbaf38f0f3bd65f71f4c67745c99e54abe160ba07494a2433c77"
+ "e83bdd3f7b03ca43a75bc5a0a2d005f05682", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323435", // aad
+ "c49db04090fb73f54924107a0d4b73232b8d5b687c4b384a2375da"
+ "8cca3b5c9bc31c69fa69fc20d033de7c8d9d", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323436", // aad
+ "31c4eb490ddc68d1d155edb7ba00f0cbb030ad9f201b75b6310d80"
+ "7bcb676b8c2af4c4bedd81842117f272c4c1", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323437", // aad
+ "484eb5c830cf9206653c876b2d9be57fadd37232fba12195707f0d"
+ "db2ad4cccd9251dafb82046c2cf53a96e941", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323438", // aad
+ "bc1dab1ffe5ba76247073452e7c2c1ad381ddca3c4656ea3adf191"
+ "b5ec1a366bca8167c33c938df14afac8591f", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323439", // aad
+ "dc54b5a3a2d93be9c7376111d88f575856110998adac4cd3731249"
+ "6d35cc32f80225b2b9adb8fd6ad9ae096b04", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323530", // aad
+ "7de351f57b41c028621ecb9a308665454375059927d1c46fbe9462"
+ "c0c17bcd14c85f499789f78488ebd89ecbc8", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323531", // aad
+ "9a28cf9ec0085b81cba9597a6c308be417c2d542f1a65af9b650ae"
+ "8cd3eec19071fc1f8828337585d1a8e7df10", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323532", // aad
+ "9c87e92fb8220ef728311f47a17ba080896d00cee33f6b43d063c2"
+ "9ca404ff298ee9c4d867e09c6de49d0d4d68", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323533", // aad
+ "6787a45f17b7e9ce62e32cf7346639b5ffe4016e7e0db1d980d50a"
+ "a36d2ad633de675c58ff4f329b36a2ca407b", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323534", // aad
+ "cca7c2bfcfdfe286573e6e66aa16b469a26037c16de403dae873fa"
+ "f744c3402e90992a60d0bacb2ccc5845a290", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323535", // aad
+ "b1c90c5e70319ffbe2cf9c6574fc03b92b87af63f336f41cf8fdaa"
+ "af91bb9a43f452eba916382df5b0c3ae36d1", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323536", // aad
+ "f20899bbb7f82e272a7abefe7179da363e112d3ce4f4e9d040b599"
+ "08736350f2a81f68769f13839dfb435df937", // ct
+ },
+ },
+ {
+ // Exports
+ {
+ "", // context
+ 32, // len
+ "96f75b1cad456c2257f0df2f038874c100b925d01d3d55bbec416f"
+ "897c65ffbe", // exported
+ },
+ {
+ "00", // context
+ 32, // len
+ "30300911650b451fc1faf2e845e9c63d54a8a96ab376a696cabc57"
+ "450f6bf5eb", // exported
+ },
+ {
+ "54657374436f6e74657874", // context
+ 32, // len
+ "ca4f9e5bea692da07140d49299eb1aaeec60ebb4a6f929e1f0a4bb"
+ "ecf023937e", // exported
+ },
+ },
+ },
+ {
+ 11,
+ static_cast(1),
+ static_cast(32),
+ static_cast(3),
+ static_cast(3),
+ "4f6465206f6e2061204772656369616e2055726e", // info
+ "3067020100301406072a8648ce3d020106092b06010401da470f01044c304a"
+ "0201010420b03adb30c75160cfbef5c772cdef19384c8c79757049b7579d53"
+ "a546528caf59a123032100e515291ceb2beacf082401cf25e67359df4e37d0"
+ "5afbe6ddf79905c6c187cd1d",
+ "3067020100301406072a8648ce3d020106092b06010401da470f01044c304a"
+ "020101042013106adead212c4f5cba95591d1d980d8cfd8dcb0b88f24d2d9c"
+ "014efc79cd83a123032100ef512ad154def3e313a47aa2f995e6d0ec644955"
+ "a2eecf83ebd4c2275e9a690e",
+ "0247fd33b913760fa1fa51e1892d9f307fbe65eb171e8132c2af18555a738b"
+ "82", // psk
+ "456e6e796e20447572696e206172616e204d6f726961", // psk_id
+ "e515291ceb2beacf082401cf25e67359df4e37d05afbe6ddf79905c6c187cd"
+ "1d", // enc
+ "d14e66f0ad30af54907dc5bca40217a473806067680e84d39dd5c398d72d9e"
+ "66", // key
+ "3f7fdeecb824e5041e4d3738", // nonce
+ {
+ // Encryptions
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d30", // aad
+ "24d923f80772845e960ea5c55f621e563af9543165b4690a9a915e"
+ "342f4b69eab158ff3181f150591b48b4398e", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d31", // aad
+ "95ba9c4532b00ec7612aa71432461d1a48d94c1277920630f69b12"
+ "1d377cdd07abc4ff52193b684cab7ce9ded8", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d32", // aad
+ "20a6886f6d460a98edcf3dc395925bef792de5c72d95e4d1757ab8"
+ "cf9e6fceaf9883d0d1639be1ccd99bff13e1", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d33", // aad
+ "3d1345e02f015aff0d513f507fd0a1e90d5e590c43d1e2007c9a62"
+ "491902f959771b318675a6d3fdcf548def58", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d34", // aad
+ "d2b7be8ea9be241d52f0941ea01c15b352d9a4978796b765115283"
+ "fbe88bb78a5cfb712e9c581f3fef3fd5dcf2", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d35", // aad
+ "80f107c2fdf8791fc978d6ed6ad30240843afc1233f544782b28e2"
+ "0d653963a275c1263da3c19a61b9ffdb1251", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d36", // aad
+ "3179a799349b9482899515bbac730f3e979ffa419030c9256825ff"
+ "4c7079d8cf311a9eab6afe0372cb58695067", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d37", // aad
+ "c0aa2d7e05fcea96fd310a9879ddbb6e221e268bd38af49be7978f"
+ "73e34a5aa391690d891fd97b2efb36669b7e", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d38", // aad
+ "08f75744d81a9045016d0a2f7c9bc37756dc11bb8e1be8d5096ae4"
+ "37ed0eb07207e99d1c87cb9d1d52bb4a5153", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d39", // aad
+ "962e9d4679328f9aabe8ad7ffea872cb56301455c5fcdf05ca8200"
+ "c6262302b58e7343e29262103bf6b304676e", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3130", // aad
+ "286952790131cd5cef81d04eb75546d04703d4e1184d7e53cc0081"
+ "eddf12fe301b85575939e64fc85faf1e52d8", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3131", // aad
+ "e64ced9d940a135bc51b9bd3f6be08fcaec9111a23f3be89c661d1"
+ "4fabdc67707b912ad9b6f4dd7b836b8194a7", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3132", // aad
+ "dffd1f1e10288c0d3aabac17105bb48d62fb7965c6ed5dd19a0e94"
+ "1cc09397bf0853ac39965b03e5cf8a488bd1", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3133", // aad
+ "97aef0ff0d4e8648f768b47f7dd157d1be0ea3ccce31abb670cdcf"
+ "fce3654ea3042da346d5cfb8855c3381f403", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3134", // aad
+ "8870c1a8dc0234d2c9d17d1063494416476fc2996dbebe87cef37c"
+ "ff97349e6cd93eaa892ab898ea470f2b9472", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3135", // aad
+ "d60de3c7dd8917d2e7f5034e007f48b79b8a8aad906947623696f2"
+ "2801c80a95c99a563fa2d1bba69d32b83cb7", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3136", // aad
+ "cf489651eab1b7a370ec757587ab47729d8cb94e98f6351d91c4ba"
+ "340a7f2f002f6ac123c63573a8a0539431a8", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3137", // aad
+ "0fbc716e054eaf50917644f08b48e9c8e8f6f69665a39177f74c76"
+ "83b2873f563536a535dd327773bcd3432572", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3138", // aad
+ "89520f0fc398670a19e450bf588f3d3a090feb78477a06714a6133"
+ "f525c246cb9da240f62a2f97a44624241cc7", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3139", // aad
+ "6406e84d9cf64e4123a73fe241968aa1b3d868eb5659f6574ff925"
+ "598fda48429c4b7bbb466aceae49d4884e67", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3230", // aad
+ "900a321929926f9bea44f3cdb504244ea167f01ff60949d6c4eabf"
+ "c60bc6880c5dee52234ef0bf3e21bf548016", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3231", // aad
+ "8ecbb631c00939b38daaaeb85947a754dd18e03846889d957a40f5"
+ "ef490a6bb356c4362836ae0e490e46548816", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3232", // aad
+ "90afe73624d659a01a787473bc508c1e0a052c2cca03d7ccb02511"
+ "1b0632e6132e3dde5cd2cf56bd3ab809fb42", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3233", // aad
+ "d0294e1b933d6bd503f72cde4eb04e208b6982900742eb982145cc"
+ "fb8ce813c0fe944c00fb330dfa65f918bc8e", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3234", // aad
+ "a657979443c01c4b7a30d266bce2276c9c09cdf84ab60ff3533283"
+ "1b81fa33ad8504c3b639fd10849010738573", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3235", // aad
+ "ad640b75e21b51fd2b1477567f1158c8f52163dc2ae8ad0f795f7c"
+ "4e53f5c994f377b6960a0bbdb992b62b52aa", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3236", // aad
+ "2fa0081b31a58c348b824d9e8269a76d9c4ec05052789f1f0d1e92"
+ "1e364f9b21869cd62032ecbbbc028933f78d", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3237", // aad
+ "c8fff620a90f66a7d7163716e6e4909ba502f03ad6de3a74b3b0d2"
+ "23e617f8c63d9ee06632515ac97f97cd6729", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3238", // aad
+ "2a34e0ace2d12e7718f6780f0529ba309395f27bc64d28abfef5d1"
+ "13d6c447874115755868faf747957175602f", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3239", // aad
+ "015bd86436348ba5a970c8d47a03f35e8b2fbc9a571a28ef2714a1"
+ "f48fec7fbbb7c77676da301d881fd26145d2", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3330", // aad
+ "8fff172ae515b29323effd7abe842db9ccddecb0e38702f65f7447"
+ "f81631210837cb048bb5d7a207f09ed0bd36", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3331", // aad
+ "1dba19b8c6dec367a0ae6bae2eee7af50b95a24701c1208239be62"
+ "d1d0625f3d873b54fb768e5b45c70579f57a", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3332", // aad
+ "2b91b676b4f804751d44cbf56f37a1040842f1b028f679b08e1402"
+ "1b01c7a2e8822acb917d97ef1c14ee3b876e", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3333", // aad
+ "ff0044febb2630e9196d1bb55c189b5eea1e4a4d174d24c8c99c2e"
+ "c873b9b562d9a5ff670263745ae91cf0da41", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3334", // aad
+ "a37c255db3f1476a4a4b5f5d3847f52dd7d17e9ea3c1032821c178"
+ "250bf877fc707282b81aa842390684d474d0", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3335", // aad
+ "43c851c0ee15fa9d48931f8ed4a77be340967467bcb5214dda4d30"
+ "8a0a71042963dda78947ac22cd89b80c4170", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3336", // aad
+ "f3507378e380e13094bfab7cdc263d7bafc80058e562f7f6ea0693"
+ "d66adbb6343cf4678d0c6655c4f86c14ed58", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3337", // aad
+ "033794ff6db1fcd719c123998216d878cdea835a1a8160ded5b5c3"
+ "2f5f3c806cdc566af0d4b79dc2ca608e11ce", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3338", // aad
+ "99f000713a718084996d026c59bec340f17ab858867da7705e66af"
+ "713aca41b2d1e73d3b51cdb3aad9f8dbc239", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3339", // aad
+ "c5f1403664dea638d89c69d3303f7899dcaca9be6c04f95ca40a55"
+ "85c515c59929d5099977ee23536ac7c37b1f", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3430", // aad
+ "1d4f1d6bc069f6d1344e1adfb5334d3b8b7a331101852741344555"
+ "4e44cf7e43badd3615d1eb6fa7897e315703", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3431", // aad
+ "08ded6806f890f510efb9d7d4b3efa42779a91b37efe75ce512182"
+ "d93d4e2a5f141d79ef1e1ecd5398f2582b67", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3432", // aad
+ "dd5d3d54abf0202bfd07c58aa1e25ae204a8ee2e004cd83c053e43"
+ "8f1284e25c3118430635a80dc9ba1bd2037b", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3433", // aad
+ "0b5e8447d7bf0513f2d3990151d0325c80c9687b615ea561213015"
+ "6569a343b1a2683b412e4c7d19a420af25a1", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3434", // aad
+ "8b6afb058e160718b5b2decce86be38d9d13eefb1d0e755c1de9df"
+ "800c38b568f12587c5673b7ad23130f49259", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3435", // aad
+ "d3988e48d27b186c63b0eba86974e2d562bc269ae585621c3dcd90"
+ "98f269566f360cc8e2be2a4522bb7f57d4a9", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3436", // aad
+ "67cb94a1354f2c630807dc7fee3a13c893b6d8698894beff3ff039"
+ "ac86f080a01f5c9ebd21c3cd619548691932", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3437", // aad
+ "a307e87abbf3c7198b8b2e3410005b8060d31fd17b26cb7492cbac"
+ "8d6d1deef81d5b0af95831efc542c18ef02c", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3438", // aad
+ "3ddbb8560afce53deaea4f76fe18d4968866a37b59086099d8fdf6"
+ "94a2d54f3b2c74388bd475ffe0161593de2e", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3439", // aad
+ "0fcdac64c8698d963eb09491502c5d204aaf44bb11417bbae4e1db"
+ "d6e56f28c9b13f41355ba12872e96df2d623", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3530", // aad
+ "d6864201fb56f5d3f64ddc7cdf7a17c70677d6e233d0f91362a540"
+ "c2e9690b9e1717ff9cfc7c4f185f2f6647cf", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3531", // aad
+ "51432c3b1114b688db23a195cdccbf8cc1e83b65965aca7479840c"
+ "df90219024953f743da1f4cd0fc19d98e2af", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3532", // aad
+ "709052a99e4303ac610be710618aff18ea6dc4c3fbb14476daba7c"
+ "12905642d002471d08661371400883d3fea4", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3533", // aad
+ "9ff31d4e51742f45f35168770f34ba7da908cea7412a5d1453980d"
+ "95d297be5de483245f69beff591141de1b32", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3534", // aad
+ "67005f7577a812372dd5b9da97307f02d9cad4494fcbabe17e9776"
+ "5793b54a3813001b3103a4c8e9246b7042ec", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3535", // aad
+ "06f0728967602e94f67ddca96f1f5df01586272549d723b29f35fd"
+ "70ceca3008ca91ac8847a487a90d0b848519", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3536", // aad
+ "fad8dbeb6de13a403712188f292035d1e29774571c84f59e74f9f5"
+ "77f39b6623214e7bdbab45b0e7cefaf84294", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3537", // aad
+ "c8d31b9247066ac289af8d7f01f1b49a6d9e5e94a42307a2c479b1"
+ "510aaf6556f0bc5bf92830962478bdcb7ae3", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3538", // aad
+ "cec4b1d57cf4cb2d1c33f4970de25766f6bf383f340a4569f08741"
+ "53b47932f2c6011123054eda1d1dfced9b54", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3539", // aad
+ "ea202d6b1c8b97e785d87d1756c2f2b815923100ce53e48cf23147"
+ "92f2667efd11ef01a61ca3494848e1fedea3", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3630", // aad
+ "1b1647526e153005bbc62972c5ef88e69b6dbebd567b5ab1868e30"
+ "991b972027e56beeedcbcc47201160dc2fb6", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3631", // aad
+ "15af199ceeea75d901516313251631faecf914ff3b2869b55a4e3b"
+ "68c349c22b7c5d129732391b9096358d7a04", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3632", // aad
+ "494663720b53c28e3e7d14f4e0e5d0465c79ca56eed58c94d20cce"
+ "fd3b6ffcac96959e6627ea2f0496cbb8e7bd", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3633", // aad
+ "d5ea0c952304b8625b6e683e6c79823706e0f8433a21dfe79f30cb"
+ "e43b3675702e05c1eb8f1b70878f878c911f", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3634", // aad
+ "cf149aaa10d91762d8b354d7ec82380895c5d6b53e207ffa93dc3f"
+ "2c735f349fee591815379834e0967656756b", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3635", // aad
+ "374ab8f3e834c1108008499ba35fa1c8f876b5e4814d9136c36de2"
+ "bb8965a3162519a031434528321667802dec", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3636", // aad
+ "c63e43cdc534ad1d4c7d665917a236b1c76b77d0ebe09cfaa33f32"
+ "b9fae7cbec0069e335c0e8fb994b75a9cff7", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3637", // aad
+ "e03654a9fa8bbc8550f61ad977a18495a0677a187f74ba4fbc92cc"
+ "dc53f678b6395d5cae830012b6d56835d854", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3638", // aad
+ "d1e4d9e7bd47b549b3bf5b5736153c79ae837d05dbbc7f529ff686"
+ "51802aba427a9a01ec2f388059da04fa00c3", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3639", // aad
+ "e004c93f83645343899783377afb4eff575a0a25c73dcca101b767"
+ "4d10aae4e74cc4e6638606817144e497da18", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3730", // aad
+ "967c4ff35bc87438349270b912b497369513cca31eb76b48657dac"
+ "46bd56b55859900c8c8d11effe823f6d0943", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3731", // aad
+ "8701d262837d6fb7705a928ae6e96a328342cd849fa073c5a7c17c"
+ "8abf4b8025a3838bf709f0d35c67544b2c1d", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3732", // aad
+ "855aefe394c4073ec3c3532d3d1c4022a3d12bf22e16c6614488a1"
+ "bb62f0b9199e0662d2b2a4f9d1456aca5674", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3733", // aad
+ "c929bb55b5a714094eefac99061745881f1c19c3d0f9657f6583d6"
+ "f74b983764ea5b48320bcce55ac71cea2f83", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3734", // aad
+ "1d52099be83ac899f94e88d57ff3e7d66c7c9a805cb77d78eb43ab"
+ "f0a8c34358a9ddb5eab9740155a5680ba9a3", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3735", // aad
+ "7699899c4f6e6df210d9ef059fa2dcb09960dd062cb43814995a85"
+ "f9be64d2522e6161e19a3159cb521c4551e6", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3736", // aad
+ "0c7ae873925d5cc64ad40ef5f7cc34f46e66b112a38b82516167fa"
+ "4db16acbe16883a15991a29d27906b8cee5b", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3737", // aad
+ "7f2dc6a2f13ef2e4ffacd580ba7c7420deb6f65252a6c448bb4067"
+ "ff8a421fafe4ac327f3981d86ffcb814a03a", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3738", // aad
+ "2939d4d2b923399c92280abfcf750f4e074b7f15000e92572e5c74"
+ "fe93f26a03c1c0be98e75d1f85cde5db03c1", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3739", // aad
+ "b93335c6a1e06c573b5a6180e389140e0e1f1686f5bdb77211e905"
+ "affe616e0c08db80298ff475dc51db860adc", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3830", // aad
+ "58aabe016386648ab988400fce5c9de4d6208beb69bedd9ab805f9"
+ "ecf9a3d89eeaecc0cce59b8c4ef3a44ff6c9", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3831", // aad
+ "e6336917416a7a4d3dc20acc719adf261449121fa46a3b8cbd7153"
+ "5bf87e685e374585abbcc7a9809f4bfa5181", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3832", // aad
+ "91eeac7d581721413b47d72eede750ad6d7633e4348a6e9c526025"
+ "18647cf3d69c95f1664c70674615f9dbaee6", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3833", // aad
+ "49a52847c922e1eedaf2d4df692d225c95b6fd9f20deaf58774119"
+ "344c8447aa52cd3442d3155ea8c2c6bb4f8b", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3834", // aad
+ "7f35b2b95805adaa0ba3270c0d20e69889f353265cbfd9c85a50ca"
+ "12f0bb9299b588a88f76003e2fa2374f124b", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3835", // aad
+ "9f4b1d81885305961e37c1b7a8a7d5d743b172f3a932ecf3a2b70c"
+ "2020bc207922f5a8ce03431ca9d19d9ec459", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3836", // aad
+ "db5d79097815a32a691266c4ce9f276377101860a315c345b37f37"
+ "ceacd869ea67e3cec7b26baa81ab313f2581", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3837", // aad
+ "c127be2518fcb0b0e6be04c270051414222b2727233abc6a1794d9"
+ "d4ca45283951bd87afb52ece60579bdc758f", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3838", // aad
+ "6d21be1893fb7a20fc93752d743a9c4bc83ab5200b795dd76915c6"
+ "af4223d99ef9dcb85ebf5cf1b31186a5a6e4", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3839", // aad
+ "5558ff4f7b4bb88764d9f905b9eb0b60fe9d253ec002ce8850f64d"
+ "b95448d025eb1110a565950d2acba42a74b9", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3930", // aad
+ "36fd6ed40fb2722c6e10048267d7028d975e2889d7bc5567bd478e"
+ "09d58f68183b97e2e42cc19f215e6da044a6", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3931", // aad
+ "d8ce0b1e6d834ffe252cf08c08baa2b80af2a278d73d825217076b"
+ "efb71d85b6f0c22c327ba3f1096d44058981", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3932", // aad
+ "3d23d088ab2200694e908a2c544689595fb664c630121be16fca84"
+ "470633db11dca0121cfe42d8512af94633ff", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3933", // aad
+ "47a1391e576d755eafcc54b018543fcfc43fe0c506ebbfdb94ec9e"
+ "65b0fe795fac665bd076d34b8f541d2f1be6", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3934", // aad
+ "4496d62f3db6d465b5c68734ee41d963de387e19bc1b0c5a31b451"
+ "6eeda9406ae1771910183bc59e5e25757134", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3935", // aad
+ "7d683b7b8e56ca2ef6daaa464bb5d2726329135a756502c252d673"
+ "d227af0916935841e39a4a50c04b75f6deda", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3936", // aad
+ "e2c9a318f44da261285d51c4318a58897b59f041babde8ab0b2fb0"
+ "d0a6b915e721f4cbb3920b669cb7e6e7cbee", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3937", // aad
+ "89a38570005127c2f5d48c749854c87946a97474d0bb66cdaa3719"
+ "0b6b9b1ac20b6c5c4762efd0234bba4fc067", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3938", // aad
+ "3ab0b2963be94ee1221381356766ca3f6d358c41dbb7dc1f1585a9"
+ "66a09fc9224a5c83c53ebf497e606e028334", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d3939", // aad
+ "acef4431545717e08f8a2cef0ffe7616237f662fe1887a02498cd5"
+ "5a0e3af36e0bc1126b8c3441004cf48b4366", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313030", // aad
+ "4b5d639ba4e0b66eb3825600c8f7cb61054597baf41d1a74bae0f5"
+ "15c56ab074d4dbd24e504d73715e1b1c08ca", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313031", // aad
+ "29e5cabdee9a2c46540df2f6a965d67d26dea185cd636831e74f09"
+ "084236b50c3221a5fee69e8ddfccc169ead3", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313032", // aad
+ "e4129ceea402fe547274edeb2fcb23da6cdf22978aabebbdc332f4"
+ "40678ef56907a644df46a83622b8474e4a26", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313033", // aad
+ "efe4eb9cfe9d97ba5d2b9ad043f37e5633add3a6710817af9e8a86"
+ "3a5c6b54e461e3fb270551605d02ba8ecafc", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313034", // aad
+ "e682cf1fbe582a5b29fa0b8859e78435b85f098eee40df0f2335d3"
+ "bbbcf1f2003b6826a42b72294a6de8922326", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313035", // aad
+ "f656f92a0b378c4c969d9c0e8184ddc35658bd040f350aafe0b212"
+ "54ed1fa22bb368daff0b22352834287c0f28", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313036", // aad
+ "039a1efdbd2f6240f221a14e4e459f8d6a12f44e02f31dd1ff4eee"
+ "1aeaee5822975ac6931696e5e854c666980d", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313037", // aad
+ "7bb1c567ac25d8559e104ddb17ba92ca710bc7a08c805541df9f49"
+ "31a11914985c29de2fa1db6361f5be7b54fb", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313038", // aad
+ "1f7ca20c54053af52af37190b011acbfd2eda37bb09688d56b4fe7"
+ "0c2eb059ac9a1c93bc04d04291cb799c3af7", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313039", // aad
+ "3065c57b53413932b3771f13b9c4949e2bf793cf81ba128351db53"
+ "17dffc5edd1d89c08b9fb0357b42db0ee0d2", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313130", // aad
+ "6745b4168e74c6e86da2ea281e17602485826ac80c40cfd848b53c"
+ "854c88b1d42eafe5ce03c54fe4b14f6a0824", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313131", // aad
+ "f8e66d38cef584ac434ce7fa92b0aacf312b84fbdff7d9cca1f8ac"
+ "abfca31afa1acb449cb3fec7b227966a7ac6", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313132", // aad
+ "3ba022c3523ae972262000088929f198aa8a1a7b43fe2a18a4831e"
+ "af56fd3e6eddac3e4df7ed29993446a1c712", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313133", // aad
+ "6dde05bfc733766645d79e41115b24d10fe094f227e0137c1491d6"
+ "18a817071767d86c7d9cc20a7df7fc634958", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313134", // aad
+ "502e7a83e8ed698d99ff671413de61c5f0016b879a61a75edde1f7"
+ "0ee633c5d78b2ba6fa7db610cf25fc0228e8", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313135", // aad
+ "48136d4f4283e3807ad6c478b8d5f009e580c95eda5b504e26e847"
+ "c1020b66aeb05ea356f1e074cc683bbc45db", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313136", // aad
+ "47f26bbee266bc59341e912dcc64d5797ae1a4484a015cccc10cdf"
+ "4e19538663d5966e87e6c06b93d94f23ee45", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313137", // aad
+ "cda4bcd5fc609d251e143e44b5d2d4a0dad26086ef1b672ed06986"
+ "5ee4e68a7f122b29541002454313c3269a91", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313138", // aad
+ "c8c2589112824d4fbfd7540f5225278f3ddc3d99de8576f049f01f"
+ "c732ccd8d80ecaa3196efcc0e77aeb956e9a", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313139", // aad
+ "2ace9d12a393972aabddeb0bfe7af7c74338a437b0ec29e7a5718e"
+ "2d633bb3e48316bdb5da398700488c80efca", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313230", // aad
+ "f83c0662fd8763d1d447b2703f41c7f0adf62ae98516658cce9864"
+ "0fd9db484631b6e63619e5a83e047c8e36c6", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313231", // aad
+ "b034ed878dc02408c784a2313945aae52d21375f2ae3e0da9b8417"
+ "05898100d1ecb971e6c70889fd6c6726dabb", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313232", // aad
+ "e8f736c47432e21cf9883643e56df77cfe541b269d092980f343ef"
+ "1d57a240fa809a7eb6c5de391a50f9c1aeb4", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313233", // aad
+ "c75413cdd22e30d12127e4c81e273c310be0f017ff258881be8063"
+ "5262ee64617eadc93ca45d149fa8b2945951", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313234", // aad
+ "811d66b15a152701d5519a6511da460049571b2a0f2b917ced022a"
+ "c33db79054761846b199465545f3970023e3", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313235", // aad
+ "cc098bcd832745e76ebeccffc8c0b76be028e6fdd7b7754f8c4f90"
+ "2456ac239a848dc100fd35043989d2907fef", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313236", // aad
+ "2296eeed210b643cc37d8f1d556ad875190b01cc465bff9433d0e3"
+ "522fe9055d1b3f4946a5f197d893d5aea771", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313237", // aad
+ "ef5cb8a310e016381e77d64c0edd5b14459a9f948d4ed44a975bb3"
+ "72cf33ce4cf966d6d12e3ea5e32cb72eb4f1", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313238", // aad
+ "12c034a88626f3092ef8c0f1c4b3e434927aff64cf9e5142c4c9ca"
+ "ca26a42c8f086297ebcf4cd4058276c03ed2", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313239", // aad
+ "80a4bf81f4154ab1a26c2debe3042ce54489242a019189a4dfc906"
+ "d877c4183f85a012c3e28d0e27e2bcf62bf1", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313330", // aad
+ "2896a0d2132bb3cac76d7ad48edc4fabff5a6fd6cdb9fbc1639bc1"
+ "72c52bb3cb125b28851faac9782ea1733aac", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313331", // aad
+ "5084f562ef0558683cc766eb7d6a1c4f6b83a14e48d67a0ccf1483"
+ "8fe876a6e68d1e62e1b1c6f71a0c3644fcf9", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313332", // aad
+ "489c1a1bbd62c1c9cced0e84a9be1ac011ae6f6280382618aafe27"
+ "038a22a9c9abcdce8bc19070454d939f86e5", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313333", // aad
+ "e8c760133d056c882667520c8d59c02c0ef48b10c6a4e0a7704990"
+ "2022b068207944bdf9b979f5384447284a42", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313334", // aad
+ "362f25ee01fd7dcde4efb342d54183df225ee85d6b12a7207c8b45"
+ "09da6873e0ac6e28cebd8a3473d3ce56a61b", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313335", // aad
+ "59c20cf3cb1caa97188edd20d5f546474045405a43429c226399a8"
+ "468eafc82b676afc7b8098aca37c405211a5", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313336", // aad
+ "9d17a1357c19edbf5c12fd33b6246d9951d6af81d15b24525de2dd"
+ "3c5d7152c6cd62d69fe673081cd3eff67527", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313337", // aad
+ "069887e331cfd4bade8ef77d4a713ee666e98e9e7f5c67979b8e88"
+ "7148a1aa696359771837d45062e5612c28b8", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313338", // aad
+ "f03e059f79de9e3530b1a48ee0100965b7fafec7f57e22383d95ce"
+ "7ef27362791c6823fa7097827dde777f6de6", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313339", // aad
+ "099f8d2028e9b7fee740aed475dc1f034f8f0e39ace2c092974104"
+ "15e74c8fee649c5d153adf1ad5e18d3b3e3b", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313430", // aad
+ "579058e4ac21ed48d56b791b81b6a857cd85a6f94f41f3d125cffc"
+ "c19a5df2211fb2c32dda836a19ae6f85b908", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313431", // aad
+ "269203ccaabc66fd9d0dffad60b7d6b69f290b49506cf034991f35"
+ "60ff030a21840405338d262ffc3ebb0c02f4", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313432", // aad
+ "79870df88f50ade5ae02b22582c40a75ea86ce4a96dc3d9376534b"
+ "5b1e73bde262685faec6350d73b634b428cf", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313433", // aad
+ "3dcf68b7ec400ae39393f84a5b59e627316ba03646201e9643c5aa"
+ "63ed074f9fd1c40a08bb262a6138832f44a3", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313434", // aad
+ "a1e9f854c42271b82830212aae67eed73275bc6893d62100398946"
+ "23f1a493e94f23ee7326bd4813283acab610", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313435", // aad
+ "5ad4d1578232603fee4fcf9846de37965dd09200c4153722c035b5"
+ "511b6d485f08344a126faf74a51881abbfa4", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313436", // aad
+ "32b3e3831c84a1e38ec1d030622c128d9a94e81ffebcda369eff66"
+ "4372c567884411a22a57a99041e38c63a627", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313437", // aad
+ "79f9dc6d78853c2b3885e2ce6b7a793cfcfbe27b651e3638531279"
+ "15f7549e010496433054f0fcf7213986e059", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313438", // aad
+ "70cb86630a6b007cd22b897d97962a9e573c39eb24e44e56d06ea3"
+ "4d5492d4febf5bc618f5b86d64937a83efdf", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313439", // aad
+ "243e7acc5b3c7f82dad9825f34967f18165d11aabf05305e5ed2bd"
+ "7730cbda014902e001bd75f4de78dda9a665", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313530", // aad
+ "170364c1b62c7e093d0b4d3862c8af8bc722eb4af624b6f5c8ae11"
+ "079364f5d6950eae9139fcbad09dfa8f5471", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313531", // aad
+ "5bbdd49a8df3682eae4974c5c5e8532f50c7149649838e2b5b1c67"
+ "c88aed12f17c7ed687bec4addeed210ed81a", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313532", // aad
+ "3e2c4c311220f391f168e0a7112ab17d61158450c14c0e9073d7d9"
+ "831c2687c4e7bc8e44948269e06e11c79bc9", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313533", // aad
+ "160c1aa7e7bf21bae3959ea916c78c04bef8a4b36d22ba806b5c7f"
+ "279f921bdd3af43c690be9b967e9bb9dd91e", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313534", // aad
+ "368d3d06ef31a9e6c2ef47d35d553b810cd5586f59106c97813c6c"
+ "ae876d1d978776e31a53d0f493c346a3cb60", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313535", // aad
+ "ac66cb2935463b4cecd550ea41343dcb113c12ef3dd0e5668103a5"
+ "91ef14c9bba875a9291359523ceee0d972e4", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313536", // aad
+ "fa2d99f756a96b5cc86f1cc3a381379c46e87dfbfe43ee1be47b1e"
+ "e3291ea5ba7297870d41b8d79734e11cb069", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313537", // aad
+ "b2522d0f2f7ef0e3812dd40272b26c2d9324cbe0e3556b2812e16f"
+ "79c974fc416464dff81d4d118009504bb273", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313538", // aad
+ "be9aaeda7fc482a4e7d2c992464bd0c61dd3ef9dd0d8ade403a252"
+ "8991cef3f74ea3cf134107fb9d656c554410", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313539", // aad
+ "1a0e211be41bf66c7e89eb842928bb3d7ef91fecd7e6d0eee7ecec"
+ "4aee5d10ae5b237044eb19248d80ce28e613", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313630", // aad
+ "0808cf04a4a5d8dcd53f8a890671db0663b89cf9e9a6c8afb52ef8"
+ "611eb5aa110f3b339a2cf7e067d42037b007", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313631", // aad
+ "17e56c4bd9fb9a5b04579a33edd810e092fa0e39a093efd052060d"
+ "02ab1d91859f9de393698f9f8577531924dd", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313632", // aad
+ "197b4918734fab1d650980e6b076944f8fa0acf6ba605530efdc0d"
+ "bcbf64d1373c95a3e82baaab463541df5980", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313633", // aad
+ "bc6e81ba170e360c591d56e067e10c3cced7358ad0930eaee4f272"
+ "32f8de6c956f6889f8a8996f082b6471563d", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313634", // aad
+ "930213ec53e22f555f33af6beae9f37e666647d6fa0a33fb4cc188"
+ "1a67db935fcfe0b721d046ad5ae197efa5d5", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313635", // aad
+ "1c99a893a5f3b95f0b808b0b24b3be86b29555adaf2f01db3af81c"
+ "b6d1bed990c1e063093a79500c06b614f961", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313636", // aad
+ "eac6e300a7267d4cbd89530beda834c4f2bcfeec31f8ed8d919e02"
+ "f157d320690d78fc8eac7bade436899f9e50", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313637", // aad
+ "56bb5f609415a1411ad01e56e179bf64f9ec9cad204bc33776577f"
+ "c6b517666702e232e579e98068dce109106c", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313638", // aad
+ "6e1fccaff72da3c5c514dbb364f48d4f74e732f8a1e03ea9ce4677"
+ "5802f2d889a71010cc6734218002dbb944bc", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313639", // aad
+ "5489c724ceb7b3962a0c076848b7442d8f95cc117d17b5ad1a0f79"
+ "5b6d956282a5213b5998b33e7d9eda474d6a", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313730", // aad
+ "9697434c2d7191bc35af84e3d20a413b46bd3285b68cf073e17543"
+ "f4baf100f275abd0f20adfced19f81b4e284", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313731", // aad
+ "05b10f8ebcb809bbf5d7dd98071a85e633461655c5b9aeee10e97f"
+ "0e9c78f27a0e1feff774f10856288398e982", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313732", // aad
+ "1258e2c990964dfee315f79752578a37c1fbee50f812bd5cd7d7fa"
+ "9bea0c1e2f0ea981bc435547438374185c2d", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313733", // aad
+ "cd6ec335eaf91ac9e60c1ec17b88232d491534d87a40043935feb2"
+ "2c63a945c61edcf89a64dac8ea22073be9dc", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313734", // aad
+ "4ac1779421612f8503b702882fde55a9229bb87a317575c178ffc8"
+ "c6faf5dfb85bb510317891ef8edd2ce6502c", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313735", // aad
+ "8c14c53de4db0a1bf64652d7c4c95855936b47d3c31eb7059defa7"
+ "33895a94500fb779ed439bafe41e78dba7a6", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313736", // aad
+ "bbd4b7c6198a22ef74f0aa0739917870e087a4c74482268fc41d45"
+ "82bbc2005fd5d2929c4268687f8569bd6f5d", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313737", // aad
+ "d71cf204069dce7f18992ede14f3aa60f438d2ff2679cd292e1869"
+ "d75d36f6d34c9c94347e51ee780c775903f7", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313738", // aad
+ "ff4d0a5615fc5f945cf926a15d247a5498b96ca06c5fa84dbf0d68"
+ "1626e9b2541442b62fbd50a64f6ef549b220", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313739", // aad
+ "769543e82c7a3f7c1d244621e137bbef5580d184c1cdeca7281a7c"
+ "cf363d7310592cf0c0cdc6df233386b1072e", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313830", // aad
+ "2b5d4da0efa93fec28f9b277ece8cf93445522b8d58993f097aecc"
+ "6466d0d0f51da56e844a037df444c5fa8194", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313831", // aad
+ "1235ab59d229290b14e5d90e0dd88323a862ba0899d72345e3a5e4"
+ "b102c9c267f8cf4e89bce69dc36dafa856e7", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313832", // aad
+ "2933d185f3acdb3d8c77d601962dbd407afda85c65f0c6cdcf10af"
+ "c8f387d6c087cf1e143c10e2e795cf1010f5", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313833", // aad
+ "325c2be28555777f2c511c8c4a785d1a74701dc2cb206e231333a7"
+ "2ea8160ae68e7c7b69e05851d21ca100c9ec", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313834", // aad
+ "3b779758513b45ca870b6fcf74301e33a07e25c8d675391617b69f"
+ "08f9297445129d64444a79f9fda16ddf0fc9", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313835", // aad
+ "595e72b641b54d0a7d3f5ff89b94f5f4f25fb080e799303ac8d70c"
+ "461699da5109bc55603074fb2ff67857cc4b", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313836", // aad
+ "c255a3693da29a1cf9600b5d1c628e8bc955220275c9d0ef3dc431"
+ "745ccf9b62e155e7a0b896ed4d06375664e7", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313837", // aad
+ "13cd4da90275f7a483182077b0b2a3d019b0febda87fd26b1dbdfe"
+ "48c12096c089ff19ded273356b0e55f9aa48", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313838", // aad
+ "3398bd8ffbf46cabfc80e4b8655c5872faceaffa8cb0ac86cd77bf"
+ "15bcab804bba6f04c793ed58bf13f7d70a92", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313839", // aad
+ "98f46399af9ef00e0994dff01de6bc44a252f6662daf1bf1e25c1c"
+ "49aa89f07316962107a9ad298eedda1cf8e9", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313930", // aad
+ "fcdcc514269f1f75fbd314c6f6250649bee8423b8b03c76282bf1c"
+ "a96b1a036413fadb0d30acd0eca3f4b15f23", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313931", // aad
+ "55406b35ac1bb2e99216555ffc102c56cbf7a3a7711809758e1f1f"
+ "4a99e767df97c68285f0d5833f28ee39824c", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313932", // aad
+ "a7915a2dc5a8c2f8375fa4ab8be764567e611e5c4ff630aa57f4fe"
+ "6ea1d27405eff4a2b7e9948ac3888abb189a", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313933", // aad
+ "d6594fe60f5c3dc77a96106ba55d6a95db0164c962a76496d3724b"
+ "386a2e174d2b2d22653ae2132443207599ea", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313934", // aad
+ "d701e7b0b0855cd9897dfc7853bef605a6dc7b02bf47b276c9a609"
+ "9ed4a997f1169f1a2528a6cb90131ecb29b9", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313935", // aad
+ "e83730acb16ccbd93418313517c71249de529a6821584dca8591b3"
+ "8f684f684dbcc5d796c8d91321da3d4ceebc", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313936", // aad
+ "c8a9a8ab97da8fcfe5c4ccbb0875cf7a2d332cb776ac9b4c966368"
+ "d42b055eab5448348644c4cb5363c9f7a513", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313937", // aad
+ "a0998dc3a1b98d2012f2680fb23858fd359beee75af0a6a8074689"
+ "ed268a8432ab7eaec43e3cb2d31c15aee87d", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313938", // aad
+ "eb069df71bcfa468c53b366d7983ad3e623a960905c8d5dd44d544"
+ "bea9a59ea837c265fac3f2389714bca40ab2", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d313939", // aad
+ "aea620c02f3877c280f483f11d1565d0132ebd820f9165fbba8d33"
+ "fc88bbd825cf9b780fb1bd108a16e7d57b97", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323030", // aad
+ "c32cba7c711594056bd2d4458fa7805f4b76886bcaafe7acf254ba"
+ "14d9a66e0e792d7653e60839932203ddad50", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323031", // aad
+ "c3f013cf20d5d0772e6ea048d486a058356f7902c561d4ac48b1ea"
+ "de2f43d9335eadbae2c9707212dabcbf2dc5", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323032", // aad
+ "fc8d37c970bbb0b40080d3be5941faa7ccabc38429ba27a544c5b9"
+ "ad102cc5284ade6f25a05cacae6bf6a0099f", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323033", // aad
+ "fcbd2758e1315c447d4b3ee8c282b6ab9100cab28a7dfe9492b5e0"
+ "94b2243cbca54f82264f23c55019942b0fa6", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323034", // aad
+ "efa6ab5e3e627e692e10c4acf08c484f704269ca66e97241662c63"
+ "88afe6b7f962fde87f3d0252173f7328c95d", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323035", // aad
+ "bede989e8b22322fc7350f7a6affade0d9c2141afca93c72ba3620"
+ "0799368ede27ac46e08b1d3e19d4ce3b22a8", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323036", // aad
+ "388213b95a1c86576722f651b5f8e2f25f7cc89ad797ead901e59a"
+ "32ffe27970b1f79877f15e8fecedb15dd7d9", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323037", // aad
+ "92f98bb914c09dfebb1d7b56607ff2feef2666c800a63df8de8719"
+ "2fb67b73632d9f6a2df718ea49fff780b545", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323038", // aad
+ "21eacea0e65600e3eddbcd2ddfa324279c929d0b93f020f8f4aa81"
+ "a8ef8354cc1a78707c5f6472fb8d0e41e8a2", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323039", // aad
+ "90cdd2bfc5ea1f2fab61ea1ca8ea055f62d57d719ab8c2da699275"
+ "a79ddd6711b63a7a55c4603f2318fedf9999", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323130", // aad
+ "43b1df33e2f471dae629428634ef7ea17dc17d2eaae5510749170c"
+ "a316a72021e4d8c1377bde168ce9bfdc3c75", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323131", // aad
+ "4d71eaff432120ee0c966ade066a30f38306010a921852fa06aa86"
+ "f9ce72b027972772e8f8d6ac0a3412c3fe39", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323132", // aad
+ "cea8dbd6aa090039e88ecd160901f95173b8ccd65ffcb5c65083a8"
+ "8b902cd027fd10771fbdd1b58d800e9ac1b2", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323133", // aad
+ "00972f77eae55ac88d8aa754b9567a732ae9210d75541a8add2265"
+ "9964eff4e073438cd41c8e9c6e5366e6de18", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323134", // aad
+ "1f2122097ce138c3085f740e0f1b1028aea3eb650057ba0b7753ae"
+ "9441bde1c5ad2b254958cc90140fc99fbb45", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323135", // aad
+ "5342f67f400ec6a736974efdaf726289342c5818cb9cddef8f5dc5"
+ "ca9574c6aa2b28ce9516b1919f569aabb816", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323136", // aad
+ "a5c1bc79769821ab41f697752d95be7365d8ff2b3f1af3da426968"
+ "45d384b4eaf6fcc95d9af9e620cca9c59c22", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323137", // aad
+ "9f12346fbdac3bbcd784931350c858119ee4eb0dd6d15f36314760"
+ "2e40bbb868c0d7fb616e7a3b8365349f5794", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323138", // aad
+ "3643cfd54fbed03cc10086c53fbda6d3151801bca5618df4fc5b20"
+ "58a3dd627cec1f7db22ee350c4f280768f73", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323139", // aad
+ "6c7abd51baf676c9d884ccd8d764786302b8b474db700faa443a39"
+ "58c213ba84897eef373be9ae32c96ad96c11", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323230", // aad
+ "724ea86712f988da178ff8969423af10928ca914a2c03e2dfeb7e8"
+ "cb9fb0e1467a9b8ec55538d4847c62b44ab4", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323231", // aad
+ "5b4c3f9c3dea32cddd1323022ff14a69dbd5238d77c77b7c407714"
+ "84d7102f4d47f11456c2da6cfa2b92ff881f", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323232", // aad
+ "977d07aa0a21c0d4d94f1000db126d641c9f1ee10d9c3fa559a8c6"
+ "31ce3d1eeb3b54ab57c92f4a21a25cafd70c", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323233", // aad
+ "7433dfaac093510c443e0ef77f1bdfefbd6499ec2656b93b1089c7"
+ "9e2100553cbaca0d7b142b2207a14d73de8e", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323234", // aad
+ "1bca8c9d1803bdcfb8a0fa69fefb3db444743de7e6aed1629a063c"
+ "2065f42c7862e10f6ac2fde87d2679a037b0", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323235", // aad
+ "e6dca8c67189e727c2cb96e5afa1defefc38013f7d12316fe15f86"
+ "6fc0b90465c388c0909343894c9c18733a7c", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323236", // aad
+ "ba3350eb450dbce8e490e3eca1044b345ae005816185629f17b6f6"
+ "28938d6971df864f4be930b13a78c52278b3", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323237", // aad
+ "ccdfce3b45b11433d61f5d3f8733886e82557eb0e8785edc524d39"
+ "36df26444a135b3317317f7d8e4ae2618930", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323238", // aad
+ "0bcf74ec65cbd23772a0145a2ac8eabdad6ce94821654a6cc9c9f5"
+ "a4ad36de3924369aedf17590f81a27bb74bc", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323239", // aad
+ "92ce2f00e38ddc6d738fb0ab16c5fc727ce0cff15873de8338ada6"
+ "2d2741bcf51171ebb4a7864e7c09718ee8dd", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323330", // aad
+ "c89daa5d5a3e3a8a080ece803fb781e0bff6514031e48c3023938d"
+ "d695d146917331728954ea6400ac45733b82", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323331", // aad
+ "33ea9257466917c65e76e8516c585c1bf2d45cb00fbc27dc2bb3e9"
+ "2d7b4a1b54eda25e8eae0e70294f7f7527a4", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323332", // aad
+ "dd43b6171e785faf6dde249b3684b1c9af660fda09d7f149a9d986"
+ "b82260a756c393c577e2d4d91d53b6f344b2", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323333", // aad
+ "503143a76b97ecfecef9cf64a0d2ada87ee5026242ea262af69e01"
+ "90ed46b4c55327605b4a5b6913170033f06b", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323334", // aad
+ "49d955ba2497020b948db783d88e7323407e064b37877156941125"
+ "1f22ead73b44bf592b9a2f733089b6dd94e1", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323335", // aad
+ "1bc6c8a50bfa673caa6e3283962dd629c004682f4cb23e38405c70"
+ "f99026df00ff2815dff3d73763c1563bfdff", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323336", // aad
+ "673a272d3ed86eea47448b838b4ff9388551fbc7fcb7579ec771e4"
+ "9ba41bb2807972135ffed6974091c61649fe", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323337", // aad
+ "2c05b90d6e9d69599f2ef05105043202d81f0c90624c1a17632594"
+ "1c475e258a003e48574c4664d3ca4c8a8854", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323338", // aad
+ "b63a054306891bc5dc8fc3c07c43300fe4e7ef9c72d74a016db030"
+ "49f510d6458b6d1fcee8d29d01e1d4d63137", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323339", // aad
+ "22704bb7a6f0454418c1d8e403622ed4496747e7a4f682af89c3ce"
+ "516f3f6f13408205d5c74f9c3ff126821f1e", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323430", // aad
+ "223dba3b9a6507cd92745cf97ba9535288c4ac47de36c9b84780e8"
+ "8b5a2aed531fe5bcf969790a06931f97df56", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323431", // aad
+ "b543278e81c61f727fb815fdd9d1583cf9ee104fa577909545e8ac"
+ "16332d312f09fcf9c473488a32b87a748801", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323432", // aad
+ "de99cb5d7432ef739161ab2706adf97b6955b30e53971cf5eb42b0"
+ "e3d70884941c34fa94a5138bc9d06946e080", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323433", // aad
+ "2742f0f6dce163bef876a6bfbe7987d88a12fb71b3d3782f7a6432"
+ "bbed6f8f7c3b7d30fb4c88bb27cc72033f51", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323434", // aad
+ "0f09a60a0d07051fb0417ea959b2b3bf7419eed90932f8d150ba49"
+ "abbd7c4e1dea1829125cc24733c2042dd69c", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323435", // aad
+ "26143b80ff7426bc5e7ada8bb49db4decbb27bc49014d4ab040743"
+ "9109018194a42d39c35015cf789892d17879", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323436", // aad
+ "b7ee648cf4833fe07cc294484f1375d4c0bb26215d9fbff3abfbc0"
+ "c1ab17c62aa607b37ffd947deda207a20bd6", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323437", // aad
+ "560c1ac2d61e35e31b155f5eba743bd894335d855c4f01de4e6c7f"
+ "3591956f7b44b6540e3ce119014f9cf71d26", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323438", // aad
+ "ca5973954eb07f058ccd456c49d8423b8022b037e8ff2f921b027a"
+ "6fcf8fe68f7f1e84f1ea181650526f8d7d23", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323439", // aad
+ "eff3d9a466846995ca2d86caacaeb014472bccb545db6f10db5e0a"
+ "78dacdf52a68783c6266dd984798000765b3", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323530", // aad
+ "38073790583a411bac5f0c04b3dcacdcbcc56f4803c299f289d741"
+ "0110282170cc068f7b115969d79388978e5e", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323531", // aad
+ "bc646dc3e70eac67b3e42e45e4e25903e4a07e184a7874289be239"
+ "057dd6473db4275c2157e6291013b83ccc67", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323532", // aad
+ "3200f1e35e51e4f789201f4c7e0570aa0034860880049d6a11246a"
+ "02132b031b68995281c1ba37b5e001e58a47", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323533", // aad
+ "2a71d1f6559eb73a8bfb05dbcc27b43839c913ab1992bef7899ed5"
+ "97c9b3471b409b7ea6cf1854259c65e7db4e", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323534", // aad
+ "36a477de99259ece0fd3e0b6c81a58ef6e0a441f1f6a885abd8171"
+ "418ea4b8afbe66c0a38b5ae815fc4fa63657", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323535", // aad
+ "cc6cc8d99cfb4d655f87c33194341aa4725f7dd52c8a218d980e29"
+ "002523cf7636146d488595175b040c15a6ec", // ct
+ },
+ {
+ "4265617574792069732074727574682c2074727574682062656175"
+ "7479", // pt
+ "436f756e742d323536", // aad
+ "c8f365e98587584b81303c79d273e87f62709ab9e06968c1e86fc9"
+ "a501a4af9827502f90193f88abdc46c8c07b", // ct
+ },
+ },
+ {
+ // Exports
+ {
+ "", // context
+ 32, // len
+ "b1330a7ad5d5cfe8c3675c693f1f62d2290e61e63a1c07a7ea742d"
+ "41779de8bd", // exported
+ },
+ {
+ "00", // context
+ 32, // len
+ "0bf59c0d22578588b3191a4e1e72176929ef640174f0e5a8f3d040"
+ "4ed2f0c29b", // exported
+ },
+ {
+ "54657374436f6e74657874", // context
+ 32, // len
+ "661679489ad8c0c5bc64240bd660edb344d378388f04fcea674f15"
+ "a018ae164e", // exported
+ },
+ },
+ },
};
#endif // hpke_vectors_h__
diff --git a/security/nss/gtests/pk11_gtest/pk11_hpke_unittest.cc b/security/nss/gtests/pk11_gtest/pk11_hpke_unittest.cc
index 48de0a7af1a6b..18c59e6a5c739 100644
--- a/security/nss/gtests/pk11_gtest/pk11_hpke_unittest.cc
+++ b/security/nss/gtests/pk11_gtest/pk11_hpke_unittest.cc
@@ -4,6 +4,8 @@
* License, v. 2.0. If a copy of the MPL was not distributed with this file,
* You can obtain one at http://mozilla.org/MPL/2.0/. */
+#ifndef UNSAFE_FUZZER_MODE // See Bug 1709750
+
#include
#include "blapi.h"
#include "gtest/gtest.h"
@@ -19,7 +21,6 @@
namespace nss_test {
/* See note in pk11pub.h. */
-#ifdef NSS_ENABLE_DRAFT_HPKE
#include "cpputil.h"
class HpkeTest {
@@ -682,14 +683,7 @@ TEST_F(ModeParameterizedTest, InvalidReceiverKeyType) {
pub_key.get(), &info_item));
EXPECT_EQ(SEC_ERROR_BAD_KEY, PORT_GetError());
}
-#else
-TEST(HpkeTest, EnsureNotImplemented) {
- ScopedHpkeContext cx(
- PK11_HPKE_NewContext(HpkeDhKemX25519Sha256, HpkeKdfHkdfSha256,
- HpkeAeadChaCha20Poly1305, nullptr, nullptr));
- EXPECT_FALSE(cx.get());
- EXPECT_EQ(SEC_ERROR_INVALID_ALGORITHM, PORT_GetError());
-}
-#endif // NSS_ENABLE_DRAFT_HPKE
} // namespace nss_test
+
+#endif
diff --git a/security/nss/gtests/ssl_gtest/libssl_internals.c b/security/nss/gtests/ssl_gtest/libssl_internals.c
index db0c9e86bc850..b6a2bd3be4a0f 100644
--- a/security/nss/gtests/ssl_gtest/libssl_internals.c
+++ b/security/nss/gtests/ssl_gtest/libssl_internals.c
@@ -497,24 +497,3 @@ SECStatus SSLInt_SetRawEchConfigForRetry(PRFileDesc *fd, const uint8_t *buf,
PORT_Memcpy(cfg->raw.data, buf, len);
return SECSuccess;
}
-
-// Zero the echConfig.config_id for all configured echConfigs.
-// This mimics a collision on the 8B config ID so that we can
-// test trial decryption.
-SECStatus SSLInt_ZeroEchConfigIds(PRFileDesc *fd) {
- if (!fd) {
- return SECFailure;
- }
- sslSocket *ss = ssl_FindSocket(fd);
- if (!ss) {
- return SECFailure;
- }
-
- for (PRCList *cur_p = PR_LIST_HEAD(&ss->echConfigs); cur_p != &ss->echConfigs;
- cur_p = PR_NEXT_LINK(cur_p)) {
- PORT_Memset(((sslEchConfig *)cur_p)->configId, 0,
- sizeof(((sslEchConfig *)cur_p)->configId));
- }
-
- return SECSuccess;
-}
diff --git a/security/nss/gtests/ssl_gtest/libssl_internals.h b/security/nss/gtests/ssl_gtest/libssl_internals.h
index 372f254d61784..c21c4a7da769e 100644
--- a/security/nss/gtests/ssl_gtest/libssl_internals.h
+++ b/security/nss/gtests/ssl_gtest/libssl_internals.h
@@ -51,5 +51,4 @@ SECStatus SSLInt_SetDCAdvertisedSigSchemes(PRFileDesc *fd,
SECStatus SSLInt_RemoveServerCertificates(PRFileDesc *fd);
SECStatus SSLInt_SetRawEchConfigForRetry(PRFileDesc *fd, const uint8_t *buf,
size_t len);
-SECStatus SSLInt_ZeroEchConfigIds(PRFileDesc *fd);
#endif // ifndef libssl_internals_h_
diff --git a/security/nss/gtests/ssl_gtest/ssl_auth_unittest.cc b/security/nss/gtests/ssl_gtest/ssl_auth_unittest.cc
index 82d6f4cd68898..8bbb1e38f6b2f 100644
--- a/security/nss/gtests/ssl_gtest/ssl_auth_unittest.cc
+++ b/security/nss/gtests/ssl_gtest/ssl_auth_unittest.cc
@@ -660,7 +660,6 @@ TEST_P(TlsConnectGeneric, ClientAuthEcdsa) {
CheckKeys(ssl_kea_ecdh, ssl_auth_ecdsa);
}
-#ifdef NSS_ENABLE_DRAFT_HPKE
TEST_P(TlsConnectGeneric, ClientAuthWithEch) {
Reset(TlsAgent::kServerEcdsa256);
EnsureTlsSetup();
@@ -670,7 +669,6 @@ TEST_P(TlsConnectGeneric, ClientAuthWithEch) {
Connect();
CheckKeys(ssl_kea_ecdh, ssl_auth_ecdsa);
}
-#endif
TEST_P(TlsConnectGeneric, ClientAuthBigRsa) {
Reset(TlsAgent::kServerRsa, TlsAgent::kRsa2048);
diff --git a/security/nss/gtests/ssl_gtest/ssl_tls13compat_unittest.cc b/security/nss/gtests/ssl_gtest/ssl_tls13compat_unittest.cc
index f65552cb1c195..2421470a4f8ed 100644
--- a/security/nss/gtests/ssl_gtest/ssl_tls13compat_unittest.cc
+++ b/security/nss/gtests/ssl_gtest/ssl_tls13compat_unittest.cc
@@ -214,7 +214,6 @@ TEST_F(Tls13CompatTest, EnabledHrrZeroRtt) {
CheckForCompatHandshake();
}
-#ifdef NSS_ENABLE_DRAFT_HPKE
TEST_F(Tls13CompatTest, EnabledAcceptedEch) {
EnsureTlsSetup();
SetupEch(client_, server_);
@@ -237,7 +236,6 @@ TEST_F(Tls13CompatTest, EnabledRejectedEch) {
// Reset expectations for the TlsAgent dtor.
server_->ExpectReceiveAlert(kTlsAlertCloseNotify, kTlsAlertWarning);
}
-#endif
class TlsSessionIDEchoFilter : public TlsHandshakeFilter {
public:
diff --git a/security/nss/gtests/ssl_gtest/tls_connect.cc b/security/nss/gtests/ssl_gtest/tls_connect.cc
index 6456bff5637c1..b5438f793e33b 100644
--- a/security/nss/gtests/ssl_gtest/tls_connect.cc
+++ b/security/nss/gtests/ssl_gtest/tls_connect.cc
@@ -262,7 +262,7 @@ void TlsConnectTestBase::MakeEcKeyParams(SECItem* params, SSLNamedGroup group) {
}
void TlsConnectTestBase::GenerateEchConfig(
- HpkeKemId kem_id, const std::vector& cipher_suites,
+ HpkeKemId kem_id, const std::vector& cipher_suites,
const std::string& public_name, uint16_t max_name_len, DataBuffer& record,
ScopedSECKEYPublicKey& pubKey, ScopedSECKEYPrivateKey& privKey) {
bool gen_keys = !pubKey && !privKey;
@@ -282,9 +282,9 @@ void TlsConnectTestBase::GenerateEchConfig(
SECITEM_FreeItem(&ecParams, PR_FALSE);
PRUint8 encoded[1024];
unsigned int encoded_len = 0;
- SECStatus rv = SSL_EncodeEchConfig(
- public_name.c_str(), cipher_suites.data(), cipher_suites.size(), kem_id,
- pub, max_name_len, encoded, &encoded_len, sizeof(encoded));
+ SECStatus rv = SSL_EncodeEchConfigId(
+ 77, public_name.c_str(), max_name_len, kem_id, pub, cipher_suites.data(),
+ cipher_suites.size(), encoded, &encoded_len, sizeof(encoded));
EXPECT_EQ(SECSuccess, rv);
EXPECT_GT(encoded_len, 0U);
@@ -305,10 +305,9 @@ void TlsConnectTestBase::SetupEch(std::shared_ptr& client,
ScopedSECKEYPublicKey pub;
ScopedSECKEYPrivateKey priv;
DataBuffer record;
- static const std::vector kDefaultSuites = {
- (static_cast(HpkeKdfHkdfSha256) << 16) |
- HpkeAeadChaCha20Poly1305,
- (static_cast(HpkeKdfHkdfSha256) << 16) | HpkeAeadAes128Gcm};
+ static const std::vector kDefaultSuites = {
+ {HpkeKdfHkdfSha256, HpkeAeadChaCha20Poly1305},
+ {HpkeKdfHkdfSha256, HpkeAeadAes128Gcm}};
GenerateEchConfig(kem_id, kDefaultSuites, "public.name", 100, record, pub,
priv);
diff --git a/security/nss/gtests/ssl_gtest/tls_connect.h b/security/nss/gtests/ssl_gtest/tls_connect.h
index 6acb8097719cf..a44846bcf5daf 100644
--- a/security/nss/gtests/ssl_gtest/tls_connect.h
+++ b/security/nss/gtests/ssl_gtest/tls_connect.h
@@ -147,12 +147,10 @@ class TlsConnectTestBase : public ::testing::Test {
void RestoreAlgorithmPolicy();
static void MakeEcKeyParams(SECItem* params, SSLNamedGroup group);
- static void GenerateEchConfig(HpkeKemId kem_id,
- const std::vector& cipher_suites,
- const std::string& public_name,
- uint16_t max_name_len, DataBuffer& record,
- ScopedSECKEYPublicKey& pubKey,
- ScopedSECKEYPrivateKey& privKey);
+ static void GenerateEchConfig(
+ HpkeKemId kem_id, const std::vector& cipher_suites,
+ const std::string& public_name, uint16_t max_name_len, DataBuffer& record,
+ ScopedSECKEYPublicKey& pubKey, ScopedSECKEYPrivateKey& privKey);
void SetupEch(std::shared_ptr& client,
std::shared_ptr& server,
HpkeKemId kem_id = HpkeDhKemX25519Sha256,
diff --git a/security/nss/gtests/ssl_gtest/tls_ech_unittest.cc b/security/nss/gtests/ssl_gtest/tls_ech_unittest.cc
index 64a2706245562..9d082c6f59f7b 100644
--- a/security/nss/gtests/ssl_gtest/tls_ech_unittest.cc
+++ b/security/nss/gtests/ssl_gtest/tls_ech_unittest.cc
@@ -31,23 +31,22 @@ class TlsAgentEchTest : public TlsAgentTestClient13 {
}
};
-#ifdef NSS_ENABLE_DRAFT_HPKE
#include "cpputil.h" // Unused function error if included without HPKE.
static std::string kPublicName("public.name");
-static const std::vector kDefaultSuites = {
- (static_cast(HpkeKdfHkdfSha256) << 16) | HpkeAeadChaCha20Poly1305,
- (static_cast(HpkeKdfHkdfSha256) << 16) | HpkeAeadAes128Gcm};
-static const std::vector kSuiteChaCha = {
- (static_cast(HpkeKdfHkdfSha256) << 16) |
- HpkeAeadChaCha20Poly1305};
-static const std::vector kSuiteAes = {
- (static_cast(HpkeKdfHkdfSha256) << 16) | HpkeAeadAes128Gcm};
-std::vector kBogusSuite = {0xfefefefe};
-static const std::vector kUnknownFirstSuite = {
- 0xfefefefe,
- (static_cast(HpkeKdfHkdfSha256) << 16) | HpkeAeadAes128Gcm};
+static const std::vector kDefaultSuites = {
+ {HpkeKdfHkdfSha256, HpkeAeadChaCha20Poly1305},
+ {HpkeKdfHkdfSha256, HpkeAeadAes128Gcm}};
+static const std::vector kSuiteChaCha = {
+ {HpkeKdfHkdfSha256, HpkeAeadChaCha20Poly1305}};
+static const std::vector kSuiteAes = {
+ {HpkeKdfHkdfSha256, HpkeAeadAes128Gcm}};
+std::vector kBogusSuite = {
+ {static_cast(0xfefe), static_cast(0xfefe)}};
+static const std::vector kUnknownFirstSuite = {
+ {static_cast(0xfefe), static_cast(0xfefe)},
+ {HpkeKdfHkdfSha256, HpkeAeadAes128Gcm}};
class TlsConnectStreamTls13Ech : public TlsConnectTestBase {
public:
@@ -150,7 +149,7 @@ class TlsConnectStreamTls13Ech : public TlsConnectTestBase {
ADD_FAILURE() << "No slot";
return;
}
- std::vector pkcs8_r = hex_string_to_bytes(kFixedServerPubkey);
+ std::vector pkcs8_r = hex_string_to_bytes(kFixedServerKey);
SECItem pkcs8_r_item = {siBuffer, toUcharPtr(pkcs8_r.data()),
static_cast(pkcs8_r.size())};
@@ -164,18 +163,6 @@ class TlsConnectStreamTls13Ech : public TlsConnectTestBase {
ASSERT_NE(nullptr, tmp_pub);
}
- private:
- // Testing certan invalid CHInner configurations is tricky, particularly
- // since the CHOuter forms AAD and isn't available in filters. Instead of
- // generating these inputs on the fly, use a fixed server keypair so that
- // the input can be generated once (e.g. via a debugger) and replayed in
- // each invocation of the test.
- std::string kFixedServerPubkey =
- "3067020100301406072a8648ce3d020106092b06010401da470f01044c304a"
- "02010104205a8aa0d2476b28521588e0c704b14db82cdd4970d340d293a957"
- "6deaee9ec1c7a1230321008756e2580c07c1d2ffcb662f5fadc6d6ff13da85"
- "abd7adfecf984aaa102c1269";
-
void SetMutualEchConfigs(ScopedSECKEYPublicKey& pub,
ScopedSECKEYPrivateKey& priv) {
DataBuffer echconfig;
@@ -189,6 +176,18 @@ class TlsConnectStreamTls13Ech : public TlsConnectTestBase {
SSL_SetClientEchConfigs(client_->ssl_fd(), echconfig.data(),
echconfig.len()));
}
+
+ private:
+ // Testing certan invalid CHInner configurations is tricky, particularly
+ // since the CHOuter forms AAD and isn't available in filters. Instead of
+ // generating these inputs on the fly, use a fixed server keypair so that
+ // the input can be generated once (e.g. via a debugger) and replayed in
+ // each invocation of the test.
+ std::string kFixedServerKey =
+ "3067020100301406072a8648ce3d020106092b06010401da470f01044c304a"
+ "02010104205a8aa0d2476b28521588e0c704b14db82cdd4970d340d293a957"
+ "6deaee9ec1c7a1230321008756e2580c07c1d2ffcb662f5fadc6d6ff13da85"
+ "abd7adfecf984aaa102c1269";
};
static void CheckCertVerifyPublicName(TlsAgent* agent) {
@@ -226,10 +225,10 @@ TEST_P(TlsAgentEchTest, EchConfigsSupportedYesNo) {
// ECHConfig 2 cipher_suites are unsupported.
const std::string mixed =
- "0086FE09003F000B7075626C69632E6E616D6500203BB6D46C201B820F1AE4AFD4DEC304"
- "444156E4E04D1BF0FFDA7783B6B457F75600200008000100030001000100640000FE0900"
- "3F000B7075626C69632E6E616D6500203BB6D46C201B820F1AE4AFD4DEC304444156E4E0"
- "4D1BF0FFDA7783B6B457F756002000080001FFFFFFFF000100640000";
+ "0088FE0A004000002000203BB6D46C201B820F1AE4AFD4DEC304444156E4E04D1BF0FFDA"
+ "7783B6B457F756000800010003000100010064000B7075626C69632E6E616D650000FE0A"
+ "004000002000203BB6D46C201B820F1AE4AFD4DEC304444156E4E04D1BF0FFDA7783B6B4"
+ "57F75600080001FFFFFFFF00010064000B7075626C69632E6E616D650000";
std::vector config = hex_string_to_bytes(mixed);
DataBuffer echconfig(config.data(), config.size());
@@ -251,10 +250,10 @@ TEST_P(TlsAgentEchTest, EchConfigsSupportedNoYes) {
// ECHConfig 1 cipher_suites are unsupported.
const std::string mixed =
- "0086FE09003F000B7075626C69632E6E616D6500203BB6D46C201B820F1AE4AFD4DEC304"
- "444156E4E04D1BF0FFDA7783B6B457F756002000080001FFFFFFFF000100640000FE0900"
- "3F000B7075626C69632E6E616D6500203BB6D46C201B820F1AE4AFD4DEC304444156E4E0"
- "4D1BF0FFDA7783B6B457F75600200008000100030001000100640000";
+ "0088FE0A004000002000203BB6D46C201B820F1AE4AFD4DEC304444156E4E04D1BF0FFDA"
+ "7783B6B457F75600080001FFFFFFFF00010064000B7075626C69632E6E616D650000FE0A"
+ "004000002000203BB6D46C201B820F1AE4AFD4DEC304444156E4E04D1BF0FFDA7783B6B4"
+ "57F756000800010003000100010064000B7075626C69632E6E616D650000";
std::vector config = hex_string_to_bytes(mixed);
DataBuffer echconfig(config.data(), config.size());
@@ -276,10 +275,10 @@ TEST_P(TlsAgentEchTest, EchConfigsSupportedNoNo) {
// ECHConfig 1 and 2 cipher_suites are unsupported.
const std::string unsupported =
- "0086FE09003F000B7075626C69632E6E616D6500203BB6D46C201B820F1AE4AFD4DEC304"
- "444156E4E04D1BF0FFDA7783B6B457F756002000080001FFFF0001FFFF00640000FE0900"
- "3F000B7075626C69632E6E616D6500203BB6D46C201B820F1AE4AFD4DEC304444156E4E0"
- "4D1BF0FFDA7783B6B457F75600200008FFFF0003FFFF000100640000";
+ "0088FE0A004000002000203BB6D46C201B820F1AE4AFD4DEC304444156E4E04D1BF0FFDA"
+ "7783B6B457F75600080001FFFF0001FFFF0064000B7075626C69632E6E616D650000FE0A"
+ "004000002000203BB6D46C201B820F1AE4AFD4DEC304444156E4E04D1BF0FFDA7783B6B4"
+ "57F7560008FFFF0003FFFF00010064000B7075626C69632E6E616D650000";
std::vector config = hex_string_to_bytes(unsupported);
DataBuffer echconfig(config.data(), config.size());
@@ -355,7 +354,7 @@ TEST_P(TlsAgentEchTest, UnsupportedHpkeKem) {
ScopedSECKEYPublicKey pub;
ScopedSECKEYPrivateKey priv;
DataBuffer echconfig;
- // SSL_EncodeEchConfig encodes without validation.
+ // SSL_EncodeEchConfigId encodes without validation.
TlsConnectTestBase::GenerateEchConfig(static_cast(0xff),
kDefaultSuites, kPublicName, 100,
echconfig, pub, priv);
@@ -452,50 +451,50 @@ TEST_P(TlsAgentEchTest, ApiInvalidArgs) {
// GetRetries
EXPECT_EQ(SECFailure, SSL_GetEchRetryConfigs(agent_->ssl_fd(), nullptr));
- // EncodeEchConfig
+ // EncodeEchConfigId
EXPECT_EQ(SECFailure,
- SSL_EncodeEchConfig(nullptr, reinterpret_cast(1), 1,
- static_cast(1),
- reinterpret_cast(1), 1,
- reinterpret_cast(1),
- reinterpret_cast(1), 1));
+ SSL_EncodeEchConfigId(0, nullptr, 1, static_cast(1),
+ reinterpret_cast(1),
+ reinterpret_cast(1), 1,
+ reinterpret_cast(1),
+ reinterpret_cast(1), 1));
EXPECT_EQ(SECFailure,
- SSL_EncodeEchConfig("name", nullptr, 1, static_cast(1),
- reinterpret_cast(1), 1,
- reinterpret_cast(1),
- reinterpret_cast(1), 1));
- EXPECT_EQ(SECFailure,
- SSL_EncodeEchConfig("name", reinterpret_cast(1), 0,
- static_cast(1),
- reinterpret_cast(1), 1,
- reinterpret_cast(1),
- reinterpret_cast(1), 1));
-
+ SSL_EncodeEchConfigId(0, "name", 1, static_cast(1),
+ reinterpret_cast(1),
+ nullptr, 1, reinterpret_cast(1),
+ reinterpret_cast(1), 1));
EXPECT_EQ(SECFailure,
- SSL_EncodeEchConfig("name", reinterpret_cast(1), 1,
- static_cast(1), nullptr, 1,
- reinterpret_cast(1),
- reinterpret_cast(1), 1));
+ SSL_EncodeEchConfigId(0, "name", 1, static_cast(1),
+ reinterpret_cast(1),
+ reinterpret_cast(1), 0,
+ reinterpret_cast(1),
+ reinterpret_cast(1), 1));
+
+ EXPECT_EQ(SECFailure, SSL_EncodeEchConfigId(
+ 0, "name", 1, static_cast(1), nullptr,
+ reinterpret_cast(1), 1,
+ reinterpret_cast(1),
+ reinterpret_cast(1), 1));
EXPECT_EQ(SECFailure,
- SSL_EncodeEchConfig(nullptr, reinterpret_cast(1), 1,
- static_cast(1),
- reinterpret_cast(1), 0,
- reinterpret_cast(1),
- reinterpret_cast(1), 1));
+ SSL_EncodeEchConfigId(0, nullptr, 0, static_cast(1),
+ reinterpret_cast(1),
+ reinterpret_cast(1), 1,
+ reinterpret_cast(1),
+ reinterpret_cast(1), 1));
+
+ EXPECT_EQ(SECFailure, SSL_EncodeEchConfigId(
+ 0, "name", 1, static_cast(1),
+ reinterpret_cast(1),
+ reinterpret_cast(1), 1,
+ nullptr, reinterpret_cast(1), 1));
EXPECT_EQ(SECFailure,
- SSL_EncodeEchConfig("name", reinterpret_cast(1), 1,
- static_cast(1),
- reinterpret_cast(1), 1,
- nullptr, reinterpret_cast(1), 1));
-
- EXPECT_EQ(SECFailure,
- SSL_EncodeEchConfig("name", reinterpret_cast(1), 1,
- static_cast(1),
- reinterpret_cast(1), 1,
- reinterpret_cast(1), nullptr, 1));
+ SSL_EncodeEchConfigId(0, "name", 1, static_cast(1),
+ reinterpret_cast(1),
+ reinterpret_cast(1), 1,
+ reinterpret_cast(1), nullptr, 1));
}
TEST_P(TlsAgentEchTest, NoEarlyRetryConfigs) {
@@ -584,21 +583,45 @@ TEST_P(TlsAgentEchTest, EchConfigDuplicateExtensions) {
ASSERT_FALSE(filter->captured());
}
+TEST_F(TlsConnectStreamTls13Ech, EchFixedConfig) {
+ ScopedSECKEYPublicKey pub;
+ ScopedSECKEYPrivateKey priv;
+ EnsureTlsSetup();
+ ImportFixedEchKeypair(pub, priv);
+ SetMutualEchConfigs(pub, priv);
+
+ client_->ExpectEch();
+ server_->ExpectEch();
+ Connect();
+}
+
+// The next set of tests all use a fixed server key and a pre-built ClientHello.
+// This ClientHelo can be constructed using the above EchFixedConfig test,
+// modifying tls13_ConstructInnerExtensionsFromOuter as indicated. For this
+// small number of tests, these fixed values are easier to construct than
+// constructing ClientHello in the test that can be successfully decrypted.
+
// Test an encoded ClientHelloInner containing an extra extensionType
// in outer_extensions, for which there is no corresponding (uncompressed)
// extension in ClientHelloOuter.
TEST_F(TlsConnectStreamTls13Ech, EchOuterExtensionsReferencesMissing) {
+ // Construct this by prepending 0xabcd to ssl_tls13_outer_extensions_xtn.
std::string ch =
- "010001580303dfff91b5e1ba00f29d2338419b3abf125ee1051a942ae25163bbf609a1ea"
- "11920000061301130313020100012900000010000e00000b7075626c69632e6e616d65ff"
+ "01000200030341a6813ccf3eefc2deb9c78f7627715ae343f5236e7224f454c723c93e0b"
+ "d875000006130113031302010001d100000010000e00000b7075626c69632e6e616d65ff"
"01000100000a00140012001d00170018001901000101010201030104003300260024001d"
- "0020d94c1590c261e9ea8ae55bc9581f397cc598115f8b70aec1b0236f4c8c555537002b"
+ "00200573a70286658ad4bc166d8f5f237f035714ba5ae4e838c077677ccb6d619813002b"
"0003020304000d0018001604030503060302030804080508060401050106010201002d00"
- "020101001c00024001fe09009b0001000308fde4163c5c6e8bb6002067a895efa2721c88"
- "63ecfa1bea1e520ae6f6cf938e3e37802688f7a83a871a04006aa693f053f87db87cf82a"
- "7caa20670d79b92ccda97893fdf99352fc766fb3dd5570948311dddb6d41214234fae585"
- "e354a048c072b3fb00a0a64e8e089e4a90152ee91a2c5b947c99d3dcebfb6334453b023d"
- "4d725010996a290a0552e4b238ec91c21440adc0d51a4435";
+ "020101001c00024001001500aa0000000000000000000000000000000000000000000000"
+ "000000000000000000000000000000000000000000000000000000000000000000000000"
+ "000000000000000000000000000000000000000000000000000000000000000000000000"
+ "000000000000000000000000000000000000000000000000000000000000000000000000"
+ "000000000000000000000000000000000000000000000000000000000000000000000000"
+ "000000fe0a0095000100034d00209c68779a77e4bac0e9f39c2974b1900de044ae1510bf"
+ "d34fb5120a2a9d039607006c76c4571099733157eb8614ef2ad6049372e9fdf740f8ad4f"
+ "d24723702c9104a38ecc366eea78b0285422b3f119fc057e2282433a74d8c56b2135c785"
+ "bd5d01f89b2dbb42aa9a609eb1c6dd89252fa04cf8fbc4097e9c85da1e3eeebc188bbe16"
+ "db1166f6df1a0c7c6e0dce71";
ReplayChWithMalformedInner(ch, kTlsAlertIllegalParameter,
SSL_ERROR_RX_MALFORMED_ECH_EXTENSION,
SSL_ERROR_ILLEGAL_PARAMETER_ALERT);
@@ -606,17 +629,23 @@ TEST_F(TlsConnectStreamTls13Ech, EchOuterExtensionsReferencesMissing) {
// Drop supported_versions from CHInner, make sure we don't negotiate 1.2+ECH.
TEST_F(TlsConnectStreamTls13Ech, EchVersion12Inner) {
+ // Construct this by removing ssl_tls13_supported_versions_xtn entirely.
std::string ch =
- "0100015103038fbe6f75b0123116fa5c4eccf0cf26c17ab1ded5529307e419c036ac7e9c"
- "e8e30000061301130313020100012200000010000e00000b7075626c69632e6e616d65ff"
+ "010002000303baf30ea25e5056b659a4d55233922c4ee261a04e6d84c8200713edca2f55"
+ "d434000006130113031302010001d100000010000e00000b7075626c69632e6e616d65ff"
"01000100000a00140012001d00170018001901000101010201030104003300260024001d"
- "002078d644583b4f056bec4d8ae9bddd383aed6eb7cdb3294f88b0e37a4f26a02549002b"
+ "002081908a3cf3ed9ebf6d6b1f7082d77bb3bf8ff309c3c1255421720c4172548762002b"
"0003020304000d0018001604030503060302030804080508060401050106010201002d00"
- "020101001c00024001fe0900940001000308fde4163c5c6e8bb600208958e66d1d4bbd46"
- "4792f392e119dbce91ee3e65067899b45c83855dae61e67a00637df038e7b35483786707"
- "dd1b25be5cd3dd07f1ca4b33a3595ddb959e5c0da3d2f0b3314417614968691700c05232"
- "07c729b34f3b5de62728b3cb6b45b00e6f94b204a9504d0e7e24c66f42aacc73591c86ef"
- "571e61cebd6ba671081150a2dae89e7493";
+ "020101001c00024001001500b30000000000000000000000000000000000000000000000"
+ "000000000000000000000000000000000000000000000000000000000000000000000000"
+ "000000000000000000000000000000000000000000000000000000000000000000000000"
+ "000000000000000000000000000000000000000000000000000000000000000000000000"
+ "000000000000000000000000000000000000000000000000000000000000000000000000"
+ "000000000000000000000000fe0a008c000100034d0020305bc263a664387b90a6975b2a"
+ "3aa1e4358e80a8ca0841237035d2475628582d006352a2b49912a61543dfa045c1429582"
+ "540c8c7019968867fde698eb37667f9aa9c23d02757492a4580fb027bbe4ba7615eea118"
+ "ad3bf7f02a88f8372cfa01888e7be0c55616f846e902bbdfc7edf56994d6398f5a965d9e"
+ "c4b1bc7afc580b28b0ac91d8";
ReplayChWithMalformedInner(ch, kTlsAlertProtocolVersion,
SSL_ERROR_UNSUPPORTED_VERSION,
SSL_ERROR_PROTOCOL_VERSION_ALERT);
@@ -624,35 +653,48 @@ TEST_F(TlsConnectStreamTls13Ech, EchVersion12Inner) {
// Use CHInner supported_versions to negotiate 1.2.
TEST_F(TlsConnectStreamTls13Ech, EchVersion12InnerSupportedVersions) {
+ // Construct this by changing ssl_tls13_supported_versions_xtn to write
+ // TLS 1.2 instead of TLS 1.3.
std::string ch =
- "01000158030378a601a3f12229e53e0b8d92c3599bf1782e8261d2ecaec9bbe595d4c901"
- "98770000061301130313020100012900000010000e00000b7075626c69632e6e616d65ff"
+ "0100020003036c4a7f6f6b5479a5c1f769c7b04c082ba40b514522d193df855df8bea933"
+ "b565000006130113031302010001d100000010000e00000b7075626c69632e6e616d65ff"
"01000100000a00140012001d00170018001901000101010201030104003300260024001d"
- "00201c8017d6970f3a92ac1c9919c3a26788052f84599fb0c3cb7bd381304148724e002b"
+ "0020ee721b8fe89260f8987d0d21b628db136c6155793fa63f4f546b244ee5357761002b"
"0003020304000d0018001604030503060302030804080508060401050106010201002d00"
- "020101001c00024001fe09009b0001000308fde4163c5c6e8bb60020f7347d34f125e866"
- "76b1cdc43455c6c00918a3c8a961335e1b9aa864da2b5313006a21e6ad81533e90cea24e"
- "c2c3656f6b53114b4c63bf89462696f1c8ad4e1193d87062a5537edbe83c9b35c41e9763"
- "1d2333270854758ee02548afb7f2264f904474465415a5085024487f22b017208e250ca4"
- "7902d61d98fbd1cb8afc0a14dcd70a68343cf67c258758d9";
+ "020101001c00024001001500ac0000000000000000000000000000000000000000000000"
+ "000000000000000000000000000000000000000000000000000000000000000000000000"
+ "000000000000000000000000000000000000000000000000000000000000000000000000"
+ "000000000000000000000000000000000000000000000000000000000000000000000000"
+ "000000000000000000000000000000000000000000000000000000000000000000000000"
+ "0000000000fe0a0093000100034d00205de27fe39481bfb370ee8441f12e28296bc5c8fe"
+ "b6a6198ddc6ab03b2d024638006a9e9f57c3f39c0ad1c3427549a77f301d01d718e09da4"
+ "5497df178c95fd598bf0c9098d68dfba80a05eeeabc84dc0bb3225cee4a74688d520c632"
+ "73612f98be847dea4f040a8d9b2b92bb4a44273d0cafafbfe1ee4ed69448bc243b4359c6"
+ "e1eb3971e125fbfb016245fa";
ReplayChWithMalformedInner(ch, kTlsAlertProtocolVersion,
SSL_ERROR_UNSUPPORTED_VERSION,
SSL_ERROR_PROTOCOL_VERSION_ALERT);
}
// Replay a CH for which CHInner lacks the required ech_is_inner extension.
-TEST_F(TlsConnectStreamTls13Ech, EchInnerMissingEmptyEch) {
+TEST_F(TlsConnectStreamTls13Ech, EchInnerMissing) {
+ // Construct by omitting ssl_tls13_ech_is_inner_xtn.
std::string ch =
- "010001540303033b3284790ada882445bfb38b8af3509659033c931e6ae97febbaa62b19"
- "b4ac0000061301130313020100012500000010000e00000b7075626c69632e6e616d65ff"
+ "010002000303912d293136b843248ffeecdde6ef0d5bc5d0adb4d356b985c2fcec8fe2b0"
+ "8f5d000006130113031302010001d100000010000e00000b7075626c69632e6e616d65ff"
"01000100000a00140012001d00170018001901000101010201030104003300260024001d"
- "00209d1ed410ccb05ce9e424f52b1be3599bcc1efb0913ae14a24d9a69cbfbc39744002b"
+ "00209222e6b0c672fd1e564fbca5889155e9126e3b006a8ff77ff61898dd56a08429002b"
"0003020304000d0018001604030503060302030804080508060401050106010201002d00"
- "020101001c00024001fe0900970001000308fde4163c5c6e8bb600206321bdc543a23d47"
- "7a7104ba69177cb722927c6c485117df4a077b8e82167f0b0066103d9aac7e5fc4ef990b"
- "2ce38593589f7f6ba043847d7db6c9136adb811f63b956d56e6ca8cbe6864e3fc43a3bc5"
- "94a332d4d63833e411c89ef14af63b5cd18c7adee99ffd1ad3112449ea18d6650bbaca66"
- "528f7e4146fafbf338c27cf89b145a55022b26a3";
+ "020101001c00024001001500b00000000000000000000000000000000000000000000000"
+ "000000000000000000000000000000000000000000000000000000000000000000000000"
+ "000000000000000000000000000000000000000000000000000000000000000000000000"
+ "000000000000000000000000000000000000000000000000000000000000000000000000"
+ "000000000000000000000000000000000000000000000000000000000000000000000000"
+ "000000000000000000fe0a008f000100034d0020e1bc83c066a251621c4b055779789a2c"
+ "6ac4b9a3850366b2ea0d32a8e041181c0066a4e9cc6912b8bc6c1b54a2c6c40428ab01a3"
+ "0e4621ec65320df2beff846a606618429c108fdfe24a6fad5053f53fb36082bf7d80d6f4"
+ "73131a3d6c04e182595606070ac4e0be078ada56456c02d37a2fee7cb17accd273cbd810"
+ "30ee0dbe139e51ba1d2a471f";
ReplayChWithMalformedInner(ch, kTlsAlertIllegalParameter,
SSL_ERROR_MISSING_ECH_EXTENSION,
SSL_ERROR_ILLEGAL_PARAMETER_ALERT);
@@ -661,17 +703,24 @@ TEST_F(TlsConnectStreamTls13Ech, EchInnerMissingEmptyEch) {
// Replay a CH for which CHInner contains both an ECH and ech_is_inner
// extension.
TEST_F(TlsConnectStreamTls13Ech, InnerWithEchAndEchIsInner) {
+ // Construct by appending an empty ssl_tls13_encrypted_client_hello_xtn to
+ // CHInner.
std::string ch =
- "0100015c030383fb49c98b62bcdf04cbbae418dd684f8f9512f40fca6861ba40555269a9"
- "789f0000061301130313020100012d00000010000e00000b7075626c69632e6e616d65ff"
+ "010002000303b690bc4090ecfd7ad167de639b1d1ea7682588ffefae1164179d370f6cd3"
+ "0864000006130113031302010001d100000010000e00000b7075626c69632e6e616d65ff"
"01000100000a00140012001d00170018001901000101010201030104003300260024001d"
- "00201e3d35a6755b7dddf7e481359429e9677baaa8dd99569c2bf0b0f7ea56e68b12002b"
+ "00200c3c15b0e9884d5f593634a168b70a62ae18c8d69a68f8e29c826fbabcd99b22002b"
"0003020304000d0018001604030503060302030804080508060401050106010201002d00"
- "020101001c00024001fe09009f0001000308fde4163c5c6e8bb6002090110b89c1ba6618"
- "942ea7aae8c472c22e97f10bef7dd490bee50cc108082b48006eed016fa2b3e3419cf5ef"
- "9b41ab9ecffa84a4b60e2f4cc710cf31c739d1f6f88b48207aaf7ccabdd744a25a8f2a38"
- "029d1b133e9d990681cf08c07a255d9242b3a002bc0865935cbb609b2b1996fab0626cb0"
- "2ece6544bbde0d3218333ffd95c383a41854b76b1a254bb346a2702b";
+ "020101001c00024001001500a80000000000000000000000000000000000000000000000"
+ "000000000000000000000000000000000000000000000000000000000000000000000000"
+ "000000000000000000000000000000000000000000000000000000000000000000000000"
+ "000000000000000000000000000000000000000000000000000000000000000000000000"
+ "000000000000000000000000000000000000000000000000000000000000000000000000"
+ "00fe0a0097000100034d0020d46cc9042eff6efee046a5ff653d1b6a60cfd5786afef5ce"
+ "43300bc515ef5f09006ea6bf626854596df74b2d8f81a479a6d2fef13295a81e0571008a"
+ "12fc92f82170fdb899cd22ebadc33a3147c2801619f7621ffe8684c96918443e3fbe9b17"
+ "34fbf678ba0b2abad7ab6b018bccc1034b9537a5d399fdb9a5ccb92360bde4a94a2f2509"
+ "0e7313dd9254eae3603e1fee";
ReplayChWithMalformedInner(ch, kTlsAlertIllegalParameter,
SSL_ERROR_RX_MALFORMED_CLIENT_HELLO,
SSL_ERROR_ILLEGAL_PARAMETER_ALERT);
@@ -701,13 +750,13 @@ TEST_F(TlsConnectStreamTls13Ech, EchConfigsTrialDecrypt) {
ImportFixedEchKeypair(pub, priv);
const std::string two_configs_str =
- "007EFE09003B000B7075626C69632E6E616D650020111111111111111111111111111111"
- "1111111111111111111111111111111111002000040001000100640000fe09003B000B70"
- "75626C69632E6E616D6500208756E2580C07C1D2FFCB662F5FADC6D6FF13DA85ABD7ADFE"
- "CF984AAA102C1269002000040001000100640000";
+ "0080FE0A003C000020002011111111111111111111111111111111111111111111111111"
+ "111111111111110004000100010064000B7075626C69632E6E616D650000FE0A003C0000"
+ "2000208756E2580C07C1D2FFCB662F5FADC6D6FF13DA85ABD7ADFECF984AAA102C126900"
+ "04000100010064000B7075626C69632E6E616D650000";
const std::string second_config_str =
- "003FFE09003B000B7075626C69632E6E616D6500208756E2580C07C1D2FFCB662F5FADC6"
- "D6FF13DA85ABD7ADFECF984AAA102C1269002000040001000100640000";
+ "0040FE0A003C00002000208756E2580C07C1D2FFCB662F5FADC6D6FF13DA85ABD7ADFECF"
+ "984AAA102C12690004000100010064000B7075626C69632E6E616D650000";
std::vector two_configs = hex_string_to_bytes(two_configs_str);
std::vector second_config = hex_string_to_bytes(second_config_str);
ASSERT_EQ(SECSuccess,
@@ -717,38 +766,11 @@ TEST_F(TlsConnectStreamTls13Ech, EchConfigsTrialDecrypt) {
SSL_SetClientEchConfigs(client_->ssl_fd(), second_config.data(),
second_config.size()));
- ASSERT_EQ(SECSuccess, SSLInt_ZeroEchConfigIds(client_->ssl_fd()));
- ASSERT_EQ(SECSuccess, SSLInt_ZeroEchConfigIds(server_->ssl_fd()));
client_->ExpectEch();
server_->ExpectEch();
Connect();
}
-// An empty config_id should prompt an alert. We don't support
-// Optional Configuration Identifiers.
-TEST_F(TlsConnectStreamTls13, EchRejectEmptyConfigId) {
- static const uint8_t junk[16] = {0};
- DataBuffer junk_buf(junk, sizeof(junk));
- DataBuffer ech_xtn;
- ech_xtn.Write(ech_xtn.len(), HpkeKdfHkdfSha256, 2);
- ech_xtn.Write(ech_xtn.len(), HpkeAeadAes128Gcm, 2);
- ech_xtn.Write(ech_xtn.len(), 0U, 1); // empty config_id
- ech_xtn.Write(ech_xtn.len(), junk_buf.len(), 2); // enc
- ech_xtn.Append(junk_buf);
- ech_xtn.Write(ech_xtn.len(), junk_buf.len(), 2); // payload
- ech_xtn.Append(junk_buf);
-
- EnsureTlsSetup();
- EXPECT_EQ(SECSuccess, SSL_EnableTls13GreaseEch(client_->ssl_fd(),
- PR_FALSE)); // Don't GREASE
- MakeTlsFilter(client_, kTlsHandshakeClientHello,
- ssl_tls13_encrypted_client_hello_xtn,
- ech_xtn);
- ConnectExpectAlert(server_, kTlsAlertDecodeError);
- client_->CheckErrorCode(SSL_ERROR_DECODE_ERROR_ALERT);
- server_->CheckErrorCode(SSL_ERROR_RX_MALFORMED_ECH_EXTENSION);
-}
-
TEST_F(TlsConnectStreamTls13Ech, EchAcceptBasic) {
EnsureTlsSetup();
SetupEch(client_, server_);
@@ -1752,28 +1774,8 @@ TEST_F(TlsConnectStreamTls13, EchBackendAcceptance) {
server_->ExpectReceiveAlert(kTlsAlertCloseNotify, kTlsAlertWarning);
}
-INSTANTIATE_TEST_SUITE_P(EchAgentTest, TlsAgentEchTest,
- ::testing::Combine(TlsConnectTestBase::kTlsVariantsAll,
- TlsConnectTestBase::kTlsV13));
-#else
-
-TEST_P(TlsAgentEchTest, NoEchWithoutHpke) {
- EnsureInit();
- uint8_t non_null[1];
- SECKEYPublicKey pub;
- SECKEYPrivateKey priv;
- ASSERT_EQ(SECFailure, SSL_SetClientEchConfigs(agent_->ssl_fd(), non_null,
- sizeof(non_null)));
- ASSERT_EQ(SSL_ERROR_FEATURE_DISABLED, PORT_GetError());
-
- ASSERT_EQ(SECFailure, SSL_SetServerEchConfigs(agent_->ssl_fd(), &pub, &priv,
- non_null, sizeof(non_null)));
- ASSERT_EQ(SSL_ERROR_FEATURE_DISABLED, PORT_GetError());
-}
-
INSTANTIATE_TEST_SUITE_P(EchAgentTest, TlsAgentEchTest,
::testing::Combine(TlsConnectTestBase::kTlsVariantsAll,
TlsConnectTestBase::kTlsV13));
-#endif // NSS_ENABLE_DRAFT_HPKE
} // namespace nss_test
diff --git a/security/nss/lib/freebl/Makefile b/security/nss/lib/freebl/Makefile
index 3d53572975dac..d13a5e93098f2 100644
--- a/security/nss/lib/freebl/Makefile
+++ b/security/nss/lib/freebl/Makefile
@@ -299,8 +299,9 @@ ifdef USE_64
ifeq ($(PPC_ABI),2)
ASFILES += sha512-p8.s
ifeq ($(OS_TEST),ppc64le)
- EXTRA_SRCS += chacha20poly1305-ppc.c
- ASFILES += chacha20-ppc64le.s
+ DEFINES += -DPPC_GCM
+ EXTRA_SRCS += chacha20poly1305-ppc.c ppc-gcm-wrap.c
+ ASFILES += chacha20-ppc64le.s ppc-gcm.s
endif # ppc64le
endif
endif # USE_64
diff --git a/security/nss/lib/freebl/freebl.gyp b/security/nss/lib/freebl/freebl.gyp
index 865f89232b482..a4e496399dba6 100644
--- a/security/nss/lib/freebl/freebl.gyp
+++ b/security/nss/lib/freebl/freebl.gyp
@@ -284,6 +284,41 @@
}]
]
},
+ {
+ 'target_name': 'gcm-aes-ppc_lib',
+ 'type': 'static_library',
+ 'sources': [
+ 'ppc-gcm.s',
+ ],
+ 'dependencies': [
+ '<(DEPTH)/exports.gyp:nss_exports'
+ ],
+ },
+ {
+ 'target_name': 'ppc-gcm-wrap-nodepend_c_lib',
+ 'type': 'static_library',
+ 'sources': [
+ 'ppc-gcm-wrap.c',
+ ],
+ 'dependencies': [
+ '<(DEPTH)/exports.gyp:nss_exports',
+ 'gcm-aes-ppc_lib',
+ ],
+ },
+ {
+ 'target_name': 'ppc-gcm-wrap_c_lib',
+ 'type': 'static_library',
+ 'sources': [
+ 'ppc-gcm-wrap.c',
+ ],
+ 'dependencies': [
+ '<(DEPTH)/exports.gyp:nss_exports',
+ 'gcm-aes-ppc_lib',
+ ],
+ 'defines!': [
+ 'FREEBL_NO_DEPEND',
+ ],
+ },
{
'target_name': 'gcm-sha512-nodepend-ppc_c_lib',
'type': 'static_library',
@@ -466,6 +501,7 @@
'gcm-aes-ppc_c_lib',
'gcm-sha512-ppc_c_lib',
'chacha20-ppc_lib',
+ 'ppc-gcm-wrap_c_lib',
],
}],
[ 'disable_altivec==1 and (target_arch=="ppc64" or target_arch=="ppc64le")', {
@@ -484,6 +520,7 @@
'FREEBL_LOWHASH',
'USE_HW_AES',
'INTEL_GCM',
+ 'PPC_GCM',
],
'conditions': [
[ 'target_arch=="x64"', {
@@ -535,10 +572,20 @@
'gcm-aes-aarch64_c_lib',
],
}],
- [ 'disable_altivec==0 and (target_arch=="ppc64" or target_arch=="ppc64le")', {
- 'dependencies': [
- 'gcm-aes-ppc_c_lib',
- 'gcm-sha512-nodepend-ppc_c_lib',
+ [ 'disable_altivec==0', {
+ 'conditions': [
+ [ 'target_arch=="ppc64"', {
+ 'dependencies': [
+ 'gcm-aes-ppc_c_lib',
+ 'gcm-sha512-nodepend-ppc_c_lib',
+ ],
+ }, 'target_arch=="ppc64le"', {
+ 'dependencies': [
+ 'gcm-aes-ppc_c_lib',
+ 'gcm-sha512-nodepend-ppc_c_lib',
+ 'ppc-gcm-wrap-nodepend_c_lib',
+ ],
+ }],
],
}],
[ 'disable_altivec==1 and (target_arch=="ppc64" or target_arch=="ppc64le")', {
@@ -743,6 +790,13 @@
'FREEBL_LOWHASH',
'FREEBL_NO_DEPEND',
],
+ 'conditions': [
+ [ 'disable_altivec==0 and target_arch=="ppc64le"', {
+ 'defines': [
+ 'PPC_GCM',
+ ],
+ }],
+ ],
}],
[ 'OS=="linux" or OS=="android"', {
'conditions': [
diff --git a/security/nss/lib/freebl/ppc-gcm-wrap.c b/security/nss/lib/freebl/ppc-gcm-wrap.c
new file mode 100644
index 0000000000000..ca3d8ee6921b3
--- /dev/null
+++ b/security/nss/lib/freebl/ppc-gcm-wrap.c
@@ -0,0 +1,458 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+/* Copyright(c) 2013, Intel Corp. */
+
+/* Wrapper functions for PowerPC optimized implementation of AES-GCM */
+
+#ifdef FREEBL_NO_DEPEND
+#include "stubs.h"
+#endif
+
+#include "blapii.h"
+#include "blapit.h"
+#include "gcm.h"
+#include "ctr.h"
+#include "secerr.h"
+#include "prtypes.h"
+#include "pkcs11t.h"
+
+#include
+#include
+
+#include "ppc-gcm.h"
+#include "rijndael.h"
+
+struct ppc_AES_GCMContextStr {
+ unsigned char Htbl[8 * AES_BLOCK_SIZE];
+ unsigned char X0[AES_BLOCK_SIZE];
+ unsigned char T[AES_BLOCK_SIZE];
+ unsigned char CTR[AES_BLOCK_SIZE];
+ AESContext *aes_context;
+ unsigned long tagBits;
+ unsigned long Alen;
+ unsigned long Mlen;
+ freeblCipherFunc cipher;
+ PRBool ctr_context_init;
+ gcmIVContext gcm_iv;
+};
+
+SECStatus ppc_aes_gcmInitCounter(ppc_AES_GCMContext *gcm,
+ const unsigned char *iv,
+ unsigned long ivLen, unsigned long tagBits,
+ const unsigned char *aad, unsigned long aadLen);
+
+ppc_AES_GCMContext *
+ppc_AES_GCM_CreateContext(void *context,
+ freeblCipherFunc cipher,
+ const unsigned char *params)
+{
+ ppc_AES_GCMContext *gcm = NULL;
+ AESContext *aes = (AESContext *)context;
+ const CK_NSS_GCM_PARAMS *gcmParams = (const CK_NSS_GCM_PARAMS *)params;
+ SECStatus rv;
+
+ gcm = PORT_ZNew(ppc_AES_GCMContext);
+ if (gcm == NULL) {
+ return NULL;
+ }
+
+ /* initialize context fields */
+ gcm->aes_context = aes;
+ gcm->cipher = cipher;
+ gcm->Alen = 0;
+ gcm->Mlen = 0;
+ gcm->ctr_context_init = PR_FALSE;
+
+ /* first prepare H and its derivatives for ghash */
+ ppc_aes_gcmINIT(gcm->Htbl, aes->k.expandedKey, aes->Nr);
+
+ gcm_InitIVContext(&gcm->gcm_iv);
+
+ /* if gcmParams is NULL, then we are creating an PKCS #11 MESSAGE
+ * style context, in which we initialize the key once, then do separate
+ * iv/aad's for each message. If we are doing that kind of operation,
+ * we've finished with init here. We'll init the Counter in each AEAD
+ * call */
+ if (gcmParams == NULL) {
+ return gcm;
+ }
+
+ rv = ppc_aes_gcmInitCounter(gcm, gcmParams->pIv,
+ gcmParams->ulIvLen, gcmParams->ulTagBits,
+ gcmParams->pAAD, gcmParams->ulAADLen);
+ if (rv != SECSuccess) {
+ PORT_Free(gcm);
+ return NULL;
+ }
+ gcm->ctr_context_init = PR_TRUE;
+
+ return gcm;
+}
+
+SECStatus
+ppc_aes_gcmInitCounter(ppc_AES_GCMContext *gcm,
+ const unsigned char *iv, unsigned long ivLen,
+ unsigned long tagBits,
+ const unsigned char *aad, unsigned long aadLen)
+{
+ unsigned int j;
+ SECStatus rv;
+
+ if (ivLen == 0) {
+ PORT_SetError(SEC_ERROR_INVALID_ARGS);
+ return SECFailure;
+ }
+
+ if (tagBits != 128 && tagBits != 120 && tagBits != 112 &&
+ tagBits != 104 && tagBits != 96 && tagBits != 64 &&
+ tagBits != 32) {
+ PORT_SetError(SEC_ERROR_INVALID_ARGS);
+ return SECFailure;
+ }
+ gcm->tagBits = tagBits;
+
+ /* reset the aad and message length counters */
+ gcm->Alen = 0;
+ gcm->Mlen = 0;
+
+ /* Initial TAG value is zero */
+ PORT_Memset(gcm->T, 0, AES_BLOCK_SIZE);
+ PORT_Memset(gcm->X0, 0, AES_BLOCK_SIZE);
+
+ /* Init the counter */
+ if (ivLen == 12) {
+ PORT_Memcpy(gcm->CTR, iv, AES_BLOCK_SIZE - 4);
+ gcm->CTR[12] = 0;
+ gcm->CTR[13] = 0;
+ gcm->CTR[14] = 0;
+ gcm->CTR[15] = 1;
+ } else {
+ /* If IV size is not 96 bits, then the initial counter value is GHASH
+ * of the IV */
+ ppc_aes_gcmHASH(gcm->Htbl, iv, ivLen, gcm->T);
+
+ ppc_aes_gcmTAG(
+ gcm->Htbl,
+ gcm->T,
+ ivLen,
+ 0,
+ gcm->X0,
+ gcm->CTR);
+
+ /* TAG should be zero again */
+ PORT_Memset(gcm->T, 0, AES_BLOCK_SIZE);
+ }
+
+ /* Encrypt the initial counter, will be used to encrypt the GHASH value,
+ * in the end */
+ rv = (*gcm->cipher)(gcm->aes_context, gcm->X0, &j, AES_BLOCK_SIZE, gcm->CTR,
+ AES_BLOCK_SIZE, AES_BLOCK_SIZE);
+ if (rv != SECSuccess) {
+ return SECFailure;
+ }
+
+ /* Promote the counter by 1 */
+ gcm->CTR[14] += !(++gcm->CTR[15]);
+ gcm->CTR[13] += !(gcm->CTR[15]) && !(gcm->CTR[14]);
+ gcm->CTR[12] += !(gcm->CTR[15]) && !(gcm->CTR[13]) && !(gcm->CTR[12]);
+
+ /* Now hash AAD - it would actually make sense to seperate the context
+ * creation from the AAD, because that would allow to reuse the H, which
+ * only changes when the AES key changes, and not every package, like the
+ * IV and AAD */
+ ppc_aes_gcmHASH(gcm->Htbl, aad, aadLen, gcm->T);
+ gcm->Alen += aadLen;
+ return SECSuccess;
+}
+
+void
+ppc_AES_GCM_DestroyContext(ppc_AES_GCMContext *gcm, PRBool freeit)
+{
+ PORT_Memset(gcm, 0, sizeof(ppc_AES_GCMContext));
+ if (freeit) {
+ PORT_Free(gcm);
+ }
+}
+
+SECStatus
+ppc_AES_GCM_EncryptUpdate(ppc_AES_GCMContext *gcm,
+ unsigned char *outbuf,
+ unsigned int *outlen, unsigned int maxout,
+ const unsigned char *inbuf, unsigned int inlen,
+ unsigned int blocksize)
+{
+ unsigned int tagBytes;
+ unsigned char T[AES_BLOCK_SIZE];
+ unsigned int j;
+
+ // GCM has a 16 octet block, with a 32-bit block counter
+ // Limit in accordance with SP800-38D
+ if (sizeof(inlen) > 4 &&
+ inlen >= ((1ULL << 32) - 2) * AES_BLOCK_SIZE) {
+ PORT_SetError(SEC_ERROR_INPUT_LEN);
+ return SECFailure;
+ }
+
+ if (!gcm->ctr_context_init) {
+ PORT_SetError(SEC_ERROR_NOT_INITIALIZED);
+ return SECFailure;
+ }
+
+ tagBytes = (gcm->tagBits + (PR_BITS_PER_BYTE - 1)) / PR_BITS_PER_BYTE;
+ if (UINT_MAX - inlen < tagBytes) {
+ PORT_SetError(SEC_ERROR_INPUT_LEN);
+ return SECFailure;
+ }
+ if (maxout < inlen + tagBytes) {
+ *outlen = inlen + tagBytes;
+ PORT_SetError(SEC_ERROR_OUTPUT_LEN);
+ return SECFailure;
+ }
+
+ ppc_aes_gcmCRYPT(
+ inbuf,
+ outbuf,
+ inlen,
+ gcm->CTR,
+ gcm->aes_context->k.expandedKey,
+ gcm->aes_context->Nr);
+ ppc_aes_gcmHASH(
+ gcm->Htbl,
+ outbuf,
+ inlen,
+ gcm->T);
+
+ gcm->Mlen += inlen;
+
+ ppc_aes_gcmTAG(
+ gcm->Htbl,
+ gcm->T,
+ gcm->Mlen,
+ gcm->Alen,
+ gcm->X0,
+ T);
+
+ *outlen = inlen + tagBytes;
+
+ for (j = 0; j < tagBytes; j++) {
+ outbuf[inlen + j] = T[j];
+ }
+ return SECSuccess;
+}
+
+SECStatus
+ppc_AES_GCM_DecryptUpdate(ppc_AES_GCMContext *gcm,
+ unsigned char *outbuf,
+ unsigned int *outlen, unsigned int maxout,
+ const unsigned char *inbuf, unsigned int inlen,
+ unsigned int blocksize)
+{
+ unsigned int tagBytes;
+ unsigned char T[AES_BLOCK_SIZE];
+ const unsigned char *intag;
+
+ if (!gcm->ctr_context_init) {
+ PORT_SetError(SEC_ERROR_NOT_INITIALIZED);
+ return SECFailure;
+ }
+
+ tagBytes = (gcm->tagBits + (PR_BITS_PER_BYTE - 1)) / PR_BITS_PER_BYTE;
+
+ /* get the authentication block */
+ if (inlen < tagBytes) {
+ PORT_SetError(SEC_ERROR_INPUT_LEN);
+ return SECFailure;
+ }
+
+ inlen -= tagBytes;
+ intag = inbuf + inlen;
+
+ // GCM has a 16 octet block, with a 32-bit block counter
+ // Limit in accordance with SP800-38D
+ if (sizeof(inlen) > 4 &&
+ inlen >= ((1ULL << 32) - 2) * AES_BLOCK_SIZE) {
+ PORT_SetError(SEC_ERROR_INPUT_LEN);
+ return SECFailure;
+ }
+
+ if (maxout < inlen) {
+ *outlen = inlen;
+ PORT_SetError(SEC_ERROR_OUTPUT_LEN);
+ return SECFailure;
+ }
+
+ ppc_aes_gcmHASH(
+ gcm->Htbl,
+ inbuf,
+ inlen,
+ gcm->T);
+ ppc_aes_gcmCRYPT(
+ inbuf,
+ outbuf,
+ inlen,
+ gcm->CTR,
+ gcm->aes_context->k.expandedKey,
+ gcm->aes_context->Nr);
+
+ gcm->Mlen += inlen;
+ ppc_aes_gcmTAG(
+ gcm->Htbl,
+ gcm->T,
+ gcm->Mlen,
+ gcm->Alen,
+ gcm->X0,
+ T);
+
+ if (NSS_SecureMemcmp(T, intag, tagBytes) != 0) {
+ memset(outbuf, 0, inlen);
+ *outlen = 0;
+ /* force a CKR_ENCRYPTED_DATA_INVALID error at in softoken */
+ PORT_SetError(SEC_ERROR_BAD_DATA);
+ return SECFailure;
+ }
+ *outlen = inlen;
+
+ return SECSuccess;
+}
+
+SECStatus
+ppc_AES_GCM_EncryptAEAD(ppc_AES_GCMContext *gcm,
+ unsigned char *outbuf,
+ unsigned int *outlen, unsigned int maxout,
+ const unsigned char *inbuf, unsigned int inlen,
+ void *params, unsigned int paramLen,
+ const unsigned char *aad, unsigned int aadLen,
+ unsigned int blocksize)
+{
+ unsigned int tagBytes;
+ unsigned char T[AES_BLOCK_SIZE];
+ const CK_GCM_MESSAGE_PARAMS *gcmParams =
+ (const CK_GCM_MESSAGE_PARAMS *)params;
+ SECStatus rv;
+
+ // GCM has a 16 octet block, with a 32-bit block counter
+ // Limit in accordance with SP800-38D
+ if (sizeof(inlen) > 4 &&
+ inlen >= ((1ULL << 32) - 2) * AES_BLOCK_SIZE) {
+ PORT_SetError(SEC_ERROR_INPUT_LEN);
+ return SECFailure;
+ }
+ /* paramLen comes all the way from the application layer, make sure
+ * it's correct */
+ if (paramLen != sizeof(CK_GCM_MESSAGE_PARAMS)) {
+ PORT_SetError(SEC_ERROR_INVALID_ARGS);
+ return SECFailure;
+ }
+
+ /* if we were initialized with the C_EncryptInit, we shouldn't be in this
+ * function */
+ if (gcm->ctr_context_init) {
+ PORT_SetError(SEC_ERROR_LIBRARY_FAILURE);
+ return SECFailure;
+ }
+
+ if (maxout < inlen) {
+ *outlen = inlen;
+ PORT_SetError(SEC_ERROR_OUTPUT_LEN);
+ return SECFailure;
+ }
+
+ rv = gcm_GenerateIV(&gcm->gcm_iv, gcmParams->pIv, gcmParams->ulIvLen,
+ gcmParams->ulIvFixedBits, gcmParams->ivGenerator);
+ if (rv != SECSuccess) {
+ return SECFailure;
+ }
+
+ rv = ppc_aes_gcmInitCounter(gcm, gcmParams->pIv, gcmParams->ulIvLen,
+ gcmParams->ulTagBits, aad, aadLen);
+ if (rv != SECSuccess) {
+ return SECFailure;
+ }
+
+ tagBytes = (gcm->tagBits + (PR_BITS_PER_BYTE - 1)) / PR_BITS_PER_BYTE;
+
+ ppc_aes_gcmCRYPT(inbuf, outbuf, inlen, gcm->CTR, gcm->aes_context->k.expandedKey,
+ gcm->aes_context->Nr);
+ ppc_aes_gcmHASH(gcm->Htbl, outbuf, inlen, gcm->T);
+
+ gcm->Mlen += inlen;
+
+ ppc_aes_gcmTAG(gcm->Htbl, gcm->T, gcm->Mlen, gcm->Alen, gcm->X0, T);
+
+ *outlen = inlen;
+ PORT_Memcpy(gcmParams->pTag, T, tagBytes);
+ return SECSuccess;
+}
+
+SECStatus
+ppc_AES_GCM_DecryptAEAD(ppc_AES_GCMContext *gcm,
+ unsigned char *outbuf,
+ unsigned int *outlen, unsigned int maxout,
+ const unsigned char *inbuf, unsigned int inlen,
+ void *params, unsigned int paramLen,
+ const unsigned char *aad, unsigned int aadLen,
+ unsigned int blocksize)
+{
+ unsigned int tagBytes;
+ unsigned char T[AES_BLOCK_SIZE];
+ const unsigned char *intag;
+ const CK_GCM_MESSAGE_PARAMS *gcmParams =
+ (const CK_GCM_MESSAGE_PARAMS *)params;
+ SECStatus rv;
+
+ /* paramLen comes all the way from the application layer, make sure
+ * it's correct */
+ if (paramLen != sizeof(CK_GCM_MESSAGE_PARAMS)) {
+ PORT_SetError(SEC_ERROR_INVALID_ARGS);
+ return SECFailure;
+ }
+ /* if we were initialized with the C_DecryptInit, we shouldn't be in this
+ * function */
+ if (gcm->ctr_context_init) {
+ PORT_SetError(SEC_ERROR_LIBRARY_FAILURE);
+ return SECFailure;
+ }
+
+ // GCM has a 16 octet block, with a 32-bit block counter
+ // Limit in accordance with SP800-38D
+ if (sizeof(inlen) > 4 &&
+ inlen >= ((1ULL << 32) - 2) * AES_BLOCK_SIZE) {
+ PORT_SetError(SEC_ERROR_INPUT_LEN);
+ return SECFailure;
+ }
+
+ if (maxout < inlen) {
+ *outlen = inlen;
+ PORT_SetError(SEC_ERROR_OUTPUT_LEN);
+ return SECFailure;
+ }
+
+ rv = ppc_aes_gcmInitCounter(gcm, gcmParams->pIv, gcmParams->ulIvLen,
+ gcmParams->ulTagBits, aad, aadLen);
+ if (rv != SECSuccess) {
+ return SECFailure;
+ }
+
+ tagBytes = (gcm->tagBits + (PR_BITS_PER_BYTE - 1)) / PR_BITS_PER_BYTE;
+ intag = gcmParams->pTag;
+ PORT_Assert(tagBytes != 0);
+
+ ppc_aes_gcmHASH(gcm->Htbl, inbuf, inlen, gcm->T);
+ ppc_aes_gcmCRYPT(inbuf, outbuf, inlen, gcm->CTR, gcm->aes_context->k.expandedKey,
+ gcm->aes_context->Nr);
+
+ gcm->Mlen += inlen;
+ ppc_aes_gcmTAG(gcm->Htbl, gcm->T, gcm->Mlen, gcm->Alen, gcm->X0, T);
+
+ if (NSS_SecureMemcmp(T, intag, tagBytes) != 0) {
+ memset(outbuf, 0, inlen);
+ *outlen = 0;
+ /* force a CKR_ENCRYPTED_DATA_INVALID error at in softoken */
+ PORT_SetError(SEC_ERROR_BAD_DATA);
+ return SECFailure;
+ }
+ *outlen = inlen;
+
+ return SECSuccess;
+}
diff --git a/security/nss/lib/freebl/ppc-gcm.h b/security/nss/lib/freebl/ppc-gcm.h
new file mode 100644
index 0000000000000..1d94c0c3386da
--- /dev/null
+++ b/security/nss/lib/freebl/ppc-gcm.h
@@ -0,0 +1,76 @@
+/******************************************************************************/
+/* LICENSE: */
+/* This submission to NSS is to be made available under the terms of the */
+/* Mozilla Public License, v. 2.0. You can obtain one at http: */
+/* //mozilla.org/MPL/2.0/. */
+/******************************************************************************/
+
+#ifndef PPC_GCM_H
+#define PPC_GCM_H 1
+
+#include "blapii.h"
+
+typedef struct ppc_AES_GCMContextStr ppc_AES_GCMContext;
+
+ppc_AES_GCMContext *ppc_AES_GCM_CreateContext(void *context, freeblCipherFunc cipher,
+ const unsigned char *params);
+
+void ppc_AES_GCM_DestroyContext(ppc_AES_GCMContext *gcm, PRBool freeit);
+
+SECStatus ppc_AES_GCM_EncryptUpdate(ppc_AES_GCMContext *gcm, unsigned char *outbuf,
+ unsigned int *outlen, unsigned int maxout,
+ const unsigned char *inbuf, unsigned int inlen,
+ unsigned int blocksize);
+
+SECStatus ppc_AES_GCM_DecryptUpdate(ppc_AES_GCMContext *gcm, unsigned char *outbuf,
+ unsigned int *outlen, unsigned int maxout,
+ const unsigned char *inbuf, unsigned int inlen,
+ unsigned int blocksize);
+SECStatus ppc_AES_GCM_EncryptAEAD(ppc_AES_GCMContext *gcm,
+ unsigned char *outbuf,
+ unsigned int *outlen, unsigned int maxout,
+ const unsigned char *inbuf, unsigned int inlen,
+ void *params, unsigned int paramLen,
+ const unsigned char *aad, unsigned int aadLen,
+ unsigned int blocksize);
+SECStatus ppc_AES_GCM_DecryptAEAD(ppc_AES_GCMContext *gcm,
+ unsigned char *outbuf,
+ unsigned int *outlen, unsigned int maxout,
+ const unsigned char *inbuf, unsigned int inlen,
+ void *params, unsigned int paramLen,
+ const unsigned char *aad, unsigned int aadLen,
+ unsigned int blocksize);
+
+/* Prototypes of the functions defined in the assembler file. */
+
+/* Prepares the constants used in the aggregated reduction method */
+void ppc_aes_gcmINIT(unsigned char Htbl[8 * 16],
+ PRUint32 *KS,
+ int NR);
+
+/* Produces the final GHASH value */
+void ppc_aes_gcmTAG(unsigned char Htbl[8 * 16],
+ unsigned char *Tp,
+ unsigned long Mlen,
+ unsigned long Alen,
+ unsigned char *X0,
+ unsigned char *TAG);
+
+/* Hashes the Additional Authenticated Data, should be used before enc/dec.
+ Operates on any length of data. Partial block is padded internally. */
+void ppc_aes_gcmHASH(unsigned char Htbl[8 * 16],
+ const unsigned char *AAD,
+ unsigned long Alen,
+ unsigned char *Tp);
+
+/* Crypt only, used in combination with ppc_aes_gcmAAD().
+ Operates on any length of data, however partial block should only be encrypted
+ at the last call, otherwise the result will be incorrect. */
+void ppc_aes_gcmCRYPT(const unsigned char *PT,
+ unsigned char *CT,
+ unsigned long len,
+ unsigned char *CTRP,
+ PRUint32 *KS,
+ int NR);
+
+#endif
diff --git a/security/nss/lib/freebl/ppc-gcm.s b/security/nss/lib/freebl/ppc-gcm.s
new file mode 100644
index 0000000000000..4d5fff4371101
--- /dev/null
+++ b/security/nss/lib/freebl/ppc-gcm.s
@@ -0,0 +1,1051 @@
+# This submission to NSS is to be made available under the terms of the
+# Mozilla Public License, v. 2.0. You can obtain one at //mozilla.org/MPL/2.0/
+# Copyright(c) 2021, Niels Möller and Mamone Tarsha
+
+# Registers:
+
+.set SP, 1
+.set TOCP, 2
+
+.macro VEC_LOAD_DATA VR, DATA, GPR
+ addis \GPR, 2, \DATA@got@ha
+ ld \GPR, \DATA@got@l(\GPR)
+ lvx \VR, 0, \GPR
+.endm
+
+.macro VEC_LOAD VR, GPR, IDX
+ lxvd2x \VR+32, \IDX, \GPR
+ vperm \VR, \VR, \VR, SWAP_MASK
+.endm
+
+.macro VEC_LOAD_INC VR, GPR, IDX
+ lxvd2x \VR+32, \IDX, \GPR
+ addi \IDX,\IDX,16
+ vperm \VR, \VR, \VR, SWAP_MASK
+.endm
+
+.macro VEC_STORE VR, GPR, IDX
+ vperm \VR, \VR, \VR, SWAP_MASK
+ stxvd2x \VR+32, \IDX, \GPR
+.endm
+
+# 0 < LEN < 16, pad the remaining bytes with zeros
+.macro LOAD_LEN DATA, LEN, VAL1, VAL0, TMP0, TMP1, TMP2
+ li \TMP0, 0
+ li \VAL1, 0
+ li \VAL0, 0
+ andi. \TMP1, \LEN, 8
+ beq 1f
+ ldbrx \VAL1, 0, \DATA
+ li \TMP0, 8
+1:
+ andi. \TMP1, \LEN, 7
+ beq 3f
+ li \TMP1, 56
+2:
+ lbzx \TMP2, \TMP0, \DATA
+ sld \TMP2, \TMP2, \TMP1
+ subi \TMP1, \TMP1, 8
+ or \VAL0, \VAL0, \TMP2
+ addi \TMP0, \TMP0, 1
+ cmpld \TMP0, \LEN
+ bne 2b
+ andi. \TMP1, \LEN, 8
+ bne 3f
+ mr \VAL1, \VAL0
+ li \VAL0, 0
+3:
+.endm
+
+# 0 < LEN < 16
+.macro STORE_LEN DATA, LEN, VAL1, VAL0, TMP0, TMP1, TMP2
+ andi. \TMP1, \LEN, 8
+ beq 1f
+ stdbrx \VAL1, 0, \DATA
+ li \TMP0, 8
+ b 2f
+1:
+ li \TMP0, 0
+ mr \VAL0, \VAL1
+2:
+ andi. \TMP1, \LEN, 7
+ beq 4f
+ li \TMP1, 56
+3:
+ srd \TMP2, \VAL0, \TMP1
+ subi \TMP1, \TMP1, 8
+ stbx \TMP2, \TMP0, \DATA
+ addi \TMP0, \TMP0, 1
+ cmpld \TMP0, \LEN
+ bne 3b
+4:
+.endm
+
+.text
+
+################################################################################
+# Generates the H table
+# void ppc_aes_gcmINIT(uint8_t Htbl[16*8], uint32_t *KS, int NR);
+.globl ppc_aes_gcmINIT
+.type ppc_aes_gcmINIT,@function
+.align 5
+ppc_aes_gcmINIT:
+addis TOCP,12,(.TOC.-ppc_aes_gcmINIT)@ha
+addi TOCP,TOCP,(.TOC.-ppc_aes_gcmINIT)@l
+.localentry ppc_aes_gcmINIT, .-ppc_aes_gcmINIT
+
+.set Htbl, 3
+.set KS, 4
+.set NR, 5
+
+.set ZERO, 19
+.set MSB, 18
+.set ONE, 17
+.set SWAP_MASK, 0
+.set POLY, 1
+.set K, 2
+.set H, 3
+.set H2, 4
+.set H3, 5
+.set H4, 6
+.set HP, 7
+.set HS, 8
+.set R, 9
+.set F, 10
+.set T, 11
+.set H1M, 12
+.set H1L, 13
+.set H2M, 14
+.set H2L, 15
+.set H3M, 16
+.set H3L, 17
+.set H4M, 18
+.set H4L, 19
+
+ VEC_LOAD_DATA SWAP_MASK, .Ldb_bswap_mask, 6
+ VEC_LOAD_DATA POLY, .Lpoly, 6
+
+ li 6, 0
+ VEC_LOAD_INC H, KS, 6
+ VEC_LOAD_INC K, KS, 6
+ vcipher H, H, K
+ VEC_LOAD_INC K, KS, 6
+ vcipher H, H, K
+ VEC_LOAD_INC K, KS, 6
+ vcipher H, H, K
+ VEC_LOAD_INC K, KS, 6
+ vcipher H, H, K
+ VEC_LOAD_INC K, KS, 6
+ vcipher H, H, K
+ VEC_LOAD_INC K, KS, 6
+ vcipher H, H, K
+ VEC_LOAD_INC K, KS, 6
+ vcipher H, H, K
+ VEC_LOAD_INC K, KS, 6
+ vcipher H, H, K
+ VEC_LOAD_INC K, KS, 6
+ vcipher H, H, K
+ cmpwi NR, 10
+ beq .LH_done
+ VEC_LOAD_INC K, KS, 6
+ vcipher H, H, K
+ VEC_LOAD_INC K, KS, 6
+ vcipher H, H, K
+ cmpwi NR, 12
+ beq .LH_done
+ VEC_LOAD_INC K, KS, 6
+ vcipher H, H, K
+ VEC_LOAD_INC K, KS, 6
+ vcipher H, H, K
+
+.LH_done:
+ VEC_LOAD K, KS, 6
+ vcipherlast H, H, K
+
+ vupkhsb MSB, H
+ vspltisb ONE, 1
+ vspltb MSB, MSB, 0
+ vsl H, H, ONE
+ vand MSB, MSB, POLY
+ vxor ZERO, ZERO, ZERO
+ vxor H, H, MSB
+ vsldoi POLY, ZERO, POLY, 8
+
+ vpmsumd HP, H, POLY
+ vsldoi HS, H, H, 8
+ vxor HP, HP, HS
+ vsldoi H1L, HP, HS, 8
+ vsldoi H1M, HS, HP, 8
+ vsldoi H1L, H1L, H1L, 8
+
+ # calculate H^2
+
+ vpmsumd F, H, H1L
+ vpmsumd R, H, H1M
+
+ vpmsumd T, F, POLY
+ vsldoi H2, F, F, 8
+ vxor R, R, T
+ vxor H2, H2, R
+
+ vpmsumd HP, H2, POLY
+ vsldoi HS, H2, H2, 8
+ vxor HP, HP, HS
+ vsldoi H2L, HP, HS, 8
+ vsldoi H2M, HS, HP, 8
+ vsldoi H2L, H2L, H2L, 8
+
+ # calculate H^3
+
+ vpmsumd F, H2, H1L
+ vpmsumd R, H2, H1M
+
+ vpmsumd T, F, POLY
+ vsldoi H3, F, F, 8
+ vxor R, R, T
+ vxor H3, H3, R
+
+ vpmsumd HP, H3, POLY
+ vsldoi HS, H3, H3, 8
+ vxor HP, HP, HS
+ vsldoi H3L, HP, HS, 8
+ vsldoi H3M, HS, HP, 8
+ vsldoi H3L, H3L, H3L, 8
+
+ # calculate H^4
+
+ vpmsumd F, H2, H2L
+ vpmsumd R, H2, H2M
+
+ vpmsumd T, F, POLY
+ vsldoi H4, F, F, 8
+ vxor R, R, T
+ vxor H4, H4, R
+
+ vpmsumd HP, H4, POLY
+ vsldoi HS, H4, H4, 8
+ vxor HP, HP, HS
+ vsldoi H4L, HP, HS, 8
+ vsldoi H4M, HS, HP, 8
+ vsldoi H4L, H4L, H4L, 8
+
+ li 8, 16*1
+ li 9, 16*2
+ li 10, 16*3
+ stxvd2x H1L+32, 0, Htbl
+ stxvd2x H1M+32, 8, Htbl
+ stxvd2x H2L+32, 9, Htbl
+ stxvd2x H2M+32, 10, Htbl
+ li 7, 16*4
+ li 8, 16*5
+ li 9, 16*6
+ li 10, 16*7
+ stxvd2x H3L+32, 7, Htbl
+ stxvd2x H3M+32, 8, Htbl
+ stxvd2x H4L+32, 9, Htbl
+ stxvd2x H4M+32, 10, Htbl
+
+ blr
+.size ppc_aes_gcmINIT, . - ppc_aes_gcmINIT
+
+################################################################################
+# Authenticate only
+# void ppc_aes_gcmHASH(uint8_t Htbl[16*8], uint8_t *AAD, uint64_t Alen, uint8_t *Tp);
+.globl ppc_aes_gcmHASH
+.type ppc_aes_gcmHASH,@function
+.align 5
+ppc_aes_gcmHASH:
+addis TOCP,12,(.TOC.-ppc_aes_gcmHASH)@ha
+addi TOCP,TOCP,(.TOC.-ppc_aes_gcmHASH)@l
+.localentry ppc_aes_gcmHASH, .-ppc_aes_gcmHASH
+
+.set Htbl, 3
+.set AAD, 4
+.set Alen, 5
+.set Tp, 6
+
+.set SWAP_MASK, 0
+.set POLY, 1
+.set D, 2
+.set C0, 3
+.set C1, 4
+.set C2, 5
+.set C3, 6
+.set T, 7
+.set R, 8
+.set F, 9
+.set R2, 10
+.set F2, 11
+.set R3, 12
+.set F3, 13
+.set R4, 14
+.set F4, 15
+.set H1M, 16
+.set H1L, 17
+.set H2M, 18
+.set H2L, 19
+.set H3M, 28
+.set H3L, 29
+.set H4M, 30
+.set H4L, 31
+
+ # store non-volatile vector registers
+ addi 7, SP, -16
+ stvx 31, 0, 7
+ addi 7, SP, -32
+ stvx 30, 0, 7
+ addi 7, SP, -48
+ stvx 29, 0, 7
+ addi 7, SP, -64
+ stvx 28, 0, 7
+
+ VEC_LOAD_DATA SWAP_MASK, .Ldb_bswap_mask, 7
+ VEC_LOAD_DATA POLY, .Lpoly_r, 7
+
+ VEC_LOAD D, Tp, 0
+
+ # --- process 4 blocks ---
+
+ srdi. 7, Alen, 6 # 4-blocks loop count
+ beq .L2x
+
+ mtctr 7 # set counter register
+
+ # load table elements
+ li 8, 1*16
+ li 9, 2*16
+ li 10, 3*16
+ lxvd2x H1L+32, 0, Htbl
+ lxvd2x H1M+32, 8, Htbl
+ lxvd2x H2L+32, 9, Htbl
+ lxvd2x H2M+32, 10, Htbl
+ li 7, 4*16
+ li 8, 5*16
+ li 9, 6*16
+ li 10, 7*16
+ lxvd2x H3L+32, 7, Htbl
+ lxvd2x H3M+32, 8, Htbl
+ lxvd2x H4L+32, 9, Htbl
+ lxvd2x H4M+32, 10, Htbl
+
+ li 8, 0x10
+ li 9, 0x20
+ li 10, 0x30
+.align 5
+.L4x_loop:
+ # load input
+ lxvd2x C0+32, 0, AAD
+ lxvd2x C1+32, 8, AAD
+ lxvd2x C2+32, 9, AAD
+ lxvd2x C3+32, 10, AAD
+
+ vperm C0, C0, C0, SWAP_MASK
+ vperm C1, C1, C1, SWAP_MASK
+ vperm C2, C2, C2, SWAP_MASK
+ vperm C3, C3, C3, SWAP_MASK
+
+ # digest combining
+ vxor C0, C0, D
+
+ # polynomial multiplication
+ vpmsumd F2, H3L, C1
+ vpmsumd R2, H3M, C1
+ vpmsumd F3, H2L, C2
+ vpmsumd R3, H2M, C2
+ vpmsumd F4, H1L, C3
+ vpmsumd R4, H1M, C3
+ vpmsumd F, H4L, C0
+ vpmsumd R, H4M, C0
+
+ # deferred recombination of partial products
+ vxor F3, F3, F4
+ vxor R3, R3, R4
+ vxor F, F, F2
+ vxor R, R, R2
+ vxor F, F, F3
+ vxor R, R, R3
+
+ # reduction
+ vpmsumd T, F, POLY
+ vsldoi D, F, F, 8
+ vxor R, R, T
+ vxor D, R, D
+
+ addi AAD, AAD, 0x40
+ bdnz .L4x_loop
+
+ clrldi Alen, Alen, 58
+.L2x:
+ # --- process 2 blocks ---
+
+ srdi. 7, Alen, 5
+ beq .L1x
+
+ # load table elements
+ li 8, 1*16
+ li 9, 2*16
+ li 10, 3*16
+ lxvd2x H1L+32, 0, Htbl
+ lxvd2x H1M+32, 8, Htbl
+ lxvd2x H2L+32, 9, Htbl
+ lxvd2x H2M+32, 10, Htbl
+
+ # load input
+ li 10, 0x10
+ lxvd2x C0+32, 0, AAD
+ lxvd2x C1+32, 10, AAD
+
+ vperm C0, C0, C0, SWAP_MASK
+ vperm C1, C1, C1, SWAP_MASK
+
+ # previous digest combining
+ vxor C0, C0, D
+
+ # polynomial multiplication
+ vpmsumd F2, H1L, C1
+ vpmsumd R2, H1M, C1
+ vpmsumd F, H2L, C0
+ vpmsumd R, H2M, C0
+
+ # deferred recombination of partial products
+ vxor F, F, F2
+ vxor R, R, R2
+
+ # reduction
+ vpmsumd T, F, POLY
+ vsldoi D, F, F, 8
+ vxor R, R, T
+ vxor D, R, D
+
+ addi AAD, AAD, 0x20
+ clrldi Alen, Alen, 59
+.L1x:
+ # --- process 1 block ---
+
+ srdi. 7, Alen, 4
+ beq .Ltail
+
+ # load table elements
+ li 8, 1*16
+ lxvd2x H1L+32, 0, Htbl
+ lxvd2x H1M+32, 8, Htbl
+
+ # load input
+ lxvd2x C0+32, 0, AAD
+
+ vperm C0, C0, C0, SWAP_MASK
+
+ # previous digest combining
+ vxor C0, C0, D
+
+ # polynomial multiplication
+ vpmsumd F, H1L, C0
+ vpmsumd R, H1M, C0
+
+ # reduction
+ vpmsumd T, F, POLY
+ vsldoi D, F, F, 8
+ vxor R, R, T
+ vxor D, R, D
+
+ addi AAD, AAD, 0x10
+ clrldi Alen, Alen, 60
+
+.Ltail:
+ cmpldi Alen, 0
+ beq .Lh_done
+ # --- process the final partial block ---
+
+ # load table elements
+ li 8, 1*16
+ lxvd2x H1L+32, 0, Htbl
+ lxvd2x H1M+32, 8, Htbl
+
+ LOAD_LEN AAD, Alen, 10, 9, 3, 7, 8
+ mtvrd C0, 10
+ mtvrd C1, 9
+ xxmrghd C0+32, C0+32, C1+32
+
+ # previous digest combining
+ vxor C0, C0, D
+
+ # polynomial multiplication
+ vpmsumd F, H1L, C0
+ vpmsumd R, H1M, C0
+
+ # reduction
+ vpmsumd T, F, POLY
+ vsldoi D, F, F, 8
+ vxor R, R, T
+ vxor D, R, D
+.Lh_done:
+ VEC_STORE D, Tp, 0
+
+ # restore non-volatile vector registers
+ addi 7, SP, -16
+ lvx 31, 0, 7
+ addi 7, SP, -32
+ lvx 30, 0, 7
+ addi 7, SP, -48
+ lvx 29, 0, 7
+ addi 7, SP, -64
+ lvx 28, 0, 7
+ blr
+.size ppc_aes_gcmHASH, . - ppc_aes_gcmHASH
+
+################################################################################
+# Generates the final GCM tag
+# void ppc_aes_gcmTAG(uint8_t Htbl[16*8], uint8_t *Tp, uint64_t Mlen, uint64_t Alen, uint8_t* X0, uint8_t* TAG);
+.globl ppc_aes_gcmTAG
+.type ppc_aes_gcmTAG,@function
+.align 5
+ppc_aes_gcmTAG:
+addis TOCP,12,(.TOC.-ppc_aes_gcmTAG)@ha
+addi TOCP,TOCP,(.TOC.-ppc_aes_gcmTAG)@l
+.localentry ppc_aes_gcmTAG, .-ppc_aes_gcmTAG
+
+.set Htbl, 3
+.set Tp, 4
+.set Mlen, 5
+.set Alen, 6
+.set X0, 7
+.set TAG, 8
+
+.set SWAP_MASK, 0
+.set POLY, 1
+.set D, 2
+.set C0, 3
+.set C1, 4
+.set T, 5
+.set R, 6
+.set F, 7
+.set H1M, 8
+.set H1L, 9
+.set X, 10
+
+ VEC_LOAD_DATA SWAP_MASK, .Ldb_bswap_mask, 9
+ VEC_LOAD_DATA POLY, .Lpoly_r, 9
+
+ VEC_LOAD D, Tp, 0
+
+ # load table elements
+ li 9, 1*16
+ lxvd2x H1L+32, 0, Htbl
+ lxvd2x H1M+32, 9, Htbl
+
+ sldi Alen, Alen, 3
+ sldi Mlen, Mlen, 3
+ mtvrd C0, Alen
+ mtvrd C1, Mlen
+ xxmrghd C0+32, C0+32, C1+32
+
+ # previous digest combining
+ vxor C0, C0, D
+
+ # polynomial multiplication
+ vpmsumd F, H1L, C0
+ vpmsumd R, H1M, C0
+
+ # reduction
+ vpmsumd T, F, POLY
+ vsldoi D, F, F, 8
+ vxor R, R, T
+ vxor D, R, D
+
+ lxvd2x X+32, 0, X0
+ vperm D, D, D, SWAP_MASK
+ vxor X, X, D
+ stxvd2x X+32, 0, TAG
+
+ blr
+.size ppc_aes_gcmTAG, . - ppc_aes_gcmTAG
+
+################################################################################
+# Crypt only
+# void ppc_aes_gcmCRYPT(const uint8_t* PT, uint8_t* CT, uint64_t LEN, uint8_t *CTRP, uint32_t *KS, int NR);
+.globl ppc_aes_gcmCRYPT
+.type ppc_aes_gcmCRYPT,@function
+.align 5
+ppc_aes_gcmCRYPT:
+addis TOCP,12,(.TOC.-ppc_aes_gcmCRYPT)@ha
+addi TOCP,TOCP,(.TOC.-ppc_aes_gcmCRYPT)@l
+.localentry ppc_aes_gcmCRYPT, .-ppc_aes_gcmCRYPT
+
+.set PT, 3
+.set CT, 4
+.set LEN, 5
+.set CTRP, 6
+.set KS, 7
+.set NR, 8
+
+.set SWAP_MASK, 0
+.set K, 1
+.set CTR, 2
+.set CTR0, 3
+.set CTR1, 4
+.set CTR2, 5
+.set CTR3, 6
+.set CTR4, 7
+.set CTR5, 8
+.set CTR6, 9
+.set CTR7, 10
+.set ZERO, 11
+.set I1, 12
+.set I2, 13
+.set I3, 14
+.set I4, 15
+.set I5, 16
+.set I6, 17
+.set I7, 18
+.set I8, 19
+.set IN0, 24
+.set IN1, 25
+.set IN2, 26
+.set IN3, 27
+.set IN4, 28
+.set IN5, 29
+.set IN6, 30
+.set IN7, 31
+
+.macro ROUND_8
+ VEC_LOAD_INC K, KS, 10
+ vcipher CTR0, CTR0, K
+ vcipher CTR1, CTR1, K
+ vcipher CTR2, CTR2, K
+ vcipher CTR3, CTR3, K
+ vcipher CTR4, CTR4, K
+ vcipher CTR5, CTR5, K
+ vcipher CTR6, CTR6, K
+ vcipher CTR7, CTR7, K
+.endm
+
+.macro ROUND_4
+ VEC_LOAD_INC K, KS, 10
+ vcipher CTR0, CTR0, K
+ vcipher CTR1, CTR1, K
+ vcipher CTR2, CTR2, K
+ vcipher CTR3, CTR3, K
+.endm
+
+.macro ROUND_2
+ VEC_LOAD_INC K, KS, 10
+ vcipher CTR0, CTR0, K
+ vcipher CTR1, CTR1, K
+.endm
+
+.macro ROUND_1
+ VEC_LOAD_INC K, KS, 10
+ vcipher CTR0, CTR0, K
+.endm
+
+ # store non-volatile general registers
+ std 31,-8(SP);
+ std 30,-16(SP);
+ std 29,-24(SP);
+ std 28,-32(SP);
+ std 27,-40(SP);
+ std 26,-48(SP);
+ std 25,-56(SP);
+
+ # store non-volatile vector registers
+ addi 9, SP, -80
+ stvx 31, 0, 9
+ addi 9, SP, -96
+ stvx 30, 0, 9
+ addi 9, SP, -112
+ stvx 29, 0, 9
+ addi 9, SP, -128
+ stvx 28, 0, 9
+ addi 9, SP, -144
+ stvx 27, 0, 9
+ addi 9, SP, -160
+ stvx 26, 0, 9
+ addi 9, SP, -176
+ stvx 25, 0, 9
+ addi 9, SP, -192
+ stvx 24, 0, 9
+
+ VEC_LOAD_DATA SWAP_MASK, .Ldb_bswap_mask, 9
+
+ vxor ZERO, ZERO, ZERO
+ vspltisb I1, 1
+ vspltisb I2, 2
+ vspltisb I3, 3
+ vspltisb I4, 4
+ vspltisb I5, 5
+ vspltisb I6, 6
+ vspltisb I7, 7
+ vspltisb I8, 8
+ vsldoi I1, ZERO, I1, 1
+ vsldoi I2, ZERO, I2, 1
+ vsldoi I3, ZERO, I3, 1
+ vsldoi I4, ZERO, I4, 1
+ vsldoi I5, ZERO, I5, 1
+ vsldoi I6, ZERO, I6, 1
+ vsldoi I7, ZERO, I7, 1
+ vsldoi I8, ZERO, I8, 1
+
+ VEC_LOAD CTR, CTRP, 0
+
+ srdi. 9, LEN, 7
+ beq .Lctr_4x
+
+ mtctr 9
+
+ li 10, 0
+ li 25, 0x10
+ li 26, 0x20
+ li 27, 0x30
+ li 28, 0x40
+ li 29, 0x50
+ li 30, 0x60
+ li 31, 0x70
+
+.align 5
+.L8x_loop:
+ VEC_LOAD_INC K, KS, 10
+
+ vadduwm CTR1, CTR, I1
+ vadduwm CTR2, CTR, I2
+ vadduwm CTR3, CTR, I3
+ vadduwm CTR4, CTR, I4
+ vadduwm CTR5, CTR, I5
+ vadduwm CTR6, CTR, I6
+ vadduwm CTR7, CTR, I7
+
+ vxor CTR0, CTR, K
+ vxor CTR1, CTR1, K
+ vxor CTR2, CTR2, K
+ vxor CTR3, CTR3, K
+ vxor CTR4, CTR4, K
+ vxor CTR5, CTR5, K
+ vxor CTR6, CTR6, K
+ vxor CTR7, CTR7, K
+
+ ROUND_8
+ ROUND_8
+ ROUND_8
+ ROUND_8
+ ROUND_8
+ ROUND_8
+ ROUND_8
+ ROUND_8
+ ROUND_8
+ cmpwi NR, 10
+ beq .Llast_8
+ ROUND_8
+ ROUND_8
+ cmpwi NR, 12
+ beq .Llast_8
+ ROUND_8
+ ROUND_8
+
+.Llast_8:
+ VEC_LOAD K, KS, 10
+ vcipherlast CTR0, CTR0, K
+ vcipherlast CTR1, CTR1, K
+ vcipherlast CTR2, CTR2, K
+ vcipherlast CTR3, CTR3, K
+ vcipherlast CTR4, CTR4, K
+ vcipherlast CTR5, CTR5, K
+ vcipherlast CTR6, CTR6, K
+ vcipherlast CTR7, CTR7, K
+
+ lxvd2x IN0+32, 0, PT
+ lxvd2x IN1+32, 25, PT
+ lxvd2x IN2+32, 26, PT
+ lxvd2x IN3+32, 27, PT
+ lxvd2x IN4+32, 28, PT
+ lxvd2x IN5+32, 29, PT
+ lxvd2x IN6+32, 30, PT
+ lxvd2x IN7+32, 31, PT
+
+ vperm CTR0, CTR0, CTR0, SWAP_MASK
+ vperm CTR1, CTR1, CTR1, SWAP_MASK
+ vperm CTR2, CTR2, CTR2, SWAP_MASK
+ vperm CTR3, CTR3, CTR3, SWAP_MASK
+ vperm CTR4, CTR4, CTR4, SWAP_MASK
+ vperm CTR5, CTR5, CTR5, SWAP_MASK
+ vperm CTR6, CTR6, CTR6, SWAP_MASK
+ vperm CTR7, CTR7, CTR7, SWAP_MASK
+
+ vxor IN0, IN0, CTR0
+ vxor IN1, IN1, CTR1
+ vxor IN2, IN2, CTR2
+ vxor IN3, IN3, CTR3
+ vxor IN4, IN4, CTR4
+ vxor IN5, IN5, CTR5
+ vxor IN6, IN6, CTR6
+ vxor IN7, IN7, CTR7
+
+ stxvd2x IN0+32, 0, CT
+ stxvd2x IN1+32, 25, CT
+ stxvd2x IN2+32, 26, CT
+ stxvd2x IN3+32, 27, CT
+ stxvd2x IN4+32, 28, CT
+ stxvd2x IN5+32, 29, CT
+ stxvd2x IN6+32, 30, CT
+ stxvd2x IN7+32, 31, CT
+
+ vadduwm CTR, CTR, I8
+ addi PT, PT, 0x80
+ addi CT, CT, 0x80
+ bdnz .L8x_loop
+
+ clrldi LEN, LEN, 57
+
+.Lctr_4x:
+ srdi. 9, LEN, 6
+ beq .Lctr_2x
+
+ li 10, 0
+ li 29, 0x10
+ li 30, 0x20
+ li 31, 0x30
+
+ VEC_LOAD_INC K, KS, 10
+
+ vadduwm CTR1, CTR, I1
+ vadduwm CTR2, CTR, I2
+ vadduwm CTR3, CTR, I3
+
+ vxor CTR0, CTR, K
+ vxor CTR1, CTR1, K
+ vxor CTR2, CTR2, K
+ vxor CTR3, CTR3, K
+
+ ROUND_4
+ ROUND_4
+ ROUND_4
+ ROUND_4
+ ROUND_4
+ ROUND_4
+ ROUND_4
+ ROUND_4
+ ROUND_4
+ cmpwi NR, 10
+ beq .Llast_4
+ ROUND_4
+ ROUND_4
+ cmpwi NR, 12
+ beq .Llast_4
+ ROUND_4
+ ROUND_4
+
+.Llast_4:
+ VEC_LOAD K, KS, 10
+ vcipherlast CTR0, CTR0, K
+ vcipherlast CTR1, CTR1, K
+ vcipherlast CTR2, CTR2, K
+ vcipherlast CTR3, CTR3, K
+
+ lxvd2x IN0+32, 0, PT
+ lxvd2x IN1+32, 29, PT
+ lxvd2x IN2+32, 30, PT
+ lxvd2x IN3+32, 31, PT
+
+ vperm CTR0, CTR0, CTR0, SWAP_MASK
+ vperm CTR1, CTR1, CTR1, SWAP_MASK
+ vperm CTR2, CTR2, CTR2, SWAP_MASK
+ vperm CTR3, CTR3, CTR3, SWAP_MASK
+
+ vxor IN0, IN0, CTR0
+ vxor IN1, IN1, CTR1
+ vxor IN2, IN2, CTR2
+ vxor IN3, IN3, CTR3
+
+ stxvd2x IN0+32, 0, CT
+ stxvd2x IN1+32, 29, CT
+ stxvd2x IN2+32, 30, CT
+ stxvd2x IN3+32, 31, CT
+
+ vadduwm CTR, CTR, I4
+ addi PT, PT, 0x40
+ addi CT, CT, 0x40
+
+ clrldi LEN, LEN, 58
+
+.Lctr_2x:
+ srdi. 9, LEN, 5
+ beq .Lctr_1x
+
+ li 10, 0
+ li 31, 0x10
+
+ VEC_LOAD_INC K, KS, 10
+
+ vadduwm CTR1, CTR, I1
+
+ vxor CTR0, CTR, K
+ vxor CTR1, CTR1, K
+
+ ROUND_2
+ ROUND_2
+ ROUND_2
+ ROUND_2
+ ROUND_2
+ ROUND_2
+ ROUND_2
+ ROUND_2
+ ROUND_2
+ cmpwi NR, 10
+ beq .Llast_2
+ ROUND_2
+ ROUND_2
+ cmpwi NR, 12
+ beq .Llast_2
+ ROUND_2
+ ROUND_2
+
+.Llast_2:
+ VEC_LOAD K, KS, 10
+ vcipherlast CTR0, CTR0, K
+ vcipherlast CTR1, CTR1, K
+
+ lxvd2x IN0+32, 0, PT
+ lxvd2x IN1+32, 31, PT
+
+ vperm CTR0, CTR0, CTR0, SWAP_MASK
+ vperm CTR1, CTR1, CTR1, SWAP_MASK
+
+ vxor IN0, IN0, CTR0
+ vxor IN1, IN1, CTR1
+
+ stxvd2x IN0+32, 0, CT
+ stxvd2x IN1+32, 31, CT
+
+ vadduwm CTR, CTR, I2
+ addi PT, PT, 0x20
+ addi CT, CT, 0x20
+
+ clrldi LEN, LEN, 59
+
+.Lctr_1x:
+ srdi. 9, LEN, 4
+ beq .Lctr_tail
+
+ li 10, 0
+
+ VEC_LOAD_INC K, KS, 10
+ vxor CTR0, CTR, K
+
+ ROUND_1
+ ROUND_1
+ ROUND_1
+ ROUND_1
+ ROUND_1
+ ROUND_1
+ ROUND_1
+ ROUND_1
+ ROUND_1
+ cmpwi NR, 10
+ beq .Llast_1
+ ROUND_1
+ ROUND_1
+ cmpwi NR, 12
+ beq .Llast_1
+ ROUND_1
+ ROUND_1
+
+.Llast_1:
+ VEC_LOAD K, KS, 10
+ vcipherlast CTR0, CTR0, K
+
+ lxvd2x IN0+32, 0, PT
+
+ vperm CTR0, CTR0, CTR0, SWAP_MASK
+
+ vxor IN0, IN0, CTR0
+
+ stxvd2x IN0+32, 0, CT
+
+ vadduwm CTR, CTR, I1
+ addi PT, PT, 0x10
+ addi CT, CT, 0x10
+
+ clrldi LEN, LEN, 60
+
+.Lctr_tail:
+ cmpldi LEN, 0
+ beq .Lc_done
+
+ li 10, 0
+
+ VEC_LOAD_INC K, KS, 10
+ vxor CTR0, CTR, K
+
+ ROUND_1
+ ROUND_1
+ ROUND_1
+ ROUND_1
+ ROUND_1
+ ROUND_1
+ ROUND_1
+ ROUND_1
+ ROUND_1
+ cmpwi NR, 10
+ beq .Llast_tail
+ ROUND_1
+ ROUND_1
+ cmpwi NR, 12
+ beq .Llast_tail
+ ROUND_1
+ ROUND_1
+
+.Llast_tail:
+ VEC_LOAD K, KS, 10
+ vcipherlast CTR0, CTR0, K
+
+ LOAD_LEN PT, LEN, 10, 9, 29, 30, 31
+
+ vsldoi CTR1, CTR0, CTR0, 8
+ mfvrd 31, CTR0
+ mfvrd 30, CTR1
+
+ xor 10, 10, 31
+ xor 9, 9, 30
+
+ STORE_LEN CT, LEN, 10, 9, 29, 30, 31
+
+ vadduwm CTR, CTR, I1
+
+.Lc_done:
+ VEC_STORE CTR, CTRP, 0
+
+ # restore non-volatile vector registers
+ addi 9, SP, -80
+ lvx 31, 0, 9
+ addi 9, SP, -96
+ lvx 30, 0, 9
+ addi 9, SP, -112
+ lvx 29, 0, 9
+ addi 9, SP, -128
+ lvx 28, 0, 9
+ addi 9, SP, -144
+ lvx 27, 0, 9
+ addi 9, SP, -160
+ lvx 26, 0, 9
+ addi 9, SP, -176
+ lvx 25, 0, 9
+ addi 9, SP, -192
+ lvx 24, 0, 9
+
+ # restore non-volatile general registers
+ ld 31,-8(SP);
+ ld 30,-16(SP);
+ ld 29,-24(SP);
+ ld 28,-32(SP);
+ ld 27,-40(SP);
+ ld 26,-48(SP);
+ ld 25,-56(SP);
+ blr
+.size ppc_aes_gcmCRYPT, . - ppc_aes_gcmCRYPT
+
+.data
+.align 4
+.Lpoly:
+ .byte 1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0xc2
+.Lpoly_r:
+ .byte 0,0,0,0,0,0,0,0xc2,0,0,0,0,0,0,0,0
+.Ldb_bswap_mask:
+ .byte 8,9,10,11,12,13,14,15,0,1,2,3,4,5,6,7
diff --git a/security/nss/lib/freebl/rijndael.c b/security/nss/lib/freebl/rijndael.c
index 546731f9d0264..82b1f419d9adc 100644
--- a/security/nss/lib/freebl/rijndael.c
+++ b/security/nss/lib/freebl/rijndael.c
@@ -25,6 +25,10 @@
#undef USE_HW_AES
#endif
+#ifdef __powerpc64__
+#include "ppc-crypto.h"
+#endif
+
#ifdef USE_HW_AES
#ifdef NSS_X86_OR_X64
#include "intel-aes.h"
@@ -35,6 +39,9 @@
#ifdef INTEL_GCM
#include "intel-gcm.h"
#endif /* INTEL_GCM */
+#if defined(USE_PPC_CRYPTO) && defined(PPC_GCM)
+#include "ppc-gcm.h"
+#endif
/* Forward declarations */
void rijndael_native_key_expansion(AESContext *cx, const unsigned char *key,
@@ -1020,6 +1027,16 @@ AES_InitContext(AESContext *cx, const unsigned char *key, unsigned int keysize,
cx->destroy = (freeblDestroyFunc)intel_AES_GCM_DestroyContext;
cx->isBlock = PR_FALSE;
} else
+#elif defined(USE_PPC_CRYPTO) && defined(PPC_GCM)
+ if (ppc_crypto_support() && (keysize % 8) == 0) {
+ cx->worker_cx = ppc_AES_GCM_CreateContext(cx, cx->worker, iv);
+ cx->worker = (freeblCipherFunc)(encrypt ? ppc_AES_GCM_EncryptUpdate
+ : ppc_AES_GCM_DecryptUpdate);
+ cx->worker_aead = (freeblAeadFunc)(encrypt ? ppc_AES_GCM_EncryptAEAD
+ : ppc_AES_GCM_DecryptAEAD);
+ cx->destroy = (freeblDestroyFunc)ppc_AES_GCM_DestroyContext;
+ cx->isBlock = PR_FALSE;
+ } else
#endif
{
cx->worker_cx = GCM_CreateContext(cx, cx->worker, iv);
diff --git a/security/nss/lib/nss/nss.def b/security/nss/lib/nss/nss.def
index a79e56c7140d7..46bd41a60f2b4 100644
--- a/security/nss/lib/nss/nss.def
+++ b/security/nss/lib/nss/nss.def
@@ -1224,6 +1224,9 @@ PK11_HPKE_ImportContext;
;+ global:
PK11_CreateContextByPubKey;
PK11_CreateContextByPrivKey;
+PK11_ExportEncryptedPrivKeyInfoV2;
+PK11_ExportEncryptedPrivateKeyInfoV2;
+HASH_GetHMACOidTagByHashOidTag;
;+ local:
;+ *;
;+};
diff --git a/security/nss/lib/pk11wrap/pk11akey.c b/security/nss/lib/pk11wrap/pk11akey.c
index cada965c61f65..310d656627a58 100644
--- a/security/nss/lib/pk11wrap/pk11akey.c
+++ b/security/nss/lib/pk11wrap/pk11akey.c
@@ -1969,14 +1969,20 @@ PK11_ExportPrivateKeyInfo(CERTCertificate *cert, void *wincx)
return pki;
}
+/* V2 refers to PKCS #5 V2 here. If a PKCS #5 v1 or PKCS #12 pbe is passed
+ * for pbeTag, then encTag and hashTag are ignored. If pbe is an encryption
+ * algorithm, then PKCS #5 V2 is used with prfTag for the prf. If prfTag isn't
+ * supplied prf will be SEC_OID_HMAC_SHA1 */
SECKEYEncryptedPrivateKeyInfo *
-PK11_ExportEncryptedPrivKeyInfo(
+PK11_ExportEncryptedPrivKeyInfoV2(
PK11SlotInfo *slot, /* optional, encrypt key in this slot */
- SECOidTag algTag, /* encrypt key with this algorithm */
+ SECOidTag pbeAlg, /* PBE algorithm to encrypt the with key */
+ SECOidTag encAlg, /* Encryption algorithm to Encrypt the key with */
+ SECOidTag prfAlg, /* Hash algorithm for PRF */
SECItem *pwitem, /* password for PBE encryption */
SECKEYPrivateKey *pk, /* encrypt this private key */
int iteration, /* interations for PBE alg */
- void *wincx) /* context for password callback ? */
+ void *pwArg) /* context for password callback */
{
SECKEYEncryptedPrivateKeyInfo *epki = NULL;
PLArenaPool *arena = NULL;
@@ -1997,7 +2003,7 @@ PK11_ExportEncryptedPrivKeyInfo(
return NULL;
}
- algid = sec_pkcs5CreateAlgorithmID(algTag, SEC_OID_UNKNOWN, SEC_OID_UNKNOWN,
+ algid = sec_pkcs5CreateAlgorithmID(pbeAlg, encAlg, prfAlg,
&pbeAlgTag, 0, NULL, iteration);
if (algid == NULL) {
return NULL;
@@ -2026,7 +2032,7 @@ PK11_ExportEncryptedPrivKeyInfo(
slot = pk->pkcs11Slot;
}
}
- key = PK11_PBEKeyGen(slot, algid, pwitem, PR_FALSE, wincx);
+ key = PK11_PBEKeyGen(slot, algid, pwitem, PR_FALSE, pwArg);
if (key == NULL) {
rv = SECFailure;
goto loser;
@@ -2121,24 +2127,59 @@ PK11_ExportEncryptedPrivKeyInfo(
}
SECKEYEncryptedPrivateKeyInfo *
-PK11_ExportEncryptedPrivateKeyInfo(
+PK11_ExportEncryptedPrivKeyInfo(
+ PK11SlotInfo *slot, /* optional, encrypt key in this slot */
+ SECOidTag algTag, /* PBE algorithm to encrypt the with key */
+ SECItem *pwitem, /* password for PBE encryption */
+ SECKEYPrivateKey *pk, /* encrypt this private key */
+ int iteration, /* interations for PBE alg */
+ void *pwArg) /* context for password callback */
+{
+ return PK11_ExportEncryptedPrivKeyInfoV2(slot, algTag, SEC_OID_UNKNOWN,
+ SEC_OID_UNKNOWN, pwitem, pk,
+ iteration, pwArg);
+}
+
+/* V2 refers to PKCS #5 V2 here. If a PKCS #5 v1 or PKCS #12 pbe is passed
+ * for pbeTag, then encTag and hashTag are ignored. If pbe is an encryption
+ * algorithm, then PKCS #5 V2 is used with prfTag for the prf. If prfTag isn't
+ * supplied prf will be SEC_OID_HMAC_SHA1 */
+SECKEYEncryptedPrivateKeyInfo *
+PK11_ExportEncryptedPrivateKeyInfoV2(
PK11SlotInfo *slot, /* optional, encrypt key in this slot */
- SECOidTag algTag, /* encrypt key with this algorithm */
+ SECOidTag pbeAlg, /* PBE algorithm to encrypt the with key */
+ SECOidTag encAlg, /* Encryption algorithm to Encrypt the key with */
+ SECOidTag prfAlg, /* HMAC algorithm for PRF*/
SECItem *pwitem, /* password for PBE encryption */
CERTCertificate *cert, /* wrap priv key for this user cert */
int iteration, /* interations for PBE alg */
- void *wincx) /* context for password callback ? */
+ void *pwArg) /* context for password callback */
{
SECKEYEncryptedPrivateKeyInfo *epki = NULL;
- SECKEYPrivateKey *pk = PK11_FindKeyByAnyCert(cert, wincx);
+ SECKEYPrivateKey *pk = PK11_FindKeyByAnyCert(cert, pwArg);
if (pk != NULL) {
- epki = PK11_ExportEncryptedPrivKeyInfo(slot, algTag, pwitem, pk,
- iteration, wincx);
+ epki = PK11_ExportEncryptedPrivKeyInfoV2(slot, pbeAlg, encAlg, prfAlg,
+ pwitem, pk, iteration,
+ pwArg);
SECKEY_DestroyPrivateKey(pk);
}
return epki;
}
+SECKEYEncryptedPrivateKeyInfo *
+PK11_ExportEncryptedPrivateKeyInfo(
+ PK11SlotInfo *slot, /* optional, encrypt key in this slot */
+ SECOidTag algTag, /* encrypt key with this algorithm */
+ SECItem *pwitem, /* password for PBE encryption */
+ CERTCertificate *cert, /* wrap priv key for this user cert */
+ int iteration, /* interations for PBE alg */
+ void *pwArg) /* context for password callback */
+{
+ return PK11_ExportEncryptedPrivateKeyInfoV2(slot, algTag, SEC_OID_UNKNOWN,
+ SEC_OID_UNKNOWN, pwitem, cert,
+ iteration, pwArg);
+}
+
SECItem *
PK11_DEREncodePublicKey(const SECKEYPublicKey *pubk)
{
diff --git a/security/nss/lib/pk11wrap/pk11hpke.c b/security/nss/lib/pk11wrap/pk11hpke.c
index 626989fd32ea5..d867e1b6a02f1 100644
--- a/security/nss/lib/pk11wrap/pk11hpke.c
+++ b/security/nss/lib/pk11wrap/pk11hpke.c
@@ -18,97 +18,9 @@
#include "secmodti.h"
#include "secutil.h"
-#ifndef NSS_ENABLE_DRAFT_HPKE
-/* "Not Implemented" stubs to maintain the ABI. */
-SECStatus
-PK11_HPKE_ValidateParameters(HpkeKemId kemId, HpkeKdfId kdfId, HpkeAeadId aeadId)
-{
- PORT_SetError(SEC_ERROR_INVALID_ALGORITHM);
- return SECFailure;
-}
-HpkeContext *
-PK11_HPKE_NewContext(HpkeKemId kemId, HpkeKdfId kdfId, HpkeAeadId aeadId,
- PK11SymKey *psk, const SECItem *pskId)
-{
-
- PORT_SetError(SEC_ERROR_INVALID_ALGORITHM);
- return NULL;
-}
-SECStatus
-PK11_HPKE_Deserialize(const HpkeContext *cx, const PRUint8 *enc,
- unsigned int encLen, SECKEYPublicKey **outPubKey)
-{
- PORT_SetError(SEC_ERROR_INVALID_ALGORITHM);
- return SECFailure;
-}
-void
-PK11_HPKE_DestroyContext(HpkeContext *cx, PRBool freeit)
-{
- PORT_SetError(SEC_ERROR_INVALID_ALGORITHM);
-}
-const SECItem *
-PK11_HPKE_GetEncapPubKey(const HpkeContext *cx)
-{
- PORT_SetError(SEC_ERROR_INVALID_ALGORITHM);
- return NULL;
-}
-SECStatus
-PK11_HPKE_ExportContext(const HpkeContext *cx, PK11SymKey *wrapKey, SECItem **serialized)
-{
- PORT_SetError(SEC_ERROR_INVALID_ALGORITHM);
- return SECFailure;
-}
-SECStatus
-PK11_HPKE_ExportSecret(const HpkeContext *cx, const SECItem *info,
- unsigned int L, PK11SymKey **outKey)
-{
- PORT_SetError(SEC_ERROR_INVALID_ALGORITHM);
- return SECFailure;
-}
-HpkeContext *
-PK11_HPKE_ImportContext(const SECItem *serialized, PK11SymKey *wrapKey)
-{
- PORT_SetError(SEC_ERROR_INVALID_ALGORITHM);
- return NULL;
-}
-SECStatus
-PK11_HPKE_Open(HpkeContext *cx, const SECItem *aad, const SECItem *ct,
- SECItem **outPt)
-{
- PORT_SetError(SEC_ERROR_INVALID_ALGORITHM);
- return SECFailure;
-}
-SECStatus
-PK11_HPKE_Seal(HpkeContext *cx, const SECItem *aad, const SECItem *pt, SECItem **outCt)
-{
- PORT_SetError(SEC_ERROR_INVALID_ALGORITHM);
- return SECFailure;
-}
-SECStatus
-PK11_HPKE_Serialize(const SECKEYPublicKey *pk, PRUint8 *buf, unsigned int *len, unsigned int maxLen)
-{
- PORT_SetError(SEC_ERROR_INVALID_ALGORITHM);
- return SECFailure;
-}
-SECStatus
-PK11_HPKE_SetupS(HpkeContext *cx, const SECKEYPublicKey *pkE, SECKEYPrivateKey *skE,
- SECKEYPublicKey *pkR, const SECItem *info)
-{
- PORT_SetError(SEC_ERROR_INVALID_ALGORITHM);
- return SECFailure;
-}
-SECStatus
-PK11_HPKE_SetupR(HpkeContext *cx, const SECKEYPublicKey *pkR, SECKEYPrivateKey *skR,
- const SECItem *enc, const SECItem *info)
-{
- PORT_SetError(SEC_ERROR_INVALID_ALGORITHM);
- return SECFailure;
-}
-
-#else
-#define SERIALIZATION_VERSION 1
+#define SERIALIZATION_VERSION 2
-static const char *DRAFT_LABEL = "HPKE-07";
+static const char *V1_LABEL = "HPKE-v1";
static const char *EXP_LABEL = "exp";
static const char *HPKE_LABEL = "HPKE";
static const char *INFO_LABEL = "info_hash";
@@ -142,17 +54,18 @@ static const hpkeKemParams kemParams[] = {
{ HpkeDhKemX25519Sha256, 32, 32, 32, SEC_OID_CURVE25519, CKM_SHA256 },
};
-#define MAX_WRAPPED_EXP_LEN 72 // Largest kdfParams->Nh + 8
+#define MAX_WRAPPED_EXP_LEN 72 // Largest kdfParams->Nh + 8
static const hpkeKdfParams kdfParams[] = {
/* KDF, Nh, mechanism */
{ HpkeKdfHkdfSha256, SHA256_LENGTH, CKM_SHA256 },
{ HpkeKdfHkdfSha384, SHA384_LENGTH, CKM_SHA384 },
{ HpkeKdfHkdfSha512, SHA512_LENGTH, CKM_SHA512 },
};
-#define MAX_WRAPPED_KEY_LEN 40 // Largest aeadParams->Nk + 8
+#define MAX_WRAPPED_KEY_LEN 40 // Largest aeadParams->Nk + 8
static const hpkeAeadParams aeadParams[] = {
/* AEAD, Nk, Nn, tagLen, mechanism */
{ HpkeAeadAes128Gcm, 16, 12, 16, CKM_AES_GCM },
+ { HpkeAeadAes256Gcm, 32, 12, 16, CKM_AES_GCM },
{ HpkeAeadChaCha20Poly1305, 32, 12, 16, CKM_CHACHA20_POLY1305 },
};
@@ -188,8 +101,10 @@ aeadId2Params(HpkeAeadId aeadId)
switch (aeadId) {
case HpkeAeadAes128Gcm:
return &aeadParams[0];
- case HpkeAeadChaCha20Poly1305:
+ case HpkeAeadAes256Gcm:
return &aeadParams[1];
+ case HpkeAeadChaCha20Poly1305:
+ return &aeadParams[2];
default:
return NULL;
}
@@ -320,7 +235,6 @@ PK11_HPKE_DestroyContext(HpkeContext *cx, PRBool freeit)
/* Export Format:
struct {
uint8 serilizationVersion;
- uint8 hpkeVersion;
uint16 kemId;
uint16 kdfId;
uint16 aeadId;
@@ -332,7 +246,7 @@ PK11_HPKE_DestroyContext(HpkeContext *cx, PRBool freeit)
opaque exporterSecret<1..2^16-1>;
} HpkeSerializedContext
*/
-#define EXPORTED_CTX_BASE_LEN 26 /* Fixed size plus 2B for each variable. */
+#define EXPORTED_CTX_BASE_LEN 25 /* Fixed size plus 2B for each variable. */
#define REMAINING_BYTES(walker, buf) \
buf->len - (walker - buf->data)
SECStatus
@@ -388,7 +302,6 @@ PK11_HPKE_ExportContext(const HpkeContext *cx, PK11SymKey *wrapKey, SECItem **se
walker = &serializedCx->data[0];
*(walker)++ = (PRUint8)SERIALIZATION_VERSION;
- *(walker)++ = (PRUint8)HPKE_DRAFT_VERSION;
walker = encodeNumber(cx->kemParams->id, walker, 2);
walker = encodeNumber(cx->kdfParams->id, walker, 2);
@@ -451,8 +364,6 @@ PK11_HPKE_ImportContext(const SECItem *serialized, PK11SymKey *wrapKey)
tmp8 = *(walker++);
CHECK_FAIL_ERR((tmp8 != SERIALIZATION_VERSION), SEC_ERROR_BAD_DATA);
- tmp8 = *(walker++);
- CHECK_FAIL_ERR((tmp8 != HPKE_DRAFT_VERSION), SEC_ERROR_INVALID_ALGORITHM);
walker = decodeNumber(&tmpn, walker, 2);
kem = (HpkeKemId)tmpn;
@@ -745,7 +656,7 @@ pk11_hpke_LabeledExtractData(const HpkeContext *cx, SECItem *salt,
sizeof(params) };
PORT_Assert(cx && ikm && label && labelLen && out && suiteId);
- labeledIkm = pk11_hpke_MakeExtractLabel(DRAFT_LABEL, strlen(DRAFT_LABEL), label, labelLen, suiteId, ikm);
+ labeledIkm = pk11_hpke_MakeExtractLabel(V1_LABEL, strlen(V1_LABEL), label, labelLen, suiteId, ikm);
CHECK_FAIL(!labeledIkm);
params.bExtract = CK_TRUE;
params.bExpand = CK_FALSE;
@@ -800,7 +711,7 @@ pk11_hpke_LabeledExtract(const HpkeContext *cx, PK11SymKey *salt,
sizeof(params) };
PORT_Assert(cx && ikm && label && labelLen && out && suiteId);
- innerLabel = pk11_hpke_MakeExtractLabel(DRAFT_LABEL, strlen(DRAFT_LABEL), label, labelLen, suiteId, NULL);
+ innerLabel = pk11_hpke_MakeExtractLabel(V1_LABEL, strlen(V1_LABEL), label, labelLen, suiteId, NULL);
CHECK_FAIL(!innerLabel);
labelData.pData = innerLabel->data;
labelData.ulLen = innerLabel->len;
@@ -849,15 +760,15 @@ pk11_hpke_LabeledExpand(const HpkeContext *cx, PK11SymKey *prk, const SECItem *s
walker = encodeNumber(L, walker, 2);
len = info ? info->len : 0;
- len += sizeof(encodedL) + strlen(DRAFT_LABEL) + suiteId->len + labelLen;
+ len += sizeof(encodedL) + strlen(V1_LABEL) + suiteId->len + labelLen;
labeledInfoItem = SECITEM_AllocItem(NULL, NULL, len);
CHECK_FAIL(!labeledInfoItem);
walker = labeledInfoItem->data;
PORT_Memcpy(walker, encodedL, sizeof(encodedL));
walker += sizeof(encodedL);
- PORT_Memcpy(walker, DRAFT_LABEL, strlen(DRAFT_LABEL));
- walker += strlen(DRAFT_LABEL);
+ PORT_Memcpy(walker, V1_LABEL, strlen(V1_LABEL));
+ walker += strlen(V1_LABEL);
PORT_Memcpy(walker, suiteId->data, suiteId->len);
walker += suiteId->len;
PORT_Memcpy(walker, label, labelLen);
@@ -1362,5 +1273,3 @@ PK11_HPKE_Open(HpkeContext *cx, const SECItem *aad,
}
return rv;
}
-
-#endif // NSS_ENABLE_DRAFT_HPKE
diff --git a/security/nss/lib/pk11wrap/pk11hpke.h b/security/nss/lib/pk11wrap/pk11hpke.h
index e86d235b43d48..51132817f63f7 100644
--- a/security/nss/lib/pk11wrap/pk11hpke.h
+++ b/security/nss/lib/pk11wrap/pk11hpke.h
@@ -8,9 +8,6 @@
#include "blapit.h"
#include "seccomon.h"
-#ifdef NSS_ENABLE_DRAFT_HPKE
-#define HPKE_DRAFT_VERSION 7
-
#define CLEANUP \
PORT_Assert(rv == SECSuccess); \
cleanup
@@ -35,14 +32,12 @@
goto cleanup; \
}
-#endif /* NSS_ENABLE_DRAFT_HPKE */
-
typedef enum {
HpkeModeBase = 0,
HpkeModePsk = 1,
} HpkeModeId;
-/* https://tools.ietf.org/html/draft-irtf-cfrg-hpke-07#section-7.1 */
+/* https://datatracker.ietf.org/doc/html/draft-irtf-cfrg-hpke-08#section-7.1 */
typedef enum {
HpkeDhKemX25519Sha256 = 0x20,
} HpkeKemId;
@@ -55,6 +50,7 @@ typedef enum {
typedef enum {
HpkeAeadAes128Gcm = 1,
+ HpkeAeadAes256Gcm = 2,
HpkeAeadChaCha20Poly1305 = 3,
} HpkeAeadId;
diff --git a/security/nss/lib/pk11wrap/pk11pub.h b/security/nss/lib/pk11wrap/pk11pub.h
index 559fc3c661d47..53350f76d10ea 100644
--- a/security/nss/lib/pk11wrap/pk11pub.h
+++ b/security/nss/lib/pk11wrap/pk11pub.h
@@ -627,10 +627,20 @@ SECKEYPrivateKeyInfo *PK11_ExportPrivateKeyInfo(
CERTCertificate *cert, void *wincx);
SECKEYEncryptedPrivateKeyInfo *PK11_ExportEncryptedPrivKeyInfo(
PK11SlotInfo *slot, SECOidTag algTag, SECItem *pwitem,
- SECKEYPrivateKey *pk, int iteration, void *wincx);
+ SECKEYPrivateKey *pk, int iteration, void *pwArg);
SECKEYEncryptedPrivateKeyInfo *PK11_ExportEncryptedPrivateKeyInfo(
PK11SlotInfo *slot, SECOidTag algTag, SECItem *pwitem,
- CERTCertificate *cert, int iteration, void *wincx);
+ CERTCertificate *cert, int iteration, void *pwArg);
+/* V2 refers to PKCS #5 V2 here. If a PKCS #5 v1 or PKCS #12 pbe is passed
+ * for pbeTag, then encTag and hashTag are ignored. If pbe is an encryption
+ * algorithm, then PKCS #5 V2 is used with prfTag for the prf. If prfTag isn't
+ * supplied prf will be SEC_OID_HMAC_SHA1 */
+SECKEYEncryptedPrivateKeyInfo *PK11_ExportEncryptedPrivKeyInfoV2(
+ PK11SlotInfo *slot, SECOidTag pbeTag, SECOidTag encTag, SECOidTag prfTag,
+ SECItem *pwitem, SECKEYPrivateKey *pk, int iteration, void *pwArg);
+SECKEYEncryptedPrivateKeyInfo *PK11_ExportEncryptedPrivateKeyInfoV2(
+ PK11SlotInfo *slot, SECOidTag pbeTag, SECOidTag encTag, SECOidTag prfTag,
+ SECItem *pwitem, CERTCertificate *cert, int iteration, void *pwArg);
SECKEYPrivateKey *PK11_FindKeyByDERCert(PK11SlotInfo *slot,
CERTCertificate *cert, void *wincx);
SECKEYPublicKey *PK11_MakeKEAPubKey(unsigned char *data, int length);
@@ -728,14 +738,8 @@ CK_BBOOL PK11_HasAttributeSet(PK11SlotInfo *slot,
PRBool haslock /* must be set to PR_FALSE */);
/**********************************************************************
- * Hybrid Public Key Encryption (draft-07)
+ * Hybrid Public Key Encryption
**********************************************************************/
-/*
- * NOTE: All HPKE functions will fail with SEC_ERROR_INVALID_ALGORITHM
- * unless NSS is compiled with NSS_ENABLE_DRAFT_HPKE while spec (and
- * implementation) is in draft. The eventual RFC number is an input to
- * the key schedule, so applications opting into this MUST be prepared for
- * outputs to change when the implementation is updated or finalized. */
/* Some of the various HPKE arguments would ideally be const, but the
* underlying PK11 functions take them as non-const. To avoid lying to
diff --git a/security/nss/lib/pkcs12/p12d.c b/security/nss/lib/pkcs12/p12d.c
index fae1626576030..676f33b31918e 100644
--- a/security/nss/lib/pkcs12/p12d.c
+++ b/security/nss/lib/pkcs12/p12d.c
@@ -1353,32 +1353,10 @@ sec_pkcs12_decoder_verify_mac(SEC_PKCS12DecoderContext *p12dcx)
iteration);
algtag = SECOID_GetAlgorithmTag(&p12dcx->macData.safeMac.digestAlgorithm);
- switch (algtag) {
- case SEC_OID_SHA1:
- integrityMech = CKM_NSS_PBE_SHA1_HMAC_KEY_GEN;
- break;
- case SEC_OID_MD5:
- integrityMech = CKM_NSS_PBE_MD5_HMAC_KEY_GEN;
- break;
- case SEC_OID_MD2:
- integrityMech = CKM_NSS_PBE_MD2_HMAC_KEY_GEN;
- break;
- case SEC_OID_SHA224:
- integrityMech = CKM_NSS_PKCS12_PBE_SHA224_HMAC_KEY_GEN;
- break;
- case SEC_OID_SHA256:
- integrityMech = CKM_NSS_PKCS12_PBE_SHA256_HMAC_KEY_GEN;
- break;
- case SEC_OID_SHA384:
- integrityMech = CKM_NSS_PKCS12_PBE_SHA384_HMAC_KEY_GEN;
- break;
- case SEC_OID_SHA512:
- integrityMech = CKM_NSS_PKCS12_PBE_SHA512_HMAC_KEY_GEN;
- break;
- default:
- goto loser;
+ integrityMech = sec_pkcs12_algtag_to_keygen_mech(algtag);
+ if (integrityMech == CKM_INVALID_MECHANISM) {
+ goto loser;
}
-
symKey = PK11_KeyGen(NULL, integrityMech, params, 0, NULL);
PK11_DestroyPBEParams(params);
params = NULL;
diff --git a/security/nss/lib/pkcs12/p12e.c b/security/nss/lib/pkcs12/p12e.c
index 7e476e95fd9e6..2b8654698b270 100644
--- a/security/nss/lib/pkcs12/p12e.c
+++ b/security/nss/lib/pkcs12/p12e.c
@@ -14,6 +14,7 @@
#include "secpkcs7.h"
#include "secasn1.h"
#include "secerr.h"
+#include "sechash.h"
#include "pk11func.h"
#include "p12plcy.h"
#include "p12local.h"
@@ -379,11 +380,18 @@ SEC_PKCS12CreatePasswordPrivSafe(SEC_PKCS12ExportContext *p12ctxt,
safeInfo->itemCount = 0;
/* create the encrypted safe */
- if (!SEC_PKCS5IsAlgorithmPBEAlgTag(privAlg) &&
- PK11_AlgtagToMechanism(privAlg) == CKM_AES_CBC) {
+ if (!SEC_PKCS5IsAlgorithmPBEAlgTag(privAlg)) {
+ SECOidTag prfAlg = SEC_OID_UNKNOWN;
+ /* if we have password integrity set, use that to set the integrity
+ * hash algorithm to set our password PRF. If we haven't set it, just
+ * let the low level code pick it */
+ if (p12ctxt->integrityEnabled && p12ctxt->pwdIntegrity) {
+ prfAlg = HASH_GetHMACOidTagByHashOidTag(
+ p12ctxt->integrityInfo.pwdInfo.algorithm);
+ }
safeInfo->cinfo = SEC_PKCS7CreateEncryptedDataWithPBEV2(SEC_OID_PKCS5_PBES2,
privAlg,
- SEC_OID_UNKNOWN,
+ prfAlg,
0,
p12ctxt->pwfn,
p12ctxt->pwfnarg);
@@ -1213,6 +1221,7 @@ SEC_PKCS12AddKeyForCert(SEC_PKCS12ExportContext *p12ctxt, SEC_PKCS12SafeInfo *sa
/* extract the key encrypted */
SECKEYEncryptedPrivateKeyInfo *epki = NULL;
PK11SlotInfo *slot = NULL;
+ SECOidTag prfAlg = SEC_OID_UNKNOWN;
if (!sec_pkcs12_encode_password(p12ctxt->arena, &uniPwitem, algorithm,
pwitem)) {
@@ -1220,6 +1229,14 @@ SEC_PKCS12AddKeyForCert(SEC_PKCS12ExportContext *p12ctxt, SEC_PKCS12SafeInfo *sa
goto loser;
}
+ /* if we have password integrity set, use that to set the integrity
+ * hash algorithm to set our password PRF. If we haven't set it, just
+ * let the low level code pick it */
+ if (p12ctxt->integrityEnabled && p12ctxt->pwdIntegrity) {
+ prfAlg = HASH_GetHMACOidTagByHashOidTag(
+ p12ctxt->integrityInfo.pwdInfo.algorithm);
+ }
+
/* we want to make sure to take the key out of the key slot */
if (PK11_IsInternal(p12ctxt->slot)) {
slot = PK11_GetInternalKeySlot();
@@ -1227,10 +1244,15 @@ SEC_PKCS12AddKeyForCert(SEC_PKCS12ExportContext *p12ctxt, SEC_PKCS12SafeInfo *sa
slot = PK11_ReferenceSlot(p12ctxt->slot);
}
- epki = PK11_ExportEncryptedPrivateKeyInfo(slot, algorithm,
- &uniPwitem, cert,
- NSS_PBE_DEFAULT_ITERATION_COUNT,
- p12ctxt->wincx);
+ /* passing algorithm as the pbe will force the PBE code to
+ * automatically handle the selection between using the algorithm
+ * as a the pbe algorithm, or using the algorithm as a cipher
+ * and building a pkcs5 pbe */
+ epki = PK11_ExportEncryptedPrivateKeyInfoV2(slot, algorithm,
+ SEC_OID_UNKNOWN, prfAlg,
+ &uniPwitem, cert,
+ NSS_PBE_DEFAULT_ITERATION_COUNT,
+ p12ctxt->wincx);
PK11_FreeSlot(slot);
if (!epki) {
PORT_SetError(SEC_ERROR_PKCS12_UNABLE_TO_EXPORT_KEY);
@@ -1595,18 +1617,10 @@ sec_pkcs12_encoder_start_context(SEC_PKCS12ExportContext *p12exp)
SECITEM_ZfreeItem(&pwd, PR_FALSE);
/* get the PBA Mechanism to generate the key */
- switch (p12exp->integrityInfo.pwdInfo.algorithm) {
- case SEC_OID_SHA1:
- integrityMechType = CKM_PBA_SHA1_WITH_SHA1_HMAC;
- break;
- case SEC_OID_MD5:
- integrityMechType = CKM_NSS_PBE_MD5_HMAC_KEY_GEN;
- break;
- case SEC_OID_MD2:
- integrityMechType = CKM_NSS_PBE_MD2_HMAC_KEY_GEN;
- break;
- default:
- goto loser;
+ integrityMechType = sec_pkcs12_algtag_to_keygen_mech(
+ p12exp->integrityInfo.pwdInfo.algorithm);
+ if (integrityMechType == CKM_INVALID_MECHANISM) {
+ goto loser;
}
/* generate the key */
@@ -1837,7 +1851,8 @@ sec_pkcs12_encoder_asafe_process(sec_PKCS12EncoderContext *p12ecx)
static SECStatus
sec_Pkcs12FinishMac(sec_PKCS12EncoderContext *p12ecx)
{
- SECItem hmac = { siBuffer, NULL, 0 };
+ unsigned char hmacData[HASH_LENGTH_MAX];
+ unsigned int hmacLen;
SECStatus rv;
SGNDigestInfo *di = NULL;
void *dummy;
@@ -1856,13 +1871,8 @@ sec_Pkcs12FinishMac(sec_PKCS12EncoderContext *p12ecx)
}
/* finish the hmac */
- hmac.data = (unsigned char *)PORT_ZAlloc(SHA1_LENGTH);
- if (!hmac.data) {
- PORT_SetError(SEC_ERROR_NO_MEMORY);
- return SECFailure;
- }
- rv = PK11_DigestFinal(p12ecx->hmacCx, hmac.data, &hmac.len, SHA1_LENGTH);
+ rv = PK11_DigestFinal(p12ecx->hmacCx, hmacData, &hmacLen, HASH_LENGTH_MAX);
if (rv != SECSuccess) {
PORT_SetError(SEC_ERROR_NO_MEMORY);
@@ -1871,7 +1881,7 @@ sec_Pkcs12FinishMac(sec_PKCS12EncoderContext *p12ecx)
/* create the digest info */
di = SGN_CreateDigestInfo(p12ecx->p12exp->integrityInfo.pwdInfo.algorithm,
- hmac.data, hmac.len);
+ hmacData, hmacLen);
if (!di) {
PORT_SetError(SEC_ERROR_NO_MEMORY);
rv = SECFailure;
@@ -1896,11 +1906,9 @@ sec_Pkcs12FinishMac(sec_PKCS12EncoderContext *p12ecx)
if (di) {
SGN_DestroyDigestInfo(di);
}
- if (hmac.data) {
- SECITEM_ZfreeItem(&hmac, PR_FALSE);
- }
PK11_DestroyContext(p12ecx->hmacCx, PR_TRUE);
p12ecx->hmacCx = NULL;
+ PORT_Memset(hmacData, 0, hmacLen);
return rv;
}
diff --git a/security/nss/lib/pkcs12/p12local.c b/security/nss/lib/pkcs12/p12local.c
index 53e3aa6bb6699..900a0dbce7085 100644
--- a/security/nss/lib/pkcs12/p12local.c
+++ b/security/nss/lib/pkcs12/p12local.c
@@ -44,6 +44,37 @@ sec_pkcs12_algtag_to_mech(SECOidTag algtag)
return CKM_INVALID_MECHANISM;
}
+CK_MECHANISM_TYPE
+sec_pkcs12_algtag_to_keygen_mech(SECOidTag algtag)
+{
+ switch (algtag) {
+ case SEC_OID_SHA1:
+ return CKM_NSS_PBE_SHA1_HMAC_KEY_GEN;
+ break;
+ case SEC_OID_MD5:
+ return CKM_NSS_PBE_MD5_HMAC_KEY_GEN;
+ break;
+ case SEC_OID_MD2:
+ return CKM_NSS_PBE_MD2_HMAC_KEY_GEN;
+ break;
+ case SEC_OID_SHA224:
+ return CKM_NSS_PKCS12_PBE_SHA224_HMAC_KEY_GEN;
+ break;
+ case SEC_OID_SHA256:
+ return CKM_NSS_PKCS12_PBE_SHA256_HMAC_KEY_GEN;
+ break;
+ case SEC_OID_SHA384:
+ return CKM_NSS_PKCS12_PBE_SHA384_HMAC_KEY_GEN;
+ break;
+ case SEC_OID_SHA512:
+ return CKM_NSS_PKCS12_PBE_SHA512_HMAC_KEY_GEN;
+ break;
+ default:
+ break;
+ }
+ return CKM_INVALID_MECHANISM;
+}
+
/* helper functions */
/* returns proper bag type template based upon object type tag */
const SEC_ASN1Template *
diff --git a/security/nss/lib/pkcs12/p12local.h b/security/nss/lib/pkcs12/p12local.h
index 06a56d13b9db6..99068e21efff4 100644
--- a/security/nss/lib/pkcs12/p12local.h
+++ b/security/nss/lib/pkcs12/p12local.h
@@ -38,6 +38,7 @@ extern PRBool sec_pkcs12_convert_item_to_unicode(PLArenaPool *arena, SECItem *de
SECItem *src, PRBool zeroTerm,
PRBool asciiConvert, PRBool toUnicode);
extern CK_MECHANISM_TYPE sec_pkcs12_algtag_to_mech(SECOidTag algtag);
+extern CK_MECHANISM_TYPE sec_pkcs12_algtag_to_keygen_mech(SECOidTag algtag);
/* create functions */
extern SEC_PKCS12PFXItem *sec_pkcs12_new_pfx(void);
diff --git a/security/nss/lib/pkcs12/p12plcy.c b/security/nss/lib/pkcs12/p12plcy.c
index 97970abc4d8e5..394e07be502d4 100644
--- a/security/nss/lib/pkcs12/p12plcy.c
+++ b/security/nss/lib/pkcs12/p12plcy.c
@@ -6,6 +6,7 @@
#include "secoid.h"
#include "secport.h"
#include "secpkcs5.h"
+#include "secerr.h"
#define PKCS12_NULL 0x0000
@@ -32,31 +33,32 @@ static pkcs12SuiteMap pkcs12SuiteMaps[] = {
};
/* determine if algid is an algorithm which is allowed */
+static PRBool
+sec_PKCS12Allowed(SECOidTag alg)
+{
+ PRUint32 policy;
+ SECStatus rv;
+
+ rv = NSS_GetAlgorithmPolicy(alg, &policy);
+ if (rv != SECSuccess) {
+ return PR_FALSE;
+ }
+ if (policy & NSS_USE_ALG_IN_PKCS12) {
+ return PR_TRUE;
+ }
+ return PR_FALSE;
+}
+
PRBool
SEC_PKCS12DecryptionAllowed(SECAlgorithmID *algid)
{
- unsigned int keyLengthBits;
SECOidTag algId;
- int i;
algId = SEC_PKCS5GetCryptoAlgorithm(algid);
if (algId == SEC_OID_UNKNOWN) {
return PR_FALSE;
}
-
- keyLengthBits = (unsigned int)(SEC_PKCS5GetKeyLength(algid) * 8);
-
- i = 0;
- while (pkcs12SuiteMaps[i].algTag != SEC_OID_UNKNOWN) {
- if ((pkcs12SuiteMaps[i].algTag == algId) &&
- (pkcs12SuiteMaps[i].keyLengthBits == keyLengthBits)) {
-
- return pkcs12SuiteMaps[i].allowed;
- }
- i++;
- }
-
- return PR_FALSE;
+ return sec_PKCS12Allowed(algId);
}
/* is any encryption allowed? */
@@ -65,61 +67,45 @@ SEC_PKCS12IsEncryptionAllowed(void)
{
int i;
- i = 0;
- while (pkcs12SuiteMaps[i].algTag != SEC_OID_UNKNOWN) {
- if (pkcs12SuiteMaps[i].allowed == PR_TRUE) {
+ for (i = 0; pkcs12SuiteMaps[i].algTag != SEC_OID_UNKNOWN; i++) {
+ /* we're going to return true here if any of the traditional
+ * algorithms are enabled */
+ if (sec_PKCS12Allowed(pkcs12SuiteMaps[i].algTag)) {
return PR_TRUE;
}
- i++;
}
return PR_FALSE;
}
+/* keep the traditional enable/disable for old ciphers so old applications
+ * continue to work. This only works for the traditional pkcs12 values,
+ * you need to use NSS_SetAlgorithmPolicy directly for other ciphers. */
SECStatus
SEC_PKCS12EnableCipher(long which, int on)
{
int i;
+ SECStatus rv;
+ PRUint32 set = on ? NSS_USE_ALG_IN_PKCS12 : 0;
+ PRUint32 clear = on ? 0 : NSS_USE_ALG_IN_PKCS12;
- i = 0;
- while (pkcs12SuiteMaps[i].suite != 0L) {
+ for (i = 0; pkcs12SuiteMaps[i].suite != 0L; i++) {
if (pkcs12SuiteMaps[i].suite == (unsigned long)which) {
- if (on) {
- pkcs12SuiteMaps[i].allowed = PR_TRUE;
- } else {
- pkcs12SuiteMaps[i].allowed = PR_FALSE;
+ rv = NSS_SetAlgorithmPolicy(pkcs12SuiteMaps[i].algTag, set, clear);
+ /* could fail if the policy has been locked */
+ if (rv != SECSuccess) {
+ return rv;
}
- return SECSuccess;
}
- i++;
}
-
+ PORT_SetError(SEC_ERROR_INVALID_ALGORITHM);
return SECFailure;
}
SECStatus
SEC_PKCS12SetPreferredCipher(long which, int on)
{
- int i;
- PRBool turnedOff = PR_FALSE;
- PRBool turnedOn = PR_FALSE;
-
- i = 0;
- while (pkcs12SuiteMaps[i].suite != 0L) {
- if (pkcs12SuiteMaps[i].preferred == PR_TRUE) {
- pkcs12SuiteMaps[i].preferred = PR_FALSE;
- turnedOff = PR_TRUE;
- }
- if (pkcs12SuiteMaps[i].suite == (unsigned long)which) {
- pkcs12SuiteMaps[i].preferred = PR_TRUE;
- turnedOn = PR_TRUE;
- }
- i++;
- }
-
- if ((turnedOn) && (turnedOff)) {
- return SECSuccess;
- }
-
- return SECFailure;
+ /* nothing looked at the preferences in the suite maps, so this function
+ * has always been a noop */
+ return SECSuccess;
}
diff --git a/security/nss/lib/ssl/sslexp.h b/security/nss/lib/ssl/sslexp.h
index 8bacc6b4217d2..6c84a20541cba 100644
--- a/security/nss/lib/ssl/sslexp.h
+++ b/security/nss/lib/ssl/sslexp.h
@@ -10,6 +10,7 @@
#include "ssl.h"
#include "sslerr.h"
+#include "pk11hpke.h"
SEC_BEGIN_PROTOS
@@ -566,30 +567,33 @@ typedef SECStatus(PR_CALLBACK *SSLResumptionTokenCallback)(
/*
* Generate an encoded ECHConfig structure (presumably server side).
*
+ * configId -- an identifier for the configuration.
* publicName -- the public_name value to be placed in SNI.
- * hpkeSuites -- the HPKE cipher suites that can be used
- * hpkeSuitesCount -- the number of suites in hpkeSuites
+ * maxNameLen -- the maximum length of protected names
* kemId -- the HKPE KEM ID value
- * group -- the named group this key corresponds to
* pubKey -- the public key for the key pair
- * pad -- the maximum length to pad to
+ * hpkeSuites -- the HPKE cipher suites that can be used
+ * hpkeSuitesCount -- the number of suites in hpkeSuites
* out/outlen/maxlen -- where to output the data
*/
-#define SSL_EncodeEchConfig(publicName, hpkeSuites, hpkeSuitesCount, \
- kemId, pubKey, maxNameLen, out, outlen, \
- maxlen) \
- SSL_EXPERIMENTAL_API("SSL_EncodeEchConfig", \
- (const char *_publicName, \
- const PRUint32 *_hpkeSuites, \
- unsigned int _hpkeSuitesCount, \
- HpkeKemId _kemId, \
- const SECKEYPublicKey *_pubKey, \
- PRUint16 _maxNameLen, \
- PRUint8 *_out, unsigned int *_outlen, \
- unsigned int _maxlen), \
- (publicName, hpkeSuites, hpkeSuitesCount, \
- kemId, pubKey, maxNameLen, out, outlen, \
- maxlen))
+typedef struct HpkeSymmetricSuiteStr {
+ HpkeKdfId kdfId;
+ HpkeAeadId aeadId;
+} HpkeSymmetricSuite;
+#define SSL_EncodeEchConfigId(configId, publicName, maxNameLen, \
+ kemId, pubKey, hpkeSuites, hpkeSuiteCount, \
+ out, outlen, maxlen) \
+ SSL_EXPERIMENTAL_API("SSL_EncodeEchConfigId", \
+ (PRUint8 _configId, const char *_publicName, \
+ unsigned int _maxNameLen, HpkeKemId _kemId, \
+ const SECKEYPublicKey *_pubKey, \
+ const HpkeSymmetricSuite *_hpkeSuites, \
+ unsigned int _hpkeSuiteCount, \
+ PRUint8 *_out, unsigned int *_outlen, \
+ unsigned int _maxlen), \
+ (configId, publicName, maxNameLen, \
+ kemId, pubKey, hpkeSuites, hpkeSuiteCount, \
+ out, outlen, maxlen))
/* SSL_SetSecretCallback installs a callback that TLS calls when it installs new
* traffic secrets.
@@ -1035,6 +1039,7 @@ typedef struct SSLMaskingContextStr {
#define SSL_EnableESNI(a, b, c, d) SSL_DEPRECATED_EXPERIMENTAL_API
#define SSL_EncodeESNIKeys(a, b, c, d, e, f, g, h, i, j) SSL_DEPRECATED_EXPERIMENTAL_API
#define SSL_SetESNIKeyPair(a, b, c, d) SSL_DEPRECATED_EXPERIMENTAL_API
+#define SSL_EncodeEchConfig(a, b, c, d, e, f, g, h, i) SSL_DEPRECATED_EXPERIMENTAL_API
SEC_END_PROTOS
diff --git a/security/nss/lib/ssl/sslsock.c b/security/nss/lib/ssl/sslsock.c
index b698d8f439857..aa89f04e3fa2b 100644
--- a/security/nss/lib/ssl/sslsock.c
+++ b/security/nss/lib/ssl/sslsock.c
@@ -4296,7 +4296,7 @@ struct {
EXP(DestroyResumptionTokenInfo),
EXP(EnableTls13BackendEch),
EXP(EnableTls13GreaseEch),
- EXP(EncodeEchConfig),
+ EXP(EncodeEchConfigId),
EXP(GetCurrentEpoch),
EXP(GetEchRetryConfigs),
EXP(GetExtensionSupport),
diff --git a/security/nss/lib/ssl/sslt.h b/security/nss/lib/ssl/sslt.h
index 1d5c4d17907d2..2bc151c633e14 100644
--- a/security/nss/lib/ssl/sslt.h
+++ b/security/nss/lib/ssl/sslt.h
@@ -547,7 +547,7 @@ typedef enum {
ssl_tls13_short_header_xtn = 0xff03, /* Deprecated. */
ssl_tls13_ech_is_inner_xtn = 0xda09,
ssl_tls13_outer_extensions_xtn = 0xfd00,
- ssl_tls13_encrypted_client_hello_xtn = 0xfe09,
+ ssl_tls13_encrypted_client_hello_xtn = 0xfe0a,
ssl_tls13_encrypted_sni_xtn = 0xffce, /* Deprecated. */
} SSLExtensionType;
diff --git a/security/nss/lib/ssl/tls13ech.c b/security/nss/lib/ssl/tls13ech.c
index f1ffffb2fd379..1891caf3917fb 100644
--- a/security/nss/lib/ssl/tls13ech.c
+++ b/security/nss/lib/ssl/tls13ech.c
@@ -64,7 +64,6 @@ tls13_DestroyEchXtnState(sslEchXtnState *state)
}
SECITEM_FreeItem(&state->innerCh, PR_FALSE);
SECITEM_FreeItem(&state->senderPubKey, PR_FALSE);
- SECITEM_FreeItem(&state->configId, PR_FALSE);
SECITEM_FreeItem(&state->retryConfigs, PR_FALSE);
PORT_ZFree(state, sizeof(*state));
}
@@ -103,12 +102,12 @@ tls13_CopyEchConfigs(PRCList *oConfigs, PRCList *configs)
if (rv != SECSuccess) {
goto loser;
}
+ newConfig->contents.configId = config->contents.configId;
newConfig->contents.kemId = config->contents.kemId;
newConfig->contents.kdfId = config->contents.kdfId;
newConfig->contents.aeadId = config->contents.aeadId;
newConfig->contents.maxNameLen = config->contents.maxNameLen;
newConfig->version = config->version;
- PORT_Memcpy(newConfig->configId, config->configId, sizeof(newConfig->configId));
PR_APPEND_LINK(&newConfig->link, configs);
}
return SECSuccess;
@@ -119,69 +118,34 @@ tls13_CopyEchConfigs(PRCList *oConfigs, PRCList *configs)
return SECFailure;
}
-static SECStatus
-tls13_DigestEchConfig(const sslEchConfig *cfg, PRUint8 *digest, size_t maxDigestLen)
-{
- SECStatus rv;
- PK11SymKey *configKey = NULL;
- PK11SymKey *derived = NULL;
- SECItem *derivedItem = NULL;
- CK_HKDF_PARAMS params = { 0 };
- SECItem paramsi = { siBuffer, (unsigned char *)¶ms, sizeof(params) };
- PK11SlotInfo *slot = PK11_GetInternalSlot();
-
- if (!slot) {
- goto loser;
- }
-
- configKey = PK11_ImportDataKey(slot, CKM_HKDF_DATA, PK11_OriginUnwrap,
- CKA_DERIVE, CONST_CAST(SECItem, &cfg->raw), NULL);
- if (!configKey) {
- goto loser;
- }
-
- /* We only support SHA256 KDF. */
- PORT_Assert(cfg->contents.kdfId == HpkeKdfHkdfSha256);
- params.bExtract = CK_TRUE;
- params.bExpand = CK_TRUE;
- params.prfHashMechanism = CKM_SHA256;
- params.ulSaltType = CKF_HKDF_SALT_NULL;
- params.pInfo = CONST_CAST(CK_BYTE, hHkdfInfoEchConfigID);
- params.ulInfoLen = strlen(hHkdfInfoEchConfigID);
- derived = PK11_DeriveWithFlags(configKey, CKM_HKDF_DATA,
- ¶msi, CKM_HKDF_DERIVE, CKA_DERIVE, 8,
- CKF_SIGN | CKF_VERIFY);
-
- rv = PK11_ExtractKeyValue(derived);
- if (rv != SECSuccess) {
- goto loser;
- }
-
- derivedItem = PK11_GetKeyData(derived);
- if (!derivedItem) {
- goto loser;
- }
-
- if (derivedItem->len != maxDigestLen) {
- PORT_SetError(SEC_ERROR_LIBRARY_FAILURE);
- goto loser;
- }
-
- PORT_Memcpy(digest, derivedItem->data, derivedItem->len);
- PK11_FreeSymKey(configKey);
- PK11_FreeSymKey(derived);
- PK11_FreeSlot(slot);
- return SECSuccess;
-
-loser:
- PK11_FreeSymKey(configKey);
- PK11_FreeSymKey(derived);
- if (slot) {
- PK11_FreeSlot(slot);
- }
- return SECFailure;
-}
-
+/*
+ * struct {
+ * HpkeKdfId kdf_id;
+ * HpkeAeadId aead_id;
+ * } HpkeSymmetricCipherSuite;
+ *
+ * struct {
+ * uint8 config_id;
+ * HpkeKemId kem_id;
+ * HpkePublicKey public_key;
+ * HpkeSymmetricCipherSuite cipher_suites<4..2^16-4>;
+ * } HpkeKeyConfig;
+ *
+ * struct {
+ * HpkeKeyConfig key_config;
+ * uint16 maximum_name_length;
+ * opaque public_name<1..2^16-1>;
+ * Extension extensions<0..2^16-1>;
+ * } ECHConfigContents;
+ *
+ * struct {
+ * uint16 version;
+ * uint16 length;
+ * select (ECHConfig.version) {
+ * case 0xfe0a: ECHConfigContents contents;
+ * }
+ * } ECHConfig;
+ */
static SECStatus
tls13_DecodeEchConfigContents(const sslReadBuffer *rawConfig,
sslEchConfig **outConfig)
@@ -199,30 +163,22 @@ tls13_DecodeEchConfigContents(const sslReadBuffer *rawConfig,
sslReader extensionReader;
PRBool hasValidSuite = PR_FALSE;
- /* Parse the public_name. */
- rv = sslRead_ReadVariable(&configReader, 2, &tmpBuf);
+ /* HpkeKeyConfig key_config */
+ /* uint8 config_id */
+ rv = sslRead_ReadNumber(&configReader, 1, &tmpn);
if (rv != SECSuccess) {
goto loser;
}
+ contents.configId = tmpn;
- if (tmpBuf.len == 0) {
- PORT_SetError(SSL_ERROR_RX_MALFORMED_ECH_CONFIG);
- goto loser;
- }
- for (tmpn = 0; tmpn < tmpBuf.len; tmpn++) {
- if (tmpBuf.buf[tmpn] == '\0') {
- PORT_SetError(SSL_ERROR_RX_MALFORMED_ECH_CONFIG);
- goto loser;
- }
- }
-
- contents.publicName = PORT_ZAlloc(tmpBuf.len + 1);
- if (!contents.publicName) {
+ /* HpkeKemId kem_id */
+ rv = sslRead_ReadNumber(&configReader, 2, &tmpn);
+ if (rv != SECSuccess) {
goto loser;
}
- PORT_Memcpy(contents.publicName, (PRUint8 *)tmpBuf.buf, tmpBuf.len);
+ contents.kemId = tmpn;
- /* Public key. */
+ /* HpkePublicKey public_key */
rv = sslRead_ReadVariable(&configReader, 2, &tmpBuf);
if (rv != SECSuccess) {
goto loser;
@@ -232,13 +188,7 @@ tls13_DecodeEchConfigContents(const sslReadBuffer *rawConfig,
goto loser;
}
- rv = sslRead_ReadNumber(&configReader, 2, &tmpn);
- if (rv != SECSuccess) {
- goto loser;
- }
- contents.kemId = tmpn;
-
- /* Parse HPKE cipher suites. */
+ /* HpkeSymmetricCipherSuite cipher_suites<4..2^16-4> */
rv = sslRead_ReadVariable(&configReader, 2, &tmpBuf);
if (rv != SECSuccess) {
goto loser;
@@ -249,12 +199,12 @@ tls13_DecodeEchConfigContents(const sslReadBuffer *rawConfig,
}
suiteReader = (sslReader)SSL_READER(tmpBuf.buf, tmpBuf.len);
while (SSL_READER_REMAINING(&suiteReader)) {
- /* kdf_id */
+ /* HpkeKdfId kdf_id */
rv = sslRead_ReadNumber(&suiteReader, 2, &tmpn);
if (rv != SECSuccess) {
goto loser;
}
- /* aead_id */
+ /* HpkeAeadId aead_id */
rv = sslRead_ReadNumber(&suiteReader, 2, &tmpn2);
if (rv != SECSuccess) {
goto loser;
@@ -276,13 +226,36 @@ tls13_DecodeEchConfigContents(const sslReadBuffer *rawConfig,
goto loser;
}
- /* Read the max name length. */
+ /* uint16 maximum_name_length */
rv = sslRead_ReadNumber(&configReader, 2, &tmpn);
if (rv != SECSuccess) {
goto loser;
}
contents.maxNameLen = (PRUint16)tmpn;
+ /* opaque public_name<1..2^16-1> */
+ rv = sslRead_ReadVariable(&configReader, 2, &tmpBuf);
+ if (rv != SECSuccess) {
+ goto loser;
+ }
+
+ if (tmpBuf.len == 0) {
+ PORT_SetError(SSL_ERROR_RX_MALFORMED_ECH_CONFIG);
+ goto loser;
+ }
+ for (tmpn = 0; tmpn < tmpBuf.len; tmpn++) {
+ if (tmpBuf.buf[tmpn] == '\0') {
+ PORT_SetError(SSL_ERROR_RX_MALFORMED_ECH_CONFIG);
+ goto loser;
+ }
+ }
+
+ contents.publicName = PORT_ZAlloc(tmpBuf.len + 1);
+ if (!contents.publicName) {
+ goto loser;
+ }
+ PORT_Memcpy(contents.publicName, (PRUint8 *)tmpBuf.buf, tmpBuf.len);
+
/* Extensions. We don't support any, but must
* check for any that are marked critical. */
rv = sslRead_ReadVariable(&configReader, 2, &tmpBuf);
@@ -356,7 +329,7 @@ tls13_DecodeEchConfigContents(const sslReadBuffer *rawConfig,
return SECFailure;
}
-/* Decode an ECHConfigs struct and store each ECHConfig
+/* Decode an ECHConfigList struct and store each ECHConfig
* into |configs|. */
SECStatus
tls13_DecodeEchConfigs(const SECItem *data, PRCList *configs)
@@ -390,12 +363,12 @@ tls13_DecodeEchConfigs(const SECItem *data, PRCList *configs)
/* Handle each ECHConfig. */
while (SSL_READER_REMAINING(&configsReader)) {
singleConfig.buf = SSL_READER_CURRENT(&configsReader);
- /* Version */
+ /* uint16 version */
rv = sslRead_ReadNumber(&configsReader, 2, &version);
if (rv != SECSuccess) {
goto loser;
}
- /* Length */
+ /* uint16 length */
rv = sslRead_ReadNumber(&configsReader, 2, &length);
if (rv != SECSuccess) {
goto loser;
@@ -421,11 +394,6 @@ tls13_DecodeEchConfigs(const SECItem *data, PRCList *configs)
goto loser;
}
- rv = tls13_DigestEchConfig(decodedConfig, decodedConfig->configId,
- sizeof(decodedConfig->configId));
- if (rv != SECSuccess) {
- goto loser;
- }
PR_APPEND_LINK(&decodedConfig->link, configs);
decodedConfig = NULL;
}
@@ -438,14 +406,14 @@ tls13_DecodeEchConfigs(const SECItem *data, PRCList *configs)
return SECFailure;
}
-/* Encode an ECHConfigs structure. We only allow one config, and as the
+/* Encode an ECHConfigList structure. We only create one config, and as the
* primary use for this function is to generate test inputs, we don't
* validate against what HPKE and libssl can actually support. */
SECStatus
-SSLExp_EncodeEchConfig(const char *publicName, const PRUint32 *hpkeSuites,
- unsigned int hpkeSuiteCount, HpkeKemId kemId,
- const SECKEYPublicKey *pubKey, PRUint16 maxNameLen,
- PRUint8 *out, unsigned int *outlen, unsigned int maxlen)
+SSLExp_EncodeEchConfigId(PRUint8 configId, const char *publicName, unsigned int maxNameLen,
+ HpkeKemId kemId, const SECKEYPublicKey *pubKey,
+ const HpkeSymmetricSuite *hpkeSuites, unsigned int hpkeSuiteCount,
+ PRUint8 *out, unsigned int *outlen, unsigned int maxlen)
{
SECStatus rv;
unsigned int savedOffset;
@@ -460,11 +428,21 @@ SSLExp_EncodeEchConfig(const char *publicName, const PRUint32 *hpkeSuites,
return SECFailure;
}
+ /* ECHConfig ECHConfigList<1..2^16-1>; */
rv = sslBuffer_Skip(&b, 2, NULL);
if (rv != SECSuccess) {
goto loser;
}
+ /*
+ * struct {
+ * uint16 version;
+ * uint16 length;
+ * select (ECHConfig.version) {
+ * case 0xfe0a: ECHConfigContents contents;
+ * }
+ * } ECHConfig;
+ */
rv = sslBuffer_AppendNumber(&b, TLS13_ECH_VERSION, 2);
if (rv != SECSuccess) {
goto loser;
@@ -475,22 +453,29 @@ SSLExp_EncodeEchConfig(const char *publicName, const PRUint32 *hpkeSuites,
goto loser;
}
- len = PORT_Strlen(publicName);
- rv = sslBuffer_AppendVariable(&b, (const PRUint8 *)publicName, len, 2);
+ /*
+ * struct {
+ * uint8 config_id;
+ * HpkeKemId kem_id;
+ * HpkePublicKey public_key;
+ * HpkeSymmetricCipherSuite cipher_suites<4..2^16-4>;
+ * } HpkeKeyConfig;
+ */
+ rv = sslBuffer_AppendNumber(&b, configId, 1);
if (rv != SECSuccess) {
goto loser;
}
- rv = PK11_HPKE_Serialize(pubKey, tmpBuf, &tmpLen, sizeof(tmpBuf));
+ rv = sslBuffer_AppendNumber(&b, kemId, 2);
if (rv != SECSuccess) {
goto loser;
}
- rv = sslBuffer_AppendVariable(&b, tmpBuf, tmpLen, 2);
+
+ rv = PK11_HPKE_Serialize(pubKey, tmpBuf, &tmpLen, sizeof(tmpBuf));
if (rv != SECSuccess) {
goto loser;
}
-
- rv = sslBuffer_AppendNumber(&b, kemId, 2);
+ rv = sslBuffer_AppendVariable(&b, tmpBuf, tmpLen, 2);
if (rv != SECSuccess) {
goto loser;
}
@@ -500,17 +485,39 @@ SSLExp_EncodeEchConfig(const char *publicName, const PRUint32 *hpkeSuites,
goto loser;
}
for (unsigned int i = 0; i < hpkeSuiteCount; i++) {
- rv = sslBuffer_AppendNumber(&b, hpkeSuites[i], 4);
+ rv = sslBuffer_AppendNumber(&b, hpkeSuites[i].kdfId, 2);
+ if (rv != SECSuccess) {
+ goto loser;
+ }
+ rv = sslBuffer_AppendNumber(&b, hpkeSuites[i].aeadId, 2);
if (rv != SECSuccess) {
goto loser;
}
}
+ /*
+ * struct {
+ * HpkeKeyConfig key_config;
+ * uint16 maximum_name_length;
+ * opaque public_name<1..2^16-1>;
+ * Extension extensions<0..2^16-1>;
+ * } ECHConfigContents;
+ */
rv = sslBuffer_AppendNumber(&b, maxNameLen, 2);
if (rv != SECSuccess) {
goto loser;
}
+ len = PORT_Strlen(publicName);
+ if (len > 0xffff) {
+ PORT_SetError(SEC_ERROR_INVALID_ARGS);
+ goto loser;
+ }
+ rv = sslBuffer_AppendVariable(&b, (const PRUint8 *)publicName, len, 2);
+ if (rv != SECSuccess) {
+ goto loser;
+ }
+
/* extensions */
rv = sslBuffer_AppendNumber(&b, 0, 2);
if (rv != SECSuccess) {
@@ -622,10 +629,6 @@ SSLExp_SetServerEchConfigs(PRFileDesc *fd,
const SECKEYPublicKey *pubKey, const SECKEYPrivateKey *privKey,
const PRUint8 *echConfigs, unsigned int echConfigsLen)
{
-#ifndef NSS_ENABLE_DRAFT_HPKE
- PORT_SetError(SSL_ERROR_FEATURE_DISABLED);
- return SECFailure;
-#else
sslSocket *ss;
SECStatus rv;
SECItem data = { siBuffer, CONST_CAST(PRUint8, echConfigs), echConfigsLen };
@@ -675,7 +678,6 @@ SSLExp_SetServerEchConfigs(PRFileDesc *fd,
ss->echPubKey = NULL;
ss->echPrivKey = NULL;
return SECFailure;
-#endif
}
/* Client enable. For now, we'll use the first
@@ -685,10 +687,6 @@ SSLExp_SetClientEchConfigs(PRFileDesc *fd,
const PRUint8 *echConfigs,
unsigned int echConfigsLen)
{
-#ifndef NSS_ENABLE_DRAFT_HPKE
- PORT_SetError(SSL_ERROR_FEATURE_DISABLED);
- return SECFailure;
-#else
SECStatus rv;
sslSocket *ss;
SECItem data = { siBuffer, CONST_CAST(PRUint8, echConfigs), echConfigsLen };
@@ -722,7 +720,6 @@ SSLExp_SetClientEchConfigs(PRFileDesc *fd,
}
return SECSuccess;
-#endif
}
/* Set up ECH. This generates an ephemeral sender
@@ -823,16 +820,16 @@ tls13_ClientSetupEch(sslSocket *ss, sslClientHelloType type)
/*
* enum {
- * encrypted_client_hello(0xfe09), (65535)
+ * encrypted_client_hello(0xfe0a), (65535)
* } ExtensionType;
*
* struct {
* HpkeKdfId kdf_id;
* HpkeAeadId aead_id;
- * } ECHCipherSuite;
+ * } HpkeSymmetricCipherSuite;
* struct {
- * ECHCipherSuite cipher_suite;
- * opaque config_id<0..255>;
+ * HpkeSymmetricCipherSuite cipher_suite;
+ * uint8 config_id;
* opaque enc<1..2^16-1>;
* opaque payload<1..2^16-1>;
* } ClientECH;
@@ -889,18 +886,18 @@ tls13_EncryptClientHello(sslSocket *ss, sslBuffer *outerAAD, sslBuffer *chInner)
goto loser;
}
+ rv = sslBuffer_AppendNumber(chInner, cfg->contents.configId, 1);
+ if (rv != SECSuccess) {
+ goto loser;
+ }
if (!ss->ssl3.hs.helloRetry) {
- rv = sslBuffer_AppendVariable(chInner, cfg->configId, sizeof(cfg->configId), 1);
- if (rv != SECSuccess) {
- goto loser;
- }
rv = sslBuffer_AppendVariable(chInner, hpkeEnc->data, hpkeEnc->len, 2);
if (rv != SECSuccess) {
goto loser;
}
} else {
- /* one byte for empty configId, two for empty Enc. */
- rv = sslBuffer_AppendNumber(chInner, 0, 3);
+ /* |enc| is empty. */
+ rv = sslBuffer_AppendNumber(chInner, 0, 2);
if (rv != SECSuccess) {
goto loser;
}
@@ -919,21 +916,18 @@ tls13_EncryptClientHello(sslSocket *ss, sslBuffer *outerAAD, sslBuffer *chInner)
SECStatus
tls13_GetMatchingEchConfigs(const sslSocket *ss, HpkeKdfId kdf, HpkeAeadId aead,
- const SECItem *configId, const sslEchConfig *cur, sslEchConfig **next)
+ const PRUint8 configId, const sslEchConfig *cur, sslEchConfig **next)
{
- PRINT_BUF(50, (ss, "Server GetMatchingEchConfig with digest:",
- configId->data, configId->len));
+ SSL_TRC(50, ("%d: TLS13[%d]: GetMatchingEchConfig %d",
+ SSL_GETPID(), ss->fd, configId));
/* If |cur|, resume the search at that node, else the list head. */
for (PRCList *cur_p = cur ? ((PRCList *)cur)->next : PR_LIST_HEAD(&ss->echConfigs);
cur_p != &ss->echConfigs;
cur_p = PR_NEXT_LINK(cur_p)) {
sslEchConfig *echConfig = (sslEchConfig *)cur_p;
- if (configId->len != sizeof(echConfig->configId) ||
- PORT_Memcmp(echConfig->configId, configId->data, sizeof(echConfig->configId))) {
- continue;
- }
- if (echConfig->contents.aeadId == aead &&
+ if (echConfig->contents.configId == configId &&
+ echConfig->contents.aeadId == aead &&
echConfig->contents.kdfId == kdf) {
*next = echConfig;
return SECSuccess;
@@ -1016,10 +1010,9 @@ tls13_CopyChPreamble(sslReader *reader, const SECItem *explicitSid, sslBuffer *w
/*
* struct {
- * HpkeKdfId kdfId; // ClientECH.cipher_suite.kdf
- * HpkeAeadId aeadId; // ClientECH.cipher_suite.aead
- * opaque config_id<0..255>; // ClientECH.config_id
- * opaque enc<1..2^16-1>; // ClientECH.enc
+ * HpkeSymmetricCipherSuite cipher_suite; // kdfid_, aead_id
+ * uint8 config_id;
+ * opaque enc<1..2^16-1>;
* opaque outer_hello<1..2^24-1>;
* } ClientHelloOuterAAD;
*/
@@ -1045,17 +1038,17 @@ tls13_MakeChOuterAAD(sslSocket *ss, const SECItem *outer, SECItem *outerAAD)
goto loser;
}
+ rv = sslBuffer_AppendNumber(&aad, ss->xtnData.ech->configId, 1);
+ if (rv != SECSuccess) {
+ goto loser;
+ }
+
if (!ss->ssl3.hs.helloRetry) {
- rv = sslBuffer_AppendVariable(&aad, ss->xtnData.ech->configId.data,
- ss->xtnData.ech->configId.len, 1);
- if (rv != SECSuccess) {
- goto loser;
- }
rv = sslBuffer_AppendVariable(&aad, ss->xtnData.ech->senderPubKey.data,
ss->xtnData.ech->senderPubKey.len, 2);
} else {
- /* 1B config_id length, 2B enc length. */
- rv = sslBuffer_AppendNumber(&aad, 0, 3);
+ /* |enc| is empty for HelloRetryRequest. */
+ rv = sslBuffer_AppendNumber(&aad, 0, 2);
}
if (rv != SECSuccess) {
goto loser;
@@ -1506,7 +1499,7 @@ tls13_ConstructClientHelloWithEch(sslSocket *ss, const sslSessionID *sid, PRBool
* Post-encryption, we'll assert that this was correct. */
encodedChLen = 4 + 1 + 2 + 2 + encodedChInner.len + 16;
if (!ss->ssl3.hs.helloRetry) {
- encodedChLen += 8 + 32; /* configId || enc */
+ encodedChLen += 32; /* enc */
}
rv = ssl_InsertPaddingExtension(ss, chOuter->len + encodedChLen, chOuterXtnsBuf);
if (rv != SECSuccess) {
@@ -1523,12 +1516,12 @@ tls13_ConstructClientHelloWithEch(sslSocket *ss, const sslSessionID *sid, PRBool
if (rv != SECSuccess) {
goto loser;
}
+ rv = sslBuffer_AppendNumber(&aad, cfg->contents.configId, 1);
+ if (rv != SECSuccess) {
+ goto loser;
+ }
if (!ss->ssl3.hs.helloRetry) {
- rv = sslBuffer_AppendVariable(&aad, cfg->configId, sizeof(cfg->configId), 1);
- if (rv != SECSuccess) {
- goto loser;
- }
hpkeEnc = PK11_HPKE_GetEncapPubKey(ss->ssl3.hs.echHpkeCtx);
if (!hpkeEnc) {
FATAL_ERROR(ss, SEC_ERROR_LIBRARY_FAILURE, internal_error);
@@ -1536,8 +1529,8 @@ tls13_ConstructClientHelloWithEch(sslSocket *ss, const sslSessionID *sid, PRBool
}
rv = sslBuffer_AppendVariable(&aad, hpkeEnc->data, hpkeEnc->len, 2);
} else {
- /* 1B config_id length, 2B enc length. */
- rv = sslBuffer_AppendNumber(&aad, 0, 3);
+ /* 2B for empty enc length. */
+ rv = sslBuffer_AppendNumber(&aad, 0, 2);
}
if (rv != SECSuccess) {
goto loser;
@@ -1721,8 +1714,8 @@ tls13_MaybeGreaseEch(sslSocket *ss, unsigned int preambleLen, sslBuffer *buf)
SECItem *rawData;
CK_HKDF_PARAMS params;
SECItem paramsi;
- /* 1B aead determinant (don't send), 8B config_id, 32B enc, payload */
- const int kNonPayloadLen = 41;
+ /* 1B aead determinant (don't send), 1B config_id, 32B enc, payload */
+ const int kNonPayloadLen = 34;
if (!ss->opt.enableTls13GreaseEch || ss->ssl3.hs.echHpkeCtx) {
return SECSuccess;
@@ -1787,9 +1780,8 @@ tls13_MaybeGreaseEch(sslSocket *ss, unsigned int preambleLen, sslBuffer *buf)
PORT_Assert(rawData->len == kNonPayloadLen + payloadLen);
/* struct {
- HpkeKdfId kdf_id;
- HpkeAeadId aead_id;
- opaque config_id<0..255>;
+ HpkeSymmetricCipherSuite cipher_suite; // kdf_id, aead_id
+ PRUint8 config_id;
opaque enc<1..2^16-1>;
opaque payload<1..2^16-1>;
} ClientECH; */
@@ -1807,14 +1799,14 @@ tls13_MaybeGreaseEch(sslSocket *ss, unsigned int preambleLen, sslBuffer *buf)
goto loser;
}
- /* config_id, 8B */
- rv = sslBuffer_AppendVariable(&greaseBuf, &rawData->data[1], 8, 1);
+ /* config_id */
+ rv = sslBuffer_AppendNumber(&greaseBuf, rawData->data[1], 1);
if (rv != SECSuccess) {
goto loser;
}
/* enc len is fixed 32B for X25519. */
- rv = sslBuffer_AppendVariable(&greaseBuf, &rawData->data[9], 32, 2);
+ rv = sslBuffer_AppendVariable(&greaseBuf, &rawData->data[2], 32, 2);
if (rv != SECSuccess) {
goto loser;
}
@@ -1958,14 +1950,12 @@ tls13_MaybeHandleEchSignal(sslSocket *ss, const PRUint8 *sh, PRUint32 shLen)
FATAL_ERROR(ss, SSL_ERROR_RX_MALFORMED_SERVER_HELLO, illegal_parameter);
return SECFailure;
}
- if (ss->ssl3.hs.helloRetry && ss->sec.isServer) {
- /* Enc and ConfigId are stored in the cookie and must not
- * be included in CH2.ClientECH. */
- if (ss->xtnData.ech->senderPubKey.len || ss->xtnData.ech->configId.len) {
- ssl3_ExtSendAlert(ss, alert_fatal, illegal_parameter);
- PORT_SetError(SSL_ERROR_BAD_2ND_CLIENT_HELLO);
- return SECFailure;
- }
+ /* |enc| must not be included in CH2.ClientECH. */
+ if (ss->ssl3.hs.helloRetry && ss->sec.isServer &&
+ ss->xtnData.ech->senderPubKey.len) {
+ ssl3_ExtSendAlert(ss, alert_fatal, illegal_parameter);
+ PORT_SetError(SSL_ERROR_BAD_2ND_CLIENT_HELLO);
+ return SECFailure;
}
ss->xtnData.negotiated[ss->xtnData.numNegotiated++] = ssl_tls13_encrypted_client_hello_xtn;
@@ -2137,12 +2127,8 @@ tls13_MaybeAcceptEch(sslSocket *ss, const SECItem *sidBytes, const PRUint8 *chOu
SECStatus rv;
SECItem outer = { siBuffer, CONST_CAST(PRUint8, chOuter), chOuterLen };
SECItem *decryptedChInner = NULL;
- SECItem hrrCh1ConfigId = { siBuffer, NULL, 0 };
SECItem outerAAD = { siBuffer, NULL, 0 };
SECItem cookieData = { siBuffer, NULL, 0 };
- HpkeContext *ch1EchHpkeCtx = NULL;
- HpkeKdfId echKdfId;
- HpkeAeadId echAeadId;
sslEchConfig *candidate = NULL; /* non-owning */
TLSExtension *hrrXtn;
@@ -2160,7 +2146,6 @@ tls13_MaybeAcceptEch(sslSocket *ss, const SECItem *sidBytes, const PRUint8 *chOu
return SECSuccess;
}
- PORT_Assert(!ss->xtnData.ech->configId.data);
PORT_Assert(!ss->ssl3.hs.echHpkeCtx);
PRUint8 *tmp = hrrXtn->data.data;
@@ -2174,17 +2159,21 @@ tls13_MaybeAcceptEch(sslSocket *ss, const SECItem *sidBytes, const PRUint8 *chOu
/* Extract ECH info without restoring hash state. If there's
* something wrong with the cookie, continue without ECH
* and let HRR code handle the problem. */
+ HpkeContext *ch1EchHpkeCtx = NULL;
+ PRUint8 echConfigId;
+ HpkeKdfId echKdfId;
+ HpkeAeadId echAeadId;
rv = tls13_HandleHrrCookie(ss, cookieData.data, cookieData.len,
NULL, NULL, NULL, &echKdfId, &echAeadId,
- &hrrCh1ConfigId, &ch1EchHpkeCtx, PR_FALSE);
+ &echConfigId, &ch1EchHpkeCtx, PR_FALSE);
if (rv != SECSuccess) {
return SECSuccess;
}
- ss->xtnData.ech->configId = hrrCh1ConfigId;
ss->ssl3.hs.echHpkeCtx = ch1EchHpkeCtx;
- if (echKdfId != ss->xtnData.ech->kdfId ||
+ if (echConfigId != ss->xtnData.ech->configId ||
+ echKdfId != ss->xtnData.ech->kdfId ||
echAeadId != ss->xtnData.ech->aeadId) {
FATAL_ERROR(ss, SSL_ERROR_BAD_2ND_CLIENT_HELLO,
illegal_parameter);
@@ -2197,9 +2186,8 @@ tls13_MaybeAcceptEch(sslSocket *ss, const SECItem *sidBytes, const PRUint8 *chOu
}
/* Cookie data was good, proceed with ECH. */
- PORT_Assert(ss->xtnData.ech->configId.data);
rv = tls13_GetMatchingEchConfigs(ss, ss->xtnData.ech->kdfId, ss->xtnData.ech->aeadId,
- &ss->xtnData.ech->configId, candidate, &candidate);
+ ss->xtnData.ech->configId, candidate, &candidate);
if (rv != SECSuccess) {
FATAL_ERROR(ss, SEC_ERROR_LIBRARY_FAILURE, internal_error);
return SECFailure;
@@ -2217,7 +2205,7 @@ tls13_MaybeAcceptEch(sslSocket *ss, const SECItem *sidBytes, const PRUint8 *chOu
if (rv != SECSuccess) {
/* Get the next matching config */
rv = tls13_GetMatchingEchConfigs(ss, ss->xtnData.ech->kdfId, ss->xtnData.ech->aeadId,
- &ss->xtnData.ech->configId, candidate, &candidate);
+ ss->xtnData.ech->configId, candidate, &candidate);
if (rv != SECSuccess) {
FATAL_ERROR(ss, SEC_ERROR_LIBRARY_FAILURE, internal_error);
SECITEM_FreeItem(&outerAAD, PR_FALSE);
diff --git a/security/nss/lib/ssl/tls13ech.h b/security/nss/lib/ssl/tls13ech.h
index a39a0295c00ad..55abf76eae310 100644
--- a/security/nss/lib/ssl/tls13ech.h
+++ b/security/nss/lib/ssl/tls13ech.h
@@ -21,7 +21,7 @@
* - Some of the buffering (construction/compression/decompression) could likely
* be optimized, but the spec is still evolving so that work is deferred.
*/
-#define TLS13_ECH_VERSION 0xfe09
+#define TLS13_ECH_VERSION 0xfe0a
#define TLS13_ECH_SIGNAL_LEN 8
static const char kHpkeInfoEch[] = "tls ech";
@@ -29,21 +29,21 @@ static const char hHkdfInfoEchConfigID[] = "tls ech config id";
static const char kHkdfInfoEchConfirm[] = "ech accept confirmation";
struct sslEchConfigContentsStr {
- char *publicName;
- SECItem publicKey; /* NULL on server. Use the keypair in sslEchConfig instead. */
+ PRUint8 configId;
HpkeKemId kemId;
+ SECItem publicKey; /* NULL on server. Use the keypair in sslEchConfig instead. */
HpkeKdfId kdfId;
HpkeAeadId aeadId;
SECItem suites; /* One or more HpkeCipherSuites. The selected s
* suite is placed in kdfId and aeadId. */
PRUint16 maxNameLen;
+ char *publicName;
/* No supported extensions. */
};
struct sslEchConfigStr {
PRCList link;
SECItem raw;
- PRUint8 configId[8];
PRUint16 version;
sslEchConfigContents contents;
};
@@ -51,7 +51,7 @@ struct sslEchConfigStr {
struct sslEchXtnStateStr {
SECItem innerCh; /* Server: ClientECH.payload */
SECItem senderPubKey; /* Server: ClientECH.enc */
- SECItem configId; /* Server: ClientECH.config_id */
+ PRUint8 configId; /* Server: ClientECH.config_id */
HpkeKdfId kdfId; /* Server: ClientECH.cipher_suite.kdf */
HpkeAeadId aeadId; /* Server: ClientECH.cipher_suite.aead */
SECItem retryConfigs; /* Client: ServerECH.retry_configs*/
@@ -60,10 +60,10 @@ struct sslEchXtnStateStr {
* verified to the ECHConfig public name). */
};
-SECStatus SSLExp_EncodeEchConfig(const char *publicName, const PRUint32 *hpkeSuites,
- unsigned int hpkeSuiteCount, HpkeKemId kemId,
- const SECKEYPublicKey *pubKey, PRUint16 maxNameLen,
- PRUint8 *out, unsigned int *outlen, unsigned int maxlen);
+SECStatus SSLExp_EncodeEchConfigId(PRUint8 configId, const char *publicName, unsigned int maxNameLen,
+ HpkeKemId kemId, const SECKEYPublicKey *pubKey,
+ const HpkeSymmetricSuite *hpkeSuites, unsigned int hpkeSuiteCount,
+ PRUint8 *out, unsigned int *outlen, unsigned int maxlen);
SECStatus SSLExp_GetEchRetryConfigs(PRFileDesc *fd, SECItem *retryConfigs);
SECStatus SSLExp_SetClientEchConfigs(PRFileDesc *fd, const PRUint8 *echConfigs,
unsigned int echConfigsLen);
diff --git a/security/nss/lib/ssl/tls13exthandle.c b/security/nss/lib/ssl/tls13exthandle.c
index 7991a12c26c2e..942d329aa693a 100644
--- a/security/nss/lib/ssl/tls13exthandle.c
+++ b/security/nss/lib/ssl/tls13exthandle.c
@@ -1460,7 +1460,7 @@ tls13_ServerHandleEchXtn(const sslSocket *ss, TLSExtensionData *xtnData,
HpkeKdfId kdf;
HpkeAeadId aead;
PRUint32 tmp;
- SECItem configId;
+ PRUint8 configId;
SECItem senderPubKey;
SECItem encryptedCh;
@@ -1504,11 +1504,12 @@ tls13_ServerHandleEchXtn(const sslSocket *ss, TLSExtensionData *xtnData,
aead = (HpkeAeadId)tmp;
/* config_id */
- rv = ssl3_ExtConsumeHandshakeVariable(ss, &configId, 1,
- &data->data, &data->len);
+ rv = ssl3_ExtConsumeHandshakeNumber(ss, &tmp, 1,
+ &data->data, &data->len);
if (rv != SECSuccess) {
goto alert_loser;
}
+ configId = tmp;
/* enc */
rv = ssl3_ExtConsumeHandshakeVariable(ss, &senderPubKey, 2,
@@ -1530,7 +1531,7 @@ tls13_ServerHandleEchXtn(const sslSocket *ss, TLSExtensionData *xtnData,
if (!ss->ssl3.hs.helloRetry) {
/* In the real ECH HRR case, config_id and enc should be empty. This
* is checked after acceptance, because it might be GREASE ECH. */
- if (!configId.len || !senderPubKey.len) {
+ if (!senderPubKey.len) {
goto alert_loser;
}
@@ -1538,17 +1539,13 @@ tls13_ServerHandleEchXtn(const sslSocket *ss, TLSExtensionData *xtnData,
if (rv == SECFailure) {
return SECFailure;
}
-
- rv = SECITEM_CopyItem(NULL, &xtnData->ech->configId, &configId);
- if (rv == SECFailure) {
- return SECFailure;
- }
}
rv = SECITEM_CopyItem(NULL, &xtnData->ech->innerCh, &encryptedCh);
if (rv == SECFailure) {
return SECFailure;
}
+ xtnData->ech->configId = configId;
xtnData->ech->kdfId = kdf;
xtnData->ech->aeadId = aead;
diff --git a/security/nss/lib/ssl/tls13hashstate.c b/security/nss/lib/ssl/tls13hashstate.c
index ada22b6e316ad..1c077dd9bdcd2 100644
--- a/security/nss/lib/ssl/tls13hashstate.c
+++ b/security/nss/lib/ssl/tls13hashstate.c
@@ -24,9 +24,9 @@
* uint8 indicator = 0xff; // To disambiguate from tickets.
* uint16 cipherSuite; // Selected cipher suite.
* uint16 keyShare; // Requested key share group (0=none)
+ * PRUint8 echConfigId; // ECH config_id
* HpkeKdfId kdfId; // ECH KDF (uint16)
* HpkeAeadId aeadId; // ECH AEAD (uint16)
- * opaque echConfigId<0..255>; // ECH config_id
* opaque echHpkeCtx<0..65535>; // ECH serialized HPKE context
* opaque applicationToken<0..65535>; // Application token
* opaque ch_hash[rest_of_buffer]; // H(ClientHello)
@@ -63,20 +63,23 @@ tls13_MakeHrrCookie(sslSocket *ss, const sslNamedGroupDef *selectedGroup,
}
if (ss->xtnData.ech) {
- rv = sslBuffer_AppendNumber(&cookieBuf, ss->xtnData.ech->kdfId, 2);
+ /* Record that we received ECH. */
+ rv = sslBuffer_AppendNumber(&cookieBuf, PR_TRUE, 1);
if (rv != SECSuccess) {
return SECFailure;
}
- rv = sslBuffer_AppendNumber(&cookieBuf, ss->xtnData.ech->aeadId, 2);
+
+ rv = sslBuffer_AppendNumber(&cookieBuf, ss->xtnData.ech->configId,
+ 1);
if (rv != SECSuccess) {
return SECFailure;
}
- /* Received ECH config_id, regardless of acceptance or possession
- * of a matching ECHConfig. */
- PORT_Assert(ss->xtnData.ech->configId.len == 8);
- rv = sslBuffer_AppendVariable(&cookieBuf, ss->xtnData.ech->configId.data,
- ss->xtnData.ech->configId.len, 1);
+ rv = sslBuffer_AppendNumber(&cookieBuf, ss->xtnData.ech->kdfId, 2);
+ if (rv != SECSuccess) {
+ return SECFailure;
+ }
+ rv = sslBuffer_AppendNumber(&cookieBuf, ss->xtnData.ech->aeadId, 2);
if (rv != SECSuccess) {
return SECFailure;
}
@@ -97,7 +100,7 @@ tls13_MakeHrrCookie(sslSocket *ss, const sslNamedGroupDef *selectedGroup,
return SECFailure;
}
} else {
- rv = sslBuffer_AppendNumber(&cookieBuf, 0, 7);
+ rv = sslBuffer_AppendNumber(&cookieBuf, PR_FALSE, 1);
if (rv != SECSuccess) {
return SECFailure;
}
@@ -132,7 +135,9 @@ tls13_MakeHrrCookie(sslSocket *ss, const sslNamedGroupDef *selectedGroup,
/* Given a cookie and cookieLen, decrypt and parse, returning
* any values that were requested via the "previous_" params. If
* recoverState is true, the transcript state and application
- * token are restored. */
+ * token are restored. Note that previousEchKdfId, previousEchAeadId,
+ * previousEchConfigId, and previousEchHpkeCtx are not modified if ECH was not
+ * previously negotiated (i.e., previousEchOffered is PR_FALSE). */
SECStatus
tls13_HandleHrrCookie(sslSocket *ss,
unsigned char *cookie, unsigned int cookieLen,
@@ -141,7 +146,7 @@ tls13_HandleHrrCookie(sslSocket *ss,
PRBool *previousEchOffered,
HpkeKdfId *previousEchKdfId,
HpkeAeadId *previousEchAeadId,
- SECItem *previousEchConfigId,
+ PRUint8 *previousEchConfigId,
HpkeContext **previousEchHpkeCtx,
PRBool recoverState)
{
@@ -150,12 +155,13 @@ tls13_HandleHrrCookie(sslSocket *ss,
unsigned int plaintextLen = 0;
sslBuffer messageBuf = SSL_BUFFER_EMPTY;
sslReadBuffer echHpkeBuf = { 0 };
- sslReadBuffer echConfigIdBuf = { 0 };
+ PRBool receivedEch;
+ PRUint8 echConfigId = 0;
PRUint64 sentinel;
PRUint64 cipherSuite;
HpkeContext *hpkeContext = NULL;
- HpkeKdfId echKdfId;
- HpkeAeadId echAeadId;
+ HpkeKdfId echKdfId = 0;
+ HpkeAeadId echAeadId = 0;
PRUint64 group;
PRUint64 tmp64;
const sslNamedGroupDef *selectedGroup;
@@ -190,31 +196,54 @@ tls13_HandleHrrCookie(sslSocket *ss,
}
selectedGroup = ssl_LookupNamedGroup(group);
- /* ECH Ciphersuite */
- rv = sslRead_ReadNumber(&reader, 2, &tmp64);
+ /* Was ECH received. */
+ rv = sslRead_ReadNumber(&reader, 1, &tmp64);
if (rv != SECSuccess) {
FATAL_ERROR(ss, SSL_ERROR_RX_MALFORMED_CLIENT_HELLO, illegal_parameter);
return SECFailure;
}
- echKdfId = (HpkeKdfId)tmp64;
+ receivedEch = tmp64 == PR_TRUE;
- rv = sslRead_ReadNumber(&reader, 2, &tmp64);
- if (rv != SECSuccess) {
- FATAL_ERROR(ss, SSL_ERROR_RX_MALFORMED_CLIENT_HELLO, illegal_parameter);
- return SECFailure;
- }
- echAeadId = (HpkeAeadId)tmp64;
+ if (receivedEch) {
+ /* ECH config ID */
+ rv = sslRead_ReadNumber(&reader, 1, &tmp64);
+ if (rv != SECSuccess) {
+ FATAL_ERROR(ss, SSL_ERROR_RX_MALFORMED_CLIENT_HELLO, illegal_parameter);
+ return SECFailure;
+ }
+ echConfigId = tmp64;
- /* ECH Config ID and HPKE context may be empty. */
- rv = sslRead_ReadVariable(&reader, 1, &echConfigIdBuf);
- if (rv != SECSuccess) {
- FATAL_ERROR(ss, SSL_ERROR_RX_MALFORMED_CLIENT_HELLO, illegal_parameter);
- return SECFailure;
- }
- rv = sslRead_ReadVariable(&reader, 2, &echHpkeBuf);
- if (rv != SECSuccess) {
- FATAL_ERROR(ss, SSL_ERROR_RX_MALFORMED_CLIENT_HELLO, illegal_parameter);
- return SECFailure;
+ /* ECH Ciphersuite */
+ rv = sslRead_ReadNumber(&reader, 2, &tmp64);
+ if (rv != SECSuccess) {
+ FATAL_ERROR(ss, SSL_ERROR_RX_MALFORMED_CLIENT_HELLO, illegal_parameter);
+ return SECFailure;
+ }
+ echKdfId = (HpkeKdfId)tmp64;
+
+ rv = sslRead_ReadNumber(&reader, 2, &tmp64);
+ if (rv != SECSuccess) {
+ FATAL_ERROR(ss, SSL_ERROR_RX_MALFORMED_CLIENT_HELLO, illegal_parameter);
+ return SECFailure;
+ }
+ echAeadId = (HpkeAeadId)tmp64;
+
+ /* ECH HPKE context may be empty. */
+ rv = sslRead_ReadVariable(&reader, 2, &echHpkeBuf);
+ if (rv != SECSuccess) {
+ FATAL_ERROR(ss, SSL_ERROR_RX_MALFORMED_CLIENT_HELLO, illegal_parameter);
+ return SECFailure;
+ }
+
+ if (previousEchHpkeCtx && echHpkeBuf.len) {
+ const SECItem hpkeItem = { siBuffer, CONST_CAST(unsigned char, echHpkeBuf.buf),
+ echHpkeBuf.len };
+ hpkeContext = PK11_HPKE_ImportContext(&hpkeItem, NULL);
+ if (!hpkeContext) {
+ FATAL_ERROR(ss, PORT_GetError(), illegal_parameter);
+ return SECFailure;
+ }
+ }
}
/* Application token. */
@@ -276,36 +305,6 @@ tls13_HandleHrrCookie(sslSocket *ss,
}
}
- if (previousEchHpkeCtx && echHpkeBuf.len) {
- const SECItem hpkeItem = { siBuffer, CONST_CAST(unsigned char, echHpkeBuf.buf),
- echHpkeBuf.len };
- hpkeContext = PK11_HPKE_ImportContext(&hpkeItem, NULL);
- if (!hpkeContext) {
- FATAL_ERROR(ss, PORT_GetError(), illegal_parameter);
- return SECFailure;
- }
- }
-
- if (previousEchConfigId && echConfigIdBuf.len) {
- SECItem tmp = { siBuffer, NULL, 0 };
- rv = SECITEM_MakeItem(NULL, &tmp, echConfigIdBuf.buf, echConfigIdBuf.len);
- if (rv != SECSuccess) {
- PK11_HPKE_DestroyContext(hpkeContext, PR_TRUE);
- FATAL_ERROR(ss, PORT_GetError(), internal_error);
- return SECFailure;
- }
- *previousEchConfigId = tmp;
- }
-
- if (previousEchKdfId) {
- *previousEchKdfId = echKdfId;
- }
- if (previousEchAeadId) {
- *previousEchAeadId = echAeadId;
- }
- if (previousEchHpkeCtx) {
- *previousEchHpkeCtx = hpkeContext;
- }
if (previousCipherSuite) {
*previousCipherSuite = cipherSuite;
}
@@ -313,7 +312,21 @@ tls13_HandleHrrCookie(sslSocket *ss,
*previousGroup = selectedGroup;
}
if (previousEchOffered) {
- *previousEchOffered = echConfigIdBuf.len > 0;
+ *previousEchOffered = receivedEch;
+ }
+ if (receivedEch) {
+ if (previousEchConfigId) {
+ *previousEchConfigId = echConfigId;
+ }
+ if (previousEchKdfId) {
+ *previousEchKdfId = echKdfId;
+ }
+ if (previousEchAeadId) {
+ *previousEchAeadId = echAeadId;
+ }
+ if (previousEchHpkeCtx) {
+ *previousEchHpkeCtx = hpkeContext;
+ }
}
return SECSuccess;
}
diff --git a/security/nss/lib/ssl/tls13hashstate.h b/security/nss/lib/ssl/tls13hashstate.h
index 2ea7b493b67c4..91e93fcf7e96d 100644
--- a/security/nss/lib/ssl/tls13hashstate.h
+++ b/security/nss/lib/ssl/tls13hashstate.h
@@ -24,7 +24,7 @@ SECStatus tls13_HandleHrrCookie(sslSocket *ss,
PRBool *previousEchOffered,
HpkeKdfId *previousEchKdfId,
HpkeAeadId *previousEchAeadId,
- SECItem *previousEchConfigId,
+ PRUint8 *previousEchConfigId,
HpkeContext **previousEchHpkeCtx,
PRBool recoverState);
#endif
diff --git a/security/nss/lib/util/secoidt.h b/security/nss/lib/util/secoidt.h
index c73829ef86386..2b7eb2139eaf5 100644
--- a/security/nss/lib/util/secoidt.h
+++ b/security/nss/lib/util/secoidt.h
@@ -538,7 +538,8 @@ struct SECOidDataStr {
#define NSS_USE_ALG_IN_SSL_KX 0x00000004 /* used in SSL key exchange */
#define NSS_USE_ALG_IN_SSL 0x00000008 /* used in SSL record protocol */
#define NSS_USE_POLICY_IN_SSL 0x00000010 /* enable policy in SSL protocol */
-#define NSS_USE_ALG_IN_ANY_SIGNATURE 0x00000020 /* used in S/MIME */
+#define NSS_USE_ALG_IN_ANY_SIGNATURE 0x00000020 /* used in any signature */
+#define NSS_USE_ALG_IN_PKCS12 0x00000040 /* used in pkcs12 */
#define NSS_USE_DEFAULT_NOT_VALID 0x80000000 /* clear to make the default flag valid */
#define NSS_USE_DEFAULT_SSL_ENABLE 0x40000000 /* default cipher suite setting 1=enable */
diff --git a/security/nss/tests/tools/tools.sh b/security/nss/tests/tools/tools.sh
old mode 100644
new mode 100755
index 7cf1ef73f86a4..19d8b1903fb31
--- a/security/nss/tests/tools/tools.sh
+++ b/security/nss/tests/tools/tools.sh
@@ -1,4 +1,4 @@
-#! /bin/bash
+#! /bin/bash
#
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
@@ -8,7 +8,7 @@
#
# mozilla/security/nss/tests/tools/tools.sh
#
-# Script to test basic functionality of NSS tools
+# Script to test basic functionality of NSS tools
#
# needs to work on all Unix and Windows platforms
#
@@ -23,29 +23,20 @@
########################################################################
export pkcs12v2pbeWithSha1And128BitRc4=\
-"PKCS #12 V2 PBE With SHA-1 and 128 Bit RC4"
+"PKCS #12 V2 PBE With SHA-1 And 128 Bit RC4"
export pkcs12v2pbeWithSha1And40BitRc4=\
-"PKCS #12 V2 PBE With SHA-1 and 40 Bit RC4"
+"PKCS #12 V2 PBE With SHA-1 And 40 Bit RC4"
export pkcs12v2pbeWithSha1AndTripleDESCBC=\
-"PKCS #12 V2 PBE With SHA-1 and 3KEY Triple DES-CBC"
+"PKCS #12 V2 PBE With SHA-1 And 3KEY Triple DES-CBC"
export pkcs12v2pbeWithSha1And128BitRc2Cbc=\
-"PKCS #12 V2 PBE With SHA-1 and 128 Bit RC2 CBC"
+"PKCS #12 V2 PBE With SHA-1 And 128 Bit RC2 CBC"
export pkcs12v2pbeWithSha1And40BitRc2Cbc=\
-"PKCS #12 V2 PBE With SHA-1 and 40 Bit RC2 CBC"
+"PKCS #12 V2 PBE With SHA-1 And 40 Bit RC2 CBC"
- export pkcs12v2pbeWithMd2AndDESCBC=\
-"PKCS #5 Password Based Encryption with MD2 and DES-CBC"
-
- export pkcs12v2pbeWithMd5AndDESCBC=\
-"PKCS #5 Password Based Encryption with MD5 and DES-CBC"
-
- export pkcs12v2pbeWithSha1AndDESCBC=\
-"PKCS #5 Password Based Encryption with SHA-1 and DES-CBC"
-
export pkcs5pbeWithMD2AndDEScbc=\
"PKCS #5 Password Based Encryption with MD2 and DES-CBC"
@@ -55,8 +46,28 @@
export pkcs5pbeWithSha1AndDEScbc=\
"PKCS #5 Password Based Encryption with SHA-1 and DES-CBC"
+ # if we change the defaults in pk12util, update these variables
+ export CERT_ENCRYPTION_DEFAULT="AES-128-CBC"
+ export KEY_ENCRYPTION_DEFAULT="AES-256-CBC"
+ export HASH_DEFAULT="SHA-256"
+
+ export PKCS5v1_PBE_CIPHERS="${pkcs5pbeWithMD2AndDEScbc},\
+${pkcs5pbeWithMD5AndDEScbc},\
+${pkcs5pbeWithSha1AndDEScbc}"
+ export PKCS12_PBE_CIPHERS="${pkcs12v2pbeWithSha1And128BitRc4},\
+${pkcs12v2pbeWithSha1And40BitRc4},\
+${pkcs12v2pbeWithSha1AndTripleDESCBC},\
+${pkcs12v2pbeWithSha1And128BitRc2Cbc},\
+${pkcs12v2pbeWithSha1And40BitRc2Cbc}"
+ export PKCS5v2_PBE_CIPHERS="RC2-CBC,DES-EDE3-CBC,AES-128-CBC,AES-192-CBC,\
+AES-256-CBC,CAMELLIA-128-CBC,CAMELLIA-192-CBC,CAMELLIA-256-CBC"
+ export PBE_CIPHERS="${PKCS5v1_PBE_CIPHERS},${PKCS12_PBE_CIPHERS},${PKCS5v2_PBE_CIPHERS}"
+ export PBE_CIPHERS_CLASSES="${pkcs5pbeWithSha1AndDEScbc},\
+${pkcs12v2pbeWithSha1AndTripleDESCBC},AES-256-CBC,default"
+ export PBE_HASH="SHA-1,SHA-224,SHA-256,SHA-384,SHA-512,default"
+
############################## tools_init ##############################
-# local shell function to initialize this script
+# local shell function to initialize this script
########################################################################
tools_init()
{
@@ -117,7 +128,7 @@ list_p12_file()
{
echo "$SCRIPTNAME: Listing Alice's pk12 file"
echo "pk12util -l ${1} -w ${R_PWFILE}"
-
+
${BINDIR}/pk12util -l ${1} -w ${R_PWFILE} 2>&1
ret=$?
html_msg $ret 0 "Listing ${1} (pk12util -l)"
@@ -131,105 +142,70 @@ import_p12_file()
{
echo "$SCRIPTNAME: Importing Alice's pk12 ${1} file"
echo "pk12util -i ${1} -d ${P_R_COPYDIR} -k ${R_PWFILE} -w ${R_PWFILE}"
-
+
${BINDIR}/pk12util -i ${1} -d ${P_R_COPYDIR} -k ${R_PWFILE} -w ${R_PWFILE} 2>&1
ret=$?
html_msg $ret 0 "Importing ${1} (pk12util -i)"
check_tmpfile
}
-########################################################################
-# Export the key and cert to a p12 file using default ciphers
-########################################################################
-export_with_default_ciphers()
-{
- echo "$SCRIPTNAME: Exporting Alice's key & cert with [default:default] (pk12util -o)"
- echo "pk12util -o Alice.p12 -n \"Alice\" -d ${P_R_ALICEDIR} \\"
- echo " -k ${R_PWFILE} -w ${R_PWFILE}"
- ${BINDIR}/pk12util -o Alice.p12 -n "Alice" -d ${P_R_ALICEDIR} \
- -k ${R_PWFILE} -w ${R_PWFILE} 2>&1
- ret=$?
- html_msg $ret 0 "Exporting Alices's key & cert with [default:default] (pk12util -o)"
- check_tmpfile
- return $ret
-}
########################################################################
-# Exports key/cert to a p12 file, the key encryption cipher is specified
-# and the cert encryption cipher is blank for default.
+# Export the key and cert from the specified p12 file
########################################################################
-export_with_key_cipher()
+export_p12_file()
{
- # $1 key encryption cipher
- echo "$SCRIPTNAME: Exporting with [${1}:default]"
- echo "pk12util -o Alice.p12 -n \"Alice\" -d ${P_R_ALICEDIR} \\"
- echo " -k ${R_PWFILE} -w ${R_PWFILE} -c ${1}"
- ${BINDIR}/pk12util -o Alice.p12 -n "Alice" -d ${P_R_ALICEDIR} \
- -k ${R_PWFILE} -w ${R_PWFILE} -c "${1}" 2>&1
- ret=$?
- html_msg $ret 0 "Exporting with [${1}:default] (pk12util -o)"
- check_tmpfile
- return $ret
-}
-
-########################################################################
-# Exports key/cert to a p12 file, the key encryption cipher is left
-# empty for default and the cert encryption cipher is specified.
-########################################################################
-export_with_cert_cipher()
-{
- # $1 certificate encryption cipher
- echo "$SCRIPTNAME: Exporting with [default:${1}]"
- echo "pk12util -o Alice.p12 -n \"Alice\" -d ${P_R_ALICEDIR} \\"
- echo " -k ${R_PWFILE} -w ${R_PWFILE} -C ${1}"
- ${BINDIR}/pk12util -o Alice.p12 -n "Alice" -d ${P_R_ALICEDIR} \
- -k ${R_PWFILE} -w ${R_PWFILE} -C "${1}" 2>&1
- ret=$?
- html_msg $ret 0 "Exporting with [default:${1}] (pk12util -o)"
- check_tmpfile
- return $ret
-}
+ # $1 p12 file
+ # $2 cert to export
+ # $3 certdb
+ # $4 key encryption cipher or "default"
+ # $5 certificate encryption cipher or "default"
+ # $6 hash algorithm or "default"
+ KEY_CIPHER_OPT="-c"
+ KEY_CIPHER="${4}"
+ CERT_CIPHER_OPT="-C"
+ CERT_CIPHER="${5}"
+ HASH_ALG_OPT="-M"
+ HASH_ALG="${6}"
+
+ if [ "${KEY_CIPHER}" = "default" ]; then
+ KEY_CIPHER_OPT=""
+ KEY_CIPHER=""
+ fi
+ if [ "${CERT_CIPHER}" = "default" ]; then
+ CERT_CIPHER_OPT=""
+ CERT_CIPHER=""
+ fi
+ if [ "${HASH_ALG}" = "default" ]; then
+ HASH_ALG_OPT=""
+ HASH_ALG=""
+ fi
-########################################################################
-# Exports key/cert to a p12 file, both the key encryption cipher and
-# the cert encryption cipher are specified.
-########################################################################
-export_with_both_key_and_cert_cipher()
-{
- # $1 key encryption cipher or ""
- # $2 certificate encryption cipher or ""
-
- echo "pk12util -o Alice.p12 -n \"Alice\" -d ${P_R_ALICEDIR} \\"
- echo " -k ${R_PWFILE} -w ${R_PWFILE} -c ${1} -C ${2}"
- ${BINDIR}/pk12util -o Alice.p12 -n Alice -d ${P_R_ALICEDIR} \
+ echo "pk12util -o \"${1}\" -n \"${2}\" -d \"${3}\" \\"
+ echo " -k ${R_PWFILE} -w ${R_PWFILE} \\"
+ echo " ${KEY_CIPHER_OPT} \"${KEY_CIPHER}\" \\"
+ echo " ${CERT_CIPHER_OPT} \"${CERT_CIPHER}\" \\"
+ echo " ${HASH_ALG_OPT} \"${HASH_ALG}\""
+ ${BINDIR}/pk12util -o "${1}" -n "${2}" -d "${3}" \
-k ${R_PWFILE} -w ${R_PWFILE} \
- -c "${1}" -C "${2}" 2>&1
- ret=$?
- html_msg $ret 0 "Exporting with [${1}:${2}] (pk12util -o)"
+ ${KEY_CIPHER_OPT} "${KEY_CIPHER}" \
+ ${CERT_CIPHER_OPT} "${CERT_CIPHER}" \
+ ${HASH_ALG_OPT} "${HASH_ALG}" 2>&1
+ ret=$?
+ html_msg $ret 0 "Exporting with [${4}:${5}:${6}] (pk12util -o)"
check_tmpfile
+ verify_p12 "${1}" "${4}" "${5}" "${6}"
return $ret
}
########################################################################
-# Exports key and cert to a p12 file, both the key encryption cipher
-# and the cert encryption cipher are specified. The key and cert are
-# imported and the p12 file is listed
+# Exports key and cert to a p12 file, the key encryption cipher,
+# the cert encryption cipher, and/or the hash algorithm are specified.
+# The key and cert are imported and the p12 file is listed
########################################################################
export_list_import()
{
- # $1 key encryption cipher
- # $2 certificate encryption cipher
-
- if [ "${1}" != "DEFAULT" -a "${2}" != "DEFAULT" ]; then
- export_with_both_key_and_cert_cipher "${1}" "${2}"
- elif [ "${1}" != "DEFAULT" -a "${2}" = "DEFAULT" ]; then
- export_with_key_cipher "${1}"
- elif [ "${1}" = "DEFAULT" -a "${2}" != "DEFAULT" ]; then
- export_with_cert_cipher "${2}"
- else
- export_with_default_ciphers
- fi
-
+ export_p12_file Alice.p12 Alice "${P_R_ALICEDIR}" "${@}"
list_p12_file Alice.p12
import_p12_file Alice.p12
}
@@ -239,20 +215,17 @@ export_list_import()
# List the contents of and import from the p12 file.
########################################################################
tools_p12_export_list_import_all_pkcs5pbe_ciphers()
-{
- # specify each on key and cert cipher
- for key_cipher in "${pkcs5pbeWithMD2AndDEScbc}" \
- "${pkcs5pbeWithMD5AndDEScbc}" \
- "${pkcs5pbeWithSha1AndDEScbc}"\
- "DEFAULT"; do
- for cert_cipher in "${pkcs5pbeWithMD2AndDEScbc}" \
- "${pkcs5pbeWithMD5AndDEScbc}" \
- "${pkcs5pbeWithSha1AndDEScbc}" \
- "DEFAULT"\
- "none"; do
- export_list_import "${key_cipher}" "${cert_cipher}"
- done
+{
+ local saveIFS="${IFS}"
+ IFS=,
+ for key_cipher in ${PKCS5v1_PBE_CIPHERS} default; do
+ for cert_cipher in ${PKCS5v1_PBE_CIPHERS} default none; do
+ for hash in ${PBE_HASH}; do
+ export_list_import "${key_cipher}" "${cert_cipher}" "${hash}"
+ done
+ done
done
+ IFS="${saveIFS}"
}
########################################################################
@@ -261,36 +234,16 @@ tools_p12_export_list_import_all_pkcs5pbe_ciphers()
########################################################################
tools_p12_export_list_import_all_pkcs5v2_ciphers()
{
- # These should pass
- for key_cipher in\
- RC2-CBC \
- DES-EDE3-CBC \
- AES-128-CBC \
- AES-192-CBC \
- AES-256-CBC \
- CAMELLIA-128-CBC \
- CAMELLIA-192-CBC \
- CAMELLIA-256-CBC; do
-
-#---------------------------------------------------------------
-# Bug 452464 - pk12util -o fails when -C option specifies
-# Camellia ciphers
-# FIXME Restore these to the list
-# CAMELLIA-128-CBC, \
-# CAMELLIA-192-CBC, \
-# CAMELLIA-256-CBC, \
-# when 452464 is fixed
-#---------------------------------------------------------------
- for cert_cipher in \
- RC2-CBC \
- DES-EDE3-CBC \
- AES-128-CBC \
- AES-192-CBC \
- AES-256-CBC \
- none; do
- export_list_import ${key_cipher} ${cert_cipher}
- done
+ local saveIFS="${IFS}"
+ IFS=,
+ for key_cipher in ${PKCS5v2_PBE_CIPHERS} default; do
+ for cert_cipher in ${PKCS5v2_PBE_CIPHERS} default none; do
+ for hash in ${PBE_HASH}; do
+ export_list_import "${key_cipher}" "${cert_cipher}" "${hash}"
+ done
+ done
done
+ IFS="${saveIFS}"
}
########################################################################
@@ -298,36 +251,50 @@ tools_p12_export_list_import_all_pkcs5v2_ciphers()
# List the contents of and import from the p12 file.
########################################################################
tools_p12_export_list_import_all_pkcs12v2pbe_ciphers()
-{
-#---------------------------------------------------------------
-# Bug 452471 - pk12util -o fails when -c option specifies pkcs12v2 PBE ciphers
-# FIXME - Restore these to the list
-# "${pkcs12v2pbeWithSha1And128BitRc4}" \
-# "${pkcs12v2pbeWithSha1And40BitRc4}" \
-# "${pkcs12v2pbeWithSha1AndTripleDESCBC}" \
-# "${pkcs12v2pbeWithSha1And128BitRc2Cbc}" \
-# "${pkcs12v2pbeWithSha1And40BitRc2Cbc}" \
-# "${pkcs12v2pbeWithMd2AndDESCBC}" \
-# "${pkcs12v2pbeWithMd5AndDESCBC}" \
-# "${pkcs12v2pbeWithSha1AndDESCBC}" \
-# "DEFAULT"; do
-# when 452471 is fixed
-#---------------------------------------------------------------
-# for key_cipher in \
- key_cipher="DEFAULT"
- for cert_cipher in "${pkcs12v2pbeWithSha1And128BitRc4}" \
- "${pkcs12v2pbeWithSha1And40BitRc4}" \
- "${pkcs12v2pbeWithSha1AndTripleDESCBC}" \
- "${pkcs12v2pbeWithSha1And128BitRc2Cbc}" \
- "${pkcs12v2pbeWithSha1And40BitRc2Cbc}" \
- "${pkcs12v2pbeWithMd2AndDESCBC}" \
- "${pkcs12v2pbeWithMd5AndDESCBC}" \
- "${pkcs12v2pbeWithSha1AndDESCBC}" \
- "DEFAULT"\
- "none"; do
- export_list_import "${key_cipher}" "${cert_cipher}"
- done
- #done
+{
+ local saveIFS="${IFS}"
+ IFS=,
+ for key_cipher in ${PKCS12_PBE_CIPHERS} ${PKCS5v1_PBE_CIPHERS} default; do
+ for cert_cipher in ${PKCS12_PBE_CIPHERS} ${PKCS5v1_PBE_CIPHERS} default none; do
+ for hash in ${PBE_HASH}; do
+ export_list_import "${key_cipher}" "${cert_cipher}" "${hash}"
+ done
+ done
+ done
+ IFS="${saveIFS}"
+}
+
+########################################################################
+# Spot check all ciphers.
+# using the traditional tests, we wind up running almost 1300 tests.
+# This isn't too bad for debug builds in which the interator is set to 1000.
+# for optimized builds, the iterator is set to 60000, which means a 30
+# minute test will now take more than 2 hours. This tests most combinations
+# and results in only about 300 tests. We are stil testing all ciphers
+# for both key and cert encryption, and we are testing them against
+# one of each class of cipher (pkcs5v1, pkcs5v2, pkcs12).
+########################################################################
+tools_p12_export_list_import_most_ciphers()
+{
+ local saveIFS="${IFS}"
+ IFS=,
+ for cipher in ${PBE_CIPHERS}; do
+ for class in ${PBE_CIPHERS_CLASSES}; do
+ # we'll test the case of cipher == class below the for loop
+ if [ "${cipher}" != "${class}" ]; then
+ export_list_import "${class}" "${cipher}" "SHA-1"
+ export_list_import "${cipher}" "${class}" "SHA-256"
+ fi
+ done
+ export_list_import "${cipher}" "none" "SHA-224"
+ export_list_import "${cipher}" "${cipher}" "SHA-384"
+ done
+ for class in ${PBE_CIPHERS_CLASSES}; do
+ for hash in ${PBE_HASH}; do
+ export_list_import "${class}" "${class}" "${hash}"
+ done
+ done
+ IFS="${saveIFS}"
}
#########################################################################
@@ -337,28 +304,28 @@ tools_p12_export_with_none_ciphers()
{
# use none as the key encryption algorithm default for the cert one
# should fail
-
+
echo "pk12util -o Alice.p12 -n \"Alice\" -d ${P_R_ALICEDIR} \\"
- echo " -k ${R_PWFILE} -w ${R_PWFILE} -c none"
+ echo " -k ${R_PWFILE} -w ${R_PWFILE} -c none"
${BINDIR}/pk12util -o Alice.p12 -n Alice -d ${P_R_ALICEDIR} \
-k ${R_PWFILE} -w ${R_PWFILE} \
- -c none 2>&1
+ -c none 2>&1
ret=$?
- html_msg $ret 30 "Exporting with [none:default] (pk12util -o)"
+ html_msg $ret 30 "Exporting with [none:default:default] (pk12util -o)"
check_tmpfile
# use default as the key encryption algorithm none for the cert one
# should pass
-
+
echo "pk12util -o Alice.p12 -n \"Alice\" -d ${P_R_ALICEDIR} \\"
- echo " -k ${R_PWFILE} -w ${R_PWFILE} -C none"
+ echo " -k ${R_PWFILE} -w ${R_PWFILE} -C none"
${BINDIR}/pk12util -o Alice.p12 -n Alice -d ${P_R_ALICEDIR} \
-k ${R_PWFILE} -w ${R_PWFILE} \
- -C none 2>&1
+ -C none 2>&1
ret=$?
- html_msg $ret 0 "Exporting with [default:none] (pk12util -o)"
+ html_msg $ret 0 "Exporting with [default:none:default] (pk12util -o)"
check_tmpfile
-
+ verify_p12 Alice.p12 "default" "none" "default"
}
#########################################################################
@@ -394,17 +361,18 @@ tools_p12_export_with_invalid_ciphers()
tools_p12_export_list_import_with_default_ciphers()
{
echo "$SCRIPTNAME: Exporting Alice's email cert & key - default ciphers"
-
- export_list_import "DEFAULT" "DEFAULT"
+
+ export_list_import "default" "default" "default"
echo "$SCRIPTNAME: Exporting Alice's email EC cert & key---------------"
echo "pk12util -o Alice-ec.p12 -n \"Alice-ec\" -d ${P_R_ALICEDIR} -k ${R_PWFILE} \\"
echo " -w ${R_PWFILE}"
${BINDIR}/pk12util -o Alice-ec.p12 -n "Alice-ec" -d ${P_R_ALICEDIR} -k ${R_PWFILE} \
- -w ${R_PWFILE} 2>&1
+ -w ${R_PWFILE} 2>&1
ret=$?
html_msg $ret 0 "Exporting Alice's email EC cert & key (pk12util -o)"
check_tmpfile
+ verify_p12 Alice-ec.p12 "default" "default" "default"
echo "$SCRIPTNAME: Importing Alice's email EC cert & key --------------"
echo "pk12util -i Alice-ec.p12 -d ${P_R_COPYDIR} -k ${R_PWFILE} -w ${R_PWFILE}"
@@ -460,9 +428,18 @@ tools_p12_import_rsa_pss_private_key()
tools_p12()
{
tools_p12_export_list_import_with_default_ciphers
- tools_p12_export_list_import_all_pkcs5v2_ciphers
- tools_p12_export_list_import_all_pkcs5pbe_ciphers
- tools_p12_export_list_import_all_pkcs12v2pbe_ciphers
+ # optimized builds have a larger iterator, so they can't run as many
+ # pkcs12 tests and complete in a reasonable time. Use the iterateration
+ # count from the previous tests to determine how many tests
+ # we can run.
+ iteration_count=$(pp -t p12 -i Alice-ec.p12 | grep "Iterations: " | sed -e 's;.*Iterations: ;;' -e 's;(.*).*;;')
+ echo "Iteration count=${iteration_count}"
+ if [ -n "${iteration_count}" -a ${iteration_count} -le 10000 ]; then
+ tools_p12_export_list_import_all_pkcs5v2_ciphers
+ tools_p12_export_list_import_all_pkcs12v2pbe_ciphers
+ else
+ tools_p12_export_list_import_most_ciphers
+ fi
tools_p12_export_with_none_ciphers
tools_p12_export_with_invalid_ciphers
tools_p12_import_old_files
@@ -473,7 +450,7 @@ tools_p12()
############################## tools_sign ##############################
# local shell function pk12util uses a hardcoded tmp file, if this exists
-# and is owned by another user we don't get reasonable errormessages
+# and is owned by another user we don't get reasonable errormessages
########################################################################
check_tmpfile()
{
@@ -483,6 +460,163 @@ check_tmpfile()
fi
}
+############################## tools_sign ##############################
+# make sure the generated p12 file has the characteristics we expected
+########################################################################
+verify_p12()
+{
+ KEY_ENCRYPTION=$(map_cipher "${2}" "${KEY_ENCRYPTION_DEFAULT}")
+ CERT_ENCRYPTION=$(map_cipher "${3}" "${CERT_ENCRYPTION_DEFAULT}")
+ HASH=$(map_cipher "${4}" "${HASH_DEFAULT}")
+
+ STATE="NOBAGS" # state records if we are in the key or cert bag
+ CERT_ENCRYPTION_NOT_FOUND=1
+ KEY_ENCRYPTION_NOT_FOUND=1
+ CERT_ENCRYPTION_FAIL=0
+ KEY_ENCRYPTION_FAIL=0
+ HASH_FAIL=0
+ TMP=$(mktemp /tmp/p12Verify.XXXXXX)
+ which pk12util
+ local saveIFS="${IFS}"
+ IFS=" \
+"
+ # use pp to dump the pkcs12 file, only the unencrypted portions are visible
+ # if there are multiple entries, we fail if any of those entries have the
+ # wrong encryption. We also fail if we can't find any encryption info.
+ # Use a file rather than a pipe so that while do can modify our variables.
+ # We're only interested in extracting the encryption algorithms are here,
+ # p12util -l will verify that decryption works properly.
+ pp -t pkcs12 -i ${1} -o ${TMP}
+ while read line ; do
+ # first up: if we see an unencrypted key bag, then we know that the key
+ # was unencrypted (NOTE: pk12util currently can't generate these kinds of
+ # files).
+ if [[ "${line}" =~ "Bag "[0-9]+" ID: PKCS #12 V1 Key Bag" ]]; then
+ KEY_ENCRYPTION_NOT_FOUND=0
+ if [ "${KEY_ENCRYPTION}" != "none" ]; then
+ KEY_ENCRYPTION_FAIL=1
+ echo "--Key encryption mismatch: expected \"${KEY_ENCRYPTION}\" found \"none\""
+ fi
+ continue
+ fi
+ # if we find the the Cert Bag, then we know that the certificate was not
+ # encrypted
+ if [[ "${line}" =~ "Bag "[0-9]+" ID: PKCS #12 V1 Cert Bag" ]]; then
+ CERT_ENCRYPTION_NOT_FOUND=0
+ if [ "${CERT_ENCRYPTION}" != "none" ]; then
+ CERT_ENCRYPTION_FAIL=1
+ echo "--Cert encryption mismatch: expected \"${CERT_ENCRYPTION}\" found \"none\""
+ fi
+ continue
+ fi
+ # we found the shrouded key bag, the next encryption informtion should be
+ # for the key.
+ if [[ "${line}" =~ "Bag "[0-9]+" ID: PKCS #12 V1 PKCS8 Shrouded Key Bag" ]]; then
+ STATE="KEY"
+ continue
+ fi
+ # If we found PKCS #7 Encrypted Data, it must be the encrypted certificate
+ # (well it could be any encrypted certificate, or a crl, but in p12util
+ # they will all have the same encryption value
+ if [[ "${line}" = "PKCS #7 Encrypted Data:" ]]; then
+ STATE="CERT"
+ continue
+ fi
+ # check the Mac
+ if [[ "${line}" =~ "Mac Digest Algorithm ID: ".* ]]; then
+ MAC="${line##Mac Digest Algorithm ID: }"
+ if [ "${MAC}" != "${HASH}" ]; then
+ HASH_FAIL=1
+ echo "--Mac Hash mismatch: expected \"${HASH}\" found \"${MAC}\""
+ fi
+ fi
+ # check the KDF
+ if [[ "${line}" =~ "KDF algorithm: ".* ]]; then
+ KDF="${line##KDF algorithm: }"
+ if [ "${KDF}" != "HMAC ${HASH}" ]; then
+ HASH_FAIL=1
+ echo "--KDF Hash mismatch: expected \"HMAC ${HASH}\" found \"${KDF}\""
+ fi
+ fi
+ # Content Encryption Algorithm is the PKCS #5 algorithm ID.
+ if [[ "${line}" =~ .*"Encryption Algorithm: ".* ]]; then
+ # Strip the [Content ]EncryptionAlgorithm
+ ENCRYPTION="${line##Content }"
+ ENCRYPTION="${ENCRYPTION##Encryption Algorithm: }"
+ # If that algorithm id is PKCS #5 V2, then skip forward looking
+ # for the Cipher: field.
+ if [[ "${ENCRYPTION}" =~ "PKCS #5 Password Based Encryption v2"\ * ]]; then
+ continue;
+ fi
+ case ${STATE} in
+ "KEY")
+ KEY_ENCRYPTION_NOT_FOUND=0
+ if [ "${KEY_ENCRYPTION}" != "${ENCRYPTION}" ]; then
+ KEY_ENCRYPTION_FAIL=1
+ echo "--Key encryption mismatch: expected \"${KEY_ENCRYPTION}\" found \"${ENCRYPTION}\""
+ fi
+ ;;
+ "CERT")
+ CERT_ENCRYPTION_NOT_FOUND=0
+ if [ "${CERT_ENCRYPTION}" != "${ENCRYPTION}" ]; then
+ CERT_ENCRYPTION_FAIL=1
+ echo "--Cert encryption mismatch: expected \"${CERT_ENCRYPTION}\" found \"${ENCRYPTION}\""
+ fi
+ ;;
+ esac
+ fi
+ # handle the PKCS 5 case
+ if [[ "${line}" =~ "Cipher: ".* ]]; then
+ ENCRYPTION="${line#Cipher: }"
+ case ${STATE} in
+ "KEY")
+ KEY_ENCRYPTION_NOT_FOUND=0
+ if [ "${KEY_ENCRYPTION}" != "${ENCRYPTION}" ]; then
+ KEY_ENCRYPTION_FAIL=1
+ echo "--Key encryption mismatch: expected \"${KEY_ENCRYPTION}\" found \"${ENCRYPTION}\""
+ fi
+ ;;
+ "CERT")
+ CERT_ENCRYPTION_NOT_FOUND=0
+ if [ "${CERT_ENCRYPTION}" != "${ENCRYPTION}" ]; then
+ CERT_ENCRYPTION_FAIL=1
+ echo "--Cert encryption mismatch: expected \"${CERT_ENCRYPTION}\" found \"${ENCRYPTION}\""
+ fi
+ ;;
+ esac
+ fi
+ done < ${TMP}
+ IFS="${saveIFS}"
+ # we've scanned the file, set the return value to a combination of
+ # KEY and CERT state variables. If everything is as expected, they should
+ # add up to 0.
+ ret=$((${HASH_FAIL} * 10000 + ${KEY_ENCRYPTION_FAIL} * 1000 + ${KEY_ENCRYPTION_NOT_FOUND} * 100 + ${CERT_ENCRYPTION_FAIL} * 10 + ${CERT_ENCRYPTION_NOT_FOUND}))
+ rm -r ${TMP}
+ html_msg $ret 0 "Verifying p12 file generated with [${2}:${3}:${4}]"
+}
+
+#
+# this handles any mapping we need from requested cipher to
+# actual cipher. For instance ciphers which already have
+# PKCS 5 v1 PBE will be mapped to those pbes by pk12util.
+map_cipher()
+{
+ if [ "${1}" = "default" ]; then
+ echo "${2}"
+ return
+ fi
+ case "${1}" in
+ # these get mapped to the PKCS5 v1 or PKCS 12 attributes, not PKCS 5v2
+ RC2-CBC)
+ echo "${pkcs12v2pbeWithSha1And128BitRc2Cbc}"
+ return ;;
+ DES-EDE3-CBC)
+ echo "${pkcs12v2pbeWithSha1AndTripleDESCBC}"
+ return;;
+ esac
+ echo "${1}"
+}
+
############################## tools_sign ##############################
# local shell function to test basic functionality of signtool
########################################################################
@@ -554,7 +688,7 @@ tools_modutil()
}
############################## tools_cleanup ###########################
-# local shell function to finish this script (no exit since it might be
+# local shell function to finish this script (no exit since it might be
# sourced)
########################################################################
tools_cleanup()