STATUS Current Header format for compressing: Standard COUNT Format Current force compression status: false OPTIONS 1. File operations. 2. Flip Force Compression status. 3. Flip Header format. 4. Quit (or any value other than 1, 2, or 3) Enter menu option: 1 FILE OPERATION 1. Preprocess a file to determine if compression is possible. 2. Compress a file. Results in a call to preprocessing as well. 3. Uncompress a file. Enter file operation option: 1 Enter name (full or relative path) of file to preprocess only: eyes.txt MESSAGE Begining preprocessing of eyes.txt. Counting characters in selected file. Frequencies of values in file. 32 100000 4 46 101110 . 1 69 1000101 E 1 97 1100001 a 2 101 1100101 e 8 105 1101001 i 1 107 1101011 k 1 108 1101100 l 1 110 1101110 n 2 114 1110010 r 2 115 1110011 s 2 121 1111001 y 1 256 100000000 ? 1 bits in original file: 208 Codes for values in file: 32 011 46 . 11110 69 E 11111 97 a 0101 101 e 10 105 i 0000 107 k 0001 108 l 0010 110 n 1100 114 r 1101 115 s 1110 121 y 0011 256 ? 0100 Showing running total of bits for value: 4 3 12 . 1 5 17 E 1 5 22 a 2 4 30 e 8 2 46 i 1 4 50 k 1 4 54 l 1 4 58 n 2 4 66 r 2 4 74 s 2 4 82 y 1 4 86 ? 1 4 90 bits in compressed file: 8346 Percent compression: -3912.5 Binary Representation of tree: 0000100110100110011010110100110110010011110010011000000001001100001100010000001001100101001001101110100111001001001110011010001011101001000101 MESSAGE save(d): -8138 bits STATUS Current Header format for compressing: Standard COUNT Format Current force compression status: false OPTIONS 1. File operations. 2. Flip Force Compression status. 3. Flip Header format. 4. Quit (or any value other than 1, 2, or 3) Enter menu option: 1 FILE OPERATION 1. Preprocess a file to determine if compression is possible. 2. Compress a file. Results in a call to preprocessing as well. 3. Uncompress a file. Enter file operation option: 2 Enter name (full or relative path) of file to compress: eyes.txt MESSAGE Begining preprocessing of eyes.txt. Counting characters in selected file. Frequencies of values in file. 32 100000 4 46 101110 . 1 69 1000101 E 1 97 1100001 a 2 101 1100101 e 8 105 1101001 i 1 107 1101011 k 1 108 1101100 l 1 110 1101110 n 2 114 1110010 r 2 115 1110011 s 2 121 1111001 y 1 256 100000000 ? 1 bits in original file: 208 Codes for values in file: 32 011 46 . 11110 69 E 11111 97 a 0101 101 e 10 105 i 0000 107 k 0001 108 l 0010 110 n 1100 114 r 1101 115 s 1110 121 y 0011 256 ? 0100 Showing running total of bits for value: 4 3 12 . 1 5 17 E 1 5 22 a 2 4 30 e 8 2 46 i 1 4 50 k 1 4 54 l 1 4 58 n 2 4 66 r 2 4 74 s 2 4 82 y 1 4 86 ? 1 4 90 bits in compressed file: 8346 Percent compression: -3912.5 Binary Representation of tree: 0000100110100110011010110100110110010011110010011000000001001100001100010000001001100101001001101110100111001001001110011010001011101001000101 MESSAGE save(d): -8138 bits Proposed name for compressed file: eyes.txt.hf Enter c to change compressed file name. Anything else to keep proposed name: ERROR Compressed file has -8138 more bits than uncompressed file. Select "force compression" option to compress. Presss enter to continue: STATUS Current Header format for compressing: Standard COUNT Format Current force compression status: false OPTIONS 1. File operations. 2. Flip Force Compression status. 3. Flip Header format. 4. Quit (or any value other than 1, 2, or 3) Enter menu option: 2 STATUS Current Header format for compressing: Standard COUNT Format Current force compression status: true OPTIONS 1. File operations. 2. Flip Force Compression status. 3. Flip Header format. 4. Quit (or any value other than 1, 2, or 3) Enter menu option: 1 FILE OPERATION 1. Preprocess a file to determine if compression is possible. 2. Compress a file. Results in a call to preprocessing as well. 3. Uncompress a file. Enter file operation option: 2 Enter name (full or relative path) of file to compress: eyes.txt MESSAGE Begining preprocessing of eyes.txt. Counting characters in selected file. Frequencies of values in file. 32 100000 4 46 101110 . 1 69 1000101 E 1 97 1100001 a 2 101 1100101 e 8 105 1101001 i 1 107 1101011 k 1 108 1101100 l 1 110 1101110 n 2 114 1110010 r 2 115 1110011 s 2 121 1111001 y 1 256 100000000 ? 1 bits in original file: 208 Codes for values in file: 32 011 46 . 11110 69 E 11111 97 a 0101 101 e 10 105 i 0000 107 k 0001 108 l 0010 110 n 1100 114 r 1101 115 s 1110 121 y 0011 256 ? 0100 Showing running total of bits for value: 4 3 12 . 1 5 17 E 1 5 22 a 2 4 30 e 8 2 46 i 1 4 50 k 1 4 54 l 1 4 58 n 2 4 66 r 2 4 74 s 2 4 82 y 1 4 86 ? 1 4 90 bits in compressed file: 8346 Percent compression: -3912.5 Binary Representation of tree: 0000100110100110011010110100110110010011110010011000000001001100001100010000001001100101001001101110100111001001001110011010001011101001000101 MESSAGE save(d): -8138 bits Proposed name for compressed file: eyes.txt.hf Enter c to change compressed file name. Anything else to keep proposed name: STATUS Current Header format for compressing: Standard COUNT Format Current force compression status: true OPTIONS 1. File operations. 2. Flip Force Compression status. 3. Flip Header format. 4. Quit (or any value other than 1, 2, or 3) Enter menu option: 1 FILE OPERATION 1. Preprocess a file to determine if compression is possible. 2. Compress a file. Results in a call to preprocessing as well. 3. Uncompress a file. Enter file operation option: 3 Enter name (full or relative path) of file to decompress: eyes.txt.hf MESSAGE Uncompressing file based on user choice. Proposed name for compressed file: eyes.txt.unhf Enter c to change compressed file name. Anything else to keep proposed name: MESSAGE decompressor built DECOMPRESSING: Codes for values in file: 32 011 46 . 11110 69 E 11111 97 a 0101 101 e 10 105 i 0000 107 k 0001 108 l 0010 110 n 1100 114 r 1101 115 s 1110 121 y 0011 256 ? 0100 STATUS Current Header format for compressing: Standard COUNT Format Current force compression status: true OPTIONS 1. File operations. 2. Flip Force Compression status. 3. Flip Header format. 4. Quit (or any value other than 1, 2, or 3) Enter menu option: 1 FILE OPERATION 1. Preprocess a file to determine if compression is possible. 2. Compress a file. Results in a call to preprocessing as well. 3. Uncompress a file. Enter file operation option: 1 Enter name (full or relative path) of file to preprocess only: magic_rules.txt MESSAGE Begining preprocessing of magic_rules.txt. Counting characters in selected file. Frequencies of values in file. 10 1010 5263 13 1101 5263 32 100000 85711 34 100010 " 2932 38 100110 & 3 39 100111 ' 1778 40 101000 ( 678 41 101001 ) 678 42 101010 * 2 43 101011 + 142 44 101100 , 4370 45 101101 - 712 46 101110 . 8619 47 101111 / 327 48 110000 0 2729 49 110001 1 2367 50 110010 2 1500 51 110011 3 930 52 110100 4 864 53 110101 5 755 54 110110 6 1018 55 110111 7 1241 56 111000 8 504 57 111001 9 384 58 111010 : 352 59 111011 ; 147 60 111100 < 10 61 111101 = 6 62 111110 > 10 63 111111 ? 6 64 1000000 @ 2 65 1000001 A 1645 66 1000010 B 264 67 1000011 C 612 68 1000100 D 313 69 1000101 E 731 70 1000110 F 258 71 1000111 G 233 72 1001000 H 232 73 1001001 I 1049 74 1001010 J 25 75 1001011 K 39 76 1001100 L 212 77 1001101 M 391 78 1001110 N 170 79 1001111 O 292 80 1010000 P 424 81 1010001 Q 14 82 1010010 R 284 83 1010011 S 1509 84 1010100 T 1412 85 1010101 U 106 86 1010110 V 105 87 1010111 W 321 88 1011000 X 64 89 1011001 Y 80 90 1011010 Z 20 91 1011011 [ 257 93 1011101 ] 257 95 1011111 _ 162 97 1100001 a 38973 98 1100010 b 7020 99 1100011 c 16018 100 1100100 d 12406 101 1100101 e 52057 102 1100110 f 8767 103 1100111 g 6764 104 1101000 h 16646 105 1101001 i 24258 106 1101010 j 741 107 1101011 k 2535 108 1101100 l 19102 109 1101101 m 8299 110 1101110 n 24158 111 1101111 o 23749 112 1110000 p 9793 113 1110001 q 290 114 1110010 r 26002 115 1110011 s 24099 116 1110100 t 40335 117 1110101 u 9314 118 1110110 v 2923 119 1110111 w 4114 120 1111000 x 1041 121 1111001 y 8209 122 1111010 z 407 123 1111011 { 210 125 1111101 } 210 146 10010010 ? 2 147 10010011 ? 3 148 10010100 ? 3 151 10010111 ? 2 256 100000000 ? 1 bits in original file: 4233872 Codes for values in file: 10 1011110 13 1011111 32 110 34 " 11110100 38 & 111100100100110101 39 ' 01110001 40 ( 1111000011 41 ) 1111001000 42 * 100111100000010001 43 + 100111100001 44 , 1000111 45 - 1111010100 46 . 100100 47 / 11110000101 48 0 11110001 49 1 10011101 50 2 111101100 51 3 011100100 52 4 011100001 53 5 1111010111 54 6 011100110 55 7 111100000 56 8 0111001011 57 9 11110111000 58 : 11110010011 59 ; 100111101100 60 < 1001111000000101 61 = 11110010010011011 62 > 1111001001001100 63 ? 1001111000000000 64 @ 100111100000010010 65 A 111101111 66 B 01110011111 67 C 1001111010 68 D 10011110111 69 E 1111010101 70 F 01110011110 71 G 01110010101 72 H 01110010100 73 I 100111001 74 J 111100100100111 75 K 11110010010010 76 L 01110000001 77 M 11110111001 78 N 111100100101 79 O 10011110011 80 P 0111000001 81 Q 100111100000001 82 R 10011110001 83 S 111101101 84 T 111100101 85 U 011100000001 86 V 011100000000 87 W 11110000100 88 X 1001111000001 89 Y 1111001001000 90 Z 100111100000011 91 [ 01110011100 93 ] 01110011101 95 _ 100111101101 97 a 1010 98 b 011011 99 c 01111 100 d 01100 101 e 010 102 f 100101 103 g 011010 104 h 10000 105 i 0010 106 j 1111010110 107 k 10011111 108 l 10110 109 m 100010 110 n 0001 111 o 11111 112 p 101110 113 q 10011110010 114 r 0011 115 s 0000 116 t 1110 117 u 100110 118 v 11110011 119 w 1000110 120 x 100111000 121 y 011101 122 z 11110111010 123 { 111101110110 125 } 111101110111 146 ? 100111100000010011 147 ? 10011110000000010 148 ? 10011110000000011 151 ? 111100100100110100 256 ? 100111100000010000 Showing running total of bits for value: 5263 7 36841 5263 7 73682 85711 3 330815 " 2932 8 354271 & 3 18 354325 ' 1778 8 368549 ( 678 10 375329 ) 678 10 382109 * 2 18 382145 + 142 12 383849 , 4370 7 414439 - 712 10 421559 . 8619 6 473273 / 327 11 476870 0 2729 8 498702 1 2367 8 517638 2 1500 9 531138 3 930 9 539508 4 864 9 547284 5 755 10 554834 6 1018 9 563996 7 1241 9 575165 8 504 10 580205 9 384 11 584429 : 352 11 588301 ; 147 12 590065 < 10 16 590225 = 6 17 590327 > 10 16 590487 ? 6 16 590583 @ 2 18 590619 A 1645 9 605424 B 264 11 608328 C 612 10 614448 D 313 11 617891 E 731 10 625201 F 258 11 628039 G 233 11 630602 H 232 11 633154 I 1049 9 642595 J 25 15 642970 K 39 14 643516 L 212 11 645848 M 391 11 650149 N 170 12 652189 O 292 11 655401 P 424 10 659641 Q 14 15 659851 R 284 11 662975 S 1509 9 676556 T 1412 9 689264 U 106 12 690536 V 105 12 691796 W 321 11 695327 X 64 13 696159 Y 80 13 697199 Z 20 15 697499 [ 257 11 700326 ] 257 11 703153 _ 162 12 705097 a 38973 4 860989 b 7020 6 903109 c 16018 5 983199 d 12406 5 1045229 e 52057 3 1201400 f 8767 6 1254002 g 6764 6 1294586 h 16646 5 1377816 i 24258 4 1474848 j 741 10 1482258 k 2535 8 1502538 l 19102 5 1598048 m 8299 6 1647842 n 24158 4 1744474 o 23749 5 1863219 p 9793 6 1921977 q 290 11 1925167 r 26002 4 2029175 s 24099 4 2125571 t 40335 4 2286911 u 9314 6 2342795 v 2923 8 2366179 w 4114 7 2394977 x 1041 9 2404346 y 8209 6 2453600 z 407 11 2458077 { 210 12 2460597 } 210 12 2463117 ? 2 18 2463153 ? 3 17 2463204 ? 3 17 2463255 ? 2 18 2463291 ? 1 18 2463309 bits in compressed file: 2471565 Percent compression: 41.6 Binary Representation of tree: 00001001110011100110111001001101001100111001001001100101001001100100010011001111001100010000000001001010110100101010110010011001001010000100011010010001001110010001100110010010010001001000111100011100001000110110001001011011100101110101001000110100100001010011110011001100011000010011010000100110110101001110111100010110000100010111010011001100100111010100010011110001001001001100011000100000000010001111110101001001110100101001001010001000011000000001000101010010010000001010010010100011110010010110101001011000100010101110010100100100111000110010011110100100001100100011101110010111111001000100100110101101001100001010011011000100111000001000001010100000110101000100000010011101000000010001101110010010101111000101111100010100010001100000001000101001000100101100101001001011001000111110001010010111100010011010001111011001001010100100111010001110101001010100100111011000100010001000100010110110010001010100110101010001101010010001100101001010011000100011100110010011010100111101001001111011100111110110010000011001101111 MESSAGE save(d): 1762307 bits STATUS Current Header format for compressing: Standard COUNT Format Current force compression status: true OPTIONS 1. File operations. 2. Flip Force Compression status. 3. Flip Header format. 4. Quit (or any value other than 1, 2, or 3) Enter menu option: 3 STATUS Current Header format for compressing: Standard TREE Format Current force compression status: true OPTIONS 1. File operations. 2. Flip Force Compression status. 3. Flip Header format. 4. Quit (or any value other than 1, 2, or 3) Enter menu option: 1 FILE OPERATION 1. Preprocess a file to determine if compression is possible. 2. Compress a file. Results in a call to preprocessing as well. 3. Uncompress a file. Enter file operation option: 2 Enter name (full or relative path) of file to compress: magic_rules.txt MESSAGE Begining preprocessing of magic_rules.txt. Counting characters in selected file. Frequencies of values in file. 10 1010 5263 13 1101 5263 32 100000 85711 34 100010 " 2932 38 100110 & 3 39 100111 ' 1778 40 101000 ( 678 41 101001 ) 678 42 101010 * 2 43 101011 + 142 44 101100 , 4370 45 101101 - 712 46 101110 . 8619 47 101111 / 327 48 110000 0 2729 49 110001 1 2367 50 110010 2 1500 51 110011 3 930 52 110100 4 864 53 110101 5 755 54 110110 6 1018 55 110111 7 1241 56 111000 8 504 57 111001 9 384 58 111010 : 352 59 111011 ; 147 60 111100 < 10 61 111101 = 6 62 111110 > 10 63 111111 ? 6 64 1000000 @ 2 65 1000001 A 1645 66 1000010 B 264 67 1000011 C 612 68 1000100 D 313 69 1000101 E 731 70 1000110 F 258 71 1000111 G 233 72 1001000 H 232 73 1001001 I 1049 74 1001010 J 25 75 1001011 K 39 76 1001100 L 212 77 1001101 M 391 78 1001110 N 170 79 1001111 O 292 80 1010000 P 424 81 1010001 Q 14 82 1010010 R 284 83 1010011 S 1509 84 1010100 T 1412 85 1010101 U 106 86 1010110 V 105 87 1010111 W 321 88 1011000 X 64 89 1011001 Y 80 90 1011010 Z 20 91 1011011 [ 257 93 1011101 ] 257 95 1011111 _ 162 97 1100001 a 38973 98 1100010 b 7020 99 1100011 c 16018 100 1100100 d 12406 101 1100101 e 52057 102 1100110 f 8767 103 1100111 g 6764 104 1101000 h 16646 105 1101001 i 24258 106 1101010 j 741 107 1101011 k 2535 108 1101100 l 19102 109 1101101 m 8299 110 1101110 n 24158 111 1101111 o 23749 112 1110000 p 9793 113 1110001 q 290 114 1110010 r 26002 115 1110011 s 24099 116 1110100 t 40335 117 1110101 u 9314 118 1110110 v 2923 119 1110111 w 4114 120 1111000 x 1041 121 1111001 y 8209 122 1111010 z 407 123 1111011 { 210 125 1111101 } 210 146 10010010 ? 2 147 10010011 ? 3 148 10010100 ? 3 151 10010111 ? 2 256 100000000 ? 1 bits in original file: 4233872 Codes for values in file: 10 1011110 13 1011111 32 110 34 " 11110100 38 & 111100100100110101 39 ' 01110001 40 ( 1111000011 41 ) 1111001000 42 * 100111100000010001 43 + 100111100001 44 , 1000111 45 - 1111010100 46 . 100100 47 / 11110000101 48 0 11110001 49 1 10011101 50 2 111101100 51 3 011100100 52 4 011100001 53 5 1111010111 54 6 011100110 55 7 111100000 56 8 0111001011 57 9 11110111000 58 : 11110010011 59 ; 100111101100 60 < 1001111000000101 61 = 11110010010011011 62 > 1111001001001100 63 ? 1001111000000000 64 @ 100111100000010010 65 A 111101111 66 B 01110011111 67 C 1001111010 68 D 10011110111 69 E 1111010101 70 F 01110011110 71 G 01110010101 72 H 01110010100 73 I 100111001 74 J 111100100100111 75 K 11110010010010 76 L 01110000001 77 M 11110111001 78 N 111100100101 79 O 10011110011 80 P 0111000001 81 Q 100111100000001 82 R 10011110001 83 S 111101101 84 T 111100101 85 U 011100000001 86 V 011100000000 87 W 11110000100 88 X 1001111000001 89 Y 1111001001000 90 Z 100111100000011 91 [ 01110011100 93 ] 01110011101 95 _ 100111101101 97 a 1010 98 b 011011 99 c 01111 100 d 01100 101 e 010 102 f 100101 103 g 011010 104 h 10000 105 i 0010 106 j 1111010110 107 k 10011111 108 l 10110 109 m 100010 110 n 0001 111 o 11111 112 p 101110 113 q 10011110010 114 r 0011 115 s 0000 116 t 1110 117 u 100110 118 v 11110011 119 w 1000110 120 x 100111000 121 y 011101 122 z 11110111010 123 { 111101110110 125 } 111101110111 146 ? 100111100000010011 147 ? 10011110000000010 148 ? 10011110000000011 151 ? 111100100100110100 256 ? 100111100000010000 Showing running total of bits for value: 5263 7 36841 5263 7 73682 85711 3 330815 " 2932 8 354271 & 3 18 354325 ' 1778 8 368549 ( 678 10 375329 ) 678 10 382109 * 2 18 382145 + 142 12 383849 , 4370 7 414439 - 712 10 421559 . 8619 6 473273 / 327 11 476870 0 2729 8 498702 1 2367 8 517638 2 1500 9 531138 3 930 9 539508 4 864 9 547284 5 755 10 554834 6 1018 9 563996 7 1241 9 575165 8 504 10 580205 9 384 11 584429 : 352 11 588301 ; 147 12 590065 < 10 16 590225 = 6 17 590327 > 10 16 590487 ? 6 16 590583 @ 2 18 590619 A 1645 9 605424 B 264 11 608328 C 612 10 614448 D 313 11 617891 E 731 10 625201 F 258 11 628039 G 233 11 630602 H 232 11 633154 I 1049 9 642595 J 25 15 642970 K 39 14 643516 L 212 11 645848 M 391 11 650149 N 170 12 652189 O 292 11 655401 P 424 10 659641 Q 14 15 659851 R 284 11 662975 S 1509 9 676556 T 1412 9 689264 U 106 12 690536 V 105 12 691796 W 321 11 695327 X 64 13 696159 Y 80 13 697199 Z 20 15 697499 [ 257 11 700326 ] 257 11 703153 _ 162 12 705097 a 38973 4 860989 b 7020 6 903109 c 16018 5 983199 d 12406 5 1045229 e 52057 3 1201400 f 8767 6 1254002 g 6764 6 1294586 h 16646 5 1377816 i 24258 4 1474848 j 741 10 1482258 k 2535 8 1502538 l 19102 5 1598048 m 8299 6 1647842 n 24158 4 1744474 o 23749 5 1863219 p 9793 6 1921977 q 290 11 1925167 r 26002 4 2029175 s 24099 4 2125571 t 40335 4 2286911 u 9314 6 2342795 v 2923 8 2366179 w 4114 7 2394977 x 1041 9 2404346 y 8209 6 2453600 z 407 11 2458077 { 210 12 2460597 } 210 12 2463117 ? 2 18 2463153 ? 3 17 2463204 ? 3 17 2463255 ? 2 18 2463291 ? 1 18 2463309 bits in compressed file: 2464427 Percent compression: 41.7 Binary Representation of tree: 00001001110011100110111001001101001100111001001001100101001001100100010011001111001100010000000001001010110100101010110010011001001010000100011010010001001110010001100110010010010001001000111100011100001000110110001001011011100101110101001000110100100001010011110011001100011000010011010000100110110101001110111100010110000100010111010011001100100111010100010011110001001001001100011000100000000010001111110101001001110100101001001010001000011000000001000101010010010000001010010010100011110010010110101001011000100010101110010100100100111000110010011110100100001100100011101110010111111001000100100110101101001100001010011011000100111000001000001010100000110101000100000010011101000000010001101110010010101111000101111100010100010001100000001000101001000100101100101001001011001000111110001010010111100010011010001111011001001010100100111010001110101001010100100111011000100010001000100010110110010001010100110101010001101010010001100101001010011000100011100110010011010100111101001001111011100111110110010000011001101111 MESSAGE save(d): 1769445 bits Proposed name for compressed file: magic_rules.txt.hf Enter c to change compressed file name. Anything else to keep proposed name: c Enter name for compressed file: rules.hf STATUS Current Header format for compressing: Standard TREE Format Current force compression status: true OPTIONS 1. File operations. 2. Flip Force Compression status. 3. Flip Header format. 4. Quit (or any value other than 1, 2, or 3) Enter menu option: 4 Ending program.