mbrr · data · 2.7c767379.chunk.js_24
{
"2.7c767379.chunk.js_24": "base64:MDk1NjAsMzYyNDM4MTA4MCwyNzM0ODgzMzk0LDMxMDU5ODQwMSwxMTY0OTk2NTQyLDYwNzIyNTI3OCwxMzIzNjEwNzY0LDE0MjY4ODE5ODcsMzU5MDMwNDk5NCwxOTI1MDc4Mzg4LDQwNjgxODIzODMsMjE2MjA3ODIwNiw5OTEzMzYxMTMsMjYxNDg4ODEwMyw2MzM4MDMzMTcsMzI0ODIyMjU4MCwzNDc5Nzc0ODY4LDM4MzUzOTA0MDEsMjY2NjYxMzQ1OCw0MDIyMjI0Nzc0LDk0NDcxMTEzOSwyNjQzNDcwNzgsMjM0MTI2Mjc3Myw2MDQ4MDc2MjgsMjAwNzgwMDkzMyw3NzAyNTU5ODMsMTQ5NTk5MDkwMSwxMjQ5MTUwMTIyLDE4NTY0MzEyMzUsMTU1NTA4MTY5MiwzMTc1MjE4MTMyLDE5OTYwNjQ5ODYsMjE5ODk1MDgzNywyNTU0MjIwODgyLDM5OTk3MTkzMzksMjgyMTgzNDM0OSw3NjY3ODQwMTYsMjk1Mjk5NjgwOCwyNTY2NTk0ODc5LDMyMTAzMTM2NzEsMzIwMzMzNzk1NiwzMzM2NTcxODkxLDEwMzQ0NTcwMjYsMzU4NDUyODcxMSwyNDY2OTQ4OTAxLDExMzkyNjk5MywzNzU4MzI2MzgzLDMzODI0MTg5NSwxNjg3MTc5MzYsNjY2MzA3MjA1LDExODgxNzk5NjQsNzczNTI5OTEyLDE1NDYwNDU3MzQsMTI5NDc1NzM3MiwxNTIyODA1NDg1LDEzOTYxODIyOTEsMjY0MzgzMzgyMywxNjk1MTgzNzAwLDIzNDM1MjczOTAsMTk4NjY2MTA1MSwxMDE0NDc3NDgwLDIxNzcwMjYzNTAsMTIwNjc1OTE0MiwyNDU2OTU2MDM3LDM0NDA3NzYyNywyNzMwNDg1OTIxLDEyOTA4NjM0NjAsMjgyMDMwMjQxMSwzMTU4NDU0MjczLDMyNTk3MzA4MDAsMzUwNTk1MjY1NywzMzQ1NzY0NzcxLDEwNjIxNzAwOCwzNTE2MDY1ODE3LDM2MDYwMDgzNDQsMzYwMDM1MjgwNCwxNDMyNzI1Nzc2LDQwOTQ1NzE5MDksMTQ2NzAzMTU5NCwyNzU0MjMzNDQsODUxMTY5NzIwLDQzMDIyNzczNCwzMTAwODIzNzUyLDUwNjk0ODYxNiwxMzYzMjU4MTk1LDY1OTA2MDU1NiwzNzUwNjg1NTkzLDg4Mzk5Nzg3NywzNzg1MDUwMjgwLDk1ODEzOTU3MSwzMzE4MzA3NDI3LDEzMjI4MjIyMTgsMzgxMjcyMzQwMywxNTM3MDAyMDYzLDIwMDMwMzQ5OTUsMTc0Nzg3Mzc3OSwzNjAyMDM2ODk5LDE5NTU1NjIyMjIsMTU3NTk5MDAxMiwyMDI0MTA0ODE1LDExMjU1OTI5MjgsMjIyNzczMDQ1MiwyNzE2OTA0MzA2LDIzNjE4NTI0MjQsNDQyNzc2MDQ0LDI0Mjg0MzY0NzQsNTkzNjk4MzQ0LDI3NTY3MzQxODcsMzczMzExMDI0OSwzMjA0MDMxNDc5LDI5OTkzNTE1NzMsMzMyOTMyNTI5OCwzODE1OTIwNDI3LDMzOTE1Njk2MTQsMzkyODM4MzkwMCwzNTE1MjY3MjcxLDU2NjI4MDcxMSwzOTQwMTg3NjA2LDM0NTQwNjk1MzQsNDExODYzMDI3MSw0MDAwMjM5OTkyLDExNjQxODQ3NCwxOTE0MTM4NTU0LDE3NDI5MjQyMSwyNzMxMDU1MjcwLDI4OTM4MDM1NiwzMjAzOTkzMDA2LDQ2MDM5MzI2OSwzMjA2MjAzMTUsNjg1NDcxNzMzLDU4NzQ5NjgzNiw4NTIxNDI5NzEsMTA4Njc5Mjg1MSwxMDE3MDM2Mjk4LDM2NTU0MzEwMCwxMTI2MDAwNTgwLDI2MTgyOTc2NzYsMTI4ODAzMzQ3MCwzNDA5ODU1MTU4LDE1MDE1MDU5NDgsNDIzNDUwOTg2NiwxNjA3MTY3OTE1LDk4NzE2NzQ2OCwxODE2NDAyMzE2LDEyNDYxODk1OTFdO2Z1bmN0aW9uIE8oZSx0LHIsbil7Zm9yKHZhciBpLG8sYSxzLHUsYyxmLGwsaCxwLGQseSxnLHYsbSxiLF8sUyxFLHcsVCxBLEMseCxJLE8sTj1uZXcgSW50MzJBcnJheSgxNiksUD1uZXcgSW50MzJBcnJheSgxNiksUj1lWzBdLEI9ZVsxXSxNPWVbMl0sTD1lWzNdLEQ9ZVs0XSxqPWVbNV0sVT1lWzZdLEY9ZVs3XSxWPXRbMF0scT10WzFdLEs9dFsyXSx6PXRbM10sRz10WzRdLEg9dFs1XSxXPXRbNl0sWT10WzddLFg9MDtuPj0xMjg7KXtmb3IoRT0wO0U8MTY7RSsrKXc9OCpFK1gsTltFXT1yW3crMF08PDI0fHJbdysxXTw8MTZ8clt3KzJdPDw4fHJbdyszXSxQW0VdPXJbdys0XTw8MjR8clt3KzVdPDwxNnxyW3crNl08PDh8clt3KzddO2ZvcihFPTA7RTw4MDtFKyspaWYoaT1SLG89QixhPU0scz1MLHU9RCxjPWosZj1VLEYsaD1WLHA9cSxkPUsseT16LGc9Ryx2PUgsbT1XLFksQz02NTUzNSYoQT1ZKSx4PUE+Pj4xNixJPTY1NTM1JihUPUYpLE89VD4+PjE2LEMrPTY1NTM1JihBPShHPj4+MTR8RDw8MTgpXihHPj4+MTh8RDw8MTQpXihEPj4+OXxHPDwyMykpLHgrPUE+Pj4xNixJKz02NTUzNSYoVD0oRD4+PjE0fEc8PDE4KV4oRD4+PjE4fEc8PDE0KV4oRz4+Pjl8RDw8MjMpKSxPKz1UPj4+MTYsQys9NjU1MzUmKEE9RyZIXn5HJlcpLHgrPUE+Pj4xNixJKz02NTUzNSYoVD1EJmpefkQmVSksTys9VD4+PjE2LFQ9a1syKkVdLEMrPTY1NTM1JihBPWtbMipFKzFdKSx4Kz1BPj4+MTYsSSs9NjU1MzUmVCxPKz1UPj4+MTYsVD1OW0UlMTZdLHgrPShBPVBbRSUxNl0pPj4+MTYsSSs9NjU1MzUmVCxPKz1UPj4+MTYsSSs9KHgrPShDKz02NTUzNSZBKT4+PjE2KT4+PjE2LEM9NjU1MzUmKEE9Uz02NTUzNSZDfHg8PDE2KSx4PUE+Pj4xNixJPTY1NTM1JihUPV89NjU1MzUmSXwoTys9ST4+PjE2KTw8MTYpLE89VD4+PjE2LEMrPTY1NTM1JihBPShWPj4+Mjh8Ujw8NCleKFI+Pj4yfFY8PDMwKV4oUj4+Pjd8Vjw8MjUpKSx4Kz1BPj4+MTYsSSs9NjU1MzUmKFQ9KFI+Pj4yOHxWPDw0KV4oVj4+PjJ8Ujw8MzApXihWPj4+N3xSPDwyNSkpLE8rPVQ+Pj4xNix4Kz0oQT1WJnFeViZLXnEmSyk+Pj4xNixJKz02NTUzNSYoVD1SJkJeUiZNXkImTSksTys9VD4+PjE2LGw9NjU1MzUmKEkrPSh4Kz0oQys9NjU1MzUmQSk+Pj4xNik+Pj4xNil8KE8rPUk+Pj4xNik8PDE2LGI9NjU1MzUmQ3x4PDwxNixDPTY1NTM1JihBPXkpLHg9QT4+PjE2LEk9NjU1MzUmKFQ9cyksTz1UPj4+MTYseCs9KEE9Uyk+Pj4xNixJKz02NTUzNSYoVD1fKSxPKz1UPj4+MTYsQj1pLE09byxMPWEsRD1zPTY1NTM1JihJKz0oeCs9KEMrPTY1NTM1JkEpPj4+MTYpPj4+MTYpfChPKz1JPj4+MTYpPDwxNixqPXUsVT1jLEY9ZixSPWwscT1oLEs9cCx6PWQsRz15PTY1NTM1JkN8eDw8MTYsSD1nLFc9dixZPW0sVj1iLEUlMTY9PT0xNSlmb3Iodz0wO3c8MTY7dysrKVQ9Tlt3XSxDPTY1NTM1JihBPVBbd10pLHg9QT4+PjE2LEk9NjU1MzUmVCxPPVQ+Pj4xNixUPU5bKHcrOSklMTZdLEMrPTY1NTM1JihBPVBbKHcrOSklMTZdKSx4Kz1BPj4+MTYsSSs9NjU1MzUmVCxPKz1UPj4+MTYsXz1OWyh3KzEpJTE2XSxDKz02NTUzNSYoQT0oKFM9UFsodysxKSUxNl0pPj4+MXxfPDwzMSleKFM+Pj44fF88PDI0KV4oUz4+Pjd8Xzw8MjUpKSx4Kz1BPj4+MTYsSSs9NjU1MzUmKFQ9KF8+Pj4xfFM8PDMxKV4oXz4+Pjh8Uzw8MjQpXl8+Pj43KSxPKz1UPj4+MTYsXz1OWyh3KzE0KSUxNl0seCs9KEE9KChTPVBbKHcrMTQpJTE2XSk+Pj4xOXxfPDwxMyleKF8+Pj4yOXxTPDwzKV4oUz4+PjZ8Xzw8MjYpKT4+PjE2LEkrPTY1NTM1JihUPShfPj4+MTl8Uzw8MTMpXihTPj4+Mjl8Xzw8MyleXz4+PjYpLE8rPVQ+Pj4xNixPKz0oSSs9KHgrPShDKz02NTUzNSZBKT4+PjE2KT4+PjE2KT4+PjE2LE5bd109NjU1MzUmSXxPPDwxNixQW3ddPTY1NTM1JkN8eDw8MTY7Qz02NTUzNSYoQT1WKSx4PUE+Pj4xNixJPTY1NTM1JihUPVIpLE89VD4+PjE2LFQ9ZVswXSx4Kz0oQT10WzBdKT4+PjE2LEkrPTY1NTM1JlQsTys9VD4+PjE2LE8rPShJKz0oeCs9KEMrPTY1NTM1JkEpPj4+MTYpPj4+MTYpPj4+MTYsZVswXT1SPTY1NTM1Jkl8Tzw8MTYsdFswXT1WPTY1NTM1JkN8eDw8MTYsQz02NTUzNSYoQT1xKSx4PUE+Pj4xNixJPTY1NTM1JihUPUIpLE89VD4+PjE2LFQ9ZVsxXSx4Kz0oQT10WzFdKT4+PjE2LEkrPTY1NTM1JlQsTys9VD4+PjE2LE8rPShJKz0oeCs9KEMrPTY1NTM1JkEpPj4+MTYpPj4+MTYpPj4+MTYsZVsxXT1CPTY1NTM1Jkl8Tzw8MTYsdFsxXT1xPTY1NTM1JkN8eDw8MTYsQz02NTUzNSYoQT1LKSx4PUE+Pj4xNixJPTY1NTM1JihUPU0pLE89VD4+PjE2LFQ9ZVsyXSx4Kz0oQT10WzJdKT4+PjE2LEkrPTY1NTM1JlQsTys9VD4+PjE2LE8rPShJKz0oeCs9KEMrPTY1NTM1JkEpPj4+MTYpPj4+MTYpPj4+MTYsZVsyXT1NPTY1NTM1Jkl8Tzw8MTYsdFsyXT1LPTY1NTM1JkN8eDw8MTYsQz02NTUzNSYoQT16KSx4PUE+Pj4xNixJPTY1NTM1JihUPUwpLE89VD4+PjE2LFQ9ZVszXSx4Kz0oQT10WzNdKT4+PjE2LEkrPTY1NTM1JlQsTys9VD4+PjE2LE8rPShJKz0oeCs9KEMrPTY1NTM1JkEpPj4+MTYpPj4+MTYpPj4+MTYsZVszXT1MPTY1NTM1Jkl8Tzw8MTYsdFszXT16PTY1NTM1JkN8eDw8MTYsQz02NTUzNSYoQT1HKSx4PUE+Pj4xNixJPTY1NTM1JihUPUQpLE89VD4+PjE2LFQ9ZVs0XSx4Kz0oQT10WzRdKT4+PjE2LEkrPTY1NTM1JlQsTys9VD4+PjE2LE8rPShJKz0oeCs9KEMrPTY1NTM1JkEpPj4+MTYpPj4+MTYpPj4+MTYsZVs0XT1EPTY1NTM1Jkl8Tzw8MTYsdFs0XT1HPTY1NTM1JkN8eDw8MTYsQz02NTUzNSYoQT1IKSx4PUE+Pj4xNixJPTY1NTM1JihUPWopLE89VD4+PjE2LFQ9ZVs1XSx4Kz0oQT10WzVdKT4+PjE2LEkrPTY1NTM1JlQsTys9VD4+PjE2LE8rPShJKz0oeCs9KEMrPTY1NTM1JkEpPj4+MTYpPj4+MTYpPj4+MTYsZVs1XT1qPTY1NTM1Jkl8Tzw8MTYsdFs1XT1IPTY1NTM1JkN8eDw8MTYsQz02NTUzNSYoQT1XKSx4PUE+Pj4xNixJPTY1NTM1JihUPVUpLE89VD4+PjE2LFQ9ZVs2XSx4Kz0oQT10WzZdKT4+PjE2LEkrPTY1NTM1JlQsTys9VD4+PjE2LE8rPShJKz0oeCs9KEMrPTY1NTM1JkEpPj4+MTYpPj4+MTYpPj4+MTYsZVs2XT1VPTY1NTM1Jkl8Tzw8MTYsdFs2XT1XPTY1NTM1JkN8eDw8MTYsQz02NTUzNSYoQT1ZKSx4PUE+Pj4xNixJPTY1NTM1JihUPUYpLE89VD4+PjE2LFQ9ZVs3XSx4Kz0oQT10WzddKT4+PjE2LEkrPTY1NTM1JlQsTys9VD4+PjE2LE8rPShJKz0oeCs9KEMrPTY1NTM1JkEpPj4+MTYpPj4+MTYpPj4+MTYsZVs3XT1GPTY1NTM1Jkl8Tzw8MTYsdFs3XT1ZPTY1NTM1JkN8eDw8MTYsWCs9MTI4LG4tPTEyOH1yZXR1cm4gbn1mdW5jdGlvbiBOKGUsdCxyKXt2YXIgbixpPW5ldyBJbnQzMkFycmF5KDgpLG89bmV3IEludDMyQXJyYXkoOCksYT1uZXcgVWludDhBcnJheSgyNTYpLHM9cjtmb3IoaVswXT0xNzc5MDMzNzAzLGlbMV09MzE0NDEzNDI3NyxpWzJdPTEwMTM5MDQyNDIsaVszXT0yNzczNDgwNzYyLGlbNF09MTM1OTg5MzExOSxpWzVdPTI2MDA4MjI5MjQsaVs2XT01Mjg3MzQ2MzUsaVs3XT0xNTQxNDU5MjI1LG9bMF09NDA4OTIzNTcyMCxvWzFdPTIyMjc4NzM1OTUsb1syXT00MjcxMTc1NzIzLG9bM109MTU5NTc1MDEyOSxvWzRdPTI5MTc1NjUxMzcsb1s1XT03MjU1MTExOTksb1s2XT00MjE1Mzg5NTQ3LG9bN109MzI3MDMzMjA5LE8oaSxvLHQsciksciU9MTI4LG49MDtuPHI7bisrKWFbbl09dFtzLXIrbl07Zm9yKGFbcl09MTI4LGFbKHI9MjU2LTEyOCoocjwxMTI/MTowKSktOV09MCxkKGEsci04LHMvNTM2ODcwOTEyfDAsczw8MyksTyhpLG8sYSxyKSxuPTA7bjw4O24rKylkKGUsOCpuLGlbbl0sb1tuXSk7cmV0dXJuIDB9ZnVuY3Rpb24gUChlLHQpe3ZhciByPWkoKSxuPWkoKSxvPWkoKSxhPWkoKSxzPWkoKSx1PWkoKSxjPWkoKSxsPWkoKSxoPWkoKTtUKHIsZVsxXSxlWzBdKSxUKGgsdFsxXSx0WzBdKSxBKHIscixoKSx3KG4sZVswXSxlWzFdKSx3KGgsdFswXSx0WzFdKSxBKG4sbixoKSxBKG8sZVszXSx0WzNdKSxBKG8sbyxmKSxBKGEsZVsyXSx0WzJdKSx3KGEsYSxhKSxUKHMsbixyKSxUKHUsYSxvKSx3KGMsYSxvKSx3KGwsbixyKSxBKGVbMF0scyx1KSxBKGVbMV0sbCxjKSxBKGVbMl0sYyx1KSxBKGVbM10scyxsKX1mdW5jdGlvbiBSKGUsdCxyKXtmb3IodmFyIG49MDtuPDQ7bisrKW0oZVtuXSx0W25dLHIpfWZ1bmN0aW9uIEIoZSx0KXt2YXIgcj1pKCksbj1pKCksbz1pKCk7eChvLHRbMl0pLEEocix0WzBdLG8pLEEobix0WzFdLG8pLGIoZSxuKSxlWzMxXV49UyhyKTw8N31mdW5jdGlvbiBNKGUsdCxyKXt2YXIgbixpO2ZvcihnKGVbMF0sYSksZyhlWzFdLHMpLGcoZVsyXSxzKSxnKGVbM10sYSksaT0yNTU7aT49MDstLWkpUihlLHQsbj1yW2kvOHwwXT4+KDcmaSkmMSksUCh0LGUpLFAoZSxlKSxSKGUsdCxuKX1mdW5jdGlvbiBMKGUsdCl7dmFyIHI9W2koKSxpKCksaSgpLGkoKV07ZyhyWzBdLGwpLGcoclsxXSxoKSxnKHJbMl0scyksQShyWzNdLGwsaCksTShlLHIsdCl9dmFyIEQ9bmV3IEZsb2F0NjRBcnJheShbMjM3LDIxMSwyNDUsOTIsMjYsOTksMTgsODgsMjE0LDE1NiwyNDcsMTYyLDIyMiwyNDksMjIyLDIwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDE2XSk7ZnVuY3Rpb24gaihlLHQpe3ZhciByLG4saSxvO2ZvcihuPTYzO24+PTMyOy0tbil7Zm9yKHI9MCxpPW4tMzIsbz1uLTEyO2k8bzsrK2kpdFtpXSs9ci0xNip0W25dKkRbaS0obi0zMildLHI9dFtpXSsxMjg+PjgsdFtpXS09MjU2KnI7dFtpXSs9cix0W25dPTB9Zm9yKHI9MCxpPTA7aTwzMjtpKyspdFtpXSs9ci0odFszMV0+PjQpKkRbaV0scj10W2ldPj44LHRbaV0mPTI1NTtmb3IoaT0wO2k8MzI7aSsrKXRbaV0tPXIqRFtpXTtmb3Iobj0wO248MzI7bisrKXRbbisxXSs9dFtuXT4+OCxlW25dPTI1NSZ0W25dfWZ1bmN0aW9uIFUoZSl7dmFyIHQscj1uZXcgRmxvYXQ2NEFycmF5KDY0KTtmb3IodD0wO3Q8NjQ7dCsrKXJbdF09ZVt0XTtmb3IodD0wO3Q8NjQ7dCsrKWVbdF09MDtqKGUscil9ZnVuY3Rpb24gRihlLHQscixuLG8pe2Zvcih2YXIgYT1uZXcgVWludDhBcnJheSg2NCkscz1baSgpLGkoKSxpKCksaSgpXSx1PTA7dTwzMjt1KyspYVt1XT1uW3VdO2FbMF0mPTI0OCxhWzMxXSY9MTI3LGFbMzFdfD02NCxMKHMsYSksQihhLnN1YmFycmF5KDMyKSxzKTt2YXIgYyxmPTEyOCZhWzYzXTtyZXR1cm4gYz1vP2Z1bmN0aW9uKGUsdCxyLG4sbyl7bmV3IFVpbnQ4QXJyYXkoNjQpO3ZhciBhLHMsdT1uZXcgVWludDhBcnJheSg2NCksYz1uZXcgVWludDhBcnJheSg2NCksZj1uZXcgRmxvYXQ2NEFycmF5KDY0KSxsPVtpKCksaSgpLGkoKSxpKCldO2ZvcihlWzBdPTI1NCxhPTE7YTwzMjthKyspZVthXT0yNTU7Zm9yKGE9MDthPDMyO2ErKyllWzMyK2FdPW5bYV07Zm9yKGE9MDthPHI7YSsrKWVbNjQrYV09dFthXTtmb3IoYT0wO2E8NjQ7YSsrKWVbcis2NCthXT1vW2FdO2ZvcihOKGMsZSxyKzEyOCksVShjKSxMKGwsYyksQihlLGwpLGE9MDthPDMyO2ErKyllW2ErMzJdPW5bMzIrYV07Zm9yKE4odSxlLHIrNjQpLFUodSksYT0wO2E8NjQ7YSsrKWVbcis2NCthXT0wO2ZvcihhPTA7YTw2NDthKyspZlthXT0wO2ZvcihhPTA7YTwzMjthKyspZlthXT1jW2FdO2ZvcihhPTA7YTwzMjthKyspZm9yKHM9MDtzPDMyO3MrKylmW2Erc10rPXVbYV0qbltzXTtyZXR1cm4gaihlLnN1YmFycmF5KDMyLHIrNjQpLGYpLHIrNjR9KGUsdCxyLGEsbyk6ZnVuY3Rpb24oZSx0LHIsbil7bmV3IFVpbnQ4QXJyYXkoNjQpO3ZhciBvLGEscz1uZXcgVWludDhBcnJheSg2NCksdT1uZXcgVWludDhBcnJheSg2NCksYz1uZXcgRmxvYXQ2NEFycmF5KDY0KSxmPVtpKCksaSgpLGkoKSxpKCldO2ZvcihvPTA7bzxyO28rKyllWzY0K29dPXRbb107Zm9yKG89MDtvPDMyO28rKyllWzMyK29dPW5bb107Zm9yKE4odSxlLnN1YmFycmF5KDMyKSxyKzMyKSxVKHUpLEwoZix1KSxCKGUsZiksbz0wO288MzI7bysrKWVbbyszMl09blszMitvXTtmb3IoTihzLGUscis2NCksVShzKSxvPTA7bzw2NDtvKyspY1tvXT0wO2ZvcihvPTA7bzwzMjtvKyspY1tvXT11W29dO2ZvcihvPTA7bzwzMjtvKyspZm9yKGE9MDthPDMyO2ErKyljW28rYV0rPXNbb10qblthXTtyZXR1cm4gaihlLnN1YmFycmF5KDMyKSxjKSxyKzY0fShlLHQscixhKSxlWzYzXXw9ZixjfWZ1bmN0aW9uIFYoZSx0KXt2YXIgcj1pKCksbj1pKCksbz1pKCksdT1pKCksZj1pKCksbD1pKCksaD1pKCk7cmV0dXJuIGcoZVsyXSxzKSxFKGVbMV0sdCksQyhvLGVbMV0pLEEodSxvLGMpLFQobyxvLGVbMl0pLHcodSxlWzJdLHUpLEMoZix1KSxDKGwsZiksQShoLGwsZiksQShyLGgsbyksQShyLHIsdSksZnVuY3Rpb24oZSx0KXt2YXIgcixuPWkoKTtmb3Iocj0wO3I8MTY7cisrKW5bcl09dFtyXTtmb3Iocj0yNTA7cj49MDtyLS0pQyhuLG4pLDEhPT1yJiZBKG4sbix0KTtmb3Iocj0wO3I8MTY7cisrKWVbcl09bltyXX0ocixyKSxBKHIscixvKSxBKHIscix1KSxBKHIscix1KSxBKGVbMF0scix1KSxDKG4sZVswXSksQShuLG4sdSksXyhuLG8pJiZBKGVbMF0sZVswXSxwKSxDKG4sZVswXSksQShuLG4sdSksXyhuLG8pPy0xOihTKGVbMF0pPT09dFszMV0+PjcmJlQoZVswXSxhLGVbMF0pLEEoZVszXSxlWzBdLGVbMV0pLDApfWZ1bmN0aW9uIHEoZSx0LHIsbil7dmFyIG89ZnVuY3Rpb24oZSl7dmFyIHQ9bmV3IFVpbnQ4QXJyYXkoMzIpLHI9aSgpLG49aSgpLG89aSgpO3JldHVybiBFKHIsZSksdyhuLHIscyksVChvLHIscykseChuLG4pLEEobixuLG8pLGIodCxuKSx0fShuKTtyZXR1cm4gb1szMV18PTEyOCZ0WzYzXSx0WzYzXSY9MTI3LGZ1bmN0aW9uKGUsdCxyLG4pe3ZhciBvLGE9bmV3IFVpbnQ4QXJyYXkoMzIpLHM9bmV3IFVpbnQ4QXJyYXkoNjQpLHU9W2koKSxpKCksaSgpLGkoKV0sYz1baSgpLGkoKSxpKCksaSgpXTtpZihyPDY0KXJldHVybi0xO2lmKFYoYyxuKSlyZXR1cm4tMTtmb3Iobz0wO288cjtvKyspZVtvXT10W29dO2ZvcihvPTA7bzwzMjtvKyspZVtvKzMyXT1uW29dO2lmKE4ocyxlLHIpLFUocyksTSh1LGMscyksTChjLHQuc3ViYXJyYXkoMzIpKSxQKHUsYyksQihhLHUpLHItPTY0LHkodCwwLGEsMCkpe2ZvcihvPTA7bzxyO28rKyllW29dPTA7cmV0dXJuLTF9Zm9yKG89MDtvPHI7bysrKWVbb109dFtvKzY0XTtyZXR1cm4gcn0oZSx0LHIsbyl9ZnVuY3Rpb24gSygpe2Zvcih2YXIgZSx0LHI9W10sbj0wO248YXJndW1lbnRzLmxlbmd0aDtuKyspcltuXT1hcmd1bWVudHNbbl07Zm9yKHQ9MDt0PGFyZ3VtZW50cy5sZW5ndGg7dCsrKWlmKCJbb2JqZWN0IFVpbnQ4QXJyYXldIiE9PShlPU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChhcmd1bWVudHNbdF0pKSl0aHJvdyBuZXcgVHlwZUVycm9yKCJ1bmV4cGVjdGVkIHR5cGUgIitlKyIsIHVzZSBVaW50OEFycmF5Iil9bi5zaGFyZWRLZXk9ZnVuY3Rpb24oZSx0KXtpZihLKHQsZSksMzIhPT10Lmxlbmd0aCl0aHJvdyBuZXcgRXJyb3IoIndyb25nIHB1YmxpYyBrZXkgbGVuZ3RoIik7aWYoMzIhPT1lLmxlbmd0aCl0aHJvdyBuZXcgRXJyb3IoIndyb25nIHNlY3JldCBrZXkgbGVuZ3RoIik7dmFyIHI9bmV3IFVpbnQ4QXJyYXkoMzIpO3JldHVybiBJKHIsZSx0KSxyfSxuLnNpZ25NZXNzYWdlPWZ1bmN0aW9uKGUsdCxyKXtpZihLKHQsZSksMzIhPT1lLmxlbmd0aCl0aHJvdyBuZXcgRXJyb3IoIndyb25nIHNlY3JldCBrZXkgbGVuZ3RoIik7aWYocil7aWYoSyhyKSw2NCE9PXIubGVuZ3RoKXRocm93IG5ldyBFcnJvcigid3JvbmcgcmFuZG9tIGRhdGEgbGVuZ3RoIik7dmFyIG49bmV3IFVpbnQ4QXJyYXkoMTI4K3QubGVuZ3RoKTtyZXR1cm4gRihuLHQsdC5sZW5ndGgsZSxyKSxuZXcgVWludDhBcnJheShuLnN1YmFycmF5KDAsNjQrdC5sZW5ndGgpKX12YXIgaT1uZXcgVWludDhBcnJheSg2NCt0Lmxlbmd0aCk7cmV0dXJuIEYoaSx0LHQubGVuZ3RoLGUpLGl9LG4ub3Blbk1lc3NhZ2U9ZnVuY3Rpb24oZSx0KXtpZihLKHQsZSksMzIhPT1lLmxlbmd0aCl0aHJvdyBuZXcgRXJyb3IoIndyb25nIHB1YmxpYyBrZXkgbGVuZ3RoIik7dmFyIHI9bmV3IFVpbnQ4QXJyYXkodC5sZW5ndGgpLG49cShyLHQsdC5sZW5ndGgsZSk7aWYobjwwKXJldHVybiBudWxsO2Zvcih2YXIgaT1uZXcgVWludDhBcnJheShuKSxvPTA7bzxpLmxlbmd0aDtvKyspaVtvXT1yW29dO3JldHVybiBpfSxuLnNpZ249ZnVuY3Rpb24oZSx0LHIpe2lmKEsoZSx0KSwzMiE9PWUubGVuZ3RoKXRocm93IG5ldyBFcnJvcigid3Jvbmcgc2VjcmV0IGtleSBsZW5ndGgiKTtpZihyJiYoSyhyKSw2NCE9PXIubGVuZ3RoKSl0aHJvdyBuZXcgRXJyb3IoIndyb25nIHJhbmRvbSBkYXRhIGxlbmd0aCIpO3ZhciBuPW5ldyBVaW50OEFycmF5KChyPzEyODo2NCkrdC5sZW5ndGgpO0Yobix0LHQubGVuZ3RoLGUscik7Zm9yKHZhciBpPW5ldyBVaW50OEFycmF5KDY0KSxvPTA7bzxpLmxlbmd0aDtvKyspaVtvXT1uW29dO3JldHVybiBpfSxuLnZlcmlmeT1mdW5jdGlvbihlLHQscil7aWYoSyh0LHIsZSksNjQhPT1yLmxlbmd0aCl0aHJvdyBuZXcgRXJyb3IoIndyb25nIHNpZ25hdHVyZSBsZW5ndGgiKTtpZigzMiE9PWUubGVuZ3RoKXRocm93IG5ldyBFcnJvcigid3JvbmcgcHVibGljIGtleSBsZW5ndGgiKTt2YXIgbixpPW5ldyBVaW50OEFycmF5KDY0K3QubGVuZ3RoKSxvPW5ldyBVaW50OEFycmF5KDY0K3QubGVuZ3RoKTtmb3Iobj0wO248NjQ7bisrKWlbbl09cltuXTtmb3Iobj0wO248dC5sZW5ndGg7bisrKWlbbis2NF09dFtuXTtyZXR1cm4gcShvLGksaS5sZW5ndGgsZSk+PTB9LG4uZ2VuZXJhdGVLZXlQYWlyPWZ1bmN0aW9uKGUpe2lmKEsoZSksMzIhPT1lLmxlbmd0aCl0aHJvdyBuZXcgRXJyb3IoIndyb25nIHNlZWQgbGVuZ3RoIik7Zm9yKHZhciB0PW5ldyBVaW50OEFycmF5KDMyKSxyPW5ldyBVaW50OEFycmF5KDMyKSxuPTA7bjwzMjtuKyspdFtuXT1lW25dO3JldHVybiBJKHIsdCxvKSx0WzBdJj0yNDgsdFszMV0mPTEyNyx0WzMxXXw9NjQsclszMV0mPTEyNyx7cHVibGljOnIscHJpdmF0ZTp0fX0sdC5kZWZhdWx0PW59LGZ1bmN0aW9uKGUsdCxyKXsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBuPXIoMjM1KSxpPXIoOTEpLG89cigzMSksYT1yKDIzNyk7dC5XQVZFU19JRD0iV0FWRVMiO3ZhciBzPW8ubGlicy5jcnlwdG8sdT1zLnN0cmluZ1RvQnl0ZXMsYz1zLmJhc2U1OEVuY29kZSxmPWZ1bmN0aW9uKGUpe3JldHVybiBlPT09dC5XQVZFU19JRD8iIjplfTshZnVuY3Rpb24oZSl7dmFyIHI7ZnVuY3Rpb24gbyhlLHQscil7cmV0dXJuImZ1bmN0aW9uIiE9dHlwZW9mIHI/e2Zyb206ZSx0bzp0LGNiOmZ1bmN0aW9uKCl7cmV0dXJuIHJ9fTp7ZnJvbTplLHRvOnQsY2I6cn19ZnVuY3Rpb24gcyhlKXtyZXR1cm4gZT09PXQuV0FWRVNfSUQ/IiI6ZX0hZnVuY3Rpb24oZSl7ZnVuY3Rpb24gdChlKXtzd2l0Y2godHlwZW9mIGUpe2Nhc2Uic3RyaW5nIjpjYXNlIm51bWJlciI6cmV0dXJuIG5ldyBpLkJpZ051bWJlcihlKTtjYXNlIm9iamVjdCI6cmV0dXJuIGUgaW5zdGFuY2VvZiBpLkJpZ051bWJlcj9lOmUuZ2V0Q29pbnMoKX19ZnVuY3Rpb24gcihlKXtyZXR1cm4gcyhlLmFzc2V0LmlkKX1lLmNhbGxGdW5jPWZ1bmN0aW9uKGUpe3JldHVybiBlP3tmdW5jdGlvbjplJiZlLmZ1bmN0aW9ufHwiIixhcmdzOmUmJmUuYXJnc3x8W119Om51bGx9LGUucGF5bWVudHM9ZnVuY3Rpb24oZSl7cmV0dXJuKGV8fFtdKS5tYXAoZnVuY3Rpb24oZSl7cmV0dXJue2Ftb3VudDp0KGUpLnRvU3RyaW5nKCksYXNzZXRJZDpyKGUpfX0pfSxlLnBheW1lbnRzVG9Ob2RlPWZ1bmN0aW9uKGUpe3JldHVybihlfHxbXSkubWFwKGZ1bmN0aW9uKGUpe3JldHVybnthbW91bnQ6dChlKSxhc3NldElkOnIoZSl8fG51bGx9fSl9LGUuc2NyaXB0UHJvY2Vzc29yPWZ1bmN0aW9uKGUpe3JldHVybihlfHwiIikucmVwbGFjZSgiYmFzZTY0OiIsIiIpP2U6bnVsbH0sZS5hc3NldFBhaXI9ZnVuY3Rpb24oZSl7cmV0dXJue2Ftb3VudEFzc2V0OmYoZS5hbW91bnQuYXNzZXQuaWQpLHByaWNlQXNzZXQ6ZihlLnByaWNlLmFzc2V0LmlkKX19LGUuc2lnbmF0dXJlRnJvbVByb29mPWZ1bmN0aW9uKGUpe3JldHVybiBlWzBdfSxlLnRvQmlnTnVtYmVyPXQsZS50b051bWJlclN0cmluZz1mdW5jdGlvbihlKXtyZXR1cm4gdChlKS50b1N0cmluZygpfSxlLnRvU3BvbnNvcnNoaXBGZWU9ZnVuY3Rpb24oZSl7dmFyIHQ9ZS5nZXRDb2lucygpO3JldHVybiB0LmVxKDApP251bGw6dH0sZS5tb25leVRvQXNzZXRJZD1mdW5jdGlvbihlKXtyZXR1cm4gZS5hc3NldC5pZH0sZS5tb25leVRvTm9kZUFzc2V0SWQ9cixlLnRpbWVzdGFtcD1mdW5jdGlvbihlKXtyZXR1cm4rZXx8InN0cmluZyIhPT10eXBlb2YgZT9lJiZlIGluc3RhbmNlb2YgRGF0ZT9lLmdldFRpbWUoKTplOkRhdGUucGFyc2UoZSl9LGUub3JTdHJpbmc9ZnVuY3Rpb24oZSl7cmV0dXJuIGV8fCIifSxlLm5vUHJvY2Vzcz1mdW5jdGlvbihlKXtyZXR1cm4gZX0sZS5yZWNpcGllbnQ9ZnVuY3Rpb24oZSl7cmV0dXJuIGZ1bmN0aW9uKHQpe3JldHVybiB0Lmxlbmd0aDw9MzA/ImFsaWFzOiIrZSsiOiIrdDp0fX0sZS5hdHRhY2htZW50PWZ1bmN0aW9uKGUpe3ZhciB0PWU9ZXx8IiI7cmV0dXJuInN0cmluZyI9PT10eXBlb2YgZSYmKHQ9dShlKSksYyhVaW50OEFycmF5LmZyb20odCkpfSxlLmFkZFZhbHVlPWZ1bmN0aW9uKGUpe3JldHVybiJmdW5jdGlvbiI9PT10eXBlb2YgZT9lOmZ1bmN0aW9uKCl7cmV0dXJuIGV9fSxlLmV4cGlyYXRpb249ZnVuY3Rpb24oZSl7cmV0dXJuIGV8fChuZXcgRGF0ZSkuc2V0RGF0ZSgobmV3IERhdGUpLmdldERhdGUoKSsyMCl9LGUudHJhbnNmZXJzPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIGZ1bmN0aW9uKHIpe3JldHVybiByLm1hcChmdW5jdGlvbihyKXtyZXR1cm57cmVjaXBpZW50OmUoci5yZWNpcGllbnQpLGFtb3VudDp0KHIuYW1vdW50KX19KX19LGUucXVhbnRpdHk9ZnVuY3Rpb24oZSl7cmV0dXJuIG5ldyBpLkJpZ051bWJlcihlLnF1YW50aXR5KS5tdWwobmV3IGkuQmlnTnVtYmVyKDEwKS5wb3coZS5wcmVjaXNpb24pKX0sZS5iYXNlNjQ9ZnVuY3Rpb24oZSl7cmV0dXJuKGV8fCIiKS5yZXBsYWNlKCJiYXNlNjQ6IiwiIil9LGUudG9PcmRlclByaWNlPWZ1bmN0aW9uKGUpe3ZhciB0PW5ldyBuLkFzc2V0UGFpcihlLmFtb3VudC5hc3NldCxlLnByaWNlLmFzc2V0KTtyZXR1cm4gbi5PcmRlclByaWNlLmZyb21Ub2tlbnMoZS5wcmljZS50b1Rva2VucygpLHQpLmdldE1hdGNoZXJDb2lucygpfX0ocj1lLnByb2Nlc3NvcnN8fChlLnByb2Nlc3NvcnM9e30pKSxlLndyYXA9byxlLnNjaGVtYT1mdW5jdGlvbigpe2Zvcih2YXIgZT1bXSx0PTA7dDxhcmd1bWVudHMubGVuZ3RoO3QrKyllW3RdPWFyZ3VtZW50c1t0XTtyZXR1cm4gZnVuY3Rpb24odCl7cmV0dXJuIGUubWFwKGZ1bmN0aW9uKGUpe3JldHVybiJzdHJpbmciPT09dHlwZW9mIGU/e2tleTplLHZhbHVlOnIubm9Qcm9jZXNzKHRbZV0pfTp7a2V5OmUudG8sdmFsdWU6ZS5jYihlLmZyb20/dFtlLmZyb21dOnQpfX0pLnJlZHVjZShmdW5jdGlvbihlLHQpe3JldHVybiBlW3Qua2V5XT10LnZhbHVlLGV9LE9iamVjdC5jcmVhdGUobnVsbCkpfX0sZS5zaWduU2NoZW1hPWZ1bmN0aW9uKGUpe3JldHVybiBmdW5jdGlvbih0LG4pe3ZvaWQgMD09PW4mJihuPSExKTt2YXIgaT1bXSxzPWUubWFwKGZ1bmN0aW9uKGUpe3ZhciBzPW8oZS5uYW1lLGUuZmllbGQsZS5wcm9jZXNzb3J8fHIubm9Qcm9jZXNzKSx1PXtrZXk6cy50byx2YWx1ZTpzLmZyb20/dFtzLmZyb21dOnQsb3B0aW9uYWw6ZS5vcHRpb25hbCxvcHRpb25hbERhdGE6ZS5vcHRpb25hbERhdGEsdHlwZTplLnR5cGUsbmFtZTplLm5hbWV9LGM9YS5WQUxJREFUT1JTW3UudHlwZV07dHJ5e3JldHVybiBuJiZjJiZjKHUpLHtrZXk6dS5rZXksdmFsdWU6cy5jYih1LnZhbHVlKX19Y2F0Y2goZil7aS5wdXNoKGYpfXJldHVybntrZXk6dS5rZXksdmFsdWU6bnVsbH19KS5yZWR1Y2UoZnVuY3Rpb24oZSx0KXt2YXIgcj10LmtleSxuPXQudmFsdWU7cmV0dXJuIGVbcl09bixlfSxPYmplY3QuY3JlYXRlKG51bGwpKTtpZihpLmxlbmd0aCl0aHJvdyBuZXcgRXJyb3IoSlNPTi5zdHJpbmdpZnkoaSkpO3JldHVybiBzfX0sZS5pZFRvTm9kZT1zfSh0LnByZXBhcmV8fCh0LnByZXBhcmU9e30pKX0sZnVuY3Rpb24oZSx0LHIpeyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkodCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIG49cig5MSk7dC50b0JpZ051bWJlcj1mdW5jdGlvbihlKXtyZXR1cm4gZSBpbnN0YW5jZW9mIG4uQmlnTnVtYmVyP2U6bmV3IG4uQmlnTnVtYmVyKGUpfX0sZnVuY3Rpb24oZSx0LHIpeyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkodCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIG49cigzOTcpLGk9ZnVuY3Rpb24oKXtmdW5jdGlvbiBlKHQpe3Q9InN0cmluZyI9PT10eXBlb2YgdD90LmNoYXJDb2RlQXQoMCk6dCx0aGlzLnR5cGU9dGhpcy5jb25zdHJ1Y3Rvci50eXBlLHRoaXMuX2NvZGU9dHx8ZS5fY29kZXx8IlciLmNoYXJDb2RlQXQoMCl9cmV0dXJuIGUucHJvdG90eXBlLm1ha2VTaWduYWJsZT1mdW5jdGlvbihlKXtyZXR1cm4gbmV3IG4uU2lnbmFibGUoZSx0aGlzKX0sZS5wcm90b3R5cGUuaXNBdmFpbGFibGU9ZnVuY3Rpb24oKXtyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCl9LGUucHJvdG90eXBlLm9uRGVzdHJveT1mdW5jdGlvbihlKXt9LGUucHJvdG90eXBlLmdldE5ldHdvcmtCeXRlPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2NvZGV8fGUuX2NvZGV9LGUuaW5pdE9wdGlvbnM9ZnVuY3Rpb24odCl7ZS5fY29kZT10Lm5ldHdvcmtDb2RlfSxlLmdldFVzZXJMaXN0PWZ1bmN0aW9uKCl7cmV0dXJuIFByb21pc2UucmVzb2x2ZShbXSl9LGUuaXNBdmFpbGFibGU9ZnVuY3Rpb24oKXtyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCExKX0sZS50eXBlPSJzZWVkIixlfSgpO3QuQWRhcHRlcj1pfSxmdW5jdGlvbihlLHQscil7dmFyIG49cig3MTkpO2UuZXhwb3J0cz1mdW5jdGlvbihlLHQscil7aWYobihlKSx2b2lkIDA9PT10KXJldHVybiBlO3N3aXRjaChyKXtjYXNlIDA6cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIGUuY2FsbCh0KX07Y2FzZSAxOnJldHVybiBmdW5jdGlvbihyKXtyZXR1cm4gZS5jYWxsKHQscil9O2Nhc2UgMjpyZXR1cm4gZnVuY3Rpb24ocixuKXtyZXR1cm4gZS5jYWxsKHQscixuKX07Y2FzZSAzOnJldHVybiBmdW5jdGlvbihyLG4saSl7cmV0dXJuIGUuY2FsbCh0LHIsbixpKX19cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIGUuYXBwbHkodCxhcmd1bWVudHMpfX19LGZ1bmN0aW9uKGUsdCxyKXt2YXIgbj1yKDIzOSk7ZS5leHBvcnRzPWZ1bmN0aW9uKGUpe3JldHVybiBPYmplY3QobihlKSl9fSxmdW5jdGlvbihlLHQscil7dmFyIG49cigzMyksaT1yKDI0Miksbz1uWyJfX2NvcmUtanNfc2hhcmVkX18iXXx8aSgiX19jb3JlLWpzX3NoYXJlZF9fIix7fSk7KGUuZXhwb3J0cz1mdW5jdGlvbihlLHQpe3JldHVybiBvW2VdfHwob1tlXT12b2lkIDAhPT10P3Q6e30pfSkoInZlcnNpb25zIixbXSkucHVzaCh7dmVyc2lvbjoiMy4wLjEiLG1vZGU6cigxNzUpPyJwdXJlIjoiZ2xvYmFsIixjb3B5cmlnaHQ6Ilx4YTkgMjAxOSBEZW5pcyBQdXNoa2FyZXYgKHpsb2lyb2NrLnJ1KSJ9KX0sZnVuY3Rpb24oZSx0KXtlLmV4cG9ydHM9ZnVuY3Rpb24oZSx0KXtyZXR1cm57ZW51bWVyYWJsZTohKDEmZSksY29uZmlndXJhYmxlOiEoMiZlKSx3cml0YWJsZTohKDQmZSksdmFsdWU6dH19fSxmdW5jdGlvbihlLHQpe2UuZXhwb3J0cz0hMX0sZnVuY3Rpb24oZSx0LHIpe3ZhciBuPXIoMjM4KSxpPXIoMjM5KTtlLmV4cG9ydHM9ZnVuY3Rpb24oZSl7cmV0dXJuIG4oaShlKSl9fSxmdW5jdGlvbihlLHQscil7dmFyIG49cigxNDApLmYsaT1yKDU3KSxvPXIoNTMpKCJ0b1N0cmluZ1RhZyIpO2UuZXhwb3J0cz1mdW5jdGlvbihlLHQscil7ZSYmIWkoZT1yP2U6ZS5wcm90b3R5cGUsbykmJm4oZSxvLHtjb25maWd1cmFibGU6ITAsdmFsdWU6dH0pfX0sZnVuY3Rpb24oZSx0LHIpe3ZhciBuPXIoMjcpLGk9cigxNyksbz1pWyJfX2NvcmUtanNfc2hhcmVkX18iXXx8KGlbIl9fY29yZS1qc19zaGFyZWRfXyJdPXt9KTsoZS5leHBvcnRzPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIG9bZV18fChvW2VdPXZvaWQgMCE9PXQ/dDp7fSl9KSgidmVyc2lvbnMiLFtdKS5wdXNoKHt2ZXJzaW9uOm4udmVyc2lvbixtb2RlOnIoOTUpPyJwdXJlIjoiZ2xvYmFsIixjb3B5cmlnaHQ6Ilx4YTkgMjAxOSBEZW5pcyBQdXNoa2FyZXYgKHpsb2lyb2NrLnJ1KSJ9KX0sZnVuY3Rpb24oZSx0LHIpe3ZhciBuPXIoNTEpLGk9cigyMyksbz1yKDk2KTtlLmV4cG9ydHM9ZnVuY3Rpb24oZSl7cmV0dXJuIGZ1bmN0aW9uKHQscixhKXt2YXIgcyx1PW4odCksYz1pKHUubGVuZ3RoKSxmPW8oYSxjKTtpZihlJiZyIT1yKXtmb3IoO2M+ZjspaWYoKHM9dVtmKytdKSE9cylyZXR1cm4hMH1lbHNlIGZvcig7Yz5mO2YrKylpZigoZXx8ZiBpbiB1KSYmdVtmXT09PXIpcmV0dXJuIGV8fGZ8fDA7cmV0dXJuIWUmJi0xfX19LGZ1bmN0aW9uKGUsdCl7dC5mPU9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHN9LGZ1bmN0aW9uKGUsdCxyKXt2YXIgbj1yKDcwKTtlLmV4cG9ydHM9QXJyYXkuaXNBcnJheXx8ZnVuY3Rpb24oZSl7cmV0dXJuIkFycmF5Ij09bihlKX19LGZ1bmN0aW9uKGUsdCxyKXt2YXIgbj1yKDIxKSgiaXRlcmF0b3IiKSxpPSExO3RyeXt2YXIgbz1bN11bbl0oKTtvLnJldHVybj1mdW5jdGlvbigpe2k9ITB9LEFycmF5LmZyb20obyxmdW5jdGlvbigpe3Rocm93IDJ9KX1jYXRjaChhKXt9ZS5leHBvcnRzPWZ1bmN0aW9uKGUsdCl7aWYoIXQmJiFpKXJldHVybiExO3ZhciByPSExO3RyeXt2YXIgbz1bN10scz1vW25dKCk7cy5uZXh0PWZ1bmN0aW9uKCl7cmV0dXJue2RvbmU6cj0hMH19LG9bbl09ZnVuY3Rpb24oKXtyZXR1cm4gc30sZShvKX1jYXRjaChhKXt9cmV0dXJuIHJ9fSxmdW5jdGlvbihlLHQscil7InVzZSBzdHJpY3QiO3ZhciBuPXIoMTIpO2UuZXhwb3J0cz1mdW5jdGlvbigpe3ZhciBlPW4odGhpcyksdD0iIjtyZXR1cm4gZS5nbG9iYWwmJih0Kz0iZyIpLGUuaWdub3JlQ2FzZSYmKHQrPSJpIiksZS5tdWx0aWxpbmUmJih0Kz0ibSIpLGUudW5pY29kZSYmKHQrPSJ1IiksZS5zdGlja3kmJih0Kz0ieSIpLHR9fSxmdW5jdGlvbihlLHQscil7InVzZSBzdHJpY3QiO3ZhciBuPXIoMTQ3KSxpPVJlZ0V4cC5wcm90b3R5cGUuZXhlYztlLmV4cG9ydHM9ZnVuY3Rpb24oZSx0KXt2YXIgcj1lLmV4ZWM7aWYoImZ1bmN0aW9uIj09PXR5cGVvZiByKXt2YXIgbz1yLmNhbGwoZSx0KTtpZigib2JqZWN0IiE9PXR5cGVvZiBvKXRocm93IG5ldyBUeXBlRXJyb3IoIlJlZ0V4cCBleGVjIG1ldGhvZCByZXR1cm5lZCBzb21ldGhpbmcgb3RoZXIgdGhhbiBhbiBPYmplY3Qgb3IgbnVsbCIpO3JldHVybiBvfWlmKCJSZWdFeHAiIT09bihlKSl0aHJvdyBuZXcgVHlwZUVycm9yKCJSZWdFeHAjZXhlYyBjYWxsZWQgb24gaW5jb21wYXRpYmxlIHJlY2VpdmVyIik7cmV0dXJuIGkuY2FsbChlLHQpfX0sZnVuY3Rpb24oZSx0LHIpeyJ1c2Ugc3RyaWN0IjtyKDQ0MSk7dmFyIG49cig0OSksaT1yKDU0KSxvPXIoMTQpLGE9cig3MSkscz1yKDIxKSx1PXIoMjcxKSxjPXMoInNwZWNpZXMiKSxmPSFvKGZ1bmN0aW9uKCl7dmFyIGU9Ly4vO3JldHVybiBlLmV4ZWM9ZnVuY3Rpb24oKXt2YXIgZT1bXTtyZXR1cm4gZS5ncm91cHM9e2E6IjcifSxlfSwiNyIhPT0iIi5yZXBsYWNlKGUsIiQ8YT4iKX0pLGw9ZnVuY3Rpb24oKXt2YXIgZT0vKD86KS8sdD1lLmV4ZWM7ZS5leGVjPWZ1bmN0aW9uKCl7cmV0dXJuIHQuYXBwbHkodGhpcyxhcmd1bWVudHMpfTt2YXIgcj0iYWIiLnNwbGl0KGUpO3JldHVybiAyPT09ci5sZW5ndGgmJiJhIj09PXJbMF0mJiJiIj09PXJbMV19KCk7ZS5leHBvcnRzPWZ1bmN0aW9uKGUsdCxyKXt2YXIgaD1zKGUpLHA9IW8oZnVuY3Rpb24oKXt2YXIgdD17fTtyZXR1cm4gdFtoXT1mdW5jdGlvbigpe3JldHVybiA3fSw3IT0iIltlXSh0KX0pLGQ9cD8hbyhmdW5jdGlvbigpe3ZhciB0PSExLHI9L2EvO3JldHVybiByLmV4ZWM9ZnVuY3Rpb24oKXtyZXR1cm4gdD0hMCxudWxsfSwic3BsaXQiPT09ZSYmKHIuY29uc3RydWN0b3I9e30sci5jb25zdHJ1Y3RvcltjXT1mdW5jdGlvbigpe3JldHVybiByfSkscltoXSgiIiksIXR9KTp2b2lkIDA7aWYoIXB8fCFkfHwicmVwbGFjZSI9PT1lJiYhZnx8InNwbGl0Ij09PWUmJiFsKXt2YXIgeT0vLi9baF0sZz1yKGEsaCwiIltlXSxmdW5jdGlvbihlLHQscixuLGkpe3JldHVybiB0LmV4ZWM9PT11P3AmJiFpP3tkb25lOiEwLHZhbHVlOnkuY2FsbCh0LHIsbil9Ontkb25lOiEwLHZhbHVlOmUuY2FsbChyLHQsbil9Ontkb25lOiExfX0pLHY9Z1swXSxtPWdbMV07bihTdHJpbmcucHJvdG90eXBlLGUsdiksaShSZWdFeHAucHJvdG90eXBlLGgsMj09dD9mdW5jdGlvbihlLHQpe3JldHVybiBtLmNhbGwoZSx0aGlzLHQpfTpmdW5jdGlvbihlKXtyZXR1cm4gbS5jYWxsKGUsdGhpcyl9KX19fSxmdW5jdGlvbihlLHQscil7dmFyIG49cig1OCksaT1yKDQzNSksbz1yKDI2NyksYT1yKDEyKSxzPXIoMjMpLHU9cigyNjkpLGM9e30sZj17fTsodD1lLmV4cG9ydHM9ZnVuY3Rpb24oZSx0LHIsbCxoKXt2YXIgcCxkLHksZyx2PWg/ZnVuY3Rpb24oKXtyZXR1cm4gZX06dShlKSxtPW4ocixsLHQ/MjoxKSxiPTA7aWYoImZ1bmN0aW9uIiE9dHlwZW9mIHYpdGhyb3cgVHlwZUVycm9yKGUrIiBpcyBub3QgaXRlcmFibGUhIik7aWYobyh2KSl7Zm9yKHA9cyhlLmxlbmd0aCk7cD5iO2IrKylpZigoZz10P20oYShkPWVbYl0pWzBdLGRbMV0pOm0oZVtiXSkpPT09Y3x8Zz09PWYpcmV0dXJuIGd9ZWxzZSBmb3IoeT12LmNhbGwoZSk7IShkPXkubmV4dCgpKS5kb25lOylpZigoZz1pKHksbSxkLnZhbHVlLHQpKT09PWN8fGc9PT1mKXJldHVybiBnfSkuQlJFQUs9Yyx0LlJFVFVSTj1mfSxmdW5jdGlvbihlLHQscil7InVzZSBzdHJpY3QiO3ZhciBuPXIoMTcpLGk9cigyKSxvPXIoNDkpLGE9cigxMTQpLHM9cig4MyksdT1yKDE4NiksYz1yKDExMyksZj1yKDEzKSxsPXIoMTQpLGg9cigxODIpLHA9cigxMDkpLGQ9cigyNTgpO2UuZXhwb3J0cz1mdW5jdGlvbihlLHQscix5LGcsdil7dmFyIG09bltlXSxiPW0sXz1nPyJzZXQiOiJhZGQiLFM9YiYmYi5wcm90b3R5cGUsRT17fSx3PWZ1bmN0aW9uKGUpe3ZhciB0PVNbZV07byhTLGUsImRlbGV0ZSI9PWU/ZnVuY3Rpb24oZSl7cmV0dXJuISh2JiYhZihlKSkmJnQuY2FsbCh0aGlzLDA9PT1lPzA6ZSl9OiJoYXMiPT1lP2Z1bmN0aW9uKGUpe3JldHVybiEodiYmIWYoZSkpJiZ0LmNhbGwodGhpcywwPT09ZT8wOmUpfToiZ2V0Ij09ZT9mdW5jdGlvbihlKXtyZXR1cm4gdiYmIWYoZSk/dm9pZCAwOnQuY2FsbCh0aGlzLDA9PT1lPzA6ZSl9OiJhZGQiPT1lP2Z1bmN0aW9uKGUpe3JldHVybiB0LmNhbGwodGhpcywwPT09ZT8wOmUpLHRoaXN9OmZ1bmN0aW9uKGUscil7cmV0dXJuIHQuY2FsbCh0aGlzLDA9PT1lPzA6ZSxyKSx0aGlzfSl9O2lmKCJmdW5jdGlvbiI9PXR5cGVvZiBiJiYodnx8Uy5mb3JFYWNoJiYhbChmdW5jdGlvbigpeyhuZXcgYikuZW50cmllcygpLm5leHQoKX0pKSl7dmFyIFQ9bmV3IGIsQT1UW19dKHY/e306LTAsMSkhPVQsQz1sKGZ1bmN0aW9uKCl7VC5oYXMoMSl9KSx4PWgoZnVuY3Rpb24oZSl7bmV3IGIoZSl9KSxJPSF2JiZsKGZ1bmN0aW9uKCl7Zm9yKHZhciBlPW5ldyBiLHQ9NTt0LS07KWVbX10odCx0KTtyZXR1cm4hZS5oYXMoLTApfSk7eHx8KChiPXQoZnVuY3Rpb24odCxyKXtjKHQsYixlKTt2YXIgbj1kKG5ldyBtLHQsYik7cmV0dXJuIHZvaWQgMCE9ciYmdShyLGcsbltfXSxuKSxufSkpLnByb3RvdHlwZT1TLFMuY29uc3RydWN0b3I9YiksKEN8fEkpJiYodygiZGVsZXRlIiksdygiaGFzIiksZyYmdygiZ2V0IikpLChJfHxBKSYmdyhfKSx2JiZTLmNsZWFyJiZkZWxldGUgUy5jbGVhcn1lbHNlIGI9eS5nZXRDb25zdHJ1Y3Rvcih0LGUsZyxfKSxhKGIucHJvdG90eXBlLHIpLHMuTkVFRD0hMDtyZXR1cm4gcChiLGUpLEVbZV09YixpKGkuRytpLlcraS5GKihiIT1tKSxFKSx2fHx5LnNldFN0cm9uZyhiLGUsZyksYn19LGZ1bmN0aW9uKGUsdCxyKXtmb3IodmFyIG4saT1yKDE3KSxvPXIoNTQpLGE9cig5NCkscz1hKCJ0eXBlZF9hcnJheSIpLHU9YSgidmlldyIpLGM9ISghaS5BcnJheUJ1ZmZlcnx8IWkuRGF0YVZpZXcpLGY9YyxsPTAsaD0iSW50OEFycmF5LFVpbnQ4QXJyYXksVWludDhDbGFtcGVkQXJyYXksSW50MTZBcnJheSxVaW50MTZBcnJheSxJbnQzMkFycmF5LFVpbnQzMkFycmF5LEZsb2F0MzJBcnJheSxGbG9hdDY0QXJyYXkiLnNwbGl0KCIsIik7bDw5Oykobj1pW2hbbCsrXV0pPyhvKG4ucHJvdG90eXBlLHMsITApLG8obi5wcm90b3R5cGUsdSwhMCkpOmY9ITE7ZS5leHBvcnRzPXtBQlY6YyxDT05TVFI6ZixUWVBFRDpzLFZJRVc6dX19LGZ1bmN0aW9uKGUsdCxyKXt2YXIgbj1yKDExNSk7ZS5leHBvcnRzPWZ1bmN0aW9uKGUpe2lmKCFuKGUpKXRocm93IFR5cGVFcnJvcihlKyIgaXMgbm90IGFuIG9iamVjdCEiKTtyZXR1cm4gZX19LGZ1bmN0aW9uKGUsdCl7dmFyIHI9e30uaGFzT3duUHJvcGVydHk7ZS5leHBvcnRzPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIHIuY2FsbChlLHQpfX0sZnVuY3Rpb24oZSx0KXt2YXIgcj1NYXRoLmNlaWwsbj1NYXRoLmZsb29yO2UuZXhwb3J0cz1mdW5jdGlvbihlKXtyZXR1cm4gaXNOYU4oZT0rZSk/MDooZT4wP246cikoZSl9fSxmdW5jdGlvbihlLHQscil7dmFyIG49cig5OTcpLGk9cig5OTgpLG89cig5OTkpLGE9cigxZTMpLHM9cigxMDAxKTtmdW5jdGlvbiB1KGUpe3ZhciB0PS0xLHI9bnVsbD09ZT8wOmUubGVuZ3RoO2Zvcih0aGlzLmNsZWFyKCk7Kyt0PHI7KXt2YXIgbj1lW3RdO3RoaXMuc2V0KG5bMF0sblsxXSl9fXUucHJvdG90eXBlLmNsZWFyPW4sdS5wcm90b3R5cGUuZGVsZXRlPWksdS5wcm90b3R5cGUuZ2V0PW8sdS5wcm90b3R5cGUuaGFzPWEsdS5wcm90b3R5cGUuc2V0PXMsZS5leHBvcnRzPXV9LGZ1bmN0aW9uKGUsdCxyKXt2YXIgbj1yKDI4OSk7ZS5leHBvcnRzPWZ1bmN0aW9uKGUsdCl7Zm9yKHZhciByPWUubGVuZ3RoO3ItLTspaWYobihlW3JdWzBdLHQpKXJldHVybiByO3JldHVybi0xfX0sZnVuY3Rpb24oZSx0LHIpe3ZhciBuPXIoMTAyKShPYmplY3QsImNyZWF0ZSIpO2UuZXhwb3J0cz1ufSxmdW5jdGlvbihlLHQscil7dmFyIG49cigxMDE5KTtlLmV4cG9ydHM9ZnVuY3Rpb24oZSx0KXt2YXIgcj1lLl9fZGF0YV9fO3JldHVybiBuKHQpP3JbInN0cmluZyI9PXR5cGVvZiB0PyJzdHJpbmciOiJoYXNoIl06ci5tYXB9fSxmdW5jdGlvbihlLHQscil7dmFyIG49cigxMDMzKSxpPXIoMTAzOSksbz1yKDExNyk7ZS5leHBvcnRzPWZ1bmN0aW9uKGUpe3JldHVybiBvKGUpP24oZSk6aShlKX19LGZ1bmN0aW9uKGUsdCxyKXt2YXIgbj1yKDExOCksaT0xLzA7ZS5leHBvcnRzPWZ1bmN0aW9uKGUpe2lmKCJzdHJpbmciPT10eXBlb2YgZXx8bihlKSlyZXR1cm4gZTt2YXIgdD1lKyIiO3JldHVybiIwIj09dCYmMS9lPT0taT8iLTAiOnR9fSxmdW5jdGlvbihlLHQscil7dmFyIG49cig0ODgpLGk9cigxMDY1KShuKTtlLmV4cG9ydHM9aX0sZnVuY3Rpb24oZSx0LHIpe3ZhciBuPXIoMjg5KSxpPXIoMTE3KSxvPXIoMjk2KSxhPXIoMzUpO2UuZXhwb3J0cz1mdW5jdGlvbihlLHQscil7aWYoIWEocikpcmV0dXJuITE7dmFyIHM9dHlwZW9mIHQ7cmV0dXJuISEoIm51bWJlciI9PXM/aShyKSYmbyh0LHIubGVuZ3RoKToic3RyaW5nIj09cyYmdCBpbiByKSYmbihyW3RdLGUpfX0sZnVuY3Rpb24oZSx0LHIpeyJ1c2Ugc3RyaWN0IjshZnVuY3Rpb24gZSgpe2lmKCJ1bmRlZmluZWQiIT09dHlwZW9mIF9fUkVBQ1RfREVWVE9PTFNfR0xPQkFMX0hPT0tfXyYmImZ1bmN0aW9uIj09PXR5cGVvZiBfX1JFQUNUX0RFVlRPT0xTX0dMT0JBTF9IT09LX18uY2hlY2tEQ0UpdHJ5e19fUkVBQ1RfREVWVE9PTFNfR0xPQkFMX0hPT0tfXy5jaGVja0RDRShlKX1jYXRjaCh0KXtjb25zb2xlLmVycm9yKHQpfX0oKSxlLmV4cG9ydHM9cig1MzgpfSxmdW5jdGlvbihlLHQscil7dmFyIG49cigxMDg3KSxpPXIoMTA4OCksbz1yKDc1KSxhPXIoOSkscz1yKDE5OSk7ZS5leHBvcnRzPWZ1bmN0aW9uKGUsdCxyKXt2YXIgdT1hKGUpP246aTtyZXR1cm4gciYmcyhlLHQscikmJih0PXZvaWQgMCksdShlLG8odCwzKSl9fSxmdW5jdGlvbihlLHQscil7InVzZSBzdHJpY3QiO3ZhciBuPXMocigxMTA0KSksaT1zKHIoMTEwOSkpLG89cyhyKDUwMCkpLGE9cyhyKDQ5NykpO2Z1bmN0aW9uIHMoZSl7cmV0dXJuIGUmJmUuX19lc01vZHVsZT9lOntkZWZhdWx0OmV9fWUuZXhwb3J0cz17VHJhbnNpdGlvbjphLmRlZmF1bHQsVHJhbnNpdGlvbkdyb3VwOm8uZGVmYXVsdCxSZXBsYWNlVHJhbnNpdGlvbjppLmRlZmF1bHQsQ1NTVHJhbnNpdGlvbjpuLmRlZmF1bHR9fSxmdW5jdGlvbihlLHQscil7dmFyIG4saT1yKDEwOTApLG89cigxMDkxKSxhPXIoMTA5Mykscz0xMDAsdT0vKFwrfFwtfFwqfFxcfFteYS16XXwpKFxzKikoXCgpL2c="
}
Changelog:
{
"2020.04.17 15:42": "base64:MDk1NjAsMzYyNDM4MTA4MCwyNzM0ODgzMzk0LDMxMDU5ODQwMSwxMTY0OTk2NTQyLDYwNzIyNTI3OCwxMzIzNjEwNzY0LDE0MjY4ODE5ODcsMzU5MDMwNDk5NCwxOTI1MDc4Mzg4LDQwNjgxODIzODMsMjE2MjA3ODIwNiw5OTEzMzYxMTMsMjYxNDg4ODEwMyw2MzM4MDMzMTcsMzI0ODIyMjU4MCwzNDc5Nzc0ODY4LDM4MzUzOTA0MDEsMjY2NjYxMzQ1OCw0MDIyMjI0Nzc0LDk0NDcxMTEzOSwyNjQzNDcwNzgsMjM0MTI2Mjc3Myw2MDQ4MDc2MjgsMjAwNzgwMDkzMyw3NzAyNTU5ODMsMTQ5NTk5MDkwMSwxMjQ5MTUwMTIyLDE4NTY0MzEyMzUsMTU1NTA4MTY5MiwzMTc1MjE4MTMyLDE5OTYwNjQ5ODYsMjE5ODk1MDgzNywyNTU0MjIwODgyLDM5OTk3MTkzMzksMjgyMTgzNDM0OSw3NjY3ODQwMTYsMjk1Mjk5NjgwOCwyNTY2NTk0ODc5LDMyMTAzMTM2NzEsMzIwMzMzNzk1NiwzMzM2NTcxODkxLDEwMzQ0NTcwMjYsMzU4NDUyODcxMSwyNDY2OTQ4OTAxLDExMzkyNjk5MywzNzU4MzI2MzgzLDMzODI0MTg5NSwxNjg3MTc5MzYsNjY2MzA3MjA1LDExODgxNzk5NjQsNzczNTI5OTEyLDE1NDYwNDU3MzQsMTI5NDc1NzM3MiwxNTIyODA1NDg1LDEzOTYxODIyOTEsMjY0MzgzMzgyMywxNjk1MTgzNzAwLDIzNDM1MjczOTAsMTk4NjY2MTA1MSwxMDE0NDc3NDgwLDIxNzcwMjYzNTAsMTIwNjc1OTE0MiwyNDU2OTU2MDM3LDM0NDA3NzYyNywyNzMwNDg1OTIxLDEyOTA4NjM0NjAsMjgyMDMwMjQxMSwzMTU4NDU0MjczLDMyNTk3MzA4MDAsMzUwNTk1MjY1NywzMzQ1NzY0NzcxLDEwNjIxNzAwOCwzNTE2MDY1ODE3LDM2MDYwMDgzNDQsMzYwMDM1MjgwNCwxNDMyNzI1Nzc2LDQwOTQ1NzE5MDksMTQ2NzAzMTU5NCwyNzU0MjMzNDQsODUxMTY5NzIwLDQzMDIyNzczNCwzMTAwODIzNzUyLDUwNjk0ODYxNiwxMzYzMjU4MTk1LDY1OTA2MDU1NiwzNzUwNjg1NTkzLDg4Mzk5Nzg3NywzNzg1MDUwMjgwLDk1ODEzOTU3MSwzMzE4MzA3NDI3LDEzMjI4MjIyMTgsMzgxMjcyMzQwMywxNTM3MDAyMDYzLDIwMDMwMzQ5OTUsMTc0Nzg3Mzc3OSwzNjAyMDM2ODk5LDE5NTU1NjIyMjIsMTU3NTk5MDAxMiwyMDI0MTA0ODE1LDExMjU1OTI5MjgsMjIyNzczMDQ1MiwyNzE2OTA0MzA2LDIzNjE4NTI0MjQsNDQyNzc2MDQ0LDI0Mjg0MzY0NzQsNTkzNjk4MzQ0LDI3NTY3MzQxODcsMzczMzExMDI0OSwzMjA0MDMxNDc5LDI5OTkzNTE1NzMsMzMyOTMyNTI5OCwzODE1OTIwNDI3LDMzOTE1Njk2MTQsMzkyODM4MzkwMCwzNTE1MjY3MjcxLDU2NjI4MDcxMSwzOTQwMTg3NjA2LDM0NTQwNjk1MzQsNDExODYzMDI3MSw0MDAwMjM5OTkyLDExNjQxODQ3NCwxOTE0MTM4NTU0LDE3NDI5MjQyMSwyNzMxMDU1MjcwLDI4OTM4MDM1NiwzMjAzOTkzMDA2LDQ2MDM5MzI2OSwzMjA2MjAzMTUsNjg1NDcxNzMzLDU4NzQ5NjgzNiw4NTIxNDI5NzEsMTA4Njc5Mjg1MSwxMDE3MDM2Mjk4LDM2NTU0MzEwMCwxMTI2MDAwNTgwLDI2MTgyOTc2NzYsMTI4ODAzMzQ3MCwzNDA5ODU1MTU4LDE1MDE1MDU5NDgsNDIzNDUwOTg2NiwxNjA3MTY3OTE1LDk4NzE2NzQ2OCwxODE2NDAyMzE2LDEyNDYxODk1OTFdO2Z1bmN0aW9uIE8oZSx0LHIsbil7Zm9yKHZhciBpLG8sYSxzLHUsYyxmLGwsaCxwLGQseSxnLHYsbSxiLF8sUyxFLHcsVCxBLEMseCxJLE8sTj1uZXcgSW50MzJBcnJheSgxNiksUD1uZXcgSW50MzJBcnJheSgxNiksUj1lWzBdLEI9ZVsxXSxNPWVbMl0sTD1lWzNdLEQ9ZVs0XSxqPWVbNV0sVT1lWzZdLEY9ZVs3XSxWPXRbMF0scT10WzFdLEs9dFsyXSx6PXRbM10sRz10WzRdLEg9dFs1XSxXPXRbNl0sWT10WzddLFg9MDtuPj0xMjg7KXtmb3IoRT0wO0U8MTY7RSsrKXc9OCpFK1gsTltFXT1yW3crMF08PDI0fHJbdysxXTw8MTZ8clt3KzJdPDw4fHJbdyszXSxQW0VdPXJbdys0XTw8MjR8clt3KzVdPDwxNnxyW3crNl08PDh8clt3KzddO2ZvcihFPTA7RTw4MDtFKyspaWYoaT1SLG89QixhPU0scz1MLHU9RCxjPWosZj1VLEYsaD1WLHA9cSxkPUsseT16LGc9Ryx2PUgsbT1XLFksQz02NTUzNSYoQT1ZKSx4PUE+Pj4xNixJPTY1NTM1JihUPUYpLE89VD4+PjE2LEMrPTY1NTM1JihBPShHPj4+MTR8RDw8MTgpXihHPj4+MTh8RDw8MTQpXihEPj4+OXxHPDwyMykpLHgrPUE+Pj4xNixJKz02NTUzNSYoVD0oRD4+PjE0fEc8PDE4KV4oRD4+PjE4fEc8PDE0KV4oRz4+Pjl8RDw8MjMpKSxPKz1UPj4+MTYsQys9NjU1MzUmKEE9RyZIXn5HJlcpLHgrPUE+Pj4xNixJKz02NTUzNSYoVD1EJmpefkQmVSksTys9VD4+PjE2LFQ9a1syKkVdLEMrPTY1NTM1JihBPWtbMipFKzFdKSx4Kz1BPj4+MTYsSSs9NjU1MzUmVCxPKz1UPj4+MTYsVD1OW0UlMTZdLHgrPShBPVBbRSUxNl0pPj4+MTYsSSs9NjU1MzUmVCxPKz1UPj4+MTYsSSs9KHgrPShDKz02NTUzNSZBKT4+PjE2KT4+PjE2LEM9NjU1MzUmKEE9Uz02NTUzNSZDfHg8PDE2KSx4PUE+Pj4xNixJPTY1NTM1JihUPV89NjU1MzUmSXwoTys9ST4+PjE2KTw8MTYpLE89VD4+PjE2LEMrPTY1NTM1JihBPShWPj4+Mjh8Ujw8NCleKFI+Pj4yfFY8PDMwKV4oUj4+Pjd8Vjw8MjUpKSx4Kz1BPj4+MTYsSSs9NjU1MzUmKFQ9KFI+Pj4yOHxWPDw0KV4oVj4+PjJ8Ujw8MzApXihWPj4+N3xSPDwyNSkpLE8rPVQ+Pj4xNix4Kz0oQT1WJnFeViZLXnEmSyk+Pj4xNixJKz02NTUzNSYoVD1SJkJeUiZNXkImTSksTys9VD4+PjE2LGw9NjU1MzUmKEkrPSh4Kz0oQys9NjU1MzUmQSk+Pj4xNik+Pj4xNil8KE8rPUk+Pj4xNik8PDE2LGI9NjU1MzUmQ3x4PDwxNixDPTY1NTM1JihBPXkpLHg9QT4+PjE2LEk9NjU1MzUmKFQ9cyksTz1UPj4+MTYseCs9KEE9Uyk+Pj4xNixJKz02NTUzNSYoVD1fKSxPKz1UPj4+MTYsQj1pLE09byxMPWEsRD1zPTY1NTM1JihJKz0oeCs9KEMrPTY1NTM1JkEpPj4+MTYpPj4+MTYpfChPKz1JPj4+MTYpPDwxNixqPXUsVT1jLEY9ZixSPWwscT1oLEs9cCx6PWQsRz15PTY1NTM1JkN8eDw8MTYsSD1nLFc9dixZPW0sVj1iLEUlMTY9PT0xNSlmb3Iodz0wO3c8MTY7dysrKVQ9Tlt3XSxDPTY1NTM1JihBPVBbd10pLHg9QT4+PjE2LEk9NjU1MzUmVCxPPVQ+Pj4xNixUPU5bKHcrOSklMTZdLEMrPTY1NTM1JihBPVBbKHcrOSklMTZdKSx4Kz1BPj4+MTYsSSs9NjU1MzUmVCxPKz1UPj4+MTYsXz1OWyh3KzEpJTE2XSxDKz02NTUzNSYoQT0oKFM9UFsodysxKSUxNl0pPj4+MXxfPDwzMSleKFM+Pj44fF88PDI0KV4oUz4+Pjd8Xzw8MjUpKSx4Kz1BPj4+MTYsSSs9NjU1MzUmKFQ9KF8+Pj4xfFM8PDMxKV4oXz4+Pjh8Uzw8MjQpXl8+Pj43KSxPKz1UPj4+MTYsXz1OWyh3KzE0KSUxNl0seCs9KEE9KChTPVBbKHcrMTQpJTE2XSk+Pj4xOXxfPDwxMyleKF8+Pj4yOXxTPDwzKV4oUz4+PjZ8Xzw8MjYpKT4+PjE2LEkrPTY1NTM1JihUPShfPj4+MTl8Uzw8MTMpXihTPj4+Mjl8Xzw8MyleXz4+PjYpLE8rPVQ+Pj4xNixPKz0oSSs9KHgrPShDKz02NTUzNSZBKT4+PjE2KT4+PjE2KT4+PjE2LE5bd109NjU1MzUmSXxPPDwxNixQW3ddPTY1NTM1JkN8eDw8MTY7Qz02NTUzNSYoQT1WKSx4PUE+Pj4xNixJPTY1NTM1JihUPVIpLE89VD4+PjE2LFQ9ZVswXSx4Kz0oQT10WzBdKT4+PjE2LEkrPTY1NTM1JlQsTys9VD4+PjE2LE8rPShJKz0oeCs9KEMrPTY1NTM1JkEpPj4+MTYpPj4+MTYpPj4+MTYsZVswXT1SPTY1NTM1Jkl8Tzw8MTYsdFswXT1WPTY1NTM1JkN8eDw8MTYsQz02NTUzNSYoQT1xKSx4PUE+Pj4xNixJPTY1NTM1JihUPUIpLE89VD4+PjE2LFQ9ZVsxXSx4Kz0oQT10WzFdKT4+PjE2LEkrPTY1NTM1JlQsTys9VD4+PjE2LE8rPShJKz0oeCs9KEMrPTY1NTM1JkEpPj4+MTYpPj4+MTYpPj4+MTYsZVsxXT1CPTY1NTM1Jkl8Tzw8MTYsdFsxXT1xPTY1NTM1JkN8eDw8MTYsQz02NTUzNSYoQT1LKSx4PUE+Pj4xNixJPTY1NTM1JihUPU0pLE89VD4+PjE2LFQ9ZVsyXSx4Kz0oQT10WzJdKT4+PjE2LEkrPTY1NTM1JlQsTys9VD4+PjE2LE8rPShJKz0oeCs9KEMrPTY1NTM1JkEpPj4+MTYpPj4+MTYpPj4+MTYsZVsyXT1NPTY1NTM1Jkl8Tzw8MTYsdFsyXT1LPTY1NTM1JkN8eDw8MTYsQz02NTUzNSYoQT16KSx4PUE+Pj4xNixJPTY1NTM1JihUPUwpLE89VD4+PjE2LFQ9ZVszXSx4Kz0oQT10WzNdKT4+PjE2LEkrPTY1NTM1JlQsTys9VD4+PjE2LE8rPShJKz0oeCs9KEMrPTY1NTM1JkEpPj4+MTYpPj4+MTYpPj4+MTYsZVszXT1MPTY1NTM1Jkl8Tzw8MTYsdFszXT16PTY1NTM1JkN8eDw8MTYsQz02NTUzNSYoQT1HKSx4PUE+Pj4xNixJPTY1NTM1JihUPUQpLE89VD4+PjE2LFQ9ZVs0XSx4Kz0oQT10WzRdKT4+PjE2LEkrPTY1NTM1JlQsTys9VD4+PjE2LE8rPShJKz0oeCs9KEMrPTY1NTM1JkEpPj4+MTYpPj4+MTYpPj4+MTYsZVs0XT1EPTY1NTM1Jkl8Tzw8MTYsdFs0XT1HPTY1NTM1JkN8eDw8MTYsQz02NTUzNSYoQT1IKSx4PUE+Pj4xNixJPTY1NTM1JihUPWopLE89VD4+PjE2LFQ9ZVs1XSx4Kz0oQT10WzVdKT4+PjE2LEkrPTY1NTM1JlQsTys9VD4+PjE2LE8rPShJKz0oeCs9KEMrPTY1NTM1JkEpPj4+MTYpPj4+MTYpPj4+MTYsZVs1XT1qPTY1NTM1Jkl8Tzw8MTYsdFs1XT1IPTY1NTM1JkN8eDw8MTYsQz02NTUzNSYoQT1XKSx4PUE+Pj4xNixJPTY1NTM1JihUPVUpLE89VD4+PjE2LFQ9ZVs2XSx4Kz0oQT10WzZdKT4+PjE2LEkrPTY1NTM1JlQsTys9VD4+PjE2LE8rPShJKz0oeCs9KEMrPTY1NTM1JkEpPj4+MTYpPj4+MTYpPj4+MTYsZVs2XT1VPTY1NTM1Jkl8Tzw8MTYsdFs2XT1XPTY1NTM1JkN8eDw8MTYsQz02NTUzNSYoQT1ZKSx4PUE+Pj4xNixJPTY1NTM1JihUPUYpLE89VD4+PjE2LFQ9ZVs3XSx4Kz0oQT10WzddKT4+PjE2LEkrPTY1NTM1JlQsTys9VD4+PjE2LE8rPShJKz0oeCs9KEMrPTY1NTM1JkEpPj4+MTYpPj4+MTYpPj4+MTYsZVs3XT1GPTY1NTM1Jkl8Tzw8MTYsdFs3XT1ZPTY1NTM1JkN8eDw8MTYsWCs9MTI4LG4tPTEyOH1yZXR1cm4gbn1mdW5jdGlvbiBOKGUsdCxyKXt2YXIgbixpPW5ldyBJbnQzMkFycmF5KDgpLG89bmV3IEludDMyQXJyYXkoOCksYT1uZXcgVWludDhBcnJheSgyNTYpLHM9cjtmb3IoaVswXT0xNzc5MDMzNzAzLGlbMV09MzE0NDEzNDI3NyxpWzJdPTEwMTM5MDQyNDIsaVszXT0yNzczNDgwNzYyLGlbNF09MTM1OTg5MzExOSxpWzVdPTI2MDA4MjI5MjQsaVs2XT01Mjg3MzQ2MzUsaVs3XT0xNTQxNDU5MjI1LG9bMF09NDA4OTIzNTcyMCxvWzFdPTIyMjc4NzM1OTUsb1syXT00MjcxMTc1NzIzLG9bM109MTU5NTc1MDEyOSxvWzRdPTI5MTc1NjUxMzcsb1s1XT03MjU1MTExOTksb1s2XT00MjE1Mzg5NTQ3LG9bN109MzI3MDMzMjA5LE8oaSxvLHQsciksciU9MTI4LG49MDtuPHI7bisrKWFbbl09dFtzLXIrbl07Zm9yKGFbcl09MTI4LGFbKHI9MjU2LTEyOCoocjwxMTI/MTowKSktOV09MCxkKGEsci04LHMvNTM2ODcwOTEyfDAsczw8MyksTyhpLG8sYSxyKSxuPTA7bjw4O24rKylkKGUsOCpuLGlbbl0sb1tuXSk7cmV0dXJuIDB9ZnVuY3Rpb24gUChlLHQpe3ZhciByPWkoKSxuPWkoKSxvPWkoKSxhPWkoKSxzPWkoKSx1PWkoKSxjPWkoKSxsPWkoKSxoPWkoKTtUKHIsZVsxXSxlWzBdKSxUKGgsdFsxXSx0WzBdKSxBKHIscixoKSx3KG4sZVswXSxlWzFdKSx3KGgsdFswXSx0WzFdKSxBKG4sbixoKSxBKG8sZVszXSx0WzNdKSxBKG8sbyxmKSxBKGEsZVsyXSx0WzJdKSx3KGEsYSxhKSxUKHMsbixyKSxUKHUsYSxvKSx3KGMsYSxvKSx3KGwsbixyKSxBKGVbMF0scyx1KSxBKGVbMV0sbCxjKSxBKGVbMl0sYyx1KSxBKGVbM10scyxsKX1mdW5jdGlvbiBSKGUsdCxyKXtmb3IodmFyIG49MDtuPDQ7bisrKW0oZVtuXSx0W25dLHIpfWZ1bmN0aW9uIEIoZSx0KXt2YXIgcj1pKCksbj1pKCksbz1pKCk7eChvLHRbMl0pLEEocix0WzBdLG8pLEEobix0WzFdLG8pLGIoZSxuKSxlWzMxXV49UyhyKTw8N31mdW5jdGlvbiBNKGUsdCxyKXt2YXIgbixpO2ZvcihnKGVbMF0sYSksZyhlWzFdLHMpLGcoZVsyXSxzKSxnKGVbM10sYSksaT0yNTU7aT49MDstLWkpUihlLHQsbj1yW2kvOHwwXT4+KDcmaSkmMSksUCh0LGUpLFAoZSxlKSxSKGUsdCxuKX1mdW5jdGlvbiBMKGUsdCl7dmFyIHI9W2koKSxpKCksaSgpLGkoKV07ZyhyWzBdLGwpLGcoclsxXSxoKSxnKHJbMl0scyksQShyWzNdLGwsaCksTShlLHIsdCl9dmFyIEQ9bmV3IEZsb2F0NjRBcnJheShbMjM3LDIxMSwyNDUsOTIsMjYsOTksMTgsODgsMjE0LDE1NiwyNDcsMTYyLDIyMiwyNDksMjIyLDIwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDE2XSk7ZnVuY3Rpb24gaihlLHQpe3ZhciByLG4saSxvO2ZvcihuPTYzO24+PTMyOy0tbil7Zm9yKHI9MCxpPW4tMzIsbz1uLTEyO2k8bzsrK2kpdFtpXSs9ci0xNip0W25dKkRbaS0obi0zMildLHI9dFtpXSsxMjg+PjgsdFtpXS09MjU2KnI7dFtpXSs9cix0W25dPTB9Zm9yKHI9MCxpPTA7aTwzMjtpKyspdFtpXSs9ci0odFszMV0+PjQpKkRbaV0scj10W2ldPj44LHRbaV0mPTI1NTtmb3IoaT0wO2k8MzI7aSsrKXRbaV0tPXIqRFtpXTtmb3Iobj0wO248MzI7bisrKXRbbisxXSs9dFtuXT4+OCxlW25dPTI1NSZ0W25dfWZ1bmN0aW9uIFUoZSl7dmFyIHQscj1uZXcgRmxvYXQ2NEFycmF5KDY0KTtmb3IodD0wO3Q8NjQ7dCsrKXJbdF09ZVt0XTtmb3IodD0wO3Q8NjQ7dCsrKWVbdF09MDtqKGUscil9ZnVuY3Rpb24gRihlLHQscixuLG8pe2Zvcih2YXIgYT1uZXcgVWludDhBcnJheSg2NCkscz1baSgpLGkoKSxpKCksaSgpXSx1PTA7dTwzMjt1KyspYVt1XT1uW3VdO2FbMF0mPTI0OCxhWzMxXSY9MTI3LGFbMzFdfD02NCxMKHMsYSksQihhLnN1YmFycmF5KDMyKSxzKTt2YXIgYyxmPTEyOCZhWzYzXTtyZXR1cm4gYz1vP2Z1bmN0aW9uKGUsdCxyLG4sbyl7bmV3IFVpbnQ4QXJyYXkoNjQpO3ZhciBhLHMsdT1uZXcgVWludDhBcnJheSg2NCksYz1uZXcgVWludDhBcnJheSg2NCksZj1uZXcgRmxvYXQ2NEFycmF5KDY0KSxsPVtpKCksaSgpLGkoKSxpKCldO2ZvcihlWzBdPTI1NCxhPTE7YTwzMjthKyspZVthXT0yNTU7Zm9yKGE9MDthPDMyO2ErKyllWzMyK2FdPW5bYV07Zm9yKGE9MDthPHI7YSsrKWVbNjQrYV09dFthXTtmb3IoYT0wO2E8NjQ7YSsrKWVbcis2NCthXT1vW2FdO2ZvcihOKGMsZSxyKzEyOCksVShjKSxMKGwsYyksQihlLGwpLGE9MDthPDMyO2ErKyllW2ErMzJdPW5bMzIrYV07Zm9yKE4odSxlLHIrNjQpLFUodSksYT0wO2E8NjQ7YSsrKWVbcis2NCthXT0wO2ZvcihhPTA7YTw2NDthKyspZlthXT0wO2ZvcihhPTA7YTwzMjthKyspZlthXT1jW2FdO2ZvcihhPTA7YTwzMjthKyspZm9yKHM9MDtzPDMyO3MrKylmW2Erc10rPXVbYV0qbltzXTtyZXR1cm4gaihlLnN1YmFycmF5KDMyLHIrNjQpLGYpLHIrNjR9KGUsdCxyLGEsbyk6ZnVuY3Rpb24oZSx0LHIsbil7bmV3IFVpbnQ4QXJyYXkoNjQpO3ZhciBvLGEscz1uZXcgVWludDhBcnJheSg2NCksdT1uZXcgVWludDhBcnJheSg2NCksYz1uZXcgRmxvYXQ2NEFycmF5KDY0KSxmPVtpKCksaSgpLGkoKSxpKCldO2ZvcihvPTA7bzxyO28rKyllWzY0K29dPXRbb107Zm9yKG89MDtvPDMyO28rKyllWzMyK29dPW5bb107Zm9yKE4odSxlLnN1YmFycmF5KDMyKSxyKzMyKSxVKHUpLEwoZix1KSxCKGUsZiksbz0wO288MzI7bysrKWVbbyszMl09blszMitvXTtmb3IoTihzLGUscis2NCksVShzKSxvPTA7bzw2NDtvKyspY1tvXT0wO2ZvcihvPTA7bzwzMjtvKyspY1tvXT11W29dO2ZvcihvPTA7bzwzMjtvKyspZm9yKGE9MDthPDMyO2ErKyljW28rYV0rPXNbb10qblthXTtyZXR1cm4gaihlLnN1YmFycmF5KDMyKSxjKSxyKzY0fShlLHQscixhKSxlWzYzXXw9ZixjfWZ1bmN0aW9uIFYoZSx0KXt2YXIgcj1pKCksbj1pKCksbz1pKCksdT1pKCksZj1pKCksbD1pKCksaD1pKCk7cmV0dXJuIGcoZVsyXSxzKSxFKGVbMV0sdCksQyhvLGVbMV0pLEEodSxvLGMpLFQobyxvLGVbMl0pLHcodSxlWzJdLHUpLEMoZix1KSxDKGwsZiksQShoLGwsZiksQShyLGgsbyksQShyLHIsdSksZnVuY3Rpb24oZSx0KXt2YXIgcixuPWkoKTtmb3Iocj0wO3I8MTY7cisrKW5bcl09dFtyXTtmb3Iocj0yNTA7cj49MDtyLS0pQyhuLG4pLDEhPT1yJiZBKG4sbix0KTtmb3Iocj0wO3I8MTY7cisrKWVbcl09bltyXX0ocixyKSxBKHIscixvKSxBKHIscix1KSxBKHIscix1KSxBKGVbMF0scix1KSxDKG4sZVswXSksQShuLG4sdSksXyhuLG8pJiZBKGVbMF0sZVswXSxwKSxDKG4sZVswXSksQShuLG4sdSksXyhuLG8pPy0xOihTKGVbMF0pPT09dFszMV0+PjcmJlQoZVswXSxhLGVbMF0pLEEoZVszXSxlWzBdLGVbMV0pLDApfWZ1bmN0aW9uIHEoZSx0LHIsbil7dmFyIG89ZnVuY3Rpb24oZSl7dmFyIHQ9bmV3IFVpbnQ4QXJyYXkoMzIpLHI9aSgpLG49aSgpLG89aSgpO3JldHVybiBFKHIsZSksdyhuLHIscyksVChvLHIscykseChuLG4pLEEobixuLG8pLGIodCxuKSx0fShuKTtyZXR1cm4gb1szMV18PTEyOCZ0WzYzXSx0WzYzXSY9MTI3LGZ1bmN0aW9uKGUsdCxyLG4pe3ZhciBvLGE9bmV3IFVpbnQ4QXJyYXkoMzIpLHM9bmV3IFVpbnQ4QXJyYXkoNjQpLHU9W2koKSxpKCksaSgpLGkoKV0sYz1baSgpLGkoKSxpKCksaSgpXTtpZihyPDY0KXJldHVybi0xO2lmKFYoYyxuKSlyZXR1cm4tMTtmb3Iobz0wO288cjtvKyspZVtvXT10W29dO2ZvcihvPTA7bzwzMjtvKyspZVtvKzMyXT1uW29dO2lmKE4ocyxlLHIpLFUocyksTSh1LGMscyksTChjLHQuc3ViYXJyYXkoMzIpKSxQKHUsYyksQihhLHUpLHItPTY0LHkodCwwLGEsMCkpe2ZvcihvPTA7bzxyO28rKyllW29dPTA7cmV0dXJuLTF9Zm9yKG89MDtvPHI7bysrKWVbb109dFtvKzY0XTtyZXR1cm4gcn0oZSx0LHIsbyl9ZnVuY3Rpb24gSygpe2Zvcih2YXIgZSx0LHI9W10sbj0wO248YXJndW1lbnRzLmxlbmd0aDtuKyspcltuXT1hcmd1bWVudHNbbl07Zm9yKHQ9MDt0PGFyZ3VtZW50cy5sZW5ndGg7dCsrKWlmKCJbb2JqZWN0IFVpbnQ4QXJyYXldIiE9PShlPU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChhcmd1bWVudHNbdF0pKSl0aHJvdyBuZXcgVHlwZUVycm9yKCJ1bmV4cGVjdGVkIHR5cGUgIitlKyIsIHVzZSBVaW50OEFycmF5Iil9bi5zaGFyZWRLZXk9ZnVuY3Rpb24oZSx0KXtpZihLKHQsZSksMzIhPT10Lmxlbmd0aCl0aHJvdyBuZXcgRXJyb3IoIndyb25nIHB1YmxpYyBrZXkgbGVuZ3RoIik7aWYoMzIhPT1lLmxlbmd0aCl0aHJvdyBuZXcgRXJyb3IoIndyb25nIHNlY3JldCBrZXkgbGVuZ3RoIik7dmFyIHI9bmV3IFVpbnQ4QXJyYXkoMzIpO3JldHVybiBJKHIsZSx0KSxyfSxuLnNpZ25NZXNzYWdlPWZ1bmN0aW9uKGUsdCxyKXtpZihLKHQsZSksMzIhPT1lLmxlbmd0aCl0aHJvdyBuZXcgRXJyb3IoIndyb25nIHNlY3JldCBrZXkgbGVuZ3RoIik7aWYocil7aWYoSyhyKSw2NCE9PXIubGVuZ3RoKXRocm93IG5ldyBFcnJvcigid3JvbmcgcmFuZG9tIGRhdGEgbGVuZ3RoIik7dmFyIG49bmV3IFVpbnQ4QXJyYXkoMTI4K3QubGVuZ3RoKTtyZXR1cm4gRihuLHQsdC5sZW5ndGgsZSxyKSxuZXcgVWludDhBcnJheShuLnN1YmFycmF5KDAsNjQrdC5sZW5ndGgpKX12YXIgaT1uZXcgVWludDhBcnJheSg2NCt0Lmxlbmd0aCk7cmV0dXJuIEYoaSx0LHQubGVuZ3RoLGUpLGl9LG4ub3Blbk1lc3NhZ2U9ZnVuY3Rpb24oZSx0KXtpZihLKHQsZSksMzIhPT1lLmxlbmd0aCl0aHJvdyBuZXcgRXJyb3IoIndyb25nIHB1YmxpYyBrZXkgbGVuZ3RoIik7dmFyIHI9bmV3IFVpbnQ4QXJyYXkodC5sZW5ndGgpLG49cShyLHQsdC5sZW5ndGgsZSk7aWYobjwwKXJldHVybiBudWxsO2Zvcih2YXIgaT1uZXcgVWludDhBcnJheShuKSxvPTA7bzxpLmxlbmd0aDtvKyspaVtvXT1yW29dO3JldHVybiBpfSxuLnNpZ249ZnVuY3Rpb24oZSx0LHIpe2lmKEsoZSx0KSwzMiE9PWUubGVuZ3RoKXRocm93IG5ldyBFcnJvcigid3Jvbmcgc2VjcmV0IGtleSBsZW5ndGgiKTtpZihyJiYoSyhyKSw2NCE9PXIubGVuZ3RoKSl0aHJvdyBuZXcgRXJyb3IoIndyb25nIHJhbmRvbSBkYXRhIGxlbmd0aCIpO3ZhciBuPW5ldyBVaW50OEFycmF5KChyPzEyODo2NCkrdC5sZW5ndGgpO0Yobix0LHQubGVuZ3RoLGUscik7Zm9yKHZhciBpPW5ldyBVaW50OEFycmF5KDY0KSxvPTA7bzxpLmxlbmd0aDtvKyspaVtvXT1uW29dO3JldHVybiBpfSxuLnZlcmlmeT1mdW5jdGlvbihlLHQscil7aWYoSyh0LHIsZSksNjQhPT1yLmxlbmd0aCl0aHJvdyBuZXcgRXJyb3IoIndyb25nIHNpZ25hdHVyZSBsZW5ndGgiKTtpZigzMiE9PWUubGVuZ3RoKXRocm93IG5ldyBFcnJvcigid3JvbmcgcHVibGljIGtleSBsZW5ndGgiKTt2YXIgbixpPW5ldyBVaW50OEFycmF5KDY0K3QubGVuZ3RoKSxvPW5ldyBVaW50OEFycmF5KDY0K3QubGVuZ3RoKTtmb3Iobj0wO248NjQ7bisrKWlbbl09cltuXTtmb3Iobj0wO248dC5sZW5ndGg7bisrKWlbbis2NF09dFtuXTtyZXR1cm4gcShvLGksaS5sZW5ndGgsZSk+PTB9LG4uZ2VuZXJhdGVLZXlQYWlyPWZ1bmN0aW9uKGUpe2lmKEsoZSksMzIhPT1lLmxlbmd0aCl0aHJvdyBuZXcgRXJyb3IoIndyb25nIHNlZWQgbGVuZ3RoIik7Zm9yKHZhciB0PW5ldyBVaW50OEFycmF5KDMyKSxyPW5ldyBVaW50OEFycmF5KDMyKSxuPTA7bjwzMjtuKyspdFtuXT1lW25dO3JldHVybiBJKHIsdCxvKSx0WzBdJj0yNDgsdFszMV0mPTEyNyx0WzMxXXw9NjQsclszMV0mPTEyNyx7cHVibGljOnIscHJpdmF0ZTp0fX0sdC5kZWZhdWx0PW59LGZ1bmN0aW9uKGUsdCxyKXsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBuPXIoMjM1KSxpPXIoOTEpLG89cigzMSksYT1yKDIzNyk7dC5XQVZFU19JRD0iV0FWRVMiO3ZhciBzPW8ubGlicy5jcnlwdG8sdT1zLnN0cmluZ1RvQnl0ZXMsYz1zLmJhc2U1OEVuY29kZSxmPWZ1bmN0aW9uKGUpe3JldHVybiBlPT09dC5XQVZFU19JRD8iIjplfTshZnVuY3Rpb24oZSl7dmFyIHI7ZnVuY3Rpb24gbyhlLHQscil7cmV0dXJuImZ1bmN0aW9uIiE9dHlwZW9mIHI/e2Zyb206ZSx0bzp0LGNiOmZ1bmN0aW9uKCl7cmV0dXJuIHJ9fTp7ZnJvbTplLHRvOnQsY2I6cn19ZnVuY3Rpb24gcyhlKXtyZXR1cm4gZT09PXQuV0FWRVNfSUQ/IiI6ZX0hZnVuY3Rpb24oZSl7ZnVuY3Rpb24gdChlKXtzd2l0Y2godHlwZW9mIGUpe2Nhc2Uic3RyaW5nIjpjYXNlIm51bWJlciI6cmV0dXJuIG5ldyBpLkJpZ051bWJlcihlKTtjYXNlIm9iamVjdCI6cmV0dXJuIGUgaW5zdGFuY2VvZiBpLkJpZ051bWJlcj9lOmUuZ2V0Q29pbnMoKX19ZnVuY3Rpb24gcihlKXtyZXR1cm4gcyhlLmFzc2V0LmlkKX1lLmNhbGxGdW5jPWZ1bmN0aW9uKGUpe3JldHVybiBlP3tmdW5jdGlvbjplJiZlLmZ1bmN0aW9ufHwiIixhcmdzOmUmJmUuYXJnc3x8W119Om51bGx9LGUucGF5bWVudHM9ZnVuY3Rpb24oZSl7cmV0dXJuKGV8fFtdKS5tYXAoZnVuY3Rpb24oZSl7cmV0dXJue2Ftb3VudDp0KGUpLnRvU3RyaW5nKCksYXNzZXRJZDpyKGUpfX0pfSxlLnBheW1lbnRzVG9Ob2RlPWZ1bmN0aW9uKGUpe3JldHVybihlfHxbXSkubWFwKGZ1bmN0aW9uKGUpe3JldHVybnthbW91bnQ6dChlKSxhc3NldElkOnIoZSl8fG51bGx9fSl9LGUuc2NyaXB0UHJvY2Vzc29yPWZ1bmN0aW9uKGUpe3JldHVybihlfHwiIikucmVwbGFjZSgiYmFzZTY0OiIsIiIpP2U6bnVsbH0sZS5hc3NldFBhaXI9ZnVuY3Rpb24oZSl7cmV0dXJue2Ftb3VudEFzc2V0OmYoZS5hbW91bnQuYXNzZXQuaWQpLHByaWNlQXNzZXQ6ZihlLnByaWNlLmFzc2V0LmlkKX19LGUuc2lnbmF0dXJlRnJvbVByb29mPWZ1bmN0aW9uKGUpe3JldHVybiBlWzBdfSxlLnRvQmlnTnVtYmVyPXQsZS50b051bWJlclN0cmluZz1mdW5jdGlvbihlKXtyZXR1cm4gdChlKS50b1N0cmluZygpfSxlLnRvU3BvbnNvcnNoaXBGZWU9ZnVuY3Rpb24oZSl7dmFyIHQ9ZS5nZXRDb2lucygpO3JldHVybiB0LmVxKDApP251bGw6dH0sZS5tb25leVRvQXNzZXRJZD1mdW5jdGlvbihlKXtyZXR1cm4gZS5hc3NldC5pZH0sZS5tb25leVRvTm9kZUFzc2V0SWQ9cixlLnRpbWVzdGFtcD1mdW5jdGlvbihlKXtyZXR1cm4rZXx8InN0cmluZyIhPT10eXBlb2YgZT9lJiZlIGluc3RhbmNlb2YgRGF0ZT9lLmdldFRpbWUoKTplOkRhdGUucGFyc2UoZSl9LGUub3JTdHJpbmc9ZnVuY3Rpb24oZSl7cmV0dXJuIGV8fCIifSxlLm5vUHJvY2Vzcz1mdW5jdGlvbihlKXtyZXR1cm4gZX0sZS5yZWNpcGllbnQ9ZnVuY3Rpb24oZSl7cmV0dXJuIGZ1bmN0aW9uKHQpe3JldHVybiB0Lmxlbmd0aDw9MzA/ImFsaWFzOiIrZSsiOiIrdDp0fX0sZS5hdHRhY2htZW50PWZ1bmN0aW9uKGUpe3ZhciB0PWU9ZXx8IiI7cmV0dXJuInN0cmluZyI9PT10eXBlb2YgZSYmKHQ9dShlKSksYyhVaW50OEFycmF5LmZyb20odCkpfSxlLmFkZFZhbHVlPWZ1bmN0aW9uKGUpe3JldHVybiJmdW5jdGlvbiI9PT10eXBlb2YgZT9lOmZ1bmN0aW9uKCl7cmV0dXJuIGV9fSxlLmV4cGlyYXRpb249ZnVuY3Rpb24oZSl7cmV0dXJuIGV8fChuZXcgRGF0ZSkuc2V0RGF0ZSgobmV3IERhdGUpLmdldERhdGUoKSsyMCl9LGUudHJhbnNmZXJzPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIGZ1bmN0aW9uKHIpe3JldHVybiByLm1hcChmdW5jdGlvbihyKXtyZXR1cm57cmVjaXBpZW50OmUoci5yZWNpcGllbnQpLGFtb3VudDp0KHIuYW1vdW50KX19KX19LGUucXVhbnRpdHk9ZnVuY3Rpb24oZSl7cmV0dXJuIG5ldyBpLkJpZ051bWJlcihlLnF1YW50aXR5KS5tdWwobmV3IGkuQmlnTnVtYmVyKDEwKS5wb3coZS5wcmVjaXNpb24pKX0sZS5iYXNlNjQ9ZnVuY3Rpb24oZSl7cmV0dXJuKGV8fCIiKS5yZXBsYWNlKCJiYXNlNjQ6IiwiIil9LGUudG9PcmRlclByaWNlPWZ1bmN0aW9uKGUpe3ZhciB0PW5ldyBuLkFzc2V0UGFpcihlLmFtb3VudC5hc3NldCxlLnByaWNlLmFzc2V0KTtyZXR1cm4gbi5PcmRlclByaWNlLmZyb21Ub2tlbnMoZS5wcmljZS50b1Rva2VucygpLHQpLmdldE1hdGNoZXJDb2lucygpfX0ocj1lLnByb2Nlc3NvcnN8fChlLnByb2Nlc3NvcnM9e30pKSxlLndyYXA9byxlLnNjaGVtYT1mdW5jdGlvbigpe2Zvcih2YXIgZT1bXSx0PTA7dDxhcmd1bWVudHMubGVuZ3RoO3QrKyllW3RdPWFyZ3VtZW50c1t0XTtyZXR1cm4gZnVuY3Rpb24odCl7cmV0dXJuIGUubWFwKGZ1bmN0aW9uKGUpe3JldHVybiJzdHJpbmciPT09dHlwZW9mIGU/e2tleTplLHZhbHVlOnIubm9Qcm9jZXNzKHRbZV0pfTp7a2V5OmUudG8sdmFsdWU6ZS5jYihlLmZyb20/dFtlLmZyb21dOnQpfX0pLnJlZHVjZShmdW5jdGlvbihlLHQpe3JldHVybiBlW3Qua2V5XT10LnZhbHVlLGV9LE9iamVjdC5jcmVhdGUobnVsbCkpfX0sZS5zaWduU2NoZW1hPWZ1bmN0aW9uKGUpe3JldHVybiBmdW5jdGlvbih0LG4pe3ZvaWQgMD09PW4mJihuPSExKTt2YXIgaT1bXSxzPWUubWFwKGZ1bmN0aW9uKGUpe3ZhciBzPW8oZS5uYW1lLGUuZmllbGQsZS5wcm9jZXNzb3J8fHIubm9Qcm9jZXNzKSx1PXtrZXk6cy50byx2YWx1ZTpzLmZyb20/dFtzLmZyb21dOnQsb3B0aW9uYWw6ZS5vcHRpb25hbCxvcHRpb25hbERhdGE6ZS5vcHRpb25hbERhdGEsdHlwZTplLnR5cGUsbmFtZTplLm5hbWV9LGM9YS5WQUxJREFUT1JTW3UudHlwZV07dHJ5e3JldHVybiBuJiZjJiZjKHUpLHtrZXk6dS5rZXksdmFsdWU6cy5jYih1LnZhbHVlKX19Y2F0Y2goZil7aS5wdXNoKGYpfXJldHVybntrZXk6dS5rZXksdmFsdWU6bnVsbH19KS5yZWR1Y2UoZnVuY3Rpb24oZSx0KXt2YXIgcj10LmtleSxuPXQudmFsdWU7cmV0dXJuIGVbcl09bixlfSxPYmplY3QuY3JlYXRlKG51bGwpKTtpZihpLmxlbmd0aCl0aHJvdyBuZXcgRXJyb3IoSlNPTi5zdHJpbmdpZnkoaSkpO3JldHVybiBzfX0sZS5pZFRvTm9kZT1zfSh0LnByZXBhcmV8fCh0LnByZXBhcmU9e30pKX0sZnVuY3Rpb24oZSx0LHIpeyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkodCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIG49cig5MSk7dC50b0JpZ051bWJlcj1mdW5jdGlvbihlKXtyZXR1cm4gZSBpbnN0YW5jZW9mIG4uQmlnTnVtYmVyP2U6bmV3IG4uQmlnTnVtYmVyKGUpfX0sZnVuY3Rpb24oZSx0LHIpeyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkodCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIG49cigzOTcpLGk9ZnVuY3Rpb24oKXtmdW5jdGlvbiBlKHQpe3Q9InN0cmluZyI9PT10eXBlb2YgdD90LmNoYXJDb2RlQXQoMCk6dCx0aGlzLnR5cGU9dGhpcy5jb25zdHJ1Y3Rvci50eXBlLHRoaXMuX2NvZGU9dHx8ZS5fY29kZXx8IlciLmNoYXJDb2RlQXQoMCl9cmV0dXJuIGUucHJvdG90eXBlLm1ha2VTaWduYWJsZT1mdW5jdGlvbihlKXtyZXR1cm4gbmV3IG4uU2lnbmFibGUoZSx0aGlzKX0sZS5wcm90b3R5cGUuaXNBdmFpbGFibGU9ZnVuY3Rpb24oKXtyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCl9LGUucHJvdG90eXBlLm9uRGVzdHJveT1mdW5jdGlvbihlKXt9LGUucHJvdG90eXBlLmdldE5ldHdvcmtCeXRlPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2NvZGV8fGUuX2NvZGV9LGUuaW5pdE9wdGlvbnM9ZnVuY3Rpb24odCl7ZS5fY29kZT10Lm5ldHdvcmtDb2RlfSxlLmdldFVzZXJMaXN0PWZ1bmN0aW9uKCl7cmV0dXJuIFByb21pc2UucmVzb2x2ZShbXSl9LGUuaXNBdmFpbGFibGU9ZnVuY3Rpb24oKXtyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCExKX0sZS50eXBlPSJzZWVkIixlfSgpO3QuQWRhcHRlcj1pfSxmdW5jdGlvbihlLHQscil7dmFyIG49cig3MTkpO2UuZXhwb3J0cz1mdW5jdGlvbihlLHQscil7aWYobihlKSx2b2lkIDA9PT10KXJldHVybiBlO3N3aXRjaChyKXtjYXNlIDA6cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIGUuY2FsbCh0KX07Y2FzZSAxOnJldHVybiBmdW5jdGlvbihyKXtyZXR1cm4gZS5jYWxsKHQscil9O2Nhc2UgMjpyZXR1cm4gZnVuY3Rpb24ocixuKXtyZXR1cm4gZS5jYWxsKHQscixuKX07Y2FzZSAzOnJldHVybiBmdW5jdGlvbihyLG4saSl7cmV0dXJuIGUuY2FsbCh0LHIsbixpKX19cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIGUuYXBwbHkodCxhcmd1bWVudHMpfX19LGZ1bmN0aW9uKGUsdCxyKXt2YXIgbj1yKDIzOSk7ZS5leHBvcnRzPWZ1bmN0aW9uKGUpe3JldHVybiBPYmplY3QobihlKSl9fSxmdW5jdGlvbihlLHQscil7dmFyIG49cigzMyksaT1yKDI0Miksbz1uWyJfX2NvcmUtanNfc2hhcmVkX18iXXx8aSgiX19jb3JlLWpzX3NoYXJlZF9fIix7fSk7KGUuZXhwb3J0cz1mdW5jdGlvbihlLHQpe3JldHVybiBvW2VdfHwob1tlXT12b2lkIDAhPT10P3Q6e30pfSkoInZlcnNpb25zIixbXSkucHVzaCh7dmVyc2lvbjoiMy4wLjEiLG1vZGU6cigxNzUpPyJwdXJlIjoiZ2xvYmFsIixjb3B5cmlnaHQ6Ilx4YTkgMjAxOSBEZW5pcyBQdXNoa2FyZXYgKHpsb2lyb2NrLnJ1KSJ9KX0sZnVuY3Rpb24oZSx0KXtlLmV4cG9ydHM9ZnVuY3Rpb24oZSx0KXtyZXR1cm57ZW51bWVyYWJsZTohKDEmZSksY29uZmlndXJhYmxlOiEoMiZlKSx3cml0YWJsZTohKDQmZSksdmFsdWU6dH19fSxmdW5jdGlvbihlLHQpe2UuZXhwb3J0cz0hMX0sZnVuY3Rpb24oZSx0LHIpe3ZhciBuPXIoMjM4KSxpPXIoMjM5KTtlLmV4cG9ydHM9ZnVuY3Rpb24oZSl7cmV0dXJuIG4oaShlKSl9fSxmdW5jdGlvbihlLHQscil7dmFyIG49cigxNDApLmYsaT1yKDU3KSxvPXIoNTMpKCJ0b1N0cmluZ1RhZyIpO2UuZXhwb3J0cz1mdW5jdGlvbihlLHQscil7ZSYmIWkoZT1yP2U6ZS5wcm90b3R5cGUsbykmJm4oZSxvLHtjb25maWd1cmFibGU6ITAsdmFsdWU6dH0pfX0sZnVuY3Rpb24oZSx0LHIpe3ZhciBuPXIoMjcpLGk9cigxNyksbz1pWyJfX2NvcmUtanNfc2hhcmVkX18iXXx8KGlbIl9fY29yZS1qc19zaGFyZWRfXyJdPXt9KTsoZS5leHBvcnRzPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIG9bZV18fChvW2VdPXZvaWQgMCE9PXQ/dDp7fSl9KSgidmVyc2lvbnMiLFtdKS5wdXNoKHt2ZXJzaW9uOm4udmVyc2lvbixtb2RlOnIoOTUpPyJwdXJlIjoiZ2xvYmFsIixjb3B5cmlnaHQ6Ilx4YTkgMjAxOSBEZW5pcyBQdXNoa2FyZXYgKHpsb2lyb2NrLnJ1KSJ9KX0sZnVuY3Rpb24oZSx0LHIpe3ZhciBuPXIoNTEpLGk9cigyMyksbz1yKDk2KTtlLmV4cG9ydHM9ZnVuY3Rpb24oZSl7cmV0dXJuIGZ1bmN0aW9uKHQscixhKXt2YXIgcyx1PW4odCksYz1pKHUubGVuZ3RoKSxmPW8oYSxjKTtpZihlJiZyIT1yKXtmb3IoO2M+ZjspaWYoKHM9dVtmKytdKSE9cylyZXR1cm4hMH1lbHNlIGZvcig7Yz5mO2YrKylpZigoZXx8ZiBpbiB1KSYmdVtmXT09PXIpcmV0dXJuIGV8fGZ8fDA7cmV0dXJuIWUmJi0xfX19LGZ1bmN0aW9uKGUsdCl7dC5mPU9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHN9LGZ1bmN0aW9uKGUsdCxyKXt2YXIgbj1yKDcwKTtlLmV4cG9ydHM9QXJyYXkuaXNBcnJheXx8ZnVuY3Rpb24oZSl7cmV0dXJuIkFycmF5Ij09bihlKX19LGZ1bmN0aW9uKGUsdCxyKXt2YXIgbj1yKDIxKSgiaXRlcmF0b3IiKSxpPSExO3RyeXt2YXIgbz1bN11bbl0oKTtvLnJldHVybj1mdW5jdGlvbigpe2k9ITB9LEFycmF5LmZyb20obyxmdW5jdGlvbigpe3Rocm93IDJ9KX1jYXRjaChhKXt9ZS5leHBvcnRzPWZ1bmN0aW9uKGUsdCl7aWYoIXQmJiFpKXJldHVybiExO3ZhciByPSExO3RyeXt2YXIgbz1bN10scz1vW25dKCk7cy5uZXh0PWZ1bmN0aW9uKCl7cmV0dXJue2RvbmU6cj0hMH19LG9bbl09ZnVuY3Rpb24oKXtyZXR1cm4gc30sZShvKX1jYXRjaChhKXt9cmV0dXJuIHJ9fSxmdW5jdGlvbihlLHQscil7InVzZSBzdHJpY3QiO3ZhciBuPXIoMTIpO2UuZXhwb3J0cz1mdW5jdGlvbigpe3ZhciBlPW4odGhpcyksdD0iIjtyZXR1cm4gZS5nbG9iYWwmJih0Kz0iZyIpLGUuaWdub3JlQ2FzZSYmKHQrPSJpIiksZS5tdWx0aWxpbmUmJih0Kz0ibSIpLGUudW5pY29kZSYmKHQrPSJ1IiksZS5zdGlja3kmJih0Kz0ieSIpLHR9fSxmdW5jdGlvbihlLHQscil7InVzZSBzdHJpY3QiO3ZhciBuPXIoMTQ3KSxpPVJlZ0V4cC5wcm90b3R5cGUuZXhlYztlLmV4cG9ydHM9ZnVuY3Rpb24oZSx0KXt2YXIgcj1lLmV4ZWM7aWYoImZ1bmN0aW9uIj09PXR5cGVvZiByKXt2YXIgbz1yLmNhbGwoZSx0KTtpZigib2JqZWN0IiE9PXR5cGVvZiBvKXRocm93IG5ldyBUeXBlRXJyb3IoIlJlZ0V4cCBleGVjIG1ldGhvZCByZXR1cm5lZCBzb21ldGhpbmcgb3RoZXIgdGhhbiBhbiBPYmplY3Qgb3IgbnVsbCIpO3JldHVybiBvfWlmKCJSZWdFeHAiIT09bihlKSl0aHJvdyBuZXcgVHlwZUVycm9yKCJSZWdFeHAjZXhlYyBjYWxsZWQgb24gaW5jb21wYXRpYmxlIHJlY2VpdmVyIik7cmV0dXJuIGkuY2FsbChlLHQpfX0sZnVuY3Rpb24oZSx0LHIpeyJ1c2Ugc3RyaWN0IjtyKDQ0MSk7dmFyIG49cig0OSksaT1yKDU0KSxvPXIoMTQpLGE9cig3MSkscz1yKDIxKSx1PXIoMjcxKSxjPXMoInNwZWNpZXMiKSxmPSFvKGZ1bmN0aW9uKCl7dmFyIGU9Ly4vO3JldHVybiBlLmV4ZWM9ZnVuY3Rpb24oKXt2YXIgZT1bXTtyZXR1cm4gZS5ncm91cHM9e2E6IjcifSxlfSwiNyIhPT0iIi5yZXBsYWNlKGUsIiQ8YT4iKX0pLGw9ZnVuY3Rpb24oKXt2YXIgZT0vKD86KS8sdD1lLmV4ZWM7ZS5leGVjPWZ1bmN0aW9uKCl7cmV0dXJuIHQuYXBwbHkodGhpcyxhcmd1bWVudHMpfTt2YXIgcj0iYWIiLnNwbGl0KGUpO3JldHVybiAyPT09ci5sZW5ndGgmJiJhIj09PXJbMF0mJiJiIj09PXJbMV19KCk7ZS5leHBvcnRzPWZ1bmN0aW9uKGUsdCxyKXt2YXIgaD1zKGUpLHA9IW8oZnVuY3Rpb24oKXt2YXIgdD17fTtyZXR1cm4gdFtoXT1mdW5jdGlvbigpe3JldHVybiA3fSw3IT0iIltlXSh0KX0pLGQ9cD8hbyhmdW5jdGlvbigpe3ZhciB0PSExLHI9L2EvO3JldHVybiByLmV4ZWM9ZnVuY3Rpb24oKXtyZXR1cm4gdD0hMCxudWxsfSwic3BsaXQiPT09ZSYmKHIuY29uc3RydWN0b3I9e30sci5jb25zdHJ1Y3RvcltjXT1mdW5jdGlvbigpe3JldHVybiByfSkscltoXSgiIiksIXR9KTp2b2lkIDA7aWYoIXB8fCFkfHwicmVwbGFjZSI9PT1lJiYhZnx8InNwbGl0Ij09PWUmJiFsKXt2YXIgeT0vLi9baF0sZz1yKGEsaCwiIltlXSxmdW5jdGlvbihlLHQscixuLGkpe3JldHVybiB0LmV4ZWM9PT11P3AmJiFpP3tkb25lOiEwLHZhbHVlOnkuY2FsbCh0LHIsbil9Ontkb25lOiEwLHZhbHVlOmUuY2FsbChyLHQsbil9Ontkb25lOiExfX0pLHY9Z1swXSxtPWdbMV07bihTdHJpbmcucHJvdG90eXBlLGUsdiksaShSZWdFeHAucHJvdG90eXBlLGgsMj09dD9mdW5jdGlvbihlLHQpe3JldHVybiBtLmNhbGwoZSx0aGlzLHQpfTpmdW5jdGlvbihlKXtyZXR1cm4gbS5jYWxsKGUsdGhpcyl9KX19fSxmdW5jdGlvbihlLHQscil7dmFyIG49cig1OCksaT1yKDQzNSksbz1yKDI2NyksYT1yKDEyKSxzPXIoMjMpLHU9cigyNjkpLGM9e30sZj17fTsodD1lLmV4cG9ydHM9ZnVuY3Rpb24oZSx0LHIsbCxoKXt2YXIgcCxkLHksZyx2PWg/ZnVuY3Rpb24oKXtyZXR1cm4gZX06dShlKSxtPW4ocixsLHQ/MjoxKSxiPTA7aWYoImZ1bmN0aW9uIiE9dHlwZW9mIHYpdGhyb3cgVHlwZUVycm9yKGUrIiBpcyBub3QgaXRlcmFibGUhIik7aWYobyh2KSl7Zm9yKHA9cyhlLmxlbmd0aCk7cD5iO2IrKylpZigoZz10P20oYShkPWVbYl0pWzBdLGRbMV0pOm0oZVtiXSkpPT09Y3x8Zz09PWYpcmV0dXJuIGd9ZWxzZSBmb3IoeT12LmNhbGwoZSk7IShkPXkubmV4dCgpKS5kb25lOylpZigoZz1pKHksbSxkLnZhbHVlLHQpKT09PWN8fGc9PT1mKXJldHVybiBnfSkuQlJFQUs9Yyx0LlJFVFVSTj1mfSxmdW5jdGlvbihlLHQscil7InVzZSBzdHJpY3QiO3ZhciBuPXIoMTcpLGk9cigyKSxvPXIoNDkpLGE9cigxMTQpLHM9cig4MyksdT1yKDE4NiksYz1yKDExMyksZj1yKDEzKSxsPXIoMTQpLGg9cigxODIpLHA9cigxMDkpLGQ9cigyNTgpO2UuZXhwb3J0cz1mdW5jdGlvbihlLHQscix5LGcsdil7dmFyIG09bltlXSxiPW0sXz1nPyJzZXQiOiJhZGQiLFM9YiYmYi5wcm90b3R5cGUsRT17fSx3PWZ1bmN0aW9uKGUpe3ZhciB0PVNbZV07byhTLGUsImRlbGV0ZSI9PWU/ZnVuY3Rpb24oZSl7cmV0dXJuISh2JiYhZihlKSkmJnQuY2FsbCh0aGlzLDA9PT1lPzA6ZSl9OiJoYXMiPT1lP2Z1bmN0aW9uKGUpe3JldHVybiEodiYmIWYoZSkpJiZ0LmNhbGwodGhpcywwPT09ZT8wOmUpfToiZ2V0Ij09ZT9mdW5jdGlvbihlKXtyZXR1cm4gdiYmIWYoZSk/dm9pZCAwOnQuY2FsbCh0aGlzLDA9PT1lPzA6ZSl9OiJhZGQiPT1lP2Z1bmN0aW9uKGUpe3JldHVybiB0LmNhbGwodGhpcywwPT09ZT8wOmUpLHRoaXN9OmZ1bmN0aW9uKGUscil7cmV0dXJuIHQuY2FsbCh0aGlzLDA9PT1lPzA6ZSxyKSx0aGlzfSl9O2lmKCJmdW5jdGlvbiI9PXR5cGVvZiBiJiYodnx8Uy5mb3JFYWNoJiYhbChmdW5jdGlvbigpeyhuZXcgYikuZW50cmllcygpLm5leHQoKX0pKSl7dmFyIFQ9bmV3IGIsQT1UW19dKHY/e306LTAsMSkhPVQsQz1sKGZ1bmN0aW9uKCl7VC5oYXMoMSl9KSx4PWgoZnVuY3Rpb24oZSl7bmV3IGIoZSl9KSxJPSF2JiZsKGZ1bmN0aW9uKCl7Zm9yKHZhciBlPW5ldyBiLHQ9NTt0LS07KWVbX10odCx0KTtyZXR1cm4hZS5oYXMoLTApfSk7eHx8KChiPXQoZnVuY3Rpb24odCxyKXtjKHQsYixlKTt2YXIgbj1kKG5ldyBtLHQsYik7cmV0dXJuIHZvaWQgMCE9ciYmdShyLGcsbltfXSxuKSxufSkpLnByb3RvdHlwZT1TLFMuY29uc3RydWN0b3I9YiksKEN8fEkpJiYodygiZGVsZXRlIiksdygiaGFzIiksZyYmdygiZ2V0IikpLChJfHxBKSYmdyhfKSx2JiZTLmNsZWFyJiZkZWxldGUgUy5jbGVhcn1lbHNlIGI9eS5nZXRDb25zdHJ1Y3Rvcih0LGUsZyxfKSxhKGIucHJvdG90eXBlLHIpLHMuTkVFRD0hMDtyZXR1cm4gcChiLGUpLEVbZV09YixpKGkuRytpLlcraS5GKihiIT1tKSxFKSx2fHx5LnNldFN0cm9uZyhiLGUsZyksYn19LGZ1bmN0aW9uKGUsdCxyKXtmb3IodmFyIG4saT1yKDE3KSxvPXIoNTQpLGE9cig5NCkscz1hKCJ0eXBlZF9hcnJheSIpLHU9YSgidmlldyIpLGM9ISghaS5BcnJheUJ1ZmZlcnx8IWkuRGF0YVZpZXcpLGY9YyxsPTAsaD0iSW50OEFycmF5LFVpbnQ4QXJyYXksVWludDhDbGFtcGVkQXJyYXksSW50MTZBcnJheSxVaW50MTZBcnJheSxJbnQzMkFycmF5LFVpbnQzMkFycmF5LEZsb2F0MzJBcnJheSxGbG9hdDY0QXJyYXkiLnNwbGl0KCIsIik7bDw5Oykobj1pW2hbbCsrXV0pPyhvKG4ucHJvdG90eXBlLHMsITApLG8obi5wcm90b3R5cGUsdSwhMCkpOmY9ITE7ZS5leHBvcnRzPXtBQlY6YyxDT05TVFI6ZixUWVBFRDpzLFZJRVc6dX19LGZ1bmN0aW9uKGUsdCxyKXt2YXIgbj1yKDExNSk7ZS5leHBvcnRzPWZ1bmN0aW9uKGUpe2lmKCFuKGUpKXRocm93IFR5cGVFcnJvcihlKyIgaXMgbm90IGFuIG9iamVjdCEiKTtyZXR1cm4gZX19LGZ1bmN0aW9uKGUsdCl7dmFyIHI9e30uaGFzT3duUHJvcGVydHk7ZS5leHBvcnRzPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIHIuY2FsbChlLHQpfX0sZnVuY3Rpb24oZSx0KXt2YXIgcj1NYXRoLmNlaWwsbj1NYXRoLmZsb29yO2UuZXhwb3J0cz1mdW5jdGlvbihlKXtyZXR1cm4gaXNOYU4oZT0rZSk/MDooZT4wP246cikoZSl9fSxmdW5jdGlvbihlLHQscil7dmFyIG49cig5OTcpLGk9cig5OTgpLG89cig5OTkpLGE9cigxZTMpLHM9cigxMDAxKTtmdW5jdGlvbiB1KGUpe3ZhciB0PS0xLHI9bnVsbD09ZT8wOmUubGVuZ3RoO2Zvcih0aGlzLmNsZWFyKCk7Kyt0PHI7KXt2YXIgbj1lW3RdO3RoaXMuc2V0KG5bMF0sblsxXSl9fXUucHJvdG90eXBlLmNsZWFyPW4sdS5wcm90b3R5cGUuZGVsZXRlPWksdS5wcm90b3R5cGUuZ2V0PW8sdS5wcm90b3R5cGUuaGFzPWEsdS5wcm90b3R5cGUuc2V0PXMsZS5leHBvcnRzPXV9LGZ1bmN0aW9uKGUsdCxyKXt2YXIgbj1yKDI4OSk7ZS5leHBvcnRzPWZ1bmN0aW9uKGUsdCl7Zm9yKHZhciByPWUubGVuZ3RoO3ItLTspaWYobihlW3JdWzBdLHQpKXJldHVybiByO3JldHVybi0xfX0sZnVuY3Rpb24oZSx0LHIpe3ZhciBuPXIoMTAyKShPYmplY3QsImNyZWF0ZSIpO2UuZXhwb3J0cz1ufSxmdW5jdGlvbihlLHQscil7dmFyIG49cigxMDE5KTtlLmV4cG9ydHM9ZnVuY3Rpb24oZSx0KXt2YXIgcj1lLl9fZGF0YV9fO3JldHVybiBuKHQpP3JbInN0cmluZyI9PXR5cGVvZiB0PyJzdHJpbmciOiJoYXNoIl06ci5tYXB9fSxmdW5jdGlvbihlLHQscil7dmFyIG49cigxMDMzKSxpPXIoMTAzOSksbz1yKDExNyk7ZS5leHBvcnRzPWZ1bmN0aW9uKGUpe3JldHVybiBvKGUpP24oZSk6aShlKX19LGZ1bmN0aW9uKGUsdCxyKXt2YXIgbj1yKDExOCksaT0xLzA7ZS5leHBvcnRzPWZ1bmN0aW9uKGUpe2lmKCJzdHJpbmciPT10eXBlb2YgZXx8bihlKSlyZXR1cm4gZTt2YXIgdD1lKyIiO3JldHVybiIwIj09dCYmMS9lPT0taT8iLTAiOnR9fSxmdW5jdGlvbihlLHQscil7dmFyIG49cig0ODgpLGk9cigxMDY1KShuKTtlLmV4cG9ydHM9aX0sZnVuY3Rpb24oZSx0LHIpe3ZhciBuPXIoMjg5KSxpPXIoMTE3KSxvPXIoMjk2KSxhPXIoMzUpO2UuZXhwb3J0cz1mdW5jdGlvbihlLHQscil7aWYoIWEocikpcmV0dXJuITE7dmFyIHM9dHlwZW9mIHQ7cmV0dXJuISEoIm51bWJlciI9PXM/aShyKSYmbyh0LHIubGVuZ3RoKToic3RyaW5nIj09cyYmdCBpbiByKSYmbihyW3RdLGUpfX0sZnVuY3Rpb24oZSx0LHIpeyJ1c2Ugc3RyaWN0IjshZnVuY3Rpb24gZSgpe2lmKCJ1bmRlZmluZWQiIT09dHlwZW9mIF9fUkVBQ1RfREVWVE9PTFNfR0xPQkFMX0hPT0tfXyYmImZ1bmN0aW9uIj09PXR5cGVvZiBfX1JFQUNUX0RFVlRPT0xTX0dMT0JBTF9IT09LX18uY2hlY2tEQ0UpdHJ5e19fUkVBQ1RfREVWVE9PTFNfR0xPQkFMX0hPT0tfXy5jaGVja0RDRShlKX1jYXRjaCh0KXtjb25zb2xlLmVycm9yKHQpfX0oKSxlLmV4cG9ydHM9cig1MzgpfSxmdW5jdGlvbihlLHQscil7dmFyIG49cigxMDg3KSxpPXIoMTA4OCksbz1yKDc1KSxhPXIoOSkscz1yKDE5OSk7ZS5leHBvcnRzPWZ1bmN0aW9uKGUsdCxyKXt2YXIgdT1hKGUpP246aTtyZXR1cm4gciYmcyhlLHQscikmJih0PXZvaWQgMCksdShlLG8odCwzKSl9fSxmdW5jdGlvbihlLHQscil7InVzZSBzdHJpY3QiO3ZhciBuPXMocigxMTA0KSksaT1zKHIoMTEwOSkpLG89cyhyKDUwMCkpLGE9cyhyKDQ5NykpO2Z1bmN0aW9uIHMoZSl7cmV0dXJuIGUmJmUuX19lc01vZHVsZT9lOntkZWZhdWx0OmV9fWUuZXhwb3J0cz17VHJhbnNpdGlvbjphLmRlZmF1bHQsVHJhbnNpdGlvbkdyb3VwOm8uZGVmYXVsdCxSZXBsYWNlVHJhbnNpdGlvbjppLmRlZmF1bHQsQ1NTVHJhbnNpdGlvbjpuLmRlZmF1bHR9fSxmdW5jdGlvbihlLHQscil7dmFyIG4saT1yKDEwOTApLG89cigxMDkxKSxhPXIoMTA5Mykscz0xMDAsdT0vKFwrfFwtfFwqfFxcfFteYS16XXwpKFxzKikoXCgpL2c="
}