IyBIZWJyZXcgbWVzc2FnZXMgZm9yIEdOVSBTZWQgICAgICAgICAgLSotIGNvZGluZzogaGVicmV3LWlzby04Yml0IC0qLQojIENvcHlyaWdodCAoQykgMjAwMSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KIyBFbGkgWmFyZXRza2lpIDxlbGl6QGlzLmVsdGEuY28uaWw+LCAyMDAxLgojCm1zZ2lkICIiCm1zZ3N0ciAiIgoiUHJvamVjdC1JZC1WZXJzaW9uOiBzZWQgMy4wMi44MFxuIgoiUmVwb3J0LU1zZ2lkLUJ1Z3MtVG86IGJ1Zy1nbnUtdXRpbHNAZ251Lm9yZ1xuIgoiUE9ULUNyZWF0aW9uLURhdGU6IDIwMDktMDYtMjcgMTU6MDgrMDIwMFxuIgoiUE8tUmV2aXNpb24tRGF0ZTogMjAwMS0wOC0wNCAyMDozNyswMzAwXG4iCiJMYXN0LVRyYW5zbGF0b3I6IEVsaSBaYXJldHNraWkgPGVsaXpAZ251Lm9yZz5cbiIKIkxhbmd1YWdlLVRlYW06IEhlYnJldyA8ZWxpekBnbnUub3JnPlxuIgoiTUlNRS1WZXJzaW9uOiAxLjBcbiIKIkNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1JU08tODg1OS04XG4iCiJDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4LWJpdFxuIgoKIzogc2VkL2NvbXBpbGUuYzoxNjEKIywgZnV6enkKbXNnaWQgIm11bHRpcGxlIGAhJ3MiCm1zZ3N0ciAiYCEnIOnl4en4IgoKIzogc2VkL2NvbXBpbGUuYzoxNjIKIywgZnV6enkKbXNnaWQgInVuZXhwZWN0ZWQgYCwnIgptc2dzdHIgIunl9PYt6frs4SBgLCciCgojOiBzZWQvY29tcGlsZS5jOjE2MwojLCBmdXp6eQptc2dpZCAiaW52YWxpZCB1c2FnZSBvZiArTiBvciB+TiBhcyBmaXJzdCBhZGRyZXNzIgptc2dzdHIgIuTw5fng+CD64eX66+sgfk4g5eAgK04t4SD57vr55Owg7/rp8CDg7CIKCiM6IHNlZC9jb21waWxlLmM6MTY0CiMsIGZ1enp5Cm1zZ2lkICJ1bm1hdGNoZWQgYHsnIgptc2dzdHIgIuLl5i3v4SDl7CDv6eD5IGB7JyIKCiM6IHNlZC9jb21waWxlLmM6MTY1CiMsIGZ1enp5Cm1zZ2lkICJ1bmV4cGVjdGVkIGB9JyIKbXNnc3RyICLp5fT2Len67OEgYH0nIgoKIzogc2VkL2NvbXBpbGUuYzoxNjYKIywgZnV6enkKbXNnaWQgImV4dHJhIGNoYXJhY3RlcnMgYWZ0ZXIgY29tbWFuZCIKbXNnc3RyICLk4+X39OQg6fjn4CDt6fj65enuIO3p5foiCgojOiBzZWQvY29tcGlsZS5jOjE2Nwptc2dpZCAiZXhwZWN0ZWQgXFwgYWZ0ZXIgYGEnLCBgYycgb3IgYGknIgptc2dzdHIgIiIKCiM6IHNlZC9jb21waWxlLmM6MTY4Cm1zZ2lkICJgfScgZG9lc24ndCB3YW50IGFueSBhZGRyZXNzZXMiCm1zZ3N0ciAi+uXh5frrIOzh9+4g5fDp4CBgfSciCgojOiBzZWQvY29tcGlsZS5jOjE2OQptc2dpZCAiOiBkb2Vzbid0IHdhbnQgYW55IGFkZHJlc3NlcyIKbXNnc3RyICL65eHl+usg7OH37iDl8OngIDoiCgojOiBzZWQvY29tcGlsZS5jOjE3MAojLCBmdXp6eQptc2dpZCAiY29tbWVudHMgZG9uJ3QgYWNjZXB0IGFueSBhZGRyZXNzZXMiCm1zZ3N0ciAi+uXh5frrIPrl7OH37iDv8OngIPrl+PLkIgoKIzogc2VkL2NvbXBpbGUuYzoxNzEKIywgZnV6enkKbXNnaWQgIm1pc3NpbmcgY29tbWFuZCIKbXNnc3RyICLk+PHnIOTj5ff0IgoKIzogc2VkL2NvbXBpbGUuYzoxNzIKIywgZnV6enkKbXNnaWQgImNvbW1hbmQgb25seSB1c2VzIG9uZSBhZGRyZXNzIgptc2dzdHIgIuPh7OEg+ufgIPrh5frrIPrs4ffuIOXmIOTj5ff0IgoKIzogc2VkL2NvbXBpbGUuYzoxNzMKIywgZnV6enkKbXNnaWQgInVudGVybWluYXRlZCBhZGRyZXNzIHJlZ2V4Igptc2dzdHIgIu3l6fEg4OzsIPrh5frrIOz5IOn47OXi+CDp5ejp4SIKCiM6IHNlZC9jb21waWxlLmM6MTc0CiMsIGZ1enp5Cm1zZ2lkICJ1bnRlcm1pbmF0ZWQgYHMnIGNvbW1hbmQiCm1zZ3N0ciAi7eXp8SDg7OwgYHMnIPrj5ff0IgoKIzogc2VkL2NvbXBpbGUuYzoxNzUKIywgZnV6enkKbXNnaWQgInVudGVybWluYXRlZCBgeScgY29tbWFuZCIKbXNnc3RyICLt5enxIODs7CBgeScg+uPl9/QiCgojOiBzZWQvY29tcGlsZS5jOjE3NgojLCBmdXp6eQptc2dpZCAidW5rbm93biBvcHRpb24gdG8gYHMnIgptc2dzdHIgImBzJyDs+SD46+XuLen67OEg7+np9ODuIgoKIzogc2VkL2NvbXBpbGUuYzoxNzcKbXNnaWQgIm11bHRpcGxlIGBwJyBvcHRpb25zIHRvIGBzJyBjb21tYW5kIgptc2dzdHIgImBzJyDk4+X39Owg7enh5fjuIGBwJyDp8Onp9ODuIgoKIzogc2VkL2NvbXBpbGUuYzoxNzgKbXNnaWQgIm11bHRpcGxlIGBnJyBvcHRpb25zIHRvIGBzJyBjb21tYW5kIgptc2dzdHIgImBzJyDk4+X39Owg7enh5fjuIGBnJyDp8Onp9ODuIgoKIzogc2VkL2NvbXBpbGUuYzoxNzkKbXNnaWQgIm11bHRpcGxlIG51bWJlciBvcHRpb25zIHRvIGBzJyBjb21tYW5kIgptc2dzdHIgImBzJyDk4+X39Owg7enh5fjuIPj08e4g6fDp6fTg7iIKCiM6IHNlZC9jb21waWxlLmM6MTgwCm1zZ2lkICJudW1iZXIgb3B0aW9uIHRvIGBzJyBjb21tYW5kIG1heSBub3QgYmUgemVybyIKbXNnc3RyICLx9OAg+uXp5Owg7OXr6SDl8OngIGBzJyDk4+X39Owg6fj08e4g7+np9ODuIgoKIzogc2VkL2NvbXBpbGUuYzoxODEKIywgZnV6enkKbXNnaWQgInN0cmluZ3MgZm9yIGB5JyBjb21tYW5kIGFyZSBkaWZmZXJlbnQgbGVuZ3RocyIKbXNnc3RyICLk8OX5IOr45eDhIO/w6eQgYHknIOTj5ff07CD65ebl+OfuIgoKIzogc2VkL2NvbXBpbGUuYzoxODIKbXNnaWQgImRlbGltaXRlciBjaGFyYWN0ZXIgaXMgbm90IGEgc2luZ2xlLWJ5dGUgY2hhcmFjdGVyIgptc2dzdHIgIiIKCiM6IHNlZC9jb21waWxlLmM6MTgzCm1zZ2lkICJleHBlY3RlZCBuZXdlciB2ZXJzaW9uIG9mIHNlZCIKbXNnc3RyICIiCgojOiBzZWQvY29tcGlsZS5jOjE4NAojLCBmdXp6eQptc2dpZCAiaW52YWxpZCB1c2FnZSBvZiBsaW5lIGFkZHJlc3MgMCIKbXNnc3RyICL64eX66+Qg7+np9u7hIOnl4vkg+eXu6fkiCgojOiBzZWQvY29tcGlsZS5jOjE4NQojLCBmdXp6eSwgYy1mb3JtYXQKbXNnaWQgInVua25vd24gY29tbWFuZDogYCVjJyIKbXNnc3RyICL6+Ovl7i3p+uzhIOTj5ff0IOTw6eQiCgojOiBzZWQvY29tcGlsZS5jOjIwOAojLCBjLWZvcm1hdAptc2dpZCAiJXM6IGZpbGUgJXMgbGluZSAlbHU6ICVzXG4iCm1zZ3N0ciAiJXMg+unw6/rhICglcyD14eX3IOz5ICVsdSDk+OX5KSAlcyDk4Oni+VxuIgoKIzogc2VkL2NvbXBpbGUuYzoyMTEKIywgYy1mb3JtYXQKbXNnaWQgIiVzOiAtZSBleHByZXNzaW9uICMlbHUsIGNoYXIgJWx1OiAlc1xuIgptc2dzdHIgIiVzIPrp8Ov64SAoJWx1ICfx7iAtZSDp5ejp4SDs+SAlbHUgJ/HuIOX6KSAlcyDk4Oni+VxuIgoKIzogc2VkL2NvbXBpbGUuYzoxNjY1CiMsIGZ1enp5LCBjLWZvcm1hdAptc2dpZCAiY2FuJ3QgZmluZCBsYWJlbCBmb3IganVtcCB0byBgJXMnIgptc2dzdHIgIuTg9u7wIODsIGAlcycg5Pbp9Pcg+unl5foiCgojOiBzZWQvZXhlY3V0ZS5jOjcwOQojLCBjLWZvcm1hdAptc2dpZCAiJXM6IGNhbid0IHJlYWQgJXM6ICVzXG4iCm1zZ3N0ciAiJXMg+unw6/rhICVzIPrg6fj34SAoJXMpIOTg6eL5XG4iCgojOiBzZWQvZXhlY3V0ZS5jOjc0MAojLCBjLWZvcm1hdAptc2dpZCAiY291bGRuJ3QgZWRpdCAlczogaXMgYSB0ZXJtaW5hbCIKbXNnc3RyICIiCgojOiBzZWQvZXhlY3V0ZS5jOjc0NQojLCBjLWZvcm1hdAptc2dpZCAiY291bGRuJ3QgZWRpdCAlczogbm90IGEgcmVndWxhciBmaWxlIgptc2dzdHIgIiIKCiM6IHNlZC9leGVjdXRlLmM6NzU3CiMsIGMtZm9ybWF0Cm1zZ2lkICIlczogd2FybmluZzogZmFpbGVkIHRvIHNldCBkZWZhdWx0IGZpbGUgY3JlYXRpb24gY29udGV4dCB0byAlczogJXMiCm1zZ3N0ciAiIgoKIzogc2VkL2V4ZWN1dGUuYzo3NjQKIywgYy1mb3JtYXQKbXNnaWQgIiVzOiB3YXJuaW5nOiBmYWlsZWQgdG8gZ2V0IHNlY3VyaXR5IGNvbnRleHQgb2YgJXM6ICVzIgptc2dzdHIgIiIKCiM6IHNlZC9leGVjdXRlLmM6NzgzIHNlZC91dGlscy5jOjIyNwojLCBmdXp6eSwgYy1mb3JtYXQKbXNnaWQgImNvdWxkbid0IG9wZW4gdGVtcG9yYXJ5IGZpbGUgJXM6ICVzIgptc2dzdHIgIiVzIPXh5fcg+ufp+vThIOTs9/oiCgojOiBzZWQvZXhlY3V0ZS5jOjEzMTcgc2VkL2V4ZWN1dGUuYzoxNDk3Cm1zZ2lkICJlcnJvciBpbiBzdWJwcm9jZXNzIgptc2dzdHIgIiIKCiM6IHNlZC9leGVjdXRlLmM6MTMxOQptc2dpZCAib3B0aW9uIGBlJyBub3Qgc3VwcG9ydGVkIgptc2dzdHIgIiIKCiM6IHNlZC9leGVjdXRlLmM6MTQ5OQptc2dpZCAiYGUnIGNvbW1hbmQgbm90IHN1cHBvcnRlZCIKbXNnc3RyICIiCgojOiBzZWQvZXhlY3V0ZS5jOjE4NDMKbXNnaWQgIm5vIGlucHV0IGZpbGVzIgptc2dzdHIgIiIKCiM6IHNlZC9yZWdleHAuYzo0MQptc2dpZCAibm8gcHJldmlvdXMgcmVndWxhciBleHByZXNzaW9uIgptc2dzdHIgIiIKCiM6IHNlZC9yZWdleHAuYzo0Mgptc2dpZCAiY2Fubm90IHNwZWNpZnkgbW9kaWZpZXJzIG9uIGVtcHR5IHJlZ2V4cCIKbXNnc3RyICIiCgojOiBzZWQvcmVnZXhwLmM6MTMxCiMsIGMtZm9ybWF0Cm1zZ2lkICJpbnZhbGlkIHJlZmVyZW5jZSBcXCVkIG9uIGBzJyBjb21tYW5kJ3MgUkhTIgptc2dzdHIgIiIKCiM6IHNlZC9zZWQuYzo5NwojLCBjLWZvcm1hdAptc2dpZCAiIgoiR05VIHNlZCBob21lIHBhZ2U6IDxodHRwOi8vd3d3LmdudS5vcmcvc29mdHdhcmUvc2VkLz4uXG4iCiJHZW5lcmFsIGhlbHAgdXNpbmcgR05VIHNvZnR3YXJlOiA8aHR0cDovL3d3dy5nbnUub3JnL2dldGhlbHAvPi5cbiIKbXNnc3RyICIiCgojOiBzZWQvc2VkLmM6MTA0CiMsIGZ1enp5LCBjLWZvcm1hdAptc2dpZCAiIgoiRS1tYWlsIGJ1ZyByZXBvcnRzIHRvOiA8JXM+LlxuIgoiQmUgc3VyZSB0byBpbmNsdWRlIHRoZSB3b3JkIGBgJXMnJyBzb21ld2hlcmUgaW4gdGhlIGBgU3ViamVjdDonJyBmaWVsZC5cbiIKbXNnc3RyICIiCiIgICAgICAgICAgICAgIC4lcyD64eX66+wgKGJ1Z3MpIOTs9/og6efl5enjIOfl7PnsIODwXG4iCiIgICAuKGBgU3ViamVjdCcnKSBgYO/l4/DkJycg+vjl+eEgYGAlcycnIOTs6e4g7OXs6+wg5ePp9PfkIODw4FxuIgoKIzogc2VkL3NlZC5jOjExNwptc2dpZCAiIgoiICAtUiwgLS1yZWdleHAtcGVybFxuIgoiICAgICAgICAgICAgICAgICB1c2UgUGVybCA1J3MgcmVndWxhciBleHByZXNzaW9ucyBzeW50YXggaW4gdGhlIHNjcmlwdC5cbiIKbXNnc3RyICIiCgojOiBzZWQvc2VkLmM6MTIyCiMsIGMtZm9ybWF0Cm1zZ2lkICIiCiJVc2FnZTogJXMgW09QVElPTl0uLi4ge3NjcmlwdC1vbmx5LWlmLW5vLW90aGVyLXNjcmlwdH0gW2lucHV0LWZpbGVdLi4uXG4iCiJcbiIKbXNnc3RyICIiCgojOiBzZWQvc2VkLmM6MTI2CiMsIGMtZm9ybWF0Cm1zZ2lkICIiCiIgIC1uLCAtLXF1aWV0LCAtLXNpbGVudFxuIgoiICAgICAgICAgICAgICAgICBzdXBwcmVzcyBhdXRvbWF0aWMgcHJpbnRpbmcgb2YgcGF0dGVybiBzcGFjZVxuIgptc2dzdHIgIiIKCiM6IHNlZC9zZWQuYzoxMjgKIywgYy1mb3JtYXQKbXNnaWQgIiIKIiAgLWUgc2NyaXB0LCAtLWV4cHJlc3Npb249c2NyaXB0XG4iCiIgICAgICAgICAgICAgICAgIGFkZCB0aGUgc2NyaXB0IHRvIHRoZSBjb21tYW5kcyB0byBiZSBleGVjdXRlZFxuIgptc2dzdHIgIiIKCiM6IHNlZC9zZWQuYzoxMzAKIywgYy1mb3JtYXQKbXNnaWQgIiIKIiAgLWYgc2NyaXB0LWZpbGUsIC0tZmlsZT1zY3JpcHQtZmlsZVxuIgoiICAgICAgICAgICAgICAgICBhZGQgdGhlIGNvbnRlbnRzIG9mIHNjcmlwdC1maWxlIHRvIHRoZSBjb21tYW5kcyB0byBiZSAiCiJleGVjdXRlZFxuIgptc2dzdHIgIiIKCiM6IHNlZC9zZWQuYzoxMzMKIywgYy1mb3JtYXQKbXNnaWQgIiIKIiAgLS1mb2xsb3ctc3ltbGlua3NcbiIKIiAgICAgICAgICAgICAgICAgZm9sbG93IHN5bWxpbmtzIHdoZW4gcHJvY2Vzc2luZyBpbiBwbGFjZVxuIgptc2dzdHIgIiIKCiM6IHNlZC9zZWQuYzoxMzYKIywgYy1mb3JtYXQKbXNnaWQgIiIKIiAgLWlbU1VGRklYXSwgLS1pbi1wbGFjZVs9U1VGRklYXVxuIgoiICAgICAgICAgICAgICAgICBlZGl0IGZpbGVzIGluIHBsYWNlIChtYWtlcyBiYWNrdXAgaWYgZXh0ZW5zaW9uIHN1cHBsaWVkKVxuIgptc2dzdHIgIiIKCiM6IHNlZC9zZWQuYzoxMzkKIywgYy1mb3JtYXQKbXNnaWQgIiIKIiAgLWIsIC0tYmluYXJ5XG4iCiIgICAgICAgICAgICAgICAgIG9wZW4gZmlsZXMgaW4gYmluYXJ5IG1vZGUgKENSK0xGcyBhcmUgbm90IHByb2Nlc3NlZCAiCiJzcGVjaWFsbHkpXG4iCm1zZ3N0ciAiIgoKIzogc2VkL3NlZC5jOjE0MgojLCBjLWZvcm1hdAptc2dpZCAiIgoiICAtbCBOLCAtLWxpbmUtbGVuZ3RoPU5cbiIKIiAgICAgICAgICAgICAgICAgc3BlY2lmeSB0aGUgZGVzaXJlZCBsaW5lLXdyYXAgbGVuZ3RoIGZvciB0aGUgYGwnIGNvbW1hbmRcbiIKbXNnc3RyICIiCgojOiBzZWQvc2VkLmM6MTQ0CiMsIGMtZm9ybWF0Cm1zZ2lkICIiCiIgIC0tcG9zaXhcbiIKIiAgICAgICAgICAgICAgICAgZGlzYWJsZSBhbGwgR05VIGV4dGVuc2lvbnMuXG4iCm1zZ3N0ciAiIgoKIzogc2VkL3NlZC5jOjE0NgojLCBjLWZvcm1hdAptc2dpZCAiIgoiICAtciwgLS1yZWdleHAtZXh0ZW5kZWRcbiIKIiAgICAgICAgICAgICAgICAgdXNlIGV4dGVuZGVkIHJlZ3VsYXIgZXhwcmVzc2lvbnMgaW4gdGhlIHNjcmlwdC5cbiIKbXNnc3RyICIiCgojOiBzZWQvc2VkLmM6MTUxCiMsIGMtZm9ybWF0Cm1zZ2lkICIiCiIgIC1zLCAtLXNlcGFyYXRlXG4iCiIgICAgICAgICAgICAgICAgIGNvbnNpZGVyIGZpbGVzIGFzIHNlcGFyYXRlIHJhdGhlciB0aGFuIGFzIGEgc2luZ2xlICIKImNvbnRpbnVvdXNcbiIKIiAgICAgICAgICAgICAgICAgbG9uZyBzdHJlYW0uXG4iCm1zZ3N0ciAiIgoKIzogc2VkL3NlZC5jOjE1NAojLCBjLWZvcm1hdAptc2dpZCAiIgoiICAtdSwgLS11bmJ1ZmZlcmVkXG4iCiIgICAgICAgICAgICAgICAgIGxvYWQgbWluaW1hbCBhbW91bnRzIG9mIGRhdGEgZnJvbSB0aGUgaW5wdXQgZmlsZXMgYW5kICIKImZsdXNoXG4iCiIgICAgICAgICAgICAgICAgIHRoZSBvdXRwdXQgYnVmZmVycyBtb3JlIG9mdGVuXG4iCm1zZ3N0ciAiIgoKIzogc2VkL3NlZC5jOjE1NwojLCBjLWZvcm1hdAptc2dpZCAiICAgICAgLS1oZWxwICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdFxuIgptc2dzdHIgIiIKCiM6IHNlZC9zZWQuYzoxNTgKIywgYy1mb3JtYXQKbXNnaWQgIiAgICAgIC0tdmVyc2lvbiAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKbXNnc3RyICIiCgojOiBzZWQvc2VkLmM6MTU5CiMsIGMtZm9ybWF0Cm1zZ2lkICIiCiJcbiIKIklmIG5vIC1lLCAtLWV4cHJlc3Npb24sIC1mLCBvciAtLWZpbGUgb3B0aW9uIGlzIGdpdmVuLCB0aGVuIHRoZSBmaXJzdFxuIgoibm9uLW9wdGlvbiBhcmd1bWVudCBpcyB0YWtlbiBhcyB0aGUgc2VkIHNjcmlwdCB0byBpbnRlcnByZXQuICBBbGxcbiIKInJlbWFpbmluZyBhcmd1bWVudHMgYXJlIG5hbWVzIG9mIGlucHV0IGZpbGVzOyBpZiBubyBpbnB1dCBmaWxlcyBhcmVcbiIKInNwZWNpZmllZCwgdGhlbiB0aGUgc3RhbmRhcmQgaW5wdXQgaXMgcmVhZC5cbiIKIlxuIgptc2dzdHIgIiIKCiM6IHNlZC9zZWQuYzozMTUKIywgYy1mb3JtYXQKbXNnaWQgInN1cGVyLXNlZCB2ZXJzaW9uICVzXG4iCm1zZ3N0ciAiIgoKIzogc2VkL3NlZC5jOjMxNgojLCBjLWZvcm1hdAptc2dpZCAiIgoiYmFzZWQgb24gR05VIHNlZCB2ZXJzaW9uICVzXG4iCiJcbiIKbXNnc3RyICIiCgojOiBzZWQvc2VkLmM6MzE4CiMsIGMtZm9ybWF0Cm1zZ2lkICJHTlUgc2VkIHZlcnNpb24gJXNcbiIKbXNnc3RyICIiCgojOiBzZWQvc2VkLmM6MzIwCiMsIGZ1enp5LCBjLWZvcm1hdAptc2dpZCAiIgoiQ29weXJpZ2h0IChDKSAlZCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy5cbiIKIlRoaXMgaXMgZnJlZSBzb2Z0d2FyZTsgc2VlIHRoZSBzb3VyY2UgZm9yIGNvcHlpbmcgY29uZGl0aW9ucy4gIFRoZXJlIGlzIE5PXG4iCiJ3YXJyYW50eTsgbm90IGV2ZW4gZm9yIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSxcbiIKInRvIHRoZSBleHRlbnQgcGVybWl0dGVkIGJ5IGxhdy5cbiIKbXNnc3RyICIiCiIlc1xuIgoi5OXl7O4g5PDp4CD66fDr+uQgLvjl9+7kIOn24fcg+uAg5OD4ICzo5fjp9CD4+unsIDv66fn05yDk8Ov6IOTw6eQg5eYg+unw6/pcbiIKIiAgICDk4+nu4SD64OblICzg6eT5IPrp7Ov6IOXm6eDsIOTu4PrkIOXgIPrl+Onn8SDt+ewg4Owg5ezp9OAgO/rl6fjn4CDh+uvhXG4iCiIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLvrg5iD4+fTg7iD35efk+VxuIgoKIzogc2VkL3V0aWxzLmM6OTMgc2VkL3V0aWxzLmM6NDM4CiMsIGZ1enp5LCBjLWZvcm1hdAptc2dpZCAiY2Fubm90IHJlbW92ZSAlczogJXMiCm1zZ3N0ciAiJXMg+unw6/rhICVzIPrg6fj34SAoJXMpIOTg6eL5XG4iCgojOiBzZWQvdXRpbHMuYzoxNjMKIywgZnV6enksIGMtZm9ybWF0Cm1zZ2lkICJjb3VsZG4ndCBvcGVuIGZpbGUgJXM6ICVzIgptc2dzdHIgIiVzIPXh5fcg+ufp+vThIOTs9/oiCgojOiBzZWQvdXRpbHMuYzoxODYKIywgZnV6enksIGMtZm9ybWF0Cm1zZ2lkICJjb3VsZG4ndCBhdHRhY2ggdG8gJXM6ICVzIgptc2dzdHIgIiVzLewg6Oz05O4g9+znIPrh6frr4SAoJXMpIOTs9/oiCgojOiBzZWQvdXRpbHMuYzoyNDUKIywgZnV6enksIGMtZm9ybWF0Cm1zZ2lkICJjb3VsZG4ndCB3cml0ZSAlZCBpdGVtIHRvICVzOiAlcyIKbXNnaWRfcGx1cmFsICJjb3VsZG4ndCB3cml0ZSAlZCBpdGVtcyB0byAlczogJXMiCm1zZ3N0clswXSAi6Oz05O4g7en37OcgJWQg7PkgJXMt7CDk4en66+EgKCVzKSDk7Pf6Igptc2dzdHJbMV0gIujs9OTuIO3p9+znICVkIOz5ICVzLewg5OHp+uvhICglcykg5Oz3+iIKCiM6IHNlZC91dGlscy5jOjI2MCBzZWQvdXRpbHMuYzoyNzYKIywgYy1mb3JtYXQKbXNnaWQgInJlYWQgZXJyb3Igb24gJXM6ICVzIgptc2dzdHIgIiVzIPrg6fj34SAoJXMpIOTs9/oiCgojOiBzZWQvdXRpbHMuYzozNzgKIywgZnV6enksIGMtZm9ybWF0Cm1zZ2lkICJjb3VsZG4ndCBmb2xsb3cgc3ltbGluayAlczogJXMiCm1zZ3N0ciAiJXMt7CDo7PTk7iD37Ocg+uHp+uvhICglcykg5Oz3+iIKCiM6IHNlZC91dGlscy5jOjQxMgojLCBmdXp6eSwgYy1mb3JtYXQKbXNnaWQgImNhbm5vdCBzdGF0ICVzOiAlcyIKbXNnc3RyICIlcyD66fDr+uEgJXMg+uDp+PfhICglcykg5ODp4vlcbiIKCiM6IHNlZC91dGlscy5jOjQ0MwojLCBmdXp6eSwgYy1mb3JtYXQKbXNnaWQgImNhbm5vdCByZW5hbWUgJXM6ICVzIgptc2dzdHIgIiVzIPrp8Ov64SAlcyD64On49+EgKCVzKSDk4Oni+VxuIgoKIzogbGliL3JlZ2NvbXAuYzoxMzQKbXNnaWQgIlN1Y2Nlc3MiCm1zZ3N0ciAiIgoKIzogbGliL3JlZ2NvbXAuYzoxMzcKbXNnaWQgIk5vIG1hdGNoIgptc2dzdHIgIiIKCiM6IGxpYi9yZWdjb21wLmM6MTQwCm1zZ2lkICJJbnZhbGlkIHJlZ3VsYXIgZXhwcmVzc2lvbiIKbXNnc3RyICIiCgojOiBsaWIvcmVnY29tcC5jOjE0Mwptc2dpZCAiSW52YWxpZCBjb2xsYXRpb24gY2hhcmFjdGVyIgptc2dzdHIgIiIKCiM6IGxpYi9yZWdjb21wLmM6MTQ2Cm1zZ2lkICJJbnZhbGlkIGNoYXJhY3RlciBjbGFzcyBuYW1lIgptc2dzdHIgIiIKCiM6IGxpYi9yZWdjb21wLmM6MTQ5Cm1zZ2lkICJUcmFpbGluZyBiYWNrc2xhc2giCm1zZ3N0ciAiIgoKIzogbGliL3JlZ2NvbXAuYzoxNTIKbXNnaWQgIkludmFsaWQgYmFjayByZWZlcmVuY2UiCm1zZ3N0ciAiIgoKIzogbGliL3JlZ2NvbXAuYzoxNTUKIywgZnV6enkKbXNnaWQgIlVubWF0Y2hlZCBbIG9yIFteIgptc2dzdHIgIuLl5i3v4SDl7CDv6eD5IGB7JyIKCiM6IGxpYi9yZWdjb21wLmM6MTU4CiMsIGZ1enp5Cm1zZ2lkICJVbm1hdGNoZWQgKCBvciBcXCgiCm1zZ3N0ciAi4uXmLe/hIOXsIO/p4PkgYHsnIgoKIzogbGliL3JlZ2NvbXAuYzoxNjEKIywgZnV6enkKbXNnaWQgIlVubWF0Y2hlZCBcXHsiCm1zZ3N0ciAi4uXmLe/hIOXsIO/p4PkgYHsnIgoKIzogbGliL3JlZ2NvbXAuYzoxNjQKbXNnaWQgIkludmFsaWQgY29udGVudCBvZiBcXHtcXH0iCm1zZ3N0ciAiIgoKIzogbGliL3JlZ2NvbXAuYzoxNjcKbXNnaWQgIkludmFsaWQgcmFuZ2UgZW5kIgptc2dzdHIgIiIKCiM6IGxpYi9yZWdjb21wLmM6MTcwCm1zZ2lkICJNZW1vcnkgZXhoYXVzdGVkIgptc2dzdHIgIiIKCiM6IGxpYi9yZWdjb21wLmM6MTczCm1zZ2lkICJJbnZhbGlkIHByZWNlZGluZyByZWd1bGFyIGV4cHJlc3Npb24iCm1zZ3N0ciAiIgoKIzogbGliL3JlZ2NvbXAuYzoxNzYKbXNnaWQgIlByZW1hdHVyZSBlbmQgb2YgcmVndWxhciBleHByZXNzaW9uIgptc2dzdHIgIiIKCiM6IGxpYi9yZWdjb21wLmM6MTc5Cm1zZ2lkICJSZWd1bGFyIGV4cHJlc3Npb24gdG9vIGJpZyIKbXNnc3RyICIiCgojOiBsaWIvcmVnY29tcC5jOjE4MgojLCBmdXp6eQptc2dpZCAiVW5tYXRjaGVkICkgb3IgXFwpIgptc2dzdHIgIuLl5i3v4SDl7CDv6eD5IGB7JyIKCiM6IGxpYi9yZWdjb21wLmM6NzAzCm1zZ2lkICJObyBwcmV2aW91cyByZWd1bGFyIGV4cHJlc3Npb24iCm1zZ3N0ciAiIgoKI34gbXNnaWQgImJhZCByZWdleHA6ICVzXG4iCiN+IG1zZ3N0ciAiJXMg6fjs5eL4IOnl6Onh4SDk4Oni+VxuIgoKI34gbXNnaWQgIlVuZXhwZWN0ZWQgRW5kLW9mLWZpbGUiCiN+IG1zZ3N0ciAi6ePuIO3j9+XuIO3p6frx7iD14eX3IgoKI34gbXNnaWQgIkNhbGxlZCBzYXZjaGFyKCkgd2l0aCB1bmV4cGVjdGVkIHB1c2hiYWNrICgleCkiCiN+IG1zZ3N0ciAiKCV4KSDp5fT2Len67OEgcHVzaGJhY2sg7fIg5OD49/Agc2F2Y2hhcigpIOTp9vfw5fQiCgojfiBtc2dpZCAiaW5wdXQgcmVhZCBlcnJvcjogJXMiCiN+IG1zZ3N0ciAi5ODp+Pcg+vLhICglcykg5ODp4vkiCgojfiBtc2dpZCAiSU5URVJOQUwgRVJST1I6IGJhZCBhZGRyZXNzIHR5cGUiCiN+IG1zZ3N0ciAi8uXj6S3p+uzhIPrh5frrIOLl8SA65Pjl7ucg5PDr+iD67Pf6IgoKI34gbXNnaWQgIklOVEVSTkFMIEVSUk9SOiBCYWQgY21kICVjIgojfiBtc2dzdHIgIiVjIPr54eX57iDk4+X39CA65Pjl7ucg5PDr+iD67Pf6IgoKI34gbXNnaWQgIiIKI34gIlVzYWdlOiAlcyBbT1BUSU9OXS4uLiB7c2NyaXB0LW9ubHktaWYtbm8tb3RoZXItc2NyaXB0fSBbaW5wdXQtZmlsZV0uLi5cbiIKI34gIlxuIgojfiAiICAtbiwgLS1xdWlldCwgLS1zaWxlbnRcbiIKI34gIiAgICAgICAgICAgICAgICAgc3VwcHJlc3MgYXV0b21hdGljIHByaW50aW5nIG9mIHBhdHRlcm4gc3BhY2VcbiIKI34gIiAgLWUgc2NyaXB0LCAtLWV4cHJlc3Npb249c2NyaXB0XG4iCiN+ICIgICAgICAgICAgICAgICAgIGFkZCB0aGUgc2NyaXB0IHRvIHRoZSBjb21tYW5kcyB0byBiZSBleGVjdXRlZFxuIgojfiAiICAtZiBzY3JpcHQtZmlsZSwgLS1maWxlPXNjcmlwdC1maWxlXG4iCiN+ICIgICAgICAgICAgICAgICAgIGFkZCB0aGUgY29udGVudHMgb2Ygc2NyaXB0LWZpbGUgdG8gdGhlIGNvbW1hbmRzIHRvIGJlICIKI34gImV4ZWN1dGVkXG4iCiN+ICIgIC1sIE4sIC0tbGluZS1sZW5ndGg9TlxuIgojfiAiICAgICAgICAgICAgICAgICBzcGVjaWZ5IHRoZSBkZXNpcmVkIGxpbmUtd3JhcCBsZW5ndGggZm9yIHRoZSBgbCcgIgojfiAiY29tbWFuZFxuIgojfiAiICAtdSwgLS11bmJ1ZmZlcmVkXG4iCiN+ICJcbiIKI34gIiAgICAgIC0taGVscCAgICAgZGlzcGxheSB0aGlzIGhlbHAgYW5kIGV4aXRcbiIKI34gIiAgLVYsIC0tdmVyc2lvbiAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKI34gIlxuIgojfiAiSWYgbm8gLWUsIC0tZXhwcmVzc2lvbiwgLWYsIG9yIC0tZmlsZSBvcHRpb24gaXMgZ2l2ZW4sIHRoZW4gdGhlIGZpcnN0XG4iCiN+ICJub24tb3B0aW9uIGFyZ3VtZW50IGlzIHRha2VuIGFzIHRoZSBzZWQgc2NyaXB0IHRvIGludGVycHJldC4gIEFsbFxuIgojfiAicmVtYWluaW5nIGFyZ3VtZW50cyBhcmUgbmFtZXMgb2YgaW5wdXQgZmlsZXM7IGlmIG5vIGlucHV0IGZpbGVzIGFyZVxuIgojfiAic3BlY2lmaWVkLCB0aGVuIHRoZSBzdGFuZGFyZCBpbnB1dCBpcyByZWFkLlxuIgojfiAiXG4iCiN+IG1zZ3N0ciAiIgojfiAiJXMgW+3p8Onp9ODuXS4uLiB77en45+At7eno6fjx+i344/Lp5OEt6On48fp9IFvo7Pcg9eHl910uLi4gOvnl7un5IO/05eBcbiIKI34gIlxuIgojfiAiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtbiwgLS1xdWlldCwgLS1zaWxlbnRcbiIKI34gIiAgICAgICAgICAgICAgICAgIOno7uXo5eAg7/Tl4OEg+uXp8OH65CDh5/juIPrgIPHp9OP6IOzgXG4iCiN+ICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC1lIHNjcmlwdCwgLS1leHByZXNzaW9uPXNjcmlwdFxuIgojfiAiICAgICAgICAgICAgICAgICAgICAgICAg8vbh7CD56SDv+uXgIPrl4+X39Owgc2NyaXB0IPPx5eRcbiIKI34gIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtZiBzY3JpcHQtZmlsZSwgLS1maWxlPXNjcmlwdC1maWxlXG4iCiN+ICIgICAgICAgICAg8vbh7CD56SDv+uXgIPrl4+X39Owgc2NyaXB0LWZpbGUg7Pkg7+vl+uQg8/Hl5FxuIgojfiAiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtbCBOLCAtLWxpbmUtbGVuZ3RoPU5cbiIKI34gIiAgICAgICAgICAgICAgICAgICAgICAg+uPl9/Qg+OXh8iDp4fjp7iDk+OX5IOzj5eLrIE4g8uH3XG4iCiN+ICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLXUsIC0tdW5idWZmZXJlZFxuIgojfiAiXG4iCiN+ICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIPrp8Ov65O4g4PblIOXmIOTr+OPkIOL25CAgICAgICAgIC0taGVscFxuIgojfiAiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIOD25SD66e7y+uQg+vH44iDi9uQgIC1WLCAtLXZlcnNpb25cbiIKI34gIlxuIgojfiAiICAgICAgIO/l+eD45CDo8O7l4vjg5CAsLS1maWxlIOXgICwtZiAsLS1leHByZXNzaW9uICwtZSDt6fDp6fTg7iD44/Lp5OFcbiIKI34gIiAgICAgICDt8OnkIO3p+Prl8OQg7eno8O7l4vjg5CDs6yAu8uX26eHsIHNlZCD66fjx+usg+fj0+ukg7+np9ODuIOXw6eD5XG4iCiN+ICIgICAgICAgICAgICAgICAgLunw9/og6Oz3IPfp9OAg4Pj36ekgLOjs9yDp9uH3IOzrIPjj8unk4SA76Oz3IOn24fcg+uXu+VxuIgojfiAiXG4iCg==