ZGlmZiAtLWdpdCBhL2xpYmN4eC9pbmNsdWRlL2N0aW1lIGIvbGliY3h4L2luY2x1ZGUvY3RpbWUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYWM3M2EwMgotLS0gL2Rldi9udWxsCisrKyBiL2xpYmN4eC9pbmNsdWRlL2N0aW1lCkBAIC0wLDAgKzEsNzAgQEAKKy8vIC0qLSBDKysgLSotCisvLz09PS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gY3RpbWUgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS09PT0vLworLy8KKy8vIMrKysrKysrKysrKysrKysrKysrKVGhlIExMVk0gQ29tcGlsZXIgSW5mcmFzdHJ1Y3R1cmUKKy8vCisvLyBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIFVuaXZlcnNpdHkgb2YgSWxsaW5vaXMgT3BlbiBTb3VyY2UKKy8vIExpY2Vuc2UuIFNlZSBMSUNFTlNFLlRYVCBmb3IgZGV0YWlscy4KKy8vCisvLz09PS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS09PT0vLworCisjaWZuZGVmIF9MSUJDUFBfQ1RJTUUKKyNkZWZpbmUgX0xJQkNQUF9DVElNRQorCisvKgorICAgIGN0aW1lIHN5bm9wc2lzCisKK01hY3JvczoKKworICAgIE5VTEwKKyAgICBDTE9DS1NfUEVSX1NFQworIAorbmFtZXNwYWNlIHN0ZAoreworCitUeXBlczoKKworICAgIGNsb2NrX3QKKyAgICBzaXplX3QKKyAgICB0aW1lX3QKKyAgICB0bQorCitjbG9ja190IGNsb2NrKCk7Citkb3VibGUgZGlmZnRpbWUodGltZV90IHRpbWUxLCB0aW1lX3QgdGltZTApOwordGltZV90IG1rdGltZSh0bSogdGltZXB0cik7Cit0aW1lX3QgdGltZSh0aW1lX3QqIHRpbWVyKTsKK2NoYXIqIGFzY3RpbWUoY29uc3QgdG0qIHRpbWVwdHIpOworY2hhciogY3RpbWUoY29uc3QgdGltZV90KiB0aW1lcik7Cit0bSogICAgZ210aW1lKGNvbnN0IHRpbWVfdCogdGltZXIpOwordG0qIGxvY2FsdGltZShjb25zdCB0aW1lX3QqIHRpbWVyKTsKK3NpemVfdCBzdHJmdGltZShjaGFyKiByZXN0cmljdCBzLCBzaXplX3QgbWF4c2l6ZSwgY29uc3QgY2hhciogcmVzdHJpY3QgZm9ybWF0LAorICAgICAgICAgICAgICAgIGNvbnN0IHRtKiByZXN0cmljdCB0aW1lcHRyKTsKKworfSAgLy8gc3RkCisKKyovCisKKyNpbmNsdWRlIDxfX2NvbmZpZz4KKyNpbmNsdWRlIDx0aW1lLmg+CisKKyNwcmFnbWEgR0NDIHN5c3RlbV9oZWFkZXIKKworX0xJQkNQUF9CRUdJTl9OQU1FU1BBQ0VfU1RECisKK3VzaW5nIDo6Y2xvY2tfdDsKK3VzaW5nIDo6c2l6ZV90OwordXNpbmcgOjp0aW1lX3Q7Cit1c2luZyA6OnRtOwordXNpbmcgOjpjbG9jazsKK3VzaW5nIDo6ZGlmZnRpbWU7Cit1c2luZyA6Om1rdGltZTsKK3VzaW5nIDo6dGltZTsKK3VzaW5nIDo6YXNjdGltZTsKK3VzaW5nIDo6Y3RpbWU7Cit1c2luZyA6OmdtdGltZTsKK3VzaW5nIDo6bG9jYWx0aW1lOwordXNpbmcgOjpzdHJmdGltZTsKKworX0xJQkNQUF9FTkRfTkFNRVNQQUNFX1NURAorCisjZW5kaWYgIC8vIF9MSUJDUFBfQ1RJTUUK