import java.util.* ;
import java.lang.* ;
import java.net.URL ;
class Main
{
{
printOriginOfClass
( String .
class ) ; printOriginOfClass( Main.class ) ;
}
public static void printOriginOfClass( Class clazz)
{
System .
out .
println ( clazz.
getName ( ) + " comes from [" + getUrl
( clazz
) .
toString ( ) + "]" ) ; }
private static URL getUrl
( Class clazz
) {
String className
= clazz.
getName ( ) ; String classFileRelativePath
= className.
replace ( '.' ,
'/' ) + ".class" ; URL classFileUrl
= Main.
class .
getClassLoader ( ) .
getResource ( classFileRelativePath
) ; return classFileUrl;
}
}
aW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS5sYW5nLio7CmltcG9ydCBqYXZhLm5ldC5VUkw7CgpjbGFzcyBNYWluCnsKICBwdWJsaWMgc3RhdGljIHZvaWQgbWFpbiAoU3RyaW5nW10gYXJncykgdGhyb3dzIGphdmEubGFuZy5FeGNlcHRpb24KICB7CiAgICBwcmludE9yaWdpbk9mQ2xhc3MoU3RyaW5nLmNsYXNzKTsKICAgIHByaW50T3JpZ2luT2ZDbGFzcyhNYWluLmNsYXNzKTsKICB9CiAgCiAgcHVibGljIHN0YXRpYyB2b2lkIHByaW50T3JpZ2luT2ZDbGFzcyhDbGFzcyBjbGF6eikKICB7CiAgICBTeXN0ZW0ub3V0LnByaW50bG4oY2xhenouZ2V0TmFtZSgpICsgIiBjb21lcyBmcm9tIFsiICsgZ2V0VXJsKGNsYXp6KS50b1N0cmluZygpICsgIl0iKTsKICB9CiAgCiAgcHJpdmF0ZSBzdGF0aWMgVVJMIGdldFVybChDbGFzcyBjbGF6eikKICB7CglTdHJpbmcgY2xhc3NOYW1lID0gY2xhenouZ2V0TmFtZSgpOwoJU3RyaW5nIGNsYXNzRmlsZVJlbGF0aXZlUGF0aCA9IGNsYXNzTmFtZS5yZXBsYWNlKCcuJywgJy8nKSArICAiLmNsYXNzIjsKCVVSTCBjbGFzc0ZpbGVVcmwgPSBNYWluLmNsYXNzLmdldENsYXNzTG9hZGVyKCkuZ2V0UmVzb3VyY2UoY2xhc3NGaWxlUmVsYXRpdmVQYXRoKTsKCXJldHVybiBjbGFzc0ZpbGVVcmw7CiAgfQp9