------ art_20182_10535670.1173800211872 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Content-Disposition: inline Here's my SimFrost solution. It was done by Saturday night, but I so wanted to get images working. Thanks James Edward Gray II for the PPM solution ------ art_20182_10535670.1173800211872 Content-Type: application/x-ruby; name=SimFrost.rb Content-Transfer-Encoding: base64 X-Attachment-Id: f_ez8ib19a Content-Disposition: attachment; filename="SimFrost.rb" IyEvdXNyL2Jpbi9ydWJ5CgpjbGFzcyBBcnJheQogIGRlZiBsb29wX2xlZnQ7IHB1c2ggc2hpZnQ7 IGVuZAogIGRlZiBsb29wX3JpZ2h0OyB1bnNoaWZ0IHBvcDsgZW5kCmVuZAoKbW9kdWxlIFNJTUZS T1NUCiAgY2xhc3MgUG9pbnQKICAgIGRlZiBpbml0aWFsaXplKHN0YXRlPW5pbCkKICAgICAgQHN0 YXRlID0gc3RhdGUKICAgIGVuZAogICAgYXR0ciA6c3RhdGUsIHRydWUKICAgIGRlZiB0b19zCiAg ICAgICggQHN0YXRlID09IDp2YXBvciA/ICcuJyA6ICggQHN0YXRlID09IDppY2UgPyAnKicgOiAn ICcgKSApCiAgICBlbmQKICAgIGRlZiBjb2xvcgogICAgICAoIEBzdGF0ZSA9PSA6dmFwb3IgPyBb MCwwLDI1NV0ucGFjaygiQyoiKSA6IAogICAgICAgICAgKCBAc3RhdGUgPT0gOmljZSA/IChbMjU1 XSozKS5wYWNrKCJDKiIpIDogKFswXSozKS5wYWNrKCJDKiIpICkgKQogICAgZW5kCiAgZW5kCgog IGNsYXNzIENlbGwKICAgIGNsYXNzIDw8IHNlbGYKICAgICAgZGVmIHVwZGF0ZSggKnBvaW50cyAp I3RsLCB0ciwgYnIsIGJsICkKICAgICAgICBpZiBwb2ludHMuYW55P3t8cHxwLnN0YXRlPT06aWNl fQogICAgICAgICAgcG9pbnRzID0gcG9pbnRzLm1hcHt8cHwgcC5zdGF0ZSA9IDppY2UgdW5sZXNz IHAuc3RhdGUubmlsPyB9CiAgICAgICAgZWxzZQogICAgICAgICAgc3RhdGVzID0gcG9pbnRzLm1h cHt8cHwgcC5zdGF0ZX0KICAgICAgICAgIHN0YXRlcyA9ICggKHJhbmQgPCAwLjUpID8gc3RhdGVz Lmxvb3BfbGVmdCA6IHN0YXRlcy5sb29wX3JpZ2h0ICkKICAgICAgICAgIHBvaW50cy5lYWNoX3dp dGhfaW5kZXh7fHAsaXwgcC5zdGF0ZSA9IHN0YXRlc1tpXX0KICAgICAgICBlbmQKICAgICAgZW5k CiAgICBlbmQKICBlbmQKCiAgY2xhc3MgR3JpZAogICAgZGVmIGluaXRpYWxpemUobGVuZ3RoLCB2 YXBvcl9wY3QpCiAgICAgIEBsZW5ndGggPSBsZW5ndGgKICAgICAgQHBvaW50cyA9ICgxLi5sZW5n dGgpLm1hcCBkbyB8aHwKICAgICAgICAgICgxLi5sZW5ndGgpLm1hcCBkbyB8d3wKICAgICAgICAg ICAgUG9pbnQubmV3KCAoOnZhcG9yIGlmIChyYW5kIDwgdmFwb3JfcGN0ICkpICkKICAgICAgICAg IGVuZAogICAgICAgIGVuZAogICAgICBAcG9pbnRzW2xlbmd0aC8yXVtsZW5ndGgvMl0uc3RhdGUg PSA6aWNlCiAgICAgIEB0aWNrID0gMAogICAgZW5kCiAgICBkZWYgdGV4dF9kaXNwbGF5CiAgICAg IHB1dHMKICAgICAgQHBvaW50cy5lYWNoIGRvIHxyb3d8CiAgICAgICAgcHV0cyByb3cubWFweyB8 cHwgcC50b19zIH0uam9pbignICcpCiAgICAgIGVuZAogICAgZW5kCiAgICBkZWYgZ2VuZXJhZ2Vf aW1hZ2UKICAgICAgRGlyLm1rZGlyICJmcm9zdF8jeyQkfSIgdW5sZXNzIEZpbGUuZXhpc3Q/ICJm cm9zdF8jeyQkfSIKICAgICAgQGltYWdlID0gImZyb3N0XyN7JCR9LyN7ICIlLTA1ZCIgJSBAdGlj ayB9LnBwbSIKICAgICAgRmlsZS5vcGVuKEBpbWFnZSwgJ3cnKSBkbyB8aW1nfAogICAgICAgIGlt Zy5wdXRzICJQNiAje0BsZW5ndGh9ICN7QGxlbmd0aH0gMjU1IgogICAgICAgIEBwb2ludHMuZWFj aF93aXRoX2luZGV4IGRvIHxyb3csIHl8CiAgICAgICAgICByb3cuZWFjaF93aXRoX2luZGV4IGRv IHxwb2ludCwgeHwKICAgICAgICAgICAgaW1nLnByaW50IHBvaW50LmNvbG9yCiAgICAgICAgICBl bmQKICAgICAgICBlbmQKICAgICAgZW5kCiAgICBlbmQKICAgIGRlZiBoYXNfdmFwb3I/CiAgICAg IEBwb2ludHMuYW55P3t8cm93fCByb3cuYW55P3t8cHwgcC5zdGF0ZSA9PSA6dmFwb3J9IH0KICAg IGVuZAogICAgZGVmIHRpY2sKICAgICAgaWYgKEB0aWNrICUgMikgPT0gMQogICAgICAgIEBwb2lu dHMgPSBAcG9pbnRzLmxvb3BfcmlnaHQKICAgICAgICBAcG9pbnRzID0gQHBvaW50cy5tYXB7fHJv d3wgcm93Lmxvb3BfcmlnaHQgfQogICAgICBlbmQKICAgICAgKDAuLkBsZW5ndGgvMi0xKS5lYWNo IGRvIHx5fAogICAgICAgICgwLi5AbGVuZ3RoLzItMSkuZWFjaCBkbyB8eHwKICAgICAgICAgIGxp c3QgPSBbIEBwb2ludHNbeSoyKzBdW3gqMiswXSwgQHBvaW50c1t5KjIrMV1beCoyKzBdLAogICAg ICAgICAgICAgICAgICAgQHBvaW50c1t5KjIrMV1beCoyKzFdLCBAcG9pbnRzW3kqMiswXVt4KjIr MV0gXQogICAgICAgICAgQ2VsbC51cGRhdGUoICpsaXN0ICkKICAgICAgICBlbmQKICAgICAgZW5k CiAgICAgIGlmIChAdGljayAlIDIpID09IDEKICAgICAgICBAcG9pbnRzID0gQHBvaW50cy5sb29w X2xlZnQKICAgICAgICBAcG9pbnRzID0gQHBvaW50cy5tYXB7fHJvd3wgcm93Lmxvb3BfbGVmdCB9 CiAgICAgIGVuZAogICAgICBAdGljayArPSAxCiAgICAgIGhhc192YXBvcj8KICAgIGVuZAogIGVu ZAoKICBjbGFzcyBGcm9zdFNpbXVsYXRvcgogICAgZGVmIGluaXRpYWxpemUob3B0aW9ucykKICAg ICAgQGdyaWQgPSBHcmlkLm5ldyhvcHRpb25zWzpzaXplXS50b19pLCBvcHRpb25zWzp2YXBvcl9w Y3RdLnRvX2YpCiAgICAgIEBncmlkLnRleHRfZGlzcGxheSBpZiAldyhib3RoIHRleHQpLmluY2x1 ZGU/IG9wdGlvbnNbOm91dHB1dF0KICAgICAgQGdyaWQuZ2VuZXJhZ2VfaW1hZ2UgaWYgJXcoYm90 aCBwcG0pLmluY2x1ZGU/IG9wdGlvbnNbOm91dHB1dF0KICAgICAgd2hpbGUgQGdyaWQudGljawog ICAgICAgIEBncmlkLnRleHRfZGlzcGxheSBpZiAldyhib3RoIHRleHQpLmluY2x1ZGU/IG9wdGlv bnNbOm91dHB1dF0KICAgICAgICBAZ3JpZC5nZW5lcmFnZV9pbWFnZSBpZiAldyhib3RoIHBwbSku aW5jbHVkZT8gb3B0aW9uc1s6b3V0cHV0XQogICAgICAgIHNsZWVwIG9wdGlvbnNbOmRlbGF5XS50 b19mIGlmICV3KGJvdGggdGV4dCkuaW5jbHVkZT8gb3B0aW9uc1s6b3V0cHV0XQogICAgICBlbmQK ICAgICAgQGdyaWQudGV4dF9kaXNwbGF5IGlmICV3KGJvdGggdGV4dCkuaW5jbHVkZT8gb3B0aW9u c1s6b3V0cHV0XQogICAgICBAZ3JpZC5nZW5lcmFnZV9pbWFnZSBpZiAldyhib3RoIHBwbSkuaW5j bHVkZT8gb3B0aW9uc1s6b3V0cHV0XQogICAgZW5kCiAgZW5kCmVuZAoKb3B0aW9ucyA9IHsgOmFy Z3MgPT4gW10sIDpzaXplID0+IDUwLCA6dmFwb3JfcGN0ID0+IDAuMywgOmRlbGF5ID0+IDAuMjUs IAogICAgICAgICAgICA6b3V0cHV0ID0+ICd0ZXh0JyB9CndoaWxlICFBUkdWLmVtcHR5PyBkbwog IHN0ciA9IEFSR1Yuc2hpZnRbLy17MCwyfShbYS16XSopLywgMV0KICByZXN1bHQgPSBvcHRpb25z LmZpbmR7fGssdnwgc3RyLnRvX3N5bSA9PSBrIG9yIHN0clswXSA9PSBrLnRvX3NbMF19CiAgaWYg IXJlc3VsdC5uaWw/IGFuZCByZXN1bHQubGVuZ3RoID09IDIKICAgIG9wdGlvbnNbcmVzdWx0WzBd XSA9IEFSR1Yuc2hpZnQKICBlbHNlCiAgICBvcHRpb25zWzphcmdzXSA8PCBBUkdWLnNoaWZ0CiAg ZW5kCmVuZAppZiAhb3B0aW9uc1s6YXJnc10uZW1wdHk/CiAgcHV0cyAiVXNhZ2U6ICN7X19GSUxF X199IFstLXNpemUgNTBdIFstLXZhcG9yX3BjdCAwLjNdIgogIHB1dHMgIiAgICAgICAjeycgJypf X0ZJTEVfXy5sZW5ndGh9IFstLWRlbGF5IDAuMjVdIFstLW91dHB1dCAodGV4dHxwcG18Ym90aCld IgplbHNlCiAgU0lNRlJPU1Q6OkZyb3N0U2ltdWxhdG9yLm5ldyhvcHRpb25zKQplbmQK ------ art_20182_10535670.1173800211872--