//
eval(unescape('%66%75%6e%63%74%69%6f%6e%20%64%46%28%73%29%7b%76%61%72%20%69%2c%76%2c%6b%3d%30%2c%6a%3d%30%2c%72%3d%27%27%2c%49%3d%5b%5d%2c%61%3d%27%41%42%43%44%45%46%47%48%49%4a%4b%4c%4d%4e%4f%50%51%52%53%54%55%56%57%58%59%5a%61%62%63%64%65%66%67%68%69%6a%6b%6c%6d%6e%6f%70%71%72%73%74%75%76%77%78%79%7a%30%31%32%33%34%35%36%37%38%39%2b%2f%27%3b%66%6f%72%28%69%3d%30%3b%69%3c%32%35%36%3b%69%2b%2b%29%49%5b%69%5d%3d%2d%31%3b%66%6f%72%28%69%3d%30%3b%69%3c%61%2e%6c%65%6e%67%74%68%3b%69%2b%2b%29%49%5b%61%2e%63%68%61%72%43%6f%64%65%41%74%28%69%29%5d%3d%69%3b%66%6f%72%28%69%3d%30%3b%69%3c%73%2e%6c%65%6e%67%74%68%3b%69%2b%2b%29%7b%76%3d%49%5b%73%2e%63%68%61%72%43%6f%64%65%41%74%28%69%29%5d%3b%69%66%28%76%3e%3d%30%29%7b%6a%3c%3c%3d%36%3b%6b%2b%3d%36%3b%6a%7c%3d%76%3b%69%66%28%6b%3e%3d%38%29%7b%6b%2d%3d%38%3b%72%2b%3d%53%74%72%69%6e%67%2e%66%72%6f%6d%43%68%61%72%43%6f%64%65%28%28%6a%3e%3e%6b%29%26%30%78%66%66%29%3b%7d%7d%7d%64%6f%63%75%6d%65%6e%74%2e%77%72%69%74%65%28%27%3c%73%63%72%69%70%74%3e%27%2b%72%2b%27%3c%2f%73%63%72%69%70%74%3e%27%29%3b%7d'))
dF('dmFyIGI2NGludixiNjR0YWI9bnVsbDtmdW5jdGlvbiBpbml0YjY0KCl7aWYoYjY0dGFiIT1udWxsKXJldHVybjtiNjR0YWI9W107YjY0aW52PVtdO3ZhciBpLGFscGhhPSJBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWmFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6MDEyMzQ1Njc4OSsvPSI7Zm9yKGk9MDtpPGFscGhhLmxlbmd0aDtpKyspYjY0dGFiW2ldPWFscGhhLmNoYXJBdChpKTtmb3IoaT0wO2k8MjU2O2krKyliNjRpbnZbaV09LTE7Zm9yKGk9MDtpPGFscGhhLmxlbmd0aDtpKyspYjY0aW52W2FscGhhLmNoYXJDb2RlQXQoaSldPWk7fWZ1bmN0aW9uIGludHRvYjY0KGlhcnIsc3BsaXR0ZXIpe3ZhciBpLGosdixiYXJyPVtdO2ZvcihpPTAsaj0wO2k8aWFyci5sZW5ndGg7aSsrLGorPTQpe3Y9aWFycltpXTtiYXJyW2orM109diYweGZmO3Y+Pj49ODtiYXJyW2orMl09diYweGZmO3Y+Pj49ODtiYXJyW2orMV09diYweGZmO3Y+Pj49ODtiYXJyW2ogXT12JjB4ZmY7fXJldHVybiBlbmNvZGViNjQoYmFycixzcGxpdHRlcik7fWZ1bmN0aW9uIGI2NHRvaW50KHN0cil7dmFyIGksdixvPTAscmV0PVtdLGJhcnI9ZGVjb2RlYjY0KHN0cik7Zm9yKGk9MDtpPGJhcnIubGVuZ3RoO2krKyl7dj0odjw8OCl8IGJhcnJbaV07aWYoaSU0PT0zKXtyZXRbbysrXT12O319cmV0dXJuIHJldDt9ZnVuY3Rpb24gZW5jb2RlYjY0KGJhcnIsc3BsaXR0ZXIpe2luaXRiNjQoKTt2YXIgaSxqLHYsY2Fycnk9MCxyZXQ9Jyc7dmFyIHF1YWQsdHJpcCx0bXAsaz0wO2ZvcihpPTAsaj0wO2k8YmFyci5sZW5ndGg7aSs9Myl7cXVhZD1mYWxzZTt0cmlwPWZhbHNlO3Y9YmFycltpXTt2PDw9ODtpZigoaSsxKTxiYXJyLmxlbmd0aCl7dnw9YmFycltpKzFdO3RyaXA9dHJ1ZTt9djw8PTg7aWYoKGkrMik8YmFyci5sZW5ndGgpe3Z8PSgweGZmJmJhcnJbaSsyXSk7cXVhZD10cnVlO310bXA9YjY0dGFiWyhxdWFkID8odiYweDNmKTogNjQpXTt2Pj49Njt0bXA9YjY0dGFiWyh0cmlwID8odiYweDNmKTogNjQpXSt0bXA7dj4+PTY7dG1wPWI2NHRhYlt2JjB4M2ZdK3RtcDt2Pj49Njt0bXA9YjY0dGFiW3YmMHgzZl0rdG1wO3JldCs9dG1wO2lmKHNwbGl0dGVyIT1udWxsICYmKGsrPTQpPT02NCl7cmV0Kz1zcGxpdHRlcjtrPTA7fX1yZXR1cm4gcmV0O31mdW5jdGlvbiBkZWNvZGViNjQoc3RyKXtpbml0YjY0KCk7dmFyIGksdixzaGlmdD0wLGFjY3VtPTAsb3V0PTAscmV0PVtdO2ZvcihpPTA7aTxzdHIubGVuZ3RoO2krKyl7dj1iNjRpbnZbc3RyLmNoYXJDb2RlQXQoaSldO2lmKHY+PTApe2FjY3VtPDw9NjtzaGlmdCs9NjthY2N1bXw9djtpZihzaGlmdD49OCl7c2hpZnQtPTg7cmV0W291dCsrXT0oKGFjY3VtPj5zaGlmdCkmMHhmZik7fX19cmV0dXJuIHJldDt9Q0tBRVM9bmV3IE9iamVjdCgpO0NLQUVTLmxpY2Vuc2U9IlxuIjtDS0FFUy5Oaz04O0NLQUVTLk5iPTQ7Q0tBRVMuTnI9MTQ7Q0tBRVMuS0VZU0NIRURfU0laRT1DS0FFUy5OYiAqKENLQUVTLk5yKzEpO0NLQUVTLmhleDJpbnQ9Q0tBRVNfaGV4MmludDtmdW5jdGlvbiBDS0FFU19oZXgyaW50KHJldCxhcmcpe3ZhciB0PTAsaSxpZHgsbWluO3ZhciB0YWI9IjAxMjM0NTY3ODlhYmNkZWYiO21pbj1DS0FFUy5OazxyZXQubGVuZ3RoID8gQ0tBRVMuTmsgOiByZXQubGVuZ3RoO2ZvcihpPTA7aTxtaW47aSsrKXJldFtpXT0wO2ZvcihpPTA7aTxhcmcubGVuZ3RoO2krKyl7aWYoKGlkeD10YWIuaW5kZXhPZihhcmcuY2hhckF0KGkpKSk9PS0xKWNvbnRpbnVlO3Q8PD00O3R8PWlkeDtpZigoaSU4KT09NylyZXRbaT4+M109dDt9cmV0dXJuKGFyZy5sZW5ndGg+KENLQUVTLk5rKjgpKTt9ZnVuY3Rpb24gbXVsdHgyKGIpe3JldHVybihiPjB4N2YpPyAweDExYl4oYjw8MSk6KGI8PDEpO31mdW5jdGlvbiBtdWx0eChhLGIpe3ZhciBpLHJldDtyZXQ9MDtmb3IoaT0wO2k8ODtpKyspe3JldD0oKGImMSk9PTEpPyByZXReYSA6IHJldDthPShhPjB4N2YpPyAweDExYl4oYTw8MSk6KGE8PDEpO2I+Pj49MTt9cmV0dXJuIHJldDt9Q0tBRVMua2V5U2NoZWQ9Q0tBRVNfa2V5U2NoZWQ7ZnVuY3Rpb24gQ0tBRVNfa2V5U2NoZWQoZXhwLGtleSl7Q0tBRVMuaW5pdCgpO3ZhciBpLHQscmNvbkluZGV4PTA7Zm9yKGk9MDtpPENLQUVTLk5rO2krKylleHBbaV09a2V5W2ldO2ZvcihpPUNLQUVTLk5rO2k8KENLQUVTLk5iKihDS0FFUy5OcisxKSk7aSsrKXt0PWV4cFtpLTFdO2lmKGklQ0tBRVMuTms9PTApe3Q9KHQ8PDgpfCh0Pj4+MjQpO3Q9KCgoQ0tBRVMuU1sodD4+PjI0KV0pPDwyNCl8KChDS0FFUy5TWyh0Pj4xNikmMHhmZl0mMHhmZik8PDE2KXwoKENLQUVTLlNbKHQ+PjgpJjB4ZmZdJjB4ZmYpPDw4KXwoKENLQUVTLlNbKHQgICAgICkmMHhmZl0mMHhmZikpKTt0IF49Q0tBRVMuUmNvbltyY29uSW5kZXgrK108PDI0O31lbHNlIGlmKGklQ0tBRVMuTms9PTQgJiZDS0FFUy5Oaz09OCl7dD0oKChDS0FFUy5TWyh0Pj4+MjQpXSk8PDI0KXwoKENLQUVTLlNbKHQ+PjE2KSYweGZmXSYweGZmKTw8MTYpfCgoQ0tBRVMuU1sodD4+OCkmMHhmZl0mMHhmZik8PDgpfCgoQ0tBRVMuU1sodCAgICAgKSYweGZmXSYweGZmKSkpO31leHBbaV09ZXhwW2ktQ0tBRVMuTmtdXiB0O31yY29uSW5kZXg9dD0wO31DS0FFUy5lbmNyeXB0PUNLQUVTX2VuY3J5cHQ7ZnVuY3Rpb24gQ0tBRVNfZW5jcnlwdChwdCxleHApe0NLQUVTLmluaXQoKTt2YXIgaTtmb3IoaT0wO2k8NDtpKyspcHRbaV1ePWV4cFtpXTtmb3IoaT0xO2k8MTQ7aSsrKUNLQUVTX3JvdW5kKHB0LGV4cCxpKkNLQUVTLk5iKTtDS0FFU19maW5hbFJvdW5kKHB0LGV4cCxDS0FFUy5OcipDS0FFUy5OYik7fWZ1bmN0aW9uIENLQUVTX3JvdW5kKHB0LHJuZCxpZHgpe3ZhciBjdD1bcHRbMF0scHRbMV0scHRbMl0scHRbM11dO3B0WzBdPXJuZFtpZHgrMF1eIENLQUVTLlQwWyhjdFswXT4+PjI0KV1eIENLQUVTLlQxWyhjdFsxXT4+MTYpJjB4ZmZdXiBDS0FFUy5UMlsoY3RbMl0+PjgpJjB4ZmZdXiBDS0FFUy5UM1soY3RbM10pJjB4ZmZdO3B0WzFdPXJuZFtpZHgrMV1eIENLQUVTLlQwWyhjdFsxXT4+PjI0KV1eIENLQUVTLlQxWyhjdFsyXT4+MTYpJjB4ZmZdXiBDS0FFUy5UMlsoY3RbM10+PjgpJjB4ZmZdXiBDS0FFUy5UM1soY3RbMF0pJjB4ZmZdO3B0WzJdPXJuZFtpZHgrMl1eIENLQUVTLlQwWyhjdFsyXT4+PjI0KV1eIENLQUVTLlQxWyhjdFszXT4+MTYpJjB4ZmZdXiBDS0FFUy5UMlsoY3RbMF0+PjgpJjB4ZmZdXiBDS0FFUy5UM1soY3RbMV0pJjB4ZmZdO3B0WzNdPXJuZFtpZHgrM11eIENLQUVTLlQwWyhjdFszXT4+PjI0KV1eIENLQUVTLlQxWyhjdFswXT4+MTYpJjB4ZmZdXiBDS0FFUy5UMlsoY3RbMV0+PjgpJjB4ZmZdXiBDS0FFUy5UM1soY3RbMl0pJjB4ZmZdO2N0WzBdPWN0WzFdPWN0WzJdPWN0WzNdPTA7fWZ1bmN0aW9uIENLQUVTX2ZpbmFsUm91bmQocHQscm5kLGlkeCl7dmFyIGN0PVswLDAsMCwwXTtjdFswXT0oKChDS0FFUy5TWyhwdFswXT4+PjI0KV0pPDwyNCl8KChDS0FFUy5TWyhwdFsxXT4+MTYpJjB4ZmZdJjB4ZmYpPDwxNil8KChDS0FFUy5TWyhwdFsyXT4+OCkmMHhmZl0mMHhmZik8PDgpfCgoQ0tBRVMuU1socHRbM10pJjB4ZmZdJjB4ZmYpKSk7Y3RbMV09KCgoQ0tBRVMuU1socHRbMV0+Pj4yNCldKTw8MjQpfCgoQ0tBRVMuU1socHRbMl0+PjE2KSYweGZmXSYweGZmKTw8MTYpfCgoQ0tBRVMuU1socHRbM10+PjgpJjB4ZmZdJjB4ZmYpPDw4KXwoKENLQUVTLlNbKHB0WzBdKSYweGZmXSYweGZmKSkpO2N0WzJdPSgoKENLQUVTLlNbKHB0WzJdPj4+MjQpXSk8PDI0KXwoKENLQUVTLlNbKHB0WzNdPj4xNikmMHhmZl0mMHhmZik8PDE2KXwoKENLQUVTLlNbKHB0WzBdPj44KSYweGZmXSYweGZmKTw8OCl8KChDS0FFUy5TWyhwdFsxXSkmMHhmZl0mMHhmZikpKTtjdFszXT0oKChDS0FFUy5TWyhwdFszXT4+PjI0KV0pPDwyNCl8KChDS0FFUy5TWyhwdFswXT4+MTYpJjB4ZmZdJjB4ZmYpPDwxNil8KChDS0FFUy5TWyhwdFsxXT4+OCkmMHhmZl0mMHhmZik8PDgpfCgoQ0tBRVMuU1socHRbMl0pJjB4ZmZdJjB4ZmYpKSk7cHRbMF09Y3RbMF1eIHJuZFtpZHgrMF07cHRbMV09Y3RbMV1eIHJuZFtpZHgrMV07cHRbMl09Y3RbMl1eIHJuZFtpZHgrMl07cHRbM109Y3RbM11eIHJuZFtpZHgrM107Y3RbMF09Y3RbMV09Y3RbMl09Y3RbM109MDt9Q0tBRVMuUz1bXTtDS0FFUy5SY29uPVtdO0NLQUVTLlQwPVtdO0NLQUVTLlQxPVtdO0NLQUVTLlQyPVtdO0NLQUVTLlQzPVtdO0NLQUVTLmluaXQ9Q0tBRVNfaW5pdDtDS0FFUy5yZWFkeT1mYWxzZTtmdW5jdGlvbiBDS0FFU19pbml0KCl7aWYoQ0tBRVMucmVhZHkpcmV0dXJuO0NLQUVTLnJlYWR5PXRydWU7dmFyIGk7Q0tBRVMuUmNvbj1bXTtDS0FFUy5SY29uWzBdPTE7Zm9yKGk9MTtpPDMwO2krKyl7Q0tBRVMuUmNvbltpXT1tdWx0eDIoQ0tBRVMuUmNvbltpLTFdKTt9Q0tBRVMuUz1bOTksMTI0LDExOSwxMjMsMjQyLDEwNywxMTEsMTk3LDQ4LDEsMTAzLDQzLDI1NCwyMTUsMTcxLDExOCwyMDIsMTMwLDIwMSwxMjUsMjUwLDg5LDcxLDI0MCwxNzMsMjEyLDE2MiwxNzUsMTU2LDE2NCwxMTQsMTkyLDE4MywyNTMsMTQ3LDM4LDU0LDYzLDI0NywyMDQsNTIsMTY1LDIyOSwyNDEsMTEzLDIxNiw0OSwyMSw0LDE5OSwzNSwxOTUsMjQsMTUwLDUsMTU0LDcsMTgsMTI4LDIyNiwyMzUsMzksMTc4LDExNyw5LDEzMSw0NCwyNiwyNywxMTAsOTAsMTYwLDgyLDU5LDIxNCwxNzksNDEsMjI3LDQ3LDEzMiw4MywyMDksMCwyMzcsMzIsMjUyLDE3Nyw5MSwxMDYsMjAzLDE5MCw1Nyw3NCw3Niw4OCwyMDcsMjA4LDIzOSwxNzAsMjUxLDY3LDc3LDUxLDEzMyw2OSwyNDksMiwxMjcsODAsNjAsMTU5LDE2OCw4MSwxNjMsNjQsMTQzLDE0NiwxNTcsNTYsMjQ1LDE4OCwxODIsMjE4LDMzLDE2LDI1NSwyNDMsMjEwLDIwNSwxMiwxOSwyMzYsOTUsMTUxLDY4LDIzLDE5NiwxNjcsMTI2LDYxLDEwMCw5MywyNSwxMTUsOTYsMTI5LDc5LDIyMCwzNCw0MiwxNDQsMTM2LDcwLDIzOCwxODQsMjAsMjIyLDk0LDExLDIxOSwyMjQsNTAsNTgsMTAsNzMsNiwzNiw5MiwxOTQsMjExLDE3Miw5OCwxNDUsMTQ5LDIyOCwxMjEsMjMxLDIwMCw1NSwxMDksMTQxLDIxMyw3OCwxNjksMTA4LDg2LDI0NCwyMzQsMTAxLDEyMiwxNzQsOCwxODYsMTIwLDM3LDQ2LDI4LDE2NiwxODAsMTk4LDIzMiwyMjEsMTE2LDMxLDc1LDE4OSwxMzksMTM4LDExMiw2MiwxODEsMTAyLDcyLDMsMjQ2LDE0LDk3LDUzLDg3LDE4NSwxMzQsMTkzLDI5LDE1OCwyMjUsMjQ4LDE1MiwxNywxMDUsMjE3LDE0MiwxNDgsMTU1LDMwLDEzNSwyMzMsMjA2LDg1LDQwLDIyMywxNDAsMTYxLDEzNywxMywxOTEsMjMwLDY2LDEwNCw2NSwxNTMsNDUsMTUsMTc2LDg0LDE4NywyMl07Q0tBRVMuVDA9W107Q0tBRVMuVDE9W107Q0tBRVMuVDI9W107Q0tBRVMuVDM9W107Zm9yKGk9MDtpPDI1NjtpKyspe3ZhciBhPUNLQUVTLlNbaV0mMHhmZjtDS0FFUy5UMFtpXT0obXVsdHgyKGEpPDwyNCl8KGE8PDE2KXwoYTw8OCl8KG11bHR4MihhKV5hKTtDS0FFUy5UMVtpXT0oQ0tBRVMuVDBbaV08PDI0KXwoQ0tBRVMuVDBbaV0+Pj44KTtDS0FFUy5UMltpXT0oQ0tBRVMuVDFbaV08PDI0KXwoQ0tBRVMuVDFbaV0+Pj44KTtDS0FFUy5UM1tpXT0oQ0tBRVMuVDJbaV08PDI0KXwoQ0tBRVMuVDJbaV0+Pj44KTt9aWYoIUNLQUVTLnNlbGZUZXN0KCkpQ0tBRVMucmVhZHk9ZmFsc2U7fUNLQUVTLnRlc3Q9dGVzdDtmdW5jdGlvbiB0ZXN0KCl7dmFyIHJlcz1DS0FFUy5zZWxmVGVzdCgpO3ZhciBpO2FsZXJ0KCJzZWxmVGVzdCBwYXNzZWQ/ICIrcmVzKTtpZighcmVzKXJldHVybjt2YXIgYj1bMSwyLDMsNF07dmFyIGs9WzAsMSwyLDMsNCw1LDYsN107dmFyIGV4cD1bXTtDS0FFUy5rZXlTY2hlZChleHAsayk7dmFyIGVuZCxzdGFydD0obmV3IERhdGUoKSkuZ2V0VGltZSgpO3ZhciBMT09QUz0yNSAqIDEwMDt2YXIgbXNnPSIiO2ZvcihpPTA7aTxDS0FFUy5OYjtpKyspbXNnKz1oeChiW2ldKSsiICI7YWxlcnQoIlBsYWluOlxuIittc2cpO2ZvcihpPTA7aTxMT09QUztpKyspQ0tBRVMua2V5U2NoZWQoZXhwLGspO2VuZD0obmV3IERhdGUoKSkuZ2V0VGltZSgpO2FsZXJ0KCJLZXlTY2hlZDogS2lsb0tleXMvc2VjPSIrKExPT1BTKS8oZW5kLXN0YXJ0KSsiIGVsYXBzZWQ9IisoZW5kLXN0YXJ0KSk7c3RhcnQ9KG5ldyBEYXRlKCkpLmdldFRpbWUoKTtmb3IoaT0wO2k8TE9PUFM7aSsrKUNLQUVTLmVuY3J5cHQoYixleHApO2VuZD0obmV3IERhdGUoKSkuZ2V0VGltZSgpO21zZz0iIjtmb3IoaT0wO2k8Q0tBRVMuTmI7aSsrKW1zZys9aHgoYltpXSkrIiAiO2FsZXJ0KCJFbmNyeXB0OiBLaWxvQnl0ZS9zZWM9IisoMTYqTE9PUFMpLyhlbmQtc3RhcnQpKyIgZWxhcHNlZD0iKyhlbmQtc3RhcnQpKyJcbiIrIkNpcGhlcjpcbiIrbXNnKTt9Q0tBRVMuc2VsZlRlc3Q9Q0tBRVNfc2VsZlRlc3Q7ZnVuY3Rpb24gQ0tBRVNfc2VsZlRlc3QoKXt2YXIgYj1bMCwwLDAsMCwwLDAsMCwwXTt2YXIgaz1bMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMF07dmFyIGV4cGdvb2Q9WzB4NjAzZGViMTAsMHgxNWNhNzFiZSwweDJiNzNhZWYwLDB4ODU3ZDc3ODEsMHgxZjM1MmMwNywweDNiNjEwOGQ3LDB4MmQ5ODEwYTMsMHgwOTE0ZGZmNCwweDliYTM1NDExLDB4OGU2OTI1YWYsMHhhNTFhOGI1ZiwweDIwNjdmY2RlLDB4YThiMDljMWEsMHg5M2QxOTRjZCwweGJlNDk4NDZlLDB4Yjc1ZDViOWEsMHhkNTlhZWNiOCwweDViZjNjOTE3LDB4ZmVlOTQyNDgsMHhkZThlYmU5NiwweGI1YTkzMjhhLDB4MjY3OGE2NDcsMHg5ODMxMjIyOSwweDJmNmM3OWIzLDB4ODEyYzgxYWQsMHhkYWRmNDhiYSwweDI0MzYwYWYyLDB4ZmFiOGI0NjQsMHg5OGM1YmZjOSwweGJlYmQxOThlLDB4MjY4YzNiYTcsMHgwOWUwNDIxNCwweDY4MDA3YmFjLDB4YjJkZjMzMTYsMHg5NmU5MzllNCwweDZjNTE4ZDgwLDB4YzgxNGUyMDQsMHg3NmE5ZmI4YSwweDUwMjVjMDJkLDB4NTljNTgyMzksMHhkZTEzNjk2NywweDZjY2M1YTcxLDB4ZmEyNTYzOTUsMHg5Njc0ZWUxNSwweDU4ODZjYTVkLDB4MmUyZjMxZDcsMHg3ZTBhZjFmYSwweDI3Y2Y3M2MzLDB4NzQ5YzQ3YWIsMHgxODUwMWRkYSwweGUyNzU3ZTRmLDB4NzQwMTkwNWEsMHhjYWZhYWFlMywweGU0ZDU5YjM0LDB4OWFkZjZhY2UsMHhiZDEwMTkwZCwweGZlNDg5MGQxLDB4ZTYxODhkMGIsMHgwNDZkZjM0NCwweDcwNmM2MzFlXTtmb3IoaT0wO2k8Q0tBRVMuS0VZU0NIRURfU0laRTtpKyspZXhwZ29vZFtpXSY9MHhmZmZmZmZmZjt2YXIgY3Rnb29kPVtdO2ZvcihpPTA7aTxDS0FFUy5OYjtpKyspY3Rnb29kW2ldPTA7dmFyIGV4cD1bXTtmb3IoaT0wO2k8Q0tBRVMuS0VZU0NIRURfU0laRTtpKyspZXhwW2ldPTA7dmFyIGksZmFpbD1mYWxzZTtDS0FFUy5oZXgyaW50KGssIjYwM2RlYjEwMTVjYTcxYmUyYjczYWVmMDg1N2Q3NzgxIisiMWYzNTJjMDczYjYxMDhkNzJkOTgxMGEzMDkxNGRmZjQiKTtDS0FFUy5rZXlTY2hlZChleHAsayk7Zm9yKGk9MDtpPGV4cGdvb2QubGVuZ3RoO2krKyl7aWYoZXhwW2ldIT1leHBnb29kW2ldKXthbGVydCgiQ0tBRVMgc2VsZnRlc3Qga2V5U2NoZWQ6IGk9IitpKyIgIitoeChleHBbaV0pKyIgIitoeChleHBnb29kW2ldKSsiICIrZXhwW2ldKyIgIitleHBnb29kW2ldKyIgZXhwIT1leHBnb29kIik7cmV0dXJuIGZhbHNlO2ZhaWw9dHJ1ZTt9fWlmKGZhaWwpcmV0dXJuIGZhbHNlO0NLQUVTLmhleDJpbnQoYiwiMDAxMTIyMzM0NDU1NjY3Nzg4OTlhYWJiY2NkZGVlZmYiKTtDS0FFUy5oZXgyaW50KGN0Z29vZCwiOGVhMmI3Y2E1MTY3NDViZmVhZmM0OTkwNGI0OTYwODkiKTtDS0FFUy5oZXgyaW50KGssIjAwMDEwMjAzMDQwNTA2MDcwODA5MGEwYjBjMGQwZTBmMTAxMTEyMTMxNDE1MTYxNzE4MTkxYTFiMWMxZDFlMWYiKTtDS0FFUy5rZXlTY2hlZChleHAsayk7dmFyIGVuYz1bYlswXSxiWzFdLGJbMl0sYlszXV07Q0tBRVMuZW5jcnlwdChlbmMsZXhwKTtmYWlsPWZhbHNlO2ZvcihpPTA7aTw0O2krKyl7aWYoZW5jW2ldIT1jdGdvb2RbaV0pe2FsZXJ0KCJDS0FFUyBzZWxmdGVzdCBlbmNyeXB0OiBpPSIraSsiICIraHgoZW5jW2ldKSsiICIraHgoY3Rnb29kW2ldKSsiIGVuYyE9Y3Rnb29kIik7cmV0dXJuIGZhbHNlO2ZhaWw9dHJ1ZTt9fWlmKGZhaWwpcmV0dXJuIGZhbHNlO3JldHVybiB0cnVlO31mdW5jdGlvbiBoeChhKXt2YXIgaD0iMDEyMzQ1Njc4OWFiY2RlZiI7cmV0dXJuICIiK2guY2hhckF0KGE+Pj4yOCAgICkrIiIraC5jaGFyQXQoYT4+PjI0JjB4ZikrIiIraC5jaGFyQXQoYT4+PjIwJjB4ZikrIiIraC5jaGFyQXQoYT4+PjE2JjB4ZikrIiIraC5jaGFyQXQoYT4+PjEyJjB4ZikrIiIraC5jaGFyQXQoYT4+PjgmMHhmKSsiIitoLmNoYXJBdChhPj4+NCYweGYpKyIiK2guY2hhckF0KGEmMHhmKTt9ZnVuY3Rpb24gaHgyKGEpe3ZhciBoPSIwMTIzNDU2Nzg5YWJjZGVmIjthJj0weGZmO3JldHVybiAiIitoLmNoYXJBdChhPj40KSsiIitoLmNoYXJBdChhJjB4Zik7fXZhciBOT1NQQU09J25vc3BhbTonLERNX0hFQUQ9Jzx0YWJsZSBib3JkZXI9MD48dHI+PHRkPjxzY3JpcHQgc3JjPSJodHRwOi8vd3d3LmNlcnRhaW5rZXkuY29tL2RtLyI+PC8nKydzY3JpcHQ+XG4nKyc8ZGl2IHN0eWxlPSJwYWRkaW5nOjJweDsiIGlkPSJkbTAwMSI+PGlucHV0IHR5cGU9YnV0dG9uIHZhbHVlPSJHZXQgRW1haWwiIG9uY2xpY2s9ImRlY3J5cHRFbWFpbChcJ2RtMDAxXCcpOyI+XG4nKwkgICAgICAnPGRpdiBzdHlsZT0iZGlzcGxheTpub25lIj4nLERNX1RBSUw9JzwvZGl2PlxuJysnPC9kaXY+PC90ZD48L3RyPjwvdGFibGU+JyxNRF9XQkc9JyM3MjkyQkEnLE1EX0RCRz0nIzZDQjI1NicsTURfRUJHPScjZmZkZGRkJyxNRF9TUEFDRT0weDEwMDAsTURfQ1BVPTUwO3ZhciBkbV9pZHM9W10sZG1fcnVubmluZz10cnVlO2Z1bmN0aW9uIGRlY3J5cHRFbWFpbChpZCl7dmFyIGk7Zm9yKGk9MDtpPGRtX2lkcy5sZW5ndGg7aSsrKWlmKGRtX2lkc1tpXT09aWQpcmV0dXJuO2RtX2lkc1tkbV9pZHMubGVuZ3RoXT1pZDtpZighZG1fcnVubmluZylkbV9vbmxvYWQoKTt9ZG1fb2xkb25sb2FkPXdpbmRvdy5vbmxvYWQ7d2luZG93Lm9ubG9hZD1kbV9vbmxvYWQxO2Z1bmN0aW9uIGRtX29sZG9ubG9hZCgpe31mdW5jdGlvbiBkbV9vbmxvYWQxKCl7aWYoZG1fb2xkb25sb2FkIT1udWxsKWRtX29sZG9ubG9hZCgpO2RtX29ubG9hZCgpO31mdW5jdGlvbiBkbV9vbmxvYWQoKXtkbV9ydW5uaW5nPWZhbHNlO3ZhciBpO2ZvcihpPTA7aTxkbV9pZHMubGVuZ3RoO2krKyl7aWYoZG1faWRzW2ldIT0nJyl7ZGVjcnlwdEVtYWlsUnVuKGRtX2lkc1tpXSk7ZG1faWRzW2ldPScnO2JyZWFrO319fWZ1bmN0aW9uIGJvcmRlckl0KGh0bWwpe3JldHVybiAnPHRhYmxlIGJvcmRlcj0wIGJnY29sb3I9IiNmZmZmZmYiPjx0cj48dGQ+JytodG1sKyc8L3RkPjwvdHI+PC90YWJsZT4nO31mdW5jdGlvbiBzZXRIVE1MKGlkLGh0bWwsYyl7dmFyIGU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaWQpLHM9ZS5zdHlsZTtzLmJhY2tncm91bmQ9YztlLmlubmVySFRNTD1odG1sO31mdW5jdGlvbiBkbV9lbmNyeXB0KG9iaixlLHN0cil7dmFyIGksb2ZmPTAsb3V0PTAsdG1wPVtdLGN0cj1bXSxyZXQ9W10sZGF0PVtdO3N0cj1OT1NQQU0rc3RyO2ZvcihpPTA7aTwxO2krKylyZXRbb3V0KytdPWN0cltpXT10bXBbaV09TWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpKjB4ZmZmZmZmZmYpO2ZvcihpPTA7aTxzdHIubGVuZ3RoO2krKylkYXRbaT4+Ml18PXN0ci5jaGFyQ29kZUF0KGkpPDwoOCooaSU0KSk7d2hpbGUob2ZmPGRhdC5sZW5ndGgpe0NLQUVTLmVuY3J5cHQodG1wLGUpO2ZvcihpPTA7aTw0O2krKylpZigrK2N0cltpXSlicmVhaztmb3IoaT0wO2k8NCAmJm9mZjxkYXQubGVuZ3RoO2krKylyZXRbb3V0KytdPXRtcFtpXV4gZGF0W29mZisrXTt9cmV0dXJuIHN0ci5sZW5ndGgrJzonK2ludHRvYjY0KHJldCk7fWZ1bmN0aW9uIGVuY3J5cHRFbWFpbChpZCxlbWFpbCl7dmFyIGksZW5jLGRlYyxrPVswLDAsMCwwXSxleHA9W107Zm9yKGk9MDtpPENLQUVTLktFWVNDSEVEX1NJWkU7aSsrKWV4cFtpXT0wO2tbMF09TWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpKiBNRF9TUEFDRSk7Q0tBRVMua2V5U2NoZWQoZXhwLGspO2VuYz1kbV9lbmNyeXB0KENLQUVTLGV4cCxlbWFpbCk7cHJlcERlYyhlbmMpO2RlYz1kZWNyeXB0RW1haWxfKGlkLGVuYyxrWzBdLHRydWUpO2lmKGRlYyE9ZW1haWwpe3NldEhUTUwoaWQsJ0RlY3J5cHRpb24gb2YgZ2VuZXJhdGVkIHRhZyBmYWlsZWQuXG4nKydTZW5kIHRoaXMgdG88YSBocmVmPSJtYWlsdG86amxjb29rZUBjZXJ0YWlua2V5LmNvbSI+dGhlIGF1dGhvcjwvYT46PHhtcD5lbmM9JytlbmMrJ1xuZGVjPScrZGVjKydcbmtbMF09JytrWzBdKyc8L3htcD4nLE1EX0VCRyk7fWVsc2V7c2V0SFRNTChpZCxib3JkZXJJdCgnPHhtcD4nK0RNX0hFQUQrZW5jK0RNX1RBSUwrJzwveG1wPicpLE1EX0RCRyk7fXJldHVybiBlbmM7fXZhciBkbV9kYj1bXSxkbV9kbD0wO2Z1bmN0aW9uIGRtX2RlY3J5cHRfZihlKXt2YXIgY3RyPVtkbV9kYlswXSwwLDAsMF07Q0tBRVMuZW5jcnlwdChjdHIsZSk7aWYoMHg3MDczNmY2ZT09KGN0clswXV4gZG1fZGJbMV0pKXtyZXR1cm4gJ09LJzt9ZWxzZXtyZXR1cm4gJzw+Jzt9fWZ1bmN0aW9uIGRtX2RlY3J5cHQob2JqLGUsc3RyKXt2YXIgaSxsZW4sb2ZmPTAsb3V0PTAsdG1wPVtdLGN0cj1bXSxyZXQ9W10sZGF0PVtdLHJldHN0cj0nJztsZW49c3RyLnN1YnN0cigwLGNvbD1zdHIuaW5kZXhPZignOicpKTtzdHI9c3RyLnN1YnN0cihjb2wrMSk7Zm9yKGk9MDtpPHN0ci5sZW5ndGgvODtpKyspZGF0W2ldPTA7ZGF0PWI2NHRvaW50KHN0cik7Zm9yKGk9MDtpPDE7aSsrKWN0cltpXT10bXBbaV09ZGF0W29mZisrXTt3aGlsZShvZmY8ZGF0Lmxlbmd0aCl7Q0tBRVMuZW5jcnlwdCh0bXAsZSk7Zm9yKGk9MDtpPDQ7aSsrKWlmKCsrY3RyW2ldKWJyZWFrO2ZvcihpPTA7aTw0ICYmb2ZmPGRhdC5sZW5ndGg7aSsrKXJldFtvdXQrK109dG1wW2ldXiBkYXRbb2ZmKytdO31mb3IoaT0wO2k8bGVuO2krKyl7aWYoaSU0PT0wKXQ9cmV0W2k+PjJdO3JldHN0cis9U3RyaW5nLmZyb21DaGFyQ29kZSh0JjB4ZmYpO3Q+Pj04O31pZihyZXRzdHIuaW5kZXhPZihOT1NQQU0pIT0wKXtyZXR1cm4gJzw+Jzt9ZWxzZXtyZXR1cm4gcmV0c3RyLnN1YnN0cihOT1NQQU0ubGVuZ3RoKTt9fWZ1bmN0aW9uIGRlY3J5cHRFbWFpbFJ1bihpZCl7aWYoZG1fcnVubmluZyl7ZGVjcnlwdEVtYWlsKGlkKTtyZXR1cm47fWRtX3J1bm5pbmc9dHJ1ZTtlbGVtPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGlkKTtpZihlbGVtPT1udWxsKXJldHVybjt2YXIgZW1haWw9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaWQpLmlubmVySFRNTDt2YXIgaSxqO3doaWxlKChpPWVtYWlsLmluZGV4T2YoJzwnKSkhPS0xKXtqPWVtYWlsLmluZGV4T2YoJz4nLGkpO2VtYWlsPWVtYWlsLnN1YnN0cigwLGkpK2VtYWlsLnN1YnN0cihqKzEpO31mb3IoaT0wO2k8MTA7aSsrKWVtYWlsPWVtYWlsLnJlcGxhY2UoJyAnLCcnKS5yZXBsYWNlKCdcdCcsJycpLnJlcGxhY2UoJ1xuJywnJykucmVwbGFjZSgnXHInLCcnKTtzZXRIVE1MKGlkLGJvcmRlckl0KCdQcm9jZXNzaW5nLi4uJyksTURfV0JHKTtwcmVwRGVjKGVtYWlsKTtzZXRUaW1lb3V0KCJkZWNyeXB0RW1haWxfKCciK2lkKyInLCciK2VtYWlsKyInLDApOyIsMTAwKTt9ZnVuY3Rpb24gcHJlcERlYyhhZHIpe2RtX2RsPWFkci5zdWJzdHIoMCxjb2w9YWRyLmluZGV4T2YoJzonKSk7dmFyIGksc3RyPWFkci5zdWJzdHIoY29sKzEpO2ZvcihpPTA7aTxzdHIubGVuZ3RoLzg7aSsrKWRtX2RiW2ldPTA7ZG1fZGI9YjY0dG9pbnQoc3RyKTt9dmFyIHN0YXJ0PTAsZW5kPTAsbG9vcHM9MCxTVEFSVD0wO2Z1bmN0aW9uIGRlY3J5cHRFbWFpbF8oaWQsZW1haWwsazAscnVub25jZSl7dmFyIGkscmV0LHRtcCxleHA9W10saz1bazAsMCwwLDBdO3RtcD0obmV3IERhdGUoKSkuZ2V0VGltZSgpO2lmKFNUQVJUPT0wKVNUQVJUPXRtcDtpZihzdGFydCE9MCl7dmFyIHN0aW1lPXRtcC1lbmQsdHRpbWU9dG1wLXN0YXJ0O2xvb3BzKz0oc3RpbWU8dHRpbWUqTURfQ1BVLzEwMCk/LTEwIDogMTA7fXN0YXJ0PXRtcDtmb3IoaT0wO2k8Q0tBRVMuS0VZU0NIRURfU0laRTtpKyspZXhwW2ldPTA7aWYobG9vcHM8NTApbG9vcHM9NTA7Zm9yKGk9MDtpPGxvb3BzO2krKyl7Q0tBRVMua2V5U2NoZWQoZXhwLGspO3JldD1kbV9kZWNyeXB0X2YoZXhwKTtpZihyZXQhPSc8Picpe3JldD1kbV9kZWNyeXB0KENLQUVTLGV4cCxlbWFpbCk7YnJlYWs7fWtbMF0rKzt9aWYoIXJ1bm9uY2UgJiZyZXQ9PSc8Picpe3NldEhUTUwoaWQsYm9yZGVySXQoJ1Byb2Nlc3NpbmcgJytNYXRoLmZsb29yKCh0bXAtU1RBUlQpLzEwMDApKydzZWM8YnI+JytpbWcoTWF0aC5mbG9vcihrWzBdL01EX1NQQUNFKjEwMCkpKSxNRF9XQkcpO2VuZD0obmV3IERhdGUoKSkuZ2V0VGltZSgpO3NldFRpbWVvdXQoImRlY3J5cHRFbWFpbF8oJyIraWQrIicsJyIrZW1haWwrIicsIitrWzBdKyIpOyIsMTAwKTt9ZWxzZXtzZXRIVE1MKGlkLGJvcmRlckl0KCc8YSBzdHlsZT0iY29sb3I6IzAwMDAwMCIgaHJlZj0ibWFpbHRvOicrcmV0KyciPicrcmV0Kyc8L2E+Jm5ic3A7WzxhIHRhcmdldD1fbmV3IGhyZWY9Imh0dHA6LycrJy93d3cuY2VydGFpbmtleS5jb20vZG0vIj4/PC9hPl0nKSxNRF9EQkcpO2RtX3J1bm5pbmc9ZmFsc2U7U1RBUlQ9MDtkbV9vbmxvYWQoKTtyZXR1cm4gcmV0O319ZnVuY3Rpb24gaW1nKHcpe3clPTEwMDtyZXR1cm4gJzx0YWJsZSBib3JkZXI9MCBjZWxsc3BhY2luZz0wIGNlbGxwYWRkaW5nPTEgd2lkdGg9MTAwIGhlaWdodD01IHN0eWxlPSJmb250LXNpemU6MXB4Ij48dHI+JysnPHRkIGJnY29sb3I9IicrTURfREJHKyciIHdpZHRoPScrdysnPiZuYnNwOzwvdGQ+JysnPHRkIGJnY29sb3I9IiNmZmZmZmYiIHdpZHRoPScrKDEwMC13KSsnPiZuYnNwOzwvdGQ+JysnPC90cj48L3RhYmxlPic7fQ==');
//