mirror of
https://github.com/alantang1977/hipy.git
synced 2024-11-25 07:53:09 +02:00
1 line
No EOL
25 KiB
JavaScript
1 line
No EOL
25 KiB
JavaScript
dmFyIHJ1bGUgPSB7Cgl0aXRsZTogJ+Wkp+exs+aYn+eQg1tWMl0nLCAvLyBjc3BfQXBwWXNWMgoJaG9zdDonaHR0cHM6Ly93d3cuZG14cS52aXAnLAogICAgaG9zdEpzOidwcmludChIT1NUKTtsZXQgaHRtbD1yZXF1ZXN0KEhPU1Qse2hlYWRlcnM6eyJVc2VyLUFnZW50IjpQQ19VQX19KTtsZXQgc3JjPWpzcC5wZGZoKGh0bWwsInVsJiZsaTplcSgxKSYmYSYmaHJlZiIpO3ByaW50KHNyYyk7SE9TVD1zcmMrIi9hcGkucGhwL2FwcC8iJywKCXVybDogJ3ZpZGVvP3RpZD1meWNsYXNzZnlmaWx0ZXImbGltaXQ9MjAmcGc9ZnlwYWdlJywKCWZpbHRlcl91cmw6JyZjbGFzcz17e2ZsLmNsYXNzfX0mYXJlYT17e2ZsLmFyZWF9fSZsYW5nPXt7ZmwubGFuZ319JmxldHRlcj17e2ZsLmxldHRlcn19JnllYXI9e3tmbC55ZWFyfX0mYnk9e3tmbC5ieX19JywKCWZpbHRlcjogewoJCSIyMCI6W3sia2V5IjoiY2xhc3MiLCJuYW1lIjoi5Ymn5oOFIiwidmFsdWUiOlt7Im4iOiLlhajpg6giLCJ2IjoiIn0seyJuIjoiTmV0ZmxpeCIsInYiOiJOZXRmbGl4In0seyJuIjoi5LuZ5L6gIiwidiI6IuS7meS+oCJ9LHsibiI6IuWJp+aDhSIsInYiOiLliafmg4UifSx7Im4iOiLnp5HlubsiLCJ2Ijoi56eR5bm7In0seyJuIjoi5Yqo5L2cIiwidiI6IuWKqOS9nCJ9LHsibiI6IuWWnOWJpyIsInYiOiLllpzliacifSx7Im4iOiLniLHmg4UiLCJ2Ijoi54ix5oOFIn0seyJuIjoi5YaS6ZmpIiwidiI6IuWGkumZqSJ9LHsibiI6IuWEv+erpSIsInYiOiLlhL/nq6UifSx7Im4iOiLmrYzoiJ4iLCJ2Ijoi5q2M6IieIn0seyJuIjoi6Z+z5LmQIiwidiI6Iumfs+S5kCJ9LHsibiI6IuWlh+W5uyIsInYiOiLlpYflubsifSx7Im4iOiLliqjnlLsiLCJ2Ijoi5Yqo55S7In0seyJuIjoi5oGQ5oCWIiwidiI6IuaBkOaAliJ9LHsibiI6IuaDiuaCmiIsInYiOiLmg4rmgpoifSx7Im4iOiLkuKflsLgiLCJ2Ijoi5Lin5bC4In0seyJuIjoi5oiY5LqJIiwidiI6IuaImOS6iSJ9LHsibiI6IuS8oOiusCIsInYiOiLkvKDorrAifSx7Im4iOiLnuqrlvZUiLCJ2Ijoi57qq5b2VIn0seyJuIjoi54qv572qIiwidiI6IueKr+e9qiJ9LHsibiI6IuaCrOeWkSIsInYiOiLmgqznlpEifSx7Im4iOiLopb/pg6giLCJ2Ijoi6KW/6YOoIn0seyJuIjoi54G+6Zq+IiwidiI6IueBvumaviJ9LHsibiI6IuWPpOijhSIsInYiOiLlj6Too4UifSx7Im4iOiLmrabkvqAiLCJ2Ijoi5q2m5L6gIn0seyJuIjoi5a625bqtIiwidiI6IuWutuW6rSJ9LHsibiI6IuefreeJhyIsInYiOiLnn63niYcifSx7Im4iOiLmoKHlm60iLCJ2Ijoi5qCh5ZutIn0seyJuIjoi5paH6Im6IiwidiI6IuaWh+iJuiJ9LHsibiI6Iui/kOWKqCIsInYiOiLov5DliqgifSx7Im4iOiLpnZLmmKUiLCJ2Ijoi6Z2S5pilIn0seyJuIjoi5ZCM5oCnIiwidiI6IuWQjOaApyJ9LHsibiI6IuWKseW/lyIsInYiOiLlirHlv5cifSx7Im4iOiLkurrmgKciLCJ2Ijoi5Lq65oCnIn0seyJuIjoi576O6aOfIiwidiI6Iue+jumjnyJ9LHsibiI6IuWls+aApyIsInYiOiLlpbPmgKcifSx7Im4iOiLmsrvmhIgiLCJ2Ijoi5rK75oSIIn0seyJuIjoi5Y6G5Y+yIiwidiI6IuWOhuWPsiJ9LHsibiI6Iuecn+S6uuengCIsInYiOiLnnJ/kurrnp4AifSx7Im4iOiLohLHlj6Pnp4AiLCJ2Ijoi6ISx5Y+j56eAIn1dfSx7ImtleSI6ImFyZWEiLCJuYW1lIjoi5Zyw5Yy6IiwidmFsdWUiOlt7Im4iOiLlhajpg6giLCJ2IjoiIn0seyJuIjoi5aSn6ZmGIiwidiI6IuWkp+mZhiJ9LHsibiI6Iummmea4ryIsInYiOiLpppnmuK8ifSx7Im4iOiLlj7Dmub4iLCJ2Ijoi5Y+w5rm+In0seyJuIjoi576O5Zu9IiwidiI6Iue+juWbvSJ9LHsibiI6IuaXpeacrCIsInYiOiLml6XmnKwifSx7Im4iOiLpn6nlm70iLCJ2Ijoi6Z+p5Zu9In0seyJuIjoi6Iux5Zu9IiwidiI6IuiLseWbvSJ9LHsibiI6IuazleWbvSIsInYiOiLms5Xlm70ifSx7Im4iOiLlvrflm70iLCJ2Ijoi5b635Zu9In0seyJuIjoi5Y2w5bqmIiwidiI6IuWNsOW6piJ9LHsibiI6IuazsOWbvSIsInYiOiLms7Dlm70ifSx7Im4iOiLkuLnpuqYiLCJ2Ijoi5Li56bqmIn0seyJuIjoi55Ge5YW4IiwidiI6IueRnuWFuCJ9LHsibiI6IuW3tOilvyIsInYiOiLlt7Topb8ifSx7Im4iOiLliqDmi7/lpKciLCJ2Ijoi5Yqg5ou/5aSnIn0seyJuIjoi5L+E572X5pavIiwidiI6IuS/hOe9l+aWryJ9LHsibiI6IuaEj+Wkp+WIqSIsInYiOiLmhI/lpKfliKkifSx7Im4iOiLmr5TliKnml7YiLCJ2Ijoi5q+U5Yip5pe2In0seyJuIjoi54ix5bCU5YWwIiwidiI6IueIseWwlOWFsCJ9LHsibiI6Iuilv+ePreeJmSIsInYiOiLopb/nj63niZkifSx7Im4iOiLmvrPlpKfliKnkupoiLCJ2Ijoi5r6z5aSn5Yip5LqaIn1dfSx7ImtleSI6ImxhbmciLCJuYW1lIjoi6K+t6KiAIiwidmFsdWUiOlt7Im4iOiLlhajpg6giLCJ2IjoiIn0seyJuIjoi6Iux6K+tIiwidiI6IuiLseivrSJ9LHsibiI6IuazleivrSIsInYiOiLms5Xor60ifSx7Im4iOiLlm73or60iLCJ2Ijoi5Zu96K+tIn0seyJuIjoi57Kk6K+tIiwidiI6IueypOivrSJ9LHsibiI6IuaXpeivrSIsInYiOiLml6Xor60ifSx7Im4iOiLpn6nor60iLCJ2Ijoi6Z+p6K+tIn0seyJuIjoi5rOw6K+tIiwidiI6IuazsOivrSJ9LHsibiI6IuW+t+ivrSIsInYiOiLlvrfor60ifSx7Im4iOiLkv4Tor60iLCJ2Ijoi5L+E6K+tIn0seyJuIjoi6Ze95Y2X6K+tIiwidiI6IumXveWNl+ivrSJ9LHsibiI6IuS4uem6puivrSIsInYiOiLkuLnpuqbor60ifSx7Im4iOiLms6LlhbDor60iLCJ2Ijoi5rOi5YWw6K+tIn0seyJuIjoi55Ge5YW46K+tIiwidiI6IueRnuWFuOivrSJ9LHsibiI6IuWNsOWcsOivrSIsInYiOiLljbDlnLDor60ifSx7Im4iOiLmjKrlqIHor60iLCJ2Ijoi5oyq5aiB6K+tIn0seyJuIjoi5oSP5aSn5Yip6K+tIiwidiI6IuaEj+Wkp+WIqeivrSJ9LHsibiI6Iuilv+ePreeJmeivrSIsInYiOiLopb/nj63niZnor60ifV19LHsia2V5IjoieWVhciIsIm5hbWUiOiLlubTku70iLCJ2YWx1ZSI6W3sibiI6IuWFqOmDqCIsInYiOiIifSx7Im4iOiIyMDI0IiwidiI6IjIwMjQifSx7Im4iOiIyMDIzIiwidiI6IjIwMjMifSx7Im4iOiIyMDIyIiwidiI6IjIwMjIifSx7Im4iOiIyMDIxIiwidiI6IjIwMjEifSx7Im4iOiIyMDIwIiwidiI6IjIwMjAifSx7Im4iOiIyMDE5IiwidiI6IjIwMTkifSx7Im4iOiIyMDE4IiwidiI6IjIwMTgifSx7Im4iOiIyMDE3IiwidiI6IjIwMTcifSx7Im4iOiIyMDE2IiwidiI6IjIwMTYifSx7Im4iOiIyMDE1IiwidiI6IjIwMTUifSx7Im4iOiIyMDE0IiwidiI6IjIwMTQifSx7Im4iOiIyMDEzIiwidiI6IjIwMTMifSx7Im4iOiIyMDEyIiwidiI6IjIwMTIifSx7Im4iOiIyMDExIiwidiI6IjIwMTEifSx7Im4iOiIyMDEwIiwidiI6IjIwMTAifSx7Im4iOiIyMDA5IiwidiI6IjIwMDkifSx7Im4iOiIyMDA4IiwidiI6IjIwMDgifSx7Im4iOiIyMDA3IiwidiI6IjIwMDcifV19XSwKCQkiMjEiOlt7ImtleSI6ImNsYXNzIiwibmFtZSI6IuWJp+aDhSIsInZhbHVlIjpbeyJuIjoi5YWo6YOoIiwidiI6IiJ9LHsibiI6Ik5ldGZsaXgiLCJ2IjoiTmV0ZmxpeCJ9LHsibiI6IuWJp+aDhSIsInYiOiLliafmg4UifSx7Im4iOiLkuKflsLgiLCJ2Ijoi5Lin5bC4In0seyJuIjoi5LuZ5L6gIiwidiI6IuS7meS+oCJ9LHsibiI6Iuepv+i2iiIsInYiOiLnqb/otooifSx7Im4iOiLmg4rmgpoiLCJ2Ijoi5oOK5oKaIn0seyJuIjoi5oGQ5oCWIiwidiI6IuaBkOaAliJ9LHsibiI6IuiogOaDhSIsInYiOiLoqIDmg4UifSx7Im4iOiLnp5HlubsiLCJ2Ijoi56eR5bm7In0seyJuIjoi5Yqo5L2cIiwidiI6IuWKqOS9nCJ9LHsibiI6IuWWnOWJpyIsInYiOiLllpzliacifSx7Im4iOiLniLHmg4UiLCJ2Ijoi54ix5oOFIn0seyJuIjoi5YG25YOPIiwidiI6IuWBtuWDjyJ9LHsibiI6IumDveW4giIsInYiOiLpg73luIIifSx7Im4iOiLlhpvml4UiLCJ2Ijoi5Yab5peFIn0seyJuIjoi6LCN5oiYIiwidiI6IuiwjeaImCJ9LHsibiI6Iue9quahiCIsInYiOiLnvarmoYgifSx7Im4iOiLlrqvlu7ciLCJ2Ijoi5a6r5bu3In0seyJuIjoi5YaS6ZmpIiwidiI6IuWGkumZqSJ9LHsibiI6IuWEv+erpSIsInYiOiLlhL/nq6UifSx7Im4iOiLmrYzoiJ4iLCJ2Ijoi5q2M6IieIn0seyJuIjoi6Z+z5LmQIiwidiI6Iumfs+S5kCJ9LHsibiI6IuWlh+W5uyIsInYiOiLlpYflubsifSx7Im4iOiLliqjnlLsiLCJ2Ijoi5Yqo55S7In0seyJuIjoi5oiY5LqJIiwidiI6IuaImOS6iSJ9LHsibiI6IuS8oOiusCIsInYiOiLkvKDorrAifSx7Im4iOiLorrDlvZUiLCJ2Ijoi6K6w5b2VIn0seyJuIjoi54qv572qIiwidiI6IueKr+e9qiJ9LHsibiI6IuaCrOeWkSIsInYiOiLmgqznlpEifSx7Im4iOiLopb/pg6giLCJ2Ijoi6KW/6YOoIn0seyJuIjoi54G+6Zq+IiwidiI6IueBvumaviJ9LHsibiI6IuWPpOijhSIsInYiOiLlj6Too4UifSx7Im4iOiLmrabkvqAiLCJ2Ijoi5q2m5L6gIn0seyJuIjoi5a625bqtIiwidiI6IuWutuW6rSJ9LHsibiI6IuefreeJhyIsInYiOiLnn63niYcifSx7Im4iOiLmoKHlm60iLCJ2Ijoi5qCh5ZutIn0seyJuIjoi5paH6Im6IiwidiI6IuaWh+iJuiJ9LHsibiI6Iui/kOWKqCIsInYiOiLov5DliqgifSx7Im4iOiLpnZLmmKUiLCJ2Ijoi6Z2S5pilIn0seyJuIjoi5ZCM5oCnIiwidiI6IuWQjOaApyJ9LHsibiI6IuWKseW/lyIsInYiOiLlirHlv5cifSx7Im4iOiLkurrmgKciLCJ2Ijoi5Lq65oCnIn0seyJuIjoi576O6aOfIiwidiI6Iue+jumjnyJ9LHsibiI6IuWls+aApyIsInYiOiLlpbPmgKcifSx7Im4iOiLmsrvmhIgiLCJ2Ijoi5rK75oSIIn0seyJuIjoi5Y6G5Y+yIiwidiI6IuWOhuWPsiJ9LHsibiI6Iuecn+S6uuengCIsInYiOiLnnJ/kurrnp4AifSx7Im4iOiLohLHlj6Pnp4AiLCJ2Ijoi6ISx5Y+j56eAIn1dfSx7ImtleSI6ImFyZWEiLCJuYW1lIjoi5Zyw5Yy6IiwidmFsdWUiOlt7Im4iOiLlhajpg6giLCJ2IjoiIn0seyJuIjoi5aSn6ZmGIiwidiI6IuWkp+mZhiJ9LHsibiI6Iummmea4ryIsInYiOiLpppnmuK8ifSx7Im4iOiLlj7Dmub4iLCJ2Ijoi5Y+w5rm+In0seyJuIjoi576O5Zu9IiwidiI6Iue+juWbvSJ9LHsibiI6IuaXpeacrCIsInYiOiLml6XmnKwifSx7Im4iOiLpn6nlm70iLCJ2Ijoi6Z+p5Zu9In0seyJuIjoi6Iux5Zu9IiwidiI6IuiLseWbvSJ9LHsibiI6IuazleWbvSIsInYiOiLms5Xlm70ifSx7Im4iOiLlvrflm70iLCJ2Ijoi5b635Zu9In0seyJuIjoi5Y2w5bqmIiwidiI6IuWNsOW6piJ9LHsibiI6IuazsOWbvSIsInYiOiLms7Dlm70ifSx7Im4iOiLkuLnpuqYiLCJ2Ijoi5Li56bqmIn0seyJuIjoi55Ge5YW4IiwidiI6IueRnuWFuCJ9LHsibiI6IuW3tOilvyIsInYiOiLlt7Topb8ifSx7Im4iOiLliqDmi7/lpKciLCJ2Ijoi5Yqg5ou/5aSnIn0seyJuIjoi5L+E572X5pavIiwidiI6IuS/hOe9l+aWryJ9LHsibiI6IuaEj+Wkp+WIqSIsInYiOiLmhI/lpKfliKkifSx7Im4iOiLmr5TliKnml7YiLCJ2Ijoi5q+U5Yip5pe2In0seyJuIjoi54ix5bCU5YWwIiwidiI6IueIseWwlOWFsCJ9LHsibiI6Iuilv+ePreeJmSIsInYiOiLopb/nj63niZkifSx7Im4iOiLmvrPlpKfliKnkupoiLCJ2Ijoi5r6z5aSn5Yip5LqaIn1dfSx7ImtleSI6ImxhbmciLCJuYW1lIjoi6K+t6KiAIiwidmFsdWUiOlt7Im4iOiLlhajpg6giLCJ2IjoiIn0seyJuIjoi6Iux6K+tIiwidiI6IuiLseivrSJ9LHsibiI6IuazleivrSIsInYiOiLms5Xor60ifSx7Im4iOiLlm73or60iLCJ2Ijoi5Zu96K+tIn0seyJuIjoi57Kk6K+tIiwidiI6IueypOivrSJ9LHsibiI6IuaXpeivrSIsInYiOiLml6Xor60ifSx7Im4iOiLpn6nor60iLCJ2Ijoi6Z+p6K+tIn0seyJuIjoi5rOw6K+tIiwidiI6IuazsOivrSJ9LHsibiI6IuW+t+ivrSIsInYiOiLlvrfor60ifSx7Im4iOiLkv4Tor60iLCJ2Ijoi5L+E6K+tIn0seyJuIjoi6Ze95Y2X6K+tIiwidiI6IumXveWNl+ivrSJ9LHsibiI6IuS4uem6puivrSIsInYiOiLkuLnpuqbor60ifSx7Im4iOiLms6LlhbDor60iLCJ2Ijoi5rOi5YWw6K+tIn0seyJuIjoi55Ge5YW46K+tIiwidiI6IueRnuWFuOivrSJ9LHsibiI6IuWNsOWcsOivrSIsInYiOiLljbDlnLDor60ifSx7Im4iOiLmjKrlqIHor60iLCJ2Ijoi5oyq5aiB6K+tIn0seyJuIjoi5oSP5aSn5Yip6K+tIiwidiI6IuaEj+Wkp+WIqeivrSJ9LHsibiI6Iuilv+ePreeJmeivrSIsInYiOiLopb/nj63niZnor60ifV19LHsia2V5IjoieWVhciIsIm5hbWUiOiLlubTku70iLCJ2YWx1ZSI6W3sibiI6IuWFqOmDqCIsInYiOiIifSx7Im4iOiIyMDI0IiwidiI6IjIwMjQifSx7Im4iOiIyMDIzIiwidiI6IjIwMjMifSx7Im4iOiIyMDIyIiwidiI6IjIwMjIifSx7Im4iOiIyMDIxIiwidiI6IjIwMjEifSx7Im4iOiIyMDIwIiwidiI6IjIwMjAifSx7Im4iOiIyMDE5IiwidiI6IjIwMTkifSx7Im4iOiIyMDE4IiwidiI6IjIwMTgifSx7Im4iOiIyMDE3IiwidiI6IjIwMTcifSx7Im4iOiIyMDE2IiwidiI6IjIwMTYifSx7Im4iOiIyMDE1IiwidiI6IjIwMTUifSx7Im4iOiIyMDE0IiwidiI6IjIwMTQifSx7Im4iOiIyMDEzIiwidiI6IjIwMTMifSx7Im4iOiIyMDEyIiwidiI6IjIwMTIifSx7Im4iOiIyMDExIiwidiI6IjIwMTEifSx7Im4iOiIyMDEwIiwidiI6IjIwMTAifSx7Im4iOiIyMDA5IiwidiI6IjIwMDkifSx7Im4iOiIyMDA4IiwidiI6IjIwMDgifSx7Im4iOiIyMDA3IiwidiI6IjIwMDcifV19XSwKCQkiMjIiOlt7ImtleSI6ImNsYXNzIiwibmFtZSI6IuWJp+aDhSIsInZhbHVlIjpbeyJuIjoi5YWo6YOoIiwidiI6IiJ9LHsibiI6Ik5ldGZsaXgiLCJ2IjoiTmV0ZmxpeCJ9LHsibiI6IueDreihgCIsInYiOiLng63ooYAifSx7Im4iOiLnp5HlubsiLCJ2Ijoi56eR5bm7In0seyJuIjoi576O5bCR5aWzIiwidiI6Iue+juWwkeWlsyJ9LHsibiI6IumtlOW5uyIsInYiOiLprZTlubsifSx7Im4iOiLnu4/lhbgiLCJ2Ijoi57uP5YW4In0seyJuIjoi5Yqx5b+XIiwidiI6IuWKseW/lyJ9LHsibiI6IuWwkeWEvyIsInYiOiLlsJHlhL8ifSx7Im4iOiLlhpLpmakiLCJ2Ijoi5YaS6ZmpIn0seyJuIjoi5pCe56yRIiwidiI6IuaQnueskSJ9LHsibiI6IuaOqOeQhiIsInYiOiLmjqjnkIYifSx7Im4iOiLmgYvniLEiLCJ2Ijoi5oGL54ixIn0seyJuIjoi5rK75oSIIiwidiI6Iuayu+aEiCJ9LHsibiI6IuW5u+aDsyIsInYiOiLlubvmg7MifSx7Im4iOiLmoKHlm60iLCJ2Ijoi5qCh5ZutIn0seyJuIjoi5Yqo54mpIiwidiI6IuWKqOeJqSJ9LHsibiI6IuacuuaImCIsInYiOiLmnLrmiJgifSx7Im4iOiLkurLlrZAiLCJ2Ijoi5Lqy5a2QIn0seyJuIjoi5YS/5q2MIiwidiI6IuWEv+atjCJ9LHsibiI6Iui/kOWKqCIsInYiOiLov5DliqgifSx7Im4iOiLmgqznlpEiLCJ2Ijoi5oKs55aRIn0seyJuIjoi5oCq54mpIiwidiI6IuaAqueJqSJ9LHsibiI6IuaImOS6iSIsInYiOiLmiJjkuokifSx7Im4iOiLnm4rmmboiLCJ2Ijoi55uK5pm6In0seyJuIjoi6Z2S5pilIiwidiI6IumdkuaYpSJ9LHsibiI6IuerpeivnSIsInYiOiLnq6Xor50ifSx7Im4iOiLnq57mioAiLCJ2Ijoi56ue5oqAIn0seyJuIjoi5Yqo5L2cIiwidiI6IuWKqOS9nCJ9LHsibiI6IuekvuS8miIsInYiOiLnpL7kvJoifSx7Im4iOiLlj4vmg4UiLCJ2Ijoi5Y+L5oOFIn0seyJuIjoi55yf5Lq654mIIiwidiI6Iuecn+S6uueJiCJ9LHsibiI6IueUteW9seeJiCIsInYiOiLnlLXlvbHniYgifSx7Im4iOiJPVkHniYgiLCJ2IjoiT1ZB54mIIn0seyJuIjoiVFbniYgiLCJ2IjoiVFbniYgifSx7Im4iOiLmlrDnlarliqjnlLsiLCJ2Ijoi5paw55Wq5Yqo55S7In0seyJuIjoi5a6M57uT5Yqo55S7IiwidiI6IuWujOe7k+WKqOeUuyJ9XX0seyJrZXkiOiJhcmVhIiwibmFtZSI6IuWcsOWMuiIsInZhbHVlIjpbeyJuIjoi5YWo6YOoIiwidiI6IiJ9LHsibiI6IuWkp+mZhiIsInYiOiLlpKfpmYYifSx7Im4iOiLml6XmnKwiLCJ2Ijoi5pel5pysIn0seyJuIjoi5qyn576OIiwidiI6Iuasp+e+jiJ9LHsibiI6IuWFtuS7liIsInYiOiLlhbbku5YifV19LHsia2V5IjoibGFuZyIsIm5hbWUiOiLor63oqIAiLCJ2YWx1ZSI6W3sibiI6IuWFqOmDqCIsInYiOiIifSx7Im4iOiLlm73or60iLCJ2Ijoi5Zu96K+tIn0seyJuIjoi6Iux6K+tIiwidiI6IuiLseivrSJ9LHsibiI6IueypOivrSIsInYiOiLnsqTor60ifSx7Im4iOiLpl73ljZfor60iLCJ2Ijoi6Ze95Y2X6K+tIn0seyJuIjoi6Z+p6K+tIiwidiI6IumfqeivrSJ9LHsibiI6IuaXpeivrSIsInYiOiLml6Xor60ifSx7Im4iOiLlhbblroMiLCJ2Ijoi5YW25a6DIn1dfSx7ImtleSI6InllYXIiLCJuYW1lIjoi5bm05Lu9IiwidmFsdWUiOlt7Im4iOiLlhajpg6giLCJ2IjoiIn0seyJuIjoiMjAyNCIsInYiOiIyMDI0In0seyJuIjoiMjAyMyIsInYiOiIyMDIzIn0seyJuIjoiMjAyMiIsInYiOiIyMDIyIn0seyJuIjoiMjAyMSIsInYiOiIyMDIxIn0seyJuIjoiMjAyMCIsInYiOiIyMDIwIn0seyJuIjoiMjAxOSIsInYiOiIyMDE5In0seyJuIjoiMjAxOCIsInYiOiIyMDE4In0seyJuIjoiMjAxNyIsInYiOiIyMDE3In0seyJuIjoiMjAxNiIsInYiOiIyMDE2In0seyJuIjoiMjAxNSIsInYiOiIyMDE1In0seyJuIjoiMjAxNCIsInYiOiIyMDE0In0seyJuIjoiMjAxMyIsInYiOiIyMDEzIn0seyJuIjoiMjAxMiIsInYiOiIyMDEyIn0seyJuIjoiMjAxMSIsInYiOiIyMDExIn0seyJuIjoiMjAxMCIsInYiOiIyMDEwIn0seyJuIjoiMjAwOSIsInYiOiIyMDA5In0seyJuIjoiMjAwOCIsInYiOiIyMDA4In0seyJuIjoiMjAwNyIsInYiOiIyMDA3In0seyJuIjoiMjAwNiIsInYiOiIyMDA2In0seyJuIjoiMjAwNSIsInYiOiIyMDA1In0seyJuIjoiMjAwNCIsInYiOiIyMDA0In0seyJuIjoi5pu05pepIiwidiI6IuabtOaXqSJ9XX1dLAoJCSIyMyI6W3sia2V5IjoiY2xhc3MiLCJuYW1lIjoi5Ymn5oOFIiwidmFsdWUiOlt7Im4iOiLlhajpg6giLCJ2IjoiIn0seyJuIjoiWW91VHViZSIsInYiOiJZb3VUdWJlIn0seyJuIjoi6ISx5Y+j56eAIiwidiI6IuiEseWPo+engCJ9LHsibiI6Iuecn+S6uuengCIsInYiOiLnnJ/kurrnp4AifSx7Im4iOiLpgInnp4AiLCJ2Ijoi6YCJ56eAIn0seyJuIjoi5YWr5Y2mIiwidiI6IuWFq+WNpiJ9LHsibiI6Iuiuv+iwiCIsInYiOiLorr/osIgifSx7Im4iOiLmg4XmhJ8iLCJ2Ijoi5oOF5oSfIn0seyJuIjoi55Sf5rS7IiwidiI6IueUn+a0uyJ9LHsibiI6IuaZmuS8miIsInYiOiLmmZrkvJoifSx7Im4iOiLmkJ7nrJEiLCJ2Ijoi5pCe56yRIn0seyJuIjoi6Z+z5LmQIiwidiI6Iumfs+S5kCJ9LHsibiI6IuaXtuWwmiIsInYiOiLml7blsJoifSx7Im4iOiLmuLjmiI8iLCJ2Ijoi5ri45oiPIn0seyJuIjoi5bCR5YS/IiwidiI6IuWwkeWEvyJ9LHsibiI6IuS9k+iCsiIsInYiOiLkvZPogrIifSx7Im4iOiLnuqrlrp4iLCJ2Ijoi57qq5a6eIn0seyJuIjoi56eR5pWZIiwidiI6IuenkeaVmSJ9LHsibiI6IuabsuiJuiIsInYiOiLmm7LoiboifSx7Im4iOiLmrYzoiJ4iLCJ2Ijoi5q2M6IieIn0seyJuIjoi6LSi57uPIiwidiI6Iui0oue7jyJ9LHsibiI6Iuaxvei9piIsInYiOiLmsb3ovaYifSx7Im4iOiLmkq3miqUiLCJ2Ijoi5pKt5oqlIn0seyJuIjoi5YW25LuWIiwidiI6IuWFtuS7liJ9XX0seyJrZXkiOiJhcmVhIiwibmFtZSI6IuWcsOWMuiIsInZhbHVlIjpbeyJuIjoi5YWo6YOoIiwidiI6IiJ9LHsibiI6IuWkp+mZhiIsInYiOiLlpKfpmYYifSx7Im4iOiLpn6nlm70iLCJ2Ijoi6Z+p5Zu9In0seyJuIjoi6aaZ5rivIiwidiI6Iummmea4ryJ9LHsibiI6IuWPsOa5viIsInYiOiLlj7Dmub4ifSx7Im4iOiLnvo7lm70iLCJ2Ijoi576O5Zu9In0seyJuIjoi5YW25a6DIiwidiI6IuWFtuWugyJ9XX0seyJrZXkiOiJsYW5nIiwibmFtZSI6IuivreiogCIsInZhbHVlIjpbeyJuIjoi5YWo6YOoIiwidiI6IiJ9LHsibiI6IuWbveivrSIsInYiOiLlm73or60ifSx7Im4iOiLoi7Hor60iLCJ2Ijoi6Iux6K+tIn0seyJuIjoi57Kk6K+tIiwidiI6IueypOivrSJ9LHsibiI6IumXveWNl+ivrSIsInYiOiLpl73ljZfor60ifSx7Im4iOiLpn6nor60iLCJ2Ijoi6Z+p6K+tIn0seyJuIjoi5pel6K+tIiwidiI6IuaXpeivrSJ9LHsibiI6IuWFtuWugyIsInYiOiLlhbblroMifV19LHsia2V5IjoieWVhciIsIm5hbWUiOiLlubTku70iLCJ2YWx1ZSI6W3sibiI6IuWFqOmDqCIsInYiOiIifSx7Im4iOiIyMDI0IiwidiI6IjIwMjQifSx7Im4iOiIyMDIzIiwidiI6IjIwMjMifSx7Im4iOiIyMDIyIiwidiI6IjIwMjIifSx7Im4iOiIyMDIxIiwidiI6IjIwMjEifSx7Im4iOiIyMDIwIiwidiI6IjIwMjAifSx7Im4iOiIyMDE5IiwidiI6IjIwMTkifSx7Im4iOiIyMDE4IiwidiI6IjIwMTgifSx7Im4iOiIyMDE3IiwidiI6IjIwMTcifSx7Im4iOiIyMDE2IiwidiI6IjIwMTYifSx7Im4iOiIyMDE1IiwidiI6IjIwMTUifSx7Im4iOiIyMDE0IiwidiI6IjIwMTQifSx7Im4iOiIyMDEzIiwidiI6IjIwMTMifSx7Im4iOiIyMDEyIiwidiI6IjIwMTIifSx7Im4iOiIyMDExIiwidiI6IjIwMTEifSx7Im4iOiIyMDEwIiwidiI6IjIwMTAifSx7Im4iOiIyMDA5IiwidiI6IjIwMDkifSx7Im4iOiIyMDA4IiwidiI6IjIwMDgifSx7Im4iOiIyMDA3IiwidiI6IjIwMDcifV19XQoJfSwKCWRldGFpbFVybDonL2RldGFpbD92b2RfaWQ9ZnlpZCcsCglzZWFyY2hVcmw6ICcvc2VhcmNoP3RleHQ9KiomcGc9ZnlwYWdlJywKCXNlYXJjaGFibGU6IDIsCglxdWlja1NlYXJjaDogMCwKCWZpbHRlcmFibGU6MSwvL+aYr+WQpuWQr+eUqOWIhuexu+etm+mAiSwKCS8vIGhlYWRlcnM6eydVc2VyLUFnZW50JzonRGFydC8yLjE0IChkYXJ0OmlvKSd9LAoJaGVhZGVyczp7J1VzZXItQWdlbnQnOidva2h0dHAvNC4xLjAnfSwKCXRpbWVvdXQ6NTAwMCwKCS8vIOWIhuexu+etm+mAiSAvYXBpLnBocC9hcHAvbmF2IHx8IC94Z2FwcC5waHAvdjEvbmF2IHx8IC9hcGkucGhwL3YxLnZvZC90eXBlcwoJY2xhc3NfbmFtZTon55S15b2xJueUteinhuWJpybliqjmvKsm57u86Im6JywKCWNsYXNzX3VybDonMjAmMjEmMjImMjMnLAoJcGxheV9wYXJzZTp0cnVlLAoJbGF6eTpganM6CgkJbGV0IHBsYXlfVXJsID0gJyc7CgkJaWYgKC9cXC5tM3U4fFxcLm1wNC8udGVzdChpbnB1dCkpIHsKCQkJaW5wdXQgPSB7CgkJCQlqeDogMCwKCQkJCXVybDogaW5wdXQsCgkJCQlwYXJzZTogMAoJCQl9CgkJfSBlbHNlIGlmICgvLC8udGVzdChpbnB1dCkgJiYgL3VybD0vLnRlc3QoaW5wdXQpKSB7CgkJCWlucHV0ID0gaW5wdXQuc3BsaXQoJ3VybD0nKTsKCQkJcGxheV9VcmwgPSBpbnB1dFswXS5zcGxpdCgnLCcpWzBdOwoJCQlpbnB1dCA9IHsKCQkJCWp4OiAwLAoJCQkJdXJsOiBpbnB1dFsxXSwKCQkJCXBsYXlVcmw6IHBsYXlfVXJsLAoJCQkJcGFyc2U6IDEKCQkJfQoJCX0gZWxzZSBpZiAoL3VybD18aWQ9Ly50ZXN0KGlucHV0KSkgewoJCQlpbnB1dCA9IHsKCQkJCWp4OiAwLAoJCQkJdXJsOiBKU09OLnBhcnNlKHJlcXVlc3QoaW5wdXQpKS51cmwsCgkJCQlwYXJzZTogMAoJCQl9CiAgICAgICAgfSBlbHNlIGlmICgveW91a3V8aXFpeWl8dlxcLnFxXFwuY29tfHBwdHZ8c29odXxsZVxcLmNvbXwxOTA1XFwuY29tfG1ndHZ8YmlsaWJpbGl8aXhpZ3VhLy50ZXN0KGlucHV0KSkgewoJCQlwbGF5X1VybCA9IC9iaWxpYmlsaS8udGVzdChpbnB1dCkgPyAnaHR0cHM6Ly9qeC54bWZsdi5jb20vP3VybD0nIDogJ2h0dHBzOi8vanguNzc3amlleGkuY29tL3BsYXllci8/dXJsPSc7IC8vIHR5cGUw55qEcGFyc2UKCQkJLy8gcGxheV9VcmwgPSAvYmlsaWJpbGkvLnRlc3QoaW5wdXQpID8gJ2h0dHBzOi8vangueG1mbHYuY29tLz91cmw9JyA6ICdqc29uOmh0dHA6Ly9wYW5kb3duLnByby9hcHAva2tkeS5waHA/dXJsPSc7IC8vIHR5cGUx55qEcGFyc2Xlj6/liqAnanNvbjon55u05o6l6Kej5p6QdXJsICjpmaTkuobonILonJznmoQn5b2x6KeGVFYn77yM5YW25a6D55qE5aOz55qG5Y+v55SoKQoJCQlpbnB1dCA9IHsKCQkJCWp4OiAwLAoJCQkJdXJsOiBpbnB1dCwKCQkJCXBsYXlVcmw6IHBsYXlfVXJsLAoJCQkJcGFyc2U6IDEsCgkJCQloZWFkZXI6IEpTT04uc3RyaW5naWZ5KHsKCQkJCQkndXNlci1hZ2VudCc6ICdNb3ppbGxhLzUuMCcsCgkJCQl9KSwKCQkJfQoJCX0gZWxzZSB7CgkJCWlucHV0CgkJfQogICAgYCwKCWxpbWl0OjYsCgkvLyDlm77niYfmnaXmupA6J0BSZWZlcmVyPWh0dHBzOi8vYXBpLmRvdWJhbi5jb20vQFVzZXItQWdlbnQ9TW96aWxsYS81LjAlMjAoV2luZG93cyUyME5UJTIwMTAuMDslMjBXaW42NDslMjB4NjQpJTIwQXBwbGVXZWJLaXQvNTM3LjM2JTIwKEtIVE1MLCUyMGxpa2UlMjBHZWNrbyklMjBDaHJvbWUvMTEzLjAuMC4wJTIwU2FmYXJpLzUzNy4zNicsCgnmjqjojZA6YGpzOgoJCWxldCBkID0gW107CgkJbGV0IGpzb25kYXRhID0gW107CgkJbGV0IHZpZGVvTGlzdCA9IFtdOwoJCWlmICgvdjFcXC52b2QvLnRlc3QoSE9TVCkpIHsKCQkJaWYoSE9TVC5lbmRzV2l0aCgnLycpKXsKCQkJCWpzb25kYXRhID0gSlNPTi5wYXJzZShyZXF1ZXN0KEhPU1QgKyAndm9kUGhiQWxsJykpOwoJCQl9IGVsc2UgewoJCQkJanNvbmRhdGEgPSBKU09OLnBhcnNlKHJlcXVlc3QoSE9TVCArICcvdm9kUGhiQWxsJykpOwoJCQl9CgkJCXZpZGVvTGlzdCA9IGpzb25kYXRhLmRhdGEubGlzdFswXS52b2RfbGlzdDsKCQl9IGVsc2UgewoJCQlpZihIT1NULmVuZHNXaXRoKCcvJykpewoJCQkJanNvbmRhdGEgPSBKU09OLnBhcnNlKHJlcXVlc3QoSE9TVCArICdpbmRleF92aWRlbycpKTsKCQkJfSBlbHNlIHsKCQkJCWpzb25kYXRhID0gSlNPTi5wYXJzZShyZXF1ZXN0KEhPU1QgKyAnL2luZGV4X3ZpZGVvJykpOwoJCQl9CgkJCXZpZGVvTGlzdCA9IC94Z2FwcC8udGVzdChIT1NUKT9qc29uZGF0YS5kYXRhWzBdLnZsaXN0Ompzb25kYXRhLmxpc3RbMF0udmxpc3Q7CgkJfQoJCS8vIGxvZygndmlkZW9MaXN0ID09PT09PT09PT4gJytzdHJpbmdpZnkodmlkZW9MaXN0KSk7CgkJdmlkZW9MaXN0LmZvckVhY2goaXQgPT4gewoJCQlkLnB1c2goewoJCQkJdXJsOml0LnZvZF9pZCwKCQkJCXRpdGxlOml0LnZvZF9uYW1lLAoJCQkJaW1nOml0LnZvZF9waWMuc3RhcnRzV2l0aCgnaHR0cHMnKSA/IGl0LnZvZF9waWMgOiBpdC52b2RfcGljLnN0YXJ0c1dpdGgoJ2h0dHAnKSA/IGl0LnZvZF9waWMucmVwbGFjZSgnaHR0cCcsJ2h0dHBzJykgOiBpdC52b2RfcGljLnN0YXJ0c1dpdGgoJy8vJykgPyAnaHR0cHM6JyArIGl0LnZvZF9waWMgOiBpdC52b2RfcGljLnN0YXJ0c1dpdGgoJy8nKSA/IGdldEhvbWUoSE9TVCkgKyBpdC52b2RfcGljIDogZ2V0SG9tZShIT1NUKSArICcvJyArIGl0LnZvZF9waWMsCgkJCQlkZXNjOml0LnZvZF9yZW1hcmtzLAoJCQl9KTsKCQl9KTsKCQlzZXRSZXN1bHQoZCk7CglgLAoJ5LiA57qnOmBqczoKCQlsZXQgZCA9IFtdOwoJCWxldCBqc29uZGF0YSA9IFtdOwoJCWxldCB2aWRlb0xpc3QgPSBbXTsKCQlpZiAoL3YxXFwudm9kLy50ZXN0KEhPU1QpKSB7CgkJCWlucHV0ID0gaW5wdXQucmVwbGFjZSgndmlkZW8nLCd2MS52b2QnKS5yZXBsYWNlKCd0aWQnLCd0eXBlJykucmVwbGFjZSgncGc9JywncGFnZT0nKTsKCQkJanNvbmRhdGEgPSBKU09OLnBhcnNlKHJlcXVlc3QoaW5wdXQpKTsKCQkJdmlkZW9MaXN0ID0ganNvbmRhdGEuZGF0YS5saXN0OwoJCX0gZWxzZSB7CgkJCWlucHV0ID0gSE9TVCArICcvJysgaW5wdXQuc3BsaXQoJy8nKVs0XTsKCQkJanNvbmRhdGEgPSBKU09OLnBhcnNlKHJlcXVlc3QoaW5wdXQpKTsKCQkJdmlkZW9MaXN0ID0ganNvbmRhdGEubGlzdCB8fCBqc29uZGF0YS5kYXRhOwoJCX0KCQkvLyBsb2coJ3ZpZGVvTGlzdCA9PT09PT09PT0+ICcrc3RyaW5naWZ5KHZpZGVvTGlzdCkpOwoJCXZpZGVvTGlzdC5mb3JFYWNoKGl0ID0+IHsKCQkJZC5wdXNoKHsKCQkJCXVybDppdC52b2RfaWQsCgkJCQl0aXRsZTppdC52b2RfbmFtZSwKCQkJCWltZzppdC52b2RfcGljLnN0YXJ0c1dpdGgoJ2h0dHBzJykgPyBpdC52b2RfcGljIDogaXQudm9kX3BpYy5zdGFydHNXaXRoKCdodHRwJykgPyBpdC52b2RfcGljLnJlcGxhY2UoJ2h0dHAnLCdodHRwcycpIDogaXQudm9kX3BpYy5zdGFydHNXaXRoKCcvLycpID8gJ2h0dHBzOicgKyBpdC52b2RfcGljIDogaXQudm9kX3BpYy5zdGFydHNXaXRoKCcvJykgPyBnZXRIb21lKEhPU1QpICsgaXQudm9kX3BpYyA6IGdldEhvbWUoSE9TVCkgKyAnLycgKyBpdC52b2RfcGljLAoJCQkJZGVzYzppdC52b2RfcmVtYXJrcywKCQkJfSk7CgkJfSk7CgkJc2V0UmVzdWx0KGQpOwoJYCwKCQoJ5LqM57qnOmBqczogCgkJaWYgKC92MVxcLnZvZC8udGVzdChIT1NUKSkgewoJCQlpbnB1dCA9IEhPU1QgKyAnLycrIGlucHV0LnNwbGl0KCcvJylbM107CgkJfSBlbHNlIHsKCQkJaW5wdXQgPSBIT1NUICsgJy8nKyBpbnB1dC5zcGxpdCgnLycpWzNdLnJlcGxhY2UoJ2RldGFpbCcsJ3ZpZGVvX2RldGFpbCcpLnJlcGxhY2UoJ3ZvZF9pZCcsJ2lkJyk7CgkJfQoJCXRyeSB7CgkJCWxldCBodG1sID0gcmVxdWVzdChpbnB1dCk7CgkJCWh0bWwgPSBKU09OLnBhcnNlKGh0bWwpOwoJCQlsZXQgbm9kZSA9IC94Z2FwcC8udGVzdChIT1NUKSA/IGh0bWwuZGF0YS52b2RfaW5mbyA6IGh0bWwuZGF0YTsKCQkJVk9EID0gewoJCQkJdm9kX2lkOiBub2RlLnZvZF9pZCwKCQkJCXZvZF9uYW1lOiBub2RlLnZvZF9uYW1lLAoJCQkJdm9kX3BpYzogbm9kZS52b2RfcGljLAoJCQkJdHlwZV9uYW1lOiBub2RlLnZvZF9jbGFzcywKCQkJCXZvZF95ZWFyOiBub2RlLnZvZF95ZWFyLAoJCQkJdm9kX2FyZWE6IG5vZGUudm9kX2FyZWEsCgkJCQl2b2RfcmVtYXJrczogbm9kZS52b2RfcmVtYXJrcywKCQkJCXZvZF9hY3Rvcjogbm9kZS52b2RfYWN0b3IsCgkJCQl2b2RfZGlyZWN0b3I6IG5vZGUudm9kX2RpcmVjdG9yLAoJCQkJdm9kX2NvbnRlbnQ6IG5vZGUudm9kX2NvbnRlbnQuc3RyaXAoKQoJCQl9OwoJCQlpZiAodHlwZW9mIHBsYXlfdXJsID09PSAndW5kZWZpbmVkJykgewoJCQkJdmFyIHBsYXlfdXJsID0gJycKCQkJfQoJCQl2YXIgbmFtZSA9IHsKCQkJCSdiZnp5bTN1OCc6ICfmmrTpo44nLAoJCQkJJzEwODB6eWsnOiAn5LyY6LSoJywKCQkJCSdrdWFpa2FuJzogJ+W/q+eciycsCgkJCQknbHptM3U4JzogJ+mHj+WtkCcsCgkJCQknZmZtM3U4JzogJ+mdnuWHoScsCgkJCQknaGFpd2Fpa2FuJzogJ+a1t+WklueciycsCgkJCQknZ3NtM3U4JzogJ+WFiemAnycsCgkJCQknenVpZGFtM3U4JzogJ+acgOWkpycsCgkJCQknYmptM3U4JzogJ+WFq+aIkicsCgkJCQknc25tM3U4JzogJ+e0ouWwvCcsCgkJCQknd29sb25nJzogJ+WNp+m+mScsCgkJCQkneGxtM3U4JzogJ+aWsOa1qicsCgkJCQkneWhtM3U4JzogJ+aoseiKsScsCgkJCQkndGttM3U4JzogJ+WkqeepuicsCgkJCQknanNtM3U4JzogJ+aegemAnycsCgkJCQknd2ptM3U4JzogJ+aXoOWwvScsCgkJCQknc2RtM3U4JzogJ+mXqueUtScsCgkJCQkna2NtM3U4JzogJ+W/q+i9picsCgkJCQknamlueWluZ20zdTgnOiAn6YeR6bmwJywKCQkJCSdmc20zdTgnOiAn6aOe6YCfJywKCQkJCSd0cG0zdTgnOiAn5reY54mHJywKCQkJCSdsZW0zdTgnOiAn6bG85LmQJywKCQkJCSdkYm0zdTgnOiAn55m+5bqmJywKCQkJCSd0b21tM3U4JzogJ+eVquiMhCcsCgkJCQkndWttM3U4JzogJ1XphbcnLAoJCQkJJ2lrbTN1OCc6ICfniLHlnaQnLAoJCQkJJ2huenltM3U4JzogJ+e6oueJm+i1hOa6kCcsCgkJCQknaG5tM3U4JzogJ+e6oueJmycsCgkJCQknNjh6eV9tM3U4JzogJzY4JywKCQkJCSdrZG0zdTgnOiAn6YW354K5JywKCQkJCSdiZHhtM3U4JzogJ+WMl+aWl+aYnycsCgkJCQkncWhtM3U4JzogJ+Wlh+iZjicsCgkJCQknaGhtM3U4JzogJ+ixquWNjicsCgkJCQkna2JtM3U4JzogJ+W/q+aSrScKCQkJfTsKCQkJbGV0IGVwaXNvZGVzID0gL3YxXFwudm9kLy50ZXN0KEhPU1QpP25vZGUudm9kX3BsYXlfbGlzdDpub2RlLnZvZF91cmxfd2l0aF9wbGF5ZXI7CgkJCWlmIChlcGlzb2RlcyAhPSAnJykgewoJCQkJbGV0IHBsYXlNYXAgPSB7fTsKCQkJCWxldCBhcnIgPSBbXTsKCQkJCWVwaXNvZGVzLmZvckVhY2goZXAgPT4gewoJCQkJCWxldCBmcm9tID0gW107CgkJCQkJaWYgKC92MVxcLnZvZC8udGVzdChIT1NUKSkgewoJCQkJCQlmcm9tID0gZXAucGxheWVyX2luZm8uZnJvbXx8ZXAucGxheWVyX2luZm8uc2hvd3x8ZXAuZnJvbXx8ZXAuc2hvdzsKCQkJCQl9IGVsc2UgewoJCQkJCQlmcm9tID0gZXAuY29kZXx8ZXAubmFtZTsKCQkJCQl9CgkJCQkJaWYgKCFwbGF5TWFwLmhhc093blByb3BlcnR5KGZyb20pKSB7CgkJCQkJCXBsYXlNYXBbZnJvbV0gPSBbXQoJCQkJCX0KCQkJCQlsZXQgcGFyc2VfYXBpID0gJyc7CgkJCQkJaWYgKC92MVxcLnZvZC8udGVzdChIT1NUKSkgewoJCQkJCQlwYXJzZV9hcGkgPSBlcC5wbGF5ZXJfaW5mby5wYXJzZSAhPSBudWxsID8gZXAucGxheWVyX2luZm8ucGFyc2UgOiBlcC5wbGF5ZXJfaW5mby5wYXJzZTI7CgkJCQkJCS8vIHBhcnNlX2FwaSA9IC8sLy50ZXN0KHBhcnNlX2FwaSkgPyBwYXJzZV9hcGkuc3BsaXQoJywnKVsxXSA6IHBhcnNlX2FwaTsKCQkJCQl9IGVsc2UgewoJCQkJCQlwYXJzZV9hcGkgPSBlcC5wYXJzZV9hcGk7CgkJCQkJfQoJCQkJCWxvZygncGFyc2VfYXBpID09PT09PT09PT4gJytwYXJzZV9hcGkpOwoJCQkJCWlmIChwYXJzZV9hcGkgIT0gbnVsbCAmJiAhL1xcLm0zdTh8XFwubXA0Ly50ZXN0KGVwLnVybCkpIHsKCQkJCQkJcGFyc2VfYXBpID0gcGFyc2VfYXBpLnJlcGxhY2VBbGwoJy4uJywnLicpIDsKCQkJCQkJZXAudXJsID0gZXAudXJsLnJlcGxhY2VBbGwoJyQnLCckJytwYXJzZV9hcGkpOwoJCQkJCX0KCQkJCQlpZiAoZnJvbSAhPSBudWxsKSBwbGF5TWFwW2Zyb21dLnB1c2goZXAudXJsKQoJCQkJfSk7CgkJCQlmb3IgKHZhciBrZXkgaW4gcGxheU1hcCkgewoJCQkJCWlmICgnYmZ6eW0zdTgnID09IGtleSkgewoJCQkJCQlhcnIucHVzaCh7CgkJCQkJCQlmbGFnOiBuYW1lW2tleV0sCgkJCQkJCQl1cmw6IHBsYXlNYXBba2V5XSwKCQkJCQkJCXNvcnQ6IDEKCQkJCQkJfSkKCQkJCQl9IGVsc2UgaWYgKCcxMDgwenlrJyA9PSBrZXkpIHsKCQkJCQkJYXJyLnB1c2goewoJCQkJCQkJZmxhZzogbmFtZVtrZXldLAoJCQkJCQkJdXJsOiBwbGF5TWFwW2tleV0sCgkJCQkJCQlzb3J0OiAyCgkJCQkJCX0pCgkJCQkJfSBlbHNlIGlmICgna3VhaWthbicgPT0ga2V5KSB7CgkJCQkJCWFyci5wdXNoKHsKCQkJCQkJCWZsYWc6IG5hbWVba2V5XSwKCQkJCQkJCXVybDogcGxheU1hcFtrZXldLAoJCQkJCQkJc29ydDogMwoJCQkJCQl9KQoJCQkJCX0gZWxzZSBpZiAoJ2x6bTN1OCcgPT0ga2V5KSB7CgkJCQkJCWFyci5wdXNoKHsKCQkJCQkJCWZsYWc6IG5hbWVba2V5XSwKCQkJCQkJCXVybDogcGxheU1hcFtrZXldLAoJCQkJCQkJc29ydDogNAoJCQkJCQl9KQoJCQkJCX0gZWxzZSBpZiAoJ2ZmbTN1OCcgPT0ga2V5KSB7CgkJCQkJCWFyci5wdXNoKHsKCQkJCQkJCWZsYWc6IG5hbWVba2V5XSwKCQkJCQkJCXVybDogcGxheU1hcFtrZXldLAoJCQkJCQkJc29ydDogNQoJCQkJCQl9KQoJCQkJCX0gZWxzZSBpZiAoJ3NubTN1OCcgPT0ga2V5KSB7CgkJCQkJCWFyci5wdXNoKHsKCQkJCQkJCWZsYWc6IG5hbWVba2V5XSwKCQkJCQkJCXVybDogcGxheU1hcFtrZXldLAoJCQkJCQkJc29ydDogNgoJCQkJCQl9KQoJCQkJCX0gZWxzZSBpZiAoJ3FobTN1OCcgPT0ga2V5KSB7CgkJCQkJCWFyci5wdXNoKHsKCQkJCQkJCWZsYWc6IG5hbWVba2V5XSwKCQkJCQkJCXVybDogcGxheU1hcFtrZXldLAoJCQkJCQkJc29ydDogNwoJCQkJCQl9KQoJCQkJCX0gZWxzZSB7CgkJCQkJCWFyci5wdXNoKHsKCQkJCQkJCWZsYWc6IG5hbWVba2V5XSA/IG5hbWVba2V5XSA6IGtleSwKCQkJCQkJCXVybDogcGxheU1hcFtrZXldLAoJCQkJCQkJc29ydDogOAoJCQkJCQl9KQoJCQkJCX0KCQkJCX0KCQkJCWFyci5zb3J0KChhLCBiKSA9PiBhLnNvcnQgLSBiLnNvcnQpOwoJCQkJbGV0IHBsYXlGcm9tID0gW107CgkJCQlsZXQgcGxheUxpc3QgPSBbXTsKCQkJCWFyci5tYXAodmFsID0+IHsKCQkJCQlpZiAoIS91bmRlZmluZWQvLnRlc3QodmFsLmZsYWcpKSB7CgkJCQkJCXBsYXlGcm9tLnB1c2godmFsLmZsYWcpOwoJCQkJCQlwbGF5TGlzdC5wdXNoKHZhbC51cmwpOwoJCQkJCX0KCQkJCX0pCgkJCQlWT0Qudm9kX3BsYXlfZnJvbSA9IHBsYXlGcm9tLmpvaW4oJyQkJCcpOwoJCQkJVk9ELnZvZF9wbGF5X3VybCA9IHBsYXlMaXN0LmpvaW4oJyQkJCcpOwoJCQl9IGVsc2UgewoJCQkJVk9ELnZvZF9wbGF5X2Zyb20gPSBub2RlLnZvZF9wbGF5X2Zyb207CgkJCQlWT0Qudm9kX3BsYXlfdXJsID0gbm9kZS52b2RfcGxheV91cmw7CgkJCX0KCQl9IGNhdGNoIChlKSB7CgkJCWxvZygi6I635Y+W5LqM57qn6K+m5oOF6aG15Y+R55Sf6ZSZ6K+vOiIgKyBlLm1lc3NhZ2UpOwoJCX0KCWAsCgnmkJzntKI6YGpzOgoJCWxldCBkID0gW107CgkJbGV0IGpzb25kYXRhID0gW107CgkJbGV0IHZpZGVvTGlzdCA9IFtdOwoJCWlmICgvdjFcXC52b2QvLnRlc3QoSE9TVCkpIHsKCQkJaW5wdXQgPSAoSE9TVCArICcvJysgaW5wdXQuc3BsaXQoJy8nKVszXSkucmVwbGFjZSgnL3NlYXJjaCcsJycpLnJlcGxhY2UoJ3RleHQ9Jywnd2Q9JykucmVwbGFjZSgncGc9JywncGFnZT0nKTsKCQkJanNvbmRhdGEgPSBKU09OLnBhcnNlKHJlcXVlc3QoaW5wdXQpKTsKCQkJdmlkZW9MaXN0ID0ganNvbmRhdGEuZGF0YS5saXN0OwoJCX0gZWxzZSB7CgkJCWlucHV0ID0gSE9TVCArICcvJysgaW5wdXQuc3BsaXQoJy8nKVszXQoJCQlqc29uZGF0YSA9IEpTT04ucGFyc2UocmVxdWVzdChpbnB1dCkpOwoJCQl2aWRlb0xpc3QgPSBqc29uZGF0YS5saXN0IHx8IGpzb25kYXRhLmRhdGE7CgkJfQoJCS8vIGxvZygndmlkZW9MaXN0ID09PT09PT09PT4gJytzdHJpbmdpZnkodmlkZW9MaXN0KSk7CgkJdmlkZW9MaXN0LmZvckVhY2goaXQgPT4gewoJCQlkLnB1c2goewoJCQkJdXJsOml0LnZvZF9pZCwKCQkJCXRpdGxlOml0LnZvZF9uYW1lLAoJCQkJaW1nOml0LnZvZF9waWMuc3RhcnRzV2l0aCgnaHR0cHMnKSA/IGl0LnZvZF9waWMgOiBpdC52b2RfcGljLnN0YXJ0c1dpdGgoJ2h0dHAnKSA/IGl0LnZvZF9waWMucmVwbGFjZSgnaHR0cCcsJ2h0dHBzJykgOiBpdC52b2RfcGljLnN0YXJ0c1dpdGgoJy8vJykgPyAnaHR0cHM6JyArIGl0LnZvZF9waWMgOiBpdC52b2RfcGljLnN0YXJ0c1dpdGgoJy8nKSA/IGdldEhvbWUoSE9TVCkgKyBpdC52b2RfcGljIDogZ2V0SG9tZShIT1NUKSArICcvJyArIGl0LnZvZF9waWMsCgkJCQlkZXNjOml0LnZvZF9yZW1hcmtzLAoJCQl9KTsKCQl9KTsKCQlzZXRSZXN1bHQoZCk7CglgLAp9 |