From 13604b77ff8a53b61dbe07e1f264f42f8f6d75a6 Mon Sep 17 00:00:00 2001 From: bic Date: Thu, 20 Sep 2018 17:27:02 +0200 Subject: [PATCH] base --- .criterion/sbocchino/base/MAD.svg | 311 + .criterion/sbocchino/base/SD.svg | 281 + .criterion/sbocchino/base/estimates.json | 1 + .criterion/sbocchino/base/mean.svg | 296 + .criterion/sbocchino/base/median.svg | 286 + .criterion/sbocchino/base/pdf.svg | 400 + .criterion/sbocchino/base/regression.svg | 406 + .criterion/sbocchino/base/sample.json | 1 + .criterion/sbocchino/base/slope.svg | 286 + .criterion/sbocchino/base/tukey.json | 1 + .criterion/sbocchino/both/pdf.svg | 294 + .criterion/sbocchino/both/regression.svg | 342 + .criterion/sbocchino/change/estimates.json | 1 + .criterion/sbocchino/change/mean.svg | 0 .criterion/sbocchino/change/median.svg | 0 .criterion/sbocchino/change/t-test.svg | 258 + .criterion/sbocchino/new/MAD.svg | 296 + .criterion/sbocchino/new/SD.svg | 291 + .criterion/sbocchino/new/estimates.json | 1 + .criterion/sbocchino/new/mean.svg | 286 + .criterion/sbocchino/new/median.svg | 306 + .criterion/sbocchino/new/pdf.svg | 400 + .criterion/sbocchino/new/regression.svg | 445 + .criterion/sbocchino/new/sample.json | 1 + .criterion/sbocchino/new/slope.svg | 286 + .criterion/sbocchino/new/tukey.json | 1 + .criterion/sbocco/base/MAD.svg | 296 + .criterion/sbocco/base/SD.svg | 311 + .criterion/sbocco/base/estimates.json | 1 + .criterion/sbocco/base/mean.svg | 296 + .criterion/sbocco/base/median.svg | 296 + .criterion/sbocco/base/pdf.svg | 405 + .criterion/sbocco/base/regression.svg | 432 + .criterion/sbocco/base/sample.json | 1 + .criterion/sbocco/base/slope.svg | 296 + .criterion/sbocco/base/tukey.json | 1 + .criterion/sbocco/both/pdf.svg | 314 + .criterion/sbocco/both/regression.svg | 329 + .criterion/sbocco/change/estimates.json | 1 + .criterion/sbocco/change/mean.svg | 0 .criterion/sbocco/change/median.svg | 0 .criterion/sbocco/change/t-test.svg | 253 + .criterion/sbocco/new/MAD.svg | 276 + .criterion/sbocco/new/SD.svg | 321 + .criterion/sbocco/new/estimates.json | 1 + .criterion/sbocco/new/mean.svg | 301 + .criterion/sbocco/new/median.svg | 316 + .criterion/sbocco/new/pdf.svg | 390 + .criterion/sbocco/new/regression.svg | 380 + .criterion/sbocco/new/sample.json | 1 + .criterion/sbocco/new/slope.svg | 291 + .criterion/sbocco/new/tukey.json | 1 + .gitignore | 2 + Cargo.lock | 810 ++ Cargo.toml | 16 + assets/sbocchino | 10 + assets/sbocco | 10000 +++++++++++++++++++ benches/sbocco.rs | 13 + sbocco.sh | 6 + src/lib.rs | 45 + src/main.rs | 6 + 61 files changed, 21895 insertions(+) create mode 100644 .criterion/sbocchino/base/MAD.svg create mode 100644 .criterion/sbocchino/base/SD.svg create mode 100644 .criterion/sbocchino/base/estimates.json create mode 100644 .criterion/sbocchino/base/mean.svg create mode 100644 .criterion/sbocchino/base/median.svg create mode 100644 .criterion/sbocchino/base/pdf.svg create mode 100644 .criterion/sbocchino/base/regression.svg create mode 100644 .criterion/sbocchino/base/sample.json create mode 100644 .criterion/sbocchino/base/slope.svg create mode 100644 .criterion/sbocchino/base/tukey.json create mode 100644 .criterion/sbocchino/both/pdf.svg create mode 100644 .criterion/sbocchino/both/regression.svg create mode 100644 .criterion/sbocchino/change/estimates.json create mode 100644 .criterion/sbocchino/change/mean.svg create mode 100644 .criterion/sbocchino/change/median.svg create mode 100644 .criterion/sbocchino/change/t-test.svg create mode 100644 .criterion/sbocchino/new/MAD.svg create mode 100644 .criterion/sbocchino/new/SD.svg create mode 100644 .criterion/sbocchino/new/estimates.json create mode 100644 .criterion/sbocchino/new/mean.svg create mode 100644 .criterion/sbocchino/new/median.svg create mode 100644 .criterion/sbocchino/new/pdf.svg create mode 100644 .criterion/sbocchino/new/regression.svg create mode 100644 .criterion/sbocchino/new/sample.json create mode 100644 .criterion/sbocchino/new/slope.svg create mode 100644 .criterion/sbocchino/new/tukey.json create mode 100644 .criterion/sbocco/base/MAD.svg create mode 100644 .criterion/sbocco/base/SD.svg create mode 100644 .criterion/sbocco/base/estimates.json create mode 100644 .criterion/sbocco/base/mean.svg create mode 100644 .criterion/sbocco/base/median.svg create mode 100644 .criterion/sbocco/base/pdf.svg create mode 100644 .criterion/sbocco/base/regression.svg create mode 100644 .criterion/sbocco/base/sample.json create mode 100644 .criterion/sbocco/base/slope.svg create mode 100644 .criterion/sbocco/base/tukey.json create mode 100644 .criterion/sbocco/both/pdf.svg create mode 100644 .criterion/sbocco/both/regression.svg create mode 100644 .criterion/sbocco/change/estimates.json create mode 100644 .criterion/sbocco/change/mean.svg create mode 100644 .criterion/sbocco/change/median.svg create mode 100644 .criterion/sbocco/change/t-test.svg create mode 100644 .criterion/sbocco/new/MAD.svg create mode 100644 .criterion/sbocco/new/SD.svg create mode 100644 .criterion/sbocco/new/estimates.json create mode 100644 .criterion/sbocco/new/mean.svg create mode 100644 .criterion/sbocco/new/median.svg create mode 100644 .criterion/sbocco/new/pdf.svg create mode 100644 .criterion/sbocco/new/regression.svg create mode 100644 .criterion/sbocco/new/sample.json create mode 100644 .criterion/sbocco/new/slope.svg create mode 100644 .criterion/sbocco/new/tukey.json create mode 100644 .gitignore create mode 100644 Cargo.lock create mode 100644 Cargo.toml create mode 100644 assets/sbocchino create mode 100644 assets/sbocco create mode 100644 benches/sbocco.rs create mode 100755 sbocco.sh create mode 100644 src/lib.rs create mode 100644 src/main.rs diff --git a/.criterion/sbocchino/base/MAD.svg b/.criterion/sbocchino/base/MAD.svg new file mode 100644 index 0000000..5a8c7be --- /dev/null +++ b/.criterion/sbocchino/base/MAD.svg @@ -0,0 +1,311 @@ + + + +Gnuplot +Produced by GNUPLOT 5.2 patchlevel 4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + + + + + 0.05 + + + + + 0.1 + + + + + 0.15 + + + + + 0.2 + + + + + 0.25 + + + + + 0.3 + + + + + 0.35 + + + + + 0.4 + + + + + 6 + + + + + 6.5 + + + + + 7 + + + + + 7.5 + + + + + 8 + + + + + 8.5 + + + + + 9 + + + + + 9.5 + + + + + 10 + + + + + + + + + Density (a.u.) + + + + + Average time (us) + + + + + sbocchino: MAD + + + Bootstrap distribution + + + + + Bootstrap distribution + + + + + + Confidence interval + + + + + Confidence interval + + + + + + + + + + Point estimate + + + + + Point estimate + + + + + + + + + + + + + + + + diff --git a/.criterion/sbocchino/base/SD.svg b/.criterion/sbocchino/base/SD.svg new file mode 100644 index 0000000..f1af100 --- /dev/null +++ b/.criterion/sbocchino/base/SD.svg @@ -0,0 +1,281 @@ + + + +Gnuplot +Produced by GNUPLOT 5.2 patchlevel 4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + + + + + 0.01 + + + + + 0.02 + + + + + 0.03 + + + + + 0.04 + + + + + 0.05 + + + + + 0.06 + + + + + 10 + + + + + 20 + + + + + 30 + + + + + 40 + + + + + 50 + + + + + + + + + Density (a.u.) + + + + + Average time (us) + + + + + sbocchino: SD + + + Bootstrap distribution + + + + + Bootstrap distribution + + + + + + Confidence interval + + + + + Confidence interval + + + + + + + + + + Point estimate + + + + + Point estimate + + + + + + + + + + + + + + + + diff --git a/.criterion/sbocchino/base/estimates.json b/.criterion/sbocchino/base/estimates.json new file mode 100644 index 0000000..6fce3ff --- /dev/null +++ b/.criterion/sbocchino/base/estimates.json @@ -0,0 +1 @@ +{"Mean":{"confidence_interval":{"confidence_level":0.95,"lower_bound":426143.69382634346,"upper_bound":439271.0776100373},"point_estimate":431660.38330156467,"standard_error":3401.207893835085},"Median":{"confidence_interval":{"confidence_level":0.95,"lower_bound":423237.4791666667,"upper_bound":428183.64644479385},"point_estimate":425788.5827583941,"standard_error":1122.3320631114539},"MedianAbsDev":{"confidence_interval":{"confidence_level":0.95,"lower_bound":6293.489112778043,"upper_bound":9858.699355787427},"point_estimate":8033.867956076547,"standard_error":943.5350500677159},"Slope":{"confidence_interval":{"confidence_level":0.95,"lower_bound":425749.2884151094,"upper_bound":430179.74788771383},"point_estimate":427793.4109058667,"standard_error":1134.5938576474164},"StdDev":{"confidence_interval":{"confidence_level":0.95,"lower_bound":9496.825376785873,"upper_bound":53656.896794409055},"point_estimate":34248.20502497851,"standard_error":11956.6094402478}} \ No newline at end of file diff --git a/.criterion/sbocchino/base/mean.svg b/.criterion/sbocchino/base/mean.svg new file mode 100644 index 0000000..1c45aee --- /dev/null +++ b/.criterion/sbocchino/base/mean.svg @@ -0,0 +1,296 @@ + + + +Gnuplot +Produced by GNUPLOT 5.2 patchlevel 4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + + + + + 0.02 + + + + + 0.04 + + + + + 0.06 + + + + + 0.08 + + + + + 0.1 + + + + + 0.12 + + + + + 426 + + + + + 428 + + + + + 430 + + + + + 432 + + + + + 434 + + + + + 436 + + + + + 438 + + + + + 440 + + + + + + + + + Density (a.u.) + + + + + Average time (us) + + + + + sbocchino: mean + + + Bootstrap distribution + + + + + Bootstrap distribution + + + + + + Confidence interval + + + + + Confidence interval + + + + + + + + + + Point estimate + + + + + Point estimate + + + + + + + + + + + + + + + + diff --git a/.criterion/sbocchino/base/median.svg b/.criterion/sbocchino/base/median.svg new file mode 100644 index 0000000..bd43eec --- /dev/null +++ b/.criterion/sbocchino/base/median.svg @@ -0,0 +1,286 @@ + + + +Gnuplot +Produced by GNUPLOT 5.2 patchlevel 4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + + + + + 0.1 + + + + + 0.2 + + + + + 0.3 + + + + + 0.4 + + + + + 0.5 + + + + + 0.6 + + + + + 423 + + + + + 424 + + + + + 425 + + + + + 426 + + + + + 427 + + + + + 428 + + + + + + + + + Density (a.u.) + + + + + Average time (us) + + + + + sbocchino: median + + + Bootstrap distribution + + + + + Bootstrap distribution + + + + + + Confidence interval + + + + + Confidence interval + + + + + + + + + + Point estimate + + + + + Point estimate + + + + + + + + + + + + + + + + diff --git a/.criterion/sbocchino/base/pdf.svg b/.criterion/sbocchino/base/pdf.svg new file mode 100644 index 0000000..d97f687 --- /dev/null +++ b/.criterion/sbocchino/base/pdf.svg @@ -0,0 +1,400 @@ + + + +Gnuplot +Produced by GNUPLOT 5.2 patchlevel 4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + + + + + 50 + + + + + 100 + + + + + 150 + + + + + 200 + + + + + 250 + + + + + 300 + + + + + 400 + + + + + 450 + + + + + 500 + + + + + 550 + + + + + 600 + + + + + 650 + + + + + 700 + + + + + 0 + + + + + 5x10-6 + + + + + 1x10-5 + + + + + 1.5x10-5 + + + + + 2x10-5 + + + + + 2.5x10-5 + + + + + + + + + Iterations + + + + + Density (a.u.) + + + + + Average time (us) + + + + + sbocchino + + + PDF + + + PDF + + + + + + + + + + "Clean" sample + + + "Clean" sample + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Mild outliers + + + Mild outliers + + + + + + + + + + Severe outliers + + + Severe outliers + + + + + + + + + + + gnuplot_plot_5 + + + + + + gnuplot_plot_6 + + + + gnuplot_plot_7 + + + + gnuplot_plot_8 + + + + + + + + + + + + + + diff --git a/.criterion/sbocchino/base/regression.svg b/.criterion/sbocchino/base/regression.svg new file mode 100644 index 0000000..c6641cc --- /dev/null +++ b/.criterion/sbocchino/base/regression.svg @@ -0,0 +1,406 @@ + + + +Gnuplot +Produced by GNUPLOT 5.2 patchlevel 4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + + + + + + + + + + + + + 20 + + + + + + + + + + + + + 40 + + + + + + + + + + + + + 60 + + + + + + + + + + + + + 80 + + + + + + + + + + + + + 100 + + + + + + + + + + + + + 120 + + + + + + + + + + + + + 140 + + + + + + + + + + + + + 0 + + + + + + + + + + + + + 50 + + + + + + + + + + + + + 100 + + + + + + + + + + + + + 150 + + + + + + + + + + + + + 200 + + + + + + + + + + + + + 250 + + + + + + + + + + + + + 300 + + + + + + + + + Total time (ms) + + + + + Iterations + + + + + sbocchino + + + Sample + + + Sample + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Linear regression + + + + + Linear regression + + + + + + Confidence interval + + + + + Confidence interval + + + + + + + + + + + + + + + + + + + + + + + diff --git a/.criterion/sbocchino/base/sample.json b/.criterion/sbocchino/base/sample.json new file mode 100644 index 0000000..850bff9 --- /dev/null +++ b/.criterion/sbocchino/base/sample.json @@ -0,0 +1 @@ +[[3.0,6.0,9.0,12.0,15.0,18.0,21.0,24.0,27.0,30.0,33.0,36.0,39.0,42.0,45.0,48.0,51.0,54.0,57.0,60.0,63.0,66.0,69.0,72.0,75.0,78.0,81.0,84.0,87.0,90.0,93.0,96.0,99.0,102.0,105.0,108.0,111.0,114.0,117.0,120.0,123.0,126.0,129.0,132.0,135.0,138.0,141.0,144.0,147.0,150.0,153.0,156.0,159.0,162.0,165.0,168.0,171.0,174.0,177.0,180.0,183.0,186.0,189.0,192.0,195.0,198.0,201.0,204.0,207.0,210.0,213.0,216.0,219.0,222.0,225.0,228.0,231.0,234.0,237.0,240.0,243.0,246.0,249.0,252.0,255.0,258.0,261.0,264.0,267.0,270.0,273.0,276.0,279.0,282.0,285.0,288.0,291.0,294.0,297.0,300.0],[1435590.0,2571431.0,3650657.0,7317382.0,6451739.0,7924815.0,9117794.0,10211318.0,11371554.0,12429423.0,14157715.0,14789538.0,16374048.0,17405418.0,18737298.0,20315399.0,22027117.0,22700553.0,23824173.0,26021206.0,26583130.0,30683906.0,28378292.0,50169467.0,35308408.0,32856275.0,35502576.0,35126444.0,37386918.0,37819964.0,38634772.0,43338754.0,42925318.0,42705583.0,45392680.0,45022884.0,46453100.0,49021035.0,49254052.0,50527811.0,51603896.0,54042441.0,54444082.0,54866693.0,58021035.0,59655568.0,61328842.0,60893234.0,62054404.0,65472132.0,66416699.0,66043599.0,68060199.0,69278268.0,69413925.0,70228356.0,72822055.0,73387604.0,74515142.0,77786566.0,78111721.0,78034014.0,81327441.0,80544372.0,84776734.0,84463635.0,87087663.0,87489564.0,87220019.0,89315693.0,89284725.0,92516197.0,94955476.0,92700792.0,97128921.0,97946642.0,98555198.0,99009536.0,100811574.0,101905359.0,101726398.0,105368179.0,106595400.0,107819846.0,108700268.0,109617620.0,110086629.0,112520757.0,113666491.0,113496934.0,125051646.0,118323294.0,117013241.0,122805324.0,122517157.0,122405861.0,122950692.0,124834529.0,130146962.0,130431421.0]] \ No newline at end of file diff --git a/.criterion/sbocchino/base/slope.svg b/.criterion/sbocchino/base/slope.svg new file mode 100644 index 0000000..b926a7b --- /dev/null +++ b/.criterion/sbocchino/base/slope.svg @@ -0,0 +1,286 @@ + + + +Gnuplot +Produced by GNUPLOT 5.2 patchlevel 4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + + + + + 0.05 + + + + + 0.1 + + + + + 0.15 + + + + + 0.2 + + + + + 0.25 + + + + + 0.3 + + + + + 0.35 + + + + + 426 + + + + + 427 + + + + + 428 + + + + + 429 + + + + + 430 + + + + + + + + + Density (a.u.) + + + + + Average time (us) + + + + + sbocchino: slope + + + Bootstrap distribution + + + + + Bootstrap distribution + + + + + + Confidence interval + + + + + Confidence interval + + + + + + + + + + Point estimate + + + + + Point estimate + + + + + + + + + + + + + + + + diff --git a/.criterion/sbocchino/base/tukey.json b/.criterion/sbocchino/base/tukey.json new file mode 100644 index 0000000..27a4cdc --- /dev/null +++ b/.criterion/sbocchino/base/tukey.json @@ -0,0 +1 @@ +[387234.5735710042,403923.78362893645,448428.34378342243,465117.5538413547] \ No newline at end of file diff --git a/.criterion/sbocchino/both/pdf.svg b/.criterion/sbocchino/both/pdf.svg new file mode 100644 index 0000000..b90a721 --- /dev/null +++ b/.criterion/sbocchino/both/pdf.svg @@ -0,0 +1,294 @@ + + + +Gnuplot +Produced by GNUPLOT 5.2 patchlevel 4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + + + + + 0.005 + + + + + 0.01 + + + + + 0.015 + + + + + 0.02 + + + + + 0.025 + + + + + 300 + + + + + 400 + + + + + 500 + + + + + 600 + + + + + 700 + + + + + 800 + + + + + 900 + + + + + 1000 + + + + + + + + + Density (a.u.) + + + + + Average time (us) + + + + + sbocchino + + + Base PDF + + + Base PDF + + + + + + + + + + New PDF + + + New PDF + + + + + + + + + + + + + + + + + + + + + + diff --git a/.criterion/sbocchino/both/regression.svg b/.criterion/sbocchino/both/regression.svg new file mode 100644 index 0000000..cf3551d --- /dev/null +++ b/.criterion/sbocchino/both/regression.svg @@ -0,0 +1,342 @@ + + + +Gnuplot +Produced by GNUPLOT 5.2 patchlevel 4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + + + + + + + + + + + + + 0.05 + + + + + + + + + + + + + 0.1 + + + + + + + + + + + + + 0.15 + + + + + + + + + + + + + 0.2 + + + + + + + + + + + + + 0.25 + + + + + + + + + + + + + 0.3 + + + + + + + + + + + + + 0.35 + + + + + + + + + + + + + 0.4 + + + + + + + + + + + + + 0.45 + + + + + + + + + + + + + 0.5 + + + + + + + + + + + + + 0 + + + + + + + + + + + + + 50 + + + + + + + + + + + + + 100 + + + + + + + + + + + + + 150 + + + + + + + + + + + + + 200 + + + + + + + + + + + + + 250 + + + + + + + + + + + + + 300 + + + + + + + + + Total time (ms) + + + + + Iterations + + + + + sbocchino + + + gnuplot_plot_1 + + + + + + + + gnuplot_plot_2 + + + + + + + + Base sample + + + + + Base sample + + + + + + New sample + + + New sample + + + + + + + + + + + + + + + + diff --git a/.criterion/sbocchino/change/estimates.json b/.criterion/sbocchino/change/estimates.json new file mode 100644 index 0000000..cbb3bb3 --- /dev/null +++ b/.criterion/sbocchino/change/estimates.json @@ -0,0 +1 @@ +{"Mean":{"confidence_interval":{"confidence_level":0.95,"lower_bound":-0.009938950376943683,"upper_bound":0.06209553081069363},"point_estimate":0.02353582254813591,"standard_error":0.018383080566030618},"Median":{"confidence_interval":{"confidence_level":0.95,"lower_bound":-0.03409222882417584,"upper_bound":-0.019944414839694558},"point_estimate":-0.02750315697474548,"standard_error":0.0034891165324502983}} \ No newline at end of file diff --git a/.criterion/sbocchino/change/mean.svg b/.criterion/sbocchino/change/mean.svg new file mode 100644 index 0000000..e69de29 diff --git a/.criterion/sbocchino/change/median.svg b/.criterion/sbocchino/change/median.svg new file mode 100644 index 0000000..e69de29 diff --git a/.criterion/sbocchino/change/t-test.svg b/.criterion/sbocchino/change/t-test.svg new file mode 100644 index 0000000..adc5ba9 --- /dev/null +++ b/.criterion/sbocchino/change/t-test.svg @@ -0,0 +1,258 @@ + + + +Gnuplot +Produced by GNUPLOT 5.2 patchlevel 4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + + + + + 0.05 + + + + + 0.1 + + + + + 0.15 + + + + + 0.2 + + + + + 0.25 + + + + + 0.3 + + + + + 0.35 + + + + + 0.4 + + + + + -5 + + + + + -4 + + + + + -3 + + + + + -2 + + + + + -1 + + + + + 0 + + + + + 1 + + + + + 2 + + + + + 3 + + + + + 4 + + + + + 5 + + + + + + + + + Density + + + + + t score + + + + + sbocchino: Welch t test + + + t distribution + + + t distribution + + + + + + + + + + t statistic + + + + + t statistic + + + + + + + + + + + + + + + + diff --git a/.criterion/sbocchino/new/MAD.svg b/.criterion/sbocchino/new/MAD.svg new file mode 100644 index 0000000..5acb5a3 --- /dev/null +++ b/.criterion/sbocchino/new/MAD.svg @@ -0,0 +1,296 @@ + + + +Gnuplot +Produced by GNUPLOT 5.2 patchlevel 4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + + + + + 0.05 + + + + + 0.1 + + + + + 0.15 + + + + + 0.2 + + + + + 0.25 + + + + + 6 + + + + + 7 + + + + + 8 + + + + + 9 + + + + + 10 + + + + + 11 + + + + + 12 + + + + + 13 + + + + + 14 + + + + + + + + + Density (a.u.) + + + + + Average time (us) + + + + + sbocchino: MAD + + + Bootstrap distribution + + + + + Bootstrap distribution + + + + + + Confidence interval + + + + + Confidence interval + + + + + + + + + + Point estimate + + + + + Point estimate + + + + + + + + + + + + + + + + diff --git a/.criterion/sbocchino/new/SD.svg b/.criterion/sbocchino/new/SD.svg new file mode 100644 index 0000000..849bcc0 --- /dev/null +++ b/.criterion/sbocchino/new/SD.svg @@ -0,0 +1,291 @@ + + + +Gnuplot +Produced by GNUPLOT 5.2 patchlevel 4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + + + + + 0.005 + + + + + 0.01 + + + + + 0.015 + + + + + 0.02 + + + + + 0.025 + + + + + 0.03 + + + + + 40 + + + + + 50 + + + + + 60 + + + + + 70 + + + + + 80 + + + + + 90 + + + + + 100 + + + + + + + + + Density (a.u.) + + + + + Average time (us) + + + + + sbocchino: SD + + + Bootstrap distribution + + + + + Bootstrap distribution + + + + + + Confidence interval + + + + + Confidence interval + + + + + + + + + + Point estimate + + + + + Point estimate + + + + + + + + + + + + + + + + diff --git a/.criterion/sbocchino/new/estimates.json b/.criterion/sbocchino/new/estimates.json new file mode 100644 index 0000000..181460e --- /dev/null +++ b/.criterion/sbocchino/new/estimates.json @@ -0,0 +1 @@ +{"Mean":{"confidence_interval":{"confidence_level":0.95,"lower_bound":429146.605014862,"upper_bound":456750.9778230048},"point_estimate":441819.86548401066,"standard_error":7087.941403870686},"Median":{"confidence_interval":{"confidence_level":0.95,"lower_bound":412241.3005268199,"upper_bound":416235.2626262626},"point_estimate":414078.0525287356,"standard_error":1026.7965581374042},"MedianAbsDev":{"confidence_interval":{"confidence_level":0.95,"lower_bound":6386.262909954519,"upper_bound":13507.657114684796},"point_estimate":9855.047572474692,"standard_error":1901.7075610379127},"Slope":{"confidence_interval":{"confidence_level":0.95,"lower_bound":437368.58553200576,"upper_bound":483000.8312719697},"point_estimate":458343.06429732527,"standard_error":11685.50713270634},"StdDev":{"confidence_interval":{"confidence_level":0.95,"lower_bound":42112.03929720228,"upper_bound":96821.45530928312},"point_estimate":71489.50139933641,"standard_error":14072.515839506013}} \ No newline at end of file diff --git a/.criterion/sbocchino/new/mean.svg b/.criterion/sbocchino/new/mean.svg new file mode 100644 index 0000000..a912344 --- /dev/null +++ b/.criterion/sbocchino/new/mean.svg @@ -0,0 +1,286 @@ + + + +Gnuplot +Produced by GNUPLOT 5.2 patchlevel 4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + + + + + 0.01 + + + + + 0.02 + + + + + 0.03 + + + + + 0.04 + + + + + 0.05 + + + + + 0.06 + + + + + 430 + + + + + 435 + + + + + 440 + + + + + 445 + + + + + 450 + + + + + 455 + + + + + + + + + Density (a.u.) + + + + + Average time (us) + + + + + sbocchino: mean + + + Bootstrap distribution + + + + + Bootstrap distribution + + + + + + Confidence interval + + + + + Confidence interval + + + + + + + + + + Point estimate + + + + + Point estimate + + + + + + + + + + + + + + + + diff --git a/.criterion/sbocchino/new/median.svg b/.criterion/sbocchino/new/median.svg new file mode 100644 index 0000000..9c6ad76 --- /dev/null +++ b/.criterion/sbocchino/new/median.svg @@ -0,0 +1,306 @@ + + + +Gnuplot +Produced by GNUPLOT 5.2 patchlevel 4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + + + + + 0.1 + + + + + 0.2 + + + + + 0.3 + + + + + 0.4 + + + + + 0.5 + + + + + 0.6 + + + + + 412 + + + + + 412.5 + + + + + 413 + + + + + 413.5 + + + + + 414 + + + + + 414.5 + + + + + 415 + + + + + 415.5 + + + + + 416 + + + + + 416.5 + + + + + + + + + Density (a.u.) + + + + + Average time (us) + + + + + sbocchino: median + + + Bootstrap distribution + + + + + Bootstrap distribution + + + + + + Confidence interval + + + + + Confidence interval + + + + + + + + + + Point estimate + + + + + Point estimate + + + + + + + + + + + + + + + + diff --git a/.criterion/sbocchino/new/pdf.svg b/.criterion/sbocchino/new/pdf.svg new file mode 100644 index 0000000..afe84ec --- /dev/null +++ b/.criterion/sbocchino/new/pdf.svg @@ -0,0 +1,400 @@ + + + +Gnuplot +Produced by GNUPLOT 5.2 patchlevel 4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + + + + + 50 + + + + + 100 + + + + + 150 + + + + + 200 + + + + + 250 + + + + + 300 + + + + + 400 + + + + + 500 + + + + + 600 + + + + + 700 + + + + + 800 + + + + + 900 + + + + + 0 + + + + + 2x10-6 + + + + + 4x10-6 + + + + + 6x10-6 + + + + + 8x10-6 + + + + + 1x10-5 + + + + + 1.2x10-5 + + + + + + + + + Iterations + + + + + Density (a.u.) + + + + + Average time (us) + + + + + sbocchino + + + PDF + + + PDF + + + + + + + + + + "Clean" sample + + + "Clean" sample + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Mild outliers + + + Mild outliers + + + + + + + + Severe outliers + + + Severe outliers + + + + + + + + + + + + + + + + + + + + + + + + gnuplot_plot_5 + + + + + + gnuplot_plot_6 + + + + gnuplot_plot_7 + + + + gnuplot_plot_8 + + + + + + + + + + + + + + diff --git a/.criterion/sbocchino/new/regression.svg b/.criterion/sbocchino/new/regression.svg new file mode 100644 index 0000000..26a208f --- /dev/null +++ b/.criterion/sbocchino/new/regression.svg @@ -0,0 +1,445 @@ + + + +Gnuplot +Produced by GNUPLOT 5.2 patchlevel 4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + + + + + + + + + + + + + 20 + + + + + + + + + + + + + 40 + + + + + + + + + + + + + 60 + + + + + + + + + + + + + 80 + + + + + + + + + + + + + 100 + + + + + + + + + + + + + 120 + + + + + + + + + + + + + 140 + + + + + + + + + + + + + 160 + + + + + + + + + + + + + 180 + + + + + + + + + + + + + 200 + + + + + + + + + + + + + 0 + + + + + + + + + + + + + 50 + + + + + + + + + + + + + 100 + + + + + + + + + + + + + 150 + + + + + + + + + + + + + 200 + + + + + + + + + + + + + 250 + + + + + + + + + + + + + 300 + + + + + + + + + Total time (ms) + + + + + Iterations + + + + + sbocchino + + + Sample + + + Sample + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Linear regression + + + + + Linear regression + + + + + + Confidence interval + + + + + Confidence interval + + + + + + + + + + + + + + + + + + + + + + + diff --git a/.criterion/sbocchino/new/sample.json b/.criterion/sbocchino/new/sample.json new file mode 100644 index 0000000..51cec7b --- /dev/null +++ b/.criterion/sbocchino/new/sample.json @@ -0,0 +1 @@ +[[3.0,6.0,9.0,12.0,15.0,18.0,21.0,24.0,27.0,30.0,33.0,36.0,39.0,42.0,45.0,48.0,51.0,54.0,57.0,60.0,63.0,66.0,69.0,72.0,75.0,78.0,81.0,84.0,87.0,90.0,93.0,96.0,99.0,102.0,105.0,108.0,111.0,114.0,117.0,120.0,123.0,126.0,129.0,132.0,135.0,138.0,141.0,144.0,147.0,150.0,153.0,156.0,159.0,162.0,165.0,168.0,171.0,174.0,177.0,180.0,183.0,186.0,189.0,192.0,195.0,198.0,201.0,204.0,207.0,210.0,213.0,216.0,219.0,222.0,225.0,228.0,231.0,234.0,237.0,240.0,243.0,246.0,249.0,252.0,255.0,258.0,261.0,264.0,267.0,270.0,273.0,276.0,279.0,282.0,285.0,288.0,291.0,294.0,297.0,300.0],[1486280.0,2402500.0,3566292.0,6532812.0,8209786.0,7312840.0,9569406.0,10285386.0,10992733.0,12177320.0,13411916.0,14667715.0,16175695.0,17299754.0,18338231.0,19675322.0,20634013.0,22327068.0,23121806.0,25098099.0,26126688.0,27153318.0,28079862.0,29591923.0,30704439.0,31666271.0,35375438.0,37294425.0,35882290.0,37417990.0,38240411.0,61285003.0,43036809.0,42092516.0,42740812.0,44348553.0,45478358.0,47189755.0,48251938.0,48891036.0,49954096.0,52032991.0,53777392.0,53701125.0,55259589.0,56178106.0,58570735.0,58650406.0,65135992.0,62131608.0,63291446.0,64822161.0,66194360.0,67789248.0,67426316.0,72121429.0,96056581.0,72026497.0,71761780.0,74045309.0,75021796.0,79114958.0,79186507.0,79418540.0,81360681.0,82414582.0,82282587.0,86293787.0,84427924.0,86039713.0,87437028.0,112841884.0,90171180.0,92248525.0,95661983.0,113837310.0,98622601.0,112887528.0,197489008.0,190333276.0,142767434.0,138925369.0,104066520.0,104614838.0,129854231.0,106433687.0,130139837.0,150397521.0,115658497.0,113762616.0,116952991.0,137120312.0,121756477.0,115305926.0,116844959.0,118668236.0,150486177.0,146929804.0,123123523.0,122691707.0]] \ No newline at end of file diff --git a/.criterion/sbocchino/new/slope.svg b/.criterion/sbocchino/new/slope.svg new file mode 100644 index 0000000..52e15c1 --- /dev/null +++ b/.criterion/sbocchino/new/slope.svg @@ -0,0 +1,286 @@ + + + +Gnuplot +Produced by GNUPLOT 5.2 patchlevel 4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + + + + + 0.005 + + + + + 0.01 + + + + + 0.015 + + + + + 0.02 + + + + + 0.025 + + + + + 0.03 + + + + + 0.035 + + + + + 440 + + + + + 450 + + + + + 460 + + + + + 470 + + + + + 480 + + + + + + + + + Density (a.u.) + + + + + Average time (us) + + + + + sbocchino: slope + + + Bootstrap distribution + + + + + Bootstrap distribution + + + + + + Confidence interval + + + + + Confidence interval + + + + + + + + + + Point estimate + + + + + Point estimate + + + + + + + + + + + + + + + + diff --git a/.criterion/sbocchino/new/tukey.json b/.criterion/sbocchino/new/tukey.json new file mode 100644 index 0000000..3adcd18 --- /dev/null +++ b/.criterion/sbocchino/new/tukey.json @@ -0,0 +1 @@ +[346748.25040257175,378067.08326098736,461583.970883429,492902.8037418446] \ No newline at end of file diff --git a/.criterion/sbocco/base/MAD.svg b/.criterion/sbocco/base/MAD.svg new file mode 100644 index 0000000..d5b952e --- /dev/null +++ b/.criterion/sbocco/base/MAD.svg @@ -0,0 +1,296 @@ + + + +Gnuplot +Produced by GNUPLOT 5.2 patchlevel 4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + + + + + 0.005 + + + + + 0.01 + + + + + 0.015 + + + + + 0.02 + + + + + 0.025 + + + + + 0.03 + + + + + 80 + + + + + 90 + + + + + 100 + + + + + 110 + + + + + 120 + + + + + 130 + + + + + 140 + + + + + 150 + + + + + + + + + Density (a.u.) + + + + + Average time (us) + + + + + sbocco: MAD + + + Bootstrap distribution + + + + + Bootstrap distribution + + + + + + Confidence interval + + + + + Confidence interval + + + + + + + + + + Point estimate + + + + + Point estimate + + + + + + + + + + + + + + + + diff --git a/.criterion/sbocco/base/SD.svg b/.criterion/sbocco/base/SD.svg new file mode 100644 index 0000000..2ecc4fc --- /dev/null +++ b/.criterion/sbocco/base/SD.svg @@ -0,0 +1,311 @@ + + + +Gnuplot +Produced by GNUPLOT 5.2 patchlevel 4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + + + + + 0.0005 + + + + + 0.001 + + + + + 0.0015 + + + + + 0.002 + + + + + 0.0025 + + + + + 0.003 + + + + + 0.0035 + + + + + 0.004 + + + + + 0.0045 + + + + + 0.005 + + + + + 100 + + + + + 200 + + + + + 300 + + + + + 400 + + + + + 500 + + + + + 600 + + + + + 700 + + + + + + + + + Density (a.u.) + + + + + Average time (us) + + + + + sbocco: SD + + + Bootstrap distribution + + + + + Bootstrap distribution + + + + + + Confidence interval + + + + + Confidence interval + + + + + + + + + + Point estimate + + + + + Point estimate + + + + + + + + + + + + + + + + diff --git a/.criterion/sbocco/base/estimates.json b/.criterion/sbocco/base/estimates.json new file mode 100644 index 0000000..a2800e8 --- /dev/null +++ b/.criterion/sbocco/base/estimates.json @@ -0,0 +1 @@ +{"Mean":{"confidence_interval":{"confidence_level":0.95,"lower_bound":9479446.45333976,"upper_bound":9645479.978271201},"point_estimate":9548523.46687638,"standard_error":43058.005202159424},"Median":{"confidence_interval":{"confidence_level":0.95,"lower_bound":9451060.153598282,"upper_bound":9513664.097826088},"point_estimate":9478937.38210065,"standard_error":17462.305358728394},"MedianAbsDev":{"confidence_interval":{"confidence_level":0.95,"lower_bound":83644.7354294779,"upper_bound":147833.52446239808},"point_estimate":105922.5524523229,"standard_error":16814.743815538906},"Slope":{"confidence_interval":{"confidence_level":0.95,"lower_bound":9464127.647912543,"upper_bound":9535181.181413459},"point_estimate":9497034.306951381,"standard_error":18104.16371102908},"StdDev":{"confidence_interval":{"confidence_level":0.95,"lower_bound":148736.41195037827,"upper_bound":688012.5792904329},"point_estimate":432889.54111605,"standard_error":158174.9540237911}} \ No newline at end of file diff --git a/.criterion/sbocco/base/mean.svg b/.criterion/sbocco/base/mean.svg new file mode 100644 index 0000000..9d2c112 --- /dev/null +++ b/.criterion/sbocco/base/mean.svg @@ -0,0 +1,296 @@ + + + +Gnuplot +Produced by GNUPLOT 5.2 patchlevel 4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + + + + + 1 + + + + + 2 + + + + + 3 + + + + + 4 + + + + + 5 + + + + + 6 + + + + + 7 + + + + + 8 + + + + + 9 + + + + + 10 + + + + + 9.5 + + + + + 9.55 + + + + + 9.6 + + + + + 9.65 + + + + + + + + + Density (a.u.) + + + + + Average time (ms) + + + + + sbocco: mean + + + Bootstrap distribution + + + + + Bootstrap distribution + + + + + + Confidence interval + + + + + Confidence interval + + + + + + + + + + Point estimate + + + + + Point estimate + + + + + + + + + + + + + + + + diff --git a/.criterion/sbocco/base/median.svg b/.criterion/sbocco/base/median.svg new file mode 100644 index 0000000..936ecf6 --- /dev/null +++ b/.criterion/sbocco/base/median.svg @@ -0,0 +1,296 @@ + + + +Gnuplot +Produced by GNUPLOT 5.2 patchlevel 4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + + + + + 10 + + + + + 20 + + + + + 30 + + + + + 40 + + + + + 50 + + + + + 60 + + + + + 9.45 + + + + + 9.46 + + + + + 9.47 + + + + + 9.48 + + + + + 9.49 + + + + + 9.5 + + + + + 9.51 + + + + + 9.52 + + + + + + + + + Density (a.u.) + + + + + Average time (ms) + + + + + sbocco: median + + + Bootstrap distribution + + + + + Bootstrap distribution + + + + + + Confidence interval + + + + + Confidence interval + + + + + + + + + + Point estimate + + + + + Point estimate + + + + + + + + + + + + + + + + diff --git a/.criterion/sbocco/base/pdf.svg b/.criterion/sbocco/base/pdf.svg new file mode 100644 index 0000000..188c61a --- /dev/null +++ b/.criterion/sbocco/base/pdf.svg @@ -0,0 +1,405 @@ + + + +Gnuplot +Produced by GNUPLOT 5.2 patchlevel 4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + + + + + 20 + + + + + 40 + + + + + 60 + + + + + 80 + + + + + 100 + + + + + 9 + + + + + 10 + + + + + 11 + + + + + 12 + + + + + 13 + + + + + 0 + + + + + 2x10-7 + + + + + 4x10-7 + + + + + 6x10-7 + + + + + 8x10-7 + + + + + 1x10-6 + + + + + 1.2x10-6 + + + + + 1.4x10-6 + + + + + 1.6x10-6 + + + + + 1.8x10-6 + + + + + + + + + Iterations + + + + + Density (a.u.) + + + + + Average time (ms) + + + + + sbocco + + + PDF + + + PDF + + + + + + + + + + "Clean" sample + + + "Clean" sample + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Mild outliers + + + Mild outliers + + + + + + + + + + + + Severe outliers + + + Severe outliers + + + + + + + + + + + gnuplot_plot_5 + + + + + + gnuplot_plot_6 + + + + gnuplot_plot_7 + + + + gnuplot_plot_8 + + + + + + + + + + + + + + diff --git a/.criterion/sbocco/base/regression.svg b/.criterion/sbocco/base/regression.svg new file mode 100644 index 0000000..81ae99d --- /dev/null +++ b/.criterion/sbocco/base/regression.svg @@ -0,0 +1,432 @@ + + + +Gnuplot +Produced by GNUPLOT 5.2 patchlevel 4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + + + + + + + + + + + + + 100 + + + + + + + + + + + + + 200 + + + + + + + + + + + + + 300 + + + + + + + + + + + + + 400 + + + + + + + + + + + + + 500 + + + + + + + + + + + + + 600 + + + + + + + + + + + + + 700 + + + + + + + + + + + + + 800 + + + + + + + + + + + + + 900 + + + + + + + + + + + + + 1000 + + + + + + + + + + + + + 0 + + + + + + + + + + + + + 20 + + + + + + + + + + + + + 40 + + + + + + + + + + + + + 60 + + + + + + + + + + + + + 80 + + + + + + + + + + + + + 100 + + + + + + + + + Total time (ms) + + + + + Iterations + + + + + sbocco + + + Sample + + + Sample + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Linear regression + + + + + Linear regression + + + + + + Confidence interval + + + + + Confidence interval + + + + + + + + + + + + + + + + + + + + + + + diff --git a/.criterion/sbocco/base/sample.json b/.criterion/sbocco/base/sample.json new file mode 100644 index 0000000..f145a91 --- /dev/null +++ b/.criterion/sbocco/base/sample.json @@ -0,0 +1 @@ +[[1.0,2.0,3.0,4.0,5.0,6.0,7.0,8.0,9.0,10.0,11.0,12.0,13.0,14.0,15.0,16.0,17.0,18.0,19.0,20.0,21.0,22.0,23.0,24.0,25.0,26.0,27.0,28.0,29.0,30.0,31.0,32.0,33.0,34.0,35.0,36.0,37.0,38.0,39.0,40.0,41.0,42.0,43.0,44.0,45.0,46.0,47.0,48.0,49.0,50.0,51.0,52.0,53.0,54.0,55.0,56.0,57.0,58.0,59.0,60.0,61.0,62.0,63.0,64.0,65.0,66.0,67.0,68.0,69.0,70.0,71.0,72.0,73.0,74.0,75.0,76.0,77.0,78.0,79.0,80.0,81.0,82.0,83.0,84.0,85.0,86.0,87.0,88.0,89.0,90.0,91.0,92.0,93.0,94.0,95.0,96.0,97.0,98.0,99.0,100.0],[9503288.0,19054771.0,26992122.0,36795132.0,47575689.0,55968107.0,65618501.0,74693046.0,85859212.0,96663211.0,102629134.0,115213768.0,121447372.0,133462431.0,145751015.0,155409337.0,162940026.0,174360050.0,179588273.0,192016096.0,201668020.0,205729148.0,214577428.0,230441455.0,241455187.0,246324184.0,255360015.0,266033921.0,295065181.0,395343081.0,343251041.0,323176978.0,328481143.0,324634944.0,332783120.0,344585519.0,339822739.0,358191988.0,375941989.0,379944604.0,381558952.0,402498026.0,405988606.0,423788292.0,426882140.0,438726436.0,441908222.0,452153927.0,468820235.0,470259951.0,479352028.0,482410484.0,498380438.0,509525750.0,519831059.0,530949288.0,540344920.0,565286821.0,563250009.0,571956860.0,578179952.0,583556931.0,595809665.0,589335059.0,641709412.0,627711155.0,631762041.0,643102670.0,646155126.0,659629784.0,669838493.0,709577115.0,675850401.0,698532264.0,723013798.0,708405529.0,734218541.0,735875246.0,746114172.0,761898156.0,766025884.0,776231264.0,779187997.0,791128264.0,801949799.0,815238281.0,821613090.0,839036183.0,848719739.0,851790805.0,847808243.0,875257097.0,876244908.0,886408052.0,908131372.0,921319644.0,924594685.0,926110382.0,929016825.0,961061666.0]] \ No newline at end of file diff --git a/.criterion/sbocco/base/slope.svg b/.criterion/sbocco/base/slope.svg new file mode 100644 index 0000000..f9d3907 --- /dev/null +++ b/.criterion/sbocco/base/slope.svg @@ -0,0 +1,296 @@ + + + +Gnuplot +Produced by GNUPLOT 5.2 patchlevel 4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + + + + + 5 + + + + + 10 + + + + + 15 + + + + + 20 + + + + + 25 + + + + + 9.46 + + + + + 9.47 + + + + + 9.48 + + + + + 9.49 + + + + + 9.5 + + + + + 9.51 + + + + + 9.52 + + + + + 9.53 + + + + + 9.54 + + + + + + + + + Density (a.u.) + + + + + Average time (ms) + + + + + sbocco: slope + + + Bootstrap distribution + + + + + Bootstrap distribution + + + + + + Confidence interval + + + + + Confidence interval + + + + + + + + + + Point estimate + + + + + Point estimate + + + + + + + + + + + + + + + + diff --git a/.criterion/sbocco/base/tukey.json b/.criterion/sbocco/base/tukey.json new file mode 100644 index 0000000..a4dae5c --- /dev/null +++ b/.criterion/sbocco/base/tukey.json @@ -0,0 +1 @@ +[8971489.30697279,9195471.410554849,9792757.020107001,10016739.123689057] \ No newline at end of file diff --git a/.criterion/sbocco/both/pdf.svg b/.criterion/sbocco/both/pdf.svg new file mode 100644 index 0000000..8df0a3e --- /dev/null +++ b/.criterion/sbocco/both/pdf.svg @@ -0,0 +1,314 @@ + + + +Gnuplot +Produced by GNUPLOT 5.2 patchlevel 4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + + + + + 0.5 + + + + + 1 + + + + + 1.5 + + + + + 2 + + + + + 2.5 + + + + + 3 + + + + + 4 + + + + + 5 + + + + + 6 + + + + + 7 + + + + + 8 + + + + + 9 + + + + + 10 + + + + + 11 + + + + + 12 + + + + + 13 + + + + + 14 + + + + + + + + + Density (a.u.) + + + + + Average time (ms) + + + + + sbocco + + + Base PDF + + + Base PDF + + + + + + + + + + New PDF + + + New PDF + + + + + + + + + + + + + + + + + + + + + + diff --git a/.criterion/sbocco/both/regression.svg b/.criterion/sbocco/both/regression.svg new file mode 100644 index 0000000..50dc290 --- /dev/null +++ b/.criterion/sbocco/both/regression.svg @@ -0,0 +1,329 @@ + + + +Gnuplot +Produced by GNUPLOT 5.2 patchlevel 4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + + + + + + + + + + + + + 1 + + + + + + + + + + + + + 2 + + + + + + + + + + + + + 3 + + + + + + + + + + + + + 4 + + + + + + + + + + + + + 5 + + + + + + + + + + + + + 6 + + + + + + + + + + + + + 7 + + + + + + + + + + + + + 8 + + + + + + + + + + + + + 9 + + + + + + + + + + + + + 10 + + + + + + + + + + + + + 0 + + + + + + + + + + + + + 20 + + + + + + + + + + + + + 40 + + + + + + + + + + + + + 60 + + + + + + + + + + + + + 80 + + + + + + + + + + + + + 100 + + + + + + + + + Total time (ms) + + + + + Iterations + + + + + sbocco + + + gnuplot_plot_1 + + + + + + + + gnuplot_plot_2 + + + + + + + + Base sample + + + + + Base sample + + + + + + New sample + + + New sample + + + + + + + + + + + + + + + + diff --git a/.criterion/sbocco/change/estimates.json b/.criterion/sbocco/change/estimates.json new file mode 100644 index 0000000..6f74379 --- /dev/null +++ b/.criterion/sbocco/change/estimates.json @@ -0,0 +1 @@ +{"Mean":{"confidence_interval":{"confidence_level":0.95,"lower_bound":-0.42187385164190894,"upper_bound":-0.4075145787859458},"point_estimate":-0.4142689346088515,"standard_error":0.0036648390851236556},"Median":{"confidence_interval":{"confidence_level":0.95,"lower_bound":-0.42011408418304397,"upper_bound":-0.4121542711719606},"point_estimate":-0.4161093959247756,"standard_error":0.0019748044050416362}} \ No newline at end of file diff --git a/.criterion/sbocco/change/mean.svg b/.criterion/sbocco/change/mean.svg new file mode 100644 index 0000000..e69de29 diff --git a/.criterion/sbocco/change/median.svg b/.criterion/sbocco/change/median.svg new file mode 100644 index 0000000..e69de29 diff --git a/.criterion/sbocco/change/t-test.svg b/.criterion/sbocco/change/t-test.svg new file mode 100644 index 0000000..dbdf1fb --- /dev/null +++ b/.criterion/sbocco/change/t-test.svg @@ -0,0 +1,253 @@ + + + +Gnuplot +Produced by GNUPLOT 5.2 patchlevel 4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + + + + + 0.05 + + + + + 0.1 + + + + + 0.15 + + + + + 0.2 + + + + + 0.25 + + + + + 0.3 + + + + + 0.35 + + + + + 0.4 + + + + + -80 + + + + + -70 + + + + + -60 + + + + + -50 + + + + + -40 + + + + + -30 + + + + + -20 + + + + + -10 + + + + + 0 + + + + + 10 + + + + + + + + + Density + + + + + t score + + + + + sbocco: Welch t test + + + t distribution + + + t distribution + + + + + + + + + + t statistic + + + + + t statistic + + + + + + + + + + + + + + + + diff --git a/.criterion/sbocco/new/MAD.svg b/.criterion/sbocco/new/MAD.svg new file mode 100644 index 0000000..f4224bd --- /dev/null +++ b/.criterion/sbocco/new/MAD.svg @@ -0,0 +1,276 @@ + + + +Gnuplot +Produced by GNUPLOT 5.2 patchlevel 4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + + + + + 0.005 + + + + + 0.01 + + + + + 0.015 + + + + + 0.02 + + + + + 0.025 + + + + + 80 + + + + + 100 + + + + + 120 + + + + + 140 + + + + + 160 + + + + + + + + + Density (a.u.) + + + + + Average time (us) + + + + + sbocco: MAD + + + Bootstrap distribution + + + + + Bootstrap distribution + + + + + + Confidence interval + + + + + Confidence interval + + + + + + + + + + Point estimate + + + + + Point estimate + + + + + + + + + + + + + + + + diff --git a/.criterion/sbocco/new/SD.svg b/.criterion/sbocco/new/SD.svg new file mode 100644 index 0000000..c0348a8 --- /dev/null +++ b/.criterion/sbocco/new/SD.svg @@ -0,0 +1,321 @@ + + + +Gnuplot +Produced by GNUPLOT 5.2 patchlevel 4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + + + + + 0.001 + + + + + 0.002 + + + + + 0.003 + + + + + 0.004 + + + + + 0.005 + + + + + 0.006 + + + + + 0.007 + + + + + 0.008 + + + + + 0.009 + + + + + 0.01 + + + + + 160 + + + + + 180 + + + + + 200 + + + + + 220 + + + + + 240 + + + + + 260 + + + + + 280 + + + + + 300 + + + + + 320 + + + + + + + + + Density (a.u.) + + + + + Average time (us) + + + + + sbocco: SD + + + Bootstrap distribution + + + + + Bootstrap distribution + + + + + + Confidence interval + + + + + Confidence interval + + + + + + + + + + Point estimate + + + + + Point estimate + + + + + + + + + + + + + + + + diff --git a/.criterion/sbocco/new/estimates.json b/.criterion/sbocco/new/estimates.json new file mode 100644 index 0000000..c285f4b --- /dev/null +++ b/.criterion/sbocco/new/estimates.json @@ -0,0 +1 @@ +{"Mean":{"confidence_interval":{"confidence_level":0.95,"lower_bound":5545002.649146732,"upper_bound":5639135.000906773},"point_estimate":5592866.823165885,"standard_error":24020.59218882509},"Median":{"confidence_interval":{"confidence_level":0.95,"lower_bound":5506384.399350649,"upper_bound":5571049.571839081},"point_estimate":5534662.474025974,"standard_error":15982.391952301095},"MedianAbsDev":{"confidence_interval":{"confidence_level":0.95,"lower_bound":81415.91780137707,"upper_bound":164554.37245128615},"point_estimate":113346.2400057643,"standard_error":21036.754853865972},"Slope":{"confidence_interval":{"confidence_level":0.95,"lower_bound":5542585.944616749,"upper_bound":5612244.38580395},"point_estimate":5574351.90426777,"standard_error":17740.846482542504},"StdDev":{"confidence_interval":{"confidence_level":0.95,"lower_bound":166547.46507852574,"upper_bound":318584.9996744017},"point_estimate":240641.999943947,"standard_error":39798.463814406816}} \ No newline at end of file diff --git a/.criterion/sbocco/new/mean.svg b/.criterion/sbocco/new/mean.svg new file mode 100644 index 0000000..56054a1 --- /dev/null +++ b/.criterion/sbocco/new/mean.svg @@ -0,0 +1,301 @@ + + + +Gnuplot +Produced by GNUPLOT 5.2 patchlevel 4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + + + + + 2 + + + + + 4 + + + + + 6 + + + + + 8 + + + + + 10 + + + + + 12 + + + + + 14 + + + + + 16 + + + + + 18 + + + + + 5.54 + + + + + 5.56 + + + + + 5.58 + + + + + 5.6 + + + + + 5.62 + + + + + 5.64 + + + + + + + + + Density (a.u.) + + + + + Average time (ms) + + + + + sbocco: mean + + + Bootstrap distribution + + + + + Bootstrap distribution + + + + + + Confidence interval + + + + + Confidence interval + + + + + + + + + + Point estimate + + + + + Point estimate + + + + + + + + + + + + + + + + diff --git a/.criterion/sbocco/new/median.svg b/.criterion/sbocco/new/median.svg new file mode 100644 index 0000000..dd61942 --- /dev/null +++ b/.criterion/sbocco/new/median.svg @@ -0,0 +1,316 @@ + + + +Gnuplot +Produced by GNUPLOT 5.2 patchlevel 4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + + + + + 5 + + + + + 10 + + + + + 15 + + + + + 20 + + + + + 25 + + + + + 30 + + + + + 35 + + + + + 40 + + + + + 45 + + + + + 50 + + + + + 5.5 + + + + + 5.51 + + + + + 5.52 + + + + + 5.53 + + + + + 5.54 + + + + + 5.55 + + + + + 5.56 + + + + + 5.57 + + + + + + + + + Density (a.u.) + + + + + Average time (ms) + + + + + sbocco: median + + + Bootstrap distribution + + + + + Bootstrap distribution + + + + + + Confidence interval + + + + + Confidence interval + + + + + + + + + + Point estimate + + + + + Point estimate + + + + + + + + + + + + + + + + diff --git a/.criterion/sbocco/new/pdf.svg b/.criterion/sbocco/new/pdf.svg new file mode 100644 index 0000000..ad97a9e --- /dev/null +++ b/.criterion/sbocco/new/pdf.svg @@ -0,0 +1,390 @@ + + + +Gnuplot +Produced by GNUPLOT 5.2 patchlevel 4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + + + + + 20 + + + + + 40 + + + + + 60 + + + + + 80 + + + + + 100 + + + + + 4 + + + + + 4.5 + + + + + 5 + + + + + 5.5 + + + + + 6 + + + + + 6.5 + + + + + 0 + + + + + 5x10-7 + + + + + 1x10-6 + + + + + 1.5x10-6 + + + + + 2x10-6 + + + + + 2.5x10-6 + + + + + + + + + Iterations + + + + + Density (a.u.) + + + + + Average time (ms) + + + + + sbocco + + + PDF + + + PDF + + + + + + + + + + "Clean" sample + + + "Clean" sample + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Mild outliers + + + Mild outliers + + + + + + + + + + + + Severe outliers + + + Severe outliers + + + + + + + + gnuplot_plot_5 + + + + + + gnuplot_plot_6 + + + + gnuplot_plot_7 + + + + gnuplot_plot_8 + + + + + + + + + + + + + + diff --git a/.criterion/sbocco/new/regression.svg b/.criterion/sbocco/new/regression.svg new file mode 100644 index 0000000..890d63b --- /dev/null +++ b/.criterion/sbocco/new/regression.svg @@ -0,0 +1,380 @@ + + + +Gnuplot +Produced by GNUPLOT 5.2 patchlevel 4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + + + + + + + + + + + + + 100 + + + + + + + + + + + + + 200 + + + + + + + + + + + + + 300 + + + + + + + + + + + + + 400 + + + + + + + + + + + + + 500 + + + + + + + + + + + + + 600 + + + + + + + + + + + + + 0 + + + + + + + + + + + + + 20 + + + + + + + + + + + + + 40 + + + + + + + + + + + + + 60 + + + + + + + + + + + + + 80 + + + + + + + + + + + + + 100 + + + + + + + + + Total time (ms) + + + + + Iterations + + + + + sbocco + + + Sample + + + Sample + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Linear regression + + + + + Linear regression + + + + + + Confidence interval + + + + + Confidence interval + + + + + + + + + + + + + + + + + + + + + + + diff --git a/.criterion/sbocco/new/sample.json b/.criterion/sbocco/new/sample.json new file mode 100644 index 0000000..ce0d7af --- /dev/null +++ b/.criterion/sbocco/new/sample.json @@ -0,0 +1 @@ +[[1.0,2.0,3.0,4.0,5.0,6.0,7.0,8.0,9.0,10.0,11.0,12.0,13.0,14.0,15.0,16.0,17.0,18.0,19.0,20.0,21.0,22.0,23.0,24.0,25.0,26.0,27.0,28.0,29.0,30.0,31.0,32.0,33.0,34.0,35.0,36.0,37.0,38.0,39.0,40.0,41.0,42.0,43.0,44.0,45.0,46.0,47.0,48.0,49.0,50.0,51.0,52.0,53.0,54.0,55.0,56.0,57.0,58.0,59.0,60.0,61.0,62.0,63.0,64.0,65.0,66.0,67.0,68.0,69.0,70.0,71.0,72.0,73.0,74.0,75.0,76.0,77.0,78.0,79.0,80.0,81.0,82.0,83.0,84.0,85.0,86.0,87.0,88.0,89.0,90.0,91.0,92.0,93.0,94.0,95.0,96.0,97.0,98.0,99.0,100.0],[5832789.0,8521784.0,17071476.0,21905290.0,27249473.0,32630671.0,38732910.0,44078980.0,52495435.0,54618010.0,61385152.0,66001957.0,74513716.0,76164635.0,82194794.0,84594426.0,92303678.0,97801960.0,102604112.0,108836950.0,115495693.0,120484503.0,128478125.0,132203151.0,158058729.0,156277369.0,153460858.0,166530415.0,162552992.0,162412198.0,174234486.0,176611155.0,191304738.0,207329449.0,190822416.0,203147479.0,224270851.0,218382757.0,224820089.0,221965841.0,238222635.0,228797148.0,234607820.0,242475630.0,246814049.0,253762827.0,290836830.0,276561253.0,289928384.0,284724358.0,294354342.0,284482293.0,286161151.0,301417716.0,310888146.0,329564339.0,339844342.0,337901626.0,372346537.0,350971856.0,331523557.0,341167077.0,349392678.0,354381504.0,352861573.0,365379438.0,366764303.0,386343967.0,380348702.0,391469908.0,398371674.0,394355517.0,404560336.0,403889533.0,415436971.0,418978952.0,423650845.0,435316007.0,441318017.0,455066174.0,451239432.0,454281727.0,457577559.0,461252600.0,469736582.0,470982145.0,484413533.0,490523220.0,493819499.0,487933453.0,526149050.0,531083807.0,507076910.0,513272594.0,519449304.0,525028740.0,531399324.0,536371620.0,541982214.0,546927036.0]] \ No newline at end of file diff --git a/.criterion/sbocco/new/slope.svg b/.criterion/sbocco/new/slope.svg new file mode 100644 index 0000000..1fbffd9 --- /dev/null +++ b/.criterion/sbocco/new/slope.svg @@ -0,0 +1,291 @@ + + + +Gnuplot +Produced by GNUPLOT 5.2 patchlevel 4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + + + + + 5 + + + + + 10 + + + + + 15 + + + + + 20 + + + + + 25 + + + + + 5.54 + + + + + 5.55 + + + + + 5.56 + + + + + 5.57 + + + + + 5.58 + + + + + 5.59 + + + + + 5.6 + + + + + 5.61 + + + + + + + + + Density (a.u.) + + + + + Average time (ms) + + + + + sbocco: slope + + + Bootstrap distribution + + + + + Bootstrap distribution + + + + + + Confidence interval + + + + + Confidence interval + + + + + + + + + + Point estimate + + + + + Point estimate + + + + + + + + + + + + + + + + diff --git a/.criterion/sbocco/new/tukey.json b/.criterion/sbocco/new/tukey.json new file mode 100644 index 0000000..5387cf1 --- /dev/null +++ b/.criterion/sbocco/new/tukey.json @@ -0,0 +1 @@ +[4823747.570928181,5148167.874798862,6013288.685120681,6337708.988991364] \ No newline at end of file diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..53eaa21 --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +/target +**/*.rs.bk diff --git a/Cargo.lock b/Cargo.lock new file mode 100644 index 0000000..a49a4cd --- /dev/null +++ b/Cargo.lock @@ -0,0 +1,810 @@ +[[package]] +name = "ansi_term" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "winapi 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "arrayvec" +version = "0.4.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "nodrop 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "atty" +version = "0.2.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)", + "termion 1.5.1 (registry+https://github.com/rust-lang/crates.io-index)", + "winapi 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "backtrace" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "backtrace-sys 0.1.24 (registry+https://github.com/rust-lang/crates.io-index)", + "cfg-if 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)", + "rustc-demangle 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)", + "winapi 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "backtrace-sys" +version = "0.1.24" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "cc 1.0.25 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "bitflags" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "byteorder" +version = "1.2.6" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "cast" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "cc" +version = "1.0.25" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "cfg-if" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "clap" +version = "2.32.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "ansi_term 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)", + "atty 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)", + "bitflags 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)", + "strsim 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", + "textwrap 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", + "unicode-width 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", + "vec_map 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "cloudabi" +version = "0.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "bitflags 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "commoncrypto" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "commoncrypto-sys 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "commoncrypto-sys" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "criterion" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "clap 2.32.0 (registry+https://github.com/rust-lang/crates.io-index)", + "criterion-plot 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", + "criterion-stats 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", + "failure 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", + "failure_derive 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", + "isatty 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)", + "itertools 0.4.19 (registry+https://github.com/rust-lang/crates.io-index)", + "log 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)", + "serde 1.0.79 (registry+https://github.com/rust-lang/crates.io-index)", + "serde_derive 1.0.79 (registry+https://github.com/rust-lang/crates.io-index)", + "serde_json 1.0.28 (registry+https://github.com/rust-lang/crates.io-index)", + "simplelog 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "criterion-plot" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "byteorder 1.2.6 (registry+https://github.com/rust-lang/crates.io-index)", + "cast 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "itertools 0.5.10 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "criterion-stats" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "cast 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "num-traits 0.1.43 (registry+https://github.com/rust-lang/crates.io-index)", + "num_cpus 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)", + "rand 0.3.22 (registry+https://github.com/rust-lang/crates.io-index)", + "thread-scoped 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "crossbeam-channel" +version = "0.2.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "crossbeam-epoch 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)", + "crossbeam-utils 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)", + "parking_lot 0.6.4 (registry+https://github.com/rust-lang/crates.io-index)", + "rand 0.5.5 (registry+https://github.com/rust-lang/crates.io-index)", + "smallvec 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "crossbeam-epoch" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "arrayvec 0.4.7 (registry+https://github.com/rust-lang/crates.io-index)", + "cfg-if 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", + "crossbeam-utils 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)", + "lazy_static 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "memoffset 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", + "scopeguard 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "crossbeam-utils" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "crypto-hash" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "commoncrypto 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", + "hex 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", + "openssl 0.10.12 (registry+https://github.com/rust-lang/crates.io-index)", + "winapi 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "either" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "failure" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "backtrace 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)", + "failure_derive 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "failure_derive" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "proc-macro2 0.4.19 (registry+https://github.com/rust-lang/crates.io-index)", + "quote 0.6.8 (registry+https://github.com/rust-lang/crates.io-index)", + "syn 0.14.9 (registry+https://github.com/rust-lang/crates.io-index)", + "synstructure 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "foreign-types" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "foreign-types-shared 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "foreign-types-shared" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "fuchsia-zircon" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "bitflags 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)", + "fuchsia-zircon-sys 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "fuchsia-zircon-sys" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "hex" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "isatty" +version = "0.1.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "cfg-if 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)", + "redox_syscall 0.1.40 (registry+https://github.com/rust-lang/crates.io-index)", + "winapi 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "itertools" +version = "0.4.19" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "itertools" +version = "0.5.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "either 1.5.0 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "itoa" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "kernel32-sys" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", + "winapi-build 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "lazy_static" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "version_check 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "libc" +version = "0.2.43" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "lock_api" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "owning_ref 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", + "scopeguard 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "log" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "log 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "log" +version = "0.4.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "cfg-if 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "memoffset" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "nodrop" +version = "0.1.12" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "num-traits" +version = "0.1.43" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "num-traits 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "num-traits" +version = "0.2.6" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "num_cpus" +version = "0.2.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "openssl" +version = "0.10.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "bitflags 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)", + "cfg-if 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", + "foreign-types 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", + "lazy_static 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)", + "openssl-sys 0.9.36 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "openssl-sys" +version = "0.9.36" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "cc 1.0.25 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)", + "pkg-config 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)", + "vcpkg 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "owning_ref" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "stable_deref_trait 1.1.1 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "parking_lot" +version = "0.6.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "lock_api 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", + "parking_lot_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "parking_lot_core" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)", + "rand 0.5.5 (registry+https://github.com/rust-lang/crates.io-index)", + "rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", + "smallvec 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", + "winapi 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "pkg-config" +version = "0.3.14" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "proc-macro2" +version = "0.4.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "quote" +version = "0.6.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "proc-macro2 0.4.19 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "rainbowcazzi" +version = "0.1.0" +dependencies = [ + "criterion 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", + "crossbeam-channel 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)", + "crypto-hash 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "rand" +version = "0.3.22" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "fuchsia-zircon 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)", + "rand 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "rand" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "fuchsia-zircon 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)", + "winapi 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "rand" +version = "0.5.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "cloudabi 0.0.3 (registry+https://github.com/rust-lang/crates.io-index)", + "fuchsia-zircon 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)", + "rand_core 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", + "winapi 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "rand_core" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "redox_syscall" +version = "0.1.40" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "redox_termios" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "redox_syscall 0.1.40 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "rustc-demangle" +version = "0.1.9" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "rustc_version" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "semver 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "ryu" +version = "0.2.6" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "scopeguard" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "semver" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "semver-parser 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "semver-parser" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "serde" +version = "1.0.79" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "serde_derive" +version = "1.0.79" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "proc-macro2 0.4.19 (registry+https://github.com/rust-lang/crates.io-index)", + "quote 0.6.8 (registry+https://github.com/rust-lang/crates.io-index)", + "syn 0.15.4 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "serde_json" +version = "1.0.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "itoa 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)", + "ryu 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)", + "serde 1.0.79 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "simplelog" +version = "0.4.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "log 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)", + "term 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", + "time 0.1.40 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "smallvec" +version = "0.6.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "unreachable 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "stable_deref_trait" +version = "1.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "strsim" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "syn" +version = "0.14.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "proc-macro2 0.4.19 (registry+https://github.com/rust-lang/crates.io-index)", + "quote 0.6.8 (registry+https://github.com/rust-lang/crates.io-index)", + "unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "syn" +version = "0.15.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "proc-macro2 0.4.19 (registry+https://github.com/rust-lang/crates.io-index)", + "quote 0.6.8 (registry+https://github.com/rust-lang/crates.io-index)", + "unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "synstructure" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "proc-macro2 0.4.19 (registry+https://github.com/rust-lang/crates.io-index)", + "quote 0.6.8 (registry+https://github.com/rust-lang/crates.io-index)", + "syn 0.14.9 (registry+https://github.com/rust-lang/crates.io-index)", + "unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "term" +version = "0.4.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", + "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "termion" +version = "1.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)", + "redox_syscall 0.1.40 (registry+https://github.com/rust-lang/crates.io-index)", + "redox_termios 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "textwrap" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "unicode-width 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "thread-scoped" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "time" +version = "0.1.40" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)", + "redox_syscall 0.1.40 (registry+https://github.com/rust-lang/crates.io-index)", + "winapi 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "unicode-width" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "unicode-xid" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "unreachable" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "void 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "vcpkg" +version = "0.2.6" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "vec_map" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "version_check" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "void" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "winapi" +version = "0.2.8" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "winapi" +version = "0.3.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "winapi-i686-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", + "winapi-x86_64-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "winapi-build" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "winapi-i686-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "winapi-x86_64-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[metadata] +"checksum ansi_term 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ee49baf6cb617b853aa8d93bf420db2383fab46d314482ca2803b40d5fde979b" +"checksum arrayvec 0.4.7 (registry+https://github.com/rust-lang/crates.io-index)" = "a1e964f9e24d588183fcb43503abda40d288c8657dfc27311516ce2f05675aef" +"checksum atty 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)" = "9a7d5b8723950951411ee34d271d99dddcc2035a16ab25310ea2c8cfd4369652" +"checksum backtrace 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)" = "89a47830402e9981c5c41223151efcced65a0510c13097c769cede7efb34782a" +"checksum backtrace-sys 0.1.24 (registry+https://github.com/rust-lang/crates.io-index)" = "c66d56ac8dabd07f6aacdaf633f4b8262f5b3601a810a0dcddffd5c22c69daa0" +"checksum bitflags 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)" = "228047a76f468627ca71776ecdebd732a3423081fcf5125585bcd7c49886ce12" +"checksum byteorder 1.2.6 (registry+https://github.com/rust-lang/crates.io-index)" = "90492c5858dd7d2e78691cfb89f90d273a2800fc11d98f60786e5d87e2f83781" +"checksum cast 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "011941fb53da1a8ac3e4132a1becc367c44fe13f630769f3143d8c66c91c6cb6" +"checksum cc 1.0.25 (registry+https://github.com/rust-lang/crates.io-index)" = "f159dfd43363c4d08055a07703eb7a3406b0dac4d0584d96965a3262db3c9d16" +"checksum cfg-if 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "0c4e7bb64a8ebb0d856483e1e682ea3422f883c5f5615a90d51a2c82fe87fdd3" +"checksum clap 2.32.0 (registry+https://github.com/rust-lang/crates.io-index)" = "b957d88f4b6a63b9d70d5f454ac8011819c6efa7727858f458ab71c756ce2d3e" +"checksum cloudabi 0.0.3 (registry+https://github.com/rust-lang/crates.io-index)" = "ddfc5b9aa5d4507acaf872de71051dfd0e309860e88966e1051e462a077aac4f" +"checksum commoncrypto 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "d056a8586ba25a1e4d61cb090900e495952c7886786fc55f909ab2f819b69007" +"checksum commoncrypto-sys 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "1fed34f46747aa73dfaa578069fd8279d2818ade2b55f38f22a9401c7f4083e2" +"checksum criterion 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "f58b0200bf321214bdda8c797cf0071bcc638171c40ec198c3f652a4edaacde3" +"checksum criterion-plot 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "885431f7865f9d4956b466126674e5ea40a0f193d42157e56630c356c5501957" +"checksum criterion-stats 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "c71521cb4c7b7eac76b540e75447fb0172c4234d6333729001b886aaa21d6da4" +"checksum crossbeam-channel 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)" = "7b85741761b7f160bc5e7e0c14986ef685b7f8bf9b7ad081c60c604bb4649827" +"checksum crossbeam-epoch 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)" = "9c90f1474584f38e270b5b613e898c8c328aa4f3dea85e0a27ac2e642f009416" +"checksum crossbeam-utils 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)" = "677d453a17e8bd2b913fa38e8b9cf04bcdbb5be790aa294f2389661d72036015" +"checksum crypto-hash 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "09de9ee0fc255ace04c7fa0763c9395a945c37c8292bb554f8d48361d1dcf1b4" +"checksum either 1.5.0 (registry+https://github.com/rust-lang/crates.io-index)" = "3be565ca5c557d7f59e7cfcf1844f9e3033650c929c6566f511e8005f205c1d0" +"checksum failure 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "7efb22686e4a466b1ec1a15c2898f91fa9cb340452496dca654032de20ff95b9" +"checksum failure_derive 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "946d0e98a50d9831f5d589038d2ca7f8f455b1c21028c0db0e84116a12696426" +"checksum foreign-types 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1" +"checksum foreign-types-shared 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" +"checksum fuchsia-zircon 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "2e9763c69ebaae630ba35f74888db465e49e259ba1bc0eda7d06f4a067615d82" +"checksum fuchsia-zircon-sys 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "3dcaa9ae7725d12cdb85b3ad99a434db70b468c09ded17e012d86b5c1010f7a7" +"checksum hex 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "805026a5d0141ffc30abb3be3173848ad46a1b1664fe632428479619a3644d77" +"checksum isatty 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)" = "e31a8281fc93ec9693494da65fbf28c0c2aa60a2eaec25dc58e2f31952e95edc" +"checksum itertools 0.4.19 (registry+https://github.com/rust-lang/crates.io-index)" = "c4a9b56eb56058f43dc66e58f40a214b2ccbc9f3df51861b63d51dec7b65bc3f" +"checksum itertools 0.5.10 (registry+https://github.com/rust-lang/crates.io-index)" = "4833d6978da405305126af4ac88569b5d71ff758581ce5a987dbfa3755f694fc" +"checksum itoa 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)" = "1306f3464951f30e30d12373d31c79fbd52d236e5e896fd92f96ec7babbbe60b" +"checksum kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "7507624b29483431c0ba2d82aece8ca6cdba9382bff4ddd0f7490560c056098d" +"checksum lazy_static 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ca488b89a5657b0a2ecd45b95609b3e848cf1755da332a0da46e2b2b1cb371a7" +"checksum libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)" = "76e3a3ef172f1a0b9a9ff0dd1491ae5e6c948b94479a3021819ba7d860c8645d" +"checksum lock_api 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "949826a5ccf18c1b3a7c3d57692778d21768b79e46eb9dd07bfc4c2160036c54" +"checksum log 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)" = "e19e8d5c34a3e0e2223db8e060f9e8264aeeb5c5fc64a4ee9965c062211c024b" +"checksum log 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)" = "d4fcce5fa49cc693c312001daf1d13411c4a5283796bac1084299ea3e567113f" +"checksum memoffset 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "0f9dc261e2b62d7a622bf416ea3c5245cdd5d9a7fcc428c0d06804dfce1775b3" +"checksum nodrop 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)" = "9a2228dca57108069a5262f2ed8bd2e82496d2e074a06d1ccc7ce1687b6ae0a2" +"checksum num-traits 0.1.43 (registry+https://github.com/rust-lang/crates.io-index)" = "92e5113e9fd4cc14ded8e499429f396a20f98c772a47cc8622a736e1ec843c31" +"checksum num-traits 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)" = "0b3a5d7cc97d6d30d8b9bc8fa19bf45349ffe46241e8816f50f62f6d6aaabee1" +"checksum num_cpus 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)" = "cee7e88156f3f9e19bdd598f8d6c9db7bf4078f99f8381f43a55b09648d1a6e3" +"checksum openssl 0.10.12 (registry+https://github.com/rust-lang/crates.io-index)" = "5e2e79eede055813a3ac52fb3915caf8e1c9da2dec1587871aec9f6f7b48508d" +"checksum openssl-sys 0.9.36 (registry+https://github.com/rust-lang/crates.io-index)" = "409d77eeb492a1aebd6eb322b2ee72ff7c7496b4434d98b3bf8be038755de65e" +"checksum owning_ref 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "cdf84f41639e037b484f93433aa3897863b561ed65c6e59c7073d7c561710f37" +"checksum parking_lot 0.6.4 (registry+https://github.com/rust-lang/crates.io-index)" = "f0802bff09003b291ba756dc7e79313e51cc31667e94afbe847def490424cde5" +"checksum parking_lot_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "ad7f7e6ebdc79edff6fdcb87a55b620174f7a989e3eb31b65231f4af57f00b8c" +"checksum pkg-config 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)" = "676e8eb2b1b4c9043511a9b7bea0915320d7e502b0a079fb03f9635a5252b18c" +"checksum proc-macro2 0.4.19 (registry+https://github.com/rust-lang/crates.io-index)" = "ffe022fb8c8bd254524b0b3305906c1921fa37a84a644e29079a9e62200c3901" +"checksum quote 0.6.8 (registry+https://github.com/rust-lang/crates.io-index)" = "dd636425967c33af890042c483632d33fa7a18f19ad1d7ea72e8998c6ef8dea5" +"checksum rand 0.3.22 (registry+https://github.com/rust-lang/crates.io-index)" = "15a732abf9d20f0ad8eeb6f909bf6868722d9a06e1e50802b6a70351f40b4eb1" +"checksum rand 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)" = "8356f47b32624fef5b3301c1be97e5944ecdd595409cc5da11d05f211db6cfbd" +"checksum rand 0.5.5 (registry+https://github.com/rust-lang/crates.io-index)" = "e464cd887e869cddcae8792a4ee31d23c7edd516700695608f5b98c67ee0131c" +"checksum rand_core 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "edecf0f94da5551fc9b492093e30b041a891657db7940ee221f9d2f66e82eef2" +"checksum redox_syscall 0.1.40 (registry+https://github.com/rust-lang/crates.io-index)" = "c214e91d3ecf43e9a4e41e578973adeb14b474f2bee858742d127af75a0112b1" +"checksum redox_termios 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "7e891cfe48e9100a70a3b6eb652fef28920c117d366339687bd5576160db0f76" +"checksum rustc-demangle 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)" = "bcfe5b13211b4d78e5c2cadfebd7769197d95c639c35a50057eb4c05de811395" +"checksum rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "138e3e0acb6c9fb258b19b67cb8abd63c00679d2851805ea151465464fe9030a" +"checksum ryu 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)" = "7153dd96dade874ab973e098cb62fcdbb89a03682e46b144fd09550998d4a4a7" +"checksum scopeguard 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "94258f53601af11e6a49f722422f6e3425c52b06245a5cf9bc09908b174f5e27" +"checksum semver 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)" = "1d7eb9ef2c18661902cc47e535f9bc51b78acd254da71d375c2f6720d9a40403" +"checksum semver-parser 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3" +"checksum serde 1.0.79 (registry+https://github.com/rust-lang/crates.io-index)" = "84257ccd054dc351472528c8587b4de2dbf0dc0fe2e634030c1a90bfdacebaa9" +"checksum serde_derive 1.0.79 (registry+https://github.com/rust-lang/crates.io-index)" = "31569d901045afbff7a9479f793177fe9259819aff10ab4f89ef69bbc5f567fe" +"checksum serde_json 1.0.28 (registry+https://github.com/rust-lang/crates.io-index)" = "d30ec34ac923489285d24688c7a9c0898d16edff27fc1f1bd854edeff6ca3b7f" +"checksum simplelog 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)" = "24b615b1a3cc51ffa565d9a1d0cfcc49fe7d64737ada84eca284cddb0292d125" +"checksum smallvec 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)" = "153ffa32fd170e9944f7e0838edf824a754ec4c1fc64746fcc9fe1f8fa602e5d" +"checksum stable_deref_trait 1.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "dba1a27d3efae4351c8051072d619e3ade2820635c3958d826bfea39d59b54c8" +"checksum strsim 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "bb4f380125926a99e52bc279241539c018323fab05ad6368b56f93d9369ff550" +"checksum syn 0.14.9 (registry+https://github.com/rust-lang/crates.io-index)" = "261ae9ecaa397c42b960649561949d69311f08eeaea86a65696e6e46517cf741" +"checksum syn 0.15.4 (registry+https://github.com/rust-lang/crates.io-index)" = "9056ebe7f2d6a38bc63171816fd1d3430da5a43896de21676dc5c0a4b8274a11" +"checksum synstructure 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)" = "85bb9b7550d063ea184027c9b8c20ac167cd36d3e06b3a40bceb9d746dc1a7b7" +"checksum term 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)" = "fa63644f74ce96fbeb9b794f66aff2a52d601cbd5e80f4b97123e3899f4570f1" +"checksum termion 1.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "689a3bdfaab439fd92bc87df5c4c78417d3cbe537487274e9b0b2dce76e92096" +"checksum textwrap 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)" = "307686869c93e71f94da64286f9a9524c0f308a9e1c87a583de8e9c9039ad3f6" +"checksum thread-scoped 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "bcbb6aa301e5d3b0b5ef639c9a9c7e2f1c944f177b460c04dc24c69b1fa2bd99" +"checksum time 0.1.40 (registry+https://github.com/rust-lang/crates.io-index)" = "d825be0eb33fda1a7e68012d51e9c7f451dc1a69391e7fdc197060bb8c56667b" +"checksum unicode-width 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "882386231c45df4700b275c7ff55b6f3698780a650026380e72dabe76fa46526" +"checksum unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "fc72304796d0818e357ead4e000d19c9c174ab23dc11093ac919054d20a6a7fc" +"checksum unreachable 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "382810877fe448991dfc7f0dd6e3ae5d58088fd0ea5e35189655f84e6814fa56" +"checksum vcpkg 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)" = "def296d3eb3b12371b2c7d0e83bfe1403e4db2d7a0bba324a12b21c4ee13143d" +"checksum vec_map 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)" = "05c78687fb1a80548ae3250346c3db86a80a7cdd77bda190189f2d0a0987c81a" +"checksum version_check 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "7716c242968ee87e5542f8021178248f267f295a5c4803beae8b8b7fd9bc6051" +"checksum void 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "6a02e4885ed3bc0f2de90ea6dd45ebcbb66dacffe03547fadbb0eeae2770887d" +"checksum winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)" = "167dc9d6949a9b857f3451275e911c3f44255842c1f7a76f33c55103a909087a" +"checksum winapi 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)" = "773ef9dcc5f24b7d850d0ff101e542ff24c3b090a9768e03ff889fdef41f00fd" +"checksum winapi-build 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "2d315eee3b34aca4797b2da6b13ed88266e6d612562a0c46390af8299fc699bc" +"checksum winapi-i686-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" +"checksum winapi-x86_64-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" diff --git a/Cargo.toml b/Cargo.toml new file mode 100644 index 0000000..b975d15 --- /dev/null +++ b/Cargo.toml @@ -0,0 +1,16 @@ +[package] +name = "rainbowcazzi" +version = "0.1.0" +authors = ["bic "] +edition = "2018" + +[dependencies] +crypto-hash = "0.3.1" +crossbeam-channel = "0.2.6" + +[dev-dependencies] +criterion = "0.1.2" + +[[bench]] +name = "sbocco" +harness = false diff --git a/assets/sbocchino b/assets/sbocchino new file mode 100644 index 0000000..1008009 --- /dev/null +++ b/assets/sbocchino @@ -0,0 +1,10 @@ +aD +bcd1234ABC +34ABCD +4ABCD +34ABCD +BCD +cd1234ABCD +234ABCD +D +D diff --git a/assets/sbocco b/assets/sbocco new file mode 100644 index 0000000..8423314 --- /dev/null +++ b/assets/sbocco @@ -0,0 +1,10000 @@ +D +ABCD +34ABCD +bcd1234ABC +34ABCD +cd1234ABCD +4ABCD +1234ABCD +d1234ABCD +CD +4ABCD +cd1234ABCD +d1234ABCD +D +4ABCD +bcd1234ABC +bcd1234ABC +CD +abcd1234AB +34ABCD +bcd1234ABC +abcd1234AB +CD +4ABCD +1234ABCD +abcd1234AB +CD +CD +ABCD +ABCD +D +cd1234ABCD +CD +ABCD +234ABCD +4ABCD +cd1234ABCD +BCD +34ABCD +abcd1234AB +234ABCD +abcd1234AB +1234ABCD +D +BCD +4ABCD +ABCD +BCD +234ABCD +cd1234ABCD +34ABCD +4ABCD +1234ABCD +34ABCD +BCD +BCD +CD +cd1234ABCD +1234ABCD +cd1234ABCD +4ABCD +4ABCD +4ABCD +cd1234ABCD +34ABCD +BCD +4ABCD +abcd1234AB +bcd1234ABC +bcd1234ABC +BCD +ABCD +cd1234ABCD +1234ABCD +abcd1234AB +4ABCD +abcd1234AB +34ABCD +1234ABCD +4ABCD +BCD +ABCD +d1234ABCD +cd1234ABCD +BCD +CD +CD +CD +D +34ABCD +abcd1234AB +D +34ABCD +234ABCD +4ABCD +abcd1234AB +CD +234ABCD +d1234ABCD +d1234ABCD +bcd1234ABC +234ABCD +4ABCD +34ABCD +bcd1234ABC +34ABCD +bcd1234ABC +CD +d1234ABCD +4ABCD +d1234ABCD +34ABCD +BCD +bcd1234ABC +234ABCD +abcd1234AB +1234ABCD +ABCD +cd1234ABCD +34ABCD +BCD +ABCD +234ABCD +d1234ABCD +34ABCD +4ABCD +ABCD +cd1234ABCD +abcd1234AB +4ABCD +abcd1234AB +cd1234ABCD +BCD +d1234ABCD +34ABCD +1234ABCD +1234ABCD +d1234ABCD +CD +d1234ABCD +abcd1234AB +CD +abcd1234AB +bcd1234ABC +BCD +34ABCD +BCD +4ABCD +4ABCD +234ABCD +D +234ABCD +abcd1234AB +BCD +d1234ABCD +bcd1234ABC +4ABCD +D +ABCD +BCD +bcd1234ABC +CD +d1234ABCD +cd1234ABCD +4ABCD +4ABCD +34ABCD +234ABCD +D +ABCD +D +bcd1234ABC +d1234ABCD +D +4ABCD +1234ABCD +234ABCD +d1234ABCD +ABCD +abcd1234AB +234ABCD +cd1234ABCD +4ABCD +BCD +bcd1234ABC +234ABCD +abcd1234AB +d1234ABCD +34ABCD +CD +d1234ABCD +d1234ABCD +1234ABCD +34ABCD +BCD +D +d1234ABCD +D +cd1234ABCD +bcd1234ABC +d1234ABCD +234ABCD +abcd1234AB +D +d1234ABCD +CD +ABCD +bcd1234ABC +CD +BCD +1234ABCD +CD +CD +BCD +234ABCD +4ABCD +CD +234ABCD +234ABCD +bcd1234ABC +34ABCD +D +CD +34ABCD +abcd1234AB +ABCD +ABCD +d1234ABCD +d1234ABCD +BCD +bcd1234ABC +CD +34ABCD +abcd1234AB +34ABCD +CD +1234ABCD +d1234ABCD +D +d1234ABCD +CD +BCD +BCD +abcd1234AB +d1234ABCD +abcd1234AB +234ABCD +BCD +1234ABCD +bcd1234ABC +BCD +d1234ABCD +34ABCD +CD +d1234ABCD +bcd1234ABC +234ABCD +D +BCD +ABCD +1234ABCD +ABCD +ABCD +d1234ABCD +4ABCD +CD +4ABCD +D +234ABCD +d1234ABCD +bcd1234ABC +D +abcd1234AB +BCD +cd1234ABCD +1234ABCD +34ABCD +BCD +34ABCD +d1234ABCD +234ABCD +D +1234ABCD +BCD +1234ABCD +bcd1234ABC +4ABCD +BCD +D +1234ABCD +abcd1234AB +234ABCD +4ABCD +1234ABCD +1234ABCD +34ABCD +bcd1234ABC +34ABCD +D +34ABCD +d1234ABCD +234ABCD +4ABCD +4ABCD +D +234ABCD +CD +abcd1234AB +CD +CD +CD +bcd1234ABC +4ABCD +CD +bcd1234ABC +234ABCD +D +abcd1234AB +abcd1234AB +abcd1234AB +34ABCD +bcd1234ABC +D +d1234ABCD +D +ABCD +abcd1234AB +34ABCD +34ABCD +cd1234ABCD +abcd1234AB +BCD +abcd1234AB +4ABCD +bcd1234ABC +bcd1234ABC +d1234ABCD +CD +D +D +cd1234ABCD +d1234ABCD +4ABCD +4ABCD +BCD +d1234ABCD +cd1234ABCD +D +ABCD +d1234ABCD +cd1234ABCD +CD +ABCD +D +cd1234ABCD +234ABCD +BCD +1234ABCD +ABCD +bcd1234ABC +d1234ABCD +4ABCD +CD +234ABCD +1234ABCD +1234ABCD +bcd1234ABC +BCD +ABCD +34ABCD +cd1234ABCD +ABCD +cd1234ABCD +4ABCD +234ABCD +CD +abcd1234AB +34ABCD +bcd1234ABC +bcd1234ABC +D +CD +D +abcd1234AB +abcd1234AB +cd1234ABCD +BCD +4ABCD +abcd1234AB +d1234ABCD +D +abcd1234AB +4ABCD +ABCD +d1234ABCD +cd1234ABCD +bcd1234ABC +D +abcd1234AB +CD +D +1234ABCD +4ABCD +d1234ABCD +BCD +bcd1234ABC +d1234ABCD +cd1234ABCD +D +ABCD +4ABCD +4ABCD +4ABCD +abcd1234AB +cd1234ABCD +CD +234ABCD +bcd1234ABC +4ABCD +4ABCD +ABCD +cd1234ABCD +BCD +CD +4ABCD +d1234ABCD +BCD +CD +cd1234ABCD +cd1234ABCD +D +D +abcd1234AB +ABCD +d1234ABCD +BCD +abcd1234AB +4ABCD +34ABCD +1234ABCD +d1234ABCD +cd1234ABCD +CD +d1234ABCD +1234ABCD +bcd1234ABC +34ABCD +ABCD +BCD +1234ABCD +abcd1234AB +cd1234ABCD +BCD +234ABCD +D +CD +cd1234ABCD +D +BCD +34ABCD +D +1234ABCD +d1234ABCD +abcd1234AB +abcd1234AB +CD +34ABCD +4ABCD +cd1234ABCD +BCD +abcd1234AB +1234ABCD +1234ABCD +cd1234ABCD +1234ABCD +BCD +BCD +d1234ABCD +bcd1234ABC +bcd1234ABC +d1234ABCD +234ABCD +234ABCD +1234ABCD +234ABCD +D +cd1234ABCD +4ABCD +4ABCD +BCD +abcd1234AB +4ABCD +CD +34ABCD +234ABCD +34ABCD +abcd1234AB +1234ABCD +cd1234ABCD +BCD +1234ABCD +BCD +234ABCD +BCD +ABCD +abcd1234AB +d1234ABCD +cd1234ABCD +CD +d1234ABCD +234ABCD +ABCD +4ABCD +abcd1234AB +34ABCD +4ABCD +D +D +34ABCD +d1234ABCD +D +4ABCD +abcd1234AB +BCD +cd1234ABCD +abcd1234AB +BCD +4ABCD +1234ABCD +bcd1234ABC +d1234ABCD +abcd1234AB +CD +34ABCD +34ABCD +abcd1234AB +ABCD +ABCD +abcd1234AB +d1234ABCD +BCD +D +bcd1234ABC +D +234ABCD +d1234ABCD +1234ABCD +d1234ABCD +CD +D +34ABCD +BCD +bcd1234ABC +1234ABCD +234ABCD +BCD +bcd1234ABC +1234ABCD +cd1234ABCD +abcd1234AB +CD +BCD +234ABCD +4ABCD +CD +cd1234ABCD +cd1234ABCD +abcd1234AB +34ABCD +BCD +d1234ABCD +4ABCD +bcd1234ABC +34ABCD +cd1234ABCD +34ABCD +4ABCD +CD +ABCD +d1234ABCD +cd1234ABCD +D +bcd1234ABC +D +1234ABCD +ABCD +CD +CD +D +34ABCD +d1234ABCD +234ABCD +CD +34ABCD +D +CD +4ABCD +ABCD +34ABCD +D +cd1234ABCD +ABCD +ABCD +4ABCD +4ABCD +34ABCD +1234ABCD +BCD +D +abcd1234AB +234ABCD +abcd1234AB +ABCD +d1234ABCD +34ABCD +bcd1234ABC +bcd1234ABC +abcd1234AB +1234ABCD +D +bcd1234ABC +4ABCD +bcd1234ABC +34ABCD +d1234ABCD +234ABCD +ABCD +cd1234ABCD +CD +d1234ABCD +1234ABCD +bcd1234ABC +d1234ABCD +CD +bcd1234ABC +4ABCD +d1234ABCD +d1234ABCD +1234ABCD +BCD +abcd1234AB +D +234ABCD +d1234ABCD +1234ABCD +34ABCD +abcd1234AB +D +D +bcd1234ABC +d1234ABCD +4ABCD +abcd1234AB +cd1234ABCD +BCD +bcd1234ABC +34ABCD +abcd1234AB +abcd1234AB +CD +abcd1234AB +abcd1234AB +ABCD +234ABCD +d1234ABCD +234ABCD +ABCD +BCD +D +34ABCD +bcd1234ABC +1234ABCD +4ABCD +d1234ABCD +cd1234ABCD +bcd1234ABC +BCD +234ABCD +d1234ABCD +CD +abcd1234AB +ABCD +d1234ABCD +cd1234ABCD +cd1234ABCD +abcd1234AB +BCD +bcd1234ABC +cd1234ABCD +1234ABCD +BCD +CD +4ABCD +34ABCD +abcd1234AB +bcd1234ABC +abcd1234AB +abcd1234AB +ABCD +BCD +BCD +234ABCD +abcd1234AB +1234ABCD +1234ABCD +CD +d1234ABCD +234ABCD +cd1234ABCD +34ABCD +CD +abcd1234AB +CD +d1234ABCD +D +1234ABCD +4ABCD +CD +CD +ABCD +ABCD +34ABCD +234ABCD +cd1234ABCD +234ABCD +ABCD +D +bcd1234ABC +4ABCD +abcd1234AB +D +1234ABCD +4ABCD +CD +d1234ABCD +234ABCD +D +4ABCD +cd1234ABCD +abcd1234AB +cd1234ABCD +CD +d1234ABCD +1234ABCD +d1234ABCD +CD +cd1234ABCD +BCD +BCD +34ABCD +d1234ABCD +abcd1234AB +34ABCD +CD +34ABCD +d1234ABCD +bcd1234ABC +cd1234ABCD +bcd1234ABC +1234ABCD +CD +234ABCD +CD +34ABCD +d1234ABCD +D +cd1234ABCD +ABCD +1234ABCD +abcd1234AB +CD +cd1234ABCD +34ABCD +234ABCD +ABCD +234ABCD +4ABCD +d1234ABCD +bcd1234ABC +d1234ABCD +ABCD +BCD +234ABCD +34ABCD +CD +ABCD +4ABCD +234ABCD +34ABCD +cd1234ABCD +D +1234ABCD +ABCD +bcd1234ABC +d1234ABCD +ABCD +D +234ABCD +abcd1234AB +1234ABCD +D +abcd1234AB +4ABCD +bcd1234ABC +BCD +4ABCD +34ABCD +cd1234ABCD +1234ABCD +d1234ABCD +cd1234ABCD +bcd1234ABC +CD +bcd1234ABC +BCD +BCD +ABCD +abcd1234AB +cd1234ABCD +abcd1234AB +D +1234ABCD +abcd1234AB +234ABCD +CD +D +CD +1234ABCD +1234ABCD +CD +1234ABCD +1234ABCD +34ABCD +BCD +CD +cd1234ABCD +CD +cd1234ABCD +34ABCD +34ABCD +BCD +D +234ABCD +d1234ABCD +abcd1234AB +CD +CD +CD +CD +D +D +1234ABCD +BCD +abcd1234AB +4ABCD +4ABCD +BCD +CD +CD +CD +34ABCD +ABCD +34ABCD +4ABCD +BCD +4ABCD +234ABCD +ABCD +34ABCD +CD +bcd1234ABC +abcd1234AB +CD +bcd1234ABC +abcd1234AB +BCD +CD +CD +1234ABCD +ABCD +ABCD +1234ABCD +234ABCD +BCD +bcd1234ABC +4ABCD +d1234ABCD +BCD +CD +4ABCD +bcd1234ABC +1234ABCD +bcd1234ABC +d1234ABCD +BCD +CD +cd1234ABCD +bcd1234ABC +abcd1234AB +cd1234ABCD +4ABCD +CD +bcd1234ABC +CD +1234ABCD +CD +d1234ABCD +BCD +ABCD +BCD +CD +d1234ABCD +234ABCD +d1234ABCD +cd1234ABCD +CD +234ABCD +d1234ABCD +abcd1234AB +bcd1234ABC +BCD +cd1234ABCD +cd1234ABCD +ABCD +34ABCD +234ABCD +abcd1234AB +BCD +d1234ABCD +BCD +BCD +234ABCD +d1234ABCD +1234ABCD +bcd1234ABC +1234ABCD +34ABCD +ABCD +cd1234ABCD +abcd1234AB +D +bcd1234ABC +BCD +CD +d1234ABCD +34ABCD +bcd1234ABC +BCD +bcd1234ABC +34ABCD +CD +234ABCD +CD +CD +D +abcd1234AB +1234ABCD +d1234ABCD +bcd1234ABC +CD +34ABCD +cd1234ABCD +cd1234ABCD +1234ABCD +d1234ABCD +bcd1234ABC +BCD +bcd1234ABC +BCD +CD +CD +bcd1234ABC +1234ABCD +ABCD +abcd1234AB +234ABCD +cd1234ABCD +D +234ABCD +4ABCD +d1234ABCD +D +4ABCD +bcd1234ABC +1234ABCD +1234ABCD +234ABCD +d1234ABCD +cd1234ABCD +1234ABCD +ABCD +d1234ABCD +bcd1234ABC +D +234ABCD +ABCD +abcd1234AB +bcd1234ABC +234ABCD +1234ABCD +ABCD +234ABCD +BCD +34ABCD +CD +abcd1234AB +abcd1234AB +4ABCD +1234ABCD +cd1234ABCD +4ABCD +d1234ABCD +D +234ABCD +4ABCD +234ABCD +BCD +D +34ABCD +D +bcd1234ABC +D +34ABCD +d1234ABCD +abcd1234AB +cd1234ABCD +34ABCD +34ABCD +ABCD +4ABCD +CD +d1234ABCD +1234ABCD +1234ABCD +D +cd1234ABCD +BCD +ABCD +D +ABCD +abcd1234AB +4ABCD +d1234ABCD +cd1234ABCD +bcd1234ABC +234ABCD +4ABCD +bcd1234ABC +234ABCD +abcd1234AB +D +bcd1234ABC +4ABCD +BCD +bcd1234ABC +34ABCD +ABCD +CD +abcd1234AB +234ABCD +cd1234ABCD +BCD +1234ABCD +ABCD +4ABCD +1234ABCD +abcd1234AB +234ABCD +34ABCD +bcd1234ABC +34ABCD +abcd1234AB +4ABCD +ABCD +4ABCD +34ABCD +cd1234ABCD +CD +1234ABCD +D +cd1234ABCD +34ABCD +d1234ABCD +1234ABCD +ABCD +1234ABCD +CD +abcd1234AB +BCD +CD +d1234ABCD +BCD +ABCD +1234ABCD +234ABCD +4ABCD +ABCD +ABCD +ABCD +bcd1234ABC +234ABCD +cd1234ABCD +1234ABCD +abcd1234AB +BCD +1234ABCD +34ABCD +bcd1234ABC +abcd1234AB +BCD +CD +d1234ABCD +34ABCD +234ABCD +cd1234ABCD +4ABCD +234ABCD +D +ABCD +234ABCD +234ABCD +abcd1234AB +BCD +D +34ABCD +4ABCD +1234ABCD +CD +ABCD +bcd1234ABC +abcd1234AB +abcd1234AB +D +d1234ABCD +CD +CD +ABCD +d1234ABCD +34ABCD +d1234ABCD +BCD +abcd1234AB +ABCD +4ABCD +bcd1234ABC +BCD +d1234ABCD +bcd1234ABC +cd1234ABCD +4ABCD +d1234ABCD +D +d1234ABCD +cd1234ABCD +bcd1234ABC +234ABCD +234ABCD +abcd1234AB +BCD +4ABCD +d1234ABCD +ABCD +34ABCD +234ABCD +1234ABCD +1234ABCD +bcd1234ABC +4ABCD +234ABCD +d1234ABCD +1234ABCD +34ABCD +ABCD +1234ABCD +ABCD +BCD +ABCD +BCD +BCD +D +D +BCD +1234ABCD +4ABCD +CD +1234ABCD +1234ABCD +D +ABCD +BCD +CD +1234ABCD +234ABCD +1234ABCD +bcd1234ABC +4ABCD +1234ABCD +1234ABCD +d1234ABCD +BCD +BCD +d1234ABCD +CD +1234ABCD +CD +BCD +4ABCD +ABCD +4ABCD +BCD +abcd1234AB +bcd1234ABC +BCD +1234ABCD +1234ABCD +234ABCD +34ABCD +234ABCD +cd1234ABCD +D +BCD +bcd1234ABC +d1234ABCD +ABCD +abcd1234AB +bcd1234ABC +D +234ABCD +BCD +34ABCD +bcd1234ABC +34ABCD +d1234ABCD +CD +BCD +d1234ABCD +bcd1234ABC +234ABCD +cd1234ABCD +4ABCD +abcd1234AB +cd1234ABCD +1234ABCD +bcd1234ABC +BCD +d1234ABCD +cd1234ABCD +D +CD +ABCD +234ABCD +ABCD +234ABCD +bcd1234ABC +BCD +abcd1234AB +4ABCD +cd1234ABCD +bcd1234ABC +ABCD +D +1234ABCD +cd1234ABCD +CD +34ABCD +abcd1234AB +CD +BCD +4ABCD +ABCD +d1234ABCD +4ABCD +BCD +4ABCD +cd1234ABCD +abcd1234AB +D +4ABCD +34ABCD +D +1234ABCD +4ABCD +abcd1234AB +bcd1234ABC +ABCD +BCD +234ABCD +cd1234ABCD +4ABCD +4ABCD +ABCD +abcd1234AB +cd1234ABCD +4ABCD +BCD +cd1234ABCD +234ABCD +D +abcd1234AB +1234ABCD +1234ABCD +d1234ABCD +1234ABCD +d1234ABCD +bcd1234ABC +bcd1234ABC +ABCD +bcd1234ABC +4ABCD +D +BCD +bcd1234ABC +BCD +1234ABCD +CD +bcd1234ABC +234ABCD +CD +234ABCD +ABCD +bcd1234ABC +bcd1234ABC +bcd1234ABC +ABCD +cd1234ABCD +abcd1234AB +1234ABCD +1234ABCD +BCD +ABCD +BCD +bcd1234ABC +ABCD +bcd1234ABC +34ABCD +CD +D +CD +D +abcd1234AB +abcd1234AB +D +234ABCD +4ABCD +234ABCD +34ABCD +bcd1234ABC +BCD +D +abcd1234AB +4ABCD +4ABCD +BCD +1234ABCD +234ABCD +D +abcd1234AB +cd1234ABCD +D +CD +4ABCD +abcd1234AB +34ABCD +ABCD +34ABCD +d1234ABCD +cd1234ABCD +CD +abcd1234AB +1234ABCD +abcd1234AB +D +CD +234ABCD +d1234ABCD +1234ABCD +D +ABCD +234ABCD +d1234ABCD +cd1234ABCD +BCD +CD +1234ABCD +abcd1234AB +cd1234ABCD +D +D +D +34ABCD +1234ABCD +bcd1234ABC +cd1234ABCD +34ABCD +34ABCD +ABCD +d1234ABCD +34ABCD +4ABCD +bcd1234ABC +CD +bcd1234ABC +bcd1234ABC +cd1234ABCD +ABCD +4ABCD +abcd1234AB +4ABCD +bcd1234ABC +bcd1234ABC +234ABCD +BCD +cd1234ABCD +34ABCD +BCD +bcd1234ABC +CD +D +abcd1234AB +D +1234ABCD +234ABCD +ABCD +1234ABCD +CD +234ABCD +ABCD +34ABCD +4ABCD +4ABCD +CD +D +cd1234ABCD +bcd1234ABC +BCD +cd1234ABCD +CD +234ABCD +cd1234ABCD +234ABCD +ABCD +CD +bcd1234ABC +cd1234ABCD +cd1234ABCD +1234ABCD +34ABCD +cd1234ABCD +bcd1234ABC +BCD +4ABCD +cd1234ABCD +D +d1234ABCD +234ABCD +d1234ABCD +ABCD +34ABCD +4ABCD +BCD +34ABCD +34ABCD +d1234ABCD +abcd1234AB +BCD +bcd1234ABC +CD +cd1234ABCD +BCD +D +D +1234ABCD +D +D +D +ABCD +cd1234ABCD +cd1234ABCD +D +4ABCD +1234ABCD +CD +bcd1234ABC +CD +1234ABCD +234ABCD +34ABCD +abcd1234AB +4ABCD +abcd1234AB +234ABCD +CD +d1234ABCD +D +BCD +ABCD +ABCD +D +D +D +abcd1234AB +abcd1234AB +1234ABCD +abcd1234AB +1234ABCD +1234ABCD +D +bcd1234ABC +d1234ABCD +D +4ABCD +abcd1234AB +cd1234ABCD +BCD +abcd1234AB +ABCD +D +1234ABCD +CD +234ABCD +4ABCD +D +bcd1234ABC +34ABCD +bcd1234ABC +4ABCD +ABCD +abcd1234AB +d1234ABCD +abcd1234AB +ABCD +ABCD +4ABCD +BCD +CD +D +abcd1234AB +CD +234ABCD +d1234ABCD +234ABCD +abcd1234AB +d1234ABCD +ABCD +bcd1234ABC +D +bcd1234ABC +D +D +bcd1234ABC +1234ABCD +bcd1234ABC +d1234ABCD +CD +34ABCD +d1234ABCD +cd1234ABCD +ABCD +d1234ABCD +cd1234ABCD +cd1234ABCD +bcd1234ABC +34ABCD +4ABCD +ABCD +cd1234ABCD +d1234ABCD +D +bcd1234ABC +D +4ABCD +234ABCD +bcd1234ABC +234ABCD +34ABCD +34ABCD +abcd1234AB +bcd1234ABC +1234ABCD +bcd1234ABC +D +CD +cd1234ABCD +CD +BCD +BCD +4ABCD +34ABCD +d1234ABCD +d1234ABCD +34ABCD +4ABCD +CD +1234ABCD +34ABCD +ABCD +CD +234ABCD +1234ABCD +abcd1234AB +4ABCD +1234ABCD +D +34ABCD +cd1234ABCD +4ABCD +234ABCD +cd1234ABCD +CD +cd1234ABCD +d1234ABCD +d1234ABCD +abcd1234AB +cd1234ABCD +34ABCD +1234ABCD +234ABCD +34ABCD +ABCD +abcd1234AB +1234ABCD +CD +D +D +abcd1234AB +34ABCD +ABCD +abcd1234AB +abcd1234AB +bcd1234ABC +34ABCD +234ABCD +34ABCD +D +CD +d1234ABCD +bcd1234ABC +34ABCD +1234ABCD +d1234ABCD +CD +CD +1234ABCD +bcd1234ABC +BCD +abcd1234AB +34ABCD +bcd1234ABC +CD +cd1234ABCD +cd1234ABCD +BCD +34ABCD +abcd1234AB +234ABCD +CD +34ABCD +CD +CD +CD +bcd1234ABC +d1234ABCD +4ABCD +abcd1234AB +bcd1234ABC +d1234ABCD +4ABCD +ABCD +ABCD +cd1234ABCD +CD +cd1234ABCD +1234ABCD +4ABCD +234ABCD +D +abcd1234AB +abcd1234AB +d1234ABCD +bcd1234ABC +bcd1234ABC +abcd1234AB +bcd1234ABC +4ABCD +D +234ABCD +BCD +1234ABCD +BCD +bcd1234ABC +D +cd1234ABCD +CD +ABCD +abcd1234AB +bcd1234ABC +ABCD +234ABCD +d1234ABCD +1234ABCD +234ABCD +234ABCD +bcd1234ABC +ABCD +cd1234ABCD +bcd1234ABC +d1234ABCD +cd1234ABCD +34ABCD +bcd1234ABC +ABCD +34ABCD +BCD +4ABCD +ABCD +4ABCD +d1234ABCD +cd1234ABCD +d1234ABCD +d1234ABCD +234ABCD +CD +1234ABCD +34ABCD +D +4ABCD +ABCD +d1234ABCD +d1234ABCD +D +CD +bcd1234ABC +cd1234ABCD +1234ABCD +abcd1234AB +34ABCD +ABCD +4ABCD +BCD +D +D +1234ABCD +abcd1234AB +BCD +4ABCD +4ABCD +bcd1234ABC +D +1234ABCD +1234ABCD +d1234ABCD +CD +d1234ABCD +abcd1234AB +D +bcd1234ABC +4ABCD +CD +234ABCD +D +BCD +BCD +D +abcd1234AB +D +ABCD +bcd1234ABC +234ABCD +d1234ABCD +cd1234ABCD +34ABCD +ABCD +d1234ABCD +234ABCD +d1234ABCD +d1234ABCD +BCD +d1234ABCD +cd1234ABCD +bcd1234ABC +ABCD +ABCD +1234ABCD +d1234ABCD +CD +BCD +D +D +34ABCD +abcd1234AB +BCD +cd1234ABCD +234ABCD +D +34ABCD +CD +cd1234ABCD +D +abcd1234AB +BCD +4ABCD +1234ABCD +bcd1234ABC +cd1234ABCD +34ABCD +234ABCD +bcd1234ABC +cd1234ABCD +BCD +abcd1234AB +ABCD +bcd1234ABC +abcd1234AB +1234ABCD +d1234ABCD +D +d1234ABCD +1234ABCD +abcd1234AB +d1234ABCD +4ABCD +D +abcd1234AB +D +234ABCD +abcd1234AB +234ABCD +234ABCD +bcd1234ABC +cd1234ABCD +cd1234ABCD +cd1234ABCD +cd1234ABCD +ABCD +ABCD +234ABCD +cd1234ABCD +1234ABCD +d1234ABCD +D +1234ABCD +abcd1234AB +D +D +d1234ABCD +D +D +BCD +34ABCD +d1234ABCD +ABCD +BCD +1234ABCD +234ABCD +234ABCD +4ABCD +234ABCD +BCD +D +234ABCD +cd1234ABCD +bcd1234ABC +1234ABCD +abcd1234AB +1234ABCD +4ABCD +1234ABCD +d1234ABCD +bcd1234ABC +BCD +abcd1234AB +34ABCD +cd1234ABCD +D +abcd1234AB +CD +cd1234ABCD +CD +d1234ABCD +234ABCD +D +34ABCD +234ABCD +34ABCD +abcd1234AB +BCD +1234ABCD +4ABCD +D +234ABCD +CD +234ABCD +4ABCD +CD +1234ABCD +ABCD +cd1234ABCD +BCD +234ABCD +234ABCD +abcd1234AB +D +d1234ABCD +D +d1234ABCD +D +34ABCD +d1234ABCD +234ABCD +234ABCD +bcd1234ABC +bcd1234ABC +CD +4ABCD +cd1234ABCD +ABCD +1234ABCD +cd1234ABCD +abcd1234AB +4ABCD +4ABCD +1234ABCD +CD +4ABCD +1234ABCD +34ABCD +4ABCD +ABCD +BCD +D +CD +4ABCD +4ABCD +D +1234ABCD +CD +cd1234ABCD +bcd1234ABC +BCD +234ABCD +D +234ABCD +234ABCD +34ABCD +BCD +BCD +CD +cd1234ABCD +CD +4ABCD +cd1234ABCD +abcd1234AB +4ABCD +234ABCD +D +34ABCD +d1234ABCD +D +cd1234ABCD +1234ABCD +234ABCD +234ABCD +bcd1234ABC +234ABCD +d1234ABCD +abcd1234AB +bcd1234ABC +CD +abcd1234AB +CD +cd1234ABCD +cd1234ABCD +d1234ABCD +BCD +4ABCD +abcd1234AB +ABCD +D +cd1234ABCD +1234ABCD +1234ABCD +4ABCD +234ABCD +abcd1234AB +CD +1234ABCD +1234ABCD +ABCD +ABCD +bcd1234ABC +CD +d1234ABCD +abcd1234AB +1234ABCD +234ABCD +D +ABCD +1234ABCD +bcd1234ABC +abcd1234AB +abcd1234AB +abcd1234AB +BCD +d1234ABCD +234ABCD +1234ABCD +D +D +BCD +D +abcd1234AB +abcd1234AB +4ABCD +ABCD +1234ABCD +D +bcd1234ABC +BCD +34ABCD +4ABCD +D +cd1234ABCD +D +bcd1234ABC +34ABCD +bcd1234ABC +d1234ABCD +ABCD +abcd1234AB +ABCD +CD +CD +bcd1234ABC +1234ABCD +4ABCD +34ABCD +4ABCD +4ABCD +BCD +ABCD +cd1234ABCD +34ABCD +1234ABCD +cd1234ABCD +cd1234ABCD +1234ABCD +34ABCD +bcd1234ABC +234ABCD +d1234ABCD +bcd1234ABC +234ABCD +D +34ABCD +4ABCD +d1234ABCD +D +BCD +ABCD +1234ABCD +abcd1234AB +cd1234ABCD +ABCD +1234ABCD +CD +ABCD +1234ABCD +abcd1234AB +ABCD +234ABCD +4ABCD +bcd1234ABC +BCD +abcd1234AB +CD +BCD +d1234ABCD +BCD +D +cd1234ABCD +abcd1234AB +BCD +d1234ABCD +34ABCD +abcd1234AB +CD +34ABCD +d1234ABCD +abcd1234AB +234ABCD +4ABCD +234ABCD +1234ABCD +234ABCD +234ABCD +cd1234ABCD +ABCD +d1234ABCD +34ABCD +4ABCD +234ABCD +34ABCD +BCD +CD +BCD +CD +d1234ABCD +CD +cd1234ABCD +1234ABCD +4ABCD +bcd1234ABC +d1234ABCD +bcd1234ABC +4ABCD +bcd1234ABC +cd1234ABCD +CD +bcd1234ABC +234ABCD +4ABCD +1234ABCD +D +D +abcd1234AB +234ABCD +ABCD +34ABCD +BCD +ABCD +1234ABCD +D +D +bcd1234ABC +34ABCD +CD +34ABCD +d1234ABCD +234ABCD +34ABCD +4ABCD +CD +BCD +cd1234ABCD +abcd1234AB +d1234ABCD +cd1234ABCD +cd1234ABCD +cd1234ABCD +d1234ABCD +bcd1234ABC +bcd1234ABC +d1234ABCD +ABCD +CD +234ABCD +34ABCD +34ABCD +BCD +34ABCD +d1234ABCD +ABCD +4ABCD +34ABCD +cd1234ABCD +D +234ABCD +abcd1234AB +CD +234ABCD +bcd1234ABC +234ABCD +bcd1234ABC +1234ABCD +cd1234ABCD +234ABCD +abcd1234AB +abcd1234AB +BCD +ABCD +d1234ABCD +234ABCD +CD +d1234ABCD +4ABCD +234ABCD +34ABCD +BCD +CD +ABCD +1234ABCD +234ABCD +CD +abcd1234AB +bcd1234ABC +bcd1234ABC +1234ABCD +D +BCD +d1234ABCD +234ABCD +ABCD +ABCD +1234ABCD +34ABCD +bcd1234ABC +d1234ABCD +34ABCD +abcd1234AB +CD +1234ABCD +abcd1234AB +cd1234ABCD +bcd1234ABC +d1234ABCD +1234ABCD +D +4ABCD +34ABCD +BCD +abcd1234AB +34ABCD +ABCD +CD +234ABCD +234ABCD +BCD +cd1234ABCD +ABCD +D +BCD +D +34ABCD +4ABCD +BCD +CD +bcd1234ABC +1234ABCD +d1234ABCD +abcd1234AB +CD +4ABCD +CD +4ABCD +bcd1234ABC +bcd1234ABC +D +1234ABCD +234ABCD +4ABCD +D +cd1234ABCD +bcd1234ABC +cd1234ABCD +34ABCD +BCD +cd1234ABCD +abcd1234AB +D +ABCD +d1234ABCD +cd1234ABCD +CD +D +34ABCD +234ABCD +ABCD +CD +234ABCD +CD +abcd1234AB +CD +CD +234ABCD +D +BCD +CD +BCD +abcd1234AB +D +CD +ABCD +cd1234ABCD +d1234ABCD +BCD +abcd1234AB +4ABCD +234ABCD +1234ABCD +34ABCD +34ABCD +ABCD +34ABCD +BCD +234ABCD +34ABCD +cd1234ABCD +D +34ABCD +abcd1234AB +1234ABCD +d1234ABCD +CD +CD +D +4ABCD +1234ABCD +CD +abcd1234AB +34ABCD +1234ABCD +cd1234ABCD +1234ABCD +234ABCD +1234ABCD +4ABCD +abcd1234AB +d1234ABCD +d1234ABCD +abcd1234AB +abcd1234AB +ABCD +d1234ABCD +1234ABCD +CD +cd1234ABCD +D +bcd1234ABC +CD +cd1234ABCD +D +234ABCD +D +34ABCD +cd1234ABCD +cd1234ABCD +4ABCD +34ABCD +BCD +cd1234ABCD +1234ABCD +bcd1234ABC +D +D +D +D +1234ABCD +abcd1234AB +1234ABCD +234ABCD +abcd1234AB +234ABCD +CD +34ABCD +d1234ABCD +ABCD +4ABCD +4ABCD +abcd1234AB +d1234ABCD +abcd1234AB +CD +CD +bcd1234ABC +1234ABCD +4ABCD +D +CD +abcd1234AB +ABCD +d1234ABCD +d1234ABCD +d1234ABCD +234ABCD +234ABCD +abcd1234AB +abcd1234AB +cd1234ABCD +34ABCD +D +D +cd1234ABCD +CD +34ABCD +d1234ABCD +CD +bcd1234ABC +D +1234ABCD +bcd1234ABC +34ABCD +34ABCD +34ABCD +4ABCD +234ABCD +1234ABCD +d1234ABCD +CD +abcd1234AB +D +D +BCD +d1234ABCD +D +CD +4ABCD +D +ABCD +4ABCD +34ABCD +234ABCD +ABCD +1234ABCD +D +CD +cd1234ABCD +BCD +BCD +34ABCD +bcd1234ABC +d1234ABCD +1234ABCD +234ABCD +d1234ABCD +CD +d1234ABCD +d1234ABCD +bcd1234ABC +abcd1234AB +1234ABCD +ABCD +abcd1234AB +bcd1234ABC +abcd1234AB +BCD +34ABCD +234ABCD +234ABCD +BCD +34ABCD +BCD +bcd1234ABC +34ABCD +34ABCD +d1234ABCD +CD +1234ABCD +abcd1234AB +cd1234ABCD +d1234ABCD +CD +34ABCD +d1234ABCD +BCD +ABCD +cd1234ABCD +4ABCD +ABCD +CD +bcd1234ABC +bcd1234ABC +4ABCD +d1234ABCD +CD +4ABCD +BCD +D +cd1234ABCD +4ABCD +bcd1234ABC +cd1234ABCD +ABCD +1234ABCD +CD +d1234ABCD +4ABCD +4ABCD +CD +abcd1234AB +234ABCD +abcd1234AB +BCD +1234ABCD +bcd1234ABC +234ABCD +cd1234ABCD +d1234ABCD +D +abcd1234AB +BCD +bcd1234ABC +abcd1234AB +bcd1234ABC +ABCD +BCD +cd1234ABCD +ABCD +1234ABCD +234ABCD +bcd1234ABC +abcd1234AB +CD +BCD +ABCD +D +CD +34ABCD +34ABCD +4ABCD +d1234ABCD +abcd1234AB +4ABCD +1234ABCD +4ABCD +ABCD +BCD +cd1234ABCD +cd1234ABCD +d1234ABCD +bcd1234ABC +1234ABCD +34ABCD +d1234ABCD +234ABCD +d1234ABCD +CD +34ABCD +234ABCD +abcd1234AB +bcd1234ABC +34ABCD +234ABCD +d1234ABCD +234ABCD +abcd1234AB +CD +d1234ABCD +CD +abcd1234AB +d1234ABCD +D +cd1234ABCD +4ABCD +ABCD +cd1234ABCD +ABCD +4ABCD +4ABCD +D +BCD +d1234ABCD +1234ABCD +4ABCD +d1234ABCD +CD +34ABCD +234ABCD +bcd1234ABC +34ABCD +ABCD +bcd1234ABC +1234ABCD +BCD +34ABCD +BCD +cd1234ABCD +34ABCD +cd1234ABCD +d1234ABCD +234ABCD +bcd1234ABC +bcd1234ABC +BCD +234ABCD +1234ABCD +d1234ABCD +d1234ABCD +ABCD +1234ABCD +D +ABCD +D +abcd1234AB +abcd1234AB +4ABCD +abcd1234AB +bcd1234ABC +d1234ABCD +bcd1234ABC +234ABCD +cd1234ABCD +CD +234ABCD +4ABCD +CD +abcd1234AB +d1234ABCD +234ABCD +4ABCD +CD +D +D +bcd1234ABC +bcd1234ABC +CD +34ABCD +bcd1234ABC +4ABCD +CD +234ABCD +abcd1234AB +d1234ABCD +abcd1234AB +bcd1234ABC +D +234ABCD +ABCD +34ABCD +abcd1234AB +4ABCD +ABCD +BCD +cd1234ABCD +34ABCD +1234ABCD +ABCD +4ABCD +d1234ABCD +cd1234ABCD +bcd1234ABC +234ABCD +234ABCD +cd1234ABCD +BCD +bcd1234ABC +abcd1234AB +234ABCD +D +1234ABCD +abcd1234AB +abcd1234AB +ABCD +CD +1234ABCD +cd1234ABCD +D +234ABCD +4ABCD +D +4ABCD +abcd1234AB +bcd1234ABC +4ABCD +ABCD +CD +ABCD +4ABCD +d1234ABCD +CD +34ABCD +1234ABCD +4ABCD +4ABCD +234ABCD +D +ABCD +D +CD +234ABCD +1234ABCD +bcd1234ABC +234ABCD +234ABCD +D +4ABCD +d1234ABCD +d1234ABCD +1234ABCD +bcd1234ABC +d1234ABCD +D +D +4ABCD +234ABCD +bcd1234ABC +D +cd1234ABCD +4ABCD +4ABCD +34ABCD +CD +ABCD +234ABCD +34ABCD +d1234ABCD +D +abcd1234AB +ABCD +1234ABCD +abcd1234AB +BCD +CD +cd1234ABCD +bcd1234ABC +D +cd1234ABCD +234ABCD +CD +234ABCD +abcd1234AB +D +abcd1234AB +abcd1234AB +BCD +abcd1234AB +ABCD +bcd1234ABC +d1234ABCD +1234ABCD +abcd1234AB +D +CD +1234ABCD +1234ABCD +abcd1234AB +234ABCD +bcd1234ABC +ABCD +bcd1234ABC +BCD +BCD +BCD +cd1234ABCD +d1234ABCD +4ABCD +d1234ABCD +BCD +CD +4ABCD +D +234ABCD +cd1234ABCD +cd1234ABCD +BCD +abcd1234AB +CD +34ABCD +CD +ABCD +CD +D +bcd1234ABC +cd1234ABCD +BCD +4ABCD +34ABCD +CD +CD +bcd1234ABC +CD +234ABCD +1234ABCD +D +ABCD +D +ABCD +ABCD +abcd1234AB +D +cd1234ABCD +cd1234ABCD +34ABCD +cd1234ABCD +abcd1234AB +abcd1234AB +CD +BCD +BCD +cd1234ABCD +ABCD +D +BCD +abcd1234AB +abcd1234AB +BCD +cd1234ABCD +CD +4ABCD +bcd1234ABC +34ABCD +d1234ABCD +cd1234ABCD +34ABCD +cd1234ABCD +bcd1234ABC +bcd1234ABC +bcd1234ABC +cd1234ABCD +BCD +34ABCD +ABCD +4ABCD +34ABCD +BCD +ABCD +1234ABCD +BCD +4ABCD +34ABCD +abcd1234AB +ABCD +234ABCD +ABCD +bcd1234ABC +cd1234ABCD +BCD +abcd1234AB +d1234ABCD +ABCD +abcd1234AB +234ABCD +D +4ABCD +BCD +abcd1234AB +bcd1234ABC +d1234ABCD +CD +4ABCD +abcd1234AB +bcd1234ABC +abcd1234AB +1234ABCD +4ABCD +cd1234ABCD +4ABCD +abcd1234AB +d1234ABCD +D +abcd1234AB +34ABCD +D +d1234ABCD +ABCD +bcd1234ABC +CD +1234ABCD +BCD +CD +cd1234ABCD +4ABCD +cd1234ABCD +4ABCD +34ABCD +bcd1234ABC +34ABCD +ABCD +4ABCD +1234ABCD +BCD +234ABCD +234ABCD +cd1234ABCD +4ABCD +abcd1234AB +34ABCD +cd1234ABCD +234ABCD +234ABCD +d1234ABCD +cd1234ABCD +d1234ABCD +4ABCD +4ABCD +d1234ABCD +BCD +d1234ABCD +CD +d1234ABCD +cd1234ABCD +234ABCD +34ABCD +D +D +d1234ABCD +abcd1234AB +CD +cd1234ABCD +BCD +CD +D +ABCD +bcd1234ABC +BCD +bcd1234ABC +cd1234ABCD +D +abcd1234AB +CD +abcd1234AB +abcd1234AB +234ABCD +D +abcd1234AB +d1234ABCD +1234ABCD +cd1234ABCD +1234ABCD +1234ABCD +abcd1234AB +CD +BCD +BCD +34ABCD +cd1234ABCD +D +34ABCD +234ABCD +CD +bcd1234ABC +abcd1234AB +bcd1234ABC +D +CD +ABCD +d1234ABCD +BCD +cd1234ABCD +abcd1234AB +D +4ABCD +1234ABCD +234ABCD +34ABCD +bcd1234ABC +bcd1234ABC +bcd1234ABC +D +cd1234ABCD +234ABCD +d1234ABCD +abcd1234AB +cd1234ABCD +D +d1234ABCD +1234ABCD +d1234ABCD +BCD +cd1234ABCD +CD +cd1234ABCD +bcd1234ABC +BCD +BCD +ABCD +D +abcd1234AB +34ABCD +d1234ABCD +1234ABCD +d1234ABCD +CD +34ABCD +1234ABCD +4ABCD +4ABCD +4ABCD +D +BCD +ABCD +BCD +bcd1234ABC +4ABCD +4ABCD +abcd1234AB +1234ABCD +CD +CD +BCD +D +1234ABCD +4ABCD +BCD +ABCD +d1234ABCD +CD +1234ABCD +4ABCD +234ABCD +D +34ABCD +abcd1234AB +cd1234ABCD +4ABCD +4ABCD +34ABCD +cd1234ABCD +BCD +4ABCD +D +1234ABCD +CD +1234ABCD +abcd1234AB +d1234ABCD +234ABCD +34ABCD +d1234ABCD +1234ABCD +1234ABCD +bcd1234ABC +ABCD +4ABCD +cd1234ABCD +CD +cd1234ABCD +abcd1234AB +1234ABCD +bcd1234ABC +bcd1234ABC +abcd1234AB +1234ABCD +34ABCD +D +34ABCD +1234ABCD +cd1234ABCD +abcd1234AB +4ABCD +d1234ABCD +ABCD +BCD +34ABCD +cd1234ABCD +1234ABCD +abcd1234AB +BCD +abcd1234AB +34ABCD +ABCD +ABCD +4ABCD +bcd1234ABC +234ABCD +ABCD +234ABCD +abcd1234AB +cd1234ABCD +4ABCD +cd1234ABCD +abcd1234AB +d1234ABCD +ABCD +234ABCD +CD +234ABCD +34ABCD +d1234ABCD +ABCD +cd1234ABCD +d1234ABCD +D +34ABCD +d1234ABCD +abcd1234AB +bcd1234ABC +cd1234ABCD +34ABCD +cd1234ABCD +1234ABCD +BCD +CD +bcd1234ABC +1234ABCD +D +34ABCD +D +234ABCD +BCD +CD +234ABCD +234ABCD +d1234ABCD +abcd1234AB +34ABCD +34ABCD +BCD +bcd1234ABC +abcd1234AB +1234ABCD +D +BCD +CD +D +abcd1234AB +BCD +4ABCD +234ABCD +1234ABCD +abcd1234AB +D +1234ABCD +ABCD +1234ABCD +34ABCD +ABCD +bcd1234ABC +234ABCD +ABCD +d1234ABCD +1234ABCD +d1234ABCD +34ABCD +d1234ABCD +d1234ABCD +d1234ABCD +34ABCD +D +BCD +CD +1234ABCD +BCD +cd1234ABCD +D +cd1234ABCD +cd1234ABCD +D +cd1234ABCD +d1234ABCD +34ABCD +cd1234ABCD +cd1234ABCD +bcd1234ABC +234ABCD +BCD +ABCD +d1234ABCD +1234ABCD +D +4ABCD +34ABCD +234ABCD +34ABCD +1234ABCD +ABCD +bcd1234ABC +34ABCD +abcd1234AB +d1234ABCD +4ABCD +bcd1234ABC +ABCD +bcd1234ABC +BCD +abcd1234AB +ABCD +BCD +ABCD +CD +d1234ABCD +bcd1234ABC +cd1234ABCD +34ABCD +BCD +D +D +abcd1234AB +bcd1234ABC +1234ABCD +234ABCD +1234ABCD +bcd1234ABC +ABCD +BCD +D +CD +bcd1234ABC +CD +4ABCD +bcd1234ABC +d1234ABCD +cd1234ABCD +bcd1234ABC +d1234ABCD +bcd1234ABC +abcd1234AB +BCD +abcd1234AB +d1234ABCD +34ABCD +BCD +BCD +34ABCD +1234ABCD +BCD +4ABCD +bcd1234ABC +234ABCD +1234ABCD +234ABCD +CD +ABCD +BCD +ABCD +bcd1234ABC +234ABCD +BCD +BCD +BCD +CD +234ABCD +ABCD +34ABCD +34ABCD +4ABCD +34ABCD +bcd1234ABC +abcd1234AB +d1234ABCD +D +1234ABCD +D +BCD +4ABCD +4ABCD +abcd1234AB +bcd1234ABC +34ABCD +cd1234ABCD +abcd1234AB +BCD +234ABCD +234ABCD +abcd1234AB +bcd1234ABC +cd1234ABCD +ABCD +34ABCD +1234ABCD +4ABCD +BCD +34ABCD +bcd1234ABC +1234ABCD +cd1234ABCD +D +abcd1234AB +234ABCD +CD +CD +BCD +CD +D +bcd1234ABC +1234ABCD +234ABCD +bcd1234ABC +34ABCD +D +cd1234ABCD +4ABCD +cd1234ABCD +ABCD +1234ABCD +abcd1234AB +234ABCD +4ABCD +d1234ABCD +BCD +cd1234ABCD +ABCD +BCD +ABCD +1234ABCD +cd1234ABCD +D +1234ABCD +4ABCD +D +cd1234ABCD +34ABCD +D +cd1234ABCD +34ABCD +CD +abcd1234AB +D +234ABCD +1234ABCD +bcd1234ABC +bcd1234ABC +ABCD +abcd1234AB +BCD +d1234ABCD +ABCD +234ABCD +1234ABCD +d1234ABCD +d1234ABCD +ABCD +CD +234ABCD +cd1234ABCD +1234ABCD +abcd1234AB +1234ABCD +CD +1234ABCD +234ABCD +D +cd1234ABCD +ABCD +abcd1234AB +234ABCD +234ABCD +cd1234ABCD +CD +bcd1234ABC +234ABCD +34ABCD +d1234ABCD +ABCD +4ABCD +ABCD +234ABCD +34ABCD +bcd1234ABC +bcd1234ABC +1234ABCD +bcd1234ABC +BCD +d1234ABCD +4ABCD +1234ABCD +ABCD +D +4ABCD +4ABCD +ABCD +CD +D +abcd1234AB +d1234ABCD +cd1234ABCD +BCD +d1234ABCD +ABCD +4ABCD +234ABCD +d1234ABCD +ABCD +ABCD +CD +bcd1234ABC +bcd1234ABC +d1234ABCD +bcd1234ABC +cd1234ABCD +234ABCD +BCD +ABCD +34ABCD +bcd1234ABC +BCD +bcd1234ABC +ABCD +1234ABCD +234ABCD +bcd1234ABC +bcd1234ABC +abcd1234AB +cd1234ABCD +ABCD +4ABCD +234ABCD +abcd1234AB +234ABCD +D +234ABCD +ABCD +cd1234ABCD +34ABCD +bcd1234ABC +ABCD +d1234ABCD +d1234ABCD +1234ABCD +cd1234ABCD +D +1234ABCD +d1234ABCD +1234ABCD +CD +34ABCD +34ABCD +234ABCD +CD +D +1234ABCD +D +D +d1234ABCD +d1234ABCD +cd1234ABCD +cd1234ABCD +d1234ABCD +1234ABCD +234ABCD +bcd1234ABC +1234ABCD +CD +abcd1234AB +ABCD +ABCD +cd1234ABCD +d1234ABCD +bcd1234ABC +1234ABCD +ABCD +BCD +BCD +BCD +ABCD +CD +D +234ABCD +234ABCD +4ABCD +D +234ABCD +1234ABCD +ABCD +1234ABCD +abcd1234AB +d1234ABCD +d1234ABCD +cd1234ABCD +234ABCD +4ABCD +34ABCD +cd1234ABCD +34ABCD +cd1234ABCD +cd1234ABCD +1234ABCD +4ABCD +CD +34ABCD +1234ABCD +234ABCD +CD +34ABCD +234ABCD +CD +CD +1234ABCD +CD +d1234ABCD +ABCD +ABCD +34ABCD +234ABCD +234ABCD +cd1234ABCD +d1234ABCD +BCD +bcd1234ABC +abcd1234AB +34ABCD +cd1234ABCD +CD +ABCD +234ABCD +d1234ABCD +34ABCD +D +BCD +bcd1234ABC +34ABCD +bcd1234ABC +bcd1234ABC +cd1234ABCD +D +CD +d1234ABCD +abcd1234AB +234ABCD +bcd1234ABC +d1234ABCD +ABCD +D +BCD +34ABCD +abcd1234AB +D +BCD +4ABCD +bcd1234ABC +4ABCD +4ABCD +CD +4ABCD +D +bcd1234ABC +BCD +1234ABCD +4ABCD +D +d1234ABCD +1234ABCD +bcd1234ABC +abcd1234AB +cd1234ABCD +bcd1234ABC +34ABCD +4ABCD +ABCD +D +BCD +d1234ABCD +cd1234ABCD +234ABCD +BCD +ABCD +34ABCD +D +4ABCD +4ABCD +d1234ABCD +abcd1234AB +1234ABCD +ABCD +4ABCD +4ABCD +1234ABCD +234ABCD +4ABCD +CD +CD +1234ABCD +D +234ABCD +234ABCD +34ABCD +d1234ABCD +D +CD +234ABCD +234ABCD +234ABCD +4ABCD +34ABCD +d1234ABCD +D +234ABCD +1234ABCD +34ABCD +4ABCD +d1234ABCD +ABCD +BCD +abcd1234AB +34ABCD +abcd1234AB +CD +cd1234ABCD +BCD +abcd1234AB +BCD +d1234ABCD +BCD +bcd1234ABC +234ABCD +CD +CD +abcd1234AB +34ABCD +4ABCD +1234ABCD +34ABCD +D +234ABCD +D +BCD +abcd1234AB +234ABCD +4ABCD +bcd1234ABC +cd1234ABCD +CD +34ABCD +bcd1234ABC +BCD +abcd1234AB +CD +34ABCD +bcd1234ABC +1234ABCD +4ABCD +234ABCD +BCD +34ABCD +D +BCD +d1234ABCD +cd1234ABCD +ABCD +cd1234ABCD +abcd1234AB +ABCD +ABCD +bcd1234ABC +cd1234ABCD +4ABCD +cd1234ABCD +cd1234ABCD +d1234ABCD +D +BCD +d1234ABCD +d1234ABCD +bcd1234ABC +D +34ABCD +CD +234ABCD +d1234ABCD +bcd1234ABC +D +BCD +ABCD +BCD +34ABCD +d1234ABCD +1234ABCD +34ABCD +abcd1234AB +d1234ABCD +4ABCD +D +CD +BCD +d1234ABCD +234ABCD +d1234ABCD +1234ABCD +abcd1234AB +D +BCD +4ABCD +cd1234ABCD +CD +abcd1234AB +ABCD +cd1234ABCD +234ABCD +D +BCD +4ABCD +234ABCD +abcd1234AB +4ABCD +BCD +CD +abcd1234AB +cd1234ABCD +ABCD +34ABCD +ABCD +bcd1234ABC +bcd1234ABC +cd1234ABCD +1234ABCD +bcd1234ABC +d1234ABCD +34ABCD +4ABCD +234ABCD +4ABCD +d1234ABCD +bcd1234ABC +34ABCD +BCD +cd1234ABCD +CD +234ABCD +CD +1234ABCD +d1234ABCD +D +CD +bcd1234ABC +bcd1234ABC +ABCD +ABCD +cd1234ABCD +bcd1234ABC +234ABCD +BCD +BCD +4ABCD +ABCD +34ABCD +bcd1234ABC +d1234ABCD +abcd1234AB +abcd1234AB +abcd1234AB +d1234ABCD +34ABCD +1234ABCD +cd1234ABCD +1234ABCD +4ABCD +1234ABCD +d1234ABCD +CD +d1234ABCD +1234ABCD +CD +cd1234ABCD +cd1234ABCD +bcd1234ABC +BCD +D +CD +234ABCD +abcd1234AB +34ABCD +234ABCD +bcd1234ABC +CD +1234ABCD +d1234ABCD +34ABCD +1234ABCD +234ABCD +CD +BCD +bcd1234ABC +4ABCD +abcd1234AB +d1234ABCD +cd1234ABCD +234ABCD +CD +1234ABCD +ABCD +ABCD +34ABCD +cd1234ABCD +D +abcd1234AB +D +BCD +ABCD +1234ABCD +bcd1234ABC +4ABCD +1234ABCD +d1234ABCD +bcd1234ABC +1234ABCD +cd1234ABCD +cd1234ABCD +d1234ABCD +d1234ABCD +1234ABCD +CD +cd1234ABCD +cd1234ABCD +D +cd1234ABCD +BCD +BCD +BCD +1234ABCD +cd1234ABCD +ABCD +4ABCD +4ABCD +bcd1234ABC +1234ABCD +D +D +bcd1234ABC +234ABCD +ABCD +234ABCD +abcd1234AB +CD +d1234ABCD +abcd1234AB +BCD +234ABCD +34ABCD +34ABCD +D +d1234ABCD +234ABCD +1234ABCD +4ABCD +abcd1234AB +234ABCD +234ABCD +abcd1234AB +bcd1234ABC +d1234ABCD +d1234ABCD +D +bcd1234ABC +ABCD +bcd1234ABC +1234ABCD +4ABCD +bcd1234ABC +bcd1234ABC +abcd1234AB +bcd1234ABC +bcd1234ABC +d1234ABCD +234ABCD +1234ABCD +34ABCD +bcd1234ABC +abcd1234AB +d1234ABCD +BCD +d1234ABCD +34ABCD +d1234ABCD +CD +d1234ABCD +34ABCD +4ABCD +cd1234ABCD +BCD +CD +CD +ABCD +D +34ABCD +4ABCD +1234ABCD +CD +D +d1234ABCD +34ABCD +234ABCD +d1234ABCD +ABCD +34ABCD +34ABCD +abcd1234AB +234ABCD +4ABCD +BCD +bcd1234ABC +234ABCD +bcd1234ABC +BCD +34ABCD +CD +ABCD +CD +D +ABCD +1234ABCD +34ABCD +abcd1234AB +BCD +34ABCD +234ABCD +CD +4ABCD +4ABCD +d1234ABCD +d1234ABCD +abcd1234AB +d1234ABCD +1234ABCD +abcd1234AB +4ABCD +bcd1234ABC +bcd1234ABC +abcd1234AB +bcd1234ABC +4ABCD +bcd1234ABC +bcd1234ABC +CD +BCD +4ABCD +234ABCD +BCD +BCD +1234ABCD +d1234ABCD +1234ABCD +d1234ABCD +CD +1234ABCD +34ABCD +d1234ABCD +34ABCD +ABCD +CD +1234ABCD +abcd1234AB +D +d1234ABCD +bcd1234ABC +abcd1234AB +abcd1234AB +1234ABCD +D +D +D +abcd1234AB +1234ABCD +D +D +d1234ABCD +34ABCD +CD +34ABCD +34ABCD +CD +34ABCD +abcd1234AB +bcd1234ABC +d1234ABCD +bcd1234ABC +cd1234ABCD +abcd1234AB +1234ABCD +234ABCD +ABCD +abcd1234AB +BCD +D +BCD +234ABCD +abcd1234AB +ABCD +234ABCD +BCD +CD +4ABCD +4ABCD +BCD +bcd1234ABC +abcd1234AB +abcd1234AB +bcd1234ABC +abcd1234AB +bcd1234ABC +cd1234ABCD +34ABCD +234ABCD +abcd1234AB +CD +d1234ABCD +abcd1234AB +CD +ABCD +bcd1234ABC +cd1234ABCD +CD +1234ABCD +cd1234ABCD +D +1234ABCD +4ABCD +abcd1234AB +cd1234ABCD +BCD +1234ABCD +1234ABCD +1234ABCD +4ABCD +CD +234ABCD +D +bcd1234ABC +D +BCD +4ABCD +34ABCD +d1234ABCD +1234ABCD +D +CD +d1234ABCD +1234ABCD +ABCD +ABCD +34ABCD +ABCD +CD +ABCD +cd1234ABCD +34ABCD +abcd1234AB +4ABCD +D +CD +bcd1234ABC +abcd1234AB +d1234ABCD +234ABCD +bcd1234ABC +CD +cd1234ABCD +abcd1234AB +d1234ABCD +bcd1234ABC +4ABCD +D +abcd1234AB +bcd1234ABC +234ABCD +bcd1234ABC +4ABCD +34ABCD +BCD +234ABCD +34ABCD +abcd1234AB +cd1234ABCD +BCD +BCD +BCD +1234ABCD +BCD +CD +D +1234ABCD +d1234ABCD +ABCD +BCD +1234ABCD +D +34ABCD +1234ABCD +D +CD +abcd1234AB +D +ABCD +cd1234ABCD +234ABCD +ABCD +bcd1234ABC +BCD +abcd1234AB +4ABCD +bcd1234ABC +D +d1234ABCD +BCD +BCD +4ABCD +d1234ABCD +abcd1234AB +d1234ABCD +d1234ABCD +cd1234ABCD +d1234ABCD +ABCD +234ABCD +ABCD +1234ABCD +abcd1234AB +bcd1234ABC +D +234ABCD +1234ABCD +234ABCD +1234ABCD +cd1234ABCD +234ABCD +ABCD +1234ABCD +34ABCD +abcd1234AB +34ABCD +1234ABCD +d1234ABCD +d1234ABCD +ABCD +34ABCD +1234ABCD +BCD +1234ABCD +4ABCD +cd1234ABCD +234ABCD +d1234ABCD +bcd1234ABC +CD +234ABCD +ABCD +BCD +BCD +1234ABCD +D +BCD +ABCD +234ABCD +cd1234ABCD +D +4ABCD +1234ABCD +34ABCD +D +4ABCD +bcd1234ABC +34ABCD +BCD +CD +234ABCD +D +cd1234ABCD +CD +4ABCD +4ABCD +234ABCD +bcd1234ABC +4ABCD +1234ABCD +CD +234ABCD +234ABCD +CD +ABCD +CD +d1234ABCD +34ABCD +D +abcd1234AB +bcd1234ABC +34ABCD +CD +234ABCD +1234ABCD +D +4ABCD +1234ABCD +234ABCD +BCD +34ABCD +BCD +CD +34ABCD +cd1234ABCD +234ABCD +4ABCD +4ABCD +CD +1234ABCD +BCD +34ABCD +CD +abcd1234AB +d1234ABCD +BCD +BCD +BCD +4ABCD +ABCD +BCD +cd1234ABCD +4ABCD +234ABCD +D +cd1234ABCD +cd1234ABCD +234ABCD +cd1234ABCD +d1234ABCD +BCD +abcd1234AB +bcd1234ABC +34ABCD +CD +cd1234ABCD +234ABCD +bcd1234ABC +D +d1234ABCD +34ABCD +CD +4ABCD +34ABCD +BCD +BCD +234ABCD +BCD +BCD +cd1234ABCD +BCD +ABCD +bcd1234ABC +CD +ABCD +D +ABCD +D +CD +1234ABCD +BCD +34ABCD +abcd1234AB +abcd1234AB +BCD +34ABCD +D +ABCD +4ABCD +BCD +abcd1234AB +234ABCD +cd1234ABCD +CD +D +4ABCD +cd1234ABCD +ABCD +CD +D +cd1234ABCD +cd1234ABCD +CD +1234ABCD +ABCD +bcd1234ABC +4ABCD +BCD +4ABCD +bcd1234ABC +abcd1234AB +BCD +abcd1234AB +1234ABCD +ABCD +234ABCD +1234ABCD +abcd1234AB +34ABCD +d1234ABCD +ABCD +4ABCD +ABCD +abcd1234AB +1234ABCD +bcd1234ABC +1234ABCD +D +bcd1234ABC +abcd1234AB +cd1234ABCD +D +abcd1234AB +d1234ABCD +34ABCD +abcd1234AB +ABCD +BCD +bcd1234ABC +CD +d1234ABCD +4ABCD +abcd1234AB +1234ABCD +BCD +ABCD +CD +abcd1234AB +cd1234ABCD +bcd1234ABC +1234ABCD +ABCD +4ABCD +BCD +CD +BCD +234ABCD +CD +BCD +BCD +ABCD +cd1234ABCD +cd1234ABCD +d1234ABCD +34ABCD +abcd1234AB +1234ABCD +4ABCD +4ABCD +34ABCD +34ABCD +234ABCD +d1234ABCD +abcd1234AB +234ABCD +4ABCD +d1234ABCD +CD +234ABCD +4ABCD +CD +4ABCD +BCD +1234ABCD +d1234ABCD +abcd1234AB +1234ABCD +1234ABCD +CD +234ABCD +CD +abcd1234AB +1234ABCD +234ABCD +4ABCD +34ABCD +D +34ABCD +4ABCD +34ABCD +cd1234ABCD +cd1234ABCD +bcd1234ABC +234ABCD +1234ABCD +1234ABCD +4ABCD +1234ABCD +cd1234ABCD +34ABCD +34ABCD +CD +4ABCD +D +ABCD +bcd1234ABC +4ABCD +ABCD +abcd1234AB +cd1234ABCD +ABCD +cd1234ABCD +bcd1234ABC +BCD +BCD +BCD +BCD +D +cd1234ABCD +4ABCD +bcd1234ABC +ABCD +ABCD +D +d1234ABCD +234ABCD +cd1234ABCD +d1234ABCD +BCD +BCD +ABCD +cd1234ABCD +CD +234ABCD +abcd1234AB +d1234ABCD +abcd1234AB +d1234ABCD +34ABCD +D +BCD +bcd1234ABC +4ABCD +1234ABCD +d1234ABCD +4ABCD +D +cd1234ABCD +1234ABCD +234ABCD +ABCD +234ABCD +BCD +abcd1234AB +bcd1234ABC +ABCD +4ABCD +abcd1234AB +bcd1234ABC +abcd1234AB +abcd1234AB +abcd1234AB +4ABCD +234ABCD +4ABCD +abcd1234AB +ABCD +ABCD +d1234ABCD +ABCD +1234ABCD +CD +CD +bcd1234ABC +abcd1234AB +34ABCD +1234ABCD +ABCD +34ABCD +abcd1234AB +ABCD +cd1234ABCD +4ABCD +CD +CD +34ABCD +1234ABCD +4ABCD +CD +ABCD +bcd1234ABC +CD +1234ABCD +bcd1234ABC +d1234ABCD +D +234ABCD +34ABCD +234ABCD +CD +BCD +1234ABCD +BCD +1234ABCD +BCD +bcd1234ABC +CD +1234ABCD +34ABCD +34ABCD +D +CD +CD +d1234ABCD +CD +34ABCD +1234ABCD +cd1234ABCD +234ABCD +CD +abcd1234AB +BCD +BCD +cd1234ABCD +234ABCD +d1234ABCD +234ABCD +cd1234ABCD +CD +bcd1234ABC +D +D +d1234ABCD +4ABCD +D +1234ABCD +BCD +D +D +BCD +bcd1234ABC +34ABCD +34ABCD +234ABCD +d1234ABCD +D +4ABCD +abcd1234AB +d1234ABCD +d1234ABCD +BCD +BCD +34ABCD +cd1234ABCD +d1234ABCD +ABCD +d1234ABCD +bcd1234ABC +CD +ABCD +D +1234ABCD +4ABCD +234ABCD +BCD +CD +4ABCD +BCD +34ABCD +34ABCD +CD +34ABCD +34ABCD +abcd1234AB +cd1234ABCD +34ABCD +cd1234ABCD +34ABCD +CD +1234ABCD +BCD +4ABCD +CD +CD +1234ABCD +34ABCD +bcd1234ABC +CD +234ABCD +bcd1234ABC +abcd1234AB +ABCD +ABCD +D +CD +1234ABCD +BCD +BCD +D +CD +234ABCD +4ABCD +CD +1234ABCD +234ABCD +bcd1234ABC +cd1234ABCD +34ABCD +1234ABCD +D +4ABCD +bcd1234ABC +234ABCD +cd1234ABCD +34ABCD +234ABCD +bcd1234ABC +1234ABCD +cd1234ABCD +4ABCD +BCD +ABCD +4ABCD +abcd1234AB +CD +234ABCD +234ABCD +abcd1234AB +4ABCD +34ABCD +abcd1234AB +ABCD +D +34ABCD +234ABCD +bcd1234ABC +34ABCD +ABCD +234ABCD +cd1234ABCD +CD +d1234ABCD +abcd1234AB +34ABCD +1234ABCD +34ABCD +cd1234ABCD +34ABCD +1234ABCD +bcd1234ABC +CD +234ABCD +bcd1234ABC +BCD +234ABCD +ABCD +abcd1234AB +bcd1234ABC +CD +cd1234ABCD +4ABCD +1234ABCD +CD +CD +abcd1234AB +abcd1234AB +d1234ABCD +4ABCD +BCD +CD +CD +CD +BCD +abcd1234AB +cd1234ABCD +cd1234ABCD +BCD +bcd1234ABC +1234ABCD +abcd1234AB +4ABCD +4ABCD +4ABCD +ABCD +ABCD +abcd1234AB +234ABCD +d1234ABCD +34ABCD +34ABCD +D +BCD +d1234ABCD +4ABCD +1234ABCD +ABCD +abcd1234AB +abcd1234AB +1234ABCD +cd1234ABCD +1234ABCD +D +34ABCD +34ABCD +BCD +abcd1234AB +234ABCD +4ABCD +34ABCD +abcd1234AB +BCD +234ABCD +CD +D +d1234ABCD +234ABCD +abcd1234AB +bcd1234ABC +1234ABCD +4ABCD +cd1234ABCD +4ABCD +d1234ABCD +234ABCD +D +bcd1234ABC +D +BCD +ABCD +d1234ABCD +4ABCD +234ABCD +BCD +34ABCD +234ABCD +CD +ABCD +cd1234ABCD +cd1234ABCD +d1234ABCD +D +ABCD +cd1234ABCD +234ABCD +bcd1234ABC +4ABCD +4ABCD +d1234ABCD +bcd1234ABC +4ABCD +CD +ABCD +CD +D +BCD +ABCD +CD +cd1234ABCD +34ABCD +D +4ABCD +4ABCD +234ABCD +D +BCD +d1234ABCD +1234ABCD +4ABCD +CD +1234ABCD +d1234ABCD +BCD +ABCD +cd1234ABCD +BCD +CD +bcd1234ABC +D +234ABCD +1234ABCD +cd1234ABCD +ABCD +bcd1234ABC +abcd1234AB +CD +1234ABCD +234ABCD +ABCD +bcd1234ABC +ABCD +CD +4ABCD +1234ABCD +234ABCD +1234ABCD +34ABCD +4ABCD +4ABCD +ABCD +d1234ABCD +234ABCD +cd1234ABCD +d1234ABCD +ABCD +4ABCD +abcd1234AB +ABCD +d1234ABCD +abcd1234AB +ABCD +CD +CD +D +ABCD +abcd1234AB +BCD +d1234ABCD +34ABCD +1234ABCD +234ABCD +abcd1234AB +abcd1234AB +ABCD +234ABCD +34ABCD +ABCD +CD +D +4ABCD +1234ABCD +cd1234ABCD +BCD +4ABCD +abcd1234AB +cd1234ABCD +BCD +CD +cd1234ABCD +d1234ABCD +4ABCD +ABCD +cd1234ABCD +1234ABCD +CD +4ABCD +1234ABCD +D +ABCD +cd1234ABCD +ABCD +BCD +CD +abcd1234AB +cd1234ABCD +ABCD +abcd1234AB +4ABCD +CD +4ABCD +cd1234ABCD +d1234ABCD +34ABCD +cd1234ABCD +ABCD +34ABCD +abcd1234AB +234ABCD +bcd1234ABC +34ABCD +34ABCD +D +ABCD +cd1234ABCD +D +D +4ABCD +ABCD +1234ABCD +34ABCD +bcd1234ABC +CD +34ABCD +1234ABCD +4ABCD +34ABCD +CD +CD +ABCD +1234ABCD +4ABCD +d1234ABCD +1234ABCD +cd1234ABCD +D +34ABCD +bcd1234ABC +cd1234ABCD +abcd1234AB +4ABCD +d1234ABCD +bcd1234ABC +ABCD +1234ABCD +1234ABCD +d1234ABCD +234ABCD +d1234ABCD +CD +1234ABCD +ABCD +d1234ABCD +D +34ABCD +BCD +abcd1234AB +ABCD +D +ABCD +bcd1234ABC +D +34ABCD +234ABCD +34ABCD +4ABCD +abcd1234AB +ABCD +234ABCD +abcd1234AB +ABCD +d1234ABCD +cd1234ABCD +ABCD +34ABCD +BCD +34ABCD +BCD +bcd1234ABC +cd1234ABCD +ABCD +d1234ABCD +BCD +ABCD +ABCD +1234ABCD +ABCD +d1234ABCD +BCD +BCD +34ABCD +34ABCD +234ABCD +d1234ABCD +CD +ABCD +CD +D +D +4ABCD +ABCD +d1234ABCD +abcd1234AB +234ABCD +234ABCD +ABCD +34ABCD +CD +cd1234ABCD +d1234ABCD +abcd1234AB +d1234ABCD +cd1234ABCD +bcd1234ABC +234ABCD +ABCD +ABCD +cd1234ABCD +D +1234ABCD +d1234ABCD +CD +D +234ABCD +34ABCD +bcd1234ABC +1234ABCD +bcd1234ABC +34ABCD +ABCD +CD +CD +CD +34ABCD +4ABCD +BCD +D +bcd1234ABC +1234ABCD +cd1234ABCD +1234ABCD +abcd1234AB +1234ABCD +BCD +abcd1234AB +CD +1234ABCD +abcd1234AB +abcd1234AB +ABCD +ABCD +abcd1234AB +34ABCD +1234ABCD +234ABCD +ABCD +1234ABCD +bcd1234ABC +abcd1234AB +CD +4ABCD +4ABCD +1234ABCD +abcd1234AB +D +d1234ABCD +4ABCD +CD +d1234ABCD +ABCD +4ABCD +bcd1234ABC +bcd1234ABC +d1234ABCD +cd1234ABCD +d1234ABCD +D +D +BCD +1234ABCD +34ABCD +abcd1234AB +abcd1234AB +BCD +bcd1234ABC +D +1234ABCD +4ABCD +cd1234ABCD +CD +d1234ABCD +d1234ABCD +234ABCD +4ABCD +ABCD +ABCD +d1234ABCD +abcd1234AB +D +abcd1234AB +34ABCD +ABCD +ABCD +d1234ABCD +234ABCD +bcd1234ABC +cd1234ABCD +d1234ABCD +d1234ABCD +BCD +4ABCD +34ABCD +BCD +4ABCD +cd1234ABCD +CD +d1234ABCD +4ABCD +cd1234ABCD +ABCD +bcd1234ABC +D +bcd1234ABC +BCD +D +abcd1234AB +4ABCD +ABCD +34ABCD +CD +D +d1234ABCD +abcd1234AB +cd1234ABCD +d1234ABCD +d1234ABCD +234ABCD +BCD +ABCD +34ABCD +234ABCD +CD +cd1234ABCD +234ABCD +D +D +D +BCD +ABCD +1234ABCD +abcd1234AB +CD +abcd1234AB +1234ABCD +D +BCD +cd1234ABCD +d1234ABCD +bcd1234ABC +d1234ABCD +CD +34ABCD +abcd1234AB +4ABCD +cd1234ABCD +234ABCD +BCD +cd1234ABCD +34ABCD +d1234ABCD +d1234ABCD +bcd1234ABC +cd1234ABCD +bcd1234ABC +D +CD +abcd1234AB +1234ABCD +cd1234ABCD +34ABCD +1234ABCD +bcd1234ABC +D +34ABCD +234ABCD +34ABCD +abcd1234AB +ABCD +d1234ABCD +D +BCD +D +BCD +ABCD +bcd1234ABC +4ABCD +34ABCD +4ABCD +234ABCD +4ABCD +abcd1234AB +D +4ABCD +D +cd1234ABCD +cd1234ABCD +CD +BCD +d1234ABCD +1234ABCD +bcd1234ABC +d1234ABCD +D +D +234ABCD +ABCD +d1234ABCD +cd1234ABCD +ABCD +1234ABCD +cd1234ABCD +CD +d1234ABCD +34ABCD +D +1234ABCD +abcd1234AB +D +BCD +34ABCD +bcd1234ABC +bcd1234ABC +bcd1234ABC +D +bcd1234ABC +1234ABCD +d1234ABCD +abcd1234AB +BCD +4ABCD +BCD +CD +BCD +cd1234ABCD +cd1234ABCD +bcd1234ABC +CD +4ABCD +d1234ABCD +bcd1234ABC +BCD +1234ABCD +234ABCD +34ABCD +d1234ABCD +bcd1234ABC +234ABCD +CD +234ABCD +BCD +bcd1234ABC +234ABCD +ABCD +34ABCD +cd1234ABCD +1234ABCD +34ABCD +BCD +abcd1234AB +d1234ABCD +BCD +BCD +ABCD +abcd1234AB +CD +BCD +cd1234ABCD +ABCD +cd1234ABCD +d1234ABCD +cd1234ABCD +d1234ABCD +d1234ABCD +bcd1234ABC +1234ABCD +cd1234ABCD +4ABCD +D +234ABCD +234ABCD +34ABCD +D +CD +ABCD +234ABCD +234ABCD +234ABCD +1234ABCD +abcd1234AB +4ABCD +d1234ABCD +234ABCD +1234ABCD +34ABCD +D +1234ABCD +bcd1234ABC +bcd1234ABC +ABCD +234ABCD +CD +bcd1234ABC +BCD +CD +1234ABCD +abcd1234AB +ABCD +ABCD +abcd1234AB +34ABCD +234ABCD +CD +D +d1234ABCD +34ABCD +ABCD +cd1234ABCD +CD +234ABCD +CD +234ABCD +D +bcd1234ABC +1234ABCD +234ABCD +cd1234ABCD +d1234ABCD +D +CD +BCD +d1234ABCD +234ABCD +D +cd1234ABCD +34ABCD +d1234ABCD +4ABCD +4ABCD +4ABCD +bcd1234ABC +1234ABCD +D +D +ABCD +bcd1234ABC +ABCD +ABCD +D +cd1234ABCD +cd1234ABCD +CD +D +1234ABCD +234ABCD +34ABCD +1234ABCD +4ABCD +abcd1234AB +D +d1234ABCD +bcd1234ABC +4ABCD +abcd1234AB +bcd1234ABC +1234ABCD +bcd1234ABC +abcd1234AB +bcd1234ABC +34ABCD +4ABCD +d1234ABCD +D +abcd1234AB +D +234ABCD +4ABCD +ABCD +abcd1234AB +cd1234ABCD +bcd1234ABC +abcd1234AB +abcd1234AB +4ABCD +34ABCD +d1234ABCD +cd1234ABCD +34ABCD +d1234ABCD +234ABCD +34ABCD +CD +CD +CD +34ABCD +1234ABCD +D +4ABCD +bcd1234ABC +ABCD +D +BCD +cd1234ABCD +1234ABCD +D +cd1234ABCD +bcd1234ABC +4ABCD +d1234ABCD +1234ABCD +cd1234ABCD +d1234ABCD +cd1234ABCD +cd1234ABCD +1234ABCD +CD +234ABCD +cd1234ABCD +CD +BCD +4ABCD +ABCD +ABCD +1234ABCD +BCD +CD +bcd1234ABC +CD +bcd1234ABC +1234ABCD +4ABCD +ABCD +CD +1234ABCD +1234ABCD +1234ABCD +4ABCD +BCD +d1234ABCD +234ABCD +BCD +ABCD +D +d1234ABCD +234ABCD +34ABCD +abcd1234AB +D +234ABCD +CD +cd1234ABCD +34ABCD +d1234ABCD +abcd1234AB +cd1234ABCD +234ABCD +abcd1234AB +BCD +abcd1234AB +d1234ABCD +4ABCD +4ABCD +CD +234ABCD +1234ABCD +1234ABCD +ABCD +34ABCD +34ABCD +CD +1234ABCD +CD +234ABCD +cd1234ABCD +CD +34ABCD +abcd1234AB +CD +34ABCD +D +abcd1234AB +ABCD +CD +bcd1234ABC +ABCD +CD +D +ABCD +ABCD +1234ABCD +234ABCD +abcd1234AB +4ABCD +d1234ABCD +cd1234ABCD +BCD +D +D +1234ABCD +1234ABCD +d1234ABCD +CD +BCD +1234ABCD +1234ABCD +cd1234ABCD +D +4ABCD +4ABCD +1234ABCD +ABCD +34ABCD +cd1234ABCD +BCD +CD +bcd1234ABC +bcd1234ABC +d1234ABCD +CD +bcd1234ABC +bcd1234ABC +4ABCD +D +bcd1234ABC +4ABCD +D +bcd1234ABC +cd1234ABCD +abcd1234AB +abcd1234AB +234ABCD +34ABCD +cd1234ABCD +d1234ABCD +d1234ABCD +D +1234ABCD +CD +4ABCD +CD +BCD +BCD +bcd1234ABC +ABCD +ABCD +34ABCD +d1234ABCD +CD +bcd1234ABC +4ABCD +4ABCD +cd1234ABCD +D +d1234ABCD +BCD +34ABCD +BCD +d1234ABCD +ABCD +4ABCD +1234ABCD +1234ABCD +bcd1234ABC +34ABCD +cd1234ABCD +D +ABCD +34ABCD +CD +d1234ABCD +234ABCD +34ABCD +D +D +34ABCD +4ABCD +ABCD +BCD +234ABCD +d1234ABCD +D +cd1234ABCD +BCD +234ABCD +1234ABCD +234ABCD +234ABCD +1234ABCD +cd1234ABCD +4ABCD +bcd1234ABC +d1234ABCD +abcd1234AB +d1234ABCD +D +abcd1234AB +ABCD +1234ABCD +D +abcd1234AB +CD +34ABCD +abcd1234AB +D +abcd1234AB +4ABCD +d1234ABCD +234ABCD +cd1234ABCD +1234ABCD +ABCD +CD +4ABCD +cd1234ABCD +bcd1234ABC +ABCD +d1234ABCD +cd1234ABCD +D +cd1234ABCD +cd1234ABCD +234ABCD +CD +abcd1234AB +1234ABCD +BCD +BCD +34ABCD +4ABCD +ABCD +1234ABCD +abcd1234AB +234ABCD +1234ABCD +cd1234ABCD +CD +4ABCD +ABCD +4ABCD +cd1234ABCD +abcd1234AB +bcd1234ABC +1234ABCD +4ABCD +cd1234ABCD +4ABCD +abcd1234AB +cd1234ABCD +4ABCD +1234ABCD +4ABCD +bcd1234ABC +ABCD +234ABCD +bcd1234ABC +234ABCD +BCD +d1234ABCD +abcd1234AB +cd1234ABCD +ABCD +D +abcd1234AB +BCD +34ABCD +abcd1234AB +234ABCD +1234ABCD +abcd1234AB +d1234ABCD +d1234ABCD +cd1234ABCD +CD +34ABCD +4ABCD +cd1234ABCD +234ABCD +ABCD +cd1234ABCD +CD +D +D +4ABCD +34ABCD +1234ABCD +BCD +ABCD +d1234ABCD +4ABCD +cd1234ABCD +1234ABCD +1234ABCD +234ABCD +bcd1234ABC +cd1234ABCD +ABCD +cd1234ABCD +1234ABCD +4ABCD +1234ABCD +abcd1234AB +1234ABCD +cd1234ABCD +D +CD +D +4ABCD +234ABCD +bcd1234ABC +CD +4ABCD +1234ABCD +D +cd1234ABCD +BCD +ABCD +cd1234ABCD +ABCD +D +bcd1234ABC +BCD +234ABCD +4ABCD +1234ABCD +bcd1234ABC +cd1234ABCD +ABCD +34ABCD +ABCD +CD +1234ABCD +ABCD +CD +34ABCD +BCD +234ABCD +ABCD +BCD +34ABCD +BCD +d1234ABCD +d1234ABCD +bcd1234ABC +ABCD +4ABCD +abcd1234AB +bcd1234ABC +4ABCD +ABCD +1234ABCD +bcd1234ABC +D +CD +d1234ABCD +D +cd1234ABCD +CD +bcd1234ABC +cd1234ABCD +d1234ABCD +234ABCD +cd1234ABCD +BCD +d1234ABCD +ABCD +abcd1234AB +BCD +34ABCD +234ABCD +abcd1234AB +d1234ABCD +BCD +abcd1234AB +d1234ABCD +4ABCD +1234ABCD +34ABCD +abcd1234AB +CD +234ABCD +abcd1234AB +cd1234ABCD +abcd1234AB +BCD +abcd1234AB +cd1234ABCD +34ABCD +D +bcd1234ABC +34ABCD +abcd1234AB +bcd1234ABC +CD +234ABCD +bcd1234ABC +ABCD +34ABCD +CD +bcd1234ABC +d1234ABCD +ABCD +1234ABCD +4ABCD +abcd1234AB +bcd1234ABC +bcd1234ABC +BCD +ABCD +4ABCD +cd1234ABCD +bcd1234ABC +CD +ABCD +D +d1234ABCD +ABCD +34ABCD +ABCD +cd1234ABCD +34ABCD +4ABCD +d1234ABCD +cd1234ABCD +ABCD +d1234ABCD +d1234ABCD +4ABCD +1234ABCD +CD +1234ABCD +bcd1234ABC +abcd1234AB +4ABCD +34ABCD +BCD +1234ABCD +1234ABCD +BCD +cd1234ABCD +cd1234ABCD +4ABCD +BCD +D +abcd1234AB +ABCD +ABCD +ABCD +4ABCD +ABCD +bcd1234ABC +1234ABCD +d1234ABCD +bcd1234ABC +BCD +234ABCD +D +ABCD +BCD +234ABCD +1234ABCD +1234ABCD +1234ABCD +d1234ABCD +4ABCD +CD +cd1234ABCD +d1234ABCD +CD +BCD +CD +D +d1234ABCD +D +1234ABCD +4ABCD +D +CD +D +BCD +cd1234ABCD +CD +ABCD +1234ABCD +CD +d1234ABCD +abcd1234AB +234ABCD +CD +BCD +234ABCD +234ABCD +ABCD +234ABCD +4ABCD +abcd1234AB +bcd1234ABC +234ABCD +234ABCD +abcd1234AB +BCD +4ABCD +abcd1234AB +d1234ABCD +D +bcd1234ABC +abcd1234AB +234ABCD +1234ABCD +cd1234ABCD +4ABCD +abcd1234AB +cd1234ABCD +BCD +abcd1234AB +d1234ABCD +ABCD +234ABCD +BCD +D +234ABCD +bcd1234ABC +abcd1234AB +D +bcd1234ABC +bcd1234ABC +d1234ABCD +234ABCD +cd1234ABCD +1234ABCD +d1234ABCD +abcd1234AB +abcd1234AB +D +bcd1234ABC +34ABCD +34ABCD +bcd1234ABC +abcd1234AB +abcd1234AB +cd1234ABCD +D +234ABCD +cd1234ABCD +34ABCD +bcd1234ABC +abcd1234AB +1234ABCD +cd1234ABCD +ABCD +abcd1234AB +D +d1234ABCD +cd1234ABCD +bcd1234ABC +4ABCD +4ABCD +BCD +BCD +bcd1234ABC +bcd1234ABC +4ABCD +abcd1234AB +d1234ABCD +D +d1234ABCD +34ABCD +1234ABCD +4ABCD +bcd1234ABC +4ABCD +1234ABCD +D +ABCD +34ABCD +CD +1234ABCD +d1234ABCD +234ABCD +4ABCD +234ABCD +1234ABCD +d1234ABCD +234ABCD +234ABCD +cd1234ABCD +cd1234ABCD +bcd1234ABC +cd1234ABCD +cd1234ABCD +abcd1234AB +234ABCD +cd1234ABCD +BCD +d1234ABCD +BCD +ABCD +ABCD +BCD +BCD +CD +234ABCD +4ABCD +d1234ABCD +ABCD +4ABCD +4ABCD +cd1234ABCD +D +234ABCD +d1234ABCD +d1234ABCD +CD +234ABCD +CD +ABCD +bcd1234ABC +234ABCD +1234ABCD +d1234ABCD +234ABCD +4ABCD +abcd1234AB +d1234ABCD +cd1234ABCD +D +4ABCD +abcd1234AB +CD +34ABCD +bcd1234ABC +BCD +34ABCD +abcd1234AB +D +234ABCD +34ABCD +34ABCD +D +234ABCD +234ABCD +cd1234ABCD +d1234ABCD +234ABCD +34ABCD +BCD +abcd1234AB +d1234ABCD +BCD +34ABCD +ABCD +234ABCD +d1234ABCD +CD +CD +34ABCD +bcd1234ABC +1234ABCD +cd1234ABCD +bcd1234ABC +4ABCD +cd1234ABCD +abcd1234AB +4ABCD +bcd1234ABC +d1234ABCD +BCD +bcd1234ABC +d1234ABCD +234ABCD +34ABCD +bcd1234ABC +CD +cd1234ABCD +D +34ABCD +d1234ABCD +34ABCD +D +34ABCD +34ABCD +34ABCD +CD +BCD +234ABCD +1234ABCD +abcd1234AB +BCD +d1234ABCD +abcd1234AB +BCD +bcd1234ABC +CD +ABCD +bcd1234ABC +34ABCD +1234ABCD +cd1234ABCD +D +4ABCD +BCD +ABCD +4ABCD +BCD +abcd1234AB +234ABCD +d1234ABCD +abcd1234AB +D +34ABCD +abcd1234AB +234ABCD +bcd1234ABC +CD +abcd1234AB +cd1234ABCD +BCD +34ABCD +abcd1234AB +ABCD +cd1234ABCD +bcd1234ABC +34ABCD +d1234ABCD +bcd1234ABC +1234ABCD +34ABCD +34ABCD +1234ABCD +234ABCD +cd1234ABCD +d1234ABCD +CD +abcd1234AB +4ABCD +4ABCD +d1234ABCD +4ABCD +CD +CD +CD +4ABCD +D +bcd1234ABC +CD +cd1234ABCD +CD +234ABCD +BCD +234ABCD +D +ABCD +ABCD +ABCD +D +234ABCD +d1234ABCD +234ABCD +abcd1234AB +BCD +cd1234ABCD +cd1234ABCD +d1234ABCD +bcd1234ABC +CD +1234ABCD +cd1234ABCD +4ABCD +bcd1234ABC +BCD +BCD +1234ABCD +cd1234ABCD +d1234ABCD +1234ABCD +4ABCD +bcd1234ABC +ABCD +D +abcd1234AB +abcd1234AB +CD +cd1234ABCD +d1234ABCD +234ABCD +34ABCD +ABCD +ABCD +34ABCD +CD +1234ABCD +CD +bcd1234ABC +CD +bcd1234ABC +4ABCD +D +bcd1234ABC +CD +cd1234ABCD +ABCD +BCD +CD +D +234ABCD +CD +abcd1234AB +BCD +abcd1234AB +234ABCD +abcd1234AB +1234ABCD +BCD +34ABCD +abcd1234AB +234ABCD +cd1234ABCD +ABCD +BCD +D +34ABCD +d1234ABCD +CD +1234ABCD +abcd1234AB +bcd1234ABC +d1234ABCD +cd1234ABCD +BCD +d1234ABCD +D +CD +CD +1234ABCD +34ABCD +ABCD +ABCD +bcd1234ABC +34ABCD +1234ABCD +bcd1234ABC +34ABCD +4ABCD +D +34ABCD +d1234ABCD +34ABCD +CD +cd1234ABCD +1234ABCD +cd1234ABCD +34ABCD +ABCD +234ABCD +CD +D +1234ABCD +d1234ABCD +34ABCD +cd1234ABCD +cd1234ABCD +abcd1234AB +d1234ABCD +234ABCD +BCD +D +abcd1234AB +1234ABCD +bcd1234ABC +bcd1234ABC +abcd1234AB +abcd1234AB +234ABCD +D +bcd1234ABC +ABCD +4ABCD +BCD +BCD +BCD +abcd1234AB +CD +ABCD +34ABCD +d1234ABCD +1234ABCD +cd1234ABCD +d1234ABCD +ABCD +bcd1234ABC +bcd1234ABC +BCD +d1234ABCD +D +BCD +abcd1234AB +4ABCD +1234ABCD +ABCD +D +cd1234ABCD +abcd1234AB +CD +4ABCD +1234ABCD +D +4ABCD +CD +ABCD +abcd1234AB +D +d1234ABCD +ABCD +bcd1234ABC +ABCD +1234ABCD +ABCD +234ABCD +BCD +34ABCD +1234ABCD +cd1234ABCD +1234ABCD +abcd1234AB +abcd1234AB +BCD +CD +ABCD +D +cd1234ABCD +CD +cd1234ABCD +34ABCD +BCD +BCD +4ABCD +BCD +BCD +d1234ABCD +234ABCD +cd1234ABCD +34ABCD +d1234ABCD +bcd1234ABC +CD +D +CD +4ABCD +D +34ABCD +4ABCD +cd1234ABCD +bcd1234ABC +4ABCD +4ABCD +34ABCD +4ABCD +34ABCD +BCD +234ABCD +bcd1234ABC +234ABCD +BCD +abcd1234AB +1234ABCD +CD +bcd1234ABC +cd1234ABCD +bcd1234ABC +abcd1234AB +34ABCD +BCD +BCD +34ABCD +D +BCD +bcd1234ABC +4ABCD +1234ABCD +34ABCD +1234ABCD +cd1234ABCD +cd1234ABCD +D +BCD +abcd1234AB +34ABCD +abcd1234AB +d1234ABCD +BCD +234ABCD +BCD +d1234ABCD +234ABCD +CD +abcd1234AB +1234ABCD +cd1234ABCD +abcd1234AB +bcd1234ABC +ABCD +CD +cd1234ABCD +4ABCD +1234ABCD +bcd1234ABC +CD +234ABCD +234ABCD +bcd1234ABC +ABCD +ABCD +D +CD +BCD +CD +BCD +cd1234ABCD +D +d1234ABCD +bcd1234ABC +abcd1234AB +1234ABCD +CD +234ABCD +234ABCD +234ABCD +d1234ABCD +1234ABCD +bcd1234ABC +abcd1234AB +D +234ABCD +d1234ABCD +abcd1234AB +4ABCD +D +abcd1234AB +BCD +34ABCD +1234ABCD +cd1234ABCD +D +234ABCD +234ABCD +abcd1234AB +D +d1234ABCD +abcd1234AB +bcd1234ABC +abcd1234AB +234ABCD +234ABCD +4ABCD +4ABCD +bcd1234ABC +34ABCD +34ABCD +cd1234ABCD +CD +4ABCD +bcd1234ABC +ABCD +ABCD +CD +1234ABCD +BCD +cd1234ABCD +bcd1234ABC +bcd1234ABC +D +34ABCD +4ABCD +abcd1234AB +cd1234ABCD +CD +4ABCD +cd1234ABCD +D +34ABCD +34ABCD +abcd1234AB +D +CD +abcd1234AB +cd1234ABCD +bcd1234ABC +CD +1234ABCD +34ABCD +1234ABCD +bcd1234ABC +CD +234ABCD +4ABCD +BCD +34ABCD +234ABCD +4ABCD +4ABCD +bcd1234ABC +1234ABCD +cd1234ABCD +abcd1234AB +d1234ABCD +234ABCD +1234ABCD +4ABCD +D +abcd1234AB +34ABCD +ABCD +CD +d1234ABCD +234ABCD +BCD +CD +abcd1234AB +cd1234ABCD +1234ABCD +cd1234ABCD +BCD +1234ABCD +cd1234ABCD +d1234ABCD +34ABCD +CD +34ABCD +abcd1234AB +234ABCD +cd1234ABCD +4ABCD +CD +bcd1234ABC +D +CD +d1234ABCD +4ABCD +CD +ABCD +bcd1234ABC +bcd1234ABC +34ABCD +BCD +D +abcd1234AB +cd1234ABCD +ABCD +34ABCD +234ABCD +d1234ABCD +abcd1234AB +4ABCD +bcd1234ABC +bcd1234ABC +234ABCD +4ABCD +d1234ABCD +ABCD +D +d1234ABCD +cd1234ABCD +BCD +CD +d1234ABCD +d1234ABCD +bcd1234ABC +CD +cd1234ABCD +BCD +CD +ABCD +bcd1234ABC +1234ABCD +34ABCD +cd1234ABCD +D +ABCD +D +cd1234ABCD +234ABCD +34ABCD +abcd1234AB +bcd1234ABC +34ABCD +abcd1234AB +abcd1234AB +BCD +4ABCD +d1234ABCD +4ABCD +cd1234ABCD +ABCD +ABCD +4ABCD +4ABCD +D +1234ABCD +234ABCD +cd1234ABCD +D +CD +234ABCD +d1234ABCD +d1234ABCD +1234ABCD +BCD +CD +234ABCD +D +bcd1234ABC +ABCD +BCD +234ABCD +d1234ABCD +CD +D +bcd1234ABC +cd1234ABCD +bcd1234ABC +4ABCD +D +BCD +abcd1234AB +34ABCD +D +d1234ABCD +ABCD +d1234ABCD +cd1234ABCD +234ABCD +abcd1234AB +BCD +234ABCD +ABCD +ABCD +1234ABCD +CD +1234ABCD +4ABCD +D +234ABCD +abcd1234AB +cd1234ABCD +1234ABCD +cd1234ABCD +abcd1234AB +CD +bcd1234ABC +cd1234ABCD +bcd1234ABC +34ABCD +BCD +34ABCD +d1234ABCD +cd1234ABCD +abcd1234AB +234ABCD +d1234ABCD +bcd1234ABC +BCD +ABCD +abcd1234AB +34ABCD +D +D +4ABCD +ABCD +d1234ABCD +34ABCD +D +D +d1234ABCD +BCD +D +34ABCD +bcd1234ABC +CD +CD +cd1234ABCD +ABCD +234ABCD +ABCD +cd1234ABCD +cd1234ABCD +ABCD +bcd1234ABC +cd1234ABCD +BCD +d1234ABCD +BCD +1234ABCD +234ABCD +cd1234ABCD +1234ABCD +1234ABCD +D +234ABCD +bcd1234ABC +d1234ABCD +34ABCD +1234ABCD +CD +4ABCD +CD +bcd1234ABC +34ABCD +4ABCD +d1234ABCD +34ABCD +ABCD +ABCD +CD +abcd1234AB +bcd1234ABC +BCD +D +34ABCD +cd1234ABCD +ABCD +abcd1234AB +ABCD +4ABCD +cd1234ABCD +D +BCD +ABCD +d1234ABCD +cd1234ABCD +ABCD +D +BCD +BCD +4ABCD +abcd1234AB +BCD +cd1234ABCD +BCD +D +D +cd1234ABCD +234ABCD +234ABCD +cd1234ABCD +34ABCD +CD +d1234ABCD +cd1234ABCD +d1234ABCD +1234ABCD +cd1234ABCD +34ABCD +34ABCD +CD +d1234ABCD +D +ABCD +CD +34ABCD +4ABCD +1234ABCD +CD +cd1234ABCD +1234ABCD +1234ABCD +bcd1234ABC +234ABCD +BCD +bcd1234ABC +ABCD +ABCD +ABCD +abcd1234AB +234ABCD +abcd1234AB +abcd1234AB +1234ABCD +abcd1234AB +4ABCD +d1234ABCD +ABCD +abcd1234AB +1234ABCD +34ABCD +cd1234ABCD +234ABCD +abcd1234AB +BCD +ABCD +bcd1234ABC +1234ABCD +D +CD +d1234ABCD +bcd1234ABC +BCD +abcd1234AB +BCD +BCD +34ABCD +bcd1234ABC +D +cd1234ABCD +1234ABCD +34ABCD +abcd1234AB +cd1234ABCD +d1234ABCD +CD +BCD +bcd1234ABC +ABCD +cd1234ABCD +1234ABCD +ABCD +BCD +bcd1234ABC +D +CD +CD +abcd1234AB +abcd1234AB +234ABCD +cd1234ABCD +cd1234ABCD +1234ABCD +bcd1234ABC +34ABCD +34ABCD +abcd1234AB +1234ABCD +4ABCD +cd1234ABCD +bcd1234ABC +D +bcd1234ABC +cd1234ABCD +234ABCD +cd1234ABCD +abcd1234AB +BCD +D +4ABCD +CD +CD +4ABCD +ABCD +ABCD +234ABCD +1234ABCD +ABCD +D +cd1234ABCD +ABCD +234ABCD +234ABCD +CD +bcd1234ABC +bcd1234ABC +bcd1234ABC +1234ABCD +234ABCD +cd1234ABCD +cd1234ABCD +1234ABCD +D +234ABCD +ABCD +cd1234ABCD +bcd1234ABC +ABCD +CD +34ABCD +ABCD +4ABCD +BCD +bcd1234ABC +CD +cd1234ABCD +BCD +BCD +1234ABCD +4ABCD +4ABCD +bcd1234ABC +1234ABCD +cd1234ABCD +CD +abcd1234AB +D +CD +4ABCD +D +abcd1234AB +34ABCD +ABCD +4ABCD +D +bcd1234ABC +D +1234ABCD +234ABCD +ABCD +CD +4ABCD +D +4ABCD +34ABCD +abcd1234AB +bcd1234ABC +34ABCD +4ABCD +abcd1234AB +4ABCD +cd1234ABCD +cd1234ABCD +BCD +CD +BCD +1234ABCD +abcd1234AB +cd1234ABCD +D +ABCD +d1234ABCD +abcd1234AB +1234ABCD +D +abcd1234AB +cd1234ABCD +cd1234ABCD +bcd1234ABC +4ABCD +ABCD +4ABCD +234ABCD +cd1234ABCD +d1234ABCD +d1234ABCD +cd1234ABCD +1234ABCD +BCD +1234ABCD +4ABCD +ABCD +D +234ABCD +d1234ABCD +BCD +bcd1234ABC +abcd1234AB +abcd1234AB +cd1234ABCD +BCD +d1234ABCD +234ABCD +abcd1234AB +4ABCD +4ABCD +34ABCD +4ABCD +4ABCD +d1234ABCD +BCD +d1234ABCD +abcd1234AB +4ABCD +CD +ABCD +cd1234ABCD +bcd1234ABC +BCD +4ABCD +d1234ABCD +4ABCD +34ABCD +ABCD +34ABCD +4ABCD +1234ABCD +BCD +d1234ABCD +4ABCD +D +234ABCD +abcd1234AB +CD +d1234ABCD +cd1234ABCD +234ABCD +1234ABCD +cd1234ABCD +BCD +abcd1234AB +CD +4ABCD +bcd1234ABC +abcd1234AB +BCD +1234ABCD +cd1234ABCD +4ABCD +BCD +D +bcd1234ABC +CD +4ABCD +4ABCD +CD +abcd1234AB +1234ABCD +1234ABCD +D +ABCD +ABCD +cd1234ABCD +D +CD +4ABCD +1234ABCD +ABCD +4ABCD +34ABCD +d1234ABCD +abcd1234AB +CD +CD +bcd1234ABC +BCD +d1234ABCD +D +ABCD +bcd1234ABC +234ABCD +cd1234ABCD +ABCD +D +D +D +234ABCD +bcd1234ABC +1234ABCD +CD +cd1234ABCD +234ABCD +34ABCD +234ABCD +ABCD +1234ABCD +1234ABCD +bcd1234ABC +abcd1234AB +BCD +4ABCD +bcd1234ABC +abcd1234AB +d1234ABCD +234ABCD +4ABCD +d1234ABCD +4ABCD +D +BCD +234ABCD +bcd1234ABC +234ABCD +d1234ABCD +CD +d1234ABCD +34ABCD +cd1234ABCD +34ABCD +4ABCD +1234ABCD +cd1234ABCD +34ABCD +d1234ABCD +cd1234ABCD +BCD +abcd1234AB +bcd1234ABC +d1234ABCD +ABCD +ABCD +4ABCD +cd1234ABCD +D +ABCD +1234ABCD +bcd1234ABC +abcd1234AB +1234ABCD +bcd1234ABC +1234ABCD +BCD +ABCD +CD +34ABCD +d1234ABCD +ABCD +cd1234ABCD +BCD +abcd1234AB +ABCD +bcd1234ABC +BCD +1234ABCD +CD +d1234ABCD +D +abcd1234AB +4ABCD +BCD +bcd1234ABC +234ABCD +234ABCD +CD +cd1234ABCD +D +4ABCD +1234ABCD +CD +234ABCD +BCD +d1234ABCD +abcd1234AB +d1234ABCD +ABCD +abcd1234AB +D +4ABCD +4ABCD +1234ABCD +CD +bcd1234ABC +4ABCD +CD +bcd1234ABC +ABCD +d1234ABCD +1234ABCD +cd1234ABCD +1234ABCD +4ABCD +4ABCD +cd1234ABCD +D +34ABCD +1234ABCD +4ABCD +cd1234ABCD +ABCD +D +BCD +34ABCD +D +d1234ABCD +ABCD +cd1234ABCD +d1234ABCD +bcd1234ABC +34ABCD +bcd1234ABC +CD +d1234ABCD +4ABCD +ABCD +1234ABCD +bcd1234ABC +ABCD +234ABCD +4ABCD +CD +d1234ABCD +d1234ABCD +4ABCD +d1234ABCD +234ABCD +234ABCD +cd1234ABCD +ABCD +34ABCD +bcd1234ABC +CD +BCD +34ABCD +abcd1234AB +BCD +4ABCD +d1234ABCD +34ABCD +1234ABCD +D +d1234ABCD +abcd1234AB +abcd1234AB +abcd1234AB +abcd1234AB +234ABCD +cd1234ABCD +D +bcd1234ABC +abcd1234AB +234ABCD +1234ABCD +cd1234ABCD +d1234ABCD +CD +d1234ABCD +4ABCD +34ABCD +4ABCD +4ABCD +4ABCD +d1234ABCD +cd1234ABCD +cd1234ABCD +ABCD +d1234ABCD +abcd1234AB +4ABCD +ABCD +cd1234ABCD +1234ABCD +ABCD +bcd1234ABC +234ABCD +BCD +D +1234ABCD +D +D +CD +bcd1234ABC +BCD +ABCD +34ABCD +d1234ABCD +4ABCD +D +4ABCD +234ABCD +bcd1234ABC +bcd1234ABC +4ABCD +cd1234ABCD +abcd1234AB +4ABCD +234ABCD +bcd1234ABC +234ABCD +234ABCD +CD +BCD +bcd1234ABC +d1234ABCD +d1234ABCD +bcd1234ABC +d1234ABCD +4ABCD +cd1234ABCD +abcd1234AB +d1234ABCD +D +abcd1234AB +d1234ABCD +4ABCD +1234ABCD +234ABCD +d1234ABCD +CD +234ABCD +4ABCD +234ABCD +bcd1234ABC +cd1234ABCD +1234ABCD +bcd1234ABC +ABCD +BCD +BCD +BCD +4ABCD +D +ABCD +ABCD +bcd1234ABC +D +ABCD +ABCD +abcd1234AB +1234ABCD +BCD +ABCD +d1234ABCD +1234ABCD +cd1234ABCD +abcd1234AB +1234ABCD +1234ABCD +abcd1234AB +CD +1234ABCD +abcd1234AB +1234ABCD +34ABCD +bcd1234ABC +cd1234ABCD +abcd1234AB +ABCD +CD +234ABCD +234ABCD +234ABCD +1234ABCD +d1234ABCD +34ABCD +CD +BCD +d1234ABCD +cd1234ABCD +abcd1234AB +34ABCD +bcd1234ABC +cd1234ABCD +D +BCD +bcd1234ABC +CD +CD +ABCD +cd1234ABCD +1234ABCD +d1234ABCD +234ABCD +34ABCD +CD +abcd1234AB +234ABCD +34ABCD +ABCD +bcd1234ABC +abcd1234AB +234ABCD +1234ABCD +34ABCD +4ABCD +d1234ABCD +D +abcd1234AB +D +4ABCD +cd1234ABCD +bcd1234ABC +1234ABCD +ABCD +ABCD +ABCD +bcd1234ABC +BCD +D +34ABCD +1234ABCD +234ABCD +cd1234ABCD +CD +abcd1234AB +BCD +D +bcd1234ABC +d1234ABCD +bcd1234ABC +cd1234ABCD +4ABCD +abcd1234AB +234ABCD +234ABCD +bcd1234ABC +34ABCD +bcd1234ABC +4ABCD +cd1234ABCD +4ABCD +234ABCD +abcd1234AB +d1234ABCD +ABCD +d1234ABCD +34ABCD +34ABCD +abcd1234AB +1234ABCD +234ABCD +34ABCD +abcd1234AB +BCD +D +CD +4ABCD +d1234ABCD +cd1234ABCD +abcd1234AB +D +1234ABCD +D +abcd1234AB +234ABCD +1234ABCD +cd1234ABCD +1234ABCD +BCD +BCD +cd1234ABCD +ABCD +1234ABCD +234ABCD +ABCD +BCD +d1234ABCD +CD +abcd1234AB +1234ABCD +BCD +d1234ABCD +34ABCD +ABCD +cd1234ABCD +BCD +BCD +34ABCD +d1234ABCD +d1234ABCD +4ABCD +1234ABCD +34ABCD +D +34ABCD +BCD +34ABCD +cd1234ABCD +4ABCD +4ABCD +d1234ABCD +4ABCD +4ABCD +d1234ABCD +CD +abcd1234AB +4ABCD +34ABCD +ABCD +1234ABCD +BCD +abcd1234AB +CD +4ABCD +234ABCD +abcd1234AB +234ABCD +cd1234ABCD +abcd1234AB +1234ABCD +4ABCD +234ABCD +234ABCD +34ABCD +bcd1234ABC +D +BCD +CD +bcd1234ABC +bcd1234ABC +d1234ABCD +1234ABCD +4ABCD +1234ABCD +4ABCD +BCD +CD +34ABCD +bcd1234ABC +4ABCD +CD +BCD +ABCD +1234ABCD +cd1234ABCD +1234ABCD +1234ABCD +234ABCD +CD +D +ABCD +cd1234ABCD +d1234ABCD +CD +D +cd1234ABCD +234ABCD +1234ABCD +abcd1234AB +bcd1234ABC +BCD +BCD +D +d1234ABCD +34ABCD +abcd1234AB +D +ABCD +bcd1234ABC +abcd1234AB +34ABCD +ABCD +ABCD +ABCD +abcd1234AB +bcd1234ABC +4ABCD +CD +d1234ABCD +1234ABCD +cd1234ABCD +BCD +bcd1234ABC +abcd1234AB +abcd1234AB +CD +4ABCD +ABCD +34ABCD +34ABCD +d1234ABCD +abcd1234AB +4ABCD +D +cd1234ABCD +d1234ABCD +4ABCD +CD +abcd1234AB +cd1234ABCD +234ABCD +cd1234ABCD +BCD +234ABCD +234ABCD +bcd1234ABC +d1234ABCD +234ABCD +ABCD +bcd1234ABC +BCD +CD +BCD +CD +234ABCD +D +D +d1234ABCD +d1234ABCD +cd1234ABCD +ABCD +D +d1234ABCD +abcd1234AB +cd1234ABCD +4ABCD +1234ABCD +234ABCD +CD +abcd1234AB +abcd1234AB +bcd1234ABC +1234ABCD +234ABCD +234ABCD +234ABCD +abcd1234AB +1234ABCD +CD +D +ABCD +1234ABCD +D +4ABCD +bcd1234ABC +CD +1234ABCD +34ABCD +cd1234ABCD +4ABCD +ABCD +bcd1234ABC +bcd1234ABC +cd1234ABCD +cd1234ABCD +1234ABCD +BCD +1234ABCD +BCD +cd1234ABCD +234ABCD +4ABCD +ABCD +abcd1234AB +cd1234ABCD +4ABCD +cd1234ABCD +D +CD +abcd1234AB +ABCD +234ABCD +bcd1234ABC +D +abcd1234AB +d1234ABCD +CD +CD +abcd1234AB +bcd1234ABC +ABCD +34ABCD +4ABCD +CD +CD +234ABCD +BCD +1234ABCD +bcd1234ABC +D +ABCD +ABCD +4ABCD +4ABCD +4ABCD +D +D +CD +ABCD +d1234ABCD +d1234ABCD +D +D +d1234ABCD +4ABCD +D +cd1234ABCD +bcd1234ABC +D +BCD +abcd1234AB +1234ABCD +CD +d1234ABCD +1234ABCD +BCD +BCD +cd1234ABCD +234ABCD +bcd1234ABC +34ABCD +CD +bcd1234ABC +ABCD +bcd1234ABC +234ABCD +cd1234ABCD +BCD +ABCD +CD +BCD +bcd1234ABC +CD +abcd1234AB +ABCD +bcd1234ABC +CD +4ABCD +234ABCD +34ABCD +1234ABCD +34ABCD +d1234ABCD +bcd1234ABC +ABCD +abcd1234AB +bcd1234ABC +cd1234ABCD +234ABCD +d1234ABCD +234ABCD +bcd1234ABC +34ABCD +BCD +BCD +CD +bcd1234ABC +abcd1234AB +234ABCD +34ABCD +234ABCD +BCD +234ABCD +BCD +d1234ABCD +ABCD +4ABCD +BCD +abcd1234AB +234ABCD +ABCD +34ABCD +d1234ABCD +D +ABCD +abcd1234AB +abcd1234AB +D +d1234ABCD +cd1234ABCD +cd1234ABCD +D +234ABCD +4ABCD +d1234ABCD +abcd1234AB +bcd1234ABC +abcd1234AB +abcd1234AB +cd1234ABCD +D +d1234ABCD +CD +CD +34ABCD +1234ABCD +BCD +BCD +34ABCD +D +abcd1234AB +CD +4ABCD +bcd1234ABC +bcd1234ABC +bcd1234ABC +D +bcd1234ABC +CD +d1234ABCD +abcd1234AB +1234ABCD +4ABCD +d1234ABCD +bcd1234ABC +1234ABCD +bcd1234ABC +234ABCD +CD +D +4ABCD +1234ABCD +4ABCD +cd1234ABCD +4ABCD +ABCD +ABCD +BCD +abcd1234AB +d1234ABCD +234ABCD +d1234ABCD +d1234ABCD +1234ABCD +BCD +ABCD +4ABCD +CD +abcd1234AB +234ABCD +CD +ABCD +4ABCD +BCD +1234ABCD +ABCD +abcd1234AB +cd1234ABCD +bcd1234ABC +CD +4ABCD +234ABCD +234ABCD +cd1234ABCD +ABCD +d1234ABCD +bcd1234ABC +bcd1234ABC +ABCD +D +cd1234ABCD +1234ABCD +abcd1234AB +bcd1234ABC +BCD +cd1234ABCD +234ABCD +bcd1234ABC +bcd1234ABC +34ABCD +4ABCD +bcd1234ABC +abcd1234AB +BCD +BCD +abcd1234AB +cd1234ABCD +bcd1234ABC +D +1234ABCD +abcd1234AB +abcd1234AB +D +34ABCD +234ABCD +d1234ABCD +234ABCD +abcd1234AB +34ABCD +D +D +cd1234ABCD +1234ABCD +d1234ABCD +34ABCD +D +d1234ABCD +cd1234ABCD +BCD +BCD +bcd1234ABC +CD +4ABCD +bcd1234ABC +4ABCD +234ABCD +d1234ABCD +234ABCD +1234ABCD +CD +CD +abcd1234AB +d1234ABCD +abcd1234AB +234ABCD +34ABCD +1234ABCD +cd1234ABCD +CD +d1234ABCD +BCD +d1234ABCD +CD +bcd1234ABC +D +34ABCD +bcd1234ABC +CD +34ABCD +cd1234ABCD +cd1234ABCD +4ABCD +ABCD +234ABCD +BCD +bcd1234ABC +cd1234ABCD +d1234ABCD +4ABCD +CD +BCD +cd1234ABCD +bcd1234ABC +d1234ABCD +ABCD +d1234ABCD +D +1234ABCD +D +cd1234ABCD +234ABCD +ABCD +4ABCD +abcd1234AB +d1234ABCD +bcd1234ABC +bcd1234ABC +34ABCD +bcd1234ABC +BCD +1234ABCD +4ABCD +cd1234ABCD +D +1234ABCD +abcd1234AB +34ABCD +4ABCD +abcd1234AB +34ABCD +ABCD +abcd1234AB +abcd1234AB +d1234ABCD +ABCD +cd1234ABCD +34ABCD +CD +CD +d1234ABCD +BCD +D +ABCD +D +BCD +D +d1234ABCD +abcd1234AB +ABCD +cd1234ABCD +d1234ABCD +cd1234ABCD +cd1234ABCD +cd1234ABCD +34ABCD +4ABCD +1234ABCD +1234ABCD +BCD +D +34ABCD +abcd1234AB +abcd1234AB +D +CD +d1234ABCD +BCD +bcd1234ABC +4ABCD +cd1234ABCD +34ABCD +BCD +bcd1234ABC +ABCD +bcd1234ABC +34ABCD +1234ABCD +cd1234ABCD +BCD +4ABCD +d1234ABCD +CD +CD +4ABCD +ABCD +cd1234ABCD +34ABCD +34ABCD +BCD +4ABCD +CD +BCD +234ABCD +1234ABCD +d1234ABCD +bcd1234ABC +CD +ABCD +234ABCD +234ABCD +cd1234ABCD +4ABCD +4ABCD +4ABCD +abcd1234AB +BCD +BCD +BCD +BCD +34ABCD +CD +d1234ABCD +34ABCD +1234ABCD +d1234ABCD +ABCD +4ABCD +1234ABCD +34ABCD +BCD +bcd1234ABC +abcd1234AB +d1234ABCD +234ABCD +cd1234ABCD +BCD +bcd1234ABC +34ABCD +4ABCD +34ABCD +cd1234ABCD +BCD +234ABCD +bcd1234ABC +CD +1234ABCD +D +BCD +234ABCD +1234ABCD +cd1234ABCD +BCD +34ABCD +234ABCD +1234ABCD +D +34ABCD +234ABCD +d1234ABCD +d1234ABCD +d1234ABCD +234ABCD +D +34ABCD +BCD +234ABCD +ABCD +D +cd1234ABCD +34ABCD +abcd1234AB +abcd1234AB +4ABCD +34ABCD +bcd1234ABC +ABCD +bcd1234ABC +1234ABCD +BCD +cd1234ABCD +4ABCD +234ABCD +D +BCD +BCD +bcd1234ABC +cd1234ABCD +D +34ABCD +234ABCD +D +4ABCD +CD +CD +4ABCD +4ABCD +234ABCD +34ABCD +234ABCD +4ABCD +abcd1234AB +d1234ABCD +D +ABCD +ABCD +234ABCD +ABCD +234ABCD +bcd1234ABC +d1234ABCD +ABCD +BCD +abcd1234AB +bcd1234ABC +BCD +4ABCD +ABCD +34ABCD +34ABCD +D +BCD +cd1234ABCD +abcd1234AB +234ABCD +234ABCD +ABCD +1234ABCD +cd1234ABCD +ABCD +cd1234ABCD +cd1234ABCD +234ABCD +34ABCD +bcd1234ABC +cd1234ABCD +234ABCD +abcd1234AB +d1234ABCD +abcd1234AB +abcd1234AB +d1234ABCD +cd1234ABCD +4ABCD +cd1234ABCD +cd1234ABCD +bcd1234ABC +ABCD +BCD +34ABCD +BCD +1234ABCD +234ABCD +cd1234ABCD +34ABCD +d1234ABCD +CD +ABCD +D +d1234ABCD +d1234ABCD +BCD +ABCD +cd1234ABCD +CD +4ABCD +BCD +bcd1234ABC +34ABCD +34ABCD +234ABCD +cd1234ABCD +CD +ABCD +4ABCD +CD +BCD +ABCD +BCD +CD +4ABCD +34ABCD +abcd1234AB +BCD +ABCD +1234ABCD +cd1234ABCD +BCD +cd1234ABCD +D +bcd1234ABC +BCD +34ABCD +d1234ABCD +BCD +d1234ABCD +CD +d1234ABCD +234ABCD +ABCD +CD +ABCD +d1234ABCD +BCD +4ABCD +ABCD +d1234ABCD +ABCD +34ABCD +cd1234ABCD +D +BCD +bcd1234ABC +BCD +cd1234ABCD +4ABCD +4ABCD +bcd1234ABC +34ABCD +1234ABCD +bcd1234ABC +ABCD +cd1234ABCD +d1234ABCD +cd1234ABCD +34ABCD +abcd1234AB +abcd1234AB +4ABCD +234ABCD +4ABCD +cd1234ABCD +cd1234ABCD +BCD +ABCD +abcd1234AB +ABCD +CD +1234ABCD +234ABCD +34ABCD +cd1234ABCD +4ABCD +ABCD +bcd1234ABC +bcd1234ABC +CD +D +4ABCD +1234ABCD +bcd1234ABC +BCD +4ABCD +D +4ABCD +abcd1234AB +cd1234ABCD +34ABCD +abcd1234AB +abcd1234AB +abcd1234AB +CD +bcd1234ABC +1234ABCD +BCD +d1234ABCD +d1234ABCD +1234ABCD +CD +4ABCD +BCD +4ABCD +234ABCD +abcd1234AB +34ABCD +bcd1234ABC +cd1234ABCD +4ABCD +234ABCD +CD +4ABCD +ABCD +cd1234ABCD +bcd1234ABC +bcd1234ABC +d1234ABCD +4ABCD +CD +cd1234ABCD +1234ABCD +1234ABCD +bcd1234ABC +234ABCD +abcd1234AB +D +1234ABCD +BCD +abcd1234AB +CD +d1234ABCD +234ABCD +D +CD +cd1234ABCD +cd1234ABCD +CD +D +234ABCD +BCD +234ABCD +1234ABCD +cd1234ABCD +4ABCD +1234ABCD +234ABCD +BCD +34ABCD +4ABCD +BCD +234ABCD +cd1234ABCD +34ABCD +1234ABCD +abcd1234AB +abcd1234AB +ABCD +cd1234ABCD +234ABCD +4ABCD +abcd1234AB +abcd1234AB +4ABCD +abcd1234AB +BCD +ABCD +bcd1234ABC +cd1234ABCD +4ABCD +4ABCD +4ABCD +1234ABCD +cd1234ABCD +abcd1234AB +ABCD +34ABCD +234ABCD +D +CD +234ABCD +abcd1234AB +cd1234ABCD +bcd1234ABC +234ABCD +ABCD +34ABCD +4ABCD +4ABCD +CD +34ABCD +d1234ABCD +34ABCD +CD +1234ABCD +bcd1234ABC +1234ABCD +CD +CD +1234ABCD +4ABCD +BCD +abcd1234AB +d1234ABCD +34ABCD +34ABCD +234ABCD +bcd1234ABC +34ABCD +d1234ABCD +1234ABCD +BCD +34ABCD +d1234ABCD +cd1234ABCD +34ABCD +d1234ABCD +D +CD +bcd1234ABC +BCD +cd1234ABCD +234ABCD +234ABCD +234ABCD +abcd1234AB +BCD +234ABCD +D +ABCD +234ABCD +34ABCD +1234ABCD +cd1234ABCD +34ABCD +BCD +bcd1234ABC +bcd1234ABC +CD +bcd1234ABC +1234ABCD +d1234ABCD +ABCD +4ABCD +4ABCD +abcd1234AB +d1234ABCD +BCD +234ABCD +D +CD +BCD +ABCD +d1234ABCD +4ABCD +ABCD +234ABCD +d1234ABCD +ABCD +ABCD +d1234ABCD +bcd1234ABC +4ABCD +234ABCD +cd1234ABCD +d1234ABCD +BCD +abcd1234AB +d1234ABCD +d1234ABCD +d1234ABCD +1234ABCD +1234ABCD +4ABCD +D +BCD +34ABCD +34ABCD +4ABCD +1234ABCD +abcd1234AB +1234ABCD +d1234ABCD +D +34ABCD +BCD +bcd1234ABC +bcd1234ABC +d1234ABCD +D +bcd1234ABC +abcd1234AB +d1234ABCD +1234ABCD +BCD +bcd1234ABC +D +ABCD +CD +234ABCD +234ABCD +4ABCD +34ABCD +D +1234ABCD +ABCD +ABCD +cd1234ABCD +D +1234ABCD +CD +1234ABCD +CD +cd1234ABCD +34ABCD +CD +d1234ABCD +D +CD +D +34ABCD +bcd1234ABC +d1234ABCD +34ABCD +d1234ABCD +BCD +1234ABCD +BCD +abcd1234AB +bcd1234ABC +bcd1234ABC +abcd1234AB +cd1234ABCD +34ABCD +4ABCD +D +4ABCD +34ABCD +d1234ABCD +34ABCD +ABCD +1234ABCD +ABCD +cd1234ABCD +234ABCD +4ABCD +bcd1234ABC +CD +abcd1234AB +4ABCD +bcd1234ABC +D +cd1234ABCD +234ABCD +abcd1234AB +4ABCD +ABCD +4ABCD +4ABCD +d1234ABCD +d1234ABCD +234ABCD +bcd1234ABC +D +abcd1234AB +34ABCD +d1234ABCD +cd1234ABCD +34ABCD +CD +34ABCD +ABCD +ABCD +d1234ABCD +BCD +d1234ABCD +cd1234ABCD +4ABCD +234ABCD +ABCD +4ABCD +CD +ABCD +d1234ABCD +d1234ABCD +d1234ABCD +34ABCD +234ABCD +1234ABCD +abcd1234AB +CD +34ABCD +abcd1234AB +D +bcd1234ABC +bcd1234ABC +4ABCD +ABCD +234ABCD +4ABCD +4ABCD +ABCD +CD +d1234ABCD +34ABCD +cd1234ABCD +BCD +d1234ABCD +abcd1234AB +ABCD +bcd1234ABC +BCD +CD +1234ABCD +4ABCD +234ABCD +BCD +234ABCD +34ABCD +abcd1234AB +D +34ABCD +abcd1234AB +bcd1234ABC +34ABCD +ABCD +abcd1234AB +bcd1234ABC +D +4ABCD +34ABCD +abcd1234AB +BCD +bcd1234ABC +D +D +ABCD +D +d1234ABCD +1234ABCD +abcd1234AB +34ABCD +D +4ABCD +1234ABCD +BCD +bcd1234ABC +ABCD +234ABCD +CD +CD +cd1234ABCD +BCD +d1234ABCD +CD +BCD +CD +ABCD +4ABCD +cd1234ABCD +ABCD +BCD +1234ABCD +34ABCD +abcd1234AB +D +D +CD +cd1234ABCD +bcd1234ABC +ABCD +34ABCD +4ABCD +cd1234ABCD +cd1234ABCD +cd1234ABCD +cd1234ABCD +cd1234ABCD +4ABCD +1234ABCD +BCD +bcd1234ABC +cd1234ABCD +234ABCD +bcd1234ABC +234ABCD +1234ABCD +d1234ABCD +cd1234ABCD +4ABCD +D +abcd1234AB +d1234ABCD +d1234ABCD +cd1234ABCD +bcd1234ABC +D +CD +d1234ABCD +4ABCD +4ABCD +D +d1234ABCD +4ABCD +34ABCD +d1234ABCD +D +d1234ABCD +D +bcd1234ABC +cd1234ABCD +cd1234ABCD +234ABCD +cd1234ABCD +4ABCD +234ABCD +4ABCD +ABCD +abcd1234AB +234ABCD +234ABCD +D +BCD +D +1234ABCD +d1234ABCD +bcd1234ABC +CD +234ABCD +cd1234ABCD +34ABCD +234ABCD +abcd1234AB +abcd1234AB +CD +bcd1234ABC +234ABCD +34ABCD +d1234ABCD +1234ABCD +d1234ABCD +1234ABCD +abcd1234AB +abcd1234AB +cd1234ABCD +D +234ABCD +ABCD +CD +BCD +d1234ABCD +34ABCD +bcd1234ABC +d1234ABCD +234ABCD +1234ABCD +ABCD +34ABCD +abcd1234AB +234ABCD +1234ABCD +4ABCD +34ABCD +D +d1234ABCD +1234ABCD +abcd1234AB +ABCD +34ABCD +CD +CD +bcd1234ABC +bcd1234ABC +ABCD +CD +BCD +BCD +4ABCD +bcd1234ABC +ABCD +bcd1234ABC +ABCD +cd1234ABCD +D +cd1234ABCD +BCD +cd1234ABCD +bcd1234ABC +1234ABCD +d1234ABCD +4ABCD +BCD +abcd1234AB +bcd1234ABC +d1234ABCD +D +d1234ABCD +d1234ABCD +CD +4ABCD +4ABCD +bcd1234ABC +BCD +ABCD +CD +4ABCD +4ABCD +234ABCD +234ABCD +D +4ABCD +34ABCD +234ABCD +BCD +d1234ABCD +234ABCD +34ABCD +1234ABCD +234ABCD +34ABCD +4ABCD +bcd1234ABC +234ABCD +cd1234ABCD +1234ABCD +bcd1234ABC +abcd1234AB +CD +bcd1234ABC +BCD +cd1234ABCD +CD +CD +D +BCD +34ABCD +bcd1234ABC +34ABCD +ABCD +D +abcd1234AB +bcd1234ABC +BCD +abcd1234AB +D +BCD +CD +D +ABCD +234ABCD +bcd1234ABC +1234ABCD +bcd1234ABC +D +cd1234ABCD +1234ABCD +234ABCD +4ABCD +BCD +abcd1234AB +abcd1234AB +234ABCD +CD +abcd1234AB +34ABCD +234ABCD +abcd1234AB +1234ABCD +abcd1234AB +234ABCD +ABCD +1234ABCD +BCD +4ABCD +bcd1234ABC +34ABCD +CD +4ABCD +CD +234ABCD +4ABCD +D +ABCD +CD +234ABCD +bcd1234ABC +BCD +1234ABCD +D +abcd1234AB +abcd1234AB +BCD +BCD +abcd1234AB +CD +D +4ABCD +1234ABCD +d1234ABCD +1234ABCD +abcd1234AB +CD +cd1234ABCD +abcd1234AB +d1234ABCD +34ABCD +D +bcd1234ABC +BCD +D +D +234ABCD +d1234ABCD +cd1234ABCD +1234ABCD +cd1234ABCD +d1234ABCD +BCD +CD +4ABCD +CD +ABCD +34ABCD +1234ABCD +234ABCD +4ABCD +ABCD +D +34ABCD +bcd1234ABC +bcd1234ABC +CD +ABCD +ABCD +34ABCD +cd1234ABCD +bcd1234ABC +cd1234ABCD +abcd1234AB +CD +BCD +ABCD +cd1234ABCD +bcd1234ABC +34ABCD +CD +34ABCD +cd1234ABCD +4ABCD +D +abcd1234AB +cd1234ABCD +cd1234ABCD +d1234ABCD +abcd1234AB +d1234ABCD +d1234ABCD +d1234ABCD +234ABCD +1234ABCD +4ABCD +BCD +cd1234ABCD +34ABCD +abcd1234AB +ABCD +abcd1234AB +D +1234ABCD +4ABCD +BCD +bcd1234ABC +D +D +D +abcd1234AB +4ABCD +cd1234ABCD +ABCD +CD +abcd1234AB +ABCD +d1234ABCD +abcd1234AB +abcd1234AB +CD +234ABCD +cd1234ABCD +bcd1234ABC +4ABCD +d1234ABCD +4ABCD +D +1234ABCD +1234ABCD +abcd1234AB +ABCD +BCD +d1234ABCD +abcd1234AB +abcd1234AB +D +CD +ABCD +BCD +BCD +BCD +bcd1234ABC +bcd1234ABC +34ABCD +cd1234ABCD +BCD +1234ABCD +234ABCD +bcd1234ABC +CD +abcd1234AB +bcd1234ABC +ABCD +D +ABCD +234ABCD +cd1234ABCD +cd1234ABCD +CD +d1234ABCD +4ABCD +34ABCD +cd1234ABCD +d1234ABCD +ABCD +4ABCD +d1234ABCD +1234ABCD +CD +cd1234ABCD +BCD +4ABCD +CD +D +34ABCD +d1234ABCD +4ABCD +cd1234ABCD +cd1234ABCD +d1234ABCD +CD +cd1234ABCD +d1234ABCD +D +1234ABCD +d1234ABCD +cd1234ABCD +abcd1234AB +234ABCD +1234ABCD +bcd1234ABC +cd1234ABCD +abcd1234AB +1234ABCD +CD +ABCD +D +CD +cd1234ABCD +d1234ABCD +D +234ABCD +D +34ABCD +cd1234ABCD +34ABCD +CD +4ABCD +bcd1234ABC +ABCD +bcd1234ABC +cd1234ABCD +1234ABCD +1234ABCD +1234ABCD +D +bcd1234ABC +d1234ABCD +d1234ABCD +BCD +abcd1234AB +ABCD +d1234ABCD +bcd1234ABC +1234ABCD +234ABCD +34ABCD +d1234ABCD +4ABCD +bcd1234ABC +ABCD +BCD +abcd1234AB +D +d1234ABCD +D +CD +CD +bcd1234ABC +bcd1234ABC +bcd1234ABC +CD +d1234ABCD +234ABCD +1234ABCD +bcd1234ABC +cd1234ABCD +BCD +4ABCD +bcd1234ABC +CD +234ABCD +1234ABCD +bcd1234ABC +D +234ABCD +D +234ABCD +bcd1234ABC +D +abcd1234AB +D +1234ABCD +34ABCD +ABCD +CD +34ABCD +CD +CD +ABCD +34ABCD +D +CD +abcd1234AB +bcd1234ABC +BCD +4ABCD +234ABCD +bcd1234ABC +d1234ABCD +ABCD +bcd1234ABC +BCD +bcd1234ABC +ABCD +ABCD +234ABCD +4ABCD +D +234ABCD +abcd1234AB +34ABCD +abcd1234AB +ABCD +cd1234ABCD +1234ABCD +234ABCD +1234ABCD +abcd1234AB +CD +abcd1234AB +D +CD +bcd1234ABC +234ABCD +1234ABCD +cd1234ABCD +abcd1234AB +cd1234ABCD +1234ABCD +1234ABCD +1234ABCD +234ABCD +CD +4ABCD +ABCD +ABCD +34ABCD +D +bcd1234ABC +ABCD +D +1234ABCD +d1234ABCD +CD +d1234ABCD +D +1234ABCD +d1234ABCD +abcd1234AB +ABCD +cd1234ABCD +4ABCD +CD +d1234ABCD +34ABCD +cd1234ABCD +1234ABCD +234ABCD +CD +CD +4ABCD +d1234ABCD +bcd1234ABC +d1234ABCD +cd1234ABCD +CD +1234ABCD +BCD +34ABCD +1234ABCD +CD +1234ABCD +34ABCD +CD +ABCD +cd1234ABCD +abcd1234AB +bcd1234ABC +34ABCD +1234ABCD +bcd1234ABC +234ABCD +234ABCD +d1234ABCD +34ABCD +bcd1234ABC +1234ABCD +cd1234ABCD +ABCD +abcd1234AB +CD +34ABCD +abcd1234AB +34ABCD +abcd1234AB +1234ABCD +ABCD +CD +bcd1234ABC +abcd1234AB +CD +cd1234ABCD +D +d1234ABCD +1234ABCD +4ABCD +CD +34ABCD +bcd1234ABC +34ABCD +BCD +BCD +cd1234ABCD +34ABCD +CD +234ABCD +d1234ABCD +CD +abcd1234AB +abcd1234AB +4ABCD +cd1234ABCD +cd1234ABCD +1234ABCD +34ABCD +CD +cd1234ABCD +CD +cd1234ABCD +234ABCD +CD +CD +abcd1234AB +ABCD +BCD +abcd1234AB +ABCD +CD +CD +CD +34ABCD +bcd1234ABC +1234ABCD +BCD +234ABCD +d1234ABCD +34ABCD +CD +D +d1234ABCD +BCD +4ABCD +abcd1234AB +4ABCD +abcd1234AB +d1234ABCD +abcd1234AB +234ABCD +BCD +234ABCD +4ABCD +34ABCD +D +abcd1234AB +cd1234ABCD +BCD +BCD +34ABCD +34ABCD +ABCD +34ABCD +abcd1234AB +ABCD +CD +1234ABCD +1234ABCD +234ABCD +BCD +BCD +BCD +d1234ABCD +abcd1234AB +1234ABCD +D +abcd1234AB +D +D +abcd1234AB +D +abcd1234AB +CD +BCD +D +BCD +D +bcd1234ABC +d1234ABCD +234ABCD +D +d1234ABCD +cd1234ABCD +4ABCD +4ABCD +CD +abcd1234AB +d1234ABCD +d1234ABCD +1234ABCD +BCD +ABCD +CD +d1234ABCD +234ABCD +1234ABCD +D +d1234ABCD +BCD +D +34ABCD +234ABCD +234ABCD +BCD +abcd1234AB +bcd1234ABC +d1234ABCD +4ABCD +34ABCD +4ABCD +CD +bcd1234ABC +D +234ABCD +abcd1234AB +bcd1234ABC +ABCD +D +d1234ABCD +4ABCD +4ABCD +34ABCD +234ABCD +4ABCD +BCD +234ABCD +d1234ABCD +4ABCD +d1234ABCD +cd1234ABCD +abcd1234AB +ABCD +bcd1234ABC +234ABCD +cd1234ABCD +abcd1234AB +bcd1234ABC +4ABCD +CD +d1234ABCD +D +ABCD +ABCD +34ABCD +ABCD +bcd1234ABC +234ABCD +bcd1234ABC +cd1234ABCD +ABCD +d1234ABCD +CD +cd1234ABCD +34ABCD +ABCD +BCD +d1234ABCD +CD +ABCD +abcd1234AB +abcd1234AB +234ABCD +4ABCD +ABCD +cd1234ABCD +d1234ABCD +d1234ABCD +abcd1234AB +34ABCD +d1234ABCD +1234ABCD +ABCD +bcd1234ABC +BCD +cd1234ABCD +BCD +d1234ABCD +4ABCD +234ABCD +234ABCD +cd1234ABCD +234ABCD +4ABCD +34ABCD +34ABCD +D +bcd1234ABC +34ABCD +BCD +bcd1234ABC +cd1234ABCD +ABCD +CD +bcd1234ABC +BCD +ABCD +CD +d1234ABCD +4ABCD +ABCD +34ABCD +CD +CD +d1234ABCD +4ABCD +34ABCD +cd1234ABCD +CD +CD +34ABCD +d1234ABCD +4ABCD +234ABCD +cd1234ABCD +d1234ABCD +abcd1234AB +CD +bcd1234ABC +4ABCD +bcd1234ABC +D +BCD +bcd1234ABC +abcd1234AB +d1234ABCD +4ABCD +ABCD +abcd1234AB +34ABCD +abcd1234AB +D +1234ABCD +4ABCD +CD +1234ABCD +234ABCD +D +abcd1234AB +34ABCD +4ABCD +ABCD +D +BCD +ABCD +abcd1234AB +abcd1234AB +d1234ABCD +d1234ABCD +bcd1234ABC +234ABCD +1234ABCD +BCD +1234ABCD +bcd1234ABC +4ABCD +BCD +ABCD +ABCD +cd1234ABCD +34ABCD +CD +CD +abcd1234AB +ABCD +d1234ABCD +234ABCD +cd1234ABCD +ABCD +cd1234ABCD +bcd1234ABC +ABCD +ABCD +BCD +34ABCD +BCD +34ABCD +1234ABCD +bcd1234ABC +CD +bcd1234ABC +cd1234ABCD +CD +1234ABCD +cd1234ABCD +CD +bcd1234ABC +abcd1234AB +CD +4ABCD +234ABCD +bcd1234ABC +234ABCD +234ABCD +d1234ABCD +abcd1234AB +4ABCD +d1234ABCD +34ABCD +234ABCD +CD +CD +D +1234ABCD +ABCD +cd1234ABCD +d1234ABCD +234ABCD +4ABCD +BCD +bcd1234ABC +D +BCD +CD +d1234ABCD +4ABCD +ABCD +CD +234ABCD +cd1234ABCD +d1234ABCD +d1234ABCD +234ABCD +1234ABCD +CD +1234ABCD +ABCD +234ABCD +bcd1234ABC +cd1234ABCD +d1234ABCD +CD +34ABCD +bcd1234ABC +CD +D +bcd1234ABC +234ABCD +34ABCD +CD +abcd1234AB +abcd1234AB +34ABCD +abcd1234AB +234ABCD +CD +1234ABCD +234ABCD +D +bcd1234ABC +34ABCD +bcd1234ABC +D +CD +1234ABCD +abcd1234AB +d1234ABCD +CD +4ABCD +34ABCD +abcd1234AB +BCD +cd1234ABCD +d1234ABCD +d1234ABCD +ABCD +d1234ABCD +CD +D +4ABCD +CD +D +4ABCD +CD +bcd1234ABC +abcd1234AB +abcd1234AB +d1234ABCD +D +CD +CD +1234ABCD +cd1234ABCD +234ABCD +234ABCD +abcd1234AB +bcd1234ABC +D +4ABCD +abcd1234AB +bcd1234ABC +CD +1234ABCD +1234ABCD +BCD +bcd1234ABC +CD +CD +1234ABCD +4ABCD +CD +d1234ABCD +d1234ABCD +abcd1234AB +d1234ABCD +ABCD +BCD +CD +34ABCD +1234ABCD +234ABCD +d1234ABCD +4ABCD +1234ABCD +BCD +BCD +d1234ABCD +1234ABCD +1234ABCD +D +BCD +bcd1234ABC +234ABCD +CD +1234ABCD +34ABCD +1234ABCD +4ABCD +234ABCD +bcd1234ABC +4ABCD +CD +234ABCD +abcd1234AB +abcd1234AB +ABCD +CD +d1234ABCD +1234ABCD +d1234ABCD +D +d1234ABCD +ABCD +abcd1234AB +D +4ABCD +234ABCD +234ABCD +abcd1234AB +cd1234ABCD +bcd1234ABC +ABCD +1234ABCD +1234ABCD +BCD +abcd1234AB +4ABCD +abcd1234AB +bcd1234ABC +1234ABCD +CD +bcd1234ABC +1234ABCD +4ABCD +cd1234ABCD +234ABCD +1234ABCD +CD +1234ABCD +4ABCD +234ABCD +34ABCD +4ABCD +1234ABCD +CD +4ABCD +abcd1234AB +D +BCD +D +d1234ABCD +34ABCD +BCD +D +D +CD +34ABCD +1234ABCD +d1234ABCD +cd1234ABCD +CD +4ABCD +cd1234ABCD +34ABCD +4ABCD +cd1234ABCD +d1234ABCD +4ABCD +ABCD +CD +1234ABCD +34ABCD +BCD +abcd1234AB +D +bcd1234ABC +34ABCD +234ABCD +bcd1234ABC +1234ABCD +4ABCD +D +d1234ABCD +234ABCD +bcd1234ABC +234ABCD +34ABCD +CD +d1234ABCD +CD +34ABCD +34ABCD +ABCD +1234ABCD +1234ABCD +34ABCD +cd1234ABCD +cd1234ABCD +abcd1234AB +CD +CD +d1234ABCD +bcd1234ABC +CD +CD +d1234ABCD +1234ABCD +D +d1234ABCD +34ABCD +d1234ABCD +1234ABCD +ABCD +4ABCD +bcd1234ABC +4ABCD +ABCD +D +ABCD +ABCD +abcd1234AB +d1234ABCD +cd1234ABCD +D +abcd1234AB +d1234ABCD +bcd1234ABC +1234ABCD +abcd1234AB +CD +CD +D +ABCD +234ABCD +cd1234ABCD +4ABCD +D +34ABCD +ABCD +d1234ABCD +ABCD +d1234ABCD +bcd1234ABC +BCD +bcd1234ABC +34ABCD +CD +abcd1234AB +abcd1234AB +CD +234ABCD +d1234ABCD +d1234ABCD +D +abcd1234AB +BCD +d1234ABCD +abcd1234AB +234ABCD +CD +234ABCD +BCD +34ABCD +4ABCD +bcd1234ABC +CD +CD +BCD +BCD +d1234ABCD +1234ABCD +abcd1234AB +d1234ABCD +CD +ABCD +bcd1234ABC +D +abcd1234AB +234ABCD +bcd1234ABC +cd1234ABCD +abcd1234AB +bcd1234ABC +ABCD +ABCD +BCD +1234ABCD +abcd1234AB +ABCD +4ABCD +CD +234ABCD +abcd1234AB +d1234ABCD +234ABCD +bcd1234ABC +4ABCD +BCD +4ABCD +bcd1234ABC +CD +CD +bcd1234ABC +ABCD +CD +BCD +CD +BCD +d1234ABCD +1234ABCD +ABCD +34ABCD +bcd1234ABC +CD +1234ABCD +d1234ABCD +cd1234ABCD +234ABCD +ABCD +D +d1234ABCD +234ABCD +BCD +bcd1234ABC +bcd1234ABC +d1234ABCD +bcd1234ABC +abcd1234AB +D +bcd1234ABC +234ABCD +bcd1234ABC +4ABCD +CD +ABCD +cd1234ABCD +1234ABCD +34ABCD +234ABCD +234ABCD +ABCD +bcd1234ABC +ABCD +bcd1234ABC +d1234ABCD +1234ABCD +ABCD +34ABCD +BCD +abcd1234AB +34ABCD +cd1234ABCD +234ABCD +D +234ABCD +BCD +BCD +cd1234ABCD +234ABCD +abcd1234AB +1234ABCD +ABCD +ABCD +ABCD +bcd1234ABC +1234ABCD +ABCD +234ABCD +D +abcd1234AB +CD +4ABCD +1234ABCD +1234ABCD +abcd1234AB +bcd1234ABC +234ABCD +34ABCD +1234ABCD +d1234ABCD +4ABCD +1234ABCD +ABCD +D +bcd1234ABC +D +abcd1234AB +4ABCD +BCD +bcd1234ABC +BCD +4ABCD +4ABCD +cd1234ABCD +4ABCD +BCD +bcd1234ABC +D +BCD +d1234ABCD +cd1234ABCD +cd1234ABCD +cd1234ABCD +D +4ABCD +D +CD +4ABCD +4ABCD +4ABCD +abcd1234AB +CD +abcd1234AB +234ABCD +d1234ABCD +cd1234ABCD +4ABCD +cd1234ABCD +4ABCD +1234ABCD +cd1234ABCD +bcd1234ABC +234ABCD +d1234ABCD +bcd1234ABC +abcd1234AB +34ABCD +234ABCD +cd1234ABCD +CD +BCD +D +4ABCD +D +abcd1234AB +bcd1234ABC +CD +cd1234ABCD +ABCD +BCD +abcd1234AB +CD +D +BCD +bcd1234ABC +CD +1234ABCD +bcd1234ABC +cd1234ABCD +d1234ABCD +ABCD +cd1234ABCD +BCD +abcd1234AB +234ABCD +D +cd1234ABCD +D +4ABCD +d1234ABCD +34ABCD +abcd1234AB +d1234ABCD +1234ABCD +abcd1234AB +bcd1234ABC +bcd1234ABC +234ABCD +d1234ABCD +BCD +BCD +BCD +ABCD +abcd1234AB +D +1234ABCD +cd1234ABCD +234ABCD +234ABCD +abcd1234AB +34ABCD +cd1234ABCD +234ABCD +cd1234ABCD +D +d1234ABCD +234ABCD +234ABCD +4ABCD +abcd1234AB +1234ABCD +cd1234ABCD +D +bcd1234ABC +234ABCD +bcd1234ABC +34ABCD +ABCD +4ABCD +cd1234ABCD +abcd1234AB +abcd1234AB +bcd1234ABC +D +234ABCD +234ABCD +ABCD +ABCD +BCD +1234ABCD +4ABCD +4ABCD +d1234ABCD +abcd1234AB +D +34ABCD +1234ABCD +4ABCD +D +abcd1234AB +ABCD +abcd1234AB +ABCD +CD +abcd1234AB +34ABCD +cd1234ABCD +D +CD +CD +234ABCD +bcd1234ABC +CD +ABCD +D +4ABCD +abcd1234AB +abcd1234AB +bcd1234ABC +d1234ABCD +BCD +BCD +234ABCD +bcd1234ABC +4ABCD +cd1234ABCD +abcd1234AB +34ABCD +1234ABCD +d1234ABCD +CD +BCD +ABCD +4ABCD +234ABCD +D +4ABCD +1234ABCD +abcd1234AB diff --git a/benches/sbocco.rs b/benches/sbocco.rs new file mode 100644 index 0000000..aa89998 --- /dev/null +++ b/benches/sbocco.rs @@ -0,0 +1,13 @@ +#[macro_use] +extern crate criterion; + +use criterion::Criterion; +use rainbowcazzi::rainbow; + +fn criterion_benchmark(c: &mut Criterion) { + c.bench_function("sbocco", |b| b.iter(|| rainbow("assets/sbocco"))); + c.bench_function("sbocchino", |b| b.iter(|| rainbow("assets/sbocchino"))); +} + +criterion_group!(benches, criterion_benchmark); +criterion_main!(benches); diff --git a/sbocco.sh b/sbocco.sh new file mode 100755 index 0000000..3116445 --- /dev/null +++ b/sbocco.sh @@ -0,0 +1,6 @@ +#!/bin/bash + +chars=abcd1234ABCD +for i in {1..10000} ; do + echo ${chars:RANDOM%${#chars}:10} >> assets/sbocco +done diff --git a/src/lib.rs b/src/lib.rs new file mode 100644 index 0000000..79b647b --- /dev/null +++ b/src/lib.rs @@ -0,0 +1,45 @@ +extern crate crypto_hash; +extern crate crossbeam_channel; + +use std::io::BufReader; +use crypto_hash::{Algorithm, hex_digest}; +use crossbeam_channel as channel; +use std::thread; +use std::io::prelude::*; +use std::fs::File; + +const NWORKERS: usize = 10; + +pub fn rainbow(file: &str) { + let f = File::open(file).unwrap(); + let reader = BufReader::new(f); + + let (sx, rx) = channel::unbounded(); + + let prod = thread::spawn(move|| { + for line in reader.lines() { + let _ = sx.send(line.unwrap()); + } + }); + + let mut workers = Vec::with_capacity(NWORKERS); + for _ in 0..NWORKERS { + let rx = rx.clone(); + workers.push(thread::spawn(move|| { + loop { + match rx.try_recv() { + Some(line) => { + let _digest = hex_digest(Algorithm::MD5, line.as_bytes()); + // println!("{}", _digest); + }, + None => break + } + } + })); + } + + let _ = prod.join(); + for _ in 0..NWORKERS { + workers.pop().unwrap().join().unwrap(); + } +} diff --git a/src/main.rs b/src/main.rs new file mode 100644 index 0000000..8eb11fb --- /dev/null +++ b/src/main.rs @@ -0,0 +1,6 @@ +use rainbowcazzi::rainbow; + +fn main() { + rainbow("assets/sbocco"); +} +