IyEvYmluL3NoCiMKIyBDb3B5cmlnaHQgKGMpIDIwMDcgRGF2aWQgS+VnZWRhbAojCgp0ZXN0X2Rlc2NyaXB0aW9uPSdCYXNpYyBzdGcgc3RhdHVzCgpUZXN0IHRoYXQgInN0ZyBzdGF0dXMiIHdvcmtzLicKCi4gLi90ZXN0LWxpYi5zaApzdGcgaW5pdAoKIyBJZ25vcmUgb3VyIG93biBvdXRwdXQgZmlsZXMuCmNhdCA+IC5naXQvaW5mby9leGNsdWRlIDw8RU9GCi9leHBlY3RlZC50eHQKL291dHB1dC50eHQKRU9GCgpjYXQgPiBleHBlY3RlZC50eHQgPDxFT0YKRU9GCnRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ1J1biBzdGF0dXMgb24gZW1wdHknICcKICAgIHN0ZyBzdGF0dXMgPiBvdXRwdXQudHh0ICYmCiAgICBkaWZmIC11IGV4cGVjdGVkLnR4dCBvdXRwdXQudHh0CicKCmNhdCA+IGV4cGVjdGVkLnR4dCA8PEVPRgo/IGZvbwpFT0YKdGVzdF9leHBlY3Rfc3VjY2VzcyAnU3RhdHVzIHdpdGggYW4gdW50cmFja2VkIGZpbGUnICcKICAgIHRvdWNoIGZvbyAmJgogICAgc3RnIHN0YXR1cyA+IG91dHB1dC50eHQgJiYKICAgIGRpZmYgLXUgZXhwZWN0ZWQudHh0IG91dHB1dC50eHQKJwpybSAtZiBmb28KCmNhdCA+IGV4cGVjdGVkLnR4dCA8PEVPRgpFT0YKdGVzdF9leHBlY3Rfc3VjY2VzcyAnU3RhdHVzIHdpdGggYW4gZW1wdHkgZGlyZWN0b3J5JyAnCiAgICBta2RpciBmb28gJiYKICAgIHN0ZyBzdGF0dXMgPiBvdXRwdXQudHh0ICYmCiAgICBkaWZmIC11IGV4cGVjdGVkLnR4dCBvdXRwdXQudHh0CicKCmNhdCA+IGV4cGVjdGVkLnR4dCA8PEVPRgo/IGZvby8KRU9GCnRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ1N0YXR1cyB3aXRoIGFuIHVudHJhY2tlZCBmaWxlIGluIGEgc3ViZGlyJyAnCiAgICB0b3VjaCBmb28vYmFyICYmCiAgICBzdGcgc3RhdHVzID4gb3V0cHV0LnR4dCAmJgogICAgZGlmZiAtdSBleHBlY3RlZC50eHQgb3V0cHV0LnR4dAonCgpjYXQgPiBleHBlY3RlZC50eHQgPDxFT0YKQSBmb28vYmFyCkVPRgp0ZXN0X2V4cGVjdF9zdWNjZXNzICdTdGF0dXMgd2l0aCBhbiBhZGRlZCBmaWxlJyAnCiAgICBzdGcgYWRkIGZvbyAmJgogICAgc3RnIHN0YXR1cyA+IG91dHB1dC50eHQgJiYKICAgIGRpZmYgLXUgZXhwZWN0ZWQudHh0IG91dHB1dC50eHQKJwoKY2F0ID4gZXhwZWN0ZWQudHh0IDw8RU9GCmZvby9iYXIKRU9GCnRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ1N0YXR1cyB3aXRoIGFuIGFkZGVkIGZpbGUgYW5kIC1uIG9wdGlvbicgJwogICAgc3RnIHN0YXR1cyAtbiA+IG91dHB1dC50eHQgJiYKICAgIGRpZmYgLXUgZXhwZWN0ZWQudHh0IG91dHB1dC50eHQKJwoKY2F0ID4gZXhwZWN0ZWQudHh0IDw8RU9GCkVPRgp0ZXN0X2V4cGVjdF9zdWNjZXNzICdTdGF0dXMgYWZ0ZXIgcmVmcmVzaCcgJwogICAgc3RnIG5ldyAtbSAiZmlyc3QgcGF0Y2giICYmCiAgICBzdGcgcmVmcmVzaCAmJgogICAgc3RnIHN0YXR1cyA+IG91dHB1dC50eHQgJiYKICAgIGRpZmYgLXUgZXhwZWN0ZWQudHh0IG91dHB1dC50eHQKJwoKY2F0ID4gZXhwZWN0ZWQudHh0IDw8RU9GCk0gZm9vL2JhcgpFT0YKdGVzdF9leHBlY3Rfc3VjY2VzcyAnU3RhdHVzIGFmdGVyIG1vZGlmaWNhdGlvbicgJwogICAgZWNobyAid2VlIiA+PiBmb28vYmFyICYmCiAgICBzdGcgc3RhdHVzID4gb3V0cHV0LnR4dCAmJgogICAgZGlmZiAtdSBleHBlY3RlZC50eHQgb3V0cHV0LnR4dAonCgpjYXQgPiBleHBlY3RlZC50eHQgPDxFT0YKRU9GCnRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ1N0YXR1cyBhZnRlciByZWZyZXNoJyAnCiAgICBzdGcgbmV3IC1tICJzZWNvbmQgcGF0Y2giICYmIHN0ZyByZWZyZXNoICYmCiAgICBzdGcgc3RhdHVzID4gb3V0cHV0LnR4dCAmJgogICAgZGlmZiAtdSBleHBlY3RlZC50eHQgb3V0cHV0LnR4dAonCgp0ZXN0X2V4cGVjdF9zdWNjZXNzICdBZGQgYW5vdGhlciBmaWxlJyAnCiAgICBlY2hvIGxhamJhbnMgPiBmaWUgJiYKICAgIHN0ZyBhZGQgZmllICYmCiAgICBzdGcgcmVmcmVzaAonCgp0ZXN0X2V4cGVjdF9zdWNjZXNzICdNYWtlIGEgY29uZmxpY3RpbmcgcGF0Y2gnICcKICAgIHN0ZyBwb3AgJiYKICAgIHN0ZyBuZXcgLW0gInRoaXJkIHBhdGNoIiAmJgogICAgZWNobyAid29vIiA+PiBmb28vYmFyICYmCiAgICBzdGcgcmVmcmVzaAonCgpjYXQgPiBleHBlY3RlZC50eHQgPDxFT0YKPyBmb28vYmFyLmFuY2VzdG9yCj8gZm9vL2Jhci5jdXJyZW50Cj8gZm9vL2Jhci5wYXRjaGVkCkMgZm9vL2JhcgpFT0YKdGVzdF9leHBlY3Rfc3VjY2VzcyAnU3RhdHVzIGFmdGVyIGNvbmZsaWN0aW5nIHB1c2gnICcKICAgICEgc3RnIHB1c2ggJiYKICAgIHN0ZyBzdGF0dXMgPiBvdXRwdXQudHh0ICYmCiAgICBkaWZmIC11IGV4cGVjdGVkLnR4dCBvdXRwdXQudHh0CicKCmNhdCA+IGV4cGVjdGVkLnR4dCA8PEVPRgpDIGZvby9iYXIKRU9GCnRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ1N0YXR1cyBvZiBmaWxlJyAnCiAgICBzdGcgc3RhdHVzIGZvby9iYXIgPiBvdXRwdXQudHh0ICYmCiAgICBkaWZmIC11IGV4cGVjdGVkLnR4dCBvdXRwdXQudHh0CicKCmNhdCA+IGV4cGVjdGVkLnR4dCA8PEVPRgpDIGZvby9iYXIKRU9GCnRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ1N0YXR1cyBvZiBkaXInICcKICAgIHN0ZyBzdGF0dXMgZm9vID4gb3V0cHV0LnR4dCAmJgogICAgZGlmZiAtdSBleHBlY3RlZC50eHQgb3V0cHV0LnR4dAonCgpjYXQgPiBleHBlY3RlZC50eHQgPDxFT0YKRU9GCnRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ1N0YXR1cyBvZiBvdGhlciBmaWxlJyAnCiAgICBzdGcgc3RhdHVzIGZpZSA+IG91dHB1dC50eHQgJiYKICAgIGRpZmYgLXUgZXhwZWN0ZWQudHh0IG91dHB1dC50eHQKJwoKY2F0ID4gZXhwZWN0ZWQudHh0IDw8RU9GCk0gZm9vL2JhcgpFT0YKdGVzdF9leHBlY3Rfc3VjY2VzcyAnU3RhdHVzIGFmdGVyIHJlc29sdmluZyB0aGUgcHVzaCcgJwogICAgc3RnIHJlc29sdmVkIC1hICYmCiAgICBzdGcgc3RhdHVzID4gb3V0cHV0LnR4dCAmJgogICAgZGlmZiAtdSBleHBlY3RlZC50eHQgb3V0cHV0LnR4dAonCgpjYXQgPiBleHBlY3RlZC50eHQgPDxFT0YKRCBmb28vYmFyCkVPRgp0ZXN0X2V4cGVjdF9zdWNjZXNzICdTdGF0dXMgYWZ0ZXIgZGVsZXRpbmcgYSBmaWxlJyAnCiAgICBybSBmb28vYmFyICYmCiAgICBzdGcgc3RhdHVzID4gb3V0cHV0LnR4dCAmJgogICAgZGlmZiAtdSBleHBlY3RlZC50eHQgb3V0cHV0LnR4dAonCgpjYXQgPiBleHBlY3RlZC50eHQgPDxFT0YKRCBmb28vYmFyCkVPRgp0ZXN0X2V4cGVjdF9zdWNjZXNzICdTdGF0dXMgb2YgZGlzYXBwZWFyZWQgbmV3Ym9ybicgJwogICAgc3RnIHJlZnJlc2ggJiYKICAgIHRvdWNoIGZvby9iYXIgJiYKICAgIHN0ZyBhZGQgZm9vL2JhciAmJgogICAgcm0gZm9vL2JhciAmJgogICAgc3RnIHN0YXR1cyA+IG91dHB1dC50eHQgJiYKICAgIGRpZmYgLXUgZXhwZWN0ZWQudHh0IG91dHB1dC50eHQKJwoKdGVzdF9kb25lCg==