IyBIdW5nYXJpYW4gbWVzc2FnZXMgZm9yIGxpYmljb252LgojIENvcHlyaWdodCAoQykgMjAwMiBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KIyBFbWVzZSBLb3bhY3MgPGVtZXNlQGdub21lLmh1PiwgMjAwMi4KIyBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHNhbWUgbGljZW5zZSBhcyB0aGUgbGliaWNvbnYgcGFja2FnZS4KIwptc2dpZCAiIgptc2dzdHIgIiIKIlByb2plY3QtSWQtVmVyc2lvbjogbGliaWNvbnYgMS44XG4iCiJSZXBvcnQtTXNnaWQtQnVncy1UbzogYnVnLWdudS1saWJpY29udkBnbnUub3JnXG4iCiJQT1QtQ3JlYXRpb24tRGF0ZTogMjAwNS0wNy0wNyAxNDo1NCswMjAwXG4iCiJQTy1SZXZpc2lvbi1EYXRlOiAyMDAyLTA1LTMwIDE0OjI2KzAyMDBcbiIKIkxhc3QtVHJhbnNsYXRvcjogRW1lc2UgS292YWNzIDxlbWVzZUBnbm9tZS5odT5cbiIKIkxhbmd1YWdlLVRlYW06IEh1bmdhcmlhbiA8dHJhbnNsYXRpb24tdGVhbS1odUBsaXN0cy5zb3VyY2Vmb3JnZS5uZXQ+XG4iCiJNSU1FLVZlcnNpb246IDEuMFxuIgoiQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PWlzby04ODU5LTJcbiIKIkNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXRcbiIKCiM6IHNyYy9pY29udi5jOjU2Cm1zZ2lkICJVc2FnZTogaWNvbnYgWy1jXSBbLXNdIFstZiBmcm9tY29kZV0gWy10IHRvY29kZV0gW2ZpbGUgLi4uXSIKbXNnc3RyICJIYXN6buFsYXQ6IGljb252IFstY10gWy1zXSBbLWYga/Nkb2zhc3LzbF0gWy10IGvzZG9s4XNyYV0gW2bhamwgLi4uXSIKCiM6IHNyYy9pY29udi5jOjU4Cm1zZ2lkICJvcjogICAgaWNvbnYgLWwiCm1zZ3N0ciAidmFneTogICAgaWNvbnYgLWwiCgojOiBzcmMvaWNvbnYuYzo2OAojLCBjLWZvcm1hdAptc2dpZCAiIgoiVGhpcyBpcyBmcmVlIHNvZnR3YXJlOyBzZWUgdGhlIHNvdXJjZSBmb3IgY29weWluZyBjb25kaXRpb25zLiAgVGhlcmUgaXMgTk9cbiIKIndhcnJhbnR5OyBub3QgZXZlbiBmb3IgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLlxuIgptc2dzdHIgIiIKIkV6IHN6YWJhZCBzem9mdHZlcjsgYSBzb2tzem9yb3PtdOFzcmEgdm9uYXRrb3rzIGZlbHTpdGVsZWtldCBs4XNkIGEgIgoiZm9ycuFzYmFuLlxuIgoiU0VNTUlMWUVOIGdhcmFuY2nhdCBuZW0gduFsbGFsdW5rLCBt6WcgYXp0IHNlbSDhbGztdGp1aywgaG9neSBleiBhIHByb2dyYW1cbiIKIktFUkVTS0VERUxNSSBDyUxPS1JBIEFMS0FMTUFTIHZhZ3kgSEFTWk7BTEhBVNMgRUdZIEFET1RUIEZFTEFEQVRSQS5cbiIKCiM6IHNyYy9pY29udi5jOjcxCiMsIGMtZm9ybWF0Cm1zZ2lkICJXcml0dGVuIGJ5ICVzLlxuIgptc2dzdHIgIs1ydGEgJXMuXG4iCgojOiBzcmMvaWNvbnYuYzoxMzEgc3JjL2ljb252LmM6MTcxIHNyYy9pY29udi5jOjIzMgojLCBmdXp6eSwgYy1mb3JtYXQKbXNnaWQgImljb252OiAlczoldToldTogaW5jb21wbGV0ZSBjaGFyYWN0ZXIgb3Igc2hpZnQgc2VxdWVuY2VcbiIKbXNnc3RyICJpY29udjogJXM6IG5lbSBlZ+lzeiBrYXJha3RlciB2YWd5IGVsdG9s4XNpIHN6ZWt2ZW5jaWFcbiIKCiM6IHNyYy9pY29udi5jOjE2MSBzcmMvaWNvbnYuYzoyMjMKIywgZnV6enksIGMtZm9ybWF0Cm1zZ2lkICJpY29udjogJXM6JXU6JXU6IGNhbm5vdCBjb252ZXJ0XG4iCm1zZ3N0ciAiaWNvbnY6ICVzOiBrb252ZXJ04WzhcyBzaWtlcnRlbGVuXG4iCgojOiBzcmMvaWNvbnYuYzoxOTEgc3JjL2ljb252LmM6MjQxCiMsIGZ1enp5LCBjLWZvcm1hdAptc2dpZCAiaWNvbnY6ICVzOiV1OiV1OiAiCm1zZ3N0ciAiaWNvbnY6ICVzOiAiCgojOiBzcmMvaWNvbnYuYzoyNTMKIywgYy1mb3JtYXQKbXNnaWQgImljb252OiAlczogSS9PIGVycm9yXG4iCm1zZ3N0ciAiaWNvbnY6ICVzOiBJL08gaGliYVxuIgoKIzogc3JjL2ljb252LmM6MzUxCiMsIGMtZm9ybWF0Cm1zZ2lkICJpY29udjogY29udmVyc2lvbiBmcm9tICVzIHVuc3VwcG9ydGVkXG4iCm1zZ3N0ciAiaWNvbnY6IGEga29udmVydOFs4XMgZXJy9WwgYSBr82RvbOFzcvNsICglcykgbmVtIHThbW9nYXRvdHRcbiIKCiM6IHNyYy9pY29udi5jOjM1MwojLCBjLWZvcm1hdAptc2dpZCAiaWNvbnY6IGNvbnZlcnNpb24gdG8gJXMgdW5zdXBwb3J0ZWRcbiIKbXNnc3RyICJpY29udjogYSBrb252ZXJ04WzhcyBlcnJlIGEga/Nkb2zhc3JhICglcykgbmVtIHThbW9nYXRvdHRcbiIKCiM6IHNyYy9pY29udi5jOjM1NQojLCBjLWZvcm1hdAptc2dpZCAiaWNvbnY6IGNvbnZlcnNpb24gZnJvbSAlcyB0byAlcyB1bnN1cHBvcnRlZFxuIgptc2dzdHIgIiIKImljb252OiBhIGtvbnZlcnThbOFzIGVycvVsIGEga/Nkb2zhc3LzbCAoJXMpXG4iCiJlcnJlIGEga/NkbOFzcmEgKCVzKSBuZW0gdOFtb2dhdG90dFxuIgoKIzogc3JjL2ljb252LmM6MzU2CiMsIGMtZm9ybWF0Cm1zZ2lkICJpY29udjogdHJ5ICclcyAtbCcgdG8gZ2V0IHRoZSBsaXN0IG9mIHN1cHBvcnRlZCBlbmNvZGluZ3NcbiIKbXNnc3RyICIiCgojOiBzcmMvaWNvbnYuYzozNzAKbXNnaWQgIihzdGRpbikiCm1zZ3N0ciAiKHN0ZGluKSIKCiM6IHNyYy9pY29udi5jOjM3OAojLCBjLWZvcm1hdAptc2dpZCAiaWNvbnY6ICVzOiAiCm1zZ3N0ciAiaWNvbnY6ICVzOiAiCgojOiBzcmMvaWNvbnYuYzozOTEKIywgYy1mb3JtYXQKbXNnaWQgImljb252OiBJL08gZXJyb3JcbiIKbXNnc3RyICJpY29udjogSS9PIGhpYmFcbiIKCiN+IG1zZ2lkICIiCiN+ICJVc2FnZTogaWNvbnYgWy0tYmluYXJ5XSBbLWNdIFstc10gWy1mIGZyb21jb2RlXSBbLXQgdG9jb2RlXSBbZmlsZSAuLi5dIgojfiBtc2dzdHIgIiIKI34gIkhhc3pu4WxhdDogaWNvbnYgWy0tYmluYXJ5XSBbLWNdIFstc10gWy1mIGvzZG9s4XNy82xdIFstdCBr82RvbOFzcmFdICIKI34gIltm4WpsIC4uLl0iCg==