IyBNZXNhamVsZSDubiBsaW1iYSByb23ibuMgcGVudHJ1IHNlZC4KIyBDb3B5cmlnaHQgKEMpIDIwMDQgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCiMgQWNlc3QgZmm6aWVyIGVzdGUgZGlzdHJpYnVpdCBzdWIgYWNlZWG6aSBsaWNlbv7jIGNhILppIHBhY2hldHVsIHNlZC4KIyBMYXVyZW50aXUgQnV6ZHVnYW4gPGxidXpAcm9saXgub3JnPiwgMjAwMywyMDA0LDIwMDUuCiMKIwptc2dpZCAiIgptc2dzdHIgIiIKIlByb2plY3QtSWQtVmVyc2lvbjogc2VkIDQuMS40XG4iCiJSZXBvcnQtTXNnaWQtQnVncy1UbzogYnVnLWdudS11dGlsc0BnbnUub3JnXG4iCiJQT1QtQ3JlYXRpb24tRGF0ZTogMjAxMi0xMi0yMiAxNDozNiswMTAwXG4iCiJQTy1SZXZpc2lvbi1EYXRlOiAyMDA1LTA0LTE5IDEyOjAwLTA1MDBcbiIKIkxhc3QtVHJhbnNsYXRvcjogTGF1cmVudGl1IEJ1emR1Z2FuIDxsYnV6QHJvbGl4Lm9yZz5cbiIKIkxhbmd1YWdlLVRlYW06IFJvbWFuaWFuIDx0cmFuc2xhdGlvbi10ZWFtLXJvQGxpc3RzLnNvdXJjZWZvcmdlLm5ldD5cbiIKIkxhbmd1YWdlOiByb1xuIgoiTUlNRS1WZXJzaW9uOiAxLjBcbiIKIkNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1JU08tODg1OS0yXG4iCiJDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0XG4iCiJQbHVyYWwtRm9ybXM6IG5wbHVyYWxzPTI7IHBsdXJhbD0obiAhPSAxKTtcbiIKCiM6IHNlZC9jb21waWxlLmM6MTQ0Cm1zZ2lkICJtdWx0aXBsZSBgISdzIgptc2dzdHIgImAhJy11cmkgbXVsdGlwbGUiCgojOiBzZWQvY29tcGlsZS5jOjE0NQptc2dpZCAidW5leHBlY3RlZCBgLCciCm1zZ3N0ciAiYCwnIG5lYbp0ZXB0YXQiCgojOiBzZWQvY29tcGlsZS5jOjE0Ngptc2dpZCAiaW52YWxpZCB1c2FnZSBvZiArTiBvciB+TiBhcyBmaXJzdCBhZGRyZXNzIgptc2dzdHIgIk51IHNlIHBvYXRlIGZvbG9zaSArTiBzYXUgfk4gY2EgcHJpbWEgYWRyZXPjIgoKIzogc2VkL2NvbXBpbGUuYzoxNDcKbXNnaWQgInVubWF0Y2hlZCBgeyciCm1zZ3N0ciAiYHsnIGbjcuMgcGVyZWNoZSIKCiM6IHNlZC9jb21waWxlLmM6MTQ4Cm1zZ2lkICJ1bmV4cGVjdGVkIGB9JyIKbXNnc3RyICJgfScgbmVhunRlcHRhdCIKCiM6IHNlZC9jb21waWxlLmM6MTQ5Cm1zZ2lkICJleHRyYSBjaGFyYWN0ZXJzIGFmdGVyIGNvbW1hbmQiCm1zZ3N0ciAiZXh0cmEgY2FyYWN0ZXJlIGR1cOMgY29tYW5k4yIKCiM6IHNlZC9jb21waWxlLmM6MTUwCm1zZ2lkICJleHBlY3RlZCBcXCBhZnRlciBgYScsIGBjJyBvciBgaSciCm1zZ3N0ciAiZXN0ZSBhunRlcHRhdCBcXCBkdXDjIGBhJywgYGMnIHNhdSBgaSciCgojOiBzZWQvY29tcGlsZS5jOjE1MQptc2dpZCAiYH0nIGRvZXNuJ3Qgd2FudCBhbnkgYWRkcmVzc2VzIgptc2dzdHIgImB9JyBudSB2cmVhIG5pY2kgbyBhZHJlc+MiCgojOiBzZWQvY29tcGlsZS5jOjE1Mgptc2dpZCAiOiBkb2Vzbid0IHdhbnQgYW55IGFkZHJlc3NlcyIKbXNnc3RyICI6IG51IHZyZWEgbmljaSBvIGFkcmVz4yIKCiM6IHNlZC9jb21waWxlLmM6MTUzCm1zZ2lkICJjb21tZW50cyBkb24ndCBhY2NlcHQgYW55IGFkZHJlc3NlcyIKbXNnc3RyICJjb21lbnRhcmlpbGUgbnUgYWNjZXB04yBuaWNpIG8gYWRyZXPjIgoKIzogc2VkL2NvbXBpbGUuYzoxNTQKbXNnaWQgIm1pc3NpbmcgY29tbWFuZCIKbXNnc3RyICJjb21hbmTjIGFic2VudOMiCgojOiBzZWQvY29tcGlsZS5jOjE1NQptc2dpZCAiY29tbWFuZCBvbmx5IHVzZXMgb25lIGFkZHJlc3MiCm1zZ3N0ciAiY29tYW5kYSBmb2xvc2W6dGUgbnVtYWkgbyBhZHJlc+MiCgojOiBzZWQvY29tcGlsZS5jOjE1Ngptc2dpZCAidW50ZXJtaW5hdGVkIGFkZHJlc3MgcmVnZXgiCm1zZ3N0ciAicmVnZXggYWRyZXPjIG5ldGVybWluYXTjIgoKIzogc2VkL2NvbXBpbGUuYzoxNTcKbXNnaWQgInVudGVybWluYXRlZCBgcycgY29tbWFuZCIKbXNnc3RyICJjb21hbmTjIGBzJyBuZXRlcm1pbmF04yIKCiM6IHNlZC9jb21waWxlLmM6MTU4Cm1zZ2lkICJ1bnRlcm1pbmF0ZWQgYHknIGNvbW1hbmQiCm1zZ3N0ciAiY29tYW5k4yBgeScgbmV0ZXJtaW5hdOMiCgojOiBzZWQvY29tcGlsZS5jOjE1OQptc2dpZCAidW5rbm93biBvcHRpb24gdG8gYHMnIgptc2dzdHIgIm9w/ml1bmUgbmVjdW5vc2N1dOMgcGVudHJ1IGBzJyIKCiM6IHNlZC9jb21waWxlLmM6MTYwCm1zZ2lkICJtdWx0aXBsZSBgcCcgb3B0aW9ucyB0byBgcycgY29tbWFuZCIKbXNnc3RyICJtdWx0aXBsZSBvcP5pdW5pIGBwJyBwZW50cnUgY29tYW5kYSBgcyciCgojOiBzZWQvY29tcGlsZS5jOjE2MQptc2dpZCAibXVsdGlwbGUgYGcnIG9wdGlvbnMgdG8gYHMnIGNvbW1hbmQiCm1zZ3N0ciAibXVsdGlwbGUgb3D+aXVuaSBgZycgcGVudHJ1IGNvbWFuZGEgYHMnIgoKIzogc2VkL2NvbXBpbGUuYzoxNjIKbXNnaWQgIm11bHRpcGxlIG51bWJlciBvcHRpb25zIHRvIGBzJyBjb21tYW5kIgptc2dzdHIgIm51beNyIG11bHRpcGx1IGRlIG9w/ml1bmkgcGVudHJ1IGNvbWFuZGEgYHMnIgoKIzogc2VkL2NvbXBpbGUuYzoxNjMKbXNnaWQgIm51bWJlciBvcHRpb24gdG8gYHMnIGNvbW1hbmQgbWF5IG5vdCBiZSB6ZXJvIgptc2dzdHIgIm51beNydWwgZGUgb3D+aXVuaSBwZW50cnUgY29tYW5kYSBgcycgbnUgcG9hdGUgZmkgemVybyIKCiM6IHNlZC9jb21waWxlLmM6MTY0Cm1zZ2lkICJzdHJpbmdzIGZvciBgeScgY29tbWFuZCBhcmUgZGlmZmVyZW50IGxlbmd0aHMiCm1zZ3N0ciAiumlydXJpbGUgcGVudHJ1IGNvbWFuZGEgeSBhdSBsdW5naW1pIGRpZmVyaXRlIgoKIzogc2VkL2NvbXBpbGUuYzoxNjUKbXNnaWQgImRlbGltaXRlciBjaGFyYWN0ZXIgaXMgbm90IGEgc2luZ2xlLWJ5dGUgY2hhcmFjdGVyIgptc2dzdHIgImNhYWN0ZXJ1bCBkZWxpbWl0YXRvciBudSBlc3RlIHVuIGNhcmFjdGVyIGRlIHVuIG9jdGV0IgoKIzogc2VkL2NvbXBpbGUuYzoxNjYKbXNnaWQgImV4cGVjdGVkIG5ld2VyIHZlcnNpb24gb2Ygc2VkIgptc2dzdHIgImFtIGG6dGVwdGF0IG8gdmVyc2l1bmUgbWFpIHJlY2VudOMgZGUgc2VkIgoKIzogc2VkL2NvbXBpbGUuYzoxNjcKbXNnaWQgImludmFsaWQgdXNhZ2Ugb2YgbGluZSBhZGRyZXNzIDAiCm1zZ3N0ciAiZm9sb3NpcmUgaW52YWxpZOMgYWRyZXPjIGxpbmllIDAiCgojOiBzZWQvY29tcGlsZS5jOjE2OAojLCBjLWZvcm1hdAptc2dpZCAidW5rbm93biBjb21tYW5kOiBgJWMnIgptc2dzdHIgImNvbWFuZOMgbmVjdW5vc2N1dOM6IGAlYyciCgojOiBzZWQvY29tcGlsZS5jOjE2OQojLCBmdXp6eQptc2dpZCAiaW5jb21wbGV0ZSBjb21tYW5kIgptc2dzdHIgImNvbWFuZOMgYWJzZW504yIKCiM6IHNlZC9jb21waWxlLmM6MTkyCiMsIGMtZm9ybWF0Cm1zZ2lkICIlczogZmlsZSAlcyBsaW5lICVsdTogJXNcbiIKbXNnc3RyICIlczogZmm6aWVydWwgJXMgbGluaWEgJWx1OiAlc1xuIgoKIzogc2VkL2NvbXBpbGUuYzoxOTUKIywgYy1mb3JtYXQKbXNnaWQgIiVzOiAtZSBleHByZXNzaW9uICMlbHUsIGNoYXIgJWx1OiAlc1xuIgptc2dzdHIgIiVzOiAtZSBleHByZXNpYSAjJWx1LCBjYXJhY3RlcnVsICVsdTogJXNcbiIKCiM6IHNlZC9jb21waWxlLmM6MTY1NwojLCBjLWZvcm1hdAptc2dpZCAiY2FuJ3QgZmluZCBsYWJlbCBmb3IganVtcCB0byBgJXMnIgptc2dzdHIgIm51IHBvdCBn43NpIGV0aWNoZXRhIHBlbnRydSBzYWx0dWwgbGEgYCVzJyIKCiM6IHNlZC9leGVjdXRlLmM6NTk1CiMsIGMtZm9ybWF0Cm1zZ2lkICIlczogY2FuJ3QgcmVhZCAlczogJXNcbiIKbXNnc3RyICIlczogbnUgcG90IGNpdGkgJXM6ICVzXG4iCgojOiBzZWQvZXhlY3V0ZS5jOjYyNAojLCBjLWZvcm1hdAptc2dpZCAiY291bGRuJ3QgZWRpdCAlczogaXMgYSB0ZXJtaW5hbCIKbXNnc3RyICJudSBhbSBwdXR1dCBlZGl0YSAlczogYWNlc3RhIGVzdGUgdW4gdGVybWluYWwiCgojOiBzZWQvZXhlY3V0ZS5jOjYyOQojLCBjLWZvcm1hdAptc2dpZCAiY291bGRuJ3QgZWRpdCAlczogbm90IGEgcmVndWxhciBmaWxlIgptc2dzdHIgIm51IGFwIHB1dHUgZWRpdGEgJXM6IGFjZXN0YSBudSBlc3RlIHVuIGZpumllciBub3JtYWwiCgojOiBzZWQvZXhlY3V0ZS5jOjY0MAojLCBjLWZvcm1hdAptc2dpZCAiJXM6IHdhcm5pbmc6IGZhaWxlZCB0byBzZXQgZGVmYXVsdCBmaWxlIGNyZWF0aW9uIGNvbnRleHQgdG8gJXM6ICVzIgptc2dzdHIgIiIKCiM6IHNlZC9leGVjdXRlLmM6NjQ3CiMsIGMtZm9ybWF0Cm1zZ2lkICIlczogd2FybmluZzogZmFpbGVkIHRvIGdldCBzZWN1cml0eSBjb250ZXh0IG9mICVzOiAlcyIKbXNnc3RyICIiCgojOiBzZWQvZXhlY3V0ZS5jOjY2NCBzZWQvdXRpbHMuYzoyMTEKIywgYy1mb3JtYXQKbXNnaWQgImNvdWxkbid0IG9wZW4gdGVtcG9yYXJ5IGZpbGUgJXM6ICVzIgptc2dzdHIgIm51IGFtIHB1dHV0IGRlc2NoaWRlIGZpumllcnVsIHRlbXBvcmFyICVzOiAlcyIKCiM6IHNlZC9leGVjdXRlLmM6MTE5MyBzZWQvZXhlY3V0ZS5jOjEzNzMKbXNnaWQgImVycm9yIGluIHN1YnByb2Nlc3MiCm1zZ3N0ciAiZXJvYXJlIO5uIHN1YnByb2NlcyIKCiM6IHNlZC9leGVjdXRlLmM6MTE5NQptc2dpZCAib3B0aW9uIGBlJyBub3Qgc3VwcG9ydGVkIgptc2dzdHIgIm9w/ml1bmVhIGBlJyBudSBlIHN1cG9ydGF04yIKCiM6IHNlZC9leGVjdXRlLmM6MTM3NQptc2dpZCAiYGUnIGNvbW1hbmQgbm90IHN1cHBvcnRlZCIKbXNnc3RyICJjb21hbmRhIGBlJyBudSBlIHN1cG9ydGF04yIKCiM6IHNlZC9leGVjdXRlLmM6MTcyNQptc2dpZCAibm8gaW5wdXQgZmlsZXMiCm1zZ3N0ciAiIgoKIzogc2VkL3JlZ2V4cC5jOjM5Cm1zZ2lkICJubyBwcmV2aW91cyByZWd1bGFyIGV4cHJlc3Npb24iCm1zZ3N0ciAibmljaSBvIGV4cHJlc2llIHJlZ3VsYXLjIGFudGVyaW9hcuMiCgojOiBzZWQvcmVnZXhwLmM6NDAKbXNnaWQgImNhbm5vdCBzcGVjaWZ5IG1vZGlmaWVycyBvbiBlbXB0eSByZWdleHAiCm1zZ3N0ciAibnUgc2UgcG90IHNwZWNpZmljYSBtb2RpZmljYXRvcmkgcGVudHJ1IHJlZ2V4cCB2aWTjIgoKIzogc2VkL3JlZ2V4cC5jOjEyOQojLCBjLWZvcm1hdAptc2dpZCAiaW52YWxpZCByZWZlcmVuY2UgXFwlZCBvbiBgcycgY29tbWFuZCdzIFJIUyIKbXNnc3RyICJyZWZlcmlu/uMgaW52YWxpZOMgXFwlZCBwZW50cnUgZXhwcmVzaWEgZGluIGRyZWFwdGEgYSBjb21lbnppaSBgcyciCgojOiBzZWQvc2VkLmM6MzIKbXNnaWQgIkpheSBGZW5sYXNvbiIKbXNnc3RyICIiCgojOiBzZWQvc2VkLmM6MzMKbXNnaWQgIlRvbSBMb3JkIgptc2dzdHIgIiIKCiM6IHNlZC9zZWQuYzozNAptc2dpZCAiS2VuIFBpenppbmkiCm1zZ3N0ciAiIgoKIzogc2VkL3NlZC5jOjM1Cm1zZ2lkICJQYW9sbyBCb256aW5pIgptc2dzdHIgIiIKCiM6IHNlZC9zZWQuYzo3OQojLCBjLWZvcm1hdAptc2dpZCAiIgoiR05VIHNlZCBob21lIHBhZ2U6IDxodHRwOi8vd3d3LmdudS5vcmcvc29mdHdhcmUvc2VkLz4uXG4iCiJHZW5lcmFsIGhlbHAgdXNpbmcgR05VIHNvZnR3YXJlOiA8aHR0cDovL3d3dy5nbnUub3JnL2dldGhlbHAvPi5cbiIKbXNnc3RyICIiCgojOiBzZWQvc2VkLmM6ODYKIywgZnV6enksIGMtZm9ybWF0Cm1zZ2lkICIiCiJFLW1haWwgYnVnIHJlcG9ydHMgdG86IDwlcz4uXG4iCiJCZSBzdXJlIHRvIGluY2x1ZGUgdGhlIHdvcmQgYGAlcycnIHNvbWV3aGVyZSBpbiB0aGUgYGBTdWJqZWN0OicnIGZpZWxkLlxuIgptc2dzdHIgIiIKIlJhcG9ydGH+aSBidWctdXJpIHByaW4gZS1tYWlsIGxhOiAlcyAuXG4iCiJGaf5pIHNpZ3VyaSBj4yBpbmNsdWRl/mkgYGAlcycnIHVuZGV2YSDubiBj4m1wdWwgYGBTdWJqZWN0OicnLlxuIgoKIzogc2VkL3NlZC5jOjk5Cm1zZ2lkICIiCiIgIC1SLCAtLXJlZ2V4cC1wZXJsXG4iCiIgICAgICAgICAgICAgICAgIHVzZSBQZXJsIDUncyByZWd1bGFyIGV4cHJlc3Npb25zIHN5bnRheCBpbiB0aGUgc2NyaXB0LlxuIgptc2dzdHIgIiIKIiAgLVIsIC0tcmVnZXhwLXBlcmxcbiIKIiAgICAgICAgICAgICAgICBmb2xvc2W6dGUgc2ludGF4YSBleHByZXNpaWxvciByZWd1bGFyZSBkaW4gUGVybCA1IO5uICIKInNjcmlwdC5cbiIKCiM6IHNlZC9zZWQuYzoxMDQKIywgYy1mb3JtYXQKbXNnaWQgIiIKIlVzYWdlOiAlcyBbT1BUSU9OXS4uLiB7c2NyaXB0LW9ubHktaWYtbm8tb3RoZXItc2NyaXB0fSBbaW5wdXQtZmlsZV0uLi5cbiIKIlxuIgptc2dzdHIgIiIKIkZvbG9zaXJlOiAlcyBbT1DeSVVORV0uLi4ge3NjcmlwdC1kYWPjLW51LWFsdC1zY3JpcHR9IFtmabppZXItaW50cmFyZV0uLi5cbiIKIlxuIgoKIzogc2VkL3NlZC5jOjEwOAojLCBjLWZvcm1hdAptc2dpZCAiIgoiICAtbiwgLS1xdWlldCwgLS1zaWxlbnRcbiIKIiAgICAgICAgICAgICAgICAgc3VwcHJlc3MgYXV0b21hdGljIHByaW50aW5nIG9mIHBhdHRlcm4gc3BhY2VcbiIKbXNnc3RyICIiCiIgIC1uLCAtLXF1aWV0LCAtLXNpbGVudFxuIgoiICAgICAgICAgICAgICAgICBlbGltaW7jIGFmabphcmVhIGF1dG9tYXTjIGEgc3Bh/ml1bHVpIGRlIHBhdHRlcm5cbiIKCiM6IHNlZC9zZWQuYzoxMTAKIywgYy1mb3JtYXQKbXNnaWQgIiIKIiAgLWUgc2NyaXB0LCAtLWV4cHJlc3Npb249c2NyaXB0XG4iCiIgICAgICAgICAgICAgICAgIGFkZCB0aGUgc2NyaXB0IHRvIHRoZSBjb21tYW5kcyB0byBiZSBleGVjdXRlZFxuIgptc2dzdHIgIiIKIiAgLWUgc2NyaXB0LCAtLWV4cHJlc3Npb249c2NyaXB0XG4iCiIgICAgICAgICAgICAgICAgIGFkYXVn4yBzY3JpcHR1bCBsYSBjb21lbnppbGUgY2UgdHJlYnVpZSBleGVjdXRhdGVcbiIKCiM6IHNlZC9zZWQuYzoxMTIKIywgYy1mb3JtYXQKbXNnaWQgIiIKIiAgLWYgc2NyaXB0LWZpbGUsIC0tZmlsZT1zY3JpcHQtZmlsZVxuIgoiICAgICAgICAgICAgICAgICBhZGQgdGhlIGNvbnRlbnRzIG9mIHNjcmlwdC1maWxlIHRvIHRoZSBjb21tYW5kcyB0byBiZSAiCiJleGVjdXRlZFxuIgptc2dzdHIgIiIKIiAgLWYgc2NyaXB0LWZpbGUsIC0tZmlsZT1zY3JpcHQtZmlsZVxuIgoiICAgICAgICAgICAgICAgICBhZGF1Z+MgY29u/mludXR1bCBzY3JpcHR1bHVpLWZpumllciBsYSBjb21lbnppbGUgY2VcbiIKIiAgICAgICAgICAgICAgICAgdHJlYnVpZSBleGVjdXRhdGVcbiIKCiM6IHNlZC9zZWQuYzoxMTUKIywgYy1mb3JtYXQKbXNnaWQgIiIKIiAgLS1mb2xsb3ctc3ltbGlua3NcbiIKIiAgICAgICAgICAgICAgICAgZm9sbG93IHN5bWxpbmtzIHdoZW4gcHJvY2Vzc2luZyBpbiBwbGFjZVxuIgptc2dzdHIgIiIKCiM6IHNlZC9zZWQuYzoxMTgKIywgZnV6enksIGMtZm9ybWF0Cm1zZ2lkICIiCiIgIC1pW1NVRkZJWF0sIC0taW4tcGxhY2VbPVNVRkZJWF1cbiIKIiAgICAgICAgICAgICAgICAgZWRpdCBmaWxlcyBpbiBwbGFjZSAobWFrZXMgYmFja3VwIGlmIFNVRkZJWCBzdXBwbGllZClcbiIKbXNnc3RyICIiCiIgIC1pW1NVRklYXSwgLS1pbi1wbGFjZVs9U1VGSVhdXG4iCiIgICAgICAgICAgICAgICAgIGVkaXRlYXrjIGZpumllcmVsZSBwZSBsb2MgKGNyZWF64yBjb3BpaSBkZSBzaWd1cmFu/uNcbiIKIiAgICAgICAgICAgICAgICAgZGFj4yBlc3RlIGZ1cm5pemF04yBleHRlbnNpYSlcbiIKCiM6IHNlZC9zZWQuYzoxMjEKIywgYy1mb3JtYXQKbXNnaWQgIiIKIiAgLWIsIC0tYmluYXJ5XG4iCiIgICAgICAgICAgICAgICAgIG9wZW4gZmlsZXMgaW4gYmluYXJ5IG1vZGUgKENSK0xGcyBhcmUgbm90IHByb2Nlc3NlZCAiCiJzcGVjaWFsbHkpXG4iCm1zZ3N0ciAiIgoKIzogc2VkL3NlZC5jOjEyNAojLCBjLWZvcm1hdAptc2dpZCAiIgoiICAtbCBOLCAtLWxpbmUtbGVuZ3RoPU5cbiIKIiAgICAgICAgICAgICAgICAgc3BlY2lmeSB0aGUgZGVzaXJlZCBsaW5lLXdyYXAgbGVuZ3RoIGZvciB0aGUgYGwnIGNvbW1hbmRcbiIKbXNnc3RyICIiCiIgIC1sIE4sIC0tbGluZS1sZW5ndGg9TlxuIgoiICAgICAgICAgICAgICAgICBzcGVjaWZpY+MgbHVuZ2ltZWEgZG9yaXTjIHBlbnRydSB0cmVjdXQgbGEgbGluaWEgdXJt43RvYXJlXG4iCiIgICAgICAgICAgICAgICAgIHBlbnRydSBjb21hbmRhIGBsJ1xuIgoKIzogc2VkL3NlZC5jOjEyNgojLCBjLWZvcm1hdAptc2dpZCAiIgoiICAtLXBvc2l4XG4iCiIgICAgICAgICAgICAgICAgIGRpc2FibGUgYWxsIEdOVSBleHRlbnNpb25zLlxuIgptc2dzdHIgIiIKIiAgLS1wb3NpeFxuIgoiICAgICAgICAgICAgICAgICBkZWFjdGl2ZWF64yB0b2F0ZSBleHRlbnNpaWxlIEdOVS5cbiIKCiM6IHNlZC9zZWQuYzoxMjgKIywgYy1mb3JtYXQKbXNnaWQgIiIKIiAgLXIsIC0tcmVnZXhwLWV4dGVuZGVkXG4iCiIgICAgICAgICAgICAgICAgIHVzZSBleHRlbmRlZCByZWd1bGFyIGV4cHJlc3Npb25zIGluIHRoZSBzY3JpcHQuXG4iCm1zZ3N0ciAiIgoiICAtciwgLS1yZWdleHAtZXh0ZW5kZWRcbiIKIiAgICAgICAgICAgICAgICAgZm9sb3NlunRlIHNpbnRheGEgZXh0aW5z4yBhIGV4cHJlc2lpbG9yIHJlZ3VsYXJlIO5uICIKInNjcmlwdC5cbiIKCiM6IHNlZC9zZWQuYzoxMzMKIywgYy1mb3JtYXQKbXNnaWQgIiIKIiAgLXMsIC0tc2VwYXJhdGVcbiIKIiAgICAgICAgICAgICAgICAgY29uc2lkZXIgZmlsZXMgYXMgc2VwYXJhdGUgcmF0aGVyIHRoYW4gYXMgYSBzaW5nbGUgIgoiY29udGludW91c1xuIgoiICAgICAgICAgICAgICAgICBsb25nIHN0cmVhbS5cbiIKbXNnc3RyICIiCiIgIC1zLCAtLXNlcGFyYXRlXG4iCiIgICAgICAgICAgICAgICAgIGNvbnNpZGVy4yBmabppZXJlbGUgY2EgZmlpbmQgc2VwYXJhdGUsIO5uIGxvYyBkZSBhIGxlXG4iCiIgICAgICAgICAgICAgICAgIGNvbnNpZGVyYSB1biBmbHV4IGx1bmcgY29udGludXUuXG4iCgojOiBzZWQvc2VkLmM6MTM2CiMsIGMtZm9ybWF0Cm1zZ2lkICIiCiIgIC11LCAtLXVuYnVmZmVyZWRcbiIKIiAgICAgICAgICAgICAgICAgbG9hZCBtaW5pbWFsIGFtb3VudHMgb2YgZGF0YSBmcm9tIHRoZSBpbnB1dCBmaWxlcyBhbmQgIgoiZmx1c2hcbiIKIiAgICAgICAgICAgICAgICAgdGhlIG91dHB1dCBidWZmZXJzIG1vcmUgb2Z0ZW5cbiIKbXNnc3RyICIiCiIgIC11LCAtLXVuYnVmZmVyZWRcbiIKIiAgICAgICAgICAgICAgICAg7m5jYXJj4yBvIGNhbnRpdGF0ZSBtaW5pbeMgZGUgZGF0ZSBkaW4gZmm6aWVyZWxlIGRlICIKImludHJhcmVcbiIKIiAgICAgICAgICAgICAgICAgumkgZ29sZbp0ZSBidWZmZXJlbGUgbWFpIGRlc1xuIgoKIzogc2VkL3NlZC5jOjEzOQojLCBjLWZvcm1hdAptc2dpZCAiIgoiICAteiwgLS1udWxsLWRhdGFcbiIKIiAgICAgICAgICAgICAgICAgc2VwYXJhdGUgbGluZXMgYnkgTlVMIGNoYXJhY3RlcnNcbiIKbXNnc3RyICIiCgojOiBzZWQvc2VkLmM6MTQxCiMsIGMtZm9ybWF0Cm1zZ2lkICIgICAgICAtLWhlbHAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIGFuZCBleGl0XG4iCm1zZ3N0ciAiICAgICAgLS1oZWxwICAgICBhZmm6ZWF64yBhY2VzdGUgbWVzYWplILppIHRlcm1pbuNcbiIKCiM6IHNlZC9zZWQuYzoxNDIKIywgYy1mb3JtYXQKbXNnaWQgIiAgICAgIC0tdmVyc2lvbiAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKbXNnc3RyICIgICAgICAtLXZlcnNpb24gIGFmabplYXrjIGluZm9ybWH+aWkgZGVzcHJlIHZlcnNpdW5lILppIHRlcm1pbuNcbiIKCiM6IHNlZC9zZWQuYzoxNDMKIywgYy1mb3JtYXQKbXNnaWQgIiIKIlxuIgoiSWYgbm8gLWUsIC0tZXhwcmVzc2lvbiwgLWYsIG9yIC0tZmlsZSBvcHRpb24gaXMgZ2l2ZW4sIHRoZW4gdGhlIGZpcnN0XG4iCiJub24tb3B0aW9uIGFyZ3VtZW50IGlzIHRha2VuIGFzIHRoZSBzZWQgc2NyaXB0IHRvIGludGVycHJldC4gIEFsbFxuIgoicmVtYWluaW5nIGFyZ3VtZW50cyBhcmUgbmFtZXMgb2YgaW5wdXQgZmlsZXM7IGlmIG5vIGlucHV0IGZpbGVzIGFyZVxuIgoic3BlY2lmaWVkLCB0aGVuIHRoZSBzdGFuZGFyZCBpbnB1dCBpcyByZWFkLlxuIgoiXG4iCm1zZ3N0ciAiIgoiXG4iCiJEYWPjIG51IGVzdGUgZGF04yBuaWNpIHVuYSBkaW4gb3D+aXVuaWxlIC1lLCAtLWV4cHJlc3Npb24sIC1mLCBzYXUgLS1maWxlLFxuIgoiYXR1bmNpIHByaW11bCBhcmd1bWVudCBub24tb3D+aXVuZSBlc3RlIGx1YXQgY2Egc2NyaXB0dWwgc2VkIGRlICIKImludGVycHJldGF0LlxuIgoiVG9hdGUgYXJndW1lbnRlbGUgcuNtYXNlIHN1bnQgY29uc2lkZXJhdGUgbnVtZSBkZSBmabppZXJlIGRlIGludHJhcmU7ICBkYWPjXG4iCiJudSBlc3RlIHNwZWNpZmljYXQgbmljaSB1biBmabppZXIgZGUgaW50cmFyZSwgZXN0ZSBjaXRpdOMgaW50cmFyZWEgIgoic3RhbmRhcmQuXG4iCiJcbiIKCiM6IHNlZC91dGlscy5jOjc0IHNlZC91dGlscy5jOjQzMgojLCBjLWZvcm1hdAptc2dpZCAiY2Fubm90IHJlbW92ZSAlczogJXMiCm1zZ3N0ciAibnUgcG90ILp0ZXJnZSAlczogJXMiCgojOiBzZWQvdXRpbHMuYzoxNDQKIywgYy1mb3JtYXQKbXNnaWQgImNvdWxkbid0IG9wZW4gZmlsZSAlczogJXMiCm1zZ3N0ciAibnUgYW0gcHV0dXQgZGVzY2hpZGUgZmm6aWVydWwgJXM6ICVzIgoKIzogc2VkL3V0aWxzLmM6MTY3CiMsIGZ1enp5LCBjLWZvcm1hdAptc2dpZCAiY291bGRuJ3QgYXR0YWNoIHRvICVzOiAlcyIKbXNnc3RyICJOdSBhbSBwdXR1dCBzY3JpZSAlZCBhcnRpY29sIO5uICVzOiAlcyIKCiM6IHNlZC91dGlscy5jOjIyOQojLCBjLWZvcm1hdAptc2dpZCAiY291bGRuJ3Qgd3JpdGUgJWQgaXRlbSB0byAlczogJXMiCm1zZ2lkX3BsdXJhbCAiY291bGRuJ3Qgd3JpdGUgJWQgaXRlbXMgdG8gJXM6ICVzIgptc2dzdHJbMF0gIk51IGFtIHB1dHV0IHNjcmllICVkIGFydGljb2wg7m4gJXM6ICVzIgptc2dzdHJbMV0gIk51IGFtIHB1dHV0IHNjcmllICVkIGFydGljb2xlIO5uICVzOiAlcyIKCiM6IHNlZC91dGlscy5jOjI0NCBzZWQvdXRpbHMuYzoyNjcKIywgYy1mb3JtYXQKbXNnaWQgInJlYWQgZXJyb3Igb24gJXM6ICVzIgptc2dzdHIgImVyb2FyZSBjaXRpcmUgcGVudHJ1ICVzOiAlcyIKCiM6IHNlZC91dGlscy5jOjM3MgojLCBmdXp6eSwgYy1mb3JtYXQKbXNnaWQgImNvdWxkbid0IGZvbGxvdyBzeW1saW5rICVzOiAlcyIKbXNnc3RyICJudSBhbSBwdXR1dCBkZXNjaGlkZSBmabppZXJ1bCAlczogJXMiCgojOiBzZWQvdXRpbHMuYzo0MDYKIywgZnV6enksIGMtZm9ybWF0Cm1zZ2lkICJjYW5ub3Qgc3RhdCAlczogJXMiCm1zZ3N0ciAibnUgcG90IHJlZGVudW1pICVzOiAlcyIKCiM6IHNlZC91dGlscy5jOjQzNwojLCBjLWZvcm1hdAptc2dpZCAiY2Fubm90IHJlbmFtZSAlczogJXMiCm1zZ3N0ciAibnUgcG90IHJlZGVudW1pICVzOiAlcyIKCiM6IGxpYi9yZWdjb21wLmM6MTMyCm1zZ2lkICJTdWNjZXNzIgptc2dzdHIgIlN1Y2NlcyIKCiM6IGxpYi9yZWdjb21wLmM6MTM1Cm1zZ2lkICJObyBtYXRjaCIKbXNnc3RyICJOaWNpIG8gcG90cml2aXJlIgoKIzogbGliL3JlZ2NvbXAuYzoxMzgKbXNnaWQgIkludmFsaWQgcmVndWxhciBleHByZXNzaW9uIgptc2dzdHIgIkV4cHJlc2llIHJlZ3VsYXLjIGluY29yZWN04yIKCiM6IGxpYi9yZWdjb21wLmM6MTQxCm1zZ2lkICJJbnZhbGlkIGNvbGxhdGlvbiBjaGFyYWN0ZXIiCm1zZ3N0ciAiQ29sYf5pdW5lIGRlIGNhcmFjdGVyZSBpbmNvcmVjdOMiCgojOiBsaWIvcmVnY29tcC5jOjE0NAptc2dpZCAiSW52YWxpZCBjaGFyYWN0ZXIgY2xhc3MgbmFtZSIKbXNnc3RyICJOdW1lIGRlIGNsYXPjIGRlIGNhcmFjdGVyZSBpbmNvcmVjdCIKCiM6IGxpYi9yZWdjb21wLmM6MTQ3Cm1zZ2lkICJUcmFpbGluZyBiYWNrc2xhc2giCm1zZ3N0ciAiQmFja3NsYXNoIO5uIGNvYWTjIgoKIzogbGliL3JlZ2NvbXAuYzoxNTAKbXNnaWQgIkludmFsaWQgYmFjayByZWZlcmVuY2UiCm1zZ3N0ciAiUmVmZXJpbv7jIO5uYXBvaSBpbmNvcmVjdOMiCgojOiBsaWIvcmVnY29tcC5jOjE1Mwptc2dpZCAiVW5tYXRjaGVkIFsgb3IgW14iCm1zZ3N0ciAiWyBzYXUgW14gZuNy4yBwZXJlY2hlIgoKIzogbGliL3JlZ2NvbXAuYzoxNTYKbXNnaWQgIlVubWF0Y2hlZCAoIG9yIFxcKCIKbXNnc3RyICIoIHNhdSBcXCggZuNy4yBwZXJlY2hlIgoKIzogbGliL3JlZ2NvbXAuYzoxNTkKbXNnaWQgIlVubWF0Y2hlZCBcXHsiCm1zZ3N0ciAiXFx7IGbjcuMgcGVyZWNoZSIKCiM6IGxpYi9yZWdjb21wLmM6MTYyCm1zZ2lkICJJbnZhbGlkIGNvbnRlbnQgb2YgXFx7XFx9Igptc2dzdHIgIkNvbv5pbnV0IGluY29yZWN0IHBlbnRydSBcXHtcXH0iCgojOiBsaWIvcmVnY29tcC5jOjE2NQptc2dpZCAiSW52YWxpZCByYW5nZSBlbmQiCm1zZ3N0ciAiU2bicrppdCBkZSBpbnRlcnZhbCBpbmNvcmVjdCIKCiM6IGxpYi9yZWdjb21wLmM6MTY4Cm1zZ2lkICJNZW1vcnkgZXhoYXVzdGVkIgptc2dzdHIgIk1lbW9yaWUgZXB1aXphdOMiCgojOiBsaWIvcmVnY29tcC5jOjE3MQptc2dpZCAiSW52YWxpZCBwcmVjZWRpbmcgcmVndWxhciBleHByZXNzaW9uIgptc2dzdHIgIkV4cHJlc2llIHJlZ3VsYXLjIHByZWNlZGVudOMgaW5jb3JlY3TjIgoKIzogbGliL3JlZ2NvbXAuYzoxNzQKbXNnaWQgIlByZW1hdHVyZSBlbmQgb2YgcmVndWxhciBleHByZXNzaW9uIgptc2dzdHIgIlNm4nK6aXQgcHJlbWF0dXIgYWwgZXhwcmVzaWVpIHJlZ3VsYXJlIgoKIzogbGliL3JlZ2NvbXAuYzoxNzcKbXNnaWQgIlJlZ3VsYXIgZXhwcmVzc2lvbiB0b28gYmlnIgptc2dzdHIgIkV4cHJlc2llIHJlZ3VsYXLjIHByZWEgbWFyZSIKCiM6IGxpYi9yZWdjb21wLmM6MTgwCm1zZ2lkICJVbm1hdGNoZWQgKSBvciBcXCkiCm1zZ3N0ciAiKSBzYXUgXFwpIGbjcuMgcGVyZWNoZSIKCiM6IGxpYi9yZWdjb21wLmM6NzA1Cm1zZ2lkICJObyBwcmV2aW91cyByZWd1bGFyIGV4cHJlc3Npb24iCm1zZ3N0ciAiTmljaSBvIGV4cHJlc2llIHJlZ3VsYXLjIGFudGVyaW9hcuMiCgojfiBtc2dpZCAic3VwZXItc2VkIHZlcnNpb24gJXNcbiIKI34gbXNnc3RyICJ2ZXJzaXVuZWEgc3VwZXItc2VkICVzXG4iCgojfiBtc2dpZCAiIgojfiAiYmFzZWQgb24gR05VIHNlZCB2ZXJzaW9uICVzXG4iCiN+ICJcbiIKI34gbXNnc3RyICIiCiN+ICJiYXphdCBwZSBHTlUgc2VkIHZlcnNpdW5lYSAlc1xuIgojfiAiXG4iCgojfiBtc2dpZCAiR05VIHNlZCB2ZXJzaW9uICVzXG4iCiN+IG1zZ3N0ciAiR05VIHNlZCB2ZXJzaXVuZWEgJXNcbiIKCiN+IG1zZ2lkICIiCiN+ICIlc1xuIgojfiAiVGhpcyBpcyBmcmVlIHNvZnR3YXJlOyBzZWUgdGhlIHNvdXJjZSBmb3IgY29weWluZyBjb25kaXRpb25zLiAgVGhlcmUgaXMgIgojfiAiTk9cbiIKI34gIndhcnJhbnR5OyBub3QgZXZlbiBmb3IgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiAiCiN+ICJQVVJQT1NFLFxuIgojfiAidG8gdGhlIGV4dGVudCBwZXJtaXR0ZWQgYnkgbGF3LlxuIgojfiBtc2dzdHIgIiIKI34gIiVzXG4iCiN+ICJBY2VzdGEgZXN0ZSBzb2Z0d2FyZSBsaWJlcjsgdmVkZf5pIGNvZHVsIHN1cnPjIHBlbnRydSBjb25kaf5paWxlIGRlICIKI34gImNvcGllcmUuXG4iCiN+ICJOdSBleGlzdOMgTklDSSBvIGdhcmFu/mllOyBuaWNpIG3jY2FyIHBlbnRydSBWQU5EQUJJTElUQVRFIHNhdSAiCiN+ICJQT1RSSVZJUkUgXG4iCiN+ICJQRU5UUlUgVU4gQU5VTUUgU0NPUCwgY29uZm9ybSBsZWdpbG9yIO5uIHZpZ29hcmUuXG4iCg==