IyBDaGluZXNlIHRyYW5zbGF0aW9ucyBmb3IgZmxleC4KIyBDb3B5cmlnaHQgKEMpIDIwMDIgVGhlIEZsZXggUHJvamVjdAojIFdhbmcgTGkgPGNoYXJsZXNAbGludXgubmV0LmNuPiwgMjAwMi4KIwptc2dpZCAiIgptc2dzdHIgIiIKIlByb2plY3QtSWQtVmVyc2lvbjogZmxleCAyLjUuOFxuIgoiUE9ULUNyZWF0aW9uLURhdGU6IDIwMDItMDYtMTkgMDk6NDMtMDQwMFxuIgoiUE8tUmV2aXNpb24tRGF0ZTogMjAwMi0wOC0xOCAxMDozNyswODAwXG4iCiJMYXN0LVRyYW5zbGF0b3I6IFdhbmcgTGkgPGNoYXJsZXNAbGludXgubmV0LmNuPlxuIgoiTGFuZ3VhZ2UtVGVhbTogQ2hpbmVzZSAoc2ltcGxpZmllZCkgPGkxOG4temhAZ29vZ2xlZ3JvdXBzLmNvbT5cbiIKIk1JTUUtVmVyc2lvbjogMS4wXG4iCiJDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9Z2IyMzEyXG4iCiJDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0XG4iCgojOiBkZmEuYzo2NAojLCBjLWZvcm1hdAptc2dpZCAiU3RhdGUgIyVkIGlzIG5vbi1hY2NlcHRpbmcgLVxuIgptc2dzdHIgIiIKCiM6IGRmYS5jOjEzMQptc2dpZCAiZGFuZ2Vyb3VzIHRyYWlsaW5nIGNvbnRleHQiCm1zZ3N0ciAiIgoKIzogZGZhLmM6MTc0Cm1zZ2lkICIgYXNzb2NpYXRlZCBydWxlIGxpbmUgbnVtYmVyczoiCm1zZ3N0ciAiIgoKIzogZGZhLmM6MjEyCm1zZ2lkICIgb3V0LXRyYW5zaXRpb25zOiAiCm1zZ3N0ciAiIgoKIzogZGZhLmM6MjIwCm1zZ2lkICIiCiJcbiIKIiBqYW0tdHJhbnNpdGlvbnM6IEVPRiAiCm1zZ3N0ciAiIgoKIzogZGZhLmM6MzU3Cm1zZ2lkICJjb25zaXN0ZW5jeSBjaGVjayBmYWlsZWQgaW4gZXBzY2xvc3VyZSgpIgptc2dzdHIgImVwc2Nsb3N1cmUoKSDW0LXE0rvWwtDUvOyy6cqnsNwiCgojOiBkZmEuYzo0NDMKbXNnaWQgIiIKIlxuIgoiXG4iCiJERkEgRHVtcDpcbiIKIlxuIgptc2dzdHIgIiIKIlxuIgoiXG4iCiJERkEgyuSz9qO6XG4iCiJcbiIKCiM6IGRmYS5jOjU4OQptc2dpZCAiY291bGQgbm90IGNyZWF0ZSB1bmlxdWUgZW5kLW9mLWJ1ZmZlciBzdGF0ZSIKbXNnc3RyICLO3reotLS9qLbAwaK1xCBlbmQtb2YtYnVmZmVyINe0zKwiCgojOiBkZmEuYzo2MTAKIywgYy1mb3JtYXQKbXNnaWQgInN0YXRlICMgJWQ6XG4iCm1zZ3N0ciAi17TMrCAjICVko7pcbiIKCiM6IGRmYS5jOjk5NAptc2dpZCAiY29uc2lzdGVuY3kgY2hlY2sgZmFpbGVkIGluIHN5bWZvbGxvd3NldCIKbXNnc3RyICJzeW1mb2xsb3dzZXQg1tC1xNK71sLQ1LzssunKp7DcIgoKIzogZGZhLmM6MTA0Nwptc2dpZCAiYmFkIHRyYW5zaXRpb24gY2hhcmFjdGVyIGRldGVjdGVkIGluIHN5bXBhcnRpdGlvbigpIgptc2dzdHIgItTaIHN5bXBhcnRpdGlvbigpILzssuK1vbTtzvO1xLHku7vX1rf7IgoKIzogZ2VuLmM6MjUxCm1zZ2lkICIiCiJcbiIKIlxuIgoiRXF1aXZhbGVuY2UgQ2xhc3NlczpcbiIKIlxuIgptc2dzdHIgIiIKIlxuIgoiXG4iCiK1yLzbwOCjulxuIgoiXG4iCgojOiBnZW4uYzo0MjkgZ2VuLmM6OTEzCiMsIGMtZm9ybWF0Cm1zZ2lkICJzdGF0ZSAjICVkIGFjY2VwdHM6IFslZF1cbiIKbXNnc3RyICIiCgojOiBnZW4uYzo4MzQKIywgYy1mb3JtYXQKbXNnaWQgInN0YXRlICMgJWQgYWNjZXB0czogIgptc2dzdHIgIiIKCiM6IGdlbi5jOjkzNgptc2dpZCAiIgoiXG4iCiJcbiIKIk1ldGEtRXF1aXZhbGVuY2UgQ2xhc3NlczpcbiIKbXNnc3RyICIiCgojOiBtYWluLmM6MTYzCm1zZ2lkICJydWxlIGNhbm5vdCBiZSBtYXRjaGVkIgptc2dzdHIgIs7et6jGpcXkuebU8iIKCiM6IG1haW4uYzoxNjgKbXNnaWQgIi1zIG9wdGlvbiBnaXZlbiBidXQgZGVmYXVsdCBydWxlIGNhbiBiZSBtYXRjaGVkIgptc2dzdHIgIiIKCiM6IG1haW4uYzoyMDMKbXNnaWQgIkNhbid0IHVzZSAtKyB3aXRoIC1sIG9wdGlvbiIKbXNnc3RyICIiCgojOiBtYWluLmM6MjA2Cm1zZ2lkICJDYW4ndCB1c2UgLWYgb3IgLUYgd2l0aCAtbCBvcHRpb24iCm1zZ3N0ciAiIgoKIzogbWFpbi5jOjIwOQptc2dpZCAiQ2FuJ3QgdXNlIC1SIG9yIC1SYiB3aXRoIC1sIG9wdGlvbiIKbXNnc3RyICIiCgojOiBtYWluLmM6MjIzCm1zZ2lkICJDYW4ndCBzcGVjaWZ5IGhlYWRlciBvcHRpb24gaWYgd3JpdGluZyB0byBzdGRvdXQuIgptc2dzdHIgIiIKCiM6IG1haW4uYzoyNDkKbXNnaWQgIi1DZi8tQ0YgYW5kIC1DbSBkb24ndCBtYWtlIHNlbnNlIHRvZ2V0aGVyIgptc2dzdHIgIiIKCiM6IG1haW4uYzoyNTIKbXNnaWQgIi1DZi8tQ0YgYW5kIC1JIGFyZSBpbmNvbXBhdGlibGUiCm1zZ3N0ciAiIgoKIzogbWFpbi5jOjI1Ngptc2dpZCAiLUNmLy1DRiBhcmUgaW5jb21wYXRpYmxlIHdpdGggbGV4LWNvbXBhdGliaWxpdHkgbW9kZSIKbXNnc3RyICIiCgojOiBtYWluLmM6MjYwCiMsIGMtZm9ybWF0Cm1zZ2lkICItQ2YvLUNGIGFuZCAlb3B0aW9uIHl5bGluZW5vIGFyZSBpbmNvbXBhdGlibGUiCm1zZ3N0ciAiIgoKIzogbWFpbi5jOjI2Mwptc2dpZCAiLUNmIGFuZCAtQ0YgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSIKbXNnc3RyICIiCgojOiBtYWluLmM6MjY3Cm1zZ2lkICJDYW4ndCB1c2UgLSsgd2l0aCAtQ0Ygb3B0aW9uIgptc2dzdHIgIiIKCiM6IG1haW4uYzoyNzEKIywgYy1mb3JtYXQKbXNnaWQgIiVhcnJheSBpbmNvbXBhdGlibGUgd2l0aCAtKyBvcHRpb24iCm1zZ3N0ciAiIgoKIzogbWFpbi5jOjI3Ngptc2dpZCAiT3B0aW9ucyAtKyBhbmQgLVIgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZS4iCm1zZ3N0ciAiIgoKIzogbWFpbi5jOjMyOCBtYWluLmM6NTI0CiMsIGMtZm9ybWF0Cm1zZ2lkICJjb3VsZCBub3QgY3JlYXRlICVzIgptc2dzdHIgIs7et6i0tL2oICVzIgoKIzogbWFpbi5jOjMzNAojLCBjLWZvcm1hdAptc2dpZCAiY2FuJ3Qgb3BlbiBza2VsZXRvbiBmaWxlICVzIgptc2dzdHIgIs7et6i08r+quce83M7EvP4gJXMiCgojOiBtYWluLmM6NDkyCiMsIGMtZm9ybWF0Cm1zZ2lkICJpbnB1dCBlcnJvciByZWFkaW5nIHNrZWxldG9uIGZpbGUgJXMiCm1zZ3N0ciAitsHIobnHvNzOxLz+ICVzIMqxyuTI67TtzvMiCgojOiBtYWluLmM6NDk2CiMsIGMtZm9ybWF0Cm1zZ2lkICJlcnJvciBjbG9zaW5nIHNrZWxldG9uIGZpbGUgJXMiCm1zZ3N0ciAiudix1bnHvNzOxLz+ICVzILP2tO0iCgojOiBtYWluLmM6NjkwCiMsIGMtZm9ybWF0Cm1zZ2lkICJlcnJvciBjcmVhdGluZyBoZWFkZXIgZmlsZSAlcyIKbXNnc3RyICK0tL2ozbfOxLz+ICVzILP2tO0iCgojOiBtYWluLmM6Njk4CiMsIGMtZm9ybWF0Cm1zZ2lkICJlcnJvciB3cml0aW5nIG91dHB1dCBmaWxlICVzIgptc2dzdHIgItC0yOvK5LP2zsS8/iAlcyCz9rTtIgoKIzogbWFpbi5jOjcwMgojLCBjLWZvcm1hdAptc2dpZCAiZXJyb3IgY2xvc2luZyBvdXRwdXQgZmlsZSAlcyIKbXNnc3RyICK52LHVyuSz9s7EvP4gJXMgs/a07SIKCiM6IG1haW4uYzo3MDYKIywgYy1mb3JtYXQKbXNnaWQgImVycm9yIGRlbGV0aW5nIG91dHB1dCBmaWxlICVzIgptc2dzdHIgIsm+s/3K5LP2zsS8/iAlcyCz9rTtIgoKIzogbWFpbi5jOjcxNAptc2dpZCAiTm8gYmFja2luZyB1cC5cbiIKbXNnc3RyICIiCgojOiBtYWluLmM6NzE3CiMsIGMtZm9ybWF0Cm1zZ2lkICIlZCBiYWNraW5nIHVwIChub24tYWNjZXB0aW5nKSBzdGF0ZXMuXG4iCm1zZ3N0ciAiIgoKIzogbWFpbi5jOjcyMQptc2dpZCAiQ29tcHJlc3NlZCB0YWJsZXMgYWx3YXlzIGJhY2sgdXAuXG4iCm1zZ3N0ciAiIgoKIzogbWFpbi5jOjcyNAojLCBjLWZvcm1hdAptc2dpZCAiZXJyb3Igd3JpdGluZyBiYWNrdXAgZmlsZSAlcyIKbXNnc3RyICLQtMjrsbi33c7EvP4gJXMgs/a07SIKCiM6IG1haW4uYzo3MjgKIywgYy1mb3JtYXQKbXNnaWQgImVycm9yIGNsb3NpbmcgYmFja3VwIGZpbGUgJXMiCm1zZ3N0ciAiudix1bG4t93OxLz+ICVzILP2tO0iCgojOiBtYWluLmM6NzM0CiMsIGMtZm9ybWF0Cm1zZ2lkICIlcyB2ZXJzaW9uICVzIHVzYWdlIHN0YXRpc3RpY3M6XG4iCm1zZ3N0ciAiIgoKIzogbWFpbi5jOjczNwptc2dpZCAiICBzY2FubmVyIG9wdGlvbnM6IC0iCm1zZ3N0ciAiICDJqMPoxvfRoc/uo7otIgoKIzogbWFpbi5jOjgxNwojLCBjLWZvcm1hdAptc2dpZCAiICAlZC8lZCBORkEgc3RhdGVzXG4iCm1zZ3N0ciAiIgoKIzogbWFpbi5jOjgxOQojLCBjLWZvcm1hdAptc2dpZCAiICAlZC8lZCBERkEgc3RhdGVzICglZCB3b3JkcylcbiIKbXNnc3RyICIiCgojOiBtYWluLmM6ODIxCiMsIGMtZm9ybWF0Cm1zZ2lkICIgICVkIHJ1bGVzXG4iCm1zZ3N0ciAiICAlZCDM9bnm1PJcbiIKCiM6IG1haW4uYzo4MjUKbXNnaWQgIiAgTm8gYmFja2luZyB1cFxuIgptc2dzdHIgIiIKCiM6IG1haW4uYzo4MjgKIywgYy1mb3JtYXQKbXNnaWQgIiAgJWQgYmFja2luZy11cCAobm9uLWFjY2VwdGluZykgc3RhdGVzXG4iCm1zZ3N0ciAiIgoKIzogbWFpbi5jOjgzMgptc2dpZCAiICBDb21wcmVzc2VkIHRhYmxlcyBhbHdheXMgYmFjay11cFxuIgptc2dzdHIgIiIKCiM6IG1haW4uYzo4MzYKbXNnaWQgIiAgQmVnaW5uaW5nLW9mLWxpbmUgcGF0dGVybnMgdXNlZFxuIgptc2dzdHIgIiIKCiM6IG1haW4uYzo4MzgKIywgYy1mb3JtYXQKbXNnaWQgIiAgJWQvJWQgc3RhcnQgY29uZGl0aW9uc1xuIgptc2dzdHIgIiIKCiM6IG1haW4uYzo4NDEKIywgYy1mb3JtYXQKbXNnaWQgIiAgJWQgZXBzaWxvbiBzdGF0ZXMsICVkIGRvdWJsZSBlcHNpbG9uIHN0YXRlc1xuIgptc2dzdHIgIiIKCiM6IG1haW4uYzo4NDUKbXNnaWQgIiAgbm8gY2hhcmFjdGVyIGNsYXNzZXNcbiIKbXNnc3RyICIiCgojOiBtYWluLmM6ODQ4CiMsIGMtZm9ybWF0Cm1zZ2lkICIgICVkLyVkIGNoYXJhY3RlciBjbGFzc2VzIG5lZWRlZCAlZC8lZCB3b3JkcyBvZiBzdG9yYWdlLCAlZCByZXVzZWRcbiIKbXNnc3RyICIiCgojOiBtYWluLmM6ODUzCiMsIGMtZm9ybWF0Cm1zZ2lkICIgICVkIHN0YXRlL25leHRzdGF0ZSBwYWlycyBjcmVhdGVkXG4iCm1zZ3N0ciAiIgoKIzogbWFpbi5jOjg1NQojLCBjLWZvcm1hdAptc2dpZCAiICAlZC8lZCB1bmlxdWUvZHVwbGljYXRlIHRyYW5zaXRpb25zXG4iCm1zZ3N0ciAiIgoKIzogbWFpbi5jOjg2MQojLCBjLWZvcm1hdAptc2dpZCAiICAlZCB0YWJsZSBlbnRyaWVzXG4iCm1zZ3N0ciAiIgoKIzogbWFpbi5jOjg2OQojLCBjLWZvcm1hdAptc2dpZCAiICAlZC8lZCBiYXNlLWRlZiBlbnRyaWVzIGNyZWF0ZWRcbiIKbXNnc3RyICIiCgojOiBtYWluLmM6ODcyCiMsIGMtZm9ybWF0Cm1zZ2lkICIgICVkLyVkIChwZWFrICVkKSBueHQtY2hrIGVudHJpZXMgY3JlYXRlZFxuIgptc2dzdHIgIiIKCiM6IG1haW4uYzo4NzUKIywgYy1mb3JtYXQKbXNnaWQgIiAgJWQvJWQgKHBlYWsgJWQpIHRlbXBsYXRlIG54dC1jaGsgZW50cmllcyBjcmVhdGVkXG4iCm1zZ3N0ciAiIgoKIzogbWFpbi5jOjg3OQojLCBjLWZvcm1hdAptc2dpZCAiICAlZCBlbXB0eSB0YWJsZSBlbnRyaWVzXG4iCm1zZ3N0ciAiIgoKIzogbWFpbi5jOjg4MQojLCBjLWZvcm1hdAptc2dpZCAiICAlZCBwcm90b3MgY3JlYXRlZFxuIgptc2dzdHIgIiIKCiM6IG1haW4uYzo4ODQKIywgYy1mb3JtYXQKbXNnaWQgIiAgJWQgdGVtcGxhdGVzIGNyZWF0ZWQsICVkIHVzZXNcbiIKbXNnc3RyICIiCgojOiBtYWluLmM6ODkyCiMsIGMtZm9ybWF0Cm1zZ2lkICIgICVkLyVkIGVxdWl2YWxlbmNlIGNsYXNzZXMgY3JlYXRlZFxuIgptc2dzdHIgIiIKCiM6IG1haW4uYzo5MDAKIywgYy1mb3JtYXQKbXNnaWQgIiAgJWQvJWQgbWV0YS1lcXVpdmFsZW5jZSBjbGFzc2VzIGNyZWF0ZWRcbiIKbXNnc3RyICIiCgojOiBtYWluLmM6OTA1CiMsIGMtZm9ybWF0Cm1zZ2lkICIgICVkICglZCBzYXZlZCkgaGFzaCBjb2xsaXNpb25zLCAlZCBERkFzIGVxdWFsXG4iCm1zZ3N0ciAiIgoKIzogbWFpbi5jOjkwNwojLCBjLWZvcm1hdAptc2dpZCAiICAlZCBzZXRzIG9mIHJlYWxsb2NhdGlvbnMgbmVlZGVkXG4iCm1zZ3N0ciAiIgoKIzogbWFpbi5jOjkwOQojLCBjLWZvcm1hdAptc2dpZCAiICAlZCB0b3RhbCB0YWJsZSBlbnRyaWVzIG5lZWRlZFxuIgptc2dzdHIgIiIKCiM6IG1haW4uYzo5NjYKbXNnaWQgIkludGVybmFsIGVycm9yLiBmbGV4b3B0cyBhcmUgbWFsZm9ybWVkLlxuIgptc2dzdHIgIiIKCiM6IG1haW4uYzo5NzQKIywgYy1mb3JtYXQKbXNnaWQgIlRyeSBgJXMgLS1oZWxwJyBmb3IgbW9yZSBpbmZvcm1hdGlvbi5cbiIKbXNnc3RyICIiCgojOiBtYWluLmM6MTAzMwojLCBjLWZvcm1hdAptc2dpZCAidW5rbm93biAtQyBvcHRpb24gJyVjJyIKbXNnc3RyICLOtNaqtcQgLUMg0aHP7qGwJWOhsSIKCiM6IG1haW4uYzoxMTE2CiMsIGMtZm9ybWF0Cm1zZ2lkICJ1bmtub3duIC1SIG9wdGlvbiAnJWMnIgptc2dzdHIgIs601qq1xCAtUiDRoc/uobAlY6GxIgoKIzogbWFpbi5jOjExNTMKIywgYy1mb3JtYXQKbXNnaWQgIiVzICVzXG4iCm1zZ3N0ciAiJXMgJXNcbiIKCiM6IG1haW4uYzoxMzk1Cm1zZ2lkICJmYXRhbCBwYXJzZSBlcnJvciIKbXNnc3RyICLWwsP8tcS94s72tO3O8yIKCiM6IG1haW4uYzoxNDA3CiMsIGMtZm9ybWF0Cm1zZ2lkICJjb3VsZCBub3QgY3JlYXRlIGJhY2tpbmctdXAgaW5mbyBmaWxlICVzIgptc2dzdHIgIiIKCiM6IG1haW4uYzoxNDI5Cm1zZ2lkICItbCBBVCZUIGxleCBjb21wYXRpYmlsaXR5IG9wdGlvbiBlbnRhaWxzIGEgbGFyZ2UgcGVyZm9ybWFuY2UgcGVuYWx0eVxuIgptc2dzdHIgIiIKCiM6IG1haW4uYzoxNDMxCm1zZ2lkICIgYW5kIG1heSBiZSB0aGUgYWN0dWFsIHNvdXJjZSBvZiBvdGhlciByZXBvcnRlZCBwZXJmb3JtYW5jZSBwZW5hbHRpZXNcbiIKbXNnc3RyICIiCgojOiBtYWluLmM6MTQzNwojLCBjLWZvcm1hdAptc2dpZCAiJSVvcHRpb24geXlsaW5lbm8gZW50YWlscyBhIGxhcmdlIHBlcmZvcm1hbmNlIHBlbmFsdHlcbiIKbXNnc3RyICIiCgojOiBtYWluLmM6MTQ0NAptc2dpZCAiLUkgKGludGVyYWN0aXZlKSBlbnRhaWxzIGEgbWlub3IgcGVyZm9ybWFuY2UgcGVuYWx0eVxuIgptc2dzdHIgIiIKCiM6IG1haW4uYzoxNDQ4Cm1zZ2lkICJ5eW1vcmUoKSBlbnRhaWxzIGEgbWlub3IgcGVyZm9ybWFuY2UgcGVuYWx0eVxuIgptc2dzdHIgIiIKCiM6IG1haW4uYzoxNDUzCm1zZ2lkICJSRUpFQ1QgZW50YWlscyBhIGxhcmdlIHBlcmZvcm1hbmNlIHBlbmFsdHlcbiIKbXNnc3RyICIiCgojOiBtYWluLmM6MTQ1Nwptc2dpZCAiVmFyaWFibGUgdHJhaWxpbmcgY29udGV4dCBydWxlcyBlbnRhaWwgYSBsYXJnZSBwZXJmb3JtYW5jZSBwZW5hbHR5XG4iCm1zZ3N0ciAiIgoKIzogbWFpbi5jOjE0NzAKbXNnaWQgIlJFSkVDVCBjYW5ub3QgYmUgdXNlZCB3aXRoIC1mIG9yIC1GIgptc2dzdHIgIiIKCiM6IG1haW4uYzoxNDczCiMsIGMtZm9ybWF0Cm1zZ2lkICIlb3B0aW9uIHl5bGluZW5vIGNhbm5vdCBiZSB1c2VkIHdpdGggLWYgb3IgLUYiCm1zZ3N0ciAiIgoKIzogbWFpbi5jOjE0NzYKbXNnaWQgInZhcmlhYmxlIHRyYWlsaW5nIGNvbnRleHQgcnVsZXMgY2Fubm90IGJlIHVzZWQgd2l0aCAtZiBvciAtRiIKbXNnc3RyICIiCgojOiBtYWluLmM6MTYwNwojLCBjLWZvcm1hdAptc2dpZCAiJW9wdGlvbiB5eWNsYXNzIG9ubHkgbWVhbmluZ2Z1bCBmb3IgQysrIHNjYW5uZXJzIgptc2dzdHIgIiIKCiM6IG1haW4uYzoxNzExCiMsIGMtZm9ybWF0Cm1zZ2lkICJVc2FnZTogJXMgW09QVElPTlNdIFtGSUxFXS4uLlxuIgptc2dzdHIgItPDt6ijuiVzIFvRoc/uXSBbzsS8/l0uLi5cbiIKCiM6IG1haW4uYzoxNzE0CiMsIGMtZm9ybWF0Cm1zZ2lkICIiCiJHZW5lcmF0ZXMgcHJvZ3JhbXMgdGhhdCBwZXJmb3JtIHBhdHRlcm4tbWF0Y2hpbmcgb24gdGV4dC5cbiIKIlxuIgoiVGFibGUgQ29tcHJlc3Npb246XG4iCiIgIC1DYSwgLS1hbGlnbiAgICAgIHRyYWRlIG9mZiBsYXJnZXIgdGFibGVzIGZvciBiZXR0ZXIgbWVtb3J5IGFsaWdubWVudFxuIgoiICAtQ2UsIC0tZWNzICAgICAgICBjb25zdHJ1Y3QgZXF1aXZhbGVuY2UgY2xhc3Nlc1xuIgoiICAtQ2YgICAgICAgICAgICAgICBkbyBub3QgY29tcHJlc3MgdGFibGVzOyB1c2UgLWYgcmVwcmVzZW50YXRpb25cbiIKIiAgLUNGICAgICAgICAgICAgICAgZG8gbm90IGNvbXByZXNzIHRhYmxlczsgdXNlIC1GIHJlcHJlc2VudGF0aW9uXG4iCiIgIC1DbSwgLS1tZXRhLWVjcyAgIGNvbnN0cnVjdCBtZXRhLWVxdWl2YWxlbmNlIGNsYXNzZXNcbiIKIiAgLUNyLCAtLXJlYWQgICAgICAgdXNlIHJlYWQoKSBpbnN0ZWFkIG9mIHN0ZGlvIGZvciBzY2FubmVyIGlucHV0XG4iCiIgIC1mLCAtLWZ1bGwgICAgICAgIGdlbmVyYXRlIGZhc3QsIGxhcmdlIHNjYW5uZXIuIFNhbWUgYXMgLUNmclxuIgoiICAtRiwgLS1mYXN0ICAgICAgICB1c2UgYWx0ZXJuYXRlIHRhYmxlIHJlcHJlc2VudGF0aW9uLiBTYW1lIGFzIC1DRnJcbiIKIiAgLUNlbSAgICAgICAgICAgICAgZGVmYXVsdCBjb21wcmVzc2lvbiAoc2FtZSBhcyAtLWVjcyAtLW1ldGEtZWNzKVxuIgoiXG4iCiJEZWJ1Z2dpbmc6XG4iCiIgIC1kLCAtLWRlYnVnICAgICAgICAgICAgIGVuYWJsZSBkZWJ1ZyBtb2RlIGluIHNjYW5uZXJcbiIKIiAgLWIsIC0tYmFja3VwICAgICAgICAgICAgd3JpdGUgYmFja2luZy11cCBpbmZvcm1hdGlvbiB0byAlc1xuIgoiICAtcCwgLS1wZXJmLXJlcG9ydCAgICAgICB3cml0ZSBwZXJmb3JtYW5jZSByZXBvcnQgdG8gc3RkZXJyXG4iCiIgIC1zLCAtLW5vZGVmYXVsdCAgICAgICAgIHN1cHByZXNzIGRlZmF1bHQgcnVsZSB0byBFQ0hPIHVubWF0Y2hlZCB0ZXh0XG4iCiIgIC1ULCAtLXRyYWNlICAgICAgICAgICAgICVzIHNob3VsZCBydW4gaW4gdHJhY2UgbW9kZVxuIgoiICAtdywgLS1ub3dhcm4gICAgICAgICAgICBkbyBub3QgZ2VuZXJhdGUgd2FybmluZ3NcbiIKIiAgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgd3JpdGUgc3VtbWFyeSBvZiBzY2FubmVyIHN0YXRpc3RpY3MgdG8gc3Rkb3V0XG4iCiJcbiIKIkZpbGVzOlxuIgoiICAtbywgLS1vdXRmaWxlPUZJTEUgICAgICBzcGVjaWZ5IG91dHB1dCBmaWxlbmFtZVxuIgoiICAtUywgLS1za2VsPUZJTEUgICAgICAgICBzcGVjaWZ5IHNrZWxldG9uIGZpbGVcbiIKIiAgLXQsIC0tc3Rkb3V0ICAgICAgICAgICAgd3JpdGUgc2Nhbm5lciBvbiBzdGRvdXQgaW5zdGVhZCBvZiAlc1xuIgoiICAgICAgLS15eWNsYXNzPU5BTUUgICAgICBuYW1lIG9mIEMrKyBjbGFzc1xuIgoiICAgICAgLS1oZWFkZXI9RklMRSAgICAgICBjcmVhdGUgYSBDIGhlYWRlciBmaWxlIGluIGFkZGl0aW9uIHRvIHRoZSBzY2FubmVyXG4iCiJcbiIKIlNjYW5uZXIgYmVoYXZpb3I6XG4iCiIgIC03LCAtLTdiaXQgICAgICAgICAgICAgIGdlbmVyYXRlIDctYml0IHNjYW5uZXJcbiIKIiAgLTgsIC0tOGJpdCAgICAgICAgICAgICAgZ2VuZXJhdGUgOC1iaXQgc2Nhbm5lclxuIgoiICAtQiwgLS1iYXRjaCAgICAgICAgICAgICBnZW5lcmF0ZSBiYXRjaCBzY2FubmVyIChvcHBvc2l0ZSBvZiAtSSlcbiIKIiAgLWksIC0tY2FzZS1pbnNlbnNpdGl2ZSAgaWdub3JlIGNhc2UgaW4gcGF0dGVybnNcbiIKIiAgLWwsIC0tbGV4LWNvbXBhdCAgICAgICAgbWF4aW1hbCBjb21wYXRpYmlsaXR5IHdpdGggb3JpZ2luYWwgbGV4XG4iCiIgIC1YLCAtLXBvc2l4LWNvbXBhdCAgICAgIG1heGltYWwgY29tcGF0aWJpbGl0eSB3aXRoIFBPU0lYIGxleFxuIgoiICAtSSwgLS1pbnRlcmFjdGl2ZSAgICAgICBnZW5lcmF0ZSBpbnRlcmFjdGl2ZSBzY2FubmVyIChvcHBvc2l0ZSBvZiAtQilcbiIKIiAgICAgIC0teXlsaW5lbm8gICAgICAgICAgdHJhY2sgbGluZSBjb3VudCBpbiB5eWxpbmVub1xuIgoiXG4iCiJHZW5lcmF0ZWQgY29kZTpcbiIKIiAgLSssICAtLWMrKyAgICAgICAgICAgICAgIGdlbmVyYXRlIEMrKyBzY2FubmVyIGNsYXNzXG4iCiIgIC1EbWFjcm9bPWRlZm5dICAgICAgICAgICAjZGVmaW5lIG1hY3JvIGRlZm4gIChkZWZhdWx0IGRlZm4gaXMgJzEnKVxuIgoiICAtTCwgIC0tbm9saW5lICAgICAgICAgICAgc3VwcHJlc3MgI2xpbmUgZGlyZWN0aXZlcyBpbiBzY2FubmVyXG4iCiIgIC1QLCAgLS1wcmVmaXg9U1RSSU5HICAgICB1c2UgU1RSSU5HIGFzIHByZWZpeCBpbnN0ZWFkIG9mIFwieXlcIlxuIgoiICAtUiwgIC0tcmVlbnRyYW50ICAgICAgICAgZ2VuZXJhdGUgYSByZWVudHJhbnQgQyBzY2FubmVyXG4iCiIgIC1SYiwgLS1yZWVudHJhbnQtYmlzb24gICByZWVudHJhbnQgc2Nhbm5lciBmb3IgYmlzb24gcHVyZSBwYXJzZXIuXG4iCiIgICAgICAgLS1zdGRpbml0ICAgICAgICAgICBpbml0aWFsaXplIHl5aW4veXlvdXQgdG8gc3RkaW4vc3Rkb3V0XG4iCiIgICAgICAgLS1ub3VuaXN0ZCAgICAgICAgICBkbyBub3QgaW5jbHVkZSA8dW5pc3RkLmg+XG4iCiIgICAgICAgLS1ub0ZVTkNUSU9OICAgICAgICBkbyBub3QgZ2VuZXJhdGUgYSBwYXJ0aWN1bGFyIEZVTkNUSU9OXG4iCiJcbiIKIk1pc2NlbGxhbmVvdXM6XG4iCiIgIC1jICAgICAgICAgICAgICAgICAgICAgIGRvLW5vdGhpbmcgUE9TSVggb3B0aW9uXG4iCiIgIC1uICAgICAgICAgICAgICAgICAgICAgIGRvLW5vdGhpbmcgUE9TSVggb3B0aW9uXG4iCiIgIC0/XG4iCiIgIC1oLCAtLWhlbHAgICAgICAgICAgICAgIHByb2R1Y2UgdGhpcyBoZWxwIG1lc3NhZ2VcbiIKIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgcmVwb3J0ICVzIHZlcnNpb25cbiIKbXNnc3RyICIiCgojOiBtaXNjLmM6NDcKIywgYy1mb3JtYXQKbXNnaWQgIm5hbWUgXCIlc1wiIHJpZGljdWxvdXNseSBsb25nIgptc2dzdHIgIiIKCiM6IG1pc2MuYzoxMDEKbXNnaWQgIm1lbW9yeSBhbGxvY2F0aW9uIGZhaWxlZCBpbiBhbGxvY2F0ZV9hcnJheSgpIgptc2dzdHIgIiIKCiM6IG1pc2MuYzoxNzkKIywgYy1mb3JtYXQKbXNnaWQgImJhZCBjaGFyYWN0ZXIgJyVzJyBkZXRlY3RlZCBpbiBjaGVja19jaGFyKCkiCm1zZ3N0ciAiIgoKIzogbWlzYy5jOjE4NAojLCBjLWZvcm1hdAptc2dpZCAic2Nhbm5lciByZXF1aXJlcyAtOCBmbGFnIHRvIHVzZSB0aGUgY2hhcmFjdGVyICVzIgptc2dzdHIgIiIKCiM6IG1pc2MuYzoyMTcKbXNnaWQgImR5bmFtaWMgbWVtb3J5IGZhaWx1cmUgaW4gY29weV9zdHJpbmcoKSIKbXNnc3RyICIiCgojOiBtaXNjLmM6MzQ5CiMsIGMtZm9ybWF0Cm1zZ2lkICIlczogZmF0YWwgaW50ZXJuYWwgZXJyb3IsICVzXG4iCm1zZ3N0ciAiIgoKIzogbWlzYy5jOjc3NQptc2dpZCAiYXR0ZW1wdCB0byBpbmNyZWFzZSBhcnJheSBzaXplIGZhaWxlZCIKbXNnc3RyICLK1M281Pa808r91+m089ChyrHKp7DcIgoKIzogbWlzYy5jOjg0Nwptc2dpZCAiYmFkIGxpbmUgaW4gc2tlbGV0b24gZmlsZSIKbXNnc3RyICK5x7zczsS8/tbQtO3O87XE0NAiCgojOiBtaXNjLmM6ODkyCm1zZ2lkICJtZW1vcnkgYWxsb2NhdGlvbiBmYWlsZWQgaW4geXlfZmxleF94bWFsbG9jKCkiCm1zZ3N0ciAi1NogeXlfZmxleF94bWFsbG9jKCkg1tC1xMTatOa31sXkyqew3CIKCiM6IG5mYS5jOjEwMwojLCBjLWZvcm1hdAptc2dpZCAiIgoiXG4iCiJcbiIKIioqKioqKioqKiogYmVnaW5uaW5nIGR1bXAgb2YgbmZhIHdpdGggc3RhcnQgc3RhdGUgJWRcbiIKbXNnc3RyICIiCiJcbiIKIlxuIgoiKioqKioqKioqKiC/qsq8yuSz9sbwyrzXtMyszqogJWQgtcQgTkZBXG4iCgojOiBuZmEuYzoxMTUKIywgYy1mb3JtYXQKbXNnaWQgInN0YXRlICMgJTRkXHQiCm1zZ3N0ciAi17TMrCAjICU0ZFx0IgoKIzogbmZhLmM6MTMwCm1zZ2lkICIqKioqKioqKioqIGVuZCBvZiBkdW1wXG4iCm1zZ3N0ciAiKioqKioqKioqKiDK5LP2veHK+FxuIgoKIzogbmZhLmM6MTc2Cm1zZ2lkICJlbXB0eSBtYWNoaW5lIGluIGR1cG1hY2hpbmUoKSIKbXNnc3RyICIiCgojOiBuZmEuYzoyMjgKIywgYy1mb3JtYXQKbXNnaWQgIlZhcmlhYmxlIHRyYWlsaW5nIGNvbnRleHQgcnVsZSBhdCBsaW5lICVkXG4iCm1zZ3N0ciAiIgoKIzogbmZhLmM6MzUwCm1zZ2lkICJiYWQgc3RhdGUgdHlwZSBpbiBtYXJrX2JlZ2lubmluZ19hc19ub3JtYWwoKSIKbXNnc3RyICIiCgojOiBuZmEuYzo2MDMKIywgYy1mb3JtYXQKbXNnaWQgImlucHV0IHJ1bGVzIGFyZSB0b28gY29tcGxpY2F0ZWQgKD49ICVkIE5GQSBzdGF0ZXMpIgptc2dzdHIgIiIKCiM6IG5mYS5jOjY4Mgptc2dpZCAiZm91bmQgdG9vIG1hbnkgdHJhbnNpdGlvbnMgaW4gbWt4dGlvbigpIgptc2dzdHIgIiIKCiM6IG5mYS5jOjcwOAojLCBjLWZvcm1hdAptc2dpZCAidG9vIG1hbnkgcnVsZXMgKD4gJWQpISIKbXNnc3RyICK55tTyuf224CAoPiAlZCmjoSIKCiM6IHBhcnNlLnk6MTc0Cm1zZ2lkICJ1bmtub3duIGVycm9yIHByb2Nlc3Npbmcgc2VjdGlvbiAxIgptc2dzdHIgIs601qq1xLTtzvO0psDtvdogMSIKCiM6IHBhcnNlLnk6MTk5IHBhcnNlLnk6MzYyCm1zZ2lkICJiYWQgc3RhcnQgY29uZGl0aW9uIGxpc3QiCm1zZ3N0ciAitO3O87XExvDKvNe0zKzB0LHtIgoKIzogcGFyc2UueTozMjYKbXNnaWQgInVucmVjb2duaXplZCBydWxlIgptc2dzdHIgIrK7xNzKtrHwtcS55tTyIgoKIzogcGFyc2UueTo0NDQgcGFyc2UueTo0NTcgcGFyc2UueTo1MjYKbXNnaWQgInRyYWlsaW5nIGNvbnRleHQgdXNlZCB0d2ljZSIKbXNnc3RyICIiCgojOiBwYXJzZS55OjU2MiBwYXJzZS55OjU3MiBwYXJzZS55OjY0NSBwYXJzZS55OjY1NQptc2dpZCAiYmFkIGl0ZXJhdGlvbiB2YWx1ZXMiCm1zZ3N0ciAiIgoKIzogcGFyc2UueTo1OTAgcGFyc2UueTo2MDggcGFyc2UueTo2NzMgcGFyc2UueTo2OTEKbXNnaWQgIml0ZXJhdGlvbiB2YWx1ZSBtdXN0IGJlIHBvc2l0aXZlIgptc2dzdHIgIiIKCiM6IHBhcnNlLnk6Nzg1Cm1zZ2lkICJuZWdhdGl2ZSByYW5nZSBpbiBjaGFyYWN0ZXIgY2xhc3MiCm1zZ3N0ciAiIgoKIzogc2Nhbi5sOjE0MAojLCBuby1jLWZvcm1hdAptc2dpZCAidW5yZWNvZ25pemVkICclJyBkaXJlY3RpdmUiCm1zZ3N0ciAiIgoKIzogc2Nhbi5sOjIwNwptc2dpZCAiaW5jb21wbGV0ZSBuYW1lIGRlZmluaXRpb24iCm1zZ3N0ciAisrvN6tX7tcTD+7PGtqjS5SIKCiM6IHNjYW4ubDozMTYKIywgYy1mb3JtYXQKbXNnaWQgInVucmVjb2duaXplZCAlJW9wdGlvbjogJXMiCm1zZ3N0ciAisrvE3Mq2sfC1xCAlJdGhz+6juiVzIgoKIzogc2Nhbi5sOjQ0OSBzY2FuLmw6NTQ5Cm1zZ2lkICJiYWQgY2hhcmFjdGVyIGNsYXNzIgptc2dzdHIgIrTtzvO1xNfWt/vA4LHwIgoKIzogc2Nhbi5sOjQ4MQojLCBjLWZvcm1hdAptc2dpZCAidW5kZWZpbmVkIGRlZmluaXRpb24geyVzfSIKbXNnc3RyICLOtLao0uW1xLao0uUgeyVzfSIKCiM6IHNjYW4ubDo1MTcKIywgYy1mb3JtYXQKbXNnaWQgImJhZCA8c3RhcnQgY29uZGl0aW9uPjogJXMiCm1zZ3N0ciAitO3O8yA8xvDKvMz1vP4+o7olcyIKCiM6IHNjYW4ubDo1MzAKbXNnaWQgIm1pc3NpbmcgcXVvdGUiCm1zZ3N0ciAi0sXCqdL9usUiCgojOiBzY2FuLmw6NTcwCiMsIGMtZm9ybWF0Cm1zZ2lkICJiYWQgY2hhcmFjdGVyIGNsYXNzIGV4cHJlc3Npb246ICVzIgptc2dzdHIgIrTtzvO1xNfWt/vA4LHwse2078q9o7olcyIKCiM6IHNjYW4ubDo1OTIKbXNnaWQgImJhZCBjaGFyYWN0ZXIgaW5zaWRlIHt9J3MiCm1zZ3N0ciAiIgoKIzogc2Nhbi5sOjU5OAptc2dpZCAibWlzc2luZyB9Igptc2dzdHIgItLFwqkgfSIKCiM6IHNjYW4ubDo2NzEKbXNnaWQgIkVPRiBlbmNvdW50ZXJlZCBpbnNpZGUgYW4gYWN0aW9uIgptc2dzdHIgItTatq/X99bQzsS8/r3hyvgiCgojOiBzY2FuLmw6NjkxCiMsIGMtZm9ybWF0Cm1zZ2lkICJiYWQgY2hhcmFjdGVyOiAlcyIKbXNnc3RyICK07c7ztcTX1rf7o7olcyIKCiM6IHNjYW4ubDo3MjAKIywgYy1mb3JtYXQKbXNnaWQgImNhbid0IG9wZW4gJXMiCm1zZ3N0ciAizt63qLTyv6ogJXMiCgojOiBzY2Fub3B0LmM6MjY3CiMsIGMtZm9ybWF0Cm1zZ2lkICJVc2FnZTogJXMgW09QVElPTlNdLi4uXG4iCm1zZ3N0ciAi08O3qKO6JXMgW9Ghz+5dLi4uXG4iCgojOiBzY2Fub3B0LmM6NTE2CiMsIGMtZm9ybWF0Cm1zZ2lkICJvcHRpb24gYCVzJyBkb2Vzbid0IGFsbG93IGFuIGFyZ3VtZW50XG4iCm1zZ3N0ciAi0aHP7qGwJXOhsbK7vdPK3LLOyv1cbiIKCiM6IHNjYW5vcHQuYzo1MTkKIywgYy1mb3JtYXQKbXNnaWQgIm9wdGlvbiBgJXMnIHJlcXVpcmVzIGFuIGFyZ3VtZW50XG4iCm1zZ3N0ciAi0aHP7qGwJXOhsdDo0qrSu7j2ss7K/VxuIgoKIzogc2Nhbm9wdC5jOjUyMgojLCBjLWZvcm1hdAptc2dpZCAib3B0aW9uIGAlcycgaXMgYW1iaWd1b3VzXG4iCm1zZ3N0ciAiIgoKIzogc2Nhbm9wdC5jOjUyNQojLCBjLWZvcm1hdAptc2dpZCAiVW5yZWNvZ25pemVkIG9wdGlvbiBgJXMnXG4iCm1zZ3N0ciAizrTWqrXE0aHP7qGwJXOhsVxuIgoKIzogc2Nhbm9wdC5jOjUyOAojLCBjLWZvcm1hdAptc2dpZCAiVW5rbm93biBlcnJvcj0oJWQpXG4iCm1zZ3N0ciAizrTWqrTtzvM9KCVkKVxuIgoKIzogc3ltLmM6MTAwCm1zZ2lkICJzeW1ib2wgdGFibGUgbWVtb3J5IGFsbG9jYXRpb24gZmFpbGVkIgptc2dzdHIgIrf7usWx7cTatOa31sXkyqew3CIKCiM6IHN5bS5jOjIxMAptc2dpZCAibmFtZSBkZWZpbmVkIHR3aWNlIgptc2dzdHIgIsP7s8a2qNLlwcvBvbTOIgoKIzogc3ltLmM6MjY1CiMsIGMtZm9ybWF0Cm1zZ2lkICJzdGFydCBjb25kaXRpb24gJXMgZGVjbGFyZWQgdHdpY2UiCm1zZ3N0ciAixvDKvMz1vP4gJXMgyfnD98HLwb20ziIKCiM6IHl5bGV4LmM6NTgKbXNnaWQgInByZW1hdHVyZSBFT0YiCm1zZ3N0ciAiIgoKIzogeXlsZXguYzoyMDcKbXNnaWQgIkVuZCBNYXJrZXJcbiIKbXNnc3RyICIiCgojOiB5eWxleC5jOjIxMgojLCBjLWZvcm1hdAptc2dpZCAiKlNvbWV0aGluZyBXZWlyZCogLSB0b2s6ICVkIHZhbDogJWRcbiIKbXNnc3RyICIiCg==