From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Michael Kerrisk" Subject: [RFH] Math function error-reporting tests Date: Mon, 4 Aug 2008 17:48:51 +0200 Message-ID: Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="----=_Part_35666_9778604.1217864931942" Return-path: Sender: linux-man-owner-u79uwXL29TY76Z2rM5mHXA@public.gmane.org To: linux-man-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, libc-help-9JcytcrH/bA+uJoB2kUjGw@public.gmane.org Cc: Andreas Jaeger , "Joseph S. Myers" , Andries Brouwer , Fabian Kreutz List-Id: linux-man@vger.kernel.org ------=_Part_35666_9778604.1217864931942 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Content-Disposition: inline Hello linux-man and libc-help, I'm in the process of revising all of the man-pages describing the math functions in glibc. I recently wrote some scripts to test the error-reporting support (i.e., errno versus exceptions) in all of the glibc math functions (for some background, look here: http://thread.gmane.org/gmane.comp.lib.glibc.alpha/13583/). Andries helped me iron out a few bugs, and get a few more test results, so that I now have data for the following glibc versions: 2.2.4 2.3.3 2.3.5 2.7 2.8 I'd like to get test results for as many (x86) glibc versions as possible, especially (but not only) for glibc versions before 2.2.4. Would any folk on the list who have x86 systems with other glibc versions be prepared to run my test scripts and send me the results? A run of the scripts takes of the order of one minute. (To find out what glibc version you are running, enter the following command /lib/libc.so.6 and look at the first line of output.) To run the script: a) Extract the two attached shell scripts to the same directory. b) Run the test: sh math_tests.sh > mt.log (This step will also produce around 100 (C and executable) files in /tmp.) c) clean up: rm /tmp/mt_* d) Send me the results (i.e., the mt.log above), CCing the list and mentioning what glibc version(s) you used, so that other people don't duplicate tests for the same glibc. Thanks, Michael -- Michael Kerrisk Linux man-pages maintainer; http://www.kernel.org/doc/man-pages/ man-pages online: http://www.kernel.org/doc/man-pages/online_pages.html Found a bug? http://www.kernel.org/doc/man-pages/reporting_bugs.html ------=_Part_35666_9778604.1217864931942 Content-Type: application/x-sh; name=math_error_test.sh Content-Transfer-Encoding: base64 X-Attachment-Id: f_fjh8vo2i0 Content-Disposition: attachment; filename=math_error_test.sh IyEvYmluL3NoCiMKIyBtYXRoX2Vycm9yX3Rlc3Quc2gKIwojIEJ1aWxkIGEgQyBwcm9ncmFtIHRv IHRlc3QgY29uZm9ybWFuY2Ugb2YgYSBtYXRoIGZ1bmN0aW9uIHRvCiMgc3BlY2lmaWNhdGlvbiwg YW5kIG9wdGlvbmFsbHkgcnVuIHRoZSBwcm9ncmFtIGluIG9yZGVyIHRvCiMgY29uZHVjdCB0aGUg dGVzdAojCiMgQ29weXJpZ2h0IDIwMDgsIExpbnV4IEZvdW5kYXRpb24sIHdyaXR0ZW4gYnkgTWlj aGFlbCBLZXJyaXNrLAojIAk8bXRrLm1hbnBhZ2VzQGdtYWlsLmNvbT4KIyBMaWNlbnNlZCB1bmRl ciBHUEx2MiBvciBsYXRlci4KIwojCiMgSnVseSAyMDA4CgojIFN1cHBvcnRlZCB0eXBlIElEcwpU X0RPVUJMRT0iZCIKVF9GTE9BVD0iZiIKVF9MT05HX0RPVUJMRT0ibGQiClRfTE9ORz0ibCIKVF9M T05HX0xPTkc9ImxsIgpUX0lOVD0iaSIKCiMgUmV0dXJuIGEgc3RyaW5nIGNvbnRhaW5pbmcgdGhl IEMgdHlwZSBmb3IgYSB0eXBlIElECgp0eXBlX2ZvcigpCnsKICAgIGNhc2UgIiQxIiBpbgogICAg IiRUX0RPVUJMRSIpCWVjaG8gImRvdWJsZSI7OwogICAgIiRUX0ZMT0FUIikJCWVjaG8gImZsb2F0 Ijs7CiAgICAiJFRfTE9OR19ET1VCTEUiKQllY2hvICJsb25nIGRvdWJsZSI7OwogICAgIiRUX0xP TkciKQkJZWNobyAibG9uZyI7OwogICAgIiRUX0xPTkdfTE9ORyIpCWVjaG8gImxvbmcgbG9uZyI7 OwogICAgIiRUX0lOVCIpCQllY2hvICJpbnQiOzsKICAgICopIAkJCWVjaG8gIkJhZCBjYXNlIGlu ICQwKCkiIDE+JjI7IGV4aXQgMjs7CiAgICBlc2FjCn0KCiMgUmV0dXJuIGEgc3RyaW5nIGNvbnRh aW5pbmcgYSBzdWl0YWJsZSBwcmludGYoKSBmb3JtYXQgc3BlY2lmaWNhdGlvbgojIGZvciBhIHR5 cGUgSUQKCmZvcm1hdF9mb3IoKQp7CiAgICBjYXNlICIkMSIgaW4KICAgICIkVF9ET1VCTEUiKQll Y2hvICIlLjE3ZSI7OwogICAgIiRUX0ZMT0FUIikJCWVjaG8gIiUuMTBlIjs7CiAgICAiJFRfTE9O R19ET1VCTEUiKQllY2hvICIlLjM2TGUiOzsKICAgICIkVF9MT05HIikJCWVjaG8gIiVsZCI7Owog ICAgIiRUX0xPTkdfTE9ORyIpCWVjaG8gIiVsbGQiOzsKICAgICIkVF9JTlQiKQkJZWNobyAiJWQi OzsKICAgICopIAkJCWVjaG8gIkJhZCBjYXNlIGluICQwKCkiIDE+JjI7IGV4aXQgMjs7CiAgICBl c2FjCn0KCiMgUmV0dXJuIGEgc3RyaW5nIGNvbnRhaW5pbmcgYSBzdWl0YWJsZSBzdHJ0b3h4eHgo KSBmdW5jdGlvbgojIGZvciBhIHR5cGUgSUQKCnN0cnRvX3R5cGVfZnVuYygpCnsKICAgIGNhc2Ug IiQxIiBpbgogICAgIiRUX0RPVUJMRSIpCWVjaG8gInN0cnRvZCgkMiwgJDMpIjs7CiAgICAiJFRf RkxPQVQiKQkJZWNobyAic3RydG9mKCQyLCAkMykiOzsKICAgICIkVF9MT05HX0RPVUJMRSIpCWVj aG8gInN0cnRvbGQoJDIsICQzKSI7OwogICAgIiRUX0xPTkciKQkJZWNobyAic3RydG9sKCQyLCAk MywgMCkiOzsKICAgICIkVF9JTlQiKQkJZWNobyAic3RydG9sKCQyLCAkMywgMCkiOzsKICAgICIk VF9MT05HX0xPTkciKQllY2hvICJzdHJ0b2xsKCQyLCAkMywgMCkiOzsKICAgICopIAkJCWVjaG8g IkJhZCBjYXNlIGluICQwKCkiIDE+JjI7IGV4aXQgMjs7CiAgICBlc2FjCn0KCnN0cnRvX2Zvcigp CnsKICAgIGlmIHRlc3QgJDEgPSAkb3B0X2FyZ190eXBlOyB0aGVuCiAgICAgICAgZWNobyAiJHN0 cl9jb252X2Z1bmMoJDIpIgogICAgICAgIHJldHVybjsKICAgIGZpCiAgICBzdHJ0b190eXBlX2Z1 bmMgIiQxIiAiJDIiICIkMyIKfQoKdXNhZ2UoKQp7CiAgICBlY2hvICJCYWQgdXNhZ2U6ICQyIgog ICAgZWNobyAiVXNhZ2U6ICQwIFtvcHRpb25zXSBbLWUgPGV4cGVjdGVkLXJlc3VsdD5dIGZ1bmMt bmFtZSBbZXhlYy1hcmdzXSIKICAgIGVjaG8gIk9wdGlvbnMgY2FuIGJlOiIKICAgIGVjaG8gIiAg ICAtQiAgICAgICAgICAgRG9uJ3QgYnVpbGQvY29tcGlsZSBwcm9ncmFtIChqdXN0IHJ1biBhIHRl c3QpIgogICAgZWNobyAiICAgIC1mIDx0eXBlPiAgICBGdW5jdGlvbiBhcmd1bWVudCB0eXBlIiBc CiAgICAgICAgICAgICAgICAgICAgICAgICAgIigkVF9ET1VCTEUsICRUX0ZMT0FULCAkVF9MT05H X0RPVUJMRSkiCiAgICBlY2hvICIgICAgLW4gPG51bT4gICAgIE51bWJlciBvZiBpbnB1dCBhcmd1 bWVudHMgdG8gZnVuY3Rpb24gKGRlZmF1bHQ6IDEpIgogICAgZWNobyAiICAgICAgICAgICAgICAg ICBEZWZhdWx0OiAkVF9ET1VCTEUiCiAgICBlY2hvICIgICAgLXIgPHR5cGU+ICAgIEZ1bmN0aW9u IHJlc3VsdCB0eXBlIgogICAgZWNobyAiICAgICAgICAgICAgICAgICAoZGVmYXVsdHMgdG8gYXJn dW1lbnQgdHlwZSAoLWYpKSIKICAgIGVjaG8gIiAgICAgICAgICAgICAgICAgQ2FuIGJlOiAkVF9E T1VCTEUsICRUX0ZMT0FULCIgXAogICAgICAgICAgICAgICAgICAgICAgICAgICIkVF9MT05HX0RP VUJMRSwgJFRfTE9ORywgJFRfSU5ULCAkVF9MT05HX0xPTkciCiAgICBlY2hvICIgICAgLVIgPGZv cm1hdD4gIEZvcm1hdCAocHJpbnRmKCkpIGZvciBwcmludGluZyBmdW5jdGlvbiByZXN1bHQiCiAg ICBlY2hvICIgICAgLXggPHR5cGU+ICAgIFR5cGUgZm9yIGlucHV0IGFyZ3VtZW50IDEiCiAgICBl Y2hvICIgICAgICAgICAgICAgICAgIChkZWZhdWx0cyB0byBhcmd1bWVudCB0eXBlICgtZikpIgog ICAgZWNobyAiICAgIC1YIDxmb3JtYXQ+ICBGb3JtYXQgKHByaW50ZigoKSBmb3IgcHJpbnRpbmcg aW5wdXQgYXJndW1lbnQgMSIKICAgIGVjaG8gIiAgICAteSA8dHlwZT4gICAgVHlwZSBmb3IgaW5w dXQgYXJndW1lbnQgMiIKICAgIGVjaG8gIiAgICAgICAgICAgICAgICAgKGRlZmF1bHRzIHRvIGFy Z3VtZW50IHR5cGUgKC1mKSkiCiAgICBlY2hvICIgICAgLVkgPGZvcm1hdD4gIEZvcm1hdCAocHJp bnRmKCgpIGZvciBwcmludGluZyBpbnB1dCBhcmd1bWVudCAyIgogICAgZWNobyAiICAgIC16IDx0 eXBlPiAgICBUeXBlIGZvciBpbnB1dCBhcmd1bWVudCAzIgogICAgZWNobyAiICAgICAgICAgICAg ICAgICAoZGVmYXVsdHMgdG8gYXJndW1lbnQgdHlwZSAoLWYpKSIKICAgIGVjaG8gIiAgICAtWiA8 Zm9ybWF0PiAgRm9ybWF0IChwcmludGYoKCkgZm9yIHByaW50aW5nIGlucHV0IGFyZ3VtZW50IDMi CiAgICBlY2hvICIgICAgLW8gPHR5cGU+ICAgIFR5cGUgZm9yIG91dHB1dCBhcmd1bWVudCIKICAg IGVjaG8gIiAgICAgICAgICAgICAgICAgKGRlZmF1bHRzIHRvIGFyZ3VtZW50IHR5cGUgKC1mKSki CiAgICBlY2hvICIgICAgLU8gPGZvcm1hdD4gIEZvcm1hdCAocHJpbnRmKCgpIGZvciBwcmludGlu ZyBvdXRwdXQgYXJndW1lbnQiCiAgICBlY2hvICIgICAgICAgICAgICAgICAgIChBbiBvdXRwdXQg YXJndW1lbnQgaXMgYWx3YXlzIGFzc3VtZWQgdG8gYmUgdGhlIgogICAgZWNobyAiICAgICAgICAg ICAgICAgICAgbGFzdCBpbiBhIGZ1bmN0aW9uJ3MgYXJndW1lbnQgbGlzdCkiCiAgICBlY2hvICIg ICAgLXMgPHN0cj4gICAgIFN1ZmZpeCBmb3IgZnVuY3Rpb24gbmFtZSAoZS5nLiwgXCJfclwiKSIK ICAgIGVjaG8gIiAgICAtcSAgICAgICAgICAgTWFrZSB0ZXN0IGV4ZWN1dGlvbiBxdWlldCIKICAg IGVjaG8gIiIKICAgIGVjaG8gImZ1bmMtbmFtZSAgIGlzIHRoZSBuYW1lIG9mIHRoZSBmdW5jdGlv biB0byBiZSB0ZXN0ZWQgKHdpbGwiCiAgICBlY2hvICIgICAgICAgICAgICBiZSBzdWZmaXhlZCBh Y2NvcmRpbmcgdG8gLWYgdmFsdWUsIGFuZCAtcyBzdWZmaXgpIgogICAgZWNobyAiIgogICAgZWNo byAiZXhlYy1hcmdzICAgSWYgdGhlc2UgYXJlIHN1cHBsaWVkIHRoZW4gcnVuIGEgdGVzdCBvZiB0 aGUgcHJvZ3JhbSIKICAgIGVjaG8gIiAgICAgICAgICAgIHVzaW5nIHRoZXNlIGFyZ3VtZW50cy4g IEVhY2ggYXJndW1lbnQgY2FuIGJlIG9uZSBvZiAiCiAgICBlY2hvICIgICAgICAgICAgICB0aGUg Zm9sbG93aW5nIChjYXNlIGlzIG5vdCBzaWduZmljYW50KToiCiAgICBlY2hvICIgICAgICAgICAg ICAiCiAgICBlY2hvICIgICAgICAgICAgICA8bnVtYmVyPiAgICAgIEEgZmxvYXRpbmctcG9pbXQg bnVtYmVyIgogICAgZWNobyAiICAgICAgICAgICAgK2luZiAvIC1pbmYgICBBbiBpbmZpbml0eSIK ICAgIGVjaG8gIiAgICAgICAgICAgIG5hbiAgICAgICAgICAgQSBOYU4iCiAgICBlY2hvICIgICAg ICAgICAgICAtbWF4IC8gbWF4ICAgIExhcmdlc3QgbmVnYXRpdmUvcG9zaXRpdmUgIgogICAgZWNo byAiICAgICAgICAgICAgICAgICAgICAgICAgICBmbG9hdGluZy1wb2ludCB2YWx1ZSBvZiBmdW5j dGlvbiIKICAgIGVjaG8gIiAgICAgICAgICAgICAgICAgICAgICAgICAgYXJndW1lbnQgdHlwZS4i CiAgICBlY2hvICIgICAgICAgICAgICAtbWluIC8gbWluICAgIFNtYWxsZXN0IG5lZ2F0aXZlL3Bv c2l0aXZlICIKICAgIGVjaG8gIiAgICAgICAgICAgICAgICAgICAgICAgICAgZmxvYXRpbmctcG9p bnQgdmFsdWUgb2YgZnVuY3Rpb24iCiAgICBlY2hvICIgICAgICAgICAgICAgICAgICAgICAgICAg IGFyZ3VtZW50IHR5cGUuIgogICAgZWNobyAiICAgICAgICAgICAgc3Vibm9ybWFsWzpuXSBhIHN1 Ym5vcm1hbCBudW1iZXIgd2hlcmUgdGhlIG1vc3QiCiAgICBlY2hvICIgICAgICAgICAgICAgICAg ICAgICAgICAgIHNpZ25pZmljYW50IDEgaXMgbiBiaXRzIGZyb20gdGhlIgogICAgZWNobyAiICAg ICAgICAgICAgICAgICAgICAgICAgICBzdGFydCBvZiB0aGUgc2lnbmlmaWNhbmQiCiAgICBlY2hv ICIgICAgICAgICAgICBkYmxfbWluICAgICAiCiAgICBlY2hvICIgICAgICAgICAgICAgICAgICIK ICAgIGVjaG8gIiAgICAgICAgICAgICAgICAgIgogICAgZWNobyAiIgogICAgZWNobyAiVGhlIC1l IG9wdGlvbiBpcyB1c2VkIHRvIHNwZWNpZnkgdGhlIGV4dGVjdGVkIHJlc3VsdHMgb2YiCiAgICBl Y2hvICJleGVjdXRpbmcgdGhlIHRlc3QgcHJvZ3JhbSBzbyB0aGF0IGl0IGNhbGxzIHRoZSB0ZXN0 IGZ1bmN0aW9uIgogICAgZWNobyAid2l0aCB0aGUgZ2l2ZW4gZXhlYy1hcmdzLiAgSXQgaGFzIHRo ZSBmb3JtIgogICAgZWNobyAiIgogICAgZWNobyAiICAgICAtZTxlcnJubz4sPGV4Y2VwdGlvbj4s PHJlc3VsdD4iCiAgICBlY2hvICIgICAgICAgICBlcnJubyAgICAgaXMgRURPTSwgRVJBTkdFLCBv ciAwIChubyBlcnJvciBleHBlY3RlZCkiCiAgICBlY2hvICIgICAgICAgICBleGNlcHRpb24gaXMg RkVfSU5WQUxJRCwgRkVfRElWQllaRVJPLCBGRV9VTkRFUkZMT1csIgogICAgZWNobyAiICAgICAg ICAgICAgICAgICAgIEZFX09WRVJGTE9XLCBvciAwIChubyBleGNlcHRpb24gZXhwZWN0ZWQpIgog ICAgZWNobyAiICAgICAgICAgcmVzdWx0IGNhbiBiZToiCiAgICBlY2hvICIgICAgICAgICAgICAg ICArMCwgLTAsIC1pbmYsICtpbmYsIG5hbiwgbm9ybWFsLCBzdWJub3JtYWwiCiAgICBlY2hvICIg ICAgICAgICAgICAgICBvciBhbiBhY3R1YWwgbnVtZXJpYyB2YWx1ZSIKICAgIGV4aXQgMgp9Cgpi dWlsZF90ZXN0X3Byb2dyYW1fc291cmNlKCkKewpjYXQgPj4gJGZpbGVuYW1lIDw8IEVPRgovKiAk ZmlsZW5hbWUgKGF1dG8tZ2VuZXJhdGVkIGF0ICQoZGF0ZSArIiVGICVUIikpICovCiNkZWZpbmUg X1hPUEVOX1NPVVJDRSA2MDAKI2RlZmluZSBfR05VX1NPVVJDRQojaW5jbHVkZSA8YXNzZXJ0Lmg+ CiNpbmNsdWRlIDxzdGRsaWIuaD4KI2luY2x1ZGUgPHVuaXN0ZC5oPgojaW5jbHVkZSA8c3RkaW8u aD4KI2luY2x1ZGUgPGVycm5vLmg+CiNpbmNsdWRlIDxzdHJpbmcuaD4KI2luY2x1ZGUgPGZlbnYu aD4KI2luY2x1ZGUgPGxpbWl0cy5oPgojaW5jbHVkZSA8bWF0aC5oPgojaW5jbHVkZSA8ZmxvYXQu aD4KI2luY2x1ZGUgPGN0eXBlLmg+CgojZGVmaW5lIEVYSVRfdGVzdF9zZXR1cF9mYWlsZWQgMgoK c3RhdGljIGludCB2ZXJib3NlID0gMTsKCi8qIENvbnZlcnQgYSBzdHJpbmcgdG8gYSAkYXJnX3R5 cGUsIGJ1dCBhbGxvdyBhIGZldyBzcGVjaWFsIGNhc2VzCiAgIGluIHRoZSBmb3JtIG9mIG5vbi1u dW1lcmljIHN0cmluZ3MgKi8KCnN0YXRpYyAkYXJnX3R5cGUKJHN0cl9jb252X2Z1bmMoY2hhciAq c3RyKQp7CiAgICBjaGFyICpwOwogICAgY2hhciAqczsKICAgICRhcmdfdHlwZSByZXR2YWw7Cgog ICAgcyA9IHN0cmR1cChzdHIpOwogICAgaWYgKHMgPT0gTlVMTCkgewogICAgICAgIHBlcnJvcigi c3RyZHVwIik7CiAgICAgICAgZXhpdChFWElUX3Rlc3Rfc2V0dXBfZmFpbGVkKTsKICAgIH0KCiAg ICBmb3IgKHAgPSBzOyAqcDsgcCsrKQogICAgICAgICpwID0gdG91cHBlcigqcCk7CgogICAgaWYg KHN0cmNtcChzLCAiLUlORiIpID09IDApIAogICAgICAgIHJldHZhbCA9IC1IVUdFX1ZBTDsgCiAg ICBlbHNlIGlmIChzdHJjbXAocywgIklORiIpID09IDAgfHwgc3RyY21wKHMsICIrSU5GIikgPT0g MCkgCiAgICAgICAgcmV0dmFsID0gSFVHRV9WQUw7CiAgICBlbHNlIGlmIChzdHJjbXAocywgIk5B TiIpID09IDApIAogICAgICAgIHJldHZhbCA9IG5hbiRmdHlwZV9zdWZmaXgoIiIpOwoKRU9GCgog ICAgaWYgdGVzdCAiWCRvcHRfYXJnX3R5cGUiID0gIlgkVF9GTE9BVCI7IHRoZW4KICAgICAgICBt aW52YWw9IkZMVF9NSU4iCiAgICAgICAgbWF4dmFsPSJGTFRfTUFYIgogICAgZWxpZiB0ZXN0ICJY JG9wdF9hcmdfdHlwZSIgPSAiWCRUX0xPTkdfRE9VQkxFIjsgdGhlbgogICAgICAgIG1pbnZhbD0i TERCTF9NSU4iCiAgICAgICAgbWF4dmFsPSJMREJMX01BWCIKICAgIGVsc2UgCiAgICAgICAgbWlu dmFsPSJEQkxfTUlOIgogICAgICAgIG1heHZhbD0iREJMX01BWCIKICAgIGZpCgpjYXQgPj4gJGZp bGVuYW1lIDw8IEVPRgogICAgZWxzZSBpZiAoc3RyY21wKHMsICJNSU4iKSA9PSAwIHx8IHN0cmNt cChzLCAiK01JTiIpID09IDApIAogICAgICAgIHJldHZhbCA9ICRtaW52YWw7CiAgICBlbHNlIGlm IChzdHJjbXAocywgIi1NSU4iKSA9PSAwKSAKICAgICAgICByZXR2YWwgPSAtJG1pbnZhbDsKICAg IGVsc2UgaWYgKHN0cmNtcChzLCAiTUFYIikgPT0gMCB8fCBzdHJjbXAocywgIitNQVgiKSA9PSAw KSAKICAgICAgICByZXR2YWwgPSAkbWF4dmFsOwogICAgZWxzZSBpZiAoc3RyY21wKHMsICItTUFY IikgPT0gMCkgCiAgICAgICAgcmV0dmFsID0gLSRtYXh2YWw7CgogICAgZWxzZSBpZiAoc3RyY21w KHMsICJEQkxfTUlOIikgPT0gMCkgCiAgICAgICAgcmV0dmFsID0gREJMX01JTjsKICAgIGVsc2Ug aWYgKHN0cmNtcChzLCAiLURCTF9NSU4iKSA9PSAwKSAKICAgICAgICByZXR2YWwgPSAtREJMX01J TjsKICAgIGVsc2UgaWYgKHN0cmNtcChzLCAiREJMX01BWCIpID09IDApIAogICAgICAgIHJldHZh bCA9IERCTF9NQVg7CiAgICBlbHNlIGlmIChzdHJjbXAocywgIi1EQkxfTUFYIikgPT0gMCkgCiAg ICAgICAgcmV0dmFsID0gLURCTF9NQVg7CgogICAgZWxzZSBpZiAoc3RyY21wKHMsICJGTFRfTUlO IikgPT0gMCkgCiAgICAgICAgcmV0dmFsID0gRkxUX01JTjsKICAgIGVsc2UgaWYgKHN0cmNtcChz LCAiLUZMVF9NSU4iKSA9PSAwKSAKICAgICAgICByZXR2YWwgPSAtRkxUX01JTjsKICAgIGVsc2Ug aWYgKHN0cmNtcChzLCAiRkxUX01BWCIpID09IDApIAogICAgICAgIHJldHZhbCA9IEZMVF9NQVg7 CiAgICBlbHNlIGlmIChzdHJjbXAocywgIi1GTFRfTUFYIikgPT0gMCkgCiAgICAgICAgcmV0dmFs ID0gLUZMVF9NQVg7CgogICAgZWxzZSBpZiAoc3RyY21wKHMsICJMREJMX01JTiIpID09IDApIAog ICAgICAgIHJldHZhbCA9IExEQkxfTUlOOwogICAgZWxzZSBpZiAoc3RyY21wKHMsICItTERCTF9N SU4iKSA9PSAwKSAKICAgICAgICByZXR2YWwgPSAtTERCTF9NSU47CiAgICBlbHNlIGlmIChzdHJj bXAocywgIkxEQkxfTUFYIikgPT0gMCkgCiAgICAgICAgcmV0dmFsID0gTERCTF9NQVg7CiAgICBl bHNlIGlmIChzdHJjbXAocywgIi1MREJMX01BWCIpID09IDApIAogICAgICAgIHJldHZhbCA9IC1M REJMX01BWDsKCiAgICBlbHNlIGlmIChzdHJuY21wKHMsICJTVUJOT1JNQUwiLCA5KSA9PSAwIHx8 CiAgICAgICAgICAgICBzdHJuY21wKHMsICItU1VCTk9STUFMIiwgMTApID09IDApIHsKICAgICAg ICBjaGFyICpoOwogICAgICAgIGludCBkLCBqOwoKICAgICAgICBoID0gc3RyY2hyKHMsICc6Jyk7 CiAgICAgICAgaWYgKGggPT0gTlVMTCkKICAgICAgICAgICAgZCA9IDQ7CiAgICAgICAgZWxzZQog ICAgICAgICAgICBkID0gYXRvaShoICsgMSk7CiAgICAgICAgcmV0dmFsID0gJG1pbnZhbDsKICAg ICAgICBmb3IgKGogPSAwOyBqIDwgZDsgaisrKQogICAgICAgICAgICByZXR2YWwgLz0gMi4wOwog ICAgICAgIGlmIChzWzBdID09ICctJykKICAgICAgICAgICAgcmV0dmFsID0gLXJldHZhbDsKICAg IH0gZWxzZSBpZiAoc3RyY2hyKCIrLTAxMjM0NTY3ODkiLCBzWzBdKSA9PSBOVUxMKSB7CiAgICAg ICAgZnByaW50ZihzdGRlcnIsICJCYWQgYXJndW1lbnQ6ICVzXG4iLCBzKTsKICAgICAgICBleGl0 KEVYSVRfdGVzdF9zZXR1cF9mYWlsZWQpOwogICAgfSBlbHNlCiAgICAgICAgcmV0dmFsID0gJChz dHJ0b190eXBlX2Z1bmMgJG9wdF9hcmdfdHlwZSBzIE5VTEwpOwoKICAgIGZyZWUocyk7CiAgICBy ZXR1cm4gcmV0dmFsOwp9CgpzdGF0aWMgdm9pZApjbGVhckVycm9ycyh2b2lkKQp7CiAgICBlcnJu byA9IDA7CiAgICBmZWNsZWFyZXhjZXB0KEZFX0FMTF9FWENFUFQpOwp9CgpzdGF0aWMgdm9pZApj aGVja0Vycm9ycyhpbnQgKnJfZXJybm8sIGludCAqcl9leGNlcHQpCnsKICAgICpyX2Vycm5vID0g ZXJybm87CgogICAgaWYgKHZlcmJvc2UpIHsKICAgICAgICBpZiAoKnJfZXJybm8gPT0gMCkgewog ICAgICAgICAgICBmcHJpbnRmKHN0ZGVyciwgImVycm5vID09IDBcbiIpOwogICAgICAgIH0gZWxz ZSB7CiAgICAgICAgICAgIGlmICgqcl9lcnJubyA9PSBFRE9NKQogICAgICAgICAgICAgICAgZnBy aW50ZihzdGRlcnIsICJlcnJubyA9PSBFRE9NXG4iKTsKICAgICAgICAgICAgZWxzZSBpZiAoKnJf ZXJybm8gPT0gRVJBTkdFKQogICAgICAgICAgICAgICAgZnByaW50ZihzdGRlcnIsICJlcnJubyA9 PSBFUkFOR0VcbiIpOwogICAgICAgICAgICBlbHNlCiAgICAgICAgICAgICAgICBmcHJpbnRmKHN0 ZGVyciwgImVycm5vID09ICVkXG4iLCAqcl9lcnJubyk7CiAgICAgICAgfQogICAgfQoKICAgICpy X2V4Y2VwdCA9IGZldGVzdGV4Y2VwdChGRV9JTlZBTElEIHwgRkVfRElWQllaRVJPIHwgRkVfT1ZF UkZMT1cgfAogICAgICAgICAgICAgICAgICAgICAgICAgRkVfVU5ERVJGTE9XIHwgRkVfSU5FWEFD VCk7CgogICAgaWYgKHZlcmJvc2UpIHsKICAgICAgICBwcmludGYoImZldGVzdGV4Y2VwdCgpIHNh eXM6ICIpOwogICAgICAgIGlmICgqcl9leGNlcHQgJiBGRV9JTlZBTElEKQogICAgICAgICAgICBw cmludGYoIiBGRV9JTlZBTElEIik7CiAgICAgICAgaWYgKCpyX2V4Y2VwdCAmIEZFX0RJVkJZWkVS TykKICAgICAgICAgICAgcHJpbnRmKCIgRkVfRElWQllaRVJPIik7CiAgICAgICAgaWYgKCpyX2V4 Y2VwdCAmIEZFX09WRVJGTE9XKQogICAgICAgICAgICBwcmludGYoIiBGRV9PVkVSRkxPVyIpOwog ICAgICAgIGlmICgqcl9leGNlcHQgJiBGRV9VTkRFUkZMT1cpCiAgICAgICAgICAgIHByaW50Zigi IEZFX1VOREVSRkxPVyIpOwogICAgICAgIGlmICgqcl9leGNlcHQgJiBGRV9JTkVYQUNUKQogICAg ICAgICAgICBwcmludGYoIiBGRV9JTkVYQUNUIik7CiAgICAgICAgcHJpbnRmKCJcbiIpOwogICAg fQp9CgpzdGF0aWMgdm9pZAp1c2FnZShjaGFyICpwbmFtZSwgY2hhciAqbXNnKQp7CiAgICBpZiAo bXNnICE9IE5VTEwpCiAgICAgICAgZnByaW50ZihzdGRlcnIsICIlc1xuIiwgbXNnKTsKICAgIGZw cmludGYoc3RkZXJyLCAiVXNhZ2U6ICVzIFstcV0gWy1lIGVycm5vLGV4Y2VwdCxjbGFzc10gPGFy Z3M+XG4iLAogICAgICAgICAgICAgICAgICAgIHBuYW1lKTsKICAgIGZwcmludGYoc3RkZXJyLCAi LXEgIHF1aWV0XG4iKTsKICAgIGZwcmludGYoc3RkZXJyLCAiLWUgIGV4cGVjdGVkIHJlc3VsdHMs IGV4cHJlc3NlZCB2aWEgZXJybm8sIGV4Y2VwdGlvbiwiCiAgICAgICAgICAgICAgICAgICAgImFu ZCBjbGFzcyBvZiBmdW5jdGlvbiByZXN1bHRcbiIpOwogICAgZnByaW50ZihzdGRlcnIsICIgICAg ZXJybm8gY2FuIGJlIEVET00sIEVSQU5HRSwgb3IgMFxuIik7CiAgICBmcHJpbnRmKHN0ZGVyciwg IiAgICBleGNlcHQgY2FuIGJlIEZQX0lOVkFMSUQsIEZFX0RJVkJZWkVSTywgIgogICAgICAgICAg ICAgICAgICAgICJGUF9PVkVSRkxPVywgRlBfVU5ERVJGTE9XLCBvciAwXG4iKTsKICAgIGZwcmlu dGYoc3RkZXJyLCAiICAgIGNsYXNzIGNhbiBiZSArMCwgLTAsICtpbmYsIC1pbmYsIG5hbiwgbm9y bWFsLCAiCiAgICAgICAgICAgICAgICAgICAgIm9yIHN1Ym5vcm1hbFxuIik7CiAgICBleGl0KEVY SVRfdGVzdF9zZXR1cF9mYWlsZWQpOwp9CgppbnQKbWFpbihpbnQgYXJnYywgY2hhciAqYXJndltd KQp7CiAgICBpbnQgb3B0OwogICAgaW50IGVfZXJybm8sIGVfZXhjZXB0LCBlX2NsYXNzLCBlX3Np Z247CiAgICBpbnQgZG9udF9jaGVja19lcnJubyA9IDAsIGRvbnRfY2hlY2tfZXhjZXB0ID0gMCwg ZG9udF9jaGVja19jbGFzcyA9IDA7CiAgICBpbnQgZV9vcHRfcHJlc2VudDsKICAgIGludCByX2Vy cm5vLCByX2V4Y2VwdDsKICAgIGludCBleGl0X3N0YXR1cyA9IEVYSVRfU1VDQ0VTUzsKICAgIGlu dCB2YWx1ZV9leHBlY3RlZCA9IDA7CiAgICBjaGFyICpwZXJybm8sICpwZXhjZXB0LCAqcGNsYXNz OwoKICAgICQodHlwZV9mb3IgJG9wdF9hcmd4X3R5cGUpIHg7IApFT0YKCmlmIHRlc3QgJG9wdF9u YXJncyAtZ2UgMjsgdGhlbgogICAgZWNobyAiICAgICQodHlwZV9mb3IgJG9wdF9hcmd5X3R5cGUp IHk7IiA+PiAkZmlsZW5hbWUKZmkKaWYgdGVzdCAkb3B0X25hcmdzIC1nZSAzOyB0aGVuCiAgICBl Y2hvICIgICAgJCh0eXBlX2ZvciAkb3B0X2FyZ3pfdHlwZSkgejsiID4+ICRmaWxlbmFtZQpmaQoK aWYgdGVzdCAkcmVzMl9wcmVzZW50ICE9IDA7IHRoZW4KICAgIGVjaG8gIiAgICAkKHR5cGVfZm9y ICRvcHRfcmVzMl90eXBlKSByZXN1bHQyOyIgPj4gJGZpbGVuYW1lCmZpCgpjYXQgPj4gJGZpbGVu YW1lIDw8IEVPRgogICAgJCh0eXBlX2ZvciAkb3B0X3Jlc190eXBlKSByZXN1bHQ7CiAgICAkKHR5 cGVfZm9yICRvcHRfcmVzX3R5cGUpIGVfdmFsdWU7CiAgICBpbnQgaW50X3ZhbHVlX2V4cGVjdGVk ID0gMDsKICAgIGludCByX2NsYXNzOwogICAgaW50IHJfc2lnbjsKCiAgICBlX29wdF9wcmVzZW50 ID0gMDsKICAgIHdoaWxlICgob3B0ID0gZ2V0b3B0KGFyZ2MsIGFyZ3YsICJxZToiKSkgIT0gLTEp IHsKICAgICAgICAvL3ByaW50Zigib3B0PSVjXG4iLCBvcHQpOwogICAgICAgIHN3aXRjaCAob3B0 KSB7CiAgICAgICAgY2FzZSAncSc6CiAgICAgICAgICAgIHZlcmJvc2UgPSAwOwogICAgICAgICAg ICBicmVhazsKCiAgICAgICAgY2FzZSAnZSc6CiAgICAgICAgICAgIHsKICAgICAgICAgICAgY2hh ciAqYzEsICpjMiwgKnA7CgogICAgICAgICAgICBlX29wdF9wcmVzZW50ID0gMTsKCiAgICAgICAg ICAgIGZvciAocCA9IG9wdGFyZzsgKnAgIT0gJ1wwJzsgcCsrKQogICAgICAgICAgICAgICAgKnAg PSB0b3VwcGVyKCpwKTsKCiAgICAgICAgICAgIGMxID0gc3RyY2hyKG9wdGFyZywgJywnKTsKICAg ICAgICAgICAgaWYgKGMxID09IE5VTEwpIAogICAgICAgICAgICAgICAgdXNhZ2UoYXJndlswXSwg ImJhZCAtZSBzcGVjIik7CiAgICAgICAgICAgICpjMSA9ICdcMCc7CgogICAgICAgICAgICBjMiA9 IHN0cmNocihjMSArIDEsICcsJyk7CiAgICAgICAgICAgIGlmIChjMiA9PSBOVUxMKSAKICAgICAg ICAgICAgICAgIHVzYWdlKGFyZ3ZbMF0sICJiYWQgLWUgc3BlYyIpOwogICAgICAgICAgICAqYzIg PSAnXDAnOwoKICAgICAgICAgICAgcGVycm5vID0gb3B0YXJnOwogICAgICAgICAgICBwZXhjZXB0 ID0gYzEgKyAxOwogICAgICAgICAgICBwY2xhc3MgPSBjMiArIDE7CgogICAgICAgICAgICBpZiAo c3RyY21wKHBlcnJubywgIioiKSA9PSAwKQogICAgICAgICAgICAgICAgZG9udF9jaGVja19lcnJu byA9IDE7CiAgICAgICAgICAgIGVsc2UgaWYgKHN0cmNtcChwZXJybm8sICIwIikgPT0gMCkKICAg ICAgICAgICAgICAgIGVfZXJybm8gPSAwOwogICAgICAgICAgICBlbHNlIGlmIChzdHJjbXAocGVy cm5vLCAiRURPTSIpID09IDApCiAgICAgICAgICAgICAgICBlX2Vycm5vID0gRURPTTsKICAgICAg ICAgICAgZWxzZSBpZiAoc3RyY21wKHBlcnJubywgIkVSQU5HRSIpID09IDApCiAgICAgICAgICAg ICAgICBlX2Vycm5vID0gRVJBTkdFOwogICAgICAgICAgICBlbHNlCiAgICAgICAgICAgICAgICB1 c2FnZShhcmd2WzBdLCAiQmFkIGVycm5vIGluIC1lIHNwZWMiKTsKCiAgICAgICAgICAgIGlmIChz dHJjbXAocGV4Y2VwdCwgIioiKSA9PSAwKQogICAgICAgICAgICAgICAgZG9udF9jaGVja19leGNl cHQgPSAxOwogICAgICAgICAgICBlbHNlIGlmIChzdHJjbXAocGV4Y2VwdCwgIjAiKSA9PSAwKQog ICAgICAgICAgICAgICAgZV9leGNlcHQgPSAwOwogICAgICAgICAgICBlbHNlIGlmIChzdHJjbXAo cGV4Y2VwdCwgIkZFX0RJVkJZWkVSTyIpID09IDApCiAgICAgICAgICAgICAgICBlX2V4Y2VwdCA9 IEZFX0RJVkJZWkVSTzsKICAgICAgICAgICAgZWxzZSBpZiAoc3RyY21wKHBleGNlcHQsICJGRV9J TlZBTElEIikgPT0gMCkKICAgICAgICAgICAgICAgIGVfZXhjZXB0ID0gRkVfSU5WQUxJRDsKICAg ICAgICAgICAgZWxzZSBpZiAoc3RyY21wKHBleGNlcHQsICJGRV9PVkVSRkxPVyIpID09IDApCiAg ICAgICAgICAgICAgICBlX2V4Y2VwdCA9IEZFX09WRVJGTE9XOwogICAgICAgICAgICBlbHNlIGlm IChzdHJjbXAocGV4Y2VwdCwgIkZFX1VOREVSRkxPVyIpID09IDApCiAgICAgICAgICAgICAgICBl X2V4Y2VwdCA9IEZFX1VOREVSRkxPVzsKICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAgICAg dXNhZ2UoYXJndlswXSwgIkJhZCBleGNlcHQgaW4gLWUgc3BlYyIpOwoKCiAgICAgICAgICAgIGlm IChzdHJjbXAocGNsYXNzLCAiKiIpID09IDApCiAgICAgICAgICAgICAgICBkb250X2NoZWNrX2Ns YXNzID0gMTsKICAgICAgICAgICAgZWxzZSBpZiAoc3RyY21wKHBjbGFzcywgIiswIikgPT0gMCkg ewogICAgICAgICAgICAgICAgZV9jbGFzcyA9IEZQX1pFUk87CiAgICAgICAgICAgICAgICBlX3Np Z24gPSArMTsKICAgICAgICAgICAgfSBlbHNlIGlmIChzdHJjbXAocGNsYXNzLCAiLTAiKSA9PSAw KSB7CiAgICAgICAgICAgICAgICBlX2NsYXNzID0gRlBfWkVSTzsKICAgICAgICAgICAgICAgIGVf c2lnbiA9IC0xOwogICAgICAgICAgICB9IGVsc2UgaWYgKHN0cmNtcChwY2xhc3MsICIrSU5GIikg PT0gMCkgewogICAgICAgICAgICAgICAgZV9jbGFzcyA9IEZQX0lORklOSVRFOwogICAgICAgICAg ICAgICAgZV9zaWduID0gKzE7CiAgICAgICAgICAgIH0gZWxzZSBpZiAoc3RyY21wKHBjbGFzcywg Ii1JTkYiKSA9PSAwKSB7CiAgICAgICAgICAgICAgICBlX2NsYXNzID0gRlBfSU5GSU5JVEU7CiAg ICAgICAgICAgICAgICBlX3NpZ24gPSAtMTsKICAgICAgICAgICAgfSBlbHNlIGlmIChzdHJjbXAo cGNsYXNzLCAiTk9STUFMIikgPT0gMCkgewogICAgICAgICAgICAgICAgZV9jbGFzcyA9IEZQX05P Uk1BTDsKICAgICAgICAgICAgfSBlbHNlIGlmIChzdHJjbXAocGNsYXNzLCAiU1VCTk9STUFMIikg PT0gMCkgewogICAgICAgICAgICAgICAgZV9jbGFzcyA9IEZQX1NVQk5PUk1BTDsKICAgICAgICAg ICAgfSBlbHNlIGlmIChzdHJjbXAocGNsYXNzLCAiTkFOIikgPT0gMCkgewogICAgICAgICAgICAg ICAgZV9jbGFzcyA9IEZQX05BTjsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAg IGNoYXIgKmVwOwogICAgICAgICAgICAgICAgdmFsdWVfZXhwZWN0ZWQgPSAxOwogICAgICAgICAg ICAgICAgaW50X3ZhbHVlX2V4cGVjdGVkID0gMTsKICAgICAgICAgICAgICAgIGlmIChzdHJjbXAo cGNsYXNzLCAiRlBfSUxPR0IwIikgPT0gMCkgewogICAgICAgICAgICAgICAgICAgIGVfdmFsdWUg PSBGUF9JTE9HQjA7CiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHN0cmNtcChwY2xhc3MsICJG UF9JTE9HQk5BTiIpID09IDApIHsKICAgICAgICAgICAgICAgICAgICBlX3ZhbHVlID0gRlBfSUxP R0JOQU47CiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHN0cmNtcChwY2xhc3MsICJJTlRfTUFY IikgPT0gMCkgewogICAgICAgICAgICAgICAgICAgIGVfdmFsdWUgPSBJTlRfTUFYOwogICAgICAg ICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICBlX3ZhbHVlID0gJChzdHJ0b190 eXBlX2Z1bmMgJG9wdF9yZXNfdHlwZSBwY2xhc3MgIiZlcCIpOwogICAgICAgICAgICAgICAgICAg IGlmICgqZXAgIT0gJ1wwJykgewogICAgICAgICAgICAgICAgICAgICAgICBmcHJpbnRmKHN0ZGVy ciwgImVwPSVzXG4iLCBlcCk7CiAgICAgICAgICAgICAgICAgICAgICAgIHVzYWdlKGFyZ3ZbMF0s ICJVbnJlY29nbml6ZWQgY2xhc3MgdmFsdWUiKTsKICAgICAgICAgICAgICAgICAgICB9CiAgICAg ICAgICAgICAgICAgICAgaWYgKGlzbGVzc2dyZWF0ZXIocmVtYWluZGVyJGZ0eXBlX3N1ZmZpeChl X3ZhbHVlLCAxLjApLCAwLjApKQogICAgICAgICAgICAgICAgICAgICAgICBpbnRfdmFsdWVfZXhw ZWN0ZWQgPSAwOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgICAgIH0K ICAgICAgICAgICAgYnJlYWs7CgogICAgICAgIGRlZmF1bHQ6CiAgICAgICAgICAgIHVzYWdlKGFy Z3ZbMF0sIE5VTEwpOwogICAgICAgICAgICBleGl0KEVYSVRfdGVzdF9zZXR1cF9mYWlsZWQpOwog ICAgICAgIH0KICAgIH0KCiAgICBhc3NlcnQoYXJnYyA9PSBvcHRpbmQgLSAxICsgJChleHByICRv cHRfbmFyZ3MgKyAxKSk7CiAgICB4ID0gJChzdHJ0b19mb3IgJG9wdF9hcmd4X3R5cGUgImFyZ3Zb b3B0aW5kXSIgTlVMTCk7CkVPRgoKKAppZiB0ZXN0ICRvcHRfbmFyZ3MgLWdlIDI7IHRoZW4KICAg IGVjaG8gIiAgICB5ID0gIiAkKHN0cnRvX2ZvciAkb3B0X2FyZ3lfdHlwZSAiYXJndltvcHRpbmQr MV0iIE5VTEwpICI7IgpmaQppZiB0ZXN0ICRvcHRfbmFyZ3MgLWdlIDM7IHRoZW4KICAgIGVjaG8g IiAgICB6ID0gIiAkKHN0cnRvX2ZvciAkb3B0X2FyZ3pfdHlwZSAiYXJndltvcHRpbmQrMl0iIE5V TEwpICI7IgpmaQopID4+ICRmaWxlbmFtZQoKY2F0ID4+ICRmaWxlbmFtZSA8PCBFT0YKCiAgICBj bGVhckVycm9ycygpOwoKRU9GCgooCmVjaG8gLW4gIiAgICByZXN1bHQgPSAkZnVuY19uYW1lKHgi CmlmIHRlc3QgJG9wdF9uYXJncyAtZ2UgMjsgdGhlbgogICAgZWNobyAtbiAiLCB5IgpmaQppZiB0 ZXN0ICRvcHRfbmFyZ3MgLWdlIDM7IHRoZW4KICAgIGVjaG8gLW4gIiwgeiIKZmkKaWYgdGVzdCAk cmVzMl9wcmVzZW50IC1uZSAwOyB0aGVuCiAgICBlY2hvIC1uICIsICZyZXN1bHQyIgpmaQplY2hv ICIpOyIKKSA+PiAkZmlsZW5hbWUKCmNhdCA+PiAkZmlsZW5hbWUgPDwgRU9GCiAgICBjaGVja0Vy cm9ycygmcl9lcnJubywgJnJfZXhjZXB0KTsKRU9GCgooCmVjaG8gLW4gIiAgICBwcmludGYoXCIk ZnVuY19uYW1lKCRvcHRfYXJneF9mb3JtYXQiCmlmIHRlc3QgJG9wdF9uYXJncyAtZ2UgMjsgdGhl bgogICAgZWNobyAtbiAiLCRvcHRfYXJneV9mb3JtYXQiCmZpCmlmIHRlc3QgJG9wdF9uYXJncyAt Z2UgMzsgdGhlbgogICAgZWNobyAtbiAiLCRvcHRfYXJnel9mb3JtYXQiCmZpCmlmIHRlc3QgJHJl czJfcHJlc2VudCAtbmUgMDsgdGhlbgogICAgZWNobyAtbiAiLCZyZXN1bHQyIgpmaQplY2hvIC1u ICIpPSRvcHRfcmVzX2Zvcm1hdCIKaWYgdGVzdCAkcmVzMl9wcmVzZW50IC1uZSAwOyB0aGVuCiAg ICBlY2hvIC1uICIsIHJlc3VsdDI9JG9wdF9yZXMyX2Zvcm1hdCIKZmkKZWNobyAtbiAiXG5cIiwg IgplY2hvIC1uICJ4LCAiCmlmIHRlc3QgJG9wdF9uYXJncyAtZ2UgMjsgdGhlbgogICAgZWNobyAt biAieSwgIgpmaQppZiB0ZXN0ICRvcHRfbmFyZ3MgLWdlIDM7IHRoZW4KICAgIGVjaG8gLW4gInos ICIKZmkKZWNobyAtbiAicmVzdWx0IgppZiB0ZXN0ICRyZXMyX3ByZXNlbnQgLW5lIDA7IHRoZW4K ICAgIGVjaG8gLW4gIiwgcmVzdWx0MiIKZmkKZWNobyAiKTsiCikgPj4gJGZpbGVuYW1lCgooCmVj aG8gIiAgICBpZiAoZV9vcHRfcHJlc2VudCkgIgplY2hvIC1uICIgICAgICAgIHByaW50ZihcIiRm dW5jX25hbWUoJXMiCmlmIHRlc3QgJG9wdF9uYXJncyAtZ2UgMjsgdGhlbgogICAgZWNobyAtbiAi LCVzIgpmaQppZiB0ZXN0ICRvcHRfbmFyZ3MgLWdlIDM7IHRoZW4KICAgIGVjaG8gLW4gIiwlcyIK ZmkKaWYgdGVzdCAkcmVzMl9wcmVzZW50IC1uZSAwOyB0aGVuCiAgICBlY2hvIC1uICIsJnJlc3Vs dDIiCmZpCmVjaG8gLW4gIikiCmVjaG8gLW4gIjsgXCIsICIKZWNobyAtbiAiYXJndltvcHRpbmRd IgppZiB0ZXN0ICRvcHRfbmFyZ3MgLWdlIDI7IHRoZW4KICAgIGVjaG8gLW4gIiwgYXJndltvcHRp bmQgKyAxXSIKZmkKaWYgdGVzdCAkb3B0X25hcmdzIC1nZSAzOyB0aGVuCiAgICBlY2hvIC1uICIs IGFyZ3Zbb3B0aW5kICsgMl0iCmZpCmVjaG8gIik7IgoKKSA+PiAkZmlsZW5hbWUKCmNhdCA+PiAk ZmlsZW5hbWUgPDwgRU9GCgogICAgcHJpbnRmKCIlcyAiLCAocl9lcnJubyA9PSAwKSA/ICIwIiA6 CiAgICAgICAgICAgICAgICAgIChyX2Vycm5vID09IEVET00pID8gIkVET00iIDoKICAgICAgICAg ICAgICAgICAgKHJfZXJybm8gPT0gRVJBTkdFKSA/ICJFUkFOR0UiIDogIj8/P2Vycm5vPz8/Iik7 CgogICAgcHJpbnRmKCIlcyAiLCAoKHJfZXhjZXB0ICYgKEZFX0RJVkJZWkVSTyB8IEZFX1VOREVS RkxPVyB8CiAgICAgICAgICAgICAgICAgICAgICAgIEZFX09WRVJGTE9XIHwgRkVfSU5WQUxJRCkp ID09IDApID8gIjAiIDoKICAgICAgICAgICAgICAgICAgIChyX2V4Y2VwdCAmIEZFX0RJVkJZWkVS TykgPyAiRkVfRElWQllaRVJPIiA6CiAgICAgICAgICAgICAgICAgICAocl9leGNlcHQgJiBGRV9V TkRFUkZMT1cpID8gIkZFX1VOREVSRkxPVyIgOgogICAgICAgICAgICAgICAgICAgKHJfZXhjZXB0 ICYgRkVfT1ZFUkZMT1cpICA/ICJGRV9PVkVSRkxPVyIgOgogICAgICAgICAgICAgICAgICAgKHJf ZXhjZXB0ICYgRkVfSU5WQUxJRCkgICA/ICJGRV9JTlZBTElEIiA6ICI/Pz9leGNlcHQ/Pz8iKTsK CiAgICByX2NsYXNzID0gZnBjbGFzc2lmeShyZXN1bHQpOwogICAgcl9zaWduID0gc2lnbmJpdChy ZXN1bHQpID8gLTEgOiAxOwoKICAgIGlmIChyX2NsYXNzID09IEZQX0lORklOSVRFIHx8IHJfY2xh c3MgPT0gRlBfWkVSTykgCiAgICAgICAgcHJpbnRmKCIlcyIsIHNpZ25iaXQocmVzdWx0KSA/ICIt IiA6ICIrIik7CiAgICBwcmludGYoIiVzIiwgKHJfY2xhc3MgPT0gRlBfWkVSTykgPyAiMCIgOgog ICAgICAgICAgICAgICAgICAocl9jbGFzcyA9PSBGUF9OQU4pID8gIm5hbiIgOgogICAgICAgICAg ICAgICAgICAocl9jbGFzcyA9PSBGUF9JTkZJTklURSkgPyAiaW5mIiA6CiAgICAgICAgICAgICAg ICAgIChyX2NsYXNzID09IEZQX05PUk1BTCkgPyAibm9ybWFsIiA6CiAgICAgICAgICAgICAgICAg IChyX2NsYXNzID09IEZQX1NVQk5PUk1BTCkgPyAic3Vibm9ybWFsIiA6ICI/Pz9jbGFzcz8/PyIp OwoKCiAgICBpZiAoZV9vcHRfcHJlc2VudCkgewogICAgICAgIGludCBlcnJub19wYXNzZWQsIGV4 Y2VwdF9wYXNzZWQsIGNsYXNzX3Bhc3NlZCwgYWxsX3Bhc3NlZDsKCiAgICAgICAgcHJpbnRmKCI7 ICIpOwoKICAgICAgICBlcnJub19wYXNzZWQgPSBkb250X2NoZWNrX2Vycm5vIHx8IChyX2Vycm5v ID09IGVfZXJybm8pOwogICAgICAgIGV4Y2VwdF9wYXNzZWQgPSBkb250X2NoZWNrX2V4Y2VwdCB8 fAogICAgICAgICAgICAgICAgKGVfZXhjZXB0ID09IDAgJiYgKHJfZXhjZXB0ICYgfkZFX0lORVhB Q1QpID09IDApIHx8CiAgICAgICAgICAgICAgICAoKHJfZXhjZXB0ICYgZV9leGNlcHQpICE9IDAp OwogICAgICAgIGNsYXNzX3Bhc3NlZCA9IGRvbnRfY2hlY2tfY2xhc3MgfHwKICAgICAgICAgICAg ICAgICAgICAgICAodmFsdWVfZXhwZWN0ZWQgJiYgaW50X3ZhbHVlX2V4cGVjdGVkICYmCiAgICAg ICAgICAgICAgICAgICAgICAgICFpc25hbihyZXN1bHQpICYmIHJlc3VsdCA9PSBlX3ZhbHVlKSB8 fCAgCiAgICAgICAgICAgICAgICAgICAgICAgKHZhbHVlX2V4cGVjdGVkICYmICFpc25hbihyZXN1 bHQpICYmCiAgICAgICAgICAgICAgICAgICAgICAgIGZhYnNsKChyZXN1bHQgLSBlX3ZhbHVlKSAv IGVfdmFsdWUpIDwgMWUtNSkgfHwKICAgICAgICAgICAgICAgICAgICAgICAocl9jbGFzcyA9PSBl X2NsYXNzICYmIAogICAgICAgICAgICAgICAgICAgICAgICAoKHJfY2xhc3MgPT0gRlBfTkFOIHx8 IHJfY2xhc3MgPT0gRlBfTk9STUFMIHx8IAogICAgICAgICAgICAgICAgICAgICAgICAgIHJfY2xh c3MgPT0gRlBfU1VCTk9STUFMKSB8fAogICAgICAgICAgICAgICAgICAgICAgICAgcl9zaWduID09 IGVfc2lnbikpOwoKICAgICAgICBwcmludGYoIiVzICIsIChyX2Vycm5vID09IGVfZXJybm8pID8g Im9rIiA6ICJ4LWVycm5vIik7CiAgICAgICAgcHJpbnRmKCIlcyAiLCBleGNlcHRfcGFzc2VkID8g Im9rIiA6ICJ4LWV4Y2VwdCIpOwogICAgICAgIHByaW50ZigiJXMiLCBjbGFzc19wYXNzZWQgPyAi b2siIDogIngtcmVzdWx0Iik7CgogICAgICAgIGFsbF9wYXNzZWQgPSBlcnJub19wYXNzZWQgJiYg ZXhjZXB0X3Bhc3NlZCAmJiBjbGFzc19wYXNzZWQ7CgogICAgICAgIGlmICghYWxsX3Bhc3NlZCkK ICAgICAgICAgICAgZXhpdF9zdGF0dXMgPSBFWElUX0ZBSUxVUkU7CgogICAgICAgIHByaW50Zigi OyAlcyIsIGFsbF9wYXNzZWQgPyAiUEFTUyIgOiAiRkFJTCIpOwogICAgICAgIGlmICghYWxsX3Bh c3NlZCkgewogICAgICAgICAgICBwcmludGYoIiAoZXhwZWN0ZWQ6ICIpOwogICAgICAgICAgICBp ZiAoZV9lcnJubyA9PSAwICYmIGVfZXhjZXB0ID09IDApIHsKICAgICAgICAgICAgICAgIHByaW50 Zigibm9lcnJvciIpOwogICAgICAgICAgICB9IGVsc2UgaWYgKGVfZXJybm8gPT0gRURPTSAmJiBl X2V4Y2VwdCA9PSBGRV9JTlZBTElEKSB7CiAgICAgICAgICAgICAgICBwcmludGYoImRvbWFpbiIp OwogICAgICAgICAgICB9IGVsc2UgaWYgKGVfZXJybm8gPT0gRVJBTkdFICYmIGVfZXhjZXB0ID09 IEZFX09WRVJGTE9XKSB7CiAgICAgICAgICAgICAgICBwcmludGYoIm92ZXJmbG93Iik7CiAgICAg ICAgICAgIH0gZWxzZSBpZiAoZV9lcnJubyA9PSBFUkFOR0UgJiYgZV9leGNlcHQgPT0gRkVfVU5E RVJGTE9XKSB7CiAgICAgICAgICAgICAgICBwcmludGYoInVuZGVyZmxvdyIpOwogICAgICAgICAg ICB9IGVsc2UgaWYgKGVfZXJybm8gPT0gRVJBTkdFICYmIGVfZXhjZXB0ID09IEZFX0RJVkJZWkVS TykgewogICAgICAgICAgICAgICAgcHJpbnRmKCJwb2xlIik7CiAgICAgICAgICAgIH0KICAgICAg ICAgICAgcHJpbnRmKCIgKCVzLCAlcyk7ICVzIiwgcGVycm5vLCBwZXhjZXB0LCBwY2xhc3MpOwoK ICAgICAgICAgICAgcHJpbnRmKCIpIik7CiAgICAgICAgfQogICAgfQoKICAgIHByaW50ZigiXG5c biIpOwogICAgZXhpdChleGl0X3N0YXR1cyk7Cn0KRU9GCgojIGVjaG8gY2MgLVdhbGwgJGZpbGVu YW1lIC1vICRleGVmaWxlbmFtZSAtbG0KY2MgLVdhbGwgJGZpbGVuYW1lIC1vICRleGVmaWxlbmFt ZSAtbG0KaWYgdGVzdCAkPyAtbmUgMDsgdGhlbgogICAgZXhpdCAyOwpmaQp9CgpvcHRfYXJnX3R5 cGU9IiRUX0RPVUJMRSIKb3B0X25hcmdzPTEKb3B0X3N1ZmZpeD0iIgoKb3B0X3Jlc190eXBlX3By ZXNlbnQ9MApvcHRfcmVzX2Zvcm1hdF9wcmVzZW50PTAKb3B0X3JlczJfdHlwZV9wcmVzZW50PTAK b3B0X3JlczJfZm9ybWF0X3ByZXNlbnQ9MApvcHRfYXJneF90eXBlX3ByZXNlbnQ9MApvcHRfYXJn eF9mb3JtYXRfcHJlc2VudD0wCm9wdF9hcmd5X3R5cGVfcHJlc2VudD0wCm9wdF9hcmd5X2Zvcm1h dF9wcmVzZW50PTAKb3B0X2FyZ3pfdHlwZV9wcmVzZW50PTAKb3B0X2FyZ3pfZm9ybWF0X3ByZXNl bnQ9MAoKZXhwZWN0ZWRfcmVzdWx0X29wdGlvbj0iIgpxdWlldF9vcHRpb249IiIKbm9fYnVpbGQ9 MAoKd2hpbGUgZ2V0b3B0cyAiQmU6ZjpuOnFzOm86TzpyOlI6eDpYOnk6WTp6Olo6IiBvcHQ7IGRv CiAgICBjYXNlICIkb3B0IiBpbgogICAgZikgCW9wdF9hcmdfdHlwZT0kT1BUQVJHOwogICAgICAg IGlmIHRlc3QgIlgkb3B0X2FyZ190eXBlIiAhPSAiWCRUX0RPVUJMRSIgJiYgXAogICAgICAgICAg ICAgICAgdGVzdCAiWCRvcHRfYXJnX3R5cGUiICE9ICJYJFRfRkxPQVQiICYmIFwKICAgICAgICAg ICAgICAgIHRlc3QgIlgkb3B0X2FyZ190eXBlIiAhPSAiWCRUX0xPTkdfRE9VQkxFIgogICAgICAg ICAgICB0aGVuCiAgICAgICAgICAgICAgICB1c2FnZSAkMCAiV3JvbmcgZnVuY3Rpb24gdHlwZTog JE9QVEFSRyIKICAgICAgICAgICAgZmkKICAgICAgICA7OwogICAgZSkgCWV4cGVjdGVkX3Jlc3Vs dF9vcHRpb249Ii1lICRPUFRBUkciCiAgICAgICAgOzsKICAgIHEpIAlxdWlldF9vcHRpb249Ii1x IgogICAgICAgIDs7CiAgICBCKSAJbm9fYnVpbGQ9MQogICAgICAgIDs7CiAgICBuKSAJb3B0X25h cmdzPSRPUFRBUkcKICAgICAgICBpZiB0ZXN0ICRvcHRfbmFyZ3MgLWd0IDM7IHRoZW4KICAgICAg ICAgICAgdXNhZ2UgJDAgIlRvbyBtYW55IGFyZ3VtZW50cyIKICAgICAgICBmaQogICAgICAgIDs7 CiAgICBzKQlvcHRfc3VmZml4PSRPUFRBUkcKICAgICAgICA7OwogICAgbykJb3B0X3JlczJfdHlw ZT0kT1BUQVJHCiAgICAgICAgb3B0X3JlczJfdHlwZV9wcmVzZW50PTEKICAgICAgICA7OwogICAg TykJb3B0X3JlczJfZm9ybWF0PSRPUFRBUkcKICAgICAgICBvcHRfcmVzMl9mb3JtYXRfcHJlc2Vu dD0xCiAgICAgICAgOzsKICAgIHIpCW9wdF9yZXNfdHlwZT0kT1BUQVJHCiAgICAgICAgb3B0X3Jl c190eXBlX3ByZXNlbnQ9MQogICAgICAgIDs7CiAgICBSKQlvcHRfcmVzX2Zvcm1hdD0kT1BUQVJH CiAgICAgICAgb3B0X3Jlc19mb3JtYXRfcHJlc2VudD0xCiAgICAgICAgOzsKICAgIHgpCW9wdF9h cmd4X3R5cGU9JE9QVEFSRwogICAgICAgIG9wdF9hcmd4X3R5cGVfcHJlc2VudD0xCiAgICAgICAg OzsKICAgIFgpCW9wdF9hcmd4X2Zvcm1hdD0kT1BUQVJHCiAgICAgICAgb3B0X2FyZ3hfZm9ybWF0 X3ByZXNlbnQ9MQogICAgICAgIDs7CiAgICB5KQlvcHRfYXJneV90eXBlPSRPUFRBUkcKICAgICAg ICBvcHRfYXJneV90eXBlX3ByZXNlbnQ9MQogICAgICAgIDs7CiAgICBZKQlvcHRfYXJneV9mb3Jt YXQ9JE9QVEFSRwogICAgICAgIG9wdF9hcmd5X2Zvcm1hdF9wcmVzZW50PTEKICAgICAgICA7Owog ICAgeikJb3B0X2FyZ3pfdHlwZT0kT1BUQVJHCiAgICAgICAgb3B0X2FyZ3pfdHlwZV9wcmVzZW50 PTEKICAgICAgICA7OwogICAgWikJb3B0X2FyZ3pfZm9ybWF0PSRPUFRBUkcKICAgICAgICBvcHRf YXJnel9mb3JtYXRfcHJlc2VudD0xCiAgICAgICAgOzsKICAgICopICB1c2FnZQogICAgICAgIDs7 CiAgICBlc2FjCmRvbmUKc2hpZnQgYGV4cHIgJE9QVElORCAtIDFgCgppZiB0ZXN0ICQjIC1sdCAx OyB0aGVuCiAgICB1c2FnZSAkMCAiTWlzc2luZyBmbmFtZSBhcmd1bWVudCIKZmkKZm5hbWU9IiQx IgoKaWYgdGVzdCAiWCRvcHRfYXJnX3R5cGUiID0gIlgkVF9ET1VCTEUiOyB0aGVuCiAgICBmdHlw ZV9zdWZmaXg9IiIKZWxpZiB0ZXN0ICJYJG9wdF9hcmdfdHlwZSIgPSAiWCRUX0ZMT0FUIjsgdGhl bgogICAgZnR5cGVfc3VmZml4PSJmIgplbGlmIHRlc3QgIlgkb3B0X2FyZ190eXBlIiA9ICJYJFRf TE9OR19ET1VCTEUiOyB0aGVuCiAgICBmdHlwZV9zdWZmaXg9ImwiCmVsc2UKICAgIHVzYWdlICQw ICJVbnJlY29nbml6ZWQgdHlwZSIKZmkKCmFyZ190eXBlPSQodHlwZV9mb3IgJG9wdF9hcmdfdHlw ZSkKYXJnX2Zvcm1hdD0kKGZvcm1hdF9mb3IgJG9wdF9hcmdfdHlwZSkKCmlmIHRlc3QgJG9wdF9y ZXNfdHlwZV9wcmVzZW50IC1lcSAwOyB0aGVuCiAgICBvcHRfcmVzX3R5cGU9JG9wdF9hcmdfdHlw ZQpmaQppZiB0ZXN0ICRvcHRfcmVzX2Zvcm1hdF9wcmVzZW50IC1lcSAwOyB0aGVuCiAgICBvcHRf cmVzX2Zvcm1hdD0kKGZvcm1hdF9mb3IgJG9wdF9yZXNfdHlwZSkKZmkKCmlmIHRlc3QgJG9wdF9y ZXMyX3R5cGVfcHJlc2VudCAtZXEgMDsgdGhlbgogICAgb3B0X3JlczJfdHlwZT0kb3B0X2FyZ190 eXBlCmZpCmlmIHRlc3QgJG9wdF9yZXMyX2Zvcm1hdF9wcmVzZW50IC1lcSAwOyB0aGVuCiAgICBv cHRfcmVzMl9mb3JtYXQ9JChmb3JtYXRfZm9yICRvcHRfcmVzMl90eXBlKQpmaQpyZXMyX3ByZXNl bnQ9MAppZiB0ZXN0ICRvcHRfcmVzMl90eXBlX3ByZXNlbnQgLW5lIDAgfHwgdGVzdCAkb3B0X3Jl czJfZm9ybWF0X3ByZXNlbnQgLW5lIDA7IHRoZW4KICAgIHJlczJfcHJlc2VudD0xCmZpCgppZiB0 ZXN0ICRvcHRfYXJneF90eXBlX3ByZXNlbnQgLWVxIDA7IHRoZW4KICAgIG9wdF9hcmd4X3R5cGU9 JG9wdF9hcmdfdHlwZQpmaQppZiB0ZXN0ICRvcHRfYXJneF9mb3JtYXRfcHJlc2VudCAtZXEgMDsg dGhlbgogICAgb3B0X2FyZ3hfZm9ybWF0PSQoZm9ybWF0X2ZvciAkb3B0X2FyZ3hfdHlwZSkKZmkK CmlmIHRlc3QgJG9wdF9hcmd5X3R5cGVfcHJlc2VudCAtZXEgMDsgdGhlbgogICAgb3B0X2FyZ3lf dHlwZT0kb3B0X2FyZ190eXBlCmZpCmlmIHRlc3QgJG9wdF9hcmd5X2Zvcm1hdF9wcmVzZW50IC1l cSAwOyB0aGVuCiAgICBvcHRfYXJneV9mb3JtYXQ9JChmb3JtYXRfZm9yICRvcHRfYXJneV90eXBl KQpmaQoKaWYgdGVzdCAkb3B0X2FyZ3pfdHlwZV9wcmVzZW50IC1lcSAwOyB0aGVuCiAgICBvcHRf YXJnel90eXBlPSRvcHRfYXJnX3R5cGUKZmkKaWYgdGVzdCAkb3B0X2FyZ3pfZm9ybWF0X3ByZXNl bnQgLWVxIDA7IHRoZW4KICAgIG9wdF9hcmd6X2Zvcm1hdD0kKGZvcm1hdF9mb3IgJG9wdF9hcmd6 X3R5cGUpCmZpCgpmdW5jX25hbWU9IiRmbmFtZSRmdHlwZV9zdWZmaXgkb3B0X3N1ZmZpeCIKZmls ZW5hbWU9Ii90bXAvbXRfJGZ1bmNfbmFtZS5jIgpleGVmaWxlbmFtZT0iJChlY2hvICRmaWxlbmFt ZSB8IHNlZCAncy9cLmMkLy8nKSIKCiMgZWNobyAib3B0X2FyZ190eXBlPSRvcHRfYXJnX3R5cGU7 IGZ0eXBlX3N1ZmZpeD0kZnR5cGVfc3VmZml4IgoKc3RyX2NvbnZfZnVuYz0ic3RyaW5nX3RvXyRv cHRfYXJnX3R5cGUiCgojIGVjaG8gInN0cl9jb252X2Z1bmM9JHN0cl9jb252X2Z1bmMiCgppZiB0 ZXN0ICRub19idWlsZCAtZXEgMDsgdGhlbgoKICAgIHJtIC1mICRmaWxlbmFtZQogICAgZWNobyAi UHJvZHVjaW5nICRmaWxlbmFtZTsgJGV4ZWZpbGVuYW1lIgoKICAgIGJ1aWxkX3Rlc3RfcHJvZ3Jh bV9zb3VyY2UKCmZpCgppZiB0ZXN0ICQjIC1ndCAxOyB0aGVuCiAgICBzaGlmdCAxCiMgICAgZWNo byAkZXhlZmlsZW5hbWUgJHF1aWV0X29wdGlvbiAkZXhwZWN0ZWRfcmVzdWx0X29wdGlvbiAtLSAk KgogICAgJGV4ZWZpbGVuYW1lICRxdWlldF9vcHRpb24gJGV4cGVjdGVkX3Jlc3VsdF9vcHRpb24g LS0gJCoKICAgIGV4aXQgJD8KZmkK ------=_Part_35666_9778604.1217864931942 Content-Type: application/x-sh; name=math_tests.sh Content-Transfer-Encoding: base64 X-Attachment-Id: f_fjh8vzlt1 Content-Disposition: attachment; filename=math_tests.sh IyEvYmluL3NoCiMKIyBtYXRoX3Rlc3RzLnNoCiMKIyBDb3B5cmlnaHQgMjAwOCwgTGludXggRm91 bmRhdGlvbiwgd3JpdHRlbiBieSBNaWNoYWVsIEtlcnJpc2ssCiMgCTxtdGsubWFucGFnZXNAZ21h aWwuY29tPgojIExpY2Vuc2VkIHVuZGVyIEdQTHYyIG9yIGxhdGVyLgojCiMgJDEgY2FuIGJlIGQg LyBmIC9sZCB0byBydW4gdGVzdHMgZm9yIGRvdWJsZSwgZmxvYXQsIG9yIGRvdWJsZS1wcmVjaXNp b24KIyB2ZXJzaW9ucyBvZiBtYXRoIGZ1bmN0aW9ucy4KIwojClBJPTMuMTQxNTkyNjUzNTg5Nzkz MjM4NDYyNjQzMzgzMjc5NTAyODg0MTk3MTY5Mzk5Mzc1MTAKUElfRElWXzI9MS41NzA3OTYzMjY3 OTQ4OTY2MTkyMzEzMjE2OTE2Mzk3NTE0NDIwOTg1ODQ2OTk2ODc1NQpQSV9ESVZfND0wLjc4NTM5 ODE2MzM5NzQ0ODMwOTYxNTY2MDg0NTgxOTg3NTcyMTA0OTI5MjM0OTg0Mzc3ClBJXzNRVUFSVEVS PTIuMzU2MTk0NDkwMTkyMzQ0OTI4ODQ2OTgyNTM3NDU5NjI3MTYzMTQ3ODc3MDQ5NTMxMzIKIwpU X0RPVUJMRT0iZCIKVF9GTE9BVD0iZiIKVF9MT05HX0RPVUJMRT0ibGQiCiMKZnR5cGU9IiRUX0RP VUJMRSIKaWYgdGVzdCAkIyAtZ2UgMTsgdGhlbgogICAgZnR5cGU9JDEKZmkKCnRmbGFnPSItZiAk ZnR5cGUiCgpzdGFydF90ZXN0KCkKewogICAgdGZ1bmM9IiQxIgogICAgcGFzc19jbnQ9MAogICAg ZmFpbF9jbnQ9MAogICAgZWNobyAiIgp9CgpydW5fdGVzdCgpCnsKCiAgICBlY2hvICJydW5fdGVz dCAkKiIKICAgIGNhc2UgIiQxIiBpbgogICAgbm9lcnJvcikKCWVycj0iMCwwIgoJOzsKICAgIGRv bWFpbikKCWVycj0iZWRvbSxmZV9pbnZhbGlkIgoJOzsKICAgIHBvbGUpCgllcnI9ImVyYW5nZSxm ZV9kaXZieXplcm8iCgk7OwogICAgdW5kZXJmbG93KQoJZXJyPSJlcmFuZ2UsZmVfdW5kZXJmbG93 IgoJOzsKICAgIG92ZXJmbG93KQoJZXJyPSJlcmFuZ2UsZmVfb3ZlcmZsb3ciCgk7OwogICAgKikJ ZWNobyAiQmFkIGNhc2UgaW4gc3RhcnRfdGVzdCgpIgoJZXhpdCAyCiAgICAgICAgOzsKICAgIGVz YWMKCiAgICBlX29wdD0iLWUkZXJyLCQyIgoKICAgIHNoaWZ0IDIKICAgIC4vbWF0aF9lcnJvcl90 ZXN0LnNoIC1CIC1xICR0ZmxhZyAkZV9vcHQgIiRAIgogICAgdHJlcz0kPwogICAgaWYgdGVzdCAk dHJlcyAtZ3QgMTsgdGhlbgoJZWNobyAiVGVzdCBzZXR1cCBmYWlsZWQiCglleGl0IDEKICAgIGZp CiAgICBpZiB0ZXN0ICR0cmVzIC1lcSAwOyB0aGVuCglwYXNzX2NudD0kKGV4cHIgJHBhc3NfY250 ICsgMSkKICAgIGVsc2UKCWZhaWxfY250PSQoZXhwciAkZmFpbF9jbnQgKyAxKQogICAgZmkKfQoK dGVzdF9yZXBvcnQoKQp7CiAgICBlY2hvIC1uICJTVU1NQVJZOiAkdGZ1bmMgcGFzc2VkPSRwYXNz X2NudDsgZmFpbGVkPSRmYWlsX2NudDsgIgogICAgaWYgdGVzdCAkZmFpbF9jbnQgLWd0IDA7IHRo ZW4KCWVjaG8gIkZBSUxFRCIKICAgIGVsc2UKCWVjaG8gIlBBU1NFRCIKICAgIGZpCiAgICBlY2hv ICIiCn0KCiMKCmRhdGUKdW5hbWUgLW0gLXMgLXIKZ2V0Y29uZiBHTlVfTElCQ19WRVJTSU9OIDI+ JjEKL2xpYi9saWJjLnNvLjYgfCBncmVwIHZlcnNpb24gfCBncmVwIC1pIGxpYgoKZWNobyAiPT09 PT09PT09PT09PT09PT09PT0gY29zID09PT09PT09PT09PT09PT09PT09IgouL21hdGhfZXJyb3Jf dGVzdC5zaCAkdGZsYWcgLS0gY29zCnN0YXJ0X3Rlc3QgY29zCiMgICAgICAgICAgZXhwZWN0ZWQg ICBleHBlY3RlZAkgICAgbWF0aF9lcnJvcl90ZXN0LnNoCSAgZnVuY3Rpb24gdGVzdAojICAgICAg ICAgICBlcnJvciAgICAgIHJlc3VsdAkJb3B0aW9ucyAgICAgICAgICAgICAgICAgICAgYXJncwpy dW5fdGVzdCAgIG5vZXJyb3IJbmFuCQkJCS0tIGNvcyAgICAgbmFuCnJ1bl90ZXN0ICAgZG9tYWlu CW5hbgkJCQktLSBjb3MgICAgICtpbmYKcnVuX3Rlc3QgICBkb21haW4JbmFuCQkJCS0tIGNvcyAg ICAgLWluZgp0ZXN0X3JlcG9ydAoKZWNobyAiPT09PT09PT09PT09PT09PT09PT0gc2luID09PT09 PT09PT09PT09PT09PT09IgouL21hdGhfZXJyb3JfdGVzdC5zaCAkdGZsYWcgLS0gc2luCnN0YXJ0 X3Rlc3Qgc2luCnJ1bl90ZXN0ICAgbm9lcnJvcgluYW4JCQkJLS0gc2luICAgICBuYW4KcnVuX3Rl c3QgICBkb21haW4JbmFuCQkJCS0tIHNpbiAgICAgK2luZgpydW5fdGVzdCAgIGRvbWFpbgluYW4J CQkJLS0gc2luICAgICAtaW5mCnRlc3RfcmVwb3J0CgplY2hvICI9PT09PT09PT09PT09PT09PT09 PSB0YW4gPT09PT09PT09PT09PT09PT09PT0iCi4vbWF0aF9lcnJvcl90ZXN0LnNoICR0ZmxhZyAt LSB0YW4Kc3RhcnRfdGVzdCB0YW4KcnVuX3Rlc3QgICBub2Vycm9yCW5hbgkJCQktLSB0YW4gICAg IG5hbgpydW5fdGVzdCAgIGRvbWFpbgluYW4JCQkJLS0gdGFuICAgICAraW5mCnJ1bl90ZXN0ICAg ZG9tYWluCW5hbgkJCQktLSB0YW4gICAgIC1pbmYKIyBObyB0ZXN0IGNhc2UgcG9zc2libGUgZm9y IG92ZXJmbG93LCBzaW5jZSB0aGUgYmVzdCBhcHByb3hpbWF0aW9uIG9mCiMgcGkvMiBpbiBkb3Vi bGUgcHJlY2lzaW9uIG9ubHkgeWllbGRzIGEgdGFuKCkgdmFsdWUgb2YgMS42MzNlMTYuCnRlc3Rf cmVwb3J0CgplY2hvICI9PT09PT09PT09PT09PT09PT09PSBhY29zID09PT09PT09PT09PT09PT09 PT09IgouL21hdGhfZXJyb3JfdGVzdC5zaCAkdGZsYWcgLS0gYWNvcwpzdGFydF90ZXN0IGFjb3MK cnVuX3Rlc3QgICBub2Vycm9yCW5hbgkJCQktLSBhY29zICAgIG5hbgpydW5fdGVzdCAgIG5vZXJy b3IJKzAJCQkJLS0gYWNvcyAgICAxCnJ1bl90ZXN0ICAgZG9tYWluCW5hbgkJCQktLSBhY29zICAg ICtpbmYKcnVuX3Rlc3QgICBkb21haW4JbmFuCQkJCS0tIGFjb3MgICAgLWluZgpydW5fdGVzdCAg IGRvbWFpbgluYW4JCQkJLS0gYWNvcyAgICAtMgpydW5fdGVzdCAgIGRvbWFpbgluYW4JCQkJLS0g YWNvcyAgICAyCnRlc3RfcmVwb3J0CgplY2hvICI9PT09PT09PT09PT09PT09PT09PSBhc2luID09 PT09PT09PT09PT09PT09PT09IgouL21hdGhfZXJyb3JfdGVzdC5zaCAkdGZsYWcgLS0gYXNpbgpz dGFydF90ZXN0IGFzaW4KcnVuX3Rlc3QgICBub2Vycm9yCW5hbgkJCQktLSBhc2luICAgIG5hbgpy dW5fdGVzdCAgIG5vZXJyb3IJKzAJCQkJLS0gYXNpbiAgICArMApydW5fdGVzdCAgIG5vZXJyb3IJ LTAJCQkJLS0gYXNpbiAgICAtMApydW5fdGVzdCAgIGRvbWFpbgluYW4JCQkJLS0gYXNpbiAgICAt MgpydW5fdGVzdCAgIGRvbWFpbgluYW4JCQkJLS0gYXNpbiAgICAyCnRlc3RfcmVwb3J0CgplY2hv ICI9PT09PT09PT09PT09PT09PT09PSBhdGFuID09PT09PT09PT09PT09PT09PT09IgouL21hdGhf ZXJyb3JfdGVzdC5zaCAkdGZsYWcgLS0gYXRhbgpzdGFydF90ZXN0IGF0YW4KcnVuX3Rlc3QgICBu b2Vycm9yCW5hbgkJCQktLSBhdGFuICAgIG5hbgpydW5fdGVzdCAgIG5vZXJyb3IJKzAJCQkJLS0g YXRhbiAgICArMApydW5fdGVzdCAgIG5vZXJyb3IJLTAJCQkJLS0gYXRhbiAgICAtMAp0ZXN0X3Jl cG9ydAoKZWNobyAiPT09PT09PT09PT09PT09PT09PT0gYXRhbjIgPT09PT09PT09PT09PT09PT09 PT0iCi4vbWF0aF9lcnJvcl90ZXN0LnNoICR0ZmxhZyAtbjIgLS0gYXRhbjIKc3RhcnRfdGVzdCBh dGFuMgpydW5fdGVzdCAgIG5vZXJyb3IJJFBJCQktbjIJCS0tIGF0YW4yICAgKzAgLTEKcnVuX3Rl c3QgICBub2Vycm9yCS0kUEkJCS1uMgkJLS0gYXRhbjIgICAtMCAtMQpydW5fdGVzdCAgIG5vZXJy b3IJKzAJCS1uMgkJLS0gYXRhbjIgICArMCAxCnJ1bl90ZXN0ICAgbm9lcnJvcgktMAkJLW4yCQkt LSBhdGFuMiAgIC0wIDEKcnVuX3Rlc3QgICBub2Vycm9yCS0kUElfRElWXzIJLW4yCQktLSBhdGFu MiAgIC0xICswCnJ1bl90ZXN0ICAgbm9lcnJvcgktJFBJX0RJVl8yCS1uMgkJLS0gYXRhbjIgICAt MSAtMApydW5fdGVzdCAgIG5vZXJyb3IJJFBJX0RJVl8yCS1uMgkJLS0gYXRhbjIgICAxICswCnJ1 bl90ZXN0ICAgbm9lcnJvcgluYW4JCS1uMgkJLS0gYXRhbjIgICAwIG5hbgpydW5fdGVzdCAgIG5v ZXJyb3IJbmFuCQktbjIJCS0tIGF0YW4yICAgbmFuIDAKcnVuX3Rlc3QgICBub2Vycm9yCW5hbgkJ LW4yCQktLSBhdGFuMiAgIG5hbiBuYW4KcnVuX3Rlc3QgICBub2Vycm9yCTAJCS1uMgkJLS0gYXRh bjIgICArMCArMApydW5fdGVzdCAgIG5vZXJyb3IJLTAJCS1uMgkJLS0gYXRhbjIgICAtMCArMApy dW5fdGVzdCAgIG5vZXJyb3IJJFBJCQktbjIJCS0tIGF0YW4yICAgKzAgLTAKcnVuX3Rlc3QgICBu b2Vycm9yCS0kUEkJCS1uMgkJLS0gYXRhbjIgICAtMCAtMApydW5fdGVzdCAgIG5vZXJyb3IJJFBJ CQktbjIJCS0tIGF0YW4yICAgOTkgLWluZgpydW5fdGVzdCAgIG5vZXJyb3IJLSRQSQkJLW4yCQkt LSBhdGFuMiAgIC05OSAtaW5mCnJ1bl90ZXN0ICAgbm9lcnJvcgkwCQktbjIJCS0tIGF0YW4yICAg OTkgK2luZgpydW5fdGVzdCAgIG5vZXJyb3IJLTAJCS1uMgkJLS0gYXRhbjIgICAtOTkgK2luZgpy dW5fdGVzdCAgIG5vZXJyb3IJJFBJX0RJVl8yCS1uMgkJLS0gYXRhbjIgICAraW5mIDk5CnJ1bl90 ZXN0ICAgbm9lcnJvcgktJFBJX0RJVl8yCS1uMgkJLS0gYXRhbjIgICAtaW5mIDk5CnJ1bl90ZXN0 ICAgbm9lcnJvcgkkUElfM1FVQVJURVIJLW4yCQktLSBhdGFuMiAgICtpbmYgLWluZgpydW5fdGVz dCAgIG5vZXJyb3IJLSRQSV8zUVVBUlRFUgktbjIJCS0tIGF0YW4yICAgLWluZiAtaW5mCnJ1bl90 ZXN0ICAgbm9lcnJvcgkkUElfRElWXzQJLW4yCQktLSBhdGFuMiAgICtpbmYgK2luZgpydW5fdGVz dCAgIG5vZXJyb3IJLSRQSV9ESVZfNAktbjIJCS0tIGF0YW4yICAgLWluZiAraW5mCnRlc3RfcmVw b3J0CgplY2hvICI9PT09PT09PT09PT09PT09PT09PSBjb3NoID09PT09PT09PT09PT09PT09PT09 IgouL21hdGhfZXJyb3JfdGVzdC5zaCAkdGZsYWcgLS0gY29zaApzdGFydF90ZXN0IGNvc2gKcnVu X3Rlc3QgICBub2Vycm9yCW5hbgkJCQktLSBjb3NoICAgIG5hbgpydW5fdGVzdCAgIG5vZXJyb3IJ MQkJCQktLSBjb3NoICAgICswCnJ1bl90ZXN0ICAgbm9lcnJvcgkxCQkJCS0tIGNvc2ggICAgLTAK cnVuX3Rlc3QgICBub2Vycm9yCStpbmYJCQkJLS0gY29zaCAgICAraW5mCnJ1bl90ZXN0ICAgbm9l cnJvcgkraW5mCQkJCS0tIGNvc2ggICAgLWluZgpydW5fdGVzdCAgIG92ZXJmbG93CWluZgkJCQkt LSBjb3NoICAgIG1heApydW5fdGVzdCAgIG92ZXJmbG93CWluZgkJCQktLSBjb3NoICAgIC1tYXgK dGVzdF9yZXBvcnQKCmVjaG8gIj09PT09PT09PT09PT09PT09PT09IHNpbmggPT09PT09PT09PT09 PT09PT09PT0iCi4vbWF0aF9lcnJvcl90ZXN0LnNoICR0ZmxhZyAtLSBzaW5oCnN0YXJ0X3Rlc3Qg c2luaApydW5fdGVzdCAgIG5vZXJyb3IJbmFuCQkJCS0tIHNpbmggICAgbmFuCnJ1bl90ZXN0ICAg bm9lcnJvcgkrMAkJCQktLSBzaW5oICAgICswCnJ1bl90ZXN0ICAgbm9lcnJvcgktMAkJCQktLSBz aW5oICAgIC0wCnJ1bl90ZXN0ICAgbm9lcnJvcgkraW5mCQkJCS0tIHNpbmggICAgK2luZgpydW5f dGVzdCAgIG5vZXJyb3IJLWluZgkJCQktLSBzaW5oICAgIC1pbmYKcnVuX3Rlc3QgICBvdmVyZmxv dwlpbmYJCQkJLS0gc2luaCAgICBtYXgKcnVuX3Rlc3QgICBvdmVyZmxvdwktaW5mCQkJCS0tIHNp bmggICAgLW1heAp0ZXN0X3JlcG9ydAoKZWNobyAiPT09PT09PT09PT09PT09PT09PT0gdGFuaCA9 PT09PT09PT09PT09PT09PT09PSIKLi9tYXRoX2Vycm9yX3Rlc3Quc2ggJHRmbGFnIC0tIHRhbmgK c3RhcnRfdGVzdCB0YW5oCnJ1bl90ZXN0ICAgbm9lcnJvcgluYW4JCQkJLS0gdGFuaCAgICBuYW4K cnVuX3Rlc3QgICBub2Vycm9yCSswCQkJCS0tIHRhbmggICAgKzAKcnVuX3Rlc3QgICBub2Vycm9y CS0wCQkJCS0tIHRhbmggICAgLTAKcnVuX3Rlc3QgICBub2Vycm9yCSsxCQkJCS0tIHRhbmggICAg K2luZgpydW5fdGVzdCAgIG5vZXJyb3IJLTEJCQkJLS0gdGFuaCAgICAtaW5mCnRlc3RfcmVwb3J0 CgplY2hvICI9PT09PT09PT09PT09PT09PT09PSBhY29zaCA9PT09PT09PT09PT09PT09PT09PSIK Li9tYXRoX2Vycm9yX3Rlc3Quc2ggJHRmbGFnIC0tIGFjb3NoCnN0YXJ0X3Rlc3QgYWNvc2gKcnVu X3Rlc3QgICBub2Vycm9yCW5hbgkJCQktLSBhY29zaCAgIG5hbgpydW5fdGVzdCAgIG5vZXJyb3IJ KzAJCQkJLS0gYWNvc2ggICArMQpydW5fdGVzdCAgIG5vZXJyb3IJK2luZgkJCQktLSBhY29zaCAg ICtpbmYKcnVuX3Rlc3QgICBkb21haW4JbmFuCQkJCS0tIGFjb3NoICAgMC41CnJ1bl90ZXN0ICAg ZG9tYWluCW5hbgkJCQktLSBhY29zaCAgIDAuMApydW5fdGVzdCAgIGRvbWFpbgluYW4JCQkJLS0g YWNvc2ggICAtMQpydW5fdGVzdCAgIGRvbWFpbgluYW4JCQkJLS0gYWNvc2ggICAtaW5mCnRlc3Rf cmVwb3J0CgplY2hvICI9PT09PT09PT09PT09PT09PT09PSBhc2luaCA9PT09PT09PT09PT09PT09 PT09PSIKLi9tYXRoX2Vycm9yX3Rlc3Quc2ggJHRmbGFnIC0tIGFzaW5oCnN0YXJ0X3Rlc3QgYXNp bmgKcnVuX3Rlc3QgICBub2Vycm9yCW5hbgkJCQktLSBhc2luaCAgIG5hbgpydW5fdGVzdCAgIG5v ZXJyb3IJKzAJCQkJLS0gYXNpbmggICArMApydW5fdGVzdCAgIG5vZXJyb3IJLTAJCQkJLS0gYXNp bmggICAtMApydW5fdGVzdCAgIG5vZXJyb3IJK2luZgkJCQktLSBhc2luaCAgICtpbmYKcnVuX3Rl c3QgICBub2Vycm9yCS1pbmYJCQkJLS0gYXNpbmggICAtaW5mCnRlc3RfcmVwb3J0CgplY2hvICI9 PT09PT09PT09PT09PT09PT09PSBhdGFuaCA9PT09PT09PT09PT09PT09PT09PSIKLi9tYXRoX2Vy cm9yX3Rlc3Quc2ggJHRmbGFnIC0tIGF0YW5oCnN0YXJ0X3Rlc3QgYXRhbmgKcnVuX3Rlc3QgICBu b2Vycm9yCW5hbgkJCQktLSBhdGFuaCAgIG5hbgpydW5fdGVzdCAgIG5vZXJyb3IJKzAJCQkJLS0g YXRhbmggICArMApydW5fdGVzdCAgIG5vZXJyb3IJLTAJCQkJLS0gYXRhbmggICAtMApydW5fdGVz dCAgIHBvbGUJCStpbmYJCQkJLS0gYXRhbmggICArMQpydW5fdGVzdCAgIHBvbGUJCS1pbmYJCQkJ LS0gYXRhbmggICAtMQpydW5fdGVzdCAgIGRvbWFpbgluYW4JCQkJLS0gYXRhbmggICAtMgpydW5f dGVzdCAgIGRvbWFpbgluYW4JCQkJLS0gYXRhbmggICAyCnRlc3RfcmVwb3J0CgplY2hvICI9PT09 PT09PT09PT09PT09PT09PSBlcmYgPT09PT09PT09PT09PT09PT09PT0iCi4vbWF0aF9lcnJvcl90 ZXN0LnNoICR0ZmxhZyAtLSBlcmYKc3RhcnRfdGVzdCBlcmYKcnVuX3Rlc3QgICBub2Vycm9yCW5h bgkJCQktLSBlcmYgICAgIG5hbgpydW5fdGVzdCAgIG5vZXJyb3IJKzAJCQkJLS0gZXJmICAgICAr MApydW5fdGVzdCAgIG5vZXJyb3IJLTAJCQkJLS0gZXJmICAgICAtMApydW5fdGVzdCAgIG5vZXJy b3IJKzEJCQkJLS0gZXJmICAgICAraW5mCnJ1bl90ZXN0ICAgbm9lcnJvcgktMQkJCQktLSBlcmYg ICAgIC1pbmYKcnVuX3Rlc3QgICB1bmRlcmZsb3cJIioiCQkJCS0tIGVyZiAgICAgc3Vibm9ybWFs CnRlc3RfcmVwb3J0CgplY2hvICI9PT09PT09PT09PT09PT09PT09PSBlcmZjID09PT09PT09PT09 PT09PT09PT09IgouL21hdGhfZXJyb3JfdGVzdC5zaCAkdGZsYWcgLS0gZXJmYwpzdGFydF90ZXN0 IGVyZmMKcnVuX3Rlc3QgICBub2Vycm9yCW5hbgkJCQktLSBlcmZjICAgIG5hbgpydW5fdGVzdCAg IG5vZXJyb3IJMQkJCQktLSBlcmZjICAgICswCnJ1bl90ZXN0ICAgbm9lcnJvcgkxCQkJCS0tIGVy ZmMgICAgLTAKcnVuX3Rlc3QgICBub2Vycm9yCSswCQkJCS0tIGVyZmMgICAgK2luZgpydW5fdGVz dCAgIG5vZXJyb3IJKzIJCQkJLS0gZXJmYyAgICAtaW5mCiMKaWYgdGVzdCAkZnR5cGUgPSAkVF9G TE9BVDsgdGhlbgogICAgVUZfVkFMPTEwCQkjIFVuZGVyZmxvdyB2YWx1ZSBmb3IgImZsb2F0IiBm dW5jdGlvbgplbGlmIHRlc3QgJGZ0eXBlID0gJFRfTE9OR19ET1VCTEU7IHRoZW4KICAgIFVGX1ZB TD0xMDYuOQkjIFVuZGVyZmxvdyB2YWx1ZSBmb3IgImxvbmcgZG91YmxlIiBmdW5jdGlvbgplbHNl CiAgICBVRl9WQUw9MjcJCSMgVW5kZXJmbG93IHZhbHVlIGZvciAiZG91YmxlIiBmdW5jdGlvbgpm aQpydW5fdGVzdCAgIHVuZGVyZmxvdwkiKiIJCQkJLS0gZXJmYyAgICAkVUZfVkFMCnRlc3RfcmVw b3J0CgplY2hvICI9PT09PT09PT09PT09PT09PT09PSBleHAgPT09PT09PT09PT09PT09PT09PT0i Ci4vbWF0aF9lcnJvcl90ZXN0LnNoICR0ZmxhZyAtLSBleHAKc3RhcnRfdGVzdCBleHAKcnVuX3Rl c3QgICBub2Vycm9yCW5hbgkJCQktLSBleHAgICAgIG5hbgpydW5fdGVzdCAgIG5vZXJyb3IJK2lu ZgkJCQktLSBleHAgICAgICtpbmYKcnVuX3Rlc3QgICBub2Vycm9yCSswCQkJCS0tIGV4cCAgICAg LWluZgpydW5fdGVzdCAgIHVuZGVyZmxvdwkrMAkJCQktLSBleHAgICAgIC0xMDAwMApydW5fdGVz dCAgIG92ZXJmbG93CStpbmYJCQkJLS0gZXhwICAgICAxMDAwMAp0ZXN0X3JlcG9ydAoKZWNobyAi PT09PT09PT09PT09PT09PT09PT0gZXhwMTAgPT09PT09PT09PT09PT09PT09PT0iCi4vbWF0aF9l cnJvcl90ZXN0LnNoICR0ZmxhZyAtLSBleHAxMApzdGFydF90ZXN0IGV4cDEwCnJ1bl90ZXN0ICAg bm9lcnJvcgluYW4JCQkJLS0gZXhwMTAgICBuYW4KcnVuX3Rlc3QgICBub2Vycm9yCStpbmYJCQkJ LS0gZXhwMTAgICAraW5mCnJ1bl90ZXN0ICAgbm9lcnJvcgkrMAkJCQktLSBleHAxMCAgIC1pbmYK cnVuX3Rlc3QgICB1bmRlcmZsb3cJKzAJCQkJLS0gZXhwMTAgICAtMTAwMDAKcnVuX3Rlc3QgICBv dmVyZmxvdwkraW5mCQkJCS0tIGV4cDEwICAgMTAwMDAKdGVzdF9yZXBvcnQKCmVjaG8gIj09PT09 PT09PT09PT09PT09PT09IGV4cDIgPT09PT09PT09PT09PT09PT09PT0iCi4vbWF0aF9lcnJvcl90 ZXN0LnNoICR0ZmxhZyAtLSBleHAyCnN0YXJ0X3Rlc3QgZXhwMgpydW5fdGVzdCAgIG5vZXJyb3IJ bmFuCQkJCS0tIGV4cDIgICAgbmFuCnJ1bl90ZXN0ICAgbm9lcnJvcgkraW5mCQkJCS0tIGV4cDIg ICAgK2luZgpydW5fdGVzdCAgIG5vZXJyb3IJKzAJCQkJLS0gZXhwMiAgICAtaW5mCnJ1bl90ZXN0 ICAgdW5kZXJmbG93CSswCQkJCS0tIGV4cDIgICAgLTEwMDAwCnJ1bl90ZXN0ICAgb3ZlcmZsb3cJ K2luZgkJCQktLSBleHAyICAgIDEwMDAwCnRlc3RfcmVwb3J0CgplY2hvICI9PT09PT09PT09PT09 PT09PT09PSBleHBtMSA9PT09PT09PT09PT09PT09PT09PSIKLi9tYXRoX2Vycm9yX3Rlc3Quc2gg JHRmbGFnIC0tIGV4cG0xCnN0YXJ0X3Rlc3QgZXhwbTEKcnVuX3Rlc3QgICBub2Vycm9yCW5hbgkJ CQktLSBleHBtMSAgIG5hbgpydW5fdGVzdCAgIG5vZXJyb3IJKzAJCQkJLS0gZXhwbTEgICArMApy dW5fdGVzdCAgIG5vZXJyb3IJLTAJCQkJLS0gZXhwbTEgICAtMApydW5fdGVzdCAgIG5vZXJyb3IJ K2luZgkJCQktLSBleHBtMSAgICtpbmYKcnVuX3Rlc3QgICBvdmVyZmxvdwkraW5mCQkJCS0tIGV4 cG0xICAgMWU0CnJ1bl90ZXN0ICAgbm9lcnJvcgktMQkJCQktLSBleHBtMSAgIC0xMDAwMDAwCnRl c3RfcmVwb3J0CgplY2hvICI9PT09PT09PT09PT09PT09PT09PSBsZGV4cCA9PT09PT09PT09PT09 PT09PT09PSIKLi9tYXRoX2Vycm9yX3Rlc3Quc2ggJHRmbGFnIC1uMiAteSBpIC0tIGxkZXhwCnN0 YXJ0X3Rlc3QgbGRleHAKcnVuX3Rlc3QgICBub2Vycm9yCW5hbgkJLW4yCQktLSBsZGV4cCAgIG5h biAxCnJ1bl90ZXN0ICAgbm9lcnJvcgkraW5mCQktbjIJCS0tIGxkZXhwICAgK2luZiAxCnJ1bl90 ZXN0ICAgbm9lcnJvcgktaW5mCQktbjIJCS0tIGxkZXhwICAgLWluZiAxCnJ1bl90ZXN0ICAgdW5k ZXJmbG93CTAJCS1uMgkJLS0gbGRleHAgICAxIC0xMDAwMDAKcnVuX3Rlc3QgICBvdmVyZmxvdwkr aW5mCQktbjIJCS0tIGxkZXhwICAgMSAxMDAwMDAKdGVzdF9yZXBvcnQKCmVjaG8gIj09PT09PT09 PT09PT09PT09PT09IGxvZyA9PT09PT09PT09PT09PT09PT09PSIKLi9tYXRoX2Vycm9yX3Rlc3Qu c2ggJHRmbGFnIC0tIGxvZwpzdGFydF90ZXN0IGxvZwpydW5fdGVzdCAgIG5vZXJyb3IJbmFuCQkJ CS0tIGxvZyAgICAgbmFuCnJ1bl90ZXN0ICAgbm9lcnJvcgkrMAkJCQktLSBsb2cgICAgIDEKcnVu X3Rlc3QgICBub2Vycm9yCStpbmYJCQkJLS0gbG9nICAgICAraW5mCnJ1bl90ZXN0ICAgcG9sZQkJ LWluZgkJCQktLSBsb2cgICAgIDAKcnVuX3Rlc3QgICBkb21haW4JbmFuCQkJCS0tIGxvZyAgICAg LTEKdGVzdF9yZXBvcnQKCmVjaG8gIj09PT09PT09PT09PT09PT09PT09IGxvZzEwID09PT09PT09 PT09PT09PT09PT09IgouL21hdGhfZXJyb3JfdGVzdC5zaCAkdGZsYWcgLS0gbG9nMTAKc3RhcnRf dGVzdCBsb2cxMApydW5fdGVzdCAgIG5vZXJyb3IJbmFuCQkJCS0tIGxvZzEwICAgbmFuCnJ1bl90 ZXN0ICAgbm9lcnJvcgkrMAkJCQktLSBsb2cxMCAgIDEKcnVuX3Rlc3QgICBub2Vycm9yCStpbmYJ CQkJLS0gbG9nMTAgICAraW5mCnJ1bl90ZXN0ICAgcG9sZQkJLWluZgkJCQktLSBsb2cxMCAgIDAK cnVuX3Rlc3QgICBkb21haW4JbmFuCQkJCS0tIGxvZzEwICAgLTEKdGVzdF9yZXBvcnQKCmVjaG8g Ij09PT09PT09PT09PT09PT09PT09IGxvZzIgPT09PT09PT09PT09PT09PT09PT0iCi4vbWF0aF9l cnJvcl90ZXN0LnNoICR0ZmxhZyAtLSBsb2cyCnN0YXJ0X3Rlc3QgbG9nMgpydW5fdGVzdCAgIG5v ZXJyb3IJbmFuCQkJCS0tIGxvZzIgICAgbmFuCnJ1bl90ZXN0ICAgbm9lcnJvcgkrMAkJCQktLSBs b2cyICAgIDEKcnVuX3Rlc3QgICBub2Vycm9yCStpbmYJCQkJLS0gbG9nMiAgICAraW5mCnJ1bl90 ZXN0ICAgcG9sZQkJLWluZgkJCQktLSBsb2cyICAgIDAKcnVuX3Rlc3QgICBkb21haW4JbmFuCQkJ CS0tIGxvZzIgICAgLTEKdGVzdF9yZXBvcnQKCmVjaG8gIj09PT09PT09PT09PT09PT09PT09IGxv ZzFwID09PT09PT09PT09PT09PT09PT09IgouL21hdGhfZXJyb3JfdGVzdC5zaCAkdGZsYWcgLS0g bG9nMXAKc3RhcnRfdGVzdCBsb2cxcApydW5fdGVzdCAgIG5vZXJyb3IJbmFuCQkJCS0tIGxvZzFw ICAgbmFuCnJ1bl90ZXN0ICAgbm9lcnJvcgkraW5mCQkJCS0tIGxvZzFwICAgK2luZgpydW5fdGVz dCAgIHBvbGUJCS1pbmYJCQkJLS0gbG9nMXAgICAtMQpydW5fdGVzdCAgIGRvbWFpbgluYW4JCQkJ LS0gbG9nMXAgICAtMgp0ZXN0X3JlcG9ydAoKZWNobyAiPT09PT09PT09PT09PT09PT09PT0gbG9n YiA9PT09PT09PT09PT09PT09PT09PSIKLi9tYXRoX2Vycm9yX3Rlc3Quc2ggJHRmbGFnIC0tIGxv Z2IKc3RhcnRfdGVzdCBsb2diCnJ1bl90ZXN0ICAgbm9lcnJvcgluYW4JCQkJLS0gbG9nYiAgICBu YW4KcnVuX3Rlc3QgICBwb2xlCQktaW5mCQkJCS0tIGxvZ2IgICAgMApydW5fdGVzdCAgIG5vZXJy b3IJK2luZgkJCQktLSBsb2diICAgICtpbmYKcnVuX3Rlc3QgICBub2Vycm9yCStpbmYJCQkJLS0g bG9nYiAgICAtaW5mCnRlc3RfcmVwb3J0CgplY2hvICI9PT09PT09PT09PT09PT09PT09PSBpbG9n YiA9PT09PT09PT09PT09PT09PT09PSIKLi9tYXRoX2Vycm9yX3Rlc3Quc2ggJHRmbGFnIC1yIGkg LS0gaWxvZ2IKc3RhcnRfdGVzdCBpbG9nYgpydW5fdGVzdCAgIGRvbWFpbglGUF9JTE9HQjAJLXIg aQkJLS0gaWxvZ2IgICAwCnJ1bl90ZXN0ICAgZG9tYWluCUZQX0lMT0dCTkFOCS1yIGkJCS0tIGls b2diICAgbmFuCnJ1bl90ZXN0ICAgZG9tYWluCUlOVF9NQVgJCS1yIGkJCS0tIGlsb2diICAgK2lu ZgpydW5fdGVzdCAgIGRvbWFpbglJTlRfTUFYCQktciBpCQktLSBpbG9nYiAgIC1pbmYKdGVzdF9y ZXBvcnQKCmVjaG8gIj09PT09PT09PT09PT09PT09PT09IHNxcnQgPT09PT09PT09PT09PT09PT09 PT0iCi4vbWF0aF9lcnJvcl90ZXN0LnNoICR0ZmxhZyAtLSBzcXJ0CnN0YXJ0X3Rlc3Qgc3FydApy dW5fdGVzdCAgIG5vZXJyb3IJbmFuCQkJCS0tIHNxcnQgICAgbmFuCnJ1bl90ZXN0ICAgbm9lcnJv cgkrMAkJCQktLSBzcXJ0ICAgICswCnJ1bl90ZXN0ICAgbm9lcnJvcgktMAkJCQktLSBzcXJ0ICAg IC0wCnJ1bl90ZXN0ICAgbm9lcnJvcgkraW5mCQkJCS0tIHNxcnQgICAgK2luZgpydW5fdGVzdCAg IGRvbWFpbgluYW4JCQkJLS0gc3FydCAgICAtMQp0ZXN0X3JlcG9ydAoKZWNobyAiPT09PT09PT09 PT09PT09PT09PT0gY2JydCA9PT09PT09PT09PT09PT09PT09PSIKLi9tYXRoX2Vycm9yX3Rlc3Qu c2ggJHRmbGFnIC0tIGNicnQKc3RhcnRfdGVzdCBjYnJ0CnJ1bl90ZXN0ICAgbm9lcnJvcgluYW4J CQkJLS0gY2JydCAgICBuYW4KcnVuX3Rlc3QgICBub2Vycm9yCStpbmYJCQkJLS0gY2JydCAgICAr aW5mCnJ1bl90ZXN0ICAgbm9lcnJvcgktaW5mCQkJCS0tIGNicnQgICAgLWluZgpydW5fdGVzdCAg IG5vZXJyb3IJKzAJCQkJLS0gY2JydCAgICArMApydW5fdGVzdCAgIG5vZXJyb3IJLTAJCQkJLS0g Y2JydCAgICAtMAp0ZXN0X3JlcG9ydAoKZWNobyAiPT09PT09PT09PT09PT09PT09PT0gcG93ID09 PT09PT09PT09PT09PT09PT09IgouL21hdGhfZXJyb3JfdGVzdC5zaCAkdGZsYWcgLW4yIC0tIHBv dwpzdGFydF90ZXN0IHBvdwpydW5fdGVzdCAgIGRvbWFpbgluYW4JCS1uMgkJLS0gcG93ICAgICAt MSAxLjUKcnVuX3Rlc3QgICBvdmVyZmxvdwkraW5mCQktbjIJCS0tIHBvdyAgICAgbWF4IDIKcnVu X3Rlc3QgICBub2Vycm9yCTEJCS1uMgkJLS0gcG93ICAgICAxIG5hbgpydW5fdGVzdCAgIG5vZXJy b3IJMQkJLW4yCQktLSBwb3cgICAgIDAgbmFuCnJ1bl90ZXN0ICAgbm9lcnJvcgkrMAkJLW4yCQkt LSBwb3cgICAgICswIDMKcnVuX3Rlc3QgICBub2Vycm9yCS0wCQktbjIJCS0tIHBvdyAgICAgLTAg MwpydW5fdGVzdCAgIG5vZXJyb3IJKzAJCS1uMgkJLS0gcG93ICAgICArMCAzLjUKcnVuX3Rlc3Qg ICBub2Vycm9yCSswCQktbjIJCS0tIHBvdyAgICAgLTAgMy41CnJ1bl90ZXN0ICAgbm9lcnJvcgkr MAkJLW4yCQktLSBwb3cgICAgICswIDQKcnVuX3Rlc3QgICBub2Vycm9yCSswCQktbjIJCS0tIHBv dyAgICAgLTAgNApydW5fdGVzdCAgIG5vZXJyb3IJK2luZgkJLW4yCQktLSBwb3cgICAgIDAuNSAt aW5mCnJ1bl90ZXN0ICAgbm9lcnJvcgkraW5mCQktbjIJCS0tIHBvdyAgICAgLTAuNSAtaW5mCnJ1 bl90ZXN0ICAgbm9lcnJvcgkrMAkJLW4yCQktLSBwb3cgICAgIDEuNSAtaW5mCnJ1bl90ZXN0ICAg bm9lcnJvcgkrMAkJLW4yCQktLSBwb3cgICAgIC0xLjUgLWluZgpydW5fdGVzdCAgIG5vZXJyb3IJ KzAJCS1uMgkJLS0gcG93ICAgICAwLjUgK2luZgpydW5fdGVzdCAgIG5vZXJyb3IJKzAJCS1uMgkJ LS0gcG93ICAgICAtMC41ICtpbmYKcnVuX3Rlc3QgICBub2Vycm9yCStpbmYJCS1uMgkJLS0gcG93 ICAgICAxLjUgK2luZgpydW5fdGVzdCAgIG5vZXJyb3IJK2luZgkJLW4yCQktLSBwb3cgICAgIC0x LjUgK2luZgpydW5fdGVzdCAgIG92ZXJmbG93CStpbmYJCS1uMgkJLS0gcG93ICAgICAwLjUgLW1h eApydW5fdGVzdCAgIG92ZXJmbG93CStpbmYJCS1uMgkJLS0gcG93ICAgICAtMC41IC1tYXgKcnVu X3Rlc3QgICB1bmRlcmZsb3cJKzAJCS1uMgkJLS0gcG93ICAgICAxLjUgLW1heApydW5fdGVzdCAg IHVuZGVyZmxvdwkrMAkJLW4yCQktLSBwb3cgICAgIC0xLjUgLW1heApydW5fdGVzdCAgIHVuZGVy ZmxvdwkrMAkJLW4yCQktLSBwb3cgICAgIDAuNSArbWF4CnJ1bl90ZXN0ICAgdW5kZXJmbG93CSsw CQktbjIJCS0tIHBvdyAgICAgLTAuNSArbWF4CnJ1bl90ZXN0ICAgb3ZlcmZsb3cJK2luZgkJLW4y CQktLSBwb3cgICAgIDEuNSArbWF4CnJ1bl90ZXN0ICAgb3ZlcmZsb3cJK2luZgkJLW4yCQktLSBw b3cgICAgIC0xLjUgK21heAoKIyBGb3IgdGhlIG5leHQgdHdvLCBzZWUgaHR0cDovL3NvdXJjZXMu cmVkaGF0LmNvbS9idWd6aWxsYS9zaG93X2J1Zy5jZ2k/aWQ9MjY3OAojIChQT1NJWC4xIGRvZXNu J3Qgc3BlY2lmeSB0aGUgc2lnbiBvZiB0aGUgemVybyB0aGF0IHJlc3VsdHMgaW4gdGhlc2UgY2Fz ZXMpCnJ1bl90ZXN0ICAgdW5kZXJmbG93ICAgIC0wCQktbjIJCS0tIHBvdyAgICAgLW1pbiAzCnJ1 bl90ZXN0ICAgdW5kZXJmbG93ICAgIC0wCQktbjIJCS0tIHBvdyAgICAgLW1heCAtMwoKcnVuX3Rl c3QgICBub2Vycm9yCS0wCQktbjIJCS0tIHBvdyAgICAgLWluZiAtMwpydW5fdGVzdCAgIG5vZXJy b3IJKzAJCS1uMgkJLS0gcG93ICAgICAtaW5mIC0xZTEwMApydW5fdGVzdCAgIG5vZXJyb3IJKzAJ CS1uMgkJLS0gcG93ICAgICAtaW5mIC0zLjUKcnVuX3Rlc3QgICBub2Vycm9yCS1pbmYJCS1uMgkJ LS0gcG93ICAgICAtaW5mIDMKcnVuX3Rlc3QgICBub2Vycm9yCStpbmYJCS1uMgkJLS0gcG93ICAg ICAtaW5mIDMuNQpydW5fdGVzdCAgIG5vZXJyb3IJKzAJCS1uMgkJLS0gcG93ICAgICAraW5mIC0w LjUKcnVuX3Rlc3QgICBub2Vycm9yCStpbmYJCS1uMgkJLS0gcG93ICAgICAraW5mICswLjUKcnVu X3Rlc3QgICBwb2xlCQkraW5mCQktbjIJCS0tIHBvdyAgICAgKzAgLTMKcnVuX3Rlc3QgICBwb2xl CQktaW5mCQktbjIJCS0tIHBvdyAgICAgLTAgLTMKcnVuX3Rlc3QgICBwb2xlCQkraW5mCQktbjIJ CS0tIHBvdyAgICAgKzAgLTMuNQpydW5fdGVzdCAgIHBvbGUJCStpbmYJCS1uMgkJLS0gcG93ICAg ICAtMCAtMy41CnRlc3RfcmVwb3J0CgplY2hvICI9PT09PT09PT09PT09PT09PT09PSBoeXBvdCA9 PT09PT09PT09PT09PT09PT09PSIKLi9tYXRoX2Vycm9yX3Rlc3Quc2ggJHRmbGFnIC1uMiAtLSBo eXBvdApzdGFydF90ZXN0IGh5cG90CnJ1bl90ZXN0ICAgbm9lcnJvcgkraW5mCQktbjIJCS0tIGh5 cG90ICAgK2luZiBuYW4KcnVuX3Rlc3QgICBub2Vycm9yCStpbmYJCS1uMgkJLS0gaHlwb3QgICAt aW5mIG5hbgpydW5fdGVzdCAgIG5vZXJyb3IJK2luZgkJLW4yCQktLSBoeXBvdCAgIG5hbiAraW5m CnJ1bl90ZXN0ICAgbm9lcnJvcgkraW5mCQktbjIJCS0tIGh5cG90ICAgbmFuIC1pbmYKcnVuX3Rl c3QgICBub2Vycm9yCW5hbgkJLW4yCQktLSBoeXBvdCAgIG5hbiAwCnJ1bl90ZXN0ICAgbm9lcnJv cgluYW4JCS1uMgkJLS0gaHlwb3QgICAwIG5hbiAKcnVuX3Rlc3QgICBvdmVyZmxvdwkraW5mCQkt bjIJCS0tIGh5cG90ICAgbWF4IG1heApydW5fdGVzdCAgIHVuZGVyZmxvdwlzdWJub3JtYWwJLW4y CQktLSBoeXBvdCAgIHN1Ym5vcm1hbDo4IHN1Ym5vcm1hbDo4CnRlc3RfcmVwb3J0CgplY2hvICI9 PT09PT09PT09PT09PT09PT09PSBmZGltID09PT09PT09PT09PT09PT09PT09IgouL21hdGhfZXJy b3JfdGVzdC5zaCAkdGZsYWcgLW4yIC0tIGZkaW0Kc3RhcnRfdGVzdCBmZGltCnJ1bl90ZXN0ICAg bm9lcnJvcgluYW4JCS1uMgkJLS0gZmRpbSAgICAraW5mIG5hbgpydW5fdGVzdCAgIG5vZXJyb3IJ bmFuCQktbjIJCS0tIGZkaW0gICAgbmFuICtpbmYKcnVuX3Rlc3QgICBvdmVyZmxvdwlpbmYJCS1u MgkJLS0gZmRpbSAgICBtYXggLW1heAp0ZXN0X3JlcG9ydAoKZWNobyAiPT09PT09PT09PT09PT09 PT09PT0gZm1heCA9PT09PT09PT09PT09PT09PT09PSIKLi9tYXRoX2Vycm9yX3Rlc3Quc2ggJHRm bGFnIC1uMiAtLSBmbWF4CnN0YXJ0X3Rlc3QgZm1heApydW5fdGVzdCAgIG5vZXJyb3IJMQkJLW4y CQktLSBmbWF4ICAgIDEgbmFuCnJ1bl90ZXN0ICAgbm9lcnJvcgkxCQktbjIJCS0tIGZtYXggICAg bmFuIDEKcnVuX3Rlc3QgICBub2Vycm9yCW5hbgkJLW4yCQktLSBmbWF4ICAgIG5hbiBuYW4KdGVz dF9yZXBvcnQKCmVjaG8gIj09PT09PT09PT09PT09PT09PT09IGZtaW4gPT09PT09PT09PT09PT09 PT09PT0iCi4vbWF0aF9lcnJvcl90ZXN0LnNoICR0ZmxhZyAtbjIgLS0gZm1pbgpzdGFydF90ZXN0 IGZtaW4KcnVuX3Rlc3QgICBub2Vycm9yCTEJCS1uMgkJLS0gZm1pbiAgICAxIG5hbgpydW5fdGVz dCAgIG5vZXJyb3IJMQkJLW4yCQktLSBmbWluICAgIG5hbiAxCnJ1bl90ZXN0ICAgbm9lcnJvcglu YW4JCS1uMgkJLS0gZm1pbiAgICBuYW4gbmFuCnRlc3RfcmVwb3J0CgplY2hvICI9PT09PT09PT09 PT09PT09PT09PSBmYWJzID09PT09PT09PT09PT09PT09PT09IgouL21hdGhfZXJyb3JfdGVzdC5z aCAkdGZsYWcgLS0gZmFicwpzdGFydF90ZXN0IGZhYnMKcnVuX3Rlc3QgICBub2Vycm9yCW5hbgkJ CQktLSBmYWJzICAgIG5hbgpydW5fdGVzdCAgIG5vZXJyb3IJKzAJCQkJLS0gZmFicyAgICAtMApy dW5fdGVzdCAgIG5vZXJyb3IJK2luZgkJCQktLSBmYWJzICAgICtpbmYKcnVuX3Rlc3QgICBub2Vy cm9yCStpbmYJCQkJLS0gZmFicyAgICAtaW5mCnRlc3RfcmVwb3J0CgplY2hvICI9PT09PT09PT09 PT09PT09PT09PSBjZWlsID09PT09PT09PT09PT09PT09PT09IgouL21hdGhfZXJyb3JfdGVzdC5z aCAkdGZsYWcgLS0gY2VpbApzdGFydF90ZXN0IGNlaWwKcnVuX3Rlc3QgICBub2Vycm9yCW5hbgkJ CQktLSBjZWlsICAgIG5hbgpydW5fdGVzdCAgIG5vZXJyb3IJKzAJCQkJLS0gY2VpbCAgICArMApy dW5fdGVzdCAgIG5vZXJyb3IJLTAJCQkJLS0gY2VpbCAgICAtMApydW5fdGVzdCAgIG5vZXJyb3IJ K2luZgkJCQktLSBjZWlsICAgICtpbmYKcnVuX3Rlc3QgICBub2Vycm9yCS1pbmYJCQkJLS0gY2Vp bCAgICAtaW5mCnRlc3RfcmVwb3J0CgplY2hvICI9PT09PT09PT09PT09PT09PT09PSBmbG9vciA9 PT09PT09PT09PT09PT09PT09PSIKLi9tYXRoX2Vycm9yX3Rlc3Quc2ggJHRmbGFnIC0tIGZsb29y CnN0YXJ0X3Rlc3QgZmxvb3IKcnVuX3Rlc3QgICBub2Vycm9yCW5hbgkJCQktLSBmbG9vciAgIG5h bgpydW5fdGVzdCAgIG5vZXJyb3IJKzAJCQkJLS0gZmxvb3IgICArMApydW5fdGVzdCAgIG5vZXJy b3IJLTAJCQkJLS0gZmxvb3IgICAtMApydW5fdGVzdCAgIG5vZXJyb3IJK2luZgkJCQktLSBmbG9v ciAgICtpbmYKcnVuX3Rlc3QgICBub2Vycm9yCS1pbmYJCQkJLS0gZmxvb3IgICAtaW5mCnRlc3Rf cmVwb3J0CgplY2hvICI9PT09PT09PT09PT09PT09PT09PSB0cnVuYyA9PT09PT09PT09PT09PT09 PT09PSIKLi9tYXRoX2Vycm9yX3Rlc3Quc2ggJHRmbGFnIC0tIHRydW5jCnN0YXJ0X3Rlc3QgdHJ1 bmMKcnVuX3Rlc3QgICBub2Vycm9yCW5hbgkJCQktLSB0cnVuYyAgIG5hbgpydW5fdGVzdCAgIG5v ZXJyb3IJKzAJCQkJLS0gdHJ1bmMgICArMApydW5fdGVzdCAgIG5vZXJyb3IJLTAJCQkJLS0gdHJ1 bmMgICAtMApydW5fdGVzdCAgIG5vZXJyb3IJK2luZgkJCQktLSB0cnVuYyAgICtpbmYKcnVuX3Rl c3QgICBub2Vycm9yCS1pbmYJCQkJLS0gdHJ1bmMgICAtaW5mCnRlc3RfcmVwb3J0CgplY2hvICI9 PT09PT09PT09PT09PT09PT09PSByaW50ID09PT09PT09PT09PT09PT09PT09IgouL21hdGhfZXJy b3JfdGVzdC5zaCAkdGZsYWcgLS0gcmludApzdGFydF90ZXN0IHJpbnQKcnVuX3Rlc3QgICBub2Vy cm9yCW5hbgkJCQktLSByaW50ICAgIG5hbgpydW5fdGVzdCAgIG5vZXJyb3IJKzAJCQkJLS0gcmlu dCAgICArMApydW5fdGVzdCAgIG5vZXJyb3IJLTAJCQkJLS0gcmludCAgICAtMApydW5fdGVzdCAg IG5vZXJyb3IJK2luZgkJCQktLSByaW50ICAgICtpbmYKcnVuX3Rlc3QgICBub2Vycm9yCS1pbmYJ CQkJLS0gcmludCAgICAtaW5mCnRlc3RfcmVwb3J0CgplY2hvICI9PT09PT09PT09PT09PT09PT09 PSByb3VuZCA9PT09PT09PT09PT09PT09PT09PSIKLi9tYXRoX2Vycm9yX3Rlc3Quc2ggJHRmbGFn IC0tIHJvdW5kCnN0YXJ0X3Rlc3Qgcm91bmQKcnVuX3Rlc3QgICBub2Vycm9yCW5hbgkJCQktLSBy b3VuZCAgIG5hbgpydW5fdGVzdCAgIG5vZXJyb3IJKzAJCQkJLS0gcm91bmQgICArMApydW5fdGVz dCAgIG5vZXJyb3IJLTAJCQkJLS0gcm91bmQgICAtMApydW5fdGVzdCAgIG5vZXJyb3IJK2luZgkJ CQktLSByb3VuZCAgICtpbmYKcnVuX3Rlc3QgICBub2Vycm9yCS1pbmYJCQkJLS0gcm91bmQgICAt aW5mCnRlc3RfcmVwb3J0CgplY2hvICI9PT09PT09PT09PT09PT09PT09PSBscm91bmQgPT09PT09 PT09PT09PT09PT09PT0iCi4vbWF0aF9lcnJvcl90ZXN0LnNoICR0ZmxhZyAtciBsIC0tIGxyb3Vu ZApzdGFydF90ZXN0IGxyb3VuZApydW5fdGVzdCAgIGRvbWFpbgkiKiIJCS1yIGwJCS0tIGxyb3Vu ZCAgbmFuCnJ1bl90ZXN0ICAgZG9tYWluCSIqIgkJLXIgbAkJLS0gbHJvdW5kICAraW5mCnJ1bl90 ZXN0ICAgZG9tYWluCSIqIgkJLXIgbAkJLS0gbHJvdW5kICBtYXgKdGVzdF9yZXBvcnQKCmVjaG8g Ij09PT09PT09PT09PT09PT09PT09IGxscm91bmQgPT09PT09PT09PT09PT09PT09PT0iCi4vbWF0 aF9lcnJvcl90ZXN0LnNoICR0ZmxhZyAtciBsbCAtLSBsbHJvdW5kCnN0YXJ0X3Rlc3QgbGxyb3Vu ZApydW5fdGVzdCAgIGRvbWFpbgkiKiIJCS1yIGxsCQktLSBsbHJvdW5kIG5hbgpydW5fdGVzdCAg IGRvbWFpbgkiKiIJCS1yIGxsCQktLSBsbHJvdW5kIGluZgpydW5fdGVzdCAgIGRvbWFpbgkiKiIJ CS1yIGxsCQktLSBsbHJvdW5kIG1heAp0ZXN0X3JlcG9ydAoKZWNobyAiPT09PT09PT09PT09PT09 PT09PT0gbHJpbnQgPT09PT09PT09PT09PT09PT09PT0iCi4vbWF0aF9lcnJvcl90ZXN0LnNoICR0 ZmxhZyAtciBsIC0tIGxyaW50CnN0YXJ0X3Rlc3QgbHJpbnQKcnVuX3Rlc3QgICBkb21haW4JIioi CQktciBsCQktLSBscmludCAgIG5hbgpydW5fdGVzdCAgIGRvbWFpbgkiKiIJCS1yIGwJCS0tIGxy aW50ICAgK2luZgpydW5fdGVzdCAgIGRvbWFpbgkiKiIJCS1yIGwJCS0tIGxyaW50ICAgbWF4CnRl c3RfcmVwb3J0CgplY2hvICI9PT09PT09PT09PT09PT09PT09PSBsbHJpbnQgPT09PT09PT09PT09 PT09PT09PT0iCi4vbWF0aF9lcnJvcl90ZXN0LnNoICR0ZmxhZyAtciBsbCAtLSBsbHJpbnQKc3Rh cnRfdGVzdCBsbHJpbnQKcnVuX3Rlc3QgICBkb21haW4JIioiCQktciBsbAkJLS0gbGxyaW50ICBu YW4KcnVuX3Rlc3QgICBkb21haW4JIioiCQktciBsbAkJLS0gbGxyaW50ICAraW5mCnJ1bl90ZXN0 ICAgZG9tYWluCSIqIgkJLXIgbGwJCS0tIGxscmludCAgbWF4CnRlc3RfcmVwb3J0CgplY2hvICI9 PT09PT09PT09PT09PT09PT09PSBuZWFyYnlpbnQgPT09PT09PT09PT09PT09PT09PT0iCi4vbWF0 aF9lcnJvcl90ZXN0LnNoICR0ZmxhZyAtLSBuZWFyYnlpbnQKc3RhcnRfdGVzdCBuZWFyYnlpbnQK cnVuX3Rlc3QgICBub2Vycm9yCW5hbgkJCQktLSBuZWFyYnlpbnQgbmFuCnJ1bl90ZXN0ICAgbm9l cnJvcgkrMAkJCQktLSBuZWFyYnlpbnQgKzAKcnVuX3Rlc3QgICBub2Vycm9yCS0wCQkJCS0tIG5l YXJieWludCAtMApydW5fdGVzdCAgIG5vZXJyb3IJK2luZgkJCQktLSBuZWFyYnlpbnQgK2luZgpy dW5fdGVzdCAgIG5vZXJyb3IJLWluZgkJCQktLSBuZWFyYnlpbnQgLWluZgp0ZXN0X3JlcG9ydAoK ZWNobyAiPT09PT09PT09PT09PT09PT09PT0gbmV4dGFmdGVyID09PT09PT09PT09PT09PT09PT09 IgouL21hdGhfZXJyb3JfdGVzdC5zaCAkdGZsYWcgLW4yIC0tIG5leHRhZnRlcgpzdGFydF90ZXN0 IG5leHRhZnRlcgpydW5fdGVzdCAgIG5vZXJyb3IJbmFuCQktbjIJCS0tIG5leHRhZnRlciAxIG5h bgpydW5fdGVzdCAgIG5vZXJyb3IJbmFuCQktbjIJCS0tIG5leHRhZnRlciBuYW4gMQpydW5fdGVz dCAgIG92ZXJmbG93CStpbmYJCS1uMgkJLS0gbmV4dGFmdGVyIG1heCAraW5mCnJ1bl90ZXN0ICAg b3ZlcmZsb3cJLWluZgkJLW4yCQktLSBuZXh0YWZ0ZXIgLW1heCAtaW5mCnJ1bl90ZXN0ICAgdW5k ZXJmbG93CXN1Ym5vcm1hbAktbjIJCS0tIG5leHRhZnRlciBtaW4gMApydW5fdGVzdCAgIHVuZGVy ZmxvdwlzdWJub3JtYWwJLW4yCQktLSBuZXh0YWZ0ZXIgLW1pbiAwCnRlc3RfcmVwb3J0CgplY2hv ICI9PT09PT09PT09PT09PT09PT09PSBuZXh0dG93YXJkID09PT09PT09PT09PT09PT09PT09Igou L21hdGhfZXJyb3JfdGVzdC5zaCAkdGZsYWcgLW4yIC15IGxkIC0tIG5leHR0b3dhcmQKc3RhcnRf dGVzdCBuZXh0dG93YXJkCnJ1bl90ZXN0ICAgbm9lcnJvcgluYW4JCS1uMiAteSBsZAktLSBuZXh0 dG93YXJkIDEgbmFuCnJ1bl90ZXN0ICAgbm9lcnJvcgluYW4JCS1uMiAteSBsZAktLSBuZXh0dG93 YXJkIG5hbiAxCnJ1bl90ZXN0ICAgb3ZlcmZsb3cJK2luZgkJLW4yIC15IGxkCS0tIG5leHR0b3dh cmQgbWF4ICtpbmYKcnVuX3Rlc3QgICBvdmVyZmxvdwktaW5mCQktbjIgLXkgbGQJLS0gbmV4dHRv d2FyZCAtbWF4IC1pbmYKcnVuX3Rlc3QgICB1bmRlcmZsb3cJc3Vibm9ybWFsCS1uMiAteSBsZAkt LSBuZXh0dG93YXJkIG1pbiAwCnJ1bl90ZXN0ICAgdW5kZXJmbG93CXN1Ym5vcm1hbAktbjIgLXkg bGQJLS0gbmV4dHRvd2FyZCAtbWluIDAKdGVzdF9yZXBvcnQKCmVjaG8gIj09PT09PT09PT09PT09 PT09PT09IGZtYSA9PT09PT09PT09PT09PT09PT09PSIKLi9tYXRoX2Vycm9yX3Rlc3Quc2ggJHRm bGFnIC1uMyAtLSBmbWEKc3RhcnRfdGVzdCBmbWEKcnVuX3Rlc3QgICBub2Vycm9yCW5hbgkJLW4z CQktLSBmbWEgICAgIDEgbmFuIDEKcnVuX3Rlc3QgICBub2Vycm9yCW5hbgkJLW4zCQktLSBmbWEg ICAgIG5hbiAxIDEKcnVuX3Rlc3QgICBkb21haW4JbmFuCQktbjMJCS0tIGZtYSAgICAgK2luZiAx IC1pbmYKcnVuX3Rlc3QgICBkb21haW4JbmFuCQktbjMJCS0tIGZtYSAgICAgLWluZiAxICtpbmYK cnVuX3Rlc3QgICBkb21haW4JbmFuCQktbjMJCS0tIGZtYSAgICAgK2luZiAwIDEKcnVuX3Rlc3Qg ICBkb21haW4JbmFuCQktbjMJCS0tIGZtYSAgICAgLWluZiAwIDEKcnVuX3Rlc3QgICBkb21haW4J bmFuCQktbjMJCS0tIGZtYSAgICAgMCAraW5mIDEKcnVuX3Rlc3QgICBkb21haW4JbmFuCQktbjMJ CS0tIGZtYSAgICAgMCAtaW5mIDEKcnVuX3Rlc3QgICBub2Vycm9yCW5hbgkJLW4zCQktLSBmbWEg ICAgIDEgLWluZiBuYW4KcnVuX3Rlc3QgICBvdmVyZmxvdwkraW5mCQktbjMJCS0tIGZtYSAgICAg bWF4IG1heCAwCnJ1bl90ZXN0ICAgb3ZlcmZsb3cJLWluZgkJLW4zCQktLSBmbWEgICAgIG1heCAt bWF4IDAKcnVuX3Rlc3QgICB1bmRlcmZsb3cJKzAJCS1uMwkJLS0gZm1hICAgICBtaW4gbWluIDAK cnVuX3Rlc3QgICB1bmRlcmZsb3cJLTAJCS1uMwkJLS0gZm1hICAgICBtaW4gLW1pbiAwCnRlc3Rf cmVwb3J0CgplY2hvICI9PT09PT09PT09PT09PT09PT09PSBmbW9kID09PT09PT09PT09PT09PT09 PT09IgouL21hdGhfZXJyb3JfdGVzdC5zaCAkdGZsYWcgLW4yIC0tIGZtb2QKc3RhcnRfdGVzdCBm bW9kCnJ1bl90ZXN0ICAgbm9lcnJvcgluYW4JCS1uMgkJLS0gZm1vZCAgICAxIG5hbgpydW5fdGVz dCAgIG5vZXJyb3IJbmFuCQktbjIJCS0tIGZtb2QgICAgbmFuIDEKcnVuX3Rlc3QgICBkb21haW4J bmFuCQktbjIJCS0tIGZtb2QgICAgK2luZiAxCnJ1bl90ZXN0ICAgZG9tYWluCW5hbgkJLW4yCQkt LSBmbW9kICAgIC1pbmYgMQpydW5fdGVzdCAgIGRvbWFpbgluYW4JCS1uMgkJLS0gZm1vZCAgICAx ICswCnJ1bl90ZXN0ICAgZG9tYWluCW5hbgkJLW4yCQktLSBmbW9kICAgIDEgLTAKdGVzdF9yZXBv cnQKCmVjaG8gIj09PT09PT09PT09PT09PT09PT09IHJlbWFpbmRlciA9PT09PT09PT09PT09PT09 PT09PSIKLi9tYXRoX2Vycm9yX3Rlc3Quc2ggJHRmbGFnIC1uMiAtLSByZW1haW5kZXIKc3RhcnRf dGVzdCByZW1haW5kZXIKcnVuX3Rlc3QgICBub2Vycm9yCW5hbgkJLW4yCQktLSByZW1haW5kZXIg K2luZiBuYW4KcnVuX3Rlc3QgICBub2Vycm9yCW5hbgkJLW4yCQktLSByZW1haW5kZXIgbmFuICtp bmYKcnVuX3Rlc3QgICBub2Vycm9yCW5hbgkJLW4yCQktLSByZW1haW5kZXIgbmFuIDAKcnVuX3Rl c3QgICBkb21haW4JbmFuCQktbjIJCS0tIHJlbWFpbmRlciBpbmYgMQpydW5fdGVzdCAgIGRvbWFp bgluYW4JCS1uMgkJLS0gcmVtYWluZGVyIDEgMApydW5fdGVzdCAgIGRvbWFpbgluYW4JCS1uMgkJ LS0gcmVtYWluZGVyIGluZiAwCnRlc3RfcmVwb3J0CgplY2hvICI9PT09PT09PT09PT09PT09PT09 PSByZW1xdW8gPT09PT09PT09PT09PT09PT09PT0iCi4vbWF0aF9lcnJvcl90ZXN0LnNoICR0Zmxh ZyAtbjIgLW8gaSAtLSByZW1xdW8Kc3RhcnRfdGVzdCByZW1xdW8KcnVuX3Rlc3QgICBub2Vycm9y CW5hbgkJLW4yIC1vIGkJLS0gcmVtcXVvICAraW5mIG5hbgpydW5fdGVzdCAgIG5vZXJyb3IJbmFu CQktbjIgLW8gaQktLSByZW1xdW8gIG5hbiAraW5mCnJ1bl90ZXN0ICAgbm9lcnJvcgluYW4JCS1u MiAtbyBpCS0tIHJlbXF1byAgbmFuIDAKcnVuX3Rlc3QgICBkb21haW4JbmFuCQktbjIgLW8gaQkt LSByZW1xdW8gICtpbmYgMQpydW5fdGVzdCAgIGRvbWFpbgluYW4JCS1uMiAtbyBpCS0tIHJlbXF1 byAgMSAwCnRlc3RfcmVwb3J0CgplY2hvICI9PT09PT09PT09PT09PT09PT09PSBzY2FsYiA9PT09 PT09PT09PT09PT09PT09PSIKLi9tYXRoX2Vycm9yX3Rlc3Quc2ggJHRmbGFnIC1uMiAtLSBzY2Fs YgpzdGFydF90ZXN0IHNjYWxiCnJ1bl90ZXN0ICAgbm9lcnJvcgluYW4JCS1uMgkJLS0gc2NhbGIg ICAxIG5hbgpydW5fdGVzdCAgIG5vZXJyb3IJbmFuCQktbjIJCS0tIHNjYWxiICAgbmFuIDEKcnVu X3Rlc3QgICBub2Vycm9yCStpbmYJCS1uMgkJLS0gc2NhbGIgICAraW5mIDEKcnVuX3Rlc3QgICBu b2Vycm9yCS1pbmYJCS1uMgkJLS0gc2NhbGIgICAtaW5mIDEKcnVuX3Rlc3QgICBub2Vycm9yCSsw CQktbjIJCS0tIHNjYWxiICAgKzAgMQpydW5fdGVzdCAgIG5vZXJyb3IJLTAJCS1uMgkJLS0gc2Nh bGIgICAtMCAxCnJ1bl90ZXN0ICAgZG9tYWluCW5hbgkJLW4yCQktLSBzY2FsYiAgIDAgK2luZgpy dW5fdGVzdCAgIGRvbWFpbgluYW4JCS1uMgkJLS0gc2NhbGIgICAraW5mIC1pbmYKcnVuX3Rlc3Qg ICBkb21haW4JbmFuCQktbjIJCS0tIHNjYWxiICAgLWluZiAtaW5mCnJ1bl90ZXN0ICAgb3ZlcmZs b3cJK2luZgkJLW4yCQktLSBzY2FsYiAgIG1heCAyMDAwCnJ1bl90ZXN0ICAgb3ZlcmZsb3cJLWlu ZgkJLW4yCQktLSBzY2FsYiAgIC1tYXggMjAwMApydW5fdGVzdCAgIHVuZGVyZmxvdwkrMAkJLW4y CQktLSBzY2FsYiAgIG1pbiAtMjAwMAp0ZXN0X3JlcG9ydAoKZWNobyAiPT09PT09PT09PT09PT09 PT09PT0gc2NhbGJsbiA9PT09PT09PT09PT09PT09PT09PSIKLi9tYXRoX2Vycm9yX3Rlc3Quc2gg JHRmbGFnIC1uMiAteSBsIC0tIHNjYWxibG4Kc3RhcnRfdGVzdCBzY2FsYmxuCnJ1bl90ZXN0ICAg bm9lcnJvcgluYW4JCS1uMgkJLS0gc2NhbGJsbiBuYW4gMQpydW5fdGVzdCAgIG5vZXJyb3IJK2lu ZgkJLW4yCQktLSBzY2FsYmxuICtpbmYgMQpydW5fdGVzdCAgIG5vZXJyb3IJLWluZgkJLW4yCQkt LSBzY2FsYmxuIC1pbmYgMQpydW5fdGVzdCAgIG5vZXJyb3IJKzAJCS1uMgkJLS0gc2NhbGJsbiAr MCAxCnJ1bl90ZXN0ICAgbm9lcnJvcgktMAkJLW4yCQktLSBzY2FsYmxuIC0wIDEKcnVuX3Rlc3Qg ICBvdmVyZmxvdwkraW5mCQktbjIJCS0tIHNjYWxibG4gbWF4IDIwMDAKcnVuX3Rlc3QgICB1bmRl cmZsb3cJKzAJCS1uMgkJLS0gc2NhbGJsbiBtaW4gLTIwMDAKdGVzdF9yZXBvcnQKCmVjaG8gIj09 PT09PT09PT09PT09PT09PT09IHNjYWxibiA9PT09PT09PT09PT09PT09PT09PSIKLi9tYXRoX2Vy cm9yX3Rlc3Quc2ggJHRmbGFnIC1uMiAteSBpIC0tIHNjYWxibgpzdGFydF90ZXN0IHNjYWxibgpy dW5fdGVzdCAgIG5vZXJyb3IJbmFuCQktbjIJCS0tIHNjYWxibiAgbmFuIDEKcnVuX3Rlc3QgICBu b2Vycm9yCStpbmYJCS1uMgkJLS0gc2NhbGJuICAraW5mIDEKcnVuX3Rlc3QgICBub2Vycm9yCS1p bmYJCS1uMgkJLS0gc2NhbGJuICAtaW5mIDEKcnVuX3Rlc3QgICBub2Vycm9yCSswCQktbjIJCS0t IHNjYWxibiAgKzAgMQpydW5fdGVzdCAgIG5vZXJyb3IJLTAJCS1uMgkJLS0gc2NhbGJuICAtMCAx CnJ1bl90ZXN0ICAgb3ZlcmZsb3cJK2luZgkJLW4yCQktLSBzY2FsYm4gIG1heCAyMDAwCnJ1bl90 ZXN0ICAgdW5kZXJmbG93CSswCQktbjIJCS0tIHNjYWxibiAgbWluIC0yMDAwCnRlc3RfcmVwb3J0 CgplY2hvICI9PT09PT09PT09PT09PT09PT09PSBqMCA9PT09PT09PT09PT09PT09PT09PSIKLi9t YXRoX2Vycm9yX3Rlc3Quc2ggJHRmbGFnIC0tIGowCnN0YXJ0X3Rlc3QgajAKcnVuX3Rlc3QgICBu b2Vycm9yCW5hbgkJCQktLSBqMCAgICAgIG5hbgpydW5fdGVzdCAgIHVuZGVyZmxvdwkwCQkJCS0t IGowICAgICAgbWF4CnJ1bl90ZXN0ICAgdW5kZXJmbG93CTAJCQkJLS0gajAgICAgICAtbWF4CnRl c3RfcmVwb3J0CgplY2hvICI9PT09PT09PT09PT09PT09PT09PSBqMSA9PT09PT09PT09PT09PT09 PT09PSIKLi9tYXRoX2Vycm9yX3Rlc3Quc2ggJHRmbGFnIC0tIGoxCnN0YXJ0X3Rlc3QgajEKcnVu X3Rlc3QgICBub2Vycm9yCW5hbgkJCQktLSBqMSAgICAgIG5hbgpydW5fdGVzdCAgIHVuZGVyZmxv dwkwCQkJCS0tIGoxICAgICAgbWF4CnJ1bl90ZXN0ICAgdW5kZXJmbG93CTAJCQkJLS0gajEgICAg ICAtbWF4CnRlc3RfcmVwb3J0CgplY2hvICI9PT09PT09PT09PT09PT09PT09PSBqbiA9PT09PT09 PT09PT09PT09PT09PSIKLi9tYXRoX2Vycm9yX3Rlc3Quc2ggJHRmbGFnIC1uMiAteCBpIC0tIGpu CnN0YXJ0X3Rlc3Qgam4KcnVuX3Rlc3QgICBub2Vycm9yCW5hbgkJLW4yIC14IGkJLS0gam4gICAg ICAxMCBuYW4KcnVuX3Rlc3QgICB1bmRlcmZsb3cJMAkJLW4yIC14IGkJLS0gam4gICAgICAxMCBt YXgKcnVuX3Rlc3QgICB1bmRlcmZsb3cJMAkJLW4yIC14IGkJLS0gam4gICAgICAxMCAtbWF4CnRl c3RfcmVwb3J0CgplY2hvICI9PT09PT09PT09PT09PT09PT09PSB5MCA9PT09PT09PT09PT09PT09 PT09PSIKLi9tYXRoX2Vycm9yX3Rlc3Quc2ggJHRmbGFnIC0tIHkwCnN0YXJ0X3Rlc3QgeTAKcnVu X3Rlc3QgICBwb2xlICAgICAgICAgLWluZgkJCQktLSB5MCAgICAgIDAKcnVuX3Rlc3QgICBub2Vy cm9yCW5hbgkJCQktLSB5MCAgICAgIG5hbgpydW5fdGVzdCAgIGRvbWFpbgktaW5mCQkJCS0tIHkw ICAgICAgLTEKcnVuX3Rlc3QgICB1bmRlcmZsb3cJMAkJCQktLSB5MCAgICAgIG1heAojIE5vdCBw b3NzaWJsZSB0byBvdmVyZmxvdyB3aXRoIGRvdWJsZQp0ZXN0X3JlcG9ydAoKZWNobyAiPT09PT09 PT09PT09PT09PT09PT0geTEgPT09PT09PT09PT09PT09PT09PT0iCi4vbWF0aF9lcnJvcl90ZXN0 LnNoICR0ZmxhZyAtLSB5MQpzdGFydF90ZXN0IHkxCnJ1bl90ZXN0ICAgcG9sZSAgICAgICAgIC1p bmYJCQkJLS0geTAgICAgICAxCnJ1bl90ZXN0ICAgbm9lcnJvcgluYW4JCQkJLS0geTEgICAgICBu YW4KcnVuX3Rlc3QgICBkb21haW4JLWluZgkJCQktLSB5MSAgICAgIC0xCnJ1bl90ZXN0ICAgdW5k ZXJmbG93CTAJCQkJLS0geTEgICAgICBtYXgKIyBOb3QgcG9zc2libGUgdG8gb3ZlcmZsb3cgd2l0 aCBkb3VibGUKdGVzdF9yZXBvcnQKCmVjaG8gIj09PT09PT09PT09PT09PT09PT09IHluID09PT09 PT09PT09PT09PT09PT09IgouL21hdGhfZXJyb3JfdGVzdC5zaCAkdGZsYWcgLW4yIC14IGkgLS0g eW4Kc3RhcnRfdGVzdCB5bgpydW5fdGVzdCAgIHBvbGUgICAgICAgICAtaW5mCQkJCS0tIHluICAg ICAgMSAwCnJ1bl90ZXN0ICAgbm9lcnJvcgluYW4JCS1uMiAteCBpCS0tIHluICAgICAgMTAgbmFu CnJ1bl90ZXN0ICAgZG9tYWluCS1pbmYJCS1uMiAteCBpCS0tIHluICAgICAgMTAgLTEKcnVuX3Rl c3QgICB1bmRlcmZsb3cJMAkJLW4yIC14IGkJLS0geW4gICAgICAxMCBtYXgKcnVuX3Rlc3QgICBv dmVyZmxvdwktaW5mCQktbjIgLXggaQktLSB5biAgICAgIDEwMDAgbWluCnRlc3RfcmVwb3J0Cgpl Y2hvICI9PT09PT09PT09PT09PT09PT09PSB0Z2FtbWEgPT09PT09PT09PT09PT09PT09PT0iCi4v bWF0aF9lcnJvcl90ZXN0LnNoICR0ZmxhZyAtLSB0Z2FtbWEKc3RhcnRfdGVzdCB0Z2FtbWEKcnVu X3Rlc3QgICBub2Vycm9yCW5hbgkJCQktLSB0Z2FtbWEgIG5hbgpydW5fdGVzdCAgIG5vZXJyb3IJ K2luZgkJCQktLSB0Z2FtbWEgICtpbmYKcnVuX3Rlc3QgICBkb21haW4JbmFuCQkJCS0tIHRnYW1t YSAgLTEKcnVuX3Rlc3QgICBkb21haW4JbmFuCQkJCS0tIHRnYW1tYSAgLWluZgpydW5fdGVzdCAg IG92ZXJmbG93CStpbmYJCQkJLS0gdGdhbW1hICAxZTEwCnJ1bl90ZXN0ICAgdW5kZXJmbG93CTAJ CQkJLS0gdGdhbW1hICAtMTAwMDAwMC41CnJ1bl90ZXN0ICAgcG9sZQkJK2luZgkJCQktLSB0Z2Ft bWEgICswCnJ1bl90ZXN0ICAgcG9sZQkJLWluZgkJCQktLSB0Z2FtbWEgIC0wCnRlc3RfcmVwb3J0 CgplY2hvICI9PT09PT09PT09PT09PT09PT09PSBsZ2FtbWEgPT09PT09PT09PT09PT09PT09PT0i Ci4vbWF0aF9lcnJvcl90ZXN0LnNoICR0ZmxhZyAtLSBsZ2FtbWEKc3RhcnRfdGVzdCBsZ2FtbWEK cnVuX3Rlc3QgICBub2Vycm9yCW5hbgkJCQktLSBsZ2FtbWEgIG5hbgpydW5fdGVzdCAgIG5vZXJy b3IJKzAJCQkJLS0gbGdhbW1hICAxCnJ1bl90ZXN0ICAgbm9lcnJvcgkrMAkJCQktLSBsZ2FtbWEg IDIKcnVuX3Rlc3QgICBub2Vycm9yCStpbmYJCQkJLS0gbGdhbW1hICAraW5mCnJ1bl90ZXN0ICAg bm9lcnJvcgkraW5mCQkJCS0tIGxnYW1tYSAgLWluZgpydW5fdGVzdCAgIHBvbGUJCStpbmYJCQkJ LS0gbGdhbW1hICAtMQpydW5fdGVzdCAgIG92ZXJmbG93CStpbmYJCQkJLS0gbGdhbW1hICBtYXgK dGVzdF9yZXBvcnQK ------=_Part_35666_9778604.1217864931942-- -- To unsubscribe from this list: send the line "unsubscribe linux-man" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html