IyBNZXNzYWdlcyBmcmFu52FpcyBwb3VyIEdOVSBjb25jZXJuYW50IGxpYmljb252LgojIENvcHlyaWdodCCpIDIwMDQgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCiMgTWljaGVsIFJvYml0YWlsbGUgPHJvYml0YWlsQElSTy5VTW9udHJlYWwuQ0E+LCB0cmFkdWN0ZXVyIGRlcHVpcy9zaW5jZSAxOTk2LgojCm1zZ2lkICIiCm1zZ3N0ciAiIgoiUHJvamVjdC1JZC1WZXJzaW9uOiBHTlUgbGliaWNvbnYgMS44XG4iCiJSZXBvcnQtTXNnaWQtQnVncy1UbzogYnVnLWdudS1saWJpY29udkBnbnUub3JnXG4iCiJQT1QtQ3JlYXRpb24tRGF0ZTogMjAwNS0wNy0wNyAxNDo1NCswMjAwXG4iCiJQTy1SZXZpc2lvbi1EYXRlOiAyMDA0LTA1LTEwIDA4OjAwLTA1MDBcbiIKIkxhc3QtVHJhbnNsYXRvcjogTWljaGVsIFJvYml0YWlsbGUgPHJvYml0YWlsQElSTy5VTW9udHJlYWwuQ0E+XG4iCiJMYW5ndWFnZS1UZWFtOiBGcmVuY2ggPHRyYWR1Y0B0cmFkdWMub3JnPlxuIgoiTUlNRS1WZXJzaW9uOiAxLjBcbiIKIkNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1JU08tODg1OS0xXG4iCiJDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4LWJpdFxuIgoiUGx1cmFsLUZvcm1zOiBucGx1cmFscz0yOyBwbHVyYWw9KG4gPiAxKTtcbiIKCiM6IHNyYy9pY29udi5jOjU2Cm1zZ2lkICJVc2FnZTogaWNvbnYgWy1jXSBbLXNdIFstZiBmcm9tY29kZV0gWy10IHRvY29kZV0gW2ZpbGUgLi4uXSIKbXNnc3RyICJVc2FnZTogaWNvbnYgWy1jXSBbLXNdIFstZiBjb2RlX3NvdXJjZV0gWy10IGNvZGVfY2libGVdIFtmaWNoaWVyIC4uLl0iCgojOiBzcmMvaWNvbnYuYzo1OAptc2dpZCAib3I6ICAgIGljb252IC1sIgptc2dzdHIgIm91OiAgICBpY29udiAtbCIKCiM6IHNyYy9pY29udi5jOjY4CiMsIGMtZm9ybWF0Cm1zZ2lkICIiCiJUaGlzIGlzIGZyZWUgc29mdHdhcmU7IHNlZSB0aGUgc291cmNlIGZvciBjb3B5aW5nIGNvbmRpdGlvbnMuICBUaGVyZSBpcyBOT1xuIgoid2FycmFudHk7IG5vdCBldmVuIGZvciBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuXG4iCm1zZ3N0ciAiIgoiQ2UgbG9naWNpZWwgZXN0IGxpYnJlOyB2b2lyIGxlcyBzb3VyY2VzIHBvdXIgbGVzIGNvbmRpdGlvbnMgZGVcbiIKInJlcHJvZHVjdGlvbi4gQVVDVU5FIGdhcmFudGllIG4nZXN0IGRvbm7pZTsgdGFudCBwb3VyIGRlcyByYWlzb25zXG4iCiJDT01NRVJDSUFMRVMgcXVlIHBvdXIgUslQT05EUkUgwCBVTiBCRVNPSU4gUEFSVElDVUxJRVIuXG4iCgojOiBzcmMvaWNvbnYuYzo3MQojLCBjLWZvcm1hdAptc2dpZCAiV3JpdHRlbiBieSAlcy5cbiIKbXNnc3RyICLJY3JpdCBwYXMgJXMuXG4iCgojOiBzcmMvaWNvbnYuYzoxMzEgc3JjL2ljb252LmM6MTcxIHNyYy9pY29udi5jOjIzMgojLCBmdXp6eSwgYy1mb3JtYXQKbXNnaWQgImljb252OiAlczoldToldTogaW5jb21wbGV0ZSBjaGFyYWN0ZXIgb3Igc2hpZnQgc2VxdWVuY2VcbiIKbXNnc3RyICJpY29udjogJXM6IGNhcmFjdOhyZSBpbmNvbXBsZXQgb3Ugc+lxdWVuY2UgZGUgZOljYWxhZ2VcbiIKCiM6IHNyYy9pY29udi5jOjE2MSBzcmMvaWNvbnYuYzoyMjMKIywgZnV6enksIGMtZm9ybWF0Cm1zZ2lkICJpY29udjogJXM6JXU6JXU6IGNhbm5vdCBjb252ZXJ0XG4iCm1zZ3N0ciAiaWNvbnY6ICVzOiBuZSBwZXV0IGNvbnZlcnRpclxuIgoKIzogc3JjL2ljb252LmM6MTkxIHNyYy9pY29udi5jOjI0MQojLCBmdXp6eSwgYy1mb3JtYXQKbXNnaWQgImljb252OiAlczoldToldTogIgptc2dzdHIgImljb252OiAlczogIgoKIzogc3JjL2ljb252LmM6MjUzCiMsIGMtZm9ybWF0Cm1zZ2lkICJpY29udjogJXM6IEkvTyBlcnJvclxuIgptc2dzdHIgImljb252OiAlczogRVJSRVVSIEUvU1xuIgoKIzogc3JjL2ljb252LmM6MzUxCiMsIGMtZm9ybWF0Cm1zZ2lkICJpY29udjogY29udmVyc2lvbiBmcm9tICVzIHVuc3VwcG9ydGVkXG4iCm1zZ3N0ciAiaWNvbnY6IGNvbnZlcnNpb24g4CBwYXJ0aXIgZGUgJXMgbm9uIHN1cHBvcnTpZVxuIgoKIzogc3JjL2ljb252LmM6MzUzCiMsIGMtZm9ybWF0Cm1zZ2lkICJpY29udjogY29udmVyc2lvbiB0byAlcyB1bnN1cHBvcnRlZFxuIgptc2dzdHIgImljb252OiBjb252ZXJzaW9uIHZlcnMgJXMgbm9uIHN1cHBvcnTpZVxuIgoKIzogc3JjL2ljb252LmM6MzU1CiMsIGMtZm9ybWF0Cm1zZ2lkICJpY29udjogY29udmVyc2lvbiBmcm9tICVzIHRvICVzIHVuc3VwcG9ydGVkXG4iCm1zZ3N0ciAiaWNvbnY6IGNvbnZlcnNpb24g4CBwYXJ0aXIgZGUgJXMgdmVycyAlcyBub24gc3VwcG9ydOllXG4iCgojOiBzcmMvaWNvbnYuYzozNTYKIywgYy1mb3JtYXQKbXNnaWQgImljb252OiB0cnkgJyVzIC1sJyB0byBnZXQgdGhlIGxpc3Qgb2Ygc3VwcG9ydGVkIGVuY29kaW5nc1xuIgptc2dzdHIgIiIKCiM6IHNyYy9pY29udi5jOjM3MAptc2dpZCAiKHN0ZGluKSIKbXNnc3RyICIoc3RkaW4pIgoKIzogc3JjL2ljb252LmM6Mzc4CiMsIGMtZm9ybWF0Cm1zZ2lkICJpY29udjogJXM6ICIKbXNnc3RyICJpY29udjogJXM6ICIKCiM6IHNyYy9pY29udi5jOjM5MQojLCBjLWZvcm1hdAptc2dpZCAiaWNvbnY6IEkvTyBlcnJvclxuIgptc2dzdHIgImljb252OiBFUlJFVVIgRS9TXG4iCgojfiBtc2dpZCAiIgojfiAiVXNhZ2U6IGljb252IFstLWJpbmFyeV0gWy1jXSBbLXNdIFstZiBmcm9tY29kZV0gWy10IHRvY29kZV0gW2ZpbGUgLi4uXSIKI34gbXNnc3RyICIiCiN+ICJVc2FnZTogaWNvbnYgWy0tYmluYXJ5XSBbLWNdIFstc10gWy1mIGNvZGVfc291cmNlXSBbLXQgY29kZV9jaWJsZV0gIgojfiAiW2ZpY2hpZXIgLi4uXSIK