xiaomianao666

小程序:APP影视(P)

Mar 20th, 2022
68
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. 海阔视界规则分享,当前分享的是:小程序¥home_rule_v2¥base64://@APP影视(P)@eyJsYXN0X2NoYXB0ZXJfcnVsZSI6ImpzOlxuZXZhbChKU09OLnBhcnNlKGZldGNoKCdoaWtlcjovL3BhZ2UvY2hhcHRlcicsIHt9KSkucnVsZSk7IiwidGl0bGUiOiJBUFDlvbHop4YoUCkiLCJhdXRob3IiOiLpppnpm4Xmg4UiLCJ1cmwiOiJoaWtlcjovL2VtcHR5IiwidmVyc2lvbiI6MTIsImNvbF90eXBlIjoibW92aWVfMyIsImNsYXNzX25hbWUiOiIiLCJ0eXBlIjoiYWxsIiwiY2xhc3NfdXJsIjoiIiwiYXJlYV9uYW1lIjoiIiwiYXJlYV91cmwiOiIiLCJzb3J0X25hbWUiOiIiLCJ5ZWFyX25hbWUiOiIiLCJzb3J0X3VybCI6IiIsInllYXJfdXJsIjoiIiwiZmluZF9ydWxlIjoianM6XG5jb25zdCBjYW5Vc2UgPSAkLnJlcXVpcmUoXCJoaWtlcjovL3BhZ2Uvd2FpdFwiKTtcbmlmIChjYW5Vc2UpIHtcbiAgICB2YXIgaXRlbXMgPSBbXTtcbiAgICB2YXIgc2VsZiA9IEpTT04ucGFyc2UoZ2V0UnVsZSgpKS50aXRsZTtcbiAgICB2YXIgc2V0anNvbiA9IEpTT04ucGFyc2UoZmV0Y2goJ2hpa2VyOi8vZmlsZXMvcnVsZXMveHlxL2FwcG1zZXQuanNvbicsIHt9KSk7XG4gICAgdmFyIHNzbWQgPSBzZXRqc29uLnNzbW9kZTtcbiAgICB2YXIgc3N4YyA9IHNldGpzb24uc3Njb3VudDtcbiAgICB2YXIgbG9jdmVyID0gTVlfUlVMRS52ZXJzaW9uO1xuICAgIC8v5omT5Lmx6aG65bqPXG4gICAgdmFyIHJhbmRvbSA9IHRydWU7XG5cbiAgICBmdW5jdGlvbiByYW5kb21Tb3J0MyhhcnIpIHtcbiAgICAgICAgLypcbiAgICAgICAgYXJyLnNvcnQoZnVuY3Rpb24oYSwgYikge1xuICAgICAgICAgICAgcmV0dXJuIE1hdGgucmFuZG9tKCkgLSAwLjU7XG4gICAgICAgIH0pO1xuICAgICAgICAqL1xuICAgICAgICByZXR1cm4gYXJyO1xuICAgIH1cblxuICAgIGl0ZW1zLnB1c2goe1xuICAgICAgICB0aXRsZTogJ/CflI3orr7nva4nICsgJygnICsgKHNzbWQgPT0gMSA/ICfogZonICsgc3N4YyA6ICfliJcnKSArICcpJyxcbiAgICAgICAgLy90aXRsZSA6ICfwn5SN6K6+572uJysnKCcrc3N4YysnKScsXG4gICAgICAgIHVybDogJCgnaGlrZXI6Ly9lbXB0eScpLnJ1bGUoKGxvY3ZlcikgPT4ge1xuICAgICAgICAgICAgZXZhbChKU09OLnBhcnNlKGZldGNoKCdoaWtlcjovL3BhZ2Uvc2V0dGluZycsIHt9KSkucnVsZSk7XG4gICAgICAgIH0sIGxvY3ZlciksXG4gICAgICAgIGNvbF90eXBlOiAnZmxleF9idXR0b24nXG4gICAgfSk7XG5cbiAgICBpdGVtcy5wdXNoKHtcbiAgICAgICAgdGl0bGU6ICfotYTmupDnvZHph4fpm4YnLFxuICAgICAgICB1cmw6ICdoaWtlcjovL2hvbWVA6LWE5rqQ572R6YeH6ZuGLnh5cXx8aHR0cHM6Ly9oYWlrdW9zaGlqaWUuY24vdG9waWMvNjAzMycsXG4gICAgICAgIGNvbF90eXBlOiAnZmxleF9idXR0b24nXG4gICAgfSk7XG4gICAgaXRlbXMucHVzaCh7XG4gICAgICAgIHRpdGxlOiAn6aaZ5oOF5b2x6KeGJyxcbiAgICAgICAgdXJsOiAnaGlrZXI6Ly9ob21lQOmmmeaDheW9seinhnx8aHR0cHM6Ly9tcC53ZWl4aW4ucXEuY29tL3MvWHBVSTNGMW5CdmxOZ0hYdlk3MXQwZycsXG4gICAgICAgIGNvbF90eXBlOiAnZmxleF9idXR0b24nXG4gICAgfSk7XG4gICAgaXRlbXMucHVzaCh7XG4gICAgICAgIHRpdGxlOiBcIuaQnOe0olwiLFxuICAgICAgICB1cmw6ICQudG9TdHJpbmcoKCkgPT4ge1xuICAgICAgICAgICAgdmFyIGxpbmsgPSAnaGlrZXI6Ly9lbXB0eSNub1JlY29yZEhpc3RvcnkjJCQkJyArIGlucHV0ICsgJyQkJGZ5cGFnZSQkJCc7XG4gICAgICAgICAgICAvL2xvZyhsaW5rKTtcbiAgICAgICAgICAgIHJldHVybiAkKGxpbmspLnJ1bGUoKCkgPT4ge1xuICAgICAgICAgICAgICAgICQucmVxdWlyZSgnaGlrZXI6Ly9wYWdlL3NlYXInKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KSxcbiAgICAgICAgZXh0cmE6IHtcbiAgICAgICAgICAgIG9uQ2hhbmdlOiBcInB1dFZhcigneHlxYXBweXN0ZXh0JyxpbnB1dClcIixcbiAgICAgICAgICAgIHRpdGxlVmlzaWJsZTogdHJ1ZVxuICAgICAgICB9LFxuICAgICAgICBkZXNjOiBcIuivt+i+k+WFpeaQnOe0ouWFs+mUruivjVwiLFxuICAgICAgICBjb2xfdHlwZTogXCJpbnB1dFwiXG4gICAgfSk7XG5cbiAgICB2YXIgc3N5cSA9IFsn6LWE5rqQ572R6YeH6ZuG5pCcQEDotYTmupDnvZHph4fpm4YueHlxJywgJ+mmmeaDheW9seinhuaQnEBA6aaZ5oOF5b2x6KeGJ107XG4gICAgaWYgKHNlbGYgIT09ICdBUFDlvbHop4YoUCknKSB7XG4gICAgICAgIGl0ZW1zLnB1c2goe1xuICAgICAgICAgICAgdGl0bGU6IHNlbGYgKyAn5pCcJyxcbiAgICAgICAgICAgIHVybDogJChcIiNub0xvYWRpbmcjXCIpLmxhenlSdWxlKHJ1bGUgPT4gJ2hpa2VyOi8vc2VhcmNoP3M9JyArIGdldFZhcigneHlxYXBweXN0ZXh0JykgKyAnJnJ1bGU9JyArIHJ1bGUsIHNlbGYpLFxuICAgICAgICAgICAgY29sX3R5cGU6ICdmbGV4X2J1dHRvbidcbiAgICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgICAgZm9yICh2YXIgeXEgaW4gc3N5cSkge1xuICAgICAgICAgICAgdmFyIGtqID0gc3N5cVt5cV0uc3BsaXQoJ0BAJyk7XG4gICAgICAgICAgICBpdGVtcy5wdXNoKHtcbiAgICAgICAgICAgICAgICB0aXRsZToga2pbMF0sXG4gICAgICAgICAgICAgICAgdXJsOiAkKFwiI25vTG9hZGluZyNcIikubGF6eVJ1bGUocnVsZSA9PiAnaGlrZXI6Ly9zZWFyY2g/cz0nICsgZ2V0VmFyKCd4eXFhcHB5c3RleHQnKSArICcmcnVsZT0nICsgcnVsZSwga2pbMV0pLFxuICAgICAgICAgICAgICAgIGNvbF90eXBlOiBcImZsZXhfYnV0dG9uXCJcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxuICAgIGl0ZW1zLnB1c2goe1xuICAgICAgICB0aXRsZTogJ+iMtuadr+eLkOaQnCcsXG4gICAgICAgIHVybDogJCgnaGlrZXI6Ly9lbXB0eSN4I2Z5cGFnZUAtMUAqMjRAI3gjJykucnVsZSgoKSA9PiB7XG4gICAgICAgICAgICB2YXIgcmVzID0ge307XG4gICAgICAgICAgICB2YXIgZCA9IFtdO1xuICAgICAgICAgICAgdmFyIHNwbCA9IE1ZX1VSTC5zcGxpdCgnI3gjJyk7XG4gICAgICAgICAgICAvL3ZhciBsaW4gPSAnaHR0cHM6Ly9hcGkyLmphY2tlcmlzcy5jb20vYXBpL3YxL3NlYXJjaC8/dGV4dD0nICsgc3BsWzFdICsgJyZ0eXBlPTAmZnJvbT0nICsgc3BsWzJdICsgJyZzaXplPTIwJztcbiAgICAgICAgICAgIHZhciBsaW4gPSAnaHR0cHM6Ly9hcGkuamFja2VyaXNzLmNvbS9hcGkvdjEvc2VhcmNoLz90ZXh0PScgKyBnZXRWYXIoJ3h5cWFwcHlzdGV4dCcpICsgJyZ0eXBlPTAmZnJvbT0nICsgc3BsWzFdICsgJyZzaXplPTI0JztcbiAgICAgICAgICAgIHZhciBwbiA9IHNwbFsxXSAvIDI0ICsgMTtcbiAgICAgICAgICAgIHZhciB1cmxvID0gSlNPTi5wYXJzZShyZXF1ZXN0KGxpbiwge30pKTtcbiAgICAgICAgICAgIHZhciB1cmx0ID0gSlNPTi5wYXJzZShmZXRjaChsaW4ucmVwbGFjZSgndHlwZT0wJywgJ3R5cGU9MScpLCB7fSkpO1xuICAgICAgICAgICAgLy9sb2codXJsbyk7XG4gICAgICAgICAgICBpZiAodXJsby5yZXNvdXJjZXMubGVuZ3RoIDwgMSAmJiB1cmx0LnJlc291cmNlcy5sZW5ndGggPCAxKSB7XG4gICAgICAgICAgICAgICAgZC5wdXNoKHtcbiAgICAgICAgICAgICAgICAgICAgdGl0bGU6ICflvZPliY3lhbPplK7lrZcgICcgKyBnZXRWYXIoJ3h5cWFwcHlzdGV4dCcpICsgJyAg5peg5pCc57Si57uT5p6cJyxcbiAgICAgICAgICAgICAgICAgICAgY29sX3R5cGU6ICd0ZXh0X2NlbnRlcl8xJ1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKHVybG8ucmVzb3VyY2VzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgICAgICBkLnB1c2goe1xuICAgICAgICAgICAgICAgICAgICB0aXRsZTogJ+KZpeW9k+WJjeesrCcgKyBwbiArICfpobUnLFxuICAgICAgICAgICAgICAgICAgICBjb2xfdHlwZTogJ3RleHRfY2VudGVyXzEnXG4gICAgICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHVybG8ucmVzb3VyY2VzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICAgICAgICAgIHZhciB0aXRsZSA9IHVybG8ucmVzb3VyY2VzW2ldLnRleHQucmVwbGFjZSgvXFw8Lio/XFw+L2csICcnKTtcbiAgICAgICAgICAgICAgICAgICAgdmFyIHVybCA9IHVybG8ucmVzb3VyY2VzW2ldLnVybDtcbiAgICAgICAgICAgICAgICAgICAgdmFyIGRlc2MgPSB1cmxvLnJlc291cmNlc1tpXS53ZWJzaXRlO1xuICAgICAgICAgICAgICAgICAgICBkLnB1c2goe1xuICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU6IHRpdGxlLnJlcGxhY2UoZ2V0VmFyKCd4eXFhcHB5c3RleHQnKSwgJ+KAnOKAnCcgKyBnZXRWYXIoJ3h5cWFwcHlzdGV4dCcpICsgJ+KAneKAnScpICsgJyAgJyArIGRlc2MgKyAnICDlnKjnur8nLFxuICAgICAgICAgICAgICAgICAgICAgICAgdXJsOiB1cmwsXG4gICAgICAgICAgICAgICAgICAgICAgICAvL2Rlc2M6ICflnKjnur/mkJzntKLnu5PmnpwnLFxuICAgICAgICAgICAgICAgICAgICAgICAgY29sX3R5cGU6ICd0ZXh0XzEnXG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKHVybHQucmVzb3VyY2VzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgICAgICBmb3IgKHZhciBqID0gMDsgaiA8IHVybHQucmVzb3VyY2VzLmxlbmd0aDsgaisrKSB7XG4gICAgICAgICAgICAgICAgICAgIHZhciB0aXRsZSA9IHVybHQucmVzb3VyY2VzW2pdLnRleHQucmVwbGFjZSgvXFw8Lio/XFw+L2csICcnKTtcbiAgICAgICAgICAgICAgICAgICAgdmFyIHVybCA9IHVybHQucmVzb3VyY2VzW2pdLnVybDtcbiAgICAgICAgICAgICAgICAgICAgdmFyIGRlc2MgPSB1cmx0LnJlc291cmNlc1tqXS53ZWJzaXRlO1xuICAgICAgICAgICAgICAgICAgICBkLnB1c2goe1xuICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU6IHRpdGxlLnJlcGxhY2UoZ2V0VmFyKCd4eXFhcHB5c3RleHQnKSwgJ+KAnOKAnCcgKyBnZXRWYXIoJ3h5cWFwcHlzdGV4dCcpICsgJ+KAneKAnScpICsgJyAgJyArIGRlc2MgKyAnICDkuIvovb0nLFxuICAgICAgICAgICAgICAgICAgICAgICAgdXJsOiB1cmwsXG4gICAgICAgICAgICAgICAgICAgICAgICAvL2Rlc2M6ICfkuIvovb3mkJzntKLnu5PmnpwnLFxuICAgICAgICAgICAgICAgICAgICAgICAgY29sX3R5cGU6ICd0ZXh0XzEnXG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJlcy5kYXRhID0gZDtcbiAgICAgICAgICAgIHNldFJlc3VsdChyZXMpO1xuICAgICAgICB9KSxcbiAgICAgICAgY29sX3R5cGU6IFwiZmxleF9idXR0b25cIlxuICAgIH0pO1xuICAgIHRyeSB7XG4gICAgICAgIHZhciBhcHBmaWxlID0gZmV0Y2hDYWNoZSgnaHR0cHM6Ly9pbm1lbW9yeS5jb2RpbmcubmV0L3AvSW5NZW1vcnkvZC9NQnJvd3Nlci9naXQvcmF3L21hc3Rlci9BcHBGaWxlL0FQUC5qc29uJywgMjQpO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgYXBwZmlsZSA9ICcnO1xuICAgIH1cbiAgICBpZiAoL2Vtb3J5Ly50ZXN0KGFwcGZpbGUpKSB7XG4gICAgICAgIC8vbG9nKCflvZPliY3liqDovb3nmoTmmK/nvJPlrZjmlbDmja4nKTtcbiAgICAgICAgdmFyIGh0bWwgPSBKU09OLnBhcnNlKGFwcGZpbGUpO1xuICAgIH0gZWxzZSB7XG4gICAgICAgIGxvZygn5b2T5YmN5Yqg6L2955qE5piv5YaF572u5pWw5o2uJyk7XG4gICAgICAgIHZhciBodG1sID0gSlNPTi5wYXJzZShKU09OLnBhcnNlKGZldGNoKCdoaWtlcjovL3BhZ2UvUmVzQ29kZScsIHt9KSkucnVsZSk7XG4gICAgfTtcbiAgICB2YXIgY29udHMgPSBodG1sLmRhdGE7XG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBjb250cy5sZW5ndGg7IGkrKykge1xuICAgICAgICB2YXIgbGlzdCA9IGNvbnRzW2ldLmxpc3Q7XG4gICAgICAgIHZhciB0eXRpdCA9IGNvbnRzW2ldLnRpdGxlO1xuICAgICAgICBpdGVtcy5wdXNoKHtcbiAgICAgICAgICAgIHRpdGxlOiB0eXRpdCArICcgJyArIFtsaXN0Lmxlbmd0aF0sXG4gICAgICAgICAgICB1cmw6ICdoaWtlcjovL2VtcHR5JyxcbiAgICAgICAgICAgIGNvbF90eXBlOiAndGV4dF8xJ1xuICAgICAgICB9KTtcblxuICAgICAgICBpZiAocmFuZG9tKSB7XG4gICAgICAgICAgICBsZXQgayA9IGdldFZhcihNWV9SVUxFLnRpdGxlICsgXCItXCIgKyB0eXRpdCwgXCJcIik7XG4gICAgICAgICAgICBpZiAoayA9PSBcIlwiKSB7XG4gICAgICAgICAgICAgICAgbGlzdCA9IHJhbmRvbVNvcnQzKGxpc3QpXG4gICAgICAgICAgICAgICAgcHV0VmFyKE1ZX1JVTEUudGl0bGUgKyBcIi1cIiArIHR5dGl0LCBKU09OLnN0cmluZ2lmeShsaXN0KSlcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgbGlzdCA9IEpTT04ucGFyc2UoaylcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBmb3IgKHZhciBqID0gMDsgaiA8IGxpc3QubGVuZ3RoOyBqKyspIHtcbiAgICAgICAgICAgIHZhciB0aXRsZSA9IGxpc3Rbal0udGl0bGU7XG4gICAgICAgICAgICB2YXIgdHVybCA9IGxpc3Rbal0udXJsO1xuICAgICAgICAgICAgdmFyIGltZyA9IGxpc3Rbal0uaW1nO1xuICAgICAgICAgICAgdmFyIGxpdGl0ID0gbGlzdFtqXS5tdXJsO1xuICAgICAgICAgICAgaWYgKC9UVi9pLnRlc3QobGl0aXQpKSB7XG4gICAgICAgICAgICAgICAgdmFyIHVybCA9ICdoaWtlcjovL2VtcHR5JCQnICsgbGl0aXQgKyAnJCQnICsgdHVybCArICckJD9hYz1saXN0JmNsYXNzPSZwYWdlPWZ5cGFnZSZhcmVhPSZ0eXBlPSZzdGFydD0kJCc7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGlmICh0dXJsLmluZGV4T2YoJ2FwaS5waHAvYXBwLycpICE9IC0xKSB7XG4gICAgICAgICAgICAgICAgICAgIHZhciB1cmwgPSAnaGlrZXI6Ly9lbXB0eSQkJyArIGxpdGl0ICsgJyQkJyArIHR1cmwgKyAnJCRpbmRleF92aWRlbz90b2tlbj0kJCc7XG4gICAgICAgICAgICAgICAgfSBlbHNlIGlmICh0dXJsLmluZGV4T2YoJ3hnYXBwLnBocC92MS8nKSAhPSAtMSkge1xuICAgICAgICAgICAgICAgICAgICB2YXIgdXJsID0gJ2hpa2VyOi8vZW1wdHkkJCcgKyBsaXRpdCArICckJCcgKyB0dXJsICsgJyQkaW5kZXhfdmlkZW8/dG9rZW49JCQnO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHZhciB1cmwgPSAnaGlrZXI6Ly9lbXB0eSQkJyArIGxpdGl0ICsgJyQkJyArIHR1cmwgKyAnJCQvdm9kUGhiQWxsJCQnO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGl0ZW1zLnB1c2goe1xuICAgICAgICAgICAgICAgIHRpdGxlOiB0aXRsZSxcbiAgICAgICAgICAgICAgICB1cmw6IHVybCxcbiAgICAgICAgICAgICAgICBwaWNfdXJsOiBpbWcsXG4gICAgICAgICAgICAgICAgY29sX3R5cGU6ICdpY29uX3JvdW5kX3NtYWxsXzQnXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBzZXRSZXN1bHQoe1xuICAgICAgICBkYXRhOiBpdGVtc1xuICAgIH0pO1xufSIsInNlYXJjaF91cmwiOiJoaWtlcjovL2VtcHR5JCQkKiokJCRmeXBhZ2UkJCQiLCJncm91cCI6IuKRoOS8mOi0qCIsInNlYXJjaEZpbmQiOiJqczpcbmNvbnN0IGNhblVzZSA9ICQucmVxdWlyZShcImhpa2VyOi8vcGFnZS93YWl0XCIpO1xuaWYgKGNhblVzZSkge1xuICAgICQucmVxdWlyZSgnaGlrZXI6Ly9wYWdlL3NlYXInKTtcbn0iLCJkZXRhaWxfY29sX3R5cGUiOiJtb3ZpZV8xIiwiZGV0YWlsX2ZpbmRfcnVsZSI6ImpzOlxudmFyIHJlcyA9IHt9O1xudmFyIGl0ZW1zID0gW107XG52YXIgdHlwZXQgPSBNWV9VUkwuc3BsaXQoJyQkJylbMV07XG52YXIgbXVybCA9IE1ZX1VSTC5zcGxpdCgnJCQnKVsyXTtcbnZhciB0dXJsID0gbXVybCArIE1ZX1VSTC5zcGxpdCgnJCQnKVszXTtcblxuaWYgKC9UVi9pLnRlc3QodHlwZXQpKSB7XG4gICAgdmFyIHBnID0gTVlfVVJMLm1hdGNoKC9wYWdlXFw9KFtcXGRdKikvKVsxXTtcbiAgICBpZiAocGcgPT0gMSkge1xuICAgICAgICAvL3ZhciB0eXB0ID0gKCfnlLXlvbEm6L+e57ut5YmnJue7vOiJuibliqjmvKsnKS5zcGxpdCgnJicpO1xuICAgICAgICAvL3ZhciB0eXBsID0gKCdtb3ZpZSZ0dnBsYXkmdHZzaG93JmNvbWljJykuc3BsaXQoJyYnKTtcbiAgICAgICAgdmFyIHR5cGwgPSBPYmplY3Qua2V5cyhKU09OLnBhcnNlKGZldGNoKG11cmwgKyAnP2FjPWZsaXR0ZXInLCB7fSkpKTtcblxuICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHR5cGwubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIHZhciB0eXVybCA9IG11cmwgKyAnP2FjPWxpc3QmY2xhc3M9JyArIHR5cGxbaV0gKyAnJnBhZ2U9ZnlwYWdlJmFyZWE9JnR5cGU9JnN0YXJ0PSc7XG4gICAgICAgICAgICBpdGVtcy5wdXNoKHtcbiAgICAgICAgICAgICAgICB0aXRsZTogdHlwbFtpXSxcbiAgICAgICAgICAgICAgICB1cmw6ICQodHl1cmwpLnJ1bGUoKG11cmwpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdmFyIHJlcyA9IHt9O1xuICAgICAgICAgICAgICAgICAgICB2YXIgaXRlbXMgPSBbXTtcbiAgICAgICAgICAgICAgICAgICAgdmFyIG11cmwgPSBtdXJsO1xuICAgICAgICAgICAgICAgICAgICB2YXIgaHRtbCA9IEpTT04ucGFyc2UoZ2V0UmVzQ29kZSgpKTtcbiAgICAgICAgICAgICAgICAgICAgZXZhbChKU09OLnBhcnNlKGZldGNoKCdoaWtlcjovL3BhZ2UvdHZsaXN0ZGF0YScsIHt9KSkucnVsZSk7XG4gICAgICAgICAgICAgICAgICAgIHJlcy5kYXRhID0gaXRlbXM7XG4gICAgICAgICAgICAgICAgICAgIHNldEhvbWVSZXN1bHQocmVzKTtcbiAgICAgICAgICAgICAgICB9LCBtdXJsKSxcbiAgICAgICAgICAgICAgICBjb2xfdHlwZTogJ2ZsZXhfYnV0dG9uJ1xuICAgICAgICAgICAgfSlcbiAgICAgICAgfVxuICAgICAgICBpdGVtcy5wdXNoKHtcbiAgICAgICAgICAgIGNvbF90eXBlOiAnbGluZSdcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgdHJ5IHtcbiAgICAgICAgdmFyIGh0bWwgPSBKU09OLnBhcnNlKGZldGNoKHR1cmwpKTtcbiAgICAgICAgZXZhbChKU09OLnBhcnNlKGZldGNoKCdoaWtlcjovL3BhZ2UvdHZsaXN0ZGF0YScsIHt9KSkucnVsZSk7XG4gICAgfSBjYXRjaCAoZSkge31cbn0gZWxzZSB7XG4gICAgaWYgKC9kaWppYXhpYS8udGVzdChtdXJsKSkge1xuICAgICAgICBtdXJsID0gJ2h0dHA6Ly93d3cuZGlqaWF4aWEuY29tL2FwaS5waHAvYXBwLydcbiAgICB9XG4gICAgdHJ5IHtcbiAgICAgICAgaWYgKG11cmwuc2VhcmNoKC9hcGkucGhwXFwvYXBwLykgIT0gLTEpIHtcblxuICAgICAgICAgICAgdmFyIHR5cGNvZGUgPSByZXF1ZXN0KG11cmwgKyBcIm5hdj90b2tlbj1cIiwge1xuICAgICAgICAgICAgICAgIGhlYWRlcnM6IHtcbiAgICAgICAgICAgICAgICAgICAgXCJVc2VyLUFnZW50XCI6IFwiRGFydC8yLjE0IChkYXJ0OmlvKVwiXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICBpZiAodHlwY29kZS5pbmRleE9mKCfmo4DmtYvkuK0nKSAhPSAtMSkge1xuICAgICAgICAgICAgICAgIHR5cGNvZGUgPSBmZXRjaChtdXJsICsgXCJuYXY/dG9rZW49XCIgKyAnJmJ0d2FmJyArIHR5cGNvZGUubWF0Y2goL2J0d2FmKC4qPylcXFwiLylbMV0sIHt9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHZhciB0eXBlYyA9IEpTT04ucGFyc2UodHlwY29kZSkubGlzdDtcblxuICAgICAgICB9IGVsc2UgaWYgKG11cmwuc2VhcmNoKC94Z2FwcC5waHBcXC92MS8pICE9IC0xKSB7XG5cbiAgICAgICAgICAgIHZhciB0eXBjb2RlID0gcmVxdWVzdChtdXJsICsgXCJuYXY/dG9rZW49XCIsIHtcbiAgICAgICAgICAgICAgICBoZWFkZXJzOiB7XG4gICAgICAgICAgICAgICAgICAgIFwiVXNlci1BZ2VudFwiOiBcIkRhcnQvMi4xNCAoZGFydDppbylcIlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgaWYgKHR5cGNvZGUuaW5kZXhPZign5qOA5rWL5LitJykgIT0gLTEpIHtcbiAgICAgICAgICAgICAgICB0eXBjb2RlID0gZmV0Y2gobXVybCArIFwibmF2P3Rva2VuPVwiICsgJyZidHdhZicgKyB0eXBjb2RlLm1hdGNoKC9idHdhZiguKj8pXFxcIi8pWzFdLCB7fSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB2YXIgdHlwZWMgPSBKU09OLnBhcnNlKHR5cGNvZGUpLmRhdGE7XG5cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGlmIChtdXJsLnNlYXJjaCgvbW9nYWlfYXBpLykgIT0gLTEpIHtcbiAgICAgICAgICAgICAgICB2YXIgdHlwY29kZSA9IHJlcXVlc3QobXVybCArIFwiL3R5cGVzXCIsIHtcbiAgICAgICAgICAgICAgICAgICAgaGVhZGVyczoge1xuICAgICAgICAgICAgICAgICAgICAgICAgXCJVc2VyLUFnZW50XCI6IFwiRGFydC8yLjE0IChkYXJ0OmlvKVwiXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdmFyIHR5cGNvZGUgPSByZXF1ZXN0KG11cmwgKyBcIi90eXBlc1wiLCB7XG4gICAgICAgICAgICAgICAgICAgIGhlYWRlcnM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIFwiVXNlci1BZ2VudFwiOiBcIm9raHR0cC80LjEuMFwiXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmICh0eXBjb2RlLmluZGV4T2YoJ+ajgOa1i+S4rScpICE9IC0xKSB7XG4gICAgICAgICAgICAgICAgdHlwY29kZSA9IGZldGNoKG11cmwgKyBcIi90eXBlc1wiICsgJz9idHdhZicgKyB0eXBjb2RlLm1hdGNoKC9idHdhZiguKj8pXFxcIi8pWzFdLCB7fSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB2YXIgdHlwZWMgPSBKU09OLnBhcnNlKHR5cGNvZGUpLmRhdGEubGlzdDtcblxuICAgICAgICB9XG4gICAgICAgIHZhciB0eXBldCA9IFwiXCIsXG4gICAgICAgICAgICB0eXBlbCA9IFwiXCI7XG4gICAgICAgIGZvciAodmFyIGogPSAwOyBqIDwgdHlwZWMubGVuZ3RoOyBqKyspIHtcbiAgICAgICAgICAgIHR5cGV0ICs9IHR5cGVjW2pdLnR5cGVfbmFtZTtcbiAgICAgICAgICAgIHR5cGVsICs9IHR5cGVjW2pdLnR5cGVfaWQ7XG4gICAgICAgICAgICBpZiAoaiA8IHR5cGVjLmxlbmd0aCAtIDEpIHtcbiAgICAgICAgICAgICAgICB0eXBldCArPSBcIiZcIjtcbiAgICAgICAgICAgICAgICB0eXBlbCArPSBcIiZcIjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICB2YXIgdHlwdCA9IHR5cGV0LnNwbGl0KCcmJyk7XG4gICAgICAgIHZhciB0eXBsID0gdHlwZWwuc3BsaXQoJyYnKTtcblxuICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHR5cHQubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIGlmIChtdXJsLmluZGV4T2YoJ2FwaS5waHAvYXBwLycpICE9IC0xKSB7XG4gICAgICAgICAgICAgICAgaWYgKC9mYW50dWFuLy50ZXN0KG11cmwpKSB7XG4gICAgICAgICAgICAgICAgICAgIHZhciB0eXVybCA9ICdodHRwczovL2ZhbnR1YW4ud2tmaWxlLmNvbS9hcGkucGhwL2FwcC92aWRlbz9wZz1meXBhZ2UmdGlkPScgKyB0eXBsW2ldICsgJyZjbGFzcz0mYXJlYT0mbGFuZz0meWVhcj0mdG9rZW49O2dldDt1dGYtODt7VXNlci1BZ2VudEBEYXJ0LzIuMTQgKGRhcnQ6aW8pfSc7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgdmFyIHR5dXJsID0gbXVybCArICd2aWRlbz9wZz1meXBhZ2UmdGlkPScgKyB0eXBsW2ldICsgJyZjbGFzcz0mYXJlYT0mbGFuZz0meWVhcj0mdG9rZW49O2dldDt1dGYtODt7VXNlci1BZ2VudEBEYXJ0LzIuMTQgKGRhcnQ6aW8pfSc7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBlbHNlIGlmIChtdXJsLmluZGV4T2YoJ3hnYXBwLnBocC92MS8nKSAhPSAtMSkge1xuICAgICAgICAgICAgICAgIHZhciB0eXVybCA9IG11cmwgKyAndmlkZW8/cGc9ZnlwYWdlJnRpZD0nICsgdHlwbFtpXSArICcmY2xhc3M9JmFyZWE9Jmxhbmc9JnllYXI9O2dldDt1dGYtODt7VXNlci1BZ2VudEBEYXJ0LzIuMTQgKGRhcnQ6aW8pfSc7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGlmICgvaW9wZW55dW4vLnRlc3QobXVybCkpIHtcbiAgICAgICAgICAgICAgICAgICAgdmFyIHR5dXJsID0gbXVybCArICcvbGlzdD90eXBlPScgKyB0eXBsW2ldICsgJyZjbGFzcz0mbGFuZz0mYXJlYT0meWVhcj0mYnk9JnBhZ2U9ZnlwYWdlJmxpbWl0PTk7Z2V0O3V0Zi04O3tVc2VyLUFnZW50QERhcnQvMi4xNCAoZGFydDppbyl9J1xuICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAobXVybC5zZWFyY2goL1xcLnZvZC8pICE9IC0xKSB7XG4gICAgICAgICAgICAgICAgICAgIHZhciB0eXVybCA9IG11cmwgKyAnP3R5cGU9JyArIHR5cGxbaV0gKyAnJmNsYXNzPSZsYW5nPSZhcmVhPSZ5ZWFyPSZieT0mcGFnZT1meXBhZ2UmbGltaXQ9OTtnZXQ7dXRmLTg7e1VzZXItQWdlbnRAb2todHRwLzQuMS4wfSdcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICB2YXIgdHl1cmwgPSBtdXJsICsgJz90eXBlPScgKyB0eXBsW2ldICsgJyZjbGFzcz0mbGFuZz0mYXJlYT0meWVhcj0mYnk9JnBhZ2U9ZnlwYWdlJmxpbWl0PTk7Z2V0O3V0Zi04O3tVc2VyLUFnZW50QERhcnQvMi4xNCAoZGFydDppbyl9J1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGl0ZW1zLnB1c2goe1xuICAgICAgICAgICAgICAgIHRpdGxlOiB0eXB0W2ldLFxuICAgICAgICAgICAgICAgIHVybDogJCh0eXVybCkucnVsZSgobXVybCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB2YXIgcmVzID0ge307XG4gICAgICAgICAgICAgICAgICAgIHZhciBpdGVtcyA9IFtdO1xuICAgICAgICAgICAgICAgICAgICB2YXIgbXVybCA9IG11cmw7XG4gICAgICAgICAgICAgICAgICAgIHZhciByZXNjb2RlID0gZ2V0UmVzQ29kZSgpO1xuICAgICAgICAgICAgICAgICAgICBpZiAocmVzY29kZS5pbmRleE9mKCfmo4DmtYvkuK0nKSAhPSAtMSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmVzY29kZSA9IGZldGNoKE1ZX1VSTCArICcmYnR3YWYnICsgcmVzY29kZS5tYXRjaCgvYnR3YWYoLio/KVxcXCIvKVsxXSwge30pO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHZhciBodG1sID0gSlNPTi5wYXJzZShyZXNjb2RlKTtcbiAgICAgICAgICAgICAgICAgICAgZXZhbChKU09OLnBhcnNlKGZldGNoKCdoaWtlcjovL3BhZ2UvYXBwbGlzdGRhdGEnLCB7fSkpLnJ1bGUpO1xuXG4gICAgICAgICAgICAgICAgICAgIHJlcy5kYXRhID0gaXRlbXM7XG4gICAgICAgICAgICAgICAgICAgIHNldEhvbWVSZXN1bHQocmVzKTtcbiAgICAgICAgICAgICAgICB9LCBtdXJsKSxcbiAgICAgICAgICAgICAgICBjb2xfdHlwZTogJ2ZsZXhfYnV0dG9uJ1xuICAgICAgICAgICAgfSlcbiAgICAgICAgfVxuICAgICAgICBpdGVtcy5wdXNoKHtcbiAgICAgICAgICAgIGNvbF90eXBlOiAnbGluZSdcbiAgICAgICAgfSk7XG4gICAgfSBjYXRjaCAoZSkge31cblxuXG4gICAgdHJ5IHtcbiAgICAgICAgaWYgKG11cmwuc2VhcmNoKC9tb2dhaV9hcGkvKSAhPSAtMSkge1xuICAgICAgICAgICAgdmFyIGh0bWwgPSByZXF1ZXN0KHR1cmwsIHtcbiAgICAgICAgICAgICAgICBoZWFkZXJzOiB7XG4gICAgICAgICAgICAgICAgICAgIFwiVXNlci1BZ2VudFwiOiBcIkRhcnQvMi4xNCAoZGFydDppbylcIlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdmFyIGh0bWwgPSByZXF1ZXN0KHR1cmwsIHtcbiAgICAgICAgICAgICAgICBoZWFkZXJzOiB7XG4gICAgICAgICAgICAgICAgICAgIFwiVXNlci1BZ2VudFwiOiBcIm9raHR0cC80LjEuMFwiXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGh0bWwuaW5kZXhPZign5qOA5rWL5LitJykgIT0gLTEpIHtcbiAgICAgICAgICAgIGh0bWwgPSBmZXRjaCh0dXJsICsgJyZidHdhZicgKyBodG1sLm1hdGNoKC9idHdhZiguKj8pXFxcIi8pWzFdLCB7fSk7XG4gICAgICAgIH1cbiAgICAgICAgdmFyIGh0bWwgPSBKU09OLnBhcnNlKGh0bWwpO1xuICAgICAgICAvL2xvZyhodG1sKTtcbiAgICAgICAgLy9pZiAobXVybC5pbmRleE9mKCd4Z2FwcC5waHAvdjEvJykgIT0gLTEpIHtcbiAgICAgICAgZXZhbChKU09OLnBhcnNlKGZldGNoKCdoaWtlcjovL3BhZ2UvYXBwaW5kZXhkYXRhJywge30pKS5ydWxlKTtcbiAgICAgICAgLy99IGVsc2Uge1xuICAgICAgICAvL2xvZyhodG1sKTtcbiAgICAgICAgLy9ldmFsKEpTT04ucGFyc2UoZmV0Y2goJ2hpa2VyOi8vcGFnZS9hcHBsaXN0ZGF0YScsIHt9KSkucnVsZSk7XG4gICAgICAgIC8vfVxuICAgIH0gY2F0Y2ggKGUpIHt9XG5cbn1cblxucmVzLmRhdGEgPSBpdGVtcztcbnNldEhvbWVSZXN1bHQocmVzKTsiLCJzZGV0YWlsX2NvbF90eXBlIjoibW92aWVfMSIsInNkZXRhaWxfZmluZF9ydWxlIjoiIiwidWEiOiJtb2JpbGUiLCJwcmVSdWxlIjoiaWYgKCFmaWxlRXhpc3QoJ2hpa2VyOi8vZmlsZXMvcnVsZXMveHlxL2FwcG1zZXQuanNvbicpKSB7XG4gICAgbGV0IHNldCA9IGB7XCJzc21vZGVcIjpcIjBcIixcInNzY291bnRcIjpcIjVcIixcImVuRG5cIjpcIjBcIn1gO1xuICAgIHdyaXRlRmlsZShcImhpa2VyOi8vZmlsZXMvcnVsZXMveHlxL2FwcG1zZXQuanNvblwiLCBzZXQpO1xufVxudmFyIHJ1bGVzZXQgPSBmZXRjaCgnaGlrZXI6Ly9maWxlcy9ydWxlcy94eXEvYXBwbXNldC5qc29uJywge30pO1xuaWYgKCFKU09OLnBhcnNlKHJ1bGVzZXQpLmVuRG4pIHtcbiAgICBsZXQgc2V0ID0gcnVsZXNldC5yZXBsYWNlKCdcXFwiXFx9JywgJ1xcXCJcXCxcXFwiZW5EblxcXCJcXDpcXFwiMFxcXCJcXH0nKTtcbiAgICB3cml0ZUZpbGUoXCJoaWtlcjovL2ZpbGVzL3J1bGVzL3h5cS9hcHBtc2V0Lmpzb25cIiwgc2V0KTtcbn0iLCJwYWdlcyI6Ilt7XCJjb2xfdHlwZVwiOlwibW92aWVfM1wiLFwibmFtZVwiOlwi5o6l5Y+j5pWw5o2uMjAyMi8yLzdcIixcInBhdGhcIjpcIlJlc0NvZGVcIixcInJ1bGVcIjpcIntcXG4gICAgXFxcImRhdGFcXFwiOiBbe1xcbiAgICAgICAgICAgIFxcXCJ0aXRsZVxcXCI6IFxcXCLkvJjotKhcXFwiLFxcbiAgICAgICAgICAgIFxcXCJsaXN0XFxcIjogW3tcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJ0aXRsZVxcXCI6IFxcXCIxMDgwcFxcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwidXJsXFxcIjogXFxcImh0dHBzOi8vMTA4MHAub25lL21vZ2FpX2FwaS5waHAvdjEudm9kXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJpbWdcXFwiOiBcXFwiaHR0cHM6Ly9pbm1lbW9yeS5jb2RpbmcubmV0L3AvSW5NZW1vcnkvZC9NQnJvd3Nlci9naXQvcmF3L21hc3Rlci9BcHBGaWxlL0FwcEljb24vMTA4MHAucG5nXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJtdXJsXFxcIjogXFxcInE6QVBQ5b2x6KeGXFxcIlxcbiAgICAgICAgICAgICAgICB9LFxcbiAgICAgICAgICAgICAgICB7XFxuICAgICAgICAgICAgICAgICAgICBcXFwidGl0bGVcXFwiOiBcXFwiMTIzMURcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcInVybFxcXCI6IFxcXCJodHRwczovL3Z1ZS5hcHAueXVuYm95cy5jbi9hcGkucGhwL3YxLnZvZFxcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwiaW1nXFxcIjogXFxcImh0dHBzOi8vaW5tZW1vcnkuY29kaW5nLm5ldC9wL0luTWVtb3J5L2QvTUJyb3dzZXIvZ2l0L3Jhdy9tYXN0ZXIvQXBwRmlsZS9BcHBJY29uLzEyMzFELnBuZ1xcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwibXVybFxcXCI6IFxcXCJxOkFQUOW9seinhlxcXCJcXG4gICAgICAgICAgICAgICAgfSxcXG4gICAgICAgICAgICAgICAge1xcbiAgICAgICAgICAgICAgICAgICAgXFxcInRpdGxlXFxcIjogXFxcIjMwMOeci+S4lueVjFxcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwidXJsXFxcIjogXFxcImh0dHBzOi8vMzAweXMueHl6L2FwaS5waHAvdjEudm9kXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJpbWdcXFwiOiBcXFwiaHR0cHM6Ly9pbm1lbW9yeS5jb2RpbmcubmV0L3AvSW5NZW1vcnkvZC9NQnJvd3Nlci9naXQvcmF3L21hc3Rlci9BcHBGaWxlL0FwcEljb24vMzAw55yL5LiW55WMLnBuZ1xcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwibXVybFxcXCI6IFxcXCJxOkFQUOW9seinhlxcXCJcXG4gICAgICAgICAgICAgICAgfSxcXG4gICAgICAgICAgICAgICAge1xcbiAgICAgICAgICAgICAgICAgICAgXFxcInRpdGxlXFxcIjogXFxcIjRL5b2x6ZmiXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJ1cmxcXFwiOiBcXFwiaHR0cDovLzFhcGkuNGtkeXR2LmNvbS9hcGkucGhwL3YxLnZvZFxcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwiaW1nXFxcIjogXFxcImh0dHBzOi8vaW5tZW1vcnkuY29kaW5nLm5ldC9wL0luTWVtb3J5L2QvTUJyb3dzZXIvZ2l0L3Jhdy9tYXN0ZXIvQXBwRmlsZS9BcHBJY29uLzRL5b2x6ZmiLnBuZ1xcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwibXVybFxcXCI6IFxcXCJxOkFQUOW9seinhlxcXCJcXG4gICAgICAgICAgICAgICAgfSxcXG4gICAgICAgICAgICAgICAge1xcbiAgICAgICAgICAgICAgICAgICAgXFxcInRpdGxlXFxcIjogXFxcIjgwS+W9seinhlxcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwidXJsXFxcIjogXFxcImh0dHBzOi8vMTA4MHAudHYvYXBpLnBocC92MS52b2RcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcImltZ1xcXCI6IFxcXCJodHRwczovL2lubWVtb3J5LmNvZGluZy5uZXQvcC9Jbk1lbW9yeS9kL01Ccm93c2VyL2dpdC9yYXcvbWFzdGVyL0FwcEZpbGUvQXBwSWNvbi84MEvlvbHop4YucG5nXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJtdXJsXFxcIjogXFxcInE6QVBQ5b2x6KeGXFxcIlxcbiAgICAgICAgICAgICAgICB9LFxcbiAgICAgICAgICAgICAgICB7XFxuICAgICAgICAgICAgICAgICAgICBcXFwidGl0bGVcXFwiOiBcXFwiQ0pU5b2x6ZmiXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJ1cmxcXFwiOiBcXFwiaHR0cHM6Ly93d3cuY2p0NTIxLmNvbS9hcGkucGhwL3YxLnZvZFxcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwiaW1nXFxcIjogXFxcImh0dHBzOi8vaW5tZW1vcnkuY29kaW5nLm5ldC9wL0luTWVtb3J5L2QvTUJyb3dzZXIvZ2l0L3Jhdy9tYXN0ZXIvQXBwRmlsZS9BcHBJY29uL0NKVOW9semZoi5wbmdcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcIm11cmxcXFwiOiBcXFwicTpBUFDlvbHop4ZcXFwiXFxuICAgICAgICAgICAgICAgIH0sXFxuICAgICAgICAgICAgICAgIHtcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJ0aXRsZVxcXCI6IFxcXCJEQ+W9seinhlxcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwidXJsXFxcIjogXFxcImh0dHA6Ly9jaGFvcmVuYmIuY29tL2FwaS5waHAvdjEudm9kXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJpbWdcXFwiOiBcXFwiaHR0cHM6Ly9pbm1lbW9yeS5jb2RpbmcubmV0L3AvSW5NZW1vcnkvZC9NQnJvd3Nlci9naXQvcmF3L21hc3Rlci9BcHBGaWxlL0FwcEljb24vREPlvbHop4YucG5nXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJtdXJsXFxcIjogXFxcInE6QVBQ5b2x6KeGXFxcIlxcbiAgICAgICAgICAgICAgICB9LFxcbiAgICAgICAgICAgICAgICB7XFxuICAgICAgICAgICAgICAgICAgICBcXFwidGl0bGVcXFwiOiBcXFwiRjfpq5jmuIVcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcInVybFxcXCI6IFxcXCJodHRwOi8vYmMuaGFva2FuanUxLmNjL2x2ZG91X2FwaS5waHAvdjEudm9kXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJpbWdcXFwiOiBcXFwiaHR0cHM6Ly9pbm1lbW9yeS5jb2RpbmcubmV0L3AvSW5NZW1vcnkvZC9NQnJvd3Nlci9naXQvcmF3L21hc3Rlci9BcHBGaWxlL0FwcEljb24vRjfpq5jmuIUucG5nXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJtdXJsXFxcIjogXFxcInE6QVBQ5b2x6KeGXFxcIlxcbiAgICAgICAgICAgICAgICB9LFxcbiAgICAgICAgICAgICAgICB7XFxuICAgICAgICAgICAgICAgICAgICBcXFwidGl0bGVcXFwiOiBcXFwiSEflvbHop4ZcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcInVybFxcXCI6IFxcXCJodHRwOi8vaGd5eC52aXAvYXBpLnBocC92MS52b2RcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcImltZ1xcXCI6IFxcXCJodHRwczovL2lubWVtb3J5LmNvZGluZy5uZXQvcC9Jbk1lbW9yeS9kL01Ccm93c2VyL2dpdC9yYXcvbWFzdGVyL0FwcEZpbGUvQXBwSWNvbi9IR+W9seinhi5wbmdcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcIm11cmxcXFwiOiBcXFwicTpBUFDlvbHop4ZcXFwiXFxuICAgICAgICAgICAgICAgIH0sXFxuICAgICAgICAgICAgICAgIHtcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJ0aXRsZVxcXCI6IFxcXCJsMGzlvbHpmaJcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcInVybFxcXCI6IFxcXCJodHRwczovL2wwbC50di9hcGkucGhwL3YxLnZvZFxcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwiaW1nXFxcIjogXFxcImh0dHBzOi8vaW5tZW1vcnkuY29kaW5nLm5ldC9wL0luTWVtb3J5L2QvTUJyb3dzZXIvZ2l0L3Jhdy9tYXN0ZXIvQXBwRmlsZS9BcHBJY29uL2wwbOW9semZoi5wbmdcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcIm11cmxcXFwiOiBcXFwicTpBUFDlvbHop4ZcXFwiXFxuICAgICAgICAgICAgICAgIH0sXFxuICAgICAgICAgICAgICAgIHtcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJ0aXRsZVxcXCI6IFxcXCLniLHnnIvnvo7liadcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcInVybFxcXCI6IFxcXCJodHRwczovL3d3dy51dW1qdy5jb20vYXBpLnBocC92MS52b2RcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcImltZ1xcXCI6IFxcXCJodHRwczovL2lubWVtb3J5LmNvZGluZy5uZXQvcC9Jbk1lbW9yeS9kL01Ccm93c2VyL2dpdC9yYXcvbWFzdGVyL0FwcEZpbGUvQXBwSWNvbi/niLHnnIvnvo7liacucG5nXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJtdXJsXFxcIjogXFxcInE6QVBQ5b2x6KeGXFxcIlxcbiAgICAgICAgICAgICAgICB9LFxcbiAgICAgICAgICAgICAgICB7XFxuICAgICAgICAgICAgICAgICAgICBcXFwidGl0bGVcXFwiOiBcXFwi54ix6YW35b2x6KeGXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJ1cmxcXFwiOiBcXFwiaHR0cHM6Ly93d3cuemhhbmxhbmdidS5jb20vcnVpZmVuZ2xiX2FwaS5waHAvdjEudm9kXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJpbWdcXFwiOiBcXFwiaHR0cHM6Ly9pbm1lbW9yeS5jb2RpbmcubmV0L3AvSW5NZW1vcnkvZC9NQnJvd3Nlci9naXQvcmF3L21hc3Rlci9BcHBGaWxlL0FwcEljb24v54ix6YW35b2x6KeGLnBuZ1xcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwibXVybFxcXCI6IFxcXCJxOkFQUOW9seinhlxcXCJcXG4gICAgICAgICAgICAgICAgfSxcXG4gICAgICAgICAgICAgICAge1xcbiAgICAgICAgICAgICAgICAgICAgXFxcInRpdGxlXFxcIjogXFxcIuiPnOm4n+i/veWJp1xcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwidXJsXFxcIjogXFxcImh0dHA6Ly84MS43MS4xOC45NTo1NTU1L21vZ2FpX2FwaS5waHAvdjEudm9kXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJpbWdcXFwiOiBcXFwiaHR0cHM6Ly9pbm1lbW9yeS5jb2RpbmcubmV0L3AvSW5NZW1vcnkvZC9NQnJvd3Nlci9naXQvcmF3L21hc3Rlci9BcHBGaWxlL0FwcEljb24v6I+c6bif6L+95YmnLnBuZ1xcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwibXVybFxcXCI6IFxcXCJxOkFQUOW9seinhlxcXCJcXG4gICAgICAgICAgICAgICAgfSxcXG4gICAgICAgICAgICAgICAge1xcbiAgICAgICAgICAgICAgICAgICAgXFxcInRpdGxlXFxcIjogXFxcIueZveWrluW9seinhlxcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwidXJsXFxcIjogXFxcImh0dHA6Ly96Z2p4ZHRnLmNuL2FwaS5waHAvdjEudm9kXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJpbWdcXFwiOiBcXFwiaHR0cHM6Ly9pbm1lbW9yeS5jb2RpbmcubmV0L3AvSW5NZW1vcnkvZC9NQnJvd3Nlci9naXQvcmF3L21hc3Rlci9BcHBGaWxlL0FwcEljb24v55m95auW5b2x6KeGLnBuZ1xcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwibXVybFxcXCI6IFxcXCJxOkFQUOW9seinhlxcXCJcXG4gICAgICAgICAgICAgICAgfSxcXG4gICAgICAgICAgICAgICAge1xcbiAgICAgICAgICAgICAgICAgICAgXFxcInRpdGxlXFxcIjogXFxcIueIseeci+W9semZolxcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwidXJsXFxcIjogXFxcImh0dHA6Ly93d3cuYTkxLmNtL2FwaS5waHAvdjEudm9kXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJpbWdcXFwiOiBcXFwiaHR0cHM6Ly9pbm1lbW9yeS5jb2RpbmcubmV0L3AvSW5NZW1vcnkvZC9NQnJvd3Nlci9naXQvcmF3L21hc3Rlci9BcHBGaWxlL0FwcEljb24v6YCa55So5Zu+5qCHLnBuZ1xcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwibXVybFxcXCI6IFxcXCJxOkFQUOW9seinhlxcXCJcXG4gICAgICAgICAgICAgICAgfSxcXG4gICAgICAgICAgICAgICAge1xcbiAgICAgICAgICAgICAgICAgICAgXFxcInRpdGxlXFxcIjogXFxcIuWIneW/g+W9seinhlxcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwidXJsXFxcIjogXFxcImh0dHBzOi8vd3d3LjE4bXYuY2x1Yi9hcGkucGhwL3YxLnZvZFxcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwiaW1nXFxcIjogXFxcImh0dHBzOi8vaW5tZW1vcnkuY29kaW5nLm5ldC9wL0luTWVtb3J5L2QvTUJyb3dzZXIvZ2l0L3Jhdy9tYXN0ZXIvQXBwRmlsZS9BcHBJY29uL+WIneW/g+W9seinhi5wbmdcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcIm11cmxcXFwiOiBcXFwicTpBUFDlvbHop4ZcXFwiXFxuICAgICAgICAgICAgICAgIH0sXFxuICAgICAgICAgICAgICAgIHtcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJ0aXRsZVxcXCI6IFxcXCLni6zmkq3npL5cXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcInVybFxcXCI6IFxcXCJodHRwOi8vMzV5cy5jYy9hcGkucGhwL3YxLnZvZFxcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwiaW1nXFxcIjogXFxcImh0dHBzOi8vaW5tZW1vcnkuY29kaW5nLm5ldC9wL0luTWVtb3J5L2QvTUJyb3dzZXIvZ2l0L3Jhdy9tYXN0ZXIvQXBwRmlsZS9BcHBJY29uL+eLrOaSreekvi5wbmdcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcIm11cmxcXFwiOiBcXFwicTpBUFDlvbHop4ZcXFwiXFxuICAgICAgICAgICAgICAgIH0sXFxuICAgICAgICAgICAgICAgIHtcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJ0aXRsZVxcXCI6IFxcXCLlj67lvZPlvbHop4ZcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcInVybFxcXCI6IFxcXCJodHRwczovL3R2LjA1NzN3bC5jb20vYXBpLnBocC92MS52b2RcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcImltZ1xcXCI6IFxcXCJodHRwczovL2lubWVtb3J5LmNvZGluZy5uZXQvcC9Jbk1lbW9yeS9kL01Ccm93c2VyL2dpdC9yYXcvbWFzdGVyL0FwcEZpbGUvQXBwSWNvbi/lj67lvZPlvbHop4YucG5nXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJtdXJsXFxcIjogXFxcInE6QVBQ5b2x6KeGXFxcIlxcbiAgICAgICAgICAgICAgICB9LFxcbiAgICAgICAgICAgICAgICB7XFxuICAgICAgICAgICAgICAgICAgICBcXFwidGl0bGVcXFwiOiBcXFwi5q615Y+L5b2x6KeGXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJ1cmxcXFwiOiBcXFwiaHR0cDovLzEyMS4yMDQuMjQ5LjEzNTo0NDMzL3J1aWZlbmdsYl9hcGkucGhwL3YxLnZvZFxcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwiaW1nXFxcIjogXFxcImh0dHBzOi8vaW5tZW1vcnkuY29kaW5nLm5ldC9wL0luTWVtb3J5L2QvTUJyb3dzZXIvZ2l0L3Jhdy9tYXN0ZXIvQXBwRmlsZS9BcHBJY29uL+auteWPi+W9seinhjMucG5nXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJtdXJsXFxcIjogXFxcInE6QVBQ5b2x6KeGXFxcIlxcbiAgICAgICAgICAgICAgICB9LFxcbiAgICAgICAgICAgICAgICB7XFxuICAgICAgICAgICAgICAgICAgICBcXFwidGl0bGVcXFwiOiBcXFwi5q615Y+L5b2x6KeGXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJ1cmxcXFwiOiBcXFwiaHR0cHM6Ly9zaGFuZ2ppaHVva2UuY29tL2FwaS5waHAvdHYudm9kXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJpbWdcXFwiOiBcXFwiaHR0cHM6Ly9pbm1lbW9yeS5jb2RpbmcubmV0L3AvSW5NZW1vcnkvZC9NQnJvd3Nlci9naXQvcmF3L21hc3Rlci9BcHBGaWxlL0FwcEljb24v5q615Y+L5b2x6KeGLnBuZ1xcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwibXVybFxcXCI6IFxcXCJxOkFQUOW9seinhlxcXCJcXG4gICAgICAgICAgICAgICAgfSxcXG4gICAgICAgICAgICAgICAge1xcbiAgICAgICAgICAgICAgICAgICAgXFxcInRpdGxlXFxcIjogXFxcIumlreWQjueUteW9sVxcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwidXJsXFxcIjogXFxcImh0dHA6Ly9zdW1tLnZpcC9hcGkucGhwL3YxLnZvZFxcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwiaW1nXFxcIjogXFxcImh0dHBzOi8vaW5tZW1vcnkuY29kaW5nLm5ldC9wL0luTWVtb3J5L2QvTUJyb3dzZXIvZ2l0L3Jhdy9tYXN0ZXIvQXBwRmlsZS9BcHBJY29uL+mlreWQjueUteW9sS5wbmdcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcIm11cmxcXFwiOiBcXFwicTpBUFDlvbHop4ZcXFwiXFxuICAgICAgICAgICAgICAgIH0sXFxuICAgICAgICAgICAgICAgIHtcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJ0aXRsZVxcXCI6IFxcXCLpo57mjbflvbHop4ZcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcInVybFxcXCI6IFxcXCJodHRwczovL3d3dy5majYwODAuY29tL2FwaS5waHAvdjEudm9kXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJpbWdcXFwiOiBcXFwiaHR0cHM6Ly9pbm1lbW9yeS5jb2RpbmcubmV0L3AvSW5NZW1vcnkvZC9NQnJvd3Nlci9naXQvcmF3L21hc3Rlci9BcHBGaWxlL0FwcEljb24v6aOe5o235b2x6KeGLnBuZ1xcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwibXVybFxcXCI6IFxcXCJxOkFQUOW9seinhlxcXCJcXG4gICAgICAgICAgICAgICAgfSxcXG4gICAgICAgICAgICAgICAge1xcbiAgICAgICAgICAgICAgICAgICAgXFxcInRpdGxlXFxcIjogXFxcIueWr+eLgueci1xcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwidXJsXFxcIjogXFxcImh0dHA6Ly9hcHAuZmtrZHkudmlwL21vZ2FpX2FwaS5waHAvdjEudm9kXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJpbWdcXFwiOiBcXFwiaHR0cHM6Ly9pbm1lbW9yeS5jb2RpbmcubmV0L3AvSW5NZW1vcnkvZC9NQnJvd3Nlci9naXQvcmF3L21hc3Rlci9BcHBGaWxlL0FwcEljb24v55av54uC55yL55S15b2xLnBuZ1xcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwibXVybFxcXCI6IFxcXCJxOkFQUOW9seinhlxcXCJcXG4gICAgICAgICAgICAgICAgfSxcXG4gICAgICAgICAgICAgICAge1xcbiAgICAgICAgICAgICAgICAgICAgXFxcInRpdGxlXFxcIjogXFxcIueyieixoeinhueVjFxcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwidXJsXFxcIjogXFxcImh0dHA6Ly80Mi4xNTcuMTI5LjE1OjM0NDQ0L2x2ZG91X2FwaS5waHAvdjEudm9kXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJpbWdcXFwiOiBcXFwiaHR0cHM6Ly9pbm1lbW9yeS5jb2RpbmcubmV0L3AvSW5NZW1vcnkvZC9NQnJvd3Nlci9naXQvcmF3L21hc3Rlci9BcHBGaWxlL0FwcEljb24v57KJ6LGh6KeG55WMLnBuZ1xcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwibXVybFxcXCI6IFxcXCJxOkFQUOW9seinhlxcXCJcXG4gICAgICAgICAgICAgICAgfSxcXG4gICAgICAgICAgICAgICAge1xcbiAgICAgICAgICAgICAgICAgICAgXFxcInRpdGxlXFxcIjogXFxcIuaxh+iBmuW6k1RWXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJ1cmxcXFwiOiBcXFwiaHR0cHM6Ly93d3cuenpjbG92ZTY2Ni5jb20vYXBpLnBocC92MS52b2RcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcImltZ1xcXCI6IFxcXCJodHRwczovL2lubWVtb3J5LmNvZGluZy5uZXQvcC9Jbk1lbW9yeS9kL01Ccm93c2VyL2dpdC9yYXcvbWFzdGVyL0FwcEZpbGUvQXBwSWNvbi/msYfogZrlupNUVi5wbmdcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcIm11cmxcXFwiOiBcXFwicTpBUFDlvbHop4ZcXFwiXFxuICAgICAgICAgICAgICAgIH0sXFxuICAgICAgICAgICAgICAgIHtcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJ0aXRsZVxcXCI6IFxcXCLomY7njKvop4bpopFcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcInVybFxcXCI6IFxcXCJodHRwczovL2h1bWFvc3AuY29tL21vZ2FpX2FwaS5waHAvdjEudm9kXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJpbWdcXFwiOiBcXFwiaHR0cHM6Ly9pbm1lbW9yeS5jb2RpbmcubmV0L3AvSW5NZW1vcnkvZC9NQnJvd3Nlci9naXQvcmF3L21hc3Rlci9BcHBGaWxlL0FwcEljb24v6JmO54yr6KeG6aKRLnBuZ1xcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwibXVybFxcXCI6IFxcXCJxOkFQUOW9seinhlxcXCJcXG4gICAgICAgICAgICAgICAgfSxcXG4gICAgICAgICAgICAgICAge1xcbiAgICAgICAgICAgICAgICAgICAgXFxcInRpdGxlXFxcIjogXFxcIuWPr+exs+W9seinhlxcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwidXJsXFxcIjogXFxcImh0dHA6Ly93d3cua215cy52aXAvYXBpLnBocC92MS52b2RcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcImltZ1xcXCI6IFxcXCJodHRwczovL2lubWVtb3J5LmNvZGluZy5uZXQvcC9Jbk1lbW9yeS9kL01Ccm93c2VyL2dpdC9yYXcvbWFzdGVyL0FwcEZpbGUvQXBwSWNvbi/lj6/nsbPlvbHop4YucG5nXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJtdXJsXFxcIjogXFxcInE6QVBQ5b2x6KeGXFxcIlxcbiAgICAgICAgICAgICAgICB9LFxcbiAgICAgICAgICAgICAgICB7XFxuICAgICAgICAgICAgICAgICAgICBcXFwidGl0bGVcXFwiOiBcXFwi5bq36ICA5b2x6KeGXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJ1cmxcXFwiOiBcXFwiaHR0cDovL2FwcC55Ynl5ZHMuY24vbW9nYWlfYXBpLnBocC92MS52b2RcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcImltZ1xcXCI6IFxcXCJodHRwczovL2lubWVtb3J5LmNvZGluZy5uZXQvcC9Jbk1lbW9yeS9kL01Ccm93c2VyL2dpdC9yYXcvbWFzdGVyL0FwcEZpbGUvQXBwSWNvbi/lurfogIDlvbHop4YucG5nXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJtdXJsXFxcIjogXFxcInE6QVBQ5b2x6KeGXFxcIlxcbiAgICAgICAgICAgICAgICB9LFxcbiAgICAgICAgICAgICAgICB7XFxuICAgICAgICAgICAgICAgICAgICBcXFwidGl0bGVcXFwiOiBcXFwi57u/566t5b2x6KeGXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJ1cmxcXFwiOiBcXFwiaHR0cDovL3d3dy42OXR5LmNjL21vZ2FpX2FwaS5waHAvdjEudm9kXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJpbWdcXFwiOiBcXFwiaHR0cHM6Ly9pbm1lbW9yeS5jb2RpbmcubmV0L3AvSW5NZW1vcnkvZC9NQnJvd3Nlci9naXQvcmF3L21hc3Rlci9BcHBGaWxlL0FwcEljb24v57u/566t5b2x6KeGLnBuZ1xcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwibXVybFxcXCI6IFxcXCJxOkFQUOW9seinhlxcXCJcXG4gICAgICAgICAgICAgICAgfSxcXG4gICAgICAgICAgICAgICAge1xcbiAgICAgICAgICAgICAgICAgICAgXFxcInRpdGxlXFxcIjogXFxcIuaHkueMq+eUteW9sVxcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwidXJsXFxcIjogXFxcImh0dHA6Ly93d3cuZXNlbGxhdXRvLmNvbS9ydWlmZW5nbGJfYXBpLnBocC92MS52b2RcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcImltZ1xcXCI6IFxcXCJodHRwczovL2lubWVtb3J5LmNvZGluZy5uZXQvcC9Jbk1lbW9yeS9kL01Ccm93c2VyL2dpdC9yYXcvbWFzdGVyL0FwcEZpbGUvQXBwSWNvbi/mh5LnjKvnlLXlvbEucG5nXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJtdXJsXFxcIjogXFxcInE6QVBQ5b2x6KeGXFxcIlxcbiAgICAgICAgICAgICAgICB9LFxcbiAgICAgICAgICAgICAgICB7XFxuICAgICAgICAgICAgICAgICAgICBcXFwidGl0bGVcXFwiOiBcXFwi6Jyc6JyC5b2x6KeGXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJ1cmxcXFwiOiBcXFwiaHR0cDovL2FwcC5mOHRwLmNvbS9sdmRvdV9hcGkucGhwL3YxLnZvZFxcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwiaW1nXFxcIjogXFxcImh0dHBzOi8vaW5tZW1vcnkuY29kaW5nLm5ldC9wL0luTWVtb3J5L2QvTUJyb3dzZXIvZ2l0L3Jhdy9tYXN0ZXIvQXBwRmlsZS9BcHBJY29uL+icnOicguW9seinhi5wbmdcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcIm11cmxcXFwiOiBcXFwicTpBUFDlvbHop4ZcXFwiXFxuICAgICAgICAgICAgICAgIH0sXFxuICAgICAgICAgICAgICAgIHtcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJ0aXRsZVxcXCI6IFxcXCLpurvnk5zop4bpopFcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcInVybFxcXCI6IFxcXCJodHRwOi8vYWxpeXVuLms4YWEuY29tL21vZ2FpX2FwaS5waHAvdjEudm9kXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJpbWdcXFwiOiBcXFwiaHR0cHM6Ly9pbm1lbW9yeS5jb2RpbmcubmV0L3AvSW5NZW1vcnkvZC9NQnJvd3Nlci9naXQvcmF3L21hc3Rlci9BcHBGaWxlL0FwcEljb24v6bq755Oc6KeG6aKRMS5wbmdcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcIm11cmxcXFwiOiBcXFwicTpBUFDlvbHop4ZcXFwiXFxuICAgICAgICAgICAgICAgIH0sXFxuICAgICAgICAgICAgICAgIHtcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJ0aXRsZVxcXCI6IFxcXCLnvo7liafomatcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcInVybFxcXCI6IFxcXCJodHRwczovL21laWp1Y2hvbmcuY29tL2FwaS5waHAvdjEudm9kXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJpbWdcXFwiOiBcXFwiaHR0cHM6Ly9pbm1lbW9yeS5jb2RpbmcubmV0L3AvSW5NZW1vcnkvZC9NQnJvd3Nlci9naXQvcmF3L21hc3Rlci9BcHBGaWxlL0FwcEljb24v576O5Ymn6JmrLnBuZ1xcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwibXVybFxcXCI6IFxcXCJxOkFQUOW9seinhlxcXCJcXG4gICAgICAgICAgICAgICAgfSxcXG4gICAgICAgICAgICAgICAge1xcbiAgICAgICAgICAgICAgICAgICAgXFxcInRpdGxlXFxcIjogXFxcIuacqOWtkOeUteW9sVxcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwidXJsXFxcIjogXFxcImh0dHA6Ly93d3cubXV6aWR5LnRvcC9tb2dhaV9hcGkucGhwL3YxLnZvZFxcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwiaW1nXFxcIjogXFxcImh0dHBzOi8vaW5tZW1vcnkuY29kaW5nLm5ldC9wL0luTWVtb3J5L2QvTUJyb3dzZXIvZ2l0L3Jhdy9tYXN0ZXIvQXBwRmlsZS9BcHBJY29uL+acqOWtkOeUteW9sS5wbmdcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcIm11cmxcXFwiOiBcXFwicTpBUFDlvbHop4ZcXFwiXFxuICAgICAgICAgICAgICAgIH0sXFxuICAgICAgICAgICAgICAgIHtcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJ0aXRsZVxcXCI6IFxcXCLlpYjpnZ7ov7dcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcInVybFxcXCI6IFxcXCJodHRwczovL2FwcC5uZXRmbGl4bWkuY29tL2FwaS5waHAvdjEudm9kXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJpbWdcXFwiOiBcXFwiaHR0cHM6Ly9pbm1lbW9yeS5jb2RpbmcubmV0L3AvSW5NZW1vcnkvZC9NQnJvd3Nlci9naXQvcmF3L21hc3Rlci9BcHBGaWxlL0FwcEljb24v5aWI6Z2e6L+35b2x6KeGLnBuZ1xcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwibXVybFxcXCI6IFxcXCJxOkFQUOW9seinhlxcXCJcXG4gICAgICAgICAgICAgICAgfSxcXG4gICAgICAgICAgICAgICAge1xcbiAgICAgICAgICAgICAgICAgICAgXFxcInRpdGxlXFxcIjogXFxcIuWNl+W6nOW9seinhlxcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwidXJsXFxcIjogXFxcImh0dHA6Ly9pYXBwLm5mdXhzLmNsdWIvZG5tYi5waHAvdjEudm9kXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJpbWdcXFwiOiBcXFwiaHR0cHM6Ly9pbm1lbW9yeS5jb2RpbmcubmV0L3AvSW5NZW1vcnkvZC9NQnJvd3Nlci9naXQvcmF3L21hc3Rlci9BcHBGaWxlL0FwcEljb24v5Y2X5bqc5b2x6KeGLnBuZ1xcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwibXVybFxcXCI6IFxcXCJxOkFQUOW9seinhlxcXCJcXG4gICAgICAgICAgICAgICAgfSxcXG4gICAgICAgICAgICAgICAge1xcbiAgICAgICAgICAgICAgICAgICAgXFxcInRpdGxlXFxcIjogXFxcIuaaluWFieW9seinhlxcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwidXJsXFxcIjogXFxcImh0dHBzOi8vYXBwLmJsMjEwLmNvbS9hcGkucGhwL3YxLnZvZFxcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwiaW1nXFxcIjogXFxcImh0dHBzOi8vaW5tZW1vcnkuY29kaW5nLm5ldC9wL0luTWVtb3J5L2QvTUJyb3dzZXIvZ2l0L3Jhdy9tYXN0ZXIvQXBwRmlsZS9BcHBJY29uL+aaluWFieW9seinhi5wbmdcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcIm11cmxcXFwiOiBcXFwicTpBUFDlvbHop4ZcXFwiXFxuICAgICAgICAgICAgICAgIH0sXFxuICAgICAgICAgICAgICAgIHtcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJ0aXRsZVxcXCI6IFxcXCLlv7Xlv7XlvbHop4ZcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcInVybFxcXCI6IFxcXCJodHRwczovLzk5OC55dWFubWFqcy5jbi9hcGkucGhwL3YxLnZvZFxcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwiaW1nXFxcIjogXFxcImh0dHBzOi8vaW5tZW1vcnkuY29kaW5nLm5ldC9wL0luTWVtb3J5L2QvTUJyb3dzZXIvZ2l0L3Jhdy9tYXN0ZXIvQXBwRmlsZS9BcHBJY29uL+W/teW/teW9seinhi5wbmdcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcIm11cmxcXFwiOiBcXFwicTpBUFDlvbHop4ZcXFwiXFxuICAgICAgICAgICAgICAgIH0sXFxuICAgICAgICAgICAgICAgIHtcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJ0aXRsZVxcXCI6IFxcXCLmn6Dmn5rlvbHop4ZcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcInVybFxcXCI6IFxcXCJodHRwOi8vbnUuZTR0di5jbi9sdmRvdV9hcGkucGhwL3YxLnZvZFxcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwiaW1nXFxcIjogXFxcImh0dHBzOi8vaW5tZW1vcnkuY29kaW5nLm5ldC9wL0luTWVtb3J5L2QvTUJyb3dzZXIvZ2l0L3Jhdy9tYXN0ZXIvQXBwRmlsZS9BcHBJY29uL+afoOafmuW9seinhi5wbmdcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcIm11cmxcXFwiOiBcXFwicTpBUFDlvbHop4ZcXFwiXFxuICAgICAgICAgICAgICAgIH0sXFxuICAgICAgICAgICAgICAgIHtcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJ0aXRsZVxcXCI6IFxcXCLlpYfmgKrop4bpopFcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcInVybFxcXCI6IFxcXCJodHRwczovL2dpZ3VhaS5uZXQvYXBpLnBocC92MS52b2RcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcImltZ1xcXCI6IFxcXCJodHRwczovL2lubWVtb3J5LmNvZGluZy5uZXQvcC9Jbk1lbW9yeS9kL01Ccm93c2VyL2dpdC9yYXcvbWFzdGVyL0FwcEZpbGUvQXBwSWNvbi/pgJrnlKjlm77moIcucG5nXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJtdXJsXFxcIjogXFxcInE6QVBQ5b2x6KeGXFxcIlxcbiAgICAgICAgICAgICAgICB9LFxcbiAgICAgICAgICAgICAgICB7XFxuICAgICAgICAgICAgICAgICAgICBcXFwidGl0bGVcXFwiOiBcXFwi5LiD6Zu25Yqo5ryrXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJ1cmxcXFwiOiBcXFwiaHR0cHM6Ly9jZi43MHl1LmNuL21vZ2FpX2FwaS5waHAvdjEudm9kXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJpbWdcXFwiOiBcXFwiaHR0cHM6Ly9pbm1lbW9yeS5jb2RpbmcubmV0L3AvSW5NZW1vcnkvZC9NQnJvd3Nlci9naXQvcmF3L21hc3Rlci9BcHBGaWxlL0FwcEljb24v5LiD6Zu25Yqo5ryrLnBuZ1xcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwibXVybFxcXCI6IFxcXCJxOkFQUOW9seinhlxcXCJcXG4gICAgICAgICAgICAgICAgfSxcXG4gICAgICAgICAgICAgICAge1xcbiAgICAgICAgICAgICAgICAgICAgXFxcInRpdGxlXFxcIjogXFxcIueRnuS4sOi1hOa6kFxcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwidXJsXFxcIjogXFxcImh0dHBzOi8vdHYueWpoYW4uY29tOjQ0MzMvcnVpZmVuZ2xiX2FwaS5waHAvdjEudm9kXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJpbWdcXFwiOiBcXFwiaHR0cHM6Ly9pbm1lbW9yeS5jb2RpbmcubmV0L3AvSW5NZW1vcnkvZC9NQnJvd3Nlci9naXQvcmF3L21hc3Rlci9BcHBGaWxlL0FwcEljb24v55Ge5LiwLnBuZ1xcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwibXVybFxcXCI6IFxcXCJxOkFQUOW9seinhlxcXCJcXG4gICAgICAgICAgICAgICAgfSxcXG4gICAgICAgICAgICAgICAge1xcbiAgICAgICAgICAgICAgICAgICAgXFxcInRpdGxlXFxcIjogXFxcIumXquWFieW9seinhlxcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwidXJsXFxcIjogXFxcImh0dHA6Ly8xMDEuMzUuMTI4LjE5Mi9tdWJhaV9hcGkucGhwL20yLnZvZFxcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwiaW1nXFxcIjogXFxcImh0dHBzOi8vaW5tZW1vcnkuY29kaW5nLm5ldC9wL0luTWVtb3J5L2QvTUJyb3dzZXIvZ2l0L3Jhdy9tYXN0ZXIvQXBwRmlsZS9BcHBJY29uL+mXquWFieW9seinhi5wbmdcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcIm11cmxcXFwiOiBcXFwicTpBUFDlvbHop4ZcXFwiXFxuICAgICAgICAgICAgICAgIH0sXFxuICAgICAgICAgICAgICAgIHtcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJ0aXRsZVxcXCI6IFxcXCLmgJ3kuZDlvbHop4ZcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcInVybFxcXCI6IFxcXCJodHRwczovL3d3dy5odWFuZGlhbi50b3AvcnVpZmVuZ2xiX2FwaS5waHAvdjEudm9kXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJpbWdcXFwiOiBcXFwiaHR0cHM6Ly9pbm1lbW9yeS5jb2RpbmcubmV0L3AvSW5NZW1vcnkvZC9NQnJvd3Nlci9naXQvcmF3L21hc3Rlci9BcHBGaWxlL0FwcEljb24v5oCd5LmQ5b2x6KeGLnBuZ1xcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwibXVybFxcXCI6IFxcXCJxOkFQUOW9seinhlxcXCJcXG4gICAgICAgICAgICAgICAgfSxcXG4gICAgICAgICAgICAgICAge1xcbiAgICAgICAgICAgICAgICAgICAgXFxcInRpdGxlXFxcIjogXFxcIuWkqeivmuW9seinhlxcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwidXJsXFxcIjogXFxcImh0dHA6Ly90Y3NwdmlwLmNuL2FwaS5waHAvdjEudm9kXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJpbWdcXFwiOiBcXFwiaHR0cHM6Ly9pbm1lbW9yeS5jb2RpbmcubmV0L3AvSW5NZW1vcnkvZC9NQnJvd3Nlci9naXQvcmF3L21hc3Rlci9BcHBGaWxlL0FwcEljb24v5aSp6K+a5b2x6KeGLnBuZ1xcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwibXVybFxcXCI6IFxcXCJxOkFQUOW9seinhlxcXCJcXG4gICAgICAgICAgICAgICAgfSxcXG4gICAgICAgICAgICAgICAge1xcbiAgICAgICAgICAgICAgICAgICAgXFxcInRpdGxlXFxcIjogXFxcIuWkqeWkqeW9seinhlxcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwidXJsXFxcIjogXFxcImh0dHBzOi8vYXBwLmRhaXNodXNjLmNvbS9hcGkucGhwL3YxLnZvZFxcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwiaW1nXFxcIjogXFxcImh0dHBzOi8vaW5tZW1vcnkuY29kaW5nLm5ldC9wL0luTWVtb3J5L2QvTUJyb3dzZXIvZ2l0L3Jhdy9tYXN0ZXIvQXBwRmlsZS9BcHBJY29uL+WkqeWkqeW9seinhi5wbmdcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcIm11cmxcXFwiOiBcXFwicTpBUFDlvbHop4ZcXFwiXFxuICAgICAgICAgICAgICAgIH0sXFxuICAgICAgICAgICAgICAgIHtcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJ0aXRsZVxcXCI6IFxcXCLmuKnlpq7lvbHop4ZcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcInVybFxcXCI6IFxcXCJodHRwczovL3d3dy53ZW5uaXlzLmNvbS9tb2dhaV9hcGkucGhwL3YxLnZvZFxcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwiaW1nXFxcIjogXFxcImh0dHBzOi8vaW5tZW1vcnkuY29kaW5nLm5ldC9wL0luTWVtb3J5L2QvTUJyb3dzZXIvZ2l0L3Jhdy9tYXN0ZXIvQXBwRmlsZS9BcHBJY29uL+a4qeWmruW9seinhi5wbmdcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcIm11cmxcXFwiOiBcXFwicTpBUFDlvbHop4ZcXFwiXFxuICAgICAgICAgICAgICAgIH0sXFxuICAgICAgICAgICAgICAgIHtcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJ0aXRsZVxcXCI6IFxcXCLlsI/nmb3liqjmvKtcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcInVybFxcXCI6IFxcXCJodHRwOi8vMTIxLjYyLjYwLjIyMjoyMDIyMi9tb2dhaV9hcGkucGhwL3YxLnZvZFxcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwiaW1nXFxcIjogXFxcImh0dHBzOi8vaW5tZW1vcnkuY29kaW5nLm5ldC9wL0luTWVtb3J5L2QvTUJyb3dzZXIvZ2l0L3Jhdy9tYXN0ZXIvQXBwRmlsZS9BcHBJY29uL+Wwj+eZveWKqOa8qy5wbmdcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcIm11cmxcXFwiOiBcXFwicTpBUFDlvbHop4ZcXFwiXFxuICAgICAgICAgICAgICAgIH0sXFxuICAgICAgICAgICAgICAgIHtcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJ0aXRsZVxcXCI6IFxcXCLmmJ/ovrDop4bpopFcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcInVybFxcXCI6IFxcXCJodHRwczovL20uaGowOTk5LmNvbS9hcGkucGhwL3YxLnZvZFxcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwiaW1nXFxcIjogXFxcImh0dHBzOi8vaW5tZW1vcnkuY29kaW5nLm5ldC9wL0luTWVtb3J5L2QvTUJyb3dzZXIvZ2l0L3Jhdy9tYXN0ZXIvQXBwRmlsZS9BcHBJY29uL+aYn+i+sOinhumikS5wbmdcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcIm11cmxcXFwiOiBcXFwicTpBUFDlvbHop4ZcXFwiXFxuICAgICAgICAgICAgICAgIH0sXFxuICAgICAgICAgICAgICAgIHtcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJ0aXRsZVxcXCI6IFxcXCLlsI/mnoHlvbHop4ZcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcInVybFxcXCI6IFxcXCJodHRwOi8vYXBwLjhkOHEuY29tL2FwaS5waHAvdjEudm9kXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJpbWdcXFwiOiBcXFwiaHR0cHM6Ly9pbm1lbW9yeS5jb2RpbmcubmV0L3AvSW5NZW1vcnkvZC9NQnJvd3Nlci9naXQvcmF3L21hc3Rlci9BcHBGaWxlL0FwcEljb24v5bCP5p6B5b2x6KeGLnBuZ1xcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwibXVybFxcXCI6IFxcXCJxOkFQUOW9seinhlxcXCJcXG4gICAgICAgICAgICAgICAgfSxcXG4gICAgICAgICAgICAgICAge1xcbiAgICAgICAgICAgICAgICAgICAgXFxcInRpdGxlXFxcIjogXFxcIuW/g+m4vuW9seinhlxcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwidXJsXFxcIjogXFxcImh0dHA6Ly96aGl5dXR2Lnh5ei9hcGkucGhwL3YxLnZvZFxcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwiaW1nXFxcIjogXFxcImh0dHBzOi8vaW5tZW1vcnkuY29kaW5nLm5ldC9wL0luTWVtb3J5L2QvTUJyb3dzZXIvZ2l0L3Jhdy9tYXN0ZXIvQXBwRmlsZS9BcHBJY29uL+W/g+m4vuW9seinhi5wbmdcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcIm11cmxcXFwiOiBcXFwicTpBUFDlvbHop4ZcXFwiXFxuICAgICAgICAgICAgICAgIH0sXFxuICAgICAgICAgICAgICAgIHtcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJ0aXRsZVxcXCI6IFxcXCLpm6rkurrlvbHop4ZcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcInVybFxcXCI6IFxcXCJodHRwczovL3p5LnFkMjM0LmNuL21vZ2FpX2FwaS5waHAvdjEudm9kXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJpbWdcXFwiOiBcXFwiaHR0cHM6Ly9pbm1lbW9yeS5jb2RpbmcubmV0L3AvSW5NZW1vcnkvZC9NQnJvd3Nlci9naXQvcmF3L21hc3Rlci9BcHBGaWxlL0FwcEljb24v6Zuq5Lq65b2x6KeGLnBuZ1xcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwibXVybFxcXCI6IFxcXCJxOkFQUOW9seinhlxcXCJcXG4gICAgICAgICAgICAgICAgfSxcXG4gICAgICAgICAgICAgICAge1xcbiAgICAgICAgICAgICAgICAgICAgXFxcInRpdGxlXFxcIjogXFxcIuebiui+vuW9semZolxcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwidXJsXFxcIjogXFxcImh0dHA6Ly9sdW9idS55c3M2MDgwLmNvbS9tb2dhaV9hcGkucGhwL3YxLnZvZFxcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwiaW1nXFxcIjogXFxcImh0dHBzOi8vaW5tZW1vcnkuY29kaW5nLm5ldC9wL0luTWVtb3J5L2QvTUJyb3dzZXIvZ2l0L3Jhdy9tYXN0ZXIvQXBwRmlsZS9BcHBJY29uL+ebiui+vuW9semZoi5wbmdcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcIm11cmxcXFwiOiBcXFwicTpBUFDlvbHop4ZcXFwiXFxuICAgICAgICAgICAgICAgIH0sXFxuICAgICAgICAgICAgICAgIHtcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJ0aXRsZVxcXCI6IFxcXCLpm6jmnpzlvbHop4ZcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcInVybFxcXCI6IFxcXCJodHRwOi8vMi55aHlzNjMuY29tL2FwaS5waHAvdjEudm9kXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJpbWdcXFwiOiBcXFwiaHR0cHM6Ly9pbm1lbW9yeS5jb2RpbmcubmV0L3AvSW5NZW1vcnkvZC9NQnJvd3Nlci9naXQvcmF3L21hc3Rlci9BcHBGaWxlL0FwcEljb24v6Zuo5p6c5b2x6KeGLnBuZ1xcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwibXVybFxcXCI6IFxcXCJxOkFQUOW9seinhlxcXCJcXG4gICAgICAgICAgICAgICAgfSxcXG4gICAgICAgICAgICAgICAge1xcbiAgICAgICAgICAgICAgICAgICAgXFxcInRpdGxlXFxcIjogXFxcIuW9seinhuWkp+WFqFxcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwidXJsXFxcIjogXFxcImh0dHA6Ly9hcHAuMjY5dy5jb20vYXBpLnBocC92MS52b2RcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcImltZ1xcXCI6IFxcXCJodHRwczovL2lubWVtb3J5LmNvZGluZy5uZXQvcC9Jbk1lbW9yeS9kL01Ccm93c2VyL2dpdC9yYXcvbWFzdGVyL0FwcEZpbGUvQXBwSWNvbi/lvbHop4blpKflhagucG5nXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJtdXJsXFxcIjogXFxcInE6QVBQ5b2x6KeGXFxcIlxcbiAgICAgICAgICAgICAgICB9LFxcbiAgICAgICAgICAgICAgICB7XFxuICAgICAgICAgICAgICAgICAgICBcXFwidGl0bGVcXFwiOiBcXFwi5pyI6Imy5b2x6KeGXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJ1cmxcXFwiOiBcXFwiaHR0cDovLzY5dHkuY2MvbW9nYWlfYXBpLnBocC92MS52b2RcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcImltZ1xcXCI6IFxcXCJodHRwczovL2lubWVtb3J5LmNvZGluZy5uZXQvcC9Jbk1lbW9yeS9kL01Ccm93c2VyL2dpdC9yYXcvbWFzdGVyL0FwcEZpbGUvQXBwSWNvbi/mnIjoibLlvbHop4YucG5nXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJtdXJsXFxcIjogXFxcInE6QVBQ5b2x6KeGXFxcIlxcbiAgICAgICAgICAgICAgICB9LFxcbiAgICAgICAgICAgICAgICB7XFxuICAgICAgICAgICAgICAgICAgICBcXFwidGl0bGVcXFwiOiBcXFwi5LyY6KeG5b2x6KeGXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJ1cmxcXFwiOiBcXFwiaHR0cDovL2NjLnlzeXMuYXNpYS9hcGkucGhwL3YxLnZvZFxcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwiaW1nXFxcIjogXFxcImh0dHBzOi8vaW5tZW1vcnkuY29kaW5nLm5ldC9wL0luTWVtb3J5L2QvTUJyb3dzZXIvZ2l0L3Jhdy9tYXN0ZXIvQXBwRmlsZS9BcHBJY29uL+S8mOinhuW9seinhi5wbmdcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcIm11cmxcXFwiOiBcXFwicTpBUFDlvbHop4ZcXFwiXFxuICAgICAgICAgICAgICAgIH0sXFxuICAgICAgICAgICAgICAgIHtcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJ0aXRsZVxcXCI6IFxcXCLlvbHpmIXpmIFcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcInVybFxcXCI6IFxcXCJodHRwOi8vMjIxLjIzNi4xOC4xMjo2NjUvYXBpLnBocC92MS52b2RcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcImltZ1xcXCI6IFxcXCJodHRwczovL2lubWVtb3J5LmNvZGluZy5uZXQvcC9Jbk1lbW9yeS9kL01Ccm93c2VyL2dpdC9yYXcvbWFzdGVyL0FwcEZpbGUvQXBwSWNvbi/lvbHpmIXpmIEucG5nXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJtdXJsXFxcIjogXFxcInE6QVBQ5b2x6KeGXFxcIlxcbiAgICAgICAgICAgICAgICB9LFxcbiAgICAgICAgICAgICAgICB7XFxuICAgICAgICAgICAgICAgICAgICBcXFwidGl0bGVcXFwiOiBcXFwi6L+95Ymn5ZCnXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJ1cmxcXFwiOiBcXFwiaHR0cDovL3podWlqdTgudmlwL2FwaS5waHAvdjEudm9kXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJpbWdcXFwiOiBcXFwiaHR0cHM6Ly9pbm1lbW9yeS5jb2RpbmcubmV0L3AvSW5NZW1vcnkvZC9NQnJvd3Nlci9naXQvcmF3L21hc3Rlci9BcHBGaWxlL0FwcEljb24v6L+95Ymn5ZCn5b2x6KeGLnBuZ1xcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwibXVybFxcXCI6IFxcXCJxOkFQUOW9seinhlxcXCJcXG4gICAgICAgICAgICAgICAgfVxcbiAgICAgICAgICAgIF1cXG4gICAgICAgIH0sXFxuICAgICAgICB7XFxuICAgICAgICAgICAgXFxcInRpdGxlXFxcIjogXFxcIuaZrumAmlxcXCIsXFxuICAgICAgICAgICAgXFxcImxpc3RcXFwiOiBbe1xcbiAgICAgICAgICAgICAgICAgICAgXFxcInRpdGxlXFxcIjogXFxcIjUx6KeG6aKRXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJ1cmxcXFwiOiBcXFwiaHR0cDovLzUxc2hpcGluLmNjL21vZ2FpX2FwaS5waHAvdjEudm9kXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJpbWdcXFwiOiBcXFwiaHR0cHM6Ly9pbm1lbW9yeS5jb2RpbmcubmV0L3AvSW5NZW1vcnkvZC9NQnJvd3Nlci9naXQvcmF3L21hc3Rlci9BcHBGaWxlL0FwcEljb24vNTHop4bpopEucG5nXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJtdXJsXFxcIjogXFxcInE6QVBQ5b2x6KeGXFxcIlxcbiAgICAgICAgICAgICAgICB9LFxcbiAgICAgICAgICAgICAgICB7XFxuICAgICAgICAgICAgICAgICAgICBcXFwidGl0bGVcXFwiOiBcXFwiODDlvbHop4ZcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcInVybFxcXCI6IFxcXCJodHRwOi8vd3d3LmNjYzgubmV0L2FwaS5waHAvdjEudm9kXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJpbWdcXFwiOiBcXFwiaHR0cHM6Ly9pbm1lbW9yeS5jb2RpbmcubmV0L3AvSW5NZW1vcnkvZC9NQnJvd3Nlci9naXQvcmF3L21hc3Rlci9BcHBGaWxlL0FwcEljb24vODDlvbHop4YucG5nXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJtdXJsXFxcIjogXFxcInE6QVBQ5b2x6KeGXFxcIlxcbiAgICAgICAgICAgICAgICB9LFxcbiAgICAgICAgICAgICAgICB7XFxuICAgICAgICAgICAgICAgICAgICBcXFwidGl0bGVcXFwiOiBcXFwiSkRPRE9cXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcInVybFxcXCI6IFxcXCJodHRwczovL2FwcHlzLmpkb2RvLnh5ei9tb2dhaV9hcGkucGhwL3YxLnZvZFxcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwiaW1nXFxcIjogXFxcImh0dHBzOi8vaW5tZW1vcnkuY29kaW5nLm5ldC9wL0luTWVtb3J5L2QvTUJyb3dzZXIvZ2l0L3Jhdy9tYXN0ZXIvQXBwRmlsZS9BcHBJY29uL0pET0RP5b2x6KeGLnBuZ1xcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwibXVybFxcXCI6IFxcXCJxOkFQUOW9seinhlxcXCJcXG4gICAgICAgICAgICAgICAgfSxcXG4gICAgICAgICAgICAgICAge1xcbiAgICAgICAgICAgICAgICAgICAgXFxcInRpdGxlXFxcIjogXFxcIlFD5b2x6KeGXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJ1cmxcXFwiOiBcXFwiaHR0cHM6Ly93d3cucWNzdmlwLmNvbS9tb2dhaV9hcGkucGhwL3YxLnZvZFxcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwiaW1nXFxcIjogXFxcImh0dHBzOi8vaW5tZW1vcnkuY29kaW5nLm5ldC9wL0luTWVtb3J5L2QvTUJyb3dzZXIvZ2l0L3Jhdy9tYXN0ZXIvQXBwRmlsZS9BcHBJY29uL1FD5b2x6KeGLnBuZ1xcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwibXVybFxcXCI6IFxcXCJxOkFQUOW9seinhlxcXCJcXG4gICAgICAgICAgICAgICAgfSxcXG4gICAgICAgICAgICAgICAge1xcbiAgICAgICAgICAgICAgICAgICAgXFxcInRpdGxlXFxcIjogXFxcIlU15b2x6KeGXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJ1cmxcXFwiOiBcXFwiaHR0cHM6Ly9hcHB4LnV5MDcuY29tL2FwaS5waHAvdjEudm9kXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJpbWdcXFwiOiBcXFwiaHR0cHM6Ly9pbm1lbW9yeS5jb2RpbmcubmV0L3AvSW5NZW1vcnkvZC9NQnJvd3Nlci9naXQvcmF3L21hc3Rlci9BcHBGaWxlL0FwcEljb24vVTXlvbHop4YucG5nXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJtdXJsXFxcIjogXFxcInE6QVBQ5b2x6KeGXFxcIlxcbiAgICAgICAgICAgICAgICB9LFxcbiAgICAgICAgICAgICAgICB7XFxuICAgICAgICAgICAgICAgICAgICBcXFwidGl0bGVcXFwiOiBcXFwiWEflvbHop4ZcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcInVybFxcXCI6IFxcXCJodHRwOi8vY21zLnhnZ20udG9wL3J1aWZlbmdsYl9hcGkucGhwL3YxLnZvZFxcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwiaW1nXFxcIjogXFxcImh0dHBzOi8vaW5tZW1vcnkuY29kaW5nLm5ldC9wL0luTWVtb3J5L2QvTUJyb3dzZXIvZ2l0L3Jhdy9tYXN0ZXIvQXBwRmlsZS9BcHBJY29uL1hH5b2x6KeGLnBuZ1xcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwibXVybFxcXCI6IFxcXCJxOkFQUOW9seinhlxcXCJcXG4gICAgICAgICAgICAgICAgfSxcXG4gICAgICAgICAgICAgICAge1xcbiAgICAgICAgICAgICAgICAgICAgXFxcInRpdGxlXFxcIjogXFxcInlveW9cXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcInVybFxcXCI6IFxcXCJodHRwOi8vangud252b2QubmV0L3J1aWZlbmdsYl9hcGkucGhwL3YxLnZvZFxcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwiaW1nXFxcIjogXFxcImh0dHBzOi8vaW5tZW1vcnkuY29kaW5nLm5ldC9wL0luTWVtb3J5L2QvTUJyb3dzZXIvZ2l0L3Jhdy9tYXN0ZXIvQXBwRmlsZS9BcHBJY29uL3lveW/lvbHop4YucG5nXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJtdXJsXFxcIjogXFxcInE6QVBQ5b2x6KeGXFxcIlxcbiAgICAgICAgICAgICAgICB9LFxcbiAgICAgICAgICAgICAgICB7XFxuICAgICAgICAgICAgICAgICAgICBcXFwidGl0bGVcXFwiOiBcXFwi6Zi/6YeM5b2x6KeGXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJ1cmxcXFwiOiBcXFwiaHR0cDovL2FsaXlzLmNuOjkwL2FwaS5waHAvdjEudm9kXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJpbWdcXFwiOiBcXFwiaHR0cHM6Ly9pbm1lbW9yeS5jb2RpbmcubmV0L3AvSW5NZW1vcnkvZC9NQnJvd3Nlci9naXQvcmF3L21hc3Rlci9BcHBGaWxlL0FwcEljb24v6Zi/6YeM5b2x6KeGLnBuZ1xcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwibXVybFxcXCI6IFxcXCJxOkFQUOW9seinhlxcXCJcXG4gICAgICAgICAgICAgICAgfSxcXG4gICAgICAgICAgICAgICAge1xcbiAgICAgICAgICAgICAgICAgICAgXFxcInRpdGxlXFxcIjogXFxcIuWXt+WRnOW9semZolxcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwidXJsXFxcIjogXFxcImh0dHA6Ly9hb3d1LnByby9hcGkucGhwL3YxLnZvZFxcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwiaW1nXFxcIjogXFxcImh0dHBzOi8vaW5tZW1vcnkuY29kaW5nLm5ldC9wL0luTWVtb3J5L2QvTUJyb3dzZXIvZ2l0L3Jhdy9tYXN0ZXIvQXBwRmlsZS9BcHBJY29uL+WXt+WRnOW9semZoi5wbmdcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcIm11cmxcXFwiOiBcXFwicTpBUFDlvbHop4ZcXFwiXFxuICAgICAgICAgICAgICAgIH0sXFxuICAgICAgICAgICAgICAgIHtcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJ0aXRsZVxcXCI6IFxcXCLniLHlvbHop4ZcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcInVybFxcXCI6IFxcXCJodHRwczovL3d3dy5oemxmZi5jbi9hcGkucGhwL3YxLnZvZFxcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwiaW1nXFxcIjogXFxcImh0dHBzOi8vaW5tZW1vcnkuY29kaW5nLm5ldC9wL0luTWVtb3J5L2QvTUJyb3dzZXIvZ2l0L3Jhdy9tYXN0ZXIvQXBwRmlsZS9BcHBJY29uL+eIseW9seinhi5wbmdcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcIm11cmxcXFwiOiBcXFwicTpBUFDlvbHop4ZcXFwiXFxuICAgICAgICAgICAgICAgIH0sXFxuICAgICAgICAgICAgICAgIHtcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJ0aXRsZVxcXCI6IFxcXCLniLHov73liadcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcInVybFxcXCI6IFxcXCJodHRwOi8vODEuNzEuMTguOTU6NTIwL2x2ZG91X2FwaS5waHAvdjEudm9kXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJpbWdcXFwiOiBcXFwiaHR0cHM6Ly9pbm1lbW9yeS5jb2RpbmcubmV0L3AvSW5NZW1vcnkvZC9NQnJvd3Nlci9naXQvcmF3L21hc3Rlci9BcHBGaWxlL0FwcEljb24v54ix6L+95YmnLnBuZ1xcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwibXVybFxcXCI6IFxcXCJxOkFQUOW9seinhlxcXCJcXG4gICAgICAgICAgICAgICAgfSxcXG4gICAgICAgICAgICAgICAge1xcbiAgICAgICAgICAgICAgICAgICAgXFxcInRpdGxlXFxcIjogXFxcIuiJvueJueW9seinhlxcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwidXJsXFxcIjogXFxcImh0dHBzOi8vd3d3LmFpdGVlLmNjL2FwaS5waHAvdjEudm9kXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJpbWdcXFwiOiBcXFwiaHR0cHM6Ly9pbm1lbW9yeS5jb2RpbmcubmV0L3AvSW5NZW1vcnkvZC9NQnJvd3Nlci9naXQvcmF3L21hc3Rlci9BcHBGaWxlL0FwcEljb24v6Im+54m55b2x6KeGLnBuZ1xcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwibXVybFxcXCI6IFxcXCJxOkFQUOW9seinhlxcXCJcXG4gICAgICAgICAgICAgICAgfSxcXG4gICAgICAgICAgICAgICAge1xcbiAgICAgICAgICAgICAgICAgICAgXFxcInRpdGxlXFxcIjogXFxcIueZveiPnOi/veWJp1xcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwidXJsXFxcIjogXFxcImh0dHA6Ly9sYmFwcC5odWltYW9qaWEuY29tOjMwMTE5L21vZ2FpX2FwaS5waHAvdjEudm9kXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJpbWdcXFwiOiBcXFwiaHR0cHM6Ly9pbm1lbW9yeS5jb2RpbmcubmV0L3AvSW5NZW1vcnkvZC9NQnJvd3Nlci9naXQvcmF3L21hc3Rlci9BcHBGaWxlL0FwcEljb24v55m96I+c6L+95YmnLnBuZ1xcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwibXVybFxcXCI6IFxcXCJxOkFQUOW9seinhlxcXCJcXG4gICAgICAgICAgICAgICAgfSxcXG4gICAgICAgICAgICAgICAge1xcbiAgICAgICAgICAgICAgICAgICAgXFxcInRpdGxlXFxcIjogXFxcIuavlOmCu+W9seinhlxcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwidXJsXFxcIjogXFxcImh0dHA6Ly8waHp5LmNuOjk5OTAvbW9nYWlfYXBpLnBocC92MS52b2RcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcImltZ1xcXCI6IFxcXCJodHRwczovL2lubWVtb3J5LmNvZGluZy5uZXQvcC9Jbk1lbW9yeS9kL01Ccm93c2VyL2dpdC9yYXcvbWFzdGVyL0FwcEZpbGUvQXBwSWNvbi/mr5TpgrvlvbHop4YucG5nXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJtdXJsXFxcIjogXFxcInE6QVBQ5b2x6KeGXFxcIlxcbiAgICAgICAgICAgICAgICB9LFxcbiAgICAgICAgICAgICAgICB7XFxuICAgICAgICAgICAgICAgICAgICBcXFwidGl0bGVcXFwiOiBcXFwi55m+6K6v6KeG6aKRXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJ1cmxcXFwiOiBcXFwiaHR0cHM6Ly96LmlvcGVueXVuLmNvbTo5OS9hcHBfYXBpLnBocC92MS52b2RcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcImltZ1xcXCI6IFxcXCJodHRwczovL2lubWVtb3J5LmNvZGluZy5uZXQvcC9Jbk1lbW9yeS9kL01Ccm93c2VyL2dpdC9yYXcvbWFzdGVyL0FwcEZpbGUvQXBwSWNvbi/nmb7orq/op4bpopEucG5nXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJtdXJsXFxcIjogXFxcInE6QVBQ5b2x6KeGXFxcIlxcbiAgICAgICAgICAgICAgICB9LFxcbiAgICAgICAgICAgICAgICB7XFxuICAgICAgICAgICAgICAgICAgICBcXFwidGl0bGVcXFwiOiBcXFwi6I+c6bif5Yqo5ryrXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJ1cmxcXFwiOiBcXFwiaHR0cDovL3RhaWtvbmcuaHVhbmdndWF5LmNvbS9tb2dhaV9hcGkucGhwL3YxLnZvZFxcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwiaW1nXFxcIjogXFxcImh0dHBzOi8vaW5tZW1vcnkuY29kaW5nLm5ldC9wL0luTWVtb3J5L2QvTUJyb3dzZXIvZ2l0L3Jhdy9tYXN0ZXIvQXBwRmlsZS9BcHBJY29uL+iPnOm4n+WKqOa8qy5wbmdcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcIm11cmxcXFwiOiBcXFwicTpBUFDlvbHop4ZcXFwiXFxuICAgICAgICAgICAgICAgIH0sXFxuICAgICAgICAgICAgICAgIHtcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJ0aXRsZVxcXCI6IFxcXCLlpKflpLTlvbHop4ZcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcInVybFxcXCI6IFxcXCJodHRwOi8vZHkuaWRzYW8uY29tL21vZ2FpX2FwaS5waHAvdjEudm9kXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJpbWdcXFwiOiBcXFwiaHR0cHM6Ly9pbm1lbW9yeS5jb2RpbmcubmV0L3AvSW5NZW1vcnkvZC9NQnJvd3Nlci9naXQvcmF3L21hc3Rlci9BcHBGaWxlL0FwcEljb24v5aSn5aS05b2x6KeGLnBuZ1xcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwibXVybFxcXCI6IFxcXCJxOkFQUOW9seinhlxcXCJcXG4gICAgICAgICAgICAgICAgfSxcXG4gICAgICAgICAgICAgICAge1xcbiAgICAgICAgICAgICAgICAgICAgXFxcInRpdGxlXFxcIjogXFxcIuauteWPi+W9seinhlxcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwidXJsXFxcIjogXFxcImh0dHA6Ly9qcy42NmFwcC5tZS9hcGkucGhwL3YxLnZvZFxcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwiaW1nXFxcIjogXFxcImh0dHBzOi8vaW5tZW1vcnkuY29kaW5nLm5ldC9wL0luTWVtb3J5L2QvTUJyb3dzZXIvZ2l0L3Jhdy9tYXN0ZXIvQXBwRmlsZS9BcHBJY29uL+auteWPi+W9seinhjIucG5nXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJtdXJsXFxcIjogXFxcInE6QVBQ5b2x6KeGXFxcIlxcbiAgICAgICAgICAgICAgICB9LFxcbiAgICAgICAgICAgICAgICB7XFxuICAgICAgICAgICAgICAgICAgICBcXFwidGl0bGVcXFwiOiBcXFwi6LGG5rij5b2x6KeGXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJ1cmxcXFwiOiBcXFwiaHR0cDovL2RvdXpoYXlzcy5jYy9hcGkucGhwL3YxLnZvZFxcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwiaW1nXFxcIjogXFxcImh0dHBzOi8vaW5tZW1vcnkuY29kaW5nLm5ldC9wL0luTWVtb3J5L2QvTUJyb3dzZXIvZ2l0L3Jhdy9tYXN0ZXIvQXBwRmlsZS9BcHBJY29uL+ixhua4o+W9seinhi5wbmdcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcIm11cmxcXFwiOiBcXFwicTpBUFDlvbHop4ZcXFwiXFxuICAgICAgICAgICAgICAgIH0sXFxuICAgICAgICAgICAgICAgIHtcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJ0aXRsZVxcXCI6IFxcXCLkuozkuZ3lvbHop4ZcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcInVybFxcXCI6IFxcXCJodHRwczovL2FwcC4xOWtwLmNvbS9hcGkucGhwL3YxLnZvZFxcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwiaW1nXFxcIjogXFxcImh0dHBzOi8vaW5tZW1vcnkuY29kaW5nLm5ldC9wL0luTWVtb3J5L2QvTUJyb3dzZXIvZ2l0L3Jhdy9tYXN0ZXIvQXBwRmlsZS9BcHBJY29uL+S6jOS5neW9seinhi5wbmdcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcIm11cmxcXFwiOiBcXFwicTpBUFDlvbHop4ZcXFwiXFxuICAgICAgICAgICAgICAgIH0sXFxuICAgICAgICAgICAgICAgIHtcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJ0aXRsZVxcXCI6IFxcXCLpo47lkK/lvbHop4ZcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcInVybFxcXCI6IFxcXCJodHRwOi8veXN3LmVlL21vZ2FpX2FwaS5waHAvdjEudm9kXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJpbWdcXFwiOiBcXFwiaHR0cHM6Ly9pbm1lbW9yeS5jb2RpbmcubmV0L3AvSW5NZW1vcnkvZC9NQnJvd3Nlci9naXQvcmF3L21hc3Rlci9BcHBGaWxlL0FwcEljb24v6aOO5ZCv5b2x6KeGLnBuZ1xcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwibXVybFxcXCI6IFxcXCJxOkFQUOW9seinhlxcXCJcXG4gICAgICAgICAgICAgICAgfSxcXG4gICAgICAgICAgICAgICAge1xcbiAgICAgICAgICAgICAgICAgICAgXFxcInRpdGxlXFxcIjogXFxcIui+ieWTpeW9seinhlxcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwidXJsXFxcIjogXFxcImh0dHBzOi8vYXBwLnkuaGd5dWxlOC5jb20vYXBpLnBocC92MS52b2RcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcImltZ1xcXCI6IFxcXCJodHRwczovL2lubWVtb3J5LmNvZGluZy5uZXQvcC9Jbk1lbW9yeS9kL01Ccm93c2VyL2dpdC9yYXcvbWFzdGVyL0FwcEZpbGUvQXBwSWNvbi/ovonlk6XlvbHop4YucG5nXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJtdXJsXFxcIjogXFxcInE6QVBQ5b2x6KeGXFxcIlxcbiAgICAgICAgICAgICAgICB9LFxcbiAgICAgICAgICAgICAgICB7XFxuICAgICAgICAgICAgICAgICAgICBcXFwidGl0bGVcXFwiOiBcXFwi6buE5rKz5b2x6KeGXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJ1cmxcXFwiOiBcXFwiaHR0cDovL2kubGVkdTguY24vYXBpLnBocC92MS52b2RcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcImltZ1xcXCI6IFxcXCJodHRwczovL2lubWVtb3J5LmNvZGluZy5uZXQvcC9Jbk1lbW9yeS9kL01Ccm93c2VyL2dpdC9yYXcvbWFzdGVyL0FwcEZpbGUvQXBwSWNvbi/pu4TmsrPlvbHop4YucG5nXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJtdXJsXFxcIjogXFxcInE6QVBQ5b2x6KeGXFxcIlxcbiAgICAgICAgICAgICAgICB9LFxcbiAgICAgICAgICAgICAgICB7XFxuICAgICAgICAgICAgICAgICAgICBcXFwidGl0bGVcXFwiOiBcXFwi54Gr5pif5Lq6XFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJ1cmxcXFwiOiBcXFwiaHR0cHM6Ly93d3cuaHVveGluZzkuY29tL21vZ2FpX2FwaS5waHAvdjEudm9kXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJpbWdcXFwiOiBcXFwiaHR0cHM6Ly9pbm1lbW9yeS5jb2RpbmcubmV0L3AvSW5NZW1vcnkvZC9NQnJvd3Nlci9naXQvcmF3L21hc3Rlci9BcHBGaWxlL0FwcEljb24v54Gr5pif5Lq65b2x6ZmiLnBuZ1xcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwibXVybFxcXCI6IFxcXCJxOkFQUOW9seinhlxcXCJcXG4gICAgICAgICAgICAgICAgfSxcXG4gICAgICAgICAgICAgICAge1xcbiAgICAgICAgICAgICAgICAgICAgXFxcInRpdGxlXFxcIjogXFxcIuaZl+WFiOajrlxcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwidXJsXFxcIjogXFxcImh0dHBzOi8vaGFudHYudG9wL2FwaS5waHAvdjEudm9kXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJpbWdcXFwiOiBcXFwiaHR0cHM6Ly9pbm1lbW9yeS5jb2RpbmcubmV0L3AvSW5NZW1vcnkvZC9NQnJvd3Nlci9naXQvcmF3L21hc3Rlci9BcHBGaWxlL0FwcEljb24v5pmX5YWI5qOu5b2x6KeGLnBuZ1xcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwibXVybFxcXCI6IFxcXCJxOkFQUOW9seinhlxcXCJcXG4gICAgICAgICAgICAgICAgfSxcXG4gICAgICAgICAgICAgICAge1xcbiAgICAgICAgICAgICAgICAgICAgXFxcInRpdGxlXFxcIjogXFxcIuebkuWtkOW9semZolxcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwidXJsXFxcIjogXFxcImh0dHA6Ly9pLm5paGFvaGV6aS5jb20vYXBpLnBocC92MS52b2RcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcImltZ1xcXCI6IFxcXCJodHRwczovL2lubWVtb3J5LmNvZGluZy5uZXQvcC9Jbk1lbW9yeS9kL01Ccm93c2VyL2dpdC9yYXcvbWFzdGVyL0FwcEZpbGUvQXBwSWNvbi/nm5LlrZDlvbHpmaIucG5nXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJtdXJsXFxcIjogXFxcInE6QVBQ5b2x6KeGXFxcIlxcbiAgICAgICAgICAgICAgICB9LFxcbiAgICAgICAgICAgICAgICB7XFxuICAgICAgICAgICAgICAgICAgICBcXFwidGl0bGVcXFwiOiBcXFwi562L5paX5LqRXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJ1cmxcXFwiOiBcXFwiaHR0cHM6Ly90di5qaW5kY2xvdWQuY29tL2FwaS5waHAvdjEudm9kXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJpbWdcXFwiOiBcXFwiaHR0cHM6Ly9pbm1lbW9yeS5jb2RpbmcubmV0L3AvSW5NZW1vcnkvZC9NQnJvd3Nlci9naXQvcmF3L21hc3Rlci9BcHBGaWxlL0FwcEljb24v562L5paX5LqR5b2x6KeGLnBuZ1xcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwibXVybFxcXCI6IFxcXCJxOkFQUOW9seinhlxcXCJcXG4gICAgICAgICAgICAgICAgfSxcXG4gICAgICAgICAgICAgICAge1xcbiAgICAgICAgICAgICAgICAgICAgXFxcInRpdGxlXFxcIjogXFxcIuaegeWFieW9semZolxcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwidXJsXFxcIjogXFxcImh0dHA6Ly9hcHAud2lueHouY2MvYXBpLnBocC92MS52b2RcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcImltZ1xcXCI6IFxcXCJodHRwczovL2lubWVtb3J5LmNvZGluZy5uZXQvcC9Jbk1lbW9yeS9kL01Ccm93c2VyL2dpdC9yYXcvbWFzdGVyL0FwcEZpbGUvQXBwSWNvbi/mnoHlhYnlvbHpmaIucG5nXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJtdXJsXFxcIjogXFxcInE6QVBQ5b2x6KeGXFxcIlxcbiAgICAgICAgICAgICAgICB9LFxcbiAgICAgICAgICAgICAgICB7XFxuICAgICAgICAgICAgICAgICAgICBcXFwidGl0bGVcXFwiOiBcXFwi6IGa5ZCI6KeG6aKRXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJ1cmxcXFwiOiBcXFwiaHR0cHM6Ly9hcHAuamh5c3R2LmNvbS9tb2dhaV9hcGkucGhwL3YxLnZvZFxcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwiaW1nXFxcIjogXFxcImh0dHBzOi8vaW5tZW1vcnkuY29kaW5nLm5ldC9wL0luTWVtb3J5L2QvTUJyb3dzZXIvZ2l0L3Jhdy9tYXN0ZXIvQXBwRmlsZS9BcHBJY29uL+iBmuWQiOinhumikS5wbmdcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcIm11cmxcXFwiOiBcXFwicTpBUFDlvbHop4ZcXFwiXFxuICAgICAgICAgICAgICAgIH0sXFxuICAgICAgICAgICAgICAgIHtcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJ0aXRsZVxcXCI6IFxcXCLkuYXkuYXlvbHop4ZcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcInVybFxcXCI6IFxcXCJodHRwOi8vczl0OS5jb20vYXBpLnBocC92MS52b2RcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcImltZ1xcXCI6IFxcXCJodHRwczovL2lubWVtb3J5LmNvZGluZy5uZXQvcC9Jbk1lbW9yeS9kL01Ccm93c2VyL2dpdC9yYXcvbWFzdGVyL0FwcEZpbGUvQXBwSWNvbi/kuYXkuYXlvbHop4YucG5nXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJtdXJsXFxcIjogXFxcInE6QVBQ5b2x6KeGXFxcIlxcbiAgICAgICAgICAgICAgICB9LFxcbiAgICAgICAgICAgICAgICB7XFxuICAgICAgICAgICAgICAgICAgICBcXFwidGl0bGVcXFwiOiBcXFwi5Ymn6L+36KeG6aKRXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJ1cmxcXFwiOiBcXFwiaHR0cDovL3Bhbi5oemFmdy5jb20vYXBpLnBocC92MS52b2RcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcImltZ1xcXCI6IFxcXCJodHRwczovL2lubWVtb3J5LmNvZGluZy5uZXQvcC9Jbk1lbW9yeS9kL01Ccm93c2VyL2dpdC9yYXcvbWFzdGVyL0FwcEZpbGUvQXBwSWNvbi/liafov7fop4bpopEucG5nXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJtdXJsXFxcIjogXFxcInE6QVBQ5b2x6KeGXFxcIlxcbiAgICAgICAgICAgICAgICB9LFxcbiAgICAgICAgICAgICAgICB7XFxuICAgICAgICAgICAgICAgICAgICBcXFwidGl0bGVcXFwiOiBcXFwi5qmY5a2Q5b2x6KeGXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJ1cmxcXFwiOiBcXFwiaHR0cDovL2p6Lmp1emlkeS52aXAvbW9nYWlfYXBpLnBocC92MS52b2RcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcImltZ1xcXCI6IFxcXCJodHRwczovL2lubWVtb3J5LmNvZGluZy5uZXQvcC9Jbk1lbW9yeS9kL01Ccm93c2VyL2dpdC9yYXcvbWFzdGVyL0FwcEZpbGUvQXBwSWNvbi/mqZjlrZDlvbHop4YucG5nXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJtdXJsXFxcIjogXFxcInE6QVBQ5b2x6KeGXFxcIlxcbiAgICAgICAgICAgICAgICB9LFxcbiAgICAgICAgICAgICAgICB7XFxuICAgICAgICAgICAgICAgICAgICBcXFwidGl0bGVcXFwiOiBcXFwi5b+r5pKt5ZCnXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJ1cmxcXFwiOiBcXFwiaHR0cDovL2FwcC5oZDgucHcvYXBpLnBocC92MS52b2RcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcImltZ1xcXCI6IFxcXCJodHRwczovL2lubWVtb3J5LmNvZGluZy5uZXQvcC9Jbk1lbW9yeS9kL01Ccm93c2VyL2dpdC9yYXcvbWFzdGVyL0FwcEZpbGUvQXBwSWNvbi/lv6vmkq3lkKcucG5nXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJtdXJsXFxcIjogXFxcInE6QVBQ5b2x6KeGXFxcIlxcbiAgICAgICAgICAgICAgICB9LFxcbiAgICAgICAgICAgICAgICB7XFxuICAgICAgICAgICAgICAgICAgICBcXFwidGl0bGVcXFwiOiBcXFwi55yL5Ymn5ZCnXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJ1cmxcXFwiOiBcXFwiaHR0cDovL2FwcC5pc2hlbjUyMC5jb20vYXBpLnBocC92MS52b2RcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcImltZ1xcXCI6IFxcXCJodHRwczovL2lubWVtb3J5LmNvZGluZy5uZXQvcC9Jbk1lbW9yeS9kL01Ccm93c2VyL2dpdC9yYXcvbWFzdGVyL0FwcEZpbGUvQXBwSWNvbi/nnIvliaflkKcucG5nXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJtdXJsXFxcIjogXFxcInE6QVBQ5b2x6KeGXFxcIlxcbiAgICAgICAgICAgICAgICB9LFxcbiAgICAgICAgICAgICAgICB7XFxuICAgICAgICAgICAgICAgICAgICBcXFwidGl0bGVcXFwiOiBcXFwi55yL55yL5YmnXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJ1cmxcXFwiOiBcXFwiaHR0cHM6Ly93d3cua2Fua2FuanUuY24vYXBpLnBocC92MS52b2RcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcImltZ1xcXCI6IFxcXCJodHRwczovL2lubWVtb3J5LmNvZGluZy5uZXQvcC9Jbk1lbW9yeS9kL01Ccm93c2VyL2dpdC9yYXcvbWFzdGVyL0FwcEZpbGUvQXBwSWNvbi/nnIvnnIvliacucG5nXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJtdXJsXFxcIjogXFxcInE6QVBQ5b2x6KeGXFxcIlxcbiAgICAgICAgICAgICAgICB9LFxcbiAgICAgICAgICAgICAgICB7XFxuICAgICAgICAgICAgICAgICAgICBcXFwidGl0bGVcXFwiOiBcXFwi6YW36YW35b2x6KeGXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJ1cmxcXFwiOiBcXFwiaHR0cDovL3d3dy5jY2M4Lm5ldC9hcGkucGhwL3YxLnZvZFxcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwiaW1nXFxcIjogXFxcImh0dHBzOi8vaW5tZW1vcnkuY29kaW5nLm5ldC9wL0luTWVtb3J5L2QvTUJyb3dzZXIvZ2l0L3Jhdy9tYXN0ZXIvQXBwRmlsZS9BcHBJY29uL+mFt+mFt+W9seinhi5wbmdcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcIm11cmxcXFwiOiBcXFwicTpBUFDlvbHop4ZcXFwiXFxuICAgICAgICAgICAgICAgIH0sXFxuICAgICAgICAgICAgICAgIHtcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJ0aXRsZVxcXCI6IFxcXCLlj6/nsbPlvbHop4ZcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcInVybFxcXCI6IFxcXCJodHRwOi8vc2oua215cy52aXAvcnVpZmVuZ2xiX2FwaS5waHAvdjEudm9kXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJpbWdcXFwiOiBcXFwiaHR0cHM6Ly9pbm1lbW9yeS5jb2RpbmcubmV0L3AvSW5NZW1vcnkvZC9NQnJvd3Nlci9naXQvcmF3L21hc3Rlci9BcHBGaWxlL0FwcEljb24v5Y+v57Gz5b2x6KeGLnBuZ1xcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwibXVybFxcXCI6IFxcXCJxOkFQUOW9seinhlxcXCJcXG4gICAgICAgICAgICAgICAgfSxcXG4gICAgICAgICAgICAgICAge1xcbiAgICAgICAgICAgICAgICAgICAgXFxcInRpdGxlXFxcIjogXFxcIue7v+ixhuinhumikVxcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwidXJsXFxcIjogXFxcImh0dHBzOi8vdi5sdmRvdWkuY24vbW9nYWlfYXBpLnBocC92MS52b2RcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcImltZ1xcXCI6IFxcXCJodHRwczovL2lubWVtb3J5LmNvZGluZy5uZXQvcC9Jbk1lbW9yeS9kL01Ccm93c2VyL2dpdC9yYXcvbWFzdGVyL0FwcEZpbGUvQXBwSWNvbi/nu7/osYblvbHpn7MucG5nXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJtdXJsXFxcIjogXFxcInE6QVBQ5b2x6KeGXFxcIlxcbiAgICAgICAgICAgICAgICB9LFxcbiAgICAgICAgICAgICAgICB7XFxuICAgICAgICAgICAgICAgICAgICBcXFwidGl0bGVcXFwiOiBcXFwi6JOd5YWJ6KeG6aKRXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJ1cmxcXFwiOiBcXFwiaHR0cDovL3ZpcC45MWlxaXlpLmNvbS9tb2dhaV9hcGkucGhwL3YxLnZvZFxcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwiaW1nXFxcIjogXFxcImh0dHBzOi8vaW5tZW1vcnkuY29kaW5nLm5ldC9wL0luTWVtb3J5L2QvTUJyb3dzZXIvZ2l0L3Jhdy9tYXN0ZXIvQXBwRmlsZS9BcHBJY29uL+iTneWFieinhumikS5wbmdcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcIm11cmxcXFwiOiBcXFwicTpBUFDlvbHop4ZcXFwiXFxuICAgICAgICAgICAgICAgIH0sXFxuICAgICAgICAgICAgICAgIHtcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJ0aXRsZVxcXCI6IFxcXCLmnpfosLflvbHop4ZcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcInVybFxcXCI6IFxcXCJodHRwOi8veXMubGluZ3V5eS54eXovbW9nYWlfYXBpLnBocC92MS52b2RcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcImltZ1xcXCI6IFxcXCJodHRwczovL2lubWVtb3J5LmNvZGluZy5uZXQvcC9Jbk1lbW9yeS9kL01Ccm93c2VyL2dpdC9yYXcvbWFzdGVyL0FwcEZpbGUvQXBwSWNvbi/mnpfosLflvbHop4YucG5nXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJtdXJsXFxcIjogXFxcInE6QVBQ5b2x6KeGXFxcIlxcbiAgICAgICAgICAgICAgICB9LFxcbiAgICAgICAgICAgICAgICB7XFxuICAgICAgICAgICAgICAgICAgICBcXFwidGl0bGVcXFwiOiBcXFwi5Ya36KeGVFZcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcInVybFxcXCI6IFxcXCJodHRwczovL2xlbi50di9hcGkucGhwL3YxLnZvZFxcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwiaW1nXFxcIjogXFxcImh0dHBzOi8vaW5tZW1vcnkuY29kaW5nLm5ldC9wL0luTWVtb3J5L2QvTUJyb3dzZXIvZ2l0L3Jhdy9tYXN0ZXIvQXBwRmlsZS9BcHBJY29uL+WGt+inhlRWLnBuZ1xcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwibXVybFxcXCI6IFxcXCJxOkFQUOW9seinhlxcXCJcXG4gICAgICAgICAgICAgICAgfSxcXG4gICAgICAgICAgICAgICAge1xcbiAgICAgICAgICAgICAgICAgICAgXFxcInRpdGxlXFxcIjogXFxcIue+juWJp+iMg1xcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwidXJsXFxcIjogXFxcImh0dHA6Ly90dHptei5uZXQvYXBpLnBocC92MS52b2RcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcImltZ1xcXCI6IFxcXCJodHRwczovL2lubWVtb3J5LmNvZGluZy5uZXQvcC9Jbk1lbW9yeS9kL01Ccm93c2VyL2dpdC9yYXcvbWFzdGVyL0FwcEZpbGUvQXBwSWNvbi/nvo7liafojIMucG5nXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJtdXJsXFxcIjogXFxcInE6QVBQ5b2x6KeGXFxcIlxcbiAgICAgICAgICAgICAgICB9LFxcbiAgICAgICAgICAgICAgICB7XFxuICAgICAgICAgICAgICAgICAgICBcXFwidGl0bGVcXFwiOiBcXFwi5Za15LmQ5b2x6KeGXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJ1cmxcXFwiOiBcXFwiaHR0cDovL21pYW9sZXlzLmNvbS9hcGkucGhwL3YxLnZvZFxcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwiaW1nXFxcIjogXFxcImh0dHBzOi8vaW5tZW1vcnkuY29kaW5nLm5ldC9wL0luTWVtb3J5L2QvTUJyb3dzZXIvZ2l0L3Jhdy9tYXN0ZXIvQXBwRmlsZS9BcHBJY29uL+WWteS5kOW9seinhi5wbmdcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcIm11cmxcXFwiOiBcXFwicTpBUFDlvbHop4ZcXFwiXFxuICAgICAgICAgICAgICAgIH0sXFxuICAgICAgICAgICAgICAgIHtcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJ0aXRsZVxcXCI6IFxcXCLlkI3op4blvbFcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcInVybFxcXCI6IFxcXCJodHRwOi8vYXBwLnFxY2N2LmNvbS9tb2dhaV9hcGkucGhwL3YxLnZvZFxcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwiaW1nXFxcIjogXFxcImh0dHBzOi8vaW5tZW1vcnkuY29kaW5nLm5ldC9wL0luTWVtb3J5L2QvTUJyb3dzZXIvZ2l0L3Jhdy9tYXN0ZXIvQXBwRmlsZS9BcHBJY29uL+WQjeinhuW9sS5wbmdcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcIm11cmxcXFwiOiBcXFwicTpBUFDlvbHop4ZcXFwiXFxuICAgICAgICAgICAgICAgIH0sXFxuICAgICAgICAgICAgICAgIHtcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJ0aXRsZVxcXCI6IFxcXCLpurvlrZDov73liadcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcInVybFxcXCI6IFxcXCJodHRwOi8vYi4ybWF6LmNuL2FwaS5waHAvdjEudm9kXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJpbWdcXFwiOiBcXFwiaHR0cHM6Ly9pbm1lbW9yeS5jb2RpbmcubmV0L3AvSW5NZW1vcnkvZC9NQnJvd3Nlci9naXQvcmF3L21hc3Rlci9BcHBGaWxlL0FwcEljb24v6bq75a2Q6L+95YmnLnBuZ1xcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwibXVybFxcXCI6IFxcXCJxOkFQUOW9seinhlxcXCJcXG4gICAgICAgICAgICAgICAgfSxcXG4gICAgICAgICAgICAgICAge1xcbiAgICAgICAgICAgICAgICAgICAgXFxcInRpdGxlXFxcIjogXFxcIuWliOmjnuS4reaWh1xcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwidXJsXFxcIjogXFxcImh0dHBzOi8vd3d3Lm5haWZlaS5vcmcvYXBpLnBocC92MS52b2RcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcImltZ1xcXCI6IFxcXCJodHRwczovL2lubWVtb3J5LmNvZGluZy5uZXQvcC9Jbk1lbW9yeS9kL01Ccm93c2VyL2dpdC9yYXcvbWFzdGVyL0FwcEZpbGUvQXBwSWNvbi/lpYjpo57kuK3mlocucG5nXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJtdXJsXFxcIjogXFxcInE6QVBQ5b2x6KeGXFxcIlxcbiAgICAgICAgICAgICAgICB9LFxcbiAgICAgICAgICAgICAgICB7XFxuICAgICAgICAgICAgICAgICAgICBcXFwidGl0bGVcXFwiOiBcXFwi6Iu55p6c5b2x6KeGXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJ1cmxcXFwiOiBcXFwiaHR0cHM6Ly9hcHBsZTY3OC54eXovYXBpLnBocC92MS52b2RcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcImltZ1xcXCI6IFxcXCJodHRwczovL2lubWVtb3J5LmNvZGluZy5uZXQvcC9Jbk1lbW9yeS9kL01Ccm93c2VyL2dpdC9yYXcvbWFzdGVyL0FwcEZpbGUvQXBwSWNvbi/oi7nmnpzlvbHop4YucG5nXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJtdXJsXFxcIjogXFxcInE6QVBQ5b2x6KeGXFxcIlxcbiAgICAgICAgICAgICAgICB9LFxcbiAgICAgICAgICAgICAgICB7XFxuICAgICAgICAgICAgICAgICAgICBcXFwidGl0bGVcXFwiOiBcXFwi55qu55qu5Yqo5ryrXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJ1cmxcXFwiOiBcXFwiaHR0cDovL2RtLm11eWluZy5tZS9tb2dhaV9hcGkucGhwL3YxLnZvZFxcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwiaW1nXFxcIjogXFxcImh0dHBzOi8vaW5tZW1vcnkuY29kaW5nLm5ldC9wL0luTWVtb3J5L2QvTUJyb3dzZXIvZ2l0L3Jhdy9tYXN0ZXIvQXBwRmlsZS9BcHBJY29uL+earuearuWKqOa8qy5wbmdcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcIm11cmxcXFwiOiBcXFwicTpBUFDlvbHop4ZcXFwiXFxuICAgICAgICAgICAgICAgIH0sXFxuICAgICAgICAgICAgICAgIHtcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJ0aXRsZVxcXCI6IFxcXCLlpYfotqPlvbHop4ZcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcInVybFxcXCI6IFxcXCJodHRwczovL2FwcC5xaXF1Lm1lL21vZ2FpX2FwaS5waHAvdjEudm9kXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJpbWdcXFwiOiBcXFwiaHR0cHM6Ly9pbm1lbW9yeS5jb2RpbmcubmV0L3AvSW5NZW1vcnkvZC9NQnJvd3Nlci9naXQvcmF3L21hc3Rlci9BcHBGaWxlL0FwcEljb24v5aWH6Laj5b2x6KeGLnBuZ1xcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwibXVybFxcXCI6IFxcXCJxOkFQUOW9seinhlxcXCJcXG4gICAgICAgICAgICAgICAgfSxcXG4gICAgICAgICAgICAgICAge1xcbiAgICAgICAgICAgICAgICAgICAgXFxcInRpdGxlXFxcIjogXFxcIuS7u+aAp+eci1xcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwidXJsXFxcIjogXFxcImh0dHBzOi8vcmVueGluZ2thbi5uZXQvYXBpLnBocC92MS52b2RcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcImltZ1xcXCI6IFxcXCJodHRwczovL2lubWVtb3J5LmNvZGluZy5uZXQvcC9Jbk1lbW9yeS9kL01Ccm93c2VyL2dpdC9yYXcvbWFzdGVyL0FwcEZpbGUvQXBwSWNvbi/ku7vmgKfnnIsucG5nXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJtdXJsXFxcIjogXFxcInE6QVBQ5b2x6KeGXFxcIlxcbiAgICAgICAgICAgICAgICB9LFxcbiAgICAgICAgICAgICAgICB7XFxuICAgICAgICAgICAgICAgICAgICBcXFwidGl0bGVcXFwiOiBcXFwi5oCd5aWH5b2x6KeGXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJ1cmxcXFwiOiBcXFwiaHR0cDovL2FwcC5zaXFpdHYudmlwL21vZ2FpX2FwaS5waHAvdjEudm9kXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJpbWdcXFwiOiBcXFwiaHR0cHM6Ly9pbm1lbW9yeS5jb2RpbmcubmV0L3AvSW5NZW1vcnkvZC9NQnJvd3Nlci9naXQvcmF3L21hc3Rlci9BcHBGaWxlL0FwcEljb24v5oCd5aWH5b2x6KeGLnBuZ1xcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwibXVybFxcXCI6IFxcXCJxOkFQUOW9seinhlxcXCJcXG4gICAgICAgICAgICAgICAgfSxcXG4gICAgICAgICAgICAgICAge1xcbiAgICAgICAgICAgICAgICAgICAgXFxcInRpdGxlXFxcIjogXFxcIuS4ieaXpeW9semZolxcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwidXJsXFxcIjogXFxcImh0dHBzOi8vd3d3LjNyaS5uZXQvYXBpLnBocC92MS52b2RcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcImltZ1xcXCI6IFxcXCJodHRwczovL2lubWVtb3J5LmNvZGluZy5uZXQvcC9Jbk1lbW9yeS9kL01Ccm93c2VyL2dpdC9yYXcvbWFzdGVyL0FwcEZpbGUvQXBwSWNvbi/kuInml6XlvbHpmaIucG5nXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJtdXJsXFxcIjogXFxcInE6QVBQ5b2x6KeGXFxcIlxcbiAgICAgICAgICAgICAgICB9LFxcbiAgICAgICAgICAgICAgICB7XFxuICAgICAgICAgICAgICAgICAgICBcXFwidGl0bGVcXFwiOiBcXFwi56We6ams5b2x6KeGXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJ1cmxcXFwiOiBcXFwiaHR0cDovL3hzLjc4dHYuY2MvbW9nYWlfYXBpLnBocC92MS52b2RcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcImltZ1xcXCI6IFxcXCJodHRwczovL2lubWVtb3J5LmNvZGluZy5uZXQvcC9Jbk1lbW9yeS9kL01Ccm93c2VyL2dpdC9yYXcvbWFzdGVyL0FwcEZpbGUvQXBwSWNvbi/npZ7pqazlvbHop4YucG5nXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJtdXJsXFxcIjogXFxcInE6QVBQ5b2x6KeGXFxcIlxcbiAgICAgICAgICAgICAgICB9LFxcbiAgICAgICAgICAgICAgICB7XFxuICAgICAgICAgICAgICAgICAgICBcXFwidGl0bGVcXFwiOiBcXFwi6KeG5ZCs5pif55CDXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJ1cmxcXFwiOiBcXFwiaHR0cDovL3pqeWFwaWp6eXMuc2h5bndsa2ouY29tL2FwaS5waHAvdjEudm9kXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJpbWdcXFwiOiBcXFwiaHR0cHM6Ly9pbm1lbW9yeS5jb2RpbmcubmV0L3AvSW5NZW1vcnkvZC9NQnJvd3Nlci9naXQvcmF3L21hc3Rlci9BcHBGaWxlL0FwcEljb24v6KeG5ZCs5pif55CDLnBuZ1xcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwibXVybFxcXCI6IFxcXCJxOkFQUOW9seinhlxcXCJcXG4gICAgICAgICAgICAgICAgfSxcXG4gICAgICAgICAgICAgICAge1xcbiAgICAgICAgICAgICAgICAgICAgXFxcInRpdGxlXFxcIjogXFxcIuWcn+ixhlRWXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJ1cmxcXFwiOiBcXFwiaHR0cDovL3hpdXhpYW4ucWQyMzQuY24vbW9nYWlfYXBpLnBocC92MS52b2RcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcImltZ1xcXCI6IFxcXCJodHRwczovL2lubWVtb3J5LmNvZGluZy5uZXQvcC9Jbk1lbW9yeS9kL01Ccm93c2VyL2dpdC9yYXcvbWFzdGVyL0FwcEZpbGUvQXBwSWNvbi/lnJ/osYZUVi5wbmdcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcIm11cmxcXFwiOiBcXFwicTpBUFDlvbHop4ZcXFwiXFxuICAgICAgICAgICAgICAgIH0sXFxuICAgICAgICAgICAgICAgIHtcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJ0aXRsZVxcXCI6IFxcXCLmt5jliafnpL5cXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcInVybFxcXCI6IFxcXCJodHRwczovL2FwcC5zaHVoYWk5OS5jb20vYXBpLnBocC92MS52b2RcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcImltZ1xcXCI6IFxcXCJodHRwczovL2lubWVtb3J5LmNvZGluZy5uZXQvcC9Jbk1lbW9yeS9kL01Ccm93c2VyL2dpdC9yYXcvbWFzdGVyL0FwcEZpbGUvQXBwSWNvbi/mt5jliafnpL4ucG5nXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJtdXJsXFxcIjogXFxcInE6QVBQ5b2x6KeGXFxcIlxcbiAgICAgICAgICAgICAgICB9LFxcbiAgICAgICAgICAgICAgICB7XFxuICAgICAgICAgICAgICAgICAgICBcXFwidGl0bGVcXFwiOiBcXFwi5aSp56m65b2x6KeGXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJ1cmxcXFwiOiBcXFwiaHR0cHM6Ly90di41MWFpem4uY29tL2FwaS5waHAvdjEudm9kXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJpbWdcXFwiOiBcXFwiaHR0cHM6Ly9pbm1lbW9yeS5jb2RpbmcubmV0L3AvSW5NZW1vcnkvZC9NQnJvd3Nlci9naXQvcmF3L21hc3Rlci9BcHBGaWxlL0FwcEljb24v5aSp56m65b2x6KeGLnBuZ1xcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwibXVybFxcXCI6IFxcXCJxOkFQUOW9seinhlxcXCJcXG4gICAgICAgICAgICAgICAgfSxcXG4gICAgICAgICAgICAgICAge1xcbiAgICAgICAgICAgICAgICAgICAgXFxcInRpdGxlXFxcIjogXFxcIuWkqeWkqeinhumikVxcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwidXJsXFxcIjogXFxcImh0dHA6Ly9hcHAucWlhbmp1LmNjL2FwaS5waHAvdjEudm9kXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJpbWdcXFwiOiBcXFwiaHR0cHM6Ly9pbm1lbW9yeS5jb2RpbmcubmV0L3AvSW5NZW1vcnkvZC9NQnJvd3Nlci9naXQvcmF3L21hc3Rlci9BcHBGaWxlL0FwcEljb24v5aSp5aSp6KeG6aKRLnBuZ1xcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwibXVybFxcXCI6IFxcXCJxOkFQUOW9seinhlxcXCJcXG4gICAgICAgICAgICAgICAgfSxcXG4gICAgICAgICAgICAgICAge1xcbiAgICAgICAgICAgICAgICAgICAgXFxcInRpdGxlXFxcIjogXFxcIuWFlOWtkOeqnVxcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwidXJsXFxcIjogXFxcImh0dHA6Ly9jai5odWltYW9qaWEuY29tOjEyMzQ1L21vZ2FpX2FwaS5waHAvdjEudm9kXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJpbWdcXFwiOiBcXFwiaHR0cHM6Ly9pbm1lbW9yeS5jb2RpbmcubmV0L3AvSW5NZW1vcnkvZC9NQnJvd3Nlci9naXQvcmF3L21hc3Rlci9BcHBGaWxlL0FwcEljb24v5YWU5a2Q56qdLnBuZ1xcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwibXVybFxcXCI6IFxcXCJxOkFQUOW9seinhlxcXCJcXG4gICAgICAgICAgICAgICAgfSxcXG4gICAgICAgICAgICAgICAge1xcbiAgICAgICAgICAgICAgICAgICAgXFxcInRpdGxlXFxcIjogXFxcIuaIkeeIsei3n+WJp1xcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwidXJsXFxcIjogXFxcImh0dHBzOi8vd3d3Lmdlbm1vdi5jb20vYXBpLnBocC92MS52b2RcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcImltZ1xcXCI6IFxcXCJodHRwczovL2lubWVtb3J5LmNvZGluZy5uZXQvcC9Jbk1lbW9yeS9kL01Ccm93c2VyL2dpdC9yYXcvbWFzdGVyL0FwcEZpbGUvQXBwSWNvbi/miJHniLHot5/liacucG5nXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJtdXJsXFxcIjogXFxcInE6QVBQ5b2x6KeGXFxcIlxcbiAgICAgICAgICAgICAgICB9LFxcbiAgICAgICAgICAgICAgICB7XFxuICAgICAgICAgICAgICAgICAgICBcXFwidGl0bGVcXFwiOiBcXFwi5ZC+54ix5b2x6KeGXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJ1cmxcXFwiOiBcXFwiaHR0cDovL2FwcC41bHAubmV0L2FwaS5waHAvdjEudm9kXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJpbWdcXFwiOiBcXFwiaHR0cHM6Ly9pbm1lbW9yeS5jb2RpbmcubmV0L3AvSW5NZW1vcnkvZC9NQnJvd3Nlci9naXQvcmF3L21hc3Rlci9BcHBGaWxlL0FwcEljb24v5ZC+54ix5b2x6KeGLnBuZ1xcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwibXVybFxcXCI6IFxcXCJxOkFQUOW9seinhlxcXCJcXG4gICAgICAgICAgICAgICAgfSxcXG4gICAgICAgICAgICAgICAge1xcbiAgICAgICAgICAgICAgICAgICAgXFxcInRpdGxlXFxcIjogXFxcIuWQvueIseW9seinhlxcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwidXJsXFxcIjogXFxcImh0dHA6Ly81Mnlzdy54eXovbW9nYWlfYXBpLnBocC92MS52b2RcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcImltZ1xcXCI6IFxcXCJodHRwczovL2lubWVtb3J5LmNvZGluZy5uZXQvcC9Jbk1lbW9yeS9kL01Ccm93c2VyL2dpdC9yYXcvbWFzdGVyL0FwcEZpbGUvQXBwSWNvbi/lkL7niLHlvbHop4YxLnBuZ1xcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwibXVybFxcXCI6IFxcXCJxOkFQUOW9seinhlxcXCJcXG4gICAgICAgICAgICAgICAgfSxcXG4gICAgICAgICAgICAgICAge1xcbiAgICAgICAgICAgICAgICAgICAgXFxcInRpdGxlXFxcIjogXFxcIuWQu+eXleinhumikVxcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwidXJsXFxcIjogXFxcImh0dHA6Ly93d3cua2lzc29uZS5jbi9ydWlmZW5nbGJfYXBpLnBocC92MS52b2RcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcImltZ1xcXCI6IFxcXCJodHRwczovL2lubWVtb3J5LmNvZGluZy5uZXQvcC9Jbk1lbW9yeS9kL01Ccm93c2VyL2dpdC9yYXcvbWFzdGVyL0FwcEZpbGUvQXBwSWNvbi/lkLvnl5Xop4bpopEucG5nXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJtdXJsXFxcIjogXFxcInE6QVBQ5b2x6KeGXFxcIlxcbiAgICAgICAgICAgICAgICB9LFxcbiAgICAgICAgICAgICAgICB7XFxuICAgICAgICAgICAgICAgICAgICBcXFwidGl0bGVcXFwiOiBcXFwi6JyX54mb5Yqo5ryrXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJ1cmxcXFwiOiBcXFwiaHR0cDovL3dvbml1ZG0ud29uaXUuY3lvdToyMDAwMC9tb2dhaV9hcGkucGhwL3YxLnZvZFxcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwiaW1nXFxcIjogXFxcImh0dHBzOi8vaW5tZW1vcnkuY29kaW5nLm5ldC9wL0luTWVtb3J5L2QvTUJyb3dzZXIvZ2l0L3Jhdy9tYXN0ZXIvQXBwRmlsZS9BcHBJY29uL+icl+eJm+WKqOa8qy5wbmdcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcIm11cmxcXFwiOiBcXFwicTpBUFDlvbHop4ZcXFwiXFxuICAgICAgICAgICAgICAgIH0sXFxuICAgICAgICAgICAgICAgIHtcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJ0aXRsZVxcXCI6IFxcXCLlr7vluLjlvbHop4ZcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcInVybFxcXCI6IFxcXCJodHRwOi8vdHYuOTF5bXouY24vYXBpLnBocC92MS52b2RcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcImltZ1xcXCI6IFxcXCJodHRwczovL2lubWVtb3J5LmNvZGluZy5uZXQvcC9Jbk1lbW9yeS9kL01Ccm93c2VyL2dpdC9yYXcvbWFzdGVyL0FwcEZpbGUvQXBwSWNvbi/lr7vluLjlvbHop4YucG5nXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJtdXJsXFxcIjogXFxcInE6QVBQ5b2x6KeGXFxcIlxcbiAgICAgICAgICAgICAgICB9LFxcbiAgICAgICAgICAgICAgICB7XFxuICAgICAgICAgICAgICAgICAgICBcXFwidGl0bGVcXFwiOiBcXFwi54aK54yr5Yqo5ryrXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJ1cmxcXFwiOiBcXFwiaHR0cDovL2RvbmdtYW4uazhhYS5jb20vbW9nYWlfYXBpLnBocC92MS52b2RcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcImltZ1xcXCI6IFxcXCJodHRwczovL2lubWVtb3J5LmNvZGluZy5uZXQvcC9Jbk1lbW9yeS9kL01Ccm93c2VyL2dpdC9yYXcvbWFzdGVyL0FwcEZpbGUvQXBwSWNvbi/nhornjKvliqjmvKsucG5nXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJtdXJsXFxcIjogXFxcInE6QVBQ5b2x6KeGXFxcIlxcbiAgICAgICAgICAgICAgICB9LFxcbiAgICAgICAgICAgICAgICB7XFxuICAgICAgICAgICAgICAgICAgICBcXFwidGl0bGVcXFwiOiBcXFwi54aK54yr6KeG6aKRXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJ1cmxcXFwiOiBcXFwiaHR0cDovL2FuZWdoLmNvbS9sdmRvdV9hcGkucGhwL3YxLnZvZFxcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwiaW1nXFxcIjogXFxcImh0dHBzOi8vaW5tZW1vcnkuY29kaW5nLm5ldC9wL0luTWVtb3J5L2QvTUJyb3dzZXIvZ2l0L3Jhdy9tYXN0ZXIvQXBwRmlsZS9BcHBJY29uL+eGiueMq+inhumikS5wbmdcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcIm11cmxcXFwiOiBcXFwicTpBUFDlvbHop4ZcXFwiXFxuICAgICAgICAgICAgICAgIH0sXFxuICAgICAgICAgICAgICAgIHtcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJ0aXRsZVxcXCI6IFxcXCLnjrrlqJzlvbHop4ZcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcInVybFxcXCI6IFxcXCJodHRwczovL3BwLnd4aW5hLmNuL2FwaS5waHAvdjEudm9kXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJpbWdcXFwiOiBcXFwiaHR0cHM6Ly9pbm1lbW9yeS5jb2RpbmcubmV0L3AvSW5NZW1vcnkvZC9NQnJvd3Nlci9naXQvcmF3L21hc3Rlci9BcHBGaWxlL0FwcEljb24v54665aic5b2x6KeGLnBuZ1xcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwibXVybFxcXCI6IFxcXCJxOkFQUOW9seinhlxcXCJcXG4gICAgICAgICAgICAgICAgfSxcXG4gICAgICAgICAgICAgICAge1xcbiAgICAgICAgICAgICAgICAgICAgXFxcInRpdGxlXFxcIjogXFxcIuWwj+icu+ick1xcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwidXJsXFxcIjogXFxcImh0dHA6Ly8za2V0di5jb20vbW9nYWlfYXBpLnBocC92MS52b2RcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcImltZ1xcXCI6IFxcXCJodHRwczovL2lubWVtb3J5LmNvZGluZy5uZXQvcC9Jbk1lbW9yeS9kL01Ccm93c2VyL2dpdC9yYXcvbWFzdGVyL0FwcEZpbGUvQXBwSWNvbi/lsI/onLvonJPop4bpopEucG5nXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJtdXJsXFxcIjogXFxcInE6QVBQ5b2x6KeGXFxcIlxcbiAgICAgICAgICAgICAgICB9LFxcbiAgICAgICAgICAgICAgICB7XFxuICAgICAgICAgICAgICAgICAgICBcXFwidGl0bGVcXFwiOiBcXFwi5pif55CD6KeG6aKRXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJ1cmxcXFwiOiBcXFwiaHR0cDovLzExOS4yOS4xMjEuNDg6ODA4OC9hcGkucGhwL3YxLnZvZFxcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwiaW1nXFxcIjogXFxcImh0dHBzOi8vaW5tZW1vcnkuY29kaW5nLm5ldC9wL0luTWVtb3J5L2QvTUJyb3dzZXIvZ2l0L3Jhdy9tYXN0ZXIvQXBwRmlsZS9BcHBJY29uL+aYn+eQg+inhumikS5wbmdcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcIm11cmxcXFwiOiBcXFwicTpBUFDlvbHop4ZcXFwiXFxuICAgICAgICAgICAgICAgIH0sXFxuICAgICAgICAgICAgICAgIHtcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJ0aXRsZVxcXCI6IFxcXCLnjrrlv4PlvbHop4ZcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcInVybFxcXCI6IFxcXCJodHRwczovL3R2LmFyYmQuY24vYXBpLnBocC92MS52b2RcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcImltZ1xcXCI6IFxcXCJodHRwczovL2lubWVtb3J5LmNvZGluZy5uZXQvcC9Jbk1lbW9yeS9kL01Ccm93c2VyL2dpdC9yYXcvbWFzdGVyL0FwcEZpbGUvQXBwSWNvbi/njrrlv4PlvbHop4YucG5nXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJtdXJsXFxcIjogXFxcInE6QVBQ5b2x6KeGXFxcIlxcbiAgICAgICAgICAgICAgICB9LFxcbiAgICAgICAgICAgICAgICB7XFxuICAgICAgICAgICAgICAgICAgICBcXFwidGl0bGVcXFwiOiBcXFwi5paw5Lqr5b2x6KeGXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJ1cmxcXFwiOiBcXFwiaHR0cHM6Ly9hcHAuamlhZ2FuLmN4L2FwaS5waHAvdjEudm9kXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJpbWdcXFwiOiBcXFwiaHR0cHM6Ly9pbm1lbW9yeS5jb2RpbmcubmV0L3AvSW5NZW1vcnkvZC9NQnJvd3Nlci9naXQvcmF3L21hc3Rlci9BcHBGaWxlL0FwcEljb24v5paw5Lqr5b2x6KeGLnBuZ1xcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwibXVybFxcXCI6IFxcXCJxOkFQUOW9seinhlxcXCJcXG4gICAgICAgICAgICAgICAgfSxcXG4gICAgICAgICAgICAgICAge1xcbiAgICAgICAgICAgICAgICAgICAgXFxcInRpdGxlXFxcIjogXFxcIuaYn+W9seebuOmaj1xcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwidXJsXFxcIjogXFxcImh0dHA6Ly9hcHAucm9vdHRocmVlLnRvcC9tb2dhaV9hcGkucGhwL3YxLnZvZFxcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwiaW1nXFxcIjogXFxcImh0dHBzOi8vaW5tZW1vcnkuY29kaW5nLm5ldC9wL0luTWVtb3J5L2QvTUJyb3dzZXIvZ2l0L3Jhdy9tYXN0ZXIvQXBwRmlsZS9BcHBJY29uL+aYn+W9seebuOmajy5wbmdcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcIm11cmxcXFwiOiBcXFwicTpBUFDlvbHop4ZcXFwiXFxuICAgICAgICAgICAgICAgIH0sXFxuICAgICAgICAgICAgICAgIHtcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJ0aXRsZVxcXCI6IFxcXCLlsI/mmJPlvbHop4ZcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcInVybFxcXCI6IFxcXCJodHRwOi8veHkuaXJvcC5jbi9hcGkucGhwL3YxLnZvZFxcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwiaW1nXFxcIjogXFxcImh0dHBzOi8vaW5tZW1vcnkuY29kaW5nLm5ldC9wL0luTWVtb3J5L2QvTUJyb3dzZXIvZ2l0L3Jhdy9tYXN0ZXIvQXBwRmlsZS9BcHBJY29uL+Wwj+aYk+W9seinhi5wbmdcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcIm11cmxcXFwiOiBcXFwicTpBUFDlvbHop4ZcXFwiXFxuICAgICAgICAgICAgICAgIH0sXFxuICAgICAgICAgICAgICAgIHtcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJ0aXRsZVxcXCI6IFxcXCLkupHln47lvbHpmaJcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcInVybFxcXCI6IFxcXCJodHRwczovL2F5eWYuY24vbXViYWlfYXBpLnBocC9tMi52b2RcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcImltZ1xcXCI6IFxcXCJodHRwczovL2lubWVtb3J5LmNvZGluZy5uZXQvcC9Jbk1lbW9yeS9kL01Ccm93c2VyL2dpdC9yYXcvbWFzdGVyL0FwcEZpbGUvQXBwSWNvbi/kupHln47lvbHpmaIucG5nXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJtdXJsXFxcIjogXFxcInE6QVBQ5b2x6KeGXFxcIlxcbiAgICAgICAgICAgICAgICB9LFxcbiAgICAgICAgICAgICAgICB7XFxuICAgICAgICAgICAgICAgICAgICBcXFwidGl0bGVcXFwiOiBcXFwi5pyI5YS/5b2x6KeGXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJ1cmxcXFwiOiBcXFwiaHR0cHM6Ly95dWU1Mi54eXovYXBpLnBocC92MS52b2RcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcImltZ1xcXCI6IFxcXCJodHRwczovL2lubWVtb3J5LmNvZGluZy5uZXQvcC9Jbk1lbW9yeS9kL01Ccm93c2VyL2dpdC9yYXcvbWFzdGVyL0FwcEZpbGUvQXBwSWNvbi/pgJrnlKjlm77moIcucG5nXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJtdXJsXFxcIjogXFxcInE6QVBQ5b2x6KeGXFxcIlxcbiAgICAgICAgICAgICAgICB9LFxcbiAgICAgICAgICAgICAgICB7XFxuICAgICAgICAgICAgICAgICAgICBcXFwidGl0bGVcXFwiOiBcXFwi5qix6Iqx5Yqo5ryrXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJ1cmxcXFwiOiBcXFwiaHR0cHM6Ly93d3cuZG13dS5jYy9hcGkucGhwL3YxLnZvZFxcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwiaW1nXFxcIjogXFxcImh0dHBzOi8vaW5tZW1vcnkuY29kaW5nLm5ldC9wL0luTWVtb3J5L2QvTUJyb3dzZXIvZ2l0L3Jhdy9tYXN0ZXIvQXBwRmlsZS9BcHBJY29uL+aoseiKseWKqOa8qy5wbmdcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcIm11cmxcXFwiOiBcXFwicTpBUFDlvbHop4ZcXFwiXFxuICAgICAgICAgICAgICAgIH0sXFxuICAgICAgICAgICAgICAgIHtcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJ0aXRsZVxcXCI6IFxcXCLmnIjkuq7lvbHop4ZcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcInVybFxcXCI6IFxcXCJodHRwOi8veXMuMTN0di50b3AvYWNqX2FwaS5waHAvdjEudm9kXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJpbWdcXFwiOiBcXFwiaHR0cHM6Ly9pbm1lbW9yeS5jb2RpbmcubmV0L3AvSW5NZW1vcnkvZC9NQnJvd3Nlci9naXQvcmF3L21hc3Rlci9BcHBGaWxlL0FwcEljb24v5pyI5Lqu5b2x6KeGLnBuZ1xcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwibXVybFxcXCI6IFxcXCJxOkFQUOW9seinhlxcXCJcXG4gICAgICAgICAgICAgICAgfSxcXG4gICAgICAgICAgICAgICAge1xcbiAgICAgICAgICAgICAgICAgICAgXFxcInRpdGxlXFxcIjogXFxcIuW9seinhuWkp+WFqFxcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwidXJsXFxcIjogXFxcImh0dHBzOi8veGMueGl4aTJ5eS54eXovbW9nYWlfYXBpLnBocC92MS52b2RcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcImltZ1xcXCI6IFxcXCJodHRwczovL2lubWVtb3J5LmNvZGluZy5uZXQvcC9Jbk1lbW9yeS9kL01Ccm93c2VyL2dpdC9yYXcvbWFzdGVyL0FwcEZpbGUvQXBwSWNvbi/lvbHop4blpKflhahIRC5wbmdcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcIm11cmxcXFwiOiBcXFwicTpBUFDlvbHop4ZcXFwiXFxuICAgICAgICAgICAgICAgIH0sXFxuICAgICAgICAgICAgICAgIHtcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJ0aXRsZVxcXCI6IFxcXCLlvbHop4bng63liadcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcInVybFxcXCI6IFxcXCJodHRwOi8vbGIuMjZ5cy5jbi9hcGkucGhwL3YxLnZvZFxcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwiaW1nXFxcIjogXFxcImh0dHBzOi8vaW5tZW1vcnkuY29kaW5nLm5ldC9wL0luTWVtb3J5L2QvTUJyb3dzZXIvZ2l0L3Jhdy9tYXN0ZXIvQXBwRmlsZS9BcHBJY29uL+W9seinhueDreWJpy5wbmdcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcIm11cmxcXFwiOiBcXFwicTpBUFDlvbHop4ZcXFwiXFxuICAgICAgICAgICAgICAgIH0sXFxuICAgICAgICAgICAgICAgIHtcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJ0aXRsZVxcXCI6IFxcXCLmuJTmuJTlvbHop4ZcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcInVybFxcXCI6IFxcXCJodHRwOi8vbHVvYm8ueXVnZW55ZS5zaXRlL2FwaS5waHAvdjEudm9kXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJpbWdcXFwiOiBcXFwiaHR0cHM6Ly9pbm1lbW9yeS5jb2RpbmcubmV0L3AvSW5NZW1vcnkvZC9NQnJvd3Nlci9naXQvcmF3L21hc3Rlci9BcHBGaWxlL0FwcEljb24v5riU5riU5b2x6KeGLnBuZ1xcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwibXVybFxcXCI6IFxcXCJxOkFQUOW9seinhlxcXCJcXG4gICAgICAgICAgICAgICAgfSxcXG4gICAgICAgICAgICAgICAge1xcbiAgICAgICAgICAgICAgICAgICAgXFxcInRpdGxlXFxcIjogXFxcIuS8mOS8mOW9semZolxcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwidXJsXFxcIjogXFxcImh0dHA6Ly94aW4uampzdmlwLmNjL21vZ2FpX2FwaS5waHAvdjEudm9kXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJpbWdcXFwiOiBcXFwiaHR0cHM6Ly9pbm1lbW9yeS5jb2RpbmcubmV0L3AvSW5NZW1vcnkvZC9NQnJvd3Nlci9naXQvcmF3L21hc3Rlci9BcHBGaWxlL0FwcEljb24v5LyY5LyY5b2x6ZmiLnBuZ1xcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwibXVybFxcXCI6IFxcXCJxOkFQUOW9seinhlxcXCJcXG4gICAgICAgICAgICAgICAgfSxcXG4gICAgICAgICAgICAgICAge1xcbiAgICAgICAgICAgICAgICAgICAgXFxcInRpdGxlXFxcIjogXFxcIuafmuWtkOinhumikVxcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwidXJsXFxcIjogXFxcImh0dHA6Ly95ei4yNnlzLmNuL2FwaS5waHAvdjEudm9kXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJpbWdcXFwiOiBcXFwiaHR0cHM6Ly9pbm1lbW9yeS5jb2RpbmcubmV0L3AvSW5NZW1vcnkvZC9NQnJvd3Nlci9naXQvcmF3L21hc3Rlci9BcHBGaWxlL0FwcEljb24v5p+a5a2Q6KeG6aKRLnBuZ1xcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwibXVybFxcXCI6IFxcXCJxOkFQUOW9seinhlxcXCJcXG4gICAgICAgICAgICAgICAgfSxcXG4gICAgICAgICAgICAgICAge1xcbiAgICAgICAgICAgICAgICAgICAgXFxcInRpdGxlXFxcIjogXFxcIumxvOS7lOW9seinhlxcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwidXJsXFxcIjogXFxcImh0dHA6Ly95dXphaW8udG9wL2FwaS5waHAvdjEudm9kXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJpbWdcXFwiOiBcXFwiaHR0cHM6Ly9pbm1lbW9yeS5jb2RpbmcubmV0L3AvSW5NZW1vcnkvZC9NQnJvd3Nlci9naXQvcmF3L21hc3Rlci9BcHBGaWxlL0FwcEljb24v6bG85LuU5b2x6KeGLnBuZ1xcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwibXVybFxcXCI6IFxcXCJxOkFQUOW9seinhlxcXCJcXG4gICAgICAgICAgICAgICAgfSxcXG4gICAgICAgICAgICAgICAge1xcbiAgICAgICAgICAgICAgICAgICAgXFxcInRpdGxlXFxcIjogXFxcIui/veWJp+i+vuS6ulxcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwidXJsXFxcIjogXFxcImh0dHBzOi8vd3d3LnpodWlqdWRhcmVuLmNvbS9tb2dhaV9hcGkucGhwL3YxLnZvZFxcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwiaW1nXFxcIjogXFxcImh0dHBzOi8vaW5tZW1vcnkuY29kaW5nLm5ldC9wL0luTWVtb3J5L2QvTUJyb3dzZXIvZ2l0L3Jhdy9tYXN0ZXIvQXBwRmlsZS9BcHBJY29uL+i/veWJp+i+vuS6ui5wbmdcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcIm11cmxcXFwiOiBcXFwicTpBUFDlvbHop4ZcXFwiXFxuICAgICAgICAgICAgICAgIH0sXFxuICAgICAgICAgICAgICAgIHtcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJ0aXRsZVxcXCI6IFxcXCLov73liafnjKtcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcInVybFxcXCI6IFxcXCJodHRwOi8vdHYua210dmIuY29tL2FwaS5waHAvdjEudm9kXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJpbWdcXFwiOiBcXFwiaHR0cHM6Ly9pbm1lbW9yeS5jb2RpbmcubmV0L3AvSW5NZW1vcnkvZC9NQnJvd3Nlci9naXQvcmF3L21hc3Rlci9BcHBGaWxlL0FwcEljb24v6L+95Ymn54yrMS5wbmdcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcIm11cmxcXFwiOiBcXFwicTpBUFDlvbHop4ZcXFwiXFxuICAgICAgICAgICAgICAgIH0sXFxuICAgICAgICAgICAgICAgIHtcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJ0aXRsZVxcXCI6IFxcXCLkvqbmjqLlvbHop4ZcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcInVybFxcXCI6IFxcXCJodHRwOi8veXMuaHVhbmdndWF5LmNvbS9tb2dhaV9hcGkucGhwL3YxLnZvZFxcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwiaW1nXFxcIjogXFxcImh0dHBzOi8vaW5tZW1vcnkuY29kaW5nLm5ldC9wL0luTWVtb3J5L2QvTUJyb3dzZXIvZ2l0L3Jhdy9tYXN0ZXIvQXBwRmlsZS9BcHBJY29uL+S+puaOouW9seinhi5wbmdcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcIm11cmxcXFwiOiBcXFwicTpBUFDlvbHop4ZcXFwiXFxuICAgICAgICAgICAgICAgIH0sXFxuICAgICAgICAgICAgICAgIHtcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJ0aXRsZVxcXCI6IFxcXCLnjKrnjKrlvbHpmaJcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcInVybFxcXCI6IFxcXCJodHRwOi8vYXBwLjJ6ZHl5LmNvbS9hcGkucGhwL3YxLnZvZFxcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwiaW1nXFxcIjogXFxcImh0dHBzOi8vaW5tZW1vcnkuY29kaW5nLm5ldC9wL0luTWVtb3J5L2QvTUJyb3dzZXIvZ2l0L3Jhdy9tYXN0ZXIvQXBwRmlsZS9BcHBJY29uL+eMqueMquW9semZoi5wbmdcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcIm11cmxcXFwiOiBcXFwicTpBUFDlvbHop4ZcXFwiXFxuICAgICAgICAgICAgICAgIH1cXG4gICAgICAgICAgICBdXFxuICAgICAgICB9LFxcbiAgICAgICAge1xcbiAgICAgICAgICAgIFxcXCJ0aXRsZVxcXCI6IFxcXCJJUFRWXFxcIixcXG4gICAgICAgICAgICBcXFwibGlzdFxcXCI6IFt7XFxuICAgICAgICAgICAgICAgICAgICBcXFwidGl0bGVcXFwiOiBcXFwiMuWPt+W4gVxcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwidXJsXFxcIjogXFxcImh0dHA6Ly9waG9lYmUuY2YvYXBpLnBocC9pcHR2L3ZvZC9cXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcImltZ1xcXCI6IFxcXCJodHRwczovL2lubWVtb3J5LmNvZGluZy5uZXQvcC9Jbk1lbW9yeS9kL01Ccm93c2VyL2dpdC9yYXcvbWFzdGVyL0FwcEZpbGUvQXBwSWNvbi8y5Y+35biB5b2x6ZmiLnBuZ1xcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwibXVybFxcXCI6IFxcXCJxOlRW5b2x6KeGXFxcIlxcbiAgICAgICAgICAgICAgICB9LFxcbiAgICAgICAgICAgICAgICB7XFxuICAgICAgICAgICAgICAgICAgICBcXFwidGl0bGVcXFwiOiBcXFwiQ1blvbHop4ZcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcInVybFxcXCI6IFxcXCJodHRwOi8vd3d3LmNjY3Z2di50b3AvYXBpLnBocC9pcHR2L3ZvZC9cXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcImltZ1xcXCI6IFxcXCJodHRwczovL2lubWVtb3J5LmNvZGluZy5uZXQvcC9Jbk1lbW9yeS9kL01Ccm93c2VyL2dpdC9yYXcvbWFzdGVyL0FwcEZpbGUvQXBwSWNvbi9DVuW9seinhi5wbmdcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcIm11cmxcXFwiOiBcXFwicTpUVuW9seinhlxcXCJcXG4gICAgICAgICAgICAgICAgfSxcXG4gICAgICAgICAgICAgICAge1xcbiAgICAgICAgICAgICAgICAgICAgXFxcInRpdGxlXFxcIjogXFxcIkhH5b2x6KeGXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJ1cmxcXFwiOiBcXFwiaHR0cDovL2FwaS5oZ3l4LnZpcC9hcGkucGhwL2lwdHYvdm9kL1xcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwiaW1nXFxcIjogXFxcImh0dHBzOi8vaW5tZW1vcnkuY29kaW5nLm5ldC9wL0luTWVtb3J5L2QvTUJyb3dzZXIvZ2l0L3Jhdy9tYXN0ZXIvQXBwRmlsZS9BcHBJY29uL0hH5b2x6KeGLnBuZ1xcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwibXVybFxcXCI6IFxcXCJxOlRW5b2x6KeGXFxcIlxcbiAgICAgICAgICAgICAgICB9LFxcbiAgICAgICAgICAgICAgICB7XFxuICAgICAgICAgICAgICAgICAgICBcXFwidGl0bGVcXFwiOiBcXFwi5YKy6KeG5b2x6ZmiXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJ1cmxcXFwiOiBcXFwiaHR0cDovL2ouempqLmxpZmU6ODgvbXYvYXBpLnBocC9DaGVuZ2NoZW5nL3ZvZC9cXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcImltZ1xcXCI6IFxcXCJodHRwczovL2lubWVtb3J5LmNvZGluZy5uZXQvcC9Jbk1lbW9yeS9kL01Ccm93c2VyL2dpdC9yYXcvbWFzdGVyL0FwcEZpbGUvQXBwSWNvbi/lgrLop4blvbHpmaIucG5nXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJtdXJsXFxcIjogXFxcInE6VFblvbHop4ZcXFwiXFxuICAgICAgICAgICAgICAgIH0sXFxuICAgICAgICAgICAgICAgIHtcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJ0aXRsZVxcXCI6IFxcXCLniLHopb/opb9UVlxcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwidXJsXFxcIjogXFxcImh0dHA6Ly90di5haXhpeGkudmlwL2FwaS5waHAvaXB0di92b2QvXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJpbWdcXFwiOiBcXFwiaHR0cHM6Ly9pbm1lbW9yeS5jb2RpbmcubmV0L3AvSW5NZW1vcnkvZC9NQnJvd3Nlci9naXQvcmF3L21hc3Rlci9BcHBGaWxlL0FwcEljb24v54ix6KW/6KW/VFYucG5nXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJtdXJsXFxcIjogXFxcInE6VFblvbHop4ZcXFwiXFxuICAgICAgICAgICAgICAgIH0sXFxuICAgICAgICAgICAgICAgIHtcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJ0aXRsZVxcXCI6IFxcXCLnmb3nhorlvbHpmaJcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcInVybFxcXCI6IFxcXCJodHRwOi8vcXQueWh6eS54eXovYXBpLnBocC9pcHR2L3ZvZC9cXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcImltZ1xcXCI6IFxcXCJodHRwczovL2lubWVtb3J5LmNvZGluZy5uZXQvcC9Jbk1lbW9yeS9kL01Ccm93c2VyL2dpdC9yYXcvbWFzdGVyL0FwcEZpbGUvQXBwSWNvbi/nmb3nhorlvbHpmaIucG5nXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJtdXJsXFxcIjogXFxcInE6VFblvbHop4ZcXFwiXFxuICAgICAgICAgICAgICAgIH0sXFxuICAgICAgICAgICAgICAgIHtcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJ0aXRsZVxcXCI6IFxcXCLliLrmoZDlvbHop4ZcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcInVybFxcXCI6IFxcXCJodHRwOi8vdHYuY3R0di52aXAvYXBpLnBocC9pcHR2L3ZvZC9cXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcImltZ1xcXCI6IFxcXCJodHRwczovL2lubWVtb3J5LmNvZGluZy5uZXQvcC9Jbk1lbW9yeS9kL01Ccm93c2VyL2dpdC9yYXcvbWFzdGVyL0FwcEZpbGUvQXBwSWNvbi/liLrmoZDlvbHop4YucG5nXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJtdXJsXFxcIjogXFxcInE6VFblvbHop4ZcXFwiXFxuICAgICAgICAgICAgICAgIH0sXFxuICAgICAgICAgICAgICAgIHtcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJ0aXRsZVxcXCI6IFxcXCLlsJjmopNUVlxcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwidXJsXFxcIjogXFxcImh0dHA6Ly9jenR2LnZpcDo4My9hcGkucGhwL2NoZW56aXlzdHYvdm9kL1xcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwiaW1nXFxcIjogXFxcImh0dHBzOi8vaW5tZW1vcnkuY29kaW5nLm5ldC9wL0luTWVtb3J5L2QvTUJyb3dzZXIvZ2l0L3Jhdy9tYXN0ZXIvQXBwRmlsZS9BcHBJY29uL+WwmOaik1RWLnBuZ1xcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwibXVybFxcXCI6IFxcXCJxOlRW5b2x6KeGXFxcIlxcbiAgICAgICAgICAgICAgICB9LFxcbiAgICAgICAgICAgICAgICB7XFxuICAgICAgICAgICAgICAgICAgICBcXFwidGl0bGVcXFwiOiBcXFwi5ZiA5ZOp5ZiA5ZOpXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJ1cmxcXFwiOiBcXFwiaHR0cHM6Ly9hcGkuZGlsaWt0di54eXovYXBpLnBocC9DaGVuZ2NoZW5nL3ZvZC9cXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcImltZ1xcXCI6IFxcXCJodHRwczovL2lubWVtb3J5LmNvZGluZy5uZXQvcC9Jbk1lbW9yeS9kL01Ccm93c2VyL2dpdC9yYXcvbWFzdGVyL0FwcEZpbGUvQXBwSWNvbi/lmIDlk6nlmIDlk6lUVi5wbmdcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcIm11cmxcXFwiOiBcXFwicTpUVuW9seinhlxcXCJcXG4gICAgICAgICAgICAgICAgfSxcXG4gICAgICAgICAgICAgICAge1xcbiAgICAgICAgICAgICAgICAgICAgXFxcInRpdGxlXFxcIjogXFxcIuWKqOWKm+W9seinhlxcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwidXJsXFxcIjogXFxcImh0dHA6Ly93d3cubG92ZTk5ODkuY29tL2FwaS5waHAvaXB0di92b2QvXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJpbWdcXFwiOiBcXFwiaHR0cHM6Ly9pbm1lbW9yeS5jb2RpbmcubmV0L3AvSW5NZW1vcnkvZC9NQnJvd3Nlci9naXQvcmF3L21hc3Rlci9BcHBGaWxlL0FwcEljb24v5Yqo5Yqb5b2x6KeGLnBuZ1xcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwibXVybFxcXCI6IFxcXCJxOlRW5b2x6KeGXFxcIlxcbiAgICAgICAgICAgICAgICB9LFxcbiAgICAgICAgICAgICAgICB7XFxuICAgICAgICAgICAgICAgICAgICBcXFwidGl0bGVcXFwiOiBcXFwi5aSn5biI5YWEXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJ1cmxcXFwiOiBcXFwiaHR0cDovL2RzeHR2LnR2LmNpL2FwaS5waHAvZHN4L3ZvZC9cXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcImltZ1xcXCI6IFxcXCJodHRwczovL2lubWVtb3J5LmNvZGluZy5uZXQvcC9Jbk1lbW9yeS9kL01Ccm93c2VyL2dpdC9yYXcvbWFzdGVyL0FwcEZpbGUvQXBwSWNvbi/lpKfluIjlhYTlvbHop4YucG5nXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJtdXJsXFxcIjogXFxcInE6VFblvbHop4ZcXFwiXFxuICAgICAgICAgICAgICAgIH0sXFxuICAgICAgICAgICAgICAgIHtcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJ0aXRsZVxcXCI6IFxcXCLkuozotKflvbHop4ZcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcInVybFxcXCI6IFxcXCJodHRwOi8vZC56amoubGlmZTo4OC9tdi9hcGkucGhwL0NoZW5nY2hlbmcvdm9kL1xcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwiaW1nXFxcIjogXFxcImh0dHBzOi8vaW5tZW1vcnkuY29kaW5nLm5ldC9wL0luTWVtb3J5L2QvTUJyb3dzZXIvZ2l0L3Jhdy9tYXN0ZXIvQXBwRmlsZS9BcHBJY29uL+S6jOi0p+W9seinhi5wbmdcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcIm11cmxcXFwiOiBcXFwicTpUVuW9seinhlxcXCJcXG4gICAgICAgICAgICAgICAgfSxcXG4gICAgICAgICAgICAgICAge1xcbiAgICAgICAgICAgICAgICAgICAgXFxcInRpdGxlXFxcIjogXFxcIumdnuWHoeW9semZolxcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwidXJsXFxcIjogXFxcImh0dHA6Ly9jbXMuZmVpZmFuMTIueHl6L2FwaS5waHAvaXB0di92b2QvXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJpbWdcXFwiOiBcXFwiaHR0cHM6Ly9pbm1lbW9yeS5jb2RpbmcubmV0L3AvSW5NZW1vcnkvZC9NQnJvd3Nlci9naXQvcmF3L21hc3Rlci9BcHBGaWxlL0FwcEljb24v6Z2e5Yeh5b2x6ZmiLnBuZ1xcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwibXVybFxcXCI6IFxcXCJxOlRW5b2x6KeGXFxcIlxcbiAgICAgICAgICAgICAgICB9LFxcbiAgICAgICAgICAgICAgICB7XFxuICAgICAgICAgICAgICAgICAgICBcXFwidGl0bGVcXFwiOiBcXFwi6aOe5omsVFZcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcInVybFxcXCI6IFxcXCJodHRwOi8vZGlhbmNqLnpoZW5meS5jbi9hcGkucGhwL0NoZW5nY2hlbmcvdm9kL1xcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwiaW1nXFxcIjogXFxcImh0dHBzOi8vaW5tZW1vcnkuY29kaW5nLm5ldC9wL0luTWVtb3J5L2QvTUJyb3dzZXIvZ2l0L3Jhdy9tYXN0ZXIvQXBwRmlsZS9BcHBJY29uL+mjnuaJrFRWLnBuZ1xcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwibXVybFxcXCI6IFxcXCJxOlRW5b2x6KeGXFxcIlxcbiAgICAgICAgICAgICAgICB9LFxcbiAgICAgICAgICAgICAgICB7XFxuICAgICAgICAgICAgICAgICAgICBcXFwidGl0bGVcXFwiOiBcXFwi5Zi/6I286ZSLXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJ1cmxcXFwiOiBcXFwiaHR0cDovL3R2LmhmeXM4LnZpcC9hcGkucGhwL1NudHYvdm9kL1xcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwiaW1nXFxcIjogXFxcImh0dHBzOi8vaW5tZW1vcnkuY29kaW5nLm5ldC9wL0luTWVtb3J5L2QvTUJyb3dzZXIvZ2l0L3Jhdy9tYXN0ZXIvQXBwRmlsZS9BcHBJY29uL+WYv+iNvOmUiy5wbmdcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcIm11cmxcXFwiOiBcXFwicTpUVuW9seinhlxcXCJcXG4gICAgICAgICAgICAgICAgfSxcXG4gICAgICAgICAgICAgICAge1xcbiAgICAgICAgICAgICAgICAgICAgXFxcInRpdGxlXFxcIjogXFxcIum7kem+meW9seinhlxcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwidXJsXFxcIjogXFxcImh0dHA6Ly92aXAuamktZGluZy1oZS5zaXRlL2FwaS5waHAvaXB0di92b2QvXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJpbWdcXFwiOiBcXFwiaHR0cHM6Ly9pbm1lbW9yeS5jb2RpbmcubmV0L3AvSW5NZW1vcnkvZC9NQnJvd3Nlci9naXQvcmF3L21hc3Rlci9BcHBGaWxlL0FwcEljb24v6buR6b6Z5b2x6KeGLnBuZ1xcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwibXVybFxcXCI6IFxcXCJxOlRW5b2x6KeGXFxcIlxcbiAgICAgICAgICAgICAgICB9LFxcbiAgICAgICAgICAgICAgICB7XFxuICAgICAgICAgICAgICAgICAgICBcXFwidGl0bGVcXFwiOiBcXFwi5rKz6ams5b2x6ZmiXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJ1cmxcXFwiOiBcXFwiaHR0cDovLzEuMTQuNjMuMTAxL2FwaS5waHAvQ2hlbmdjaGVuZy92b2QvXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJpbWdcXFwiOiBcXFwiaHR0cHM6Ly9pbm1lbW9yeS5jb2RpbmcubmV0L3AvSW5NZW1vcnkvZC9NQnJvd3Nlci9naXQvcmF3L21hc3Rlci9BcHBGaWxlL0FwcEljb24v5rKz6ams5b2x6ZmiLnBuZ1xcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwibXVybFxcXCI6IFxcXCJxOlRW5b2x6KeGXFxcIlxcbiAgICAgICAgICAgICAgICB9LFxcbiAgICAgICAgICAgICAgICB7XFxuICAgICAgICAgICAgICAgICAgICBcXFwidGl0bGVcXFwiOiBcXFwi6IGa5aSa5b2x6KeGXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJ1cmxcXFwiOiBcXFwiaHR0cDovL2pkeXkud2VldGFpLmNuL2FwaS5waHAvaXB0di92b2QvXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJpbWdcXFwiOiBcXFwiaHR0cHM6Ly9pbm1lbW9yeS5jb2RpbmcubmV0L3AvSW5NZW1vcnkvZC9NQnJvd3Nlci9naXQvcmF3L21hc3Rlci9BcHBGaWxlL0FwcEljb24v6IGa5aSa5b2x6KeGLnBuZ1xcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwibXVybFxcXCI6IFxcXCJxOlRW5b2x6KeGXFxcIlxcbiAgICAgICAgICAgICAgICB9LFxcbiAgICAgICAgICAgICAgICB7XFxuICAgICAgICAgICAgICAgICAgICBcXFwidGl0bGVcXFwiOiBcXFwi5LmF5LmF5b2x6ZmiXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJ1cmxcXFwiOiBcXFwiaHR0cDovL2wuYmh0di5vcmcuY24vbXYvYXBpLnBocC9DaGVuZ2NoZW5nL3ZvZC9cXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcImltZ1xcXCI6IFxcXCJodHRwczovL2lubWVtb3J5LmNvZGluZy5uZXQvcC9Jbk1lbW9yeS9kL01Ccm93c2VyL2dpdC9yYXcvbWFzdGVyL0FwcEZpbGUvQXBwSWNvbi/kuYXkuYXlvbHpmaIucG5nXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJtdXJsXFxcIjogXFxcInE6VFblvbHop4ZcXFwiXFxuICAgICAgICAgICAgICAgIH0sXFxuICAgICAgICAgICAgICAgIHtcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJ0aXRsZVxcXCI6IFxcXCLkuZDphbdUVlxcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwidXJsXFxcIjogXFxcImh0dHA6Ly8xNTAuMTM4Ljc4LjE3NzoyMDIxL2FwaS5waHAvQ2hlbmdjaGVuZy92b2QvXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJpbWdcXFwiOiBcXFwiaHR0cHM6Ly9pbm1lbW9yeS5jb2RpbmcubmV0L3AvSW5NZW1vcnkvZC9NQnJvd3Nlci9naXQvcmF3L21hc3Rlci9BcHBGaWxlL0FwcEljb24v5LmQ6YW3VFYucG5nXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJtdXJsXFxcIjogXFxcInE6VFblvbHop4ZcXFwiXFxuICAgICAgICAgICAgICAgIH0sXFxuICAgICAgICAgICAgICAgIHtcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJ0aXRsZVxcXCI6IFxcXCLmh5LnjKtUVlxcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwidXJsXFxcIjogXFxcImh0dHA6Ly93d3cuZXNlbGxhdXRvLmNvbS9hcGkucGhwL2xoL3ZvZC9cXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcImltZ1xcXCI6IFxcXCJodHRwczovL2lubWVtb3J5LmNvZGluZy5uZXQvcC9Jbk1lbW9yeS9kL01Ccm93c2VyL2dpdC9yYXcvbWFzdGVyL0FwcEZpbGUvQXBwSWNvbi/mh5LnjKtUVi5wbmdcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcIm11cmxcXFwiOiBcXFwicTpUVuW9seinhlxcXCJcXG4gICAgICAgICAgICAgICAgfSxcXG4gICAgICAgICAgICAgICAge1xcbiAgICAgICAgICAgICAgICAgICAgXFxcInRpdGxlXFxcIjogXFxcIuWFree7tOW9seinhlxcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwidXJsXFxcIjogXFxcImh0dHA6Ly9saXV3ZWlpcHR2LmdxOjEzNTcvYXBpLnBocC9pcHR2L3ZvZC9cXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcImltZ1xcXCI6IFxcXCJodHRwczovL2lubWVtb3J5LmNvZGluZy5uZXQvcC9Jbk1lbW9yeS9kL01Ccm93c2VyL2dpdC9yYXcvbWFzdGVyL0FwcEZpbGUvQXBwSWNvbi/lha3nu7TlvbHop4YucG5nXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJtdXJsXFxcIjogXFxcInE6VFblvbHop4ZcXFwiXFxuICAgICAgICAgICAgICAgIH0sXFxuICAgICAgICAgICAgICAgIHtcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJ0aXRsZVxcXCI6IFxcXCLmtYHmmJ/pm6hcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcInVybFxcXCI6IFxcXCJodHRwOi8vbm4ubHh5eXkueHl6OjgvYy9hcGkucGhwL1dBaUxhb3dhbmcvdm9kL1xcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwiaW1nXFxcIjogXFxcImh0dHBzOi8vaW5tZW1vcnkuY29kaW5nLm5ldC9wL0luTWVtb3J5L2QvTUJyb3dzZXIvZ2l0L3Jhdy9tYXN0ZXIvQXBwRmlsZS9BcHBJY29uL+a1geaYn+mbqOW9semZoi5wbmdcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcIm11cmxcXFwiOiBcXFwicTpUVuW9seinhlxcXCJcXG4gICAgICAgICAgICAgICAgfSxcXG4gICAgICAgICAgICAgICAge1xcbiAgICAgICAgICAgICAgICAgICAgXFxcInRpdGxlXFxcIjogXFxcIuWGt+aciFRWXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJ1cmxcXFwiOiBcXFwiaHR0cHM6Ly90di41MjF4NS5jb20vYXBpLnBocC9pcHR2L3ZvZC9cXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcImltZ1xcXCI6IFxcXCJodHRwczovL2lubWVtb3J5LmNvZGluZy5uZXQvcC9Jbk1lbW9yeS9kL01Ccm93c2VyL2dpdC9yYXcvbWFzdGVyL0FwcEZpbGUvQXBwSWNvbi/lhrfmnIhUVi5wbmdcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcIm11cmxcXFwiOiBcXFwicTpUVuW9seinhlxcXCJcXG4gICAgICAgICAgICAgICAgfSxcXG4gICAgICAgICAgICAgICAge1xcbiAgICAgICAgICAgICAgICAgICAgXFxcInRpdGxlXFxcIjogXFxcIuiNlOaeneW9seinhlxcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwidXJsXFxcIjogXFxcImh0dHA6Ly9hcGkuemp5cy52aXAvYXBpLnBocC9pcHR2L3ZvZC9cXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcImltZ1xcXCI6IFxcXCJodHRwczovL2lubWVtb3J5LmNvZGluZy5uZXQvcC9Jbk1lbW9yeS9kL01Ccm93c2VyL2dpdC9yYXcvbWFzdGVyL0FwcEZpbGUvQXBwSWNvbi/ojZTmnp3lvbHop4ZUVi5wbmdcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcIm11cmxcXFwiOiBcXFwicTpUVuW9seinhlxcXCJcXG4gICAgICAgICAgICAgICAgfSxcXG4gICAgICAgICAgICAgICAge1xcbiAgICAgICAgICAgICAgICAgICAgXFxcInRpdGxlXFxcIjogXFxcIuWFjei0ueeci1RWXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJ1cmxcXFwiOiBcXFwiaHR0cDovL3d3dy5mcmVla2FuLnZpcC9hcGkucGhwL2lwdHYvdm9kL1xcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwiaW1nXFxcIjogXFxcImh0dHBzOi8vaW5tZW1vcnkuY29kaW5nLm5ldC9wL0luTWVtb3J5L2QvTUJyb3dzZXIvZ2l0L3Jhdy9tYXN0ZXIvQXBwRmlsZS9BcHBJY29uL+WFjei0ueeci1RWLnBuZ1xcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwibXVybFxcXCI6IFxcXCJxOlRW5b2x6KeGXFxcIlxcbiAgICAgICAgICAgICAgICB9LFxcbiAgICAgICAgICAgICAgICB7XFxuICAgICAgICAgICAgICAgICAgICBcXFwidGl0bGVcXFwiOiBcXFwi6Jyc5p6cVFZcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcInVybFxcXCI6IFxcXCJodHRwOi8vdnYubWlndW90di5uZXQvbS9hcGkucGhwL0NoZW5nY2hlbmcvdm9kL1xcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwiaW1nXFxcIjogXFxcImh0dHBzOi8vaW5tZW1vcnkuY29kaW5nLm5ldC9wL0luTWVtb3J5L2QvTUJyb3dzZXIvZ2l0L3Jhdy9tYXN0ZXIvQXBwRmlsZS9BcHBJY29uL+icnOaenFRWLnBuZ1xcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwibXVybFxcXCI6IFxcXCJxOlRW5b2x6KeGXFxcIlxcbiAgICAgICAgICAgICAgICB9LFxcbiAgICAgICAgICAgICAgICB7XFxuICAgICAgICAgICAgICAgICAgICBcXFwidGl0bGVcXFwiOiBcXFwi57Gz5p2l5b2x6KeGXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJ1cmxcXFwiOiBcXFwiaHR0cDovLzQyLjUxLjM3LjE2MToyMzQ2L2FwaS5waHAvaXB0di92b2QvXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJpbWdcXFwiOiBcXFwiaHR0cHM6Ly9pbm1lbW9yeS5jb2RpbmcubmV0L3AvSW5NZW1vcnkvZC9NQnJvd3Nlci9naXQvcmF3L21hc3Rlci9BcHBGaWxlL0FwcEljb24v57Gz5p2l5b2x6KeGLnBuZ1xcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwibXVybFxcXCI6IFxcXCJxOlRW5b2x6KeGXFxcIlxcbiAgICAgICAgICAgICAgICB9LFxcbiAgICAgICAgICAgICAgICB7XFxuICAgICAgICAgICAgICAgICAgICBcXFwidGl0bGVcXFwiOiBcXFwi57Gz5aWHVFZcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcInVybFxcXCI6IFxcXCJodHRwOi8vd3d3LnM2ZXAzLnRvcC9hcGkucGhwL2lwdHYvdm9kL1xcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwiaW1nXFxcIjogXFxcImh0dHBzOi8vaW5tZW1vcnkuY29kaW5nLm5ldC9wL0luTWVtb3J5L2QvTUJyb3dzZXIvZ2l0L3Jhdy9tYXN0ZXIvQXBwRmlsZS9BcHBJY29uL+exs+Wlh1RWLnBuZ1xcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwibXVybFxcXCI6IFxcXCJxOlRW5b2x6KeGXFxcIlxcbiAgICAgICAgICAgICAgICB9LFxcbiAgICAgICAgICAgICAgICB7XFxuICAgICAgICAgICAgICAgICAgICBcXFwidGl0bGVcXFwiOiBcXFwi5LiD56eR5b2x6KeGXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJ1cmxcXFwiOiBcXFwiaHR0cDovL3R2LjdrZm0uY24vYXBpLnBocC9pcHR2L3ZvZC9cXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcImltZ1xcXCI6IFxcXCJodHRwczovL2lubWVtb3J5LmNvZGluZy5uZXQvcC9Jbk1lbW9yeS9kL01Ccm93c2VyL2dpdC9yYXcvbWFzdGVyL0FwcEZpbGUvQXBwSWNvbi/kuIPnp5HlvbHop4YucG5nXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJtdXJsXFxcIjogXFxcInE6VFblvbHop4ZcXFwiXFxuICAgICAgICAgICAgICAgIH0sXFxuICAgICAgICAgICAgICAgIHtcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJ0aXRsZVxcXCI6IFxcXCLoi6Xmg5zlvbHop4ZcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcInVybFxcXCI6IFxcXCJodHRwOi8vcnh3LnJ1b3hpbmV3LmNvbS9hcGkucGhwL1NudHYvdm9kL1xcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwiaW1nXFxcIjogXFxcImh0dHBzOi8vaW5tZW1vcnkuY29kaW5nLm5ldC9wL0luTWVtb3J5L2QvTUJyb3dzZXIvZ2l0L3Jhdy9tYXN0ZXIvQXBwRmlsZS9BcHBJY29uL+iLpeaDnOW9seinhi5wbmdcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcIm11cmxcXFwiOiBcXFwicTpUVuW9seinhlxcXCJcXG4gICAgICAgICAgICAgICAgfSxcXG4gICAgICAgICAgICAgICAge1xcbiAgICAgICAgICAgICAgICAgICAgXFxcInRpdGxlXFxcIjogXFxcIuaAneWlh1RWXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJ1cmxcXFwiOiBcXFwiaHR0cDovL3R2LnNpcWl0di52aXAvYXBpLnBocC9pcHR2L3ZvZC9cXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcImltZ1xcXCI6IFxcXCJodHRwczovL2lubWVtb3J5LmNvZGluZy5uZXQvcC9Jbk1lbW9yeS9kL01Ccm93c2VyL2dpdC9yYXcvbWFzdGVyL0FwcEZpbGUvQXBwSWNvbi/mgJ3lpYdUVi5wbmdcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcIm11cmxcXFwiOiBcXFwicTpUVuW9seinhlxcXCJcXG4gICAgICAgICAgICAgICAgfSxcXG4gICAgICAgICAgICAgICAge1xcbiAgICAgICAgICAgICAgICAgICAgXFxcInRpdGxlXFxcIjogXFxcIuWPjOWtkOaYn1xcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwidXJsXFxcIjogXFxcImh0dHA6Ly90di5kaXlvdWkuY2MvYXBpLnBocC9pcHR2L3ZvZC9cXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcImltZ1xcXCI6IFxcXCJodHRwczovL2lubWVtb3J5LmNvZGluZy5uZXQvcC9Jbk1lbW9yeS9kL01Ccm93c2VyL2dpdC9yYXcvbWFzdGVyL0FwcEZpbGUvQXBwSWNvbi/lj4zlrZDmmJ8ucG5nXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJtdXJsXFxcIjogXFxcInE6VFblvbHop4ZcXFwiXFxuICAgICAgICAgICAgICAgIH0sXFxuICAgICAgICAgICAgICAgIHtcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJ0aXRsZVxcXCI6IFxcXCLlsbHmpYLlvbHop4ZcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcInVybFxcXCI6IFxcXCJodHRwOi8vZHk2LmRjZDEuY24vYXBpLnBocC9pcHR2L3ZvZC9cXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcImltZ1xcXCI6IFxcXCJodHRwczovL2lubWVtb3J5LmNvZGluZy5uZXQvcC9Jbk1lbW9yeS9kL01Ccm93c2VyL2dpdC9yYXcvbWFzdGVyL0FwcEZpbGUvQXBwSWNvbi/lsbHmpYLlvbHop4YucG5nXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJtdXJsXFxcIjogXFxcInE6VFblvbHop4ZcXFwiXFxuICAgICAgICAgICAgICAgIH0sXFxuICAgICAgICAgICAgICAgIHtcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJ0aXRsZVxcXCI6IFxcXCLlpKnnqbpUVlxcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwidXJsXFxcIjogXFxcImh0dHA6Ly90di50a3lzLnR2L2FwaS5waHAvaXB0di92b2QvXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJpbWdcXFwiOiBcXFwiaHR0cHM6Ly9pbm1lbW9yeS5jb2RpbmcubmV0L3AvSW5NZW1vcnkvZC9NQnJvd3Nlci9naXQvcmF3L21hc3Rlci9BcHBGaWxlL0FwcEljb24v5aSp56m6VFYucG5nXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJtdXJsXFxcIjogXFxcInE6VFblvbHop4ZcXFwiXFxuICAgICAgICAgICAgICAgIH0sXFxuICAgICAgICAgICAgICAgIHtcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJ0aXRsZVxcXCI6IFxcXCLomb7nmq7op4bpopFcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcInVybFxcXCI6IFxcXCJodHRwOi8vdHYuY210OC54eXovYXBpLnBocC9pcHR2L3ZvZC9cXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcImltZ1xcXCI6IFxcXCJodHRwczovL2lubWVtb3J5LmNvZGluZy5uZXQvcC9Jbk1lbW9yeS9kL01Ccm93c2VyL2dpdC9yYXcvbWFzdGVyL0FwcEZpbGUvQXBwSWNvbi/omb7nmq7op4bpopEucG5nXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJtdXJsXFxcIjogXFxcInE6VFblvbHop4ZcXFwiXFxuICAgICAgICAgICAgICAgIH0sXFxuICAgICAgICAgICAgICAgIHtcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJ0aXRsZVxcXCI6IFxcXCLlsI/mnoFUVlxcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwidXJsXFxcIjogXFxcImh0dHA6Ly9hcGkuOGQ4cS5jb20vbW12L2FwaS5waHAvQ2hlbmdjaGVuZy92b2QvXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJpbWdcXFwiOiBcXFwiaHR0cHM6Ly9pbm1lbW9yeS5jb2RpbmcubmV0L3AvSW5NZW1vcnkvZC9NQnJvd3Nlci9naXQvcmF3L21hc3Rlci9BcHBGaWxlL0FwcEljb24v5bCP5p6BVFYucG5nXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJtdXJsXFxcIjogXFxcInE6VFblvbHop4ZcXFwiXFxuICAgICAgICAgICAgICAgIH0sXFxuICAgICAgICAgICAgICAgIHtcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJ0aXRsZVxcXCI6IFxcXCLlsI/nhornjKtUVlxcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwidXJsXFxcIjogXFxcImh0dHA6Ly90djIuaGV0YW95cy52aXAvYXBpLnBocC9pcHR2L3ZvZC9cXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcImltZ1xcXCI6IFxcXCJodHRwczovL2lubWVtb3J5LmNvZGluZy5uZXQvcC9Jbk1lbW9yeS9kL01Ccm93c2VyL2dpdC9yYXcvbWFzdGVyL0FwcEZpbGUvQXBwSWNvbi/lsI/nhornjKtUVi5wbmdcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcIm11cmxcXFwiOiBcXFwicTpUVuW9seinhlxcXCJcXG4gICAgICAgICAgICAgICAgfSxcXG4gICAgICAgICAgICAgICAge1xcbiAgICAgICAgICAgICAgICAgICAgXFxcInRpdGxlXFxcIjogXFxcIue0q+abpuW9seinhlxcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwidXJsXFxcIjogXFxcImh0dHA6Ly9hcHB5cy5hengudG9vbHM6ODgvYXBpLnBocC9pcHR2L3ZvZC9cXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgXFxcImltZ1xcXCI6IFxcXCJodHRwczovL2lubWVtb3J5LmNvZGluZy5uZXQvcC9Jbk1lbW9yeS9kL01Ccm93c2VyL2dpdC9yYXcvbWFzdGVyL0FwcEZpbGUvQXBwSWNvbi/ntKvmm6blvbHop4YucG5nXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJtdXJsXFxcIjogXFxcInE6VFblvbHop4ZcXFwiXFxuICAgICAgICAgICAgICAgIH1cXG4gICAgICAgICAgICBdXFxuICAgICAgICB9XFxuICAgIF1cXG59XCJ9LHtcImNvbF90eXBlXCI6XCJtb3ZpZV8zXCIsXCJuYW1lXCI6XCLmkJzntKJcIixcInBhdGhcIjpcInNlYXJcIixcInJ1bGVcIjpcInZhciByZXMgPSB7fTtcXG52YXIgaXRlbXMgPSBbXTtcXG4vL+iuvue9ruaQnOe0oue6v+eoi1xcbnZhciBzc21vZGUgPSBKU09OLnBhcnNlKGZldGNoKCdoaWtlcjovL2ZpbGVzL3J1bGVzL3h5cS9hcHBtc2V0Lmpzb24nLCB7fSkpLnNzbW9kZTtcXG52YXIga2V5ID0gTVlfVVJMLnNwbGl0KCckJCQnKVsxXTtcXG4vL3NldEVycm9yKGxlKTtcXG5pZiAoc3Ntb2RlID09ICcwJykge1xcbiAgICBzZXRQYWdlVGl0bGUoa2V5ICsgJyDnmoTmkJzntKLnu5PmnpwnKVxcbn07XFxudHJ5IHtcXG4gICAgdmFyIGFwcGZpbGUgPSBmZXRjaENhY2hlKCdodHRwczovL2lubWVtb3J5LmNvZGluZy5uZXQvcC9Jbk1lbW9yeS9kL01Ccm93c2VyL2dpdC9yYXcvbWFzdGVyL0FwcEZpbGUvQVBQLmpzb24nLCAyNCk7XFxufSBjYXRjaCAoZSkge1xcbiAgICBhcHBmaWxlID0gJyc7XFxufVxcbmlmICgvZW1vcnkvLnRlc3QoYXBwZmlsZSkpIHtcXG4gICAgdmFyIGh0bWwgPSBKU09OLnBhcnNlKGFwcGZpbGUpO1xcbn0gZWxzZSB7XFxuICAgIGxvZygn5b2T5YmN5Yqg6L2955qE5piv5YaF572u5pWw5o2uJyk7XFxuICAgIHZhciBodG1sID0gSlNPTi5wYXJzZShKU09OLnBhcnNlKGZldGNoKCdoaWtlcjovL3BhZ2UvUmVzQ29kZScsIHt9KSkucnVsZSk7XFxufTtcXG52YXIgZGxpc3QgPSBodG1sLmRhdGE7XFxuXFxuZnVuY3Rpb24gcmFuZG9tU29ydDMoYXJyKSB7XFxuICAgIC8qXFxuICAgICAgICBhcnIuc29ydChmdW5jdGlvbihhLCBiKSB7XFxuICAgICAgICAgICAgcmV0dXJuIE1hdGgucmFuZG9tKCkgLSAwLjU7XFxuICAgICAgICB9KTtcXG4gICAgKi9cXG4gICAgcmV0dXJuIGFycjtcXG59XFxuXFxuLy/miZPkubHpobrluo9cXG52YXIgcmFuZG9tID0gdHJ1ZTtcXG5pZiAoc3Ntb2RlID09ICcxJyB8fCBNWV9UWVBFID09ICdob21lJykge1xcbiAgICBmb3IgKHZhciBsID0gMDsgbCA8IGRsaXN0Lmxlbmd0aDsgbCsrKSB7XFxuICAgICAgICB2YXIgbGlzdCA9IGRsaXN0W2xdLmxpc3Q7XFxuICAgICAgICB2YXIgdHl0aXQgPSBkbGlzdFtsXS50aXRsZTtcXG4gICAgICAgIGlmIChyYW5kb20pIHtcXG4gICAgICAgICAgICBsZXQgayA9IGdldFZhcihNWV9SVUxFLnRpdGxlICsgXFxcIi1cXFwiICsgdHl0aXQsIFxcXCJcXFwiKTtcXG4gICAgICAgICAgICBpZiAoayA9PSBcXFwiXFxcIikge1xcbiAgICAgICAgICAgICAgICBsaXN0ID0gcmFuZG9tU29ydDMobGlzdClcXG4gICAgICAgICAgICAgICAgcHV0VmFyKE1ZX1JVTEUudGl0bGUgKyBcXFwiLVxcXCIgKyB0eXRpdCwgSlNPTi5zdHJpbmdpZnkobGlzdCkpXFxuICAgICAgICAgICAgfSBlbHNlIHtcXG4gICAgICAgICAgICAgICAgbGlzdCA9IEpTT04ucGFyc2UoaylcXG4gICAgICAgICAgICB9XFxuICAgICAgICB9XFxuXFxuXFxuICAgICAgICBpdGVtcy5wdXNoKHtcXG4gICAgICAgICAgICB0aXRsZTogTVlfVFlQRSA9PSBcXFwiaG9tZVxcXCIgPyBcXFwi54K55Ye75p+l55yLIFxcXCIgKyB0eXRpdCArIFxcXCIg5YiG57G7IOKAnOKAnFxcXCIgKyBrZXkgKyBcXFwi4oCd4oCdIOeahOiBmuaQnOe7k+aenFxcXCIgOiBcXFwi54K55Ye75p+l55yLIFxcXCIgKyB0eXRpdCArIFxcXCIg5YiG57G7IFxcXCIgKyBrZXkgKyBcXFwiIOeahOiBmuaQnOe7k+aenFxcXCIsXFxuICAgICAgICAgICAgdXJsOiAkKCdoaWtlcjovL2VtcHR5JCQkJyArIGtleSArICckJCRmeXBhZ2UkJCQnKS5ydWxlKChsaXN0LCB0eXRpdCkgPT4ge1xcbiAgICAgICAgICAgICAgICB2YXIgcmVzID0ge307XFxuICAgICAgICAgICAgICAgIHZhciBpdGVtcyA9IFtdO1xcbiAgICAgICAgICAgICAgICB2YXIgbm93RGF0ZSA9IG5ldyBEYXRlKCk7XFxuICAgICAgICAgICAgICAgIHZhciBtb250aCA9IG5vd0RhdGUuZ2V0TW9udGgoKSArIDEgPCAxMCA/IFxcXCIwXFxcIiArIChub3dEYXRlLmdldE1vbnRoKCkgKyAxKSA6IG5vd0RhdGUuZ2V0TW9udGgoKSArIDE7XFxuICAgICAgICAgICAgICAgIHZhciBkYXkgPSBub3dEYXRlLmdldERhdGUoKSA8IDEwID8gXFxcIjBcXFwiICsgbm93RGF0ZS5nZXREYXRlKCkgOiBub3dEYXRlLmdldERhdGUoKTtcXG4gICAgICAgICAgICAgICAgdmFyIGRhdGVTdHIgPSBtb250aCArICcnICsgZGF5O1xcbiAgICAgICAgICAgICAgICAvL+WPluaQnOe0oue6v+eoi+iuvue9rlxcbiAgICAgICAgICAgICAgICB2YXIgc3N4YyA9IEpTT04ucGFyc2UoZmV0Y2goJ2hpa2VyOi8vZmlsZXMvcnVsZXMveHlxL2FwcG1zZXQuanNvbicsIHt9KSkuc3Njb3VudDtcXG4gICAgICAgICAgICAgICAgLy/orr7nva7otoXml7bml7bpl7TvvIzotorlsI/otorlv6vvvIzljZXkvY3mr6vnp5JcXG4gICAgICAgICAgICAgICAgdmFyIHRpbWVvdSA9IGdldEl0ZW0oJ2FwcHRpbW91dCcsICczMDAwJyk7XFxuICAgICAgICAgICAgICAgIHZhciBrZXkgPSBNWV9VUkwuc3BsaXQoJyQkJCcpWzFdO1xcbiAgICAgICAgICAgICAgICB2YXIgbnVtID0gTVlfVVJMLnNwbGl0KCckJCQnKVsyXTtcXG4gICAgICAgICAgICAgICAgdmFyIGxlID0gcGFyc2VJbnQobnVtICogc3N4Yyk7XFxuICAgICAgICAgICAgICAgIHZhciBEYXRhID0gW107XFxuICAgICAgICAgICAgICAgIHZhciBUaXQgPSBbXTtcXG4gICAgICAgICAgICAgICAgZm9yICh2YXIgaiA9IGxlIC0gc3N4YzsgaiA8IGxlOyBqKyspIHtcXG4gICAgICAgICAgICAgICAgICAgIGlmIChqIDwgbGlzdC5sZW5ndGgpIHtcXG4gICAgICAgICAgICAgICAgICAgICAgICB2YXIgbGluayA9IGxpc3Rbal0udXJsO1xcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBsaXRpdCA9IGxpc3Rbal0ubXVybDtcXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoL1RWL2kudGVzdChsaXRpdCkpIHtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKC8xOWp4fDI5M3lzfHpoYWlrYW55c3xqaVxcXFwtZGluZ1xcXFwtaGV8cGhvZWJlfHl1bmJvXFxcXC5ieGlufGxhbnJlbnRrfGhldGFveXN8cHh1bnwxMzlcXFxcLjE1NXxma2tkeXwwNTYxNTh8YWl4aXhpfHJ1b3hpbmV3fGZlaWZhbjEyM3xzaXFpdHYvLnRlc3QobGluaykpIHtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBobXVybCA9IGxpbmsgKyAnP2FjPWxpc3Qmem09JyArIGtleSArICcmcGFnZT0xJztcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBobXVybCA9IGxpbmsgKyAnP2FjPWxpc3Qmd2Q9JyArIGtleSArICcmcGFnZT0xJztcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICgvZGlqaWF4aWEvLnRlc3QobGluaykpIHtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpbmsgPSAnaHR0cDovL3d3dy5kaWppYXhpYS5jb20vYXBpLnBocC9hcHAvJ1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9O1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAobGluay5pbmRleE9mKCdhcGkucGhwL2FwcC8nKSAhPSAtMSkge1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGhtdXJsID0gbGluayArICdzZWFyY2g/cGc9MSZ0ZXh0PScgKyBrZXkgKyAnJnRva2VuPSc7XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAobGluay5pbmRleE9mKCd4Z2FwcC5waHAvdjEvJykgIT0gLTEpIHtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBobXVybCA9IGxpbmsgKyAnc2VhcmNoP3BnPTEmdGV4dD0nICsga2V5O1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKC9pb3Blbnl1bi8udGVzdChsaW5rKSkge1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBobXVybCA9IGxpbmsgKyAnL2xpc3Q/cGFnZT1meXBhZ2UmbGltaXQ9MTAmd2Q9JyArIGtleTtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGhtdXJsID0gbGluayArICc/cGFnZT0xJmxpbWl0PTEwJndkPScgKyBrZXk7XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cXG4gICAgICAgICAgICAgICAgICAgICAgICB9XFxuICAgICAgICAgICAgICAgICAgICAgICAgLy9EYXRhLnB1c2goe3VybDogaG11cmwsb3B0aW9uczoge2hlYWRlcnM6IHtcXFwiVXNlci1BZ2VudFxcXCI6IFxcXCJEYXJ0LzIuMTQgKGRhcnQ6aW8pXFxcIn0sdGltZW91dDogdGltZW91fX0pO1xcbiAgICAgICAgICAgICAgICAgICAgICAgIERhdGEucHVzaCh7XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVybDogaG11cmwsXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbnM6IHtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlYWRlcnM6IHtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcXFwiVXNlci1BZ2VudFxcXCI6IGxpbmsuaW5kZXhPZihcXFwibW9nYWlfYXBpXFxcIikgIT0gLTEgPyBcXFwiRGFydC8yLjE0IChkYXJ0OmlvKVxcXCIgOiBcXFwib2todHRwLzQuMS4wXFxcIlxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRpbWVvdXQ6IHRpbWVvdVxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XFxuICAgICAgICAgICAgICAgICAgICAgICAgfSk7XFxuICAgICAgICAgICAgICAgICAgICAgICAgVGl0LnB1c2goe1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aXQ6IGxpc3Rbal0udGl0bGUsXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpbms6IGxpbmssXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cG5tOiBsaXRpdFxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xcbiAgICAgICAgICAgICAgICAgICAgfSAvL2lmXFxuICAgICAgICAgICAgICAgIH0gLy9mb3IgalxcblxcbiAgICAgICAgICAgICAgICAvLy0tLeS7o+eggeWIhueVjOe6vy0tLS0gXFxuICAgICAgICAgICAgICAgIGlmIChEYXRhICE9ICcnKSB7XFxuICAgICAgICAgICAgICAgICAgICB2YXIgYmh0bWwgPSBiYXRjaEZldGNoKERhdGEpO1xcbiAgICAgICAgICAgICAgICAgICAgLy93cml0ZUZpbGUoXFxcImhpa2VyOi8vZmlsZXMvcnVsZXMveHlxL2FwcEVycm9yLmpzb25cXFwiLEpTT04uc3RyaW5naWZ5KGJodG1sKSk7XFxuXFxuICAgICAgICAgICAgICAgICAgICBmb3IgKHZhciBrID0gMDsgayA8IGJodG1sLmxlbmd0aDsgaysrKSB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGh0bWwgPSBiaHRtbFtrXTtcXG4gICAgICAgICAgICAgICAgICAgICAgICAvL2xvZyhodG1sKTtcXG4gICAgICAgICAgICAgICAgICAgICAgICB0cnkge1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBodG1sID0gaHRtbC5zdWJzdHJpbmcoMCwgMikgPT0gJ1xcXFxyXFxcXG4nID8gaHRtbC5yZXBsYWNlKCdcXFxcclxcXFxuJywgJycpIDogaHRtbDtcXG4gICAgICAgICAgICAgICAgICAgICAgICB9IGNhdGNoIChlKSB7fVxcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICgvYnR3YWYvLnRlc3QoaHRtbCkpIHtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaHRtbCA9IGZldGNoKERhdGFba10udXJsICsgJyZidHdhZicgKyBodG1sLm1hdGNoKC9idHdhZiguKj8pXFxcXFxcXCIvKVsxXSwge30pO1xcblxcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoaHRtbCA9PSBcXFwiXFxcIiB8fCBodG1sID09IG51bGwgfHwgaHRtbC5zdWJzdHJpbmcoMCwgNSkgPT0gJ2Vycm9yJyB8fCAhaHRtbC5zdGFydHNXaXRoKCd7JykpIHtcXG5cXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbXMucHVzaCh7XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aXRsZTogVGl0W2tdLnRpdCArICcgJyArICfmnKrmkJzntKLliLDvvIzngrnlh7vorr/pl67ljp/nvZHpobUnLFxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXJsOiBEYXRhW2tdLnVybCArIGBAbGF6eVJ1bGU9LmpzOmlucHV0LnNwbGl0KCc7JylbMF1gLFxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sX3R5cGU6ICd0ZXh0XzEnXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xcblxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoaHRtbC5sZW5ndGggPCA4MCkge1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtcy5wdXNoKHtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlOiBUaXRba10udGl0ICsgJyAnICsgJ+i/lOWbnuaVsOaNruS4jeWujOaVtO+8jOeCueWHu+iuv+mXruWOn+e9kemhtScsXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cmw6IERhdGFba10udXJsICsgYEBsYXp5UnVsZT0uanM6aW5wdXQuc3BsaXQoJzsnKVswXWAsXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xfdHlwZTogJ3RleHRfMSdcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XFxuICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGh0bWwgPSBKU09OLnBhcnNlKGh0bWwpO1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvL2xvZyhodG1sKTtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHR5cGV0ID0gVGl0W2tdLnR5cG5tO1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgdGRvbWluID0gVGl0W2tdLmxpbms7XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChodG1sLmxpc3QpIHtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBsaXN0ID0gaHRtbC5saXN0O1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKGh0bWwuZGF0YS5saXN0KSB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgbGlzdCA9IGh0bWwuZGF0YS5saXN0O1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKGh0bWwuZGF0YSkge1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGxpc3QgPSBodG1sLmRhdGE7XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgbGlzdCA9IFtdO1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChsaXN0Lmxlbmd0aCA8IDEpIHtcXG5cXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1zLnB1c2goe1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlOiBUaXRba10udGl0ICsgJyAnICsgJ+WIl+ihqOWwj+S6jjHvvIzml6Dms5XlsZXnpLrvvIzngrnlh7vorr/pl67ljp/nvZHpobUnLFxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVybDogRGF0YVtrXS51cmwgKyBgQGxhenlSdWxlPS5qczppbnB1dC5zcGxpdCgnOycpWzBdYCxcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xfdHlwZTogJ3RleHRfMSdcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xcblxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBsaXN0Lmxlbmd0aDsgaSsrKSB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKC9UVi9pLnRlc3QodHlwZXQpKSB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciB0aXRsZSA9IGxpc3RbaV0udGl0bGU7XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBwaWMgPSBsaXN0W2ldLnBpYztcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHZpZCA9IGxpc3RbaV0ubmV4dGxpbms7XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciByZW0gPSBsaXN0W2ldLnN0YXRlO1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XFxuXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0ZG9taW4uaW5kZXhPZignYXBpLnBocC9hcHAvJykgIT0gLTEpIHtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciB0aXRsZSA9IGxpc3RbaV0udm9kX25hbWU7XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgcGljID0gbGlzdFtpXS52b2RfcGljO1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKC9mYW50dWFuLy50ZXN0KHRkb21pbikpIHtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgdmlkID0gJ2h0dHBzOi8vZmFudHVhbi53a2ZpbGUuY29tL2FwaS5waHAvYXBwL3ZpZGVvX2RldGFpbD9pZD0nICsgbGlzdFtpXS52b2RfaWQgKyAnJnRva2VuPSc7XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciB2aWQgPSB0ZG9taW4gKyAndmlkZW9fZGV0YWlsP2lkPScgKyBsaXN0W2ldLnZvZF9pZCArICcmdG9rZW49JztcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciByZW0gPSBsaXN0W2ldLnZvZF9yZW1hcmtzO1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy92YXIgY29uPWxpc3RbaV0udHlwZS50eXBlX2RlcztcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmICh0ZG9taW4uaW5kZXhPZigneGdhcHAucGhwL3YxLycpICE9IC0xKSB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgdGl0bGUgPSBsaXN0W2ldLnZvZF9uYW1lO1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHBpYyA9IGxpc3RbaV0udm9kX3BpYztcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciB2aWQgPSB0ZG9taW4gKyAndmlkZW9fZGV0YWlsP2lkPScgKyBsaXN0W2ldLnZvZF9pZDtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciByZW0gPSBsaXN0W2ldLnZvZF9yZW1hcmtzO1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy92YXIgY29uPWxpc3RbaV0udHlwZS50eXBlX2RlcztcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciB0aXRsZSA9IGxpc3RbaV0udm9kX25hbWU7XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgcGljID0gbGlzdFtpXS52b2RfcGljO1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKC9pb3Blbnl1bi8udGVzdCh0ZG9taW4pKSB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHZpZCA9IHRkb21pbiArICcvZGV0YWlsSUQ/dm9kX2lkPScgKyBsaXN0W2ldLnZvZF9pZCArICcmdG9rZW49JztcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHZpZCA9IHRkb21pbiArICcvZGV0YWlsP2tleT0nICsgZGF0ZVN0ciArICcmdm9kX2lkPScgKyBsaXN0W2ldLnZvZF9pZCArICcmdG9rZW49JztcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciByZW0gPSBsaXN0W2ldLnZvZF9yZW1hcmtzO1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy92YXIgY29uPWxpc3RbaV0udHlwZS50eXBlX2RlcztcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxcblxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvL3ZhciBjb249bGlzdFtpXS5zdGF0ZTtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvL2xvZyh2aWQpO1xcblxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1zLnB1c2goe1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aXRsZTogTVlfVFlQRSA9PSBcXFwiaG9tZVxcXCIgPyB0aXRsZS5yZXBsYWNlKGtleSwgJ+KAnOKAnCcgKyBrZXkgKyAn4oCd4oCdJykgKyAnXFxcXG4nICsgcmVtIDogdGl0bGUgKyByZW0sXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBpY191cmw6IHBpYyArICdAUmVmZXJlcj0nLFxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cmw6ICQodGRvbWluLmluZGV4T2YoXFxcIm1vZ2FpX2FwaVxcXCIpICE9IC0xID8gdmlkICsgJztnZXQ7dXRmLTg7e1VzZXItQWdlbnRARGFydC8yLjE0IChkYXJ0OmlvKX0nIDogdmlkICsgJztnZXQ7dXRmLTg7e1VzZXItQWdlbnRAb2todHRwLzQuMS4wfScpLnJ1bGUoKHR5cGV0KSA9PiB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgcmVzID0ge307XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgaXRlbXMgPSBbXTtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBodG1sID0gSlNPTi5wYXJzZShnZXRSZXNDb2RlKCkpO1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbXMucHVzaCh7XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU6ICcnLFxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlc2M6ICcyNTUmJmZsb2F0JyxcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cmw6ICcnLFxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbF90eXBlOiAneDVfd2Vidmlld19zaW5nbGUnXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBteXVybCA9IE1ZX1VSTC5tYXRjaCgvKFtcXFxcU10qPzpcXFxcL1xcXFwvW1xcXFxTXSo/KVxcXFwvLylbMV07XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoL1RWL2kudGVzdCh0eXBldCkpIHtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBldmFsKEpTT04ucGFyc2UoZmV0Y2goJ2hpa2VyOi8vcGFnZS90dm1vdmxpc3QnLCB7fSkpLnJ1bGUpO1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBldmFsKEpTT04ucGFyc2UoZmV0Y2goJ2hpa2VyOi8vcGFnZS9hcHBtb3ZsaXN0Jywge30pKS5ydWxlKTtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cXG5cXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlcy5kYXRhID0gaXRlbXM7XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXRIb21lUmVzdWx0KHJlcyk7XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHR5cGV0KSxcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy9jb250ZW50OiByZW0sXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlc2M6IHR5dGl0ICsgJyA9PiAnICsgVGl0W2tdLnRpdCxcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sX3R5cGU6ICdtb3ZpZV8xX3ZlcnRpY2FsX3BpYydcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gLy9mb3IgaVxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IC8vaWYgbGlzdC5sZW5ndGhcXG4gICAgICAgICAgICAgICAgICAgICAgICB9XFxuICAgICAgICAgICAgICAgICAgICB9IC8vZm9yIGsgYmh0bWwubGVuZ3RoXFxuICAgICAgICAgICAgICAgIH1cXG5cXG4gICAgICAgICAgICAgICAgcmVzLmRhdGEgPSBpdGVtcztcXG4gICAgICAgICAgICAgICAgc2V0SG9tZVJlc3VsdChyZXMpO1xcbiAgICAgICAgICAgIH0sIGxpc3QsIHR5dGl0KSxcXG4gICAgICAgICAgICBjb2xfdHlwZTogJ3RleHRfMSdcXG4gICAgICAgIH0pO1xcblxcbiAgICB9IC8vZm9yIGlcXG59OyAvL2VuZCBtb2RlIDFcXG5cXG5pZiAoc3Ntb2RlID09ICcwJyB8fCBNWV9UWVBFID09ICdob21lJykge1xcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IGRsaXN0Lmxlbmd0aDsgaSsrKSB7XFxuICAgICAgICB2YXIgbGlzdCA9IGRsaXN0W2ldLmxpc3Q7XFxuICAgICAgICB2YXIgdHl0aXQgPSBkbGlzdFtpXS50aXRsZTtcXG4gICAgICAgIGlmIChyYW5kb20pIHtcXG4gICAgICAgICAgICBsZXQgayA9IGdldFZhcihNWV9SVUxFLnRpdGxlICsgXFxcIi1cXFwiICsgdHl0aXQsIFxcXCJcXFwiKTtcXG4gICAgICAgICAgICBpZiAoayA9PSBcXFwiXFxcIikge1xcbiAgICAgICAgICAgICAgICBsaXN0ID0gcmFuZG9tU29ydDMobGlzdClcXG4gICAgICAgICAgICAgICAgcHV0VmFyKE1ZX1JVTEUudGl0bGUgKyBcXFwiLVxcXCIgKyB0eXRpdCwgSlNPTi5zdHJpbmdpZnkobGlzdCkpXFxuICAgICAgICAgICAgfSBlbHNlIHtcXG4gICAgICAgICAgICAgICAgbGlzdCA9IEpTT04ucGFyc2UoaylcXG4gICAgICAgICAgICB9XFxuICAgICAgICB9XFxuXFxuICAgICAgICBpdGVtcy5wdXNoKHtcXG4gICAgICAgICAgICB0aXRsZTogTVlfVFlQRSA9PSBcXFwiaG9tZVxcXCIgPyBcXFwiIOmAieaLqeS4gOS4qiBcXFwiICsgZGxpc3RbaV0udGl0bGUgKyBcXFwiIOmhueebruafpeeciyDigJzigJxcXFwiICsga2V5ICsgXFxcIuKAneKAnSDnmoTmkJzntKLnu5PmnpxcXFwiIDogXFxcIiDpgInmi6nkuIDkuKogXFxcIiArIGRsaXN0W2ldLnRpdGxlICsgXFxcIiDpobnnm67mn6XnnIsgXFxcIiArIGtleSArIFxcXCIg55qE5pCc57Si57uT5p6cXFxcIixcXG4gICAgICAgICAgICBjb2xfdHlwZTogJ3RleHRfMSdcXG4gICAgICAgIH0pO1xcblxcbiAgICAgICAgZm9yICh2YXIgaiA9IDA7IGogPCBsaXN0Lmxlbmd0aDsgaisrKSB7XFxuICAgICAgICAgICAgdmFyIGxpbmsgPSBsaXN0W2pdLnVybDtcXG4gICAgICAgICAgICB2YXIgbGl0aXQgPSBsaXN0W2pdLm11cmw7XFxuICAgICAgICAgICAgaWYgKC9UVi9pLnRlc3QobGl0aXQpKSB7XFxuICAgICAgICAgICAgICAgIGlmICgvMTlqeHwyOTN5c3x6aGFpa2FueXN8amlcXFxcLWRpbmdcXFxcLWhlfHBob2ViZXx5dW5ib1xcXFwuYnhpbnxsYW5yZW50a3xoZXRhb3lzfHB4dW58MTM5XFxcXC4xNTV8ZmtrZHl8MDU2MTU4fGFpeGl4aXxydW94aW5ld3xmZWlmYW4xMjN8c2lxaXR2Ly50ZXN0KGxpbmspKSB7XFxuICAgICAgICAgICAgICAgICAgICB2YXIgaG11cmwgPSBsaW5rICsgJz9hYz1saXN0JnptPScgKyBrZXkgKyAnJnBhZ2U9ZnlwYWdlJztcXG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcXG4gICAgICAgICAgICAgICAgICAgIHZhciBobXVybCA9IGxpbmsgKyAnP2FjPWxpc3Qmd2Q9JyArIGtleSArICcmcGFnZT1meXBhZ2UnO1xcbiAgICAgICAgICAgICAgICB9XFxuICAgICAgICAgICAgfSBlbHNlIHtcXG4gICAgICAgICAgICAgICAgaWYgKC9kaWppYXhpYS8udGVzdChsaW5rKSkge1xcbiAgICAgICAgICAgICAgICAgICAgbGluayA9ICdodHRwOi8vd3d3LmRpamlheGlhLmNvbS9hcGkucGhwL2FwcC8nXFxuICAgICAgICAgICAgICAgIH07XFxuICAgICAgICAgICAgICAgIGlmIChsaW5rLmluZGV4T2YoJ2FwaS5waHAvYXBwLycpICE9IC0xKSB7XFxuICAgICAgICAgICAgICAgICAgICB2YXIgaG11cmwgPSBsaW5rICsgJ3NlYXJjaD9wZz1meXBhZ2UmdGV4dD0nICsga2V5ICsgJyZ0b2tlbj0nO1xcbiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKGxpbmsuaW5kZXhPZigneGdhcHAucGhwL3YxLycpICE9IC0xKSB7XFxuICAgICAgICAgICAgICAgICAgICB2YXIgaG11cmwgPSBsaW5rICsgJ3NlYXJjaD9wZz1meXBhZ2UmdGV4dD0nICsga2V5O1xcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xcbiAgICAgICAgICAgICAgICAgICAgaWYgKC9pb3Blbnl1bi8udGVzdChsaW5rKSkge1xcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBobXVybCA9IGxpbmsgKyAnL2xpc3Q/cGFnZT1meXBhZ2UmbGltaXQ9MTAmd2Q9JyArIGtleTtcXG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGhtdXJsID0gbGluayArICc/cGFnZT1meXBhZ2UmbGltaXQ9MTAmd2Q9JyArIGtleTtcXG4gICAgICAgICAgICAgICAgICAgIH1cXG4gICAgICAgICAgICAgICAgfVxcbiAgICAgICAgICAgIH1cXG4gICAgICAgICAgICBpdGVtcy5wdXNoKHtcXG4gICAgICAgICAgICAgICAgdGl0bGU6IGxpc3Rbal0udGl0bGUsXFxuICAgICAgICAgICAgICAgIGltZzogbGlzdFtqXS5pbWcsXFxuICAgICAgICAgICAgICAgIHVybDogJCgnaGlrZXI6Ly9lbXB0eSN4IycgKyBobXVybCArICcjeCMnICsgbGluayArICcjeCMnICsgbGl0aXQgKyAnI3gjJyArIGtleSArICcjeCMnKS5ydWxlKCgpID0+IHtcXG4gICAgICAgICAgICAgICAgICAgICQucmVxdWlyZSgnaGlrZXI6Ly9wYWdlL3NlYXJlcmonKTtcXG4gICAgICAgICAgICAgICAgfSksXFxuICAgICAgICAgICAgICAgIGNvbF90eXBlOiAnaWNvbl9yb3VuZF9zbWFsbF80J1xcbiAgICAgICAgICAgICAgICAvL2NvbF90eXBlOiAndGV4dF8zJ1xcbiAgICAgICAgICAgICAgICAvL2xpbms6bGluayxcXG4gICAgICAgICAgICAgICAgLy90eXBlOiBpXFxuICAgICAgICAgICAgfSk7XFxuXFxuICAgICAgICB9IC8vZm9yIGpcXG5cXG5cXG4gICAgfSAvL2ZvciBpXFxuXFxufSAvL2VuZCBtb2RlIDBcXG5cXG5cXG5yZXMuZGF0YSA9IGl0ZW1zO1xcbnNldEhvbWVSZXN1bHQocmVzKTtcIn0se1wiY29sX3R5cGVcIjpcIm1vdmllXzNcIixcIm5hbWVcIjpcIkFQUOWIhuexu+WIl+ihqFwiLFwicGF0aFwiOlwiYXBwbGlzdGRhdGFcIixcInJ1bGVcIjpcImlmIChodG1sLmxpc3QpIHtcXG4gICAgdmFyIGxpc3QgPSBodG1sLmxpc3Q7XFxufSBlbHNlIGlmIChodG1sLmRhdGEgJiYgaHRtbC5kYXRhLmxpc3QpIHtcXG4gICAgdmFyIGxpc3QgPSBodG1sLmRhdGEubGlzdDtcXG59IGVsc2Uge1xcbiAgICB2YXIgbGlzdCA9IGh0bWwuZGF0YTtcXG59XFxuLy9sb2cobGlzdCk7XFxuZm9yICh2YXIgaSA9IDA7IGkgPCBsaXN0Lmxlbmd0aDsgaSsrKSB7XFxuICAgIHZhciB0aXRsZSA9IGxpc3RbaV0udm9kX25hbWU7XFxuICAgIHZhciBpbWcgPSBsaXN0W2ldLnZvZF9waWM7XFxuICAgIHZhciB1cmwgPSBsaXN0W2ldLnZvZF9pZDtcXG4gICAgdmFyIGRlc2MgPSBsaXN0W2ldLnZvZF9yZW1hcmtzO1xcbiAgICB2YXIgbm93RGF0ZSA9IG5ldyBEYXRlKCk7XFxuICAgIHZhciBtb250aCA9IG5vd0RhdGUuZ2V0TW9udGgoKSArIDEgPCAxMCA/IFxcXCIwXFxcIiArIChub3dEYXRlLmdldE1vbnRoKCkgKyAxKSA6IG5vd0RhdGUuZ2V0TW9udGgoKSArIDE7XFxuICAgIHZhciBkYXkgPSBub3dEYXRlLmdldERhdGUoKSA8IDEwID8gXFxcIjBcXFwiICsgbm93RGF0ZS5nZXREYXRlKCkgOiBub3dEYXRlLmdldERhdGUoKTtcXG4gICAgdmFyIGRhdGVTdHIgPSBtb250aCArICcnICsgZGF5O1xcbiAgICBpZiAoaHRtbC5saXN0KSB7XFxuICAgICAgICB2YXIgbGluayA9IG11cmwgKyAndmlkZW9fZGV0YWlsP2lkPScgKyB1cmwgKyAnJnRva2VuPTtnZXQ7dXRmLTg7e1VzZXItQWdlbnRARGFydC8yLjE0IChkYXJ0OmlvKX0nO1xcbiAgICB9IGVsc2UgaWYgKGh0bWwuZGF0YSAmJiBodG1sLmRhdGEubGlzdCkge1xcbiAgICAgICAgaWYgKG11cmwuc2VhcmNoKC9tb2dhaV9hcGkvKSAhPSAtMSkge1xcbiAgICAgICAgICAgIHZhciBsaW5rID0gbXVybCArICcvZGV0YWlsP2tleT0nICsgZGF0ZVN0ciArICcmdm9kX2lkPScgKyB1cmwgKyAnJnJlbF9saW1pdD0xMDtnZXQ7dXRmLTg7e1VzZXItQWdlbnRARGFydC8yLjE0IChkYXJ0OmlvKX0nO1xcbiAgICAgICAgfSBlbHNlIHtcXG4gICAgICAgICAgICB2YXIgbGluayA9IG11cmwgKyAnL2RldGFpbD9rZXk9JyArIGRhdGVTdHIgKyAnJnZvZF9pZD0nICsgdXJsICsgJyZyZWxfbGltaXQ9MTA7Z2V0O3V0Zi04O3tVc2VyLUFnZW50QG9raHR0cC80LjEuMH0nO1xcbiAgICAgICAgfVxcbiAgICB9IGVsc2Uge1xcbiAgICAgICAgdmFyIGxpbmsgPSBtdXJsICsgJ3ZpZGVvX2RldGFpbD9pZD0nICsgdXJsICsgJyZ0b2tlbj07Z2V0O3V0Zi04O3tVc2VyLUFnZW50QERhcnQvMi4xNCAoZGFydDppbyl9JztcXG4gICAgfTtcXG4gICAgaWYgKC9mYW50dWFuLy50ZXN0KG11cmwpKSB7XFxuICAgICAgICB2YXIgbGluayA9ICdodHRwczovL2ZhbnR1YW4ud2tmaWxlLmNvbS9hcGkucGhwL2FwcC92aWRlb19kZXRhaWw/aWQ9JyArIHVybCArICcmdG9rZW49O2dldDt1dGYtODt7VXNlci1BZ2VudEBEYXJ0LzIuMTQgKGRhcnQ6aW8pfSc7XFxuICAgIH0gZWxzZSBpZiAoL2lvcGVueXVuLy50ZXN0KG11cmwpKSB7XFxuICAgICAgICB2YXIgbGluayA9IG11cmwgKyAnL2RldGFpbElEP3ZvZF9pZD0nICsgdXJsICsgJyZyZWxfbGltaXQ9MTA7Z2V0O3V0Zi04O3tVc2VyLUFnZW50QERhcnQvMi4xNCAoZGFydDppbyl9JztcXG4gICAgfSBlbHNlIGlmICgvZGlqaWF4aWEvLnRlc3QobXVybCkpIHtcXG4gICAgICAgIHZhciBsaW5rID0gJ2h0dHA6Ly93d3cuZGlqaWF4aWEuY29tL2FwaS5waHAvYXBwL3ZpZGVvX2RldGFpbD9pZD0nICsgdXJsO1xcbiAgICB9XFxuICAgIGl0ZW1zLnB1c2goe1xcbiAgICAgICAgdGl0bGU6IHRpdGxlLFxcbiAgICAgICAgcGljX3VybDogaW1nICsgJ0BSZWZlcmVyPScsXFxuICAgICAgICB1cmw6ICQobGluaykucnVsZSgoKSA9PiB7XFxuICAgICAgICAgICAgdmFyIHJlcyA9IHt9O1xcbiAgICAgICAgICAgIHZhciBpdGVtcyA9IFtdO1xcbiAgICAgICAgICAgIGl0ZW1zLnB1c2goe1xcbiAgICAgICAgICAgICAgICB0aXRsZTogJycsXFxuICAgICAgICAgICAgICAgIGRlc2M6ICcyNTUmJmZsb2F0JyxcXG4gICAgICAgICAgICAgICAgdXJsOiAnJyxcXG4gICAgICAgICAgICAgICAgY29sX3R5cGU6ICd4NV93ZWJ2aWV3X3NpbmdsZSdcXG4gICAgICAgICAgICB9KTtcXG4gICAgICAgICAgICByZWZyZXNoWDVXZWJWaWV3KCcnKTtcXG4gICAgICAgICAgICB2YXIgaHRtbCA9IEpTT04ucGFyc2UoZ2V0UmVzQ29kZSgpKTtcXG4gICAgICAgICAgICB2YXIgbXl1cmwgPSBNWV9VUkwubWF0Y2goLyhbXFxcXFNdKj86XFxcXC9cXFxcL1tcXFxcU10qPylcXFxcLy8pWzFdO1xcbiAgICAgICAgICAgIHRyeSB7XFxuICAgICAgICAgICAgICAgIGV2YWwoSlNPTi5wYXJzZShmZXRjaCgnaGlrZXI6Ly9wYWdlL2FwcG1vdmxpc3QnLCB7fSkpLnJ1bGUpO1xcbiAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHt9XFxuICAgICAgICAgICAgcmVzLmRhdGEgPSBpdGVtcztcXG4gICAgICAgICAgICBzZXRIb21lUmVzdWx0KHJlcyk7XFxuICAgICAgICB9KSxcXG4gICAgICAgIGRlc2M6IGRlc2MsXFxuICAgICAgICBjb2xfdHlwZTogJ21vdmllXzNfbWFycXVlZSdcXG4gICAgfSk7XFxufVwifSx7XCJjb2xfdHlwZVwiOlwibW92aWVfM1wiLFwibmFtZVwiOlwiVFbliJfooajop6PmnpBcIixcInBhdGhcIjpcInR2bGlzdGRhdGFcIixcInJ1bGVcIjpcInZhciBsaXN0ID0gaHRtbC5kYXRhO1xcbmZvciAodmFyIGkgPSAwOyBpIDwgbGlzdC5sZW5ndGg7IGkrKykge1xcbiAgICB2YXIgdGl0bGUgPSBsaXN0W2ldLnRpdGxlO1xcbiAgICB2YXIgaW1nID0gbGlzdFtpXS5waWM7XFxuICAgIHZhciB1cmwgPSBsaXN0W2ldLm5leHRsaW5rO1xcbiAgICB2YXIgZGVzYyA9IGxpc3RbaV0uc3RhdGU7XFxuICAgIHVybCA9IHVybC5zdGFydHNXaXRoKCdodHRwJykgPyB1cmwgOiBtdXJsICsgJz9hYz1kZXRhaWwmaWRzPScgKyB1cmw7XFxuICAgIGl0ZW1zLnB1c2goe1xcbiAgICAgICAgdGl0bGU6IHRpdGxlLFxcbiAgICAgICAgcGljX3VybDogaW1nICsgJ0BSZWZlcmVyPScsXFxuICAgICAgICB1cmw6ICQodXJsKS5ydWxlKCgpID0+IHtcXG4gICAgICAgICAgICB2YXIgcmVzID0ge307XFxuICAgICAgICAgICAgdmFyIGl0ZW1zID0gW107XFxuICAgICAgICAgICAgdmFyIGh0bWwgPSBKU09OLnBhcnNlKGdldFJlc0NvZGUoKSk7XFxuICAgICAgICAgICAgdmFyIG15dXJsID0gTVlfVVJMLm1hdGNoKC8oW1xcXFxTXSo/OlxcXFwvXFxcXC9bXFxcXFNdKj8pXFxcXC8vKVsxXTtcXG4gICAgICAgICAgICBpdGVtcy5wdXNoKHtcXG4gICAgICAgICAgICAgICAgdGl0bGU6ICcnLFxcbiAgICAgICAgICAgICAgICBkZXNjOiAnMjU1JiZmbG9hdCcsXFxuICAgICAgICAgICAgICAgIHVybDogJycsXFxuICAgICAgICAgICAgICAgIGNvbF90eXBlOiAneDVfd2Vidmlld19zaW5nbGUnXFxuICAgICAgICAgICAgfSk7XFxuICAgICAgICAgICAgcmVmcmVzaFg1V2ViVmlldygnJyk7XFxuICAgICAgICAgICAgdHJ5IHtcXG4gICAgICAgICAgICBldmFsKEpTT04ucGFyc2UoZmV0Y2goJ2hpa2VyOi8vcGFnZS90dm1vdmxpc3QnLCB7fSkpLnJ1bGUpO1xcbiAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHt9XFxuICAgICAgICAgICAgcmVzLmRhdGEgPSBpdGVtcztcXG4gICAgICAgICAgICBzZXRIb21lUmVzdWx0KHJlcyk7XFxuICAgICAgICB9KSxcXG4gICAgICAgIGRlc2M6IGRlc2MsXFxuICAgICAgICBjb2xfdHlwZTogJ21vdmllXzNfbWFycXVlZSdcXG4gICAgfSk7XFxufVwifSx7XCJjb2xfdHlwZVwiOlwibW92aWVfM1wiLFwibmFtZVwiOlwiQVBQ566A5LuL5LiO6YCJ6ZuGXCIsXCJwYXRoXCI6XCJhcHBtb3ZsaXN0XCIsXCJydWxlXCI6XCJpZiAoaHRtbC5kYXRhLnZvZF91cmxfd2l0aF9wbGF5ZXIpIHtcXG4gICAgdmFyIGNvbnRzID0gaHRtbC5kYXRhLnZvZF91cmxfd2l0aF9wbGF5ZXI7XFxuICAgIGlmIChjb250cy5sZW5ndGggPCAxKSB7XFxuICAgICAgICBjb250cyA9IGh0bWwuZGF0YS52b2RfcGxheV91cmwuc3BsaXQoJyQkJCcpO1xcbiAgICAgICAgdmFyIHRhYnMgPSBodG1sLmRhdGEudm9kX3BsYXlfZnJvbS5zcGxpdCgnJCQkJyk7XFxuICAgIH1cXG59IGVsc2UgaWYgKGh0bWwuZGF0YS52b2RfaW5mbyAmJiBodG1sLmRhdGEudm9kX2luZm8udm9kX3VybF93aXRoX3BsYXllcikge1xcbiAgICB2YXIgY29udHMgPSBodG1sLmRhdGEudm9kX2luZm8udm9kX3VybF93aXRoX3BsYXllcjtcXG4gICAgaWYgKGNvbnRzLmxlbmd0aCA8IDEpIHtcXG4gICAgICAgIGNvbnRzID0gaHRtbC5kYXRhLnZvZF9pbmZvLnZvZF9wbGF5X3VybC5zcGxpdCgnJCQkJyk7XFxuICAgICAgICB2YXIgdGFicyA9IGh0bWwuZGF0YS52b2RfaW5mby52b2RfcGxheV9mcm9tLnNwbGl0KCckJCQnKTtcXG4gICAgfVxcbn0gZWxzZSB7XFxuICAgIHZhciBjb250cyA9IGh0bWwuZGF0YS52b2RfcGxheV9saXN0O1xcbiAgICBpZiAoY29udHMubGVuZ3RoIDwgMSkge1xcbiAgICAgICAgY29udHMgPSBodG1sLmRhdGEudm9kX3BsYXlfdXJsLnNwbGl0KCckJCQnKTtcXG4gICAgICAgIHZhciB0YWJzID0gaHRtbC5kYXRhLnZvZF9wbGF5X2Zyb20uc3BsaXQoJyQkJCcpO1xcbiAgICB9XFxufVxcblxcbi8vbG9nKGNvbnRzKTtcXG5cXG52YXIgdGh1bWIgPSBodG1sLmRhdGEudm9kX2luZm8gPyBodG1sLmRhdGEudm9kX2luZm8udm9kX3BpYyA6IGh0bWwuZGF0YS52b2RfcGljO1xcbnZhciBkZXMgPSBodG1sLmRhdGEudm9kX2luZm8gPyBodG1sLmRhdGEudm9kX2luZm8udm9kX2NvbnRlbnQgOiBodG1sLmRhdGEudm9kX2NvbnRlbnQ7XFxuaXRlbXMucHVzaCh7XFxuICAgIHRpdGxlOiAn5Ymn5oOF566A5LuL77yaJyxcXG4gICAgZGVzYzogZGVzLFxcbiAgICBwaWNfdXJsOiB0aHVtYixcXG4gICAgdXJsOiAkKCdoaWtlcjovL2VtcHR5I25vUmVjb3JkSGlzdG9yeSMnKS5ydWxlKChkZXMpID0+IHtcXG4gICAgICAgIHNldFJlc3VsdChbe1xcbiAgICAgICAgICAgIHRpdGxlOiBkZXMsXFxuICAgICAgICAgICAgY29sX3R5cGU6ICdsb25nX3RleHQnXFxuICAgICAgICB9XSk7XFxuICAgIH0sIGRlcyksXFxuICAgIGNvbF90eXBlOiAnbW92aWVfMV92ZXJ0aWNhbF9waWMnXFxufSk7XFxudmFyIGppZWsgPSAnJztcXG5mb3IgKHZhciBpID0gMDsgaSA8IGNvbnRzLmxlbmd0aDsgaSsrKSB7XFxuICAgIGlmIChnZXRWYXIoJ2FwcG1hcHBzb3J0JywgJzEnKSA9PSAnMScpIHtcXG4gICAgICAgIGlmIChjb250c1tpXS51cmxzKSB7XFxuICAgICAgICAgICAgdmFyIGxpc3QgPSBjb250c1tpXS51cmxzO1xcbiAgICAgICAgfSBlbHNlIGlmIChjb250c1tpXS51cmwpIHtcXG4gICAgICAgICAgICB2YXIgbGlzdCA9IGNvbnRzW2ldLnVybC5zcGxpdChcXFwiI1xcXCIpO1xcbiAgICAgICAgfSBlbHNlIHtcXG4gICAgICAgICAgICB2YXIgbGlzdCA9IGNvbnRzW2ldLnNwbGl0KFxcXCIjXFxcIik7XFxuICAgICAgICB9O1xcbiAgICB9IGVsc2Uge1xcbiAgICAgICAgaWYgKGNvbnRzW2ldLnVybHMpIHtcXG4gICAgICAgICAgICB2YXIgbGlzdCA9IGNvbnRzW2ldLnVybHMucmV2ZXJzZSgpO1xcbiAgICAgICAgfSBlbHNlIGlmIChjb250c1tpXS51cmwpIHtcXG4gICAgICAgICAgICB2YXIgbGlzdCA9IGNvbnRzW2ldLnVybC5zcGxpdChcXFwiI1xcXCIpLnJldmVyc2UoKTtcXG4gICAgICAgIH0gZWxzZSB7XFxuICAgICAgICAgICAgdmFyIGxpc3QgPSBjb250c1tpXS5zcGxpdChcXFwiI1xcXCIpLnJldmVyc2UoKTtcXG4gICAgICAgIH1cXG4gICAgfTtcXG4gICAgLy9zZXRFcnJvcihsaXN0Lmxlbmd0aCk7XFxuICAgIGlmIChodG1sLmRhdGEudm9kX3VybF93aXRoX3BsYXllcikge1xcbiAgICAgICAgdmFyIHB0YWIgPSBjb250c1tpXS5jb2RlID8gY29udHNbaV0uY29kZSA6IHRhYnNbaV07XFxuICAgIH0gZWxzZSBpZiAoaHRtbC5kYXRhLnZvZF9pbmZvICYmIGh0bWwuZGF0YS52b2RfaW5mby52b2RfdXJsX3dpdGhfcGxheWVyKSB7XFxuICAgICAgICB2YXIgcHRhYiA9IGNvbnRzW2ldLmNvZGUgPyBjb250c1tpXS5jb2RlIDogdGFic1tpXTtcXG4gICAgfSBlbHNlIHtcXG4gICAgICAgIHZhciBwdGFiID0gY29udHNbaV0uZnJvbSA/IGNvbnRzW2ldLmZyb20gOiB0YWJzW2ldO1xcbiAgICB9XFxuICAgIGl0ZW1zLnB1c2goe1xcbiAgICAgICAgdGl0bGU6IHB0YWIgKyAnIPCflJcnICsgW2kgKyAxXSArICcvJyArIFtjb250cy5sZW5ndGhdICsgXFxcIuKAnOKAnOKGk+KGkeKAneKAnVxcXCIsXFxuICAgICAgICB1cmw6IFxcXCJoaWtlcjovL2VtcHR5QGxhenlSdWxlPS5qczpwdXRWYXIoJ2FwcG1hcHBzb3J0JywgZ2V0VmFyKCdhcHBtYXBwc29ydCcsJzEnKT09JzEnPycwJzonMScpO3JlZnJlc2hQYWdlKGZhbHNlKTsndG9hc3Q6Ly/liIfmjaLmiJDlip/vvIEnXFxcIixcXG4gICAgICAgIGNvbF90eXBlOiAnc2Nyb2xsX2J1dHRvbidcXG4gICAgfSk7XFxuICAgIGV2YWwoSlNPTi5wYXJzZShmZXRjaCgnaGlrZXI6Ly9wYWdlL2RucGx1Z2luJywge30pKS5ydWxlKTtcXG5cXG4gICAgZm9yICh2YXIgaiA9IDA7IGogPCBsaXN0Lmxlbmd0aDsgaisrKSB7XFxuICAgICAgICBpZiAoY29udHNbaV0udXJscykge1xcbiAgICAgICAgICAgIHZhciB2bGluayA9IGxpc3Rbal0udXJsLnJlcGxhY2UoLyM0NTYjL2csICdodHRwJykucmVwbGFjZSgvIzEyMyMvZywgJy4nKS5yZXBsYWNlKC8jNzg5Iy9nLCAnOicpO1xcbiAgICAgICAgICAgIHZhciB0aXRsZSA9IGxpc3Rbal0ubmFtZTtcXG4gICAgICAgIH0gZWxzZSB7XFxuICAgICAgICAgICAgdmFyIHZsaW5rID0gbGlzdFtqXS5zcGxpdChcXFwiJFxcXCIpWzFdO1xcbiAgICAgICAgICAgIHZhciB0aXRsZSA9IGxpc3Rbal0uc3BsaXQoXFxcIiRcXFwiKVswXTtcXG4gICAgICAgIH1cXG4gICAgICAgIHRyeSB7XFxuICAgICAgICAgICAgaWYgKGh0bWwuZGF0YS52b2RfdXJsX3dpdGhfcGxheWVyKSB7XFxuICAgICAgICAgICAgICAgIHZhciBqaWVrID0gY29udHNbaV0ucGFyc2VfYXBpO1xcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoaHRtbC5kYXRhLnZvZF9pbmZvICYmIGh0bWwuZGF0YS52b2RfaW5mby52b2RfdXJsX3dpdGhfcGxheWVyKSB7XFxuICAgICAgICAgICAgICAgIHZhciBqaWVrID0gY29udHNbaV0ucGFyc2VfYXBpO1xcbiAgICAgICAgICAgIH0gZWxzZSB7XFxuICAgICAgICAgICAgICAgIGlmIChjb250c1tpXS5wbGF5ZXJfaW5mby5wYXJzZTIgJiYgKGNvbnRzW2ldLnBsYXllcl9pbmZvLnBhcnNlMikuaW5kZXhPZihcXFwiPVxcXCIpICE9IC0xKSB7XFxuICAgICAgICAgICAgICAgICAgICB2YXIgamllayA9IChjb250c1tpXS5wbGF5ZXJfaW5mby5wYXJzZTIpLm1hdGNoKC8uKj91cmw9fC4qP3Y9fC4qP3ZpZD0vKVswXS5yZXBsYWNlKFxcXCIuLlxcXCIsIFxcXCIuXFxcIikucmVwbGFjZSgnanNvbmJzJywgJycpO1xcbiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKGNvbnRzW2ldLnBsYXllcl9pbmZvLnBhcnNlICYmIChjb250c1tpXS5wbGF5ZXJfaW5mby5wYXJzZSkuaW5kZXhPZihcXFwiPVxcXCIpICE9IC0xKSB7XFxuICAgICAgICAgICAgICAgICAgICB2YXIgamllayA9IChjb250c1tpXS5wbGF5ZXJfaW5mby5wYXJzZSkubWF0Y2goLy4qP3VybD18Lio/dj18Lio/dmlkPS8pWzBdLnJlcGxhY2UoXFxcIi4uXFxcIiwgXFxcIi5cXFwiKTtcXG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcXG4gICAgICAgICAgICAgICAgICAgIHZhciBqaWVrID0gXFxcIlxcXCI7XFxuICAgICAgICAgICAgICAgIH1cXG4gICAgICAgICAgICAgICAgLy9zZXRFcnJvcihqaWVrKTsgICAgICAgICAgICAgICAgXFxuICAgICAgICAgICAgfVxcbiAgICAgICAgfSBjYXRjaCAoZSkge31cXG4gICAgICAgIC8vamlla+aLvOaOpVxcbiAgICAgICAgaWYgKGppZWsgIT0gJycgJiYgamllayAhPSBudWxsKSB7XFxuICAgICAgICAgICAgaWYgKGppZWsuc3Vic3RyaW5nKDAsIDQpID09ICdodHRwJykge1xcbiAgICAgICAgICAgICAgICBqaWVrID0gamllaztcXG4gICAgICAgICAgICB9IGVsc2UgaWYgKGppZWsuc3Vic3RyaW5nKDAsIDIpID09ICdcXFxcL1xcXFwvJykge1xcbiAgICAgICAgICAgICAgICBqaWVrID0gJ2h0dHBzOicgKyBqaWVrO1xcbiAgICAgICAgICAgIH1cXG4gICAgICAgIH0gZWxzZSB7XFxuICAgICAgICAgICAgamllayA9IFxcXCJcXFwiO1xcbiAgICAgICAgfVxcbiAgICAgICAgLy/lr7nlpLHmlYjmjqXlj6Pov5vooYzmm7/mjaJcXG4gICAgICAgIGlmICgvY29rZW12Ly50ZXN0KG15dXJsKSAmJiAvY29rZXFpZXx4aW58OTBtbS8udGVzdChwdGFiKSkge1xcbiAgICAgICAgICAgIGppZWsgPSAnaHR0cHM6Ly9wbGF5ZXIuOTBtbS5tZS9wbGF5LnBocD91cmw9JztcXG4gICAgICAgIH0gZWxzZSBpZiAoL2pzb25cXFxcLm0zdThcXFxcLnR2fHd3d1xcXFwueC1uXFxcXC5jYy8udGVzdChqaWVrKSkge1xcbiAgICAgICAgICAgIGppZWsgPSAnaHR0cHM6Ly9qeC5tM3U4LnR2L2ppZXhpLz91cmw9JztcXG4gICAgICAgIH0gZWxzZSBpZiAoL2NqdDUyMS8udGVzdChteXVybCkpIHtcXG4gICAgICAgICAgICBqaWVrID0gY29udHNbaV0ucGxheWVyX2luZm8ucGFyc2U7XFxuICAgICAgICB9IGVsc2UgaWYgKGppZWsuaW5kZXhPZignanBnLmhvdS5sdS9qbS96YS9pbmRleC5waHAnKSAhPSAtMSkge1xcbiAgICAgICAgICAgIGppZWsgPSAnaHR0cDovL3ZpcC5tZW5neC52aXAvaG9tZS9hcGk/dHlwZT15cyZ1aWQ9MzI0OTY5NiZrZXk9YWVmcXJ0dXd4eUVGSEtOT1FZJnVybD0nO1xcbiAgICAgICAgfSBlbHNlIGlmIChwdGFiID09ICdyZW5yZW5taScgJiYgamllay5zZWFyY2goL2poZHl3LykgIT0gLTEpIHtcXG4gICAgICAgICAgICBqaWVrID0gJ2h0dHA6Ly93d3cuMTA4MGthbi5jYy9qaWV4aS9ycm1pLnBocD91cmw9JztcXG4gICAgICAgIH0gZWxzZSBpZiAocHRhYiA9PSAnZnFmaWxtJyAmJiBqaWVrLnNlYXJjaCgvamhkeXcvKSAhPSAtMSkge1xcbiAgICAgICAgICAgIGppZWsgPSAnaHR0cDovL3d3dy4xMDgwa2FuLmNjL2ppZXhpL2ZxLnBocD91cmw9JztcXG4gICAgICAgIH0gZWxzZSBpZiAocHRhYiA9PSAncnJzcCcgJiYgamllay5zZWFyY2goL2poZHl3LykgIT0gLTEpIHtcXG4gICAgICAgICAgICBqaWVrID0gJ2h0dHA6Ly93d3cuMTA4MGthbi5jYy9qaWV4aS9yci5waHA/dXJsPSc7XFxuICAgICAgICB9IGVsc2UgaWYgKC9qaHl1blxcXFwucGhwLy50ZXN0KGppZWspKSB7XFxuICAgICAgICAgICAgamllayA9IGppZWsucmVwbGFjZSgnaHR0cDovL3N2aXAuamh5dW4uanguY246MTIzNC9qaHl1bi5waHA/dXJsPScsICdodHRwczovL2FwaS5qaGR5dy52aXAvP3VybD0nKTtcXG4gICAgICAgIH07XFxuICAgICAgICAvL+aJk+WNsOaOpeWPo1xcbiAgICAgICAgdHJ5IHtcXG4gICAgICAgICAgICBpZiAoaiA9PSAnMCcpIHtcXG4gICAgICAgICAgICAgICAgaWYgKGh0bWwuZGF0YS52b2RfdXJsX3dpdGhfcGxheWVyKSB7XFxuICAgICAgICAgICAgICAgICAgICBsb2coJ1xcXFxu57q/6Lev77yaJyArIHB0YWIgKyAnXFxcXG7op4bpopHvvJonICsgdmxpbmsgKyAnXFxcXG4nICsgJ+ino+aekOaOpeWPo++8mlxcXFxuJyArIGppZWspO1xcbiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKGh0bWwuZGF0YS52b2RfaW5mbyAmJiBodG1sLmRhdGEudm9kX2luZm8udm9kX3VybF93aXRoX3BsYXllcikge1xcbiAgICAgICAgICAgICAgICAgICAgbG9nKCdcXFxcbue6v+i3r++8micgKyBwdGFiICsgJ1xcXFxu6KeG6aKR77yaJyArIHZsaW5rICsgJ1xcXFxuJyArICfop6PmnpDmjqXlj6PvvJpcXFxcbicgKyBqaWVrKTtcXG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcXG4gICAgICAgICAgICAgICAgICAgIGlmIChjb250c1tpXS5wbGF5ZXJfaW5mby5wYXJzZTIgJiYgKGNvbnRzW2ldLnBsYXllcl9pbmZvLnBhcnNlMikuaW5kZXhPZihcXFwiPVxcXCIpICE9IC0xKSB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgbG9nKCdcXFxcbue6v+i3r++8micgKyBwdGFiICsgJ1xcXFxu6KeG6aKR77yaJyArIHZsaW5rICsgJ1xcXFxuJyArICfop6PmnpDmjqXlj6PvvJpcXFxcbicgKyBjb250c1tpXS5wbGF5ZXJfaW5mby5wYXJzZTIucmVwbGFjZSgvXFxcXC5cXFxcLi9nLCBcXFwiLlxcXCIpLnJlcGxhY2UoL1xcXFwsL2csIFxcXCJcXFxcblxcXFxuXFxcIikpO1xcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmIChjb250c1tpXS5wbGF5ZXJfaW5mby5wYXJzZSAmJiAoY29udHNbaV0ucGxheWVyX2luZm8ucGFyc2UpLmluZGV4T2YoXFxcIj1cXFwiKSAhPSAtMSkge1xcbiAgICAgICAgICAgICAgICAgICAgICAgIGxvZygnXFxcXG7nur/ot6/vvJonICsgcHRhYiArICdcXFxcbuinhumike+8micgKyB2bGluayArICdcXFxcbicgKyAn6Kej5p6Q5o6l5Y+j77yaXFxcXG4nICsgY29udHNbaV0ucGxheWVyX2luZm8ucGFyc2UucmVwbGFjZSgvXFxcXC5cXFxcLi9nLCBcXFwiLlxcXCIpLnJlcGxhY2UoL1xcXFwsL2csIFxcXCJcXFxcblxcXFxuXFxcIikpO1xcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcXG4gICAgICAgICAgICAgICAgICAgICAgICBsb2coJ1xcXFxu57q/6Lev77yaJyArIHB0YWIgKyAnXFxcXG7op4bpopHvvJonICsgdmxpbmsgKyAnXFxcXG4nICsgJ+ino+aekOaOpeWPo++8mlxcXFxuJyArIGppZWspO1xcbiAgICAgICAgICAgICAgICAgICAgfVxcbiAgICAgICAgICAgICAgICAgICAgLy9zZXRFcnJvcihqaWVrKTsgICAgICAgICAgICAgICAgXFxuICAgICAgICAgICAgICAgIH1cXG4gICAgICAgICAgICB9XFxuICAgICAgICB9IGNhdGNoIChlKSB7fVxcbiAgICAgICAgLy/lo7DmmI7pk77mjqVcXG4gICAgICAgIHZhciBsaW5rID0gamllayArIHZsaW5rO1xcbiAgICAgICAgLypcXG4gICAgICAgIGlmICgvXFxcXC5tM3U4fFxcXFwubXA0fG9ialxcXFwvdG9zLy50ZXN0KHZsaW5rKSAmJiAvaHR0cC8udGVzdCh2bGluaykpIHtcXG4gICAgICAgICAgICBsaW5rID0gdmxpbms7XFxuICAgICAgICB9XFxuICAgICAgICAqL1xcbiAgICAgICAgLy9sb2cobGluayk7XFxuICAgICAgICB0aXRsZSA9IHRpdGxlLm1hdGNoKC8o56ysfFxcXFxkfC0pKijpm4Z86K+dfOacnykvZykgPyB0aXRsZS5yZXBsYWNlKC/nrKx86ZuGfOivnXzmnJ8vZywgJycpIDogdGl0bGU7XFxuICAgICAgICBpZiAobGlzdC5sZW5ndGggPD0gNCkge1xcbiAgICAgICAgICAgIHZhciBjbHQgPSAndGV4dF8yJztcXG4gICAgICAgIH0gZWxzZSB7XFxuICAgICAgICAgICAgdmFyIGNsdCA9IGlzTmFOKHRpdGxlKSA/ICdmbGV4X2J1dHRvbicgOiAndGV4dF81J1xcbiAgICAgICAgfTtcXG4gICAgICAgIGl0ZW1zLnB1c2goe1xcbiAgICAgICAgICAgIHRpdGxlOiB0aXRsZSxcXG4gICAgICAgICAgICB1cmw6ICQoJycpLmxhenlSdWxlKChwdGFiLCBsaW5rLCBteXVybCwgdmxpbmspID0+IHtcXG4gICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uIG9wZW51cmwocmVzdXJsKSB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHJlc3VybC5tYXRjaCgveW91a3V8bWd0dnxpeGlndWF8cXEuY29tfHFpeWl8bWlndXxiaWxpYmlsaXxzb2h1fHBwdHZ8bGV8MTkwNS5jb20vKSAmJiByZXN1cmwuc2VhcmNoKC9odG1sfGJpbGliaWxpfGl4aWd1YS8pICE9IC0xKSB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vaHRtbOe9kemhteiwg+eUqOaWreaPkuino+aekFxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgZW5EbiA9IEpTT04ucGFyc2UoZmV0Y2goJ2hpa2VyOi8vZmlsZXMvcnVsZXMveHlxL2FwcG1zZXQuanNvbicsIHt9KSkuZW5EbjtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGVuRG4gPT0gJzEnKSB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsb2coJ+iwg+eUqOaWreaPkuino+aekGh0bWwnKTtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV2YWwoXFxcInZhciBjb25maWcgPVxcXCIgKyBmZXRjaChcXFwiaGlrZXI6Ly9maWxlcy9jYWNoZS9NeVBhcnNlU2V0Lmpzb25cXFwiKSk7XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBldmFsKGZldGNoKGNvbmZpZy5jaikpO1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGF5dG1QYXJzZShyZXN1cmwpO1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHJlc3VybFxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9O1xcbiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoL1xcXFwubTN1OHxcXFxcLm1wNHxvYmpcXFxcL3Rvc3xuZXRlYXNlXFxcXC5jb20vLnRlc3QocmVzdXJsKSAmJiAvaHR0cC8udGVzdChyZXN1cmwpICYmICEvXFxcXC5odG1sLy50ZXN0KHJlc3VybCkgJiYgIS9cXFxcPWh0dHAvLnRlc3QocmVzdXJsKSAmJiBwdGFiICE9ICdkdW9kdW96eScpIHtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKC93a2ZpbGUvLnRlc3QocmVzdXJsKSkge1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHJlc3VybCArICc7e1JlZmVyZXJAaHR0cHM6Ly9mYW50dWFuLndrZmlsZS5jb20vfSdcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAvXFxcXD0vLnRlc3QocmVzdXJsKSA/IHJlc3VybC5zcGxpdCgnPScpWzFdIDogcmVzdXJsICsgJyNpc1ZpZGVvPXRydWUjJztcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8v6LCD55So5pat5o+S6YCa55So5Ye95pWw6Kej5p6QXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBlbkRuID0gSlNPTi5wYXJzZShmZXRjaCgnaGlrZXI6Ly9maWxlcy9ydWxlcy94eXEvYXBwbXNldC5qc29uJywge30pKS5lbkRuO1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoZW5EbiA9PSAnMScpIHtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxvZygn6LCD55So5pat5o+S6YCa55So5Ye95pWw6Kej5p6QXFxcXG4nICsgcHRhYiArICco6YCa55So5Ye95pWwKScpO1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXZhbChcXFwidmFyIGNvbmZpZyA9XFxcIiArIGZldGNoKFxcXCJoaWtlcjovL2ZpbGVzL2NhY2hlL015UGFyc2VTZXQuanNvblxcXCIpKTtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV2YWwoZmV0Y2goY29uZmlnLmNqKSk7XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgbmFtZSA9IHB0YWIgKyAnKOmAmueUqOWHveaVsCknO1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFBhcnNlU1tuYW1lXShyZXN1cmwsIG15dXJsKTtcXG5cXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmIChwdGFiID09ICdkdW9kdW96eScpIHtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV2YWwoZ2V0Q3J5cHRvSlMoKSk7XFxuXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbiBEZSh3b3JkKSB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGEgPSBDcnlwdG9KUy5lbmMuVXRmOC5wYXJzZShtZDUoJ3JYald2WGw2JykpXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHQgPSBDcnlwdG9KUy5lbmMuVXRmOC5wYXJzZSgnTlhiSG9XSmJwc0VPaW44YicpXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIENyeXB0b0pTLkFFUy5kZWNyeXB0KHdvcmQsIGEsIHtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXY6IHQsXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1vZGU6IENyeXB0b0pTLm1vZGUuQ0JDLFxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiBDcnlwdG9KUy5wYWQuUGtjczdcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KS50b1N0cmluZyhDcnlwdG9KUy5lbmMuVXRmOClcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH07XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvL3ZhciBkZHp5ID0gJ2FkSHVSbzBkY3VIb00xNjNMMXk0JyArIGJhc2U2NEVuY29kZShzcmN1cmwpLnNsaWNlKDEwKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgZGR3eSA9IGZldGNoKCdodHRwczovL2pocGMubWFuZHVodS5jb20vZHVvZHVvL2FwaS5waHAnLCB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVhZGVyczoge1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcXFwiVXNlci1BZ2VudFxcXCI6IE1PQklMRV9VQVxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9keTogJ3VybD0nICsgcmVzdXJsLFxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1ldGhvZDogJ1BPU1QnXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vbG9nKGRkd3kpO1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIERlKEpTT04ucGFyc2UoZGR3eSkudXJsKTtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiByZXN1cmxcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfTtcXG4gICAgICAgICAgICAgICAgICAgICAgICB9XFxuICAgICAgICAgICAgICAgICAgICB9O1xcbiAgICAgICAgICAgICAgICAgICAgdmFyIHNyY3VybCA9IGxpbms7XFxuICAgICAgICAgICAgICAgICAgICAvL2xvZyhzcmN1cmwpO1xcbiAgICAgICAgICAgICAgICAgICAgLy/liqjmgIHop6PmnpDku6PnoIHlvIDlp4tcXG4gICAgICAgICAgICAgICAgICAgIHRyeSB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgLy/lpITnkIbmjIflrprop4bpopHkuI7nur/ot69cXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoL1xcXFwubTN1OHxcXFxcLm1wNHxvYmpcXFxcL3Rvc3xuZXRlYXNlXFxcXC5jb20vLnRlc3Qoc3JjdXJsKSAmJiAvaHR0cC8udGVzdChzcmN1cmwpICYmICEvXFxcXC5odG1sLy50ZXN0KHNyY3VybCkgJiYgIS9cXFxcPWh0dHAvLnRlc3Qoc3JjdXJsKSkge1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoL3drZmlsZS8udGVzdChzcmN1cmwpKSB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gc3JjdXJsICsgJzt7UmVmZXJlckBodHRwczovL2ZhbnR1YW4ud2tmaWxlLmNvbS99J1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIC9cXFxcPS8udGVzdChzcmN1cmwpID8gc3JjdXJsLnNwbGl0KCc9JylbMV0gOiBzcmN1cmwgKyAnI2lzVmlkZW89dHJ1ZSMnO1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XFxuICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmIChzcmN1cmwuaW5kZXhPZihcXFwiL3NoYXJlL1xcXCIpICE9IC0xKSB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyeSB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgbGluayA9IHNyY3VybC5zcGxpdChcXFwiL3NoYXJlXFxcIilbMF07XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgZmMgPSBmZXRjaChzcmN1cmwsIHt9KS5yZXBsYWNlKFxcXCJ2YXIgcHVybFxcXCIsIFxcXCJ2YXIgbWFpblxcXCIpO1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGZjLmluZGV4T2YoXFxcIm1haW5cXFwiKSAhPSAtMSkge1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBtYXQgPSBmYy5tYXRjaCgvdmFyIG1haW4uKj87LylbMF07XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXZhbChtYXQpO1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBwbGF5ID0gKG1haW4uaW5kZXhPZihcXFwiaHR0cFxcXCIpICE9IC0xID8gbWFpbiA6IGxpbmsgKyBtYWluKTtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIG1haW4gPSBmYy5tYXRjaCgvdXJsOi4qP1tcXFxcJ1xcXFxcXFwiXSguKj8pW1xcXFwnXFxcXFxcXCJdLylbMV07XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHBsYXkgPSAobWFpbi5pbmRleE9mKFxcXCJodHRwXFxcIikgIT0gLTEgPyBtYWluIDogbGluayArIG1haW4pXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9O1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHBsYXk7XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAneDVXZWJWaWV3Oi8vJyArIChzcmN1cmwpXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cXG5cXG4gICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKC85ODN2aXAvLnRlc3Qoc3JjdXJsKSkge1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gSlNPTi5wYXJzZShmZXRjaChzcmN1cmwsIHtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlYWRlcnM6IHtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcXFwiVXNlci1BZ2VudFxcXCI6IE1PQklMRV9VQVxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZGlyZWN0OiBmYWxzZSxcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpdGhIZWFkZXJzOiB0cnVlXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pKS5oZWFkZXJzLmxvY2F0aW9uWzBdO1xcbiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoL3hcXFxcLW5cXFxcLmNjfG5oZHo2NjYvLnRlc3Qoc3JjdXJsKSAmJiAvXFxcXC5odG1sfGJpbGliaWxpLy50ZXN0KHNyY3VybCkpIHtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG9wZW51cmwodmxpbmspO1xcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cXG4gICAgICAgICAgICAgICAgICAgICAgICAvL+WkhOeQhuaMh+WumuinhumikeWSjOe6v+i3r+e7k+adn1xcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vLS0tLeWIhuWJsue6vy0tLS0vL1xcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBzY29kZSA9IEpTT04ucGFyc2UoZmV0Y2goc3JjdXJsLCB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlYWRlcnM6IHtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxcXCJVc2VyLUFnZW50XFxcIjogXFxcIkRhcnQvMi4xNCAoZGFydDppbylcXFwiXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZGlyZWN0OiBmYWxzZSxcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2l0aFN0YXR1c0NvZGU6IHRydWVcXG4gICAgICAgICAgICAgICAgICAgICAgICB9KSk7XFxuICAgICAgICAgICAgICAgICAgICAgICAgLy9sb2coc2NvZGUpO1xcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChzY29kZS5zdGF0dXNDb2RlID09ICczMDInIHx8IHNjb2RlLnN0YXR1c0NvZGUgPT0gJzMwMScpIHtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy/miZPlvIDop6PmnpDmnIkzMDLph43lrprlkJHnmoTpk77mjqVcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHJlZHVybCA9IHNjb2RlLmhlYWRlcnMubG9jYXRpb25bMF0ucmVwbGFjZSgvXFxcXFxcXFwvZywgJycpO1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoL1xcXFw9aHR0cC8udGVzdChyZWR1cmwpICYmIC9odG1sfGJpbGliaWxpLy50ZXN0KHJlZHVybCkpIHtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBKU09OLnBhcnNlKGZldGNoKHJlZHVybCwge30pKS51cmw7XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoL1xcXFw9aHR0cC8udGVzdChyZWR1cmwpICYmIC9cXFxcLm0zdTh8XFxcXC5tcDR8XFxcXC5mbHYvLnRlc3QocmVkdXJsKSkge1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHJlZHVybC5zdWJzdHJpbmcocmVkdXJsLmluZGV4T2YoJz1odHRwJykgKyAxKTtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiByZWR1cmxcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vdmFyIGh0bWwgPSByZXF1ZXN0KHNyY3VybCk7XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBodG1sID0gc2NvZGUuYm9keTtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKC80MDQgTm90IEZvdW5kfOWkh+ahiOWQjuWPr+e7p+e7reiuv+mXri8udGVzdChodG1sKSkge1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG9wZW51cmwodmxpbmspO1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKC9cXFxcPGJvZHkvLnRlc3QoaHRtbCkpIHtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxvZygn5bCd6K+V6Z2eSlNPTuaOpeWPo+e9kemhteino+aekCcpO1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWlyZUNhY2hlKCdodHRwczovL2NvZGUuYWxpeXVuLmNvbS9semsyMzU1OS9QdWJsaWNSdWxlL3Jhdy9tYXN0ZXIveDVydWxlLmpzJywgMjQpO1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHg1cnVsZShzcmN1cmwsIHNyY3VybCk7XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvL3JldHVybiBvcGVudXJsKHNyY3VybCk7XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvL2pzb27op6PmnpDnmoTlj5bpk77mjqVcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBwdXJsID0gaHRtbC5tYXRjaCgvW1xcXFwnXFxcXFxcXCJddXJsW1xcXFwnXFxcXFxcXCJdOi4qP1tcXFxcJ1xcXFxcXFwiXSguKj8pW1xcXFwnXFxcXFxcXCJdLylbMV0ucmVwbGFjZSgvXFxcXFxcXFwvZywgJycpO1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy9sb2cocHVybCk7XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoL2h0dHAvLnRlc3QocHVybCkpIHtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAocHRhYiA9PSAnYmlsaWJpbGknKSB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBwdXJsICsgJzt7UmVmZXJlckBodHRwczovL3d3dy5iaWxpYmlsaS5jb20vJiZVc2VyLUFnZW50QE1vemlsbGEvNS4wfSc7XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmIChwdGFiID09ICdtZ3R2Jykge1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gcHVybCArICcjaXNWaWRlbz10cnVlIycgKyAnO3tSZWZlcmVyQHd3dy5tZ3R2LmNvbSYmVXNlci1BZ2VudEBNb3ppbGxhLzUuMH0nO1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoL29qYmsvLnRlc3QocHVybCkpIHtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHB1cmwgKyAnO3tSZWZlcmVyQGh0dHBzOi8vYmFrLm9qYmtqeC5jb20vfSc7XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHB1cmxcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9O1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvL+mdnmh0dHDlvIDlpLTnmoTmiZPlvIDljp/pk77mjqUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG9wZW51cmwodmxpbmspXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cXG4gICAgICAgICAgICAgICAgICAgICAgICB9XFxuICAgICAgICAgICAgICAgICAgICB9IGNhdGNoIChlKSB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgLy/miqXplJnliKTmlq3lpITnkIZcXG4gICAgICAgICAgICAgICAgICAgICAgICBsb2coJ+aJp+ihjOaKpemUmei3s+i9rOWkhOeQhicpO1xcbiAgICAgICAgICAgICAgICAgICAgICAgIC8qaWYgKHNyY3VybC5zdWJzdHJpbmcoMCwgMikgPT0gJ1xcXFwvXFxcXC8nKSB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBvcGVudXJsKCdodHRwczonICsgc3JjdXJsKTtcXG4gICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKC9cXFxcPWh0dHAvLnRlc3Qoc3JjdXJsKSAmJiAvXFxcXC5odG1sfGJpbGliaWxpLy50ZXN0KHNyY3VybCkpIHtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy9yZXR1cm4gc3JjdXJsLnNwbGl0KCc9JylbMV07XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBvcGVudXJsKHNyY3VybC5zdWJzdHJpbmcoc3JjdXJsLmluZGV4T2YoJz1odHRwJykgKyAxKSk7XFxuICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsqL1xcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBvcGVudXJsKHZsaW5rKVxcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vcmV0dXJuICd4NVdlYlZpZXc6Ly8nK3NyY3VybFxcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vfVxcbiAgICAgICAgICAgICAgICAgICAgfVxcbiAgICAgICAgICAgICAgICAgICAgLy/liqjmgIHop6PmnpDku6PnoIHnu5PmnZ9cXG4gICAgICAgICAgICAgICAgfSxcXG4gICAgICAgICAgICAgICAgcHRhYixcXG4gICAgICAgICAgICAgICAgbGluayxcXG4gICAgICAgICAgICAgICAgbXl1cmwsXFxuICAgICAgICAgICAgICAgIHZsaW5rKSxcXG4gICAgICAgICAgICBjb2xfdHlwZTogY2x0XFxuICAgICAgICB9KTtcXG4gICAgfVxcbn1cIn0se1wiY29sX3R5cGVcIjpcIm1vdmllXzNcIixcIm5hbWVcIjpcIlRW566A5LuL5LiO6YCJ6ZuGXCIsXCJwYXRoXCI6XCJ0dm1vdmxpc3RcIixcInJ1bGVcIjpcInZhciB0YWJzID0gT2JqZWN0LmtleXMoaHRtbC52aWRlb2xpc3QpO1xcbnZhciB0aHVtYiA9IGh0bWwuaW1nX3VybDtcXG5pdGVtcy5wdXNoKHtcXG4gICAgdGl0bGU6ICfliafmg4XnroDku4vvvJonLFxcbiAgICBkZXNjOiBodG1sLmludHJvLFxcbiAgICBwaWNfdXJsOiB0aHVtYixcXG4gICAgdXJsOiAkKCdoaWtlcjovL2VtcHR5I25vUmVjb3JkSGlzdG9yeSMnKS5ydWxlKChkZXMpID0+IHtcXG4gICAgICAgIHNldFJlc3VsdChbe1xcbiAgICAgICAgICAgIHRpdGxlOiBkZXMsXFxuICAgICAgICAgICAgY29sX3R5cGU6ICdsb25nX3RleHQnXFxuICAgICAgICB9XSk7XFxuICAgIH0sIGh0bWwuaW50cm8pLFxcbiAgICBjb2xfdHlwZTogJ21vdmllXzFfdmVydGljYWxfcGljJ1xcbn0pO1xcblxcbmZvciAodmFyIGkgPSAwOyBpIDwgdGFicy5sZW5ndGg7IGkrKykge1xcbiAgICBpZiAoZ2V0VmFyKCdhcHBtdHZzb3J0JywgJzEnKSA9PSAnMScpIHtcXG4gICAgICAgIHZhciBsaXN0ID0gaHRtbC52aWRlb2xpc3RbdGFic1tpXV07XFxuICAgIH0gZWxzZSB7XFxuICAgICAgICB2YXIgbGlzdCA9IGh0bWwudmlkZW9saXN0W3RhYnNbaV1dLnJldmVyc2UoKTtcXG4gICAgfTtcXG4gICAgdmFyIHB0YWIgPSB0YWJzW2ldO1xcbiAgICBpdGVtcy5wdXNoKHtcXG4gICAgICAgIHRpdGxlOiBwdGFiICsgJyDwn5SXJyArIFtpICsgMV0gKyAnLycgKyBbdGFicy5sZW5ndGhdICsgXFxcIuKAnOKAnOKGk+KGkeKAneKAnVxcXCIsXFxuICAgICAgICB1cmw6IFxcXCJoaWtlcjovL2VtcHR5QGxhenlSdWxlPS5qczpwdXRWYXIoJ2FwcG10dnNvcnQnLCBnZXRWYXIoJ2FwcG10dnNvcnQnLCcxJyk9PScxJz8nMCc6JzEnKTtyZWZyZXNoUGFnZShmYWxzZSk7J3RvYXN0Oi8v5YiH5o2i5oiQ5Yqf77yBJ1xcXCIsXFxuICAgICAgICBjb2xfdHlwZTogJ3Njcm9sbF9idXR0b24nXFxuICAgIH0pO1xcbiAgICBldmFsKEpTT04ucGFyc2UoZmV0Y2goJ2hpa2VyOi8vcGFnZS9kbnBsdWdpbicsIHt9KSkucnVsZSk7XFxuICAgIGZvciAodmFyIGogPSAwOyBqIDwgbGlzdC5sZW5ndGg7IGorKykge1xcbiAgICAgICAgdmFyIHNyY3VybCA9IGxpc3Rbal0udXJsO1xcbiAgICAgICAgaWYgKC8yOTNqeDEvLnRlc3Qoc3JjdXJsKSkge1xcbiAgICAgICAgICAgIHNyY3VybCA9IHNyY3VybC5yZXBsYWNlKCcyOTNqeDEnLCAnangnKTtcXG4gICAgICAgIH0gZWxzZSBpZiAoLzhkOHF8ZGlsaWt0dnxoYW9rYW5qdTF8Y3p0dnxmaXRcXFxcOjh8cHB6aHUvLnRlc3QobXl1cmwpKSB7XFxuICAgICAgICAgICAgc3JjdXJsID0gc3JjdXJsICsgJyZhcHA9MTAwMDAmYWNjb3VudD0yNzI3NzUwMjgmcGFzc3dvcmQ9cXEyNzI3NzUwMjgnO1xcbiAgICAgICAgfVxcbiAgICAgICAgdmFyIHRpdGxlID0gbGlzdFtqXS50aXRsZTtcXG4gICAgICAgIHRpdGxlID0gdGl0bGUubWF0Y2goLyjnrKx8XFxcXGR8LSkqKOmbhnzor5185pyfKS9nKSA/IHRpdGxlLnJlcGxhY2UoL+esrHzpm4Z86K+dfOacny9nLCAnJykgOiB0aXRsZTtcXG4gICAgICAgIGlmIChsaXN0Lmxlbmd0aCA8PSA0KSB7XFxuICAgICAgICAgICAgdmFyIGNsdCA9ICd0ZXh0XzInO1xcbiAgICAgICAgfSBlbHNlIHtcXG4gICAgICAgICAgICB2YXIgY2x0ID0gaXNOYU4odGl0bGUpID8gJ2ZsZXhfYnV0dG9uJyA6ICd0ZXh0XzUnXFxuICAgICAgICB9O1xcbiAgICAgICAgaXRlbXMucHVzaCh7XFxuICAgICAgICAgICAgdGl0bGU6IHRpdGxlLFxcbiAgICAgICAgICAgIHVybDogJCgpLmxhenlSdWxlKChwdGFiLCBzcmN1cmwsIG15dXJsKSA9PiB7XFxuICAgICAgICAgICAgICAgIGZ1bmN0aW9uIG9wZW51cmwocmVzdXJsKSB7XFxuICAgICAgICAgICAgICAgICAgICBpZiAocmVzdXJsLm1hdGNoKC95b3VrdXxtZ3R2fGl4aWd1YXxxcS5jb218cWl5aXxtaWd1fGJpbGliaWxpfHNvaHV8cHB0dnxsZXwxOTA1LmNvbS8pICYmIHJlc3VybC5zZWFyY2goL2h0bWx8YmlsaWJpbGkvKSAhPSAtMSkge1xcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBlbkRuID0gSlNPTi5wYXJzZShmZXRjaCgnaGlrZXI6Ly9maWxlcy9ydWxlcy94eXEvYXBwbXNldC5qc29uJywge30pKS5lbkRuO1xcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChlbkRuID09ICcxJykge1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsb2coJ+iwg+eUqOaWreaPkuino+aekCcpO1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBldmFsKFxcXCJ2YXIgY29uZmlnID1cXFwiICsgZmV0Y2goXFxcImhpa2VyOi8vZmlsZXMvY2FjaGUvTXlQYXJzZVNldC5qc29uXFxcIikpO1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBldmFsKGZldGNoKGNvbmZpZy5jaikpO1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gYXl0bVBhcnNlKHJlc3VybCk7XFxuICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHJlc3VybFxcbiAgICAgICAgICAgICAgICAgICAgICAgIH07XFxuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiByZXN1cmxcXG4gICAgICAgICAgICAgICAgICAgIH1cXG4gICAgICAgICAgICAgICAgfTtcXG4gICAgICAgICAgICAgICAgLy9sb2coc3JjdXJsKTtcXG4gICAgICAgICAgICAgICAgLy/liqjmgIHop6PmnpDku6PnoIHlvIDlp4tcXG4gICAgICAgICAgICAgICAgdHJ5IHtcXG4gICAgICAgICAgICAgICAgICAgIGlmICgvXFxcXC5tM3U4fFxcXFwubXA0fG9ialxcXFwvdG9zLy50ZXN0KHNyY3VybCkgJiYgL2h0dHAvLnRlc3Qoc3JjdXJsKSkge1xcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAvXFxcXD0vLnRlc3Qoc3JjdXJsKSA/IHNyY3VybC5zcGxpdCgnPScpWzFdIDogc3JjdXJsICsgJyNpc1ZpZGVvPXRydWUjJztcXG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoc3JjdXJsLmluZGV4T2YoXFxcIi9zaGFyZS9cXFwiKSAhPSAtMSkge1xcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyeSB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBsaW5rID0gc3JjdXJsLnNwbGl0KFxcXCIvc2hhcmVcXFwiKVswXTtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGZjID0gZmV0Y2goc3JjdXJsLCB7fSkucmVwbGFjZShcXFwidmFyIHB1cmxcXFwiLCBcXFwidmFyIG1haW5cXFwiKTtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGZjLmluZGV4T2YoXFxcIm1haW5cXFwiKSAhPSAtMSkge1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIG1hdCA9IGZjLm1hdGNoKC92YXIgbWFpbi4qPzsvKVswXTtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV2YWwobWF0KTtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBwbGF5ID0gKG1haW4uaW5kZXhPZihcXFwiaHR0cFxcXCIpICE9IC0xID8gbWFpbiA6IGxpbmsgKyBtYWluKTtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBtYWluID0gZmMubWF0Y2goL3VybDouKj9bXFxcXCdcXFxcXFxcIl0oLio/KVtcXFxcJ1xcXFxcXFwiXS8pWzFdO1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHBsYXkgPSAobWFpbi5pbmRleE9mKFxcXCJodHRwXFxcIikgIT0gLTEgPyBtYWluIDogbGluayArIG1haW4pXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH07XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBwbGF5O1xcbiAgICAgICAgICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuICd4NVdlYlZpZXc6Ly8nICsgKHNyY3VybClcXG4gICAgICAgICAgICAgICAgICAgICAgICB9XFxuICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHB0YWIgPT0gJ2FsaXp5Jykge1xcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBwdXJsID0gZmV0Y2goJ2h0dHBzOi8vZm91YmluLmNvbS9qaWV4aS5waHA/dXJsPScgKyBzcmN1cmwsIHt9KS5tYXRjaCgvXFxcXFxcXCJ1cmxcXFxcXFxcIjpcXFxcXFxcIiguKj8pXFxcXFxcXCIvKVsxXTtcXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gcHVybDtcXG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoLzE5anhcXFxcLnZpcHxuZnlpbmdzaGkvLnRlc3Qoc3JjdXJsKSkge1xcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBwdXJsID0gSlNPTi5wYXJzZShmZXRjaChzcmN1cmwucmVwbGFjZSgnaHR0cDovLycsICdodHRwczovLycpLCB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlYWRlcnM6IHtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxcXCJVc2VyLUFnZW50XFxcIjogTU9CSUxFX1VBXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZGlyZWN0OiBmYWxzZSxcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2l0aEhlYWRlcnM6IHRydWVcXG4gICAgICAgICAgICAgICAgICAgICAgICB9KSkuaGVhZGVycy5sb2NhdGlvblswXTtcXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoL3RpdGFuLm1ndHYvLnRlc3QocHVybCkpIHtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHB1cmwgKyAnI2lzVmlkZW89dHJ1ZSMnICsgJzt7UmVmZXJlckB3d3cubWd0di5jb20mJlVzZXItQWdlbnRATW96aWxsYS81LjB9JztcXG4gICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKC9vYmpcXFxcL3Rvcy8udGVzdChwdXJsKSkge1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gcHVybCArICcjaXNWaWRlbz10cnVlIyc7XFxuICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHB1cmxcXG4gICAgICAgICAgICAgICAgICAgICAgICB9O1xcbiAgICAgICAgICAgICAgICAgICAgfVxcbiAgICAgICAgICAgICAgICAgICAgLyplbHNlIGlmICgvemhhaWthbnlzLy50ZXN0KHNyY3VybCkpIHtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHB1cmwgPSBKU09OLnBhcnNlKGZldGNoKHNyY3VybCArICcmYXBwPTEwMDAzJmFjY291bnQ9MjcyNzc1MDI4JnBhc3N3b3JkPXFxMjcyNzc1MDI4Jywge1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVhZGVyczoge1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxcXCJVc2VyLUFnZW50XFxcIjogTU9CSUxFX1VBXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVkaXJlY3Q6IGZhbHNlLFxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2l0aEhlYWRlcnM6IHRydWVcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSkpLmhlYWRlcnMubG9jYXRpb25bMF07XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICgvdGl0YW4ubWd0di8udGVzdChwdXJsKSkge1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHB1cmwgKyAnI2lzVmlkZW89dHJ1ZSMnICsgJzt7UmVmZXJlckB3d3cubWd0di5jb20mJlVzZXItQWdlbnRATW96aWxsYS81LjB9JztcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmICgvb2JqXFxcXC90b3MvLnRlc3QocHVybCkpIHtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBwdXJsICsgJyNpc1ZpZGVvPXRydWUjJztcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBwdXJsXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH07XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSovXFxuXFxuICAgICAgICAgICAgICAgICAgICAvLy0tLS3liIblibLnur8tLS0tLy9cXG4gICAgICAgICAgICAgICAgICAgIHZhciBzY29kZSA9IEpTT04ucGFyc2UoZmV0Y2goc3JjdXJsLCB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgaGVhZGVyczoge1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcXFwiVXNlci1BZ2VudFxcXCI6IE1PQklMRV9VQVxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXFxuICAgICAgICAgICAgICAgICAgICAgICAgcmVkaXJlY3Q6IGZhbHNlLFxcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpdGhTdGF0dXNDb2RlOiB0cnVlXFxuICAgICAgICAgICAgICAgICAgICB9KSk7XFxuICAgICAgICAgICAgICAgICAgICAvL2xvZyhzY29kZSk7XFxuICAgICAgICAgICAgICAgICAgICBpZiAoc2NvZGUuc3RhdHVzQ29kZSA9PSAnMzAyJyB8fCBzY29kZS5zdGF0dXNDb2RlID09ICczMDEnKSB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHB1cmwgPSBzY29kZS5oZWFkZXJzLmxvY2F0aW9uWzBdLnJlcGxhY2UoL1xcXFxcXFxcL2csICcnKTtcXG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgLy92YXIgaHRtbCA9IHJlcXVlc3Qoc3JjdXJsKTtcXG4gICAgICAgICAgICAgICAgICAgICAgICB2YXIgaHRtbCA9IHNjb2RlLmJvZHk7XFxuICAgICAgICAgICAgICAgICAgICAgICAgLy9sb2coaHRtbCk7XFxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKC80MDQgTm90IEZvdW5kfOWkh+ahiOWQjuWPr+e7p+e7reiuv+mXri8udGVzdChodG1sKSkge1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gb3BlbnVybChzcmN1cmwuc3Vic3RyaW5nKHNyY3VybC5pbmRleE9mKCc9aHR0cCcpICsgMSkpO1xcbiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoL1xcXFxcXFwidXJsXFxcXFxcXCJcXFxcOlxcXFxcXFwiaHR0cC8udGVzdChodG1sKSkge1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgcHVybCA9IGh0bWwubWF0Y2goL1xcXFxcXFwidXJsXFxcXFxcXCI6XFxcXFxcXCIoLio/KVxcXFxcXFwiLylbMV0ucmVwbGFjZSgvXFxcXFxcXFwvZywgJycpO1xcbiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoaHRtbC5zdGFydHNXaXRoKCd7JykpIHtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHB1cmwgPSBzcmN1cmwuc3Vic3RyaW5nKHNyY3VybC5pbmRleE9mKCc9aHR0cCcpICsgMSk7XFxuICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy92YXIgcHVybCA9IHNyY3VybFxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXF1aXJlQ2FjaGUoJ2h0dHBzOi8vY29kZS5hbGl5dW4uY29tL2x6azIzNTU5L1B1YmxpY1J1bGUvcmF3L21hc3Rlci94NXJ1bGUuanMnLCAyNCk7XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB4NXJ1bGUoc3JjdXJsLCBzcmN1cmwpO1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvL3JldHVybiAneDVXZWJWaWV3Oi8vJysoc3JjdXJsKSBcXG4gICAgICAgICAgICAgICAgICAgICAgICB9XFxuICAgICAgICAgICAgICAgICAgICB9O1xcbiAgICAgICAgICAgICAgICAgICAgLy9sb2cocHVybCk7XFxuICAgICAgICAgICAgICAgICAgICBpZiAoL3RpdGFuLm1ndHYvLnRlc3QocHVybCkpIHtcXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gcHVybCArICcjaXNWaWRlbz10cnVlIycgKyAnO3tSZWZlcmVyQHd3dy5tZ3R2LmNvbSYmVXNlci1BZ2VudEBNb3ppbGxhLzUuMH0nO1xcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmICgvb2JqXFxcXC90b3MvLnRlc3QocHVybCkpIHtcXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gcHVybCArICcjaXNWaWRlbz10cnVlIyc7XFxuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBwdXJsXFxuICAgICAgICAgICAgICAgICAgICB9O1xcblxcbiAgICAgICAgICAgICAgICB9IGNhdGNoIChlKSB7XFxuICAgICAgICAgICAgICAgICAgICBpZiAoc3JjdXJsLnN1YnN0cmluZygwLCAyKSA9PSAnXFxcXC9cXFxcLycpIHtcXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gb3BlbnVybCgnaHR0cHM6JyArIHNyY3VybCk7XFxuICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKC9cXFxcPWh0dHAvLnRlc3Qoc3JjdXJsKSAmJiAvXFxcXC5odG1sfGJpbGliaWxpLy50ZXN0KHNyY3VybCkpIHtcXG4gICAgICAgICAgICAgICAgICAgICAgICAvL3JldHVybiBzcmN1cmwuc3BsaXQoJz0nKVsxXTtcXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gb3BlbnVybChzcmN1cmwuc3Vic3RyaW5nKHNyY3VybC5pbmRleE9mKCc9aHR0cCcpICsgMSkpO1xcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gb3BlbnVybChzcmN1cmwpXFxuICAgICAgICAgICAgICAgICAgICB9XFxuICAgICAgICAgICAgICAgIH1cXG4gICAgICAgICAgICAgICAgLy/liqjmgIHop6PmnpDku6PnoIHnu5PmnZ9cXG4gICAgICAgICAgICB9LCBwdGFiLCBzcmN1cmwsIG15dXJsKSxcXG4gICAgICAgICAgICBjb2xfdHlwZTogY2x0XFxuICAgICAgICB9KTtcXG4gICAgfVxcbn1cIn0se1wiY29sX3R5cGVcIjpcIm1vdmllXzNcIixcIm5hbWVcIjpcIuWIl+ihqOaooeW8j+aQnOe0ouS6jOe6p1wiLFwicGF0aFwiOlwic2VhcmVyalwiLFwicnVsZVwiOlwidmFyIHJlcyA9IHt9O1xcbnZhciBpdGVtcyA9IFtdO1xcbnZhciBub3dEYXRlID0gbmV3IERhdGUoKTtcXG52YXIgbW9udGggPSBub3dEYXRlLmdldE1vbnRoKCkgKyAxIDwgMTAgPyBcXFwiMFxcXCIgKyAobm93RGF0ZS5nZXRNb250aCgpICsgMSkgOiBub3dEYXRlLmdldE1vbnRoKCkgKyAxO1xcbnZhciBkYXkgPSBub3dEYXRlLmdldERhdGUoKSA8IDEwID8gXFxcIjBcXFwiICsgbm93RGF0ZS5nZXREYXRlKCkgOiBub3dEYXRlLmdldERhdGUoKTtcXG52YXIgZGF0ZVN0ciA9IG1vbnRoICsgJycgKyBkYXk7XFxudmFyIHNwbCA9IGdldFJlc0NvZGUoKS5zcGxpdCgnI3gjJyk7XFxudmFyIHR5cGV0ID0gc3BsWzNdO1xcbnZhciB0ZG9taW4gPSBzcGxbMl07XFxudmFyIGtleSA9IHNwbFs0XTtcXG5cXG5pZiAoL3ZpcG12Ly50ZXN0KHRkb21pbikpIHtcXG4gICAgdmFyIGJodG1sID0gcmVxdWVzdChzcGxbMV0pO1xcbn0gZWxzZSB7XFxuICAgIHZhciBiaHRtbCA9IGZldGNoKHNwbFsxXSwge1xcbiAgICAgICAgaGVhZGVyczoge1xcbiAgICAgICAgICAgIFxcXCJVc2VyLUFnZW50XFxcIjogdGRvbWluLmluZGV4T2YoXFxcIm1vZ2FpX2FwaVxcXCIpICE9IC0xID8gXFxcIkRhcnQvMi4xNCAoZGFydDppbylcXFwiIDogXFxcIm9raHR0cC80LjEuMFxcXCJcXG4gICAgICAgIH1cXG4gICAgfSk7XFxufVxcbnRyeSB7XFxuICAgIGJodG1sID0gYmh0bWwuc3RhcnRzV2l0aCgnXFxcXHJcXFxcbicpID8gYmh0bWwucmVwbGFjZSgnXFxcXHJcXFxcbicsICcnKSA6IGJodG1sO1xcbn0gY2F0Y2ggKGUpIHt9XFxuaWYgKC9idHdhZi8udGVzdChiaHRtbCkpIHtcXG4gICAgLypcXG4gICAgICAgICAgICAgICAgaXRlbXMucHVzaCh7XFxuICAgICAgICAgICAgICAgICAgICB0aXRsZTon5pyJ5a6d5aGU6aqM6K+B77yM54K55Ye76K6/6Zeu5Y6f572R6aG1JyxcXG4gICAgICAgICAgICAgICAgICAgIHVybDogc3BsWzFdICsgYEBsYXp5UnVsZT0uanM6aW5wdXQuc3BsaXQoJzsnKVswXWAsXFxuICAgICAgICAgICAgICAgICAgICBjb2xfdHlwZTogJ3RleHRfMSdcXG4gICAgICAgICAgICAgICAgfSk7XFxuICAgICAgICAgICAgICAgICovXFxuXFxuICAgIGJodG1sID0gZmV0Y2goc3BsWzFdICsgJyZidHdhZicgKyBiaHRtbC5tYXRjaCgvYnR3YWYoLio/KVxcXFxcXFwiLylbMV0sIHt9KTtcXG5cXG59XFxuXFxuaWYgKGJodG1sID09IFxcXCJcXFwiIHx8IGJodG1sID09IG51bGwgfHwgYmh0bWwuc3Vic3RyaW5nKDAsIDUpID09ICdlcnJvcicgfHwgIWJodG1sLnN0YXJ0c1dpdGgoJ3snKSkge1xcbiAgICBpdGVtcy5wdXNoKHtcXG4gICAgICAgIHRpdGxlOiAn5pyq5pCc57Si5Yiw55u45YWz6LWE5rqQ77yM54K55Ye76K6/6Zeu5Y6f572R6aG1JyxcXG4gICAgICAgIHVybDogc3BsWzFdICsgYEBsYXp5UnVsZT0uanM6aW5wdXQuc3BsaXQoJzsnKVswXWAsXFxuICAgICAgICBjb2xfdHlwZTogJ3RleHRfMSdcXG4gICAgfSk7XFxufSBlbHNlIGlmIChiaHRtbC5sZW5ndGggPCA4MCkge1xcbiAgICBpdGVtcy5wdXNoKHtcXG4gICAgICAgIHRpdGxlOiAn6L+U5Zue5pWw5o2u5LiN5a6M5pW077yM54K55Ye76K6/6Zeu5Y6f572R6aG1JyxcXG4gICAgICAgIHVybDogc3BsWzFdICsgYEBsYXp5UnVsZT0uanM6aW5wdXQuc3BsaXQoJzsnKVswXWAsXFxuICAgICAgICBjb2xfdHlwZTogJ3RleHRfMSdcXG4gICAgfSk7XFxufSBlbHNlIHtcXG4gICAgdmFyIGh0bWwgPSBKU09OLnBhcnNlKGJodG1sKTtcXG4gICAgLy9sb2coc3BsWzFdKTtcXG4gICAgaWYgKGh0bWwubGlzdCkge1xcbiAgICAgICAgdmFyIGxpc3QgPSBodG1sLmxpc3Q7XFxuICAgIH0gZWxzZSBpZiAoaHRtbC5kYXRhLmxpc3QpIHtcXG4gICAgICAgIHZhciBsaXN0ID0gaHRtbC5kYXRhLmxpc3Q7XFxuICAgIH0gZWxzZSBpZiAoaHRtbC5kYXRhKSB7XFxuICAgICAgICB2YXIgbGlzdCA9IGh0bWwuZGF0YTtcXG4gICAgfVxcblxcbiAgICBpZiAobGlzdC5sZW5ndGggPCAxKSB7XFxuICAgICAgICBpdGVtcy5wdXNoKHtcXG4gICAgICAgICAgICB0aXRsZTogJ+acquaQnOe0ouWIsO+8jOeCueWHu+iuv+mXruWOn+e9kemhtScsXFxuICAgICAgICAgICAgdXJsOiBzcGxbMV0gKyBgQGxhenlSdWxlPS5qczppbnB1dC5zcGxpdCgnOycpWzBdYCxcXG4gICAgICAgICAgICBjb2xfdHlwZTogJ3RleHRfMSdcXG4gICAgICAgIH0pO1xcbiAgICB9IGVsc2Uge1xcbiAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBsaXN0Lmxlbmd0aDsgaSsrKSB7XFxuXFxuICAgICAgICAgICAgaWYgKC9UVi8udGVzdCh0eXBldCkpIHtcXG4gICAgICAgICAgICAgICAgdmFyIHRpdGxlID0gbGlzdFtpXS50aXRsZTtcXG4gICAgICAgICAgICAgICAgdmFyIHBpYyA9IGxpc3RbaV0ucGljO1xcbiAgICAgICAgICAgICAgICAvL3ZhciB2aWQ9dGRvbWluKycvZGV0YWlsP3ZvZF9pZD0nK2xpc3RbaV0ubmV4dGxpbmsrJyZyZWxfbGltaXQ9MTAnO1xcbiAgICAgICAgICAgICAgICB2YXIgdmlkID0gbGlzdFtpXS5uZXh0bGluaztcXG4gICAgICAgICAgICAgICAgdmFyIHJlbSA9IGxpc3RbaV0uc3RhdGU7XFxuICAgICAgICAgICAgICAgIC8vdmFyIGNvbj1saXN0W2ldLnN0YXRlO1xcbiAgICAgICAgICAgIH0gZWxzZSB7XFxuICAgICAgICAgICAgICAgIGlmICh0ZG9taW4uaW5kZXhPZignYXBpLnBocC9hcHAvJykgIT0gLTEpIHtcXG4gICAgICAgICAgICAgICAgICAgIHZhciB0aXRsZSA9IGxpc3RbaV0udm9kX25hbWU7XFxuICAgICAgICAgICAgICAgICAgICB2YXIgcGljID0gbGlzdFtpXS52b2RfcGljO1xcbiAgICAgICAgICAgICAgICAgICAgaWYgKC9mYW50dWFuLy50ZXN0KHRkb21pbikpIHtcXG4gICAgICAgICAgICAgICAgICAgICAgICB2YXIgdmlkID0gJ2h0dHBzOi8vZmFudHVhbi53a2ZpbGUuY29tL2FwaS5waHAvYXBwL3ZpZGVvX2RldGFpbD9pZD0nICsgbGlzdFtpXS52b2RfaWQgKyAnJnRva2VuPSc7XFxuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhciB2aWQgPSB0ZG9taW4gKyAndmlkZW9fZGV0YWlsP2lkPScgKyBsaXN0W2ldLnZvZF9pZCArICcmdG9rZW49JztcXG4gICAgICAgICAgICAgICAgICAgIH1cXG4gICAgICAgICAgICAgICAgICAgIHZhciByZW0gPSBsaXN0W2ldLnZvZF9yZW1hcmtzO1xcbiAgICAgICAgICAgICAgICAgICAgLy92YXIgY29uPWxpc3RbaV0udHlwZS50eXBlX2RlcztcXG4gICAgICAgICAgICAgICAgfSBlbHNlIGlmICh0ZG9taW4uaW5kZXhPZigneGdhcHAucGhwL3YxLycpICE9IC0xKSB7XFxuICAgICAgICAgICAgICAgICAgICB2YXIgdGl0bGUgPSBsaXN0W2ldLnZvZF9uYW1lO1xcbiAgICAgICAgICAgICAgICAgICAgdmFyIHBpYyA9IGxpc3RbaV0udm9kX3BpYztcXG4gICAgICAgICAgICAgICAgICAgIHZhciB2aWQgPSB0ZG9taW4gKyAndmlkZW9fZGV0YWlsP2lkPScgKyBsaXN0W2ldLnZvZF9pZDtcXG4gICAgICAgICAgICAgICAgICAgIHZhciByZW0gPSBsaXN0W2ldLnZvZF9yZW1hcmtzO1xcbiAgICAgICAgICAgICAgICAgICAgLy92YXIgY29uPWxpc3RbaV0udHlwZS50eXBlX2RlcztcXG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcXG4gICAgICAgICAgICAgICAgICAgIHZhciB0aXRsZSA9IGxpc3RbaV0udm9kX25hbWU7XFxuICAgICAgICAgICAgICAgICAgICB2YXIgcGljID0gbGlzdFtpXS52b2RfcGljO1xcbiAgICAgICAgICAgICAgICAgICAgaWYgKC9pb3Blbnl1bi8udGVzdCh0ZG9taW4pKSB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHZpZCA9IHRkb21pbiArICcvZGV0YWlsSUQ/dm9kX2lkPScgKyBsaXN0W2ldLnZvZF9pZCArICcmdG9rZW49JztcXG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHZpZCA9IHRkb21pbiArICcvZGV0YWlsP2tleT0nICsgZGF0ZVN0ciArICcmdm9kX2lkPScgKyBsaXN0W2ldLnZvZF9pZCArICcmdG9rZW49JztcXG4gICAgICAgICAgICAgICAgICAgIH1cXG4gICAgICAgICAgICAgICAgICAgIHZhciByZW0gPSBsaXN0W2ldLnZvZF9yZW1hcmtzO1xcbiAgICAgICAgICAgICAgICAgICAgLy92YXIgY29uPWxpc3RbaV0udHlwZS50eXBlX2RlcztcXG4gICAgICAgICAgICAgICAgfVxcbiAgICAgICAgICAgIH1cXG5cXG4gICAgICAgICAgICBpdGVtcy5wdXNoKHtcXG4gICAgICAgICAgICAgICAgdGl0bGU6IHRpdGxlLnJlcGxhY2Uoa2V5LCAn4oCc4oCcJyArIGtleSArICfigJ3igJ0nKSxcXG4gICAgICAgICAgICAgICAgcGljX3VybDogcGljICsgJ0BSZWZlcmVyPScsXFxuICAgICAgICAgICAgICAgIHVybDogJCh0ZG9taW4uaW5kZXhPZihcXFwibW9nYWlfYXBpXFxcIikgIT0gLTEgPyB2aWQgKyAnO2dldDt1dGYtODt7VXNlci1BZ2VudEBEYXJ0LzIuMTQgKGRhcnQ6aW8pfScgOiB2aWQgKyAnO2dldDt1dGYtODt7VXNlci1BZ2VudEBva2h0dHAvNC4xLjB9JykucnVsZSgodHlwZXQpID0+IHtcXG4gICAgICAgICAgICAgICAgICAgIHZhciByZXMgPSB7fTtcXG4gICAgICAgICAgICAgICAgICAgIHZhciBpdGVtcyA9IFtdO1xcbiAgICAgICAgICAgICAgICAgICAgdmFyIGh0bWwgPSBKU09OLnBhcnNlKGdldFJlc0NvZGUoKSk7XFxuICAgICAgICAgICAgICAgICAgICBpdGVtcy5wdXNoKHtcXG4gICAgICAgICAgICAgICAgICAgICAgICB0aXRsZTogJycsXFxuICAgICAgICAgICAgICAgICAgICAgICAgZGVzYzogJzI1NSYmZmxvYXQnLFxcbiAgICAgICAgICAgICAgICAgICAgICAgIHVybDogJycsXFxuICAgICAgICAgICAgICAgICAgICAgICAgY29sX3R5cGU6ICd4NV93ZWJ2aWV3X3NpbmdsZSdcXG4gICAgICAgICAgICAgICAgICAgIH0pO1xcbiAgICAgICAgICAgICAgICAgICAgcmVmcmVzaFg1V2ViVmlldygnJyk7XFxuICAgICAgICAgICAgICAgICAgICB2YXIgbXl1cmwgPSBNWV9VUkwubWF0Y2goLyhbXFxcXFNdKj86XFxcXC9cXFxcL1tcXFxcU10qPylcXFxcLy8pWzFdO1xcbiAgICAgICAgICAgICAgICAgICAgaWYgKC9UVi8udGVzdCh0eXBldCkpIHtcXG4gICAgICAgICAgICAgICAgICAgICAgICBldmFsKEpTT04ucGFyc2UoZmV0Y2goJ2hpa2VyOi8vcGFnZS90dm1vdmxpc3QnLCB7fSkpLnJ1bGUpO1xcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcXG4gICAgICAgICAgICAgICAgICAgICAgICBldmFsKEpTT04ucGFyc2UoZmV0Y2goJ2hpa2VyOi8vcGFnZS9hcHBtb3ZsaXN0Jywge30pKS5ydWxlKTtcXG4gICAgICAgICAgICAgICAgICAgIH1cXG4gICAgICAgICAgICAgICAgICAgIHJlcy5kYXRhID0gaXRlbXM7XFxuICAgICAgICAgICAgICAgICAgICBzZXRIb21lUmVzdWx0KHJlcyk7XFxuICAgICAgICAgICAgICAgIH0sIHR5cGV0KSxcXG4gICAgICAgICAgICAgICAgLy9jb250ZW50OnJlbSxcXG4gICAgICAgICAgICAgICAgZGVzYzogcmVtLFxcbiAgICAgICAgICAgICAgICBjb2xfdHlwZTogJ21vdmllXzFfdmVydGljYWxfcGljJ1xcbiAgICAgICAgICAgIH0pO1xcbiAgICAgICAgfSAvL2ZvciBpXFxuICAgIH0gLy9lbHNlIGxpc3QubGVuZ3RoXFxufVxcblxcbnJlcy5kYXRhID0gaXRlbXM7XFxuc2V0SG9tZVJlc3VsdChyZXMpO1wifSx7XCJjb2xfdHlwZVwiOlwibW92aWVfM1wiLFwibmFtZVwiOlwiQVBQ6aaW6aG15YiX6KGoXCIsXCJwYXRoXCI6XCJhcHBpbmRleGRhdGFcIixcInJ1bGVcIjpcImlmIChodG1sLmxpc3QpIHtcXG4gICAgdmFyIGxpc3QgPSBodG1sLmxpc3Q7XFxufSBlbHNlIGlmIChodG1sLmRhdGEgJiYgaHRtbC5kYXRhLmxpc3QpIHtcXG4gICAgdmFyIGxpc3QgPSBodG1sLmRhdGEubGlzdDtcXG59IGVsc2Uge1xcbiAgICB2YXIgbGlzdCA9IGh0bWwuZGF0YTtcXG59XFxuXFxuZm9yICh2YXIgaSA9IDA7IGkgPCBsaXN0Lmxlbmd0aDsgaSsrKSB7XFxuICAgIGlmIChsaXN0W2ldLnZvZF9saXN0KSB7XFxuICAgICAgICB2YXIgbGlzdHMgPSBsaXN0W2ldLnZvZF9saXN0O1xcbiAgICAgICAgdmFyIHR5cGVuYW1lID0gbGlzdFtpXS52b2RfdHlwZV9uYW1lO1xcbiAgICB9IGVsc2Uge1xcbiAgICAgICAgdmFyIGxpc3RzID0gbGlzdFtpXS52bGlzdDtcXG4gICAgICAgIHZhciB0eXBlbmFtZSA9IGxpc3RbaV0udHlwZV9uYW1lXFxuICAgIH1cXG4gICAgaXRlbXMucHVzaCh7XFxuICAgICAgICB0aXRsZTogdHlwZW5hbWUsXFxuICAgICAgICBjb2xfdHlwZTogJ3RleHRfMSdcXG5cXG4gICAgfSk7XFxuXFxuICAgIGZvciAodmFyIGogPSAwOyBqIDwgbGlzdHMubGVuZ3RoOyBqKyspIHtcXG4gICAgICAgIHZhciB0aXRsZSA9IGxpc3RzW2pdLnZvZF9uYW1lO1xcbiAgICAgICAgdmFyIGltZyA9IGxpc3RzW2pdLnZvZF9waWM7XFxuICAgICAgICB2YXIgdXJsID0gbGlzdHNbal0udm9kX2lkO1xcbiAgICAgICAgdmFyIGRlc2MgPSBsaXN0c1tqXS52b2RfcmVtYXJrcztcXG4gICAgICAgIHZhciBub3dEYXRlID0gbmV3IERhdGUoKTtcXG4gICAgICAgIHZhciBtb250aCA9IG5vd0RhdGUuZ2V0TW9udGgoKSArIDEgPCAxMCA/IFxcXCIwXFxcIiArIChub3dEYXRlLmdldE1vbnRoKCkgKyAxKSA6IG5vd0RhdGUuZ2V0TW9udGgoKSArIDE7XFxuICAgICAgICB2YXIgZGF5ID0gbm93RGF0ZS5nZXREYXRlKCkgPCAxMCA/IFxcXCIwXFxcIiArIG5vd0RhdGUuZ2V0RGF0ZSgpIDogbm93RGF0ZS5nZXREYXRlKCk7XFxuICAgICAgICB2YXIgZGF0ZVN0ciA9IG1vbnRoICsgJycgKyBkYXk7XFxuICAgICAgICBpZiAoaHRtbC5saXN0KSB7XFxuICAgICAgICAgICAgdmFyIGxpbmsgPSBtdXJsICsgJ3ZpZGVvX2RldGFpbD9pZD0nICsgdXJsICsgJyZ0b2tlbj07Z2V0O3V0Zi04O3tVc2VyLUFnZW50QERhcnQvMi4xNCAoZGFydDppbyl9JztcXG4gICAgICAgIH0gZWxzZSBpZiAoaHRtbC5kYXRhICYmIGh0bWwuZGF0YS5saXN0KSB7XFxuICAgICAgICAgICAgaWYgKG11cmwuc2VhcmNoKC9tb2dhaV9hcGkvKSAhPSAtMSkge1xcbiAgICAgICAgICAgICAgICB2YXIgbGluayA9IG11cmwgKyAnL2RldGFpbD9rZXk9JyArIGRhdGVTdHIgKyAnJnZvZF9pZD0nICsgdXJsICsgJyZyZWxfbGltaXQ9MTA7Z2V0O3V0Zi04O3tVc2VyLUFnZW50QERhcnQvMi4xNCAoZGFydDppbyl9JztcXG4gICAgICAgICAgICB9IGVsc2Uge1xcbiAgICAgICAgICAgICAgICB2YXIgbGluayA9IG11cmwgKyAnL2RldGFpbD9rZXk9JyArIGRhdGVTdHIgKyAnJnZvZF9pZD0nICsgdXJsICsgJyZyZWxfbGltaXQ9MTA7Z2V0O3V0Zi04O3tVc2VyLUFnZW50QG9raHR0cC80LjEuMH0nO1xcbiAgICAgICAgICAgIH1cXG4gICAgICAgIH0gZWxzZSB7XFxuICAgICAgICAgICAgdmFyIGxpbmsgPSBtdXJsICsgJ3ZpZGVvX2RldGFpbD9pZD0nICsgdXJsICsgJyZ0b2tlbj07Z2V0O3V0Zi04O3tVc2VyLUFnZW50QERhcnQvMi4xNCAoZGFydDppbyl9JztcXG4gICAgICAgIH07XFxuICAgICAgICBpZiAoL2ZhbnR1YW4vLnRlc3QobXVybCkpIHtcXG4gICAgICAgICAgICB2YXIgbGluayA9ICdodHRwczovL2ZhbnR1YW4ud2tmaWxlLmNvbS9hcGkucGhwL2FwcC92aWRlb19kZXRhaWw/aWQ9JyArIHVybCArICcmdG9rZW49O2dldDt1dGYtODt7VXNlci1BZ2VudEBEYXJ0LzIuMTQgKGRhcnQ6aW8pfSc7XFxuICAgICAgICB9IGVsc2UgaWYgKC9pb3Blbnl1bi8udGVzdChtdXJsKSkge1xcbiAgICAgICAgICAgIHZhciBsaW5rID0gbXVybCArICcvZGV0YWlsSUQ/dm9kX2lkPScgKyB1cmwgKyAnJnJlbF9saW1pdD0xMDtnZXQ7dXRmLTg7e1VzZXItQWdlbnRARGFydC8yLjE0IChkYXJ0OmlvKX0nO1xcbiAgICAgICAgfSBlbHNlIGlmICgvZGlqaWF4aWEvLnRlc3QobXVybCkpIHtcXG4gICAgICAgICAgICB2YXIgbGluayA9ICdodHRwOi8vd3d3LmRpamlheGlhLmNvbS9hcGkucGhwL2FwcC92aWRlb19kZXRhaWw/aWQ9JyArIHVybDtcXG4gICAgICAgIH1cXG4gICAgICAgIGl0ZW1zLnB1c2goe1xcbiAgICAgICAgICAgIHRpdGxlOiB0aXRsZSxcXG4gICAgICAgICAgICBwaWNfdXJsOiBpbWcgKyAnQFJlZmVyZXI9JyxcXG4gICAgICAgICAgICB1cmw6ICQobGluaykucnVsZSgoKSA9PiB7XFxuICAgICAgICAgICAgICAgIHZhciByZXMgPSB7fTtcXG4gICAgICAgICAgICAgICAgdmFyIGl0ZW1zID0gW107XFxuICAgICAgICAgICAgICAgIGl0ZW1zLnB1c2goe1xcbiAgICAgICAgICAgICAgICAgICAgdGl0bGU6ICcnLFxcbiAgICAgICAgICAgICAgICAgICAgZGVzYzogJzI1NSYmZmxvYXQnLFxcbiAgICAgICAgICAgICAgICAgICAgdXJsOiAnJyxcXG4gICAgICAgICAgICAgICAgICAgIGNvbF90eXBlOiAneDVfd2Vidmlld19zaW5nbGUnXFxuICAgICAgICAgICAgICAgIH0pO1xcbiAgICAgICAgICAgICAgICByZWZyZXNoWDVXZWJWaWV3KCcnKTtcXG4gICAgICAgICAgICAgICAgdmFyIGh0bWwgPSBKU09OLnBhcnNlKGdldFJlc0NvZGUoKSk7XFxuICAgICAgICAgICAgICAgIHZhciBteXVybCA9IE1ZX1VSTC5tYXRjaCgvKFtcXFxcU10qPzpcXFxcL1xcXFwvW1xcXFxTXSo/KVxcXFwvLylbMV07XFxuICAgICAgICAgICAgICAgIHRyeSB7XFxuICAgICAgICAgICAgICAgICAgICBldmFsKEpTT04ucGFyc2UoZmV0Y2goJ2hpa2VyOi8vcGFnZS9hcHBtb3ZsaXN0Jywge30pKS5ydWxlKTtcXG4gICAgICAgICAgICAgICAgfSBjYXRjaCAoZSkge31cXG4gICAgICAgICAgICAgICAgcmVzLmRhdGEgPSBpdGVtcztcXG4gICAgICAgICAgICAgICAgc2V0SG9tZVJlc3VsdChyZXMpO1xcbiAgICAgICAgICAgIH0pLFxcbiAgICAgICAgICAgIGRlc2M6IGRlc2MsXFxuICAgICAgICAgICAgY29sX3R5cGU6ICdtb3ZpZV8zX21hcnF1ZWUnXFxuICAgICAgICB9KTtcXG4gICAgfVxcbn1cIn0se1wiY29sX3R5cGVcIjpcIm1vdmllXzNcIixcIm5hbWVcIjpcIummluasoeWvvOWFpeetieW+hVwiLFwicGF0aFwiOlwid2FpdFwiLFwicnVsZVwiOlwiZnVuY3Rpb24gY2FuVXNlKCkge1xcbiAgICAvKlxcbiAgICAvL+WmguaenOabtOaWsOS6huinhOWImeS5n+imgemZkOa1ge+8jOWPr+S7peS/ruaUuWtleVxcbiAgICBsZXQga2V5ID0gXFxcImxvY2s0XFxcIlxcbiAgICAvL+etieW+heWIhumSn+aVsFxcbiAgICBsZXQgd2FpdE1pbiA9IDEwXFxuICAgIFxcbiAgICBsZXQgbWluID0gTWF0aC5yb3VuZChNYXRoLnJhbmRvbSgpICogMTAwMCAqIDYwICogd2FpdE1pbilcXG4gICAgbGV0IHVubG9jayA9IG5ldyBEYXRlKCkuZ2V0VGltZSgpICsgbWluO1xcbiAgICBsZXQgdGltZSA9IGdldEl0ZW0oa2V5LCBcXFwiXFxcIik7XFxuICAgIGlmICh0aW1lID09IFxcXCJcXFwiKSB7XFxuICAgICAgICBzZXRJdGVtKGtleSwgXFxcIlxcXCIgKyB1bmxvY2spXFxuICAgICAgICBsZXQgc3QgPSBuZXcgRGF0ZSh1bmxvY2spLnRvTG9jYWxlU3RyaW5nKCkucmVwbGFjZSgvOlxcXFxkezEsMn0kLywgJyAnKTtcXG4gICAgICAgIGxldCBtc2cgPSBcXFwi6L+Z5piv5oKo56ys5LiA5qyh5L2/55So6K+l54mI5pys6KeE5YiZ77yM5Li66YG/5YWN56ys5LiA5qyh5a+85YWl5L2/55So5Lq65pWw5r+A5aKe77yM6KeE5YiZ5bCG5ZyoXFxcIiArIHN0ICsgXFxcIuino+mUgeS9v+eUqOOAgjxicj48YnI+5aW96KeE5YiZ5LiN5oCV5pma77yM6K+36ICQ5b+D562J5b6F77yB6K+l5o+Q56S65LuF5Zyo56ys5LiA5qyh5a+85YWl77yI5pu05paw77yJ5pe25Ye6546w77yM5ZCO57ut5L2/55So6L+H56iL5Lit5LiN5Lya5Ye6546w77yBXFxcIlxcbiAgICAgICAgc2V0UmVzdWx0KFt7XFxuICAgICAgICAgICAgdGl0bGU6IG1zZyxcXG4gICAgICAgICAgICBjb2xfdHlwZTogXFxcInJpY2hfdGV4dFxcXCJcXG4gICAgICAgIH1dKVxcbiAgICAgICAgcmV0dXJuIGZhbHNlXFxuICAgIH0gZWxzZSBpZiAocGFyc2VJbnQodGltZSkgPCBuZXcgRGF0ZSgpLmdldFRpbWUoKSkge1xcbiAgICAgICAgcmV0dXJuIHRydWVcXG4gICAgfSBlbHNlIHtcXG4gICAgICAgIGxldCBzdCA9IG5ldyBEYXRlKHBhcnNlSW50KHRpbWUpKS50b0xvY2FsZVN0cmluZygpLnJlcGxhY2UoLzpcXFxcZHsxLDJ9JC8sICcgJyk7XFxuICAgICAgICBsZXQgbXNnID0gXFxcIuS4uumBv+WFjeS9v+eUqOS6uuaVsOa/gOWinu+8jOinhOWImeWwhuWcqFxcXCIgKyBzdCArIFxcXCLop6PplIHkvb/nlKjjgII8YnI+PGJyPuWlveinhOWImeS4jeaAleaZmu+8jOivt+iAkOW/g+etieW+he+8geivpeaPkOekuuS7heWcqOesrOS4gOasoeWvvOWFpe+8iOabtOaWsO+8ieaXtuWHuueOsO+8jOWQjue7reS9v+eUqOi/h+eoi+S4reS4jeS8muWHuueOsO+8gVxcXCJcXG4gICAgICAgIHNldFJlc3VsdChbe1xcbiAgICAgICAgICAgIHRpdGxlOiBtc2csXFxuICAgICAgICAgICAgY29sX3R5cGU6IFxcXCJyaWNoX3RleHRcXFwiXFxuICAgICAgICB9XSlcXG4gICAgICAgIHJldHVybiBmYWxzZVxcbiAgICB9Ki9cXG4gICAgcmV0dXJuIHRydWVcXG59XFxuJC5leHBvcnRzID0gY2FuVXNlKCk7XCJ9LHtcImNvbF90eXBlXCI6XCJtb3ZpZV8zXCIsXCJuYW1lXCI6XCLmlq3lv7Xmj5Lku7bosIPnlKhcIixcInBhdGhcIjpcImRucGx1Z2luXCIsXCJydWxlXCI6XCJ2YXIgZG5lbiA9IEpTT04ucGFyc2UoZmV0Y2goJ2hpa2VyOi8vZmlsZXMvcnVsZXMveHlxL2FwcG1zZXQuanNvbicsIHt9KSkuZW5EbjtcXG5pdGVtcy5wdXNoKHtcXG4gICAgdGl0bGU6ICfmlq3mj5LvvJonICsgKGRuZW4gPT0gJzEnID8gJ+KAnOKAnOKcheKAneKAnScgOiAn4p2OJyksXFxuICAgIHVybDogJCgnJykubGF6eVJ1bGUoKGRuZW4pID0+IHtcXG4gICAgICAgIGlmIChkbmVuID09ICcxJykge1xcbiAgICAgICAgICAgIHZhciBmaWxlVXJsID0gZmV0Y2goXFxcImhpa2VyOi8vZmlsZXMvcnVsZXMveHlxL2FwcG1zZXQuanNvblxcXCIsIHt9KS5yZXBsYWNlKCdcXFxcXFxcImVuRG5cXFxcXFxcIjpcXFxcXFxcIjFcXFxcXFxcIicsICdcXFxcXFxcImVuRG5cXFxcXFxcIjpcXFxcXFxcIjBcXFxcXFxcIicpO1xcbiAgICAgICAgICAgIHdyaXRlRmlsZShcXFwiaGlrZXI6Ly9maWxlcy9ydWxlcy94eXEvYXBwbXNldC5qc29uXFxcIiwgZmlsZVVybCk7XFxuICAgICAgICAgICAgcmVmcmVzaFBhZ2UoZmFsc2UpO1xcbiAgICAgICAgICAgIHJldHVybiAndG9hc3Q6Ly/lt7LnpoHnlKjmlq3mj5LosIPnlKjvvIEnO1xcbiAgICAgICAgfSBlbHNlIHtcXG4gICAgICAgICAgICB2YXIgZmlsZVVybCA9IGZldGNoKFxcXCJoaWtlcjovL2ZpbGVzL3J1bGVzL3h5cS9hcHBtc2V0Lmpzb25cXFwiLCB7fSkucmVwbGFjZSgnXFxcXFxcXCJlbkRuXFxcXFxcXCI6XFxcXFxcXCIwXFxcXFxcXCInLCAnXFxcXFxcXCJlbkRuXFxcXFxcXCI6XFxcXFxcXCIxXFxcXFxcXCInKTtcXG4gICAgICAgICAgICAvL2xvZyhmaWxlVXJsKTtcXG4gICAgICAgICAgICB3cml0ZUZpbGUoXFxcImhpa2VyOi8vZmlsZXMvcnVsZXMveHlxL2FwcG1zZXQuanNvblxcXCIsIGZpbGVVcmwpO1xcbiAgICAgICAgICAgIHJlZnJlc2hQYWdlKGZhbHNlKTtcXG4gICAgICAgICAgICByZXR1cm4gJ3RvYXN0Oi8v5bey5byA5ZCv5pat5o+S6LCD55So77yBJ1xcbiAgICAgICAgfVxcbiAgICB9LCBkbmVuKSxcXG4gICAgY29sX3R5cGU6ICdzY3JvbGxfYnV0dG9uJ1xcbn0pO1xcbmlmIChkbmVuID09ICcxJykge1xcbiAgICBpdGVtcy5wdXNoKHtcXG4gICAgICAgIHRpdGxlOiAn57q/6Lev6YWN572uJyxcXG4gICAgICAgIHVybDogXFxcImhpa2VyOi8vZW1wdHkjbm9SZWNvcmRIaXN0b3J5I0BydWxlPWpzOnRoaXMuZD1bXTtyZXF1aXJlKCdodHRwczovL2dpdGVhLmNvbS9BSTk1Ny9IaWtlci9yYXcvbS92L1JvdXRlLmpzJyk7Um91dGUuc2V0UGFyc2UoKTtzZXRSZXN1bHQoZCk7XFxcIixcXG4gICAgICAgIGNvbF90eXBlOiAnc2Nyb2xsX2J1dHRvbidcXG4gICAgfSk7XFxuICAgIGl0ZW1zLnB1c2goe1xcbiAgICAgICAgdGl0bGU6ICfop6PmnpDnrqHnkIYnLFxcbiAgICAgICAgdXJsOiBcXFwiaGlrZXI6Ly9lbXB0eSNub1JlY29yZEhpc3RvcnkjQHJ1bGU9anM6dGhpcy5kPVtdO3JlcXVpcmUoJ2h0dHBzOi8vZ2l0ZWEuY29tL0FJOTU3L0hpa2VyL3Jhdy9tL3YvanhJdGVtLmpzJyk7anhJdGVtLmp4TGlzdCgpO3NldFJlc3VsdChkKVxcXCIsXFxuICAgICAgICBjb2xfdHlwZTogJ3Njcm9sbF9idXR0b24nXFxuICAgIH0pO1xcbn1cIn0se1wiY29sX3R5cGVcIjpcIm1vdmllXzNcIixcIm5hbWVcIjpcIuiuvue9rumhteS7o+eggVwiLFwicGF0aFwiOlwic2V0dGluZ1wiLFwicnVsZVwiOlwidmFyIGQgPSBbXTtcXG52YXIgc2V0anNvbiA9IEpTT04ucGFyc2UoZmV0Y2goJ2hpa2VyOi8vZmlsZXMvcnVsZXMveHlxL2FwcG1zZXQuanNvbicsIHt9KSk7XFxudmFyIHNzbWQgPSBzZXRqc29uLnNzbW9kZTtcXG52YXIgc3N4YyA9IHNldGpzb24uc3Njb3VudDtcXG5kLnB1c2goe1xcbiAgICB0aXRsZTogJ+aQnOe0ouiuvue9ricsXFxuICAgIGNvbF90eXBlOiAndGV4dF9jZW50ZXJfMSdcXG59KTtcXG5kLnB1c2goe1xcbiAgICB0aXRsZTogJ+W9k+WJje+8micgKyAnKCcgKyAoc3NtZCA9PSAxID8gJ+iBmuWQiOe7k+aenCcgOiAn5byV5pOO5YiX6KGoJykgKyAnKScsXFxuICAgIHVybDogJCgnaGlrZXI6Ly9lbXB0eScpLmxhenlSdWxlKCgpID0+IHtcXG4gICAgICAgIHZhciBtZCA9IEpTT04ucGFyc2UoZmV0Y2goJ2hpa2VyOi8vZmlsZXMvcnVsZXMveHlxL2FwcG1zZXQuanNvbicsIHt9KSkuc3Ntb2RlO1xcblxcbiAgICAgICAgaWYgKG1kID09IDEpIHtcXG4gICAgICAgICAgICB2YXIgZmlsZVVybCA9IGZldGNoKFxcXCJoaWtlcjovL2ZpbGVzL3J1bGVzL3h5cS9hcHBtc2V0Lmpzb25cXFwiLCB7fSkucmVwbGFjZSgnXFxcXFxcXCJzc21vZGVcXFxcXFxcIjpcXFxcXFxcIjFcXFxcXFxcIicsICdcXFxcXFxcInNzbW9kZVxcXFxcXFwiOlxcXFxcXFwiMFxcXFxcXFwiJyk7XFxuICAgICAgICAgICAgd3JpdGVGaWxlKFxcXCJoaWtlcjovL2ZpbGVzL3J1bGVzL3h5cS9hcHBtc2V0Lmpzb25cXFwiLCBmaWxlVXJsKTtcXG4gICAgICAgICAgICBiYWNrKHRydWUpO1xcbiAgICAgICAgICAgIHJldHVybiAndG9hc3Q6Ly/liIfmjaLkuLrmkJzntKLlvJXmk47liJfooajljZXpgInmqKHlvI/miJDlip/vvIEnO1xcbiAgICAgICAgfSBlbHNlIHtcXG4gICAgICAgICAgICB2YXIgZmlsZVVybCA9IGZldGNoKFxcXCJoaWtlcjovL2ZpbGVzL3J1bGVzL3h5cS9hcHBtc2V0Lmpzb25cXFwiLCB7fSkucmVwbGFjZSgnXFxcXFxcXCJzc21vZGVcXFxcXFxcIjpcXFxcXFxcIjBcXFxcXFxcIicsICdcXFxcXFxcInNzbW9kZVxcXFxcXFwiOlxcXFxcXFwiMVxcXFxcXFwiJyk7XFxuICAgICAgICAgICAgLy9sb2coZmlsZVVybCk7XFxuICAgICAgICAgICAgd3JpdGVGaWxlKFxcXCJoaWtlcjovL2ZpbGVzL3J1bGVzL3h5cS9hcHBtc2V0Lmpzb25cXFwiLCBmaWxlVXJsKTtcXG4gICAgICAgICAgICBiYWNrKHRydWUpO1xcbiAgICAgICAgICAgIHJldHVybiAndG9hc3Q6Ly/liIfmjaLkuLrogZrlkIjmkJzntKLmqKHlvI/miJDlip/vvIEnXFxuICAgICAgICB9XFxuICAgIH0pLFxcbiAgICBjb2xfdHlwZTogJ3RleHRfMidcXG59KVxcbmQucHVzaCh7XFxuICAgIHRpdGxlOiAn5pCc57Si6LaF5pe2KCcgKyAnJyArIGdldEl0ZW0oJ2FwcHRpbW91dCcsICcnKSsnKScsXFxuICAgIHVybDogXFxcImlucHV0Oi8vXFxcIiArICczMDAwJyArIFxcXCIvLy8v6K+36K6+572u6LaF5pe25pe26Ze077yMMTAwMOS4uuS4gOenkuOAgi5qczp2YXIgbnVtID0gcGFyc2VJbnQoaW5wdXQpLnRvU3RyaW5nKCk7aWYgKG51bSA9PSAnTmFOJ3x8bnVtPDEwMDApIHsndG9hc3Q6Ly/ovpPlhaXnmoTlgLzlpb3lg4/kuI3mraPnoa7jgIInO30gZWxzZSB7c2V0SXRlbSgnYXBwdGltb3V0JywgbnVtKTtyZWZyZXNoUGFnZSgpOyd0b2FzdDovL+iuvue9ruaIkOWKn+OAgid9XFxcIixcXG4gICAgY29sX3R5cGU6ICd0ZXh0XzInXFxufSk7XFxuXFxuZC5wdXNoKHtcXG4gICAgdGl0bGU6ICfmkJzntKLnur/nqIsnICsgJygnICsgc3N4YyArICcpJyxcXG4gICAgdXJsOiBcXFwiaW5wdXQ6Ly9cXFwiICsgSlNPTi5zdHJpbmdpZnkoe1xcbiAgICAgICAgdmFsdWU6IFxcXCI1XFxcIixcXG4gICAgICAgIGhpbnQ6IFxcXCLor7fovpPlhaXkuIDkuKrmlbTmlbDmlbDlrZfvvIzmjqjojZDmnIDlpKfkuI3opoHotoXov4cxNeOAglxcXCIsXFxuICAgICAgICBqczogJC50b1N0cmluZygoKSA9PiB7XFxuICAgICAgICAgICAgdmFyIG51bSA9IHBhcnNlSW50KGlucHV0KS50b1N0cmluZygpO1xcbiAgICAgICAgICAgIGlmIChudW0gPT0gJ05hTicgfHwgbnVtIDwgMSkge1xcbiAgICAgICAgICAgICAgICByZXR1cm4gJ3RvYXN0Oi8v6L6T5YWl55qE5YC85aW95YOP5LiN5q2j56Gu44CCJztcXG4gICAgICAgICAgICB9IGVsc2Uge1xcbiAgICAgICAgICAgICAgICB2YXIgZmlsZVVybCA9IGZldGNoKFxcXCJoaWtlcjovL2ZpbGVzL3J1bGVzL3h5cS9hcHBtc2V0Lmpzb25cXFwiLCB7fSkucmVwbGFjZSgvXFxcXFxcXCJzc2NvdW50XFxcXFxcXCI6XFxcXFxcXCJbXFxcXGRdKlxcXFxcXFwiLywgJ1xcXFxcXFwic3Njb3VudFxcXFxcXFwiOlxcXFxcXFwiJyArIG51bSArICdcXFxcXFxcIicpO1xcbiAgICAgICAgICAgICAgICB3cml0ZUZpbGUoXFxcImhpa2VyOi8vZmlsZXMvcnVsZXMveHlxL2FwcG1zZXQuanNvblxcXCIsIGZpbGVVcmwpO1xcbiAgICAgICAgICAgICAgICBiYWNrKHRydWUpO1xcbiAgICAgICAgICAgICAgICByZXR1cm4gJ3RvYXN0Oi8v5L+d5a2Y6K6+572u5pCc57Si57q/56iL5a6M5oiQ77yBJ1xcbiAgICAgICAgICAgIH1cXG4gICAgICAgIH0pLFxcbiAgICB9KSxcXG4gICAgY29sX3R5cGU6ICd0ZXh0XzInXFxufSk7XFxuXFxuZC5wdXNoKHtcXG4gICAgdGl0bGU6ICfmm7TmlrDnm7jlhbMnLFxcbiAgICBjb2xfdHlwZTogJ3RleHRfY2VudGVyXzEnXFxufSk7XFxuZC5wdXNoKHtcXG4gICAgdGl0bGU6ICfmo4DmtYvmm7TmlrAnLFxcbiAgICB1cmw6ICQoJycpLmxhenlSdWxlKChsb2N2ZXIpID0+IHtcXG4gICAgICAgIHRyeSB7XFxuICAgICAgICAgICAgdmFyIHJlbWYgPSBmZXRjaENhY2hlKCdodHRwczovL2NvZGViZXJnLm9yZy9semsyMzU1OS9jbG91ZHJ1bGUvcmF3L2JyYW5jaC9tYXN0ZXIvYXBwbW92aWUudHh0JywgMjQpO1xcbiAgICAgICAgfSBjYXRjaCAoZSkge1xcbiAgICAgICAgICAgIHJlbWYgPSAnJztcXG4gICAgICAgIH1cXG4gICAgICAgIGlmICgv77+lYmFzZTY0Ly50ZXN0KHJlbWYpKSB7XFxuICAgICAgICAgICAgdmFyIHJlbXYgPSBKU09OLnBhcnNlKGJhc2U2NERlY29kZShyZW1mLnNwbGl0KCdAJylbMl0pKS52ZXJzaW9uO1xcbiAgICAgICAgfSBlbHNlIGlmICgv77+laG9tZV9ydWxl77+lLy50ZXN0KHJlbWYpKSB7XFxuICAgICAgICAgICAgdmFyIHJlbXYgPSBKU09OLnBhcnNlKHJlbWYuc3BsaXQoJ++/pWhvbWVfcnVsZe+/pScpWzFdKS52ZXJzaW9uO1xcbiAgICAgICAgfTtcXG4gICAgICAgIGlmICgv77+laG9tZV9ydWxlLy50ZXN0KHJlbWYpKSB7XFxuICAgICAgICAgICAgbG9nKCfov5znqIvniYjmnKzvvJonICsgcmVtdik7XFxuICAgICAgICAgICAgbG9nKCfmnKzlnLDniYjmnKzvvJonICsgbG9jdmVyKTtcXG4gICAgICAgICAgICBpZiAobG9jdmVyICE9IHJlbXYpIHtcXG4gICAgICAgICAgICAgICAgcHV0VmFyKCdhcHBudmVyJywgcmVtZik7XFxuICAgICAgICAgICAgICAgIHJlZnJlc2hQYWdlKCk7XFxuICAgICAgICAgICAgICAgIHJldHVybiAndG9hc3Q6Ly/mnInmlrDniYjmnKzvvIzngrnlr7zlhaXmm7TmlrDlj6/mm7TmlrDop4TliJnjgIInO1xcbiAgICAgICAgICAgIH0gZWxzZSB7XFxuICAgICAgICAgICAgICAgIHJldHVybiAndG9hc3Q6Ly/mmoLml6DmlrDniYjmnKzvvIwyNOWwj+aXtuWGheajgOa1i+aXoOaViOOAgidcXG4gICAgICAgICAgICB9O1xcbiAgICAgICAgfSBlbHNlIHtcXG4gICAgICAgICAgICByZXR1cm4gJ3RvYXN0Oi8v5qOA5rWL5pu05paw5aSx6LSl77yM5Y+v6IO95LqR56uv5oq96aOO5LqG44CCJ1xcbiAgICAgICAgfVxcbiAgICB9LCBsb2N2ZXIpLFxcbiAgICBjb2xfdHlwZTogJ3RleHRfMidcXG59KTtcXG5pZiAoZ2V0VmFyKCdhcHBudmVyJykpIHtcXG4gICAgZC5wdXNoKHtcXG4gICAgICAgIHRpdGxlOiAn5a+85YWl5pu05pawJyxcXG4gICAgICAgIHVybDogJCgnJykubGF6eVJ1bGUoKCkgPT4ge1xcbiAgICAgICAgICAgIHJldHVybiBnZXRWYXIoJ2FwcG52ZXInKTtcXG4gICAgICAgIH0pLFxcbiAgICAgICAgY29sX3R5cGU6ICd0ZXh0XzInXFxuICAgIH0pO1xcbn1cXG5zZXRSZXN1bHQoZClcIn0se1wiY29sX3R5cGVcIjpcIm1vdmllXzNcIixcIm5hbWVcIjpcIuacgOaWsOeroOiKglwiLFwicGF0aFwiOlwiY2hhcHRlclwiLFwicnVsZVwiOlwidmFyIGNocCA9IFtdO1xcbnRyeSB7XFxuICAgIHZhciBodG1sID0gSlNPTi5wYXJzZShnZXRSZXNDb2RlKCkpO1xcbiAgICBpZiAoaHRtbC52aWRlb2xpc3QpIHtcXG4gICAgICAgIHZhciBjb250cyA9IE9iamVjdC5rZXlzKGh0bWwudmlkZW9saXN0KTtcXG4gICAgfSBlbHNlIGlmIChodG1sLmRhdGEudm9kX3VybF93aXRoX3BsYXllcikge1xcbiAgICAgICAgdmFyIGNvbnRzID0gaHRtbC5kYXRhLnZvZF91cmxfd2l0aF9wbGF5ZXI7XFxuICAgICAgICBpZiAoY29udHMubGVuZ3RoIDwgMSkge1xcbiAgICAgICAgICAgIGNvbnRzID0gaHRtbC5kYXRhLnZvZF9wbGF5X3VybC5zcGxpdCgnJCQkJyk7XFxuICAgICAgICB9XFxuICAgIH0gZWxzZSBpZiAoaHRtbC5kYXRhLnZvZF9pbmZvICYmIGh0bWwuZGF0YS52b2RfaW5mby52b2RfdXJsX3dpdGhfcGxheWVyKSB7XFxuICAgICAgICB2YXIgY29udHMgPSBodG1sLmRhdGEudm9kX2luZm8udm9kX3VybF93aXRoX3BsYXllcjtcXG4gICAgICAgIGlmIChjb250cy5sZW5ndGggPCAxKSB7XFxuICAgICAgICAgICAgY29udHMgPSBodG1sLmRhdGEudm9kX2luZm8udm9kX3BsYXlfdXJsLnNwbGl0KCckJCQnKTtcXG4gICAgICAgIH1cXG4gICAgfSBlbHNlIHtcXG4gICAgICAgIHZhciBjb250cyA9IGh0bWwuZGF0YS52b2RfcGxheV9saXN0O1xcbiAgICAgICAgaWYgKGNvbnRzLmxlbmd0aCA8IDEpIHtcXG4gICAgICAgICAgICBjb250cyA9IGh0bWwuZGF0YS52b2RfcGxheV91cmwuc3BsaXQoJyQkJCcpO1xcbiAgICAgICAgfVxcbiAgICB9XFxuXFxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgY29udHMubGVuZ3RoOyBpKyspIHtcXG4gICAgICAgIGlmIChodG1sLnZpZGVvbGlzdCkge1xcbiAgICAgICAgICAgIHZhciBsaXN0ID0gaHRtbC52aWRlb2xpc3RbY29udHNbaV1dO1xcbiAgICAgICAgfSBlbHNlIGlmIChjb250c1tpXS51cmxzKSB7XFxuICAgICAgICAgICAgdmFyIGxpc3QgPSBjb250c1tpXS51cmxzO1xcbiAgICAgICAgfSBlbHNlIGlmIChjb250c1tpXS51cmwpIHtcXG4gICAgICAgICAgICB2YXIgbGlzdCA9IGNvbnRzW2ldLnVybC5zcGxpdChcXFwiI1xcXCIpO1xcbiAgICAgICAgfSBlbHNlIHtcXG4gICAgICAgICAgICB2YXIgbGlzdCA9IGNvbnRzW2ldLnNwbGl0KFxcXCIjXFxcIik7XFxuICAgICAgICB9XFxuICAgICAgICBjaHAucHVzaChsaXN0Lmxlbmd0aCk7XFxuICAgIH1cXG59IGNhdGNoIChlKSB7fVxcbi8vbG9nKE1hdGgubWF4LmFwcGx5KE1hdGgsY2hwKSk7XFxuc2V0UmVzdWx0KCfmm7TmlrDoh7M6JyArIChNYXRoLm1heC5hcHBseShNYXRoLCBjaHApKSk7XCJ9XSIsImljb24iOiJodHRwczovL2NvZGViZXJnLm9yZy9semsyMzU1OS9QdWJsaWNSdWxlL3Jhdy9icmFuY2gvbWFzdGVyL2FwcG1vdi5wbmcifQ==
Add Comment
Please, Sign In to add comment