Find this useful? Enter your email to receive occasional updates for securing PHP code.
Signing you up...
Thank you for signing up!
PHP Decode
<?php define('NEW_INDEX','QGV4dGVuZHMoJ2xheW91dHMuZnJhbWUnKQ0KQHNlY3Rpb24oJ2NvbnRlbnQnKQ0..
Decoded Output download
<?php
define('NEW_INDEX','QGV4dGVuZHMoJ2xheW91dHMuZnJhbWUnKQ0KQHNlY3Rpb24oJ2NvbnRlbnQnKQ0KPCEtLSBUT1AgTkFWSUdBU0kgU1RBUlQgLS0+DQo8ZGl2IGNsYXNzPSJidGwiPg0KICAgIDxhIGhyZWY9ImphdmFzY3JpcHQ6dm9pZCgwKTsiIG9uY2xpY2s9ImFkZCgpOyIgY2xhc3M9ImJ0bi1zbSBiZy0xIHIyMCIgdGl0bGU9IkFERCI+PGkgY2xhc3M9ImZhIGZhLXBsdXMiPjwvaT48L2E+DQo8L2Rpdj4NCjxkaXYgY2xhc3M9ImJ0ciI+DQogICAgPGEgaHJlZj0iamF2YXNjcmlwdDp2b2lkKDApOyIgb25jbGljaz0iJChgI2RndXNlcmApLmRhdGFncmlkKGByZWxvYWRgKTsiIGNsYXNzPSJidG4tc20gYnQtMSByMjAiIHRpdGxlPSJSZWxvYWQiPjxpIGNsYXNzPSJmYS1zb2xpZCBmYS1zeW5jIGZhLXNtIj48L2k+PC9hPg0KPC9kaXY+DQo8IS0tIFRPUCBOQVZJR0FTSSBFTkQgLS0+DQo8ZGl2IGNsYXNzPSJtdC0yIj4NCjwhLS0gQk9EWSBTVEFSVCAtLT4NCiAgICA8Y2VudGVyPg0KICAgICAgICA8YSBocmVmPSIiIGNsYXNzPSJ0ZXh0LXt7KGluYygndGVtYScpPT0nZGFyaycpPyd3aGl0ZSc6J2RhcmsnO319Ij48aSBjbGFzcz0ie3skaWNvbn19IG1yLTIgbWItMyI+PC9pPjxzdHJvbmc+PHNtYWxsPnt7JGxhYmVsfX08L3NtYWxsPjwvc3Ryb25nPjwvYT4NCiAgICA8L2NlbnRlcj4NCg0KICAgIA0KPCEtLSBCT0RZIEVORCAtLT4NCjwvZGl2Pg0KQGVuZHNlY3Rpb24=');
define('NEW_RELASI','QGV4dGVuZHMoJ2xheW91dHMuZnJhbWUnKQpAc2VjdGlvbignY29udGVudCcpCjwhLS0gVE9QIE5BVklHQVNJIFNUQVJUIC0tPgo8ZGl2IGNsYXNzPSJidGwiPgogICAgICAge3tidGJhY2soKTt9fQo8L2Rpdj4KPGRpdiBjbGFzcz0iYnRyIj4KICAgIDxhIGhyZWY9IiIgY2xhc3M9ImJ0bi1zbSBidC0xIHIyMCBkLW5vbmUgZC1zbS1pbmxpbmUtYmxvY2siIHRpdGxlPSJSZWxvYWQiPjxpIGNsYXNzPSJmYS1zb2xpZCBmYS1zeW5jIGZhLXNtIj48L2k+PC9hPgo8L2Rpdj4KPCEtLSBUT1AgTkFWSUdBU0kgRU5EIC0tPgo8ZGl2IGNsYXNzPSJtdC0yIj4KPCEtLSBCT0RZIFNUQVJUIC0tPgogICAgPGNlbnRlcj4KICAgICAgICA8YSBocmVmPSIiIGNsYXNzPSJ0ZXh0LXt7KGluYygndGVtYScpPT0nZGFyaycpPyd3aGl0ZSc6J2RhcmsnO319Ij48aSBjbGFzcz0ie3skaWNvbn19IG1yLTIgbWItMyI+PC9pPjxzdHJvbmc+PHNtYWxsPnt7JGxhYmVsfX08L3NtYWxsPjwvc3Ryb25nPjwvYT4KICAgIDwvY2VudGVyPgogICAgQHBocAogICAgJGlkID0gJ2FwcCc7CiAgICAkYXIgPSAobWUoJ2xldmVsJyk9PSdkZXYnKT8KICAgIFsKICAgICAgICBbIm0iPT4idHJ1ZSIsImlkIj0+JGlkLiJfbmFtZSIsImxhYmVsIj0+IkFQUCBOQU1FIiwiY2xhc3MiPT4iaW5wdXQiXSwKICAgICAgICBbIm0iPT4idHJ1ZSIsImlkIj0+JGlkLiJfc3RhcnQiLCJsYWJlbCI9PiJBUFAgU1RBUlQiLCJjbGFzcyI9PiJpbnB1dCJdLAogICAgICAgIFsibSI9PiJ0cnVlIiwiaWQiPT4iIiwibGFiZWwiPT4iVFlQRSBCT0xFQU4iLCJjbGFzcyI9PiJiYXRhcyJdLAogICAgICAgIFsibSI9PiJ0cnVlIiwiaWQiPT4kaWQuIl9uYW1lIiwibGFiZWwiPT4iQVBQIFNUQVRVUyNFTkFCTEUjRElTQUJMRSIsImNsYXNzIj0+ImJvbGVhbiJdLAogICAgICAgIFsibSI9PiJ0cnVlIiwiaWQiPT4iIiwibGFiZWwiPT4iVFlQRSBQQVNTV09SRCIsImNsYXNzIj0+ImJhdGFzIl0sCiAgICAgICAgWyJtIj0+InRydWUiLCJpZCI9PiRpZC4iX2tleSIsImxhYmVsIj0+IkFQUCBLRVkiLCJjbGFzcyI9PiJwYXNzd29yZCJdLAogICAgICAgIFsibSI9PiJ0cnVlIiwiaWQiPT4iIiwibGFiZWwiPT4iIiwiY2xhc3MiPT4iZ2FyaXMiXSwKICAgIF0KICAgIDoKICAgIFsKICAgICAgICBbIm0iPT4idHJ1ZSIsImlkIj0+JGlkLiJfYXBwX25hbWUiLCJsYWJlbCI9PiJBUFAgTkFNRSIsImNsYXNzIj0+ImlucHV0Il0sCiAgICAgICAgWyJtIj0+InRydWUiLCJpZCI9PiRpZC4iX3N0YXJ0IiwibGFiZWwiPT4iQVBQIFNUQVJUIiwiY2xhc3MiPT4iaW5wdXQiXSwKICAgICAgICBbIm0iPT4idHJ1ZSIsImlkIj0+IiIsImxhYmVsIj0+IiIsImNsYXNzIj0+ImdhcmlzIl0sCiAgICBdOwogICAgQGVuZHBocAogICAgPGRpdiBjbGFzcz0ibS00Ij4KCiAgICAgICAgPGRpdiBjbGFzcz0ibWItMiI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNhcmQiIHN0eWxlPSJib3JkZXItcmFkaXVzOiAxMHB4O2JvcmRlci1sZWZ0OiA1cHggc29saWQge3tjb2xvcigncHJpX2EnKX19O2JvcmRlci1yaWdodDogNXB4IHNvbGlkIHt7Y29sb3IoJ3ByaV9hJyl9fTsiPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sIj4KICAgICAgICAgICAgICAgICAgICA8c3Ryb25nPlRZUEUgVEVYVDwvc3Ryb25nPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9InJvdyBteS0yIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLW1kLTQiPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2FyZCBjb2wgdGFibGUtcmVzcG9uc2l2ZSI+CiAgICAgICAgICAgICAgICAgICAgTU9EVUwgSUQKICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLW1kLTgiPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2FyZCBjb2wgdGFibGUtcmVzcG9uc2l2ZSI+CiAgICAgICAgICAgICAgICAgICAgPHN0cm9uZz57eyRpZH19PC9zdHJvbmc+IAogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICAgIEBmb3JlYWNoKCRhciBhcyAkbykKICAgICAgICBAaWYoJG9bJ2NsYXNzJ109PSdpbnB1dCcpCiAgICAgICAgPGRpdiBjbGFzcz0icm93IG15LTIiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtbWQtNCI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjYXJkIGNvbCB0YWJsZS1yZXNwb25zaXZlIj4KICAgICAgICAgICAgICAgICAgICAge3skb1snbGFiZWwnXX19CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1tZC04Ij4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNhcmQgY29sIHRhYmxlLXJlc3BvbnNpdmUiPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InJvdyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1tZC0xMCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Ryb25nPjxkaXYgaWQ9Int7JG9bJ2lkJ119fV9sYiI+e3sgaW5jKCRvWydpZCddKSB9fTwvZGl2Pjwvc3Ryb25nPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIGlkPSJ7eyRvWydpZCddfX0iIHN0eWxlPSJoZWlnaHQ6IDIzcHg7IiB2YWx1ZT0ie3sgaW5jKCRvWydpZCddKX19IiBjbGFzcz0iZm9ybS1jb250cm9sIj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1tZC0yIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx4PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9ImphdmFzY3JpcHQ6dm9pZCgwKTsiIGlkPSJidF9lX3t7JG9bJ2lkJ119fSIgY2xhc3M9ImZsb2F0LXJpZ2h0IiBvbmNsaWNrPSJwYXNzX2UoJ3t7JG9bJ2lkJ119fScpIj48aSBjbGFzcz0iZmEgZmEtZWRpdCB0ZXh0LXN1Y2Nlc3MiIHRpdGxlPSJFZGl0Ij48L2k+PC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9ImphdmFzY3JpcHQ6dm9pZCgwKTsiIGlkPSJidF9zX3t7JG9bJ2lkJ119fSIgY2xhc3M9ImZsb2F0LXJpZ2h0IiBvbmNsaWNrPSJzYXZlKCd7eyRvWydpZCddfX0nKSI+PGkgY2xhc3M9ImZhIGZhLXNhdmUiIHRpdGxlPSJTYXZlIj48L2k+PC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC94PgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgICBAZWxzZWlmKCRvWydjbGFzcyddPT0ncGFzc3dvcmQnKQogICAgICAgIDxkaXYgY2xhc3M9InJvdyBtYi0yIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLW1kLTQiPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2FyZCBjb2wgdGFibGUtcmVzcG9uc2l2ZSI+CiAgICAgICAgICAgICAgICAgICAge3skb1snbGFiZWwnXX19CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1tZC04Ij4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNhcmQgY29sIHRhYmxlLXJlc3BvbnNpdmUiPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InJvdyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1tZC0xMCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Ryb25nPjxkaXYgaWQ9Int7JG9bJ2lkJ119fV9sYiI+KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKjwvZGl2Pjwvc3Ryb25nPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIGlkPSJ7eyRvWydpZCddfX0iIHN0eWxlPSJoZWlnaHQ6IDIzcHg7IiB2YWx1ZT0ie3sgaG1hY19kZWNvZGUoaW5jKCRvWydpZCddKSl9fSIgY2xhc3M9ImZvcm0tY29udHJvbCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtbWQtMiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8eD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSJqYXZhc2NyaXB0OnZvaWQoMCk7IiBpZD0iYnRfZV97eyRvWydpZCddfX0iIGNsYXNzPSJmbG9hdC1yaWdodCIgb25jbGljaz0icGFzc19lKCd7eyRvWydpZCddfX0nKSI+PGkgY2xhc3M9ImZhIGZhLWVkaXQgdGV4dC1zdWNjZXNzIiB0aXRsZT0iRWRpdCI+PC9pPjwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSJqYXZhc2NyaXB0OnZvaWQoMCk7IiBpZD0iYnRfc197eyRvWydpZCddfX0iIGNsYXNzPSJmbG9hdC1yaWdodCIgb25jbGljaz0ic2F2ZSgne3skb1snaWQnXX19JykiPjxpIGNsYXNzPSJmYSBmYS1zYXZlIiB0aXRsZT0iU2F2ZSI+PC9pPjwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwveD4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgICAgQGVsc2VpZigkb1snY2xhc3MnXT09J2JvbGVhbicpCiAgICAgICAgICAgQHBocCAkeCA9IGV4cGxvZGUoJyMnLCRvWydsYWJlbCddKUBlbmRwaHAKICAgICAgICA8ZGl2IGNsYXNzPSJyb3cgbWItMiI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1tZC00Ij4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNhcmQgY29sIHRhYmxlLXJlc3BvbnNpdmUiPgogICAgICAgICAgICAgICAgICAgIHt7JHhbMF19fQogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtbWQtOCI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjYXJkIGNvbCB0YWJsZS1yZXNwb25zaXZlIj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJyb3cgY29sIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLW1kLTYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InJhZGlvIiBuYW1lPSJ7eyRvWydpZCddfX0iIGlkPSJ7eyRvWydpZCddfX0xIiBvbmNsaWNrPSJzYXZlcihge3skb1snaWQnXX19YCxgdHJ1ZWApIiBjbGFzcz0ibXItMiIgdmFsdWU9InRydWUiPnt7JHhbMV19fQogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLW1kLTYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InJhZGlvIiBuYW1lPSJ7eyRvWydpZCddfX0iIGlkPSJ7eyRvWydpZCddfX0yIiBvbmNsaWNrPSJzYXZlcihge3skb1snaWQnXX19YCxgZmFsc2VgKSIgY2xhc3M9Im1yLTIiIHZhbHVlPSJmYWxzZSI+e3skeFsyXX19CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICAgIDxzY3JpcHQ+CiAgICAgICAgICAgIGlmICgie3tpbmMoJG9bJ2lkJ10sJzEnKX19IiA9PSAidHJ1ZSIpIHsKICAgICAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd7eyRvWyJpZCJdfX0yJykuY2hlY2tlZCA9IGZhbHNlOwogICAgICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3t7JG9bImlkIl19fTEnKS5jaGVja2VkID0gdHJ1ZTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd7eyRvWyJpZCJdfX0xJykuY2hlY2tlZCA9IGZhbHNlOwogICAgICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3t7JG9bImlkIl19fTInKS5jaGVja2VkID0gdHJ1ZTsKICAgICAgICAgICAgfQogICAgICAgIDwvc2NyaXB0PgogICAgICAgIEBlbHNlaWYoJG9bJ2NsYXNzJ109PSdiYXRhcycpCiAgICAgICAgPGRpdiBjbGFzcz0ibWItMiI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNhcmQiIHN0eWxlPSJib3JkZXItcmFkaXVzOiAxMHB4O2JvcmRlci1sZWZ0OiA1cHggc29saWQge3tjb2xvcigncHJpX2EnKX19O2JvcmRlci1yaWdodDogNXB4IHNvbGlkIHt7Y29sb3IoJ3ByaV9hJyl9fTsiPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sIj4KICAgICAgICAgICAgICAgICAgICA8c3Ryb25nPnt7JG9bJ2xhYmVsJ119fTwvc3Ryb25nPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICAgIEBlbHNlCiAgICAgICAgPGRpdiBjbGFzcz0ibXktMiI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNhcmQgYmctMSI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wiPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICAgIEBlbmRpZgogICAgICAgIEBlbmRmb3JlYWNoCiAgICAgICAKCiAgICA8L2Rpdj4KICAgIAo8IS0tIEJPRFkgRU5EIC0tPgo8L2Rpdj4KPHNjcmlwdD4KdmFyIGFyID0gQHBocCBlY2hvIGpzb25fZW5jb2RlKCRhcikgQGVuZHBocDsKZm9yIChpID0gMDsgaSA8IGFyLmxlbmd0aDsgaSsrKSB7CiQoJyMnK2FyW2ldWydpZCddKydfbGInKS5zaG93KCk7CiQoJyMnK2FyW2ldWydpZCddKS5oaWRlKCk7CiQoJyNidF9zXycrYXJbaV1bJ2lkJ10pLmhpZGUoKTsKJCgnI2J0X2VfJythcltpXVsnaWQnXSkuc2hvdygpOwp9Ci8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpmdW5jdGlvbiBwYXNzX2UoaWQpIHsKICAgICQoJyNidF9lXycgKyBpZCkuaGlkZSgpOwogICAgJCgnI2J0X3NfJyArIGlkKS5zaG93KCk7CiAgICAkKCcjJyArIGlkICsgJ19sYicpLmhpZGUoKTsKICAgICQoJyMnICsgaWQpLnNob3coKTsKICAgICQoJyMnICsgaWQpLmZvY3VzKCk7Cn0KLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpmdW5jdGlvbiBwYXNzX3goaWQpIHsKICAgICQoJyMnICsgaWQpLmhpZGUoKTsKICAgICQoJyMnICsgaWQgKyAnX2xiJykuc2hvdygpOwogICAgJCgnI2J0X3NfJyArIGlkKS5oaWRlKCk7CiAgICAkKCcjYnRfZV8nICsgaWQpLnNob3coKTsKfQovLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CmZ1bmN0aW9uIHNhdmUoaWQpIHsKICAgIHZhciB0b2tlbiA9ICQoIm1ldGFbbmFtZT0nY3NyZi10b2tlbiddIikuYXR0cigiY29udGVudCIpOwogICAgdmFyIHZhbCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGlkKS52YWx1ZTsKICAgIHZhciBjb2wgPSAnY29kZSc7CiAgICAkLmFqYXgoewogICAgICAgIHVybDogInt7JHBvc3R9fXVwZGF0ZWluYyIsCiAgICAgICAgdHlwZTogIlBPU1QiLAogICAgICAgIGRhdGFUeXBlOiAiSlNPTiIsCiAgICAgICAgY2FjaGU6IGZhbHNlLAogICAgICAgIGRhdGE6IHsKICAgICAgICAgICAgIl90b2tlbiI6IHRva2VuLGlkLHZhbCxjb2wKICAgICAgICB9LAogICAgICAgIHN1Y2Nlc3M6ZnVuY3Rpb24ocil7CiAgICAgICAgICAgIGlmIChyLnN1Y2Nlc3MpIHsKICAgICAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGlkICsgJ19sYicpLmlubmVySFRNTCA9IHZhbCA7CiAgICAgICAgICAgICAgICBtc2coJ1N1Y2Nlc3MgIScsJ0Jlcmhhc2lsIERpIFNhdmUnKTsKICAgICAgICAgICAgICAgIHBhc3NfeChpZCk7CiAgICAgICAgICAgIH1lbHNlewogICAgICAgICAgICAgICAgcGFzc194KGlkKTsKICAgICAgICAgICAgICAgIG1zZygnRXJyb3IgIScsci5lcnJvck1zZyk7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9KTsKfQovLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CmZ1bmN0aW9uIHNhdmVyKGlkLHZhbCkgewogICAgdmFyIHRva2VuID0gJCgibWV0YVtuYW1lPSdjc3JmLXRva2VuJ10iKS5hdHRyKCJjb250ZW50Iik7CiAgICB2YXIgY29sID0gJ3N0YXR1cyc7CiAgICAkLmFqYXgoewogICAgICAgIHVybDogInt7JHBvc3R9fXVwZGF0ZWluYyIsCiAgICAgICAgdHlwZTogIlBPU1QiLAogICAgICAgIGRhdGFUeXBlOiAiSlNPTiIsCiAgICAgICAgY2FjaGU6IGZhbHNlLAogICAgICAgIGRhdGE6IHsKICAgICAgICAgICAgIl90b2tlbiI6IHRva2VuLGlkLHZhbCxjb2wKICAgICAgICB9LAogICAgICAgIHN1Y2Nlc3M6ZnVuY3Rpb24ocil7CiAgICAgICAgICAgIGlmIChyLnN1Y2Nlc3MpIHsKICAgICAgICAgICAgICAgIG1zZygnU3VjY2VzcyAhJywnQmVyaGFzaWwgRGkgU2F2ZScpOwogICAgICAgICAgICB9ZWxzZXsKICAgICAgICAgICAgICAgIG1zZygnRXJyb3IgIScsci5lcnJvck1zZyk7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9KTsKfQovLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KPC9zY3JpcHQ+CkBlbmRzZWN0aW9u');
define('NEW_MASTER','QGV4dGVuZHMoJ2xheW91dHMuZnJhbWUnKQpAc2VjdGlvbignY29udGVudCcpCkBwaHAgJGNvbG9yID0gJ2RhcmsnIEBlbmRwaHAKPHN0eWxlPgogICAgLnIxewogICAgICAgIGZvbnQtd2VpZ2h0OmJvbGQ7CiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2UwM2UxNTsKICAgICAgICBjb2xvcjojZmZmOwogICAgfQogICAgLnIxOmhvdmVyIHsKICAgIGJhY2tncm91bmQtY29sb3I6ICM3ZTFmMDg7CiAgICB9Cjwvc3R5bGU+CjwhLS0gVE9QIE5BVklHQVNJIFNUQVJUIC0tPgo8ZGl2IGNsYXNzPSJidGwiPgogICAge3tidGJhY2soKTt9fQo8L2Rpdj4KPGRpdiBjbGFzcz0iYnRyIj4KPC9kaXY+CjwhLS0gVE9QIE5BVklHQVNJIEVORCAtLT4KPGRpdiBjbGFzcz0ibXQtMiI+CjwhLS0gQk9EWSBTVEFSVCAtLT4KICAgIDwhLS0gPGNlbnRlcj4KICAgICAgICA8YSBocmVmPSIiIGNsYXNzPSJ0ZXh0LXt7KGluYygndGVtYScpPT0nZGFyaycpPyd3aGl0ZSc6J2RhcmsnO319Ij48L2E+CiAgICA8L2NlbnRlcj4gLS0+CiAgICA8ZGl2IGNsYXNzPSJteC00Ij4KICAgICAgICA8ZmllbGRzZXQgY2xhc3M9ImJvcmRlciBwLTIiIHN0eWxlPSJib3JkZXItcmFkaXVzOiA1cHg7Ij4KICAgICAgICAgICAgPGxlZ2VuZCAgY2xhc3M9ImZsb2F0LW5vbmUgdy1hdXRvIj4mbmJzcDsmbmJzcDs8YSBocmVmPSIiIGNsYXNzPSJ0ZXh0LWRhcmsiPjxpIGNsYXNzPSJ7eyRpY29ufX0gbXItMiBtYi0zIj48L2k+PHN0cm9uZz48c21hbGw+e3skbGFiZWx9fTwvc21hbGw+PC9zdHJvbmc+PC9hPiZuYnNwOyZuYnNwOzwvbGVnZW5kPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJyb3ciPgoKICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1tZC0zIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2FyZCBwLTIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iamF2YXNjcmlwdDp2b2lkKDApIiBpZD0iYTEiIG9uY2xpY2s9InNpZGUoMSwne3skcG9zdH19Z2V0ZGF0YS9zYXR1YW4nLCc8c3Ryb25nPlNBVFVBTjwvc3Ryb25nPicsJ3NhdHVhbicpIiBjbGFzcz0iYnRuIGJ0bi17eyRjb2xvcn19IGJ0bi1zbSBibG9jayBteS0xIiB0aXRsZT0iU0FUVUFOIj48c3Ryb25nPlNBVFVBTjwvc3Ryb25nPjwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9ImphdmFzY3JpcHQ6dm9pZCgwKSIgaWQ9ImEyIiBvbmNsaWNrPSJzaWRlKDIsJ3t7JHBvc3R9fWdldGRhdGEva2F0ZWdvcmknLCc8c3Ryb25nPktBVEVHT1JJPC9zdHJvbmc+Jywna2F0ZWdvcmknKSIgY2xhc3M9ImJ0biBidG4tb3V0bGluZS17eyRjb2xvcn19ICBidG4tc20gYmxvY2sgbXktMSIgdGl0bGU9IktBVEVHT1JJIj48c3Ryb25nPktBVEVHT1JJPC9zdHJvbmc+PC9hPgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1tZC05Ij4KICAgICAgICAgICAgICAgICAgICA8Y2VudGVyPgogICAgICAgICAgICAgICAgICAgICAgICA8dGFibGUgaWQ9ImRndXNlciIgdG9vbGJhcj0iI3Rvb2xiYXJDdXN0b21lciIgY2xhc3M9ImVhc3l1aS1kYXRhZ3JpZCIgc2luZ2xlU2VsZWN0PSJ0cnVlIiBzdHlsZT0id2lkdGg6IDEwMCU7IiBmaXRDb2x1bW5zPSJ0cnVlIiByb3dOdW1iZXJzPSJ0cnVlIiBwYWdpbmF0aW9uPSJ0cnVlIiB1cmw9Int7JHBvc3R9fWdldGRhdGEvc2F0dWFuIiBwYWdlU2l6ZT0iMTAiIHBhZ2VMaXN0PSJbMTAsMjUsNTAsNzUsMTAwLDEyNSwxNTAsMjAwXSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGhlYWQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGggZmllbGQ9InRleHQiIHdpZHRoPSIyMDAiIHNvcnRhYmxlPSJ0cnVlIj48c3BhbiBpZD0ibGJoIj48c3Ryb25nPlNBVFVBTjwvc3Ryb25nPjwvc3Bhbj48L3RoPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGggZmllbGQ9InN0YXR1cyIgZm9ybWF0dGVyPSJzaG93X3N0YXR1cyIgc29ydGFibGU9InRydWUiIGFsaWduPSJjZW50ZXIiPkFrdGlmPC90aD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90aGVhZD4KICAgICAgICAgICAgICAgICAgICAgICAgPC90YWJsZT4KICAgICAgICAgICAgICAgICAgICA8L2NlbnRlcj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAKICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9maWVsZHNldD4KICAgIDwvZGl2Pgo8IS0tIEJPRFkgRU5EIC0tPgo8ZGl2IGlkPSJ0b29sYmFyQ3VzdG9tZXIiPgogICAgPGRpdiBjbGFzcz0icm93IHAtMSI+CiAgICAgICAgPGRpdiBjbGFzcz0iY29sLW1kLTYiPgogICAgICAgICAgICA8YSBocmVmPSJqYXZhc2NyaXB0OnZvaWQoMCk7IiBvbmNsaWNrPSIkKGAjZGd1c2VyYCkuZGF0YWdyaWQoYHJlbG9hZGApOyIgY2xhc3M9ImJ0bi1zbSBiZy0xIHIyMCBmbG9hdC1sZWZ0IG1yLTEgbXktMSIgdGl0bGU9IlJFTE9BRCI+PGkgY2xhc3M9ImZhIGZhLXN5bmMiPjwvaT48L2E+CiAgICAgICAgICAgIDxhIGhyZWY9ImphdmFzY3JpcHQ6dm9pZCgwKTsiCiAgICAgICAgICAgIG9uY2xpY2s9IiQubWVzc2FnZXIuYWxlcnQoJ0lORk8gIScsYAogICAgICAgICAgICAgICAgIEtsaWNrIGthbmFuZyBqaWthIGRlc2t0b3Agc2VudHVoIHRhaGFuIGppa2EgTW9iaWxlIHBhZGEgYmFyaXMgZGF0YSBVbnR1ayBtZW51IGxhaW4uPGJyPgogICAgICAgICAgICAgICAgPGhyPgogICAgICAgICAgICAgICAgIERvYmVsIEtsaWNrIGJhcmlzIGRhdGEgdW50dWsgRWRpdC4KICAgICAgICAgICAgICAgIGApOyIgCiAgICAgICAgICAgY2xhc3M9ImJ0bi1zbSBiZy0xIHIyMCBmbG9hdC1sZWZ0IG1yLTEgbXktMSIgdGl0bGU9IkluZm8iPjxpIGNsYXNzPSJmYSBmYS1pbmZvIG14LTEiPjwvaT4KICAgICAgICAgICA8L2E+CiAgICAgICAgICAgPGEgaHJlZj0iamF2YXNjcmlwdDp2b2lkKDApOyIgb25jbGljaz0iYWRkKCk7IiBjbGFzcz0iYnRuLXNtIGJnLTEgcjIwIGZsb2F0LWxlZnQgbXItMSBteS0xIiB0aXRsZT0iQUREIj48aSBjbGFzcz0iZmEgZmEtcGx1cyI+PC9pPiA8L2E+CiAgICAgICAgICAgPGEgaHJlZj0iamF2YXNjcmlwdDp2b2lkKDApOyIgb25jbGljaz0idHJ1bmNhdGUoKTsiIGNsYXNzPSJidG4tc20gYmctMSByMjAgZmxvYXQtbGVmdCBteS0xIiB0aXRsZT0iQmVyc2loa2FuIj48aSBjbGFzcz0iZmEgZmEtdHJhc2giPjwvaT4gPC9hPgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9ImNvbC1tZC02Ij4KICAgICAgICAgICAgPCEtLS0tLS0tLS1TRUFSQ0ggQk9YIFNUQVJULS0tLS0tLS0tPgogICAgICAgICAgICA8aW5wdXQgaWQ9InNlYXJjaEN1c3RvbWVyIiBjbGFzcz0iZWFzeXVpLXNlYXJjaGJveCIgZGF0YS1vcHRpb25zPSJwcm9tcHQ6J0NhcmkuLicsc2VhcmNoZXI6ZG9TZWFyY2hDdXN0b21lciwKICAgICAgICAgICAgaW5wdXRFdmVudHM6ICQuZXh0ZW5kKHt9LCAkLmZuLnNlYXJjaGJveC5kZWZhdWx0cy5pbnB1dEV2ZW50cywgewogICAgICAgICAgICAgICAga2V5dXA6IGZ1bmN0aW9uKGUpewogICAgICAgICAgICAgICAgICAgIHZhciB0ID0gJChlLmRhdGEudGFyZ2V0KTsKICAgICAgICAgICAgICAgICAgICB2YXIgb3B0cyA9IHQuc2VhcmNoYm94KCdvcHRpb25zJyk7CiAgICAgICAgICAgICAgICAgICAgdC5zZWFyY2hib3goJ3NldFZhbHVlJywgJCh0aGlzKS52YWwoKSk7CiAgICAgICAgICAgICAgICAgICAgb3B0cy5zZWFyY2hlci5jYWxsKHRbMF0sdC5zZWFyY2hib3goJ2dldFZhbHVlJyksdC5zZWFyY2hib3goJ2dldE5hbWUnKSk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pCiAgICAgICAgIiBzdHlsZT0id2lkdGg6MTAwJTsiPjwvaW5wdXQ+CiAgICAgICAgICAgIDxzY3JpcHQ+CiAgICAgICAgICAgICAgICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tc3RhcnQKICAgICAgICAgICAgICAgIGZ1bmN0aW9uIGRvU2VhcmNoQ3VzdG9tZXIoKSB7CiAgICAgICAgICAgICAgICAgICAgJCgnI2RndXNlcicpLmRhdGFncmlkKCdsb2FkJywgewogICAgICAgICAgICAgICAgICAgICAgICBzZWFyY2g6ICQoJyNzZWFyY2hDdXN0b21lcicpLnZhbCgpCiAgICAgICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tZW5kCiAgICAgICAgICAgIDwvc2NyaXB0PgogICAgICAgICAgICA8IS0tLS0tLS0tLVNFQVJDSCBCT1ggRU5ELS0tLS0tLS0tLS0+CiAgICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KPC9kaXY+CjwhLS0gS0xJQ0sgS0FOQU4gU1RBUlQgLS0+CjxkaXYgaWQ9Im1tIiBjbGFzcz0iZWFzeXVpLW1lbnUiPgogICAgPGEgaHJlZj0iamF2YXNjcmlwdDp2b2lkKDApIiBjbGFzcz0iYnRuLXNtIGZvcm0tY29udHJvbCBtYi0xIiBwbGFpbj0idHJ1ZSIgb25DbGljaz0iZWRpdCgpOyI+PGkgY2xhc3M9ImZhIGZhLWVkaXQgbXItMiI+PC9pPkVkaXQ8L2E+CiAgICA8YSBocmVmPSJqYXZhc2NyaXB0OnZvaWQoMCkiIGNsYXNzPSJidG4tc20gZm9ybS1jb250cm9sIiBwbGFpbj0idHJ1ZSIgb25DbGljaz0iZGVzdHJveXVzZXIoKTsiPjxpIGNsYXNzPSJmYSBmYS10cmFzaCBtci0yIHRleHQtZGFuZ2VyIj48L2k+IEhhcHVzPC9hPgo8L2Rpdj4KPCEtLSBLTElDSyBLQU5BTiBFTkQgLS0+CjwvZGl2Pgo8IS0tIFN0YXJ0IE1vZGFsIDEgLS0+CjxkaXYgY2xhc3M9Im1vZGFsIGZhZGUiIGlkPSJlZGl0IiB0YWJpbmRleD0iLTEiIGFyaWEtbGFiZWxsZWRieT0iZXhhbXBsZU1vZGFsTGFiZWwiIGFyaWEtaGlkZGVuPSJ0cnVlIj4KICAgIDxkaXYgY2xhc3M9Im1vZGFsLWRpYWxvZyI+CiAgICAgICAgPGRpdiBjbGFzcz0ibW9kYWwtY29udGVudCI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1vZGFsLWhlYWRlciI+CiAgICAgICAgICAgICAgICA8ZGl2IGlkPSJoZWFkIj48L2Rpdj4KICAgICAgICAgICAgICAgIDxidXR0b24gdHlwZT0iYnV0dG9uIiBjbGFzcz0iY2xvc2UiIGRhdGEtZGlzbWlzcz0ibW9kYWwiIGFyaWEtbGFiZWw9IkNsb3NlIj4KICAgICAgICAgICAgICAgICAgICA8c3BhbiBhcmlhLWhpZGRlbj0idHJ1ZSI+JnRpbWVzOzwvc3Bhbj4KICAgICAgICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ibW9kYWwtYm9keSI+CgogICAgICAgICAgICAgICAgPGZvcm0gaWQ9ImZtIiBtZXRob2Q9InBvc3QiIGVuY3R5cGU9Im11bHRpcGFydC9mb3JtLWRhdGEiPgogICAgICAgICAgICAgICAgICAgIDxzcGFuIGlkPSJsYm0iPjxzdHJvbmc+U2F0dWFuPC9zdHJvbmc+PC9zcGFuPjxicj4KICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJfdG9rZW4iIGlkPSJfdG9rZW4iPgogICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9ImlkIiBpZD0iaWQiPgogICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9ImNsYXNzIiBpZD0iY2xhc3MiPgogICAgICAgICAgICAgICAgICAgIDxzbWFsbD48c3Ryb25nPlRleHQ8L3N0cm9uZz4gKjwvc21hbGw+CiAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIG5hbWU9InRleHQiIGlkPSJ0ZXh0IiBjbGFzcz0iZm9ybS1jb250cm9sIj4KICAgICAgICAgICAgICAgICAgICA8c21hbGw+PHN0cm9uZz5TdGF0dXM8L3N0cm9uZz4gKjwvc21hbGw+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icm93IG1iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtbWQtNiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0icmFkaW8iIG5hbWU9InN0YXR1cyIgaWQ9InN0YXR1czEiIGNsYXNzPSJtci0yIiB2YWx1ZT0idHJ1ZSI+QWt0aWYKICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1tZC02Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJyYWRpbyIgbmFtZT0ic3RhdHVzIiBpZD0ic3RhdHVzMiIgY2xhc3M9Im1yLTIiIHZhbHVlPSJmYWxzZSI+Tm9uQWt0aWYKICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8L2Zvcm0+CgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ibW9kYWwtZm9vdGVyIj4KICAgICAgICAgICAgICAgIDxhIGhyZWY9ImphdmFzY3JpcHQ6dm9pZCgwKTsiIG9uY2xpY2s9InNhdmUoKTsiIGNsYXNzPSJidG4gYnRuLW91dGxpbmUtZGFyayBidG4tc20iPjxpIGNsYXNzPSJmYSBmYS1zYXZlIG1yLTIiPjwvaT5TYXZlPC9hPgogICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KPC9kaXY+CjwhLS0gRW5kIE1vZGFsIDEtLT4KPGlucHV0IHR5cGU9ImhpZGRlbiIgaWQ9ImNsIiB2YWx1ZT0ic2F0dWFuIj4KPHNjcmlwdD4KLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLXN0YXJ0CmZ1bmN0aW9uIHNpZGUodmFsLHVybCxsYixjbCl7CiAgICBmb3IgKGxldCBpID0gMTsgaSA8IDE1OyBpKyspIHsKICAgICAgICBpZih2YWw9PWkpewogICAgICAgICAgICAkKCIjYSIraSkucmVtb3ZlQ2xhc3MoJ2J0bi1vdXRsaW5lLXt7JGNvbG9yfX0nKTsKICAgICAgICAgICAgJCgiI2EiK2kpLmFkZENsYXNzKCdidG4te3skY29sb3J9fScpOwogICAgICAgICAgICAkKCIjYiIraSkuc2hvdygpOwogICAgICAgIH1lbHNlewogICAgICAgICAgICAkKCIjYSIraSkucmVtb3ZlQ2xhc3MoJ2J0bi17eyRjb2xvcn19Jyk7CiAgICAgICAgICAgICQoIiNhIitpKS5hZGRDbGFzcygnYnRuLW91dGxpbmUte3skY29sb3J9fScpOwogICAgICAgICAgICAkKCIjYiIraSkuaGlkZSgpOwogICAgICAgIH0KICAgIH0KICAgICQoJyNsYmgnKS5odG1sKGxiKTsKICAgICQoJyNsYm0nKS5odG1sKGxiKTsKICAgICQoJyNjbCcpLnZhbChjbCk7CiAgICAkKCcjZGd1c2VyJykuZGF0YWdyaWQoJ2xvYWQnLHVybCk7Cn0KLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLWVuZAovLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tc3RhcnQKZnVuY3Rpb24gYWRkKCkgewogICAgJCgnI2ZtJykuZm9ybSgnY2xlYXInKTsKICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGF0dXMxIikuY2hlY2tlZCA9IHRydWU7CiAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiX3Rva2VuIikudmFsdWUgPSAkKCJtZXRhW25hbWU9J2NzcmYtdG9rZW4nXSIpLmF0dHIoImNvbnRlbnQiKTsKICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJoZWFkIikuaW5uZXJIVE1MID0gJzxoNSBjbGFzcz0ibW9kYWwtdGl0bGUiPjxpIGNsYXNzPSJmYSBmYS1wbHVzIG1yLTIiPjwvaT5UYW1iYWggRGF0YTwvaDU+JzsKICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJpZCIpLnZhbHVlID0gJ2luc2VydCc7CiAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2xhc3MiKS52YWx1ZSA9ICQoJyNjbCcpLnZhbCgpOwogICAgJCgnI2VkaXQnKS5tb2RhbCgnc2hvdycpOwoKfQovLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tZW5kCi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1zdGFydApmdW5jdGlvbiBlZGl0KCkgewogICAgdmFyIHJvdyA9ICQoJyNkZ3VzZXInKS5kYXRhZ3JpZCgnZ2V0U2VsZWN0ZWQnKTsKICAgIGlmIChyb3cpIHsKICAgICAgICAkKCcjZm0nKS5mb3JtKCdsb2FkJywgcm93KTsKICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiX3Rva2VuIikudmFsdWUgPSAkKCJtZXRhW25hbWU9J2NzcmYtdG9rZW4nXSIpLmF0dHIoImNvbnRlbnQiKTsKICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiaGVhZCIpLmlubmVySFRNTCA9ICc8aDUgY2xhc3M9Im1vZGFsLXRpdGxlIj48aSBjbGFzcz0iZmEgZmEtZWRpdCBtci0yIj48L2k+RWRpdCBEYXRhPC9oNT4nOwogICAgICAgICQoJyNlZGl0JykubW9kYWwoJ3Nob3cnKTsKICAgIH0KfQovLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tZW5kCi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1zdGFydApmdW5jdGlvbiB0cnVuY2F0ZSgpIHsKICAgIGlmICgkKCcjY2wnKS52YWwoKSkgewogICAgICAgICQubWVzc2FnZXIuZGVmYXVsdHMub2sgPSAnQmVyc2loa2FuJzsKICAgICAgICAkLm1lc3NhZ2VyLmNvbmZpcm0oJ0F0dGVudGlvbiEnLCAnPHN0cm9uZyBjbGFzcz0idGV4dC1pbmZvIj5IYXRpLWhhdGkgTWVsYWt1a2FuIGFrc2kgaW5pLDwvc3Ryb25nPjxicj4gQXBha2FoIEFuZGEgWWFraW4gSW5naW4gTWVtYmVyc2loa2FuIG1hc3RlciA/PGJyPkNsYXNzIDogJyArICQoJyNjbCcpLnZhbCgpLCBmdW5jdGlvbihyKSB7CiAgICAgICAgICAgIGlmIChyKSB7CiAgICAgICAgICAgICAgICAkLnBvc3QoInt7JHBvc3R9fWRlbGNsYXNzL251bGwiLCB7CiAgICAgICAgICAgICAgICAgICAgIl90b2tlbiI6ICQoIm1ldGFbbmFtZT0nY3NyZi10b2tlbiddIikuYXR0cigiY29udGVudCIpLCBjbGFzczogJCgnI2NsJykudmFsKCkKICAgICAgICAgICAgICAgIH0sIGZ1bmN0aW9uKHIpIHsKICAgICAgICAgICAgICAgICAgICBpZiAoci5zdWNjZXNzKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICQoJyNkZ3VzZXInKS5kYXRhZ3JpZCgncmVsb2FkJyk7CiAgICAgICAgICAgICAgICAgICAgICAgIG1zZygnJywgJ0Jlcmhhc2lsIERpIGJlcnNpaGthbicpOwogICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgIG1zZygnRXJyb3InLCByLmVycm9yTXNnKTsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9LCAnanNvbicpOwogICAgICAgICAgICB9CiAgICAgICAgfSk7CiAgICB9Cn0KLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLWVuZAovLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tc3RhcnQKZnVuY3Rpb24gc2hvd19zdGF0dXModmFsLCByb3cpIHsKcmV0dXJuICh2YWw9PSd0cnVlJyk/JzxpIGNsYXNzPSJmYSBmYS1jaGVjayBidG4tc20iPjwvaT4nOic8aSBjbGFzcz0iZmEgZmEtdGltZXMgYnRuLXNtIj48L2k+JzsKfQovLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tZW5kCi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1zdGFydAokKGZ1bmN0aW9uKCkgewogICAgJCgnI2RndXNlcicpLmRhdGFncmlkKHsKICAgICAgICBzaW5nbGVTZWxlY3Q6IHRydWUsCiAgICAgICAgb25Sb3dDb250ZXh0TWVudTogZnVuY3Rpb24oZSwgaW5kZXgsIHJvdykgewogICAgICAgICAgICAkKHRoaXMpLmRhdGFncmlkKCdzZWxlY3RSb3cnLCBpbmRleCk7CiAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTsKICAgICAgICAgICAgJCgnI21tJykubWVudSgnc2hvdycsIHsKICAgICAgICAgICAgICAgIGxlZnQ6IGUucGFnZVgsCiAgICAgICAgICAgICAgICB0b3A6IGUucGFnZVkKICAgICAgICAgICAgfSk7CiAgICAgICAgfSwKICAgICAgICBvbkRibENsaWNrUm93OiBmdW5jdGlvbigpIHsKICAgICAgICAgICAgZWRpdCgpOwogICAgICAgIH0sCiAgICAgICAgcm93U3R5bGVyOiBmdW5jdGlvbihpbmRleCwgcm93KSB7CiAgICAgICAgICAgIGlmIChyb3cuc3RhdHVzID09ICdmYWxzZScpIHsKICAgICAgICAgICAgICAgIHJldHVybiB7Y2xhc3M6J3IxJ307CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9KQoKfSkKLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLWVuZAovLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KZnVuY3Rpb24gc2F2ZSgpIHsKICAgIHZhciB0ZXh0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRleHQiKS52YWx1ZTsKICAgIGlmICh0ZXh0ID09ICcnKSB7CiAgICAgICAgbXNnKCdFcnJvcicsJ3RleHQgaGFydXMgRGkgaXNpLicpOwogICAgICAgICQoJyN0ZXh0JykuZm9jdXMoKTsKICAgICAgICBleGl0OwogICAgfQogICAgJCgnI2ZtJykuZm9ybSgnc3VibWl0JywgewogICAgICAgIHVybDogJ3t7JHBvc3R9fWNydWQvbnVsbCcsCiAgICAgICAgb25TdWJtaXQ6IGZ1bmN0aW9uKCkgewogICAgICAgICAgICByZXR1cm4gJCh0aGlzKS5mb3JtKCd2YWxpZGF0ZScpOwogICAgICAgIH0sCiAgICAgICAgc3VjY2VzczogZnVuY3Rpb24ocmVzdWx0KSB7CiAgICAgICAgICAgIHZhciByZXN1bHQgPSBldmFsKCcoJyArIHJlc3VsdCArICcpJyk7CiAgICAgICAgICAgIGlmIChyZXN1bHQuc3VjY2VzcykgewogICAgICAgICAgICAgICAgJCgnI2VkaXQnKS5tb2RhbCgnaGlkZScpOwogICAgICAgICAgICAgICAgJCgnI2RndXNlcicpLmRhdGFncmlkKCdyZWxvYWQnKTsKICAgICAgICAgICAgICAgIG1zZygnJywgJ0Jlcmhhc2lsIGRpIFNhdmUnKTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIG1zZygnRXJyb3InLCByZXN1bHQuZXJyb3JNc2cpOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfSk7Cn0KLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1zdGFydApmdW5jdGlvbiBkZXN0cm95dXNlcigpIHsKICAgIHZhciByb3cgPSAkKCcjZGd1c2VyJykuZGF0YWdyaWQoJ2dldFNlbGVjdGVkJyk7CiAgICBpZiAocm93KSB7CiAgICAgICAgJC5tZXNzYWdlci5kZWZhdWx0cy5vayA9ICdZQSc7CiAgICAgICAgJC5tZXNzYWdlci5jb25maXJtKCdBdHRlbnRpb24hJywgJzxzdHJvbmcgY2xhc3M9InRleHQtZGFuZ2VyIj5IYXRpLWhhdGkgTWVsYWt1a2FuIGFrc2kgaW5pLDwvc3Ryb25nPjxicj4gQXBha2FoIEFuZGEgWWFraW4gSW5naW4gTWVuZ2hhcHVzIGRhdGEgaW5pID88YnI+VGV4dCA6ICcgKyByb3cudGV4dCwgZnVuY3Rpb24ocikgewogICAgICAgICAgICBpZiAocikgewogICAgICAgICAgICAgICAgJC5wb3N0KCJ7eyRwb3N0fX1kZWxldGUvbnVsbCIsIHsKICAgICAgICAgICAgICAgICAgICAiX3Rva2VuIjogJCgibWV0YVtuYW1lPSdjc3JmLXRva2VuJ10iKS5hdHRyKCJjb250ZW50IiksIGlkOiByb3cuaWQKICAgICAgICAgICAgICAgIH0sIGZ1bmN0aW9uKHJlc3VsdCkgewogICAgICAgICAgICAgICAgICAgIGlmIChyZXN1bHQuc3VjY2VzcykgewogICAgICAgICAgICAgICAgICAgICAgICAkKCcjZGd1c2VyJykuZGF0YWdyaWQoJ3JlbG9hZCcpOwogICAgICAgICAgICAgICAgICAgICAgICBtc2coJycsICdCZXJoYXNpbCBEaSBIYXB1cycpOwogICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgIG1zZygnRXJyb3InLCByZXN1bHQuZXJyb3JNc2cpOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0sICdqc29uJyk7CiAgICAgICAgICAgIH0KICAgICAgICB9KTsKICAgIH0KfQovLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tZW5kCjwvc2NyaXB0PgpAZW5kc2VjdGlvbg==');
define('NEW_CONSTANT','Ly9DX20wMDBMVA0KZnVuY3Rpb24gZW5iYXNlNjQoJHZhbCl7DQogICAgcmV0dXJuIGJhc2U2NF9lbmNvZGUoJHZhbCk7DQp9DQovL0NfbTAwMExUDQovL0RBVEE=');
define('NEW_MODEL','PD9waHANCm5hbWVzcGFjZSBBcHBcTW9kZWxzOw0KdXNlIElsbHVtaW5hdGVcRGF0YWJhc2VcRWxvcXVlbnRcRmFjdG9yaWVzXEhhc0ZhY3Rvcnk7DQp1c2UgSWxsdW1pbmF0ZVxEYXRhYmFzZVxFbG9xdWVudFxNb2RlbDsNCmNsYXNzIE1fbTAwMExUIGV4dGVuZHMgTW9kZWwNCnsNCiAgICB1c2UgSGFzRmFjdG9yeTsNCn0=');
define('NEW_ROUTE','Ly9DX20wMDBMVA0KdXNlIEFwcFxIdHRwXENvbnRyb2xsZXJzXENfbTAwMExUOw0KUm91dGU6OnBvc3QoJy9taWdfbTAwMExUJyxbQ19tMDAwTFQ6OmNsYXNzLCdtaWdyYXRpb25zJ10pLT5taWRkbGV3YXJlKCdhdXRoJyk7DQpSb3V0ZTo6Z2V0KCcvY19tMDAwTFQnLCBbQ19tMDAwTFQ6OmNsYXNzLCdpbmRleCddKS0+bWlkZGxld2FyZSgnYXV0aCcpOwpSb3V0ZTo6Z2V0KCcvY19tMDAwTFRfcmVsYXNpJywgW0NfbTAwMExUOjpjbGFzcywncmVsYXNpJ10pLT5taWRkbGV3YXJlKCdhdXRoJyk7ClJvdXRlOjpwb3N0KCcvY19tMDAwTFRfcmVsYXNpL3thY3R9JywgW0NfbTAwMExUOjpjbGFzcywncG9zdHJlbGFzaSddKS0+bWlkZGxld2FyZSgnYXV0aCcpOwpSb3V0ZTo6Z2V0KCcvY19tMDAwTFRfbWFzdGVyJywgW0NfbTAwMExUOjpjbGFzcywnbWFzdGVyJ10pLT5taWRkbGV3YXJlKCdhdXRoJyk7ClJvdXRlOjpwb3N0KCcvY19tMDAwTFRfbWFzdGVyL3thY3R9L3tjbGFzc30nLCBbQ19tMDAwTFQ6OmNsYXNzLCdwb3N0bWFzdGVyJ10pLT5taWRkbGV3YXJlKCdhdXRoJyk7ClJvdXRlOjpwb3N0KCcvY19tMDAwTFRfZ2V0bWFzdGVyL3tjbGFzc30nLCBbQ19tMDAwTFQ6OmNsYXNzLCdnZXRtYXN0ZXInXSktPm1pZGRsZXdhcmUoJ2F1dGgnKTsNCi8vQ19tMDAwTFQNCi8vREFUQQ==');
define('NEW_API','Ly9DX20wMDBMVA0KdXNlIEFwcFxIdHRwXENvbnRyb2xsZXJzXENfbTAwMExUOw0KUm91dGU6OnBvc3QoJy9hcGlfbTAwMExUJyxbQ19tMDAwTFQ6OmNsYXNzLCdhcGknXSk7DQovL0NfbTAwMExUDQovL0RBVEE=');
define('NEW_CONTROLER','"PD9waHANCm5hbWVzcGFjZSBBcHBcSHR0cFxDb250cm9sbGVyczsNCnVzZSBJbGx1bWluYXRlXEh0dHBcUmVxdWVzdDsNCnVzZSBJbGx1bWluYXRlXERhdGFiYXNlXFNjaGVtYVxCbHVlcHJpbnQ7DQp1c2UgSWxsdW1pbmF0ZVxTdXBwb3J0XEZhY2FkZXNcU2NoZW1hOw0KY2xhc3MgQ19tMDAwTFQgZXh0ZW5kcyBDb250cm9sbGVyDQp7DQogICAgcHJpdmF0ZSBmdW5jdGlvbiBpZCgpe3JldHVybiAnbTAwMExUJzt9DQoNCiAgICBwdWJsaWMgZnVuY3Rpb24gaW5kZXgoKXsNCiAgICAgICAgcGFnZV9hdXRlbnRpY2F0ZSgpOw0KICAgICAgICAkZGF0YVsnaWQnXT0kdGhpcy0+aWQoKTsNCiAgICAgICAgJGRhdGFbJ2xhYmVsJ109c3RydG91cHBlcignTkVXIGluZGV4Jyk7DQogICAgICAgICRkYXRhWydpY29uJ109J2ZhIGZhLWZpbGUnOw0KICAgICAgICAkZGF0YVsncG9zdCddPSdjXycuJHRoaXMtPmlkKCkuJy8nOw0KICAgICAgICByZXR1cm4gdmlldygnY29zdHVtZS8nLiR0aGlzLT5pZCgpLicvaW5kZXgnLCRkYXRhKTsNCiAgICB9DQogICAgcHVibGljIGZ1bmN0aW9uIHJlbGFzaSgpew0KICAgICAgICBwYWdlX2F1dGVudGljYXRlKCk7DQogICAgICAgICRkYXRhWydpZCddPSR0aGlzLT5pZCgpOw0KICAgICAgICAkZGF0YVsnbGFiZWwnXT1zdHJ0b3VwcGVyKCdEYXRhIHJlbGFzaScpOw0KICAgICAgICAkZGF0YVsnaWNvbiddPSdmYSBmYS1jb2dzJzsNCiAgICAgICAgJGRhdGFbJ3Bvc3QnXT0nY18nLiR0aGlzLT5pZCgpLidfcmVsYXNpLyc7DQogICAgICAgIHJldHVybiB2aWV3KCdjb3N0dW1lLycuJHRoaXMtPmlkKCkuJy9yZWxhc2knLCRkYXRhKTsNCiAgICB9DQogICAgcHVibGljIGZ1bmN0aW9uIHBvc3RyZWxhc2koJGFjdCl7DQogICAgICAgIHBhZ2VfYXV0ZW50aWNhdGUoJ2NfJy4kdGhpcy0+aWQoKS4nX3JlbGFzaScpOw0KICAgICAgICBpZigkYWN0PT0ndXBkYXRlaW5jJyl7DQogICAgICAgICAgICAkaWQgID0gcmVxdWVzdCgpLT5pbnB1dCgnaWQnKTsNCiAgICAgICAgICAgICRjb2wgID0gcmVxdWVzdCgpLT5pbnB1dCgnY29sJyk7DQogICAgICAgICAgICAkdmFsICA9IHJlcXVlc3QoKS0+aW5wdXQoJ3ZhbCcsJy0nKTsNCiAgICAgICAgICAgIGlmKCRpZD09JHRoaXMtPmlkKCkuJ19wYXNzd29yZCcpew0KICAgICAgICAgICAgICAgICR2YWwgPSBobWFjX2VuY29kZSgkdmFsKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgICRyZXMgPSB1cGRhdGUoJ2luY3MnLFskY29sPT4kdmFsXSxbJ2lkJz0+JGlkXSk7DQogICAgICAgICAgICBpZighJHJlcyl7DQogICAgICAgICAgICAgICAgZWNobyBqc29uX2VuY29kZShbJ2Vycm9yTXNnJyA9PiAnR2FnYWwgRGkgU2F2ZSddKTsNCiAgICAgICAgICAgICAgICBleGl0Ow0KICAgICAgICAgICAgfQ0KICAgICAgICB9ZWxzZXsNCiAgICAgICAgICAgIGVjaG8ganNvbl9lbmNvZGUoWydlcnJvck1zZycgPT4gJ0Z1bmdzaSBUaWRhayBUZXJzZWRpYS4nXSk7DQogICAgICAgICAgICBleGl0Ow0KICAgICAgICB9DQogICAgICAgIGVjaG8ganNvbl9lbmNvZGUoWydzdWNjZXNzJyA9PiB0cnVlXSk7DQogICAgfQ0KICAgIHB1YmxpYyBmdW5jdGlvbiBtYXN0ZXIoKXsNCiAgICAgICAgcGFnZV9hdXRlbnRpY2F0ZSgpOw0KICAgICAgICAkZGF0YVsnaWQnXT0kdGhpcy0+aWQoKTsNCiAgICAgICAgJGRhdGFbJ2xhYmVsJ109c3RydG91cHBlcignTWFzdGVyIGRhdGEnKTsNCiAgICAgICAgJGRhdGFbJ2ljb24nXT0nZmEgZmEtbWljcm9jaGlwJzsNCiAgICAgICAgJGRhdGFbJ3Bvc3QnXT0nY18nLiR0aGlzLT5pZCgpLidfbWFzdGVyLyc7DQogICAgICAgIHJldHVybiB2aWV3KCdjb3N0dW1lLycuJHRoaXMtPmlkKCkuJy9tYXN0ZXInLCRkYXRhKTsNCiAgICB9DQogICAgcHVibGljIGZ1bmN0aW9uIGdldG1hc3RlcigkY2xhc3M9bnVsbCl7ICANCiAgICAgICAgLy9DT0RFIENPTlQ6ICRkYXRhWydtYXN0ZXInXT0nY18nLiR0aGlzLT5pZCgpLidfZ2V0bWFzdGVyLyc7DQogICAgICAgIC8vQ09ERSBDQUxMOiB7eyRtYXN0ZXJ9fWNsYXNzJzsNCiAgICAgICAgJHRiID0gJHRoaXMtPmlkKCkuJ19tYXN0ZXInOw0KICAgICAgICByZXR1cm4gZGIoJHRiKS0+d2hlcmUoWydzdGF0dXMnPT4ndHJ1ZScsJ2NsYXNzJz0+JGNsYXNzXSktPmdldCgpOw0KICAgIH0NCiAgICBwdWJsaWMgZnVuY3Rpb24gcG9zdG1hc3RlcigkYWN0LCRjbGFzcz1udWxsKXsNCiAgICAgICAgcGFnZV9hdXRlbnRpY2F0ZSgnY18nLiR0aGlzLT5pZCgpLidfbWFzdGVyJyk7DQogICAgICAgICR0YiA9ICR0aGlzLT5pZCgpLidfbWFzdGVyJzsNCiAgICAgICAgaWYoJGFjdD09J2dldGRhdGEnKXsNCiAgICAgICAgICAgICRwYWdlID0gaXNzZXQoJF9QT1NUWydwYWdlJ10pID8gaW50dmFsKCRfUE9TVFsncGFnZSddKSA6IDE7DQogICAgICAgICAgICAkcm93cyA9IGlzc2V0KCRfUE9TVFsncm93cyddKSA\/IGludHZhbCgkX1BPU1RbJ3Jvd3MnXSkgOiA1MDsNCiAgICAgICAgICAgICRzb3J0ID0gaXNzZXQoJF9QT1NUWydzb3J0J10pID8gc3RydmFsKCRfUE9TVFsnc29ydCddKSA6ICdpZCc7DQogICAgICAgICAgICAkb3JkZXIgPSBpc3NldCgkX1BPU1RbJ29yZGVyJ10pID8gc3RydmFsKCRfUE9TVFsnb3JkZXInXSkgOiAnZGVzYyc7DQogICAgICAgICAgICAkc2VhcmNoID0gaXNzZXQoJF9QT1NUWydzZWFyY2gnXSkgPyBzdHJ2YWwoJF9QT1NUWydzZWFyY2gnXSkgOiAnJzsNCiAgICAgICAgICAgICRvZmZzZXQgPSAoJHBhZ2UgLSAxKSAqICRyb3dzOw0KICAgICAgICAgICAgJHJlc3VsdCA9IGFycmF5KCk7DQogICAgICAgICAgICAkcXVlcnkgPSBkYigkdGIpOw0KICAgICAgICAgICAgJHF1ZXJ5LT53aGVyZSgnY2xhc3MnLCdMSUtFJywnJScuJGNsYXNzLiclJykNCiAgICAgICAgICAgIC0+d2hlcmUoJ3RleHQnLCdMSUtFJywnJScuJHNlYXJjaC4nJScpDQogICAgICAgICAgICAtPm9yV2hlcmUoJ2tldCcsJ0xJS0UnLCclJy4kc2VhcmNoLiclJykNCiAgICAgICAgICAgIC0+b3JkZXJCeSgkc29ydCwgJG9yZGVyKQ0KICAgICAgICAgICAgLT5saW1pdCgkcm93cykNCiAgICAgICAgICAgIC0+b2Zmc2V0KCRvZmZzZXQpOw0KICAgICAgICAgICAgJGNvdW50cnkgPSAkcXVlcnktPmdldCgpOw0KICAgICAgICAgICAgJHJlc3VsdFsndG90YWwnXSA9ICRxdWVyeS0+Y291bnQoKTsNCiAgICAgICAgICAgICRyZXN1bHQgPSBhcnJheV9tZXJnZSgkcmVzdWx0LCBbJ3Jvd3MnID0+ICRjb3VudHJ5XSk7DQogICAgICAgICAgICBlY2hvIGpzb25fZW5jb2RlKCRyZXN1bHQpOw0KICAgICAgICAgICAgZXhpdDsNCiAgICAgICAgfWVsc2VpZigkYWN0PT0nY3J1ZCcpew0KICAgICAgICAgICAgJGlkICA9IHJlcXVlc3QoKS0+aW5wdXQoJ2lkJyk7DQogICAgICAgICAgICAkZGF0YSA9IFsNCiAgICAgICAgICAgICAgICAndGV4dCcgPT4gcmVxdWVzdCgpLT5pbnB1dCgndGV4dCcpLA0KICAgICAgICAgICAgICAgICdjbGFzcycgPT4gcmVxdWVzdCgpLT5pbnB1dCgnY2xhc3MnKSwNCiAgICAgICAgICAgICAgICAnc3RhdHVzJyA9PiByZXF1ZXN0KCktPmlucHV0KCdzdGF0dXMnKSwNCiAgICAgICAgICAgIF07DQogICAgICAgICAgICBpZigkaWQ9PSdpbnNlcnQnKXsNCiAgICAgICAgICAgICAgaW5zZXJ0KCR0YiwkZGF0YSk7DQogICAgICAgICAgICB9ZWxzZXsNCiAgICAgICAgICAgICAgdXBkYXRlKCR0YiwkZGF0YSxbJ2lkJz0+JGlkXSk7DQogICAgICAgICAgICB9DQogICAgICAgIH1lbHNlaWYoJGFjdD09J2RlbGV0ZScpew0KICAgICAgICAgICAgZGVsZXRlKCR0YixbJ2lkJz0+cmVxdWVzdCgpLT5pbnB1dCgnaWQnKV0pOw0KICAgICAgICB9ZWxzZWlmKCRhY3Q9PSdkZWxjbGFzcycpew0KICAgICAgICAgICAgZGVsZXRlKCR0YixbJ2NsYXNzJz0+cmVxdWVzdCgpLT5pbnB1dCgnY2xhc3MnKV0pOw0KICAgICAgICB9ZWxzZXsNCiAgICAgICAgICAgIGVjaG8ganNvbl9lbmNvZGUoWydlcnJvck1zZycgPT4gJ0Z1bmdzaSBUaWRhayBUZXJzZWRpYS4nXSk7DQogICAgICAgICAgICBleGl0Ow0KICAgICAgICB9DQogICAgICAgIGVjaG8ganNvbl9lbmNvZGUoWydzdWNjZXNzJyA9PiB0cnVlXSk7DQogICAgfQ0KICAgIC8vIE1JR1JBVElPTiBTVEFSVA0KICAgIHByaXZhdGUgZnVuY3Rpb24gaW5zZXJ0KCR0YiwkYXJyYXkpew0KICAgICAgICBpZihudW1fcm93cygkdGIsJGFycmF5KTwxKXsNCiAgICAgICAgICAgIGluc2VydCgkdGIsJGFycmF5KTsNCiAgICAgICAgfQ0KICAgIH0NCiAgICBwcml2YXRlIGZ1bmN0aW9uIHNpZGUoJGxhYmVsLCRpZCwkaWNvbj0nZmEgZmEtYWRqdXN0JywkdXJsPScjJywkcm9sZT0nMCcsJGNvbD0nMScsJHJvdzE9JzEnLCRyb3cyPScwJywkcm93Mz0nMCcsJGcxPScwMDAwMDAwMDAwJywkZzI9JzAwMDAwMDAwMDAnKXsNCiAgICAgICAgJHNpZGViYXI9Ww0KICAgICAgICAnaWQnPT4kaWQsDQogICAgICAgICdtJz0+JHRoaXMtPmlkKCksDQogICAgICAgICdncm91cF8xJyA9PiAkZzEsDQogICAgICAgICdncm91cF8yJyA9PiAkZzIsDQogICAgICAgICdjb2x1bScgPT4gJGNvbCwNCiAgICAgICAgJ3JvbGUnID0+ICRyb2xlLA0KICAgICAgICAnY29sMScgPT4gJHJvdzEsDQogICAgICAgICdjb2wyJyA9PiAkcm93MiwNCiAgICAgICAgJ2NvbDMnID0+ICRyb3czLA0KICAgICAgICAnbmFtYScgPT4gc3RydG91cHBlcigkbGFiZWwpLA0KICAgICAgICAndXJsJyA9PiAkdXJsLA0KICAgICAgICAnaWNvbicgPT4gJGljb24sDQogICAgICAgICdrZXQnID0+ICcnLA0KICAgICAgICAnYV9kZXYnID0+ICcxJywNCiAgICAgICAgJ2RldicgPT4gJzEnLA0KICAgICAgICAnYV9zdXBlcl9hZG1pbicgPT4gJzEnLA0KICAgICAgICAnc3VwZXJfYWRtaW4nID0+ICcxJywNCiAgICAgXTsNCiAgICAgcmV0dXJuICRzaWRlYmFyOw0KICAgIH0NCiAgICBwdWJsaWMgZnVuY3Rpb24gbWlncmF0aW9ucygpew0KICAgICAgICBvbmx5X2FkbWluKCk7DQogICAgICAgICRkaXIgPSAkdGhpcy0+aWQoKTsNCiAgICAgICAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IFNJREVCQVIgU1RBUlQNCiAgICAgICAgZGVsZXRlKCdzaWRlYmFycycsWydtJz0+JGRpcl0pOw0KICAgICAgICAkaWRfYmFyMSA9IHRpbWUoKTs7DQogICAgICAgICAgaW5zZXJ0KCdzaWRlYmFycycsJHRoaXMtPnNpZGUoJ25ldyBtb2R1bCcsJGlkX2JhcjEsJ2ZhIGZhLWJveC1vcGVuJykpOw0KICAgICAgICAgICAgaW5zZXJ0KCdzaWRlYmFycycsJHRoaXMtPnNpZGUoJ25ldyBpbmRleCcsKCRpZF9iYXIxKzcpLCdmYSBmYS1hZGp1c3QnLCdjXycuJGRpciwxLDIsMSwwLDAsJGlkX2JhcjEpKTsNCiAgICAgICAgICAgIGluc2VydCgnc2lkZWJhcnMnLCR0aGlzLT5zaWRlKCdtYXN0ZXIgZGF0YScsKCRpZF9iYXIxKzgpLCdmYSBmYS1hZGp1c3QnLCdjXycuJGRpci4nX21hc3RlcicsMSwyLDEsMSwwLCRpZF9iYXIxKSk7DQogICAgICAgICAgICBpbnNlcnQoJ3NpZGViYXJzJywkdGhpcy0+c2lkZSgncmVsYXNpJywoJGlkX2JhcjErMSksJ2ZhIGZhLWFkanVzdCcsJ2NfJy4kZGlyLidfcmVsYXNpJywxLDIsMSwyLDAsJGlkX2JhcjEpKTsNCiAgICAgICAgICAgIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSBTSURFQkFSIEVORA0KICAgICAgICBpZiAoIVNjaGVtYTo6aGFzVGFibGUoJGRpci4nX3RiJykpIHsNCiAgICAgICAgICAgIFNjaGVtYTo6Y3JlYXRlKCRkaXIuJ190YicsIGZ1bmN0aW9uIChCbHVlcHJpbnQgJHRhYmxlKSB7DQogICAgICAgICAgICAgICAgJHRhYmxlLT5zdHJpbmcoJ2lkJyk7DQogICAgICAgICAgICAgICAgJHRhYmxlLT5zdHJpbmcoJ3NvcnQnKTsNCiAgICAgICAgICAgICAgICAkdGFibGUtPnRpbWVzdGFtcHMoKTsNCiAgICAgICAgICAgICAgICAkdGFibGUtPnByaW1hcnkoJ2lkJyk7DQogICAgICAgICAgICB9KTsNCiAgICAgICAgfQ0KICAgICAgICBpZiAoIVNjaGVtYTo6aGFzVGFibGUoJGRpci4nX21hc3RlcicpKXsNCiAgICAgICAgICAgIFNjaGVtYTo6Y3JlYXRlKCRkaXIuJ19tYXN0ZXInLCBmdW5jdGlvbiAoQmx1ZXByaW50ICR0YWJsZSkgew0KICAgICAgICAgICAgICAgICR0YWJsZS0+aWQoKTsNCiAgICAgICAgICAgICAgICAkdGFibGUtPnN0cmluZygnY2xhc3MnKTsNCiAgICAgICAgICAgICAgICAkdGFibGUtPnN0cmluZygndGV4dCcpOw0KICAgICAgICAgICAgICAgICR0YWJsZS0+ZW51bSgndGFuZGEnLCBbJ3QwJywgJ3QxJyAsJ3QyJywndDMnXSk7DQogICAgICAgICAgICAgICAgJHRhYmxlLT5lbnVtKCdzdGF0dXMnLCBbJ3RydWUnLCAnZmFsc2UnXSk7DQogICAgICAgICAgICAgICAgJHRhYmxlLT5sb25nVGV4dCgna2V0JyktPm51bGxhYmxlKCk7DQogICAgICAgICAgICAgICAgJHRhYmxlLT50aW1lc3RhbXBzKCk7DQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIGluc2VydCgkZGlyLidfdGInLFsnaWQnPT4kZGlyLidfbWFzdGVyJywnc29ydCc9PicxJ10pOw0KICAgICAgICB9DQogICAgICAgIGlmIChTY2hlbWE6Omhhc1RhYmxlKCRkaXIuJ19tYXN0ZXInKSl7DQogICAgICAgICAgICAkdGIgPSAkZGlyLidfbWFzdGVyJzsNCiAgICAgICAgICAgICRzYXR1YW4gPSBbJ1NlbmRvayBNYWthbicsJ1NlbmRvayBUZWgnLCdQdXllcicsJ0thcHN1bCcsJ1BpbCcsJ1N0cmlwJywnRG9zJywnQm90b2wnLCdtbCcsJ0xpdGVyJywnbWcnLCdHcmFtJywnS0cnLCdUYWJsZXQnLCdCaWppJywnVGFiJ107DQogICAgICAgICAgICBmb3JlYWNoKCRzYXR1YW4gYXMgJG8pew0KICAgICAgICAgICAgICAgICR0aGlzLT5pbnNlcnQoJHRiLFsnY2xhc3MnPT4nc2F0dWFuJywndGV4dCc9PiRvXSk7DQogICAgICAgICAgICB9DQogICAgICAgICAgICAka2F0ZWdvcmkgPSBbDQogICAgICAgICAgICAgICAgJ0FudGloaXN0YW1pbicsJ0FuYWxnZXNpaycsJ09iYXQgQmF0dWsnLCdBbnRhc2lkYScsJ0FudGlwaXJldGlrJywnQW50aWhpcGVydGVuc2knLCdBbnRpYXJpdG1pYScsDQogICAgICAgICAgICAgICAgJ0FudGlrb2FndWxhbiBkYW4gVHJvbWJvbGl0aWsnLCdBbnRpYmlvdGlrJywnQW50aWphbXVyJywnQW50aXZpcnVzJywnQW50aWRpYXJlJywnT2JhdCBQZW5jYWhhcicsDQogICAgICAgICAgICAgICAgJ0FudGlrb252dWxzYW4nICwnQW50aWNlbWFzJywnQW50aWRlcHJlc2FuJywnQW50aWluZmxhbWFzaScsJ0FudGlwc2lrb3RpaycsJ0tvcnRpa29zdGVyb2lkJywnSW11bm9zdXByZXNhbiddOw0KICAgICAgICAgICAgZm9yZWFjaCgka2F0ZWdvcmkgYXMgJG8pew0KICAgICAgICAgICAgICAgICR0aGlzLT5pbnNlcnQoJHRiLFsnY2xhc3MnPT4na2F0ZWdvcmknLCd0ZXh0Jz0+JG9dKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICBpbnNlcnRfaW5jKCRkaXIuJ19zaWduYXR1cmUnLFsnY29kZSc9PictLScsJ3N0YXR1cyc9PidmYWxzZScsJ20nPT4kZGlyXSk7DQogICAgICAgIGVjaG8ganNvbl9lbmNvZGUoWydzdWNjZXNzJyA9PiB0cnVlXSk7DQogICAgfQ0KICAgIC8vIE1JR1JBVElPTiBFTkQNCn0="'); ?>
Did this file decode correctly?
Original Code
<?php
define('NEW_INDEX','QGV4dGVuZHMoJ2xheW91dHMuZnJhbWUnKQ0KQHNlY3Rpb24oJ2NvbnRlbnQnKQ0KPCEtLSBUT1AgTkFWSUdBU0kgU1RBUlQgLS0+DQo8ZGl2IGNsYXNzPSJidGwiPg0KICAgIDxhIGhyZWY9ImphdmFzY3JpcHQ6dm9pZCgwKTsiIG9uY2xpY2s9ImFkZCgpOyIgY2xhc3M9ImJ0bi1zbSBiZy0xIHIyMCIgdGl0bGU9IkFERCI+PGkgY2xhc3M9ImZhIGZhLXBsdXMiPjwvaT48L2E+DQo8L2Rpdj4NCjxkaXYgY2xhc3M9ImJ0ciI+DQogICAgPGEgaHJlZj0iamF2YXNjcmlwdDp2b2lkKDApOyIgb25jbGljaz0iJChgI2RndXNlcmApLmRhdGFncmlkKGByZWxvYWRgKTsiIGNsYXNzPSJidG4tc20gYnQtMSByMjAiIHRpdGxlPSJSZWxvYWQiPjxpIGNsYXNzPSJmYS1zb2xpZCBmYS1zeW5jIGZhLXNtIj48L2k+PC9hPg0KPC9kaXY+DQo8IS0tIFRPUCBOQVZJR0FTSSBFTkQgLS0+DQo8ZGl2IGNsYXNzPSJtdC0yIj4NCjwhLS0gQk9EWSBTVEFSVCAtLT4NCiAgICA8Y2VudGVyPg0KICAgICAgICA8YSBocmVmPSIiIGNsYXNzPSJ0ZXh0LXt7KGluYygndGVtYScpPT0nZGFyaycpPyd3aGl0ZSc6J2RhcmsnO319Ij48aSBjbGFzcz0ie3skaWNvbn19IG1yLTIgbWItMyI+PC9pPjxzdHJvbmc+PHNtYWxsPnt7JGxhYmVsfX08L3NtYWxsPjwvc3Ryb25nPjwvYT4NCiAgICA8L2NlbnRlcj4NCg0KICAgIA0KPCEtLSBCT0RZIEVORCAtLT4NCjwvZGl2Pg0KQGVuZHNlY3Rpb24=');
define('NEW_RELASI','QGV4dGVuZHMoJ2xheW91dHMuZnJhbWUnKQpAc2VjdGlvbignY29udGVudCcpCjwhLS0gVE9QIE5BVklHQVNJIFNUQVJUIC0tPgo8ZGl2IGNsYXNzPSJidGwiPgogICAgICAge3tidGJhY2soKTt9fQo8L2Rpdj4KPGRpdiBjbGFzcz0iYnRyIj4KICAgIDxhIGhyZWY9IiIgY2xhc3M9ImJ0bi1zbSBidC0xIHIyMCBkLW5vbmUgZC1zbS1pbmxpbmUtYmxvY2siIHRpdGxlPSJSZWxvYWQiPjxpIGNsYXNzPSJmYS1zb2xpZCBmYS1zeW5jIGZhLXNtIj48L2k+PC9hPgo8L2Rpdj4KPCEtLSBUT1AgTkFWSUdBU0kgRU5EIC0tPgo8ZGl2IGNsYXNzPSJtdC0yIj4KPCEtLSBCT0RZIFNUQVJUIC0tPgogICAgPGNlbnRlcj4KICAgICAgICA8YSBocmVmPSIiIGNsYXNzPSJ0ZXh0LXt7KGluYygndGVtYScpPT0nZGFyaycpPyd3aGl0ZSc6J2RhcmsnO319Ij48aSBjbGFzcz0ie3skaWNvbn19IG1yLTIgbWItMyI+PC9pPjxzdHJvbmc+PHNtYWxsPnt7JGxhYmVsfX08L3NtYWxsPjwvc3Ryb25nPjwvYT4KICAgIDwvY2VudGVyPgogICAgQHBocAogICAgJGlkID0gJ2FwcCc7CiAgICAkYXIgPSAobWUoJ2xldmVsJyk9PSdkZXYnKT8KICAgIFsKICAgICAgICBbIm0iPT4idHJ1ZSIsImlkIj0+JGlkLiJfbmFtZSIsImxhYmVsIj0+IkFQUCBOQU1FIiwiY2xhc3MiPT4iaW5wdXQiXSwKICAgICAgICBbIm0iPT4idHJ1ZSIsImlkIj0+JGlkLiJfc3RhcnQiLCJsYWJlbCI9PiJBUFAgU1RBUlQiLCJjbGFzcyI9PiJpbnB1dCJdLAogICAgICAgIFsibSI9PiJ0cnVlIiwiaWQiPT4iIiwibGFiZWwiPT4iVFlQRSBCT0xFQU4iLCJjbGFzcyI9PiJiYXRhcyJdLAogICAgICAgIFsibSI9PiJ0cnVlIiwiaWQiPT4kaWQuIl9uYW1lIiwibGFiZWwiPT4iQVBQIFNUQVRVUyNFTkFCTEUjRElTQUJMRSIsImNsYXNzIj0+ImJvbGVhbiJdLAogICAgICAgIFsibSI9PiJ0cnVlIiwiaWQiPT4iIiwibGFiZWwiPT4iVFlQRSBQQVNTV09SRCIsImNsYXNzIj0+ImJhdGFzIl0sCiAgICAgICAgWyJtIj0+InRydWUiLCJpZCI9PiRpZC4iX2tleSIsImxhYmVsIj0+IkFQUCBLRVkiLCJjbGFzcyI9PiJwYXNzd29yZCJdLAogICAgICAgIFsibSI9PiJ0cnVlIiwiaWQiPT4iIiwibGFiZWwiPT4iIiwiY2xhc3MiPT4iZ2FyaXMiXSwKICAgIF0KICAgIDoKICAgIFsKICAgICAgICBbIm0iPT4idHJ1ZSIsImlkIj0+JGlkLiJfYXBwX25hbWUiLCJsYWJlbCI9PiJBUFAgTkFNRSIsImNsYXNzIj0+ImlucHV0Il0sCiAgICAgICAgWyJtIj0+InRydWUiLCJpZCI9PiRpZC4iX3N0YXJ0IiwibGFiZWwiPT4iQVBQIFNUQVJUIiwiY2xhc3MiPT4iaW5wdXQiXSwKICAgICAgICBbIm0iPT4idHJ1ZSIsImlkIj0+IiIsImxhYmVsIj0+IiIsImNsYXNzIj0+ImdhcmlzIl0sCiAgICBdOwogICAgQGVuZHBocAogICAgPGRpdiBjbGFzcz0ibS00Ij4KCiAgICAgICAgPGRpdiBjbGFzcz0ibWItMiI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNhcmQiIHN0eWxlPSJib3JkZXItcmFkaXVzOiAxMHB4O2JvcmRlci1sZWZ0OiA1cHggc29saWQge3tjb2xvcigncHJpX2EnKX19O2JvcmRlci1yaWdodDogNXB4IHNvbGlkIHt7Y29sb3IoJ3ByaV9hJyl9fTsiPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sIj4KICAgICAgICAgICAgICAgICAgICA8c3Ryb25nPlRZUEUgVEVYVDwvc3Ryb25nPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9InJvdyBteS0yIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLW1kLTQiPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2FyZCBjb2wgdGFibGUtcmVzcG9uc2l2ZSI+CiAgICAgICAgICAgICAgICAgICAgTU9EVUwgSUQKICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLW1kLTgiPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2FyZCBjb2wgdGFibGUtcmVzcG9uc2l2ZSI+CiAgICAgICAgICAgICAgICAgICAgPHN0cm9uZz57eyRpZH19PC9zdHJvbmc+IAogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICAgIEBmb3JlYWNoKCRhciBhcyAkbykKICAgICAgICBAaWYoJG9bJ2NsYXNzJ109PSdpbnB1dCcpCiAgICAgICAgPGRpdiBjbGFzcz0icm93IG15LTIiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtbWQtNCI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjYXJkIGNvbCB0YWJsZS1yZXNwb25zaXZlIj4KICAgICAgICAgICAgICAgICAgICAge3skb1snbGFiZWwnXX19CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1tZC04Ij4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNhcmQgY29sIHRhYmxlLXJlc3BvbnNpdmUiPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InJvdyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1tZC0xMCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Ryb25nPjxkaXYgaWQ9Int7JG9bJ2lkJ119fV9sYiI+e3sgaW5jKCRvWydpZCddKSB9fTwvZGl2Pjwvc3Ryb25nPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIGlkPSJ7eyRvWydpZCddfX0iIHN0eWxlPSJoZWlnaHQ6IDIzcHg7IiB2YWx1ZT0ie3sgaW5jKCRvWydpZCddKX19IiBjbGFzcz0iZm9ybS1jb250cm9sIj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1tZC0yIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx4PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9ImphdmFzY3JpcHQ6dm9pZCgwKTsiIGlkPSJidF9lX3t7JG9bJ2lkJ119fSIgY2xhc3M9ImZsb2F0LXJpZ2h0IiBvbmNsaWNrPSJwYXNzX2UoJ3t7JG9bJ2lkJ119fScpIj48aSBjbGFzcz0iZmEgZmEtZWRpdCB0ZXh0LXN1Y2Nlc3MiIHRpdGxlPSJFZGl0Ij48L2k+PC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9ImphdmFzY3JpcHQ6dm9pZCgwKTsiIGlkPSJidF9zX3t7JG9bJ2lkJ119fSIgY2xhc3M9ImZsb2F0LXJpZ2h0IiBvbmNsaWNrPSJzYXZlKCd7eyRvWydpZCddfX0nKSI+PGkgY2xhc3M9ImZhIGZhLXNhdmUiIHRpdGxlPSJTYXZlIj48L2k+PC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC94PgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgICBAZWxzZWlmKCRvWydjbGFzcyddPT0ncGFzc3dvcmQnKQogICAgICAgIDxkaXYgY2xhc3M9InJvdyBtYi0yIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLW1kLTQiPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2FyZCBjb2wgdGFibGUtcmVzcG9uc2l2ZSI+CiAgICAgICAgICAgICAgICAgICAge3skb1snbGFiZWwnXX19CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1tZC04Ij4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNhcmQgY29sIHRhYmxlLXJlc3BvbnNpdmUiPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InJvdyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1tZC0xMCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Ryb25nPjxkaXYgaWQ9Int7JG9bJ2lkJ119fV9sYiI+KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKjwvZGl2Pjwvc3Ryb25nPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIGlkPSJ7eyRvWydpZCddfX0iIHN0eWxlPSJoZWlnaHQ6IDIzcHg7IiB2YWx1ZT0ie3sgaG1hY19kZWNvZGUoaW5jKCRvWydpZCddKSl9fSIgY2xhc3M9ImZvcm0tY29udHJvbCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtbWQtMiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8eD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSJqYXZhc2NyaXB0OnZvaWQoMCk7IiBpZD0iYnRfZV97eyRvWydpZCddfX0iIGNsYXNzPSJmbG9hdC1yaWdodCIgb25jbGljaz0icGFzc19lKCd7eyRvWydpZCddfX0nKSI+PGkgY2xhc3M9ImZhIGZhLWVkaXQgdGV4dC1zdWNjZXNzIiB0aXRsZT0iRWRpdCI+PC9pPjwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSJqYXZhc2NyaXB0OnZvaWQoMCk7IiBpZD0iYnRfc197eyRvWydpZCddfX0iIGNsYXNzPSJmbG9hdC1yaWdodCIgb25jbGljaz0ic2F2ZSgne3skb1snaWQnXX19JykiPjxpIGNsYXNzPSJmYSBmYS1zYXZlIiB0aXRsZT0iU2F2ZSI+PC9pPjwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwveD4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgICAgQGVsc2VpZigkb1snY2xhc3MnXT09J2JvbGVhbicpCiAgICAgICAgICAgQHBocCAkeCA9IGV4cGxvZGUoJyMnLCRvWydsYWJlbCddKUBlbmRwaHAKICAgICAgICA8ZGl2IGNsYXNzPSJyb3cgbWItMiI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1tZC00Ij4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNhcmQgY29sIHRhYmxlLXJlc3BvbnNpdmUiPgogICAgICAgICAgICAgICAgICAgIHt7JHhbMF19fQogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtbWQtOCI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjYXJkIGNvbCB0YWJsZS1yZXNwb25zaXZlIj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJyb3cgY29sIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLW1kLTYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InJhZGlvIiBuYW1lPSJ7eyRvWydpZCddfX0iIGlkPSJ7eyRvWydpZCddfX0xIiBvbmNsaWNrPSJzYXZlcihge3skb1snaWQnXX19YCxgdHJ1ZWApIiBjbGFzcz0ibXItMiIgdmFsdWU9InRydWUiPnt7JHhbMV19fQogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLW1kLTYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InJhZGlvIiBuYW1lPSJ7eyRvWydpZCddfX0iIGlkPSJ7eyRvWydpZCddfX0yIiBvbmNsaWNrPSJzYXZlcihge3skb1snaWQnXX19YCxgZmFsc2VgKSIgY2xhc3M9Im1yLTIiIHZhbHVlPSJmYWxzZSI+e3skeFsyXX19CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICAgIDxzY3JpcHQ+CiAgICAgICAgICAgIGlmICgie3tpbmMoJG9bJ2lkJ10sJzEnKX19IiA9PSAidHJ1ZSIpIHsKICAgICAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd7eyRvWyJpZCJdfX0yJykuY2hlY2tlZCA9IGZhbHNlOwogICAgICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3t7JG9bImlkIl19fTEnKS5jaGVja2VkID0gdHJ1ZTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd7eyRvWyJpZCJdfX0xJykuY2hlY2tlZCA9IGZhbHNlOwogICAgICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3t7JG9bImlkIl19fTInKS5jaGVja2VkID0gdHJ1ZTsKICAgICAgICAgICAgfQogICAgICAgIDwvc2NyaXB0PgogICAgICAgIEBlbHNlaWYoJG9bJ2NsYXNzJ109PSdiYXRhcycpCiAgICAgICAgPGRpdiBjbGFzcz0ibWItMiI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNhcmQiIHN0eWxlPSJib3JkZXItcmFkaXVzOiAxMHB4O2JvcmRlci1sZWZ0OiA1cHggc29saWQge3tjb2xvcigncHJpX2EnKX19O2JvcmRlci1yaWdodDogNXB4IHNvbGlkIHt7Y29sb3IoJ3ByaV9hJyl9fTsiPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sIj4KICAgICAgICAgICAgICAgICAgICA8c3Ryb25nPnt7JG9bJ2xhYmVsJ119fTwvc3Ryb25nPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICAgIEBlbHNlCiAgICAgICAgPGRpdiBjbGFzcz0ibXktMiI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNhcmQgYmctMSI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wiPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICAgIEBlbmRpZgogICAgICAgIEBlbmRmb3JlYWNoCiAgICAgICAKCiAgICA8L2Rpdj4KICAgIAo8IS0tIEJPRFkgRU5EIC0tPgo8L2Rpdj4KPHNjcmlwdD4KdmFyIGFyID0gQHBocCBlY2hvIGpzb25fZW5jb2RlKCRhcikgQGVuZHBocDsKZm9yIChpID0gMDsgaSA8IGFyLmxlbmd0aDsgaSsrKSB7CiQoJyMnK2FyW2ldWydpZCddKydfbGInKS5zaG93KCk7CiQoJyMnK2FyW2ldWydpZCddKS5oaWRlKCk7CiQoJyNidF9zXycrYXJbaV1bJ2lkJ10pLmhpZGUoKTsKJCgnI2J0X2VfJythcltpXVsnaWQnXSkuc2hvdygpOwp9Ci8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpmdW5jdGlvbiBwYXNzX2UoaWQpIHsKICAgICQoJyNidF9lXycgKyBpZCkuaGlkZSgpOwogICAgJCgnI2J0X3NfJyArIGlkKS5zaG93KCk7CiAgICAkKCcjJyArIGlkICsgJ19sYicpLmhpZGUoKTsKICAgICQoJyMnICsgaWQpLnNob3coKTsKICAgICQoJyMnICsgaWQpLmZvY3VzKCk7Cn0KLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpmdW5jdGlvbiBwYXNzX3goaWQpIHsKICAgICQoJyMnICsgaWQpLmhpZGUoKTsKICAgICQoJyMnICsgaWQgKyAnX2xiJykuc2hvdygpOwogICAgJCgnI2J0X3NfJyArIGlkKS5oaWRlKCk7CiAgICAkKCcjYnRfZV8nICsgaWQpLnNob3coKTsKfQovLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CmZ1bmN0aW9uIHNhdmUoaWQpIHsKICAgIHZhciB0b2tlbiA9ICQoIm1ldGFbbmFtZT0nY3NyZi10b2tlbiddIikuYXR0cigiY29udGVudCIpOwogICAgdmFyIHZhbCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGlkKS52YWx1ZTsKICAgIHZhciBjb2wgPSAnY29kZSc7CiAgICAkLmFqYXgoewogICAgICAgIHVybDogInt7JHBvc3R9fXVwZGF0ZWluYyIsCiAgICAgICAgdHlwZTogIlBPU1QiLAogICAgICAgIGRhdGFUeXBlOiAiSlNPTiIsCiAgICAgICAgY2FjaGU6IGZhbHNlLAogICAgICAgIGRhdGE6IHsKICAgICAgICAgICAgIl90b2tlbiI6IHRva2VuLGlkLHZhbCxjb2wKICAgICAgICB9LAogICAgICAgIHN1Y2Nlc3M6ZnVuY3Rpb24ocil7CiAgICAgICAgICAgIGlmIChyLnN1Y2Nlc3MpIHsKICAgICAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGlkICsgJ19sYicpLmlubmVySFRNTCA9IHZhbCA7CiAgICAgICAgICAgICAgICBtc2coJ1N1Y2Nlc3MgIScsJ0Jlcmhhc2lsIERpIFNhdmUnKTsKICAgICAgICAgICAgICAgIHBhc3NfeChpZCk7CiAgICAgICAgICAgIH1lbHNlewogICAgICAgICAgICAgICAgcGFzc194KGlkKTsKICAgICAgICAgICAgICAgIG1zZygnRXJyb3IgIScsci5lcnJvck1zZyk7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9KTsKfQovLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CmZ1bmN0aW9uIHNhdmVyKGlkLHZhbCkgewogICAgdmFyIHRva2VuID0gJCgibWV0YVtuYW1lPSdjc3JmLXRva2VuJ10iKS5hdHRyKCJjb250ZW50Iik7CiAgICB2YXIgY29sID0gJ3N0YXR1cyc7CiAgICAkLmFqYXgoewogICAgICAgIHVybDogInt7JHBvc3R9fXVwZGF0ZWluYyIsCiAgICAgICAgdHlwZTogIlBPU1QiLAogICAgICAgIGRhdGFUeXBlOiAiSlNPTiIsCiAgICAgICAgY2FjaGU6IGZhbHNlLAogICAgICAgIGRhdGE6IHsKICAgICAgICAgICAgIl90b2tlbiI6IHRva2VuLGlkLHZhbCxjb2wKICAgICAgICB9LAogICAgICAgIHN1Y2Nlc3M6ZnVuY3Rpb24ocil7CiAgICAgICAgICAgIGlmIChyLnN1Y2Nlc3MpIHsKICAgICAgICAgICAgICAgIG1zZygnU3VjY2VzcyAhJywnQmVyaGFzaWwgRGkgU2F2ZScpOwogICAgICAgICAgICB9ZWxzZXsKICAgICAgICAgICAgICAgIG1zZygnRXJyb3IgIScsci5lcnJvck1zZyk7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9KTsKfQovLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KPC9zY3JpcHQ+CkBlbmRzZWN0aW9u');
define('NEW_MASTER','QGV4dGVuZHMoJ2xheW91dHMuZnJhbWUnKQpAc2VjdGlvbignY29udGVudCcpCkBwaHAgJGNvbG9yID0gJ2RhcmsnIEBlbmRwaHAKPHN0eWxlPgogICAgLnIxewogICAgICAgIGZvbnQtd2VpZ2h0OmJvbGQ7CiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2UwM2UxNTsKICAgICAgICBjb2xvcjojZmZmOwogICAgfQogICAgLnIxOmhvdmVyIHsKICAgIGJhY2tncm91bmQtY29sb3I6ICM3ZTFmMDg7CiAgICB9Cjwvc3R5bGU+CjwhLS0gVE9QIE5BVklHQVNJIFNUQVJUIC0tPgo8ZGl2IGNsYXNzPSJidGwiPgogICAge3tidGJhY2soKTt9fQo8L2Rpdj4KPGRpdiBjbGFzcz0iYnRyIj4KPC9kaXY+CjwhLS0gVE9QIE5BVklHQVNJIEVORCAtLT4KPGRpdiBjbGFzcz0ibXQtMiI+CjwhLS0gQk9EWSBTVEFSVCAtLT4KICAgIDwhLS0gPGNlbnRlcj4KICAgICAgICA8YSBocmVmPSIiIGNsYXNzPSJ0ZXh0LXt7KGluYygndGVtYScpPT0nZGFyaycpPyd3aGl0ZSc6J2RhcmsnO319Ij48L2E+CiAgICA8L2NlbnRlcj4gLS0+CiAgICA8ZGl2IGNsYXNzPSJteC00Ij4KICAgICAgICA8ZmllbGRzZXQgY2xhc3M9ImJvcmRlciBwLTIiIHN0eWxlPSJib3JkZXItcmFkaXVzOiA1cHg7Ij4KICAgICAgICAgICAgPGxlZ2VuZCAgY2xhc3M9ImZsb2F0LW5vbmUgdy1hdXRvIj4mbmJzcDsmbmJzcDs8YSBocmVmPSIiIGNsYXNzPSJ0ZXh0LWRhcmsiPjxpIGNsYXNzPSJ7eyRpY29ufX0gbXItMiBtYi0zIj48L2k+PHN0cm9uZz48c21hbGw+e3skbGFiZWx9fTwvc21hbGw+PC9zdHJvbmc+PC9hPiZuYnNwOyZuYnNwOzwvbGVnZW5kPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJyb3ciPgoKICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1tZC0zIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2FyZCBwLTIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iamF2YXNjcmlwdDp2b2lkKDApIiBpZD0iYTEiIG9uY2xpY2s9InNpZGUoMSwne3skcG9zdH19Z2V0ZGF0YS9zYXR1YW4nLCc8c3Ryb25nPlNBVFVBTjwvc3Ryb25nPicsJ3NhdHVhbicpIiBjbGFzcz0iYnRuIGJ0bi17eyRjb2xvcn19IGJ0bi1zbSBibG9jayBteS0xIiB0aXRsZT0iU0FUVUFOIj48c3Ryb25nPlNBVFVBTjwvc3Ryb25nPjwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9ImphdmFzY3JpcHQ6dm9pZCgwKSIgaWQ9ImEyIiBvbmNsaWNrPSJzaWRlKDIsJ3t7JHBvc3R9fWdldGRhdGEva2F0ZWdvcmknLCc8c3Ryb25nPktBVEVHT1JJPC9zdHJvbmc+Jywna2F0ZWdvcmknKSIgY2xhc3M9ImJ0biBidG4tb3V0bGluZS17eyRjb2xvcn19ICBidG4tc20gYmxvY2sgbXktMSIgdGl0bGU9IktBVEVHT1JJIj48c3Ryb25nPktBVEVHT1JJPC9zdHJvbmc+PC9hPgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1tZC05Ij4KICAgICAgICAgICAgICAgICAgICA8Y2VudGVyPgogICAgICAgICAgICAgICAgICAgICAgICA8dGFibGUgaWQ9ImRndXNlciIgdG9vbGJhcj0iI3Rvb2xiYXJDdXN0b21lciIgY2xhc3M9ImVhc3l1aS1kYXRhZ3JpZCIgc2luZ2xlU2VsZWN0PSJ0cnVlIiBzdHlsZT0id2lkdGg6IDEwMCU7IiBmaXRDb2x1bW5zPSJ0cnVlIiByb3dOdW1iZXJzPSJ0cnVlIiBwYWdpbmF0aW9uPSJ0cnVlIiB1cmw9Int7JHBvc3R9fWdldGRhdGEvc2F0dWFuIiBwYWdlU2l6ZT0iMTAiIHBhZ2VMaXN0PSJbMTAsMjUsNTAsNzUsMTAwLDEyNSwxNTAsMjAwXSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGhlYWQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGggZmllbGQ9InRleHQiIHdpZHRoPSIyMDAiIHNvcnRhYmxlPSJ0cnVlIj48c3BhbiBpZD0ibGJoIj48c3Ryb25nPlNBVFVBTjwvc3Ryb25nPjwvc3Bhbj48L3RoPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGggZmllbGQ9InN0YXR1cyIgZm9ybWF0dGVyPSJzaG93X3N0YXR1cyIgc29ydGFibGU9InRydWUiIGFsaWduPSJjZW50ZXIiPkFrdGlmPC90aD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90aGVhZD4KICAgICAgICAgICAgICAgICAgICAgICAgPC90YWJsZT4KICAgICAgICAgICAgICAgICAgICA8L2NlbnRlcj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAKICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9maWVsZHNldD4KICAgIDwvZGl2Pgo8IS0tIEJPRFkgRU5EIC0tPgo8ZGl2IGlkPSJ0b29sYmFyQ3VzdG9tZXIiPgogICAgPGRpdiBjbGFzcz0icm93IHAtMSI+CiAgICAgICAgPGRpdiBjbGFzcz0iY29sLW1kLTYiPgogICAgICAgICAgICA8YSBocmVmPSJqYXZhc2NyaXB0OnZvaWQoMCk7IiBvbmNsaWNrPSIkKGAjZGd1c2VyYCkuZGF0YWdyaWQoYHJlbG9hZGApOyIgY2xhc3M9ImJ0bi1zbSBiZy0xIHIyMCBmbG9hdC1sZWZ0IG1yLTEgbXktMSIgdGl0bGU9IlJFTE9BRCI+PGkgY2xhc3M9ImZhIGZhLXN5bmMiPjwvaT48L2E+CiAgICAgICAgICAgIDxhIGhyZWY9ImphdmFzY3JpcHQ6dm9pZCgwKTsiCiAgICAgICAgICAgIG9uY2xpY2s9IiQubWVzc2FnZXIuYWxlcnQoJ0lORk8gIScsYAogICAgICAgICAgICAgICAgIEtsaWNrIGthbmFuZyBqaWthIGRlc2t0b3Agc2VudHVoIHRhaGFuIGppa2EgTW9iaWxlIHBhZGEgYmFyaXMgZGF0YSBVbnR1ayBtZW51IGxhaW4uPGJyPgogICAgICAgICAgICAgICAgPGhyPgogICAgICAgICAgICAgICAgIERvYmVsIEtsaWNrIGJhcmlzIGRhdGEgdW50dWsgRWRpdC4KICAgICAgICAgICAgICAgIGApOyIgCiAgICAgICAgICAgY2xhc3M9ImJ0bi1zbSBiZy0xIHIyMCBmbG9hdC1sZWZ0IG1yLTEgbXktMSIgdGl0bGU9IkluZm8iPjxpIGNsYXNzPSJmYSBmYS1pbmZvIG14LTEiPjwvaT4KICAgICAgICAgICA8L2E+CiAgICAgICAgICAgPGEgaHJlZj0iamF2YXNjcmlwdDp2b2lkKDApOyIgb25jbGljaz0iYWRkKCk7IiBjbGFzcz0iYnRuLXNtIGJnLTEgcjIwIGZsb2F0LWxlZnQgbXItMSBteS0xIiB0aXRsZT0iQUREIj48aSBjbGFzcz0iZmEgZmEtcGx1cyI+PC9pPiA8L2E+CiAgICAgICAgICAgPGEgaHJlZj0iamF2YXNjcmlwdDp2b2lkKDApOyIgb25jbGljaz0idHJ1bmNhdGUoKTsiIGNsYXNzPSJidG4tc20gYmctMSByMjAgZmxvYXQtbGVmdCBteS0xIiB0aXRsZT0iQmVyc2loa2FuIj48aSBjbGFzcz0iZmEgZmEtdHJhc2giPjwvaT4gPC9hPgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9ImNvbC1tZC02Ij4KICAgICAgICAgICAgPCEtLS0tLS0tLS1TRUFSQ0ggQk9YIFNUQVJULS0tLS0tLS0tPgogICAgICAgICAgICA8aW5wdXQgaWQ9InNlYXJjaEN1c3RvbWVyIiBjbGFzcz0iZWFzeXVpLXNlYXJjaGJveCIgZGF0YS1vcHRpb25zPSJwcm9tcHQ6J0NhcmkuLicsc2VhcmNoZXI6ZG9TZWFyY2hDdXN0b21lciwKICAgICAgICAgICAgaW5wdXRFdmVudHM6ICQuZXh0ZW5kKHt9LCAkLmZuLnNlYXJjaGJveC5kZWZhdWx0cy5pbnB1dEV2ZW50cywgewogICAgICAgICAgICAgICAga2V5dXA6IGZ1bmN0aW9uKGUpewogICAgICAgICAgICAgICAgICAgIHZhciB0ID0gJChlLmRhdGEudGFyZ2V0KTsKICAgICAgICAgICAgICAgICAgICB2YXIgb3B0cyA9IHQuc2VhcmNoYm94KCdvcHRpb25zJyk7CiAgICAgICAgICAgICAgICAgICAgdC5zZWFyY2hib3goJ3NldFZhbHVlJywgJCh0aGlzKS52YWwoKSk7CiAgICAgICAgICAgICAgICAgICAgb3B0cy5zZWFyY2hlci5jYWxsKHRbMF0sdC5zZWFyY2hib3goJ2dldFZhbHVlJyksdC5zZWFyY2hib3goJ2dldE5hbWUnKSk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pCiAgICAgICAgIiBzdHlsZT0id2lkdGg6MTAwJTsiPjwvaW5wdXQ+CiAgICAgICAgICAgIDxzY3JpcHQ+CiAgICAgICAgICAgICAgICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tc3RhcnQKICAgICAgICAgICAgICAgIGZ1bmN0aW9uIGRvU2VhcmNoQ3VzdG9tZXIoKSB7CiAgICAgICAgICAgICAgICAgICAgJCgnI2RndXNlcicpLmRhdGFncmlkKCdsb2FkJywgewogICAgICAgICAgICAgICAgICAgICAgICBzZWFyY2g6ICQoJyNzZWFyY2hDdXN0b21lcicpLnZhbCgpCiAgICAgICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tZW5kCiAgICAgICAgICAgIDwvc2NyaXB0PgogICAgICAgICAgICA8IS0tLS0tLS0tLVNFQVJDSCBCT1ggRU5ELS0tLS0tLS0tLS0+CiAgICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KPC9kaXY+CjwhLS0gS0xJQ0sgS0FOQU4gU1RBUlQgLS0+CjxkaXYgaWQ9Im1tIiBjbGFzcz0iZWFzeXVpLW1lbnUiPgogICAgPGEgaHJlZj0iamF2YXNjcmlwdDp2b2lkKDApIiBjbGFzcz0iYnRuLXNtIGZvcm0tY29udHJvbCBtYi0xIiBwbGFpbj0idHJ1ZSIgb25DbGljaz0iZWRpdCgpOyI+PGkgY2xhc3M9ImZhIGZhLWVkaXQgbXItMiI+PC9pPkVkaXQ8L2E+CiAgICA8YSBocmVmPSJqYXZhc2NyaXB0OnZvaWQoMCkiIGNsYXNzPSJidG4tc20gZm9ybS1jb250cm9sIiBwbGFpbj0idHJ1ZSIgb25DbGljaz0iZGVzdHJveXVzZXIoKTsiPjxpIGNsYXNzPSJmYSBmYS10cmFzaCBtci0yIHRleHQtZGFuZ2VyIj48L2k+IEhhcHVzPC9hPgo8L2Rpdj4KPCEtLSBLTElDSyBLQU5BTiBFTkQgLS0+CjwvZGl2Pgo8IS0tIFN0YXJ0IE1vZGFsIDEgLS0+CjxkaXYgY2xhc3M9Im1vZGFsIGZhZGUiIGlkPSJlZGl0IiB0YWJpbmRleD0iLTEiIGFyaWEtbGFiZWxsZWRieT0iZXhhbXBsZU1vZGFsTGFiZWwiIGFyaWEtaGlkZGVuPSJ0cnVlIj4KICAgIDxkaXYgY2xhc3M9Im1vZGFsLWRpYWxvZyI+CiAgICAgICAgPGRpdiBjbGFzcz0ibW9kYWwtY29udGVudCI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1vZGFsLWhlYWRlciI+CiAgICAgICAgICAgICAgICA8ZGl2IGlkPSJoZWFkIj48L2Rpdj4KICAgICAgICAgICAgICAgIDxidXR0b24gdHlwZT0iYnV0dG9uIiBjbGFzcz0iY2xvc2UiIGRhdGEtZGlzbWlzcz0ibW9kYWwiIGFyaWEtbGFiZWw9IkNsb3NlIj4KICAgICAgICAgICAgICAgICAgICA8c3BhbiBhcmlhLWhpZGRlbj0idHJ1ZSI+JnRpbWVzOzwvc3Bhbj4KICAgICAgICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ibW9kYWwtYm9keSI+CgogICAgICAgICAgICAgICAgPGZvcm0gaWQ9ImZtIiBtZXRob2Q9InBvc3QiIGVuY3R5cGU9Im11bHRpcGFydC9mb3JtLWRhdGEiPgogICAgICAgICAgICAgICAgICAgIDxzcGFuIGlkPSJsYm0iPjxzdHJvbmc+U2F0dWFuPC9zdHJvbmc+PC9zcGFuPjxicj4KICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJfdG9rZW4iIGlkPSJfdG9rZW4iPgogICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9ImlkIiBpZD0iaWQiPgogICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9ImNsYXNzIiBpZD0iY2xhc3MiPgogICAgICAgICAgICAgICAgICAgIDxzbWFsbD48c3Ryb25nPlRleHQ8L3N0cm9uZz4gKjwvc21hbGw+CiAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIG5hbWU9InRleHQiIGlkPSJ0ZXh0IiBjbGFzcz0iZm9ybS1jb250cm9sIj4KICAgICAgICAgICAgICAgICAgICA8c21hbGw+PHN0cm9uZz5TdGF0dXM8L3N0cm9uZz4gKjwvc21hbGw+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icm93IG1iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtbWQtNiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0icmFkaW8iIG5hbWU9InN0YXR1cyIgaWQ9InN0YXR1czEiIGNsYXNzPSJtci0yIiB2YWx1ZT0idHJ1ZSI+QWt0aWYKICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1tZC02Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJyYWRpbyIgbmFtZT0ic3RhdHVzIiBpZD0ic3RhdHVzMiIgY2xhc3M9Im1yLTIiIHZhbHVlPSJmYWxzZSI+Tm9uQWt0aWYKICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8L2Zvcm0+CgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ibW9kYWwtZm9vdGVyIj4KICAgICAgICAgICAgICAgIDxhIGhyZWY9ImphdmFzY3JpcHQ6dm9pZCgwKTsiIG9uY2xpY2s9InNhdmUoKTsiIGNsYXNzPSJidG4gYnRuLW91dGxpbmUtZGFyayBidG4tc20iPjxpIGNsYXNzPSJmYSBmYS1zYXZlIG1yLTIiPjwvaT5TYXZlPC9hPgogICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KPC9kaXY+CjwhLS0gRW5kIE1vZGFsIDEtLT4KPGlucHV0IHR5cGU9ImhpZGRlbiIgaWQ9ImNsIiB2YWx1ZT0ic2F0dWFuIj4KPHNjcmlwdD4KLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLXN0YXJ0CmZ1bmN0aW9uIHNpZGUodmFsLHVybCxsYixjbCl7CiAgICBmb3IgKGxldCBpID0gMTsgaSA8IDE1OyBpKyspIHsKICAgICAgICBpZih2YWw9PWkpewogICAgICAgICAgICAkKCIjYSIraSkucmVtb3ZlQ2xhc3MoJ2J0bi1vdXRsaW5lLXt7JGNvbG9yfX0nKTsKICAgICAgICAgICAgJCgiI2EiK2kpLmFkZENsYXNzKCdidG4te3skY29sb3J9fScpOwogICAgICAgICAgICAkKCIjYiIraSkuc2hvdygpOwogICAgICAgIH1lbHNlewogICAgICAgICAgICAkKCIjYSIraSkucmVtb3ZlQ2xhc3MoJ2J0bi17eyRjb2xvcn19Jyk7CiAgICAgICAgICAgICQoIiNhIitpKS5hZGRDbGFzcygnYnRuLW91dGxpbmUte3skY29sb3J9fScpOwogICAgICAgICAgICAkKCIjYiIraSkuaGlkZSgpOwogICAgICAgIH0KICAgIH0KICAgICQoJyNsYmgnKS5odG1sKGxiKTsKICAgICQoJyNsYm0nKS5odG1sKGxiKTsKICAgICQoJyNjbCcpLnZhbChjbCk7CiAgICAkKCcjZGd1c2VyJykuZGF0YWdyaWQoJ2xvYWQnLHVybCk7Cn0KLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLWVuZAovLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tc3RhcnQKZnVuY3Rpb24gYWRkKCkgewogICAgJCgnI2ZtJykuZm9ybSgnY2xlYXInKTsKICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGF0dXMxIikuY2hlY2tlZCA9IHRydWU7CiAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiX3Rva2VuIikudmFsdWUgPSAkKCJtZXRhW25hbWU9J2NzcmYtdG9rZW4nXSIpLmF0dHIoImNvbnRlbnQiKTsKICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJoZWFkIikuaW5uZXJIVE1MID0gJzxoNSBjbGFzcz0ibW9kYWwtdGl0bGUiPjxpIGNsYXNzPSJmYSBmYS1wbHVzIG1yLTIiPjwvaT5UYW1iYWggRGF0YTwvaDU+JzsKICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJpZCIpLnZhbHVlID0gJ2luc2VydCc7CiAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2xhc3MiKS52YWx1ZSA9ICQoJyNjbCcpLnZhbCgpOwogICAgJCgnI2VkaXQnKS5tb2RhbCgnc2hvdycpOwoKfQovLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tZW5kCi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1zdGFydApmdW5jdGlvbiBlZGl0KCkgewogICAgdmFyIHJvdyA9ICQoJyNkZ3VzZXInKS5kYXRhZ3JpZCgnZ2V0U2VsZWN0ZWQnKTsKICAgIGlmIChyb3cpIHsKICAgICAgICAkKCcjZm0nKS5mb3JtKCdsb2FkJywgcm93KTsKICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiX3Rva2VuIikudmFsdWUgPSAkKCJtZXRhW25hbWU9J2NzcmYtdG9rZW4nXSIpLmF0dHIoImNvbnRlbnQiKTsKICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiaGVhZCIpLmlubmVySFRNTCA9ICc8aDUgY2xhc3M9Im1vZGFsLXRpdGxlIj48aSBjbGFzcz0iZmEgZmEtZWRpdCBtci0yIj48L2k+RWRpdCBEYXRhPC9oNT4nOwogICAgICAgICQoJyNlZGl0JykubW9kYWwoJ3Nob3cnKTsKICAgIH0KfQovLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tZW5kCi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1zdGFydApmdW5jdGlvbiB0cnVuY2F0ZSgpIHsKICAgIGlmICgkKCcjY2wnKS52YWwoKSkgewogICAgICAgICQubWVzc2FnZXIuZGVmYXVsdHMub2sgPSAnQmVyc2loa2FuJzsKICAgICAgICAkLm1lc3NhZ2VyLmNvbmZpcm0oJ0F0dGVudGlvbiEnLCAnPHN0cm9uZyBjbGFzcz0idGV4dC1pbmZvIj5IYXRpLWhhdGkgTWVsYWt1a2FuIGFrc2kgaW5pLDwvc3Ryb25nPjxicj4gQXBha2FoIEFuZGEgWWFraW4gSW5naW4gTWVtYmVyc2loa2FuIG1hc3RlciA/PGJyPkNsYXNzIDogJyArICQoJyNjbCcpLnZhbCgpLCBmdW5jdGlvbihyKSB7CiAgICAgICAgICAgIGlmIChyKSB7CiAgICAgICAgICAgICAgICAkLnBvc3QoInt7JHBvc3R9fWRlbGNsYXNzL251bGwiLCB7CiAgICAgICAgICAgICAgICAgICAgIl90b2tlbiI6ICQoIm1ldGFbbmFtZT0nY3NyZi10b2tlbiddIikuYXR0cigiY29udGVudCIpLCBjbGFzczogJCgnI2NsJykudmFsKCkKICAgICAgICAgICAgICAgIH0sIGZ1bmN0aW9uKHIpIHsKICAgICAgICAgICAgICAgICAgICBpZiAoci5zdWNjZXNzKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICQoJyNkZ3VzZXInKS5kYXRhZ3JpZCgncmVsb2FkJyk7CiAgICAgICAgICAgICAgICAgICAgICAgIG1zZygnJywgJ0Jlcmhhc2lsIERpIGJlcnNpaGthbicpOwogICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgIG1zZygnRXJyb3InLCByLmVycm9yTXNnKTsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9LCAnanNvbicpOwogICAgICAgICAgICB9CiAgICAgICAgfSk7CiAgICB9Cn0KLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLWVuZAovLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tc3RhcnQKZnVuY3Rpb24gc2hvd19zdGF0dXModmFsLCByb3cpIHsKcmV0dXJuICh2YWw9PSd0cnVlJyk/JzxpIGNsYXNzPSJmYSBmYS1jaGVjayBidG4tc20iPjwvaT4nOic8aSBjbGFzcz0iZmEgZmEtdGltZXMgYnRuLXNtIj48L2k+JzsKfQovLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tZW5kCi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1zdGFydAokKGZ1bmN0aW9uKCkgewogICAgJCgnI2RndXNlcicpLmRhdGFncmlkKHsKICAgICAgICBzaW5nbGVTZWxlY3Q6IHRydWUsCiAgICAgICAgb25Sb3dDb250ZXh0TWVudTogZnVuY3Rpb24oZSwgaW5kZXgsIHJvdykgewogICAgICAgICAgICAkKHRoaXMpLmRhdGFncmlkKCdzZWxlY3RSb3cnLCBpbmRleCk7CiAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTsKICAgICAgICAgICAgJCgnI21tJykubWVudSgnc2hvdycsIHsKICAgICAgICAgICAgICAgIGxlZnQ6IGUucGFnZVgsCiAgICAgICAgICAgICAgICB0b3A6IGUucGFnZVkKICAgICAgICAgICAgfSk7CiAgICAgICAgfSwKICAgICAgICBvbkRibENsaWNrUm93OiBmdW5jdGlvbigpIHsKICAgICAgICAgICAgZWRpdCgpOwogICAgICAgIH0sCiAgICAgICAgcm93U3R5bGVyOiBmdW5jdGlvbihpbmRleCwgcm93KSB7CiAgICAgICAgICAgIGlmIChyb3cuc3RhdHVzID09ICdmYWxzZScpIHsKICAgICAgICAgICAgICAgIHJldHVybiB7Y2xhc3M6J3IxJ307CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9KQoKfSkKLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLWVuZAovLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KZnVuY3Rpb24gc2F2ZSgpIHsKICAgIHZhciB0ZXh0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRleHQiKS52YWx1ZTsKICAgIGlmICh0ZXh0ID09ICcnKSB7CiAgICAgICAgbXNnKCdFcnJvcicsJ3RleHQgaGFydXMgRGkgaXNpLicpOwogICAgICAgICQoJyN0ZXh0JykuZm9jdXMoKTsKICAgICAgICBleGl0OwogICAgfQogICAgJCgnI2ZtJykuZm9ybSgnc3VibWl0JywgewogICAgICAgIHVybDogJ3t7JHBvc3R9fWNydWQvbnVsbCcsCiAgICAgICAgb25TdWJtaXQ6IGZ1bmN0aW9uKCkgewogICAgICAgICAgICByZXR1cm4gJCh0aGlzKS5mb3JtKCd2YWxpZGF0ZScpOwogICAgICAgIH0sCiAgICAgICAgc3VjY2VzczogZnVuY3Rpb24ocmVzdWx0KSB7CiAgICAgICAgICAgIHZhciByZXN1bHQgPSBldmFsKCcoJyArIHJlc3VsdCArICcpJyk7CiAgICAgICAgICAgIGlmIChyZXN1bHQuc3VjY2VzcykgewogICAgICAgICAgICAgICAgJCgnI2VkaXQnKS5tb2RhbCgnaGlkZScpOwogICAgICAgICAgICAgICAgJCgnI2RndXNlcicpLmRhdGFncmlkKCdyZWxvYWQnKTsKICAgICAgICAgICAgICAgIG1zZygnJywgJ0Jlcmhhc2lsIGRpIFNhdmUnKTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIG1zZygnRXJyb3InLCByZXN1bHQuZXJyb3JNc2cpOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfSk7Cn0KLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1zdGFydApmdW5jdGlvbiBkZXN0cm95dXNlcigpIHsKICAgIHZhciByb3cgPSAkKCcjZGd1c2VyJykuZGF0YWdyaWQoJ2dldFNlbGVjdGVkJyk7CiAgICBpZiAocm93KSB7CiAgICAgICAgJC5tZXNzYWdlci5kZWZhdWx0cy5vayA9ICdZQSc7CiAgICAgICAgJC5tZXNzYWdlci5jb25maXJtKCdBdHRlbnRpb24hJywgJzxzdHJvbmcgY2xhc3M9InRleHQtZGFuZ2VyIj5IYXRpLWhhdGkgTWVsYWt1a2FuIGFrc2kgaW5pLDwvc3Ryb25nPjxicj4gQXBha2FoIEFuZGEgWWFraW4gSW5naW4gTWVuZ2hhcHVzIGRhdGEgaW5pID88YnI+VGV4dCA6ICcgKyByb3cudGV4dCwgZnVuY3Rpb24ocikgewogICAgICAgICAgICBpZiAocikgewogICAgICAgICAgICAgICAgJC5wb3N0KCJ7eyRwb3N0fX1kZWxldGUvbnVsbCIsIHsKICAgICAgICAgICAgICAgICAgICAiX3Rva2VuIjogJCgibWV0YVtuYW1lPSdjc3JmLXRva2VuJ10iKS5hdHRyKCJjb250ZW50IiksIGlkOiByb3cuaWQKICAgICAgICAgICAgICAgIH0sIGZ1bmN0aW9uKHJlc3VsdCkgewogICAgICAgICAgICAgICAgICAgIGlmIChyZXN1bHQuc3VjY2VzcykgewogICAgICAgICAgICAgICAgICAgICAgICAkKCcjZGd1c2VyJykuZGF0YWdyaWQoJ3JlbG9hZCcpOwogICAgICAgICAgICAgICAgICAgICAgICBtc2coJycsICdCZXJoYXNpbCBEaSBIYXB1cycpOwogICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgIG1zZygnRXJyb3InLCByZXN1bHQuZXJyb3JNc2cpOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0sICdqc29uJyk7CiAgICAgICAgICAgIH0KICAgICAgICB9KTsKICAgIH0KfQovLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tZW5kCjwvc2NyaXB0PgpAZW5kc2VjdGlvbg==');
define('NEW_CONSTANT','Ly9DX20wMDBMVA0KZnVuY3Rpb24gZW5iYXNlNjQoJHZhbCl7DQogICAgcmV0dXJuIGJhc2U2NF9lbmNvZGUoJHZhbCk7DQp9DQovL0NfbTAwMExUDQovL0RBVEE=');
define('NEW_MODEL','PD9waHANCm5hbWVzcGFjZSBBcHBcTW9kZWxzOw0KdXNlIElsbHVtaW5hdGVcRGF0YWJhc2VcRWxvcXVlbnRcRmFjdG9yaWVzXEhhc0ZhY3Rvcnk7DQp1c2UgSWxsdW1pbmF0ZVxEYXRhYmFzZVxFbG9xdWVudFxNb2RlbDsNCmNsYXNzIE1fbTAwMExUIGV4dGVuZHMgTW9kZWwNCnsNCiAgICB1c2UgSGFzRmFjdG9yeTsNCn0=');
define('NEW_ROUTE','Ly9DX20wMDBMVA0KdXNlIEFwcFxIdHRwXENvbnRyb2xsZXJzXENfbTAwMExUOw0KUm91dGU6OnBvc3QoJy9taWdfbTAwMExUJyxbQ19tMDAwTFQ6OmNsYXNzLCdtaWdyYXRpb25zJ10pLT5taWRkbGV3YXJlKCdhdXRoJyk7DQpSb3V0ZTo6Z2V0KCcvY19tMDAwTFQnLCBbQ19tMDAwTFQ6OmNsYXNzLCdpbmRleCddKS0+bWlkZGxld2FyZSgnYXV0aCcpOwpSb3V0ZTo6Z2V0KCcvY19tMDAwTFRfcmVsYXNpJywgW0NfbTAwMExUOjpjbGFzcywncmVsYXNpJ10pLT5taWRkbGV3YXJlKCdhdXRoJyk7ClJvdXRlOjpwb3N0KCcvY19tMDAwTFRfcmVsYXNpL3thY3R9JywgW0NfbTAwMExUOjpjbGFzcywncG9zdHJlbGFzaSddKS0+bWlkZGxld2FyZSgnYXV0aCcpOwpSb3V0ZTo6Z2V0KCcvY19tMDAwTFRfbWFzdGVyJywgW0NfbTAwMExUOjpjbGFzcywnbWFzdGVyJ10pLT5taWRkbGV3YXJlKCdhdXRoJyk7ClJvdXRlOjpwb3N0KCcvY19tMDAwTFRfbWFzdGVyL3thY3R9L3tjbGFzc30nLCBbQ19tMDAwTFQ6OmNsYXNzLCdwb3N0bWFzdGVyJ10pLT5taWRkbGV3YXJlKCdhdXRoJyk7ClJvdXRlOjpwb3N0KCcvY19tMDAwTFRfZ2V0bWFzdGVyL3tjbGFzc30nLCBbQ19tMDAwTFQ6OmNsYXNzLCdnZXRtYXN0ZXInXSktPm1pZGRsZXdhcmUoJ2F1dGgnKTsNCi8vQ19tMDAwTFQNCi8vREFUQQ==');
define('NEW_API','Ly9DX20wMDBMVA0KdXNlIEFwcFxIdHRwXENvbnRyb2xsZXJzXENfbTAwMExUOw0KUm91dGU6OnBvc3QoJy9hcGlfbTAwMExUJyxbQ19tMDAwTFQ6OmNsYXNzLCdhcGknXSk7DQovL0NfbTAwMExUDQovL0RBVEE=');
define('NEW_CONTROLER','"PD9waHANCm5hbWVzcGFjZSBBcHBcSHR0cFxDb250cm9sbGVyczsNCnVzZSBJbGx1bWluYXRlXEh0dHBcUmVxdWVzdDsNCnVzZSBJbGx1bWluYXRlXERhdGFiYXNlXFNjaGVtYVxCbHVlcHJpbnQ7DQp1c2UgSWxsdW1pbmF0ZVxTdXBwb3J0XEZhY2FkZXNcU2NoZW1hOw0KY2xhc3MgQ19tMDAwTFQgZXh0ZW5kcyBDb250cm9sbGVyDQp7DQogICAgcHJpdmF0ZSBmdW5jdGlvbiBpZCgpe3JldHVybiAnbTAwMExUJzt9DQoNCiAgICBwdWJsaWMgZnVuY3Rpb24gaW5kZXgoKXsNCiAgICAgICAgcGFnZV9hdXRlbnRpY2F0ZSgpOw0KICAgICAgICAkZGF0YVsnaWQnXT0kdGhpcy0+aWQoKTsNCiAgICAgICAgJGRhdGFbJ2xhYmVsJ109c3RydG91cHBlcignTkVXIGluZGV4Jyk7DQogICAgICAgICRkYXRhWydpY29uJ109J2ZhIGZhLWZpbGUnOw0KICAgICAgICAkZGF0YVsncG9zdCddPSdjXycuJHRoaXMtPmlkKCkuJy8nOw0KICAgICAgICByZXR1cm4gdmlldygnY29zdHVtZS8nLiR0aGlzLT5pZCgpLicvaW5kZXgnLCRkYXRhKTsNCiAgICB9DQogICAgcHVibGljIGZ1bmN0aW9uIHJlbGFzaSgpew0KICAgICAgICBwYWdlX2F1dGVudGljYXRlKCk7DQogICAgICAgICRkYXRhWydpZCddPSR0aGlzLT5pZCgpOw0KICAgICAgICAkZGF0YVsnbGFiZWwnXT1zdHJ0b3VwcGVyKCdEYXRhIHJlbGFzaScpOw0KICAgICAgICAkZGF0YVsnaWNvbiddPSdmYSBmYS1jb2dzJzsNCiAgICAgICAgJGRhdGFbJ3Bvc3QnXT0nY18nLiR0aGlzLT5pZCgpLidfcmVsYXNpLyc7DQogICAgICAgIHJldHVybiB2aWV3KCdjb3N0dW1lLycuJHRoaXMtPmlkKCkuJy9yZWxhc2knLCRkYXRhKTsNCiAgICB9DQogICAgcHVibGljIGZ1bmN0aW9uIHBvc3RyZWxhc2koJGFjdCl7DQogICAgICAgIHBhZ2VfYXV0ZW50aWNhdGUoJ2NfJy4kdGhpcy0+aWQoKS4nX3JlbGFzaScpOw0KICAgICAgICBpZigkYWN0PT0ndXBkYXRlaW5jJyl7DQogICAgICAgICAgICAkaWQgID0gcmVxdWVzdCgpLT5pbnB1dCgnaWQnKTsNCiAgICAgICAgICAgICRjb2wgID0gcmVxdWVzdCgpLT5pbnB1dCgnY29sJyk7DQogICAgICAgICAgICAkdmFsICA9IHJlcXVlc3QoKS0+aW5wdXQoJ3ZhbCcsJy0nKTsNCiAgICAgICAgICAgIGlmKCRpZD09JHRoaXMtPmlkKCkuJ19wYXNzd29yZCcpew0KICAgICAgICAgICAgICAgICR2YWwgPSBobWFjX2VuY29kZSgkdmFsKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgICRyZXMgPSB1cGRhdGUoJ2luY3MnLFskY29sPT4kdmFsXSxbJ2lkJz0+JGlkXSk7DQogICAgICAgICAgICBpZighJHJlcyl7DQogICAgICAgICAgICAgICAgZWNobyBqc29uX2VuY29kZShbJ2Vycm9yTXNnJyA9PiAnR2FnYWwgRGkgU2F2ZSddKTsNCiAgICAgICAgICAgICAgICBleGl0Ow0KICAgICAgICAgICAgfQ0KICAgICAgICB9ZWxzZXsNCiAgICAgICAgICAgIGVjaG8ganNvbl9lbmNvZGUoWydlcnJvck1zZycgPT4gJ0Z1bmdzaSBUaWRhayBUZXJzZWRpYS4nXSk7DQogICAgICAgICAgICBleGl0Ow0KICAgICAgICB9DQogICAgICAgIGVjaG8ganNvbl9lbmNvZGUoWydzdWNjZXNzJyA9PiB0cnVlXSk7DQogICAgfQ0KICAgIHB1YmxpYyBmdW5jdGlvbiBtYXN0ZXIoKXsNCiAgICAgICAgcGFnZV9hdXRlbnRpY2F0ZSgpOw0KICAgICAgICAkZGF0YVsnaWQnXT0kdGhpcy0+aWQoKTsNCiAgICAgICAgJGRhdGFbJ2xhYmVsJ109c3RydG91cHBlcignTWFzdGVyIGRhdGEnKTsNCiAgICAgICAgJGRhdGFbJ2ljb24nXT0nZmEgZmEtbWljcm9jaGlwJzsNCiAgICAgICAgJGRhdGFbJ3Bvc3QnXT0nY18nLiR0aGlzLT5pZCgpLidfbWFzdGVyLyc7DQogICAgICAgIHJldHVybiB2aWV3KCdjb3N0dW1lLycuJHRoaXMtPmlkKCkuJy9tYXN0ZXInLCRkYXRhKTsNCiAgICB9DQogICAgcHVibGljIGZ1bmN0aW9uIGdldG1hc3RlcigkY2xhc3M9bnVsbCl7ICANCiAgICAgICAgLy9DT0RFIENPTlQ6ICRkYXRhWydtYXN0ZXInXT0nY18nLiR0aGlzLT5pZCgpLidfZ2V0bWFzdGVyLyc7DQogICAgICAgIC8vQ09ERSBDQUxMOiB7eyRtYXN0ZXJ9fWNsYXNzJzsNCiAgICAgICAgJHRiID0gJHRoaXMtPmlkKCkuJ19tYXN0ZXInOw0KICAgICAgICByZXR1cm4gZGIoJHRiKS0+d2hlcmUoWydzdGF0dXMnPT4ndHJ1ZScsJ2NsYXNzJz0+JGNsYXNzXSktPmdldCgpOw0KICAgIH0NCiAgICBwdWJsaWMgZnVuY3Rpb24gcG9zdG1hc3RlcigkYWN0LCRjbGFzcz1udWxsKXsNCiAgICAgICAgcGFnZV9hdXRlbnRpY2F0ZSgnY18nLiR0aGlzLT5pZCgpLidfbWFzdGVyJyk7DQogICAgICAgICR0YiA9ICR0aGlzLT5pZCgpLidfbWFzdGVyJzsNCiAgICAgICAgaWYoJGFjdD09J2dldGRhdGEnKXsNCiAgICAgICAgICAgICRwYWdlID0gaXNzZXQoJF9QT1NUWydwYWdlJ10pID8gaW50dmFsKCRfUE9TVFsncGFnZSddKSA6IDE7DQogICAgICAgICAgICAkcm93cyA9IGlzc2V0KCRfUE9TVFsncm93cyddKSA\/IGludHZhbCgkX1BPU1RbJ3Jvd3MnXSkgOiA1MDsNCiAgICAgICAgICAgICRzb3J0ID0gaXNzZXQoJF9QT1NUWydzb3J0J10pID8gc3RydmFsKCRfUE9TVFsnc29ydCddKSA6ICdpZCc7DQogICAgICAgICAgICAkb3JkZXIgPSBpc3NldCgkX1BPU1RbJ29yZGVyJ10pID8gc3RydmFsKCRfUE9TVFsnb3JkZXInXSkgOiAnZGVzYyc7DQogICAgICAgICAgICAkc2VhcmNoID0gaXNzZXQoJF9QT1NUWydzZWFyY2gnXSkgPyBzdHJ2YWwoJF9QT1NUWydzZWFyY2gnXSkgOiAnJzsNCiAgICAgICAgICAgICRvZmZzZXQgPSAoJHBhZ2UgLSAxKSAqICRyb3dzOw0KICAgICAgICAgICAgJHJlc3VsdCA9IGFycmF5KCk7DQogICAgICAgICAgICAkcXVlcnkgPSBkYigkdGIpOw0KICAgICAgICAgICAgJHF1ZXJ5LT53aGVyZSgnY2xhc3MnLCdMSUtFJywnJScuJGNsYXNzLiclJykNCiAgICAgICAgICAgIC0+d2hlcmUoJ3RleHQnLCdMSUtFJywnJScuJHNlYXJjaC4nJScpDQogICAgICAgICAgICAtPm9yV2hlcmUoJ2tldCcsJ0xJS0UnLCclJy4kc2VhcmNoLiclJykNCiAgICAgICAgICAgIC0+b3JkZXJCeSgkc29ydCwgJG9yZGVyKQ0KICAgICAgICAgICAgLT5saW1pdCgkcm93cykNCiAgICAgICAgICAgIC0+b2Zmc2V0KCRvZmZzZXQpOw0KICAgICAgICAgICAgJGNvdW50cnkgPSAkcXVlcnktPmdldCgpOw0KICAgICAgICAgICAgJHJlc3VsdFsndG90YWwnXSA9ICRxdWVyeS0+Y291bnQoKTsNCiAgICAgICAgICAgICRyZXN1bHQgPSBhcnJheV9tZXJnZSgkcmVzdWx0LCBbJ3Jvd3MnID0+ICRjb3VudHJ5XSk7DQogICAgICAgICAgICBlY2hvIGpzb25fZW5jb2RlKCRyZXN1bHQpOw0KICAgICAgICAgICAgZXhpdDsNCiAgICAgICAgfWVsc2VpZigkYWN0PT0nY3J1ZCcpew0KICAgICAgICAgICAgJGlkICA9IHJlcXVlc3QoKS0+aW5wdXQoJ2lkJyk7DQogICAgICAgICAgICAkZGF0YSA9IFsNCiAgICAgICAgICAgICAgICAndGV4dCcgPT4gcmVxdWVzdCgpLT5pbnB1dCgndGV4dCcpLA0KICAgICAgICAgICAgICAgICdjbGFzcycgPT4gcmVxdWVzdCgpLT5pbnB1dCgnY2xhc3MnKSwNCiAgICAgICAgICAgICAgICAnc3RhdHVzJyA9PiByZXF1ZXN0KCktPmlucHV0KCdzdGF0dXMnKSwNCiAgICAgICAgICAgIF07DQogICAgICAgICAgICBpZigkaWQ9PSdpbnNlcnQnKXsNCiAgICAgICAgICAgICAgaW5zZXJ0KCR0YiwkZGF0YSk7DQogICAgICAgICAgICB9ZWxzZXsNCiAgICAgICAgICAgICAgdXBkYXRlKCR0YiwkZGF0YSxbJ2lkJz0+JGlkXSk7DQogICAgICAgICAgICB9DQogICAgICAgIH1lbHNlaWYoJGFjdD09J2RlbGV0ZScpew0KICAgICAgICAgICAgZGVsZXRlKCR0YixbJ2lkJz0+cmVxdWVzdCgpLT5pbnB1dCgnaWQnKV0pOw0KICAgICAgICB9ZWxzZWlmKCRhY3Q9PSdkZWxjbGFzcycpew0KICAgICAgICAgICAgZGVsZXRlKCR0YixbJ2NsYXNzJz0+cmVxdWVzdCgpLT5pbnB1dCgnY2xhc3MnKV0pOw0KICAgICAgICB9ZWxzZXsNCiAgICAgICAgICAgIGVjaG8ganNvbl9lbmNvZGUoWydlcnJvck1zZycgPT4gJ0Z1bmdzaSBUaWRhayBUZXJzZWRpYS4nXSk7DQogICAgICAgICAgICBleGl0Ow0KICAgICAgICB9DQogICAgICAgIGVjaG8ganNvbl9lbmNvZGUoWydzdWNjZXNzJyA9PiB0cnVlXSk7DQogICAgfQ0KICAgIC8vIE1JR1JBVElPTiBTVEFSVA0KICAgIHByaXZhdGUgZnVuY3Rpb24gaW5zZXJ0KCR0YiwkYXJyYXkpew0KICAgICAgICBpZihudW1fcm93cygkdGIsJGFycmF5KTwxKXsNCiAgICAgICAgICAgIGluc2VydCgkdGIsJGFycmF5KTsNCiAgICAgICAgfQ0KICAgIH0NCiAgICBwcml2YXRlIGZ1bmN0aW9uIHNpZGUoJGxhYmVsLCRpZCwkaWNvbj0nZmEgZmEtYWRqdXN0JywkdXJsPScjJywkcm9sZT0nMCcsJGNvbD0nMScsJHJvdzE9JzEnLCRyb3cyPScwJywkcm93Mz0nMCcsJGcxPScwMDAwMDAwMDAwJywkZzI9JzAwMDAwMDAwMDAnKXsNCiAgICAgICAgJHNpZGViYXI9Ww0KICAgICAgICAnaWQnPT4kaWQsDQogICAgICAgICdtJz0+JHRoaXMtPmlkKCksDQogICAgICAgICdncm91cF8xJyA9PiAkZzEsDQogICAgICAgICdncm91cF8yJyA9PiAkZzIsDQogICAgICAgICdjb2x1bScgPT4gJGNvbCwNCiAgICAgICAgJ3JvbGUnID0+ICRyb2xlLA0KICAgICAgICAnY29sMScgPT4gJHJvdzEsDQogICAgICAgICdjb2wyJyA9PiAkcm93MiwNCiAgICAgICAgJ2NvbDMnID0+ICRyb3czLA0KICAgICAgICAnbmFtYScgPT4gc3RydG91cHBlcigkbGFiZWwpLA0KICAgICAgICAndXJsJyA9PiAkdXJsLA0KICAgICAgICAnaWNvbicgPT4gJGljb24sDQogICAgICAgICdrZXQnID0+ICcnLA0KICAgICAgICAnYV9kZXYnID0+ICcxJywNCiAgICAgICAgJ2RldicgPT4gJzEnLA0KICAgICAgICAnYV9zdXBlcl9hZG1pbicgPT4gJzEnLA0KICAgICAgICAnc3VwZXJfYWRtaW4nID0+ICcxJywNCiAgICAgXTsNCiAgICAgcmV0dXJuICRzaWRlYmFyOw0KICAgIH0NCiAgICBwdWJsaWMgZnVuY3Rpb24gbWlncmF0aW9ucygpew0KICAgICAgICBvbmx5X2FkbWluKCk7DQogICAgICAgICRkaXIgPSAkdGhpcy0+aWQoKTsNCiAgICAgICAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IFNJREVCQVIgU1RBUlQNCiAgICAgICAgZGVsZXRlKCdzaWRlYmFycycsWydtJz0+JGRpcl0pOw0KICAgICAgICAkaWRfYmFyMSA9IHRpbWUoKTs7DQogICAgICAgICAgaW5zZXJ0KCdzaWRlYmFycycsJHRoaXMtPnNpZGUoJ25ldyBtb2R1bCcsJGlkX2JhcjEsJ2ZhIGZhLWJveC1vcGVuJykpOw0KICAgICAgICAgICAgaW5zZXJ0KCdzaWRlYmFycycsJHRoaXMtPnNpZGUoJ25ldyBpbmRleCcsKCRpZF9iYXIxKzcpLCdmYSBmYS1hZGp1c3QnLCdjXycuJGRpciwxLDIsMSwwLDAsJGlkX2JhcjEpKTsNCiAgICAgICAgICAgIGluc2VydCgnc2lkZWJhcnMnLCR0aGlzLT5zaWRlKCdtYXN0ZXIgZGF0YScsKCRpZF9iYXIxKzgpLCdmYSBmYS1hZGp1c3QnLCdjXycuJGRpci4nX21hc3RlcicsMSwyLDEsMSwwLCRpZF9iYXIxKSk7DQogICAgICAgICAgICBpbnNlcnQoJ3NpZGViYXJzJywkdGhpcy0+c2lkZSgncmVsYXNpJywoJGlkX2JhcjErMSksJ2ZhIGZhLWFkanVzdCcsJ2NfJy4kZGlyLidfcmVsYXNpJywxLDIsMSwyLDAsJGlkX2JhcjEpKTsNCiAgICAgICAgICAgIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSBTSURFQkFSIEVORA0KICAgICAgICBpZiAoIVNjaGVtYTo6aGFzVGFibGUoJGRpci4nX3RiJykpIHsNCiAgICAgICAgICAgIFNjaGVtYTo6Y3JlYXRlKCRkaXIuJ190YicsIGZ1bmN0aW9uIChCbHVlcHJpbnQgJHRhYmxlKSB7DQogICAgICAgICAgICAgICAgJHRhYmxlLT5zdHJpbmcoJ2lkJyk7DQogICAgICAgICAgICAgICAgJHRhYmxlLT5zdHJpbmcoJ3NvcnQnKTsNCiAgICAgICAgICAgICAgICAkdGFibGUtPnRpbWVzdGFtcHMoKTsNCiAgICAgICAgICAgICAgICAkdGFibGUtPnByaW1hcnkoJ2lkJyk7DQogICAgICAgICAgICB9KTsNCiAgICAgICAgfQ0KICAgICAgICBpZiAoIVNjaGVtYTo6aGFzVGFibGUoJGRpci4nX21hc3RlcicpKXsNCiAgICAgICAgICAgIFNjaGVtYTo6Y3JlYXRlKCRkaXIuJ19tYXN0ZXInLCBmdW5jdGlvbiAoQmx1ZXByaW50ICR0YWJsZSkgew0KICAgICAgICAgICAgICAgICR0YWJsZS0+aWQoKTsNCiAgICAgICAgICAgICAgICAkdGFibGUtPnN0cmluZygnY2xhc3MnKTsNCiAgICAgICAgICAgICAgICAkdGFibGUtPnN0cmluZygndGV4dCcpOw0KICAgICAgICAgICAgICAgICR0YWJsZS0+ZW51bSgndGFuZGEnLCBbJ3QwJywgJ3QxJyAsJ3QyJywndDMnXSk7DQogICAgICAgICAgICAgICAgJHRhYmxlLT5lbnVtKCdzdGF0dXMnLCBbJ3RydWUnLCAnZmFsc2UnXSk7DQogICAgICAgICAgICAgICAgJHRhYmxlLT5sb25nVGV4dCgna2V0JyktPm51bGxhYmxlKCk7DQogICAgICAgICAgICAgICAgJHRhYmxlLT50aW1lc3RhbXBzKCk7DQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIGluc2VydCgkZGlyLidfdGInLFsnaWQnPT4kZGlyLidfbWFzdGVyJywnc29ydCc9PicxJ10pOw0KICAgICAgICB9DQogICAgICAgIGlmIChTY2hlbWE6Omhhc1RhYmxlKCRkaXIuJ19tYXN0ZXInKSl7DQogICAgICAgICAgICAkdGIgPSAkZGlyLidfbWFzdGVyJzsNCiAgICAgICAgICAgICRzYXR1YW4gPSBbJ1NlbmRvayBNYWthbicsJ1NlbmRvayBUZWgnLCdQdXllcicsJ0thcHN1bCcsJ1BpbCcsJ1N0cmlwJywnRG9zJywnQm90b2wnLCdtbCcsJ0xpdGVyJywnbWcnLCdHcmFtJywnS0cnLCdUYWJsZXQnLCdCaWppJywnVGFiJ107DQogICAgICAgICAgICBmb3JlYWNoKCRzYXR1YW4gYXMgJG8pew0KICAgICAgICAgICAgICAgICR0aGlzLT5pbnNlcnQoJHRiLFsnY2xhc3MnPT4nc2F0dWFuJywndGV4dCc9PiRvXSk7DQogICAgICAgICAgICB9DQogICAgICAgICAgICAka2F0ZWdvcmkgPSBbDQogICAgICAgICAgICAgICAgJ0FudGloaXN0YW1pbicsJ0FuYWxnZXNpaycsJ09iYXQgQmF0dWsnLCdBbnRhc2lkYScsJ0FudGlwaXJldGlrJywnQW50aWhpcGVydGVuc2knLCdBbnRpYXJpdG1pYScsDQogICAgICAgICAgICAgICAgJ0FudGlrb2FndWxhbiBkYW4gVHJvbWJvbGl0aWsnLCdBbnRpYmlvdGlrJywnQW50aWphbXVyJywnQW50aXZpcnVzJywnQW50aWRpYXJlJywnT2JhdCBQZW5jYWhhcicsDQogICAgICAgICAgICAgICAgJ0FudGlrb252dWxzYW4nICwnQW50aWNlbWFzJywnQW50aWRlcHJlc2FuJywnQW50aWluZmxhbWFzaScsJ0FudGlwc2lrb3RpaycsJ0tvcnRpa29zdGVyb2lkJywnSW11bm9zdXByZXNhbiddOw0KICAgICAgICAgICAgZm9yZWFjaCgka2F0ZWdvcmkgYXMgJG8pew0KICAgICAgICAgICAgICAgICR0aGlzLT5pbnNlcnQoJHRiLFsnY2xhc3MnPT4na2F0ZWdvcmknLCd0ZXh0Jz0+JG9dKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICBpbnNlcnRfaW5jKCRkaXIuJ19zaWduYXR1cmUnLFsnY29kZSc9PictLScsJ3N0YXR1cyc9PidmYWxzZScsJ20nPT4kZGlyXSk7DQogICAgICAgIGVjaG8ganNvbl9lbmNvZGUoWydzdWNjZXNzJyA9PiB0cnVlXSk7DQogICAgfQ0KICAgIC8vIE1JR1JBVElPTiBFTkQNCn0="');
Function Calls
define | 1 |
Stats
MD5 | 97d11be451e144c2b6801ce4d9c9bc1e |
Eval Count | 0 |
Decode Time | 366 ms |