Advertisement
xiaomianao666

邀您一起看:新民晚报

Feb 4th, 2022
946
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. 海阔视界规则分享,当前分享的是:二级页面详情¥page_detail¥新民晚报@@eyJkYXRhIjoie1wiYXNzb2NpYXRlZE1vZGVsc01hcEZvckpvaW5UYWJsZVwiOnt9LFwiYXNzb2NpYXRlZE1vZGVsc01hcFdpdGhGS1wiOnt9LFwiYXNzb2NpYXRlZE1vZGVsc01hcFdpdGhvdXRGS1wiOnt9LFwiZmllbGRzVG9TZXRUb0RlZmF1bHRcIjpbXSxcImlkXCI6MCxcImxpc3RUb0NsZWFyQXNzb2NpYXRlZEZLXCI6W10sXCJsaXN0VG9DbGVhclNlbGZGS1wiOltdLFwicGFnZUxpc3RcIjpbe1wiY29sX3R5cGVcIjpcIm1vdmllXzNcIixcIm5hbWVcIjpcIuacn+WIiuWIhuacn+WIl+ihqFwiLFwicGF0aFwiOlwicWtcIixcInJ1bGVcIjpcImpzOlxcbmFkZExpc3RlbmVyKCdvbkNsb3NlJywgJ2NsZWFyVmFyKFxcXCJ5ZWFyXFxcIiknKTtcXG5cXG5sZXQgZCA9IFtdO1xcbmxldCB1cmwgPSBNWV9QQVJBTVMuaHJlZixcXG4gICAgbmFtZSA9IGdldFBhcmFtKCduYW1lJyksXFxuICAgIGltZyA9IGdldFBhcmFtKCdpbWcnKTtcXG5sZXQgY29sbGVjdGlvbiA9IEpTT04ucGFyc2UocmVhZEZpbGUoJ2NvbGxlY3Rpb24nKSB8fCAne30nKTtcXG5sZXQgaXNDb2xsZWN0ZWQgPSAhIShjb2xsZWN0aW9uW25hbWVdICYmIGNvbGxlY3Rpb25bbmFtZV0udXJsID09IHVybCk7XFxuZC5wdXNoKHtcXG4gICAgdGl0bGU6IGlzQ29sbGVjdGVkID8gJ+KZpeW3suaUtuiXjycgOiAn4pmh5re75Yqg5pS26JePJyxcXG4gICAgdXJsOiAkKCkubGF6eVJ1bGUoKGlzLCB1cmwsIG5hbWUsIGltZykgPT4ge1xcbiAgICAgICAgbGV0IGNvbGxlY3Rpb24gPSBKU09OLnBhcnNlKHJlYWRGaWxlKCdjb2xsZWN0aW9uJykgfHwgJ3t9Jyk7XFxuICAgICAgICBpZiAoaXMpIHtcXG4gICAgICAgICAgICBkZWxldGUgY29sbGVjdGlvbltuYW1lXTtcXG4gICAgICAgICAgICBzYXZlRmlsZSgnY29sbGVjdGlvbicsIEpTT04uc3RyaW5naWZ5KGNvbGxlY3Rpb24pKTtcXG4gICAgICAgICAgICByZWZyZXNoUGFnZSgpO1xcbiAgICAgICAgICAgIHJldHVybiAndG9hc3Q6Ly/lt7Llj5bmtojmlLbol48nXFxuICAgICAgICB9IGVsc2Uge1xcbiAgICAgICAgICAgIGNvbGxlY3Rpb25bbmFtZV0gPSB7XFxuICAgICAgICAgICAgICAgIHVybDogdXJsLFxcbiAgICAgICAgICAgICAgICBpbWc6IGltZ1xcbiAgICAgICAgICAgIH07XFxuICAgICAgICAgICAgc2F2ZUZpbGUoJ2NvbGxlY3Rpb24nLCBKU09OLnN0cmluZ2lmeShjb2xsZWN0aW9uKSk7XFxuICAgICAgICAgICAgcmVmcmVzaFBhZ2UoKTtcXG4gICAgICAgICAgICByZXR1cm4gJ3RvYXN0Oi8v5bey5re75Yqg5pS26JePJ1xcbiAgICAgICAgfVxcbiAgICB9LCBpc0NvbGxlY3RlZCwgdXJsLCBuYW1lLCBpbWcpLFxcbiAgICBjb2xfdHlwZTogXFxcInNjcm9sbF9idXR0b25cXFwiLFxcbn0pO1xcblxcbmV2YWwocGFyc2VEb21Gb3JIdG1sKHJlcXVlc3QodXJsKSwgXFxcImJvZHkmJnNjcmlwdCwyJiZIdG1sXFxcIikpO1xcbmxldCBpdGVtcyA9IHt9O1xcbmxldCBub3cgPSBnZXRWYXIoJ3llYXInLCBTdHJpbmcoZGF0YV9saXN0LmRhdGFfbGlzdFswXS55ZWFyKSk7XFxuZm9yIChsZXQgbGlzdCBvZiBkYXRhX2xpc3QuZGF0YV9saXN0KSB7XFxuICAgIGlmIChub3cgPT0gbGlzdC55ZWFyKSBpdGVtcyA9IGxpc3QubGlzdDtcXG4gICAgZC5wdXNoKHtcXG4gICAgICAgIHRpdGxlOiAn4oCc4oCc4oCd4oCdJyArIChsaXN0LnllYXIgPT0gbm93ID8gJzxmb250IGNvbG9yPXJlZD4nICsgbGlzdC55ZWFyICsgJzwvZm9udD4nIDogbGlzdC55ZWFyKSxcXG4gICAgICAgIGNvbF90eXBlOiAnc2Nyb2xsX2J1dHRvbicsXFxuICAgICAgICB1cmw6ICQoKS5sYXp5UnVsZSgoeWVhcikgPT4ge1xcbiAgICAgICAgICAgIHB1dFZhcigneWVhcicsIFN0cmluZyh5ZWFyKSk7XFxuICAgICAgICAgICAgcmVmcmVzaFBhZ2UoKTtcXG4gICAgICAgICAgICByZXR1cm4gJ2hpa2VyOi8vZW1wdHknXFxuICAgICAgICB9LCBsaXN0LnllYXIpXFxuICAgIH0pO1xcbn1cXG5mb3IgKGxldCBpdGVtIG9mIGl0ZW1zKSB7XFxuICAgIGQucHVzaCh7XFxuICAgICAgICB0aXRsZTogaXRlbS5zcGFuLFxcbiAgICAgICAgdXJsOiAnaGlrZXI6Ly9wYWdlL3FrcWsjaW1tZXJzaXZlVGhlbWUjJyxcXG4gICAgICAgIGltZzogaXRlbS5pbWcsXFxuICAgICAgICBleHRyYTp7XFxuICAgICAgICAgICAgaHJlZjpcXFwiaHR0cDovL25ldy1xay5saWZ2ZXMuY29tL1xcXCIgKyBpdGVtLmhyZWZcXG4gICAgICAgIH1cXG4gICAgfSk7XFxufVxcbnNldFJlc3VsdChkKTtcIn0se1wiY29sX3R5cGVcIjpcIm1vdmllXzNcIixcIm5hbWVcIjpcIuacn+WIiuebruW9lVwiLFwicGF0aFwiOlwicWtxa1wiLFwicnVsZVwiOlwianM6XFxuYWRkTGlzdGVuZXIoJ29uQ2xvc2UnLCAkLnRvU3RyaW5nKCgpID0+IHtcXG4gICAgY2xlYXJWYXIoJ2l0ZW0nKTtcXG4gICAgZGVsZXRlRmlsZSgnc3Ryb2dlJyk7XFxufSkpO1xcbmxldCBmdWxsVGhlbWUgPSBnZXRJdGVtKCdmdWxsVGhlbWUnLCAndHJ1ZScpID09ICd0cnVlJyA/ICcjZnVsbFRoZW1lIycgOiAnJztcXG5sZXQgbm93SXRlbSA9IGdldFZhcignaXRlbScsICcnKTtcXG5cXG5sZXQgdXJsID0gTVlfUEFSQU1TLmhyZWY7XFxuXFxuZXZhbChwYXJzZURvbUZvckh0bWwocmVxdWVzdCh1cmwpLCBcXFwiYm9keSYmc2NyaXB0LDImJkh0bWxcXFwiKS5tYXRjaCgvbGV0XFxcXHMqZGF0YV9saXN0LipKU09OXFxcXC5wYXJzZVxcXFwoLipcXFxcKS8pWzBdKTtcXG5sZXQgZCA9IFtdO1xcbmlmIChkYXRhX2xpc3QuZGF0YV9saXN0Lmxlbmd0aCA9PSAwKSB7XFxuICAgIGQucHVzaCh7XFxuICAgICAgICB0aXRsZTogJ+ayoeacieWGheWuueWRpizkuI3kv6HngrnmiJHljrvnvZHpobXnnIvnnIsnLFxcbiAgICAgICAgY29sX3R5cGU6ICdtb3ZpZV8xX3ZlcnRpY2FsX3BpY19ibHVyJyxcXG4gICAgICAgIHVybDogdXJsXFxuICAgIH0pXFxufSBlbHNlIHtcXG4gICAgZC5wdXNoKHtcXG4gICAgICAgIHRpdGxlOiBkYXRhX2xpc3QuZGF0YV9saXN0LmludHJvLnRpdGxlLFxcbiAgICAgICAgZGVzYzogZGF0YV9saXN0LmRhdGFfbGlzdC5pbnRyby5pbnRybyxcXG4gICAgICAgIGltZzogZGF0YV9saXN0LmRhdGFfbGlzdC5pbnRyby5pbWcsXFxuICAgICAgICBjb2xfdHlwZTogJ21vdmllXzFfdmVydGljYWxfcGljX2JsdXInLFxcbiAgICAgICAgdXJsOiB1cmxcXG4gICAgfSlcXG4gICAgZC5wdXNoKHtcXG4gICAgICAgIHRpdGxlOiAn55uu5b2VJy5iaWcoKS5ib2xkKCksXFxuICAgICAgICBjb2xfdHlwZTogJ3JpY2hfdGV4dCdcXG4gICAgfSlcXG5cXG5cXG4gICAgbGV0IHN0cm9nZSA9IHt9O1xcbiAgICBmb3IgKGxldCBpIGluIGRhdGFfbGlzdC5kYXRhX2xpc3QubWwpIHtcXG4gICAgICAgIGxldCBpdCA9IGRhdGFfbGlzdC5kYXRhX2xpc3QubWxbaV07XFxuICAgICAgICBmb3IgKGxldCBpdGVtIGluIGl0KSB7XFxuICAgICAgICAgICAgc3Ryb2dlW2l0W2l0ZW1dLnRpdGxlXSA9IFxcXCJodHRwOi8vbmV3LXFrLmxpZnZlcy5jb20vXFxcIiArIGl0W2l0ZW1dLmhyZWY7XFxuICAgICAgICB9XFxuICAgIH1cXG4gICAgc2F2ZUZpbGUoJ3N0cm9nZScsIEpTT04uc3RyaW5naWZ5KHN0cm9nZSkpO1xcbiAgICBsZXQgc3RhciA9IE9iamVjdC5rZXlzKHN0cm9nZSk7XFxuXFxuICAgIGZvciAobGV0IGl0ZW0gaW4gZGF0YV9saXN0LmRhdGFfbGlzdC5tbCkge1xcbiAgICAgICAgZC5wdXNoKHtcXG4gICAgICAgICAgICB0aXRsZTogJ+KAnOKAnOKAneKAnScgKyAobm93SXRlbSA9PSBpdGVtID8gJ+KWvCAnIDogJ+KWtiAnKSArICc8c3Ryb25nPicgKyBpdGVtICsgJzwvc3Ryb25nPicsXFxuICAgICAgICAgICAgY29sX3R5cGU6ICd0ZXh0XzEnLFxcbiAgICAgICAgICAgIHVybDogJCgnaGlrZXI6Ly9lbXB0eSNub0xvYWRpbmQjJykubGF6eVJ1bGUoKGl0ZW0pID0+IHtcXG4gICAgICAgICAgICAgICAgaWYgKGdldFZhcignaXRlbScsICcnKSA9PSBpdGVtKSB7XFxuICAgICAgICAgICAgICAgICAgICBjbGVhclZhcignaXRlbScpO1xcbiAgICAgICAgICAgICAgICAgICAgcmVmcmVzaFBhZ2UoZmFsc2UpO1xcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICd0b2FzdDovL+W3suaUtui1tyAnICsgaXRlbTtcXG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcXG4gICAgICAgICAgICAgICAgICAgIHB1dFZhcignaXRlbScsIGl0ZW0pO1xcbiAgICAgICAgICAgICAgICAgICAgcmVmcmVzaFBhZ2UoZmFsc2UpO1xcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICd0b2FzdDovL+W3suWxleW8gCAnICsgaXRlbTtcXG4gICAgICAgICAgICAgICAgfVxcbiAgICAgICAgICAgIH0sIGl0ZW0pLFxcbiAgICAgICAgICAgIGV4dHJhOiB7XFxuICAgICAgICAgICAgICAgIGxpbmVWaXNpYmxlOiBmYWxzZVxcbiAgICAgICAgICAgIH1cXG4gICAgICAgIH0pXFxuXFxuICAgICAgICBpZiAobm93SXRlbSAmJiBub3dJdGVtID09IGl0ZW0pIHtcXG4gICAgICAgICAgICBkYXRhX2xpc3QuZGF0YV9saXN0Lm1sW25vd0l0ZW1dLmZvckVhY2goZSA9PiB7XFxuICAgICAgICAgICAgICAgIGxldCBpbmRleCA9IHN0YXIuaW5kZXhPZihlLnRpdGxlKTtcXG4gICAgICAgICAgICAgICAgZC5wdXNoKHtcXG4gICAgICAgICAgICAgICAgICAgIHRpdGxlOiAn4oCc4oCc4oCd4oCdPHNtYWxsPicgKyBlLnRpdGxlICsgJzwvc21hbGw+JyxcXG4gICAgICAgICAgICAgICAgICAgIGRlc2M6ICfigJzigJzigJ3igJ08c21hbGw+JyArIGUuaW50cm8gKyAnPC9zbWFsbD4nLFxcbiAgICAgICAgICAgICAgICAgICAgY29sX3R5cGU6ICd0ZXh0XzEnLFxcbiAgICAgICAgICAgICAgICAgICAgdXJsOiAnaGlrZXI6Ly9wYWdlL3RleHQnICsgZnVsbFRoZW1lICsgJz90aXRsZT0nICsgZS50aXRsZSArICcmaW5kZXg9JyArIGluZGV4LFxcbiAgICAgICAgICAgICAgICAgICAgZXh0cmE6IHtcXG4gICAgICAgICAgICAgICAgICAgICAgICBocmVmOiBcXFwiaHR0cDovL25ldy1xay5saWZ2ZXMuY29tL1xcXCIgKyBlLmhyZWZcXG4gICAgICAgICAgICAgICAgICAgIH1cXG4gICAgICAgICAgICAgICAgfSlcXG4gICAgICAgICAgICB9KVxcbiAgICAgICAgfVxcbiAgICB9XFxufVxcbnNldFJlc3VsdChkKTtcIn0se1wiY29sX3R5cGVcIjpcIm1vdmllXzNcIixcIm5hbWVcIjpcIuiuvue9rlwiLFwicGF0aFwiOlwic2V0dGluZ1wiLFwicnVsZVwiOlwianM6XFxubGV0IGQgPSBbXTtcXG5sZXQgZm9udHNpemUgPSBwYXJzZUludChnZXRJdGVtKCdmb250c2l6ZScsIFN0cmluZygxNSkpKTtcXG5sZXQgaW5kZW50ID0gcGFyc2VJbnQoZ2V0SXRlbSgnaW5kZW50JywgU3RyaW5nKDcpKSk7XFxubGV0IGluZGVudHMgPSAnJztcXG5mb3IgKGxldCBpID0gMDsgaSA8IGluZGVudDsgaSsrKSB7XFxuICAgIGluZGVudHMgKz0gJyZuYnNwOyc7XFxufVxcbmxldCBmdWxsVGhlbWUgPSBnZXRJdGVtKCdmdWxsVGhlbWUnLCAndHJ1ZScpO1xcbmxldCBjbGljayA9IGdldEl0ZW0oJ2NsaWNrJywgJ3RydWUnKTtcXG5cXG5kLnB1c2goe1xcbiAgICB0aXRsZTogJ+WFqOWxj+aooeW8jycgKyAoZnVsbFRoZW1lID09ICd0cnVlJyA/ICfinJQnIDogJ+KcmCcpLFxcbiAgICBjb2xfdHlwZTogJ3RleHRfMicsXFxuICAgIHVybDogJCgnaGlrZXI6Ly9lbXB0eSNub0xvYWRpbmcjJykubGF6eVJ1bGUoKGkpID0+IHtcXG4gICAgICAgIHNldEl0ZW0oJ2Z1bGxUaGVtZScsIGkgPT0gJ3RydWUnID8gJ2ZhbHNlJyA6ICd0cnVlJyk7XFxuICAgICAgICByZWZyZXNoUGFnZSgpO1xcbiAgICAgICAgcmV0dXJuICdoaWtlcjovL2VtcHR5JztcXG4gICAgfSwgZnVsbFRoZW1lKVxcbn0pXFxuZC5wdXNoKHtcXG4gICAgdGl0bGU6ICfngrnlh7vnv7vpobUnICsgKGNsaWNrID09ICd0cnVlJyA/ICfinJQnIDogJ+KcmCcpLFxcbiAgICBjb2xfdHlwZTogJ3RleHRfMicsXFxuICAgIHVybDogJCgnaGlrZXI6Ly9lbXB0eSNub0xvYWRpbmcjJykubGF6eVJ1bGUoKGkpID0+IHtcXG4gICAgICAgIHNldEl0ZW0oJ2NsaWNrJywgaSA9PSAndHJ1ZScgPyAnZmFsc2UnIDogJ3RydWUnKTtcXG4gICAgICAgIHJlZnJlc2hQYWdlKCk7XFxuICAgICAgICByZXR1cm4gJ2hpa2VyOi8vZW1wdHknO1xcbiAgICB9LCBjbGljaylcXG59KVxcblxcbmQucHVzaCh7XFxuICAgIHRpdGxlOiAn6LCD5pW05a2X5Y+3Jy5iaWcoKS5ib2xkKCksXFxuICAgIGNvbF90eXBlOiAncmljaF90ZXh0J1xcbn0pXFxuZC5wdXNoKHtcXG4gICAgdGl0bGU6ICflrZflj7finpUnLFxcbiAgICBjb2xfdHlwZTogJ2ZsZXhfYnV0dG9uJyxcXG4gICAgdXJsOiAkKFxcXCJoaWtlcjovL2VtcHR5I25vTG9hZGluZyNcXFwiKS5sYXp5UnVsZSgocykgPT4ge1xcbiAgICAgICAgc2V0SXRlbSgnZm9udHNpemUnLCBTdHJpbmcocyArIDEpKTtcXG4gICAgICAgIHJlZnJlc2hQYWdlKGZhbHNlKTtcXG4gICAgICAgIHJldHVybiBcXFwiaGlrZXI6Ly9lbXB0eVxcXCJcXG4gICAgfSwgZm9udHNpemUpXFxufSwge1xcbiAgICB0aXRsZTogJ+Wtl+WPt+KelicsXFxuICAgIGNvbF90eXBlOiAnZmxleF9idXR0b24nLFxcbiAgICB1cmw6ICQoXFxcImhpa2VyOi8vZW1wdHkjbm9Mb2FkaW5nI1xcXCIpLmxhenlSdWxlKChzKSA9PiB7XFxuICAgICAgICBzZXRJdGVtKCdmb250c2l6ZScsIFN0cmluZyhzIC0gMSkpO1xcbiAgICAgICAgcmVmcmVzaFBhZ2UoZmFsc2UpO1xcbiAgICAgICAgcmV0dXJuIFxcXCJoaWtlcjovL2VtcHR5XFxcIlxcbiAgICB9LCBmb250c2l6ZSlcXG59KVxcblxcbmQucHVzaCh7XFxuICAgIGNvbF90eXBlOiAnbGluZSdcXG59KVxcblxcbmQucHVzaCh7XFxuICAgIHRpdGxlOiAn6LCD5pW057yp6L+bJy5iaWcoKS5ib2xkKCksXFxuICAgIGNvbF90eXBlOiAncmljaF90ZXh0J1xcbn0pXFxuZC5wdXNoKHtcXG4gICAgdGl0bGU6ICfnvKnov5vinpUnLFxcbiAgICBjb2xfdHlwZTogJ2ZsZXhfYnV0dG9uJyxcXG4gICAgdXJsOiAkKFxcXCJoaWtlcjovL2VtcHR5I25vTG9hZGluZyNcXFwiKS5sYXp5UnVsZSgocykgPT4ge1xcbiAgICAgICAgc2V0SXRlbSgnaW5kZW50JywgU3RyaW5nKHMgKyAxKSk7XFxuICAgICAgICByZWZyZXNoUGFnZShmYWxzZSk7XFxuICAgICAgICByZXR1cm4gXFxcImhpa2VyOi8vZW1wdHlcXFwiXFxuICAgIH0sIGluZGVudClcXG59LCB7XFxuICAgIHRpdGxlOiAn57yp6L+b4p6WJyxcXG4gICAgY29sX3R5cGU6ICdmbGV4X2J1dHRvbicsXFxuICAgIHVybDogJChcXFwiaGlrZXI6Ly9lbXB0eSNub0xvYWRpbmcjXFxcIikubGF6eVJ1bGUoKHMpID0+IHtcXG4gICAgICAgIHNldEl0ZW0oJ2luZGVudCcsIFN0cmluZyhzIC0gMSkpO1xcbiAgICAgICAgcmVmcmVzaFBhZ2UoZmFsc2UpO1xcbiAgICAgICAgcmV0dXJuIFxcXCJoaWtlcjovL2VtcHR5XFxcIlxcbiAgICB9LCBpbmRlbnQpXFxufSlcXG5cXG5kLnB1c2goe1xcbiAgICBjb2xfdHlwZTogJ2xpbmUnXFxufSlcXG5cXG5kLnB1c2goe1xcbiAgICB0aXRsZTogJ+mihOiniCcuYmlnKCkgKyAnKOWtl+WPtzonICsgZm9udHNpemUgKyAnLOe8qei/mzonICsgaW5kZW50ICsgJyknLFxcbiAgICBjb2xfdHlwZTogJ3JpY2hfdGV4dCdcXG59LCB7XFxuICAgIHRpdGxlOiAnPHA+5bCP5qOJ6KKE5biF5ZCXPzwvcD48cD7lsI/mo4noooTmgI7kuYjov5nkuYjluIXvvJ88L3A+PHA+5bCP5qOJ6KKE55yf5piv6LaF6LaF6LaF6LaF6LaF6LaF6LaF6LaF57qn5biFISEhIeW4heeCuOS6huWlveS4jeWlve+8n+S4vuS4luminOaXoOWPjCEhISE8L3A+Jy5yZXBsYWNlKC9cXFxcPHBcXFxcPi9nLCAnPHA+JyArIGluZGVudHMpLFxcbiAgICBjb2xfdHlwZTogJ3JpY2hfdGV4dCcsXFxuICAgIGV4dHJhOiB7XFxuICAgICAgICB0ZXh0U2l6ZTogZm9udHNpemVcXG4gICAgfVxcbn0pXFxuc2V0UmVzdWx0KGQpO1wifSx7XCJjb2xfdHlwZVwiOlwibW92aWVfM1wiLFwibmFtZVwiOlwi5paH56ugXCIsXCJwYXRoXCI6XCJ0ZXh0XCIsXCJydWxlXCI6XCJqczpcXG5hZGRMaXN0ZW5lcignb25DbG9zZScsICQudG9TdHJpbmcoKCkgPT4ge1xcbiAgICBjbGVhclZhcigndGV4dGhyZWYnKTtcXG4gICAgY2xlYXJWYXIoJ3RleHR0aXRsZScpO1xcbiAgICBjbGVhclZhcigndGV4dGluZGV4Jyk7XFxufSkpO1xcbmxldCBmb250c2l6ZSA9IHBhcnNlSW50KGdldEl0ZW0oJ2ZvbnRzaXplJywgU3RyaW5nKDE1KSkpO1xcbmxldCBpbmRlbnQgPSBwYXJzZUludChnZXRJdGVtKCdpbmRlbnQnLCBTdHJpbmcoNykpKTtcXG5sZXQgaW5kZW50cyA9ICcnO1xcbmZvciAobGV0IGkgPSAwOyBpIDwgaW5kZW50OyBpKyspIHtcXG4gICAgaW5kZW50cyArPSAnJm5ic3A7JztcXG59XFxubGV0IGZ1bGxUaGVtZSA9IGdldEl0ZW0oJ2Z1bGxUaGVtZScsICd0cnVlJykgPT0gJ3RydWUnID8gJyNmdWxsVGhlbWUjJyA6ICcnO1xcbmxldCBjbGljayA9ICEhKGdldEl0ZW0oJ2NsaWNrJywgJ3RydWUnKSA9PSAndHJ1ZScpO1xcbmxldCBzdHJvZ2UgPSBKU09OLnBhcnNlKHJlYWRGaWxlKCdzdHJvZ2UnKSk7XFxubGV0IHN0YXIgPSBPYmplY3Qua2V5cyhzdHJvZ2UpO1xcblxcbmxldCBocmVmID0gZ2V0VmFyKCd0ZXh0aHJlZicsICcnKSB8fCBNWV9QQVJBTVMuaHJlZixcXG4gICAgdGl0bGUgPSBnZXRWYXIoJ3RleHR0aXRsZScpIHx8IGdldFBhcmFtKCd0aXRsZScpLFxcbiAgICBpbmRleCA9IHBhcnNlSW50KGdldFZhcigndGV4dGluZGV4JykgfHwgZ2V0UGFyYW0oJ2luZGV4JykpO1xcblxcbmxldCBodG1sID0gcmVxdWVzdChocmVmLCB7fSk7XFxubGV0IHRleHQgPSBwYXJzZURvbShodG1sLCAnLnRleHQmJkh0bWwnKTtcXG5sZXQgYXV0aG9yID0gcGFyc2VEb21Gb3JIdG1sKGh0bWwsICcuYXV0aG9yJiZUZXh0Jyk7XFxubGV0IGQgPSBbXTtcXG5kLnB1c2goe1xcbiAgICB0aXRsZTogJ+KAnOKAnOKAneKAnTxoMj4nICsgdGl0bGUgKyAnPC9oMj4nICsgJzxzbWFsbD48Zm9udCBjb2xvcj1ncmV5PicgKyBhdXRob3IgKyAnPC9mb250PiA8L3NtYWxsPicsXFxuICAgIGNvbF90eXBlOiAndGV4dF9jZW50ZXJfMScsXFxuICAgIHVybDogaHJlZixcXG4gICAgZXh0cmE6IHtcXG4gICAgICAgIGxpbmVWaXNpYmxlOiBmYWxzZVxcbiAgICB9XFxufSwge1xcbiAgICB0aXRsZTogdGV4dC5yZXBsYWNlKC9cXFxcPlthLXpBLVowLTkrPVxcXFwvXSpcXFxcPC9nLCAnPjwnKS5yZXBsYWNlKC9cXFxcPHBcXFxcPi9nLCAnPHA+JyArIGluZGVudHMpLFxcbiAgICBjb2xfdHlwZTogJ3JpY2hfdGV4dCcsXFxuICAgIGV4dHJhOiB7XFxuICAgICAgICB0ZXh0U2l6ZTogcGFyc2VJbnQoZ2V0SXRlbSgnZm9udHNpemUnLCBTdHJpbmcoMTUpKSksXFxuICAgICAgICBjbGljazogY2xpY2tcXG4gICAgfVxcbn0pXFxuaWYgKGluZGV4ICE9IDApIHtcXG4gICAgbGV0IHRpdGxlID0gc3RhcltpbmRleCAtIDFdO1xcbiAgICBsZXQgaHJlZiA9IHN0cm9nZVt0aXRsZV07XFxuICAgIGQucHVzaCh7XFxuICAgICAgICB0aXRsZTogJ+S4iuS4gOevhzonICsgdGl0bGUsXFxuICAgICAgICBjb2xfdHlwZTogJ3RleHRfY2VudGVyXzEnLFxcbiAgICAgICAgdXJsOiAkKCdoaWtlcjovL2VtcHR5I25vTG9hZGluZyMnKS5sYXp5UnVsZSgoaHJlZiwgdGl0bGUsIGluZGV4KSA9PiB7XFxuICAgICAgICAgICAgcHV0VmFyKCd0ZXh0aHJlZicsIGhyZWYpO1xcbiAgICAgICAgICAgIHB1dFZhcigndGV4dHRpdGxlJywgdGl0bGUpO1xcbiAgICAgICAgICAgIHB1dFZhcigndGV4dGluZGV4JywgU3RyaW5nKGluZGV4IC0gMSkpO1xcbiAgICAgICAgICAgIHJlZnJlc2hQYWdlKCk7XFxuICAgICAgICAgICAgcmV0dXJuICdoaWtlcjovL2VtcHR5J1xcbiAgICAgICAgfSwgaHJlZiwgdGl0bGUsIGluZGV4KSwgLy8naGlrZXI6Ly9wYWdlL3RleHQnICsgZnVsbFRoZW1lICsgJz90aXRsZT0nICsgdGl0bGUgKyAnJmluZGV4PScgKyAoaW5kZXggLSAxKSxcXG4gICAgICAgIGV4dHJhOiB7XFxuICAgICAgICAgICAgaHJlZjogaHJlZixcXG4gICAgICAgICAgICBsaW5lVmlzaWJsZTogZmFsc2VcXG4gICAgICAgIH1cXG4gICAgfSlcXG59XFxuaWYgKGluZGV4ICE9IHN0YXIuaW5kZXgpIHtcXG4gICAgbGV0IHRpdGxlID0gc3RhcltpbmRleCArIDFdO1xcbiAgICBsZXQgaHJlZiA9IHN0cm9nZVt0aXRsZV07XFxuICAgIGQucHVzaCh7XFxuICAgICAgICB0aXRsZTogJ+S4i+S4gOevhzonICsgdGl0bGUsXFxuICAgICAgICBjb2xfdHlwZTogJ3RleHRfY2VudGVyXzEnLFxcbiAgICAgICAgdXJsOiAkKCdoaWtlcjovL2VtcHR5I25vTG9hZGluZyMnKS5sYXp5UnVsZSgoaHJlZiwgdGl0bGUsIGluZGV4KSA9PiB7XFxuICAgICAgICAgICAgcHV0VmFyKCd0ZXh0aHJlZicsIGhyZWYpO1xcbiAgICAgICAgICAgIHB1dFZhcigndGV4dHRpdGxlJywgdGl0bGUpO1xcbiAgICAgICAgICAgIHB1dFZhcigndGV4dGluZGV4JywgU3RyaW5nKGluZGV4ICsgMSkpO1xcbiAgICAgICAgICAgIHJlZnJlc2hQYWdlKCk7XFxuICAgICAgICAgICAgcmV0dXJuICdoaWtlcjovL2VtcHR5J1xcbiAgICAgICAgfSwgaHJlZiwgdGl0bGUsIGluZGV4KSwgLy8gJ2hpa2VyOi8vcGFnZS90ZXh0JyArIGZ1bGxUaGVtZSArICc/dGl0bGU9JyArIHRpdGxlICsgJyZpbmRleD0nICsgKGluZGV4ICsgMSksXFxuICAgICAgICBleHRyYToge1xcbiAgICAgICAgICAgIGhyZWY6IGhyZWYsXFxuICAgICAgICAgICAgbGluZVZpc2libGU6IGZhbHNlXFxuICAgICAgICB9XFxuICAgIH0pXFxufVxcbmZvciAobGV0IGkgPSAwOyBpIDwgMTA7IGkrKykge1xcbiAgICBkLnB1c2goe1xcbiAgICAgICAgY29sX3R5cGU6ICdibGFua19ibG9jaydcXG4gICAgfSlcXG59XFxuc2V0UmVzdWx0KGQpO1wifV0sXCJzYXZlZFwiOmZhbHNlLFwidGl0bGVcIjpcIuacn+WIiuadguW/l+KZolwiLFwidmVyc2lvblwiOjAsXCJ1cmxcIjpcImhpa2VyOi8vZW1wdHlcIixcImNvbF90eXBlXCI6XCJ4NV93ZWJ2aWV3X3NpbmdsZVwiLFwiZmluZF9ydWxlXCI6XCJqczpzZXRSZXN1bHQoW3tcXG4gICAgdXJsOlxcXCJodHRwOi8vcWsubGlmdmVzLmNvbS9tYWdhemluZS5waHA/cz3miqXnurgma2V5PTMyMDcwMDAwMTI1NFxcXCIsXFxuZGVzYzpcXFwiMTAwJSYmZmxvYXRcXFwiLFxcbmV4dHJhOntjYW5CYWNrOiB0cnVlfVxcbn1dKTtcIixcImdyb3VwXCI6XCLikaDmjqjojZBcIixcInBhZ2VzXCI6XCJbe1xcXCJjb2xfdHlwZVxcXCI6XFxcIm1vdmllXzNcXFwiLFxcXCJuYW1lXFxcIjpcXFwi5pyf5YiK5YiG5pyf5YiX6KGoXFxcIixcXFwicGF0aFxcXCI6XFxcInFrXFxcIixcXFwicnVsZVxcXCI6XFxcImpzOlxcXFxuYWRkTGlzdGVuZXIoJ29uQ2xvc2UnLCAnY2xlYXJWYXIoXFxcXFxcXCJ5ZWFyXFxcXFxcXCIpJyk7XFxcXG5cXFxcbmxldCBkID0gW107XFxcXG5sZXQgdXJsID0gTVlfUEFSQU1TLmhyZWYsXFxcXG4gICAgbmFtZSA9IGdldFBhcmFtKCduYW1lJyksXFxcXG4gICAgaW1nID0gZ2V0UGFyYW0oJ2ltZycpO1xcXFxubGV0IGNvbGxlY3Rpb24gPSBKU09OLnBhcnNlKHJlYWRGaWxlKCdjb2xsZWN0aW9uJykgfHwgJ3t9Jyk7XFxcXG5sZXQgaXNDb2xsZWN0ZWQgPSAhIShjb2xsZWN0aW9uW25hbWVdICYmIGNvbGxlY3Rpb25bbmFtZV0udXJsID09IHVybCk7XFxcXG5kLnB1c2goe1xcXFxuICAgIHRpdGxlOiBpc0NvbGxlY3RlZCA/ICfimaXlt7LmlLbol48nIDogJ+KZoea3u+WKoOaUtuiXjycsXFxcXG4gICAgdXJsOiAkKCkubGF6eVJ1bGUoKGlzLCB1cmwsIG5hbWUsIGltZykgPT4ge1xcXFxuICAgICAgICBsZXQgY29sbGVjdGlvbiA9IEpTT04ucGFyc2UocmVhZEZpbGUoJ2NvbGxlY3Rpb24nKSB8fCAne30nKTtcXFxcbiAgICAgICAgaWYgKGlzKSB7XFxcXG4gICAgICAgICAgICBkZWxldGUgY29sbGVjdGlvbltuYW1lXTtcXFxcbiAgICAgICAgICAgIHNhdmVGaWxlKCdjb2xsZWN0aW9uJywgSlNPTi5zdHJpbmdpZnkoY29sbGVjdGlvbikpO1xcXFxuICAgICAgICAgICAgcmVmcmVzaFBhZ2UoKTtcXFxcbiAgICAgICAgICAgIHJldHVybiAndG9hc3Q6Ly/lt7Llj5bmtojmlLbol48nXFxcXG4gICAgICAgIH0gZWxzZSB7XFxcXG4gICAgICAgICAgICBjb2xsZWN0aW9uW25hbWVdID0ge1xcXFxuICAgICAgICAgICAgICAgIHVybDogdXJsLFxcXFxuICAgICAgICAgICAgICAgIGltZzogaW1nXFxcXG4gICAgICAgICAgICB9O1xcXFxuICAgICAgICAgICAgc2F2ZUZpbGUoJ2NvbGxlY3Rpb24nLCBKU09OLnN0cmluZ2lmeShjb2xsZWN0aW9uKSk7XFxcXG4gICAgICAgICAgICByZWZyZXNoUGFnZSgpO1xcXFxuICAgICAgICAgICAgcmV0dXJuICd0b2FzdDovL+W3sua3u+WKoOaUtuiXjydcXFxcbiAgICAgICAgfVxcXFxuICAgIH0sIGlzQ29sbGVjdGVkLCB1cmwsIG5hbWUsIGltZyksXFxcXG4gICAgY29sX3R5cGU6IFxcXFxcXFwic2Nyb2xsX2J1dHRvblxcXFxcXFwiLFxcXFxufSk7XFxcXG5cXFxcbmV2YWwocGFyc2VEb21Gb3JIdG1sKHJlcXVlc3QodXJsKSwgXFxcXFxcXCJib2R5JiZzY3JpcHQsMiYmSHRtbFxcXFxcXFwiKSk7XFxcXG5sZXQgaXRlbXMgPSB7fTtcXFxcbmxldCBub3cgPSBnZXRWYXIoJ3llYXInLCBTdHJpbmcoZGF0YV9saXN0LmRhdGFfbGlzdFswXS55ZWFyKSk7XFxcXG5mb3IgKGxldCBsaXN0IG9mIGRhdGFfbGlzdC5kYXRhX2xpc3QpIHtcXFxcbiAgICBpZiAobm93ID09IGxpc3QueWVhcikgaXRlbXMgPSBsaXN0Lmxpc3Q7XFxcXG4gICAgZC5wdXNoKHtcXFxcbiAgICAgICAgdGl0bGU6ICfigJzigJzigJ3igJ0nICsgKGxpc3QueWVhciA9PSBub3cgPyAnPGZvbnQgY29sb3I9cmVkPicgKyBsaXN0LnllYXIgKyAnPC9mb250PicgOiBsaXN0LnllYXIpLFxcXFxuICAgICAgICBjb2xfdHlwZTogJ3Njcm9sbF9idXR0b24nLFxcXFxuICAgICAgICB1cmw6ICQoKS5sYXp5UnVsZSgoeWVhcikgPT4ge1xcXFxuICAgICAgICAgICAgcHV0VmFyKCd5ZWFyJywgU3RyaW5nKHllYXIpKTtcXFxcbiAgICAgICAgICAgIHJlZnJlc2hQYWdlKCk7XFxcXG4gICAgICAgICAgICByZXR1cm4gJ2hpa2VyOi8vZW1wdHknXFxcXG4gICAgICAgIH0sIGxpc3QueWVhcilcXFxcbiAgICB9KTtcXFxcbn1cXFxcbmZvciAobGV0IGl0ZW0gb2YgaXRlbXMpIHtcXFxcbiAgICBkLnB1c2goe1xcXFxuICAgICAgICB0aXRsZTogaXRlbS5zcGFuLFxcXFxuICAgICAgICB1cmw6ICdoaWtlcjovL3BhZ2UvcWtxayNpbW1lcnNpdmVUaGVtZSMnLFxcXFxuICAgICAgICBpbWc6IGl0ZW0uaW1nLFxcXFxuICAgICAgICBleHRyYTp7XFxcXG4gICAgICAgICAgICBocmVmOlxcXFxcXFwiaHR0cDovL25ldy1xay5saWZ2ZXMuY29tL1xcXFxcXFwiICsgaXRlbS5ocmVmXFxcXG4gICAgICAgIH1cXFxcbiAgICB9KTtcXFxcbn1cXFxcbnNldFJlc3VsdChkKTtcXFwifSx7XFxcImNvbF90eXBlXFxcIjpcXFwibW92aWVfM1xcXCIsXFxcIm5hbWVcXFwiOlxcXCLmnJ/liIrnm67lvZVcXFwiLFxcXCJwYXRoXFxcIjpcXFwicWtxa1xcXCIsXFxcInJ1bGVcXFwiOlxcXCJqczpcXFxcbmFkZExpc3RlbmVyKCdvbkNsb3NlJywgJC50b1N0cmluZygoKSA9PiB7XFxcXG4gICAgY2xlYXJWYXIoJ2l0ZW0nKTtcXFxcbiAgICBkZWxldGVGaWxlKCdzdHJvZ2UnKTtcXFxcbn0pKTtcXFxcbmxldCBmdWxsVGhlbWUgPSBnZXRJdGVtKCdmdWxsVGhlbWUnLCAndHJ1ZScpID09ICd0cnVlJyA/ICcjZnVsbFRoZW1lIycgOiAnJztcXFxcbmxldCBub3dJdGVtID0gZ2V0VmFyKCdpdGVtJywgJycpO1xcXFxuXFxcXG5sZXQgdXJsID0gTVlfUEFSQU1TLmhyZWY7XFxcXG5cXFxcbmV2YWwocGFyc2VEb21Gb3JIdG1sKHJlcXVlc3QodXJsKSwgXFxcXFxcXCJib2R5JiZzY3JpcHQsMiYmSHRtbFxcXFxcXFwiKS5tYXRjaCgvbGV0XFxcXFxcXFxzKmRhdGFfbGlzdC4qSlNPTlxcXFxcXFxcLnBhcnNlXFxcXFxcXFwoLipcXFxcXFxcXCkvKVswXSk7XFxcXG5sZXQgZCA9IFtdO1xcXFxuaWYgKGRhdGFfbGlzdC5kYXRhX2xpc3QubGVuZ3RoID09IDApIHtcXFxcbiAgICBkLnB1c2goe1xcXFxuICAgICAgICB0aXRsZTogJ+ayoeacieWGheWuueWRpizkuI3kv6HngrnmiJHljrvnvZHpobXnnIvnnIsnLFxcXFxuICAgICAgICBjb2xfdHlwZTogJ21vdmllXzFfdmVydGljYWxfcGljX2JsdXInLFxcXFxuICAgICAgICB1cmw6IHVybFxcXFxuICAgIH0pXFxcXG59IGVsc2Uge1xcXFxuICAgIGQucHVzaCh7XFxcXG4gICAgICAgIHRpdGxlOiBkYXRhX2xpc3QuZGF0YV9saXN0LmludHJvLnRpdGxlLFxcXFxuICAgICAgICBkZXNjOiBkYXRhX2xpc3QuZGF0YV9saXN0LmludHJvLmludHJvLFxcXFxuICAgICAgICBpbWc6IGRhdGFfbGlzdC5kYXRhX2xpc3QuaW50cm8uaW1nLFxcXFxuICAgICAgICBjb2xfdHlwZTogJ21vdmllXzFfdmVydGljYWxfcGljX2JsdXInLFxcXFxuICAgICAgICB1cmw6IHVybFxcXFxuICAgIH0pXFxcXG4gICAgZC5wdXNoKHtcXFxcbiAgICAgICAgdGl0bGU6ICfnm67lvZUnLmJpZygpLmJvbGQoKSxcXFxcbiAgICAgICAgY29sX3R5cGU6ICdyaWNoX3RleHQnXFxcXG4gICAgfSlcXFxcblxcXFxuXFxcXG4gICAgbGV0IHN0cm9nZSA9IHt9O1xcXFxuICAgIGZvciAobGV0IGkgaW4gZGF0YV9saXN0LmRhdGFfbGlzdC5tbCkge1xcXFxuICAgICAgICBsZXQgaXQgPSBkYXRhX2xpc3QuZGF0YV9saXN0Lm1sW2ldO1xcXFxuICAgICAgICBmb3IgKGxldCBpdGVtIGluIGl0KSB7XFxcXG4gICAgICAgICAgICBzdHJvZ2VbaXRbaXRlbV0udGl0bGVdID0gXFxcXFxcXCJodHRwOi8vbmV3LXFrLmxpZnZlcy5jb20vXFxcXFxcXCIgKyBpdFtpdGVtXS5ocmVmO1xcXFxuICAgICAgICB9XFxcXG4gICAgfVxcXFxuICAgIHNhdmVGaWxlKCdzdHJvZ2UnLCBKU09OLnN0cmluZ2lmeShzdHJvZ2UpKTtcXFxcbiAgICBsZXQgc3RhciA9IE9iamVjdC5rZXlzKHN0cm9nZSk7XFxcXG5cXFxcbiAgICBmb3IgKGxldCBpdGVtIGluIGRhdGFfbGlzdC5kYXRhX2xpc3QubWwpIHtcXFxcbiAgICAgICAgZC5wdXNoKHtcXFxcbiAgICAgICAgICAgIHRpdGxlOiAn4oCc4oCc4oCd4oCdJyArIChub3dJdGVtID09IGl0ZW0gPyAn4pa8ICcgOiAn4pa2ICcpICsgJzxzdHJvbmc+JyArIGl0ZW0gKyAnPC9zdHJvbmc+JyxcXFxcbiAgICAgICAgICAgIGNvbF90eXBlOiAndGV4dF8xJyxcXFxcbiAgICAgICAgICAgIHVybDogJCgnaGlrZXI6Ly9lbXB0eSNub0xvYWRpbmQjJykubGF6eVJ1bGUoKGl0ZW0pID0+IHtcXFxcbiAgICAgICAgICAgICAgICBpZiAoZ2V0VmFyKCdpdGVtJywgJycpID09IGl0ZW0pIHtcXFxcbiAgICAgICAgICAgICAgICAgICAgY2xlYXJWYXIoJ2l0ZW0nKTtcXFxcbiAgICAgICAgICAgICAgICAgICAgcmVmcmVzaFBhZ2UoZmFsc2UpO1xcXFxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gJ3RvYXN0Oi8v5bey5pS26LW3ICcgKyBpdGVtO1xcXFxuICAgICAgICAgICAgICAgIH0gZWxzZSB7XFxcXG4gICAgICAgICAgICAgICAgICAgIHB1dFZhcignaXRlbScsIGl0ZW0pO1xcXFxuICAgICAgICAgICAgICAgICAgICByZWZyZXNoUGFnZShmYWxzZSk7XFxcXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiAndG9hc3Q6Ly/lt7LlsZXlvIAgJyArIGl0ZW07XFxcXG4gICAgICAgICAgICAgICAgfVxcXFxuICAgICAgICAgICAgfSwgaXRlbSksXFxcXG4gICAgICAgICAgICBleHRyYToge1xcXFxuICAgICAgICAgICAgICAgIGxpbmVWaXNpYmxlOiBmYWxzZVxcXFxuICAgICAgICAgICAgfVxcXFxuICAgICAgICB9KVxcXFxuXFxcXG4gICAgICAgIGlmIChub3dJdGVtICYmIG5vd0l0ZW0gPT0gaXRlbSkge1xcXFxuICAgICAgICAgICAgZGF0YV9saXN0LmRhdGFfbGlzdC5tbFtub3dJdGVtXS5mb3JFYWNoKGUgPT4ge1xcXFxuICAgICAgICAgICAgICAgIGxldCBpbmRleCA9IHN0YXIuaW5kZXhPZihlLnRpdGxlKTtcXFxcbiAgICAgICAgICAgICAgICBkLnB1c2goe1xcXFxuICAgICAgICAgICAgICAgICAgICB0aXRsZTogJ+KAnOKAnOKAneKAnTxzbWFsbD4nICsgZS50aXRsZSArICc8L3NtYWxsPicsXFxcXG4gICAgICAgICAgICAgICAgICAgIGRlc2M6ICfigJzigJzigJ3igJ08c21hbGw+JyArIGUuaW50cm8gKyAnPC9zbWFsbD4nLFxcXFxuICAgICAgICAgICAgICAgICAgICBjb2xfdHlwZTogJ3RleHRfMScsXFxcXG4gICAgICAgICAgICAgICAgICAgIHVybDogJ2hpa2VyOi8vcGFnZS90ZXh0JyArIGZ1bGxUaGVtZSArICc/dGl0bGU9JyArIGUudGl0bGUgKyAnJmluZGV4PScgKyBpbmRleCxcXFxcbiAgICAgICAgICAgICAgICAgICAgZXh0cmE6IHtcXFxcbiAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY6IFxcXFxcXFwiaHR0cDovL25ldy1xay5saWZ2ZXMuY29tL1xcXFxcXFwiICsgZS5ocmVmXFxcXG4gICAgICAgICAgICAgICAgICAgIH1cXFxcbiAgICAgICAgICAgICAgICB9KVxcXFxuICAgICAgICAgICAgfSlcXFxcbiAgICAgICAgfVxcXFxuICAgIH1cXFxcbn1cXFxcbnNldFJlc3VsdChkKTtcXFwifSx7XFxcImNvbF90eXBlXFxcIjpcXFwibW92aWVfM1xcXCIsXFxcIm5hbWVcXFwiOlxcXCLorr7nva5cXFwiLFxcXCJwYXRoXFxcIjpcXFwic2V0dGluZ1xcXCIsXFxcInJ1bGVcXFwiOlxcXCJqczpcXFxcbmxldCBkID0gW107XFxcXG5sZXQgZm9udHNpemUgPSBwYXJzZUludChnZXRJdGVtKCdmb250c2l6ZScsIFN0cmluZygxNSkpKTtcXFxcbmxldCBpbmRlbnQgPSBwYXJzZUludChnZXRJdGVtKCdpbmRlbnQnLCBTdHJpbmcoNykpKTtcXFxcbmxldCBpbmRlbnRzID0gJyc7XFxcXG5mb3IgKGxldCBpID0gMDsgaSA8IGluZGVudDsgaSsrKSB7XFxcXG4gICAgaW5kZW50cyArPSAnJm5ic3A7JztcXFxcbn1cXFxcbmxldCBmdWxsVGhlbWUgPSBnZXRJdGVtKCdmdWxsVGhlbWUnLCAndHJ1ZScpO1xcXFxubGV0IGNsaWNrID0gZ2V0SXRlbSgnY2xpY2snLCAndHJ1ZScpO1xcXFxuXFxcXG5kLnB1c2goe1xcXFxuICAgIHRpdGxlOiAn5YWo5bGP5qih5byPJyArIChmdWxsVGhlbWUgPT0gJ3RydWUnID8gJ+KclCcgOiAn4pyYJyksXFxcXG4gICAgY29sX3R5cGU6ICd0ZXh0XzInLFxcXFxuICAgIHVybDogJCgnaGlrZXI6Ly9lbXB0eSNub0xvYWRpbmcjJykubGF6eVJ1bGUoKGkpID0+IHtcXFxcbiAgICAgICAgc2V0SXRlbSgnZnVsbFRoZW1lJywgaSA9PSAndHJ1ZScgPyAnZmFsc2UnIDogJ3RydWUnKTtcXFxcbiAgICAgICAgcmVmcmVzaFBhZ2UoKTtcXFxcbiAgICAgICAgcmV0dXJuICdoaWtlcjovL2VtcHR5JztcXFxcbiAgICB9LCBmdWxsVGhlbWUpXFxcXG59KVxcXFxuZC5wdXNoKHtcXFxcbiAgICB0aXRsZTogJ+eCueWHu+e/u+mhtScgKyAoY2xpY2sgPT0gJ3RydWUnID8gJ+KclCcgOiAn4pyYJyksXFxcXG4gICAgY29sX3R5cGU6ICd0ZXh0XzInLFxcXFxuICAgIHVybDogJCgnaGlrZXI6Ly9lbXB0eSNub0xvYWRpbmcjJykubGF6eVJ1bGUoKGkpID0+IHtcXFxcbiAgICAgICAgc2V0SXRlbSgnY2xpY2snLCBpID09ICd0cnVlJyA/ICdmYWxzZScgOiAndHJ1ZScpO1xcXFxuICAgICAgICByZWZyZXNoUGFnZSgpO1xcXFxuICAgICAgICByZXR1cm4gJ2hpa2VyOi8vZW1wdHknO1xcXFxuICAgIH0sIGNsaWNrKVxcXFxufSlcXFxcblxcXFxuZC5wdXNoKHtcXFxcbiAgICB0aXRsZTogJ+iwg+aVtOWtl+WPtycuYmlnKCkuYm9sZCgpLFxcXFxuICAgIGNvbF90eXBlOiAncmljaF90ZXh0J1xcXFxufSlcXFxcbmQucHVzaCh7XFxcXG4gICAgdGl0bGU6ICflrZflj7finpUnLFxcXFxuICAgIGNvbF90eXBlOiAnZmxleF9idXR0b24nLFxcXFxuICAgIHVybDogJChcXFxcXFxcImhpa2VyOi8vZW1wdHkjbm9Mb2FkaW5nI1xcXFxcXFwiKS5sYXp5UnVsZSgocykgPT4ge1xcXFxuICAgICAgICBzZXRJdGVtKCdmb250c2l6ZScsIFN0cmluZyhzICsgMSkpO1xcXFxuICAgICAgICByZWZyZXNoUGFnZShmYWxzZSk7XFxcXG4gICAgICAgIHJldHVybiBcXFxcXFxcImhpa2VyOi8vZW1wdHlcXFxcXFxcIlxcXFxuICAgIH0sIGZvbnRzaXplKVxcXFxufSwge1xcXFxuICAgIHRpdGxlOiAn5a2X5Y+34p6WJyxcXFxcbiAgICBjb2xfdHlwZTogJ2ZsZXhfYnV0dG9uJyxcXFxcbiAgICB1cmw6ICQoXFxcXFxcXCJoaWtlcjovL2VtcHR5I25vTG9hZGluZyNcXFxcXFxcIikubGF6eVJ1bGUoKHMpID0+IHtcXFxcbiAgICAgICAgc2V0SXRlbSgnZm9udHNpemUnLCBTdHJpbmcocyAtIDEpKTtcXFxcbiAgICAgICAgcmVmcmVzaFBhZ2UoZmFsc2UpO1xcXFxuICAgICAgICByZXR1cm4gXFxcXFxcXCJoaWtlcjovL2VtcHR5XFxcXFxcXCJcXFxcbiAgICB9LCBmb250c2l6ZSlcXFxcbn0pXFxcXG5cXFxcbmQucHVzaCh7XFxcXG4gICAgY29sX3R5cGU6ICdsaW5lJ1xcXFxufSlcXFxcblxcXFxuZC5wdXNoKHtcXFxcbiAgICB0aXRsZTogJ+iwg+aVtOe8qei/mycuYmlnKCkuYm9sZCgpLFxcXFxuICAgIGNvbF90eXBlOiAncmljaF90ZXh0J1xcXFxufSlcXFxcbmQucHVzaCh7XFxcXG4gICAgdGl0bGU6ICfnvKnov5vinpUnLFxcXFxuICAgIGNvbF90eXBlOiAnZmxleF9idXR0b24nLFxcXFxuICAgIHVybDogJChcXFxcXFxcImhpa2VyOi8vZW1wdHkjbm9Mb2FkaW5nI1xcXFxcXFwiKS5sYXp5UnVsZSgocykgPT4ge1xcXFxuICAgICAgICBzZXRJdGVtKCdpbmRlbnQnLCBTdHJpbmcocyArIDEpKTtcXFxcbiAgICAgICAgcmVmcmVzaFBhZ2UoZmFsc2UpO1xcXFxuICAgICAgICByZXR1cm4gXFxcXFxcXCJoaWtlcjovL2VtcHR5XFxcXFxcXCJcXFxcbiAgICB9LCBpbmRlbnQpXFxcXG59LCB7XFxcXG4gICAgdGl0bGU6ICfnvKnov5vinpYnLFxcXFxuICAgIGNvbF90eXBlOiAnZmxleF9idXR0b24nLFxcXFxuICAgIHVybDogJChcXFxcXFxcImhpa2VyOi8vZW1wdHkjbm9Mb2FkaW5nI1xcXFxcXFwiKS5sYXp5UnVsZSgocykgPT4ge1xcXFxuICAgICAgICBzZXRJdGVtKCdpbmRlbnQnLCBTdHJpbmcocyAtIDEpKTtcXFxcbiAgICAgICAgcmVmcmVzaFBhZ2UoZmFsc2UpO1xcXFxuICAgICAgICByZXR1cm4gXFxcXFxcXCJoaWtlcjovL2VtcHR5XFxcXFxcXCJcXFxcbiAgICB9LCBpbmRlbnQpXFxcXG59KVxcXFxuXFxcXG5kLnB1c2goe1xcXFxuICAgIGNvbF90eXBlOiAnbGluZSdcXFxcbn0pXFxcXG5cXFxcbmQucHVzaCh7XFxcXG4gICAgdGl0bGU6ICfpooTop4gnLmJpZygpICsgJyjlrZflj7c6JyArIGZvbnRzaXplICsgJyznvKnov5s6JyArIGluZGVudCArICcpJyxcXFxcbiAgICBjb2xfdHlwZTogJ3JpY2hfdGV4dCdcXFxcbn0sIHtcXFxcbiAgICB0aXRsZTogJzxwPuWwj+ajieiihOW4heWQlz88L3A+PHA+5bCP5qOJ6KKE5oCO5LmI6L+Z5LmI5biF77yfPC9wPjxwPuWwj+ajieiihOecn+aYr+i2hei2hei2hei2hei2hei2hei2hei2hee6p+W4hSEhISHluIXngrjkuoblpb3kuI3lpb3vvJ/kuL7kuJbpopzml6Dlj4whISEhPC9wPicucmVwbGFjZSgvXFxcXFxcXFw8cFxcXFxcXFxcPi9nLCAnPHA+JyArIGluZGVudHMpLFxcXFxuICAgIGNvbF90eXBlOiAncmljaF90ZXh0JyxcXFxcbiAgICBleHRyYToge1xcXFxuICAgICAgICB0ZXh0U2l6ZTogZm9udHNpemVcXFxcbiAgICB9XFxcXG59KVxcXFxuc2V0UmVzdWx0KGQpO1xcXCJ9LHtcXFwiY29sX3R5cGVcXFwiOlxcXCJtb3ZpZV8zXFxcIixcXFwibmFtZVxcXCI6XFxcIuaWh+eroFxcXCIsXFxcInBhdGhcXFwiOlxcXCJ0ZXh0XFxcIixcXFwicnVsZVxcXCI6XFxcImpzOlxcXFxuYWRkTGlzdGVuZXIoJ29uQ2xvc2UnLCAkLnRvU3RyaW5nKCgpID0+IHtcXFxcbiAgICBjbGVhclZhcigndGV4dGhyZWYnKTtcXFxcbiAgICBjbGVhclZhcigndGV4dHRpdGxlJyk7XFxcXG4gICAgY2xlYXJWYXIoJ3RleHRpbmRleCcpO1xcXFxufSkpO1xcXFxubGV0IGZvbnRzaXplID0gcGFyc2VJbnQoZ2V0SXRlbSgnZm9udHNpemUnLCBTdHJpbmcoMTUpKSk7XFxcXG5sZXQgaW5kZW50ID0gcGFyc2VJbnQoZ2V0SXRlbSgnaW5kZW50JywgU3RyaW5nKDcpKSk7XFxcXG5sZXQgaW5kZW50cyA9ICcnO1xcXFxuZm9yIChsZXQgaSA9IDA7IGkgPCBpbmRlbnQ7IGkrKykge1xcXFxuICAgIGluZGVudHMgKz0gJyZuYnNwOyc7XFxcXG59XFxcXG5sZXQgZnVsbFRoZW1lID0gZ2V0SXRlbSgnZnVsbFRoZW1lJywgJ3RydWUnKSA9PSAndHJ1ZScgPyAnI2Z1bGxUaGVtZSMnIDogJyc7XFxcXG5sZXQgY2xpY2sgPSAhIShnZXRJdGVtKCdjbGljaycsICd0cnVlJykgPT0gJ3RydWUnKTtcXFxcbmxldCBzdHJvZ2UgPSBKU09OLnBhcnNlKHJlYWRGaWxlKCdzdHJvZ2UnKSk7XFxcXG5sZXQgc3RhciA9IE9iamVjdC5rZXlzKHN0cm9nZSk7XFxcXG5cXFxcbmxldCBocmVmID0gZ2V0VmFyKCd0ZXh0aHJlZicsICcnKSB8fCBNWV9QQVJBTVMuaHJlZixcXFxcbiAgICB0aXRsZSA9IGdldFZhcigndGV4dHRpdGxlJykgfHwgZ2V0UGFyYW0oJ3RpdGxlJyksXFxcXG4gICAgaW5kZXggPSBwYXJzZUludChnZXRWYXIoJ3RleHRpbmRleCcpIHx8IGdldFBhcmFtKCdpbmRleCcpKTtcXFxcblxcXFxubGV0IGh0bWwgPSByZXF1ZXN0KGhyZWYsIHt9KTtcXFxcbmxldCB0ZXh0ID0gcGFyc2VEb20oaHRtbCwgJy50ZXh0JiZIdG1sJyk7XFxcXG5sZXQgYXV0aG9yID0gcGFyc2VEb21Gb3JIdG1sKGh0bWwsICcuYXV0aG9yJiZUZXh0Jyk7XFxcXG5sZXQgZCA9IFtdO1xcXFxuZC5wdXNoKHtcXFxcbiAgICB0aXRsZTogJ+KAnOKAnOKAneKAnTxoMj4nICsgdGl0bGUgKyAnPC9oMj4nICsgJzxzbWFsbD48Zm9udCBjb2xvcj1ncmV5PicgKyBhdXRob3IgKyAnPC9mb250PiA8L3NtYWxsPicsXFxcXG4gICAgY29sX3R5cGU6ICd0ZXh0X2NlbnRlcl8xJyxcXFxcbiAgICB1cmw6IGhyZWYsXFxcXG4gICAgZXh0cmE6IHtcXFxcbiAgICAgICAgbGluZVZpc2libGU6IGZhbHNlXFxcXG4gICAgfVxcXFxufSwge1xcXFxuICAgIHRpdGxlOiB0ZXh0LnJlcGxhY2UoL1xcXFxcXFxcPlthLXpBLVowLTkrPVxcXFxcXFxcL10qXFxcXFxcXFw8L2csICc+PCcpLnJlcGxhY2UoL1xcXFxcXFxcPHBcXFxcXFxcXD4vZywgJzxwPicgKyBpbmRlbnRzKSxcXFxcbiAgICBjb2xfdHlwZTogJ3JpY2hfdGV4dCcsXFxcXG4gICAgZXh0cmE6IHtcXFxcbiAgICAgICAgdGV4dFNpemU6IHBhcnNlSW50KGdldEl0ZW0oJ2ZvbnRzaXplJywgU3RyaW5nKDE1KSkpLFxcXFxuICAgICAgICBjbGljazogY2xpY2tcXFxcbiAgICB9XFxcXG59KVxcXFxuaWYgKGluZGV4ICE9IDApIHtcXFxcbiAgICBsZXQgdGl0bGUgPSBzdGFyW2luZGV4IC0gMV07XFxcXG4gICAgbGV0IGhyZWYgPSBzdHJvZ2VbdGl0bGVdO1xcXFxuICAgIGQucHVzaCh7XFxcXG4gICAgICAgIHRpdGxlOiAn5LiK5LiA56+HOicgKyB0aXRsZSxcXFxcbiAgICAgICAgY29sX3R5cGU6ICd0ZXh0X2NlbnRlcl8xJyxcXFxcbiAgICAgICAgdXJsOiAkKCdoaWtlcjovL2VtcHR5I25vTG9hZGluZyMnKS5sYXp5UnVsZSgoaHJlZiwgdGl0bGUsIGluZGV4KSA9PiB7XFxcXG4gICAgICAgICAgICBwdXRWYXIoJ3RleHRocmVmJywgaHJlZik7XFxcXG4gICAgICAgICAgICBwdXRWYXIoJ3RleHR0aXRsZScsIHRpdGxlKTtcXFxcbiAgICAgICAgICAgIHB1dFZhcigndGV4dGluZGV4JywgU3RyaW5nKGluZGV4IC0gMSkpO1xcXFxuICAgICAgICAgICAgcmVmcmVzaFBhZ2UoKTtcXFxcbiAgICAgICAgICAgIHJldHVybiAnaGlrZXI6Ly9lbXB0eSdcXFxcbiAgICAgICAgfSwgaHJlZiwgdGl0bGUsIGluZGV4KSwgLy8naGlrZXI6Ly9wYWdlL3RleHQnICsgZnVsbFRoZW1lICsgJz90aXRsZT0nICsgdGl0bGUgKyAnJmluZGV4PScgKyAoaW5kZXggLSAxKSxcXFxcbiAgICAgICAgZXh0cmE6IHtcXFxcbiAgICAgICAgICAgIGhyZWY6IGhyZWYsXFxcXG4gICAgICAgICAgICBsaW5lVmlzaWJsZTogZmFsc2VcXFxcbiAgICAgICAgfVxcXFxuICAgIH0pXFxcXG59XFxcXG5pZiAoaW5kZXggIT0gc3Rhci5pbmRleCkge1xcXFxuICAgIGxldCB0aXRsZSA9IHN0YXJbaW5kZXggKyAxXTtcXFxcbiAgICBsZXQgaHJlZiA9IHN0cm9nZVt0aXRsZV07XFxcXG4gICAgZC5wdXNoKHtcXFxcbiAgICAgICAgdGl0bGU6ICfkuIvkuIDnr4c6JyArIHRpdGxlLFxcXFxuICAgICAgICBjb2xfdHlwZTogJ3RleHRfY2VudGVyXzEnLFxcXFxuICAgICAgICB1cmw6ICQoJ2hpa2VyOi8vZW1wdHkjbm9Mb2FkaW5nIycpLmxhenlSdWxlKChocmVmLCB0aXRsZSwgaW5kZXgpID0+IHtcXFxcbiAgICAgICAgICAgIHB1dFZhcigndGV4dGhyZWYnLCBocmVmKTtcXFxcbiAgICAgICAgICAgIHB1dFZhcigndGV4dHRpdGxlJywgdGl0bGUpO1xcXFxuICAgICAgICAgICAgcHV0VmFyKCd0ZXh0aW5kZXgnLCBTdHJpbmcoaW5kZXggKyAxKSk7XFxcXG4gICAgICAgICAgICByZWZyZXNoUGFnZSgpO1xcXFxuICAgICAgICAgICAgcmV0dXJuICdoaWtlcjovL2VtcHR5J1xcXFxuICAgICAgICB9LCBocmVmLCB0aXRsZSwgaW5kZXgpLCAvLyAnaGlrZXI6Ly9wYWdlL3RleHQnICsgZnVsbFRoZW1lICsgJz90aXRsZT0nICsgdGl0bGUgKyAnJmluZGV4PScgKyAoaW5kZXggKyAxKSxcXFxcbiAgICAgICAgZXh0cmE6IHtcXFxcbiAgICAgICAgICAgIGhyZWY6IGhyZWYsXFxcXG4gICAgICAgICAgICBsaW5lVmlzaWJsZTogZmFsc2VcXFxcbiAgICAgICAgfVxcXFxuICAgIH0pXFxcXG59XFxcXG5mb3IgKGxldCBpID0gMDsgaSA8IDEwOyBpKyspIHtcXFxcbiAgICBkLnB1c2goe1xcXFxuICAgICAgICBjb2xfdHlwZTogJ2JsYW5rX2Jsb2NrJ1xcXFxuICAgIH0pXFxcXG59XFxcXG5zZXRSZXN1bHQoZCk7XFxcIn1dXCJ9IiwidGl0bGUiOiLmlrDmsJHmmZrmiqUifQ==
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement