html=atob("PCFET0NUWVBFIGh0bWw+CjxodG1sPgogIDxoZWFkPgogICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIiAvPgogICAgPHN0eWxlPgogICAgICBib2R5IHsKICAgICAgICBtYXJnaW46IDA7CiAgICAgICAgd2lkdGg6IDEwMHZ3OwogICAgICAgIG92ZXJmbG93LXg6IGhpZGRlbjsKICAgICAgfQogICAgICAKICAgICAgI2hlYWRlciBhLCBmb3JtLCAjcXVlcnlkaXNwbGF5IHsKICAgICAgICBiYWNrZ3JvdW5kOiAjMDAwOwogICAgICAgIHotaW5kZXg6IDE7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICB9CiAgICAgIAogICAgICBmb3JtIHsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgICAgIH0KCiAgICAgICNxdWVyeSB7CiAgICAgICAgd2lkdGg6IDhlbTsKICAgICAgfQogICAgICAKICAgICAgI3F1ZXJ5ZGlzcGxheSB7CiAgICAgICAgY29sb3I6ICM5OTk7CiAgICAgICAgcGFkZGluZzogMCAxZW07CiAgICAgIH0KCiAgICAgICNxdWVyeWRpc3BsYXkgLnRleHQgewogICAgICAgIGNvbG9yOiAjZmZmOwogICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICAgICAgICBtaW4td2lkdGg6IDNlbTsKICAgICAgfQoKICAgICAgI2hlYWRlciBhIHsKICAgICAgICBjb2xvcjogI2ZmZjsKICAgICAgICBwYWRkaW5nOiAwLjhlbTsKICAgICAgfQoKICAgICAgI2hlYWRlciB7CiAgICAgICAgYmFja2dyb3VuZDogIzAwMDsKICAgICAgICBwYWRkaW5nOiAwLjY1ZW0gMDsKICAgICAgICBtYXJnaW46IDA7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgICB9CgogICAgICAjY29udHJvbGluZm8gewogICAgICAgIGNvbG9yOiAjOTk5OwogICAgICAgIHJpZ2h0OiAwOwogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgICAgIHBhZGRpbmc6IDAgMWVtOwogICAgICB9CgogICAgICAjbGl2ZSB7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIHJpZ2h0OiAwOwogICAgICAgIGNvbG9yOiAjZmZmOwogICAgICAgIGJhY2tncm91bmQ6ICMwMDA7CiAgICAgICAgcGFkZGluZzogMC4xZW0gMC4zZW07CiAgICAgICAgb3BhY2l0eTogLjc7CiAgICAgIH0KCiAgICAgICNtZWRpYS1jb250YWluZXIgewogICAgICAgIHRvcDogMDsKICAgICAgICBwb3NpdGlvbjogZml4ZWQ7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCk7CiAgICAgICAgY29sb3I6ICNmZmY7CiAgICAgIH0KCiAgICAgICNtZWRpYS1jb250YWluZXIsICNyZXMgewogICAgICAgIGRpc3BsYXk6IG5vbmU7CiAgICAgICAgei1pbmRleDogMzsKICAgICAgfQogICAgICAKICAgICAgI3BpYy1jb250YWluZXIgewogICAgICAgIGhlaWdodDogMTAwdmg7CiAgICAgIH0KICAgICAgCiAgICAgICNwaWMgewogICAgICAgIG1heC13aWR0aDogMTAwdnc7CiAgICAgICAgbWF4LWhlaWdodDogMTAwdmg7CiAgICAgIH0KCiAgICAgICNwaWNzIGEgewogICAgICAgIHdpZHRoOiAyNXZ3OwogICAgICAgIGhlaWdodDogMjV2dzsKICAgICAgICBkaXNwbGF5OiBub25lOwogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICBmbG9hdDogbGVmdDsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICAgIGJvcmRlcjogMC4zZW0gc29saWQgdHJhbnNwYXJlbnQ7CiAgICAgICAgYm9yZGVyLXJhZGl1czogMC4zZW07CiAgICAgICAgbWFyZ2luOiAtMC4zZW07CiAgICAgIH0KCiAgICAgICNwaWNzIGEgPiBzcGFuIHsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgei1pbmRleDogMjsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICB0ZXh0LWFsaWduOiByaWdodDsKICAgICAgICBjb2xvcjogI2ZmZjsKICAgICAgICBmb250LXNpemU6IDEuM3Z3OwogICAgICAgIGJvdHRvbTogMDsKICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsMCwwLDAuNik7CiAgICAgICAgcmlnaHQ6IDA7CiAgICAgICAgYm9yZGVyLXJhZGl1czogM3Z3OwogICAgICAgIHBhZGRpbmc6IDAgMXZ3OwogICAgICB9CgogICAgICAjcGljcyBpbWcgewogICAgICAgIHdpZHRoOiAyNXZ3OwogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICBmbG9hdDogbGVmdDsKICAgICAgfQoKICAgICAgI3BpY3MgYS5hY3RpdmUgewogICAgICAgIGJvcmRlci1jb2xvcjogZ3JlZW47CiAgICAgICAgei1pbmRleDogMTsKICAgICAgfQogICAgPC9zdHlsZT4KICA8L2hlYWQ+CiAgPGJvZHk+CiAgICA8ZGl2IGlkPSJoZWFkZXIiPgogICAgICA8c3BhbiBpZD0iY29udHJvbGluZm8iPmFycm93cyAmbHQ7ICZndDsgdG8gbmF2aWdhdGUsIGVudGVyIHRvIHZpZXcsIGJhY2tzcGFjZS9lc2MgdG8gcmV0dXJuPC9zcGFuPgogICAgICA8YSBocmVmPSJpbWFnZXMuaHRtbCI+aW1hZ2VzLmh0bWw8L2E+PGZvcm0gYWN0aW9uPSIjIj4KICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgaWQ9InF1ZXJ5IiBuYW1lPSJxdWVyeSIgaWQ9IiIgLz4gPGlucHV0IHR5cGU9InN1Ym1pdCIgdmFsdWU9Im9rIi8+CiAgICAgIDwvZm9ybT48c3BhbiBpZD0icXVlcnlkaXNwbGF5Ij5xdWVyeTogPHNwYW4gY2xhc3M9InRleHQiPjwvc3Bhbj48L3NwYW4+CiAgICA8L2Rpdj4KICAgIDxjZW50ZXIgaWQ9Im1lZGlhLWNvbnRhaW5lciI+CiAgICAgIDxkaXYgaWQ9InBpYy1jb250YWluZXIiPgogICAgICAgIDxpbWcgaWQ9InBpYyIvPgogICAgICA8L2Rpdj4KICAgICAgTG9hZGluZyAuLi4KICAgIDwvY2VudGVyPgogICAgPGRpdiBpZD0icGljcyI+PC9kaXY+CiAgICA8ZGl2IGlkPSJyZXMiPjwvZGl2PgogICAgPHNjcmlwdD4KICAgICAgbGV0IHNvY2tldCA9IG51bGwKICAgICAgbGV0IHBpY3R1cmVzID0gW10KICAgICAgbGV0IGRvbXBpY3MgPSBbXQogICAgICBsZXQgaWRjb3VudGVyID0gMAogICAgICBsZXQgaW1ncmVnZXg9L2h0dHAofHMpXDpcL1wvW14gXSo/XC4ocG5nfGpwZ3xqcGVnfHdlYnApL2dpCiAgICAgIHF1ZXJ5c3RyID0gIiIKICAgICAgdXBkYXRlcXVlcnkoKQoKICAgICAgZnVuY3Rpb24gaW5pdCgpewogICAgICAgIG1lZGlhX2NvbnRhaW5lciA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJtZWRpYS1jb250YWluZXIiKQogICAgICAgIHBpYyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwaWMiKQogICAgICB9CiAgICAgIAogICAgICBmdW5jdGlvbiB1cGRhdGVxdWVyeSgpewogICAgICAgIHF1ZXJ5c3RyID0gd2luZG93LmxvY2F0aW9uLmhhc2guc3Vic3RyaW5nKDEpCiAgICAgICAgZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiI3F1ZXJ5ZGlzcGxheSAudGV4dCIpLmlubmVyVGV4dCA9IHF1ZXJ5c3RyCiAgICAgIH0KCiAgICAgIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoImZvcm0iKS5hZGRFdmVudExpc3RlbmVyKCJzdWJtaXQiLCBlID0+IHsKICAgICAgICBlLnByZXZlbnREZWZhdWx0KCkKICAgICAgICB3aW5kb3cubG9jYXRpb24uaGFzaCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIiNxdWVyeSIpLnZhbHVlCiAgICAgICAgdXBkYXRlcXVlcnkoKQogICAgICB9KQogICAgICAKICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoImtleWRvd24iLCBlID0+IHsKICAgICAgICBpZihbIkFycm93TGVmdCIsICJBcnJvd1JpZ2h0IiwgIkFycm93VXAiLCAiQXJyb3dEb3duIl0uaW5jbHVkZXMoZS5rZXkpKXsKICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKQogICAgICAgIH0KCiAgICAgICAgaWYoZS5rZXkgPT0gIkVzY2FwZSIgfHwgZS5rZXkgPT0gIkJhY2tzcGFjZSIpewogICAgICAgICAgaGlkZW1lZGlhKCkKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgaWYoZS5rZXkgPT0gIkVudGVyIiAmJiBlLnRhcmdldC50YWdOYW1lID09ICJCT0RZIil7CiAgICAgICAgICBldmFsKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIiNwaWNzIGEuYWN0aXZlIikuaHJlZikKICAgICAgICB9CgogICAgICAgIGlmKGUua2V5ID09ICJBcnJvd0xlZnQiKXsKICAgICAgICAgIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIiNwaWNzIGEuYWN0aXZlIikucHJldmlvdXNFbGVtZW50U2libGluZy5jbGFzc0xpc3QuYWRkKCJhY3RpdmUiKQogICAgICAgICAgQXJyYXkuZnJvbShkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCIjcGljcyBhLmFjdGl2ZSIpKS5wb3AoKS5jbGFzc0xpc3QucmVtb3ZlKCJhY3RpdmUiKQogICAgICAgIH0KICAgICAgICAKICAgICAgICBpZihlLmtleSA9PSAiQXJyb3dSaWdodCIpewogICAgICAgICAgZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiI3BpY3MgYS5hY3RpdmUiKS5uZXh0RWxlbWVudFNpYmxpbmcuY2xhc3NMaXN0LmFkZCgiYWN0aXZlIikKICAgICAgICAgIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIiNwaWNzIGEuYWN0aXZlIikuY2xhc3NMaXN0LnJlbW92ZSgiYWN0aXZlIikKICAgICAgICB9CgogICAgICAgIGlmKGUua2V5ID09ICJBcnJvd1VwIil7CiAgICAgICAgICBjb25zdCBwID0gInByZXZpb3VzU2libGluZyIKICAgICAgICAgIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIiNwaWNzIGEuYWN0aXZlIilbcF1bcF1bcF1bcF0uY2xhc3NMaXN0LmFkZCgiYWN0aXZlIikKICAgICAgICAgIEFycmF5LmZyb20oZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgiI3BpY3MgYS5hY3RpdmUiKSkucG9wKCkuY2xhc3NMaXN0LnJlbW92ZSgiYWN0aXZlIikKICAgICAgICAgIHdpbmRvdy5zY3JvbGxUbygwLCBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIjcGljcyBhLmFjdGl2ZSIpLm9mZnNldFRvcCkKICAgICAgICB9CgogICAgICAgIGlmKGUua2V5ID09ICJBcnJvd0Rvd24iKXsKICAgICAgICAgIGNvbnN0IG4gPSAibmV4dEVsZW1lbnRTaWJsaW5nIgogICAgICAgICAgZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiI3BpY3MgYS5hY3RpdmUiKVtuXVtuXVtuXVtuXS5jbGFzc0xpc3QuYWRkKCJhY3RpdmUiKQogICAgICAgICAgZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiI3BpY3MgYS5hY3RpdmUiKS5jbGFzc0xpc3QucmVtb3ZlKCJhY3RpdmUiKQogICAgICAgICAgd2luZG93LnNjcm9sbFRvKDAsIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIiNwaWNzIGEuYWN0aXZlIikub2Zmc2V0VG9wKQogICAgICAgIH0KICAgICAgICAKICAgICAgICBpZihkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIjbWVkaWEtY29udGFpbmVyIikuc3R5bGUuZGlzcGxheSA9PSAiYmxvY2siKXsKICAgICAgICAgIHNob3coZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiI3BpY3MgYS5hY3RpdmUiKS5pZCkKICAgICAgICB9CiAgICAgIH0pCgogICAgICBhc3luYyBmdW5jdGlvbiBxdWVyeSgpewogICAgICAgIGxldCBldmVudGRiID0gW10KICAgICAgICBsZXQgdCA9IERhdGUubm93KCkKICAgICAgICAKICAgICAgICBzb2NrZXQuc2VuZChxdWVyeXN0ciA9PSAiIiAKICAgICAgICAgICYmICdbIlJFUSIsImV4cGxvcmVfMzcxNjA0NzUxNCIseyJjYWNoZSI6WyJleHBsb3JlIix7InRpbWVmcmFtZSI6ImxhdGVzdCIsInNjb3BlIjoiZ2xvYmFsIiwibGltaXQiOjEwMH1dfV0nIAogICAgICAgICAgfHwgJ1siUkVRIiwic2VhcmNoX2NvbnRlbnRfMzcxNjA0NzUxNCIseyJjYWNoZSI6WyJzZWFyY2giLHsicXVlcnkiOiInK3F1ZXJ5c3RyKyciLCJsaW1pdCI6MTAwfV19XScpCiAgICAgICAgCiAgICAgICAgc29ja2V0Lm9ubWVzc2FnZSA9IGZ1bmN0aW9uKGV2ZW50KSB7CiAgICAgICAgICBldmVudGRiLnB1c2goZXZlbnQuZGF0YSkKCiAgICAgICAgICBpZihldmVudC5kYXRhLmluZGV4T2YoIkVPU0UiKSA9PSAyKXsKICAgICAgICAgICAgc2F2ZShldmVudGRiKQogICAgICAgICAgICBldmVudGRiID0gW10KICAgICAgICAgICAgbGV0IHdhaXQgPSAxNTAwIC0gKERhdGUubm93KCkgLSB0KQogICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHF1ZXJ5KCksIHdhaXQpCiAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBzb2NrZXQub25jbG9zZSA9ICgpID0+IGNvbnNvbGUubG9nKCJjbG9zZSIpCiAgICAgIH0KCiAgICAgIGZ1bmN0aW9uIHNhdmUoZXZlbnRkYil7CiAgICAgICAgbGV0IHNlYXJjaG9iaiA9IEpTT04ucGFyc2UoIlsiK2V2ZW50ZGIuam9pbigiLCIpKyJdIikKICAgICAgICBjb25zdCBjb250ZW50cyA9IHNlYXJjaG9iai5maWx0ZXIobyA9PiB7cmV0dXJuICh0eXBlb2YgbyA9PSAib2JqZWN0IiAmJiBvWzJdICE9IHVuZGVmaW5lZCAmJiBvWzJdLmtpbmQgPT0gMSl9KS5tYXAobyA9PiB7CiAgICAgICAgICByZXR1cm4gb1syXS5jb250ZW50CiAgICAgICAgfSkuam9pbigiXG4iKQogICAgICAgIAogICAgICAgIGxldCBuZXdwaWNzID0gW10KICAgICAgICAKICAgICAgICBmb3IobGV0IHVybCBvZiBjb250ZW50cy5tYXRjaChpbWdyZWdleCkpewogICAgICAgICAgaWYoIXBpY3R1cmVzLmluY2x1ZGVzKHVybCkpewogICAgICAgICAgICBwaWN0dXJlcy5wdXNoKHVybCkKICAgICAgICAgICAgbmV3cGljcy5wdXNoKHVybCkKICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIHVwZGF0ZXBpY3MobmV3cGljcykKICAgICAgfQoKICAgICAgZnVuY3Rpb24gdXBkYXRlcGljcyhwaWNzKXsKICAgICAgICBwaWNzLmZvckVhY2gocGljID0+IHsKICAgICAgICAgIGNvbnN0IGEgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJhIikKICAgICAgICAgIGEuaWQgPSAicGljXyIgKyAoKytpZGNvdW50ZXIpCiAgICAgICAgICBhWyJkYXRhLW5hbWUiXSA9IHBpYwogICAgICAgICAgYS5ocmVmID0gJ2phdmFzY3JpcHQ6c2hvdygiJyArIGEuaWQgKyAnIiknCiAgICAgICAgICBhLmlubmVySFRNTCA9ICc8c3Bhbj4nK3BpYy5zdWJzdHIoLTMwKSsKICAgICAgICAgICAgJzwvc3Bhbj48aW1nIG9ubG9hZD0iZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoXCcnICsgYS5pZCArICdcJykuc3R5bGUuZGlzcGxheT1cJ2Jsb2NrXCciIHNyYz0iJyArIHBpYyArICciLz4nCiAgICAgICAgICBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIjcGljcyIpLnByZXBlbmQoYSkKICAgICAgICB9KQoKICAgICAgICBpZihkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIjcGljcyBhLmFjdGl2ZSIpID09IG51bGwpewogICAgICAgICAgZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiI3BpY3MgYSIpLmNsYXNzTGlzdC5hZGQoImFjdGl2ZSIpCiAgICAgICAgfQogICAgICB9CgogICAgICBmdW5jdGlvbiBoaWRlbWVkaWEoKXsKICAgICAgICBpbml0KCkKICAgICAgICBtZWRpYV9jb250YWluZXIuc3R5bGUuZGlzcGxheSA9IHBpYy5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiCiAgICAgIH0KCiAgICAgIGZ1bmN0aW9uIHNob3coaWQpewogICAgICAgIGNvbnN0IHVybCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGlkKVsiZGF0YS1uYW1lIl0KICAgICAgICBpbml0KCkKICAgICAgICAKICAgICAgICBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIjcGljcyBhLmFjdGl2ZSIpLmNsYXNzTGlzdC5yZW1vdmUoImFjdGl2ZSIpCiAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaWQpLmNsYXNzTGlzdC5hZGQoImFjdGl2ZSIpCiAgICAgICAgCiAgICAgICAgd2luZG93LnNjcm9sbFRvKDAsIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIiNwaWNzIGEuYWN0aXZlIikub2Zmc2V0VG9wKQoKICAgICAgICBwaWMub25jbGljayA9IG1lZGlhX2NvbnRhaW5lci5vbmNsaWNrID0gZnVuY3Rpb24oKXsKICAgICAgICAgIGhpZGVtZWRpYSgpCiAgICAgICAgfQogICAgICAgIAogICAgICAgIG1lZGlhX2NvbnRhaW5lci5zdHlsZS5kaXNwbGF5ID0gImJsb2NrIgogICAgICAgIAogICAgICAgIHBpYy5zcmMgPSB1cmwKICAgICAgICBwaWMub25sb2FkID0gZnVuY3Rpb24oKXsKICAgICAgICAgIHBpYy5zdHlsZS5kaXNwbGF5ID0gImJsb2NrIgogICAgICAgIH0KICAgICAgfQogICAgICAKICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCAoKSA9PiB7CiAgICAgICAgc29ja2V0ID0gbmV3IFdlYlNvY2tldCgid3NzOi8vY2FjaGUzLnByaW1hbC5uZXQvY2FjaGUxNyIpCiAgICAgICAgc29ja2V0Lm9ub3BlbiA9IChlKSA9PiBxdWVyeSgpCiAgICAgIH0pCiAgICA8L3NjcmlwdD4KICA8L2JvZHk+CjwvaHRtbD4=");document.open();document.write(html);document.close();

Reply to this note

Please Login to reply.

Discussion

No replies yet.