LyoKICogVkdBIGVtdWxhdGlvbgogKiAKICogQ29weXJpZ2h0IDE5OTggT3ZlIEvFdmVuCiAqCiAqLwoKI2lmbmRlZiBfX1dJTkVfVkdBX0gKI2RlZmluZSBfX1dJTkVfVkdBX0gKCiNpbmNsdWRlICJ3aW5nZGkuaCIKCmludCBWR0FfU2V0TW9kZSh1bnNpZ25lZCBYcmVzLHVuc2lnbmVkIFlyZXMsdW5zaWduZWQgRGVwdGgpOwppbnQgVkdBX0dldE1vZGUodW5zaWduZWQqSGVpZ2h0LHVuc2lnbmVkKldpZHRoLHVuc2lnbmVkKkRlcHRoKTsKdm9pZCBWR0FfRXhpdCh2b2lkKTsKdm9pZCBWR0FfU2V0UGFsZXR0ZShQQUxFVFRFRU5UUlkqcGFsLGludCBzdGFydCxpbnQgbGVuKTsKdm9pZCBWR0FfU2V0UXVhZFBhbGV0dGUoUkdCUVVBRCpjb2xvcixpbnQgc3RhcnQsaW50IGxlbik7CkxQU1RSIFZHQV9Mb2NrKHVuc2lnbmVkKlBpdGNoLHVuc2lnbmVkKkhlaWdodCx1bnNpZ25lZCpXaWR0aCx1bnNpZ25lZCpEZXB0aCk7CnZvaWQgVkdBX1VubG9jayh2b2lkKTsKdm9pZCBWR0FfUG9sbChXT1JEIHRpbWVyKTsKdm9pZCBWR0FfaW9wb3J0X291dChXT1JEIHBvcnQsIEJZVEUgdmFsKTsKQllURSBWR0FfaW9wb3J0X2luKFdPUkQgcG9ydCk7CgojZW5kaWYgLyogX19XSU5FX1ZHQV9IICovCg==