IyAkSWQkCgpwYWNrYWdlIHJlcXVpcmUgdGNsdGVzdApwYWNrYWdlIHJlcXVpcmUgdGNscml2ZXRwYXJzZXIKCmxvYWQgW2ZpbGUgam9pbiBbcHdkXSAuLiBzcmMgLmxpYnMgbGlicml2ZXRwYXJzZXJbaW5mbyBzaGFyZWRsaWJleHRdXQoKOjp0Y2x0ZXN0Ojp0ZXN0IHBhcnNlcml2ZXRkYXRhLTEuMSB7cGFyc2VyaXZldGRhdGEgY29tbWFuZH0gewogICAgc2V0IGZsIFtvcGVuIGhlbGxvLnJ2dF0KICAgIHNldCBkYXRhIFtyaXZldDo6cGFyc2VyaXZldGRhdGEgW3JlYWQgJGZsXV0KICAgIGNsb3NlICRmbAogICAgc2V0IGRhdGEKfSB7cHV0cyAtbm9uZXdsaW5lICIiCgoKIyBoZWxsby0xLjEKcHV0cyAiSGVsbG8sIFdvcmxkXG4iCgojIGkxOG4tMS4xCnB1dHMgIqEgwCDIIMwg0iDZIC0gRWwgQnVycm8gU2FiZSBN4XMgUXVlIFT6IVxuIgoKCnB1dHMgLW5vbmV3bGluZSAiCjxwPsb8y9y47ChFVUMtSlAgSmFwYW5lc2UgdGV4dCk8L3A+CiIKfQoKOjp0Y2x0ZXN0Ojp0ZXN0IHBhcnNlcml2ZXQtMS4xIHtwYXJzZXJpdmV0IGNvbW1hbmR9IHsKICAgIHJpdmV0OjpwYXJzZXJpdmV0IGhlbGxvLnJ2dAp9IHtuYW1lc3BhY2UgZXZhbCByZXF1ZXN0IHsKcHV0cyAtbm9uZXdsaW5lICIiCgoKIyBoZWxsby0xLjEKcHV0cyAiSGVsbG8sIFdvcmxkXG4iCgojIGkxOG4tMS4xCnB1dHMgIqEgwCDIIMwg0iDZIC0gRWwgQnVycm8gU2FiZSBN4XMgUXVlIFT6IVxuIgoKCnB1dHMgLW5vbmV3bGluZSAiCjxwPsb8y9y47ChFVUMtSlAgSmFwYW5lc2UgdGV4dCk8L3A+CiIKCn0KfQoKIyBNYWtlIHN1cmUgdGhhdCB0aGUgVGNsIHZlcnNpb24gaXMgaWRlbnRpY2FsIHRvIHRoZSBDIHZlcnNpb24uCjo6dGNsdGVzdDo6dGVzdCB0Y2xyaXZldHBhcnNlci0xLjEge3RjbHBhcnNlZGF0YSBjb21tYW5kfSB7CiAgICBzZXQgZmwgW29wZW4gaGVsbG8ucnZ0XQogICAgc2V0IGRhdGExIFt0Y2xyaXZldHBhcnNlcjo6cGFyc2VyaXZldGRhdGEgW3JlYWQgJGZsXV0KICAgIGNsb3NlICRmbAoKICAgIHNldCBmbCBbb3BlbiBoZWxsby5ydnRdCiAgICBzZXQgZGF0YTIgW3JpdmV0OjpwYXJzZXJpdmV0ZGF0YSBbcmVhZCAkZmxdXQogICAgY2xvc2UgJGZsCiAgICBzZXQgZGF0YTIKCiAgICBzdHJpbmcgY29tcGFyZSAkZGF0YTEgJGRhdGEyCn0gezB9Cg==