IyBNZW5zYWplcyBlbiBlc3Bh8W9sIHBhcmEgR05VIHNlZC4KIyBDb3B5cmlnaHQgKEMpIDIwMDEsIDIwMDIsIDIwMDMsIDIwMDQsIDIwMDUsIDIwMDYsIDIwMDcsIDIwMDggRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCiMgVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBzYW1lIGxpY2Vuc2UgYXMgdGhlIHNlZCBwYWNrYWdlLgojIENyaXN0aWFuIE90aPNuIE1hcnTtbmV6IFZlcmEgPGNmdWdhQGl0YW0ubXg+LCAyMDAxLCAyMDAyLCAyMDAzLCAyMDA0LCAyMDA1LCAyMDA2LCAyMDA3LCAyMDA4LgojCm1zZ2lkICIiCm1zZ3N0ciAiIgoiUHJvamVjdC1JZC1WZXJzaW9uOiBzZWQgNC4yLjBcbiIKIlJlcG9ydC1Nc2dpZC1CdWdzLVRvOiBidWctZ251LXV0aWxzQGdudS5vcmdcbiIKIlBPVC1DcmVhdGlvbi1EYXRlOiAyMDA5LTA2LTI3IDE1OjA4KzAyMDBcbiIKIlBPLVJldmlzaW9uLURhdGU6IDIwMDgtMDEtMTggMjE6MTAtMDYwMFxuIgoiTGFzdC1UcmFuc2xhdG9yOiBDcmlzdGlhbiBPdGjzbiBNYXJ07W5leiBWZXJhIDxjZnVnYUBpdGFtLm14PlxuIgoiTGFuZ3VhZ2UtVGVhbTogU3BhbmlzaCA8ZXNAbGkub3JnPlxuIgoiTUlNRS1WZXJzaW9uOiAxLjBcbiIKIkNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1JU08tODg1OS0xXG4iCiJDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4LWJpdFxuIgoiUGx1cmFsLUZvcm1zOiBucGx1cmFscz0yOyBwbHVyYWw9KG4gIT0gMSk7XG4iCgojOiBzZWQvY29tcGlsZS5jOjE2MQptc2dpZCAibXVsdGlwbGUgYCEncyIKbXNnc3RyICJgISdzIG36bHRpcGxlcyIKCiM6IHNlZC9jb21waWxlLmM6MTYyCm1zZ2lkICJ1bmV4cGVjdGVkIGAsJyIKbXNnc3RyICJgLCcgaW5lc3BlcmFkYSIKCiM6IHNlZC9jb21waWxlLmM6MTYzCm1zZ2lkICJpbnZhbGlkIHVzYWdlIG9mICtOIG9yIH5OIGFzIGZpcnN0IGFkZHJlc3MiCm1zZ3N0ciAidXNvIGluduFsaWRvIGRlICtOIG8gfk4gY29tbyBwcmltZXJhIGRpcmVjY2nzbiIKCiM6IHNlZC9jb21waWxlLmM6MTY0Cm1zZ2lkICJ1bm1hdGNoZWQgYHsnIgptc2dzdHIgImB7JyBzaW4gcGFyZWphIgoKIzogc2VkL2NvbXBpbGUuYzoxNjUKbXNnaWQgInVuZXhwZWN0ZWQgYH0nIgptc2dzdHIgImB9JyBpbmVzcGVyYWRvIgoKIzogc2VkL2NvbXBpbGUuYzoxNjYKbXNnaWQgImV4dHJhIGNoYXJhY3RlcnMgYWZ0ZXIgY29tbWFuZCIKbXNnc3RyICJjYXJhY3RlcmVzIGV4dHJhIGRlc3B16XMgZGUgbGEgb3JkZW4iCgojOiBzZWQvY29tcGlsZS5jOjE2Nwptc2dpZCAiZXhwZWN0ZWQgXFwgYWZ0ZXIgYGEnLCBgYycgb3IgYGknIgptc2dzdHIgInNlIGVzcGVyYWJhIFxcIGRlc3B16XMgZGUgYGEnLCBgYycg8yBgaSciCgojOiBzZWQvY29tcGlsZS5jOjE2OAptc2dpZCAiYH0nIGRvZXNuJ3Qgd2FudCBhbnkgYWRkcmVzc2VzIgptc2dzdHIgImB9JyBubyBhY2VwdGEgbmluZ3VuYSBkaXJlY2Np824iCgojOiBzZWQvY29tcGlsZS5jOjE2OQptc2dpZCAiOiBkb2Vzbid0IHdhbnQgYW55IGFkZHJlc3NlcyIKbXNnc3RyICI6IG5vIGFjZXB0YSBuaW5ndW5hIGRpcmVjY2nzbiIKCiM6IHNlZC9jb21waWxlLmM6MTcwCm1zZ2lkICJjb21tZW50cyBkb24ndCBhY2NlcHQgYW55IGFkZHJlc3NlcyIKbXNnc3RyICJsb3MgY29tZW50YXJpb3Mgbm8gYWNlcHRhbiBuaW5ndW5hIGRpcmVjY2nzbiIKCiM6IHNlZC9jb21waWxlLmM6MTcxCm1zZ2lkICJtaXNzaW5nIGNvbW1hbmQiCm1zZ3N0ciAib3JkZW4gZmFsdGFudGUiCgojOiBzZWQvY29tcGlsZS5jOjE3Mgptc2dpZCAiY29tbWFuZCBvbmx5IHVzZXMgb25lIGFkZHJlc3MiCm1zZ3N0ciAibGEgb3JkZW4gc29sYW1lbnRlIHVzYSB1bmEgZGlyZWNjafNuIgoKIzogc2VkL2NvbXBpbGUuYzoxNzMKbXNnaWQgInVudGVybWluYXRlZCBhZGRyZXNzIHJlZ2V4Igptc2dzdHIgImRpcmVjY2nzbiBkZSBleHByZXNp824gcmVndWxhciBzaW4gdGVybWluYXIiCgojOiBzZWQvY29tcGlsZS5jOjE3NAptc2dpZCAidW50ZXJtaW5hdGVkIGBzJyBjb21tYW5kIgptc2dzdHIgIm9yZGVuIGBzJyBzaW4gdGVybWluYXIiCgojOiBzZWQvY29tcGlsZS5jOjE3NQptc2dpZCAidW50ZXJtaW5hdGVkIGB5JyBjb21tYW5kIgptc2dzdHIgIm9yZGVuIGB5JyBzaW4gdGVybWluYXIiCgojOiBzZWQvY29tcGlsZS5jOjE3Ngptc2dpZCAidW5rbm93biBvcHRpb24gdG8gYHMnIgptc2dzdHIgIm9wY2nzbiBkZXNjb25vY2lkYSBwYXJhIGBzJyIKCiM6IHNlZC9jb21waWxlLmM6MTc3Cm1zZ2lkICJtdWx0aXBsZSBgcCcgb3B0aW9ucyB0byBgcycgY29tbWFuZCIKbXNnc3RyICJt+mx0aXBsZXMgb3BjaW9uZXMgYHAnIHBhcmEgbGEgb3JkZW4gYHMnIgoKIzogc2VkL2NvbXBpbGUuYzoxNzgKbXNnaWQgIm11bHRpcGxlIGBnJyBvcHRpb25zIHRvIGBzJyBjb21tYW5kIgptc2dzdHIgIm36bHRpcGxlcyBvcGNpb25lcyBgZycgcGFyYSBsYSBvcmRlbiBgcyciCgojOiBzZWQvY29tcGlsZS5jOjE3OQptc2dpZCAibXVsdGlwbGUgbnVtYmVyIG9wdGlvbnMgdG8gYHMnIGNvbW1hbmQiCm1zZ3N0ciAibfpsdGlwbGVzIG9wY2lvbmVzIG51belyaWNhcyBwYXJhIGxhIG9yZGVuIGBzJyIKCiM6IHNlZC9jb21waWxlLmM6MTgwCm1zZ2lkICJudW1iZXIgb3B0aW9uIHRvIGBzJyBjb21tYW5kIG1heSBub3QgYmUgemVybyIKbXNnc3RyICJ1bmEgb3BjafNuIG51belyaWNhIHBhcmEgbGEgb3JkZW4gYHMnIG5vIHB1ZWRlIHNlciBjZXJvIgoKIzogc2VkL2NvbXBpbGUuYzoxODEKbXNnaWQgInN0cmluZ3MgZm9yIGB5JyBjb21tYW5kIGFyZSBkaWZmZXJlbnQgbGVuZ3RocyIKbXNnc3RyICJsYXMgY2FkZW5hcyBwYXJhIGxhIG9yZGVuIGB5JyBzb24gZGUgbG9uZ2l0dWRlcyBkaWZlcmVudGVzIgoKIzogc2VkL2NvbXBpbGUuYzoxODIKbXNnaWQgImRlbGltaXRlciBjaGFyYWN0ZXIgaXMgbm90IGEgc2luZ2xlLWJ5dGUgY2hhcmFjdGVyIgptc2dzdHIgImVsIGNhcuFjdGVyIGRlbGltaXRhZG9yIG5vIGVzIHVuIGNhcuFjdGVyIGRlIHVuIHNvbG8gYnl0ZSIKCiM6IHNlZC9jb21waWxlLmM6MTgzCm1zZ2lkICJleHBlY3RlZCBuZXdlciB2ZXJzaW9uIG9mIHNlZCIKbXNnc3RyICJzZSBlc3BlcmFiYSB1bmEgdmVyc2nzbiBt4XMgcmVjaWVudGUgZGUgc2VkIgoKIzogc2VkL2NvbXBpbGUuYzoxODQKbXNnaWQgImludmFsaWQgdXNhZ2Ugb2YgbGluZSBhZGRyZXNzIDAiCm1zZ3N0ciAidXNvIGluduFsaWRvIGRlIGxhIGRpcmVjY2nzbiBkZSBs7W5lYSAwIgoKIzogc2VkL2NvbXBpbGUuYzoxODUKIywgYy1mb3JtYXQKbXNnaWQgInVua25vd24gY29tbWFuZDogYCVjJyIKbXNnc3RyICJvcmRlbiBkZXNjb25vY2lkYTogYCVjJyIKCiM6IHNlZC9jb21waWxlLmM6MjA4CiMsIGMtZm9ybWF0Cm1zZ2lkICIlczogZmlsZSAlcyBsaW5lICVsdTogJXNcbiIKbXNnc3RyICIlczogZmljaGVybyAlcyBs7W5lYSAlbHU6ICVzXG4iCgojOiBzZWQvY29tcGlsZS5jOjIxMQojLCBjLWZvcm1hdAptc2dpZCAiJXM6IC1lIGV4cHJlc3Npb24gIyVsdSwgY2hhciAlbHU6ICVzXG4iCm1zZ3N0ciAiJXM6IC1lIGV4cHJlc2nzbiAjJWx1LCBjYXLhY3RlciAlbHU6ICVzXG4iCgojOiBzZWQvY29tcGlsZS5jOjE2NjUKIywgYy1mb3JtYXQKbXNnaWQgImNhbid0IGZpbmQgbGFiZWwgZm9yIGp1bXAgdG8gYCVzJyIKbXNnc3RyICJubyBzZSBwdWVkZSBlbmNvbnRyYXIgbGEgZXRpcXVldGEgcGFyYSBzYWx0YXIgYSBgJXMnIgoKIzogc2VkL2V4ZWN1dGUuYzo3MDkKIywgYy1mb3JtYXQKbXNnaWQgIiVzOiBjYW4ndCByZWFkICVzOiAlc1xuIgptc2dzdHIgIiVzOiBubyBzZSBwdWVkZSBsZWVyICVzOiAlc1xuIgoKIzogc2VkL2V4ZWN1dGUuYzo3NDAKIywgYy1mb3JtYXQKbXNnaWQgImNvdWxkbid0IGVkaXQgJXM6IGlzIGEgdGVybWluYWwiCm1zZ3N0ciAibm8gc2UgcHVlZGUgZWRpdGFyICVzOiBlcyB1bmEgdGVybWluYWwiCgojOiBzZWQvZXhlY3V0ZS5jOjc0NQojLCBjLWZvcm1hdAptc2dpZCAiY291bGRuJ3QgZWRpdCAlczogbm90IGEgcmVndWxhciBmaWxlIgptc2dzdHIgIm5vIHNlIHB1ZWRlIGVkaXRhciAlczogbm8gZXMgdW4gZmljaGVybyByZWd1bGFyIgoKIzogc2VkL2V4ZWN1dGUuYzo3NTcKIywgYy1mb3JtYXQKbXNnaWQgIiVzOiB3YXJuaW5nOiBmYWlsZWQgdG8gc2V0IGRlZmF1bHQgZmlsZSBjcmVhdGlvbiBjb250ZXh0IHRvICVzOiAlcyIKbXNnc3RyICIiCgojOiBzZWQvZXhlY3V0ZS5jOjc2NAojLCBjLWZvcm1hdAptc2dpZCAiJXM6IHdhcm5pbmc6IGZhaWxlZCB0byBnZXQgc2VjdXJpdHkgY29udGV4dCBvZiAlczogJXMiCm1zZ3N0ciAiIgoKIzogc2VkL2V4ZWN1dGUuYzo3ODMgc2VkL3V0aWxzLmM6MjI3CiMsIGMtZm9ybWF0Cm1zZ2lkICJjb3VsZG4ndCBvcGVuIHRlbXBvcmFyeSBmaWxlICVzOiAlcyIKbXNnc3RyICJubyBzZSBwdWVkZSBhYnJpciBlbCBmaWNoZXJvIHRlbXBvcmFsICVzOiAlcyIKCiM6IHNlZC9leGVjdXRlLmM6MTMxNyBzZWQvZXhlY3V0ZS5jOjE0OTcKbXNnaWQgImVycm9yIGluIHN1YnByb2Nlc3MiCm1zZ3N0ciAiZXJyb3IgZW4gZWwgc3VicHJvY2VzbyIKCiM6IHNlZC9leGVjdXRlLmM6MTMxOQptc2dpZCAib3B0aW9uIGBlJyBub3Qgc3VwcG9ydGVkIgptc2dzdHIgIm5vIGhheSBzb3BvcnRlIHBhcmEgbGEgb3BjafNuIGBlJyIKCiM6IHNlZC9leGVjdXRlLmM6MTQ5OQptc2dpZCAiYGUnIGNvbW1hbmQgbm90IHN1cHBvcnRlZCIKbXNnc3RyICJubyBoYXkgc29wb3J0ZSBwYXJhIGxhIG9yZGVuIGBlJyIKCiM6IHNlZC9leGVjdXRlLmM6MTg0Mwptc2dpZCAibm8gaW5wdXQgZmlsZXMiCm1zZ3N0ciAibm8gaGF5IGZpY2hlcm9zIGRlIGVudHJhZGEiCgojOiBzZWQvcmVnZXhwLmM6NDEKbXNnaWQgIm5vIHByZXZpb3VzIHJlZ3VsYXIgZXhwcmVzc2lvbiIKbXNnc3RyICJubyBoYXkgdW5hIGV4cHJlc2nzbiByZWd1bGFyIHByZXZpYSIKCiM6IHNlZC9yZWdleHAuYzo0Mgptc2dpZCAiY2Fubm90IHNwZWNpZnkgbW9kaWZpZXJzIG9uIGVtcHR5IHJlZ2V4cCIKbXNnc3RyICJubyBzZSBwdWVkZW4gZXNwZWNpZmljYXIgbW9kaWZpY2Fkb3JlcyBlbiBleHByZXNpb25lcyByZWd1bGFyZXMgdmFj7WFzIgoKIzogc2VkL3JlZ2V4cC5jOjEzMQojLCBjLWZvcm1hdAptc2dpZCAiaW52YWxpZCByZWZlcmVuY2UgXFwlZCBvbiBgcycgY29tbWFuZCdzIFJIUyIKbXNnc3RyICJyZWZlcmVuY2lhIFxcJWQgaW524WxpZGEgZW4gZWwgbGFkbyBkZXJlY2hvIGRlIGxhIG9yZGVuIGBzJyIKCiM6IHNlZC9zZWQuYzo5NwojLCBjLWZvcm1hdAptc2dpZCAiIgoiR05VIHNlZCBob21lIHBhZ2U6IDxodHRwOi8vd3d3LmdudS5vcmcvc29mdHdhcmUvc2VkLz4uXG4iCiJHZW5lcmFsIGhlbHAgdXNpbmcgR05VIHNvZnR3YXJlOiA8aHR0cDovL3d3dy5nbnUub3JnL2dldGhlbHAvPi5cbiIKbXNnc3RyICIiCgojOiBzZWQvc2VkLmM6MTA0CiMsIGZ1enp5LCBjLWZvcm1hdAptc2dpZCAiIgoiRS1tYWlsIGJ1ZyByZXBvcnRzIHRvOiA8JXM+LlxuIgoiQmUgc3VyZSB0byBpbmNsdWRlIHRoZSB3b3JkIGBgJXMnJyBzb21ld2hlcmUgaW4gdGhlIGBgU3ViamVjdDonJyBmaWVsZC5cbiIKbXNnc3RyICIiCiJFbnbtZSByZXBvcnRlcyBkZSBiaWNob3MgcG9yIGUtbWFpbCBhOiAlcyAuXG4iCiJBc2Vn+nJlc2UgZGUgaW5jbHVpciBsYSBwYWxhYnJhIGBgJXMnJyBlbiBhbGf6biBsdWdhciBlbiBlbCBjYW1wbyAiCiJgYFN1YmplY3Q6JycuXG4iCgojOiBzZWQvc2VkLmM6MTE3Cm1zZ2lkICIiCiIgIC1SLCAtLXJlZ2V4cC1wZXJsXG4iCiIgICAgICAgICAgICAgICAgIHVzZSBQZXJsIDUncyByZWd1bGFyIGV4cHJlc3Npb25zIHN5bnRheCBpbiB0aGUgc2NyaXB0LlxuIgptc2dzdHIgIiIKIiAgLVIsIC0tcmVnZXhwLXBlcmxcbiIKIiAgICAgICAgICAgICAgICAgdXRpbGl6YSBsYSBzaW50YXhpcyBkZSBleHByZXNpb25lcyByZWd1bGFyZXMgZGUgUGVybCA1XG4iCiIgICAgICAgICAgICAgICAgIGVuIGVsIGd1afNuLlxuIgoKIzogc2VkL3NlZC5jOjEyMgojLCBjLWZvcm1hdAptc2dpZCAiIgoiVXNhZ2U6ICVzIFtPUFRJT05dLi4uIHtzY3JpcHQtb25seS1pZi1uby1vdGhlci1zY3JpcHR9IFtpbnB1dC1maWxlXS4uLlxuIgoiXG4iCm1zZ3N0ciAiIgoiVXNvOiAlcyBbT1BDSdNOXS4uLiB7Z3Vp824tc/Nsby1zaS1uby1oYXktb3Ryby1ndWnzbn0gW2ZpY2hlcm8tZW50cmFkYV0uLi5cbiIKIlxuIgoKIzogc2VkL3NlZC5jOjEyNgojLCBjLWZvcm1hdAptc2dpZCAiIgoiICAtbiwgLS1xdWlldCwgLS1zaWxlbnRcbiIKIiAgICAgICAgICAgICAgICAgc3VwcHJlc3MgYXV0b21hdGljIHByaW50aW5nIG9mIHBhdHRlcm4gc3BhY2VcbiIKbXNnc3RyICIiCiIgIC1uLCAtLXF1aWV0LCAtLXNpbGVudFxuIgoiICAgICAgICAgICAgICAgICBzdXByaW1lIGxhIG11ZXN0cmEgYXV0b23hdGljYSBkZWwgZXNwYWNpbyBkZSBwYXRyb25lc1xuIgoKIzogc2VkL3NlZC5jOjEyOAojLCBjLWZvcm1hdAptc2dpZCAiIgoiICAtZSBzY3JpcHQsIC0tZXhwcmVzc2lvbj1zY3JpcHRcbiIKIiAgICAgICAgICAgICAgICAgYWRkIHRoZSBzY3JpcHQgdG8gdGhlIGNvbW1hbmRzIHRvIGJlIGV4ZWN1dGVkXG4iCm1zZ3N0ciAiIgoiICAtZSBndWnzbiwgLS1leHByZXNzaW9uPWd1afNuXG4iCiIgICAgICAgICAgICAgICAgIGFncmVnYSBlbCBndWnzbiBhIGxhIGxpc3RhIGRlIPNyZGVuZXMgcGFyYSBlamVjdXRhclxuIgoKIzogc2VkL3NlZC5jOjEzMAojLCBjLWZvcm1hdAptc2dpZCAiIgoiICAtZiBzY3JpcHQtZmlsZSwgLS1maWxlPXNjcmlwdC1maWxlXG4iCiIgICAgICAgICAgICAgICAgIGFkZCB0aGUgY29udGVudHMgb2Ygc2NyaXB0LWZpbGUgdG8gdGhlIGNvbW1hbmRzIHRvIGJlICIKImV4ZWN1dGVkXG4iCm1zZ3N0ciAiIgoiICAtZiBmaWNoZXJvLWd1afNuLCAtLWZpbGU9ZmljaGVyby1ndWnzblxuIgoiICAgICAgICAgICAgICAgICBhZ3JlZ2EgZWwgY29udGVuaWRvIGRlbCBmaWNoZXJvIGd1afNuIGEgbGEgbGlzdGEgZGUgIgoi83JkZW5lc1xuIgoiICAgICAgICAgICAgICAgICBwYXJhIGVqZWN1dGFyXG4iCgojOiBzZWQvc2VkLmM6MTMzCiMsIGMtZm9ybWF0Cm1zZ2lkICIiCiIgIC0tZm9sbG93LXN5bWxpbmtzXG4iCiIgICAgICAgICAgICAgICAgIGZvbGxvdyBzeW1saW5rcyB3aGVuIHByb2Nlc3NpbmcgaW4gcGxhY2VcbiIKbXNnc3RyICIiCiIgIC0tZm9sbG93LXN5bWxpbmtzXG4iCiIgICAgICAgICAgICAgICAgIHNpZ3VlIGxvcyBlbmxhY2VzIHNpbWLzbGljb3MgYWwgcHJvY2VzYXIgZW4gZWwgbHVnYXJcbiIKCiM6IHNlZC9zZWQuYzoxMzYKIywgYy1mb3JtYXQKbXNnaWQgIiIKIiAgLWlbU1VGRklYXSwgLS1pbi1wbGFjZVs9U1VGRklYXVxuIgoiICAgICAgICAgICAgICAgICBlZGl0IGZpbGVzIGluIHBsYWNlIChtYWtlcyBiYWNrdXAgaWYgZXh0ZW5zaW9uIHN1cHBsaWVkKVxuIgptc2dzdHIgIiIKIiAgLWlbU1VGSUpPXSwgLS1pbi1wbGFjZVs9U1VGSUpPXVxuIgoiICAgICAgICAgICAgICAgICBlZGl0YSBmaWNoZXJvcyBlbiBlbCBsdWdhciAoY3JlYSB1biByZXNwYWxkbyBzaSBzZSBkYVxuIgoiICAgICAgICAgICAgICAgICB1bmEgZXh0ZW5zafNuKVxuIgoKIzogc2VkL3NlZC5jOjEzOQojLCBjLWZvcm1hdAptc2dpZCAiIgoiICAtYiwgLS1iaW5hcnlcbiIKIiAgICAgICAgICAgICAgICAgb3BlbiBmaWxlcyBpbiBiaW5hcnkgbW9kZSAoQ1IrTEZzIGFyZSBub3QgcHJvY2Vzc2VkICIKInNwZWNpYWxseSlcbiIKbXNnc3RyICIiCiIgIC1iLCAtLWJpbmFyeVxuIgoiICAgICAgICAgICAgICAgICBhYnJlIGZpY2hlcm9zIGVuIG1vZG8gYmluYXJpbyAobG9zIFJDK0ZMcyBubyBzZSBwcm9jZXNhblxuIgoiICAgICAgICAgICAgICAgICBlc3BlY2lhbG1lbnRlKVxuIgoKIzogc2VkL3NlZC5jOjE0MgojLCBjLWZvcm1hdAptc2dpZCAiIgoiICAtbCBOLCAtLWxpbmUtbGVuZ3RoPU5cbiIKIiAgICAgICAgICAgICAgICAgc3BlY2lmeSB0aGUgZGVzaXJlZCBsaW5lLXdyYXAgbGVuZ3RoIGZvciB0aGUgYGwnIGNvbW1hbmRcbiIKbXNnc3RyICIiCiIgIC1sIE4sIC0tbGluZS1sZW5ndGg9TlxuIgoiICAgICAgICAgICAgICAgICBlc3BlY2lmaWNhIGxhIGxvbmdpdHVkIGRlIGNvcnRlIGRlIGztbmVhIGRlc2VhZG8gcGFyYVxuIgoiICAgICAgICAgICAgICAgICBsYSBvcmRlbiBgbCdcbiIKCiM6IHNlZC9zZWQuYzoxNDQKIywgYy1mb3JtYXQKbXNnaWQgIiIKIiAgLS1wb3NpeFxuIgoiICAgICAgICAgICAgICAgICBkaXNhYmxlIGFsbCBHTlUgZXh0ZW5zaW9ucy5cbiIKbXNnc3RyICIiCiIgIC0tcG9zaXhcbiIKIiAgICAgICAgICAgICAgICAgZGVzYWN0aXZhIHRvZGFzIGxhcyBleHRlbnNpb25lcyBkZSBHTlUuXG4iCgojOiBzZWQvc2VkLmM6MTQ2CiMsIGMtZm9ybWF0Cm1zZ2lkICIiCiIgIC1yLCAtLXJlZ2V4cC1leHRlbmRlZFxuIgoiICAgICAgICAgICAgICAgICB1c2UgZXh0ZW5kZWQgcmVndWxhciBleHByZXNzaW9ucyBpbiB0aGUgc2NyaXB0LlxuIgptc2dzdHIgIiIKIiAgLXIsIC0tcmVnZXhwLWV4dGVuZGVkXG4iCiIgICAgICAgICAgICAgICAgIHV0aWxpemEgZXhwcmVzaW9uZXMgcmVndWxhcmVzIGV4dGVuZGlkYXMgZW4gZWwgZ3Vp824uXG4iCgojOiBzZWQvc2VkLmM6MTUxCiMsIGMtZm9ybWF0Cm1zZ2lkICIiCiIgIC1zLCAtLXNlcGFyYXRlXG4iCiIgICAgICAgICAgICAgICAgIGNvbnNpZGVyIGZpbGVzIGFzIHNlcGFyYXRlIHJhdGhlciB0aGFuIGFzIGEgc2luZ2xlICIKImNvbnRpbnVvdXNcbiIKIiAgICAgICAgICAgICAgICAgbG9uZyBzdHJlYW0uXG4iCm1zZ3N0ciAiIgoiICAtcywgLS1zZXBhcmF0ZVxuIgoiICAgICAgICAgICAgICAgICBjb25zaWRlcmEgbG9zIGZpY2hlcm9zIGNvbW8gc2VwYXJhZG9zIGVuIGx1Z2FyIGRlIHVuIHNvbG9cbiIKIiAgICAgICAgICAgICAgICAgZmx1am8sIGxhcmdvIHkgY29udGludW8uXG4iCgojOiBzZWQvc2VkLmM6MTU0CiMsIGMtZm9ybWF0Cm1zZ2lkICIiCiIgIC11LCAtLXVuYnVmZmVyZWRcbiIKIiAgICAgICAgICAgICAgICAgbG9hZCBtaW5pbWFsIGFtb3VudHMgb2YgZGF0YSBmcm9tIHRoZSBpbnB1dCBmaWxlcyBhbmQgIgoiZmx1c2hcbiIKIiAgICAgICAgICAgICAgICAgdGhlIG91dHB1dCBidWZmZXJzIG1vcmUgb2Z0ZW5cbiIKbXNnc3RyICIiCiIgIC11LCAtLXVuYnVmZmVyZWRcbiIKIiAgICAgICAgICAgICAgICAgY2FyZ2EgY2FudGlkYWRlcyBt7W5pbWFzIGRlIGRhdG9zIGRlIGxvcyBmaWNoZXJvcyBkZSAiCiJlbnRyYWRhXG4iCiIgICAgICAgICAgICAgICAgIHkgdmFj7WEgbG9zIGFsbWFjZW5hbWllbnRvcyB0ZW1wb3JhbGVzIGRlIHNhbGlkYSBjb24gbeFzXG4iCiIgICAgICAgICAgICAgICAgIGZyZWN1ZW5jaWFcbiIKCiM6IHNlZC9zZWQuYzoxNTcKIywgYy1mb3JtYXQKbXNnaWQgIiAgICAgIC0taGVscCAgICAgZGlzcGxheSB0aGlzIGhlbHAgYW5kIGV4aXRcbiIKbXNnc3RyICIgICAgICAtLWhlbHAgICAgIG11ZXN0cmEgZXN0YSBheXVkYSB5IHRlcm1pbmFcbiIKCiM6IHNlZC9zZWQuYzoxNTgKIywgYy1mb3JtYXQKbXNnaWQgIiAgICAgIC0tdmVyc2lvbiAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKbXNnc3RyICIgICAgICAtLXZlcnNpb24gIG11ZXN0cmEgbGEgaW5mb3JtYWNp824gZGUgbGEgdmVyc2nzbiB5IHRlcm1pbmFcbiIKCiM6IHNlZC9zZWQuYzoxNTkKIywgYy1mb3JtYXQKbXNnaWQgIiIKIlxuIgoiSWYgbm8gLWUsIC0tZXhwcmVzc2lvbiwgLWYsIG9yIC0tZmlsZSBvcHRpb24gaXMgZ2l2ZW4sIHRoZW4gdGhlIGZpcnN0XG4iCiJub24tb3B0aW9uIGFyZ3VtZW50IGlzIHRha2VuIGFzIHRoZSBzZWQgc2NyaXB0IHRvIGludGVycHJldC4gIEFsbFxuIgoicmVtYWluaW5nIGFyZ3VtZW50cyBhcmUgbmFtZXMgb2YgaW5wdXQgZmlsZXM7IGlmIG5vIGlucHV0IGZpbGVzIGFyZVxuIgoic3BlY2lmaWVkLCB0aGVuIHRoZSBzdGFuZGFyZCBpbnB1dCBpcyByZWFkLlxuIgoiXG4iCm1zZ3N0ciAiIgoiXG4iCiJTaSBubyBzZSBwcm9wb3JjaW9uYSB1bmEgb3BjafNuIC1lLCAtLWV4cHJlc3Npb24sIC1mLCDzIC0tZmlsZSBvcHRpb24sXG4iCiJlbnRvbmNlcyBzZSB0b21hIGVsIHByaW1lciBhcmd1bWVudG8gcXVlIG5vIHNlYSBvcGNp824gY29tbyBlbCBndWnzbiBzZWRcbiIKImEgaW50ZXJwcmV0YXIuICBUb2RvcyBsb3MgYXJndW1lbnRvcyByZXN0YW50ZXMgc29uIG5vbWJyZXMgZGUgZmljaGVyb3NcbiIKImRlIGVudHJhZGE7IHNpIG5vIHNlIGVzcGVjaWZpY2FuIGZpY2hlcm9zIGRlIGVudHJhZGEsIGVudG9uY2VzIHNlIGxlZVxuIgoibGEgZW50cmFkYSBlc3ThbmRhcmQuXG4iCiJcbiIKCiM6IHNlZC9zZWQuYzozMTUKIywgYy1mb3JtYXQKbXNnaWQgInN1cGVyLXNlZCB2ZXJzaW9uICVzXG4iCm1zZ3N0ciAic3VwZXItc2VkIHZlcnNp824gJXNcbiIKCiM6IHNlZC9zZWQuYzozMTYKIywgYy1mb3JtYXQKbXNnaWQgIiIKImJhc2VkIG9uIEdOVSBzZWQgdmVyc2lvbiAlc1xuIgoiXG4iCm1zZ3N0ciAiIgoiYmFzYWRvIGVuIEdOVSBzZWQgdmVyc2nzbiAlc1xuIgoiXG4iCgojOiBzZWQvc2VkLmM6MzE4CiMsIGMtZm9ybWF0Cm1zZ2lkICJHTlUgc2VkIHZlcnNpb24gJXNcbiIKbXNnc3RyICJHTlUgc2VkIHZlcnNp824gJXNcbiIKCiM6IHNlZC9zZWQuYzozMjAKIywgZnV6enksIGMtZm9ybWF0Cm1zZ2lkICIiCiJDb3B5cmlnaHQgKEMpICVkIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLlxuIgoiVGhpcyBpcyBmcmVlIHNvZnR3YXJlOyBzZWUgdGhlIHNvdXJjZSBmb3IgY29weWluZyBjb25kaXRpb25zLiAgVGhlcmUgaXMgTk9cbiIKIndhcnJhbnR5OyBub3QgZXZlbiBmb3IgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLFxuIgoidG8gdGhlIGV4dGVudCBwZXJtaXR0ZWQgYnkgbGF3LlxuIgptc2dzdHIgIiIKIiVzXG4iCiJFc3RvIGVzIHNvZnR3YXJlIGxpYnJlOyB2ZWEgZWwgY/NkaWdvIGZ1ZW50ZSBwYXJhIGxhcyBjb25kaWNpb25lcyBkZSBjb3BpYS5cbiIKIk5vIGhheSBOSU5HVU5BIGdhcmFudO1hOyBuaSBzaXF1aWVyYSBkZSBDT01FUkNJQUJJTElEQUQgbyBJRE9ORUlEQUQgUEFSQSBVTlxuIgoiRklOIERFVEVSTUlOQURPLCBlbiBsYSBleHRlbnNp824gcGVybWl0aWRhIHBvciBsZXkuXG4iCgojOiBzZWQvdXRpbHMuYzo5MyBzZWQvdXRpbHMuYzo0MzgKIywgYy1mb3JtYXQKbXNnaWQgImNhbm5vdCByZW1vdmUgJXM6ICVzIgptc2dzdHIgIm5vIHNlIHB1ZWRlIGVsaW1pbmFyICVzOiAlcyIKCiM6IHNlZC91dGlscy5jOjE2MwojLCBjLWZvcm1hdAptc2dpZCAiY291bGRuJ3Qgb3BlbiBmaWxlICVzOiAlcyIKbXNnc3RyICJubyBzZSBwdWVkZSBhYnJpciBlbCBmaWNoZXJvICVzOiAlcyIKCiMgIEZJWE1FOiB2ZXJpZmljYXIgY29uIGVsIGPzZGlnbyBmdWVudGUgcGFyYSBzYWJlciBzaSBlcyAnY29uZWN0YXInIG8KIyAgICAgICAgICdhZGp1bnRhcicuIGNmdWdhCiM6IHNlZC91dGlscy5jOjE4NgojLCBjLWZvcm1hdAptc2dpZCAiY291bGRuJ3QgYXR0YWNoIHRvICVzOiAlcyIKbXNnc3RyICJubyBzZSBwdWVkZSBjb25lY3RhciBhICVzOiAlcyIKCiM6IHNlZC91dGlscy5jOjI0NQojLCBjLWZvcm1hdAptc2dpZCAiY291bGRuJ3Qgd3JpdGUgJWQgaXRlbSB0byAlczogJXMiCm1zZ2lkX3BsdXJhbCAiY291bGRuJ3Qgd3JpdGUgJWQgaXRlbXMgdG8gJXM6ICVzIgptc2dzdHJbMF0gIm5vIHNlIHB1ZWRlIGVzY3JpYmlyICVkIGVsZW1lbnRvIGEgJXM6ICVzIgptc2dzdHJbMV0gIm5vIHNlIHB1ZWRlbiBlc2NyaWJpciAlZCBlbGVtZW50b3MgYSAlczogJXMiCgojOiBzZWQvdXRpbHMuYzoyNjAgc2VkL3V0aWxzLmM6Mjc2CiMsIGMtZm9ybWF0Cm1zZ2lkICJyZWFkIGVycm9yIG9uICVzOiAlcyIKbXNnc3RyICJlcnJvciBhbCBsZWVyIGRlICVzOiAlcyIKCiM6IHNlZC91dGlscy5jOjM3OAojLCBjLWZvcm1hdAptc2dpZCAiY291bGRuJ3QgZm9sbG93IHN5bWxpbmsgJXM6ICVzIgptc2dzdHIgIm5vIHNlIHB1ZWRlIHNlZ3VpciBlbCBlbmxhY2Ugc2ltYvNsaWNvICVzOiAlcyIKCiM6IHNlZC91dGlscy5jOjQxMgojLCBjLWZvcm1hdAptc2dpZCAiY2Fubm90IHN0YXQgJXM6ICVzIgptc2dzdHIgIm5vIHNlIHB1ZWRlIG9idGVuZXIgbGEgaW5mb3JtYWNp824gZGUgc3RhdCBkZSAlczogJXMiCgojOiBzZWQvdXRpbHMuYzo0NDMKIywgYy1mb3JtYXQKbXNnaWQgImNhbm5vdCByZW5hbWUgJXM6ICVzIgptc2dzdHIgIm5vIHNlIHB1ZWRlIHJlbm9tYnJhciAlczogJXMiCgojOiBsaWIvcmVnY29tcC5jOjEzNAptc2dpZCAiU3VjY2VzcyIKbXNnc3RyICLJeGl0byIKCiM6IGxpYi9yZWdjb21wLmM6MTM3Cm1zZ2lkICJObyBtYXRjaCIKbXNnc3RyICJObyBoYXkgY29pbmNpZGVuY2lhIgoKIzogbGliL3JlZ2NvbXAuYzoxNDAKbXNnaWQgIkludmFsaWQgcmVndWxhciBleHByZXNzaW9uIgptc2dzdHIgIkV4cHJlc2lvbiByZWd1bGFyIGluduFsaWRhIgoKIzogbGliL3JlZ2NvbXAuYzoxNDMKbXNnaWQgIkludmFsaWQgY29sbGF0aW9uIGNoYXJhY3RlciIKbXNnc3RyICJDYXLhY3RlciBkZSBvcmRlbmFtaWVudG8gaW524WxpZG8iCgojOiBsaWIvcmVnY29tcC5jOjE0Ngptc2dpZCAiSW52YWxpZCBjaGFyYWN0ZXIgY2xhc3MgbmFtZSIKbXNnc3RyICJDYXLhY3RlciBkZSBub21icmUgZGUgY2xhc2UgaW524WxpZG8iCgojOiBsaWIvcmVnY29tcC5jOjE0OQptc2dpZCAiVHJhaWxpbmcgYmFja3NsYXNoIgptc2dzdHIgIkRpYWdvbmFsIGludmVydGlkYSBhbCBmaW5hbCIKCiM6IGxpYi9yZWdjb21wLmM6MTUyCm1zZ2lkICJJbnZhbGlkIGJhY2sgcmVmZXJlbmNlIgptc2dzdHIgIlJlZmVyZW5jaWEgaGFjaWEgYXRy4XMgaW524WxpZGEiCgojOiBsaWIvcmVnY29tcC5jOjE1NQptc2dpZCAiVW5tYXRjaGVkIFsgb3IgW14iCm1zZ3N0ciAiWyDzIFteIHNpbiBwYXJlamEiCgojOiBsaWIvcmVnY29tcC5jOjE1OAptc2dpZCAiVW5tYXRjaGVkICggb3IgXFwoIgptc2dzdHIgIigg8yBcXCggc2luIHBhcmVqYSIKCiM6IGxpYi9yZWdjb21wLmM6MTYxCm1zZ2lkICJVbm1hdGNoZWQgXFx7Igptc2dzdHIgIlxceyBzaW4gcGFyZWphIgoKIzogbGliL3JlZ2NvbXAuYzoxNjQKbXNnaWQgIkludmFsaWQgY29udGVudCBvZiBcXHtcXH0iCm1zZ3N0ciAiQ29udGVuaWRvIGluduFsaWRvIGRlIFxce1xcfSIKCiM6IGxpYi9yZWdjb21wLmM6MTY3Cm1zZ2lkICJJbnZhbGlkIHJhbmdlIGVuZCIKbXNnc3RyICJGaW5hbCBkZSByYW5nbyBpbnbhbGlkbyIKCiM6IGxpYi9yZWdjb21wLmM6MTcwCm1zZ2lkICJNZW1vcnkgZXhoYXVzdGVkIgptc2dzdHIgIk1lbW9yaWEgYWdvdGFkYSIKCiM6IGxpYi9yZWdjb21wLmM6MTczCm1zZ2lkICJJbnZhbGlkIHByZWNlZGluZyByZWd1bGFyIGV4cHJlc3Npb24iCm1zZ3N0ciAiRXhwcmVzafNuIHJlZ3VsYXIgcHJlY2VkZW50ZSBpbnbhbGlkYSIKCiM6IGxpYi9yZWdjb21wLmM6MTc2Cm1zZ2lkICJQcmVtYXR1cmUgZW5kIG9mIHJlZ3VsYXIgZXhwcmVzc2lvbiIKbXNnc3RyICJGaW5hbCBwcmVtYXR1cm8gZGUgbGEgZXhwcmVzafNuIHJlZ3VsYXIiCgojOiBsaWIvcmVnY29tcC5jOjE3OQptc2dpZCAiUmVndWxhciBleHByZXNzaW9uIHRvbyBiaWciCm1zZ3N0ciAiRXhwcmVzafNuIHJlZ3VsYXIgZGVtYXNpYWRvIGdyYW5kZSIKCiM6IGxpYi9yZWdjb21wLmM6MTgyCm1zZ2lkICJVbm1hdGNoZWQgKSBvciBcXCkiCm1zZ3N0ciAiKSDzIFxcKSBzaW4gcGFyZWphIgoKIzogbGliL3JlZ2NvbXAuYzo3MDMKbXNnaWQgIk5vIHByZXZpb3VzIHJlZ3VsYXIgZXhwcmVzc2lvbiIKbXNnc3RyICJObyBoYXkgdW5hIGV4cHJlc2nzbiByZWd1bGFyIHByZXZpYSIKCiMgRlVaWlk6IHB1c2hiYWNrIC0+IGVtcHVqZT8gY2Z1Z2EKI34gbXNnaWQgIkNhbGxlZCBzYXZjaGFyKCkgd2l0aCB1bmV4cGVjdGVkIHB1c2hiYWNrICgleCkiCiN+IG1zZ3N0ciAic2F2Y2hhcigpIGxsYW1hZG8gY29uIGVtcHVqZSBpbmVzcGVyYWRvICgleCkiCgojfiBtc2dpZCAiSU5URVJOQUwgRVJST1I6IGJhZCBhZGRyZXNzIHR5cGUiCiN+IG1zZ3N0ciAiRVJST1IgSU5URVJOTzogdGlwbyBkZSBkaXJlY2Np824gZXJy825lbyIKCiN+IG1zZ2lkICJJTlRFUk5BTCBFUlJPUjogQmFkIGNtZCAlYyIKI34gbXNnc3RyICJFUlJPUiBJTlRFUk5POiBjbWQgJWMgZXJy825lbyIKCiN+IG1zZ2lkICIiCiN+ICJVc2FnZTogJXMgW09QVElPTl0uLi4ge3NjcmlwdC1vbmx5LWlmLW5vLW90aGVyLXNjcmlwdH0gW2lucHV0LWZpbGVdLi4uXG4iCiN+ICJcbiIKI34gIiAgLW4sIC0tcXVpZXQsIC0tc2lsZW50XG4iCiN+ICIgICAgICAgICAgICAgICAgIHN1cHByZXNzIGF1dG9tYXRpYyBwcmludGluZyBvZiBwYXR0ZXJuIHNwYWNlXG4iCiN+ICIgIC1lIHNjcmlwdCwgLS1leHByZXNzaW9uPXNjcmlwdFxuIgojfiAiICAgICAgICAgICAgICAgICBhZGQgdGhlIHNjcmlwdCB0byB0aGUgY29tbWFuZHMgdG8gYmUgZXhlY3V0ZWRcbiIKI34gIiAgLWYgc2NyaXB0LWZpbGUsIC0tZmlsZT1zY3JpcHQtZmlsZVxuIgojfiAiICAgICAgICAgICAgICAgICBhZGQgdGhlIGNvbnRlbnRzIG9mIHNjcmlwdC1maWxlIHRvIHRoZSBjb21tYW5kcyB0byBiZSAiCiN+ICJleGVjdXRlZFxuIgojfiAiICAtaVtzdWZmaXhdLCAtLWluLXBsYWNlWz1zdWZmaXhdXG4iCiN+ICIgICAgICAgICAgICAgICAgIGVkaXQgZmlsZXMgaW4gcGxhY2UgKG1ha2VzIGJhY2t1cCBpZiBleHRlbnNpb24gIgojfiAic3VwcGxpZWQpXG4iCiN+ICIgIC1sIE4sIC0tbGluZS1sZW5ndGg9TlxuIgojfiAiICAgICAgICAgICAgICAgICBzcGVjaWZ5IHRoZSBkZXNpcmVkIGxpbmUtd3JhcCBsZW5ndGggZm9yIHRoZSBgbCcgIgojfiAiY29tbWFuZFxuIgojfiAiICAtciwgLS1yZWdleHAtZXh0ZW5kZWRcbiIKI34gIiAgICAgICAgICAgICAgICAgdXNlIGV4dGVuZGVkIHJlZ3VsYXIgZXhwcmVzc2lvbnMgaW4gdGhlIHNjcmlwdC5cbiIKI34gIiVzICAtcywgLS1zZXBhcmF0ZVxuIgojfiAiICAgICAgICAgICAgICAgICBjb25zaWRlciBmaWxlcyBhcyBzZXBhcmF0ZSByYXRoZXIgdGhhbiBhcyBhIHNpbmdsZSAiCiN+ICJjb250aW51b3VzXG4iCiN+ICIgICAgICAgICAgICAgICAgIGxvbmcgc3RyZWFtLlxuIgojfiAiICAtdSwgLS11bmJ1ZmZlcmVkXG4iCiN+ICIgICAgICAgICAgICAgICAgIGxvYWQgbWluaW1hbCBhbW91bnRzIG9mIGRhdGEgZnJvbSB0aGUgaW5wdXQgZmlsZXMgYW5kICIKI34gImZsdXNoXG4iCiN+ICIgICAgICAgICAgICAgICAgIHRoZSBvdXRwdXQgYnVmZmVycyBtb3JlIG9mdGVuXG4iCiN+ICIgICAgICAtLWhlbHAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIGFuZCBleGl0XG4iCiN+ICIgIC1WLCAtLXZlcnNpb24gIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCiN+ICJcbiIKI34gIklmIG5vIC1lLCAtLWV4cHJlc3Npb24sIC1mLCBvciAtLWZpbGUgb3B0aW9uIGlzIGdpdmVuLCB0aGVuIHRoZSBmaXJzdFxuIgojfiAibm9uLW9wdGlvbiBhcmd1bWVudCBpcyB0YWtlbiBhcyB0aGUgc2VkIHNjcmlwdCB0byBpbnRlcnByZXQuICBBbGxcbiIKI34gInJlbWFpbmluZyBhcmd1bWVudHMgYXJlIG5hbWVzIG9mIGlucHV0IGZpbGVzOyBpZiBubyBpbnB1dCBmaWxlcyBhcmVcbiIKI34gInNwZWNpZmllZCwgdGhlbiB0aGUgc3RhbmRhcmQgaW5wdXQgaXMgcmVhZC5cbiIKI34gIlxuIgojfiBtc2dzdHIgIiIKI34gIk1vZG8gZGUgZW1wbGVvOiAlcyBbT1BDSdNOXS4uLiB7Z3Vp824tc/Nsby1zaS1uby1oYXktb3Ryby1ndWnzbn0gW2ZpY2hlcm8tIgojfiAiZW50cmFkYV0uLi5cbiIKI34gIlxuIgojfiAiICAtbiwgLS1xdWlldCwgLS1zaWxlbnRcbiIKI34gIiAgICAgICAgICAgICAgICAgZWxpbWluYSBsYSBpbXByZXNp824gYXV0b23hdGljYSBkZWwgZXNwYWNpbyBkZSBwYXRyb25lc1xuIgojfiAiICAtZSBzY3JpcHQsIC0tZXhwcmVzc2lvbj1ndWnzblxuIgojfiAiICAgICAgICAgICAgICAgICBhZ3JlZ2EgZWwgZ3Vp824gYSBsYXMg83JkZW5lcyBhIHNlciBlamVjdXRhZGFzXG4iCiN+ICIgIC1mIHNjcmlwdC1maWxlLCAtLWZpbGU9ZmljaGVyby1ndWnzblxuIgojfiAiICAgICAgICAgICAgICAgICBhZ3JlZ2EgZWwgY29udGVuaWRvIGRlbCBmaWNoZXJvLWd1afNuIGEgbGFzIPNyZGVuZXMgYSAiCiN+ICJzZXJcbiIKI34gIiAgICAgICAgICAgICAgICAgIGVqZWN1dGFkYXNcbiIKI34gIiAgLWlbc3VmaWpvLCAtLWluLXBsYWNlWz1zdWZpam9dXG4iCiN+ICIgICAgICAgICAgICAgICAgIGVkaXRhIGxvcyBhcmNoaXZvcyBlbiBzdSBsdWdhciAoY3JlYSByZXNwYWxkb3Mgc2kgc2VcbiIKI34gIiAgICAgICAgICAgICAgICAgcHJvcG9yY2lvbmEgdW5hIGV4dGVuc2nzbilcbiIKI34gIiAgLWwgTiwgLS1saW5lLWxlbmd0aD1OXG4iCiN+ICIgICAgICAgICAgICAgICAgIGVzcGVjaWZpY2EgbGEgbG9uZ2l0dWQgZGVzZWFkYSBwYXJhIGVsIGNvcnRlIGRlIGxhIGztbmVhICIKI34gInBhcmFcbiIKI34gIiAgICAgICAgICAgICAgICAgbGEgb3JkZW4gYGwnXG4iCiN+ICIgIC1yLCAtLXJlZ2V4cC1leHRlbmRlZFxuIgojfiAiICAgICAgICAgICAgICAgICB1c2EgZXhwcmVzaW9uZXMgcmVndWxhcmVzIGV4dGVuZGlkYXMgZW4gZWwgZ3Vp824uXG4iCiN+ICIlcyAgLXMsIC0tc2VwYXJhdGVcbiIKI34gIiAgICAgICAgICAgICAgICAgY29uc2lkZXJhIGxvcyBmaWNoZXJvcyBwb3Igc2VwYXJhZG8gZW4gbHVnYXIgZGUgdW4gc29sbyAiCiN+ICJmbHVqb1xuIgojfiAiICAgICAgICAgICAgICAgICBsYXJnbyB5IGNvbnRpbnVvLlxuIgojfiAiICAtdSwgLS11bmJ1ZmZlcmVkXG4iCiN+ICIgICAgICAgICAgICAgICAgIGNhcmdhIGNhbnRpZGFkZXMgbe1uaW1hcyBkZSBkYXRvcyBkZSBsb3MgZmljaGVyb3MgZGUgIgojfiAiZW50cmFkYVxuIgojfiAiICAgICAgICAgICAgICAgICB5IHZhY+1hIGNvbiBt4XMgZnJlY3VlbmNpYSBsb3MgYWxtYWNlbmFtaWVudG9zICIKI34gInRlbXBvcmFsZXMgZGVcbiIKI34gIiAgICAgICAgICAgICAgICAgc2FsaWRhXG4iCiN+ICIgICAgICAtLWhlbHAgICAgIG11ZXN0cmEgZXN0YSBheXVkYSB5IHNhbGVcbiIKI34gIiAgLVYsIC0tdmVyc2lvbiAgbXVlc3RyYSBsYSBpbmZvcm1hY2nzbiBkZSBsYSB2ZXJzafNuIHkgc2FsZVxuIgojfiAiXG4iCiN+ICJTaSBubyBzZSBkYW4gbGFzIG9wY2lvbmVzIC1lLCAtLWV4cHJlc3Npb24sIC1mIG8gLS1maWxlLCBlbnRvbmNlcyBzZSAiCiN+ICJ0b21hXG4iCiN+ICJlbCBwcmltZXIgYXJndW1lbnRvIHF1ZSBubyBzZWEgb3BjafNuIGNvbW8gZWwgZ3Vp824gc2VkIGEgaW50ZXJwcmV0YXIuICAiCiN+ICJUb2Rvc1xuIgojfiAibG9zIGFyZ3VtZW50b3MgcmVzdGFudGVzIHNvbiBub21icmVzIGRlIGZpY2hlcm9zIGRlIGVudHJhZGE7IHNpIG5vIHNlXG4iCiN+ICJlc3BlY2lmaWNhbiBub21icmVzIGRlIGZpY2hlcm8gZGUgZW50cmFkYSwgZW50b25jZXMgc2UgbGVlIGxhIGVudHJhZGEgIgojfiAiZXN04W5kYXJkLlxuIgojfiAiXG4iCgojfiBtc2dpZCAiVW5leHBlY3RlZCBFbmQtb2YtZmlsZSIKI34gbXNnc3RyICJGaW4gZGUgZmljaGVybyBpbmVzcGVyYWRvIgoKI34gbXNnaWQgImJhZCByZWdleHA6ICVzXG4iCiN+IG1zZ3N0ciAiZXhwcmVzafNuIHJlZ3VsYXIgZXJy825lYTogJXNcbiIKCiN+IG1zZ2lkICJpbnB1dCByZWFkIGVycm9yOiAlcyIKI34gbXNnc3RyICJlcnJvciBhbCBsZWVyIGxhIGVudHJhZGE6ICVzIgoKI34gbXNnaWQgImNvdWxkbid0IHdyaXRlIGFuIGl0ZW0gdG8gJXM6ICVzIgojfiBtc2dzdHIgIm5vIHNlIHB1ZWRlIGVzY3JpYmlyIHVuIGVsZW1lbnRvIGVsZW1lbnRvIGEgJXM6ICVzIgo=