html=atob("PCFET0NUWVBFIGh0bWw+CjxodG1sPgogIDxoZWFkPgogICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIiAvPgogICAgPHN0eWxlPgogICAgICBib2R5IHsKICAgICAgICBtYXJnaW46IDA7CiAgICAgICAgd2lkdGg6IDEwMHZ3OwogICAgICAgIG92ZXJmbG93LXg6IGhpZGRlbjsKICAgICAgfQoKICAgICAgZm9ybSB7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogICAgICB9CgogICAgICAjcXVlcnkgewogICAgICAgIHdpZHRoOiA4ZW07CiAgICAgIH0KCiAgICAgICNxdWVyeWRpc3BsYXkgewogICAgICAgIG1hcmdpbi1sZWZ0OiAxZW07CiAgICAgICAgY29sb3I6ICM5OTk7CiAgICAgIH0KCiAgICAgICNxdWVyeWRpc3BsYXkgLnRleHQgewogICAgICAgIGNvbG9yOiAjZmZmOwogICAgICB9CgogICAgICAjaGVhZGVyIGEgewogICAgICAgIGNvbG9yOiAjZmZmOwogICAgICAgIG1hcmdpbi1yaWdodDogMC44ZW07CiAgICAgIH0KCiAgICAgICNoZWFkZXIgewogICAgICAgIGJhY2tncm91bmQ6ICMwMDA7CiAgICAgICAgcGFkZGluZzogMC41ZW0gMCAwLjhlbSAwLjVlbTsKICAgICAgICBtYXJnaW46IDA7CiAgICAgIH0KCiAgICAgICNjb250cm9saW5mbyB7CiAgICAgICAgY29sb3I6ICM5OTk7CiAgICAgICAgcmlnaHQ6IDA7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7CiAgICAgICAgcGFkZGluZzogMCAxZW07CiAgICAgIH0KCiAgICAgICNsaXZlIHsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgcmlnaHQ6IDA7CiAgICAgICAgY29sb3I6ICNmZmY7CiAgICAgICAgYmFja2dyb3VuZDogIzAwMDsKICAgICAgICBwYWRkaW5nOiAwLjFlbSAwLjNlbTsKICAgICAgICBvcGFjaXR5OiAuNzsKICAgICAgfQoKICAgICAgI21lZGlhLWNvbnRhaW5lciB7CiAgICAgICAgdG9wOiAwOwogICAgICAgIHBvc2l0aW9uOiBmaXhlZDsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwKTsKICAgICAgICBjb2xvcjogI2ZmZjsKICAgICAgfQoKICAgICAgI21lZGlhLWNvbnRhaW5lciwgI3JlcyB7CiAgICAgICAgZGlzcGxheTogbm9uZTsKICAgICAgICB6LWluZGV4OiAzOwogICAgICB9CgogICAgICAjcGljIHsKICAgICAgICBtYXgtd2lkdGg6IDEwMHZ3OwogICAgICAgIG1heC1oZWlnaHQ6IDEwMHZoOwogICAgICB9CgogICAgICAjcGljcyBhIHsKICAgICAgICB3aWR0aDogMjV2dzsKICAgICAgICBoZWlnaHQ6IDI1dnc7CiAgICAgICAgZGlzcGxheTogbm9uZTsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgZmxvYXQ6IGxlZnQ7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgICBib3JkZXI6IDAuM2VtIHNvbGlkIHRyYW5zcGFyZW50OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDAuM2VtOwogICAgICAgIG1hcmdpbjogLTAuM2VtOwogICAgICB9CgogICAgICAjcGljcyBhID4gc3BhbiB7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIHotaW5kZXg6IDI7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7CiAgICAgICAgY29sb3I6ICNmZmY7CiAgICAgICAgZm9udC1zaXplOiAxLjN2dzsKICAgICAgICBib3R0b206IDA7CiAgICAgICAgYmFja2dyb3VuZDogcmdiYSgwLDAsMCwwLjYpOwogICAgICAgIHJpZ2h0OiAwOwogICAgICAgIGJvcmRlci1yYWRpdXM6IDN2dzsKICAgICAgICBwYWRkaW5nOiAwIDF2dzsKICAgICAgfQoKICAgICAgI3BpY3MgaW1nIHsKICAgICAgICB3aWR0aDogMjV2dzsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgZmxvYXQ6IGxlZnQ7CiAgICAgIH0KCiAgICAgICNwaWNzIGEuYWN0aXZlIHsKICAgICAgICBib3JkZXItY29sb3I6IGdyZWVuOwogICAgICAgIHotaW5kZXg6IDE7CiAgICAgIH0KICAgIDwvc3R5bGU+CiAgPC9oZWFkPgogIDxib2R5PgogICAgPGRpdiBpZD0iaGVhZGVyIj4KICAgICAgPGEgaHJlZj0iaW1hZ2VzLmh0bWwiPmltYWdlcy5odG1sPC9hPgogICAgICA8Zm9ybSBhY3Rpb249IiMiPgogICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBpZD0icXVlcnkiIG5hbWU9InF1ZXJ5IiBpZD0iIiAvPiA8aW5wdXQgdHlwZT0ic3VibWl0IiB2YWx1ZT0ib2siLz4KICAgICAgPC9mb3JtPgogICAgICA8c3BhbiBpZD0icXVlcnlkaXNwbGF5Ij5xdWVyeTogPHNwYW4gY2xhc3M9InRleHQiPjwvc3Bhbj48L3NwYW4+CiAgICAgIDxzcGFuIGlkPSJjb250cm9saW5mbyI+YXJyb3dzICZsdDsgJmd0OyB0byBuYXZpZ2F0ZSwgZW50ZXIgdG8gdmlldywgYmFja3NwYWNlL2VzYyB0byByZXR1cm48L3NwYW4+CiAgICA8L2Rpdj4KICAgIDxjZW50ZXIgaWQ9Im1lZGlhLWNvbnRhaW5lciI+CiAgICAgIDxpbWcgaWQ9InBpYyIvPgogICAgICBMb2FkaW5nIC4uLgogICAgPC9jZW50ZXI+CiAgICA8ZGl2IGlkPSJwaWNzIj48L2Rpdj4KICAgIDxkaXYgaWQ9InJlcyI+PC9kaXY+CiAgICA8c2NyaXB0PgogICAgICBzZWFyY2hkYiA9ICIiCgogICAgICBsZXQgcGljdHVyZXMgPSBbXQogICAgICBsZXQgZG9tcGljcyA9IFtdCiAgICAgIGxldCBpZGNvdW50ZXIgPSAwCiAgICAgIC8vbGV0IHF1ZXJ5bWF0Y2ggPSBsb2NhdGlvbi5ocmVmLm1hdGNoKC9xdWVyeT0oW14mI10rKS8pCiAgICAgIC8vbGV0IHF1ZXJ5c3RyID0gcXVlcnltYXRjaCA9PSBudWxsID8gIiIgOiBkZWNvZGVVUklDb21wb25lbnQocXVlcnltYXRjaFsxXS5yZXBsYWNlQWxsKCIrIiwgIiAiKSkKICAgICAgcXVlcnlzdHIgPSAiIgogICAgICB1cGRhdGVxdWVyeSgpCgogICAgICBmdW5jdGlvbiBpbml0KCl7CiAgICAgICAgbWVkaWFfY29udGFpbmVyID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm1lZGlhLWNvbnRhaW5lciIpCiAgICAgICAgcGljID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBpYyIpCiAgICAgIH0KICAgICAgCiAgICAgIGZ1bmN0aW9uIHVwZGF0ZXF1ZXJ5KCl7CiAgICAgICAgcXVlcnlzdHIgPSB3aW5kb3cubG9jYXRpb24uaGFzaC5zdWJzdHJpbmcoMSkKICAgICAgICBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIjcXVlcnlkaXNwbGF5IC50ZXh0IikuaW5uZXJUZXh0ID0gcXVlcnlzdHIKICAgICAgfQoKICAgICAgZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiZm9ybSIpLmFkZEV2ZW50TGlzdGVuZXIoInN1Ym1pdCIsIGUgPT4gewogICAgICAgIGUucHJldmVudERlZmF1bHQoKQogICAgICAgIHdpbmRvdy5sb2NhdGlvbi5oYXNoID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiI3F1ZXJ5IikudmFsdWUKICAgICAgICB1cGRhdGVxdWVyeSgpCiAgICAgIH0pCiAgICAgIAogICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsIGUgPT4gewogICAgICAgIGlmKGUua2V5ID09ICJFc2NhcGUiIHx8IGUua2V5ID09ICJCYWNrc3BhY2UiKXsKICAgICAgICAgIGhpZGVtZWRpYSgpCiAgICAgICAgfQogICAgICAgIAogICAgICAgIGlmKGUua2V5ID09ICJFbnRlciIgJiYgZS50YXJnZXQudGFnTmFtZSA9PSAiQk9EWSIpewogICAgICAgICAgZXZhbChkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIjcGljcyBhLmFjdGl2ZSIpLmhyZWYpCiAgICAgICAgfQoKICAgICAgICBpZihlLmtleSA9PSAiQXJyb3dMZWZ0Iil7CiAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCkKICAgICAgICAgIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIiNwaWNzIGEuYWN0aXZlIikucHJldmlvdXNFbGVtZW50U2libGluZy5jbGFzc0xpc3QuYWRkKCJhY3RpdmUiKQogICAgICAgICAgQXJyYXkuZnJvbShkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCIjcGljcyBhLmFjdGl2ZSIpKS5wb3AoKS5jbGFzc0xpc3QucmVtb3ZlKCJhY3RpdmUiKQogICAgICAgIH0KICAgICAgICAKICAgICAgICBpZihlLmtleSA9PSAiQXJyb3dSaWdodCIpewogICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpCiAgICAgICAgICBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIjcGljcyBhLmFjdGl2ZSIpLm5leHRFbGVtZW50U2libGluZy5jbGFzc0xpc3QuYWRkKCJhY3RpdmUiKQogICAgICAgICAgZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiI3BpY3MgYS5hY3RpdmUiKS5jbGFzc0xpc3QucmVtb3ZlKCJhY3RpdmUiKQogICAgICAgIH0KCiAgICAgICAgaWYoZS5rZXkgPT0gIkFycm93VXAiKXsKICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKQogICAgICAgICAgY29uc3QgcCA9ICJwcmV2aW91c1NpYmxpbmciCiAgICAgICAgICBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIjcGljcyBhLmFjdGl2ZSIpW3BdW3BdW3BdW3BdLmNsYXNzTGlzdC5hZGQoImFjdGl2ZSIpCiAgICAgICAgICBBcnJheS5mcm9tKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoIiNwaWNzIGEuYWN0aXZlIikpLnBvcCgpLmNsYXNzTGlzdC5yZW1vdmUoImFjdGl2ZSIpCiAgICAgICAgICB3aW5kb3cuc2Nyb2xsVG8oMCwgZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiI3BpY3MgYS5hY3RpdmUiKS5vZmZzZXRUb3ApCiAgICAgICAgfQoKICAgICAgICBpZihlLmtleSA9PSAiQXJyb3dEb3duIil7CiAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCkKICAgICAgICAgIGNvbnN0IG4gPSAibmV4dEVsZW1lbnRTaWJsaW5nIgogICAgICAgICAgZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiI3BpY3MgYS5hY3RpdmUiKVtuXVtuXVtuXVtuXS5jbGFzc0xpc3QuYWRkKCJhY3RpdmUiKQogICAgICAgICAgZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiI3BpY3MgYS5hY3RpdmUiKS5jbGFzc0xpc3QucmVtb3ZlKCJhY3RpdmUiKQogICAgICAgICAgd2luZG93LnNjcm9sbFRvKDAsIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIiNwaWNzIGEuYWN0aXZlIikub2Zmc2V0VG9wKQogICAgICAgIH0KICAgICAgICAKICAgICAgICBpZihkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIjbWVkaWEtY29udGFpbmVyIikuc3R5bGUuZGlzcGxheSA9PSAiYmxvY2siKXsKICAgICAgICAgIHNob3coZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiI3BpY3MgYS5hY3RpdmUiKS5pZCkKICAgICAgICB9CiAgICAgIH0pCgogICAgICBhc3luYyBmdW5jdGlvbiBxdWVyeShxKXsKICAgICAgICBsZXQgZXZlbnRkYiA9ICIiCiAgICAgICAgCiAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHsKICAgICAgICAgIGlmKHEgPT0gIiIpewogICAgICAgICAgICByPSdbIlJFUSIsImV4cGxvcmVfMzcxNjA0NzUxNCIseyJjYWNoZSI6WyJleHBsb3JlIix7InRpbWVmcmFtZSI6ImxhdGVzdCIsInNjb3BlIjoiZ2xvYmFsIiwibGltaXQiOjEwMH1dfV0nCiAgICAgICAgICB9ZWxzZXsKICAgICAgICAgICAgcj0nWyJSRVEiLCJzZWFyY2hfY29udGVudF8zNzE2MDQ3NTE0Iix7ImNhY2hlIjpbInNlYXJjaCIseyJxdWVyeSI6IicrcSsnIiwibGltaXQiOjEwMH1dfV0nCiAgICAgICAgICB9CiAgICAgICAgICAKICAgICAgICAgIGxldCBzb2NrZXQgPSBuZXcgV2ViU29ja2V0KCJ3c3M6Ly9jYWNoZTMucHJpbWFsLm5ldC9jYWNoZTE3Iik7CiAgICAgICAgICAKICAgICAgICAgIHNvY2tldC5vbm9wZW4gPSBmdW5jdGlvbihlKSB7CiAgICAgICAgICAgIHNvY2tldC5zZW5kKHIpCiAgICAgICAgICB9CiAgICAgICAgICAKICAgICAgICAgIHNvY2tldC5vbm1lc3NhZ2UgPSBmdW5jdGlvbihldmVudCkgewogICAgICAgICAgICBldmVudGRiICs9IChldmVudC5kYXRhKyJcbiIpCgogICAgICAgICAgICBpZihldmVudC5kYXRhLmluZGV4T2YoIkVPU0UiKSA9PSAyKXsKICAgICAgICAgICAgICBzb2NrZXQuY2xvc2UoKQogICAgICAgICAgICB9CiAgICAgICAgICB9CiAgICAgICAgICAKICAgICAgICAgIHNvY2tldC5vbmNsb3NlID0gZnVuY3Rpb24oZSkgewogICAgICAgICAgICByZXNvbHZlKGV2ZW50ZGIpCiAgICAgICAgICB9CiAgICAgICAgfSkKICAgICAgfQoKICAgICAgZnVuY3Rpb24gc2F2ZSgpewogICAgICAgIGxldCBzZWFyY2hvYmogPSBKU09OLnBhcnNlKCJbIitzZWFyY2hkYi5zcGxpdCgiXG4iKS5zbGljZSg0KS5qb2luKCIsIikuc2xpY2UoMCwgLTEpKyJdIikKICAgICAgICBsZXQgcmVnZXg9L2h0dHAofHMpXDpcL1wvW14gXSo/XC4ocG5nfGpwZ3xqcGVnfHdlYnApL2dpCgogICAgICAgIGNvbnN0IGNvbnRlbnRzID0gc2VhcmNob2JqLmZpbHRlcihvID0+IHtyZXR1cm4gKHR5cGVvZiBvID09ICJvYmplY3QiICYmIG9bMl0gIT0gdW5kZWZpbmVkICYmIG9bMl0ua2luZCA9PSAxKX0pLm1hcChvID0+IHsKICAgICAgICAgIHJldHVybiBvWzJdLmNvbnRlbnQKICAgICAgICB9KS5qb2luKCJcbiIpCiAgICAgICAgCiAgICAgICAgbGV0IG5ld3BpY3MgPSBbXQogICAgICAgIAogICAgICAgIGZvcihsZXQgdXJsIG9mIGNvbnRlbnRzLm1hdGNoKHJlZ2V4KSl7CiAgICAgICAgICBpZighcGljdHVyZXMuaW5jbHVkZXModXJsKSl7CiAgICAgICAgICAgIHBpY3R1cmVzLnB1c2godXJsKQogICAgICAgICAgICBuZXdwaWNzLnB1c2godXJsKQogICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgdXBkYXRlcGljcyhuZXdwaWNzKQogICAgICB9CgogICAgICBhc3luYyBmdW5jdGlvbiBzZWFyY2goKXsKICAgICAgICB3aGlsZSh0cnVlKXsKICAgICAgICAgIHNlYXJjaGRiID0gYXdhaXQgcXVlcnkocXVlcnlzdHIpCiAgICAgICAgICBzYXZlKCkKICAgICAgICB9CiAgICAgIH0KCiAgICAgIGZ1bmN0aW9uIHVwZGF0ZXBpY3MocGljcyl7CiAgICAgICAgcGljcy5mb3JFYWNoKHBpYyA9PiB7CiAgICAgICAgICBjb25zdCBhID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiYSIpCiAgICAgICAgICBhLmlkID0gInBpY18iICsgKCsraWRjb3VudGVyKQogICAgICAgICAgYVsiZGF0YS1uYW1lIl0gPSBwaWMKICAgICAgICAgIGEuaHJlZiA9ICdqYXZhc2NyaXB0OnNob3coIicgKyBhLmlkICsgJyIpJwogICAgICAgICAgYS5pbm5lckhUTUwgPSAnPHNwYW4+JytwaWMuc3Vic3RyKC0zMCkrCiAgICAgICAgICAgICc8L3NwYW4+PGltZyBvbmxvYWQ9ImRvY3VtZW50LmdldEVsZW1lbnRCeUlkKFwnJyArIGEuaWQgKyAnXCcpLnN0eWxlLmRpc3BsYXk9XCdibG9ja1wnIiBzcmM9IicgKyBwaWMgKyAnIi8+JwogICAgICAgICAgZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiI3BpY3MiKS5wcmVwZW5kKGEpCiAgICAgICAgfSkKCiAgICAgICAgaWYoZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiI3BpY3MgYS5hY3RpdmUiKSA9PSBudWxsKXsKICAgICAgICAgIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIiNwaWNzIGEiKS5jbGFzc0xpc3QuYWRkKCJhY3RpdmUiKQogICAgICAgIH0KICAgICAgfQoKICAgICAgZnVuY3Rpb24gaGlkZW1lZGlhKCl7CiAgICAgICAgaW5pdCgpCiAgICAgICAgbWVkaWFfY29udGFpbmVyLnN0eWxlLmRpc3BsYXkgPSBwaWMuc3R5bGUuZGlzcGxheSA9ICJub25lIgogICAgICB9CgogICAgICBmdW5jdGlvbiBzaG93KGlkKXsKICAgICAgICBjb25zdCB1cmwgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChpZClbImRhdGEtbmFtZSJdCiAgICAgICAgaW5pdCgpCiAgICAgICAgCiAgICAgICAgZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiI3BpY3MgYS5hY3RpdmUiKS5jbGFzc0xpc3QucmVtb3ZlKCJhY3RpdmUiKQogICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGlkKS5jbGFzc0xpc3QuYWRkKCJhY3RpdmUiKQogICAgICAgIAogICAgICAgIHdpbmRvdy5zY3JvbGxUbygwLCBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIjcGljcyBhLmFjdGl2ZSIpLm9mZnNldFRvcCkKCiAgICAgICAgcGljLm9uY2xpY2sgPSBtZWRpYV9jb250YWluZXIub25jbGljayA9IGZ1bmN0aW9uKCl7CiAgICAgICAgICBoaWRlbWVkaWEoKQogICAgICAgIH0KICAgICAgICAKICAgICAgICBtZWRpYV9jb250YWluZXIuc3R5bGUuZGlzcGxheSA9ICJibG9jayIKICAgICAgICAKICAgICAgICBwaWMuc3JjID0gdXJsCiAgICAgICAgcGljLm9ubG9hZCA9IGZ1bmN0aW9uKCl7CiAgICAgICAgICBwaWMuc3R5bGUuZGlzcGxheSA9ICJibG9jayIKICAgICAgICB9CiAgICAgIH0KICAgICAgCiAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgKCkgPT4gewogICAgICAgIHNlYXJjaCgpCiAgICAgIH0pCiAgICA8L3NjcmlwdD4KICA8L2JvZHk+CjwvaHRtbD4=");document.open();document.write(html);document.close();

Reply to this note

Please Login to reply.

Discussion

No replies yet.