Ly89PT0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tPT09Ly8KLy8KLy8gysrKysrKysrKysrKysrKysrKyspUaGUgTExWTSBDb21waWxlciBJbmZyYXN0cnVjdHVyZQovLwovLyBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIFVuaXZlcnNpdHkgb2YgSWxsaW5vaXMgT3BlbiBTb3VyY2UKLy8gTGljZW5zZS4gU2VlIExJQ0VOU0UuVFhUIGZvciBkZXRhaWxzLgovLwovLz09PS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS09PT0vLwoKLy8gPHRocmVhZD4KCi8vIGNsYXNzIHRocmVhZDo6aWQKCi8vIGJvb2wgb3BlcmF0b3I9PSh0aHJlYWQ6OmlkIHgsIHRocmVhZDo6aWQgeSk7Ci8vIGJvb2wgb3BlcmF0b3IhPSh0aHJlYWQ6OmlkIHgsIHRocmVhZDo6aWQgeSk7CgojaW5jbHVkZSA8dGhyZWFkPgojaW5jbHVkZSA8Y2Fzc2VydD4KCmludCBtYWluKCkKewogICAgc3RkOjp0aHJlYWQ6OmlkIGlkMDsKICAgIHN0ZDo6dGhyZWFkOjppZCBpZDE7CiAgICBpZDEgPSBpZDA7CiAgICBhc3NlcnQoIChpZDEgPT0gaWQwKSk7CiAgICBhc3NlcnQoIShpZDEgIT0gaWQwKSk7CiAgICBpZDEgPSBzdGQ6OnRoaXNfdGhyZWFkOjpnZXRfaWQoKTsKICAgIGFzc2VydCghKGlkMSA9PSBpZDApKTsKICAgIGFzc2VydCggKGlkMSAhPSBpZDApKTsKfQo=