Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- 海阔视界规则分享,当前分享的是:二级页面详情¥page_detail¥那个男人的记忆法@@eyJkYXRhIjoie1wiYXNzb2NpYXRlZE1vZGVsc01hcEZvckpvaW5UYWJsZVwiOnt9LFwiYXNzb2NpYXRlZE1vZGVsc01hcFdpdGhGS1wiOnt9LFwiYXNzb2NpYXRlZE1vZGVsc01hcFdpdGhvdXRGS1wiOnt9LFwiZmllbGRzVG9TZXRUb0RlZmF1bHRcIjpbXSxcImlkXCI6MCxcImxhc3RfY2hhcHRlcl9ydWxlXCI6XCIuc3R1aS1jb250ZW50X19wbGF5bGlzdCYmYSwtMSYmVGV4dC5qczon5pu05paw6Iez77yaJytpbnB1dFwiLFwibGlzdFRvQ2xlYXJBc3NvY2lhdGVkRktcIjpbXSxcImxpc3RUb0NsZWFyU2VsZkZLXCI6W10sXCJwYWdlTGlzdFwiOlt7XCJjb2xfdHlwZVwiOlwibW92aWVfM1wiLFwibmFtZVwiOlwi5Yqo5oCB6Kej5p6QXCIsXCJwYXRoXCI6XCJsYXp5XCIsXCJydWxlXCI6XCJldmFsUHJpdmF0ZUpTKCd2THJtTEhFWERldzVXbTJmL3M0SUpKYkpJWGR3dUpGei9hZGR1dmJtUTJGbmxxcklBNXNNV25tUnhEM0JNSGtBR1V4S3Myb3NvcnhxSDZoOElISGp6cksvSnI3TkVCMEEwSExSeHlBQ1Z4VWVOcDhXQ1FGa3lBVllVRTYxNTZLNjhtWi94STdORUI5c0E2R1MrVUN0SFZmU0ZqR0lSMnlkNEZsYWpWeS9XT0JhV0NyNGhnLzYxTko3Wm9tK0llSnVncmZIRHJ3Z0hzRHJBSmtVcm40VE5UMUVRSWhDVDNDNkRBeUovQkc5aDAyYjhtRHNCMDFvTmxsdkVvZHNDdjBiSEQ3WW1rWFU0endMQzBPdWY1MUZZVTRQWnkvNGNDMXVjZ0t3ZzZFYnl5TXprZ2NmeG5NSll5SlYwdlpRQUpOaDhyZkVpYXZpSEM4TzNVRHY4cmRYUzEzZFRlN1U4ejdDajdWYnk3ZThtSmVEcHNyOGFpSEh1TytzNk4wWkxZK1hHdmZWRE9TT1dKWEZ5RVlYRWhRZm1DWWttOTNTL2xKUHZCRlg3VkNndm00T0J4N0VGQmEyb0U4QXNBNm5SS1gyeG5IbVB6L21pNzh0Uk9GTTVxbm9BSHQ0T0JaQmE3OGxFNmpPbVlpUDl6TTVWMndYVWdJYSsvU2k5ckh2enRMRnBWMTRDUDJYRlFLYlZtb0o5OGJTaUFyZy9tSmJ5NlJqLy96TnU0bVE1SXBNR3RLUDRuRkJnWUpyQ3R0aXRFNVVSZWQ4TEhGZEY1bVZmWVFjRVZ0R3BYcWQvcC8vSHhRWld4YjFIMEFVbU9uR05pWmV6UnlVcVY4Rzd0aVE4UENCMERuRnN4ckhKMithNnhWVCtQZktZM3l6RXN0UWNDNG5DTGxpRDBybWR3YSszYm1IUk9uOTUrbGhjU1VDMzB2RVFXWVlrQUlITlFKak1PWUh0emp6amtOYjZxN21BSUczRVZ4aWNZRy9sTVFiV0VNQ3pFNlBjL21WT1lhWEY4bUdMUHJ2RjJJQWd1UGhpUzJCdkJXUzVXTEI5UVVIYUpaRU9wY2YxR245OGpUQUhTWFQ0SE5iR3o3dG1vUG5GQkc4VHNSQXdhUE9rdmJtS1ZJVjJZQytZNHZXZkN4VEw2TUlTeHRyQUhqV0dCa3hYS3JOWjhZaTdnN1ZJMUFwNkc5S29uTDJ2eVcvUjhTVU15Nzh3bVc3Ny9IV0E0Z3U2NmxLdzN6V2Y3QXA1eDl3R2RualdtQ000VXUxOGJESkd1OFdiNWFzU1hrMVdTZVFid1Q4UENrVUtTSXFIVDlmVWZ6bG1DYUpwcmFBNk5oenFaK1N6RGt6MjhTdERWZVJwWU50UDExa3NUM1Vvc2g0ZWgrbEtNQnA5dWgxR3Q4OUZqM0JNSklnQnJLa2dtc3YyTndrUVBmaTZkemJaTlZQd25PS0hqREVqN3diUFJ0Qmt5OXdtRjlUcVZhaEI4c2xvQ2VXY0MwQWI4UzNwSUhmN09yOFBHMVNjdVRyQzBnYVpqL01JZC9WbjcrUER4d2J0cTlJdGtIVXVCUDhGUkhvT3d5RVFHbmxQMCtaOXJYWU5nRDA0UHlkc2NoUHAyRm9wMUdwVG9URm1xVHV2YXdjTGYxNkV4cm9sdUlDMU9GSm9uZ25pS01kZHlYVTduMHBvbk1ETWR4YTBWcmF4ZGlGT0NZZzhQTC9UeVdvU2VRS0R5VitMWTcrMmhRNkl0U3lvSlBxRE9reTJ3VCtjZnVNaldTY0tzejZlTVJ6QkJTeEhhcWVZWFVySi96L1NBMzliQk1CWFNCOE9Qc0wrcTU3Nm1PN3huUmtsNm5VUHorNUxvNlhkMzFzVXVBTzNmY2lxKy9NRldxU3JvbmdxUE14bmdSQnFEVGdhb21icnI4WlVRdU9LZ3ZYRmRqUnllYVNPMUtZK3FsaW90SkhUN3BZb2NwQlhVb3llSER6Mm90ZVNqY1FrSXNCUVVFcUUwS05Wa2YyTEpScktCWmtGUW1EcXptU2ZFYXBtR09HNElkWkJZYkgzTFB1MjRLdUxhZmI0aldTVVFBZ1c5cXR6VnJZRUZSREpONkdGMzF3Y1dQUC9GUnp5dHNLbkE5Q20xc0xENWNQbFcyZXBBWWYzcHl0WmNod3QzRUdnWFFIaHRqa09saSt0Y09uUmxqQWEzMVY5V1JFOWdZUlVrcTFMUDFZa2Rab0tPZzJDVUlXMW52Zks1aUU0dGYvRStGdTNDdGZlb05UL2d1V3BNM2pqaG89JylcIn0se1wiY29sX3R5cGVcIjpcIm1vdmllXzNcIixcIm5hbWVcIjpcIuaWreaPkuiwg+eUqFwiLFwicGF0aFwiOlwiZG5wbHVnaW5cIixcInJ1bGVcIjpcInZhciBpbWdfdXJsPSdodHRwOi8vODIuMTU2LjIyMi43Ny9pbWcvJztcXG5jb25zdCBkbnAgPSBnZXRWYXIoXFxcImRucFxcXCIsIFxcXCIxXFxcIik7XFxuaWYgKGRucCA9PSAxKSB7XFxuICAgIHZhciBpbWcgPSBpbWdfdXJsICsgJzU1LnN2Zyc7XFxufSBlbHNlIHtcXG4gICAgdmFyIGltZyA9IGltZ191cmwgKyAnNTYuc3ZnJztcXG59XFxuXFxuZC5wdXNoKHtcXG4gICAgdGl0bGU6ICfng63oiJ4nLFxcbiAgICB1cmw6IFxcXCJoaWtlcjovL2VtcHR5QGxhenlSdWxlPS5qczpwdXRWYXIoJ2RucCcsIGdldFZhcignZG5wJywnMScpPT0nMSc/JzAnOicxJyk7cmVmcmVzaFBhZ2UodHJ1ZSk7J2h0dHBzOi8veGpqbXYuY29tLydcXFwiLFxcbiAgICBpbWc6IGltZyxcXG4gICAgY29sX3R5cGU6ICdpY29uX3NtYWxsXzMnXFxufSk7XFxuXFxuXFxuLy/prZTmlLnmlq3mj5LosIPnlKjku6PnoIFcXG5cXG4vKlxcbnJlcXVpcmUoJ2h0dHBzOi8vZ2l0ZWEuY29tL0FJOTU3L0hpa2VyL3Jhdy9tL3YvUm91dGUuanMnKTtcXG5kLnB1c2goe1xcbiAgICB0aXRsZTogJ+mFjee9ricsXFxuICAgIHVybDogJ2hpa2VyOi8vcGFnZS9Sb3V0ZT9ydWxlPU15RmllbGThtLDigb8mdHlwZT3orr7nva4jbm9IaXN0b3J5IycsXFxuICAgIGltZzppbWdfdXJsICsgJzMwLnN2ZycsXFxuICAgIGNvbF90eXBlOiAnaWNvbl9zbWFsbF8zJ1xcbn0pO1xcbmQucHVzaCh7XFxuICAgIHRpdGxlOiAn6Kej5p6QJyxcXG4gICAgdXJsOiAnaGlrZXI6Ly9wYWdlL1JvdXRlP3J1bGU9TXlGaWVsZOG0sOKBvyZ0eXBlPee8lui+kSNub0hpc3RvcnkjJyxcXG4gICAgaW1nOmltZ191cmwgKyAnMTcuc3ZnJyxcXG4gICAgY29sX3R5cGU6ICdpY29uX3NtYWxsXzMnXFxufSk7XFxuKi9cXG5cXG5cXG4vL+ato+eJiOaWreaPkuiwg+eUqOS7o+eggVxcblxcblxcbnJlcXVpcmUoJ2h0dHBzOi8vZ2l0ZWEuY29tL0FJOTU3L0hpa2VyL3Jhdy9tL3YvUm91dGUuanMnKTtcXG5kLnB1c2goe1xcbiAgICB0aXRsZTogJ+mFjee9ricsXFxuICAgIHVybDogc2V0dXBQYWdlcyhcXFwi6K6+572uXFxcIiksXFxuICAgIGltZzppbWdfdXJsICsgJzMwLnN2ZycsXFxuICAgIGNvbF90eXBlOiAnaWNvbl9zbWFsbF8zJ1xcbn0pO1xcbmQucHVzaCh7XFxuICAgIHRpdGxlOiAn6Kej5p6QJyxcXG4gICAgdXJsOiBzZXR1cFBhZ2VzKFxcXCLnvJbovpFcXFwiKSxcXG4gICAgaW1nOmltZ191cmwgKyAnMTcuc3ZnJyxcXG4gICAgY29sX3R5cGU6ICdpY29uX3NtYWxsXzMnXFxufSk7XFxuXFxuXCJ9LHtcImNvbF90eXBlXCI6XCJtb3ZpZV8zXCIsXCJuYW1lXCI6XCLliqjmgIHliIbnsbtcIixcInBhdGhcIjpcImR0XCIsXCJydWxlXCI6XCJjb25zdCBlbXB0eSA9IFxcXCJoaWtlcjovL2VtcHR5XFxcIlxcblxcbnRyeSB7XFxuICAgIHZhciBjYXRlZ29yaWVzID0gcGRmYShodG1sLCDlpKfnsbvlrprkvY0pLmNvbmNhdChwZGZhKGh0bWwsIOaLvOaOpeWIhuexuykpXFxufSBjYXRjaCAoZSkge1xcbiAgICB2YXIgY2F0ZWdvcmllcyA9IHBkZmEoaHRtbCwg5aSn57G75a6a5L2NKVxcbn1cXG5cXG5sZXQgaW5pdF9jYXRlID0gW11cXG5cXG5mb3IgKGxldCBpID0gMDsgaSA8IDIwOyBpKyspIHtcXG4gICAgaW5pdF9jYXRlLnB1c2goXFxcIjBcXFwiKVxcbn1cXG5cXG5jb25zdCBmb2xkID0gZ2V0VmFyKE1ZX1JVTEUuZ3JvdXAsIFxcXCIwXFxcIilcXG5jb25zdCBjYXRlX3RlbXBfanNvbiA9IGdldFZhcihNWV9SVUxFLnRpdGxlLCBKU09OLnN0cmluZ2lmeShpbml0X2NhdGUpKVxcbmNvbnN0IGNhdGVfdGVtcCA9IEpTT04ucGFyc2UoY2F0ZV90ZW1wX2pzb24pXFxuXFxuaWYgKHBhcnNlSW50KHBhZ2UpID09PSAxKSB7XFxuICAgIGQucHVzaCh7XFxuICAgICAgICB0aXRsZTogZm9sZCA9PT0gJzEnID8gJ+KAnOKAnOKAneKAnTxiPjxzcGFuIHN0eWxlPVxcXCJjb2xvcjogIzE5Qjg5RFxcXCI+OiAoPC9zcGFuPjwvYj4nIDogJ+KAnOKAnOKAneKAnTxiPjxzcGFuIHN0eWxlPVxcXCJjb2xvcjogIzkxMDExM1xcXCI+OiApPC9zcGFuPjwvYj4nLFxcbiAgICAgICAgdXJsOiAkKCkubGF6eVJ1bGUoKGZvbGQpID0+IHtcXG4gICAgICAgICAgICBwdXRWYXIoTVlfUlVMRS5ncm91cCwgZm9sZCA9PT0gJzEnID8gJzAnIDogJzEnKTtcXG4gICAgICAgICAgICByZWZyZXNoUGFnZShmYWxzZSk7XFxuICAgICAgICAgICAgcmV0dXJuIFxcXCJoaWtlcjovL2VtcHR5XFxcIlxcbiAgICAgICAgfSwgZm9sZCksXFxuICAgICAgICBjb2xfdHlwZTogJ3Njcm9sbF9idXR0b24nLFxcbiAgICB9KVxcblxcbmNhdGVnb3JpZXMuZm9yRWFjaCgoY2F0ZWdvcnksIGluZGV4KSA9PiB7XFxuICAgICAgICBsZXQgc3ViX2NhdGVnb3JpZXMgPSBwZGZhKGNhdGVnb3J5LCDlsI/nsbvlrprkvY0pO1xcbiAgICAgICAgaWYgKGluZGV4ID09PSAwKSB7XFxuICAgICAgICAgICAgc3ViX2NhdGVnb3JpZXMuZm9yRWFjaCgoaXRlbSwga2V5KSA9PiB7XFxuICAgICAgICAgICAgICAgIGxldCB0aXRsZSA9IHBkZmgoaXRlbSwg5YiG57G75qCH6aKYKVxcbiAgICAgICAgICAgICAgICBkLnB1c2goe1xcbiAgICAgICAgICAgICAgICAgICAgdGl0bGU6IGtleS50b1N0cmluZygpID09PSBjYXRlX3RlbXBbaW5kZXhdID8gJ+KAnOKAnOKAneKAnTxiPjxzcGFuIHN0eWxlPVxcXCJjb2xvcjogJyArIOWIhuexu+minOiJsiArICdcXFwiPicgKyB0aXRsZSArICc8L3NwYW4+PC9iPicgOiB0aXRsZSxcXG4gICAgICAgICAgICAgICAgICAgIHVybDogJChwZChpdGVtLCDliIbnsbvpk77mjqUpICsgJyNub0xvYWRpbmcjJykubGF6eVJ1bGUoKHBhcmFtcykgPT4ge1xcbiAgICAgICAgICAgICAgICAgICAgICAgIGxldCBuZXdfY2F0ZSA9IFtdXFxuICAgICAgICAgICAgICAgICAgICAgICAgcGFyYW1zLmNhdGVfdGVtcC5mb3JFYWNoKChjYXRlLCBpbmRleCkgPT4ge1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZXdfY2F0ZS5wdXNoKGluZGV4ID09PSAwID8gcGFyYW1zLmtleS50b1N0cmluZygpIDogXFxcIjBcXFwiKVxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pXFxuICAgICAgICAgICAgICAgICAgICAgICAgcHV0VmFyKE1ZX1JVTEUudGl0bGUsIEpTT04uc3RyaW5naWZ5KG5ld19jYXRlKSlcXG4gICAgICAgICAgICAgICAgICAgICAgICBwdXRWYXIoTVlfUlVMRS51cmwsIGlucHV0KVxcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlZnJlc2hQYWdlKHRydWUpXFxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFxcXCJoaWtlcjovL2VtcHR5XFxcIlxcbiAgICAgICAgICAgICAgICAgICAgfSwge1xcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhdGVfdGVtcDogY2F0ZV90ZW1wLFxcbiAgICAgICAgICAgICAgICAgICAgICAgIGtleToga2V5LFxcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZ2U6IHBhZ2UsXFxuICAgICAgICAgICAgICAgICAgICB9KSxcXG4gICAgICAgICAgICAgICAgICAgIGNvbF90eXBlOiAnc2Nyb2xsX2J1dHRvbicsXFxuICAgICAgICAgICAgICAgIH0pXFxuICAgICAgICAgICAgfSlcXG4gICAgICAgICAgICBkLnB1c2goe1xcbiAgICAgICAgICAgICAgICBjb2xfdHlwZTogXFxcImJsYW5rX2Jsb2NrXFxcIlxcbiAgICAgICAgICAgIH0pO1xcbiAgICAgICAgfSBlbHNlIGlmIChmb2xkID09PSAnMScpIHtcXG4gICAgICAgICAgICBzdWJfY2F0ZWdvcmllcy5mb3JFYWNoKChpdGVtLCBrZXkpID0+IHtcXG4gICAgICAgICAgICAgICAgbGV0IHRpdGxlID0gcGRmaChpdGVtLCDliIbnsbvmoIfpopgpXFxuICAgICAgICAgICAgICAgIGQucHVzaCh7XFxuICAgICAgICAgICAgICAgICAgICB0aXRsZToga2V5LnRvU3RyaW5nKCkgPT09IGNhdGVfdGVtcFtpbmRleF0gPyAn4oCc4oCc4oCd4oCdPGI+PHNwYW4gc3R5bGU9XFxcImNvbG9yOiAnICsg5YiG57G76aKc6ImyICsgJ1xcXCI+JyArIHRpdGxlICsgJzwvc3Bhbj48L2I+JyA6IHRpdGxlLFxcbiAgICAgICAgICAgICAgICAgICAgdXJsOiAkKHBkKGl0ZW0sIOWIhuexu+mTvuaOpSkgKyAnI25vTG9hZGluZyMnKS5sYXp5UnVsZSgocGFyYW1zKSA9PiB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgcGFyYW1zLmNhdGVfdGVtcFtwYXJhbXMuaW5kZXhdID0gcGFyYW1zLmtleS50b1N0cmluZygpXFxuXFxuICAgICAgICAgICAgICAgICAgICAgICAgcHV0VmFyKE1ZX1JVTEUudGl0bGUsIEpTT04uc3RyaW5naWZ5KHBhcmFtcy5jYXRlX3RlbXApKVxcbiAgICAgICAgICAgICAgICAgICAgICAgIHB1dFZhcihNWV9SVUxFLnVybCwgaW5wdXQpXFxuICAgICAgICAgICAgICAgICAgICAgICAgcmVmcmVzaFBhZ2UodHJ1ZSlcXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gXFxcImhpa2VyOi8vZW1wdHlcXFwiXFxuICAgICAgICAgICAgICAgICAgICB9LCB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgY2F0ZV90ZW1wOiBjYXRlX3RlbXAsXFxuICAgICAgICAgICAgICAgICAgICAgICAgaW5kZXg6IGluZGV4LFxcbiAgICAgICAgICAgICAgICAgICAgICAgIGtleToga2V5LFxcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZ2U6IHBhZ2UsXFxuICAgICAgICAgICAgICAgICAgICB9KSxcXG4gICAgICAgICAgICAgICAgICAgIGNvbF90eXBlOiAnc2Nyb2xsX2J1dHRvbicsXFxuICAgICAgICAgICAgICAgIH0pXFxuICAgICAgICAgICAgfSlcXG4gICAgICAgICAgICBkLnB1c2goe1xcbiAgICAgICAgICAgICAgICBjb2xfdHlwZTogXFxcImJsYW5rX2Jsb2NrXFxcIlxcbiAgICAgICAgICAgIH0pO1xcbiAgICAgICAgfVxcbiAgICB9KVxcbn1cXG5cIn1dLFwic2F2ZWRcIjpmYWxzZSxcInRpdGxlXCI6XCLovbvlkIjpm4Yu6JOd6I6T4pmUXCIsXCJ2ZXJzaW9uXCI6MCxcInVybFwiOlwiaHR0cDovL3d3dy5uaXVtYXR2LmNvbS92b2QvNjIyOS5odG1sI2ltbWVyc2l2ZVRoZW1lIztnZXQ7VVRGLTg7e1VzZXItQWdlbnRATW96aWxsYS81LjAgKExpbnV477yb77ybIEFuZHJvaWQgMTHvvJvvvJsgTWkgMTAgUHJvKSBBcHBsZVdlYktpdC81MzcuMzYgKEtIVE1MLCBsaWtlIEdlY2tvKSBDaHJvbWUvODguMC40MzI0LjE1MiBNb2JpbGUgU2FmYXJpLzUzNy4zNn1cIixcImNvbF90eXBlXCI6XCJtb3ZpZV8xXCIsXCJmaW5kX3J1bGVcIjpcImpzOlxcbnZhciBkID0gW107XFxudmFyIGh0bWwgPSBnZXRSZXNDb2RlKCk7XFxuXFxuZXZhbChKU09OLnBhcnNlKHJlcXVlc3QoJ2hpa2VyOi8vcGFnZS9sYXp5JykpLnJ1bGUpO1xcblxcbi8v57q/6Lev5ZCN5YiX6KGo55qE5a6a5L2NXFxudmFyIGFydHMgPSBwYXJzZURvbUZvckFycmF5KGh0bWwsICdib2R5JiYuc3R1aS12b2RsaXN0X19oZWFkOmhhcyguc3R1aS1jb250ZW50X19wbGF5bGlzdCknKTtcXG5cXG4vL+e6v+i3r+WQjeWIl+ihqOWQjeensOeahOWumuS9jVxcbnZhciB0YWJzID0gW107XFxuZm9yICh2YXIgaSBpbiBhcnRzKSB7XFxuICAgIHRhYnMucHVzaChwYXJzZURvbUZvckh0bWwoYXJ0c1tpXSwgJy50aXRsZSYmVGV4dCcpKVxcbn1cXG5cXG4vL+aSreaUvuWIl+ihqOeahOWIl+ihqOeahOWumuS9jVxcbnZhciBjb250cyA9IHBhcnNlRG9tRm9yQXJyYXkoaHRtbCwgJ2JvZHkmJi5zdHVpLWNvbnRlbnRfX3BsYXlsaXN0Jyk7XFxudmFyIGxpc3RzID0gW107XFxuZm9yICh2YXIgaSBpbiBjb250cykge1xcbiAgICBsaXN0cy5wdXNoKHBhcnNlRG9tRm9yQXJyYXkoY29udHNbaV0sICd1bCYmbGknKSlcXG59XFxuXFxudmFyIOWIhuexuyA9IHBhcnNlRG9tRm9ySHRtbChodG1sLCAnLmRhdGEmJlRleHQnKTtcXG5cXG52YXIg5Li75ryUID0gcGFyc2VEb21Gb3JIdG1sKGh0bWwsICcuZGF0YSwyJiZUZXh0Jyk7XFxuXFxudmFyIOWvvOa8lCA9IHBhcnNlRG9tRm9ySHRtbChodG1sLCAncC5kYXRhLDYmJlRleHQnKTtcXG5cXG52YXIg5pu05pawID0gcGFyc2VEb21Gb3JIdG1sKGh0bWwsICcuZGF0YSw3JiZUZXh0Jyk7XFxuXFxudmFyIOWbvueJhyA9IHBhcnNlRG9tKGh0bWwsICcubGF6eWxvYWQmJmRhdGEtb3JpZ2luYWwnKTtcXG5cXG52YXIg566A5LuLID0gcGFyc2VEb21Gb3JIdG1sKGh0bWwsICcuZGVzYyYmVGV4dCcpLnJlcGxhY2UoJ+eugOS7i++8micsJycpLnJlcGxhY2UoJ+ivpuaDhScsJycpO1xcblxcbnZhciBDb2xvciA9IFxcXCIjZjEzYjY2YVxcXCI7XFxudmFyIENvbG9yMSA9IFxcXCIjMDk4QUMxXFxcIjtcXG5mdW5jdGlvbiBnZXRIZWFkKHRpdGxlKSB7XFxuICAgIHJldHVybiAn4oCY4oCY4oCZ4oCZPHN0cm9uZz48Zm9udCBjb2xvcj1cXFwiJyArIENvbG9yICsgJ1xcXCI+JyArIHRpdGxlICsgJzwvZnJvbnQ+PC9zdHJvbmc+JztcXG59XFxubGV0IGxpbmVfbW9kZWwgPSA4O1xcbmxldCBsaW5lX3R5cGVfbW9kZWwgPSAnYmxhbmtfYmxvY2snO1xcbmQucHVzaCh7XFxuICAgIHRpdGxlOiDliIbnsbsgKyAnXFxcXG4nICsg5Li75ryULFxcbiAgICBkZXNjOiDlr7zmvJQgKyAnXFxcXG4nICsg5pu05pawLFxcbiAgICBwaWNfdXJsOiDlm77niYcsXFxuICAgIHVybDpNWV9VUkwsXFxuICAgIGNvbF90eXBlOiAnbW92aWVfMV92ZXJ0aWNhbF9waWNfYmx1cicsXFxuICAgIGV4dHJhOntncmFkaWVudDogdHJ1ZX1cXG59KTtcXG5kLnB1c2goe1xcbiAgICB0aXRsZTogJ+KAmOKAmOKAmeKAmTxzbWFsbD48Zm9udCBjb2xvcj1cXFwiI2ZmMTQ4ZThlXFxcIj7nroDku4vvvJonICsg566A5LuLLnN1YnN0cigwLCA1NSkgKyAnLi4uPC9mb250PjxzbWFsbD48Zm9udCBjb2xvcj1cXFwicmVkXFxcIj7or6bmg4U8L2ZvbnQ+PC9zbWFsbD48L3NtYWxsPicsXFxuICAgIHVybDogJ2hpa2VyOi8vZW1wdHkjJyArICdcXFxcbicgKyDnroDku4sgKyBgQHJ1bGU9anM6dmFyIHJlcyA9IHt9OyB2YXIgZCA9IFtdO2QucHVzaCh7dGl0bGU6J+W9seeJh+eugOS7i++8micrIE1ZX1VSTC5zcGxpdCgnaGlrZXI6Ly9lbXB0eSMnKVsxXSxjb2xfdHlwZTogJ2xvbmdfdGV4dCd9KTtyZXMuZGF0YSA9IGQ7IHNldEhvbWVSZXN1bHQocmVzKTtgLFxcbiAgICBjb2xfdHlwZTogJ3RleHRfMSdcXG59KTtcXG5cXG5cXG5mb3IgKGxldCBpID0gMDsgaSA8IGxpbmVfbW9kZWw7IGkrKykge1xcbiAgICBkLnB1c2goe1xcbiAgICAgICAgY29sX3R5cGU6IGxpbmVfdHlwZV9tb2RlbFxcbiAgICB9KVxcbn1cXG5mdW5jdGlvbiBzZXRUYWJzKHRhYnMsIHZhcmkpIHtcXG4gICAgZm9yICh2YXIgaSBpbiB0YWJzKSB7XFxuICAgICAgICB2YXIgdXJsID0gXFxcIiNub0xvYWRpbmcjQGxhenlSdWxlPS5qczpwdXRWYXIoJ1xcXCIgKyB2YXJpICsgXFxcIicsICdcXFwiICsgaSArIFxcXCInKTtyZWZyZXNoUGFnZShmYWxzZSk7J3RvYXN0Oi8v5YiH5o2i5oiQ5Yqf77yBJzsnI25vSGlzdG9yeSNoaWtlcjovL2VtcHR5J1xcXCI7XFxuICAgICAgICBkLnB1c2goe1xcbiAgICAgICAgICAgIHRpdGxlOiBnZXRWYXIodmFyaSwgJzAnKSA9PSBpID8gZ2V0SGVhZCh0YWJzW2ldKSA6IHRhYnNbaV0sXFxuICAgICAgICAgICAgdXJsOiB1cmwsXFxuICAgICAgICAgICAgY29sX3R5cGU6ICdzY3JvbGxfYnV0dG9uJ1xcbiAgICAgICAgfSlcXG4gICAgfVxcbiAgICBcXG59XFxuZnVuY3Rpb24gc2V0TGlzdHMobGlzdHMsIGluZGV4KSB7XFxuICAgIGQucHVzaCh7XFxuICAgICAgICBjb2xfdHlwZTogJ2xpbmVfYmxhbmsnXFxuICAgIH0pXFxufVxcbmlmIChnZXRWYXIoJ3Noc29ydCcpID09ICcxJykge1xcbiAgICB2YXIgc3ggPSAn4oCY4oCY4oCZ4oCZPGZvbnQgY29sb3I9XFxcIiM2NjM5YTZcXFwiPuaOkuW6jzwvZm9udD48L3NtYWxsPicgKyAnPHNtYWxsPjxmb250IGNvbG9yPVxcXCIjZjY0MTZjXFxcIj7ihpE8L2ZvbnQ+PC9zbWFsbD4nICsgJzxzbWFsbD48Zm9udCBjb2xvcj1cXFwiIzJiMmU0YVxcXCI+4oaTPC9mb250Pjwvc21hbGw+JztcXG59IGVsc2Uge1xcbiAgICB2YXIgc3ggPSAn4oCY4oCY4oCZ4oCZPGZvbnQgY29sb3I9XFxcIiMwYWEzNDRcXFwiPuaOkuW6jzwvZm9udD48L3NtYWxsPicgKyAnPHNtYWxsPjxmb250IGNvbG9yPVxcXCIjMmIyZTRhXFxcIj7ihpE8L2ZvbnQ+PC9zbWFsbD4nICsgJzxzbWFsbD48Zm9udCBjb2xvcj1cXFwiI2Y2NDE2Y1xcXCI+4oaTPC9mb250Pjwvc21hbGw+JztcXG59XFxuXFxudmFyIENvbG9yID0gXFxcIiNmMTNiNjZhXFxcIjtcXG52YXIgQ29sb3IxID0gXFxcIiNlYTU0NTVcXFwiO1xcblxcbmZ1bmN0aW9uIHNldExpc3RzKGxpc3RzLCBpbmRleCkge1xcbiAgICBkLnB1c2goe1xcbiAgICAgICAgdGl0bGU6ICfigJjigJjigJnigJk8c3BhbiBzdHlsZT1cXFwiY29sb3I6JyArIENvbG9yMSArICdcXFwiPjxzbWFsbD7pgInpm4bliJfooag8L3NtYWxsPicgKyAnXFxcXHRcXFxcdFxcXFx0XFxcXHRcXFxcdFxcXFx0XFxcXHRcXFxcdFxcXFx0XFxcXHRcXFxcdFxcXFx0XFxcXHRcXFxcdFxcXFx0XFxcXHRcXFxcdFxcXFx0XFxcXHRcXFxcdFxcXFx0XFxcXHRcXFxcdFxcXFx0XFxcXHRcXFxcdFxcXFx0XFxcXHRcXFxcdDxzcGFuIHN0eWxlPVxcXCJmbG9hdDpyaWdodFxcXCI+JyArICc8c21hbGw+JyArIHN4ICsgJzwvc21hbGw+JyxcXG4gICAgICAgIHVybDogYCNub0xvYWRpbmcjQGxhenlSdWxlPS5qczpsZXQgY29uZiA9IGdldFZhcignc2hzb3J0Jyk7aWYoY29uZj09JzEnKXtwdXRWYXIoe2tleTonc2hzb3J0JywgdmFsdWU6JzAnfSk7fWVsc2V7cHV0VmFyKHtrZXk6J3Noc29ydCcsIHZhbHVlOicxJ30pfTtyZWZyZXNoUGFnZSgpOyd0b2FzdDovL+WIh+aNouaOkuW6j+aIkOWKnyc7JyNub0hpc3RvcnkjaGlrZXI6Ly9lbXB0eSdgLFxcbiAgICAgICAgY29sX3R5cGU6ICd0ZXh0X2NlbnRlcl8xJ1xcbiAgICB9KVxcbiAgICB2YXIgbGlzdCA9IGxpc3RzW2luZGV4XTtcXG5cXG4gICAgaWYgKGdldFZhcignc2hzb3J0JykgPT0gJzEnKSB7XFxuICAgICAgICB0cnkge1xcbiAgICAgICAgICAgIGZvciAodmFyIGogPSBsaXN0Lmxlbmd0aCAtIDE7IGogPj0gMDsgai0tKSB7XFxuICAgICAgICAgICAgICAgIGQucHVzaCh7XFxuICAgICAgICAgICAgICAgICAgICB0aXRsZTogcGFyc2VEb21Gb3JIdG1sKGxpc3Rbal0sICdhJiZUZXh0JykucmVwbGFjZSgv56ysfOmbhnzor5185pyfL2csICcnKSxcXG4gICAgICAgICAgICAgICAgICAgIHVybDpwYXJzZURvbShsaXN0W2pdLCAnYSYmaHJlZicpK2xhenksXFxuICAgICAgICAgICAgICAgICAgICBjb2xfdHlwZTogbGlzdC5sZW5ndGggPiA0ID8gJ3RleHRfNCcgOiAndGV4dF8yJ1xcbiAgICAgICAgICAgICAgICB9KTtcXG4gICAgICAgICAgICB9XFxuICAgICAgICB9IGNhdGNoIChlKSB7XFxuICAgICAgICAgICAgZC5wdXNoKHtcXG4gICAgICAgICAgICAgICAgdGl0bGU6ICfmsqHmnInpgInpm4blk5/vvIzkuI3kv6Hngrnlm77niYfljrvnnIvnnIvwn5GAJyxcXG4gICAgICAgICAgICAgICAgY29sX3R5cGU6ICd0ZXh0X2NlbnRlcl8xJ1xcbiAgICAgICAgICAgIH0pO1xcbiAgICAgICAgfVxcbiAgICB9IGVsc2Uge1xcbiAgICAgICAgdHJ5IHtcXG4gICAgICAgICAgICBmb3IgKHZhciBqID0gMDsgaiA8IGxpc3QubGVuZ3RoOyBqKyspIHtcXG4gICAgICAgICAgICAgICAgZC5wdXNoKHtcXG4gICAgICAgICAgICAgICAgICAgIHRpdGxlOiBwYXJzZURvbUZvckh0bWwobGlzdFtqXSwgJ2EmJlRleHQnKS5yZXBsYWNlKC/nrKx86ZuGfOivnXzmnJ8vZywgJycpLFxcbiAgICAgICAgICAgICAgICAgICAgdXJsOnBhcnNlRG9tKGxpc3Rbal0sICdhJiZocmVmJykgK2xhenksZXh0cmE6IHtcXG4gICAgICAgICAgICAgICAgICAgIGJsb2NrUnVsZXM6IFsnLmNzcycsICcuZ2lmJywgJy5qcGcnLCAnLmpwZWcnLCAnLnBuZycsICcuaWNvJywgJy5zdmcnLCAnLm0zdTgnLCAnLm1wNCddXFxuICAgICAgICAgICAgICAgIH0sXFxuICAgICAgICAgICAgICAgICAgICBjb2xfdHlwZTogbGlzdC5sZW5ndGggPiA0ID8gJ3RleHRfNCcgOiAndGV4dF8yJ1xcbiAgICAgICAgICAgICAgICB9KTtcXG4gICAgICAgICAgICB9XFxuICAgICAgICB9IGNhdGNoIChlKSB7XFxuICAgICAgICAgICAgZC5wdXNoKHtcXG4gICAgICAgICAgICAgICAgdGl0bGU6ICfmsqHmnInpgInpm4blk5/vvIzkuI3kv6Hngrnlm77niYfljrvnnIvnnIvwn5GAJyxcXG4gICAgICAgICAgICAgICAgY29sX3R5cGU6ICd0ZXh0X2NlbnRlcl8xJ1xcbiAgICAgICAgICAgIH0pO1xcbiAgICAgICAgfVxcblxcbiAgICB9XFxufVxcbnNldFRhYnModGFicywgTVlfVVJMKTtcXG5zZXRMaXN0cyhsaXN0cywgZ2V0VmFyKE1ZX1VSTCwgJzAnKSk7XFxuZC5wdXNoKHtcXG4gICAgdGl0bGU6ICc8YnI+JyxcXG4gICAgY29sX3R5cGU6ICdyaWNoX3RleHQnXFxufSk7XFxuc2V0UmVzdWx0KGQpO1wiLFwiZ3JvdXBcIjpcIui9u+WQiOmbhi7ok53ojpPimZRcIixcInVhXCI6XCJtb2JpbGVcIixcInByZVJ1bGVcIjpcIlwiLFwicGFnZXNcIjpcIlt7XFxcImNvbF90eXBlXFxcIjpcXFwibW92aWVfM1xcXCIsXFxcIm5hbWVcXFwiOlxcXCLliqjmgIHop6PmnpBcXFwiLFxcXCJwYXRoXFxcIjpcXFwibGF6eVxcXCIsXFxcInJ1bGVcXFwiOlxcXCJldmFsUHJpdmF0ZUpTKCd2THJtTEhFWERldzVXbTJmL3M0SUpKYkpJWGR3dUpGei9hZGR1dmJtUTJGbmxxcklBNXNNV25tUnhEM0JNSGtBR1V4S3Myb3NvcnhxSDZoOElISGp6cksvSnI3TkVCMEEwSExSeHlBQ1Z4VWVOcDhXQ1FGa3lBVllVRTYxNTZLNjhtWi94STdORUI5c0E2R1MrVUN0SFZmU0ZqR0lSMnlkNEZsYWpWeS9XT0JhV0NyNGhnLzYxTko3Wm9tK0llSnVncmZIRHJ3Z0hzRHJBSmtVcm40VE5UMUVRSWhDVDNDNkRBeUovQkc5aDAyYjhtRHNCMDFvTmxsdkVvZHNDdjBiSEQ3WW1rWFU0endMQzBPdWY1MUZZVTRQWnkvNGNDMXVjZ0t3ZzZFYnl5TXprZ2NmeG5NSll5SlYwdlpRQUpOaDhyZkVpYXZpSEM4TzNVRHY4cmRYUzEzZFRlN1U4ejdDajdWYnk3ZThtSmVEcHNyOGFpSEh1TytzNk4wWkxZK1hHdmZWRE9TT1dKWEZ5RVlYRWhRZm1DWWttOTNTL2xKUHZCRlg3VkNndm00T0J4N0VGQmEyb0U4QXNBNm5SS1gyeG5IbVB6L21pNzh0Uk9GTTVxbm9BSHQ0T0JaQmE3OGxFNmpPbVlpUDl6TTVWMndYVWdJYSsvU2k5ckh2enRMRnBWMTRDUDJYRlFLYlZtb0o5OGJTaUFyZy9tSmJ5NlJqLy96TnU0bVE1SXBNR3RLUDRuRkJnWUpyQ3R0aXRFNVVSZWQ4TEhGZEY1bVZmWVFjRVZ0R3BYcWQvcC8vSHhRWld4YjFIMEFVbU9uR05pWmV6UnlVcVY4Rzd0aVE4UENCMERuRnN4ckhKMithNnhWVCtQZktZM3l6RXN0UWNDNG5DTGxpRDBybWR3YSszYm1IUk9uOTUrbGhjU1VDMzB2RVFXWVlrQUlITlFKak1PWUh0emp6amtOYjZxN21BSUczRVZ4aWNZRy9sTVFiV0VNQ3pFNlBjL21WT1lhWEY4bUdMUHJ2RjJJQWd1UGhpUzJCdkJXUzVXTEI5UVVIYUpaRU9wY2YxR245OGpUQUhTWFQ0SE5iR3o3dG1vUG5GQkc4VHNSQXdhUE9rdmJtS1ZJVjJZQytZNHZXZkN4VEw2TUlTeHRyQUhqV0dCa3hYS3JOWjhZaTdnN1ZJMUFwNkc5S29uTDJ2eVcvUjhTVU15Nzh3bVc3Ny9IV0E0Z3U2NmxLdzN6V2Y3QXA1eDl3R2RualdtQ000VXUxOGJESkd1OFdiNWFzU1hrMVdTZVFid1Q4UENrVUtTSXFIVDlmVWZ6bG1DYUpwcmFBNk5oenFaK1N6RGt6MjhTdERWZVJwWU50UDExa3NUM1Vvc2g0ZWgrbEtNQnA5dWgxR3Q4OUZqM0JNSklnQnJLa2dtc3YyTndrUVBmaTZkemJaTlZQd25PS0hqREVqN3diUFJ0Qmt5OXdtRjlUcVZhaEI4c2xvQ2VXY0MwQWI4UzNwSUhmN09yOFBHMVNjdVRyQzBnYVpqL01JZC9WbjcrUER4d2J0cTlJdGtIVXVCUDhGUkhvT3d5RVFHbmxQMCtaOXJYWU5nRDA0UHlkc2NoUHAyRm9wMUdwVG9URm1xVHV2YXdjTGYxNkV4cm9sdUlDMU9GSm9uZ25pS01kZHlYVTduMHBvbk1ETWR4YTBWcmF4ZGlGT0NZZzhQTC9UeVdvU2VRS0R5VitMWTcrMmhRNkl0U3lvSlBxRE9reTJ3VCtjZnVNaldTY0tzejZlTVJ6QkJTeEhhcWVZWFVySi96L1NBMzliQk1CWFNCOE9Qc0wrcTU3Nm1PN3huUmtsNm5VUHorNUxvNlhkMzFzVXVBTzNmY2lxKy9NRldxU3JvbmdxUE14bmdSQnFEVGdhb21icnI4WlVRdU9LZ3ZYRmRqUnllYVNPMUtZK3FsaW90SkhUN3BZb2NwQlhVb3llSER6Mm90ZVNqY1FrSXNCUVVFcUUwS05Wa2YyTEpScktCWmtGUW1EcXptU2ZFYXBtR09HNElkWkJZYkgzTFB1MjRLdUxhZmI0aldTVVFBZ1c5cXR6VnJZRUZSREpONkdGMzF3Y1dQUC9GUnp5dHNLbkE5Q20xc0xENWNQbFcyZXBBWWYzcHl0WmNod3QzRUdnWFFIaHRqa09saSt0Y09uUmxqQWEzMVY5V1JFOWdZUlVrcTFMUDFZa2Rab0tPZzJDVUlXMW52Zks1aUU0dGYvRStGdTNDdGZlb05UL2d1V3BNM2pqaG89JylcXFwifSx7XFxcImNvbF90eXBlXFxcIjpcXFwibW92aWVfM1xcXCIsXFxcIm5hbWVcXFwiOlxcXCLmlq3mj5LosIPnlKhcXFwiLFxcXCJwYXRoXFxcIjpcXFwiZG5wbHVnaW5cXFwiLFxcXCJydWxlXFxcIjpcXFwidmFyIGltZ191cmw9J2h0dHA6Ly84Mi4xNTYuMjIyLjc3L2ltZy8nO1xcXFxuY29uc3QgZG5wID0gZ2V0VmFyKFxcXFxcXFwiZG5wXFxcXFxcXCIsIFxcXFxcXFwiMVxcXFxcXFwiKTtcXFxcbmlmIChkbnAgPT0gMSkge1xcXFxuICAgIHZhciBpbWcgPSBpbWdfdXJsICsgJzU1LnN2Zyc7XFxcXG59IGVsc2Uge1xcXFxuICAgIHZhciBpbWcgPSBpbWdfdXJsICsgJzU2LnN2Zyc7XFxcXG59XFxcXG5cXFxcbmQucHVzaCh7XFxcXG4gICAgdGl0bGU6ICfng63oiJ4nLFxcXFxuICAgIHVybDogXFxcXFxcXCJoaWtlcjovL2VtcHR5QGxhenlSdWxlPS5qczpwdXRWYXIoJ2RucCcsIGdldFZhcignZG5wJywnMScpPT0nMSc/JzAnOicxJyk7cmVmcmVzaFBhZ2UodHJ1ZSk7J2h0dHBzOi8veGpqbXYuY29tLydcXFxcXFxcIixcXFxcbiAgICBpbWc6IGltZyxcXFxcbiAgICBjb2xfdHlwZTogJ2ljb25fc21hbGxfMydcXFxcbn0pO1xcXFxuXFxcXG5cXFxcbi8v6a2U5pS55pat5o+S6LCD55So5Luj56CBXFxcXG5cXFxcbi8qXFxcXG5yZXF1aXJlKCdodHRwczovL2dpdGVhLmNvbS9BSTk1Ny9IaWtlci9yYXcvbS92L1JvdXRlLmpzJyk7XFxcXG5kLnB1c2goe1xcXFxuICAgIHRpdGxlOiAn6YWN572uJyxcXFxcbiAgICB1cmw6ICdoaWtlcjovL3BhZ2UvUm91dGU/cnVsZT1NeUZpZWxk4bSw4oG/JnR5cGU96K6+572uI25vSGlzdG9yeSMnLFxcXFxuICAgIGltZzppbWdfdXJsICsgJzMwLnN2ZycsXFxcXG4gICAgY29sX3R5cGU6ICdpY29uX3NtYWxsXzMnXFxcXG59KTtcXFxcbmQucHVzaCh7XFxcXG4gICAgdGl0bGU6ICfop6PmnpAnLFxcXFxuICAgIHVybDogJ2hpa2VyOi8vcGFnZS9Sb3V0ZT9ydWxlPU15RmllbGThtLDigb8mdHlwZT3nvJbovpEjbm9IaXN0b3J5IycsXFxcXG4gICAgaW1nOmltZ191cmwgKyAnMTcuc3ZnJyxcXFxcbiAgICBjb2xfdHlwZTogJ2ljb25fc21hbGxfMydcXFxcbn0pO1xcXFxuKi9cXFxcblxcXFxuXFxcXG4vL+ato+eJiOaWreaPkuiwg+eUqOS7o+eggVxcXFxuXFxcXG5cXFxcbnJlcXVpcmUoJ2h0dHBzOi8vZ2l0ZWEuY29tL0FJOTU3L0hpa2VyL3Jhdy9tL3YvUm91dGUuanMnKTtcXFxcbmQucHVzaCh7XFxcXG4gICAgdGl0bGU6ICfphY3nva4nLFxcXFxuICAgIHVybDogc2V0dXBQYWdlcyhcXFxcXFxcIuiuvue9rlxcXFxcXFwiKSxcXFxcbiAgICBpbWc6aW1nX3VybCArICczMC5zdmcnLFxcXFxuICAgIGNvbF90eXBlOiAnaWNvbl9zbWFsbF8zJ1xcXFxufSk7XFxcXG5kLnB1c2goe1xcXFxuICAgIHRpdGxlOiAn6Kej5p6QJyxcXFxcbiAgICB1cmw6IHNldHVwUGFnZXMoXFxcXFxcXCLnvJbovpFcXFxcXFxcIiksXFxcXG4gICAgaW1nOmltZ191cmwgKyAnMTcuc3ZnJyxcXFxcbiAgICBjb2xfdHlwZTogJ2ljb25fc21hbGxfMydcXFxcbn0pO1xcXFxuXFxcXG5cXFwifSx7XFxcImNvbF90eXBlXFxcIjpcXFwibW92aWVfM1xcXCIsXFxcIm5hbWVcXFwiOlxcXCLliqjmgIHliIbnsbtcXFwiLFxcXCJwYXRoXFxcIjpcXFwiZHRcXFwiLFxcXCJydWxlXFxcIjpcXFwiY29uc3QgZW1wdHkgPSBcXFxcXFxcImhpa2VyOi8vZW1wdHlcXFxcXFxcIlxcXFxuXFxcXG50cnkge1xcXFxuICAgIHZhciBjYXRlZ29yaWVzID0gcGRmYShodG1sLCDlpKfnsbvlrprkvY0pLmNvbmNhdChwZGZhKGh0bWwsIOaLvOaOpeWIhuexuykpXFxcXG59IGNhdGNoIChlKSB7XFxcXG4gICAgdmFyIGNhdGVnb3JpZXMgPSBwZGZhKGh0bWwsIOWkp+exu+WumuS9jSlcXFxcbn1cXFxcblxcXFxubGV0IGluaXRfY2F0ZSA9IFtdXFxcXG5cXFxcbmZvciAobGV0IGkgPSAwOyBpIDwgMjA7IGkrKykge1xcXFxuICAgIGluaXRfY2F0ZS5wdXNoKFxcXFxcXFwiMFxcXFxcXFwiKVxcXFxufVxcXFxuXFxcXG5jb25zdCBmb2xkID0gZ2V0VmFyKE1ZX1JVTEUuZ3JvdXAsIFxcXFxcXFwiMFxcXFxcXFwiKVxcXFxuY29uc3QgY2F0ZV90ZW1wX2pzb24gPSBnZXRWYXIoTVlfUlVMRS50aXRsZSwgSlNPTi5zdHJpbmdpZnkoaW5pdF9jYXRlKSlcXFxcbmNvbnN0IGNhdGVfdGVtcCA9IEpTT04ucGFyc2UoY2F0ZV90ZW1wX2pzb24pXFxcXG5cXFxcbmlmIChwYXJzZUludChwYWdlKSA9PT0gMSkge1xcXFxuICAgIGQucHVzaCh7XFxcXG4gICAgICAgIHRpdGxlOiBmb2xkID09PSAnMScgPyAn4oCc4oCc4oCd4oCdPGI+PHNwYW4gc3R5bGU9XFxcXFxcXCJjb2xvcjogIzE5Qjg5RFxcXFxcXFwiPjogKDwvc3Bhbj48L2I+JyA6ICfigJzigJzigJ3igJ08Yj48c3BhbiBzdHlsZT1cXFxcXFxcImNvbG9yOiAjOTEwMTEzXFxcXFxcXCI+OiApPC9zcGFuPjwvYj4nLFxcXFxuICAgICAgICB1cmw6ICQoKS5sYXp5UnVsZSgoZm9sZCkgPT4ge1xcXFxuICAgICAgICAgICAgcHV0VmFyKE1ZX1JVTEUuZ3JvdXAsIGZvbGQgPT09ICcxJyA/ICcwJyA6ICcxJyk7XFxcXG4gICAgICAgICAgICByZWZyZXNoUGFnZShmYWxzZSk7XFxcXG4gICAgICAgICAgICByZXR1cm4gXFxcXFxcXCJoaWtlcjovL2VtcHR5XFxcXFxcXCJcXFxcbiAgICAgICAgfSwgZm9sZCksXFxcXG4gICAgICAgIGNvbF90eXBlOiAnc2Nyb2xsX2J1dHRvbicsXFxcXG4gICAgfSlcXFxcblxcXFxuY2F0ZWdvcmllcy5mb3JFYWNoKChjYXRlZ29yeSwgaW5kZXgpID0+IHtcXFxcbiAgICAgICAgbGV0IHN1Yl9jYXRlZ29yaWVzID0gcGRmYShjYXRlZ29yeSwg5bCP57G75a6a5L2NKTtcXFxcbiAgICAgICAgaWYgKGluZGV4ID09PSAwKSB7XFxcXG4gICAgICAgICAgICBzdWJfY2F0ZWdvcmllcy5mb3JFYWNoKChpdGVtLCBrZXkpID0+IHtcXFxcbiAgICAgICAgICAgICAgICBsZXQgdGl0bGUgPSBwZGZoKGl0ZW0sIOWIhuexu+agh+mimClcXFxcbiAgICAgICAgICAgICAgICBkLnB1c2goe1xcXFxuICAgICAgICAgICAgICAgICAgICB0aXRsZToga2V5LnRvU3RyaW5nKCkgPT09IGNhdGVfdGVtcFtpbmRleF0gPyAn4oCc4oCc4oCd4oCdPGI+PHNwYW4gc3R5bGU9XFxcXFxcXCJjb2xvcjogJyArIOWIhuexu+minOiJsiArICdcXFxcXFxcIj4nICsgdGl0bGUgKyAnPC9zcGFuPjwvYj4nIDogdGl0bGUsXFxcXG4gICAgICAgICAgICAgICAgICAgIHVybDogJChwZChpdGVtLCDliIbnsbvpk77mjqUpICsgJyNub0xvYWRpbmcjJykubGF6eVJ1bGUoKHBhcmFtcykgPT4ge1xcXFxuICAgICAgICAgICAgICAgICAgICAgICAgbGV0IG5ld19jYXRlID0gW11cXFxcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhcmFtcy5jYXRlX3RlbXAuZm9yRWFjaCgoY2F0ZSwgaW5kZXgpID0+IHtcXFxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZXdfY2F0ZS5wdXNoKGluZGV4ID09PSAwID8gcGFyYW1zLmtleS50b1N0cmluZygpIDogXFxcXFxcXCIwXFxcXFxcXCIpXFxcXG4gICAgICAgICAgICAgICAgICAgICAgICB9KVxcXFxuICAgICAgICAgICAgICAgICAgICAgICAgcHV0VmFyKE1ZX1JVTEUudGl0bGUsIEpTT04uc3RyaW5naWZ5KG5ld19jYXRlKSlcXFxcbiAgICAgICAgICAgICAgICAgICAgICAgIHB1dFZhcihNWV9SVUxFLnVybCwgaW5wdXQpXFxcXG4gICAgICAgICAgICAgICAgICAgICAgICByZWZyZXNoUGFnZSh0cnVlKVxcXFxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFxcXFxcXFwiaGlrZXI6Ly9lbXB0eVxcXFxcXFwiXFxcXG4gICAgICAgICAgICAgICAgICAgIH0sIHtcXFxcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhdGVfdGVtcDogY2F0ZV90ZW1wLFxcXFxuICAgICAgICAgICAgICAgICAgICAgICAga2V5OiBrZXksXFxcXG4gICAgICAgICAgICAgICAgICAgICAgICBwYWdlOiBwYWdlLFxcXFxuICAgICAgICAgICAgICAgICAgICB9KSxcXFxcbiAgICAgICAgICAgICAgICAgICAgY29sX3R5cGU6ICdzY3JvbGxfYnV0dG9uJyxcXFxcbiAgICAgICAgICAgICAgICB9KVxcXFxuICAgICAgICAgICAgfSlcXFxcbiAgICAgICAgICAgIGQucHVzaCh7XFxcXG4gICAgICAgICAgICAgICAgY29sX3R5cGU6IFxcXFxcXFwiYmxhbmtfYmxvY2tcXFxcXFxcIlxcXFxuICAgICAgICAgICAgfSk7XFxcXG4gICAgICAgIH0gZWxzZSBpZiAoZm9sZCA9PT0gJzEnKSB7XFxcXG4gICAgICAgICAgICBzdWJfY2F0ZWdvcmllcy5mb3JFYWNoKChpdGVtLCBrZXkpID0+IHtcXFxcbiAgICAgICAgICAgICAgICBsZXQgdGl0bGUgPSBwZGZoKGl0ZW0sIOWIhuexu+agh+mimClcXFxcbiAgICAgICAgICAgICAgICBkLnB1c2goe1xcXFxuICAgICAgICAgICAgICAgICAgICB0aXRsZToga2V5LnRvU3RyaW5nKCkgPT09IGNhdGVfdGVtcFtpbmRleF0gPyAn4oCc4oCc4oCd4oCdPGI+PHNwYW4gc3R5bGU9XFxcXFxcXCJjb2xvcjogJyArIOWIhuexu+minOiJsiArICdcXFxcXFxcIj4nICsgdGl0bGUgKyAnPC9zcGFuPjwvYj4nIDogdGl0bGUsXFxcXG4gICAgICAgICAgICAgICAgICAgIHVybDogJChwZChpdGVtLCDliIbnsbvpk77mjqUpICsgJyNub0xvYWRpbmcjJykubGF6eVJ1bGUoKHBhcmFtcykgPT4ge1xcXFxuICAgICAgICAgICAgICAgICAgICAgICAgcGFyYW1zLmNhdGVfdGVtcFtwYXJhbXMuaW5kZXhdID0gcGFyYW1zLmtleS50b1N0cmluZygpXFxcXG5cXFxcbiAgICAgICAgICAgICAgICAgICAgICAgIHB1dFZhcihNWV9SVUxFLnRpdGxlLCBKU09OLnN0cmluZ2lmeShwYXJhbXMuY2F0ZV90ZW1wKSlcXFxcbiAgICAgICAgICAgICAgICAgICAgICAgIHB1dFZhcihNWV9SVUxFLnVybCwgaW5wdXQpXFxcXG4gICAgICAgICAgICAgICAgICAgICAgICByZWZyZXNoUGFnZSh0cnVlKVxcXFxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFxcXFxcXFwiaGlrZXI6Ly9lbXB0eVxcXFxcXFwiXFxcXG4gICAgICAgICAgICAgICAgICAgIH0sIHtcXFxcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhdGVfdGVtcDogY2F0ZV90ZW1wLFxcXFxuICAgICAgICAgICAgICAgICAgICAgICAgaW5kZXg6IGluZGV4LFxcXFxuICAgICAgICAgICAgICAgICAgICAgICAga2V5OiBrZXksXFxcXG4gICAgICAgICAgICAgICAgICAgICAgICBwYWdlOiBwYWdlLFxcXFxuICAgICAgICAgICAgICAgICAgICB9KSxcXFxcbiAgICAgICAgICAgICAgICAgICAgY29sX3R5cGU6ICdzY3JvbGxfYnV0dG9uJyxcXFxcbiAgICAgICAgICAgICAgICB9KVxcXFxuICAgICAgICAgICAgfSlcXFxcbiAgICAgICAgICAgIGQucHVzaCh7XFxcXG4gICAgICAgICAgICAgICAgY29sX3R5cGU6IFxcXFxcXFwiYmxhbmtfYmxvY2tcXFxcXFxcIlxcXFxuICAgICAgICAgICAgfSk7XFxcXG4gICAgICAgIH1cXFxcbiAgICB9KVxcXFxufVxcXFxuXFxcIn1dXCJ9IiwicGljVXJsIjoiaHR0cHM6Ly9sZjYtdHRjZG4tdG9zLnBzdGF0cC5jb20vb2JqL3Rvcy1jbi1pLTAwMDAvNmVkYjIwYWUzZTUzNDQxM2E2ZTViZGU3NTQ1NWRjMDRAUmVmZXJlcj0iLCJ0aXRsZSI6IumCo+S4queUt+S6uueahOiusOW/huazlSJ9
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement