CiAgPCFET0NUWVBFIGh0bWw CiAgPGh0bWwgbGFuZz0ia28iPgogICAgPGhlYWQ CiAgICAgIDxtZXRhIGNoYXJzZXQ9InV0Zi04IiAvPgogICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0iaW5pdGlhbC1zY2FsZT0xLjAsbWF4aW11bS1zY2FsZT0xLjAsbWluaW11bS1zY2FsZT0xLjAsdXNlci1zY2FsYWJsZT15ZXMsd2lkdGg9ZGV2aWNlLXdpZHRoLGhlaWdodD1kZXZpY2UtaGVpZ2h0IiAvPgogICAgICA8bWV0YSBodHRwLWVxdWl2PSJYLVVBLUNvbXBhdGlibGUiIGNvbnRlbnQ9ImllPWVkZ2UiPgoKICAgICAgCiAgICAgICAgICA8dGl0bGU W 2cmO2BtOumrF3rpbwg6rWs64 F7ZW07KO87IS47JqUIPCfpJ88L3RpdGxlPgogICAgICAgICAgCiAgICAgICAgICA8bWV0YSBuYW1lPSJkZXNjcmlwdGlvbiIgY29udGVudD0i7J287KO87J287JeQIO2VnOuyiCwg64m07IqkIOyWuOuwleyLsS4gCu2OhOufreydtOuKlCDsooXsnbTsi6DrrLjrj4QsIO2PrO2EuOydmCDslYzqs6Drpqzsppjrj4Qg67aA64u07J28IOuVkAoxMOu2hCDribTsiqTtjrjsp4AsIOyLnOyCrCDribTsiqTroIjthLAgPO2cmO2BtOumrD7smYAg7ZWo6ruYIO2VmOyEuOyalC4gCuunpOyjvCDrqqnsmpTsnbwg7KCV7JikISAK6rO167aA7ZWY64qQ6528LCDsnbztlZjripDrnbwg67CU67mg7IScIOuGk yzpOuNmCDsnbzso7zsnbwg64m07Iqk66W8ICAK67CA66awICftg53rsLAnIOucr uTryDsppDqsbDsmrQg66eI7J2M7Jy866GcIOyXtOyWtOuzvCDsiJgg7J6I7Ja07JqULiAK7KeI66y4IO2ZmOyYgSwg7JWg7KCVIO2ZmOyYgSwg7KeA7KCB7KeIIO2ZmOyYgSEgCu2YvOuPiOydmCDribTsiqQg7IS46rOE7JeQ7IScIArrspfsnZgg7Lmc7KCI7ZWcIOuenOyEoCDquLDsnpDsuZzqtazwn5Gv6rCAIOuQoOqyjOyalC4gCuyZuOuhnOyatCDsvZTroZzrgpgg7Iuc64yALCDslrjsoJzrk6Ag7YyAIO2cmO2BtOumrOyXkCDri7XsnqUg7KO87IS47JqULgoKKuyVhOuemCDqtazrj4XtlZjquLAg67KE7Yq87J2EIOuIhOultOuptCAn7ZmV7J24IO2MneyXheywvSDsl4bsnbQnIOq1rOuPheyLoOyyreydtCDsmYTro4zrkKnri4jri6QuIAoq7KeA64KcIO2cmO2BtOumrCDrs7TquLAgCmh0dHBzOi8vcGFnZS5zdGliZWUuY29tL2FyY2hpdmVzLzk4MzM4IiAvPgoJICAgICAgICA8bWV0YSBuYW1lPSJrZXl3b3JkcyIgY29udGVudD0iW 2cmO2BtOumrF3rpbwg6rWs64 F7ZW07KO87IS47JqUIPCfpJ8sIOuJtOyKpOugiO2EsCwgbmV3c2xldHRlciIgLz4KICAgICAgICAKICAgICAgICAgIDxtZXRhIHByb3BlcnR5PSJvZzp0aXRsZSIgY29udGVudD0iW 2cmO2BtOumrF3rpbwg6rWs64 F7ZW07KO87IS47JqUIPCfpJ8iLz4KICAgICAgICAgIDxtZXRhIHByb3BlcnR5PSJvZzpkZXNjcmlwdGlvbiIgY29udGVudD0i7J287KO87J287JeQIO2VnOuyiCwg64m07IqkIOyWuOuwleyLsS4gCu2OhOufreydtOuKlCDsooXsnbTsi6DrrLjrj4QsIO2PrO2EuOydmCDslYzqs6Drpqzsppjrj4Qg67aA64u07J28IOuVkAoxMOu2hCDribTsiqTtjrjsp4AsIOyLnOyCrCDribTsiqTroIjthLAgPO2cmO2BtOumrD7smYAg7ZWo6ruYIO2VmOyEuOyalC4gCuunpOyjvCDrqqnsmpTsnbwg7KCV7JikISAK6rO167aA7ZWY64qQ6528LCDsnbztlZjripDrnbwg67CU67mg7IScIOuGk yzpOuNmCDsnbzso7zsnbwg64m07Iqk66W8ICAK67CA66awICftg53rsLAnIOucr uTryDsppDqsbDsmrQg66eI7J2M7Jy866GcIOyXtOyWtOuzvCDsiJgg7J6I7Ja07JqULiAK7KeI66y4IO2ZmOyYgSwg7JWg7KCVIO2ZmOyYgSwg7KeA7KCB7KeIIO2ZmOyYgSEgCu2YvOuPiOydmCDribTsiqQg7IS46rOE7JeQ7IScIArrspfsnZgg7Lmc7KCI7ZWcIOuenOyEoCDquLDsnpDsuZzqtazwn5Gv6rCAIOuQoOqyjOyalC4gCuyZuOuhnOyatCDsvZTroZzrgpgg7Iuc64yALCDslrjsoJzrk6Ag7YyAIO2cmO2BtOumrOyXkCDri7XsnqUg7KO87IS47JqULgoKKuyVhOuemCDqtazrj4XtlZjquLAg67KE7Yq87J2EIOuIhOultOuptCAn7ZmV7J24IO2MneyXheywvSDsl4bsnbQnIOq1rOuPheyLoOyyreydtCDsmYTro4zrkKnri4jri6QuIAoq7KeA64KcIO2cmO2BtOumrCDrs7TquLAgCmh0dHBzOi8vcGFnZS5zdGliZWUuY29tL2FyY2hpdmVzLzk4MzM4Ii8 CiAgICAgICAgICA8bWV0YSBwcm9wZXJ0eT0ib2c6aW1hZ2UiIGNvbnRlbnQ9Imh0dHBzOi8vczMuYXAtbm9ydGhlYXN0LTIuYW1hem9uYXdzLmNvbS9pbWcuc3RpYmVlLmNvbS8zMDM2N19saXN0Xzk4MzM4X3N1YnNjcmlwdGlvbnNfaGVhZGVyX2ltYWdlLmdpZj92PTE2MTA0NDM5NTEiLz4KICAgICAgICAKICAgICAgPG1ldGEgbmFtZT0idHdpdHRlcjpjYXJkIiBjb250ZW50PSJzdW1tYXJ5Ij4KICAgICAgPGxpbmsgcmVsPSJhcHBsZS10b3VjaC1pY29uIiBzaXplcz0iMTgweDE4MCIgaHJlZj0iL3N0YXRpYy9hcHBsZS10b3VjaC1pY29uLnBuZyI CiAgICAgIDxsaW5rIHJlbD0iaWNvbiIgdHlwZT0iaW1hZ2UvcG5nIiBzaXplcz0iMzJ4MzIiIGhyZWY9Ii9zdGF0aWMvZmF2aWNvbi0zMngzMi5wbmciPgogICAgICA8bGluayByZWw9Imljb24iIHR5cGU9ImltYWdlL3BuZyIgc2l6ZXM9IjE2eDE2IiBocmVmPSIvc3RhdGljL2Zhdmljb24tMTZ4MTYucG5nIj4KICAgICAgPG1ldGEgbmFtZT0ibXNhcHBsaWNhdGlvbi1UaWxlQ29sb3IiIGNvbnRlbnQ9IiNkYTUzMmMiPgogICAgICA8bWV0YSBuYW1lPSJ0aGVtZS1jb2xvciIgY29udGVudD0iI2ZmZmZmZiI CiAgICAgIDxsaW5rIGhyZWY9Ii9zdGF0aWMvY3NzLzEyMi5hYWJjMmJjNy5jc3MiIHJlbD0ic3R5bGVzaGVldCIgLz4KICAgICAgPG1ldGEgbmFtZT0ibmF2ZXItc2l0ZS12ZXJpZmljYXRpb24iIGNvbnRlbnQ9IjcyMjUzZGFjYjk4ZjU2YWM3M2Y0NGE4Y2Y4YjVmMTJkYjM4YmM4NjEiIC8 CgogICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI CiAgICAgICAgKGZ1bmN0aW9uIChmLCBiKSB7IGlmICghYi5fX1NWKSB7IHZhciBlLCBnLCBpLCBoOyB3aW5kb3cubWl4cGFuZWwgPSBiOyBiLl9pID0gW107IGIuaW5pdCA9IGZ1bmN0aW9uIChlLCBmLCBjKSB7IGZ1bmN0aW9uIGcoYSwgZCkgeyB2YXIgYiA9IGQuc3BsaXQoIi4iKTsgMiA9PSBiLmxlbmd0aCAmJiAoKGEgPSBhW2JbMF1dKSwgKGQgPSBiWzFdKSk7IGFbZF0gPSBmdW5jdGlvbiAoKSB7IGEucHVzaChbZF0uY29uY2F0KEFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGFyZ3VtZW50cywgMCkpKTsgfTsgfSB2YXIgYSA9IGI7ICJ1bmRlZmluZWQiICE9PSB0eXBlb2YgYyA/IChhID0gYltjXSA9IFtdKSA6IChjID0gIm1peHBhbmVsIik7IGEucGVvcGxlID0gYS5wZW9wbGUgfHwgW107IGEudG9TdHJpbmcgPSBmdW5jdGlvbiAoYSkgeyB2YXIgZCA9ICJtaXhwYW5lbCI7ICJtaXhwYW5lbCIgIT09IGMgJiYgKGQgKz0gIi4iICsgYyk7IGEgfHwgKGQgKz0gIiAoc3R1YikiKTsgcmV0dXJuIGQ7IH07IGEucGVvcGxlLnRvU3RyaW5nID0gZnVuY3Rpb24gKCkgeyByZXR1cm4gYS50b1N0cmluZygxKSArICIucGVvcGxlIChzdHViKSI7IH07IGkgPSAiZGlzYWJsZSB0aW1lX2V2ZW50IHRyYWNrIHRyYWNrX3BhZ2V2aWV3IHRyYWNrX2xpbmtzIHRyYWNrX2Zvcm1zIHRyYWNrX3dpdGhfZ3JvdXBzIGFkZF9ncm91cCBzZXRfZ3JvdXAgcmVtb3ZlX2dyb3VwIHJlZ2lzdGVyIHJlZ2lzdGVyX29uY2UgYWxpYXMgdW5yZWdpc3RlciBpZGVudGlmeSBuYW1lX3RhZyBzZXRfY29uZmlnIHJlc2V0IG9wdF9pbl90cmFja2luZyBvcHRfb3V0X3RyYWNraW5nIGhhc19vcHRlZF9pbl90cmFja2luZyBoYXNfb3B0ZWRfb3V0X3RyYWNraW5nIGNsZWFyX29wdF9pbl9vdXRfdHJhY2tpbmcgc3RhcnRfYmF0Y2hfc2VuZGVycyBwZW9wbGUuc2V0IHBlb3BsZS5zZXRfb25jZSBwZW9wbGUudW5zZXQgcGVvcGxlLmluY3JlbWVudCBwZW9wbGUuYXBwZW5kIHBlb3BsZS51bmlvbiBwZW9wbGUudHJhY2tfY2hhcmdlIHBlb3BsZS5jbGVhcl9jaGFyZ2VzIHBlb3BsZS5kZWxldGVfdXNlciBwZW9wbGUucmVtb3ZlIi5zcGxpdCgiICIpOyBmb3IgKGggPSAwOyBoIDwgaS5sZW5ndGg7IGgrKykgZyhhLCBpW2hdKTsgdmFyIGogPSAic2V0IHNldF9vbmNlIHVuaW9uIHVuc2V0IHJlbW92ZSBkZWxldGUiLnNwbGl0KCIgIik7IGEuZ2V0X2dyb3VwID0gZnVuY3Rpb24gKCkgeyBmdW5jdGlvbiBiKGMpIHsgZFtjXSA9IGZ1bmN0aW9uICgpIHsgY2FsbDJfYXJncyA9IGFyZ3VtZW50czsgY2FsbDIgPSBbY10uY29uY2F0KEFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGNhbGwyX2FyZ3MsIDApKTsgYS5wdXNoKFtlLCBjYWxsMl0pOyB9OyB9IGZvciAodmFyIGQgPSB7fSwgZSA9IFsiZ2V0X2dyb3VwIl0uY29uY2F0KEFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGFyZ3VtZW50cywgMCkpLCBjID0gMDsgYyA8IGoubGVuZ3RoOyBjKyspIGIoaltjXSk7IHJldHVybiBkOyB9OyBiLl9pLnB1c2goW2UsIGYsIGNdKTsgfTsgYi5fX1NWID0gMS4yOyBlID0gZi5jcmVhdGVFbGVtZW50KCJzY3JpcHQiKTsgZS50eXBlID0gInRleHQvamF2YXNjcmlwdCI7IGUuYXN5bmMgPSAhMDsgZS5zcmMgPSAidW5kZWZpbmVkIiAhPT0gdHlwZW9mIE1JWFBBTkVMX0NVU1RPTV9MSUJfVVJMID8gTUlYUEFORUxfQ1VTVE9NX0xJQl9VUkwgOiAiZmlsZToiID09PSBmLmxvY2F0aW9uLnByb3RvY29sICYmICIvL2Nkbi5teHBubC5jb20vbGlicy9taXhwYW5lbC0yLWxhdGVzdC5taW4uanMiLm1hdGNoKCJeXC9cLyIpID8gImh0dHBzOi8vY2RuLm14cG5sLmNvbS9saWJzL21peHBhbmVsLTItbGF0ZXN0Lm1pbi5qcyIgOiAiLy9jZG4ubXhwbmwuY29tL2xpYnMvbWl4cGFuZWwtMi1sYXRlc3QubWluLmpzIjsgZyA9IGYuZ2V0RWxlbWVudHNCeVRhZ05hbWUoInNjcmlwdCIpWzBdOyBnLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKGUsIGcpOyB9IH0pKGRvY3VtZW50LCB3aW5kb3cubWl4cGFuZWwgfHwgW10pOwogICAgICAgIHZhciBpc0RldmVsb3BtZW50ID0gd2luZG93LmxvY2F0aW9uLmhvc3RuYW1lLnRvTG93ZXJDYXNlKCkuc2VhcmNoKCdxYS1wYWdlLnN0aWJlZS5jb20nKSA PSAwCiAgICAgICAgaWYgKGlzRGV2ZWxvcG1lbnQpIHsKICAgICAgICAgIG1peHBhbmVsLmluaXQoJzllMzBjMTNmZTc2NGE4NWM1ZTY0Y2Q3YzJiN2I5Y2IwJywgeyBkZWJ1ZzogdHJ1ZSwgcGVyc2lzdGVuY2U6ICdsb2NhbFN0b3JhZ2UnIH0pOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICBtaXhwYW5lbC5pbml0KCczZmMzMThlOTAxNTJkZTQ3NDhlOGY2ZWQ1YjQwYTBhNicsIHsgZGVidWc6IGZhbHNlLCBwZXJzaXN0ZW5jZTogJ2xvY2FsU3RvcmFnZScgfSk7CiAgICAgICAgfQogICAgICA8L3NjcmlwdD4KICAgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgogICAgICAoZnVuY3Rpb24oZSx0KXt2YXIgbj1lLmFtcGxpdHVkZXx8e19xOltdLF9pcTp7fX07dmFyIHI9dC5jcmVhdGVFbGVtZW50KCJzY3JpcHQiKQogICAgICA7ci50eXBlPSJ0ZXh0L2phdmFzY3JpcHQiCiAgICAgIDtyLmludGVncml0eT0ic2hhMzg0LXR6Y2FhQ0g1K0tYRDRzR2FEb3pldjZvRWxRaHNWZmJKdmRpMy8vYzJZdmJZMDJMck5sYnBHZHQzV3E0cldvblMiCiAgICAgIDtyLmNyb3NzT3JpZ2luPSJhbm9ueW1vdXMiO3IuYXN5bmM9dHJ1ZQogICAgICA7ci5zcmM9Imh0dHBzOi8vY2RuLmFtcGxpdHVkZS5jb20vbGlicy9hbXBsaXR1ZGUtOC41LjAtbWluLmd6LmpzIgogICAgICA7ci5vbmxvYWQ9ZnVuY3Rpb24oKXtpZighZS5hbXBsaXR1ZGUucnVuUXVldWVkRnVuY3Rpb25zKXsKICAgICAgY29uc29sZS5sb2coIltBbXBsaXR1ZGVdIEVycm9yOiBjb3VsZCBub3QgbG9hZCBTREsiKX19CiAgICAgIDt2YXIgaT10LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJzY3JpcHQiKVswXTtpLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKHIsaSkKICAgICAgO2Z1bmN0aW9uIHMoZSx0KXtlLnByb3RvdHlwZVt0XT1mdW5jdGlvbigpewogICAgICB0aGlzLl9xLnB1c2goW3RdLmNvbmNhdChBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChhcmd1bWVudHMsMCkpKTtyZXR1cm4gdGhpc319CiAgICAgIHZhciBvPWZ1bmN0aW9uKCl7dGhpcy5fcT1bXTtyZXR1cm4gdGhpc30KICAgICAgO3ZhciBhPVsiYWRkIiwiYXBwZW5kIiwiY2xlYXJBbGwiLCJwcmVwZW5kIiwic2V0Iiwic2V0T25jZSIsInVuc2V0IiwicHJlSW5zZXJ0IiwicG9zdEluc2VydCIsInJlbW92ZSJdCiAgICAgIDtmb3IodmFyIGM9MDtjPGEubGVuZ3RoO2MrKyl7cyhvLGFbY10pfW4uSWRlbnRpZnk9bzt2YXIgdT1mdW5jdGlvbigpe3RoaXMuX3E9W10KICAgICAgO3JldHVybiB0aGlzfQogICAgICA7dmFyIGw9WyJzZXRQcm9kdWN0SWQiLCJzZXRRdWFudGl0eSIsInNldFByaWNlIiwic2V0UmV2ZW51ZVR5cGUiLCJzZXRFdmVudFByb3BlcnRpZXMiXQogICAgICA7Zm9yKHZhciBwPTA7cDxsLmxlbmd0aDtwKyspe3ModSxsW3BdKX1uLlJldmVudWU9dQogICAgICA7dmFyIGQ9WyJpbml0IiwibG9nRXZlbnQiLCJsb2dSZXZlbnVlIiwic2V0VXNlcklkIiwic2V0VXNlclByb3BlcnRpZXMiLCJzZXRPcHRPdXQiLCJzZXRWZXJzaW9uTmFtZSIsInNldERvbWFpbiIsInNldERldmljZUlkIiwiZW5hYmxlVHJhY2tpbmciLCJzZXRHbG9iYWxVc2VyUHJvcGVydGllcyIsImlkZW50aWZ5IiwiY2xlYXJVc2VyUHJvcGVydGllcyIsInNldEdyb3VwIiwibG9nUmV2ZW51ZVYyIiwicmVnZW5lcmF0ZURldmljZUlkIiwiZ3JvdXBJZGVudGlmeSIsIm9uSW5pdCIsImxvZ0V2ZW50V2l0aFRpbWVzdGFtcCIsImxvZ0V2ZW50V2l0aEdyb3VwcyIsInNldFNlc3Npb25JZCIsInJlc2V0U2Vzc2lvbklkIl0KICAgICAgO2Z1bmN0aW9uIHYoZSl7ZnVuY3Rpb24gdCh0KXtlW3RdPWZ1bmN0aW9uKCl7CiAgICAgIGUuX3EucHVzaChbdF0uY29uY2F0KEFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGFyZ3VtZW50cywwKSkpfX0KICAgICAgZm9yKHZhciBuPTA7bjxkLmxlbmd0aDtuKyspe3QoZFtuXSl9fXYobik7bi5nZXRJbnN0YW5jZT1mdW5jdGlvbihlKXsKICAgICAgZT0oIWV8fGUubGVuZ3RoPT09MD8iJGRlZmF1bHRfaW5zdGFuY2UiOmUpLnRvTG93ZXJDYXNlKCkKICAgICAgO2lmKCFPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwobi5faXEsZSkpe24uX2lxW2VdPXtfcTpbXX07dihuLl9pcVtlXSkKICAgICAgfXJldHVybiBuLl9pcVtlXX07ZS5hbXBsaXR1ZGU9bn0pKHdpbmRvdyxkb2N1bWVudCk7CiAgICAKICAgICAgYW1wbGl0dWRlLmdldEluc3RhbmNlKCkuaW5pdCgiNjhlMGY0YWViMDAyNjRhM2QwNjJlYmVjMGE2MjcwMDQiLCBudWxsLCB7CiAgICAgICAgc2F2ZUV2ZW50czogdHJ1ZSwKICAgICAgICBpbmNsdWRlVXRtOiB0cnVlLAogICAgICAgIGluY2x1ZGVSZWZlcnJlcjogdHJ1ZSwKICAgICAgICBpbmNsdWRlZ2NsaWQ6IHRydWUsCiAgICAgIH0pOwogICAgPC9zY3JpcHQ CiAgICA8IS0tIEZhY2Vib29rIFBpeGVsIENvZGUgLS0 CiAgICA8c2NyaXB0PgogICAgIWZ1bmN0aW9uKGYsYixlLHYsbix0LHMpCiAgICB7aWYoZi5mYnEpcmV0dXJuO249Zi5mYnE9ZnVuY3Rpb24oKXtuLmNhbGxNZXRob2Q/CiAgICBuLmNhbGxNZXRob2QuYXBwbHkobixhcmd1bWVudHMpOm4ucXVldWUucHVzaChhcmd1bWVudHMpfTsKICAgIGlmKCFmLl9mYnEpZi5fZmJxPW47bi5wdXNoPW47bi5sb2FkZWQ9ITA7bi52ZXJzaW9uPScyLjAnOwogICAgbi5xdWV1ZT1bXTt0PWIuY3JlYXRlRWxlbWVudChlKTt0LmFzeW5jPSEwOwogICAgdC5zcmM9djtzPWIuZ2V0RWxlbWVudHNCeVRhZ05hbWUoZSlbMF07CiAgICBzLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKHQscyl9KHdpbmRvdywgZG9jdW1lbnQsJ3NjcmlwdCcsCiAgICAnaHR0cHM6Ly9jb25uZWN0LmZhY2Vib29rLm5ldC9lbl9VUy9mYmV2ZW50cy5qcycpOwogICAgZmJxKCdpbml0JywgJzkzNzEyODczMzgyMjI4MScpOwogICAgZmJxKCd0cmFjaycsICdQYWdlVmlldycpOwogICAgPC9zY3JpcHQ CiAgICA8bm9zY3JpcHQ PGltZyBoZWlnaHQ9IjEiIHdpZHRoPSIxIiBzdHlsZT0iZGlzcGxheTpub25lIgogICAgc3JjPSJodHRwczovL3d3dy5mYWNlYm9vay5jb20vdHI/aWQ9OTM3MTI4NzMzODIyMjgxJmV2PVBhZ2VWaWV3Jm5vc2NyaXB0PTEiCiAgICAvPjwvbm9zY3JpcHQ CiAgICA8IS0tIEVuZCBGYWNlYm9vayBQaXhlbCBDb2RlIC0tPgogICAgICAKICAgIAogICAgPC9oZWFkPgogICAgPGJvZHk CiAgICA8bm9zY3JpcHQ WW91IG5lZWQgdG8gZW5hYmxlIEphdmFTY3JpcHQgdG8gcnVuIHRoaXMgYXBwLjwvbm9zY3JpcHQ CiAgICA8ZGl2IGlkPSJyb290Ij4KICAgIAogICAgPC9kaXY CiAgICAKICAgIDxzY3JpcHQgc3JjPSIvc3RhdGljL2pzL3J1bnRpbWUtbWFpbi4yMjBlNWRhOS5qcyI PC9zY3JpcHQ CiAgICA8c2NyaXB0IHNyYz0iL3N0YXRpYy9qcy8xMjIuY2h1bmsuanMiPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9Ii9zdGF0aWMvanMvbWFpbi5mZTgzOWY5MC5qcyI PC9zY3JpcHQ CiAgICA8L2JvZHk CiAgICA8c2NyaXB0IHNyYz0iaHR0cHM6Ly9uc3AucGF5Lm5hdmVyLmNvbS9zZGsvanMvbmF2ZXJwYXkubWluLmpzIj48L3NjcmlwdD4KICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Imh0dHBzOi8vY29kZS5qcXVlcnkuY29tL2pxdWVyeS0xLjEyLjQubWluLmpzIiA PC9zY3JpcHQ CiAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJodHRwczovL2Nkbi5pYW1wb3J0LmtyL3YxL2lhbXBvcnQuanMiPjwvc2NyaXB0PgogICAgPHNjcmlwdD4KICAgICAgSU1QLmluaXQoJ2ltcDI3Mjg3OTU3Jyk7CiAgICA8L3NjcmlwdD4KICAgIDxub3NjcmlwdD4KICAgICAgPGltZyBzcmM9Imh0dHBzOi8vYy5wYXlwYWwuY29tL3YxL3IvZC9iL25zP2Y9UklTS19TRVNTSU9OX0NPUlJFTEFUSU9OX0lEJnM9U09VUkNFX0lERU5USUZJRVImanM9MCZyPTEiIC8 CiAgICA8L25vc2NyaXB0PgogIDwvaHRtbD4KICAKICAKICA=