IyBNZXNhamVsZSDubiBsaW1iYSByb23ibuMgcGVudHJ1IHNlZC4KIyBDb3B5cmlnaHQgKEMpIDIwMDQgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCiMgQWNlc3QgZmm6aWVyIGVzdGUgZGlzdHJpYnVpdCBzdWIgYWNlZWG6aSBsaWNlbv7jIGNhILppIHBhY2hldHVsIHNlZC4KIyBMYXVyZW50aXUgQnV6ZHVnYW4gPGxidXpAcm9saXgub3JnPiwgMjAwMywyMDA0LDIwMDUuCiMKIwptc2dpZCAiIgptc2dzdHIgIiIKIlByb2plY3QtSWQtVmVyc2lvbjogc2VkIDQuMS40XG4iCiJSZXBvcnQtTXNnaWQtQnVncy1UbzogYnVnLWdudS11dGlsc0BnbnUub3JnXG4iCiJQT1QtQ3JlYXRpb24tRGF0ZTogMjAwOS0wNi0yNyAxNTowOCswMjAwXG4iCiJQTy1SZXZpc2lvbi1EYXRlOiAyMDA1LTA0LTE5IDEyOjAwLTA1MDBcbiIKIkxhc3QtVHJhbnNsYXRvcjogTGF1cmVudGl1IEJ1emR1Z2FuIDxsYnV6QHJvbGl4Lm9yZz5cbiIKIkxhbmd1YWdlLVRlYW06IFJvbWFuaWFuIDx0cmFuc2xhdGlvbi10ZWFtLXJvQGxpc3RzLnNvdXJjZWZvcmdlLm5ldD5cbiIKIk1JTUUtVmVyc2lvbjogMS4wXG4iCiJDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9SVNPLTg4NTktMlxuIgoiQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdFxuIgoiUGx1cmFsLUZvcm1zOiBucGx1cmFscz0yOyBwbHVyYWw9KG4gIT0gMSk7XG4iCgojOiBzZWQvY29tcGlsZS5jOjE2MQptc2dpZCAibXVsdGlwbGUgYCEncyIKbXNnc3RyICJgISctdXJpIG11bHRpcGxlIgoKIzogc2VkL2NvbXBpbGUuYzoxNjIKbXNnaWQgInVuZXhwZWN0ZWQgYCwnIgptc2dzdHIgImAsJyBuZWG6dGVwdGF0IgoKIzogc2VkL2NvbXBpbGUuYzoxNjMKbXNnaWQgImludmFsaWQgdXNhZ2Ugb2YgK04gb3Igfk4gYXMgZmlyc3QgYWRkcmVzcyIKbXNnc3RyICJOdSBzZSBwb2F0ZSBmb2xvc2kgK04gc2F1IH5OIGNhIHByaW1hIGFkcmVz4yIKCiM6IHNlZC9jb21waWxlLmM6MTY0Cm1zZ2lkICJ1bm1hdGNoZWQgYHsnIgptc2dzdHIgImB7JyBm43LjIHBlcmVjaGUiCgojOiBzZWQvY29tcGlsZS5jOjE2NQptc2dpZCAidW5leHBlY3RlZCBgfSciCm1zZ3N0ciAiYH0nIG5lYbp0ZXB0YXQiCgojOiBzZWQvY29tcGlsZS5jOjE2Ngptc2dpZCAiZXh0cmEgY2hhcmFjdGVycyBhZnRlciBjb21tYW5kIgptc2dzdHIgImV4dHJhIGNhcmFjdGVyZSBkdXDjIGNvbWFuZOMiCgojOiBzZWQvY29tcGlsZS5jOjE2Nwptc2dpZCAiZXhwZWN0ZWQgXFwgYWZ0ZXIgYGEnLCBgYycgb3IgYGknIgptc2dzdHIgImVzdGUgYbp0ZXB0YXQgXFwgZHVw4yBgYScsIGBjJyBzYXUgYGknIgoKIzogc2VkL2NvbXBpbGUuYzoxNjgKbXNnaWQgImB9JyBkb2Vzbid0IHdhbnQgYW55IGFkZHJlc3NlcyIKbXNnc3RyICJgfScgbnUgdnJlYSBuaWNpIG8gYWRyZXPjIgoKIzogc2VkL2NvbXBpbGUuYzoxNjkKbXNnaWQgIjogZG9lc24ndCB3YW50IGFueSBhZGRyZXNzZXMiCm1zZ3N0ciAiOiBudSB2cmVhIG5pY2kgbyBhZHJlc+MiCgojOiBzZWQvY29tcGlsZS5jOjE3MAptc2dpZCAiY29tbWVudHMgZG9uJ3QgYWNjZXB0IGFueSBhZGRyZXNzZXMiCm1zZ3N0ciAiY29tZW50YXJpaWxlIG51IGFjY2VwdOMgbmljaSBvIGFkcmVz4yIKCiM6IHNlZC9jb21waWxlLmM6MTcxCm1zZ2lkICJtaXNzaW5nIGNvbW1hbmQiCm1zZ3N0ciAiY29tYW5k4yBhYnNlbnTjIgoKIzogc2VkL2NvbXBpbGUuYzoxNzIKbXNnaWQgImNvbW1hbmQgb25seSB1c2VzIG9uZSBhZGRyZXNzIgptc2dzdHIgImNvbWFuZGEgZm9sb3NlunRlIG51bWFpIG8gYWRyZXPjIgoKIzogc2VkL2NvbXBpbGUuYzoxNzMKbXNnaWQgInVudGVybWluYXRlZCBhZGRyZXNzIHJlZ2V4Igptc2dzdHIgInJlZ2V4IGFkcmVz4yBuZXRlcm1pbmF04yIKCiM6IHNlZC9jb21waWxlLmM6MTc0Cm1zZ2lkICJ1bnRlcm1pbmF0ZWQgYHMnIGNvbW1hbmQiCm1zZ3N0ciAiY29tYW5k4yBgcycgbmV0ZXJtaW5hdOMiCgojOiBzZWQvY29tcGlsZS5jOjE3NQptc2dpZCAidW50ZXJtaW5hdGVkIGB5JyBjb21tYW5kIgptc2dzdHIgImNvbWFuZOMgYHknIG5ldGVybWluYXTjIgoKIzogc2VkL2NvbXBpbGUuYzoxNzYKbXNnaWQgInVua25vd24gb3B0aW9uIHRvIGBzJyIKbXNnc3RyICJvcP5pdW5lIG5lY3Vub3NjdXTjIHBlbnRydSBgcyciCgojOiBzZWQvY29tcGlsZS5jOjE3Nwptc2dpZCAibXVsdGlwbGUgYHAnIG9wdGlvbnMgdG8gYHMnIGNvbW1hbmQiCm1zZ3N0ciAibXVsdGlwbGUgb3D+aXVuaSBgcCcgcGVudHJ1IGNvbWFuZGEgYHMnIgoKIzogc2VkL2NvbXBpbGUuYzoxNzgKbXNnaWQgIm11bHRpcGxlIGBnJyBvcHRpb25zIHRvIGBzJyBjb21tYW5kIgptc2dzdHIgIm11bHRpcGxlIG9w/ml1bmkgYGcnIHBlbnRydSBjb21hbmRhIGBzJyIKCiM6IHNlZC9jb21waWxlLmM6MTc5Cm1zZ2lkICJtdWx0aXBsZSBudW1iZXIgb3B0aW9ucyB0byBgcycgY29tbWFuZCIKbXNnc3RyICJudW3jciBtdWx0aXBsdSBkZSBvcP5pdW5pIHBlbnRydSBjb21hbmRhIGBzJyIKCiM6IHNlZC9jb21waWxlLmM6MTgwCm1zZ2lkICJudW1iZXIgb3B0aW9uIHRvIGBzJyBjb21tYW5kIG1heSBub3QgYmUgemVybyIKbXNnc3RyICJudW3jcnVsIGRlIG9w/ml1bmkgcGVudHJ1IGNvbWFuZGEgYHMnIG51IHBvYXRlIGZpIHplcm8iCgojOiBzZWQvY29tcGlsZS5jOjE4MQptc2dpZCAic3RyaW5ncyBmb3IgYHknIGNvbW1hbmQgYXJlIGRpZmZlcmVudCBsZW5ndGhzIgptc2dzdHIgIrppcnVyaWxlIHBlbnRydSBjb21hbmRhIHkgYXUgbHVuZ2ltaSBkaWZlcml0ZSIKCiM6IHNlZC9jb21waWxlLmM6MTgyCm1zZ2lkICJkZWxpbWl0ZXIgY2hhcmFjdGVyIGlzIG5vdCBhIHNpbmdsZS1ieXRlIGNoYXJhY3RlciIKbXNnc3RyICJjYWFjdGVydWwgZGVsaW1pdGF0b3IgbnUgZXN0ZSB1biBjYXJhY3RlciBkZSB1biBvY3RldCIKCiM6IHNlZC9jb21waWxlLmM6MTgzCm1zZ2lkICJleHBlY3RlZCBuZXdlciB2ZXJzaW9uIG9mIHNlZCIKbXNnc3RyICJhbSBhunRlcHRhdCBvIHZlcnNpdW5lIG1haSByZWNlbnTjIGRlIHNlZCIKCiM6IHNlZC9jb21waWxlLmM6MTg0Cm1zZ2lkICJpbnZhbGlkIHVzYWdlIG9mIGxpbmUgYWRkcmVzcyAwIgptc2dzdHIgImZvbG9zaXJlIGludmFsaWTjIGFkcmVz4yBsaW5pZSAwIgoKIzogc2VkL2NvbXBpbGUuYzoxODUKIywgYy1mb3JtYXQKbXNnaWQgInVua25vd24gY29tbWFuZDogYCVjJyIKbXNnc3RyICJjb21hbmTjIG5lY3Vub3NjdXTjOiBgJWMnIgoKIzogc2VkL2NvbXBpbGUuYzoyMDgKIywgYy1mb3JtYXQKbXNnaWQgIiVzOiBmaWxlICVzIGxpbmUgJWx1OiAlc1xuIgptc2dzdHIgIiVzOiBmabppZXJ1bCAlcyBsaW5pYSAlbHU6ICVzXG4iCgojOiBzZWQvY29tcGlsZS5jOjIxMQojLCBjLWZvcm1hdAptc2dpZCAiJXM6IC1lIGV4cHJlc3Npb24gIyVsdSwgY2hhciAlbHU6ICVzXG4iCm1zZ3N0ciAiJXM6IC1lIGV4cHJlc2lhICMlbHUsIGNhcmFjdGVydWwgJWx1OiAlc1xuIgoKIzogc2VkL2NvbXBpbGUuYzoxNjY1CiMsIGMtZm9ybWF0Cm1zZ2lkICJjYW4ndCBmaW5kIGxhYmVsIGZvciBqdW1wIHRvIGAlcyciCm1zZ3N0ciAibnUgcG90IGfjc2kgZXRpY2hldGEgcGVudHJ1IHNhbHR1bCBsYSBgJXMnIgoKIzogc2VkL2V4ZWN1dGUuYzo3MDkKIywgYy1mb3JtYXQKbXNnaWQgIiVzOiBjYW4ndCByZWFkICVzOiAlc1xuIgptc2dzdHIgIiVzOiBudSBwb3QgY2l0aSAlczogJXNcbiIKCiM6IHNlZC9leGVjdXRlLmM6NzQwCiMsIGMtZm9ybWF0Cm1zZ2lkICJjb3VsZG4ndCBlZGl0ICVzOiBpcyBhIHRlcm1pbmFsIgptc2dzdHIgIm51IGFtIHB1dHV0IGVkaXRhICVzOiBhY2VzdGEgZXN0ZSB1biB0ZXJtaW5hbCIKCiM6IHNlZC9leGVjdXRlLmM6NzQ1CiMsIGMtZm9ybWF0Cm1zZ2lkICJjb3VsZG4ndCBlZGl0ICVzOiBub3QgYSByZWd1bGFyIGZpbGUiCm1zZ3N0ciAibnUgYXAgcHV0dSBlZGl0YSAlczogYWNlc3RhIG51IGVzdGUgdW4gZmm6aWVyIG5vcm1hbCIKCiM6IHNlZC9leGVjdXRlLmM6NzU3CiMsIGMtZm9ybWF0Cm1zZ2lkICIlczogd2FybmluZzogZmFpbGVkIHRvIHNldCBkZWZhdWx0IGZpbGUgY3JlYXRpb24gY29udGV4dCB0byAlczogJXMiCm1zZ3N0ciAiIgoKIzogc2VkL2V4ZWN1dGUuYzo3NjQKIywgYy1mb3JtYXQKbXNnaWQgIiVzOiB3YXJuaW5nOiBmYWlsZWQgdG8gZ2V0IHNlY3VyaXR5IGNvbnRleHQgb2YgJXM6ICVzIgptc2dzdHIgIiIKCiM6IHNlZC9leGVjdXRlLmM6NzgzIHNlZC91dGlscy5jOjIyNwojLCBjLWZvcm1hdAptc2dpZCAiY291bGRuJ3Qgb3BlbiB0ZW1wb3JhcnkgZmlsZSAlczogJXMiCm1zZ3N0ciAibnUgYW0gcHV0dXQgZGVzY2hpZGUgZmm6aWVydWwgdGVtcG9yYXIgJXM6ICVzIgoKIzogc2VkL2V4ZWN1dGUuYzoxMzE3IHNlZC9leGVjdXRlLmM6MTQ5Nwptc2dpZCAiZXJyb3IgaW4gc3VicHJvY2VzcyIKbXNnc3RyICJlcm9hcmUg7m4gc3VicHJvY2VzIgoKIzogc2VkL2V4ZWN1dGUuYzoxMzE5Cm1zZ2lkICJvcHRpb24gYGUnIG5vdCBzdXBwb3J0ZWQiCm1zZ3N0ciAib3D+aXVuZWEgYGUnIG51IGUgc3Vwb3J0YXTjIgoKIzogc2VkL2V4ZWN1dGUuYzoxNDk5Cm1zZ2lkICJgZScgY29tbWFuZCBub3Qgc3VwcG9ydGVkIgptc2dzdHIgImNvbWFuZGEgYGUnIG51IGUgc3Vwb3J0YXTjIgoKIzogc2VkL2V4ZWN1dGUuYzoxODQzCm1zZ2lkICJubyBpbnB1dCBmaWxlcyIKbXNnc3RyICIiCgojOiBzZWQvcmVnZXhwLmM6NDEKbXNnaWQgIm5vIHByZXZpb3VzIHJlZ3VsYXIgZXhwcmVzc2lvbiIKbXNnc3RyICJuaWNpIG8gZXhwcmVzaWUgcmVndWxhcuMgYW50ZXJpb2Fy4yIKCiM6IHNlZC9yZWdleHAuYzo0Mgptc2dpZCAiY2Fubm90IHNwZWNpZnkgbW9kaWZpZXJzIG9uIGVtcHR5IHJlZ2V4cCIKbXNnc3RyICJudSBzZSBwb3Qgc3BlY2lmaWNhIG1vZGlmaWNhdG9yaSBwZW50cnUgcmVnZXhwIHZpZOMiCgojOiBzZWQvcmVnZXhwLmM6MTMxCiMsIGMtZm9ybWF0Cm1zZ2lkICJpbnZhbGlkIHJlZmVyZW5jZSBcXCVkIG9uIGBzJyBjb21tYW5kJ3MgUkhTIgptc2dzdHIgInJlZmVyaW7+4yBpbnZhbGlk4yBcXCVkIHBlbnRydSBleHByZXNpYSBkaW4gZHJlYXB0YSBhIGNvbWVuemlpIGBzJyIKCiM6IHNlZC9zZWQuYzo5NwojLCBjLWZvcm1hdAptc2dpZCAiIgoiR05VIHNlZCBob21lIHBhZ2U6IDxodHRwOi8vd3d3LmdudS5vcmcvc29mdHdhcmUvc2VkLz4uXG4iCiJHZW5lcmFsIGhlbHAgdXNpbmcgR05VIHNvZnR3YXJlOiA8aHR0cDovL3d3dy5nbnUub3JnL2dldGhlbHAvPi5cbiIKbXNnc3RyICIiCgojOiBzZWQvc2VkLmM6MTA0CiMsIGZ1enp5LCBjLWZvcm1hdAptc2dpZCAiIgoiRS1tYWlsIGJ1ZyByZXBvcnRzIHRvOiA8JXM+LlxuIgoiQmUgc3VyZSB0byBpbmNsdWRlIHRoZSB3b3JkIGBgJXMnJyBzb21ld2hlcmUgaW4gdGhlIGBgU3ViamVjdDonJyBmaWVsZC5cbiIKbXNnc3RyICIiCiJSYXBvcnRh/mkgYnVnLXVyaSBwcmluIGUtbWFpbCBsYTogJXMgLlxuIgoiRmn+aSBzaWd1cmkgY+MgaW5jbHVkZf5pIGBgJXMnJyB1bmRldmEg7m4gY+JtcHVsIGBgU3ViamVjdDonJy5cbiIKCiM6IHNlZC9zZWQuYzoxMTcKbXNnaWQgIiIKIiAgLVIsIC0tcmVnZXhwLXBlcmxcbiIKIiAgICAgICAgICAgICAgICAgdXNlIFBlcmwgNSdzIHJlZ3VsYXIgZXhwcmVzc2lvbnMgc3ludGF4IGluIHRoZSBzY3JpcHQuXG4iCm1zZ3N0ciAiIgoiICAtUiwgLS1yZWdleHAtcGVybFxuIgoiICAgICAgICAgICAgICAgIGZvbG9zZbp0ZSBzaW50YXhhIGV4cHJlc2lpbG9yIHJlZ3VsYXJlIGRpbiBQZXJsIDUg7m4gIgoic2NyaXB0LlxuIgoKIzogc2VkL3NlZC5jOjEyMgojLCBjLWZvcm1hdAptc2dpZCAiIgoiVXNhZ2U6ICVzIFtPUFRJT05dLi4uIHtzY3JpcHQtb25seS1pZi1uby1vdGhlci1zY3JpcHR9IFtpbnB1dC1maWxlXS4uLlxuIgoiXG4iCm1zZ3N0ciAiIgoiRm9sb3NpcmU6ICVzIFtPUN5JVU5FXS4uLiB7c2NyaXB0LWRhY+MtbnUtYWx0LXNjcmlwdH0gW2Zpumllci1pbnRyYXJlXS4uLlxuIgoiXG4iCgojOiBzZWQvc2VkLmM6MTI2CiMsIGMtZm9ybWF0Cm1zZ2lkICIiCiIgIC1uLCAtLXF1aWV0LCAtLXNpbGVudFxuIgoiICAgICAgICAgICAgICAgICBzdXBwcmVzcyBhdXRvbWF0aWMgcHJpbnRpbmcgb2YgcGF0dGVybiBzcGFjZVxuIgptc2dzdHIgIiIKIiAgLW4sIC0tcXVpZXQsIC0tc2lsZW50XG4iCiIgICAgICAgICAgICAgICAgIGVsaW1pbuMgYWZpumFyZWEgYXV0b21hdOMgYSBzcGH+aXVsdWkgZGUgcGF0dGVyblxuIgoKIzogc2VkL3NlZC5jOjEyOAojLCBjLWZvcm1hdAptc2dpZCAiIgoiICAtZSBzY3JpcHQsIC0tZXhwcmVzc2lvbj1zY3JpcHRcbiIKIiAgICAgICAgICAgICAgICAgYWRkIHRoZSBzY3JpcHQgdG8gdGhlIGNvbW1hbmRzIHRvIGJlIGV4ZWN1dGVkXG4iCm1zZ3N0ciAiIgoiICAtZSBzY3JpcHQsIC0tZXhwcmVzc2lvbj1zY3JpcHRcbiIKIiAgICAgICAgICAgICAgICAgYWRhdWfjIHNjcmlwdHVsIGxhIGNvbWVuemlsZSBjZSB0cmVidWllIGV4ZWN1dGF0ZVxuIgoKIzogc2VkL3NlZC5jOjEzMAojLCBjLWZvcm1hdAptc2dpZCAiIgoiICAtZiBzY3JpcHQtZmlsZSwgLS1maWxlPXNjcmlwdC1maWxlXG4iCiIgICAgICAgICAgICAgICAgIGFkZCB0aGUgY29udGVudHMgb2Ygc2NyaXB0LWZpbGUgdG8gdGhlIGNvbW1hbmRzIHRvIGJlICIKImV4ZWN1dGVkXG4iCm1zZ3N0ciAiIgoiICAtZiBzY3JpcHQtZmlsZSwgLS1maWxlPXNjcmlwdC1maWxlXG4iCiIgICAgICAgICAgICAgICAgIGFkYXVn4yBjb27+aW51dHVsIHNjcmlwdHVsdWktZmm6aWVyIGxhIGNvbWVuemlsZSBjZVxuIgoiICAgICAgICAgICAgICAgICB0cmVidWllIGV4ZWN1dGF0ZVxuIgoKIzogc2VkL3NlZC5jOjEzMwojLCBjLWZvcm1hdAptc2dpZCAiIgoiICAtLWZvbGxvdy1zeW1saW5rc1xuIgoiICAgICAgICAgICAgICAgICBmb2xsb3cgc3ltbGlua3Mgd2hlbiBwcm9jZXNzaW5nIGluIHBsYWNlXG4iCm1zZ3N0ciAiIgoKIzogc2VkL3NlZC5jOjEzNgojLCBjLWZvcm1hdAptc2dpZCAiIgoiICAtaVtTVUZGSVhdLCAtLWluLXBsYWNlWz1TVUZGSVhdXG4iCiIgICAgICAgICAgICAgICAgIGVkaXQgZmlsZXMgaW4gcGxhY2UgKG1ha2VzIGJhY2t1cCBpZiBleHRlbnNpb24gc3VwcGxpZWQpXG4iCm1zZ3N0ciAiIgoiICAtaVtTVUZJWF0sIC0taW4tcGxhY2VbPVNVRklYXVxuIgoiICAgICAgICAgICAgICAgICBlZGl0ZWF64yBmabppZXJlbGUgcGUgbG9jIChjcmVheuMgY29waWkgZGUgc2lndXJhbv7jXG4iCiIgICAgICAgICAgICAgICAgIGRhY+MgZXN0ZSBmdXJuaXphdOMgZXh0ZW5zaWEpXG4iCgojOiBzZWQvc2VkLmM6MTM5CiMsIGMtZm9ybWF0Cm1zZ2lkICIiCiIgIC1iLCAtLWJpbmFyeVxuIgoiICAgICAgICAgICAgICAgICBvcGVuIGZpbGVzIGluIGJpbmFyeSBtb2RlIChDUitMRnMgYXJlIG5vdCBwcm9jZXNzZWQgIgoic3BlY2lhbGx5KVxuIgptc2dzdHIgIiIKCiM6IHNlZC9zZWQuYzoxNDIKIywgYy1mb3JtYXQKbXNnaWQgIiIKIiAgLWwgTiwgLS1saW5lLWxlbmd0aD1OXG4iCiIgICAgICAgICAgICAgICAgIHNwZWNpZnkgdGhlIGRlc2lyZWQgbGluZS13cmFwIGxlbmd0aCBmb3IgdGhlIGBsJyBjb21tYW5kXG4iCm1zZ3N0ciAiIgoiICAtbCBOLCAtLWxpbmUtbGVuZ3RoPU5cbiIKIiAgICAgICAgICAgICAgICAgc3BlY2lmaWPjIGx1bmdpbWVhIGRvcml04yBwZW50cnUgdHJlY3V0IGxhIGxpbmlhIHVybeN0b2FyZVxuIgoiICAgICAgICAgICAgICAgICBwZW50cnUgY29tYW5kYSBgbCdcbiIKCiM6IHNlZC9zZWQuYzoxNDQKIywgYy1mb3JtYXQKbXNnaWQgIiIKIiAgLS1wb3NpeFxuIgoiICAgICAgICAgICAgICAgICBkaXNhYmxlIGFsbCBHTlUgZXh0ZW5zaW9ucy5cbiIKbXNnc3RyICIiCiIgIC0tcG9zaXhcbiIKIiAgICAgICAgICAgICAgICAgZGVhY3RpdmVheuMgdG9hdGUgZXh0ZW5zaWlsZSBHTlUuXG4iCgojOiBzZWQvc2VkLmM6MTQ2CiMsIGMtZm9ybWF0Cm1zZ2lkICIiCiIgIC1yLCAtLXJlZ2V4cC1leHRlbmRlZFxuIgoiICAgICAgICAgICAgICAgICB1c2UgZXh0ZW5kZWQgcmVndWxhciBleHByZXNzaW9ucyBpbiB0aGUgc2NyaXB0LlxuIgptc2dzdHIgIiIKIiAgLXIsIC0tcmVnZXhwLWV4dGVuZGVkXG4iCiIgICAgICAgICAgICAgICAgIGZvbG9zZbp0ZSBzaW50YXhhIGV4dGluc+MgYSBleHByZXNpaWxvciByZWd1bGFyZSDubiAiCiJzY3JpcHQuXG4iCgojOiBzZWQvc2VkLmM6MTUxCiMsIGMtZm9ybWF0Cm1zZ2lkICIiCiIgIC1zLCAtLXNlcGFyYXRlXG4iCiIgICAgICAgICAgICAgICAgIGNvbnNpZGVyIGZpbGVzIGFzIHNlcGFyYXRlIHJhdGhlciB0aGFuIGFzIGEgc2luZ2xlICIKImNvbnRpbnVvdXNcbiIKIiAgICAgICAgICAgICAgICAgbG9uZyBzdHJlYW0uXG4iCm1zZ3N0ciAiIgoiICAtcywgLS1zZXBhcmF0ZVxuIgoiICAgICAgICAgICAgICAgICBjb25zaWRlcuMgZmm6aWVyZWxlIGNhIGZpaW5kIHNlcGFyYXRlLCDubiBsb2MgZGUgYSBsZVxuIgoiICAgICAgICAgICAgICAgICBjb25zaWRlcmEgdW4gZmx1eCBsdW5nIGNvbnRpbnV1LlxuIgoKIzogc2VkL3NlZC5jOjE1NAojLCBjLWZvcm1hdAptc2dpZCAiIgoiICAtdSwgLS11bmJ1ZmZlcmVkXG4iCiIgICAgICAgICAgICAgICAgIGxvYWQgbWluaW1hbCBhbW91bnRzIG9mIGRhdGEgZnJvbSB0aGUgaW5wdXQgZmlsZXMgYW5kICIKImZsdXNoXG4iCiIgICAgICAgICAgICAgICAgIHRoZSBvdXRwdXQgYnVmZmVycyBtb3JlIG9mdGVuXG4iCm1zZ3N0ciAiIgoiICAtdSwgLS11bmJ1ZmZlcmVkXG4iCiIgICAgICAgICAgICAgICAgIO5uY2FyY+MgbyBjYW50aXRhdGUgbWluaW3jIGRlIGRhdGUgZGluIGZpumllcmVsZSBkZSAiCiJpbnRyYXJlXG4iCiIgICAgICAgICAgICAgICAgILppIGdvbGW6dGUgYnVmZmVyZWxlIG1haSBkZXNcbiIKCiM6IHNlZC9zZWQuYzoxNTcKIywgYy1mb3JtYXQKbXNnaWQgIiAgICAgIC0taGVscCAgICAgZGlzcGxheSB0aGlzIGhlbHAgYW5kIGV4aXRcbiIKbXNnc3RyICIgICAgICAtLWhlbHAgICAgIGFmabplYXrjIGFjZXN0ZSBtZXNhamUgumkgdGVybWlu41xuIgoKIzogc2VkL3NlZC5jOjE1OAojLCBjLWZvcm1hdAptc2dpZCAiICAgICAgLS12ZXJzaW9uICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgptc2dzdHIgIiAgICAgIC0tdmVyc2lvbiAgYWZpumVheuMgaW5mb3JtYf5paSBkZXNwcmUgdmVyc2l1bmUgumkgdGVybWlu41xuIgoKIzogc2VkL3NlZC5jOjE1OQojLCBjLWZvcm1hdAptc2dpZCAiIgoiXG4iCiJJZiBubyAtZSwgLS1leHByZXNzaW9uLCAtZiwgb3IgLS1maWxlIG9wdGlvbiBpcyBnaXZlbiwgdGhlbiB0aGUgZmlyc3RcbiIKIm5vbi1vcHRpb24gYXJndW1lbnQgaXMgdGFrZW4gYXMgdGhlIHNlZCBzY3JpcHQgdG8gaW50ZXJwcmV0LiAgQWxsXG4iCiJyZW1haW5pbmcgYXJndW1lbnRzIGFyZSBuYW1lcyBvZiBpbnB1dCBmaWxlczsgaWYgbm8gaW5wdXQgZmlsZXMgYXJlXG4iCiJzcGVjaWZpZWQsIHRoZW4gdGhlIHN0YW5kYXJkIGlucHV0IGlzIHJlYWQuXG4iCiJcbiIKbXNnc3RyICIiCiJcbiIKIkRhY+MgbnUgZXN0ZSBkYXTjIG5pY2kgdW5hIGRpbiBvcP5pdW5pbGUgLWUsIC0tZXhwcmVzc2lvbiwgLWYsIHNhdSAtLWZpbGUsXG4iCiJhdHVuY2kgcHJpbXVsIGFyZ3VtZW50IG5vbi1vcP5pdW5lIGVzdGUgbHVhdCBjYSBzY3JpcHR1bCBzZWQgZGUgIgoiaW50ZXJwcmV0YXQuXG4iCiJUb2F0ZSBhcmd1bWVudGVsZSBy421hc2Ugc3VudCBjb25zaWRlcmF0ZSBudW1lIGRlIGZpumllcmUgZGUgaW50cmFyZTsgIGRhY+NcbiIKIm51IGVzdGUgc3BlY2lmaWNhdCBuaWNpIHVuIGZpumllciBkZSBpbnRyYXJlLCBlc3RlIGNpdGl04yBpbnRyYXJlYSAiCiJzdGFuZGFyZC5cbiIKIlxuIgoKIzogc2VkL3NlZC5jOjMxNQojLCBjLWZvcm1hdAptc2dpZCAic3VwZXItc2VkIHZlcnNpb24gJXNcbiIKbXNnc3RyICJ2ZXJzaXVuZWEgc3VwZXItc2VkICVzXG4iCgojOiBzZWQvc2VkLmM6MzE2CiMsIGMtZm9ybWF0Cm1zZ2lkICIiCiJiYXNlZCBvbiBHTlUgc2VkIHZlcnNpb24gJXNcbiIKIlxuIgptc2dzdHIgIiIKImJhemF0IHBlIEdOVSBzZWQgdmVyc2l1bmVhICVzXG4iCiJcbiIKCiM6IHNlZC9zZWQuYzozMTgKIywgYy1mb3JtYXQKbXNnaWQgIkdOVSBzZWQgdmVyc2lvbiAlc1xuIgptc2dzdHIgIkdOVSBzZWQgdmVyc2l1bmVhICVzXG4iCgojOiBzZWQvc2VkLmM6MzIwCiMsIGZ1enp5LCBjLWZvcm1hdAptc2dpZCAiIgoiQ29weXJpZ2h0IChDKSAlZCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy5cbiIKIlRoaXMgaXMgZnJlZSBzb2Z0d2FyZTsgc2VlIHRoZSBzb3VyY2UgZm9yIGNvcHlpbmcgY29uZGl0aW9ucy4gIFRoZXJlIGlzIE5PXG4iCiJ3YXJyYW50eTsgbm90IGV2ZW4gZm9yIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSxcbiIKInRvIHRoZSBleHRlbnQgcGVybWl0dGVkIGJ5IGxhdy5cbiIKbXNnc3RyICIiCiIlc1xuIgoiQWNlc3RhIGVzdGUgc29mdHdhcmUgbGliZXI7IHZlZGX+aSBjb2R1bCBzdXJz4yBwZW50cnUgY29uZGn+aWlsZSBkZSAiCiJjb3BpZXJlLlxuIgoiTnUgZXhpc3TjIE5JQ0kgbyBnYXJhbv5pZTsgbmljaSBt42NhciBwZW50cnUgVkFOREFCSUxJVEFURSBzYXUgUE9UUklWSVJFIFxuIgoiUEVOVFJVIFVOIEFOVU1FIFNDT1AsIGNvbmZvcm0gbGVnaWxvciDubiB2aWdvYXJlLlxuIgoKIzogc2VkL3V0aWxzLmM6OTMgc2VkL3V0aWxzLmM6NDM4CiMsIGMtZm9ybWF0Cm1zZ2lkICJjYW5ub3QgcmVtb3ZlICVzOiAlcyIKbXNnc3RyICJudSBwb3QgunRlcmdlICVzOiAlcyIKCiM6IHNlZC91dGlscy5jOjE2MwojLCBjLWZvcm1hdAptc2dpZCAiY291bGRuJ3Qgb3BlbiBmaWxlICVzOiAlcyIKbXNnc3RyICJudSBhbSBwdXR1dCBkZXNjaGlkZSBmabppZXJ1bCAlczogJXMiCgojOiBzZWQvdXRpbHMuYzoxODYKIywgZnV6enksIGMtZm9ybWF0Cm1zZ2lkICJjb3VsZG4ndCBhdHRhY2ggdG8gJXM6ICVzIgptc2dzdHIgIk51IGFtIHB1dHV0IHNjcmllICVkIGFydGljb2wg7m4gJXM6ICVzIgoKIzogc2VkL3V0aWxzLmM6MjQ1CiMsIGMtZm9ybWF0Cm1zZ2lkICJjb3VsZG4ndCB3cml0ZSAlZCBpdGVtIHRvICVzOiAlcyIKbXNnaWRfcGx1cmFsICJjb3VsZG4ndCB3cml0ZSAlZCBpdGVtcyB0byAlczogJXMiCm1zZ3N0clswXSAiTnUgYW0gcHV0dXQgc2NyaWUgJWQgYXJ0aWNvbCDubiAlczogJXMiCm1zZ3N0clsxXSAiTnUgYW0gcHV0dXQgc2NyaWUgJWQgYXJ0aWNvbGUg7m4gJXM6ICVzIgoKIzogc2VkL3V0aWxzLmM6MjYwIHNlZC91dGlscy5jOjI3NgojLCBjLWZvcm1hdAptc2dpZCAicmVhZCBlcnJvciBvbiAlczogJXMiCm1zZ3N0ciAiZXJvYXJlIGNpdGlyZSBwZW50cnUgJXM6ICVzIgoKIzogc2VkL3V0aWxzLmM6Mzc4CiMsIGZ1enp5LCBjLWZvcm1hdAptc2dpZCAiY291bGRuJ3QgZm9sbG93IHN5bWxpbmsgJXM6ICVzIgptc2dzdHIgIm51IGFtIHB1dHV0IGRlc2NoaWRlIGZpumllcnVsICVzOiAlcyIKCiM6IHNlZC91dGlscy5jOjQxMgojLCBmdXp6eSwgYy1mb3JtYXQKbXNnaWQgImNhbm5vdCBzdGF0ICVzOiAlcyIKbXNnc3RyICJudSBwb3QgcmVkZW51bWkgJXM6ICVzIgoKIzogc2VkL3V0aWxzLmM6NDQzCiMsIGMtZm9ybWF0Cm1zZ2lkICJjYW5ub3QgcmVuYW1lICVzOiAlcyIKbXNnc3RyICJudSBwb3QgcmVkZW51bWkgJXM6ICVzIgoKIzogbGliL3JlZ2NvbXAuYzoxMzQKbXNnaWQgIlN1Y2Nlc3MiCm1zZ3N0ciAiU3VjY2VzIgoKIzogbGliL3JlZ2NvbXAuYzoxMzcKbXNnaWQgIk5vIG1hdGNoIgptc2dzdHIgIk5pY2kgbyBwb3RyaXZpcmUiCgojOiBsaWIvcmVnY29tcC5jOjE0MAptc2dpZCAiSW52YWxpZCByZWd1bGFyIGV4cHJlc3Npb24iCm1zZ3N0ciAiRXhwcmVzaWUgcmVndWxhcuMgaW5jb3JlY3TjIgoKIzogbGliL3JlZ2NvbXAuYzoxNDMKbXNnaWQgIkludmFsaWQgY29sbGF0aW9uIGNoYXJhY3RlciIKbXNnc3RyICJDb2xh/ml1bmUgZGUgY2FyYWN0ZXJlIGluY29yZWN04yIKCiM6IGxpYi9yZWdjb21wLmM6MTQ2Cm1zZ2lkICJJbnZhbGlkIGNoYXJhY3RlciBjbGFzcyBuYW1lIgptc2dzdHIgIk51bWUgZGUgY2xhc+MgZGUgY2FyYWN0ZXJlIGluY29yZWN0IgoKIzogbGliL3JlZ2NvbXAuYzoxNDkKbXNnaWQgIlRyYWlsaW5nIGJhY2tzbGFzaCIKbXNnc3RyICJCYWNrc2xhc2gg7m4gY29hZOMiCgojOiBsaWIvcmVnY29tcC5jOjE1Mgptc2dpZCAiSW52YWxpZCBiYWNrIHJlZmVyZW5jZSIKbXNnc3RyICJSZWZlcmlu/uMg7m5hcG9pIGluY29yZWN04yIKCiM6IGxpYi9yZWdjb21wLmM6MTU1Cm1zZ2lkICJVbm1hdGNoZWQgWyBvciBbXiIKbXNnc3RyICJbIHNhdSBbXiBm43LjIHBlcmVjaGUiCgojOiBsaWIvcmVnY29tcC5jOjE1OAptc2dpZCAiVW5tYXRjaGVkICggb3IgXFwoIgptc2dzdHIgIiggc2F1IFxcKCBm43LjIHBlcmVjaGUiCgojOiBsaWIvcmVnY29tcC5jOjE2MQptc2dpZCAiVW5tYXRjaGVkIFxceyIKbXNnc3RyICJcXHsgZuNy4yBwZXJlY2hlIgoKIzogbGliL3JlZ2NvbXAuYzoxNjQKbXNnaWQgIkludmFsaWQgY29udGVudCBvZiBcXHtcXH0iCm1zZ3N0ciAiQ29u/mludXQgaW5jb3JlY3QgcGVudHJ1IFxce1xcfSIKCiM6IGxpYi9yZWdjb21wLmM6MTY3Cm1zZ2lkICJJbnZhbGlkIHJhbmdlIGVuZCIKbXNnc3RyICJTZuJyuml0IGRlIGludGVydmFsIGluY29yZWN0IgoKIzogbGliL3JlZ2NvbXAuYzoxNzAKbXNnaWQgIk1lbW9yeSBleGhhdXN0ZWQiCm1zZ3N0ciAiTWVtb3JpZSBlcHVpemF04yIKCiM6IGxpYi9yZWdjb21wLmM6MTczCm1zZ2lkICJJbnZhbGlkIHByZWNlZGluZyByZWd1bGFyIGV4cHJlc3Npb24iCm1zZ3N0ciAiRXhwcmVzaWUgcmVndWxhcuMgcHJlY2VkZW504yBpbmNvcmVjdOMiCgojOiBsaWIvcmVnY29tcC5jOjE3Ngptc2dpZCAiUHJlbWF0dXJlIGVuZCBvZiByZWd1bGFyIGV4cHJlc3Npb24iCm1zZ3N0ciAiU2bicrppdCBwcmVtYXR1ciBhbCBleHByZXNpZWkgcmVndWxhcmUiCgojOiBsaWIvcmVnY29tcC5jOjE3OQptc2dpZCAiUmVndWxhciBleHByZXNzaW9uIHRvbyBiaWciCm1zZ3N0ciAiRXhwcmVzaWUgcmVndWxhcuMgcHJlYSBtYXJlIgoKIzogbGliL3JlZ2NvbXAuYzoxODIKbXNnaWQgIlVubWF0Y2hlZCApIG9yIFxcKSIKbXNnc3RyICIpIHNhdSBcXCkgZuNy4yBwZXJlY2hlIgoKIzogbGliL3JlZ2NvbXAuYzo3MDMKbXNnaWQgIk5vIHByZXZpb3VzIHJlZ3VsYXIgZXhwcmVzc2lvbiIKbXNnc3RyICJOaWNpIG8gZXhwcmVzaWUgcmVndWxhcuMgYW50ZXJpb2Fy4yIK