for Z=224,256,32 do local h,S={},nil if XOR64A5 then for Z=1,8,1 do h[Z]=XOR64A5(sha2_H_lo[Z])end else S={}for Z=1,8,1 do h[Z]=bit32_bxor(sha2_H_lo[Z],2779096485)%4294967296 S[Z]=bit32_bxor(sha2_H_hi[Z],2779096485)%4294967296 end end sha512_feed_128(h,S,"\083\072\065-\053\049\050\047"..(tostring(Z)..("\128"..(string.rep("\000",115).."\088"))),0,128)sha2_H_ext512_lo[Z]=h sha2_H_ext512_hi[Z]=S end

for width = 224, 256, 32 do
	local H_lo, H_hi = {}, nil
	if XOR64A5 then
		for j = 1, 8 do
			H_lo[j] = XOR64A5(sha2_H_lo[j])
		end
	else
		H_hi = {}
		for j = 1, 8 do
			H_lo[j] = bit32_bxor(sha2_H_lo[j], 0xA5A5A5A5) % 4294967296
			H_hi[j] = bit32_bxor(sha2_H_hi[j], 0xA5A5A5A5) % 4294967296
		end
	end

	sha512_feed_128(H_lo, H_hi, "SHA-512/" .. tostring(width) .. "\128" .. string.rep("\0", 115) .. "\88", 0, 128)
	sha2_H_ext512_lo[width] = H_lo
	sha2_H_ext512_hi[width] = H_hi
end
