tree checksum vpatch file

all signers: asciilifeform bvt diana_coman

antecedents: ffa_ch6_simplest_rsa.kv ffa_ch7_turbo_egyptians.kv ffa_ch3_shifts.kv ffa_ch5_egypt.kv ffa_ch8_randomism.kv ffa_ch1_genesis.kv ffa_ch4_ffacalc.kv ffa_ch10_karatsuba.kv ffa_ch2_logicals.kv

press order:

ffa_ch1_genesis.kvasciilifeform bvt diana_coman
ffa_ch2_logicals.kvasciilifeform bvt diana_coman
ffa_ch3_shifts.kvasciilifeform bvt diana_coman
ffa_ch4_ffacalc.kvasciilifeform bvt diana_coman
ffa_ch5_egypt.kvasciilifeform bvt diana_coman
ffa_ch6_simplest_rsa.kvasciilifeform bvt diana_coman
ffa_ch7_turbo_egyptians.kvasciilifeform bvt diana_coman
ffa_ch8_randomism.kvasciilifeform bvt diana_coman
ffa_ch9_exodus.kvasciilifeform bvt diana_coman
ffa_ch10_karatsuba.kvasciilifeform bvt diana_coman
ffa_ch11_tuning_and_api.kvasciilifeform bvt diana_coman

hunks:
ffa/HISTORY.TXT
ffa/README
ffa/ffacalc/ffa_calc.adb
ffa/ffacalc/ffa_calc.gpr
ffa/ffacalc/ffa_io.adb
ffa/ffacalc/ffa_io.ads
ffa/ffacalc/ffa_rng.adb
ffa/ffacalc/ffa_rng.ads
ffa/ffacalc/os.adb
ffa/ffacalc/os.ads
ffa/libffa/ffa.adb
ffa/libffa/ffa.ads
ffa/libffa/ffa.gpr
ffa/libffa/fz_arith.adb
ffa/libffa/fz_arith.ads
ffa/libffa/fz_basic.adb
ffa/libffa/fz_basic.ads
ffa/libffa/fz_bitop.adb
ffa/libffa/fz_bitop.ads
ffa/libffa/fz_cmp.adb
ffa/libffa/fz_cmp.ads
ffa/libffa/fz_divis.adb
ffa/libffa/fz_divis.ads
ffa/libffa/fz_io.adb
ffa/libffa/fz_io.ads
ffa/libffa/fz_lim.ads
ffa/libffa/fz_modex.adb
ffa/libffa/fz_modex.ads
ffa/libffa/fz_mul.adb
ffa/libffa/fz_mul.ads
ffa/libffa/fz_pred.adb
ffa/libffa/fz_pred.ads
ffa/libffa/fz_shift.adb
ffa/libffa/fz_shift.ads
ffa/libffa/w_mul.adb
ffa/libffa/w_mul.ads
ffa/libffa/w_pred.adb
ffa/libffa/w_pred.ads
ffa/libffa/w_shifts.ads
ffa/libffa/word_ops.adb
ffa/libffa/word_ops.ads
ffa/libffa/words.ads