diff --git a/CHANGELOG.md b/CHANGELOG.md index f4ac8d6..d65ba32 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,11 @@ Cambios notables de la librería TypeScript y de la página. El proyecto usa ver ## Especificación 0.10, en la rama `v0.10` — sin versión +### El localizador sellado, comprobado antes de la fecha (06-10-2026) + +- `parseInfo` comprueba el localizador sellado como `ParseInfo` de Go desde `69dbb0c`, a petición del autor: la cadena del stanza tlock en hexadecimal en minúsculas y, si la DateKey es de Quicknet, la de Quicknet; y que el cuerpo tras la cabecera `age` lleve un texto de 4096 bytes o un múltiplo, así que una cabecera sin cuerpo se rechaza. Cada caso es `ERR_EXTENSION_DATA_INVALID` con el texto de Go. `infoExtension` rechaza además una DateKey de un perfil que la librería no fija. El límite de 1 MiB al abrir el localizador se queda, por decisión del autor. +- Los vectores de Go del localizador se regeneran sobre ese commit: cambian solo los casos de esas comprobaciones. + ### La especificación 0.13, aprobada (06-10-2026) - El autor aprobó el 6 de octubre de 2026 el borrador v0.13, NAT64, tal como estaba: `datekeys-go` lo cierra con el tag `spec-v0.13` (`913dd60`). `SPEC_VERSION` pasa a `0.13`, `testdata` se sincroniza con ese tag, y `testing/mutation-texts.json` se regenera con Go: solo cambia el campo `spec` de cada fichero. diff --git a/README.md b/README.md index 3cc581d..223c12a 100644 --- a/README.md +++ b/README.md @@ -110,12 +110,11 @@ Secretos: `access_material` de un `.dkk` e `I_PAYLOAD` de CONTROL_CBOR se borran ### El localizador -El localizador sigue al paquete `locator` de Go también donde el autor tiene decisiones pendientes (apartado de la sesión del 5 y 6 de octubre de `../docs/HANDOFF.md`), para que las dos librerías den lo mismo hasta que Go cambie: +El localizador sigue al paquete `locator` de Go también en esto, que el autor decidió el 6 de octubre de 2026 dejar así: -- `parseInfo` no mira la cadena del stanza sellado, acepta una cabecera `age` sin cuerpo, e `infoExtension` no comprueba que el perfil esté pinneado; - `openSealed` lee como mucho 1 MiB del texto del localizador, y un defecto posterior queda oculto tras el error de `unmarshalLocator`. -Un CID con un carácter de más cuyos bits son cero, y `https://[[2000::]/`, se rechazan desde que Go los rechaza (`e801e03` de `datekeys-go`): el §44.1 de la v0.12 ya pedía el CID en su forma canónica y un literal IPv6 con un solo par de corchetes. +`parseInfo` comprueba el localizador sellado tanto como se puede antes de la fecha, como Go desde `69dbb0c`: la cadena del stanza en hexadecimal en minúsculas, la de Quicknet si la DateKey es de Quicknet, y un cuerpo que lleva un texto de 4096 bytes o un múltiplo, así que una cabecera sin cuerpo se rechaza; `infoExtension` rechaza además una DateKey de un perfil que la librería no fija. Un CID con un carácter de más cuyos bits son cero, y `https://[[2000::]/`, se rechazan desde que Go los rechaza (`e801e03` de `datekeys-go`): el §44.1 de la v0.12 ya pedía el CID en su forma canónica y un literal IPv6 con un solo par de corchetes. `checkResolvedIp` sigue la v0.13 (§44.1, cambio 1 del §76), como `locator.CheckResolvedIP` de Go: una dirección de NAT64 a la que resuelve un nombre, de `64:ff9b::/96` o del prefijo de la red que la aplicación le pasa en `nat64`, cuenta por la IPv4 que lleva dentro. `vectors.test.ts` corre los 42 casos de `resolved_ip.json`. diff --git a/src/lib/dkc/locator.test.ts b/src/lib/dkc/locator.test.ts index a462496..de5af6c 100644 --- a/src/lib/dkc/locator.test.ts +++ b/src/lib/dkc/locator.test.ts @@ -411,6 +411,18 @@ describe('the types of Go, and what a caller gets wrong', () => { expect(errorText(() => checkURI('https://a.org/\u0080'))).toBe("locator: an address with the character 'Â', which RFC 3986 does not allow"); }); + it('refuses a sealed locator whose body holds no plaintext of 4096 bytes or a multiple, as checkSealed of Go', () => { + const base = fromHex(((v.sealed_bases as Json[])[0]!).sealed as string); + const dateKey = { profileId: 'datekeys:quicknet:v1', round: 1000 }; + expect(infoExtension({ note: '', dateKey, sealed: base }).data).toBeDefined(); + for (const sealed of [base.subarray(0, base.length - 1), Uint8Array.of(...base, 0)]) { + const end = base.length - (16 + 4096 + 16); // the body of a plaintext of 4096 bytes + expect(errorText(() => infoExtension({ note: '', dateKey, sealed }))).toBe( + `locator: self-check: a reader rejects this extension: locator: the body of the locator is ${sealed.length - end} bytes, which no plaintext of 4096 bytes or a multiple gives: ERR_EXTENSION_DATA_INVALID`, + ); + } + }); + it('infoExtension refuses a DateKey that is not canonical and a note that breaks its rules, with their errors', () => { expect(errorText(() => infoExtension({ note: '', dateKey: { profileId: 'datekeys:quicknet:v1', round: 0 } }))).toBe( 'locator: Info.DateKey is not a canonical DateKey', diff --git a/src/lib/dkc/locator.ts b/src/lib/dkc/locator.ts index 6903935..c179a2e 100644 --- a/src/lib/dkc/locator.ts +++ b/src/lib/dkc/locator.ts @@ -42,6 +42,7 @@ import { DateKeysError, withContext } from './errors.ts'; import { CAPSULE_ID, type Extension, type ExtensionRegistry, newExtension, NOTE_ID } from './extension.ts'; import { type IpAddress, ipFromBytes, ipString, isIpv4, isIpv4In6, isIpv6, isPublicIp, parseIpAddress } from './ipaddr.ts'; import { checkNote, checkNoteData, MAX_NOTE_LEN } from './note.ts'; +import { QUICKNET_CHAIN_HASH, QUICKNET_ID } from './profile.ts'; /** The most addresses of a locator (spec §44.1). */ export const MAX_ADDRESSES = 8; @@ -124,6 +125,9 @@ export function infoExtension(i: Info): Extension { if (d === undefined || d.profileId !== i.dateKey.profileId || d.round !== i.dateKey.round) { throw fail('Info.DateKey is not a canonical DateKey'); } + // A writer writes the DateKey of a capsule it wrote: of a profile that this + // library pins, whose chain the check of the locator then compares. + if (d.profileId !== QUICKNET_ID) throw fail(`Info.DateKey is of the profile ${goQuote(d.profileId)}, which this module does not pin`); const s = i.sealed; if (s !== undefined && (s.length < 1 || s.length > MAX_SEALED)) { throw fail(`a sealed locator of ${s.length} bytes, not 1 to ${MAX_SEALED}`); @@ -202,22 +206,54 @@ export function parseInfo(x: Extension): Info { d = undefined; } if (d === undefined || compactDateKey(d) !== dk) throw dataInvalid('compact_datekey is not a canonical DateKey'); - if (sealed !== undefined && !sealedFor(sealed, d.round)) { - throw dataInvalid(`the locator is not an age file with one tlock stanza for round ${d.round}, the one of its DateKey`); + if (sealed !== undefined) { + const problem = sealedProblem(sealed, d); + if (problem !== undefined) throw dataInvalid(problem); } return { note, dateKey: d, sealed }; } // Whether sealed is an age file whose header holds one tlock stanza with two // arguments, the first of them round. -function sealedFor(sealed: Uint8Array, round: number): boolean { - let st: ReturnType; +// checkSealed of Go: why the sealed locator does not have the form of spec +// §44.1, as far as it can be checked before the date, or undefined. An age +// file with one tlock stanza, whose arguments are the round of the DateKey d +// in decimal and a chain hash in lower-case hexadecimal (§28.1), the chain of +// the profile of d when this library pins it, Quicknet; and a body that holds +// a plaintext of 4096 bytes or a multiple, as every locator has. +function sealedProblem(sealed: Uint8Array, d: DateKey): string | undefined { + let st: ReturnType | undefined; try { st = ageStanzas(sealed); } catch { - return false; + st = undefined; + } + if (st === undefined || st.length !== 1 || st[0]!.type !== STANZA_TLOCK || st[0]!.args.length !== 2 || st[0]!.args[0] !== String(d.round)) { + return `the locator is not an age file with one tlock stanza for round ${d.round}, the one of its DateKey`; + } + const chain = st[0]!.args[1]!; + if (!/^[0-9a-f]{64}$/.test(chain)) return 'the tlock stanza of the locator has no chain hash in lower-case hexadecimal'; + if (d.profileId === QUICKNET_ID && chain !== QUICKNET_CHAIN_HASH) { + return `the locator is sealed for the chain ${chain}, not for the one of the profile ${d.profileId} of its DateKey`; + } + // ageStanzas read the header up to its MAC line "--- ", so it ends. + const mac = sealed.findIndex((b, at) => b === 0x0a && sealed[at + 1] === 0x2d && sealed[at + 2] === 0x2d && sealed[at + 3] === 0x2d && sealed[at + 4] === 0x20); + const end = sealed.indexOf(0x0a, mac + 1) + 1; + if (end === sealed.length) return 'the locator is an age header without a body'; + if (!sealedBodyLength(sealed.length - end)) { + return `the body of the locator is ${sealed.length - end} bytes, which no plaintext of 4096 bytes or a multiple gives`; + } + return undefined; +} + +// sealedBodyLength of Go: whether n bytes after the age header are the body +// of a plaintext of 4096·k bytes, k from 1: the nonce of 16 bytes and the +// plaintext in chunks of 64 KiB, each with its tag of 16 bytes. +function sealedBodyLength(n: number): boolean { + for (let p = BLOCK; p <= MAX_SEALED; p += BLOCK) { + if (n === 16 + p + 16 * Math.ceil(p / 65536)) return true; } - return st.length === 1 && st[0]!.type === STANZA_TLOCK && st[0]!.args.length === 2 && st[0]!.args[0] === String(round); + return false; } /** diff --git a/src/lib/dkc/testing/locator-vectors.json b/src/lib/dkc/testing/locator-vectors.json index b5c76e1..fef5236 100644 --- a/src/lib/dkc/testing/locator-vectors.json +++ b/src/lib/dkc/testing/locator-vectors.json @@ -264,6 +264,7 @@ "a public note of 1025 bytes, not 1 to 1024: ERR_EXTENSION_DATA_INVALID", "a public note that breaks the rules of text: text: bidirectional control U+202E: ERR_EXTENSION_DATA_INVALID", "locator: Info.DateKey is not a canonical DateKey", + "locator: Info.DateKey is of the profile \"datekeys:other:v1\", which this module does not pin", "locator: the extension has no locator", "locator: the profile of the DateKey is not pinned", "locator: not datekeys.capsule version 1 with data: ERR_EXTENSION_DATA_INVALID", @@ -277,10 +278,15 @@ "locator: datekeys.capsule: key 9007199254740992 is not defined: ERR_NON_CANONICAL_CBOR: ERR_EXTENSION_DATA_INVALID", "locator: datekeys.capsule: key 1: codec: offset 5: a text string of 1025 bytes outside 0..1024: ERR_NON_CANONICAL_CBOR: ERR_EXTENSION_DATA_INVALID", "locator: datekeys.capsule: key 1: codec: offset 2: a byte string where a text string was expected: ERR_NON_CANONICAL_CBOR: ERR_EXTENSION_DATA_INVALID", + "locator: the locator is an age header without a body: ERR_EXTENSION_DATA_INVALID", + "locator: the locator is sealed for the chain 0000000000000000000000000000000000000000000000000000000000000000, not for the one of the profile datekeys:quicknet:v1 of its DateKey: ERR_EXTENSION_DATA_INVALID", "locator: datekeys.capsule: key 2: codec: offset 99: truncated input: a byte string of 4451 bytes: ERR_NON_CANONICAL_CBOR: ERR_EXTENSION_DATA_INVALID", "locator: datekeys.capsule: codec: offset 95: a byte string where an unsigned integer was expected: ERR_NON_CANONICAL_CBOR: ERR_EXTENSION_DATA_INVALID", "locator: datekeys.capsule: key 0: codec: offset 2: a byte string where a text string was expected: ERR_NON_CANONICAL_CBOR: ERR_EXTENSION_DATA_INVALID", + "locator: the locator is sealed for the chain 52db9ba70e0cc0f6eaf7803dd07447a0f5477735fd3f661792ba94600c84e971, not for the one of the profile datekeys:quicknet:v1 of its DateKey: ERR_EXTENSION_DATA_INVALID", "locator: datekeys.capsule: key 1: codec: offset 12: truncated input: a text string of 83 bytes: ERR_NON_CANONICAL_CBOR: ERR_EXTENSION_DATA_INVALID", + "locator: the locator is sealed for the chain 52db9ba70e0cc0f6eaf7803dd07447a1f5457735fd3f661792ba94600c84e971, not for the one of the profile datekeys:quicknet:v1 of its DateKey: ERR_EXTENSION_DATA_INVALID", + "locator: the tlock stanza of the locator has no chain hash in lower-case hexadecimal: ERR_EXTENSION_DATA_INVALID", "locator: datekeys.capsule: codec: offset 1: truncated input: map of 3 entries: ERR_NON_CANONICAL_CBOR: ERR_EXTENSION_DATA_INVALID", "extension datekeys.capsule v1: known, but not registered for the critical_extensions of .dkk: ERR_EXTENSION_CRITICAL_UNKNOWN", "extension: datekeys.capsule version 1 is not registered for critical_extensions of .dkk: an encoder must not write it there (spec \u00a772)", @@ -1117,48 +1123,48 @@ ["","datekeys:quicknet:v1",9007199254740992,null,261,0,""], ["","datekeys:quicknet:v1",9007199254740991,null,0,103,"a7f179ee5f8f33a791434b38c038f444fc9c0a8a20d1f7e1b7119ef6645d9481"], ["","Datekeys:quicknet:v1",1000,null,261,0,""], - ["","datekeys:other:v1",1000,null,0,83,"0eacb050625f98eb18a3525356f61e861698511d41d3647af0ed324eb78f2e4f"], + ["","datekeys:other:v1",1000,null,262,0,""], ["","",0,null,261,0,""], ["a\tb","",0,"",261,0,""] ], "open_info": [ ["datekeys:quicknet:v1",1000,0,1000,0,[[["https://ejemplo.org/foto.jpg",3000,"ejemplo.org",true],["ipfs://bafybeigdyrzt5sfp7udm7hu76uh7y26nf3efuylqabf3oclgtqy55fbzdi",0,"bafybeigdyrzt5sfp7udm7hu76uh7y26nf3efuylqabf3oclgtqy55fbzdi",true]],"71ada18f403907dd36faaef693697b07841f3848adafedaf58dfe9dc67d91369","8171b1fdf33ebd3280bb0011fc21017b0bfffb0fb568c0c609d1eeb32ad2a999","cdc1712d844b4350ad22963c5d7a03bf49a3b3bc2b57d4849bba7978606c6e75",809,"e1e2351f2b6a92105e27f1c98396daf42a393d618f9daf18d4fdd5ab4a069b74"]], - ["datekeys:quicknet:v1",1000,null,1000,262,null], - ["datekeys:other:v1",1000,0,1000,263,null], + ["datekeys:quicknet:v1",1000,null,1000,263,null], + ["datekeys:other:v1",1000,0,1000,264,null], ["datekeys:quicknet:v1",1001,1,1001,0,[[["https://ejemplo.org/foto.jpg",3000,"ejemplo.org",true],["ipfs://bafybeigdyrzt5sfp7udm7hu76uh7y26nf3efuylqabf3oclgtqy55fbzdi",0,"bafybeigdyrzt5sfp7udm7hu76uh7y26nf3efuylqabf3oclgtqy55fbzdi",true]],"71ada18f403907dd36faaef693697b07841f3848adafedaf58dfe9dc67d91369","8171b1fdf33ebd3280bb0011fc21017b0bfffb0fb568c0c609d1eeb32ad2a999","cdc1712d844b4350ad22963c5d7a03bf49a3b3bc2b57d4849bba7978606c6e75",809,"e1e2351f2b6a92105e27f1c98396daf42a393d618f9daf18d4fdd5ab4a069b74"]], ["datekeys:quicknet:v1",1001,1,1000,176,null], ["datekeys:quicknet:v1",1000,1,1000,177,null], ["datekeys:quicknet:v1",2000,2,2000,0,[[["http://ejemplo.org/a",7,"",false],["https://[64:ff9b::7f00:1]/b",0,"",false],["https://ejemplo.org/c",9007199254740991,"ejemplo.org",true],["ipfs://bafybeigdyrzt5sfp7udm7hu76uh7y26nf3efuylqabf3oclgtqy55fbzdia",1,"",false]],"71ada18f403907dd36faaef693697b07841f3848adafedaf58dfe9dc67d91369","8171b1fdf33ebd3280bb0011fc21017b0bfffb0fb568c0c609d1eeb32ad2a999","cdc1712d844b4350ad22963c5d7a03bf49a3b3bc2b57d4849bba7978606c6e75",809,"e1e2351f2b6a92105e27f1c98396daf42a393d618f9daf18d4fdd5ab4a069b74"]] ], "parse": [ - ["datekeys.note",1,1,[],264,"","",0,null], - ["datekeys.capsule",2,1,[],264,"","",0,null], - ["datekeys.capsule",0,1,[],264,"","",0,null], - ["datekeys.capsule",1,-1,[],264,"","",0,null], - ["datekeys.capsulE",1,1,[],264,"","",0,null], + ["datekeys.note",1,1,[],265,"","",0,null], + ["datekeys.capsule",2,1,[],265,"","",0,null], + ["datekeys.capsule",0,1,[],265,"","",0,null], + ["datekeys.capsule",1,-1,[],265,"","",0,null], + ["datekeys.capsulE",1,1,[],265,"","",0,null], ["datekeys.capsule",1,1,[],0,"Cartas","dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0",1000,"20a9cfa2cbcc3a40aba3234ac6292c9ce9916b3cf301e9df0304c04fe6683ab1"], ["datekeys.capsule",1,0,[[0,0,"a1017853646b315f65794a325a584a7a61573975496a6f784c434a755a58523362334a72496a6f695a4746305a57746c65584d3663585670593274755a585136646a45694c434a79623356755a4349364d5441774d4830"]],0,"","dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0",1000,null], ["datekeys.capsule",1,0,[[0,0,"a200616e017853646b315f65794a325a584a7a61573975496a6f784c434a755a58523362334a72496a6f695a4746305a57746c65584d3663585670593274755a585136646a45694c434a79623356755a4349364d5441774d4830"]],0,"n","dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0",1000,null], ["datekeys.capsule",1,1,[[0,9,"a2"]],0,"","dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0",1000,"20a9cfa2cbcc3a40aba3234ac6292c9ce9916b3cf301e9df0304c04fe6683ab1"], ["datekeys.capsule",1,0,[[0,0,"a0"]],3,"","",0,null], ["datekeys.capsule",1,0,[[0,0,"a100616e"]],3,"","",0,null], - ["datekeys.capsule",1,0,[[0,0,"a20060017853646b315f65794a325a584a7a61573975496a6f784c434a755a58523362334a72496a6f695a4746305a57746c65584d3663585670593274755a585136646a45694c434a79623356755a4349364d5441774d4830"]],265,"","",0,null], + ["datekeys.capsule",1,0,[[0,0,"a20060017853646b315f65794a325a584a7a61573975496a6f784c434a755a58523362334a72496a6f695a4746305a57746c65584d3663585670593274755a585136646a45694c434a79623356755a4349364d5441774d4830"]],266,"","",0,null], ["datekeys.capsule",1,0,[[0,0,"a200790400"],[0,0,"6e",1024],[0,0,"017853646b315f65794a325a584a7a61573975496a6f784c434a755a58523362334a72496a6f695a4746305a57746c65584d3663585670593274755a585136646a45694c434a79623356755a4349364d5441774d4830"]],0,"nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn","dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0",1000,null], - ["datekeys.capsule",1,0,[[0,0,"a200790401"],[0,0,"6e",1025],[0,0,"017853646b315f65794a325a584a7a61573975496a6f784c434a755a58523362334a72496a6f695a4746305a57746c65584d3663585670593274755a585136646a45694c434a79623356755a4349364d5441774d4830"]],266,"","",0,null], + ["datekeys.capsule",1,0,[[0,0,"a200790401"],[0,0,"6e",1025],[0,0,"017853646b315f65794a325a584a7a61573975496a6f784c434a755a58523362334a72496a6f695a4746305a57746c65584d3663585670593274755a585136646a45694c434a79623356755a4349364d5441774d4830"]],267,"","",0,null], ["datekeys.capsule",1,0,[[0,0,"a20063610962017853646b315f65794a325a584a7a61573975496a6f784c434a755a58523362334a72496a6f695a4746305a57746c65584d3663585670593274755a585136646a45694c434a79623356755a4349364d5441774d4830"]],5,"","",0,null], - ["datekeys.capsule",1,0,[[0,0,"a200626120017853646b315f65794a325a584a7a61573975496a6f784c434a755a58523362334a72496a6f695a4746305a57746c65584d3663585670593274755a585136646a45694c434a79623356755a4349364d5441774d4830"]],267,"","",0,null], - ["datekeys.capsule",1,0,[[0,0,"a20062fffe017853646b315f65794a325a584a7a61573975496a6f784c434a755a58523362334a72496a6f695a4746305a57746c65584d3663585670593274755a585136646a45694c434a79623356755a4349364d5441774d4830"]],268,"","",0,null], - ["datekeys.capsule",1,0,[[0,0,"a20005017853646b315f65794a325a584a7a61573975496a6f784c434a755a58523362334a72496a6f695a4746305a57746c65584d3663585670593274755a585136646a45694c434a79623356755a4349364d5441774d4830"]],269,"","",0,null], - ["datekeys.capsule",1,2,[[87,4455,"00616e"]],270,"","",0,null], - ["datekeys.capsule",1,2,[[87,4455,"017853646b315f65794a325a584a7a61573975496a6f784c434a755a58523362334a72496a6f695a4746305a57746c65584d3663585670593274755a585136646a45694c434a79623356755a4349364d5441774d4830"]],271,"","",0,null], + ["datekeys.capsule",1,0,[[0,0,"a200626120017853646b315f65794a325a584a7a61573975496a6f784c434a755a58523362334a72496a6f695a4746305a57746c65584d3663585670593274755a585136646a45694c434a79623356755a4349364d5441774d4830"]],268,"","",0,null], + ["datekeys.capsule",1,0,[[0,0,"a20062fffe017853646b315f65794a325a584a7a61573975496a6f784c434a755a58523362334a72496a6f695a4746305a57746c65584d3663585670593274755a585136646a45694c434a79623356755a4349364d5441774d4830"]],269,"","",0,null], + ["datekeys.capsule",1,0,[[0,0,"a20005017853646b315f65794a325a584a7a61573975496a6f784c434a755a58523362334a72496a6f695a4746305a57746c65584d3663585670593274755a585136646a45694c434a79623356755a4349364d5441774d4830"]],270,"","",0,null], + ["datekeys.capsule",1,2,[[87,4455,"00616e"]],271,"","",0,null], + ["datekeys.capsule",1,2,[[87,4455,"017853646b315f65794a325a584a7a61573975496a6f784c434a755a58523362334a72496a6f695a4746305a57746c65584d3663585670593274755a585136646a45694c434a79623356755a4349364d5441774d4830"]],272,"","",0,null], ["datekeys.capsule",1,2,[[87,4455,"034100"]],6,"","",0,null], - ["datekeys.capsule",1,2,[[87,4455,"1b00200000000000006178"]],272,"","",0,null], + ["datekeys.capsule",1,2,[[87,4455,"1b00200000000000006178"]],273,"","",0,null], ["datekeys.capsule",1,0,[[0,0,"a10160"]],4,"","",0,null], ["datekeys.capsule",1,0,[[0,0,"a10164646b315f"]],4,"","",0,null], ["datekeys.capsule",1,0,[[0,0,"a1017854646b315f65794a325a584a7a61573975496a6f784c434a755a58523362334a72496a6f695a4746305a57746c65584d3663585670593274755a585136646a45694c434a79623356755a4349364d5441774d483041"]],4,"","",0,null], ["datekeys.capsule",1,0,[[0,0,"a101790400"],[0,0,"64",1024]],4,"","",0,null], - ["datekeys.capsule",1,0,[[0,0,"a101790401"],[0,0,"64",1025]],273,"","",0,null], - ["datekeys.capsule",1,0,[[0,0,"a1015853646b315f65794a325a584a7a61573975496a6f784c434a755a58523362334a72496a6f695a4746305a57746c65584d3663585670593274755a585136646a45694c434a79623356755a4349364d5441774d4830"]],274,"","",0,null], + ["datekeys.capsule",1,0,[[0,0,"a101790401"],[0,0,"64",1025]],274,"","",0,null], + ["datekeys.capsule",1,0,[[0,0,"a1015853646b315f65794a325a584a7a61573975496a6f784c434a755a58523362334a72496a6f695a4746305a57746c65584d3663585670593274755a585136646a45694c434a79623356755a4349364d5441774d4830"]],275,"","",0,null], ["datekeys.capsule",1,0,[[0,0,"a1017853444b315f65794a325a584a7a61573975496a6f784c434a755a58523362334a72496a6f695a4746305a57746c65584d3663585670593274755a585136646a45694c434a79623356755a4349364d5441774d4830"]],4,"","",0,null], ["datekeys.capsule",1,0,[[0,0,"a1017853646b315f65794a755a58523362334a72496a6f695a4746305a57746c65584d3663585670593274755a585136646a45694c434a79623356755a4349364d5441774d437769646d567963326c76626949364d5830"]],4,"","",0,null], ["datekeys.capsule",1,0,[[0,0,"a1017854646b315f65794a325a584a7a61573975496a6f784c434a755a58523362334a72496a6f695a4746305a57746c65584d3663585670593274755a585136646a45694c434a79623356755a4349364d5441774d48303d"]],4,"","",0,null], @@ -1168,106 +1174,106 @@ ["datekeys.capsule",1,2,[],1,"","",0,null], ["datekeys.capsule",1,3,[],1,"","",0,null], ["datekeys.capsule",1,4,[],1,"","",0,null], - ["datekeys.capsule",1,2,[[89,4453,"01436167652d656e6372797074696f6e2e6f72672f76310a2d3e20746c6f636b203130303020353264623962613730653063633066366561663738303364643037343437613166353437373733356664336636363137393262613934363030633834653937310a704a2b6145446e30616f794e7777503974586833445730464e434e5a544859425a7869665332385a526b4d58476c7936386c5978684e665537554b5766662f4e0a4643396a7462326236796f34697334394c664e7842366d4451426f75346935366b76686a4a7a693978776452635658393969667071717633554b56384a6b4d5a0a56642f4e546c79657734704f4f6c3074736242434d52786c6f7133326d655a6f3574743153347a505a78340a2d2d2d20764c4e665155636b53554b39634c35554359756239334c6669702f74636351744b694334707149624b566f0a"]],0,"","dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0",1000,"805e33b1a498fd4d3831ca40a39cec5b2fd06246c2248e30708ea534d18fdc8b"], + ["datekeys.capsule",1,2,[[89,4453,"01436167652d656e6372797074696f6e2e6f72672f76310a2d3e20746c6f636b203130303020353264623962613730653063633066366561663738303364643037343437613166353437373733356664336636363137393262613934363030633834653937310a704a2b6145446e30616f794e7777503974586833445730464e434e5a544859425a7869665332385a526b4d58476c7936386c5978684e665537554b5766662f4e0a4643396a7462326236796f34697334394c664e7842366d4451426f75346935366b76686a4a7a693978776452635658393969667071717633554b56384a6b4d5a0a56642f4e546c79657734704f4f6c3074736242434d52786c6f7133326d655a6f3574743153347a505a78340a2d2d2d20764c4e665155636b53554b39634c35554359756239334c6669702f74636351744b694334707149624b566f0a"]],276,"","",0,null], ["datekeys.capsule",1,2,[[89,4453,"01426167652d656e6372797074696f6e2e6f72672f76310a2d3e20746c6f636b203130303020353264623962613730653063633066366561663738303364643037343437613166353437373733356664336636363137393262613934363030633834653937310a704a2b6145446e30616f794e7777503974586833445730464e434e5a544859425a7869665332385a526b4d58476c7936386c5978684e665537554b5766662f4e0a4643396a7462326236796f34697334394c664e7842366d4451426f75346935366b76686a4a7a693978776452635658393969667071717633554b56384a6b4d5a0a56642f4e546c79657734704f4f6c3074736242434d52786c6f7133326d655a6f3574743153347a505a78340a2d2d2d20764c4e665155636b53554b39634c35554359756239334c6669702f74636351744b694334707149624b566f"]],1,"","",0,null], ["datekeys.capsule",1,1,[[0,130,"a2017853646b315f65794a325a584a7a61573975496a6f784c434a755a58523362334a72496a6f695a4746305a57746c65584d3663585670593274755a585136646a45694c434a79623356755a4349364d5441774d4830025911646167652d656e6372797074696f6e2e6f72672f76310a2d3e20746c6f636b2030"]],1,"","",0,null], ["datekeys.capsule",1,1,[[0,199,"a2017853646b315f65794a325a584a7a61573975496a6f784c434a755a58523362334a72496a6f695a4746305a57746c65584d3663585670593274755a585136646a45694c434a79623356755a4349364d5441774d4830025911226167652d656e6372797074696f6e2e6f72672f76310a2d3e20746c6f636b2031303030"]],1,"","",0,null], ["datekeys.capsule",1,1,[[0,199,"a2017853646b315f65794a325a584a7a61573975496a6f784c434a755a58523362334a72496a6f695a4746305a57746c65584d3663585670593274755a585136646a45694c434a79623356755a4349364d5441774d4830025911656167652d656e6372797074696f6e2e6f72672f76310a2d3e20746c6f636b203130303020353264623962613730653063633066366561663738303364643037343437613166353437373733356664336636363137393262613934363030633834653937312078"]],1,"","",0,null], - ["datekeys.capsule",1,1,[[0,199,"a2017853646b315f65794a325a584a7a61573975496a6f784c434a755a58523362334a72496a6f695a4746305a57746c65584d3663585670593274755a585136646a45694c434a79623356755a4349364d5441774d4830025911636167652d656e6372797074696f6e2e6f72672f76310a2d3e20746c6f636b203130303020"],[199,0,"30",64]],0,"","dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0",1000,"d4cec2878d248abbd5a2b7bd7028dba8ce3b1a0170b53145e64321c704c6573f"], + ["datekeys.capsule",1,1,[[0,199,"a2017853646b315f65794a325a584a7a61573975496a6f784c434a755a58523362334a72496a6f695a4746305a57746c65584d3663585670593274755a585136646a45694c434a79623356755a4349364d5441774d4830025911636167652d656e6372797074696f6e2e6f72672f76310a2d3e20746c6f636b203130303020"],[199,0,"30",64]],277,"","",0,null], ["datekeys.capsule",1,1,[[0,129,"a2017853646b315f65794a325a584a7a61573975496a6f784c434a755a58523362334a72496a6f695a4746305a57746c65584d3663585670593274755a585136646a45694c434a79623356755a4349364d5441774d4830025911646167652d656e6372797074696f6e2e6f72672f76310a2d3e20583235353139"]],1,"","",0,null], ["datekeys.capsule",1,1,[[0,129,"a2017853646b315f65794a325a584a7a61573975496a6f784c434a755a58523362334a72496a6f695a4746305a57746c65584d3663585670593274755a585136646a45694c434a79623356755a4349364d5441774d4830025911646167652d656e6372797074696f6e2e6f72672f76310a2d3e20746c6f636b20"]],1,"","",0,null], ["datekeys.capsule",1,1,[[0,421,"a2017853646b315f65794a325a584a7a61573975496a6f784c434a755a58523362334a72496a6f695a4746305a57746c65584d3663585670593274755a585136646a45694c434a79623356755a4349364d5441774d4830025911636167652d656e6372797074696f6e2e6f72672f76310a2d3e20746c6f636b203130303020353264623962613730653063633066366561663738303364643037343437613166353437373733356664336636363137393262613934363030633834653937310a704a2b6145446e30616f794e7777503974586833445730464e434e5a544859425a7869665332385a526b4d58476c7936386c5978684e665537554b5766662f4e0a4643396a7462326236796f34697334394c664e7842366d4451426f75346935366b76686a4a7a693978776452635658393969667071717633554b56384a6b4d5a0a56642f4e546c79657734704f4f6c3074736242434d52786c6f7133326d655a6f3574743153347a505a78340a2d2d2d20"],[421,0,"41",43]],0,"","dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0",1000,"ebfab322a0b2470347406ac7e1224d9fa473de4d66caae919c654aaf421db315"], ["datekeys.capsule",1,1,[[0,120,"a2017853646b315f65794a325a584a7a61573975496a6f784c434a755a58523362334a72496a6f695a4746305a57746c65584d3663585670593274755a585136646a45694c434a79623356755a4349364d5441774d4830025912606167652d656e6372797074696f6e2e6f72672f76310a2d3e20746c6f636b203130303020353264623962613730653063633066366561663738303364643037343437613166353437373733356664336636363137393262613934363030633834653937310a704a2b6145446e30616f794e7777503974586833445730464e434e5a544859425a7869665332385a526b4d58476c7936386c5978684e665537554b5766662f4e0a4643396a7462326236796f34697334394c664e7842366d4451426f75346935366b76686a4a7a693978776452635658393969667071717633554b56384a6b4d5a0a56642f4e546c79657734704f4f6c3074736242434d52786c6f7133326d655a6f3574743153347a505a7834"]],1,"","",0,null], ["datekeys.capsule",1,1,[[298,1,"77"]],0,"Cartas","dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0",1000,"fbbf25be9ac6b84aae10917d5f7419f99a6fa270950c69f46384338ce2588622"], - ["datekeys.capsule",1,1,[[210,4340,""]],275,"","",0,null], + ["datekeys.capsule",1,1,[[210,4340,""]],278,"","",0,null], ["datekeys.capsule",1,1,[[571,1,"c8"]],0,"Cartas","dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0",1000,"4139ab024810133c0c781faefd72bd543f30e12601847dc509c2c13e9c472db4"], ["datekeys.capsule",1,1,[[387,1,"15"]],1,"","",0,null], - ["datekeys.capsule",1,1,[[543,1,""]],275,"","",0,null], + ["datekeys.capsule",1,1,[[543,1,""]],278,"","",0,null], ["datekeys.capsule",1,1,[[388,1,"4f"]],0,"Cartas","dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0",1000,"d98b83a9f4dc6a848823da32e2fcd53d80d76ce8df2555a3bfa718a58bb27916"], - ["datekeys.capsule",1,1,[[458,4092,""]],275,"","",0,null], + ["datekeys.capsule",1,1,[[458,4092,""]],278,"","",0,null], ["datekeys.capsule",1,1,[[585,1,"ac"]],0,"Cartas","dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0",1000,"cecfae0eaf382b2dc682cb524bf8151ff9e4dc224a8014887db544e32a910ff5"], ["datekeys.capsule",1,1,[[438,1,"7b"]],0,"Cartas","dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0",1000,"b854a7b6b9f41038b16c94f5fbe4278d4531594325e0c0d04494b8d3cd10fc56"], - ["datekeys.capsule",1,1,[[69,1,""]],276,"","",0,null], + ["datekeys.capsule",1,1,[[69,1,""]],279,"","",0,null], ["datekeys.capsule",1,1,[[202,1,"ab"]],1,"","",0,null], - ["datekeys.capsule",1,1,[[2,1,""]],277,"","",0,null], - ["datekeys.capsule",1,1,[[167,4383,""]],275,"","",0,null], + ["datekeys.capsule",1,1,[[2,1,""]],280,"","",0,null], + ["datekeys.capsule",1,1,[[167,4383,""]],278,"","",0,null], ["datekeys.capsule",1,1,[[89,1,"56"]],4,"","",0,null], - ["datekeys.capsule",1,1,[[166,1,"30"]],0,"Cartas","dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0",1000,"894c30a17f77bc05229889c466baf6961e4a5a1b1d8658883bff4716a2a75143"], + ["datekeys.capsule",1,1,[[166,1,"30"]],281,"","",0,null], ["datekeys.capsule",1,1,[[130,1,"11"]],1,"","",0,null], ["datekeys.capsule",1,1,[[544,1,"6b"]],0,"Cartas","dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0",1000,"55ed839acf036e20ce7c11ba965238fed86b837abe46e5b8893ccb4ba07ac5e1"], ["datekeys.capsule",1,1,[[74,1,"44"]],4,"","",0,null], - ["datekeys.capsule",1,1,[[60,4490,""]],278,"","",0,null], - ["datekeys.capsule",1,1,[[193,1,""]],275,"","",0,null], - ["datekeys.capsule",1,1,[[170,1,"35"]],0,"Cartas","dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0",1000,"798568a3647989ea99dbaf89b60582e32a38a9235190ba6f32bba3083eb0b9e3"], - ["datekeys.capsule",1,1,[[152,1,""]],275,"","",0,null], + ["datekeys.capsule",1,1,[[60,4490,""]],282,"","",0,null], + ["datekeys.capsule",1,1,[[193,1,""]],278,"","",0,null], + ["datekeys.capsule",1,1,[[170,1,"35"]],283,"","",0,null], + ["datekeys.capsule",1,1,[[152,1,""]],278,"","",0,null], ["datekeys.capsule",1,1,[[431,1,"7a"]],0,"Cartas","dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0",1000,"b3d05a9467f492e916bcc5c116749348386f77d89c471651dfe024a9daf6233c"], ["datekeys.capsule",1,1,[[291,1,"4f"]],0,"Cartas","dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0",1000,"cf061259ee0883b6438b86ed7b7222331af4fb85c2b4338e8d78655d1ab17669"], - ["datekeys.capsule",1,1,[[52,1,""]],276,"","",0,null], + ["datekeys.capsule",1,1,[[52,1,""]],279,"","",0,null], ["datekeys.capsule",1,1,[[438,1,"f9"]],0,"Cartas","dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0",1000,"faccc5e172c451f79e4bd25e19b28f7c89f38a8e5d048bf91012e0a5c41c64f6"], ["datekeys.capsule",1,1,[[208,1,"21"]],1,"","",0,null], ["datekeys.capsule",1,1,[[429,1,"b9"]],0,"Cartas","dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0",1000,"3c5896eaf15aeda70ce19200a7089eed99aff8041fda6d5c295e21f2907e249d"], ["datekeys.capsule",1,1,[[270,1,"42"]],0,"Cartas","dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0",1000,"95066b40bd1d6beed328d8633f5dfa2d58239944c9e9791d6315112c0706c0e6"], ["datekeys.capsule",1,1,[[266,1,"42"]],0,"Cartas","dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0",1000,"c716fbb9144d1c6930c343c87b26c71b6fa5dae8aceaf24d5372370f2b7705b4"], ["datekeys.capsule",1,1,[[53,1,"53"]],4,"","",0,null], - ["datekeys.capsule",1,1,[[64,4486,""]],278,"","",0,null], - ["datekeys.capsule",1,1,[[139,1,"3d"]],0,"Cartas","dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0",1000,"6e099ec242b9c64f07a202bb8fd98e290772122772fb762d135a510a8677ffe3"], - ["datekeys.capsule",1,1,[[538,1,""]],275,"","",0,null], - ["datekeys.capsule",1,1,[[298,4252,""]],275,"","",0,null], + ["datekeys.capsule",1,1,[[64,4486,""]],282,"","",0,null], + ["datekeys.capsule",1,1,[[139,1,"3d"]],284,"","",0,null], + ["datekeys.capsule",1,1,[[538,1,""]],278,"","",0,null], + ["datekeys.capsule",1,1,[[298,4252,""]],278,"","",0,null], ["datekeys.capsule",1,1,[[274,1,"71"]],0,"Cartas","dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0",1000,"33d2cbcf68b090c1169d60b344b133b5dc3588a13ba84f32916a85ae2f775a2a"], - ["datekeys.capsule",1,1,[[23,1,""]],276,"","",0,null], - ["datekeys.capsule",1,1,[[404,4146,""]],275,"","",0,null], - ["datekeys.capsule",1,1,[[385,1,""]],275,"","",0,null], - ["datekeys.capsule",1,1,[[106,1,""]],275,"","",0,null], + ["datekeys.capsule",1,1,[[23,1,""]],279,"","",0,null], + ["datekeys.capsule",1,1,[[404,4146,""]],278,"","",0,null], + ["datekeys.capsule",1,1,[[385,1,""]],278,"","",0,null], + ["datekeys.capsule",1,1,[[106,1,""]],278,"","",0,null], ["datekeys.capsule",1,1,[[458,1,"3b"]],0,"Cartas","dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0",1000,"6822c41b2a4f25d0a60bf1eb5c93e2b6481c0442d162d4c612c4bfc1fadd8ec7"], - ["datekeys.capsule",1,1,[[129,4421,""]],275,"","",0,null], + ["datekeys.capsule",1,1,[[129,4421,""]],278,"","",0,null], ["datekeys.capsule",1,1,[[226,1,"4c"]],0,"Cartas","dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0",1000,"d120ef237a14cda8a2f426bbd678183dc8e9de1c6e2a756570cce1c4c48e8a70"], ["datekeys.capsule",1,1,[[441,1,"6c"]],0,"Cartas","dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0",1000,"fdf77280213896a4982563428c551a125096083c3b6e47ecb9d40f13ad7ed0f5"], ["datekeys.capsule",1,1,[[310,1,"57"]],0,"Cartas","dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0",1000,"1f387c05bb497237d6c47f88654e8b9235e576a0fbb9541a1d8130f32cd3218c"], ["datekeys.capsule",1,1,[[430,1,"3f"]],0,"Cartas","dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0",1000,"c70d2a420b1fac4a41e5fb471f617b659aefb6fe5489b17f38b9e5ebbf3e696c"], - ["datekeys.capsule",1,1,[[560,1,""]],275,"","",0,null], - ["datekeys.capsule",1,1,[[588,3962,""]],275,"","",0,null], + ["datekeys.capsule",1,1,[[560,1,""]],278,"","",0,null], + ["datekeys.capsule",1,1,[[588,3962,""]],278,"","",0,null], ["datekeys.capsule",1,1,[[123,1,"24"]],1,"","",0,null], ["datekeys.capsule",1,1,[[30,1,"67"]],4,"","",0,null], - ["datekeys.capsule",1,1,[[407,4143,""]],275,"","",0,null], - ["datekeys.capsule",1,1,[[368,4182,""]],275,"","",0,null], - ["datekeys.capsule",1,1,[[299,1,""]],275,"","",0,null], + ["datekeys.capsule",1,1,[[407,4143,""]],278,"","",0,null], + ["datekeys.capsule",1,1,[[368,4182,""]],278,"","",0,null], + ["datekeys.capsule",1,1,[[299,1,""]],278,"","",0,null], ["datekeys.capsule",1,1,[[126,1,"2f"]],1,"","",0,null], - ["datekeys.capsule",1,1,[[345,1,""]],275,"","",0,null], + ["datekeys.capsule",1,1,[[345,1,""]],278,"","",0,null], ["datekeys.capsule",1,1,[[389,1,"31"]],0,"Cartas","dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0",1000,"4871674f97cfead2b47d0cd8bb08c25302e3972d6be9f281be33776fa47ee577"], - ["datekeys.capsule",1,1,[[544,1,""]],275,"","",0,null], - ["datekeys.capsule",1,1,[[346,4204,""]],275,"","",0,null], - ["datekeys.capsule",1,1,[[359,1,""]],275,"","",0,null], - ["datekeys.capsule",1,1,[[40,1,""]],276,"","",0,null], + ["datekeys.capsule",1,1,[[544,1,""]],278,"","",0,null], + ["datekeys.capsule",1,1,[[346,4204,""]],278,"","",0,null], + ["datekeys.capsule",1,1,[[359,1,""]],278,"","",0,null], + ["datekeys.capsule",1,1,[[40,1,""]],279,"","",0,null], ["datekeys.capsule",1,1,[[302,1,"78"]],0,"Cartas","dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0",1000,"1189bc125f8d81d38622ea2dbe1acb9197a165f7b57533d33d898ccca98f57df"], - ["datekeys.capsule",1,1,[[94,1,""]],276,"","",0,null], - ["datekeys.capsule",1,1,[[497,1,""]],275,"","",0,null], + ["datekeys.capsule",1,1,[[94,1,""]],279,"","",0,null], + ["datekeys.capsule",1,1,[[497,1,""]],278,"","",0,null], ["datekeys.capsule",1,1,[[508,1,"66"]],0,"Cartas","dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0",1000,"9a06a2bbfdeac6d5348b9999299d4cd5f0bb4b14e66bc4679d9af6f20b784fa8"], ["datekeys.capsule",1,1,[[379,1,"0c"]],1,"","",0,null], - ["datekeys.capsule",1,1,[[557,3993,""]],275,"","",0,null], + ["datekeys.capsule",1,1,[[557,3993,""]],278,"","",0,null], ["datekeys.capsule",1,1,[[391,1,"4e"]],0,"Cartas","dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0",1000,"ca0723c7c273b190c23bb0f2947db07a6a39a8a97647684387bdb88a264abcd2"], - ["datekeys.capsule",1,1,[[67,4483,""]],278,"","",0,null], + ["datekeys.capsule",1,1,[[67,4483,""]],282,"","",0,null], ["datekeys.capsule",1,1,[[486,1,"e9"]],0,"Cartas","dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0",1000,"13a9bb215307f5d194c2f53b619662782edb8acc69250d704e8fad43600a8291"], - ["datekeys.capsule",1,1,[[298,4252,""]],275,"","",0,null], - ["datekeys.capsule",1,1,[[228,4322,""]],275,"","",0,null], - ["datekeys.capsule",1,1,[[184,4366,""]],275,"","",0,null], + ["datekeys.capsule",1,1,[[298,4252,""]],278,"","",0,null], + ["datekeys.capsule",1,1,[[228,4322,""]],278,"","",0,null], + ["datekeys.capsule",1,1,[[184,4366,""]],278,"","",0,null], ["datekeys.capsule",1,1,[[285,1,"52"]],0,"Cartas","dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0",1000,"405e43eb294a981dcb54b22ba82158beb21f572cde1e40a38342fd997426535e"], ["datekeys.capsule",1,1,[[16,1,"75"]],4,"","",0,null], - ["datekeys.capsule",1,0,[[0,0,"a3"]],279,"","",0,null], - ["datekeys.capsule",1,1,[[2,1,""]],277,"","",0,null], - ["datekeys.capsule",1,1,[[407,1,""]],275,"","",0,null], + ["datekeys.capsule",1,0,[[0,0,"a3"]],285,"","",0,null], + ["datekeys.capsule",1,1,[[2,1,""]],280,"","",0,null], + ["datekeys.capsule",1,1,[[407,1,""]],278,"","",0,null], ["datekeys.capsule",1,1,[[465,1,"d8"]],0,"Cartas","dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0",1000,"0ae2b81f9042697ca89828155f31879f1754ea7aa3ae2ee30bffedc07233b2dc"], - ["datekeys.capsule",1,1,[[536,1,""]],275,"","",0,null], + ["datekeys.capsule",1,1,[[536,1,""]],278,"","",0,null], ["datekeys.capsule",1,1,[[44,1,"4d"]],4,"","",0,null] ], "registry": [ - ["datekeys.capsule",1,0,[],280,0,281,0], - ["datekeys.capsule",1,1,[],280,0,281,0], - ["datekeys.capsule",1,2,[],280,0,281,0], - ["datekeys.capsule",1,3,[],280,0,281,0], - ["datekeys.capsule",1,4,[282],280,283,281,0], - ["datekeys.capsule",1,5,[284],280,285,281,0], - ["datekeys.capsule",1,-1,[286],280,287,281,287], - ["datekeys.capsule",2,4,[],288,0,0,0] + ["datekeys.capsule",1,0,[],286,0,287,0], + ["datekeys.capsule",1,1,[],286,0,287,0], + ["datekeys.capsule",1,2,[],286,0,287,0], + ["datekeys.capsule",1,3,[],286,0,287,0], + ["datekeys.capsule",1,4,[288],286,289,287,0], + ["datekeys.capsule",1,5,[290],286,291,287,0], + ["datekeys.capsule",1,-1,[292],286,293,287,293], + ["datekeys.capsule",2,4,[],294,0,0,0] ], - "capsule": {"cases":[{"checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v2, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=2128",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=fe68d3b3bb59db0c14b7ef57d8d6cb5e datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_and_key profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"access credential",true,"1 identities to try",""],[9,"release",true,"round 1000 obtained",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",true,"one tlock stanza, header MAC valid",""],[12,"policy structure",true,"time_and_key: INNER_ACCESS_AGE with 16 X25519 stanzas",""],[13,"open access layer",true,"identity matched exactly one stanza",""],[14,"control",true,"canonical CONTROL_CBOR",""],[15,"header binding",true,"matches",""],[16,"payload identity",true,"I_PAYLOAD recovered; L = 46, padding reforzado, P = 256",""],[17,"open payload",true,"payload authenticated; 256 bytes of plaintext, zero after byte 46",""],[18,"commit",true,"46 bytes of content",""]],"content":"937492203d207d6fe36161b8696bf1f05b8b4cc56d855c44853f4b76aad3a05b","dkk_sha256":"141658be87c5a81024f27fb2ea6729fa85cc8d3f9c52733b5283a3c595ad9823","noncritical":[["datekeys.capsule",1,0,"a1017853646b315f65794a325a584a7a61573975496a6f784c434a755a58523362334a72496a6f695a4746305a57746c65584d3663585670593274755a585136646a45694c434a79623356755a4349364d5441774d4830"]],"standard":true,"text":0,"unusable":[]},{"checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v2, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=2128",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=fe68d3b3bb59db0c14b7ef57d8d6cb5e datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_and_key profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"access credential",true,"1 identities to try",""],[9,"release",true,"round 1000 obtained",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",true,"one tlock stanza, header MAC valid",""],[12,"policy structure",true,"time_and_key: INNER_ACCESS_AGE with 16 X25519 stanzas",""],[13,"open access layer",true,"identity matched exactly one stanza",""],[14,"control",true,"canonical CONTROL_CBOR",""],[15,"header binding",true,"matches",""],[16,"payload identity",true,"I_PAYLOAD recovered; L = 46, padding reforzado, P = 256",""],[17,"open payload",true,"payload authenticated; 256 bytes of plaintext, zero after byte 46",""],[18,"commit",true,"46 bytes of content",""]],"content":"937492203d207d6fe36161b8696bf1f05b8b4cc56d855c44853f4b76aad3a05b","dkk_sha256":"1bbfae2b919ece51d4eab434bb3be11f821aad5762bdd2d9f5256dbdbe2f71de","noncritical":[["datekeys.capsule",1,1,"a20078194361727461732064656c207669616a652061204c6973626f61017853646b315f65794a325a584a7a61573975496a6f784c434a755a58523362334a72496a6f695a4746305a57746c65584d3663585670593274755a585136646a45694c434a79623356755a4349364d5441774d4830"]],"standard":true,"text":0,"unusable":[]},{"checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v2, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=2128",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=fe68d3b3bb59db0c14b7ef57d8d6cb5e datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_and_key profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"access credential",true,"1 identities to try",""],[9,"release",true,"round 1000 obtained",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",true,"one tlock stanza, header MAC valid",""],[12,"policy structure",true,"time_and_key: INNER_ACCESS_AGE with 16 X25519 stanzas",""],[13,"open access layer",true,"identity matched exactly one stanza",""],[14,"control",true,"canonical CONTROL_CBOR",""],[15,"header binding",true,"matches",""],[16,"payload identity",true,"I_PAYLOAD recovered; L = 46, padding reforzado, P = 256",""],[17,"open payload",true,"payload authenticated; 256 bytes of plaintext, zero after byte 46",""],[18,"commit",true,"46 bytes of content",""]],"content":"937492203d207d6fe36161b8696bf1f05b8b4cc56d855c44853f4b76aad3a05b","dkk_sha256":"9a5f0719a95d536d62f141f754fc9b6cbf1872f750f320cd86e71365dc76acb8","noncritical":[["datekeys.capsule",1,2,"a30078194361727461732064656c207669616a652061204c6973626f61017853646b315f65794a325a584a7a61573975496a6f784c434a755a58523362334a72496a6f695a4746305a57746c65584d3663585670593274755a585136646a45694c434a79623356755a4349364d5441774d4830025911636167652d656e6372797074696f6e2e6f72672f76310a2d3e20746c6f636b203130303020353264623962613730653063633066366561663738303364643037343437613166353437373733356664336636363137393262613934363030633834653937310a704a2b6145446e30616f794e7777503974586833445730464e434e5a544859425a7869665332385a526b4d58476c7936386c5978684e665537554b5766662f4e0a4643396a7462326236796f34697334394c664e7842366d4451426f75346935366b76686a4a7a693978776452635658393969667071717633554b56384a6b4d5a0a56642f4e546c79657734704f4f6c3074736242434d52786c6f7133326d655a6f3574743153347a505a78340a2d2d2d20764c4e665155636b53554b39634c35554359756239334c6669702f74636351744b694334707149624b566f0aaae70102b4f4e3bd7f721dff2f6b989cfbe5e34c1a02668bee7bfce4ce3a7b03e1d491113ffa4a4245e43d9887e8e7ec1b0e8755a32e013b5726e920f491d594e836bf0124d48feb90c3949e48b81729d87660028e6b64303a692b8b3ec3a906ed95bdbfe48f6bfa635c4ccf8fa731bb670f31957b139bb1a3672ba48a2c61d11b2135d9bb61f40e72be9bf888e284ee6345a0cc9fcca5c352a753c95900ed1f785a2aec431e5653bd148c3390ea25a438c37eae21d05e3f9916460996d820645ebea176779cba196f53eb8036318e90e5a8aea1d90817f0cab6ec0c89623f18b871e49ad3f74069445df6da5cbe71d153e222bf28bdd28e2271c85894f8680a43a591b9ca77d06a011aa1031b31fabffe8535c1fc88aa507f9b8359b1d3da0dc2fb693bead0fa6c22b2af015fb3bbd9d8a0fe2cfb812f45ef10c85c8e9115fb192eaee2193d0b23221313625cf6c7bf4cc2d5fe6e0297286e657e0124577c18110b0a4feca6b3a1ce5ef0eab223fd93cfeb9d6f63b18c12f93b5c89bb8e1320c35ab6f2333ad14a6b8f100b1a8848dbe85aa6109697c99f341e73941745083377350e21538d5f4d596702d87c6a2a8c89fa1622241eff8f57b5fa2e173ab63ffab11057d54ba9a88be8ecf0d15ea9a72ac6998d88dfb7312630398dba7c6c94a311717758452e929fb4cd33ebe51216562950d4b0f2a6395d925610991d92577983a66dc423eddd57d258f0112d7ecb23c5005340400890eec671c3857c6daab9b89945fd7c8ca397ccc4b86839f2b4a4fe383b761e934e709871d11d82449c03c193661de93c7c8b627a024a79c4e15ce3c7fcce9fecd4ae4d42502b2e118c406af63690682005cad764022b40e95c036dbe78b42ced385ba6b9a9a23164998242c5f1abaaa87cdc93495eeb7e1062381511d2b4fa849d9d81255f6a1429476b9a0339ab534b6d686a69e185524e2b593c6eca2598632e404f453610d0a2b60a9262aafadc073a4a9ca8085de030d5884a46c9e3ac435acdcbf84eaa5cb2e3fca8be4617192f66d95ac6d31ad1edb0869797e088cc1d8b3f7bb23756cd986ea16f47fe12d80c6e7d886f77cd1dff580664f1eca6163def502740906a3457a3d584602af04202a12e087411079690b5ce0f861bd561a518a9b40472e44991bcbadafe878a696ce08eacc064eb6d72de944b20c03099728e6339bec5f2fc9e9d6933224fa7213b14fdc6da2692d5a5957ee89c235c3a98cf5545454eaa41bcc9494e8995cac9bf4ede197353e01ddf63e52f374eae5b44cc966bf82401ac80367246fdafbce8257c677368956427ad85cb98160a99bebcd53212bc33c72fa6320e8bab21f36c196429733c1a7122323fd2566cdeb4c59259a76683eef4c3994a46434231ac1f8b78161cf4ee01e8c97d752a8f03e77a60b098981ae792239d9d7a325df2d6ee3cfc0a5ee304f5193f8a6d54bd8395bad2719ec6e15e8ccbe3534095718431e9ad1b8570b1674fbfcb31216b308a43486fc848f55e5ce72cc3a52801d843947eeb733ae26ae7ea18fb09ed2b9e453ed6e3fa9dd294c1d01925b61873a9e22372baeeaf7989ccbf325ac2406876bd4aa846cf493eb809b2325b00c8363982e5ccb4c096edd0e4cadc4631b2e0b107fb2e93f8f3ce3585dfc4328314d673f681dc65d6a9d615703f223711908a856773cf86e022b3a10dae314906776f752d326028d3bd90eae846c821ac15758198120e40a65a509955aae6b6793031ed3496756e374fcae3079979b565edb14e2083b597c31c2743ebb8e6f0216d0b8f378eb3c774cfae63b2c5571b8ac25e9a01af7b8bcaebb780fc2541be636ce0db449ff5a18c1181323ff2b78a86e4c73e0c62ad8df432c894a3dc2aea3a9edd738394b388ff24ed752eb499b1afd6672a94371cab91a6568f5daec1b9a830bbfc0d0c1292435b04e2c2d4f6f9ab78a03c5f08317e5c0f4ba68ab5e230482e2cf6d1c2aced4c4a7544c5a69533bcab2d3f525693b5c346e58f601233e61e254d8310a0300a45cd1712fd5c5121cb437ebf58c5221c5ae4e408dff8b3b885f3efbfb16b444f37792f7c4056d6d2308cb60ebf5fac7065891d3619dcee9bc8f1497084fe22895c5f8606ccab88ff9090c92c17e00dbe588fbf70b4320542c0ff55020a6a9d1657a99a2e6f033e08496855c73655cf8b1029fdef5bff1dc52970701b05a2a1c089e488b97b4a4d8c97a5565cf5a29ddac3ee3549aa7a8d023f38c5dd01830199bea4d09add7bc31bd8238dff6df1ca56162599b0ff32c21961c61c23fa50ba8000c9c74d40a0295ff3a06940405d58237bc60b4c316f294094e88a49a5dd93b923c7e898985076076da602ff5cb60d60a30db77c2b3dcfe36b1ff3db032ea6bc456fd45324bab0655e65beb1e46d8baac529810a575243819b0eef039a79da869919b247fd15ff9a663743117e55908f4abd09b7b821c8149e71523ca83e63337aa6a8b3c1bfe738715c473df39f56f1a27c867a182ce70d4317bec3943cd787d801de2cf167e759ebfef44b23c447413aa210ddf128dd9a571f8959c23dd8e3b8d7486536d9cf7452ee1ce3aa4b40264b87a883e1af82807f46a7efb145d83c1bae2de392a164529e9de8547c0b45ee7a176d2c2a8c1832aa1f2910b545d6752cb39964f3f45affcf78f1387ba5c8b556331bef428570d714cbf5b06f1355170c1bac61d06447e27d51a0a0f0f3fc0d884f3ff5a9380fffc88fa9321e0c418b070b447fd0cef846e35671ddb677298dc7d1740bb769d27c92e9470316293a30c41eb12b023599357ef686560f226f0f2fee4f5ac69e7a12a8a936bacf788883e17a2d1e44357e5c0823a98f051bed95c27f654bf1d29eaf23d6549e359b3405329bf336be35e7430920da78b00c64362901c97321e438c61ebe4472d744af85b1b378adedfbe00de25e7b5ba2b8fb539422cf72633b5871ab67a99e0f6f988e896c6c2443d36ed20f06221b270ec6d3f74033f81e1e2efda43d89c9bf524892c5ebb114edf9714185df6f6b56bc684e54884f76cf6e7f98730440e96bc020ddf4902a9981c6ee0ed59e43901e61d27e2a348dcdd697b21a8685d4213fb72d3e9e5ef7fa67eb12f846ccf089fb6083df34fad990213a725457ae17c2ff57c753a98d4082993a0a531337073cee732e549823e3089dafe42861ce9eff5d67fa99e1bc0b6e84d5436de387481de9776e7b6d9c303f2f44c77c78526ac291a76d8e061ea92aaeaab2323eb67ec92e99c6dc1e18fbe8fd26019819a2d723c93b8a7e9d785ff9db8937dd694fd4a14fc7168dd68d072edb86364a76b00b1de203acd19bc29c72e4ffc3769d20e2873d22138a104094a335ea82d1992f57a50880f58e84cb448e82a67ce3c636fc99eb80ebd4f684031ab434a9bb157225d8b94989087b9ffd7cf3a06ba092b5f2175089ad64a542b9a872a40557661981ef9ba706df402d782bdd40f5236cfe31f0797a282c7394f986d05328cd73941b464aef385932630f8c3da048673cec12bc616b86742ff0cbd279b2134ec0579739e5b5179c48b7380a8ff820afcab9c033178e54f0b91c190cf25df45e45526cc0e8526270ce9574e338d06c44dffa04769aa2b82c6abe5122a894c0a5f9721ad001151d82eff987d6ca5fc99fb02bf0bd9cff026fcfac90935340eb70f565e71d0a4f4dd6a24e8c2ecdd0db7d22d7ed4e2c2cf6c58db03599a02f3120d96bbf2f9c357d26ce1b5ebcf8c99e70c5591dd6d9b2a36c70968d60f1fa7c48b13ee95ca9ca748e6b32d9f9812313a2e127d7a0975a968d66f2ca1fdca5c8cb47dd2fbdff70651aa79ab25b3de592ecaafda4aa75004f1b75a0dfac49d299b0e1beb95c501ff90668500844833659c64e3eacc9d03fb1a524a350f51f0d428aa975618c4fca76298c0ef36918838b94b2a5b27223bc25ccc26a38a114c4808392e36a3d963fda75daee86cbeb1effdaf40ea796560366700194d51e60a3b68823baf5eed92cd37203d7ea2bd1a444a369d86b54f3cc082b4e4a392fc2eaaf9cddec19e69a1fe33b3eb92a7773d5dbf199fe7ddbb55b290d89f49380213b331fdd17af4f4ee156319bf6cfc1f244183e73029bb81ce497ebf2bf109c0c0a266b9c44674aa3343cf59c9a4b7ecbef30275ab3c06c8846ec4710b46ae56dc9b59b68840f528bec1dcf8a1fcce573d5b75405267e587995cfcfca76b7d829beb2f9ee8d091c677e0e032fbc11a619d85d9dc339c992bafcdfbda81d2085331abd2a991c88cc74173aa2931043a057721ab991f8255e2a2fa16c3ea0bac96c2629c3e39f3a327597983e1b1a5cf4801b91cf2c01924cb45740a4d59d269a744a4ab0716cb7f74c9fc305edf0b7e1288ea173b95c55128e00d47f70485bf8204c4e01deddbc979d10a5bf50a40c1b7db4c1e3d5885e35fc275ea6a18ecea8c851b39745e0936b531aa08426756ebf5f2cbe1fada01e7f7028aa72f46a4b25805a4bd5b97629edc946200d61013a845c85c75162e3cadac891f6955f0c09ab72d8b88ded267966262c2eea5e651e0c54697242aac3744e0bc025396625c3bd13fb93c8acb0e373d30d5605fd8d5e1f5c2fcca2a48a647556caa1c9e54f4c71d4c8c1de1e6ec1233a8f8e8db8524e62f1e8cbc9b173f1eda3a77e9ebec85a68cb7cc24a972616059ca238df72a5be06df9ae811983ed78251730abed4926ad841fc69ced295667a26b8fc0de59ba9f8a1a8c56adfc6ff98dc57529f02de8924e3d12ac7824b21c88abd36d5d7e5ad95ba09feede071bbb9b7c8c994a0389845fc1c339a96b62f8e3e065cfe896c9235c70fb9679a669d922f8cc7dc9826964c0542f2b694c735ca736aa400aaf9d2227d087273f430676b094b5e19d4aa9f9306da44618185031bca52e383ac3342ff22f8031b31d1ff616b1dd46bf2bee85640db3048db14177a8f49ad5d1e270b1384ad4783ea99d92ef72d84e6b2574705b33a450e4ba3200eb7f775c14f015ba059f90a4fe563ba251507b5646bf133d54daafcc7f0f59bc919511c8193d12e2aa679ff079186ddcc8af1d516658ebd4f4c9116edfa6e30aae450935cfcf4f5d7c8a49d9e1a9618d86cff01ca5cdbd2241b6b6cbef5ef62ef36123df936df110c308a3253ec20835cf9b4b1905dc73fc426d5f44b5fb6da24eee2e59c9231f48d3e005b8fe027c1f07a4e02dd6560a899a76f0974cb2c8994313d194a7215f2eb8109f2452e8ffd02c2be5193c2dcfc038043a92104f23e933a6c29ba59d63c3c9954b2339a9d13563b57cef601e77bb6e898013fbd8e568155859c60e3d760af1be4953eea1d885ac0c39502f7f7f552ba642df890c4605cf0f22a2259cac54d8eb60d116e2b30d6ee732b2af9977237aa13452307982c13323d36c8098d9b77352f4040b9577ccfa265a2e994c555468b08583b1e2aafafa4d33ad527dadc22f68d925bd9ab4fd7844d191e35b3930461e3dd59313a65e78539e02c6f8f436cca9a6204c43396a7159ad6b4e5f4114e29294389dff75f72eae3982f14b1340d83b0aafb3398b43894dabe33e5bd024dd9cd0940cd11a0c9447841b5400196353c9bc596d05a6dbd859d7f875e3746f4ee85207fa3a701021bd0411af0e8a65cdea9c3d1b078afd948b1eff4f3fb926e7b8006124f9feb0c99f07afcdc5c17ad696f6acae3aed4aa0a442836fc41dc25d77830d3573bf1cfad2002ad0ecabdb5c5d9fca21b77e18ef69668b2e05245aa316e64d08e1a0893345f3c2b3d5f5c081b57e4c2815a4f0e3d6a5bfbc347ec9d125f3b8c45"]],"standard":true,"text":0,"unusable":[]},{"checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v2, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=2128",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=fe68d3b3bb59db0c14b7ef57d8d6cb5e datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_and_key profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"access credential",true,"1 identities to try",""],[9,"release",true,"round 1000 obtained",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",true,"one tlock stanza, header MAC valid",""],[12,"policy structure",true,"time_and_key: INNER_ACCESS_AGE with 16 X25519 stanzas",""],[13,"open access layer",true,"identity matched exactly one stanza",""],[14,"control",true,"canonical CONTROL_CBOR",""],[15,"header binding",true,"matches",""],[16,"payload identity",true,"I_PAYLOAD recovered; L = 46, padding reforzado, P = 256",""],[17,"open payload",true,"payload authenticated; 256 bytes of plaintext, zero after byte 46",""],[18,"commit",true,"46 bytes of content",""]],"content":"937492203d207d6fe36161b8696bf1f05b8b4cc56d855c44853f4b76aad3a05b","dkk_sha256":"4432d6bb535c352636ff38077c550b9b4214ac201f3140f72c9e11f557ed4399","noncritical":[["datekeys.capsule",1,3,"a2017853646b315f65794a325a584a7a61573975496a6f784c434a755a58523362334a72496a6f695a4746305a57746c65584d3663585670593274755a585136646a45694c434a79623356755a4349364d5441774d4830025911636167652d656e6372797074696f6e2e6f72672f76310a2d3e20746c6f636b203130303020353264623962613730653063633066366561663738303364643037343437613166353437373733356664336636363137393262613934363030633834653937310a704a2b6145446e30616f794e7777503974586833445730464e434e5a544859425a7869665332385a526b4d58476c7936386c5978684e665537554b5766662f4e0a4643396a7462326236796f34697334394c664e7842366d4451426f75346935366b76686a4a7a693978776452635658393969667071717633554b56384a6b4d5a0a56642f4e546c79657734704f4f6c3074736242434d52786c6f7133326d655a6f3574743153347a505a78340a2d2d2d20764c4e665155636b53554b39634c35554359756239334c6669702f74636351744b694334707149624b566f0aaae70102b4f4e3bd7f721dff2f6b989cfbe5e34c1a02668bee7bfce4ce3a7b03e1d491113ffa4a4245e43d9887e8e7ec1b0e8755a32e013b5726e920f491d594e836bf0124d48feb90c3949e48b81729d87660028e6b64303a692b8b3ec3a906ed95bdbfe48f6bfa635c4ccf8fa731bb670f31957b139bb1a3672ba48a2c61d11b2135d9bb61f40e72be9bf888e284ee6345a0cc9fcca5c352a753c95900ed1f785a2aec431e5653bd148c3390ea25a438c37eae21d05e3f9916460996d820645ebea176779cba196f53eb8036318e90e5a8aea1d90817f0cab6ec0c89623f18b871e49ad3f74069445df6da5cbe71d153e222bf28bdd28e2271c85894f8680a43a591b9ca77d06a011aa1031b31fabffe8535c1fc88aa507f9b8359b1d3da0dc2fb693bead0fa6c22b2af015fb3bbd9d8a0fe2cfb812f45ef10c85c8e9115fb192eaee2193d0b23221313625cf6c7bf4cc2d5fe6e0297286e657e0124577c18110b0a4feca6b3a1ce5ef0eab223fd93cfeb9d6f63b18c12f93b5c89bb8e1320c35ab6f2333ad14a6b8f100b1a8848dbe85aa6109697c99f341e73941745083377350e21538d5f4d596702d87c6a2a8c89fa1622241eff8f57b5fa2e173ab63ffab11057d54ba9a88be8ecf0d15ea9a72ac6998d88dfb7312630398dba7c6c94a311717758452e929fb4cd33ebe51216562950d4b0f2a6395d925610991d92577983a66dc423eddd57d258f0112d7ecb23c5005340400890eec671c3857c6daab9b89945fd7c8ca397ccc4b86839f2b4a4fe383b761e934e709871d11d82449c03c193661de93c7c8b627a024a79c4e15ce3c7fcce9fecd4ae4d42502b2e118c406af63690682005cad764022b40e95c036dbe78b42ced385ba6b9a9a23164998242c5f1abaaa87cdc93495eeb7e1062381511d2b4fa849d9d81255f6a1429476b9a0339ab534b6d686a69e185524e2b593c6eca2598632e404f453610d0a2b60a9262aafadc073a4a9ca8085de030d5884a46c9e3ac435acdcbf84eaa5cb2e3fca8be4617192f66d95ac6d31ad1edb0869797e088cc1d8b3f7bb23756cd986ea16f47fe12d80c6e7d886f77cd1dff580664f1eca6163def502740906a3457a3d584602af04202a12e087411079690b5ce0f861bd561a518a9b40472e44991bcbadafe878a696ce08eacc064eb6d72de944b20c03099728e6339bec5f2fc9e9d6933224fa7213b14fdc6da2692d5a5957ee89c235c3a98cf5545454eaa41bcc9494e8995cac9bf4ede197353e01ddf63e52f374eae5b44cc966bf82401ac80367246fdafbce8257c677368956427ad85cb98160a99bebcd53212bc33c72fa6320e8bab21f36c196429733c1a7122323fd2566cdeb4c59259a76683eef4c3994a46434231ac1f8b78161cf4ee01e8c97d752a8f03e77a60b098981ae792239d9d7a325df2d6ee3cfc0a5ee304f5193f8a6d54bd8395bad2719ec6e15e8ccbe3534095718431e9ad1b8570b1674fbfcb31216b308a43486fc848f55e5ce72cc3a52801d843947eeb733ae26ae7ea18fb09ed2b9e453ed6e3fa9dd294c1d01925b61873a9e22372baeeaf7989ccbf325ac2406876bd4aa846cf493eb809b2325b00c8363982e5ccb4c096edd0e4cadc4631b2e0b107fb2e93f8f3ce3585dfc4328314d673f681dc65d6a9d615703f223711908a856773cf86e022b3a10dae314906776f752d326028d3bd90eae846c821ac15758198120e40a65a509955aae6b6793031ed3496756e374fcae3079979b565edb14e2083b597c31c2743ebb8e6f0216d0b8f378eb3c774cfae63b2c5571b8ac25e9a01af7b8bcaebb780fc2541be636ce0db449ff5a18c1181323ff2b78a86e4c73e0c62ad8df432c894a3dc2aea3a9edd738394b388ff24ed752eb499b1afd6672a94371cab91a6568f5daec1b9a830bbfc0d0c1292435b04e2c2d4f6f9ab78a03c5f08317e5c0f4ba68ab5e230482e2cf6d1c2aced4c4a7544c5a69533bcab2d3f525693b5c346e58f601233e61e254d8310a0300a45cd1712fd5c5121cb437ebf58c5221c5ae4e408dff8b3b885f3efbfb16b444f37792f7c4056d6d2308cb60ebf5fac7065891d3619dcee9bc8f1497084fe22895c5f8606ccab88ff9090c92c17e00dbe588fbf70b4320542c0ff55020a6a9d1657a99a2e6f033e08496855c73655cf8b1029fdef5bff1dc52970701b05a2a1c089e488b97b4a4d8c97a5565cf5a29ddac3ee3549aa7a8d023f38c5dd01830199bea4d09add7bc31bd8238dff6df1ca56162599b0ff32c21961c61c23fa50ba8000c9c74d40a0295ff3a06940405d58237bc60b4c316f294094e88a49a5dd93b923c7e898985076076da602ff5cb60d60a30db77c2b3dcfe36b1ff3db032ea6bc456fd45324bab0655e65beb1e46d8baac529810a575243819b0eef039a79da869919b247fd15ff9a663743117e55908f4abd09b7b821c8149e71523ca83e63337aa6a8b3c1bfe738715c473df39f56f1a27c867a182ce70d4317bec3943cd787d801de2cf167e759ebfef44b23c447413aa210ddf128dd9a571f8959c23dd8e3b8d7486536d9cf7452ee1ce3aa4b40264b87a883e1af82807f46a7efb145d83c1bae2de392a164529e9de8547c0b45ee7a176d2c2a8c1832aa1f2910b545d6752cb39964f3f45affcf78f1387ba5c8b556331bef428570d714cbf5b06f1355170c1bac61d06447e27d51a0a0f0f3fc0d884f3ff5a9380fffc88fa9321e0c418b070b447fd0cef846e35671ddb677298dc7d1740bb769d27c92e9470316293a30c41eb12b023599357ef686560f226f0f2fee4f5ac69e7a12a8a936bacf788883e17a2d1e44357e5c0823a98f051bed95c27f654bf1d29eaf23d6549e359b3405329bf336be35e7430920da78b00c64362901c97321e438c61ebe4472d744af85b1b378adedfbe00de25e7b5ba2b8fb539422cf72633b5871ab67a99e0f6f988e896c6c2443d36ed20f06221b270ec6d3f74033f81e1e2efda43d89c9bf524892c5ebb114edf9714185df6f6b56bc684e54884f76cf6e7f98730440e96bc020ddf4902a9981c6ee0ed59e43901e61d27e2a348dcdd697b21a8685d4213fb72d3e9e5ef7fa67eb12f846ccf089fb6083df34fad990213a725457ae17c2ff57c753a98d4082993a0a531337073cee732e549823e3089dafe42861ce9eff5d67fa99e1bc0b6e84d5436de387481de9776e7b6d9c303f2f44c77c78526ac291a76d8e061ea92aaeaab2323eb67ec92e99c6dc1e18fbe8fd26019819a2d723c93b8a7e9d785ff9db8937dd694fd4a14fc7168dd68d072edb86364a76b00b1de203acd19bc29c72e4ffc3769d20e2873d22138a104094a335ea82d1992f57a50880f58e84cb448e82a67ce3c636fc99eb80ebd4f684031ab434a9bb157225d8b94989087b9ffd7cf3a06ba092b5f2175089ad64a542b9a872a40557661981ef9ba706df402d782bdd40f5236cfe31f0797a282c7394f986d05328cd73941b464aef385932630f8c3da048673cec12bc616b86742ff0cbd279b2134ec0579739e5b5179c48b7380a8ff820afcab9c033178e54f0b91c190cf25df45e45526cc0e8526270ce9574e338d06c44dffa04769aa2b82c6abe5122a894c0a5f9721ad001151d82eff987d6ca5fc99fb02bf0bd9cff026fcfac90935340eb70f565e71d0a4f4dd6a24e8c2ecdd0db7d22d7ed4e2c2cf6c58db03599a02f3120d96bbf2f9c357d26ce1b5ebcf8c99e70c5591dd6d9b2a36c70968d60f1fa7c48b13ee95ca9ca748e6b32d9f9812313a2e127d7a0975a968d66f2ca1fdca5c8cb47dd2fbdff70651aa79ab25b3de592ecaafda4aa75004f1b75a0dfac49d299b0e1beb95c501ff90668500844833659c64e3eacc9d03fb1a524a350f51f0d428aa975618c4fca76298c0ef36918838b94b2a5b27223bc25ccc26a38a114c4808392e36a3d963fda75daee86cbeb1effdaf40ea796560366700194d51e60a3b68823baf5eed92cd37203d7ea2bd1a444a369d86b54f3cc082b4e4a392fc2eaaf9cddec19e69a1fe33b3eb92a7773d5dbf199fe7ddbb55b290d89f49380213b331fdd17af4f4ee156319bf6cfc1f244183e73029bb81ce497ebf2bf109c0c0a266b9c44674aa3343cf59c9a4b7ecbef30275ab3c06c8846ec4710b46ae56dc9b59b68840f528bec1dcf8a1fcce573d5b75405267e587995cfcfca76b7d829beb2f9ee8d091c677e0e032fbc11a619d85d9dc339c992bafcdfbda81d2085331abd2a991c88cc74173aa2931043a057721ab991f8255e2a2fa16c3ea0bac96c2629c3e39f3a327597983e1b1a5cf4801b91cf2c01924cb45740a4d59d269a744a4ab0716cb7f74c9fc305edf0b7e1288ea173b95c55128e00d47f70485bf8204c4e01deddbc979d10a5bf50a40c1b7db4c1e3d5885e35fc275ea6a18ecea8c851b39745e0936b531aa08426756ebf5f2cbe1fada01e7f7028aa72f46a4b25805a4bd5b97629edc946200d61013a845c85c75162e3cadac891f6955f0c09ab72d8b88ded267966262c2eea5e651e0c54697242aac3744e0bc025396625c3bd13fb93c8acb0e373d30d5605fd8d5e1f5c2fcca2a48a647556caa1c9e54f4c71d4c8c1de1e6ec1233a8f8e8db8524e62f1e8cbc9b173f1eda3a77e9ebec85a68cb7cc24a972616059ca238df72a5be06df9ae811983ed78251730abed4926ad841fc69ced295667a26b8fc0de59ba9f8a1a8c56adfc6ff98dc57529f02de8924e3d12ac7824b21c88abd36d5d7e5ad95ba09feede071bbb9b7c8c994a0389845fc1c339a96b62f8e3e065cfe896c9235c70fb9679a669d922f8cc7dc9826964c0542f2b694c735ca736aa400aaf9d2227d087273f430676b094b5e19d4aa9f9306da44618185031bca52e383ac3342ff22f8031b31d1ff616b1dd46bf2bee85640db3048db14177a8f49ad5d1e270b1384ad4783ea99d92ef72d84e6b2574705b33a450e4ba3200eb7f775c14f015ba059f90a4fe563ba251507b5646bf133d54daafcc7f0f59bc919511c8193d12e2aa679ff079186ddcc8af1d516658ebd4f4c9116edfa6e30aae450935cfcf4f5d7c8a49d9e1a9618d86cff01ca5cdbd2241b6b6cbef5ef62ef36123df936df110c308a3253ec20835cf9b4b1905dc73fc426d5f44b5fb6da24eee2e59c9231f48d3e005b8fe027c1f07a4e02dd6560a899a76f0974cb2c8994313d194a7215f2eb8109f2452e8ffd02c2be5193c2dcfc038043a92104f23e933a6c29ba59d63c3c9954b2339a9d13563b57cef601e77bb6e898013fbd8e568155859c60e3d760af1be4953eea1d885ac0c39502f7f7f552ba642df890c4605cf0f22a2259cac54d8eb60d116e2b30d6ee732b2af9977237aa13452307982c13323d36c8098d9b77352f4040b9577ccfa265a2e994c555468b08583b1e2aafafa4d33ad527dadc22f68d925bd9ab4fd7844d191e35b3930461e3dd59313a65e78539e02c6f8f436cca9a6204c43396a7159ad6b4e5f4114e29294389dff75f72eae3982f14b1340d83b0aafb3398b43894dabe33e5bd024dd9cd0940cd11a0c9447841b5400196353c9bc596d05a6dbd859d7f875e3746f4ee85207fa3a701021bd0411af0e8a65cdea9c3d1b078afd948b1eff4f3fb926e7b8006124f9feb0c99f07afcdc5c17ad696f6acae3aed4aa0a442836fc41dc25d77830d3573bf1cfad2002ad0ecabdb5c5d9fca21b77e18ef69668b2e05245aa316e64d08e1a0893345f3c2b3d5f5c081b57e4c2815a4f0e3d6a5bfbc347ec9d125f3b8c45"]],"standard":true,"text":0,"unusable":[]},{"checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v2, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=2128",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=fe68d3b3bb59db0c14b7ef57d8d6cb5e datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_and_key profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"access credential",true,"1 identities to try, 1 unusable noncritical extensions",""],[9,"release",true,"round 1000 obtained",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",true,"one tlock stanza, header MAC valid",""],[12,"policy structure",true,"time_and_key: INNER_ACCESS_AGE with 16 X25519 stanzas",""],[13,"open access layer",true,"identity matched exactly one stanza",""],[14,"control",true,"canonical CONTROL_CBOR",""],[15,"header binding",true,"matches",""],[16,"payload identity",true,"I_PAYLOAD recovered; L = 46, padding reforzado, P = 256",""],[17,"open payload",true,"payload authenticated; 256 bytes of plaintext, zero after byte 46",""],[18,"commit",true,"46 bytes of content",""]],"content":"937492203d207d6fe36161b8696bf1f05b8b4cc56d855c44853f4b76aad3a05b","dkk_sha256":"2d58d2bfb77f000b8ef08609e9002f3a852f750296d3d2e2a783ea09e87cd2d4","noncritical":[["datekeys.capsule",1,4,"a0"]],"standard":true,"text":0,"unusable":[["datekeys.capsule",1,282]]},{"checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v2, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=2128",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=fe68d3b3bb59db0c14b7ef57d8d6cb5e datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_and_key profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"access credential",true,"1 identities to try, 1 unusable noncritical extensions",""],[9,"release",true,"round 1000 obtained",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",true,"one tlock stanza, header MAC valid",""],[12,"policy structure",true,"time_and_key: INNER_ACCESS_AGE with 16 X25519 stanzas",""],[13,"open access layer",true,"identity matched exactly one stanza",""],[14,"control",true,"canonical CONTROL_CBOR",""],[15,"header binding",true,"matches",""],[16,"payload identity",true,"I_PAYLOAD recovered; L = 46, padding reforzado, P = 256",""],[17,"open payload",true,"payload authenticated; 256 bytes of plaintext, zero after byte 46",""],[18,"commit",true,"46 bytes of content",""]],"content":"937492203d207d6fe36161b8696bf1f05b8b4cc56d855c44853f4b76aad3a05b","dkk_sha256":"c1e82243e48877d2ed906e35e66163d5251591d97cda46bfc42f238c745c4f10","noncritical":[["datekeys.capsule",1,5,"436172746173"]],"standard":true,"text":0,"unusable":[["datekeys.capsule",1,284]]},{"checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v2, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=2128",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=fe68d3b3bb59db0c14b7ef57d8d6cb5e datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_and_key profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"access credential",true,"1 identities to try",""],[9,"release",true,"round 1000 obtained",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",true,"one tlock stanza, header MAC valid",""],[12,"policy structure",true,"time_and_key: INNER_ACCESS_AGE with 16 X25519 stanzas",""],[13,"open access layer",true,"identity matched exactly one stanza",""],[14,"control",true,"canonical CONTROL_CBOR",""],[15,"header binding",true,"matches",""],[16,"payload identity",true,"I_PAYLOAD recovered; L = 46, padding reforzado, P = 256",""],[17,"open payload",true,"payload authenticated; 256 bytes of plaintext, zero after byte 46",""],[18,"commit",true,"46 bytes of content",""]],"content":"937492203d207d6fe36161b8696bf1f05b8b4cc56d855c44853f4b76aad3a05b","dkk_sha256":"805aa67eb8f368df66b8488bddbec197ae88694de570f4eef5e26c8999a93ad5","noncritical":[["datekeys.capsule",1,0,"a1017853646b315f65794a325a584a7a61573975496a6f784c434a755a58523362334a72496a6f695a4746305a57746c65584d3663585670593274755a585136646a45694c434a79623356755a4349364d5441774d4830"],["org.example",1,-1,"01"]],"standard":true,"text":0,"unusable":[]},{"checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v2, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=2128",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=fe68d3b3bb59db0c14b7ef57d8d6cb5e datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_and_key profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"access credential",true,"1 identities to try",""],[9,"release",true,"round 1000 obtained",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",true,"one tlock stanza, header MAC valid",""],[12,"policy structure",true,"time_and_key: INNER_ACCESS_AGE with 16 X25519 stanzas",""],[13,"open access layer",true,"identity matched exactly one stanza",""],[14,"control",true,"canonical CONTROL_CBOR",""],[15,"header binding",true,"matches",""],[16,"payload identity",true,"I_PAYLOAD recovered; L = 46, padding reforzado, P = 256",""],[17,"open payload",true,"payload authenticated; 256 bytes of plaintext, zero after byte 46",""],[18,"commit",true,"46 bytes of content",""]],"content":"937492203d207d6fe36161b8696bf1f05b8b4cc56d855c44853f4b76aad3a05b","dkk_sha256":"c1e82243e48877d2ed906e35e66163d5251591d97cda46bfc42f238c745c4f10","noncritical":[["datekeys.capsule",1,5,"436172746173"]],"standard":false,"text":0,"unusable":[]},{"checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v2, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=2128",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=fe68d3b3bb59db0c14b7ef57d8d6cb5e datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_and_key profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"access credential",true,"1 identities to try",""],[9,"release",true,"round 1000 obtained",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",true,"one tlock stanza, header MAC valid",""],[12,"policy structure",true,"time_and_key: INNER_ACCESS_AGE with 16 X25519 stanzas",""],[13,"open access layer",true,"identity matched exactly one stanza",""],[14,"control",true,"canonical CONTROL_CBOR",""],[15,"header binding",true,"matches",""],[16,"payload identity",true,"I_PAYLOAD recovered; L = 46, padding reforzado, P = 256",""],[17,"open payload",true,"payload authenticated; 256 bytes of plaintext, zero after byte 46",""],[18,"commit",true,"46 bytes of content",""]],"content":"937492203d207d6fe36161b8696bf1f05b8b4cc56d855c44853f4b76aad3a05b","dkk_sha256":"095b7bc516a22bf0c2366f0af3cd48bfe857a2354d6e2a9b285278b95e450fe0","noncritical":[],"standard":true,"text":0,"unusable":[]}],"fixture":"format2_time_and_key_portable","now":"2026-10-06T00:00:00Z"} + "capsule": {"cases":[{"checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v2, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=2128",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=fe68d3b3bb59db0c14b7ef57d8d6cb5e datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_and_key profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"access credential",true,"1 identities to try",""],[9,"release",true,"round 1000 obtained",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",true,"one tlock stanza, header MAC valid",""],[12,"policy structure",true,"time_and_key: INNER_ACCESS_AGE with 16 X25519 stanzas",""],[13,"open access layer",true,"identity matched exactly one stanza",""],[14,"control",true,"canonical CONTROL_CBOR",""],[15,"header binding",true,"matches",""],[16,"payload identity",true,"I_PAYLOAD recovered; L = 46, padding reforzado, P = 256",""],[17,"open payload",true,"payload authenticated; 256 bytes of plaintext, zero after byte 46",""],[18,"commit",true,"46 bytes of content",""]],"content":"937492203d207d6fe36161b8696bf1f05b8b4cc56d855c44853f4b76aad3a05b","dkk_sha256":"141658be87c5a81024f27fb2ea6729fa85cc8d3f9c52733b5283a3c595ad9823","noncritical":[["datekeys.capsule",1,0,"a1017853646b315f65794a325a584a7a61573975496a6f784c434a755a58523362334a72496a6f695a4746305a57746c65584d3663585670593274755a585136646a45694c434a79623356755a4349364d5441774d4830"]],"standard":true,"text":0,"unusable":[]},{"checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v2, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=2128",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=fe68d3b3bb59db0c14b7ef57d8d6cb5e datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_and_key profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"access credential",true,"1 identities to try",""],[9,"release",true,"round 1000 obtained",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",true,"one tlock stanza, header MAC valid",""],[12,"policy structure",true,"time_and_key: INNER_ACCESS_AGE with 16 X25519 stanzas",""],[13,"open access layer",true,"identity matched exactly one stanza",""],[14,"control",true,"canonical CONTROL_CBOR",""],[15,"header binding",true,"matches",""],[16,"payload identity",true,"I_PAYLOAD recovered; L = 46, padding reforzado, P = 256",""],[17,"open payload",true,"payload authenticated; 256 bytes of plaintext, zero after byte 46",""],[18,"commit",true,"46 bytes of content",""]],"content":"937492203d207d6fe36161b8696bf1f05b8b4cc56d855c44853f4b76aad3a05b","dkk_sha256":"1bbfae2b919ece51d4eab434bb3be11f821aad5762bdd2d9f5256dbdbe2f71de","noncritical":[["datekeys.capsule",1,1,"a20078194361727461732064656c207669616a652061204c6973626f61017853646b315f65794a325a584a7a61573975496a6f784c434a755a58523362334a72496a6f695a4746305a57746c65584d3663585670593274755a585136646a45694c434a79623356755a4349364d5441774d4830"]],"standard":true,"text":0,"unusable":[]},{"checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v2, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=2128",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=fe68d3b3bb59db0c14b7ef57d8d6cb5e datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_and_key profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"access credential",true,"1 identities to try",""],[9,"release",true,"round 1000 obtained",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",true,"one tlock stanza, header MAC valid",""],[12,"policy structure",true,"time_and_key: INNER_ACCESS_AGE with 16 X25519 stanzas",""],[13,"open access layer",true,"identity matched exactly one stanza",""],[14,"control",true,"canonical CONTROL_CBOR",""],[15,"header binding",true,"matches",""],[16,"payload identity",true,"I_PAYLOAD recovered; L = 46, padding reforzado, P = 256",""],[17,"open payload",true,"payload authenticated; 256 bytes of plaintext, zero after byte 46",""],[18,"commit",true,"46 bytes of content",""]],"content":"937492203d207d6fe36161b8696bf1f05b8b4cc56d855c44853f4b76aad3a05b","dkk_sha256":"9a5f0719a95d536d62f141f754fc9b6cbf1872f750f320cd86e71365dc76acb8","noncritical":[["datekeys.capsule",1,2,"a30078194361727461732064656c207669616a652061204c6973626f61017853646b315f65794a325a584a7a61573975496a6f784c434a755a58523362334a72496a6f695a4746305a57746c65584d3663585670593274755a585136646a45694c434a79623356755a4349364d5441774d4830025911636167652d656e6372797074696f6e2e6f72672f76310a2d3e20746c6f636b203130303020353264623962613730653063633066366561663738303364643037343437613166353437373733356664336636363137393262613934363030633834653937310a704a2b6145446e30616f794e7777503974586833445730464e434e5a544859425a7869665332385a526b4d58476c7936386c5978684e665537554b5766662f4e0a4643396a7462326236796f34697334394c664e7842366d4451426f75346935366b76686a4a7a693978776452635658393969667071717633554b56384a6b4d5a0a56642f4e546c79657734704f4f6c3074736242434d52786c6f7133326d655a6f3574743153347a505a78340a2d2d2d20764c4e665155636b53554b39634c35554359756239334c6669702f74636351744b694334707149624b566f0aaae70102b4f4e3bd7f721dff2f6b989cfbe5e34c1a02668bee7bfce4ce3a7b03e1d491113ffa4a4245e43d9887e8e7ec1b0e8755a32e013b5726e920f491d594e836bf0124d48feb90c3949e48b81729d87660028e6b64303a692b8b3ec3a906ed95bdbfe48f6bfa635c4ccf8fa731bb670f31957b139bb1a3672ba48a2c61d11b2135d9bb61f40e72be9bf888e284ee6345a0cc9fcca5c352a753c95900ed1f785a2aec431e5653bd148c3390ea25a438c37eae21d05e3f9916460996d820645ebea176779cba196f53eb8036318e90e5a8aea1d90817f0cab6ec0c89623f18b871e49ad3f74069445df6da5cbe71d153e222bf28bdd28e2271c85894f8680a43a591b9ca77d06a011aa1031b31fabffe8535c1fc88aa507f9b8359b1d3da0dc2fb693bead0fa6c22b2af015fb3bbd9d8a0fe2cfb812f45ef10c85c8e9115fb192eaee2193d0b23221313625cf6c7bf4cc2d5fe6e0297286e657e0124577c18110b0a4feca6b3a1ce5ef0eab223fd93cfeb9d6f63b18c12f93b5c89bb8e1320c35ab6f2333ad14a6b8f100b1a8848dbe85aa6109697c99f341e73941745083377350e21538d5f4d596702d87c6a2a8c89fa1622241eff8f57b5fa2e173ab63ffab11057d54ba9a88be8ecf0d15ea9a72ac6998d88dfb7312630398dba7c6c94a311717758452e929fb4cd33ebe51216562950d4b0f2a6395d925610991d92577983a66dc423eddd57d258f0112d7ecb23c5005340400890eec671c3857c6daab9b89945fd7c8ca397ccc4b86839f2b4a4fe383b761e934e709871d11d82449c03c193661de93c7c8b627a024a79c4e15ce3c7fcce9fecd4ae4d42502b2e118c406af63690682005cad764022b40e95c036dbe78b42ced385ba6b9a9a23164998242c5f1abaaa87cdc93495eeb7e1062381511d2b4fa849d9d81255f6a1429476b9a0339ab534b6d686a69e185524e2b593c6eca2598632e404f453610d0a2b60a9262aafadc073a4a9ca8085de030d5884a46c9e3ac435acdcbf84eaa5cb2e3fca8be4617192f66d95ac6d31ad1edb0869797e088cc1d8b3f7bb23756cd986ea16f47fe12d80c6e7d886f77cd1dff580664f1eca6163def502740906a3457a3d584602af04202a12e087411079690b5ce0f861bd561a518a9b40472e44991bcbadafe878a696ce08eacc064eb6d72de944b20c03099728e6339bec5f2fc9e9d6933224fa7213b14fdc6da2692d5a5957ee89c235c3a98cf5545454eaa41bcc9494e8995cac9bf4ede197353e01ddf63e52f374eae5b44cc966bf82401ac80367246fdafbce8257c677368956427ad85cb98160a99bebcd53212bc33c72fa6320e8bab21f36c196429733c1a7122323fd2566cdeb4c59259a76683eef4c3994a46434231ac1f8b78161cf4ee01e8c97d752a8f03e77a60b098981ae792239d9d7a325df2d6ee3cfc0a5ee304f5193f8a6d54bd8395bad2719ec6e15e8ccbe3534095718431e9ad1b8570b1674fbfcb31216b308a43486fc848f55e5ce72cc3a52801d843947eeb733ae26ae7ea18fb09ed2b9e453ed6e3fa9dd294c1d01925b61873a9e22372baeeaf7989ccbf325ac2406876bd4aa846cf493eb809b2325b00c8363982e5ccb4c096edd0e4cadc4631b2e0b107fb2e93f8f3ce3585dfc4328314d673f681dc65d6a9d615703f223711908a856773cf86e022b3a10dae314906776f752d326028d3bd90eae846c821ac15758198120e40a65a509955aae6b6793031ed3496756e374fcae3079979b565edb14e2083b597c31c2743ebb8e6f0216d0b8f378eb3c774cfae63b2c5571b8ac25e9a01af7b8bcaebb780fc2541be636ce0db449ff5a18c1181323ff2b78a86e4c73e0c62ad8df432c894a3dc2aea3a9edd738394b388ff24ed752eb499b1afd6672a94371cab91a6568f5daec1b9a830bbfc0d0c1292435b04e2c2d4f6f9ab78a03c5f08317e5c0f4ba68ab5e230482e2cf6d1c2aced4c4a7544c5a69533bcab2d3f525693b5c346e58f601233e61e254d8310a0300a45cd1712fd5c5121cb437ebf58c5221c5ae4e408dff8b3b885f3efbfb16b444f37792f7c4056d6d2308cb60ebf5fac7065891d3619dcee9bc8f1497084fe22895c5f8606ccab88ff9090c92c17e00dbe588fbf70b4320542c0ff55020a6a9d1657a99a2e6f033e08496855c73655cf8b1029fdef5bff1dc52970701b05a2a1c089e488b97b4a4d8c97a5565cf5a29ddac3ee3549aa7a8d023f38c5dd01830199bea4d09add7bc31bd8238dff6df1ca56162599b0ff32c21961c61c23fa50ba8000c9c74d40a0295ff3a06940405d58237bc60b4c316f294094e88a49a5dd93b923c7e898985076076da602ff5cb60d60a30db77c2b3dcfe36b1ff3db032ea6bc456fd45324bab0655e65beb1e46d8baac529810a575243819b0eef039a79da869919b247fd15ff9a663743117e55908f4abd09b7b821c8149e71523ca83e63337aa6a8b3c1bfe738715c473df39f56f1a27c867a182ce70d4317bec3943cd787d801de2cf167e759ebfef44b23c447413aa210ddf128dd9a571f8959c23dd8e3b8d7486536d9cf7452ee1ce3aa4b40264b87a883e1af82807f46a7efb145d83c1bae2de392a164529e9de8547c0b45ee7a176d2c2a8c1832aa1f2910b545d6752cb39964f3f45affcf78f1387ba5c8b556331bef428570d714cbf5b06f1355170c1bac61d06447e27d51a0a0f0f3fc0d884f3ff5a9380fffc88fa9321e0c418b070b447fd0cef846e35671ddb677298dc7d1740bb769d27c92e9470316293a30c41eb12b023599357ef686560f226f0f2fee4f5ac69e7a12a8a936bacf788883e17a2d1e44357e5c0823a98f051bed95c27f654bf1d29eaf23d6549e359b3405329bf336be35e7430920da78b00c64362901c97321e438c61ebe4472d744af85b1b378adedfbe00de25e7b5ba2b8fb539422cf72633b5871ab67a99e0f6f988e896c6c2443d36ed20f06221b270ec6d3f74033f81e1e2efda43d89c9bf524892c5ebb114edf9714185df6f6b56bc684e54884f76cf6e7f98730440e96bc020ddf4902a9981c6ee0ed59e43901e61d27e2a348dcdd697b21a8685d4213fb72d3e9e5ef7fa67eb12f846ccf089fb6083df34fad990213a725457ae17c2ff57c753a98d4082993a0a531337073cee732e549823e3089dafe42861ce9eff5d67fa99e1bc0b6e84d5436de387481de9776e7b6d9c303f2f44c77c78526ac291a76d8e061ea92aaeaab2323eb67ec92e99c6dc1e18fbe8fd26019819a2d723c93b8a7e9d785ff9db8937dd694fd4a14fc7168dd68d072edb86364a76b00b1de203acd19bc29c72e4ffc3769d20e2873d22138a104094a335ea82d1992f57a50880f58e84cb448e82a67ce3c636fc99eb80ebd4f684031ab434a9bb157225d8b94989087b9ffd7cf3a06ba092b5f2175089ad64a542b9a872a40557661981ef9ba706df402d782bdd40f5236cfe31f0797a282c7394f986d05328cd73941b464aef385932630f8c3da048673cec12bc616b86742ff0cbd279b2134ec0579739e5b5179c48b7380a8ff820afcab9c033178e54f0b91c190cf25df45e45526cc0e8526270ce9574e338d06c44dffa04769aa2b82c6abe5122a894c0a5f9721ad001151d82eff987d6ca5fc99fb02bf0bd9cff026fcfac90935340eb70f565e71d0a4f4dd6a24e8c2ecdd0db7d22d7ed4e2c2cf6c58db03599a02f3120d96bbf2f9c357d26ce1b5ebcf8c99e70c5591dd6d9b2a36c70968d60f1fa7c48b13ee95ca9ca748e6b32d9f9812313a2e127d7a0975a968d66f2ca1fdca5c8cb47dd2fbdff70651aa79ab25b3de592ecaafda4aa75004f1b75a0dfac49d299b0e1beb95c501ff90668500844833659c64e3eacc9d03fb1a524a350f51f0d428aa975618c4fca76298c0ef36918838b94b2a5b27223bc25ccc26a38a114c4808392e36a3d963fda75daee86cbeb1effdaf40ea796560366700194d51e60a3b68823baf5eed92cd37203d7ea2bd1a444a369d86b54f3cc082b4e4a392fc2eaaf9cddec19e69a1fe33b3eb92a7773d5dbf199fe7ddbb55b290d89f49380213b331fdd17af4f4ee156319bf6cfc1f244183e73029bb81ce497ebf2bf109c0c0a266b9c44674aa3343cf59c9a4b7ecbef30275ab3c06c8846ec4710b46ae56dc9b59b68840f528bec1dcf8a1fcce573d5b75405267e587995cfcfca76b7d829beb2f9ee8d091c677e0e032fbc11a619d85d9dc339c992bafcdfbda81d2085331abd2a991c88cc74173aa2931043a057721ab991f8255e2a2fa16c3ea0bac96c2629c3e39f3a327597983e1b1a5cf4801b91cf2c01924cb45740a4d59d269a744a4ab0716cb7f74c9fc305edf0b7e1288ea173b95c55128e00d47f70485bf8204c4e01deddbc979d10a5bf50a40c1b7db4c1e3d5885e35fc275ea6a18ecea8c851b39745e0936b531aa08426756ebf5f2cbe1fada01e7f7028aa72f46a4b25805a4bd5b97629edc946200d61013a845c85c75162e3cadac891f6955f0c09ab72d8b88ded267966262c2eea5e651e0c54697242aac3744e0bc025396625c3bd13fb93c8acb0e373d30d5605fd8d5e1f5c2fcca2a48a647556caa1c9e54f4c71d4c8c1de1e6ec1233a8f8e8db8524e62f1e8cbc9b173f1eda3a77e9ebec85a68cb7cc24a972616059ca238df72a5be06df9ae811983ed78251730abed4926ad841fc69ced295667a26b8fc0de59ba9f8a1a8c56adfc6ff98dc57529f02de8924e3d12ac7824b21c88abd36d5d7e5ad95ba09feede071bbb9b7c8c994a0389845fc1c339a96b62f8e3e065cfe896c9235c70fb9679a669d922f8cc7dc9826964c0542f2b694c735ca736aa400aaf9d2227d087273f430676b094b5e19d4aa9f9306da44618185031bca52e383ac3342ff22f8031b31d1ff616b1dd46bf2bee85640db3048db14177a8f49ad5d1e270b1384ad4783ea99d92ef72d84e6b2574705b33a450e4ba3200eb7f775c14f015ba059f90a4fe563ba251507b5646bf133d54daafcc7f0f59bc919511c8193d12e2aa679ff079186ddcc8af1d516658ebd4f4c9116edfa6e30aae450935cfcf4f5d7c8a49d9e1a9618d86cff01ca5cdbd2241b6b6cbef5ef62ef36123df936df110c308a3253ec20835cf9b4b1905dc73fc426d5f44b5fb6da24eee2e59c9231f48d3e005b8fe027c1f07a4e02dd6560a899a76f0974cb2c8994313d194a7215f2eb8109f2452e8ffd02c2be5193c2dcfc038043a92104f23e933a6c29ba59d63c3c9954b2339a9d13563b57cef601e77bb6e898013fbd8e568155859c60e3d760af1be4953eea1d885ac0c39502f7f7f552ba642df890c4605cf0f22a2259cac54d8eb60d116e2b30d6ee732b2af9977237aa13452307982c13323d36c8098d9b77352f4040b9577ccfa265a2e994c555468b08583b1e2aafafa4d33ad527dadc22f68d925bd9ab4fd7844d191e35b3930461e3dd59313a65e78539e02c6f8f436cca9a6204c43396a7159ad6b4e5f4114e29294389dff75f72eae3982f14b1340d83b0aafb3398b43894dabe33e5bd024dd9cd0940cd11a0c9447841b5400196353c9bc596d05a6dbd859d7f875e3746f4ee85207fa3a701021bd0411af0e8a65cdea9c3d1b078afd948b1eff4f3fb926e7b8006124f9feb0c99f07afcdc5c17ad696f6acae3aed4aa0a442836fc41dc25d77830d3573bf1cfad2002ad0ecabdb5c5d9fca21b77e18ef69668b2e05245aa316e64d08e1a0893345f3c2b3d5f5c081b57e4c2815a4f0e3d6a5bfbc347ec9d125f3b8c45"]],"standard":true,"text":0,"unusable":[]},{"checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v2, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=2128",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=fe68d3b3bb59db0c14b7ef57d8d6cb5e datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_and_key profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"access credential",true,"1 identities to try",""],[9,"release",true,"round 1000 obtained",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",true,"one tlock stanza, header MAC valid",""],[12,"policy structure",true,"time_and_key: INNER_ACCESS_AGE with 16 X25519 stanzas",""],[13,"open access layer",true,"identity matched exactly one stanza",""],[14,"control",true,"canonical CONTROL_CBOR",""],[15,"header binding",true,"matches",""],[16,"payload identity",true,"I_PAYLOAD recovered; L = 46, padding reforzado, P = 256",""],[17,"open payload",true,"payload authenticated; 256 bytes of plaintext, zero after byte 46",""],[18,"commit",true,"46 bytes of content",""]],"content":"937492203d207d6fe36161b8696bf1f05b8b4cc56d855c44853f4b76aad3a05b","dkk_sha256":"4432d6bb535c352636ff38077c550b9b4214ac201f3140f72c9e11f557ed4399","noncritical":[["datekeys.capsule",1,3,"a2017853646b315f65794a325a584a7a61573975496a6f784c434a755a58523362334a72496a6f695a4746305a57746c65584d3663585670593274755a585136646a45694c434a79623356755a4349364d5441774d4830025911636167652d656e6372797074696f6e2e6f72672f76310a2d3e20746c6f636b203130303020353264623962613730653063633066366561663738303364643037343437613166353437373733356664336636363137393262613934363030633834653937310a704a2b6145446e30616f794e7777503974586833445730464e434e5a544859425a7869665332385a526b4d58476c7936386c5978684e665537554b5766662f4e0a4643396a7462326236796f34697334394c664e7842366d4451426f75346935366b76686a4a7a693978776452635658393969667071717633554b56384a6b4d5a0a56642f4e546c79657734704f4f6c3074736242434d52786c6f7133326d655a6f3574743153347a505a78340a2d2d2d20764c4e665155636b53554b39634c35554359756239334c6669702f74636351744b694334707149624b566f0aaae70102b4f4e3bd7f721dff2f6b989cfbe5e34c1a02668bee7bfce4ce3a7b03e1d491113ffa4a4245e43d9887e8e7ec1b0e8755a32e013b5726e920f491d594e836bf0124d48feb90c3949e48b81729d87660028e6b64303a692b8b3ec3a906ed95bdbfe48f6bfa635c4ccf8fa731bb670f31957b139bb1a3672ba48a2c61d11b2135d9bb61f40e72be9bf888e284ee6345a0cc9fcca5c352a753c95900ed1f785a2aec431e5653bd148c3390ea25a438c37eae21d05e3f9916460996d820645ebea176779cba196f53eb8036318e90e5a8aea1d90817f0cab6ec0c89623f18b871e49ad3f74069445df6da5cbe71d153e222bf28bdd28e2271c85894f8680a43a591b9ca77d06a011aa1031b31fabffe8535c1fc88aa507f9b8359b1d3da0dc2fb693bead0fa6c22b2af015fb3bbd9d8a0fe2cfb812f45ef10c85c8e9115fb192eaee2193d0b23221313625cf6c7bf4cc2d5fe6e0297286e657e0124577c18110b0a4feca6b3a1ce5ef0eab223fd93cfeb9d6f63b18c12f93b5c89bb8e1320c35ab6f2333ad14a6b8f100b1a8848dbe85aa6109697c99f341e73941745083377350e21538d5f4d596702d87c6a2a8c89fa1622241eff8f57b5fa2e173ab63ffab11057d54ba9a88be8ecf0d15ea9a72ac6998d88dfb7312630398dba7c6c94a311717758452e929fb4cd33ebe51216562950d4b0f2a6395d925610991d92577983a66dc423eddd57d258f0112d7ecb23c5005340400890eec671c3857c6daab9b89945fd7c8ca397ccc4b86839f2b4a4fe383b761e934e709871d11d82449c03c193661de93c7c8b627a024a79c4e15ce3c7fcce9fecd4ae4d42502b2e118c406af63690682005cad764022b40e95c036dbe78b42ced385ba6b9a9a23164998242c5f1abaaa87cdc93495eeb7e1062381511d2b4fa849d9d81255f6a1429476b9a0339ab534b6d686a69e185524e2b593c6eca2598632e404f453610d0a2b60a9262aafadc073a4a9ca8085de030d5884a46c9e3ac435acdcbf84eaa5cb2e3fca8be4617192f66d95ac6d31ad1edb0869797e088cc1d8b3f7bb23756cd986ea16f47fe12d80c6e7d886f77cd1dff580664f1eca6163def502740906a3457a3d584602af04202a12e087411079690b5ce0f861bd561a518a9b40472e44991bcbadafe878a696ce08eacc064eb6d72de944b20c03099728e6339bec5f2fc9e9d6933224fa7213b14fdc6da2692d5a5957ee89c235c3a98cf5545454eaa41bcc9494e8995cac9bf4ede197353e01ddf63e52f374eae5b44cc966bf82401ac80367246fdafbce8257c677368956427ad85cb98160a99bebcd53212bc33c72fa6320e8bab21f36c196429733c1a7122323fd2566cdeb4c59259a76683eef4c3994a46434231ac1f8b78161cf4ee01e8c97d752a8f03e77a60b098981ae792239d9d7a325df2d6ee3cfc0a5ee304f5193f8a6d54bd8395bad2719ec6e15e8ccbe3534095718431e9ad1b8570b1674fbfcb31216b308a43486fc848f55e5ce72cc3a52801d843947eeb733ae26ae7ea18fb09ed2b9e453ed6e3fa9dd294c1d01925b61873a9e22372baeeaf7989ccbf325ac2406876bd4aa846cf493eb809b2325b00c8363982e5ccb4c096edd0e4cadc4631b2e0b107fb2e93f8f3ce3585dfc4328314d673f681dc65d6a9d615703f223711908a856773cf86e022b3a10dae314906776f752d326028d3bd90eae846c821ac15758198120e40a65a509955aae6b6793031ed3496756e374fcae3079979b565edb14e2083b597c31c2743ebb8e6f0216d0b8f378eb3c774cfae63b2c5571b8ac25e9a01af7b8bcaebb780fc2541be636ce0db449ff5a18c1181323ff2b78a86e4c73e0c62ad8df432c894a3dc2aea3a9edd738394b388ff24ed752eb499b1afd6672a94371cab91a6568f5daec1b9a830bbfc0d0c1292435b04e2c2d4f6f9ab78a03c5f08317e5c0f4ba68ab5e230482e2cf6d1c2aced4c4a7544c5a69533bcab2d3f525693b5c346e58f601233e61e254d8310a0300a45cd1712fd5c5121cb437ebf58c5221c5ae4e408dff8b3b885f3efbfb16b444f37792f7c4056d6d2308cb60ebf5fac7065891d3619dcee9bc8f1497084fe22895c5f8606ccab88ff9090c92c17e00dbe588fbf70b4320542c0ff55020a6a9d1657a99a2e6f033e08496855c73655cf8b1029fdef5bff1dc52970701b05a2a1c089e488b97b4a4d8c97a5565cf5a29ddac3ee3549aa7a8d023f38c5dd01830199bea4d09add7bc31bd8238dff6df1ca56162599b0ff32c21961c61c23fa50ba8000c9c74d40a0295ff3a06940405d58237bc60b4c316f294094e88a49a5dd93b923c7e898985076076da602ff5cb60d60a30db77c2b3dcfe36b1ff3db032ea6bc456fd45324bab0655e65beb1e46d8baac529810a575243819b0eef039a79da869919b247fd15ff9a663743117e55908f4abd09b7b821c8149e71523ca83e63337aa6a8b3c1bfe738715c473df39f56f1a27c867a182ce70d4317bec3943cd787d801de2cf167e759ebfef44b23c447413aa210ddf128dd9a571f8959c23dd8e3b8d7486536d9cf7452ee1ce3aa4b40264b87a883e1af82807f46a7efb145d83c1bae2de392a164529e9de8547c0b45ee7a176d2c2a8c1832aa1f2910b545d6752cb39964f3f45affcf78f1387ba5c8b556331bef428570d714cbf5b06f1355170c1bac61d06447e27d51a0a0f0f3fc0d884f3ff5a9380fffc88fa9321e0c418b070b447fd0cef846e35671ddb677298dc7d1740bb769d27c92e9470316293a30c41eb12b023599357ef686560f226f0f2fee4f5ac69e7a12a8a936bacf788883e17a2d1e44357e5c0823a98f051bed95c27f654bf1d29eaf23d6549e359b3405329bf336be35e7430920da78b00c64362901c97321e438c61ebe4472d744af85b1b378adedfbe00de25e7b5ba2b8fb539422cf72633b5871ab67a99e0f6f988e896c6c2443d36ed20f06221b270ec6d3f74033f81e1e2efda43d89c9bf524892c5ebb114edf9714185df6f6b56bc684e54884f76cf6e7f98730440e96bc020ddf4902a9981c6ee0ed59e43901e61d27e2a348dcdd697b21a8685d4213fb72d3e9e5ef7fa67eb12f846ccf089fb6083df34fad990213a725457ae17c2ff57c753a98d4082993a0a531337073cee732e549823e3089dafe42861ce9eff5d67fa99e1bc0b6e84d5436de387481de9776e7b6d9c303f2f44c77c78526ac291a76d8e061ea92aaeaab2323eb67ec92e99c6dc1e18fbe8fd26019819a2d723c93b8a7e9d785ff9db8937dd694fd4a14fc7168dd68d072edb86364a76b00b1de203acd19bc29c72e4ffc3769d20e2873d22138a104094a335ea82d1992f57a50880f58e84cb448e82a67ce3c636fc99eb80ebd4f684031ab434a9bb157225d8b94989087b9ffd7cf3a06ba092b5f2175089ad64a542b9a872a40557661981ef9ba706df402d782bdd40f5236cfe31f0797a282c7394f986d05328cd73941b464aef385932630f8c3da048673cec12bc616b86742ff0cbd279b2134ec0579739e5b5179c48b7380a8ff820afcab9c033178e54f0b91c190cf25df45e45526cc0e8526270ce9574e338d06c44dffa04769aa2b82c6abe5122a894c0a5f9721ad001151d82eff987d6ca5fc99fb02bf0bd9cff026fcfac90935340eb70f565e71d0a4f4dd6a24e8c2ecdd0db7d22d7ed4e2c2cf6c58db03599a02f3120d96bbf2f9c357d26ce1b5ebcf8c99e70c5591dd6d9b2a36c70968d60f1fa7c48b13ee95ca9ca748e6b32d9f9812313a2e127d7a0975a968d66f2ca1fdca5c8cb47dd2fbdff70651aa79ab25b3de592ecaafda4aa75004f1b75a0dfac49d299b0e1beb95c501ff90668500844833659c64e3eacc9d03fb1a524a350f51f0d428aa975618c4fca76298c0ef36918838b94b2a5b27223bc25ccc26a38a114c4808392e36a3d963fda75daee86cbeb1effdaf40ea796560366700194d51e60a3b68823baf5eed92cd37203d7ea2bd1a444a369d86b54f3cc082b4e4a392fc2eaaf9cddec19e69a1fe33b3eb92a7773d5dbf199fe7ddbb55b290d89f49380213b331fdd17af4f4ee156319bf6cfc1f244183e73029bb81ce497ebf2bf109c0c0a266b9c44674aa3343cf59c9a4b7ecbef30275ab3c06c8846ec4710b46ae56dc9b59b68840f528bec1dcf8a1fcce573d5b75405267e587995cfcfca76b7d829beb2f9ee8d091c677e0e032fbc11a619d85d9dc339c992bafcdfbda81d2085331abd2a991c88cc74173aa2931043a057721ab991f8255e2a2fa16c3ea0bac96c2629c3e39f3a327597983e1b1a5cf4801b91cf2c01924cb45740a4d59d269a744a4ab0716cb7f74c9fc305edf0b7e1288ea173b95c55128e00d47f70485bf8204c4e01deddbc979d10a5bf50a40c1b7db4c1e3d5885e35fc275ea6a18ecea8c851b39745e0936b531aa08426756ebf5f2cbe1fada01e7f7028aa72f46a4b25805a4bd5b97629edc946200d61013a845c85c75162e3cadac891f6955f0c09ab72d8b88ded267966262c2eea5e651e0c54697242aac3744e0bc025396625c3bd13fb93c8acb0e373d30d5605fd8d5e1f5c2fcca2a48a647556caa1c9e54f4c71d4c8c1de1e6ec1233a8f8e8db8524e62f1e8cbc9b173f1eda3a77e9ebec85a68cb7cc24a972616059ca238df72a5be06df9ae811983ed78251730abed4926ad841fc69ced295667a26b8fc0de59ba9f8a1a8c56adfc6ff98dc57529f02de8924e3d12ac7824b21c88abd36d5d7e5ad95ba09feede071bbb9b7c8c994a0389845fc1c339a96b62f8e3e065cfe896c9235c70fb9679a669d922f8cc7dc9826964c0542f2b694c735ca736aa400aaf9d2227d087273f430676b094b5e19d4aa9f9306da44618185031bca52e383ac3342ff22f8031b31d1ff616b1dd46bf2bee85640db3048db14177a8f49ad5d1e270b1384ad4783ea99d92ef72d84e6b2574705b33a450e4ba3200eb7f775c14f015ba059f90a4fe563ba251507b5646bf133d54daafcc7f0f59bc919511c8193d12e2aa679ff079186ddcc8af1d516658ebd4f4c9116edfa6e30aae450935cfcf4f5d7c8a49d9e1a9618d86cff01ca5cdbd2241b6b6cbef5ef62ef36123df936df110c308a3253ec20835cf9b4b1905dc73fc426d5f44b5fb6da24eee2e59c9231f48d3e005b8fe027c1f07a4e02dd6560a899a76f0974cb2c8994313d194a7215f2eb8109f2452e8ffd02c2be5193c2dcfc038043a92104f23e933a6c29ba59d63c3c9954b2339a9d13563b57cef601e77bb6e898013fbd8e568155859c60e3d760af1be4953eea1d885ac0c39502f7f7f552ba642df890c4605cf0f22a2259cac54d8eb60d116e2b30d6ee732b2af9977237aa13452307982c13323d36c8098d9b77352f4040b9577ccfa265a2e994c555468b08583b1e2aafafa4d33ad527dadc22f68d925bd9ab4fd7844d191e35b3930461e3dd59313a65e78539e02c6f8f436cca9a6204c43396a7159ad6b4e5f4114e29294389dff75f72eae3982f14b1340d83b0aafb3398b43894dabe33e5bd024dd9cd0940cd11a0c9447841b5400196353c9bc596d05a6dbd859d7f875e3746f4ee85207fa3a701021bd0411af0e8a65cdea9c3d1b078afd948b1eff4f3fb926e7b8006124f9feb0c99f07afcdc5c17ad696f6acae3aed4aa0a442836fc41dc25d77830d3573bf1cfad2002ad0ecabdb5c5d9fca21b77e18ef69668b2e05245aa316e64d08e1a0893345f3c2b3d5f5c081b57e4c2815a4f0e3d6a5bfbc347ec9d125f3b8c45"]],"standard":true,"text":0,"unusable":[]},{"checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v2, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=2128",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=fe68d3b3bb59db0c14b7ef57d8d6cb5e datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_and_key profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"access credential",true,"1 identities to try, 1 unusable noncritical extensions",""],[9,"release",true,"round 1000 obtained",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",true,"one tlock stanza, header MAC valid",""],[12,"policy structure",true,"time_and_key: INNER_ACCESS_AGE with 16 X25519 stanzas",""],[13,"open access layer",true,"identity matched exactly one stanza",""],[14,"control",true,"canonical CONTROL_CBOR",""],[15,"header binding",true,"matches",""],[16,"payload identity",true,"I_PAYLOAD recovered; L = 46, padding reforzado, P = 256",""],[17,"open payload",true,"payload authenticated; 256 bytes of plaintext, zero after byte 46",""],[18,"commit",true,"46 bytes of content",""]],"content":"937492203d207d6fe36161b8696bf1f05b8b4cc56d855c44853f4b76aad3a05b","dkk_sha256":"2d58d2bfb77f000b8ef08609e9002f3a852f750296d3d2e2a783ea09e87cd2d4","noncritical":[["datekeys.capsule",1,4,"a0"]],"standard":true,"text":0,"unusable":[["datekeys.capsule",1,288]]},{"checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v2, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=2128",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=fe68d3b3bb59db0c14b7ef57d8d6cb5e datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_and_key profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"access credential",true,"1 identities to try, 1 unusable noncritical extensions",""],[9,"release",true,"round 1000 obtained",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",true,"one tlock stanza, header MAC valid",""],[12,"policy structure",true,"time_and_key: INNER_ACCESS_AGE with 16 X25519 stanzas",""],[13,"open access layer",true,"identity matched exactly one stanza",""],[14,"control",true,"canonical CONTROL_CBOR",""],[15,"header binding",true,"matches",""],[16,"payload identity",true,"I_PAYLOAD recovered; L = 46, padding reforzado, P = 256",""],[17,"open payload",true,"payload authenticated; 256 bytes of plaintext, zero after byte 46",""],[18,"commit",true,"46 bytes of content",""]],"content":"937492203d207d6fe36161b8696bf1f05b8b4cc56d855c44853f4b76aad3a05b","dkk_sha256":"c1e82243e48877d2ed906e35e66163d5251591d97cda46bfc42f238c745c4f10","noncritical":[["datekeys.capsule",1,5,"436172746173"]],"standard":true,"text":0,"unusable":[["datekeys.capsule",1,290]]},{"checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v2, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=2128",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=fe68d3b3bb59db0c14b7ef57d8d6cb5e datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_and_key profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"access credential",true,"1 identities to try",""],[9,"release",true,"round 1000 obtained",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",true,"one tlock stanza, header MAC valid",""],[12,"policy structure",true,"time_and_key: INNER_ACCESS_AGE with 16 X25519 stanzas",""],[13,"open access layer",true,"identity matched exactly one stanza",""],[14,"control",true,"canonical CONTROL_CBOR",""],[15,"header binding",true,"matches",""],[16,"payload identity",true,"I_PAYLOAD recovered; L = 46, padding reforzado, P = 256",""],[17,"open payload",true,"payload authenticated; 256 bytes of plaintext, zero after byte 46",""],[18,"commit",true,"46 bytes of content",""]],"content":"937492203d207d6fe36161b8696bf1f05b8b4cc56d855c44853f4b76aad3a05b","dkk_sha256":"805aa67eb8f368df66b8488bddbec197ae88694de570f4eef5e26c8999a93ad5","noncritical":[["datekeys.capsule",1,0,"a1017853646b315f65794a325a584a7a61573975496a6f784c434a755a58523362334a72496a6f695a4746305a57746c65584d3663585670593274755a585136646a45694c434a79623356755a4349364d5441774d4830"],["org.example",1,-1,"01"]],"standard":true,"text":0,"unusable":[]},{"checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v2, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=2128",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=fe68d3b3bb59db0c14b7ef57d8d6cb5e datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_and_key profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"access credential",true,"1 identities to try",""],[9,"release",true,"round 1000 obtained",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",true,"one tlock stanza, header MAC valid",""],[12,"policy structure",true,"time_and_key: INNER_ACCESS_AGE with 16 X25519 stanzas",""],[13,"open access layer",true,"identity matched exactly one stanza",""],[14,"control",true,"canonical CONTROL_CBOR",""],[15,"header binding",true,"matches",""],[16,"payload identity",true,"I_PAYLOAD recovered; L = 46, padding reforzado, P = 256",""],[17,"open payload",true,"payload authenticated; 256 bytes of plaintext, zero after byte 46",""],[18,"commit",true,"46 bytes of content",""]],"content":"937492203d207d6fe36161b8696bf1f05b8b4cc56d855c44853f4b76aad3a05b","dkk_sha256":"c1e82243e48877d2ed906e35e66163d5251591d97cda46bfc42f238c745c4f10","noncritical":[["datekeys.capsule",1,5,"436172746173"]],"standard":false,"text":0,"unusable":[]},{"checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v2, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=2128",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=fe68d3b3bb59db0c14b7ef57d8d6cb5e datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_and_key profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"access credential",true,"1 identities to try",""],[9,"release",true,"round 1000 obtained",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",true,"one tlock stanza, header MAC valid",""],[12,"policy structure",true,"time_and_key: INNER_ACCESS_AGE with 16 X25519 stanzas",""],[13,"open access layer",true,"identity matched exactly one stanza",""],[14,"control",true,"canonical CONTROL_CBOR",""],[15,"header binding",true,"matches",""],[16,"payload identity",true,"I_PAYLOAD recovered; L = 46, padding reforzado, P = 256",""],[17,"open payload",true,"payload authenticated; 256 bytes of plaintext, zero after byte 46",""],[18,"commit",true,"46 bytes of content",""]],"content":"937492203d207d6fe36161b8696bf1f05b8b4cc56d855c44853f4b76aad3a05b","dkk_sha256":"095b7bc516a22bf0c2366f0af3cd48bfe857a2354d6e2a9b285278b95e450fe0","noncritical":[],"standard":true,"text":0,"unusable":[]}],"fixture":"format2_time_and_key_portable","now":"2026-10-06T00:00:00Z"} }