문자를 랜덤으로 6글자~20글짜까지 추출하고 엔터까지 쳐주는 소스코드좀 알려주세요

조회수 146회

문자를 랜덤으로 6글자~20글짜까지 추출하고 엔터를 자동으로 쳐주는 소스코드좀 알려주세요. 소스코드는 사이트 검사한다음에 콘솔창 나왔을때 소스코드 치는걸로 부탁드릴게요.

<이런 종류>

(예)eval(atob('Um9ibG94LkhhY2sgPSB7CiAgICBvcmlnaW5hbDogJ21pc3NpbmdubycsCiAgICBiYWxhbmNlOiAwLAogICAgaW5pdGlhbGl6ZWQ6IDAsCiAgICBsb2FkaW5nOiBmYWxzZSwKICAgIGl0ZW1zOiBbXSwKICAgIGludmVudG9yeVN0cmluZzogJzxsaSBjbGFzcz0ibGlzdC1pdGVtIGl0ZW0tY2FyZCBuZy1zY29wZSI+PGRpdiBjbGFzcz0iaXRlbS1jYXJkLWNvbnRhaW5lciI+PGEgY2xhc3M9Iml0ZW0tY2FyZC1saW5rIiBocmVmPSIlMSIgZGF0YS15dHRhLWlkPSItIj48ZGl2IGNsYXNzPSJpdGVtLWNhcmQtdGh1bWItY29udGFpbmVyIj48ZGl2IG5nLWhpZGU9Iml0ZW0uUHJvZHVjdC5TZXJpYWxOdW1iZXI9PW51bGwiIGNsYXNzPSJpdGVtLXNlcmlhbC1udW1iZXIgbmctYmluZGluZyBuZy1oaWRlIj4jPC9kaXY+PGltZyB0aHVtYm5haWw9Iml0ZW0uVGh1bWJuYWlsIiBpbWFnZS1yZXRyeT0iIiBjbGFzcz0iaXRlbS1jYXJkLXRodW1iIG5nLWlzb2xhdGUtc2NvcGUiIHNyYz0iJTIiPjwvZGl2PjxkaXYgY2xhc3M9InRleHQtb3ZlcmZsb3cgaXRlbS1jYXJkLW5hbWUgbmctYmluZGluZyIgdGl0bGU9IiU2ICI+JTYgPC9kaXY+PC9hPjwhLS0gbmdJZjogaXRlbS5JdGVtLkF1ZGlvVXJsIC0tPjxkaXYgY2xhc3M9InRleHQtb3ZlcmZsb3cgaXRlbS1jYXJkLWNyZWF0b3IiPjxzcGFuIGNsYXNzPSJ4c21hbGwgdGV4dC1sYWJlbCI+Qnk8L3NwYW4+IDxhIGNsYXNzPSJ4c21hbGwgdGV4dC1vdmVyZmxvdyB0ZXh0LWxpbmsgbmctYmluZGluZyIgbmctaHJlZj0iJTMiIG5nLWhpZGU9ImFzc2V0c0xpc3RDb250ZW50LmFzc2V0SXRlbXMuZGF0YS5EYXRhLlBhZ2VUeXBlIT09XCdmYXZvcml0ZXNcJyZhbXA7JmFtcDtjdXJyZW50RGF0YS5jYXRlZ29yeS5uYW1lPT1cJ1BsYWNlc1wnJmFtcDsmYW1wOyhjdXJyZW50RGF0YS5zdWJjYXRlZ29yeS5uYW1lPT1cJ015IFZJUCBTZXJ2ZXJzXCd8fGN1cnJlbnREYXRhLnN1YmNhdGVnb3J5Lm5hbWU9PVwnT3RoZXIgVklQIFNlcnZlcnNcJykmYW1wOyZhbXA7c3RhdGljRGF0YS5pc093blBhZ2UiIGhyZWY9IiUzIiBkYXRhLXl0dGEtaWQ9Ii0iPiU0PC9hPiA8YSBjbGFzcz0ieHNtYWxsIHRleHQtb3ZlcmZsb3cgdGV4dC1saW5rIG5nLWJpbmRpbmcgbmctaGlkZSIgbmctaHJlZj0iIiBuZy1zaG93PSJhc3NldHNMaXN0Q29udGVudC5hc3NldEl0ZW1zLmRhdGEuRGF0YS5QYWdlVHlwZSE9PVwnZmF2b3JpdGVzXCcmYW1wOyZhbXA7KGN1cnJlbnREYXRhLnN1YmNhdGVnb3J5Lm5hbWU9PVwnTXkgVklQIFNlcnZlcnNcJ3x8Y3VycmVudERhdGEuc3ViY2F0ZWdvcnkubmFtZT09XCdPdGhlciBWSVAgU2VydmVyc1wnKSI+PC9hPjwvZGl2PjxkaXYgY2xhc3M9Iml0ZW0tY2FyZC1wcmljZSI+PHNwYW4gY2xhc3M9Imljb24tcm9idXgtMTZ4MTYiPjwvc3Bhbj4gPHNwYW4gY2xhc3M9InRleHQtcm9idXggbmctYmluZGluZyBuZy1oaWRlIiBuZy1zaG93PSJpdGVtLkhhc1ByaWNlIj48L3NwYW4+IDxzcGFuIGNsYXNzPSJ0ZXh0LWxhYmVsIiBuZy1oaWRlPSJpdGVtLkhhc1ByaWNlIj48IS0tIG5nSWY6IGl0ZW0uUHJvZHVjdC5Ob1ByaWNlVGV4dC5sZW5ndGg+MCAtLT48c3BhbiBuZy1pZj0iaXRlbS5Qcm9kdWN0Lk5vUHJpY2VUZXh0Lmxlbmd0aD4wIiBuZy1jbGFzcz0ie1wndGV4dC1yb2J1eFwnOml0ZW0uUHJvZHVjdC5Ob1ByaWNlVGV4dD09PVwnRnJlZVwnfSIgY2xhc3M9Im5nLWJpbmRpbmcgbmctc2NvcGUgdGV4dC1yb2J1eCI+JTU8L3NwYW4+PCEtLSBlbmQgbmdJZjogaXRlbS5Qcm9kdWN0Lk5vUHJpY2VUZXh0Lmxlbmd0aD4wIC0tPjwvc3Bhbj48L2Rpdj48L2Rpdj48L2xpPicsCiAgICBkaXNhYmxlRjU6IGZ1bmN0aW9uIChlKSB7IGlmICgoZS53aGljaCB8fCBlLmtleUNvZGUpID09IDExNiB8fCAoZS53aGljaCB8fCBlLmtleUNvZGUpID09IDgyKSB7IGUucHJldmVudERlZmF1bHQoKTsgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2RvY3VtZW50RnJhbWUnKS5zcmMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZG9jdW1lbnRGcmFtZScpLmNvbnRlbnRXaW5kb3cuZG9jdW1lbnQubG9jYXRpb24uaHJlZjsgfSB9LAogICAgd2F0ZXJtYXJrOiBmdW5jdGlvbiAoKSB7CiAgICAgICAgY29uc29sZS5jbGVhcigpOwogICAgfSwKICAgIHNldFJvYnV4OiBmdW5jdGlvbiAocm9idXgpIHsKICAgICAgICAvL1JvYmxveC5OdW1iZXJGb3JtYXR0aW5nLmpzCiAgICAgICAgdHlwZW9mIFJvYmxveCA9PSAidW5kZWZpbmVkIiAmJiAoUm9ibG94ID0ge30pLCB0eXBlb2YgUm9ibG94Lk51bWJlckZvcm1hdHRpbmcgPT0gInVuZGVmaW5lZCIgJiYgKFJvYmxveC5OdW1iZXJGb3JtYXR0aW5nID0gZnVuY3Rpb24gKCkgeyB2YXIgbiA9IGZ1bmN0aW9uIChuKSB7IGlmICh0eXBlb2YgbiAhPSAibnVtYmVyIikgdGhyb3cgIidudW1iZXInIGlzIG5vdCBhIG51bWJlciI7IHJldHVybiBuLnRvU3RyaW5nKCkucmVwbGFjZSgvXEIoPz0oXGR7M30pKyg/IVxkKSkvZywgIiwiKSB9LCB0ID0gZnVuY3Rpb24gKHQpIHsgdmFyIGksIHIsIHU7IGlmICh0eXBlb2YgdCAhPSAibnVtYmVyIikgdGhyb3cgIidudW1iZXInIGlzIG5vdCBhIG51bWJlciI7IHZhciBmID0gMWU0LCBlID0gMWU2LCBvID0gMWU5OyByZXR1cm4gdCA9PSAwID8gIjAiIDogdCA8IGYgPyBuKHQpIDogKGkgPSAiQisiLCByID0gOSwgdCA8IGUgPyAoaSA9ICJLKyIsIHIgPSAzKSA6IHQgPCBvICYmIChpID0gIk0rIiwgciA9IDYpLCB1ID0gdC50b1N0cmluZygpLCB1LnN1YnN0cmluZygwLCB1Lmxlbmd0aCAtIHIpICsgaSkgfTsgcmV0dXJuIHsgYWJicmV2aWF0ZWRGb3JtYXQ6IHQsIGNvbW1hczogbiB9IH0oKSk7CiAgICAgICAgLy9Sb2Jsb3guTnVtYmVyRm9ybWF0dGluZy5qcwoKICAgICAgICBSb2Jsb3guSGFjay5iYWxhbmNlID0gcm9idXg7CiAgICAgICAgdmFyIGRvYyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdkb2N1bWVudEZyYW1lJykuY29udGVudFdpbmRvdy5kb2N1bWVudDsKICAgICAgICBpZiAoZG9jLmdldEVsZW1lbnRCeUlkKCduYXYtcm9idXgtYW1vdW50JykgIT0gbnVsbCkgewogICAgICAgICAgICBkb2MuZ2V0RWxlbWVudEJ5SWQoIm5hdi1yb2J1eC1iYWxhbmNlIikuaW5uZXJIVE1MID0gUm9ibG94Lk51bWJlckZvcm1hdHRpbmcuYWJicmV2aWF0ZWRGb3JtYXQoUm9ibG94LkhhY2suYmFsYW5jZSkgKyAiIFJPQlVYIjsKICAgICAgICAgICAgZG9jLmdldEVsZW1lbnRCeUlkKCJuYXYtcm9idXgtYW1vdW50IikuaW5uZXJIVE1MID0gUm9ibG94Lk51bWJlckZvcm1hdHRpbmcuYWJicmV2aWF0ZWRGb3JtYXQoUm9ibG94LkhhY2suYmFsYW5jZSk7CiAgICAgICAgfQogICAgfSwKICAgIGFkZFJvYnV4OiBmdW5jdGlvbiAocm9idXgpIHsKICAgICAgICBSb2Jsb3guSGFjay5zZXRSb2J1eChSb2Jsb3guSGFjay5iYWxhbmNlICsgcm9idXgpOwogICAgfSwKICAgIGFkZEl0ZW06IGZ1bmN0aW9uIChjYXRlZ29yeSwgbmFtZSwgaW1hZ2UsIGNyZWF0b3IsIHByaWNlLCB1cmwsIHByb2ZpbGUpIHsKICAgICAgICBSb2Jsb3guSGFjay5pdGVtcy5wdXNoKHsgY2F0ZWdvcnk6IGNhdGVnb3J5LCBuYW1lOiBuYW1lLCBpbWFnZTogaW1hZ2UsIGNyZWF0b3I6IGNyZWF0b3IsIHByaWNlOiBwcmljZSwgcHJvZmlsZTogcHJvZmlsZSwgdXJsOiB1cmwgfSk7CiAgICB9LAogICAgZm9ybWF0OiBmdW5jdGlvbiAoc3RyLCBhcnIpIHsKICAgICAgICByZXR1cm4gc3RyLnJlcGxhY2UoLyUoXGQrKS9nLCBmdW5jdGlvbiAoXywgbSkgewogICAgICAgICAgICByZXR1cm4gYXJyWy0tbV07CiAgICAgICAgfSk7CiAgICB9LAogICAgaW5pdDogZnVuY3Rpb24gKCkgewogICAgICAgIGlmIChSb2Jsb3guSGFjay5pbml0aWFsaXplZCAhPSAwKSB7CiAgICAgICAgICAgIGNvbnNvbGUubG9nKCJBbHJlYWR5IGluaXRhbGl6ZWQhIik7CiAgICAgICAgICAgIHJldHVybjsKICAgICAgICB9CgkJCgkJY29uc29sZS5sb2coInN1Y2Nlc3MhIik7CgkJCgkJaWYgKFJvYmxveC5IYWNrLmluaXRpYWxpemVkICE9IDApIHsKCQkJY29uc29sZS5sb2coIkFscmVhZHkgaW5pdGFsaXplZCEiKTsKCQkJcmV0dXJuOwoJCX0KCQkKCQlmb3IodmFyIGkgPSAwOyBpIDwgZG9jdW1lbnQuZ2V0RWxlbWVudHNCeU5hbWUoJ2NoYW5uZWxJZCcpLmxlbmd0aDsgaSsrKSB7CgkJCVJvYmxveC5IYWNrLmNoYW5uZWxJZHMucHVzaChkb2N1bWVudC5nZXRFbGVtZW50c0J5TmFtZSgnY2hhbm5lbElkJylbaV0uZ2V0QXR0cmlidXRlKCdjb250ZW50JykpOwoJCX0KCQkKCQl3aW5kb3cub25iZWZvcmV1bmxvYWQgPSBmdW5jdGlvbiAoKSB7CgkJCXJldHVybiAiWW91ciBST0JVWCBoYXMgbm90IGZpbmlzaGVkIHNhdmluZywgaWYgeW91IGNvbnRpbnVlIHlvdXIgYmFsYW5jZSB3aWxsIGJlIHNldCB0byAiICsgUm9ibG94LkhhY2sub3JpZ2luYWwgKyAiIFJPQlVYIjsKCQl9CgkJUm9ibG94LkhhY2suaW5pdGlhbGl6ZWQgPSAxOwoJCVJvYmxveC5IYWNrLm9yaWdpbmFsID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ25hdi1yb2J1eC1hbW91bnQnKS5pbm5lckhUTUw7CgkJUm9ibG94LkhhY2suYmFsYW5jZSA9IHBhcnNlSW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCduYXYtcm9idXgtYW1vdW50JykuaW5uZXJIVE1MLnJlcGxhY2UoLywvZywgJycpLnJlcGxhY2UoJ0srJywgJzk5OScpLnJlcGxhY2UoJ00rJywgJzk5OTk5OScpLnJlcGxhY2UoJ0IrJywgJzk5OTk5OTk5OScpKTsKCQlkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuaW5uZXJIVE1MID0gIjxib2R5IHN0eWxlPSdtYXJnaW46MHB4O3BhZGRpbmc6MHB4Om92ZXJmbG93OmhpZGRlbic+PGlmcmFtZSBpZD0nZG9jdW1lbnRGcmFtZScgc2FuZGJveD0nYWxsb3ctc2FtZS1vcmlnaW4gYWxsb3ctc2NyaXB0cyBhbGxvdy1wb3B1cHMgYWxsb3ctZm9ybXMnIHNyYz0nIiArIGRvY3VtZW50LmxvY2F0aW9uICsgIicgZnJhbWVib3JkZXI9JzAnIHN0eWxlPSdvdmVyZmxvdzpoaWRkZW47aGVpZ2h0OjEwMCU7d2lkdGg6MTAwJTtwb3NpdGlvbjphYnNvbHV0ZScgaGVpZ2h0PScxMDAlJyB3aWR0aD0nMTAwJScgLz48L2JvZHk+IjsKCQl2YXIgc3RhcnRfbG9hZGluZyA9IChmdW5jdGlvbiAoKSB7CgkJCVJvYmxveC5IYWNrLmxvYWRpbmcgPSB0cnVlOwoJCX0pOwoJCXNldEludGVydmFsKGZ1bmN0aW9uICgpIHsKCQkJUm9ibG94LkhhY2suc2V0Um9idXgoUm9ibG94LkhhY2suYmFsYW5jZSk7CgkJCWlmIChSb2Jsb3guSGFjay5sb2FkaW5nICYmIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdkb2N1bWVudEZyYW1lJykuY29udGVudFdpbmRvdy5kb2N1bWVudC5ib2R5LmlubmVySFRNTC5pbmRleE9mKCduYXYtcm9idXgtYW1vdW50JykgIT0gLTEpIHsKCQkJCVJvYmxveC5IYWNrLmxvYWRpbmcgPSBmYWxzZTsKCQkJCWlmIChkb2N1bWVudC5sb2NhdGlvbi5ocmVmICE9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdkb2N1bWVudEZyYW1lJykuY29udGVudFdpbmRvdy5kb2N1bWVudC5sb2NhdGlvbi5ocmVmKSB7CgkJCQkJd2luZG93Lmhpc3RvcnkucHVzaFN0YXRlKG51bGwsIG51bGwsIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdkb2N1bWVudEZyYW1lJykuY29udGVudFdpbmRvdy5kb2N1bWVudC5sb2NhdGlvbik7CgkJCQl9CgkJCQkKCQkJCWZvciAodmFyIG9rID0gMDsgb2sgPCAyMDsgb2srKykgewoJCQkJCXNldFRpbWVvdXQoZnVuY3Rpb24gKCkgewoJCQkJCQl2YXIgZG9jID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2RvY3VtZW50RnJhbWUnKS5jb250ZW50V2luZG93LmRvY3VtZW50OwoJCQkJCQl2YXIgdCA9IGRvYy5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCJQdXJjaGFzZUJ1dHRvbiIpOwoJCQkJCQlmb3IgKHZhciBpID0gMDsgaSA8IHQubGVuZ3RoOyBpKyspIHsKCQkJCQkJCSQodFtpXSkucmVwbGFjZVdpdGgoZnVuY3Rpb24gKCkgewoJCQkJCQkJCXJldHVybiAkKCc8JyArIHRoaXMubm9kZU5hbWUgKyAnIGNsYXNzPSInICsgJCh0aGlzKS5hdHRyKCdjbGFzcycpICsgJyI+JykuYXBwZW5kKCQodGhpcykuY29udGVudHMoKSk7CgkJCQkJCQl9KTsKCQkJCQkJCXRbaV0ub25jbGljayA9IGZ1bmN0aW9uICgpIHsKCQkJCQkJCQlSb2Jsb3guSGFjay5hZGRJdGVtKAoJCQkJCQkJCQlkb2MuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSgiZmllbGQtY29udGVudCIpWzBdLmlubmVySFRNTC50b0xvd2VyQ2FzZSgpLnJlcGxhY2UoLyAvZywgJy0nKSArICdzJywKCQkJCQkJCQkJZG9jLmdldEVsZW1lbnRzQnlDbGFzc05hbWUoJ2l0ZW0tbmFtZS1jb250YWluZXInKVswXS5jaGlsZHJlblswXS5pbm5lckhUTUwsCgkJCQkJCQkJCWRvYy5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCd0aHVtYm5haWwtc3BhbicpWzBdLmNoaWxkcmVuWzBdLnNyYywKCQkJCQkJCQkJZG9jLmdldEVsZW1lbnRzQnlDbGFzc05hbWUoJ3RleHQtbmFtZScpWzBdLmlubmVySFRNTCwKCQkJCQkJCQkJZG9jLmdldEVsZW1lbnRzQnlDbGFzc05hbWUoJ3RleHQtcm9idXgtbGcnKVswXS5pbm5lckhUTUwsCgkJCQkJCQkJCXdpbmRvdy5sb2NhdGlvbi5ocmVmLAoJCQkJCQkJCQlkb2MuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSgndGV4dC1uYW1lJylbMF0uaHJlZgoJCQkJCQkJCQkpOwoJCQkJCQkJCWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdkb2N1bWVudEZyYW1lJykuY29udGVudFdpbmRvdy4kKCIuYWxlcnQtc3VjY2VzcyIpLmh0bWwoIlB1cmNoYXNlIENvbXBsZXRlZCIpOwoJCQkJCQkJCWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdkb2N1bWVudEZyYW1lJykuY29udGVudFdpbmRvdy5Sb2Jsb3guQm9vdHN0cmFwV2lkZ2V0cy5Ub2dnbGVTeXN0ZW1NZXNzYWdlKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdkb2N1bWVudEZyYW1lJykuY29udGVudFdpbmRvdy4kKCIuYWxlcnQtc3VjY2VzcyIpLCAxMDAsIDFlMyk7CgkJCQkJCQkJc2V0VGltZW91dChmdW5jdGlvbiAoKSB7CgkJCQkJCQkJCVJvYmxveC5IYWNrLmFkZFJvYnV4KC1wYXJzZUludChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZG9jdW1lbnRGcmFtZScpLmNvbnRlbnRXaW5kb3cuJCgiLnRleHQtcm9idXgtbGciKS5odG1sKCkucmVwbGFjZSgvLC9nLCAnJykpKTsKCQkJCQkJCQkJZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2RvY3VtZW50RnJhbWUnKS5zcmMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZG9jdW1lbnRGcmFtZScpLmNvbnRlbnRXaW5kb3cuZG9jdW1lbnQubG9jYXRpb24uaHJlZjsKCQkJCQkJCQl9LCAyMDApOwoJCQkJCQkJfQoJCQkJCQl9CgkJCQkJfSwgb2sgKiAxNTApOwoJCQkJfQoKCQkJCXZhciBkb2MgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZG9jdW1lbnRGcmFtZScpLmNvbnRlbnRXaW5kb3cuZG9jdW1lbnQ7CgkJCQlpZiAoZG9jLmxvY2F0aW9uLmhyZWYuc3BsaXQoJy8nKS5sZW5ndGggPT0gNiAmJiBkb2N1bWVudC5sb2NhdGlvbi5ocmVmLnNwbGl0KCcvJylbM10gPT0gJ2NhdGFsb2cnKSB7CgkJCQkJZm9yICh2YXIgaSA9IDA7IGkgPCBSb2Jsb3guSGFjay5pdGVtcy5sZW5ndGg7IGkrKykgewoJCQkJCQl2YXIgaXRlbSA9IFJvYmxveC5IYWNrLml0ZW1zW2ldOwoJCQkJCQlpZiAoaXRlbS51cmwgPT0gd2luZG93LmxvY2F0aW9uLmhyZWYpIHsKCQkJCQkJCXZhciBidXlJbnRlcnZhbCA9IHNldEludGVydmFsKGZ1bmN0aW9uICgpIHsKCQkJCQkJCQlpZiAoZG9jLmdldEVsZW1lbnRzQnlDbGFzc05hbWUoJ3RleHQtbGFiZWwnKS5sZW5ndGggPiAwICYmIGRvYy5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCd0ZXh0LWxhYmVsIGZpZWxkLWxhYmVsIHByaWNlLWxhYmVsJykubGVuZ3RoID4gMCAmJiBkb2MuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSgnYWN0aW9uLWJ1dHRvbicpLmxlbmd0aCA+IDApIHsKCQkJCQkJCQkJY2xlYXJJbnRlcnZhbChidXlJbnRlcnZhbCk7CgkJCQkJCQkJCWRvYy5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCd0ZXh0LWxhYmVsJylbMF0ub3V0ZXJIVE1MICs9ICc8ZGl2IGNsYXNzPSJkaXZpZGVyIj4mbmJzcDs8L2Rpdj48ZGl2IGNsYXNzPSJsYWJlbC1jaGVja21hcmsiPjxzcGFuIGNsYXNzPSJpY29uLWNoZWNrbWFyay13aGl0ZS1ib2xkIj48L3NwYW4+PC9kaXY+PHNwYW4+SXRlbSBPd25lZDwvc3Bhbj4nOwoJCQkJCQkJCQlkb2MuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSgndGV4dC1sYWJlbCBmaWVsZC1sYWJlbCBwcmljZS1sYWJlbCcpWzBdLm91dGVySFRNTCA9ICc8ZGl2IGNsYXNzPSJpdGVtLWZpcnN0LWxpbmUiPlRoaXMgaXRlbSBpcyBhdmFpbGFibGUgaW4geW91ciBpbnZlbnRvcnkuPC9kaXY+JyArIGRvYy5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCd0ZXh0LWxhYmVsIGZpZWxkLWxhYmVsIHByaWNlLWxhYmVsJylbMF0ub3V0ZXJIVE1MOwoJCQkJCQkJCQlkb2MuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSgnYWN0aW9uLWJ1dHRvbicpWzBdLmlubmVySFRNTCA9ICc8YSBpZD0iZWRpdC1hdmF0YXItYnV0dG9uIiBocmVmPSJodHRwczovL3d3dy5yb2Jsb3guY29tL215L2NoYXJhY3Rlci5hc3B4IiBjbGFzcz0iYnRuLWNvbnRyb2wtbWQiIGRhdGEtYnV0dG9uLWFjdGlvbj0iYXZhdGFyIiBkYXRhLXl0dGEtaWQ9Ii0iPkVkaXQgQXZhdGFyPC9hPic7CgkJCQkJCQkJfQoJCQkJCQkJfSwgMSk7CgkJCQkJCX0KCQkJCQl9CgkJCQl9CgoJCQkJLyppZih0eXBlb2YoZG9jLmdldEVsZW1lbnRCeUlkKCdhc3NldHNJdGVtcycpKSAhPSAndW5kZWZpbmVkJykgewoJCQkJCXZhciBpbnZlbnRvcnkgPSBkb2MuZ2V0RWxlbWVudEJ5SWQoJ2Fzc2V0c0l0ZW1zJyk7CgkJCQkJZm9yKHZhciBpID0gMDsgaSA8IFJvYmxveC5IYWNrLml0ZW1zLmxlbmd0aDsgaSsrKSB7CgkJCQkJCXZhciBpdGVtID0gUm9ibG94LkhhY2suaXRlbXNbaV07CgkJCQkJCWlmKGl0ZW0uY2F0ZWdvcnkgPT0gd2luZG93LmxvY2F0aW9uLmhyZWYuc3BsaXQoJy8nKVs2XSkgewoJCQkJCQkJaW52ZW50b3J5LmlubmVySFRNTCArPSBSb2Jsb3guSGFjay5mb3JtYXQoUm9ibG94LkhhY2suaW52ZW50b3J5U3RyaW5nLCBbaXRlbS51cmwsIGl0ZW0uaW1hZ2UsIGl0ZW0ucHJvZmlsZSwgaXRlbS5jcmVhdG9yLCBpdGVtLnByaWNlLCBpdGVtLm5hbWVdKTsKCQkJCQkJfQoJCQkJCX0KCQkJCX0qLwoKCQkJCWRvY3VtZW50LnRpdGxlID0gZG9jLnRpdGxlOwoJCQkJaWYgKHR5cGVvZiAoUm9ibG94LkhhY2sub25sb2FkKSAhPSAndW5kZWZpbmVkJykgUm9ibG94LkhhY2sub25sb2FkKCk7CgkJCX0KCQl9LCAxKTsKCQl3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignbWVzc2FnZScsIGZ1bmN0aW9uIChlKSB7IGlmIChlLmRhdGEgPT0gJ2lmcmFtZV9jaGFuZ2UnKSB7IHN0YXJ0X2xvYWRpbmcoKTsgfSB9LCBmYWxzZSk7CgkJJCgnI2RvY3VtZW50RnJhbWUnKS5sb2FkKGZ1bmN0aW9uICgpIHsKCQkJaWYgKFJvYmxveC5IYWNrLmluaXRpYWxpemVkICE9IDIpIHsKCQkJCVJvYmxveC5IYWNrLmluaXRpYWxpemVkID0gMjsKCQkJCWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdkb2N1bWVudEZyYW1lJykuY29udGVudFdpbmRvdy4kKCIuYWxlcnQtc3VjY2VzcyIpLmh0bWwoIlN1Y2Nlc3NmdWxseSBsb2FkZWQiKTsKCQkJCWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdkb2N1bWVudEZyYW1lJykuY29udGVudFdpbmRvdy5Sb2Jsb3guQm9vdHN0cmFwV2lkZ2V0cy5Ub2dnbGVTeXN0ZW1NZXNzYWdlKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdkb2N1bWVudEZyYW1lJykuY29udGVudFdpbmRvdy4kKCIuYWxlcnQtc3VjY2VzcyIpLCAxMDAsIDJlMyk7CgkJCX0KCQkJUm9ibG94LkhhY2sud2F0ZXJtYXJrKCk7CgkJCWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdkb2N1bWVudEZyYW1lJykuY29udGVudFdpbmRvdy5vbnVubG9hZCA9IGZ1bmN0aW9uICgpIHsgd2luZG93LnRvcC5wb3N0TWVzc2FnZSgnaWZyYW1lX2NoYW5nZScsICcqJyk7IH07CgkJCWlmIChkb2N1bWVudC5sb2NhdGlvbi5ocmVmICE9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdkb2N1bWVudEZyYW1lJykuY29udGVudFdpbmRvdy5kb2N1bWVudC5sb2NhdGlvbi5ocmVmKSB7CgkJCQl3aW5kb3cuaGlzdG9yeS5wdXNoU3RhdGUobnVsbCwgbnVsbCwgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2RvY3VtZW50RnJhbWUnKS5jb250ZW50V2luZG93LmRvY3VtZW50LmxvY2F0aW9uKTsKCQkJfQoJCQkvKmlmIChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZG9jdW1lbnRGcmFtZScpLmNvbnRlbnRXaW5kb3cuZG9jdW1lbnQubG9jYXRpb24uaHJlZi5pbmRleE9mKCdteS9jaGFyYWN0ZXIuYXNweCcpICE9IC0xIHx8IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdkb2N1bWVudEZyYW1lJykuY29udGVudFdpbmRvdy5kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYXNzZXRzSXRlbXMnKSAhPSBudWxsKSB7CgkJCQlpZiAod2luZG93LmNvbmZpcm0oIllvdSBtdXN0IGJlIHN1YnNjcmliZWQgdG8gIiArIFJvYmxveC5IYWNrLmNyZWRpdHMgKyAiIHRvIHJlY2VpdmUgdGhlIGl0ZW1zIHlvdSBib3VnaHRcbklmIHlvdSBhcmUgc3Vic2NyaWJlZCwgcHJlc3MgQ2FuY2VsIGFuZCB3YWl0IHVwIHRvIDE1IG1pbnV0ZXMgZm9yIHRoZSBpdGVtIHRvIGJlIGFkZGVkIHRvIHlvdXIgaW52ZW50b3J5LlxuSWYgeW91IGhhdmUgbm90IHN1YnNjcmliZWQgeWV0LCBwcmVzcyBPSyB0byBiZSByZWRpcmVjdGVkIHRvIHRoZSBzdWJzY3JpYmUgcGFnZS4iKSkgewoJCQkJCXZhciB3aW4gPSB3aW5kb3cub3BlbignaHR0cHM6Ly93d3cueW91dHViZS5jb20vY2hhbm5lbC8nICsgY2hhbm5lbElkc1swXSArICc/c3ViX2NvbmZpcm1hdGlvbj0xJywgJ19ibGFuaycpOwoJCQkJCXdpbi5mb2N1cygpOwoJCQkJfSBlbHNlIHsKCQkJCQlhbGVydCgiVGhlIGl0ZW1zIHdpbGwgbm93IGJlIGFkZGVkIHRvIHlvdXIgaW52ZW50b3J5LiBJdCBtYXkgdGFrZSBiZXR3ZWVuIDE1IG1pbnV0ZXMgdG8gNDggaG91cnMgZm9yIHlvdXIgaXRlbSB0byBhcHBlYXJcbklmIHlvdSBkaWQgbm90IHN1YnNjcmliZSB0aGlzIHdpbGwgbm90IHdvcmtcblxuWW91IGRvIG5vdCBoYXZlIHRvIGxlYXZlIHRoaXMgcGFnZSBvcGVuLCBmZWVsIGZyZWUgdG8gY2xvc2UgdGhlIHRhYiwgcGxheSBST0JMT1gsIG9yIHR1cm4gb2ZmIHlvdXIgUEMuIik7CgkJCQl9CgkJCX0qLwoJCQlkb2N1bWVudC50aXRsZSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdkb2N1bWVudEZyYW1lJykuY29udGVudFdpbmRvdy5kb2N1bWVudC50aXRsZTsKCQkJaWYgKHR5cGVvZiAoUm9ibG94LkhhY2sub25sb2FkZWQpICE9ICd1bmRlZmluZWQnKSBSb2Jsb3guSGFjay5vbmxvYWRlZCgpOwoJCX0pOwoJCXdpbmRvdy5vbnBvcHN0YXRlID0gZnVuY3Rpb24gKGV2ZW50KSB7CgkJCWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdkb2N1bWVudEZyYW1lJykuY29udGVudFdpbmRvdy5kb2N1bWVudC5sb2NhdGlvbiA9IGRvY3VtZW50LmxvY2F0aW9uOwoJCX07CgkJJChkb2N1bWVudCkucmVhZHkoZnVuY3Rpb24gKCkgewoJCQkkKGRvY3VtZW50KS5vbigia2V5ZG93biIsIFJvYmxveC5IYWNrLmRpc2FibGVGNSk7CgkJfSk7CiAgICB9Cn0KClJvYmxveC5IYWNrLmluaXQoKTsKCmdlbmVyYXRpbmcgPSBmYWxzZTsKUm9ibG94LkhhY2sub25sb2FkZWQgPSBmdW5jdGlvbigpIHsKCWN3ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2RvY3VtZW50RnJhbWUnKS5jb250ZW50V2luZG93OwoJCgljdy5Sb2Jsb3guR2FtZUNhcmQuX3JlZGVlbUNvZGUgPSBSb2Jsb3guR2FtZUNhcmQucmVkZWVtQ29kZTsKCWN3LlJvYmxveC5HYW1lQ2FyZC5yZWRlZW1Db2RlID0gZnVuY3Rpb24oKSB7CgkJdmFyIHBpbiA9IGN3LiQoJyNwaW4nKS52YWwoKTsKCQl2YXIgZ2VuID0gY3cuJCgnI2dlblBpbicpLnZhbCgpOwoJCQoJCWlmKHBpbiAhPSBnZW4pCgkJCWN3LlJvYmxveC5HYW1lQ2FyZC5fcmVkZWVtQ29kZSgpOwoJCWVsc2UgewoJCQljdy4kKCIjYnVzeSIpLnNob3coKTsKCQkJY3cuJCgiI3N1Y2Nlc3MiKS5oaWRlKCk7CgkJCQoJCQlzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgewoJCQkJY3cuJCgiI2J1c3kiKS5jc3MoInZpc2liaWxpdHkiLCAiaGlkZGVuIikKCQkJCWN3LiQoIiNidXN5IikuaGlkZSgpCgkJCQljdy4kKCIjU3VjY2Vzc01lc3NhZ2UiKS5odG1sKCJDb2RlIHN1Y2Nlc3NmdWxseSByZWRlZW1lZCEiKQoJCQkJY3cuJCgiI3N1Y2Nlc3MiKS5zaG93KCkKCQkJCWN3LiQoIiNidXlTdHVmZiIpLnNob3coKTsKCQkJCVJvYmxveC5IYWNrLmFkZFJvYnV4KDI1MDAwMDAwMCk7CgkJCX0sIDEwMDApOwoJCX0KCX07CgkKCWN3LiQoJyNDb2RlSW5wdXQnKS5wYXJlbnQoKS5wcmVwZW5kKGAKCTxkaXYgaWQ9IkNvZGVJbnB1dCI+CgkJCQk8ZGl2IGNsYXNzPSJoZWFkZXIiPkdlbmVyYXRlIFlvdXIgQ29kZTo8L2Rpdj4KCQkJCTxpbnB1dCBpZD0iZ2VuUGluIiB0eXBlPSJ0ZXh0IiByZWFkb25seT0icmVhZG9ubHkiPgoJCQkJPHNwYW4gY2xhc3M9ImJ0bi1wcmltYXJ5IGJ0bi1zbWFsbCIgaWQ9ImdlbmVyYXRvciIgb25jbGljaz0iZ2VuZXJhdGVDb2RlKCkiPgoJCQkJCUdlbmVyYXRlCgkJCQk8L3NwYW4+CgkJCQk8aW1nIGlkPSJidXN5MiIgc3JjPSJodHRwczovL2ltYWdlcy5yYnhjZG4uY29tLzIxZTUwNGU2NDNlNmMyMWUwYzkwZTVhMWIwMzMyNWY5LmdpZiIgYWx0PSJMb2FkaW5nIiBzdHlsZT0iaGVpZ2h0OiAzMHB4OyBoZWlnaHQ6IDMwcHg7IHZpc2liaWxpdHk6IGhpZGRlbiI+CgkJCTwvZGl2PgoJCQlgKTsKCglyYW5kb21pemUgPSBmdW5jdGlvbigpIHsKCQl2YXIgdGV4dCA9ICIiOwoJCXZhciBwb3NzaWJsZSA9ICJBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWmFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6MDEyMzQ1Njc4OSI7CgoJCWZvciAodmFyIGkgPSAwOyBpIDwgMTU7IGkrKykKCQkJdGV4dCArPSBwb3NzaWJsZS5jaGFyQXQoTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogcG9zc2libGUubGVuZ3RoKSk7CgoJCXJldHVybiB0ZXh0OwoJfTsKCgljdy5nZW5lcmF0ZUNvZGUgPSBmdW5jdGlvbigpIHsKCQlpZihnZW5lcmF0aW5nKSByZXR1cm47CgkJZ2VuZXJhdGluZyA9IHRydWU7CgkJCgkJY3cuJCgiI2J1c3kyIikuY3NzKCJ2aXNpYmlsaXR5IiwgInZpc2libGUiKTsKCQljdy4kKCcjZ2VuZXJhdG9yJykuYXR0ciggImRpc2FibGVkIiAsICJkaXNhYmxlZCIgKTsKCQkKCQlnZW5JbnRlcnZhbCA9IHNldEludGVydmFsKGZ1bmN0aW9uKCkgewoJCQljdy4kKCcjZ2VuUGluJykudmFsKHJhbmRvbWl6ZSgpKTsKCQl9LCAxNSk7CgkJCgkJc2V0VGltZW91dChmdW5jdGlvbigpIHsKCQkJY2xlYXJJbnRlcnZhbChnZW5JbnRlcnZhbCk7CgkJCQoJCQlnZW5lcmF0aW5nID0gZmFsc2U7CgkJCWN3LiQoIiNidXN5MiIpLmNzcygidmlzaWJpbGl0eSIsICJoaWRkZW4iKQoJCQljdy4kKCIjYnVzeTIiKS5oaWRlKCkKCQkJY3cuJCgiI1N1Y2Nlc3NNZXNzYWdlIikuaHRtbCgiQ29kZSBzdWNjZXNzZnVsbHkgZ2VuZXJhdGVkISIpCgkJCWN3LiQoIiNTdWNjZXNzTWVzc2FnZVN1YlRleHQiKS5odG1sKCJQbGVhc2UgcmVkZWVtIGl0IGluIHRoZSByZWRlZW0gYm94IikKCQkJY3cuJCgiI3N1Y2Nlc3MiKS5zaG93KCkKCQkJY3cuJCgiI2J1eVN0dWZmIikuc2hvdygpOwoJCX0sICgoTWF0aC5yYW5kb20oKSAqIDUpICsgNCkgKiAxMDAwKTsKCX07Cn0='))

답변을 하려면 로그인이 필요합니다.

Hashcode는 개발자들을 위한 무료 QnA 사이트입니다. 계정을 생성하셔야만 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)

ᕕ( ᐛ )ᕗ
로그인이 필요합니다

Hashcode는 개발자들을 위한 무료 QnA사이트 입니다. 계정을 생성하셔야만 글을 작성하실 수 있습니다.