Li4gTWFjcm9zL0NvbmZpZ3VyYXRpb24vL0JPT1NUX01QTF9DRkdfTk9fSEFTX1hYWCB8MjAKCkJPT1NUX01QTF9DRkdfTk9fSEFTX1hYWAo9PT09PT09PT09PT09PT09PT09PT09PT0KClN5bm9wc2lzCi0tLS0tLS0tCgouLiBwYXJzZWQtbGl0ZXJhbDo6CgogICAgLy8gI2RlZmluZSBCT09TVF9NUExfQ0ZHX05PX0hBU19YWFgKCgpEZXNjcmlwdGlvbgotLS0tLS0tLS0tLQoKYGBCT09TVF9NUExfQ0ZHX05PX0hBU19YWFhgYCBpcyBhbiBib29sZWFuIGNvbmZpZ3VyYXRpb24gbWFjcm8gCnNpZ25hbGluZyBhdmFpbGFiaWxpdHkgb2YgdGhlIHxCT09TVF9NUExfSEFTX1hYWF9UUkFJVF9ERUZ8IC8gCnxCT09TVF9NUExfSEFTX1hYWF9UUkFJVF9OQU1FRF9ERUZ8IGludHJvc3BlY3Rpb24gbWFjcm9zJyBmdW5jdGlvbmFsaXR5IApvbiBhIHBhcnRpY3VsYXIgY29tcGlsZXIuCgoKU2VlIGFsc28KLS0tLS0tLS0KCnxNYWNyb3N8LCB8Q29uZmlndXJhdGlvbnwsIHxCT09TVF9NUExfSEFTX1hYWF9UUkFJVF9ERUZ8LCB8Qk9PU1RfTVBMX0hBU19YWFhfVFJBSVRfTkFNRURfREVGfAoKCi4uIGNvcHlyaWdodDo6IENvcHlyaWdodCCpICAyMDAxLTIwMDkgQWxla3NleSBHdXJ0b3ZveSBhbmQgRGF2aWQgQWJyYWhhbXMKICAgRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAoU2VlIGFjY29tcGFueWluZwogICBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkK