{"ScriptPreparationCode":"function uuid() {\r\n return ([1e7]\u002B-1e3\u002B-4e3\u002B-8e3\u002B-1e11).replace(/[018]/g, c =\u003E\r\n (c ^ crypto.getRandomValues(new Uint8Array(1))[0] \u0026 15 \u003E\u003E c / 4).toString(16)\r\n );\r\n}\r\nwindow.versionsArray = Array(100).fill({ type: \u0027module\u0027 }).map(a =\u003E ({ ...a, id: uuid(), archiveId: uuid() }))\r\nwindow.versionsHash = versionsArray.reduce((hash, version) =\u003E { \r\n if (!hash[version.type]) hash[version.type] = {}\r\n hash[version.type][version.id] = version.archiveId\r\n return hash; \r\n}, {})\r\nwindow.locateId = versionsArray[70].id\r\nwindow.locateArchiveId = versionsArray[70].archiveId","TestCases":[{"Name":"array lookup","Code":"const foundVersionArchiveId = window.versionsArray.find(v =\u003E v.type === \u0027module\u0027 \u0026\u0026 v.id === window.locateId)\r\nconsole.assert(foundVersionArchiveId === window.locateArchiveId)","IsDeferred":false},{"Name":"hash lookup","Code":"const foundVersionArchiveId = window.versionsHash.module?.[locateId]\r\nconsole.assert(foundVersionArchiveId === window.locateArchiveId)","IsDeferred":false}]}