IyEvYmluL3NoCgp0ZXN0X2Rlc2NyaXB0aW9uPSdnaXQgcmV2LWxpc3QgLS1wcmV0dHk9Zm9ybWF0IHRlc3QnCgouIC4vdGVzdC1saWIuc2gKLiAiJFRFU1RfRElSRUNUT1JZIi9saWItdGVybWluYWwuc2gKCnRlc3RfdGljawp0ZXN0X2V4cGVjdF9zdWNjZXNzICdzZXR1cCcgJwp0b3VjaCBmb28gJiYgZ2l0IGFkZCBmb28gJiYgZ2l0IGNvbW1pdCAtbSAiYWRkZWQgZm9vIiAmJgogIGVjaG8gY2hhbmdlZCA+Zm9vICYmIGdpdCBjb21taXQgLWEgLW0gImNoYW5nZWQgZm9vIgonCgojIHVzYWdlOiB0ZXN0X2Zvcm1hdCBuYW1lIGZvcm1hdF9zdHJpbmcgPGV4cGVjdGVkX291dHB1dAp0ZXN0X2Zvcm1hdCAoKSB7CgljYXQgPmV4cGVjdC4kMQoJdGVzdF9leHBlY3Rfc3VjY2VzcyAiZm9ybWF0ICQxIiAiCgkJZ2l0IHJldi1saXN0IC0tcHJldHR5PWZvcm1hdDonJDInIG1hc3RlciA+b3V0cHV0LiQxICYmCgkJdGVzdF9jbXAgZXhwZWN0LiQxIG91dHB1dC4kMQoJIgp9CgojIEZlZWQgdG8gLS1mb3JtYXQgdG8gcHJvdmlkZSBwcmVkaWN0YWJsZSBjb2xvcmVkIHNlcXVlbmNlcy4KQVVUT19DT0xPUj0nJUMoYXV0byxyZWQpZm9vJUMoYXV0byxyZXNldCknCmhhc19jb2xvciAoKSB7CglwcmludGYgJ1wwMzNbMzFtZm9vXDAzM1ttXG4nID5leHBlY3QgJiYKCXRlc3RfY21wIGV4cGVjdCAiJDEiCn0KCmhhc19ub19jb2xvciAoKSB7CgllY2hvIGZvbyA+ZXhwZWN0ICYmCgl0ZXN0X2NtcCBleHBlY3QgIiQxIgp9Cgp0ZXN0X2Zvcm1hdCBwZXJjZW50ICUlaCA8PCdFT0YnCmNvbW1pdCAxMzFhMzEwZWI5MTNkMTA3ZGQzYzA5YTY1ZDE2NTExNzU4OTg3MzVkCiVoCmNvbW1pdCA4NmM3NWNmZDcwOGEwZTU4NjhkYzg3NmVkNWI4YmI2NmM4MGI0ODczCiVoCkVPRgoKdGVzdF9mb3JtYXQgaGFzaCAlSCVuJWggPDwnRU9GJwpjb21taXQgMTMxYTMxMGViOTEzZDEwN2RkM2MwOWE2NWQxNjUxMTc1ODk4NzM1ZAoxMzFhMzEwZWI5MTNkMTA3ZGQzYzA5YTY1ZDE2NTExNzU4OTg3MzVkCjEzMWEzMTAKY29tbWl0IDg2Yzc1Y2ZkNzA4YTBlNTg2OGRjODc2ZWQ1YjhiYjY2YzgwYjQ4NzMKODZjNzVjZmQ3MDhhMGU1ODY4ZGM4NzZlZDViOGJiNjZjODBiNDg3Mwo4NmM3NWNmCkVPRgoKdGVzdF9mb3JtYXQgdHJlZSAlVCVuJXQgPDwnRU9GJwpjb21taXQgMTMxYTMxMGViOTEzZDEwN2RkM2MwOWE2NWQxNjUxMTc1ODk4NzM1ZApmZTcyMjYxMmYyNmRhNTA2NGMzMmNhMzg0M2FhMTU0YmRiMGIwOGEwCmZlNzIyNjEKY29tbWl0IDg2Yzc1Y2ZkNzA4YTBlNTg2OGRjODc2ZWQ1YjhiYjY2YzgwYjQ4NzMKNGQ1ZmNhZGMyOTNhMzQ4ZTg4Zjc3N2RjMDkyMGYxMWU3ZDcxNDQxYwo0ZDVmY2FkCkVPRgoKdGVzdF9mb3JtYXQgcGFyZW50cyAlUCVuJXAgPDwnRU9GJwpjb21taXQgMTMxYTMxMGViOTEzZDEwN2RkM2MwOWE2NWQxNjUxMTc1ODk4NzM1ZAo4NmM3NWNmZDcwOGEwZTU4NjhkYzg3NmVkNWI4YmI2NmM4MGI0ODczCjg2Yzc1Y2YKY29tbWl0IDg2Yzc1Y2ZkNzA4YTBlNTg2OGRjODc2ZWQ1YjhiYjY2YzgwYjQ4NzMKCgpFT0YKCiMgd2UgZG9uJ3QgdGVzdCByZWxhdGl2ZSBoZXJlCnRlc3RfZm9ybWF0IGF1dGhvciAlYW4lbiVhZSVuJWFkJW4lYUQlbiVhdCA8PCdFT0YnCmNvbW1pdCAxMzFhMzEwZWI5MTNkMTA3ZGQzYzA5YTY1ZDE2NTExNzU4OTg3MzVkCkEgVSBUaG9yCmF1dGhvckBleGFtcGxlLmNvbQpUaHUgQXByIDcgMTU6MTM6MTMgMjAwNSAtMDcwMApUaHUsIDcgQXByIDIwMDUgMTU6MTM6MTMgLTA3MDAKMTExMjkxMTk5Mwpjb21taXQgODZjNzVjZmQ3MDhhMGU1ODY4ZGM4NzZlZDViOGJiNjZjODBiNDg3MwpBIFUgVGhvcgphdXRob3JAZXhhbXBsZS5jb20KVGh1IEFwciA3IDE1OjEzOjEzIDIwMDUgLTA3MDAKVGh1LCA3IEFwciAyMDA1IDE1OjEzOjEzIC0wNzAwCjExMTI5MTE5OTMKRU9GCgp0ZXN0X2Zvcm1hdCBjb21taXR0ZXIgJWNuJW4lY2UlbiVjZCVuJWNEJW4lY3QgPDwnRU9GJwpjb21taXQgMTMxYTMxMGViOTEzZDEwN2RkM2MwOWE2NWQxNjUxMTc1ODk4NzM1ZApDIE8gTWl0dGVyCmNvbW1pdHRlckBleGFtcGxlLmNvbQpUaHUgQXByIDcgMTU6MTM6MTMgMjAwNSAtMDcwMApUaHUsIDcgQXByIDIwMDUgMTU6MTM6MTMgLTA3MDAKMTExMjkxMTk5Mwpjb21taXQgODZjNzVjZmQ3MDhhMGU1ODY4ZGM4NzZlZDViOGJiNjZjODBiNDg3MwpDIE8gTWl0dGVyCmNvbW1pdHRlckBleGFtcGxlLmNvbQpUaHUgQXByIDcgMTU6MTM6MTMgMjAwNSAtMDcwMApUaHUsIDcgQXByIDIwMDUgMTU6MTM6MTMgLTA3MDAKMTExMjkxMTk5MwpFT0YKCnRlc3RfZm9ybWF0IGVuY29kaW5nICVlIDw8J0VPRicKY29tbWl0IDEzMWEzMTBlYjkxM2QxMDdkZDNjMDlhNjVkMTY1MTE3NTg5ODczNWQKY29tbWl0IDg2Yzc1Y2ZkNzA4YTBlNTg2OGRjODc2ZWQ1YjhiYjY2YzgwYjQ4NzMKRU9GCgp0ZXN0X2Zvcm1hdCBzdWJqZWN0ICVzIDw8J0VPRicKY29tbWl0IDEzMWEzMTBlYjkxM2QxMDdkZDNjMDlhNjVkMTY1MTE3NTg5ODczNWQKY2hhbmdlZCBmb28KY29tbWl0IDg2Yzc1Y2ZkNzA4YTBlNTg2OGRjODc2ZWQ1YjhiYjY2YzgwYjQ4NzMKYWRkZWQgZm9vCkVPRgoKdGVzdF9mb3JtYXQgYm9keSAlYiA8PCdFT0YnCmNvbW1pdCAxMzFhMzEwZWI5MTNkMTA3ZGQzYzA5YTY1ZDE2NTExNzU4OTg3MzVkCmNvbW1pdCA4NmM3NWNmZDcwOGEwZTU4NjhkYzg3NmVkNWI4YmI2NmM4MGI0ODczCkVPRgoKdGVzdF9mb3JtYXQgcmF3LWJvZHkgJUIgPDwnRU9GJwpjb21taXQgMTMxYTMxMGViOTEzZDEwN2RkM2MwOWE2NWQxNjUxMTc1ODk4NzM1ZApjaGFuZ2VkIGZvbwoKY29tbWl0IDg2Yzc1Y2ZkNzA4YTBlNTg2OGRjODc2ZWQ1YjhiYjY2YzgwYjQ4NzMKYWRkZWQgZm9vCgpFT0YKCnRlc3RfZm9ybWF0IGNvbG9ycyAlQ3JlZGZvbyVDZ3JlZW5iYXIlQ2JsdWViYXolQ3Jlc2V0eHl6enkgPDwnRU9GJwpjb21taXQgMTMxYTMxMGViOTEzZDEwN2RkM2MwOWE2NWQxNjUxMTc1ODk4NzM1ZAobWzMxbWZvbxtbMzJtYmFyG1szNG1iYXobW214eXp6eQpjb21taXQgODZjNzVjZmQ3MDhhMGU1ODY4ZGM4NzZlZDViOGJiNjZjODBiNDg3MwobWzMxbWZvbxtbMzJtYmFyG1szNG1iYXobW214eXp6eQpFT0YKCnRlc3RfZm9ybWF0IGFkdmFuY2VkLWNvbG9ycyAnJUMocmVkIHllbGxvdyBib2xkKWZvbyVDKHJlc2V0KScgPDwnRU9GJwpjb21taXQgMTMxYTMxMGViOTEzZDEwN2RkM2MwOWE2NWQxNjUxMTc1ODk4NzM1ZAobWzE7MzE7NDNtZm9vG1ttCmNvbW1pdCA4NmM3NWNmZDcwOGEwZTU4NjhkYzg3NmVkNWI4YmI2NmM4MGI0ODczChtbMTszMTs0M21mb28bW20KRU9GCgp0ZXN0X2V4cGVjdF9zdWNjZXNzICclQyhhdXRvKSBkb2VzIG5vdCBlbmFibGUgY29sb3IgYnkgZGVmYXVsdCcgJwoJZ2l0IGxvZyAtLWZvcm1hdD0kQVVUT19DT0xPUiAtMSA+YWN0dWFsICYmCgloYXNfbm9fY29sb3IgYWN0dWFsCicKCnRlc3RfZXhwZWN0X3N1Y2Nlc3MgJyVDKGF1dG8pIGVuYWJsZXMgY29sb3JzIGZvciBjb2xvci5kaWZmJyAnCglnaXQgLWMgY29sb3IuZGlmZj1hbHdheXMgbG9nIC0tZm9ybWF0PSRBVVRPX0NPTE9SIC0xID5hY3R1YWwgJiYKCWhhc19jb2xvciBhY3R1YWwKJwoKdGVzdF9leHBlY3Rfc3VjY2VzcyAnJUMoYXV0bykgZW5hYmxlcyBjb2xvcnMgZm9yIGNvbG9yLnVpJyAnCglnaXQgLWMgY29sb3IudWk9YWx3YXlzIGxvZyAtLWZvcm1hdD0kQVVUT19DT0xPUiAtMSA+YWN0dWFsICYmCgloYXNfY29sb3IgYWN0dWFsCicKCnRlc3RfZXhwZWN0X3N1Y2Nlc3MgJyVDKGF1dG8pIHJlc3BlY3RzIC0tY29sb3InICcKCWdpdCBsb2cgLS1mb3JtYXQ9JEFVVE9fQ09MT1IgLTEgLS1jb2xvciA+YWN0dWFsICYmCgloYXNfY29sb3IgYWN0dWFsCicKCnRlc3RfZXhwZWN0X3N1Y2Nlc3MgJyVDKGF1dG8pIHJlc3BlY3RzIC0tbm8tY29sb3InICcKCWdpdCAtYyBjb2xvci51aT1hbHdheXMgbG9nIC0tZm9ybWF0PSRBVVRPX0NPTE9SIC0xIC0tbm8tY29sb3IgPmFjdHVhbCAmJgoJaGFzX25vX2NvbG9yIGFjdHVhbAonCgp0ZXN0X2V4cGVjdF9zdWNjZXNzIFRUWSAnJUMoYXV0bykgcmVzcGVjdHMgLS1jb2xvcj1hdXRvIChzdGRvdXQgaXMgdHR5KScgJwoJKAoJCVRFUk09dnQxMDAgJiYgZXhwb3J0IFRFUk0gJiYKCQl0ZXN0X3Rlcm1pbmFsIFwKCQkJZ2l0IGxvZyAtLWZvcm1hdD0kQVVUT19DT0xPUiAtMSAtLWNvbG9yPWF1dG8gPmFjdHVhbCAmJgoJCWhhc19jb2xvciBhY3R1YWwKCSkKJwoKdGVzdF9leHBlY3Rfc3VjY2VzcyAnJUMoYXV0bykgcmVzcGVjdHMgLS1jb2xvcj1hdXRvIChzdGRvdXQgbm90IHR0eSknICcKCSgKCQlURVJNPXZ0MTAwICYmIGV4cG9ydCBURVJNICYmCgkJZ2l0IGxvZyAtLWZvcm1hdD0kQVVUT19DT0xPUiAtMSAtLWNvbG9yPWF1dG8gPmFjdHVhbCAmJgoJCWhhc19ub19jb2xvciBhY3R1YWwKCSkKJwoKY2F0ID5jb21taXQtbXNnIDw8J0VPRicKVGVzdCBwcmludGluZyBvZiBjb21wbGV4IGJvZGllcwoKVGhpcyBjb21taXQgbWVzc2FnZSBpcyBtdWNoIGxvbmdlciB0aGFuIHRoZSBvdGhlcnMsCmFuZCBpdCB3aWxsIGJlIGVuY29kZWQgaW4gaXNvODg1OS0xLiBXZSBzaG91bGQgdGhlcmVmb3JlCmluY2x1ZGUgYW4gaXNvODg1OSBjaGFyYWN0ZXI6IKFidWVubyEKRU9GCnRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3NldHVwIGNvbXBsZXggYm9keScgJwpnaXQgY29uZmlnIGkxOG4uY29tbWl0ZW5jb2RpbmcgaXNvODg1OS0xICYmCiAgZWNobyBjaGFuZ2UyID5mb28gJiYgZ2l0IGNvbW1pdCAtYSAtRiBjb21taXQtbXNnCicKCnRlc3RfZm9ybWF0IGNvbXBsZXgtZW5jb2RpbmcgJWUgPDwnRU9GJwpjb21taXQgMWVkODhkYTRhNWI1ZWQ4YzQ0OTExNGFjMTMxZWZjNjIxNzg3MzRjMwppc284ODU5LTEKY29tbWl0IDEzMWEzMTBlYjkxM2QxMDdkZDNjMDlhNjVkMTY1MTE3NTg5ODczNWQKY29tbWl0IDg2Yzc1Y2ZkNzA4YTBlNTg2OGRjODc2ZWQ1YjhiYjY2YzgwYjQ4NzMKRU9GCgp0ZXN0X2Zvcm1hdCBjb21wbGV4LXN1YmplY3QgJXMgPDwnRU9GJwpjb21taXQgMWVkODhkYTRhNWI1ZWQ4YzQ0OTExNGFjMTMxZWZjNjIxNzg3MzRjMwpUZXN0IHByaW50aW5nIG9mIGNvbXBsZXggYm9kaWVzCmNvbW1pdCAxMzFhMzEwZWI5MTNkMTA3ZGQzYzA5YTY1ZDE2NTExNzU4OTg3MzVkCmNoYW5nZWQgZm9vCmNvbW1pdCA4NmM3NWNmZDcwOGEwZTU4NjhkYzg3NmVkNWI4YmI2NmM4MGI0ODczCmFkZGVkIGZvbwpFT0YKCnRlc3RfZm9ybWF0IGNvbXBsZXgtYm9keSAlYiA8PCdFT0YnCmNvbW1pdCAxZWQ4OGRhNGE1YjVlZDhjNDQ5MTE0YWMxMzFlZmM2MjE3ODczNGMzClRoaXMgY29tbWl0IG1lc3NhZ2UgaXMgbXVjaCBsb25nZXIgdGhhbiB0aGUgb3RoZXJzLAphbmQgaXQgd2lsbCBiZSBlbmNvZGVkIGluIGlzbzg4NTktMS4gV2Ugc2hvdWxkIHRoZXJlZm9yZQppbmNsdWRlIGFuIGlzbzg4NTkgY2hhcmFjdGVyOiChYnVlbm8hCgpjb21taXQgMTMxYTMxMGViOTEzZDEwN2RkM2MwOWE2NWQxNjUxMTc1ODk4NzM1ZApjb21taXQgODZjNzVjZmQ3MDhhMGU1ODY4ZGM4NzZlZDViOGJiNjZjODBiNDg3MwpFT0YKCnRlc3RfZXhwZWN0X3N1Y2Nlc3MgJyV4MDAgc2hvd3MgTlVMJyAnCgllY2hvICA+ZXhwZWN0IGNvbW1pdCAxZWQ4OGRhNGE1YjVlZDhjNDQ5MTE0YWMxMzFlZmM2MjE3ODczNGMzICYmCgllY2hvID4+ZXhwZWN0IGZvb1FiYXIgJiYKCWdpdCByZXYtbGlzdCAtMSAtLWZvcm1hdD1mb28leDAwYmFyIEhFQUQgPmFjdHVhbC5udWwgJiYKCW51bF90b19xIDxhY3R1YWwubnVsID5hY3R1YWwgJiYKCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKJwoKdGVzdF9leHBlY3Rfc3VjY2VzcyAnJWFkIHJlc3BlY3RzIC0tZGF0ZT0nICcKCWVjaG8gMjAwNS0wNC0wNyA+ZXhwZWN0LmFkLXNob3J0ICYmCglnaXQgbG9nIC0xIC0tZGF0ZT1zaG9ydCAtLXByZXR0eT10Zm9ybWF0OiVhZCA+b3V0cHV0LmFkLXNob3J0IG1hc3RlciAmJgoJdGVzdF9jbXAgZXhwZWN0LmFkLXNob3J0IG91dHB1dC5hZC1zaG9ydAonCgp0ZXN0X2V4cGVjdF9zdWNjZXNzICdlbXB0eSBlbWFpbCcgJwoJdGVzdF90aWNrICYmCglDPSQoR0lUX0FVVEhPUl9FTUFJTD0gZ2l0IGNvbW1pdC10cmVlIEhFQURee3RyZWV9IDwvZGV2L251bGwpICYmCglBPSQoZ2l0IHNob3cgLS1wcmV0dHk9Zm9ybWF0OiVhbiwlYWUsJWFkJW4gLXMgJEMpICYmCgl0ZXN0ICIkQSIgPSAiQSBVIFRob3IsLFRodSBBcHIgNyAxNToxNDoxMyAyMDA1IC0wNzAwIiB8fCB7CgkJZWNobyAiRWg/ICRBIiA+ZmFpbHVyZQoJCWZhbHNlCgl9CicKCnRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2RlbCBMRiBiZWZvcmUgZW1wdHkgKDEpJyAnCglnaXQgc2hvdyAtcyAtLXByZXR0eT1mb3JtYXQ6IiVzJW4lLWIlblRoYW5rcyVuIiBIRUFEXl4gPmFjdHVhbCAmJgoJdGVzdF9saW5lX2NvdW50ID0gMiBhY3R1YWwKJwoKdGVzdF9leHBlY3Rfc3VjY2VzcyAnZGVsIExGIGJlZm9yZSBlbXB0eSAoMiknICcKCWdpdCBzaG93IC1zIC0tcHJldHR5PWZvcm1hdDoiJXMlbiUtYiVuVGhhbmtzJW4iIEhFQUQgPmFjdHVhbCAmJgoJdGVzdF9saW5lX2NvdW50ID0gNiBhY3R1YWwgJiYKCWdyZXAgIl4kIiBhY3R1YWwKJwoKdGVzdF9leHBlY3Rfc3VjY2VzcyAnYWRkIExGIGJlZm9yZSBub24tZW1wdHkgKDEpJyAnCglnaXQgc2hvdyAtcyAtLXByZXR0eT1mb3JtYXQ6IiVzJStiJW5UaGFua3MlbiIgSEVBRF5eID5hY3R1YWwgJiYKCXRlc3RfbGluZV9jb3VudCA9IDIgYWN0dWFsCicKCnRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2FkZCBMRiBiZWZvcmUgbm9uLWVtcHR5ICgyKScgJwoJZ2l0IHNob3cgLXMgLS1wcmV0dHk9Zm9ybWF0OiIlcyUrYiVuVGhhbmtzJW4iIEhFQUQgPmFjdHVhbCAmJgoJdGVzdF9saW5lX2NvdW50ID0gNiBhY3R1YWwgJiYKCWdyZXAgIl4kIiBhY3R1YWwKJwoKdGVzdF9leHBlY3Rfc3VjY2VzcyAnYWRkIFNQIGJlZm9yZSBub24tZW1wdHkgKDEpJyAnCglnaXQgc2hvdyAtcyAtLXByZXR0eT1mb3JtYXQ6IiVzJSBiVGhhbmtzIiBIRUFEXl4gPmFjdHVhbCAmJgoJdGVzdCAkKHdjIC13IDxhY3R1YWwpID0gMgonCgp0ZXN0X2V4cGVjdF9zdWNjZXNzICdhZGQgU1AgYmVmb3JlIG5vbi1lbXB0eSAoMiknICcKCWdpdCBzaG93IC1zIC0tcHJldHR5PWZvcm1hdDoiJXMlIHNUaGFua3MiIEhFQUReXiA+YWN0dWFsICYmCgl0ZXN0ICQod2MgLXcgPGFjdHVhbCkgPSA0CicKCnRlc3RfZXhwZWN0X3N1Y2Nlc3MgJy0tYWJicmV2JyAnCgllY2hvIFNIT1JUIFNIT1JUIFNIT1JUID5leHBlY3QyICYmCgllY2hvIExPTkcgTE9ORyBMT05HID5leHBlY3QzICYmCglnaXQgbG9nIC0xIC0tZm9ybWF0PSIlaCAlaCAlaCIgSEVBRCA+YWN0dWFsMSAmJgoJZ2l0IGxvZyAtMSAtLWFiYnJldj01IC0tZm9ybWF0PSIlaCAlaCAlaCIgSEVBRCA+YWN0dWFsMiAmJgoJZ2l0IGxvZyAtMSAtLWFiYnJldj01IC0tZm9ybWF0PSIlSCAlSCAlSCIgSEVBRCA+YWN0dWFsMyAmJgoJc2VkIC1lICJzLyRfeDQwL0xPTkcvZyIgLWUgInMvJF94MDUvU0hPUlQvZyIgPGFjdHVhbDIgPmZ1enp5MiAmJgoJc2VkIC1lICJzLyRfeDQwL0xPTkcvZyIgLWUgInMvJF94MDUvU0hPUlQvZyIgPGFjdHVhbDMgPmZ1enp5MyAmJgoJdGVzdF9jbXAgZXhwZWN0MiBmdXp6eTIgJiYKCXRlc3RfY21wIGV4cGVjdDMgZnV6enkzICYmCgkhIHRlc3RfY21wIGFjdHVhbDEgYWN0dWFsMgonCgp0ZXN0X2V4cGVjdF9zdWNjZXNzICclSCBpcyBub3QgYWZmZWN0ZWQgYnkgLS1hYmJyZXYtY29tbWl0JyAnCglnaXQgbG9nIC0xIC0tZm9ybWF0PSVIIC0tYWJicmV2LWNvbW1pdCAtLWFiYnJldj0yMCBIRUFEID5hY3R1YWwgJiYKCWxlbj0kKHdjIC1jIDxhY3R1YWwpICYmCgl0ZXN0ICRsZW4gPSA0MQonCgp0ZXN0X2V4cGVjdF9zdWNjZXNzICclaCBpcyBub3QgYWZmZWN0ZWQgYnkgLS1hYmJyZXYtY29tbWl0JyAnCglnaXQgbG9nIC0xIC0tZm9ybWF0PSVoIC0tYWJicmV2LWNvbW1pdCAtLWFiYnJldj0yMCBIRUFEID5hY3R1YWwgJiYKCWxlbj0kKHdjIC1jIDxhY3R1YWwpICYmCgl0ZXN0ICRsZW4gPSAyMQonCgp0ZXN0X2V4cGVjdF9zdWNjZXNzICciJWggJWdEOiAlZ3MiIGlzIHNhbWUgYXMgZ2l0LXJlZmxvZycgJwoJZ2l0IHJlZmxvZyA+ZXhwZWN0ICYmCglnaXQgbG9nIC1nIC0tZm9ybWF0PSIlaCAlZ0Q6ICVncyIgPmFjdHVhbCAmJgoJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAonCgp0ZXN0X2V4cGVjdF9zdWNjZXNzICciJWggJWdEOiAlZ3MiIGlzIHNhbWUgYXMgZ2l0LXJlZmxvZyAod2l0aCBkYXRlKScgJwoJZ2l0IHJlZmxvZyAtLWRhdGU9cmF3ID5leHBlY3QgJiYKCWdpdCBsb2cgLWcgLS1mb3JtYXQ9IiVoICVnRDogJWdzIiAtLWRhdGU9cmF3ID5hY3R1YWwgJiYKCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKJwoKdGVzdF9leHBlY3Rfc3VjY2VzcyAnIiVoICVnRDogJWdzIiBpcyBzYW1lIGFzIGdpdC1yZWZsb2cgKHdpdGggLS1hYmJyZXYpJyAnCglnaXQgcmVmbG9nIC0tYWJicmV2PTEzIC0tZGF0ZT1yYXcgPmV4cGVjdCAmJgoJZ2l0IGxvZyAtZyAtLWFiYnJldj0xMyAtLWZvcm1hdD0iJWggJWdEOiAlZ3MiIC0tZGF0ZT1yYXcgPmFjdHVhbCAmJgoJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAonCgp0ZXN0X2V4cGVjdF9zdWNjZXNzICclZ2Qgc2hvcnRlbnMgcmVmIG5hbWUnICcKCWVjaG8gIm1hc3RlckB7MH0iID5leHBlY3QuZ2Qtc2hvcnQgJiYKCWdpdCBsb2cgLWcgLTEgLS1mb3JtYXQ9JWdkIHJlZnMvaGVhZHMvbWFzdGVyID5hY3R1YWwuZ2Qtc2hvcnQgJiYKCXRlc3RfY21wIGV4cGVjdC5nZC1zaG9ydCBhY3R1YWwuZ2Qtc2hvcnQKJwoKdGVzdF9leHBlY3Rfc3VjY2VzcyAncmVmbG9nIGlkZW50aXR5JyAnCgllY2hvICJDIE8gTWl0dGVyOmNvbW1pdHRlckBleGFtcGxlLmNvbSIgPmV4cGVjdCAmJgoJZ2l0IGxvZyAtZyAtMSAtLWZvcm1hdD0iJWduOiVnZSIgPmFjdHVhbCAmJgoJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAonCgp0ZXN0X2V4cGVjdF9zdWNjZXNzICdvbmVsaW5lIHdpdGggZW1wdHkgbWVzc2FnZScgJwoJZ2l0IGNvbW1pdCAtbSAiZHVtbXkiIC0tYWxsb3ctZW1wdHkgJiYKCWdpdCBjb21taXQgLW0gImR1bW15IiAtLWFsbG93LWVtcHR5ICYmCglnaXQgZmlsdGVyLWJyYW5jaCAtLW1zZy1maWx0ZXIgInNlZCAtZSBzL2R1bW15Ly8iIEhFQUReXi4uICYmCglnaXQgcmV2LWxpc3QgLS1vbmVsaW5lIEhFQUQgPnRlc3QudHh0ICYmCgl0ZXN0X2xpbmVfY291bnQgPSA1IHRlc3QudHh0ICYmCglnaXQgcmV2LWxpc3QgLS1vbmVsaW5lIC0tZ3JhcGggSEVBRCA+dGVzdGcudHh0ICYmCgl0ZXN0X2xpbmVfY291bnQgPSA1IHRlc3RnLnR4dAonCgp0ZXN0X2V4cGVjdF9zdWNjZXNzICdzaW5nbGUtY2hhcmFjdGVyIG5hbWUgaXMgcGFyc2VkIGNvcnJlY3RseScgJwoJZ2l0IGNvbW1pdCAtLWF1dGhvcj0iYSA8YUBleGFtcGxlLmNvbT4iIC0tYWxsb3ctZW1wdHkgLW0gZm9vICYmCgllY2hvICJhIDxhQGV4YW1wbGUuY29tPiIgPmV4cGVjdCAmJgoJZ2l0IGxvZyAtMSAtLWZvcm1hdD0iJWFuIDwlYWU+IiA+YWN0dWFsICYmCgl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCicKCnRlc3RfZG9uZQo=