-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2
-iQIcBAABAgAGBQJUlDlsAAoJEJPB2e07PgbqdygQAIr93N/1xV9Ag7rNSIB7Pgz1
-zpvnYeuz0uC0EgvgBiTBTiL4obNFeS0B4AnYzxtZekYdP9fpFgAFdytaKq4Pacja
-v/wLJlwyaNLyEiGTwEpcqEwopwcMLM/F0TM7brXFZSPBRhsUZ755SIyavkPKfGA6
-NFfTq9WjprAAEq9XSv6ehgiGJkwsTXbP0rM3X7QhyY6FRL41G6fpxAsrlgvLdQDj
-tup8VibhEUFuctvAsQbtfVocWpmWSEnYUHRusMlrc8LY6crCXydnQvV3sbIggtsz
-yQoCtxzE6HF4eKgjGO2cd+NHIA7BB2vgzz6xymPrMVXxhx3hPyAg2a9k+MCUdmzd
-SCeWOpEtG+rVP1tIiSM5VHWlluok2o40dUhfUT563M0Gvo/jhLm9OPkM4SddJG+U
-Q/A0/CBtu9eWizzh+2N1mG6F5ryUFTAmDVTTLFYCMgCurTcwIkX2HUKAsbW65U0q
-JAM7qJg7bYVIoJ0B6keO3iDnPiEk9IRsP7quU2F7/Vjn1keWdJ0SeeI9vy5Ws5/S
-sW7A+v0lVx2gey3Y3X9fRpzyDdY82eitaKUa8CT7IhhhWjB4XvSTDygsO637AZS1
-s7EFPc9vppGKa1CIyD/2VKHvl8iXs+DarWzy/jutdPvc9qcM/V8Pmu88Fq6nL5Nk
-R5UvOSoqssCptx2rgaDF
-=m8Bf
+iQIcBAABCAAGBQJWjX6wAAoJEJPB2e07PgbqhgsP/2YEJGETmbYlwtwWyKL2q/DN
+ICr7LSmgmPnelBgiOXF4JjhpEdmhuhT6XErTzyVcTmm6aXIdijncMD3qISvYePjk
+VfYd2RbRpA61J/5oZabxOxnaxOvLUSOp1BK0akmNOdi0aPJVm9fatYJMsuWdzwCL
+0hOklUUL2kvDFHRVYgupl57+dTDMWlTOH/es0izL+ZUDqMZcjyDiN3aVNjrHihDe
+RNeOgOod7FLb+GNMC9k5l1O6JovTgrcrw6a+6nyBbBKVcubeY+GS1CKfg0JaFiuM
+f8ewiGBixzV93A+c/nojHIR1jCdzBA91/mYUWmxSUP2kz9MS4HAh2ASbEYR0N6oM
+gJ5JGCHW5BuyTYwJ0xiHoia8GVw64Bw9J/Q6qomZBodw3DNjWXDnZcyrzYFzKuhI
+uP6NK+79Uc5PevDlOV60tLnY869ynXYY4uKIr6TT5NRFdvQi6OVHEBSryUolnnxQ
+YfVwFPNPPPAD+yLrgecD+f6VQjczy3um0pHthaOZwbgX4Sk0I2B/Nq40j/7K/iW6
+kVR2n1/R1wuVekMYpd58F/IUz+wk0JNvrr7O6usUAVEOPo33jCUsuS9wljYAwzqP
+vesbeWXRFGyN0rQDHgSfQivTqG5BL2XV4Nf+uWzeTOSwzAziO4MRHrzgGbo3aMAo
+4xz7E+Wi448R2zkNiUsS
+=vzqt
-----END PGP SIGNATURE-----
```
```
size exec file contents
./
+60 .directory 0e83b2cb4dc042236e38c6f8b2575dd0e30b70d4d396795008d5fb3facea2872
384 .gitignore a93de2ae5c2a47a38599751d1f914566569dfa09dd1778e207117db6c71421dd
2012/
1678 1a.ciphertext c7c16198650e7d91577683acca664a0e588ac5474046a028dea3d9dc4b388df8
23322 2014-challenge5.ipynb fb3bb531c62ed943528715cc19e800293e3cd4a176ce3a3fe01e7e585386907e
40307 2014-challenge6.ipynb 5085a4ae2a562c87983cbff817ac89826973341551980563ae0c77ab747a5dff
44472 2014-challenge7.ipynb 9800d39c881f22f67f1182f6ca73bbf40a123d0deb598a6009f545f421955241
-77771 2014-challenge8.ipynb 908dec38d100f5d4f41261068a5d07358ba28d48c93a5d21ce43bea31841b3e5
+188080 2014-challenge8.ipynb c59bcfbb39e48e6e151cc0c86fe48add67844954cf3c65d560bbda0c972a8376
+ 2015/
+874 1a.ciphertext 5d0d71f24522e1c05127feb601bf8dc82566f3d2795fb51c4a60e22d900bb5eb
+394 1b.ciphertext a35e8265aea45ab5f7c5eb141e5e65c85ecc24c7d87f3e8197dfe6795a7d3226
+1193 2a.ciphertext 412db1381dcb01f858bf848e48ada16aa4603cbb348c1f092ae39b06d2efa5f9
+544 2b.ciphertext 5ff59d7cff1c4d27dee6414769bdbcfb0b0ab9c5931e772bf9f6442eeb9b6855
+898 3a.ciphertext 5a9f89002db8520dbad882565a0130d3a462ed967e9cebeca828e9f727a267c4
+549 3b.ciphertext efe393ad39849468a04bec4a49d259074fa60c54aa3eac832af5f858fcd06bcd
+917 4a.ciphertext 9c30e8793c161f3f0e1ef0aeb39c854166f9e8e84c149541c9d71d07ff3d37bd
+1032 4b.ciphertext e99143388a6eacb81442ef594bdb0820992eaf89f3a0def9250b4b60ce7ef04b
+1576 5a.ciphertext 73011f47f1412903e23a718da397ed3ba3a0306e72299d5abf401d93fc451205
+840 5b.ciphertext 69f3e64a2fa925a84f1f0b09b30bf901564436519f1c8b515121219fcd544638
+2114 6a.ciphertext 64834f6db2055a3c1944d0c22e635fc411cb210ca71a7d737008f42de4febab9
+867 6b.ciphertext abc25188099a927323379ff6e3abad85312aca3cd01338848437c654f6ee5f72
+1779 7a.ciphertext e519e7120bc68dc433723b1408a5b50780ce15413dae6af3e6874e2b44993dfc
+725 7b.ciphertext 9376b3432de0b238d17704cee5ebc029142018233339161c64b3f6ade9b7df04
+1661 8a.ciphertext e748aef744bd869ff60aa65993c0e0738af05e95b64a82c1047ae07ea2e353f5
+1771 8b.ciphertext 669a7144433b0554e1de51583abb048ca396f2ffe6a79e53dad6e6ffbf06bc8c
+7607 Solitaire.py abb966d0aa4f23599204a1a75f3179903c175eac637c0847bcc772374f380126|9e3ee44bd5d7ec196b513afad0856ed4f2cd6bf3e0fe9b6bc0130bb7731d04c8
+63970 cards2.png f2959fc211d97c9b16bf049eb5c9e99167b033f887c43f9ae20adb13717c7899|b42371c35b39715277627114132f8b261283b2b1d59e47b7066e06f4df5a4ad6
+10000 pysol.zip 64e25c247e877f37285db635fcb5dea101e0c531fdbfe5000bcc088c22caad79|68d878fb019198e691d321be1dd6744fae0b48da9c4e705c34f96e351b00fbed
+5281 sol.py dbea0e836eb158a26407ca3b74289d24fa7eae16ed1093eb7c598767a150fccc|e50319aa995f934a4cbd52bc28d8f49f376e62470170690cdbed7352f67a7942
+2195 sol.py.zip 4c22e57eaacd8a91ef9b0c338429e400210a03dec9fbacec4a45fe1faed50720|1fd0a62af53125eacfa11016088451e2c58269d98aaef74c320730ebc7601b66
+3620 2015-challenge1.ipynb 2ab544f48c22a3a2e665b03ae094ac2de04aee8bdb37366209276a937d248d6a
+4092 2015-challenge2.ipynb 58c2aeca6c73a8fef71d0cc8321469358803f392c02fd44631dd0b25c2755f4a
+3987 2015-challenge3.ipynb dfec26ba881c7ad0af54d072aeba4d08162661e863266936963130548ff86b65
+8030 2015-challenge4.ipynb f77ead0eae7fcd67039d500a31ad1748a4df115905adecd0e93e56f72bbdcfa0
+5039 2015-challenge5.ipynb b0c28829c329d7a2752f4991006e6d78a10415d7609b893b80b3bdb788d6e533
+14079 2015-challenge6.ipynb 7bd1dcff4b764d75e002622ce6a4cc3c00625aa311ef886e5a436822660c565c
+76275 2015-challenge7.ipynb c48d71ef5c105dff987981c05ce4a9d2cce382e6d54358d7e2a3b6fe9fc74f10
+3741 2015-challenge8.ipynb d66fca286b89099f3ca296f1f8283f22c12ae9e5480192f2bdb316a46fd07f43
18025 LICENSE a01259a1b522cf0de95824f9860613b453153eebac468e96196d5d7dba84786c
7999 LJ!-Qt!-Fghxft-dferts%3B-hsjeukaxxn-sfedw.ipynb 429b6c6995096ff19c28a5ee342bef8ea4774200bdf9aaf6268de3cb8b28df28
61 README.md 277247b410300ee16477b12ca54ad878d81c8061f6134e2e1cadccaf299de3a3
469 affine_break_parameter_trials.csv 1a9d635d0af2f41fc6f1e83ae87d6372034259321ba288a11fb024e98ed52f4f|dd9c840434de596a30c84e79de26a9824b36c217a84876c2aab0579b76999735
6488666 big.txt fa066c7d40f0f201ac4144e652aa62430e58a6b3805ec70650f678da5804e87b
+16832 cadenus-ciphers.ipynb 50e49b3ec5e6440b86fe13472b9f4ab9e133e5665c7280b2abf7a6b57bb8a89a
514 caesar_break_parameter_trials.csv 6586223bcc00e06e3ff79d107202d6c29ef962a6dd544add00610c5907407e85|1cb7cc77831ef3ef4f994a9ea77e82a841b38acdde45ede9cedbe7a54f1e8e46
-37089 cipher.py f52000ae706d3eedfd0756b4bf8a08add8388bc70de947d51b45d03b545c7aa5
-28349 cipherbreak.py 2a4cdf810302d5645064e460a4409f32173b02fc4e7c7ce0a84d1458a04007bc
+318 cipher-training.sublime-project 58e5d5b4e54fb29abecaef2d41266e3355adccb8b6a70bd595e509bd07c16587
+42052 cipher.py 4ae3835f58782e76f8dc747ce46ae461c11236cf3397ee32adec8e974cf06153
+28736 cipherbreak.py cbda3e76773ad3125e00360622d1e01eccf376d4e783617c925cc4c557e97d86
11564 count_1edit.txt 3bf563ef032ba151ec1a4b2d1f33f50c49f4a47e4dc5b8152394bc5b63f57655|b5fbacbebcc25f5011ce97bc9ac967a09c50eef28b4aa98379a6c426df6ac08b
223 count_1l.txt 335388d457db6ef1da05d8b55ab879e9be7d4e021085efc8d9dfeac0e4a79aa9
4956241 count_1w.txt 51df159fd3de12b20e403c108f526e96dbd723d9cabdd5f17955cdc16059e690
3027 find_best_caesar_break_parameters.py 0347d80309179d937a88fd1c8684490a513ccd086366c5a0dd55b8a2fe5c565f
1236 find_wikipedia_titles.py f040bf855dfec7fff9d8e5eba2fb509179bc53bc02a20b26b7fc61fef983aa45
37128 hill-ciphers.ipynb ce802c2be807b4565858b568d3a82c65a3957aa625344189f8f2a055237b3fdd
-5401 language_models.py e4f868b0322ac57fc4027c22c3c6a4d6b24a30894d19110f1a28f11bec0cbd04
+5516 language_models.py 9f6c60892b385a8443202edda95074eb28e2b66981e25e27f4153b887e2c9ee3
368 lettercount.py ed36497d62cf75b91994055e4a18848b2fabe5ce793cd76a77fabfc94d81d4f3
592 make-cracking-dictionary.py 71791e64e4853cd9ca292cb436bbe8c72dd60f509811174df93ed2067683d5c1
7077 norms.py a657a36c1741e6f3a513386b318fcc99e6b11f98ec64a48284b47462ff2acf30