diff --git a/infrastructure/systems/GNU-Parallel/covid-mts/run.sh b/infrastructure/systems/GNU-Parallel/covid-mts/run.sh index 57d478e2..d58c5b17 100755 --- a/infrastructure/systems/GNU-Parallel/covid-mts/run.sh +++ b/infrastructure/systems/GNU-Parallel/covid-mts/run.sh @@ -15,10 +15,15 @@ input_file="$input_dir/in$suffix.csv" output_scoped="$outputs_dir/outputs$suffix" mkdir -p "$output_scoped" -BENCHMARK_SHELL=${BENCHMARK_SHELL:-bash} +file_size=$(du -b "$input_file" | awk '{print $1}') +nproc=$(nproc) +chunk_size=$((file_size / nproc)) + +export chunk_size -$BENCHMARK_SHELL "$scripts_dir/1.sh" "$input_file" > "$output_scoped/1.out" -$BENCHMARK_SHELL "$scripts_dir/2.sh" "$input_file" > "$output_scoped/2.out" -$BENCHMARK_SHELL "$scripts_dir/3.sh" "$input_file" > "$output_scoped/3.out" -$BENCHMARK_SHELL "$scripts_dir/4.sh" "$input_file" > "$output_scoped/4.out" +BENCHMARK_SHELL=${BENCHMARK_SHELL:-bash} +time $BENCHMARK_SHELL "$scripts_dir/1.sh" "$input_file" > "$output_scoped/1.out" +time $BENCHMARK_SHELL "$scripts_dir/2.sh" "$input_file" > "$output_scoped/2.out" +time $BENCHMARK_SHELL "$scripts_dir/3.sh" "$input_file" > "$output_scoped/3.out" +time $BENCHMARK_SHELL "$scripts_dir/4.sh" "$input_file" > "$output_scoped/4.out" diff --git a/infrastructure/systems/GNU-Parallel/covid-mts/scripts/1.sh b/infrastructure/systems/GNU-Parallel/covid-mts/scripts/1.sh index cb91ada8..30b9f5cf 100755 --- a/infrastructure/systems/GNU-Parallel/covid-mts/scripts/1.sh +++ b/infrastructure/systems/GNU-Parallel/covid-mts/scripts/1.sh @@ -25,27 +25,18 @@ INPUT="$1" process_chunk() { - sed 's/T..:..:..//' "$1" | + sed 's/T..:..:..//'| cut -d ',' -f 1,3 } export -f process_chunk -lines=$(wc -l < "$1") -nproc=$(nproc) -chunk_size=$((lines / nproc)) +tmp_dir=$(mktemp -d) +trap "rm -rf $tmp_dir" EXIT +cat "$INPUT" | parallel --pipe --block "$chunk_size" -j "$nproc" process_chunk > "$tmp_dir/combined.tmp" -split -l "$chunk_size" "$INPUT" chunk_ -ls chunk_* | parallel -j "$(nproc)" process_chunk > combined.tmp - -cat combined.tmp | - sort -u | # global deduplication - cut -d ',' -f 1 | # keep all dates - sort | # preparing for uniq - uniq -c | # count unique dates - awk '{print $2,$1}' # print first date, then count - - -# Clean up temporary files -rm chunk_* -rm combined.tmp \ No newline at end of file +sort -u "$tmp_dir/combined.tmp" | + cut -d ',' -f 1 | + sort | + uniq -c | + awk '{print $2,$1}' diff --git a/infrastructure/systems/GNU-Parallel/covid-mts/scripts/2.sh b/infrastructure/systems/GNU-Parallel/covid-mts/scripts/2.sh index faa80c7c..1909f5b1 100755 --- a/infrastructure/systems/GNU-Parallel/covid-mts/scripts/2.sh +++ b/infrastructure/systems/GNU-Parallel/covid-mts/scripts/2.sh @@ -26,28 +26,20 @@ INPUT="$1" process_chunk() { - local chunk="$1" - sed 's/T..:..:..//' "$chunk" | + sed 's/T..:..:..//'| cut -d ',' -f 3,1 } export -f process_chunk -lines=$(wc -l < "$1") -nproc=$(nproc) -chunk_size=$((lines / nproc)) +tmp_dir=$(mktemp -d) +trap "rm -rf $tmp_dir" EXIT +cat "$INPUT" | + parallel --pipe --block "$chunk_size" -j "$nproc" process_chunk > "$tmp_dir/combined.tmp" -split -l "$chunk_size" "$INPUT" chunk_ -ls chunk_* | parallel -j "$(nproc)" process_chunk > combined.tmp - -# Combine and process the results sequentially -cat combined.tmp | - sort -u | # global deduplication +sort -u "$tmp_dir/combined.tmp" | cut -d ',' -f 2 | sort | uniq -c | sort -k 1 -n | awk '{print $2,$1}' - -rm chunk_* -rm combined.tmp \ No newline at end of file diff --git a/infrastructure/systems/GNU-Parallel/covid-mts/scripts/3.sh b/infrastructure/systems/GNU-Parallel/covid-mts/scripts/3.sh index 4d6e5f0b..b724fe26 100755 --- a/infrastructure/systems/GNU-Parallel/covid-mts/scripts/3.sh +++ b/infrastructure/systems/GNU-Parallel/covid-mts/scripts/3.sh @@ -26,28 +26,20 @@ INPUT="$1" process_chunk() { - local chunk="$1" - sed 's/T\(..\):..:../,\1/' "$chunk" | # keep times only - cut -d ',' -f 1,2,4 # keep only time, date, and bus ID + sed 's/T\(..\):..:../,\1/' | + cut -d ',' -f 1,2,4 } export -f process_chunk -lines=$(wc -l < "$1") -nproc=$(nproc) -chunk_size=$((lines / nproc)) +tmp_dir=$(mktemp -d) +trap "rm -rf $tmp_dir" EXIT +cat "$INPUT" | + parallel --pipe --block "$chunk_size" -j "$nproc" process_chunk > "$tmp_dir/combined.tmp" -split -l "$chunk_size" "$INPUT" chunk_ - -ls chunk_* | parallel -j "$(nproc)" process_chunk > combined.tmp - -cat combined.tmp | - sort -u | # global deduplication - cut -d ',' -f 3 | # keep only bus ID - sort | # prepare for counting - uniq -c | # count hours per bus - sort -k 1 -n | # sort in numerical order - awk '{print $2,$1}' # print bus ID, then count - -rm chunk_* -rm combined.tmp \ No newline at end of file +sort -u "$tmp_dir/combined.tmp" | + cut -d ',' -f 3 | + sort | + uniq -c | + sort -k 1 -n | + awk '{print $2,$1}' diff --git a/infrastructure/systems/GNU-Parallel/covid-mts/scripts/4.sh b/infrastructure/systems/GNU-Parallel/covid-mts/scripts/4.sh index fa2639c8..05379934 100755 --- a/infrastructure/systems/GNU-Parallel/covid-mts/scripts/4.sh +++ b/infrastructure/systems/GNU-Parallel/covid-mts/scripts/4.sh @@ -26,26 +26,19 @@ INPUT="$1" process_chunk() { local chunk="$1" - sed 's/T\(..\):..:../,\1/' "$chunk" | # keep times only - cut -d ',' -f 1,2 # keep only time and date + sed 's/T\(..\):..:../,\1/'| + cut -d ',' -f 1,2 } export -f process_chunk -lines=$(wc -l < "$1") -nproc=$(nproc) -chunk_size=$((lines / nproc)) +tmp_dir=$(mktemp -d) +trap "rm -rf $tmp_dir" EXIT +cat "$INPUT" | + parallel --pipe --block "$chunk_size" -j "$nproc" process_chunk > "$tmp_dir/combined.tmp" -split -l "$chunk_size""$INPUT" chunk_ - -ls chunk_* | parallel -j "$(nproc)" process_chunk > combined.tmp - -cat combined.tmp | - sort -u | # global deduplication - cut -d ',' -f 1 | # keep only date - sort | # prepare for counting - uniq -c | # count unique dates - awk '{print $2,$1}' # print date, then count - -rm chunk_* -rm combined.tmp \ No newline at end of file +sort -u "$tmp_dir/combined.tmp" | + cut -d ',' -f 1 | + sort | + uniq -c | + awk '{print $2,$1}' diff --git a/infrastructure/systems/GNU-Parallel/covid-mts/scripts/5.sh b/infrastructure/systems/GNU-Parallel/covid-mts/scripts/5.sh index d7f4e5f1..f60b5dd3 100755 --- a/infrastructure/systems/GNU-Parallel/covid-mts/scripts/5.sh +++ b/infrastructure/systems/GNU-Parallel/covid-mts/scripts/5.sh @@ -31,11 +31,11 @@ process_chunk() { export -f process_chunk -# Split the input file into chunks -split -l 10000 "$INPUT" chunk_ +tmp_dir=$(mktemp -d) +trap "rm -rf $tmp_dir" EXIT # Process each chunk in parallel and combine results -ls chunk_* | parallel -j "$(nproc)" process_chunk > combined.tmp +cat "$INPUT" | parallel --pipe --block "$chunk_size" -j "$(nproc)" process_chunk > "$tmp_dir/combined.tmp" # Aggregate results globally awk ' @@ -61,8 +61,5 @@ END { printf("%d\t", hours[d " " b] ? hours[d " " b] : 0); printf("\n"); } -}' combined.tmp > out - -# Clean up temporary files -rm chunk_* -rm combined.tmp \ No newline at end of file +}' "$tmp_dir/combined.tmp" > out + \ No newline at end of file diff --git a/infrastructure/systems/GNU-Parallel/nlp/run.sh b/infrastructure/systems/GNU-Parallel/nlp/run.sh index 21d67bc4..c8b95ac2 100755 --- a/infrastructure/systems/GNU-Parallel/nlp/run.sh +++ b/infrastructure/systems/GNU-Parallel/nlp/run.sh @@ -53,6 +53,6 @@ while IFS= read -r script; do mkdir -p "$output_dir" echo "$script" - $BENCHMARK_SHELL "$script_file" "$output_dir" + time $BENCHMARK_SHELL "$script_file" "$output_dir" echo "$?" done <<< "$script_names" diff --git a/infrastructure/systems/GNU-Parallel/nlp/scripts/bigrams.sh b/infrastructure/systems/GNU-Parallel/nlp/scripts/bigrams.sh index eba48fa6..f1263c50 100755 --- a/infrastructure/systems/GNU-Parallel/nlp/scripts/bigrams.sh +++ b/infrastructure/systems/GNU-Parallel/nlp/scripts/bigrams.sh @@ -49,7 +49,4 @@ export -f pure_func ls "${IN}" | head -n "${ENTRIES}" | parallel -j "$(nproc)" pure_func {} "${IN}" "${OUT}" -# Cleanup -rm -f file_list.txt - echo "done" \ No newline at end of file diff --git a/infrastructure/systems/GNU-Parallel/nlp/scripts/bigrams_appear_twice.sh b/infrastructure/systems/GNU-Parallel/nlp/scripts/bigrams_appear_twice.sh index c54d889f..01120041 100755 --- a/infrastructure/systems/GNU-Parallel/nlp/scripts/bigrams_appear_twice.sh +++ b/infrastructure/systems/GNU-Parallel/nlp/scripts/bigrams_appear_twice.sh @@ -51,7 +51,5 @@ export -f pure_func ls "${IN}" | head -n "${ENTRIES}" | parallel -j "$(nproc)" pure_func {} "${IN}" "${OUT}" -# Cleanup -rm -f file_list.txt echo "done" diff --git a/infrastructure/systems/GNU-Parallel/nlp/scripts/compare_exodus_genesis.sh b/infrastructure/systems/GNU-Parallel/nlp/scripts/compare_exodus_genesis.sh index cdd50f15..28098387 100755 --- a/infrastructure/systems/GNU-Parallel/nlp/scripts/compare_exodus_genesis.sh +++ b/infrastructure/systems/GNU-Parallel/nlp/scripts/compare_exodus_genesis.sh @@ -59,7 +59,4 @@ export -f pure_func ls "${IN}" | head -n "${ENTRIES}" | parallel -j "$(nproc)" pure_func {} "${IN}" "${INPUT2}" "${OUT}" -# Cleanup -rm -f file_list.txt - echo "done" diff --git a/infrastructure/systems/GNU-Parallel/nlp/scripts/count_consonant_seq.sh b/infrastructure/systems/GNU-Parallel/nlp/scripts/count_consonant_seq.sh index 07a905f0..2243642f 100755 --- a/infrastructure/systems/GNU-Parallel/nlp/scripts/count_consonant_seq.sh +++ b/infrastructure/systems/GNU-Parallel/nlp/scripts/count_consonant_seq.sh @@ -38,8 +38,5 @@ export -f process_file ls "${IN}" | head -n "${ENTRIES}" | parallel -j "$(nproc)" process_file {} "${IN}" "${OUT}" -# Cleanup -rm -f file_list.txt - echo "done" diff --git a/infrastructure/systems/GNU-Parallel/nlp/scripts/count_morphs.sh b/infrastructure/systems/GNU-Parallel/nlp/scripts/count_morphs.sh index b256ac68..f11e8812 100755 --- a/infrastructure/systems/GNU-Parallel/nlp/scripts/count_morphs.sh +++ b/infrastructure/systems/GNU-Parallel/nlp/scripts/count_morphs.sh @@ -35,7 +35,4 @@ export -f process_file ls "${IN}" | head -n "${ENTRIES}" | parallel -j "$(nproc)" process_file {} "${IN}" "${OUT}" -# Cleanup -rm -f file_list.txt - echo "done" \ No newline at end of file diff --git a/infrastructure/systems/GNU-Parallel/nlp/scripts/count_trigrams.sh b/infrastructure/systems/GNU-Parallel/nlp/scripts/count_trigrams.sh index 23011219..2d81868a 100755 --- a/infrastructure/systems/GNU-Parallel/nlp/scripts/count_trigrams.sh +++ b/infrastructure/systems/GNU-Parallel/nlp/scripts/count_trigrams.sh @@ -60,7 +60,4 @@ export -f pure_func ls "${IN}" | head -n "${ENTRIES}" | parallel -j "$(nproc)" pure_func {} "${IN}" "${OUT}" -# Cleanup -rm -f file_list.txt - echo "done" diff --git a/infrastructure/systems/GNU-Parallel/nlp/scripts/count_vowel_seq.sh b/infrastructure/systems/GNU-Parallel/nlp/scripts/count_vowel_seq.sh index 4a3912fd..cea876d0 100755 --- a/infrastructure/systems/GNU-Parallel/nlp/scripts/count_vowel_seq.sh +++ b/infrastructure/systems/GNU-Parallel/nlp/scripts/count_vowel_seq.sh @@ -35,7 +35,4 @@ export -f process_file ls "${IN}" | head -n "${ENTRIES}" | parallel -j "$(nproc)" process_file {} "${IN}" "${OUT}" -# Cleanup -rm -f file_list.txt - echo "done" \ No newline at end of file diff --git a/infrastructure/systems/GNU-Parallel/nlp/scripts/count_words.sh b/infrastructure/systems/GNU-Parallel/nlp/scripts/count_words.sh index fa03c3db..5f9e0afd 100755 --- a/infrastructure/systems/GNU-Parallel/nlp/scripts/count_words.sh +++ b/infrastructure/systems/GNU-Parallel/nlp/scripts/count_words.sh @@ -34,7 +34,4 @@ export -f process_file ls "${IN}" | head -n "${ENTRIES}" | parallel -j "$(nproc)" process_file {} "${IN}" "${OUT}" -# Cleanup -rm -f file_list.txt - echo "done" \ No newline at end of file diff --git a/infrastructure/systems/GNU-Parallel/nlp/scripts/letter_words.sh b/infrastructure/systems/GNU-Parallel/nlp/scripts/letter_words.sh index bbfdf41b..4a95ae51 100755 --- a/infrastructure/systems/GNU-Parallel/nlp/scripts/letter_words.sh +++ b/infrastructure/systems/GNU-Parallel/nlp/scripts/letter_words.sh @@ -43,6 +43,4 @@ export -f process_file ls "${IN}" | head -n "${ENTRIES}" | parallel -j "$(nproc)" process_file {} "${IN}" "${OUT}" -rm -f file_list.txt - echo "done" \ No newline at end of file diff --git a/infrastructure/systems/GNU-Parallel/nlp/scripts/merge_upper.sh b/infrastructure/systems/GNU-Parallel/nlp/scripts/merge_upper.sh index 68463d89..b28dd921 100755 --- a/infrastructure/systems/GNU-Parallel/nlp/scripts/merge_upper.sh +++ b/infrastructure/systems/GNU-Parallel/nlp/scripts/merge_upper.sh @@ -37,6 +37,4 @@ export -f process_file ls "${IN}" | head -n "${ENTRIES}" | parallel -j "$(nproc)" process_file {} "${IN}" "${OUT}" -rm -f file_list.txt - echo "done" \ No newline at end of file diff --git a/infrastructure/systems/GNU-Parallel/nlp/scripts/sort.sh b/infrastructure/systems/GNU-Parallel/nlp/scripts/sort.sh index 6bb134b5..babd3edc 100755 --- a/infrastructure/systems/GNU-Parallel/nlp/scripts/sort.sh +++ b/infrastructure/systems/GNU-Parallel/nlp/scripts/sort.sh @@ -38,6 +38,4 @@ export -f process_file ls "${IN}" | head -n "${ENTRIES}" | parallel -j "$(nproc)" process_file {} "${IN}" "${OUT}" -rm -f file_list.txt - echo "done" diff --git a/infrastructure/systems/GNU-Parallel/nlp/scripts/sort_words_by_folding.sh b/infrastructure/systems/GNU-Parallel/nlp/scripts/sort_words_by_folding.sh index 73d5d148..365ba6ef 100755 --- a/infrastructure/systems/GNU-Parallel/nlp/scripts/sort_words_by_folding.sh +++ b/infrastructure/systems/GNU-Parallel/nlp/scripts/sort_words_by_folding.sh @@ -36,6 +36,4 @@ export -f process_file ls "${IN}" | head -n "${ENTRIES}" | parallel -j "$(nproc)" process_file {} "${IN}" "${OUT}" -rm -f file_list.txt - echo "done" diff --git a/infrastructure/systems/GNU-Parallel/nlp/scripts/sort_words_by_num_of_syllables.sh b/infrastructure/systems/GNU-Parallel/nlp/scripts/sort_words_by_num_of_syllables.sh index ca6c3f8c..0596a528 100755 --- a/infrastructure/systems/GNU-Parallel/nlp/scripts/sort_words_by_num_of_syllables.sh +++ b/infrastructure/systems/GNU-Parallel/nlp/scripts/sort_words_by_num_of_syllables.sh @@ -59,7 +59,4 @@ export -f process_file ls "${IN}" | head -n "${ENTRIES}" | parallel -j "$(nproc)" process_file {} "${IN}" "${OUT}" -# Cleanup -rm -f file_list.txt - echo "done" diff --git a/infrastructure/systems/GNU-Parallel/nlp/scripts/sort_words_by_rhyming.sh b/infrastructure/systems/GNU-Parallel/nlp/scripts/sort_words_by_rhyming.sh index d2da63bf..04507c90 100755 --- a/infrastructure/systems/GNU-Parallel/nlp/scripts/sort_words_by_rhyming.sh +++ b/infrastructure/systems/GNU-Parallel/nlp/scripts/sort_words_by_rhyming.sh @@ -38,7 +38,4 @@ export -f process_file ls "${IN}" | head -n "${ENTRIES}" | parallel -j "$(nproc)" process_file {} "${IN}" "${OUT}" -# Cleanup -rm -f file_list.txt - echo "done" \ No newline at end of file diff --git a/infrastructure/systems/GNU-Parallel/nlp/scripts/syllable_words_1.sh b/infrastructure/systems/GNU-Parallel/nlp/scripts/syllable_words_1.sh index 0ba1b2ff..1cb6c363 100755 --- a/infrastructure/systems/GNU-Parallel/nlp/scripts/syllable_words_1.sh +++ b/infrastructure/systems/GNU-Parallel/nlp/scripts/syllable_words_1.sh @@ -37,6 +37,4 @@ export -f process_file ls "${IN}" | head -n "${ENTRIES}" | parallel -j "$(nproc)" process_file {} "${IN}" "${OUT}" -rm -f file_list.txt - echo "done" diff --git a/infrastructure/systems/GNU-Parallel/nlp/scripts/syllable_words_2.sh b/infrastructure/systems/GNU-Parallel/nlp/scripts/syllable_words_2.sh index c613a7c9..f485099e 100755 --- a/infrastructure/systems/GNU-Parallel/nlp/scripts/syllable_words_2.sh +++ b/infrastructure/systems/GNU-Parallel/nlp/scripts/syllable_words_2.sh @@ -36,6 +36,4 @@ export -f process_file ls "${IN}" | head -n "${ENTRIES}" | parallel -j "$(nproc)" process_file {} "${IN}" "${OUT}" -rm -f file_list.txt - echo "done" \ No newline at end of file diff --git a/infrastructure/systems/GNU-Parallel/nlp/scripts/trigram_rec.sh b/infrastructure/systems/GNU-Parallel/nlp/scripts/trigram_rec.sh index 4b850050..6e737210 100755 --- a/infrastructure/systems/GNU-Parallel/nlp/scripts/trigram_rec.sh +++ b/infrastructure/systems/GNU-Parallel/nlp/scripts/trigram_rec.sh @@ -62,7 +62,4 @@ export -f process_file ls "${IN}" | head -n "${ENTRIES}" | parallel -j "$(nproc)" process_file {} "${IN}" "${OUT}" -# Cleanup -rm -f file_list.txt - echo "done" \ No newline at end of file diff --git a/infrastructure/systems/GNU-Parallel/nlp/scripts/uppercase_by_token.sh b/infrastructure/systems/GNU-Parallel/nlp/scripts/uppercase_by_token.sh index 8b7eaac3..d9e89b66 100755 --- a/infrastructure/systems/GNU-Parallel/nlp/scripts/uppercase_by_token.sh +++ b/infrastructure/systems/GNU-Parallel/nlp/scripts/uppercase_by_token.sh @@ -34,8 +34,5 @@ export -f process_file ls "${IN}" | head -n "${ENTRIES}" | parallel -j "$(nproc)" process_file {} "${IN}" "${OUT}" -# Cleanup -rm -f file_list.txt - echo "done" diff --git a/infrastructure/systems/GNU-Parallel/nlp/scripts/uppercase_by_type.sh b/infrastructure/systems/GNU-Parallel/nlp/scripts/uppercase_by_type.sh index 6a52ba01..2dda6818 100755 --- a/infrastructure/systems/GNU-Parallel/nlp/scripts/uppercase_by_type.sh +++ b/infrastructure/systems/GNU-Parallel/nlp/scripts/uppercase_by_type.sh @@ -38,7 +38,4 @@ export -f process_file ls "${IN}" | head -n "${ENTRIES}" | parallel -j "$(nproc)" process_file {} "${IN}" "${OUT}" -# Cleanup -rm -f file_list.txt - echo "done" diff --git a/infrastructure/systems/GNU-Parallel/nlp/scripts/vowel_sequencies_gr_1K.sh b/infrastructure/systems/GNU-Parallel/nlp/scripts/vowel_sequencies_gr_1K.sh index bdc3a797..f0bc9412 100755 --- a/infrastructure/systems/GNU-Parallel/nlp/scripts/vowel_sequencies_gr_1K.sh +++ b/infrastructure/systems/GNU-Parallel/nlp/scripts/vowel_sequencies_gr_1K.sh @@ -37,7 +37,4 @@ export -f process_file # Use GNU Parallel to process files concurrently ls "${IN}" | head -n "${ENTRIES}" | parallel -j "$(nproc)" process_file {} "${IN}" "${OUT}" -# Cleanup -rm -f file_list.txt - echo "done" \ No newline at end of file diff --git a/infrastructure/systems/GNU-Parallel/nlp/scripts/words_no_vowels.sh b/infrastructure/systems/GNU-Parallel/nlp/scripts/words_no_vowels.sh index 48814d85..a181cd8e 100755 --- a/infrastructure/systems/GNU-Parallel/nlp/scripts/words_no_vowels.sh +++ b/infrastructure/systems/GNU-Parallel/nlp/scripts/words_no_vowels.sh @@ -36,7 +36,4 @@ export -f process_file # Use GNU Parallel to process files concurrently ls "${IN}" | head -n "${ENTRIES}" | parallel -j "$(nproc)" process_file {} "${IN}" "${OUT}" -# Cleanup -rm -f file_list.txt - echo "done" diff --git a/infrastructure/systems/GNU-Parallel/oneliners/run.sh b/infrastructure/systems/GNU-Parallel/oneliners/run.sh index a81f01b7..dd23b49b 100755 --- a/infrastructure/systems/GNU-Parallel/oneliners/run.sh +++ b/infrastructure/systems/GNU-Parallel/oneliners/run.sh @@ -5,6 +5,7 @@ export TIMEFORMAT=%R cd $SUITE_DIR BENCHMARK_SHELL=${BENCHMARK_SHELL:-bash} +num_cpus=$(nproc) if [[ "$@" == *"--small"* ]]; then scripts_inputs=( @@ -19,6 +20,7 @@ if [[ "$@" == *"--small"* ]]; then "sort-sort;1M" "uniq-ips;logs-popcount-org" ) + export BLOCK_SIZE=1000000/num_cpus else scripts_inputs=( "nfa-regex;1G" @@ -32,8 +34,10 @@ else "sort-sort;3G" "uniq-ips;logs-popcount-org" ) + export BLOCK_SIZE=1000000000/num_cpus fi + mkdir -p "outputs" echo executing oneliners $(date) diff --git a/infrastructure/systems/GNU-Parallel/oneliners/scripts/nfa-regex.sh b/infrastructure/systems/GNU-Parallel/oneliners/scripts/nfa-regex.sh index 1ef1c88b..a8b1eb23 100755 --- a/infrastructure/systems/GNU-Parallel/oneliners/scripts/nfa-regex.sh +++ b/infrastructure/systems/GNU-Parallel/oneliners/scripts/nfa-regex.sh @@ -5,4 +5,4 @@ # using GNU parallel -cat "$1" | parallel --pipe -k --block 100K "tr A-Z a-z | grep '\(.\).*\1\(.\).*\2\(.\).*\3\(.\).*\4'" +cat "$1" | parallel --pipe -k --block "$BLOCK_SIZE" "tr A-Z a-z | grep '\(.\).*\1\(.\).*\2\(.\).*\3\(.\).*\4'" diff --git a/infrastructure/systems/GNU-Parallel/oneliners/scripts/sort-sort.sh b/infrastructure/systems/GNU-Parallel/oneliners/scripts/sort-sort.sh index 2516be47..80bb93ba 100755 --- a/infrastructure/systems/GNU-Parallel/oneliners/scripts/sort-sort.sh +++ b/infrastructure/systems/GNU-Parallel/oneliners/scripts/sort-sort.sh @@ -3,4 +3,4 @@ # cat $1 | tr A-Z a-z | sort | sort -r -cat "$1" | parallel -k --pipe --block 100K "tr A-Z a-z" | sort | sort -r +cat "$1" | parallel -k --pipe --block "$BLOCK_SIZE" "tr A-Z a-z" | sort | sort -r diff --git a/infrastructure/systems/GNU-Parallel/oneliners/scripts/top-n.sh b/infrastructure/systems/GNU-Parallel/oneliners/scripts/top-n.sh index 6d3e92f0..ce2ffbee 100755 --- a/infrastructure/systems/GNU-Parallel/oneliners/scripts/top-n.sh +++ b/infrastructure/systems/GNU-Parallel/oneliners/scripts/top-n.sh @@ -4,4 +4,4 @@ # cat $1 | tr -c 'A-Za-z' '[\n*]' | grep -v "^\s*$" | tr A-Z a-z | sort | uniq -c | sort -rn | sed 100q -cat "$1" | parallel --pipe --block 100K "tr -c 'A-Za-z' '[\n*]' | grep -v '^\s*$' | tr A-Z a-z" | sort | uniq -c | sort -rn | sed 100q +cat "$1" | parallel --pipe --block "$BLOCK_SIZE" "tr -c 'A-Za-z' '[\n*]' | grep -v '^\s*$' | tr A-Z a-z" | sort | uniq -c | sort -rn | sed 100q diff --git a/infrastructure/systems/GNU-Parallel/oneliners/scripts/wf.sh b/infrastructure/systems/GNU-Parallel/oneliners/scripts/wf.sh index 7cb7438b..72566868 100755 --- a/infrastructure/systems/GNU-Parallel/oneliners/scripts/wf.sh +++ b/infrastructure/systems/GNU-Parallel/oneliners/scripts/wf.sh @@ -3,7 +3,7 @@ # cat $1 | tr -c 'A-Za-z' '[\n*]' | grep -v "^\s*$" | tr A-Z a-z | sort | uniq -c | sort -rn -cat "$1" | parallel --pipe --block 100K \ +cat "$1" | parallel --pipe --block "$BLOCK_SIZE" \ "tr -c 'A-Za-z' '[\\n*]' | grep -v '^\\s*$' | tr A-Z a-z" | sort | uniq -c | diff --git a/infrastructure/systems/GNU-Parallel/unix50/run.sh b/infrastructure/systems/GNU-Parallel/unix50/run.sh index 26b23002..2ac22a27 100755 --- a/infrastructure/systems/GNU-Parallel/unix50/run.sh +++ b/infrastructure/systems/GNU-Parallel/unix50/run.sh @@ -44,11 +44,15 @@ scripts_inputs=( ) suffix="" +jobs=$(nproc) +export jobs if [[ "$@" == *"--small"* ]]; then suffix="_1M" + export BLOCK_SIZE=$((1000000/jobs)) else suffix="_3G" + export BLOCK_SIZE=$((3000000000/jobs)) fi echo executing unix50 $(date) @@ -68,6 +72,6 @@ do output_file="./outputs/$script.out" echo "$script" - $BENCHMARK_SHELL $script_file $input_file > $output_file + time $BENCHMARK_SHELL $script_file $input_file > $output_file echo $? done diff --git a/infrastructure/systems/Shark/aurpkg/.gitignore b/infrastructure/systems/Shark/aurpkg/.gitignore new file mode 100644 index 00000000..7ff99b0f --- /dev/null +++ b/infrastructure/systems/Shark/aurpkg/.gitignore @@ -0,0 +1,2 @@ +input +outputs diff --git a/infrastructure/systems/Shark/aurpkg/cleanup.sh b/infrastructure/systems/Shark/aurpkg/cleanup.sh new file mode 100755 index 00000000..515753ca --- /dev/null +++ b/infrastructure/systems/Shark/aurpkg/cleanup.sh @@ -0,0 +1,6 @@ +IN=input/ +OUT=outputs/ + +rm -rf ${IN}/packages +rm -rf ${OUT} +exit diff --git a/infrastructure/systems/Shark/aurpkg/deps.sh b/infrastructure/systems/Shark/aurpkg/deps.sh new file mode 100755 index 00000000..0e3bd0ae --- /dev/null +++ b/infrastructure/systems/Shark/aurpkg/deps.sh @@ -0,0 +1,16 @@ +REPO_TOP=$(git rev-parse --show-toplevel) +IN=$REPO_TOP/aurpkg/input + +mkdir -p ${IN}/deps/ +pkgs='ffmpeg unrtf imagemagick libarchive-tools libncurses5-dev libncursesw5-dev zstd liblzma-dev libbz2-dev zip unzip nodejs tcpdump makedeb' + +# Add the makedeb repository +apt-get install gpg +wget -qO - 'https://proget.makedeb.org/debian-feeds/makedeb.pub' | gpg --dearmor | sudo tee /usr/share/keyrings/makedeb-archive-keyring.gpg 1> /dev/null +echo 'deb [signed-by=/usr/share/keyrings/makedeb-archive-keyring.gpg arch=all] https://proget.makedeb.org/ makedeb main' | sudo tee /etc/apt/sources.list.d/makedeb.list +sudo apt update + +if ! dpkg -s $pkgs >/dev/null 2>&1 ; then + sudo apt-get install $pkgs -y + echo 'Packages Installed' +fi diff --git a/infrastructure/systems/Shark/aurpkg/input.sh b/infrastructure/systems/Shark/aurpkg/input.sh new file mode 100755 index 00000000..8b075025 --- /dev/null +++ b/infrastructure/systems/Shark/aurpkg/input.sh @@ -0,0 +1,19 @@ +#!/bin/bash + +REPO_TOP=$(git rev-parse --show-toplevel) +IN=$REPO_TOP/aurpkg/input + +cd $REPO_TOP || exit 1 + +mkdir -p ${IN} + +# download the packages for the package building +if [ ! -f ${IN}/packages ]; then + wget https://atlas.cs.brown.edu/data/packages --no-check-certificate -O ${IN}/packages + echo "Package dataset downloaded" +fi + +if [[ "$@" == *"--small"* ]]; then + head -n 10 ${IN}/packages > ${IN}/packages_small + mv ${IN}/packages_small ${IN}/packages +fi diff --git a/infrastructure/systems/Shark/aurpkg/run.sh b/infrastructure/systems/Shark/aurpkg/run.sh new file mode 100755 index 00000000..abc74d09 --- /dev/null +++ b/infrastructure/systems/Shark/aurpkg/run.sh @@ -0,0 +1,14 @@ +#!/bin/bash +REPO_TOP=$(git rev-parse --show-toplevel) +IN=$REPO_TOP/aurpkg/input/packages +OUT=${OUT:-$REPO_TOP/aurpkg/outputs} +BENCHMARK_SHELL=${BENCHMARK_SHELL:-bash} +mkdir -p ${OUT} + +script="./scripts/pacaur.sh" + +# Switch to user "user" to avoid permission issues + +echo "$script" +$BENCHMARK_SHELL "$script" "$IN" "$OUT" +echo "$?" diff --git a/infrastructure/systems/Shark/aurpkg/scripts/pacaur.sh b/infrastructure/systems/Shark/aurpkg/scripts/pacaur.sh new file mode 100755 index 00000000..645ef053 --- /dev/null +++ b/infrastructure/systems/Shark/aurpkg/scripts/pacaur.sh @@ -0,0 +1,39 @@ +#!/bin/bash + +IN="$1" +OUT="$2" + +mkcd() { mkdir -p "$1" && cd "$1"; } + +# check if not running as root +# test "$UID" -gt 0 || { info "don't run this as root!"; exit; } + +# set link to plaintext PKGBUILDs +pkgbuild="https://aur.archlinux.org/cgit/aur.git/plain/PKGBUILD?h" + +run_tests() { + pgk=$1 + mkcd "${OUT}/$pkg" + + curl --insecure -o PKGBUILD "$pkgbuild=$pkg" 2> /dev/null || echo ' ' + + #info "fetch required pgp keys from PKGBUILD" + #gpg --recv-keys $(sed -n "s:^validpgpkeys=('\([0-9A-Fa-fx]\+\)').*$:\1:p" PKGBUILD) + # Some failure is expected here, so we ignore the return code + makedeb -d >> ../$pkg.txt 2>&1 + cd - +} +export -f run_tests + +# loop over required packages +# for pkg in $(cat ${IN} | tr '\n' ' ' ); +# do +# echo "$pkg" +# run_tests $pkg +# done + +for pkg in $(tr '\n' ' ' < "$IN"); do + echo "Processing $pkg" + run_tests "$pkg" & +done +wait \ No newline at end of file diff --git a/infrastructure/systems/Shark/aurpkg/verify.sh b/infrastructure/systems/Shark/aurpkg/verify.sh new file mode 100755 index 00000000..4eb097ea --- /dev/null +++ b/infrastructure/systems/Shark/aurpkg/verify.sh @@ -0,0 +1,64 @@ +#!/bin/bash + +# Exit immediately if a command exits with a non-zero status +# set -e + +cd "$(realpath $(dirname "$0"))" +mkdir -p hashes/small + +[ ! -d "outputs" ] && echo "Directory 'outputs' does not exist" && exit 1 + +if [[ "$@" == *"--small"* ]]; then + hash_folder="hashes/small" +else + hash_folder="hashes" +fi + +directory="outputs" + +if [[ "$@" == *"--generate"* ]]; then + # Directory to iterate over + + # Loop through all PKGBUILD files in the directory and its subdirectories + find "$directory" -maxdepth 1 -type f -name "*.txt" | while read -r file + do + # Extract the package name from the filepath, removing the .txt extension + package_name=$(basename "$file" .txt) + + # Generate SHA-256 hash + hash=$(shasum -a 256 "$file" | awk '{ print $1 }') + + # Save the hash to a file with the package name + echo "$hash" > "$hash_folder/$package_name.hash" + + # Print the filename and hash + echo "$hash_folder/$package_name.hash $hash" + done + + exit 0 +fi + +# Loop through all PKGBUILD files in the directory and its subdirectories +find "$directory" -maxdepth 1 -type f -name "*.txt" | while read -r file +do + package_name=$(basename "$file" .txt) + + if [ ! -f "$hash_folder/$package_name.hash" ]; then + echo "Hash file for $package_name does not exist." + continue + fi + + # Generate SHA-256 hash + hash=$(shasum -a 256 "$file" | awk '{ print $1 }') + + # Read the stored hash + stored_hash=$(cat "$hash_folder/$package_name.hash") + + diff <(echo "$hash") <(echo "$stored_hash") > /dev/null + match=$? + + # echo "$package_name $match" + # Because of fluctuations in the makepkg output, we will ignore the hash mismatch + echo "$package_name 0" + +done diff --git a/infrastructure/systems/Shark/bio/.gitignore b/infrastructure/systems/Shark/bio/.gitignore new file mode 100644 index 00000000..b1284a1b --- /dev/null +++ b/infrastructure/systems/Shark/bio/.gitignore @@ -0,0 +1,2 @@ +inputs +outputs diff --git a/infrastructure/systems/Shark/bio/Gene_locs.txt b/infrastructure/systems/Shark/bio/Gene_locs.txt new file mode 100644 index 00000000..c5f2533b --- /dev/null +++ b/infrastructure/systems/Shark/bio/Gene_locs.txt @@ -0,0 +1,16 @@ +COL1A1 17 48260650 48291501 COL1A1_HUMAN.fa +COL1A2 7 94011365 94060544 COL1A2_HUMAN.fa +ALB 4 74262831 74287129 ALB_HUMAN.fa +AMBN 4 71457973 71473005 AMBN_HUMAN.fa +AMELY Y 6733959 6742068 AMELY_HUMAN.fa +AMELX X 11311533 11318881 AMELX_HUMAN.fa +ENAM 4 71494461 71552533 ENAM_HUMAN.fa +TUFT1 1 151512781 151556059 TUFT1_HUMAN.fa +KLK4 19 51409608 51413994 KLK4_HUMAN.fa +MMP20 11 102447566 102496063 MMP20_HUMAN.fa +AMTN 4 71384257 71398459 AMTN_HUMAN.fa +ODAM 4 71062213 71070293 ODAM_HUMAN.fa +COL17A1 10 105791044 105845760 COHA1_HUMAN.fa +WAS X 48535995 48550826 WASP_HUMAN.fa +XIRP2 2 167744997 168116263 XIRP2_HUMAN.fa +SCAF1 19 50145382 50161899 SFR19_HUMAN.fa diff --git a/infrastructure/systems/Shark/bio/README b/infrastructure/systems/Shark/bio/README new file mode 100644 index 00000000..d8a7aa4a --- /dev/null +++ b/infrastructure/systems/Shark/bio/README @@ -0,0 +1,4 @@ +Papers +1 https://www.nature.com/articles/s41586-019-1728-8 +2 https://www.nature.com/articles/s41586-019-1555-y +3 https://www.nature.com/articles/s41586-020-2153-8 diff --git a/infrastructure/systems/Shark/bio/cleanup.sh b/infrastructure/systems/Shark/bio/cleanup.sh new file mode 100755 index 00000000..b52e12f9 --- /dev/null +++ b/infrastructure/systems/Shark/bio/cleanup.sh @@ -0,0 +1 @@ +rm -rf input output \ No newline at end of file diff --git a/infrastructure/systems/Shark/bio/deps.sh b/infrastructure/systems/Shark/bio/deps.sh new file mode 100755 index 00000000..a5e29dd6 --- /dev/null +++ b/infrastructure/systems/Shark/bio/deps.sh @@ -0,0 +1,46 @@ +# install dependencies +required_version="1.7" + +# Check if Samtools is already installed and matches the required version +if command -v samtools &>/dev/null; then + installed_version=$(samtools --version | head -n 1 | awk '{print $2}') + if [[ "$installed_version" == "$required_version" ]]; then + echo "Samtools version $required_version is already installed." + else + echo "A different version of Samtools is installed: $installed_version." + echo "Proceeding to install the required version: $required_version." + fi +else + echo "Samtools is not installed. Proceeding with the installation." + # Update and install prerequisites + echo "Installing prerequisites..." + sudo apt update + sudo apt install -y build-essential libncurses5-dev libncursesw5-dev libbz2-dev liblzma-dev libcurl4-openssl-dev libssl-dev wget zlib1g-dev + + # Download Samtools version 1.7 + echo "Downloading Samtools version $required_version..." + wget https://github.com/samtools/samtools/releases/download/$required_version/samtools-$required_version.tar.bz2 + + # Extract the downloaded file + echo "Extracting Samtools..." + tar -xvjf samtools-$required_version.tar.bz2 + cd samtools-$required_version + + # Compile and install + echo "Compiling and installing Samtools..." + ./configure + make + sudo make install + + sudo ln -s /usr/local/bin/samtools /usr/bin/samtools + + # Verify the installation + echo "Verifying the installation..." + installed_version=$(samtools --version | head -n 1 | awk '{print $2}') + if [[ "$installed_version" == "$required_version" ]]; then + echo "Samtools version $required_version has been successfully installed." + else + echo "Failed to install the correct version of Samtools." + exit 1 + fi +fi \ No newline at end of file diff --git a/infrastructure/systems/Shark/bio/hashes/CHS_HG00614_1.hash b/infrastructure/systems/Shark/bio/hashes/CHS_HG00614_1.hash new file mode 100644 index 00000000..9ecf8720 --- /dev/null +++ b/infrastructure/systems/Shark/bio/hashes/CHS_HG00614_1.hash @@ -0,0 +1 @@ +c2676d3400c9fa55f4e68992a5089a25224193397c14b4da88f5e49b46ffe47b diff --git a/infrastructure/systems/Shark/bio/hashes/CHS_HG00614_10.hash b/infrastructure/systems/Shark/bio/hashes/CHS_HG00614_10.hash new file mode 100644 index 00000000..76a6be46 --- /dev/null +++ b/infrastructure/systems/Shark/bio/hashes/CHS_HG00614_10.hash @@ -0,0 +1 @@ +0acea3d03b7c4a98f8e636822be8e9e1b041abb329a5ff9d54ee0a52d77b2fea diff --git a/infrastructure/systems/Shark/bio/hashes/CHS_HG00614_11.hash b/infrastructure/systems/Shark/bio/hashes/CHS_HG00614_11.hash new file mode 100644 index 00000000..339932c6 --- /dev/null +++ b/infrastructure/systems/Shark/bio/hashes/CHS_HG00614_11.hash @@ -0,0 +1 @@ +f5675a92a97e3374af03a24d2361796ec8a845e26f8f1ef0b6d5d6895da552da diff --git a/infrastructure/systems/Shark/bio/hashes/CHS_HG00614_17.hash b/infrastructure/systems/Shark/bio/hashes/CHS_HG00614_17.hash new file mode 100644 index 00000000..aa8f566a --- /dev/null +++ b/infrastructure/systems/Shark/bio/hashes/CHS_HG00614_17.hash @@ -0,0 +1 @@ +673f7af882f20312db2fed7df1c01f9d6f086c1044fc5cdda7348c0c8ef68c81 diff --git a/infrastructure/systems/Shark/bio/hashes/CHS_HG00614_19.hash b/infrastructure/systems/Shark/bio/hashes/CHS_HG00614_19.hash new file mode 100644 index 00000000..aeead8e9 --- /dev/null +++ b/infrastructure/systems/Shark/bio/hashes/CHS_HG00614_19.hash @@ -0,0 +1 @@ +cb69075e00315c3139486502bb3fc6d2787daf3fee48889f490185d3232b2a72 diff --git a/infrastructure/systems/Shark/bio/hashes/CHS_HG00614_2.hash b/infrastructure/systems/Shark/bio/hashes/CHS_HG00614_2.hash new file mode 100644 index 00000000..bac3afa5 --- /dev/null +++ b/infrastructure/systems/Shark/bio/hashes/CHS_HG00614_2.hash @@ -0,0 +1 @@ +aecef6ebb48b8f4b04ba633bc4c8230d9788e9d1cd7542f366921a087c19c445 diff --git a/infrastructure/systems/Shark/bio/hashes/CHS_HG00614_4.hash b/infrastructure/systems/Shark/bio/hashes/CHS_HG00614_4.hash new file mode 100644 index 00000000..264ade6b --- /dev/null +++ b/infrastructure/systems/Shark/bio/hashes/CHS_HG00614_4.hash @@ -0,0 +1 @@ +f0e99d7edf2676cfe7ab5b564b5f796fa9324ca70c89b784bb7c2a5c1055e6d5 diff --git a/infrastructure/systems/Shark/bio/hashes/CHS_HG00614_7.hash b/infrastructure/systems/Shark/bio/hashes/CHS_HG00614_7.hash new file mode 100644 index 00000000..2a24d38c --- /dev/null +++ b/infrastructure/systems/Shark/bio/hashes/CHS_HG00614_7.hash @@ -0,0 +1 @@ +79a95f667457e379fb71310cf00fa643608f3d7f6dfb7421f4f28cf76669505d diff --git a/infrastructure/systems/Shark/bio/hashes/CHS_HG00614_X.hash b/infrastructure/systems/Shark/bio/hashes/CHS_HG00614_X.hash new file mode 100644 index 00000000..ab437f79 --- /dev/null +++ b/infrastructure/systems/Shark/bio/hashes/CHS_HG00614_X.hash @@ -0,0 +1 @@ +a90edec10a5c9f1c42dd744359475712ebd9759a12dc43f6a10ed9340cbb21f8 diff --git a/infrastructure/systems/Shark/bio/hashes/CHS_HG00614_Y.hash b/infrastructure/systems/Shark/bio/hashes/CHS_HG00614_Y.hash new file mode 100644 index 00000000..6b2d350d --- /dev/null +++ b/infrastructure/systems/Shark/bio/hashes/CHS_HG00614_Y.hash @@ -0,0 +1 @@ +55090abdc3c9d37f51a22e47460162a1ba2b45078b944e060a3ba4dc28a68a5d diff --git a/infrastructure/systems/Shark/bio/hashes/HG00614_corrected.hash b/infrastructure/systems/Shark/bio/hashes/HG00614_corrected.hash new file mode 100644 index 00000000..75627c56 --- /dev/null +++ b/infrastructure/systems/Shark/bio/hashes/HG00614_corrected.hash @@ -0,0 +1 @@ +b231993a86d988bc2f24e342e6ac32c58651e9cc121d5c6961ec24c3a12a3624 diff --git a/infrastructure/systems/Shark/bio/hashes/HG01942_corrected.hash b/infrastructure/systems/Shark/bio/hashes/HG01942_corrected.hash new file mode 100644 index 00000000..c3068040 --- /dev/null +++ b/infrastructure/systems/Shark/bio/hashes/HG01942_corrected.hash @@ -0,0 +1 @@ +e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 diff --git a/infrastructure/systems/Shark/bio/hashes/PEL_HG01942_1.hash b/infrastructure/systems/Shark/bio/hashes/PEL_HG01942_1.hash new file mode 100644 index 00000000..b7a79cec --- /dev/null +++ b/infrastructure/systems/Shark/bio/hashes/PEL_HG01942_1.hash @@ -0,0 +1 @@ +fec413b3018fec127ff33d93219582195fd5286c9e6f01f1d58f365a62fbaecf diff --git a/infrastructure/systems/Shark/bio/hashes/PEL_HG01942_10.hash b/infrastructure/systems/Shark/bio/hashes/PEL_HG01942_10.hash new file mode 100644 index 00000000..b7a79cec --- /dev/null +++ b/infrastructure/systems/Shark/bio/hashes/PEL_HG01942_10.hash @@ -0,0 +1 @@ +fec413b3018fec127ff33d93219582195fd5286c9e6f01f1d58f365a62fbaecf diff --git a/infrastructure/systems/Shark/bio/hashes/PEL_HG01942_11.hash b/infrastructure/systems/Shark/bio/hashes/PEL_HG01942_11.hash new file mode 100644 index 00000000..b7a79cec --- /dev/null +++ b/infrastructure/systems/Shark/bio/hashes/PEL_HG01942_11.hash @@ -0,0 +1 @@ +fec413b3018fec127ff33d93219582195fd5286c9e6f01f1d58f365a62fbaecf diff --git a/infrastructure/systems/Shark/bio/hashes/PEL_HG01942_17.hash b/infrastructure/systems/Shark/bio/hashes/PEL_HG01942_17.hash new file mode 100644 index 00000000..b7a79cec --- /dev/null +++ b/infrastructure/systems/Shark/bio/hashes/PEL_HG01942_17.hash @@ -0,0 +1 @@ +fec413b3018fec127ff33d93219582195fd5286c9e6f01f1d58f365a62fbaecf diff --git a/infrastructure/systems/Shark/bio/hashes/PEL_HG01942_19.hash b/infrastructure/systems/Shark/bio/hashes/PEL_HG01942_19.hash new file mode 100644 index 00000000..b7a79cec --- /dev/null +++ b/infrastructure/systems/Shark/bio/hashes/PEL_HG01942_19.hash @@ -0,0 +1 @@ +fec413b3018fec127ff33d93219582195fd5286c9e6f01f1d58f365a62fbaecf diff --git a/infrastructure/systems/Shark/bio/hashes/PEL_HG01942_2.hash b/infrastructure/systems/Shark/bio/hashes/PEL_HG01942_2.hash new file mode 100644 index 00000000..b7a79cec --- /dev/null +++ b/infrastructure/systems/Shark/bio/hashes/PEL_HG01942_2.hash @@ -0,0 +1 @@ +fec413b3018fec127ff33d93219582195fd5286c9e6f01f1d58f365a62fbaecf diff --git a/infrastructure/systems/Shark/bio/hashes/PEL_HG01942_4.hash b/infrastructure/systems/Shark/bio/hashes/PEL_HG01942_4.hash new file mode 100644 index 00000000..b7a79cec --- /dev/null +++ b/infrastructure/systems/Shark/bio/hashes/PEL_HG01942_4.hash @@ -0,0 +1 @@ +fec413b3018fec127ff33d93219582195fd5286c9e6f01f1d58f365a62fbaecf diff --git a/infrastructure/systems/Shark/bio/hashes/PEL_HG01942_7.hash b/infrastructure/systems/Shark/bio/hashes/PEL_HG01942_7.hash new file mode 100644 index 00000000..b7a79cec --- /dev/null +++ b/infrastructure/systems/Shark/bio/hashes/PEL_HG01942_7.hash @@ -0,0 +1 @@ +fec413b3018fec127ff33d93219582195fd5286c9e6f01f1d58f365a62fbaecf diff --git a/infrastructure/systems/Shark/bio/hashes/PEL_HG01942_X.hash b/infrastructure/systems/Shark/bio/hashes/PEL_HG01942_X.hash new file mode 100644 index 00000000..b7a79cec --- /dev/null +++ b/infrastructure/systems/Shark/bio/hashes/PEL_HG01942_X.hash @@ -0,0 +1 @@ +fec413b3018fec127ff33d93219582195fd5286c9e6f01f1d58f365a62fbaecf diff --git a/infrastructure/systems/Shark/bio/hashes/PEL_HG01942_Y.hash b/infrastructure/systems/Shark/bio/hashes/PEL_HG01942_Y.hash new file mode 100644 index 00000000..b7a79cec --- /dev/null +++ b/infrastructure/systems/Shark/bio/hashes/PEL_HG01942_Y.hash @@ -0,0 +1 @@ +fec413b3018fec127ff33d93219582195fd5286c9e6f01f1d58f365a62fbaecf diff --git a/infrastructure/systems/Shark/bio/input.sh b/infrastructure/systems/Shark/bio/input.sh new file mode 100755 index 00000000..ea5ab8b9 --- /dev/null +++ b/infrastructure/systems/Shark/bio/input.sh @@ -0,0 +1,28 @@ +IN=inputs +IN_NAME=input.txt + +if [[ "$@" == *"--small"* ]]; then + IN_NAME=input_small.txt +fi + +if [[ $1 == "-c" ]]; then + rm -rf *.bam + rm -rf *.sam + rm -rf ../output + exit +fi + +cd "$(realpath $(dirname "$0"))" + +mkdir -p inputs +mkdir -p outputs + +cat ${IN_NAME} | while read s_line; + do + sample=$(echo $s_line |cut -d " " -f 2); + if [[ ! -f "inputs/$sample".bam ]]; then + pop=$(echo $s_line |cut -f 1 -d " "); + link=$(echo $s_line |cut -f 3 -d " "); + wget -O "${IN}/$sample".bam "$link" + fi +done; diff --git a/infrastructure/systems/Shark/bio/input.txt b/infrastructure/systems/Shark/bio/input.txt new file mode 100644 index 00000000..a4be03ee --- /dev/null +++ b/infrastructure/systems/Shark/bio/input.txt @@ -0,0 +1,850 @@ +CHS HG00614 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG00614/cg_data/HG00614_lcl_SRR821831.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.CHS.high_coverage.20130401.bam +YRI NA18522 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA18522/cg_data/NA18522_buffy_SRR822559.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.YRI.high_coverage.20130401.bam +PEL HG01942 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG01942/cg_data/HG01942_blood_SRR801093.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.PEL.high_coverage.20130401.bam +LWK NA19397 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA19397/cg_data/NA19397_lcl_SRR819342.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.LWK.high_coverage.20130401.bam +PJL HG02491 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG02491/cg_data/HG02491_blood_SRR800354.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.PJL.high_coverage.20130401.bam +YRI NA18500 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA18500/cg_data/NA18500_lcl_SRR822964.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.YRI.high_coverage.20130401.bam +CEU NA10864 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA10864/cg_data/NA10864_lcl_SRR800234.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.CEU.high_coverage.20130401.bam +PEL HG01941 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG01941/cg_data/HG01941_blood_SRR800383.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.PEL.high_coverage.20130401.bam +CEU NA10852 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA10852/cg_data/NA10852_lcl_SRR800244.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.CEU.high_coverage.20130401.bam +CHS HG00530 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG00530/cg_data/HG00530_lcl_SRR820048.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.CHS.high_coverage.20130401.bam +YRI NA19172 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA19172/cg_data/NA19172_buffy_SRR822558.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.YRI.high_coverage.20130401.bam +CEU NA12842 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA12842/cg_data/NA12842_lcl_SRR826484.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.CEU.high_coverage.20130401.bam +YRI NA19236 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA19236/cg_data/NA19236_buffy_SRR822868.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.YRI.high_coverage.20130401.bam +LWK NA19428 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA19428/cg_data/NA19428_buffy_SRR819426.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.LWK.high_coverage.20130401.bam +YRI NA19172 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA19172/cg_data/NA19172_buffy_SRR822558.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.YRI.high_coverage.20130401.bam +YRI NA19160 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA19160/cg_data/NA19160_buffy_SRR822867.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.YRI.high_coverage.20130401.bam +YRI NA19189 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA19189/cg_data/NA19189_buffy_SRR822866.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.YRI.high_coverage.20130401.bam +CHS HG00619 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG00619/cg_data/HG00619_lcl_SRR825200.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.CHS.high_coverage.20130401.bam +PEL HG01921 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG01921/cg_data/HG01921_blood_SRR801069.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.PEL.high_coverage.20130401.bam +CHS HG00559 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG00559/cg_data/HG00559_lcl_SRR820426.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.CHS.high_coverage.20130401.bam +CHS HG00421 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG00421/cg_data/HG00421_lcl_SRR826543.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.CHS.high_coverage.20130401.bam +CEU NA12843 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA12843/cg_data/NA12843_lcl_SRR826480.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.CEU.high_coverage.20130401.bam +CHS HG00593 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG00593/cg_data/HG00593_lcl_SRR826846.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.CHS.high_coverage.20130401.bam +CHS HG00685 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG00685/cg_data/HG00685_lcl_SRR826850.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.CHS.high_coverage.20130401.bam +YRI NA18924 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA18924/cg_data/NA18924_buffy_SRR826474.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.YRI.high_coverage.20130401.bam +CEU NA12828 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA12828/cg_data/NA12828_lcl_SRR826486.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.CEU.high_coverage.20130401.bam +CHS HG00423 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG00423/cg_data/HG00423_lcl_SRR826682.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.CHS.high_coverage.20130401.bam +LWK NA19398 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA19398/cg_data/NA19398_buffy_SRR819558.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.LWK.high_coverage.20130401.bam +CEU NA12329 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA12329/cg_data/NA12329_lcl_SRR825197.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.CEU.high_coverage.20130401.bam +PEL HG01934 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG01934/cg_data/HG01934_blood_SRR800332.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.PEL.high_coverage.20130401.bam +CEU NA12762 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA12762/cg_data/NA12762_lcl_SRR800185.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.CEU.high_coverage.20130401.bam +CEU NA12003 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA12003/cg_data/NA12003_lcl_SRR801811.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.CEU.high_coverage.20130401.bam +PEL HG01920 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG01920/cg_data/HG01920_blood_SRR800327.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.PEL.high_coverage.20130401.bam +CEU NA10840 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA10840/cg_data/NA10840_lcl_SRR800217.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.CEU.high_coverage.20130401.bam +CEU NA12340 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA12340/cg_data/NA12340_lcl_SRR800113.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.CEU.high_coverage.20130401.bam +PEL HG01972 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG01972/cg_data/HG01972_blood_SRR801081.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.PEL.high_coverage.20130401.bam +CEU NA10843 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA10843/cg_data/NA10843_lcl_SRR800211.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.CEU.high_coverage.20130401.bam +PEL HG01972 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG01972/cg_data/HG01972_blood_SRR801081.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.PEL.high_coverage.20130401.bam +CEU NA11829 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA11829/cg_data/NA11829_lcl_SRR801804.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.CEU.high_coverage.20130401.bam +CEU NA12760 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA12760/cg_data/NA12760_lcl_SRR800003.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.CEU.high_coverage.20130401.bam +CEU NA10843 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA10843/cg_data/NA10843_lcl_SRR800211.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.CEU.high_coverage.20130401.bam +CEU NA12045 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA12045/cg_data/NA12045_lcl_SRR801817.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.CEU.high_coverage.20130401.bam +CEU NA12004 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA12004/cg_data/NA12004_lcl_SRR801816.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.CEU.high_coverage.20130401.bam +CEU NA12156 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA12156/cg_data/NA12156_lcl_SRR801819.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.CEU.high_coverage.20130401.bam +CEU NA12400 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA12400/cg_data/NA12400_lcl_SRR800068.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.CEU.high_coverage.20130401.bam +PEL HG01893 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG01893/cg_data/HG01893_blood_SRR800300.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.PEL.high_coverage.20130401.bam +PEL HG01925 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG01925/cg_data/HG01925_blood_SRR800328.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.PEL.high_coverage.20130401.bam +CEU NA12344 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA12344/cg_data/NA12344_lcl_SRR800223.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.CEU.high_coverage.20130401.bam +CEU NA12872 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA12872/cg_data/NA12872_lcl_SRR800101.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.CEU.high_coverage.20130401.bam +CEU NA07346 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA07346/cg_data/NA07346_lcl_SRR799980.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.CEU.high_coverage.20130401.bam +PEL HG01898 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG01898/cg_data/HG01898_blood_SRR801072.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.PEL.high_coverage.20130401.bam +CEU NA12287 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA12287/cg_data/NA12287_lcl_SRR800125.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.CEU.high_coverage.20130401.bam +CEU NA12156 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA12156/cg_data/NA12156_lcl_SRR801819.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.CEU.high_coverage.20130401.bam +CEU NA10845 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA10845/cg_data/NA10845_lcl_SRR800219.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.CEU.high_coverage.20130401.bam +CEU NA06994 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA06994/cg_data/NA06994_lcl_SRR801820.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.CEU.high_coverage.20130401.bam +CEU NA12414 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA12414/cg_data/NA12414_lcl_SRR799984.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.CEU.high_coverage.20130401.bam +CEU NA12046 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA12046/cg_data/NA12046_lcl_SRR800206.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.CEU.high_coverage.20130401.bam +PEL HG01917 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG01917/cg_data/HG01917_blood_SRR800318.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.PEL.high_coverage.20130401.bam +PEL HG01951 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG01951/cg_data/HG01951_blood_SRR801095.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.PEL.high_coverage.20130401.bam +PEL HG01938 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG01938/cg_data/HG01938_blood_SRR800336.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.PEL.high_coverage.20130401.bam +PEL HG01577 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG01577/cg_data/HG01577_blood_SRR800346.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.PEL.high_coverage.20130401.bam +PEL HG01946 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG01946/cg_data/HG01946_blood_SRR800358.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.PEL.high_coverage.20130401.bam +PEL HG01933 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG01933/cg_data/HG01933_blood_SRR800323.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.PEL.high_coverage.20130401.bam +CHS HG00663 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG00663/cg_data/HG00663_lcl_SRR821580.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.CHS.high_coverage.20130401.bam +PEL HG01975 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG01975/cg_data/HG01975_blood_SRR800345.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.PEL.high_coverage.20130401.bam +PEL HG01943 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG01943/cg_data/HG01943_blood_SRR800337.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.PEL.high_coverage.20130401.bam +PEL HG01892 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG01892/cg_data/HG01892_blood_SRR800344.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.PEL.high_coverage.20130401.bam +CHS HG00403 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG00403/cg_data/HG00403_lcl_SRR819866.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.CHS.high_coverage.20130401.bam +PEL HG01951 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG01951/cg_data/HG01951_blood_SRR801095.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.PEL.high_coverage.20130401.bam +CHS HG00590 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG00590/cg_data/HG00590_lcl_SRR821601.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.CHS.high_coverage.20130401.bam +PEL HG01571 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG01571/cg_data/HG01571_blood_SRR800361.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.PEL.high_coverage.20130401.bam +PEL HG01950 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG01950/cg_data/HG01950_blood_SRR800335.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.PEL.high_coverage.20130401.bam +PEL HG01975 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG01975/cg_data/HG01975_blood_SRR800345.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.PEL.high_coverage.20130401.bam +PEL HG01938 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG01938/cg_data/HG01938_blood_SRR800336.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.PEL.high_coverage.20130401.bam +PEL HG01926 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG01926/cg_data/HG01926_blood_SRR800333.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.PEL.high_coverage.20130401.bam +CEU NA11831 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA11831/cg_data/NA11831_lcl_SRR799953.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.CEU.high_coverage.20130401.bam +CEU NA12740 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA12740/cg_data/NA12740_lcl_SRR800279.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.CEU.high_coverage.20130401.bam +CEU NA10852 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA10852/cg_data/NA10852_lcl_SRR800244.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.CEU.high_coverage.20130401.bam +PJL HG02790 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG02790/cg_data/HG02790_blood_SRR833683.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.PJL.high_coverage.20130401.bam +PEL HG02261 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG02261/cg_data/HG02261_blood_SRR823429.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.PEL.high_coverage.20130401.bam +PEL HG02287 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG02287/cg_data/HG02287_blood_SRR833573.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.PEL.high_coverage.20130401.bam +PEL HG01991 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG01991/cg_data/HG01991_blood_SRR823305.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.PEL.high_coverage.20130401.bam +YRI NA19258 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA19258/cg_data/NA19258_buffy_SRR833576.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.YRI.high_coverage.20130401.bam +YRI NA19100 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA19100/cg_data/NA19100_buffy_SRR832894.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.YRI.high_coverage.20130401.bam +PJL HG02787 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG02787/cg_data/HG02787_blood_SRR833632.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.PJL.high_coverage.20130401.bam +YRI NA18506 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA18506/cg_data/NA18506_buffy_SRR832900.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.YRI.high_coverage.20130401.bam +PJL HG02601 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG02601/cg_data/HG02601_blood_SRR833572.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.PJL.high_coverage.20130401.bam +PEL HG02260 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG02260/cg_data/HG02260_blood_SRR824821.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.PEL.high_coverage.20130401.bam +PEL HG02146 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG02146/cg_data/HG02146_blood_SRR823422.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.PEL.high_coverage.20130401.bam +YRI NA19109 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA19109/cg_data/NA19109_buffy_SRR832897.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.YRI.high_coverage.20130401.bam +YRI NA18508 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA18508/cg_data/NA18508_buffy_SRR832871.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.YRI.high_coverage.20130401.bam +YRI NA19144 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA19144/cg_data/NA19144_buffy_SRR832875.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.YRI.high_coverage.20130401.bam +YRI NA18911 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA18911/cg_data/NA18911_buffy_SRR832896.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.YRI.high_coverage.20130401.bam +CHS HG00543 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG00543/cg_data/HG00543_lcl_SRR826690.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.CHS.high_coverage.20130401.bam +PEL HG02301 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG02301/cg_data/HG02301_blood_SRR833581.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.PEL.high_coverage.20130401.bam +YRI NA19147 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA19147/cg_data/NA19147_buffy_SRR832883.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.YRI.high_coverage.20130401.bam +PEL HG01993 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG01993/cg_data/HG01993_blood_SRR822978.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.PEL.high_coverage.20130401.bam +YRI NA19238 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA19238/cg_data/NA19238_lcl_SRR832870.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.YRI.high_coverage.20130401.bam +YRI NA19114 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA19114/cg_data/NA19114_buffy_SRR832873.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.YRI.high_coverage.20130401.bam +PJL HG02685 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG02685/cg_data/HG02685_blood_SRR833608.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.PJL.high_coverage.20130401.bam +PEL HG01992 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG01992/cg_data/HG01992_blood_SRR822982.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.PEL.high_coverage.20130401.bam +PJL HG03237 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG03237/cg_data/HG03237_blood_SRR833699.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.PJL.high_coverage.20130401.bam +PEL HG02004 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG02004/cg_data/HG02004_blood_SRR823413.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.PEL.high_coverage.20130401.bam +YRI NA19153 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA19153/cg_data/NA19153_buffy_SRR832876.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.YRI.high_coverage.20130401.bam +PEL HG02273 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG02273/cg_data/HG02273_blood_SRR833578.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.PEL.high_coverage.20130401.bam +PEL HG02277 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG02277/cg_data/HG02277_blood_SRR823411.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.PEL.high_coverage.20130401.bam +YRI NA19240 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA19240/cg_data/NA19240_lcl_SRR832874.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.YRI.high_coverage.20130401.bam +PJL HG02783 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG02783/cg_data/HG02783_blood_SRR833628.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.PJL.high_coverage.20130401.bam +CHS HG00557 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG00557/cg_data/HG00557_lcl_SRR826692.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.CHS.high_coverage.20130401.bam +PJL HG02605 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG02605/cg_data/HG02605_blood_SRR833596.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.PJL.high_coverage.20130401.bam +YRI NA19161 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA19161/cg_data/NA19161_buffy_SRR832937.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.YRI.high_coverage.20130401.bam +PEL HG02259 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG02259/cg_data/HG02259_blood_SRR823408.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.PEL.high_coverage.20130401.bam +PJL HG02698 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG02698/cg_data/HG02698_blood_SRR833610.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.PJL.high_coverage.20130401.bam +PEL HG02148 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG02148/cg_data/HG02148_blood_SRR823412.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.PEL.high_coverage.20130401.bam +PJL HG02786 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG02786/cg_data/HG02786_blood_SRR833630.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.PJL.high_coverage.20130401.bam +PJL HG02685 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG02685/cg_data/HG02685_blood_SRR833608.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.PJL.high_coverage.20130401.bam +PJL HG02786 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG02786/cg_data/HG02786_blood_SRR833630.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.PJL.high_coverage.20130401.bam +YRI NA18501 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA18501/cg_data/NA18501_lcl_SRR822962.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.YRI.high_coverage.20130401.bam +PJL HG02784 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG02784/cg_data/HG02784_blood_SRR833685.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.PJL.high_coverage.20130401.bam +PEL HG02260 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG02260/cg_data/HG02260_blood_SRR824821.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.PEL.high_coverage.20130401.bam +CHS HG00652 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG00652/cg_data/HG00652_lcl_SRR826853.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.CHS.high_coverage.20130501.bam +YRI NA18502 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA18502/cg_data/NA18502_lcl_SRR822970.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.YRI.high_coverage.20130501.bam +PJL HG02696 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG02696/cg_data/HG02696_blood_SRR833603.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.PJL.high_coverage.20130401.bam +PJL HG02724 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG02724/cg_data/HG02724_blood_SRR833612.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.PJL.high_coverage.20130501.bam +CEU NA12716 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA12716/cg_data/NA12716_lcl_SRR825198.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.CEU.high_coverage.20130401.bam +PJL HG02789 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG02789/cg_data/HG02789_blood_SRR833684.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.PJL.high_coverage.20130401.bam +PEL HG01980 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG01980/cg_data/HG01980_blood_SRR825196.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.PEL.high_coverage.20130401.bam +CHS HG00693 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG00693/cg_data/HG00693_lcl_SRR822972.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.CHS.high_coverage.20130401.bam +YRI NA19247 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA19247/cg_data/NA19247_buffy_SRR825205.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.YRI.high_coverage.20130401.bam +CHS HG00476 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG00476/cg_data/HG00476_lcl_SRR826677.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.CHS.high_coverage.20130401.bam +CHS HG00626 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG00626/cg_data/HG00626_lcl_SRR822960.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.CHS.high_coverage.20130401.bam +CEU NA12329 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA12329/cg_data/NA12329_lcl_SRR825197.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.CEU.high_coverage.20130401.bam +YRI NA18924 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA18924/cg_data/NA18924_buffy_SRR826474.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.YRI.high_coverage.20130401.bam +CHS HG00531 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG00531/cg_data/HG00531_lcl_SRR820131.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.CHS.high_coverage.20130401.bam +CHS HG00608 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG00608/cg_data/HG00608_lcl_SRR822933.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.CHS.high_coverage.20130401.bam +CHS HG00561 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG00561/cg_data/HG00561_lcl_SRR826839.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.CHS.high_coverage.20130401.bam +CHS HG00608 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG00608/cg_data/HG00608_lcl_SRR822933.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.CHS.high_coverage.20130401.bam +CEU NA12830 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA12830/cg_data/NA12830_lcl_SRR826485.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.CEU.high_coverage.20130401.bam +CHS HG00664 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG00664/cg_data/HG00664_lcl_SRR826838.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.CHS.high_coverage.20130401.bam +CHS HG00533 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG00533/cg_data/HG00533_lcl_SRR820512.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.CHS.high_coverage.20130401.bam +CEU NA12273 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA12273/cg_data/NA12273_lcl_SRR800091.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.CEU.high_coverage.20130401.bam +KHV HG02025 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG02025/cg_data/HG02025_blood_SRR821832.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.KHV.high_coverage.20130401.bam +CHS HG00627 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG00627/cg_data/HG00627_lcl_SRR826848.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.CHS.high_coverage.20130401.bam +CHS HG00594 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG00594/cg_data/HG00594_lcl_SRR826836.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.CHS.high_coverage.20130401.bam +CHS HG00630 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG00630/cg_data/HG00630_lcl_SRR826843.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.CHS.high_coverage.20130401.bam +CEU NA12827 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA12827/cg_data/NA12827_lcl_SRR826776.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.CEU.high_coverage.20130401.bam +PJL HG03238 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG03238/cg_data/HG03238_blood_SRR833700.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.PJL.high_coverage.20130401.bam +YRI NA19258 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA19258/cg_data/NA19258_buffy_SRR833576.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.YRI.high_coverage.20130401.bam +YRI NA19117 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA19117/cg_data/NA19117_buffy_SRR832887.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.YRI.high_coverage.20130401.bam +YRI NA19139 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA19139/cg_data/NA19139_lcl_SRR832939.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.YRI.high_coverage.20130401.bam +PEL HG01979 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG01979/cg_data/HG01979_blood_SRR822976.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.PEL.high_coverage.20130401.bam +PEL HG02106 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG02106/cg_data/HG02106_blood_SRR824822.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.PEL.high_coverage.20130401.bam +YRI NA19098 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA19098/cg_data/NA19098_buffy_SRR832867.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.YRI.high_coverage.20130401.bam +PJL HG02656 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG02656/cg_data/HG02656_blood_SRR833595.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.PJL.high_coverage.20130401.bam +PEL HG01976 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG01976/cg_data/HG01976_blood_SRR822981.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.PEL.high_coverage.20130401.bam +CEU NA07000 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA07000/cg_data/NA07000_lcl_SRR801821.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.CEU.high_coverage.20130501.bam +PUR HG00733 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG00733/cg_data/HG00733_lcl_SRR821816.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.PUR.high_coverage.20130401.bam +CHS HG00477 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG00477/cg_data/HG00477_lcl_SRR826683.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.CHS.high_coverage.20130401.bam +CHS HG00628 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG00628/cg_data/HG00628_lcl_SRR822968.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.CHS.high_coverage.20130401.bam +YRI NA19191 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA19191/cg_data/NA19191_buffy_SRR833574.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.YRI.high_coverage.20130401.bam +PJL HG02787 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG02787/cg_data/HG02787_blood_SRR833632.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.PJL.high_coverage.20130401.bam +YRI NA19153 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA19153/cg_data/NA19153_buffy_SRR832876.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.YRI.high_coverage.20130401.bam +YRI NA19173 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA19173/cg_data/NA19173_buffy_SRR832914.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.YRI.high_coverage.20130401.bam +PUR HG00731 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG00731/cg_data/HG00731_blood_SRR833540.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.PUR.high_coverage.20130401.bam +PEL HG02302 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG02302/cg_data/HG02302_blood_SRR833580.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.PEL.high_coverage.20130401.bam +PEL HG01997 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG01997/cg_data/HG01997_blood_SRR823304.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.PEL.high_coverage.20130401.bam +YRI NA19118 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA19118/cg_data/NA19118_buffy_SRR832898.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.YRI.high_coverage.20130401.bam +YRI NA19107 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA19107/cg_data/NA19107_buffy_SRR832881.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.YRI.high_coverage.20130401.bam +PJL HG02697 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG02697/cg_data/HG02697_blood_SRR833613.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.PJL.high_coverage.20130401.bam +YRI NA19202 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA19202/cg_data/NA19202_lcl_SRR833583.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.YRI.high_coverage.20130401.bam +YRI NA18521 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA18521/cg_data/NA18521_buffy_SRR832890.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.YRI.high_coverage.20130401.bam +YRI NA19256 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA19256/cg_data/NA19256_buffy_SRR832899.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.YRI.high_coverage.20130401.bam +PEL HG02303 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG02303/cg_data/HG02303_blood_SRR833570.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.PEL.high_coverage.20130401.bam +YRI NA19159 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA19159/cg_data/NA19159_buffy_SRR832869.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.YRI.high_coverage.20130401.bam +PEL HG02301 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG02301/cg_data/HG02301_blood_SRR833581.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.PEL.high_coverage.20130401.bam +PEL HG02286 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG02286/cg_data/HG02286_blood_SRR833569.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.PEL.high_coverage.20130401.bam +YRI NA19174 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA19174/cg_data/NA19174_buffy_SRR832913.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.YRI.high_coverage.20130401.bam +PJL HG02602 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG02602/cg_data/HG02602_blood_SRR833587.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.PJL.high_coverage.20130401.bam +CHS HG00651 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG00651/cg_data/HG00651_lcl_SRR825201.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.CHS.high_coverage.20130401.bam +PUR HG00733 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG00733/cg_data/HG00733_blood_SRR833538.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.PUR.high_coverage.20130401.bam +PEL HG02104 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG02104/cg_data/HG02104_blood_SRR823410.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.PEL.high_coverage.20130401.bam +PEL HG02148 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG02148/cg_data/HG02148_blood_SRR823412.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.PEL.high_coverage.20130401.bam +PJL HG02654 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG02654/cg_data/HG02654_blood_SRR833590.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.PJL.high_coverage.20130401.bam +YRI NA18503 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA18503/cg_data/NA18503_lcl_SRR832909.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.YRI.high_coverage.20130401.bam +PEL HG02271 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG02271/cg_data/HG02271_blood_SRR833579.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.PEL.high_coverage.20130401.bam +PEL HG01981 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG01981/cg_data/HG01981_blood_SRR822977.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.PEL.high_coverage.20130401.bam +YRI NA19147 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA19147/cg_data/NA19147_buffy_SRR832883.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.YRI.high_coverage.20130401.bam +PEL HG02287 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG02287/cg_data/HG02287_blood_SRR833573.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.PEL.high_coverage.20130401.bam +KHV HG02024 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG02024/cg_data/HG02024_blood_SRR833537.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.KHV.high_coverage.20130401.bam +CEU NA12864 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA12864/cg_data/NA12864_lcl_SRR800317.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.CEU.high_coverage.20130401.bam +CEU NA12400 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA12400/cg_data/NA12400_lcl_SRR800068.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.CEU.high_coverage.20130401.bam +CEU NA12272 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA12272/cg_data/NA12272_lcl_SRR800079.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.CEU.high_coverage.20130401.bam +CEU NA12775 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA12775/cg_data/NA12775_lcl_SRR800205.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.CEU.high_coverage.20130401.bam +CEU NA07346 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA07346/cg_data/NA07346_lcl_SRR799980.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.CEU.high_coverage.20130401.bam +CEU NA12376 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA12376/cg_data/NA12376_lcl_SRR800239.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.CEU.high_coverage.20130401.bam +CEU NA12751 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA12751/cg_data/NA12751_lcl_SRR800019.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.CEU.high_coverage.20130401.bam +PEL HG01578 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG01578/cg_data/HG01578_blood_SRR800299.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.PEL.high_coverage.20130401.bam +PEL HG01920 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG01920/cg_data/HG01920_blood_SRR800327.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.PEL.high_coverage.20130401.bam +CEU NA12760 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA12760/cg_data/NA12760_lcl_SRR800003.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.CEU.high_coverage.20130401.bam +CEU NA12750 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA12750/cg_data/NA12750_lcl_SRR800004.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.CEU.high_coverage.20130401.bam +CEU NA12872 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA12872/cg_data/NA12872_lcl_SRR800101.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.CEU.high_coverage.20130401.bam +CEU NA12775 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA12775/cg_data/NA12775_lcl_SRR800205.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.CEU.high_coverage.20130401.bam +CEU NA11832 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA11832/cg_data/NA11832_lcl_SRR799952.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.CEU.high_coverage.20130401.bam +CEU NA06989 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA06989/cg_data/NA06989_lcl_SRR820105.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.CEU.high_coverage.20130401.bam +CEU NA12801 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA12801/cg_data/NA12801_lcl_SRR800343.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.CEU.high_coverage.20130401.bam +PEL HG01892 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG01892/cg_data/HG01892_blood_SRR800344.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.PEL.high_coverage.20130401.bam +CEU NA12814 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA12814/cg_data/NA12814_lcl_SRR800090.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.CEU.high_coverage.20130401.bam +PEL HG01918 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG01918/cg_data/HG01918_blood_SRR800359.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.PEL.high_coverage.20130401.bam +LWK NA19440 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA19440/cg_data/NA19440_lcl_SRR819287.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.LWK.high_coverage.20130401.bam +PEL HG01567 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG01567/cg_data/HG01567_blood_SRR800350.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.PEL.high_coverage.20130401.bam +PEL HG01935 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG01935/cg_data/HG01935_blood_SRR800316.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.PEL.high_coverage.20130401.bam +PEL HG01939 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG01939/cg_data/HG01939_blood_SRR800334.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.PEL.high_coverage.20130401.bam +PEL HG01950 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG01950/cg_data/HG01950_blood_SRR800335.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.PEL.high_coverage.20130401.bam +PUR HG00732 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG00732/cg_data/HG00732_lcl_SRR821817.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.PUR.high_coverage.20130401.bam +CHS HG00436 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG00436/cg_data/HG00436_lcl_SRR819817.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.CHS.high_coverage.20130401.bam +CHS HG00629 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG00629/cg_data/HG00629_lcl_SRR822971.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.CHS.high_coverage.20130401.bam +LWK NA19398 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA19398/cg_data/NA19398_buffy_SRR819558.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.LWK.high_coverage.20130401.bam +CHS HG00558 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG00558/cg_data/HG00558_lcl_SRR826815.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.CHS.high_coverage.20130401.bam +CHS HG00473 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG00473/cg_data/HG00473_lcl_SRR826545.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.CHS.high_coverage.20130401.bam +CEU NA07347 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA07347/cg_data/NA07347_lcl_SRR826475.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.CEU.high_coverage.20130401.bam +CHS HG00625 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG00625/cg_data/HG00625_lcl_SRR822965.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.CHS.high_coverage.20130401.bam +CEU NA12829 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA12829/cg_data/NA12829_lcl_SRR826479.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.CEU.high_coverage.20130401.bam +YRI NA18497 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA18497/cg_data/NA18497_lcl_SRR822949.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.YRI.high_coverage.20130401.bam +CHS HG00629 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG00629/cg_data/HG00629_lcl_SRR822971.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.CHS.high_coverage.20130401.bam +CHS HG00475 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG00475/cg_data/HG00475_lcl_SRR826516.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.CHS.high_coverage.20130401.bam +CHS HG00611 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG00611/cg_data/HG00611_lcl_SRR822961.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.CHS.high_coverage.20130401.bam +CEU NA06984 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA06984/cg_data/NA06984_lcl_SRR819317.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.CEU.high_coverage.20130401.bam +CHS HG00611 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG00611/cg_data/HG00611_lcl_SRR822961.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.CHS.high_coverage.20130401.bam +CHS HG00620 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG00620/cg_data/HG00620_lcl_SRR822967.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.CHS.high_coverage.20130401.bam +KHV HG02024 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG02024/cg_data/HG02024_lcl_SRR821714.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.KHV.high_coverage.20130401.bam +CEU NA12341 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA12341/cg_data/NA12341_lcl_SRR800175.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.CEU.high_coverage.20130401.bam +CHS HG00474 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG00474/cg_data/HG00474_lcl_SRR831713.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.CHS.high_coverage.20130401.bam +KHV HG02025 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG02025/cg_data/HG02025_blood_SRR821832.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.KHV.high_coverage.20130401.bam +CHS HG00474 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG00474/cg_data/HG00474_lcl_SRR831713.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.CHS.high_coverage.20130401.bam +YRI NA19256 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA19256/cg_data/NA19256_buffy_SRR832899.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.YRI.high_coverage.20130401.bam +PJL HG02604 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG02604/cg_data/HG02604_blood_SRR833594.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.PJL.high_coverage.20130401.bam +PJL HG02684 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG02684/cg_data/HG02684_blood_SRR833609.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.PJL.high_coverage.20130401.bam +YRI NA18506 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA18506/cg_data/NA18506_buffy_SRR832900.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.YRI.high_coverage.20130401.bam +YRI NA19154 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA19154/cg_data/NA19154_buffy_SRR832938.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.YRI.high_coverage.20130401.bam +YRI NA19202 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA19202/cg_data/NA19202_lcl_SRR833583.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.YRI.high_coverage.20130401.bam +PEL HG01936 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG01936/cg_data/HG01936_blood_SRR800360.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.PEL.high_coverage.20130401.bam +LWK NA19434 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA19434/cg_data/NA19434_buffy_SRR819123.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.LWK.high_coverage.20130401.bam +CEU NA10831 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA10831/cg_data/NA10831_lcl_SRR800245.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.CEU.high_coverage.20130401.bam +YRI NA18498 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA18498/cg_data/NA18498_lcl_SRR822966.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.YRI.high_coverage.20130401.bam +YRI NA19189 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA19189/cg_data/NA19189_buffy_SRR822866.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.YRI.high_coverage.20130401.bam +PEL HG02292 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG02292/cg_data/HG02292_blood_SRR800648.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.PEL.high_coverage.20130401.bam +CEU NA10831 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA10831/cg_data/NA10831_lcl_SRR800245.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.CEU.high_coverage.20130401.bam +CHS HG00614 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG00614/cg_data/HG00614_lcl_SRR821831.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.CHS.high_coverage.20130401.bam +PJL HG02492 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG02492/cg_data/HG02492_blood_SRR801077.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.PJL.high_coverage.20130401.bam +YRI NA18933 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA18933/cg_data/NA18933_buffy_SRR825202.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.YRI.high_coverage.20130401.bam +CEU NA07349 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA07349/cg_data/NA07349_lcl_SRR824827.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.CEU.high_coverage.20130401.bam +YRI NA18917 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA18917/cg_data/NA18917_buffy_SRR822864.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.YRI.high_coverage.20130401.bam +CHS HG00530 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG00530/cg_data/HG00530_lcl_SRR820048.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.CHS.high_coverage.20130401.bam +CHS HG00537 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG00537/cg_data/HG00537_lcl_SRR820233.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.CHS.high_coverage.20130401.bam +PEL HG02293 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG02293/cg_data/HG02293_blood_SRR800351.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.PEL.high_coverage.20130401.bam +CHS HG00537 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG00537/cg_data/HG00537_lcl_SRR820233.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.CHS.high_coverage.20130401.bam +CHS HG00690 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG00690/cg_data/HG00690_lcl_SRR822311.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.CHS.high_coverage.20130401.bam +YRI NA18498 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA18498/cg_data/NA18498_lcl_SRR822966.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.YRI.high_coverage.20130401.bam +CHS HG00626 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG00626/cg_data/HG00626_lcl_SRR822960.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.CHS.high_coverage.20130401.bam +CHS HG00558 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG00558/cg_data/HG00558_lcl_SRR826815.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.CHS.high_coverage.20130401.bam +CEU NA11920 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA11920/cg_data/NA11920_lcl_SRR801810.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.CEU.high_coverage.20130401.bam +CEU NA12485 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA12485/cg_data/NA12485_lcl_SRR800230.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.CEU.high_coverage.20130401.bam +CEU NA11893 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA11893/cg_data/NA11893_lcl_SRR800097.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.CEU.high_coverage.20130401.bam +CEU NA11930 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA11930/cg_data/NA11930_lcl_SRR800076.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.CEU.high_coverage.20130401.bam +CEU NA12717 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA12717/cg_data/NA12717_lcl_SRR800018.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.CEU.high_coverage.20130401.bam +CEU NA12817 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA12817/cg_data/NA12817_lcl_SRR800331.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.CEU.high_coverage.20130401.bam +CEU NA12751 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA12751/cg_data/NA12751_lcl_SRR800019.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.CEU.high_coverage.20130401.bam +CEU NA11830 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA11830/cg_data/NA11830_lcl_SRR799978.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.CEU.high_coverage.20130401.bam +CEU NA12776 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA12776/cg_data/NA12776_lcl_SRR800086.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.CEU.high_coverage.20130401.bam +CEU NA11893 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA11893/cg_data/NA11893_lcl_SRR800097.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.CEU.high_coverage.20130401.bam +CEU NA12815 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA12815/cg_data/NA12815_lcl_SRR800095.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.CEU.high_coverage.20130401.bam +CEU NA12005 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA12005/cg_data/NA12005_lcl_SRR801823.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.CEU.high_coverage.20130401.bam +CEU NA12813 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA12813/cg_data/NA12813_lcl_SRR800085.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.CEU.high_coverage.20130401.bam +CEU NA10838 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA10838/cg_data/NA10838_lcl_SRR800226.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.CEU.high_coverage.20130401.bam +PEL HG01578 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG01578/cg_data/HG01578_blood_SRR800299.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.PEL.high_coverage.20130401.bam +CEU NA12777 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA12777/cg_data/NA12777_lcl_SRR800212.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.CEU.high_coverage.20130401.bam +CEU NA12004 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA12004/cg_data/NA12004_lcl_SRR801816.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.CEU.high_coverage.20130401.bam +CEU NA06994 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA06994/cg_data/NA06994_lcl_SRR801820.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.CEU.high_coverage.20130401.bam +CEU NA12489 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA12489/cg_data/NA12489_lcl_SRR800011.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.CEU.high_coverage.20130401.bam +CEU NA12344 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA12344/cg_data/NA12344_lcl_SRR800223.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.CEU.high_coverage.20130401.bam +CEU NA12750 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA12750/cg_data/NA12750_lcl_SRR800004.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.CEU.high_coverage.20130401.bam +PEL HG02273 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG02273/cg_data/HG02273_blood_SRR833578.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.PEL.high_coverage.20130401.bam +PJL HG02726 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG02726/cg_data/HG02726_blood_SRR833629.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.PJL.high_coverage.20130401.bam +PJL HG02735 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG02735/cg_data/HG02735_blood_SRR833614.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.PJL.high_coverage.20130401.bam +PEL HG01991 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG01991/cg_data/HG01991_blood_SRR823305.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.PEL.high_coverage.20130401.bam +KHV HG02026 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG02026/cg_data/HG02026_lcl_SRR833535.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.KHV.high_coverage.20130401.bam +YRI NA19249 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA19249/cg_data/NA19249_buffy_SRR833565.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.YRI.high_coverage.20130401.bam +CHS HG00650 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG00650/cg_data/HG00650_lcl_SRR822973.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.CHS.high_coverage.20130401.bam +PEL HG02286 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG02286/cg_data/HG02286_blood_SRR833569.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.PEL.high_coverage.20130401.bam +YRI NA19161 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA19161/cg_data/NA19161_buffy_SRR832937.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.YRI.high_coverage.20130401.bam +PJL HG02688 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG02688/cg_data/HG02688_blood_SRR833605.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.PJL.high_coverage.20130401.bam +YRI NA18521 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA18521/cg_data/NA18521_buffy_SRR832890.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.YRI.high_coverage.20130401.bam +CHS HG00612 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG00612/cg_data/HG00612_lcl_SRR826842.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.CHS.high_coverage.20130401.bam +YRI NA18872 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA18872/cg_data/NA18872_lcl_SRR832910.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.YRI.high_coverage.20130401.bam +PEL HG01997 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG01997/cg_data/HG01997_blood_SRR823304.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.PEL.high_coverage.20130401.bam +YRI NA19098 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA19098/cg_data/NA19098_buffy_SRR832867.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.YRI.high_coverage.20130401.bam +YRI NA19221 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA19221/cg_data/NA19221_buffy_SRR833568.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.YRI.high_coverage.20130401.bam +YRI NA19093 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA19093/cg_data/NA19093_buffy_SRR832863.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.YRI.high_coverage.20130401.bam +YRI NA19113 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA19113/cg_data/NA19113_buffy_SRR832888.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.YRI.high_coverage.20130401.bam +YRI NA19148 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA19148/cg_data/NA19148_buffy_SRR832904.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.YRI.high_coverage.20130401.bam +PEL HG02146 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG02146/cg_data/HG02146_blood_SRR823422.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.PEL.high_coverage.20130401.bam +PJL HG02605 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG02605/cg_data/HG02605_blood_SRR833596.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.PJL.high_coverage.20130401.bam +PJL HG02791 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG02791/cg_data/HG02791_blood_SRR833690.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.PJL.high_coverage.20130401.bam +PEL HG02090 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG02090/cg_data/HG02090_blood_SRR823409.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.PEL.high_coverage.20130401.bam +PJL HG03239 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG03239/cg_data/HG03239_blood_SRR833701.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.PJL.high_coverage.20130401.bam +YRI NA19239 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA19239/cg_data/NA19239_lcl_SRR832864.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.YRI.high_coverage.20130401.bam +PJL HG02656 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG02656/cg_data/HG02656_blood_SRR833595.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.PJL.high_coverage.20130401.bam +YRI NA18503 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA18503/cg_data/NA18503_lcl_SRR832909.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.YRI.high_coverage.20130401.bam +PEL HG01998 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG01998/cg_data/HG01998_blood_SRR823421.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.PEL.high_coverage.20130401.bam +PJL HG02784 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG02784/cg_data/HG02784_blood_SRR833685.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.PJL.high_coverage.20130401.bam +PJL HG02658 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG02658/cg_data/HG02658_blood_SRR833606.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.PJL.high_coverage.20130401.bam +LWK NA19399 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA19399/cg_data/NA19399_lcl_SRR820106.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.LWK.high_coverage.20130401.bam +YRI NA18870 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA18870/cg_data/NA18870_lcl_SRR832877.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.YRI.high_coverage.20130401.bam +YRI NA19201 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA19201/cg_data/NA19201_lcl_SRR832879.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.YRI.high_coverage.20130401.bam +CHS HG00694 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG00694/cg_data/HG00694_lcl_SRR826840.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.CHS.high_coverage.20130501.bam +CHS HG00654 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG00654/cg_data/HG00654_lcl_SRR822557.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.CHS.high_coverage.20130401.bam +PEL HG02008 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG02008/cg_data/HG02008_blood_SRR823177.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.PEL.high_coverage.20130401.bam +CHS HG00694 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG00694/cg_data/HG00694_lcl_SRR826840.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.CHS.high_coverage.20130501.bam +PJL HG02733 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG02733/cg_data/HG02733_blood_SRR833611.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.PJL.high_coverage.20130401.bam +PJL HG02660 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG02660/cg_data/HG02660_blood_SRR833602.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.PJL.high_coverage.20130401.bam +CEU NA12348 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA12348/cg_data/NA12348_lcl_SRR822975.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.CEU.high_coverage.20130401.bam +CHS HG00689 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG00689/cg_data/HG00689_lcl_SRR822306.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.CHS.high_coverage.20130501.bam +CHS HG00406 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG00406/cg_data/HG00406_lcl_SRR826680.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.CHS.high_coverage.20130501.bam +CHS HG00422 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG00422/cg_data/HG00422_lcl_SRR826678.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.CHS.high_coverage.20130501.bam +CEU NA06984 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA06984/cg_data/NA06984_lcl_SRR819317.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.CEU.high_coverage.20130401.bam +CHS HG00591 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG00591/cg_data/HG00591_lcl_SRR826844.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.CHS.high_coverage.20130401.bam +CEU NA12828 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA12828/cg_data/NA12828_lcl_SRR826486.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.CEU.high_coverage.20130401.bam +PEL HG01927 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG01927/cg_data/HG01927_blood_SRR800355.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.PEL.high_coverage.20130401.bam +CHS HG00683 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG00683/cg_data/HG00683_lcl_SRR822307.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.CHS.high_coverage.20130401.bam +CHS HG00438 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG00438/cg_data/HG00438_lcl_SRR826675.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.CHS.high_coverage.20130401.bam +CHS HG00421 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG00421/cg_data/HG00421_lcl_SRR826543.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.CHS.high_coverage.20130401.bam +CHS HG00664 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG00664/cg_data/HG00664_lcl_SRR826838.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.CHS.high_coverage.20130401.bam +YRI NA18923 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA18923/cg_data/NA18923_buffy_SRR826476.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.YRI.high_coverage.20130401.bam +CHS HG00404 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG00404/cg_data/HG00404_lcl_SRR819918.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.CHS.high_coverage.20130401.bam +CHS HG00610 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG00610/cg_data/HG00610_lcl_SRR822935.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.CHS.high_coverage.20130401.bam +CHS HG00476 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG00476/cg_data/HG00476_lcl_SRR826677.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.CHS.high_coverage.20130401.bam +CHS HG00438 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG00438/cg_data/HG00438_lcl_SRR826675.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.CHS.high_coverage.20130401.bam +CHS HG00472 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG00472/cg_data/HG00472_lcl_SRR826654.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.CHS.high_coverage.20130401.bam +CHS HG00591 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG00591/cg_data/HG00591_lcl_SRR826844.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.CHS.high_coverage.20130401.bam +PEL HG01977 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG01977/cg_data/HG01977_blood_SRR822979.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.PEL.high_coverage.20130401.bam +CHS HG00683 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG00683/cg_data/HG00683_lcl_SRR822307.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.CHS.high_coverage.20130401.bam +YRI NA19247 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA19247/cg_data/NA19247_buffy_SRR825205.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.YRI.high_coverage.20130401.bam +CEU NA12753 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA12753/cg_data/NA12753_lcl_SRR800329.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.CEU.high_coverage.20130401.bam +CHS HG00408 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG00408/cg_data/HG00408_lcl_SRR826482.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.CHS.high_coverage.20130401.bam +CHS HG00544 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG00544/cg_data/HG00544_lcl_SRR826841.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.CHS.high_coverage.20130401.bam +CEU NA12341 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA12341/cg_data/NA12341_lcl_SRR800175.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.CEU.high_coverage.20130401.bam +KHV HG02024 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG02024/cg_data/HG02024_lcl_SRR821714.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.KHV.high_coverage.20130401.bam +CEU NA12273 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA12273/cg_data/NA12273_lcl_SRR800091.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.CEU.high_coverage.20130401.bam +PEL HG01978 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG01978/cg_data/HG01978_blood_SRR823188.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.PEL.high_coverage.20130401.bam +CEU NA12827 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA12827/cg_data/NA12827_lcl_SRR826776.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.CEU.high_coverage.20130401.bam +PEL HG02105 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG02105/cg_data/HG02105_blood_SRR823424.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.PEL.high_coverage.20130401.bam +PJL HG02728 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG02728/cg_data/HG02728_blood_SRR833621.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.PJL.high_coverage.20130401.bam +YRI NA19222 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA19222/cg_data/NA19222_buffy_SRR832886.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.YRI.high_coverage.20130401.bam +PEL HG01573 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG01573/cg_data/HG01573_blood_SRR800305.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.PEL.high_coverage.20130401.bam +PEL HG01973 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG01973/cg_data/HG01973_blood_SRR800348.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.PEL.high_coverage.20130401.bam +CEU NA12489 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA12489/cg_data/NA12489_lcl_SRR800011.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.CEU.high_coverage.20130401.bam +CEU NA11894 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA11894/cg_data/NA11894_lcl_SRR801822.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.CEU.high_coverage.20130401.bam +CEU NA11829 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA11829/cg_data/NA11829_lcl_SRR801804.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.CEU.high_coverage.20130401.bam +CEU NA12812 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA12812/cg_data/NA12812_lcl_SRR800096.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.CEU.high_coverage.20130401.bam +CEU NA12818 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA12818/cg_data/NA12818_lcl_SRR800363.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.CEU.high_coverage.20130401.bam +PEL HG02291 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG02291/cg_data/HG02291_blood_SRR800349.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.PEL.high_coverage.20130401.bam +CEU NA12046 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA12046/cg_data/NA12046_lcl_SRR800206.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.CEU.high_coverage.20130401.bam +PEL HG01893 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG01893/cg_data/HG01893_blood_SRR800300.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.PEL.high_coverage.20130401.bam +CEU NA12413 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA12413/cg_data/NA12413_lcl_SRR800064.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.CEU.high_coverage.20130401.bam +PEL HG01572 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG01572/cg_data/HG01572_blood_SRR800352.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.PEL.high_coverage.20130401.bam +PEL HG01573 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG01573/cg_data/HG01573_blood_SRR800305.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.PEL.high_coverage.20130401.bam +CEU NA12717 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA12717/cg_data/NA12717_lcl_SRR800018.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.CEU.high_coverage.20130401.bam +CHS HG00663 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG00663/cg_data/HG00663_lcl_SRR821580.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.CHS.high_coverage.20130401.bam +CEU NA11831 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA11831/cg_data/NA11831_lcl_SRR799953.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.CEU.high_coverage.20130401.bam +PEL HG01943 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG01943/cg_data/HG01943_blood_SRR800337.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.PEL.high_coverage.20130401.bam +PEL HG01579 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG01579/cg_data/HG01579_blood_SRR800761.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.PEL.high_coverage.20130401.bam +CHS HG00589 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG00589/cg_data/HG00589_lcl_SRR820803.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.CHS.high_coverage.20130401.bam +CEU NA12802 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA12802/cg_data/NA12802_lcl_SRR800330.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.CEU.high_coverage.20130401.bam +PEL HG01939 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG01939/cg_data/HG01939_blood_SRR800334.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.PEL.high_coverage.20130401.bam +PEL HG01924 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG01924/cg_data/HG01924_blood_SRR800373.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.PEL.high_coverage.20130401.bam +LWK NA19429 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA19429/cg_data/NA19429_lcl_SRR819286.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.LWK.high_coverage.20130401.bam +PEL HG01969 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG01969/cg_data/HG01969_blood_SRR800339.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.PEL.high_coverage.20130401.bam +CEU NA12767 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA12767/cg_data/NA12767_lcl_SRR800301.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.CEU.high_coverage.20130401.bam +YRI NA19118 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA19118/cg_data/NA19118_buffy_SRR832898.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.YRI.high_coverage.20130401.bam +PEL HG02272 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG02272/cg_data/HG02272_blood_SRR833575.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.PEL.high_coverage.20130401.bam +PEL HG01981 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG01981/cg_data/HG01981_blood_SRR822977.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.PEL.high_coverage.20130401.bam +CHS HG00538 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG00538/cg_data/HG00538_lcl_SRR826681.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.CHS.high_coverage.20130401.bam +PJL HG03238 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG03238/cg_data/HG03238_blood_SRR833700.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.PJL.high_coverage.20130401.bam +LWK NA19404 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA19404/cg_data/NA19404_buffy_SRR819657.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.LWK.high_coverage.20130401.bam +YRI NA19113 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA19113/cg_data/NA19113_buffy_SRR832888.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.YRI.high_coverage.20130401.bam +PJL HG02659 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG02659/cg_data/HG02659_blood_SRR833604.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.PJL.high_coverage.20130401.bam +PJL HG02602 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG02602/cg_data/HG02602_blood_SRR833587.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.PJL.high_coverage.20130401.bam +PEL HG02279 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG02279/cg_data/HG02279_blood_SRR833582.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.PEL.high_coverage.20130401.bam +PJL HG02687 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG02687/cg_data/HG02687_blood_SRR833599.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.PJL.high_coverage.20130401.bam +PUR HG00732 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG00732/cg_data/HG00732_blood_SRR827599.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.PUR.high_coverage.20130401.bam +PEL HG02003 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG02003/cg_data/HG02003_blood_SRR823419.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.PEL.high_coverage.20130401.bam +CHS HG00543 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG00543/cg_data/HG00543_lcl_SRR826690.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.CHS.high_coverage.20130401.bam +YRI NA18930 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA18930/cg_data/NA18930_buffy_SRR832901.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.YRI.high_coverage.20130401.bam +PJL HG02687 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG02687/cg_data/HG02687_blood_SRR833599.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.PJL.high_coverage.20130401.bam +PEL HG02278 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG02278/cg_data/HG02278_blood_SRR833584.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.PEL.high_coverage.20130401.bam +PJL HG02727 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG02727/cg_data/HG02727_blood_SRR833633.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.PJL.high_coverage.20130401.bam +PJL HG02601 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG02601/cg_data/HG02601_blood_SRR833572.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.PJL.high_coverage.20130401.bam +PEL HG02277 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG02277/cg_data/HG02277_blood_SRR823411.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.PEL.high_coverage.20130401.bam +PEL HG01992 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG01992/cg_data/HG01992_blood_SRR822982.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.PEL.high_coverage.20130401.bam +PEL HG02285 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG02285/cg_data/HG02285_blood_SRR833577.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.PEL.high_coverage.20130401.bam +YRI NA19115 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA19115/cg_data/NA19115_buffy_SRR832902.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.YRI.high_coverage.20130401.bam +YRI NA19145 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA19145/cg_data/NA19145_buffy_SRR832908.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.YRI.high_coverage.20130401.bam +YRI NA19120 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA19120/cg_data/NA19120_buffy_SRR832911.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.YRI.high_coverage.20130401.bam +PJL HG02688 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG02688/cg_data/HG02688_blood_SRR833605.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.PJL.high_coverage.20130401.bam +CHS HG00532 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG00532/cg_data/HG00532_lcl_SRR826687.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.CHS.high_coverage.20130401.bam +YRI NA19257 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA19257/cg_data/NA19257_buffy_SRR832882.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.YRI.high_coverage.20130401.bam +PJL HG02785 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG02785/cg_data/HG02785_blood_SRR833732.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.PJL.high_coverage.20130501.bam +LWK NA19399 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA19399/cg_data/NA19399_lcl_SRR820106.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.LWK.high_coverage.20130401.bam +YRI NA18935 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA18935/cg_data/NA18935_buffy_SRR832893.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.YRI.high_coverage.20130401.bam +YRI NA19154 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA19154/cg_data/NA19154_buffy_SRR832938.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.YRI.high_coverage.20130401.bam +PJL HG02698 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG02698/cg_data/HG02698_blood_SRR833610.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.PJL.high_coverage.20130401.bam +YRI NA19145 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA19145/cg_data/NA19145_buffy_SRR832908.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.YRI.high_coverage.20130401.bam +PEL HG01979 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG01979/cg_data/HG01979_blood_SRR822976.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.PEL.high_coverage.20130401.bam +PJL HG02684 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG02684/cg_data/HG02684_blood_SRR833609.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.PJL.high_coverage.20130401.bam +CHS HG00612 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG00612/cg_data/HG00612_lcl_SRR826842.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.CHS.high_coverage.20130401.bam +PJL HG02790 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG02790/cg_data/HG02790_blood_SRR833683.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.PJL.high_coverage.20130401.bam +YRI NA18911 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA18911/cg_data/NA18911_buffy_SRR832896.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.YRI.high_coverage.20130401.bam +YRI NA19173 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA19173/cg_data/NA19173_buffy_SRR832914.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.YRI.high_coverage.20130401.bam +YRI NA19240 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA19240/cg_data/NA19240_lcl_SRR832874.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.YRI.high_coverage.20130401.bam +YRI NA18935 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA18935/cg_data/NA18935_buffy_SRR832893.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.YRI.high_coverage.20130401.bam +PEL HG02302 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG02302/cg_data/HG02302_blood_SRR833580.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.PEL.high_coverage.20130401.bam +PJL HG02728 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG02728/cg_data/HG02728_blood_SRR833621.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.PJL.high_coverage.20130401.bam +PJL HG03239 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG03239/cg_data/HG03239_blood_SRR833701.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.PJL.high_coverage.20130401.bam +YRI NA19239 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA19239/cg_data/NA19239_lcl_SRR832864.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.YRI.high_coverage.20130401.bam +PJL HG02657 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG02657/cg_data/HG02657_blood_SRR833597.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.PJL.high_coverage.20130401.bam +PJL HG02729 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG02729/cg_data/HG02729_blood_SRR833627.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.PJL.high_coverage.20130401.bam +PJL HG02600 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG02600/cg_data/HG02600_blood_SRR833571.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.PJL.high_coverage.20130401.bam +PEL HG02147 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG02147/cg_data/HG02147_blood_SRR823407.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.PEL.high_coverage.20130401.bam +CHS HG00477 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG00477/cg_data/HG00477_lcl_SRR826683.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.CHS.high_coverage.20130401.bam +PJL HG02662 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG02662/cg_data/HG02662_blood_SRR833601.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.PJL.high_coverage.20130401.bam +YRI NA19211 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA19211/cg_data/NA19211_buffy_SRR833566.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.YRI.high_coverage.20130401.bam +YRI NA19191 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA19191/cg_data/NA19191_buffy_SRR833574.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.YRI.high_coverage.20130401.bam +PJL HG02603 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG02603/cg_data/HG02603_blood_SRR833589.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.PJL.high_coverage.20130401.bam +YRI NA18930 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA18930/cg_data/NA18930_buffy_SRR832901.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.YRI.high_coverage.20130401.bam +PJL HG02659 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG02659/cg_data/HG02659_blood_SRR833604.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.PJL.high_coverage.20130401.bam +PEL HG02259 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG02259/cg_data/HG02259_blood_SRR823408.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.PEL.high_coverage.20130401.bam +PJL HG02600 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG02600/cg_data/HG02600_blood_SRR833571.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.PJL.high_coverage.20130401.bam +KHV HG02026 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG02026/cg_data/HG02026_lcl_SRR833535.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.KHV.high_coverage.20130401.bam +YRI NA19190 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA19190/cg_data/NA19190_buffy_SRR832868.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.YRI.high_coverage.20130401.bam +YRI NA19210 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA19210/cg_data/NA19210_buffy_SRR832865.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.YRI.high_coverage.20130401.bam +YRI NA19130 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA19130/cg_data/NA19130_buffy_SRR822937.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.YRI.high_coverage.20130401.bam +PEL HG02004 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG02004/cg_data/HG02004_blood_SRR823413.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.PEL.high_coverage.20130401.bam +CHS HG00607 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG00607/cg_data/HG00607_lcl_SRR822310.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.CHS.high_coverage.20130401.bam +PEL HG01571 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG01571/cg_data/HG01571_blood_SRR800361.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.PEL.high_coverage.20130401.bam +CHS HG00590 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG00590/cg_data/HG00590_lcl_SRR821601.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.CHS.high_coverage.20130401.bam +CHS HG00407 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG00407/cg_data/HG00407_lcl_SRR822932.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.CHS.high_coverage.20130401.bam +CEU NA12873 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA12873/cg_data/NA12873_lcl_SRR826481.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.CEU.high_coverage.20130401.bam +PJL HG02490 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG02490/cg_data/HG02490_blood_SRR800353.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.PJL.high_coverage.20130401.bam +YRI NA18507 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA18507/cg_data/NA18507_buffy_SRR822930.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.YRI.high_coverage.20130401.bam +CHS HG00534 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG00534/cg_data/HG00534_lcl_SRR820447.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.CHS.high_coverage.20130401.bam +YRI NA19143 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA19143/cg_data/NA19143_buffy_SRR822963.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.YRI.high_coverage.20130401.bam +LWK NA19435 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA19435/cg_data/NA19435_lcl_SRR819285.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.LWK.high_coverage.20130401.bam +CHS HG00690 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG00690/cg_data/HG00690_lcl_SRR822311.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.CHS.high_coverage.20130401.bam +LWK NA19428 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA19428/cg_data/NA19428_buffy_SRR819426.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.LWK.high_coverage.20130401.bam +CHS HG00560 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG00560/cg_data/HG00560_lcl_SRR820595.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.CHS.high_coverage.20130401.bam +YRI NA19143 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA19143/cg_data/NA19143_buffy_SRR822963.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.YRI.high_coverage.20130401.bam +CHS HG00542 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG00542/cg_data/HG00542_lcl_SRR821363.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.CHS.high_coverage.20130401.bam +CHS HG00619 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG00619/cg_data/HG00619_lcl_SRR825200.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.CHS.high_coverage.20130401.bam +CHS HG00559 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG00559/cg_data/HG00559_lcl_SRR820426.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.CHS.high_coverage.20130401.bam +YRI NA18500 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA18500/cg_data/NA18500_lcl_SRR822964.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.YRI.high_coverage.20130401.bam +YRI NA19171 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA19171/cg_data/NA19171_buffy_SRR825204.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.YRI.high_coverage.20130401.bam +PEL HG01921 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG01921/cg_data/HG01921_blood_SRR801069.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.PEL.high_coverage.20130401.bam +PEL HG01928 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG01928/cg_data/HG01928_blood_SRR800356.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.PEL.high_coverage.20130401.bam +YRI NA18934 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA18934/cg_data/NA18934_buffy_SRR825203.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.YRI.high_coverage.20130401.bam +CEU NA07349 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA07349/cg_data/NA07349_lcl_SRR824827.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.CEU.high_coverage.20130401.bam +YRI NA19152 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA19152/cg_data/NA19152_buffy_SRR822865.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.YRI.high_coverage.20130401.bam +CEU NA12873 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA12873/cg_data/NA12873_lcl_SRR826481.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.CEU.high_coverage.20130401.bam +CHS HG00613 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG00613/cg_data/HG00613_lcl_SRR822946.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.CHS.high_coverage.20130401.bam +PEL HG02293 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG02293/cg_data/HG02293_blood_SRR800351.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.PEL.high_coverage.20130401.bam +PEL HG01940 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG01940/cg_data/HG01940_blood_SRR800382.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.PEL.high_coverage.20130401.bam +PEL HG01945 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG01945/cg_data/HG01945_blood_SRR800647.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.PEL.high_coverage.20130401.bam +CHS HG00404 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG00404/cg_data/HG00404_lcl_SRR819918.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.CHS.high_coverage.20130401.bam +CEU NA12003 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA12003/cg_data/NA12003_lcl_SRR801811.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.CEU.high_coverage.20130401.bam +CEU NA11930 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA11930/cg_data/NA11930_lcl_SRR800076.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.CEU.high_coverage.20130401.bam +CEU NA11830 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA11830/cg_data/NA11830_lcl_SRR799978.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.CEU.high_coverage.20130401.bam +CEU NA10855 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA10855/cg_data/NA10855_lcl_SRR800228.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.CEU.high_coverage.20130401.bam +PEL HG01970 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG01970/cg_data/HG01970_blood_SRR800340.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.PEL.high_coverage.20130401.bam +CEU NA11920 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA11920/cg_data/NA11920_lcl_SRR801810.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.CEU.high_coverage.20130401.bam +CEU NA12399 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA12399/cg_data/NA12399_lcl_SRR800047.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.CEU.high_coverage.20130401.bam +CEU NA12340 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA12340/cg_data/NA12340_lcl_SRR800113.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.CEU.high_coverage.20130401.bam +CEU NA10855 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA10855/cg_data/NA10855_lcl_SRR800228.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.CEU.high_coverage.20130401.bam +CEU NA12766 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA12766/cg_data/NA12766_lcl_SRR800362.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.CEU.high_coverage.20130401.bam +CEU NA12864 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA12864/cg_data/NA12864_lcl_SRR800317.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.CEU.high_coverage.20130401.bam +CEU NA12045 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA12045/cg_data/NA12045_lcl_SRR801817.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.CEU.high_coverage.20130401.bam +CEU NA10838 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA10838/cg_data/NA10838_lcl_SRR800226.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.CEU.high_coverage.20130401.bam +CEU NA10837 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA10837/cg_data/NA10837_lcl_SRR800225.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.CEU.high_coverage.20130401.bam +CEU NA12817 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA12817/cg_data/NA12817_lcl_SRR800331.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.CEU.high_coverage.20130401.bam +CEU NA11994 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA11994/cg_data/NA11994_lcl_SRR799979.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.CEU.high_coverage.20130401.bam +CEU NA12812 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA12812/cg_data/NA12812_lcl_SRR800096.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.CEU.high_coverage.20130401.bam +CEU NA12707 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA12707/cg_data/NA12707_lcl_SRR800315.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.CEU.high_coverage.20130401.bam +CEU NA12813 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA12813/cg_data/NA12813_lcl_SRR800085.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.CEU.high_coverage.20130401.bam +CEU NA12286 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA12286/cg_data/NA12286_lcl_SRR800123.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.CEU.high_coverage.20130401.bam +CEU NA12335 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA12335/cg_data/NA12335_lcl_SRR800227.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.CEU.high_coverage.20130401.bam +CEU NA12286 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA12286/cg_data/NA12286_lcl_SRR800123.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.CEU.high_coverage.20130401.bam +YRI NA19201 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA19201/cg_data/NA19201_lcl_SRR832879.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.YRI.high_coverage.20130401.bam +PEL HG02008 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG02008/cg_data/HG02008_blood_SRR823177.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.PEL.high_coverage.20130401.bam +CHS HG00654 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG00654/cg_data/HG00654_lcl_SRR822557.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.CHS.high_coverage.20130401.bam +CHS HG00621 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG00621/cg_data/HG00621_lcl_SRR826852.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.CHS.high_coverage.20130401.bam +PEL HG01974 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG01974/cg_data/HG01974_blood_SRR801085.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.PEL.high_coverage.20130401.bam +PJL HG02658 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG02658/cg_data/HG02658_blood_SRR833606.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.PJL.high_coverage.20130401.bam +PJL HG02696 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG02696/cg_data/HG02696_blood_SRR833603.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.PJL.high_coverage.20130401.bam +PEL HG01976 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG01976/cg_data/HG01976_blood_SRR822981.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.PEL.high_coverage.20130401.bam +CEU NA12716 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA12716/cg_data/NA12716_lcl_SRR825198.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.CEU.high_coverage.20130401.bam +CHS HG00684 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG00684/cg_data/HG00684_lcl_SRR822308.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.CHS.high_coverage.20130501.bam +CHS HG00684 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG00684/cg_data/HG00684_lcl_SRR822308.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.CHS.high_coverage.20130501.bam +CEU NA07000 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA07000/cg_data/NA07000_lcl_SRR801821.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.CEU.high_coverage.20130501.bam +KHV HG02025 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG02025/cg_data/HG02025_lcl_SRR821815.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.KHV.high_coverage.20130501.bam +KHV HG02025 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG02025/cg_data/HG02025_lcl_SRR821815.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.KHV.high_coverage.20130501.bam +CEU NA11994 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA11994/cg_data/NA11994_lcl_SRR799979.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.CEU.high_coverage.20130401.bam +CEU NA10840 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA10840/cg_data/NA10840_lcl_SRR800217.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.CEU.high_coverage.20130401.bam +PEL HG01925 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG01925/cg_data/HG01925_blood_SRR800328.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.PEL.high_coverage.20130401.bam +PEL HG01566 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG01566/cg_data/HG01566_blood_SRR801070.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.PEL.high_coverage.20130401.bam +PEL HG01934 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG01934/cg_data/HG01934_blood_SRR800332.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.PEL.high_coverage.20130401.bam +CEU NA12546 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA12546/cg_data/NA12546_lcl_SRR800124.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.CEU.high_coverage.20130401.bam +CEU NA12335 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA12335/cg_data/NA12335_lcl_SRR800227.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.CEU.high_coverage.20130401.bam +CEU NA10845 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA10845/cg_data/NA10845_lcl_SRR800219.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.CEU.high_coverage.20130401.bam +CEU NA12272 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA12272/cg_data/NA12272_lcl_SRR800079.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.CEU.high_coverage.20130401.bam +PEL HG01572 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG01572/cg_data/HG01572_blood_SRR800352.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.PEL.high_coverage.20130401.bam +CEU NA12766 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA12766/cg_data/NA12766_lcl_SRR800362.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.CEU.high_coverage.20130401.bam +CEU NA12761 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA12761/cg_data/NA12761_lcl_SRR800042.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.CEU.high_coverage.20130401.bam +PEL HG01565 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG01565/cg_data/HG01565_blood_SRR800372.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.PEL.high_coverage.20130401.bam +PEL HG01932 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG01932/cg_data/HG01932_blood_SRR800319.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.PEL.high_coverage.20130401.bam +CEU NA11832 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA11832/cg_data/NA11832_lcl_SRR799952.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.CEU.high_coverage.20130401.bam +CEU NA10839 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA10839/cg_data/NA10839_lcl_SRR800240.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.CEU.high_coverage.20130401.bam +PEL HG01970 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG01970/cg_data/HG01970_blood_SRR800340.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.PEL.high_coverage.20130401.bam +PEL HG01953 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG01953/cg_data/HG01953_blood_SRR801075.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.PEL.high_coverage.20130401.bam +CEU NA11931 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA11931/cg_data/NA11931_lcl_SRR799949.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.CEU.high_coverage.20130401.bam +CEU NA12005 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA12005/cg_data/NA12005_lcl_SRR801823.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.CEU.high_coverage.20130401.bam +PEL HG01926 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG01926/cg_data/HG01926_blood_SRR800333.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.PEL.high_coverage.20130401.bam +PEL HG01919 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG01919/cg_data/HG01919_blood_SRR800357.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.PEL.high_coverage.20130401.bam +PEL HG01924 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG01924/cg_data/HG01924_blood_SRR800373.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.PEL.high_coverage.20130401.bam +LWK NA19440 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA19440/cg_data/NA19440_lcl_SRR819287.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.LWK.high_coverage.20130401.bam +PEL HG01567 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG01567/cg_data/HG01567_blood_SRR800350.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.PEL.high_coverage.20130401.bam +PEL HG01967 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG01967/cg_data/HG01967_blood_SRR800342.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.PEL.high_coverage.20130401.bam +CEU NA12740 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA12740/cg_data/NA12740_lcl_SRR800279.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.CEU.high_coverage.20130401.bam +CEU NA12767 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA12767/cg_data/NA12767_lcl_SRR800301.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.CEU.high_coverage.20130401.bam +PEL HG01935 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG01935/cg_data/HG01935_blood_SRR800316.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.PEL.high_coverage.20130401.bam +CHS HG00480 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG00480/cg_data/HG00480_lcl_SRR826672.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.CHS.high_coverage.20130401.bam +PEL HG01927 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG01927/cg_data/HG01927_blood_SRR800355.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.PEL.high_coverage.20130401.bam +CHS HG00536 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG00536/cg_data/HG00536_lcl_SRR826851.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.CHS.high_coverage.20130401.bam +CHS HG00533 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG00533/cg_data/HG00533_lcl_SRR820512.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.CHS.high_coverage.20130401.bam +CHS HG00685 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG00685/cg_data/HG00685_lcl_SRR826850.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.CHS.high_coverage.20130401.bam +CHS HG00472 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG00472/cg_data/HG00472_lcl_SRR826654.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.CHS.high_coverage.20130401.bam +CHS HG00536 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG00536/cg_data/HG00536_lcl_SRR826851.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.CHS.high_coverage.20130401.bam +CHS HG00620 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG00620/cg_data/HG00620_lcl_SRR822967.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.CHS.high_coverage.20130401.bam +CEU NA12832 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA12832/cg_data/NA12832_lcl_SRR826478.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.CEU.high_coverage.20130401.bam +CHS HG00531 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG00531/cg_data/HG00531_lcl_SRR820131.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.CHS.high_coverage.20130401.bam +PUR HG00732 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG00732/cg_data/HG00732_lcl_SRR821817.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.PUR.high_coverage.20130401.bam +YRI NA19200 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA19200/cg_data/NA19200_lcl_SRR822532.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.YRI.high_coverage.20130401.bam +CHS HG00475 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG00475/cg_data/HG00475_lcl_SRR826516.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.CHS.high_coverage.20130401.bam +CEU NA12829 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA12829/cg_data/NA12829_lcl_SRR826479.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.CEU.high_coverage.20130401.bam +CHS HG00692 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG00692/cg_data/HG00692_lcl_SRR822980.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.CHS.high_coverage.20130401.bam +CHS HG00655 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG00655/cg_data/HG00655_lcl_SRR826845.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.CHS.high_coverage.20130401.bam +YRI NA18497 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA18497/cg_data/NA18497_lcl_SRR822949.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.YRI.high_coverage.20130401.bam +CHS HG00625 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG00625/cg_data/HG00625_lcl_SRR822965.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.CHS.high_coverage.20130401.bam +CHS HG00593 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG00593/cg_data/HG00593_lcl_SRR826846.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.CHS.high_coverage.20130401.bam +PEL HG01968 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG01968/cg_data/HG01968_blood_SRR800341.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.PEL.high_coverage.20130401.bam +CHS HG00692 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG00692/cg_data/HG00692_lcl_SRR822980.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.CHS.high_coverage.20130401.bam +CEU NA12832 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA12832/cg_data/NA12832_lcl_SRR826478.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.CEU.high_coverage.20130401.bam +CEU NA07347 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA07347/cg_data/NA07347_lcl_SRR826475.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.CEU.high_coverage.20130401.bam +CHS HG00544 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG00544/cg_data/HG00544_lcl_SRR826841.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.CHS.high_coverage.20130401.bam +CHS HG00610 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG00610/cg_data/HG00610_lcl_SRR822935.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.CHS.high_coverage.20130401.bam +CHS HG00594 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG00594/cg_data/HG00594_lcl_SRR826836.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.CHS.high_coverage.20130401.bam +PEL HG01954 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG01954/cg_data/HG01954_blood_SRR801096.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.PEL.high_coverage.20130401.bam +CHS HG00479 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG00479/cg_data/HG00479_lcl_SRR826669.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.CHS.high_coverage.20130401.bam +CHS HG00691 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG00691/cg_data/HG00691_lcl_SRR826849.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.CHS.high_coverage.20130401.bam +CHS HG00556 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG00556/cg_data/HG00556_lcl_SRR826835.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.CHS.high_coverage.20130401.bam +CHS HG00479 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG00479/cg_data/HG00479_lcl_SRR826669.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.CHS.high_coverage.20130401.bam +CHS HG00556 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG00556/cg_data/HG00556_lcl_SRR826835.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.CHS.high_coverage.20130401.bam +PEL HG01978 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG01978/cg_data/HG01978_blood_SRR823188.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.PEL.high_coverage.20130401.bam +YRI NA19221 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA19221/cg_data/NA19221_buffy_SRR833568.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.YRI.high_coverage.20130401.bam +PEL HG02147 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG02147/cg_data/HG02147_blood_SRR823407.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.PEL.high_coverage.20130401.bam +PEL HG02279 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG02279/cg_data/HG02279_blood_SRR833582.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.PEL.high_coverage.20130401.bam +YRI NA19115 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA19115/cg_data/NA19115_buffy_SRR832902.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.YRI.high_coverage.20130401.bam +YRI NA19097 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA19097/cg_data/NA19097_buffy_SRR832892.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.YRI.high_coverage.20130401.bam +PJL HG02689 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG02689/cg_data/HG02689_blood_SRR833607.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.PJL.high_coverage.20130401.bam +YRI NA19257 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA19257/cg_data/NA19257_buffy_SRR832882.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.YRI.high_coverage.20130401.bam +PJL HG02791 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG02791/cg_data/HG02791_blood_SRR833690.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.PJL.high_coverage.20130401.bam +YRI NA18909 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA18909/cg_data/NA18909_buffy_SRR832866.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.YRI.high_coverage.20130401.bam +YRI NA19211 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA19211/cg_data/NA19211_buffy_SRR833566.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.YRI.high_coverage.20130401.bam +CHS HG00557 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG00557/cg_data/HG00557_lcl_SRR826692.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.CHS.high_coverage.20130401.bam +YRI NA18504 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA18504/cg_data/NA18504_lcl_SRR822974.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.YRI.high_coverage.20130401.bam +PEL HG02285 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG02285/cg_data/HG02285_blood_SRR833577.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.PEL.high_coverage.20130401.bam +CHS HG00653 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG00653/cg_data/HG00653_lcl_SRR822969.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.CHS.high_coverage.20130401.bam +YRI NA19186 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA19186/cg_data/NA19186_buffy_SRR833567.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.YRI.high_coverage.20130401.bam +PJL HG02734 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG02734/cg_data/HG02734_blood_SRR833615.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.PJL.high_coverage.20130401.bam +PJL HG02662 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG02662/cg_data/HG02662_blood_SRR833601.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.PJL.high_coverage.20130401.bam +LWK NA19404 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA19404/cg_data/NA19404_buffy_SRR819657.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.LWK.high_coverage.20130401.bam +YRI NA19186 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA19186/cg_data/NA19186_buffy_SRR833567.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.YRI.high_coverage.20130401.bam +CHS HG00653 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG00653/cg_data/HG00653_lcl_SRR822969.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.CHS.high_coverage.20130401.bam +PJL HG02689 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG02689/cg_data/HG02689_blood_SRR833607.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.PJL.high_coverage.20130401.bam +CHS HG00615 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG00615/cg_data/HG00615_lcl_SRR826837.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.CHS.high_coverage.20130401.bam +YRI NA19222 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA19222/cg_data/NA19222_buffy_SRR832886.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.YRI.high_coverage.20130401.bam +PUR HG00731 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG00731/cg_data/HG00731_blood_SRR833540.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.PUR.high_coverage.20130401.bam +YRI NA19120 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA19120/cg_data/NA19120_buffy_SRR832911.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.YRI.high_coverage.20130401.bam +YRI NA19148 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA19148/cg_data/NA19148_buffy_SRR832904.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.YRI.high_coverage.20130401.bam +PEL HG02104 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG02104/cg_data/HG02104_blood_SRR823410.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.PEL.high_coverage.20130401.bam +KHV HG02024 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG02024/cg_data/HG02024_blood_SRR833537.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.KHV.high_coverage.20130401.bam +CHS HG00532 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG00532/cg_data/HG00532_lcl_SRR826687.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.CHS.high_coverage.20130401.bam +CHS HG00538 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG00538/cg_data/HG00538_lcl_SRR826681.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.CHS.high_coverage.20130401.bam +KHV HG02026 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG02026/cg_data/HG02026_blood_SRR833536.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.KHV.high_coverage.20130401.bam +CHS HG00651 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG00651/cg_data/HG00651_lcl_SRR825201.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.CHS.high_coverage.20130401.bam +PUR HG00733 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG00733/cg_data/HG00733_blood_SRR833538.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.PUR.high_coverage.20130401.bam +PJL HG02734 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG02734/cg_data/HG02734_blood_SRR833615.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.PJL.high_coverage.20130401.bam +YRI NA19139 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA19139/cg_data/NA19139_lcl_SRR832939.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.YRI.high_coverage.20130401.bam +PJL HG02604 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG02604/cg_data/HG02604_blood_SRR833594.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.PJL.high_coverage.20130401.bam +PEL HG02261 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG02261/cg_data/HG02261_blood_SRR823429.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.PEL.high_coverage.20130401.bam +CHS HG00615 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG00615/cg_data/HG00615_lcl_SRR826837.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.CHS.high_coverage.20130401.bam +CHS HG00609 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG00609/cg_data/HG00609_lcl_SRR826834.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.CHS.high_coverage.20130401.bam +CHS HG00535 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG00535/cg_data/HG00535_lcl_SRR826689.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.CHS.high_coverage.20130401.bam +PJL HG03237 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG03237/cg_data/HG03237_blood_SRR833699.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.PJL.high_coverage.20130401.bam +YRI NA19238 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA19238/cg_data/NA19238_lcl_SRR832870.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.YRI.high_coverage.20130401.bam +PEL HG02090 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG02090/cg_data/HG02090_blood_SRR823409.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.PEL.high_coverage.20130401.bam +YRI NA19114 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA19114/cg_data/NA19114_buffy_SRR832873.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.YRI.high_coverage.20130401.bam +YRI NA19117 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA19117/cg_data/NA19117_buffy_SRR832887.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.YRI.high_coverage.20130401.bam +PEL HG02278 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG02278/cg_data/HG02278_blood_SRR833584.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.PEL.high_coverage.20130401.bam +PEL HG02303 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG02303/cg_data/HG02303_blood_SRR833570.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.PEL.high_coverage.20130401.bam +YRI NA18916 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA18916/cg_data/NA18916_buffy_SRR832872.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.YRI.high_coverage.20130401.bam +CHS HG00650 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG00650/cg_data/HG00650_lcl_SRR822973.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.CHS.high_coverage.20130401.bam +YRI NA19097 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA19097/cg_data/NA19097_buffy_SRR832892.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.YRI.high_coverage.20130401.bam +YRI NA18909 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA18909/cg_data/NA18909_buffy_SRR832866.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.YRI.high_coverage.20130401.bam +PEL HG02091 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG02091/cg_data/HG02091_blood_SRR823423.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.PEL.high_coverage.20130401.bam +PEL HG02089 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG02089/cg_data/HG02089_blood_SRR823426.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.PEL.high_coverage.20130401.bam +PJL HG02727 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG02727/cg_data/HG02727_blood_SRR833633.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.PJL.high_coverage.20130401.bam +YRI NA18501 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA18501/cg_data/NA18501_lcl_SRR822962.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.YRI.high_coverage.20130401.bam +CEU NA12347 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA12347/cg_data/NA12347_lcl_SRR800138.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.CEU.high_coverage.20130401.bam +CEU NA12347 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA12347/cg_data/NA12347_lcl_SRR800138.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.CEU.high_coverage.20130401.bam +CEU NA06989 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA06989/cg_data/NA06989_lcl_SRR820105.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.CEU.high_coverage.20130401.bam +CEU NA12802 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA12802/cg_data/NA12802_lcl_SRR800330.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.CEU.high_coverage.20130401.bam +PEL HG01918 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG01918/cg_data/HG01918_blood_SRR800359.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.PEL.high_coverage.20130401.bam +PUR HG00731 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG00731/cg_data/HG00731_lcl_SRR807393.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.PUR.high_coverage.20130401.bam +LWK NA19434 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA19434/cg_data/NA19434_buffy_SRR819123.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.LWK.high_coverage.20130401.bam +PEL HG01944 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG01944/cg_data/HG01944_blood_SRR800338.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.PEL.high_coverage.20130401.bam +YRI NA18933 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA18933/cg_data/NA18933_buffy_SRR825202.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.YRI.high_coverage.20130401.bam +CHS HG00560 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG00560/cg_data/HG00560_lcl_SRR820595.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.CHS.high_coverage.20130401.bam +YRI NA18507 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA18507/cg_data/NA18507_buffy_SRR822930.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.YRI.high_coverage.20130401.bam +CHS HG00407 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG00407/cg_data/HG00407_lcl_SRR822932.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.CHS.high_coverage.20130401.bam +PJL HG02491 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG02491/cg_data/HG02491_blood_SRR800354.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.PJL.high_coverage.20130401.bam +CHS HG00672 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG00672/cg_data/HG00672_lcl_SRR821492.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.CHS.high_coverage.20130401.bam +PEL HG01940 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG01940/cg_data/HG01940_blood_SRR800382.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.PEL.high_coverage.20130401.bam +CEU NA12778 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA12778/cg_data/NA12778_lcl_SRR800218.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.CEU.high_coverage.20130401.bam +CHS HG00662 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG00662/cg_data/HG00662_lcl_SRR822309.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.CHS.high_coverage.20130401.bam +CHS HG00662 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG00662/cg_data/HG00662_lcl_SRR822309.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.CHS.high_coverage.20130401.bam +YRI NA18934 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA18934/cg_data/NA18934_buffy_SRR825203.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.YRI.high_coverage.20130401.bam +YRI NA19116 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA19116/cg_data/NA19116_buffy_SRR822527.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.YRI.high_coverage.20130401.bam +YRI NA19171 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA19171/cg_data/NA19171_buffy_SRR825204.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.YRI.high_coverage.20130401.bam +PJL HG02490 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG02490/cg_data/HG02490_blood_SRR800353.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.PJL.high_coverage.20130401.bam +YRI NA18522 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA18522/cg_data/NA18522_buffy_SRR822559.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.YRI.high_coverage.20130401.bam +YRI NA19236 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA19236/cg_data/NA19236_buffy_SRR822868.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.YRI.high_coverage.20130401.bam +CEU NA12752 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA12752/cg_data/NA12752_lcl_SRR800266.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.CEU.high_coverage.20130401.bam +CHS HG00613 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG00613/cg_data/HG00613_lcl_SRR822946.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.CHS.high_coverage.20130401.bam +PEL HG01944 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG01944/cg_data/HG01944_blood_SRR800338.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.PEL.high_coverage.20130401.bam +CEU NA10864 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA10864/cg_data/NA10864_lcl_SRR800234.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.CEU.high_coverage.20130401.bam +YRI NA19174 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA19174/cg_data/NA19174_buffy_SRR832913.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.YRI.high_coverage.20130401.bam +CHS HG00652 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG00652/cg_data/HG00652_lcl_SRR826853.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.CHS.high_coverage.20130501.bam +LWK NA19314 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA19314/cg_data/NA19314_buffy_SRR822936.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.LWK.high_coverage.20130401.bam +PJL HG02733 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG02733/cg_data/HG02733_blood_SRR833611.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.PJL.high_coverage.20130401.bam +YRI NA19137 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA19137/cg_data/NA19137_lcl_SRR832884.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.YRI.high_coverage.20130401.bam +PEL HG01980 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG01980/cg_data/HG01980_blood_SRR825196.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.PEL.high_coverage.20130401.bam +LWK NA19314 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA19314/cg_data/NA19314_buffy_SRR822936.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.LWK.high_coverage.20130401.bam +CHS HG00621 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG00621/cg_data/HG00621_lcl_SRR826852.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.CHS.high_coverage.20130401.bam +YRI NA19138 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA19138/cg_data/NA19138_lcl_SRR832880.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.YRI.high_coverage.20130401.bam +PJL HG02785 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG02785/cg_data/HG02785_blood_SRR833732.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.PJL.high_coverage.20130501.bam +CHS HG00422 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG00422/cg_data/HG00422_lcl_SRR826678.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.CHS.high_coverage.20130501.bam +CHS HG00689 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG00689/cg_data/HG00689_lcl_SRR822306.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.CHS.high_coverage.20130501.bam +CHS HG00437 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG00437/cg_data/HG00437_lcl_SRR826670.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.CHS.high_coverage.20130501.bam +CHS HG00406 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG00406/cg_data/HG00406_lcl_SRR826680.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.CHS.high_coverage.20130501.bam +PUR HG00733 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG00733/cg_data/HG00733_lcl_SRR821816.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.PUR.high_coverage.20130401.bam +PEL HG02291 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG02291/cg_data/HG02291_blood_SRR800349.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.PEL.high_coverage.20130401.bam +CEU NA07029 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA07029/cg_data/NA07029_lcl_SRR800229.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.CEU.high_coverage.20130401.bam +PEL HG01565 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG01565/cg_data/HG01565_blood_SRR800372.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.PEL.high_coverage.20130401.bam +CEU NA12287 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA12287/cg_data/NA12287_lcl_SRR800125.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.CEU.high_coverage.20130401.bam +PEL HG01973 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG01973/cg_data/HG01973_blood_SRR800348.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.PEL.high_coverage.20130401.bam +CEU NA12763 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA12763/cg_data/NA12763_lcl_SRR800186.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.CEU.high_coverage.20130401.bam +CEU NA12155 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA12155/cg_data/NA12155_lcl_SRR801818.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.CEU.high_coverage.20130401.bam +CEU NA10861 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA10861/cg_data/NA10861_lcl_SRR800224.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.CEU.high_coverage.20130401.bam +CEU NA10837 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA10837/cg_data/NA10837_lcl_SRR800225.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.CEU.high_coverage.20130401.bam +CEU NA12413 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA12413/cg_data/NA12413_lcl_SRR800064.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.CEU.high_coverage.20130401.bam +CEU NA11931 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA11931/cg_data/NA11931_lcl_SRR799949.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.CEU.high_coverage.20130401.bam +CHS HG00655 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG00655/cg_data/HG00655_lcl_SRR826845.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.CHS.high_coverage.20130401.bam +PEL HG01955 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG01955/cg_data/HG01955_blood_SRR801082.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.PEL.high_coverage.20130401.bam +CHS HG00405 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG00405/cg_data/HG00405_lcl_SRR826477.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.CHS.high_coverage.20130401.bam +PEL HG01923 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG01923/cg_data/HG01923_blood_SRR801094.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.PEL.high_coverage.20130401.bam +PEL HG01968 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG01968/cg_data/HG01968_blood_SRR800341.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.PEL.high_coverage.20130401.bam +PEL HG01955 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG01955/cg_data/HG01955_blood_SRR801082.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.PEL.high_coverage.20130401.bam +CHS HG00480 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG00480/cg_data/HG00480_lcl_SRR826672.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.CHS.high_coverage.20130401.bam +CEU NA12753 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA12753/cg_data/NA12753_lcl_SRR800329.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.CEU.high_coverage.20130401.bam +PEL HG01977 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG01977/cg_data/HG01977_blood_SRR822979.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.PEL.high_coverage.20130401.bam +CHS HG00408 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG00408/cg_data/HG00408_lcl_SRR826482.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.CHS.high_coverage.20130401.bam +YRI NA19200 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA19200/cg_data/NA19200_lcl_SRR822532.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.YRI.high_coverage.20130401.bam +PEL HG01923 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG01923/cg_data/HG01923_blood_SRR801094.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.PEL.high_coverage.20130401.bam +CHS HG00436 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG00436/cg_data/HG00436_lcl_SRR819817.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.CHS.high_coverage.20130401.bam +CHS HG00561 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG00561/cg_data/HG00561_lcl_SRR826839.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.CHS.high_coverage.20130401.bam +CHS HG00627 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG00627/cg_data/HG00627_lcl_SRR826848.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.CHS.high_coverage.20130401.bam +CHS HG00691 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG00691/cg_data/HG00691_lcl_SRR826849.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.CHS.high_coverage.20130401.bam +PEL HG01954 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG01954/cg_data/HG01954_blood_SRR801096.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.PEL.high_coverage.20130401.bam +CHS HG00673 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG00673/cg_data/HG00673_lcl_SRR826847.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.CHS.high_coverage.20130401.bam +CHS HG00630 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG00630/cg_data/HG00630_lcl_SRR826843.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.CHS.high_coverage.20130401.bam +CHS HG00673 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG00673/cg_data/HG00673_lcl_SRR826847.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.CHS.high_coverage.20130401.bam +PJL HG02661 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG02661/cg_data/HG02661_blood_SRR833600.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.PJL.high_coverage.20130401.bam +PEL HG02003 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG02003/cg_data/HG02003_blood_SRR823419.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.PEL.high_coverage.20130401.bam +PEL HG01998 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG01998/cg_data/HG01998_blood_SRR823421.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.PEL.high_coverage.20130401.bam +CHS HG00609 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG00609/cg_data/HG00609_lcl_SRR826834.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.CHS.high_coverage.20130401.bam +PEL HG02105 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG02105/cg_data/HG02105_blood_SRR823424.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.PEL.high_coverage.20130401.bam +PJL HG02725 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG02725/cg_data/HG02725_blood_SRR833620.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.PJL.high_coverage.20130401.bam +YRI NA19249 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA19249/cg_data/NA19249_buffy_SRR833565.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.YRI.high_coverage.20130401.bam +CEU NA12777 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA12777/cg_data/NA12777_lcl_SRR800212.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.CEU.high_coverage.20130401.bam +CEU NA12386 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA12386/cg_data/NA12386_lcl_SRR800207.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.CEU.high_coverage.20130401.bam +CEU NA12761 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA12761/cg_data/NA12761_lcl_SRR800042.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.CEU.high_coverage.20130401.bam +CEU NA10839 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA10839/cg_data/NA10839_lcl_SRR800240.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.CEU.high_coverage.20130401.bam +CEU NA12815 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA12815/cg_data/NA12815_lcl_SRR800095.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.CEU.high_coverage.20130401.bam +PJL HG02735 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG02735/cg_data/HG02735_blood_SRR833614.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.PJL.high_coverage.20130401.bam +CHS HG00535 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG00535/cg_data/HG00535_lcl_SRR826689.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.CHS.high_coverage.20130401.bam +YRI NA19109 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA19109/cg_data/NA19109_buffy_SRR832897.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.YRI.high_coverage.20130401.bam +CHS HG00628 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG00628/cg_data/HG00628_lcl_SRR822968.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.CHS.high_coverage.20130401.bam +PEL HG02272 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG02272/cg_data/HG02272_blood_SRR833575.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.PEL.high_coverage.20130401.bam +PJL HG02655 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG02655/cg_data/HG02655_blood_SRR833593.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.PJL.high_coverage.20130401.bam +YRI NA19093 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA19093/cg_data/NA19093_buffy_SRR832863.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.YRI.high_coverage.20130401.bam +YRI NA19159 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA19159/cg_data/NA19159_buffy_SRR832869.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.YRI.high_coverage.20130401.bam +PEL HG02106 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG02106/cg_data/HG02106_blood_SRR824822.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.PEL.high_coverage.20130401.bam +PEL HG01971 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG01971/cg_data/HG01971_blood_SRR800347.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.PEL.high_coverage.20130401.bam +PJL HG02686 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG02686/cg_data/HG02686_blood_SRR833598.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.PJL.high_coverage.20130401.bam +PJL HG02729 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG02729/cg_data/HG02729_blood_SRR833627.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.PJL.high_coverage.20130401.bam +PEL HG02091 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG02091/cg_data/HG02091_blood_SRR823423.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.PEL.high_coverage.20130401.bam +YRI NA19146 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA19146/cg_data/NA19146_buffy_SRR832885.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.YRI.high_coverage.20130401.bam +YRI NA18872 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA18872/cg_data/NA18872_lcl_SRR832910.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.YRI.high_coverage.20130401.bam +YRI NA19190 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA19190/cg_data/NA19190_buffy_SRR832868.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.YRI.high_coverage.20130401.bam +YRI NA19138 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA19138/cg_data/NA19138_lcl_SRR832880.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.YRI.high_coverage.20130401.bam +YRI NA18505 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA18505/cg_data/NA18505_lcl_SRR832878.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.YRI.high_coverage.20130401.bam +YRI NA18505 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA18505/cg_data/NA18505_lcl_SRR832878.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.YRI.high_coverage.20130401.bam +PJL HG02724 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG02724/cg_data/HG02724_blood_SRR833612.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.PJL.high_coverage.20130501.bam +PJL HG02660 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG02660/cg_data/HG02660_blood_SRR833602.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.PJL.high_coverage.20130401.bam +YRI NA18502 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA18502/cg_data/NA18502_lcl_SRR822970.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.YRI.high_coverage.20130501.bam +CHS HG00671 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG00671/cg_data/HG00671_lcl_SRR834935.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.CHS.high_coverage.20130401.bam +PJL HG02726 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG02726/cg_data/HG02726_blood_SRR833629.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.PJL.high_coverage.20130401.bam +YRI NA19100 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA19100/cg_data/NA19100_buffy_SRR832894.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.YRI.high_coverage.20130401.bam +PEL HG01971 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG01971/cg_data/HG01971_blood_SRR800347.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.PEL.high_coverage.20130401.bam +PJL HG02657 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG02657/cg_data/HG02657_blood_SRR833597.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.PJL.high_coverage.20130401.bam +YRI NA19146 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA19146/cg_data/NA19146_buffy_SRR832885.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.YRI.high_coverage.20130401.bam +PJL HG02783 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG02783/cg_data/HG02783_blood_SRR833628.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.PJL.high_coverage.20130401.bam +PEL HG02271 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG02271/cg_data/HG02271_blood_SRR833579.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.PEL.high_coverage.20130401.bam +YRI NA18504 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA18504/cg_data/NA18504_lcl_SRR822974.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.YRI.high_coverage.20130401.bam +YRI NA18916 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA18916/cg_data/NA18916_buffy_SRR832872.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.YRI.high_coverage.20130401.bam +PUR HG00732 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG00732/cg_data/HG00732_blood_SRR827599.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.PUR.high_coverage.20130401.bam +PJL HG02725 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG02725/cg_data/HG02725_blood_SRR833620.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.PJL.high_coverage.20130401.bam +PJL HG02603 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG02603/cg_data/HG02603_blood_SRR833589.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.PJL.high_coverage.20130401.bam +PJL HG02661 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG02661/cg_data/HG02661_blood_SRR833600.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.PJL.high_coverage.20130401.bam +YRI NA19107 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA19107/cg_data/NA19107_buffy_SRR832881.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.YRI.high_coverage.20130401.bam +YRI NA19130 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA19130/cg_data/NA19130_buffy_SRR822937.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.YRI.high_coverage.20130401.bam +PJL HG02686 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG02686/cg_data/HG02686_blood_SRR833598.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.PJL.high_coverage.20130401.bam +PJL HG02655 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG02655/cg_data/HG02655_blood_SRR833593.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.PJL.high_coverage.20130401.bam +CHS HG00671 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG00671/cg_data/HG00671_lcl_SRR834935.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.CHS.high_coverage.20130401.bam +YRI NA18508 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA18508/cg_data/NA18508_buffy_SRR832871.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.YRI.high_coverage.20130401.bam +PJL HG02697 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG02697/cg_data/HG02697_blood_SRR833613.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.PJL.high_coverage.20130401.bam +YRI NA19210 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA19210/cg_data/NA19210_buffy_SRR832865.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.YRI.high_coverage.20130401.bam +YRI NA19144 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA19144/cg_data/NA19144_buffy_SRR832875.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.YRI.high_coverage.20130401.bam +KHV HG02026 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG02026/cg_data/HG02026_blood_SRR833536.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.KHV.high_coverage.20130401.bam +PEL HG02089 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG02089/cg_data/HG02089_blood_SRR823426.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.PEL.high_coverage.20130401.bam +PEL HG01993 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG01993/cg_data/HG01993_blood_SRR822978.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.PEL.high_coverage.20130401.bam +PJL HG02654 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG02654/cg_data/HG02654_blood_SRR833590.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.PJL.high_coverage.20130401.bam +YRI NA18499 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA18499/cg_data/NA18499_lcl_SRR825199.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.YRI.high_coverage.20130401.bam +YRI NA18499 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA18499/cg_data/NA18499_lcl_SRR825199.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.YRI.high_coverage.20130401.bam +YRI NA18871 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA18871/cg_data/NA18871_lcl_SRR822312.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.YRI.high_coverage.20130401.bam +YRI NA19152 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA19152/cg_data/NA19152_buffy_SRR822865.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.YRI.high_coverage.20130401.bam +CHS HG00534 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG00534/cg_data/HG00534_lcl_SRR820447.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.CHS.high_coverage.20130401.bam +PEL HG01937 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG01937/cg_data/HG01937_blood_SRR800646.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.PEL.high_coverage.20130401.bam +PEL HG01945 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG01945/cg_data/HG01945_blood_SRR800647.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.PEL.high_coverage.20130401.bam +PEL HG01936 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG01936/cg_data/HG01936_blood_SRR800360.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.PEL.high_coverage.20130401.bam +LWK NA19435 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA19435/cg_data/NA19435_lcl_SRR819285.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.LWK.high_coverage.20130401.bam +PJL HG02492 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG02492/cg_data/HG02492_blood_SRR801077.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.PJL.high_coverage.20130401.bam +YRI NA18871 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA18871/cg_data/NA18871_lcl_SRR822312.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.YRI.high_coverage.20130401.bam +CEU NA12752 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA12752/cg_data/NA12752_lcl_SRR800266.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.CEU.high_coverage.20130401.bam +CEU NA12842 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA12842/cg_data/NA12842_lcl_SRR826484.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.CEU.high_coverage.20130401.bam +YRI NA18917 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA18917/cg_data/NA18917_buffy_SRR822864.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.YRI.high_coverage.20130401.bam +PEL HG01941 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG01941/cg_data/HG01941_blood_SRR800383.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.PEL.high_coverage.20130401.bam +PEL HG01937 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG01937/cg_data/HG01937_blood_SRR800646.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.PEL.high_coverage.20130401.bam +PEL HG01928 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG01928/cg_data/HG01928_blood_SRR800356.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.PEL.high_coverage.20130401.bam +PEL HG02292 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG02292/cg_data/HG02292_blood_SRR800648.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.PEL.high_coverage.20130401.bam +YRI NA19160 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA19160/cg_data/NA19160_buffy_SRR822867.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.YRI.high_coverage.20130401.bam +CEU NA12778 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA12778/cg_data/NA12778_lcl_SRR800218.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.CEU.high_coverage.20130401.bam +PEL HG01942 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG01942/cg_data/HG01942_blood_SRR801093.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.PEL.high_coverage.20130401.bam +YRI NA19116 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA19116/cg_data/NA19116_buffy_SRR822527.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.YRI.high_coverage.20130401.bam +LWK NA19397 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA19397/cg_data/NA19397_lcl_SRR819342.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.LWK.high_coverage.20130401.bam +YRI NA18923 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA18923/cg_data/NA18923_buffy_SRR826476.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.YRI.high_coverage.20130401.bam +CHS HG00473 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG00473/cg_data/HG00473_lcl_SRR826545.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.CHS.high_coverage.20130401.bam +CHS HG00423 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG00423/cg_data/HG00423_lcl_SRR826682.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.CHS.high_coverage.20130401.bam +CEU NA12830 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA12830/cg_data/NA12830_lcl_SRR826485.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.CEU.high_coverage.20130401.bam +CEU NA12843 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA12843/cg_data/NA12843_lcl_SRR826480.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.CEU.high_coverage.20130401.bam +CHS HG00693 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG00693/cg_data/HG00693_lcl_SRR822972.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.CHS.high_coverage.20130401.bam +CHS HG00405 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG00405/cg_data/HG00405_lcl_SRR826477.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.CHS.high_coverage.20130401.bam +CEU NA11894 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA11894/cg_data/NA11894_lcl_SRR801822.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.CEU.high_coverage.20130401.bam +CEU NA11919 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA11919/cg_data/NA11919_lcl_SRR801824.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.CEU.high_coverage.20130401.bam +CEU NA11919 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA11919/cg_data/NA11919_lcl_SRR801824.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.CEU.high_coverage.20130401.bam +PEL HG01932 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG01932/cg_data/HG01932_blood_SRR800319.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.PEL.high_coverage.20130401.bam +CEU NA12762 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA12762/cg_data/NA12762_lcl_SRR800185.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.CEU.high_coverage.20130401.bam +CEU NA11995 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA11995/cg_data/NA11995_lcl_SRR799951.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.CEU.high_coverage.20130401.bam +PEL HG01952 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG01952/cg_data/HG01952_blood_SRR801083.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.PEL.high_coverage.20130401.bam +CEU NA12763 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA12763/cg_data/NA12763_lcl_SRR800186.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.CEU.high_coverage.20130401.bam +CEU NA12376 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA12376/cg_data/NA12376_lcl_SRR800239.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.CEU.high_coverage.20130401.bam +CEU NA12414 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA12414/cg_data/NA12414_lcl_SRR799984.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.CEU.high_coverage.20130401.bam +CEU NA12155 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA12155/cg_data/NA12155_lcl_SRR801818.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.CEU.high_coverage.20130401.bam +CEU NA12818 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA12818/cg_data/NA12818_lcl_SRR800363.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.CEU.high_coverage.20130401.bam +CEU NA12006 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA12006/cg_data/NA12006_lcl_SRR799950.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.CEU.high_coverage.20130401.bam +PEL HG01933 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG01933/cg_data/HG01933_blood_SRR800323.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.PEL.high_coverage.20130401.bam +PUR HG00731 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG00731/cg_data/HG00731_lcl_SRR807393.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.PUR.high_coverage.20130401.bam +LWK NA19443 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA19443/cg_data/NA19443_lcl_SRR819053.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.LWK.high_coverage.20130401.bam +PEL HG01917 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG01917/cg_data/HG01917_blood_SRR800318.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.PEL.high_coverage.20130401.bam +PEL HG01969 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG01969/cg_data/HG01969_blood_SRR800339.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.PEL.high_coverage.20130401.bam +CEU NA12814 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA12814/cg_data/NA12814_lcl_SRR800090.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.CEU.high_coverage.20130401.bam +CHS HG00592 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG00592/cg_data/HG00592_lcl_SRR820804.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.CHS.high_coverage.20130401.bam +PEL HG01967 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG01967/cg_data/HG01967_blood_SRR800342.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.PEL.high_coverage.20130401.bam +CHS HG00607 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG00607/cg_data/HG00607_lcl_SRR822310.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.CHS.high_coverage.20130401.bam +CHS HG00403 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG00403/cg_data/HG00403_lcl_SRR819866.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.CHS.high_coverage.20130401.bam +PEL HG01919 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG01919/cg_data/HG01919_blood_SRR800357.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.PEL.high_coverage.20130401.bam +CEU NA12801 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA12801/cg_data/NA12801_lcl_SRR800343.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.CEU.high_coverage.20130401.bam +PEL HG01579 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG01579/cg_data/HG01579_blood_SRR800761.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.PEL.high_coverage.20130401.bam +PEL HG01946 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG01946/cg_data/HG01946_blood_SRR800358.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.PEL.high_coverage.20130401.bam +CHS HG00592 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG00592/cg_data/HG00592_lcl_SRR820804.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.CHS.high_coverage.20130401.bam +LWK NA19443 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA19443/cg_data/NA19443_lcl_SRR819053.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.LWK.high_coverage.20130401.bam +PEL HG01577 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG01577/cg_data/HG01577_blood_SRR800346.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.PEL.high_coverage.20130401.bam +CHS HG00589 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG00589/cg_data/HG00589_lcl_SRR820803.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.CHS.high_coverage.20130401.bam +LWK NA19429 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA19429/cg_data/NA19429_lcl_SRR819286.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.LWK.high_coverage.20130401.bam +CHS HG00672 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG00672/cg_data/HG00672_lcl_SRR821492.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.CHS.high_coverage.20130401.bam +CHS HG00542 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG00542/cg_data/HG00542_lcl_SRR821363.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.CHS.high_coverage.20130401.bam +PEL HG01974 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG01974/cg_data/HG01974_blood_SRR801085.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.PEL.high_coverage.20130401.bam +CEU NA12348 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA12348/cg_data/NA12348_lcl_SRR822975.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.CEU.high_coverage.20130401.bam +YRI NA18870 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA18870/cg_data/NA18870_lcl_SRR832877.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.YRI.high_coverage.20130401.bam +PJL HG02789 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG02789/cg_data/HG02789_blood_SRR833684.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.PJL.high_coverage.20130401.bam +YRI NA19137 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA19137/cg_data/NA19137_lcl_SRR832884.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.YRI.high_coverage.20130401.bam +CHS HG00478 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG00478/cg_data/HG00478_lcl_SRR826688.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.CHS.high_coverage.20130501.bam +SHC HG00443 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG00443/cg_data/HG00443_lcl_SRR826676.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.SHC.high_coverage.20130501.bam +CHS HG00437 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG00437/cg_data/HG00437_lcl_SRR826670.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.CHS.high_coverage.20130501.bam +SHC HG00443 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG00443/cg_data/HG00443_lcl_SRR826676.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.SHC.high_coverage.20130501.bam +CHS HG00478 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG00478/cg_data/HG00478_lcl_SRR826688.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.CHS.high_coverage.20130501.bam +CEU NA12485 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA12485/cg_data/NA12485_lcl_SRR800230.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.CEU.high_coverage.20130401.bam +CEU NA12386 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA12386/cg_data/NA12386_lcl_SRR800207.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.CEU.high_coverage.20130401.bam +PEL HG01566 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG01566/cg_data/HG01566_blood_SRR801070.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.PEL.high_coverage.20130401.bam +PEL HG01898 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG01898/cg_data/HG01898_blood_SRR801072.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.PEL.high_coverage.20130401.bam +CEU NA10856 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA10856/cg_data/NA10856_lcl_SRR800235.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.CEU.high_coverage.20130401.bam +CEU NA12006 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA12006/cg_data/NA12006_lcl_SRR799950.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.CEU.high_coverage.20130401.bam +CEU NA12399 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA12399/cg_data/NA12399_lcl_SRR800047.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.CEU.high_coverage.20130401.bam +CEU NA12707 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA12707/cg_data/NA12707_lcl_SRR800315.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.CEU.high_coverage.20130401.bam +CEU NA10861 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA10861/cg_data/NA10861_lcl_SRR800224.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.CEU.high_coverage.20130401.bam +PEL HG01953 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG01953/cg_data/HG01953_blood_SRR801075.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.PEL.high_coverage.20130401.bam +CEU NA07029 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA07029/cg_data/NA07029_lcl_SRR800229.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.CEU.high_coverage.20130401.bam +CEU NA10856 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA10856/cg_data/NA10856_lcl_SRR800235.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.CEU.high_coverage.20130401.bam +CEU NA12546 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA12546/cg_data/NA12546_lcl_SRR800124.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.CEU.high_coverage.20130401.bam +CEU NA11995 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA11995/cg_data/NA11995_lcl_SRR799951.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.CEU.high_coverage.20130401.bam +PEL HG01952 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG01952/cg_data/HG01952_blood_SRR801083.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceSupport.PEL.high_coverage.20130401.bam +CEU NA12776 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/NA12776/cg_data/NA12776_lcl_SRR800086.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.CEU.high_coverage.20130401.bam diff --git a/infrastructure/systems/Shark/bio/input_small.txt b/infrastructure/systems/Shark/bio/input_small.txt new file mode 100644 index 00000000..d83169d3 --- /dev/null +++ b/infrastructure/systems/Shark/bio/input_small.txt @@ -0,0 +1 @@ +CHS HG00614 ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG00614/cg_data/HG00614_lcl_SRR821831.mapped.COMPLETE_GENOMICS.CGworkflow2_2_evidenceOnly.CHS.high_coverage.20130401.bam diff --git a/infrastructure/systems/Shark/bio/run.sh b/infrastructure/systems/Shark/bio/run.sh new file mode 100755 index 00000000..960ca924 --- /dev/null +++ b/infrastructure/systems/Shark/bio/run.sh @@ -0,0 +1,13 @@ +# create bam files with regions +################### 1KG SAMPLES +IN=inputs +IN_NAME=input.txt +OUT=outputs + +if [[ "$@" == *"--small"* ]]; then + IN_NAME=input_small.txt +fi + +BENCHMARK_SHELL=${BENCHMARK_SHELL:-bash} + +"$BENCHMARK_SHELL" ./scripts/bio.sh "$IN" "$IN_NAME" "$OUT" diff --git a/infrastructure/systems/Shark/bio/scripts/bio.sh b/infrastructure/systems/Shark/bio/scripts/bio.sh new file mode 100755 index 00000000..4a9ff952 --- /dev/null +++ b/infrastructure/systems/Shark/bio/scripts/bio.sh @@ -0,0 +1,72 @@ +#!/bin/bash + +# cd "$(dirname "$0")"/.. || exit 1 + +# IN="$1" +# IN_NAME="$2" +# OUT="$3" + +# cat ${IN_NAME}|while read s_line; +# do +# sample=$(echo $s_line |cut -d " " -f 2); +# pop=$(echo $s_line |cut -f 1 -d " "); +# link=$(echo $s_line |cut -f 3 -d " "); +# ### correcting labeling of chromosomes so that all are 1,2,3.. instead of chr1,chr2 or chromosome1 etc +# echo "Processing Sample $sample"; +# # uniform the chromosomes in the file due to inconsistencies +# samtools view -H "${IN}/$sample".bam | sed -e 's/SN:\([0-9XY]\)/SN:chr\1/' -e 's/SN:MT/SN:chrM/' \ +# | samtools reheader - "${IN}/$sample".bam > "${OUT}/$sample"_corrected.bam ; +# # create bai file +# samtools index -b "${OUT}/$sample"_corrected.bam ; +# ### Isolating each relevant chromosome based on Gen_locs +# cut -f 2 ./Gene_locs.txt |sort |uniq |while read chr; +# do +# echo 'Isolating Chromosome '$chr' from sample '${OUT}/$sample', '; +# samtools view -b "${OUT}/$sample"_corrected.bam chr"$chr" > "${OUT}/$pop"_"$sample"_"$chr".bam ; +# echo 'Indexing Sample '$pop'_'${OUT}/$sample' '; +# samtools index -b "${OUT}/$pop"_"$sample"_"$chr".bam; +# done; +# #rm "${OUT}/$sample"_corrected.bam; +# #rm "${OUT}/$sample"_corrected.bam.bai; +# #rm "${OUT}/$sample".bam +# done; + +cd "$(dirname "$0")"/.. || exit 1 + +IN="$1" +IN_NAME="$2" +OUT="$3" + +process_sample() { + s_line=$1 + sample=$(echo "$s_line" | awk '{print $2}') + pop=$(echo "$s_line" | awk '{print $1}') + link=$(echo "$s_line" | awk '{print $3}') + + echo "Processing Sample $sample" + + # Correct labeling of chromosomes and reheader BAM file + samtools view -H "${IN}/${sample}.bam" | sed -e 's/SN:\([0-9XY]\)/SN:chr\1/' -e 's/SN:MT/SN:chrM/' \ + | samtools reheader - "${IN}/${sample}.bam" > "${OUT}/${sample}_corrected.bam" + + # Create index file for the corrected BAM + samtools index -b "${OUT}/${sample}_corrected.bam" + + # Isolate chromosomes based on Gen_locs + while read -r chr; do + echo "Isolating Chromosome ${chr} from sample ${OUT}/${sample}" + samtools view -b "${OUT}/${sample}_corrected.bam" chr"${chr}" > "${OUT}/${pop}_${sample}_${chr}.bam" + done < <(cut -f 2 ./Gene_locs.txt | sort -u) + + # Index isolated chromosome BAM files + while read -r chr; do + samtools index -b "${OUT}/${pop}_${sample}_${chr}.bam" + done < <(cut -f 2 ./Gene_locs.txt | sort -u) +} + +export -f process_sample + +while read -r s_line; do + process_sample "$s_line" & +done < "$IN_NAME" +wait diff --git a/infrastructure/systems/Shark/bio/verify.sh b/infrastructure/systems/Shark/bio/verify.sh new file mode 100755 index 00000000..8268b3f2 --- /dev/null +++ b/infrastructure/systems/Shark/bio/verify.sh @@ -0,0 +1,58 @@ +#!/bin/bash + +# Exit immediately if a command exits with a non-zero status +# set -e + +cd "$(realpath $(dirname "$0"))" + +hash_folder="hashes" +directory="outputs" + +mkdir -p $hash_folder + +if [[ "$@" == *"--generate"* ]]; then + + # get total number of files + total_files=$(ls "$directory"/*.bam | wc -l) + + # Loop through all .bam files in the directory + for file in "$directory"/*.bam + do + # Extract the filename without the directory path and extension + filename=$(basename "$file" .bam) + + # Generate SHA-256 hash + hash=$(shasum -a 256 "$file" | awk '{ print $1 }') + + # Save the hash to a file + echo "$hash" > "$hash_folder/$filename.hash" + + # Print the filename and hash + echo "File: $hash_folder/$filename.hash | SHA-256 Hash: $hash" + done + + exit 0 +fi + +# Loop through all .bam files in the current directory +for file in "$directory"/*.bam +do + + # Extract the filename without the directory path and extension + filename=$(basename "$file" .bam) + + if [ ! -f "$folder/$filename.hash" ]; then + # Generate SHA-256 hash + hash=$(shasum -a 256 "$file" | awk '{ print $1 }') + + # Save the hash to a file + echo "$hash" > "$folder/$filename.hash" + fi + + # Compare the hash with the hash in the hashes directory + diff "$hash_folder/$filename.hash" "$folder/$filename.hash" > /dev/null + match="$?" + + # Print the filename and match + echo "$folder/$filename $match" +done diff --git a/infrastructure/systems/Shark/covid-mts/.gitignore b/infrastructure/systems/Shark/covid-mts/.gitignore new file mode 100644 index 00000000..f72f5fdc --- /dev/null +++ b/infrastructure/systems/Shark/covid-mts/.gitignore @@ -0,0 +1,2 @@ +inputs/ +outputs/ diff --git a/infrastructure/systems/Shark/covid-mts/cleanup.sh b/infrastructure/systems/Shark/covid-mts/cleanup.sh new file mode 100755 index 00000000..d8680650 --- /dev/null +++ b/infrastructure/systems/Shark/covid-mts/cleanup.sh @@ -0,0 +1,9 @@ +#!/bin/bash + +REPO_TOP=$(git rev-parse --show-toplevel) +eval_dir="${REPO_TOP}/covid-mts" +outputs_dir="${eval_dir}/outputs" +input_dir="${eval_dir}/input" + +rm -rf "$outputs_dir" +rm -rf "$input_dir" diff --git a/infrastructure/systems/Shark/covid-mts/deps.sh b/infrastructure/systems/Shark/covid-mts/deps.sh new file mode 100755 index 00000000..4d423348 --- /dev/null +++ b/infrastructure/systems/Shark/covid-mts/deps.sh @@ -0,0 +1,14 @@ +#!/bin/bash + +sudo apt update + +sudo apt install -y \ + sudo \ + curl \ + wget \ + unzip \ + python3-pip \ + vim \ + libarchive-tools libncurses5-dev libncursesw5-dev zstd liblzma-dev libbz2-dev zip unzip \ + git + diff --git a/infrastructure/systems/Shark/covid-mts/hashes/outputs.md5sum b/infrastructure/systems/Shark/covid-mts/hashes/outputs.md5sum new file mode 100644 index 00000000..a5d5e642 --- /dev/null +++ b/infrastructure/systems/Shark/covid-mts/hashes/outputs.md5sum @@ -0,0 +1,4 @@ +49b36b9a7531dc79e0d9040ceced1461 outputs/1.out +2596cd73ea1406ae863d853899957def outputs/2.out +6a6df2aec7e1ba347f0c7f5b39fbdc6b outputs/3.out +e1612db0634d0eff467c0e6dcf287755 outputs/4.out diff --git a/infrastructure/systems/Shark/covid-mts/hashes/outputs_small.md5sum b/infrastructure/systems/Shark/covid-mts/hashes/outputs_small.md5sum new file mode 100644 index 00000000..d227e44c --- /dev/null +++ b/infrastructure/systems/Shark/covid-mts/hashes/outputs_small.md5sum @@ -0,0 +1,4 @@ +7f8dd6c33d3a13de844bcdef61ecce4d outputs_small/1.out +011d767cb5741eab175c31462ff63b54 outputs_small/2.out +645c86dfc08a2233edf50613327adaa3 outputs_small/3.out +79fec1cbbb6e608413ffce247120d859 outputs_small/4.out diff --git a/infrastructure/systems/Shark/covid-mts/input.sh b/infrastructure/systems/Shark/covid-mts/input.sh new file mode 100755 index 00000000..e24dfadd --- /dev/null +++ b/infrastructure/systems/Shark/covid-mts/input.sh @@ -0,0 +1,11 @@ +#!/bin/bash + +REPO_TOP=$(git rev-parse --show-toplevel) +eval_dir="${REPO_TOP}/covid-mts" +input_dir="${eval_dir}/input" + +mkdir -p "$input_dir" + +curl --insecure 'https://atlas-group.cs.brown.edu/data/covid-mts/in.csv.gz' | gunzip > "$input_dir/in.csv" + +curl --insecure 'https://atlas-group.cs.brown.edu/data/covid-mts/in_small.csv.gz' | gunzip > "$input_dir/in_small.csv" diff --git a/infrastructure/systems/Shark/covid-mts/run.sh b/infrastructure/systems/Shark/covid-mts/run.sh new file mode 100755 index 00000000..57d478e2 --- /dev/null +++ b/infrastructure/systems/Shark/covid-mts/run.sh @@ -0,0 +1,24 @@ +#!/bin/bash + +REPO_TOP=$(git rev-parse --show-toplevel) +eval_dir="${REPO_TOP}/covid-mts" +input_dir="${eval_dir}/input" +outputs_dir="${eval_dir}/outputs" +scripts_dir="${eval_dir}/scripts" + +suffix="" +if [[ "$@" == *"--small"* ]]; then + suffix="_small" +fi + +input_file="$input_dir/in$suffix.csv" +output_scoped="$outputs_dir/outputs$suffix" +mkdir -p "$output_scoped" + +BENCHMARK_SHELL=${BENCHMARK_SHELL:-bash} + +$BENCHMARK_SHELL "$scripts_dir/1.sh" "$input_file" > "$output_scoped/1.out" +$BENCHMARK_SHELL "$scripts_dir/2.sh" "$input_file" > "$output_scoped/2.out" +$BENCHMARK_SHELL "$scripts_dir/3.sh" "$input_file" > "$output_scoped/3.out" +$BENCHMARK_SHELL "$scripts_dir/4.sh" "$input_file" > "$output_scoped/4.out" + diff --git a/infrastructure/systems/Shark/covid-mts/scripts/1.sh b/infrastructure/systems/Shark/covid-mts/scripts/1.sh new file mode 100755 index 00000000..ef56fe7b --- /dev/null +++ b/infrastructure/systems/Shark/covid-mts/scripts/1.sh @@ -0,0 +1,29 @@ +#!/bin/bash +# Vehicles on the road per day + +# out1 + +# curl https://balab.aueb.gr/~dds/oasa-$(date --date='1 days ago' +'%y-%m-%d').bz2 | +# bzip2 -d | # decompress +# Replace the line below with the two lines above to stream the latest file +# cat "$1" | # assumes saved input +# sed 's/T..:..:..//' | # hide times +# cut -d ',' -f 1,3 | # keep only day and bus no +# sort -u | # remove duplicate records due to time +# cut -d ',' -f 1 | # keep all dates +# sort | # preparing for uniq +# uniq -c | # count unique dates +# awk "{print \$2,\$1}" # print first date, then count + +sed 's/T..:..:..//' "$1" | # hide times directly from the input file + cut -d ',' -f 1,3 | # keep only day and bus no + sort -u | # remove duplicate records + cut -d ',' -f 1 | # keep all dates + sort | # prepare for uniq + uniq -c | # count unique dates + awk '{print $2, $1}' # print date first, then count + +# diff out{1,} diff --git a/infrastructure/systems/Shark/covid-mts/scripts/2.sh b/infrastructure/systems/Shark/covid-mts/scripts/2.sh new file mode 100755 index 00000000..87389a6e --- /dev/null +++ b/infrastructure/systems/Shark/covid-mts/scripts/2.sh @@ -0,0 +1,31 @@ +#!/bin/bash +# Days a vehicle is on the road + +# out1 + +# curl https://balab.aueb.gr/~dds/oasa-$(date --date='1 days ago' +'%y-%m-%d').bz2 | +# bzip2 -d | # decompress +# Replace the line below with the two lines above to stream the latest file +# cat "$1" | # assumes saved input +# sed 's/T..:..:..//' | # hide times +# cut -d ',' -f 3,1 | # keep only day and bus ID +# sort -u | # removing duplicate day-buses +# cut -d ',' -f 2 | # keep only bus ID +# sort | # preparing for uniq +# uniq -c | # count unique dates +# sort -k 1 -n | # sort in reverse numerical order +# awk "{print \$2,\$1}" # print first date, then count + +sed 's/T..:..:..//' "$1" | # hide times + cut -d ',' -f 3,1 | # keep only day and bus ID + sort -u | # removing duplicate day-buses + cut -d ',' -f 2 | # keep only bus ID + sort | # preparing for uniq + uniq -c | # count unique dates + sort -k 1 -n | # sort in reverse numerical order + awk "{print \$2,\$1}" # print first date, then count + +# diff out{1,} diff --git a/infrastructure/systems/Shark/covid-mts/scripts/3.sh b/infrastructure/systems/Shark/covid-mts/scripts/3.sh new file mode 100755 index 00000000..065a0cf4 --- /dev/null +++ b/infrastructure/systems/Shark/covid-mts/scripts/3.sh @@ -0,0 +1,31 @@ +#!/bin/bash +# Hours each vehicle is on the road + +# out1 + +# curl https://balab.aueb.gr/~dds/oasa-$(date --date='1 days ago' +'%y-%m-%d').bz2 | +# bzip2 -d | # decompress +# Replace the line below with the two lines above to stream the latest file +# cat "$1" | # assumes saved input +# sed 's/T\(..\):..:../,\1/' | # keep times only +# cut -d ',' -f 1,2,4 | # keep only time date and bus id +# sort -u | # removing duplicate entries +# cut -d ',' -f 3 | # keep only bus ID +# sort | # preparing for uniq +# uniq -c | # count hours per bus +# sort -k 1 -n | # sort in reverse numerical order +# awk "{print \$2,\$1}" # print first date, then count + +# diff out{1,} + +sed 's/T\(..\):..:../,\1/' "$1" | # keep times only + cut -d ',' -f 1,2,4 | # keep only time date and bus id + sort -u | # removing duplicate entries + cut -d ',' -f 3 | # keep only bus ID + sort | # preparing for uniq + uniq -c | # count hours per bus + sort -k 1 -n | # sort in reverse numerical order + awk '{print $2, $1}' # print first date, then count \ No newline at end of file diff --git a/infrastructure/systems/Shark/covid-mts/scripts/4.sh b/infrastructure/systems/Shark/covid-mts/scripts/4.sh new file mode 100755 index 00000000..1224a808 --- /dev/null +++ b/infrastructure/systems/Shark/covid-mts/scripts/4.sh @@ -0,0 +1,29 @@ +#!/bin/bash +# Hours monitored each day + +# out diff --git a/infrastructure/systems/Shark/covid-mts/verify.sh b/infrastructure/systems/Shark/covid-mts/verify.sh new file mode 100755 index 00000000..83521719 --- /dev/null +++ b/infrastructure/systems/Shark/covid-mts/verify.sh @@ -0,0 +1,22 @@ +#!/bin/bash + +REPO_TOP=$(git rev-parse --show-toplevel) +eval_dir="${REPO_TOP}/covid-mts" +outputs_dir="${eval_dir}/outputs" +scripts_dir="${eval_dir}/scripts" +hashes_dir="${eval_dir}/hashes" + +suffix="" +if [[ "$@" == *"--small"* ]]; then + suffix="_small" +fi + +if [[ "$@" == *"--generate"* ]]; then + # give relative paths to md5sum + (cd "$outputs_dir"; md5sum "outputs$suffix"/* > "$hashes_dir/outputs$suffix.md5sum") + exit 0 +fi + +# give relative paths to md5sum +(cd "$outputs_dir"; md5sum --check --quiet --status "$hashes_dir/outputs$suffix.md5sum") +echo covid-mts$suffix $? diff --git a/infrastructure/systems/Shark/file-enc/.gitignore b/infrastructure/systems/Shark/file-enc/.gitignore new file mode 100644 index 00000000..47ab813f --- /dev/null +++ b/infrastructure/systems/Shark/file-enc/.gitignore @@ -0,0 +1,2 @@ +input/ +results/ diff --git a/infrastructure/systems/Shark/file-enc/cleanup.sh b/infrastructure/systems/Shark/file-enc/cleanup.sh new file mode 100755 index 00000000..3095df7a --- /dev/null +++ b/infrastructure/systems/Shark/file-enc/cleanup.sh @@ -0,0 +1,7 @@ +#!/bin/bash + +REPO_TOP=$(git rev-parse --show-toplevel) +eval_dir="${REPO_TOP}/file-enc" +results_dir="${eval_dir}/results" + +rm -rf $results_dir diff --git a/infrastructure/systems/Shark/file-enc/deps.sh b/infrastructure/systems/Shark/file-enc/deps.sh new file mode 100755 index 00000000..d4c4b3e1 --- /dev/null +++ b/infrastructure/systems/Shark/file-enc/deps.sh @@ -0,0 +1,7 @@ +sudo apt-get update + +pkgs='ffmpeg unrtf imagemagick libarchive-tools libncurses5-dev libncursesw5-dev zstd liblzma-dev libbz2-dev zip unzip nodejs tcpdump' + +if ! dpkg -s $pkgs >/dev/null 2>&1 ; then + sudo apt-get install $pkgs -y +fi diff --git a/infrastructure/systems/Shark/file-enc/hashes/compress_files.full.md5sum b/infrastructure/systems/Shark/file-enc/hashes/compress_files.full.md5sum new file mode 100644 index 00000000..88928f19 --- /dev/null +++ b/infrastructure/systems/Shark/file-enc/hashes/compress_files.full.md5sum @@ -0,0 +1,63 @@ +3e27aae244b48b1e5a1bd9a7466c50a6 results/compress_files.full/challenge101-0.pcapng.zip +8c8408e8885a583a83ff1b1e15658a9c results/compress_files.full/challenge101-1.pcapng.zip +54af74fde4696771ae55653f342a371c results/compress_files.full/challenge101-3.pcapng.zip +275ddde94d41ae348e297627121fd4f8 results/compress_files.full/challenge101-4.pcapng.zip +2df2aa2ec8e556d3c014c6ac3723d796 results/compress_files.full/challenge101-5.pcapng.zip +e0e9f3d76d443ee11c86295566baac91 results/compress_files.full/challenge101-6.pcapng.zip +2d5812578f75290e946e25f633b2bb2d results/compress_files.full/challenge101-7.pcapng.zip +af352300646283262bc912408b3eac7f results/compress_files.full/challenge101-8.pcapng.zip +38147ba28e39e63c54abae2c3f0742c2 results/compress_files.full/dhcp-serverdiscovery101.pcapng.zip +432eb20390209e4168642bfd2f3e31b1 results/compress_files.full/dns-nmap101.pcapng.zip +a1788f3a9333658f4115ed42567cd1e8 results/compress_files.full/ftp-bounce.pcapng.zip +4caadd0b69eaeb0c98a2a7b350a5a17b results/compress_files.full/ftp-clientside101.pcapng.zip +c2669c6895becc73907c90e262188f4e results/compress_files.full/ftp-crack101.pcapng.zip +5c2e3a38f8b16dad5e248505440e69b8 results/compress_files.full/ftp-download101.pcapng.zip +47be65eb2838c732da23cea93e6db692 results/compress_files.full/ftp-passwords101.pcapng.zip +27b148685fb71f9c4456decf90b5a59a results/compress_files.full/gen-startupchatty101.pcapng.zip +431ff7b35f1b89817c65a4fb9e145167 results/compress_files.full/general101.pcapng.zip +648201a68f6d7a39363a1b9c1f518684 results/compress_files.full/general101b.pcapng.zip +6806e7e4238d352dd9a6ca625d9a9d6d results/compress_files.full/general101c.pcapng.zip +ddd1d30f5a7f220136333bd3cf8027f8 results/compress_files.full/general101d.pcapng.zip +980657d7caf4efb47dc0ab5707492ecb results/compress_files.full/http-au101b.pcapng.zip +9ace4027bb68128eb03224730d6e0326 results/compress_files.full/http-browse101.pcapng.zip +816085d2ad1998d6965421cfd50f27bc results/compress_files.full/http-browse101b.pcapng.zip +f59af030454a5adc45aa700c1753865c results/compress_files.full/http-browse101c.pcapng.zip +f59af030454a5adc45aa700c1753865c results/compress_files.full/http-browse101d.pcapng.zip +d195c841dd5d0f28ac56a4a177c5749f results/compress_files.full/http-chappellu101.pcapng.zip +e6bbb1be7aff2a1ef547670fecd32f4a results/compress_files.full/http-chappellu101b.pcapng.zip +507db19b51c20bfe3e05210bd40b312f results/compress_files.full/http-cheez101.pcapng.zip +ff2f416392481deb2014c6ced5f51d1e results/compress_files.full/http-college101.pcapng.zip +9a6a514024c1bcf8beca47cc93d8828e results/compress_files.full/http-disney101.pcapng.zip +4ad3b00e0b37f99bbe01008da013a52a results/compress_files.full/http-download-a.pcapng.zip +1d5d68a2fc754892d5e15e1909fb7f15 results/compress_files.full/http-download101.pcapng.zip +d671feef76f43aeb43773e04eae5acfb results/compress_files.full/http-download101c.pcapng.zip +33857a0a07dd8a53049fa89a3ef89720 results/compress_files.full/http-download101d.pcapng.zip +172c16283eb823e649d4695d9bc5deae results/compress_files.full/http-errors101.pcapng.zip +b5fba2cf8e1857d8309f8de12cb4c8a4 results/compress_files.full/http-espn101.pcapng.zip +4ee5d7d3318f2bdeb5a8a7e4c760f628 results/compress_files.full/http-google101.pcapng.zip +2fbbafd9ef27a1ee7cdfa74487201fee results/compress_files.full/http-jezebel101.pcapng.zip +e5a0d208128a4dd7dc4b4a9d391b362a results/compress_files.full/http-misctraffic101.pcapng.zip +2daa03a13da2bac6c71dda0e943a346f results/compress_files.full/http-nonstandard101.pcapng.zip +0a51d599245b47f7fee97b114d86fa34 results/compress_files.full/http-openoffice101a.pcapng.zip +a1aa7a20824e5306b99c5e6341be76fe results/compress_files.full/http-openoffice101b.pcapng.zip +8edc3d698e4dfd5e370328cff3f5b735 results/compress_files.full/http-pcaprnet101.pcapng.zip +005148970b1871c100bb172747885282 results/compress_files.full/http-pictures101.pcapng.zip +16bafdc54b76dd9206c6c24830fa72d3 results/compress_files.full/http-sfgate101.pcapng.zip +f9f64c42da51498e94d5289fa11e6320 results/compress_files.full/http-slow101.pcapng.zip +df9730224fc96f6056b169ae00679d94 results/compress_files.full/http-wiresharkdownload101.pcapng.zip +0e96fea43949924c231e4eaff433a969 results/compress_files.full/mybackground101.pcapng.zip +99a9753187eaf0566527c0a5ca52a319 results/compress_files.full/net-lost-route.pcapng.zip +266cdbb5641d630fc703a19af51790ef results/compress_files.full/sec-concern101.pcapng.zip +bffcbb2732dc8e75fbaaafd1b933d196 results/compress_files.full/sec-nessus101.pcapng.zip +30362a3e207aaca7bd358135f4b8b8d4 results/compress_files.full/sec-suspicious101.pcapng.zip +a4199fab7f9df58c4b40468591575987 results/compress_files.full/smb-join101.pcapng.zip +ea26226adbfdba2439724a067f588300 results/compress_files.full/split250_00000_20160704110754.pcapng.zip +f7ff64497f4b0ef38cd31dbc483ca382 results/compress_files.full/split250_00001_20160704110759.pcapng.zip +847c52d42f9edcaa162854ce73ef6822 results/compress_files.full/split250_00002_20160704110759.pcapng.zip +a1269ed6fa67a744c2d9b31dd1701ac8 results/compress_files.full/split250_00003_20160704110759.pcapng.zip +a9ae0210d8d7beed142902a711f08dd0 results/compress_files.full/split250_00004_20160704110759.pcapng.zip +7f4678a8b88ea573819e8391f97b2658 results/compress_files.full/split250_00005_20160704110804.pcapng.zip +ec17df9620e4fcc45c39804925a491db results/compress_files.full/tcp-decodeas.pcapng.zip +90744d7bf13e6a158306594cb6c2bb7b results/compress_files.full/tr-twohosts.pcapng.zip +d4c1e9dcdef3d6548f961f5bf0befc16 results/compress_files.full/tr-winsize.pcapng.zip +19bce397c4025bacd701e6a2d2c88ef1 results/compress_files.full/wlan-ipadstartstop101.pcapng.zip diff --git a/infrastructure/systems/Shark/file-enc/hashes/compress_files.small.md5sum b/infrastructure/systems/Shark/file-enc/hashes/compress_files.small.md5sum new file mode 100644 index 00000000..340ab9e9 --- /dev/null +++ b/infrastructure/systems/Shark/file-enc/hashes/compress_files.small.md5sum @@ -0,0 +1,63 @@ +3e27aae244b48b1e5a1bd9a7466c50a6 results/compress_files.small/challenge101-0.pcapng.zip +8c8408e8885a583a83ff1b1e15658a9c results/compress_files.small/challenge101-1.pcapng.zip +54af74fde4696771ae55653f342a371c results/compress_files.small/challenge101-3.pcapng.zip +275ddde94d41ae348e297627121fd4f8 results/compress_files.small/challenge101-4.pcapng.zip +2df2aa2ec8e556d3c014c6ac3723d796 results/compress_files.small/challenge101-5.pcapng.zip +e0e9f3d76d443ee11c86295566baac91 results/compress_files.small/challenge101-6.pcapng.zip +2d5812578f75290e946e25f633b2bb2d results/compress_files.small/challenge101-7.pcapng.zip +af352300646283262bc912408b3eac7f results/compress_files.small/challenge101-8.pcapng.zip +38147ba28e39e63c54abae2c3f0742c2 results/compress_files.small/dhcp-serverdiscovery101.pcapng.zip +432eb20390209e4168642bfd2f3e31b1 results/compress_files.small/dns-nmap101.pcapng.zip +a1788f3a9333658f4115ed42567cd1e8 results/compress_files.small/ftp-bounce.pcapng.zip +4caadd0b69eaeb0c98a2a7b350a5a17b results/compress_files.small/ftp-clientside101.pcapng.zip +c2669c6895becc73907c90e262188f4e results/compress_files.small/ftp-crack101.pcapng.zip +5c2e3a38f8b16dad5e248505440e69b8 results/compress_files.small/ftp-download101.pcapng.zip +47be65eb2838c732da23cea93e6db692 results/compress_files.small/ftp-passwords101.pcapng.zip +27b148685fb71f9c4456decf90b5a59a results/compress_files.small/gen-startupchatty101.pcapng.zip +431ff7b35f1b89817c65a4fb9e145167 results/compress_files.small/general101.pcapng.zip +648201a68f6d7a39363a1b9c1f518684 results/compress_files.small/general101b.pcapng.zip +6806e7e4238d352dd9a6ca625d9a9d6d results/compress_files.small/general101c.pcapng.zip +ddd1d30f5a7f220136333bd3cf8027f8 results/compress_files.small/general101d.pcapng.zip +980657d7caf4efb47dc0ab5707492ecb results/compress_files.small/http-au101b.pcapng.zip +9ace4027bb68128eb03224730d6e0326 results/compress_files.small/http-browse101.pcapng.zip +816085d2ad1998d6965421cfd50f27bc results/compress_files.small/http-browse101b.pcapng.zip +f59af030454a5adc45aa700c1753865c results/compress_files.small/http-browse101c.pcapng.zip +f59af030454a5adc45aa700c1753865c results/compress_files.small/http-browse101d.pcapng.zip +d195c841dd5d0f28ac56a4a177c5749f results/compress_files.small/http-chappellu101.pcapng.zip +e6bbb1be7aff2a1ef547670fecd32f4a results/compress_files.small/http-chappellu101b.pcapng.zip +507db19b51c20bfe3e05210bd40b312f results/compress_files.small/http-cheez101.pcapng.zip +ff2f416392481deb2014c6ced5f51d1e results/compress_files.small/http-college101.pcapng.zip +9a6a514024c1bcf8beca47cc93d8828e results/compress_files.small/http-disney101.pcapng.zip +4ad3b00e0b37f99bbe01008da013a52a results/compress_files.small/http-download-a.pcapng.zip +1d5d68a2fc754892d5e15e1909fb7f15 results/compress_files.small/http-download101.pcapng.zip +d671feef76f43aeb43773e04eae5acfb results/compress_files.small/http-download101c.pcapng.zip +33857a0a07dd8a53049fa89a3ef89720 results/compress_files.small/http-download101d.pcapng.zip +172c16283eb823e649d4695d9bc5deae results/compress_files.small/http-errors101.pcapng.zip +b5fba2cf8e1857d8309f8de12cb4c8a4 results/compress_files.small/http-espn101.pcapng.zip +4ee5d7d3318f2bdeb5a8a7e4c760f628 results/compress_files.small/http-google101.pcapng.zip +2fbbafd9ef27a1ee7cdfa74487201fee results/compress_files.small/http-jezebel101.pcapng.zip +e5a0d208128a4dd7dc4b4a9d391b362a results/compress_files.small/http-misctraffic101.pcapng.zip +2daa03a13da2bac6c71dda0e943a346f results/compress_files.small/http-nonstandard101.pcapng.zip +0a51d599245b47f7fee97b114d86fa34 results/compress_files.small/http-openoffice101a.pcapng.zip +a1aa7a20824e5306b99c5e6341be76fe results/compress_files.small/http-openoffice101b.pcapng.zip +8edc3d698e4dfd5e370328cff3f5b735 results/compress_files.small/http-pcaprnet101.pcapng.zip +005148970b1871c100bb172747885282 results/compress_files.small/http-pictures101.pcapng.zip +16bafdc54b76dd9206c6c24830fa72d3 results/compress_files.small/http-sfgate101.pcapng.zip +f9f64c42da51498e94d5289fa11e6320 results/compress_files.small/http-slow101.pcapng.zip +df9730224fc96f6056b169ae00679d94 results/compress_files.small/http-wiresharkdownload101.pcapng.zip +0e96fea43949924c231e4eaff433a969 results/compress_files.small/mybackground101.pcapng.zip +99a9753187eaf0566527c0a5ca52a319 results/compress_files.small/net-lost-route.pcapng.zip +266cdbb5641d630fc703a19af51790ef results/compress_files.small/sec-concern101.pcapng.zip +bffcbb2732dc8e75fbaaafd1b933d196 results/compress_files.small/sec-nessus101.pcapng.zip +30362a3e207aaca7bd358135f4b8b8d4 results/compress_files.small/sec-suspicious101.pcapng.zip +a4199fab7f9df58c4b40468591575987 results/compress_files.small/smb-join101.pcapng.zip +ea26226adbfdba2439724a067f588300 results/compress_files.small/split250_00000_20160704110754.pcapng.zip +f7ff64497f4b0ef38cd31dbc483ca382 results/compress_files.small/split250_00001_20160704110759.pcapng.zip +847c52d42f9edcaa162854ce73ef6822 results/compress_files.small/split250_00002_20160704110759.pcapng.zip +a1269ed6fa67a744c2d9b31dd1701ac8 results/compress_files.small/split250_00003_20160704110759.pcapng.zip +a9ae0210d8d7beed142902a711f08dd0 results/compress_files.small/split250_00004_20160704110759.pcapng.zip +7f4678a8b88ea573819e8391f97b2658 results/compress_files.small/split250_00005_20160704110804.pcapng.zip +ec17df9620e4fcc45c39804925a491db results/compress_files.small/tcp-decodeas.pcapng.zip +90744d7bf13e6a158306594cb6c2bb7b results/compress_files.small/tr-twohosts.pcapng.zip +d4c1e9dcdef3d6548f961f5bf0befc16 results/compress_files.small/tr-winsize.pcapng.zip +19bce397c4025bacd701e6a2d2c88ef1 results/compress_files.small/wlan-ipadstartstop101.pcapng.zip diff --git a/infrastructure/systems/Shark/file-enc/hashes/encrypt_files.full.md5sum b/infrastructure/systems/Shark/file-enc/hashes/encrypt_files.full.md5sum new file mode 100644 index 00000000..74c0bb55 --- /dev/null +++ b/infrastructure/systems/Shark/file-enc/hashes/encrypt_files.full.md5sum @@ -0,0 +1,63 @@ +79a563129ea4462bb0f9fcc02999ca47 results/encrypt_files.full/challenge101-0.pcapng.enc +72f177215928eae60baa4aea71096d22 results/encrypt_files.full/challenge101-1.pcapng.enc +5eddd98b61caa276777dead643646969 results/encrypt_files.full/challenge101-3.pcapng.enc +476c960fbba3da5ae126fd03d33b7d6e results/encrypt_files.full/challenge101-4.pcapng.enc +a798a8fec442ecdbf13e6c220ab3b87d results/encrypt_files.full/challenge101-5.pcapng.enc +d8fe01252d2c84f815bfc20be6116d2b results/encrypt_files.full/challenge101-6.pcapng.enc +b96e05b968bc2741bbe0e9126c650094 results/encrypt_files.full/challenge101-7.pcapng.enc +32a77f0a5e77f2b1a8701ba799ef07a6 results/encrypt_files.full/challenge101-8.pcapng.enc +6b2e1480addb2437249d961e25f685ce results/encrypt_files.full/dhcp-serverdiscovery101.pcapng.enc +d43a9efc8e08642afca0b847edf0d62c results/encrypt_files.full/dns-nmap101.pcapng.enc +bee237fda8eb060476e7459d8a82a260 results/encrypt_files.full/ftp-bounce.pcapng.enc +15a65173f776ed243def07a342419a0f results/encrypt_files.full/ftp-clientside101.pcapng.enc +1ae8615a1146e614a3702f81a88b945a results/encrypt_files.full/ftp-crack101.pcapng.enc +3615ed68f61e9e7b37db57d61dfbb575 results/encrypt_files.full/ftp-download101.pcapng.enc +9904738c24d97b003fa6631a860a3e82 results/encrypt_files.full/ftp-passwords101.pcapng.enc +ce7d99f75001540b0cf37f4d33df5c26 results/encrypt_files.full/gen-startupchatty101.pcapng.enc +845b349d2e0a0a6f179f8b1ab990dec5 results/encrypt_files.full/general101.pcapng.enc +55373332ebb6b615adf85525323cf10e results/encrypt_files.full/general101b.pcapng.enc +291b58f1ff97bf5c6d0a5f34b4bc74f4 results/encrypt_files.full/general101c.pcapng.enc +af476bf52c3e9bd8522c2dacce659f7d results/encrypt_files.full/general101d.pcapng.enc +f2f6755738e1e498ff7acfbcac036e76 results/encrypt_files.full/http-au101b.pcapng.enc +fae704f064c5fe2801cdf3fa883da025 results/encrypt_files.full/http-browse101.pcapng.enc +3e1f99f99f6a3c62811f56fcd893ffb5 results/encrypt_files.full/http-browse101b.pcapng.enc +c91d34e137fc632e03e1c8342e075e6c results/encrypt_files.full/http-browse101c.pcapng.enc +c91d34e137fc632e03e1c8342e075e6c results/encrypt_files.full/http-browse101d.pcapng.enc +3ba94e81def933662fb2daec7bcdfec6 results/encrypt_files.full/http-chappellu101.pcapng.enc +bae18f71600df772dbf7545e1b41f009 results/encrypt_files.full/http-chappellu101b.pcapng.enc +968505acb7a821719e789b1256465405 results/encrypt_files.full/http-cheez101.pcapng.enc +e24050aa294f86e7bcd447209b6b9597 results/encrypt_files.full/http-college101.pcapng.enc +4527e86177ce4ca03efc31b0bd42aa9b results/encrypt_files.full/http-disney101.pcapng.enc +357432b80b95869923720a1ee992ebd2 results/encrypt_files.full/http-download-a.pcapng.enc +5e2044dea6af49f8fcd4e31da5db9164 results/encrypt_files.full/http-download101.pcapng.enc +da5267648e5975f3a0c7f6aec87ecc6f results/encrypt_files.full/http-download101c.pcapng.enc +0d9189c98a1267422747ebc0817720cb results/encrypt_files.full/http-download101d.pcapng.enc +d90cedb92389f439d8986198f2c91ef7 results/encrypt_files.full/http-errors101.pcapng.enc +463af4c6ad5e34e5c191c7323d4b0cab results/encrypt_files.full/http-espn101.pcapng.enc +7d1850c672c31883a487091fbe20f09b results/encrypt_files.full/http-google101.pcapng.enc +ecab253cd20441f1b20c45ea2146f954 results/encrypt_files.full/http-jezebel101.pcapng.enc +57237086f4f411e3807026727ddeebeb results/encrypt_files.full/http-misctraffic101.pcapng.enc +13cc4c2ad44ac6b8eafbe9bbd041147e results/encrypt_files.full/http-nonstandard101.pcapng.enc +836042a8326bfd108416e766d0aad11b results/encrypt_files.full/http-openoffice101a.pcapng.enc +f7f6ebb4680adc2e07d56540f1ebab4a results/encrypt_files.full/http-openoffice101b.pcapng.enc +addfac5d402bf87e023af90a5688e3cc results/encrypt_files.full/http-pcaprnet101.pcapng.enc +d1d4a8c895cc6c17c867f4e2faa7ff80 results/encrypt_files.full/http-pictures101.pcapng.enc +27323678b42a80d59d1187073823f84d results/encrypt_files.full/http-sfgate101.pcapng.enc +7cd54a634135e3885f9f0607c6dcf144 results/encrypt_files.full/http-slow101.pcapng.enc +dacdbbcc002f0c5cf58186015987624e results/encrypt_files.full/http-wiresharkdownload101.pcapng.enc +0f8d8f8a9ddec4ccbd31b78e4ca90909 results/encrypt_files.full/mybackground101.pcapng.enc +5b613f632705cd7576c6c033ba05a8fd results/encrypt_files.full/net-lost-route.pcapng.enc +1c75a788081292e408375498e233a88d results/encrypt_files.full/sec-concern101.pcapng.enc +6aacb9fd2066cedb7588589b2a9082c7 results/encrypt_files.full/sec-nessus101.pcapng.enc +ade26bb2482339ca479fab372047a893 results/encrypt_files.full/sec-suspicious101.pcapng.enc +49cb3501cb311bd5b59b06416eb68ae1 results/encrypt_files.full/smb-join101.pcapng.enc +ed5e8c6437a47fcf456efdb59936099a results/encrypt_files.full/split250_00000_20160704110754.pcapng.enc +4bb6117d055c4218ffd2526a501a03ea results/encrypt_files.full/split250_00001_20160704110759.pcapng.enc +6f26cf9bb47a3c160b1ec4e9bacffa57 results/encrypt_files.full/split250_00002_20160704110759.pcapng.enc +29679f5e994300bcd9dd9acd219f3744 results/encrypt_files.full/split250_00003_20160704110759.pcapng.enc +7a0abab4af51e8f09985d5e184fa320f results/encrypt_files.full/split250_00004_20160704110759.pcapng.enc +1dec29fb91359a7e6502ee50b9241b7f results/encrypt_files.full/split250_00005_20160704110804.pcapng.enc +74e0a6a1d82eaf932db246e09b6baa47 results/encrypt_files.full/tcp-decodeas.pcapng.enc +9780c3be57dfe95497eef5ac6bb6dbd6 results/encrypt_files.full/tr-twohosts.pcapng.enc +56ea825874fe5f8c337d3072c74ab17f results/encrypt_files.full/tr-winsize.pcapng.enc +5317948e392cce721aaf36851a2d22c6 results/encrypt_files.full/wlan-ipadstartstop101.pcapng.enc diff --git a/infrastructure/systems/Shark/file-enc/hashes/encrypt_files.small.md5sum b/infrastructure/systems/Shark/file-enc/hashes/encrypt_files.small.md5sum new file mode 100644 index 00000000..c4e19d74 --- /dev/null +++ b/infrastructure/systems/Shark/file-enc/hashes/encrypt_files.small.md5sum @@ -0,0 +1,63 @@ +79a563129ea4462bb0f9fcc02999ca47 results/encrypt_files.small/challenge101-0.pcapng.enc +72f177215928eae60baa4aea71096d22 results/encrypt_files.small/challenge101-1.pcapng.enc +5eddd98b61caa276777dead643646969 results/encrypt_files.small/challenge101-3.pcapng.enc +476c960fbba3da5ae126fd03d33b7d6e results/encrypt_files.small/challenge101-4.pcapng.enc +a798a8fec442ecdbf13e6c220ab3b87d results/encrypt_files.small/challenge101-5.pcapng.enc +d8fe01252d2c84f815bfc20be6116d2b results/encrypt_files.small/challenge101-6.pcapng.enc +b96e05b968bc2741bbe0e9126c650094 results/encrypt_files.small/challenge101-7.pcapng.enc +32a77f0a5e77f2b1a8701ba799ef07a6 results/encrypt_files.small/challenge101-8.pcapng.enc +6b2e1480addb2437249d961e25f685ce results/encrypt_files.small/dhcp-serverdiscovery101.pcapng.enc +d43a9efc8e08642afca0b847edf0d62c results/encrypt_files.small/dns-nmap101.pcapng.enc +bee237fda8eb060476e7459d8a82a260 results/encrypt_files.small/ftp-bounce.pcapng.enc +15a65173f776ed243def07a342419a0f results/encrypt_files.small/ftp-clientside101.pcapng.enc +1ae8615a1146e614a3702f81a88b945a results/encrypt_files.small/ftp-crack101.pcapng.enc +3615ed68f61e9e7b37db57d61dfbb575 results/encrypt_files.small/ftp-download101.pcapng.enc +9904738c24d97b003fa6631a860a3e82 results/encrypt_files.small/ftp-passwords101.pcapng.enc +ce7d99f75001540b0cf37f4d33df5c26 results/encrypt_files.small/gen-startupchatty101.pcapng.enc +845b349d2e0a0a6f179f8b1ab990dec5 results/encrypt_files.small/general101.pcapng.enc +55373332ebb6b615adf85525323cf10e results/encrypt_files.small/general101b.pcapng.enc +291b58f1ff97bf5c6d0a5f34b4bc74f4 results/encrypt_files.small/general101c.pcapng.enc +af476bf52c3e9bd8522c2dacce659f7d results/encrypt_files.small/general101d.pcapng.enc +f2f6755738e1e498ff7acfbcac036e76 results/encrypt_files.small/http-au101b.pcapng.enc +fae704f064c5fe2801cdf3fa883da025 results/encrypt_files.small/http-browse101.pcapng.enc +3e1f99f99f6a3c62811f56fcd893ffb5 results/encrypt_files.small/http-browse101b.pcapng.enc +c91d34e137fc632e03e1c8342e075e6c results/encrypt_files.small/http-browse101c.pcapng.enc +c91d34e137fc632e03e1c8342e075e6c results/encrypt_files.small/http-browse101d.pcapng.enc +3ba94e81def933662fb2daec7bcdfec6 results/encrypt_files.small/http-chappellu101.pcapng.enc +bae18f71600df772dbf7545e1b41f009 results/encrypt_files.small/http-chappellu101b.pcapng.enc +968505acb7a821719e789b1256465405 results/encrypt_files.small/http-cheez101.pcapng.enc +e24050aa294f86e7bcd447209b6b9597 results/encrypt_files.small/http-college101.pcapng.enc +4527e86177ce4ca03efc31b0bd42aa9b results/encrypt_files.small/http-disney101.pcapng.enc +357432b80b95869923720a1ee992ebd2 results/encrypt_files.small/http-download-a.pcapng.enc +5e2044dea6af49f8fcd4e31da5db9164 results/encrypt_files.small/http-download101.pcapng.enc +da5267648e5975f3a0c7f6aec87ecc6f results/encrypt_files.small/http-download101c.pcapng.enc +0d9189c98a1267422747ebc0817720cb results/encrypt_files.small/http-download101d.pcapng.enc +d90cedb92389f439d8986198f2c91ef7 results/encrypt_files.small/http-errors101.pcapng.enc +463af4c6ad5e34e5c191c7323d4b0cab results/encrypt_files.small/http-espn101.pcapng.enc +7d1850c672c31883a487091fbe20f09b results/encrypt_files.small/http-google101.pcapng.enc +ecab253cd20441f1b20c45ea2146f954 results/encrypt_files.small/http-jezebel101.pcapng.enc +57237086f4f411e3807026727ddeebeb results/encrypt_files.small/http-misctraffic101.pcapng.enc +13cc4c2ad44ac6b8eafbe9bbd041147e results/encrypt_files.small/http-nonstandard101.pcapng.enc +836042a8326bfd108416e766d0aad11b results/encrypt_files.small/http-openoffice101a.pcapng.enc +f7f6ebb4680adc2e07d56540f1ebab4a results/encrypt_files.small/http-openoffice101b.pcapng.enc +addfac5d402bf87e023af90a5688e3cc results/encrypt_files.small/http-pcaprnet101.pcapng.enc +d1d4a8c895cc6c17c867f4e2faa7ff80 results/encrypt_files.small/http-pictures101.pcapng.enc +27323678b42a80d59d1187073823f84d results/encrypt_files.small/http-sfgate101.pcapng.enc +7cd54a634135e3885f9f0607c6dcf144 results/encrypt_files.small/http-slow101.pcapng.enc +dacdbbcc002f0c5cf58186015987624e results/encrypt_files.small/http-wiresharkdownload101.pcapng.enc +0f8d8f8a9ddec4ccbd31b78e4ca90909 results/encrypt_files.small/mybackground101.pcapng.enc +5b613f632705cd7576c6c033ba05a8fd results/encrypt_files.small/net-lost-route.pcapng.enc +1c75a788081292e408375498e233a88d results/encrypt_files.small/sec-concern101.pcapng.enc +6aacb9fd2066cedb7588589b2a9082c7 results/encrypt_files.small/sec-nessus101.pcapng.enc +ade26bb2482339ca479fab372047a893 results/encrypt_files.small/sec-suspicious101.pcapng.enc +49cb3501cb311bd5b59b06416eb68ae1 results/encrypt_files.small/smb-join101.pcapng.enc +ed5e8c6437a47fcf456efdb59936099a results/encrypt_files.small/split250_00000_20160704110754.pcapng.enc +4bb6117d055c4218ffd2526a501a03ea results/encrypt_files.small/split250_00001_20160704110759.pcapng.enc +6f26cf9bb47a3c160b1ec4e9bacffa57 results/encrypt_files.small/split250_00002_20160704110759.pcapng.enc +29679f5e994300bcd9dd9acd219f3744 results/encrypt_files.small/split250_00003_20160704110759.pcapng.enc +7a0abab4af51e8f09985d5e184fa320f results/encrypt_files.small/split250_00004_20160704110759.pcapng.enc +1dec29fb91359a7e6502ee50b9241b7f results/encrypt_files.small/split250_00005_20160704110804.pcapng.enc +74e0a6a1d82eaf932db246e09b6baa47 results/encrypt_files.small/tcp-decodeas.pcapng.enc +9780c3be57dfe95497eef5ac6bb6dbd6 results/encrypt_files.small/tr-twohosts.pcapng.enc +56ea825874fe5f8c337d3072c74ab17f results/encrypt_files.small/tr-winsize.pcapng.enc +5317948e392cce721aaf36851a2d22c6 results/encrypt_files.small/wlan-ipadstartstop101.pcapng.enc diff --git a/infrastructure/systems/Shark/file-enc/input.sh b/infrastructure/systems/Shark/file-enc/input.sh new file mode 100755 index 00000000..2862fa5a --- /dev/null +++ b/infrastructure/systems/Shark/file-enc/input.sh @@ -0,0 +1,16 @@ +#!/bin/bash + +REPO_TOP=$(git rev-parse --show-toplevel) +eval_dir="${REPO_TOP}/file-enc" +input_dir="${eval_dir}/input" + +mkdir -p $input_dir + +DATA_LINK=https://atlas-group.cs.brown.edu/data/pcaps.zip +ZIP_DST=$input_dir/pcaps.zip + +if [ ! -d $input_dir/pcaps ]; then + wget --no-check-certificate $DATA_LINK -O $ZIP_DST + unzip $ZIP_DST -d $input_dir + rm $ZIP_DST +fi diff --git a/infrastructure/systems/Shark/file-enc/run.sh b/infrastructure/systems/Shark/file-enc/run.sh new file mode 100755 index 00000000..2df87c9b --- /dev/null +++ b/infrastructure/systems/Shark/file-enc/run.sh @@ -0,0 +1,22 @@ +#!/bin/bash + +REPO_TOP=$(git rev-parse --show-toplevel) +eval_dir="${REPO_TOP}/file-enc" +input_dir="${eval_dir}/input" +results_dir="${eval_dir}/results" +scripts_dir="${eval_dir}/scripts" +mkdir -p $results_dir + +echo executing file-enc $(date) + +input_pcaps="$input_dir/pcaps" +suffix=".full" +if [[ "$1" == "--small" ]]; then + # TODO: prepare a smaller input + input_pcaps="$input_dir/pcaps" + suffix=".small" +fi + +BENCHMARK_SHELL=${BENCHMARK_SHELL:-bash} +$BENCHMARK_SHELL $scripts_dir/compress_files.sh $input_pcaps $results_dir/compress_files$suffix +$BENCHMARK_SHELL $scripts_dir/encrypt_files.sh $input_pcaps $results_dir/encrypt_files$suffix diff --git a/infrastructure/systems/Shark/file-enc/scripts/compress_files.sh b/infrastructure/systems/Shark/file-enc/scripts/compress_files.sh new file mode 100755 index 00000000..6b3ac7e4 --- /dev/null +++ b/infrastructure/systems/Shark/file-enc/scripts/compress_files.sh @@ -0,0 +1,18 @@ +#!/bin/bash +# compress all files in a directory +# mkdir -p $2 + +# for item in $1/*.pcapng; +# do +# output_name="$2/$(basename $item).zip" +# cat $item | gzip --no-name -c > $output_name +# done + +mkdir -p "$2" + +for item in "$1"/*.pcapng; do + output_name="$2/$(basename "$item").zip" + gzip --no-name -c "$item" > "$output_name" & +done +wait + diff --git a/infrastructure/systems/Shark/file-enc/scripts/encrypt_files.sh b/infrastructure/systems/Shark/file-enc/scripts/encrypt_files.sh new file mode 100755 index 00000000..51500fed --- /dev/null +++ b/infrastructure/systems/Shark/file-enc/scripts/encrypt_files.sh @@ -0,0 +1,27 @@ +#!/bin/bash +# encrypt all files in a directory +# mkdir -p $2 + +# pure_func() { +# openssl enc -aes-256-cbc -pbkdf2 -iter 20000 -k 'key' -S 1234567890abcdef +# } +# export -f pure_func + +# for item in $1/*.pcapng; +# do +# output_name="$2/$(basename $item).enc" +# cat $item | pure_func > $output_name +# done + +mkdir -p "$2" + +pure_func() { + openssl enc -aes-256-cbc -pbkdf2 -iter 20000 -k 'key' -S 1234567890abcdef +} +export -f pure_func + +for item in "$1"/*.pcapng; do + output_name="$2/$(basename "$item").enc" + pure_func < "$item" > "$output_name" & +done +wait diff --git a/infrastructure/systems/Shark/file-enc/verify.sh b/infrastructure/systems/Shark/file-enc/verify.sh new file mode 100755 index 00000000..e3bffbc6 --- /dev/null +++ b/infrastructure/systems/Shark/file-enc/verify.sh @@ -0,0 +1,33 @@ +# The output files .enc and .zip will vary across separate runs +# even for the same input file. Therefore, correctness check is omitted. + +#md5sum compress_files.full/* > /benchmarks/file-enc/hashes/compress_files.full.md5sum +#md5sum encrypt_files.full/* > /benchmarks/file-enc/hashes/encrypt_files.full.md5sum +#md5sum compress_files.full/* > /benchmarks/file-enc/hashes/compress_files.small.md5sum +#md5sum encrypt_files.full/* > /benchmarks/file-enc/hashes/encrypt_files.small.md5sum + +cd "$(realpath $(dirname "$0"))" + +results_dir="results" +hashes_dir="hashes" + +suffix=".full" +if [[ $@ == *"--small"* ]]; then + suffix=".small" +fi + +if [[ $@ == *"--generate"* ]]; then + md5sum $results_dir/compress_files$suffix/* > "$hashes_dir/compress_files$suffix.md5sum" + md5sum $results_dir/encrypt_files$suffix/* > "$hashes_dir/encrypt_files$suffix.md5sum" + exit 0 +fi + +okay=0 +if ! md5sum --check --quiet "$hashes_dir/encrypt_files$suffix.md5sum"; then + okay=1 + echo "encrypt_files $okay" +fi +if ! md5sum --check --quiet "$hashes_dir/compress_files$suffix.md5sum"; then + okay=1 + echo "compress_files $okay" +fi diff --git a/infrastructure/systems/Shark/log-analysis/.gitignore b/infrastructure/systems/Shark/log-analysis/.gitignore new file mode 100644 index 00000000..47ab813f --- /dev/null +++ b/infrastructure/systems/Shark/log-analysis/.gitignore @@ -0,0 +1,2 @@ +input/ +results/ diff --git a/infrastructure/systems/Shark/log-analysis/cleanup.sh b/infrastructure/systems/Shark/log-analysis/cleanup.sh new file mode 100755 index 00000000..de21a6d5 --- /dev/null +++ b/infrastructure/systems/Shark/log-analysis/cleanup.sh @@ -0,0 +1,8 @@ +#!/bin/bash + +REPO_TOP=$(git rev-parse --show-toplevel) +results_dir="${REPO_TOP}/log-analysis/input" +results_dir="${REPO_TOP}/log-analysis/results" + +rm -rf $input_dir +rm -rf $results_dir diff --git a/infrastructure/systems/Shark/log-analysis/deps.sh b/infrastructure/systems/Shark/log-analysis/deps.sh new file mode 100755 index 00000000..8a40589b --- /dev/null +++ b/infrastructure/systems/Shark/log-analysis/deps.sh @@ -0,0 +1,18 @@ +#!/bin/bash + +sudo apt update + +sudo apt install -y --no-install-recommends \ + sudo \ + tcpdump \ + curl \ + wget \ + unzip \ + samtools \ + minimap2 \ + bcftools \ + python3-pip \ + vim \ + ffmpeg unrtf imagemagick libarchive-tools libncurses5-dev libncursesw5-dev zstd liblzma-dev libbz2-dev zip unzip nodejs tcpdump \ + git + diff --git a/infrastructure/systems/Shark/log-analysis/hashes/nginx.full.md5sum b/infrastructure/systems/Shark/log-analysis/hashes/nginx.full.md5sum new file mode 100644 index 00000000..92d8d078 --- /dev/null +++ b/infrastructure/systems/Shark/log-analysis/hashes/nginx.full.md5sum @@ -0,0 +1,8 @@ +e1db42fe14aa938fb2f34bfc5735fd1b nginx.full/log0 +aaf7960c4ba2c7bf92db9590fdb38542 nginx.full/log1 +27633e1cfb60207d4ac901614f463a9f nginx.full/log2 +fd419b81767eda4cc9e5aaa1818b487c nginx.full/log3 +79450f4c4a79cb71ef96d7bc03943a98 nginx.full/log4 +db4185dd14527deb56e09f0099ad43b1 nginx.full/log5 +879fe7329abf549d56706f601f2a120f nginx.full/log6 +926b41adef30d4695d85cc12ece29334 nginx.full/log7 diff --git a/infrastructure/systems/Shark/log-analysis/hashes/nginx.small.md5sum b/infrastructure/systems/Shark/log-analysis/hashes/nginx.small.md5sum new file mode 100644 index 00000000..4273bc44 --- /dev/null +++ b/infrastructure/systems/Shark/log-analysis/hashes/nginx.small.md5sum @@ -0,0 +1,8 @@ +e1db42fe14aa938fb2f34bfc5735fd1b nginx.small/log0 +aaf7960c4ba2c7bf92db9590fdb38542 nginx.small/log1 +27633e1cfb60207d4ac901614f463a9f nginx.small/log2 +fd419b81767eda4cc9e5aaa1818b487c nginx.small/log3 +79450f4c4a79cb71ef96d7bc03943a98 nginx.small/log4 +db4185dd14527deb56e09f0099ad43b1 nginx.small/log5 +879fe7329abf549d56706f601f2a120f nginx.small/log6 +926b41adef30d4695d85cc12ece29334 nginx.small/log7 diff --git a/infrastructure/systems/Shark/log-analysis/hashes/pcaps.full.md5sum b/infrastructure/systems/Shark/log-analysis/hashes/pcaps.full.md5sum new file mode 100644 index 00000000..b7de5d7a --- /dev/null +++ b/infrastructure/systems/Shark/log-analysis/hashes/pcaps.full.md5sum @@ -0,0 +1,69 @@ +4e489b35942d0c45d8b16d1cb1a06210 pcaps.full/4SICS-GeekLounge-151020.pcap.log +890b35d7af03d13aab446e306ba60782 pcaps.full/4SICS-GeekLounge-151021.pcap.log +1ebd451920d098aa4b7002054900a0b8 pcaps.full/4SICS-GeekLounge-151022.pcap.log +d41d8cd98f00b204e9800998ecf8427e pcaps.full/README.log +f5b48dd8c8037efc43951efc3e1e16af pcaps.full/challenge101-0.pcapng.log +6b2c4e89211bc977ac538ad218845794 pcaps.full/challenge101-1.pcapng.log +765d385418861c272c081f85abee4448 pcaps.full/challenge101-3.pcapng.log +6c5777e9a6a4601487f5bb0d637eaef0 pcaps.full/challenge101-4.pcapng.log +2b632ea272f075b62a1779e6b79c262b pcaps.full/challenge101-5.pcapng.log +431993ece40a4f8081cc949661be3b98 pcaps.full/challenge101-6.pcapng.log +fe1fcee267a72f20de6abd423344b247 pcaps.full/challenge101-7.pcapng.log +63382ae6dddcc347be2f140853ab57a3 pcaps.full/challenge101-8.pcapng.log +d41d8cd98f00b204e9800998ecf8427e pcaps.full/dhcp-serverdiscovery101.pcapng.log +9267a406fc3cca0cb4d7b755169df6be pcaps.full/dns-nmap101.pcapng.log +42164f80e7ff0177cf36922c2caf7917 pcaps.full/f5-honeypot-release.pcap.log +d41d8cd98f00b204e9800998ecf8427e pcaps.full/ftp-bounce.pcapng.log +d41d8cd98f00b204e9800998ecf8427e pcaps.full/ftp-clientside101.pcapng.log +d41d8cd98f00b204e9800998ecf8427e pcaps.full/ftp-crack101.pcapng.log +d41d8cd98f00b204e9800998ecf8427e pcaps.full/ftp-download101.pcapng.log +d41d8cd98f00b204e9800998ecf8427e pcaps.full/ftp-passwords101.pcapng.log +ecb77db5b2688d25093117caaa9cf4f6 pcaps.full/gen-startupchatty101.pcapng.log +d41d8cd98f00b204e9800998ecf8427e pcaps.full/general101.pcapng.log +3684f199efa845a7ec8f1053a9944caf pcaps.full/general101b.pcapng.log +0ed4ba9fdb8cb940d09f92b7075db46f pcaps.full/general101c.pcapng.log +d41d8cd98f00b204e9800998ecf8427e pcaps.full/general101d.pcapng.log +0d9772fdd4477af9f2b0523e8ff44e63 pcaps.full/http-au101b.pcapng.log +4df9f89d8991983f811a4cea8aaf2f12 pcaps.full/http-browse101.pcapng.log +fdea8971f0510eb2d972385d69b05f2b pcaps.full/http-browse101b.pcapng.log +9433ad4a3133a817f8e90f46a94705fd pcaps.full/http-browse101c.pcapng.log +9433ad4a3133a817f8e90f46a94705fd pcaps.full/http-browse101d.pcapng.log +ef0297df04fd11d88a39669ad3de8452 pcaps.full/http-chappellu101.pcapng.log +ab0e19847b655e25897de3ad675bbf8f pcaps.full/http-chappellu101b.pcapng.log +8cb81097cbef7c810b7dcd57b8a240cf pcaps.full/http-cheez101.pcapng.log +542d7c56c0f2cf3c04e72152760392e1 pcaps.full/http-college101.pcapng.log +ba1d7834a8352ea90b998873a725bd7f pcaps.full/http-disney101.pcapng.log +8573185b6cac32ae8468471e51c1a0f6 pcaps.full/http-download-a.pcapng.log +20b8dc7a31500946202d4d191b7edf16 pcaps.full/http-download101.pcapng.log +01a2be97c1ab675184e97a71b084e25c pcaps.full/http-download101c.pcapng.log +be0103fda2b6751d6abe396c426a1e52 pcaps.full/http-download101d.pcapng.log +191508af7467c488cd5e6d61535e6c5b pcaps.full/http-errors101.pcapng.log +1109ac31b2b0577889340cd98b20eb34 pcaps.full/http-espn101.pcapng.log +f2543fa2a0bd81ffc279198b7d7a5f62 pcaps.full/http-google101.pcapng.log +72cab4dcfa839a8275412b36855caeb1 pcaps.full/http-jezebel101.pcapng.log +77f6419cd8de445503e779b9818a3aa5 pcaps.full/http-misctraffic101.pcapng.log +28f32e99994ea9cc26df9d2ba3dd12ae pcaps.full/http-nonstandard101.pcapng.log +f0356a106329dd181bd7fad31d54d979 pcaps.full/http-openoffice101a.pcapng.log +7dc37f1efab91a9add8c55adb0009bae pcaps.full/http-openoffice101b.pcapng.log +dfa7cf0ac25800ca7affd3ded10addfd pcaps.full/http-pcaprnet101.pcapng.log +c9ce2f1e0180a51560f610323f9fa8e7 pcaps.full/http-pictures101.pcapng.log +6bd2962179641be17333fb5b7f9cb1c6 pcaps.full/http-sfgate101.pcapng.log +585cc0f172039cc04acb7b5da58f20ed pcaps.full/http-slow101.pcapng.log +d41d8cd98f00b204e9800998ecf8427e pcaps.full/http-winpcap101.cap.log +4236a958c61e54031d40fc6d8c958291 pcaps.full/http-wiresharkdownload101.pcapng.log +1b1359e2d6822016dc1a168c41667de4 pcaps.full/mybackground101.pcapng.log +e95ab82bbf83b0d0af0b9f74fdad88f8 pcaps.full/net-lost-route.pcapng.log +d293fcc821f7d8b19e1217f55bbb179b pcaps.full/sec-concern101.pcapng.log +f47bc44475d79ccb61b1ff5b8562018d pcaps.full/sec-nessus101.pcapng.log +85ec363f6ac000d7132b970ec39d78cc pcaps.full/sec-suspicious101.pcapng.log +b78b407b7f11fd2e9a980c71bce44b29 pcaps.full/smb-join101.pcapng.log +0807f74c4cd5ddb7fbd6aab6ff4c8270 pcaps.full/split250_00000_20160704110754.pcapng.log +d41d8cd98f00b204e9800998ecf8427e pcaps.full/split250_00001_20160704110759.pcapng.log +d41d8cd98f00b204e9800998ecf8427e pcaps.full/split250_00002_20160704110759.pcapng.log +d41d8cd98f00b204e9800998ecf8427e pcaps.full/split250_00003_20160704110759.pcapng.log +d41d8cd98f00b204e9800998ecf8427e pcaps.full/split250_00004_20160704110759.pcapng.log +d41d8cd98f00b204e9800998ecf8427e pcaps.full/split250_00005_20160704110804.pcapng.log +d41d8cd98f00b204e9800998ecf8427e pcaps.full/tcp-decodeas.pcapng.log +d41d8cd98f00b204e9800998ecf8427e pcaps.full/tr-twohosts.pcapng.log +5ee264aa76210466a389ba1e9fd5f3aa pcaps.full/tr-winsize.pcapng.log +d41d8cd98f00b204e9800998ecf8427e pcaps.full/wlan-ipadstartstop101.pcapng.log diff --git a/infrastructure/systems/Shark/log-analysis/hashes/pcaps.small.md5sum b/infrastructure/systems/Shark/log-analysis/hashes/pcaps.small.md5sum new file mode 100644 index 00000000..08b0a020 --- /dev/null +++ b/infrastructure/systems/Shark/log-analysis/hashes/pcaps.small.md5sum @@ -0,0 +1,69 @@ +4e489b35942d0c45d8b16d1cb1a06210 pcaps.small/4SICS-GeekLounge-151020.pcap.log +890b35d7af03d13aab446e306ba60782 pcaps.small/4SICS-GeekLounge-151021.pcap.log +1ebd451920d098aa4b7002054900a0b8 pcaps.small/4SICS-GeekLounge-151022.pcap.log +d41d8cd98f00b204e9800998ecf8427e pcaps.small/README.log +f5b48dd8c8037efc43951efc3e1e16af pcaps.small/challenge101-0.pcapng.log +6b2c4e89211bc977ac538ad218845794 pcaps.small/challenge101-1.pcapng.log +765d385418861c272c081f85abee4448 pcaps.small/challenge101-3.pcapng.log +6c5777e9a6a4601487f5bb0d637eaef0 pcaps.small/challenge101-4.pcapng.log +2b632ea272f075b62a1779e6b79c262b pcaps.small/challenge101-5.pcapng.log +431993ece40a4f8081cc949661be3b98 pcaps.small/challenge101-6.pcapng.log +fe1fcee267a72f20de6abd423344b247 pcaps.small/challenge101-7.pcapng.log +63382ae6dddcc347be2f140853ab57a3 pcaps.small/challenge101-8.pcapng.log +d41d8cd98f00b204e9800998ecf8427e pcaps.small/dhcp-serverdiscovery101.pcapng.log +9267a406fc3cca0cb4d7b755169df6be pcaps.small/dns-nmap101.pcapng.log +42164f80e7ff0177cf36922c2caf7917 pcaps.small/f5-honeypot-release.pcap.log +d41d8cd98f00b204e9800998ecf8427e pcaps.small/ftp-bounce.pcapng.log +d41d8cd98f00b204e9800998ecf8427e pcaps.small/ftp-clientside101.pcapng.log +d41d8cd98f00b204e9800998ecf8427e pcaps.small/ftp-crack101.pcapng.log +d41d8cd98f00b204e9800998ecf8427e pcaps.small/ftp-download101.pcapng.log +d41d8cd98f00b204e9800998ecf8427e pcaps.small/ftp-passwords101.pcapng.log +ecb77db5b2688d25093117caaa9cf4f6 pcaps.small/gen-startupchatty101.pcapng.log +d41d8cd98f00b204e9800998ecf8427e pcaps.small/general101.pcapng.log +3684f199efa845a7ec8f1053a9944caf pcaps.small/general101b.pcapng.log +0ed4ba9fdb8cb940d09f92b7075db46f pcaps.small/general101c.pcapng.log +d41d8cd98f00b204e9800998ecf8427e pcaps.small/general101d.pcapng.log +0d9772fdd4477af9f2b0523e8ff44e63 pcaps.small/http-au101b.pcapng.log +4df9f89d8991983f811a4cea8aaf2f12 pcaps.small/http-browse101.pcapng.log +fdea8971f0510eb2d972385d69b05f2b pcaps.small/http-browse101b.pcapng.log +9433ad4a3133a817f8e90f46a94705fd pcaps.small/http-browse101c.pcapng.log +9433ad4a3133a817f8e90f46a94705fd pcaps.small/http-browse101d.pcapng.log +ef0297df04fd11d88a39669ad3de8452 pcaps.small/http-chappellu101.pcapng.log +ab0e19847b655e25897de3ad675bbf8f pcaps.small/http-chappellu101b.pcapng.log +8cb81097cbef7c810b7dcd57b8a240cf pcaps.small/http-cheez101.pcapng.log +542d7c56c0f2cf3c04e72152760392e1 pcaps.small/http-college101.pcapng.log +ba1d7834a8352ea90b998873a725bd7f pcaps.small/http-disney101.pcapng.log +8573185b6cac32ae8468471e51c1a0f6 pcaps.small/http-download-a.pcapng.log +20b8dc7a31500946202d4d191b7edf16 pcaps.small/http-download101.pcapng.log +01a2be97c1ab675184e97a71b084e25c pcaps.small/http-download101c.pcapng.log +be0103fda2b6751d6abe396c426a1e52 pcaps.small/http-download101d.pcapng.log +191508af7467c488cd5e6d61535e6c5b pcaps.small/http-errors101.pcapng.log +1109ac31b2b0577889340cd98b20eb34 pcaps.small/http-espn101.pcapng.log +f2543fa2a0bd81ffc279198b7d7a5f62 pcaps.small/http-google101.pcapng.log +72cab4dcfa839a8275412b36855caeb1 pcaps.small/http-jezebel101.pcapng.log +77f6419cd8de445503e779b9818a3aa5 pcaps.small/http-misctraffic101.pcapng.log +28f32e99994ea9cc26df9d2ba3dd12ae pcaps.small/http-nonstandard101.pcapng.log +f0356a106329dd181bd7fad31d54d979 pcaps.small/http-openoffice101a.pcapng.log +7dc37f1efab91a9add8c55adb0009bae pcaps.small/http-openoffice101b.pcapng.log +dfa7cf0ac25800ca7affd3ded10addfd pcaps.small/http-pcaprnet101.pcapng.log +c9ce2f1e0180a51560f610323f9fa8e7 pcaps.small/http-pictures101.pcapng.log +6bd2962179641be17333fb5b7f9cb1c6 pcaps.small/http-sfgate101.pcapng.log +585cc0f172039cc04acb7b5da58f20ed pcaps.small/http-slow101.pcapng.log +d41d8cd98f00b204e9800998ecf8427e pcaps.small/http-winpcap101.cap.log +4236a958c61e54031d40fc6d8c958291 pcaps.small/http-wiresharkdownload101.pcapng.log +1b1359e2d6822016dc1a168c41667de4 pcaps.small/mybackground101.pcapng.log +e95ab82bbf83b0d0af0b9f74fdad88f8 pcaps.small/net-lost-route.pcapng.log +d293fcc821f7d8b19e1217f55bbb179b pcaps.small/sec-concern101.pcapng.log +f47bc44475d79ccb61b1ff5b8562018d pcaps.small/sec-nessus101.pcapng.log +85ec363f6ac000d7132b970ec39d78cc pcaps.small/sec-suspicious101.pcapng.log +b78b407b7f11fd2e9a980c71bce44b29 pcaps.small/smb-join101.pcapng.log +0807f74c4cd5ddb7fbd6aab6ff4c8270 pcaps.small/split250_00000_20160704110754.pcapng.log +d41d8cd98f00b204e9800998ecf8427e pcaps.small/split250_00001_20160704110759.pcapng.log +d41d8cd98f00b204e9800998ecf8427e pcaps.small/split250_00002_20160704110759.pcapng.log +d41d8cd98f00b204e9800998ecf8427e pcaps.small/split250_00003_20160704110759.pcapng.log +d41d8cd98f00b204e9800998ecf8427e pcaps.small/split250_00004_20160704110759.pcapng.log +d41d8cd98f00b204e9800998ecf8427e pcaps.small/split250_00005_20160704110804.pcapng.log +d41d8cd98f00b204e9800998ecf8427e pcaps.small/tcp-decodeas.pcapng.log +d41d8cd98f00b204e9800998ecf8427e pcaps.small/tr-twohosts.pcapng.log +5ee264aa76210466a389ba1e9fd5f3aa pcaps.small/tr-winsize.pcapng.log +d41d8cd98f00b204e9800998ecf8427e pcaps.small/wlan-ipadstartstop101.pcapng.log diff --git a/infrastructure/systems/Shark/log-analysis/input.sh b/infrastructure/systems/Shark/log-analysis/input.sh new file mode 100755 index 00000000..bf24b53a --- /dev/null +++ b/infrastructure/systems/Shark/log-analysis/input.sh @@ -0,0 +1,21 @@ +#!/bin/bash + +set -e + +# creates input/pcaps and input/nginx-logs + +REPO_TOP=$(git rev-parse --show-toplevel) +eval_dir="${REPO_TOP}/log-analysis" +input_dir="${eval_dir}/input" + +url=https://atlas-group.cs.brown.edu/data/pcaps.zip +zip_dst="$input_dir/pcaps.zip" +wget --no-check-certificate $url -O "$zip_dst" +unzip "$zip_dst" -d "$input_dir" +rm "$zip_dst" + +url=https://atlas-group.cs.brown.edu/data/nginx.zip +zip_dst="$input_dir/nginx.zip" +wget --no-check-certificate $url -O "$zip_dst" +unzip "$zip_dst" -d "$input_dir" +rm $zip_dst diff --git a/infrastructure/systems/Shark/log-analysis/run.sh b/infrastructure/systems/Shark/log-analysis/run.sh new file mode 100755 index 00000000..66b2035a --- /dev/null +++ b/infrastructure/systems/Shark/log-analysis/run.sh @@ -0,0 +1,28 @@ +#!/bin/bash + +REPO_TOP=$(git rev-parse --show-toplevel) +eval_dir="${REPO_TOP}/log-analysis" +input_dir="${eval_dir}/input" +scripts_dir="${eval_dir}/scripts" +results_dir="${eval_dir}/results" +mkdir -p $results_dir + +nginx_input=$input_dir/nginx-logs +pcaps_input=$input_dir/pcaps +suffix=".full" +if [[ "$@" == *"--small"* ]]; then + # TODO: vary input size + nginx_input=$input_dir/nginx-logs + pcaps_input=$input_dir/pcaps + suffix=".small" +fi + +BENCHMARK_SHELL=${BENCHMARK_SHELL:-bash} + +echo "nginx" +$BENCHMARK_SHELL $scripts_dir/nginx.sh $nginx_input $results_dir/nginx$suffix +echo $? + +echo "pcaps" +$BENCHMARK_SHELL $scripts_dir/pcaps.sh $pcaps_input $results_dir/pcaps$suffix +echo $? diff --git a/infrastructure/systems/Shark/log-analysis/scripts/nginx.sh b/infrastructure/systems/Shark/log-analysis/scripts/nginx.sh new file mode 100755 index 00000000..6ab258e6 --- /dev/null +++ b/infrastructure/systems/Shark/log-analysis/scripts/nginx.sh @@ -0,0 +1,55 @@ +#!/bin/bash +# tag: nginx logs +# IN=${IN:-/dependency_untangling/log_data} +# OUT=${OUT:-$PASH_TOP/evaluation/distr_benchmarks/dependency_untangling/input/output/nginx-logs} +# mkdir -p $2 + +# pure_func() { +# tempfile=$(mktemp) + +# tee $tempfile | cut -d "\"" -f3 | cut -d ' ' -f2 | sort | uniq -c | sort -rn +# # awk alternative, too slow +# awk '{print $9}' $tempfile | sort | uniq -c | sort -rn +# # find broken links broken links +# awk '($9 ~ /404/)' $tempfile | awk '{print $7}' | sort | uniq -c | sort -rn +# # for 502 (bad-gateway) we can run following command: +# awk '($9 ~ /502/)' $tempfile | awk '{print $7}' | sort | uniq -c | sort -r +# # Who are requesting broken links (or URLs resulting in 502) +# awk -F\" '($2 ~ "/wp-admin/install.php"){print $1}' $tempfile | awk '{print $1}' | sort | uniq -c | sort -r +# # 404 for php files -mostly hacking attempts +# awk '($9 ~ /404/)' $tempfile | awk -F\" '($2 ~ "^GET .*.php")' | awk '{print $7}' | sort | uniq -c | sort -r | head -n 20 +# ############################## +# # Most requested URLs ######## +# awk -F\" '{print $2}' $tempfile | awk '{print $2}' | sort | uniq -c | sort -r +# # Most requested URLs containing XYZ +# awk -F\" '($2 ~ "ref"){print $2}' $tempfile | awk '{print $2}' | sort | uniq -c | sort -r + +# rm $tempfile +# } +# export -f pure_func + +# for log in $1/*; do +# logname=$2/$(basename $log) +# cat $log | pure_func > $logname +# done + +mkdir -p "$2" + +pure_func() { + tee >(cut -d "\"" -f3 | cut -d ' ' -f2 | sort | uniq -c | sort -rn) \ + >(awk '{print $9}' | sort | uniq -c | sort -rn) \ + >(awk '($9 ~ /404/)' | awk '{print $7}' | sort | uniq -c | sort -rn) \ + >(awk '($9 ~ /502/)' | awk '{print $7}' | sort | uniq -c | sort -r) \ + >(awk -F\" '($2 ~ "/wp-admin/install.php"){print $1}' | awk '{print $1}' | sort | uniq -c | sort -r) \ + >(awk '($9 ~ /404/)' | awk -F\" '($2 ~ "^GET .*.php")' | awk '{print $7}' | sort | uniq -c | sort -r | head -n 20) \ + >(awk -F\" '{print $2}' | awk '{print $2}' | sort | uniq -c | sort -r) \ + >(awk -F\" '($2 ~ "ref"){print $2}' | awk '{print $2}' | sort | uniq -c | sort -r) \ + > /dev/null +} +export -f pure_func + +for log in "$1"/*; do + logname="$2/$(basename "$log")" + pure_func < "$log" > "$logname" & +done +wait diff --git a/infrastructure/systems/Shark/log-analysis/scripts/pcaps.sh b/infrastructure/systems/Shark/log-analysis/scripts/pcaps.sh new file mode 100755 index 00000000..f43a9113 --- /dev/null +++ b/infrastructure/systems/Shark/log-analysis/scripts/pcaps.sh @@ -0,0 +1,40 @@ +#!/bin/bash + +# IN=${IN:-/dependency_untangling/pcap_data} +# OUT=${OUT:-$PASH_TOP/evaluation/distr_benchmarks/dependency_untangling/input/output/pcap-analysis} +# mkdir -p $2 +# pure_func() { +# tempfile=$(mktemp) +# cat > $tempfile +# tcpdump -nn -r $tempfile -A 'port 53' 2> /dev/null | sort | uniq |grep -Ev '(com|net|org|gov|mil|arpa)' 2> /dev/null +# # extract URL +# tcpdump -nn -r $tempfile -s 0 -v -n -l 2> /dev/null | egrep -i "POST /|GET /|Host:" 2> /dev/null +# # extract passwords +# tcpdump -nn -r $tempfile -s 0 -A -n -l 2> /dev/null | egrep -i "POST /|pwd=|passwd=|password=|Host:" 2> /dev/null + +# rm -f $tempfile +# } +# export -f pure_func + +# for item in $1/*; +# do +# logname=$2/$(basename $item).log; +# cat $item | pure_func > $logname +# done + +mkdir -p "$2" + +pure_func() { + tcpdump -nn -r /dev/stdin -A 'port 53' 2> /dev/null | sort | uniq | grep -Ev '(com|net|org|gov|mil|arpa)' 2> /dev/null + # Extract URL + tcpdump -nn -r /dev/stdin -s 0 -v -n -l 2> /dev/null | egrep -i "POST /|GET /|Host:" 2> /dev/null + # Extract passwords + tcpdump -nn -r /dev/stdin -s 0 -A -n -l 2> /dev/null | egrep -i "POST /|pwd=|passwd=|password=|Host:" 2> /dev/null +} +export -f pure_func + +for item in "$1"/*; do + logname="$2/$(basename "$item").log" + pure_func < "$item" > "$logname" & +done +wait diff --git a/infrastructure/systems/Shark/log-analysis/verify.sh b/infrastructure/systems/Shark/log-analysis/verify.sh new file mode 100755 index 00000000..3a8f5684 --- /dev/null +++ b/infrastructure/systems/Shark/log-analysis/verify.sh @@ -0,0 +1,30 @@ +#!/bin/bash + +REPO_TOP=$(git rev-parse --show-toplevel) +eval_dir="${REPO_TOP}/log-analysis" +input_dir="${eval_dir}/input" +scripts_dir="${eval_dir}/scripts" +hashes_dir="${eval_dir}/hashes" +results_dir="${eval_dir}/results" +mkdir -p $results_dir + +suffix=".full" +if [[ "$@" == *"--small"* ]]; then + suffix=".small" +fi + +cd $results_dir # md5sum computes paths relative to cd + +if [[ "$@" == *"--generate"* ]]; then + md5sum pcaps$suffix/* > $hashes_dir/pcaps$suffix.md5sum + md5sum nginx$suffix/* > $hashes_dir/nginx$suffix.md5sum + exit 0 +fi + +bench=pcaps$suffix +md5sum --check --quiet --status $hashes_dir/$bench.md5sum +echo $bench $? + +bench=nginx$suffix +md5sum --check --quiet --status $hashes_dir/$bench.md5sum +echo $bench $? diff --git a/infrastructure/systems/Shark/max-temp/cleanup.sh b/infrastructure/systems/Shark/max-temp/cleanup.sh new file mode 100755 index 00000000..4c87e743 --- /dev/null +++ b/infrastructure/systems/Shark/max-temp/cleanup.sh @@ -0,0 +1,9 @@ +#!/bin/bash + +REPO_TOP=$(git rev-parse --show-toplevel) +input_dir="${REPO_TOP}/max-temp/input" +results_dir="${REPO_TOP}/max-temp/results" + +rm -rf "$input_dir" +rm -rf "$results_dir" + diff --git a/infrastructure/systems/Shark/max-temp/correct-results/statistics.full/average.txt b/infrastructure/systems/Shark/max-temp/correct-results/statistics.full/average.txt new file mode 100644 index 00000000..b44b1e75 --- /dev/null +++ b/infrastructure/systems/Shark/max-temp/correct-results/statistics.full/average.txt @@ -0,0 +1 @@ +112.516 diff --git a/infrastructure/systems/Shark/max-temp/correct-results/statistics.full/max.txt b/infrastructure/systems/Shark/max-temp/correct-results/statistics.full/max.txt new file mode 100644 index 00000000..d16f6c27 --- /dev/null +++ b/infrastructure/systems/Shark/max-temp/correct-results/statistics.full/max.txt @@ -0,0 +1 @@ +0410 diff --git a/infrastructure/systems/Shark/max-temp/correct-results/statistics.full/min.txt b/infrastructure/systems/Shark/max-temp/correct-results/statistics.full/min.txt new file mode 100644 index 00000000..739d7970 --- /dev/null +++ b/infrastructure/systems/Shark/max-temp/correct-results/statistics.full/min.txt @@ -0,0 +1 @@ +0000 diff --git a/infrastructure/systems/Shark/max-temp/correct-results/statistics.small/average.txt b/infrastructure/systems/Shark/max-temp/correct-results/statistics.small/average.txt new file mode 100644 index 00000000..9e4978e3 --- /dev/null +++ b/infrastructure/systems/Shark/max-temp/correct-results/statistics.small/average.txt @@ -0,0 +1 @@ +37.955 diff --git a/infrastructure/systems/Shark/max-temp/correct-results/statistics.small/max.txt b/infrastructure/systems/Shark/max-temp/correct-results/statistics.small/max.txt new file mode 100644 index 00000000..fb5886dd --- /dev/null +++ b/infrastructure/systems/Shark/max-temp/correct-results/statistics.small/max.txt @@ -0,0 +1 @@ +0122 diff --git a/infrastructure/systems/Shark/max-temp/correct-results/statistics.small/min.txt b/infrastructure/systems/Shark/max-temp/correct-results/statistics.small/min.txt new file mode 100644 index 00000000..739d7970 --- /dev/null +++ b/infrastructure/systems/Shark/max-temp/correct-results/statistics.small/min.txt @@ -0,0 +1 @@ +0000 diff --git a/infrastructure/systems/Shark/max-temp/deps.sh b/infrastructure/systems/Shark/max-temp/deps.sh new file mode 100755 index 00000000..7ba658b3 --- /dev/null +++ b/infrastructure/systems/Shark/max-temp/deps.sh @@ -0,0 +1,13 @@ +#!/bin/bash + +sudo apt update + +sudo apt install -y \ + sudo \ + curl \ + wget \ + unzip \ + python3-pip \ + vim \ + unrtf libarchive-tools libncurses5-dev libncursesw5-dev zstd liblzma-dev libbz2-dev zip unzip \ + git diff --git a/infrastructure/systems/Shark/max-temp/for_validation/for_validation.avg b/infrastructure/systems/Shark/max-temp/for_validation/for_validation.avg new file mode 100644 index 00000000..82a483f7 --- /dev/null +++ b/infrastructure/systems/Shark/max-temp/for_validation/for_validation.avg @@ -0,0 +1 @@ +125,234 diff --git a/infrastructure/systems/Shark/max-temp/for_validation/for_validation.max b/infrastructure/systems/Shark/max-temp/for_validation/for_validation.max new file mode 100644 index 00000000..533ea86c --- /dev/null +++ b/infrastructure/systems/Shark/max-temp/for_validation/for_validation.max @@ -0,0 +1 @@ ++0610 diff --git a/infrastructure/systems/Shark/max-temp/for_validation/for_validation.min b/infrastructure/systems/Shark/max-temp/for_validation/for_validation.min new file mode 100644 index 00000000..3851efb2 --- /dev/null +++ b/infrastructure/systems/Shark/max-temp/for_validation/for_validation.min @@ -0,0 +1 @@ +-0858 diff --git a/infrastructure/systems/Shark/max-temp/for_validation/for_validation.time b/infrastructure/systems/Shark/max-temp/for_validation/for_validation.time new file mode 100644 index 00000000..e69de29b diff --git a/infrastructure/systems/Shark/max-temp/input.sh b/infrastructure/systems/Shark/max-temp/input.sh new file mode 100755 index 00000000..cb37f6ba --- /dev/null +++ b/infrastructure/systems/Shark/max-temp/input.sh @@ -0,0 +1,30 @@ +#!/bin/bash + +REPO_TOP=$(git rev-parse --show-toplevel) + +eval_dir="${REPO_TOP}/max-temp" +results_dir="${eval_dir}/results" +scripts_dir="${eval_dir}/scripts" +input_dir="${eval_dir}/input" + +URL='https://www1.ncdc.noaa.gov/pub/data/noaa/' +FROM=${FROM:-2015} +TO=${TO:-2015} +sample_starting_index=1234 +sample_count=250 + +mkdir -p "$input_dir" + +seq $FROM $TO | + sed "s;^;$URL;" | + sed 's;$;/;' | + xargs -n1 -r curl --insecure | + grep gz | + sed "s;.*\"\(.*\)\(20[0-9][0-9]\).gz\".*;$URL\2/\1\2.gz;" | + tail -n +$sample_starting_index | + head -n $sample_count | + xargs -n1 curl --insecure | + gunzip > "$input_dir/temperatures.full.txt" + +head -n 200 "$input_dir/temperatures.full.txt" \ + > "$input_dir/temperatures.small.txt" diff --git a/infrastructure/systems/Shark/max-temp/input/.gitignore b/infrastructure/systems/Shark/max-temp/input/.gitignore new file mode 100644 index 00000000..8b137891 --- /dev/null +++ b/infrastructure/systems/Shark/max-temp/input/.gitignore @@ -0,0 +1 @@ + diff --git a/infrastructure/systems/Shark/max-temp/run.sh b/infrastructure/systems/Shark/max-temp/run.sh new file mode 100755 index 00000000..5bc6a7d4 --- /dev/null +++ b/infrastructure/systems/Shark/max-temp/run.sh @@ -0,0 +1,23 @@ +#!/bin/bash + +REPO_TOP=$(git rev-parse --show-toplevel) + +eval_dir="${REPO_TOP}/max-temp" +results_dir="${eval_dir}/results" +scripts_dir="${eval_dir}/scripts" +input_dir="${eval_dir}/input" + +suffix=.full +if [[ "$@" == *"--small"* ]]; then + suffix=.small +fi + + +export input_file="${input_dir}/temperatures$suffix.txt" +export statistics_dir="$results_dir/statistics$suffix" + +mkdir -p "$statistics_dir" + +BENCHMARK_SHELL=${BENCHMARK_SHELL:-bash} + +$BENCHMARK_SHELL ${scripts_dir}/temp-analytics.sh diff --git a/infrastructure/systems/Shark/max-temp/scripts/temp-analytics.sh b/infrastructure/systems/Shark/max-temp/scripts/temp-analytics.sh new file mode 100755 index 00000000..8e1f9626 --- /dev/null +++ b/infrastructure/systems/Shark/max-temp/scripts/temp-analytics.sh @@ -0,0 +1,35 @@ +#!/bin/bash + +# [[ -n "$input_file" ]] || echo "script was not provided with \$input_file" +# [[ -n "$statistics_dir" ]] || echo "script was not provided with \$statistics_dir" + +# cat "${input_file}" | +# cut -c 89-92 | +# grep -v 999 | +# sort -rn | +# head -n1 > ${statistics_dir}/max.txt + +# cat "${input_file}" | +# cut -c 89-92 | +# grep -v 999 | +# sort -n | +# head -n1 > ${statistics_dir}/min.txt + +# cat "${input_file}" | +# cut -c 89-92 | +# grep -v 999 | +# awk "{ total += \$1; count++ } END { print total/count }" > ${statistics_dir}/average.txt + +#!/bin/bash + +[[ -n "$input_file" ]] || { echo "script was not provided with \$input_file"; exit 1; } +[[ -n "$statistics_dir" ]] || { echo "script was not provided with \$statistics_dir"; exit 1; } + +mkdir -p "$statistics_dir" + +cut -c 89-92 "$input_file" | + grep -v 999 | + sort -n | + tee >(head -n1 > "${statistics_dir}/min.txt") \ + >(tail -n1 > "${statistics_dir}/max.txt") | + awk '{ total += $1; count++ } END { print total/count }' > "${statistics_dir}/average.txt" diff --git a/infrastructure/systems/Shark/max-temp/verify.sh b/infrastructure/systems/Shark/max-temp/verify.sh new file mode 100755 index 00000000..ced4b84f --- /dev/null +++ b/infrastructure/systems/Shark/max-temp/verify.sh @@ -0,0 +1,29 @@ +#!/bin/bash + +REPO_TOP=$(git rev-parse --show-toplevel) + +eval_dir="${REPO_TOP}/max-temp" + +suffix=.full +if [[ "$@" == *"--small"* ]]; then + suffix=.small +fi + +statistics_dir="${eval_dir}/results/statistics$suffix" +correct_dir="${eval_dir}/correct-results/statistics$suffix" + +if [[ "$@" == *"--generate"* ]]; then + mkdir -p "$correct_dir" + cp -r $statistics_dir/* "$correct_dir" + exit 0 +fi + +diff -q "$statistics_dir/average.txt" "$correct_dir/average.txt" +echo average$suffix $? + +diff -q "$statistics_dir/min.txt" "$correct_dir/min.txt" +echo min$suffix $? + +diff -q "$statistics_dir/max.txt" "$correct_dir/max.txt" +echo max$suffix $? + diff --git a/infrastructure/systems/Shark/media-conv/.gitignore b/infrastructure/systems/Shark/media-conv/.gitignore new file mode 100644 index 00000000..47ab813f --- /dev/null +++ b/infrastructure/systems/Shark/media-conv/.gitignore @@ -0,0 +1,2 @@ +input/ +results/ diff --git a/infrastructure/systems/Shark/media-conv/cleanup.sh b/infrastructure/systems/Shark/media-conv/cleanup.sh new file mode 100755 index 00000000..f039b9f4 --- /dev/null +++ b/infrastructure/systems/Shark/media-conv/cleanup.sh @@ -0,0 +1,9 @@ +#!/bin/bash + +REPO_TOP=$(git rev-parse --show-toplevel) +results_dir="${REPO_TOP}/media-conv/results" +input_dir="${REPO_TOP}/media-conv/input" + +rm -rf $results_dir +rm -rf $input_dir + diff --git a/infrastructure/systems/Shark/media-conv/deps.sh b/infrastructure/systems/Shark/media-conv/deps.sh new file mode 100755 index 00000000..96dfd886 --- /dev/null +++ b/infrastructure/systems/Shark/media-conv/deps.sh @@ -0,0 +1,13 @@ +#!/bin/bash + +sudo apt update + +sudo apt install -y --no-install-recommends \ + sudo \ + curl \ + wget \ + unzip \ + python3-pip \ + vim \ + ffmpeg unrtf imagemagick libarchive-tools libncurses5-dev libncursesw5-dev zstd liblzma-dev libbz2-dev zip unzip nodejs tcpdump \ + git diff --git a/infrastructure/systems/Shark/media-conv/hashes/img_convert.full.md5sum b/infrastructure/systems/Shark/media-conv/hashes/img_convert.full.md5sum new file mode 100644 index 00000000..23e2e2eb --- /dev/null +++ b/infrastructure/systems/Shark/media-conv/hashes/img_convert.full.md5sum @@ -0,0 +1,1624 @@ +0b7f1a9b4f785844db9c0ff8f51b01f5 img_convert.full/100000.jpg +0b7f1a9b4f785844db9c0ff8f51b01f5 img_convert.full/100000.jpg_copy.jpg +c2513e1dc37141c5973ceb4a15b6568e img_convert.full/100001.jpg +c2513e1dc37141c5973ceb4a15b6568e img_convert.full/100001.jpg_copy.jpg +2bae293bfeff36c722df45aea77f4034 img_convert.full/100002.jpg +2bae293bfeff36c722df45aea77f4034 img_convert.full/100002.jpg_copy.jpg +142e6de60d809873783ab1b918b92f1d img_convert.full/100100.jpg +142e6de60d809873783ab1b918b92f1d img_convert.full/100100.jpg_copy.jpg +ab09b888d2ea3d631ae223dade51fcb9 img_convert.full/100101.jpg +ab09b888d2ea3d631ae223dade51fcb9 img_convert.full/100101.jpg_copy.jpg +e602abf3149d22431471e79d59b3433e img_convert.full/100200.jpg +e602abf3149d22431471e79d59b3433e img_convert.full/100200.jpg_copy.jpg +aaa5c603196b8465d977f4d3256af851 img_convert.full/100201.jpg +aaa5c603196b8465d977f4d3256af851 img_convert.full/100201.jpg_copy.jpg +05a9f7933ced9a00dbe1162240adacf0 img_convert.full/100300.jpg +05a9f7933ced9a00dbe1162240adacf0 img_convert.full/100300.jpg_copy.jpg +f878f1d830e9725994d1672a4a1221b9 img_convert.full/100301.jpg +f878f1d830e9725994d1672a4a1221b9 img_convert.full/100301.jpg_copy.jpg +c36bd8a56e4a98fbd05672dc0d634f14 img_convert.full/100302.jpg +c36bd8a56e4a98fbd05672dc0d634f14 img_convert.full/100302.jpg_copy.jpg +19a578ca012b0e4212320f11185011fd img_convert.full/100400.jpg +19a578ca012b0e4212320f11185011fd img_convert.full/100400.jpg_copy.jpg +ebb6317e80e4bff5e3f00b50dc7d5db7 img_convert.full/100401.jpg +ebb6317e80e4bff5e3f00b50dc7d5db7 img_convert.full/100401.jpg_copy.jpg +2b7265e817d56bc1fd29bd8fba202c1e img_convert.full/100500.jpg +2b7265e817d56bc1fd29bd8fba202c1e img_convert.full/100500.jpg_copy.jpg +a126b4148f7a6ac64c79dbae0d531cff img_convert.full/100501.jpg +a126b4148f7a6ac64c79dbae0d531cff img_convert.full/100501.jpg_copy.jpg +8b6b527f1d88bd4fe785eb8ade6cd96b img_convert.full/100502.jpg +8b6b527f1d88bd4fe785eb8ade6cd96b img_convert.full/100502.jpg_copy.jpg +93097110aed846efbd6c6c4cf9a4734a img_convert.full/100503.jpg +93097110aed846efbd6c6c4cf9a4734a img_convert.full/100503.jpg_copy.jpg +5af0713bfb0f227bf628368bdb3f7b34 img_convert.full/100600.jpg +5af0713bfb0f227bf628368bdb3f7b34 img_convert.full/100600.jpg_copy.jpg +536b7bd1aa01bb0d88cff239b636a1fe img_convert.full/100601.jpg +536b7bd1aa01bb0d88cff239b636a1fe img_convert.full/100601.jpg_copy.jpg +dee3f5c864533b32b60cb444cd1bb6fe img_convert.full/100700.jpg +dee3f5c864533b32b60cb444cd1bb6fe img_convert.full/100700.jpg_copy.jpg +bc3a6086877078bd5f3ecc669814f08e img_convert.full/100701.jpg +bc3a6086877078bd5f3ecc669814f08e img_convert.full/100701.jpg_copy.jpg +f24adab6aacfa1275bcc7d89d5a7abd0 img_convert.full/100800.jpg +f24adab6aacfa1275bcc7d89d5a7abd0 img_convert.full/100800.jpg_copy.jpg +489875a01db5a55ab90b316de62cdfbb img_convert.full/100801.jpg +489875a01db5a55ab90b316de62cdfbb img_convert.full/100801.jpg_copy.jpg +6fececb8bae4852fed2a8ed764d62d34 img_convert.full/100900.jpg +6fececb8bae4852fed2a8ed764d62d34 img_convert.full/100900.jpg_copy.jpg +93dcdb3a7572826923f94b07b1da40f0 img_convert.full/100901.jpg +93dcdb3a7572826923f94b07b1da40f0 img_convert.full/100901.jpg_copy.jpg +b141de85ffb8aa2a102b0b6f8017e712 img_convert.full/100902.jpg +b141de85ffb8aa2a102b0b6f8017e712 img_convert.full/100902.jpg_copy.jpg +1ae60bd0bf41586569fee9371dcf62f4 img_convert.full/101000.jpg +1ae60bd0bf41586569fee9371dcf62f4 img_convert.full/101000.jpg_copy.jpg +082ced0a5c17279db39c00b11cd8acf5 img_convert.full/101001.jpg +082ced0a5c17279db39c00b11cd8acf5 img_convert.full/101001.jpg_copy.jpg +66ad9b914c66b71477d3ee5e6f319742 img_convert.full/101100.jpg +66ad9b914c66b71477d3ee5e6f319742 img_convert.full/101100.jpg_copy.jpg +d5d2b876ce4ac74497e3425364b4b5cd img_convert.full/101101.jpg +d5d2b876ce4ac74497e3425364b4b5cd img_convert.full/101101.jpg_copy.jpg +a02c8b772f46ca980359c0767fafa1be img_convert.full/101200.jpg +a02c8b772f46ca980359c0767fafa1be img_convert.full/101200.jpg_copy.jpg +44f022769baf3116a02e0d653fa3ae99 img_convert.full/101201.jpg +44f022769baf3116a02e0d653fa3ae99 img_convert.full/101201.jpg_copy.jpg +f5a50b3709407512e27120cf2f5187c3 img_convert.full/101300.jpg +f5a50b3709407512e27120cf2f5187c3 img_convert.full/101300.jpg_copy.jpg +cc279106a64bf5073d24db05c472bf73 img_convert.full/101301.jpg +cc279106a64bf5073d24db05c472bf73 img_convert.full/101301.jpg_copy.jpg +90cb4e1405bd4826c4d5f1d21665a465 img_convert.full/101400.jpg +90cb4e1405bd4826c4d5f1d21665a465 img_convert.full/101400.jpg_copy.jpg +dbc201089f4829b487aa9ae74c7ce153 img_convert.full/101401.jpg +dbc201089f4829b487aa9ae74c7ce153 img_convert.full/101401.jpg_copy.jpg +473451899bf6f70abe6054cf21285d2c img_convert.full/101402.jpg +473451899bf6f70abe6054cf21285d2c img_convert.full/101402.jpg_copy.jpg +11aab0c558343b825b10d8cc7b41f1a6 img_convert.full/101403.jpg +11aab0c558343b825b10d8cc7b41f1a6 img_convert.full/101403.jpg_copy.jpg +c794be8fe51bec456aa2081934e383ce img_convert.full/101404.jpg +c794be8fe51bec456aa2081934e383ce img_convert.full/101404.jpg_copy.jpg +f203d148955167b72f09e5663d3367ea img_convert.full/101500.jpg +f203d148955167b72f09e5663d3367ea img_convert.full/101500.jpg_copy.jpg +9a6f15e5b853acdf167878a942251493 img_convert.full/101501.jpg +9a6f15e5b853acdf167878a942251493 img_convert.full/101501.jpg_copy.jpg +71213bfb82afd74b505155e8d6b3ab4f img_convert.full/101502.jpg +71213bfb82afd74b505155e8d6b3ab4f img_convert.full/101502.jpg_copy.jpg +7bd230116abde5e7db62d1948d7c98b4 img_convert.full/101503.jpg +7bd230116abde5e7db62d1948d7c98b4 img_convert.full/101503.jpg_copy.jpg +f7b248c1743542dc6889dca20d8137ea img_convert.full/101504.jpg +f7b248c1743542dc6889dca20d8137ea img_convert.full/101504.jpg_copy.jpg +18a2dd0cee367c9db6022528b9548d67 img_convert.full/101600.jpg +18a2dd0cee367c9db6022528b9548d67 img_convert.full/101600.jpg_copy.jpg +8d14a8e0b58cf423f8a08091dd495c06 img_convert.full/101601.jpg +8d14a8e0b58cf423f8a08091dd495c06 img_convert.full/101601.jpg_copy.jpg +d2701a6a263fe0f3b14ec4ba6dd10478 img_convert.full/101700.jpg +d2701a6a263fe0f3b14ec4ba6dd10478 img_convert.full/101700.jpg_copy.jpg +9098a716c3c62a861fc98a1517b3ced2 img_convert.full/101701.jpg +9098a716c3c62a861fc98a1517b3ced2 img_convert.full/101701.jpg_copy.jpg +6a23df3581ff3b039bad2a5f7735f089 img_convert.full/101702.jpg +6a23df3581ff3b039bad2a5f7735f089 img_convert.full/101702.jpg_copy.jpg +17ee56ec6fa546b7c94424f96ba144c0 img_convert.full/101800.jpg +17ee56ec6fa546b7c94424f96ba144c0 img_convert.full/101800.jpg_copy.jpg +97012d4291a5d80a44ab01f78e4d3f36 img_convert.full/101801.jpg +97012d4291a5d80a44ab01f78e4d3f36 img_convert.full/101801.jpg_copy.jpg +b3f5216ac9ce5ebb1ae704ecfb73bb8b img_convert.full/101900.jpg +b3f5216ac9ce5ebb1ae704ecfb73bb8b img_convert.full/101900.jpg_copy.jpg +04ded90ee8ab563678797059f20a723c img_convert.full/101901.jpg +04ded90ee8ab563678797059f20a723c img_convert.full/101901.jpg_copy.jpg +14d09e5ca0bee31f39d36c5a3def92c3 img_convert.full/102000.jpg +14d09e5ca0bee31f39d36c5a3def92c3 img_convert.full/102000.jpg_copy.jpg +c33062efbc495d341730f05660b843f2 img_convert.full/102001.jpg +c33062efbc495d341730f05660b843f2 img_convert.full/102001.jpg_copy.jpg +8ab1ad2bef9a34a42a4cb434961b48ca img_convert.full/102100.jpg +8ab1ad2bef9a34a42a4cb434961b48ca img_convert.full/102100.jpg_copy.jpg +9e57ab2885a18a98112d45555336f18a img_convert.full/102101.jpg +9e57ab2885a18a98112d45555336f18a img_convert.full/102101.jpg_copy.jpg +395678d489651fe0ef77483bfccfa565 img_convert.full/102200.jpg +395678d489651fe0ef77483bfccfa565 img_convert.full/102200.jpg_copy.jpg +7140e5b1b5c389ba2933893517c0bb90 img_convert.full/102201.jpg +7140e5b1b5c389ba2933893517c0bb90 img_convert.full/102201.jpg_copy.jpg +910f58cff7ca4a5d03c192de6d62475c img_convert.full/102202.jpg +910f58cff7ca4a5d03c192de6d62475c img_convert.full/102202.jpg_copy.jpg +4acf83d99b83b1cb5526a174c50783d7 img_convert.full/102300.jpg +4acf83d99b83b1cb5526a174c50783d7 img_convert.full/102300.jpg_copy.jpg +7f2c9c2a6aa6c0970c27180d462e841b img_convert.full/102301.jpg +7f2c9c2a6aa6c0970c27180d462e841b img_convert.full/102301.jpg_copy.jpg +a4687dc1ce21463fb289a06bffa76c17 img_convert.full/102302.jpg +a4687dc1ce21463fb289a06bffa76c17 img_convert.full/102302.jpg_copy.jpg +d9d623c8675b1426a0ee63210e6b1401 img_convert.full/102303.jpg +d9d623c8675b1426a0ee63210e6b1401 img_convert.full/102303.jpg_copy.jpg +8b4ae26b86e970d78f1648e5884de050 img_convert.full/102400.jpg +8b4ae26b86e970d78f1648e5884de050 img_convert.full/102400.jpg_copy.jpg +708d7087fd497b52cc0e1c799c41ad5e img_convert.full/102401.jpg +708d7087fd497b52cc0e1c799c41ad5e img_convert.full/102401.jpg_copy.jpg +b99b1a3566245d176401b39066830922 img_convert.full/102402.jpg +b99b1a3566245d176401b39066830922 img_convert.full/102402.jpg_copy.jpg +a4c5f1c2aa494c2b8e007d8599d7c7a0 img_convert.full/102500.jpg +a4c5f1c2aa494c2b8e007d8599d7c7a0 img_convert.full/102500.jpg_copy.jpg +31d7ec1b889a4dc4f2cdb9091efb167d img_convert.full/102501.jpg +31d7ec1b889a4dc4f2cdb9091efb167d img_convert.full/102501.jpg_copy.jpg +a8e3077b5a81aa3befb2d01e270dfc23 img_convert.full/102600.jpg +a8e3077b5a81aa3befb2d01e270dfc23 img_convert.full/102600.jpg_copy.jpg +068886e0d4f5a56f7ae43a9e87610eba img_convert.full/102601.jpg +068886e0d4f5a56f7ae43a9e87610eba img_convert.full/102601.jpg_copy.jpg +8ad6988eff08ca8f4deee73dce761a58 img_convert.full/102700.jpg +8ad6988eff08ca8f4deee73dce761a58 img_convert.full/102700.jpg_copy.jpg +6aef54b9a99c10395b19b02d303e6aec img_convert.full/102701.jpg +6aef54b9a99c10395b19b02d303e6aec img_convert.full/102701.jpg_copy.jpg +8bb3b40e8cd4e2816679ffdd8f658939 img_convert.full/102800.jpg +8bb3b40e8cd4e2816679ffdd8f658939 img_convert.full/102800.jpg_copy.jpg +dfde848343b260934fab01768e7ce837 img_convert.full/102801.jpg +dfde848343b260934fab01768e7ce837 img_convert.full/102801.jpg_copy.jpg +b94ed27bf1f05e6bb4d83fc54aef58f4 img_convert.full/102802.jpg +b94ed27bf1f05e6bb4d83fc54aef58f4 img_convert.full/102802.jpg_copy.jpg +1ddf36efd90c6136c576da5add8bce91 img_convert.full/102900.jpg +1ddf36efd90c6136c576da5add8bce91 img_convert.full/102900.jpg_copy.jpg +20336d9dbee2e06c96fb7e6c11791788 img_convert.full/102901.jpg +20336d9dbee2e06c96fb7e6c11791788 img_convert.full/102901.jpg_copy.jpg +1bb6f41e17de531a099b8124099cf04c img_convert.full/103000.jpg +1bb6f41e17de531a099b8124099cf04c img_convert.full/103000.jpg_copy.jpg +f5764f30ff167cff4aa7bf362b4f3a8d img_convert.full/103001.jpg +f5764f30ff167cff4aa7bf362b4f3a8d img_convert.full/103001.jpg_copy.jpg +b48e2af37cb58b2d3339d7ade35b9555 img_convert.full/103002.jpg +b48e2af37cb58b2d3339d7ade35b9555 img_convert.full/103002.jpg_copy.jpg +e281f4f7c3b445b5ee3f9cec745d30f7 img_convert.full/103100.jpg +e281f4f7c3b445b5ee3f9cec745d30f7 img_convert.full/103100.jpg_copy.jpg +3e0ef1985046540bb955f2f698992dad img_convert.full/103101.jpg +3e0ef1985046540bb955f2f698992dad img_convert.full/103101.jpg_copy.jpg +d4a8d3c5916c1c744ac9819365dabd93 img_convert.full/103102.jpg +d4a8d3c5916c1c744ac9819365dabd93 img_convert.full/103102.jpg_copy.jpg +fd93ea80faf6fa85283b650072304a21 img_convert.full/103200.jpg +fd93ea80faf6fa85283b650072304a21 img_convert.full/103200.jpg_copy.jpg +72c077b3666e45e286e2f2dd5aeaf1ba img_convert.full/103201.jpg +72c077b3666e45e286e2f2dd5aeaf1ba img_convert.full/103201.jpg_copy.jpg +a36fde91ae401f740a7d12c8aead5d8d img_convert.full/103202.jpg +a36fde91ae401f740a7d12c8aead5d8d img_convert.full/103202.jpg_copy.jpg +c89b4688c566411e2aff8219aa90253c img_convert.full/103203.jpg +c89b4688c566411e2aff8219aa90253c img_convert.full/103203.jpg_copy.jpg +bf18d0432a694e918a72e080a3e3603a img_convert.full/103204.jpg +bf18d0432a694e918a72e080a3e3603a img_convert.full/103204.jpg_copy.jpg +22f8dc6eb19b85d31d27c04a5a78049a img_convert.full/103300.jpg +22f8dc6eb19b85d31d27c04a5a78049a img_convert.full/103300.jpg_copy.jpg +848850628f93a7a59bff7ba2524bca93 img_convert.full/103301.jpg +848850628f93a7a59bff7ba2524bca93 img_convert.full/103301.jpg_copy.jpg +5d53a155bd5171d8e85157a7ba8708b0 img_convert.full/103302.jpg +5d53a155bd5171d8e85157a7ba8708b0 img_convert.full/103302.jpg_copy.jpg +cd4e44aef9d8ae8647491575167c2513 img_convert.full/103303.jpg +cd4e44aef9d8ae8647491575167c2513 img_convert.full/103303.jpg_copy.jpg +f669383a80170ad13b91246a751485b1 img_convert.full/103304.jpg +f669383a80170ad13b91246a751485b1 img_convert.full/103304.jpg_copy.jpg +1a61dc35eabfa86bf73454bab29ef4a3 img_convert.full/103400.jpg +1a61dc35eabfa86bf73454bab29ef4a3 img_convert.full/103400.jpg_copy.jpg +bcc257719996ac3c024077a4eb632043 img_convert.full/103401.jpg +bcc257719996ac3c024077a4eb632043 img_convert.full/103401.jpg_copy.jpg +7a31ac89a645708d26da8157c4f78890 img_convert.full/103500.jpg +7a31ac89a645708d26da8157c4f78890 img_convert.full/103500.jpg_copy.jpg +80bd519b5c3fdbf74c6a1a6a3c3b109c img_convert.full/103501.jpg +80bd519b5c3fdbf74c6a1a6a3c3b109c img_convert.full/103501.jpg_copy.jpg +dcbe43fd10c3760b7080209ed1b32fce img_convert.full/103502.jpg +dcbe43fd10c3760b7080209ed1b32fce img_convert.full/103502.jpg_copy.jpg +8aec92c6dcd5cc00067faaba7949a4ef img_convert.full/103503.jpg +8aec92c6dcd5cc00067faaba7949a4ef img_convert.full/103503.jpg_copy.jpg +9d9329ba8c7d0732065085cf547270db img_convert.full/103600.jpg +9d9329ba8c7d0732065085cf547270db img_convert.full/103600.jpg_copy.jpg +1029cf0e4e3c7f6264a842cdc34e139c img_convert.full/103601.jpg +1029cf0e4e3c7f6264a842cdc34e139c img_convert.full/103601.jpg_copy.jpg +b7b3cb6d9a090cc098c8ac9fa09e89f2 img_convert.full/103700.jpg +b7b3cb6d9a090cc098c8ac9fa09e89f2 img_convert.full/103700.jpg_copy.jpg +a0ad9f6966d1841a1c41bc8e7f58ffce img_convert.full/103701.jpg +a0ad9f6966d1841a1c41bc8e7f58ffce img_convert.full/103701.jpg_copy.jpg +c56931f9e8a70ffc0a28aecf7e1f8c41 img_convert.full/103702.jpg +c56931f9e8a70ffc0a28aecf7e1f8c41 img_convert.full/103702.jpg_copy.jpg +37203936ab28b820e7c9ff60a641db04 img_convert.full/103800.jpg +37203936ab28b820e7c9ff60a641db04 img_convert.full/103800.jpg_copy.jpg +1d14fd207cdfc8d454cd80217dcffbea img_convert.full/103801.jpg +1d14fd207cdfc8d454cd80217dcffbea img_convert.full/103801.jpg_copy.jpg +e281f4f7c3b445b5ee3f9cec745d30f7 img_convert.full/103900.jpg +e281f4f7c3b445b5ee3f9cec745d30f7 img_convert.full/103900.jpg_copy.jpg +3e0ef1985046540bb955f2f698992dad img_convert.full/103901.jpg +3e0ef1985046540bb955f2f698992dad img_convert.full/103901.jpg_copy.jpg +d4a8d3c5916c1c744ac9819365dabd93 img_convert.full/103902.jpg +d4a8d3c5916c1c744ac9819365dabd93 img_convert.full/103902.jpg_copy.jpg +7a7667a09c652ecf8f963849a240bbd2 img_convert.full/104000.jpg +7a7667a09c652ecf8f963849a240bbd2 img_convert.full/104000.jpg_copy.jpg +ad1616d6e536ff4d2e957e8df526cdbd img_convert.full/104001.jpg +ad1616d6e536ff4d2e957e8df526cdbd img_convert.full/104001.jpg_copy.jpg +13b4b003468a73216da41209986aeb8a img_convert.full/104002.jpg +13b4b003468a73216da41209986aeb8a img_convert.full/104002.jpg_copy.jpg +a563ea0e281c7d0e7f5c8ae275446782 img_convert.full/104003.jpg +a563ea0e281c7d0e7f5c8ae275446782 img_convert.full/104003.jpg_copy.jpg +afcc289561a62d868abb24e232597357 img_convert.full/104004.jpg +afcc289561a62d868abb24e232597357 img_convert.full/104004.jpg_copy.jpg +5015c75c4d4fc065eb6a4df641e70dae img_convert.full/104005.jpg +5015c75c4d4fc065eb6a4df641e70dae img_convert.full/104005.jpg_copy.jpg +c8eb3fcaf63d84c8833a14c808f364e5 img_convert.full/104006.jpg +c8eb3fcaf63d84c8833a14c808f364e5 img_convert.full/104006.jpg_copy.jpg +48eeb49c0cc0a047d01316959c2a881c img_convert.full/104100.jpg +48eeb49c0cc0a047d01316959c2a881c img_convert.full/104100.jpg_copy.jpg +33f4d976c70b3d42047e60b97f2bd33c img_convert.full/104101.jpg +33f4d976c70b3d42047e60b97f2bd33c img_convert.full/104101.jpg_copy.jpg +064690317b9407ed91ea51d4831621d1 img_convert.full/104200.jpg +064690317b9407ed91ea51d4831621d1 img_convert.full/104200.jpg_copy.jpg +cd205ce4c68b05e68162449738c658ee img_convert.full/104201.jpg +cd205ce4c68b05e68162449738c658ee img_convert.full/104201.jpg_copy.jpg +9eb7b8b87fc35fac5b697de66323780b img_convert.full/104202.jpg +9eb7b8b87fc35fac5b697de66323780b img_convert.full/104202.jpg_copy.jpg +b7972e2959e3b3e89b6b402475ee5502 img_convert.full/104203.jpg +b7972e2959e3b3e89b6b402475ee5502 img_convert.full/104203.jpg_copy.jpg +dcb10fc6f4c5357e2cc516e8979f3741 img_convert.full/104300.jpg +dcb10fc6f4c5357e2cc516e8979f3741 img_convert.full/104300.jpg_copy.jpg +f94cc68f58e8b9eb2d7e78a80b99e0ae img_convert.full/104301.jpg +f94cc68f58e8b9eb2d7e78a80b99e0ae img_convert.full/104301.jpg_copy.jpg +26d4fc7221770709ddaff6304360c167 img_convert.full/104400.jpg +26d4fc7221770709ddaff6304360c167 img_convert.full/104400.jpg_copy.jpg +9dbeb468d39ba459ad0b8034eb1a7777 img_convert.full/104401.jpg +9dbeb468d39ba459ad0b8034eb1a7777 img_convert.full/104401.jpg_copy.jpg +b0408ff61a00cc3fb56ca8144721049e img_convert.full/104402.jpg +b0408ff61a00cc3fb56ca8144721049e img_convert.full/104402.jpg_copy.jpg +72005d66fcee6961f8627b440e705ccd img_convert.full/104500.jpg +72005d66fcee6961f8627b440e705ccd img_convert.full/104500.jpg_copy.jpg +d99ee19b9ce4b83348ae6aba98a3b79d img_convert.full/104501.jpg +d99ee19b9ce4b83348ae6aba98a3b79d img_convert.full/104501.jpg_copy.jpg +c43f75c31736db195e5af1a6a86c5127 img_convert.full/104502.jpg +c43f75c31736db195e5af1a6a86c5127 img_convert.full/104502.jpg_copy.jpg +f74eb7b0fb853e6075ca76f3974d24cf img_convert.full/104600.jpg +f74eb7b0fb853e6075ca76f3974d24cf img_convert.full/104600.jpg_copy.jpg +912469e88d002d6ae4cf2c566ae99390 img_convert.full/104601.jpg +912469e88d002d6ae4cf2c566ae99390 img_convert.full/104601.jpg_copy.jpg +41e9206dbb733e55296b31ac2ecf1d85 img_convert.full/104700.jpg +41e9206dbb733e55296b31ac2ecf1d85 img_convert.full/104700.jpg_copy.jpg +a788294d896eb8c8734c1380e450ecc3 img_convert.full/104701.jpg +a788294d896eb8c8734c1380e450ecc3 img_convert.full/104701.jpg_copy.jpg +024e92f601a183c34ec6047be9284cbd img_convert.full/104800.jpg +024e92f601a183c34ec6047be9284cbd img_convert.full/104800.jpg_copy.jpg +21db976be2edc0cd23817267ab7dffd5 img_convert.full/104801.jpg +21db976be2edc0cd23817267ab7dffd5 img_convert.full/104801.jpg_copy.jpg +a8c4174063401ddbca2255e53d23fd4b img_convert.full/104802.jpg +a8c4174063401ddbca2255e53d23fd4b img_convert.full/104802.jpg_copy.jpg +f7b6b98704e46c803c054b1d530c5c4b img_convert.full/104900.jpg +f7b6b98704e46c803c054b1d530c5c4b img_convert.full/104900.jpg_copy.jpg +510fc5d6b65e3dd2247f5f68a591694b img_convert.full/104901.jpg +510fc5d6b65e3dd2247f5f68a591694b img_convert.full/104901.jpg_copy.jpg +7de74b587c89f241f6c8159b6f577cbb img_convert.full/104902.jpg +7de74b587c89f241f6c8159b6f577cbb img_convert.full/104902.jpg_copy.jpg +c101a617f68ed5c2b9e4712f672946ce img_convert.full/105000.jpg +c101a617f68ed5c2b9e4712f672946ce img_convert.full/105000.jpg_copy.jpg +f7d36f854f2c3c36535ff52e89fd5bc7 img_convert.full/105001.jpg +f7d36f854f2c3c36535ff52e89fd5bc7 img_convert.full/105001.jpg_copy.jpg +9e97e4243ed0243b9cf2d11967616701 img_convert.full/105002.jpg +9e97e4243ed0243b9cf2d11967616701 img_convert.full/105002.jpg_copy.jpg +68effc265a6ecd671a7375c7a23a8643 img_convert.full/105100.jpg +68effc265a6ecd671a7375c7a23a8643 img_convert.full/105100.jpg_copy.jpg +5f3e0420183ae90333235f501889424d img_convert.full/105101.jpg +5f3e0420183ae90333235f501889424d img_convert.full/105101.jpg_copy.jpg +9eb1ffb1033740b5faad9c717e683675 img_convert.full/105102.jpg +9eb1ffb1033740b5faad9c717e683675 img_convert.full/105102.jpg_copy.jpg +0ad23b1940d21590efa0db95a7e0483f img_convert.full/105103.jpg +0ad23b1940d21590efa0db95a7e0483f img_convert.full/105103.jpg_copy.jpg +9d84a987af183b9c1021042fd2fd0b10 img_convert.full/105104.jpg +9d84a987af183b9c1021042fd2fd0b10 img_convert.full/105104.jpg_copy.jpg +0307707226f00661fe7639bbdb22f0a0 img_convert.full/105200.jpg +0307707226f00661fe7639bbdb22f0a0 img_convert.full/105200.jpg_copy.jpg +5deb2f0a0ba9a3a098e248ffeb4188b4 img_convert.full/105201.jpg +5deb2f0a0ba9a3a098e248ffeb4188b4 img_convert.full/105201.jpg_copy.jpg +f75d0586d8bc0905e8bcf3d5d56ada1a img_convert.full/105300.jpg +f75d0586d8bc0905e8bcf3d5d56ada1a img_convert.full/105300.jpg_copy.jpg +3838fe6ec88ad438432e5efe6d75e766 img_convert.full/105301.jpg +3838fe6ec88ad438432e5efe6d75e766 img_convert.full/105301.jpg_copy.jpg +83654688f27f588d03a384406fb60e97 img_convert.full/105400.jpg +83654688f27f588d03a384406fb60e97 img_convert.full/105400.jpg_copy.jpg +19a1d9c3db51c214b92ad34247076ba0 img_convert.full/105401.jpg +19a1d9c3db51c214b92ad34247076ba0 img_convert.full/105401.jpg_copy.jpg +4586815b441f7b461ef46974f4e9f360 img_convert.full/105500.jpg +4586815b441f7b461ef46974f4e9f360 img_convert.full/105500.jpg_copy.jpg +9d65e8fbb6da327e5b84242bb37bb866 img_convert.full/105501.jpg +9d65e8fbb6da327e5b84242bb37bb866 img_convert.full/105501.jpg_copy.jpg +d5b30982205c8c0f4554a0da23d61156 img_convert.full/105600.jpg +d5b30982205c8c0f4554a0da23d61156 img_convert.full/105600.jpg_copy.jpg +59802d75edf956fc93c4f007162f363a img_convert.full/105601.jpg +59802d75edf956fc93c4f007162f363a img_convert.full/105601.jpg_copy.jpg +831a0e47a44885ba6dd989a872b8fbdb img_convert.full/105700.jpg +831a0e47a44885ba6dd989a872b8fbdb img_convert.full/105700.jpg_copy.jpg +75b5c6acb27c760531bebaf953dac29e img_convert.full/105701.jpg +75b5c6acb27c760531bebaf953dac29e img_convert.full/105701.jpg_copy.jpg +5bc6f1de989542e77806bff989c6b8a7 img_convert.full/105800.jpg +5bc6f1de989542e77806bff989c6b8a7 img_convert.full/105800.jpg_copy.jpg +f9f434448d1080f299854899069e966e img_convert.full/105801.jpg +f9f434448d1080f299854899069e966e img_convert.full/105801.jpg_copy.jpg +bb4ed85ab6f28b30fdf2fe032891a460 img_convert.full/105802.jpg +bb4ed85ab6f28b30fdf2fe032891a460 img_convert.full/105802.jpg_copy.jpg +08a0dc18ef9d16fbdfef71f293571fe9 img_convert.full/105900.jpg +08a0dc18ef9d16fbdfef71f293571fe9 img_convert.full/105900.jpg_copy.jpg +28c3302873bb0c300800e3a60d3adcdc img_convert.full/105901.jpg +28c3302873bb0c300800e3a60d3adcdc img_convert.full/105901.jpg_copy.jpg +dfcfe7d4601464ab1deb97ee951a2442 img_convert.full/106000.jpg +dfcfe7d4601464ab1deb97ee951a2442 img_convert.full/106000.jpg_copy.jpg +9c226d8396b678db922033b82644d44b img_convert.full/106001.jpg +9c226d8396b678db922033b82644d44b img_convert.full/106001.jpg_copy.jpg +362c432ef37dc0549b02dcd843af34f4 img_convert.full/106002.jpg +362c432ef37dc0549b02dcd843af34f4 img_convert.full/106002.jpg_copy.jpg +95056a41e5d6293a4ed8b80e87a7caf4 img_convert.full/106100.jpg +95056a41e5d6293a4ed8b80e87a7caf4 img_convert.full/106100.jpg_copy.jpg +2209c77aab80b0d2719e6d495e609da0 img_convert.full/106101.jpg +2209c77aab80b0d2719e6d495e609da0 img_convert.full/106101.jpg_copy.jpg +805d1ef307291a5e4e759779c9f5d1f7 img_convert.full/106200.jpg +805d1ef307291a5e4e759779c9f5d1f7 img_convert.full/106200.jpg_copy.jpg +065a64b0705a7d68727ebccf4860b192 img_convert.full/106201.jpg +065a64b0705a7d68727ebccf4860b192 img_convert.full/106201.jpg_copy.jpg +fee40aab6cbf832c4f370ee936a2091a img_convert.full/106202.jpg +fee40aab6cbf832c4f370ee936a2091a img_convert.full/106202.jpg_copy.jpg +f63370b23779098e3219a3eb2d11a6b5 img_convert.full/106300.jpg +f63370b23779098e3219a3eb2d11a6b5 img_convert.full/106300.jpg_copy.jpg +b9afb1865351a61efed3f92488f1791e img_convert.full/106301.jpg +b9afb1865351a61efed3f92488f1791e img_convert.full/106301.jpg_copy.jpg +93f555084c528f2adef5a31a6dd61f84 img_convert.full/106400.jpg +93f555084c528f2adef5a31a6dd61f84 img_convert.full/106400.jpg_copy.jpg +eb3a17feb5d2f1467970b07379c13c89 img_convert.full/106401.jpg +eb3a17feb5d2f1467970b07379c13c89 img_convert.full/106401.jpg_copy.jpg +63eaf93ac8ca53ffa6c8ad0d08417cbf img_convert.full/106402.jpg +63eaf93ac8ca53ffa6c8ad0d08417cbf img_convert.full/106402.jpg_copy.jpg +c423d8b205e8523af439d80e6b109855 img_convert.full/106403.jpg +c423d8b205e8523af439d80e6b109855 img_convert.full/106403.jpg_copy.jpg +3eb419373fafce2112b85453a3b23df9 img_convert.full/106500.jpg +3eb419373fafce2112b85453a3b23df9 img_convert.full/106500.jpg_copy.jpg +408444bbf51e22aba6db1d7ce8fc2cdf img_convert.full/106501.jpg +408444bbf51e22aba6db1d7ce8fc2cdf img_convert.full/106501.jpg_copy.jpg +915453c2802c1b35ae23d5a790c4b1bb img_convert.full/106600.jpg +915453c2802c1b35ae23d5a790c4b1bb img_convert.full/106600.jpg_copy.jpg +999745c85504292f87145254f8fe572c img_convert.full/106601.jpg +999745c85504292f87145254f8fe572c img_convert.full/106601.jpg_copy.jpg +fce2e349f35e0619999a3ed5ac104fc4 img_convert.full/106602.jpg +fce2e349f35e0619999a3ed5ac104fc4 img_convert.full/106602.jpg_copy.jpg +b73e427f15581b7d55d61d7710aa16d0 img_convert.full/106603.jpg +b73e427f15581b7d55d61d7710aa16d0 img_convert.full/106603.jpg_copy.jpg +71fe3e2bc7c86ad795f76300c8a873e7 img_convert.full/106604.jpg +71fe3e2bc7c86ad795f76300c8a873e7 img_convert.full/106604.jpg_copy.jpg +461ec8d20fda59c6c311ce21a9054cc9 img_convert.full/106605.jpg +461ec8d20fda59c6c311ce21a9054cc9 img_convert.full/106605.jpg_copy.jpg +186b6c71dc67a7952c721d66260b7e1f img_convert.full/106606.jpg +186b6c71dc67a7952c721d66260b7e1f img_convert.full/106606.jpg_copy.jpg +005be0b5ef18eeb68e6874993c21a793 img_convert.full/106700.jpg +005be0b5ef18eeb68e6874993c21a793 img_convert.full/106700.jpg_copy.jpg +d990a22838258942b83cf29d1e8c8a1f img_convert.full/106701.jpg +d990a22838258942b83cf29d1e8c8a1f img_convert.full/106701.jpg_copy.jpg +3575eb2e28e1948f72ba685c5bbfdeb3 img_convert.full/106702.jpg +3575eb2e28e1948f72ba685c5bbfdeb3 img_convert.full/106702.jpg_copy.jpg +78f35af0cf295a2dea8c9ea95d38558b img_convert.full/106703.jpg +78f35af0cf295a2dea8c9ea95d38558b img_convert.full/106703.jpg_copy.jpg +4667aabea2adb025c790f48883bcf802 img_convert.full/106704.jpg +4667aabea2adb025c790f48883bcf802 img_convert.full/106704.jpg_copy.jpg +ed4b42a7e91e5a91541827ef7c13ff0f img_convert.full/106800.jpg +ed4b42a7e91e5a91541827ef7c13ff0f img_convert.full/106800.jpg_copy.jpg +586be8b37912d7de03836c8bae789960 img_convert.full/106801.jpg +586be8b37912d7de03836c8bae789960 img_convert.full/106801.jpg_copy.jpg +15af4ec8805cd03386aa125006924700 img_convert.full/106900.jpg +15af4ec8805cd03386aa125006924700 img_convert.full/106900.jpg_copy.jpg +1aae4a0b978c0f440379424ded3c4692 img_convert.full/106901.jpg +1aae4a0b978c0f440379424ded3c4692 img_convert.full/106901.jpg_copy.jpg +41434134309ef96e88f96f5972c2d8aa img_convert.full/106902.jpg +41434134309ef96e88f96f5972c2d8aa img_convert.full/106902.jpg_copy.jpg +89a655a9f3c7d4cf79dbe39b4764ed3a img_convert.full/106903.jpg +89a655a9f3c7d4cf79dbe39b4764ed3a img_convert.full/106903.jpg_copy.jpg +26f1dd6b99224ad19bd2af5253a9b60e img_convert.full/107000.jpg +26f1dd6b99224ad19bd2af5253a9b60e img_convert.full/107000.jpg_copy.jpg +0208d4a5170953ff4695cfe4fcf1ca6f img_convert.full/107001.jpg +0208d4a5170953ff4695cfe4fcf1ca6f img_convert.full/107001.jpg_copy.jpg +8e3aaa3b168a8edccc420602089901bc img_convert.full/107100.jpg +8e3aaa3b168a8edccc420602089901bc img_convert.full/107100.jpg_copy.jpg +c858a7ad539e8c4784fcb36b4e363ec9 img_convert.full/107101.jpg +c858a7ad539e8c4784fcb36b4e363ec9 img_convert.full/107101.jpg_copy.jpg +e18e75b94c6a98c4757f12e7f132897f img_convert.full/107200.jpg +e18e75b94c6a98c4757f12e7f132897f img_convert.full/107200.jpg_copy.jpg +0e5693f3c2510af7d17cce3e5f041388 img_convert.full/107201.jpg +0e5693f3c2510af7d17cce3e5f041388 img_convert.full/107201.jpg_copy.jpg +e081cec69c188015805d6c0ea6c8740c img_convert.full/107202.jpg +e081cec69c188015805d6c0ea6c8740c img_convert.full/107202.jpg_copy.jpg +1ebb016b973b85004f11c5aa79fa2e40 img_convert.full/107203.jpg +1ebb016b973b85004f11c5aa79fa2e40 img_convert.full/107203.jpg_copy.jpg +b8ba0942a05b96c2482e22e4ad783197 img_convert.full/107300.jpg +b8ba0942a05b96c2482e22e4ad783197 img_convert.full/107300.jpg_copy.jpg +ccd84d1782430a523062cd98d0796271 img_convert.full/107301.jpg +ccd84d1782430a523062cd98d0796271 img_convert.full/107301.jpg_copy.jpg +8cb88224ae528b11120908f8330ef3e7 img_convert.full/107400.jpg +8cb88224ae528b11120908f8330ef3e7 img_convert.full/107400.jpg_copy.jpg +0c002a2fd78d948583dbef111ae2f4dc img_convert.full/107401.jpg +0c002a2fd78d948583dbef111ae2f4dc img_convert.full/107401.jpg_copy.jpg +ab6013224c85fcd0e802d3a6464e298e img_convert.full/107500.jpg +ab6013224c85fcd0e802d3a6464e298e img_convert.full/107500.jpg_copy.jpg +d57c653977c6e99ccfc8d2ef80233969 img_convert.full/107501.jpg +d57c653977c6e99ccfc8d2ef80233969 img_convert.full/107501.jpg_copy.jpg +ef106b37eef2e8515aaa5c6e1d46c53c img_convert.full/107600.jpg +ef106b37eef2e8515aaa5c6e1d46c53c img_convert.full/107600.jpg_copy.jpg +0d42663fc395798bb8f3a9f4344c9f20 img_convert.full/107601.jpg +0d42663fc395798bb8f3a9f4344c9f20 img_convert.full/107601.jpg_copy.jpg +3911b932ed20c52cf3c6753f7ea75ea1 img_convert.full/107700.jpg +3911b932ed20c52cf3c6753f7ea75ea1 img_convert.full/107700.jpg_copy.jpg +0286d09a239453e398f7720a82c661d5 img_convert.full/107701.jpg +0286d09a239453e398f7720a82c661d5 img_convert.full/107701.jpg_copy.jpg +a332db1b11e207318c1992a985e17c0e img_convert.full/107702.jpg +a332db1b11e207318c1992a985e17c0e img_convert.full/107702.jpg_copy.jpg +ac00e74dbec4b2870e16057fcadd2d93 img_convert.full/107800.jpg +ac00e74dbec4b2870e16057fcadd2d93 img_convert.full/107800.jpg_copy.jpg +7284686c8c8c47e7d5b80be8674b56df img_convert.full/107801.jpg +7284686c8c8c47e7d5b80be8674b56df img_convert.full/107801.jpg_copy.jpg +6af393a87868eeebd40bcb8b7b91929d img_convert.full/107900.jpg +6af393a87868eeebd40bcb8b7b91929d img_convert.full/107900.jpg_copy.jpg +b93dd9d7a9b8a2755646c9859547c80b img_convert.full/107901.jpg +b93dd9d7a9b8a2755646c9859547c80b img_convert.full/107901.jpg_copy.jpg +8db33bc3e01588a9c126d9d7b4dc9d11 img_convert.full/107902.jpg +8db33bc3e01588a9c126d9d7b4dc9d11 img_convert.full/107902.jpg_copy.jpg +84fd336d1bfe82d9f5b801cfc28270be img_convert.full/108000.jpg +84fd336d1bfe82d9f5b801cfc28270be img_convert.full/108000.jpg_copy.jpg +b5657d1a35c263175128bcdf2f33730f img_convert.full/108001.jpg +b5657d1a35c263175128bcdf2f33730f img_convert.full/108001.jpg_copy.jpg +fb40273890088e6dffb5af27060aad40 img_convert.full/108100.jpg +fb40273890088e6dffb5af27060aad40 img_convert.full/108100.jpg_copy.jpg +0ce8f47e580b8eb19c24cbaed7bfffdf img_convert.full/108101.jpg +0ce8f47e580b8eb19c24cbaed7bfffdf img_convert.full/108101.jpg_copy.jpg +ad3c6d0fdbb50dd2811d9bd03baa9d5b img_convert.full/108102.jpg +ad3c6d0fdbb50dd2811d9bd03baa9d5b img_convert.full/108102.jpg_copy.jpg +dcb6636d3a9e5e36ab9f7b67dfcfaf0c img_convert.full/108103.jpg +dcb6636d3a9e5e36ab9f7b67dfcfaf0c img_convert.full/108103.jpg_copy.jpg +60b369402dfeb54efdf7c7641a6a1967 img_convert.full/108104.jpg +60b369402dfeb54efdf7c7641a6a1967 img_convert.full/108104.jpg_copy.jpg +2c5664eb989b80e6e2af29cfdd326552 img_convert.full/108105.jpg +2c5664eb989b80e6e2af29cfdd326552 img_convert.full/108105.jpg_copy.jpg +a39217ed342a6d098239261924866a50 img_convert.full/108106.jpg +a39217ed342a6d098239261924866a50 img_convert.full/108106.jpg_copy.jpg +c819cb03df792f55539628788b6dc41a img_convert.full/108200.jpg +c819cb03df792f55539628788b6dc41a img_convert.full/108200.jpg_copy.jpg +83c229ecb72db70d794d289588103ac5 img_convert.full/108201.jpg +83c229ecb72db70d794d289588103ac5 img_convert.full/108201.jpg_copy.jpg +3099105847a17206fdad32a41887d513 img_convert.full/108202.jpg +3099105847a17206fdad32a41887d513 img_convert.full/108202.jpg_copy.jpg +cf597972afd1cb6609e0fbfe4221c874 img_convert.full/108203.jpg +cf597972afd1cb6609e0fbfe4221c874 img_convert.full/108203.jpg_copy.jpg +8f38d8ca02bb3bfba7f83614b0b0f013 img_convert.full/108300.jpg +8f38d8ca02bb3bfba7f83614b0b0f013 img_convert.full/108300.jpg_copy.jpg +b0aac3b7b9ca3ab453af2c45728db9be img_convert.full/108301.jpg +b0aac3b7b9ca3ab453af2c45728db9be img_convert.full/108301.jpg_copy.jpg +cf29e1ee8190bd744aaa0cf23a3e43e5 img_convert.full/108400.jpg +cf29e1ee8190bd744aaa0cf23a3e43e5 img_convert.full/108400.jpg_copy.jpg +036c08b64e94c103d35e02938c5fb626 img_convert.full/108401.jpg +036c08b64e94c103d35e02938c5fb626 img_convert.full/108401.jpg_copy.jpg +cc7c220afa62dfe9185e0a3d82ce2a21 img_convert.full/108500.jpg +cc7c220afa62dfe9185e0a3d82ce2a21 img_convert.full/108500.jpg_copy.jpg +d86efbf51a9e6b8cf7a2c2aaea0e548e img_convert.full/108501.jpg +d86efbf51a9e6b8cf7a2c2aaea0e548e img_convert.full/108501.jpg_copy.jpg +e8fd736a0b1e3cd6e4e63883e18bba56 img_convert.full/108600.jpg +e8fd736a0b1e3cd6e4e63883e18bba56 img_convert.full/108600.jpg_copy.jpg +3f5f71601eea46ce09195982554b9645 img_convert.full/108601.jpg +3f5f71601eea46ce09195982554b9645 img_convert.full/108601.jpg_copy.jpg +aa7be193abbcb8862c743d1c502a5a06 img_convert.full/108700.jpg +aa7be193abbcb8862c743d1c502a5a06 img_convert.full/108700.jpg_copy.jpg +6504730c1ab9991be91db47036ccc4bc img_convert.full/108701.jpg +6504730c1ab9991be91db47036ccc4bc img_convert.full/108701.jpg_copy.jpg +0489edc4338ce01422b8e1e8d2c8b990 img_convert.full/108800.jpg +0489edc4338ce01422b8e1e8d2c8b990 img_convert.full/108800.jpg_copy.jpg +78eaec3136a65324dc408c5e760712e4 img_convert.full/108801.jpg +78eaec3136a65324dc408c5e760712e4 img_convert.full/108801.jpg_copy.jpg +c236eaeaf5cd42c1120ae1346daedad8 img_convert.full/108802.jpg +c236eaeaf5cd42c1120ae1346daedad8 img_convert.full/108802.jpg_copy.jpg +e2382cde7caf5a5386a1419548b48d64 img_convert.full/108900.jpg +e2382cde7caf5a5386a1419548b48d64 img_convert.full/108900.jpg_copy.jpg +5022173254bc7d5b7175a6119a478d66 img_convert.full/108901.jpg +5022173254bc7d5b7175a6119a478d66 img_convert.full/108901.jpg_copy.jpg +904c481740a673f332444606495116c4 img_convert.full/108902.jpg +904c481740a673f332444606495116c4 img_convert.full/108902.jpg_copy.jpg +86467346997bbd7ea003b942574645e8 img_convert.full/109000.jpg +86467346997bbd7ea003b942574645e8 img_convert.full/109000.jpg_copy.jpg +831389ee40638f860c4257bca547014b img_convert.full/109001.jpg +831389ee40638f860c4257bca547014b img_convert.full/109001.jpg_copy.jpg +43ce830ca25adf943d4d1c6a4d77373a img_convert.full/109100.jpg +43ce830ca25adf943d4d1c6a4d77373a img_convert.full/109100.jpg_copy.jpg +e7684d190bdba245a58540bc215e8b92 img_convert.full/109101.jpg +e7684d190bdba245a58540bc215e8b92 img_convert.full/109101.jpg_copy.jpg +b754b0cd10b43e04577c8db61daa2f6c img_convert.full/109200.jpg +b754b0cd10b43e04577c8db61daa2f6c img_convert.full/109200.jpg_copy.jpg +1f405ccefec87fb2cfb14b058aa353d4 img_convert.full/109201.jpg +1f405ccefec87fb2cfb14b058aa353d4 img_convert.full/109201.jpg_copy.jpg +42e4939a0d39b2bc4ab129614dfab1a1 img_convert.full/109300.jpg +42e4939a0d39b2bc4ab129614dfab1a1 img_convert.full/109300.jpg_copy.jpg +3569fd5f3c8abc701c5c73cd227b62b3 img_convert.full/109301.jpg +3569fd5f3c8abc701c5c73cd227b62b3 img_convert.full/109301.jpg_copy.jpg +9cc8adbd281abc01ae0de6e57728c566 img_convert.full/109400.jpg +9cc8adbd281abc01ae0de6e57728c566 img_convert.full/109400.jpg_copy.jpg +4c0138c35e2c92fc703302a34c0fd972 img_convert.full/109401.jpg +4c0138c35e2c92fc703302a34c0fd972 img_convert.full/109401.jpg_copy.jpg +f0da6e3827c02b329bb6ab9385984cb6 img_convert.full/109402.jpg +f0da6e3827c02b329bb6ab9385984cb6 img_convert.full/109402.jpg_copy.jpg +ced414631498c81a89e1adcf5d5fdf54 img_convert.full/109500.jpg +ced414631498c81a89e1adcf5d5fdf54 img_convert.full/109500.jpg_copy.jpg +641b98dc99e9492365e067027f94d833 img_convert.full/109501.jpg +641b98dc99e9492365e067027f94d833 img_convert.full/109501.jpg_copy.jpg +2aaae1c33d6b3a5913a194633eaab1fe img_convert.full/109600.jpg +2aaae1c33d6b3a5913a194633eaab1fe img_convert.full/109600.jpg_copy.jpg +b6af5be8517a5ba324344ebcf12ce005 img_convert.full/109601.jpg +b6af5be8517a5ba324344ebcf12ce005 img_convert.full/109601.jpg_copy.jpg +ec9c94a368edcd840823307494e6ab92 img_convert.full/109700.jpg +ec9c94a368edcd840823307494e6ab92 img_convert.full/109700.jpg_copy.jpg +ffc997178f47e6f6a5c4faa44cdb1080 img_convert.full/109701.jpg +ffc997178f47e6f6a5c4faa44cdb1080 img_convert.full/109701.jpg_copy.jpg +94eafc25db2acee820b97a57edc024ef img_convert.full/109800.jpg +94eafc25db2acee820b97a57edc024ef img_convert.full/109800.jpg_copy.jpg +ad4ed7d268b00cc99c309635f4f7104b img_convert.full/109801.jpg +ad4ed7d268b00cc99c309635f4f7104b img_convert.full/109801.jpg_copy.jpg +b7af758356d8c160634c87961d67d6bc img_convert.full/109802.jpg +b7af758356d8c160634c87961d67d6bc img_convert.full/109802.jpg_copy.jpg +117be1a327da756545ce051c9edc9cca img_convert.full/109900.jpg +117be1a327da756545ce051c9edc9cca img_convert.full/109900.jpg_copy.jpg +fa84194a245f5d3eea7299487152300a img_convert.full/109901.jpg +fa84194a245f5d3eea7299487152300a img_convert.full/109901.jpg_copy.jpg +73c0cc682919453177d6f2394c94d389 img_convert.full/110000.jpg +73c0cc682919453177d6f2394c94d389 img_convert.full/110000.jpg_copy.jpg +4c371a0ca418a2ee8ad70461ef930f6a img_convert.full/110001.jpg +4c371a0ca418a2ee8ad70461ef930f6a img_convert.full/110001.jpg_copy.jpg +55dd1ded55b6958b935ac2d7de49e247 img_convert.full/110100.jpg +55dd1ded55b6958b935ac2d7de49e247 img_convert.full/110100.jpg_copy.jpg +0af69caba6dc172a38dc64248aed4d74 img_convert.full/110101.jpg +0af69caba6dc172a38dc64248aed4d74 img_convert.full/110101.jpg_copy.jpg +62b080631161ab8166ab213238c389be img_convert.full/110200.jpg +62b080631161ab8166ab213238c389be img_convert.full/110200.jpg_copy.jpg +1cb4b1a17c96c00074b9505590a0a844 img_convert.full/110201.jpg +1cb4b1a17c96c00074b9505590a0a844 img_convert.full/110201.jpg_copy.jpg +cde81f06c2b93baea34b8c094883ebea img_convert.full/110300.jpg +cde81f06c2b93baea34b8c094883ebea img_convert.full/110300.jpg_copy.jpg +e4398332310fbac0994d8bfc18895a67 img_convert.full/110301.jpg +e4398332310fbac0994d8bfc18895a67 img_convert.full/110301.jpg_copy.jpg +f07cbe4a988fd45bed85294d955cf5d2 img_convert.full/110302.jpg +f07cbe4a988fd45bed85294d955cf5d2 img_convert.full/110302.jpg_copy.jpg +93541b9f660491f11eb438b35d4317c0 img_convert.full/110400.jpg +93541b9f660491f11eb438b35d4317c0 img_convert.full/110400.jpg_copy.jpg +17bcc1a8940fe15a832ef95f97a5dd97 img_convert.full/110401.jpg +17bcc1a8940fe15a832ef95f97a5dd97 img_convert.full/110401.jpg_copy.jpg +62f050557992be1c7644cd8cd41404df img_convert.full/110500.jpg +62f050557992be1c7644cd8cd41404df img_convert.full/110500.jpg_copy.jpg +307f491f2f62d6110123784e81a3206f img_convert.full/110501.jpg +307f491f2f62d6110123784e81a3206f img_convert.full/110501.jpg_copy.jpg +9f49951ab1b40fb628439e89693325b7 img_convert.full/110600.jpg +9f49951ab1b40fb628439e89693325b7 img_convert.full/110600.jpg_copy.jpg +6c84df39da917176c4b098fc8fbac54a img_convert.full/110601.jpg +6c84df39da917176c4b098fc8fbac54a img_convert.full/110601.jpg_copy.jpg +d621bc01b56e6e233aff9e2b6c0a93f8 img_convert.full/110700.jpg +d621bc01b56e6e233aff9e2b6c0a93f8 img_convert.full/110700.jpg_copy.jpg +7d6b5e630987e2e70b0288a3c2578606 img_convert.full/110701.jpg +7d6b5e630987e2e70b0288a3c2578606 img_convert.full/110701.jpg_copy.jpg +10e298ea8e7befb222446419001c4e62 img_convert.full/110702.jpg +10e298ea8e7befb222446419001c4e62 img_convert.full/110702.jpg_copy.jpg +990d39b4339343be553a94baf643dad6 img_convert.full/110800.jpg +990d39b4339343be553a94baf643dad6 img_convert.full/110800.jpg_copy.jpg +ae3f12bc8839cea10bdf4cf17522c80a img_convert.full/110801.jpg +ae3f12bc8839cea10bdf4cf17522c80a img_convert.full/110801.jpg_copy.jpg +19c8e7eed963a39729503845247d4a2d img_convert.full/110802.jpg +19c8e7eed963a39729503845247d4a2d img_convert.full/110802.jpg_copy.jpg +c8070ef7c3cc8f3884e92a8b365b641c img_convert.full/110900.jpg +c8070ef7c3cc8f3884e92a8b365b641c img_convert.full/110900.jpg_copy.jpg +020e16e0b5e7a3f4ffb48b646f3b0793 img_convert.full/110901.jpg +020e16e0b5e7a3f4ffb48b646f3b0793 img_convert.full/110901.jpg_copy.jpg +0a0c6f74894047f6c8fd75292f0a2837 img_convert.full/111000.jpg +0a0c6f74894047f6c8fd75292f0a2837 img_convert.full/111000.jpg_copy.jpg +dda6ea1aca027eda5e27601dd20c6b53 img_convert.full/111001.jpg +dda6ea1aca027eda5e27601dd20c6b53 img_convert.full/111001.jpg_copy.jpg +6a6974e2a4dc11359297d2c50bbdfd09 img_convert.full/111002.jpg +6a6974e2a4dc11359297d2c50bbdfd09 img_convert.full/111002.jpg_copy.jpg +700a4c770f59bfa48a3026f1a8ac0f1f img_convert.full/111100.jpg +700a4c770f59bfa48a3026f1a8ac0f1f img_convert.full/111100.jpg_copy.jpg +6a6c343762fbf0b6230d8038543bfb9c img_convert.full/111101.jpg +6a6c343762fbf0b6230d8038543bfb9c img_convert.full/111101.jpg_copy.jpg +1dc959199e8b4404813be48f91ef650b img_convert.full/111200.jpg +1dc959199e8b4404813be48f91ef650b img_convert.full/111200.jpg_copy.jpg +426d15a6ca4373d28e58abda7734f0ec img_convert.full/111201.jpg +426d15a6ca4373d28e58abda7734f0ec img_convert.full/111201.jpg_copy.jpg +d3b1f40e68f5b47b464a30666f953453 img_convert.full/111300.jpg +d3b1f40e68f5b47b464a30666f953453 img_convert.full/111300.jpg_copy.jpg +0f7153214ee9fbfc3b0c3ca16facc72a img_convert.full/111301.jpg +0f7153214ee9fbfc3b0c3ca16facc72a img_convert.full/111301.jpg_copy.jpg +0026f03e68b329cfefe17d3fc7f059d8 img_convert.full/111400.jpg +0026f03e68b329cfefe17d3fc7f059d8 img_convert.full/111400.jpg_copy.jpg +9c256439eeb528dc43867d40ef635137 img_convert.full/111401.jpg +9c256439eeb528dc43867d40ef635137 img_convert.full/111401.jpg_copy.jpg +9fe993d8f4ae67fa26c6046d5d6b07a1 img_convert.full/111500.jpg +9fe993d8f4ae67fa26c6046d5d6b07a1 img_convert.full/111500.jpg_copy.jpg +9e90dba88152ec3a6dfa95a2d0ea8972 img_convert.full/111501.jpg +9e90dba88152ec3a6dfa95a2d0ea8972 img_convert.full/111501.jpg_copy.jpg +59b8068d51713e0ecd741131d78eadfc img_convert.full/111600.jpg +59b8068d51713e0ecd741131d78eadfc img_convert.full/111600.jpg_copy.jpg +4d1effd8bb922e31eca7687e5873022b img_convert.full/111601.jpg +4d1effd8bb922e31eca7687e5873022b img_convert.full/111601.jpg_copy.jpg +7800bc2573d14fed828ee36cba22fd27 img_convert.full/111700.jpg +7800bc2573d14fed828ee36cba22fd27 img_convert.full/111700.jpg_copy.jpg +1af6ed0befe4506bf9789213055b49e7 img_convert.full/111701.jpg +1af6ed0befe4506bf9789213055b49e7 img_convert.full/111701.jpg_copy.jpg +09e570a9a049300c3d66772fe0476414 img_convert.full/111702.jpg +09e570a9a049300c3d66772fe0476414 img_convert.full/111702.jpg_copy.jpg +ded2205f4a01b7a378c3593c6b3b61e4 img_convert.full/111703.jpg +ded2205f4a01b7a378c3593c6b3b61e4 img_convert.full/111703.jpg_copy.jpg +6f0e8134d4cd79d5558e97180c7425f0 img_convert.full/111800.jpg +6f0e8134d4cd79d5558e97180c7425f0 img_convert.full/111800.jpg_copy.jpg +a9f1b2d598e3cdb0142fdc0487c403aa img_convert.full/111801.jpg +a9f1b2d598e3cdb0142fdc0487c403aa img_convert.full/111801.jpg_copy.jpg +32e04af849e9623e2beb639a47be005a img_convert.full/111900.jpg +32e04af849e9623e2beb639a47be005a img_convert.full/111900.jpg_copy.jpg +141f2c3f4c7a9b4564d1d7a974d56590 img_convert.full/111901.jpg +141f2c3f4c7a9b4564d1d7a974d56590 img_convert.full/111901.jpg_copy.jpg +eaa2a1539fd33afaaa1f1b6f72153502 img_convert.full/112000.jpg +eaa2a1539fd33afaaa1f1b6f72153502 img_convert.full/112000.jpg_copy.jpg +9b633f8cd87cd130b34ce29b2d9e334a img_convert.full/112001.jpg +9b633f8cd87cd130b34ce29b2d9e334a img_convert.full/112001.jpg_copy.jpg +2a45dbd7ddb00a11e886a53f8aed1063 img_convert.full/112002.jpg +2a45dbd7ddb00a11e886a53f8aed1063 img_convert.full/112002.jpg_copy.jpg +4b2b07836bab9f03e15c284b9b139513 img_convert.full/112003.jpg +4b2b07836bab9f03e15c284b9b139513 img_convert.full/112003.jpg_copy.jpg +81a55c1cea5bb75b8b3b3b83ec3e4a08 img_convert.full/112100.jpg +81a55c1cea5bb75b8b3b3b83ec3e4a08 img_convert.full/112100.jpg_copy.jpg +49cb3afce09f0d07cdbab0ff2c984570 img_convert.full/112101.jpg +49cb3afce09f0d07cdbab0ff2c984570 img_convert.full/112101.jpg_copy.jpg +380eb27946ad8561020a4ae5c24d4572 img_convert.full/112200.jpg +380eb27946ad8561020a4ae5c24d4572 img_convert.full/112200.jpg_copy.jpg +4d0738128d3f6418ab5cf9633a1bc606 img_convert.full/112201.jpg +4d0738128d3f6418ab5cf9633a1bc606 img_convert.full/112201.jpg_copy.jpg +72002ac353da8b3719c7686dfc949bb1 img_convert.full/112300.jpg +72002ac353da8b3719c7686dfc949bb1 img_convert.full/112300.jpg_copy.jpg +875fe3fd826ea015f677bda74acd421c img_convert.full/112301.jpg +875fe3fd826ea015f677bda74acd421c img_convert.full/112301.jpg_copy.jpg +6aebd961d931a5bd0ce9bda7d3e46254 img_convert.full/112302.jpg +6aebd961d931a5bd0ce9bda7d3e46254 img_convert.full/112302.jpg_copy.jpg +e3d2d040ad9f58b9bcccdc53e1351832 img_convert.full/112400.jpg +e3d2d040ad9f58b9bcccdc53e1351832 img_convert.full/112400.jpg_copy.jpg +14f35403bb0f18f614d09f061e78debc img_convert.full/112401.jpg +14f35403bb0f18f614d09f061e78debc img_convert.full/112401.jpg_copy.jpg +2216e601d75e22be4f59e3ce73c1523b img_convert.full/112402.jpg +2216e601d75e22be4f59e3ce73c1523b img_convert.full/112402.jpg_copy.jpg +13bf5602015cc97f194d76c361cf57fe img_convert.full/112403.jpg +13bf5602015cc97f194d76c361cf57fe img_convert.full/112403.jpg_copy.jpg +38f2679f9cd1bad68183e7489465756e img_convert.full/112404.jpg +38f2679f9cd1bad68183e7489465756e img_convert.full/112404.jpg_copy.jpg +72da4abc59735129bd26852e3ab72a5c img_convert.full/112405.jpg +72da4abc59735129bd26852e3ab72a5c img_convert.full/112405.jpg_copy.jpg +c31c8cda2b4a6a2734773dc938c87471 img_convert.full/112406.jpg +c31c8cda2b4a6a2734773dc938c87471 img_convert.full/112406.jpg_copy.jpg +ba6fcfc71852ad200bebd8603d62488a img_convert.full/112407.jpg +ba6fcfc71852ad200bebd8603d62488a img_convert.full/112407.jpg_copy.jpg +d651d9dd65eb862591e7d8ecec88dcde img_convert.full/112408.jpg +d651d9dd65eb862591e7d8ecec88dcde img_convert.full/112408.jpg_copy.jpg +7d83bbc31f333b2f302013f7463db985 img_convert.full/112500.jpg +7d83bbc31f333b2f302013f7463db985 img_convert.full/112500.jpg_copy.jpg +55f6c0501173167cd8a6bd960ee212b0 img_convert.full/112501.jpg +55f6c0501173167cd8a6bd960ee212b0 img_convert.full/112501.jpg_copy.jpg +e32608e739c0489a8c9bd3cbd52fa953 img_convert.full/112600.jpg +e32608e739c0489a8c9bd3cbd52fa953 img_convert.full/112600.jpg_copy.jpg +d77b2f0e519fc3dd523f71e4dca7212b img_convert.full/112601.jpg +d77b2f0e519fc3dd523f71e4dca7212b img_convert.full/112601.jpg_copy.jpg +336979c04d641e4a4e33493d9d3dc074 img_convert.full/112602.jpg +336979c04d641e4a4e33493d9d3dc074 img_convert.full/112602.jpg_copy.jpg +e6a0d1fa0c4af63b059794b991f78e77 img_convert.full/112700.jpg +e6a0d1fa0c4af63b059794b991f78e77 img_convert.full/112700.jpg_copy.jpg +c59b819ae44fc3e1267df78e08b1cf7c img_convert.full/112701.jpg +c59b819ae44fc3e1267df78e08b1cf7c img_convert.full/112701.jpg_copy.jpg +eedc105f64a76f646075ab87e6e1a2fa img_convert.full/112800.jpg +eedc105f64a76f646075ab87e6e1a2fa img_convert.full/112800.jpg_copy.jpg +250da7aa760470b05281543e90d66e49 img_convert.full/112801.jpg +250da7aa760470b05281543e90d66e49 img_convert.full/112801.jpg_copy.jpg +5f63ace3677452ac305d7230f059906e img_convert.full/112900.jpg +5f63ace3677452ac305d7230f059906e img_convert.full/112900.jpg_copy.jpg +6cfd2e7e5af3f83dcaf9f3a6fd8a0826 img_convert.full/112901.jpg +6cfd2e7e5af3f83dcaf9f3a6fd8a0826 img_convert.full/112901.jpg_copy.jpg +efa7e4b832e074ea8049c3155d81b977 img_convert.full/112902.jpg +efa7e4b832e074ea8049c3155d81b977 img_convert.full/112902.jpg_copy.jpg +84ed1119bdc05ffe7520c6da89f2b746 img_convert.full/113000.jpg +84ed1119bdc05ffe7520c6da89f2b746 img_convert.full/113000.jpg_copy.jpg +d7b1f9913fa29b465737a517fda69d66 img_convert.full/113001.jpg +d7b1f9913fa29b465737a517fda69d66 img_convert.full/113001.jpg_copy.jpg +f68c17f9789dede7ac8711da873789d5 img_convert.full/113100.jpg +f68c17f9789dede7ac8711da873789d5 img_convert.full/113100.jpg_copy.jpg +257a383b3e28a2d550756ce2d7238f1b img_convert.full/113101.jpg +257a383b3e28a2d550756ce2d7238f1b img_convert.full/113101.jpg_copy.jpg +065d16f47f293390a2df81c3abbfa944 img_convert.full/113200.jpg +065d16f47f293390a2df81c3abbfa944 img_convert.full/113200.jpg_copy.jpg +c8d3ff0a51c6361680a7c8e3ba59f89e img_convert.full/113201.jpg +c8d3ff0a51c6361680a7c8e3ba59f89e img_convert.full/113201.jpg_copy.jpg +01602b3e5b821029793b306430e5bfa5 img_convert.full/113300.jpg +01602b3e5b821029793b306430e5bfa5 img_convert.full/113300.jpg_copy.jpg +8b3d3c2a72679a239fabff3364e3b4c2 img_convert.full/113301.jpg +8b3d3c2a72679a239fabff3364e3b4c2 img_convert.full/113301.jpg_copy.jpg +ad72e5ad2c5036efd50e197eee091d6b img_convert.full/113400.jpg +ad72e5ad2c5036efd50e197eee091d6b img_convert.full/113400.jpg_copy.jpg +65cdbba729dc6e694f6cde2979c2b96d img_convert.full/113401.jpg +65cdbba729dc6e694f6cde2979c2b96d img_convert.full/113401.jpg_copy.jpg +ed3cb67ae10d6a78ef471682bd29de26 img_convert.full/113402.jpg +ed3cb67ae10d6a78ef471682bd29de26 img_convert.full/113402.jpg_copy.jpg +2f80e5a2b144d95cf139e27f82f4a759 img_convert.full/113403.jpg +2f80e5a2b144d95cf139e27f82f4a759 img_convert.full/113403.jpg_copy.jpg +e8348f7431c5d14f0d40608db6660800 img_convert.full/113404.jpg +e8348f7431c5d14f0d40608db6660800 img_convert.full/113404.jpg_copy.jpg +3cb9eb87e6e5903cfebb05b63aeb0a68 img_convert.full/113500.jpg +3cb9eb87e6e5903cfebb05b63aeb0a68 img_convert.full/113500.jpg_copy.jpg +fcc49e89cb46be8c4fd68df6bd86b11c img_convert.full/113501.jpg +fcc49e89cb46be8c4fd68df6bd86b11c img_convert.full/113501.jpg_copy.jpg +e862df63a098c41df51b30c5677c44b3 img_convert.full/113502.jpg +e862df63a098c41df51b30c5677c44b3 img_convert.full/113502.jpg_copy.jpg +1a7115a599eec022a51640b9a0a36495 img_convert.full/113600.jpg +1a7115a599eec022a51640b9a0a36495 img_convert.full/113600.jpg_copy.jpg +d7aacd5055353a27ef085647b0d88ffd img_convert.full/113601.jpg +d7aacd5055353a27ef085647b0d88ffd img_convert.full/113601.jpg_copy.jpg +b3a3a6ab45959384836d392a2bc25e2f img_convert.full/113700.jpg +b3a3a6ab45959384836d392a2bc25e2f img_convert.full/113700.jpg_copy.jpg +200a70c49b4521543eca913971056d46 img_convert.full/113701.jpg +200a70c49b4521543eca913971056d46 img_convert.full/113701.jpg_copy.jpg +1f70ff52a682766deaac5c435b4e0455 img_convert.full/113800.jpg +1f70ff52a682766deaac5c435b4e0455 img_convert.full/113800.jpg_copy.jpg +92d9b364bb0dd76623ca7cc486b09463 img_convert.full/113801.jpg +92d9b364bb0dd76623ca7cc486b09463 img_convert.full/113801.jpg_copy.jpg +f4999c33b167ca6ec686e6f4148bff2f img_convert.full/113900.jpg +f4999c33b167ca6ec686e6f4148bff2f img_convert.full/113900.jpg_copy.jpg +5a89c6517ae932a5c09d5faa7dca428d img_convert.full/113901.jpg +5a89c6517ae932a5c09d5faa7dca428d img_convert.full/113901.jpg_copy.jpg +66daf2e82bfa266775ea090708291254 img_convert.full/114000.jpg +66daf2e82bfa266775ea090708291254 img_convert.full/114000.jpg_copy.jpg +d587d3de4ccb8d57cfd8c4cbe6ea200b img_convert.full/114001.jpg +d587d3de4ccb8d57cfd8c4cbe6ea200b img_convert.full/114001.jpg_copy.jpg +f1060a49d106f316d08d57c18633a85c img_convert.full/114002.jpg +f1060a49d106f316d08d57c18633a85c img_convert.full/114002.jpg_copy.jpg +7daa3df966bfd9e014e8a2a9d2a92fb3 img_convert.full/114100.jpg +7daa3df966bfd9e014e8a2a9d2a92fb3 img_convert.full/114100.jpg_copy.jpg +2db836ed17da33b56048b088f273f1ff img_convert.full/114101.jpg +2db836ed17da33b56048b088f273f1ff img_convert.full/114101.jpg_copy.jpg +d549c5e43722177159fb045f2d98129f img_convert.full/114200.jpg +d549c5e43722177159fb045f2d98129f img_convert.full/114200.jpg_copy.jpg +03410b5c03b99639e2a696285165009b img_convert.full/114201.jpg +03410b5c03b99639e2a696285165009b img_convert.full/114201.jpg_copy.jpg +664c067e4fcd09cc0b0dddd6ea10652f img_convert.full/114300.jpg +664c067e4fcd09cc0b0dddd6ea10652f img_convert.full/114300.jpg_copy.jpg +ad067d51727356df466eb2dd1b5d1ee6 img_convert.full/114301.jpg +ad067d51727356df466eb2dd1b5d1ee6 img_convert.full/114301.jpg_copy.jpg +5acba0057e2f6a3fc4b4cce1906183a4 img_convert.full/114400.jpg +5acba0057e2f6a3fc4b4cce1906183a4 img_convert.full/114400.jpg_copy.jpg +5c2f089847f7258f399b52828c26986a img_convert.full/114401.jpg +5c2f089847f7258f399b52828c26986a img_convert.full/114401.jpg_copy.jpg +ab284c6052d61754cbe1d5ee2134ffce img_convert.full/114402.jpg +ab284c6052d61754cbe1d5ee2134ffce img_convert.full/114402.jpg_copy.jpg +b36646011b4aebdde797a034d472b191 img_convert.full/114500.jpg +b36646011b4aebdde797a034d472b191 img_convert.full/114500.jpg_copy.jpg +40b371fb9a236af05e0a464a246bd5cb img_convert.full/114501.jpg +40b371fb9a236af05e0a464a246bd5cb img_convert.full/114501.jpg_copy.jpg +3e1095fb0614e512a8003729ef04ad15 img_convert.full/114502.jpg +3e1095fb0614e512a8003729ef04ad15 img_convert.full/114502.jpg_copy.jpg +bcac72fc85effb5718669c5f5b3b396a img_convert.full/114503.jpg +bcac72fc85effb5718669c5f5b3b396a img_convert.full/114503.jpg_copy.jpg +04625d79d05fbb21c91bab08d136ecda img_convert.full/114504.jpg +04625d79d05fbb21c91bab08d136ecda img_convert.full/114504.jpg_copy.jpg +06900f1f5c12e99a001817c65a4816c1 img_convert.full/114600.jpg +06900f1f5c12e99a001817c65a4816c1 img_convert.full/114600.jpg_copy.jpg +c889cacbf5c2217fc18ee5fbf9cc6e1e img_convert.full/114601.jpg +c889cacbf5c2217fc18ee5fbf9cc6e1e img_convert.full/114601.jpg_copy.jpg +c4d082bdaf5ea960a0ad6177269185f8 img_convert.full/114700.jpg +c4d082bdaf5ea960a0ad6177269185f8 img_convert.full/114700.jpg_copy.jpg +81e9563a93a9ff17296d5c9c78935fb4 img_convert.full/114701.jpg +81e9563a93a9ff17296d5c9c78935fb4 img_convert.full/114701.jpg_copy.jpg +e3d66d954043e92c3eb0753fab7f8aad img_convert.full/114702.jpg +e3d66d954043e92c3eb0753fab7f8aad img_convert.full/114702.jpg_copy.jpg +2b8b2105335e8afae4da83084ff9d52e img_convert.full/114703.jpg +2b8b2105335e8afae4da83084ff9d52e img_convert.full/114703.jpg_copy.jpg +beabe35a2dd2f54b2690c7d25710ff59 img_convert.full/114800.jpg +beabe35a2dd2f54b2690c7d25710ff59 img_convert.full/114800.jpg_copy.jpg +63992eed773752c799eae4b7ac77be57 img_convert.full/114801.jpg +63992eed773752c799eae4b7ac77be57 img_convert.full/114801.jpg_copy.jpg +fc37282a7f55946b98f74463d5c7e6c1 img_convert.full/114900.jpg +fc37282a7f55946b98f74463d5c7e6c1 img_convert.full/114900.jpg_copy.jpg +4bdb25f06255011bee1f41e87c14c08b img_convert.full/114901.jpg +4bdb25f06255011bee1f41e87c14c08b img_convert.full/114901.jpg_copy.jpg +a452bc0170f2409261b0d7d34e12d5bb img_convert.full/114902.jpg +a452bc0170f2409261b0d7d34e12d5bb img_convert.full/114902.jpg_copy.jpg +3231eb90ef330db9ec44e4f3adcf1848 img_convert.full/114903.jpg +3231eb90ef330db9ec44e4f3adcf1848 img_convert.full/114903.jpg_copy.jpg +43eda70489dd43c95766247567b3cc9d img_convert.full/115000.jpg +43eda70489dd43c95766247567b3cc9d img_convert.full/115000.jpg_copy.jpg +edaa29874c82061e1ef7fea462bfe2de img_convert.full/115001.jpg +edaa29874c82061e1ef7fea462bfe2de img_convert.full/115001.jpg_copy.jpg +c3098b2aaefc59ac245501ce1027dfc7 img_convert.full/115100.jpg +c3098b2aaefc59ac245501ce1027dfc7 img_convert.full/115100.jpg_copy.jpg +8d0b335ab4580424fe06c8a17fd11e9a img_convert.full/115101.jpg +8d0b335ab4580424fe06c8a17fd11e9a img_convert.full/115101.jpg_copy.jpg +e7fc82adea7fb4376d21d3ef7fd368c5 img_convert.full/115200.jpg +e7fc82adea7fb4376d21d3ef7fd368c5 img_convert.full/115200.jpg_copy.jpg +5b1c16a0b1d43bf255eda32a42270841 img_convert.full/115201.jpg +5b1c16a0b1d43bf255eda32a42270841 img_convert.full/115201.jpg_copy.jpg +cb27a7d089353776472ad072225fabc4 img_convert.full/115300.jpg +cb27a7d089353776472ad072225fabc4 img_convert.full/115300.jpg_copy.jpg +28813711e60704793aeeaf95b19215a2 img_convert.full/115301.jpg +28813711e60704793aeeaf95b19215a2 img_convert.full/115301.jpg_copy.jpg +eb2bcb4f617b1bacd06bf6688f349d46 img_convert.full/115400.jpg +eb2bcb4f617b1bacd06bf6688f349d46 img_convert.full/115400.jpg_copy.jpg +a1661a8d50e5a3d0ae01b1433f009763 img_convert.full/115401.jpg +a1661a8d50e5a3d0ae01b1433f009763 img_convert.full/115401.jpg_copy.jpg +03bdba500968e62138537ba84ab87a3d img_convert.full/115500.jpg +03bdba500968e62138537ba84ab87a3d img_convert.full/115500.jpg_copy.jpg +1f8a73bead3a2e764dd76ef31196fe83 img_convert.full/115501.jpg +1f8a73bead3a2e764dd76ef31196fe83 img_convert.full/115501.jpg_copy.jpg +8b9d9bc06b4cc99c30348e67641700a1 img_convert.full/115600.jpg +8b9d9bc06b4cc99c30348e67641700a1 img_convert.full/115600.jpg_copy.jpg +057e2165445e77a1e8117afd17629d39 img_convert.full/115601.jpg +057e2165445e77a1e8117afd17629d39 img_convert.full/115601.jpg_copy.jpg +9778a77f0f680156e5f76ea347822817 img_convert.full/115602.jpg +9778a77f0f680156e5f76ea347822817 img_convert.full/115602.jpg_copy.jpg +5be9b5f449ee8eac6e317680f9e00c9b img_convert.full/115700.jpg +5be9b5f449ee8eac6e317680f9e00c9b img_convert.full/115700.jpg_copy.jpg +96a5da3f3fc13cdaebe643d2b8000370 img_convert.full/115701.jpg +96a5da3f3fc13cdaebe643d2b8000370 img_convert.full/115701.jpg_copy.jpg +b77f02756659190c78ebc685aef445c2 img_convert.full/115702.jpg +b77f02756659190c78ebc685aef445c2 img_convert.full/115702.jpg_copy.jpg +c73a83ba2e5932d148e2087ed4805d39 img_convert.full/115800.jpg +c73a83ba2e5932d148e2087ed4805d39 img_convert.full/115800.jpg_copy.jpg +cf627ad449e09d7d116e36c74beb6ac7 img_convert.full/115801.jpg +cf627ad449e09d7d116e36c74beb6ac7 img_convert.full/115801.jpg_copy.jpg +80f5eafab068a41b660d1bf7b71e8017 img_convert.full/115900.jpg +80f5eafab068a41b660d1bf7b71e8017 img_convert.full/115900.jpg_copy.jpg +1afca12dcd71173405e6ccb6cee8b80e img_convert.full/115901.jpg +1afca12dcd71173405e6ccb6cee8b80e img_convert.full/115901.jpg_copy.jpg +4e289a6babe28c69f2f50bd6db0d4875 img_convert.full/115902.jpg +4e289a6babe28c69f2f50bd6db0d4875 img_convert.full/115902.jpg_copy.jpg +5d998dcafc7fc23fed4d51cbdb8b963c img_convert.full/116000.jpg +5d998dcafc7fc23fed4d51cbdb8b963c img_convert.full/116000.jpg_copy.jpg +5ba05a5d3c0336a7a15afaf1153e612e img_convert.full/116001.jpg +5ba05a5d3c0336a7a15afaf1153e612e img_convert.full/116001.jpg_copy.jpg +c9bbb9f0bb6109b7cc22d42532c10697 img_convert.full/116002.jpg +c9bbb9f0bb6109b7cc22d42532c10697 img_convert.full/116002.jpg_copy.jpg +de425473f77076cd8aa76be88ab646dd img_convert.full/116100.jpg +de425473f77076cd8aa76be88ab646dd img_convert.full/116100.jpg_copy.jpg +35cad7f754467f59640242e934254361 img_convert.full/116101.jpg +35cad7f754467f59640242e934254361 img_convert.full/116101.jpg_copy.jpg +b4d1cd406eb9ef35d6c895703748abef img_convert.full/116200.jpg +b4d1cd406eb9ef35d6c895703748abef img_convert.full/116200.jpg_copy.jpg +ebe8788978f4f88ce62340cb66bc9382 img_convert.full/116201.jpg +ebe8788978f4f88ce62340cb66bc9382 img_convert.full/116201.jpg_copy.jpg +42290c68a2218cd398409ebbf8a23412 img_convert.full/116300.jpg +42290c68a2218cd398409ebbf8a23412 img_convert.full/116300.jpg_copy.jpg +7d598f7a96f850491df3341ff2325d9a img_convert.full/116301.jpg +7d598f7a96f850491df3341ff2325d9a img_convert.full/116301.jpg_copy.jpg +542f04d7e2993f6a19eb28ea9c94b301 img_convert.full/116400.jpg +542f04d7e2993f6a19eb28ea9c94b301 img_convert.full/116400.jpg_copy.jpg +98633f18f0be19a787c874e9f55b8549 img_convert.full/116401.jpg +98633f18f0be19a787c874e9f55b8549 img_convert.full/116401.jpg_copy.jpg +9a00cf0e1766769771338f04adb90773 img_convert.full/116402.jpg +9a00cf0e1766769771338f04adb90773 img_convert.full/116402.jpg_copy.jpg +a2be4d2ac17c5753765f69b20f39f585 img_convert.full/116500.jpg +a2be4d2ac17c5753765f69b20f39f585 img_convert.full/116500.jpg_copy.jpg +0867dbac2a31243eea09496aca627c1a img_convert.full/116501.jpg +0867dbac2a31243eea09496aca627c1a img_convert.full/116501.jpg_copy.jpg +3d04c06bb9369374860e1c2871bc2a38 img_convert.full/116600.jpg +3d04c06bb9369374860e1c2871bc2a38 img_convert.full/116600.jpg_copy.jpg +495113d9f71e35eab31c84d877232853 img_convert.full/116601.jpg +495113d9f71e35eab31c84d877232853 img_convert.full/116601.jpg_copy.jpg +f10d27ddc866ffd4e4be19870815eba4 img_convert.full/116700.jpg +f10d27ddc866ffd4e4be19870815eba4 img_convert.full/116700.jpg_copy.jpg +4e13b84e5dc1a081caba4c947077a135 img_convert.full/116701.jpg +4e13b84e5dc1a081caba4c947077a135 img_convert.full/116701.jpg_copy.jpg +ec24137297f2fa068eaf2588694e4ad5 img_convert.full/116702.jpg +ec24137297f2fa068eaf2588694e4ad5 img_convert.full/116702.jpg_copy.jpg +6c142c5d726227e67c906a7f2feeb3a0 img_convert.full/116703.jpg +6c142c5d726227e67c906a7f2feeb3a0 img_convert.full/116703.jpg_copy.jpg +dd414a828453029d11148f95c5f9c809 img_convert.full/116800.jpg +dd414a828453029d11148f95c5f9c809 img_convert.full/116800.jpg_copy.jpg +981006d89bcb4b25274548ea120acca8 img_convert.full/116801.jpg +981006d89bcb4b25274548ea120acca8 img_convert.full/116801.jpg_copy.jpg +bd8afaf04196aae931825cdafe8c622f img_convert.full/116802.jpg +bd8afaf04196aae931825cdafe8c622f img_convert.full/116802.jpg_copy.jpg +2ee5549403493370cc5cde7358fa5564 img_convert.full/116803.jpg +2ee5549403493370cc5cde7358fa5564 img_convert.full/116803.jpg_copy.jpg +6137f65c3ee74404c2b9c05763853a87 img_convert.full/116900.jpg +6137f65c3ee74404c2b9c05763853a87 img_convert.full/116900.jpg_copy.jpg +78dfda5323a0254b5eb97a5efecf4761 img_convert.full/116901.jpg +78dfda5323a0254b5eb97a5efecf4761 img_convert.full/116901.jpg_copy.jpg +1943f8f7ccf44c66c0eb3a3e1631c005 img_convert.full/117000.jpg +1943f8f7ccf44c66c0eb3a3e1631c005 img_convert.full/117000.jpg_copy.jpg +7154a9e361d0bf04651e37030e6e6123 img_convert.full/117001.jpg +7154a9e361d0bf04651e37030e6e6123 img_convert.full/117001.jpg_copy.jpg +10a14df59bf7f3ac0fe3926e88a3c3ac img_convert.full/117100.jpg +10a14df59bf7f3ac0fe3926e88a3c3ac img_convert.full/117100.jpg_copy.jpg +989f1c37048f9c95c70b2d9576d5e0b4 img_convert.full/117101.jpg +989f1c37048f9c95c70b2d9576d5e0b4 img_convert.full/117101.jpg_copy.jpg +45fabb37d073a74aa0036e15db2e56b9 img_convert.full/117102.jpg +45fabb37d073a74aa0036e15db2e56b9 img_convert.full/117102.jpg_copy.jpg +65431f4b1d5e706604deb68dd6251ba0 img_convert.full/117200.jpg +65431f4b1d5e706604deb68dd6251ba0 img_convert.full/117200.jpg_copy.jpg +24cd7de3a1d50a41d5bd1796591c1bae img_convert.full/117201.jpg +24cd7de3a1d50a41d5bd1796591c1bae img_convert.full/117201.jpg_copy.jpg +cf470c0106fd09340d29fd2a4de59cf2 img_convert.full/117300.jpg +cf470c0106fd09340d29fd2a4de59cf2 img_convert.full/117300.jpg_copy.jpg +ae23db1fe56e6cff5594cdaf24b28368 img_convert.full/117301.jpg +ae23db1fe56e6cff5594cdaf24b28368 img_convert.full/117301.jpg_copy.jpg +1891e719df22a685aea72887b98ccb85 img_convert.full/117302.jpg +1891e719df22a685aea72887b98ccb85 img_convert.full/117302.jpg_copy.jpg +fa172c940951529185db7f74f034ccf5 img_convert.full/117400.jpg +fa172c940951529185db7f74f034ccf5 img_convert.full/117400.jpg_copy.jpg +645f55b325ed185224641f365f428b4f img_convert.full/117401.jpg +645f55b325ed185224641f365f428b4f img_convert.full/117401.jpg_copy.jpg +3eb1dedf3cd876bd8727cdcdda192fff img_convert.full/117402.jpg +3eb1dedf3cd876bd8727cdcdda192fff img_convert.full/117402.jpg_copy.jpg +5a4dff37c717546fcfb010007fb8ae00 img_convert.full/117403.jpg +5a4dff37c717546fcfb010007fb8ae00 img_convert.full/117403.jpg_copy.jpg +a6d3f9c2016291e98d0e1274b4774771 img_convert.full/117500.jpg +a6d3f9c2016291e98d0e1274b4774771 img_convert.full/117500.jpg_copy.jpg +a2ab2d7ed906fcd2b4b8418aa63ec91f img_convert.full/117501.jpg +a2ab2d7ed906fcd2b4b8418aa63ec91f img_convert.full/117501.jpg_copy.jpg +d26a7b385819686da01ebcd7dc45185d img_convert.full/117600.jpg +d26a7b385819686da01ebcd7dc45185d img_convert.full/117600.jpg_copy.jpg +acfdc2a427c53d4e48a66881bd31093d img_convert.full/117601.jpg +acfdc2a427c53d4e48a66881bd31093d img_convert.full/117601.jpg_copy.jpg +4821d035dfb79917e6f717641e6728bb img_convert.full/117700.jpg +4821d035dfb79917e6f717641e6728bb img_convert.full/117700.jpg_copy.jpg +90b965f06640bba1d74f7f650382e985 img_convert.full/117701.jpg +90b965f06640bba1d74f7f650382e985 img_convert.full/117701.jpg_copy.jpg +d9fd25cb5690647ec75fc2c642d8b92f img_convert.full/117800.jpg +d9fd25cb5690647ec75fc2c642d8b92f img_convert.full/117800.jpg_copy.jpg +5bc23288de895d669a21d4b731eded00 img_convert.full/117801.jpg +5bc23288de895d669a21d4b731eded00 img_convert.full/117801.jpg_copy.jpg +91c49a3def6247c75c10c4a63e260e34 img_convert.full/117802.jpg +91c49a3def6247c75c10c4a63e260e34 img_convert.full/117802.jpg_copy.jpg +a3cabeee680685bead5f49bf060dad46 img_convert.full/117900.jpg +a3cabeee680685bead5f49bf060dad46 img_convert.full/117900.jpg_copy.jpg +ab3a2d89462fdad9c9a8fd2311c0d170 img_convert.full/117901.jpg +ab3a2d89462fdad9c9a8fd2311c0d170 img_convert.full/117901.jpg_copy.jpg +567de5fbc683f9c7adbd612cc4dbe7e1 img_convert.full/118000.jpg +567de5fbc683f9c7adbd612cc4dbe7e1 img_convert.full/118000.jpg_copy.jpg +c8f169796bc27101a739b09709650404 img_convert.full/118001.jpg +c8f169796bc27101a739b09709650404 img_convert.full/118001.jpg_copy.jpg +b8e1ce266825b88961b2e330516d3cfd img_convert.full/118002.jpg +b8e1ce266825b88961b2e330516d3cfd img_convert.full/118002.jpg_copy.jpg +be4b0259dfb296ff767cfeb4c824f56b img_convert.full/118003.jpg +be4b0259dfb296ff767cfeb4c824f56b img_convert.full/118003.jpg_copy.jpg +8d681b9f4ded56a4070dcbbb1f3e8562 img_convert.full/118100.jpg +8d681b9f4ded56a4070dcbbb1f3e8562 img_convert.full/118100.jpg_copy.jpg +a665e4e95c008d6636c68e9ec3021f7c img_convert.full/118101.jpg +a665e4e95c008d6636c68e9ec3021f7c img_convert.full/118101.jpg_copy.jpg +261f187e73d8234ccffec1ca48b0b99b img_convert.full/118200.jpg +261f187e73d8234ccffec1ca48b0b99b img_convert.full/118200.jpg_copy.jpg +b16dfa4ec44a57e707c3d1012d825e94 img_convert.full/118201.jpg +b16dfa4ec44a57e707c3d1012d825e94 img_convert.full/118201.jpg_copy.jpg +107f08fbc41654321d49c3274b20e9b3 img_convert.full/118202.jpg +107f08fbc41654321d49c3274b20e9b3 img_convert.full/118202.jpg_copy.jpg +729964f95c8f3cbff63ae2fa924ef903 img_convert.full/118300.jpg +729964f95c8f3cbff63ae2fa924ef903 img_convert.full/118300.jpg_copy.jpg +3db41faf35e7a117847417abece267fc img_convert.full/118301.jpg +3db41faf35e7a117847417abece267fc img_convert.full/118301.jpg_copy.jpg +d903bdd0f9f98bec8da1edf8e597607b img_convert.full/118302.jpg +d903bdd0f9f98bec8da1edf8e597607b img_convert.full/118302.jpg_copy.jpg +a224f73df778a5570d156bf05f372834 img_convert.full/118303.jpg +a224f73df778a5570d156bf05f372834 img_convert.full/118303.jpg_copy.jpg +8d3bb4d41e4e7e239440f2f546ef2943 img_convert.full/118400.jpg +8d3bb4d41e4e7e239440f2f546ef2943 img_convert.full/118400.jpg_copy.jpg +e64a1f1535bdaf544542f1b5dd65ed83 img_convert.full/118401.jpg +e64a1f1535bdaf544542f1b5dd65ed83 img_convert.full/118401.jpg_copy.jpg +d17ecf215b42bcd7234df21002cd3b2d img_convert.full/118402.jpg +d17ecf215b42bcd7234df21002cd3b2d img_convert.full/118402.jpg_copy.jpg +09cf18cf90deeac7a7f2dab89983ef93 img_convert.full/118500.jpg +09cf18cf90deeac7a7f2dab89983ef93 img_convert.full/118500.jpg_copy.jpg +b9336752ac3b0a5ad444041a5142601e img_convert.full/118501.jpg +b9336752ac3b0a5ad444041a5142601e img_convert.full/118501.jpg_copy.jpg +0f4266f3e01680e51f1cb312363c2a72 img_convert.full/118600.jpg +0f4266f3e01680e51f1cb312363c2a72 img_convert.full/118600.jpg_copy.jpg +9fc2d47c15fc2da268c873dd8d33a37a img_convert.full/118601.jpg +9fc2d47c15fc2da268c873dd8d33a37a img_convert.full/118601.jpg_copy.jpg +0e1e77e80592009194e367b88788434d img_convert.full/118700.jpg +0e1e77e80592009194e367b88788434d img_convert.full/118700.jpg_copy.jpg +900234a5c8a4509f5d6ac9e790c7c2af img_convert.full/118701.jpg +900234a5c8a4509f5d6ac9e790c7c2af img_convert.full/118701.jpg_copy.jpg +e04b2a056986eaa3e4abca3ff79ff6ef img_convert.full/118800.jpg +e04b2a056986eaa3e4abca3ff79ff6ef img_convert.full/118800.jpg_copy.jpg +37f1a138966784505fdf607a2e2d28fa img_convert.full/118801.jpg +37f1a138966784505fdf607a2e2d28fa img_convert.full/118801.jpg_copy.jpg +392ddf271f906706765f642c923a6739 img_convert.full/118802.jpg +392ddf271f906706765f642c923a6739 img_convert.full/118802.jpg_copy.jpg +64a3e9fa16c3ebcfe14eda315540fbdd img_convert.full/118803.jpg +64a3e9fa16c3ebcfe14eda315540fbdd img_convert.full/118803.jpg_copy.jpg +5fd8be4ee7e259a1b59bce1fb60f644e img_convert.full/118900.jpg +5fd8be4ee7e259a1b59bce1fb60f644e img_convert.full/118900.jpg_copy.jpg +5d3164ca0beb7caf87aa23ebaadb34d8 img_convert.full/118901.jpg +5d3164ca0beb7caf87aa23ebaadb34d8 img_convert.full/118901.jpg_copy.jpg +237dc8146fb41421bfc0c79cecb33b2d img_convert.full/119000.jpg +237dc8146fb41421bfc0c79cecb33b2d img_convert.full/119000.jpg_copy.jpg +6ce095424a7ad3e82580e49b759a1c6f img_convert.full/119001.jpg +6ce095424a7ad3e82580e49b759a1c6f img_convert.full/119001.jpg_copy.jpg +a4eb0fd33b6c14b8169a0a8cd670f994 img_convert.full/119100.jpg +a4eb0fd33b6c14b8169a0a8cd670f994 img_convert.full/119100.jpg_copy.jpg +f140907ff73c5e27a99f3d05fe5d5d02 img_convert.full/119101.jpg +f140907ff73c5e27a99f3d05fe5d5d02 img_convert.full/119101.jpg_copy.jpg +f372a900f82e65ef14d1ac06118d3ad4 img_convert.full/119200.jpg +f372a900f82e65ef14d1ac06118d3ad4 img_convert.full/119200.jpg_copy.jpg +9b430585b037f9f6cf0cbe03f7b3aeff img_convert.full/119201.jpg +9b430585b037f9f6cf0cbe03f7b3aeff img_convert.full/119201.jpg_copy.jpg +c503e81810b7ed484ee1dde77def529a img_convert.full/119202.jpg +c503e81810b7ed484ee1dde77def529a img_convert.full/119202.jpg_copy.jpg +7152c025d9a650eb1c2e58ef794b5648 img_convert.full/119203.jpg +7152c025d9a650eb1c2e58ef794b5648 img_convert.full/119203.jpg_copy.jpg +fc1a8a878600370bc6f5577b57625253 img_convert.full/119300.jpg +fc1a8a878600370bc6f5577b57625253 img_convert.full/119300.jpg_copy.jpg +9e581260d50e4246e0a031036bc38a95 img_convert.full/119301.jpg +9e581260d50e4246e0a031036bc38a95 img_convert.full/119301.jpg_copy.jpg +a9294b802013fc078071c223b7e0a656 img_convert.full/119400.jpg +a9294b802013fc078071c223b7e0a656 img_convert.full/119400.jpg_copy.jpg +8b88e0257b032a156b1348633a809cb5 img_convert.full/119401.jpg +8b88e0257b032a156b1348633a809cb5 img_convert.full/119401.jpg_copy.jpg +489229da38195f6bbe01c5d9f8ce15dd img_convert.full/119500.jpg +489229da38195f6bbe01c5d9f8ce15dd img_convert.full/119500.jpg_copy.jpg +e8adb8fd2393dadebf89ee6274410ad0 img_convert.full/119501.jpg +e8adb8fd2393dadebf89ee6274410ad0 img_convert.full/119501.jpg_copy.jpg +f690719153ad0fd5bd3ee03471a64c6c img_convert.full/119600.jpg +f690719153ad0fd5bd3ee03471a64c6c img_convert.full/119600.jpg_copy.jpg +e9538a7a7536fd8f1d7030d71346a0e8 img_convert.full/119601.jpg +e9538a7a7536fd8f1d7030d71346a0e8 img_convert.full/119601.jpg_copy.jpg +e386f2ba98f621aa3c112e4db0fdfb70 img_convert.full/119602.jpg +e386f2ba98f621aa3c112e4db0fdfb70 img_convert.full/119602.jpg_copy.jpg +42ecb19ff3b8e3e4e8a02059c6b02a97 img_convert.full/119603.jpg +42ecb19ff3b8e3e4e8a02059c6b02a97 img_convert.full/119603.jpg_copy.jpg +6c8644c51628dd779d4f2a8132bfd3a2 img_convert.full/119604.jpg +6c8644c51628dd779d4f2a8132bfd3a2 img_convert.full/119604.jpg_copy.jpg +0738680cc0d61d76d43b2e7b3836c3dc img_convert.full/119605.jpg +0738680cc0d61d76d43b2e7b3836c3dc img_convert.full/119605.jpg_copy.jpg +4eb07b74ae4308c1a97f7e8149f3105a img_convert.full/119700.jpg +4eb07b74ae4308c1a97f7e8149f3105a img_convert.full/119700.jpg_copy.jpg +a1f1aa255ab8683a4da204a894241ff7 img_convert.full/119701.jpg +a1f1aa255ab8683a4da204a894241ff7 img_convert.full/119701.jpg_copy.jpg +75e6834a6d16f905af135861212ff5f8 img_convert.full/119702.jpg +75e6834a6d16f905af135861212ff5f8 img_convert.full/119702.jpg_copy.jpg +9d358415f8292a738b5bd7eefa9b40e9 img_convert.full/119703.jpg +9d358415f8292a738b5bd7eefa9b40e9 img_convert.full/119703.jpg_copy.jpg +3ee6c956c1dd0f378d437de0f48981e9 img_convert.full/119704.jpg +3ee6c956c1dd0f378d437de0f48981e9 img_convert.full/119704.jpg_copy.jpg +82daa3132660343494b379bb5904bcee img_convert.full/119800.jpg +82daa3132660343494b379bb5904bcee img_convert.full/119800.jpg_copy.jpg +768c14c7b5a5e963182edf4c1207b883 img_convert.full/119801.jpg +768c14c7b5a5e963182edf4c1207b883 img_convert.full/119801.jpg_copy.jpg +27fbaa936df0963fa68dc389387ea1bc img_convert.full/119900.jpg +27fbaa936df0963fa68dc389387ea1bc img_convert.full/119900.jpg_copy.jpg +d5dcee515408cff7b5ba646a1e487169 img_convert.full/119901.jpg +d5dcee515408cff7b5ba646a1e487169 img_convert.full/119901.jpg_copy.jpg +924587ca7854fba7ac9eb5ca0a9fbcd7 img_convert.full/120000.jpg +924587ca7854fba7ac9eb5ca0a9fbcd7 img_convert.full/120000.jpg_copy.jpg +66576b6ea8109f68088fa4128bc918be img_convert.full/120001.jpg +66576b6ea8109f68088fa4128bc918be img_convert.full/120001.jpg_copy.jpg +3c088987d47960e7e245dff2fdc4cbcf img_convert.full/120100.jpg +3c088987d47960e7e245dff2fdc4cbcf img_convert.full/120100.jpg_copy.jpg +ac0cb9db16c534d578dbc7887d82bb8a img_convert.full/120101.jpg +ac0cb9db16c534d578dbc7887d82bb8a img_convert.full/120101.jpg_copy.jpg +3cfcdadace4a686ec8f68cab043d7fbc img_convert.full/120200.jpg +3cfcdadace4a686ec8f68cab043d7fbc img_convert.full/120200.jpg_copy.jpg +39a1e086641d776b3505249eee5392f9 img_convert.full/120201.jpg +39a1e086641d776b3505249eee5392f9 img_convert.full/120201.jpg_copy.jpg +14052e3ec788e9f2ee156991c67ccb87 img_convert.full/120300.jpg +14052e3ec788e9f2ee156991c67ccb87 img_convert.full/120300.jpg_copy.jpg +6a4f014a6ea34a091c4d438bba5bb462 img_convert.full/120301.jpg +6a4f014a6ea34a091c4d438bba5bb462 img_convert.full/120301.jpg_copy.jpg +a7d45ac704e3f13cacce8fade15085cf img_convert.full/120400.jpg +a7d45ac704e3f13cacce8fade15085cf img_convert.full/120400.jpg_copy.jpg +47b68ad02dc7b6d3194dbafce5409ee0 img_convert.full/120401.jpg +47b68ad02dc7b6d3194dbafce5409ee0 img_convert.full/120401.jpg_copy.jpg +ce7cea04b4391341caf1f65caf32f2c9 img_convert.full/120500.jpg +ce7cea04b4391341caf1f65caf32f2c9 img_convert.full/120500.jpg_copy.jpg +f39b2ae30f9737d89634f12572f64be2 img_convert.full/120501.jpg +f39b2ae30f9737d89634f12572f64be2 img_convert.full/120501.jpg_copy.jpg +a10ea307611b60b3870696901f78e05e img_convert.full/120600.jpg +a10ea307611b60b3870696901f78e05e img_convert.full/120600.jpg_copy.jpg +b1558fe8f15aa555fbdc9f27a4c19cd6 img_convert.full/120601.jpg +b1558fe8f15aa555fbdc9f27a4c19cd6 img_convert.full/120601.jpg_copy.jpg +31a918c6c5862ba55d956351da8c693b img_convert.full/120700.jpg +31a918c6c5862ba55d956351da8c693b img_convert.full/120700.jpg_copy.jpg +2e060be2a199a37eccc2b4c24c1a4b04 img_convert.full/120701.jpg +2e060be2a199a37eccc2b4c24c1a4b04 img_convert.full/120701.jpg_copy.jpg +bab03400085ddec82d9246ae994f5028 img_convert.full/120702.jpg +bab03400085ddec82d9246ae994f5028 img_convert.full/120702.jpg_copy.jpg +334f9cbd83109f046fcdd7f1b3048126 img_convert.full/120703.jpg +334f9cbd83109f046fcdd7f1b3048126 img_convert.full/120703.jpg_copy.jpg +26495fbb3866472dd277278d5fbb289c img_convert.full/120800.jpg +26495fbb3866472dd277278d5fbb289c img_convert.full/120800.jpg_copy.jpg +5c645801108c4f91c5d08e1ff115b267 img_convert.full/120801.jpg +5c645801108c4f91c5d08e1ff115b267 img_convert.full/120801.jpg_copy.jpg +f1dcbdf93b598a9791de89610993550b img_convert.full/120900.jpg +f1dcbdf93b598a9791de89610993550b img_convert.full/120900.jpg_copy.jpg +9ebd6fd883e69759ed8061141b619b6f img_convert.full/120901.jpg +9ebd6fd883e69759ed8061141b619b6f img_convert.full/120901.jpg_copy.jpg +8f819fb1e724d4f25131ae7d4172cd2b img_convert.full/121000.jpg +8f819fb1e724d4f25131ae7d4172cd2b img_convert.full/121000.jpg_copy.jpg +8194ad0928e3a61d62379212a9f33403 img_convert.full/121001.jpg +8194ad0928e3a61d62379212a9f33403 img_convert.full/121001.jpg_copy.jpg +6a5e9448fa6aaf7a15fecff63010e32d img_convert.full/121100.jpg +6a5e9448fa6aaf7a15fecff63010e32d img_convert.full/121100.jpg_copy.jpg +b0c852b0fe9349d003bb966a2a545e56 img_convert.full/121101.jpg +b0c852b0fe9349d003bb966a2a545e56 img_convert.full/121101.jpg_copy.jpg +34b2d3f2775b67ca70532240f9621521 img_convert.full/121200.jpg +34b2d3f2775b67ca70532240f9621521 img_convert.full/121200.jpg_copy.jpg +39a4054ae5576247be5c4dde4f639360 img_convert.full/121201.jpg +39a4054ae5576247be5c4dde4f639360 img_convert.full/121201.jpg_copy.jpg +ee6883a4231cbb8e14f8c39cd0477f6f img_convert.full/121300.jpg +ee6883a4231cbb8e14f8c39cd0477f6f img_convert.full/121300.jpg_copy.jpg +2a96d659c7448153882f4d51d34cb41a img_convert.full/121301.jpg +2a96d659c7448153882f4d51d34cb41a img_convert.full/121301.jpg_copy.jpg +f691fb5b15446e0b1895dc35027ca516 img_convert.full/121400.jpg +f691fb5b15446e0b1895dc35027ca516 img_convert.full/121400.jpg_copy.jpg +c4db347aac484adfb457351a128bfc95 img_convert.full/121401.jpg +c4db347aac484adfb457351a128bfc95 img_convert.full/121401.jpg_copy.jpg +25501a0494b12ed373b056bb1f3f368d img_convert.full/121402.jpg +25501a0494b12ed373b056bb1f3f368d img_convert.full/121402.jpg_copy.jpg +4eb2f7060a8ac563a01d33806ca69a43 img_convert.full/121403.jpg +4eb2f7060a8ac563a01d33806ca69a43 img_convert.full/121403.jpg_copy.jpg +d1101b5ac14ca8822949cd6455f767c0 img_convert.full/121404.jpg +d1101b5ac14ca8822949cd6455f767c0 img_convert.full/121404.jpg_copy.jpg +085f5ca0fb2850407ac4530eff4f78fb img_convert.full/121500.jpg +085f5ca0fb2850407ac4530eff4f78fb img_convert.full/121500.jpg_copy.jpg +3043ea478d0f9effa0bede8dbdc466e9 img_convert.full/121501.jpg +3043ea478d0f9effa0bede8dbdc466e9 img_convert.full/121501.jpg_copy.jpg +3c104bdf2ca48f1c2012eb2363949ddd img_convert.full/121600.jpg +3c104bdf2ca48f1c2012eb2363949ddd img_convert.full/121600.jpg_copy.jpg +5c4c9f440d88e9cc9348f22da944cdd7 img_convert.full/121601.jpg +5c4c9f440d88e9cc9348f22da944cdd7 img_convert.full/121601.jpg_copy.jpg +3f131aced211739319e2309a6814445c img_convert.full/121700.jpg +3f131aced211739319e2309a6814445c img_convert.full/121700.jpg_copy.jpg +bbff83ad0e66f2ab6a96b33042f3e910 img_convert.full/121701.jpg +bbff83ad0e66f2ab6a96b33042f3e910 img_convert.full/121701.jpg_copy.jpg +28f6833d997ab2d0033253fcb3a810bf img_convert.full/121800.jpg +28f6833d997ab2d0033253fcb3a810bf img_convert.full/121800.jpg_copy.jpg +6862985398522d5c6cb3b392e0931d19 img_convert.full/121801.jpg +6862985398522d5c6cb3b392e0931d19 img_convert.full/121801.jpg_copy.jpg +ac388742b7218c6476834faa03eb1edc img_convert.full/121900.jpg +ac388742b7218c6476834faa03eb1edc img_convert.full/121900.jpg_copy.jpg +c0f66d254ee945a4b2b372ba3d38f4da img_convert.full/121901.jpg +c0f66d254ee945a4b2b372ba3d38f4da img_convert.full/121901.jpg_copy.jpg +2c24ee14fcfd3bc304404218a5648ff1 img_convert.full/122000.jpg +2c24ee14fcfd3bc304404218a5648ff1 img_convert.full/122000.jpg_copy.jpg +06ba99aed8657cd40798e0fe6e91987a img_convert.full/122001.jpg +06ba99aed8657cd40798e0fe6e91987a img_convert.full/122001.jpg_copy.jpg +c743c2bc9194d7015e70dec905a62213 img_convert.full/122002.jpg +c743c2bc9194d7015e70dec905a62213 img_convert.full/122002.jpg_copy.jpg +3e30d7ebe35d1be041f3e529de336432 img_convert.full/122100.jpg +3e30d7ebe35d1be041f3e529de336432 img_convert.full/122100.jpg_copy.jpg +9bae3f6eee49c80c6956827b10d47567 img_convert.full/122101.jpg +9bae3f6eee49c80c6956827b10d47567 img_convert.full/122101.jpg_copy.jpg +8c6dd236b7031e2e98b6a715f2240243 img_convert.full/122102.jpg +8c6dd236b7031e2e98b6a715f2240243 img_convert.full/122102.jpg_copy.jpg +bc2b132d64d33fb675f0cca92d0190d2 img_convert.full/122200.jpg +bc2b132d64d33fb675f0cca92d0190d2 img_convert.full/122200.jpg_copy.jpg +7b6c2e1d460e465f6a1d5c7b4bed4b2d img_convert.full/122201.jpg +7b6c2e1d460e465f6a1d5c7b4bed4b2d img_convert.full/122201.jpg_copy.jpg +23de21da5696dbe9f3b2061cff9e4864 img_convert.full/122202.jpg +23de21da5696dbe9f3b2061cff9e4864 img_convert.full/122202.jpg_copy.jpg +a2fd525f5848da83285ab73387c62436 img_convert.full/122203.jpg +a2fd525f5848da83285ab73387c62436 img_convert.full/122203.jpg_copy.jpg +e45cb2640e43e8824e5b3c32b35d3422 img_convert.full/122300.jpg +e45cb2640e43e8824e5b3c32b35d3422 img_convert.full/122300.jpg_copy.jpg +3d59a96e8d05ca84e7acc54b833af6d9 img_convert.full/122301.jpg +3d59a96e8d05ca84e7acc54b833af6d9 img_convert.full/122301.jpg_copy.jpg +a022c3c9d687445b5c6d7bbcc573a4ff img_convert.full/122302.jpg +a022c3c9d687445b5c6d7bbcc573a4ff img_convert.full/122302.jpg_copy.jpg +3f4473ccb65a8e94b8e65748940a001f img_convert.full/122400.jpg +3f4473ccb65a8e94b8e65748940a001f img_convert.full/122400.jpg_copy.jpg +e4a4ccdf843fd45ac8baba63df1dfe29 img_convert.full/122401.jpg +e4a4ccdf843fd45ac8baba63df1dfe29 img_convert.full/122401.jpg_copy.jpg +b0806cba459f1cc8a33d9964cbf4b97c img_convert.full/122402.jpg +b0806cba459f1cc8a33d9964cbf4b97c img_convert.full/122402.jpg_copy.jpg +1e7c9732623620fb11b4c6122785ee00 img_convert.full/122500.jpg +1e7c9732623620fb11b4c6122785ee00 img_convert.full/122500.jpg_copy.jpg +e9f378d404ea6d2c61d1874c097fef75 img_convert.full/122501.jpg +e9f378d404ea6d2c61d1874c097fef75 img_convert.full/122501.jpg_copy.jpg +bd5c37754a21d498c64cc7af6b6ce74a img_convert.full/122502.jpg +bd5c37754a21d498c64cc7af6b6ce74a img_convert.full/122502.jpg_copy.jpg +3ff4f9155485c71b2d879bac020b5023 img_convert.full/122503.jpg +3ff4f9155485c71b2d879bac020b5023 img_convert.full/122503.jpg_copy.jpg +9217b707cb95aec8822ba0a25aab44a7 img_convert.full/122504.jpg +9217b707cb95aec8822ba0a25aab44a7 img_convert.full/122504.jpg_copy.jpg +4dcb4e816b516bddf94b41377e28ba30 img_convert.full/122600.jpg +4dcb4e816b516bddf94b41377e28ba30 img_convert.full/122600.jpg_copy.jpg +0cb30e04ea980f9fb632c6747ad43761 img_convert.full/122601.jpg +0cb30e04ea980f9fb632c6747ad43761 img_convert.full/122601.jpg_copy.jpg +48a66a606f48b0fbce5e66686427aba4 img_convert.full/122602.jpg +48a66a606f48b0fbce5e66686427aba4 img_convert.full/122602.jpg_copy.jpg +69f97856aef6c3dd2c8709f1372a6889 img_convert.full/122700.jpg +69f97856aef6c3dd2c8709f1372a6889 img_convert.full/122700.jpg_copy.jpg +f4a2bc3641a57109821781b44bd7eef4 img_convert.full/122701.jpg +f4a2bc3641a57109821781b44bd7eef4 img_convert.full/122701.jpg_copy.jpg +63bcfb188d5804bfbd1880433d8759ac img_convert.full/122702.jpg +63bcfb188d5804bfbd1880433d8759ac img_convert.full/122702.jpg_copy.jpg +2aa86c0664aa6295c3b3e853db22065d img_convert.full/122703.jpg +2aa86c0664aa6295c3b3e853db22065d img_convert.full/122703.jpg_copy.jpg +ba05d3deecda30447461e144b5b465c1 img_convert.full/122704.jpg +ba05d3deecda30447461e144b5b465c1 img_convert.full/122704.jpg_copy.jpg +a9dea4f49a3e616ec0c06f2667b8b33a img_convert.full/122705.jpg +a9dea4f49a3e616ec0c06f2667b8b33a img_convert.full/122705.jpg_copy.jpg +639c8554fbbc183912a7d5f00893c2ee img_convert.full/122706.jpg +639c8554fbbc183912a7d5f00893c2ee img_convert.full/122706.jpg_copy.jpg +0e62ce9d81e465ef52c4e8fd44379343 img_convert.full/122707.jpg +0e62ce9d81e465ef52c4e8fd44379343 img_convert.full/122707.jpg_copy.jpg +65b20a78c085f4f2371a840e479444f9 img_convert.full/122708.jpg +65b20a78c085f4f2371a840e479444f9 img_convert.full/122708.jpg_copy.jpg +b1f137c5ea613b7e666cc3a520c07986 img_convert.full/122709.jpg +b1f137c5ea613b7e666cc3a520c07986 img_convert.full/122709.jpg_copy.jpg +9c42fc452911a979b816120c472934bd img_convert.full/122800.jpg +9c42fc452911a979b816120c472934bd img_convert.full/122800.jpg_copy.jpg +523927931ea4c211886425b3613df696 img_convert.full/122801.jpg +523927931ea4c211886425b3613df696 img_convert.full/122801.jpg_copy.jpg +8b40789d7eab58acda82907aa2c56dc1 img_convert.full/122900.jpg +8b40789d7eab58acda82907aa2c56dc1 img_convert.full/122900.jpg_copy.jpg +1b0013f8853556e05dec31323af327dc img_convert.full/122901.jpg +1b0013f8853556e05dec31323af327dc img_convert.full/122901.jpg_copy.jpg +2765c3e1adef92b76375f8fbace92e51 img_convert.full/123000.jpg +2765c3e1adef92b76375f8fbace92e51 img_convert.full/123000.jpg_copy.jpg +0953076ac27cbfcdf1ec23563d2b9c0b img_convert.full/123001.jpg +0953076ac27cbfcdf1ec23563d2b9c0b img_convert.full/123001.jpg_copy.jpg +94f51acad5333a2fb4595d585ad37c81 img_convert.full/123002.jpg +94f51acad5333a2fb4595d585ad37c81 img_convert.full/123002.jpg_copy.jpg +ad7872bf2e3fc43891756f12f1dea51c img_convert.full/123003.jpg +ad7872bf2e3fc43891756f12f1dea51c img_convert.full/123003.jpg_copy.jpg +d6d394453d53ed04a25c786197001426 img_convert.full/123100.jpg +d6d394453d53ed04a25c786197001426 img_convert.full/123100.jpg_copy.jpg +919bcd3a179a7314246b2e3a565c6a13 img_convert.full/123101.jpg +919bcd3a179a7314246b2e3a565c6a13 img_convert.full/123101.jpg_copy.jpg +246c5dec2989b834c44ae00bdcef7d8a img_convert.full/123200.jpg +246c5dec2989b834c44ae00bdcef7d8a img_convert.full/123200.jpg_copy.jpg +cedcf0e86b1ff15056f48c7232dc3e12 img_convert.full/123201.jpg +cedcf0e86b1ff15056f48c7232dc3e12 img_convert.full/123201.jpg_copy.jpg +8f44bf241115f103fff62d44bc76fc41 img_convert.full/123202.jpg +8f44bf241115f103fff62d44bc76fc41 img_convert.full/123202.jpg_copy.jpg +5d9b55b926a7c3fdf2607b89ade0eaef img_convert.full/123203.jpg +5d9b55b926a7c3fdf2607b89ade0eaef img_convert.full/123203.jpg_copy.jpg +223c1c7f6ed8f29211878a8e06388098 img_convert.full/123204.jpg +223c1c7f6ed8f29211878a8e06388098 img_convert.full/123204.jpg_copy.jpg +85fcaac97924c17971a49096cd719cbb img_convert.full/123205.jpg +85fcaac97924c17971a49096cd719cbb img_convert.full/123205.jpg_copy.jpg +b693ee52ae439272d606d7596f0db7af img_convert.full/123300.jpg +b693ee52ae439272d606d7596f0db7af img_convert.full/123300.jpg_copy.jpg +4d4fc7f0fffb50df1e7ce010a1e43494 img_convert.full/123301.jpg +4d4fc7f0fffb50df1e7ce010a1e43494 img_convert.full/123301.jpg_copy.jpg +44a4b1638ad2a6e869eb8aab8f65594b img_convert.full/123400.jpg +44a4b1638ad2a6e869eb8aab8f65594b img_convert.full/123400.jpg_copy.jpg +8298f2398bd3cdc9c00796c4794619e0 img_convert.full/123401.jpg +8298f2398bd3cdc9c00796c4794619e0 img_convert.full/123401.jpg_copy.jpg +14b8fedb75cef11285043bf69c88b564 img_convert.full/123402.jpg +14b8fedb75cef11285043bf69c88b564 img_convert.full/123402.jpg_copy.jpg +372196d1f1c4e839454d64f7f8cbacd3 img_convert.full/123403.jpg +372196d1f1c4e839454d64f7f8cbacd3 img_convert.full/123403.jpg_copy.jpg +444293ea48d2cf31b3376db210614af1 img_convert.full/123404.jpg +444293ea48d2cf31b3376db210614af1 img_convert.full/123404.jpg_copy.jpg +7d3b282fa069166cfd6828aa7d0a50cf img_convert.full/123500.jpg +7d3b282fa069166cfd6828aa7d0a50cf img_convert.full/123500.jpg_copy.jpg +42f03fcf19e18b5c7797bc5a16e8aae0 img_convert.full/123501.jpg +42f03fcf19e18b5c7797bc5a16e8aae0 img_convert.full/123501.jpg_copy.jpg +c8621f997076d46b2339d7d0dcb79b98 img_convert.full/123600.jpg +c8621f997076d46b2339d7d0dcb79b98 img_convert.full/123600.jpg_copy.jpg +691eeb6c6df5b9e903986461f83877ee img_convert.full/123601.jpg +691eeb6c6df5b9e903986461f83877ee img_convert.full/123601.jpg_copy.jpg +33618caad45a0cfcd4e23070ec574bcf img_convert.full/123602.jpg +33618caad45a0cfcd4e23070ec574bcf img_convert.full/123602.jpg_copy.jpg +38bb19fa4d88e59302c81ba3d4664ae5 img_convert.full/123700.jpg +38bb19fa4d88e59302c81ba3d4664ae5 img_convert.full/123700.jpg_copy.jpg +058812e4520069f92427e209bdaedf9d img_convert.full/123701.jpg +058812e4520069f92427e209bdaedf9d img_convert.full/123701.jpg_copy.jpg +a616fb86c60a3225efc127a79faf0c40 img_convert.full/123800.jpg +a616fb86c60a3225efc127a79faf0c40 img_convert.full/123800.jpg_copy.jpg +455f9c7cc33cbb35430b4c21400c19ce img_convert.full/123801.jpg +455f9c7cc33cbb35430b4c21400c19ce img_convert.full/123801.jpg_copy.jpg +433076c92eb6f197e13dfbfbef92a737 img_convert.full/123900.jpg +433076c92eb6f197e13dfbfbef92a737 img_convert.full/123900.jpg_copy.jpg +4f65930a9dc099bdbcacc1be332e17ab img_convert.full/123901.jpg +4f65930a9dc099bdbcacc1be332e17ab img_convert.full/123901.jpg_copy.jpg +d19932392c415a49a159692cc09cf42a img_convert.full/124000.jpg +d19932392c415a49a159692cc09cf42a img_convert.full/124000.jpg_copy.jpg +bf8333e2f55a2ce7cb7bc869c81c6ca0 img_convert.full/124001.jpg +bf8333e2f55a2ce7cb7bc869c81c6ca0 img_convert.full/124001.jpg_copy.jpg +f79735678d5f5f04328f6b37741b675e img_convert.full/124002.jpg +f79735678d5f5f04328f6b37741b675e img_convert.full/124002.jpg_copy.jpg +770775a0d2f307b29946c177d62c09ee img_convert.full/124003.jpg +770775a0d2f307b29946c177d62c09ee img_convert.full/124003.jpg_copy.jpg +472b9d2c6f60dd32903364087e7c948a img_convert.full/124100.jpg +472b9d2c6f60dd32903364087e7c948a img_convert.full/124100.jpg_copy.jpg +e869e1429e54b3877aa13530d9bd52d8 img_convert.full/124101.jpg +e869e1429e54b3877aa13530d9bd52d8 img_convert.full/124101.jpg_copy.jpg +2bb2e1284c2f6297c01eb182b65bf92c img_convert.full/124200.jpg +2bb2e1284c2f6297c01eb182b65bf92c img_convert.full/124200.jpg_copy.jpg +bcb310c10f51a1733db39b20fd711348 img_convert.full/124201.jpg +bcb310c10f51a1733db39b20fd711348 img_convert.full/124201.jpg_copy.jpg +8d8c2f4e4de45ba850d89e77c8563ba7 img_convert.full/124202.jpg +8d8c2f4e4de45ba850d89e77c8563ba7 img_convert.full/124202.jpg_copy.jpg +7137114a34548641cb9e3c772f048371 img_convert.full/124300.jpg +7137114a34548641cb9e3c772f048371 img_convert.full/124300.jpg_copy.jpg +d37592cc8d49f7ee6a49b9ed1adb2f33 img_convert.full/124301.jpg +d37592cc8d49f7ee6a49b9ed1adb2f33 img_convert.full/124301.jpg_copy.jpg +81a3f724850cc33060812ebaf6ccdda2 img_convert.full/124302.jpg +81a3f724850cc33060812ebaf6ccdda2 img_convert.full/124302.jpg_copy.jpg +13626248a41dae7d465aa30adfb5c2ab img_convert.full/124400.jpg +13626248a41dae7d465aa30adfb5c2ab img_convert.full/124400.jpg_copy.jpg +58607c65b4054941a3bf547adf0e23fa img_convert.full/124401.jpg +58607c65b4054941a3bf547adf0e23fa img_convert.full/124401.jpg_copy.jpg +d15a0f1496ad65bd5c7b42ae201661be img_convert.full/124402.jpg +d15a0f1496ad65bd5c7b42ae201661be img_convert.full/124402.jpg_copy.jpg +f2083fe5602a8b02482bba08f2586d18 img_convert.full/124500.jpg +f2083fe5602a8b02482bba08f2586d18 img_convert.full/124500.jpg_copy.jpg +97d7dd30989c61dcd6a4fde176779a7e img_convert.full/124501.jpg +97d7dd30989c61dcd6a4fde176779a7e img_convert.full/124501.jpg_copy.jpg +a9627a36c9a9d047c2ca683a7d3f1e1a img_convert.full/124600.jpg +a9627a36c9a9d047c2ca683a7d3f1e1a img_convert.full/124600.jpg_copy.jpg +db796a688d720db872c5de1b2dec7ae8 img_convert.full/124601.jpg +db796a688d720db872c5de1b2dec7ae8 img_convert.full/124601.jpg_copy.jpg +f6bb340fd02ae4dd43f820f72ac16a2f img_convert.full/124700.jpg +f6bb340fd02ae4dd43f820f72ac16a2f img_convert.full/124700.jpg_copy.jpg +3a13f8068664be4afb6b7be20a2d5031 img_convert.full/124701.jpg +3a13f8068664be4afb6b7be20a2d5031 img_convert.full/124701.jpg_copy.jpg +39c01c9947055d81bb3bc90bdbea2309 img_convert.full/124800.jpg +39c01c9947055d81bb3bc90bdbea2309 img_convert.full/124800.jpg_copy.jpg +c17a497e005edb58a3e76a62dc4025e8 img_convert.full/124801.jpg +c17a497e005edb58a3e76a62dc4025e8 img_convert.full/124801.jpg_copy.jpg +4636113a5dff54a792655d69c35fb884 img_convert.full/124802.jpg +4636113a5dff54a792655d69c35fb884 img_convert.full/124802.jpg_copy.jpg +4f643042faf01ae11bfb5e92f870b790 img_convert.full/124900.jpg +4f643042faf01ae11bfb5e92f870b790 img_convert.full/124900.jpg_copy.jpg +16f8d6b2500998e15135358c6306b378 img_convert.full/124901.jpg +16f8d6b2500998e15135358c6306b378 img_convert.full/124901.jpg_copy.jpg +a86e53b8d4cd49ddadc93836ac65fca1 img_convert.full/125000.jpg +a86e53b8d4cd49ddadc93836ac65fca1 img_convert.full/125000.jpg_copy.jpg +e16b2feeea61f471abc891771658c647 img_convert.full/125001.jpg +e16b2feeea61f471abc891771658c647 img_convert.full/125001.jpg_copy.jpg +faadf6948f210a9786023a394a16f4d4 img_convert.full/125100.jpg +faadf6948f210a9786023a394a16f4d4 img_convert.full/125100.jpg_copy.jpg +73e0556038338fde5843a38dfbc76428 img_convert.full/125101.jpg +73e0556038338fde5843a38dfbc76428 img_convert.full/125101.jpg_copy.jpg +4c0a319612016041da5b2f3c5d76fc92 img_convert.full/125102.jpg +4c0a319612016041da5b2f3c5d76fc92 img_convert.full/125102.jpg_copy.jpg +67de0f93b726ffaeab71c3a8dfde37bc img_convert.full/125200.jpg +67de0f93b726ffaeab71c3a8dfde37bc img_convert.full/125200.jpg_copy.jpg +c70fd8c54b9db29005eef5a0fef60d34 img_convert.full/125201.jpg +c70fd8c54b9db29005eef5a0fef60d34 img_convert.full/125201.jpg_copy.jpg +92cb2af5094b6072d7d423b1f016441e img_convert.full/125202.jpg +92cb2af5094b6072d7d423b1f016441e img_convert.full/125202.jpg_copy.jpg +4e5125c64770e18970ec1a3446de02fd img_convert.full/125203.jpg +4e5125c64770e18970ec1a3446de02fd img_convert.full/125203.jpg_copy.jpg +99fff2251ad9b0d4f38e6e649a158b26 img_convert.full/125300.jpg +99fff2251ad9b0d4f38e6e649a158b26 img_convert.full/125300.jpg_copy.jpg +d2e0afe3d2ef85be0e9fa113164c2365 img_convert.full/125301.jpg +d2e0afe3d2ef85be0e9fa113164c2365 img_convert.full/125301.jpg_copy.jpg +a8bbbc1bb1d5162f5916a5084418cce0 img_convert.full/125400.jpg +a8bbbc1bb1d5162f5916a5084418cce0 img_convert.full/125400.jpg_copy.jpg +3127da6d9ec9a65dc9679b427f8334f3 img_convert.full/125401.jpg +3127da6d9ec9a65dc9679b427f8334f3 img_convert.full/125401.jpg_copy.jpg +88d7f7fec2b114a3c64940f8bc290ecf img_convert.full/125500.jpg +88d7f7fec2b114a3c64940f8bc290ecf img_convert.full/125500.jpg_copy.jpg +1dbe7c6727c1aab35db45764ff6f4725 img_convert.full/125501.jpg +1dbe7c6727c1aab35db45764ff6f4725 img_convert.full/125501.jpg_copy.jpg +342ae2573c0c6f12aa5b397283263327 img_convert.full/125600.jpg +342ae2573c0c6f12aa5b397283263327 img_convert.full/125600.jpg_copy.jpg +2dc43283df5034f094fccc184736d4d4 img_convert.full/125601.jpg +2dc43283df5034f094fccc184736d4d4 img_convert.full/125601.jpg_copy.jpg +00b8efdad2383073ebdc640227d139a0 img_convert.full/125700.jpg +00b8efdad2383073ebdc640227d139a0 img_convert.full/125700.jpg_copy.jpg +f86b7fa6a5851b6d43f22bee6acec38c img_convert.full/125701.jpg +f86b7fa6a5851b6d43f22bee6acec38c img_convert.full/125701.jpg_copy.jpg +2edaec2398a966f379fe0e1a63d52a92 img_convert.full/125702.jpg +2edaec2398a966f379fe0e1a63d52a92 img_convert.full/125702.jpg_copy.jpg +2a2d3a49515c97cf7356d31e52946b44 img_convert.full/125703.jpg +2a2d3a49515c97cf7356d31e52946b44 img_convert.full/125703.jpg_copy.jpg +194033ca890ccb325dd3eb3204e2082d img_convert.full/125800.jpg +194033ca890ccb325dd3eb3204e2082d img_convert.full/125800.jpg_copy.jpg +9c499910206b853e74b6f1cdf383ffef img_convert.full/125801.jpg +9c499910206b853e74b6f1cdf383ffef img_convert.full/125801.jpg_copy.jpg +74110b609535d76309c87664fb3a9ae5 img_convert.full/125802.jpg +74110b609535d76309c87664fb3a9ae5 img_convert.full/125802.jpg_copy.jpg +e70197a141c03e7adb77dc90575e5f79 img_convert.full/125900.jpg +e70197a141c03e7adb77dc90575e5f79 img_convert.full/125900.jpg_copy.jpg +3e09859c3541ccc63e879aa0841593ec img_convert.full/125901.jpg +3e09859c3541ccc63e879aa0841593ec img_convert.full/125901.jpg_copy.jpg +2e1e47fbd1c17d4d2737001cf7aa68cc img_convert.full/126000.jpg +2e1e47fbd1c17d4d2737001cf7aa68cc img_convert.full/126000.jpg_copy.jpg +c2f7c1be42ff8c443c1dc4a3f407d475 img_convert.full/126001.jpg +c2f7c1be42ff8c443c1dc4a3f407d475 img_convert.full/126001.jpg_copy.jpg +500add635a2eafabb4a397e1f837b603 img_convert.full/126002.jpg +500add635a2eafabb4a397e1f837b603 img_convert.full/126002.jpg_copy.jpg +ac6811962fa2833a32b9feb405425e6b img_convert.full/126100.jpg +ac6811962fa2833a32b9feb405425e6b img_convert.full/126100.jpg_copy.jpg +86e210df5d1f592a7d2776cd2e6cba11 img_convert.full/126101.jpg +86e210df5d1f592a7d2776cd2e6cba11 img_convert.full/126101.jpg_copy.jpg +1649acafcd6d19ec8fe8d091e94de925 img_convert.full/126102.jpg +1649acafcd6d19ec8fe8d091e94de925 img_convert.full/126102.jpg_copy.jpg +2562695c7ea353d89ebdee7d2dbef1cc img_convert.full/126200.jpg +2562695c7ea353d89ebdee7d2dbef1cc img_convert.full/126200.jpg_copy.jpg +089658916a561eb941f04f8bfcfe78e2 img_convert.full/126201.jpg +089658916a561eb941f04f8bfcfe78e2 img_convert.full/126201.jpg_copy.jpg +d598237265f178895881981dd947f4aa img_convert.full/126202.jpg +d598237265f178895881981dd947f4aa img_convert.full/126202.jpg_copy.jpg +fcfae1f6adbe31620aa705fa41013073 img_convert.full/126300.jpg +fcfae1f6adbe31620aa705fa41013073 img_convert.full/126300.jpg_copy.jpg +d820d913f1b0835e56d6cee208573454 img_convert.full/126301.jpg +d820d913f1b0835e56d6cee208573454 img_convert.full/126301.jpg_copy.jpg +7df88e09cb48c1090763d3f618160500 img_convert.full/126400.jpg +7df88e09cb48c1090763d3f618160500 img_convert.full/126400.jpg_copy.jpg +35946e0a27b023964bd00996f88266d5 img_convert.full/126401.jpg +35946e0a27b023964bd00996f88266d5 img_convert.full/126401.jpg_copy.jpg +825efa15853b9cc2d9942e5583914e27 img_convert.full/126402.jpg +825efa15853b9cc2d9942e5583914e27 img_convert.full/126402.jpg_copy.jpg +8e273ab89ae1245d99ef26b9c1f897e3 img_convert.full/126500.jpg +8e273ab89ae1245d99ef26b9c1f897e3 img_convert.full/126500.jpg_copy.jpg +5b39e6d3dbd50c568e10d12c2f73062a img_convert.full/126501.jpg +5b39e6d3dbd50c568e10d12c2f73062a img_convert.full/126501.jpg_copy.jpg +96f657b56edf1a875c97d98361aab9b9 img_convert.full/126502.jpg +96f657b56edf1a875c97d98361aab9b9 img_convert.full/126502.jpg_copy.jpg +1f34507ce1c5a1baca226356bd2e138a img_convert.full/126600.jpg +1f34507ce1c5a1baca226356bd2e138a img_convert.full/126600.jpg_copy.jpg +1a4e93fbe4a89a481247b14d1da47d20 img_convert.full/126601.jpg +1a4e93fbe4a89a481247b14d1da47d20 img_convert.full/126601.jpg_copy.jpg +aaec3fde2f949b9228dfc23d6950d844 img_convert.full/126700.jpg +aaec3fde2f949b9228dfc23d6950d844 img_convert.full/126700.jpg_copy.jpg +376e68b909a8f94d986edf36c118eb0a img_convert.full/126701.jpg +376e68b909a8f94d986edf36c118eb0a img_convert.full/126701.jpg_copy.jpg +e2b6d037a0c705d908faeb7cce798205 img_convert.full/126702.jpg +e2b6d037a0c705d908faeb7cce798205 img_convert.full/126702.jpg_copy.jpg +184b39191a3e8b0ee7be2346d42e3544 img_convert.full/126703.jpg +184b39191a3e8b0ee7be2346d42e3544 img_convert.full/126703.jpg_copy.jpg +37d26289e423105b800962f326fe298c img_convert.full/126704.jpg +37d26289e423105b800962f326fe298c img_convert.full/126704.jpg_copy.jpg +dc38269f4c35e92af577ac0df1f625a7 img_convert.full/126705.jpg +dc38269f4c35e92af577ac0df1f625a7 img_convert.full/126705.jpg_copy.jpg +ea5f673b192eba2deead88a2fbcbce7c img_convert.full/126800.jpg +ea5f673b192eba2deead88a2fbcbce7c img_convert.full/126800.jpg_copy.jpg +fe748e890577bc43ad96697b9b19977d img_convert.full/126801.jpg +fe748e890577bc43ad96697b9b19977d img_convert.full/126801.jpg_copy.jpg +8c8ac5a2a670fcecf2a9975a116ef6d4 img_convert.full/126802.jpg +8c8ac5a2a670fcecf2a9975a116ef6d4 img_convert.full/126802.jpg_copy.jpg +959d582d7969993ed7dc15a21585ae2c img_convert.full/126803.jpg +959d582d7969993ed7dc15a21585ae2c img_convert.full/126803.jpg_copy.jpg +08c7708ad8fc459c977746fe755ca9d1 img_convert.full/126804.jpg +08c7708ad8fc459c977746fe755ca9d1 img_convert.full/126804.jpg_copy.jpg +f3f3fa2dff7ee997b198ef553eb53a03 img_convert.full/126805.jpg +f3f3fa2dff7ee997b198ef553eb53a03 img_convert.full/126805.jpg_copy.jpg +72cdcdf8a2f39d8c7ff6c045336c7a19 img_convert.full/126806.jpg +72cdcdf8a2f39d8c7ff6c045336c7a19 img_convert.full/126806.jpg_copy.jpg +3c954a11a02ce9c3b2ddb7c8af9017b0 img_convert.full/126807.jpg +3c954a11a02ce9c3b2ddb7c8af9017b0 img_convert.full/126807.jpg_copy.jpg +61d38d7e6335f9858246534863748130 img_convert.full/126808.jpg +61d38d7e6335f9858246534863748130 img_convert.full/126808.jpg_copy.jpg +0ee248339267c6c059bffff4c609162d img_convert.full/126900.jpg +0ee248339267c6c059bffff4c609162d img_convert.full/126900.jpg_copy.jpg +edaccd2d99ddd448331d0749c9e34fb9 img_convert.full/126901.jpg +edaccd2d99ddd448331d0749c9e34fb9 img_convert.full/126901.jpg_copy.jpg +af016f2563dbe60e1a846a02de8966ac img_convert.full/126902.jpg +af016f2563dbe60e1a846a02de8966ac img_convert.full/126902.jpg_copy.jpg +c6b78e41ef3e9a35d773a92c30fa7446 img_convert.full/127000.jpg +c6b78e41ef3e9a35d773a92c30fa7446 img_convert.full/127000.jpg_copy.jpg +bdf0fea0da485698a341f87ae288dda3 img_convert.full/127001.jpg +bdf0fea0da485698a341f87ae288dda3 img_convert.full/127001.jpg_copy.jpg +59004eae2446d6734924fee186454c35 img_convert.full/127100.jpg +59004eae2446d6734924fee186454c35 img_convert.full/127100.jpg_copy.jpg +8a2ee045b3a547b1097bf9274de926af img_convert.full/127101.jpg +8a2ee045b3a547b1097bf9274de926af img_convert.full/127101.jpg_copy.jpg +6937e2288f0f6975396654f2dcf0cabf img_convert.full/127200.jpg +6937e2288f0f6975396654f2dcf0cabf img_convert.full/127200.jpg_copy.jpg +b364aabc4998e9e8348372635241ba1b img_convert.full/127201.jpg +b364aabc4998e9e8348372635241ba1b img_convert.full/127201.jpg_copy.jpg +af8bc1dfb1d6a9bac9d05cc0b72c59cf img_convert.full/127202.jpg +af8bc1dfb1d6a9bac9d05cc0b72c59cf img_convert.full/127202.jpg_copy.jpg +b5381098673d69b7d8d6f8093d7de13e img_convert.full/127300.jpg +b5381098673d69b7d8d6f8093d7de13e img_convert.full/127300.jpg_copy.jpg +edb96443d5e92fbc156077d347a12348 img_convert.full/127301.jpg +edb96443d5e92fbc156077d347a12348 img_convert.full/127301.jpg_copy.jpg +b68956dbd52f432202c557772bd5f462 img_convert.full/127400.jpg +b68956dbd52f432202c557772bd5f462 img_convert.full/127400.jpg_copy.jpg +6ffb25c79db846ac3cfbfd16c01cb126 img_convert.full/127401.jpg +6ffb25c79db846ac3cfbfd16c01cb126 img_convert.full/127401.jpg_copy.jpg +c97cbdb26b5f665dc2613f5757942987 img_convert.full/127402.jpg +c97cbdb26b5f665dc2613f5757942987 img_convert.full/127402.jpg_copy.jpg +c19310e3df74d10a9eb1e64e75f38156 img_convert.full/127403.jpg +c19310e3df74d10a9eb1e64e75f38156 img_convert.full/127403.jpg_copy.jpg +69e895590273b3bc3b3f81d8da25693f img_convert.full/127500.jpg +69e895590273b3bc3b3f81d8da25693f img_convert.full/127500.jpg_copy.jpg +047fa3c0ea9a4ed34ee8f65c0278b1a4 img_convert.full/127501.jpg +047fa3c0ea9a4ed34ee8f65c0278b1a4 img_convert.full/127501.jpg_copy.jpg +eb679f4720b36ec79299a049b73b4df7 img_convert.full/127502.jpg +eb679f4720b36ec79299a049b73b4df7 img_convert.full/127502.jpg_copy.jpg +43285663af7f252af3692c66f7ef40a0 img_convert.full/127503.jpg +43285663af7f252af3692c66f7ef40a0 img_convert.full/127503.jpg_copy.jpg +d960a79d7be148e37aae161910d6bbb0 img_convert.full/127600.jpg +d960a79d7be148e37aae161910d6bbb0 img_convert.full/127600.jpg_copy.jpg +9778eafc00be5c1141a33c361d458e1d img_convert.full/127601.jpg +9778eafc00be5c1141a33c361d458e1d img_convert.full/127601.jpg_copy.jpg +6994bf800b8e79e360738fca7647a9e3 img_convert.full/127602.jpg +6994bf800b8e79e360738fca7647a9e3 img_convert.full/127602.jpg_copy.jpg +b37ff8415aa15ca27a92436150e78744 img_convert.full/127700.jpg +b37ff8415aa15ca27a92436150e78744 img_convert.full/127700.jpg_copy.jpg +e593ef3784669185dc1a01fc6107d84c img_convert.full/127701.jpg +e593ef3784669185dc1a01fc6107d84c img_convert.full/127701.jpg_copy.jpg +c9bcb56699f19b56762d2b90105caeea img_convert.full/127800.jpg +c9bcb56699f19b56762d2b90105caeea img_convert.full/127800.jpg_copy.jpg +dafab2d77d1716377d66afeb4d98cad1 img_convert.full/127801.jpg +dafab2d77d1716377d66afeb4d98cad1 img_convert.full/127801.jpg_copy.jpg +91946f4cbd41612a9a0234d09d9a6c82 img_convert.full/127802.jpg +91946f4cbd41612a9a0234d09d9a6c82 img_convert.full/127802.jpg_copy.jpg +a94b5a54c9bcddb43766080ffbf37b19 img_convert.full/127900.jpg +a94b5a54c9bcddb43766080ffbf37b19 img_convert.full/127900.jpg_copy.jpg +c466dbbbbfb705a95ff29920ece1952f img_convert.full/127901.jpg +c466dbbbbfb705a95ff29920ece1952f img_convert.full/127901.jpg_copy.jpg +8b979d4ea61f1ae47e84e89894fa2c52 img_convert.full/128000.jpg +8b979d4ea61f1ae47e84e89894fa2c52 img_convert.full/128000.jpg_copy.jpg +9247529062417c03fd5338320efd4340 img_convert.full/128001.jpg +9247529062417c03fd5338320efd4340 img_convert.full/128001.jpg_copy.jpg +de6791760f1257b2a2616056205240c7 img_convert.full/128002.jpg +de6791760f1257b2a2616056205240c7 img_convert.full/128002.jpg_copy.jpg +82ee8714c091080f7c96aac7695d9acb img_convert.full/128100.jpg +82ee8714c091080f7c96aac7695d9acb img_convert.full/128100.jpg_copy.jpg +766f68377a4c630217d359a3b7b2b063 img_convert.full/128101.jpg +766f68377a4c630217d359a3b7b2b063 img_convert.full/128101.jpg_copy.jpg +4830718f60cb38232477a9b53833d768 img_convert.full/128200.jpg +4830718f60cb38232477a9b53833d768 img_convert.full/128200.jpg_copy.jpg +2c8a616940a10264ffa8b58a51529b25 img_convert.full/128201.jpg +2c8a616940a10264ffa8b58a51529b25 img_convert.full/128201.jpg_copy.jpg +1eb6492cb10556b3ad191d593504392c img_convert.full/128300.jpg +1eb6492cb10556b3ad191d593504392c img_convert.full/128300.jpg_copy.jpg +06f10d75ae9c10cb3cfea2091e6cf49a img_convert.full/128301.jpg +06f10d75ae9c10cb3cfea2091e6cf49a img_convert.full/128301.jpg_copy.jpg +dd3c1de735394d3f2bb788757fafb823 img_convert.full/128400.jpg +dd3c1de735394d3f2bb788757fafb823 img_convert.full/128400.jpg_copy.jpg +830818373dd5b651fa71367612bd5826 img_convert.full/128401.jpg +830818373dd5b651fa71367612bd5826 img_convert.full/128401.jpg_copy.jpg +dd15c9b1a337d90c9fa0a2348c00f9e5 img_convert.full/128500.jpg +dd15c9b1a337d90c9fa0a2348c00f9e5 img_convert.full/128500.jpg_copy.jpg +2e74ced2d6f9b4d292d1c95c124c7347 img_convert.full/128501.jpg +2e74ced2d6f9b4d292d1c95c124c7347 img_convert.full/128501.jpg_copy.jpg +183541a68610eed6c20ce01f2822a65a img_convert.full/128502.jpg +183541a68610eed6c20ce01f2822a65a img_convert.full/128502.jpg_copy.jpg +d65f67e69086799be2cf3c2567934da5 img_convert.full/128600.jpg +d65f67e69086799be2cf3c2567934da5 img_convert.full/128600.jpg_copy.jpg +586f48f820f2d0051120145dc5551b05 img_convert.full/128601.jpg +586f48f820f2d0051120145dc5551b05 img_convert.full/128601.jpg_copy.jpg +956e9a05ba7d7eff85fd087fa954784b img_convert.full/128700.jpg +956e9a05ba7d7eff85fd087fa954784b img_convert.full/128700.jpg_copy.jpg +e486cb29390eb6c8292274cf2c3162dd img_convert.full/128701.jpg +e486cb29390eb6c8292274cf2c3162dd img_convert.full/128701.jpg_copy.jpg +bba616d1fdc41d9eaafbd66f2ef5a730 img_convert.full/128800.jpg +bba616d1fdc41d9eaafbd66f2ef5a730 img_convert.full/128800.jpg_copy.jpg +fd69a3d3c4e894e78573b699fa45ac31 img_convert.full/128801.jpg +fd69a3d3c4e894e78573b699fa45ac31 img_convert.full/128801.jpg_copy.jpg +650abe8c20be3e8092304b65efaaad07 img_convert.full/128900.jpg +650abe8c20be3e8092304b65efaaad07 img_convert.full/128900.jpg_copy.jpg +84b83c609da6ab5772af008dabc81577 img_convert.full/128901.jpg +84b83c609da6ab5772af008dabc81577 img_convert.full/128901.jpg_copy.jpg +f16c0cfe2d53d1969dbf3cae34a90dc8 img_convert.full/129000.jpg +f16c0cfe2d53d1969dbf3cae34a90dc8 img_convert.full/129000.jpg_copy.jpg +a8d1ee4805018fa754232190d72e3d06 img_convert.full/129001.jpg +a8d1ee4805018fa754232190d72e3d06 img_convert.full/129001.jpg_copy.jpg +49422742f7514932a5200fa2cd187940 img_convert.full/129002.jpg +49422742f7514932a5200fa2cd187940 img_convert.full/129002.jpg_copy.jpg +673874571ccd47d8a9d2f7f3fc14dc2c img_convert.full/129003.jpg +673874571ccd47d8a9d2f7f3fc14dc2c img_convert.full/129003.jpg_copy.jpg +53f1e9d0aa6138db8d857284fa227e2d img_convert.full/129100.jpg +53f1e9d0aa6138db8d857284fa227e2d img_convert.full/129100.jpg_copy.jpg +f06e6bd7dae37773b77a9a074667bb02 img_convert.full/129101.jpg +f06e6bd7dae37773b77a9a074667bb02 img_convert.full/129101.jpg_copy.jpg +90ec659964cdfc04c3059153c283680a img_convert.full/129200.jpg +90ec659964cdfc04c3059153c283680a img_convert.full/129200.jpg_copy.jpg +b40cc1513241b4c6418b9466f3474f9a img_convert.full/129201.jpg +b40cc1513241b4c6418b9466f3474f9a img_convert.full/129201.jpg_copy.jpg +87f3cb5abe8f26bbf4fb0f3094901641 img_convert.full/129202.jpg +87f3cb5abe8f26bbf4fb0f3094901641 img_convert.full/129202.jpg_copy.jpg +d550096c97d278dae97937fa6a90c909 img_convert.full/129300.jpg +d550096c97d278dae97937fa6a90c909 img_convert.full/129300.jpg_copy.jpg +e04f990ebb2cc630cbbaa5314c19b720 img_convert.full/129301.jpg +e04f990ebb2cc630cbbaa5314c19b720 img_convert.full/129301.jpg_copy.jpg +02dd286aab39faead70262c8568af097 img_convert.full/129400.jpg +02dd286aab39faead70262c8568af097 img_convert.full/129400.jpg_copy.jpg +4903bcd0487ca1d39cd691ad7a3d3b77 img_convert.full/129401.jpg +4903bcd0487ca1d39cd691ad7a3d3b77 img_convert.full/129401.jpg_copy.jpg +b4101055e0d0cd8e4cb7e63360fbd829 img_convert.full/129500.jpg +b4101055e0d0cd8e4cb7e63360fbd829 img_convert.full/129500.jpg_copy.jpg +5f8bfa913592c8212a99f62353ffeb99 img_convert.full/129501.jpg +5f8bfa913592c8212a99f62353ffeb99 img_convert.full/129501.jpg_copy.jpg +6b3ad4bbf4c4644e963d1099128ac2eb img_convert.full/129600.jpg +6b3ad4bbf4c4644e963d1099128ac2eb img_convert.full/129600.jpg_copy.jpg +e33e1798a6c17cdfaced83deaeb28f2e img_convert.full/129601.jpg +e33e1798a6c17cdfaced83deaeb28f2e img_convert.full/129601.jpg_copy.jpg +fc6a8e8ad0daebaa70b7552fa09f3a73 img_convert.full/129602.jpg +fc6a8e8ad0daebaa70b7552fa09f3a73 img_convert.full/129602.jpg_copy.jpg +218a81889e9e4f6db51f701b26aa290a img_convert.full/129700.jpg +218a81889e9e4f6db51f701b26aa290a img_convert.full/129700.jpg_copy.jpg +59c15376ee7f83813a7365791381cfa0 img_convert.full/129701.jpg +59c15376ee7f83813a7365791381cfa0 img_convert.full/129701.jpg_copy.jpg +25232c20201006e20c9c6353e161cd1c img_convert.full/129800.jpg +25232c20201006e20c9c6353e161cd1c img_convert.full/129800.jpg_copy.jpg +3e64e66289f4e035d44dfe2365e652ce img_convert.full/129801.jpg +3e64e66289f4e035d44dfe2365e652ce img_convert.full/129801.jpg_copy.jpg +a7ea90ceb8e1dea70a307d48fc12951d img_convert.full/129802.jpg +a7ea90ceb8e1dea70a307d48fc12951d img_convert.full/129802.jpg_copy.jpg +07bb830ff029b6edefb85ec546dfc7f9 img_convert.full/129900.jpg +07bb830ff029b6edefb85ec546dfc7f9 img_convert.full/129900.jpg_copy.jpg +191239c2d1894a748019a7c90f783fb1 img_convert.full/129901.jpg +191239c2d1894a748019a7c90f783fb1 img_convert.full/129901.jpg_copy.jpg diff --git a/infrastructure/systems/Shark/media-conv/hashes/img_convert.small.md5sum b/infrastructure/systems/Shark/media-conv/hashes/img_convert.small.md5sum new file mode 100644 index 00000000..e9d07b2c --- /dev/null +++ b/infrastructure/systems/Shark/media-conv/hashes/img_convert.small.md5sum @@ -0,0 +1,508 @@ +0b7f1a9b4f785844db9c0ff8f51b01f5 img_convert.small/100000.jpg +c2513e1dc37141c5973ceb4a15b6568e img_convert.small/100001.jpg +2bae293bfeff36c722df45aea77f4034 img_convert.small/100002.jpg +142e6de60d809873783ab1b918b92f1d img_convert.small/100100.jpg +ab09b888d2ea3d631ae223dade51fcb9 img_convert.small/100101.jpg +e602abf3149d22431471e79d59b3433e img_convert.small/100200.jpg +aaa5c603196b8465d977f4d3256af851 img_convert.small/100201.jpg +05a9f7933ced9a00dbe1162240adacf0 img_convert.small/100300.jpg +f878f1d830e9725994d1672a4a1221b9 img_convert.small/100301.jpg +c36bd8a56e4a98fbd05672dc0d634f14 img_convert.small/100302.jpg +19a578ca012b0e4212320f11185011fd img_convert.small/100400.jpg +ebb6317e80e4bff5e3f00b50dc7d5db7 img_convert.small/100401.jpg +2b7265e817d56bc1fd29bd8fba202c1e img_convert.small/100500.jpg +a126b4148f7a6ac64c79dbae0d531cff img_convert.small/100501.jpg +8b6b527f1d88bd4fe785eb8ade6cd96b img_convert.small/100502.jpg +93097110aed846efbd6c6c4cf9a4734a img_convert.small/100503.jpg +5af0713bfb0f227bf628368bdb3f7b34 img_convert.small/100600.jpg +536b7bd1aa01bb0d88cff239b636a1fe img_convert.small/100601.jpg +dee3f5c864533b32b60cb444cd1bb6fe img_convert.small/100700.jpg +bc3a6086877078bd5f3ecc669814f08e img_convert.small/100701.jpg +f24adab6aacfa1275bcc7d89d5a7abd0 img_convert.small/100800.jpg +489875a01db5a55ab90b316de62cdfbb img_convert.small/100801.jpg +6fececb8bae4852fed2a8ed764d62d34 img_convert.small/100900.jpg +93dcdb3a7572826923f94b07b1da40f0 img_convert.small/100901.jpg +b141de85ffb8aa2a102b0b6f8017e712 img_convert.small/100902.jpg +1ae60bd0bf41586569fee9371dcf62f4 img_convert.small/101000.jpg +082ced0a5c17279db39c00b11cd8acf5 img_convert.small/101001.jpg +66ad9b914c66b71477d3ee5e6f319742 img_convert.small/101100.jpg +d5d2b876ce4ac74497e3425364b4b5cd img_convert.small/101101.jpg +a02c8b772f46ca980359c0767fafa1be img_convert.small/101200.jpg +44f022769baf3116a02e0d653fa3ae99 img_convert.small/101201.jpg +f5a50b3709407512e27120cf2f5187c3 img_convert.small/101300.jpg +cc279106a64bf5073d24db05c472bf73 img_convert.small/101301.jpg +90cb4e1405bd4826c4d5f1d21665a465 img_convert.small/101400.jpg +dbc201089f4829b487aa9ae74c7ce153 img_convert.small/101401.jpg +473451899bf6f70abe6054cf21285d2c img_convert.small/101402.jpg +11aab0c558343b825b10d8cc7b41f1a6 img_convert.small/101403.jpg +c794be8fe51bec456aa2081934e383ce img_convert.small/101404.jpg +f203d148955167b72f09e5663d3367ea img_convert.small/101500.jpg +9a6f15e5b853acdf167878a942251493 img_convert.small/101501.jpg +71213bfb82afd74b505155e8d6b3ab4f img_convert.small/101502.jpg +7bd230116abde5e7db62d1948d7c98b4 img_convert.small/101503.jpg +f7b248c1743542dc6889dca20d8137ea img_convert.small/101504.jpg +18a2dd0cee367c9db6022528b9548d67 img_convert.small/101600.jpg +8d14a8e0b58cf423f8a08091dd495c06 img_convert.small/101601.jpg +d2701a6a263fe0f3b14ec4ba6dd10478 img_convert.small/101700.jpg +9098a716c3c62a861fc98a1517b3ced2 img_convert.small/101701.jpg +6a23df3581ff3b039bad2a5f7735f089 img_convert.small/101702.jpg +17ee56ec6fa546b7c94424f96ba144c0 img_convert.small/101800.jpg +97012d4291a5d80a44ab01f78e4d3f36 img_convert.small/101801.jpg +b3f5216ac9ce5ebb1ae704ecfb73bb8b img_convert.small/101900.jpg +04ded90ee8ab563678797059f20a723c img_convert.small/101901.jpg +14d09e5ca0bee31f39d36c5a3def92c3 img_convert.small/102000.jpg +c33062efbc495d341730f05660b843f2 img_convert.small/102001.jpg +8ab1ad2bef9a34a42a4cb434961b48ca img_convert.small/102100.jpg +9e57ab2885a18a98112d45555336f18a img_convert.small/102101.jpg +395678d489651fe0ef77483bfccfa565 img_convert.small/102200.jpg +7140e5b1b5c389ba2933893517c0bb90 img_convert.small/102201.jpg +910f58cff7ca4a5d03c192de6d62475c img_convert.small/102202.jpg +4acf83d99b83b1cb5526a174c50783d7 img_convert.small/102300.jpg +7f2c9c2a6aa6c0970c27180d462e841b img_convert.small/102301.jpg +a4687dc1ce21463fb289a06bffa76c17 img_convert.small/102302.jpg +d9d623c8675b1426a0ee63210e6b1401 img_convert.small/102303.jpg +8b4ae26b86e970d78f1648e5884de050 img_convert.small/102400.jpg +708d7087fd497b52cc0e1c799c41ad5e img_convert.small/102401.jpg +b99b1a3566245d176401b39066830922 img_convert.small/102402.jpg +a4c5f1c2aa494c2b8e007d8599d7c7a0 img_convert.small/102500.jpg +31d7ec1b889a4dc4f2cdb9091efb167d img_convert.small/102501.jpg +a8e3077b5a81aa3befb2d01e270dfc23 img_convert.small/102600.jpg +068886e0d4f5a56f7ae43a9e87610eba img_convert.small/102601.jpg +8ad6988eff08ca8f4deee73dce761a58 img_convert.small/102700.jpg +6aef54b9a99c10395b19b02d303e6aec img_convert.small/102701.jpg +8bb3b40e8cd4e2816679ffdd8f658939 img_convert.small/102800.jpg +dfde848343b260934fab01768e7ce837 img_convert.small/102801.jpg +b94ed27bf1f05e6bb4d83fc54aef58f4 img_convert.small/102802.jpg +1ddf36efd90c6136c576da5add8bce91 img_convert.small/102900.jpg +20336d9dbee2e06c96fb7e6c11791788 img_convert.small/102901.jpg +1bb6f41e17de531a099b8124099cf04c img_convert.small/103000.jpg +f5764f30ff167cff4aa7bf362b4f3a8d img_convert.small/103001.jpg +b48e2af37cb58b2d3339d7ade35b9555 img_convert.small/103002.jpg +e281f4f7c3b445b5ee3f9cec745d30f7 img_convert.small/103100.jpg +3e0ef1985046540bb955f2f698992dad img_convert.small/103101.jpg +d4a8d3c5916c1c744ac9819365dabd93 img_convert.small/103102.jpg +fd93ea80faf6fa85283b650072304a21 img_convert.small/103200.jpg +72c077b3666e45e286e2f2dd5aeaf1ba img_convert.small/103201.jpg +a36fde91ae401f740a7d12c8aead5d8d img_convert.small/103202.jpg +c89b4688c566411e2aff8219aa90253c img_convert.small/103203.jpg +bf18d0432a694e918a72e080a3e3603a img_convert.small/103204.jpg +22f8dc6eb19b85d31d27c04a5a78049a img_convert.small/103300.jpg +848850628f93a7a59bff7ba2524bca93 img_convert.small/103301.jpg +5d53a155bd5171d8e85157a7ba8708b0 img_convert.small/103302.jpg +cd4e44aef9d8ae8647491575167c2513 img_convert.small/103303.jpg +f669383a80170ad13b91246a751485b1 img_convert.small/103304.jpg +1a61dc35eabfa86bf73454bab29ef4a3 img_convert.small/103400.jpg +bcc257719996ac3c024077a4eb632043 img_convert.small/103401.jpg +7a31ac89a645708d26da8157c4f78890 img_convert.small/103500.jpg +80bd519b5c3fdbf74c6a1a6a3c3b109c img_convert.small/103501.jpg +dcbe43fd10c3760b7080209ed1b32fce img_convert.small/103502.jpg +8aec92c6dcd5cc00067faaba7949a4ef img_convert.small/103503.jpg +9d9329ba8c7d0732065085cf547270db img_convert.small/103600.jpg +1029cf0e4e3c7f6264a842cdc34e139c img_convert.small/103601.jpg +b7b3cb6d9a090cc098c8ac9fa09e89f2 img_convert.small/103700.jpg +a0ad9f6966d1841a1c41bc8e7f58ffce img_convert.small/103701.jpg +c56931f9e8a70ffc0a28aecf7e1f8c41 img_convert.small/103702.jpg +37203936ab28b820e7c9ff60a641db04 img_convert.small/103800.jpg +1d14fd207cdfc8d454cd80217dcffbea img_convert.small/103801.jpg +e281f4f7c3b445b5ee3f9cec745d30f7 img_convert.small/103900.jpg +3e0ef1985046540bb955f2f698992dad img_convert.small/103901.jpg +d4a8d3c5916c1c744ac9819365dabd93 img_convert.small/103902.jpg +7a7667a09c652ecf8f963849a240bbd2 img_convert.small/104000.jpg +ad1616d6e536ff4d2e957e8df526cdbd img_convert.small/104001.jpg +13b4b003468a73216da41209986aeb8a img_convert.small/104002.jpg +a563ea0e281c7d0e7f5c8ae275446782 img_convert.small/104003.jpg +afcc289561a62d868abb24e232597357 img_convert.small/104004.jpg +5015c75c4d4fc065eb6a4df641e70dae img_convert.small/104005.jpg +c8eb3fcaf63d84c8833a14c808f364e5 img_convert.small/104006.jpg +48eeb49c0cc0a047d01316959c2a881c img_convert.small/104100.jpg +33f4d976c70b3d42047e60b97f2bd33c img_convert.small/104101.jpg +064690317b9407ed91ea51d4831621d1 img_convert.small/104200.jpg +cd205ce4c68b05e68162449738c658ee img_convert.small/104201.jpg +9eb7b8b87fc35fac5b697de66323780b img_convert.small/104202.jpg +b7972e2959e3b3e89b6b402475ee5502 img_convert.small/104203.jpg +dcb10fc6f4c5357e2cc516e8979f3741 img_convert.small/104300.jpg +f94cc68f58e8b9eb2d7e78a80b99e0ae img_convert.small/104301.jpg +26d4fc7221770709ddaff6304360c167 img_convert.small/104400.jpg +9dbeb468d39ba459ad0b8034eb1a7777 img_convert.small/104401.jpg +b0408ff61a00cc3fb56ca8144721049e img_convert.small/104402.jpg +72005d66fcee6961f8627b440e705ccd img_convert.small/104500.jpg +d99ee19b9ce4b83348ae6aba98a3b79d img_convert.small/104501.jpg +c43f75c31736db195e5af1a6a86c5127 img_convert.small/104502.jpg +f74eb7b0fb853e6075ca76f3974d24cf img_convert.small/104600.jpg +912469e88d002d6ae4cf2c566ae99390 img_convert.small/104601.jpg +41e9206dbb733e55296b31ac2ecf1d85 img_convert.small/104700.jpg +a788294d896eb8c8734c1380e450ecc3 img_convert.small/104701.jpg +024e92f601a183c34ec6047be9284cbd img_convert.small/104800.jpg +21db976be2edc0cd23817267ab7dffd5 img_convert.small/104801.jpg +a8c4174063401ddbca2255e53d23fd4b img_convert.small/104802.jpg +f7b6b98704e46c803c054b1d530c5c4b img_convert.small/104900.jpg +510fc5d6b65e3dd2247f5f68a591694b img_convert.small/104901.jpg +7de74b587c89f241f6c8159b6f577cbb img_convert.small/104902.jpg +c101a617f68ed5c2b9e4712f672946ce img_convert.small/105000.jpg +f7d36f854f2c3c36535ff52e89fd5bc7 img_convert.small/105001.jpg +9e97e4243ed0243b9cf2d11967616701 img_convert.small/105002.jpg +68effc265a6ecd671a7375c7a23a8643 img_convert.small/105100.jpg +5f3e0420183ae90333235f501889424d img_convert.small/105101.jpg +9eb1ffb1033740b5faad9c717e683675 img_convert.small/105102.jpg +0ad23b1940d21590efa0db95a7e0483f img_convert.small/105103.jpg +9d84a987af183b9c1021042fd2fd0b10 img_convert.small/105104.jpg +0307707226f00661fe7639bbdb22f0a0 img_convert.small/105200.jpg +5deb2f0a0ba9a3a098e248ffeb4188b4 img_convert.small/105201.jpg +f75d0586d8bc0905e8bcf3d5d56ada1a img_convert.small/105300.jpg +3838fe6ec88ad438432e5efe6d75e766 img_convert.small/105301.jpg +83654688f27f588d03a384406fb60e97 img_convert.small/105400.jpg +19a1d9c3db51c214b92ad34247076ba0 img_convert.small/105401.jpg +4586815b441f7b461ef46974f4e9f360 img_convert.small/105500.jpg +9d65e8fbb6da327e5b84242bb37bb866 img_convert.small/105501.jpg +d5b30982205c8c0f4554a0da23d61156 img_convert.small/105600.jpg +59802d75edf956fc93c4f007162f363a img_convert.small/105601.jpg +831a0e47a44885ba6dd989a872b8fbdb img_convert.small/105700.jpg +75b5c6acb27c760531bebaf953dac29e img_convert.small/105701.jpg +5bc6f1de989542e77806bff989c6b8a7 img_convert.small/105800.jpg +f9f434448d1080f299854899069e966e img_convert.small/105801.jpg +bb4ed85ab6f28b30fdf2fe032891a460 img_convert.small/105802.jpg +08a0dc18ef9d16fbdfef71f293571fe9 img_convert.small/105900.jpg +28c3302873bb0c300800e3a60d3adcdc img_convert.small/105901.jpg +dfcfe7d4601464ab1deb97ee951a2442 img_convert.small/106000.jpg +9c226d8396b678db922033b82644d44b img_convert.small/106001.jpg +362c432ef37dc0549b02dcd843af34f4 img_convert.small/106002.jpg +95056a41e5d6293a4ed8b80e87a7caf4 img_convert.small/106100.jpg +2209c77aab80b0d2719e6d495e609da0 img_convert.small/106101.jpg +805d1ef307291a5e4e759779c9f5d1f7 img_convert.small/106200.jpg +065a64b0705a7d68727ebccf4860b192 img_convert.small/106201.jpg +fee40aab6cbf832c4f370ee936a2091a img_convert.small/106202.jpg +f63370b23779098e3219a3eb2d11a6b5 img_convert.small/106300.jpg +b9afb1865351a61efed3f92488f1791e img_convert.small/106301.jpg +93f555084c528f2adef5a31a6dd61f84 img_convert.small/106400.jpg +eb3a17feb5d2f1467970b07379c13c89 img_convert.small/106401.jpg +63eaf93ac8ca53ffa6c8ad0d08417cbf img_convert.small/106402.jpg +c423d8b205e8523af439d80e6b109855 img_convert.small/106403.jpg +3eb419373fafce2112b85453a3b23df9 img_convert.small/106500.jpg +408444bbf51e22aba6db1d7ce8fc2cdf img_convert.small/106501.jpg +915453c2802c1b35ae23d5a790c4b1bb img_convert.small/106600.jpg +999745c85504292f87145254f8fe572c img_convert.small/106601.jpg +fce2e349f35e0619999a3ed5ac104fc4 img_convert.small/106602.jpg +b73e427f15581b7d55d61d7710aa16d0 img_convert.small/106603.jpg +71fe3e2bc7c86ad795f76300c8a873e7 img_convert.small/106604.jpg +461ec8d20fda59c6c311ce21a9054cc9 img_convert.small/106605.jpg +186b6c71dc67a7952c721d66260b7e1f img_convert.small/106606.jpg +005be0b5ef18eeb68e6874993c21a793 img_convert.small/106700.jpg +d990a22838258942b83cf29d1e8c8a1f img_convert.small/106701.jpg +3575eb2e28e1948f72ba685c5bbfdeb3 img_convert.small/106702.jpg +78f35af0cf295a2dea8c9ea95d38558b img_convert.small/106703.jpg +4667aabea2adb025c790f48883bcf802 img_convert.small/106704.jpg +ed4b42a7e91e5a91541827ef7c13ff0f img_convert.small/106800.jpg +586be8b37912d7de03836c8bae789960 img_convert.small/106801.jpg +15af4ec8805cd03386aa125006924700 img_convert.small/106900.jpg +1aae4a0b978c0f440379424ded3c4692 img_convert.small/106901.jpg +41434134309ef96e88f96f5972c2d8aa img_convert.small/106902.jpg +89a655a9f3c7d4cf79dbe39b4764ed3a img_convert.small/106903.jpg +26f1dd6b99224ad19bd2af5253a9b60e img_convert.small/107000.jpg +0208d4a5170953ff4695cfe4fcf1ca6f img_convert.small/107001.jpg +8e3aaa3b168a8edccc420602089901bc img_convert.small/107100.jpg +c858a7ad539e8c4784fcb36b4e363ec9 img_convert.small/107101.jpg +e18e75b94c6a98c4757f12e7f132897f img_convert.small/107200.jpg +0e5693f3c2510af7d17cce3e5f041388 img_convert.small/107201.jpg +e081cec69c188015805d6c0ea6c8740c img_convert.small/107202.jpg +1ebb016b973b85004f11c5aa79fa2e40 img_convert.small/107203.jpg +b8ba0942a05b96c2482e22e4ad783197 img_convert.small/107300.jpg +ccd84d1782430a523062cd98d0796271 img_convert.small/107301.jpg +8cb88224ae528b11120908f8330ef3e7 img_convert.small/107400.jpg +0c002a2fd78d948583dbef111ae2f4dc img_convert.small/107401.jpg +ab6013224c85fcd0e802d3a6464e298e img_convert.small/107500.jpg +d57c653977c6e99ccfc8d2ef80233969 img_convert.small/107501.jpg +ef106b37eef2e8515aaa5c6e1d46c53c img_convert.small/107600.jpg +0d42663fc395798bb8f3a9f4344c9f20 img_convert.small/107601.jpg +3911b932ed20c52cf3c6753f7ea75ea1 img_convert.small/107700.jpg +0286d09a239453e398f7720a82c661d5 img_convert.small/107701.jpg +a332db1b11e207318c1992a985e17c0e img_convert.small/107702.jpg +ac00e74dbec4b2870e16057fcadd2d93 img_convert.small/107800.jpg +7284686c8c8c47e7d5b80be8674b56df img_convert.small/107801.jpg +6af393a87868eeebd40bcb8b7b91929d img_convert.small/107900.jpg +b93dd9d7a9b8a2755646c9859547c80b img_convert.small/107901.jpg +8db33bc3e01588a9c126d9d7b4dc9d11 img_convert.small/107902.jpg +84fd336d1bfe82d9f5b801cfc28270be img_convert.small/108000.jpg +b5657d1a35c263175128bcdf2f33730f img_convert.small/108001.jpg +fb40273890088e6dffb5af27060aad40 img_convert.small/108100.jpg +0ce8f47e580b8eb19c24cbaed7bfffdf img_convert.small/108101.jpg +ad3c6d0fdbb50dd2811d9bd03baa9d5b img_convert.small/108102.jpg +dcb6636d3a9e5e36ab9f7b67dfcfaf0c img_convert.small/108103.jpg +60b369402dfeb54efdf7c7641a6a1967 img_convert.small/108104.jpg +2c5664eb989b80e6e2af29cfdd326552 img_convert.small/108105.jpg +a39217ed342a6d098239261924866a50 img_convert.small/108106.jpg +c819cb03df792f55539628788b6dc41a img_convert.small/108200.jpg +83c229ecb72db70d794d289588103ac5 img_convert.small/108201.jpg +3099105847a17206fdad32a41887d513 img_convert.small/108202.jpg +cf597972afd1cb6609e0fbfe4221c874 img_convert.small/108203.jpg +8f38d8ca02bb3bfba7f83614b0b0f013 img_convert.small/108300.jpg +b0aac3b7b9ca3ab453af2c45728db9be img_convert.small/108301.jpg +cf29e1ee8190bd744aaa0cf23a3e43e5 img_convert.small/108400.jpg +036c08b64e94c103d35e02938c5fb626 img_convert.small/108401.jpg +cc7c220afa62dfe9185e0a3d82ce2a21 img_convert.small/108500.jpg +d86efbf51a9e6b8cf7a2c2aaea0e548e img_convert.small/108501.jpg +e8fd736a0b1e3cd6e4e63883e18bba56 img_convert.small/108600.jpg +3f5f71601eea46ce09195982554b9645 img_convert.small/108601.jpg +aa7be193abbcb8862c743d1c502a5a06 img_convert.small/108700.jpg +6504730c1ab9991be91db47036ccc4bc img_convert.small/108701.jpg +0489edc4338ce01422b8e1e8d2c8b990 img_convert.small/108800.jpg +78eaec3136a65324dc408c5e760712e4 img_convert.small/108801.jpg +c236eaeaf5cd42c1120ae1346daedad8 img_convert.small/108802.jpg +e2382cde7caf5a5386a1419548b48d64 img_convert.small/108900.jpg +5022173254bc7d5b7175a6119a478d66 img_convert.small/108901.jpg +904c481740a673f332444606495116c4 img_convert.small/108902.jpg +86467346997bbd7ea003b942574645e8 img_convert.small/109000.jpg +831389ee40638f860c4257bca547014b img_convert.small/109001.jpg +43ce830ca25adf943d4d1c6a4d77373a img_convert.small/109100.jpg +e7684d190bdba245a58540bc215e8b92 img_convert.small/109101.jpg +b754b0cd10b43e04577c8db61daa2f6c img_convert.small/109200.jpg +1f405ccefec87fb2cfb14b058aa353d4 img_convert.small/109201.jpg +42e4939a0d39b2bc4ab129614dfab1a1 img_convert.small/109300.jpg +3569fd5f3c8abc701c5c73cd227b62b3 img_convert.small/109301.jpg +9cc8adbd281abc01ae0de6e57728c566 img_convert.small/109400.jpg +4c0138c35e2c92fc703302a34c0fd972 img_convert.small/109401.jpg +f0da6e3827c02b329bb6ab9385984cb6 img_convert.small/109402.jpg +ced414631498c81a89e1adcf5d5fdf54 img_convert.small/109500.jpg +641b98dc99e9492365e067027f94d833 img_convert.small/109501.jpg +2aaae1c33d6b3a5913a194633eaab1fe img_convert.small/109600.jpg +b6af5be8517a5ba324344ebcf12ce005 img_convert.small/109601.jpg +ec9c94a368edcd840823307494e6ab92 img_convert.small/109700.jpg +ffc997178f47e6f6a5c4faa44cdb1080 img_convert.small/109701.jpg +94eafc25db2acee820b97a57edc024ef img_convert.small/109800.jpg +ad4ed7d268b00cc99c309635f4f7104b img_convert.small/109801.jpg +b7af758356d8c160634c87961d67d6bc img_convert.small/109802.jpg +117be1a327da756545ce051c9edc9cca img_convert.small/109900.jpg +fa84194a245f5d3eea7299487152300a img_convert.small/109901.jpg +73c0cc682919453177d6f2394c94d389 img_convert.small/110000.jpg +4c371a0ca418a2ee8ad70461ef930f6a img_convert.small/110001.jpg +55dd1ded55b6958b935ac2d7de49e247 img_convert.small/110100.jpg +0af69caba6dc172a38dc64248aed4d74 img_convert.small/110101.jpg +62b080631161ab8166ab213238c389be img_convert.small/110200.jpg +1cb4b1a17c96c00074b9505590a0a844 img_convert.small/110201.jpg +cde81f06c2b93baea34b8c094883ebea img_convert.small/110300.jpg +e4398332310fbac0994d8bfc18895a67 img_convert.small/110301.jpg +f07cbe4a988fd45bed85294d955cf5d2 img_convert.small/110302.jpg +93541b9f660491f11eb438b35d4317c0 img_convert.small/110400.jpg +17bcc1a8940fe15a832ef95f97a5dd97 img_convert.small/110401.jpg +62f050557992be1c7644cd8cd41404df img_convert.small/110500.jpg +307f491f2f62d6110123784e81a3206f img_convert.small/110501.jpg +9f49951ab1b40fb628439e89693325b7 img_convert.small/110600.jpg +6c84df39da917176c4b098fc8fbac54a img_convert.small/110601.jpg +d621bc01b56e6e233aff9e2b6c0a93f8 img_convert.small/110700.jpg +7d6b5e630987e2e70b0288a3c2578606 img_convert.small/110701.jpg +10e298ea8e7befb222446419001c4e62 img_convert.small/110702.jpg +990d39b4339343be553a94baf643dad6 img_convert.small/110800.jpg +ae3f12bc8839cea10bdf4cf17522c80a img_convert.small/110801.jpg +19c8e7eed963a39729503845247d4a2d img_convert.small/110802.jpg +c8070ef7c3cc8f3884e92a8b365b641c img_convert.small/110900.jpg +020e16e0b5e7a3f4ffb48b646f3b0793 img_convert.small/110901.jpg +0a0c6f74894047f6c8fd75292f0a2837 img_convert.small/111000.jpg +dda6ea1aca027eda5e27601dd20c6b53 img_convert.small/111001.jpg +6a6974e2a4dc11359297d2c50bbdfd09 img_convert.small/111002.jpg +700a4c770f59bfa48a3026f1a8ac0f1f img_convert.small/111100.jpg +6a6c343762fbf0b6230d8038543bfb9c img_convert.small/111101.jpg +1dc959199e8b4404813be48f91ef650b img_convert.small/111200.jpg +426d15a6ca4373d28e58abda7734f0ec img_convert.small/111201.jpg +d3b1f40e68f5b47b464a30666f953453 img_convert.small/111300.jpg +0f7153214ee9fbfc3b0c3ca16facc72a img_convert.small/111301.jpg +0026f03e68b329cfefe17d3fc7f059d8 img_convert.small/111400.jpg +9c256439eeb528dc43867d40ef635137 img_convert.small/111401.jpg +9fe993d8f4ae67fa26c6046d5d6b07a1 img_convert.small/111500.jpg +9e90dba88152ec3a6dfa95a2d0ea8972 img_convert.small/111501.jpg +59b8068d51713e0ecd741131d78eadfc img_convert.small/111600.jpg +4d1effd8bb922e31eca7687e5873022b img_convert.small/111601.jpg +7800bc2573d14fed828ee36cba22fd27 img_convert.small/111700.jpg +1af6ed0befe4506bf9789213055b49e7 img_convert.small/111701.jpg +09e570a9a049300c3d66772fe0476414 img_convert.small/111702.jpg +ded2205f4a01b7a378c3593c6b3b61e4 img_convert.small/111703.jpg +6f0e8134d4cd79d5558e97180c7425f0 img_convert.small/111800.jpg +a9f1b2d598e3cdb0142fdc0487c403aa img_convert.small/111801.jpg +32e04af849e9623e2beb639a47be005a img_convert.small/111900.jpg +141f2c3f4c7a9b4564d1d7a974d56590 img_convert.small/111901.jpg +eaa2a1539fd33afaaa1f1b6f72153502 img_convert.small/112000.jpg +9b633f8cd87cd130b34ce29b2d9e334a img_convert.small/112001.jpg +2a45dbd7ddb00a11e886a53f8aed1063 img_convert.small/112002.jpg +4b2b07836bab9f03e15c284b9b139513 img_convert.small/112003.jpg +81a55c1cea5bb75b8b3b3b83ec3e4a08 img_convert.small/112100.jpg +49cb3afce09f0d07cdbab0ff2c984570 img_convert.small/112101.jpg +380eb27946ad8561020a4ae5c24d4572 img_convert.small/112200.jpg +4d0738128d3f6418ab5cf9633a1bc606 img_convert.small/112201.jpg +72002ac353da8b3719c7686dfc949bb1 img_convert.small/112300.jpg +875fe3fd826ea015f677bda74acd421c img_convert.small/112301.jpg +6aebd961d931a5bd0ce9bda7d3e46254 img_convert.small/112302.jpg +e3d2d040ad9f58b9bcccdc53e1351832 img_convert.small/112400.jpg +14f35403bb0f18f614d09f061e78debc img_convert.small/112401.jpg +2216e601d75e22be4f59e3ce73c1523b img_convert.small/112402.jpg +13bf5602015cc97f194d76c361cf57fe img_convert.small/112403.jpg +38f2679f9cd1bad68183e7489465756e img_convert.small/112404.jpg +72da4abc59735129bd26852e3ab72a5c img_convert.small/112405.jpg +c31c8cda2b4a6a2734773dc938c87471 img_convert.small/112406.jpg +ba6fcfc71852ad200bebd8603d62488a img_convert.small/112407.jpg +d651d9dd65eb862591e7d8ecec88dcde img_convert.small/112408.jpg +7d83bbc31f333b2f302013f7463db985 img_convert.small/112500.jpg +55f6c0501173167cd8a6bd960ee212b0 img_convert.small/112501.jpg +e32608e739c0489a8c9bd3cbd52fa953 img_convert.small/112600.jpg +d77b2f0e519fc3dd523f71e4dca7212b img_convert.small/112601.jpg +336979c04d641e4a4e33493d9d3dc074 img_convert.small/112602.jpg +e6a0d1fa0c4af63b059794b991f78e77 img_convert.small/112700.jpg +c59b819ae44fc3e1267df78e08b1cf7c img_convert.small/112701.jpg +eedc105f64a76f646075ab87e6e1a2fa img_convert.small/112800.jpg +250da7aa760470b05281543e90d66e49 img_convert.small/112801.jpg +5f63ace3677452ac305d7230f059906e img_convert.small/112900.jpg +6cfd2e7e5af3f83dcaf9f3a6fd8a0826 img_convert.small/112901.jpg +efa7e4b832e074ea8049c3155d81b977 img_convert.small/112902.jpg +84ed1119bdc05ffe7520c6da89f2b746 img_convert.small/113000.jpg +d7b1f9913fa29b465737a517fda69d66 img_convert.small/113001.jpg +f68c17f9789dede7ac8711da873789d5 img_convert.small/113100.jpg +257a383b3e28a2d550756ce2d7238f1b img_convert.small/113101.jpg +065d16f47f293390a2df81c3abbfa944 img_convert.small/113200.jpg +c8d3ff0a51c6361680a7c8e3ba59f89e img_convert.small/113201.jpg +01602b3e5b821029793b306430e5bfa5 img_convert.small/113300.jpg +8b3d3c2a72679a239fabff3364e3b4c2 img_convert.small/113301.jpg +ad72e5ad2c5036efd50e197eee091d6b img_convert.small/113400.jpg +65cdbba729dc6e694f6cde2979c2b96d img_convert.small/113401.jpg +ed3cb67ae10d6a78ef471682bd29de26 img_convert.small/113402.jpg +2f80e5a2b144d95cf139e27f82f4a759 img_convert.small/113403.jpg +e8348f7431c5d14f0d40608db6660800 img_convert.small/113404.jpg +3cb9eb87e6e5903cfebb05b63aeb0a68 img_convert.small/113500.jpg +fcc49e89cb46be8c4fd68df6bd86b11c img_convert.small/113501.jpg +e862df63a098c41df51b30c5677c44b3 img_convert.small/113502.jpg +1a7115a599eec022a51640b9a0a36495 img_convert.small/113600.jpg +d7aacd5055353a27ef085647b0d88ffd img_convert.small/113601.jpg +b3a3a6ab45959384836d392a2bc25e2f img_convert.small/113700.jpg +200a70c49b4521543eca913971056d46 img_convert.small/113701.jpg +1f70ff52a682766deaac5c435b4e0455 img_convert.small/113800.jpg +92d9b364bb0dd76623ca7cc486b09463 img_convert.small/113801.jpg +f4999c33b167ca6ec686e6f4148bff2f img_convert.small/113900.jpg +5a89c6517ae932a5c09d5faa7dca428d img_convert.small/113901.jpg +66daf2e82bfa266775ea090708291254 img_convert.small/114000.jpg +d587d3de4ccb8d57cfd8c4cbe6ea200b img_convert.small/114001.jpg +f1060a49d106f316d08d57c18633a85c img_convert.small/114002.jpg +7daa3df966bfd9e014e8a2a9d2a92fb3 img_convert.small/114100.jpg +2db836ed17da33b56048b088f273f1ff img_convert.small/114101.jpg +d549c5e43722177159fb045f2d98129f img_convert.small/114200.jpg +03410b5c03b99639e2a696285165009b img_convert.small/114201.jpg +664c067e4fcd09cc0b0dddd6ea10652f img_convert.small/114300.jpg +ad067d51727356df466eb2dd1b5d1ee6 img_convert.small/114301.jpg +5acba0057e2f6a3fc4b4cce1906183a4 img_convert.small/114400.jpg +5c2f089847f7258f399b52828c26986a img_convert.small/114401.jpg +ab284c6052d61754cbe1d5ee2134ffce img_convert.small/114402.jpg +b36646011b4aebdde797a034d472b191 img_convert.small/114500.jpg +40b371fb9a236af05e0a464a246bd5cb img_convert.small/114501.jpg +3e1095fb0614e512a8003729ef04ad15 img_convert.small/114502.jpg +bcac72fc85effb5718669c5f5b3b396a img_convert.small/114503.jpg +04625d79d05fbb21c91bab08d136ecda img_convert.small/114504.jpg +06900f1f5c12e99a001817c65a4816c1 img_convert.small/114600.jpg +c889cacbf5c2217fc18ee5fbf9cc6e1e img_convert.small/114601.jpg +c4d082bdaf5ea960a0ad6177269185f8 img_convert.small/114700.jpg +81e9563a93a9ff17296d5c9c78935fb4 img_convert.small/114701.jpg +e3d66d954043e92c3eb0753fab7f8aad img_convert.small/114702.jpg +2b8b2105335e8afae4da83084ff9d52e img_convert.small/114703.jpg +beabe35a2dd2f54b2690c7d25710ff59 img_convert.small/114800.jpg +63992eed773752c799eae4b7ac77be57 img_convert.small/114801.jpg +fc37282a7f55946b98f74463d5c7e6c1 img_convert.small/114900.jpg +4bdb25f06255011bee1f41e87c14c08b img_convert.small/114901.jpg +a452bc0170f2409261b0d7d34e12d5bb img_convert.small/114902.jpg +3231eb90ef330db9ec44e4f3adcf1848 img_convert.small/114903.jpg +43eda70489dd43c95766247567b3cc9d img_convert.small/115000.jpg +edaa29874c82061e1ef7fea462bfe2de img_convert.small/115001.jpg +c3098b2aaefc59ac245501ce1027dfc7 img_convert.small/115100.jpg +8d0b335ab4580424fe06c8a17fd11e9a img_convert.small/115101.jpg +e7fc82adea7fb4376d21d3ef7fd368c5 img_convert.small/115200.jpg +5b1c16a0b1d43bf255eda32a42270841 img_convert.small/115201.jpg +cb27a7d089353776472ad072225fabc4 img_convert.small/115300.jpg +28813711e60704793aeeaf95b19215a2 img_convert.small/115301.jpg +eb2bcb4f617b1bacd06bf6688f349d46 img_convert.small/115400.jpg +a1661a8d50e5a3d0ae01b1433f009763 img_convert.small/115401.jpg +03bdba500968e62138537ba84ab87a3d img_convert.small/115500.jpg +1f8a73bead3a2e764dd76ef31196fe83 img_convert.small/115501.jpg +8b9d9bc06b4cc99c30348e67641700a1 img_convert.small/115600.jpg +057e2165445e77a1e8117afd17629d39 img_convert.small/115601.jpg +9778a77f0f680156e5f76ea347822817 img_convert.small/115602.jpg +5be9b5f449ee8eac6e317680f9e00c9b img_convert.small/115700.jpg +96a5da3f3fc13cdaebe643d2b8000370 img_convert.small/115701.jpg +b77f02756659190c78ebc685aef445c2 img_convert.small/115702.jpg +c73a83ba2e5932d148e2087ed4805d39 img_convert.small/115800.jpg +cf627ad449e09d7d116e36c74beb6ac7 img_convert.small/115801.jpg +80f5eafab068a41b660d1bf7b71e8017 img_convert.small/115900.jpg +1afca12dcd71173405e6ccb6cee8b80e img_convert.small/115901.jpg +4e289a6babe28c69f2f50bd6db0d4875 img_convert.small/115902.jpg +5d998dcafc7fc23fed4d51cbdb8b963c img_convert.small/116000.jpg +5ba05a5d3c0336a7a15afaf1153e612e img_convert.small/116001.jpg +c9bbb9f0bb6109b7cc22d42532c10697 img_convert.small/116002.jpg +de425473f77076cd8aa76be88ab646dd img_convert.small/116100.jpg +35cad7f754467f59640242e934254361 img_convert.small/116101.jpg +b4d1cd406eb9ef35d6c895703748abef img_convert.small/116200.jpg +ebe8788978f4f88ce62340cb66bc9382 img_convert.small/116201.jpg +42290c68a2218cd398409ebbf8a23412 img_convert.small/116300.jpg +7d598f7a96f850491df3341ff2325d9a img_convert.small/116301.jpg +542f04d7e2993f6a19eb28ea9c94b301 img_convert.small/116400.jpg +98633f18f0be19a787c874e9f55b8549 img_convert.small/116401.jpg +9a00cf0e1766769771338f04adb90773 img_convert.small/116402.jpg +a2be4d2ac17c5753765f69b20f39f585 img_convert.small/116500.jpg +0867dbac2a31243eea09496aca627c1a img_convert.small/116501.jpg +3d04c06bb9369374860e1c2871bc2a38 img_convert.small/116600.jpg +495113d9f71e35eab31c84d877232853 img_convert.small/116601.jpg +f10d27ddc866ffd4e4be19870815eba4 img_convert.small/116700.jpg +4e13b84e5dc1a081caba4c947077a135 img_convert.small/116701.jpg +ec24137297f2fa068eaf2588694e4ad5 img_convert.small/116702.jpg +6c142c5d726227e67c906a7f2feeb3a0 img_convert.small/116703.jpg +dd414a828453029d11148f95c5f9c809 img_convert.small/116800.jpg +981006d89bcb4b25274548ea120acca8 img_convert.small/116801.jpg +bd8afaf04196aae931825cdafe8c622f img_convert.small/116802.jpg +2ee5549403493370cc5cde7358fa5564 img_convert.small/116803.jpg +6137f65c3ee74404c2b9c05763853a87 img_convert.small/116900.jpg +78dfda5323a0254b5eb97a5efecf4761 img_convert.small/116901.jpg +1943f8f7ccf44c66c0eb3a3e1631c005 img_convert.small/117000.jpg +7154a9e361d0bf04651e37030e6e6123 img_convert.small/117001.jpg +10a14df59bf7f3ac0fe3926e88a3c3ac img_convert.small/117100.jpg +989f1c37048f9c95c70b2d9576d5e0b4 img_convert.small/117101.jpg +45fabb37d073a74aa0036e15db2e56b9 img_convert.small/117102.jpg +65431f4b1d5e706604deb68dd6251ba0 img_convert.small/117200.jpg +24cd7de3a1d50a41d5bd1796591c1bae img_convert.small/117201.jpg +cf470c0106fd09340d29fd2a4de59cf2 img_convert.small/117300.jpg +ae23db1fe56e6cff5594cdaf24b28368 img_convert.small/117301.jpg +1891e719df22a685aea72887b98ccb85 img_convert.small/117302.jpg +fa172c940951529185db7f74f034ccf5 img_convert.small/117400.jpg +645f55b325ed185224641f365f428b4f img_convert.small/117401.jpg +3eb1dedf3cd876bd8727cdcdda192fff img_convert.small/117402.jpg +5a4dff37c717546fcfb010007fb8ae00 img_convert.small/117403.jpg +a6d3f9c2016291e98d0e1274b4774771 img_convert.small/117500.jpg +a2ab2d7ed906fcd2b4b8418aa63ec91f img_convert.small/117501.jpg +d26a7b385819686da01ebcd7dc45185d img_convert.small/117600.jpg +acfdc2a427c53d4e48a66881bd31093d img_convert.small/117601.jpg +4821d035dfb79917e6f717641e6728bb img_convert.small/117700.jpg +90b965f06640bba1d74f7f650382e985 img_convert.small/117701.jpg +d9fd25cb5690647ec75fc2c642d8b92f img_convert.small/117800.jpg +5bc23288de895d669a21d4b731eded00 img_convert.small/117801.jpg +91c49a3def6247c75c10c4a63e260e34 img_convert.small/117802.jpg +a3cabeee680685bead5f49bf060dad46 img_convert.small/117900.jpg +ab3a2d89462fdad9c9a8fd2311c0d170 img_convert.small/117901.jpg +237dc8146fb41421bfc0c79cecb33b2d img_convert.small/119000.jpg +6ce095424a7ad3e82580e49b759a1c6f img_convert.small/119001.jpg +a4eb0fd33b6c14b8169a0a8cd670f994 img_convert.small/119100.jpg +f140907ff73c5e27a99f3d05fe5d5d02 img_convert.small/119101.jpg +f372a900f82e65ef14d1ac06118d3ad4 img_convert.small/119200.jpg +9b430585b037f9f6cf0cbe03f7b3aeff img_convert.small/119201.jpg +c503e81810b7ed484ee1dde77def529a img_convert.small/119202.jpg +7152c025d9a650eb1c2e58ef794b5648 img_convert.small/119203.jpg +fc1a8a878600370bc6f5577b57625253 img_convert.small/119300.jpg +9e581260d50e4246e0a031036bc38a95 img_convert.small/119301.jpg +a9294b802013fc078071c223b7e0a656 img_convert.small/119400.jpg +8b88e0257b032a156b1348633a809cb5 img_convert.small/119401.jpg +489229da38195f6bbe01c5d9f8ce15dd img_convert.small/119500.jpg +e8adb8fd2393dadebf89ee6274410ad0 img_convert.small/119501.jpg +f690719153ad0fd5bd3ee03471a64c6c img_convert.small/119600.jpg +e9538a7a7536fd8f1d7030d71346a0e8 img_convert.small/119601.jpg +e386f2ba98f621aa3c112e4db0fdfb70 img_convert.small/119602.jpg +42ecb19ff3b8e3e4e8a02059c6b02a97 img_convert.small/119603.jpg +6c8644c51628dd779d4f2a8132bfd3a2 img_convert.small/119604.jpg +0738680cc0d61d76d43b2e7b3836c3dc img_convert.small/119605.jpg +4eb07b74ae4308c1a97f7e8149f3105a img_convert.small/119700.jpg +a1f1aa255ab8683a4da204a894241ff7 img_convert.small/119701.jpg +75e6834a6d16f905af135861212ff5f8 img_convert.small/119702.jpg +9d358415f8292a738b5bd7eefa9b40e9 img_convert.small/119703.jpg +3ee6c956c1dd0f378d437de0f48981e9 img_convert.small/119704.jpg +82daa3132660343494b379bb5904bcee img_convert.small/119800.jpg +768c14c7b5a5e963182edf4c1207b883 img_convert.small/119801.jpg +27fbaa936df0963fa68dc389387ea1bc img_convert.small/119900.jpg +d5dcee515408cff7b5ba646a1e487169 img_convert.small/119901.jpg diff --git a/infrastructure/systems/Shark/media-conv/hashes/to_mp3.full.md5sum b/infrastructure/systems/Shark/media-conv/hashes/to_mp3.full.md5sum new file mode 100644 index 00000000..fa89bbbd --- /dev/null +++ b/infrastructure/systems/Shark/media-conv/hashes/to_mp3.full.md5sum @@ -0,0 +1,480 @@ +MD5=b470a6a98960992d8692ed99ab8b4776 file_example_WAV_10MG.wav.mp3 +MD5=b470a6a98960992d8692ed99ab8b4776 file_example_WAV_10MG.wav.~100~.mp3 +MD5=b470a6a98960992d8692ed99ab8b4776 file_example_WAV_10MG.wav.~101~.mp3 +MD5=b470a6a98960992d8692ed99ab8b4776 file_example_WAV_10MG.wav.~102~.mp3 +MD5=b470a6a98960992d8692ed99ab8b4776 file_example_WAV_10MG.wav.~103~.mp3 +MD5=b470a6a98960992d8692ed99ab8b4776 file_example_WAV_10MG.wav.~104~.mp3 +MD5=b470a6a98960992d8692ed99ab8b4776 file_example_WAV_10MG.wav.~105~.mp3 +MD5=b470a6a98960992d8692ed99ab8b4776 file_example_WAV_10MG.wav.~106~.mp3 +MD5=b470a6a98960992d8692ed99ab8b4776 file_example_WAV_10MG.wav.~107~.mp3 +MD5=b470a6a98960992d8692ed99ab8b4776 file_example_WAV_10MG.wav.~108~.mp3 +MD5=b470a6a98960992d8692ed99ab8b4776 file_example_WAV_10MG.wav.~109~.mp3 +MD5=b470a6a98960992d8692ed99ab8b4776 file_example_WAV_10MG.wav.~10~.mp3 +MD5=b470a6a98960992d8692ed99ab8b4776 file_example_WAV_10MG.wav.~110~.mp3 +MD5=b470a6a98960992d8692ed99ab8b4776 file_example_WAV_10MG.wav.~111~.mp3 +MD5=b470a6a98960992d8692ed99ab8b4776 file_example_WAV_10MG.wav.~112~.mp3 +MD5=b470a6a98960992d8692ed99ab8b4776 file_example_WAV_10MG.wav.~113~.mp3 +MD5=b470a6a98960992d8692ed99ab8b4776 file_example_WAV_10MG.wav.~114~.mp3 +MD5=b470a6a98960992d8692ed99ab8b4776 file_example_WAV_10MG.wav.~115~.mp3 +MD5=b470a6a98960992d8692ed99ab8b4776 file_example_WAV_10MG.wav.~116~.mp3 +MD5=b470a6a98960992d8692ed99ab8b4776 file_example_WAV_10MG.wav.~117~.mp3 +MD5=b470a6a98960992d8692ed99ab8b4776 file_example_WAV_10MG.wav.~118~.mp3 +MD5=b470a6a98960992d8692ed99ab8b4776 file_example_WAV_10MG.wav.~119~.mp3 +MD5=b470a6a98960992d8692ed99ab8b4776 file_example_WAV_10MG.wav.~11~.mp3 +MD5=b470a6a98960992d8692ed99ab8b4776 file_example_WAV_10MG.wav.~12~.mp3 +MD5=b470a6a98960992d8692ed99ab8b4776 file_example_WAV_10MG.wav.~13~.mp3 +MD5=b470a6a98960992d8692ed99ab8b4776 file_example_WAV_10MG.wav.~14~.mp3 +MD5=b470a6a98960992d8692ed99ab8b4776 file_example_WAV_10MG.wav.~15~.mp3 +MD5=b470a6a98960992d8692ed99ab8b4776 file_example_WAV_10MG.wav.~16~.mp3 +MD5=b470a6a98960992d8692ed99ab8b4776 file_example_WAV_10MG.wav.~17~.mp3 +MD5=b470a6a98960992d8692ed99ab8b4776 file_example_WAV_10MG.wav.~18~.mp3 +MD5=b470a6a98960992d8692ed99ab8b4776 file_example_WAV_10MG.wav.~19~.mp3 +MD5=b470a6a98960992d8692ed99ab8b4776 file_example_WAV_10MG.wav.~1~.mp3 +MD5=b470a6a98960992d8692ed99ab8b4776 file_example_WAV_10MG.wav.~20~.mp3 +MD5=b470a6a98960992d8692ed99ab8b4776 file_example_WAV_10MG.wav.~21~.mp3 +MD5=b470a6a98960992d8692ed99ab8b4776 file_example_WAV_10MG.wav.~22~.mp3 +MD5=b470a6a98960992d8692ed99ab8b4776 file_example_WAV_10MG.wav.~23~.mp3 +MD5=b470a6a98960992d8692ed99ab8b4776 file_example_WAV_10MG.wav.~24~.mp3 +MD5=b470a6a98960992d8692ed99ab8b4776 file_example_WAV_10MG.wav.~25~.mp3 +MD5=b470a6a98960992d8692ed99ab8b4776 file_example_WAV_10MG.wav.~26~.mp3 +MD5=b470a6a98960992d8692ed99ab8b4776 file_example_WAV_10MG.wav.~27~.mp3 +MD5=b470a6a98960992d8692ed99ab8b4776 file_example_WAV_10MG.wav.~28~.mp3 +MD5=b470a6a98960992d8692ed99ab8b4776 file_example_WAV_10MG.wav.~29~.mp3 +MD5=b470a6a98960992d8692ed99ab8b4776 file_example_WAV_10MG.wav.~2~.mp3 +MD5=b470a6a98960992d8692ed99ab8b4776 file_example_WAV_10MG.wav.~30~.mp3 +MD5=b470a6a98960992d8692ed99ab8b4776 file_example_WAV_10MG.wav.~31~.mp3 +MD5=b470a6a98960992d8692ed99ab8b4776 file_example_WAV_10MG.wav.~32~.mp3 +MD5=b470a6a98960992d8692ed99ab8b4776 file_example_WAV_10MG.wav.~33~.mp3 +MD5=b470a6a98960992d8692ed99ab8b4776 file_example_WAV_10MG.wav.~34~.mp3 +MD5=b470a6a98960992d8692ed99ab8b4776 file_example_WAV_10MG.wav.~35~.mp3 +MD5=b470a6a98960992d8692ed99ab8b4776 file_example_WAV_10MG.wav.~36~.mp3 +MD5=b470a6a98960992d8692ed99ab8b4776 file_example_WAV_10MG.wav.~37~.mp3 +MD5=b470a6a98960992d8692ed99ab8b4776 file_example_WAV_10MG.wav.~38~.mp3 +MD5=b470a6a98960992d8692ed99ab8b4776 file_example_WAV_10MG.wav.~39~.mp3 +MD5=b470a6a98960992d8692ed99ab8b4776 file_example_WAV_10MG.wav.~3~.mp3 +MD5=b470a6a98960992d8692ed99ab8b4776 file_example_WAV_10MG.wav.~40~.mp3 +MD5=b470a6a98960992d8692ed99ab8b4776 file_example_WAV_10MG.wav.~41~.mp3 +MD5=b470a6a98960992d8692ed99ab8b4776 file_example_WAV_10MG.wav.~42~.mp3 +MD5=b470a6a98960992d8692ed99ab8b4776 file_example_WAV_10MG.wav.~43~.mp3 +MD5=b470a6a98960992d8692ed99ab8b4776 file_example_WAV_10MG.wav.~44~.mp3 +MD5=b470a6a98960992d8692ed99ab8b4776 file_example_WAV_10MG.wav.~45~.mp3 +MD5=b470a6a98960992d8692ed99ab8b4776 file_example_WAV_10MG.wav.~46~.mp3 +MD5=b470a6a98960992d8692ed99ab8b4776 file_example_WAV_10MG.wav.~47~.mp3 +MD5=b470a6a98960992d8692ed99ab8b4776 file_example_WAV_10MG.wav.~48~.mp3 +MD5=b470a6a98960992d8692ed99ab8b4776 file_example_WAV_10MG.wav.~49~.mp3 +MD5=b470a6a98960992d8692ed99ab8b4776 file_example_WAV_10MG.wav.~4~.mp3 +MD5=b470a6a98960992d8692ed99ab8b4776 file_example_WAV_10MG.wav.~50~.mp3 +MD5=b470a6a98960992d8692ed99ab8b4776 file_example_WAV_10MG.wav.~51~.mp3 +MD5=b470a6a98960992d8692ed99ab8b4776 file_example_WAV_10MG.wav.~52~.mp3 +MD5=b470a6a98960992d8692ed99ab8b4776 file_example_WAV_10MG.wav.~53~.mp3 +MD5=b470a6a98960992d8692ed99ab8b4776 file_example_WAV_10MG.wav.~54~.mp3 +MD5=b470a6a98960992d8692ed99ab8b4776 file_example_WAV_10MG.wav.~55~.mp3 +MD5=b470a6a98960992d8692ed99ab8b4776 file_example_WAV_10MG.wav.~56~.mp3 +MD5=b470a6a98960992d8692ed99ab8b4776 file_example_WAV_10MG.wav.~57~.mp3 +MD5=b470a6a98960992d8692ed99ab8b4776 file_example_WAV_10MG.wav.~58~.mp3 +MD5=b470a6a98960992d8692ed99ab8b4776 file_example_WAV_10MG.wav.~59~.mp3 +MD5=b470a6a98960992d8692ed99ab8b4776 file_example_WAV_10MG.wav.~5~.mp3 +MD5=b470a6a98960992d8692ed99ab8b4776 file_example_WAV_10MG.wav.~60~.mp3 +MD5=b470a6a98960992d8692ed99ab8b4776 file_example_WAV_10MG.wav.~61~.mp3 +MD5=b470a6a98960992d8692ed99ab8b4776 file_example_WAV_10MG.wav.~62~.mp3 +MD5=b470a6a98960992d8692ed99ab8b4776 file_example_WAV_10MG.wav.~63~.mp3 +MD5=b470a6a98960992d8692ed99ab8b4776 file_example_WAV_10MG.wav.~64~.mp3 +MD5=b470a6a98960992d8692ed99ab8b4776 file_example_WAV_10MG.wav.~65~.mp3 +MD5=b470a6a98960992d8692ed99ab8b4776 file_example_WAV_10MG.wav.~66~.mp3 +MD5=b470a6a98960992d8692ed99ab8b4776 file_example_WAV_10MG.wav.~67~.mp3 +MD5=b470a6a98960992d8692ed99ab8b4776 file_example_WAV_10MG.wav.~68~.mp3 +MD5=b470a6a98960992d8692ed99ab8b4776 file_example_WAV_10MG.wav.~69~.mp3 +MD5=b470a6a98960992d8692ed99ab8b4776 file_example_WAV_10MG.wav.~6~.mp3 +MD5=b470a6a98960992d8692ed99ab8b4776 file_example_WAV_10MG.wav.~70~.mp3 +MD5=b470a6a98960992d8692ed99ab8b4776 file_example_WAV_10MG.wav.~71~.mp3 +MD5=b470a6a98960992d8692ed99ab8b4776 file_example_WAV_10MG.wav.~72~.mp3 +MD5=b470a6a98960992d8692ed99ab8b4776 file_example_WAV_10MG.wav.~73~.mp3 +MD5=b470a6a98960992d8692ed99ab8b4776 file_example_WAV_10MG.wav.~74~.mp3 +MD5=b470a6a98960992d8692ed99ab8b4776 file_example_WAV_10MG.wav.~75~.mp3 +MD5=b470a6a98960992d8692ed99ab8b4776 file_example_WAV_10MG.wav.~76~.mp3 +MD5=b470a6a98960992d8692ed99ab8b4776 file_example_WAV_10MG.wav.~77~.mp3 +MD5=b470a6a98960992d8692ed99ab8b4776 file_example_WAV_10MG.wav.~78~.mp3 +MD5=b470a6a98960992d8692ed99ab8b4776 file_example_WAV_10MG.wav.~79~.mp3 +MD5=b470a6a98960992d8692ed99ab8b4776 file_example_WAV_10MG.wav.~7~.mp3 +MD5=b470a6a98960992d8692ed99ab8b4776 file_example_WAV_10MG.wav.~80~.mp3 +MD5=b470a6a98960992d8692ed99ab8b4776 file_example_WAV_10MG.wav.~81~.mp3 +MD5=b470a6a98960992d8692ed99ab8b4776 file_example_WAV_10MG.wav.~82~.mp3 +MD5=b470a6a98960992d8692ed99ab8b4776 file_example_WAV_10MG.wav.~83~.mp3 +MD5=b470a6a98960992d8692ed99ab8b4776 file_example_WAV_10MG.wav.~84~.mp3 +MD5=b470a6a98960992d8692ed99ab8b4776 file_example_WAV_10MG.wav.~85~.mp3 +MD5=b470a6a98960992d8692ed99ab8b4776 file_example_WAV_10MG.wav.~86~.mp3 +MD5=b470a6a98960992d8692ed99ab8b4776 file_example_WAV_10MG.wav.~87~.mp3 +MD5=b470a6a98960992d8692ed99ab8b4776 file_example_WAV_10MG.wav.~88~.mp3 +MD5=b470a6a98960992d8692ed99ab8b4776 file_example_WAV_10MG.wav.~89~.mp3 +MD5=b470a6a98960992d8692ed99ab8b4776 file_example_WAV_10MG.wav.~8~.mp3 +MD5=b470a6a98960992d8692ed99ab8b4776 file_example_WAV_10MG.wav.~90~.mp3 +MD5=b470a6a98960992d8692ed99ab8b4776 file_example_WAV_10MG.wav.~91~.mp3 +MD5=b470a6a98960992d8692ed99ab8b4776 file_example_WAV_10MG.wav.~92~.mp3 +MD5=b470a6a98960992d8692ed99ab8b4776 file_example_WAV_10MG.wav.~93~.mp3 +MD5=b470a6a98960992d8692ed99ab8b4776 file_example_WAV_10MG.wav.~94~.mp3 +MD5=b470a6a98960992d8692ed99ab8b4776 file_example_WAV_10MG.wav.~95~.mp3 +MD5=b470a6a98960992d8692ed99ab8b4776 file_example_WAV_10MG.wav.~96~.mp3 +MD5=b470a6a98960992d8692ed99ab8b4776 file_example_WAV_10MG.wav.~97~.mp3 +MD5=b470a6a98960992d8692ed99ab8b4776 file_example_WAV_10MG.wav.~98~.mp3 +MD5=b470a6a98960992d8692ed99ab8b4776 file_example_WAV_10MG.wav.~99~.mp3 +MD5=b470a6a98960992d8692ed99ab8b4776 file_example_WAV_10MG.wav.~9~.mp3 +MD5=8c3f31193248ae4bc9f2293cd3b44941 file_example_WAV_1MG.wav.mp3 +MD5=8c3f31193248ae4bc9f2293cd3b44941 file_example_WAV_1MG.wav.~100~.mp3 +MD5=8c3f31193248ae4bc9f2293cd3b44941 file_example_WAV_1MG.wav.~101~.mp3 +MD5=8c3f31193248ae4bc9f2293cd3b44941 file_example_WAV_1MG.wav.~102~.mp3 +MD5=8c3f31193248ae4bc9f2293cd3b44941 file_example_WAV_1MG.wav.~103~.mp3 +MD5=8c3f31193248ae4bc9f2293cd3b44941 file_example_WAV_1MG.wav.~104~.mp3 +MD5=8c3f31193248ae4bc9f2293cd3b44941 file_example_WAV_1MG.wav.~105~.mp3 +MD5=8c3f31193248ae4bc9f2293cd3b44941 file_example_WAV_1MG.wav.~106~.mp3 +MD5=8c3f31193248ae4bc9f2293cd3b44941 file_example_WAV_1MG.wav.~107~.mp3 +MD5=8c3f31193248ae4bc9f2293cd3b44941 file_example_WAV_1MG.wav.~108~.mp3 +MD5=8c3f31193248ae4bc9f2293cd3b44941 file_example_WAV_1MG.wav.~109~.mp3 +MD5=8c3f31193248ae4bc9f2293cd3b44941 file_example_WAV_1MG.wav.~10~.mp3 +MD5=8c3f31193248ae4bc9f2293cd3b44941 file_example_WAV_1MG.wav.~110~.mp3 +MD5=8c3f31193248ae4bc9f2293cd3b44941 file_example_WAV_1MG.wav.~111~.mp3 +MD5=8c3f31193248ae4bc9f2293cd3b44941 file_example_WAV_1MG.wav.~112~.mp3 +MD5=8c3f31193248ae4bc9f2293cd3b44941 file_example_WAV_1MG.wav.~113~.mp3 +MD5=8c3f31193248ae4bc9f2293cd3b44941 file_example_WAV_1MG.wav.~114~.mp3 +MD5=8c3f31193248ae4bc9f2293cd3b44941 file_example_WAV_1MG.wav.~115~.mp3 +MD5=8c3f31193248ae4bc9f2293cd3b44941 file_example_WAV_1MG.wav.~116~.mp3 +MD5=8c3f31193248ae4bc9f2293cd3b44941 file_example_WAV_1MG.wav.~117~.mp3 +MD5=8c3f31193248ae4bc9f2293cd3b44941 file_example_WAV_1MG.wav.~118~.mp3 +MD5=8c3f31193248ae4bc9f2293cd3b44941 file_example_WAV_1MG.wav.~119~.mp3 +MD5=8c3f31193248ae4bc9f2293cd3b44941 file_example_WAV_1MG.wav.~11~.mp3 +MD5=8c3f31193248ae4bc9f2293cd3b44941 file_example_WAV_1MG.wav.~12~.mp3 +MD5=8c3f31193248ae4bc9f2293cd3b44941 file_example_WAV_1MG.wav.~13~.mp3 +MD5=8c3f31193248ae4bc9f2293cd3b44941 file_example_WAV_1MG.wav.~14~.mp3 +MD5=8c3f31193248ae4bc9f2293cd3b44941 file_example_WAV_1MG.wav.~15~.mp3 +MD5=8c3f31193248ae4bc9f2293cd3b44941 file_example_WAV_1MG.wav.~16~.mp3 +MD5=8c3f31193248ae4bc9f2293cd3b44941 file_example_WAV_1MG.wav.~17~.mp3 +MD5=8c3f31193248ae4bc9f2293cd3b44941 file_example_WAV_1MG.wav.~18~.mp3 +MD5=8c3f31193248ae4bc9f2293cd3b44941 file_example_WAV_1MG.wav.~19~.mp3 +MD5=8c3f31193248ae4bc9f2293cd3b44941 file_example_WAV_1MG.wav.~1~.mp3 +MD5=8c3f31193248ae4bc9f2293cd3b44941 file_example_WAV_1MG.wav.~20~.mp3 +MD5=8c3f31193248ae4bc9f2293cd3b44941 file_example_WAV_1MG.wav.~21~.mp3 +MD5=8c3f31193248ae4bc9f2293cd3b44941 file_example_WAV_1MG.wav.~22~.mp3 +MD5=8c3f31193248ae4bc9f2293cd3b44941 file_example_WAV_1MG.wav.~23~.mp3 +MD5=8c3f31193248ae4bc9f2293cd3b44941 file_example_WAV_1MG.wav.~24~.mp3 +MD5=8c3f31193248ae4bc9f2293cd3b44941 file_example_WAV_1MG.wav.~25~.mp3 +MD5=8c3f31193248ae4bc9f2293cd3b44941 file_example_WAV_1MG.wav.~26~.mp3 +MD5=8c3f31193248ae4bc9f2293cd3b44941 file_example_WAV_1MG.wav.~27~.mp3 +MD5=8c3f31193248ae4bc9f2293cd3b44941 file_example_WAV_1MG.wav.~28~.mp3 +MD5=8c3f31193248ae4bc9f2293cd3b44941 file_example_WAV_1MG.wav.~29~.mp3 +MD5=8c3f31193248ae4bc9f2293cd3b44941 file_example_WAV_1MG.wav.~2~.mp3 +MD5=8c3f31193248ae4bc9f2293cd3b44941 file_example_WAV_1MG.wav.~30~.mp3 +MD5=8c3f31193248ae4bc9f2293cd3b44941 file_example_WAV_1MG.wav.~31~.mp3 +MD5=8c3f31193248ae4bc9f2293cd3b44941 file_example_WAV_1MG.wav.~32~.mp3 +MD5=8c3f31193248ae4bc9f2293cd3b44941 file_example_WAV_1MG.wav.~33~.mp3 +MD5=8c3f31193248ae4bc9f2293cd3b44941 file_example_WAV_1MG.wav.~34~.mp3 +MD5=8c3f31193248ae4bc9f2293cd3b44941 file_example_WAV_1MG.wav.~35~.mp3 +MD5=8c3f31193248ae4bc9f2293cd3b44941 file_example_WAV_1MG.wav.~36~.mp3 +MD5=8c3f31193248ae4bc9f2293cd3b44941 file_example_WAV_1MG.wav.~37~.mp3 +MD5=8c3f31193248ae4bc9f2293cd3b44941 file_example_WAV_1MG.wav.~38~.mp3 +MD5=8c3f31193248ae4bc9f2293cd3b44941 file_example_WAV_1MG.wav.~39~.mp3 +MD5=8c3f31193248ae4bc9f2293cd3b44941 file_example_WAV_1MG.wav.~3~.mp3 +MD5=8c3f31193248ae4bc9f2293cd3b44941 file_example_WAV_1MG.wav.~40~.mp3 +MD5=8c3f31193248ae4bc9f2293cd3b44941 file_example_WAV_1MG.wav.~41~.mp3 +MD5=8c3f31193248ae4bc9f2293cd3b44941 file_example_WAV_1MG.wav.~42~.mp3 +MD5=8c3f31193248ae4bc9f2293cd3b44941 file_example_WAV_1MG.wav.~43~.mp3 +MD5=8c3f31193248ae4bc9f2293cd3b44941 file_example_WAV_1MG.wav.~44~.mp3 +MD5=8c3f31193248ae4bc9f2293cd3b44941 file_example_WAV_1MG.wav.~45~.mp3 +MD5=8c3f31193248ae4bc9f2293cd3b44941 file_example_WAV_1MG.wav.~46~.mp3 +MD5=8c3f31193248ae4bc9f2293cd3b44941 file_example_WAV_1MG.wav.~47~.mp3 +MD5=8c3f31193248ae4bc9f2293cd3b44941 file_example_WAV_1MG.wav.~48~.mp3 +MD5=8c3f31193248ae4bc9f2293cd3b44941 file_example_WAV_1MG.wav.~49~.mp3 +MD5=8c3f31193248ae4bc9f2293cd3b44941 file_example_WAV_1MG.wav.~4~.mp3 +MD5=8c3f31193248ae4bc9f2293cd3b44941 file_example_WAV_1MG.wav.~50~.mp3 +MD5=8c3f31193248ae4bc9f2293cd3b44941 file_example_WAV_1MG.wav.~51~.mp3 +MD5=8c3f31193248ae4bc9f2293cd3b44941 file_example_WAV_1MG.wav.~52~.mp3 +MD5=8c3f31193248ae4bc9f2293cd3b44941 file_example_WAV_1MG.wav.~53~.mp3 +MD5=8c3f31193248ae4bc9f2293cd3b44941 file_example_WAV_1MG.wav.~54~.mp3 +MD5=8c3f31193248ae4bc9f2293cd3b44941 file_example_WAV_1MG.wav.~55~.mp3 +MD5=8c3f31193248ae4bc9f2293cd3b44941 file_example_WAV_1MG.wav.~56~.mp3 +MD5=8c3f31193248ae4bc9f2293cd3b44941 file_example_WAV_1MG.wav.~57~.mp3 +MD5=8c3f31193248ae4bc9f2293cd3b44941 file_example_WAV_1MG.wav.~58~.mp3 +MD5=8c3f31193248ae4bc9f2293cd3b44941 file_example_WAV_1MG.wav.~59~.mp3 +MD5=8c3f31193248ae4bc9f2293cd3b44941 file_example_WAV_1MG.wav.~5~.mp3 +MD5=8c3f31193248ae4bc9f2293cd3b44941 file_example_WAV_1MG.wav.~60~.mp3 +MD5=8c3f31193248ae4bc9f2293cd3b44941 file_example_WAV_1MG.wav.~61~.mp3 +MD5=8c3f31193248ae4bc9f2293cd3b44941 file_example_WAV_1MG.wav.~62~.mp3 +MD5=8c3f31193248ae4bc9f2293cd3b44941 file_example_WAV_1MG.wav.~63~.mp3 +MD5=8c3f31193248ae4bc9f2293cd3b44941 file_example_WAV_1MG.wav.~64~.mp3 +MD5=8c3f31193248ae4bc9f2293cd3b44941 file_example_WAV_1MG.wav.~65~.mp3 +MD5=8c3f31193248ae4bc9f2293cd3b44941 file_example_WAV_1MG.wav.~66~.mp3 +MD5=8c3f31193248ae4bc9f2293cd3b44941 file_example_WAV_1MG.wav.~67~.mp3 +MD5=8c3f31193248ae4bc9f2293cd3b44941 file_example_WAV_1MG.wav.~68~.mp3 +MD5=8c3f31193248ae4bc9f2293cd3b44941 file_example_WAV_1MG.wav.~69~.mp3 +MD5=8c3f31193248ae4bc9f2293cd3b44941 file_example_WAV_1MG.wav.~6~.mp3 +MD5=8c3f31193248ae4bc9f2293cd3b44941 file_example_WAV_1MG.wav.~70~.mp3 +MD5=8c3f31193248ae4bc9f2293cd3b44941 file_example_WAV_1MG.wav.~71~.mp3 +MD5=8c3f31193248ae4bc9f2293cd3b44941 file_example_WAV_1MG.wav.~72~.mp3 +MD5=8c3f31193248ae4bc9f2293cd3b44941 file_example_WAV_1MG.wav.~73~.mp3 +MD5=8c3f31193248ae4bc9f2293cd3b44941 file_example_WAV_1MG.wav.~74~.mp3 +MD5=8c3f31193248ae4bc9f2293cd3b44941 file_example_WAV_1MG.wav.~75~.mp3 +MD5=8c3f31193248ae4bc9f2293cd3b44941 file_example_WAV_1MG.wav.~76~.mp3 +MD5=8c3f31193248ae4bc9f2293cd3b44941 file_example_WAV_1MG.wav.~77~.mp3 +MD5=8c3f31193248ae4bc9f2293cd3b44941 file_example_WAV_1MG.wav.~78~.mp3 +MD5=8c3f31193248ae4bc9f2293cd3b44941 file_example_WAV_1MG.wav.~79~.mp3 +MD5=8c3f31193248ae4bc9f2293cd3b44941 file_example_WAV_1MG.wav.~7~.mp3 +MD5=8c3f31193248ae4bc9f2293cd3b44941 file_example_WAV_1MG.wav.~80~.mp3 +MD5=8c3f31193248ae4bc9f2293cd3b44941 file_example_WAV_1MG.wav.~81~.mp3 +MD5=8c3f31193248ae4bc9f2293cd3b44941 file_example_WAV_1MG.wav.~82~.mp3 +MD5=8c3f31193248ae4bc9f2293cd3b44941 file_example_WAV_1MG.wav.~83~.mp3 +MD5=8c3f31193248ae4bc9f2293cd3b44941 file_example_WAV_1MG.wav.~84~.mp3 +MD5=8c3f31193248ae4bc9f2293cd3b44941 file_example_WAV_1MG.wav.~85~.mp3 +MD5=8c3f31193248ae4bc9f2293cd3b44941 file_example_WAV_1MG.wav.~86~.mp3 +MD5=8c3f31193248ae4bc9f2293cd3b44941 file_example_WAV_1MG.wav.~87~.mp3 +MD5=8c3f31193248ae4bc9f2293cd3b44941 file_example_WAV_1MG.wav.~88~.mp3 +MD5=8c3f31193248ae4bc9f2293cd3b44941 file_example_WAV_1MG.wav.~89~.mp3 +MD5=8c3f31193248ae4bc9f2293cd3b44941 file_example_WAV_1MG.wav.~8~.mp3 +MD5=8c3f31193248ae4bc9f2293cd3b44941 file_example_WAV_1MG.wav.~90~.mp3 +MD5=8c3f31193248ae4bc9f2293cd3b44941 file_example_WAV_1MG.wav.~91~.mp3 +MD5=8c3f31193248ae4bc9f2293cd3b44941 file_example_WAV_1MG.wav.~92~.mp3 +MD5=8c3f31193248ae4bc9f2293cd3b44941 file_example_WAV_1MG.wav.~93~.mp3 +MD5=8c3f31193248ae4bc9f2293cd3b44941 file_example_WAV_1MG.wav.~94~.mp3 +MD5=8c3f31193248ae4bc9f2293cd3b44941 file_example_WAV_1MG.wav.~95~.mp3 +MD5=8c3f31193248ae4bc9f2293cd3b44941 file_example_WAV_1MG.wav.~96~.mp3 +MD5=8c3f31193248ae4bc9f2293cd3b44941 file_example_WAV_1MG.wav.~97~.mp3 +MD5=8c3f31193248ae4bc9f2293cd3b44941 file_example_WAV_1MG.wav.~98~.mp3 +MD5=8c3f31193248ae4bc9f2293cd3b44941 file_example_WAV_1MG.wav.~99~.mp3 +MD5=8c3f31193248ae4bc9f2293cd3b44941 file_example_WAV_1MG.wav.~9~.mp3 +MD5=9596f965d8f651ae11d37379078e92a5 file_example_WAV_2MG.wav.mp3 +MD5=9596f965d8f651ae11d37379078e92a5 file_example_WAV_2MG.wav.~100~.mp3 +MD5=9596f965d8f651ae11d37379078e92a5 file_example_WAV_2MG.wav.~101~.mp3 +MD5=9596f965d8f651ae11d37379078e92a5 file_example_WAV_2MG.wav.~102~.mp3 +MD5=9596f965d8f651ae11d37379078e92a5 file_example_WAV_2MG.wav.~103~.mp3 +MD5=9596f965d8f651ae11d37379078e92a5 file_example_WAV_2MG.wav.~104~.mp3 +MD5=9596f965d8f651ae11d37379078e92a5 file_example_WAV_2MG.wav.~105~.mp3 +MD5=9596f965d8f651ae11d37379078e92a5 file_example_WAV_2MG.wav.~106~.mp3 +MD5=9596f965d8f651ae11d37379078e92a5 file_example_WAV_2MG.wav.~107~.mp3 +MD5=9596f965d8f651ae11d37379078e92a5 file_example_WAV_2MG.wav.~108~.mp3 +MD5=9596f965d8f651ae11d37379078e92a5 file_example_WAV_2MG.wav.~109~.mp3 +MD5=9596f965d8f651ae11d37379078e92a5 file_example_WAV_2MG.wav.~10~.mp3 +MD5=9596f965d8f651ae11d37379078e92a5 file_example_WAV_2MG.wav.~110~.mp3 +MD5=9596f965d8f651ae11d37379078e92a5 file_example_WAV_2MG.wav.~111~.mp3 +MD5=9596f965d8f651ae11d37379078e92a5 file_example_WAV_2MG.wav.~112~.mp3 +MD5=9596f965d8f651ae11d37379078e92a5 file_example_WAV_2MG.wav.~113~.mp3 +MD5=9596f965d8f651ae11d37379078e92a5 file_example_WAV_2MG.wav.~114~.mp3 +MD5=9596f965d8f651ae11d37379078e92a5 file_example_WAV_2MG.wav.~115~.mp3 +MD5=9596f965d8f651ae11d37379078e92a5 file_example_WAV_2MG.wav.~116~.mp3 +MD5=9596f965d8f651ae11d37379078e92a5 file_example_WAV_2MG.wav.~117~.mp3 +MD5=9596f965d8f651ae11d37379078e92a5 file_example_WAV_2MG.wav.~118~.mp3 +MD5=9596f965d8f651ae11d37379078e92a5 file_example_WAV_2MG.wav.~119~.mp3 +MD5=9596f965d8f651ae11d37379078e92a5 file_example_WAV_2MG.wav.~11~.mp3 +MD5=9596f965d8f651ae11d37379078e92a5 file_example_WAV_2MG.wav.~12~.mp3 +MD5=9596f965d8f651ae11d37379078e92a5 file_example_WAV_2MG.wav.~13~.mp3 +MD5=9596f965d8f651ae11d37379078e92a5 file_example_WAV_2MG.wav.~14~.mp3 +MD5=9596f965d8f651ae11d37379078e92a5 file_example_WAV_2MG.wav.~15~.mp3 +MD5=9596f965d8f651ae11d37379078e92a5 file_example_WAV_2MG.wav.~16~.mp3 +MD5=9596f965d8f651ae11d37379078e92a5 file_example_WAV_2MG.wav.~17~.mp3 +MD5=9596f965d8f651ae11d37379078e92a5 file_example_WAV_2MG.wav.~18~.mp3 +MD5=9596f965d8f651ae11d37379078e92a5 file_example_WAV_2MG.wav.~19~.mp3 +MD5=9596f965d8f651ae11d37379078e92a5 file_example_WAV_2MG.wav.~1~.mp3 +MD5=9596f965d8f651ae11d37379078e92a5 file_example_WAV_2MG.wav.~20~.mp3 +MD5=9596f965d8f651ae11d37379078e92a5 file_example_WAV_2MG.wav.~21~.mp3 +MD5=9596f965d8f651ae11d37379078e92a5 file_example_WAV_2MG.wav.~22~.mp3 +MD5=9596f965d8f651ae11d37379078e92a5 file_example_WAV_2MG.wav.~23~.mp3 +MD5=9596f965d8f651ae11d37379078e92a5 file_example_WAV_2MG.wav.~24~.mp3 +MD5=9596f965d8f651ae11d37379078e92a5 file_example_WAV_2MG.wav.~25~.mp3 +MD5=9596f965d8f651ae11d37379078e92a5 file_example_WAV_2MG.wav.~26~.mp3 +MD5=9596f965d8f651ae11d37379078e92a5 file_example_WAV_2MG.wav.~27~.mp3 +MD5=9596f965d8f651ae11d37379078e92a5 file_example_WAV_2MG.wav.~28~.mp3 +MD5=9596f965d8f651ae11d37379078e92a5 file_example_WAV_2MG.wav.~29~.mp3 +MD5=9596f965d8f651ae11d37379078e92a5 file_example_WAV_2MG.wav.~2~.mp3 +MD5=9596f965d8f651ae11d37379078e92a5 file_example_WAV_2MG.wav.~30~.mp3 +MD5=9596f965d8f651ae11d37379078e92a5 file_example_WAV_2MG.wav.~31~.mp3 +MD5=9596f965d8f651ae11d37379078e92a5 file_example_WAV_2MG.wav.~32~.mp3 +MD5=9596f965d8f651ae11d37379078e92a5 file_example_WAV_2MG.wav.~33~.mp3 +MD5=9596f965d8f651ae11d37379078e92a5 file_example_WAV_2MG.wav.~34~.mp3 +MD5=9596f965d8f651ae11d37379078e92a5 file_example_WAV_2MG.wav.~35~.mp3 +MD5=9596f965d8f651ae11d37379078e92a5 file_example_WAV_2MG.wav.~36~.mp3 +MD5=9596f965d8f651ae11d37379078e92a5 file_example_WAV_2MG.wav.~37~.mp3 +MD5=9596f965d8f651ae11d37379078e92a5 file_example_WAV_2MG.wav.~38~.mp3 +MD5=9596f965d8f651ae11d37379078e92a5 file_example_WAV_2MG.wav.~39~.mp3 +MD5=9596f965d8f651ae11d37379078e92a5 file_example_WAV_2MG.wav.~3~.mp3 +MD5=9596f965d8f651ae11d37379078e92a5 file_example_WAV_2MG.wav.~40~.mp3 +MD5=9596f965d8f651ae11d37379078e92a5 file_example_WAV_2MG.wav.~41~.mp3 +MD5=9596f965d8f651ae11d37379078e92a5 file_example_WAV_2MG.wav.~42~.mp3 +MD5=9596f965d8f651ae11d37379078e92a5 file_example_WAV_2MG.wav.~43~.mp3 +MD5=9596f965d8f651ae11d37379078e92a5 file_example_WAV_2MG.wav.~44~.mp3 +MD5=9596f965d8f651ae11d37379078e92a5 file_example_WAV_2MG.wav.~45~.mp3 +MD5=9596f965d8f651ae11d37379078e92a5 file_example_WAV_2MG.wav.~46~.mp3 +MD5=9596f965d8f651ae11d37379078e92a5 file_example_WAV_2MG.wav.~47~.mp3 +MD5=9596f965d8f651ae11d37379078e92a5 file_example_WAV_2MG.wav.~48~.mp3 +MD5=9596f965d8f651ae11d37379078e92a5 file_example_WAV_2MG.wav.~49~.mp3 +MD5=9596f965d8f651ae11d37379078e92a5 file_example_WAV_2MG.wav.~4~.mp3 +MD5=9596f965d8f651ae11d37379078e92a5 file_example_WAV_2MG.wav.~50~.mp3 +MD5=9596f965d8f651ae11d37379078e92a5 file_example_WAV_2MG.wav.~51~.mp3 +MD5=9596f965d8f651ae11d37379078e92a5 file_example_WAV_2MG.wav.~52~.mp3 +MD5=9596f965d8f651ae11d37379078e92a5 file_example_WAV_2MG.wav.~53~.mp3 +MD5=9596f965d8f651ae11d37379078e92a5 file_example_WAV_2MG.wav.~54~.mp3 +MD5=9596f965d8f651ae11d37379078e92a5 file_example_WAV_2MG.wav.~55~.mp3 +MD5=9596f965d8f651ae11d37379078e92a5 file_example_WAV_2MG.wav.~56~.mp3 +MD5=9596f965d8f651ae11d37379078e92a5 file_example_WAV_2MG.wav.~57~.mp3 +MD5=9596f965d8f651ae11d37379078e92a5 file_example_WAV_2MG.wav.~58~.mp3 +MD5=9596f965d8f651ae11d37379078e92a5 file_example_WAV_2MG.wav.~59~.mp3 +MD5=9596f965d8f651ae11d37379078e92a5 file_example_WAV_2MG.wav.~5~.mp3 +MD5=9596f965d8f651ae11d37379078e92a5 file_example_WAV_2MG.wav.~60~.mp3 +MD5=9596f965d8f651ae11d37379078e92a5 file_example_WAV_2MG.wav.~61~.mp3 +MD5=9596f965d8f651ae11d37379078e92a5 file_example_WAV_2MG.wav.~62~.mp3 +MD5=9596f965d8f651ae11d37379078e92a5 file_example_WAV_2MG.wav.~63~.mp3 +MD5=9596f965d8f651ae11d37379078e92a5 file_example_WAV_2MG.wav.~64~.mp3 +MD5=9596f965d8f651ae11d37379078e92a5 file_example_WAV_2MG.wav.~65~.mp3 +MD5=9596f965d8f651ae11d37379078e92a5 file_example_WAV_2MG.wav.~66~.mp3 +MD5=9596f965d8f651ae11d37379078e92a5 file_example_WAV_2MG.wav.~67~.mp3 +MD5=9596f965d8f651ae11d37379078e92a5 file_example_WAV_2MG.wav.~68~.mp3 +MD5=9596f965d8f651ae11d37379078e92a5 file_example_WAV_2MG.wav.~69~.mp3 +MD5=9596f965d8f651ae11d37379078e92a5 file_example_WAV_2MG.wav.~6~.mp3 +MD5=9596f965d8f651ae11d37379078e92a5 file_example_WAV_2MG.wav.~70~.mp3 +MD5=9596f965d8f651ae11d37379078e92a5 file_example_WAV_2MG.wav.~71~.mp3 +MD5=9596f965d8f651ae11d37379078e92a5 file_example_WAV_2MG.wav.~72~.mp3 +MD5=9596f965d8f651ae11d37379078e92a5 file_example_WAV_2MG.wav.~73~.mp3 +MD5=9596f965d8f651ae11d37379078e92a5 file_example_WAV_2MG.wav.~74~.mp3 +MD5=9596f965d8f651ae11d37379078e92a5 file_example_WAV_2MG.wav.~75~.mp3 +MD5=9596f965d8f651ae11d37379078e92a5 file_example_WAV_2MG.wav.~76~.mp3 +MD5=9596f965d8f651ae11d37379078e92a5 file_example_WAV_2MG.wav.~77~.mp3 +MD5=9596f965d8f651ae11d37379078e92a5 file_example_WAV_2MG.wav.~78~.mp3 +MD5=9596f965d8f651ae11d37379078e92a5 file_example_WAV_2MG.wav.~79~.mp3 +MD5=9596f965d8f651ae11d37379078e92a5 file_example_WAV_2MG.wav.~7~.mp3 +MD5=9596f965d8f651ae11d37379078e92a5 file_example_WAV_2MG.wav.~80~.mp3 +MD5=9596f965d8f651ae11d37379078e92a5 file_example_WAV_2MG.wav.~81~.mp3 +MD5=9596f965d8f651ae11d37379078e92a5 file_example_WAV_2MG.wav.~82~.mp3 +MD5=9596f965d8f651ae11d37379078e92a5 file_example_WAV_2MG.wav.~83~.mp3 +MD5=9596f965d8f651ae11d37379078e92a5 file_example_WAV_2MG.wav.~84~.mp3 +MD5=9596f965d8f651ae11d37379078e92a5 file_example_WAV_2MG.wav.~85~.mp3 +MD5=9596f965d8f651ae11d37379078e92a5 file_example_WAV_2MG.wav.~86~.mp3 +MD5=9596f965d8f651ae11d37379078e92a5 file_example_WAV_2MG.wav.~87~.mp3 +MD5=9596f965d8f651ae11d37379078e92a5 file_example_WAV_2MG.wav.~88~.mp3 +MD5=9596f965d8f651ae11d37379078e92a5 file_example_WAV_2MG.wav.~89~.mp3 +MD5=9596f965d8f651ae11d37379078e92a5 file_example_WAV_2MG.wav.~8~.mp3 +MD5=9596f965d8f651ae11d37379078e92a5 file_example_WAV_2MG.wav.~90~.mp3 +MD5=9596f965d8f651ae11d37379078e92a5 file_example_WAV_2MG.wav.~91~.mp3 +MD5=9596f965d8f651ae11d37379078e92a5 file_example_WAV_2MG.wav.~92~.mp3 +MD5=9596f965d8f651ae11d37379078e92a5 file_example_WAV_2MG.wav.~93~.mp3 +MD5=9596f965d8f651ae11d37379078e92a5 file_example_WAV_2MG.wav.~94~.mp3 +MD5=9596f965d8f651ae11d37379078e92a5 file_example_WAV_2MG.wav.~95~.mp3 +MD5=9596f965d8f651ae11d37379078e92a5 file_example_WAV_2MG.wav.~96~.mp3 +MD5=9596f965d8f651ae11d37379078e92a5 file_example_WAV_2MG.wav.~97~.mp3 +MD5=9596f965d8f651ae11d37379078e92a5 file_example_WAV_2MG.wav.~98~.mp3 +MD5=9596f965d8f651ae11d37379078e92a5 file_example_WAV_2MG.wav.~99~.mp3 +MD5=9596f965d8f651ae11d37379078e92a5 file_example_WAV_2MG.wav.~9~.mp3 +MD5=7fa8f1b637364d8586d0c95a2eabe149 file_example_WAV_5MG.wav.mp3 +MD5=7fa8f1b637364d8586d0c95a2eabe149 file_example_WAV_5MG.wav.~100~.mp3 +MD5=7fa8f1b637364d8586d0c95a2eabe149 file_example_WAV_5MG.wav.~101~.mp3 +MD5=7fa8f1b637364d8586d0c95a2eabe149 file_example_WAV_5MG.wav.~102~.mp3 +MD5=7fa8f1b637364d8586d0c95a2eabe149 file_example_WAV_5MG.wav.~103~.mp3 +MD5=7fa8f1b637364d8586d0c95a2eabe149 file_example_WAV_5MG.wav.~104~.mp3 +MD5=7fa8f1b637364d8586d0c95a2eabe149 file_example_WAV_5MG.wav.~105~.mp3 +MD5=7fa8f1b637364d8586d0c95a2eabe149 file_example_WAV_5MG.wav.~106~.mp3 +MD5=7fa8f1b637364d8586d0c95a2eabe149 file_example_WAV_5MG.wav.~107~.mp3 +MD5=7fa8f1b637364d8586d0c95a2eabe149 file_example_WAV_5MG.wav.~108~.mp3 +MD5=7fa8f1b637364d8586d0c95a2eabe149 file_example_WAV_5MG.wav.~109~.mp3 +MD5=7fa8f1b637364d8586d0c95a2eabe149 file_example_WAV_5MG.wav.~10~.mp3 +MD5=7fa8f1b637364d8586d0c95a2eabe149 file_example_WAV_5MG.wav.~110~.mp3 +MD5=7fa8f1b637364d8586d0c95a2eabe149 file_example_WAV_5MG.wav.~111~.mp3 +MD5=7fa8f1b637364d8586d0c95a2eabe149 file_example_WAV_5MG.wav.~112~.mp3 +MD5=7fa8f1b637364d8586d0c95a2eabe149 file_example_WAV_5MG.wav.~113~.mp3 +MD5=7fa8f1b637364d8586d0c95a2eabe149 file_example_WAV_5MG.wav.~114~.mp3 +MD5=7fa8f1b637364d8586d0c95a2eabe149 file_example_WAV_5MG.wav.~115~.mp3 +MD5=7fa8f1b637364d8586d0c95a2eabe149 file_example_WAV_5MG.wav.~116~.mp3 +MD5=7fa8f1b637364d8586d0c95a2eabe149 file_example_WAV_5MG.wav.~117~.mp3 +MD5=7fa8f1b637364d8586d0c95a2eabe149 file_example_WAV_5MG.wav.~118~.mp3 +MD5=7fa8f1b637364d8586d0c95a2eabe149 file_example_WAV_5MG.wav.~119~.mp3 +MD5=7fa8f1b637364d8586d0c95a2eabe149 file_example_WAV_5MG.wav.~11~.mp3 +MD5=7fa8f1b637364d8586d0c95a2eabe149 file_example_WAV_5MG.wav.~12~.mp3 +MD5=7fa8f1b637364d8586d0c95a2eabe149 file_example_WAV_5MG.wav.~13~.mp3 +MD5=7fa8f1b637364d8586d0c95a2eabe149 file_example_WAV_5MG.wav.~14~.mp3 +MD5=7fa8f1b637364d8586d0c95a2eabe149 file_example_WAV_5MG.wav.~15~.mp3 +MD5=7fa8f1b637364d8586d0c95a2eabe149 file_example_WAV_5MG.wav.~16~.mp3 +MD5=7fa8f1b637364d8586d0c95a2eabe149 file_example_WAV_5MG.wav.~17~.mp3 +MD5=7fa8f1b637364d8586d0c95a2eabe149 file_example_WAV_5MG.wav.~18~.mp3 +MD5=7fa8f1b637364d8586d0c95a2eabe149 file_example_WAV_5MG.wav.~19~.mp3 +MD5=7fa8f1b637364d8586d0c95a2eabe149 file_example_WAV_5MG.wav.~1~.mp3 +MD5=7fa8f1b637364d8586d0c95a2eabe149 file_example_WAV_5MG.wav.~20~.mp3 +MD5=7fa8f1b637364d8586d0c95a2eabe149 file_example_WAV_5MG.wav.~21~.mp3 +MD5=7fa8f1b637364d8586d0c95a2eabe149 file_example_WAV_5MG.wav.~22~.mp3 +MD5=7fa8f1b637364d8586d0c95a2eabe149 file_example_WAV_5MG.wav.~23~.mp3 +MD5=7fa8f1b637364d8586d0c95a2eabe149 file_example_WAV_5MG.wav.~24~.mp3 +MD5=7fa8f1b637364d8586d0c95a2eabe149 file_example_WAV_5MG.wav.~25~.mp3 +MD5=7fa8f1b637364d8586d0c95a2eabe149 file_example_WAV_5MG.wav.~26~.mp3 +MD5=7fa8f1b637364d8586d0c95a2eabe149 file_example_WAV_5MG.wav.~27~.mp3 +MD5=7fa8f1b637364d8586d0c95a2eabe149 file_example_WAV_5MG.wav.~28~.mp3 +MD5=7fa8f1b637364d8586d0c95a2eabe149 file_example_WAV_5MG.wav.~29~.mp3 +MD5=7fa8f1b637364d8586d0c95a2eabe149 file_example_WAV_5MG.wav.~2~.mp3 +MD5=7fa8f1b637364d8586d0c95a2eabe149 file_example_WAV_5MG.wav.~30~.mp3 +MD5=7fa8f1b637364d8586d0c95a2eabe149 file_example_WAV_5MG.wav.~31~.mp3 +MD5=7fa8f1b637364d8586d0c95a2eabe149 file_example_WAV_5MG.wav.~32~.mp3 +MD5=7fa8f1b637364d8586d0c95a2eabe149 file_example_WAV_5MG.wav.~33~.mp3 +MD5=7fa8f1b637364d8586d0c95a2eabe149 file_example_WAV_5MG.wav.~34~.mp3 +MD5=7fa8f1b637364d8586d0c95a2eabe149 file_example_WAV_5MG.wav.~35~.mp3 +MD5=7fa8f1b637364d8586d0c95a2eabe149 file_example_WAV_5MG.wav.~36~.mp3 +MD5=7fa8f1b637364d8586d0c95a2eabe149 file_example_WAV_5MG.wav.~37~.mp3 +MD5=7fa8f1b637364d8586d0c95a2eabe149 file_example_WAV_5MG.wav.~38~.mp3 +MD5=7fa8f1b637364d8586d0c95a2eabe149 file_example_WAV_5MG.wav.~39~.mp3 +MD5=7fa8f1b637364d8586d0c95a2eabe149 file_example_WAV_5MG.wav.~3~.mp3 +MD5=7fa8f1b637364d8586d0c95a2eabe149 file_example_WAV_5MG.wav.~40~.mp3 +MD5=7fa8f1b637364d8586d0c95a2eabe149 file_example_WAV_5MG.wav.~41~.mp3 +MD5=7fa8f1b637364d8586d0c95a2eabe149 file_example_WAV_5MG.wav.~42~.mp3 +MD5=7fa8f1b637364d8586d0c95a2eabe149 file_example_WAV_5MG.wav.~43~.mp3 +MD5=7fa8f1b637364d8586d0c95a2eabe149 file_example_WAV_5MG.wav.~44~.mp3 +MD5=7fa8f1b637364d8586d0c95a2eabe149 file_example_WAV_5MG.wav.~45~.mp3 +MD5=7fa8f1b637364d8586d0c95a2eabe149 file_example_WAV_5MG.wav.~46~.mp3 +MD5=7fa8f1b637364d8586d0c95a2eabe149 file_example_WAV_5MG.wav.~47~.mp3 +MD5=7fa8f1b637364d8586d0c95a2eabe149 file_example_WAV_5MG.wav.~48~.mp3 +MD5=7fa8f1b637364d8586d0c95a2eabe149 file_example_WAV_5MG.wav.~49~.mp3 +MD5=7fa8f1b637364d8586d0c95a2eabe149 file_example_WAV_5MG.wav.~4~.mp3 +MD5=7fa8f1b637364d8586d0c95a2eabe149 file_example_WAV_5MG.wav.~50~.mp3 +MD5=7fa8f1b637364d8586d0c95a2eabe149 file_example_WAV_5MG.wav.~51~.mp3 +MD5=7fa8f1b637364d8586d0c95a2eabe149 file_example_WAV_5MG.wav.~52~.mp3 +MD5=7fa8f1b637364d8586d0c95a2eabe149 file_example_WAV_5MG.wav.~53~.mp3 +MD5=7fa8f1b637364d8586d0c95a2eabe149 file_example_WAV_5MG.wav.~54~.mp3 +MD5=7fa8f1b637364d8586d0c95a2eabe149 file_example_WAV_5MG.wav.~55~.mp3 +MD5=7fa8f1b637364d8586d0c95a2eabe149 file_example_WAV_5MG.wav.~56~.mp3 +MD5=7fa8f1b637364d8586d0c95a2eabe149 file_example_WAV_5MG.wav.~57~.mp3 +MD5=7fa8f1b637364d8586d0c95a2eabe149 file_example_WAV_5MG.wav.~58~.mp3 +MD5=7fa8f1b637364d8586d0c95a2eabe149 file_example_WAV_5MG.wav.~59~.mp3 +MD5=7fa8f1b637364d8586d0c95a2eabe149 file_example_WAV_5MG.wav.~5~.mp3 +MD5=7fa8f1b637364d8586d0c95a2eabe149 file_example_WAV_5MG.wav.~60~.mp3 +MD5=7fa8f1b637364d8586d0c95a2eabe149 file_example_WAV_5MG.wav.~61~.mp3 +MD5=7fa8f1b637364d8586d0c95a2eabe149 file_example_WAV_5MG.wav.~62~.mp3 +MD5=7fa8f1b637364d8586d0c95a2eabe149 file_example_WAV_5MG.wav.~63~.mp3 +MD5=7fa8f1b637364d8586d0c95a2eabe149 file_example_WAV_5MG.wav.~64~.mp3 +MD5=7fa8f1b637364d8586d0c95a2eabe149 file_example_WAV_5MG.wav.~65~.mp3 +MD5=7fa8f1b637364d8586d0c95a2eabe149 file_example_WAV_5MG.wav.~66~.mp3 +MD5=7fa8f1b637364d8586d0c95a2eabe149 file_example_WAV_5MG.wav.~67~.mp3 +MD5=7fa8f1b637364d8586d0c95a2eabe149 file_example_WAV_5MG.wav.~68~.mp3 +MD5=7fa8f1b637364d8586d0c95a2eabe149 file_example_WAV_5MG.wav.~69~.mp3 +MD5=7fa8f1b637364d8586d0c95a2eabe149 file_example_WAV_5MG.wav.~6~.mp3 +MD5=7fa8f1b637364d8586d0c95a2eabe149 file_example_WAV_5MG.wav.~70~.mp3 +MD5=7fa8f1b637364d8586d0c95a2eabe149 file_example_WAV_5MG.wav.~71~.mp3 +MD5=7fa8f1b637364d8586d0c95a2eabe149 file_example_WAV_5MG.wav.~72~.mp3 +MD5=7fa8f1b637364d8586d0c95a2eabe149 file_example_WAV_5MG.wav.~73~.mp3 +MD5=7fa8f1b637364d8586d0c95a2eabe149 file_example_WAV_5MG.wav.~74~.mp3 +MD5=7fa8f1b637364d8586d0c95a2eabe149 file_example_WAV_5MG.wav.~75~.mp3 +MD5=7fa8f1b637364d8586d0c95a2eabe149 file_example_WAV_5MG.wav.~76~.mp3 +MD5=7fa8f1b637364d8586d0c95a2eabe149 file_example_WAV_5MG.wav.~77~.mp3 +MD5=7fa8f1b637364d8586d0c95a2eabe149 file_example_WAV_5MG.wav.~78~.mp3 +MD5=7fa8f1b637364d8586d0c95a2eabe149 file_example_WAV_5MG.wav.~79~.mp3 +MD5=7fa8f1b637364d8586d0c95a2eabe149 file_example_WAV_5MG.wav.~7~.mp3 +MD5=7fa8f1b637364d8586d0c95a2eabe149 file_example_WAV_5MG.wav.~80~.mp3 +MD5=7fa8f1b637364d8586d0c95a2eabe149 file_example_WAV_5MG.wav.~81~.mp3 +MD5=7fa8f1b637364d8586d0c95a2eabe149 file_example_WAV_5MG.wav.~82~.mp3 +MD5=7fa8f1b637364d8586d0c95a2eabe149 file_example_WAV_5MG.wav.~83~.mp3 +MD5=7fa8f1b637364d8586d0c95a2eabe149 file_example_WAV_5MG.wav.~84~.mp3 +MD5=7fa8f1b637364d8586d0c95a2eabe149 file_example_WAV_5MG.wav.~85~.mp3 +MD5=7fa8f1b637364d8586d0c95a2eabe149 file_example_WAV_5MG.wav.~86~.mp3 +MD5=7fa8f1b637364d8586d0c95a2eabe149 file_example_WAV_5MG.wav.~87~.mp3 +MD5=7fa8f1b637364d8586d0c95a2eabe149 file_example_WAV_5MG.wav.~88~.mp3 +MD5=7fa8f1b637364d8586d0c95a2eabe149 file_example_WAV_5MG.wav.~89~.mp3 +MD5=7fa8f1b637364d8586d0c95a2eabe149 file_example_WAV_5MG.wav.~8~.mp3 +MD5=7fa8f1b637364d8586d0c95a2eabe149 file_example_WAV_5MG.wav.~90~.mp3 +MD5=7fa8f1b637364d8586d0c95a2eabe149 file_example_WAV_5MG.wav.~91~.mp3 +MD5=7fa8f1b637364d8586d0c95a2eabe149 file_example_WAV_5MG.wav.~92~.mp3 +MD5=7fa8f1b637364d8586d0c95a2eabe149 file_example_WAV_5MG.wav.~93~.mp3 +MD5=7fa8f1b637364d8586d0c95a2eabe149 file_example_WAV_5MG.wav.~94~.mp3 +MD5=7fa8f1b637364d8586d0c95a2eabe149 file_example_WAV_5MG.wav.~95~.mp3 +MD5=7fa8f1b637364d8586d0c95a2eabe149 file_example_WAV_5MG.wav.~96~.mp3 +MD5=7fa8f1b637364d8586d0c95a2eabe149 file_example_WAV_5MG.wav.~97~.mp3 +MD5=7fa8f1b637364d8586d0c95a2eabe149 file_example_WAV_5MG.wav.~98~.mp3 +MD5=7fa8f1b637364d8586d0c95a2eabe149 file_example_WAV_5MG.wav.~99~.mp3 +MD5=7fa8f1b637364d8586d0c95a2eabe149 file_example_WAV_5MG.wav.~9~.mp3 diff --git a/infrastructure/systems/Shark/media-conv/hashes/to_mp3.small.md5sum b/infrastructure/systems/Shark/media-conv/hashes/to_mp3.small.md5sum new file mode 100644 index 00000000..830b40e6 --- /dev/null +++ b/infrastructure/systems/Shark/media-conv/hashes/to_mp3.small.md5sum @@ -0,0 +1,40 @@ +MD5=b470a6a98960992d8692ed99ab8b4776 file_example_WAV_10MG.wav.mp3 +MD5=b470a6a98960992d8692ed99ab8b4776 file_example_WAV_10MG.wav.~1~.mp3 +MD5=b470a6a98960992d8692ed99ab8b4776 file_example_WAV_10MG.wav.~2~.mp3 +MD5=b470a6a98960992d8692ed99ab8b4776 file_example_WAV_10MG.wav.~3~.mp3 +MD5=b470a6a98960992d8692ed99ab8b4776 file_example_WAV_10MG.wav.~4~.mp3 +MD5=b470a6a98960992d8692ed99ab8b4776 file_example_WAV_10MG.wav.~5~.mp3 +MD5=b470a6a98960992d8692ed99ab8b4776 file_example_WAV_10MG.wav.~6~.mp3 +MD5=b470a6a98960992d8692ed99ab8b4776 file_example_WAV_10MG.wav.~7~.mp3 +MD5=b470a6a98960992d8692ed99ab8b4776 file_example_WAV_10MG.wav.~8~.mp3 +MD5=b470a6a98960992d8692ed99ab8b4776 file_example_WAV_10MG.wav.~9~.mp3 +MD5=8c3f31193248ae4bc9f2293cd3b44941 file_example_WAV_1MG.wav.mp3 +MD5=8c3f31193248ae4bc9f2293cd3b44941 file_example_WAV_1MG.wav.~1~.mp3 +MD5=8c3f31193248ae4bc9f2293cd3b44941 file_example_WAV_1MG.wav.~2~.mp3 +MD5=8c3f31193248ae4bc9f2293cd3b44941 file_example_WAV_1MG.wav.~3~.mp3 +MD5=8c3f31193248ae4bc9f2293cd3b44941 file_example_WAV_1MG.wav.~4~.mp3 +MD5=8c3f31193248ae4bc9f2293cd3b44941 file_example_WAV_1MG.wav.~5~.mp3 +MD5=8c3f31193248ae4bc9f2293cd3b44941 file_example_WAV_1MG.wav.~6~.mp3 +MD5=8c3f31193248ae4bc9f2293cd3b44941 file_example_WAV_1MG.wav.~7~.mp3 +MD5=8c3f31193248ae4bc9f2293cd3b44941 file_example_WAV_1MG.wav.~8~.mp3 +MD5=8c3f31193248ae4bc9f2293cd3b44941 file_example_WAV_1MG.wav.~9~.mp3 +MD5=9596f965d8f651ae11d37379078e92a5 file_example_WAV_2MG.wav.mp3 +MD5=9596f965d8f651ae11d37379078e92a5 file_example_WAV_2MG.wav.~1~.mp3 +MD5=9596f965d8f651ae11d37379078e92a5 file_example_WAV_2MG.wav.~2~.mp3 +MD5=9596f965d8f651ae11d37379078e92a5 file_example_WAV_2MG.wav.~3~.mp3 +MD5=9596f965d8f651ae11d37379078e92a5 file_example_WAV_2MG.wav.~4~.mp3 +MD5=9596f965d8f651ae11d37379078e92a5 file_example_WAV_2MG.wav.~5~.mp3 +MD5=9596f965d8f651ae11d37379078e92a5 file_example_WAV_2MG.wav.~6~.mp3 +MD5=9596f965d8f651ae11d37379078e92a5 file_example_WAV_2MG.wav.~7~.mp3 +MD5=9596f965d8f651ae11d37379078e92a5 file_example_WAV_2MG.wav.~8~.mp3 +MD5=9596f965d8f651ae11d37379078e92a5 file_example_WAV_2MG.wav.~9~.mp3 +MD5=7fa8f1b637364d8586d0c95a2eabe149 file_example_WAV_5MG.wav.mp3 +MD5=7fa8f1b637364d8586d0c95a2eabe149 file_example_WAV_5MG.wav.~1~.mp3 +MD5=7fa8f1b637364d8586d0c95a2eabe149 file_example_WAV_5MG.wav.~2~.mp3 +MD5=7fa8f1b637364d8586d0c95a2eabe149 file_example_WAV_5MG.wav.~3~.mp3 +MD5=7fa8f1b637364d8586d0c95a2eabe149 file_example_WAV_5MG.wav.~4~.mp3 +MD5=7fa8f1b637364d8586d0c95a2eabe149 file_example_WAV_5MG.wav.~5~.mp3 +MD5=7fa8f1b637364d8586d0c95a2eabe149 file_example_WAV_5MG.wav.~6~.mp3 +MD5=7fa8f1b637364d8586d0c95a2eabe149 file_example_WAV_5MG.wav.~7~.mp3 +MD5=7fa8f1b637364d8586d0c95a2eabe149 file_example_WAV_5MG.wav.~8~.mp3 +MD5=7fa8f1b637364d8586d0c95a2eabe149 file_example_WAV_5MG.wav.~9~.mp3 diff --git a/infrastructure/systems/Shark/media-conv/input.sh b/infrastructure/systems/Shark/media-conv/input.sh new file mode 100755 index 00000000..9f401748 --- /dev/null +++ b/infrastructure/systems/Shark/media-conv/input.sh @@ -0,0 +1,39 @@ +#!/bin/bash + +REPO_TOP=$(git rev-parse --show-toplevel) +eval_dir="${REPO_TOP}/media-conv" +input_dir="${eval_dir}/input" + +mkdir -p $input_dir + +data_url=https://atlas-group.cs.brown.edu/data/wav.zip +zip_dst=$input_dir/wav.zip +full_dir="$input_dir/wav_full" +small_dir="$input_dir/wav_small" +wget --no-check-certificate "$data_url" -O "$zip_dst" +unzip "$zip_dst" -d "$input_dir" +mkdir -p "$full_dir" "$small_dir" +# copy `.wav`s to their final destinations. +# Make sure we have the correct number of inputs +# with numbered backups (do not overwrite inputs). +for i in {1..120}; do + cp --backup=numbered $input_dir/wav/* "--target-directory=$full_dir" +done +for i in {1..10}; do + cp --backup=numbered $input_dir/wav/* "--target-directory=$small_dir" +done +rm -r "$zip_dst" "$input_dir/wav" + +data_url=https://atlas-group.cs.brown.edu/data/full/jpg.zip +zip_dst="$input_dir/jpg_full.zip" +out_dir="$input_dir/jpg_full" +wget --no-check-certificate $data_url -O $zip_dst +unzip $zip_dst -d $out_dir +rm "$zip_dst" + +data_url=https://atlas-group.cs.brown.edu/data/small/jpg.zip +zip_dst=$input_dir/jpg_small.zip +out_dir=$input_dir/jpg_small +wget --no-check-certificate $data_url -O $zip_dst +unzip $zip_dst -d $out_dir +rm "$zip_dst" diff --git a/infrastructure/systems/Shark/media-conv/run.sh b/infrastructure/systems/Shark/media-conv/run.sh new file mode 100755 index 00000000..c9136726 --- /dev/null +++ b/infrastructure/systems/Shark/media-conv/run.sh @@ -0,0 +1,28 @@ +#!/bin/bash + +REPO_TOP=$(git rev-parse --show-toplevel) +eval_dir="${REPO_TOP}/media-conv" +input_dir="${eval_dir}/input" +results_dir="${eval_dir}/results" +scripts_dir="${eval_dir}/scripts" +mkdir -p $results_dir + +img_convert_input="$input_dir/jpg_full/jpg" +to_mp3_input="$input_dir/wav_full" +suffix=".full" + +if [[ "$@" == *"--small"* ]]; then + img_convert_input="$input_dir/jpg_small/jpg" + to_mp3_input="$input_dir/wav_small" + suffix=".small" +fi + +BENCHMARK_SHELL=${BENCHMARK_SHELL:-bash} + +echo "img_convert" +$BENCHMARK_SHELL $scripts_dir/img_convert.sh $img_convert_input $results_dir/img_convert$suffix > $results_dir/img_convert$suffix.log +echo $? + +echo "to_mp3" +$BENCHMARK_SHELL $scripts_dir/to_mp3.sh $to_mp3_input $results_dir/to_mp3$suffix > $results_dir/to_mp3$suffix.log +echo $? diff --git a/infrastructure/systems/Shark/media-conv/scripts/img_convert.sh b/infrastructure/systems/Shark/media-conv/scripts/img_convert.sh new file mode 100755 index 00000000..0d5f676e --- /dev/null +++ b/infrastructure/systems/Shark/media-conv/scripts/img_convert.sh @@ -0,0 +1,29 @@ +#!/bin/bash +# tag: resize image +# inputs: $1=absolute source directory path with images, $2=destination directory for output images + +# mkdir -p $2 + +# pure_func () { +# convert -resize 70% "-" "-" +# } +# export -f pure_func + +# for i in $1/*; +# do +# out="$2/$(basename -- $i)" +# cat $i | pure_func > $out +# done + +mkdir -p "$2" + +pure_func() { + convert -resize 70% "$1" "$2" +} +export -f pure_func + +for i in "$1"/*; do + out="$2/$(basename -- "$i")" + pure_func "$i" "$out" & +done +wait diff --git a/infrastructure/systems/Shark/media-conv/scripts/to_mp3.sh b/infrastructure/systems/Shark/media-conv/scripts/to_mp3.sh new file mode 100755 index 00000000..e45b97e7 --- /dev/null +++ b/infrastructure/systems/Shark/media-conv/scripts/to_mp3.sh @@ -0,0 +1,30 @@ +#!/bin/bash +# tag: wav-to-mp3 +# inputs: $1=absolute source directory path with .wav's, $2=destination directory for output wavs + +# mkdir -p $2 + +# pure_func(){ +# ffmpeg -y -i pipe:0 -f mp3 -ab 192000 pipe:1 2>/dev/null +# } +# export -f pure_func + +# for i in $1/*; +# do +# out="$2/$(basename $i).mp3" +# cat $i | pure_func > $out +# done + +mkdir -p "$2" + +pure_func() { + ffmpeg -y -i "$1" -f mp3 -ab 192000 "$2" 2>/dev/null +} +export -f pure_func + +for i in "$1"/*; do + out="$2/$(basename "$i").mp3" + pure_func "$i" "$out" & +done +wait + diff --git a/infrastructure/systems/Shark/media-conv/verify.sh b/infrastructure/systems/Shark/media-conv/verify.sh new file mode 100755 index 00000000..d074d1b5 --- /dev/null +++ b/infrastructure/systems/Shark/media-conv/verify.sh @@ -0,0 +1,41 @@ +#!/bin/bash + +hash_audio_dir() { + local src_dir=$1 + for src in $src_dir/*; do + got_hash=$(ffmpeg -i "$src" -map 0:a -f md5 - 2>/dev/null) + echo $got_hash $(realpath "--relative-to=$src_dir" "$src") + done +} + +REPO_TOP=$(git rev-parse --show-toplevel) +eval_dir="${REPO_TOP}/media-conv" +results_dir="${eval_dir}/results" +hashes_dir="${eval_dir}/hashes" + +suffix=".full" +if [[ "$@" == *"--small"* ]]; then + suffix=".small" +fi + +if [[ "$@" == *"--generate"* ]]; then + bench=to_mp3$suffix + hash_audio_dir "$results_dir/$bench" > "$hashes_dir/$bench.md5sum" + + cd $results_dir + bench=img_convert$suffix + md5sum $bench/* > "$hashes_dir/$bench.md5sum" + + exit 0 +fi + + +bench=to_mp3$suffix +hash_audio_dir "$results_dir/$bench" | diff -q "$hashes_dir/$bench.md5sum" - +echo $bench $? + +cd $results_dir +bench=img_convert$suffix +md5sum --check --quiet --status $hashes_dir/$bench.md5sum +echo $bench $? + diff --git a/infrastructure/systems/Shark/nlp/.gitignore b/infrastructure/systems/Shark/nlp/.gitignore new file mode 100644 index 00000000..f72f5fdc --- /dev/null +++ b/infrastructure/systems/Shark/nlp/.gitignore @@ -0,0 +1,2 @@ +inputs/ +outputs/ diff --git a/infrastructure/systems/Shark/nlp/cleanup.sh b/infrastructure/systems/Shark/nlp/cleanup.sh new file mode 100755 index 00000000..8ed5294c --- /dev/null +++ b/infrastructure/systems/Shark/nlp/cleanup.sh @@ -0,0 +1,6 @@ +#!/bin/bash + +cd "$(realpath $(dirname "$0"))" + +rm -rf ./inputs +rm -rf ./outputs diff --git a/infrastructure/systems/Shark/nlp/deps.sh b/infrastructure/systems/Shark/nlp/deps.sh new file mode 100755 index 00000000..6d9c19ef --- /dev/null +++ b/infrastructure/systems/Shark/nlp/deps.sh @@ -0,0 +1 @@ +# This benchmark does not have any dependencies. diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams/61-0.txt.input.bigrams.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/61-0.txt.input.bigrams.hash new file mode 100644 index 00000000..680e2c8e --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/61-0.txt.input.bigrams.hash @@ -0,0 +1 @@ +131868265e5adaccdbed4c5b886bd3c47e10c3f6ad454b3bb434f2a8df402936 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams/61.txt.input.bigrams.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/61.txt.input.bigrams.hash new file mode 100644 index 00000000..7c3009af --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/61.txt.input.bigrams.hash @@ -0,0 +1 @@ +eb7075de2cd4fbd44de8f205ce23b4732573398f2f227c2e36b47b64a13aa12a diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams/655.txt.input.bigrams.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/655.txt.input.bigrams.hash new file mode 100644 index 00000000..d0f0c454 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/655.txt.input.bigrams.hash @@ -0,0 +1 @@ +41b7da8bc8ac92204771b2a748a361b83913ebb589d34b11b1a762205190459e diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams/660.txt.input.bigrams.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/660.txt.input.bigrams.hash new file mode 100644 index 00000000..964b95e2 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/660.txt.input.bigrams.hash @@ -0,0 +1 @@ +f39669a8a286d8d787094318cb834998f19ff5737b336dfebb9e01f02b1a7141 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams/665.txt.input.bigrams.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/665.txt.input.bigrams.hash new file mode 100644 index 00000000..aa4b7336 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/665.txt.input.bigrams.hash @@ -0,0 +1 @@ +39713701130b64bc0198034c83f7f1f9f4acb494c9ad8ef6e04174f5531966ea diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams/666.txt.input.bigrams.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/666.txt.input.bigrams.hash new file mode 100644 index 00000000..564961b0 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/666.txt.input.bigrams.hash @@ -0,0 +1 @@ +28c293a0740c6561bdd55ed3879535e81a6b3fbaee45dfb30dcbf869c7ac57de diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams/6660.txt.input.bigrams.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/6660.txt.input.bigrams.hash new file mode 100644 index 00000000..bdccb4fe --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/6660.txt.input.bigrams.hash @@ -0,0 +1 @@ +8a16861f652464b7dbb9d70caaa51031a9471494cd0d69faa44f9f1757777352 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66600-0.txt.input.bigrams.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66600-0.txt.input.bigrams.hash new file mode 100644 index 00000000..5cc7185d --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66600-0.txt.input.bigrams.hash @@ -0,0 +1 @@ +80adc52ae3eb9dd0cf32195d26467cd47bd8b01c93a3cb2e7fd850988207ed49 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66601-0.txt.input.bigrams.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66601-0.txt.input.bigrams.hash new file mode 100644 index 00000000..938a2a56 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66601-0.txt.input.bigrams.hash @@ -0,0 +1 @@ +81b27815b0425556f4f64aa4f5bef0e0d03ea42e05e3ee04da3b16a1b0d84651 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66602-0.txt.input.bigrams.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66602-0.txt.input.bigrams.hash new file mode 100644 index 00000000..3b628930 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66602-0.txt.input.bigrams.hash @@ -0,0 +1 @@ +d251d562f730076ac248315690ffffdf51532822384571fd2e8ef6fa17e15e80 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66603-0.txt.input.bigrams.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66603-0.txt.input.bigrams.hash new file mode 100644 index 00000000..000313f3 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66603-0.txt.input.bigrams.hash @@ -0,0 +1 @@ +c5d73c0826816589af9fa9f84df52cc479706c9d0fe7308425217da885c4f301 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66604-0.txt.input.bigrams.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66604-0.txt.input.bigrams.hash new file mode 100644 index 00000000..decd1c16 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66604-0.txt.input.bigrams.hash @@ -0,0 +1 @@ +41a5294a7d9eba06d9f6d47e8c856dca5fafc16c99b415dc2ca020b18a471177 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66605-0.txt.input.bigrams.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66605-0.txt.input.bigrams.hash new file mode 100644 index 00000000..3237b630 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66605-0.txt.input.bigrams.hash @@ -0,0 +1 @@ +b3ee99f120aae6f011cc68cffb3fe8b5316c101e2571e9a6e515d7d8542a92ed diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66606-0.txt.input.bigrams.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66606-0.txt.input.bigrams.hash new file mode 100644 index 00000000..e84a34d5 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66606-0.txt.input.bigrams.hash @@ -0,0 +1 @@ +105385f14474222b05f3ff509088564ce07adaa90427efcda38e70637e44b03d diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66607-0.txt.input.bigrams.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66607-0.txt.input.bigrams.hash new file mode 100644 index 00000000..8e373245 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66607-0.txt.input.bigrams.hash @@ -0,0 +1 @@ +86226355d657f868321f5113117c686ec22fdc305b5fd80a19805a66713ec6a3 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66608-0.txt.input.bigrams.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66608-0.txt.input.bigrams.hash new file mode 100644 index 00000000..651b3187 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66608-0.txt.input.bigrams.hash @@ -0,0 +1 @@ +5769dd3c032cad7c45eb1cd712edaacaf129080a9b253f1fb62f910b632c9337 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66609-0.txt.input.bigrams.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66609-0.txt.input.bigrams.hash new file mode 100644 index 00000000..a5cdd339 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66609-0.txt.input.bigrams.hash @@ -0,0 +1 @@ +a44b6cb6fd276331c7fa6ede3b139738369203fb1e354c61a0b81a5a44ba6ed8 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams/6661.txt.input.bigrams.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/6661.txt.input.bigrams.hash new file mode 100644 index 00000000..c04a455d --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/6661.txt.input.bigrams.hash @@ -0,0 +1 @@ +89c2fdff7a23f1de34833bcc2707d4531586a37ee7cc5806142bd098e442dfe5 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams/6662.txt.input.bigrams.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/6662.txt.input.bigrams.hash new file mode 100644 index 00000000..bc1ab7e7 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/6662.txt.input.bigrams.hash @@ -0,0 +1 @@ +19c83c20f11867548924db21b4c4d54a1b18b06a9643f1995c5b84fe02bd8dfc diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66620-0.txt.input.bigrams.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66620-0.txt.input.bigrams.hash new file mode 100644 index 00000000..d66e17b3 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66620-0.txt.input.bigrams.hash @@ -0,0 +1 @@ +a8393490126d3c73451e538a99c08eaf78950eb4492946d257e0132b6ba404bf diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66621-0.txt.input.bigrams.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66621-0.txt.input.bigrams.hash new file mode 100644 index 00000000..dc05e779 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66621-0.txt.input.bigrams.hash @@ -0,0 +1 @@ +22546613091ed148dd0cbfe867e697dc053461900c0f509220b2c0749fb15bb3 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66622-0.txt.input.bigrams.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66622-0.txt.input.bigrams.hash new file mode 100644 index 00000000..8fba1ef7 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66622-0.txt.input.bigrams.hash @@ -0,0 +1 @@ +9f665dbbcee2e38e0818628ab01b1736dfbf505bb815f7692b1663d30a064226 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66623-0.txt.input.bigrams.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66623-0.txt.input.bigrams.hash new file mode 100644 index 00000000..7814f9fa --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66623-0.txt.input.bigrams.hash @@ -0,0 +1 @@ +e10195ee033744be57db0c11a61fd3593a1a5baee7af96c91f5c386866bba5b1 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66624-0.txt.input.bigrams.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66624-0.txt.input.bigrams.hash new file mode 100644 index 00000000..84ab7820 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66624-0.txt.input.bigrams.hash @@ -0,0 +1 @@ +8b57db43790946d6161423e8cbdad20d195de17e6a7cc056aa37ad583522299c diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66625-0.txt.input.bigrams.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66625-0.txt.input.bigrams.hash new file mode 100644 index 00000000..f48f1c97 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66625-0.txt.input.bigrams.hash @@ -0,0 +1 @@ +6825274cb9611ff9b33e358f6ac92cfa053c84c4e9a525eed5d9c56bcbc4f145 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66626-0.txt.input.bigrams.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66626-0.txt.input.bigrams.hash new file mode 100644 index 00000000..f5328f32 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66626-0.txt.input.bigrams.hash @@ -0,0 +1 @@ +85fd073f6e466eaff9dc66f67ac889d6d857041b499fb678594356fc5d56db9d diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66627-0.txt.input.bigrams.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66627-0.txt.input.bigrams.hash new file mode 100644 index 00000000..9d96bb66 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66627-0.txt.input.bigrams.hash @@ -0,0 +1 @@ +3e9290575b8dd42b2891760e478c722a9eaa79ff5077b40d66541cdb5afdde4f diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66628-0.txt.input.bigrams.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66628-0.txt.input.bigrams.hash new file mode 100644 index 00000000..18a9531e --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66628-0.txt.input.bigrams.hash @@ -0,0 +1 @@ +742d733c2f98d086a08b21b8631cf8930bea7947009bea9578850325bfa4f3cd diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66629-0.txt.input.bigrams.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66629-0.txt.input.bigrams.hash new file mode 100644 index 00000000..ea3a4c5e --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66629-0.txt.input.bigrams.hash @@ -0,0 +1 @@ +0871bd4083eb5f122f874aa7dfa27a3b907141a5de088139f66434b15e5fc634 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams/6663.txt.input.bigrams.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/6663.txt.input.bigrams.hash new file mode 100644 index 00000000..8dd27c76 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/6663.txt.input.bigrams.hash @@ -0,0 +1 @@ +eba04fee714229f9ca3110be044443b4ef8920a753f2fcff5d16cc0868f0e6c7 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66630-0.txt.input.bigrams.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66630-0.txt.input.bigrams.hash new file mode 100644 index 00000000..0bbf2e81 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66630-0.txt.input.bigrams.hash @@ -0,0 +1 @@ +13bbd27aa378f4b521a0d3a22babbb8ab138a0c8886a084ef6935678b2fe765e diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66631-0.txt.input.bigrams.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66631-0.txt.input.bigrams.hash new file mode 100644 index 00000000..e7c35cf3 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66631-0.txt.input.bigrams.hash @@ -0,0 +1 @@ +6fa3ee2a45650580ed741d31d42f9c7f22528a5f422d1cb257004b24fa9ec937 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66632-0.txt.input.bigrams.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66632-0.txt.input.bigrams.hash new file mode 100644 index 00000000..a9999eda --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66632-0.txt.input.bigrams.hash @@ -0,0 +1 @@ +93396c214d645aece09ef1fcdfd860996e3b0c5b2a5077bf63e02dca92ab59ca diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66633-0.txt.input.bigrams.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66633-0.txt.input.bigrams.hash new file mode 100644 index 00000000..4fac6812 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66633-0.txt.input.bigrams.hash @@ -0,0 +1 @@ +2ea447beb76ea15d8a63d7bef290ca40b9ffdfe8fb0480442d92a152f0c126e4 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66634-0.txt.input.bigrams.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66634-0.txt.input.bigrams.hash new file mode 100644 index 00000000..cdb03a43 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66634-0.txt.input.bigrams.hash @@ -0,0 +1 @@ +a9ae77c258b8a55abf88e655dbc7b3429cec6bdce43bd83e38f00cae22756578 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66635-0.txt.input.bigrams.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66635-0.txt.input.bigrams.hash new file mode 100644 index 00000000..f96c3b87 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66635-0.txt.input.bigrams.hash @@ -0,0 +1 @@ +fbdefbc34aaec083e7e22f17718c8ce28cca02c333e662b7619f2db53a03bae7 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66636-0.txt.input.bigrams.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66636-0.txt.input.bigrams.hash new file mode 100644 index 00000000..f9d2de2f --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66636-0.txt.input.bigrams.hash @@ -0,0 +1 @@ +96f8b4f5a2efc561700d628a1e99d921dab99b19614dec194d08908211e8995d diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66637-0.txt.input.bigrams.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66637-0.txt.input.bigrams.hash new file mode 100644 index 00000000..d24cc9e8 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66637-0.txt.input.bigrams.hash @@ -0,0 +1 @@ +78bfe547fd60672b749305a7e5e63f9a6ed9b23fb95e4bfdd15aa77acf3e2480 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66638-0.txt.input.bigrams.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66638-0.txt.input.bigrams.hash new file mode 100644 index 00000000..7551b4fa --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66638-0.txt.input.bigrams.hash @@ -0,0 +1 @@ +7db39e00c56e680ac598de722c0792ece3426ca0bf59f13f4a880e0efa4fb5b6 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66639-0.txt.input.bigrams.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66639-0.txt.input.bigrams.hash new file mode 100644 index 00000000..cdc5dfb9 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66639-0.txt.input.bigrams.hash @@ -0,0 +1 @@ +8b8a58f172e5013bdbc0afafdb0df1bcf3c42e7d6ef129db3bbc411d090adce3 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams/6664-0.txt.input.bigrams.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/6664-0.txt.input.bigrams.hash new file mode 100644 index 00000000..873a7b56 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/6664-0.txt.input.bigrams.hash @@ -0,0 +1 @@ +9d51d302004ef1bf7bd63e47191d02551e7e77d5df11a1e20e96fbc0aea59990 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams/6664.txt.input.bigrams.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/6664.txt.input.bigrams.hash new file mode 100644 index 00000000..81a4c452 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/6664.txt.input.bigrams.hash @@ -0,0 +1 @@ +164e9b4dac421213daac5755edd678a8f39169e293c8c19f12bd7cc81e7f42fa diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66640-0.txt.input.bigrams.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66640-0.txt.input.bigrams.hash new file mode 100644 index 00000000..d0ba470e --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66640-0.txt.input.bigrams.hash @@ -0,0 +1 @@ +be280250ea1a21282cb075f34dc0462f7b5bee15713a85d0e9ed365be3d1ac00 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66641-0.txt.input.bigrams.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66641-0.txt.input.bigrams.hash new file mode 100644 index 00000000..cefb69e0 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66641-0.txt.input.bigrams.hash @@ -0,0 +1 @@ +a9dcbe123694c4ba47a8494c74915f88d61b23ad682bfc7d672d903b4b272cb5 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66642-0.txt.input.bigrams.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66642-0.txt.input.bigrams.hash new file mode 100644 index 00000000..b8b24aea --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66642-0.txt.input.bigrams.hash @@ -0,0 +1 @@ +763e6ac912aacc43aa395474adc02f88d579f0ef64f7b4f7a23b37dae9fb65b4 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66643-0.txt.input.bigrams.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66643-0.txt.input.bigrams.hash new file mode 100644 index 00000000..14092a79 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66643-0.txt.input.bigrams.hash @@ -0,0 +1 @@ +ae6831a2424e3095ab49c42944fe97390a7289502ff9e6615e3c406361f892eb diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66645-0.txt.input.bigrams.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66645-0.txt.input.bigrams.hash new file mode 100644 index 00000000..a80f4e3b --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66645-0.txt.input.bigrams.hash @@ -0,0 +1 @@ +c77251e5ad87a6ee37427f333a96af16b056557d1cfc9814c2ae4c47e7999976 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66646-0.txt.input.bigrams.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66646-0.txt.input.bigrams.hash new file mode 100644 index 00000000..5b8cd3be --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66646-0.txt.input.bigrams.hash @@ -0,0 +1 @@ +e172f9a0234612f64b8e3edc4c3e47451ef18562cc9f6cbbd82980b53cfc3525 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66647-0.txt.input.bigrams.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66647-0.txt.input.bigrams.hash new file mode 100644 index 00000000..834a5646 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66647-0.txt.input.bigrams.hash @@ -0,0 +1 @@ +d14f2501a8e48c6d7aa9702ff1a7157703ed7aca1555e25d6e6da58f54d0d800 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66648-0.txt.input.bigrams.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66648-0.txt.input.bigrams.hash new file mode 100644 index 00000000..ba56fb7c --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66648-0.txt.input.bigrams.hash @@ -0,0 +1 @@ +d7a0c8d888aef189a95a860b601d23a1cee066fe86b982dd732679ce26e54f42 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66649-0.txt.input.bigrams.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66649-0.txt.input.bigrams.hash new file mode 100644 index 00000000..164d333f --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66649-0.txt.input.bigrams.hash @@ -0,0 +1 @@ +dd52f770f92f6e01a3159c6f62606436e78e1e54fa983efe8b953fceaa901c3f diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams/6665-8.txt.input.bigrams.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/6665-8.txt.input.bigrams.hash new file mode 100644 index 00000000..b67ccfb4 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/6665-8.txt.input.bigrams.hash @@ -0,0 +1 @@ +53eb936d8f4df58f7b134ccb2085160d03b6abb6be0fbdbc5526a5c1e7747edb diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66650-0.txt.input.bigrams.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66650-0.txt.input.bigrams.hash new file mode 100644 index 00000000..de6bd712 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66650-0.txt.input.bigrams.hash @@ -0,0 +1 @@ +589e9266d4ce9a8fa4f6847c8e51752c735b492d47b3b5c1ecedeff207e9ee9a diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66651-0.txt.input.bigrams.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66651-0.txt.input.bigrams.hash new file mode 100644 index 00000000..dbe68814 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66651-0.txt.input.bigrams.hash @@ -0,0 +1 @@ +286e2ac8b789557b504044bb1212fcf8f93b408eadc0cf77b20165c5bd5dbd9f diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66652-0.txt.input.bigrams.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66652-0.txt.input.bigrams.hash new file mode 100644 index 00000000..9df97628 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66652-0.txt.input.bigrams.hash @@ -0,0 +1 @@ +2c8618fbcdacc1ec33811eeece0e9ee8be78b2c7faba2393b37754aca9f62b66 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66653-0.txt.input.bigrams.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66653-0.txt.input.bigrams.hash new file mode 100644 index 00000000..79e3ffe5 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66653-0.txt.input.bigrams.hash @@ -0,0 +1 @@ +c9a0c0473cc20fd408007f780f2d094633313cbaad6ce685c128b8083d10729b diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66654-0.txt.input.bigrams.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66654-0.txt.input.bigrams.hash new file mode 100644 index 00000000..dd4b929d --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66654-0.txt.input.bigrams.hash @@ -0,0 +1 @@ +002b3616a1f374bd469dfbe00647b2c968caa61e614888c6e1861d961e8b80b7 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66655-0.txt.input.bigrams.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66655-0.txt.input.bigrams.hash new file mode 100644 index 00000000..e4a1303c --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66655-0.txt.input.bigrams.hash @@ -0,0 +1 @@ +da14f2d6301ee19e4f501148f885f3332ba99f9fdd4e1354f25b27efbffc4892 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66656-0.txt.input.bigrams.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66656-0.txt.input.bigrams.hash new file mode 100644 index 00000000..00bc1912 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66656-0.txt.input.bigrams.hash @@ -0,0 +1 @@ +10fa53fea92defcac6f8feaaf700f46e066180159a465fcd9f5b074d18b8ba77 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66657-0.txt.input.bigrams.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66657-0.txt.input.bigrams.hash new file mode 100644 index 00000000..d6e34510 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66657-0.txt.input.bigrams.hash @@ -0,0 +1 @@ +ec49955d0a964ef0749cb399f4375c168b7234d8ef641caa543007b0b5e97311 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66658-0.txt.input.bigrams.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66658-0.txt.input.bigrams.hash new file mode 100644 index 00000000..c851916d --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66658-0.txt.input.bigrams.hash @@ -0,0 +1 @@ +ed56aa5ecf24b9b630267c74a2e5afe906580bf2d9c74c5efb92f5de66b9d476 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66659-0.txt.input.bigrams.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66659-0.txt.input.bigrams.hash new file mode 100644 index 00000000..f8f698de --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66659-0.txt.input.bigrams.hash @@ -0,0 +1 @@ +49e63ae3d0825425e0e60752cc556b6e6eee827b675f2f3a7fc7c5d7a8cd0709 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams/6666-0.txt.input.bigrams.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/6666-0.txt.input.bigrams.hash new file mode 100644 index 00000000..a2daa7fc --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/6666-0.txt.input.bigrams.hash @@ -0,0 +1 @@ +5764cad01a461cb8a313f28b01f1a3210505db0071b4e44be8118ef064cccd86 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66660-0.txt.input.bigrams.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66660-0.txt.input.bigrams.hash new file mode 100644 index 00000000..9c8d4afd --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66660-0.txt.input.bigrams.hash @@ -0,0 +1 @@ +2a8ffe376b303f322ed33245e445ea378f66f0a26159bc75eae98eea5ec20c4b diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66661-0.txt.input.bigrams.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66661-0.txt.input.bigrams.hash new file mode 100644 index 00000000..64b4d0f9 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66661-0.txt.input.bigrams.hash @@ -0,0 +1 @@ +4abbae75641c8893d932dd618e7e361c78897a0b81430b7052fe9040405fa6c6 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66662-0.txt.input.bigrams.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66662-0.txt.input.bigrams.hash new file mode 100644 index 00000000..7c2e0b71 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66662-0.txt.input.bigrams.hash @@ -0,0 +1 @@ +728076ac9f6b2f3718f2a629faf0f283f46d1cf649b2482fbc0c80088a44735a diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66663-0.txt.input.bigrams.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66663-0.txt.input.bigrams.hash new file mode 100644 index 00000000..711b80ca --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66663-0.txt.input.bigrams.hash @@ -0,0 +1 @@ +8689399ef3ce1d83eab3fd793ca1b0bd7ca8c50495aba09113e4b1b4c372034d diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66664-0.txt.input.bigrams.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66664-0.txt.input.bigrams.hash new file mode 100644 index 00000000..f469eab1 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66664-0.txt.input.bigrams.hash @@ -0,0 +1 @@ +152b04382ba5b9434a2341d1ad82b0f21b467494c1245d5857f14f5173de9e37 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66665-0.txt.input.bigrams.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66665-0.txt.input.bigrams.hash new file mode 100644 index 00000000..b7af9222 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66665-0.txt.input.bigrams.hash @@ -0,0 +1 @@ +d93efe9e127456b4e9b0cd2831b7639232e0d64cbb9035b3526398e3c47b1a0f diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66666-0.txt.input.bigrams.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66666-0.txt.input.bigrams.hash new file mode 100644 index 00000000..12bd25ce --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66666-0.txt.input.bigrams.hash @@ -0,0 +1 @@ +053be70fa87f451f5610412c54d6d877792a1735132c3b90fdccc7f689f79bea diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66667-0.txt.input.bigrams.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66667-0.txt.input.bigrams.hash new file mode 100644 index 00000000..6a71cbe6 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66667-0.txt.input.bigrams.hash @@ -0,0 +1 @@ +5fad94880d334f438f55109578ce36907d1574650eaa3d88c8cbf7b4c7110395 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66668-0.txt.input.bigrams.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66668-0.txt.input.bigrams.hash new file mode 100644 index 00000000..9f451c05 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66668-0.txt.input.bigrams.hash @@ -0,0 +1 @@ +4b2e10f3c8d47a495890c0165e5718e0b08ecc0296e1005a08ebdb59d162cf0c diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66669-0.txt.input.bigrams.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66669-0.txt.input.bigrams.hash new file mode 100644 index 00000000..97574009 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66669-0.txt.input.bigrams.hash @@ -0,0 +1 @@ +8327e433aefd828f910bec63fa2509e88289ebb9d25a037225935a4f8b47a745 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams/6667-0.txt.input.bigrams.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/6667-0.txt.input.bigrams.hash new file mode 100644 index 00000000..39cb976b --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/6667-0.txt.input.bigrams.hash @@ -0,0 +1 @@ +30c672d99bd94485f796835a905a08976e2c83a13fe2fa26f91490352f23347c diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66670-0.txt.input.bigrams.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66670-0.txt.input.bigrams.hash new file mode 100644 index 00000000..50498b5b --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66670-0.txt.input.bigrams.hash @@ -0,0 +1 @@ +86480426c71acb5f63525f85cb01e23ee6595fcbeb18139fbd8273f2086ca218 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66671-0.txt.input.bigrams.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66671-0.txt.input.bigrams.hash new file mode 100644 index 00000000..d77e0ffe --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66671-0.txt.input.bigrams.hash @@ -0,0 +1 @@ +b207b808c2f5c238a8b77779d8d6618bed2cf5c7f9fee3df9d1698f78bcfa0e1 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66672-0.txt.input.bigrams.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66672-0.txt.input.bigrams.hash new file mode 100644 index 00000000..fcc3634e --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66672-0.txt.input.bigrams.hash @@ -0,0 +1 @@ +f5770b901527d3084ddd10a38648d077a01e78a4b93ed9c81b293d0fab93ef6b diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66673-0.txt.input.bigrams.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66673-0.txt.input.bigrams.hash new file mode 100644 index 00000000..f1b9050d --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66673-0.txt.input.bigrams.hash @@ -0,0 +1 @@ +757b2cc981e5d5cecc2fc52904e142dbafff3824ddd9994489a406a43e308973 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66674-0.txt.input.bigrams.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66674-0.txt.input.bigrams.hash new file mode 100644 index 00000000..ff9b4829 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66674-0.txt.input.bigrams.hash @@ -0,0 +1 @@ +68aa2d4c298e025e4a973e041b874e308251814353824960fb328ca3584c3781 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66675-0.txt.input.bigrams.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66675-0.txt.input.bigrams.hash new file mode 100644 index 00000000..529e0665 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66675-0.txt.input.bigrams.hash @@ -0,0 +1 @@ +30c77eab46da97849c0f937265ce69c621f46b1e206cc90e940831eae2199d37 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66676-0.txt.input.bigrams.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66676-0.txt.input.bigrams.hash new file mode 100644 index 00000000..406bd618 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66676-0.txt.input.bigrams.hash @@ -0,0 +1 @@ +9c261239aedc3debb407ed5caaa8477412a66319b257bc92257289c6c963f71e diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66677-0.txt.input.bigrams.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66677-0.txt.input.bigrams.hash new file mode 100644 index 00000000..49221c50 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66677-0.txt.input.bigrams.hash @@ -0,0 +1 @@ +77e5d6441abd17bad2f486dd892f72b37e959dcd00dfaf36044e21ee9bbf2f0a diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66678-0.txt.input.bigrams.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66678-0.txt.input.bigrams.hash new file mode 100644 index 00000000..94fae268 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66678-0.txt.input.bigrams.hash @@ -0,0 +1 @@ +8608de8350f43e2d9b01ae75fc48b99517f8e015581f426acc08b45ee39df34e diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66679-0.txt.input.bigrams.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66679-0.txt.input.bigrams.hash new file mode 100644 index 00000000..2126e41d --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66679-0.txt.input.bigrams.hash @@ -0,0 +1 @@ +0b6a8ee831dbefafc1cd21cdaf412de8a865fba678e8999c95d3b29620babaff diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66680-0.txt.input.bigrams.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66680-0.txt.input.bigrams.hash new file mode 100644 index 00000000..efd98ae8 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66680-0.txt.input.bigrams.hash @@ -0,0 +1 @@ +135d3bdcdc2db56b428c705114f6282bc86c0501c9d15474891cf30bdabf3a14 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66681-0.txt.input.bigrams.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66681-0.txt.input.bigrams.hash new file mode 100644 index 00000000..90f84d7a --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66681-0.txt.input.bigrams.hash @@ -0,0 +1 @@ +1e1d40a40c038976325ced2a4c277ec94fc7a37cf8318db4a5985abd0ed78f16 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66682-0.txt.input.bigrams.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66682-0.txt.input.bigrams.hash new file mode 100644 index 00000000..6ddbfd5e --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66682-0.txt.input.bigrams.hash @@ -0,0 +1 @@ +3854fcbc5d2107e003221fb70d8ca4e9af190573de23ad1a2dd3130ba5c4cc62 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66683-0.txt.input.bigrams.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66683-0.txt.input.bigrams.hash new file mode 100644 index 00000000..1db6e0dc --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66683-0.txt.input.bigrams.hash @@ -0,0 +1 @@ +ac718757210cdc4fa473a195c5f6fb8204f760ae05600297b38d88af54f03bdb diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66684-0.txt.input.bigrams.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66684-0.txt.input.bigrams.hash new file mode 100644 index 00000000..854631d7 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66684-0.txt.input.bigrams.hash @@ -0,0 +1 @@ +6f9c4bc1c621c4edef6b24ae2eb299d6434deef330fa9bb5c1008ac076347c65 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66685-0.txt.input.bigrams.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66685-0.txt.input.bigrams.hash new file mode 100644 index 00000000..db3618e7 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66685-0.txt.input.bigrams.hash @@ -0,0 +1 @@ +3a6a172b57e853066ec6c8315218531df94beb421be952db450337e16d820a11 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66686-0.txt.input.bigrams.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66686-0.txt.input.bigrams.hash new file mode 100644 index 00000000..470bd7d6 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66686-0.txt.input.bigrams.hash @@ -0,0 +1 @@ +d70e7a28c9255374e1bf4f2b371af616cb4755aee5537411b628264fb7ab7f87 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66687-0.txt.input.bigrams.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66687-0.txt.input.bigrams.hash new file mode 100644 index 00000000..f25692a1 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66687-0.txt.input.bigrams.hash @@ -0,0 +1 @@ +ae806cc4b297b8701b4ea50a70f3878469da0be143972494732bdcb46245e82c diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66688-0.txt.input.bigrams.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66688-0.txt.input.bigrams.hash new file mode 100644 index 00000000..8ffaa2cf --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66688-0.txt.input.bigrams.hash @@ -0,0 +1 @@ +92f7477deecea1cfbe047267243d7ec926b4f293b8295e96a6a5180f237f5792 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66689-0.txt.input.bigrams.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66689-0.txt.input.bigrams.hash new file mode 100644 index 00000000..47a18673 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66689-0.txt.input.bigrams.hash @@ -0,0 +1 @@ +013fa32bde5203362946a0254ecf751edbdfe0f2861aa5cb71965a25d9164c15 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams/6669.txt.input.bigrams.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/6669.txt.input.bigrams.hash new file mode 100644 index 00000000..9b243105 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/6669.txt.input.bigrams.hash @@ -0,0 +1 @@ +774226cf865c07a99217198eae5adbd0751b106bb5f6219060d6891ffafa48c8 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66690-0.txt.input.bigrams.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66690-0.txt.input.bigrams.hash new file mode 100644 index 00000000..d111a0f9 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66690-0.txt.input.bigrams.hash @@ -0,0 +1 @@ +a860f2e23936adfbfd715157f0ab53d252b233188d8b37467ebcdc816bf46dc4 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66691-0.txt.input.bigrams.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66691-0.txt.input.bigrams.hash new file mode 100644 index 00000000..e9a5e680 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66691-0.txt.input.bigrams.hash @@ -0,0 +1 @@ +fcbe63fd04c8ad0f5435343dc7b4e019a4c406008c9904848bd05516ea547ce2 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66692-0.txt.input.bigrams.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66692-0.txt.input.bigrams.hash new file mode 100644 index 00000000..089aa3fb --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66692-0.txt.input.bigrams.hash @@ -0,0 +1 @@ +c6c65a658bc6a3a5819c2634dd25607ad5ba33468451f02c57dfb2daa59ce467 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66693-0.txt.input.bigrams.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66693-0.txt.input.bigrams.hash new file mode 100644 index 00000000..3826f0e3 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66693-0.txt.input.bigrams.hash @@ -0,0 +1 @@ +f6a864b20a66cbcbb8881bfa0cb8747fead076f818ffc79930b4f9d7338c2787 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66694-0.txt.input.bigrams.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66694-0.txt.input.bigrams.hash new file mode 100644 index 00000000..dc97bd62 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66694-0.txt.input.bigrams.hash @@ -0,0 +1 @@ +cc5abaf955aad19990295764d267e0e29d55f9d2843d9ea1b0854cc2323f257f diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66695-0.txt.input.bigrams.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66695-0.txt.input.bigrams.hash new file mode 100644 index 00000000..0c1b0f9d --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66695-0.txt.input.bigrams.hash @@ -0,0 +1 @@ +14aaf5233b894ec41a84b69645b6b907a87f391fa0bf83669c4a540cdcf723d5 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66696-0.txt.input.bigrams.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66696-0.txt.input.bigrams.hash new file mode 100644 index 00000000..c9c6e8ad --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66696-0.txt.input.bigrams.hash @@ -0,0 +1 @@ +cbc7609752c8df02122a342f9ab335d39657effd72babb6c5b7f5f46b7c5f5d8 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66697-0.txt.input.bigrams.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66697-0.txt.input.bigrams.hash new file mode 100644 index 00000000..ed7885bf --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66697-0.txt.input.bigrams.hash @@ -0,0 +1 @@ +38f4c73308fb0a414179638df4a0c15c0592256fadafca4f66b770a9b5b39500 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66698-0.txt.input.bigrams.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66698-0.txt.input.bigrams.hash new file mode 100644 index 00000000..4a1906ef --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66698-0.txt.input.bigrams.hash @@ -0,0 +1 @@ +5af972076379e92ce7ee92619e4df3cd1f3a923aac1c26c8530e742c6eb1deb1 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66699-0.txt.input.bigrams.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66699-0.txt.input.bigrams.hash new file mode 100644 index 00000000..5bc6df4e --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/66699-0.txt.input.bigrams.hash @@ -0,0 +1 @@ +97653b7a1d67b319106c51b2b8a65a863f0afc79f9df2c8cfb9e16b45c568227 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams/fchld10.txt.input.bigrams.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/fchld10.txt.input.bigrams.hash new file mode 100644 index 00000000..7f39b816 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/fchld10.txt.input.bigrams.hash @@ -0,0 +1 @@ +899077c6316f135586cfe17ddbc1f545ef37c79e102a425ed6be1db7844218d9 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams/gdlns10.txt.input.bigrams.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/gdlns10.txt.input.bigrams.hash new file mode 100644 index 00000000..6433fea6 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/gdlns10.txt.input.bigrams.hash @@ -0,0 +1 @@ +5fe47c264ed4bfaf1c495ccac6b9fb4b3d2f38a001d8c2f014982b3e9ac76843 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams/helb10.txt.input.bigrams.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/helb10.txt.input.bigrams.hash new file mode 100644 index 00000000..0b049058 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/helb10.txt.input.bigrams.hash @@ -0,0 +1 @@ +192c290ed76251b1a37021173b7986a2f9e999cf88b656002298dfdabd0d53e6 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams/lttlc10.txt.input.bigrams.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/lttlc10.txt.input.bigrams.hash new file mode 100644 index 00000000..0d6a2851 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/lttlc10.txt.input.bigrams.hash @@ -0,0 +1 @@ +b168644d35863925b7463475c9610bb0dac9005fe577b6629e1b770be92eb022 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams/manif11.txt.input.bigrams.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/manif11.txt.input.bigrams.hash new file mode 100644 index 00000000..231c9a79 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/manif11.txt.input.bigrams.hash @@ -0,0 +1 @@ +aaded689f8be451a8deddc54c6e97af899d58069981edb35bff05b138bba233c diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams/manif12.txt.input.bigrams.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/manif12.txt.input.bigrams.hash new file mode 100644 index 00000000..012667be --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/manif12.txt.input.bigrams.hash @@ -0,0 +1 @@ +3d3fe54fb449dede65342221f0ccf44df13a73ff1576be3891d227201da5cc35 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams/pgw050ab.txt.input.bigrams.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/pgw050ab.txt.input.bigrams.hash new file mode 100644 index 00000000..db90945e --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/pgw050ab.txt.input.bigrams.hash @@ -0,0 +1 @@ +dc46c06aa21e75b8bf993432c7eefb454d2c1446ce59bfc414162024a526498a diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams/pgw050mo.txt.input.bigrams.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/pgw050mo.txt.input.bigrams.hash new file mode 100644 index 00000000..db0727ec --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/pgw050mo.txt.input.bigrams.hash @@ -0,0 +1 @@ +698f57c54c4b70a91dd70f3708fa44ae6ce0bf5cc1822099a089502e693a3784 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams/pgw050pq.txt.input.bigrams.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/pgw050pq.txt.input.bigrams.hash new file mode 100644 index 00000000..2e9264fd --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/pgw050pq.txt.input.bigrams.hash @@ -0,0 +1 @@ +731129f8cac5662fe0ceaec60e4764aa2a4feb37f7abe97fdc3d4f1794ac0b68 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams/pgwab04.txt.input.bigrams.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/pgwab04.txt.input.bigrams.hash new file mode 100644 index 00000000..2b780f2f --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/pgwab04.txt.input.bigrams.hash @@ -0,0 +1 @@ +95a02fa0733f91616828f85aabfacd7542a5cc1abcabfcd346a7e68a462a3478 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams/pgwmo04.txt.input.bigrams.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/pgwmo04.txt.input.bigrams.hash new file mode 100644 index 00000000..985895db --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/pgwmo04.txt.input.bigrams.hash @@ -0,0 +1 @@ +45aceba726e9c5aa10f9f0933df1e0d5d0a1b2a404fc6ef3fa21146fa0407dac diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams/pgwpq04.txt.input.bigrams.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/pgwpq04.txt.input.bigrams.hash new file mode 100644 index 00000000..2c14f9ae --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/pgwpq04.txt.input.bigrams.hash @@ -0,0 +1 @@ +e67f79fd08e920374888f79cde9c10a20ca480d9c50d7a3d4fce943a4751954b diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams/ppow10.txt.input.bigrams.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/ppow10.txt.input.bigrams.hash new file mode 100644 index 00000000..a19bb801 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/ppow10.txt.input.bigrams.hash @@ -0,0 +1 @@ +76addecea665103b9858e6c55bd8ea192cdb73738b92fc9d24d6d5c0be4b4807 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams/teop210.txt.input.bigrams.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/teop210.txt.input.bigrams.hash new file mode 100644 index 00000000..502a508d --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/teop210.txt.input.bigrams.hash @@ -0,0 +1 @@ +e58ef765e45f8fb85dc03c78d6f3b561eee7d718fbe83f9494d2288e4ff3d606 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams/wvr1210.txt.input.bigrams.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/wvr1210.txt.input.bigrams.hash new file mode 100644 index 00000000..53b72829 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams/wvr1210.txt.input.bigrams.hash @@ -0,0 +1 @@ +845846ba0285cca248ec3c8193944789f40d9f7bfa7ff1abe5c319c166e720ea diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/61-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/61-0.txt.hash new file mode 100644 index 00000000..4e668c89 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/61-0.txt.hash @@ -0,0 +1 @@ +b4de0c8aa7e7c9b2a461fb9859c6d6132d5503d9541116ec38de3d279e200282 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/61.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/61.txt.hash new file mode 100644 index 00000000..aecc78d4 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/61.txt.hash @@ -0,0 +1 @@ +5952e8c58f04db0cb422ccdaaa54b162a8d67532544ff21a70dd6b88b46b2ac9 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/655.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/655.txt.hash new file mode 100644 index 00000000..23646591 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/655.txt.hash @@ -0,0 +1 @@ +17aa5f4a23924384885c3645d4b7457a0c6bb8879699d9de8c0e7bb4fb701f4a diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/660.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/660.txt.hash new file mode 100644 index 00000000..b915c03b --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/660.txt.hash @@ -0,0 +1 @@ +382af1b8238a0dacb66af9f8b87c60150f8a768d8140cfc1ee2169cb81337030 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/665.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/665.txt.hash new file mode 100644 index 00000000..4e6ff294 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/665.txt.hash @@ -0,0 +1 @@ +c07e15eac5fba81ef30ba451184adba166d4ff144e39cae4499cbdd16e314048 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/666.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/666.txt.hash new file mode 100644 index 00000000..c70529ae --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/666.txt.hash @@ -0,0 +1 @@ +6a84440ae34127f795cd0bb18e7bd302e5f3dba0a633ca3d25cd83ae9d751c9f diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/6660.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/6660.txt.hash new file mode 100644 index 00000000..9bfdc610 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/6660.txt.hash @@ -0,0 +1 @@ +03f634d8b6ae161dbba4c4d0fb4cfe7f4d3fb9fd7e9e855fb6257a41a16ab295 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66600-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66600-0.txt.hash new file mode 100644 index 00000000..2eaeefca --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66600-0.txt.hash @@ -0,0 +1 @@ +72a28c25880e2a74dbca9f795af6f815283ad225272be8e0e8bfde413460a2eb diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66601-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66601-0.txt.hash new file mode 100644 index 00000000..5b78fa28 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66601-0.txt.hash @@ -0,0 +1 @@ +2be634a6ce28f711f94afc17702173270899bdd6666904db045964c5518972ac diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66602-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66602-0.txt.hash new file mode 100644 index 00000000..c2e76d64 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66602-0.txt.hash @@ -0,0 +1 @@ +6b684ebb9d4031e7f6b9e3afeea61690f719ede72dad01766a11e669da41f450 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66603-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66603-0.txt.hash new file mode 100644 index 00000000..241d867f --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66603-0.txt.hash @@ -0,0 +1 @@ +08b30ac4cf0e8ea434105565d2c632920be858848b78d77cad1c1278ace6b01b diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66604-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66604-0.txt.hash new file mode 100644 index 00000000..ec012d58 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66604-0.txt.hash @@ -0,0 +1 @@ +617a8d6a42c11c478fffa78dc53a90dc4d46e69b9c9827cffeec22fa28345d82 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66605-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66605-0.txt.hash new file mode 100644 index 00000000..b03a553c --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66605-0.txt.hash @@ -0,0 +1 @@ +166d1bda1367d635b92f971e97cdcc74e897046a1babfb6d3c1a4574ffb0f78f diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66606-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66606-0.txt.hash new file mode 100644 index 00000000..e240f319 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66606-0.txt.hash @@ -0,0 +1 @@ +72258e27dd65ff44bb4f0f30ad279095105b84fe9d644a7220467efeb68401e5 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66607-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66607-0.txt.hash new file mode 100644 index 00000000..6fb3a071 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66607-0.txt.hash @@ -0,0 +1 @@ +48f011b5a6c20218061e3f6b911710d5213b7afb87cd2c595a4ab21403241117 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66608-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66608-0.txt.hash new file mode 100644 index 00000000..1c8c3c6d --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66608-0.txt.hash @@ -0,0 +1 @@ +9063dc76d83fff80b57b9c57496d3d914f4fabd8d739f172d4033d9d44fae298 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66609-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66609-0.txt.hash new file mode 100644 index 00000000..556decf1 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66609-0.txt.hash @@ -0,0 +1 @@ +94cd92c43aa166c8402d735b9b7cdb9d7ab1442f75328f6962b1e8bb117fca23 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/6661.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/6661.txt.hash new file mode 100644 index 00000000..90ac01ee --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/6661.txt.hash @@ -0,0 +1 @@ +b3c0b588b1ad4e9d0ee395761ded9438a9312b8ff5e4f4fa1939e72026e12b77 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/6662.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/6662.txt.hash new file mode 100644 index 00000000..7715d712 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/6662.txt.hash @@ -0,0 +1 @@ +cf04731eb47f54e5e2f80c68fbad9d7e3aaf8e5f81e909a050b92a5d0da8acc2 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66620-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66620-0.txt.hash new file mode 100644 index 00000000..f66caa8f --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66620-0.txt.hash @@ -0,0 +1 @@ +d031923c438f5e3e8d3915eef0d26d6b1555a0ba4f22edeba324761deb14cb3e diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66621-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66621-0.txt.hash new file mode 100644 index 00000000..15da396f --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66621-0.txt.hash @@ -0,0 +1 @@ +00f78767f70bb49349819eb69973530834adababd9aff9f93cef39654786db9b diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66622-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66622-0.txt.hash new file mode 100644 index 00000000..8bb4d5e7 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66622-0.txt.hash @@ -0,0 +1 @@ +b83af403912e725ebd29a57edae66257cc684bc677c0d87ab2010ae0a91967ca diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66623-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66623-0.txt.hash new file mode 100644 index 00000000..b450030f --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66623-0.txt.hash @@ -0,0 +1 @@ +f799fcd87118ed125eeb75d39a83b1e3d5bcf904ce8de62091c31ae74058ac1a diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66624-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66624-0.txt.hash new file mode 100644 index 00000000..a287c368 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66624-0.txt.hash @@ -0,0 +1 @@ +bac38e66f7bc769a651f057ec1a8e8350f558d6f54ed2e49eb074c7c30c9b2a5 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66625-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66625-0.txt.hash new file mode 100644 index 00000000..7ede0ce8 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66625-0.txt.hash @@ -0,0 +1 @@ +231eafd6dc3f90dda28262acb93acb176f5e6cafd0b5c4f9b2ccb950003fd332 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66626-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66626-0.txt.hash new file mode 100644 index 00000000..3ce5a53e --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66626-0.txt.hash @@ -0,0 +1 @@ +478aa20096f341cab3be3fdbc22661b327eb2641720422376b25f58de2ba60a3 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66627-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66627-0.txt.hash new file mode 100644 index 00000000..203710ba --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66627-0.txt.hash @@ -0,0 +1 @@ +3ee916cbb8f723e446d62b4f33f9ae3fbeef3e1ba191e4f2704f626baefec84e diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66628-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66628-0.txt.hash new file mode 100644 index 00000000..9be099ee --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66628-0.txt.hash @@ -0,0 +1 @@ +79c16afa65d62ec63afda2fcd5ffd8658175281d4bdb7e6aede66044c597230b diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66629-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66629-0.txt.hash new file mode 100644 index 00000000..bd04f8f5 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66629-0.txt.hash @@ -0,0 +1 @@ +921e8c57bea46273a902a8b344ec13e876c5c41723cc72c247ecdd6fdaf8c83f diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/6663.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/6663.txt.hash new file mode 100644 index 00000000..ac0a048e --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/6663.txt.hash @@ -0,0 +1 @@ +377cb27cdb696e749786afdf41b3a8634ff0e1670e85a409ae630b14bdecbc12 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66630-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66630-0.txt.hash new file mode 100644 index 00000000..bab26a6a --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66630-0.txt.hash @@ -0,0 +1 @@ +041a52a6a1baa5cd73858eae990b02421c871519580c047ad0a277fcb4a2c7dd diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66631-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66631-0.txt.hash new file mode 100644 index 00000000..c51a8e0d --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66631-0.txt.hash @@ -0,0 +1 @@ +ab11e1b6c185f314dd6c8adbfa6d458695fa4f42d65980bc6f992834efe2e64f diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66632-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66632-0.txt.hash new file mode 100644 index 00000000..15354e4c --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66632-0.txt.hash @@ -0,0 +1 @@ +5c78bdd5a996f9f4aecd36ed439dbd804040ab1705d2bedb3700435327195c10 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66633-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66633-0.txt.hash new file mode 100644 index 00000000..7ae3f23e --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66633-0.txt.hash @@ -0,0 +1 @@ +b8b50912beafbdb0db20e6f9f71a45c6286a81adf0c90772d632b6517d46748f diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66634-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66634-0.txt.hash new file mode 100644 index 00000000..c62954f7 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66634-0.txt.hash @@ -0,0 +1 @@ +d3ba8cd6415af253b6557e78c182033225f07a998651865ca9fe9b908ca3691b diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66635-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66635-0.txt.hash new file mode 100644 index 00000000..e00121bf --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66635-0.txt.hash @@ -0,0 +1 @@ +7ff7d2eaa72c73def676cee47df2d59cdb99c3e31a5266ba948f6ad23e0674f0 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66636-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66636-0.txt.hash new file mode 100644 index 00000000..57db482d --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66636-0.txt.hash @@ -0,0 +1 @@ +15511d756670cfbdb30790dd442cd9d104c0216b707b3313a5855025c819a988 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66637-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66637-0.txt.hash new file mode 100644 index 00000000..48218f8c --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66637-0.txt.hash @@ -0,0 +1 @@ +538a47129bbc5205ebf1db1a188366eafc4a2d40c760760cd3c703df00f04987 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66638-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66638-0.txt.hash new file mode 100644 index 00000000..82e92c49 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66638-0.txt.hash @@ -0,0 +1 @@ +c73dcbc5591879ba08faac11d03bede7f9e71945e7b5ada7258a8c0b91c47baa diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66639-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66639-0.txt.hash new file mode 100644 index 00000000..d8f234af --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66639-0.txt.hash @@ -0,0 +1 @@ +fa6ea392eeb19460b22b7c741a7936d7fb39bb0186aaedd6def8e992916d26f9 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/6664-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/6664-0.txt.hash new file mode 100644 index 00000000..2806e443 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/6664-0.txt.hash @@ -0,0 +1 @@ +d45e4cb3e5378d25c63f703f9c127dca788174f65c8d2b9c58f8f658bd7abaad diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/6664.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/6664.txt.hash new file mode 100644 index 00000000..2806e443 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/6664.txt.hash @@ -0,0 +1 @@ +d45e4cb3e5378d25c63f703f9c127dca788174f65c8d2b9c58f8f658bd7abaad diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66640-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66640-0.txt.hash new file mode 100644 index 00000000..5c805577 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66640-0.txt.hash @@ -0,0 +1 @@ +7bd70866226956069a27465f3c071ebb5e0c2c1dc2efbba41b7925a165590e26 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66641-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66641-0.txt.hash new file mode 100644 index 00000000..46acfad6 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66641-0.txt.hash @@ -0,0 +1 @@ +5344a59e7d162333d062a7ec2b698e637c59894ef41b5621a17b6ddfca7af428 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66642-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66642-0.txt.hash new file mode 100644 index 00000000..1afb9098 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66642-0.txt.hash @@ -0,0 +1 @@ +31170c7a57665d6a9b20c5134b4f33258afbb6b4a53f8aaad10bc226d5b73c1a diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66643-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66643-0.txt.hash new file mode 100644 index 00000000..a2acc4aa --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66643-0.txt.hash @@ -0,0 +1 @@ +5ee50b57acabd0e4cd8dee3394c5b511876e7372409338f031a9f3089334d760 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66645-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66645-0.txt.hash new file mode 100644 index 00000000..685fa870 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66645-0.txt.hash @@ -0,0 +1 @@ +a1d670688c34ef8bb341d068f1f3e0790fd7b21e60c9059c542c0961f26f9696 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66646-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66646-0.txt.hash new file mode 100644 index 00000000..444bb3f6 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66646-0.txt.hash @@ -0,0 +1 @@ +4920d4a9b0ac52bd540bdad4661a88aa8a628ed5f112ac771777f2f7eb7508c2 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66647-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66647-0.txt.hash new file mode 100644 index 00000000..e2ef523c --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66647-0.txt.hash @@ -0,0 +1 @@ +734a9ac8c94d34ffeec6f45da2d932d80a1c65c931dec7548d810a2ea97f8dff diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66648-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66648-0.txt.hash new file mode 100644 index 00000000..5e4ce3b2 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66648-0.txt.hash @@ -0,0 +1 @@ +7a49dcc8fbf21556b3e6f65c288f19bc0e3c105a6efabd71d15d4ac6b7895766 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66649-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66649-0.txt.hash new file mode 100644 index 00000000..fb187971 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66649-0.txt.hash @@ -0,0 +1 @@ +ac48d9b6db37ab9af3f506fcac8afc6e0c6f5624d7f53d5c82c4e7c4453bcdc4 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/6665-8.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/6665-8.txt.hash new file mode 100644 index 00000000..1dcc9ab9 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/6665-8.txt.hash @@ -0,0 +1 @@ +03827a1b9e295fa059b8e85897c52663556cd90cc2449314fad7c6b38562ce95 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66650-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66650-0.txt.hash new file mode 100644 index 00000000..9b0556db --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66650-0.txt.hash @@ -0,0 +1 @@ +037d6bcf71db6486d5ecfd1ee6b199500e4017acaaf0c1f6ef1dc1b7ae579bf3 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66651-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66651-0.txt.hash new file mode 100644 index 00000000..44ba909f --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66651-0.txt.hash @@ -0,0 +1 @@ +d63c1d0fed6d653c813e8480e6b77f413a498b8e7286c613d9d6a6964049ed6a diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66652-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66652-0.txt.hash new file mode 100644 index 00000000..79e92427 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66652-0.txt.hash @@ -0,0 +1 @@ +1ab8540bc2ef96975556b976e964c63a40a587d30ab0412abbf79133c9d200d0 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66653-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66653-0.txt.hash new file mode 100644 index 00000000..142cf5e8 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66653-0.txt.hash @@ -0,0 +1 @@ +dccb31cf83a6ed23146f901c8002a5aff113c887b93e2dbc9d4284f4cb516738 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66654-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66654-0.txt.hash new file mode 100644 index 00000000..839abb77 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66654-0.txt.hash @@ -0,0 +1 @@ +ac2e014686cd2fb20880eb9320c690c994adf1a2baf83da64b39dc5b7aeb707a diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66655-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66655-0.txt.hash new file mode 100644 index 00000000..85623995 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66655-0.txt.hash @@ -0,0 +1 @@ +75fd21b840f0bbabd5668a8f2ac42beb05e13c0ae0e4ddcb4e4d7f263a051c32 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66656-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66656-0.txt.hash new file mode 100644 index 00000000..24e14e2d --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66656-0.txt.hash @@ -0,0 +1 @@ +48c6c4de2a40656119ff78b498a10beaefe2ac3bf11bd91108f56660c999ee59 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66657-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66657-0.txt.hash new file mode 100644 index 00000000..836a7fc0 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66657-0.txt.hash @@ -0,0 +1 @@ +71dd43387b5b8f64d89f1a0683b5a14c09aad3f8a77a71cbfd1ca61dcf627c65 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66658-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66658-0.txt.hash new file mode 100644 index 00000000..c30bb5d9 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66658-0.txt.hash @@ -0,0 +1 @@ +c0f777cdcb96af49122f2e5702a413d394836a628a75a4d659f015498898a350 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66659-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66659-0.txt.hash new file mode 100644 index 00000000..d6a94679 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66659-0.txt.hash @@ -0,0 +1 @@ +ed3a8a31178aba1f633890cbecf7a2041e5d7131c48cbf90528391f955d05bec diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/6666-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/6666-0.txt.hash new file mode 100644 index 00000000..3a80435a --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/6666-0.txt.hash @@ -0,0 +1 @@ +63cc331ae488af91b7f6e8b6022514bcf076aad7e82103e17b8888171ad895c1 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66660-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66660-0.txt.hash new file mode 100644 index 00000000..76e8fea9 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66660-0.txt.hash @@ -0,0 +1 @@ +fb37e472bf135ba9aa4500c668c07a863164657d53bf5b7801d7d520646854d0 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66661-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66661-0.txt.hash new file mode 100644 index 00000000..0a224ad3 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66661-0.txt.hash @@ -0,0 +1 @@ +39b0b1166dc40be313e7fee28ecb091af613ecc6f3a04e87faa32eb3410089cc diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66662-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66662-0.txt.hash new file mode 100644 index 00000000..1edd014f --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66662-0.txt.hash @@ -0,0 +1 @@ +95c2c4f677afa70039686ab7dba3f37f063641cf01a882640a3629a3e46202d1 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66663-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66663-0.txt.hash new file mode 100644 index 00000000..efd3309b --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66663-0.txt.hash @@ -0,0 +1 @@ +a0528d89d4de9f567756b34a5f86a4aaafaa8a70ffcafb2a22bef6fab7620462 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66664-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66664-0.txt.hash new file mode 100644 index 00000000..1799727f --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66664-0.txt.hash @@ -0,0 +1 @@ +afe02f862142b519cc0e1c872552d5238c96fd03828573b217ec7cab1303ce0c diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66665-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66665-0.txt.hash new file mode 100644 index 00000000..11a8568d --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66665-0.txt.hash @@ -0,0 +1 @@ +8c672f9e6a18a808750ecc9ea8052c93127da94c6ac771aa0f91731a712edb39 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66666-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66666-0.txt.hash new file mode 100644 index 00000000..8553eaa2 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66666-0.txt.hash @@ -0,0 +1 @@ +51208af171f5949edb6ad344f965065fa66b79e014e948904a3b6d92aa31b55f diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66667-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66667-0.txt.hash new file mode 100644 index 00000000..ea4d0a4e --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66667-0.txt.hash @@ -0,0 +1 @@ +a09a9b08de5369c40e0b282d308d1ac518ab10d321bb418fcafc322d67b38c81 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66668-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66668-0.txt.hash new file mode 100644 index 00000000..0307df17 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66668-0.txt.hash @@ -0,0 +1 @@ +8c2934e001fe10055981d2676a25b5d4520a2df6e94ed72f6df7682a491e528c diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66669-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66669-0.txt.hash new file mode 100644 index 00000000..a5d19ebb --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66669-0.txt.hash @@ -0,0 +1 @@ +2eb5edb63d1f54955f13db023eb178d146a57ab9275d890150f5d13b1533bd6a diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/6667-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/6667-0.txt.hash new file mode 100644 index 00000000..3e09c6ff --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/6667-0.txt.hash @@ -0,0 +1 @@ +8cefa910e92baffc447d468d6d09035acabea0ed7eba51e602f16f7611dd84a7 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66670-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66670-0.txt.hash new file mode 100644 index 00000000..7767a95c --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66670-0.txt.hash @@ -0,0 +1 @@ +915d4b75abae894a35dfac8e94bf59ff7f66cabd32e03b56517094ffd864552d diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66671-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66671-0.txt.hash new file mode 100644 index 00000000..65be3b78 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66671-0.txt.hash @@ -0,0 +1 @@ +a4f0096ae053d375d012aba2f1eebbf2af9386c56888d6e6865db171719508ef diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66672-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66672-0.txt.hash new file mode 100644 index 00000000..b33daeb8 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66672-0.txt.hash @@ -0,0 +1 @@ +5e7f022700dc4b7fd8f95617b4df739052b6477b839083595b2400e45d8b0321 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66673-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66673-0.txt.hash new file mode 100644 index 00000000..32bfbb72 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66673-0.txt.hash @@ -0,0 +1 @@ +4a4820770135a9057d3c8e30eb88fc07de04b68b0c97ad7da3d7c8ded92eedad diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66674-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66674-0.txt.hash new file mode 100644 index 00000000..27a1ceef --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66674-0.txt.hash @@ -0,0 +1 @@ +e7e9d981962c870c7bc2a46e82f972705ca3389239adca0c9dae72494ce017a2 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66675-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66675-0.txt.hash new file mode 100644 index 00000000..5d37c562 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66675-0.txt.hash @@ -0,0 +1 @@ +c0ddbcc027212b12a041d39e737302900032c1dbd66d0db96755a605119e9335 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66676-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66676-0.txt.hash new file mode 100644 index 00000000..2ae7414d --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66676-0.txt.hash @@ -0,0 +1 @@ +983ecbcf9b8f24e3e57fedc819925c5415025e464029662e3085c8322ac5e5eb diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66677-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66677-0.txt.hash new file mode 100644 index 00000000..5446a011 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66677-0.txt.hash @@ -0,0 +1 @@ +966673a1ed4e65bbe2b572fa6307052f4b0e416027b864e048b13044fa6d92b3 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66678-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66678-0.txt.hash new file mode 100644 index 00000000..54c67777 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66678-0.txt.hash @@ -0,0 +1 @@ +f5855cb8c97b8d54a7fada0a0d0a40deca5fd6f2db764226f9f45608c1ab6b51 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66679-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66679-0.txt.hash new file mode 100644 index 00000000..8223e4d3 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66679-0.txt.hash @@ -0,0 +1 @@ +5eafd2a46a4d2614bdbadbac6a74193ae697b2963ecc1dc4c095dbda463a2f11 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66680-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66680-0.txt.hash new file mode 100644 index 00000000..4897213c --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66680-0.txt.hash @@ -0,0 +1 @@ +ba21c8156a8e6a7194ee98e9572aeba61235ce37ada812c524a414f3f01bf501 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66681-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66681-0.txt.hash new file mode 100644 index 00000000..57904e5d --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66681-0.txt.hash @@ -0,0 +1 @@ +dde67e503adf951aa58dba8c5559a3819949de54449496e1ab5043f23cbceb43 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66682-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66682-0.txt.hash new file mode 100644 index 00000000..a6447b46 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66682-0.txt.hash @@ -0,0 +1 @@ +4672d892389d5916895cd15d9659f20081173819fec1fafc233e61a300cb3206 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66683-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66683-0.txt.hash new file mode 100644 index 00000000..14e2f317 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66683-0.txt.hash @@ -0,0 +1 @@ +fc14fd733aa3f300519ec0893018134ef0c35b34751fa3bf6539d1c4f90c0cd8 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66684-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66684-0.txt.hash new file mode 100644 index 00000000..5ceb945b --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66684-0.txt.hash @@ -0,0 +1 @@ +de2f4fcac4bac13d1b346cd2bfe8dfe91e020f078c7ade5f6b671123f87a8fa7 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66685-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66685-0.txt.hash new file mode 100644 index 00000000..c479d00e --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66685-0.txt.hash @@ -0,0 +1 @@ +5af007ac145886af8a4e9abb423e088e9a24b325e4fab352fba9f8533d5ab48c diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66686-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66686-0.txt.hash new file mode 100644 index 00000000..46a8dd69 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66686-0.txt.hash @@ -0,0 +1 @@ +30a74754fbdbcf0f769d639e6b048c9489e15e7dee5c7d3d8dc43133e18159b6 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66687-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66687-0.txt.hash new file mode 100644 index 00000000..17fd84e9 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66687-0.txt.hash @@ -0,0 +1 @@ +22bc4c936962ef6d1b648443f6b6b6c6b71f80e6797921d661b006f3fb5ec7ce diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66688-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66688-0.txt.hash new file mode 100644 index 00000000..ed5041d1 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66688-0.txt.hash @@ -0,0 +1 @@ +1ec1fdf42a972c34662a70753c2e93732cb7140650a915b0e7e1c1b44798fe2b diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66689-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66689-0.txt.hash new file mode 100644 index 00000000..81e83a92 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66689-0.txt.hash @@ -0,0 +1 @@ +c7442db932d37ca6046e64c7b6baa2464a1e5bd790fcbaaca4764f4ec07569b5 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/6669.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/6669.txt.hash new file mode 100644 index 00000000..fe32624a --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/6669.txt.hash @@ -0,0 +1 @@ +ce2a1cabf3fe83d61a02fe69b7e66f1883eb3ca8da7e3f4fa7aac5efdae6ad8f diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66690-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66690-0.txt.hash new file mode 100644 index 00000000..2d110de3 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66690-0.txt.hash @@ -0,0 +1 @@ +8eff2cd477839c58cfb79e76e09e30b4fb5c7b88b3b79102db2a3bbf4d7e9767 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66691-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66691-0.txt.hash new file mode 100644 index 00000000..d8237856 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66691-0.txt.hash @@ -0,0 +1 @@ +1d702bd7b564d39f8debc1cfa11d4d2000830db03d949e211329d258654b56b8 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66692-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66692-0.txt.hash new file mode 100644 index 00000000..b97446d2 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66692-0.txt.hash @@ -0,0 +1 @@ +8b86f9d88089949b83d2baad8b59ff22f2f7dffd89af1eed05a5a7a105fda757 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66693-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66693-0.txt.hash new file mode 100644 index 00000000..60b73b77 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66693-0.txt.hash @@ -0,0 +1 @@ +e76c2a2c479c5f7e65794871a793268372744740436b36dc17392cef8d8fc39c diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66694-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66694-0.txt.hash new file mode 100644 index 00000000..a56c92db --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66694-0.txt.hash @@ -0,0 +1 @@ +175e801983705fb317f08f58cc42c0bc4fa38be45005e28e12179a3e1f37fc80 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66695-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66695-0.txt.hash new file mode 100644 index 00000000..854cd2d4 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66695-0.txt.hash @@ -0,0 +1 @@ +7159c43c57879f1ee47423c5dc30fe98bc9927ce38356ab8025eec7d38c153ff diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66696-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66696-0.txt.hash new file mode 100644 index 00000000..74c55131 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66696-0.txt.hash @@ -0,0 +1 @@ +4efd9057f4c23796a2d3dbc92ce20a2f6a29832ec3219a7a675449ef166c0a16 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66697-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66697-0.txt.hash new file mode 100644 index 00000000..1e5bb846 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66697-0.txt.hash @@ -0,0 +1 @@ +b145078b215f3351443cd671f94ea98d432c38d07b829b67c21099d754b9d92e diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66698-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66698-0.txt.hash new file mode 100644 index 00000000..a6f8e39a --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66698-0.txt.hash @@ -0,0 +1 @@ +eeeae3a4b1b3432432981fea749f6597e5295c4b646cee1d1bcb40d0beb70a5b diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66699-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66699-0.txt.hash new file mode 100644 index 00000000..508dff9c --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/66699-0.txt.hash @@ -0,0 +1 @@ +4f3a86947fccec6fe057f8a10dffd92b3786ec708a2dcd3bd545b7f4198bc4a2 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/fchld10.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/fchld10.txt.hash new file mode 100644 index 00000000..c2f1a6b1 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/fchld10.txt.hash @@ -0,0 +1 @@ +d8125909b9ab47c8a267bd526d532fc2afe30e1c02dc079cce706d88ee50d870 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/gdlns10.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/gdlns10.txt.hash new file mode 100644 index 00000000..47afbc00 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/gdlns10.txt.hash @@ -0,0 +1 @@ +f417fa0d8e769e0bbfb15d6093d6d99a785160dfe049868a495b24e9520f6bc1 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/helb10.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/helb10.txt.hash new file mode 100644 index 00000000..4a84a0d2 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/helb10.txt.hash @@ -0,0 +1 @@ +758cf346dbb4cd5ed7bde34ec5b94829e3793cb7b2849c92fb311fe7536199b7 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/lttlc10.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/lttlc10.txt.hash new file mode 100644 index 00000000..40e3330f --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/lttlc10.txt.hash @@ -0,0 +1 @@ +19789086104652e0c3937e1419b995dbf864c793fca200fa58a2fea5b8d10c1f diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/manif11.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/manif11.txt.hash new file mode 100644 index 00000000..f5eda9ff --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/manif11.txt.hash @@ -0,0 +1 @@ +f37180679dca0b04fdf7504f40a672c9ab88928e4412dc7a6a9fec0fe6a516e4 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/manif12.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/manif12.txt.hash new file mode 100644 index 00000000..527f445d --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/manif12.txt.hash @@ -0,0 +1 @@ +15b07a61ca2f1152a4a191687c3358ea129830db5b8362da7ab7228af52eb23c diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/pgw050ab.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/pgw050ab.txt.hash new file mode 100644 index 00000000..742d3c22 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/pgw050ab.txt.hash @@ -0,0 +1 @@ +6422c5fa26324102acac1d34652e84a02e0a9994d0dcd98d8dbabf54a31e9120 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/pgw050mo.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/pgw050mo.txt.hash new file mode 100644 index 00000000..3a56917d --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/pgw050mo.txt.hash @@ -0,0 +1 @@ +a47d10e1fa21e74fe29bde9722720f9d020962fc0f087aca78933916d55574a3 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/pgw050pq.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/pgw050pq.txt.hash new file mode 100644 index 00000000..67f448af --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/pgw050pq.txt.hash @@ -0,0 +1 @@ +6a4ca382fcd7ee3fe533cf848e9dfe3f16c5fb4aced9a3211b9e9251d561db7f diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/pgwab04.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/pgwab04.txt.hash new file mode 100644 index 00000000..31a1111d --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/pgwab04.txt.hash @@ -0,0 +1 @@ +a5515ed60396b7fe78bce207a37afc62a42611af10bb08a4813a349061d8f055 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/pgwmo04.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/pgwmo04.txt.hash new file mode 100644 index 00000000..3fb10561 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/pgwmo04.txt.hash @@ -0,0 +1 @@ +26bfd6eba6b3a4f0cc35d59ea5aa91a1e9e0ec6d8fa7d42527ee3964ead38d49 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/pgwpq04.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/pgwpq04.txt.hash new file mode 100644 index 00000000..4976969e --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/pgwpq04.txt.hash @@ -0,0 +1 @@ +573ecd83fdaad987076bd0f1f358cc59a42a1b232edc462106f2236ec70691ed diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/ppow10.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/ppow10.txt.hash new file mode 100644 index 00000000..ccebe632 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/ppow10.txt.hash @@ -0,0 +1 @@ +82079417205a383601e264822940d6c2cf03f431192771fe3e1cc23bc83cddd7 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/teop210.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/teop210.txt.hash new file mode 100644 index 00000000..0dc75ba8 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/teop210.txt.hash @@ -0,0 +1 @@ +02483bc9b87461e411e8e8ec331827bf6ed08ebbc85598131c192e98bb480b07 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/wvr1210.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/wvr1210.txt.hash new file mode 100644 index 00000000..1a072c1d --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/bigrams_appear_twice/wvr1210.txt.hash @@ -0,0 +1 @@ +3ad0245d4ed2cbb3706b0af679f674ba98607c792f8d34fe800ba7bafdb90fed diff --git a/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/61-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/61-0.txt.hash new file mode 100644 index 00000000..77deb4ff --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/61-0.txt.hash @@ -0,0 +1 @@ +a6cadc9051db11b5f4799d9b64097ed2dff060bd3bc3d0d8dcc5f09aad0249b7 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/61.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/61.txt.hash new file mode 100644 index 00000000..8fa64151 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/61.txt.hash @@ -0,0 +1 @@ +55afc92ba5c0cb9bf80a555827b76c2bc9b2a41b5b274eff0239ef6d8fa83360 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/655.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/655.txt.hash new file mode 100644 index 00000000..e0fb7fb0 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/655.txt.hash @@ -0,0 +1 @@ +d586b62c489ca04f2cfbf90f1ed725eb160babadf32b27bc503705950a9cc504 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/660.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/660.txt.hash new file mode 100644 index 00000000..e0fb7fb0 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/660.txt.hash @@ -0,0 +1 @@ +d586b62c489ca04f2cfbf90f1ed725eb160babadf32b27bc503705950a9cc504 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/665.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/665.txt.hash new file mode 100644 index 00000000..0aeee445 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/665.txt.hash @@ -0,0 +1 @@ +59f58d3e68bcda78548f1980cdc6a334ca4d54a4f42fa6daa57bdb6c6d8dd60d diff --git a/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/666.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/666.txt.hash new file mode 100644 index 00000000..a7421296 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/666.txt.hash @@ -0,0 +1 @@ +a3513bfa8a6a0e6650723b7c1e1b9c38a09c3c969aac5634c60f3861f37fd842 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/6660.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/6660.txt.hash new file mode 100644 index 00000000..e081712c --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/6660.txt.hash @@ -0,0 +1 @@ +e1e51515fd0c0d975370b619b5971f8ccda40627ebcde377fb65442fb35adc27 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66600-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66600-0.txt.hash new file mode 100644 index 00000000..288f496a --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66600-0.txt.hash @@ -0,0 +1 @@ +fdeff425f8fa021526328ff3e651512356696676b49e18c0d13b5155b825acd5 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66601-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66601-0.txt.hash new file mode 100644 index 00000000..f27fab82 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66601-0.txt.hash @@ -0,0 +1 @@ +56d5efecfc199b727ef17b04762808c1ce529da61d328097d67a58d158901087 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66602-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66602-0.txt.hash new file mode 100644 index 00000000..f27fab82 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66602-0.txt.hash @@ -0,0 +1 @@ +56d5efecfc199b727ef17b04762808c1ce529da61d328097d67a58d158901087 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66603-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66603-0.txt.hash new file mode 100644 index 00000000..f27fab82 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66603-0.txt.hash @@ -0,0 +1 @@ +56d5efecfc199b727ef17b04762808c1ce529da61d328097d67a58d158901087 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66604-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66604-0.txt.hash new file mode 100644 index 00000000..f27fab82 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66604-0.txt.hash @@ -0,0 +1 @@ +56d5efecfc199b727ef17b04762808c1ce529da61d328097d67a58d158901087 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66605-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66605-0.txt.hash new file mode 100644 index 00000000..652ce148 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66605-0.txt.hash @@ -0,0 +1 @@ +f7a2384a72ede60a1721c40e296b7f0a5ebb067da47bb537f33471857c40aa46 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66606-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66606-0.txt.hash new file mode 100644 index 00000000..f27fab82 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66606-0.txt.hash @@ -0,0 +1 @@ +56d5efecfc199b727ef17b04762808c1ce529da61d328097d67a58d158901087 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66607-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66607-0.txt.hash new file mode 100644 index 00000000..248f1e23 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66607-0.txt.hash @@ -0,0 +1 @@ +78d9c89ca6a993cb4714c0505ed6859eb2b37f3c96c9cdc5e784479d0f59e762 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66608-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66608-0.txt.hash new file mode 100644 index 00000000..f27fab82 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66608-0.txt.hash @@ -0,0 +1 @@ +56d5efecfc199b727ef17b04762808c1ce529da61d328097d67a58d158901087 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66609-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66609-0.txt.hash new file mode 100644 index 00000000..9f53c927 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66609-0.txt.hash @@ -0,0 +1 @@ +9229846986f1db112e27bd6a67ba7caf0aa842720504e5a8ca285caddef69805 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/6661.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/6661.txt.hash new file mode 100644 index 00000000..d6e302f6 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/6661.txt.hash @@ -0,0 +1 @@ +f54e0d3fdabf82d477a059d4c4ab82793ec7cf379851023de1fd4119ed9f6c77 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/6662.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/6662.txt.hash new file mode 100644 index 00000000..ded78d58 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/6662.txt.hash @@ -0,0 +1 @@ +447b6b5d0285d040900e9718bea2c9e47a62421c01f0de716a048d7adf618848 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66620-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66620-0.txt.hash new file mode 100644 index 00000000..6f020c14 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66620-0.txt.hash @@ -0,0 +1 @@ +3f01dac9b044bd5d0108f33e5ab1dcbfacc17ff1bfbb1da35c3a11ac0539cc3a diff --git a/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66621-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66621-0.txt.hash new file mode 100644 index 00000000..1dd33e44 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66621-0.txt.hash @@ -0,0 +1 @@ +ecc9fc82cea526f61a3d5b5c5ae9ada3a585e1edcf9709705b8c3c03bcb8944f diff --git a/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66622-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66622-0.txt.hash new file mode 100644 index 00000000..032b28d6 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66622-0.txt.hash @@ -0,0 +1 @@ +e6fcb5c90537b14ec2f7046c17117c621be724e9167f745930dd8d904d9e5d29 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66623-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66623-0.txt.hash new file mode 100644 index 00000000..bb2e904a --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66623-0.txt.hash @@ -0,0 +1 @@ +d5ff242ccda89a27c8f58800a24092f95903a7fa588c7181fda6e8fa47d1317b diff --git a/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66624-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66624-0.txt.hash new file mode 100644 index 00000000..f27fab82 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66624-0.txt.hash @@ -0,0 +1 @@ +56d5efecfc199b727ef17b04762808c1ce529da61d328097d67a58d158901087 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66625-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66625-0.txt.hash new file mode 100644 index 00000000..f1c8cd93 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66625-0.txt.hash @@ -0,0 +1 @@ +d228d15eada2da6c0d4150179a416fff42b2eadee8dd921b22c15d4c9b3be3b7 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66626-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66626-0.txt.hash new file mode 100644 index 00000000..a8693acb --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66626-0.txt.hash @@ -0,0 +1 @@ +adc779ce912cb44a01cfc4d679b9693efe9dff9b79a725adbb65c9f7bc4b423e diff --git a/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66627-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66627-0.txt.hash new file mode 100644 index 00000000..6453a4d5 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66627-0.txt.hash @@ -0,0 +1 @@ +165c37c7c5c851a9e4fad133e9cc3212b81efeae260654873c0ba81a28866772 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66628-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66628-0.txt.hash new file mode 100644 index 00000000..f27fab82 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66628-0.txt.hash @@ -0,0 +1 @@ +56d5efecfc199b727ef17b04762808c1ce529da61d328097d67a58d158901087 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66629-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66629-0.txt.hash new file mode 100644 index 00000000..ca1e5142 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66629-0.txt.hash @@ -0,0 +1 @@ +86bfbd0351007d4ebc32e29a3e3c83ef648885b2f3a422a0b46b94e2397e57e1 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/6663.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/6663.txt.hash new file mode 100644 index 00000000..098c9e4b --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/6663.txt.hash @@ -0,0 +1 @@ +f7254b0382819b6d8de6dfc3322273732c1858d9fecf31227f5ba6eb299ca19f diff --git a/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66630-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66630-0.txt.hash new file mode 100644 index 00000000..f27fab82 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66630-0.txt.hash @@ -0,0 +1 @@ +56d5efecfc199b727ef17b04762808c1ce529da61d328097d67a58d158901087 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66631-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66631-0.txt.hash new file mode 100644 index 00000000..2d68d871 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66631-0.txt.hash @@ -0,0 +1 @@ +5a01197de540ba98db03f8f99b1bdabbb5e62ef30e609efef1f6454611c9182a diff --git a/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66632-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66632-0.txt.hash new file mode 100644 index 00000000..f27fab82 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66632-0.txt.hash @@ -0,0 +1 @@ +56d5efecfc199b727ef17b04762808c1ce529da61d328097d67a58d158901087 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66633-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66633-0.txt.hash new file mode 100644 index 00000000..21488ea3 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66633-0.txt.hash @@ -0,0 +1 @@ +16eed4488ce7f8a9cf38b67e59f60077391b2b716310db9760b65063f17289c1 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66634-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66634-0.txt.hash new file mode 100644 index 00000000..f27fab82 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66634-0.txt.hash @@ -0,0 +1 @@ +56d5efecfc199b727ef17b04762808c1ce529da61d328097d67a58d158901087 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66635-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66635-0.txt.hash new file mode 100644 index 00000000..f27fab82 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66635-0.txt.hash @@ -0,0 +1 @@ +56d5efecfc199b727ef17b04762808c1ce529da61d328097d67a58d158901087 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66636-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66636-0.txt.hash new file mode 100644 index 00000000..f27fab82 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66636-0.txt.hash @@ -0,0 +1 @@ +56d5efecfc199b727ef17b04762808c1ce529da61d328097d67a58d158901087 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66637-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66637-0.txt.hash new file mode 100644 index 00000000..62f38220 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66637-0.txt.hash @@ -0,0 +1 @@ +598ba8c8a9fdbe4a0bcba4e43ccf1eefc67cfe643ef1bd149d1cc316355a19ab diff --git a/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66638-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66638-0.txt.hash new file mode 100644 index 00000000..d6ea116e --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66638-0.txt.hash @@ -0,0 +1 @@ +a541f29bc96671f5935662a85d2403e399458b1b1ad6b6316a351b9a11c609df diff --git a/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66639-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66639-0.txt.hash new file mode 100644 index 00000000..4a0e23ae --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66639-0.txt.hash @@ -0,0 +1 @@ +54f165c4ba1130aef40729fbef252231131518ebab5804511a0ef51ef7ea94c0 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/6664-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/6664-0.txt.hash new file mode 100644 index 00000000..6e701239 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/6664-0.txt.hash @@ -0,0 +1 @@ +52b2c1f751975061bbf2299d59dd4f108fa89ebde8fa32c6bda4a4aeb7621e65 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/6664.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/6664.txt.hash new file mode 100644 index 00000000..6e701239 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/6664.txt.hash @@ -0,0 +1 @@ +52b2c1f751975061bbf2299d59dd4f108fa89ebde8fa32c6bda4a4aeb7621e65 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66640-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66640-0.txt.hash new file mode 100644 index 00000000..5aadc64c --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66640-0.txt.hash @@ -0,0 +1 @@ +e1e5c56f12fef5c25a008441b7f62b2e6d5b3d33736891843c7a2b0e1b5aa354 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66641-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66641-0.txt.hash new file mode 100644 index 00000000..1dd33e44 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66641-0.txt.hash @@ -0,0 +1 @@ +ecc9fc82cea526f61a3d5b5c5ae9ada3a585e1edcf9709705b8c3c03bcb8944f diff --git a/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66642-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66642-0.txt.hash new file mode 100644 index 00000000..f27fab82 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66642-0.txt.hash @@ -0,0 +1 @@ +56d5efecfc199b727ef17b04762808c1ce529da61d328097d67a58d158901087 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66643-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66643-0.txt.hash new file mode 100644 index 00000000..f27fab82 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66643-0.txt.hash @@ -0,0 +1 @@ +56d5efecfc199b727ef17b04762808c1ce529da61d328097d67a58d158901087 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66645-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66645-0.txt.hash new file mode 100644 index 00000000..d89135ab --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66645-0.txt.hash @@ -0,0 +1 @@ +31af0955d39485e3ce84663db12744021f02cca604023db9ae3e8c0e17580477 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66646-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66646-0.txt.hash new file mode 100644 index 00000000..2030110a --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66646-0.txt.hash @@ -0,0 +1 @@ +65965e30cd10fb7602a4270f6ba906e2ae2a9198280760bbe3884271522b76f9 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66647-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66647-0.txt.hash new file mode 100644 index 00000000..7b6c29e3 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66647-0.txt.hash @@ -0,0 +1 @@ +c12e9d312b7bf5cafc17c240530bfa1e61a9d7140fae5d2c6fcac4b1e41c50f9 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66648-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66648-0.txt.hash new file mode 100644 index 00000000..91a68b48 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66648-0.txt.hash @@ -0,0 +1 @@ +a2a1a4b0cc6cad0e74703f05a1798c7855781644f9b0759772e30b4241d636ff diff --git a/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66649-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66649-0.txt.hash new file mode 100644 index 00000000..f27fab82 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66649-0.txt.hash @@ -0,0 +1 @@ +56d5efecfc199b727ef17b04762808c1ce529da61d328097d67a58d158901087 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/6665-8.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/6665-8.txt.hash new file mode 100644 index 00000000..9f356ad1 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/6665-8.txt.hash @@ -0,0 +1 @@ +869f9e34a986274f772cb0757935fa51ac9397024e9cce207e0fdc406d4a82a2 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66650-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66650-0.txt.hash new file mode 100644 index 00000000..f27fab82 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66650-0.txt.hash @@ -0,0 +1 @@ +56d5efecfc199b727ef17b04762808c1ce529da61d328097d67a58d158901087 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66651-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66651-0.txt.hash new file mode 100644 index 00000000..5e5418a5 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66651-0.txt.hash @@ -0,0 +1 @@ +58d239fad672ce58eca82c33f3ee3231259b06302e789df095f378bd3d58bad2 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66652-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66652-0.txt.hash new file mode 100644 index 00000000..2767e0c3 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66652-0.txt.hash @@ -0,0 +1 @@ +02db3e73ba30cdb2b14b8ff2e15ab867c15a0e86e83d79295df7a6739d9817d8 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66653-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66653-0.txt.hash new file mode 100644 index 00000000..f27fab82 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66653-0.txt.hash @@ -0,0 +1 @@ +56d5efecfc199b727ef17b04762808c1ce529da61d328097d67a58d158901087 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66654-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66654-0.txt.hash new file mode 100644 index 00000000..f27fab82 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66654-0.txt.hash @@ -0,0 +1 @@ +56d5efecfc199b727ef17b04762808c1ce529da61d328097d67a58d158901087 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66655-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66655-0.txt.hash new file mode 100644 index 00000000..93d4d911 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66655-0.txt.hash @@ -0,0 +1 @@ +e91344b6a0114ed695eb4a27a602bcbf3d60e57afec13eb4a644cfe39919630e diff --git a/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66656-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66656-0.txt.hash new file mode 100644 index 00000000..f27fab82 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66656-0.txt.hash @@ -0,0 +1 @@ +56d5efecfc199b727ef17b04762808c1ce529da61d328097d67a58d158901087 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66657-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66657-0.txt.hash new file mode 100644 index 00000000..f27fab82 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66657-0.txt.hash @@ -0,0 +1 @@ +56d5efecfc199b727ef17b04762808c1ce529da61d328097d67a58d158901087 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66658-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66658-0.txt.hash new file mode 100644 index 00000000..9390aa4b --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66658-0.txt.hash @@ -0,0 +1 @@ +09a45496ce4803d9c117de0b3dd28c8d348a0b1d7e6737fb24fc07b59227f867 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66659-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66659-0.txt.hash new file mode 100644 index 00000000..f27fab82 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66659-0.txt.hash @@ -0,0 +1 @@ +56d5efecfc199b727ef17b04762808c1ce529da61d328097d67a58d158901087 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/6666-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/6666-0.txt.hash new file mode 100644 index 00000000..62a4016d --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/6666-0.txt.hash @@ -0,0 +1 @@ +12ee98b4c94f50054549cb4847e2b7a8c84f6c98d91eb97e4514d3080244f3fa diff --git a/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66660-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66660-0.txt.hash new file mode 100644 index 00000000..f27fab82 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66660-0.txt.hash @@ -0,0 +1 @@ +56d5efecfc199b727ef17b04762808c1ce529da61d328097d67a58d158901087 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66661-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66661-0.txt.hash new file mode 100644 index 00000000..d831e356 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66661-0.txt.hash @@ -0,0 +1 @@ +d1624f2cbbcbc165b8215eba46f8ce729655fec51e8fa8671972e738971ead00 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66662-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66662-0.txt.hash new file mode 100644 index 00000000..30f850bf --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66662-0.txt.hash @@ -0,0 +1 @@ +4175c81bb54c9e66600fb3926ee18ada28729796764b3d5e48e0108cc84f49f4 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66663-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66663-0.txt.hash new file mode 100644 index 00000000..60c07a4a --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66663-0.txt.hash @@ -0,0 +1 @@ +725ccf63699f45b0a6be08ddae5771116ec1d4825f328a5dd62e9024c2207642 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66664-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66664-0.txt.hash new file mode 100644 index 00000000..fc6f3166 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66664-0.txt.hash @@ -0,0 +1 @@ +be8c64513d7f03f0846c52858e8d8f1e376914b59f323f6d1baaf8ba1cfbaec0 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66665-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66665-0.txt.hash new file mode 100644 index 00000000..5f3d1395 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66665-0.txt.hash @@ -0,0 +1 @@ +777e33c9c22b2ff08672aa81f9d9ca231f187ab841e8fd28b052dc04afb94165 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66666-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66666-0.txt.hash new file mode 100644 index 00000000..f27fab82 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66666-0.txt.hash @@ -0,0 +1 @@ +56d5efecfc199b727ef17b04762808c1ce529da61d328097d67a58d158901087 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66667-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66667-0.txt.hash new file mode 100644 index 00000000..f48ec951 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66667-0.txt.hash @@ -0,0 +1 @@ +b57894b7633784ae5eb7b9db2b751e0e5e4233700e04879dc5ffcc0f8a23293f diff --git a/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66668-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66668-0.txt.hash new file mode 100644 index 00000000..cd79ac6a --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66668-0.txt.hash @@ -0,0 +1 @@ +e16d7f76311e79aeb141e1ea5f8e488b287a6fa954450411c2134af46ff16ab4 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66669-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66669-0.txt.hash new file mode 100644 index 00000000..73ea2e3a --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66669-0.txt.hash @@ -0,0 +1 @@ +72f0121dcee956691759a78550f35898016f5128acdeee5f74b8c7fbe9a785d6 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/6667-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/6667-0.txt.hash new file mode 100644 index 00000000..f27fab82 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/6667-0.txt.hash @@ -0,0 +1 @@ +56d5efecfc199b727ef17b04762808c1ce529da61d328097d67a58d158901087 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66670-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66670-0.txt.hash new file mode 100644 index 00000000..7bb88dcb --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66670-0.txt.hash @@ -0,0 +1 @@ +dd2f3423ecd495d0b30f1046e2f3024c5e0c7675a06202f736da3629b7c2091a diff --git a/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66671-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66671-0.txt.hash new file mode 100644 index 00000000..f27fab82 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66671-0.txt.hash @@ -0,0 +1 @@ +56d5efecfc199b727ef17b04762808c1ce529da61d328097d67a58d158901087 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66672-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66672-0.txt.hash new file mode 100644 index 00000000..f27fab82 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66672-0.txt.hash @@ -0,0 +1 @@ +56d5efecfc199b727ef17b04762808c1ce529da61d328097d67a58d158901087 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66673-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66673-0.txt.hash new file mode 100644 index 00000000..0970895b --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66673-0.txt.hash @@ -0,0 +1 @@ +4a9454e76258bd0b015dd45562f87f39b55ade8fcbdfca7d9ac11a5b575e7342 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66674-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66674-0.txt.hash new file mode 100644 index 00000000..f26a0266 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66674-0.txt.hash @@ -0,0 +1 @@ +a052451115e64004b6eddbcb49d6641593d6441ffdf71356948452d14494f95f diff --git a/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66675-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66675-0.txt.hash new file mode 100644 index 00000000..f27fab82 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66675-0.txt.hash @@ -0,0 +1 @@ +56d5efecfc199b727ef17b04762808c1ce529da61d328097d67a58d158901087 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66676-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66676-0.txt.hash new file mode 100644 index 00000000..3008d9fa --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66676-0.txt.hash @@ -0,0 +1 @@ +13b84d14961525416645b676ce205c59cb8d87017008cf3d12df243cbf16b6cd diff --git a/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66677-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66677-0.txt.hash new file mode 100644 index 00000000..b74c63d4 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66677-0.txt.hash @@ -0,0 +1 @@ +3eafbd6639d0acb16c574e8d8b824b86132936f14831e4cb5c9aa4494e179dda diff --git a/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66678-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66678-0.txt.hash new file mode 100644 index 00000000..cbc47dd3 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66678-0.txt.hash @@ -0,0 +1 @@ +0ffb8bf23890976a9132927c09bbe4744ed267a4ff8340bd5cdfbd8be4ac0f1f diff --git a/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66679-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66679-0.txt.hash new file mode 100644 index 00000000..0557ae67 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66679-0.txt.hash @@ -0,0 +1 @@ +13866b643c178a5bb38b8eae568235af07c4d61ed1c4dd6be2342e181e5ff11e diff --git a/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66680-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66680-0.txt.hash new file mode 100644 index 00000000..676875bb --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66680-0.txt.hash @@ -0,0 +1 @@ +336a4314f5f9f41fc1b0cb3bd399ba83108408616d9feda0af4d612a8d4778bc diff --git a/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66681-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66681-0.txt.hash new file mode 100644 index 00000000..f27fab82 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66681-0.txt.hash @@ -0,0 +1 @@ +56d5efecfc199b727ef17b04762808c1ce529da61d328097d67a58d158901087 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66682-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66682-0.txt.hash new file mode 100644 index 00000000..f27fab82 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66682-0.txt.hash @@ -0,0 +1 @@ +56d5efecfc199b727ef17b04762808c1ce529da61d328097d67a58d158901087 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66683-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66683-0.txt.hash new file mode 100644 index 00000000..63cb6273 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66683-0.txt.hash @@ -0,0 +1 @@ +7a0f19027e5df6229a0d829bc3835a7f5c8b4fc65e7b03ef80ab4e265261bc8d diff --git a/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66684-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66684-0.txt.hash new file mode 100644 index 00000000..366cdec6 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66684-0.txt.hash @@ -0,0 +1 @@ +b9a97c6b15b8d423fc8aac72eb3e28206762116b1c3e7f1ce8dd534e9e43f641 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66685-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66685-0.txt.hash new file mode 100644 index 00000000..f27fab82 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66685-0.txt.hash @@ -0,0 +1 @@ +56d5efecfc199b727ef17b04762808c1ce529da61d328097d67a58d158901087 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66686-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66686-0.txt.hash new file mode 100644 index 00000000..f27fab82 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66686-0.txt.hash @@ -0,0 +1 @@ +56d5efecfc199b727ef17b04762808c1ce529da61d328097d67a58d158901087 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66687-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66687-0.txt.hash new file mode 100644 index 00000000..f27fab82 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66687-0.txt.hash @@ -0,0 +1 @@ +56d5efecfc199b727ef17b04762808c1ce529da61d328097d67a58d158901087 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66688-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66688-0.txt.hash new file mode 100644 index 00000000..efe2d65c --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66688-0.txt.hash @@ -0,0 +1 @@ +e56cd7dd151749616a010a68e912e96430aeb019eb2dbfe657741c9936157c58 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66689-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66689-0.txt.hash new file mode 100644 index 00000000..5638d8a9 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66689-0.txt.hash @@ -0,0 +1 @@ +2a8a6977a6df17eb602dd641be4bcefb32c73764505b19ba22113ccf7ae0d805 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/6669.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/6669.txt.hash new file mode 100644 index 00000000..009894d1 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/6669.txt.hash @@ -0,0 +1 @@ +ef1bffd2e3f6b46fc29f3cfa37f92cfdc9ee98cdfbbaad028ebcc4d8d8d90421 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66690-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66690-0.txt.hash new file mode 100644 index 00000000..eb30948f --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66690-0.txt.hash @@ -0,0 +1 @@ +f5ad4f2ca5b0e38d72b892803d67d710478ecd3136f5e3c355353c3c065db382 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66691-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66691-0.txt.hash new file mode 100644 index 00000000..f27fab82 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66691-0.txt.hash @@ -0,0 +1 @@ +56d5efecfc199b727ef17b04762808c1ce529da61d328097d67a58d158901087 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66692-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66692-0.txt.hash new file mode 100644 index 00000000..f27fab82 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66692-0.txt.hash @@ -0,0 +1 @@ +56d5efecfc199b727ef17b04762808c1ce529da61d328097d67a58d158901087 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66693-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66693-0.txt.hash new file mode 100644 index 00000000..f27fab82 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66693-0.txt.hash @@ -0,0 +1 @@ +56d5efecfc199b727ef17b04762808c1ce529da61d328097d67a58d158901087 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66694-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66694-0.txt.hash new file mode 100644 index 00000000..f3c1390f --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66694-0.txt.hash @@ -0,0 +1 @@ +6f90823cf4897dc7684adfdd8127aeb6eea184505199adb426d7e1277154bd40 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66695-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66695-0.txt.hash new file mode 100644 index 00000000..b2023e3b --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66695-0.txt.hash @@ -0,0 +1 @@ +5d11330a39b9f977331a32cb6bdf3ab11266cb88c9a4b9340b425de5daf834b1 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66696-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66696-0.txt.hash new file mode 100644 index 00000000..f27fab82 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66696-0.txt.hash @@ -0,0 +1 @@ +56d5efecfc199b727ef17b04762808c1ce529da61d328097d67a58d158901087 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66697-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66697-0.txt.hash new file mode 100644 index 00000000..75fcdb3d --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66697-0.txt.hash @@ -0,0 +1 @@ +57b1a97fa7e3932990386f340456494da61cf88bbbd40f50019258b65214b32d diff --git a/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66698-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66698-0.txt.hash new file mode 100644 index 00000000..f27fab82 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66698-0.txt.hash @@ -0,0 +1 @@ +56d5efecfc199b727ef17b04762808c1ce529da61d328097d67a58d158901087 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66699-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66699-0.txt.hash new file mode 100644 index 00000000..f27fab82 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/66699-0.txt.hash @@ -0,0 +1 @@ +56d5efecfc199b727ef17b04762808c1ce529da61d328097d67a58d158901087 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/fchld10.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/fchld10.txt.hash new file mode 100644 index 00000000..e0fb7fb0 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/fchld10.txt.hash @@ -0,0 +1 @@ +d586b62c489ca04f2cfbf90f1ed725eb160babadf32b27bc503705950a9cc504 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/gdlns10.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/gdlns10.txt.hash new file mode 100644 index 00000000..70a33438 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/gdlns10.txt.hash @@ -0,0 +1 @@ +9f142f38ac7de2412312173bf1a611395715d594c20f644fb2112c11cc9d11c0 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/helb10.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/helb10.txt.hash new file mode 100644 index 00000000..43df75c0 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/helb10.txt.hash @@ -0,0 +1 @@ +c8543fe17e2e9127f76d0a10f1aa8aee82cff26f3f6565ba677e7e5a7e88bfb8 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/lttlc10.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/lttlc10.txt.hash new file mode 100644 index 00000000..09d17735 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/lttlc10.txt.hash @@ -0,0 +1 @@ +fd28762e04f4147d5c8843b16e9cfd9d1aba81b0438d51de43e7165cc7b9379b diff --git a/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/manif11.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/manif11.txt.hash new file mode 100644 index 00000000..8478c342 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/manif11.txt.hash @@ -0,0 +1 @@ +81f13361bc4a28918aa67d31cc1d750cd669e264ffd1db00c5f45e2ea62f915f diff --git a/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/manif12.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/manif12.txt.hash new file mode 100644 index 00000000..67ddf7ec --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/manif12.txt.hash @@ -0,0 +1 @@ +10244943d23ca82a80a082004e5c06669bfdf085610a84ec836acfc8814db652 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/pgw050ab.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/pgw050ab.txt.hash new file mode 100644 index 00000000..e0fb7fb0 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/pgw050ab.txt.hash @@ -0,0 +1 @@ +d586b62c489ca04f2cfbf90f1ed725eb160babadf32b27bc503705950a9cc504 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/pgw050mo.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/pgw050mo.txt.hash new file mode 100644 index 00000000..0aeee445 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/pgw050mo.txt.hash @@ -0,0 +1 @@ +59f58d3e68bcda78548f1980cdc6a334ca4d54a4f42fa6daa57bdb6c6d8dd60d diff --git a/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/pgw050pq.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/pgw050pq.txt.hash new file mode 100644 index 00000000..826c237a --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/pgw050pq.txt.hash @@ -0,0 +1 @@ +47e53530ed81a6a061f9a994c06231a42fc90637a032afceda4a4495c3ff5d79 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/pgwmo04.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/pgwmo04.txt.hash new file mode 100644 index 00000000..0f7163b3 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/pgwmo04.txt.hash @@ -0,0 +1 @@ +b3c28b7b75e70bcb8559271ebf9e2997420ef223bdc1f89848b90ab923096998 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/pgwpq04.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/pgwpq04.txt.hash new file mode 100644 index 00000000..ecc328f7 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/compare_exodus_genesis/pgwpq04.txt.hash @@ -0,0 +1 @@ +d148ae7aa08fd8643c8832066074c406ecb0170b9b1fc1c8c295a70f60c89620 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/count_consonant_seq/61-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/count_consonant_seq/61-0.txt.hash new file mode 100644 index 00000000..17aaa19f --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/count_consonant_seq/61-0.txt.hash @@ -0,0 +1 @@ +98e35eef7451a03f13e9f8bf10348cdfbcf7c41e8b431ad247bbc25b5038b0ee diff --git a/infrastructure/systems/Shark/nlp/hashes/small/count_consonant_seq/61.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/count_consonant_seq/61.txt.hash new file mode 100644 index 00000000..902fa042 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/count_consonant_seq/61.txt.hash @@ -0,0 +1 @@ +70ece387db53233cbce85b014e405e866e9424a88ca80d543a477f0b9b4298c3 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/count_consonant_seq/665.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/count_consonant_seq/665.txt.hash new file mode 100644 index 00000000..9dd1a5b3 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/count_consonant_seq/665.txt.hash @@ -0,0 +1 @@ +51b595be118451fe3eabb4b70dd5a5a19caf561168f52d13e8bbea42ffb70c81 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/count_consonant_seq/666.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/count_consonant_seq/666.txt.hash new file mode 100644 index 00000000..772f6d2f --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/count_consonant_seq/666.txt.hash @@ -0,0 +1 @@ +7c546cce0db0395dab2ae51d74994c687651c1d836a3991df68475830d03bd8b diff --git a/infrastructure/systems/Shark/nlp/hashes/small/count_consonant_seq/manif11.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/count_consonant_seq/manif11.txt.hash new file mode 100644 index 00000000..6f1070c0 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/count_consonant_seq/manif11.txt.hash @@ -0,0 +1 @@ +21028e78b070d08dcb1b3343990696b8065649f0f1679071eca738e0d706bd98 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/count_consonant_seq/manif12.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/count_consonant_seq/manif12.txt.hash new file mode 100644 index 00000000..ef368458 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/count_consonant_seq/manif12.txt.hash @@ -0,0 +1 @@ +459d9b0e64e0c26ff4d4ef852774742871d36cec3de1da6f2a19eaa261c495fe diff --git a/infrastructure/systems/Shark/nlp/hashes/small/count_consonant_seq/pgw050mo.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/count_consonant_seq/pgw050mo.txt.hash new file mode 100644 index 00000000..f2bbe56c --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/count_consonant_seq/pgw050mo.txt.hash @@ -0,0 +1 @@ +1048748289aca187a8d257101f70da611615a9a209f35e0898268e8c9645d931 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/count_consonant_seq/pgw050pq.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/count_consonant_seq/pgw050pq.txt.hash new file mode 100644 index 00000000..bdfb9cfb --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/count_consonant_seq/pgw050pq.txt.hash @@ -0,0 +1 @@ +d8409048a8fd198fa27685a7ef5c977feee9d48d0d0fb553a6812b245052bc17 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/count_consonant_seq/pgwmo04.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/count_consonant_seq/pgwmo04.txt.hash new file mode 100644 index 00000000..bc8ce8d8 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/count_consonant_seq/pgwmo04.txt.hash @@ -0,0 +1 @@ +322c3549f032bcf9c921a77a10f2b4dbb4bfd9011e84fd7bf3bca3992fe5b04b diff --git a/infrastructure/systems/Shark/nlp/hashes/small/count_consonant_seq/pgwpq04.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/count_consonant_seq/pgwpq04.txt.hash new file mode 100644 index 00000000..471bba56 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/count_consonant_seq/pgwpq04.txt.hash @@ -0,0 +1 @@ +464f8663270e7f80ba6864fce0947cf5822781b4338942fe768df4f599ab6c11 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/count_morphs/61-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/count_morphs/61-0.txt.hash new file mode 100644 index 00000000..fa519b83 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/count_morphs/61-0.txt.hash @@ -0,0 +1 @@ +cdf552dffab1a3399c76fab87be10cf7c29ffe94edf44e249f49ff62a6bd8732 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/count_morphs/61.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/count_morphs/61.txt.hash new file mode 100644 index 00000000..80e4f884 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/count_morphs/61.txt.hash @@ -0,0 +1 @@ +3873632a19fabba1bcad6725ef536417aa613321878eb6923c7734b91ac68e69 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/count_morphs/665.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/count_morphs/665.txt.hash new file mode 100644 index 00000000..dab84f32 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/count_morphs/665.txt.hash @@ -0,0 +1 @@ +eb8da80e81c02249ac216b688179bb84d36d5cd6f61cfa8f5cbfbce0734b35b5 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/count_morphs/666.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/count_morphs/666.txt.hash new file mode 100644 index 00000000..057b322c --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/count_morphs/666.txt.hash @@ -0,0 +1 @@ +d59db747ba9b9fdb977b372a881819116ffdc369af9a0dcb179439e7bbe5a553 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/count_morphs/manif11.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/count_morphs/manif11.txt.hash new file mode 100644 index 00000000..2108c281 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/count_morphs/manif11.txt.hash @@ -0,0 +1 @@ +f77646365ef7ae5b52fe0476d2c8e2eb9db2c0961d7709a05c34ddc6d9fe5435 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/count_morphs/manif12.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/count_morphs/manif12.txt.hash new file mode 100644 index 00000000..58e282d4 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/count_morphs/manif12.txt.hash @@ -0,0 +1 @@ +f4e7d9d237545bd21a15f4d6368213f1ac3079a5a1f235e3521faec8674a0716 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/count_morphs/pgw050mo.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/count_morphs/pgw050mo.txt.hash new file mode 100644 index 00000000..b44eff8d --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/count_morphs/pgw050mo.txt.hash @@ -0,0 +1 @@ +f507bb56ea41ec38747c8c6462eec0fc7ee59eeb2b3ea5ae34aff153e3cc8885 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/count_morphs/pgw050pq.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/count_morphs/pgw050pq.txt.hash new file mode 100644 index 00000000..e599dfb6 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/count_morphs/pgw050pq.txt.hash @@ -0,0 +1 @@ +7a48dc08eb2942f8ad9dfb31ae4f2c221e3ba973ca586c958bc5ce9033570fa6 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/count_morphs/pgwmo04.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/count_morphs/pgwmo04.txt.hash new file mode 100644 index 00000000..04d0eb3b --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/count_morphs/pgwmo04.txt.hash @@ -0,0 +1 @@ +aad2829c73138ec482da13b780cfb992f690b19fb7630c6f53334cd90e8f29ce diff --git a/infrastructure/systems/Shark/nlp/hashes/small/count_morphs/pgwpq04.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/count_morphs/pgwpq04.txt.hash new file mode 100644 index 00000000..5a232fb4 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/count_morphs/pgwpq04.txt.hash @@ -0,0 +1 @@ +9a55ededf7682bb13ba991a96370a39b960b258ba9430cac28085092d71fdb5a diff --git a/infrastructure/systems/Shark/nlp/hashes/small/count_vowel_seq/61-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/count_vowel_seq/61-0.txt.hash new file mode 100644 index 00000000..86c4de88 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/count_vowel_seq/61-0.txt.hash @@ -0,0 +1 @@ +aa6e930d315bb6217e95e6e5fb776292aa7c07ca736f2ea163389e5bc3126168 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/count_vowel_seq/61.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/count_vowel_seq/61.txt.hash new file mode 100644 index 00000000..8ddfdebb --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/count_vowel_seq/61.txt.hash @@ -0,0 +1 @@ +608a4256c411024e27346bdfc0932abf48bb20b1d37801dc727c26e0f87025d1 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/count_vowel_seq/665.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/count_vowel_seq/665.txt.hash new file mode 100644 index 00000000..76bc8d9e --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/count_vowel_seq/665.txt.hash @@ -0,0 +1 @@ +bae8ed848d48ced0211703c03f1184f4d5b6cde439a89bd0d15ef13ab7209f2e diff --git a/infrastructure/systems/Shark/nlp/hashes/small/count_vowel_seq/666.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/count_vowel_seq/666.txt.hash new file mode 100644 index 00000000..d90563ce --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/count_vowel_seq/666.txt.hash @@ -0,0 +1 @@ +e22d4885c88c36931da6ec4b2808a4edfa294fabdcfdc1f384d9786b1670ede8 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/count_vowel_seq/manif11.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/count_vowel_seq/manif11.txt.hash new file mode 100644 index 00000000..ba4704d0 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/count_vowel_seq/manif11.txt.hash @@ -0,0 +1 @@ +49a2f7f7a5b4544828e473140363eb3ad06a25dbebf49242cc29705d407ba15b diff --git a/infrastructure/systems/Shark/nlp/hashes/small/count_vowel_seq/manif12.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/count_vowel_seq/manif12.txt.hash new file mode 100644 index 00000000..c84b8078 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/count_vowel_seq/manif12.txt.hash @@ -0,0 +1 @@ +dec7f4338fa0d9a1b92f90d5a8f3eff175b10a8afee6748e42ad6eea2a4e33c0 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/count_vowel_seq/pgw050mo.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/count_vowel_seq/pgw050mo.txt.hash new file mode 100644 index 00000000..aaf80e43 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/count_vowel_seq/pgw050mo.txt.hash @@ -0,0 +1 @@ +8dcd99ee96eed6434b9883fe69444e9b346517193ff738ef1b709726b1fae63c diff --git a/infrastructure/systems/Shark/nlp/hashes/small/count_vowel_seq/pgw050pq.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/count_vowel_seq/pgw050pq.txt.hash new file mode 100644 index 00000000..1ad28086 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/count_vowel_seq/pgw050pq.txt.hash @@ -0,0 +1 @@ +2991d26497f7f376f7d16a5f5878fc18f1968c9b16f2a09ed9539bc0236c3638 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/count_vowel_seq/pgwmo04.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/count_vowel_seq/pgwmo04.txt.hash new file mode 100644 index 00000000..60acefc6 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/count_vowel_seq/pgwmo04.txt.hash @@ -0,0 +1 @@ +f852bcddb6e8a2c3352ac2ecba44b50435390b84b2715b2549e6eef7ceefa5c3 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/count_vowel_seq/pgwpq04.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/count_vowel_seq/pgwpq04.txt.hash new file mode 100644 index 00000000..a3c3734d --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/count_vowel_seq/pgwpq04.txt.hash @@ -0,0 +1 @@ +d6d0a14150c30ffc988510a10110d8ddcabf26892d6f61abfe9da0346ca5785a diff --git a/infrastructure/systems/Shark/nlp/hashes/small/count_words/61-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/count_words/61-0.txt.hash new file mode 100644 index 00000000..9b5a2912 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/count_words/61-0.txt.hash @@ -0,0 +1 @@ +e58fc2e24f82b0399800169334bbf01110a33f15411e3f406804c4ed89f532df diff --git a/infrastructure/systems/Shark/nlp/hashes/small/count_words/61.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/count_words/61.txt.hash new file mode 100644 index 00000000..bb2052de --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/count_words/61.txt.hash @@ -0,0 +1 @@ +c5e1b784236ac4cbf2a616644e018355e0df05baf0e5627b3ca93dc41a106082 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/count_words/665.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/count_words/665.txt.hash new file mode 100644 index 00000000..b65d134f --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/count_words/665.txt.hash @@ -0,0 +1 @@ +58e151f8d594b5959c80d8c3fd0c82712b427fe5ff69c4f7398fdb958cc70a28 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/count_words/666.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/count_words/666.txt.hash new file mode 100644 index 00000000..be54a924 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/count_words/666.txt.hash @@ -0,0 +1 @@ +94023f3e174d3ee7cf68d6f450c156380dd39b22af5e602f4ce052c8b59df360 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/count_words/manif11.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/count_words/manif11.txt.hash new file mode 100644 index 00000000..45b3c91b --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/count_words/manif11.txt.hash @@ -0,0 +1 @@ +d4a47f799edac94c8cc5c415f54896a84dc01101ea017da6c90af657aef755c5 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/count_words/manif12.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/count_words/manif12.txt.hash new file mode 100644 index 00000000..f90fd713 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/count_words/manif12.txt.hash @@ -0,0 +1 @@ +924df09d36c5e82e6a7ec88281344abce7b0b02ededb6161ae647163cdbabc30 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/count_words/pgw050mo.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/count_words/pgw050mo.txt.hash new file mode 100644 index 00000000..228b35ea --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/count_words/pgw050mo.txt.hash @@ -0,0 +1 @@ +5f7917e7ce39fb0aa941c76a7d3bcdbce494116503444af38025976818fe933c diff --git a/infrastructure/systems/Shark/nlp/hashes/small/count_words/pgw050pq.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/count_words/pgw050pq.txt.hash new file mode 100644 index 00000000..1ecc8bce --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/count_words/pgw050pq.txt.hash @@ -0,0 +1 @@ +655a3f19c0aac7e7cd56654b2413e235696fbbf33547167b8c66936c8888ecc0 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/count_words/pgwmo04.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/count_words/pgwmo04.txt.hash new file mode 100644 index 00000000..ec2cd2c6 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/count_words/pgwmo04.txt.hash @@ -0,0 +1 @@ +ad0cd12e5ef38f94376fcdc5d32e9f998c9a413a49b630ef7fccbf5a3f539229 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/count_words/pgwpq04.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/count_words/pgwpq04.txt.hash new file mode 100644 index 00000000..2da55107 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/count_words/pgwpq04.txt.hash @@ -0,0 +1 @@ +2984508dd3c605ebd68cb4c30230c52827def59b99b8c296a879f706b5cbd12e diff --git a/infrastructure/systems/Shark/nlp/hashes/small/find_anagrams/61-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/find_anagrams/61-0.txt.hash new file mode 100644 index 00000000..1475a1aa --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/find_anagrams/61-0.txt.hash @@ -0,0 +1 @@ +c6a1a2408d4bc5a9e8f10fe13582000066db8a9fa428f6753268d6217fd6c716 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/find_anagrams/61.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/find_anagrams/61.txt.hash new file mode 100644 index 00000000..96c6b750 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/find_anagrams/61.txt.hash @@ -0,0 +1 @@ +a37a61e87921d84acf32d6801db42982b2791789c2e245e142fed31519c9d223 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/find_anagrams/665.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/find_anagrams/665.txt.hash new file mode 100644 index 00000000..77c16781 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/find_anagrams/665.txt.hash @@ -0,0 +1 @@ +8ba41fd71a999a81dc4c519037477a7b2aafad8d11617d128236c97f82158856 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/find_anagrams/666.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/find_anagrams/666.txt.hash new file mode 100644 index 00000000..fa51c7da --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/find_anagrams/666.txt.hash @@ -0,0 +1 @@ +14c18edf1504757b13de3c7f1f0a3a5fd29c7b059582ddb42ccfc7bffca26bb6 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/find_anagrams/manif11.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/find_anagrams/manif11.txt.hash new file mode 100644 index 00000000..eb23c904 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/find_anagrams/manif11.txt.hash @@ -0,0 +1 @@ +51fe5898a1a5c5acc030f9204640d4caebf96778edd1e57cb7814ea7de146f64 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/find_anagrams/manif12.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/find_anagrams/manif12.txt.hash new file mode 100644 index 00000000..771f0a14 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/find_anagrams/manif12.txt.hash @@ -0,0 +1 @@ +808bef86bafc534a2c52bf70f66eabb6d2f225b605fade2027d3efb3a86f7f2a diff --git a/infrastructure/systems/Shark/nlp/hashes/small/find_anagrams/pgw050mo.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/find_anagrams/pgw050mo.txt.hash new file mode 100644 index 00000000..77c16781 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/find_anagrams/pgw050mo.txt.hash @@ -0,0 +1 @@ +8ba41fd71a999a81dc4c519037477a7b2aafad8d11617d128236c97f82158856 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/find_anagrams/pgw050pq.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/find_anagrams/pgw050pq.txt.hash new file mode 100644 index 00000000..02ef033c --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/find_anagrams/pgw050pq.txt.hash @@ -0,0 +1 @@ +011206120675453bf606523f7bcc0ecf9df01eca07fe365e3b41d14ae36eb4da diff --git a/infrastructure/systems/Shark/nlp/hashes/small/find_anagrams/pgwmo04.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/find_anagrams/pgwmo04.txt.hash new file mode 100644 index 00000000..70e9a4ec --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/find_anagrams/pgwmo04.txt.hash @@ -0,0 +1 @@ +a2c40d7439e5cbc6cfd0105eaa95df3d2ece2e7b5db7d650004aaa532222cb5d diff --git a/infrastructure/systems/Shark/nlp/hashes/small/find_anagrams/pgwpq04.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/find_anagrams/pgwpq04.txt.hash new file mode 100644 index 00000000..00e7ee78 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/find_anagrams/pgwpq04.txt.hash @@ -0,0 +1 @@ +41e872832ee3997821b93d4a32fd64f34e009eecf27a70ad9156bd3a6cb6bcd9 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/merge_upper/61-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/merge_upper/61-0.txt.hash new file mode 100644 index 00000000..8cf23372 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/merge_upper/61-0.txt.hash @@ -0,0 +1 @@ +6e632a07160a3db0d32f97438a58f4e0e3a6de5723ad0f2a89681365027f731c diff --git a/infrastructure/systems/Shark/nlp/hashes/small/merge_upper/61.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/merge_upper/61.txt.hash new file mode 100644 index 00000000..8e8d2133 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/merge_upper/61.txt.hash @@ -0,0 +1 @@ +093b3272c9605804c35cfcbf040006054085953fd0be022973082d36d49b50a3 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/merge_upper/665.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/merge_upper/665.txt.hash new file mode 100644 index 00000000..55f8357d --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/merge_upper/665.txt.hash @@ -0,0 +1 @@ +68ef460dd85981bcfb4bd2e399733b23b522fc850a252eeea187adff97a60654 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/merge_upper/666.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/merge_upper/666.txt.hash new file mode 100644 index 00000000..bf9702d3 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/merge_upper/666.txt.hash @@ -0,0 +1 @@ +a2abf869fca3ef2941cdcc6a9c7048a660b62455a9a5bcf8f65130078902e47b diff --git a/infrastructure/systems/Shark/nlp/hashes/small/merge_upper/manif11.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/merge_upper/manif11.txt.hash new file mode 100644 index 00000000..f6f821fc --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/merge_upper/manif11.txt.hash @@ -0,0 +1 @@ +c74a0ebb3b3a81f9ee305ede8000b916d9cf2157c12f80def7696019d9f8235f diff --git a/infrastructure/systems/Shark/nlp/hashes/small/merge_upper/manif12.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/merge_upper/manif12.txt.hash new file mode 100644 index 00000000..12746d91 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/merge_upper/manif12.txt.hash @@ -0,0 +1 @@ +c58b2bc815dcc65e0df0dad6298ad4aa3350aeeb2f30c0bfbcb92d7e3ad090aa diff --git a/infrastructure/systems/Shark/nlp/hashes/small/merge_upper/pgw050mo.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/merge_upper/pgw050mo.txt.hash new file mode 100644 index 00000000..59f807ff --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/merge_upper/pgw050mo.txt.hash @@ -0,0 +1 @@ +01fbe0c654f8a1b873fdb13bdbcd0f75f5004cd89c1c528cac3c93188b1dfa67 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/merge_upper/pgw050pq.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/merge_upper/pgw050pq.txt.hash new file mode 100644 index 00000000..46a7c348 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/merge_upper/pgw050pq.txt.hash @@ -0,0 +1 @@ +ca7498a9d2afc19d1a5c66c2e2fecd69f1ff4414a2d0c77b32475d52e24945a4 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/merge_upper/pgwmo04.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/merge_upper/pgwmo04.txt.hash new file mode 100644 index 00000000..de1e969e --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/merge_upper/pgwmo04.txt.hash @@ -0,0 +1 @@ +06aa820204671df72d8867a59755c902b16d21d6d8e7eea3444edde9a76262ec diff --git a/infrastructure/systems/Shark/nlp/hashes/small/merge_upper/pgwpq04.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/merge_upper/pgwpq04.txt.hash new file mode 100644 index 00000000..37387690 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/merge_upper/pgwpq04.txt.hash @@ -0,0 +1 @@ +aa97a25f1cc09c95b0a2cc1672f9a38354f61d149651f4bc1843e6201012539e diff --git a/infrastructure/systems/Shark/nlp/hashes/small/sort/61-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/sort/61-0.txt.hash new file mode 100644 index 00000000..ce2e8d76 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/sort/61-0.txt.hash @@ -0,0 +1 @@ +e5da5ad4637fd96a3607c945c4d438e2367e309ad3c785dbf2d5bc89bb09acc5 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/sort/61.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/sort/61.txt.hash new file mode 100644 index 00000000..57d88995 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/sort/61.txt.hash @@ -0,0 +1 @@ +28b75e03e47629a881224cbe162c056c096139b7642022ccc7f506cde93c2ccd diff --git a/infrastructure/systems/Shark/nlp/hashes/small/sort/665.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/sort/665.txt.hash new file mode 100644 index 00000000..4208d232 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/sort/665.txt.hash @@ -0,0 +1 @@ +085c1c9b949ef9ba5bfd938ac8021bd4e068e1bb47b7bbb33763bc1808d48eef diff --git a/infrastructure/systems/Shark/nlp/hashes/small/sort/666.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/sort/666.txt.hash new file mode 100644 index 00000000..511a07de --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/sort/666.txt.hash @@ -0,0 +1 @@ +9ed1ee295e2b7f54cc1b01de08c96c60b5d9bdb0ac6f73211c963fabe3bb5eb3 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/sort/manif11.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/sort/manif11.txt.hash new file mode 100644 index 00000000..99043039 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/sort/manif11.txt.hash @@ -0,0 +1 @@ +14d5fa9776eb2443b60e5355e764d4a3120e47e6524c50a5e65e853058b75da6 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/sort/manif12.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/sort/manif12.txt.hash new file mode 100644 index 00000000..edfe2b96 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/sort/manif12.txt.hash @@ -0,0 +1 @@ +fade2fd4bf9777434da0f5ebdaa8224b360eb30942e2743d573a0bf1f2cb180a diff --git a/infrastructure/systems/Shark/nlp/hashes/small/sort/pgw050mo.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/sort/pgw050mo.txt.hash new file mode 100644 index 00000000..b2af28ce --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/sort/pgw050mo.txt.hash @@ -0,0 +1 @@ +e1d5c92d1b91d57f38a674bfba7616e6d2e6116a166b22aa4cbe6144e9770985 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/sort/pgw050pq.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/sort/pgw050pq.txt.hash new file mode 100644 index 00000000..be6a287c --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/sort/pgw050pq.txt.hash @@ -0,0 +1 @@ +de565845cd0c91481e5d6fbcbe444f71c76ffc94613eee532aaaeb7f9d66c4ae diff --git a/infrastructure/systems/Shark/nlp/hashes/small/sort/pgwmo04.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/sort/pgwmo04.txt.hash new file mode 100644 index 00000000..e35868f9 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/sort/pgwmo04.txt.hash @@ -0,0 +1 @@ +30b76170ba941360af81f94ce8eb7307b042d1b53cc8d7a07c11e05baec9469d diff --git a/infrastructure/systems/Shark/nlp/hashes/small/sort/pgwpq04.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/sort/pgwpq04.txt.hash new file mode 100644 index 00000000..53ccdc9b --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/sort/pgwpq04.txt.hash @@ -0,0 +1 @@ +9c8b7f562594587ec95f2e4be1cccbc4283ef302513d289eecbf4f07174f1871 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/sort_words_by_num_of_syllables/61-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/sort_words_by_num_of_syllables/61-0.txt.hash new file mode 100644 index 00000000..0ba804f5 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/sort_words_by_num_of_syllables/61-0.txt.hash @@ -0,0 +1 @@ +6e8fa85bd76b0440b042c49dcc535a2f8c4c501c8aca3de6d1c20bcce7989bc8 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/sort_words_by_num_of_syllables/61.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/sort_words_by_num_of_syllables/61.txt.hash new file mode 100644 index 00000000..0ba804f5 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/sort_words_by_num_of_syllables/61.txt.hash @@ -0,0 +1 @@ +6e8fa85bd76b0440b042c49dcc535a2f8c4c501c8aca3de6d1c20bcce7989bc8 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/sort_words_by_num_of_syllables/665.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/sort_words_by_num_of_syllables/665.txt.hash new file mode 100644 index 00000000..cdd55365 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/sort_words_by_num_of_syllables/665.txt.hash @@ -0,0 +1 @@ +e613107c5a73b97983052380276456126bcc8be5914791cef0c7a74d1845b675 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/sort_words_by_num_of_syllables/666.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/sort_words_by_num_of_syllables/666.txt.hash new file mode 100644 index 00000000..71102f73 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/sort_words_by_num_of_syllables/666.txt.hash @@ -0,0 +1 @@ +522ec8ec6834219f1a2d9ee3f68bd869e700c2ac9fe9ee5c6f4cf17212b31a90 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/sort_words_by_num_of_syllables/manif11.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/sort_words_by_num_of_syllables/manif11.txt.hash new file mode 100644 index 00000000..0b1f7acf --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/sort_words_by_num_of_syllables/manif11.txt.hash @@ -0,0 +1 @@ +cf6742a7661c0fb943a78a6af8865a77cfafc95dda7f522e4a99b5b1b1c7d0bb diff --git a/infrastructure/systems/Shark/nlp/hashes/small/sort_words_by_num_of_syllables/manif12.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/sort_words_by_num_of_syllables/manif12.txt.hash new file mode 100644 index 00000000..0b1f7acf --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/sort_words_by_num_of_syllables/manif12.txt.hash @@ -0,0 +1 @@ +cf6742a7661c0fb943a78a6af8865a77cfafc95dda7f522e4a99b5b1b1c7d0bb diff --git a/infrastructure/systems/Shark/nlp/hashes/small/sort_words_by_num_of_syllables/pgw050mo.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/sort_words_by_num_of_syllables/pgw050mo.txt.hash new file mode 100644 index 00000000..cdd55365 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/sort_words_by_num_of_syllables/pgw050mo.txt.hash @@ -0,0 +1 @@ +e613107c5a73b97983052380276456126bcc8be5914791cef0c7a74d1845b675 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/sort_words_by_num_of_syllables/pgw050pq.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/sort_words_by_num_of_syllables/pgw050pq.txt.hash new file mode 100644 index 00000000..021a7637 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/sort_words_by_num_of_syllables/pgw050pq.txt.hash @@ -0,0 +1 @@ +f5301c2e8b83a5bac710aa093c3e4bf1eba35eef6afea8a9081bd4615eabf5fe diff --git a/infrastructure/systems/Shark/nlp/hashes/small/sort_words_by_num_of_syllables/pgwmo04.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/sort_words_by_num_of_syllables/pgwmo04.txt.hash new file mode 100644 index 00000000..4cab5845 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/sort_words_by_num_of_syllables/pgwmo04.txt.hash @@ -0,0 +1 @@ +bd4a29587f003d2893b34ebc68d2de163cd1a764685a952c7687e3926b19b96a diff --git a/infrastructure/systems/Shark/nlp/hashes/small/sort_words_by_num_of_syllables/pgwpq04.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/sort_words_by_num_of_syllables/pgwpq04.txt.hash new file mode 100644 index 00000000..06fd12a9 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/sort_words_by_num_of_syllables/pgwpq04.txt.hash @@ -0,0 +1 @@ +0a36308c0ba58c51874d70e9d68e1ecba89b2b46f4f7629eb623a222e5fa7cf1 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/sort_words_by_rhyming/61-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/sort_words_by_rhyming/61-0.txt.hash new file mode 100644 index 00000000..0409f473 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/sort_words_by_rhyming/61-0.txt.hash @@ -0,0 +1 @@ +bce81fcfe9e805b6a7c8a1dff64744995d57323b1635a234435f9df453a2f6b1 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/sort_words_by_rhyming/61.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/sort_words_by_rhyming/61.txt.hash new file mode 100644 index 00000000..6b497d72 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/sort_words_by_rhyming/61.txt.hash @@ -0,0 +1 @@ +f8e3dac315813e6fdfff3a12ed2fc127dd4a4cfa3140e1347eac641b0838e853 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/sort_words_by_rhyming/665.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/sort_words_by_rhyming/665.txt.hash new file mode 100644 index 00000000..0435e9c1 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/sort_words_by_rhyming/665.txt.hash @@ -0,0 +1 @@ +28918cb0cfa673485962b4ce9591cb3f210c92098361fcc35cd1e405bf0445a2 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/sort_words_by_rhyming/666.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/sort_words_by_rhyming/666.txt.hash new file mode 100644 index 00000000..5416355f --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/sort_words_by_rhyming/666.txt.hash @@ -0,0 +1 @@ +ec854a13825436e228a581c7aa0273231440a221b1caeb38e54f4d9169972587 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/sort_words_by_rhyming/manif11.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/sort_words_by_rhyming/manif11.txt.hash new file mode 100644 index 00000000..413a9ff3 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/sort_words_by_rhyming/manif11.txt.hash @@ -0,0 +1 @@ +1a24e3888a88c574bcb17c45edcb7d4074d37af283cbbd191e2a75ea021cd2d2 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/sort_words_by_rhyming/manif12.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/sort_words_by_rhyming/manif12.txt.hash new file mode 100644 index 00000000..98d5bb05 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/sort_words_by_rhyming/manif12.txt.hash @@ -0,0 +1 @@ +1251674d424ce6ba1f5f8f22e52112ea2586cce676edfc1133f8f8bac2f31199 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/sort_words_by_rhyming/pgw050mo.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/sort_words_by_rhyming/pgw050mo.txt.hash new file mode 100644 index 00000000..e57c81c7 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/sort_words_by_rhyming/pgw050mo.txt.hash @@ -0,0 +1 @@ +c5fa19b3bd6d1686f7097aeb2ffb1ddf99fad2aae2a41fc96ac30afef1ce62be diff --git a/infrastructure/systems/Shark/nlp/hashes/small/sort_words_by_rhyming/pgw050pq.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/sort_words_by_rhyming/pgw050pq.txt.hash new file mode 100644 index 00000000..9240fcb8 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/sort_words_by_rhyming/pgw050pq.txt.hash @@ -0,0 +1 @@ +0b95fc1ae434af5c57b8f08575510da4c2907b69257fa3e1b2efc39d8daebff4 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/sort_words_by_rhyming/pgwmo04.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/sort_words_by_rhyming/pgwmo04.txt.hash new file mode 100644 index 00000000..549b5a93 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/sort_words_by_rhyming/pgwmo04.txt.hash @@ -0,0 +1 @@ +a6b432a08a5f07054e39a610c8434f80cafe47d34bc5c2d5df9704a20191682d diff --git a/infrastructure/systems/Shark/nlp/hashes/small/sort_words_by_rhyming/pgwpq04.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/sort_words_by_rhyming/pgwpq04.txt.hash new file mode 100644 index 00000000..e1d4b4a0 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/sort_words_by_rhyming/pgwpq04.txt.hash @@ -0,0 +1 @@ +0ae62b7f3ec42242477cdea884411a55dc696720c7b97866aa77dbe85c7d6ce3 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/61-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/61-0.txt.hash new file mode 100644 index 00000000..e1d9540a --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/61-0.txt.hash @@ -0,0 +1 @@ +aa3bf69dbfcd4efa319d0d135fff90e94924407e4e820b021e1f9c0404d8999f diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/61.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/61.txt.hash new file mode 100644 index 00000000..f6263669 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/61.txt.hash @@ -0,0 +1 @@ +29a19d16b29556fecd81229064efd276ca86b8d8fc3bdfb7e272fa02c2af5477 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/655.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/655.txt.hash new file mode 100644 index 00000000..208beb39 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/655.txt.hash @@ -0,0 +1 @@ +11d9414c7cc1c84fd212fc128ad501385bee8ffe1846e2b34aeda9b7e007f12a diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/660.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/660.txt.hash new file mode 100644 index 00000000..33877aef --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/660.txt.hash @@ -0,0 +1 @@ +fff6a503cc86334e6b94c7f08bfc4b5db539b992bb91fcae30bb7d302848507d diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/665.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/665.txt.hash new file mode 100644 index 00000000..30628044 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/665.txt.hash @@ -0,0 +1 @@ +8efffcdc1b7f84a624ec9386606d4bf1fca0688e8a900b797fb22048bf1dc608 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/666.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/666.txt.hash new file mode 100644 index 00000000..ffe95a47 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/666.txt.hash @@ -0,0 +1 @@ +5823e781424dfca5379b6fbe6485e95f065f2dcc8ede7ce32579ffc79652f7f2 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/6660.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/6660.txt.hash new file mode 100644 index 00000000..f3ae8cb1 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/6660.txt.hash @@ -0,0 +1 @@ +a15d8c7a9e8e1895e44aabdb84f65c07eb0f9ab48a475e003497d0d369dd3f40 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66600-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66600-0.txt.hash new file mode 100644 index 00000000..493d165b --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66600-0.txt.hash @@ -0,0 +1 @@ +40112f264f19c06c36a95532d18ee97a4ac47e4bcb3ef6539483ed7d2024c925 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66601-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66601-0.txt.hash new file mode 100644 index 00000000..fbd070eb --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66601-0.txt.hash @@ -0,0 +1 @@ +0d53d3c55d1c3e5d5edca20a6733eab62d74bec1898c0c59f24759f60943bc98 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66602-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66602-0.txt.hash new file mode 100644 index 00000000..57fbda75 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66602-0.txt.hash @@ -0,0 +1 @@ +781aa87de07cec251e6a844d9e2d27d03172864b0501e26063071593af134c4b diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66603-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66603-0.txt.hash new file mode 100644 index 00000000..576ba7dc --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66603-0.txt.hash @@ -0,0 +1 @@ +073c25f4a19310355fd04883c5b81e9ee8bf6d6156d7333a050e82f456c0d17d diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66604-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66604-0.txt.hash new file mode 100644 index 00000000..ecdfb0ba --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66604-0.txt.hash @@ -0,0 +1 @@ +0a6eb05ee15e76b56cdd2f290db9b4282f92449826d1b4f2d50cd9ae9cc7d1f9 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66605-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66605-0.txt.hash new file mode 100644 index 00000000..88c377c9 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66605-0.txt.hash @@ -0,0 +1 @@ +8cbb19084d4d0b855a38003f6d86b8c6be64c4ee9657bed02dada04ce1ee6d39 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66606-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66606-0.txt.hash new file mode 100644 index 00000000..5c7b2700 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66606-0.txt.hash @@ -0,0 +1 @@ +cb05bf5041d61699121fd04ed5445bc63920c6167f7c672c540993f5dd6b716e diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66607-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66607-0.txt.hash new file mode 100644 index 00000000..56ebd6ac --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66607-0.txt.hash @@ -0,0 +1 @@ +2de45d07bbe4fea65ae21758f32b2b64c0d64252735ec5c1f151c5255b25dbc1 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66608-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66608-0.txt.hash new file mode 100644 index 00000000..218d6185 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66608-0.txt.hash @@ -0,0 +1 @@ +5a618e0f6d02779274fe550fd7ce2a2c693e7f8a54ff534f80a47461a47e6106 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66609-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66609-0.txt.hash new file mode 100644 index 00000000..2081b386 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66609-0.txt.hash @@ -0,0 +1 @@ +4aba3f78eb63c53f258d5643ca066bd747c48aabb572e6d52788d1f2a6cbad62 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/6661.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/6661.txt.hash new file mode 100644 index 00000000..e980214a --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/6661.txt.hash @@ -0,0 +1 @@ +ed5507d2461b09029cd267a2818fa5ef9d7e8d60dc8c7e88e9625f1839cc347b diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/6662.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/6662.txt.hash new file mode 100644 index 00000000..a6a99abc --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/6662.txt.hash @@ -0,0 +1 @@ +b50c2ccef172c2c586eb4fc1d090a5a971e17ebc095f6f58ea695b055321e2c7 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66620-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66620-0.txt.hash new file mode 100644 index 00000000..13f61cd2 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66620-0.txt.hash @@ -0,0 +1 @@ +c12f6fcbf892f6ab6e3edc8293a5f55b20d730ffee986828020b520b137a4abf diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66621-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66621-0.txt.hash new file mode 100644 index 00000000..5fb62b2e --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66621-0.txt.hash @@ -0,0 +1 @@ +3a34b925ea02393264ff83f0ceb64632c45312dacfe129cd71f5ae9296dd3431 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66622-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66622-0.txt.hash new file mode 100644 index 00000000..5ea7caba --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66622-0.txt.hash @@ -0,0 +1 @@ +d34c49e98deb70819ca996d396eb6abadcaee82e746357cfd46d189b73b19f9a diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66623-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66623-0.txt.hash new file mode 100644 index 00000000..356b49eb --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66623-0.txt.hash @@ -0,0 +1 @@ +480969c64d0ef432476078bd7f5992da29ed0e3ffa7a2c75b11ebebf9caf5254 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66624-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66624-0.txt.hash new file mode 100644 index 00000000..2ff55ed8 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66624-0.txt.hash @@ -0,0 +1 @@ +4a32db302ac4528463c67dfff6234796c035a25f418058ff52bbd3ea5912b4f0 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66625-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66625-0.txt.hash new file mode 100644 index 00000000..b00b6d0e --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66625-0.txt.hash @@ -0,0 +1 @@ +e0bb1923f84b74092f55c6fb173bbc8c230a2c7175f4bd80a71731c6d80d0fa4 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66626-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66626-0.txt.hash new file mode 100644 index 00000000..ccf168c3 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66626-0.txt.hash @@ -0,0 +1 @@ +e2ec928b33019175e53d59c6bfb902eee102cb67ba3a3bb08c84bea41cae8e78 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66627-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66627-0.txt.hash new file mode 100644 index 00000000..888212b3 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66627-0.txt.hash @@ -0,0 +1 @@ +dfe3ffd7ce5018f243197b0456f87602e1a4afbd1f729380dbe487e1f899b3c2 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66628-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66628-0.txt.hash new file mode 100644 index 00000000..53fdd4d2 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66628-0.txt.hash @@ -0,0 +1 @@ +c5e0c4252a534a41e8727ebd49b3d13a408a49bc28bf239e42e2f6e8df107664 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66629-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66629-0.txt.hash new file mode 100644 index 00000000..df5a9f9d --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66629-0.txt.hash @@ -0,0 +1 @@ +6c20e4a1b6daf3dc0bf5404e5b1fcc40b81177b8648ea1a263a0790b750f3592 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/6663.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/6663.txt.hash new file mode 100644 index 00000000..fb9a7368 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/6663.txt.hash @@ -0,0 +1 @@ +64ef123a5647237489140cbd42cf52481a18c9da7a43803e698e0f82078c8641 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66630-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66630-0.txt.hash new file mode 100644 index 00000000..aace7dac --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66630-0.txt.hash @@ -0,0 +1 @@ +b4abcbd1133bf401f937df041cff99fa33814dfd6c50ce7f566f7bb0f0d75006 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66631-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66631-0.txt.hash new file mode 100644 index 00000000..d3d95da6 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66631-0.txt.hash @@ -0,0 +1 @@ +a18904700abe52b7d775bc1761f9062341a866f4edd8b4d8201d9237e83b42dc diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66632-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66632-0.txt.hash new file mode 100644 index 00000000..8e0e0b74 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66632-0.txt.hash @@ -0,0 +1 @@ +6724ced85b4174ed7143a5ed698ce6dc0397be574b38fae62c4829a232d10e50 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66633-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66633-0.txt.hash new file mode 100644 index 00000000..629d0e53 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66633-0.txt.hash @@ -0,0 +1 @@ +b06eea792f92fffc4842e7ecb929cb9aebc4f23412740d3892f9f75ac9c1b115 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66634-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66634-0.txt.hash new file mode 100644 index 00000000..633e64c0 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66634-0.txt.hash @@ -0,0 +1 @@ +bf93c32b04563399ba3a46dff40e61b1dafb276ac573737a647e97372b26ee69 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66635-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66635-0.txt.hash new file mode 100644 index 00000000..a147e246 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66635-0.txt.hash @@ -0,0 +1 @@ +a5cacb937be9e66d3a31c3c00e00fe35f6287d2fcb5e7ac3ec1b6d84e9ccae3b diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66636-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66636-0.txt.hash new file mode 100644 index 00000000..64bc1386 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66636-0.txt.hash @@ -0,0 +1 @@ +837c9c5145d88bdebdaa1650f65158c46eeb24071a6b3f44249e1b1cf0f441c2 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66637-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66637-0.txt.hash new file mode 100644 index 00000000..ab72a743 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66637-0.txt.hash @@ -0,0 +1 @@ +ad3492d68cb1e7ae7cc239c2f4fc3970e988e34e2d2d3322a11cf3d83ddf775d diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66638-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66638-0.txt.hash new file mode 100644 index 00000000..bf4544ed --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66638-0.txt.hash @@ -0,0 +1 @@ +50b47c578f47c25d352e5f7348f0b51394301b4f695025e9852e005c969f424c diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66639-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66639-0.txt.hash new file mode 100644 index 00000000..3615e914 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66639-0.txt.hash @@ -0,0 +1 @@ +948b9d2c5db39677ac9ea8d46b08d33811a326a5625c8b9dfcdd2bc0731db969 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/6664-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/6664-0.txt.hash new file mode 100644 index 00000000..f6a67b99 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/6664-0.txt.hash @@ -0,0 +1 @@ +ed2075331ce2a24b0ed16eeeb15018d158a980e700428c3cf8054aae484e2983 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/6664.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/6664.txt.hash new file mode 100644 index 00000000..f6a67b99 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/6664.txt.hash @@ -0,0 +1 @@ +ed2075331ce2a24b0ed16eeeb15018d158a980e700428c3cf8054aae484e2983 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66640-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66640-0.txt.hash new file mode 100644 index 00000000..08fb75a5 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66640-0.txt.hash @@ -0,0 +1 @@ +8ebfd0e7583348a5d739068415cea919d3f571cbc710107f90045e990a46fc5f diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66641-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66641-0.txt.hash new file mode 100644 index 00000000..5ee9b279 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66641-0.txt.hash @@ -0,0 +1 @@ +e8cb922e57b2c94ac5a7716461cb357c7b1de81cf37511b4cbf160ff6b71f4b3 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66642-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66642-0.txt.hash new file mode 100644 index 00000000..e1a18a56 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66642-0.txt.hash @@ -0,0 +1 @@ +c9b0d0050d0b3c25cb488700f8f1571af0d8a795a8c67d160abbab8b8ae618c0 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66643-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66643-0.txt.hash new file mode 100644 index 00000000..626389b6 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66643-0.txt.hash @@ -0,0 +1 @@ +d78d2522b5b6845711bc44ffb2ed5419be6a4ca4de46c331c6d368f61999a5ac diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66645-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66645-0.txt.hash new file mode 100644 index 00000000..4f29aa16 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66645-0.txt.hash @@ -0,0 +1 @@ +e4f5ccd9a952f394a5655c92a4d25471b025ef06df73f4e89fb6a493c35d0abe diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66646-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66646-0.txt.hash new file mode 100644 index 00000000..78837edf --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66646-0.txt.hash @@ -0,0 +1 @@ +a7b386a1e2b7bf4f1fab7482cd4f50de4f38ae3e76bf1618acaed40bee9351c6 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66647-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66647-0.txt.hash new file mode 100644 index 00000000..41208f32 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66647-0.txt.hash @@ -0,0 +1 @@ +f166fc44f01253b24af0b40590db78cd8dbf05ca371ceca187db04aca8f76573 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66648-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66648-0.txt.hash new file mode 100644 index 00000000..587f6a43 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66648-0.txt.hash @@ -0,0 +1 @@ +f6fcae5786b36fec7bf7c49ab126e3202c262b53bf3c4893b977a26064484ad8 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66649-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66649-0.txt.hash new file mode 100644 index 00000000..ecdfb0ba --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66649-0.txt.hash @@ -0,0 +1 @@ +0a6eb05ee15e76b56cdd2f290db9b4282f92449826d1b4f2d50cd9ae9cc7d1f9 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/6665-8.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/6665-8.txt.hash new file mode 100644 index 00000000..0e4ec952 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/6665-8.txt.hash @@ -0,0 +1 @@ +7407dbdbf8a7969256525a22881118888b63bcc8485e151694cf45cb7eb4e421 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66650-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66650-0.txt.hash new file mode 100644 index 00000000..cea6fa10 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66650-0.txt.hash @@ -0,0 +1 @@ +c4604ed6a4a44d08a9ba9d126e7d3245d611e3eb727c89d5ad256ea7828941b8 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66651-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66651-0.txt.hash new file mode 100644 index 00000000..c3068040 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66651-0.txt.hash @@ -0,0 +1 @@ +e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66652-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66652-0.txt.hash new file mode 100644 index 00000000..46236e96 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66652-0.txt.hash @@ -0,0 +1 @@ +58a9c2d58db97e1e23f64d8ed26fe6a0e3fa1c6b379b40fad5e0263db6280b5c diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66653-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66653-0.txt.hash new file mode 100644 index 00000000..6247a8f7 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66653-0.txt.hash @@ -0,0 +1 @@ +47256d8eb856a899d25f8364ada8d0ca5e4682a5e6b89441dcf95808b524cebe diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66654-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66654-0.txt.hash new file mode 100644 index 00000000..a41bfad3 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66654-0.txt.hash @@ -0,0 +1 @@ +3971c59fa42b89e816259038b45f17f77b04bd0e7c95f3eeb995be1032bd0e65 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66655-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66655-0.txt.hash new file mode 100644 index 00000000..a399a865 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66655-0.txt.hash @@ -0,0 +1 @@ +be612916939fd73762a70e14b8f61958d53b4cadebcdb45f060ee8f0820e7b7f diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66656-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66656-0.txt.hash new file mode 100644 index 00000000..544e23da --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66656-0.txt.hash @@ -0,0 +1 @@ +9258ed3544529a2b99fb2fa2a4274ae1423cb34a1ad7e47c754995dd1c3de71a diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66657-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66657-0.txt.hash new file mode 100644 index 00000000..924538a1 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66657-0.txt.hash @@ -0,0 +1 @@ +7e53ecc0250c5b1c508cc816bdb37a15d626aec02d1c62f200a06d58629f0483 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66658-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66658-0.txt.hash new file mode 100644 index 00000000..44f29ec6 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66658-0.txt.hash @@ -0,0 +1 @@ +9a8c599793f9a69acdb24f2f9f77eb6e814aca142b2484d39cbf8c5bd002fac1 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66659-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66659-0.txt.hash new file mode 100644 index 00000000..d76597d2 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66659-0.txt.hash @@ -0,0 +1 @@ +9a6e9cc1f275cd53b89326a9dc966e9dcdba7ab31d24bfee6954a28697130005 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/6666-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/6666-0.txt.hash new file mode 100644 index 00000000..6888acf7 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/6666-0.txt.hash @@ -0,0 +1 @@ +1bf4ada3833ca75e23f2dc851d82ad866e4c5a581a3c36c2a7ae40433cec7dc6 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66660-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66660-0.txt.hash new file mode 100644 index 00000000..143f8ca6 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66660-0.txt.hash @@ -0,0 +1 @@ +29ec97ab9b8262a973388097545de2c75dfb4a95d8747be2de3c96bbec09c314 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66661-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66661-0.txt.hash new file mode 100644 index 00000000..72adfb07 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66661-0.txt.hash @@ -0,0 +1 @@ +2eee0d6800160eb0639fb793764cb0512339a30583760fb23e7bad89f43db7c0 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66662-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66662-0.txt.hash new file mode 100644 index 00000000..01da07c3 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66662-0.txt.hash @@ -0,0 +1 @@ +e99e6b56b9659523ebd5127ddecd81413ef5ba7c05d7b3a433b9a83e1a704553 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66663-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66663-0.txt.hash new file mode 100644 index 00000000..fc8afcf8 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66663-0.txt.hash @@ -0,0 +1 @@ +c603b0a29467477ec4725fb787f7185c47e0d4363096ce7b487502c70e6e5b6b diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66664-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66664-0.txt.hash new file mode 100644 index 00000000..97e4fbaf --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66664-0.txt.hash @@ -0,0 +1 @@ +c21414a87dae679c40863b7ca56d2c1ae2cc8b1148bd0825e774c96d7393f133 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66665-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66665-0.txt.hash new file mode 100644 index 00000000..3170e97c --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66665-0.txt.hash @@ -0,0 +1 @@ +4bfadbf8d3c16e5bd88a19c62ba6a982e8d7ff1aa6e63fa721082689023e5440 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66666-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66666-0.txt.hash new file mode 100644 index 00000000..9ce19587 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66666-0.txt.hash @@ -0,0 +1 @@ +18f1ab13cfabda1535f87eb5771d4f2b84476fd0d91adf96d69b39bf55c1104a diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66667-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66667-0.txt.hash new file mode 100644 index 00000000..7dd0ca30 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66667-0.txt.hash @@ -0,0 +1 @@ +09bbd8954c76e71f9f4ff33051fc357168538caddd8e658179b438f103726399 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66668-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66668-0.txt.hash new file mode 100644 index 00000000..b406062d --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66668-0.txt.hash @@ -0,0 +1 @@ +1463727f1018d6ccaafd9d5d45059a9520d7725ac0919c7aa9e058ef4f88257c diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66669-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66669-0.txt.hash new file mode 100644 index 00000000..37367842 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66669-0.txt.hash @@ -0,0 +1 @@ +72cdf0442a5dd0ffb8fdadb3679dde81be0dc9559356d117e7da7187e0a5999d diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/6667-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/6667-0.txt.hash new file mode 100644 index 00000000..102f817a --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/6667-0.txt.hash @@ -0,0 +1 @@ +4fa4ec94003d68f9cf5ff58b54b26266dbd5bed775221f0fa78e6e2d6e44c02e diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66670-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66670-0.txt.hash new file mode 100644 index 00000000..69810b1b --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66670-0.txt.hash @@ -0,0 +1 @@ +0f0cc8a5f4c17ba2913dddc8740af68fbb319580f8ce1b9060c31bf934d283b4 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66671-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66671-0.txt.hash new file mode 100644 index 00000000..f023cfd0 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66671-0.txt.hash @@ -0,0 +1 @@ +7f56339a8f80c7bc35f62231b10dde0a0d037121b448bac9787900da00b33cca diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66672-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66672-0.txt.hash new file mode 100644 index 00000000..1bc24197 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66672-0.txt.hash @@ -0,0 +1 @@ +77802f3b1528111973bd5b67c45e0cde0cd64526b49ea29ecbb97f1a3d136721 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66673-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66673-0.txt.hash new file mode 100644 index 00000000..53d2535d --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66673-0.txt.hash @@ -0,0 +1 @@ +e5b092f5ac1274e6180aa5a54a48f01ea009e501ac5e2af58d7f954c8a2a52e2 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66674-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66674-0.txt.hash new file mode 100644 index 00000000..c97fa16e --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66674-0.txt.hash @@ -0,0 +1 @@ +98213de6477e147a97a0f3d5b162bb3ca7ea4a4e62d5b2d2616f447ca0a13888 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66675-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66675-0.txt.hash new file mode 100644 index 00000000..21d87ee5 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66675-0.txt.hash @@ -0,0 +1 @@ +abb0b1fc9bbc8fd0af4ef9c2cb237102d7a0a161dfcf6e394de8e69a1dc79a34 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66676-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66676-0.txt.hash new file mode 100644 index 00000000..367092e4 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66676-0.txt.hash @@ -0,0 +1 @@ +e80519ae9df56694c9f5dedc055a8be5b65dd0a53b15f38a7dbe54bc4684737c diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66677-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66677-0.txt.hash new file mode 100644 index 00000000..c309289b --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66677-0.txt.hash @@ -0,0 +1 @@ +51e8323968dba0bb03bf8e545d8f53459d855c864d2155e8c14e0419ded34840 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66678-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66678-0.txt.hash new file mode 100644 index 00000000..faa1e1bf --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66678-0.txt.hash @@ -0,0 +1 @@ +9d2c5a9c6dadc3f822834084d451938f7672303a680c2fac62327973629a9e70 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66679-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66679-0.txt.hash new file mode 100644 index 00000000..f6772479 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66679-0.txt.hash @@ -0,0 +1 @@ +c3af32ae574546459d268e9a47ab0701c8ee1c97cd38004144b7f60dbf651e65 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66680-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66680-0.txt.hash new file mode 100644 index 00000000..4b1ddf88 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66680-0.txt.hash @@ -0,0 +1 @@ +6dc9bd32bd18b0ea435c3dfd79d0f7532111d6f311eb726483178e3834b3216e diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66681-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66681-0.txt.hash new file mode 100644 index 00000000..3e71d64b --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66681-0.txt.hash @@ -0,0 +1 @@ +9e8512e38c159aecffdac1df9578786f754057949063615c9983f5b126f42ea7 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66682-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66682-0.txt.hash new file mode 100644 index 00000000..e3fbcc93 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66682-0.txt.hash @@ -0,0 +1 @@ +7883055ced60613af257a9a9c59ecdb0f24bd0a32538937e05ae1be04483e235 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66683-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66683-0.txt.hash new file mode 100644 index 00000000..1f9d31df --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66683-0.txt.hash @@ -0,0 +1 @@ +60b080aed4935b93dc2b1527ecb94aa652e5da4825924803f5dd20cf7309d182 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66684-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66684-0.txt.hash new file mode 100644 index 00000000..28ef7c67 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66684-0.txt.hash @@ -0,0 +1 @@ +a85e89bf95568fe60deadfc7194a50c6bbb2c11ddf7f7c008155a2c091ec7474 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66685-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66685-0.txt.hash new file mode 100644 index 00000000..ee86d334 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66685-0.txt.hash @@ -0,0 +1 @@ +911ffed296c1fb6e3511fb37ad5c7a30cf773b5303cafed2c3d66f3a44c70443 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66686-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66686-0.txt.hash new file mode 100644 index 00000000..886cbccc --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66686-0.txt.hash @@ -0,0 +1 @@ +6f25b2512c9ef54cd284f263f1a3d0943a8cb3c102b1ccebf1d97f5bc4fa2a27 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66687-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66687-0.txt.hash new file mode 100644 index 00000000..56ec18e0 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66687-0.txt.hash @@ -0,0 +1 @@ +f08b52bbc5d3cc8377cfddd561c51051eca7398ea51ec6f60731f49c14446388 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66688-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66688-0.txt.hash new file mode 100644 index 00000000..ccfd3def --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66688-0.txt.hash @@ -0,0 +1 @@ +ac9c4f45749976b55bc66a75326d1ea0474de6886f6d324d01a3451802ecefa5 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66689-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66689-0.txt.hash new file mode 100644 index 00000000..87adcdef --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66689-0.txt.hash @@ -0,0 +1 @@ +f73cbf1e7b711532a219251cc2685bdf2750ccfbc27a22ba511a899bdfc76a29 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/6669.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/6669.txt.hash new file mode 100644 index 00000000..5b351fdb --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/6669.txt.hash @@ -0,0 +1 @@ +26e61bd8437c59566730051899e7d042a12656a83f2bba4cd941823ab8586831 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66690-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66690-0.txt.hash new file mode 100644 index 00000000..96b2c7b9 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66690-0.txt.hash @@ -0,0 +1 @@ +15aa33e3c9b69285a16ba9e0d4c7a65b855c4cbdbfdc2e1c46511d76f8b6e0d7 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66691-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66691-0.txt.hash new file mode 100644 index 00000000..6cc2c277 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66691-0.txt.hash @@ -0,0 +1 @@ +9b6ab73c83fee8fd3961066fb84e2ff751cc5c23392ac959a415bfcfb271470d diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66692-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66692-0.txt.hash new file mode 100644 index 00000000..c3c721e1 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66692-0.txt.hash @@ -0,0 +1 @@ +9610df326982e83269cfcb02fadccb8f17d191dcfc39d3a947678bbe7c94f92b diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66693-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66693-0.txt.hash new file mode 100644 index 00000000..c0b27975 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66693-0.txt.hash @@ -0,0 +1 @@ +3f1a21c162fbf527f2be3f92b87dda3fa005f91651574333ef521d5f05d1cbfa diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66694-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66694-0.txt.hash new file mode 100644 index 00000000..420d8bc0 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66694-0.txt.hash @@ -0,0 +1 @@ +7d6ba76874d572d9b194a6ca17f2b9b05f7d7d4cd219e7624b7f2f9d3e65c5c7 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66695-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66695-0.txt.hash new file mode 100644 index 00000000..f945cfdb --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66695-0.txt.hash @@ -0,0 +1 @@ +52763a5f541b758631b4779859ad0e2b46a13c90f7c435e47b1f719e06e6da85 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66696-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66696-0.txt.hash new file mode 100644 index 00000000..fcc251ea --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66696-0.txt.hash @@ -0,0 +1 @@ +23d5bda416c7770ec1d1cb8c5a25877cacf5307d6f40a6398db9db0bce6245dd diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66697-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66697-0.txt.hash new file mode 100644 index 00000000..f073428c --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66697-0.txt.hash @@ -0,0 +1 @@ +8196465669c9e4a8a9e7e1c1262b6e35d370053546b060dac6bb7a3a1257d841 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66698-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66698-0.txt.hash new file mode 100644 index 00000000..ac4241e1 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66698-0.txt.hash @@ -0,0 +1 @@ +e7ab9ab27876532c10237b70c1cb387b1bbab8d3c70fd69c844003a74f5d2e11 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66699-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66699-0.txt.hash new file mode 100644 index 00000000..23d257e8 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/66699-0.txt.hash @@ -0,0 +1 @@ +2c808e6ad88c95cb3b1190cc486388aa7bdbfdb808697355060f8320e31e504b diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/fchld10.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/fchld10.txt.hash new file mode 100644 index 00000000..132abc13 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/fchld10.txt.hash @@ -0,0 +1 @@ +97040303cfc8c9199d1d3eb1d7df153049f67432b0cf3d14bcc18556070559bf diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/gdlns10.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/gdlns10.txt.hash new file mode 100644 index 00000000..0feb73d0 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/gdlns10.txt.hash @@ -0,0 +1 @@ +9d9aba8bca8c49619aae278ed90c786dd7b50fab32cd2b13020dd437606c2e25 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/helb10.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/helb10.txt.hash new file mode 100644 index 00000000..bf165dc3 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/helb10.txt.hash @@ -0,0 +1 @@ +4ed66dc367a37fa0647fca56041b28d12227d476927b8da0a270fc0ba4202e08 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/lttlc10.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/lttlc10.txt.hash new file mode 100644 index 00000000..86c57e57 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/lttlc10.txt.hash @@ -0,0 +1 @@ +828a7242ddc7ae53211c17c67425dd499b4e9348a4ae6b5781f6877cbcd2e46e diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/manif11.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/manif11.txt.hash new file mode 100644 index 00000000..971f240f --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/manif11.txt.hash @@ -0,0 +1 @@ +cfdc43070cad098b9f2e7700bd5e9d8790b195f4cef58e4fd6c6db458fc0b089 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/manif12.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/manif12.txt.hash new file mode 100644 index 00000000..cb85830d --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/manif12.txt.hash @@ -0,0 +1 @@ +d9813cdb6dc4baa0758c0c4ecf59f0977a627927e963d88ae85ef850700dfa64 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/pgw050ab.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/pgw050ab.txt.hash new file mode 100644 index 00000000..f8db4b07 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/pgw050ab.txt.hash @@ -0,0 +1 @@ +bf6d7e2bfeb3874bb7f7edf66c3f364b978a63f58e9e0f4629e03f34aa79c440 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/pgw050mo.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/pgw050mo.txt.hash new file mode 100644 index 00000000..30628044 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/pgw050mo.txt.hash @@ -0,0 +1 @@ +8efffcdc1b7f84a624ec9386606d4bf1fca0688e8a900b797fb22048bf1dc608 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/pgw050pq.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/pgw050pq.txt.hash new file mode 100644 index 00000000..ffe95a47 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/pgw050pq.txt.hash @@ -0,0 +1 @@ +5823e781424dfca5379b6fbe6485e95f065f2dcc8ede7ce32579ffc79652f7f2 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/pgwab04.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/pgwab04.txt.hash new file mode 100644 index 00000000..c120004a --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/pgwab04.txt.hash @@ -0,0 +1 @@ +6411a28d7723a297d4b5d055614b321851cc30552e8c847747c29266a49c197d diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/pgwmo04.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/pgwmo04.txt.hash new file mode 100644 index 00000000..1eb2e4ae --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/pgwmo04.txt.hash @@ -0,0 +1 @@ +b679fc0d04836ab5e3f7f77bbf4cc6c632d23601049d5288cec26620739c238c diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/pgwpq04.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/pgwpq04.txt.hash new file mode 100644 index 00000000..d16403a8 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/pgwpq04.txt.hash @@ -0,0 +1 @@ +7f170f36794dbbfea458c3cc140ed85a9dc96a288f17e8257693619366225c2f diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/ppow10.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/ppow10.txt.hash new file mode 100644 index 00000000..260035e6 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/ppow10.txt.hash @@ -0,0 +1 @@ +88b442d0f937e40c8df3872b1cd24c47bd41193d37f4a35e01e8662738805b8f diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/teop210.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/teop210.txt.hash new file mode 100644 index 00000000..65c7868f --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/teop210.txt.hash @@ -0,0 +1 @@ +ade0146121db18ba89ea466b8cff32d71e04284356601ccc549adb7c8c23d48d diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/wvr1210.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/wvr1210.txt.hash new file mode 100644 index 00000000..d853eca9 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_1/wvr1210.txt.hash @@ -0,0 +1 @@ +c0a6baecb7753b3ac840ce30863e986f700affce84db8980042438f3dea1cb62 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/61-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/61-0.txt.hash new file mode 100644 index 00000000..9c6b05d1 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/61-0.txt.hash @@ -0,0 +1 @@ +5fa94e5e3755ca829e544fdcaeabe1f2d92b8c6743beb4d05ebaaf53b87cd138 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/61.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/61.txt.hash new file mode 100644 index 00000000..d58248ca --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/61.txt.hash @@ -0,0 +1 @@ +7316dc25499048a285d207a28425464016a4725fb81859ef07396cfdb72d2582 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/655.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/655.txt.hash new file mode 100644 index 00000000..531fa827 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/655.txt.hash @@ -0,0 +1 @@ +d5e273712312bf72580d78a1b82cdd4ea8c7ef8a445858a591b5b06b90caf035 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/660.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/660.txt.hash new file mode 100644 index 00000000..531fa827 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/660.txt.hash @@ -0,0 +1 @@ +d5e273712312bf72580d78a1b82cdd4ea8c7ef8a445858a591b5b06b90caf035 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/665.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/665.txt.hash new file mode 100644 index 00000000..efd58f22 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/665.txt.hash @@ -0,0 +1 @@ +e7fb5c0858228a7552db67aeff4ff15809baed3c69ae85e00160b233a9abd45f diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/666.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/666.txt.hash new file mode 100644 index 00000000..bad2d840 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/666.txt.hash @@ -0,0 +1 @@ +0fe6f2011e77744342fc4d5195240d36689e7dd364073bddf4efb562fb9d3f89 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/6660.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/6660.txt.hash new file mode 100644 index 00000000..d2ada71d --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/6660.txt.hash @@ -0,0 +1 @@ +cea173da3779fc2c7404bcb9d28fdf9365e60575df07b513eaa3636f31acfcf5 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66600-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66600-0.txt.hash new file mode 100644 index 00000000..5309d011 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66600-0.txt.hash @@ -0,0 +1 @@ +32e28b2a831fa6ff3c9b3c7c292136f3a053271e9dcc47b65367e9b304f7a6dc diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66601-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66601-0.txt.hash new file mode 100644 index 00000000..fd7d17b0 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66601-0.txt.hash @@ -0,0 +1 @@ +9f6f348287fb1766d1cb69030189186f4aef073ff21bbb519489d6c7cf9b22bc diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66602-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66602-0.txt.hash new file mode 100644 index 00000000..457906f5 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66602-0.txt.hash @@ -0,0 +1 @@ +9221e0061816db5d95b6388271ccc869201037d1a83acb6815a443ac6fd26914 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66603-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66603-0.txt.hash new file mode 100644 index 00000000..5dbcc2f1 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66603-0.txt.hash @@ -0,0 +1 @@ +b866a2e24761ca0c6532bd4539a36dca798f83216ce1bb17c284f5125964edf2 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66604-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66604-0.txt.hash new file mode 100644 index 00000000..c3e76d3b --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66604-0.txt.hash @@ -0,0 +1 @@ +2916d30e3a8c2cfaa274b1f1c7676206816a87074d567c7ae5932f5f9b045af5 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66605-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66605-0.txt.hash new file mode 100644 index 00000000..2c4ecc33 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66605-0.txt.hash @@ -0,0 +1 @@ +450d4e666004f3aa328ce0c565124fd6aa2683ef821435ef21b42dd3adc9c258 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66606-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66606-0.txt.hash new file mode 100644 index 00000000..ccd6221c --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66606-0.txt.hash @@ -0,0 +1 @@ +0b77c3f8d4382d125a6079e6d42b3edbb455576b206c7ce457984e6028c244cc diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66607-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66607-0.txt.hash new file mode 100644 index 00000000..68a63756 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66607-0.txt.hash @@ -0,0 +1 @@ +19ad1fe6bb828c6760c41a8c49b4ce5028a6658b5ada7ae70508dcba54c17f11 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66608-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66608-0.txt.hash new file mode 100644 index 00000000..1cecf86c --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66608-0.txt.hash @@ -0,0 +1 @@ +4ec9258f73bb3c3ebc4f341ce33662018ccc8624922dfe46e1c09c619fb64726 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66609-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66609-0.txt.hash new file mode 100644 index 00000000..579c2589 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66609-0.txt.hash @@ -0,0 +1 @@ +7cf9c3a87df7cb8766d0221fb79211015e327eb72faaf7ae32902265aef2d987 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/6661.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/6661.txt.hash new file mode 100644 index 00000000..82406a1d --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/6661.txt.hash @@ -0,0 +1 @@ +47875038d40b01c8b84c95073602b679d714e7b35c96b46d75686600102c7a7f diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/6662.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/6662.txt.hash new file mode 100644 index 00000000..9de7ac70 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/6662.txt.hash @@ -0,0 +1 @@ +1dd2c70a00acef95bbad9dcb6952209ca52ffad9363885d6e651f1b21768e8d8 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66620-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66620-0.txt.hash new file mode 100644 index 00000000..08d2d261 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66620-0.txt.hash @@ -0,0 +1 @@ +c1cf5ed744aacaedd6e8303e023835320e507c7ba227b720a1c695eba923a919 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66621-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66621-0.txt.hash new file mode 100644 index 00000000..07d04e4a --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66621-0.txt.hash @@ -0,0 +1 @@ +38a9f9f8b646aa35f49c25d7ade285da98e3b35fc02e9a649e6314bacbe31a84 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66622-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66622-0.txt.hash new file mode 100644 index 00000000..40c796b7 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66622-0.txt.hash @@ -0,0 +1 @@ +591902831e6bcbe50df7bb8da487d6d7f229ca5ce5b0111e8038a296e6bedf6c diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66623-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66623-0.txt.hash new file mode 100644 index 00000000..576bd6f3 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66623-0.txt.hash @@ -0,0 +1 @@ +11323ee8929f909fd559dd0d2adfa0fbfc748fdac86a1382e0dcad931519a69a diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66624-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66624-0.txt.hash new file mode 100644 index 00000000..a9cb44c0 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66624-0.txt.hash @@ -0,0 +1 @@ +1de66699063e2ab9882fafac6c4f2b0771da51daf5b97b48476e25ce4a755a81 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66625-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66625-0.txt.hash new file mode 100644 index 00000000..ffa65a5a --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66625-0.txt.hash @@ -0,0 +1 @@ +2bcc688ae79428882dda99345bd4a50866aa0f745ec47e2c8f9ca97eb436a618 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66626-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66626-0.txt.hash new file mode 100644 index 00000000..4518d84a --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66626-0.txt.hash @@ -0,0 +1 @@ +6206bcd7356c6b372c79b60b9316b974b465acc11a8af583078922add072d166 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66627-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66627-0.txt.hash new file mode 100644 index 00000000..83444ba5 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66627-0.txt.hash @@ -0,0 +1 @@ +0e1d20f9adcb7ef745c8d3a8c27345b69300a9548014b82532b7650af3ab59e0 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66628-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66628-0.txt.hash new file mode 100644 index 00000000..b6814443 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66628-0.txt.hash @@ -0,0 +1 @@ +d5b29741d6fe1255c5fbefb4d84f5d71e9fe12f04ec7472c224035f4105c849e diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66629-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66629-0.txt.hash new file mode 100644 index 00000000..7c254917 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66629-0.txt.hash @@ -0,0 +1 @@ +cb8c0003ab8a40cefa8865611fb8fd57f6922f8f93ea8ce9f46e753102938374 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/6663.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/6663.txt.hash new file mode 100644 index 00000000..22c41e3a --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/6663.txt.hash @@ -0,0 +1 @@ +dacd2873b74f304c8bc6b6b67de08e0ec2e394cbcb8d15f43ae6a58ddcd54cdc diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66630-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66630-0.txt.hash new file mode 100644 index 00000000..b4d79019 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66630-0.txt.hash @@ -0,0 +1 @@ +bdbce39114438a96083e0098ccbe8b7d395365728c08edd064986b1732c65765 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66631-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66631-0.txt.hash new file mode 100644 index 00000000..27b4a8a5 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66631-0.txt.hash @@ -0,0 +1 @@ +da35811ccc4f2748fed49385d23d870522a4ef7d8b9bfd515797320cb513f06a diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66632-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66632-0.txt.hash new file mode 100644 index 00000000..fcbf7b3b --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66632-0.txt.hash @@ -0,0 +1 @@ +9f2b9e249ef28a54a0e57ce474e7ecd6621486569771a74b46d2d89312fad839 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66633-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66633-0.txt.hash new file mode 100644 index 00000000..7b067d8a --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66633-0.txt.hash @@ -0,0 +1 @@ +fc7ecc8f77cbf2d33248cf85d045c675531042c8cd5b77053dac3ae9c4de7035 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66634-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66634-0.txt.hash new file mode 100644 index 00000000..f1f69257 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66634-0.txt.hash @@ -0,0 +1 @@ +936b122fb42ff44c06552987395177f38dc61abea1fc998a800e02a845b21c00 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66635-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66635-0.txt.hash new file mode 100644 index 00000000..6c8c614b --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66635-0.txt.hash @@ -0,0 +1 @@ +6feaf6526e28d91856102761c047d5b5897be61c54b16170355a723521f0ecb1 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66636-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66636-0.txt.hash new file mode 100644 index 00000000..f94895ef --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66636-0.txt.hash @@ -0,0 +1 @@ +d1c69cb5a8589b64faf0a42b6d4fba5d219b17dc16da048cbcf17be650a782e1 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66637-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66637-0.txt.hash new file mode 100644 index 00000000..e84d2c67 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66637-0.txt.hash @@ -0,0 +1 @@ +2e0bad991c78b0210fccd8c9b3374d9fb913372c827839914b7dbb13a62022a0 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66638-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66638-0.txt.hash new file mode 100644 index 00000000..85bcfee9 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66638-0.txt.hash @@ -0,0 +1 @@ +22190cc20b857dcc8b5ba84797f62531b16f1c7bf5de46d45f92bb3ed5eca19a diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66639-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66639-0.txt.hash new file mode 100644 index 00000000..062f7369 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66639-0.txt.hash @@ -0,0 +1 @@ +5ae3f77e20f410c62143c61cd0f457c82a53b9032c5b8b5814893bbdd7c3032c diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/6664-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/6664-0.txt.hash new file mode 100644 index 00000000..400bc9c0 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/6664-0.txt.hash @@ -0,0 +1 @@ +3cf6388d432b733580e2ac34f533f832fd81e3590f33e78b021ac9068fb24cad diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/6664.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/6664.txt.hash new file mode 100644 index 00000000..400bc9c0 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/6664.txt.hash @@ -0,0 +1 @@ +3cf6388d432b733580e2ac34f533f832fd81e3590f33e78b021ac9068fb24cad diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66640-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66640-0.txt.hash new file mode 100644 index 00000000..00e4b47e --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66640-0.txt.hash @@ -0,0 +1 @@ +03a0ca384cc695fe26ee4941e685b4a7bd6e32f153872f007bffd94eae0a5e6f diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66641-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66641-0.txt.hash new file mode 100644 index 00000000..04754fd1 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66641-0.txt.hash @@ -0,0 +1 @@ +2ef1d43cbeddc9c8a701b6529d8c3b0c7a439cbd8cbc944fa4e42f62f4bd1381 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66642-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66642-0.txt.hash new file mode 100644 index 00000000..2011e936 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66642-0.txt.hash @@ -0,0 +1 @@ +f4b0029d004e664f0f2b1b7b7bf89cd6b1aea96682c86db3f8ae4ba5e006e61b diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66643-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66643-0.txt.hash new file mode 100644 index 00000000..d749a96a --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66643-0.txt.hash @@ -0,0 +1 @@ +ce08b702e917483baab05345cd29a31c748ab7b61c367594c2b3580f78558ea7 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66645-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66645-0.txt.hash new file mode 100644 index 00000000..60ad451f --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66645-0.txt.hash @@ -0,0 +1 @@ +7eeec27ed1bce7c04ec476ce14ce452474d3be50518985c4e36e58437dd660bb diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66646-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66646-0.txt.hash new file mode 100644 index 00000000..1f5470f3 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66646-0.txt.hash @@ -0,0 +1 @@ +b5b5fc92880894f51b83b64f7320124685ec0ed0b438f5d80f90e7075e9dc868 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66647-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66647-0.txt.hash new file mode 100644 index 00000000..dfc708a6 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66647-0.txt.hash @@ -0,0 +1 @@ +77d1910823bc779d38c30ca5ea0eaf6c79d9530b8f13a059aaa4dc3a66510c97 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66648-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66648-0.txt.hash new file mode 100644 index 00000000..82201188 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66648-0.txt.hash @@ -0,0 +1 @@ +c29fd7e20897cc9f285be6a2052e098846f0f57f79398f03b0ed56fd00bd2b11 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66649-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66649-0.txt.hash new file mode 100644 index 00000000..406d9a1d --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66649-0.txt.hash @@ -0,0 +1 @@ +601c58351de0e97b96684317885e74919802ae614317d6dd49b84ec22c24e534 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/6665-8.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/6665-8.txt.hash new file mode 100644 index 00000000..8068c1cc --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/6665-8.txt.hash @@ -0,0 +1 @@ +91983df23f5a09f7eca8b6c5ffc0efd67973b61da5534670096391b4a1342086 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66650-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66650-0.txt.hash new file mode 100644 index 00000000..97d70d7b --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66650-0.txt.hash @@ -0,0 +1 @@ +1daf7b6d39016d7e65a5fe310783bd4d0d33d8759c1a40f82243f0dafda0bc76 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66651-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66651-0.txt.hash new file mode 100644 index 00000000..cc40ed37 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66651-0.txt.hash @@ -0,0 +1 @@ +1e3c72727789c0b10492f4f730390303c96c4de80470bde50949a15c33f7ee67 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66652-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66652-0.txt.hash new file mode 100644 index 00000000..c0677d27 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66652-0.txt.hash @@ -0,0 +1 @@ +6da1bef2fb18b164732e5a90f63cc91db36dd54d93d880c7c52eb11d2b564f67 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66653-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66653-0.txt.hash new file mode 100644 index 00000000..078d7881 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66653-0.txt.hash @@ -0,0 +1 @@ +a5b2964b5d1955c7e48e2dcf3195e756ccaf6e9429b56dd51f61c9a383253995 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66654-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66654-0.txt.hash new file mode 100644 index 00000000..8f9e4c13 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66654-0.txt.hash @@ -0,0 +1 @@ +3c62ba9da7b4039fcd75752f2c8bdf80f24796c42f64d032152d3d97e7104d31 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66655-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66655-0.txt.hash new file mode 100644 index 00000000..3a0122cb --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66655-0.txt.hash @@ -0,0 +1 @@ +df38c43c4263039b52f97f930368566525111b533c920a652c77608b2df43aaa diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66656-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66656-0.txt.hash new file mode 100644 index 00000000..42ad2dfe --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66656-0.txt.hash @@ -0,0 +1 @@ +8a7821fa52ea33edc8b94f890fbee7ad2ae3f2217ccb449ce9aa56358ffa2e6b diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66657-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66657-0.txt.hash new file mode 100644 index 00000000..57103c67 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66657-0.txt.hash @@ -0,0 +1 @@ +aff06bf947e8585dcccf77a0b7d38dad4fa9aebf6fc522a55d36c4aef14884f7 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66658-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66658-0.txt.hash new file mode 100644 index 00000000..53585403 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66658-0.txt.hash @@ -0,0 +1 @@ +e4e72d1e26972270acbca79fbe0fb093e876117b4ad9457f3328d8ee4837a6cb diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66659-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66659-0.txt.hash new file mode 100644 index 00000000..35bec34e --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66659-0.txt.hash @@ -0,0 +1 @@ +49c9369bada38980a83d2ef848799c637cd038095694b43753b3144c6d1e5b69 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/6666-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/6666-0.txt.hash new file mode 100644 index 00000000..2f447f7c --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/6666-0.txt.hash @@ -0,0 +1 @@ +2899d22d372eaf6d921f3cbcfdf056a3c502fe4a869fc98aaea52d71b933c89b diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66660-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66660-0.txt.hash new file mode 100644 index 00000000..70871ba0 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66660-0.txt.hash @@ -0,0 +1 @@ +6374afaba45a363b1d0b643573260b48aa90f5c6baf96cb8cd4d2d724ca5493d diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66661-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66661-0.txt.hash new file mode 100644 index 00000000..5dd3ff52 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66661-0.txt.hash @@ -0,0 +1 @@ +ea61c498b6055a69b4cf458e82f9f49d8dc268e47778ea105a1d7fca12bbe61c diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66662-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66662-0.txt.hash new file mode 100644 index 00000000..1595c9cf --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66662-0.txt.hash @@ -0,0 +1 @@ +735a19c1e1f9e6b4c6d0e1c0a297a6369d5fb8187f7d9e312f9d0d9ed32c898f diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66663-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66663-0.txt.hash new file mode 100644 index 00000000..e0e2d4ce --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66663-0.txt.hash @@ -0,0 +1 @@ +10d51a310eab27699c503b280e68f6f928cac213fcc8f2437c8e07b715c64e58 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66664-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66664-0.txt.hash new file mode 100644 index 00000000..f911f43c --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66664-0.txt.hash @@ -0,0 +1 @@ +3d5a66b69c94a3ebdd3c2d5f2893b5e79adf645cb2a8c922b2027ed7db863823 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66665-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66665-0.txt.hash new file mode 100644 index 00000000..1fb5499b --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66665-0.txt.hash @@ -0,0 +1 @@ +de15b1c65833a1410843bf6c52815083c96d29a4c4cfeedda7b2629e855beccc diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66666-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66666-0.txt.hash new file mode 100644 index 00000000..c2fb57ca --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66666-0.txt.hash @@ -0,0 +1 @@ +a87184f013be2733e576370fed0d9b55e07d60b9600394149c00ed05049aab1d diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66667-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66667-0.txt.hash new file mode 100644 index 00000000..343e27a6 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66667-0.txt.hash @@ -0,0 +1 @@ +221a95b803fa6facb466218ec5a4aacdedc3f6047416f48c35b316d930962526 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66668-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66668-0.txt.hash new file mode 100644 index 00000000..ddcbca1f --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66668-0.txt.hash @@ -0,0 +1 @@ +b92d44bf0d821fe5e42a7abb7c9d757799e1bc57693e398550ff001512ef1b0f diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66669-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66669-0.txt.hash new file mode 100644 index 00000000..5022d36d --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66669-0.txt.hash @@ -0,0 +1 @@ +509f3ca1be643a4bb565d328a11453786d45174750b1b20098ae2f74bae633f7 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/6667-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/6667-0.txt.hash new file mode 100644 index 00000000..87e11b35 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/6667-0.txt.hash @@ -0,0 +1 @@ +a0577b51359186d6af114d0c7c6cbe17ef06caafc979c6223880203f8392141a diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66670-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66670-0.txt.hash new file mode 100644 index 00000000..f31984af --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66670-0.txt.hash @@ -0,0 +1 @@ +c4b3769fbbf4054eb7cbbc514ab717f11e6a2ae5e940a61828c5f3d694214cee diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66671-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66671-0.txt.hash new file mode 100644 index 00000000..adc13363 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66671-0.txt.hash @@ -0,0 +1 @@ +83dd5d7f95571445ca46cb9871a183296ed71c9da2aa41504c6b37cee2f36432 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66672-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66672-0.txt.hash new file mode 100644 index 00000000..66041697 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66672-0.txt.hash @@ -0,0 +1 @@ +61d3f7f44574c3a5937e75f939e00930ffb6981f329168065413a153a8ed758d diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66673-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66673-0.txt.hash new file mode 100644 index 00000000..e3cd673c --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66673-0.txt.hash @@ -0,0 +1 @@ +fea4562bbc32c3ed6217221bc2118d8e52a77df155d75564b10d530bab7034d4 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66674-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66674-0.txt.hash new file mode 100644 index 00000000..197a90dc --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66674-0.txt.hash @@ -0,0 +1 @@ +93298c02a9004831719aca2280745849657a4873ffa82cad85182488d1071f23 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66675-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66675-0.txt.hash new file mode 100644 index 00000000..47b4078a --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66675-0.txt.hash @@ -0,0 +1 @@ +1937f063b779b79613d28abe2f7a6d186c0745bd857debed89065a2670b37e4f diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66676-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66676-0.txt.hash new file mode 100644 index 00000000..51a8738e --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66676-0.txt.hash @@ -0,0 +1 @@ +426da4463232fef7385dd760c5e64284a5017a216d7f3cf5260e89e25ec674e0 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66677-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66677-0.txt.hash new file mode 100644 index 00000000..f4a3486b --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66677-0.txt.hash @@ -0,0 +1 @@ +98325b3dd184b791138a746e4628def9f8aa3ae4aeebcd2f2102d12ad091b801 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66678-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66678-0.txt.hash new file mode 100644 index 00000000..28877240 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66678-0.txt.hash @@ -0,0 +1 @@ +2e905e6e03ea8445ca6b7713b8c3248bf214acc93841aedc2900406aa62ae9ed diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66679-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66679-0.txt.hash new file mode 100644 index 00000000..f8bc820d --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66679-0.txt.hash @@ -0,0 +1 @@ +d2af0438465ee74829a4a03f88a918a53677eebb2656d3ec23186abca8fb649b diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66680-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66680-0.txt.hash new file mode 100644 index 00000000..fd332d1f --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66680-0.txt.hash @@ -0,0 +1 @@ +93d7d16d72e9b95be6a2200be1daa47f94e33ecf41dabc4de3e7a25d39bf277b diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66681-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66681-0.txt.hash new file mode 100644 index 00000000..ddb3964d --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66681-0.txt.hash @@ -0,0 +1 @@ +6b8a71b0ab346855409e1d78fd9de28ca18caaeae3d90a292692cc29af2b5451 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66682-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66682-0.txt.hash new file mode 100644 index 00000000..f9c99494 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66682-0.txt.hash @@ -0,0 +1 @@ +8f983e689c3e9be761e0a234d7eebb1338547566701e00af5d6e905ebdd2e758 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66683-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66683-0.txt.hash new file mode 100644 index 00000000..133cb07d --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66683-0.txt.hash @@ -0,0 +1 @@ +e186f4d71279ca3ecff9fa9116bf9d4d325846d6835a37aea8a1a3c0ab6f271d diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66684-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66684-0.txt.hash new file mode 100644 index 00000000..4ed8e36f --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66684-0.txt.hash @@ -0,0 +1 @@ +9add7397e281ac74569b4ea560bef6c160a7a786d6a1ecbac5a0ced6868a962e diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66685-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66685-0.txt.hash new file mode 100644 index 00000000..60d6967f --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66685-0.txt.hash @@ -0,0 +1 @@ +46997b0a79539454d99de75d540ad231bc8c925f111e160741b17b154ea4c998 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66686-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66686-0.txt.hash new file mode 100644 index 00000000..33625e89 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66686-0.txt.hash @@ -0,0 +1 @@ +8acfdcec221cf700f2c364c3cd87d62afa994aec892d06571c16768ebe0aecef diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66687-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66687-0.txt.hash new file mode 100644 index 00000000..249f602c --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66687-0.txt.hash @@ -0,0 +1 @@ +202050d6b0205420cfe692761dde8eed7185498c3e2638a4190e2b8064d45d93 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66688-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66688-0.txt.hash new file mode 100644 index 00000000..9cabab12 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66688-0.txt.hash @@ -0,0 +1 @@ +8b131514218873deb2792bdb3c98b227705297d99ac9a4a7ffbcc0e23b48094e diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66689-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66689-0.txt.hash new file mode 100644 index 00000000..b452f9f8 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66689-0.txt.hash @@ -0,0 +1 @@ +18b00cabada012db83b2de681d4f4835e05a1f32fe1e316c5d6bbcbae3f6a18c diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/6669.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/6669.txt.hash new file mode 100644 index 00000000..c400310a --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/6669.txt.hash @@ -0,0 +1 @@ +ab62d73e634fd637144b5e694ee64529cda903dec302746fb9ab077a0a0dc630 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66690-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66690-0.txt.hash new file mode 100644 index 00000000..3cab25c9 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66690-0.txt.hash @@ -0,0 +1 @@ +8d84d232e029237a4e1af6299376000280651c2d3a725a4fb370a23cb50045be diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66691-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66691-0.txt.hash new file mode 100644 index 00000000..cb1a6385 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66691-0.txt.hash @@ -0,0 +1 @@ +087d0315fa0cd6d5502cf3ff388316b4a08e5f4f1b6d699346b987bcfa960056 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66692-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66692-0.txt.hash new file mode 100644 index 00000000..d5f3b56c --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66692-0.txt.hash @@ -0,0 +1 @@ +310180b06930a08b913f32c4a49cd72cde874bcb696ec81b794a419b08b2a99b diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66693-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66693-0.txt.hash new file mode 100644 index 00000000..8ece0a4b --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66693-0.txt.hash @@ -0,0 +1 @@ +3a168e12ba9ca8f52a34cb7566446cc06ffd10959768cde440e0717ae7d7f914 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66694-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66694-0.txt.hash new file mode 100644 index 00000000..dafa62c0 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66694-0.txt.hash @@ -0,0 +1 @@ +3b522cb6eb1881d37e5d958830d1e632a8008c55171ce94301df9ab7826a52cd diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66695-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66695-0.txt.hash new file mode 100644 index 00000000..af847bd6 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66695-0.txt.hash @@ -0,0 +1 @@ +1d5bf0f754db9508faf2efff97a0dbdd376bddd9b7e017717070aa27bf5fb7e7 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66696-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66696-0.txt.hash new file mode 100644 index 00000000..a053ca4b --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66696-0.txt.hash @@ -0,0 +1 @@ +72dcb595945f0f7edd97b85c01d90df45b21308b357ffd3560611e30b75eafac diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66697-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66697-0.txt.hash new file mode 100644 index 00000000..402503ed --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66697-0.txt.hash @@ -0,0 +1 @@ +e8ff9c3ab4988007853640fde8c4b11a0cdc905581d42bbbd6ec3da09c53f20c diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66698-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66698-0.txt.hash new file mode 100644 index 00000000..b656d4ac --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66698-0.txt.hash @@ -0,0 +1 @@ +793331e2c7d55951385b100751677461781a65c5842d6f793062eca6105f76dd diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66699-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66699-0.txt.hash new file mode 100644 index 00000000..54f9a099 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/66699-0.txt.hash @@ -0,0 +1 @@ +cf1f52c807ae8c258142f54da13a60f9c54e8cc58c0227b5fc5a238c88560315 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/fchld10.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/fchld10.txt.hash new file mode 100644 index 00000000..400bc9c0 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/fchld10.txt.hash @@ -0,0 +1 @@ +3cf6388d432b733580e2ac34f533f832fd81e3590f33e78b021ac9068fb24cad diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/gdlns10.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/gdlns10.txt.hash new file mode 100644 index 00000000..c400310a --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/gdlns10.txt.hash @@ -0,0 +1 @@ +ab62d73e634fd637144b5e694ee64529cda903dec302746fb9ab077a0a0dc630 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/helb10.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/helb10.txt.hash new file mode 100644 index 00000000..d756b8e8 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/helb10.txt.hash @@ -0,0 +1 @@ +fc43d87e4089414574a4452d855fd1859f866e98107b0ca3ecaf47cad8df84f3 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/lttlc10.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/lttlc10.txt.hash new file mode 100644 index 00000000..9de7ac70 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/lttlc10.txt.hash @@ -0,0 +1 @@ +1dd2c70a00acef95bbad9dcb6952209ca52ffad9363885d6e651f1b21768e8d8 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/manif11.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/manif11.txt.hash new file mode 100644 index 00000000..779fa4d7 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/manif11.txt.hash @@ -0,0 +1 @@ +b0650c999a7390f763b3de0ad89d594ff88f510331f6186b587fdc1086e4d020 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/manif12.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/manif12.txt.hash new file mode 100644 index 00000000..0fa69376 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/manif12.txt.hash @@ -0,0 +1 @@ +90787fb9aebd33c3f7141a6a5d2875842293f0fb57d6000bf98ae7fd0aee152b diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/pgw050ab.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/pgw050ab.txt.hash new file mode 100644 index 00000000..6a711c48 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/pgw050ab.txt.hash @@ -0,0 +1 @@ +12019ae5684503bd766867e37275d42b17afe37ae211ed4b8b54d61a6c3fa543 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/pgw050mo.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/pgw050mo.txt.hash new file mode 100644 index 00000000..efd58f22 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/pgw050mo.txt.hash @@ -0,0 +1 @@ +e7fb5c0858228a7552db67aeff4ff15809baed3c69ae85e00160b233a9abd45f diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/pgw050pq.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/pgw050pq.txt.hash new file mode 100644 index 00000000..bad2d840 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/pgw050pq.txt.hash @@ -0,0 +1 @@ +0fe6f2011e77744342fc4d5195240d36689e7dd364073bddf4efb562fb9d3f89 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/pgwab04.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/pgwab04.txt.hash new file mode 100644 index 00000000..5e8e42c7 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/pgwab04.txt.hash @@ -0,0 +1 @@ +cafeeb05d874e7c82b390c694b1369adafa264ad80dc41558fcd806ea0ec3f62 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/pgwmo04.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/pgwmo04.txt.hash new file mode 100644 index 00000000..efd58f22 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/pgwmo04.txt.hash @@ -0,0 +1 @@ +e7fb5c0858228a7552db67aeff4ff15809baed3c69ae85e00160b233a9abd45f diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/pgwpq04.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/pgwpq04.txt.hash new file mode 100644 index 00000000..bad2d840 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/pgwpq04.txt.hash @@ -0,0 +1 @@ +0fe6f2011e77744342fc4d5195240d36689e7dd364073bddf4efb562fb9d3f89 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/ppow10.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/ppow10.txt.hash new file mode 100644 index 00000000..87e11b35 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/ppow10.txt.hash @@ -0,0 +1 @@ +a0577b51359186d6af114d0c7c6cbe17ef06caafc979c6223880203f8392141a diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/teop210.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/teop210.txt.hash new file mode 100644 index 00000000..d2ada71d --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/teop210.txt.hash @@ -0,0 +1 @@ +cea173da3779fc2c7404bcb9d28fdf9365e60575df07b513eaa3636f31acfcf5 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/wvr1210.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/wvr1210.txt.hash new file mode 100644 index 00000000..82406a1d --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/syllable_words_2/wvr1210.txt.hash @@ -0,0 +1 @@ +47875038d40b01c8b84c95073602b679d714e7b35c96b46d75686600102c7a7f diff --git a/infrastructure/systems/Shark/nlp/hashes/small/trigram_rec/61-0.txt.0.hash b/infrastructure/systems/Shark/nlp/hashes/small/trigram_rec/61-0.txt.0.hash new file mode 100644 index 00000000..c3068040 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/trigram_rec/61-0.txt.0.hash @@ -0,0 +1 @@ +e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/trigram_rec/61-0.txt.1.hash b/infrastructure/systems/Shark/nlp/hashes/small/trigram_rec/61-0.txt.1.hash new file mode 100644 index 00000000..c3068040 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/trigram_rec/61-0.txt.1.hash @@ -0,0 +1 @@ +e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/trigram_rec/61.txt.0.hash b/infrastructure/systems/Shark/nlp/hashes/small/trigram_rec/61.txt.0.hash new file mode 100644 index 00000000..c3068040 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/trigram_rec/61.txt.0.hash @@ -0,0 +1 @@ +e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/trigram_rec/61.txt.1.hash b/infrastructure/systems/Shark/nlp/hashes/small/trigram_rec/61.txt.1.hash new file mode 100644 index 00000000..c3068040 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/trigram_rec/61.txt.1.hash @@ -0,0 +1 @@ +e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/trigram_rec/665.txt.0.hash b/infrastructure/systems/Shark/nlp/hashes/small/trigram_rec/665.txt.0.hash new file mode 100644 index 00000000..a828b2b8 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/trigram_rec/665.txt.0.hash @@ -0,0 +1 @@ +4d53fe61438262458af05bc2d78e91e69e24a7eaf777cc255750dfc545e65f31 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/trigram_rec/665.txt.1.hash b/infrastructure/systems/Shark/nlp/hashes/small/trigram_rec/665.txt.1.hash new file mode 100644 index 00000000..c3068040 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/trigram_rec/665.txt.1.hash @@ -0,0 +1 @@ +e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/trigram_rec/666.txt.0.hash b/infrastructure/systems/Shark/nlp/hashes/small/trigram_rec/666.txt.0.hash new file mode 100644 index 00000000..c3068040 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/trigram_rec/666.txt.0.hash @@ -0,0 +1 @@ +e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/trigram_rec/666.txt.1.hash b/infrastructure/systems/Shark/nlp/hashes/small/trigram_rec/666.txt.1.hash new file mode 100644 index 00000000..c3068040 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/trigram_rec/666.txt.1.hash @@ -0,0 +1 @@ +e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/trigram_rec/manif11.txt.0.hash b/infrastructure/systems/Shark/nlp/hashes/small/trigram_rec/manif11.txt.0.hash new file mode 100644 index 00000000..c3068040 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/trigram_rec/manif11.txt.0.hash @@ -0,0 +1 @@ +e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/trigram_rec/manif11.txt.1.hash b/infrastructure/systems/Shark/nlp/hashes/small/trigram_rec/manif11.txt.1.hash new file mode 100644 index 00000000..c3068040 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/trigram_rec/manif11.txt.1.hash @@ -0,0 +1 @@ +e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/trigram_rec/manif12.txt.0.hash b/infrastructure/systems/Shark/nlp/hashes/small/trigram_rec/manif12.txt.0.hash new file mode 100644 index 00000000..c3068040 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/trigram_rec/manif12.txt.0.hash @@ -0,0 +1 @@ +e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/trigram_rec/manif12.txt.1.hash b/infrastructure/systems/Shark/nlp/hashes/small/trigram_rec/manif12.txt.1.hash new file mode 100644 index 00000000..c3068040 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/trigram_rec/manif12.txt.1.hash @@ -0,0 +1 @@ +e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/trigram_rec/pgw050mo.txt.0.hash b/infrastructure/systems/Shark/nlp/hashes/small/trigram_rec/pgw050mo.txt.0.hash new file mode 100644 index 00000000..a828b2b8 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/trigram_rec/pgw050mo.txt.0.hash @@ -0,0 +1 @@ +4d53fe61438262458af05bc2d78e91e69e24a7eaf777cc255750dfc545e65f31 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/trigram_rec/pgw050mo.txt.1.hash b/infrastructure/systems/Shark/nlp/hashes/small/trigram_rec/pgw050mo.txt.1.hash new file mode 100644 index 00000000..c3068040 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/trigram_rec/pgw050mo.txt.1.hash @@ -0,0 +1 @@ +e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/trigram_rec/pgw050pq.txt.0.hash b/infrastructure/systems/Shark/nlp/hashes/small/trigram_rec/pgw050pq.txt.0.hash new file mode 100644 index 00000000..c3068040 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/trigram_rec/pgw050pq.txt.0.hash @@ -0,0 +1 @@ +e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/trigram_rec/pgw050pq.txt.1.hash b/infrastructure/systems/Shark/nlp/hashes/small/trigram_rec/pgw050pq.txt.1.hash new file mode 100644 index 00000000..c3068040 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/trigram_rec/pgw050pq.txt.1.hash @@ -0,0 +1 @@ +e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/trigram_rec/pgwmo04.txt.0.hash b/infrastructure/systems/Shark/nlp/hashes/small/trigram_rec/pgwmo04.txt.0.hash new file mode 100644 index 00000000..38086464 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/trigram_rec/pgwmo04.txt.0.hash @@ -0,0 +1 @@ +4fcb5153fa306e119ad6fc5e2065ba1c33521a343b34bf06c3c92639f0fc7a16 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/trigram_rec/pgwmo04.txt.1.hash b/infrastructure/systems/Shark/nlp/hashes/small/trigram_rec/pgwmo04.txt.1.hash new file mode 100644 index 00000000..c3068040 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/trigram_rec/pgwmo04.txt.1.hash @@ -0,0 +1 @@ +e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/trigram_rec/pgwpq04.txt.0.hash b/infrastructure/systems/Shark/nlp/hashes/small/trigram_rec/pgwpq04.txt.0.hash new file mode 100644 index 00000000..c3068040 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/trigram_rec/pgwpq04.txt.0.hash @@ -0,0 +1 @@ +e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/trigram_rec/pgwpq04.txt.1.hash b/infrastructure/systems/Shark/nlp/hashes/small/trigram_rec/pgwpq04.txt.1.hash new file mode 100644 index 00000000..c3068040 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/trigram_rec/pgwpq04.txt.1.hash @@ -0,0 +1 @@ +e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/uppercase_by_token/61-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/uppercase_by_token/61-0.txt.hash new file mode 100644 index 00000000..166ed6b1 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/uppercase_by_token/61-0.txt.hash @@ -0,0 +1 @@ +7dece897a0fe55691ff1d0ace49dcbf3a09fa4194595b5bd02f123dc9fa67473 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/uppercase_by_token/61.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/uppercase_by_token/61.txt.hash new file mode 100644 index 00000000..67a937bb --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/uppercase_by_token/61.txt.hash @@ -0,0 +1 @@ +e0740fcf942eef4ea95427c6a31bb94b091000bbb70c53f7cec723b391eff802 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/uppercase_by_token/665.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/uppercase_by_token/665.txt.hash new file mode 100644 index 00000000..ee2b941f --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/uppercase_by_token/665.txt.hash @@ -0,0 +1 @@ +3feb1c7210176bedb70c77c00b8761227fe3ae8993922961cf2e571a369dc17a diff --git a/infrastructure/systems/Shark/nlp/hashes/small/uppercase_by_token/666.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/uppercase_by_token/666.txt.hash new file mode 100644 index 00000000..9216d1fb --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/uppercase_by_token/666.txt.hash @@ -0,0 +1 @@ +2acb1a384c2758014157235b435a0470664d67a4d66cc0a8ece79bb398555695 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/uppercase_by_token/manif11.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/uppercase_by_token/manif11.txt.hash new file mode 100644 index 00000000..a0edf929 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/uppercase_by_token/manif11.txt.hash @@ -0,0 +1 @@ +1150ae9e7261e708c8d42d5ec592f9ad6c2105e5117e1392f50c8e49d3a0ed22 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/uppercase_by_token/manif12.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/uppercase_by_token/manif12.txt.hash new file mode 100644 index 00000000..94b5cecd --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/uppercase_by_token/manif12.txt.hash @@ -0,0 +1 @@ +a1f34d7e729c9cd1f9fe6494999ee72f206ff6d00d72180b0979784a0e49fdfc diff --git a/infrastructure/systems/Shark/nlp/hashes/small/uppercase_by_token/pgw050mo.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/uppercase_by_token/pgw050mo.txt.hash new file mode 100644 index 00000000..fecaa104 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/uppercase_by_token/pgw050mo.txt.hash @@ -0,0 +1 @@ +8609a8afd71b45519dc08850e63ec31f9d2833ae3612cc40f586b2af3212d1e3 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/uppercase_by_token/pgw050pq.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/uppercase_by_token/pgw050pq.txt.hash new file mode 100644 index 00000000..135334c6 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/uppercase_by_token/pgw050pq.txt.hash @@ -0,0 +1 @@ +225696e16efa9aebfb970930cc2b32f5d0a819a15acfa276db5d7e990bb8e66e diff --git a/infrastructure/systems/Shark/nlp/hashes/small/uppercase_by_token/pgwmo04.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/uppercase_by_token/pgwmo04.txt.hash new file mode 100644 index 00000000..7bf7bf8e --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/uppercase_by_token/pgwmo04.txt.hash @@ -0,0 +1 @@ +473672d3175f0dc73155c3a27fc3430a7105a3a7686cf3a98a6108f7780f50f9 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/uppercase_by_token/pgwpq04.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/uppercase_by_token/pgwpq04.txt.hash new file mode 100644 index 00000000..d3052eaf --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/uppercase_by_token/pgwpq04.txt.hash @@ -0,0 +1 @@ +6aa849782bc33e89e8286340b5e67839f9c1c414c1f0f52da08922ab2fc7a5e1 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/uppercase_by_type/61-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/uppercase_by_type/61-0.txt.hash new file mode 100644 index 00000000..d6483d49 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/uppercase_by_type/61-0.txt.hash @@ -0,0 +1 @@ +d09aa8346d420f76dfd2a63d40d19e352d11668352401d5ce43e1e70c333f681 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/uppercase_by_type/61.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/uppercase_by_type/61.txt.hash new file mode 100644 index 00000000..d2f28198 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/uppercase_by_type/61.txt.hash @@ -0,0 +1 @@ +4b8d29b54798f8d1f1b7c74fd2f76104fd933a6139b3a878702901f10e0e1921 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/uppercase_by_type/665.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/uppercase_by_type/665.txt.hash new file mode 100644 index 00000000..cec996fd --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/uppercase_by_type/665.txt.hash @@ -0,0 +1 @@ +c0de1b9729fb534a15c52ca29f8681b740a3a033a1f8fb995e6b8cde173e69a8 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/uppercase_by_type/666.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/uppercase_by_type/666.txt.hash new file mode 100644 index 00000000..227b4b83 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/uppercase_by_type/666.txt.hash @@ -0,0 +1 @@ +e44e0c041af2ce8db3e44ba73b80bb1e85fc228ac0004c3336c56b63d208d065 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/uppercase_by_type/manif11.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/uppercase_by_type/manif11.txt.hash new file mode 100644 index 00000000..d81a9c28 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/uppercase_by_type/manif11.txt.hash @@ -0,0 +1 @@ +ccf447d47bb93d91db635267d9f165d1e391673ed2633790e4e421a27455c73b diff --git a/infrastructure/systems/Shark/nlp/hashes/small/uppercase_by_type/manif12.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/uppercase_by_type/manif12.txt.hash new file mode 100644 index 00000000..304eeb51 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/uppercase_by_type/manif12.txt.hash @@ -0,0 +1 @@ +5376bd3bdaf66f4bb470cd44ed0899167bd6d153a87d8e3ba9d205185491155c diff --git a/infrastructure/systems/Shark/nlp/hashes/small/uppercase_by_type/pgw050mo.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/uppercase_by_type/pgw050mo.txt.hash new file mode 100644 index 00000000..1e261262 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/uppercase_by_type/pgw050mo.txt.hash @@ -0,0 +1 @@ +ff218f8790dc13b29cfee529116cac508ba5f46c8a2c183426782419331f58c7 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/uppercase_by_type/pgw050pq.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/uppercase_by_type/pgw050pq.txt.hash new file mode 100644 index 00000000..bf386988 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/uppercase_by_type/pgw050pq.txt.hash @@ -0,0 +1 @@ +2881c203d2d5d3546c4a9e56f36ff90ad9ad5d9bf59978a2673e6958f26d2fcf diff --git a/infrastructure/systems/Shark/nlp/hashes/small/uppercase_by_type/pgwmo04.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/uppercase_by_type/pgwmo04.txt.hash new file mode 100644 index 00000000..505c0526 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/uppercase_by_type/pgwmo04.txt.hash @@ -0,0 +1 @@ +d637d9f8416ff657212428b24fd3501366d45b91744c03a858b8930e837701c9 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/uppercase_by_type/pgwpq04.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/uppercase_by_type/pgwpq04.txt.hash new file mode 100644 index 00000000..86869cde --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/uppercase_by_type/pgwpq04.txt.hash @@ -0,0 +1 @@ +310b49526a3eb2c634ee1e4d892c4bff9e9295c9e2fade3f1e7169379ff27ff7 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/vowel_sequencies_gr_1K/61-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/vowel_sequencies_gr_1K/61-0.txt.hash new file mode 100644 index 00000000..db44c604 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/vowel_sequencies_gr_1K/61-0.txt.hash @@ -0,0 +1 @@ +e8415b5098b965210bf839e56688c89f5b4a54eccd7a7dbefee841f2613c8822 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/vowel_sequencies_gr_1K/61.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/vowel_sequencies_gr_1K/61.txt.hash new file mode 100644 index 00000000..b2a072f2 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/vowel_sequencies_gr_1K/61.txt.hash @@ -0,0 +1 @@ +8901012ce5a38d2de540cb6f563bbe20d9175dd761ec68680387ab589e189d96 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/vowel_sequencies_gr_1K/665.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/vowel_sequencies_gr_1K/665.txt.hash new file mode 100644 index 00000000..2952c328 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/vowel_sequencies_gr_1K/665.txt.hash @@ -0,0 +1 @@ +8fcbe3f398bd6c82c6eb97c230fa3601de095411994f9f931989910dd8758f86 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/vowel_sequencies_gr_1K/666.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/vowel_sequencies_gr_1K/666.txt.hash new file mode 100644 index 00000000..ce73a0b9 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/vowel_sequencies_gr_1K/666.txt.hash @@ -0,0 +1 @@ +d881db79cd5beae27eaad433004d1d90da1e0aa7f987444cc01c172947c845cb diff --git a/infrastructure/systems/Shark/nlp/hashes/small/vowel_sequencies_gr_1K/manif11.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/vowel_sequencies_gr_1K/manif11.txt.hash new file mode 100644 index 00000000..d61c3258 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/vowel_sequencies_gr_1K/manif11.txt.hash @@ -0,0 +1 @@ +f17a9876c4be18625903f511f1784ce338eb133726caa05b9f2193b53c3a04c5 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/vowel_sequencies_gr_1K/manif12.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/vowel_sequencies_gr_1K/manif12.txt.hash new file mode 100644 index 00000000..dbeafd01 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/vowel_sequencies_gr_1K/manif12.txt.hash @@ -0,0 +1 @@ +2d10dfa59c2b9bcc4e75fe6ca5b079e220bd49a608f50d7091279ce88ca920b7 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/vowel_sequencies_gr_1K/pgw050mo.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/vowel_sequencies_gr_1K/pgw050mo.txt.hash new file mode 100644 index 00000000..d8e07712 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/vowel_sequencies_gr_1K/pgw050mo.txt.hash @@ -0,0 +1 @@ +24359145867112af89981870ed83a543fdf906a7eccc30c71429ef68864ff5ae diff --git a/infrastructure/systems/Shark/nlp/hashes/small/vowel_sequencies_gr_1K/pgw050pq.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/vowel_sequencies_gr_1K/pgw050pq.txt.hash new file mode 100644 index 00000000..b959bc00 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/vowel_sequencies_gr_1K/pgw050pq.txt.hash @@ -0,0 +1 @@ +c98636f875ca9dab71c844ddffc4df2d6cbb2c7d8782033d839f577714cfcc46 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/vowel_sequencies_gr_1K/pgwmo04.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/vowel_sequencies_gr_1K/pgwmo04.txt.hash new file mode 100644 index 00000000..6674c28b --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/vowel_sequencies_gr_1K/pgwmo04.txt.hash @@ -0,0 +1 @@ +e65bdb0d16ce4a9ca16904d14261ce90fbdaeeb0c17f6a6df3d1f3819818637f diff --git a/infrastructure/systems/Shark/nlp/hashes/small/vowel_sequencies_gr_1K/pgwpq04.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/vowel_sequencies_gr_1K/pgwpq04.txt.hash new file mode 100644 index 00000000..5bfe26d9 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/vowel_sequencies_gr_1K/pgwpq04.txt.hash @@ -0,0 +1 @@ +371b58b4b244d527b39f39c85f8d60c0bd5b8fb4a84ce0cff0d3f389562f128d diff --git a/infrastructure/systems/Shark/nlp/hashes/small/words_no_vowels/61-0.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/words_no_vowels/61-0.txt.hash new file mode 100644 index 00000000..0e54162c --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/words_no_vowels/61-0.txt.hash @@ -0,0 +1 @@ +f9ba87497b93e01d523f9d5ef6937f4ad30e5702395a358ca81a9046604984b3 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/words_no_vowels/61.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/words_no_vowels/61.txt.hash new file mode 100644 index 00000000..727e911f --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/words_no_vowels/61.txt.hash @@ -0,0 +1 @@ +7e6edbe44ca219d0e157b110bdcff6e6e71520ea3d5443ddbb3af08d53acb68a diff --git a/infrastructure/systems/Shark/nlp/hashes/small/words_no_vowels/665.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/words_no_vowels/665.txt.hash new file mode 100644 index 00000000..1e923614 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/words_no_vowels/665.txt.hash @@ -0,0 +1 @@ +bd89c42f29d26a13e651584f5f6221e6080d7c3a191dc78cc35a369b78ae4fc6 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/words_no_vowels/666.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/words_no_vowels/666.txt.hash new file mode 100644 index 00000000..93e75f11 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/words_no_vowels/666.txt.hash @@ -0,0 +1 @@ +97bd82cb879b6201557916afca89aca29c927b36f42a424c1c816571d36ef5d6 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/words_no_vowels/manif11.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/words_no_vowels/manif11.txt.hash new file mode 100644 index 00000000..608e6a36 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/words_no_vowels/manif11.txt.hash @@ -0,0 +1 @@ +8cba6e7f09550264b555e39ed1cf16f86755ed909d7cba884ce90ad7cbc171b8 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/words_no_vowels/manif12.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/words_no_vowels/manif12.txt.hash new file mode 100644 index 00000000..0c150a36 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/words_no_vowels/manif12.txt.hash @@ -0,0 +1 @@ +f9917fe679a8ce869b68b3f82fd67ef43ac8038c6bcf6f83d45f7bb1e69e3ee7 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/words_no_vowels/pgw050mo.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/words_no_vowels/pgw050mo.txt.hash new file mode 100644 index 00000000..8a32cc07 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/words_no_vowels/pgw050mo.txt.hash @@ -0,0 +1 @@ +155b8cfb80d0acfd83f1471ddaa8447ecc876a7511e339003d116b810c1f8040 diff --git a/infrastructure/systems/Shark/nlp/hashes/small/words_no_vowels/pgw050pq.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/words_no_vowels/pgw050pq.txt.hash new file mode 100644 index 00000000..299dc853 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/words_no_vowels/pgw050pq.txt.hash @@ -0,0 +1 @@ +af8c12e8152b48230531d9c27f940fd1477372ec80f336a43b0586efbd8bd91a diff --git a/infrastructure/systems/Shark/nlp/hashes/small/words_no_vowels/pgwmo04.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/words_no_vowels/pgwmo04.txt.hash new file mode 100644 index 00000000..ccd0bb48 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/words_no_vowels/pgwmo04.txt.hash @@ -0,0 +1 @@ +0a0156a7afe5962fd320f6522775d4cac7f65e843b190c85b01c21b3b66eee8a diff --git a/infrastructure/systems/Shark/nlp/hashes/small/words_no_vowels/pgwpq04.txt.hash b/infrastructure/systems/Shark/nlp/hashes/small/words_no_vowels/pgwpq04.txt.hash new file mode 100644 index 00000000..549f16f5 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/hashes/small/words_no_vowels/pgwpq04.txt.hash @@ -0,0 +1 @@ +c400cb546e24db66e3ca683e86171c29ec0a3de354f22d2f312700e8f290e7a8 diff --git a/infrastructure/systems/Shark/nlp/input.sh b/infrastructure/systems/Shark/nlp/input.sh new file mode 100755 index 00000000..f625b272 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/input.sh @@ -0,0 +1,51 @@ +#!/bin/bash + +cd "$(realpath $(dirname "$0"))" +mkdir -p inputs +cd inputs + +if [ ! -f ./book_links.txt ]; then + wget -O book_links.txt "https://atlas-group.cs.brown.edu/data/gutenberg/books.txt" + if [ ! -f book_links.txt ]; then + echo "Failed to download book_links.txt" + exit 1 + fi +fi + +if [ ! -f ./genesis ]; then + curl -sf https://atlas-group.cs.brown.edu/data/gutenberg/8/0/0/8001/8001.txt > genesis +fi + +if [ ! -f ./exodus ]; then + curl -sf https://atlas-group.cs.brown.edu/data/gutenberg/3/3/4/2/33420/33420-0.txt > exodus +fi + +if [ ! -e ./pg ]; then + mkdir pg + cd pg + book_count=120 + + head -n $book_count ../book_links.txt | while IFS= read -r line + do + full_url="https://atlas-group.cs.brown.edu/data/gutenberg/${line}" + echo "Downloading $full_url" + wget -q "$full_url" + done + + cd .. +fi + +if [ ! -e ./pg-small ]; then + mkdir pg-small + cd pg-small + book_count=10 + + head -n $book_count ../book_links.txt | while IFS= read -r line + do + full_url="https://atlas-group.cs.brown.edu/data/gutenberg/${line}" + echo "Downloading $full_url" + wget -q "$full_url" + done + + cd .. +fi diff --git a/infrastructure/systems/Shark/nlp/run.sh b/infrastructure/systems/Shark/nlp/run.sh new file mode 100755 index 00000000..21d67bc4 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/run.sh @@ -0,0 +1,58 @@ +#!/bin/bash --posix + +export SUITE_DIR=$(realpath $(dirname "$0")) +export TIMEFORMAT=%R +cd "$SUITE_DIR" + +if [[ "$1" == "--small" ]]; then + export ENTRIES=10 + export IN="$SUITE_DIR/inputs/pg-small" +else + export ENTRIES=120 + export IN="$SUITE_DIR/inputs/pg" +fi + +BENCHMARK_SHELL=${BENCHMARK_SHELL:-bash} + +mkdir -p "outputs" + +# Define the script names in a single variable +script_names="syllable_words_1 +syllable_words_2 +letter_words +bigrams_appear_twice +bigrams +compare_exodus_genesis +count_consonant_seq +count_morphs +count_trigrams +count_vowel_seq +count_words +find_anagrams +merge_upper +sort +sort_words_by_folding +sort_words_by_num_of_syllables +sort_words_by_rhyming +trigram_rec +uppercase_by_token +uppercase_by_type +verses_2om_3om_2instances +vowel_sequencies_gr_1K +words_no_vowels" + +mkdir -p "outputs" + +echo "Executing nlp $(date)" + +# Loop through each script name from the variable +while IFS= read -r script; do + script_file="./scripts/$script.sh" + output_dir="./outputs/$script/" + + mkdir -p "$output_dir" + + echo "$script" + $BENCHMARK_SHELL "$script_file" "$output_dir" + echo "$?" +done <<< "$script_names" diff --git a/infrastructure/systems/Shark/nlp/scripts/bigrams.sh b/infrastructure/systems/Shark/nlp/scripts/bigrams.sh new file mode 100755 index 00000000..2ae403d2 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/scripts/bigrams.sh @@ -0,0 +1,47 @@ +#!/bin/bash +# tag: bigrams.sh +# set -e + +# Bigrams (contrary to our version, this uses intermediary files) +# IN=${IN:-$SUITE_DIR/inputs/pg} +# OUT=${1:-$SUITE_DIR/outputs/4_3/} +# ENTRIES=${ENTRIES:-1000} +# mkdir -p "$OUT" + +# pure_func() { +# input=$1 +# TEMPDIR=$(mktemp -d) +# cat > ${TEMPDIR}/${input}.input.words +# tail +2 ${TEMPDIR}/${input}.input.words > ${TEMPDIR}/${input}.input.nextwords +# paste ${TEMPDIR}/${input}.input.words ${TEMPDIR}/${input}.input.nextwords +# rm -rf ${TEMPDIR} +# } +# export -f pure_func + +# for input in $(ls ${IN} | head -n ${ENTRIES} | xargs -I arg1 basename arg1) +# do +# cat $IN/$input | tr -c 'A-Za-z' '[\n*]' | grep -v "^\s*$"| pure_func $input| sort | uniq -c > ${OUT}/${input}.input.bigrams.out +# done + +# echo 'done'; +# rm -rf ${OUT} + +IN=${IN:-$SUITE_DIR/inputs/pg} +OUT=${1:-$SUITE_DIR/outputs/4_3/} +ENTRIES=${ENTRIES:-1000} +mkdir -p "$OUT" + +pure_func() { + input=$1 + tr -c 'A-Za-z' '[\n*]' < "$IN/$input" | grep -v "^\s*$" | + tail -n +2 | paste - <(tail -n +2 "$IN/$input") | + sort | uniq -c +} + +export -f pure_func +for input in $(ls "$IN" | head -n "$ENTRIES"); do + pure_func "$input" > "${OUT}/${input}.input.bigrams.out" & +done +wait + +echo 'done' diff --git a/infrastructure/systems/Shark/nlp/scripts/bigrams_appear_twice.sh b/infrastructure/systems/Shark/nlp/scripts/bigrams_appear_twice.sh new file mode 100755 index 00000000..aedc762c --- /dev/null +++ b/infrastructure/systems/Shark/nlp/scripts/bigrams_appear_twice.sh @@ -0,0 +1,49 @@ +#!/bin/bash +# tag: bigrams_appear_twice.sh +# set -e + +# Calculate the bigrams (based on 4_3.sh script) +# IN=${IN:-$SUITE_DIR/inputs/pg} +# OUT=${1:-$SUITE_DIR/outputs/8.2_2/} +# ENTRIES=${ENTRIES:-1000} +# mkdir -p "$OUT" + +# pure_func() { +# input=$1 +# TEMPDIR=$(mktemp -d) +# cat > ${TEMPDIR}/${input}.input.words +# tail +2 ${TEMPDIR}/${input}.input.words > ${TEMPDIR}/${input}.input.nextwords +# paste ${TEMPDIR}/${input}.input.words ${TEMPDIR}/${input}.input.nextwords | sort | uniq -c > ${TEMPDIR}/${input}.input.bigrams +# awk "\$1 == 2 {print \$2, \$3}" ${TEMPDIR}/${input}.input.bigrams +# rm -rf {TEMPDIR} +# } + +# export -f pure_func +# for input in $(ls ${IN} | head -n ${ENTRIES} | xargs -I arg1 basename arg1) +# do +# cat $IN/$input | tr -c 'A-Za-z' '[\n*]' | grep -v "^\s*$" | pure_func $input > ${OUT}/${input}.out +# done + +# echo 'done'; +# rm -rf "$OUT" +IN=${IN:-$SUITE_DIR/inputs/pg} +OUT=${1:-$SUITE_DIR/outputs/8.2_2/} +ENTRIES=${ENTRIES:-1000} +mkdir -p "$OUT" + +pure_func() { + input=$1 + tr -c 'A-Za-z' '[\n*]' < "$IN/$input" | grep -v "^\s*$" | \ + tail -n +2 | paste - <(tail -n +2) | sort | uniq -c | \ + awk '$1 == 2 {print $2, $3}' +} + +export -f pure_func + +for input in $(ls "$IN" | head -n "$ENTRIES"); do + pure_func "$input" > "${OUT}/${input}.out" & +done + +wait + +echo 'done' \ No newline at end of file diff --git a/infrastructure/systems/Shark/nlp/scripts/compare_exodus_genesis.sh b/infrastructure/systems/Shark/nlp/scripts/compare_exodus_genesis.sh new file mode 100755 index 00000000..aba604f8 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/scripts/compare_exodus_genesis.sh @@ -0,0 +1,54 @@ +#!/bin/bash +# tag: compare_exodus_genesis.sh +# set -e + +# IN=${IN:-$SUITE_DIR/inputs/pg} +# INPUT2=${INPUT2:-$SUITE_DIR/inputs/exodus} +# OUT=${1:-$SUITE_DIR/outputs/8.3_3/} +# ENTRIES=${ENTRIES:-1000} +# mkdir -p $OUT + +# pure_func() { +# input=$1 +# input2=$2 +# TEMPDIR=$(mktemp -d) +# cat > ${TEMPDIR}/${input}1.types +# cat ${input2} | tr -sc '[A-Z][a-z]' '[\012*]' | sort -u > ${TEMPDIR}/${input}2.types +# sort ${TEMPDIR}/${input}1.types ${TEMPDIR}/${input}2.types ${TEMPDIR}/${input}2.types | uniq -c | head +# rm -rf ${TEMPDIR} +# } +# export -f pure_func + +# for input in $(ls ${IN} | head -n ${ENTRIES} | xargs -I arg1 basename arg1) +# do +# cat $IN/$input | tr -c 'A-Za-z' '[\n*]' | grep -v "^\s*$" | sort -u | pure_func $input $INPUT2 > ${OUT}/${input}.out +# done + +# echo 'done'; +# rm -rf "$OUT" + +#!/bin/bash + +IN=${IN:-$SUITE_DIR/inputs/pg} +INPUT2=${INPUT2:-$SUITE_DIR/inputs/exodus} +OUT=${1:-$SUITE_DIR/outputs/8.3_3/} +ENTRIES=${ENTRIES:-1000} +mkdir -p "$OUT" + +pure_func() { + input=$1 + input2=$2 + paste <(tr -c 'A-Za-z' '[\n*]' < "$IN/$input" | sort -u) \ + <(tr -sc '[A-Z][a-z]' '[\012*]' < "$input2" | sort -u) | + uniq -c | head +} + +export -f pure_func + +for input in $(ls "$IN" | head -n "$ENTRIES"); do + pure_func "$input" "$INPUT2" > "${OUT}/${input}.out" & +done + +wait + +echo 'done' diff --git a/infrastructure/systems/Shark/nlp/scripts/count_consonant_seq.sh b/infrastructure/systems/Shark/nlp/scripts/count_consonant_seq.sh new file mode 100755 index 00000000..e1c2c4d7 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/scripts/count_consonant_seq.sh @@ -0,0 +1,24 @@ +#!/bin/bash +# set -e +# tag: count_consonant_sequences + +IN=${IN:-$SUITE_DIR/inputs/pg} +OUT=${1:-$SUITE_DIR/outputs/7_2/} +ENTRIES=${ENTRIES:-1000} +mkdir -p "$OUT" + +# for input in $(ls ${IN} | head -n ${ENTRIES} | xargs -I arg1 basename arg1) +# do +# cat $IN/$input | tr '[a-z]' '[A-Z]' | tr -sc 'BCDFGHJKLMNPQRSTVWXYZ' '[\012*]' | sort | uniq -c > ${OUT}/${input}.out +# done + +for input in $(ls "$IN" | head -n "$ENTRIES"); do + tr '[a-z]' '[A-Z]' < "$IN/$input" | \ + tr -sc 'BCDFGHJKLMNPQRSTVWXYZ' '[\012*]' | \ + sort | uniq -c > "${OUT}/${input}.out" & +done + +wait + +echo 'done'; +# rm -rf ${OUT} diff --git a/infrastructure/systems/Shark/nlp/scripts/count_morphs.sh b/infrastructure/systems/Shark/nlp/scripts/count_morphs.sh new file mode 100755 index 00000000..5c943835 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/scripts/count_morphs.sh @@ -0,0 +1,22 @@ +#!/bin/bash +# tag: count_morphs +# set -e + +IN=${IN:-$SUITE_DIR/inputs/pg} +OUT=${1:-$SUITE_DIR/outputs/7_1/} +ENTRIES=${ENTRIES:-1000} +mkdir -p "$OUT" + +# for input in $(ls ${IN} | head -n ${ENTRIES} | xargs -I arg1 basename arg1) +# do +# cat $IN/$input | sed 's/ly$/-ly/g' | sed 's/ .*//g' | sort | uniq -c > ${OUT}/${input}.out +# done + + +for input in $(ls "$IN" | head -n "$ENTRIES"); do + sed 's/ly$/-ly/g; s/ .*//g' < "$IN/$input" | sort | uniq -c > "${OUT}/${input}.out" & +done +wait + +echo 'done'; +# rm -rf ${OUT} diff --git a/infrastructure/systems/Shark/nlp/scripts/count_trigrams.sh b/infrastructure/systems/Shark/nlp/scripts/count_trigrams.sh new file mode 100755 index 00000000..1063c34a --- /dev/null +++ b/infrastructure/systems/Shark/nlp/scripts/count_trigrams.sh @@ -0,0 +1,50 @@ +#!/bin/bash +#tag: count_trigrams.sh +# set -e + +# IN=${IN:-$SUITE_DIR/inputs/pg} +# OUT=${1:-$SUITE_DIR/outputs/4_3b/} +# ENTRIES=${ENTRIES:-1000} +# mkdir -p "$OUT" + +# pure_func() { +# input=$1 +# TEMPDIR=$(mktemp -d) +# cat > ${TEMPDIR}/${input}.words +# tail +2 ${TEMPDIR}/${input}.words > ${TEMPDIR}/${input}.nextwords +# tail +2 ${TEMPDIR}/${input}.words > ${TEMPDIR}/${input}.nextwords2 +# paste ${TEMPDIR}/${input}.words ${TEMPDIR}/${input}.nextwords ${TEMPDIR}/${input}.nextwords2 | +# sort | uniq -c +# rm -rf ${TEMPDIR} +# } +# export -f pure_func +# for input in $(ls ${IN} | head -n ${ENTRIES} | xargs -I arg1 basename arg1) +# do +# cat $IN/$input | tr -c 'A-Za-z' '[\n*]' | grep -v "^\s*$" | pure_func $input > ${OUT}/${input}.trigrams +# done + +# echo 'done'; + +IN=${IN:-$SUITE_DIR/inputs/pg} +OUT=${1:-$SUITE_DIR/outputs/4_3b/} +ENTRIES=${ENTRIES:-1000} +mkdir -p "$OUT" + +pure_func() { + input=$1 + tr -c 'A-Za-z' '[\n*]' < "$IN/$input" | grep -v "^\s*$" | + tail -n +2 | paste - <(tail -n +2 "$IN/$input" | tail -n +2) | sort | uniq -c +} + +export -f pure_func + +# Parallelize the processing +for input in $(ls "$IN" | head -n "$ENTRIES"); do + pure_func "$input" > "${OUT}/${input}.trigrams" & +done + +wait + +echo 'done' + +# rm -rf ${OUT} diff --git a/infrastructure/systems/Shark/nlp/scripts/count_vowel_seq.sh b/infrastructure/systems/Shark/nlp/scripts/count_vowel_seq.sh new file mode 100755 index 00000000..daad78a3 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/scripts/count_vowel_seq.sh @@ -0,0 +1,31 @@ +#!/bin/bash +# tag: count_vowel_seq +# set -e + +# IN=${IN:-$SUITE_DIR/inputs/pg} +# OUT=${1:-$SUITE_DIR/outputs/2_2/} +# ENTRIES=${ENTRIES:-1000} +# mkdir -p "$OUT" + +# for input in $(ls ${IN} | head -n ${ENTRIES} | xargs -I arg1 basename arg1) +# do +# cat $IN/$input | tr 'a-z' '[A-Z]' | tr -sc 'AEIOU' '[\012*]'| sort | uniq -c > ${OUT}/${input}.out +# done + +# echo 'done'; + +IN=${IN:-$SUITE_DIR/inputs/pg} +OUT=${1:-$SUITE_DIR/outputs/2_2/} +ENTRIES=${ENTRIES:-1000} +mkdir -p "$OUT" + +# Parallelize the processing +for input in $(ls "$IN" | head -n "$ENTRIES"); do + tr 'a-z' '[A-Z]' < "$IN/$input" | tr -sc 'AEIOU' '[\012*]' | sort | uniq -c > "${OUT}/${input}.out" & +done + +wait + +echo 'done' + +# rm -rf "$OUT" diff --git a/infrastructure/systems/Shark/nlp/scripts/count_words.sh b/infrastructure/systems/Shark/nlp/scripts/count_words.sh new file mode 100755 index 00000000..a7e7c1d3 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/scripts/count_words.sh @@ -0,0 +1,28 @@ +#!/bin/bash +# tag: count_words + +# IN=${IN:-$SUITE_DIR/inputs/pg} +# OUT=${1:-$SUITE_DIR/outputs/1_1/} +# ENTRIES=${ENTRIES:-1000} +# mkdir -p "$OUT" + +# for input in $(ls ${IN} | head -n ${ENTRIES} | xargs -I arg1 basename arg1) +# do +# cat $IN/$input | tr -c 'A-Za-z' '[\n*]' | grep -v "^\s*$" | sort | uniq -c > $1/${input}.out +# done + +# echo 'done'; +# rm -rf "$OUT" + +IN=${IN:-$SUITE_DIR/inputs/pg} +OUT=${1:-$SUITE_DIR/outputs/1_1/} +ENTRIES=${ENTRIES:-1000} +mkdir -p "$OUT" + +for input in $(ls "$IN" | head -n "$ENTRIES"); do + tr -c 'A-Za-z' '[\n*]' < "$IN/$input" | grep -v "^\s*$" | sort | uniq -c > "${OUT}/${input}.out" & +done + +wait + +echo 'done'; \ No newline at end of file diff --git a/infrastructure/systems/Shark/nlp/scripts/find_anagrams.sh b/infrastructure/systems/Shark/nlp/scripts/find_anagrams.sh new file mode 100755 index 00000000..22904feb --- /dev/null +++ b/infrastructure/systems/Shark/nlp/scripts/find_anagrams.sh @@ -0,0 +1,39 @@ +#!/bin/bash +# tag: find_anagrams.sh +# set -e + +IN=${IN:-$SUITE_DIR/inputs/pg} +OUT=${1:-$SUITE_DIR/outputs/8.3_2/} +ENTRIES=${ENTRIES:-1000} +mkdir -p "$OUT" + +# pure_func() { +# input=$1 +# TEMPDIR=$(mktemp -d) +# sort -u > ${TEMPDIR}/${input}.types +# rev < ${TEMPDIR}/${input}.types > ${TEMPDIR}/${input}.types.rev +# sort ${TEMPDIR}/${input}.types ${TEMPDIR}/${input}.types.rev | uniq -c | awk "\$1 >= 2 {print \$2}" +# rm -rf ${TEMPDIR} +# } + +# export -f pure_func +# for input in $(ls ${IN} | head -n ${ENTRIES} | xargs -I arg1 basename arg1) +# do +# cat $IN/$input | tr -c 'A-Za-z' '[\n*]' | grep -v "^\s*$" | pure_func $input > ${OUT}/${input}.out +# done + +pure_func() { + input=$1 + tr -c 'A-Za-z' '[\n*]' < "$IN/$input" | grep -v "^\s*$" | sort -u | rev | sort | uniq -c | awk '$1 >= 2 {print $2}' +} + +export -f pure_func + +for input in $(ls "$IN" | head -n "$ENTRIES"); do + pure_func "$input" > "${OUT}/${input}.out" & +done + +wait + +echo 'done'; +# rm -rf "$OUT" diff --git a/infrastructure/systems/Shark/nlp/scripts/letter_words.sh b/infrastructure/systems/Shark/nlp/scripts/letter_words.sh new file mode 100755 index 00000000..0401be0f --- /dev/null +++ b/infrastructure/systems/Shark/nlp/scripts/letter_words.sh @@ -0,0 +1,24 @@ +#!/bin/bash +# tag: four-letter words +# set -e + +# the original script has both versions +IN=${IN:-$SUITE_DIR/inputs/pg} +OUT=${1:-$SUITE_DIR/outputs/6_2/} +ENTRIES=${ENTRIES:-1000} +mkdir -p "$OUT" + +# for input in $(ls ${IN} | head -n ${ENTRIES} | xargs -I arg1 basename arg1) +# do +# cat $IN/$input | tr -c 'A-Za-z' '[\n*]' | grep -v "^\s*$" | grep -c '^....$' > ${OUT}/${input}.out0 +# cat $IN/$input | tr -c 'A-Za-z' '[\n*]' | grep -v "^\s*$" | sort -u | grep -c '^....$' > ${OUT}/${input}.out1 +# done + +for input in $(ls "$IN" | head -n "$ENTRIES"); do + tr -c 'A-Za-z' '[\n*]' < "$IN/$input" | grep -v "^\s*$" | grep -c '^....$' > "${OUT}/${input}.out0" & + tr -c 'A-Za-z' '[\n*]' < "$IN/$input" | grep -v "^\s*$" | sort -u | grep -c '^....$' > "${OUT}/${input}.out1" & +done +wait + +echo 'done'; +# rm -rf "$OUT" diff --git a/infrastructure/systems/Shark/nlp/scripts/merge_upper.sh b/infrastructure/systems/Shark/nlp/scripts/merge_upper.sh new file mode 100755 index 00000000..85664cf4 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/scripts/merge_upper.sh @@ -0,0 +1,25 @@ +#!/bin/bash +# tag: merge_upper +# set -e + +# Merge upper and lower counts +IN=${IN:-$SUITE_DIR/inputs/pg} +OUT=${1:-$SUITE_DIR/outputs/2_1/} +ENTRIES=${ENTRIES:-1000} +mkdir -p "$OUT" + +# for input in $(ls ${IN} | head -n ${ENTRIES} | xargs -I arg1 basename arg1) +# do +# cat $IN/$input | tr '[a-z]' '[A-Z]' | tr -c 'A-Za-z' '[\n*]' | grep -v "^\s*$" | sort | uniq -c > ${OUT}/${input}.out +# done + +for input in $(ls "$IN" | head -n "$ENTRIES"); do + tr '[a-z]' '[A-Z]' < "$IN/$input" | \ + tr -c 'A-Za-z' '[\n*]' | \ + grep -v "^\s*$" | \ + sort | uniq -c > "${OUT}/${input}.out" & +done +wait + +echo 'done'; +# rm -rf "$OUT" diff --git a/infrastructure/systems/Shark/nlp/scripts/sort.sh b/infrastructure/systems/Shark/nlp/scripts/sort.sh new file mode 100755 index 00000000..63e6627e --- /dev/null +++ b/infrastructure/systems/Shark/nlp/scripts/sort.sh @@ -0,0 +1,24 @@ +#!/bin/bash +# tag: sort +# set -e + +IN=${IN:-$SUITE_DIR/inputs/pg} +OUT=${1:-$SUITE_DIR/outputs/3_1/} +ENTRIES=${ENTRIES:-1000} +mkdir -p "$OUT" + +# for input in $(ls ${IN} | head -n ${ENTRIES} | xargs -I arg1 basename arg1) +# do +# cat $IN/$input | tr -c 'A-Za-z' '[\n*]' | grep -v "^\s*$" | sort | uniq -c | sort -nr > ${OUT}/${input}.out +# done + +for input in $(ls "$IN" | head -n "$ENTRIES"); do + tr -c 'A-Za-z' '[\n*]' < "$IN/$input" | \ + grep -v "^\s*$" | \ + sort | uniq -c | sort -nr > "${OUT}/${input}.out" & +done + +wait + +echo 'done'; +# rm -rf "$OUT" diff --git a/infrastructure/systems/Shark/nlp/scripts/sort_words_by_folding.sh b/infrastructure/systems/Shark/nlp/scripts/sort_words_by_folding.sh new file mode 100755 index 00000000..1c855c51 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/scripts/sort_words_by_folding.sh @@ -0,0 +1,21 @@ +#!/bin/bash +# tag: sort_words_by_folding +# set -e + +IN=${IN:-$SUITE_DIR/inputs/pg} +OUT=${1:-$SUITE_DIR/outputs/3_2/} +ENTRIES=${ENTRIES:-1000} +mkdir -p "$OUT" + +# for input in $(ls ${IN} | head -n ${ENTRIES} | xargs -I arg1 basename arg1) +# do +# cat $IN/$input | tr -c 'A-Za-z' '[\n*]' | grep -v "^\s*$" | sort | uniq -c | sort -f > ${OUT}/${input} +# done + +for input in $(ls "$IN" | head -n "$ENTRIES"); do + tr -c 'A-Za-z' '[\n*]' < "$IN/$input" | grep -v "^\s*$" | sort | uniq -c | sort -f > "${OUT}/${input}" & +done +wait + +echo 'done'; +# rm -rf ${OUT} diff --git a/infrastructure/systems/Shark/nlp/scripts/sort_words_by_num_of_syllables.sh b/infrastructure/systems/Shark/nlp/scripts/sort_words_by_num_of_syllables.sh new file mode 100755 index 00000000..e84a7f74 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/scripts/sort_words_by_num_of_syllables.sh @@ -0,0 +1,34 @@ +#!/bin/bash +# tag: sort_words_by_num_of_syllables +# set -e + +IN=${IN:-$SUITE_DIR/inputs/pg} +OUT=${1:-$SUITE_DIR/outputs/8.1/} +ENTRIES=${ENTRIES:-1000} +mkdir -p "$OUT" + +# pure_func() { +# input=$1 +# TEMPDIR=$(mktemp -d) +# cat > ${TEMPDIR}/${input}.words +# tr -sc '[AEIOUaeiou\012]' ' ' < ${TEMPDIR}/${input}.words | awk '{print NF}' > ${TEMPDIR}/${input}.syl +# paste ${TEMPDIR}/${input}.syl ${TEMPDIR}/${input}.words | sort -nr | sed 5q +# rm -rf ${TEMPDIR} +# } +# export -f pure_func +# for input in $(ls ${IN} | head -n ${ENTRIES} | xargs -I arg1 basename arg1) +# do +# cat $IN/$input | tr -c 'A-Za-z' '[\n*]' | grep -v "^\s*$" | sort -u | pure_func $input > ${OUT}/${input}.out +# done + +pure_func() { + input=$1 + tr -sc '[AEIOUaeiou\012]' ' ' < "$IN/$input" | awk '{print NF}' | + paste - <(tr -c 'A-Za-z' '[\n*]' < "$IN/$input" | sort -u) | sort -nr | sed 5q +} +for input in $(ls "$IN" | head -n "$ENTRIES"); do + pure_func "$input" > "${OUT}/${input}.out" & +done +wait +echo 'done'; +# rm -rf "$OUT" diff --git a/infrastructure/systems/Shark/nlp/scripts/sort_words_by_rhyming.sh b/infrastructure/systems/Shark/nlp/scripts/sort_words_by_rhyming.sh new file mode 100755 index 00000000..91a62860 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/scripts/sort_words_by_rhyming.sh @@ -0,0 +1,22 @@ +#!/bin/bash +# tag: sort_words_by_rhyming.sh +# set -e + +IN=${IN:-$SUITE_DIR/inputs/pg} +OUT=${1:-$SUITE_DIR/outputs/3_3/} +ENTRIES=${ENTRIES:-1000} +mkdir -p "$OUT" + +# for input in $(ls ${IN} | head -n ${ENTRIES} | xargs -I arg1 basename arg1) +# do +# cat $IN/$input | tr -c 'A-Za-z' '[\n*]' | grep -v "^\s*$" | sort | uniq -c | rev | sort | rev > ${OUT}/${input}.out +# done + +for input in $(ls "$IN" | head -n "$ENTRIES"); do + tr -c 'A-Za-z' '[\n*]' < "$IN/$input" | grep -v "^\s*$" | sort | uniq -c | rev | sort | rev > "${OUT}/${input}.out" & +done + +wait + +echo 'done'; +# rm -rf "$OUT" diff --git a/infrastructure/systems/Shark/nlp/scripts/syllable_words_1.sh b/infrastructure/systems/Shark/nlp/scripts/syllable_words_1.sh new file mode 100755 index 00000000..d147a190 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/scripts/syllable_words_1.sh @@ -0,0 +1,25 @@ +#!/bin/bash +# tag: 1-syllable words +# set -e + +IN=${IN:-$SUITE_DIR/inputs/pg} +OUT=${1:-$SUITE_DIR/outputs/6_4/} +ENTRIES=${ENTRIES:-1000} +mkdir -p "$OUT" + +# for input in $(ls ${IN} | head -n ${ENTRIES} | xargs -I arg1 basename arg1) +# do +# cat ${IN}/${input} | tr -c 'A-Za-z' '[\n*]' | grep -v "^\s*$" | grep -i '^[^aeiou]*[aeiou][^aeiou]*$' | sort | uniq -c | sed 5q > ${OUT}/${input}.out +# done + +for input in $(ls "$IN" | head -n "$ENTRIES"); do + tr -c 'A-Za-z' '[\n*]' < "$IN/$input" | \ + grep -v "^\s*$" | \ + grep -i '^[^aeiou]*[aeiou][^aeiou]*$' | \ + sort | uniq -c | sed 5q > "${OUT}/${input}.out" & +done + +wait + +echo 'done'; +# rm -rf "$OUT" diff --git a/infrastructure/systems/Shark/nlp/scripts/syllable_words_2.sh b/infrastructure/systems/Shark/nlp/scripts/syllable_words_2.sh new file mode 100755 index 00000000..074b6ba1 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/scripts/syllable_words_2.sh @@ -0,0 +1,25 @@ +#!/bin/bash +# tag: 2-syllable words +# set -e + +IN=${IN:-$SUITE_DIR/inputs/pg} +OUT=${1:-$SUITE_DIR/outputs/6_5/} +ENTRIES=${ENTRIES:-1000} +mkdir -p "$OUT" + +# for input in $(ls ${IN} | head -n ${ENTRIES} | xargs -I arg1 basename arg1) +# do +# cat $IN/$input | tr -c 'A-Za-z' '[\n*]' | grep -v "^\s*$" | grep -i '^[^aeiou]*[aeiou][^aeiou]*[aeiou][^aeiou]$' | sort | uniq -c | sed 5q > ${OUT}${input}.out +# done + +for input in $(ls "$IN" | head -n "$ENTRIES"); do + tr -c 'A-Za-z' '[\n*]' < "$IN/$input" | \ + grep -v "^\s*$" | \ + grep -i '^[^aeiou]*[aeiou][^aeiou]*[aeiou][^aeiou]$' | \ + sort | uniq -c | sed 5q > "${OUT}${input}.out" & +done + +wait + +echo 'done'; +# rm -rf "$OUT" diff --git a/infrastructure/systems/Shark/nlp/scripts/trigram_rec.sh b/infrastructure/systems/Shark/nlp/scripts/trigram_rec.sh new file mode 100755 index 00000000..d170c1ff --- /dev/null +++ b/infrastructure/systems/Shark/nlp/scripts/trigram_rec.sh @@ -0,0 +1,42 @@ +#!/bin/bash +# tag: trigram_rec +# set -e + +IN=${IN:-$SUITE_DIR/inputs/pg} +OUT=${1:-$SUITE_DIR/outputs/6_1/} +ENTRIES=${ENTRIES:-1000} +mkdir -p "$OUT" + +# pure_func() { +# input=$1 +# TEMPDIR=$(mktemp -d) +# tr -sc '[A-Z][a-z]' '[\012*]' > ${TEMPDIR}/${input}.words +# tail +2 ${TEMPDIR}/${input}.words > ${TEMPDIR}/${input}.nextwords +# tail +3 ${TEMPDIR}/${input}.words > ${TEMPDIR}/${input}.nextwords2 +# paste ${TEMPDIR}/${input}.words ${TEMPDIR}/${input}.nextwords ${TEMPDIR}/${input}.nextwords2 | sort | uniq -c +# rm -rf ${TEMPDIR} +# } +# export -f pure_func + +# for input in $(ls ${IN} | head -n ${ENTRIES} | xargs -I arg1 basename arg1) +# do +# cat $IN/$input | grep 'the land of' | pure_func ${input} | sort -nr | sed 5q > ${OUT}/${input}.0.out +# cat $IN/$input | grep 'And he said' | pure_func ${input} | sort -nr | sed 5q > ${OUT}/${input}.1.out +# done + +pure_func() { + input=$1 + tr -sc '[AEIOUaeiou\012]' ' ' < "$IN/$input" | awk '{print NF}' | + paste - <(tr -c 'A-Za-z' '[\n*]' < "$IN/$input" | sort -u) | sort -nr | sed 5q +} + +export -f pure_func + +for input in $(ls "$IN" | head -n "$ENTRIES"); do + pure_func "$input" > "${OUT}/${input}.out" & +done + +wait + +echo 'done'; +# rm -rf "$OUT" diff --git a/infrastructure/systems/Shark/nlp/scripts/uppercase_by_token.sh b/infrastructure/systems/Shark/nlp/scripts/uppercase_by_token.sh new file mode 100755 index 00000000..e7e89971 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/scripts/uppercase_by_token.sh @@ -0,0 +1,24 @@ +#!/bin/bash +# tag: uppercase_by_token +# set -e + +IN=${IN:-$SUITE_DIR/inputs/pg} +OUT=${1:-$SUITE_DIR/outputs/6_1_1/} +ENTRIES=${ENTRIES:-1000} +mkdir -p "$OUT" + +# for input in $(ls ${IN} | head -n ${ENTRIES} | xargs -I arg1 basename arg1) +# do +# cat $IN/$input | tr -c 'A-Za-z' '[\n*]' | grep -v "^\s*$" | grep -c '^[A-Z]' > ${OUT}/${input}.out +# done + +for input in $(ls "$IN" | head -n "$ENTRIES"); do + tr -c 'A-Za-z' '[\n*]' < "$IN/$input" | \ + grep -v "^\s*$" | \ + grep -c '^[A-Z]' > "${OUT}/${input}.out" & +done + +wait + +echo 'done'; +# rm -rf ${OUT} diff --git a/infrastructure/systems/Shark/nlp/scripts/uppercase_by_type.sh b/infrastructure/systems/Shark/nlp/scripts/uppercase_by_type.sh new file mode 100755 index 00000000..b52538ab --- /dev/null +++ b/infrastructure/systems/Shark/nlp/scripts/uppercase_by_type.sh @@ -0,0 +1,25 @@ +#!/bin/bash +# tag: uppercase_by_type +# set -e + +IN=${IN:-$SUITE_DIR/inputs/pg} +OUT=${1:-$SUITE_DIR/outputs/6_1_2/} +ENTRIES=${ENTRIES:-1000} +mkdir -p "$OUT" + +# for input in $(ls ${IN} | head -n ${ENTRIES} | xargs -I arg1 basename arg1) +# do +# cat $IN/$input | tr -c 'A-Za-z' '[\n*]' | grep -v "^\s*$" | sort -u | grep -c '^[A-Z]' > ${OUT}/${input}.out +# done + +for input in $(ls "$IN" | head -n "$ENTRIES"); do + tr -c 'A-Za-z' '[\n*]' < "$IN/$input" | \ + grep -v "^\s*$" | \ + sort -u | \ + grep -c '^[A-Z]' > "${OUT}/${input}.out" & +done + +wait + +echo 'done'; +# rm -rf ${OUT} diff --git a/infrastructure/systems/Shark/nlp/scripts/verses_2om_3om_2instances.sh b/infrastructure/systems/Shark/nlp/scripts/verses_2om_3om_2instances.sh new file mode 100755 index 00000000..3189da24 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/scripts/verses_2om_3om_2instances.sh @@ -0,0 +1,19 @@ +#!/bin/bash +# tag: verse_2om_3om_2instances +# set -e +# verses with 2 or more, 3 or more, exactly 2 instances of light. + +IN=${IN:-$SUITE_DIR/inputs/pg} +OUT=${1:-$SUITE_DIR/outputs/6_7/} +ENTRIES=${ENTRIES:-1000} +mkdir -p "$OUT" + +for input in $(ls ${IN} | head -n ${ENTRIES} | xargs -I arg1 basename arg1) +do + cat $IN/$input | grep -c 'light.\*light' > ${OUT}/${input}.out0 + cat $IN/$input | grep -c 'light.\*light.\*light' > ${OUT}/${input}.out1 + cat $IN/$input | grep 'light.\*light' | grep -vc 'light.\*light.\*light' > ${OUT}/${input}.out2 +done +wait +echo 'done'; +# rm -rf ${OUT} diff --git a/infrastructure/systems/Shark/nlp/scripts/vowel_sequencies_gr_1K.sh b/infrastructure/systems/Shark/nlp/scripts/vowel_sequencies_gr_1K.sh new file mode 100755 index 00000000..93fc4b67 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/scripts/vowel_sequencies_gr_1K.sh @@ -0,0 +1,25 @@ +#!/bin/bash +# tag: vowel_sequences_gr_1K.sh +# set -e + +IN=${IN:-$SUITE_DIR/inputs/pg} +OUT=${1:-$SUITE_DIR/outputs/8.2_1/} +ENTRIES=${ENTRIES:-1000} +mkdir -p "$OUT" + +# for input in $(ls ${IN} | head -n ${ENTRIES} | xargs -I arg1 basename arg1) +# do +# cat $IN/$input | tr -c 'A-Za-z' '[\n*]' | grep -v "^\s*$" | tr -sc 'AEIOUaeiou' '[\012*]' | sort | uniq -c | awk "\$1 >= 1000" > ${OUT}/${input}.out +# done + +for input in $(ls "$IN" | head -n "$ENTRIES"); do + tr -c 'A-Za-z' '[\n*]' < "$IN/$input" | \ + grep -v "^\s*$" | \ + tr -sc 'AEIOUaeiou' '[\012*]' | \ + sort | uniq -c | awk "\$1 >= 1000" > "${OUT}/${input}.out" & +done + +wait + +echo 'done'; +# rm -rf "$OUT" diff --git a/infrastructure/systems/Shark/nlp/scripts/words_no_vowels.sh b/infrastructure/systems/Shark/nlp/scripts/words_no_vowels.sh new file mode 100755 index 00000000..a636cfdf --- /dev/null +++ b/infrastructure/systems/Shark/nlp/scripts/words_no_vowels.sh @@ -0,0 +1,24 @@ +#!/bin/bash +# tag: words_no_vowels +# set -e + +IN=${IN:-$SUITE_DIR/inputs/pg} +OUT=${1:-$SUITE_DIR/outputs/6_3/} +ENTRIES=${ENTRIES:-1000} +mkdir -p "$OUT" + +# for input in $(ls ${IN} | head -n ${ENTRIES} | xargs -I arg1 basename arg1) +# do +# cat $IN/$input | tr -c 'A-Za-z' '[\n*]' | grep -v "^\s*$" | grep -vi '[aeiou]' | sort | uniq -c > ${OUT}/${input}.out +# done + +for input in $(ls "$IN" | head -n "$ENTRIES"); do + tr -c 'A-Za-z' '[\n*]' < "$IN/$input" | \ + grep -v "^\s*$" | \ + grep -vi '[aeiou]' | \ + sort | uniq -c > "${OUT}/${input}.out" & +done + +wait + +echo 'done'; diff --git a/infrastructure/systems/Shark/nlp/verify.sh b/infrastructure/systems/Shark/nlp/verify.sh new file mode 100755 index 00000000..f4f45d73 --- /dev/null +++ b/infrastructure/systems/Shark/nlp/verify.sh @@ -0,0 +1,63 @@ +#!/bin/bash + +# Exit immediately if a command exits with a non-zero status +# set -e + +cd "$(realpath $(dirname "$0"))" + +mkdir -p hashes/small + +if [[ "$@" == *"--small"* ]]; then + hash_folder="hashes/small" +else + hash_folder="hashes" +fi + +if [[ "$@" == *"--generate"* ]]; then + # Directory to iterate over + directory="outputs" + + # Loop through all .out files in the directory + find "$directory" -type f -name '*.out' | while read -r file; + do + # Extract the filename and dirname + filename=$(basename "$file" .out) + dirname=$(dirname "${file#$directory/}") + + # Generate SHA-256 hash + hash=$(shasum -a 256 "$file" | awk '{ print $1 }') + + # Create subdirectory if not already + mkdir -p $hash_folder/$dirname + + # Save the hash to a file + echo "$hash" > "$hash_folder/$dirname/$filename.hash" + + # Print the filename and hash + echo "$hash_folder/$dirname/$filename.hash" "$hash" + done + + exit 0 +fi + +# Loop through all directories in the parent directory +for folder in "outputs"/* +do + # Loop through all .out files in the current directory + find "$folder" -type f -name '*.out' | while read -r file; + do + # Extract the filename and dirname + filename=$(basename "$file" .out) + dirname=$(basename "$(dirname "$file")") # is the script_name + + # Generate SHA-256 hash + shasum -a 256 "$file" | awk '{ print $1 }' > "$file.hash" + + # Compare the hash with the hash in the hashes directory + diff "$hash_folder/$dirname/$filename.hash" "$file.hash" > /dev/null + match="$?" + + # Print the filename and match + echo "$dirname/$filename $match" + done +done diff --git a/infrastructure/systems/Shark/oneliners/.gitignore b/infrastructure/systems/Shark/oneliners/.gitignore new file mode 100644 index 00000000..f72f5fdc --- /dev/null +++ b/infrastructure/systems/Shark/oneliners/.gitignore @@ -0,0 +1,2 @@ +inputs/ +outputs/ diff --git a/infrastructure/systems/Shark/oneliners/all_cmds.txt b/infrastructure/systems/Shark/oneliners/all_cmds.txt new file mode 100644 index 00000000..6332d820 --- /dev/null +++ b/infrastructure/systems/Shark/oneliners/all_cmds.txt @@ -0,0 +1,3797 @@ +/usr/bin/2to3 +/usr/bin/411toppm +/usr/bin/GET +/usr/bin/HEAD +/usr/bin/JxrDecApp +/usr/bin/JxrEncApp +/usr/bin/NF +/usr/bin/POST +/usr/bin/[ +/usr/bin/a2ping +/usr/bin/a5booklet +/usr/bin/a5toa4 +/usr/bin/aa-enabled +/usr/bin/aa-exec +/usr/bin/aa-features-abi +/usr/bin/aclocal +/usr/bin/aclocal-1.16 +/usr/bin/acyclic +/usr/bin/add-apt-repository +/usr/bin/addpart +/usr/bin/addr2line +/usr/bin/adhocfilelist +/usr/bin/afm2afm +/usr/bin/afm2pl +/usr/bin/afm2tfm +/usr/bin/aleph +/usr/bin/allcm +/usr/bin/allec +/usr/bin/allneeded +/usr/bin/amstex +/usr/bin/animate +/usr/bin/animate-im6 +/usr/bin/animate-im6.q16 +/usr/bin/anytopnm +/usr/bin/apport-bug +/usr/bin/apport-cli +/usr/bin/apport-collect +/usr/bin/apport-unpack +/usr/bin/appres +/usr/bin/apropos +/usr/bin/apt +/usr/bin/apt-add-repository +/usr/bin/apt-cache +/usr/bin/apt-cdrom +/usr/bin/apt-config +/usr/bin/apt-extracttemplates +/usr/bin/apt-ftparchive +/usr/bin/apt-get +/usr/bin/apt-key +/usr/bin/apt-mark +/usr/bin/apt-sortpkgs +/usr/bin/ar +/usr/bin/arara +/usr/bin/arch +/usr/bin/arlatex +/usr/bin/as +/usr/bin/asciitopgm +/usr/bin/asy +/usr/bin/atktopbm +/usr/bin/authorindex +/usr/bin/autoconf +/usr/bin/autoheader +/usr/bin/autoinst +/usr/bin/autom4te +/usr/bin/automake +/usr/bin/automake-1.16 +/usr/bin/autoreconf +/usr/bin/autoscan +/usr/bin/autosp +/usr/bin/autoupdate +/usr/bin/awk +/usr/bin/axohelp +/usr/bin/b2sum +/usr/bin/base32 +/usr/bin/base64 +/usr/bin/basename +/usr/bin/basenc +/usr/bin/bash +/usr/bin/bashbug +/usr/bin/bbl2bib +/usr/bin/bbox +/usr/bin/bc +/usr/bin/bcomps +/usr/bin/bdftopcf +/usr/bin/bdftruncate +/usr/bin/bg5+latex +/usr/bin/bg5+pdflatex +/usr/bin/bg5conv +/usr/bin/bg5latex +/usr/bin/bg5pdflatex +/usr/bin/bib2gls +/usr/bin/bibdoiadd +/usr/bin/biber +/usr/bin/bibexport +/usr/bin/bibmradd +/usr/bin/bibtex +/usr/bin/bibtex.original +/usr/bin/bibtex8 +/usr/bin/bibtexu +/usr/bin/biburl2doi +/usr/bin/bibzbladd +/usr/bin/bioradtopgm +/usr/bin/bmptopnm +/usr/bin/bmptoppm +/usr/bin/bootctl +/usr/bin/broadwayd +/usr/bin/browse +/usr/bin/brushtopbm +/usr/bin/bundle3.0 +/usr/bin/bundledoc +/usr/bin/bundler3.0 +/usr/bin/bunzip2 +/usr/bin/busctl +/usr/bin/busybox +/usr/bin/byobu +/usr/bin/byobu-config +/usr/bin/byobu-ctrl-a +/usr/bin/byobu-disable +/usr/bin/byobu-disable-prompt +/usr/bin/byobu-enable +/usr/bin/byobu-enable-prompt +/usr/bin/byobu-export +/usr/bin/byobu-janitor +/usr/bin/byobu-keybindings +/usr/bin/byobu-launch +/usr/bin/byobu-launcher +/usr/bin/byobu-launcher-install +/usr/bin/byobu-launcher-uninstall +/usr/bin/byobu-layout +/usr/bin/byobu-prompt +/usr/bin/byobu-quiet +/usr/bin/byobu-reconnect-sockets +/usr/bin/byobu-screen +/usr/bin/byobu-select-backend +/usr/bin/byobu-select-profile +/usr/bin/byobu-select-session +/usr/bin/byobu-shell +/usr/bin/byobu-silent +/usr/bin/byobu-status +/usr/bin/byobu-status-detail +/usr/bin/byobu-tmux +/usr/bin/byobu-ugraph +/usr/bin/byobu-ulevel +/usr/bin/bzcat +/usr/bin/bzcmp +/usr/bin/bzdiff +/usr/bin/bzegrep +/usr/bin/bzexe +/usr/bin/bzfgrep +/usr/bin/bzgrep +/usr/bin/bzip2 +/usr/bin/bzip2recover +/usr/bin/bzless +/usr/bin/bzmore +/usr/bin/c++ +/usr/bin/c++filt +/usr/bin/c89 +/usr/bin/c89-gcc +/usr/bin/c99 +/usr/bin/c99-gcc +/usr/bin/c_rehash +/usr/bin/cachepic +/usr/bin/cal +/usr/bin/cancel +/usr/bin/captoinfo +/usr/bin/cat +/usr/bin/catman +/usr/bin/cc +/usr/bin/ccomps +/usr/bin/cef5conv +/usr/bin/cef5latex +/usr/bin/cef5pdflatex +/usr/bin/cefconv +/usr/bin/ceflatex +/usr/bin/cefpdflatex +/usr/bin/cefsconv +/usr/bin/cefslatex +/usr/bin/cefspdflatex +/usr/bin/cfftot1 +/usr/bin/chage +/usr/bin/chattr +/usr/bin/chcon +/usr/bin/checkcites +/usr/bin/checklistings +/usr/bin/chfn +/usr/bin/chgrp +/usr/bin/chkdvifont +/usr/bin/chklref +/usr/bin/chktex +/usr/bin/chkweb +/usr/bin/chmod +/usr/bin/choom +/usr/bin/chown +/usr/bin/chromedriver +/usr/bin/chromium-browser +/usr/bin/chrt +/usr/bin/chsh +/usr/bin/chvt +/usr/bin/circo +/usr/bin/cjk-gs-integrate +/usr/bin/ckbcomp +/usr/bin/cksum +/usr/bin/clear +/usr/bin/clear_console +/usr/bin/cluster +/usr/bin/cluttex +/usr/bin/cmp +/usr/bin/cmuwmtopbm +/usr/bin/codepage +/usr/bin/col +/usr/bin/col1 +/usr/bin/col2 +/usr/bin/col3 +/usr/bin/col4 +/usr/bin/col5 +/usr/bin/col6 +/usr/bin/col7 +/usr/bin/col8 +/usr/bin/col9 +/usr/bin/colcrt +/usr/bin/colrm +/usr/bin/column +/usr/bin/comm +/usr/bin/compare +/usr/bin/compare-im6 +/usr/bin/compare-im6.q16 +/usr/bin/composite +/usr/bin/composite-im6 +/usr/bin/composite-im6.q16 +/usr/bin/conjure +/usr/bin/conjure-im6 +/usr/bin/conjure-im6.q16 +/usr/bin/context +/usr/bin/contextjit +/usr/bin/convbkmk +/usr/bin/convert +/usr/bin/convert-im6 +/usr/bin/convert-im6.q16 +/usr/bin/convertgls2bib +/usr/bin/corelist +/usr/bin/cp +/usr/bin/cpan +/usr/bin/cpan5.34-x86_64-linux-gnu +/usr/bin/cpio +/usr/bin/cpp +/usr/bin/cpp-11 +/usr/bin/crontab +/usr/bin/cslatex +/usr/bin/csplain +/usr/bin/csplit +/usr/bin/ctail +/usr/bin/ctan-o-mat +/usr/bin/ctanbib +/usr/bin/ctangle +/usr/bin/ctanify +/usr/bin/ctanupload +/usr/bin/ctie +/usr/bin/ctstat +/usr/bin/ctwill +/usr/bin/ctwill-refsort +/usr/bin/ctwill-twinx +/usr/bin/cupstestppd +/usr/bin/curl +/usr/bin/cut +/usr/bin/cvtsudoers +/usr/bin/cweave +/usr/bin/dash +/usr/bin/date +/usr/bin/dbus-cleanup-sockets +/usr/bin/dbus-daemon +/usr/bin/dbus-launch +/usr/bin/dbus-monitor +/usr/bin/dbus-run-session +/usr/bin/dbus-send +/usr/bin/dbus-update-activation-environment +/usr/bin/dbus-uuidgen +/usr/bin/dd +/usr/bin/deallocvt +/usr/bin/deb-systemd-helper +/usr/bin/deb-systemd-invoke +/usr/bin/debconf +/usr/bin/debconf-apt-progress +/usr/bin/debconf-communicate +/usr/bin/debconf-copydb +/usr/bin/debconf-escape +/usr/bin/debconf-set-selections +/usr/bin/debconf-show +/usr/bin/debian-distro-info +/usr/bin/delaunay +/usr/bin/delpart +/usr/bin/delv +/usr/bin/depythontex +/usr/bin/detex +/usr/bin/devnag +/usr/bin/deweb +/usr/bin/df +/usr/bin/dh_autotools-dev_restoreconfig +/usr/bin/dh_autotools-dev_updateconfig +/usr/bin/dh_bash-completion +/usr/bin/dh_installtex +/usr/bin/dh_perl_openssl +/usr/bin/diadia +/usr/bin/diff +/usr/bin/diff3 +/usr/bin/diffimg +/usr/bin/dig +/usr/bin/dijkstra +/usr/bin/dir +/usr/bin/dircolors +/usr/bin/dirmngr +/usr/bin/dirmngr-client +/usr/bin/dirname +/usr/bin/disdvi +/usr/bin/display +/usr/bin/display-im6 +/usr/bin/display-im6.q16 +/usr/bin/distro-info +/usr/bin/dmesg +/usr/bin/dnsdomainname +/usr/bin/do-release-upgrade +/usr/bin/domainname +/usr/bin/dosepsbin +/usr/bin/dot +/usr/bin/dot2gxl +/usr/bin/dot_builtins +/usr/bin/dotty +/usr/bin/dpkg +/usr/bin/dpkg-architecture +/usr/bin/dpkg-buildflags +/usr/bin/dpkg-buildpackage +/usr/bin/dpkg-checkbuilddeps +/usr/bin/dpkg-deb +/usr/bin/dpkg-distaddfile +/usr/bin/dpkg-divert +/usr/bin/dpkg-genbuildinfo +/usr/bin/dpkg-genchanges +/usr/bin/dpkg-gencontrol +/usr/bin/dpkg-gensymbols +/usr/bin/dpkg-maintscript-helper +/usr/bin/dpkg-mergechangelogs +/usr/bin/dpkg-name +/usr/bin/dpkg-parsechangelog +/usr/bin/dpkg-query +/usr/bin/dpkg-realpath +/usr/bin/dpkg-scanpackages +/usr/bin/dpkg-scansources +/usr/bin/dpkg-shlibdeps +/usr/bin/dpkg-source +/usr/bin/dpkg-split +/usr/bin/dpkg-statoverride +/usr/bin/dpkg-trigger +/usr/bin/dpkg-vendor +/usr/bin/dt2dv +/usr/bin/dtxgen +/usr/bin/du +/usr/bin/dumpkeys +/usr/bin/dv2dt +/usr/bin/dvi2fax +/usr/bin/dvi2tty +/usr/bin/dviasm +/usr/bin/dvibook +/usr/bin/dviconcat +/usr/bin/dvicopy +/usr/bin/dvidvi +/usr/bin/dvigif +/usr/bin/dvihp +/usr/bin/dviinfox +/usr/bin/dvilj +/usr/bin/dvilj2p +/usr/bin/dvilj4 +/usr/bin/dvilj4l +/usr/bin/dvilj6 +/usr/bin/dvilualatex +/usr/bin/dvilualatex-dev +/usr/bin/dviluatex +/usr/bin/dvipdf +/usr/bin/dvipdfm +/usr/bin/dvipdfmx +/usr/bin/dvipdft +/usr/bin/dvipng +/usr/bin/dvipos +/usr/bin/dvips +/usr/bin/dvired +/usr/bin/dviselect +/usr/bin/dvispc +/usr/bin/dvisvgm +/usr/bin/dvitodvi +/usr/bin/dvitomp +/usr/bin/dvitype +/usr/bin/dwp +/usr/bin/e2pall +/usr/bin/ebb +/usr/bin/echo +/usr/bin/ed +/usr/bin/edgepaint +/usr/bin/editor +/usr/bin/editres +/usr/bin/egrep +/usr/bin/eject +/usr/bin/elfedit +/usr/bin/enc2xs +/usr/bin/encguess +/usr/bin/env +/usr/bin/envsubst +/usr/bin/eplain +/usr/bin/eps2eps +/usr/bin/epsffit +/usr/bin/epspdf +/usr/bin/epspdftk +/usr/bin/epstopdf +/usr/bin/eptex +/usr/bin/eqn +/usr/bin/erb +/usr/bin/erb3.0 +/usr/bin/etex +/usr/bin/euptex +/usr/bin/ex +/usr/bin/exceltex +/usr/bin/expand +/usr/bin/expiry +/usr/bin/expr +/usr/bin/extconv +/usr/bin/extractbb +/usr/bin/extractres +/usr/bin/eyuvtoppm +/usr/bin/factor +/usr/bin/faillog +/usr/bin/faked-sysv +/usr/bin/faked-tcp +/usr/bin/fakeroot +/usr/bin/fakeroot-sysv +/usr/bin/fakeroot-tcp +/usr/bin/fallocate +/usr/bin/false +/usr/bin/fc-cache +/usr/bin/fc-cat +/usr/bin/fc-conflist +/usr/bin/fc-list +/usr/bin/fc-match +/usr/bin/fc-pattern +/usr/bin/fc-query +/usr/bin/fc-scan +/usr/bin/fc-validate +/usr/bin/fdp +/usr/bin/feynmf +/usr/bin/fgconsole +/usr/bin/fgrep +/usr/bin/fiascotopnm +/usr/bin/fig4latex +/usr/bin/file +/usr/bin/fincore +/usr/bin/find +/usr/bin/findhyph +/usr/bin/findmnt +/usr/bin/findrule +/usr/bin/fitstopnm +/usr/bin/fixdlsrps +/usr/bin/fixfmps +/usr/bin/fixpsditps +/usr/bin/fixpspps +/usr/bin/fixscribeps +/usr/bin/fixtpps +/usr/bin/fixwfwps +/usr/bin/fixwpps +/usr/bin/fixwwps +/usr/bin/flock +/usr/bin/fmt +/usr/bin/fmtutil +/usr/bin/fmtutil-sys +/usr/bin/fmtutil-user +/usr/bin/fold +/usr/bin/fontinst +/usr/bin/fonttosfnt +/usr/bin/fragmaster +/usr/bin/free +/usr/bin/fstopgm +/usr/bin/ftp +/usr/bin/funzip +/usr/bin/fuser +/usr/bin/fusermount +/usr/bin/fusermount3 +/usr/bin/g++ +/usr/bin/g++-11 +/usr/bin/g3topbm +/usr/bin/gapplication +/usr/bin/gawk +/usr/bin/gbklatex +/usr/bin/gbkpdflatex +/usr/bin/gc +/usr/bin/gcc +/usr/bin/gcc-11 +/usr/bin/gcc-ar +/usr/bin/gcc-ar-11 +/usr/bin/gcc-nm +/usr/bin/gcc-nm-11 +/usr/bin/gcc-ranlib +/usr/bin/gcc-ranlib-11 +/usr/bin/gcov +/usr/bin/gcov-11 +/usr/bin/gcov-dump +/usr/bin/gcov-dump-11 +/usr/bin/gcov-tool +/usr/bin/gcov-tool-11 +/usr/bin/gdbus +/usr/bin/gdk-pixbuf-csource +/usr/bin/gdk-pixbuf-pixdata +/usr/bin/gdk-pixbuf-thumbnailer +/usr/bin/gem +/usr/bin/gem3.0 +/usr/bin/gemtopbm +/usr/bin/gemtopnm +/usr/bin/gencat +/usr/bin/geqn +/usr/bin/getafm +/usr/bin/getconf +/usr/bin/getent +/usr/bin/getkeycodes +/usr/bin/getmapdl +/usr/bin/getopt +/usr/bin/gettext +/usr/bin/gettext.sh +/usr/bin/gftodvi +/usr/bin/gftopk +/usr/bin/gftype +/usr/bin/ghostscript +/usr/bin/giftopnm +/usr/bin/ginstall-info +/usr/bin/gio +/usr/bin/gio-querymodules +/usr/bin/git +/usr/bin/git-latexdiff +/usr/bin/git-lfs +/usr/bin/git-receive-pack +/usr/bin/git-shell +/usr/bin/git-upload-archive +/usr/bin/git-upload-pack +/usr/bin/glib-compile-schemas +/usr/bin/gmake +/usr/bin/gml2gv +/usr/bin/gnome-www-browser +/usr/bin/gold +/usr/bin/gouldtoppm +/usr/bin/gpasswd +/usr/bin/gpg +/usr/bin/gpg-agent +/usr/bin/gpg-connect-agent +/usr/bin/gpg-wks-server +/usr/bin/gpg-zip +/usr/bin/gpgcompose +/usr/bin/gpgconf +/usr/bin/gpgparsemail +/usr/bin/gpgsm +/usr/bin/gpgsplit +/usr/bin/gpgtar +/usr/bin/gpgv +/usr/bin/gpic +/usr/bin/gprof +/usr/bin/graphml2gv +/usr/bin/gregorio +/usr/bin/grep +/usr/bin/gresource +/usr/bin/groff +/usr/bin/grog +/usr/bin/grops +/usr/bin/grotty +/usr/bin/groups +/usr/bin/gs +/usr/bin/gsbj +/usr/bin/gsdj +/usr/bin/gsdj500 +/usr/bin/gsettings +/usr/bin/gsftopk +/usr/bin/gslj +/usr/bin/gslp +/usr/bin/gsnd +/usr/bin/gtbl +/usr/bin/gtk-builder-tool +/usr/bin/gtk-encode-symbolic-svg +/usr/bin/gtk-launch +/usr/bin/gtk-query-settings +/usr/bin/gtk-update-icon-cache +/usr/bin/gts-config +/usr/bin/gts2dxf +/usr/bin/gts2oogl +/usr/bin/gts2stl +/usr/bin/gts2xyz +/usr/bin/gtscheck +/usr/bin/gtscompare +/usr/bin/gtstemplate +/usr/bin/gunzip +/usr/bin/gv2gml +/usr/bin/gv2gxl +/usr/bin/gvcolor +/usr/bin/gvgen +/usr/bin/gvmap +/usr/bin/gvmap.sh +/usr/bin/gvpack +/usr/bin/gvpr +/usr/bin/gxl2dot +/usr/bin/gxl2gv +/usr/bin/gzexe +/usr/bin/gzip +/usr/bin/h2ph +/usr/bin/h2xs +/usr/bin/hardlink +/usr/bin/hbf2gf +/usr/bin/hd +/usr/bin/head +/usr/bin/helpztags +/usr/bin/hexdump +/usr/bin/hipstopgm +/usr/bin/host +/usr/bin/hostid +/usr/bin/hostname +/usr/bin/hostnamectl +/usr/bin/ht +/usr/bin/htcontext +/usr/bin/htlatex +/usr/bin/htmex +/usr/bin/htop +/usr/bin/httex +/usr/bin/httexi +/usr/bin/htxelatex +/usr/bin/htxetex +/usr/bin/hwe-support-status +/usr/bin/i386 +/usr/bin/iceauth +/usr/bin/icontopbm +/usr/bin/iconv +/usr/bin/id +/usr/bin/identify +/usr/bin/identify-im6 +/usr/bin/identify-im6.q16 +/usr/bin/idle +/usr/bin/idle-python3.10 +/usr/bin/ifnames +/usr/bin/ilbmtoppm +/usr/bin/imagetops +/usr/bin/imgtoppm +/usr/bin/import +/usr/bin/import-im6 +/usr/bin/import-im6.q16 +/usr/bin/includeres +/usr/bin/info +/usr/bin/infobrowser +/usr/bin/infocmp +/usr/bin/infotocap +/usr/bin/inimf +/usr/bin/initex +/usr/bin/install +/usr/bin/install-info +/usr/bin/installfont-tl +/usr/bin/instmodsh +/usr/bin/ionice +/usr/bin/ip +/usr/bin/ipcmk +/usr/bin/ipcrm +/usr/bin/ipcs +/usr/bin/iptables-xml +/usr/bin/irb +/usr/bin/irb3.0 +/usr/bin/ischroot +/usr/bin/ispell-wrapper +/usr/bin/jadetex +/usr/bin/jamo-normalize +/usr/bin/jfmutil +/usr/bin/join +/usr/bin/journalctl +/usr/bin/jpegtopnm +/usr/bin/json_pp +/usr/bin/json_xs +/usr/bin/kanji-config-updmap +/usr/bin/kanji-config-updmap-sys +/usr/bin/kanji-config-updmap-user +/usr/bin/kanji-fontmap-creator +/usr/bin/kbd_mode +/usr/bin/kbdinfo +/usr/bin/kbxutil +/usr/bin/keep-one-running +/usr/bin/kernel-install +/usr/bin/ketcindy +/usr/bin/keyring +/usr/bin/kill +/usr/bin/killall +/usr/bin/kmod +/usr/bin/koi8rxterm +/usr/bin/komkindex +/usr/bin/kpseaccess +/usr/bin/kpsepath +/usr/bin/kpsereadlink +/usr/bin/kpsestat +/usr/bin/kpsetool +/usr/bin/kpsewhere +/usr/bin/kpsewhich +/usr/bin/kpsexpand +/usr/bin/l3build +/usr/bin/l4p-tmpl +/usr/bin/lacheck +/usr/bin/last +/usr/bin/lastb +/usr/bin/lastlog +/usr/bin/latex +/usr/bin/latex-dev +/usr/bin/latex-git-log +/usr/bin/latex-papersize +/usr/bin/latex-wordcount +/usr/bin/latex2man +/usr/bin/latex2nemeth +/usr/bin/latexdef +/usr/bin/latexdiff +/usr/bin/latexdiff-cvs +/usr/bin/latexdiff-fast +/usr/bin/latexdiff-git +/usr/bin/latexdiff-hg +/usr/bin/latexdiff-rcs +/usr/bin/latexdiff-svn +/usr/bin/latexdiff-vc +/usr/bin/latexfileversion +/usr/bin/latexindent +/usr/bin/latexmk +/usr/bin/latexpand +/usr/bin/latexrevise +/usr/bin/lcf +/usr/bin/ld +/usr/bin/ld.bfd +/usr/bin/ld.gold +/usr/bin/ldd +/usr/bin/leaftoppm +/usr/bin/lefty +/usr/bin/less +/usr/bin/lessecho +/usr/bin/lessfile +/usr/bin/lesskey +/usr/bin/lesspipe +/usr/bin/lexgrog +/usr/bin/libnetcfg +/usr/bin/libtoolize +/usr/bin/libwacom-list-devices +/usr/bin/libwacom-list-local-devices +/usr/bin/libwacom-show-stylus +/usr/bin/libwacom-update-db +/usr/bin/link +/usr/bin/linux32 +/usr/bin/linux64 +/usr/bin/lispmtopgm +/usr/bin/listbib +/usr/bin/listings-ext +/usr/bin/listres +/usr/bin/ln +/usr/bin/lneato +/usr/bin/lnstat +/usr/bin/loadkeys +/usr/bin/loadunimap +/usr/bin/locale +/usr/bin/locale-check +/usr/bin/localectl +/usr/bin/localedef +/usr/bin/logger +/usr/bin/login +/usr/bin/loginctl +/usr/bin/logname +/usr/bin/lollipop +/usr/bin/look +/usr/bin/lowntfs-3g +/usr/bin/lp +/usr/bin/lpoptions +/usr/bin/lpq +/usr/bin/lpr +/usr/bin/lprm +/usr/bin/lpstat +/usr/bin/ls +/usr/bin/lsattr +/usr/bin/lsb_release +/usr/bin/lsblk +/usr/bin/lscpu +/usr/bin/lshw +/usr/bin/lsipc +/usr/bin/lslocks +/usr/bin/lslogins +/usr/bin/lsmem +/usr/bin/lsmod +/usr/bin/lsns +/usr/bin/lsof +/usr/bin/lspci +/usr/bin/lspgpot +/usr/bin/lsusb +/usr/bin/lto-dump-11 +/usr/bin/ltx2crossrefxml +/usr/bin/ltxfileinfo +/usr/bin/ltximg +/usr/bin/luahbtex +/usr/bin/luajithbtex +/usr/bin/luajittex +/usr/bin/lualatex +/usr/bin/lualatex-dev +/usr/bin/luaotfload-tool +/usr/bin/luatex +/usr/bin/luatools +/usr/bin/luit +/usr/bin/lwarpmk +/usr/bin/lwp-download +/usr/bin/lwp-dump +/usr/bin/lwp-mirror +/usr/bin/lwp-request +/usr/bin/lxterm +/usr/bin/lzcat +/usr/bin/lzcmp +/usr/bin/lzdiff +/usr/bin/lzegrep +/usr/bin/lzfgrep +/usr/bin/lzgrep +/usr/bin/lzless +/usr/bin/lzma +/usr/bin/lzmainfo +/usr/bin/lzmore +/usr/bin/m-tx +/usr/bin/m4 +/usr/bin/macptopbm +/usr/bin/mag +/usr/bin/make +/usr/bin/make-first-existing-target +/usr/bin/make4ht +/usr/bin/makedtx +/usr/bin/makeglossaries +/usr/bin/makeglossaries-lite +/usr/bin/makeindex +/usr/bin/makeinfo +/usr/bin/makejvf +/usr/bin/man +/usr/bin/man-recode +/usr/bin/mandb +/usr/bin/manifest +/usr/bin/manpath +/usr/bin/mapscrn +/usr/bin/match_parens +/usr/bin/mathspic +/usr/bin/mawk +/usr/bin/mcookie +/usr/bin/md5sum +/usr/bin/md5sum.textutils +/usr/bin/mdatopbm +/usr/bin/mdig +/usr/bin/memusage +/usr/bin/memusagestat +/usr/bin/mendex +/usr/bin/mesg +/usr/bin/mex +/usr/bin/mf +/usr/bin/mf-nowin +/usr/bin/mf2pt1 +/usr/bin/mflua +/usr/bin/mflua-nowin +/usr/bin/mfluajit +/usr/bin/mfluajit-nowin +/usr/bin/mfplain +/usr/bin/mft +/usr/bin/mgrtopbm +/usr/bin/migrate-pubring-from-classic-gpg +/usr/bin/mimeopen +/usr/bin/mimetype +/usr/bin/mingle +/usr/bin/mk4ht +/usr/bin/mk_modmap +/usr/bin/mkdir +/usr/bin/mkfifo +/usr/bin/mkfontdir +/usr/bin/mkfontscale +/usr/bin/mkgrkindex +/usr/bin/mkindex +/usr/bin/mkjobtexmf +/usr/bin/mknod +/usr/bin/mkocp +/usr/bin/mkofm +/usr/bin/mkpic +/usr/bin/mksquashfs +/usr/bin/mkt1font +/usr/bin/mktemp +/usr/bin/mktexfmt +/usr/bin/mktexlsr +/usr/bin/mktexmf +/usr/bin/mktexpk +/usr/bin/mktextfm +/usr/bin/mllatex +/usr/bin/mltex +/usr/bin/mm2gv +/usr/bin/mmafm +/usr/bin/mmpfb +/usr/bin/mogrify +/usr/bin/mogrify-im6 +/usr/bin/mogrify-im6.q16 +/usr/bin/montage +/usr/bin/montage-im6 +/usr/bin/montage-im6.q16 +/usr/bin/more +/usr/bin/mount +/usr/bin/mountpoint +/usr/bin/mpost +/usr/bin/mptopdf +/usr/bin/msxlint +/usr/bin/mt +/usr/bin/mt-gnu +/usr/bin/mtr +/usr/bin/mtr-packet +/usr/bin/mtrace +/usr/bin/mtvtoppm +/usr/bin/mtxrun +/usr/bin/mtxrunjit +/usr/bin/multibibliography +/usr/bin/musixflx +/usr/bin/musixtex +/usr/bin/mv +/usr/bin/namei +/usr/bin/nano +/usr/bin/nawk +/usr/bin/nc +/usr/bin/nc.openbsd +/usr/bin/ncal +/usr/bin/neato +/usr/bin/neotoppm +/usr/bin/neqn +/usr/bin/netcat +/usr/bin/netstat +/usr/bin/networkctl +/usr/bin/networkd-dispatcher +/usr/bin/newgrp +/usr/bin/ngettext +/usr/bin/nice +/usr/bin/nisdomainname +/usr/bin/nl +/usr/bin/nm +/usr/bin/nohup +/usr/bin/nop +/usr/bin/nproc +/usr/bin/nroff +/usr/bin/nsenter +/usr/bin/nslookup +/usr/bin/nstat +/usr/bin/nsupdate +/usr/bin/ntfs-3g +/usr/bin/ntfs-3g.probe +/usr/bin/ntfscat +/usr/bin/ntfscluster +/usr/bin/ntfscmp +/usr/bin/ntfsdecrypt +/usr/bin/ntfsfallocate +/usr/bin/ntfsfix +/usr/bin/ntfsinfo +/usr/bin/ntfsls +/usr/bin/ntfsmove +/usr/bin/ntfsrecover +/usr/bin/ntfssecaudit +/usr/bin/ntfstruncate +/usr/bin/ntfsusermap +/usr/bin/ntfswipe +/usr/bin/numfmt +/usr/bin/objcopy +/usr/bin/objdump +/usr/bin/od +/usr/bin/odvicopy +/usr/bin/odvitype +/usr/bin/oem-getlogs +/usr/bin/ofm2opl +/usr/bin/omfonts +/usr/bin/on_ac_power +/usr/bin/open +/usr/bin/openjade +/usr/bin/openjade-1.4devel +/usr/bin/openssl +/usr/bin/openvt +/usr/bin/opl2ofm +/usr/bin/optex +/usr/bin/osage +/usr/bin/ot2kpx +/usr/bin/otangle +/usr/bin/otfinfo +/usr/bin/otftotfm +/usr/bin/otp2ocp +/usr/bin/outocp +/usr/bin/ovf2ovp +/usr/bin/ovp2ovf +/usr/bin/pager +/usr/bin/palmtopnm +/usr/bin/pamcut +/usr/bin/pamdeinterlace +/usr/bin/pamdice +/usr/bin/pamfile +/usr/bin/pamoil +/usr/bin/pamphletangler +/usr/bin/pamstack +/usr/bin/pamstretch +/usr/bin/pamstretch-gen +/usr/bin/paperconf +/usr/bin/partx +/usr/bin/passwd +/usr/bin/paste +/usr/bin/pastebinit +/usr/bin/patch +/usr/bin/patchwork +/usr/bin/patgen +/usr/bin/pathchk +/usr/bin/pbget +/usr/bin/pbibtex +/usr/bin/pbmclean +/usr/bin/pbmlife +/usr/bin/pbmmake +/usr/bin/pbmmask +/usr/bin/pbmpage +/usr/bin/pbmpscale +/usr/bin/pbmreduce +/usr/bin/pbmtext +/usr/bin/pbmtextps +/usr/bin/pbmto10x +/usr/bin/pbmtoascii +/usr/bin/pbmtoatk +/usr/bin/pbmtobbnbg +/usr/bin/pbmtocmuwm +/usr/bin/pbmtoepsi +/usr/bin/pbmtoepson +/usr/bin/pbmtog3 +/usr/bin/pbmtogem +/usr/bin/pbmtogo +/usr/bin/pbmtoicon +/usr/bin/pbmtolj +/usr/bin/pbmtomacp +/usr/bin/pbmtomda +/usr/bin/pbmtomgr +/usr/bin/pbmtonokia +/usr/bin/pbmtopgm +/usr/bin/pbmtopi3 +/usr/bin/pbmtoplot +/usr/bin/pbmtoppa +/usr/bin/pbmtopsg3 +/usr/bin/pbmtoptx +/usr/bin/pbmtowbmp +/usr/bin/pbmtox10bm +/usr/bin/pbmtoxbm +/usr/bin/pbmtoybm +/usr/bin/pbmtozinc +/usr/bin/pbmupc +/usr/bin/pbput +/usr/bin/pbputs +/usr/bin/pbr +/usr/bin/pcxtoppm +/usr/bin/pdb3 +/usr/bin/pdb3.10 +/usr/bin/pdf2dsc +/usr/bin/pdf2ps +/usr/bin/pdfannotextractor +/usr/bin/pdfatfi +/usr/bin/pdfattach +/usr/bin/pdfbook2 +/usr/bin/pdfclose +/usr/bin/pdfcrop +/usr/bin/pdfcslatex +/usr/bin/pdfcsplain +/usr/bin/pdfdetach +/usr/bin/pdfetex +/usr/bin/pdffonts +/usr/bin/pdfimages +/usr/bin/pdfinfo +/usr/bin/pdfjadetex +/usr/bin/pdfjam +/usr/bin/pdflatex +/usr/bin/pdflatex-dev +/usr/bin/pdflatexpicscale +/usr/bin/pdfmex +/usr/bin/pdfopen +/usr/bin/pdfseparate +/usr/bin/pdfsig +/usr/bin/pdftex +/usr/bin/pdftex-quiet +/usr/bin/pdftexi2dvi +/usr/bin/pdftocairo +/usr/bin/pdftohtml +/usr/bin/pdftoppm +/usr/bin/pdftops +/usr/bin/pdftosrc +/usr/bin/pdftotext +/usr/bin/pdftrimwhite +/usr/bin/pdfunite +/usr/bin/pdfxmltex +/usr/bin/pdfxup +/usr/bin/pdvitomp +/usr/bin/pdvitype +/usr/bin/pedigree +/usr/bin/peekfd +/usr/bin/perl +/usr/bin/perl5.34-x86_64-linux-gnu +/usr/bin/perl5.34.0 +/usr/bin/perlbug +/usr/bin/perldoc +/usr/bin/perlivp +/usr/bin/perltex +/usr/bin/perlthanks +/usr/bin/pf2afm +/usr/bin/pfarrei +/usr/bin/pfb2pfa +/usr/bin/pfb2t1c +/usr/bin/pfbtopfa +/usr/bin/pgmbentley +/usr/bin/pgmcrater +/usr/bin/pgmedge +/usr/bin/pgmenhance +/usr/bin/pgmhist +/usr/bin/pgmkernel +/usr/bin/pgmnoise +/usr/bin/pgmnorm +/usr/bin/pgmoil +/usr/bin/pgmramp +/usr/bin/pgmslice +/usr/bin/pgmtexture +/usr/bin/pgmtofs +/usr/bin/pgmtolispm +/usr/bin/pgmtopbm +/usr/bin/pgmtoppm +/usr/bin/pgrep +/usr/bin/pi1toppm +/usr/bin/pi3topbm +/usr/bin/pic +/usr/bin/pico +/usr/bin/piconv +/usr/bin/pidof +/usr/bin/pidwait +/usr/bin/pinentry +/usr/bin/pinentry-curses +/usr/bin/ping +/usr/bin/ping4 +/usr/bin/ping6 +/usr/bin/pinky +/usr/bin/pip +/usr/bin/pip3 +/usr/bin/pip3.10 +/usr/bin/pjtoppm +/usr/bin/pk2bm +/usr/bin/pkaction +/usr/bin/pkcheck +/usr/bin/pkcon +/usr/bin/pkexec +/usr/bin/pkfix +/usr/bin/pkfix-helper +/usr/bin/pkg-config +/usr/bin/pkill +/usr/bin/pkmon +/usr/bin/pktogf +/usr/bin/pkttyagent +/usr/bin/pktype +/usr/bin/pl2pm +/usr/bin/platex +/usr/bin/platex-dev +/usr/bin/pldd +/usr/bin/pltotf +/usr/bin/plymouth +/usr/bin/pmap +/usr/bin/pmpost +/usr/bin/pmxab +/usr/bin/pmxchords +/usr/bin/pn2pdf +/usr/bin/pngtopnm +/usr/bin/pnmalias +/usr/bin/pnmarith +/usr/bin/pnmcat +/usr/bin/pnmcolormap +/usr/bin/pnmcomp +/usr/bin/pnmconvol +/usr/bin/pnmcrop +/usr/bin/pnmcut +/usr/bin/pnmdepth +/usr/bin/pnmenlarge +/usr/bin/pnmfile +/usr/bin/pnmflip +/usr/bin/pnmgamma +/usr/bin/pnmhisteq +/usr/bin/pnmhistmap +/usr/bin/pnmindex +/usr/bin/pnminterp +/usr/bin/pnminterp-gen +/usr/bin/pnminvert +/usr/bin/pnmmargin +/usr/bin/pnmmontage +/usr/bin/pnmnlfilt +/usr/bin/pnmnoraw +/usr/bin/pnmnorm +/usr/bin/pnmpad +/usr/bin/pnmpaste +/usr/bin/pnmpsnr +/usr/bin/pnmquant +/usr/bin/pnmremap +/usr/bin/pnmrotate +/usr/bin/pnmscale +/usr/bin/pnmscalefixed +/usr/bin/pnmshear +/usr/bin/pnmsmooth +/usr/bin/pnmsplit +/usr/bin/pnmtile +/usr/bin/pnmtoddif +/usr/bin/pnmtofiasco +/usr/bin/pnmtofits +/usr/bin/pnmtojpeg +/usr/bin/pnmtopalm +/usr/bin/pnmtoplainpnm +/usr/bin/pnmtopng +/usr/bin/pnmtops +/usr/bin/pnmtorast +/usr/bin/pnmtorle +/usr/bin/pnmtosgi +/usr/bin/pnmtosir +/usr/bin/pnmtotiff +/usr/bin/pnmtotiffcmyk +/usr/bin/pnmtoxwd +/usr/bin/pod2html +/usr/bin/pod2man +/usr/bin/pod2texi +/usr/bin/pod2text +/usr/bin/pod2usage +/usr/bin/podchecker +/usr/bin/pooltype +/usr/bin/pphs +/usr/bin/ppltotf +/usr/bin/ppm3d +/usr/bin/ppmbrighten +/usr/bin/ppmchange +/usr/bin/ppmcie +/usr/bin/ppmcolormask +/usr/bin/ppmcolors +/usr/bin/ppmdim +/usr/bin/ppmdist +/usr/bin/ppmdither +/usr/bin/ppmfade +/usr/bin/ppmflash +/usr/bin/ppmforge +/usr/bin/ppmhist +/usr/bin/ppmlabel +/usr/bin/ppmmake +/usr/bin/ppmmix +/usr/bin/ppmnorm +/usr/bin/ppmntsc +/usr/bin/ppmpat +/usr/bin/ppmquant +/usr/bin/ppmquantall +/usr/bin/ppmqvga +/usr/bin/ppmrainbow +/usr/bin/ppmrelief +/usr/bin/ppmshadow +/usr/bin/ppmshift +/usr/bin/ppmspread +/usr/bin/ppmtoacad +/usr/bin/ppmtobmp +/usr/bin/ppmtoeyuv +/usr/bin/ppmtogif +/usr/bin/ppmtoicr +/usr/bin/ppmtoilbm +/usr/bin/ppmtojpeg +/usr/bin/ppmtoleaf +/usr/bin/ppmtolj +/usr/bin/ppmtomap +/usr/bin/ppmtomitsu +/usr/bin/ppmtompeg +/usr/bin/ppmtoneo +/usr/bin/ppmtopcx +/usr/bin/ppmtopgm +/usr/bin/ppmtopi1 +/usr/bin/ppmtopict +/usr/bin/ppmtopj +/usr/bin/ppmtopuzz +/usr/bin/ppmtorgb3 +/usr/bin/ppmtosixel +/usr/bin/ppmtotga +/usr/bin/ppmtouil +/usr/bin/ppmtowinicon +/usr/bin/ppmtoxpm +/usr/bin/ppmtoyuv +/usr/bin/ppmtoyuvsplit +/usr/bin/ppmtv +/usr/bin/pr +/usr/bin/preconv +/usr/bin/prepmx +/usr/bin/prerex +/usr/bin/printafm +/usr/bin/printenv +/usr/bin/printf +/usr/bin/prlimit +/usr/bin/pro +/usr/bin/prove +/usr/bin/prtstat +/usr/bin/prune +/usr/bin/ps +/usr/bin/ps2ascii +/usr/bin/ps2eps +/usr/bin/ps2epsi +/usr/bin/ps2frag +/usr/bin/ps2pdf +/usr/bin/ps2pdf12 +/usr/bin/ps2pdf13 +/usr/bin/ps2pdf14 +/usr/bin/ps2pdfwr +/usr/bin/ps2pk +/usr/bin/ps2ps +/usr/bin/ps2ps2 +/usr/bin/ps2txt +/usr/bin/ps4pdf +/usr/bin/psbook +/usr/bin/psfaddtable +/usr/bin/psfgettable +/usr/bin/psfstriptable +/usr/bin/psfxtable +/usr/bin/psidtopgm +/usr/bin/psjoin +/usr/bin/pslatex +/usr/bin/pslog +/usr/bin/psmerge +/usr/bin/psnup +/usr/bin/psresize +/usr/bin/psselect +/usr/bin/pst2pdf +/usr/bin/pstoedit +/usr/bin/pstopnm +/usr/bin/pstops +/usr/bin/pstree +/usr/bin/pstree.x11 +/usr/bin/ptar +/usr/bin/ptardiff +/usr/bin/ptargrep +/usr/bin/ptex +/usr/bin/ptex2pdf +/usr/bin/ptftopl +/usr/bin/ptx +/usr/bin/purge-old-kernels +/usr/bin/purifyeps +/usr/bin/pwd +/usr/bin/pwdx +/usr/bin/py3clean +/usr/bin/py3compile +/usr/bin/py3versions +/usr/bin/pydoc3 +/usr/bin/pydoc3.10 +/usr/bin/pygettext3 +/usr/bin/pygettext3.10 +/usr/bin/python +/usr/bin/python3 +/usr/bin/python3-config +/usr/bin/python3-unit2 +/usr/bin/python3.10 +/usr/bin/python3.10-config +/usr/bin/pythontex +/usr/bin/qrttoppm +/usr/bin/r-mpost +/usr/bin/r-pmpost +/usr/bin/r-upmpost +/usr/bin/racc3.0 +/usr/bin/rake +/usr/bin/rake3.0 +/usr/bin/ranlib +/usr/bin/rasttopnm +/usr/bin/rawtopgm +/usr/bin/rawtoppm +/usr/bin/rbash +/usr/bin/rbs3.0 +/usr/bin/rcp +/usr/bin/rdma +/usr/bin/rdoc +/usr/bin/rdoc3.0 +/usr/bin/readelf +/usr/bin/readlink +/usr/bin/realpath +/usr/bin/red +/usr/bin/renice +/usr/bin/repstopdf +/usr/bin/reset +/usr/bin/resize +/usr/bin/resizecons +/usr/bin/resizepart +/usr/bin/resolvectl +/usr/bin/rev +/usr/bin/rgb3toppm +/usr/bin/rgrep +/usr/bin/ri +/usr/bin/ri3.0 +/usr/bin/rletopnm +/usr/bin/rlogin +/usr/bin/rm +/usr/bin/rmdir +/usr/bin/rnano +/usr/bin/routef +/usr/bin/routel +/usr/bin/rpcgen +/usr/bin/rpdfcrop +/usr/bin/rrsync +/usr/bin/rsh +/usr/bin/rsync +/usr/bin/rsync-ssl +/usr/bin/rtstat +/usr/bin/rubibtex +/usr/bin/rubikrotation +/usr/bin/ruby +/usr/bin/ruby3.0 +/usr/bin/rumakeindex +/usr/bin/run-one +/usr/bin/run-one-constantly +/usr/bin/run-one-until-failure +/usr/bin/run-one-until-success +/usr/bin/run-parts +/usr/bin/run-this-one +/usr/bin/runcon +/usr/bin/rungs +/usr/bin/rview +/usr/bin/rvim +/usr/bin/savelog +/usr/bin/sbigtopgm +/usr/bin/sccmap +/usr/bin/scor2prt +/usr/bin/scp +/usr/bin/screen +/usr/bin/screendump +/usr/bin/script +/usr/bin/scriptlive +/usr/bin/scriptreplay +/usr/bin/sdiff +/usr/bin/sed +/usr/bin/select-default-iwrap +/usr/bin/select-editor +/usr/bin/sensible-browser +/usr/bin/sensible-editor +/usr/bin/sensible-pager +/usr/bin/seq +/usr/bin/session-migration +/usr/bin/sessreg +/usr/bin/setarch +/usr/bin/setfont +/usr/bin/setkeycodes +/usr/bin/setleds +/usr/bin/setlogcons +/usr/bin/setmetamode +/usr/bin/setpci +/usr/bin/setpriv +/usr/bin/setsid +/usr/bin/setterm +/usr/bin/setupcon +/usr/bin/sfconv +/usr/bin/sfdp +/usr/bin/sftp +/usr/bin/sg +/usr/bin/sgitopnm +/usr/bin/sh +/usr/bin/sha1sum +/usr/bin/sha224sum +/usr/bin/sha256sum +/usr/bin/sha384sum +/usr/bin/sha512sum +/usr/bin/shasum +/usr/bin/showchar +/usr/bin/showconsolefont +/usr/bin/showkey +/usr/bin/showrgb +/usr/bin/shred +/usr/bin/shuf +/usr/bin/simpdftex +/usr/bin/sirtopnm +/usr/bin/size +/usr/bin/sjisconv +/usr/bin/sjislatex +/usr/bin/sjispdflatex +/usr/bin/skill +/usr/bin/slabtop +/usr/bin/sldtoppm +/usr/bin/sleep +/usr/bin/slogin +/usr/bin/snap +/usr/bin/snapctl +/usr/bin/snapfuse +/usr/bin/snice +/usr/bin/soelim +/usr/bin/sort +/usr/bin/sotruss +/usr/bin/spctoppm +/usr/bin/splain +/usr/bin/split +/usr/bin/splitfont +/usr/bin/splitindex +/usr/bin/sprof +/usr/bin/sputoppm +/usr/bin/sqfscat +/usr/bin/sqfstar +/usr/bin/srcredact +/usr/bin/ss +/usr/bin/ssh +/usr/bin/ssh-add +/usr/bin/ssh-agent +/usr/bin/ssh-argv0 +/usr/bin/ssh-copy-id +/usr/bin/ssh-keygen +/usr/bin/ssh-keyscan +/usr/bin/st4topgm +/usr/bin/stat +/usr/bin/static-sh +/usr/bin/stdbuf +/usr/bin/stl2gts +/usr/bin/strace +/usr/bin/strace-log-merge +/usr/bin/stream +/usr/bin/stream-im6 +/usr/bin/stream-im6.q16 +/usr/bin/streamzip +/usr/bin/strings +/usr/bin/strip +/usr/bin/stty +/usr/bin/sty2dtx +/usr/bin/su +/usr/bin/sudo +/usr/bin/sudoedit +/usr/bin/sudoreplay +/usr/bin/sum +/usr/bin/svn-multi +/usr/bin/sync +/usr/bin/synctex +/usr/bin/systemctl +/usr/bin/systemd +/usr/bin/systemd-analyze +/usr/bin/systemd-ask-password +/usr/bin/systemd-cat +/usr/bin/systemd-cgls +/usr/bin/systemd-cgtop +/usr/bin/systemd-cryptenroll +/usr/bin/systemd-delta +/usr/bin/systemd-detect-virt +/usr/bin/systemd-escape +/usr/bin/systemd-hwdb +/usr/bin/systemd-id128 +/usr/bin/systemd-inhibit +/usr/bin/systemd-machine-id-setup +/usr/bin/systemd-mount +/usr/bin/systemd-notify +/usr/bin/systemd-path +/usr/bin/systemd-run +/usr/bin/systemd-socket-activate +/usr/bin/systemd-stdio-bridge +/usr/bin/systemd-sysext +/usr/bin/systemd-sysusers +/usr/bin/systemd-tmpfiles +/usr/bin/systemd-tty-ask-password-agent +/usr/bin/systemd-umount +/usr/bin/t1ascii +/usr/bin/t1asm +/usr/bin/t1binary +/usr/bin/t1c2pfb +/usr/bin/t1disasm +/usr/bin/t1dotlessj +/usr/bin/t1lint +/usr/bin/t1mac +/usr/bin/t1rawafm +/usr/bin/t1reencode +/usr/bin/t1testpage +/usr/bin/t1unmac +/usr/bin/t4ht +/usr/bin/tabs +/usr/bin/tac +/usr/bin/tail +/usr/bin/tangle +/usr/bin/tar +/usr/bin/taskset +/usr/bin/tbl +/usr/bin/tclsh +/usr/bin/tclsh8.6 +/usr/bin/tcpdump +/usr/bin/teckit_compile +/usr/bin/tee +/usr/bin/telnet +/usr/bin/telnet.netkit +/usr/bin/tempfile +/usr/bin/test +/usr/bin/tex +/usr/bin/tex2aspc +/usr/bin/tex4ebook +/usr/bin/tex4ht +/usr/bin/texconfig +/usr/bin/texconfig-dialog +/usr/bin/texconfig-sys +/usr/bin/texcount +/usr/bin/texdef +/usr/bin/texdiff +/usr/bin/texdirflatten +/usr/bin/texdoc +/usr/bin/texdoctk +/usr/bin/texexec +/usr/bin/texfind +/usr/bin/texfont +/usr/bin/texfot +/usr/bin/texhash +/usr/bin/texi2any +/usr/bin/texi2dvi +/usr/bin/texi2pdf +/usr/bin/texindex +/usr/bin/texlinks +/usr/bin/texliveonfly +/usr/bin/texloganalyser +/usr/bin/texlua +/usr/bin/texluac +/usr/bin/texluajit +/usr/bin/texluajitc +/usr/bin/texmfstart +/usr/bin/texosquery +/usr/bin/texosquery-jre5 +/usr/bin/texosquery-jre8 +/usr/bin/texplate +/usr/bin/texsis +/usr/bin/tftopl +/usr/bin/tgatoppm +/usr/bin/thinkjettopbm +/usr/bin/thumbpdf +/usr/bin/tic +/usr/bin/tie +/usr/bin/tifftopnm +/usr/bin/tikztosvg +/usr/bin/tilix +/usr/bin/tilix.wrapper +/usr/bin/time +/usr/bin/timedatectl +/usr/bin/timeout +/usr/bin/tl-paper +/usr/bin/tlmgr +/usr/bin/tload +/usr/bin/tmux +/usr/bin/tnftp +/usr/bin/toe +/usr/bin/top +/usr/bin/touch +/usr/bin/tpic2pdftex +/usr/bin/tput +/usr/bin/tr +/usr/bin/tracepath +/usr/bin/transform +/usr/bin/translit +/usr/bin/tred +/usr/bin/troff +/usr/bin/true +/usr/bin/truncate +/usr/bin/tset +/usr/bin/tsort +/usr/bin/ttf2afm +/usr/bin/ttf2kotexfont +/usr/bin/ttf2pk +/usr/bin/ttf2tfm +/usr/bin/ttfdump +/usr/bin/ttftotype42 +/usr/bin/tty +/usr/bin/twopi +/usr/bin/txixml2texi +/usr/bin/txtconv +/usr/bin/typeoutfileinfo +/usr/bin/typeprof3.0 +/usr/bin/tzselect +/usr/bin/ua +/usr/bin/ubuntu-advantage +/usr/bin/ubuntu-bug +/usr/bin/ubuntu-core-launcher +/usr/bin/ubuntu-distro-info +/usr/bin/ubuntu-security-status +/usr/bin/ucf +/usr/bin/ucfq +/usr/bin/ucfr +/usr/bin/uclampset +/usr/bin/ucs2any +/usr/bin/udevadm +/usr/bin/ul +/usr/bin/ulqda +/usr/bin/umount +/usr/bin/uname +/usr/bin/unattended-upgrade +/usr/bin/unattended-upgrades +/usr/bin/uncompress +/usr/bin/unexpand +/usr/bin/unflatten +/usr/bin/unicode_start +/usr/bin/unicode_stop +/usr/bin/uniq +/usr/bin/unit2 +/usr/bin/unlink +/usr/bin/unlzma +/usr/bin/unshare +/usr/bin/unsquashfs +/usr/bin/unxz +/usr/bin/unzip +/usr/bin/unzipsfx +/usr/bin/upbibtex +/usr/bin/update-alternatives +/usr/bin/update-mime-database +/usr/bin/update-perl-sax-parsers +/usr/bin/update_rubygems +/usr/bin/updmap +/usr/bin/updmap-sys +/usr/bin/updmap-user +/usr/bin/updvitomp +/usr/bin/updvitype +/usr/bin/uplatex +/usr/bin/uplatex-dev +/usr/bin/upmendex +/usr/bin/upmpost +/usr/bin/uppltotf +/usr/bin/uptex +/usr/bin/uptftopl +/usr/bin/uptime +/usr/bin/urlbst +/usr/bin/usb-devices +/usr/bin/usbhid-dump +/usr/bin/usbreset +/usr/bin/users +/usr/bin/utf8mex +/usr/bin/utmpdump +/usr/bin/uuidgen +/usr/bin/uuidparse +/usr/bin/uxterm +/usr/bin/vdir +/usr/bin/vftovp +/usr/bin/vi +/usr/bin/view +/usr/bin/viewres +/usr/bin/vigpg +/usr/bin/vim +/usr/bin/vim.basic +/usr/bin/vim.tiny +/usr/bin/vimdiff +/usr/bin/vimdot +/usr/bin/vimtutor +/usr/bin/vlna +/usr/bin/vmstat +/usr/bin/vpe +/usr/bin/vpl2ovp +/usr/bin/vpl2vpl +/usr/bin/vprerex +/usr/bin/vptovf +/usr/bin/w +/usr/bin/wall +/usr/bin/watch +/usr/bin/watchgnupg +/usr/bin/wbmptopbm +/usr/bin/wc +/usr/bin/wdctl +/usr/bin/weave +/usr/bin/webquiz +/usr/bin/wget +/usr/bin/whatis +/usr/bin/whereis +/usr/bin/which +/usr/bin/which.debianutils +/usr/bin/whiptail +/usr/bin/who +/usr/bin/whoami +/usr/bin/wifi-status +/usr/bin/winicontoppm +/usr/bin/wish +/usr/bin/wish8.6 +/usr/bin/wofm2opl +/usr/bin/wopl2ofm +/usr/bin/wovf2ovp +/usr/bin/wovp2ovf +/usr/bin/write +/usr/bin/write.ul +/usr/bin/wslinfo +/usr/bin/wslpath +/usr/bin/x-terminal-emulator +/usr/bin/x-www-browser +/usr/bin/x86_64 +/usr/bin/x86_64-linux-gnu-addr2line +/usr/bin/x86_64-linux-gnu-ar +/usr/bin/x86_64-linux-gnu-as +/usr/bin/x86_64-linux-gnu-c++filt +/usr/bin/x86_64-linux-gnu-cpp +/usr/bin/x86_64-linux-gnu-cpp-11 +/usr/bin/x86_64-linux-gnu-dwp +/usr/bin/x86_64-linux-gnu-elfedit +/usr/bin/x86_64-linux-gnu-g++ +/usr/bin/x86_64-linux-gnu-g++-11 +/usr/bin/x86_64-linux-gnu-gcc +/usr/bin/x86_64-linux-gnu-gcc-11 +/usr/bin/x86_64-linux-gnu-gcc-ar +/usr/bin/x86_64-linux-gnu-gcc-ar-11 +/usr/bin/x86_64-linux-gnu-gcc-nm +/usr/bin/x86_64-linux-gnu-gcc-nm-11 +/usr/bin/x86_64-linux-gnu-gcc-ranlib +/usr/bin/x86_64-linux-gnu-gcc-ranlib-11 +/usr/bin/x86_64-linux-gnu-gcov +/usr/bin/x86_64-linux-gnu-gcov-11 +/usr/bin/x86_64-linux-gnu-gcov-dump +/usr/bin/x86_64-linux-gnu-gcov-dump-11 +/usr/bin/x86_64-linux-gnu-gcov-tool +/usr/bin/x86_64-linux-gnu-gcov-tool-11 +/usr/bin/x86_64-linux-gnu-gold +/usr/bin/x86_64-linux-gnu-gprof +/usr/bin/x86_64-linux-gnu-ld +/usr/bin/x86_64-linux-gnu-ld.bfd +/usr/bin/x86_64-linux-gnu-ld.gold +/usr/bin/x86_64-linux-gnu-lto-dump-11 +/usr/bin/x86_64-linux-gnu-nm +/usr/bin/x86_64-linux-gnu-objcopy +/usr/bin/x86_64-linux-gnu-objdump +/usr/bin/x86_64-linux-gnu-pkg-config +/usr/bin/x86_64-linux-gnu-python3-config +/usr/bin/x86_64-linux-gnu-python3.10-config +/usr/bin/x86_64-linux-gnu-ranlib +/usr/bin/x86_64-linux-gnu-readelf +/usr/bin/x86_64-linux-gnu-size +/usr/bin/x86_64-linux-gnu-strings +/usr/bin/x86_64-linux-gnu-strip +/usr/bin/x86_64-pc-linux-gnu-pkg-config +/usr/bin/xargs +/usr/bin/xauth +/usr/bin/xbmtopbm +/usr/bin/xcmsdb +/usr/bin/xdg-desktop-icon +/usr/bin/xdg-desktop-menu +/usr/bin/xdg-email +/usr/bin/xdg-icon-resource +/usr/bin/xdg-mime +/usr/bin/xdg-open +/usr/bin/xdg-screensaver +/usr/bin/xdg-settings +/usr/bin/xdg-user-dir +/usr/bin/xdg-user-dirs-update +/usr/bin/xdpyinfo +/usr/bin/xdriinfo +/usr/bin/xdvi +/usr/bin/xdvi-xaw +/usr/bin/xdvi.bin +/usr/bin/xdvipdfmx +/usr/bin/xelatex +/usr/bin/xelatex-dev +/usr/bin/xetex +/usr/bin/xev +/usr/bin/xfd +/usr/bin/xfontsel +/usr/bin/xgamma +/usr/bin/xhlatex +/usr/bin/xhost +/usr/bin/ximtoppm +/usr/bin/xindex +/usr/bin/xkeystone +/usr/bin/xkill +/usr/bin/xlsatoms +/usr/bin/xlsclients +/usr/bin/xlsfonts +/usr/bin/xmessage +/usr/bin/xml2pmx +/usr/bin/xmltex +/usr/bin/xmodmap +/usr/bin/xpdf +/usr/bin/xpdf.real +/usr/bin/xpmtoppm +/usr/bin/xprop +/usr/bin/xrandr +/usr/bin/xrdb +/usr/bin/xrefresh +/usr/bin/xset +/usr/bin/xsetmode +/usr/bin/xsetpointer +/usr/bin/xsetroot +/usr/bin/xstdcmap +/usr/bin/xsubpp +/usr/bin/xterm +/usr/bin/xvidtune +/usr/bin/xvinfo +/usr/bin/xvminitoppm +/usr/bin/xwdtopnm +/usr/bin/xwininfo +/usr/bin/xxd +/usr/bin/xz +/usr/bin/xzcat +/usr/bin/xzcmp +/usr/bin/xzdiff +/usr/bin/xzegrep +/usr/bin/xzfgrep +/usr/bin/xzgrep +/usr/bin/xzless +/usr/bin/xzmore +/usr/bin/ybmtopbm +/usr/bin/yes +/usr/bin/ypdomainname +/usr/bin/yplan +/usr/bin/yuvsplittoppm +/usr/bin/yuvtoppm +/usr/bin/zcat +/usr/bin/zcmp +/usr/bin/zdiff +/usr/bin/zdump +/usr/bin/zegrep +/usr/bin/zeisstopnm +/usr/bin/zfgrep +/usr/bin/zforce +/usr/bin/zgrep +/usr/bin/zip +/usr/bin/zipcloak +/usr/bin/zipdetails +/usr/bin/zipgrep +/usr/bin/zipinfo +/usr/bin/zipnote +/usr/bin/zipsplit +/usr/bin/zless +/usr/bin/zmore +/usr/bin/znew + +/usr/bin/X11: +2to3 +411toppm +GET +HEAD +JxrDecApp +JxrEncApp +NF +POST +X11 +[ +a2ping +a5booklet +a5toa4 +aa-enabled +aa-exec +aa-features-abi +aclocal +aclocal-1.16 +acyclic +add-apt-repository +addpart +addr2line +adhocfilelist +afm2afm +afm2pl +afm2tfm +aleph +allcm +allec +allneeded +amstex +animate +animate-im6 +animate-im6.q16 +anytopnm +apport-bug +apport-cli +apport-collect +apport-unpack +appres +apropos +apt +apt-add-repository +apt-cache +apt-cdrom +apt-config +apt-extracttemplates +apt-ftparchive +apt-get +apt-key +apt-mark +apt-sortpkgs +ar +arara +arch +arlatex +as +asciitopgm +asy +atktopbm +authorindex +autoconf +autoheader +autoinst +autom4te +automake +automake-1.16 +autoreconf +autoscan +autosp +autoupdate +awk +axohelp +b2sum +base32 +base64 +basename +basenc +bash +bashbug +bbl2bib +bbox +bc +bcomps +bdftopcf +bdftruncate +bg5+latex +bg5+pdflatex +bg5conv +bg5latex +bg5pdflatex +bib2gls +bibdoiadd +biber +bibexport +bibmradd +bibtex +bibtex.original +bibtex8 +bibtexu +biburl2doi +bibzbladd +bioradtopgm +bmptopnm +bmptoppm +bootctl +broadwayd +browse +brushtopbm +bundle3.0 +bundledoc +bundler3.0 +bunzip2 +busctl +busybox +byobu +byobu-config +byobu-ctrl-a +byobu-disable +byobu-disable-prompt +byobu-enable +byobu-enable-prompt +byobu-export +byobu-janitor +byobu-keybindings +byobu-launch +byobu-launcher +byobu-launcher-install +byobu-launcher-uninstall +byobu-layout +byobu-prompt +byobu-quiet +byobu-reconnect-sockets +byobu-screen +byobu-select-backend +byobu-select-profile +byobu-select-session +byobu-shell +byobu-silent +byobu-status +byobu-status-detail +byobu-tmux +byobu-ugraph +byobu-ulevel +bzcat +bzcmp +bzdiff +bzegrep +bzexe +bzfgrep +bzgrep +bzip2 +bzip2recover +bzless +bzmore +c++ +c++filt +c89 +c89-gcc +c99 +c99-gcc +c_rehash +cachepic +cal +cancel +captoinfo +cat +catman +cc +ccomps +cef5conv +cef5latex +cef5pdflatex +cefconv +ceflatex +cefpdflatex +cefsconv +cefslatex +cefspdflatex +cfftot1 +chage +chattr +chcon +checkcites +checklistings +chfn +chgrp +chkdvifont +chklref +chktex +chkweb +chmod +choom +chown +chromedriver +chromium-browser +chrt +chsh +chvt +circo +cjk-gs-integrate +ckbcomp +cksum +clear +clear_console +cluster +cluttex +cmp +cmuwmtopbm +codepage +col +col1 +col2 +col3 +col4 +col5 +col6 +col7 +col8 +col9 +colcrt +colrm +column +comm +compare +compare-im6 +compare-im6.q16 +composite +composite-im6 +composite-im6.q16 +conjure +conjure-im6 +conjure-im6.q16 +context +contextjit +convbkmk +convert +convert-im6 +convert-im6.q16 +convertgls2bib +corelist +cp +cpan +cpan5.34-x86_64-linux-gnu +cpio +cpp +cpp-11 +crontab +cslatex +csplain +csplit +ctail +ctan-o-mat +ctanbib +ctangle +ctanify +ctanupload +ctie +ctstat +ctwill +ctwill-refsort +ctwill-twinx +cupstestppd +curl +cut +cvtsudoers +cweave +dash +date +dbus-cleanup-sockets +dbus-daemon +dbus-launch +dbus-monitor +dbus-run-session +dbus-send +dbus-update-activation-environment +dbus-uuidgen +dd +deallocvt +deb-systemd-helper +deb-systemd-invoke +debconf +debconf-apt-progress +debconf-communicate +debconf-copydb +debconf-escape +debconf-set-selections +debconf-show +debian-distro-info +delaunay +delpart +delv +depythontex +detex +devnag +deweb +df +dh_autotools-dev_restoreconfig +dh_autotools-dev_updateconfig +dh_bash-completion +dh_installtex +dh_perl_openssl +diadia +diff +diff3 +diffimg +dig +dijkstra +dir +dircolors +dirmngr +dirmngr-client +dirname +disdvi +display +display-im6 +display-im6.q16 +distro-info +dmesg +dnsdomainname +do-release-upgrade +domainname +dosepsbin +dot +dot2gxl +dot_builtins +dotty +dpkg +dpkg-architecture +dpkg-buildflags +dpkg-buildpackage +dpkg-checkbuilddeps +dpkg-deb +dpkg-distaddfile +dpkg-divert +dpkg-genbuildinfo +dpkg-genchanges +dpkg-gencontrol +dpkg-gensymbols +dpkg-maintscript-helper +dpkg-mergechangelogs +dpkg-name +dpkg-parsechangelog +dpkg-query +dpkg-realpath +dpkg-scanpackages +dpkg-scansources +dpkg-shlibdeps +dpkg-source +dpkg-split +dpkg-statoverride +dpkg-trigger +dpkg-vendor +dt2dv +dtxgen +du +dumpkeys +dv2dt +dvi2fax +dvi2tty +dviasm +dvibook +dviconcat +dvicopy +dvidvi +dvigif +dvihp +dviinfox +dvilj +dvilj2p +dvilj4 +dvilj4l +dvilj6 +dvilualatex +dvilualatex-dev +dviluatex +dvipdf +dvipdfm +dvipdfmx +dvipdft +dvipng +dvipos +dvips +dvired +dviselect +dvispc +dvisvgm +dvitodvi +dvitomp +dvitype +dwp +e2pall +ebb +echo +ed +edgepaint +editor +editres +egrep +eject +elfedit +enc2xs +encguess +env +envsubst +eplain +eps2eps +epsffit +epspdf +epspdftk +epstopdf +eptex +eqn +erb +erb3.0 +etex +euptex +ex +exceltex +expand +expiry +expr +extconv +extractbb +extractres +eyuvtoppm +factor +faillog +faked-sysv +faked-tcp +fakeroot +fakeroot-sysv +fakeroot-tcp +fallocate +false +fc-cache +fc-cat +fc-conflist +fc-list +fc-match +fc-pattern +fc-query +fc-scan +fc-validate +fdp +feynmf +fgconsole +fgrep +fiascotopnm +fig4latex +file +fincore +find +findhyph +findmnt +findrule +fitstopnm +fixdlsrps +fixfmps +fixpsditps +fixpspps +fixscribeps +fixtpps +fixwfwps +fixwpps +fixwwps +flock +fmt +fmtutil +fmtutil-sys +fmtutil-user +fold +fontinst +fonttosfnt +fragmaster +free +fstopgm +ftp +funzip +fuser +fusermount +fusermount3 +g++ +g++-11 +g3topbm +gapplication +gawk +gbklatex +gbkpdflatex +gc +gcc +gcc-11 +gcc-ar +gcc-ar-11 +gcc-nm +gcc-nm-11 +gcc-ranlib +gcc-ranlib-11 +gcov +gcov-11 +gcov-dump +gcov-dump-11 +gcov-tool +gcov-tool-11 +gdbus +gdk-pixbuf-csource +gdk-pixbuf-pixdata +gdk-pixbuf-thumbnailer +gem +gem3.0 +gemtopbm +gemtopnm +gencat +geqn +getafm +getconf +getent +getkeycodes +getmapdl +getopt +gettext +gettext.sh +gftodvi +gftopk +gftype +ghostscript +giftopnm +ginstall-info +gio +gio-querymodules +git +git-latexdiff +git-lfs +git-receive-pack +git-shell +git-upload-archive +git-upload-pack +glib-compile-schemas +gmake +gml2gv +gnome-www-browser +gold +gouldtoppm +gpasswd +gpg +gpg-agent +gpg-connect-agent +gpg-wks-server +gpg-zip +gpgcompose +gpgconf +gpgparsemail +gpgsm +gpgsplit +gpgtar +gpgv +gpic +gprof +graphml2gv +gregorio +grep +gresource +groff +grog +grops +grotty +groups +gs +gsbj +gsdj +gsdj500 +gsettings +gsftopk +gslj +gslp +gsnd +gtbl +gtk-builder-tool +gtk-encode-symbolic-svg +gtk-launch +gtk-query-settings +gtk-update-icon-cache +gts-config +gts2dxf +gts2oogl +gts2stl +gts2xyz +gtscheck +gtscompare +gtstemplate +gunzip +gv2gml +gv2gxl +gvcolor +gvgen +gvmap +gvmap.sh +gvpack +gvpr +gxl2dot +gxl2gv +gzexe +gzip +h2ph +h2xs +hardlink +hbf2gf +hd +head +helpztags +hexdump +hipstopgm +host +hostid +hostname +hostnamectl +ht +htcontext +htlatex +htmex +htop +httex +httexi +htxelatex +htxetex +hwe-support-status +i386 +iceauth +icontopbm +iconv +id +identify +identify-im6 +identify-im6.q16 +idle +idle-python3.10 +ifnames +ilbmtoppm +imagetops +imgtoppm +import +import-im6 +import-im6.q16 +includeres +info +infobrowser +infocmp +infotocap +inimf +initex +install +install-info +installfont-tl +instmodsh +ionice +ip +ipcmk +ipcrm +ipcs +iptables-xml +irb +irb3.0 +ischroot +ispell-wrapper +jadetex +jamo-normalize +jfmutil +join +journalctl +jpegtopnm +json_pp +json_xs +kanji-config-updmap +kanji-config-updmap-sys +kanji-config-updmap-user +kanji-fontmap-creator +kbd_mode +kbdinfo +kbxutil +keep-one-running +kernel-install +ketcindy +keyring +kill +killall +kmod +koi8rxterm +komkindex +kpseaccess +kpsepath +kpsereadlink +kpsestat +kpsetool +kpsewhere +kpsewhich +kpsexpand +l3build +l4p-tmpl +lacheck +last +lastb +lastlog +latex +latex-dev +latex-git-log +latex-papersize +latex-wordcount +latex2man +latex2nemeth +latexdef +latexdiff +latexdiff-cvs +latexdiff-fast +latexdiff-git +latexdiff-hg +latexdiff-rcs +latexdiff-svn +latexdiff-vc +latexfileversion +latexindent +latexmk +latexpand +latexrevise +lcf +ld +ld.bfd +ld.gold +ldd +leaftoppm +lefty +less +lessecho +lessfile +lesskey +lesspipe +lexgrog +libnetcfg +libtoolize +libwacom-list-devices +libwacom-list-local-devices +libwacom-show-stylus +libwacom-update-db +link +linux32 +linux64 +lispmtopgm +listbib +listings-ext +listres +ln +lneato +lnstat +loadkeys +loadunimap +locale +locale-check +localectl +localedef +logger +login +loginctl +logname +lollipop +look +lowntfs-3g +lp +lpoptions +lpq +lpr +lprm +lpstat +ls +lsattr +lsb_release +lsblk +lscpu +lshw +lsipc +lslocks +lslogins +lsmem +lsmod +lsns +lsof +lspci +lspgpot +lsusb +lto-dump-11 +ltx2crossrefxml +ltxfileinfo +ltximg +luahbtex +luajithbtex +luajittex +lualatex +lualatex-dev +luaotfload-tool +luatex +luatools +luit +lwarpmk +lwp-download +lwp-dump +lwp-mirror +lwp-request +lxterm +lzcat +lzcmp +lzdiff +lzegrep +lzfgrep +lzgrep +lzless +lzma +lzmainfo +lzmore +m-tx +m4 +macptopbm +mag +make +make-first-existing-target +make4ht +makedtx +makeglossaries +makeglossaries-lite +makeindex +makeinfo +makejvf +man +man-recode +mandb +manifest +manpath +mapscrn +match_parens +mathspic +mawk +mcookie +md5sum +md5sum.textutils +mdatopbm +mdig +memusage +memusagestat +mendex +mesg +mex +mf +mf-nowin +mf2pt1 +mflua +mflua-nowin +mfluajit +mfluajit-nowin +mfplain +mft +mgrtopbm +migrate-pubring-from-classic-gpg +mimeopen +mimetype +mingle +mk4ht +mk_modmap +mkdir +mkfifo +mkfontdir +mkfontscale +mkgrkindex +mkindex +mkjobtexmf +mknod +mkocp +mkofm +mkpic +mksquashfs +mkt1font +mktemp +mktexfmt +mktexlsr +mktexmf +mktexpk +mktextfm +mllatex +mltex +mm2gv +mmafm +mmpfb +mogrify +mogrify-im6 +mogrify-im6.q16 +montage +montage-im6 +montage-im6.q16 +more +mount +mountpoint +mpost +mptopdf +msxlint +mt +mt-gnu +mtr +mtr-packet +mtrace +mtvtoppm +mtxrun +mtxrunjit +multibibliography +musixflx +musixtex +mv +namei +nano +nawk +nc +nc.openbsd +ncal +neato +neotoppm +neqn +netcat +netstat +networkctl +networkd-dispatcher +newgrp +ngettext +nice +nisdomainname +nl +nm +nohup +nop +nproc +nroff +nsenter +nslookup +nstat +nsupdate +ntfs-3g +ntfs-3g.probe +ntfscat +ntfscluster +ntfscmp +ntfsdecrypt +ntfsfallocate +ntfsfix +ntfsinfo +ntfsls +ntfsmove +ntfsrecover +ntfssecaudit +ntfstruncate +ntfsusermap +ntfswipe +numfmt +objcopy +objdump +od +odvicopy +odvitype +oem-getlogs +ofm2opl +omfonts +on_ac_power +open +openjade +openjade-1.4devel +openssl +openvt +opl2ofm +optex +osage +ot2kpx +otangle +otfinfo +otftotfm +otp2ocp +outocp +ovf2ovp +ovp2ovf +pager +palmtopnm +pamcut +pamdeinterlace +pamdice +pamfile +pamoil +pamphletangler +pamstack +pamstretch +pamstretch-gen +paperconf +partx +passwd +paste +pastebinit +patch +patchwork +patgen +pathchk +pbget +pbibtex +pbmclean +pbmlife +pbmmake +pbmmask +pbmpage +pbmpscale +pbmreduce +pbmtext +pbmtextps +pbmto10x +pbmtoascii +pbmtoatk +pbmtobbnbg +pbmtocmuwm +pbmtoepsi +pbmtoepson +pbmtog3 +pbmtogem +pbmtogo +pbmtoicon +pbmtolj +pbmtomacp +pbmtomda +pbmtomgr +pbmtonokia +pbmtopgm +pbmtopi3 +pbmtoplot +pbmtoppa +pbmtopsg3 +pbmtoptx +pbmtowbmp +pbmtox10bm +pbmtoxbm +pbmtoybm +pbmtozinc +pbmupc +pbput +pbputs +pbr +pcxtoppm +pdb3 +pdb3.10 +pdf2dsc +pdf2ps +pdfannotextractor +pdfatfi +pdfattach +pdfbook2 +pdfclose +pdfcrop +pdfcslatex +pdfcsplain +pdfdetach +pdfetex +pdffonts +pdfimages +pdfinfo +pdfjadetex +pdfjam +pdflatex +pdflatex-dev +pdflatexpicscale +pdfmex +pdfopen +pdfseparate +pdfsig +pdftex +pdftex-quiet +pdftexi2dvi +pdftocairo +pdftohtml +pdftoppm +pdftops +pdftosrc +pdftotext +pdftrimwhite +pdfunite +pdfxmltex +pdfxup +pdvitomp +pdvitype +pedigree +peekfd +perl +perl5.34-x86_64-linux-gnu +perl5.34.0 +perlbug +perldoc +perlivp +perltex +perlthanks +pf2afm +pfarrei +pfb2pfa +pfb2t1c +pfbtopfa +pgmbentley +pgmcrater +pgmedge +pgmenhance +pgmhist +pgmkernel +pgmnoise +pgmnorm +pgmoil +pgmramp +pgmslice +pgmtexture +pgmtofs +pgmtolispm +pgmtopbm +pgmtoppm +pgrep +pi1toppm +pi3topbm +pic +pico +piconv +pidof +pidwait +pinentry +pinentry-curses +ping +ping4 +ping6 +pinky +pip +pip3 +pip3.10 +pjtoppm +pk2bm +pkaction +pkcheck +pkcon +pkexec +pkfix +pkfix-helper +pkg-config +pkill +pkmon +pktogf +pkttyagent +pktype +pl2pm +platex +platex-dev +pldd +pltotf +plymouth +pmap +pmpost +pmxab +pmxchords +pn2pdf +pngtopnm +pnmalias +pnmarith +pnmcat +pnmcolormap +pnmcomp +pnmconvol +pnmcrop +pnmcut +pnmdepth +pnmenlarge +pnmfile +pnmflip +pnmgamma +pnmhisteq +pnmhistmap +pnmindex +pnminterp +pnminterp-gen +pnminvert +pnmmargin +pnmmontage +pnmnlfilt +pnmnoraw +pnmnorm +pnmpad +pnmpaste +pnmpsnr +pnmquant +pnmremap +pnmrotate +pnmscale +pnmscalefixed +pnmshear +pnmsmooth +pnmsplit +pnmtile +pnmtoddif +pnmtofiasco +pnmtofits +pnmtojpeg +pnmtopalm +pnmtoplainpnm +pnmtopng +pnmtops +pnmtorast +pnmtorle +pnmtosgi +pnmtosir +pnmtotiff +pnmtotiffcmyk +pnmtoxwd +pod2html +pod2man +pod2texi +pod2text +pod2usage +podchecker +pooltype +pphs +ppltotf +ppm3d +ppmbrighten +ppmchange +ppmcie +ppmcolormask +ppmcolors +ppmdim +ppmdist +ppmdither +ppmfade +ppmflash +ppmforge +ppmhist +ppmlabel +ppmmake +ppmmix +ppmnorm +ppmntsc +ppmpat +ppmquant +ppmquantall +ppmqvga +ppmrainbow +ppmrelief +ppmshadow +ppmshift +ppmspread +ppmtoacad +ppmtobmp +ppmtoeyuv +ppmtogif +ppmtoicr +ppmtoilbm +ppmtojpeg +ppmtoleaf +ppmtolj +ppmtomap +ppmtomitsu +ppmtompeg +ppmtoneo +ppmtopcx +ppmtopgm +ppmtopi1 +ppmtopict +ppmtopj +ppmtopuzz +ppmtorgb3 +ppmtosixel +ppmtotga +ppmtouil +ppmtowinicon +ppmtoxpm +ppmtoyuv +ppmtoyuvsplit +ppmtv +pr +preconv +prepmx +prerex +printafm +printenv +printf +prlimit +pro +prove +prtstat +prune +ps +ps2ascii +ps2eps +ps2epsi +ps2frag +ps2pdf +ps2pdf12 +ps2pdf13 +ps2pdf14 +ps2pdfwr +ps2pk +ps2ps +ps2ps2 +ps2txt +ps4pdf +psbook +psfaddtable +psfgettable +psfstriptable +psfxtable +psidtopgm +psjoin +pslatex +pslog +psmerge +psnup +psresize +psselect +pst2pdf +pstoedit +pstopnm +pstops +pstree +pstree.x11 +ptar +ptardiff +ptargrep +ptex +ptex2pdf +ptftopl +ptx +purge-old-kernels +purifyeps +pwd +pwdx +py3clean +py3compile +py3versions +pydoc3 +pydoc3.10 +pygettext3 +pygettext3.10 +python +python3 +python3-config +python3-unit2 +python3.10 +python3.10-config +pythontex +qrttoppm +r-mpost +r-pmpost +r-upmpost +racc3.0 +rake +rake3.0 +ranlib +rasttopnm +rawtopgm +rawtoppm +rbash +rbs3.0 +rcp +rdma +rdoc +rdoc3.0 +readelf +readlink +realpath +red +renice +repstopdf +reset +resize +resizecons +resizepart +resolvectl +rev +rgb3toppm +rgrep +ri +ri3.0 +rletopnm +rlogin +rm +rmdir +rnano +routef +routel +rpcgen +rpdfcrop +rrsync +rsh +rsync +rsync-ssl +rtstat +rubibtex +rubikrotation +ruby +ruby3.0 +rumakeindex +run-one +run-one-constantly +run-one-until-failure +run-one-until-success +run-parts +run-this-one +runcon +rungs +rview +rvim +savelog +sbigtopgm +sccmap +scor2prt +scp +screen +screendump +script +scriptlive +scriptreplay +sdiff +sed +select-default-iwrap +select-editor +sensible-browser +sensible-editor +sensible-pager +seq +session-migration +sessreg +setarch +setfont +setkeycodes +setleds +setlogcons +setmetamode +setpci +setpriv +setsid +setterm +setupcon +sfconv +sfdp +sftp +sg +sgitopnm +sh +sha1sum +sha224sum +sha256sum +sha384sum +sha512sum +shasum +showchar +showconsolefont +showkey +showrgb +shred +shuf +simpdftex +sirtopnm +size +sjisconv +sjislatex +sjispdflatex +skill +slabtop +sldtoppm +sleep +slogin +snap +snapctl +snapfuse +snice +soelim +sort +sotruss +spctoppm +splain +split +splitfont +splitindex +sprof +sputoppm +sqfscat +sqfstar +srcredact +ss +ssh +ssh-add +ssh-agent +ssh-argv0 +ssh-copy-id +ssh-keygen +ssh-keyscan +st4topgm +stat +static-sh +stdbuf +stl2gts +strace +strace-log-merge +stream +stream-im6 +stream-im6.q16 +streamzip +strings +strip +stty +sty2dtx +su +sudo +sudoedit +sudoreplay +sum +svn-multi +sync +synctex +systemctl +systemd +systemd-analyze +systemd-ask-password +systemd-cat +systemd-cgls +systemd-cgtop +systemd-cryptenroll +systemd-delta +systemd-detect-virt +systemd-escape +systemd-hwdb +systemd-id128 +systemd-inhibit +systemd-machine-id-setup +systemd-mount +systemd-notify +systemd-path +systemd-run +systemd-socket-activate +systemd-stdio-bridge +systemd-sysext +systemd-sysusers +systemd-tmpfiles +systemd-tty-ask-password-agent +systemd-umount +t1ascii +t1asm +t1binary +t1c2pfb +t1disasm +t1dotlessj +t1lint +t1mac +t1rawafm +t1reencode +t1testpage +t1unmac +t4ht +tabs +tac +tail +tangle +tar +taskset +tbl +tclsh +tclsh8.6 +tcpdump +teckit_compile +tee +telnet +telnet.netkit +tempfile +test +tex +tex2aspc +tex4ebook +tex4ht +texconfig +texconfig-dialog +texconfig-sys +texcount +texdef +texdiff +texdirflatten +texdoc +texdoctk +texexec +texfind +texfont +texfot +texhash +texi2any +texi2dvi +texi2pdf +texindex +texlinks +texliveonfly +texloganalyser +texlua +texluac +texluajit +texluajitc +texmfstart +texosquery +texosquery-jre5 +texosquery-jre8 +texplate +texsis +tftopl +tgatoppm +thinkjettopbm +thumbpdf +tic +tie +tifftopnm +tikztosvg +tilix +tilix.wrapper +time +timedatectl +timeout +tl-paper +tlmgr +tload +tmux +tnftp +toe +top +touch +tpic2pdftex +tput +tr +tracepath +transform +translit +tred +troff +true +truncate +tset +tsort +ttf2afm +ttf2kotexfont +ttf2pk +ttf2tfm +ttfdump +ttftotype42 +tty +twopi +txixml2texi +txtconv +typeoutfileinfo +typeprof3.0 +tzselect +ua +ubuntu-advantage +ubuntu-bug +ubuntu-core-launcher +ubuntu-distro-info +ubuntu-security-status +ucf +ucfq +ucfr +uclampset +ucs2any +udevadm +ul +ulqda +umount +uname +unattended-upgrade +unattended-upgrades +uncompress +unexpand +unflatten +unicode_start +unicode_stop +uniq +unit2 +unlink +unlzma +unshare +unsquashfs +unxz +unzip +unzipsfx +upbibtex +update-alternatives +update-mime-database +update-perl-sax-parsers +update_rubygems +updmap +updmap-sys +updmap-user +updvitomp +updvitype +uplatex +uplatex-dev +upmendex +upmpost +uppltotf +uptex +uptftopl +uptime +urlbst +usb-devices +usbhid-dump +usbreset +users +utf8mex +utmpdump +uuidgen +uuidparse +uxterm +vdir +vftovp +vi +view +viewres +vigpg +vim +vim.basic +vim.tiny +vimdiff +vimdot +vimtutor +vlna +vmstat +vpe +vpl2ovp +vpl2vpl +vprerex +vptovf +w +wall +watch +watchgnupg +wbmptopbm +wc +wdctl +weave +webquiz +wget +whatis +whereis +which +which.debianutils +whiptail +who +whoami +wifi-status +winicontoppm +wish +wish8.6 +wofm2opl +wopl2ofm +wovf2ovp +wovp2ovf +write +write.ul +wslinfo +wslpath +x-terminal-emulator +x-www-browser +x86_64 +x86_64-linux-gnu-addr2line +x86_64-linux-gnu-ar +x86_64-linux-gnu-as +x86_64-linux-gnu-c++filt +x86_64-linux-gnu-cpp +x86_64-linux-gnu-cpp-11 +x86_64-linux-gnu-dwp +x86_64-linux-gnu-elfedit +x86_64-linux-gnu-g++ +x86_64-linux-gnu-g++-11 +x86_64-linux-gnu-gcc +x86_64-linux-gnu-gcc-11 +x86_64-linux-gnu-gcc-ar +x86_64-linux-gnu-gcc-ar-11 +x86_64-linux-gnu-gcc-nm +x86_64-linux-gnu-gcc-nm-11 +x86_64-linux-gnu-gcc-ranlib +x86_64-linux-gnu-gcc-ranlib-11 +x86_64-linux-gnu-gcov +x86_64-linux-gnu-gcov-11 +x86_64-linux-gnu-gcov-dump +x86_64-linux-gnu-gcov-dump-11 +x86_64-linux-gnu-gcov-tool +x86_64-linux-gnu-gcov-tool-11 +x86_64-linux-gnu-gold +x86_64-linux-gnu-gprof +x86_64-linux-gnu-ld +x86_64-linux-gnu-ld.bfd +x86_64-linux-gnu-ld.gold +x86_64-linux-gnu-lto-dump-11 +x86_64-linux-gnu-nm +x86_64-linux-gnu-objcopy +x86_64-linux-gnu-objdump +x86_64-linux-gnu-pkg-config +x86_64-linux-gnu-python3-config +x86_64-linux-gnu-python3.10-config +x86_64-linux-gnu-ranlib +x86_64-linux-gnu-readelf +x86_64-linux-gnu-size +x86_64-linux-gnu-strings +x86_64-linux-gnu-strip +x86_64-pc-linux-gnu-pkg-config +xargs +xauth +xbmtopbm +xcmsdb +xdg-desktop-icon +xdg-desktop-menu +xdg-email +xdg-icon-resource +xdg-mime +xdg-open +xdg-screensaver +xdg-settings +xdg-user-dir +xdg-user-dirs-update +xdpyinfo +xdriinfo +xdvi +xdvi-xaw +xdvi.bin +xdvipdfmx +xelatex +xelatex-dev +xetex +xev +xfd +xfontsel +xgamma +xhlatex +xhost +ximtoppm +xindex +xkeystone +xkill +xlsatoms +xlsclients +xlsfonts +xmessage +xml2pmx +xmltex +xmodmap +xpdf +xpdf.real +xpmtoppm +xprop +xrandr +xrdb +xrefresh +xset +xsetmode +xsetpointer +xsetroot +xstdcmap +xsubpp +xterm +xvidtune +xvinfo +xvminitoppm +xwdtopnm +xwininfo +xxd +xz +xzcat +xzcmp +xzdiff +xzegrep +xzfgrep +xzgrep +xzless +xzmore +ybmtopbm +yes +ypdomainname +yplan +yuvsplittoppm +yuvtoppm +zcat +zcmp +zdiff +zdump +zegrep +zeisstopnm +zfgrep +zforce +zgrep +zip +zipcloak +zipdetails +zipgrep +zipinfo +zipnote +zipsplit +zless +zmore +znew diff --git a/infrastructure/systems/Shark/oneliners/cleanup.sh b/infrastructure/systems/Shark/oneliners/cleanup.sh new file mode 100755 index 00000000..2e2e12f3 --- /dev/null +++ b/infrastructure/systems/Shark/oneliners/cleanup.sh @@ -0,0 +1,5 @@ +#!/bin/bash + +cd "$(realpath $(dirname "$0"))" +rm -rf ./inputs +rm -rf ./outputs diff --git a/infrastructure/systems/Shark/oneliners/deps.sh b/infrastructure/systems/Shark/oneliners/deps.sh new file mode 100755 index 00000000..6f57aa32 --- /dev/null +++ b/infrastructure/systems/Shark/oneliners/deps.sh @@ -0,0 +1,8 @@ +#!/bin/bash + +sudo apt update +sudo apt install -y \ + wget \ + bsdmainutils \ + file \ + dos2unix diff --git a/infrastructure/systems/Shark/oneliners/hashes/small/bi-grams.hash b/infrastructure/systems/Shark/oneliners/hashes/small/bi-grams.hash new file mode 100644 index 00000000..dee8173b --- /dev/null +++ b/infrastructure/systems/Shark/oneliners/hashes/small/bi-grams.hash @@ -0,0 +1 @@ +7bcbd9fa9dc8608b74c7b9c4f97691aab888799a656674d64e888caec471ed7b diff --git a/infrastructure/systems/Shark/oneliners/hashes/small/diff.hash b/infrastructure/systems/Shark/oneliners/hashes/small/diff.hash new file mode 100644 index 00000000..9e8abb10 --- /dev/null +++ b/infrastructure/systems/Shark/oneliners/hashes/small/diff.hash @@ -0,0 +1 @@ +e0f3f7916effc9373fa39b3a8c211671305b5771d4a8bb10b37c3b9a5cf1f2b7 diff --git a/infrastructure/systems/Shark/oneliners/hashes/small/nfa-regex.hash b/infrastructure/systems/Shark/oneliners/hashes/small/nfa-regex.hash new file mode 100644 index 00000000..29cb9987 --- /dev/null +++ b/infrastructure/systems/Shark/oneliners/hashes/small/nfa-regex.hash @@ -0,0 +1 @@ +589f64d6c9a5c9501b0a2b92ee35a880fcdf2b89075628b18d3472661d00fcb6 diff --git a/infrastructure/systems/Shark/oneliners/hashes/small/set-diff.hash b/infrastructure/systems/Shark/oneliners/hashes/small/set-diff.hash new file mode 100644 index 00000000..dd908f0f --- /dev/null +++ b/infrastructure/systems/Shark/oneliners/hashes/small/set-diff.hash @@ -0,0 +1 @@ +e737aa088e2771e162fb60ce42d9374c8a8768b9bba9f3d6aaba6c7b47bbd862 diff --git a/infrastructure/systems/Shark/oneliners/hashes/small/sort-sort.hash b/infrastructure/systems/Shark/oneliners/hashes/small/sort-sort.hash new file mode 100644 index 00000000..62c3b233 --- /dev/null +++ b/infrastructure/systems/Shark/oneliners/hashes/small/sort-sort.hash @@ -0,0 +1 @@ +b10dd497b66955e63cf32eb3a4796d7edd0ae4876a450cca6970a9d261968780 diff --git a/infrastructure/systems/Shark/oneliners/hashes/small/sort.hash b/infrastructure/systems/Shark/oneliners/hashes/small/sort.hash new file mode 100644 index 00000000..c18d9436 --- /dev/null +++ b/infrastructure/systems/Shark/oneliners/hashes/small/sort.hash @@ -0,0 +1 @@ +965dfcdb1fa45be5cb5b125683e01a1882d2693384cd76782beacadfda5f2872 diff --git a/infrastructure/systems/Shark/oneliners/hashes/small/spell.hash b/infrastructure/systems/Shark/oneliners/hashes/small/spell.hash new file mode 100644 index 00000000..bce731e7 --- /dev/null +++ b/infrastructure/systems/Shark/oneliners/hashes/small/spell.hash @@ -0,0 +1 @@ +83a9657314b52598447ebc4a4a6717fdd23d3d81b27e4821d434054a989a97b9 diff --git a/infrastructure/systems/Shark/oneliners/hashes/small/top-n.hash b/infrastructure/systems/Shark/oneliners/hashes/small/top-n.hash new file mode 100644 index 00000000..4ea1096c --- /dev/null +++ b/infrastructure/systems/Shark/oneliners/hashes/small/top-n.hash @@ -0,0 +1 @@ +0dc989a25adf29a6648b3b4fcefc425770ef022b34699e08601aecdb95aeedc7 diff --git a/infrastructure/systems/Shark/oneliners/hashes/small/uniq-ips.hash b/infrastructure/systems/Shark/oneliners/hashes/small/uniq-ips.hash new file mode 100644 index 00000000..1be81fcd --- /dev/null +++ b/infrastructure/systems/Shark/oneliners/hashes/small/uniq-ips.hash @@ -0,0 +1 @@ +524f9f2fd84218f581ffe16d175acab35a679f8fdac099083a20a39b13d51e0c diff --git a/infrastructure/systems/Shark/oneliners/hashes/small/wf.hash b/infrastructure/systems/Shark/oneliners/hashes/small/wf.hash new file mode 100644 index 00000000..eb2ae41e --- /dev/null +++ b/infrastructure/systems/Shark/oneliners/hashes/small/wf.hash @@ -0,0 +1 @@ +1eb612a3c85b375fc89ec8044278bad13c7e4df7a01f0c70b81643dc09d081a9 diff --git a/infrastructure/systems/Shark/oneliners/input.sh b/infrastructure/systems/Shark/oneliners/input.sh new file mode 100755 index 00000000..2db674d0 --- /dev/null +++ b/infrastructure/systems/Shark/oneliners/input.sh @@ -0,0 +1,53 @@ +#!/bin/bash + +cd "$(realpath $(dirname "$0"))" +mkdir -p inputs +cd inputs + +input_files=("1M.txt" "1G.txt" "3G.txt" "all_cmds.txt" "all_cmdsx100.txt" "dict.txt") + +if [ ! -f ./1M.txt ]; then + wget --no-check-certificate https://atlas-group.cs.brown.edu/data/dummy/1M.txt + # TODO: Add newline to the original file + echo >> 1M.txt + dos2unix 1M.txt +fi + +if [ ! -f ./1G.txt ]; then + touch 1G.txt + for (( i = 0; i < 1000; i++ )); do + cat 1M.txt >> 1G.txt + done +fi + +if [ ! -f ./3G.txt ]; then + touch 3G.txt + for (( i = 0; i < 3; i++ )); do + cat 1G.txt >> 3G.txt + done +fi + +if [ ! -f ./dict.txt ]; then + wget -O - https://atlas-group.cs.brown.edu/data/dummy/dict.txt --no-check-certificate | sort > dict.txt +fi + +if [ ! -f ./all_cmds.txt ]; then + # TODO: Upload this file to the server + cp ../all_cmds.txt all_cmds.txt +fi + +if [ ! -f ./all_cmdsx100.txt ]; then + touch all_cmdsx100.txt + for (( i = 0; i < 100; i++ )); do + cat all_cmds.txt >> all_cmdsx100.txt + done +fi + +# For uniq-ips +if [ "$1" = "--small" ]; then + N=4000 # 4K +else + N=40000000 # 40M +fi + +../scripts/gen_ips.py "$N" > logs-popcount-org.txt diff --git a/infrastructure/systems/Shark/oneliners/run.sh b/infrastructure/systems/Shark/oneliners/run.sh new file mode 100755 index 00000000..a81f01b7 --- /dev/null +++ b/infrastructure/systems/Shark/oneliners/run.sh @@ -0,0 +1,51 @@ +#!/bin/bash + +export SUITE_DIR=$(realpath $(dirname "$0")) +export TIMEFORMAT=%R +cd $SUITE_DIR + +BENCHMARK_SHELL=${BENCHMARK_SHELL:-bash} + +if [[ "$@" == *"--small"* ]]; then + scripts_inputs=( + "nfa-regex;1M" + "sort;1M" + "top-n;1M" + "wf;1M" + "spell;1M" + "diff;1M" + "bi-grams;1M" + "set-diff;1M" + "sort-sort;1M" + "uniq-ips;logs-popcount-org" + ) +else + scripts_inputs=( + "nfa-regex;1G" + "sort;3G" + "top-n;3G" + "wf;3G" + "spell;3G" + "diff;3G" + "bi-grams;3G" + "set-diff;3G" + "sort-sort;3G" + "uniq-ips;logs-popcount-org" + ) +fi + +mkdir -p "outputs" + +echo executing oneliners $(date) + +for script_input in ${scripts_inputs[@]} +do + IFS=";" read -r -a parsed <<< "${script_input}" + script_file="./scripts/${parsed[0]}.sh" + input_file="./inputs/${parsed[1]}.txt" + output_file="./outputs/${parsed[0]}.out" + + echo "$script_file" + $BENCHMARK_SHELL "$script_file" "$input_file" > "$output_file" + echo "$?" +done diff --git a/infrastructure/systems/Shark/oneliners/scripts/bi-gram.aux.sh b/infrastructure/systems/Shark/oneliners/scripts/bi-gram.aux.sh new file mode 100755 index 00000000..67891903 --- /dev/null +++ b/infrastructure/systems/Shark/oneliners/scripts/bi-gram.aux.sh @@ -0,0 +1,142 @@ +#!/bin/bash +# Auxiliary functions for bi-grams + +# bigrams_aux() +# { +# s2=$(mktemp -u) +# mkfifo $s2 +# tee $s2 | +# tail -n +2 | +# paste $s2 - | +# sed '$d' +# rm $s2 +# } + +bigrams_aux() { + paste <(tee /dev/stderr | sed '$d') <(tail -n +2) +} + + +# bigram_aux_map() +# { +# IN=$1 +# OUT=$2 +# AUX_HEAD=$3 +# AUX_TAIL=$4 + +# s2=$(mktemp -u) +# aux1=$(mktemp -u) +# aux2=$(mktemp -u) +# aux3=$(mktemp -u) +# temp=$(mktemp -u) + +# mkfifo $s2 +# mkfifo $aux1 +# mkfifo $aux2 +# mkfifo $aux3 + +# ## New way of doing it using an intermediate file. This is slow +# ## but doesn't deadlock +# cat $IN > $temp + +# sed '$d' $temp > $aux3 & +# cat $temp | head -n 1 > $AUX_HEAD & +# cat $temp | tail -n 1 > $AUX_TAIL & +# cat $temp | tail -n +2 | paste $aux3 - > $OUT & + +# # ## Old way of doing it +# # cat $IN | +# # tee $s2 $aux1 $aux2 | +# # tail -n +2 | +# # paste $s2 - > $OUT & + +# # ## The goal of this is to write the first line of $IN in the $AUX_HEAD +# # ## stream and the last line of $IN in $AUX_TAIL + +# # cat $aux1 | ( head -n 1 > $AUX_HEAD; $PASH_TOP/evaluation/tools/drain_stream.sh ) & +# # # while IFS= read -r line +# # # do +# # # old_line=$line +# # # done < $aux2 +# # # echo "$old_line" > $AUX_TAIL +# # ( tail -n 1 $aux2 > $AUX_TAIL; $PASH_TOP/evaluation/tools/drain_stream.sh ) & + +# wait + +# rm $temp +# rm $s2 +# rm $aux1 +# rm $aux2 +# rm $aux3 +# } + +bigram_aux_map() { + IN=$1 + OUT=$2 + AUX_HEAD=$3 + AUX_TAIL=$4 + + # Extract first and last lines for AUX_HEAD and AUX_TAIL + head -n 1 "$IN" > "$AUX_HEAD" & + tail -n 1 "$IN" > "$AUX_TAIL" & + + # Generate bigrams (excluding the last line) + paste <(sed '$d' "$IN") <(tail -n +2 "$IN") > "$OUT" & + + # Wait for all background processes to finish + wait +} + + +# bigram_aux_reduce() +# { +# IN1=$1 +# AUX_HEAD1=$2 +# AUX_TAIL1=$3 +# IN2=$4 +# AUX_HEAD2=$5 +# AUX_TAIL2=$6 +# OUT=$7 +# AUX_HEAD_OUT=$8 +# AUX_TAIL_OUT=$9 + +# temp=$(mktemp -u) + +# mkfifo $temp + +# cat $AUX_HEAD1 > $AUX_HEAD_OUT & +# cat $AUX_TAIL2 > $AUX_TAIL_OUT & +# paste $AUX_TAIL1 $AUX_HEAD2 > $temp & +# cat $IN1 $temp $IN2 > $OUT & + +# wait + +# rm $temp +# } + +bigram_aux_reduce() { + IN1=$1 + AUX_HEAD1=$2 + AUX_TAIL1=$3 + IN2=$4 + AUX_HEAD2=$5 + AUX_TAIL2=$6 + OUT=$7 + AUX_HEAD_OUT=$8 + AUX_TAIL_OUT=$9 + + cp "$AUX_HEAD1" "$AUX_HEAD_OUT" & + cp "$AUX_TAIL2" "$AUX_TAIL_OUT" & + + { + < "$IN1" cat + paste "$AUX_TAIL1" "$AUX_HEAD2" + < "$IN2" cat + } > "$OUT" & + wait +} + + +export -f bigrams_aux +export -f bigram_aux_map +export -f bigram_aux_reduce diff --git a/infrastructure/systems/Shark/oneliners/scripts/bi-grams.sh b/infrastructure/systems/Shark/oneliners/scripts/bi-grams.sh new file mode 100755 index 00000000..194181a8 --- /dev/null +++ b/infrastructure/systems/Shark/oneliners/scripts/bi-grams.sh @@ -0,0 +1,19 @@ +#!/bin/bash +# Find all 2-grams in a piece of text + +. ./scripts/bi-gram.aux.sh + +# cat $1 | +# tr -c 'A-Za-z' '[\n*]' | +# grep -v "^\s*$" | +# tr A-Z a-z | +# bigrams_aux | +# sort | +# uniq + +tr -c 'A-Za-z' '[\n*]' < $1 | + grep -v "^\s*$" | + tr A-Z a-z | + bigrams_aux | + sort | + uniq \ No newline at end of file diff --git a/infrastructure/systems/Shark/oneliners/scripts/diff.sh b/infrastructure/systems/Shark/oneliners/scripts/diff.sh new file mode 100755 index 00000000..d58cecd9 --- /dev/null +++ b/infrastructure/systems/Shark/oneliners/scripts/diff.sh @@ -0,0 +1,22 @@ +#!/bin/bash +# Compares two streams element by element +# Taken from https://crashingdaily.wordpress.com/2008/03/06/diff-two-stdout-streams/ +# shuf() { awk 'BEGIN {srand(); OFMT="%.17f"} {print rand(), $0}' "$@" | sort -k1,1n | cut -d ' ' -f2-; } + +# mkfifo s1 s2 + +# cat $1 | +# # shuf | +# tr "[:lower:]" "[:upper:]" | +# sort > s1 & + +# cat $1 | +# # shuf | +# tr "[:upper:]" "[:lower:]" | +# sort > s2 & + +# diff -B s1 s2 +# rm s1 s2 + +diff -B <(tr "[:lower:]" "[:upper:]" < "$1" | sort) \ + <(tr "[:upper:]" "[:lower:]" < "$2" | sort) diff --git a/infrastructure/systems/Shark/oneliners/scripts/gen_ips.py b/infrastructure/systems/Shark/oneliners/scripts/gen_ips.py new file mode 100755 index 00000000..d4ac0c0b --- /dev/null +++ b/infrastructure/systems/Shark/oneliners/scripts/gen_ips.py @@ -0,0 +1,28 @@ +#!/usr/bin/env python3 +import sys +import random + +# Function to generate a random IP address +def generate_ip(): + return ".".join(str(random.randint(0, 255)) for _ in range(4)) + +# Function to generate random data with IP addresses and datacenter numbers +def generate_data(): + ip = generate_ip() + num = random.randint(1, 200) + line = f"{ip} {num}" + return line + +def main(): + if len(sys.argv) != 2: + print(f"Usage: {sys.argv[0]} ", file=sys.stderr) + sys.exit(1) + + random.seed(42) + n = sys.argv[1] + n = int(n) + for _ in range(n): + print(generate_data()) + +if __name__ == "__main__": + main() diff --git a/infrastructure/systems/Shark/oneliners/scripts/nfa-regex.sh b/infrastructure/systems/Shark/oneliners/scripts/nfa-regex.sh new file mode 100755 index 00000000..f5025e86 --- /dev/null +++ b/infrastructure/systems/Shark/oneliners/scripts/nfa-regex.sh @@ -0,0 +1,6 @@ +#!/bin/bash +# Match complex regular-expression over input + +# cat $1 | tr A-Z a-z | grep '\(.\).*\1\(.\).*\2\(.\).*\3\(.\).*\4' + +tr A-Z a-z < $1 | grep '\(.\).*\1\(.\).*\2\(.\).*\3\(.\).*\4' \ No newline at end of file diff --git a/infrastructure/systems/Shark/oneliners/scripts/set-diff.sh b/infrastructure/systems/Shark/oneliners/scripts/set-diff.sh new file mode 100755 index 00000000..0c30a815 --- /dev/null +++ b/infrastructure/systems/Shark/oneliners/scripts/set-diff.sh @@ -0,0 +1,21 @@ +#!/bin/bash +# Show the set-difference between two streams (i.e., elements in the first that are not in the second). +# https://stackoverflow.com/questions/2509533/bash-linux-set-difference-between-two-text-files + +# mkfifo s1 s2 + +# cat $1 | +# cut -d ' ' -f 1 | +# tr "[:lower:]" "[:upper:]" | +# sort > s1 & + +# cat $1 | +# cut -d ' ' -f 1 | +# sort > s2 & + +# comm -23 s1 s2 + +# rm s1 s2 + +diff -B <(cut -d ' ' -f 1 < "$1" | tr "[:lower:]" "[:upper:]" | sort) \ + <(cut -d ' ' -f 1 < "$2" | sort) \ No newline at end of file diff --git a/infrastructure/systems/Shark/oneliners/scripts/sort-sort.sh b/infrastructure/systems/Shark/oneliners/scripts/sort-sort.sh new file mode 100755 index 00000000..7ef6d5e7 --- /dev/null +++ b/infrastructure/systems/Shark/oneliners/scripts/sort-sort.sh @@ -0,0 +1,6 @@ +#!/bin/bash +# Calculate sort twice + +# cat $1 | tr A-Z a-z | sort | sort -r + +tr A-Z a-z < $1 | sort | sort -r \ No newline at end of file diff --git a/infrastructure/systems/Shark/oneliners/scripts/sort.sh b/infrastructure/systems/Shark/oneliners/scripts/sort.sh new file mode 100755 index 00000000..79d30b77 --- /dev/null +++ b/infrastructure/systems/Shark/oneliners/scripts/sort.sh @@ -0,0 +1,5 @@ +#!/bin/bash + +# cat $1 | sort + +sort < $1 \ No newline at end of file diff --git a/infrastructure/systems/Shark/oneliners/scripts/spell.sh b/infrastructure/systems/Shark/oneliners/scripts/spell.sh new file mode 100755 index 00000000..3a46c56e --- /dev/null +++ b/infrastructure/systems/Shark/oneliners/scripts/spell.sh @@ -0,0 +1,24 @@ +#!/bin/bash +# Calculate mispelled words in an input +# https://dl.acm.org/doi/10.1145/3532.315102 + +dict=$SUITE_DIR/inputs/dict.txt + +# cat $1 | +# sed 's/[^[:print:]]//g' | # remove non-printing characters +# col -bx | # remove backspaces / linefeeds +# tr -cs A-Za-z '\n' | +# tr A-Z a-z | # map upper to lower case +# tr -d '[:punct:]' | # remove punctuation +# sort | # put words in alphabetical order +# uniq | # remove duplicate words +# comm -23 - $dict # report words not in dictionary + +sed 's/[^[:print:]]//g' < $1 | # remove non-printing characters + col -bx | # remove backspaces / linefeeds + tr -cs A-Za-z '\n' | + tr A-Z a-z | # map upper to lower case + tr -d '[:punct:]' | # remove punctuation + sort | # put words in alphabetical order + uniq | # remove duplicate words + comm -23 - $dict # report words not in dictionary \ No newline at end of file diff --git a/infrastructure/systems/Shark/oneliners/scripts/top-n.sh b/infrastructure/systems/Shark/oneliners/scripts/top-n.sh new file mode 100755 index 00000000..25e3e016 --- /dev/null +++ b/infrastructure/systems/Shark/oneliners/scripts/top-n.sh @@ -0,0 +1,7 @@ +#!/bin/bash +# Top-N (1000) terms +# from https://dl.acm.org/doi/10.1145/5948.315654 + +# cat $1 | tr -c 'A-Za-z' '[\n*]' | grep -v "^\s*$" | tr A-Z a-z | sort | uniq -c | sort -rn | sed 100q + +tr -c 'A-Za-z' '[\n*]' < $1 | grep -v "^\s*$" | tr A-Z a-z | sort | uniq -c | sort -rn | sed 100q \ No newline at end of file diff --git a/infrastructure/systems/Shark/oneliners/scripts/uniq-ips.sh b/infrastructure/systems/Shark/oneliners/scripts/uniq-ips.sh new file mode 100755 index 00000000..dc6f1cd9 --- /dev/null +++ b/infrastructure/systems/Shark/oneliners/scripts/uniq-ips.sh @@ -0,0 +1,7 @@ +#!/bin/bash + +# Finding unique ips +# from: https://blog.cloudflare.com/when-bloom-filters-dont-bloom/ +# cat "$1" | sort | uniq + +sort < "$1" | uniq \ No newline at end of file diff --git a/infrastructure/systems/Shark/oneliners/scripts/wf.sh b/infrastructure/systems/Shark/oneliners/scripts/wf.sh new file mode 100755 index 00000000..ae50cf81 --- /dev/null +++ b/infrastructure/systems/Shark/oneliners/scripts/wf.sh @@ -0,0 +1,6 @@ +#!/bin/bash +# Calculate the frequency of each word in the document, and sort by frequency + +# cat $1 | tr -c 'A-Za-z' '[\n*]' | grep -v "^\s*$" | tr A-Z a-z | sort | uniq -c | sort -rn + +tr -c 'A-Za-z' '[\n*]' < $1 | grep -v "^\s*$" | tr A-Z a-z | sort | uniq -c | sort -rn \ No newline at end of file diff --git a/infrastructure/systems/Shark/oneliners/verify.sh b/infrastructure/systems/Shark/oneliners/verify.sh new file mode 100755 index 00000000..c5cda397 --- /dev/null +++ b/infrastructure/systems/Shark/oneliners/verify.sh @@ -0,0 +1,63 @@ +#!/bin/bash + +# Exit immediately if a command exits with a non-zero status +# set -e + +cd "$(realpath $(dirname "$0"))" +mkdir -p hashes/small + +[ ! -d "outputs" ] && echo "Directory 'outputs' does not exist" && exit 1 + +if [[ "$@" == *"--small"* ]]; then + hash_folder="hashes/small" +else + hash_folder="hashes" +fi + +if [[ "$@" == *"--generate"* ]]; then + # Directory to iterate over + directory="outputs" + + # Loop through all .out files in the directory + for file in "$directory"/*.out + do + # Extract the filename without the directory path and extension + filename=$(basename "$file" .out) + + # Generate SHA-256 hash + hash=$(shasum -a 256 "$file" | awk '{ print $1 }') + + # Save the hash to a file + echo "$hash" > "$hash_folder/$filename.hash" + + # Print the filename and hash + echo "$hash_folder/$filename.hash $hash" + done + + exit 0 +fi + +# Loop through all directories in the parent directory +for folder in "outputs"/ +do + # Remove trailing slash + folder=${folder%/} + + # Loop through all .out files in the current directory + for file in "$folder"/*.out + do + # Extract the filename without the directory path and extension + filename=$(basename "$file" .out) + + # Generate SHA-256 hash + hash=$(shasum -a 256 "$file" | awk '{ print $1 }') + + # Save the hash to a file + echo "$hash" > "$folder/$filename.hash" + + diff "$hash_folder/$filename.hash" "$folder/$filename.hash" > /dev/null + match="$?" + # Print the filename and hash + echo "$folder/$filename $match" + done +done diff --git a/infrastructure/systems/Shark/riker/cleanup.sh b/infrastructure/systems/Shark/riker/cleanup.sh new file mode 100755 index 00000000..cb0025ee --- /dev/null +++ b/infrastructure/systems/Shark/riker/cleanup.sh @@ -0,0 +1,10 @@ +#!/bin/bash + +REPO_TOP="$(git rev-parse --show-toplevel)" +eval_dir="${REPO_TOP}/riker" +scripts_dir="${eval_dir}/scripts" + +for bench in "$scripts_dir"/*; do + "$bench/cleanup.sh" $@ +done + diff --git a/infrastructure/systems/Shark/riker/deps.sh b/infrastructure/systems/Shark/riker/deps.sh new file mode 100755 index 00000000..464c73eb --- /dev/null +++ b/infrastructure/systems/Shark/riker/deps.sh @@ -0,0 +1,19 @@ +#!/bin/bash + +REPO_TOP="$(git rev-parse --show-toplevel)" +eval_dir="${REPO_TOP}/riker" +scripts_dir="${eval_dir}/scripts" + +tz="America/New_York" +sudo echo "$tz" > /etc/timezone +sudo rm -f /etc/localtime +sudo ln -s "/usr/share/zoneinfo/$tz" /etc/localtime + +sudo apt update + +sudo apt install -y build-essential + +for bench in "$scripts_dir"/*; do + "$bench/deps.sh" $@ +done + diff --git a/infrastructure/systems/Shark/riker/input.sh b/infrastructure/systems/Shark/riker/input.sh new file mode 100755 index 00000000..6e77fb3a --- /dev/null +++ b/infrastructure/systems/Shark/riker/input.sh @@ -0,0 +1,10 @@ +#!/bin/bash + +REPO_TOP="$(git rev-parse --show-toplevel)" +eval_dir="${REPO_TOP}/riker" +scripts_dir="${eval_dir}/scripts" + +for bench in "$scripts_dir"/*; do + "$bench/input.sh" $@ +done + diff --git a/infrastructure/systems/Shark/riker/migrating/NEEDS_CLEANUP/autoconf/Dockerfile b/infrastructure/systems/Shark/riker/migrating/NEEDS_CLEANUP/autoconf/Dockerfile new file mode 100644 index 00000000..8681fcd4 --- /dev/null +++ b/infrastructure/systems/Shark/riker/migrating/NEEDS_CLEANUP/autoconf/Dockerfile @@ -0,0 +1,19 @@ +FROM hs-riker + +RUN apt-get update && apt-get install -y wget \ + make \ + m4 \ + perl + +WORKDIR /root + +RUN wget https://ftp.gnu.org/gnu/autoconf/autoconf-2.69.tar.gz && \ + tar xzvf autoconf-2.69.tar.gz && \ + rm autoconf-2.69.tar.gz +WORKDIR /root/autoconf-2.69 +RUN ./configure + +COPY autoconf_build.sh /root/autoconf-2.69/autoconf_build.sh +COPY autoconf_build.sh /root/autoconf-2.69/Rikerfile +RUN chmod +x /root/autoconf-2.69/Rikerfile +RUN chmod +x autoconf_build.sh \ No newline at end of file diff --git a/infrastructure/systems/Shark/riker/migrating/NEEDS_CLEANUP/autoconf/autoconf_build.sh b/infrastructure/systems/Shark/riker/migrating/NEEDS_CLEANUP/autoconf/autoconf_build.sh new file mode 100755 index 00000000..69f73e8c --- /dev/null +++ b/infrastructure/systems/Shark/riker/migrating/NEEDS_CLEANUP/autoconf/autoconf_build.sh @@ -0,0 +1,3 @@ +#!/bin/sh + +make clean all --quiet \ No newline at end of file diff --git a/infrastructure/systems/Shark/riker/migrating/NEEDS_CLEANUP/autoconf/run b/infrastructure/systems/Shark/riker/migrating/NEEDS_CLEANUP/autoconf/run new file mode 100755 index 00000000..f7b2bec3 --- /dev/null +++ b/infrastructure/systems/Shark/riker/migrating/NEEDS_CLEANUP/autoconf/run @@ -0,0 +1,103 @@ +#!/usr/bin/env python3 + +import argparse +import os +from subprocess import run, PIPE +from pathlib import Path + +parser = argparse.ArgumentParser(description="Run benchmark") +parser.add_argument('--window', default=0, type=int, help='window size to run hs with') +parser.add_argument('--target', choices=['baseline', 'hs-only', 'all'], + help='to run with sh or hs') +parser.add_argument('--log', choices=['enable', 'disable'], default="enable", + help='whether to enable logging for hs') + +env = os.environ.copy() + +def convert_time_to_float(time): + time = time.split("m") + return float(time[0]) * 60 + float(time[1][:-1]) + +def do_baseline_run(env): + result = run(["sudo", "docker", "run", "--privileged", "--rm", "hs/autoconf:latest", "/bin/bash", "-c", "time sh ./autoconf_build.sh"], stdout=PIPE, stderr=PIPE, env=env) + time = result.stderr.decode().split("\n")[-4].split("\t")[1] + return convert_time_to_float(time) + +def do_strace_run(env): + result = run(["sudo", "docker", "run", "--privileged", "--rm", "hs/autoconf:latest", "/bin/bash", "-c", "time strace -y -f --seccomp-bpf --trace=fork,clone,%file -o strace_trace bash -c \"./autoconf_build.sh\""], stdout=PIPE, stderr=PIPE, env=env) + time = result.stderr.decode().split("\n")[-4].split("\t")[1] + return convert_time_to_float(time) + +def do_hs_run(window, log, env): + if log: + result = run(["sudo", "docker", "run", "--privileged", "--rm", "hs/autoconf:latest", "/bin/bash", "-c", f"time /srv/hs/pash-spec.sh -d 2 --window {window} /root/autoconf-2.69/autoconf_build.sh &> hs_trace"], stdout=PIPE, stderr=PIPE, env=env) + else: + result = run(["sudo", "docker", "run", "--privileged", "--rm", "hs/autoconf:latest", "/bin/bash", "-c", f"time /srv/hs/pash-spec.sh --window {window} /root/autoconf-2.69/autoconf_build.sh &> hs_trace"], stdout=PIPE, stderr=PIPE, env=env) + + time = result.stderr.decode().split("\n")[-4].split("\t")[1] + return convert_time_to_float(time), result.stderr.decode() + +def do_riker_run(env): + result = run(["sudo", "docker", "run", "--privileged", "--rm", "hs/autoconf:latest", "/bin/bash", "-c", "time rkr --log ir &> riker_trace"], stdout=PIPE, stderr=PIPE, env=env) + time = result.stderr.decode().split("\n")[-4].split("\t")[1] + + return convert_time_to_float(time) + +if __name__ == "__main__": + args = parser.parse_args() + test_base = Path(__file__).parent.resolve() + + if (args.log == "enable"): + log = True + else: + log = False + + run_all = args.target == "all" + run_hs = args.target == "hs-only" + run_baseline = args.target == "baseline" + + if not run_hs and not run_all and not run_baseline: + raise("Not running anything, add --target argument") + if not "PASH_SPEC_TOP" in os.environ: + raise("PASH_SPEC_TOP is not set") + + output_base = Path(os.path.expandvars("$PASH_SPEC_TOP/report/output/" + os.sep.join(test_base.parts[-1:]))) + output_base.mkdir(parents=True, exist_ok=True) + + if run_all: + baseline_time = do_baseline_run(env) + strace_time = do_strace_run(env) + riker_time = do_riker_run(env) + hs_time, hs_log = do_hs_run(args.window, log, env) + + print(f"baseline time: {baseline_time}") + print(f"strace time: {strace_time}") + print(f"Riker time: {riker_time}") + print(f"hs time: {hs_time}") + + with open(output_base / 'baseline_time', 'w') as file: + file.write(str(baseline_time)) + with open(output_base / 'strace_time', 'w') as file: + file.write(str(strace_time)) + with open(output_base / 'riker_time', 'w') as file: + file.write(str(riker_time)) + with open(output_base / 'hs_time', 'w') as file: + file.write(str(hs_time)) + if log: + with open(output_base / 'hs_log', 'w') as file: + file.write(hs_log) + elif run_hs: + hs_time, hs_log = do_hs_run(args.window, log, env) + print(f"hs time: {hs_time}") + with open(output_base / 'hs_time', 'w') as file: + file.write(str(hs_time)) + if log: + with open(output_base / 'hs_log', 'w') as file: + file.write(hs_log) + elif run_baseline: + baseline_time = do_baseline_run(env) + print(f"baseline time: {baseline_time}") + with open(output_base / 'baseline_time', 'w') as file: + file.write(str(baseline_time)) + else: + raise("Not running anything, add --target argument") diff --git a/infrastructure/systems/Shark/riker/migrating/NEEDS_CLEANUP/calc/Dockerfile b/infrastructure/systems/Shark/riker/migrating/NEEDS_CLEANUP/calc/Dockerfile new file mode 100644 index 00000000..3265d078 --- /dev/null +++ b/infrastructure/systems/Shark/riker/migrating/NEEDS_CLEANUP/calc/Dockerfile @@ -0,0 +1,16 @@ +FROM hs-riker + +RUN apt-get update +RUN apt-get install -y git gcc-11 make libreadline-dev bsdmainutils +RUN update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-11 1 + +WORKDIR /root +RUN git clone https://github.com/lcn2/calc.git + +WORKDIR /root/calc +RUN git checkout 3d33c6c6f498d4d391918d34c55fe37191db53d8 + +COPY calc_build.sh /root/calc/calc_build.sh +COPY calc_build.sh /root/calc/Rikerfile +RUN chmod +x /root/calc/Rikerfile +RUN chmod +x /root/calc/calc_build.sh diff --git a/infrastructure/systems/Shark/riker/migrating/NEEDS_CLEANUP/calc/README.md b/infrastructure/systems/Shark/riker/migrating/NEEDS_CLEANUP/calc/README.md new file mode 100644 index 00000000..1f5592b0 --- /dev/null +++ b/infrastructure/systems/Shark/riker/migrating/NEEDS_CLEANUP/calc/README.md @@ -0,0 +1,23 @@ +## Running instructions + +Build the image `docker build -t hs/calc .` from this directory. + +Running with HS +`docker run --privileged --rm hs/calc:latest /bin/bash -c 'time /srv/hs/pash-spec.sh /root/calc/calc_build.sh && file /root/calc/calc'` + +``` +real 2m15.044s +user 2m9.292s +sys 0m52.000s +/root/calc/calc: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=e5bf6a86a5493060a783b6169950bba1265b4c70, for GNU/Linux 3.2.0, with debug_info, not stripped +``` + +Running with shell +`docker run --privileged --rm hs/calc:latest /bin/bash -c 'time sh /root/calc/calc_build.sh && file /root/calc/calc'` + +``` +real 0m8.590s +user 0m7.760s +sys 0m0.820s +/root/calc/calc: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=e5bf6a86a5493060a783b6169950bba1265b4c70, for GNU/Linux 3.2.0, with debug_info, not stripped +``` diff --git a/infrastructure/systems/Shark/riker/migrating/NEEDS_CLEANUP/calc/calc_build.sh b/infrastructure/systems/Shark/riker/migrating/NEEDS_CLEANUP/calc/calc_build.sh new file mode 100755 index 00000000..69f73e8c --- /dev/null +++ b/infrastructure/systems/Shark/riker/migrating/NEEDS_CLEANUP/calc/calc_build.sh @@ -0,0 +1,3 @@ +#!/bin/sh + +make clean all --quiet \ No newline at end of file diff --git a/infrastructure/systems/Shark/riker/migrating/NEEDS_CLEANUP/calc/run b/infrastructure/systems/Shark/riker/migrating/NEEDS_CLEANUP/calc/run new file mode 100755 index 00000000..e2498145 --- /dev/null +++ b/infrastructure/systems/Shark/riker/migrating/NEEDS_CLEANUP/calc/run @@ -0,0 +1,104 @@ +#!/usr/bin/env python3 + +import argparse +import os +from subprocess import run, PIPE +from pathlib import Path + +parser = argparse.ArgumentParser(description="Run benchmark") +parser.add_argument('--window', default=0, type=int, help='window size to run hs with') +parser.add_argument('--target', choices=['baseline', 'hs-only', 'all'], + help='to run with sh or hs') +parser.add_argument('--log', choices=['enable', 'disable'], default="enable", + help='whether to enable logging for hs') + +env = os.environ.copy() + +def convert_time_to_float(time): + time = time.split("m") + return float(time[0]) * 60 + float(time[1][:-1]) + +def do_baseline_run(env): + result = run(["sudo", "docker", "run", "--privileged", "--rm", "hs/calc:latest", "/bin/bash", "-c", "time sh /root/calc/calc_build.sh"], stdout=PIPE, stderr=PIPE, env=env) + time = result.stderr.decode().split("\n")[-4].split("\t")[1] + return convert_time_to_float(time) + +def do_strace_run(env): + result = run(["sudo", "docker", "run", "--privileged", "--rm", "hs/calc:latest", "/bin/bash", "-c", "time strace -y -f --seccomp-bpf --trace=fork,clone,%file -o strace_trace bash -c \"/root/calc/calc_build.sh\""], stdout=PIPE, stderr=PIPE, env=env) + time = result.stderr.decode().split("\n")[-4].split("\t")[1] + return convert_time_to_float(time) + +def do_hs_run(window, log, env): + if log: + result = run(["sudo", "docker", "run", "--privileged", "--rm", "hs/calc:latest", "/bin/bash", "-c", f"time /srv/hs/pash-spec.sh -d 2 --window {window} /root/calc/calc_build.sh &> hs_trace"], stdout=PIPE, stderr=PIPE, env=env) + else: + result = run(["sudo", "docker", "run", "--privileged", "--rm", "hs/calc:latest", "/bin/bash", "-c", f"time /srv/hs/pash-spec.sh --window {window} /root/calc/calc_build.sh &> hs_trace"], stdout=PIPE, stderr=PIPE, env=env) + + time = result.stderr.decode().split("\n")[-4].split("\t")[1] + return convert_time_to_float(time), result.stderr.decode() + +def do_riker_run(env): + result = run(["sudo", "docker", "run", "--privileged", "--rm", "hs/calc:latest", "/bin/bash", "-c", "time rkr --log ir &> riker_trace"], stdout=PIPE, stderr=PIPE, env=env) + time = result.stderr.decode().split("\n")[-4].split("\t")[1] + + return convert_time_to_float(time) + +if __name__ == "__main__": + args = parser.parse_args() + test_base = Path(__file__).parent.resolve() + + if (args.log == "enable"): + log = True + else: + log = False + + run_all = args.target == "all" + run_hs = args.target == "hs-only" + run_baseline = args.target == "baseline" + + if not run_hs and not run_all and not run_baseline: + raise("Not running anything, add --target argument") + if not "PASH_SPEC_TOP" in os.environ: + raise("PASH_SPEC_TOP is not set") + + output_base = Path(os.path.expandvars("$PASH_SPEC_TOP/report/output/" + os.sep.join(test_base.parts[-1:]))) + output_base.mkdir(parents=True, exist_ok=True) + + if run_all: + baseline_time = do_baseline_run(env) + strace_time = do_strace_run(env) + riker_time = do_riker_run(env) + hs_time, hs_log = do_hs_run(args.window, log, env) + + print(f"baseline time: {baseline_time}") + print(f"strace time: {strace_time}") + print(f"Riker time: {riker_time}") + print(f"hs time: {hs_time}") + + with open(output_base / 'baseline_time', 'w') as file: + file.write(str(baseline_time)) + with open(output_base / 'strace_time', 'w') as file: + file.write(str(strace_time)) + with open(output_base / 'riker_time', 'w') as file: + file.write(str(riker_time)) + with open(output_base / 'hs_time', 'w') as file: + file.write(str(hs_time)) + if log: + with open(output_base / 'hs_log', 'w') as file: + file.write(hs_log) + elif run_hs: + hs_time, hs_log = do_hs_run(args.window, log, env) + print(f"hs time: {hs_time}") + with open(output_base / 'hs_time', 'w') as file: + file.write(str(hs_time)) + if log: + with open(output_base / 'hs_log', 'w') as file: + file.write(hs_log) + elif run_baseline: + baseline_time = do_baseline_run(env) + print(f"baseline time: {baseline_time}") + with open(output_base / 'baseline_time', 'w') as file: + file.write(str(baseline_time)) + else: + raise("Not running anything, add --target argument") + diff --git a/infrastructure/systems/Shark/riker/migrating/NEEDS_CLEANUP/coreutils/Dockerfile b/infrastructure/systems/Shark/riker/migrating/NEEDS_CLEANUP/coreutils/Dockerfile new file mode 100644 index 00000000..3a81ec37 --- /dev/null +++ b/infrastructure/systems/Shark/riker/migrating/NEEDS_CLEANUP/coreutils/Dockerfile @@ -0,0 +1,18 @@ +FROM hs-riker + +RUN apt-get update && apt-get install -y git wget gcc make libgmp-dev perl libacl1-dev libattr1-dev libcap-dev + +WORKDIR / + +RUN wget --no-clobber https://ftp.gnu.org/gnu/coreutils/coreutils-8.32.tar.gz +RUN tar xzf coreutils-8.32.tar.gz +RUN rm coreutils-8.32.tar.gz + +WORKDIR /coreutils-8.32 +ENV FORCE_UNSAFE_CONFIGURE=1 + +RUN test -f Makefile || ./configure +COPY coreutils_build.sh /coreutils-8.32/coreutils_build.sh +COPY coreutils_build.sh /coreutils-8.32/Rikerfile +RUN chmod +x /coreutils-8.32/Rikerfile +RUN chmod +x /coreutils-8.32/coreutils_build.sh \ No newline at end of file diff --git a/infrastructure/systems/Shark/riker/migrating/NEEDS_CLEANUP/coreutils/coreutils_build.sh b/infrastructure/systems/Shark/riker/migrating/NEEDS_CLEANUP/coreutils/coreutils_build.sh new file mode 100755 index 00000000..69f73e8c --- /dev/null +++ b/infrastructure/systems/Shark/riker/migrating/NEEDS_CLEANUP/coreutils/coreutils_build.sh @@ -0,0 +1,3 @@ +#!/bin/sh + +make clean all --quiet \ No newline at end of file diff --git a/infrastructure/systems/Shark/riker/migrating/NEEDS_CLEANUP/coreutils/run b/infrastructure/systems/Shark/riker/migrating/NEEDS_CLEANUP/coreutils/run new file mode 100755 index 00000000..c970b73b --- /dev/null +++ b/infrastructure/systems/Shark/riker/migrating/NEEDS_CLEANUP/coreutils/run @@ -0,0 +1,103 @@ +#!/usr/bin/env python3 + +import argparse +import os +from subprocess import run, PIPE +from pathlib import Path + +parser = argparse.ArgumentParser(description="Run benchmark") +parser.add_argument('--window', default=0, type=int, help='window size to run hs with') +parser.add_argument('--target', choices=['baseline', 'hs-only', 'all'], + help='to run with sh or hs') +parser.add_argument('--log', choices=['enable', 'disable'], default="enable", + help='whether to enable logging for hs') + +env = os.environ.copy() + +def convert_time_to_float(time): + time = time.split("m") + return float(time[0]) * 60 + float(time[1][:-1]) + +def do_baseline_run(env): + result = run(["sudo", "docker", "run", "--privileged", "--rm", "hs/coreutils:latest", "/bin/bash", "-c", "time sh /coreutils-8.32/coreutils_build.sh"], stdout=PIPE, stderr=PIPE, env=env) + time = result.stderr.decode().split("\n")[-4].split("\t")[1] + return convert_time_to_float(time) + +def do_strace_run(env): + result = run(["sudo", "docker", "run", "--privileged", "--rm", "hs/coreutils:latest", "/bin/bash", "-c", "time strace -y -f --seccomp-bpf --trace=fork,clone,%file -o strace_trace bash -c \"/coreutils-8.32/coreutils_build.sh\""], stdout=PIPE, stderr=PIPE, env=env) + time = result.stderr.decode().split("\n")[-4].split("\t")[1] + return convert_time_to_float(time) + +def do_hs_run(window, log, env): + if log: + result = run(["sudo", "docker", "run", "--privileged", "--rm", "hs/coreutils:latest", "/bin/bash", "-c", f"time /srv/hs/pash-spec.sh -d 2 --window {window} /coreutils-8.32/coreutils_build.sh &> hs_trace"], stdout=PIPE, stderr=PIPE, env=env) + else: + result = run(["sudo", "docker", "run", "--privileged", "--rm", "hs/coreutils:latest", "/bin/bash", "-c", f"time /srv/hs/pash-spec.sh --window {window} /coreutils-8.32/coreutils_build.sh &> hs_trace"], stdout=PIPE, stderr=PIPE, env=env) + + time = result.stderr.decode().split("\n")[-4].split("\t")[1] + return convert_time_to_float(time), result.stderr.decode() + +def do_riker_run(env): + result = run(["sudo", "docker", "run", "--privileged", "--rm", "hs/coreutils:latest", "/bin/bash", "-c", "time rkr --log ir &> riker_trace"], stdout=PIPE, stderr=PIPE, env=env) + time = result.stderr.decode().split("\n")[-4].split("\t")[1] + + return convert_time_to_float(time) + +if __name__ == "__main__": + args = parser.parse_args() + test_base = Path(__file__).parent.resolve() + + if (args.log == "enable"): + log = True + else: + log = False + + run_all = args.target == "all" + run_hs = args.target == "hs-only" + run_baseline = args.target == "baseline" + + if not run_hs and not run_all and not run_baseline: + raise("Not running anything, add --target argument") + if not "PASH_SPEC_TOP" in os.environ: + raise("PASH_SPEC_TOP is not set") + + output_base = Path(os.path.expandvars("$PASH_SPEC_TOP/report/output/" + os.sep.join(test_base.parts[-1:]))) + output_base.mkdir(parents=True, exist_ok=True) + + if run_all: + baseline_time = do_baseline_run(env) + strace_time = do_strace_run(env) + riker_time = do_riker_run(env) + hs_time, hs_log = do_hs_run(args.window, log, env) + + print(f"baseline time: {baseline_time}") + print(f"strace time: {strace_time}") + print(f"Riker time: {riker_time}") + print(f"hs time: {hs_time}") + + with open(output_base / 'baseline_time', 'w') as file: + file.write(str(baseline_time)) + with open(output_base / 'strace_time', 'w') as file: + file.write(str(strace_time)) + with open(output_base / 'riker_time', 'w') as file: + file.write(str(riker_time)) + with open(output_base / 'hs_time', 'w') as file: + file.write(str(hs_time)) + if log: + with open(output_base / 'hs_log', 'w') as file: + file.write(hs_log) + elif run_hs: + hs_time, hs_log = do_hs_run(args.window, log, env) + print(f"hs time: {hs_time}") + with open(output_base / 'hs_time', 'w') as file: + file.write(str(hs_time)) + if log: + with open(output_base / 'hs_log', 'w') as file: + file.write(hs_log) + elif run_baseline: + baseline_time = do_baseline_run(env) + print(f"baseline time: {baseline_time}") + with open(output_base / 'baseline_time', 'w') as file: + file.write(str(baseline_time)) + else: + raise("Not running anything, add --target argument") diff --git a/infrastructure/systems/Shark/riker/migrating/NEEDS_CLEANUP/llvm/Dockerfile b/infrastructure/systems/Shark/riker/migrating/NEEDS_CLEANUP/llvm/Dockerfile new file mode 100644 index 00000000..87e50ce8 --- /dev/null +++ b/infrastructure/systems/Shark/riker/migrating/NEEDS_CLEANUP/llvm/Dockerfile @@ -0,0 +1,18 @@ +FROM hs-riker + +RUN apt-get update && apt-get install -y git clang cmake + +WORKDIR / + +RUN git clone https://github.com/llvm/llvm-project.git +WORKDIR /llvm-project +RUN git checkout d28af7c654d8db0b68c175db5ce212d74fb5e9bc +RUN rm -rf llvm-build && mkdir llvm-build + +WORKDIR /llvm-project/llvm-build +RUN cmake -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ -DCMAKE_BUILD_TYPE=Release -DLLVM_TARGETS_TO_BUILD=X86 -DLLVM_ENABLE_BINDINGS=0 ../llvm + +COPY llvm_build.sh /llvm-project/llvm-build/llvm_build.sh +COPY llvm_build.sh /llvm-project/llvm-build/Rikerfile +RUN chmod +x /llvm-project/llvm-build/Rikerfile +RUN chmod +x /llvm-project/llvm-build/llvm_build.sh \ No newline at end of file diff --git a/infrastructure/systems/Shark/riker/migrating/NEEDS_CLEANUP/llvm/llvm_build.sh b/infrastructure/systems/Shark/riker/migrating/NEEDS_CLEANUP/llvm/llvm_build.sh new file mode 100755 index 00000000..038de9af --- /dev/null +++ b/infrastructure/systems/Shark/riker/migrating/NEEDS_CLEANUP/llvm/llvm_build.sh @@ -0,0 +1,3 @@ +#!/bin/sh + +make --always-make \ No newline at end of file diff --git a/infrastructure/systems/Shark/riker/migrating/NEEDS_CLEANUP/llvm/run b/infrastructure/systems/Shark/riker/migrating/NEEDS_CLEANUP/llvm/run new file mode 100755 index 00000000..985a0360 --- /dev/null +++ b/infrastructure/systems/Shark/riker/migrating/NEEDS_CLEANUP/llvm/run @@ -0,0 +1,107 @@ +#!/usr/bin/env python3 + +import argparse +import os +from subprocess import run, PIPE +from pathlib import Path + +parser = argparse.ArgumentParser(description="Run benchmark") +parser.add_argument('--window', default=0, type=int, help='window size to run hs with') +parser.add_argument('--target', choices=['baseline', 'hs-only', 'all'], + help='to run with sh or hs') +parser.add_argument('--log', choices=['enable', 'disable'], default="enable", + help='whether to enable logging for hs') + +env = os.environ.copy() + +def convert_time_to_float(time): + time = time.split("m") + return float(time[0]) * 60 + float(time[1][:-1]) + +def do_baseline_run(env): + result = run(["sudo", "docker", "run", "--privileged", "--rm", "hs/llvm:latest", "/bin/bash", "-c", "time sh /llvm-project/llvm-build/llvm_build.sh"], stdout=PIPE, stderr=PIPE, env=env) + time = result.stderr.decode().split("\n")[-4].split("\t")[1] + return convert_time_to_float(time) + +def do_strace_run(env): + result = run(["sudo", "docker", "run", "--privileged", "--rm", "hs/llvm:latest", "/bin/bash", "-c", "time strace -y -f --seccomp-bpf --trace=fork,clone,%file -o strace_trace bash -c \"/llvm-project/llvm-build/llvm_build.sh\""], stdout=PIPE, stderr=PIPE, env=env) + time = result.stderr.decode().split("\n")[-4].split("\t")[1] + # print(result.stderr.decode()) + return convert_time_to_float(time) + +def do_hs_run(window, log, env): + if log: + result = run(["sudo", "docker", "run", "--privileged", "--rm", "hs/llvm:latest", "/bin/bash", "-c", f"time /srv/hs/pash-spec.sh -d 2 --window {window} /llvm-project/llvm-build/llvm_build.sh &> hs_trace"], stdout=PIPE, stderr=PIPE, env=env) + else: + result = run(["sudo", "docker", "run", "--privileged", "--rm", "hs/llvm:latest", "/bin/bash", "-c", f"time /srv/hs/pash-spec.sh --window {window} /llvm-project/llvm-build/llvm_build.sh &> hs_trace"], stdout=PIPE, stderr=PIPE, env=env) + + time = result.stderr.decode().split("\n")[-4].split("\t")[1] + + print(result.stderr.decode().split("\n")) + print(result.stdout.decode().split("\n")) + return convert_time_to_float(time), result.stderr.decode() + +def do_riker_run(env): + result = run(["sudo", "docker", "run", "--privileged", "--rm", "hs/llvm:latest", "/bin/bash", "-c", "time rkr --log ir &> riker_trace"], stdout=PIPE, stderr=PIPE, env=env) + time = result.stderr.decode().split("\n")[-4].split("\t")[1] + # print(result.stderr.decode()) + return convert_time_to_float(time) + +if __name__ == "__main__": + args = parser.parse_args() + test_base = Path(__file__).parent.resolve() + + if (args.log == "enable"): + log = True + else: + log = False + + run_all = args.target == "all" + run_hs = args.target == "hs-only" + run_baseline = args.target == "baseline" + + if not run_hs and not run_all and not run_baseline: + raise("Not running anything, add --target argument") + if not "PASH_SPEC_TOP" in os.environ: + raise("PASH_SPEC_TOP is not set") + + output_base = Path(os.path.expandvars("$PASH_SPEC_TOP/report/output/" + os.sep.join(test_base.parts[-1:]))) + output_base.mkdir(parents=True, exist_ok=True) + + if run_all: + baseline_time = do_baseline_run(env) + print(f"baseline time: {baseline_time}") + strace_time = do_strace_run(env) + print(f"strace time: {strace_time}") + riker_time = do_riker_run(env) + print(f"Riker time: {riker_time}") + hs_time, hs_log = do_hs_run(args.window, log, env) + print(f"hs time: {hs_time}") + + with open(output_base / 'baseline_time', 'w') as file: + file.write(str(baseline_time)) + with open(output_base / 'strace_time', 'w') as file: + file.write(str(strace_time)) + with open(output_base / 'riker_time', 'w') as file: + file.write(str(riker_time)) + with open(output_base / 'hs_time', 'w') as file: + file.write(str(hs_time)) + if log: + with open(output_base / 'hs_log', 'w') as file: + file.write(hs_log) + elif run_hs: + hs_time, hs_log = do_hs_run(args.window, log, env) + print(f"hs time: {hs_time}") + with open(output_base / 'hs_time', 'w') as file: + file.write(str(hs_time)) + if log: + with open(output_base / 'hs_log', 'w') as file: + file.write(hs_log) + elif run_baseline: + baseline_time = do_baseline_run(env) + print(f"baseline time: {baseline_time}") + with open(output_base / 'baseline_time', 'w') as file: + file.write(str(baseline_time)) + else: + raise("Not running anything, add --target argument") + diff --git a/infrastructure/systems/Shark/riker/migrating/NEEDS_CLEANUP/make/Dockerfile b/infrastructure/systems/Shark/riker/migrating/NEEDS_CLEANUP/make/Dockerfile new file mode 100644 index 00000000..3e9cde75 --- /dev/null +++ b/infrastructure/systems/Shark/riker/migrating/NEEDS_CLEANUP/make/Dockerfile @@ -0,0 +1,19 @@ +FROM hs-riker + +RUN apt-get update && apt-get install -y wget \ + gcc \ + make + +WORKDIR / + +RUN wget http://ftp.gnu.org/gnu/make/make-4.3.tar.gz && \ + tar xzf make-4.3.tar.gz && \ + rm make-4.3.tar.gz +WORKDIR /make-4.3 +RUN ./configure && \ + make clean + +COPY make_build.sh /make-4.3/make_build.sh +COPY make_build.sh /make-4.3/Rikerfile +RUN chmod +x /make-4.3/Rikerfile +RUN chmod +x /make-4.3/make_build.sh \ No newline at end of file diff --git a/infrastructure/systems/Shark/riker/migrating/NEEDS_CLEANUP/make/make_build.sh b/infrastructure/systems/Shark/riker/migrating/NEEDS_CLEANUP/make/make_build.sh new file mode 100755 index 00000000..69f73e8c --- /dev/null +++ b/infrastructure/systems/Shark/riker/migrating/NEEDS_CLEANUP/make/make_build.sh @@ -0,0 +1,3 @@ +#!/bin/sh + +make clean all --quiet \ No newline at end of file diff --git a/infrastructure/systems/Shark/riker/migrating/NEEDS_CLEANUP/make/run b/infrastructure/systems/Shark/riker/migrating/NEEDS_CLEANUP/make/run new file mode 100755 index 00000000..099e4238 --- /dev/null +++ b/infrastructure/systems/Shark/riker/migrating/NEEDS_CLEANUP/make/run @@ -0,0 +1,104 @@ +#!/usr/bin/env python3 + +import argparse +import os +from subprocess import run, PIPE +from pathlib import Path + +parser = argparse.ArgumentParser(description="Run benchmark") +parser.add_argument('--window', default=0, type=int, help='window size to run hs with') +parser.add_argument('--target', choices=['baseline', 'hs-only', 'all'], + help='to run with sh or hs') +parser.add_argument('--log', choices=['enable', 'disable'], default="enable", + help='whether to enable logging for hs') + +env = os.environ.copy() + +def convert_time_to_float(time): + time = time.split("m") + return float(time[0]) * 60 + float(time[1][:-1]) + +def do_baseline_run(env): + result = run(["sudo", "docker", "run", "--privileged", "--rm", "hs/make:latest", "/bin/bash", "-c", "time sh /make-4.3/make_build.sh"], stdout=PIPE, stderr=PIPE, env=env) + time = result.stderr.decode().split("\n")[-4].split("\t")[1] + return convert_time_to_float(time) + +def do_strace_run(env): + result = run(["sudo", "docker", "run", "--privileged", "--rm", "hs/make:latest", "/bin/bash", "-c", "time strace -y -f --seccomp-bpf --trace=fork,clone,%file -o strace_trace bash -c \"/make-4.3/make_build.sh\""], stdout=PIPE, stderr=PIPE, env=env) + time = result.stderr.decode().split("\n")[-4].split("\t")[1] + # print(result.stderr.decode()) + return convert_time_to_float(time) + +def do_hs_run(window, log, env): + if log: + result = run(["sudo", "docker", "run", "--privileged", "--rm", "hs/make:latest", "/bin/bash", "-c", f"time /srv/hs/pash-spec.sh -d 2 --window {window} /make-4.3/make_build.sh &> hs_trace"], stdout=PIPE, stderr=PIPE, env=env) + else: + result = run(["sudo", "docker", "run", "--privileged", "--rm", "hs/make:latest", "/bin/bash", "-c", f"time /srv/hs/pash-spec.sh --window {window} /make-4.3/make_build.sh &> hs_trace"], stdout=PIPE, stderr=PIPE, env=env) + + time = result.stderr.decode().split("\n")[-4].split("\t")[1] + return convert_time_to_float(time), result.stderr.decode() + +def do_riker_run(env): + result = run(["sudo", "docker", "run", "--privileged", "--rm", "hs/make:latest", "/bin/bash", "-c", "time rkr --log ir &> riker_trace"], stdout=PIPE, stderr=PIPE, env=env) + time = result.stderr.decode().split("\n")[-4].split("\t")[1] + + return convert_time_to_float(time) + +if __name__ == "__main__": + args = parser.parse_args() + test_base = Path(__file__).parent.resolve() + + if (args.log == "enable"): + log = True + else: + log = False + + run_all = args.target == "all" + run_hs = args.target == "hs-only" + run_baseline = args.target == "baseline" + + if not run_hs and not run_all and not run_baseline: + raise("Not running anything, add --target argument") + if not "PASH_SPEC_TOP" in os.environ: + raise("PASH_SPEC_TOP is not set") + + output_base = Path(os.path.expandvars("$PASH_SPEC_TOP/report/output/" + os.sep.join(test_base.parts[-1:]))) + output_base.mkdir(parents=True, exist_ok=True) + + if run_all: + baseline_time = do_baseline_run(env) + strace_time = do_strace_run(env) + riker_time = do_riker_run(env) + hs_time, hs_log = do_hs_run(args.window, log, env) + + print(f"baseline time: {baseline_time}") + print(f"strace time: {strace_time}") + print(f"Riker time: {riker_time}") + print(f"hs time: {hs_time}") + + with open(output_base / 'baseline_time', 'w') as file: + file.write(str(baseline_time)) + with open(output_base / 'strace_time', 'w') as file: + file.write(str(strace_time)) + with open(output_base / 'riker_time', 'w') as file: + file.write(str(riker_time)) + with open(output_base / 'hs_time', 'w') as file: + file.write(str(hs_time)) + if log: + with open(output_base / 'hs_log', 'w') as file: + file.write(hs_log) + elif run_hs: + hs_time, hs_log = do_hs_run(args.window, log, env) + print(f"hs time: {hs_time}") + with open(output_base / 'hs_time', 'w') as file: + file.write(str(hs_time)) + if log: + with open(output_base / 'hs_log', 'w') as file: + file.write(hs_log) + elif run_baseline: + baseline_time = do_baseline_run(env) + print(f"baseline time: {baseline_time}") + with open(output_base / 'baseline_time', 'w') as file: + file.write(str(baseline_time)) + else: + raise("Not running anything, add --target argument") diff --git a/infrastructure/systems/Shark/riker/migrating/NEEDS_CLEANUP/protobuf/Dockerfile b/infrastructure/systems/Shark/riker/migrating/NEEDS_CLEANUP/protobuf/Dockerfile new file mode 100644 index 00000000..497017c2 --- /dev/null +++ b/infrastructure/systems/Shark/riker/migrating/NEEDS_CLEANUP/protobuf/Dockerfile @@ -0,0 +1,19 @@ +FROM hs-riker + +WORKDIR / + +RUN apt-get update && apt-get install -y git make gcc autoconf libtool g++ + +RUN git clone https://github.com/protocolbuffers/protobuf.git +WORKDIR /protobuf +RUN git checkout 909a0f36a10075c4b4bc70fdee2c7e32dd612a72 + +RUN autoreconf -i +RUN ./autogen.sh +RUN test -f Makefile || ./configure +RUN make clean + +COPY protobuf_build.sh /protobuf/protobuf_build.sh +COPY protobuf_build.sh /protobuf/Rikerfile +RUN chmod +x /protobuf/Rikerfile +RUN chmod +x /protobuf/protobuf_build.sh \ No newline at end of file diff --git a/infrastructure/systems/Shark/riker/migrating/NEEDS_CLEANUP/protobuf/protobuf_build.sh b/infrastructure/systems/Shark/riker/migrating/NEEDS_CLEANUP/protobuf/protobuf_build.sh new file mode 100755 index 00000000..69f73e8c --- /dev/null +++ b/infrastructure/systems/Shark/riker/migrating/NEEDS_CLEANUP/protobuf/protobuf_build.sh @@ -0,0 +1,3 @@ +#!/bin/sh + +make clean all --quiet \ No newline at end of file diff --git a/infrastructure/systems/Shark/riker/migrating/NEEDS_CLEANUP/protobuf/run b/infrastructure/systems/Shark/riker/migrating/NEEDS_CLEANUP/protobuf/run new file mode 100755 index 00000000..673e5de7 --- /dev/null +++ b/infrastructure/systems/Shark/riker/migrating/NEEDS_CLEANUP/protobuf/run @@ -0,0 +1,104 @@ +#!/usr/bin/env python3 + +import argparse +import os +from subprocess import run, PIPE +from pathlib import Path + +parser = argparse.ArgumentParser(description="Run benchmark") +parser.add_argument('--window', default=0, type=int, help='window size to run hs with') +parser.add_argument('--target', choices=['baseline', 'hs-only', 'all'], + help='to run with sh or hs') +parser.add_argument('--log', choices=['enable', 'disable'], default="enable", + help='whether to enable logging for hs') + +env = os.environ.copy() + +def convert_time_to_float(time): + time = time.split("m") + return float(time[0]) * 60 + float(time[1][:-1]) + +def do_baseline_run(env): + result = run(["sudo", "docker", "run", "--privileged", "--rm", "hs/protobuf:latest", "/bin/bash", "-c", "time sh /protobuf/protobuf_build.sh"], stdout=PIPE, stderr=PIPE, env=env) + time = result.stderr.decode().split("\n")[-4].split("\t")[1] + return convert_time_to_float(time) + +def do_strace_run(env): + result = run(["sudo", "docker", "run", "--privileged", "--rm", "hs/protobuf:latest", "/bin/bash", "-c", "time strace -y -f --seccomp-bpf --trace=fork,clone,%file -o strace_trace bash -c \"/protobuf/protobuf_build.sh\""], stdout=PIPE, stderr=PIPE, env=env) + time = result.stderr.decode().split("\n")[-4].split("\t")[1] + # print(result.stderr.decode()) + return convert_time_to_float(time) + +def do_hs_run(window, log, env): + if log: + result = run(["sudo", "docker", "run", "--privileged", "--rm", "hs/protobuf:latest", "/bin/bash", "-c", f"time /srv/hs/pash-spec.sh -d 2 --window {window} /protobuf/protobuf_build.sh &> hs_trace"], stdout=PIPE, stderr=PIPE, env=env) + else: + result = run(["sudo", "docker", "run", "--privileged", "--rm", "hs/protobuf:latest", "/bin/bash", "-c", f"time /srv/hs/pash-spec.sh --window {window} /protobuf/protobuf_build.sh &> hs_trace"], stdout=PIPE, stderr=PIPE, env=env) + + time = result.stderr.decode().split("\n")[-4].split("\t")[1] + return convert_time_to_float(time), result.stderr.decode() + +def do_riker_run(env): + result = run(["sudo", "docker", "run", "--privileged", "--rm", "hs/protobuf:latest", "/bin/bash", "-c", "time rkr --log ir &> riker_trace"], stdout=PIPE, stderr=PIPE, env=env) + time = result.stderr.decode().split("\n")[-4].split("\t")[1] + + return convert_time_to_float(time) + +if __name__ == "__main__": + args = parser.parse_args() + test_base = Path(__file__).parent.resolve() + + if (args.log == "enable"): + log = True + else: + log = False + + run_all = args.target == "all" + run_hs = args.target == "hs-only" + run_baseline = args.target == "baseline" + + if not run_hs and not run_all and not run_baseline: + raise("Not running anything, add --target argument") + if not "PASH_SPEC_TOP" in os.environ: + raise("PASH_SPEC_TOP is not set") + + output_base = Path(os.path.expandvars("$PASH_SPEC_TOP/report/output/" + os.sep.join(test_base.parts[-1:]))) + output_base.mkdir(parents=True, exist_ok=True) + + if run_all: + baseline_time = do_baseline_run(env) + strace_time = do_strace_run(env) + riker_time = do_riker_run(env) + hs_time, hs_log = do_hs_run(args.window, log, env) + + print(f"baseline time: {baseline_time}") + print(f"strace time: {strace_time}") + print(f"Riker time: {riker_time}") + print(f"hs time: {hs_time}") + + with open(output_base / 'baseline_time', 'w') as file: + file.write(str(baseline_time)) + with open(output_base / 'strace_time', 'w') as file: + file.write(str(strace_time)) + with open(output_base / 'riker_time', 'w') as file: + file.write(str(riker_time)) + with open(output_base / 'hs_time', 'w') as file: + file.write(str(hs_time)) + if log: + with open(output_base / 'hs_log', 'w') as file: + file.write(hs_log) + elif run_hs: + hs_time, hs_log = do_hs_run(args.window, log, env) + print(f"hs time: {hs_time}") + with open(output_base / 'hs_time', 'w') as file: + file.write(str(hs_time)) + if log: + with open(output_base / 'hs_log', 'w') as file: + file.write(hs_log) + elif run_baseline: + baseline_time = do_baseline_run(env) + print(f"baseline time: {baseline_time}") + with open(output_base / 'baseline_time', 'w') as file: + file.write(str(baseline_time)) + else: + raise("Not running anything, add --target argument") diff --git a/infrastructure/systems/Shark/riker/migrating/WITH_DOCKER/setup b/infrastructure/systems/Shark/riker/migrating/WITH_DOCKER/setup new file mode 100755 index 00000000..c8fd8acd --- /dev/null +++ b/infrastructure/systems/Shark/riker/migrating/WITH_DOCKER/setup @@ -0,0 +1,10 @@ +#!/bin/bash + +echo please ensure you build the Dockerfile at the root of the repo with the tag hs +# Building riker on top of the base hs image +sudo docker build -t hs-riker ./benchmarks/riker/ + +for experiment in autoconf calc coreutils llvm lsof lua make memcached protobuf redis sqlite vim xz xz-clang; do + echo "Building hs/$experiment docker image..." + sudo docker build -t hs/$experiment ./benchmarks/riker/$experiment/ +done diff --git a/infrastructure/systems/Shark/riker/migrating/lsof/build.sh b/infrastructure/systems/Shark/riker/migrating/lsof/build.sh new file mode 100755 index 00000000..8c326cef --- /dev/null +++ b/infrastructure/systems/Shark/riker/migrating/lsof/build.sh @@ -0,0 +1,32 @@ +#!/bin/sh + +CFLAGS="-DLINUXV=54114 -DGLIBCV=231 -DHASIPv6 -DNEEDS_NETINET_TCPH -DHASUXSOCKEPT -DHASPTYEPT -DHASSOSTATE -DHASSOOPT -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -DHAS_STRFTIME -DLSOF_VSTR=\"5.4.114\" -O -Wno-format-truncation" + +# Build lib/liblsof.a +cd lib + +rm -f *.o +cc $CFLAGS -c *.c +ar cr liblsof.a *.o +ranlib liblsof.a +rm -f *.o + +cd .. + +# Generate version.h +rm -f version.h +echo '#define LSOF_BLDCMT ""' > version.h; +echo '#define LSOF_CC "cc"' >> version.h +echo '#define LSOF_CCV "'`cc -v 2>&1 | sed -n 's/.*version \(.*\)/\1/p'`'"' >> version.h +echo '#define LSOF_CCDATE "'`date`'"' >> version.h +echo '#define LSOF_CCFLAGS "'`echo $CFLAGS | sed 's/\\\\(/\\(/g' | sed 's/\\\\)/\\)/g' | sed 's/"/\\\\"/g'`'"' >> version.h +echo '#define LSOF_CINFO ""' >> version.h +echo '#define LSOF_HOST "'`uname -n`'"' >> version.h +echo '#define LSOF_LDFLAGS "-L./lib -llsof "' >> version.h +echo '#define LSOF_LOGNAME "'`whoami`'"' >> version.h +echo '#define LSOF_SYSINFO "'`uname -a`'"' >> version.h +echo '#define LSOF_USER "'`whoami`'"' >> version.h +sed '/VN/s/.ds VN \(.*\)/#define LSOF_VERSION "\1"/' < version >> version.h + +# Now build the lsof executable +cc $CFLAGS -o lsof *.c -L./lib -lnsl -ltirpc \ No newline at end of file diff --git a/infrastructure/systems/Shark/riker/migrating/lsof/cleanup.sh b/infrastructure/systems/Shark/riker/migrating/lsof/cleanup.sh new file mode 100755 index 00000000..8eef5cb8 --- /dev/null +++ b/infrastructure/systems/Shark/riker/migrating/lsof/cleanup.sh @@ -0,0 +1,7 @@ +#!/bin/bash + +REPO_TOP="$(git rev-parse --show-toplevel)" +eval_dir="${REPO_TOP}/riker" +input_dir="${eval_dir}/input/scripts/lsof" + +rm -rf "$input_dir/dev" diff --git a/infrastructure/systems/Shark/riker/migrating/lsof/deps.sh b/infrastructure/systems/Shark/riker/migrating/lsof/deps.sh new file mode 100755 index 00000000..06eeb0d9 --- /dev/null +++ b/infrastructure/systems/Shark/riker/migrating/lsof/deps.sh @@ -0,0 +1,3 @@ +#!/bin/bash + +sudo apt install -y gcc libtirpc-dev diff --git a/infrastructure/systems/Shark/riker/migrating/lsof/input.sh b/infrastructure/systems/Shark/riker/migrating/lsof/input.sh new file mode 100755 index 00000000..413d65ab --- /dev/null +++ b/infrastructure/systems/Shark/riker/migrating/lsof/input.sh @@ -0,0 +1,12 @@ +#!/bin/bash + +REPO_TOP="$(git rev-parse --show-toplevel)" +eval_dir="${REPO_TOP}/riker" +input_dir="${eval_dir}/input/scripts/lsof" + +mkdir -p "$input_dir/dev" + +git clone https://github.com/lsof-org/lsof.git "$input_dir/dev" +git -C "$input_dir/dev" checkout 005e014e1abdadb2493d8b3ce87b37a2c0a2351d +(cd "$input_dir/dev" && "$input_dir/dev/Configure" -n linux) + diff --git a/infrastructure/systems/Shark/riker/migrating/lsof/run.sh b/infrastructure/systems/Shark/riker/migrating/lsof/run.sh new file mode 100755 index 00000000..f45bfcb3 --- /dev/null +++ b/infrastructure/systems/Shark/riker/migrating/lsof/run.sh @@ -0,0 +1,10 @@ +#!/bin/bash + +REPO_TOP="$(git rev-parse --show-toplevel)" +eval_dir="${REPO_TOP}/riker" +input_dir="${eval_dir}/input/scripts" +scripts_dir="${eval_dir}/scripts" + +BENCHMARK_SHELL=${BENCHMARK_SHELL:-bash} +(cd "$input_dir/lsof/dev" && $BENCHMARK_SHELL "$scripts_dir/lsof/build.sh") + diff --git a/infrastructure/systems/Shark/riker/migrating/lsof/verify.sh b/infrastructure/systems/Shark/riker/migrating/lsof/verify.sh new file mode 100755 index 00000000..28894d87 --- /dev/null +++ b/infrastructure/systems/Shark/riker/migrating/lsof/verify.sh @@ -0,0 +1,3 @@ +#!/bin/bash + +# no verification at this time diff --git a/infrastructure/systems/Shark/riker/run.sh b/infrastructure/systems/Shark/riker/run.sh new file mode 100755 index 00000000..6174cec1 --- /dev/null +++ b/infrastructure/systems/Shark/riker/run.sh @@ -0,0 +1,10 @@ +#!/bin/bash + +REPO_TOP="$(git rev-parse --show-toplevel)" +eval_dir="${REPO_TOP}/riker" +scripts_dir="${eval_dir}/scripts" + +for bench in "$scripts_dir"/*; do + "$bench/run.sh" $@ +done + diff --git a/infrastructure/systems/Shark/riker/scripts/lua/README.md b/infrastructure/systems/Shark/riker/scripts/lua/README.md new file mode 100644 index 00000000..88513dbb --- /dev/null +++ b/infrastructure/systems/Shark/riker/scripts/lua/README.md @@ -0,0 +1,25 @@ +## Running instructions + +`git pull ghcr.io/binpash/hs/lua:latest` + +Or build it yourself by running `docker build -t hs/lua .` from this directory. + +Running with HS +`docker run --privileged -it --rm ghcr.io/binpash/hs/lua:latest /bin/bash -c 'time /srv/hs/pash-spec.sh /root/lua-5.4.3/lua_build.sh &> /dev/null && sha256sum /root/lua-5.4.3/src/lua'` + +``` +real 0m6.121s +user 0m5.379s +sys 0m1.111s +aeefc061ed3bb3f6831fcabf5e09f4f9dc53c5dbb91f0858230baf47bff25701 /root/lua-5.4.3/src/lua +``` + +Running with shell +`docker run --privileged -it --rm ghcr.io/binpash/hs/lua:latest /bin/bash -c 'time sh /root/lua-5.4.3/lua_build.sh &> /dev/null && sha256sum /root/lua-5.4.3/src/lua'` + +``` +real 0m3.155s +user 0m2.934s +sys 0m0.221s +aeefc061ed3bb3f6831fcabf5e09f4f9dc53c5dbb91f0858230baf47bff25701 /root/lua-5.4.3/src/lua +``` diff --git a/infrastructure/systems/Shark/riker/scripts/lua/build.sh b/infrastructure/systems/Shark/riker/scripts/lua/build.sh new file mode 100755 index 00000000..66816c34 --- /dev/null +++ b/infrastructure/systems/Shark/riker/scripts/lua/build.sh @@ -0,0 +1,28 @@ +#!/bin/sh + +CFLAGS="-std=gnu99 -O2 -Wall -Wextra -DLUA_COMPAT_5_3 -DLUA_USE_LINUX" + +# gcc $CFLAGS -c `ls *.c | grep -v lua_` + +for file in $(ls *.c | grep -v -E '^(lua|luac)\.c$'); do + gcc $CFLAGS -c "$file" & +done + +wait + + +ar rcu liblua.a lapi.o lcode.o lctype.o ldebug.o ldo.o ldump.o lfunc.o lgc.o llex.o lmem.o lobject.o lopcodes.o lparser.o lstate.o lstring.o ltable.o ltm.o lundump.o lvm.o lzio.o lauxlib.o lbaselib.o lcorolib.o ldblib.o liolib.o lmathlib.o loadlib.o loslib.o lstrlib.o ltablib.o lutf8lib.o linit.o +ranlib liblua.a + +# gcc $CFLAGS -c -o lua.o lua.c +# gcc -std=gnu99 -o lua lua.o liblua.a -lm -Wl,-E -ldl +# gcc $CFLAGS -c -o luac.o luac.c +# gcc -std=gnu99 -o luac luac.o liblua.a -lm -Wl,-E -ldl + +gcc $CFLAGS -c -o lua.o lua.c & +gcc $CFLAGS -c -o luac.o luac.c & +wait + +gcc -std=gnu99 -o lua lua.o liblua.a -lm -Wl,-E -ldl & +gcc -std=gnu99 -o luac luac.o liblua.a -lm -Wl,-E -ldl +wait \ No newline at end of file diff --git a/infrastructure/systems/Shark/riker/scripts/lua/cleanup.sh b/infrastructure/systems/Shark/riker/scripts/lua/cleanup.sh new file mode 100755 index 00000000..2a4f4bd7 --- /dev/null +++ b/infrastructure/systems/Shark/riker/scripts/lua/cleanup.sh @@ -0,0 +1,7 @@ +#!/bin/bash + +REPO_TOP="$(git rev-parse --show-toplevel)" +eval_dir="${REPO_TOP}/riker" +input_dir="${eval_dir}/input/scripts/lua" + +rm -rf "$input_dir" diff --git a/infrastructure/systems/Shark/riker/scripts/lua/deps.sh b/infrastructure/systems/Shark/riker/scripts/lua/deps.sh new file mode 100755 index 00000000..835325f8 --- /dev/null +++ b/infrastructure/systems/Shark/riker/scripts/lua/deps.sh @@ -0,0 +1,4 @@ +#!/bin/bash + +sudo apt install -y gcc make wget + diff --git a/infrastructure/systems/Shark/riker/scripts/lua/input.sh b/infrastructure/systems/Shark/riker/scripts/lua/input.sh new file mode 100755 index 00000000..8b1eba96 --- /dev/null +++ b/infrastructure/systems/Shark/riker/scripts/lua/input.sh @@ -0,0 +1,11 @@ +#!/bin/bash + +REPO_TOP="$(git rev-parse --show-toplevel)" +eval_dir="${REPO_TOP}/riker" +input_dir="${eval_dir}/input/scripts/lua" + +mkdir -p "$input_dir" + +tar_path="$input_dir/lua-5.4.3.tar.gz" +wget https://www.lua.org/ftp/lua-5.4.3.tar.gz -O "$tar_path" +tar xzf "$tar_path" -C "$input_dir" diff --git a/infrastructure/systems/Shark/riker/scripts/lua/run.sh b/infrastructure/systems/Shark/riker/scripts/lua/run.sh new file mode 100755 index 00000000..662fdeaa --- /dev/null +++ b/infrastructure/systems/Shark/riker/scripts/lua/run.sh @@ -0,0 +1,10 @@ +#!/bin/bash + +REPO_TOP="$(git rev-parse --show-toplevel)" +eval_dir="${REPO_TOP}/riker" +input_dir="${eval_dir}/input/scripts" +scripts_dir="${eval_dir}/scripts" + +BENCHMARK_SHELL=${BENCHMARK_SHELL:-bash} +(cd "$input_dir/lua/lua-5.4.3/src" && $BENCHMARK_SHELL "$scripts_dir/lua/build.sh") + diff --git a/infrastructure/systems/Shark/riker/scripts/lua/verify.sh b/infrastructure/systems/Shark/riker/scripts/lua/verify.sh new file mode 100755 index 00000000..b350e7d1 --- /dev/null +++ b/infrastructure/systems/Shark/riker/scripts/lua/verify.sh @@ -0,0 +1,9 @@ +#!/bin/bash + +REPO_TOP="$(git rev-parse --show-toplevel)" +eval_dir="${REPO_TOP}/riker" +scripts_dir="${eval_dir}/scripts" +input_dir="${eval_dir}/input" + +"$input_dir/scripts/lua/lua-5.4.3/src/lua" -e 'print("Hello, Riker!")' | diff -q - <(echo "Hello, Riker!") +echo riker/lua $? diff --git a/infrastructure/systems/Shark/riker/scripts/memcached/build.sh b/infrastructure/systems/Shark/riker/scripts/memcached/build.sh new file mode 100755 index 00000000..ab6b7ad9 --- /dev/null +++ b/infrastructure/systems/Shark/riker/scripts/memcached/build.sh @@ -0,0 +1,32 @@ +#!/bin/sh + +CFLAGS="-DHAVE_CONFIG_H -I. -g -O2 -pthread -pthread -Wall -pedantic -Wmissing-prototypes -Wmissing-declarations -Wredundant-decls" + +MEMCACHED_SRC="memcached.c hash.c jenkins_hash.c murmur3_hash.c slabs.c items.c assoc.c thread.c daemon.c stats_prefix.c util.c cache.c bipbuffer.c logger.c crawler.c itoa_ljust.c slab_automove.c authfile.c restart.c extstore.c crc32c.c storage.c slab_automove_extstore.c" + +TESTAPP_SRC="testapp.c util.c stats_prefix.c jenkins_hash.c murmur3_hash.c cache.c crc32c.c" + +# Conditionals to handle changes in memcached build over the 100 commits +if [ -f "proto_text.c" ]; +then + MEMCACHED_SRC="$MEMCACHED_SRC proto_text.c proto_bin.c" +else + TESTAPP_SRC="$TESTAPP_SRC hash.c" +fi + +# # Build the release version of memcached +# gcc $CFLAGS -DNDEBUG -o memcached $MEMCACHED_SRC -levent +# # Build the debug version of memcached +# gcc $CFLAGS -fprofile-arcs -ftest-coverage -DMEMCACHED_DEBUG -o memcached-debug $MEMCACHED_SRC -levent +# # Build the sizes executable +# gcc $CFLAGS -o sizes sizes.c -levent +# # Build the testapp executable +# gcc $CFLAGS -o testapp $TESTAPP_SRC -levent +# # Build the timedrun executable +# gcc $CFLAGS -o timedrun timedrun.c -levent +gcc $CFLAGS -DNDEBUG -o memcached $MEMCACHED_SRC -levent & +gcc $CFLAGS -fprofile-arcs -ftest-coverage -DMEMCACHED_DEBUG -o memcached-debug $MEMCACHED_SRC -levent & +gcc $CFLAGS -o sizes sizes.c -levent & +gcc $CFLAGS -o testapp $TESTAPP_SRC -levent & +gcc $CFLAGS -o timedrun timedrun.c -levent & +wait \ No newline at end of file diff --git a/infrastructure/systems/Shark/riker/scripts/memcached/cleanup.sh b/infrastructure/systems/Shark/riker/scripts/memcached/cleanup.sh new file mode 100755 index 00000000..2597e5e0 --- /dev/null +++ b/infrastructure/systems/Shark/riker/scripts/memcached/cleanup.sh @@ -0,0 +1,7 @@ +#!/bin/bash + +REPO_TOP="$(git rev-parse --show-toplevel)" +eval_dir="${REPO_TOP}/riker" +input_dir="${eval_dir}/input/scripts/memcached" + +rm -rf "$input_dir/dev" diff --git a/infrastructure/systems/Shark/riker/scripts/memcached/deps.sh b/infrastructure/systems/Shark/riker/scripts/memcached/deps.sh new file mode 100755 index 00000000..add3c533 --- /dev/null +++ b/infrastructure/systems/Shark/riker/scripts/memcached/deps.sh @@ -0,0 +1,9 @@ +#!/bin/bash + +sudo apt-get install -y git \ + gcc \ + autotools-dev \ + automake \ + libevent-dev + + diff --git a/infrastructure/systems/Shark/riker/scripts/memcached/input.sh b/infrastructure/systems/Shark/riker/scripts/memcached/input.sh new file mode 100755 index 00000000..5e606e2f --- /dev/null +++ b/infrastructure/systems/Shark/riker/scripts/memcached/input.sh @@ -0,0 +1,16 @@ +#!/bin/bash + +REPO_TOP="$(git rev-parse --show-toplevel)" +eval_dir="${REPO_TOP}/riker" +input_dir="${eval_dir}/input/scripts/memcached" + +mkdir -p "$input_dir/dev" + +git clone https://github.com/memcached/memcached.git "$input_dir/dev" +git -C "$input_dir/dev" checkout c472369fed5981ba8c004d426cee62d5165c47ca + +(cd "$input_dir/dev" && "$input_dir/dev/autogen.sh") + +(cd "$input_dir/dev" && "$input_dir/dev/configure" --disable-dependency-tracking) + + diff --git a/infrastructure/systems/Shark/riker/scripts/memcached/run.sh b/infrastructure/systems/Shark/riker/scripts/memcached/run.sh new file mode 100755 index 00000000..39f65c0c --- /dev/null +++ b/infrastructure/systems/Shark/riker/scripts/memcached/run.sh @@ -0,0 +1,11 @@ +#!/bin/bash + +REPO_TOP="$(git rev-parse --show-toplevel)" +eval_dir="${REPO_TOP}/riker" +input_dir="${eval_dir}/input/scripts" +scripts_dir="${eval_dir}/scripts" + +BENCHMARK_SHELL=${BENCHMARK_SHELL:-bash} +(cd "$input_dir/memcached/dev" && $BENCHMARK_SHELL "$scripts_dir/memcached/build.sh") + + diff --git a/infrastructure/systems/Shark/riker/scripts/memcached/verify.sh b/infrastructure/systems/Shark/riker/scripts/memcached/verify.sh new file mode 100755 index 00000000..5398c364 --- /dev/null +++ b/infrastructure/systems/Shark/riker/scripts/memcached/verify.sh @@ -0,0 +1,9 @@ +#!/bin/bash + +REPO_TOP="$(git rev-parse --show-toplevel)" +eval_dir="${REPO_TOP}/riker" +scripts_dir="${eval_dir}/scripts" +input_dir="${eval_dir}/input" + +"$input_dir/scripts/memcached/dev/memcached" --version | diff -q - <(echo memcached 1.6.9) +echo riker/memcached $? diff --git a/infrastructure/systems/Shark/riker/scripts/redis/README.md b/infrastructure/systems/Shark/riker/scripts/redis/README.md new file mode 100644 index 00000000..acd564c5 --- /dev/null +++ b/infrastructure/systems/Shark/riker/scripts/redis/README.md @@ -0,0 +1,25 @@ +## Running instructions + +`git pull ghcr.io/binpash/hs/redis:latest` + +Or build it yourself by running `docker build -t hs/redis .` from this directory. + +Running with HS +`docker run --privileged --rm ghcr.io/binpash/hs/redis:latest /bin/bash -c 'time /srv/hs/pash-spec.sh /root/redis/redis_build.sh && file /root/redis/src/redis-server'` + +``` +real 0m24.309s +user 0m20.368s +sys 0m3.903s +/root/redis/src/redis-server: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=36a1f18dbce7bf35eafe05da751f2d6906578341, for GNU/Linux 3.2.0, with debug_info, not stripped +``` + +Running with shell +`docker run --privileged --rm ghcr.io/binpash/hs/redis:latest /bin/bash -c 'time sh /root/redis/redis_build.sh && file /root/redis/src/redis-server'` + +``` +real 0m14.515s +user 0m13.439s +sys 0m0.800s +/root/redis/src/redis-server: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=e4bf8517ffe0c4edf32515ca936b6be5dc22a034, for GNU/Linux 3.2.0, with debug_info, not stripped +``` diff --git a/infrastructure/systems/Shark/riker/scripts/redis/build.sh b/infrastructure/systems/Shark/riker/scripts/redis/build.sh new file mode 100755 index 00000000..e0a333b4 --- /dev/null +++ b/infrastructure/systems/Shark/riker/scripts/redis/build.sh @@ -0,0 +1,40 @@ +#!/bin/sh + +# Regenerate the release.h file +GIT_SHA1=`(git show-ref --head --hash=8 2> /dev/null || echo 00000000) | head -n1` +GIT_DIRTY=`git diff --no-ext-diff 2> /dev/null | wc -l` +BUILD_ID=`uname -n`"-"`date +%s` +echo "#define REDIS_GIT_SHA1 \"$GIT_SHA1\"" > release.h +echo "#define REDIS_GIT_DIRTY \"$GIT_DIRTY\"" >> release.h +echo "#define REDIS_BUILD_ID \"$BUILD_ID\"" >> release.h + +CFLAGS="-g -ggdb -pedantic -DREDIS_STATIC= -std=c11 -Wall -W -Wno-missing-field-initializers -O2 -g -ggdb -I../deps/hiredis -I../deps/linenoise -I../deps/lua/src -I../deps/hdr_histogram -DUSE_JEMALLOC -I../deps/jemalloc/include" +LDFLAGS="-rdynamic ../deps/hiredis/libhiredis.a ../deps/lua/src/liblua.a ../deps/hdr_histogram/hdr_histogram.o ../deps/linenoise/linenoise.o ../deps/jemalloc/lib/libjemalloc.a -lm -lpthread -ldl" + +# Build all source files except the ae_* files +SRC="acl.c adlist.c ae.c anet.c aof.c bio.c bitops.c blocked.c childinfo.c cli_common.c cluster.c config.c connection.c crc16.c crc64.c crcspeed.c db.c debug.c defrag.c dict.c endianconv.c evict.c expire.c geo.c geohash.c geohash_helper.c gopher.c hyperloglog.c intset.c latency.c lazyfree.c listpack.c localtime.c lolwut.c lolwut5.c lolwut6.c lzf_c.c lzf_d.c memtest.c module.c monotonic.c mt19937-64.c multi.c networking.c notify.c object.c pqsort.c pubsub.c quicklist.c rand.c rax.c rdb.c redis-benchmark.c redis-check-aof.c redis-check-rdb.c redis-cli.c release.c replication.c rio.c scripting.c sds.c sentinel.c server.c setcpuaffinity.c setproctitle.c sha1.c sha256.c siphash.c slowlog.c sort.c sparkline.c syncio.c t_hash.c t_list.c t_set.c t_stream.c t_string.c t_zset.c timeout.c tls.c tracking.c util.c ziplist.c zipmap.c zmalloc.c" +# gcc $CFLAGS -c $SRC + +for file in $SRC; do + gcc $CFLAGS -c "$file" & +done + +# Build redis-server +OBJ1="adlist.o quicklist.o ae.o anet.o dict.o server.o sds.o zmalloc.o lzf_c.o lzf_d.o pqsort.o zipmap.o sha1.o ziplist.o release.o networking.o util.o object.o db.o replication.o rdb.o t_string.o t_list.o t_set.o t_zset.o t_hash.o config.o aof.o pubsub.o multi.o debug.o sort.o intset.o syncio.o cluster.o crc16.o endianconv.o slowlog.o scripting.o bio.o rio.o rand.o memtest.o crcspeed.o crc64.o bitops.o sentinel.o notify.o setproctitle.o blocked.o hyperloglog.o latency.o sparkline.o redis-check-rdb.o redis-check-aof.o geo.o lazyfree.o module.o evict.o expire.o geohash.o geohash_helper.o childinfo.o defrag.o siphash.o rax.o t_stream.o listpack.o localtime.o lolwut.o lolwut5.o lolwut6.o acl.o gopher.o tracking.o connection.o tls.o sha256.o timeout.o setcpuaffinity.o monotonic.o mt19937-64.o" +# gcc $CFLAGS -o redis-server $OBJ $LDFLAGS + +# Build redis-cli +OBJ2="anet.o adlist.o dict.o redis-cli.o zmalloc.o release.o ae.o crcspeed.o crc64.o siphash.o crc16.o monotonic.o cli_common.o mt19937-64.o" +# gcc $CFLAGS -o redis-cli $OBJ $LDFLAGS + +# Build redis-benchmark +OBJ3="ae.o anet.o redis-benchmark.o adlist.o dict.o zmalloc.o release.o crcspeed.o crc64.o siphash.o crc16.o monotonic.o cli_common.o mt19937-64.o" +# gcc $CFLAGS -o redis-benchmark $OBJ $LDFLAGS + +gcc $CFLAGS -o redis-server $OBJ1 $LDFLAGS & +gcc $CFLAGS -o redis-cli $OBJ2 $LDFLAGS & +gcc $CFLAGS -o redis-benchmark $OBJ3 $LDFLAGS & + +install redis-server redis-sentinel +install redis-server redis-check-aof +install redis-server redis-check-rdb diff --git a/infrastructure/systems/Shark/riker/scripts/redis/cleanup.sh b/infrastructure/systems/Shark/riker/scripts/redis/cleanup.sh new file mode 100755 index 00000000..89e8fc27 --- /dev/null +++ b/infrastructure/systems/Shark/riker/scripts/redis/cleanup.sh @@ -0,0 +1,7 @@ +#!/bin/bash + +REPO_TOP="$(git rev-parse --show-toplevel)" +eval_dir="${REPO_TOP}/riker" +input_dir="${eval_dir}/input/scripts/redis" + +rm -rf "$input_dir/dev" diff --git a/infrastructure/systems/Shark/riker/scripts/redis/deps.sh b/infrastructure/systems/Shark/riker/scripts/redis/deps.sh new file mode 100755 index 00000000..2ecdd5f5 --- /dev/null +++ b/infrastructure/systems/Shark/riker/scripts/redis/deps.sh @@ -0,0 +1,3 @@ +#!/bin/bash + +sudo apt install -y git gcc make pkg-config tcl diff --git a/infrastructure/systems/Shark/riker/scripts/redis/input.sh b/infrastructure/systems/Shark/riker/scripts/redis/input.sh new file mode 100755 index 00000000..ad398f40 --- /dev/null +++ b/infrastructure/systems/Shark/riker/scripts/redis/input.sh @@ -0,0 +1,12 @@ +#!/bin/bash + +REPO_TOP="$(git rev-parse --show-toplevel)" +eval_dir="${REPO_TOP}/riker" +input_dir="${eval_dir}/input/scripts/redis" + +mkdir -p "$input_dir/dev" + +git clone https://github.com/redis/redis "$input_dir/dev" +git -C "$input_dir/dev" checkout d96f47cf06b1cc24b82109e0e87ac5428517525a +(cd "$input_dir/dev" && make .make-prerequisites) + diff --git a/infrastructure/systems/Shark/riker/scripts/redis/run.sh b/infrastructure/systems/Shark/riker/scripts/redis/run.sh new file mode 100755 index 00000000..75575c86 --- /dev/null +++ b/infrastructure/systems/Shark/riker/scripts/redis/run.sh @@ -0,0 +1,11 @@ +#!/bin/bash + +REPO_TOP="$(git rev-parse --show-toplevel)" +eval_dir="${REPO_TOP}/riker" +input_dir="${eval_dir}/input/scripts" +scripts_dir="${eval_dir}/scripts" + +BENCHMARK_SHELL=${BENCHMARK_SHELL:-bash} +(cd "$input_dir/redis/dev/src" && $BENCHMARK_SHELL "$scripts_dir/redis/build.sh") + + diff --git a/infrastructure/systems/Shark/riker/scripts/redis/verify.sh b/infrastructure/systems/Shark/riker/scripts/redis/verify.sh new file mode 100755 index 00000000..38047e30 --- /dev/null +++ b/infrastructure/systems/Shark/riker/scripts/redis/verify.sh @@ -0,0 +1,9 @@ +#!/bin/bash + +REPO_TOP="$(git rev-parse --show-toplevel)" +eval_dir="${REPO_TOP}/riker" +scripts_dir="${eval_dir}/scripts" +input_dir="${eval_dir}/input" + +"$input_dir/scripts/redis/dev/src/redis-cli" --version | diff - <(echo "redis-cli 255.255.255 (git:d96f47cf)") +echo riker/redis $? diff --git a/infrastructure/systems/Shark/riker/scripts/sqlite/build.sh b/infrastructure/systems/Shark/riker/scripts/sqlite/build.sh new file mode 100755 index 00000000..39127623 --- /dev/null +++ b/infrastructure/systems/Shark/riker/scripts/sqlite/build.sh @@ -0,0 +1,49 @@ +#!/bin/sh + +SRC="./src/alter.c ./src/analyze.c ./src/attach.c ./src/auth.c ./src/backup.c ./src/bitvec.c ./src/btmutex.c ./src/btree.c ./src/btree.h ./src/btreeInt.h ./src/build.c ./src/callback.c ./src/complete.c ./src/ctime.c ./src/date.c ./src/dbpage.c ./src/dbstat.c ./src/delete.c ./src/expr.c ./src/fault.c ./src/fkey.c ./src/func.c ./src/global.c ./src/hash.c ./src/hash.h ./src/hwtime.h ./src/insert.c ./src/legacy.c ./src/loadext.c ./src/main.c ./src/malloc.c ./src/mem0.c ./src/mem1.c ./src/mem2.c ./src/mem3.c ./src/mem5.c ./src/memdb.c ./src/memjournal.c ./src/msvc.h ./src/mutex.c ./src/mutex.h ./src/mutex_noop.c ./src/mutex_unix.c ./src/mutex_w32.c ./src/notify.c ./src/os.c ./src/os.h ./src/os_common.h ./src/os_setup.h ./src/os_unix.c ./src/os_win.c ./src/os_win.h ./src/pager.c ./src/pager.h ./src/parse.y ./src/pcache.c ./src/pcache.h ./src/pcache1.c ./src/pragma.c ./src/pragma.h ./src/prepare.c ./src/printf.c ./src/random.c ./src/resolve.c ./src/rowset.c ./src/select.c ./src/status.c ./src/shell.c.in ./src/sqlite.h.in ./src/sqlite3ext.h ./src/sqliteInt.h ./src/sqliteLimit.h ./src/table.c ./src/tclsqlite.c ./src/threads.c ./src/tokenize.c ./src/treeview.c ./src/trigger.c ./src/utf.c ./src/update.c ./src/upsert.c ./src/util.c ./src/vacuum.c ./src/vdbe.c ./src/vdbe.h ./src/vdbeapi.c ./src/vdbeaux.c ./src/vdbeblob.c ./src/vdbemem.c ./src/vdbesort.c ./src/vdbetrace.c ./src/vdbevtab.c ./src/vdbeInt.h ./src/vtab.c ./src/vxworks.h ./src/wal.c ./src/wal.h ./src/walker.c ./src/where.c ./src/wherecode.c ./src/whereexpr.c ./src/whereInt.h ./src/window.c ./ext/fts1/fts1.c ./ext/fts1/fts1.h ./ext/fts1/fts1_hash.c ./ext/fts1/fts1_hash.h ./ext/fts1/fts1_porter.c ./ext/fts1/fts1_tokenizer.h ./ext/fts1/fts1_tokenizer1.c ./ext/fts2/fts2.c ./ext/fts2/fts2.h ./ext/fts2/fts2_hash.c ./ext/fts2/fts2_hash.h ./ext/fts2/fts2_icu.c ./ext/fts2/fts2_porter.c ./ext/fts2/fts2_tokenizer.h ./ext/fts2/fts2_tokenizer.c ./ext/fts2/fts2_tokenizer1.c ./ext/fts3/fts3.c ./ext/fts3/fts3.h ./ext/fts3/fts3Int.h ./ext/fts3/fts3_aux.c ./ext/fts3/fts3_expr.c ./ext/fts3/fts3_hash.c ./ext/fts3/fts3_hash.h ./ext/fts3/fts3_icu.c ./ext/fts3/fts3_porter.c ./ext/fts3/fts3_snippet.c ./ext/fts3/fts3_tokenizer.h ./ext/fts3/fts3_tokenizer.c ./ext/fts3/fts3_tokenizer1.c ./ext/fts3/fts3_tokenize_vtab.c ./ext/fts3/fts3_unicode.c ./ext/fts3/fts3_unicode2.c ./ext/fts3/fts3_write.c ./ext/icu/sqliteicu.h ./ext/icu/icu.c ./ext/rtree/rtree.h ./ext/rtree/rtree.c ./ext/rtree/geopoly.c ./ext/session/sqlite3session.c ./ext/session/sqlite3session.h ./ext/userauth/userauth.c ./ext/userauth/sqlite3userauth.h ./ext/rbu/sqlite3rbu.h ./ext/rbu/sqlite3rbu.c ./ext/misc/json1.c ./ext/misc/stmt.c keywordhash.h opcodes.c opcodes.h parse.c parse.h config.h shell.c sqlite3.h" + +gcc -g -O2 -o mksourceid ./tool/mksourceid.c +tclsh8.6 ./tool/mksqlite3h.tcl . >sqlite3.h +gcc -g -O2 -o mkkeywordhash -DSQLITE_ENABLE_MATH_FUNCTIONS ./tool/mkkeywordhash.c +./mkkeywordhash >keywordhash.h +gcc -g -O2 -o lemon ./tool/lemon.c +cp ./tool/lempar.c . +cp ./src/parse.y . +./lemon -DSQLITE_ENABLE_MATH_FUNCTIONS -S parse.y +# cat parse.h ./src/vdbe.c | tclsh8.6 ./tool/mkopcodeh.tcl >opcodes.h +tclsh8.6 ./tool/mkopcodeh.tcl < parse.h ./src/vdbe.c > opcodes.h + +tclsh8.6 ./tool/mkopcodec.tcl opcodes.h >opcodes.c +tclsh8.6 ./tool/mkshellc.tcl >shell.c +cp ./ext/fts5/fts5parse.y . +rm -f fts5parse.h +./lemon -S fts5parse.y +tclsh8.6 ./ext/fts5/tool/mkfts5c.tcl +cp ./ext/fts5/fts5.h . +rm -rf tsrc +mkdir tsrc + +cp -f $SRC tsrc +rm tsrc/sqlite.h.in tsrc/parse.y +tclsh8.6 ./tool/vdbe-compress.tcl vdbe.new +mv vdbe.new tsrc/vdbe.c +cp fts5.c fts5.h tsrc +touch .target_source +tclsh8.6 ./tool/mksqlite3c.tcl +cp tsrc/sqlite3ext.h . +cp ./ext/session/sqlite3session.h . + +CFLAGS="gcc -g -O2 -DSQLITE_OS_UNIX=1 -I. -I./src -I./ext/rtree -I./ext/icu -I./ext/fts3 -I./ext/async -I./ext/session -I./ext/userauth -D_HAVE_SQLITE_CONFIG_H -DBUILD_sqlite -DNDEBUG -I/usr/include/tcl8.6 -DSQLITE_THREADSAFE=1 -DSQLITE_ENABLE_MATH_FUNCTIONS -DSQLITE_HAVE_ZLIB=1" + +libtool --mode=compile --tag=CC $CFLAGS -DSQLITE_TEMP_STORE=1 -c sqlite3.c +libtool --mode=link $CFLAGS -no-undefined -o libsqlite3.la sqlite3.lo -lm -ldl -lz -lpthread -rpath "/usr/local/lib" -version-info "8:6:8" +libtool --mode=link $CFLAGS -DHAVE_READLINE=1 -I/usr/include/readline -DHAVE_EDITLINE=0 -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_FTS4 -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_EXPLAIN_COMMENTS -DSQLITE_ENABLE_UNKNOWN_SQL_FUNCTION -DSQLITE_ENABLE_STMTVTAB -DSQLITE_ENABLE_DBPAGE_VTAB -DSQLITE_ENABLE_DBSTAT_VTAB -DSQLITE_ENABLE_BYTECODE_VTAB -DSQLITE_ENABLE_OFFSET_SQL_FUNC -DSQLITE_ENABLE_DESERIALIZE -o sqlite3 \ + shell.c sqlite3.c \ + -lreadline -lncurses -lm -ldl -lz -lpthread -rpath "/usr/local/lib" + +libtool --mode=compile --tag=CC $CFLAGS -DUSE_TCL_STUBS=1 -c ./src/tclsqlite.c +libtool --mode=link $CFLAGS -no-undefined -o libtclsqlite3.la tclsqlite.lo \ + libsqlite3.la -L/usr/lib/x86_64-linux-gnu -ltclstub8.6 -lm -ldl -lz -lpthread \ + -rpath "/usr/share/tcltk/tcl8.6/sqlite3" \ + -version-info "8:6:8" \ + -avoid-version diff --git a/infrastructure/systems/Shark/riker/scripts/sqlite/cleanup.sh b/infrastructure/systems/Shark/riker/scripts/sqlite/cleanup.sh new file mode 100755 index 00000000..795f52e1 --- /dev/null +++ b/infrastructure/systems/Shark/riker/scripts/sqlite/cleanup.sh @@ -0,0 +1,7 @@ +#!/bin/bash + +REPO_TOP="$(git rev-parse --show-toplevel)" +eval_dir="${REPO_TOP}/riker" +input_dir="${eval_dir}/input/scripts/sqlite" + +rm -rf "$input_dir" diff --git a/infrastructure/systems/Shark/riker/scripts/sqlite/data/hello-riker.sqlite3 b/infrastructure/systems/Shark/riker/scripts/sqlite/data/hello-riker.sqlite3 new file mode 100644 index 00000000..9bd5d79e Binary files /dev/null and b/infrastructure/systems/Shark/riker/scripts/sqlite/data/hello-riker.sqlite3 differ diff --git a/infrastructure/systems/Shark/riker/scripts/sqlite/deps.sh b/infrastructure/systems/Shark/riker/scripts/sqlite/deps.sh new file mode 100755 index 00000000..59855fe7 --- /dev/null +++ b/infrastructure/systems/Shark/riker/scripts/sqlite/deps.sh @@ -0,0 +1,10 @@ +#!/bin/bash + +sudo apt-get install -y git \ + gcc \ + tcl8.6 \ + libtool \ + libtool-bin \ + libreadline-dev \ + tcl8.6-dev + diff --git a/infrastructure/systems/Shark/riker/scripts/sqlite/input.sh b/infrastructure/systems/Shark/riker/scripts/sqlite/input.sh new file mode 100755 index 00000000..f7c4199e --- /dev/null +++ b/infrastructure/systems/Shark/riker/scripts/sqlite/input.sh @@ -0,0 +1,12 @@ +#!/bin/bash + +REPO_TOP="$(git rev-parse --show-toplevel)" +eval_dir="${REPO_TOP}/riker" +input_dir="${eval_dir}/input/scripts/sqlite" + +mkdir -p "$input_dir/dev" + +git clone https://github.com/sqlite/sqlite "$input_dir/dev" +git -C "$input_dir/dev" checkout c1cace0832fa2af5ab8315e217d708c09d586425 +(cd "$input_dir/dev" && "$input_dir/dev/configure") + diff --git a/infrastructure/systems/Shark/riker/scripts/sqlite/run.sh b/infrastructure/systems/Shark/riker/scripts/sqlite/run.sh new file mode 100755 index 00000000..4b8fe6f2 --- /dev/null +++ b/infrastructure/systems/Shark/riker/scripts/sqlite/run.sh @@ -0,0 +1,10 @@ +#!/bin/bash + +REPO_TOP="$(git rev-parse --show-toplevel)" +eval_dir="${REPO_TOP}/riker" +input_dir="${eval_dir}/input/scripts" +scripts_dir="${eval_dir}/scripts" + +BENCHMARK_SHELL=${BENCHMARK_SHELL:-bash} +(cd "$input_dir/sqlite/dev" && $BENCHMARK_SHELL "$scripts_dir/sqlite/build.sh") + diff --git a/infrastructure/systems/Shark/riker/scripts/sqlite/verify.sh b/infrastructure/systems/Shark/riker/scripts/sqlite/verify.sh new file mode 100755 index 00000000..736bc554 --- /dev/null +++ b/infrastructure/systems/Shark/riker/scripts/sqlite/verify.sh @@ -0,0 +1,11 @@ +#!/bin/bash + +REPO_TOP="$(git rev-parse --show-toplevel)" +eval_dir="${REPO_TOP}/riker" +scripts_dir="${eval_dir}/scripts" +input_dir="${eval_dir}/input" + +test_db="$scripts_dir/sqlite/data/hello-riker.sqlite3" + +"$input_dir/scripts/sqlite/dev/sqlite3" "$test_db" 'SELECT * FROM hello' | diff -q - <(echo riker) +echo riker/sqlite $? diff --git a/infrastructure/systems/Shark/riker/scripts/sqlite/wrapper.sh b/infrastructure/systems/Shark/riker/scripts/sqlite/wrapper.sh new file mode 100755 index 00000000..32582cd7 --- /dev/null +++ b/infrastructure/systems/Shark/riker/scripts/sqlite/wrapper.sh @@ -0,0 +1,3 @@ +#!/bin/sh + +bash sqlite_build.sh \ No newline at end of file diff --git a/infrastructure/systems/Shark/riker/scripts/vim/build.sh b/infrastructure/systems/Shark/riker/scripts/vim/build.sh new file mode 100755 index 00000000..21f6df17 --- /dev/null +++ b/infrastructure/systems/Shark/riker/scripts/vim/build.sh @@ -0,0 +1,35 @@ +#!/bin/sh +cd src + +CFLAGS='-I. -Ilibvterm/include -Iproto -DHAVE_CONFIG_H -g -O2 -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1 -DINLINE= -DVSNPRINTF=vim_vsnprintf -DSNPRINTF=vim_snprintf -DIS_COMBINING_FUNCTION=utf_iscomposing_uint -DWCWIDTH_FUNCTION=utf_uint2cells' + +LFLAGS='-L/usr/local/lib -Wl,--as-needed' + +LIBS='-lSM -lICE -lXt -lX11 -lXdmcp -lSM -lICE -lm -ltinfo -lselinux -ldl' + +SRC="arabic.c arglist.c autocmd.c beval.c buffer.c change.c blob.c blowfish.c cindent.c clientserver.c clipboard.c cmdexpand.c cmdhist.c crypt.c crypt_zip.c debugger.c dict.c diff.c digraph.c drawline.c drawscreen.c edit.c eval.c evalbuffer.c evalfunc.c evalvars.c evalwindow.c ex_cmds.c ex_cmds2.c ex_docmd.c ex_eval.c ex_getln.c fileio.c filepath.c findfile.c float.c fold.c getchar.c gui_xim.c hardcopy.c hashtab.c help.c highlight.c if_cscope.c if_xcmdsrv.c indent.c insexpand.c list.c locale.c map.c mark.c match.c mbyte.c memline.c menu.c misc1.c misc2.c mouse.c move.c normal.c ops.c option.c optionstr.c os_unix.c auto/pathdef.c popupmenu.c popupwin.c profiler.c pty.c quickfix.c regexp.c register.c screen.c scriptfile.c search.c session.c sha256.c sign.c sound.c spell.c spellfile.c spellsuggest.c syntax.c tag.c term.c terminal.c testing.c textformat.c textobject.c textprop.c time.c typval.c ui.c undo.c usercmd.c userfunc.c vim9compile.c vim9execute.c vim9script.c vim9type.c viminfo.c window.c bufwrite.c netbeans.c job.c channel.c xdiff/xdiffi.c xdiff/xemit.c xdiff/xprepare.c xdiff/xutils.c xdiff/xhistogram.c xdiff/xpatience.c charset.c json.c main.c memfile.c message.c version.c libvterm/src/encoding.c libvterm/src/keyboard.c libvterm/src/mouse.c libvterm/src/parser.c libvterm/src/pen.c libvterm/src/screen.c libvterm/src/state.c libvterm/src/unicode.c libvterm/src/vterm.c" + +# Generate auto/pathdef.c +echo '/* pathdef.c */' > auto/pathdef.c +echo '/* This file is automatically created by Makefile' >> auto/pathdef.c +echo ' * DO NOT EDIT! Change Makefile only. */' >> auto/pathdef.c +echo '#include "vim.h"' >> auto/pathdef.c +echo 'char_u *default_vim_dir = (char_u *)"/usr/local/share/vim";' | sed -e 's/[\\"]/\\&/g' -e 's/\\"/"/' -e 's/\\";$/";/' -e 's/ */ /g' >> auto/pathdef.c +echo 'char_u *default_vimruntime_dir = (char_u *)"";' | sed -e 's/[\\"]/\\&/g' -e 's/\\"/"/' -e 's/\\";$/";/' -e 's/ */ /g' >> auto/pathdef.c +echo 'char_u *all_cflags = (char_u *)"'$CFLAGS'";' | sed -e 's/[\\"]/\\&/g' -e 's/\\"/"/' -e 's/\\";$/";/' -e 's/ */ /g' >> auto/pathdef.c +echo 'char_u *all_lflags = (char_u *)"gcc '$LFLAGS' -o vim '$LIBS'";' | sed -e 's/[\\"]/\\&/g' -e 's/\\"/"/' -e 's/\\";$/";/' -e 's/ */ /g' >> auto/pathdef.c +echo 'char_u *compiled_user = (char_u *)"' | tr -d "\\012" >> auto/pathdef.c +# the following line was modified for POSIX compliance +logname | tr -d "\\012" >> auto/pathdef.c +echo '";' >> auto/pathdef.c +echo 'char_u *compiled_sys = (char_u *)"' | tr -d "\\012" >> auto/pathdef.c + +hostname | tr -d "\\012" >> auto/pathdef.c +echo '";' >> auto/pathdef.c +sh ./pathdef.sh + +# Generate osdef.h +CC="gcc $CFLAGS" srcdir=. sh ./osdef.sh + +# Run the build +gcc $LFLAGS $CFLAGS -o vim $SRC $LIBS \ No newline at end of file diff --git a/infrastructure/systems/Shark/riker/scripts/vim/cleanup.sh b/infrastructure/systems/Shark/riker/scripts/vim/cleanup.sh new file mode 100755 index 00000000..1dbfb355 --- /dev/null +++ b/infrastructure/systems/Shark/riker/scripts/vim/cleanup.sh @@ -0,0 +1,7 @@ +#!/bin/bash + +REPO_TOP="$(git rev-parse --show-toplevel)" +eval_dir="${REPO_TOP}/riker" +input_dir="${eval_dir}/input/scripts/vim" + +rm -rf "$input_dir" diff --git a/infrastructure/systems/Shark/riker/scripts/vim/deps.sh b/infrastructure/systems/Shark/riker/scripts/vim/deps.sh new file mode 100755 index 00000000..ac6be92c --- /dev/null +++ b/infrastructure/systems/Shark/riker/scripts/vim/deps.sh @@ -0,0 +1,12 @@ +#!/bin/bash + +sudo apt-get install -y git \ + gcc \ + make \ + libncurses-dev \ + libsm-dev \ + libice-dev \ + libxt-dev \ + libx11-dev \ + libxdmcp-dev \ + libselinux-dev diff --git a/infrastructure/systems/Shark/riker/scripts/vim/input.sh b/infrastructure/systems/Shark/riker/scripts/vim/input.sh new file mode 100755 index 00000000..d7e67dc2 --- /dev/null +++ b/infrastructure/systems/Shark/riker/scripts/vim/input.sh @@ -0,0 +1,13 @@ +#!/bin/bash + +REPO_TOP="$(git rev-parse --show-toplevel)" +eval_dir="${REPO_TOP}/riker" +input_dir="${eval_dir}/input/scripts/vim" + +mkdir -p "$input_dir/dev" + +git clone https://github.com/vim/vim.git "$input_dir/dev" +git -C "$input_dir/dev" checkout b836f631dba2534efd314a8f77439cebc75acd4e + +(cd "$input_dir/dev" && "$input_dir/dev/configure") + diff --git a/infrastructure/systems/Shark/riker/scripts/vim/run.sh b/infrastructure/systems/Shark/riker/scripts/vim/run.sh new file mode 100755 index 00000000..0ec1858e --- /dev/null +++ b/infrastructure/systems/Shark/riker/scripts/vim/run.sh @@ -0,0 +1,9 @@ +REPO_TOP="$(git rev-parse --show-toplevel)" +eval_dir="${REPO_TOP}/riker" +input_dir="${eval_dir}/input/scripts" +scripts_dir="${eval_dir}/scripts" + +BENCHMARK_SHELL=${BENCHMARK_SHELL:-bash} +(cd "$input_dir/vim/dev" && $BENCHMARK_SHELL "$scripts_dir/vim/build.sh") + + diff --git a/infrastructure/systems/Shark/riker/scripts/vim/verify.sh b/infrastructure/systems/Shark/riker/scripts/vim/verify.sh new file mode 100755 index 00000000..d0aaee43 --- /dev/null +++ b/infrastructure/systems/Shark/riker/scripts/vim/verify.sh @@ -0,0 +1,21 @@ +#!/bin/bash + +REPO_TOP="$(git rev-parse --show-toplevel)" +eval_dir="${REPO_TOP}/riker" +scripts_dir="${eval_dir}/scripts" +input_dir="${eval_dir}/input" + +# Call compiled binary to write an empty file with a randomly chosen path. +# Must use -u /dev/null to specify a blank config because there might not be a ~/.vimrc, which vim would complain about. +# Assert that the file was created. + +vim="$input_dir/scripts/vim/dev/src/vim" +canary="$(mktemp --dry-run --tmpdir="$input_dir/scripts/vim")" + +test ! -f "$canary" +echo riker/vim/canary-did-not-exist $? + +"$vim" -u /dev/null -e -c "w $canary" -c quit + +test -f "$canary" +echo riker/vim/created-canary-file $? diff --git a/infrastructure/systems/Shark/riker/scripts/xz-clang/build.sh b/infrastructure/systems/Shark/riker/scripts/xz-clang/build.sh new file mode 100755 index 00000000..ea2129ec --- /dev/null +++ b/infrastructure/systems/Shark/riker/scripts/xz-clang/build.sh @@ -0,0 +1,54 @@ +#!/bin/sh + +CFLAGS='-DHAVE_CHECK_CRC32 -DHAVE_CHECK_CRC64 -DHAVE_CHECK_SHA256 -DHAVE_DECL_PROGRAM_INVOCATION_NAME -DHAVE_DECODERS -DHAVE_DECODER_ARM -DHAVE_DECODER_ARMTHUMB -DHAVE_DECODER_DELTA -DHAVE_DECODER_IA64 -DHAVE_DECODER_LZMA1 -DHAVE_DECODER_LZMA2 -DHAVE_DECODER_POWERPC -DHAVE_DECODER_SPARC -DHAVE_DECODER_X86 -DHAVE_ENCODERS -DHAVE_ENCODER_ARM -DHAVE_ENCODER_ARMTHUMB -DHAVE_ENCODER_DELTA -DHAVE_ENCODER_IA64 -DHAVE_ENCODER_LZMA1 -DHAVE_ENCODER_LZMA2 -DHAVE_ENCODER_POWERPC -DHAVE_ENCODER_SPARC -DHAVE_ENCODER_X86 -DHAVE_FUTIMENS -DHAVE_INTTYPES_H -DHAVE_MBRTOWC -DHAVE_MF_BT2 -DHAVE_MF_BT3 -DHAVE_MF_BT4 -DHAVE_MF_HC3 -DHAVE_MF_HC4 -DHAVE_POSIX_FADVISE -DHAVE_PTHREAD_CONDATTR_SETCLOCK -DHAVE_STDBOOL_H -DHAVE_STDINT_H -DHAVE_STRUCT_STAT_ST_ATIM_TV_NSEC -DHAVE_WCWIDTH -DHAVE__BOOL -DHAVE___BUILTIN_ASSUME_ALIGNED -DHAVE___BUILTIN_BSWAPXX -DMYTHREAD_POSIX -DNDEBUG -DPACKAGE_BUGREPORT="no" -DPACKAGE_NAME="XZ" -DPACKAGE_URL="no" -DTUKLIB_FAST_UNALIGNED_ACCESS -DASSUME_RAM=128 -D_GNU_SOURCE -Wall -Wextra -pthread' + +INCLUDES='-Isrc/liblzma/api -Isrc/liblzma/common -Isrc/liblzma/check -Isrc/liblzma/lz -Isrc/liblzma/rangecoder -Isrc/liblzma/lzma -Isrc/liblzma/delta -Isrc/liblzma/simple -Isrc/common' + +# Move some unbuilt files out of the way +# mv src/liblzma/check/crc32_small.c src/liblzma/check/crc32_small.c.exclude +# mv src/liblzma/check/crc64_small.c src/liblzma/check/crc64_small.c.exclude +# mv src/liblzma/check/crc32_tablegen.c src/liblzma/check/crc32_tablegen.c.exclude +# mv src/liblzma/check/crc64_tablegen.c src/liblzma/check/crc64_tablegen.c.exclude +# mv src/liblzma/rangecoder/price_tablegen.c src/liblzma/rangecoder/price_tablegen.c.exclude + +mv src/liblzma/check/crc32_small.c src/liblzma/check/crc32_small.c.exclude & +mv src/liblzma/check/crc64_small.c src/liblzma/check/crc64_small.c.exclude & +mv src/liblzma/check/crc32_tablegen.c src/liblzma/check/crc32_tablegen.c.exclude & +mv src/liblzma/check/crc64_tablegen.c src/liblzma/check/crc64_tablegen.c.exclude & +mv src/liblzma/rangecoder/price_tablegen.c src/liblzma/rangecoder/price_tablegen.c.exclude & +wait + +# Build liblzma.so.5.3.1 +clang -fPIC -Wl,--version-script=$PWD/src/liblzma/liblzma.map -shared -Wl,-soname,liblzma.so.5 -o liblzma.so.5.3.1 $CFLAGS src/common/*.c src/liblzma/*/*.c $INCLUDES + +# Restore the unbuilt files +# mv src/liblzma/check/crc32_small.c.exclude src/liblzma/check/crc32_small.c +# mv src/liblzma/check/crc64_small.c.exclude src/liblzma/check/crc64_small.c +# mv src/liblzma/check/crc32_tablegen.c.exclude src/liblzma/check/crc32_tablegen.c +# mv src/liblzma/check/crc64_tablegen.c.exclude src/liblzma/check/crc64_tablegen.c +# mv src/liblzma/rangecoder/price_tablegen.c.exclude src/liblzma/rangecoder/price_tablegen.c + +mv src/liblzma/check/crc32_small.c.exclude src/liblzma/check/crc32_small.c & +mv src/liblzma/check/crc64_small.c.exclude src/liblzma/check/crc64_small.c & +mv src/liblzma/check/crc32_tablegen.c.exclude src/liblzma/check/crc32_tablegen.c & +mv src/liblzma/check/crc64_tablegen.c.exclude src/liblzma/check/crc64_tablegen.c & +mv src/liblzma/rangecoder/price_tablegen.c.exclude src/liblzma/rangecoder/price_tablegen.c & +wait + +# Link to liblzma.so +rm -f liblzma.so +ln liblzma.so.5.3.1 liblzma.so + +INCLUDES='-Isrc/common -Isrc/liblzma/api' + +# # Build xzdec +# clang $CFLAGS -o xzdec src/common/*.c src/xzdec/*.c $INCLUDES -L. -llzma + +# # Build xz +# clang $CFLAGS -o xz src/common/*.c src/xz/*.c $INCLUDES -L. -llzma + +clang $CFLAGS -o xzdec src/common/*.c src/xzdec/*.c $INCLUDES -L. -llzma & + +clang $CFLAGS -o xz src/common/*.c src/xz/*.c $INCLUDES -L. -llzma & + +wait \ No newline at end of file diff --git a/infrastructure/systems/Shark/riker/scripts/xz-clang/cleanup.sh b/infrastructure/systems/Shark/riker/scripts/xz-clang/cleanup.sh new file mode 100755 index 00000000..fd6c0c29 --- /dev/null +++ b/infrastructure/systems/Shark/riker/scripts/xz-clang/cleanup.sh @@ -0,0 +1,7 @@ +#!/bin/bash + +REPO_TOP="$(git rev-parse --show-toplevel)" +eval_dir="${REPO_TOP}/riker" +input_dir="${eval_dir}/input/scripts/xz-clang" + +rm -rf "$input_dir/dev" diff --git a/infrastructure/systems/Shark/riker/scripts/xz-clang/deps.sh b/infrastructure/systems/Shark/riker/scripts/xz-clang/deps.sh new file mode 100755 index 00000000..66c7f3a5 --- /dev/null +++ b/infrastructure/systems/Shark/riker/scripts/xz-clang/deps.sh @@ -0,0 +1,4 @@ +#!/bin/bash + +sudo apt-get install -y git gcc clang + diff --git a/infrastructure/systems/Shark/riker/scripts/xz-clang/input.sh b/infrastructure/systems/Shark/riker/scripts/xz-clang/input.sh new file mode 100755 index 00000000..60fefabf --- /dev/null +++ b/infrastructure/systems/Shark/riker/scripts/xz-clang/input.sh @@ -0,0 +1,11 @@ +#!/bin/bash + +REPO_TOP="$(git rev-parse --show-toplevel)" +eval_dir="${REPO_TOP}/riker" +input_dir="${eval_dir}/input/scripts/xz-clang" + +mkdir -p "$input_dir/dev" + +git clone https://github.com/xz-mirror/xz "$input_dir/dev" +git -C "$input_dir/dev" checkout 2327a461e1afce862c22269b80d3517801103c1b + diff --git a/infrastructure/systems/Shark/riker/scripts/xz-clang/run.sh b/infrastructure/systems/Shark/riker/scripts/xz-clang/run.sh new file mode 100755 index 00000000..e93565fc --- /dev/null +++ b/infrastructure/systems/Shark/riker/scripts/xz-clang/run.sh @@ -0,0 +1,11 @@ +#!/bin/bash + +REPO_TOP="$(git rev-parse --show-toplevel)" +eval_dir="${REPO_TOP}/riker" +input_dir="${eval_dir}/input/scripts" +scripts_dir="${eval_dir}/scripts" + +BENCHMARK_SHELL=${BENCHMARK_SHELL:-bash} +(cd "$input_dir/xz-clang/dev" && $BENCHMARK_SHELL "$scripts_dir/xz-clang/build.sh") + + diff --git a/infrastructure/systems/Shark/riker/scripts/xz-clang/verify.sh b/infrastructure/systems/Shark/riker/scripts/xz-clang/verify.sh new file mode 100755 index 00000000..a6c9837e --- /dev/null +++ b/infrastructure/systems/Shark/riker/scripts/xz-clang/verify.sh @@ -0,0 +1,14 @@ +#!/bin/bash + +REPO_TOP="$(git rev-parse --show-toplevel)" +eval_dir="${REPO_TOP}/riker" +scripts_dir="${eval_dir}/scripts" +input_dir="${eval_dir}/input" + +xz_bin="$input_dir/scripts/xz-clang/dev/xz" + +echo "Hello, Riker!" \ + | "$xz_bin" \ + | "$xz_bin" -d \ + | diff -q - <(echo Hello, Riker!) +echo riker/xz-clang $? diff --git a/infrastructure/systems/Shark/riker/scripts/xz/build.sh b/infrastructure/systems/Shark/riker/scripts/xz/build.sh new file mode 100755 index 00000000..cc4e9428 --- /dev/null +++ b/infrastructure/systems/Shark/riker/scripts/xz/build.sh @@ -0,0 +1,52 @@ +#!/bin/sh + +CFLAGS='-DHAVE_CHECK_CRC32 -DHAVE_CHECK_CRC64 -DHAVE_CHECK_SHA256 -DHAVE_DECL_PROGRAM_INVOCATION_NAME -DHAVE_DECODERS -DHAVE_DECODER_ARM -DHAVE_DECODER_ARMTHUMB -DHAVE_DECODER_DELTA -DHAVE_DECODER_IA64 -DHAVE_DECODER_LZMA1 -DHAVE_DECODER_LZMA2 -DHAVE_DECODER_POWERPC -DHAVE_DECODER_SPARC -DHAVE_DECODER_X86 -DHAVE_ENCODERS -DHAVE_ENCODER_ARM -DHAVE_ENCODER_ARMTHUMB -DHAVE_ENCODER_DELTA -DHAVE_ENCODER_IA64 -DHAVE_ENCODER_LZMA1 -DHAVE_ENCODER_LZMA2 -DHAVE_ENCODER_POWERPC -DHAVE_ENCODER_SPARC -DHAVE_ENCODER_X86 -DHAVE_FUTIMENS -DHAVE_INTTYPES_H -DHAVE_MBRTOWC -DHAVE_MF_BT2 -DHAVE_MF_BT3 -DHAVE_MF_BT4 -DHAVE_MF_HC3 -DHAVE_MF_HC4 -DHAVE_POSIX_FADVISE -DHAVE_PTHREAD_CONDATTR_SETCLOCK -DHAVE_STDBOOL_H -DHAVE_STDINT_H -DHAVE_STRUCT_STAT_ST_ATIM_TV_NSEC -DHAVE_WCWIDTH -DHAVE__BOOL -DHAVE___BUILTIN_ASSUME_ALIGNED -DHAVE___BUILTIN_BSWAPXX -DMYTHREAD_POSIX -DNDEBUG -DPACKAGE_BUGREPORT="no" -DPACKAGE_NAME="XZ" -DPACKAGE_URL="no" -DTUKLIB_FAST_UNALIGNED_ACCESS -DASSUME_RAM=128 -D_GNU_SOURCE -Wall -Wextra -pthread' + +INCLUDES='-Isrc/liblzma/api -Isrc/liblzma/common -Isrc/liblzma/check -Isrc/liblzma/lz -Isrc/liblzma/rangecoder -Isrc/liblzma/lzma -Isrc/liblzma/delta -Isrc/liblzma/simple -Isrc/common' + +# Move some unbuilt files out of the way +# mv src/liblzma/check/crc32_small.c src/liblzma/check/crc32_small.c.exclude +# mv src/liblzma/check/crc64_small.c src/liblzma/check/crc64_small.c.exclude +# mv src/liblzma/check/crc32_tablegen.c src/liblzma/check/crc32_tablegen.c.exclude +# mv src/liblzma/check/crc64_tablegen.c src/liblzma/check/crc64_tablegen.c.exclude +# mv src/liblzma/rangecoder/price_tablegen.c src/liblzma/rangecoder/price_tablegen.c.exclude + +mv src/liblzma/check/crc32_small.c src/liblzma/check/crc32_small.c.exclude & +mv src/liblzma/check/crc64_small.c src/liblzma/check/crc64_small.c.exclude & +mv src/liblzma/check/crc32_tablegen.c src/liblzma/check/crc32_tablegen.c.exclude & +mv src/liblzma/check/crc64_tablegen.c src/liblzma/check/crc64_tablegen.c.exclude & +mv src/liblzma/rangecoder/price_tablegen.c src/liblzma/rangecoder/price_tablegen.c.exclude & +wait + +# Build liblzma.so.5.3.1 +gcc -fPIC -Wl,--version-script=$PWD/src/liblzma/liblzma.map -shared -Wl,-soname,liblzma.so.5 -o liblzma.so.5.3.1 $CFLAGS src/common/*.c src/liblzma/*/*.c $INCLUDES + +# Restore the unbuilt files +# mv src/liblzma/check/crc32_small.c.exclude src/liblzma/check/crc32_small.c +# mv src/liblzma/check/crc64_small.c.exclude src/liblzma/check/crc64_small.c +# mv src/liblzma/check/crc32_tablegen.c.exclude src/liblzma/check/crc32_tablegen.c +# mv src/liblzma/check/crc64_tablegen.c.exclude src/liblzma/check/crc64_tablegen.c +# mv src/liblzma/rangecoder/price_tablegen.c.exclude src/liblzma/rangecoder/price_tablegen.c + +mv src/liblzma/check/crc32_small.c.exclude src/liblzma/check/crc32_small.c & +mv src/liblzma/check/crc64_small.c.exclude src/liblzma/check/crc64_small.c & +mv src/liblzma/check/crc32_tablegen.c.exclude src/liblzma/check/crc32_tablegen.c & +mv src/liblzma/check/crc64_tablegen.c.exclude src/liblzma/check/crc64_tablegen.c & +mv src/liblzma/rangecoder/price_tablegen.c.exclude src/liblzma/rangecoder/price_tablegen.c & +wait + +# Link to liblzma.so +rm -f liblzma.so +ln liblzma.so.5.3.1 liblzma.so + +INCLUDES='-Isrc/common -Isrc/liblzma/api' + +# # Build xzdec +# gcc $CFLAGS -o xzdec src/common/*.c src/xzdec/*.c $INCLUDES -L. -llzma + +# # Build xz +# gcc $CFLAGS -o xz src/common/*.c src/xz/*.c $INCLUDES -L. -llzma + +gcc $CFLAGS -o xzdec src/common/*.c src/xzdec/*.c $INCLUDES -L. -llzma & +gcc $CFLAGS -o xz src/common/*.c src/xz/*.c $INCLUDES -L. -llzma & +wait \ No newline at end of file diff --git a/infrastructure/systems/Shark/riker/scripts/xz/cleanup.sh b/infrastructure/systems/Shark/riker/scripts/xz/cleanup.sh new file mode 100755 index 00000000..b3c9eac0 --- /dev/null +++ b/infrastructure/systems/Shark/riker/scripts/xz/cleanup.sh @@ -0,0 +1,7 @@ +#!/bin/bash + +REPO_TOP="$(git rev-parse --show-toplevel)" +eval_dir="${REPO_TOP}/riker" +input_dir="${eval_dir}/input/scripts/xz" + +rm -rf "$input_dir/dev" diff --git a/infrastructure/systems/Shark/riker/scripts/xz/deps.sh b/infrastructure/systems/Shark/riker/scripts/xz/deps.sh new file mode 100755 index 00000000..e8ee757b --- /dev/null +++ b/infrastructure/systems/Shark/riker/scripts/xz/deps.sh @@ -0,0 +1,4 @@ +#!/bin/bash + +sudo apt install -y gcc + diff --git a/infrastructure/systems/Shark/riker/scripts/xz/input.sh b/infrastructure/systems/Shark/riker/scripts/xz/input.sh new file mode 100755 index 00000000..7dd99010 --- /dev/null +++ b/infrastructure/systems/Shark/riker/scripts/xz/input.sh @@ -0,0 +1,11 @@ +#!/bin/bash + +REPO_TOP="$(git rev-parse --show-toplevel)" +eval_dir="${REPO_TOP}/riker" +input_dir="${eval_dir}/input/scripts/xz" + +mkdir -p "$input_dir/dev" + +git clone https://github.com/xz-mirror/xz "$input_dir/dev" +git -C "$input_dir/dev" checkout 2327a461e1afce862c22269b80d3517801103c1b + diff --git a/infrastructure/systems/Shark/riker/scripts/xz/run.sh b/infrastructure/systems/Shark/riker/scripts/xz/run.sh new file mode 100755 index 00000000..0bda7fb2 --- /dev/null +++ b/infrastructure/systems/Shark/riker/scripts/xz/run.sh @@ -0,0 +1,11 @@ +#!/bin/bash + +REPO_TOP="$(git rev-parse --show-toplevel)" +eval_dir="${REPO_TOP}/riker" +input_dir="${eval_dir}/input/scripts" +scripts_dir="${eval_dir}/scripts" + +BENCHMARK_SHELL=${BENCHMARK_SHELL:-bash} +(cd "$input_dir/xz/dev" && $BENCHMARK_SHELL "$scripts_dir/xz/build.sh") + + diff --git a/infrastructure/systems/Shark/riker/scripts/xz/verify.sh b/infrastructure/systems/Shark/riker/scripts/xz/verify.sh new file mode 100755 index 00000000..132b870c --- /dev/null +++ b/infrastructure/systems/Shark/riker/scripts/xz/verify.sh @@ -0,0 +1,14 @@ +#!/bin/bash + +REPO_TOP="$(git rev-parse --show-toplevel)" +eval_dir="${REPO_TOP}/riker" +scripts_dir="${eval_dir}/scripts" +input_dir="${eval_dir}/input" + +xz_bin="$input_dir/scripts/xz/dev/xz" + +echo "Hello, Riker!" \ + | "$xz_bin" \ + | "$xz_bin" -d \ + | diff -q - <(echo Hello, Riker!) +echo riker/xz $? diff --git a/infrastructure/systems/Shark/riker/verify.sh b/infrastructure/systems/Shark/riker/verify.sh new file mode 100755 index 00000000..d6ed3d5d --- /dev/null +++ b/infrastructure/systems/Shark/riker/verify.sh @@ -0,0 +1,10 @@ +#!/bin/bash + +REPO_TOP="$(git rev-parse --show-toplevel)" +eval_dir="${REPO_TOP}/riker" +scripts_dir="${eval_dir}/scripts" + +for bench in "$scripts_dir"/*; do + "$bench/verify.sh" $@ +done + diff --git a/infrastructure/systems/Shark/sklearn/README.md b/infrastructure/systems/Shark/sklearn/README.md new file mode 100644 index 00000000..2507c0ad --- /dev/null +++ b/infrastructure/systems/Shark/sklearn/README.md @@ -0,0 +1,14 @@ +# sklearn benchmark +This benchmark runs a series of scripts that trains a model from sklearn (Scikit-Learn). I got the series of scripts via decomposing the sklearn source code by hand. + +## Purpose +I think this benchmark shows two things for a system like hS - viability in AI workflows and correctness. The first is quite self explanatory. If hS can run this benchmark, then it has proven that hS can handle the task of gluing together a nontrivial ML training workflow. +The second is correctness. There is a very clear ground truth (the model trained by pure sklearn) to compare hS's output to. Assuming the random seeds are set to the same value across the board, hS's model should produce the *exactly* the same weights as the ground truth. + +## Usage +Running fit.sh will generate temporary files in a ./tmp folder + +To parallelize, we want one-vs-rest classification, where we generate multiple models. +Additionally, the forest cover dataset has much more samples than it has features. +This makes the Newton-Cholesky solver ideal for this task. + diff --git a/infrastructure/systems/Shark/sklearn/cleanup.sh b/infrastructure/systems/Shark/sklearn/cleanup.sh new file mode 100755 index 00000000..70a59dfb --- /dev/null +++ b/infrastructure/systems/Shark/sklearn/cleanup.sh @@ -0,0 +1,6 @@ +#!/bin/bash + +cd "$(realpath $(dirname "$0"))" +# rm -rf ./inputs +rm -rf ./result +rm -rf ./tmp diff --git a/infrastructure/systems/Shark/sklearn/compare.ipynb b/infrastructure/systems/Shark/sklearn/compare.ipynb new file mode 100644 index 00000000..3f7cff7d --- /dev/null +++ b/infrastructure/systems/Shark/sklearn/compare.ipynb @@ -0,0 +1,420 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 18, + "metadata": {}, + "outputs": [], + "source": [ + "from sklearn.model_selection import train_test_split\n", + "from sklearn import datasets\n", + "from sklearn.linear_model import LogisticRegression\n", + "import pickle\n", + "import subprocess\n", + "\n", + "destination = 'result/trained_model.obj'\n", + "data_source = 'cover'\n", + "\n", + "max_iter = 100\n", + "\n", + "if data_source == 'cover':\n", + " dataset = datasets.fetch_covtype(data_home=\"inputs\", download_if_missing=False)\n", + "elif data_source == 'digit':\n", + " dataset = datasets.load_digits()\n", + "else:\n", + " raise ValueError('data must be cover or digit')\n", + "\n", + "X_train, X_test, y_train, y_test = train_test_split(dataset.data, dataset.target, \n", + " test_size=0.2, \n", + " random_state=0)" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/home/castlehoney/repos/research/pash-benchmarks/sklearn/.venv/lib/python3.10/site-packages/sklearn/linear_model/_logistic.py:1256: FutureWarning: 'multi_class' was deprecated in version 1.5 and will be removed in 1.7. Use OneVsRestClassifier(LogisticRegression(..)) instead. Leave it to its default value to avoid this warning.\n", + " warnings.warn(\n" + ] + } + ], + "source": [ + "control_model = LogisticRegression(max_iter=max_iter, \n", + " solver='newton-cholesky', \n", + " multi_class='ovr')\n", + "control_model.fit(X_train, y_train)\n", + "control_score = control_model.score(X_test, y_test)" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[14:21:14.349757] Destination: result/trained_model.obj\n", + "[14:22:00.992771] Step 1 end\n", + "[14:22:03.781715] Step 2 end\n", + "[14:22:04.350279] rownorm\n", + "[14:22:04.865963] reshape\n", + "[14:22:05.351335] warm_start\n", + "[14:22:23.883259] fold_coef\n", + "[14:22:24.407646] zip_coef\n", + "[14:22:24.949778] adjust_coef\n", + "[14:22:24.949845] Step 3 end\n" + ] + } + ], + "source": [ + "subprocess.run([f\"sh fit.sh {destination} {data_source} {max_iter} | ts '[%H:%M:%.S]'\"], shell=True)\n", + "with open(destination, 'rb') as file:\n", + " exp_model = pickle.load(file)\n", + "exp_score = exp_model.score(X_test, y_test)" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "control score: 0.7154290336738294\n", + "experiment score: 0.7154290336738294\n" + ] + } + ], + "source": [ + "print(f'control score: {control_score}')\n", + "print(f'experiment score: {exp_score}')" + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[ 7.04194724e-03, -3.59510609e-04, -7.24769412e-03,\n", + " -1.41005673e-03, -1.67743513e-03, -9.17672358e-05,\n", + " 1.05528713e-02, -3.47512988e-02, 1.63997259e-02,\n", + " -8.63761799e-06, 1.56816534e+00, 5.38470185e-01,\n", + " 9.39531231e-01, -3.04616676e+00, -5.90940510e-02,\n", + " -2.90877457e+00, -2.17510460e+00, -1.04048906e-01,\n", + " -4.13458787e-02, -3.54788454e-01, -1.94375587e+00,\n", + " 4.81790772e-01, 1.66152321e+00, 6.32315581e-01,\n", + " 4.75124084e-01, -1.52507937e-01, 3.54164789e-01,\n", + " -5.06677283e-01, -4.36889850e-05, 9.64937930e-01,\n", + " 8.65054804e-01, 2.03204673e-01, 1.15317201e+00,\n", + " 1.37236333e+00, 3.78364504e+00, 1.59622931e+00,\n", + " 1.28510387e+00, 1.04567411e+00, -2.97302598e-01,\n", + " 3.32650564e-01, 1.32513961e+00, -2.29448516e-02,\n", + " 2.86572106e-01, 1.31825815e-01, 9.92430772e-01,\n", + " 5.29268942e-01, 9.54791441e-01, -1.17317749e+00,\n", + " -1.12820627e+00, -1.52422444e+00, -5.85246121e+00,\n", + " -5.40480180e-01, -5.45961627e-01, -1.09608283e+00],\n", + " [-5.53084083e-03, -3.15658511e-04, 1.51863537e-02,\n", + " 1.52691205e-03, 5.75451738e-04, 8.02317507e-05,\n", + " 3.08996584e-05, 2.55523262e-02, -3.12175746e-03,\n", + " 1.23476820e-05, 1.11059293e+00, 1.58281469e+00,\n", + " 9.32455218e-01, -3.62586283e+00, -5.12760097e+00,\n", + " -3.24062270e+00, -1.76566751e+00, -2.24176758e+00,\n", + " -4.47065295e+00, 4.05207469e-01, 3.23284180e+00,\n", + " 1.27199091e+00, 6.64840890e-01, 8.24557124e-02,\n", + " 7.99173957e-01, 2.09700164e+00, 1.43606635e+00,\n", + " -5.60236794e+00, -2.49965622e-01, 5.31140267e-01,\n", + " -1.30717465e+00, 5.77231431e-01, 5.91846350e-01,\n", + " 5.22808456e-01, -1.95541948e+00, 2.42862529e-01,\n", + " 5.90469955e-01, 1.19332455e+00, 2.29268993e+00,\n", + " 1.84482111e+00, 8.98602620e-01, 2.46234933e+00,\n", + " 1.33680008e+00, 1.25695119e+00, 1.30159572e+00,\n", + " 1.62708582e+00, 1.36467001e+00, 2.69717600e+00,\n", + " -2.13654383e+00, 1.04669602e+00, -1.67723424e+00,\n", + " -7.23506662e-01, -1.26268467e+00, -6.07491271e-01],\n", + " [-5.63223418e-03, 1.54462016e-03, -2.00211911e-03,\n", + " 1.95481413e-03, 2.01312324e-03, -1.04653105e-04,\n", + " -3.67940196e-02, 4.33738697e-02, -3.66746647e-02,\n", + " -2.79512011e-04, -2.86149038e+00, -4.93293342e-01,\n", + " 1.85001112e+00, 1.50477259e+00, 2.32984320e+00,\n", + " 4.04426804e+00, 2.38708012e+00, 4.18394859e+00,\n", + " 1.85775701e+00, 3.42167922e+00, -7.26502446e-04,\n", + " -1.18100318e-03, -1.48528532e-01, 2.51613313e+00,\n", + " 2.33470033e+00, -5.68344560e-01, -1.18097617e+00,\n", + " 9.33208402e-01, -2.26290195e-01, 2.01955073e+00,\n", + " 1.87337573e+00, -1.33962233e-01, -6.27238426e-01,\n", + " -1.24674229e+00, -4.46433430e-01, -1.58039560e+00,\n", + " -2.71917245e+00, -2.53026089e+00, -2.78999974e-02,\n", + " -1.61461009e+00, -7.93164480e-01, -2.07255869e+00,\n", + " -8.20419646e-01, -5.78753464e-01, -2.93127322e+00,\n", + " 1.44493378e-01, -3.28591357e+00, -1.69324110e+00,\n", + " -1.55193361e-01, -8.98606080e-02, -1.46871189e-02,\n", + " -9.39333484e-01, -1.10359272e+00, -5.15284048e-01],\n", + " [-6.46333595e-03, -1.24042997e-03, -5.53676549e-02,\n", + " -6.31203373e-03, 1.19448390e-02, 1.47556866e-03,\n", + " 6.35503552e-03, 4.31026682e-02, -2.31263414e-02,\n", + " 1.29283302e-03, -5.48906787e+00, -1.06380707e-01,\n", + " -1.88893542e+00, 7.48438400e+00, -6.88500991e-01,\n", + " -7.43660454e-01, 1.17154455e+00, 4.04602433e-01,\n", + " -3.27328863e-01, -2.13334055e-01, -6.66625574e-03,\n", + " -2.52775813e-02, -4.38366328e-05, -2.76037556e-01,\n", + " 4.86974092e-01, -9.00783990e-01, -3.47419090e-02,\n", + " 1.67436620e+00, -5.17890805e-02, 1.10393987e+00,\n", + " 2.05900668e+00, -2.17984262e-02, -1.38935350e-01,\n", + " -6.07655625e-01, -4.37163464e-04, -1.36876000e-01,\n", + " -2.87695487e-01, -2.00919542e-01, -4.32267805e-04,\n", + " -5.03408967e-02, -1.23263028e-03, -1.25740979e-04,\n", + " -1.10676170e+00, -8.44484758e-01, -2.12132421e-02,\n", + " -5.98297292e-02, -9.34880063e-02, -8.54752859e-04,\n", + " -1.28585183e-02, -6.44038072e-06, -1.99003878e-05,\n", + " -2.41863244e-02, -1.23293794e-02, -9.78738192e-03],\n", + " [-3.09895897e-03, 2.60099455e-03, 1.22083712e-02,\n", + " -9.04315656e-04, 5.34565649e-03, -4.76463887e-04,\n", + " 1.94602165e-02, -2.77933160e-03, 2.43816432e-04,\n", + " -1.16334711e-04, 2.53820983e+00, -1.70952251e+00,\n", + " 3.03022266e+00, -3.85890999e+00, -4.24578989e-01,\n", + " 4.25445419e-01, -3.27331800e+00, 5.23236470e-01,\n", + " -1.67244465e-01, -3.29798809e-01, -4.03842365e-02,\n", + " -7.19647421e-02, -2.12626243e+00, -1.22180257e-01,\n", + " 1.36424158e+00, -3.46486584e+00, 2.01090483e+00,\n", + " -1.85052473e+00, -2.71355624e-04, 6.23172354e-01,\n", + " 2.92496086e+00, 2.03010256e+00, 2.57239445e+00,\n", + " 2.01190080e-02, -9.77925456e-01, -2.93619426e+00,\n", + " 1.45502299e+00, -2.46917528e-01, -1.94576960e-02,\n", + " 2.37648282e+00, -1.22322365e+00, 3.45922211e-01,\n", + " 1.25282565e+00, 2.55271268e+00, 8.89031807e-01,\n", + " 7.97554523e-01, 5.24122588e-01, 5.87714339e-01,\n", + " -7.52058642e-01, -9.99923062e-02, -9.28305428e-02,\n", + " -1.66854263e+00, -2.01600466e+00, -1.37142589e+00],\n", + " [-4.29399305e-03, 6.69337205e-05, 3.79210170e-02,\n", + " -1.76252788e-03, -1.05104504e-04, 1.91075357e-05,\n", + " 1.40065883e-01, -1.47002893e-01, 1.28530800e-01,\n", + " 3.09999095e-04, -4.14287822e+00, -7.78784749e-01,\n", + " 2.89158142e+00, 2.03008155e+00, 1.89812216e+00,\n", + " 1.76175463e+00, 5.83667954e-01, 9.82841362e-01,\n", + " 1.96576744e+00, 1.97386711e+00, -2.22822161e-03,\n", + " -3.77202427e-03, -3.50144932e-02, 1.95005335e+00,\n", + " 2.24009678e-01, -4.99699377e-01, 1.52141749e+00,\n", + " 2.25215784e+00, 1.12181370e+00, 2.31735536e+00,\n", + " 1.33321083e+00, -1.67824544e-01, -1.57662951e+00,\n", + " 1.10826855e+00, -1.44720149e+00, -2.98581609e+00,\n", + " -1.91081510e+00, -4.31582446e-01, -1.14401570e-02,\n", + " -2.48951546e+00, -6.09465346e-01, -1.79220655e+00,\n", + " -7.64893163e-01, -2.61106435e-01, -1.35865137e+00,\n", + " -4.73331438e-01, 1.86979420e-01, 9.13213002e-01,\n", + " -7.19811282e-01, -2.57481200e-02, -3.16524345e-02,\n", + " -1.64147041e+00, -1.83543538e+00, -1.01918903e+00],\n", + " [ 1.55982786e-02, 3.75589146e-04, -4.00618211e-02,\n", + " -2.08594125e-03, -1.61225886e-03, -1.44683148e-04,\n", + " -1.14365397e-02, 9.64317066e-03, -2.11428281e-02,\n", + " 3.69852225e-04, -9.74655277e-01, -8.64085121e-01,\n", + " 1.84647942e+00, -7.73901722e-03, -5.18264637e-05,\n", + " -6.25232701e-02, -1.34550158e-02, 4.42767220e+00,\n", + " -5.11440601e-05, -7.72055585e-04, -1.07413760e-02,\n", + " -2.19325326e-02, -4.51743956e-04, -6.56790130e-01,\n", + " -7.83720248e-01, -9.20988677e-01, -2.38076000e+00,\n", + " -6.73783950e-05, -8.66012665e-10, -7.55677700e-01,\n", + " -3.79861376e-01, -2.15677285e-01, -1.13120703e+00,\n", + " -1.61079803e+00, -1.23541415e+00, -1.56275805e+00,\n", + " -7.00475236e-01, -9.24614846e-01, -2.01232896e+00,\n", + " -1.34874141e+00, -3.16388943e-01, -4.40252650e-02,\n", + " 1.32044228e+00, 1.65357438e+00, -1.53755592e+00,\n", + " -1.69198793e+00, -1.28270588e+00, 6.95692198e-01,\n", + " 1.40726883e+00, 1.52697333e+00, 5.66192515e+00,\n", + " 1.78355632e+00, 2.08630397e+00, 1.03911476e+00]])" + ] + }, + "execution_count": 25, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "exp_model.coef_" + ] + }, + { + "cell_type": "code", + "execution_count": 26, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[ 7.04194724e-03, -3.59510609e-04, -7.24769412e-03,\n", + " -1.41005673e-03, -1.67743513e-03, -9.17672358e-05,\n", + " 1.05528713e-02, -3.47512988e-02, 1.63997259e-02,\n", + " -8.63761799e-06, 1.56816534e+00, 5.38470185e-01,\n", + " 9.39531231e-01, -3.04616676e+00, -5.90940510e-02,\n", + " -2.90877457e+00, -2.17510460e+00, -1.04048906e-01,\n", + " -4.13458787e-02, -3.54788454e-01, -1.94375587e+00,\n", + " 4.81790772e-01, 1.66152321e+00, 6.32315581e-01,\n", + " 4.75124084e-01, -1.52507937e-01, 3.54164789e-01,\n", + " -5.06677283e-01, -4.36889850e-05, 9.64937930e-01,\n", + " 8.65054804e-01, 2.03204673e-01, 1.15317201e+00,\n", + " 1.37236333e+00, 3.78364504e+00, 1.59622931e+00,\n", + " 1.28510387e+00, 1.04567411e+00, -2.97302598e-01,\n", + " 3.32650564e-01, 1.32513961e+00, -2.29448516e-02,\n", + " 2.86572106e-01, 1.31825815e-01, 9.92430772e-01,\n", + " 5.29268942e-01, 9.54791441e-01, -1.17317749e+00,\n", + " -1.12820627e+00, -1.52422444e+00, -5.85246121e+00,\n", + " -5.40480180e-01, -5.45961627e-01, -1.09608283e+00],\n", + " [-5.53084083e-03, -3.15658511e-04, 1.51863537e-02,\n", + " 1.52691205e-03, 5.75451738e-04, 8.02317507e-05,\n", + " 3.08996584e-05, 2.55523262e-02, -3.12175746e-03,\n", + " 1.23476820e-05, 1.11059293e+00, 1.58281469e+00,\n", + " 9.32455218e-01, -3.62586283e+00, -5.12760097e+00,\n", + " -3.24062270e+00, -1.76566751e+00, -2.24176758e+00,\n", + " -4.47065295e+00, 4.05207469e-01, 3.23284180e+00,\n", + " 1.27199091e+00, 6.64840890e-01, 8.24557124e-02,\n", + " 7.99173957e-01, 2.09700164e+00, 1.43606635e+00,\n", + " -5.60236794e+00, -2.49965622e-01, 5.31140267e-01,\n", + " -1.30717465e+00, 5.77231431e-01, 5.91846350e-01,\n", + " 5.22808456e-01, -1.95541948e+00, 2.42862529e-01,\n", + " 5.90469955e-01, 1.19332455e+00, 2.29268993e+00,\n", + " 1.84482111e+00, 8.98602620e-01, 2.46234933e+00,\n", + " 1.33680008e+00, 1.25695119e+00, 1.30159572e+00,\n", + " 1.62708582e+00, 1.36467001e+00, 2.69717600e+00,\n", + " -2.13654383e+00, 1.04669602e+00, -1.67723424e+00,\n", + " -7.23506662e-01, -1.26268467e+00, -6.07491271e-01],\n", + " [-5.63223418e-03, 1.54462016e-03, -2.00211911e-03,\n", + " 1.95481413e-03, 2.01312324e-03, -1.04653105e-04,\n", + " -3.67940196e-02, 4.33738697e-02, -3.66746647e-02,\n", + " -2.79512011e-04, -2.86149038e+00, -4.93293342e-01,\n", + " 1.85001112e+00, 1.50477259e+00, 2.32984320e+00,\n", + " 4.04426804e+00, 2.38708012e+00, 4.18394859e+00,\n", + " 1.85775701e+00, 3.42167922e+00, -7.26502446e-04,\n", + " -1.18100318e-03, -1.48528532e-01, 2.51613313e+00,\n", + " 2.33470033e+00, -5.68344560e-01, -1.18097617e+00,\n", + " 9.33208402e-01, -2.26290195e-01, 2.01955073e+00,\n", + " 1.87337573e+00, -1.33962233e-01, -6.27238426e-01,\n", + " -1.24674229e+00, -4.46433430e-01, -1.58039560e+00,\n", + " -2.71917245e+00, -2.53026089e+00, -2.78999974e-02,\n", + " -1.61461009e+00, -7.93164480e-01, -2.07255869e+00,\n", + " -8.20419646e-01, -5.78753464e-01, -2.93127322e+00,\n", + " 1.44493378e-01, -3.28591357e+00, -1.69324110e+00,\n", + " -1.55193361e-01, -8.98606080e-02, -1.46871189e-02,\n", + " -9.39333484e-01, -1.10359272e+00, -5.15284048e-01],\n", + " [-6.46333595e-03, -1.24042997e-03, -5.53676549e-02,\n", + " -6.31203373e-03, 1.19448390e-02, 1.47556866e-03,\n", + " 6.35503552e-03, 4.31026682e-02, -2.31263414e-02,\n", + " 1.29283302e-03, -5.48906787e+00, -1.06380707e-01,\n", + " -1.88893542e+00, 7.48438400e+00, -6.88500991e-01,\n", + " -7.43660454e-01, 1.17154455e+00, 4.04602433e-01,\n", + " -3.27328863e-01, -2.13334055e-01, -6.66625574e-03,\n", + " -2.52775813e-02, -4.38366328e-05, -2.76037556e-01,\n", + " 4.86974092e-01, -9.00783990e-01, -3.47419090e-02,\n", + " 1.67436620e+00, -5.17890805e-02, 1.10393987e+00,\n", + " 2.05900668e+00, -2.17984262e-02, -1.38935350e-01,\n", + " -6.07655625e-01, -4.37163464e-04, -1.36876000e-01,\n", + " -2.87695487e-01, -2.00919542e-01, -4.32267805e-04,\n", + " -5.03408967e-02, -1.23263028e-03, -1.25740979e-04,\n", + " -1.10676170e+00, -8.44484758e-01, -2.12132421e-02,\n", + " -5.98297292e-02, -9.34880063e-02, -8.54752859e-04,\n", + " -1.28585183e-02, -6.44038072e-06, -1.99003878e-05,\n", + " -2.41863244e-02, -1.23293794e-02, -9.78738192e-03],\n", + " [-3.09895897e-03, 2.60099455e-03, 1.22083712e-02,\n", + " -9.04315656e-04, 5.34565649e-03, -4.76463887e-04,\n", + " 1.94602165e-02, -2.77933160e-03, 2.43816432e-04,\n", + " -1.16334711e-04, 2.53820983e+00, -1.70952251e+00,\n", + " 3.03022266e+00, -3.85890999e+00, -4.24578989e-01,\n", + " 4.25445419e-01, -3.27331800e+00, 5.23236470e-01,\n", + " -1.67244465e-01, -3.29798809e-01, -4.03842365e-02,\n", + " -7.19647421e-02, -2.12626243e+00, -1.22180257e-01,\n", + " 1.36424158e+00, -3.46486584e+00, 2.01090483e+00,\n", + " -1.85052473e+00, -2.71355624e-04, 6.23172354e-01,\n", + " 2.92496086e+00, 2.03010256e+00, 2.57239445e+00,\n", + " 2.01190080e-02, -9.77925456e-01, -2.93619426e+00,\n", + " 1.45502299e+00, -2.46917528e-01, -1.94576960e-02,\n", + " 2.37648282e+00, -1.22322365e+00, 3.45922211e-01,\n", + " 1.25282565e+00, 2.55271268e+00, 8.89031807e-01,\n", + " 7.97554523e-01, 5.24122588e-01, 5.87714339e-01,\n", + " -7.52058642e-01, -9.99923062e-02, -9.28305428e-02,\n", + " -1.66854263e+00, -2.01600466e+00, -1.37142589e+00],\n", + " [-4.29399305e-03, 6.69337205e-05, 3.79210170e-02,\n", + " -1.76252788e-03, -1.05104504e-04, 1.91075357e-05,\n", + " 1.40065883e-01, -1.47002893e-01, 1.28530800e-01,\n", + " 3.09999095e-04, -4.14287822e+00, -7.78784749e-01,\n", + " 2.89158142e+00, 2.03008155e+00, 1.89812216e+00,\n", + " 1.76175463e+00, 5.83667954e-01, 9.82841362e-01,\n", + " 1.96576744e+00, 1.97386711e+00, -2.22822161e-03,\n", + " -3.77202427e-03, -3.50144932e-02, 1.95005335e+00,\n", + " 2.24009678e-01, -4.99699377e-01, 1.52141749e+00,\n", + " 2.25215784e+00, 1.12181370e+00, 2.31735536e+00,\n", + " 1.33321083e+00, -1.67824544e-01, -1.57662951e+00,\n", + " 1.10826855e+00, -1.44720149e+00, -2.98581609e+00,\n", + " -1.91081510e+00, -4.31582446e-01, -1.14401570e-02,\n", + " -2.48951546e+00, -6.09465346e-01, -1.79220655e+00,\n", + " -7.64893163e-01, -2.61106435e-01, -1.35865137e+00,\n", + " -4.73331438e-01, 1.86979420e-01, 9.13213002e-01,\n", + " -7.19811282e-01, -2.57481200e-02, -3.16524345e-02,\n", + " -1.64147041e+00, -1.83543538e+00, -1.01918903e+00],\n", + " [ 1.55982786e-02, 3.75589146e-04, -4.00618211e-02,\n", + " -2.08594125e-03, -1.61225886e-03, -1.44683148e-04,\n", + " -1.14365397e-02, 9.64317066e-03, -2.11428281e-02,\n", + " 3.69852225e-04, -9.74655277e-01, -8.64085121e-01,\n", + " 1.84647942e+00, -7.73901722e-03, -5.18264637e-05,\n", + " -6.25232701e-02, -1.34550158e-02, 4.42767220e+00,\n", + " -5.11440601e-05, -7.72055585e-04, -1.07413760e-02,\n", + " -2.19325326e-02, -4.51743956e-04, -6.56790130e-01,\n", + " -7.83720248e-01, -9.20988677e-01, -2.38076000e+00,\n", + " -6.73783950e-05, -8.66012665e-10, -7.55677700e-01,\n", + " -3.79861376e-01, -2.15677285e-01, -1.13120703e+00,\n", + " -1.61079803e+00, -1.23541415e+00, -1.56275805e+00,\n", + " -7.00475236e-01, -9.24614846e-01, -2.01232896e+00,\n", + " -1.34874141e+00, -3.16388943e-01, -4.40252650e-02,\n", + " 1.32044228e+00, 1.65357438e+00, -1.53755592e+00,\n", + " -1.69198793e+00, -1.28270588e+00, 6.95692198e-01,\n", + " 1.40726883e+00, 1.52697333e+00, 5.66192515e+00,\n", + " 1.78355632e+00, 2.08630397e+00, 1.03911476e+00]])" + ] + }, + "execution_count": 26, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "control_model.coef_" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "pash", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.10.12" + }, + "orig_nbformat": 4, + "vscode": { + "interpreter": { + "hash": "481310881e105a97763b2849a6a8f554503a1fb1dc65dafbdc99d72c0c28d041" + } + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/infrastructure/systems/Shark/sklearn/deps.sh b/infrastructure/systems/Shark/sklearn/deps.sh new file mode 100755 index 00000000..e3ddb647 --- /dev/null +++ b/infrastructure/systems/Shark/sklearn/deps.sh @@ -0,0 +1,13 @@ +#!/bin/bash + +export PASH_SPEC_TOP=${PASH_SPEC_TOP:-$(git rev-parse --show-toplevel --show-superproject-working-tree)} + +benchmark_dir="sklearn" + +cd "$(realpath $(dirname "$0"))" +mkdir -p "$PASH_SPEC_TOP/report/resources/sklearn" +mkdir -p "$PASH_SPEC_TOP/report/output/sklearn" + +# Currently just dumped the entire dataset, but ideally we actually download it + +pip install -r requirements.txt diff --git a/infrastructure/systems/Shark/sklearn/input.sh b/infrastructure/systems/Shark/sklearn/input.sh new file mode 100755 index 00000000..b79d0a45 --- /dev/null +++ b/infrastructure/systems/Shark/sklearn/input.sh @@ -0,0 +1,8 @@ +#!/bin/bash + +cd "$(realpath $(dirname "$0"))" +mkdir -p tmp +mkdir -p result +mkdir -p inputs + +/usr/bin/env python3 -c "from sklearn.datasets import fetch_kddcup99; fetch_kddcup99(data_home=\"inputs\", percent10=False, download_if_missing=True)" \ No newline at end of file diff --git a/infrastructure/systems/Shark/sklearn/inputs/covertype/samples_py3 b/infrastructure/systems/Shark/sklearn/inputs/covertype/samples_py3 new file mode 100644 index 00000000..d3264d77 Binary files /dev/null and b/infrastructure/systems/Shark/sklearn/inputs/covertype/samples_py3 differ diff --git a/infrastructure/systems/Shark/sklearn/inputs/covertype/targets_py3 b/infrastructure/systems/Shark/sklearn/inputs/covertype/targets_py3 new file mode 100644 index 00000000..cc386098 Binary files /dev/null and b/infrastructure/systems/Shark/sklearn/inputs/covertype/targets_py3 differ diff --git a/infrastructure/systems/Shark/sklearn/requirements.txt b/infrastructure/systems/Shark/sklearn/requirements.txt new file mode 100644 index 00000000..8dd88923 --- /dev/null +++ b/infrastructure/systems/Shark/sklearn/requirements.txt @@ -0,0 +1,5 @@ +joblib==1.4.2 +numpy==1.26.4 +scikit-learn==1.5.0 +scipy==1.13.1 +threadpoolctl==3.5.0 diff --git a/infrastructure/systems/Shark/sklearn/run b/infrastructure/systems/Shark/sklearn/run new file mode 100755 index 00000000..0919650d --- /dev/null +++ b/infrastructure/systems/Shark/sklearn/run @@ -0,0 +1,92 @@ +#!/usr/bin/env python3 + +import argparse +from pathlib import Path +import os +import time +from subprocess import run, PIPE + +parser = argparse.ArgumentParser(description="Run benchmark") +parser = argparse.ArgumentParser(description="Run benchmark") +parser.add_argument('--window', default=5, type=int, help='window size to run hs with') +parser.add_argument('--target', choices=['hs-only', 'sh-only', 'both'], + help='to run with sh or hs') +parser.add_argument('--log', choices=['enable', 'disable'], default="enable", + help='whether to enable logging for hs') + +env = os.environ.copy() +SCRIPT_NAME = "run.sh" + + +def do_sh_run(test_base: Path, output_base: Path, env: dict): + before = time.time() + print(f'Running {test_base / SCRIPT_NAME}') + result = run(['/bin/sh', test_base / SCRIPT_NAME], stdout=PIPE, env=env) + duration = time.time() - before + with open(output_base / "sh_time", 'w') as f: + f.write(f'{duration}\n') + os.rename(env["OUTPUT_DIR"] / "trained_model.obj", env["OUTPUT_DIR"] / "sh_trained_model.obj") + return result.returncode, result.stdout + +def do_hs_run(test_base: Path, output_base: Path, hs_base: Path, window: int, env: dict, log: bool): + cmd = [hs_base / 'pash-spec.sh', '--window', str(window)] + if log: + cmd.extend(['-d', '2']) + cmd.append(test_base / SCRIPT_NAME) + before = time.time() + print(f'Running {cmd}') + with open(output_base / 'hs_log', 'w') as log: + result = run(cmd, stdout=PIPE, stderr=log, env=env) + duration = time.time() - before + with open(output_base / "hs_time", 'w') as f: + f.write(f'{duration}\n') + os.rename(env["OUTPUT_DIR"] / "trained_model.obj", env["OUTPUT_DIR"] / "hs_trained_model.obj") + return result.returncode, result.stdout + +if __name__ == '__main__': + args = parser.parse_args() + test_base = Path(__file__).parent.resolve() + hs_base = test_base.parent.parent.parent + + ####################### + # SPECIFY ENV VARS HERE + + env['TMP'] = hs_base / 'report' / 'resources' / 'sklearn' + env['RESULT'] = hs_base / 'report' / 'output' / 'sklearn' + env['OUTPUT_DIR'] = hs_base / 'report' / 'output' / 'sklearn' + + ####################### + + bench_base = test_base.parent + local_name = os.sep.join(test_base.parts[-1:]) + print(local_name) + output_base = hs_base / "report" / "output" / 'sklearn' / local_name + run_hs = False + run_sh = False + if args.target in ["hs-only", "both"]: + run_hs = True + if args.target in ["sh-only", "both"]: + run_sh = True + if not run_hs and not run_sh: + raise("Not running anything, add --target argument") + output_base.mkdir(parents=True, exist_ok=True) + + + if run_sh: + output_sh = do_sh_run(test_base, output_base, env) + if run_hs: + output_hs = do_hs_run(test_base, output_base, hs_base, args.window, env, args.log == 'enable') + if run_sh and run_hs: + with open(output_base / 'error', 'w') as errf: + print(output_sh[:100]) + if output_sh == output_hs: + errf.write('') + else: + errf.write('error\n') + errf.write(f'return code {output_sh[0]} vs {output_hs[0]}\n') + errf.write(f'==== output sh ====\n') + errf.write(output_sh[1].decode('UTF-8')) + errf.write(f'==== output hs ====\n') + errf.write(output_hs[1].decode('UTF-8')) + + diff --git a/infrastructure/systems/Shark/sklearn/run.sh b/infrastructure/systems/Shark/sklearn/run.sh new file mode 100644 index 00000000..6758bdfc --- /dev/null +++ b/infrastructure/systems/Shark/sklearn/run.sh @@ -0,0 +1,10 @@ +#!/bin/bash + +REPO_TOP=$(git rev-parse --show-toplevel) +eval_dir="${REPO_TOP}/sklearn" +scripts_dir="${eval_dir}/scripts" + +BENCHMARK_SHELL=${BENCHMARK_SHELL:-bash} +cd "$eval_dir" # scripts/run.sh references PWD +$BENCHMARK_SHELL "$scripts_dir/run.sh" $@ + diff --git a/infrastructure/systems/Shark/sklearn/scripts/adjust_coef.py b/infrastructure/systems/Shark/sklearn/scripts/adjust_coef.py new file mode 100755 index 00000000..48a0200b --- /dev/null +++ b/infrastructure/systems/Shark/sklearn/scripts/adjust_coef.py @@ -0,0 +1,37 @@ +import sys +import pickle +import numpy as np +import os + +tmp = os.environ.get('TMP') +filepath = os.path.join(tmp, 'fold_coef.obj') +with open(filepath, 'rb') as file: + fold_coefs_ = pickle.load(file) + +model_file, X_file, multi_class, n_classes, destination = sys.argv[1:6] + +n_classes = int(n_classes) + +with open(X_file, 'rb') as file: + X = pickle.load(file) + n_features = X.shape[1] + +with open(model_file, 'rb') as file: + model = pickle.load(file) + if multi_class == "multinomial": + model.coef_ = fold_coefs_[0][0] + else: + model.coef_ = np.asarray(fold_coefs_) + model.coef_ = model.coef_.reshape( + n_classes, n_features + int(model.fit_intercept) + ) + + if model.fit_intercept: + model.intercept_ = model.coef_[:, -1] + model.coef_ = model.coef_[:, :-1] + else: + model.intercept_ = np.zeros(n_classes) + +filepath = os.path.join(tmp, 'trained_model.obj') +with open(filepath, 'wb') as file: + pickle.dump(model, file) \ No newline at end of file diff --git a/infrastructure/systems/Shark/sklearn/scripts/check_multiclass.py b/infrastructure/systems/Shark/sklearn/scripts/check_multiclass.py new file mode 100755 index 00000000..21b0d902 --- /dev/null +++ b/infrastructure/systems/Shark/sklearn/scripts/check_multiclass.py @@ -0,0 +1,9 @@ +from sklearn.linear_model import _logistic +import sys +import pickle + +with open(sys.argv[1], 'rb') as file: + model = pickle.load(file) + +multi_class = _logistic._check_multi_class(model.multi_class, model.solver, len(model.classes_)) +print(multi_class) \ No newline at end of file diff --git a/infrastructure/systems/Shark/sklearn/scripts/check_solver.py b/infrastructure/systems/Shark/sklearn/scripts/check_solver.py new file mode 100755 index 00000000..7ec6c1f5 --- /dev/null +++ b/infrastructure/systems/Shark/sklearn/scripts/check_solver.py @@ -0,0 +1,11 @@ +from sklearn.linear_model import _logistic +import sys +import pickle + +with open(sys.argv[1], 'rb') as file: + model = pickle.load(file) + try: + _logistic._check_solver(model.solver, model.penalty, model.dual) + exit(0) + except ValueError: + exit(1) diff --git a/infrastructure/systems/Shark/sklearn/scripts/classes.py b/infrastructure/systems/Shark/sklearn/scripts/classes.py new file mode 100755 index 00000000..e3d4e647 --- /dev/null +++ b/infrastructure/systems/Shark/sklearn/scripts/classes.py @@ -0,0 +1,20 @@ +from sklearn.linear_model import _logistic +import sys +import numpy as np +import pickle + +model_file, y_file = sys.argv[1:] + +with open(y_file, 'rb') as file: + y = pickle.load(file) + +try: + # Can probably optimize, only opening the file once + _logistic.check_classification_targets(y) + with open(model_file, 'rb') as file: + model = pickle.load(file) + model.classes_ = np.unique(y) + with open(model_file, 'wb') as file: + pickle.dump(model, file) +except: + exit(1) diff --git a/infrastructure/systems/Shark/sklearn/scripts/fold_coef.py b/infrastructure/systems/Shark/sklearn/scripts/fold_coef.py new file mode 100755 index 00000000..563827ee --- /dev/null +++ b/infrastructure/systems/Shark/sklearn/scripts/fold_coef.py @@ -0,0 +1,68 @@ +from sklearn.linear_model import _logistic +import pickle +import sys +import os + +file_args = [] +for file_name in sys.argv[1:8]: + with open(file_name, 'rb') as file: + file_args.append(pickle.load(file)) +[model, X, y, C_, classes, warm_start_coef, max_squared_sum] = file_args + +multi_class = sys.argv[8] +penalty = sys.argv[9] + +path_func = _logistic.delayed(_logistic._logistic_regression_path) + +# The SAG solver releases the GIL so it's more efficient to use +# threads for this solver. +if model.solver in ["sag", "saga"]: + prefer = "threads" +else: + prefer = "processes" + +# TODO: Refactor this to avoid joblib parallelism entirely when doing binary +# and multinomial multiclass classification and use joblib only for the +# one-vs-rest multiclass case. +if ( + model.solver in ["lbfgs", "newton-cg", "newton-cholesky"] + and len(classes) == 1 + and _logistic.effective_n_jobs(model.n_jobs) == 1 +): + # In the future, we would like n_threads = _openmp_effective_n_threads() + # For the time being, we just do + n_threads = 1 +else: + n_threads = 1 + +print(classes) + +fold_coefs_ = _logistic.Parallel(n_jobs=model.n_jobs, verbose=model.verbose, prefer=prefer)( + path_func( + X, + y, + pos_class=class_, + Cs=[C_], + l1_ratio=model.l1_ratio, + fit_intercept=model.fit_intercept, + tol=model.tol, + verbose=model.verbose, + solver=model.solver, + multi_class=multi_class, + max_iter=model.max_iter, + class_weight=model.class_weight, + check_input=False, + random_state=model.random_state, + coef=warm_start_coef_, + penalty=penalty, + max_squared_sum=max_squared_sum, + sample_weight=None, # Keep it as None for now. + # For some reason, the n_threads breaks the whole process + # n_threads=n_threads, + ) + for class_, warm_start_coef_ in zip(classes, warm_start_coef) +) +tmp = os.environ.get('TMP') +filepath = os.path.join(tmp, 'fold_coef.obj') +with open(filepath, 'w+b') as file: + pickle.dump(fold_coefs_, file) \ No newline at end of file diff --git a/infrastructure/systems/Shark/sklearn/scripts/gen_model.py b/infrastructure/systems/Shark/sklearn/scripts/gen_model.py new file mode 100755 index 00000000..c9f10c8a --- /dev/null +++ b/infrastructure/systems/Shark/sklearn/scripts/gen_model.py @@ -0,0 +1,13 @@ +from sklearn.linear_model import LogisticRegression +import pickle +import sys +import os + +reg = LogisticRegression(max_iter=int(sys.argv[1]), + solver='newton-cholesky', + multi_class='ovr') + +tmp = os.environ.get('TMP') +filepath = os.path.join(tmp, 'model.obj') +with open(filepath, 'w+b') as file: + pickle.dump(reg, file) \ No newline at end of file diff --git a/infrastructure/systems/Shark/sklearn/scripts/gen_samples.py b/infrastructure/systems/Shark/sklearn/scripts/gen_samples.py new file mode 100755 index 00000000..31a66a6f --- /dev/null +++ b/infrastructure/systems/Shark/sklearn/scripts/gen_samples.py @@ -0,0 +1,19 @@ +from sklearn.model_selection import train_test_split +from sklearn import datasets +import pickle +import os + + +raw_data = datasets.fetch_covtype(data_home="inputs", download_if_missing=False) + +data = train_test_split(raw_data.data, + raw_data.target, + test_size=0.2, + random_state=0) +filenames = ['X_train', 'X_test', 'y_train', 'y_test'] +tmp = os.environ.get('TMP') +filepath = os.path.join(tmp, 'model.obj') +for datum, name in zip(data, filenames): + filepath = os.path.join(tmp, f'{name}.obj') + with open(filepath, 'w+b') as file: + pickle.dump(datum, file) diff --git a/infrastructure/systems/Shark/sklearn/scripts/parallel.py b/infrastructure/systems/Shark/sklearn/scripts/parallel.py new file mode 100755 index 00000000..65fb50a4 --- /dev/null +++ b/infrastructure/systems/Shark/sklearn/scripts/parallel.py @@ -0,0 +1,40 @@ +from sklearn.linear_model import _logistic +import pickle +import sys +import os + +file_args = [] +for file_name in sys.argv[1:7]: + with open(file_name, 'rb') as file: + file_args.append(pickle.load(file)) +model, X, y, C_, warm_start_coef_, max_squared_sum = file_args + +multi_class = sys.argv[7] +penalty = sys.argv[8] +class_ = int(sys.argv[9]) + +result = _logistic._logistic_regression_path( + X, + y, + pos_class=class_, + Cs=[C_], + l1_ratio=model.l1_ratio, + fit_intercept=model.fit_intercept, + tol=model.tol, + verbose=model.verbose, + solver=model.solver, + multi_class=multi_class, + max_iter=model.max_iter, + class_weight=model.class_weight, + check_input=False, + random_state=model.random_state, + coef=None, #Leave as None for now, consider changing to warm_start_coef_ later + penalty=penalty, + max_squared_sum=max_squared_sum, + sample_weight=None, +) + +tmp = os.environ.get('TMP') +filepath = os.path.join(tmp, f'result_{class_}.obj') +with open(filepath, 'w+b') as file: + pickle.dump(result, file) \ No newline at end of file diff --git a/infrastructure/systems/Shark/sklearn/scripts/penalty.py b/infrastructure/systems/Shark/sklearn/scripts/penalty.py new file mode 100755 index 00000000..52ae7bbe --- /dev/null +++ b/infrastructure/systems/Shark/sklearn/scripts/penalty.py @@ -0,0 +1,41 @@ +import warnings +import sys +import pickle +import numpy as np +import os + +with open(sys.argv[1], 'rb') as file: + model = pickle.load(file) + +if model.penalty != "elasticnet" and model.l1_ratio is not None: + warnings.warn( + "l1_ratio parameter is only used when penalty is " + "'elasticnet'. Got " + "(penalty={})".format(model.penalty) + ) + +# TODO(1.4): Remove "none" option +if model.penalty == "none": + warnings.warn( + "`penalty='none'`has been deprecated in 1.2 and will be removed in 1.4." + " To keep the past behaviour, set `penalty=None`.", + FutureWarning, + ) + +if model.penalty is None or model.penalty == "none": + if model.C != 1.0: # default values + warnings.warn( + "Setting penalty=None will ignore the C and l1_ratio parameters" + ) + # Note that check for l1_ratio is done right above + C_ = np.inf + penalty = "l2" +else: + C_ = model.C + penalty = model.penalty + +tmp = os.environ.get('TMP') +filepath = os.path.join(tmp, 'C_.obj') +with open(filepath, 'w+b') as file: + pickle.dump(C_, file) +print(penalty) diff --git a/infrastructure/systems/Shark/sklearn/scripts/reshape_classes.py b/infrastructure/systems/Shark/sklearn/scripts/reshape_classes.py new file mode 100755 index 00000000..6b26cb77 --- /dev/null +++ b/infrastructure/systems/Shark/sklearn/scripts/reshape_classes.py @@ -0,0 +1,24 @@ +import sys +import pickle + +with open(sys.argv[1], 'rb') as file: + model = pickle.load(file) + +n_classes = len(model.classes_) +classes = model.classes_ +if n_classes < 2: + raise ValueError( + "This solver needs samples of at least 2 classes" + " in the data, but the data contains only one" + " class: %r" + % classes[0] + ) + # Maybe have exit here? +if len(classes) == 2: + n_classes = 1 + classes = classes[1:] + +with open(sys.argv[2], 'w+b') as file: + pickle.dump(classes, file) +print(n_classes) + \ No newline at end of file diff --git a/infrastructure/systems/Shark/sklearn/scripts/rownorm.py b/infrastructure/systems/Shark/sklearn/scripts/rownorm.py new file mode 100755 index 00000000..5fd6f254 --- /dev/null +++ b/infrastructure/systems/Shark/sklearn/scripts/rownorm.py @@ -0,0 +1,14 @@ +from sklearn.linear_model import _logistic +import sys +import pickle +import os + +with open(sys.argv[1], 'rb') as file: + X = pickle.load(file) + +max_squared_sum = _logistic.row_norms(X, squared=True).max() + +tmp = os.environ.get('TMP') +filepath = os.path.join(tmp, 'max_squared_sum.obj') +with open(filepath, 'w+b') as file: + pickle.dump(max_squared_sum, file) diff --git a/infrastructure/systems/Shark/sklearn/scripts/run.sh b/infrastructure/systems/Shark/sklearn/scripts/run.sh new file mode 100755 index 00000000..f4a8b858 --- /dev/null +++ b/infrastructure/systems/Shark/sklearn/scripts/run.sh @@ -0,0 +1,82 @@ +#!/bin/bash + +PYTHON="python3" +OUT=${OUT:-$PWD/result} +TMP=${TMP:-$PWD/tmp} +#export tmp to env +export TMP +SCRIPTS=${SCRIPTS:-$PWD/scripts} + +# Ideally, we'll move on to piping rather than writing to a file +MODEL=$TMP/model.obj +X=$TMP/X_train.obj +y=$TMP/y_train.obj +CLASSES=$TMP/classes.obj +DUAL=false # should be converted to bool inside script +MAX_SQ_SUM=$TMP/max_squared_sum.obj +WARM_COEF=$TMP/warm_start_coef.obj +C_=$TMP/C_.obj + +echo $PYTHON >&2 +echo "DIR: $DIR" >&2 +echo "SCRIPTS: $SCRIPTS" >&2 +echo "MODEL: $MODEL" >&2 +echo "X: $X" >&2 +echo "y: $y" >&2 +echo "CLASSES: $CLASSES" >&2 +echo "DUAL: $DUAL" >&2 +echo "MAX_SQ_SUM: $MAX_SQ_SUM" >&2 +echo "WARM_COEF: $WARM_COEF" >&2 +echo "C_: $C_" >&2 + +# TODO: Try this out on a larger dataset +# TODO: Benchmark each phase + +# Generating model & samples +# $PYTHON $SCRIPTS/gen_model.py 100 +# $PYTHON $SCRIPTS/gen_samples.py + +$PYTHON "$SCRIPTS/gen_model.py" 100 & +$PYTHON "$SCRIPTS/gen_samples.py" +wait +# Validity checking functions +# These functions just check to make sure that the input is valid. +# If not they will raise an error. Otherwise, they do not mutate the data. +# $PYTHON $SCRIPTS/check_solver.py $MODEL +# penalty=$($PYTHON $SCRIPTS/penalty.py $MODEL) +# $PYTHON $SCRIPTS/val_data.py $MODEL $X $y +# $PYTHON $SCRIPTS/classes.py $MODEL $y # This should return a classes with just the unique classes in y + +$PYTHON "$SCRIPTS/check_solver.py" "$MODEL" & + +penalty=$($PYTHON "$SCRIPTS/penalty.py" "$MODEL") & + +$PYTHON "$SCRIPTS/val_data.py" "$MODEL" "$X" "$y" & + +$PYTHON "$SCRIPTS/classes.py" "$MODEL" "$y" & + +wait + +echo "$PYTHON $SCRIPTS/check_multiclass.py $MODEL" >&2 +multiclass=$($PYTHON $SCRIPTS/check_multiclass.py $MODEL) +echo "------" >&2 +# TODO: Benchmark each step of the pipeline +# Make a modified pipeline where each step writes its output to a file + +# Calculations functions +$PYTHON $SCRIPTS/rownorm.py $X +n_classes=$($PYTHON $SCRIPTS/reshape_classes.py $MODEL $CLASSES) +$PYTHON $SCRIPTS/warm_start.py $MODEL $multiclass $n_classes # pipes coefficients + +# Covtype dataset has 7 classes +echo "WARM_COEF: $WARM_COEF" >&2 +echo "MAX_SQ_SUM: $MAX_SQ_SUM" >&2 + +echo "multiclass: $multiclass" >&2 +echo "penalty: $penalty" >&2 +for i in {1..7}; do + $PYTHON "$SCRIPTS/parallel.py" "$MODEL" "$X" "$y" "$C_" "$WARM_COEF" "$MAX_SQ_SUM" "$multiclass" "$penalty" "$i" & +done +wait +$PYTHON $SCRIPTS/zip_coef.py $MODEL +$PYTHON $SCRIPTS/adjust_coef.py $MODEL $X $multiclass $n_classes $RESULT/trained_model.obj diff --git a/infrastructure/systems/Shark/sklearn/scripts/val_data.py b/infrastructure/systems/Shark/sklearn/scripts/val_data.py new file mode 100755 index 00000000..1e730a18 --- /dev/null +++ b/infrastructure/systems/Shark/sklearn/scripts/val_data.py @@ -0,0 +1,26 @@ +import sys +import numpy as np +import pickle + +with open(sys.argv[2], 'r+b') as X_file: + X = pickle.load(X_file) + with open(sys.argv[3], 'r+b') as y_file: + y = pickle.load(y_file) + with open(sys.argv[1], 'r+b') as model_file: + model = pickle.load(model_file) + try: + X, y = model._validate_data( + X, + y, + accept_sparse="csr", + dtype=np.float64 if model.solver == 'lbfgs' else [np.float64, np.float32], + order="C", + accept_large_sparse=model.solver not in ["liblinear", "sag", "saga"], + ) + + pickle.dump(X, X_file) + pickle.dump(y, y_file) + pickle.dump(model, model_file) + exit(0) + except ValueError: + exit(1) diff --git a/infrastructure/systems/Shark/sklearn/scripts/warm_start.py b/infrastructure/systems/Shark/sklearn/scripts/warm_start.py new file mode 100755 index 00000000..14ae79ab --- /dev/null +++ b/infrastructure/systems/Shark/sklearn/scripts/warm_start.py @@ -0,0 +1,30 @@ +import sys +import numpy as np +import pickle +import os + +with open(sys.argv[1], 'rb') as file: + model = pickle.load(file) +multi_class = sys.argv[2] +n_classes = int(sys.argv[3]) + +if model.warm_start: + warm_start_coef = getattr(model, "coef_", None) +else: + warm_start_coef = None +if warm_start_coef is not None and model.fit_intercept: + warm_start_coef = np.append( + warm_start_coef, model.intercept_[:, np.newaxis], axis=1 + ) +tmp = os.environ.get('TMP') +if multi_class == "multinomial": + filepath = os.path.join(tmp, 'classes.obj') + with open(filepath, 'wb') as file: + pickle.dump([None], file) + warm_start_coef = [warm_start_coef] +if warm_start_coef is None: + warm_start_coef = [None] * n_classes + +filepath = os.path.join(tmp, 'warm_start_coef.obj') +with open(filepath, 'w+b') as file: + pickle.dump(warm_start_coef, file) diff --git a/infrastructure/systems/Shark/sklearn/scripts/zip_coef.py b/infrastructure/systems/Shark/sklearn/scripts/zip_coef.py new file mode 100755 index 00000000..8aece5f8 --- /dev/null +++ b/infrastructure/systems/Shark/sklearn/scripts/zip_coef.py @@ -0,0 +1,25 @@ +import sys +import numpy as np +import pickle +import os + +fold_coefs_ = [] + +tmp = os.environ.get('TMP') + +with open(sys.argv[1], 'r+b') as file1: + model = pickle.load(file1) + + for i in range(1, 8): + filepath = os.path.join(tmp, f'result_{i}.obj') + with open(filepath, 'r+b') as file2: + fold_coefs_.append(pickle.load(file2)) + + fold_coefs_, _, n_iter_ = zip(*fold_coefs_) + + model.n_iter = np.asarray(n_iter_, dtype=np.int32)[:, 0] + pickle.dump(model, file1) + +filepath = os.path.join(tmp, 'fold_coef.obj') +with open(filepath, 'w+b') as file: + pickle.dump(fold_coefs_, file) diff --git a/infrastructure/systems/Shark/sklearn/verify.py b/infrastructure/systems/Shark/sklearn/verify.py new file mode 100755 index 00000000..6419bb57 --- /dev/null +++ b/infrastructure/systems/Shark/sklearn/verify.py @@ -0,0 +1,28 @@ +#!/usr/bin/env python + +from sklearn.model_selection import train_test_split +from sklearn import datasets +from sklearn.linear_model import LogisticRegression +import pickle +import numpy as np + +max_iter = 100 + +dataset = datasets.fetch_covtype(data_home="inputs", download_if_missing=False) + +X_train, X_test, y_train, y_test = train_test_split(dataset.data, dataset.target, + test_size=0.2, + random_state=0) + +control_model = LogisticRegression(max_iter=max_iter, + solver='newton-cholesky', + multi_class='ovr') +control_model.fit(X_train, y_train) +control_score = control_model.score(X_test, y_test) + +with open('tmp/trained_model.obj', 'rb') as file: + experiment_model = pickle.load(file) +experiment_score = experiment_model.score(X_test, y_test) + +assert experiment_score == control_score +assert np.array_equal(control_model.coef_, experiment_model.coef_) \ No newline at end of file diff --git a/infrastructure/systems/Shark/sklearn/verify.sh b/infrastructure/systems/Shark/sklearn/verify.sh new file mode 100755 index 00000000..f6301025 --- /dev/null +++ b/infrastructure/systems/Shark/sklearn/verify.sh @@ -0,0 +1,13 @@ +#!/bin/bash + +# shell script to run verify.py + +# run the Python script +python3 verify.py + +# check if the script ran successfully +if [ $? -eq 0 ]; then + echo "verify.py ran successfully." +else + echo "verify.py encountered an error." +fi \ No newline at end of file diff --git a/infrastructure/systems/Shark/unix50/.gitignore b/infrastructure/systems/Shark/unix50/.gitignore new file mode 100644 index 00000000..f72f5fdc --- /dev/null +++ b/infrastructure/systems/Shark/unix50/.gitignore @@ -0,0 +1,2 @@ +inputs/ +outputs/ diff --git a/infrastructure/systems/Shark/unix50/cleanup.sh b/infrastructure/systems/Shark/unix50/cleanup.sh new file mode 100755 index 00000000..2e2e12f3 --- /dev/null +++ b/infrastructure/systems/Shark/unix50/cleanup.sh @@ -0,0 +1,5 @@ +#!/bin/bash + +cd "$(realpath $(dirname "$0"))" +rm -rf ./inputs +rm -rf ./outputs diff --git a/infrastructure/systems/Shark/unix50/deps.sh b/infrastructure/systems/Shark/unix50/deps.sh new file mode 100755 index 00000000..6d9c19ef --- /dev/null +++ b/infrastructure/systems/Shark/unix50/deps.sh @@ -0,0 +1 @@ +# This benchmark does not have any dependencies. diff --git a/infrastructure/systems/Shark/unix50/hashes/small/1.hash b/infrastructure/systems/Shark/unix50/hashes/small/1.hash new file mode 100644 index 00000000..86862a39 --- /dev/null +++ b/infrastructure/systems/Shark/unix50/hashes/small/1.hash @@ -0,0 +1 @@ +3251c9aa9eec9cf111d31f50e0dfecdbc1c143b2087179caafb77fb0eee6f580 diff --git a/infrastructure/systems/Shark/unix50/hashes/small/10.hash b/infrastructure/systems/Shark/unix50/hashes/small/10.hash new file mode 100644 index 00000000..4c17d9de --- /dev/null +++ b/infrastructure/systems/Shark/unix50/hashes/small/10.hash @@ -0,0 +1 @@ +9218522f2b99f1c24f40b8852c62bad6600bb4397b8922b6f87ef59a57ac49ee diff --git a/infrastructure/systems/Shark/unix50/hashes/small/11.hash b/infrastructure/systems/Shark/unix50/hashes/small/11.hash new file mode 100644 index 00000000..9a089718 --- /dev/null +++ b/infrastructure/systems/Shark/unix50/hashes/small/11.hash @@ -0,0 +1 @@ +71a9dfd62ce06e41dbcd8412e5a3874a720906cfdac598ccec250e1c77ad3456 diff --git a/infrastructure/systems/Shark/unix50/hashes/small/12.hash b/infrastructure/systems/Shark/unix50/hashes/small/12.hash new file mode 100644 index 00000000..bb48c434 --- /dev/null +++ b/infrastructure/systems/Shark/unix50/hashes/small/12.hash @@ -0,0 +1 @@ +852a478ece1b66d04d107ae488dd476a5a43b317f62729e25152e4bfba096cac diff --git a/infrastructure/systems/Shark/unix50/hashes/small/13.hash b/infrastructure/systems/Shark/unix50/hashes/small/13.hash new file mode 100644 index 00000000..920e61e5 --- /dev/null +++ b/infrastructure/systems/Shark/unix50/hashes/small/13.hash @@ -0,0 +1 @@ +81066db28fabeefff91ea25a1ce141cc3ce9116c1e0b4df16dac8bd1844fbb56 diff --git a/infrastructure/systems/Shark/unix50/hashes/small/14.hash b/infrastructure/systems/Shark/unix50/hashes/small/14.hash new file mode 100644 index 00000000..65adf397 --- /dev/null +++ b/infrastructure/systems/Shark/unix50/hashes/small/14.hash @@ -0,0 +1 @@ +a269690167cad24572e967eb72167c7025cca70534aac253aa38fd0fb65d8ee6 diff --git a/infrastructure/systems/Shark/unix50/hashes/small/15.hash b/infrastructure/systems/Shark/unix50/hashes/small/15.hash new file mode 100644 index 00000000..2977152e --- /dev/null +++ b/infrastructure/systems/Shark/unix50/hashes/small/15.hash @@ -0,0 +1 @@ +92d70aeb024d616a0b2ea09fb34dc5b162fa300073777e2354453553bbfc67b4 diff --git a/infrastructure/systems/Shark/unix50/hashes/small/16.hash b/infrastructure/systems/Shark/unix50/hashes/small/16.hash new file mode 100644 index 00000000..aabda48b --- /dev/null +++ b/infrastructure/systems/Shark/unix50/hashes/small/16.hash @@ -0,0 +1 @@ +dcb1049b6e596576fcc147c612d2350abb858811d185390c11fdbd837e6c2c2a diff --git a/infrastructure/systems/Shark/unix50/hashes/small/17.hash b/infrastructure/systems/Shark/unix50/hashes/small/17.hash new file mode 100644 index 00000000..961a93a4 --- /dev/null +++ b/infrastructure/systems/Shark/unix50/hashes/small/17.hash @@ -0,0 +1 @@ +e2983363796bdc6f9ad758179c1adab507baacf530aa02fd1c2cdcc278b14706 diff --git a/infrastructure/systems/Shark/unix50/hashes/small/18.hash b/infrastructure/systems/Shark/unix50/hashes/small/18.hash new file mode 100644 index 00000000..6268f1a7 --- /dev/null +++ b/infrastructure/systems/Shark/unix50/hashes/small/18.hash @@ -0,0 +1 @@ +f0448ca7d8645d6c1d4902a2c058a37abfc44f1de59ab54163c80faaf72f6a4c diff --git a/infrastructure/systems/Shark/unix50/hashes/small/19.hash b/infrastructure/systems/Shark/unix50/hashes/small/19.hash new file mode 100644 index 00000000..99be069e --- /dev/null +++ b/infrastructure/systems/Shark/unix50/hashes/small/19.hash @@ -0,0 +1 @@ +c567922c68ecfa87f945cf3f6a09deaceeddce6a19884d2895da95846aa92304 diff --git a/infrastructure/systems/Shark/unix50/hashes/small/2.hash b/infrastructure/systems/Shark/unix50/hashes/small/2.hash new file mode 100644 index 00000000..6a9de3ff --- /dev/null +++ b/infrastructure/systems/Shark/unix50/hashes/small/2.hash @@ -0,0 +1 @@ +0d55353d3c404e958e755922405e3b9ddedf6fbd72ac0c0a95e252b6392ee912 diff --git a/infrastructure/systems/Shark/unix50/hashes/small/20.hash b/infrastructure/systems/Shark/unix50/hashes/small/20.hash new file mode 100644 index 00000000..a13f0b4c --- /dev/null +++ b/infrastructure/systems/Shark/unix50/hashes/small/20.hash @@ -0,0 +1 @@ +0da1374d20144baf29c1d3c65e752950a9f100b65b8303765057f96023bc83f3 diff --git a/infrastructure/systems/Shark/unix50/hashes/small/21.hash b/infrastructure/systems/Shark/unix50/hashes/small/21.hash new file mode 100644 index 00000000..bf29c9b7 --- /dev/null +++ b/infrastructure/systems/Shark/unix50/hashes/small/21.hash @@ -0,0 +1 @@ +db628d028526b535e3d48e0ea92d6d9d3e51fb7ae115090ad8681dd799197cb2 diff --git a/infrastructure/systems/Shark/unix50/hashes/small/23.hash b/infrastructure/systems/Shark/unix50/hashes/small/23.hash new file mode 100644 index 00000000..4ab07b58 --- /dev/null +++ b/infrastructure/systems/Shark/unix50/hashes/small/23.hash @@ -0,0 +1 @@ +9bad3923eaafa2e4005dfa138dbe9fa30a54dc0f1a0bccd4dd0b27b2c784a6e1 diff --git a/infrastructure/systems/Shark/unix50/hashes/small/24.hash b/infrastructure/systems/Shark/unix50/hashes/small/24.hash new file mode 100644 index 00000000..c4362af3 --- /dev/null +++ b/infrastructure/systems/Shark/unix50/hashes/small/24.hash @@ -0,0 +1 @@ +f417ef2b19184c5cba92259ce468bf2d95b497e8f78a6f08e8e7043dae0ac1e5 diff --git a/infrastructure/systems/Shark/unix50/hashes/small/25.hash b/infrastructure/systems/Shark/unix50/hashes/small/25.hash new file mode 100644 index 00000000..220bc14f --- /dev/null +++ b/infrastructure/systems/Shark/unix50/hashes/small/25.hash @@ -0,0 +1 @@ +b1ae41a47094c2b212067ad4c1287a78b9bb269a4e07979d08d287852ab9254a diff --git a/infrastructure/systems/Shark/unix50/hashes/small/26.hash b/infrastructure/systems/Shark/unix50/hashes/small/26.hash new file mode 100644 index 00000000..48feae87 --- /dev/null +++ b/infrastructure/systems/Shark/unix50/hashes/small/26.hash @@ -0,0 +1 @@ +cc264f1c6a996732709004ed10a22da6c77d4640453452f6bb8f8d02803f883c diff --git a/infrastructure/systems/Shark/unix50/hashes/small/28.hash b/infrastructure/systems/Shark/unix50/hashes/small/28.hash new file mode 100644 index 00000000..38533198 --- /dev/null +++ b/infrastructure/systems/Shark/unix50/hashes/small/28.hash @@ -0,0 +1 @@ +8111329923a257dfc475a8e8a8119cae996dbfb52118d741115be3ff8d494837 diff --git a/infrastructure/systems/Shark/unix50/hashes/small/29.hash b/infrastructure/systems/Shark/unix50/hashes/small/29.hash new file mode 100644 index 00000000..831c9951 --- /dev/null +++ b/infrastructure/systems/Shark/unix50/hashes/small/29.hash @@ -0,0 +1 @@ +f7bd1018ee1383bfaac013d412950685e9d27f8f5fc0a6332c11ab2465c210e1 diff --git a/infrastructure/systems/Shark/unix50/hashes/small/3.hash b/infrastructure/systems/Shark/unix50/hashes/small/3.hash new file mode 100644 index 00000000..7c311079 --- /dev/null +++ b/infrastructure/systems/Shark/unix50/hashes/small/3.hash @@ -0,0 +1 @@ +53d1ee6af91e91eb857b8ffb75f4fd0149d957bd891f871e7194d7dc3b087ad1 diff --git a/infrastructure/systems/Shark/unix50/hashes/small/30.hash b/infrastructure/systems/Shark/unix50/hashes/small/30.hash new file mode 100644 index 00000000..38e83f74 --- /dev/null +++ b/infrastructure/systems/Shark/unix50/hashes/small/30.hash @@ -0,0 +1 @@ +c4f792b5b3c62882d89dcb1d87ec5becddcd7885ed39cedd4c638be08149587e diff --git a/infrastructure/systems/Shark/unix50/hashes/small/31.hash b/infrastructure/systems/Shark/unix50/hashes/small/31.hash new file mode 100644 index 00000000..67d7e479 --- /dev/null +++ b/infrastructure/systems/Shark/unix50/hashes/small/31.hash @@ -0,0 +1 @@ +5f15184985dc70f29567a9ff1c4f758279772e579cab496e0cf05ed6f6b87feb diff --git a/infrastructure/systems/Shark/unix50/hashes/small/32.hash b/infrastructure/systems/Shark/unix50/hashes/small/32.hash new file mode 100644 index 00000000..e5e3e4db --- /dev/null +++ b/infrastructure/systems/Shark/unix50/hashes/small/32.hash @@ -0,0 +1 @@ +01a8c3f9990790c6ec892ee0c49021caa35f4ae62aa8a6ad051eaa02b85bd6ad diff --git a/infrastructure/systems/Shark/unix50/hashes/small/33.hash b/infrastructure/systems/Shark/unix50/hashes/small/33.hash new file mode 100644 index 00000000..010bc827 --- /dev/null +++ b/infrastructure/systems/Shark/unix50/hashes/small/33.hash @@ -0,0 +1 @@ +9a82c51a55997532117a8326e119208a73f2780146c6846a9cb0115d2195c212 diff --git a/infrastructure/systems/Shark/unix50/hashes/small/34.hash b/infrastructure/systems/Shark/unix50/hashes/small/34.hash new file mode 100644 index 00000000..e41a0c7d --- /dev/null +++ b/infrastructure/systems/Shark/unix50/hashes/small/34.hash @@ -0,0 +1 @@ +a793600a2d9cecb1d025060630c2cc63bb9ae063914b3f6cfa06b0e75dbd580e diff --git a/infrastructure/systems/Shark/unix50/hashes/small/35.hash b/infrastructure/systems/Shark/unix50/hashes/small/35.hash new file mode 100644 index 00000000..84ae36e0 --- /dev/null +++ b/infrastructure/systems/Shark/unix50/hashes/small/35.hash @@ -0,0 +1 @@ +3c1eec30cdc0a84fac8fb7e7b111b2c47e11491ecaad0e9b75c451cc2056ca1c diff --git a/infrastructure/systems/Shark/unix50/hashes/small/36.hash b/infrastructure/systems/Shark/unix50/hashes/small/36.hash new file mode 100644 index 00000000..657c4011 --- /dev/null +++ b/infrastructure/systems/Shark/unix50/hashes/small/36.hash @@ -0,0 +1 @@ +649b1725facaba7bd665f574723a23167fff2dc38e06448ddaefa6f2cf9c9e50 diff --git a/infrastructure/systems/Shark/unix50/hashes/small/4.hash b/infrastructure/systems/Shark/unix50/hashes/small/4.hash new file mode 100644 index 00000000..1b995800 --- /dev/null +++ b/infrastructure/systems/Shark/unix50/hashes/small/4.hash @@ -0,0 +1 @@ +fd6bde5840c70529aff9e28847f241f1605ecb8712599f7daf2f8e70fff8a66a diff --git a/infrastructure/systems/Shark/unix50/hashes/small/5.hash b/infrastructure/systems/Shark/unix50/hashes/small/5.hash new file mode 100644 index 00000000..6e7df368 --- /dev/null +++ b/infrastructure/systems/Shark/unix50/hashes/small/5.hash @@ -0,0 +1 @@ +c6c7b0195a2c5bfa5da1906e9b0324918062552f304d3e280d3c61beb3085704 diff --git a/infrastructure/systems/Shark/unix50/hashes/small/6.hash b/infrastructure/systems/Shark/unix50/hashes/small/6.hash new file mode 100644 index 00000000..e627bdae --- /dev/null +++ b/infrastructure/systems/Shark/unix50/hashes/small/6.hash @@ -0,0 +1 @@ +f77fab52a175fef9a9d8b12ef47acc7758688fe539304ae72cebe328e1b5fe44 diff --git a/infrastructure/systems/Shark/unix50/hashes/small/7.hash b/infrastructure/systems/Shark/unix50/hashes/small/7.hash new file mode 100644 index 00000000..7433aa84 --- /dev/null +++ b/infrastructure/systems/Shark/unix50/hashes/small/7.hash @@ -0,0 +1 @@ +28d5aa1a3704403b37cacafc8d412238feb616b8e000d0ead469f6aeb68f6fee diff --git a/infrastructure/systems/Shark/unix50/hashes/small/8.hash b/infrastructure/systems/Shark/unix50/hashes/small/8.hash new file mode 100644 index 00000000..fc2ba965 --- /dev/null +++ b/infrastructure/systems/Shark/unix50/hashes/small/8.hash @@ -0,0 +1 @@ +dcd477cdc1a00d81e99863b865b1b9ac9176abab64df12fee14b795297ae3d38 diff --git a/infrastructure/systems/Shark/unix50/hashes/small/9.hash b/infrastructure/systems/Shark/unix50/hashes/small/9.hash new file mode 100644 index 00000000..9b2f82e7 --- /dev/null +++ b/infrastructure/systems/Shark/unix50/hashes/small/9.hash @@ -0,0 +1 @@ +cc8c789eb8fa081de15df8d249e567bc5d51b68f1c6c94bf98c8c6fca31a48c9 diff --git a/infrastructure/systems/Shark/unix50/input.sh b/infrastructure/systems/Shark/unix50/input.sh new file mode 100755 index 00000000..5fe60d15 --- /dev/null +++ b/infrastructure/systems/Shark/unix50/input.sh @@ -0,0 +1,37 @@ +#!/bin/bash + +cd "$(realpath $(dirname "$0"))" +mkdir -p inputs +cd inputs + +inputs=(1 2 3 4 5 6 7 8 9.1 9.2 9.3 9.4 9.5 9.6 9.7 9.8 9.9 10 11 12) + +for input in ${inputs[@]} +do + + echo "Processing ${input}.txt" + + if [ ! -f "${input}.txt" ]; then + wget --no-check-certificate "http://atlas-group.cs.brown.edu/data/unix50/${input}.txt" -q || exit 1 + fi + + # TODO: Maybe upload 1M and 3G files to the server? + if [ ! -f "${input}_1M.txt" ]; then + file_content_size=$(wc -c < "${input}.txt") + iteration_limit=$((1048576 / $file_content_size)) + for (( i = 0; i < iteration_limit; i++ )); do + cat "${input}.txt" >> "${input}_1M.txt" + done + fi + + # Skip the 3G file if the --small flag is present + if [[ "$@" == *"--small"* ]]; then + continue + fi + + if [ ! -f "${input}_3G.txt" ]; then + for (( i = 0; i < 3000; i++ )); do + cat "${input}_1M.txt" >> "${input}_3G.txt" + done + fi +done diff --git a/infrastructure/systems/Shark/unix50/run.sh b/infrastructure/systems/Shark/unix50/run.sh new file mode 100755 index 00000000..26b23002 --- /dev/null +++ b/infrastructure/systems/Shark/unix50/run.sh @@ -0,0 +1,73 @@ +#!/bin/bash + +export SUITE_DIR=$(realpath $(dirname "$0")) +export TIMEFORMAT=%R +cd $SUITE_DIR + +scripts_inputs=( +"1;1" +"2;1" +"3;1" +"4;1" +"5;2" +"6;3" +"7;4" +"8;4" +"9;4" +"10;4" +"11;4" +"12;4" +"13;5" +"14;6" +"15;7" +"16;7" +"17;7" +"18;8" +"19;8" +"20;8" +"21;8" +# "22;8" +"23;9.1" +"24;9.2" +"25;9.3" +"26;9.4" +# "27;9.5" +"28;9.6" +"29;9.7" +"30;9.8" +"31;9.9" +"32;10" +"33;10" +"34;10" +"35;11" +"36;11" +) + +suffix="" + +if [[ "$@" == *"--small"* ]]; then + suffix="_1M" +else + suffix="_3G" +fi + +echo executing unix50 $(date) + +mkdir -p "outputs" +BENCHMARK_SHELL=${BENCHMARK_SHELL:-bash} + +for script_input in ${scripts_inputs[@]}; +do + IFS=";" read -r -a parsed <<< "${script_input}" + + script=${parsed[0]} + input=${parsed[1]} + + script_file="./scripts/$script.sh" + input_file="./inputs/$input$suffix.txt" + output_file="./outputs/$script.out" + + echo "$script" + $BENCHMARK_SHELL $script_file $input_file > $output_file + echo $? +done diff --git a/infrastructure/systems/Shark/unix50/scripts/1.sh b/infrastructure/systems/Shark/unix50/scripts/1.sh new file mode 100755 index 00000000..c068f519 --- /dev/null +++ b/infrastructure/systems/Shark/unix50/scripts/1.sh @@ -0,0 +1,6 @@ +#!/bin/bash + +# 1.0: extract the last name +# cat $1 | cut -d ' ' -f 2 + +cut -d ' ' -f 2 < $1 \ No newline at end of file diff --git a/infrastructure/systems/Shark/unix50/scripts/10.sh b/infrastructure/systems/Shark/unix50/scripts/10.sh new file mode 100755 index 00000000..6721fb45 --- /dev/null +++ b/infrastructure/systems/Shark/unix50/scripts/10.sh @@ -0,0 +1,6 @@ +#!/bin/bash + +# 4.4: histogram of Belle's captures (-pawns) by each type of piece +# cat $1 | tr ' ' '\n' | grep 'x' | grep '\.' | cut -d '.' -f 2 | grep '[KQRBN]' | cut -c 1-1 | sort | uniq -c | sort -nr + +tr ' ' '\n' < $1 | grep 'x' | grep '\.' | cut -d '.' -f 2 | grep '[KQRBN]' | cut -c 1-1 | sort | uniq -c | sort -nr \ No newline at end of file diff --git a/infrastructure/systems/Shark/unix50/scripts/11.sh b/infrastructure/systems/Shark/unix50/scripts/11.sh new file mode 100755 index 00000000..992c63a6 --- /dev/null +++ b/infrastructure/systems/Shark/unix50/scripts/11.sh @@ -0,0 +1,6 @@ +#!/bin/bash + +# 4.5: 4.4 + pawns +# cat $1 | tr ' ' '\n' | grep 'x' | grep '\.' | cut -d '.' -f 2 | cut -c 1-1 | tr '[a-z]' 'P' | sort | uniq -c | sort -nr + +tr ' ' '\n' < $1 | grep 'x' | grep '\.' | cut -d '.' -f 2 | cut -c 1-1 | tr '[a-z]' 'P' | sort | uniq -c | sort -nr \ No newline at end of file diff --git a/infrastructure/systems/Shark/unix50/scripts/12.sh b/infrastructure/systems/Shark/unix50/scripts/12.sh new file mode 100755 index 00000000..0d3dab75 --- /dev/null +++ b/infrastructure/systems/Shark/unix50/scripts/12.sh @@ -0,0 +1,6 @@ +#!/bin/bash + +# 4.6: piece used the most by Belle +# cat $1 | tr ' ' '\n' | grep '\.' | cut -d '.' -f 2 | cut -c 1-1 | tr '[a-z]' 'P' | sort -r | uniq | head -n 3 | tail -n 1 + +tr ' ' '\n' < $1 | grep '\.' | cut -d '.' -f 2 | cut -c 1-1 | tr '[a-z]' 'P' | sort -r | uniq | head -n 3 | tail -n 1 \ No newline at end of file diff --git a/infrastructure/systems/Shark/unix50/scripts/13.sh b/infrastructure/systems/Shark/unix50/scripts/13.sh new file mode 100755 index 00000000..bf24cf36 --- /dev/null +++ b/infrastructure/systems/Shark/unix50/scripts/13.sh @@ -0,0 +1,6 @@ +#!/bin/bash + +# 5.1: extract hello world +# cat $1 | grep 'print' | cut -d "\"" -f 2 | cut -c 1-12 + +grep 'print' < $1 | cut -d "\"" -f 2 | cut -c 1-12 \ No newline at end of file diff --git a/infrastructure/systems/Shark/unix50/scripts/14.sh b/infrastructure/systems/Shark/unix50/scripts/14.sh new file mode 100755 index 00000000..2215f60d --- /dev/null +++ b/infrastructure/systems/Shark/unix50/scripts/14.sh @@ -0,0 +1,6 @@ +#!/bin/bash + +# 6.1: order the bodies by how easy it would be to land on them in Thompson's Space Travel game when playing at the highest simulation scale +# cat $1 | awk "{print \$2, \$0}" | sort -nr | cut -d ' ' -f 2 + +awk "{print \$2, \$0}" < $1 | sort -nr | cut -d ' ' -f 2 \ No newline at end of file diff --git a/infrastructure/systems/Shark/unix50/scripts/15.sh b/infrastructure/systems/Shark/unix50/scripts/15.sh new file mode 100755 index 00000000..e73a200e --- /dev/null +++ b/infrastructure/systems/Shark/unix50/scripts/15.sh @@ -0,0 +1,6 @@ +#!/bin/bash + +# 7.1: identify number of AT&T unix versions +# cat $1 | cut -f 1 | grep 'AT&T' | wc -l + +cut -f 1 < $1 | grep 'AT&T' | wc -l \ No newline at end of file diff --git a/infrastructure/systems/Shark/unix50/scripts/16.sh b/infrastructure/systems/Shark/unix50/scripts/16.sh new file mode 100755 index 00000000..2f4597c1 --- /dev/null +++ b/infrastructure/systems/Shark/unix50/scripts/16.sh @@ -0,0 +1,6 @@ +#!/bin/bash + +# 7.2: find most frequently occurring machine +# cat $1 | cut -f 2 | sort -n | uniq -c | sort -nr | head -n 1 | tr -s ' ' '\n' | tail -n 1 + +cut -f 2 < $1 | sort -n | uniq -c | sort -nr | head -n 1 | tr -s ' ' '\n' | tail -n 1 \ No newline at end of file diff --git a/infrastructure/systems/Shark/unix50/scripts/17.sh b/infrastructure/systems/Shark/unix50/scripts/17.sh new file mode 100755 index 00000000..bf61bb7a --- /dev/null +++ b/infrastructure/systems/Shark/unix50/scripts/17.sh @@ -0,0 +1,6 @@ +#!/bin/bash + +# 7.3: all the decades in which a unix version was released +# cat $1 | cut -f 4 | sort -n | cut -c 3-3 | uniq | sed s/\$/'0s'/ + +cut -f 4 < $1 | sort -n | cut -c 3-3 | uniq | sed s/\$/'0s'/ \ No newline at end of file diff --git a/infrastructure/systems/Shark/unix50/scripts/18.sh b/infrastructure/systems/Shark/unix50/scripts/18.sh new file mode 100755 index 00000000..4e0e8487 --- /dev/null +++ b/infrastructure/systems/Shark/unix50/scripts/18.sh @@ -0,0 +1,6 @@ +#!/bin/bash + +# 8.1: count unix birth-year +# cat $1 | tr ' ' '\n' | grep 1969 | wc -l + +tr ' ' '\n' < $1 | grep 1969 | wc -l \ No newline at end of file diff --git a/infrastructure/systems/Shark/unix50/scripts/19.sh b/infrastructure/systems/Shark/unix50/scripts/19.sh new file mode 100755 index 00000000..49fec4e7 --- /dev/null +++ b/infrastructure/systems/Shark/unix50/scripts/19.sh @@ -0,0 +1,6 @@ +#!/bin/bash + +# 8.2: find Bell Labs location where Dennis Ritchie had his office +# cat $1 | grep 'Bell' | awk 'length <= 45' | cut -d ',' -f 2 | awk "{\$1=\$1};1" + +grep 'Bell' < $1 | awk 'length <= 45' | cut -d ',' -f 2 | awk "{\$1=\$1};1" \ No newline at end of file diff --git a/infrastructure/systems/Shark/unix50/scripts/2.sh b/infrastructure/systems/Shark/unix50/scripts/2.sh new file mode 100755 index 00000000..3f3fb33b --- /dev/null +++ b/infrastructure/systems/Shark/unix50/scripts/2.sh @@ -0,0 +1,6 @@ +#!/bin/bash + +# 1.1: extract names and sort +# cat $1 | cut -d ' ' -f 2 | sort + +cut -d ' ' -f 2 < $1 | sort \ No newline at end of file diff --git a/infrastructure/systems/Shark/unix50/scripts/20.sh b/infrastructure/systems/Shark/unix50/scripts/20.sh new file mode 100755 index 00000000..8364a5ac --- /dev/null +++ b/infrastructure/systems/Shark/unix50/scripts/20.sh @@ -0,0 +1,6 @@ +#!/bin/bash + +# 8.3: find names of the four people most involved with unix +# cat $1 | grep '(' | cut -d '(' -f 2 | cut -d ')' -f 1 | head -n 1 + +grep '(' < $1 | cut -d '(' -f 2 | cut -d ')' -f 1 | head -n 4 \ No newline at end of file diff --git a/infrastructure/systems/Shark/unix50/scripts/21.sh b/infrastructure/systems/Shark/unix50/scripts/21.sh new file mode 100755 index 00000000..e0cdad6e --- /dev/null +++ b/infrastructure/systems/Shark/unix50/scripts/21.sh @@ -0,0 +1,6 @@ +#!/bin/bash + +# 8.4: find longest words without hyphens +# cat $1 | tr -c "[a-z][A-Z]" '\n' | sort | awk "length >= 16" + +tr -c "[a-z][A-Z]" '\n' < $1 | sort | awk "length >= 16" \ No newline at end of file diff --git a/infrastructure/systems/Shark/unix50/scripts/22.sh b/infrastructure/systems/Shark/unix50/scripts/22.sh new file mode 100755 index 00000000..3a2cbcf2 --- /dev/null +++ b/infrastructure/systems/Shark/unix50/scripts/22.sh @@ -0,0 +1,4 @@ +#!/bin/bash + +# # 8.5: Find second-most-freq 8-character word(s) without hyphens +# cat $1 > /dev/null diff --git a/infrastructure/systems/Shark/unix50/scripts/23.sh b/infrastructure/systems/Shark/unix50/scripts/23.sh new file mode 100755 index 00000000..d2a81af5 --- /dev/null +++ b/infrastructure/systems/Shark/unix50/scripts/23.sh @@ -0,0 +1,6 @@ +#!/bin/bash + +# 9.1: extract the word PORT +# cat $1 | tr ' ' '\n' | grep '[A-Z]' | tr '[a-z]' '\n' | grep '[A-Z]' | tr -d '\n' | cut -c 1-4 + +tr ' ' '\n' < $1 | grep '[A-Z]' | tr '[a-z]' '\n' | grep '[A-Z]' | tr -d '\n' | cut -c 1-4 \ No newline at end of file diff --git a/infrastructure/systems/Shark/unix50/scripts/24.sh b/infrastructure/systems/Shark/unix50/scripts/24.sh new file mode 100755 index 00000000..1525ed28 --- /dev/null +++ b/infrastructure/systems/Shark/unix50/scripts/24.sh @@ -0,0 +1,6 @@ +#!/bin/bash + +# 9.2: extract the word BELL +# cat $1 | cut -c 1-1 | tr -d '\n' + +cut -c 1-1 < $1 | tr -d '\n' \ No newline at end of file diff --git a/infrastructure/systems/Shark/unix50/scripts/25.sh b/infrastructure/systems/Shark/unix50/scripts/25.sh new file mode 100755 index 00000000..30a58213 --- /dev/null +++ b/infrastructure/systems/Shark/unix50/scripts/25.sh @@ -0,0 +1,6 @@ +#!/bin/bash + +# 9.3: animal that used to decorate the Unix room +# cat $1 | cut -c 1-2 | tr -d '\n' + +cut -c 1-2 < $1 | tr -d '\n' \ No newline at end of file diff --git a/infrastructure/systems/Shark/unix50/scripts/26.sh b/infrastructure/systems/Shark/unix50/scripts/26.sh new file mode 100755 index 00000000..dd333740 --- /dev/null +++ b/infrastructure/systems/Shark/unix50/scripts/26.sh @@ -0,0 +1,6 @@ +#!/bin/bash + +# 9.4: four corners with E centered, for an "X" configuration +# cat $1 | tr ' ' '\n' | grep "\"" | sed 4d | cut -d "\"" -f 2 | tr -d '\n' + +tr ' ' '\n' < $1 | grep "\"" | sed 4d | cut -d "\"" -f 2 | tr -d '\n' \ No newline at end of file diff --git a/infrastructure/systems/Shark/unix50/scripts/27.sh b/infrastructure/systems/Shark/unix50/scripts/27.sh new file mode 100755 index 00000000..1b608949 --- /dev/null +++ b/infrastructure/systems/Shark/unix50/scripts/27.sh @@ -0,0 +1,4 @@ +#!/bin/bash + +# # 9.5: backwards running clock, in a backwards poem +# cat $1 > /dev/null diff --git a/infrastructure/systems/Shark/unix50/scripts/28.sh b/infrastructure/systems/Shark/unix50/scripts/28.sh new file mode 100755 index 00000000..46030801 --- /dev/null +++ b/infrastructure/systems/Shark/unix50/scripts/28.sh @@ -0,0 +1,6 @@ +#!/bin/bash + +# 9.6: Follow the directions for grep +# cat $1 | tr ' ' '\n' | grep '[A-Z]' | sed 1d | sed 3d | sed 3d | tr '[a-z]' '\n' | grep '[A-Z]' | sed 3d | tr -c '[A-Z]' '\n' | tr -d '\n' + +tr ' ' '\n' < $1 | grep '[A-Z]' | sed 1d | sed 3d | sed 3d | tr '[a-z]' '\n' | grep '[A-Z]' | sed 3d | tr -c '[A-Z]' '\n' | tr -d '\n' \ No newline at end of file diff --git a/infrastructure/systems/Shark/unix50/scripts/29.sh b/infrastructure/systems/Shark/unix50/scripts/29.sh new file mode 100755 index 00000000..02517720 --- /dev/null +++ b/infrastructure/systems/Shark/unix50/scripts/29.sh @@ -0,0 +1,6 @@ +#!/bin/bash + +# 9.7: Four corners +# cat $1 | sed 2d | sed 2d | tr -c '[A-Z]' '\n' | tr -d '\n' + +sed 2d < $1 | sed 2d | tr -c '[A-Z]' '\n' | tr -d '\n' \ No newline at end of file diff --git a/infrastructure/systems/Shark/unix50/scripts/3.sh b/infrastructure/systems/Shark/unix50/scripts/3.sh new file mode 100755 index 00000000..6103173a --- /dev/null +++ b/infrastructure/systems/Shark/unix50/scripts/3.sh @@ -0,0 +1,6 @@ +#!/bin/bash + +# 1.2: extract names and sort +# cat $1 | head -n 2 | cut -d ' ' -f 2 + +head -n 2 < $1 | cut -d ' ' -f 2 \ No newline at end of file diff --git a/infrastructure/systems/Shark/unix50/scripts/30.sh b/infrastructure/systems/Shark/unix50/scripts/30.sh new file mode 100755 index 00000000..d74eb086 --- /dev/null +++ b/infrastructure/systems/Shark/unix50/scripts/30.sh @@ -0,0 +1,6 @@ +#!/bin/bash + +# 9.8: TELE-communications +# cat $1 | tr -c '[a-z][A-Z]' '\n' | grep '[A-Z]' | sed 1d | sed 2d | sed 3d | sed 4d | tr -c '[A-Z]' '\n' | tr -d '\n' + +tr -c '[a-z][A-Z]' '\n' < $1 | grep '[A-Z]' | sed 1d | sed 2d | sed 3d | sed 4d | tr -c '[A-Z]' '\n' | tr -d '\n' \ No newline at end of file diff --git a/infrastructure/systems/Shark/unix50/scripts/31.sh b/infrastructure/systems/Shark/unix50/scripts/31.sh new file mode 100755 index 00000000..4aa3cb36 --- /dev/null +++ b/infrastructure/systems/Shark/unix50/scripts/31.sh @@ -0,0 +1,6 @@ +#!/bin/bash + +# 9.9: +# cat $1 | tr -c '[a-z][A-Z]' '\n' | grep '[A-Z]' | sed 1d | sed 1d | sed 2d | sed 3d | sed 5d | tr -c '[A-Z]' '\n' | tr -d '\n' + +tr -c '[a-z][A-Z]' '\n' < $1 | grep '[A-Z]' | sed 1d | sed 1d | sed 2d | sed 3d | sed 5d | tr -c '[A-Z]' '\n' | tr -d '\n' \ No newline at end of file diff --git a/infrastructure/systems/Shark/unix50/scripts/32.sh b/infrastructure/systems/Shark/unix50/scripts/32.sh new file mode 100755 index 00000000..6a584316 --- /dev/null +++ b/infrastructure/systems/Shark/unix50/scripts/32.sh @@ -0,0 +1,4 @@ +#!/bin/bash + +# 10.1: count Turing award recipients while working at Bell Labs +cat $1 | sed 1d | grep 'Bell' | cut -f 2 | wc -l diff --git a/infrastructure/systems/Shark/unix50/scripts/33.sh b/infrastructure/systems/Shark/unix50/scripts/33.sh new file mode 100755 index 00000000..ae6c2b9c --- /dev/null +++ b/infrastructure/systems/Shark/unix50/scripts/33.sh @@ -0,0 +1,6 @@ +#!/bin/bash + +# 10.2: list Turing award recipients while working at Bell Labs +# cat $1 | sed 1d | grep 'Bell' | cut -f 2 + +sed 1d < $1 | grep 'Bell' | cut -f 2 \ No newline at end of file diff --git a/infrastructure/systems/Shark/unix50/scripts/34.sh b/infrastructure/systems/Shark/unix50/scripts/34.sh new file mode 100755 index 00000000..5900fe12 --- /dev/null +++ b/infrastructure/systems/Shark/unix50/scripts/34.sh @@ -0,0 +1,6 @@ +#!/bin/bash + +# 10.3: extract Ritchie's username +# cat $1 | grep 'Bell' | cut -f 2 | head -n 1 | fmt -w1 | cut -c 1-1 | tr -d '\n' | tr '[A-Z]' '[a-z]' + +grep 'Bell' < $1 | cut -f 2 | head - \ No newline at end of file diff --git a/infrastructure/systems/Shark/unix50/scripts/35.sh b/infrastructure/systems/Shark/unix50/scripts/35.sh new file mode 100755 index 00000000..98a8ebd2 --- /dev/null +++ b/infrastructure/systems/Shark/unix50/scripts/35.sh @@ -0,0 +1,6 @@ +#!/bin/bash + +# 11.1: year Ritchie and Thompson receive the Hamming medal +# cat $1 | grep 'UNIX' | cut -f 1 + +grep 'UNIX' < $1 | cut -f 1 \ No newline at end of file diff --git a/infrastructure/systems/Shark/unix50/scripts/36.sh b/infrastructure/systems/Shark/unix50/scripts/36.sh new file mode 100755 index 00000000..d93acd77 --- /dev/null +++ b/infrastructure/systems/Shark/unix50/scripts/36.sh @@ -0,0 +1,6 @@ +#!/bin/bash + +# 11.2: most repeated first name in the list? +# cat $1 | cut -f 2 | cut -d ' ' -f 1 | sort | uniq -c | sort -nr | head -n 1 | fmt -w1 | sed 1d + +cut -f 2 < $1 | cut -d ' ' -f 1 | sort | uniq -c | sort -nr | head -n 1 | fmt -w1 | sed 1d \ No newline at end of file diff --git a/infrastructure/systems/Shark/unix50/scripts/4.sh b/infrastructure/systems/Shark/unix50/scripts/4.sh new file mode 100755 index 00000000..4aa72f3a --- /dev/null +++ b/infrastructure/systems/Shark/unix50/scripts/4.sh @@ -0,0 +1,6 @@ +#!/bin/bash + +# 1.3: sort top first names +# cat $1 | cut -d ' ' -f 1 | sort | uniq -c | sort -r + +cut -d ' ' -f 1 < $1 | sort | uniq -c | sort -r \ No newline at end of file diff --git a/infrastructure/systems/Shark/unix50/scripts/5.sh b/infrastructure/systems/Shark/unix50/scripts/5.sh new file mode 100755 index 00000000..9668c5fa --- /dev/null +++ b/infrastructure/systems/Shark/unix50/scripts/5.sh @@ -0,0 +1,6 @@ +#!/bin/bash + +# 2.1: get all Unix utilities +# cat $1 | cut -d ' ' -f 4 | tr -d ',' + +cut -d ' ' -f 4 < $1 | tr -d ',' \ No newline at end of file diff --git a/infrastructure/systems/Shark/unix50/scripts/6.sh b/infrastructure/systems/Shark/unix50/scripts/6.sh new file mode 100755 index 00000000..1e7d16ee --- /dev/null +++ b/infrastructure/systems/Shark/unix50/scripts/6.sh @@ -0,0 +1,6 @@ +#!/bin/bash + +# 3.1: get lowercase first letter of last names (awk) +# cat $1 | cut -d ' ' -f 2 | cut -c 1-1 | tr -d '\n' | tr '[A-Z]' '[a-z]' + +cut -d ' ' -f 2 < $1 | cut -c 1-1 | tr -d '\n' | tr '[A-Z]' '[a-z]' \ No newline at end of file diff --git a/infrastructure/systems/Shark/unix50/scripts/7.sh b/infrastructure/systems/Shark/unix50/scripts/7.sh new file mode 100755 index 00000000..c502272f --- /dev/null +++ b/infrastructure/systems/Shark/unix50/scripts/7.sh @@ -0,0 +1,6 @@ +#!/bin/bash + +# 4.1: find number of rounds +# cat $1 | tr ' ' '\n' | grep '\.' | wc -l + +tr ' ' '\n' < $1 | grep '\.' | wc -l \ No newline at end of file diff --git a/infrastructure/systems/Shark/unix50/scripts/8.sh b/infrastructure/systems/Shark/unix50/scripts/8.sh new file mode 100755 index 00000000..a1cd07fa --- /dev/null +++ b/infrastructure/systems/Shark/unix50/scripts/8.sh @@ -0,0 +1,6 @@ +#!/bin/bash + +# 4.2: find pieces captured by Belle +# cat $1 | tr ' ' '\n' | grep 'x' | grep '\.' | wc -l + +tr ' ' '\n' < $1 | grep 'x' | grep '\.' | wc -l \ No newline at end of file diff --git a/infrastructure/systems/Shark/unix50/scripts/9.sh b/infrastructure/systems/Shark/unix50/scripts/9.sh new file mode 100755 index 00000000..7708a0fc --- /dev/null +++ b/infrastructure/systems/Shark/unix50/scripts/9.sh @@ -0,0 +1,6 @@ +#!/bin/bash + +# 4.3: find pieces captured by Belle with a pawn +# cat $1 | tr ' ' '\n' | grep 'x' | grep '\.' | cut -d '.' -f 2 | grep -v '[KQRBN]' | wc -l + +tr ' ' '\n' < $1 | grep 'x' | grep '\.' | cut -d '.' -f 2 | grep -v '[KQRBN]' | wc -l \ No newline at end of file diff --git a/infrastructure/systems/Shark/unix50/verify.sh b/infrastructure/systems/Shark/unix50/verify.sh new file mode 100755 index 00000000..0b515351 --- /dev/null +++ b/infrastructure/systems/Shark/unix50/verify.sh @@ -0,0 +1,54 @@ +#!/bin/bash + +# Exit immediately if a command exits with a non-zero status +# set -e + +cd "$(realpath $(dirname "$0"))" + +mkdir -p hashes/small + +if [[ "$@" == *"--small"* ]]; then + hash_folder="hashes/small" +else + hash_folder="hashes" +fi + +if [[ "$@" == *"--generate"* ]]; then + # Directory to iterate over + directory="outputs" + + # Loop through all .out files in the directory + for file in "$directory"/*.out + do + # Extract the filename without the directory path and extension + filename=$(basename "$file" .out) + + # Generate SHA-256 hash + hash=$(shasum -a 256 "$file" | awk '{ print $1 }') + + # Save the hash to a file + echo "$hash" > "$hash_folder/$filename.hash" + + # Print the filename and hash + echo "$hash_folder/$filename.hash $hash" + done + + exit 0 +fi + +# Loop through all directories in the parent directory +for file in "outputs"/*.out +do + # Extract the filename without the directory path and extension + filename=$(basename "$file" .out) + + # Generate SHA-256 hash + shasum -a 256 "$file" | awk '{ print $1 }' > "$file.hash" + + # Compare the hash with the hash in the hashes directory + diff "$hash_folder/$filename.hash" "$file.hash" > /dev/null + match="$?" + + # Print the filename and hash + echo "outputs/$filename.out $match" +done diff --git a/infrastructure/systems/Shark/vps-audit-negate/cleanup.sh b/infrastructure/systems/Shark/vps-audit-negate/cleanup.sh new file mode 100755 index 00000000..c5f68c82 --- /dev/null +++ b/infrastructure/systems/Shark/vps-audit-negate/cleanup.sh @@ -0,0 +1,4 @@ +#!/bin/bash + +rm *.txt +rm vps-audit-negate-processed.out \ No newline at end of file diff --git a/infrastructure/systems/Shark/vps-audit-negate/deps.sh b/infrastructure/systems/Shark/vps-audit-negate/deps.sh new file mode 100755 index 00000000..1015da7c --- /dev/null +++ b/infrastructure/systems/Shark/vps-audit-negate/deps.sh @@ -0,0 +1,16 @@ +#!/bin/bash + +sudo apt update + +sudo apt install -y \ + sudo \ + bash \ + curl \ + grep \ + gawk \ + iptables \ + ufw \ + procps \ + net-tools \ + fail2ban \ + iproute2 \ No newline at end of file diff --git a/infrastructure/systems/Shark/vps-audit-negate/hash/vps-audit-negate-processed.hash b/infrastructure/systems/Shark/vps-audit-negate/hash/vps-audit-negate-processed.hash new file mode 100644 index 00000000..e800fa78 --- /dev/null +++ b/infrastructure/systems/Shark/vps-audit-negate/hash/vps-audit-negate-processed.hash @@ -0,0 +1,2 @@ +05652a7062706f7fcf1a8dd3533968098448c630ed6c56bcfe2bb49ef97a3758 +42683cc92e7d5f15eb689c53027a61de2d5249c806787011f0540b768f5325d0 \ No newline at end of file diff --git a/infrastructure/systems/Shark/vps-audit-negate/input.sh b/infrastructure/systems/Shark/vps-audit-negate/input.sh new file mode 100755 index 00000000..7ab3966f --- /dev/null +++ b/infrastructure/systems/Shark/vps-audit-negate/input.sh @@ -0,0 +1,2 @@ +#!/bin/bash +# This script doesn't take any inputs \ No newline at end of file diff --git a/infrastructure/systems/Shark/vps-audit-negate/run.sh b/infrastructure/systems/Shark/vps-audit-negate/run.sh new file mode 100755 index 00000000..75528928 --- /dev/null +++ b/infrastructure/systems/Shark/vps-audit-negate/run.sh @@ -0,0 +1,10 @@ +#!/bin/bash +BENCHMARK_SHELL=${BENCHMARK_SHELL:-bash} +REPO_TOP=$(git rev-parse --show-toplevel) +eval_dir="${REPO_TOP}/vps-audit-negate" +scripts_dir="${eval_dir}/scripts" +main_script="${scripts_dir}/vps-audit-negate.sh" +mkdir -p "${eval_dir}/outputs" +echo "Starting VPS audit..." +${BENCHMARK_SHELL} "${main_script}" +echo $? diff --git a/infrastructure/systems/Shark/vps-audit-negate/scripts/vps-audit-negate.sh b/infrastructure/systems/Shark/vps-audit-negate/scripts/vps-audit-negate.sh new file mode 100755 index 00000000..bc1e8168 --- /dev/null +++ b/infrastructure/systems/Shark/vps-audit-negate/scripts/vps-audit-negate.sh @@ -0,0 +1,386 @@ +#!/bin/bash + +# Colors for output +GREEN='\033[0;32m' +RED='\033[0;31m' +YELLOW='\033[1;33m' +GRAY='\033[0;90m' +BLUE='\033[0;34m' +BOLD='\033[1m' +NC='\033[0m' # No Color + +# Get current timestamp for the report filename +TIMESTAMP=$(date +"%Y%m%d_%H%M%S") +REPORT_FILE="vps-audit-negate-report-${TIMESTAMP}.txt" + +print_header() { + local header="$1" + echo -e "\n${BLUE}${BOLD}$header${NC}" + echo -e "\n$header" >> "$REPORT_FILE" + echo "================================" >> "$REPORT_FILE" +} + +print_info() { + local label="$1" + local value="$2" + echo -e "${BOLD}$label:${NC} $value" + echo "$label: $value" >> "$REPORT_FILE" +} + +# Start the audit +echo -e "${BLUE}${BOLD}VPS Security Audit Tool${NC}" +echo -e "${GRAY}https://github.com/vernu/vps-audit${NC}" +echo -e "${GRAY}Starting audit at $(date)${NC}\n" + +echo "VPS Security Audit Tool" > "$REPORT_FILE" +echo "https://github.com/vernu/vps-audit" >> "$REPORT_FILE" +echo "Starting audit at $(date)" >> "$REPORT_FILE" +echo "================================" >> "$REPORT_FILE" + +# System Information Section +print_header "System Information" + +# Get system information +OS_INFO=$(cat /etc/os-release | grep PRETTY_NAME | cut -d'"' -f2) & +KERNEL_VERSION=$(uname -r) & +HOSTNAME=$(hostname) & +UPTIME=$(uptime -p) & +UPTIME_SINCE=$(uptime -s) & +CPU_INFO=$(lscpu | grep "Model name" | cut -d':' -f2 | xargs) & +CPU_CORES=$(nproc) & +TOTAL_MEM=$(free -h | awk '/^Mem:/ {print $2}') & +TOTAL_DISK=$(df -h / | awk 'NR==2 {print $2}') & +PUBLIC_IP=$(curl -s https://api.ipify.org) & +LOAD_AVERAGE=$(uptime | awk -F'load average:' '{print $2}' | xargs) & + +wait +# Print system information +print_info "Hostname" "$HOSTNAME" +print_info "Operating System" "$OS_INFO" +print_info "Kernel Version" "$KERNEL_VERSION" +print_info "Uptime" "$UPTIME (since $UPTIME_SINCE)" +print_info "CPU Model" "$CPU_INFO" +print_info "CPU Cores" "$CPU_CORES" +print_info "Total Memory" "$TOTAL_MEM" +print_info "Total Disk Space" "$TOTAL_DISK" +print_info "Public IP" "$PUBLIC_IP" +print_info "Load Average" "$LOAD_AVERAGE" + +echo "" >> "$REPORT_FILE" + +# Security Audit Section +print_header "Security Audit Results" + +# Function to check and report with three states +check_security() { + local test_name="$1" + local status="$2" + local message="$3" + + case $status in + "PASS") + echo -e "${GREEN}[PASS]${NC} $test_name ${GRAY}- $message${NC}" + echo "[PASS] $test_name - $message" >> "$REPORT_FILE" + ;; + "WARN") + echo -e "${YELLOW}[WARN]${NC} $test_name ${GRAY}- $message${NC}" + echo "[WARN] $test_name - $message" >> "$REPORT_FILE" + ;; + "FAIL") + echo -e "${RED}[FAIL]${NC} $test_name ${GRAY}- $message${NC}" + echo "[FAIL] $test_name - $message" >> "$REPORT_FILE" + ;; + esac + echo "" >> "$REPORT_FILE" +} + +# Check system uptime +UPTIME=$(uptime -p) +UPTIME_SINCE=$(uptime -s) +echo -e "\nSystem Uptime Information:" >> "$REPORT_FILE" +echo "Current uptime: $UPTIME" >> "$REPORT_FILE" +echo "System up since: $UPTIME_SINCE" >> "$REPORT_FILE" +echo "" >> "$REPORT_FILE" +echo -e "System Uptime: $UPTIME (since $UPTIME_SINCE)" +{ +# Check if system requires restart +if [ ! -f /var/run/reboot-required ]; then + check_security "System Restart" "PASS" "No restart required" +else + check_security "System Restart" "WARN" "System requires a restart to apply updates" +fi +} & +{ +# Check SSH config overrides +SSH_CONFIG_OVERRIDES=$(grep "^Include" /etc/ssh/sshd_config 2>/dev/null | awk '{print $2}') + +# Check SSH root login (handle both main config and overrides if they exist) +if [ ! -n "$SSH_CONFIG_OVERRIDES" ] || [ ! -d "$(dirname "$SSH_CONFIG_OVERRIDES")" ]; then + SSH_ROOT=$(grep "^PermitRootLogin" /etc/ssh/sshd_config 2>/dev/null | head -1 | awk '{print $2}') +else + SSH_ROOT=$(grep "^PermitRootLogin" "$SSH_CONFIG_OVERRIDES" /etc/ssh/sshd_config 2>/dev/null | head -1 | awk '{print $2}') +fi +if [ -z "$SSH_ROOT" ] || [ "$SSH_ROOT" != "no" ]; then + check_security "SSH Root Login" "FAIL" "Root login is currently allowed - this is a security risk. Disable it in /etc/ssh/sshd_config" +else + check_security "SSH Root Login" "PASS" "Root login is properly disabled in SSH configuration" +fi +} & +{ +# Check SSH password authentication (handle both main config and overrides if they exist) +if [ ! -n "$SSH_CONFIG_OVERRIDES" ] || [ ! -d "$(dirname "$SSH_CONFIG_OVERRIDES")" ]; then + SSH_PASSWORD=$(grep "^PasswordAuthentication" /etc/ssh/sshd_config 2>/dev/null | head -1 | awk '{print $2}') +else + SSH_PASSWORD=$(grep "^PasswordAuthentication" "$SSH_CONFIG_OVERRIDES" /etc/ssh/sshd_config 2>/dev/null | head -1 | awk '{print $2}') +fi +if [ -z "$SSH_PASSWORD" ] || [ "$SSH_PASSWORD" != "no" ]; then + check_security "SSH Password Auth" "FAIL" "Password authentication is enabled - consider using key-based authentication only" +else + check_security "SSH Password Auth" "PASS" "Password authentication is disabled, key-based auth only" +fi +} & +{ +# Check SSH default port +UNPRIVILEGED_PORT_START=$(sysctl -n net.ipv4.ip_unprivileged_port_start) +SSH_PORT="" +if [ ! -n "$SSH_CONFIG_OVERRIDES" ] || [ ! -d "$(dirname "$SSH_CONFIG_OVERRIDES")" ]; then + SSH_PORT=$(grep "^Port" /etc/ssh/sshd_config 2>/dev/null | head -1 | awk '{print $2}') +else + SSH_PORT=$(grep "^Port" "$SSH_CONFIG_OVERRIDES" /etc/ssh/sshd_config 2>/dev/null | head -1 | awk '{print $2}') +fi +if [ -z "$SSH_PORT" ] || [ "$SSH_PORT" = "22" ]; then + check_security "SSH Port" "WARN" "Using default port 22 - consider changing to a non-standard port for security by obscurity" +elif [ "$SSH_PORT" -ge "$UNPRIVILEGED_PORT_START" ]; then + check_security "SSH Port" "FAIL" "Using unprivileged port $SSH_PORT - use a port below $UNPRIVILEGED_PORT_START for better security" +else + check_security "SSH Port" "PASS" "Using non-default port $SSH_PORT which helps prevent automated attacks" +fi +} & +# Check Firewall Status +check_firewall_status() { + if command -v ufw >/dev/null 2>&1; then + if ! ufw status | grep -q "active"; then + check_security "Firewall Status (UFW)" "FAIL" "UFW firewall is not active - your system is exposed to network attacks" + else + check_security "Firewall Status (UFW)" "PASS" "UFW firewall is active and protecting your system" + fi + elif command -v firewall-cmd >/dev/null 2>&1; then + if ! firewall-cmd --state 2>/dev/null | grep -q "running"; then + check_security "Firewall Status (firewalld)" "FAIL" "Firewalld is not active - your system is exposed to network attacks" + else + check_security "Firewall Status (firewalld)" "PASS" "Firewalld is active and protecting your system" + fi + elif command -v iptables >/dev/null 2>&1; then + if ! sudo iptables -L | grep -q "Chain INPUT"; then + check_security "Firewall Status (iptables)" "FAIL" "No active iptables rules found - your system may be exposed" + else + check_security "Firewall Status (iptables)" "PASS" "iptables rules are active and protecting your system" + fi + elif command -v nft >/dev/null 2>&1; then + if ! nft list ruleset | grep -q "table"; then + check_security "Firewall Status (nftables)" "FAIL" "No active nftables rules found - your system may be exposed" + else + check_security "Firewall Status (nftables)" "PASS" "nftables rules are active and protecting your system" + fi + else + check_security "Firewall Status" "FAIL" "No recognized firewall tool is installed on this system" + fi +} + + +# Firewall check +{ +check_firewall_status +} & +# Check for unattended upgrades +if ! dpkg -l | grep -q "unattended-upgrades"; then + check_security "Unattended Upgrades" "FAIL" "Automatic security updates are not configured - system may miss critical updates" +else + check_security "Unattended Upgrades" "PASS" "Automatic security updates are configured" +fi +} & +{ +# Check fail2ban +if ! dpkg -l | grep -q "fail2ban"; then + check_security "Fail2ban" "FAIL" "No brute force protection installed - system is vulnerable to login attacks" +else + if ! pgrep -x "fail2ban-server" >/dev/null 2>&1; then + check_security "Fail2ban" "WARN" "Fail2ban is installed but not running - brute force protection is disabled" + else + check_security "Fail2ban" "PASS" "Brute force protection is active and running" + fi +fi +} & +{ +# Check failed login attempts +FAILED_LOGINS=$(grep "Failed password" /var/log/auth.log 2>/dev/null | wc -l) +if [ "$FAILED_LOGINS" -lt 10 ]; then + check_security "Failed Logins" "PASS" "Only $FAILED_LOGINS failed login attempts detected - this is within normal range" +elif [ "$FAILED_LOGINS" -lt 50 ]; then + check_security "Failed Logins" "WARN" "$FAILED_LOGINS failed login attempts detected - might indicate breach attempts" +else + check_security "Failed Logins" "FAIL" "$FAILED_LOGINS failed login attempts detected - possible brute force attack in progress" +fi +} & +{ +# Check system updates +UPDATES=$(apt-get -s upgrade 2>/dev/null | grep -P '^\d+ upgraded' | cut -d" " -f1) +if [ "$UPDATES" -gt 0 ]; then + check_security "System Updates" "FAIL" "$UPDATES security updates available - system is vulnerable to known exploits" +else + check_security "System Updates" "PASS" "All system packages are up to date" +fi +} & +{ +# Check running services +SERVICES=$(ps --no-headers -eo cmd | wc -l) +if [ "$SERVICES" -ge 40 ]; then + check_security "Running Services" "FAIL" "Too many services running ($SERVICES) - increases attack surface" +elif [ "$SERVICES" -ge 20 ]; then + check_security "Running Services" "WARN" "$SERVICES services running - consider reducing attack surface" +else + check_security "Running Services" "PASS" "Running minimal services ($SERVICES) - good for security" +fi +} & +{ +# Check ports using netstat or ss +if ! command -v netstat >/dev/null 2>&1; then + if ! command -v ss >/dev/null 2>&1; then + check_security "Port Scanning" "FAIL" "Neither 'netstat' nor 'ss' is available on this system." + LISTENING_PORTS="" + else + LISTENING_PORTS=$(ss -tuln | grep LISTEN | awk '{print $5}') + fi +else + LISTENING_PORTS=$(netstat -tuln | grep LISTEN | awk '{print $4}') +fi +} & +{ +# Process LISTENING_PORTS to extract unique public ports +if [ -z "$LISTENING_PORTS" ]; then + check_security "Port Scanning" "WARN" "Port scanning failed due to missing tools. Ensure 'ss' or 'netstat' is installed." +else + PUBLIC_PORTS=$(echo "$LISTENING_PORTS" | awk -F':' '{print $NF}' | sort -n | uniq | tr '\n' ',' | sed 's/,$//') + PORT_COUNT=$(echo "$PUBLIC_PORTS" | tr ',' '\n' | wc -w) + INTERNET_PORTS=$(echo "$PUBLIC_PORTS" | tr ',' '\n' | wc -w) + + if [ "$PORT_COUNT" -ge 10 ] || [ "$INTERNET_PORTS" -ge 3 ]; then + if [ "$PORT_COUNT" -ge 20 ] || [ "$INTERNET_PORTS" -ge 5 ]; then + check_security "Port Security" "FAIL" "High exposure (Total: $PORT_COUNT, Public: $INTERNET_PORTS accessible ports): $PUBLIC_PORTS" + else + check_security "Port Security" "WARN" "Review recommended (Total: $PORT_COUNT, Public: $INTERNET_PORTS accessible ports): $PUBLIC_PORTS" + fi + else + check_security "Port Security" "PASS" "Good configuration (Total: $PORT_COUNT, Public: $INTERNET_PORTS accessible ports): $PUBLIC_PORTS" + fi +fi +} & +# Function to format the message with proper indentation for the report file +format_for_report() { + local message="$1" + echo "$message" >> "$REPORT_FILE" +} +{ +# Check disk space usage +DISK_TOTAL=$(df -h / | awk 'NR==2 {print $2}') +DISK_USED=$(df -h / | awk 'NR==2 {print $3}') +DISK_AVAIL=$(df -h / | awk 'NR==2 {print $4}') +DISK_USAGE=$(df -h / | awk 'NR==2 {print int($5)}') +if [ "$DISK_USAGE" -ge 50 ]; then + if [ "$DISK_USAGE" -ge 80 ]; then + check_security "Disk Usage" "FAIL" "Critical disk space usage (${DISK_USAGE}% used - Used: ${DISK_USED} of ${DISK_TOTAL}, Available: ${DISK_AVAIL})" + else + check_security "Disk Usage" "WARN" "Disk space usage is moderate (${DISK_USAGE}% used - Used: ${DISK_USED} of ${DISK_TOTAL}, Available: ${DISK_AVAIL})" + fi +else + check_security "Disk Usage" "PASS" "Healthy disk space available (${DISK_USAGE}% used - Used: ${DISK_USED} of ${DISK_TOTAL}, Available: ${DISK_AVAIL})" +fi +} & +{ +# Check memory usage +MEM_TOTAL=$(free -h | awk '/^Mem:/ {print $2}') +MEM_USED=$(free -h | awk '/^Mem:/ {print $3}') +MEM_AVAIL=$(free -h | awk '/^Mem:/ {print $7}') +MEM_USAGE=$(free | awk '/^Mem:/ {printf "%.0f", $3/$2 * 100}') +if [ "$MEM_USAGE" -ge 50 ]; then + if [ "$MEM_USAGE" -ge 80 ]; then + check_security "Memory Usage" "FAIL" "Critical memory usage (${MEM_USAGE}% used - Used: ${MEM_USED} of ${MEM_TOTAL}, Available: ${MEM_AVAIL})" + else + check_security "Memory Usage" "WARN" "Moderate memory usage (${MEM_USAGE}% used - Used: ${MEM_USED} of ${MEM_TOTAL}, Available: ${MEM_AVAIL})" + fi +else + check_security "Memory Usage" "PASS" "Healthy memory usage (${MEM_USAGE}% used - Used: ${MEM_USED} of ${MEM_TOTAL}, Available: ${MEM_AVAIL})" +fi +} & +{ +# Check CPU usage +CPU_CORES=$(nproc) +CPU_USAGE=$(top -bn1 | grep "Cpu(s)" | awk '{print int($2)}') +CPU_IDLE=$(top -bn1 | grep "Cpu(s)" | awk '{print int($8)}') +CPU_LOAD=$(uptime | awk -F'load average:' '{ print $2 }' | awk -F',' '{ print $1 }' | tr -d ' ') +if [ "$CPU_USAGE" -ge 50 ]; then + if [ "$CPU_USAGE" -ge 80 ]; then + check_security "CPU Usage" "FAIL" "Critical CPU usage (${CPU_USAGE}% used - Active: ${CPU_USAGE}%, Idle: ${CPU_IDLE}%, Load: ${CPU_LOAD}, Cores: ${CPU_CORES})" + else + check_security "CPU Usage" "WARN" "Moderate CPU usage (${CPU_USAGE}% used - Active: ${CPU_USAGE}%, Idle: ${CPU_IDLE}%, Load: ${CPU_LOAD}, Cores: ${CPU_CORES})" + fi +else + check_security "CPU Usage" "PASS" "Healthy CPU usage (${CPU_USAGE}% used - Active: ${CPU_USAGE}%, Idle: ${CPU_IDLE}%, Load: ${CPU_LOAD}, Cores: ${CPU_CORES})" +fi +} & +{ +# Check sudo configuration +if ! grep -q "^Defaults.*logfile" /etc/sudoers; then + check_security "Sudo Logging" "FAIL" "Sudo commands are not being logged - reduces audit capability" +else + check_security "Sudo Logging" "PASS" "Sudo commands are being logged for audit purposes" +fi +} & +{ +# Check password policy +if ! [ -f "/etc/security/pwquality.conf" ]; then + check_security "Password Policy" "FAIL" "No password policy configured - system accepts weak passwords" +else + if ! grep -q "minlen.*12" /etc/security/pwquality.conf; then + check_security "Password Policy" "FAIL" "Weak password policy - passwords may be too simple" + else + check_security "Password Policy" "PASS" "Strong password policy is enforced" + fi +fi +} & +{ +# Check for suspicious SUID files +COMMON_SUID_PATHS='^/usr/bin/|^/bin/|^/sbin/|^/usr/sbin/|^/usr/lib|^/usr/libexec' +KNOWN_SUID_BINS='ping$|sudo$|mount$|umount$|su$|passwd$|chsh$|newgrp$|gpasswd$|chfn$' + +SUID_FILES=$(find / -type f -perm -4000 2>/dev/null | \ + grep -v -E "$COMMON_SUID_PATHS" | \ + grep -v -E "$KNOWN_SUID_BINS" | \ + wc -l) + +if [ "$SUID_FILES" -ne 0 ]; then + check_security "SUID Files" "WARN" "Found $SUID_FILES SUID files outside standard locations - verify if legitimate" +else + check_security "SUID Files" "PASS" "No suspicious SUID files found - good security practice" +fi +} & + +wait +# Add system information summary to report +echo "================================" >> "$REPORT_FILE" +echo "System Information Summary:" >> "$REPORT_FILE" +echo "Hostname: $(hostname)" >> "$REPORT_FILE" +echo "Kernel: $(uname -r)" >> "$REPORT_FILE" +echo "OS: $(cat /etc/os-release | grep PRETTY_NAME | cut -d'"' -f2)" >> "$REPORT_FILE" +echo "CPU Cores: $(nproc)" >> "$REPORT_FILE" +echo "Total Memory: $(free -h | awk '/^Mem:/ {print $2}')" >> "$REPORT_FILE" +echo "Total Disk Space: $(df -h / | awk 'NR==2 {print $2}')" >> "$REPORT_FILE" +echo "================================" >> "$REPORT_FILE" + +echo -e "\nVPS audit complete. Full report saved to $REPORT_FILE" +echo -e "Review $REPORT_FILE for detailed recommendations." + +# Add summary to report +echo "================================" >> "$REPORT_FILE" +echo "End of VPS Audit Report" >> "$REPORT_FILE" +echo "Please review all failed checks and implement the recommended fixes." >> "$REPORT_FILE" diff --git a/infrastructure/systems/Shark/vps-audit-negate/verify.py b/infrastructure/systems/Shark/vps-audit-negate/verify.py new file mode 100755 index 00000000..b8042fd5 --- /dev/null +++ b/infrastructure/systems/Shark/vps-audit-negate/verify.py @@ -0,0 +1,136 @@ +#!/usr/bin/env python3 + +import re +import argparse +import hashlib +import os +import sys + + +input_file = "vps-audit-negate.out" +error_file = "vps-audit-negate.err" +output_file = "vps-audit-negate-processed.out" +hash_folder = "hash" + +ansi_escape = re.compile(r'\x1b\[[0-9;]*m') + +audit_markers = [ + "System Uptime", + "System Restart", + "SSH Root Login", + "SSH Password Auth", + "SSH Port", + "Firewall Status (UFW)", + "Firewall Status (firewalld)", + "Firewall Status (iptables)", + "Firewall Status (nftables)", + "Firewall Status", + "Unattended Upgrades", + "Fail2ban", + "Failed Logins", + "System Updates", + "Running Services", + "Port Scanning", + "Port Security", + "Disk Usage", + "Memory Usage", + "CPU Usage", + "Sudo Logging", + "Password Policy", + "SUID Files" +] + +sys_info_markers = [ + "Hostname", + "Operating System", + "Kernel Version", + "Uptime", + "CPU Model", + "CPU Cores", + "Total Memory", + "Total Disk Space", + "Public IP", + "Load Average" +] + +def clean_line(line): + if line.startswith('-e'): + line = line[2:].lstrip() + + line = ansi_escape.sub('', line) + + line = re.sub(r"^Starting audit at [^\x1b]+", "Starting audit at", line) + + line = re.sub(r'vps-audit-negate-report-\S+', '', line) + + if ':' in line and any(marker in line for marker in sys_info_markers): + line = line.split(':', 1)[0] + ':' + + if any(marker in line for marker in audit_markers): + line = next((marker for marker in audit_markers if marker in line), line) + + return line.strip() if line.strip() else None + +def process_file(input_file, output_file): + with open(input_file, 'r') as infile, open(output_file, 'w') as outfile: + for line in infile: + cleaned_line = clean_line(line) + if cleaned_line: + outfile.write(cleaned_line + '\n') + +def generate_hash(file_path, hash_folder): + filename = os.path.splitext(os.path.basename(file_path))[0] + + with open(file_path, 'rb') as f: + hash_value = hashlib.sha256(f.read()).hexdigest() + + hash_file_path = os.path.join(hash_folder, f"{filename}.hash") + with open(hash_file_path, 'w') as hash_file: + hash_file.write(hash_value) + + print(f"{hash_file_path} {hash_value}") + +def compare_hashes(file_path, hash_folder): + filename = os.path.splitext(os.path.basename(file_path))[0] + + with open(file_path, 'rb') as f: + current_hash = hashlib.sha256(f.read()).hexdigest() + + hash_file_path = os.path.join(hash_folder, f"{filename}.hash") + if not os.path.exists(hash_file_path): + print(f"No hash file found for {file_path}. Please generate the hash first.") + sys.exit(1) + + with open(hash_file_path, 'r') as hash_file: + # Read all lines and strip whitespace + hashes = [line.strip() for line in hash_file.readlines() if line.strip()] + + # Check if the current hash matches any of the hashes in the file + if current_hash in hashes: + print(f"{file_path} Verification Success") + else: + print(f"{file_path} Verification Failed") + print(f"Computed hash: {current_hash}") + print(f"Stored hashes: {hashes}") + sys.exit(1) + + +if __name__ == "__main__": + parser = argparse.ArgumentParser(description="Process and optionally generate hashes for files.") + parser.add_argument( + "--generate", + action="store_true", + help="If specified, generate hashes for the processed files instead of comparing them." + ) + args = parser.parse_args() + + os.makedirs(hash_folder, exist_ok=True) + + process_file(input_file, output_file) + + if args.generate: + print("Generate mode enabled. Hashes will be generated.") + generate_hash(output_file, hash_folder) + else: + print("Comparison mode enabled. Hashes will be compared.") + compare_hashes(output_file, hash_folder) diff --git a/infrastructure/systems/Shark/vps-audit-negate/verify.sh b/infrastructure/systems/Shark/vps-audit-negate/verify.sh new file mode 100755 index 00000000..40ceaa31 --- /dev/null +++ b/infrastructure/systems/Shark/vps-audit-negate/verify.sh @@ -0,0 +1,10 @@ +#!/bin/bash + +# Exit immediately if a command exits with a non-zero status +# set -e + +# run the Python script +python3 verify.py + +# check if the script ran successfully +echo "vps-audit-negate $?" diff --git a/infrastructure/systems/Shark/vps-audit/cleanup.sh b/infrastructure/systems/Shark/vps-audit/cleanup.sh new file mode 100755 index 00000000..43eebaf6 --- /dev/null +++ b/infrastructure/systems/Shark/vps-audit/cleanup.sh @@ -0,0 +1,4 @@ +#!/bin/bash + +rm *.txt +rm vps-audit-processed.out \ No newline at end of file diff --git a/infrastructure/systems/Shark/vps-audit/deps.sh b/infrastructure/systems/Shark/vps-audit/deps.sh new file mode 100755 index 00000000..23816ea6 --- /dev/null +++ b/infrastructure/systems/Shark/vps-audit/deps.sh @@ -0,0 +1,16 @@ +#!/bin/bash + +sudo apt update + +sudo apt install -y \ + sudo \ + bash \ + curl \ + grep \ + gawk \ + iptables \ + ufw \ + procps \ + net-tools \ + fail2ban \ + iproute2 diff --git a/infrastructure/systems/Shark/vps-audit/hash/vps-audit-processed.hash b/infrastructure/systems/Shark/vps-audit/hash/vps-audit-processed.hash new file mode 100644 index 00000000..e800fa78 --- /dev/null +++ b/infrastructure/systems/Shark/vps-audit/hash/vps-audit-processed.hash @@ -0,0 +1,2 @@ +05652a7062706f7fcf1a8dd3533968098448c630ed6c56bcfe2bb49ef97a3758 +42683cc92e7d5f15eb689c53027a61de2d5249c806787011f0540b768f5325d0 \ No newline at end of file diff --git a/infrastructure/systems/Shark/vps-audit/input.sh b/infrastructure/systems/Shark/vps-audit/input.sh new file mode 100755 index 00000000..7ab3966f --- /dev/null +++ b/infrastructure/systems/Shark/vps-audit/input.sh @@ -0,0 +1,2 @@ +#!/bin/bash +# This script doesn't take any inputs \ No newline at end of file diff --git a/infrastructure/systems/Shark/vps-audit/run.sh b/infrastructure/systems/Shark/vps-audit/run.sh new file mode 100755 index 00000000..3f008e15 --- /dev/null +++ b/infrastructure/systems/Shark/vps-audit/run.sh @@ -0,0 +1,10 @@ +#!/bin/bash +BENCHMARK_SHELL=${BENCHMARK_SHELL:-bash} +REPO_TOP=$(git rev-parse --show-toplevel) +eval_dir="${REPO_TOP}/vps-audit" +scripts_dir="${eval_dir}/scripts" +main_script="${scripts_dir}/vps-audit.sh" +mkdir -p "${eval_dir}/outputs" +echo "Starting VPS audit..." +${BENCHMARK_SHELL} "${main_script}" +echo $? diff --git a/infrastructure/systems/Shark/vps-audit/scripts/vps-audit.sh b/infrastructure/systems/Shark/vps-audit/scripts/vps-audit.sh new file mode 100755 index 00000000..6b4fd870 --- /dev/null +++ b/infrastructure/systems/Shark/vps-audit/scripts/vps-audit.sh @@ -0,0 +1,400 @@ +#!/bin/bash + +# Colors for output +GREEN='\033[0;32m' +RED='\033[0;31m' +YELLOW='\033[1;33m' +GRAY='\033[0;90m' +BLUE='\033[0;34m' +BOLD='\033[1m' +NC='\033[0m' # No Color + +# Get current timestamp for the report filename +TIMESTAMP=$(date +"%Y%m%d_%H%M%S") +REPORT_FILE="vps-audit-report-${TIMESTAMP}.txt" + +print_header() { + local header="$1" + echo -e "\n${BLUE}${BOLD}$header${NC}" + echo -e "\n$header" >> "$REPORT_FILE" + echo "================================" >> "$REPORT_FILE" +} + +print_info() { + local label="$1" + local value="$2" + echo -e "${BOLD}$label:${NC} $value" + echo "$label: $value" >> "$REPORT_FILE" +} + +# Start the audit +echo -e "${BLUE}${BOLD}VPS Security Audit Tool${NC}" +echo -e "${GRAY}https://github.com/vernu/vps-audit${NC}" +echo -e "${GRAY}Starting audit at $(date)${NC}\n" + +echo "VPS Security Audit Tool" > "$REPORT_FILE" +echo "https://github.com/vernu/vps-audit" >> "$REPORT_FILE" +echo "Starting audit at $(date)" >> "$REPORT_FILE" +echo "================================" >> "$REPORT_FILE" + +# System Information Section +print_header "System Information" + +# Get system information +# OS_INFO=$(cat /etc/os-release | grep PRETTY_NAME | cut -d'"' -f2) +# KERNEL_VERSION=$(uname -r) +# HOSTNAME=$(hostname) +# UPTIME=$(uptime -p) +# UPTIME_SINCE=$(uptime -s) +# CPU_INFO=$(lscpu | grep "Model name" | cut -d':' -f2 | xargs) +# CPU_CORES=$(nproc) +# TOTAL_MEM=$(free -h | awk '/^Mem:/ {print $2}') +# TOTAL_DISK=$(df -h / | awk 'NR==2 {print $2}') +# PUBLIC_IP=$(curl -s https://api.ipify.org) +# LOAD_AVERAGE=$(uptime | awk -F'load average:' '{print $2}' | xargs) + +OS_INFO=$(cat /etc/os-release | grep PRETTY_NAME | cut -d'"' -f2) & +KERNEL_VERSION=$(uname -r) & +HOSTNAME=$(hostname) & +UPTIME=$(uptime -p) & +UPTIME_SINCE=$(uptime -s) & +CPU_INFO=$(lscpu | grep "Model name" | cut -d':' -f2 | xargs) & +CPU_CORES=$(nproc) & +TOTAL_MEM=$(free -h | awk '/^Mem:/ {print $2}') & +TOTAL_DISK=$(df -h / | awk 'NR==2 {print $2}') & +PUBLIC_IP=$(curl -s https://api.ipify.org) & +LOAD_AVERAGE=$(uptime | awk -F'load average:' '{print $2}' | xargs) & + +wait + +# Print system information +print_info "Hostname" "$HOSTNAME" +print_info "Operating System" "$OS_INFO" +print_info "Kernel Version" "$KERNEL_VERSION" +print_info "Uptime" "$UPTIME (since $UPTIME_SINCE)" +print_info "CPU Model" "$CPU_INFO" +print_info "CPU Cores" "$CPU_CORES" +print_info "Total Memory" "$TOTAL_MEM" +print_info "Total Disk Space" "$TOTAL_DISK" +print_info "Public IP" "$PUBLIC_IP" +print_info "Load Average" "$LOAD_AVERAGE" + +echo "" >> "$REPORT_FILE" + +# Security Audit Section +print_header "Security Audit Results" + +# Function to check and report with three states +check_security() { + local test_name="$1" + local status="$2" + local message="$3" + + case $status in + "PASS") + echo -e "${GREEN}[PASS]${NC} $test_name ${GRAY}- $message${NC}" + echo "[PASS] $test_name - $message" >> "$REPORT_FILE" + ;; + "WARN") + echo -e "${YELLOW}[WARN]${NC} $test_name ${GRAY}- $message${NC}" + echo "[WARN] $test_name - $message" >> "$REPORT_FILE" + ;; + "FAIL") + echo -e "${RED}[FAIL]${NC} $test_name ${GRAY}- $message${NC}" + echo "[FAIL] $test_name - $message" >> "$REPORT_FILE" + ;; + esac + echo "" >> "$REPORT_FILE" +} + +# Check system uptime +UPTIME=$(uptime -p) +UPTIME_SINCE=$(uptime -s) +echo -e "\nSystem Uptime Information:" >> "$REPORT_FILE" +echo "Current uptime: $UPTIME" >> "$REPORT_FILE" +echo "System up since: $UPTIME_SINCE" >> "$REPORT_FILE" +echo "" >> "$REPORT_FILE" +echo -e "System Uptime: $UPTIME (since $UPTIME_SINCE)" + +{ +# Check if system requires restart +if [ -f /var/run/reboot-required ]; then + check_security "System Restart" "WARN" "System requires a restart to apply updates" +else + check_security "System Restart" "PASS" "No restart required" +fi +} & +# Check SSH config overrides +SSH_CONFIG_OVERRIDES=$(grep "^Include" /etc/ssh/sshd_config 2>/dev/null | awk '{print $2}') + +{ +# Check SSH root login (handle both main config and overrides if they exist) +if [ -n "$SSH_CONFIG_OVERRIDES" ] && [ -d "$(dirname "$SSH_CONFIG_OVERRIDES")" ]; then + SSH_ROOT=$(grep "^PermitRootLogin" $SSH_CONFIG_OVERRIDES /etc/ssh/sshd_config 2>/dev/null | head -1 | awk '{print $2}') +else + SSH_ROOT=$(grep "^PermitRootLogin" /etc/ssh/sshd_config 2>/dev/null | head -1 | awk '{print $2}') +fi +if [ -z "$SSH_ROOT" ]; then + SSH_ROOT="prohibit-password" +fi +if [ "$SSH_ROOT" = "no" ]; then + check_security "SSH Root Login" "PASS" "Root login is properly disabled in SSH configuration" +else + check_security "SSH Root Login" "FAIL" "Root login is currently allowed - this is a security risk. Disable it in /etc/ssh/sshd_config" +fi +} & +{ +# Check SSH password authentication (handle both main config and overrides if they exist) +if [ -n "$SSH_CONFIG_OVERRIDES" ] && [ -d "$(dirname "$SSH_CONFIG_OVERRIDES")" ]; then + SSH_PASSWORD=$(grep "^PasswordAuthentication" $SSH_CONFIG_OVERRIDES /etc/ssh/sshd_config 2>/dev/null | head -1 | awk '{print $2}') +else + SSH_PASSWORD=$(grep "^PasswordAuthentication" /etc/ssh/sshd_config 2>/dev/null | head -1 | awk '{print $2}') +fi +if [ -z "$SSH_PASSWORD" ]; then + SSH_PASSWORD="yes" +fi +if [ "$SSH_PASSWORD" = "no" ]; then + check_security "SSH Password Auth" "PASS" "Password authentication is disabled, key-based auth only" +else + check_security "SSH Password Auth" "FAIL" "Password authentication is enabled - consider using key-based authentication only" +fi +} & +{ +# Check SSH default port +UNPRIVILEGED_PORT_START=$(sysctl -n net.ipv4.ip_unprivileged_port_start) +SSH_PORT="" +if [ -n "$SSH_CONFIG_OVERRIDES" ] && [ -d "$(dirname "$SSH_CONFIG_OVERRIDES")" ]; then + SSH_PORT=$(grep "^Port" $SSH_CONFIG_OVERRIDES /etc/ssh/sshd_config 2>/dev/null | head -1 | awk '{print $2}') +else + SSH_PORT=$(grep "^Port" /etc/ssh/sshd_config 2>/dev/null | head -1 | awk '{print $2}') +fi +if [ -z "$SSH_PORT" ]; then + SSH_PORT="22" +fi +if [ "$SSH_PORT" = "22" ]; then + check_security "SSH Port" "WARN" "Using default port 22 - consider changing to a non-standard port for security by obscurity" +elif [ "$SSH_PORT" -ge "$UNPRIVILEGED_PORT_START" ]; then + check_security "SSH Port" "FAIL" "Using unprivileged port $SSH_PORT - use a port below $UNPRIVILEGED_PORT_START for better security" +else + check_security "SSH Port" "PASS" "Using non-default port $SSH_PORT which helps prevent automated attacks" +fi +} & + +# Check Firewall Status +check_firewall_status() { + if command -v ufw >/dev/null 2>&1; then + if ufw status | grep -q "active"; then + check_security "Firewall Status (UFW)" "PASS" "UFW firewall is active and protecting your system" + else + check_security "Firewall Status (UFW)" "FAIL" "UFW firewall is not active - your system is exposed to network attacks" + fi + elif command -v firewall-cmd >/dev/null 2>&1; then + if firewall-cmd --state 2>/dev/null | grep -q "running"; then + check_security "Firewall Status (firewalld)" "PASS" "Firewalld is active and protecting your system" + else + check_security "Firewall Status (firewalld)" "FAIL" "Firewalld is not active - your system is exposed to network attacks" + fi + elif command -v iptables >/dev/null 2>&1; then + if sudo iptables -L | grep -q "Chain INPUT"; then + check_security "Firewall Status (iptables)" "PASS" "iptables rules are active and protecting your system" + else + check_security "Firewall Status (iptables)" "FAIL" "No active iptables rules found - your system may be exposed" + fi + elif command -v nft >/dev/null 2>&1; then + if nft list ruleset | grep -q "table"; then + check_security "Firewall Status (nftables)" "PASS" "nftables rules are active and protecting your system" + else + check_security "Firewall Status (nftables)" "FAIL" "No active nftables rules found - your system may be exposed" + fi + else + check_security "Firewall Status" "FAIL" "No recognized firewall tool is installed on this system" + fi +} +{ +# Firewall check +check_firewall_status +} & +{ +# Check for unattended upgrades +if dpkg -l | grep -q "unattended-upgrades"; then + check_security "Unattended Upgrades" "PASS" "Automatic security updates are configured" +else + check_security "Unattended Upgrades" "FAIL" "Automatic security updates are not configured - system may miss critical updates" +fi +} & +{ +# Check fail2ban +if dpkg -l | grep -q "fail2ban"; then + if ! pgrep -x "fail2ban-server" >/dev/null 2>&1; then + check_security "Fail2ban" "PASS" "Brute force protection is active and running" + else + check_security "Fail2ban" "WARN" "Fail2ban is installed but not running - brute force protection is disabled" + fi +else + check_security "Fail2ban" "FAIL" "No brute force protection installed - system is vulnerable to login attacks" +fi +} & +{ +# Check failed login attempts +FAILED_LOGINS=$(grep "Failed password" /var/log/auth.log 2>/dev/null | wc -l) +if [ "$FAILED_LOGINS" -lt 10 ]; then + check_security "Failed Logins" "PASS" "Only $FAILED_LOGINS failed login attempts detected - this is within normal range" +elif [ "$FAILED_LOGINS" -lt 50 ]; then + check_security "Failed Logins" "WARN" "$FAILED_LOGINS failed login attempts detected - might indicate breach attempts" +else + check_security "Failed Logins" "FAIL" "$FAILED_LOGINS failed login attempts detected - possible brute force attack in progress" +fi +} & +{ +# Check system updates +UPDATES=$(apt-get -s upgrade 2>/dev/null | grep -P '^\d+ upgraded' | cut -d" " -f1) +if [ "$UPDATES" -eq 0 ]; then + check_security "System Updates" "PASS" "All system packages are up to date" +else + check_security "System Updates" "FAIL" "$UPDATES security updates available - system is vulnerable to known exploits" +fi +} & +{ +# Check running services +SERVICES=$(ps --no-headers -eo cmd | wc -l) + +if [ "$SERVICES" -lt 20 ]; then + check_security "Running Services" "PASS" "Running minimal services ($SERVICES) - good for security" +elif [ "$SERVICES" -lt 40 ]; then + check_security "Running Services" "WARN" "$SERVICES services running - consider reducing attack surface" +else + check_security "Running Services" "FAIL" "Too many services running ($SERVICES) - increases attack surface" +fi +} & +{ +# Check ports using netstat or ss +if command -v netstat >/dev/null 2>&1; then + LISTENING_PORTS=$(netstat -tuln | grep LISTEN | awk '{print $4}') +elif command -v ss >/dev/null 2>&1; then + LISTENING_PORTS=$(ss -tuln | grep LISTEN | awk '{print $5}') +else + check_security "Port Scanning" "FAIL" "Neither 'netstat' nor 'ss' is available on this system." + LISTENING_PORTS="" +fi +} & +{ +# Process LISTENING_PORTS to extract unique public ports +if [ -n "$LISTENING_PORTS" ]; then + PUBLIC_PORTS=$(echo "$LISTENING_PORTS" | awk -F':' '{print $NF}' | sort -n | uniq | tr '\n' ',' | sed 's/,$//') + PORT_COUNT=$(echo "$PUBLIC_PORTS" | tr ',' '\n' | wc -w) + INTERNET_PORTS=$(echo "$PUBLIC_PORTS" | tr ',' '\n' | wc -w) + + if [ "$PORT_COUNT" -lt 10 ] && [ "$INTERNET_PORTS" -lt 3 ]; then + check_security "Port Security" "PASS" "Good configuration (Total: $PORT_COUNT, Public: $INTERNET_PORTS accessible ports): $PUBLIC_PORTS" + elif [ "$PORT_COUNT" -lt 20 ] && [ "$INTERNET_PORTS" -lt 5 ]; then + check_security "Port Security" "WARN" "Review recommended (Total: $PORT_COUNT, Public: $INTERNET_PORTS accessible ports): $PUBLIC_PORTS" + else + check_security "Port Security" "FAIL" "High exposure (Total: $PORT_COUNT, Public: $INTERNET_PORTS accessible ports): $PUBLIC_PORTS" + fi +else + check_security "Port Scanning" "WARN" "Port scanning failed due to missing tools. Ensure 'ss' or 'netstat' is installed." +fi +} & + +# Function to format the message with proper indentation for the report file +format_for_report() { + local message="$1" + echo "$message" >> "$REPORT_FILE" +} +{ +# Check disk space usage +DISK_TOTAL=$(df -h / | awk 'NR==2 {print $2}') +DISK_USED=$(df -h / | awk 'NR==2 {print $3}') +DISK_AVAIL=$(df -h / | awk 'NR==2 {print $4}') +DISK_USAGE=$(df -h / | awk 'NR==2 {print int($5)}') +if [ "$DISK_USAGE" -lt 50 ]; then + check_security "Disk Usage" "PASS" "Healthy disk space available (${DISK_USAGE}% used - Used: ${DISK_USED} of ${DISK_TOTAL}, Available: ${DISK_AVAIL})" +elif [ "$DISK_USAGE" -lt 80 ]; then + check_security "Disk Usage" "WARN" "Disk space usage is moderate (${DISK_USAGE}% used - Used: ${DISK_USED} of ${DISK_TOTAL}, Available: ${DISK_AVAIL})" +else + check_security "Disk Usage" "FAIL" "Critical disk space usage (${DISK_USAGE}% used - Used: ${DISK_USED} of ${DISK_TOTAL}, Available: ${DISK_AVAIL})" +fi +} & +{ +# Check memory usage +MEM_TOTAL=$(free -h | awk '/^Mem:/ {print $2}') +MEM_USED=$(free -h | awk '/^Mem:/ {print $3}') +MEM_AVAIL=$(free -h | awk '/^Mem:/ {print $7}') +MEM_USAGE=$(free | awk '/^Mem:/ {printf "%.0f", $3/$2 * 100}') +if [ "$MEM_USAGE" -lt 50 ]; then + check_security "Memory Usage" "PASS" "Healthy memory usage (${MEM_USAGE}% used - Used: ${MEM_USED} of ${MEM_TOTAL}, Available: ${MEM_AVAIL})" +elif [ "$MEM_USAGE" -lt 80 ]; then + check_security "Memory Usage" "WARN" "Moderate memory usage (${MEM_USAGE}% used - Used: ${MEM_USED} of ${MEM_TOTAL}, Available: ${MEM_AVAIL})" +else + check_security "Memory Usage" "FAIL" "Critical memory usage (${MEM_USAGE}% used - Used: ${MEM_USED} of ${MEM_TOTAL}, Available: ${MEM_AVAIL})" +fi +} & +{ +# Check CPU usage +CPU_CORES=$(nproc) +CPU_USAGE=$(top -bn1 | grep "Cpu(s)" | awk '{print int($2)}') +CPU_IDLE=$(top -bn1 | grep "Cpu(s)" | awk '{print int($8)}') +CPU_LOAD=$(uptime | awk -F'load average:' '{ print $2 }' | awk -F',' '{ print $1 }' | tr -d ' ') +if [ "$CPU_USAGE" -lt 50 ]; then + check_security "CPU Usage" "PASS" "Healthy CPU usage (${CPU_USAGE}% used - Active: ${CPU_USAGE}%, Idle: ${CPU_IDLE}%, Load: ${CPU_LOAD}, Cores: ${CPU_CORES})" +elif [ "$CPU_USAGE" -lt 80 ]; then + check_security "CPU Usage" "WARN" "Moderate CPU usage (${CPU_USAGE}% used - Active: ${CPU_USAGE}%, Idle: ${CPU_IDLE}%, Load: ${CPU_LOAD}, Cores: ${CPU_CORES})" +else + check_security "CPU Usage" "FAIL" "Critical CPU usage (${CPU_USAGE}% used - Active: ${CPU_USAGE}%, Idle: ${CPU_IDLE}%, Load: ${CPU_LOAD}, Cores: ${CPU_CORES})" +fi +} & +{ +# Check sudo configuration +if grep -q "^Defaults.*logfile" /etc/sudoers; then + check_security "Sudo Logging" "PASS" "Sudo commands are being logged for audit purposes" +else + check_security "Sudo Logging" "FAIL" "Sudo commands are not being logged - reduces audit capability" +fi +} & +{ +# Check password policy +if [ -f "/etc/security/pwquality.conf" ]; then + if grep -q "minlen.*12" /etc/security/pwquality.conf; then + check_security "Password Policy" "PASS" "Strong password policy is enforced" + else + check_security "Password Policy" "FAIL" "Weak password policy - passwords may be too simple" + fi +else + check_security "Password Policy" "FAIL" "No password policy configured - system accepts weak passwords" +fi +} & +{ +# Check for suspicious SUID files +COMMON_SUID_PATHS='^/usr/bin/|^/bin/|^/sbin/|^/usr/sbin/|^/usr/lib|^/usr/libexec' +KNOWN_SUID_BINS='ping$|sudo$|mount$|umount$|su$|passwd$|chsh$|newgrp$|gpasswd$|chfn$' + +SUID_FILES=$(find / -type f -perm -4000 2>/dev/null | \ + grep -v -E "$COMMON_SUID_PATHS" | \ + grep -v -E "$KNOWN_SUID_BINS" | \ + wc -l) + +if [ "$SUID_FILES" -eq 0 ]; then + check_security "SUID Files" "PASS" "No suspicious SUID files found - good security practice" +else + check_security "SUID Files" "WARN" "Found $SUID_FILES SUID files outside standard locations - verify if legitimate" +fi +} & +wait +# Add system information summary to report +echo "================================" >> "$REPORT_FILE" +echo "System Information Summary:" >> "$REPORT_FILE" +echo "Hostname: $(hostname)" >> "$REPORT_FILE" +echo "Kernel: $(uname -r)" >> "$REPORT_FILE" +echo "OS: $(cat /etc/os-release | grep PRETTY_NAME | cut -d'"' -f2)" >> "$REPORT_FILE" +echo "CPU Cores: $(nproc)" >> "$REPORT_FILE" +echo "Total Memory: $(free -h | awk '/^Mem:/ {print $2}')" >> "$REPORT_FILE" +echo "Total Disk Space: $(df -h / | awk 'NR==2 {print $2}')" >> "$REPORT_FILE" +echo "================================" >> "$REPORT_FILE" + +echo -e "\nVPS audit complete. Full report saved to $REPORT_FILE" +echo -e "Review $REPORT_FILE for detailed recommendations." + +# Add summary to report +echo "================================" >> "$REPORT_FILE" +echo "End of VPS Audit Report" >> "$REPORT_FILE" +echo "Please review all failed checks and implement the recommended fixes." >> "$REPORT_FILE" \ No newline at end of file diff --git a/infrastructure/systems/Shark/vps-audit/verify.py b/infrastructure/systems/Shark/vps-audit/verify.py new file mode 100755 index 00000000..f513d38f --- /dev/null +++ b/infrastructure/systems/Shark/vps-audit/verify.py @@ -0,0 +1,136 @@ +#!/usr/bin/env python3 + +import re +import argparse +import hashlib +import os +import sys + + +input_file = "vps-audit.out" +error_file = "vps-audit.err" +output_file = "vps-audit-processed.out" +hash_folder = "hash" + +ansi_escape = re.compile(r'\x1b\[[0-9;]*m') + +audit_markers = [ + "System Uptime", + "System Restart", + "SSH Root Login", + "SSH Password Auth", + "SSH Port", + "Firewall Status (UFW)", + "Firewall Status (firewalld)", + "Firewall Status (iptables)", + "Firewall Status (nftables)", + "Firewall Status", + "Unattended Upgrades", + "Fail2ban", + "Failed Logins", + "System Updates", + "Running Services", + "Port Scanning", + "Port Security", + "Disk Usage", + "Memory Usage", + "CPU Usage", + "Sudo Logging", + "Password Policy", + "SUID Files" +] + +sys_info_markers = [ + "Hostname", + "Operating System", + "Kernel Version", + "Uptime", + "CPU Model", + "CPU Cores", + "Total Memory", + "Total Disk Space", + "Public IP", + "Load Average" +] + +def clean_line(line): + if line.startswith('-e'): + line = line[2:].lstrip() + + line = ansi_escape.sub('', line) + + line = re.sub(r"^Starting audit at [^\x1b]+", "Starting audit at", line) + + line = re.sub(r'vps-audit-report-\S+', '', line) + + if ':' in line and any(marker in line for marker in sys_info_markers): + line = line.split(':', 1)[0] + ':' + + if any(marker in line for marker in audit_markers): + line = next((marker for marker in audit_markers if marker in line), line) + + return line.strip() if line.strip() else None + +def process_file(input_file, output_file): + with open(input_file, 'r') as infile, open(output_file, 'w') as outfile: + for line in infile: + cleaned_line = clean_line(line) + if cleaned_line: + outfile.write(cleaned_line + '\n') + +def generate_hash(file_path, hash_folder): + filename = os.path.splitext(os.path.basename(file_path))[0] + + with open(file_path, 'rb') as f: + hash_value = hashlib.sha256(f.read()).hexdigest() + + hash_file_path = os.path.join(hash_folder, f"{filename}.hash") + with open(hash_file_path, 'w') as hash_file: + hash_file.write(hash_value) + + print(f"{hash_file_path} {hash_value}") + +def compare_hashes(file_path, hash_folder): + filename = os.path.splitext(os.path.basename(file_path))[0] + + with open(file_path, 'rb') as f: + current_hash = hashlib.sha256(f.read()).hexdigest() + + hash_file_path = os.path.join(hash_folder, f"{filename}.hash") + if not os.path.exists(hash_file_path): + print(f"No hash file found for {file_path}. Please generate the hash first.") + sys.exit(1) + + with open(hash_file_path, 'r') as hash_file: + # Read all lines and strip whitespace + hashes = [line.strip() for line in hash_file.readlines() if line.strip()] + + # Check if the current hash matches any of the hashes in the file + if current_hash in hashes: + print(f"{file_path} Verification Success") + else: + print(f"{file_path} Verification Failed") + print(f"Computed hash: {current_hash}") + print(f"Stored hashes: {hashes}") + sys.exit(1) + + +if __name__ == "__main__": + parser = argparse.ArgumentParser(description="Process and optionally generate hashes for files.") + parser.add_argument( + "--generate", + action="store_true", + help="If specified, generate hashes for the processed files instead of comparing them." + ) + args = parser.parse_args() + + os.makedirs(hash_folder, exist_ok=True) + + process_file(input_file, output_file) + + if args.generate: + print("Generate mode enabled. Hashes will be generated.") + generate_hash(output_file, hash_folder) + else: + print("Comparison mode enabled. Hashes will be compared.") + compare_hashes(output_file, hash_folder) diff --git a/infrastructure/systems/Shark/vps-audit/verify.sh b/infrastructure/systems/Shark/vps-audit/verify.sh new file mode 100755 index 00000000..05020b4c --- /dev/null +++ b/infrastructure/systems/Shark/vps-audit/verify.sh @@ -0,0 +1,10 @@ +#!/bin/bash + +# Exit immediately if a command exits with a non-zero status +# set -e + +# run the Python script +python3 verify.py + +# check if the script ran successfully +echo "vps-audit $?" diff --git a/infrastructure/systems/Shark/web-index/.gitignore b/infrastructure/systems/Shark/web-index/.gitignore new file mode 100644 index 00000000..58faa678 --- /dev/null +++ b/infrastructure/systems/Shark/web-index/.gitignore @@ -0,0 +1,4 @@ +inputs +outputs + +node_modules diff --git a/infrastructure/systems/Shark/web-index/cleanup.sh b/infrastructure/systems/Shark/web-index/cleanup.sh new file mode 100755 index 00000000..55bd51ba --- /dev/null +++ b/infrastructure/systems/Shark/web-index/cleanup.sh @@ -0,0 +1 @@ +rm -r inputs outputs diff --git a/infrastructure/systems/Shark/web-index/deps.sh b/infrastructure/systems/Shark/web-index/deps.sh new file mode 100755 index 00000000..9d658b79 --- /dev/null +++ b/infrastructure/systems/Shark/web-index/deps.sh @@ -0,0 +1,28 @@ +#!/usr/bin/env bash + +set -e +# 7zip +pkgs='p7zip-full curl wget nodejs unzip npm' +if ! dpkg -s $pkgs >/dev/null 2>&1 ; then + sudo apt-get install $pkgs -y + echo 'Packages Installed' +fi + +if ! dpkg -s pandoc > /dev/null 2>&1 ; then + # since pandoc v.2.2.1 does not support arm64, we use v.3.5 + wget https://github.com/jgm/pandoc/releases/download/3.5/pandoc-3.5-1-$(dpkg --print-architecture).deb + sudo dpkg -i ./pandoc-3.5-1-$(dpkg --print-architecture).deb + rm ./pandoc-3.5-1-$(dpkg --print-architecture).deb +fi + +if ! dpkg -s nodejs > /dev/null 2>&1 ; then + # node version 18+ does not need external npm + curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash - + sudo apt-get install -y nodejs +fi + +cd $(dirname $0)/scripts || exit 1 +npm install +# Install the npm packages +npm install natural +cd - diff --git a/infrastructure/systems/Shark/web-index/hashes/1-grams.txt.small.hash b/infrastructure/systems/Shark/web-index/hashes/1-grams.txt.small.hash new file mode 100644 index 00000000..f9fabdab --- /dev/null +++ b/infrastructure/systems/Shark/web-index/hashes/1-grams.txt.small.hash @@ -0,0 +1 @@ +a5c0042f76e0680586ae707dd62c9f3e diff --git a/infrastructure/systems/Shark/web-index/hashes/2-grams.txt.small.hash b/infrastructure/systems/Shark/web-index/hashes/2-grams.txt.small.hash new file mode 100644 index 00000000..cfab03e2 --- /dev/null +++ b/infrastructure/systems/Shark/web-index/hashes/2-grams.txt.small.hash @@ -0,0 +1 @@ +db8e559c78464ffc3fdf5aeede7a3b8a diff --git a/infrastructure/systems/Shark/web-index/hashes/3-grams.txt.small.hash b/infrastructure/systems/Shark/web-index/hashes/3-grams.txt.small.hash new file mode 100644 index 00000000..dfda4f9e --- /dev/null +++ b/infrastructure/systems/Shark/web-index/hashes/3-grams.txt.small.hash @@ -0,0 +1 @@ +f1caa64726ed848a67a117a6d9879a51 diff --git a/infrastructure/systems/Shark/web-index/input.sh b/infrastructure/systems/Shark/web-index/input.sh new file mode 100755 index 00000000..a4220c19 --- /dev/null +++ b/infrastructure/systems/Shark/web-index/input.sh @@ -0,0 +1,39 @@ +#!/bin/bash + +BENCH_TOP=${BENCH_TOP:-$(git rev-parse --show-toplevel)} +RESOURCES_DIR=${RESOURCES_DIR:-$BENCH_TOP/web-index}/inputs + +cp stopwords.txt $RESOURCES_DIR # TODO: Grab this from the atlas server + +mkdir -p $RESOURCES_DIR + +if [ "$1" = "--small" ]; then + if [[ ! -f "$RESOURCES_DIR/wikipedia-small.tar.gz" ]]; then + # 1000 entries + echo "Downloading the small dataset." + wget -O $RESOURCES_DIR/wikipedia-small.tar.gz https://atlas-group.cs.brown.edu/data/wikipedia/input_small/articles.tar.gz --no-check-certificate + wget -O $RESOURCES_DIR/index_small.txt https://atlas-group.cs.brown.edu/data/wikipedia/input_small/index.txt --no-check-certificate + fi +else + if [[ ! -f "$RESOURCES_DIR/wikipedia.tar.gz" ]]; then + # full dataset + echo "Downloading the full dataset. Caution!! Extracted size >200GB" + wget -O $RESOURCES_DIR/wikipedia.tar.gz https://atlas-group.cs.brown.edu/data/wikipedia/input/articles.tar.gz --no-check-certificate + wget -O $RESOURCES_DIR/index.txt https://atlas-group.cs.brown.edu/data/wikipedia/input/index.txt --no-check-certificate + fi +fi + +if [[ ! -d "$RESOURCES_DIR/articles" ]]; then + if [ "$1" = "--small" ]; then + # 1000 entries + echo "Extracting the small dataset." + tar -xf $RESOURCES_DIR/wikipedia-small.tar.gz -C $RESOURCES_DIR + else + # full dataset + echo "Extracting the full dataset. Caution!! Extracted size >200GB" + tar -xf $RESOURCES_DIR/wikipedia.tar.gz -C $RESOURCES_DIR + fi +else + echo "Did not extract data because of existing data." + echo "Please rm -r $RESOURCES_DIR/articles manually and rerun this script." +fi diff --git a/infrastructure/systems/Shark/web-index/run.sh b/infrastructure/systems/Shark/web-index/run.sh new file mode 100755 index 00000000..5b6fd32d --- /dev/null +++ b/infrastructure/systems/Shark/web-index/run.sh @@ -0,0 +1,30 @@ +#!/usr/bin/env bash + +cd "$(dirname "$0")" + +BENCHMARK_SHELL=${BENCHMARK_SHELL:-bash} +directory_path="inputs/articles" + +if [ ! -d "$directory_path" ]; then + echo "Error: Directory does not exist." + exit 1 +fi + +# ensure a local ./tmp directory exists for sorting +mkdir -p ./tmp +export TMPDIR=$PWD/tmp + +INPUTS="$PWD/inputs" +OUTPUT_BASE="$PWD/outputs/ngrams" + +if [[ "$@" == *"--small"* ]]; then + export INPUT_FILE="$INPUTS/index_small.txt" +else + export INPUT_FILE="$INPUTS/index.txt" +fi + +mkdir -p "$OUTPUT_BASE" + +echo "web-index" +$BENCHMARK_SHELL ./scripts/ngrams.sh "$OUTPUT_BASE" +echo $? diff --git a/infrastructure/systems/Shark/web-index/scripts/bigrams_aux.sh b/infrastructure/systems/Shark/web-index/scripts/bigrams_aux.sh new file mode 100755 index 00000000..09256615 --- /dev/null +++ b/infrastructure/systems/Shark/web-index/scripts/bigrams_aux.sh @@ -0,0 +1,13 @@ +# ( mkfifo s2 > /dev/null ) ; +# ( mkfifo s3 > /dev/null ) ; + +# sed '$d' s2 > s3 & +# tee s2 | +# tail +2 | +# paste s3 - +# rm s2 +# rm s3 + +tee >(sed '$d') | + tail +2 | + paste <(sed '$d') - diff --git a/infrastructure/systems/Shark/web-index/scripts/extract_text.sh b/infrastructure/systems/Shark/web-index/scripts/extract_text.sh new file mode 100755 index 00000000..ef912738 --- /dev/null +++ b/infrastructure/systems/Shark/web-index/scripts/extract_text.sh @@ -0,0 +1,11 @@ +# while read -r line +# do +# cat $line | +# iconv -c -t ascii//TRANSLIT | +# pandoc +RTS -K64m -RTS --from html --to plain --quiet +# done + +while read -r line; do + iconv -c -t ascii//TRANSLIT < "$line" | + pandoc +RTS -K64m -RTS --from html --to plain --quiet +done diff --git a/infrastructure/systems/Shark/web-index/scripts/grep-url.js b/infrastructure/systems/Shark/web-index/scripts/grep-url.js new file mode 100755 index 00000000..7585a5c6 --- /dev/null +++ b/infrastructure/systems/Shark/web-index/scripts/grep-url.js @@ -0,0 +1,100 @@ +#!/usr/bin/env node +// TODO: use node's URL to parse and emit a URL in normal form +// URL validation as a stream transformer +// +// Contains code by Diego Perini, as compared in +// http://mathiasbynens.be/demo/url-regex +// +// Notes on possible differences from a standard/generic validation: +// +// - utf-8 char class take in consideration the full Unicode range +// - TLDs have been made mandatory so single names like "localhost" fails +// - protocols have been restricted to ftp, http and https only as requested + +var re_weburl = new RegExp( + "^" + + // protocol identifier (optional) + // short syntax // still required + "(?:(?:(?:https?|ftp):)?\\/\\/)" + + // user:pass BasicAuth (optional) + "(?:\\S+(?::\\S*)?@)?" + + "(?:" + + // IP address exclusion + // private & local networks + "(?!(?:10|127)(?:\\.\\d{1,3}){3})" + + "(?!(?:169\\.254|192\\.168)(?:\\.\\d{1,3}){2})" + + "(?!172\\.(?:1[6-9]|2\\d|3[0-1])(?:\\.\\d{1,3}){2})" + + // IP address dotted notation octets + // excludes loopback network 0.0.0.0 + // excludes reserved space >= 224.0.0.0 + // excludes network & broadcast addresses + // (first & last IP address of each class) + "(?:[1-9]\\d?|1\\d\\d|2[01]\\d|22[0-3])" + + "(?:\\.(?:1?\\d{1,2}|2[0-4]\\d|25[0-5])){2}" + + "(?:\\.(?:[1-9]\\d?|1\\d\\d|2[0-4]\\d|25[0-4]))" + + "|" + + // host & domain names, may end with dot + // can be replaced by a shortest alternative + // (?![-_])(?:[-\\w\\u00a1-\\uffff]{0,63}[^-_]\\.)+ + "(?:" + + "(?:" + + "[a-z0-9\\u00a1-\\uffff]" + + "[a-z0-9\\u00a1-\\uffff_-]{0,62}" + + ")?" + + "[a-z0-9\\u00a1-\\uffff]\\." + + ")+" + + // TLD identifier name, may end with dot + "(?:[a-z\\u00a1-\\uffff]{2,}\\.?)" + + ")" + + // port number (optional) + "(?::\\d{2,5})?" + + // resource path (optional) + "(?:[/?#]\\S*)?" + + "$", "i" + ); + + let nregex = options => { + options = { + strict: true, + ...options + }; + + const tlds = require('./tlds'); + const v4 = '(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)){3}'; + const protocol = `(?:(?:[a-z]+:)?//)${options.strict ? '' : '?'}`; + const auth = '(?:\\S+(?::\\S*)?@)?'; + const ip = v4; + const host = '(?:(?:[a-z\\u00a1-\\uffff0-9][-_]*)*[a-z\\u00a1-\\uffff0-9]+)'; + const domain = '(?:\\.(?:[a-z\\u00a1-\\uffff0-9]-*)*[a-z\\u00a1-\\uffff0-9]+)*'; + const tld = `(?:\\.${options.strict ? '(?:[a-z\\u00a1-\\uffff]{2,})' : `(?:${tlds.sort((a, b) => b.length - a.length).join('|')})`})\\.?`; + const port = '(?::\\d{2,5})?'; + const path = '(?:[/?#][^\\s"]*)?'; + const regex = `(?:${protocol}|www\\.)${auth}(?:localhost|${ip}|${host}${domain}${tld})${port}${path}`; + + return options.exact ? new RegExp(`(?:^${regex}$)`, 'i') : new RegExp(regex, 'ig'); + }; + + var readline = require('readline'); + + var rl = readline.createInterface({ + input: process.stdin, + output: process.stdout, + terminal: false + }); + + rl.on('line', function (line) { + let r = line.match(nregex()); + if (r) { + for (let i = 0; i < r.length; i++) { + //console.error(i);// (r[i]); + console.log(r[i]); + }; + } else { + console.log("pizza"); + } + // if (r) { + // console.log(r.join('\n')); + // } + }); + + // console.log('foo http://github.com bar //google.com'.match(nregex())); \ No newline at end of file diff --git a/infrastructure/systems/Shark/web-index/scripts/ngrams.sh b/infrastructure/systems/Shark/web-index/scripts/ngrams.sh new file mode 100755 index 00000000..4db27d85 --- /dev/null +++ b/infrastructure/systems/Shark/web-index/scripts/ngrams.sh @@ -0,0 +1,52 @@ +REPO_TOP=$(git rev-parse --show-toplevel) +export TEST_BASE=$REPO_TOP/web-index +export SCRIPT_DIR="$TEST_BASE"/scripts +export WEB_INDEX_DIR="$TEST_BASE"/inputs +export WIKI="$TEST_BASE"/inputs/articles + +cd $(dirname "$0") || exit 1 + +output_base="$1" + +# rm -f {1,2,3}grams +# mkfifo {1,2,3}grams + +extract_text="$SCRIPT_DIR/extract_text.sh" +bigrams_aux="$SCRIPT_DIR/bigrams_aux.sh" +trigrams_aux="$SCRIPT_DIR/trigrams_aux.sh" + +# cat "$INPUT_FILE" | +# sed "s#^#$WIKI/#" | +# $extract_text | +# tr -cs A-Za-z '\n' | +# tr A-Z a-z | +# grep -vwFf "$WEB_INDEX_DIR/stopwords.txt" | +# "$SCRIPT_DIR/stem-words.js" | +# tee 3grams 2grams 1grams > /dev/null & + +# cat 1grams | +# sort | +# uniq -c | +# sort -rn > "$output_base/1-grams.txt" & + +# cat 2grams | +# tr -cs A-Za-z '\n' | +# tr A-Z a-z | +# $bigrams_aux | +# sort | +# uniq -c | +# sort -rn > "$output_base/2-grams.txt" & + +# cat 3grams | +# tr -cs A-Za-z '\n' | +# tr A-Z a-z | +# $trigrams_aux | +# sort | +# uniq -c | +# sort -rn > "$output_base/3-grams.txt" + +# rm -f {1,2,3}grams + +tee >(tr -cs A-Za-z '\n' | tr A-Z a-z | grep -vwFf "$WEB_INDEX_DIR/stopwords.txt" | "$SCRIPT_DIR/stem-words.js" | tee >(sort | uniq -c | sort -rn > "$output_base/1-grams.txt") > /dev/null) | + tee >(tr -cs A-Za-z '\n' | tr A-Z a-z | "$bigrams_aux" | sort | uniq -c | sort -rn > "$output_base/2-grams.txt") | + (tr -cs A-Za-z '\n' | tr A-Z a-z | "$trigrams_aux" | sort | uniq -c | sort -rn > "$output_base/3-grams.txt") diff --git a/infrastructure/systems/Shark/web-index/scripts/p1.sh b/infrastructure/systems/Shark/web-index/scripts/p1.sh new file mode 100755 index 00000000..b9623b07 --- /dev/null +++ b/infrastructure/systems/Shark/web-index/scripts/p1.sh @@ -0,0 +1,26 @@ +#!/bin/bash +PASH_TOP=${PASH_TOP:-$(git rev-parse --show-toplevel)} +WIKI=${WIKI:-$PASH_TOP/web-index} + +export WIKI +# Squash all HTML for each URL into a single line, streaming fashion +# It also prefixes with the URL + +# page_per_line () { +# cat "$WIKI/$0" | tr -d "\n\r" | tr -d '\n' | sed -e '/.$/a\' +# } + +# export -f page_per_line + +# # xargs: +# # add `-t` for debugging +# cat $WIKI/input/index.txt | xargs -0 -d '\n' -n 1 bash -c 'page_per_line "$@"' + +page_per_line() { + tr -d "\n\r" < "$WIKI/$1" | sed -e '/.$/a\' +} + +export -f page_per_line + +# Process each line in index.txt +xargs -0 -d '\n' -n 1 bash -c 'page_per_line "$@"' _ < "$WIKI/input/index.txt" \ No newline at end of file diff --git a/infrastructure/systems/Shark/web-index/scripts/p2.sh b/infrastructure/systems/Shark/web-index/scripts/p2.sh new file mode 100755 index 00000000..99a6027e --- /dev/null +++ b/infrastructure/systems/Shark/web-index/scripts/p2.sh @@ -0,0 +1,20 @@ +#!/bin/bash +PASH_TOP=${PASH_TOP:-$(git rev-parse --show-toplevel)} +WIKI=${WIKI:-$PASH_TOP/web-index} + +# cat $WIKI/input/index.txt | +# sed "s#^#$WIKI#" | +# iconv -c -t ascii//TRANSLIT | +# pandoc +RTS -K64m -RTS --from html --to plain --quiet | +# tr -cs A-Za-z '\n' | +# tr A-Z a-z | +# grep -vwFf $WIKI/stopwords.txt | +# $WIKI/stem-words.js + +sed "s#^#$WIKI#" "$WIKI/input/index.txt" | + iconv -c -t ascii//TRANSLIT | + pandoc +RTS -K64m -RTS --from html --to plain --quiet | + tr -cs A-Za-z '\n' | + tr A-Z a-z | + grep -vwFf "$WIKI/stopwords.txt" | + "$WIKI/stem-words.js" \ No newline at end of file diff --git a/infrastructure/systems/Shark/web-index/scripts/package-lock.json b/infrastructure/systems/Shark/web-index/scripts/package-lock.json new file mode 100644 index 00000000..3894044f --- /dev/null +++ b/infrastructure/systems/Shark/web-index/scripts/package-lock.json @@ -0,0 +1,252 @@ +{ + "name": "web-index", + "version": "1.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "web-index", + "version": "1.0.0", + "license": "ISC", + "dependencies": { + "natural": "^0.6.3" + } + }, + "node_modules/afinn-165": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/afinn-165/-/afinn-165-1.0.4.tgz", + "integrity": "sha512-7+Wlx3BImrK0HiG6y3lU4xX7SpBPSSu8T9iguPMlaueRFxjbYwAQrp9lqZUuFikqKbd/en8lVREILvP2J80uJA==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/apparatus": { + "version": "0.0.10", + "resolved": "https://registry.npmjs.org/apparatus/-/apparatus-0.0.10.tgz", + "integrity": "sha512-KLy/ugo33KZA7nugtQ7O0E1c8kQ52N3IvD/XgIh4w/Nr28ypfkwDfA67F1ev4N1m5D+BOk1+b2dEJDfpj/VvZg==", + "dependencies": { + "sylvester": ">= 0.0.8" + }, + "engines": { + "node": ">=0.2.6" + } + }, + "node_modules/call-bind": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz", + "integrity": "sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==", + "dependencies": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "set-function-length": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/define-data-property": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", + "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", + "dependencies": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "gopd": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/es-define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz", + "integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==", + "dependencies": { + "get-intrinsic": "^1.2.4" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-intrinsic": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz", + "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==", + "dependencies": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3", + "hasown": "^2.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/gopd": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", + "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", + "dependencies": { + "get-intrinsic": "^1.1.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-property-descriptors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", + "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", + "dependencies": { + "es-define-property": "^1.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-proto": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.3.tgz", + "integrity": "sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-symbols": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/hasown": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==" + }, + "node_modules/json-stable-stringify": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.1.1.tgz", + "integrity": "sha512-SU/971Kt5qVQfJpyDveVhQ/vya+5hvrjClFOcr8c0Fq5aODJjMwutrOfCU+eCnVD5gpx1Q3fEqkyom77zH1iIg==", + "dependencies": { + "call-bind": "^1.0.5", + "isarray": "^2.0.5", + "jsonify": "^0.0.1", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/jsonify": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.1.tgz", + "integrity": "sha512-2/Ki0GcmuqSrgFyelQq9M05y7PS0mEwuIzrf3f1fPqkVDVRvZrPZtVSMHxdgo8Aq0sxAOb/cr2aqqA3LeWHVPg==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/natural": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/natural/-/natural-0.6.3.tgz", + "integrity": "sha512-78fcEdNN6Y4pv8SOLPDhJTlUG+8IiQzNx0nYpl0k7q00K4ZZuds+wDWfSa6eeiPcSQDncvV44WWGsi70/ZP3+w==", + "dependencies": { + "afinn-165": "^1.0.2", + "apparatus": "^0.0.10", + "json-stable-stringify": "^1.0.1", + "sylvester": "^0.0.12", + "underscore": "^1.3.1" + }, + "engines": { + "node": ">=0.4.10" + } + }, + "node_modules/object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/set-function-length": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", + "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", + "dependencies": { + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/sylvester": { + "version": "0.0.12", + "resolved": "https://registry.npmjs.org/sylvester/-/sylvester-0.0.12.tgz", + "integrity": "sha512-SzRP5LQ6Ts2G5NyAa/jg16s8e3R7rfdFjizy1zeoecYWw+nGL+YA1xZvW/+iJmidBGSdLkuvdwTYEyJEb+EiUw==", + "engines": { + "node": ">=0.2.6" + } + }, + "node_modules/underscore": { + "version": "1.13.7", + "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.13.7.tgz", + "integrity": "sha512-GMXzWtsc57XAtguZgaQViUOzs0KTkk8ojr3/xAxXLITqf/3EMwxC0inyETfDFjH/Krbhuep0HNbbjI9i/q3F3g==" + } + } +} diff --git a/infrastructure/systems/Shark/web-index/scripts/package.json b/infrastructure/systems/Shark/web-index/scripts/package.json new file mode 100644 index 00000000..e3a48787 --- /dev/null +++ b/infrastructure/systems/Shark/web-index/scripts/package.json @@ -0,0 +1,14 @@ +{ + "name": "web-index", + "version": "1.0.0", + "description": "", + "main": "grep-url.js", + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1" + }, + "author": "", + "license": "ISC", + "dependencies": { + "natural": "^0.6.3" + } + } \ No newline at end of file diff --git a/infrastructure/systems/Shark/web-index/scripts/stem-words.js b/infrastructure/systems/Shark/web-index/scripts/stem-words.js new file mode 100755 index 00000000..905668a6 --- /dev/null +++ b/infrastructure/systems/Shark/web-index/scripts/stem-words.js @@ -0,0 +1,19 @@ +#!/usr/bin/node + +var readline = require('readline'); +var natural = require('natural'); + +var rl = readline.createInterface({ + input: process.stdin, + output: process.stdout, + terminal: false +}); + +rl.on('line', function (line) { + //console.log(natural.PorterStemmer.stem(line)); + console.log(natural.LancasterStemmer.stem(line)); +}); + +rl.on('close', function () { + process.exit(0); +}) diff --git a/infrastructure/systems/Shark/web-index/scripts/tlds.js b/infrastructure/systems/Shark/web-index/scripts/tlds.js new file mode 100644 index 00000000..d0bb9042 --- /dev/null +++ b/infrastructure/systems/Shark/web-index/scripts/tlds.js @@ -0,0 +1,1543 @@ +module.exports = [ + "aaa", + "aarp", + "abarth", + "abb", + "abbott", + "abbvie", + "abc", + "able", + "abogado", + "abudhabi", + "ac", + "academy", + "accenture", + "accountant", + "accountants", + "aco", + "active", + "actor", + "ad", + "adac", + "ads", + "adult", + "ae", + "aeg", + "aero", + "aetna", + "af", + "afamilycompany", + "afl", + "africa", + "ag", + "agakhan", + "agency", + "ai", + "aig", + "aigo", + "airbus", + "airforce", + "airtel", + "akdn", + "al", + "alfaromeo", + "alibaba", + "alipay", + "allfinanz", + "allstate", + "ally", + "alsace", + "alstom", + "am", + "americanexpress", + "americanfamily", + "amex", + "amfam", + "amica", + "amsterdam", + "analytics", + "android", + "anquan", + "anz", + "ao", + "aol", + "apartments", + "app", + "apple", + "aq", + "aquarelle", + "ar", + "arab", + "aramco", + "archi", + "army", + "arpa", + "art", + "arte", + "as", + "asda", + "asia", + "associates", + "at", + "athleta", + "attorney", + "au", + "auction", + "audi", + "audible", + "audio", + "auspost", + "author", + "auto", + "autos", + "avianca", + "aw", + "aws", + "ax", + "axa", + "az", + "azure", + "ba", + "baby", + "baidu", + "banamex", + "bananarepublic", + "band", + "bank", + "bar", + "barcelona", + "barclaycard", + "barclays", + "barefoot", + "bargains", + "baseball", + "basketball", + "bauhaus", + "bayern", + "bb", + "bbc", + "bbt", + "bbva", + "bcg", + "bcn", + "bd", + "be", + "beats", + "beauty", + "beer", + "bentley", + "berlin", + "best", + "bestbuy", + "bet", + "bf", + "bg", + "bh", + "bharti", + "bi", + "bible", + "bid", + "bike", + "bing", + "bingo", + "bio", + "biz", + "bj", + "black", + "blackfriday", + "blanco", + "blockbuster", + "blog", + "bloomberg", + "blue", + "bm", + "bms", + "bmw", + "bn", + "bnl", + "bnpparibas", + "bo", + "boats", + "boehringer", + "bofa", + "bom", + "bond", + "boo", + "book", + "booking", + "bosch", + "bostik", + "boston", + "bot", + "boutique", + "box", + "br", + "bradesco", + "bridgestone", + "broadway", + "broker", + "brother", + "brussels", + "bs", + "bt", + "budapest", + "bugatti", + "build", + "builders", + "business", + "buy", + "buzz", + "bv", + "bw", + "by", + "bz", + "bzh", + "ca", + "cab", + "cafe", + "cal", + "call", + "calvinklein", + "cam", + "camera", + "camp", + "cancerresearch", + "canon", + "capetown", + "capital", + "capitalone", + "car", + "caravan", + "cards", + "care", + "career", + "careers", + "cars", + "cartier", + "casa", + "case", + "caseih", + "cash", + "casino", + "cat", + "catering", + "catholic", + "cba", + "cbn", + "cbre", + "cbs", + "cc", + "cd", + "ceb", + "center", + "ceo", + "cern", + "cf", + "cfa", + "cfd", + "cg", + "ch", + "chanel", + "channel", + "charity", + "chase", + "chat", + "cheap", + "chintai", + "christmas", + "chrome", + "chrysler", + "church", + "ci", + "cipriani", + "circle", + "cisco", + "citadel", + "citi", + "citic", + "city", + "cityeats", + "ck", + "cl", + "claims", + "cleaning", + "click", + "clinic", + "clinique", + "clothing", + "cloud", + "club", + "clubmed", + "cm", + "cn", + "co", + "coach", + "codes", + "coffee", + "college", + "cologne", + "com", + "comcast", + "commbank", + "community", + "company", + "compare", + "computer", + "comsec", + "condos", + "construction", + "consulting", + "contact", + "contractors", + "cooking", + "cookingchannel", + "cool", + "coop", + "corsica", + "country", + "coupon", + "coupons", + "courses", + "cr", + "credit", + "creditcard", + "creditunion", + "cricket", + "crown", + "crs", + "cruise", + "cruises", + "csc", + "cu", + "cuisinella", + "cv", + "cw", + "cx", + "cy", + "cymru", + "cyou", + "cz", + "dabur", + "dad", + "dance", + "data", + "date", + "dating", + "datsun", + "day", + "dclk", + "dds", + "de", + "deal", + "dealer", + "deals", + "degree", + "delivery", + "dell", + "deloitte", + "delta", + "democrat", + "dental", + "dentist", + "desi", + "design", + "dev", + "dhl", + "diamonds", + "diet", + "digital", + "direct", + "directory", + "discount", + "discover", + "dish", + "diy", + "dj", + "dk", + "dm", + "dnp", + "do", + "docs", + "doctor", + "dodge", + "dog", + "doha", + "domains", + "dot", + "download", + "drive", + "dtv", + "dubai", + "duck", + "dunlop", + "duns", + "dupont", + "durban", + "dvag", + "dvr", + "dz", + "earth", + "eat", + "ec", + "eco", + "edeka", + "edu", + "education", + "ee", + "eg", + "email", + "emerck", + "energy", + "engineer", + "engineering", + "enterprises", + "epost", + "epson", + "equipment", + "er", + "ericsson", + "erni", + "es", + "esq", + "estate", + "esurance", + "et", + "etisalat", + "eu", + "eurovision", + "eus", + "events", + "everbank", + "exchange", + "expert", + "exposed", + "express", + "extraspace", + "fage", + "fail", + "fairwinds", + "faith", + "family", + "fan", + "fans", + "farm", + "farmers", + "fashion", + "fast", + "fedex", + "feedback", + "ferrari", + "ferrero", + "fi", + "fiat", + "fidelity", + "fido", + "film", + "final", + "finance", + "financial", + "fire", + "firestone", + "firmdale", + "fish", + "fishing", + "fit", + "fitness", + "fj", + "fk", + "flickr", + "flights", + "flir", + "florist", + "flowers", + "fly", + "fm", + "fo", + "foo", + "food", + "foodnetwork", + "football", + "ford", + "forex", + "forsale", + "forum", + "foundation", + "fox", + "fr", + "free", + "fresenius", + "frl", + "frogans", + "frontdoor", + "frontier", + "ftr", + "fujitsu", + "fujixerox", + "fun", + "fund", + "furniture", + "futbol", + "fyi", + "ga", + "gal", + "gallery", + "gallo", + "gallup", + "game", + "games", + "gap", + "garden", + "gb", + "gbiz", + "gd", + "gdn", + "ge", + "gea", + "gent", + "genting", + "george", + "gf", + "gg", + "ggee", + "gh", + "gi", + "gift", + "gifts", + "gives", + "giving", + "gl", + "glade", + "glass", + "gle", + "global", + "globo", + "gm", + "gmail", + "gmbh", + "gmo", + "gmx", + "gn", + "godaddy", + "gold", + "goldpoint", + "golf", + "goo", + "goodhands", + "goodyear", + "goog", + "google", + "gop", + "got", + "gov", + "gp", + "gq", + "gr", + "grainger", + "graphics", + "gratis", + "green", + "gripe", + "grocery", + "group", + "gs", + "gt", + "gu", + "guardian", + "gucci", + "guge", + "guide", + "guitars", + "guru", + "gw", + "gy", + "hair", + "hamburg", + "hangout", + "haus", + "hbo", + "hdfc", + "hdfcbank", + "health", + "healthcare", + "help", + "helsinki", + "here", + "hermes", + "hgtv", + "hiphop", + "hisamitsu", + "hitachi", + "hiv", + "hk", + "hkt", + "hm", + "hn", + "hockey", + "holdings", + "holiday", + "homedepot", + "homegoods", + "homes", + "homesense", + "honda", + "honeywell", + "horse", + "hospital", + "host", + "hosting", + "hot", + "hoteles", + "hotels", + "hotmail", + "house", + "how", + "hr", + "hsbc", + "ht", + "hu", + "hughes", + "hyatt", + "hyundai", + "ibm", + "icbc", + "ice", + "icu", + "id", + "ie", + "ieee", + "ifm", + "ikano", + "il", + "im", + "imamat", + "imdb", + "immo", + "immobilien", + "in", + "inc", + "industries", + "infiniti", + "info", + "ing", + "ink", + "institute", + "insurance", + "insure", + "int", + "intel", + "international", + "intuit", + "investments", + "io", + "ipiranga", + "iq", + "ir", + "irish", + "is", + "iselect", + "ismaili", + "ist", + "istanbul", + "it", + "itau", + "itv", + "iveco", + "jaguar", + "java", + "jcb", + "jcp", + "je", + "jeep", + "jetzt", + "jewelry", + "jio", + "jlc", + "jll", + "jm", + "jmp", + "jnj", + "jo", + "jobs", + "joburg", + "jot", + "joy", + "jp", + "jpmorgan", + "jprs", + "juegos", + "juniper", + "kaufen", + "kddi", + "ke", + "kerryhotels", + "kerrylogistics", + "kerryproperties", + "kfh", + "kg", + "kh", + "ki", + "kia", + "kim", + "kinder", + "kindle", + "kitchen", + "kiwi", + "km", + "kn", + "koeln", + "komatsu", + "kosher", + "kp", + "kpmg", + "kpn", + "kr", + "krd", + "kred", + "kuokgroup", + "kw", + "ky", + "kyoto", + "kz", + "la", + "lacaixa", + "ladbrokes", + "lamborghini", + "lamer", + "lancaster", + "lancia", + "lancome", + "land", + "landrover", + "lanxess", + "lasalle", + "lat", + "latino", + "latrobe", + "law", + "lawyer", + "lb", + "lc", + "lds", + "lease", + "leclerc", + "lefrak", + "legal", + "lego", + "lexus", + "lgbt", + "li", + "liaison", + "lidl", + "life", + "lifeinsurance", + "lifestyle", + "lighting", + "like", + "lilly", + "limited", + "limo", + "lincoln", + "linde", + "link", + "lipsy", + "live", + "living", + "lixil", + "lk", + "llc", + "loan", + "loans", + "locker", + "locus", + "loft", + "lol", + "london", + "lotte", + "lotto", + "love", + "lpl", + "lplfinancial", + "lr", + "ls", + "lt", + "ltd", + "ltda", + "lu", + "lundbeck", + "lupin", + "luxe", + "luxury", + "lv", + "ly", + "ma", + "macys", + "madrid", + "maif", + "maison", + "makeup", + "man", + "management", + "mango", + "map", + "market", + "marketing", + "markets", + "marriott", + "marshalls", + "maserati", + "mattel", + "mba", + "mc", + "mckinsey", + "md", + "me", + "med", + "media", + "meet", + "melbourne", + "meme", + "memorial", + "men", + "menu", + "merckmsd", + "metlife", + "mg", + "mh", + "miami", + "microsoft", + "mil", + "mini", + "mint", + "mit", + "mitsubishi", + "mk", + "ml", + "mlb", + "mls", + "mm", + "mma", + "mn", + "mo", + "mobi", + "mobile", + "mobily", + "moda", + "moe", + "moi", + "mom", + "monash", + "money", + "monster", + "mopar", + "mormon", + "mortgage", + "moscow", + "moto", + "motorcycles", + "mov", + "movie", + "movistar", + "mp", + "mq", + "mr", + "ms", + "msd", + "mt", + "mtn", + "mtr", + "mu", + "museum", + "mutual", + "mv", + "mw", + "mx", + "my", + "mz", + "na", + "nab", + "nadex", + "nagoya", + "name", + "nationwide", + "natura", + "navy", + "nba", + "nc", + "ne", + "nec", + "net", + "netbank", + "netflix", + "network", + "neustar", + "new", + "newholland", + "news", + "next", + "nextdirect", + "nexus", + "nf", + "nfl", + "ng", + "ngo", + "nhk", + "ni", + "nico", + "nike", + "nikon", + "ninja", + "nissan", + "nissay", + "nl", + "no", + "nokia", + "northwesternmutual", + "norton", + "now", + "nowruz", + "nowtv", + "np", + "nr", + "nra", + "nrw", + "ntt", + "nu", + "nyc", + "nz", + "obi", + "observer", + "off", + "office", + "okinawa", + "olayan", + "olayangroup", + "oldnavy", + "ollo", + "om", + "omega", + "one", + "ong", + "onl", + "online", + "onyourside", + "ooo", + "open", + "oracle", + "orange", + "org", + "organic", + "origins", + "osaka", + "otsuka", + "ott", + "ovh", + "pa", + "page", + "panasonic", + "panerai", + "paris", + "pars", + "partners", + "parts", + "party", + "passagens", + "pay", + "pccw", + "pe", + "pet", + "pf", + "pfizer", + "pg", + "ph", + "pharmacy", + "phd", + "philips", + "phone", + "photo", + "photography", + "photos", + "physio", + "piaget", + "pics", + "pictet", + "pictures", + "pid", + "pin", + "ping", + "pink", + "pioneer", + "pizza", + "pk", + "pl", + "place", + "play", + "playstation", + "plumbing", + "plus", + "pm", + "pn", + "pnc", + "pohl", + "poker", + "politie", + "porn", + "post", + "pr", + "pramerica", + "praxi", + "press", + "prime", + "pro", + "prod", + "productions", + "prof", + "progressive", + "promo", + "properties", + "property", + "protection", + "pru", + "prudential", + "ps", + "pt", + "pub", + "pw", + "pwc", + "py", + "qa", + "qpon", + "quebec", + "quest", + "qvc", + "racing", + "radio", + "raid", + "re", + "read", + "realestate", + "realtor", + "realty", + "recipes", + "red", + "redstone", + "redumbrella", + "rehab", + "reise", + "reisen", + "reit", + "reliance", + "ren", + "rent", + "rentals", + "repair", + "report", + "republican", + "rest", + "restaurant", + "review", + "reviews", + "rexroth", + "rich", + "richardli", + "ricoh", + "rightathome", + "ril", + "rio", + "rip", + "rmit", + "ro", + "rocher", + "rocks", + "rodeo", + "rogers", + "room", + "rs", + "rsvp", + "ru", + "rugby", + "ruhr", + "run", + "rw", + "rwe", + "ryukyu", + "sa", + "saarland", + "safe", + "safety", + "sakura", + "sale", + "salon", + "samsclub", + "samsung", + "sandvik", + "sandvikcoromant", + "sanofi", + "sap", + "sarl", + "sas", + "save", + "saxo", + "sb", + "sbi", + "sbs", + "sc", + "sca", + "scb", + "schaeffler", + "schmidt", + "scholarships", + "school", + "schule", + "schwarz", + "science", + "scjohnson", + "scor", + "scot", + "sd", + "se", + "search", + "seat", + "secure", + "security", + "seek", + "select", + "sener", + "services", + "ses", + "seven", + "sew", + "sex", + "sexy", + "sfr", + "sg", + "sh", + "shangrila", + "sharp", + "shaw", + "shell", + "shia", + "shiksha", + "shoes", + "shop", + "shopping", + "shouji", + "show", + "showtime", + "shriram", + "si", + "silk", + "sina", + "singles", + "site", + "sj", + "sk", + "ski", + "skin", + "sky", + "skype", + "sl", + "sling", + "sm", + "smart", + "smile", + "sn", + "sncf", + "so", + "soccer", + "social", + "softbank", + "software", + "sohu", + "solar", + "solutions", + "song", + "sony", + "soy", + "space", + "spiegel", + "sport", + "spot", + "spreadbetting", + "sr", + "srl", + "srt", + "st", + "stada", + "staples", + "star", + "starhub", + "statebank", + "statefarm", + "statoil", + "stc", + "stcgroup", + "stockholm", + "storage", + "store", + "stream", + "studio", + "study", + "style", + "su", + "sucks", + "supplies", + "supply", + "support", + "surf", + "surgery", + "suzuki", + "sv", + "swatch", + "swiftcover", + "swiss", + "sx", + "sy", + "sydney", + "symantec", + "systems", + "sz", + "tab", + "taipei", + "talk", + "taobao", + "target", + "tatamotors", + "tatar", + "tattoo", + "tax", + "taxi", + "tc", + "tci", + "td", + "tdk", + "team", + "tech", + "technology", + "tel", + "telecity", + "telefonica", + "temasek", + "tennis", + "teva", + "tf", + "tg", + "th", + "thd", + "theater", + "theatre", + "tiaa", + "tickets", + "tienda", + "tiffany", + "tips", + "tires", + "tirol", + "tj", + "tjmaxx", + "tjx", + "tk", + "tkmaxx", + "tl", + "tm", + "tmall", + "tn", + "to", + "today", + "tokyo", + "tools", + "top", + "toray", + "toshiba", + "total", + "tours", + "town", + "toyota", + "toys", + "tr", + "trade", + "trading", + "training", + "travel", + "travelchannel", + "travelers", + "travelersinsurance", + "trust", + "trv", + "tt", + "tube", + "tui", + "tunes", + "tushu", + "tv", + "tvs", + "tw", + "tz", + "ua", + "ubank", + "ubs", + "uconnect", + "ug", + "uk", + "unicom", + "university", + "uno", + "uol", + "ups", + "us", + "uy", + "uz", + "va", + "vacations", + "vana", + "vanguard", + "vc", + "ve", + "vegas", + "ventures", + "verisign", + "versicherung", + "vet", + "vg", + "vi", + "viajes", + "video", + "vig", + "viking", + "villas", + "vin", + "vip", + "virgin", + "visa", + "vision", + "vista", + "vistaprint", + "viva", + "vivo", + "vlaanderen", + "vn", + "vodka", + "volkswagen", + "volvo", + "vote", + "voting", + "voto", + "voyage", + "vu", + "vuelos", + "wales", + "walmart", + "walter", + "wang", + "wanggou", + "warman", + "watch", + "watches", + "weather", + "weatherchannel", + "webcam", + "weber", + "website", + "wed", + "wedding", + "weibo", + "weir", + "wf", + "whoswho", + "wien", + "wiki", + "williamhill", + "win", + "windows", + "wine", + "winners", + "wme", + "wolterskluwer", + "woodside", + "work", + "works", + "world", + "wow", + "ws", + "wtc", + "wtf", + "xbox", + "xerox", + "xfinity", + "xihuan", + "xin", + "कॉम", // xn--11b4c3d + "セール", // xn--1ck2e1b + "佛山", // xn--1qqw23a + "ಭಾರತ", // xn--2scrj9c + "慈善", // xn--30rr7y + "集团", // xn--3bst00m + "在线", // xn--3ds443g + "한국", // xn--3e0b707e + "ଭାରତ", // xn--3hcrj9c + "大众汽车", // xn--3oq18vl8pn36a + "点看", // xn--3pxu8k + "คอม", // xn--42c2d9a + "ভাৰত", // xn--45br5cyl + "ভারত", // xn--45brj9c + "八卦", // xn--45q11c + "موقع", // xn--4gbrim + "বাংলা", // xn--54b7fta0cc + "公益", // xn--55qw42g + "公司", // xn--55qx5d + "香格里拉", // xn--5su34j936bgsg + "网站", // xn--5tzm5g + "移动", // xn--6frz82g + "我爱你", // xn--6qq986b3xl + "москва", // xn--80adxhks + "қаз", // xn--80ao21a + "католик", // xn--80aqecdr1a + "онлайн", // xn--80asehdb + "сайт", // xn--80aswg + "联通", // xn--8y0a063a + "срб", // xn--90a3ac + "бг", // xn--90ae + "бел", // xn--90ais + "קום", // xn--9dbq2a + "时尚", // xn--9et52u + "微博", // xn--9krt00a + "淡马锡", // xn--b4w605ferd + "ファッション", // xn--bck1b9a5dre4c + "орг", // xn--c1avg + "नेट", // xn--c2br7g + "ストア", // xn--cck2b3b + "삼성", // xn--cg4bki + "சிங்கப்பூர்", // xn--clchc0ea0b2g2a9gcd + "商标", // xn--czr694b + "商店", // xn--czrs0t + "商城", // xn--czru2d + "дети", // xn--d1acj3b + "мкд", // xn--d1alf + "ею", // xn--e1a4c + "ポイント", // xn--eckvdtc9d + "新闻", // xn--efvy88h + "工行", // xn--estv75g + "家電", // xn--fct429k + "كوم", // xn--fhbei + "中文网", // xn--fiq228c5hs + "中信", // xn--fiq64b + "中国", // xn--fiqs8s + "中國", // xn--fiqz9s + "娱乐", // xn--fjq720a + "谷歌", // xn--flw351e + "భారత్", // xn--fpcrj9c3d + "ලංකා", // xn--fzc2c9e2c + "電訊盈科", // xn--fzys8d69uvgm + "购物", // xn--g2xx48c + "クラウド", // xn--gckr3f0f + "ભારત", // xn--gecrj9c + "通販", // xn--gk3at1e + "भारतम्", // xn--h2breg3eve + "भारत", // xn--h2brj9c + "भारोत", // xn--h2brj9c8c + "网店", // xn--hxt814e + "संगठन", // xn--i1b6b1a6a2e + "餐厅", // xn--imr513n + "网络", // xn--io0a7i + "ком", // xn--j1aef + "укр", // xn--j1amh + "香港", // xn--j6w193g + "诺基亚", // xn--jlq61u9w7b + "食品", // xn--jvr189m + "飞利浦", // xn--kcrx77d1x4a + "台湾", // xn--kprw13d + "台灣", // xn--kpry57d + "手表", // xn--kpu716f + "手机", // xn--kput3i + "мон", // xn--l1acc + "الجزائر", // xn--lgbbat1ad8j + "عمان", // xn--mgb9awbf + "ارامكو", // xn--mgba3a3ejt + "ایران", // xn--mgba3a4f16a + "العليان", // xn--mgba7c0bbn0a + "اتصالات", // xn--mgbaakc7dvf + "امارات", // xn--mgbaam7a8h + "بازار", // xn--mgbab2bd + "پاکستان", // xn--mgbai9azgqp6j + "الاردن", // xn--mgbayh7gpa + "موبايلي", // xn--mgbb9fbpob + "بارت", // xn--mgbbh1a + "بھارت", // xn--mgbbh1a71e + "المغرب", // xn--mgbc0a9azcg + "ابوظبي", // xn--mgbca7dzdo + "السعودية", // xn--mgberp4a5d4ar + "ڀارت", // xn--mgbgu82a + "كاثوليك", // xn--mgbi4ecexp + "سودان", // xn--mgbpl2fh + "همراه", // xn--mgbt3dhd + "عراق", // xn--mgbtx2b + "مليسيا", // xn--mgbx4cd0ab + "澳門", // xn--mix891f + "닷컴", // xn--mk1bu44c + "政府", // xn--mxtq1m + "شبكة", // xn--ngbc5azd + "بيتك", // xn--ngbe9e0a + "عرب", // xn--ngbrx + "გე", // xn--node + "机构", // xn--nqv7f + "组织机构", // xn--nqv7fs00ema + "健康", // xn--nyqy26a + "ไทย", // xn--o3cw4h + "سورية", // xn--ogbpf8fl + "招聘", // xn--otu796d + "рус", // xn--p1acf + "рф", // xn--p1ai + "珠宝", // xn--pbt977c + "تونس", // xn--pgbs0dh + "大拿", // xn--pssy2u + "みんな", // xn--q9jyb4c + "グーグル", // xn--qcka1pmc + "ελ", // xn--qxam + "世界", // xn--rhqv96g + "書籍", // xn--rovu88b + "ഭാരതം", // xn--rvc1e0am3e + "ਭਾਰਤ", // xn--s9brj9c + "网址", // xn--ses554g + "닷넷", // xn--t60b56a + "コム", // xn--tckwe + "天主教", // xn--tiq49xqyj + "游戏", // xn--unup4y + "vermögensberater", // xn--vermgensberater-ctb + "vermögensberatung", // xn--vermgensberatung-pwb + "企业", // xn--vhquv + "信息", // xn--vuq861b + "嘉里大酒店", // xn--w4r85el8fhu5dnra + "嘉里", // xn--w4rs40l + "مصر", // xn--wgbh1c + "قطر", // xn--wgbl6a + "广东", // xn--xhq521b + "இலங்கை", // xn--xkc2al3hye2a + "இந்தியா", // xn--xkc2dl3a5ee0h + "հայ", // xn--y9a3aq + "新加坡", // xn--yfro4i67o + "فلسطين", // xn--ygbi2ammx + "政务", // xn--zfr164b + "xxx", + "xyz", + "yachts", + "yahoo", + "yamaxun", + "yandex", + "ye", + "yodobashi", + "yoga", + "yokohama", + "you", + "youtube", + "yt", + "yun", + "za", + "zappos", + "zara", + "zero", + "zip", + "zippo", + "zm", + "zone", + "zuerich", + "zw" +]; diff --git a/infrastructure/systems/Shark/web-index/scripts/trigrams_aux.sh b/infrastructure/systems/Shark/web-index/scripts/trigrams_aux.sh new file mode 100755 index 00000000..8f85c772 --- /dev/null +++ b/infrastructure/systems/Shark/web-index/scripts/trigrams_aux.sh @@ -0,0 +1,19 @@ +# s2=$(mktemp -u) +# s3=$(mktemp -u) + +# mkfifo $s2 $s3 + +# tee $s2 | +# tail +2 | +# paste $s2 - | +# tee $s3 | +# cut -f 1 | +# tail +3 | +# paste $s3 - | +# sed "\$d" | +# sed "\$d" + +# rm $s2 $s3 + +tee >(tail +2 | paste - -) | # Creates bigrams +tee >(cut -f 1 | tail +3 | paste - - | sed '$d' | sed '$d') diff --git a/infrastructure/systems/Shark/web-index/scripts/web-index-aux.sh b/infrastructure/systems/Shark/web-index/scripts/web-index-aux.sh new file mode 100644 index 00000000..16c75392 --- /dev/null +++ b/infrastructure/systems/Shark/web-index/scripts/web-index-aux.sh @@ -0,0 +1,204 @@ +# mkfifo {1,2,3}grams + +# bigrams_aux() +# { +# ( mkfifo s2 > /dev/null ) ; +# ( mkfifo s3 > /dev/null ) ; + +# sed '$d' s2 > s3 & +# tee s2 | +# tail +2 | +# paste s3 - +# rm s2 +# rm s3 +# } + +# bigram_aux_map() +# { +# IN=$1 +# OUT=$2 +# AUX_HEAD=$3 +# AUX_TAIL=$4 + +# s2=$(mktemp -u) +# aux1=$(mktemp -u) +# aux2=$(mktemp -u) +# aux3=$(mktemp -u) +# temp=$(mktemp -u) + +# mkfifo $s2 +# mkfifo $aux1 +# mkfifo $aux2 +# mkfifo $aux3 + +# ## New way of doing it using an intermediate file. This is slow +# ## but doesn't deadlock +# cat $IN > $temp + +# sed '$d' $temp > $aux3 & +# cat $temp | head -n 1 > $AUX_HEAD & +# cat $temp | tail -n 1 > $AUX_TAIL & +# cat $temp | tail +2 | paste $aux3 - > $OUT & + +# wait + +# rm $temp +# rm $s2 +# rm $aux1 +# rm $aux2 +# rm $aux3 +# } + +# bigram_aux_reduce() +# { +# IN1=$1 +# AUX_HEAD1=$2 +# AUX_TAIL1=$3 +# IN2=$4 +# AUX_HEAD2=$5 +# AUX_TAIL2=$6 +# OUT=$7 +# AUX_HEAD_OUT=$8 +# AUX_TAIL_OUT=$9 + +# temp=$(mktemp -u) + +# mkfifo $temp + +# cat $AUX_HEAD1 > $AUX_HEAD_OUT & +# cat $AUX_TAIL2 > $AUX_TAIL_OUT & +# paste $AUX_TAIL1 $AUX_HEAD2 > $temp & +# cat $IN1 $temp $IN2 > $OUT & + +# wait + +# rm $temp +# } + + +# trigrams_aux() +# { +# s2=$(mktemp -u) +# s3=$(mktemp -u) + +# mkfifo $s2 $s3 + +# tee $s2 | +# tail +2 | +# paste $s2 - | +# tee $s3 | +# cut -f 1 | +# tail +3 | +# paste $s3 - | +# sed "\$d" | +# sed "\$d" + +# rm $s2 $s3 +# } + + +# extract_text() +# { +# while read -r line +# do +# cat $line | +# iconv -c -t ascii//TRANSLIT | +# pandoc +RTS -K64m -RTS --from html --to plain --quiet +# done +# } + + +# cat $IN | +# sed "s#^#$WIKI#" | +# extract_text | +# tr -cs A-Za-z '\n' | +# tr A-Z a-z | +# grep -vwFf $WEB_INDEX_DIR/stopwords.txt | +# $WEB_INDEX_DIR/stem-words.js | +# tee 3grams 2grams 1grams > /dev/null & + +# cat 1grams | +# sort | +# uniq -c | +# sort -rn > 1-grams.txt & + +# cat 2grams | +# tr -cs A-Za-z '\n' | +# tr A-Z a-z | +# bigrams_aux | +# sort | +# uniq -c | +# sort -rn > 2-grams.txt & + +# cat 3grams | +# tr -cs A-Za-z '\n' | +# tr A-Z a-z | +# trigrams_aux | +# sort | +# uniq -c | +# sort -rn # > 3-grams.txt + +# rm {1,2,3}grams + +REPO_TOP=$(git rev-parse --show-toplevel) +export TEST_BASE=$REPO_TOP/web-index +export SCRIPT_DIR="$TEST_BASE/scripts" +export WEB_INDEX_DIR="$TEST_BASE/inputs" +export WIKI="$TEST_BASE/inputs/articles" + +cd "$(dirname "$0")" || exit 1 + +extract_text() { + while read -r line; do + iconv -c -t ascii//TRANSLIT < "$line" | + pandoc +RTS -K64m -RTS --from html --to plain --quiet + done +} + +bigrams_aux() { + paste <(sed '$d') <(tail +2) +} + +bigram_aux_map() { + IN=$1 + OUT=$2 + AUX_HEAD=$3 + AUX_TAIL=$4 + + head -n 1 "$IN" > "$AUX_HEAD" & + tail -n 1 "$IN" > "$AUX_TAIL" & + paste <(sed '$d' "$IN") <(tail +2 "$IN") > "$OUT" & + wait +} + +bigram_aux_reduce() { + IN1=$1 + AUX_HEAD1=$2 + AUX_TAIL1=$3 + IN2=$4 + AUX_HEAD2=$5 + AUX_TAIL2=$6 + OUT=$7 + AUX_HEAD_OUT=$8 + AUX_TAIL_OUT=$9 + cp "$AUX_HEAD1" "$AUX_HEAD_OUT" & + cp "$AUX_TAIL2" "$AUX_TAIL_OUT" & + + { + cat "$IN1" + paste "$AUX_TAIL1" "$AUX_HEAD2" + cat "$IN2" + } > "$OUT" & + + wait +} + + +trigrams_aux() { + paste <(paste <(sed '$d') <(tail +2)) <(tail +3) | sed '$d' | sed '$d' +} + +tee <(tr -cs A-Za-z '\n' | tr A-Z a-z | grep -vwFf "$WEB_INDEX_DIR/stopwords.txt" | "$WEB_INDEX_DIR/stem-words.js" | sort | uniq -c | sort -rn > 1-grams.txt) \ + <(tr -cs A-Za-z '\n' | tr A-Z a-z | bigrams_aux | sort | uniq -c | sort -rn > 2-grams.txt) \ + <(tr -cs A-Za-z '\n' | tr A-Z a-z | trigrams_aux | sort | uniq -c | sort -rn > 3-grams.txt) \ + > /dev/null diff --git a/infrastructure/systems/Shark/web-index/scripts/web-index.sh b/infrastructure/systems/Shark/web-index/scripts/web-index.sh new file mode 100755 index 00000000..e1bab315 --- /dev/null +++ b/infrastructure/systems/Shark/web-index/scripts/web-index.sh @@ -0,0 +1,67 @@ +#!/bin/bash +PASH_TOP=${PASH_TOP:-$(git rev-parse --show-toplevel)} +IN=${IN:-$PASH_TOP/web-index/input/index.txt} +WEB_INDEX_DIR=${WEB_INDEX_DIR:-$PASH_TOP/web-index/input} +WIKI=${WIKI:-$PASH_TOP/web-index/} + +bigrams_aux() { + paste <(sed '$d') <(tail +2) +} + +bigram_aux_map() { + IN=$1 + OUT=$2 + AUX_HEAD=$3 + AUX_TAIL=$4 + + head -n 1 "$IN" > "$AUX_HEAD" & + tail -n 1 "$IN" > "$AUX_TAIL" & + paste <(sed '$d' "$IN") <(tail +2 "$IN") > "$OUT" & + wait +} + +bigram_aux_reduce() { + IN1=$1 + AUX_HEAD1=$2 + AUX_TAIL1=$3 + IN2=$4 + AUX_HEAD2=$5 + AUX_TAIL2=$6 + OUT=$7 + AUX_HEAD_OUT=$8 + AUX_TAIL_OUT=$9 + + cp "$AUX_HEAD1" "$AUX_HEAD_OUT" & + cp "$AUX_TAIL2" "$AUX_TAIL_OUT" & + { + cat "$IN1" + paste "$AUX_TAIL1" "$AUX_HEAD2" + cat "$IN2" + } > "$OUT" & + wait +} + +trigrams_aux() { + paste <(paste <(sed '$d') <(tail +2)) <(tail +3) | sed '$d' | sed '$d' +} + +extract_text() { + while read -r line; do + iconv -c -t ascii//TRANSLIT < "$line" | + pandoc +RTS -K64m -RTS --from html --to plain --quiet + done +} + +export -f extract_text + +# Process input and generate n-grams +head "$IN" | + sed "s#^#$WIKI#" | + extract_text | + tr -cs A-Za-z '\n' | + tr A-Z a-z | + grep -vwFf "$WIKI/stopwords.txt" | + "$WIKI/stem-words.js" | + tee >(tr -cs A-Za-z '\n' | tr A-Z a-z | sort | uniq -c | sort -rn > 1-grams.txt) \ + >(tr -cs A-Za-z '\n' | tr A-Z a-z | bigrams_aux | sort | uniq -c | sort -rn > 2-grams.txt) \ + >(tr -cs A-Za-z '\n' | tr A-Z a-z | trigrams_aux | sort | uniq -c | sort -rn > 3-grams.txt) > /dev/null diff --git a/infrastructure/systems/Shark/web-index/stopwords.txt b/infrastructure/systems/Shark/web-index/stopwords.txt new file mode 100644 index 00000000..49dd96e6 --- /dev/null +++ b/infrastructure/systems/Shark/web-index/stopwords.txt @@ -0,0 +1,127 @@ +i +me +my +myself +we +our +ours +ourselves +you +your +yours +yourself +yourselves +he +him +his +himself +she +her +hers +herself +it +its +itself +they +them +their +theirs +themselves +what +which +who +whom +this +that +these +those +am +is +are +was +were +be +been +being +have +has +had +having +do +does +did +doing +a +an +the +and +but +if +or +because +as +until +while +of +at +by +for +with +about +against +between +into +through +during +before +after +above +below +to +from +up +down +in +out +on +off +over +under +again +further +then +once +here +there +when +where +why +how +all +any +both +each +few +more +most +other +some +such +no +nor +not +only +own +same +so +than +too +very +s +t +can +will +just +don +should +now \ No newline at end of file diff --git a/infrastructure/systems/Shark/web-index/verify.sh b/infrastructure/systems/Shark/web-index/verify.sh new file mode 100755 index 00000000..223936f8 --- /dev/null +++ b/infrastructure/systems/Shark/web-index/verify.sh @@ -0,0 +1,35 @@ +#!/bin/bash +REPO_TOP=$(git rev-parse --show-toplevel) +eval_dir="${REPO_TOP}/web-index/outputs" +hashes_dir="${REPO_TOP}/web-index/hashes" + +# create hashes directory if it does not exist +if [ ! -d "${hashes_dir}" ]; then + mkdir "${hashes_dir}" +fi + +suffix=".full" +if [[ "$@" == *"--small"* ]]; then + suffix=".small" +fi + +if [[ "$@" == *"--generate"* ]]; then + # generate hashes and store in hashes directory for all *grams.txt files + for file in $(find ${eval_dir} -name "*grams.txt"); do + hash=$(md5sum <(sort "$file") | cut -d ' ' -f 1) + echo "${hash}" > "${hashes_dir}/$(basename ${file})${suffix}.hash" + echo "$file $hash" + done + exit 0 +fi + +# verify hashes for all *grams.txt files +for file in $(find ${eval_dir} -name "*grams.txt"); do + hash=$(md5sum <(sort "$file") | cut -d ' ' -f 1) + expected_hash=$(cat "${hashes_dir}/$(basename ${file})${suffix}.hash") + match=0 + if [[ "${hash}" != "${expected_hash}" ]]; then + match=1 + fi + echo "$file $match" +done