Ly89PT0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tPT09Ly8KLy8KLy8gysrKysrKysrKysrKysrKysrKyspUaGUgTExWTSBDb21waWxlciBJbmZyYXN0cnVjdHVyZQovLwovLyBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIFVuaXZlcnNpdHkgb2YgSWxsaW5vaXMgT3BlbiBTb3VyY2UKLy8gTGljZW5zZS4gU2VlIExJQ0VOU0UuVFhUIGZvciBkZXRhaWxzLgovLwovLz09PS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS09PT0vLwoKLy8gPHN0cmluZz4KCi8vIGNvbnN0IGNoYXJUJiBmcm9udCgpIGNvbnN0OwovLyAgICAgICBjaGFyVCYgZnJvbnQoKTsKCiNpbmNsdWRlIDxzdHJpbmc+CiNpbmNsdWRlIDxjYXNzZXJ0PgoKdGVtcGxhdGUgPGNsYXNzIFM+CnZvaWQKdGVzdChTIHMpCnsKICAgIGNvbnN0IFMmIGNzID0gczsKICAgIGFzc2VydCgmY3MuZnJvbnQoKSA9PSAmY3NbMF0pOwogICAgYXNzZXJ0KCZzLmZyb250KCkgPT0gJnNbMF0pOwogICAgcy5mcm9udCgpID0gdHlwZW5hbWUgUzo6dmFsdWVfdHlwZSgneicpOwogICAgYXNzZXJ0KHMuZnJvbnQoKSA9PSB0eXBlbmFtZSBTOjp2YWx1ZV90eXBlKCd6JykpOwp9CgppbnQgbWFpbigpCnsKICAgIHR5cGVkZWYgc3RkOjpzdHJpbmcgUzsKICAgIHRlc3QoUygiMSIpKTsKICAgIHRlc3QoUygiMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MCIpKTsKfQo=