OPTS_TYPE_PT_NEVERCRACK=(1ULL<<11),// if we want all possible results
OPTS_TYPE_PT_BITSLICE=(1ULL<<12),
OPTS_TYPE_PT_ALWAYS_ASCII=(1ULL<<13),
OPTS_TYPE_PT_ALWAYS_HEXIFY=(1ULL<<14),
OPTS_TYPE_PT_LM=(1ULL<<15),// special handling: all lower, 7 max, ...
OPTS_TYPE_PT_HEX=(1ULL<<16),// input wordlist (and masks!) are always in hex
OPTS_TYPE_ST_UTF16LE=(1ULL<<17),
OPTS_TYPE_ST_UTF16BE=(1ULL<<18),
OPTS_TYPE_ST_UPPER=(1ULL<<19),
OPTS_TYPE_ST_LOWER=(1ULL<<20),
OPTS_TYPE_ST_ADD01=(1ULL<<21),
OPTS_TYPE_ST_ADD02=(1ULL<<22),
OPTS_TYPE_ST_ADD80=(1ULL<<23),
OPTS_TYPE_ST_ADDBITS14=(1ULL<<24),
OPTS_TYPE_ST_ADDBITS15=(1ULL<<25),
OPTS_TYPE_ST_HEX=(1ULL<<26),
OPTS_TYPE_ST_BASE64=(1ULL<<27),
OPTS_TYPE_ST_HASH_MD5=(1ULL<<28),
OPTS_TYPE_HASH_COPY=(1ULL<<29),
OPTS_TYPE_HASH_SPLIT=(1ULL<<30),
OPTS_TYPE_LOOP_EXTENDED=(1ULL<<31),// a kernel which is called each time normal _loop kernel finished.
OPTS_TYPE_PT_ALWAYS_ASCII=(1ULL<<12),
OPTS_TYPE_PT_ALWAYS_HEXIFY=(1ULL<<13),
OPTS_TYPE_PT_LM=(1ULL<<14),// special handling: all lower, 7 max, ...
OPTS_TYPE_PT_HEX=(1ULL<<15),// input wordlist (and masks!) are always in hex
OPTS_TYPE_ST_UTF16LE=(1ULL<<16),
OPTS_TYPE_ST_UTF16BE=(1ULL<<17),
OPTS_TYPE_ST_UPPER=(1ULL<<18),
OPTS_TYPE_ST_LOWER=(1ULL<<19),
OPTS_TYPE_ST_ADD01=(1ULL<<20),
OPTS_TYPE_ST_ADD02=(1ULL<<21),
OPTS_TYPE_ST_ADD80=(1ULL<<22),
OPTS_TYPE_ST_ADDBITS14=(1ULL<<23),
OPTS_TYPE_ST_ADDBITS15=(1ULL<<24),
OPTS_TYPE_ST_HEX=(1ULL<<25),
OPTS_TYPE_ST_BASE64=(1ULL<<26),
OPTS_TYPE_ST_HASH_MD5=(1ULL<<27),
OPTS_TYPE_HASH_COPY=(1ULL<<28),
OPTS_TYPE_HASH_SPLIT=(1ULL<<29),
OPTS_TYPE_LOOP_EXTENDED=(1ULL<<30),// a kernel which is called each time normal _loop kernel finished.
// but unlike a hook kernel this kernel is called for every _loop iteration offset
OPTS_TYPE_HOOK12=(1ULL<<32),
OPTS_TYPE_HOOK23=(1ULL<<33),
OPTS_TYPE_INIT2=(1ULL<<34),
OPTS_TYPE_LOOP2=(1ULL<<35),
OPTS_TYPE_AUX1=(1ULL<<36),
OPTS_TYPE_AUX2=(1ULL<<37),
OPTS_TYPE_AUX3=(1ULL<<38),
OPTS_TYPE_AUX4=(1ULL<<39),
OPTS_TYPE_BINARY_HASHFILE=(1ULL<<40),
OPTS_TYPE_PREFERED_THREAD=(1ULL<<41),// some algorithms (complicated ones with many branches) benefit from this
OPTS_TYPE_PT_ADD06=(1ULL<<42),
OPTS_TYPE_KEYBOARD_MAPPING=(1ULL<<43),
OPTS_TYPE_DEEP_COMP_KERNEL=(1ULL<<44),// if we have to iterate through each hash inside the comp kernel, for example if each hash has to be decrypted separately
OPTS_TYPE_HOOK12=(1ULL<<31),
OPTS_TYPE_HOOK23=(1ULL<<32),
OPTS_TYPE_INIT2=(1ULL<<33),
OPTS_TYPE_LOOP2=(1ULL<<34),
OPTS_TYPE_AUX1=(1ULL<<35),
OPTS_TYPE_AUX2=(1ULL<<36),
OPTS_TYPE_AUX3=(1ULL<<37),
OPTS_TYPE_AUX4=(1ULL<<38),
OPTS_TYPE_BINARY_HASHFILE=(1ULL<<39),
OPTS_TYPE_PREFERED_THREAD=(1ULL<<40),// some algorithms (complicated ones with many branches) benefit from this
OPTS_TYPE_PT_ADD06=(1ULL<<41),
OPTS_TYPE_KEYBOARD_MAPPING=(1ULL<<42),
OPTS_TYPE_DEEP_COMP_KERNEL=(1ULL<<43),// if we have to iterate through each hash inside the comp kernel, for example if each hash has to be decrypted separately
OPTS_TYPE_TM_KERNEL=(1ULL<<44),
OPTS_TYPE_SUGGEST_KG=(1ULL<<45),// suggest keep guessing for modules the user maybe wants to use --keep-guessing
OPTS_TYPE_COPY_TMPS=(1ULL<<46),// if we want to use data from tmps buffer (for example get the PMK in WPA)
OPTS_TYPE_POTFILE_NOPASS=(1ULL<<47),// sometimes the password should not be printed to potfile