{"ScriptPreparationCode":"async function globalMeasureThatScriptPrepareFunction() {\r\n // ECDSA setup\r\n const ecdsaSignatureAlgorithm = { name: \u0027ECDSA\u0027, hash: { name: \u0027SHA-512\u0027 }};\r\n const { privateKey: ecdsaPrivateKey } = await crypto.subtle.generateKey({ name: \u0027ECDSA\u0027, namedCurve: \u0027P-384\u0027}, true, [\u0027sign\u0027, \u0027verify\u0027]);\r\n\r\n // c setup\r\n const ed25519SignatureAlgorithm = { name: \u0027ed25519\u0027, hash: { name: \u0027SHA-512\u0027 }};\r\n var { privateKey: ed25519PrivateKey } = await crypto.subtle.generateKey({ name: \u0027ed25519\u0027 }, true, [\u0027sign\u0027, \u0027verify\u0027]);\r\n\r\n var data = new TextEncoder().encode(\u0022X\u0022.repeat(200));\r\n\r\n window.ecdsa = [ecdsaSignatureAlgorithm, ecdsaPrivateKey, data];\r\n window.ed25519 = [ed25519SignatureAlgorithm, ed25519PrivateKey, data];\r\n}","TestCases":[{"Name":"ecdsa","Code":"crypto.subtle.sign(...window.ecdsa).then(() =\u003E deferred.resolve())","IsDeferred":true},{"Name":"ed25519","Code":"crypto.subtle.sign(...window.ed25519).then(() =\u003E deferred.resolve())","IsDeferred":true}]}