// linker define hh1_p1
// linker define hh1_p2
// linker define hh1_p3
// linker define h2h_p1
// linker define h2h_p2
// linker define h2h_p3
// linker define hh1_xor
// linker define h2h_xor
// linker define dup_mask1
// linker define dup_mask2
// linker define dup_mask3
// linker define swap_c
// linker define swap_mask
// linker define h2h_mask
// linker define vecmask1
// linker define vecmask2
// linker define vec19
// linker define vec608
// linker define vecmask21
// linker define vecmask26
// linker define vecmask32
// linker define a24
// linker define mask63

#include "consts_namespace.h"
#include "crypto_uint32.h"
#include "crypto_uint64.h"

CRYPTO_ALIGN(64)
const crypto_uint32 hh1_p1[]     = { 0x0,0x0,0x0,0x0,0x7FFFFDB,0x7FFFFFF,0x7FFFFFF,0x7FFFFFF,0x7FFFFDB,0x7FFFFFF,0x7FFFFFF,0x7FFFFFF,0x0,0x0,0x0,0x0 };
CRYPTO_ALIGN(64)
const crypto_uint32 hh1_p2[]     = { 0x0,0x0,0x0,0x0,0x7FFFFFF,0x7FFFFFF,0x7FFFFFF,0x7FFFFFF,0x7FFFFFF,0x7FFFFFF,0x7FFFFFF,0x7FFFFFF,0x0,0x0,0x0,0x0 };
CRYPTO_ALIGN(64)
const crypto_uint32 hh1_p3[]     = { 0x0,0x0,0x0,0x0,0x7FFFFFF,0x0,0x3FFFFF,0x0,0x7FFFFFF,0x0,0x3FFFFF,0x0,0x0,0x0,0x0,0x0 };
CRYPTO_ALIGN(64)
const crypto_uint32 h2h_p1[]     = { 0x0,0x0,0x0,0x0,0x7FFFFDB,0x7FFFFFF,0x7FFFFFF,0x7FFFFFF,0x0,0x0,0x0,0x0,0x7FFFFDB,0x7FFFFFF,0x7FFFFFF,0x7FFFFFF };
CRYPTO_ALIGN(64)
const crypto_uint32 h2h_p2[]     = { 0x0,0x0,0x0,0x0,0x7FFFFFF,0x7FFFFFF,0x7FFFFFF,0x7FFFFFF,0x0,0x0,0x0,0x0,0x7FFFFFF,0x7FFFFFF,0x7FFFFFF,0x7FFFFFF };
CRYPTO_ALIGN(64)
const crypto_uint32 h2h_p3[]     = { 0x0,0x0,0x0,0x0,0x7FFFFFF,0x0,0x3FFFFF,0x0,0x0,0x0,0x0,0x0,0x7FFFFFF,0x0,0x3FFFFF,0x0 };
CRYPTO_ALIGN(64)
const crypto_uint64 hh1_xor[]    = { 0,0,-1,-1,-1,-1,0,0 };
CRYPTO_ALIGN(64)
const crypto_uint64 h2h_xor[]    = { 0,0,-1,-1,0,0,-1,-1 };
CRYPTO_ALIGN(64)
const crypto_uint64 dup_mask1[]  = { 0,1,2,3,0,1,2,3 };
CRYPTO_ALIGN(64)
const crypto_uint64 dup_mask2[]  = { 0,1,0,1,4,5,4,5 };
CRYPTO_ALIGN(64)
const crypto_uint64 dup_mask3[]  = { 2,3,2,3,6,7,6,7 };
CRYPTO_ALIGN(64)
const crypto_uint64 swap_c[]     = { 0,1,2,3,4,5,6,7 };
CRYPTO_ALIGN(64)
const crypto_uint64 swap_mask[]  = { 7,7,7,7,7,7,7,7 };
CRYPTO_ALIGN(64)
const crypto_uint64 h2h_mask[]   = { 0,0,-1,-1,-1,-1,-1,-1 };
CRYPTO_ALIGN(64)
const crypto_uint64 vecmask1[]   = { 0,-1,0,-1,0,-1,0,-1 };
CRYPTO_ALIGN(64)
const crypto_uint64 vecmask2[]   = { -1,0,-1,0,-1,0,-1,0 };
CRYPTO_ALIGN(64)
const crypto_uint64 vec19[]      = { 19,19,19,19,19,19,19,19 };
CRYPTO_ALIGN(64)
const crypto_uint64 vec608[]     = { 608,608,608,608,608,608,608,608 };
CRYPTO_ALIGN(64)
const crypto_uint64 vecmask21[]  = { 0x1FFFFF,0x1FFFFF,0x1FFFFF,0x1FFFFF,0x1FFFFF,0x1FFFFF,0x1FFFFF,0x1FFFFF };
CRYPTO_ALIGN(64)
const crypto_uint64 vecmask26[]  = { 0x3FFFFFF,0x3FFFFFF,0x3FFFFFF,0x3FFFFFF,0x3FFFFFF,0x3FFFFFF,0x3FFFFFF,0x3FFFFFF };
CRYPTO_ALIGN(64)
const crypto_uint64 vecmask32[]  = { 0xFFFFFFFF,0xFFFFFFFF,0xFFFFFFFF,0xFFFFFFFF,0xFFFFFFFF,0xFFFFFFFF,0xFFFFFFFF,0xFFFFFFFF };
CRYPTO_ALIGN(64)
const crypto_uint64 a24[]  	  = { 0,0,121666,121666,0,0,0,0 };
CRYPTO_ALIGN(64)
const crypto_uint64 mask63[] 	  = { 0x7FFFFFFFFFFFFFFF };
