IyBQb2xpc2ggdHJhbnNsYXRpb24gZm9yIGxpYmljb252LgojIENvcHlyaWdodCAoQykgMjAwMyBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KIyBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHNhbWUgbGljZW5zZSBhcyB0aGUgbGliaWNvbnYgcGFja2FnZS4KIyBBcmthZGl1c3ogTGlwaWVjIDxhbGlwaWVjQGVsa2EucHcuZWR1LnBsPiwgMjAwMy4KIwptc2dpZCAiIgptc2dzdHIgIiIKIlByb2plY3QtSWQtVmVyc2lvbjogbGliaWNvbnYgMS45LjFcbiIKIlJlcG9ydC1Nc2dpZC1CdWdzLVRvOiBidWctZ251LWxpYmljb252QGdudS5vcmdcbiIKIlBPVC1DcmVhdGlvbi1EYXRlOiAyMDAzLTA1LTA2IDEzOjMyKzAyMDBcbiIKIlBPLVJldmlzaW9uLURhdGU6IDIwMDMtMTAtMTMgMjI6NTYrMDEwMFxuIgoiTGFzdC1UcmFuc2xhdG9yOiBBcmthZGl1c3ogTGlwaWVjIDxBLkxpcGllY0BlbGthLnB3LmVkdS5wbD5cbiIKIkxhbmd1YWdlLVRlYW06IFBvbGlzaCA8dHJhbnNsYXRpb24tdGVhbS1wbEBsaXN0cy5zb3VyY2Vmb3JnZS5uZXQ+XG4iCiJNSU1FLVZlcnNpb246IDEuMFxuIgoiQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PUlTTy04ODU5LTJcbiIKIkNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXRcbiIKCiM6IHNyYy9pY29udi5jOjU5Cm1zZ2lkICJVc2FnZTogaWNvbnYgWy0tYmluYXJ5XSBbLWNdIFstc10gWy1mIGZyb21jb2RlXSBbLXQgdG9jb2RlXSBbZmlsZSAuLi5dIgptc2dzdHIgIlW/eWNpZTogaWNvbnYgWy0tYmluYXJ5XSBbLWNdIFstc10gWy1mIHpfa29kdV0gWy10IGRvX2tvZHVdIFtwbGlrIC4uLl0iCgojOiBzcmMvaWNvbnYuYzo2MQptc2dpZCAiVXNhZ2U6IGljb252IFstY10gWy1zXSBbLWYgZnJvbWNvZGVdIFstdCB0b2NvZGVdIFtmaWxlIC4uLl0iCm1zZ3N0ciAiVb95Y2llOiBpY29udiBbLWNdIFstc10gW2Ygel9rb2R1XSBbLXQgZG9fa29kdV0gW3BsaWsgLi4uXSIKCiM6IHNyYy9pY29udi5jOjY0Cm1zZ2lkICJvcjogICAgaWNvbnYgLWwiCm1zZ3N0ciAibHViOiAgICBpY29udiAtbCIKCiM6IHNyYy9pY29udi5jOjc0Cm1zZ2lkICIiCiJUaGlzIGlzIGZyZWUgc29mdHdhcmU7IHNlZSB0aGUgc291cmNlIGZvciBjb3B5aW5nIGNvbmRpdGlvbnMuICBUaGVyZSBpcyBOT1xuIgoid2FycmFudHk7IG5vdCBldmVuIGZvciBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuXG4iCm1zZ3N0ciAiIgoiVG8gamVzdCBvcHJvZ3JhbW93YW5pZSB3b2xub2Rvc3TqcG5lOyB6YWpyenlqIGRvILxy82RlsyBhYnkgdXp5c2th5iB3YXJ1bmtpXG4iCiJsaWNlbmNqaS4gTmEgb3Byb2dyYW1vd2FuaWUgdG8gbmllIGplc3QgdWR6aWVsYW5hIK9BRE5BIEdXQVJBTkNKQTsgbmF3ZXRcbiIKImd3YXJhbmNqYSBSyktPSk1JIGx1YiBQUlpZREFUTk+mQ0kgRE8gT0tSRaZMT05FR08gQ0VMVS5cbiIKCiM6IHNyYy9pY29udi5jOjc3CiMsIGMtZm9ybWF0Cm1zZ2lkICJXcml0dGVuIGJ5ICVzLlxuIgptc2dzdHIgIk5hcGlzYW5lIHByemV6ICVzLlxuIgoKIzogc3JjL2ljb252LmM6MTE0IHNyYy9pY29udi5jOjE0NiBzcmMvaWNvbnYuYzoxOTYKIywgYy1mb3JtYXQKbXNnaWQgImljb252OiAlczogaW5jb21wbGV0ZSBjaGFyYWN0ZXIgb3Igc2hpZnQgc2VxdWVuY2VcbiIKbXNnc3RyICJpY29udjogJXM6IG5pZWRva2/xY3pvbnkgem5hayBsdWIgc2Vrd2VuY2phIHNoaWZ0XG4iCgojOiBzcmMvaWNvbnYuYzoxNDAgc3JjL2ljb252LmM6MTkxCiMsIGMtZm9ybWF0Cm1zZ2lkICJpY29udjogJXM6IGNhbm5vdCBjb252ZXJ0XG4iCm1zZ3N0ciAiaWNvbnY6ICVzOiBuaWUgbW+/bmEgc2tvbndlcnRvd2HmXG4iCgojOiBzcmMvaWNvbnYuYzoxNjIgc3JjL2ljb252LmM6MjAxIHNyYy9pY29udi5jOjMyMAojLCBjLWZvcm1hdAptc2dpZCAiaWNvbnY6ICVzOiAiCm1zZ3N0ciAiaWNvbnY6ICVzOiAiCgojOiBzcmMvaWNvbnYuYzoyMTAKIywgYy1mb3JtYXQKbXNnaWQgImljb252OiAlczogSS9PIGVycm9yXG4iCm1zZ3N0ciAiaWNvbnY6ICVzOiBis7FkIHdlai4vd3lqLlxuIgoKIzogc3JjL2ljb252LmM6MzA0CiMsIGMtZm9ybWF0Cm1zZ2lkICJpY29udjogY29udmVyc2lvbiBmcm9tICVzIHVuc3VwcG9ydGVkXG4iCm1zZ3N0ciAiaWNvbnY6IGtvbndlcnNqYSB6IGtvZHUgJXMgamVzdCBuaWVvYnOzdWdpd2FuYVxuIgoKIzogc3JjL2ljb252LmM6MzA2CiMsIGMtZm9ybWF0Cm1zZ2lkICJpY29udjogY29udmVyc2lvbiB0byAlcyB1bnN1cHBvcnRlZFxuIgptc2dzdHIgImljb252OiBrb253ZXJzamEgZG8ga29kdSAlcyBqZXN0IG5pZW9ic7N1Z2l3YW5hXG4iCgojOiBzcmMvaWNvbnYuYzozMDgKIywgYy1mb3JtYXQKbXNnaWQgImljb252OiBjb252ZXJzaW9uIGZyb20gJXMgdG8gJXMgdW5zdXBwb3J0ZWRcbiIKbXNnc3RyICJpY29udjoga29ud2Vyc2phIHoga29kdSAlcyBkbyBrb2R1ICVzIGplc3Qgbmllb2Jzs3VnaXdhbmFcbiIKCiM6IHNyYy9pY29udi5jOjMxMgptc2dpZCAiKHN0ZGluKSIKbXNnc3RyICIoc3RkaW4pIgoKIzogc3JjL2ljb252LmM6MzMzCm1zZ2lkICJpY29udjogSS9PIGVycm9yXG4iCm1zZ3N0ciAiaWNvbnY6IGKzsWQgd2VqLi93eWouXG4iCg==