LS0tIG1pc2MvbGlieG1sMi0yLjcuOC90ZXN0YXBpLmMJMjAwOS0wOS0yNCAyMzozMjowMC4wMDAwMDAwMDAgKzA4MDAKKysrIG1pc2MvYnVpbGQvbGlieG1sMi0yLjcuOC90ZXN0YXBpLmMJMjAxMi0wNS0yOSAxNDoxNzowMC44NjgwMjA2MDAgKzA4MDAKQEAgLTI5MSw3ICsyOTEsNyBAQAogc3RhdGljIHhtbENoYXIgZ2VuX3htbENoYXIoaW50IG5vLCBpbnQgbnIgQVRUUklCVVRFX1VOVVNFRCkgewogICAgIGlmIChubyA9PSAwKSByZXR1cm4oJ2EnKTsKICAgICBpZiAobm8gPT0gMSkgcmV0dXJuKCcgJyk7Ci0gICAgaWYgKG5vID09IDIpIHJldHVybigoeG1sQ2hhcikgJ/gnKTsKKyAgICBpZiAobm8gPT0gMikgcmV0dXJuKCh4bWxDaGFyKSAnXHhGOCcpOyAvKiBpOTM0MzM6IHJlcGxhY2VkICf4JyBlbmNvZGVkIGluIElTTy04ODU5LTEgd2l0aCAnXHhmOCcgKi8KICAgICByZXR1cm4oMCk7CiB9CiAKQEAgLTM5OSw3ICszOTksNyBAQAogc3RhdGljIHhtbENoYXIgKmdlbl9jb25zdF94bWxDaGFyX3B0cihpbnQgbm8sIGludCBuciBBVFRSSUJVVEVfVU5VU0VEKSB7CiAgICAgaWYgKG5vID09IDApIHJldHVybigoeG1sQ2hhciAqKSAiZm9vIik7CiAgICAgaWYgKG5vID09IDEpIHJldHVybigoeG1sQ2hhciAqKSAiPGZvby8+Iik7Ci0gICAgaWYgKG5vID09IDIpIHJldHVybigoeG1sQ2hhciAqKSAibvhuZSIpOworICAgIGlmIChubyA9PSAyKSByZXR1cm4oKHhtbENoYXIgKikgIm5ceEY4bmUiKTsgLyogaTkzNDMzOiByZXBsYWNlZCAn+CcgZW5jb2RlZCBpbiBJU08tODg1OS0xIHdpdGggJ1x4ZjgnICovCiAgICAgaWYgKG5vID09IDMpIHJldHVybigoeG1sQ2hhciAqKSAiIDJhYiAiKTsKICAgICByZXR1cm4oTlVMTCk7CiB9Cg==