forked from TouchedByDarkness/PixelPlanet-Void-Bot
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathFirstPart
1 lines (1 loc) · 55.6 KB
/
FirstPart
1
Y29uc3QgXzB4MjkwNjU0PWZ1bmN0aW9uKCl7bGV0IF8weDMzNDFkZj0hIVtdO3JldHVybiBmdW5jdGlvbihfMHg0ZjEwZDEsXzB4MWU4YWJhKXtjb25zdCBfMHgxNGQ4MWM9XzB4MzM0MWRmP2Z1bmN0aW9uKCl7aWYoXzB4MWU4YWJhKXtjb25zdCBfMHgzZTllODA9XzB4MWU4YWJhWydhcHBseSddKF8weDRmMTBkMSxhcmd1bWVudHMpO18weDFlOGFiYT1udWxsO3JldHVybiBfMHgzZTllODA7fX06ZnVuY3Rpb24oKXt9O18weDMzNDFkZj0hW107cmV0dXJuIF8weDE0ZDgxYzt9O30oKTsoZnVuY3Rpb24oKXtfMHgyOTA2NTQodGhpcyxmdW5jdGlvbigpe2NvbnN0IF8weDUzMjgxYz1uZXcgUmVnRXhwKCdmdW5jdGlvblx4MjAqXHg1YyhceDIwKlx4NWMpJyk7Y29uc3QgXzB4ZmNmODFkPW5ldyBSZWdFeHAoJ1x4NWMrXHg1YytceDIwKig/OlthLXpBLVpfJF1bMC05YS16QS1aXyRdKiknLCdpJyk7Y29uc3QgXzB4MWQwZGYxPV8weDM0NDc1YignaW5pdCcpO2lmKCFfMHg1MzI4MWNbJ3Rlc3QnXShfMHgxZDBkZjErJ2NoYWluJyl8fCFfMHhmY2Y4MWRbJ3Rlc3QnXShfMHgxZDBkZjErJ2lucHV0Jykpe18weDFkMGRmMSgnMCcpO31lbHNle18weDM0NDc1YigpO319KSgpO30oKSk7Y29uc3QgXzB4NDJhMDZmPWZ1bmN0aW9uKCl7bGV0IF8weDM5YjA4Mj0hIVtdO3JldHVybiBmdW5jdGlvbihfMHg0YWRkMGIsXzB4MTAxNDlhKXtjb25zdCBfMHgxOTVhNDI9XzB4MzliMDgyP2Z1bmN0aW9uKCl7aWYoXzB4MTAxNDlhKXtjb25zdCBfMHgyZGRkNTY9XzB4MTAxNDlhWydhcHBseSddKF8weDRhZGQwYixhcmd1bWVudHMpO18weDEwMTQ5YT1udWxsO3JldHVybiBfMHgyZGRkNTY7fX06ZnVuY3Rpb24oKXt9O18weDM5YjA4Mj0hW107cmV0dXJuIF8weDE5NWE0Mjt9O30oKTtjb25zdCBfMHgzMWYzNDE9XzB4NDJhMDZmKHRoaXMsZnVuY3Rpb24oKXtjb25zdCBfMHg1MjQxZTc9ZnVuY3Rpb24oKXt9O2NvbnN0IF8weDU3YTBkOD1mdW5jdGlvbigpe2xldCBfMHg0YTY3Nzk7dHJ5e18weDRhNjc3OT1GdW5jdGlvbigncmV0dXJuXHgyMChmdW5jdGlvbigpXHgyMCcrJ3t9LmNvbnN0cnVjdG9yKFx4MjJyZXR1cm5ceDIwdGhpc1x4MjIpKFx4MjApJysnKTsnKSgpO31jYXRjaChfMHgzZTU4MTkpe18weDRhNjc3OT13aW5kb3c7fXJldHVybiBfMHg0YTY3Nzk7fTtjb25zdCBfMHgzYTIzNTk9XzB4NTdhMGQ4KCk7aWYoIV8weDNhMjM1OVsnY29uc29sZSddKXtfMHgzYTIzNTlbJ2NvbnNvbGUnXT1mdW5jdGlvbihfMHg0MjEyZTApe2NvbnN0IF8weDI4OGYwYz17fTtfMHgyODhmMGNbJ2xvZyddPV8weDQyMTJlMDtfMHgyODhmMGNbJ3dhcm4nXT1fMHg0MjEyZTA7XzB4Mjg4ZjBjWydkZWJ1ZyddPV8weDQyMTJlMDtfMHgyODhmMGNbJ2luZm8nXT1fMHg0MjEyZTA7XzB4Mjg4ZjBjWydlcnJvciddPV8weDQyMTJlMDtfMHgyODhmMGNbJ2V4Y2VwdGlvbiddPV8weDQyMTJlMDtfMHgyODhmMGNbJ3RhYmxlJ109XzB4NDIxMmUwO18weDI4OGYwY1sndHJhY2UnXT1fMHg0MjEyZTA7cmV0dXJuIF8weDI4OGYwYzt9KF8weDUyNDFlNyk7fWVsc2V7XzB4M2EyMzU5Wydjb25zb2xlJ11bJ2xvZyddPV8weDUyNDFlNztfMHgzYTIzNTlbJ2NvbnNvbGUnXVsnd2FybiddPV8weDUyNDFlNztfMHgzYTIzNTlbJ2NvbnNvbGUnXVsnZGVidWcnXT1fMHg1MjQxZTc7XzB4M2EyMzU5Wydjb25zb2xlJ11bJ2luZm8nXT1fMHg1MjQxZTc7XzB4M2EyMzU5Wydjb25zb2xlJ11bJ2Vycm9yJ109XzB4NTI0MWU3O18weDNhMjM1OVsnY29uc29sZSddWydleGNlcHRpb24nXT1fMHg1MjQxZTc7XzB4M2EyMzU5Wydjb25zb2xlJ11bJ3RhYmxlJ109XzB4NTI0MWU3O18weDNhMjM1OVsnY29uc29sZSddWyd0cmFjZSddPV8weDUyNDFlNzt9fSk7XzB4MzFmMzQxKCk7KCgpPT57J3VzZSBzdHJpY3QnO2xldCBfMHg1N2Q3ZjQ9MHgxMDAsXzB4NWJkYTBiPVtbMHhjYSwweGUzLDB4ZmZdLFsweGZmLDB4ZmYsMHhmZl0sWzB4ZmYsMHhmZiwweGZmXSxbMHhlNCwweGU0LDB4ZTRdLFsweGM0LDB4YzQsMHhjNF0sWzB4ODgsMHg4OCwweDg4XSxbMHg0ZSwweDRlLDB4NGVdLFsweDAsMHgwLDB4MF0sWzB4ZjQsMHhiMywweGFlXSxbMHhmZiwweGE3LDB4ZDFdLFsweGZmLDB4NTQsMHhiMl0sWzB4ZmYsMHg2NSwweDY1XSxbMHhlNSwweDAsMHgwXSxbMHg5YSwweDAsMHgwXSxbMHhmZSwweGE0LDB4NjBdLFsweGU1LDB4OTUsMHgwXSxbMHhhMCwweDZhLDB4NDJdLFsweDYwLDB4NDAsMHgyOF0sWzB4ZjUsMHhkZiwweGIwXSxbMHhmZiwweGY4LDB4ODldLFsweGU1LDB4ZDksMHgwXSxbMHg5NCwweGUwLDB4NDRdLFsweDIsMHhiZSwweDFdLFsweDY4LDB4ODMsMHgzOF0sWzB4MCwweDY1LDB4MTNdLFsweGNhLDB4ZTMsMHhmZl0sWzB4MCwweGQzLDB4ZGRdLFsweDAsMHg4MywweGM3XSxbMHgwLDB4MCwweGVhXSxbMHgxOSwweDE5LDB4NzNdLFsweGNmLDB4NmUsMHhlNF0sWzB4ODIsMHgwLDB4ODBdXTtsZXQgXzB4Mjk2N2MyO3tjb25zdCBfMHgyMmJkYzI9XzB4NWEyNjc4PT5fMHg1YTI2Nzg+PTB4MD9fMHg1YTI2Nzg6LV8weDVhMjY3ODtsZXQgXzB4MzFmOWYzLF8weDQ1NTA4MyxfMHg1OGMxYzAsXzB4MWRmOWFmLF8weDFjNjViMztfMHgyOTY3YzI9ZnVuY3Rpb24oXzB4NDcyZDgxKXtfMHgzMWY5ZjM9SW5maW5pdHk7Zm9yKF8weDFkZjlhZj0weDA7XzB4MWRmOWFmIT09XzB4NWJkYTBiWydsZW5ndGgnXTtfMHgxZGY5YWYrKyl7aWYoXzB4NWJkYTBiW18weDFkZjlhZl1bMHgwXT09PV8weDQ3MmQ4MVsweDBdJiZfMHg1YmRhMGJbXzB4MWRmOWFmXVsweDFdPT09XzB4NDcyZDgxWzB4MV0mJl8weDViZGEwYltfMHgxZGY5YWZdWzB4Ml09PT1fMHg0NzJkODFbMHgyXSlyZXR1cm4gXzB4MWRmOWFmO18weDFjNjViMz1fMHg1YmRhMGJbXzB4MWRmOWFmXTtfMHg1OGMxYzA9XzB4MjJiZGMyKF8weDFjNjViM1sweDBdLV8weDQ3MmQ4MVsweDBdKStfMHgyMmJkYzIoXzB4MWM2NWIzWzB4MV0tXzB4NDcyZDgxWzB4MV0pK18weDIyYmRjMihfMHgxYzY1YjNbMHgyXS1fMHg0NzJkODFbMHgyXSk7aWYoXzB4NThjMWMwPF8weDMxZjlmMyl7XzB4MzFmOWYzPV8weDU4YzFjMDtfMHg0NTUwODM9XzB4MWRmOWFmO307fTtyZXR1cm4gXzB4NWJkYTBiW18weDQ1NTA4M107fTt9O051bWJlclsncHJvdG90eXBlJ11bJ2JldHdlZW4nXT1mdW5jdGlvbihfMHg0ZmVhMmYsXzB4YThhYmNlKXtyZXR1cm4gdGhpcz5fMHg0ZmVhMmYmJnRoaXM8XzB4YThhYmNlO307Y29uc3QgXzB4M2UzMjY1PShfMHgzZDUxNmEsXzB4ZmExYjVhKT0+e2xldCBfMHgzNzY4ZDU9T2JqZWN0WydrZXlzJ10oXzB4M2Q1MTZhKTtmb3IobGV0IF8weDQwMDRmZCBvZiBfMHgzNzY4ZDUpXzB4ZmExYjVhWydjYWxsJ10obnVsbCxfMHgzZDUxNmFbXzB4NDAwNGZkXSxfMHg0MDA0ZmQpO307Y29uc3QgXzB4MjU2Zjg0PXsnT1BfQ09ERSc6MHhjMSwnaHlkcmF0ZSc6XzB4MjRkNTFkPT4oeyd4JzpfMHgyNGQ1MWRbJ2dldFVpbnQ4J10oMHgxKSwneSc6XzB4MjRkNTFkWydnZXRVaW50OCddKDB4MiksJ29mZnNldCc6XzB4MjRkNTFkWydnZXRVaW50OCddKDB4Myk8PDB4MTB8XzB4MjRkNTFkWydnZXRVaW50MTYnXSgweDQpLCdjb2xvcic6XzB4MjRkNTFkWydnZXRVaW50OCddKDB4Nil9KX07Y29uc3QgXzB4MWVlOTQwPXsnT1BfQ09ERSc6MHhhMCwnZGVoeWRyYXRlJyhfMHgzMzRkNGMpe2xldCBfMHgyNDY3MGQ9bmV3IEFycmF5QnVmZmVyKDB4MiksXzB4ZTUwNDE4PW5ldyBEYXRhVmlldyhfMHgyNDY3MGQpO18weGU1MDQxOFsnc2V0SW50OCddKDB4MCwweGEwKTtfMHhlNTA0MThbJ3NldEludDgnXSgweDEsXzB4MzM0ZDRjKTtyZXR1cm4gXzB4MjQ2NzBkO319O2NvbnN0IF8weDM4ZWNlYz17J09QX0NPREUnOjB4YTEsJ2RlaHlkcmF0ZScoXzB4NWI5ZTA4KXtsZXQgXzB4MTQ1OTZiPW5ldyBBcnJheUJ1ZmZlcigweDMpLF8weDQ1ODAwZT1uZXcgRGF0YVZpZXcoXzB4MTQ1OTZiKTtfMHg0NTgwMGVbJ3NldEludDgnXSgweDAsMHhhMSk7XzB4NDU4MDBlWydzZXRJbnQxNiddKDB4MSxfMHg1YjllMDgpO3JldHVybiBfMHgxNDU5NmI7fX07Y29uc3QgXzB4NDg4ZDZmPXsnT1BfQ09ERSc6MHhhMiwnZGVoeWRyYXRlJyhfMHgzZDc5NzApe2xldCBfMHg1ZGExNjY9bmV3IEFycmF5QnVmZmVyKDB4MyksXzB4NDdhZTZjPW5ldyBEYXRhVmlldyhfMHg1ZGExNjYpO18weDQ3YWU2Y1snc2V0SW50OCddKDB4MCwweGEyKTtfMHg0N2FlNmNbJ3NldEludDE2J10oMHgxLF8weDNkNzk3MCk7cmV0dXJuIF8weDVkYTE2Njt9fTtjbGFzcyBfMHgxNzRiMzh7Y29uc3RydWN0b3IoKXtjb25zb2xlWydsb2cnXSgnW1dTXVx4MjBjcmVhdGluZ1x4MjBQcm90b2NvbENsaWVudCcpO3RoaXNbJ2lzQ29ubmVjdGluZyddPXRoaXNbJ2lzQ29ubmVjdGVkJ109IVtdO3RoaXNbJ3dzJ109dGhpc1snbmFtZSddPW51bGw7dGhpc1snY2FudmFzSWQnXT0weDA7fWFzeW5jWydjb25uZWN0J10oKXt0aGlzWydpc0Nvbm5lY3RpbmcnXT0hIVtdO2lmKHRoaXNbJ3dzJ10pY29uc29sZVsnbG9nJ10oJ1tXU11ceDIwV2ViU29ja2V0XHgyMGFscmVhZHlceDIwb3BlbixceDIwbm90XHgyMHN0YXJ0aW5nJyk7dGhpc1sndGltZUNvbm5lY3RlZCddPURhdGVbJ25vdyddKCk7dGhpc1snd3MnXT1uZXcgV2ViU29ja2V0KCd3cycrKGxvY2F0aW9uWydwcm90b2NvbCddPT09J2h0dHA6Jz8nJzoncycpKyc6Ly8nK2xvY2F0aW9uWydob3N0bmFtZSddKyhsb2NhdGlvblsncG9ydCddPyc6Jytsb2NhdGlvblsncG9ydCddOicnKSsnL3dzJyk7dGhpc1snd3MnXVsnYmluYXJ5VHlwZSddPSdhcnJheWJ1ZmZlcic7dGhpc1snd3MnXVsnb25vcGVuJ109KCk9Pnt0aGlzWydpc0Nvbm5lY3RpbmcnXT0hW107dGhpc1snaXNDb25uZWN0ZWQnXT0hIVtdO2NvbnNvbGVbJ2xvZyddKCdbV1NdXHgyMG9wZW4nKTtpZih0aGlzWydjYW52YXNJZCddIT09bnVsbCl0aGlzWyd3cyddWydzZW5kJ10oXzB4MWVlOTQwWydkZWh5ZHJhdGUnXSh0aGlzWydjYW52YXNJZCddKSk7fTt0aGlzWyd3cyddWydvbm1lc3NhZ2UnXT0oe2RhdGE6XzB4YjdkM2Y2fSk9Pnt0cnl7aWYodHlwZW9mIF8weGI3ZDNmNiE9PSdzdHJpbmcnKXRoaXNbJ29uQmluYXJ5TWVzc2FnZSddKF8weGI3ZDNmNik7fWNhdGNoKF8weDI3MTYzNil7Y29uc29sZVsnbG9nJ10oJ1tXU11ceDIwQW5ceDIwZXJyb3JceDIwb2NjdXJlZFx4MjB3aGlsZVx4MjBwYXJzaW5nXHgyMHdlYnNvY2tldFx4MjBtZXNzYWdlXHgyMCcrXzB4YjdkM2Y2KTt9fTt0aGlzWyd3cyddWydvbmNsb3NlJ109KCk9Pntjb25zb2xlWydsb2cnXSgnY2xvc2UnKTt0aGlzWyd3cyddPW51bGw7dGhpc1snaXNDb25uZWN0ZWQnXT0hW107Y29uc3QgXzB4M2IwNjVjPXRoaXNbJ3RpbWVDb25uZWN0ZWQnXTxEYXRlWydub3cnXSgpLTB4MWI1OD8weDNlODoweDEzODg7Y29uc29sZVsnd2FybiddKCdbV1NdXHgyMFNvY2tldFx4MjBpc1x4MjBjbG9zZWQuXHgyMFJlY29ubmVjdFx4MjB3aWxsXHgyMGJlXHgyMGF0dGVtcHRlZFx4MjBpblx4MjAnK18weDNiMDY1YysnXHgyMG1zLicsZVsncmVhc29uJ10pO3NldFRpbWVvdXQodGhpc1snY29ubmVjdCddWydiaW5kJ10odGhpcyksMHgxMzg4KTt9O3RoaXNbJ3dzJ11bJ29uZXJyb3InXT0oKT0+e2NvbnNvbGVbJ2Vycm9yJ10oJ1tXU11ceDIwU29ja2V0XHgyMGVuY291bnRlcmVkXHgyMGVycm9yLFx4MjBjbG9zaW5nXHgyMHNvY2tldCcsZSk7dGhpc1snd3MnXVsnY2xvc2UnXSgpO307fVsnc2V0TmFtZSddKF8weDI1YzRjMil7aWYodGhpc1snaXNDb25uZWN0ZWQnXSYmdGhpc1snbmFtZSddIT09XzB4MjVjNGMyKXtjb25zb2xlWydsb2cnXSgnW1dTXVx4MjBOYW1lXHgyMGNoYW5nZVx4MjByZXF1aWVyZXNceDIwV2ViU29ja2V0XHgyMHJlc3RhcnQnKTtpZighdGhpc1snaXNDb25uZWN0ZWQnXSlyZXR1cm47dGhpc1snaXNDb25uZWN0ZWQnXT0hW107Y29uc29sZVsnbG9nJ10oJ1tXU11ceDIwUmVzdGFydGluZ1x4MjBXZWJTb2NrZXQnKTt0aGlzWyd3cyddWydvbmNsb3NlJ109dGhpc1snd3MnXVsnb25tZXNzYWdlJ109bnVsbDt0aGlzWyd3cyddWydjbG9zZSddKCk7dGhpc1snd3MnXT1udWxsO3RoaXNbJ2Nvbm5lY3QnXSgpO319WydyZWdpc3RlckNodW5rJ10oXzB4Nzc4MGQzLF8weGU3ZjNjNil7aWYodGhpc1snaXNDb25uZWN0ZWQnXSl0aGlzWyd3cyddWydzZW5kJ10oXzB4MzhlY2VjWydkZWh5ZHJhdGUnXShfMHg3NzgwZDM8PDB4OHxfMHhlN2YzYzYpKTt9WydkZVJlZ2lzdGVyQ2h1bmsnXShfMHg1YTA1YzgsXzB4ZjI5OTg5KXtpZih0aGlzWydpc0Nvbm5lY3RlZCddKXRoaXNbJ3dzJ11bJ3NlbmQnXShfMHg0ODhkNmZbJ2RlaHlkcmF0ZSddKF8weDVhMDVjODw8MHg4fF8weGYyOTk4OSkpO31bJ29uQmluYXJ5TWVzc2FnZSddKF8weDc1YjZkYyl7aWYoXzB4NzViNmRjWydieXRlTGVuZ3RoJ109PT0weDApcmV0dXJuO2NvbnN0IF8weDE1OWQ3ND1uZXcgRGF0YVZpZXcoXzB4NzViNmRjKTtpZihfMHgxNTlkNzRbJ2dldFVpbnQ4J10oMHgwKSE9PV8weDI1NmY4NFsnT1BfQ09ERSddKXJldHVybjtsZXQgXzB4MmZmN2M1PV8weDI1NmY4NFsnaHlkcmF0ZSddKF8weDE1OWQ3NCksXzB4MTJlNTI4PV8weDJjZGNhYVsnY2h1bmtzJ11bJ2dldCddKF8weDJmZjdjNVsneCddLF8weDJmZjdjNVsneSddKTtpZighXzB4MTJlNTI4KXJldHVybjtsZXQgXzB4OTVlNTNkPV8weDJmZjdjNVsneCddKl8weDU3ZDdmNCtfMHgyZmY3YzVbJ29mZnNldCddJV8weDU3ZDdmNCtfMHgyY2RjYWFbJ2JvcmRlcnMnXVsneDEnXSxfMHhhMjJjZTk9XzB4MmZmN2M1Wyd5J10qXzB4NTdkN2Y0K35+KF8weDJmZjdjNVsnb2Zmc2V0J10vXzB4NTdkN2Y0KStfMHgyY2RjYWFbJ2JvcmRlcnMnXVsneTEnXSxfMHgxOGFlZDA9XzB4NWJkYTBiW18weDJmZjdjNVsnY29sb3InXV07Y29uc29sZVsnbG9nJ10oJ1tXU11ceDIwcHhsXHgyMCcrXzB4OTVlNTNkKydceDIwJytfMHhhMjJjZTkrJ1x4MjBbJytfMHgxOGFlZDArJ10nKTtfMHgyY2RjYWFbJ3NldFBpeGVsJ10oXzB4OTVlNTNkLF8weGEyMmNlOSxfMHgxOGFlZDApO319Y29uc3QgXzB4OWZkYzIwPW5ldyBfMHgxNzRiMzgoKTtfMHg5ZmRjMjBbJ2Nvbm5lY3QnXSgpO3NldEludGVydmFsKGNvbnNvbGVbJ2NsZWFyJ10sMHgzZTgqMHg3OCk7XzB4NGQwNmMzKGF0b2IoJ2FIUjBjSE02THk5eVlYY3VaMmwwYUhWaWRYTmxjbU52Ym5SbGJuUXVZMjl0TDFSdmRXTm9aV1JDZVVSaGNtdHVaWE56TDFCcGVHVnNVR3hoYm1WMExWWnZhV1F0UW05MEwyMWhjM1JsY2k5VFpXTnZibVJRWVhKMCcpKVsndGhlbiddKCgpPT57fSwoKT0+e2FsZXJ0KCdUaGVceDIwYm90XHgyMGhhc1x4MjBiZWVuXHgyMGRlYWN0aXZhdGVkXHgyMG9yXHgyMHlvdVx4MjBoYXZlXHgyMGFceDIwY29ubmVjdGlvblx4MjBwcm9ibGVtJyk7XzB4NWZlMWFlPSgpPT57fTtfMHg0NzQ3YTlbJ3Jlc3RhcnQnXT0oKT0+e307XzB4NTU3Y2NmWyd3aW5kb3cnXVsnc3R5bGUnXVsnZGlzcGxheSddPSdub25lJzt9KTtsZXQgXzB4NTU3Y2NmPW5ldyBmdW5jdGlvbigpe2xldCBfMHgxYWQ0NmU9dGhpczt0aGlzWyd3aW5kb3cnXT1fMHg0ZjI4Nzkoeyd0eXBlJzonZGl2Jywnc3R5bGUnOidjb2xvcjpyZWQ7XHgyMGJhY2tncm91bmQtY29sb3I6YmxhY2s7XHgyMHBhZGRpbmc6M3B4O1x4MjBwb3NpdGlvbjphYnNvbHV0ZTtceDIwdG9wOjIlO1x4MjByaWdodDoyJTtceDIwei1pbmRleDo5OTk5O1x4MjB3aWR0aDo0MCU7XHgyMGZvbnQtd2VpZ2h0OmJvbGQ7J30pO3RoaXNbJ3dpbmRvdyddWydhcHBlbmRDaGlsZCddKF8weDRmMjg3OSh7J3R5cGUnOidkaXYnLCd0ZXh0JzonTWFrZVx4MjBWb2lkXHgyMGdyZWF0XHgyMGFnYWluIScsJ3N0eWxlJzonZm9udC1zaXplOjExMCU7J30pKTt0aGlzWyd3aW5kb3cnXVsnYXBwZW5kQ2hpbGQnXShfMHg0ZjI4Nzkoeyd0eXBlJzonaHInLCdzdHlsZSc6J2JvcmRlci1jb2xvcjpceDIwZGFya3JlZDtceDIwbWFyZ2luOlx4MjAzcHhceDIwMHB4XHgyMDNweFx4MjAwcHg7J30pKTt0aGlzWyd3aW5kb3cnXVsnYXBwZW5kQ2hpbGQnXSh0aGlzWydsZWZ0J109XzB4NGYyODc5KHsndHlwZSc6J2RpdicsJ3N0eWxlJzonZmxvYXQ6cmlnaHQ7XHgyMHdpZHRoOjUwJTsnfSkpO3RoaXNbJ3dpbmRvdyddWydhcHBlbmRDaGlsZCddKHRoaXNbJ3JpZ2h0J109XzB4NGYyODc5KHsndHlwZSc6J2RpdicsJ3N0eWxlJzonZmxvYXQ6bGVmdDtceDIwd2lkdGg6NTAlOyd9KSk7dGhpc1snbGVmdCddWydhcHBlbmRDaGlsZCddKF8weDRmMjg3OSh7J3R5cGUnOidkaXYnLCd0ZXh0JzonQm90c1x4MjBvbmxpbmVceDIwLVx4MjAnfSxbdGhpc1snYm90T25saW5lJ109XzB4NGYyODc5KHsndHlwZSc6J3NwYW4nLCd0ZXh0JzonbnVsbCd9KV0pKTt0aGlzWydzZXRCb3RPbmxpbmUnXT1fMHg1Y2ViODA9PnRoaXNbJ2JvdE9ubGluZSddWydpbm5lclRleHQnXSE9PV8weDVjZWI4MCYmKHRoaXNbJ2JvdE9ubGluZSddWydpbm5lclRleHQnXT1fMHg1Y2ViODApO3RoaXNbJ2xlZnQnXVsnYXBwZW5kQ2hpbGQnXShfMHg0ZjI4Nzkoeyd0eXBlJzonZGl2JywndGV4dCc6J1N0YXR1c1x4MjAtXHgyMCd9LFt0aGlzWydib3RTdGF0dXNFbGVtZW50J109XzB4NGYyODc5KHsndHlwZSc6J3NwYW4nfSldKSk7dGhpc1snc2V0Qm90U3RhdHVzJ109XzB4MjZmMTg5PT50aGlzWydib3RTdGF0dXNFbGVtZW50J11bJ2lubmVyVGV4dCddIT09XzB4MjZmMTg5JiYodGhpc1snYm90U3RhdHVzRWxlbWVudCddWydpbm5lclRleHQnXT1fMHgyNmYxODkpO3RoaXNbJ2xlZnQnXVsnYXBwZW5kQ2hpbGQnXShfMHg0ZjI4Nzkoeyd0eXBlJzonZGl2JywndGV4dCc6J1RpbWVyXHgyMC1ceDIwJ30sW3RoaXNbJ3RpbWVyRWxlbWVudCddPV8weDRmMjg3OSh7J3R5cGUnOidzcGFuJ30pXSkpO3RoaXNbJ3NldFRpbWVyJ109XzB4YzQ0MzlkPT5fMHhjNDQzOWQhPT10aGlzWyd0aW1lckVsZW1lbnQnXVsnaW5uZXJUZXh0J10mJih0aGlzWyd0aW1lckVsZW1lbnQnXVsnaW5uZXJUZXh0J109fn4oXzB4YzQ0MzlkKjB4NjQpLzB4NjQpO3RoaXNbJ2xlZnQnXVsnYXBwZW5kQ2hpbGQnXShfMHg0ZjI4Nzkoeyd0eXBlJzonZGl2JywndGV4dCc6J0xhc3RceDIwcHhsXHgyMC1ceDIwJ30sW3RoaXNbJ2xhc3RQeGxFbGVtZW50J109XzB4NGYyODc5KHsndHlwZSc6J3NwYW4nLCd0ZXh0JzoneFx4MjB5XHgyMFtyLGcsYl0nfSldKSk7dGhpc1snc2V0TGFzdFB4bCddPShfMHg1YjJkZTIsXzB4NWRkMDcwLF8weDNlYTM5ZCk9Pl8weDViMmRlMisnXHgyMCcrXzB4NWRkMDcwKydceDIwWycrXzB4M2VhMzlkKyddJyE9PXRoaXNbJ2xhc3RQeGxFbGVtZW50J11bJ2lubmVyVGV4dCddJiYodGhpc1snbGFzdFB4bEVsZW1lbnQnXVsnaW5uZXJUZXh0J109XzB4NWIyZGUyKydceDIwJytfMHg1ZGQwNzArJ1x4MjBbJytfMHgzZWEzOWQrJ10nKTt0aGlzWydsZWZ0J11bJ2FwcGVuZENoaWxkJ10oXzB4NGYyODc5KHsndHlwZSc6J2RpdicsJ3RleHQnOidab25lXHgyMC1ceDIwJ30sW3RoaXNbJ2JvcmRlcnNFbGVtZW50J109XzB4NGYyODc5KHsndHlwZSc6J3NwYW4nfSldKSk7dGhpc1snc2V0Qm9yZGVycyddPV8weDQyNjQxZT0+XzB4NDI2NDFlIT09dGhpc1snYm9yZGVyc0VsZW1lbnQnXVsnaW5uZXJUZXh0J10mJih0aGlzWydib3JkZXJzRWxlbWVudCddWydpbm5lclRleHQnXT1fMHg0MjY0MWUpO3RoaXNbJ3JpZ2h0J11bJ2FwcGVuZENoaWxkJ10oXzB4NGYyODc5KHsndHlwZSc6J2RpdicsJ3RleHQnOidTdHJhdGVneVx4MjAtXHgyMCd9LFt0aGlzWydzdHJhdGVneUVsZW1lbnQnXT1fMHg0ZjI4Nzkoeyd0eXBlJzonc2VsZWN0Jywnc3R5bGUnOidjb2xvcjpyZWQ7XHgyMGJhY2tncm91bmQtY29sb3I6YmxhY2s7XHgyMGJvcmRlci1jb2xvcjpkYXJrUmVkO1x4MjBmb250OmluaGVyaXQ7J30pXSkpO3RoaXNbJ2FkZE1vZGUnXT1fMHgzOGUzYmM9PntsZXQgXzB4MTUyODJlPWRvY3VtZW50WydjcmVhdGVFbGVtZW50J10oJ29wdGlvbicpO18weDE1MjgyZVsndmFsdWUnXT1fMHgxNTI4MmVbJ2lubmVyVGV4dCddPV8weDM4ZTNiYzt0aGlzWydzdHJhdGVneUVsZW1lbnQnXVsnYXBwZW5kQ2hpbGQnXShfMHgxNTI4MmUpO307dGhpc1sncmlnaHQnXVsnYXBwZW5kQ2hpbGQnXShfMHg0ZjI4Nzkoeyd0eXBlJzonZGl2JywndGV4dCc6J0RpcmVjdGlvblx4MjAtXHgyMCd9LFt0aGlzWydkaXJlY3Rpb25FbGVtZW50J109XzB4NGYyODc5KHsndHlwZSc6J3NlbGVjdCcsJ3N0eWxlJzonY29sb3I6cmVkO1x4MjBiYWNrZ3JvdW5kLWNvbG9yOmJsYWNrO1x4MjBib3JkZXItY29sb3I6ZGFya1JlZDtceDIwZm9udDppbmhlcml0Oyd9KV0pKTt0aGlzWydhZGREaXJlY3Rpb24nXT1fMHgzZjJiMDI9PntsZXQgXzB4NTFmOTkxPWRvY3VtZW50WydjcmVhdGVFbGVtZW50J10oJ29wdGlvbicpO18weDUxZjk5MVsndmFsdWUnXT1fMHg1MWY5OTFbJ2lubmVyVGV4dCddPV8weDNmMmIwMjt0aGlzWydkaXJlY3Rpb25FbGVtZW50J11bJ2FwcGVuZENoaWxkJ10oXzB4NTFmOTkxKTt9O3RoaXNbJ3JpZ2h0J11bJ2FwcGVuZENoaWxkJ10oXzB4NGYyODc5KHsndHlwZSc6J2RpdicsJ3RleHQnOidDb3Zlclx4MjAtXHgyMCd9LFt0aGlzWydjb3ZlckVsZW1lbnQnXT1fMHg0ZjI4Nzkoeyd0eXBlJzonc2VsZWN0Jywnc3R5bGUnOidjb2xvcjpyZWQ7XHgyMGJhY2tncm91bmQtY29sb3I6YmxhY2s7XHgyMGJvcmRlci1jb2xvcjpkYXJrUmVkO1x4MjBmb250OmluaGVyaXQ7J30pXSkpO3RoaXNbJ2FkZENvdmVyJ109XzB4M2U3OGU0PT57bGV0IF8weDRkMzk1Yj1kb2N1bWVudFsnY3JlYXRlRWxlbWVudCddKCdvcHRpb24nKTtfMHg0ZDM5NWJbJ3ZhbHVlJ109XzB4NGQzOTViWydpbm5lclRleHQnXT1fMHgzZTc4ZTQ7dGhpc1snY292ZXJFbGVtZW50J11bJ2FwcGVuZENoaWxkJ10oXzB4NGQzOTViKTt9OygoKT0+e2xldCBfMHg0ZTI0MzU7dGhpc1sncmlnaHQnXVsnYXBwZW5kQ2hpbGQnXShfMHg0ZTI0MzU9XzB4NGYyODc5KHsndHlwZSc6J2J1dHRvbicsJ3RleHQnOidSZXNldFx4MjBjYXB0Y2hhJywnc3R5bGUnOidjb2xvcjpncmV5O1x4MjBiYWNrZ3JvdW5kLWNvbG9yOmJsYWNrO1x4MjBib3JkZXItY29sb3I6ZGFya1JlZDtceDIwZm9udDppbmhlcml0O1x4MjBtYXJnaW46NXB4Oyd9KSk7KGZ1bmN0aW9uIF8weDIzODE4Yygpe2lmKHdpbmRvd1snZ3JlY2FwdGNoYSddPT09dW5kZWZpbmVkfHx3aW5kb3dbJ2dyZWNhcHRjaGEnXVsncmVzZXQnXT09PXVuZGVmaW5lZClyZXR1cm4gc2V0VGltZW91dChfMHgyMzgxOGMsMHg2NCk7XzB4NGUyNDM1WydhZGRFdmVudExpc3RlbmVyJ10oJ2NsaWNrJywoKT0+d2luZG93WydncmVjYXB0Y2hhJ11bJ3Jlc2V0J10oKSk7XzB4NGUyNDM1WydzdHlsZSddWydjb2xvciddPSdyZWQnO30oKSk7fSkoKTtkb2N1bWVudFsnYm9keSddWydhcHBlbmRDaGlsZCddKHRoaXNbJ3dpbmRvdyddKTt9KCk7XzB4NTU3Y2NmWydzZXRCb3RTdGF0dXMnXSgnc3RvcHBlZCcpO18weDI5ZTIxYygpO3NldEludGVydmFsKF8weDI5ZTIxYywweDNlOCoweDFlKTtsZXQgXzB4NzAzZjVjPWRvY3VtZW50WydnZXRFbGVtZW50c0J5Q2xhc3NOYW1lJ10oJ2Nvb3Jib3gnKVsweDBdLF8weGQ4OGE4ND1kb2N1bWVudFsnZ2V0RWxlbWVudHNCeVRhZ05hbWUnXSgnY2FudmFzJylbMHgwXTtsZXQgXzB4NWEwMjY4PXsnd29ybGRYJzpudWxsLCd3b3JsZFknOm51bGwsJ2NsaWVudFgnOm51bGwsJ2NsaWVudFknOm51bGx9O3dpbmRvd1snYWRkRXZlbnRMaXN0ZW5lciddKCdtb3VzZW1vdmUnLF8weDQ5NmMwNj0+e1tfMHg1YTAyNjhbJ3dvcmxkWCddLF8weDVhMDI2OFsnd29ybGRZJ11dPV8weDk5MGMwZCgpO18weDVhMDI2OFsnY2xpZW50WCddPV8weDQ5NmMwNlsnY2xpZW50WCddO18weDVhMDI2OFsnY2xpZW50WSddPV8weDQ5NmMwNlsnY2xpZW50WSddO18weDU1N2NjZlsnc2V0Qm9yZGVycyddKCdbJytfMHgzNGIzZWYoKSsnXScpO30pO2xldCBfMHgxYjMzM2U9bmV3IFJlZ0V4cCgvLT9cZCsvZyk7Y2xhc3MgXzB4MTg3Y2Uxe2NvbnN0cnVjdG9yKF8weDQwYjAzZSxfMHg1N2NlZTEsXzB4M2JkYzFhKXt0aGlzWyd4J109XzB4NDBiMDNlO3RoaXNbJ3knXT1fMHg1N2NlZTE7dGhpc1snZGF0YSddPV8weDNiZGMxYTt0aGlzWydsYXN0VXNpbmcnXT1uZXcgRGF0ZSgpWydnZXRUaW1lJ10oKTt0aGlzWydfYyddPW51bGw7fVsnZ2V0J10oXzB4NGM5NWQxLF8weDU1MjNhYyl7cmV0dXJuIHRoaXNbJ19jJ109XzB4NGM5NWQxK18weDU1MjNhYypfMHg1N2Q3ZjQ8PDB4MixbdGhpc1snZGF0YSddW3RoaXNbJ19jJ11dLHRoaXNbJ2RhdGEnXVt0aGlzWydfYyddKzB4MV0sdGhpc1snZGF0YSddW3RoaXNbJ19jJ10rMHgyXV07fVsnc2V0J10oXzB4MWVlNWNiLF8weDRhYzY0ZixfMHg1MjI3ODQpe3JldHVybiB0aGlzWydfYyddPV8weDFlZTVjYitfMHg0YWM2NGYqXzB4NTdkN2Y0PDwweDIsW3RoaXNbJ2RhdGEnXVt0aGlzWydfYyddXSx0aGlzWydkYXRhJ11bdGhpc1snX2MnXSsweDFdLHRoaXNbJ2RhdGEnXVt0aGlzWydfYyddKzB4Ml1dPVsuLi5fMHg1MjI3ODRdO319O2xldCBfMHgyY2RjYWE9bmV3IGZ1bmN0aW9uKCl7bGV0IF8weDI1OWEzMz10aGlzO3RoaXNbJ2NodW5rU2l6ZSddPV8weDU3ZDdmNDt0aGlzWydtYXhMaXZlVGltZSddPTB4M2U4KjB4Nzg7dGhpc1sndGlsZWRCb3JkZXJzJ109eyd4MSc6MHgwLCd5MSc6MHgwLCd4Mic6MHgxMDAsJ3kyJzoweDEwMCwnd2lkdGgnOjB4MTAwLCdoZWlnaHQnOjB4MTAwfTt0aGlzWydib3JkZXJzJ109eyd4MSc6LSh0aGlzWyd0aWxlZEJvcmRlcnMnXVsnd2lkdGgnXSp0aGlzWydjaHVua1NpemUnXS8weDIpLCd5MSc6LSh0aGlzWyd0aWxlZEJvcmRlcnMnXVsnaGVpZ2h0J10qdGhpc1snY2h1bmtTaXplJ10vMHgyKSwneDInOnRoaXNbJ3RpbGVkQm9yZGVycyddWyd3aWR0aCddKnRoaXNbJ2NodW5rU2l6ZSddLzB4MiwneTInOnRoaXNbJ3RpbGVkQm9yZGVycyddWydoZWlnaHQnXSp0aGlzWydjaHVua1NpemUnXS8weDJ9O3RoaXNbJ2NodW5rcyddPXsnZ2V0JzpmdW5jdGlvbihfMHg1ZWJkOGEsXzB4NzIzMDQwKXtyZXR1cm4gdGhpc1tfMHg1ZWJkOGFdPT09dW5kZWZpbmVkfHx0aGlzW18weDVlYmQ4YV1bXzB4NzIzMDQwXT09PXVuZGVmaW5lZD9udWxsOnRoaXNbXzB4NWViZDhhXVtfMHg3MjMwNDBdO30sJ3NldCc6ZnVuY3Rpb24oXzB4MjgxZDgxLF8weDNlOTc5OSxfMHg1ZDFhOTgpe3RoaXNbXzB4MjgxZDgxXT09PXVuZGVmaW5lZCYmKHRoaXNbXzB4MjgxZDgxXT17fSk7XzB4MjU5YTMzWydjaHVua0xpc3QnXVsncHVzaCddKHRoaXNbXzB4MjgxZDgxXVtfMHgzZTk3OTldPW5ldyBfMHgxODdjZTEoXzB4MjgxZDgxLF8weDNlOTc5OSxfMHg1ZDFhOTgpKTtyZXR1cm4gdGhpc1tfMHgyODFkODFdW18weDNlOTc5OV07fSwnZGVsZXRlJzpmdW5jdGlvbihfMHgxYjllNzUsXzB4M2Y5Mjk3KXtpZih0aGlzW18weDFiOWU3NV09PT11bmRlZmluZWR8fHRoaXNbXzB4MWI5ZTc1XVtfMHgzZjkyOTddPT09dW5kZWZpbmVkKXJldHVybjt0aGlzW18weDFiOWU3NV1bXzB4M2Y5Mjk3XT11bmRlZmluZWQ7Zm9yKGxldCBfMHgzMjM3NjE9MHgwO18weDMyMzc2MSE9PV8weDI1OWEzM1snY2h1bmtMaXN0J11bJ2xlbmd0aCddO18weDMyMzc2MSsrKWlmKF8weDI1OWEzM1snY2h1bmtMaXN0J11bXzB4MzIzNzYxXVsneCddPT09XzB4MWI5ZTc1JiZfMHgyNTlhMzNbJ2NodW5rTGlzdCddW18weDMyMzc2MV1bJ3knXT09PV8weDNmOTI5Nyl7XzB4OWZkYzIwWydkZVJlZ2lzdGVyQ2h1bmsnXShfMHgyNTlhMzNbJ2NodW5rTGlzdCddW18weDMyMzc2MV1bJ3gnXSxfMHgyNTlhMzNbJ2NodW5rTGlzdCddW18weDMyMzc2MV1bJ3knXSk7cmV0dXJuIF8weDI1OWEzM1snY2h1bmtMaXN0J11bJ3NwbGljZSddKF8weDMyMzc2MSwweDEpO307fX07dGhpc1snY2h1bmtMaXN0J109W107dGhpc1snY2FuTG9hZCddPSEhW107dGhpc1snbWF4TG9hZFdhaXRUaW1lJ109MHgzZTg7dGhpc1snY2h1bmtHZXRUaW1lb3V0J109bnVsbDt0aGlzWydjbGVhckNodW5rR2V0VGltZW91dCddPSgpPT57aWYodGhpc1snY2h1bmtHZXRUaW1lb3V0J10hPT1udWxsKWNsZWFyVGltZW91dCh0aGlzWydjaHVua0dldFRpbWVvdXQnXSksdGhpc1snY2h1bmtHZXRUaW1lb3V0J109bnVsbCx0aGlzWydjYW5Mb2FkJ109ISFbXTt9O3RoaXNbJ3NldENodW5rR2V0VGltZW91dCddPWZ1bmN0aW9uKCl7dGhpc1snY2xlYXJDaHVua0dldFRpbWVvdXQnXSgpO3RoaXNbJ2NhbkxvYWQnXT0hW107dGhpc1snY2h1bmtHZXRUaW1lb3V0J109c2V0VGltZW91dCh0aGlzWydjbGVhckNodW5rR2V0VGltZW91dCddWydiaW5kJ10odGhpcyksdGhpc1snbWF4TG9hZFdhaXRUaW1lJ10pO307dGhpc1snZ2FyYmFnZUNvbGxlY3RvciddPW5ldyBmdW5jdGlvbigpe3RoaXNbJ2ludGVydmFsJ109bnVsbDt0aGlzWydjbGVhciddPSgpPT57bGV0IF8weDMzN2VlOD1uZXcgRGF0ZSgpWydnZXRUaW1lJ10oKSxfMHg3MWE1Mzg9MHgwO2ZvcihsZXQgXzB4MjFhZTkxIG9mIF8weDI1OWEzM1snY2h1bmtMaXN0J10paWYoXzB4MzM3ZWU4LV8weDIxYWU5MVsnbGFzdFVzaW5nJ10+XzB4MjU5YTMzWydtYXhMaXZlVGltZSddKV8weDI1OWEzM1snY2h1bmtzJ11bJ2RlbGV0ZSddKF8weDIxYWU5MVsneCddLF8weDIxYWU5MVsneSddKSxfMHg3MWE1MzgrKztfMHg3MWE1MzghPT0weDAmJmNvbnNvbGVbJ2xvZyddKCdbR0JdXHgyMCcrXzB4NzFhNTM4KydceDIwY2h1bmtzXHgyMGNvbGxlY3RlZCcpO307dGhpc1snc3RhcnQnXT0oKT0+e3RoaXNbJ3N0b3AnXSgpO3RoaXNbJ2ludGVydmFsJ109c2V0SW50ZXJ2YWwodGhpc1snY2xlYXInXVsnYmluZCddKHRoaXMpLDB4M2U4KjB4M2MpO307dGhpc1snc3RvcCddPSgpPT50aGlzWydpbnRlcnZhbCddPT09bnVsbHx8KGNsZWFySW50ZXJ2YWwodGhpc1snaW50ZXJ2YWwnXSksdGhpc1snaW50ZXJ2YWwnXT1udWxsKTt9KCk7dGhpc1snYWJzVG9UaWxlZCddPShfMHg0MzU1YzAsXzB4MTg2NDMyKT0+W35+KChfMHg0MzU1YzAtdGhpc1snYm9yZGVycyddWyd4MSddKS90aGlzWydjaHVua1NpemUnXSksfn4oKF8weDE4NjQzMi10aGlzWydib3JkZXJzJ11bJ3kxJ10pL3RoaXNbJ2NodW5rU2l6ZSddKV07dGhpc1sndGlsZWRUb0FicyddPShfMHgzMmEyZjcsXzB4NGY3MzFlKT0+W3RoaXNbJ2JvcmRlcnMnXVsneDEnXStfMHgzMmEyZjcqdGhpc1snY2h1bmtTaXplJ10sdGhpc1snYm9yZGVycyddWyd5MSddK18weDRmNzMxZSp0aGlzWydjaHVua1NpemUnXV07e2xldCBfMHg0YTcxZTQ7dGhpc1snZ2V0UGl4ZWwnXT0oXzB4MmE5ZmEyLF8weDFhZTE2Mik9PntfMHg0YTcxZTQ9dGhpc1snY2h1bmtzJ11bJ2dldCddKC4uLnRoaXNbJ2Fic1RvVGlsZWQnXShfMHgyYTlmYTIsXzB4MWFlMTYyKSk7cmV0dXJuIF8weDRhNzFlNCYmXzB4NGE3MWU0WydnZXQnXSgoXzB4MmE5ZmEyLXRoaXNbJ2JvcmRlcnMnXVsneDEnXSkldGhpc1snY2h1bmtTaXplJ10sKF8weDFhZTE2Mi10aGlzWydib3JkZXJzJ11bJ3kxJ10pJXRoaXNbJ2NodW5rU2l6ZSddKTt9O3RoaXNbJ3NldFBpeGVsJ109KF8weDQxY2I4MSxfMHgyNzc5OGMsXzB4MWQ1YjRhKT0+e18weDRhNzFlND10aGlzWydjaHVua3MnXVsnZ2V0J10oLi4udGhpc1snYWJzVG9UaWxlZCddKF8weDQxY2I4MSxfMHgyNzc5OGMpKTtyZXR1cm4gXzB4NGE3MWU0JiZfMHg0YTcxZTRbJ3NldCddKChfMHg0MWNiODEtdGhpc1snYm9yZGVycyddWyd4MSddKSV0aGlzWydjaHVua1NpemUnXSwoXzB4Mjc3OThjLXRoaXNbJ2JvcmRlcnMnXVsneTEnXSkldGhpc1snY2h1bmtTaXplJ10sXzB4MWQ1YjRhKTt9O307dGhpc1snbG9hZENodW5rJ109KCgpPT57bGV0IF8weDMwZGU0Mj1uZXcgVWludDMyQXJyYXkoXzB4NWJkYTBiWydsZW5ndGgnXSk7XzB4NWJkYTBiWydmb3JFYWNoJ10oKFtfMHg0ODBlNGUsXzB4NDFiN2FjLF8weDFiY2RiY10sXzB4MmQxMTViKT0+XzB4MzBkZTQyW18weDJkMTE1Yl09MHhmZjAwMDAwMHxfMHgxYmNkYmM8PDB4MTB8XzB4NDFiN2FjPDwweDh8XzB4NDgwZTRlKTtjb25zdCBfMHgxMzhmMWY9XzB4ZWI0Yzg1PT57bGV0IF8weDJhNGEwZD1uZXcgVWludDMyQXJyYXkoXzB4ZWI0Yzg1WydsZW5ndGgnXSk7Zm9yKGxldCBfMHg0MTMxMjA9MHgwO18weDQxMzEyMCE9PV8weGViNGM4NVsnbGVuZ3RoJ107XzB4NDEzMTIwKyspXzB4MmE0YTBkW18weDQxMzEyMF09XzB4MzBkZTQyW18weGViNGM4NVtfMHg0MTMxMjBdJjB4M2ZdO3JldHVybiBfMHgyYTRhMGQ7fTtmdW5jdGlvbiBfMHgxZTRjMDAoXzB4M2YwN2M2KXtsZXQgXzB4NTAzNjljPW5ldyBVaW50OENsYW1wZWRBcnJheShfMHgyNTlhMzNbJ2NodW5rU2l6ZSddKioweDI8PDB4MiksXzB4NTY3MTQxPW5ldyBVaW50MzJBcnJheShfMHg1MDM2OWNbJ2J1ZmZlciddKSxfMHg1Mjc0ODk9XzB4MTM4ZjFmKF8weDNmMDdjNik7XzB4NTI3NDg5Wydmb3JFYWNoJ10oKF8weDUwYmMyNCxfMHgxNmNiN2IpPT5fMHg1NjcxNDFbXzB4MTZjYjdiXT1fMHg1MGJjMjQpO3JldHVybiBfMHg1MDM2OWM7fTtyZXR1cm4gYXN5bmMgZnVuY3Rpb24oXzB4MmEwNmNkLF8weDM5ZmM4ZCl7aWYoIV8weDI1OWEzM1snY2FuTG9hZCddfHxfMHgyNTlhMzNbJ2NodW5rcyddWydnZXQnXShfMHgyYTA2Y2QsXzB4MzlmYzhkKSlyZXR1cm47XzB4MjU5YTMzWydzZXRDaHVua0dldFRpbWVvdXQnXSgpO2xldCBfMHgxZjU0NGM9YXdhaXQgZmV0Y2gobG9jYXRpb25bJ3Byb3RvY29sJ10rJy8vJytsb2NhdGlvblsnaG9zdCddKygnL2NodW5rcy8wLycrXzB4MmEwNmNkKycvJytfMHgzOWZjOGQrJy5ibXAnKSk7aWYoXzB4MWY1NDRjWydvayddKXtsZXQgXzB4YWNhZWVlPWF3YWl0IF8weDFmNTQ0Y1snYXJyYXlCdWZmZXInXSgpLF8weDEwYTcwMDtpZihfMHhhY2FlZWVbJ2J5dGVMZW5ndGgnXSl7XzB4MTBhNzAwPV8weDFlNGMwMChuZXcgVWludDhBcnJheShfMHhhY2FlZWUpKTtjb25zb2xlWydsb2cnXSgnQ2h1bmtceDIwJytfMHgyYTA2Y2QrJ1x4MjAnK18weDM5ZmM4ZCsnXHgyMGxvYWRpbmcnKTtfMHg5ZmRjMjBbJ3JlZ2lzdGVyQ2h1bmsnXShfMHgyYTA2Y2QsXzB4MzlmYzhkKTt9ZWxzZXtfMHgxMGE3MDA9bmV3IFVpbnQ4Q2xhbXBlZEFycmF5KF8weDI1OWEzM1snY2h1bmtTaXplJ10qKjB4Mjw8MHgyKTtmb3IobGV0IF8weDQ0M2I3MT0weDA7XzB4NDQzYjcxIT09XzB4MTBhNzAwWydsZW5ndGgnXTtfMHg0NDNiNzErPTB4NClbXzB4MTBhNzAwW18weDQ0M2I3MV0sXzB4MTBhNzAwW18weDQ0M2I3MSsweDFdLF8weDEwYTcwMFtfMHg0NDNiNzErMHgyXSxfMHgxMGE3MDBbXzB4NDQzYjcxKzB4M11dPVsuLi5fMHg1YmRhMGJbMHgwXSwweGZmXTtjb25zb2xlWydsb2cnXSgnRW1wdHlceDIwYW5zd2VyXHgyMCcrXzB4MmEwNmNkKydceDIwJytfMHgzOWZjOGQpO307XzB4MjU5YTMzWydjaHVua3MnXVsnc2V0J10oXzB4MmEwNmNkLF8weDM5ZmM4ZCxfMHgxMGE3MDApO18weDI1OWEzM1snY2xlYXJDaHVua0dldFRpbWVvdXQnXSgpO31lbHNlIHRocm93IG5ldyBFcnJvcignTmV0d29ya1x4MjByZXNwb25zZVx4MjB3YXNceDIwbm90XHgyMG9rLicpO307fSkoKTt9KCk7XzB4MmNkY2FhWydnYXJiYWdlQ29sbGVjdG9yJ11bJ3N0YXJ0J10oKTtsZXQgXzB4NGYzZmRmPW5ldyBmdW5jdGlvbigpe3RoaXNbJ3RpbWUnXT0weDA7c2V0SW50ZXJ2YWwoKCk9PntpZihpc05hTih0aGlzWyd0aW1lJ10pKXRoaXNbJ3RpbWUnXT0weDA7LS10aGlzWyd0aW1lJ108MHgwJiYodGhpc1sndGltZSddPTB4MCk7XzB4NTU3Y2NmWydzZXRUaW1lciddKHRoaXNbJ3RpbWUnXSk7fSwweDNlOCk7dGhpc1snY2FuUGxhY2UnXT0oKT0+dGhpc1sndGltZSddPDB4MzQ7fSgpO2NsYXNzIF8weDUxYTU4NXtjb25zdHJ1Y3Rvcih7eCx5LHdpZHRoLGhlaWdodCxuYW1lLHVybCxpbWcsY2FudmFzfT17fSl7dGhpc1sneCddPXg7dGhpc1sneSddPXk7dGhpc1snd2lkdGgnXT13aWR0aDt0aGlzWydoZWlnaHQnXT1oZWlnaHQ7dGhpc1sneEVuZCddPXRoaXNbJ3gnXSt0aGlzWyd3aWR0aCddO3RoaXNbJ3lFbmQnXT10aGlzWyd5J10rdGhpc1snaGVpZ2h0J107dGhpc1snbmFtZSddPW5hbWU7dGhpc1sndXJsJ109dXJsfHxudWxsO3RoaXNbJ2ltZyddPWltZ3x8bnVsbDt0aGlzWydjYW52YXMnXT1jYW52YXN8fG51bGw7dGhpc1snX2MnXT1udWxsO31bJ2dldCddKF8weDg0NjcyNixfMHgxN2ZiNDIpe3RoaXNbJ19jJ109XzB4ODQ2NzI2K18weDE3ZmI0Mip0aGlzWyd3aWR0aCddPDwweDI7cmV0dXJuW3RoaXNbJ2NhbnZhcyddWydkYXRhJ11bdGhpc1snX2MnXV0sdGhpc1snY2FudmFzJ11bJ2RhdGEnXVt0aGlzWydfYyddKzB4MV0sdGhpc1snY2FudmFzJ11bJ2RhdGEnXVt0aGlzWydfYyddKzB4Ml0sdGhpc1snY2FudmFzJ11bJ2RhdGEnXVt0aGlzWydfYyddKzB4M11dO31bJ2xvYWQnXShfMHgyYmMyMjMsXzB4YmNmMjdlKXtpZih0aGlzWyd1cmwnXT09PW51bGwpcmV0dXJuIGNvbnNvbGVbJ2Vycm9yJ10oJ1RlbXBsYXRlXHgyMHVybFx4MjBpc25ceDI3dFx4MjBkZWZpbmVkJyk7dGhpc1snaW1nJ109bmV3IEltYWdlKCk7dGhpc1snaW1nJ11bJ2Nyb3NzT3JpZ2luJ109Jyc7dGhpc1snaW1nJ11bJ29ubG9hZCddPSgpPT57dGhpc1snY2FudmFzJ109ZG9jdW1lbnRbJ2NyZWF0ZUVsZW1lbnQnXSgnY2FudmFzJyk7dGhpc1snd2lkdGgnXT10aGlzWydjYW52YXMnXVsnd2lkdGgnXT10aGlzWydpbWcnXVsnd2lkdGgnXTt0aGlzWydoZWlnaHQnXT10aGlzWydjYW52YXMnXVsnaGVpZ2h0J109dGhpc1snaW1nJ11bJ2hlaWdodCddO3RoaXNbJ3hFbmQnXT10aGlzWyd4J10rdGhpc1snd2lkdGgnXTt0aGlzWyd5RW5kJ109dGhpc1sneSddK3RoaXNbJ2hlaWdodCddO3RoaXNbJ2N0eCddPXRoaXNbJ2NhbnZhcyddWydnZXRDb250ZXh0J10oJzJkJyk7dGhpc1snY3R4J11bJ2RyYXdJbWFnZSddKHRoaXNbJ2ltZyddLDB4MCwweDApO3RoaXNbJ2ltYWdlRGF0YSddPXRoaXNbJ2N0eCddWydnZXRJbWFnZURhdGEnXSgweDAsMHgwLHRoaXNbJ3dpZHRoJ10sdGhpc1snaGVpZ2h0J10pO3RoaXNbJ2NhbnZhcyddWydkYXRhJ109dGhpc1snaW1hZ2VEYXRhJ11bJ2RhdGEnXTtfMHgyYmMyMjMmJl8weDJiYzIyMyh0aGlzKTt9O3RoaXNbJ2ltZyddWydvbmVycm9yJ109XzB4YmNmMjdlWydiaW5kJ10obnVsbCx0aGlzKTt0aGlzWydpbWcnXVsnc3JjJ109dGhpc1sndXJsJ107fX07Y2xhc3MgXzB4NDI0OThie2NvbnN0cnVjdG9yKCl7dGhpc1snZ2VuZXJhbCddPXt9O3RoaXNbJ2FjdHVhbCddPXt9O3RoaXNbJ19uYW1lJ109dGhpc1snX3QnXT1udWxsO31bJ2xvYWQnXShfMHgyZDExNGEpe2RlbGV0ZSB0aGlzWydhY3R1YWwnXVtfMHgyZDExNGFdO3RoaXNbJ2dlbmVyYWwnXVtfMHgyZDExNGFdWydsb2FkJ10oXzB4MjE0MjJmPT4oY29uc29sZVsnbG9nJ10oJ1RlbXBsYXRlXHgyMCcrXzB4MmQxMTRhKydceDIwbG9hZGVkJyksY29uc29sZVsnbG9nJ10odGhpc1snYWN0dWFsJ11bXzB4MmQxMTRhXT1fMHgyMTQyMmYpKSxfMHgxMDI0ZWE9PmNvbnNvbGVbJ2Vycm9yJ10oJ0Nhblx4Mjd0XHgyMGxvYWRceDIwdGVtcGxhdGVceDBhJytfMHgxMDI0ZWFbJ3VybCddKSk7fVsnYWRkJ10oXzB4NTYzNTJmKXtyZXR1cm4gdGhpc1snZ2VuZXJhbCddW18weDU2MzUyZlsnbmFtZSddXT10aGlzWydhY3R1YWwnXVtfMHg1NjM1MmZbJ25hbWUnXV09bmV3IF8weDUxYTU4NShfMHg1NjM1MmYpO31bJ2dldCddKF8weDE4YjhmZCl7cmV0dXJuIF8weDE4YjhmZCBpbiB0aGlzWydnZW5lcmFsJ10/dGhpc1snZ2VuZXJhbCddW18weDE4YjhmZF1bJ2NhbnZhcyddfHxudWxsOnVuZGVmaW5lZDt9WydnZXRUZW1wbGF0ZU5hbWVBdCddKF8weDVkZDRmMixfMHgxNTcwMWIpe2Zvcih0aGlzWydfbmFtZSddaW4gdGhpc1snZ2VuZXJhbCddKXt0aGlzWydfdCddPXRoaXNbJ2dlbmVyYWwnXVt0aGlzWydfbmFtZSddXTtpZihfMHg1ZGQ0ZjI+PXRoaXNbJ190J11bJ3gnXSYmXzB4NWRkNGYyPHRoaXNbJ190J11bJ3hFbmQnXSYmXzB4MTU3MDFiPj10aGlzWydfdCddWyd5J10mJl8weDE1NzAxYjx0aGlzWydfdCddWyd5RW5kJ10pcmV0dXJuIG5hbWU7fTtyZXR1cm4gbnVsbDt9Wydpc1B4bEluVGVtcGxhdGVzJ10oXzB4NDljMzhjLF8weDFjMzY2Myl7Zm9yKHRoaXNbJ19uYW1lJ11pbiB0aGlzWydnZW5lcmFsJ10pe3RoaXNbJ190J109dGhpc1snZ2VuZXJhbCddW3RoaXNbJ19uYW1lJ11dO2lmKF8weDQ5YzM4Yz49dGhpc1snX3QnXVsneCddJiZfMHg0OWMzOGM8dGhpc1snX3QnXVsneEVuZCddJiZfMHgxYzM2NjM+PXRoaXNbJ190J11bJ3knXSYmXzB4MWMzNjYzPHRoaXNbJ190J11bJ3lFbmQnXSlyZXR1cm4hIVtdO307cmV0dXJuIVtdO31bJ2dldFB4bEluVGVtcGxhdGVzJ10oXzB4NGQ3MTY0LF8weDg1ZTQxYyl7Zm9yKHRoaXNbJ19uYW1lJ11pbiB0aGlzWydnZW5lcmFsJ10pe3RoaXNbJ190J109dGhpc1snZ2VuZXJhbCddW3RoaXNbJ19uYW1lJ11dO2lmKF8weDRkNzE2ND49dGhpc1snX3QnXVsneCddJiZfMHg0ZDcxNjQ8dGhpc1snX3QnXVsneEVuZCddJiZfMHg4NWU0MWM+PXRoaXNbJ190J11bJ3knXSYmXzB4ODVlNDFjPHRoaXNbJ190J11bJ3lFbmQnXSl7aWYodGhpc1snX25hbWUnXWluIHRoaXNbJ2FjdHVhbCddKXJldHVybiB0aGlzWydhY3R1YWwnXVt0aGlzWydfbmFtZSddXVsnZ2V0J10oXzB4NGQ3MTY0LXRoaXNbJ190J11bJ3gnXSxfMHg4NWU0MWMtdGhpc1snX3QnXVsneSddKTtlbHNlIHJldHVybiBudWxsO307fTtyZXR1cm4gbnVsbDt9WydoYXZlVGVtcGxhdGVzSW5ab25lJ10oXzB4NDFhMTljLF8weDVjNjM0ZixfMHgyZjMxMmYsXzB4NTA0YjgzKXtjb25zdCBfMHgyNDg4Mjg9XzB4MzgyNzFmPT4hKF8weDM4MjcxZlsneCddPl8weDJmMzEyZnx8XzB4MzgyNzFmWyd4RW5kJ108XzB4NDFhMTljfHxfMHgzODI3MWZbJ3knXT5fMHg1MDRiODN8fF8weDM4MjcxZlsneUVuZCddPF8weDVjNjM0Zik7Zm9yKGxldCBfMHgxZjMyNWYgaW4gdGhpc1snZ2VuZXJhbCddKWlmKF8weDI0ODgyOCh0aGlzWydnZW5lcmFsJ11bXzB4MWYzMjVmXSkpcmV0dXJuISFbXTtyZXR1cm4hW107fVsnZ2V0VGVtcGxhdGVzSW5ab25lJ10oXzB4MjVjMTgwLF8weDVjMGNkZSxfMHg0OGM3YWQsXzB4NmI1YTZkKXtjb25zdCBfMHg0OTY5NmM9XzB4MWUyZTk3PT4hKF8weDFlMmU5N1sneCddPl8weDQ4YzdhZHx8XzB4MWUyZTk3Wyd4RW5kJ108XzB4MjVjMTgwfHxfMHgxZTJlOTdbJ3knXT5fMHg2YjVhNmR8fF8weDFlMmU5N1sneUVuZCddPF8weDVjMGNkZSk7bGV0IF8weDNhMjA5MT1bXTtmb3IobGV0IF8weDIzZTUzZCBpbiB0aGlzWydnZW5lcmFsJ10paWYoXzB4NDk2OTZjKHRoaXNbJ2dlbmVyYWwnXVtfMHgyM2U1M2RdKSlfMHgzYTIwOTFbJ3B1c2gnXSh0aGlzWydnZW5lcmFsJ11bXzB4MjNlNTNkXSk7cmV0dXJuIF8weDNhMjA5MTt9fTtmdW5jdGlvbiBfMHgxY2Q2ZTcoXzB4YTkzNjkxLF8weDFhNTc1Yil7XzB4NGQwNmMzKF8weGE5MzY5MSlbJ3RoZW4nXShfMHgxZGI4NjE9PntfMHgxZGI4NjE9SlNPTlsncGFyc2UnXShfMHgxZGI4NjEpO18weDNlMzI2NShfMHgxZGI4NjEsXzB4M2IyMDIxPT57aWYoIV8weDNiMjAyMSlyZXR1cm47XzB4M2U3ZDY0WydhZGQnXSh7J25hbWUnOl8weDNiMjAyMVsnbmFtZSddLCd1cmwnOmVuY29kZVVSSShfMHgxYTU3NWIrXzB4M2IyMDIxWyduYW1lJ10rJy5wbmcnKSwneCc6XzB4M2IyMDIxWyd4J10sJ3knOl8weDNiMjAyMVsneSddLCd3aWR0aCc6XzB4M2IyMDIxWyd3aWR0aCddLCdoZWlnaHQnOl8weDNiMjAyMVsnaGVpZ2h0J119KTt9KTt9KTt9O2xldCBfMHg1NmM2MWE9W10sXzB4MjkxNTk0PSdodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vVG91Y2hlZEJ5RGFya25lc3MvUGl4ZWxQbGFuZXQtVm9pZC1Cb3QvbWFzdGVyL3RlbXBsYXRlcy9kYXRhLmpzb24nLF8weDIwNmIwMD0naHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL1RvdWNoZWRCeURhcmtuZXNzL1BpeGVsUGxhbmV0LVZvaWQtQm90L21hc3Rlci9pbWFnZXMvJyxfMHgzZTdkNjQ9bmV3IF8weDQyNDk4YigpO2lmKF8weDI5MTU5NFsnbGVuZ3RoJ10mJl8weDIwNmIwMFsnbGVuZ3RoJ10pXzB4MWNkNmU3KF8weDI5MTU5NCxfMHgyMDZiMDApO2xldCBfMHg0NzQ3YTk9bmV3IGZ1bmN0aW9uKCl7bGV0IF8weDJlOWI4Mz10aGlzO3RoaXNbJ3gnXT1udWxsO3RoaXNbJ3knXT1udWxsO3RoaXNbJ2NodW5rTG9hZGluZyddPSFbXTt0aGlzWydhdmFpbGFibGVNb2RzJ109WydyYW5kb20nLCdyZWdlbmVyYXRlJywnc3ByZWFkJywnbXljZWxpdW0nLCdzcG9yZXMnXTt0aGlzWydzZXRNb2RlJ109ZnVuY3Rpb24oXzB4ZmI5MzY1KXt0aGlzWydhdmFpbGFibGVNb2RzJ11bJ2luY2x1ZGVzJ10oXzB4ZmI5MzY1KT90aGlzWydsb2cnXSgnTmV3XHgyMG1vZGVceDIwLVx4MjAnKyh0aGlzWydfbW9kZSddPV8weGZiOTM2NSkpOnRoaXNbJ3dhcm4nXSgnTW9kZVx4MjBkb2Vzblx4Mjd0XHgyMGV4aXN0Jyk7fTt0aGlzWydnZXRNb2RlJ109ZnVuY3Rpb24oKXtyZXR1cm4gdGhpc1snX21vZGUnXTt9O3RoaXNbJ19tb2RlJ109bG9jYWxTdG9yYWdlWydtb2RlJ118fCdzcHJlYWQnO3RoaXNbJ2F2YWlsYWJsZURpcmVjdGlvbnMnXT1bJ2RlZmF1bHQnLCdjZW50ZXInLCduZWFyJ107dGhpc1snc2V0RGlyZWN0aW9uJ109ZnVuY3Rpb24oXzB4NTU2MzI4KXtpZih0aGlzWydhdmFpbGFibGVEaXJlY3Rpb25zJ11bJ2luY2x1ZGVzJ10oXzB4NTU2MzI4KSl0aGlzWydfZGlyZWN0aW9uJ109XzB4NTU2MzI4O2Vsc2UgdGhpc1snd2FybiddKCdEaXJlY3Rpb25ceDIwZG9lc25ceDI3dFx4MjBleGlzdCcpO307dGhpc1snZ2V0RGlyZWN0aW9uJ109ZnVuY3Rpb24oKXtyZXR1cm4gdGhpc1snX2RpcmVjdGlvbiddO307dGhpc1snX2RpcmVjdGlvbiddPWxvY2FsU3RvcmFnZVsnZGlyZWN0aW9uJ118fCdkZWZhdWx0Jzt0aGlzWydhdmFpbGFibGVDb3ZlcnMnXT1bJ2FsbCcsJ2NvbG9yZWQnLCdiYWNrZ3JvdW5kJywnZ3JvdW5kJ107dGhpc1snc2V0Q292ZXInXT1mdW5jdGlvbihfMHg0OWI1Njgpe2lmKHRoaXNbJ2F2YWlsYWJsZUNvdmVycyddWydpbmNsdWRlcyddKF8weDQ5YjU2OCkpdGhpc1snX2NvdmVyJ109XzB4NDliNTY4O2Vsc2UgdGhpc1snd2FybiddKCdDb3Zlclx4MjBkb2Vzblx4Mjd0XHgyMGV4aXN0Jyk7fTt0aGlzWydnZXRDb3ZlciddPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXNbJ19jb3ZlciddO307dGhpc1snX2NvdmVyJ109bG9jYWxTdG9yYWdlWydjb3ZlciddfHwnYWxsJzt0aGlzWydsb2cnXT0oLi4uXzB4NTIxODhmKT0+XzB4NTIxODhmWydmb3JFYWNoJ10oXzB4NGZhZDdlPT5jb25zb2xlWydsb2cnXSgnW1ZCXVx4MjAnK18weDRmYWQ3ZSkpO3RoaXNbJ3dhcm4nXT0oLi4uXzB4NDMxNDRlKT0+XzB4NDMxNDRlWydmb3JFYWNoJ10oXzB4Mzg4M2YxPT5jb25zb2xlWyd3YXJuJ10oJ1tWQl1ceDIwJytfMHgzODgzZjEpKTt0aGlzWyd6b25lJ109eydnZXRQaXhlbEFyZWEnOmZ1bmN0aW9uKF8weDQ0ZDRiZixfMHg1ODBkMWIsXzB4NGIwMTVlLF8weDE2OWY5Myl7bGV0IF8weDQzOGJhND1uZXcgVWludDhDbGFtcGVkQXJyYXkoXzB4NGIwMTVlKl8weDE2OWY5Mzw8MHgyKSxfMHg0NGVkMGYsXzB4MTA3NzMyPTB4MCxfMHgyNjM0ZGM9MHgwLF8weGRlZjk4ZTtfMHgyZTliODNbJ2NodW5rTG9hZGluZyddPSFbXTtmb3IoO18weDEwNzczMiE9PV8weDE2OWY5MztfMHgxMDc3MzIrKyl7Zm9yKF8weDQ0ZWQwZj0weDA7XzB4NDRlZDBmIT09XzB4NGIwMTVlO18weDQ0ZWQwZisrLF8weDI2MzRkYys9MHg0KXtfMHhkZWY5OGU9XzB4MmNkY2FhWydnZXRQaXhlbCddKF8weDQ0ZWQwZitfMHg0NGQ0YmYsXzB4MTA3NzMyK18weDU4MGQxYik7aWYoXzB4ZGVmOThlKXtfMHg0MzhiYTRbXzB4MjYzNGRjXT1fMHhkZWY5OGVbMHgwXTtfMHg0MzhiYTRbXzB4MjYzNGRjKzB4MV09XzB4ZGVmOThlWzB4MV07XzB4NDM4YmE0W18weDI2MzRkYysweDJdPV8weGRlZjk4ZVsweDJdO18weDQzOGJhNFtfMHgyNjM0ZGMrMHgzXT0weGZmO31lbHNle18weDJlOWI4M1snY2h1bmtMb2FkaW5nJ109ISFbXTtfMHgyY2RjYWFbJ2xvYWRDaHVuayddKC4uLl8weDJjZGNhYVsnYWJzVG9UaWxlZCddKF8weDQ0ZWQwZitfMHg0NGQ0YmYsXzB4MTA3NzMyK18weDU4MGQxYikpO3JldHVybiBudWxsO307fTt9O3JldHVybiBfMHg0MzhiYTQ7fSwnb3ZlcnJpZGUnOmZ1bmN0aW9uKCl7aWYodGhpc1sneFN0YXJ0J109PT1udWxsfHx0aGlzWyd5U3RhcnQnXT09PW51bGx8fHRoaXNbJ3dpZHRoJ109PT1udWxsfHx0aGlzWydoZWlnaHQnXT09PW51bGwpXzB4MmU5YjgzWydsb2cnXSgnUHJvYmxlbXNceDIwd2l0aFx4MjBib3Quem9uZScpO3RoaXNbJ2RhdGEnXT10aGlzWydnZXRQaXhlbEFyZWEnXSh0aGlzWyd4U3RhcnQnXSx0aGlzWyd5U3RhcnQnXSx0aGlzWyd3aWR0aCddLHRoaXNbJ2hlaWdodCddKTt9LCdzZWxSR0InOlsweDAsMHgwLDB4MF0sJ2lzU2VsZWN0ZWRDb2xvcic6ZnVuY3Rpb24oXzB4MWYwMThkKXtyZXR1cm4gdGhpc1snc2VsUkdCJ11bMHgwXT09PV8weDFmMDE4ZFsweDBdJiZ0aGlzWydzZWxSR0InXVsweDFdPT09XzB4MWYwMThkWzB4MV0mJnRoaXNbJ3NlbFJHQiddWzB4Ml09PT1fMHgxZjAxOGRbMHgyXTt9LCdiYyc6W1sweGNhLDB4ZTMsMHhmZl0sWzB4ZmYsMHhmZiwweGZmXV0sJ2lzQmFja2dyb3VuZENvbG9yJzooKCk9PntsZXQgXzB4NGE5MTQzO3JldHVybiBmdW5jdGlvbihfMHgxMGEzNDMpe2ZvcihfMHg0YTkxNDM9MHgwO18weDRhOTE0MyE9PXRoaXNbJ2JjJ11bJ2xlbmd0aCddO18weDRhOTE0MysrKWlmKHRoaXNbJ2JjJ11bXzB4NGE5MTQzXVsweDBdPT09XzB4MTBhMzQzWzB4MF0mJnRoaXNbJ2JjJ11bXzB4NGE5MTQzXVsweDFdPT09XzB4MTBhMzQzWzB4MV0mJnRoaXNbJ2JjJ11bXzB4NGE5MTQzXVsweDJdPT09XzB4MTBhMzQzWzB4Ml0pcmV0dXJuISFbXTtyZXR1cm4hW107fTt9KSgpLCd4U3RhcnQnOm51bGwsJ3lTdGFydCc6bnVsbCwnd2lkdGgnOm51bGwsJ2hlaWdodCc6bnVsbCwnZGF0YSc6W10sJ3BpeGVsc1RvU2V0JzpbXSwndGFyZ2V0cyc6W10sJ2xhc3RQeGwnOltudWxsLG51bGxdLCdhbmFseXplJzpmdW5jdGlvbigpe3RoaXNbJ3RhcmdldHMnXT1bXTtsZXQgXzB4NDljNzg5LF8weDRmM2E0YyxfMHgxNTE4NWMsXzB4MjgxYTEzLF8weDRlMjdlZCxfMHgyMjE5NWU9dGhpc1snd2lkdGgnXS0weDEsXzB4NDJhMjZhPXRoaXNbJ2hlaWdodCddLTB4MTtjb25zdCBfMHgzYjY3MGU9KF8weDVjMWZmMCxfMHg0ZGM4ZDUpPT50aGlzWyd0YXJnZXRzJ11bJ3B1c2gnXShbXzB4NWMxZmYwK3RoaXNbJ3hTdGFydCddLF8weDRkYzhkNSt0aGlzWyd5U3RhcnQnXV0pO2lmKF8weDIyMTk1ZT5fMHg0ZjNhNGN8fF8weDQyYTI2YT5fMHgxNTE4NWMpcmV0dXJuIGNvbnNvbGVbJ2Vycm9yJ10oJ1tWQl1ceDIwW1pdXHgyMHdyb25nXHgyMGJvcmRlcnMnKTtpZighXzB4NDc0N2E5WydhdmFpbGFibGVDb3ZlcnMnXVsnaW5jbHVkZXMnXShfMHg0NzQ3YTlbJ19jb3ZlciddKSlyZXR1cm4gY29uc29sZVsnZXJyb3InXSgnW1ZCXVx4MjBbWl1ceDIwRnVuY3Rpb25ceDIwXHgyMkFuYWx5emVceDIyXHgyMHVuZGVmaW5lZFx4MjBjb3ZlcicpO3N3aXRjaChfMHg0NzQ3YTlbJ19jb3ZlciddKXtjYXNlJ2FsbCc6XzB4NDljNzg5PV8weDViYjlkND0+e2ZvcihfMHgxNTE4NWM9XzB4MjgxYTEzPTB4MDtfMHgxNTE4NWMhPT1fMHg0MmEyNmE7XzB4MTUxODVjKyssXzB4MjgxYTEzKz10aGlzWyd3aWR0aCddKWZvcihfMHg0ZjNhNGM9MHgwLF8weDRlMjdlZD1fMHgyODFhMTM8PDB4MjtfMHg0ZjNhNGMhPT1fMHgyMjE5NWU7XzB4NGYzYTRjKyssXzB4NGUyN2VkKz0weDQpIXRoaXNbJ2lzU2VsZWN0ZWRDb2xvciddKFt0aGlzWydkYXRhJ11bXzB4NGUyN2VkXSx0aGlzWydkYXRhJ11bXzB4NGUyN2VkKzB4MV0sdGhpc1snZGF0YSddW18weDRlMjdlZCsweDJdXSkmJl8weDViYjlkNChfMHg0ZjNhNGMsXzB4MTUxODVjKTt9O2JyZWFrO2Nhc2UnY29sb3JlZCc6XzB4NDljNzg5PV8weDJhMDkwNj0+e2ZvcihfMHgxNTE4NWM9XzB4MjgxYTEzPTB4MDtfMHgxNTE4NWMhPT1fMHg0MmEyNmE7XzB4MTUxODVjKyssXzB4MjgxYTEzKz10aGlzWyd3aWR0aCddKWZvcihfMHg0ZjNhNGM9MHgwLF8weDRlMjdlZD1fMHgyODFhMTM8PDB4MjtfMHg0ZjNhNGMhPT1fMHgyMjE5NWU7XzB4NGYzYTRjKyssXzB4NGUyN2VkKz0weDQpIXRoaXNbJ2lzQmFja2dyb3VuZENvbG9yJ10oW3RoaXNbJ2RhdGEnXVtfMHg0ZTI3ZWRdLHRoaXNbJ2RhdGEnXVtfMHg0ZTI3ZWQrMHgxXSx0aGlzWydkYXRhJ11bXzB4NGUyN2VkKzB4Ml1dKSYmIXRoaXNbJ2lzU2VsZWN0ZWRDb2xvciddKFt0aGlzWydkYXRhJ11bXzB4NGUyN2VkXSx0aGlzWydkYXRhJ11bXzB4NGUyN2VkKzB4MV0sdGhpc1snZGF0YSddW18weDRlMjdlZCsweDJdXSkmJl8weDJhMDkwNihfMHg0ZjNhNGMsXzB4MTUxODVjKTt9O2JyZWFrO2Nhc2UnYmFja2dyb3VuZCc6XzB4NDljNzg5PV8weDE3Y2NmNj0+e2ZvcihfMHgxNTE4NWM9XzB4MjgxYTEzPTB4MDtfMHgxNTE4NWMhPT1fMHg0MmEyNmE7XzB4MTUxODVjKyssXzB4MjgxYTEzKz10aGlzWyd3aWR0aCddKWZvcihfMHg0ZjNhNGM9MHgwLF8weDRlMjdlZD1fMHgyODFhMTM8PDB4MjtfMHg0ZjNhNGMhPT1fMHgyMjE5NWU7XzB4NGYzYTRjKyssXzB4NGUyN2VkKz0weDQpdGhpc1snaXNCYWNrZ3JvdW5kQ29sb3InXShbdGhpc1snZGF0YSddW18weDRlMjdlZF0sdGhpc1snZGF0YSddW18weDRlMjdlZCsweDFdLHRoaXNbJ2RhdGEnXVtfMHg0ZTI3ZWQrMHgyXV0pJiYhdGhpc1snaXNTZWxlY3RlZENvbG9yJ10oW3RoaXNbJ2RhdGEnXVtfMHg0ZTI3ZWRdLHRoaXNbJ2RhdGEnXVtfMHg0ZTI3ZWQrMHgxXSx0aGlzWydkYXRhJ11bXzB4NGUyN2VkKzB4Ml1dKSYmXzB4MTdjY2Y2KF8weDRmM2E0YyxfMHgxNTE4NWMpO307YnJlYWs7Y2FzZSdncm91bmQnOl8weDQ5Yzc4OT1fMHgyYTIzZTY9Pntmb3IoXzB4MTUxODVjPV8weDI4MWExMz0weDA7XzB4MTUxODVjIT09XzB4NDJhMjZhO18weDE1MTg1YysrLF8weDI4MWExMys9dGhpc1snd2lkdGgnXSlmb3IoXzB4NGYzYTRjPTB4MCxfMHg0ZTI3ZWQ9XzB4MjgxYTEzPDwweDI7XzB4NGYzYTRjIT09XzB4MjIxOTVlO18weDRmM2E0YysrLF8weDRlMjdlZCs9MHg0KXRoaXNbJ2RhdGEnXVtfMHg0ZTI3ZWRdPT09dGhpc1snYmMnXVsweDFdWzB4MF0mJnRoaXNbJ2RhdGEnXVtfMHg0ZTI3ZWQrMHgxXT09PXRoaXNbJ2JjJ11bMHgxXVsweDFdJiZ0aGlzWydkYXRhJ11bXzB4NGUyN2VkKzB4Ml09PT10aGlzWydiYyddWzB4MV1bMHgyXSYmIXRoaXNbJ2lzU2VsZWN0ZWRDb2xvciddKFt0aGlzWydkYXRhJ11bXzB4NGUyN2VkXSx0aGlzWydkYXRhJ11bXzB4NGUyN2VkKzB4MV0sdGhpc1snZGF0YSddW18weDRlMjdlZCsweDJdXSkmJl8weDJhMjNlNihfMHg0ZjNhNGMsXzB4MTUxODVjKTt9O2JyZWFrO2RlZmF1bHQ6cmV0dXJuIF8weDQ3NDdhOVsnbG9nJ10oJ1taXVx4MjB3dGYnKTt9O2lmKF8weDQ3NDdhOVsnX21vZGUnXT09PSdyYW5kb20nKXtfMHg0OWM3ODkoXzB4M2I2NzBlKTt9ZWxzZSBpZihfMHg0NzQ3YTlbJ19tb2RlJ109PT0ncmVnZW5lcmF0ZSd8fF8weDQ3NDdhOVsnX21vZGUnXT09PSdzcHJlYWQnKXtfMHg0OWM3ODkoKF8weDNmMGFiZSxfMHgzYWY5YjApPT50aGlzWydibGFja1BpeGVsc0Fyb3VuZCddKF8weDNmMGFiZSxfMHgzYWY5YjApPT09MHg4JiZfMHgzYjY3MGUoXzB4M2YwYWJlLF8weDNhZjliMCkpO2lmKHRoaXNbJ3RhcmdldHMnXVsnbGVuZ3RoJ10pcmV0dXJuO18weDQ5Yzc4OSgoXzB4M2JmYjg2LF8weDI5MDk5Yik9PnRoaXNbJ2JsYWNrUGl4ZWxzQXJvdW5kJ10oXzB4M2JmYjg2LF8weDI5MDk5Yik9PT0weDcmJl8weDNiNjcwZShfMHgzYmZiODYsXzB4MjkwOTliKSk7aWYodGhpc1sndGFyZ2V0cyddWydsZW5ndGgnXSlyZXR1cm47XzB4NDljNzg5KChfMHgzNzcxNzAsXzB4MzgyY2M3KT0+dGhpc1snYmxhY2tQaXhlbHNBcm91bmQnXShfMHgzNzcxNzAsXzB4MzgyY2M3KT09PTB4NiYmXzB4M2I2NzBlKF8weDM3NzE3MCxfMHgzODJjYzcpKTtpZih0aGlzWyd0YXJnZXRzJ11bJ2xlbmd0aCddKXJldHVybjtpZihfMHg0NzQ3YTlbJ19tb2RlJ109PT0nc3ByZWFkJyl7XzB4NDljNzg5KChfMHg1M2I0YzgsXzB4NWIwMWMzKT0+dGhpc1snYmxhY2tQaXhlbHNBcm91bmQnXShfMHg1M2I0YzgsXzB4NWIwMWMzKT09PTB4NSYmXzB4M2I2NzBlKF8weDUzYjRjOCxfMHg1YjAxYzMpKTtpZih0aGlzWyd0YXJnZXRzJ11bJ2xlbmd0aCddKXJldHVybjtfMHg0OWM3ODkoKF8weDVlMzJkZixfMHg0NDgxYjUpPT50aGlzWydibGFja1BpeGVsc0Fyb3VuZCddKF8weDVlMzJkZixfMHg0NDgxYjUpPT09MHg0JiZfMHgzYjY3MGUoXzB4NWUzMmRmLF8weDQ0ODFiNSkpO2lmKHRoaXNbJ3RhcmdldHMnXVsnbGVuZ3RoJ10pcmV0dXJuO18weDQ5Yzc4OSgoXzB4MWE0MjJjLF8weDRiNGQ2Nyk9PnRoaXNbJ2JsYWNrUGl4ZWxzQXJvdW5kJ10oXzB4MWE0MjJjLF8weDRiNGQ2Nyk9PT0weDMmJl8weDNiNjcwZShfMHgxYTQyMmMsXzB4NGI0ZDY3KSk7aWYodGhpc1sndGFyZ2V0cyddWydsZW5ndGgnXSlyZXR1cm47XzB4NDljNzg5KChfMHgyMzQwMjUsXzB4NTY5ZmYzKT0+dGhpc1snaGF2ZUJsYWNrUGl4ZWxzQXJvdW5kJ10oXzB4MjM0MDI1LF8weDU2OWZmMykmJl8weDNiNjcwZShfMHgyMzQwMjUsXzB4NTY5ZmYzKSk7aWYodGhpc1sndGFyZ2V0cyddWydsZW5ndGgnXT09PTB4MClfMHg0OWM3ODkoXzB4M2I2NzBlKTt9O31lbHNlIGlmKF8weDQ3NDdhOVsnX21vZGUnXT09PSdteWNlbGl1bScpe18weDQ5Yzc4OSgoXzB4MTY0MzgzLF8weDI4NGQ3Myk9PnRoaXNbJ2JsYWNrUGl4ZWxzQXJvdW5kJ10oXzB4MTY0MzgzLF8weDI4NGQ3Myk9PT0weDEmJl8weDNiNjcwZShfMHgxNjQzODMsXzB4Mjg0ZDczKSk7aWYodGhpc1sndGFyZ2V0cyddWydsZW5ndGgnXSlyZXR1cm47XzB4NDljNzg5KChfMHgzNDc1NmYsXzB4M2Q4NTAzKT0+dGhpc1snYmxhY2tQaXhlbHNBcm91bmQnXShfMHgzNDc1NmYsXzB4M2Q4NTAzKT09PTB4MiYmXzB4M2I2NzBlKF8weDM0NzU2ZixfMHgzZDg1MDMpKTtpZih0aGlzWyd0YXJnZXRzJ11bJ2xlbmd0aCddKXJldHVybjtfMHg0OWM3ODkoKF8weDJlNDJlZSxfMHgxMWM2Y2MpPT50aGlzWydibGFja1BpeGVsc0Fyb3VuZCddKF8weDJlNDJlZSxfMHgxMWM2Y2MpPT09MHgzJiZfMHgzYjY3MGUoXzB4MmU0MmVlLF8weDExYzZjYykpO31lbHNlIGlmKF8weDQ3NDdhOVsnX21vZGUnXT09PSdzcG9yZXMnKXtfMHg0OWM3ODkoKF8weDM4MmQ3ZSxfMHg1OWI3YjgpPT50aGlzWydoYXZlQ29sb3JlZFBpeGVsc0Fyb3VuZCddKF8weDM4MmQ3ZSxfMHg1OWI3YjgpfHxfMHgzYjY3MGUoXzB4MzgyZDdlLF8weDU5YjdiOCkpO307fSwnaGF2ZUNvbG9yZWRQaXhlbHNBcm91bmQnOmZ1bmN0aW9uKF8weDUwM2I3YSxfMHg0ZWFkZDEpe2xldCBfMHg4ZDgwNGYsXzB4NTA3NTA1PShfMHgxYzJlMjksXzB4NTkyYTM3KT0+KF8weDhkODA0Zj10aGlzWyd3aWR0aCddKl8weDU5MmEzNytfMHgxYzJlMjk8PDB4MiwhdGhpc1snaXNCYWNrZ3JvdW5kQ29sb3InXShbdGhpc1snZGF0YSddW18weDhkODA0Zl0sdGhpc1snZGF0YSddW18weDhkODA0ZisweDFdLHRoaXNbJ2RhdGEnXVtfMHg4ZDgwNGYrMHgyXV0pKTtyZXR1cm4gXzB4NTA3NTA1KF8weDUwM2I3YSxfMHg0ZWFkZDEtMHgxKXx8XzB4NTA3NTA1KF8weDUwM2I3YSsweDEsXzB4NGVhZGQxLTB4MSl8fF8weDUwNzUwNShfMHg1MDNiN2ErMHgxLF8weDRlYWRkMSl8fF8weDUwNzUwNShfMHg1MDNiN2ErMHgxLF8weDRlYWRkMSsweDEpfHxfMHg1MDc1MDUoXzB4NTAzYjdhLF8weDRlYWRkMSsweDEpfHxfMHg1MDc1MDUoXzB4NTAzYjdhLTB4MSxfMHg0ZWFkZDErMHgxKXx8XzB4NTA3NTA1KF8weDUwM2I3YS0weDEsXzB4NGVhZGQxKXx8XzB4NTA3NTA1KF8weDUwM2I3YS0weDEsXzB4NGVhZGQxLTB4MSk7fSwnaGF2ZUJsYWNrUGl4ZWxzQXJvdW5kJzpmdW5jdGlvbihfMHg0OTdhYWUsXzB4Mzc5Nzc1KXtsZXQgXzB4MTliMjhhLF8weGQyMWI1OT0oXzB4NTA5NjI4LF8weDFiNThiNSk9PihfMHgxOWIyOGE9dGhpc1snd2lkdGgnXSpfMHgxYjU4YjUrXzB4NTA5NjI4PDwweDIsdGhpc1snZGF0YSddW18weDE5YjI4YV09PT10aGlzWydzZWxSR0InXVsweDBdJiZ0aGlzWydkYXRhJ11bXzB4MTliMjhhKzB4MV09PT10aGlzWydzZWxSR0InXVsweDFdJiZ0aGlzWydkYXRhJ11bXzB4MTliMjhhKzB4Ml09PT10aGlzWydzZWxSR0InXVsweDJdKTtyZXR1cm4gXzB4ZDIxYjU5KF8weDQ5N2FhZSxfMHgzNzk3NzUtMHgxKXx8XzB4ZDIxYjU5KF8weDQ5N2FhZSsweDEsXzB4Mzc5Nzc1LTB4MSl8fF8weGQyMWI1OShfMHg0OTdhYWUrMHgxLF8weDM3OTc3NSl8fF8weGQyMWI1OShfMHg0OTdhYWUrMHgxLF8weDM3OTc3NSsweDEpfHxfMHhkMjFiNTkoXzB4NDk3YWFlLF8weDM3OTc3NSsweDEpfHxfMHhkMjFiNTkoXzB4NDk3YWFlLTB4MSxfMHgzNzk3NzUrMHgxKXx8XzB4ZDIxYjU5KF8weDQ5N2FhZS0weDEsXzB4Mzc5Nzc1KXx8XzB4ZDIxYjU5KF8weDQ5N2FhZS0weDEsXzB4Mzc5Nzc1LTB4MSk7fSwnYmxhY2tQaXhlbHNBcm91bmQnOmZ1bmN0aW9uKF8weDhhNTIyMyxfMHgyYjMyYzApe2xldCBfMHgxNDUwNGUsXzB4NTVkY2E2PShfMHg1MmRiN2UsXzB4MjE4NzA2KT0+KF8weDE0NTA0ZT10aGlzWyd3aWR0aCddKl8weDIxODcwNitfMHg1MmRiN2U8PDB4Mix0aGlzWydkYXRhJ11bXzB4MTQ1MDRlXT09PXRoaXNbJ3NlbFJHQiddWzB4MF0mJnRoaXNbJ2RhdGEnXVtfMHgxNDUwNGUrMHgxXT09PXRoaXNbJ3NlbFJHQiddWzB4MV0mJnRoaXNbJ2RhdGEnXVtfMHgxNDUwNGUrMHgyXT09PXRoaXNbJ3NlbFJHQiddWzB4Ml0pO3JldHVybiBfMHg1NWRjYTYoXzB4OGE1MjIzLF8weDJiMzJjMC0weDEpK18weDU1ZGNhNihfMHg4YTUyMjMrMHgxLF8weDJiMzJjMC0weDEpK18weDU1ZGNhNihfMHg4YTUyMjMrMHgxLF8weDJiMzJjMCkrXzB4NTVkY2E2KF8weDhhNTIyMysweDEsXzB4MmIzMmMwKzB4MSkrXzB4NTVkY2E2KF8weDhhNTIyMyxfMHgyYjMyYzArMHgxKStfMHg1NWRjYTYoXzB4OGE1MjIzLTB4MSxfMHgyYjMyYzArMHgxKStfMHg1NWRjYTYoXzB4OGE1MjIzLTB4MSxfMHgyYjMyYzApK18weDU1ZGNhNihfMHg4YTUyMjMtMHgxLF8weDJiMzJjMC0weDEpO30sJ2Ficyc6XzB4MzNiMjdhPT5fMHgzM2IyN2E8MHgwPy1fMHgzM2IyN2E6XzB4MzNiMjdhLCdkaXN0JzooXzB4MWUyNzVmLF8weDMyMDlmYSxfMHgyMGVmNzUsXzB4NWE0Zjg5KT0+KF8weDFlMjc1Zi1fMHgyMGVmNzUpKioweDIrKF8weDMyMDlmYS1fMHg1YTRmODkpKioweDJ9O3RoaXNbJ2dldFBpeGVsVG9TZXQnXT1mdW5jdGlvbigpe3RoaXNbJ3pvbmUnXVsnYW5hbHl6ZSddKCk7Zm9yKGxldCBfMHhlYzdkZj0weDA7XzB4ZWM3ZGYhPT10aGlzWyd6b25lJ11bJ3RhcmdldHMnXVsnbGVuZ3RoJ107XzB4ZWM3ZGYrKyl7aWYoXzB4M2U3ZDY0Wydpc1B4bEluVGVtcGxhdGVzJ10oLi4udGhpc1snem9uZSddWyd0YXJnZXRzJ11bXzB4ZWM3ZGZdKSl7dGhpc1snem9uZSddWyd0YXJnZXRzJ11bJ3NwbGljZSddKF8weGVjN2RmLDB4MSk7XzB4ZWM3ZGYtLTt9O307aWYodGhpc1snem9uZSddWyd0YXJnZXRzJ11bJ2xlbmd0aCddPT09MHgwKXJldHVybiBudWxsO2lmKHRoaXNbJ3pvbmUnXVsndGFyZ2V0cyddWydsZW5ndGgnXT09PTB4MSlyZXR1cm4gdGhpc1snem9uZSddWyd0YXJnZXRzJ11bMHgwXTtpZih0aGlzWydfZGlyZWN0aW9uJ109PT0nZGVmYXVsdCcpe3JldHVybiB0aGlzWyd6b25lJ11bJ3RhcmdldHMnXVtfMHgzOWNjMDkoMHgwLHRoaXNbJ3pvbmUnXVsndGFyZ2V0cyddWydsZW5ndGgnXS0weDEpXXx8bnVsbDt9ZWxzZSBpZih0aGlzWydfZGlyZWN0aW9uJ109PT0nY2VudGVyJyl7bGV0IF8weDUyZWEwYz0oXzB4Y2NjMTE9PlsoXzB4Y2NjMTFbMHgwXStfMHhjY2MxMVsweDJdKS8weDIsKF8weGNjYzExWzB4MV0rXzB4Y2NjMTFbMHgzXSkvMHgyXSkoXzB4MzRiM2VmKCkpLF8weDM3NGJiZT1JbmZpbml0eSxfMHgyZjVlMGE9MHgwLF8weDJjZWYzZT1bXTtmb3IobGV0IF8weDVkODZlZCxfMHgyYzMxYmYsXzB4MzA1OTRkPTB4MDtfMHgzMDU5NGQhPT10aGlzWyd6b25lJ11bJ3RhcmdldHMnXVsnbGVuZ3RoJ107XzB4MzA1OTRkKyspe18weDVkODZlZD10aGlzWyd6b25lJ11bJ3RhcmdldHMnXVtfMHgzMDU5NGRdO18weDJjMzFiZj10aGlzWyd6b25lJ11bJ2Rpc3QnXSguLi5fMHg1MmVhMGMsLi4uXzB4NWQ4NmVkKTtpZih0aGlzWyd6b25lJ11bJ2FicyddKF8weDJjMzFiZi1fMHgzNzRiYmUpPDB4Mil7XzB4MmNlZjNlWydwdXNoJ10oXzB4NWQ4NmVkKTt9ZWxzZSBpZihfMHgyYzMxYmY8XzB4Mzc0YmJlKXtfMHgzNzRiYmU9XzB4MmMzMWJmO18weDJmNWUwYT1fMHgzMDU5NGQ7XzB4MmNlZjNlPVtfMHg1ZDg2ZWRdO307fTtyZXR1cm4gdGhpc1snem9uZSddWyd0YXJnZXRzJ11bXzB4MmY1ZTBhXTt9ZWxzZSBpZih0aGlzWydfZGlyZWN0aW9uJ109PT0nbmVhcicpe3RoaXNbJ3pvbmUnXVsnbGFzdFB4bCddWzB4MF09PT1udWxsJiYodGhpc1snem9uZSddWydsYXN0UHhsJ109KF8weDEzZDA2MD0+WyhfMHgxM2QwNjBbMHgwXStfMHgxM2QwNjBbMHgyXSkvMHgyLChfMHgxM2QwNjBbMHgxXStfMHgxM2QwNjBbMHgzXSkvMHgyXSkoXzB4MzRiM2VmKCkpKTtsZXQgXzB4NDlhZGM2PUluZmluaXR5LF8weDJhNGViOD0weDAsXzB4NTVjNGQ1PVtdO2ZvcihsZXQgXzB4MmM2OTJiLF8weDU0YmQ5OSxfMHg1ZTJhNWY9MHgwO18weDVlMmE1Zjx0aGlzWyd6b25lJ11bJ3RhcmdldHMnXVsnbGVuZ3RoJ107XzB4NWUyYTVmKyspe18weDJjNjkyYj10aGlzWyd6b25lJ11bJ3RhcmdldHMnXVtfMHg1ZTJhNWZdO18weDU0YmQ5OT10aGlzWyd6b25lJ11bJ2Rpc3QnXSguLi50aGlzWyd6b25lJ11bJ2xhc3RQeGwnXSwuLi5fMHgyYzY5MmIpO2lmKHRoaXNbJ3pvbmUnXVsnYWJzJ10oXzB4NTRiZDk5LV8weDQ5YWRjNik8MHgyKXtfMHg1NWM0ZDVbJ3B1c2gnXShfMHgyYzY5MmIpO31lbHNlIGlmKF8weDU0YmQ5OTxfMHg0OWFkYzYpe18weDQ5YWRjNj1fMHg1NGJkOTk7XzB4MmE0ZWI4PV8weDVlMmE1ZjtfMHg1NWM0ZDU9W18weDJjNjkyYl07fTt9O3JldHVybiB0aGlzWyd6b25lJ11bJ2xhc3RQeGwnXT1fMHg1NWM0ZDVbXzB4MzljYzA5KDB4MCxfMHg1NWM0ZDVbJ2xlbmd0aCddLTB4MSldO307fTt0aGlzWydib3R0aW5nJ109ZnVuY3Rpb24oKXtpZihfMHg0MGJjZTkoKTwweDIpcmV0dXJuIGFsZXJ0KCdUb29ceDIwYmlnXHgyMHpvb20nKSx0aGlzWydyZXN0YXJ0J10oMHgzZTgqMHgzKTtpZighXzB4NGYzZmRmWydjYW5QbGFjZSddKCkpcmV0dXJuIHRoaXNbJ2xvZyddKCdXYWl0XHgyMGZvclx4MjB0aW1lcicpLHRoaXNbJ3Jlc3RhcnQnXSgweDNlOCoweDcrXzB4MzljYzA5KDB4MWY0LDB4MmVlKSk7bGV0IFtfMHgzZTA3ZmIsXzB4OGY5YWEzLF8weDIxMjA2NSxfMHhkNjM2YjhdPV8weDM0YjNlZigpO3RoaXNbJ3pvbmUnXVsneFN0YXJ0J109XzB4M2UwN2ZiO3RoaXNbJ3pvbmUnXVsneVN0YXJ0J109XzB4OGY5YWEzO3RoaXNbJ3pvbmUnXVsnd2lkdGgnXT1fMHgyMTIwNjUtXzB4M2UwN2ZiO3RoaXNbJ3pvbmUnXVsnaGVpZ2h0J109XzB4ZDYzNmI4LV8weDhmOWFhMzt0aGlzWyd6b25lJ11bJ292ZXJyaWRlJ10oKTtsZXQgXzB4MmFmYmZlPXBlcmZvcm1hbmNlWydub3cnXSgpLF8weDFjYmM5YT1udWxsLF8weDFjNDA0MT1bXSxfMHgzZTg1Y2M9IVtdO2lmKHRoaXNbJ2NodW5rTG9hZGluZyddKXtfMHg1NTdjY2ZbJ3NldEJvdFN0YXR1cyddKCdsb2FkXHgyMGNoJyk7cmV0dXJuIHRoaXNbJ3Jlc3RhcnQnXSgweDNlOCk7fTtpZihfMHgzZTdkNjRbJ2hhdmVUZW1wbGF0ZXNJblpvbmUnXSh0aGlzWyd6b25lJ11bJ3hTdGFydCddLHRoaXNbJ3pvbmUnXVsneVN0YXJ0J10sdGhpc1snem9uZSddWyd4U3RhcnQnXSt0aGlzWyd6b25lJ11bJ3dpZHRoJ10sdGhpc1snem9uZSddWyd5U3RhcnQnXSt0aGlzWyd6b25lJ11bJ2hlaWdodCddKSl7XzB4M2U3ZDY0WydnZXRUZW1wbGF0ZXNJblpvbmUnXSh0aGlzWyd6b25lJ11bJ3hTdGFydCddLHRoaXNbJ3pvbmUnXVsneVN0YXJ0J10sdGhpc1snem9uZSddWyd4U3RhcnQnXSt0aGlzWyd6b25lJ11bJ3dpZHRoJ10sdGhpc1snem9uZSddWyd5U3RhcnQnXSt0aGlzWyd6b25lJ11bJ2hlaWdodCddKVsnZm9yRWFjaCddKF8weDMwYzNkNj0+IV8weDMwYzNkNlsnY2FudmFzJ10mJihfMHgzZTdkNjRbJ2xvYWQnXShfMHgzMGMzZDZbJ25hbWUnXSksXzB4M2U4NWNjPSEhW10pKTtpZihfMHgzZTg1Y2Mpe3RoaXNbJ2xvZyddKCdoYXZlXHgyMHVubG9hZGVkXHgyMHRlbXBzJyk7fWVsc2V7bGV0IF8weDQ4NWZiZSxfMHg0YTRjZTIsXzB4MjU3ZDQ0PTB4MCxfMHg0NWIxOWIsXzB4MzQxNzg3PXRoaXNbJ3pvbmUnXVsneFN0YXJ0J10rdGhpc1snem9uZSddWyd3aWR0aCddLF8weDM3YWE1Zj10aGlzWyd6b25lJ11bJ3lTdGFydCddK3RoaXNbJ3pvbmUnXVsnaGVpZ2h0J107Zm9yKF8weDRhNGNlMj10aGlzWyd6b25lJ11bJ3lTdGFydCddO18weDRhNGNlMjxfMHgzN2FhNWY7XzB4NGE0Y2UyKyspe2ZvcihfMHg0ODVmYmU9dGhpc1snem9uZSddWyd4U3RhcnQnXTtfMHg0ODVmYmU8XzB4MzQxNzg3O18weDQ4NWZiZSsrLF8weDI1N2Q0NCs9MHg0KXtfMHg0NWIxOWI9XzB4M2U3ZDY0WydnZXRQeGxJblRlbXBsYXRlcyddKF8weDQ4NWZiZSxfMHg0YTRjZTIpO2lmKF8weDQ1YjE5Yj09PW51bGx8fF8weDQ1YjE5YlsweDNdPT09MHgwKWNvbnRpbnVlO2lmKF8weDQ1YjE5YlsweDBdIT09dGhpc1snem9uZSddWydkYXRhJ11bXzB4MjU3ZDQ0XXx8XzB4NDViMTliWzB4MV0hPT10aGlzWyd6b25lJ11bJ2RhdGEnXVtfMHgyNTdkNDQrMHgxXXx8XzB4NDViMTliWzB4Ml0hPT10aGlzWyd6b25lJ11bJ2RhdGEnXVtfMHgyNTdkNDQrMHgyXSlfMHgxYzQwNDFbJ3B1c2gnXShbXzB4NDg1ZmJlLF8weDRhNGNlMixfMHg0NGJjNTMoXzB4NDViMTliKV0pO307fTt9O307aWYoIV8weDNlODVjYyYmXzB4MWM0MDQxWydsZW5ndGgnXSl7XzB4MWNiYzlhPV8weDFjNDA0MVtfMHgzOWNjMDkoMHgwLF8weDFjNDA0MVsnbGVuZ3RoJ10tMHgxKV07XzB4NTU3Y2NmWydzZXRCb3RTdGF0dXMnXSgnYnVpbGRceDIwdG1wJyk7XzB4NWZlMWFlKC4uLl8weDFjYmM5YSk7cmV0dXJuIHRoaXNbJ3Jlc3RhcnQnXSgweDI3MTApO31lbHNle2lmKF8weDNlODVjYyl7XzB4NTU3Y2NmWydzZXRCb3RTdGF0dXMnXSgnbG9hZFx4MjB0bXAnKTtyZXR1cm4gdGhpc1sncmVzdGFydCddKDB4M2U4KTt9O18weDFjYmM5YT10aGlzWydnZXRQaXhlbFRvU2V0J10oKTtpZihfMHgxY2JjOWE9PT1udWxsKXt0aGlzWydsb2cnXSgnRG9uZScpO18weDU1N2NjZlsnc2V0Qm90U3RhdHVzJ10oJ2RvbmUnKTtyZXR1cm4gdGhpc1sncmVzdGFydCddKDB4M2U4KjB4Mik7fWVsc2V7XzB4NTU3Y2NmWydzZXRCb3RTdGF0dXMnXSgndm9pZGluZycpO3RoaXNbJ2xvZyddKCdQeGxceDIwJytfMHgxY2JjOWFbJ2pvaW4nXSgnXHgyMCcpKydceDIwL1x4MjAnK35+KHBlcmZvcm1hbmNlWydub3cnXSgpLV8weDJhZmJmZSkpO18weDVmZTFhZSguLi5fMHgxY2JjOWEpO3JldHVybiB0aGlzWydyZXN0YXJ0J10oMHgyNzEwKTt9O307fTt0aGlzWyd0aW1lb3V0J109bnVsbDt0aGlzWydjbGVhclRpbWVvdXQnXT0oKT0+dGhpc1sndGltZW91dCddPT09bnVsbHx8KGNsZWFyVGltZW91dCh0aGlzWyd0aW1lb3V0J10pLHRoaXNbJ3RpbWVvdXQnXT1udWxsKTt0aGlzWydzdG9wJ109KCk9Pih0aGlzWydjbGVhclRpbWVvdXQnXSgpLHRoaXNbJ2xvZyddKCdTdG9wJyksXzB4NTU3Y2NmWydzZXRCb3RTdGF0dXMnXSgnc3RvcHBlZCcpKTt0aGlzWydyZXN0YXJ0J109ZnVuY3Rpb24oXzB4NzY3YmE3PTB4MWY0KXt0aGlzWydjbGVhclRpbWVvdXQnXSgpO3RoaXNbJ3RpbWVvdXQnXT1zZXRUaW1lb3V0KHRoaXNbJ2JvdHRpbmcnXVsnYmluZCddKHRoaXMpLF8weDc2N2JhNyk7dGhpc1snbG9nJ10oJ1JceDIwJytfMHg3NjdiYTcpO307fSgpO18weDQ3NDdhOVsnbG9nJ10oJ01vZGVceDIwLVx4MjAnK18weDQ3NDdhOVsnX21vZGUnXSk7XzB4NDc0N2E5Wydsb2cnXSgnRGlyZWN0aW9uXHgyMC1ceDIwJytfMHg0NzQ3YTlbJ19kaXJlY3Rpb24nXSk7XzB4NTU3Y2NmWydzdHJhdGVneUVsZW1lbnQnXVsnYWRkRXZlbnRMaXN0ZW5lciddKCdjaGFuZ2UnLF8weDM3YmFiMT0+XzB4NDc0N2E5WydzZXRNb2RlJ10obG9jYWxTdG9yYWdlWydtb2RlJ109XzB4MzdiYWIxWyd0YXJnZXQnXVsndmFsdWUnXSkpO18weDQ3NDdhOVsnYXZhaWxhYmxlTW9kcyddWydmb3JFYWNoJ10oXzB4ZWEzZjVmPT5fMHg1NTdjY2ZbJ2FkZE1vZGUnXShfMHhlYTNmNWYpKTtfMHg1NTdjY2ZbJ3N0cmF0ZWd5RWxlbWVudCddWydjaGlsZE5vZGVzJ11bJ2ZvckVhY2gnXShfMHgzY2QyZTQ9Pl8weDNjZDJlNFsndmFsdWUnXT09PV8weDQ3NDdhOVsnX21vZGUnXSYmXzB4M2NkMmU0WydzZXRBdHRyaWJ1dGUnXSgnc2VsZWN0ZWQnLCcnKSk7XzB4NTU3Y2NmWydkaXJlY3Rpb25FbGVtZW50J11bJ2FkZEV2ZW50TGlzdGVuZXInXSgnY2hhbmdlJyxfMHgxNDViYWU9Pl8weDQ3NDdhOVsnc2V0RGlyZWN0aW9uJ10obG9jYWxTdG9yYWdlWydkaXJlY3Rpb24nXT1fMHgxNDViYWVbJ3RhcmdldCddWyd2YWx1ZSddKSk7XzB4NDc0N2E5WydhdmFpbGFibGVEaXJlY3Rpb25zJ11bJ2ZvckVhY2gnXShfMHgzOTY5ZmU9Pl8weDU1N2NjZlsnYWRkRGlyZWN0aW9uJ10oXzB4Mzk2OWZlKSk7XzB4NTU3Y2NmWydkaXJlY3Rpb25FbGVtZW50J11bJ2NoaWxkTm9kZXMnXVsnZm9yRWFjaCddKF8weDUyMjZkND0+XzB4NTIyNmQ0Wyd2YWx1ZSddPT09XzB4NDc0N2E5WydfZGlyZWN0aW9uJ10mJl8weDUyMjZkNFsnc2V0QXR0cmlidXRlJ10oJ3NlbGVjdGVkJywnJykpO18weDU1N2NjZlsnY292ZXJFbGVtZW50J11bJ2FkZEV2ZW50TGlzdGVuZXInXSgnY2hhbmdlJyxfMHgzN2Q0Y2I9Pl8weDQ3NDdhOVsnc2V0Q292ZXInXShsb2NhbFN0b3JhZ2VbJ2NvdmVyJ109XzB4MzdkNGNiWyd0YXJnZXQnXVsndmFsdWUnXSkpO18weDQ3NDdhOVsnYXZhaWxhYmxlQ292ZXJzJ11bJ2ZvckVhY2gnXShfMHgxY2JlZTQ9Pl8weDU1N2NjZlsnYWRkQ292ZXInXShfMHgxY2JlZTQpKTtfMHg1NTdjY2ZbJ2NvdmVyRWxlbWVudCddWydjaGlsZE5vZGVzJ11bJ2ZvckVhY2gnXShfMHhlZGFiZjY9Pl8weGVkYWJmNlsndmFsdWUnXT09PV8weDQ3NDdhOVsnX2NvdmVyJ10mJl8weGVkYWJmNlsnc2V0QXR0cmlidXRlJ10oJ3NlbGVjdGVkJywnJykpO3dpbmRvd1snYWRkRXZlbnRMaXN0ZW5lciddKCdrZXlkb3duJyxfMHgyYmYxMGM9PntsZXQgXzB4YWZjMWE1PV8weDJiZjEwY1sna2V5Q29kZSddO3N3aXRjaChfMHhhZmMxYTUpe2Nhc2UgMHg1MDpfMHg0MWMwY2UoKTticmVhaztjYXNlIDB4NTY6XzB4NDc0N2E5Wyd0aW1lb3V0J109PT1udWxsP18weDQ3NDdhOVsncmVzdGFydCddKDB4MCk6XzB4NDc0N2E5WydzdG9wJ10oKTticmVhaztkZWZhdWx0OmNvbnNvbGVbJ2xvZyddKF8weGFmYzFhNSk7fTt9KTtmdW5jdGlvbiBfMHgzNGIzZWYoKXtsZXQgXzB4NGI1ODJkLF8weDFmMzYxYyxfMHgzYmFmM2UsXzB4MTA3N2YyLF8weDQxM2VhZT1fMHg0MGJjZTkoKTtfMHg0YjU4MmQ9fn4oXzB4NWEwMjY4Wyd3b3JsZFgnXS1fMHg1YTAyNjhbJ2NsaWVudFgnXS9fMHg0MTNlYWUrMHgxKTtfMHgxZjM2MWM9fn4oXzB4NWEwMjY4Wyd3b3JsZFknXS1fMHg1YTAyNjhbJ2NsaWVudFknXS9fMHg0MTNlYWUrMHgxKTtfMHgzYmFmM2U9fn4oXzB4NWEwMjY4Wyd3b3JsZFgnXSsoXzB4ZDg4YTg0Wyd3aWR0aCddLV8weDVhMDI2OFsnY2xpZW50WCddKS9fMHg0MTNlYWUtMHgxKTtfMHgxMDc3ZjI9fn4oXzB4NWEwMjY4Wyd3b3JsZFknXSsoXzB4ZDg4YTg0WydoZWlnaHQnXS1fMHg1YTAyNjhbJ2NsaWVudFknXSkvXzB4NDEzZWFlLTB4MSk7cmV0dXJuW18weDRiNTgyZCxfMHgxZjM2MWMsXzB4M2JhZjNlLF8weDEwNzdmMl07fTtmdW5jdGlvbiBfMHg0MGJjZTkoKXtsZXQgXzB4ZjljYjkzPSt3aW5kb3dbJ2xvY2F0aW9uJ11bJ2hhc2gnXVsnbWF0Y2gnXShfMHgxYjMzM2UpWzB4Ml07cmV0dXJuIF8weGY5Y2I5Mz4weGE/KF8weGY5Y2I5My8weGEpKioweDI6XzB4ZjljYjkzKiowLjF8fDB4MTt9O2Z1bmN0aW9uIF8weDk5MGMwZCgpe3JldHVybihfMHgzMzZkMDg9PlsrXzB4MzM2ZDA4WzB4MF0sK18weDMzNmQwOFsweDFdXSkoXzB4NzAzZjVjWydpbm5lclRleHQnXVsnbWF0Y2gnXShfMHgxYjMzM2UpKTt9O2FzeW5jIGZ1bmN0aW9uIF8weDVmZTFhZShfMHgxMjdjNzcsXzB4MTg0NTRjLF8weDIxNmZjMT0weDcpe2xldCBfMHg0MjM3ZTQ9SlNPTlsnc3RyaW5naWZ5J10oeydjbic6MHgwLCd4JzpfMHgxMjdjNzcsJ3knOl8weDE4NDU0YywnY2xyJzpfMHgyMTZmYzEsJ3Rva2VuJzpudWxsfSk7bGV0IF8weDNjMzVlND1fMHgyY2RjYWFbJ2dldFBpeGVsJ10oXzB4MTI3Yzc3LF8weDE4NDU0Yyk7XzB4MmNkY2FhWydzZXRQaXhlbCddKF8weDEyN2M3NyxfMHgxODQ1NGMsXzB4NWJkYTBiW18weDIxNmZjMV0pO2NvbnN0IF8weDNmYTRlYj1hd2FpdCBmZXRjaCgnL2FwaS9waXhlbCcseydtZXRob2QnOidQT1NUJywnaGVhZGVycyc6eydDb250ZW50LVR5cGUnOidhcHBsaWNhdGlvbi9qc29uJ30sJ2JvZHknOl8weDQyMzdlNCwnY3JlZGVudGlhbHMnOidpbmNsdWRlJ30pO2NvbnN0IF8weDExZGIxNT1hd2FpdCBfMHgzZmE0ZWJbJ2pzb24nXSgpLHtzdWNjZXNzLHdhaXRTZWNvbmRzLGNvb2xEb3duU2Vjb25kcyxlcnJvcnMsZXJyb3JUaXRsZX09XzB4MTFkYjE1O18weDU1N2NjZlsnc2V0VGltZXInXShfMHg0ZjNmZGZbJ3RpbWUnXT13YWl0U2Vjb25kcyk7aWYoXzB4M2ZhNGViWydvayddKXtfMHg1NTdjY2ZbJ3NldExhc3RQeGwnXShfMHgxMjdjNzcsXzB4MTg0NTRjLF8weDViZGEwYltfMHgyMTZmYzFdKTtpZihfMHg0NzQ3YTlbJ3RpbWVvdXQnXSlfMHg0ZjNmZGZbJ2NhblBsYWNlJ10oKT9fMHg0NzQ3YTlbJ3Jlc3RhcnQnXSgweDApOl8weDQ3NDdhOVsncmVzdGFydCddKGNvb2xEb3duU2Vjb25kcytfMHgzOWNjMDkoMHgxZjQsMHgzZTgpKTtyZXR1cm47fWVsc2UgXzB4MmNkY2FhWydzZXRQaXhlbCddKF8weDEyN2M3NyxfMHgxODQ1NGMsXzB4M2MzNWU0KTtpZihfMHgzZmE0ZWJbJ3N0YXR1cyddPT09MHgxYTYpe18weDQ3NDdhOVsnbG9nJ10oJ0NhcHRjaGEnKTtkb2N1bWVudFsndGl0bGUnXT0nQ2FwdGNoYSc7d2luZG93WydncmVjYXB0Y2hhJ11bJ2V4ZWN1dGUnXSgpO3JldHVybjt9O3N1Y2Nlc3N8fGNvbnNvbGVbJ3dhcm4nXSgnW0Z1bmN0aW9uXHgyMHNldFBpeGVsXVx4MjBTdWNjZXNzXHgyMGZhbHNlJytKU09OWydzdHJpbmdpZnknXShhcmd1bWVudHMpKTt9O2Z1bmN0aW9uIF8weDVlNDc5YShfMHgzNjIyNmUsXzB4MTBiN2NmLF8weDM2ODExOSxfMHgzNmNkZjUsXzB4MjVkZWMzLF8weDJjMjJlMSl7cmV0dXJuKF8weDM2MjI2ZT5fMHgzNmNkZjU/XzB4MzYyMjZlLV8weDM2Y2RmNTpfMHgzNmNkZjUtXzB4MzYyMjZlKTwweGYmJihfMHgxMGI3Y2Y+XzB4MjVkZWMzP18weDEwYjdjZi1fMHgyNWRlYzM6XzB4MjVkZWMzLV8weDEwYjdjZik8MHhmJiYoXzB4MzY4MTE5Pl8weDJjMjJlMT9fMHgzNjgxMTktXzB4MmMyMmUxOl8weDJjMjJlMS1fMHgzNjgxMTkpPDB4Zjt9O2Z1bmN0aW9uIF8weDM5Y2MwOShfMHg1OTEzMzcsXzB4NTE0NDViKXtyZXR1cm4gTWF0aFsncm91bmQnXShfMHg1OTEzMzctMC41K01hdGhbJ3JhbmRvbSddKCkqKF8weDUxNDQ1Yi1fMHg1OTEzMzcrMHgxKSk7fTtmdW5jdGlvbiBfMHgzMjI4NDYoXzB4NTFjMzAyLF8weDI1MWU5ZCxfMHg1YjQzMWMpe2xldCBfMHgxODExZjc9ZG9jdW1lbnRbJ2NyZWF0ZUVsZW1lbnQnXSgnY2FudmFzJyksXzB4YWNmNTdkPV8weDE4MTFmN1snZ2V0Q29udGV4dCddKCcyZCcpO18weDE4MTFmN1snd2lkdGgnXT1fMHgyNTFlOWQ7XzB4MTgxMWY3WydoZWlnaHQnXT1fMHg1YjQzMWM7bGV0IF8weDUzYjk4OT1fMHhhY2Y1N2RbJ2dldEltYWdlRGF0YSddKDB4MCwweDAsXzB4MjUxZTlkLF8weDViNDMxYyk7Zm9yKGxldCBfMHg0NTY0OTU9MHgwO18weDQ1NjQ5NSE9PV8weDUxYzMwMlsnbGVuZ3RoJ107XzB4NDU2NDk1KyspXzB4NTNiOTg5WydkYXRhJ11bXzB4NDU2NDk1XT1fMHg1MWMzMDJbXzB4NDU2NDk1XTtfMHhhY2Y1N2RbJ3B1dEltYWdlRGF0YSddKF8weDUzYjk4OSwweDAsMHgwKTtyZXR1cm4gXzB4MTgxMWY3O307ZnVuY3Rpb24gXzB4MmI4M2U4KF8weDRiNGU4ZCxfMHgxN2E1NzA9dm9pZCAweDApe2xldCBfMHgyNzQ2YmY9ZG9jdW1lbnRbJ2NyZWF0ZUVsZW1lbnQnXSgnYScpO18weDI3NDZiZlsnaHJlZiddPV8weDRiNGU4ZFsndG9EYXRhVVJMJ10oJ2ltYWdlL3BuZycpO18weDI3NDZiZlsnZG93bmxvYWQnXT1fMHgxN2E1NzA7XzB4Mjc0NmJmWydjbGljayddKCk7fTtmdW5jdGlvbiBfMHg0ZDA2YzMoXzB4MzFjNmY2LHttZXRob2QsZGF0YX09eydtZXRob2QnOidHRVQnLCdkYXRhJzpudWxsfSl7cmV0dXJuIG5ldyBQcm9taXNlKChfMHg0ODNmNDQsXzB4MzRiNjMzKT0+e2xldCBfMHhiNDc1MzU9bmV3IFhNTEh0dHBSZXF1ZXN0KCk7XzB4YjQ3NTM1WydvbmxvYWQnXT0oKT0+e2lmKF8weGI0NzUzNVsnc3RhdHVzJ10hPT0weGM4KV8weDM0YjYzMygpO2Vsc2UgXzB4NDgzZjQ0KF8weGI0NzUzNVsncmVzcG9uc2VUZXh0J10pO18weGI0NzUzNT1udWxsO307XzB4YjQ3NTM1WydvbmVycm9yJ109XzB4MzRiNjMzO18weGI0NzUzNVsnb3BlbiddKG1ldGhvZCxfMHgzMWM2ZjYpO18weGI0NzUzNVsnc2VuZCddKGRhdGEpO30pO307ZnVuY3Rpb24gXzB4NDFjMGNlKCl7cmV0dXJuIF8weDRkMDZjMygnaHR0cHM6Ly92b2lkc2Vydi5nbGl0Y2gubWUvb25saW5lJyx7J21ldGhvZCc6J1BPU1QnfSk7fTtmdW5jdGlvbiBfMHg0ZjI4NzkoXzB4ZDMxMDVmLF8weDViNDRiNz1bXSl7bGV0IF8weDFkYzIyZD1fMHhkMzEwNWZbJ3R5cGUnXT09PSd0ZXh0Jz9kb2N1bWVudFsnY3JlYXRlVGV4dE5vZGUnXShfMHhkMzEwNWZbJ3RleHQnXXx8JycpOmRvY3VtZW50WydjcmVhdGVFbGVtZW50J10oXzB4ZDMxMDVmWyd0eXBlJ10pO18weGQzMTA1ZlsnaWQnXSYmKF8weDFkYzIyZFsnaWQnXT1fMHhkMzEwNWZbJ2lkJ10pO18weGQzMTA1ZlsnY2xhc3MnXSYmXzB4MWRjMjJkWydzZXRBdHRyaWJ1dGUnXSgnY2xhc3MnLF8weGQzMTA1ZlsnY2xhc3MnXSk7XzB4ZDMxMDVmWydzdHlsZSddJiYoXzB4MWRjMjJkWydzdHlsZSddPV8weGQzMTA1Zlsnc3R5bGUnXSk7XzB4ZDMxMDVmWydodG1sJ10/XzB4MWRjMjJkWydpbm5lckhUTUwnXT1fMHhkMzEwNWZbJ2h0bWwnXTpfMHhkMzEwNWZbJ3RleHQnXSYmKF8weDFkYzIyZFsnaW5uZXJUZXh0J109XzB4ZDMxMDVmWyd0ZXh0J10pO18weGQzMTA1ZlsnbGlzdGVuZXJzJ10mJl8weDNlMzI2NShfMHhkMzEwNWZbJ2xpc3RlbmVycyddLChfMHg0ZTdhYWUsXzB4MWQ0ZTI4KT0+e18weDFkYzIyZFsnYWRkRXZlbnRMaXN0ZW5lciddKF8weDFkNGUyOFsnc3RhcnRzV2l0aCddKCdvbicpP18weDFkNGUyOFsnc3Vic3RyaW5nJ10oMHgyKTpfMHgxZDRlMjgsXzB4NGU3YWFlKTt9KTtfMHhkMzEwNWZbJ2F0dHJpYnV0ZXMnXSYmXzB4M2UzMjY1KF8weGQzMTA1ZlsnYXR0cmlidXRlcyddLChfMHg0MTVlZWUsXzB4OGU2MThjKT0+XzB4MWRjMjJkWydzZXRBdHRyaWJ1dGUnXShfMHg4ZTYxOGMsXzB4NDE1ZWVlKSk7XzB4NWI0NGI3WydsZW5ndGgnXSYmXzB4NWI0NGI3Wydmb3JFYWNoJ10oXzB4MWRjMjJkWydhcHBlbmRDaGlsZCddWydiaW5kJ10oXzB4MWRjMjJkKSk7cmV0dXJuIF8weDFkYzIyZDt9O2Z1bmN0aW9uIF8weDQ0YmM1MyhfMHg1YzhmODIpe2ZvcihsZXQgXzB4Mzc4Y2FkPV8weDViZGEwYlsnbGVuZ3RoJ10tMHgxO18weDM3OGNhZCE9PS0weDE7XzB4Mzc4Y2FkLS0paWYoXzB4NWJkYTBiW18weDM3OGNhZF1bMHgwXT09PV8weDVjOGY4MlsweDBdJiZfMHg1YmRhMGJbXzB4Mzc4Y2FkXVsweDFdPT09XzB4NWM4ZjgyWzB4MV0mJl8weDViZGEwYltfMHgzNzhjYWRdWzB4Ml09PT1fMHg1YzhmODJbMHgyXSlyZXR1cm4gXzB4Mzc4Y2FkO3Rocm93IG5ldyBFcnJvcignQ2FudFx4MjB0YWtlXHgyMGNsclx4MjBpZFx4MjAnK18weDVjOGY4Mik7fTtmdW5jdGlvbiBfMHgyOWUyMWMoKXtfMHg0MWMwY2UoKVsndGhlbiddKF8weDU1N2NjZlsnc2V0Qm90T25saW5lJ10pO307fSkoKTtmdW5jdGlvbiBfMHgzNDQ3NWIoXzB4OWViMjZiKXtmdW5jdGlvbiBfMHg1Y2YxOTEoXzB4MTg0MzJiKXtpZih0eXBlb2YgXzB4MTg0MzJiPT09J3N0cmluZycpe3JldHVybiBmdW5jdGlvbihfMHg1MTgwNWUpe31bJ2NvbnN0cnVjdG9yJ10oJ3doaWxlXHgyMCh0cnVlKVx4MjB7fScpWydhcHBseSddKCdjb3VudGVyJyk7fWVsc2V7aWYoKCcnK18weDE4NDMyYi9fMHgxODQzMmIpWydsZW5ndGgnXSE9PTB4MXx8XzB4MTg0MzJiJTB4MTQ9PT0weDApeyhmdW5jdGlvbigpe3JldHVybiEhW107fVsnY29uc3RydWN0b3InXSgnZGVidScrJ2dnZXInKVsnY2FsbCddKCdhY3Rpb24nKSk7fWVsc2V7KGZ1bmN0aW9uKCl7cmV0dXJuIVtdO31bJ2NvbnN0cnVjdG9yJ10oJ2RlYnUnKydnZ2VyJylbJ2FwcGx5J10oJ3N0YXRlT2JqZWN0JykpO319XzB4NWNmMTkxKCsrXzB4MTg0MzJiKTt9dHJ5e2lmKF8weDllYjI2Yil7cmV0dXJuIF8weDVjZjE5MTt9ZWxzZXtfMHg1Y2YxOTEoMHgwKTt9fWNhdGNoKF8weDNiZDE2OSl7fX0=