Ly89PT0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tPT09Ly8KLy8KLy8gysrKysrKysrKysrKysrKysrKyspUaGUgTExWTSBDb21waWxlciBJbmZyYXN0cnVjdHVyZQovLwovLyBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIFVuaXZlcnNpdHkgb2YgSWxsaW5vaXMgT3BlbiBTb3VyY2UKLy8gTGljZW5zZS4gU2VlIExJQ0VOU0UuVFhUIGZvciBkZXRhaWxzLgovLwovLz09PS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS09PT0vLwoKLy8gPGNvbXBsZXg+CgovLyB0ZW1wbGF0ZTxjbGFzcyBULCBjbGFzcyBjaGFyVCwgY2xhc3MgdHJhaXRzPiAKLy8gICBiYXNpY19vc3RyZWFtPGNoYXJULCB0cmFpdHM+JiAKLy8gICBvcGVyYXRvcjw8KGJhc2ljX29zdHJlYW08Y2hhclQsIHRyYWl0cz4mIG8sIGNvbnN0IGNvbXBsZXg8VD4mIHgpOwoKI2luY2x1ZGUgPGNvbXBsZXg+CiNpbmNsdWRlIDxzc3RyZWFtPgojaW5jbHVkZSA8Y2Fzc2VydD4KCmludCBtYWluKCkKewogICAgc3RkOjpjb21wbGV4PGRvdWJsZT4gYygxLCAyKTsKICAgIHN0ZDo6b3N0cmluZ3N0cmVhbSBvczsKICAgIG9zIDw8IGM7CiAgICBhc3NlcnQob3Muc3RyKCkgPT0gIigxLDIpIik7Cn0K