diff --git a/README.md b/README.md index 81a598d..23077e8 100644 --- a/README.md +++ b/README.md @@ -1,30 +1,28 @@ # Javaagent ## 概述 -javaagent是一个简单优雅的java agent,利用java自带的instrument特性+javassist字节码编辑技术,实现了无侵入的方法级性能监控。相比于NewRelic或者开源的[pinpoint](https://github.com/naver/pinpoint),本工具主打的是简单,我们只记录每个方法的执行次数和时间,并输出到日志。基于javaagent的日志,你可以使用[JQL](https://github.com/dingjs/javaagent/tree/master/resources/JQL)工具进行分析查询,也可以自己去写分析器,这样可以让你快速定位生产环境的性能瓶颈。 +javaagent是一个简单优雅的java agent,利用java自带的instrument特性+javassist字节码编辑技术,实现了无侵入的方法级性能监控。相比于NewRelic或者开源的[pinpoint](https://github.com/naver/pinpoint),以及阿里的[arthas](https://github.com/alibaba/arthas),本工具主打的是简单,我们只记录每个方法的执行次数和时间,并输出到json格式的日志文件中。基于javaagent的日志,你可以使用严丽同学开发的[agent日志分析工具](https://pan.baidu.com/s/1Ma4iEWRmBonGO1TapeEF-g)进行分析查询,也可以自己去写分析器,这样可以让你快速定位生产环境的性能瓶颈。 ## 集成 java启动参数中就有jaaagent,你只需要在JAVA_OPTS中加入`-javaagent:/opt/javaagent/javaagent.jar=/opt/javaagent/agent.properties`就实现了方法级监控。其中`=`前指定的是jar包的路径,`=`后指定的是对agent的一些配置参数。 ### agent.properties说明 ``` -# 你想监控哪些包,多个包用分号分隔,凡是不在该配置里的包中类都不会监控,所以不会去默认监控各种第三方包以及jre自带的类 -agent.include.package=com.thunisoft -# 你不想监控的包,多个包用分号分隔,include.package减去exclude.package就是你监控的包 +# 需要监控的包,多个包用分号分隔 +agent.include.package=com.XXX +# 不需要监控的包,多个包用分号分隔。 需要监控的包-不需要监控的包就是真正要监控的包 agent.exclude.package= -# 你不想监控的包的正则 -agent.exclude.class.regex= -# 日志文件路径,会自动带上日期 -agent.log.file=/opt/logs/agent.log -# 你希望多长时间输出一次日志,以秒为单位,建议生产环境配置600或者1200 +# 日志文件,会自动增加日期后缀 +agent.log.file=d\:\\agent.log +# 日志输出周期 agent.log.interval.seconds=600 -# 你是否需要计算平均时间,对于生产环境,建议配成false,通过JQL查询时会进行计算 +# 不需要监控的类的正则表达式 +agent.exclude.class.regex= +# 是否记录平均时间 agent.log.avg.execute.time=false -# 是否监控pojo的get set方法,如果不开启的话,则不监控,避免出现大量pojo相关的日志。 -agent.pojo.monitor.open=false +# 默认不需要监控的类的正则表达式 +agent.exclude.class.regex.default=.*EnhancerByCGLIB.*;.*FastClassByCGLIB.* +# 记录方法的耗时时是采用nanoTime,还是currentTimeMillis,nanoTime更准确,但是会耗时一些 +agent.log.nano=true ``` -### JQL -JQL是用金雷同学用python写的一个agent日志分析工具,你可以用这个工具做查询、排序、limit等。详细用法,请参考[JQL完全指南](https://github.com/dingjs/javaagent/tree/master/resources/JQL)。 - -![JQL截图](https://github.com/dingjs/javaagent/blob/master/resources/images/JQL.png?raw=true) diff --git a/README_en_US.md b/README_en_US.md deleted file mode 100644 index 7a5beda..0000000 --- a/README_en_US.md +++ /dev/null @@ -1,30 +0,0 @@ -# Javaagent -## Overview -Javaagent a simple yet elegant java agent tool, to monitor every method's execute frequency and time consuming. -It uses jre's built-in feature Instrument and take use of javassist bytecode edit tool,monitor the mthod call and output to the log file.You can use [JQL](https://github.com/dingjs/javaagent/tree/master/resources/JQL) to analyze the agent log,find your application's performance bottlenecks. - -## How to use -You can add the following options in the JAVA_OPTS ->`-javaagent:/opt/javaagent/javaagent.jar=/opt/javaagent/agent.properties` - -### agent.properties -``` -# The packages which you want to monitor,seprated by semicolon.Only the packages configed in here will be monitored. -agent.include.package= -# The packages which you don't want to monitor,seprated by semicolon. -agent.exclude.package= -# The classes of regex format which you don't want to monitor -agent.exclude.class.regex= -# The log file path,will add date string in the filename automatically -agent.log.file=/opt/logs/agent.log -# How long do you want to output the agent log to the log file,600 or 1200 is recommended. -agent.log.interval.seconds=600 -# true means calculate the avg time for every method. -agent.log.avg.execute.time=false -# Monitor pojo get set method or not,false means don't monitor get set method. -agent.pojo.monitor.open=false -``` -### JQL -JQL is a python tool to analyze the agent logs, developed by my collegue jinlei. Read [JQL complete guide](https://github.com/dingjs/javaagent/tree/master/resources/JQL)for the details if you can read Chinese. - -![JQL screenshot](https://github.com/dingjs/javaagent/blob/master/resources/images/JQL.png?raw=true) diff --git a/pom.xml b/pom.xml index 5ea3e5a..6812957 100644 --- a/pom.xml +++ b/pom.xml @@ -2,19 +2,15 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> 4.0.0 - com.dingjsh + com.wenshuo javaagent - 1.2.0 + 2.1.0 jar UTF-8 1.6 - - BeiJing Thunisoft Corporation Limited - http://www.thunisoft.com - dingjsh @@ -29,16 +25,6 @@ repo - - - public-repo - http://repo.thunisoft.com/maven2/content/repositories/cmptreleases/ - - - public-snapshots - http://repo.thunisoft.com/maven2/content/repositories/snapshots - - src @@ -74,7 +60,7 @@ - com.thunisoft.agent.Agent + com.wenshuo.agent.Agent diff --git a/resources/JQL/JQL.py b/resources/JQL/JQL.py deleted file mode 100644 index d1210df..0000000 --- a/resources/JQL/JQL.py +++ /dev/null @@ -1,601 +0,0 @@ -#coding=utf-8 -import re, io, os, sys, time -from JQLCore import AgentLogTableTitles, ColumnDefinition, QueryDefinition -from JQLCore import CompareItem, JQL_COMPARE, SortItem - - -START_TIME_PATTERN = re.compile(r"startTime:{.*}") -END_TIME_PATTERN = re.compile(r"endTime:{.*}") -CLASS_NAME_PATTERN = re.compile(r"className:{.*}") -METHOD_NAME_PATTERN = re.compile(r"methodName:.*") -COUNTER_PATTERN = re.compile(r"counter.*") -TIME_PATTERN = re.compile(r"time.*") -EARLIEST_TIME = time.strptime('1970-01-01 12:00:00', '%Y-%m-%d %H:%M:%S') -JQL_SPLIT_KEY = r"select|from|where|order by|limit|;" -ORDER_PATTERN = re.compile(r"asc|desc") - -def checkJQL(jql): - """校验jql - - 校验规则: - 1. 关键字顺序必须为:select, from, where, order by, limit - 2. from为必填项 - """ - - if len(jql.strip()) == 0: - raise Exception("JQL empty error") - - max = -1 - pos = jql.find("select") - if pos != -1: - if pos > max: - max = pos - else: - raise Exception('select order error') - - pos = jql.find("from") - if pos != -1: - if pos > max: - max = pos - else: - raise Exception('from order error') - else: - raise Exception('no from error') - - pos = jql.find("where") - if pos != -1: - if pos > max: - max = pos - else: - raise Exception('where order error') - - pos = jql.find("order by") - if pos != -1: - if pos > max: - max = pos - else: - raise Exception('order by order error') - - pos = jql.find("limit") - if pos != -1: - if pos > max: - max = pos - else: - raise Exception('limit order error') - -def parseJQL(jql): - """解析查询语句 - - Args: - jql: 查询语句 - Return: - QueryDefinition: 解析查询语句得到的定义 - """ - - #分片 - segments = re.split(JQL_SPLIT_KEY, jql) - - i = 1 - #处理select - titleList = [] - if jql.find("select") != -1: - selectStr = segments[i].strip() - i += 1 - - if len(selectStr) == 0: - raise Exception('select no values error') - - for title in selectStr.split(","): - title = title.strip() - - if len(title) == 0: - raise Exception('selct empty value error: select ' + selectStr) - - if title not in AgentLogTableTitles: - raise Exception('select value error:\'' + title + '\'') - - titleList.append(title) - else: - # 默认表头 - titleList = AgentLogTableTitles - - #处理from - fileList = [] - if jql.find("from") != -1: - fromStr = segments[i].strip() - i += 1 - - if len(fromStr) == 0: - raise Exception('from no values error') - - for root in fromStr.split(","): - root = root.strip() - if len(root) == 0: - raise Exception('from empty value error: where ' + fromStr) - - if os.path.isdir(root): - files = os.listdir(root) - for file in files: - fileList.append(os.path.join(root, file)) - elif os.path.isfile(root): - fileList.append(root) - else: - raise Exception('from value error: ' + root + ' is not a file or dir') - else: - raise Exception('no from error') - - #处理where - encoding = "utf-8" - compareList = [] - if jql.find("where") != -1: - whereStr = segments[i].strip() - i += 1 - - if len(whereStr) == 0: - raise Exception('where no values error') - - #得到文件编码、过滤条件 - filterList = [] - for param in whereStr.split("and"): - elements = param.split('=') - key = elements[0].strip() - if key == "encoding": - encoding = elements[1].strip() - else: - filterList.append(param) - - #根据过滤得到比较列表 - for filter in filterList: - operator = None - if filter.find(">=") != -1: - operator = ">=" - elif filter.find("<=") != -1: - operator = "<=" - elif filter.find("=") != -1: - operator = "=" - elif filter.find(">") != -1: - operator = ">" - elif filter.find("<") != -1: - operator = "<" - else: - continue - - elements = filter.split(operator) - if len(elements) != 2: - continue - - ci = CompareItem(elements[0].strip(), operator, elements[1].strip()) - compareList.append(ci) - - #处理order by - keyList = [] - orderList = [] - if jql.find("order by") != -1: - orderByStr = segments[i].strip() - i += 1 - - if len(fromStr) == 0: - raise Exception('order by no values error') - - for order in orderByStr.split(","): - order = order.strip() - - if len(order) == 0: - raise Exception('order by empty values error') - else: - pos = re.search(ORDER_PATTERN, order) - key = None - keyOrder = None - if pos is None: - # 默认升序 - key = order - keyOrder = "asc" - else: - key = order[: pos.start()].strip() - keyOrder = order[pos.start() : pos.end()] - - if key not in AgentLogTableTitles: - raise Exception('order by no support key error. key = ' + key) - - keyList.append(key) - orderList.append(keyOrder) - - #处理limit - limit = -1 - if jql.find("limit") != -1: - limitStr = segments[i].strip() - i += 1 - - if len(limitStr) == 0: - raise Exception('limit no values error') - - if limitStr.isdigit() == False: - raise Exception("limit value type error, value must be a nonnegative integer , value = " + limitStr) - - limit = limitStr - - return QueryDefinition(titleList, fileList, encoding, keyList, orderList, compareList, limit) - -def getValueInBrackets(str): - """得到括号内的值 - - Args: - str: 包括{}的字符串 - - Return: - {}内的值(去除了2端的空格) - """ - - return getValueBetweenKey1AndKey2(str, "{", "}") - -def getValueBetweenKey1AndKey2(str, key1, key2): - """得到关键字1和关键字2之间的值 - - Args: - str: 包括key1、key2的字符串 - key1: 关键字1 - key2: 关键字2 - - Return: - key1 ... key2 内的值(去除了2端的空格) - """ - - offset = len(key1) - start = str.find(key1) + offset - end = str.find(key2) - value = str[start : end] - return value.strip() - -def queryDatas(queryDef): - """查询并过滤数据 - - Args: - queryDef: 查询定义 - Return: - SortItem List:待排序的数据列表 - """ - - result = [] - #查询所有文件的数据 - for file in queryDef.fileList: - temp = [] - startTime = None - clazz = None - method = None - count = 0 - totalTime = 0 - avgTime = 0 - with io.open(file, 'r', encoding=queryDef.encoding) as fd: - for line in fd: - #处理startTime:...行 - match = START_TIME_PATTERN.match(line) - if match: - #如果开始时间有变化,则保存结果,否则丢弃 - newStartTime = getValueInBrackets(line) - if newStartTime != startTime: - result.extend(temp) - startTime = newStartTime - temp = [] - continue - - #处理endTime:...行 - match = END_TIME_PATTERN.match(line) - if match: - endTime = getValueInBrackets(line) - for item in temp: - item.endTime = endTime - continue - - #解析className...行 - match = CLASS_NAME_PATTERN.match(line) - if match: - clazz = getValueInBrackets(line) - continue - - #解析methodName...行 - match = METHOD_NAME_PATTERN.match(line) - if match: - for str in line.split(','): - #处理methodName - match = METHOD_NAME_PATTERN.match(str) - if match: - method = getValueInBrackets(str) - continue - - #处理counter - match = COUNTER_PATTERN.match(str) - if match: - count = getValueInBrackets(str) - continue - - #处理time - match = TIME_PATTERN.match(str) - if match: - totalTime = getValueInBrackets(str) - continue - - item = SortItem(clazz, method, count, totalTime, startTime) - temp.append(item) - - #保存最后一个时间域的数据 - result.extend(temp) - - return result - -def filterDatas(itemList, queryDef): - """过滤数据列表 - - Args: - itemList: 数据 - queryDef: 查询定义 - Return: - dataList: 过滤后的数据 - """ - - dataList = [] - for item in itemList: - if checkItem(item, queryDef): - dataList.append(item) - - return dataList - -def checkItem(item, queryDef): - """校验数据 - - Args: - item: 数据 - queryDef: 查询定义 - """ - - result = True - for ci in queryDef.compareList: - if ci.key == "time": - result = JQL_COMPARE.get(ci.operator)(item.time, int(ci.value)) - elif ci.key == "count": - result = JQL_COMPARE.get(ci.operator)(item.count, int(ci.value)) - elif ci.key == "avg time": - result = JQL_COMPARE.get(ci.operator)(item.avgTime, int(ci.value)) - elif ci.key == "method": - result = JQL_COMPARE.get(ci.operator)(item.method.lower(), ci.value) - elif ci.key == "class": - result = JQL_COMPARE.get(ci.operator)(item.clazz.lower(), ci.value) - elif ci.key == "start time": - result = JQL_COMPARE.get(ci.operator)( - time.strptime(item.startTime, '%Y-%m-%d %H:%M:%S'), - time.strptime(ci.value, '%Y-%m-%d %H:%M:%S') - ) - elif ci.key == "end time": - result = JQL_COMPARE.get(ci.operator)( - time.strptime(item.endTime, '%Y-%m-%d %H:%M:%S'), - time.strptime(ci.value, '%Y-%m-%d %H:%M:%S') - ) - - if result == False: - break - - return result - -def sortAndCut(itemList, queryDef): - """将itemList根据查询条件排序 - - Args: - itemList: 数据 - queryDef:查询定义 - Return: - dataList: 排序和过滤后的结果 - """ - - #处理排序 - for key, order in zip(reversed(queryDef.keyList), reversed(queryDef.orderList)): - #得到lambda函数 - keyLambda = None - if key == 'count': - keyLambda = lambda item: item.count - elif key == 'time': - keyLambda = lambda item: item.time - elif key == 'avg time': - keyLambda = lambda item: item.avgTime - elif key == 'start time': - keyLambda = lambda item: time.strptime(item.startTime, '%Y-%m-%d %H:%M:%S') if item.startTime != None else EARLIEST_TIME - elif key == 'end time': - keyLambda = lambda item: time.strptime(item.endTime, '%Y-%m-%d %H:%M:%S') if item.endTime != None else EARLIEST_TIME - else: - continue - - #判断是否逆排序(默认递增排序) - rev = (order == 'desc') - - itemList.sort(key=keyLambda, reverse=rev) - - return itemList[0 : queryDef.limit] if queryDef.limit != -1 else itemList - -def drawTable(itemList, queryDef): - """画表格 - - Args: - itemList: 数据 - queryDef: 查询定义 - - Example: - +---------+----------+-----------+------------+--------------+ - | count | time | avg time | method | class | - +---------+----------+-----------+------------+--------------+ - | 10 | 500 | 50 | sayHello | Test.java | - +---------+----------+-----------+------------+--------------+ - """ - - # 画表头 - drawLine(queryDef) - drawTitle(queryDef) - drawLine(queryDef) - - # 画数据行 - drawDataRows(itemList, queryDef) - - # 画结尾行 - drawLine(queryDef) - -def drawLine(queryDef): - """画分割线 - - Args: - queryDef: 查询定义 - """ - - formatStr = "" - valueList = [] - for title in queryDef.titleList: - colDef = queryDef.tableCols[title] - size = colDef.size + 2 - formatStr += ('+' + formatString("string", size, False)) - valueList.append("-"*size) - - formatStr += "+" - - print(formatStr % tuple(valueList)) - -def drawTitle(queryDef): - """画表头 - - Args: - queryDef: 查询定义 - """ - - formatStr = "" - valueList = [] - for title in queryDef.titleList: - colDef = queryDef.tableCols[title] - formatStr += ('| ' + formatString("string", colDef.size) + ' ') - valueList.append(title) - - formatStr += "|" - print(formatStr % tuple(valueList)) - -def drawDataRows(dataList, queryDef): - """画数据行 - - Args: - itemList: 数据 - queryDef: 查询定义 - """ - - for data in dataList: - formatStr = "" - valueList = [] - for title in queryDef.titleList: - colDef = queryDef.tableCols[title] - formatStr += ('| ' + formatString(colDef.type, colDef.size) + ' ') - - if title == 'time': - valueList.append(data.time) - elif title == 'count': - valueList.append(data.count) - elif title == 'avg time': - valueList.append(data.avgTime) - elif title == 'method': - valueList.append(data.method) - elif title == 'class': - valueList.append(data.clazz) - elif title == 'start time': - valueList.append(data.startTime) - elif title == 'end time': - valueList.append(data.endTime) - - formatStr += "|" - print(formatStr % tuple(valueList)) - -def formatString(type, size, leftAlignment=True): - """得到格式化占位符 - - Args: - type: 数据类型 - size: 位数 - leftAlignment:是否左对齐 - - Return: - 格式化占位符 - """ - - prefix = ('-' if leftAlignment else '') - result = '%' + prefix + str(size) - - if type == "int": - result += 'd' - elif type == "float": - result += '.2f' - else: - result += 's' - - return result - -def executeQuery(jql): - """执行jql,并输出表格 - - Args: - jql: 查询语句 - """ - - try: - print("") - - #校验jql - none, checkTime = JQL_TIMER(checkJQL, jql) - #解析jql - queryDef, parseTime = JQL_TIMER(parseJQL, jql) - #查询数据 - dataList, queryTime = JQL_TIMER(queryDatas, queryDef) - #过滤数据 - dataList, filterTime = JQL_TIMER(filterDatas, dataList, queryDef) - #排序、裁剪数据 - dataList, sortTime = JQL_TIMER(sortAndCut, dataList, queryDef) - #画表 - none, drawTime = JQL_TIMER(drawTable, dataList, queryDef) - - total = checkTime + parseTime + queryTime + filterTime + sortTime + drawTime - - print("spend %.2fs(check: %.2fs, parse: %.2fs, query: %.2fs, filter: %.2fs, sort: %.2fs, draw: %.2fs)\n" % - (total, checkTime, parseTime, queryTime, filterTime, sortTime, drawTime)) - except Exception as err: - msg = "[JQL] {0}".format(err) - length = len(msg) - print("%s\n%s\n%s\n" % ("*"*length, msg, "*"*length)) - -def JQL_TIMER(func, *args): - """计时函数 - - Args: - func: 函数名 - args: 可变参数 - Return: - 函数执行结果, 函数执行时间 - """ - - start = time.time() - result = func(*args) - end = time.time() - return result, end - start - -def main(): - """主函数""" - - if len(sys.argv) > 1: - executeQuery(sys.argv[1]) - else: - print("Please input JQL\ninput 'q!' for quit, input ';' for execute jql\n") - jql = "" - while (True): - line = input(">>> ").lower() - if (line == "q!"): - print("Thanks.") - sys.exit() - elif line.find(";") != -1: - line = line.split(";") - jql += (' ' + line[0].strip() + ';') - executeQuery(jql) - jql = "" - else: - jql += (' ' + line.strip()) - -if __name__ == "__main__": - main() - diff --git a/resources/JQL/JQLCore.py b/resources/JQL/JQLCore.py deleted file mode 100644 index 327367b..0000000 --- a/resources/JQL/JQLCore.py +++ /dev/null @@ -1,107 +0,0 @@ -#coding=utf-8 - -class ColumnDefinition: - """列定义""" - - def __init__(self, name, type, size): - self.name = name - self.type = type - self.size = int(size) - -#java-agent-log-table表头定义 -AgentLogTableTitles = ['time', 'count', 'avg time', 'method', 'class', 'start time', 'end time'] - -#java-agent-log-table定义 -AgentLogTable = { - 'time': ColumnDefinition('time', 'int', 10), - 'count': ColumnDefinition('count', 'int', 10), - 'avg time': ColumnDefinition('avg time', 'int', 10), - 'method': ColumnDefinition('method', 'string', 35), - 'class': ColumnDefinition('method', 'string', 100), - 'start time': ColumnDefinition('start time', 'string', 20), - 'end time': ColumnDefinition('end time', 'string', 20) -} - -class QueryDefinition: - """查询定义 - - 将解析后的查询条件保存于此,用于查询方法间的参数传递 - """ - - def __init__(self, titleList, fileList, encoding, keyList, orderList=[], compareList=[], limit=-1): - self.titleList = titleList - self.fileList = fileList - self.encoding = encoding - self.keyList = keyList - self.orderList = orderList - self.compareList = compareList - self.limit = int(limit) - self.tableCols= AgentLogTable - -class CompareItem: - """比较项""" - - def __init__(self, key, operator, value): - self.key = key - self.operator = operator - self.value = value - -def equal(x, y): - return x == y - -def lessThan(x, y): - return x < y - -def lessThanOrEqualTo(x, y): - return x <= y - -def greaterThan(x, y): - return x > y - -def greaterThanOrEqualTo(x, y): - return x >= y - -#jql比较操作 -JQL_COMPARE = { - "=": equal, - "<": lessThan, - "<=": lessThanOrEqualTo, - ">": greaterThan, - ">=": greaterThanOrEqualTo -} - -class SortItem: - """排序项""" - - def __init__(self, clazz, method, count, time, startTime, endTime=None): - """ - Args: - clazz: 类名 - method: 方法 - count: 方法调用总次数 - time: 方法调用总时间 - startTime: 开始时间 - """ - - self.clazz = clazz - self.method = method - self.count = int(count) - self.time = int(time) - self.startTime = startTime - self.endTime = endTime - self.avgTime = float(self.time / self.count) #方法调用平均时间 - - def copy(self): - """复制""" - - return SortItem(self.clazz, self.method, self.count, self.time, self.startTime) - - def equals(self, other): - """比较是否相等""" - - return (self.clazz == other.clazz - and self.method == other.method - and self.count == other.count - and self.time == other.time - and self.startTime == other.startTime - and self.avgTime == other.avgTime) diff --git a/resources/JQL/Readme b/resources/JQL/Readme deleted file mode 100644 index 1e7b013..0000000 --- a/resources/JQL/Readme +++ /dev/null @@ -1,41 +0,0 @@ -JQL工具由北京华宇信息技术有限公司-金雷(人送外号金大侠)开发。 - -[目录说明] -/JQL -- 代码目录 - JQL.py -- 实现JQL查询 - JQLCore.py -- JQL核心数据结构定义 - - -[使用说明] -1. 确保python34安装完毕,并且在环境变量里配置了其path -2. 进入JQL目录,空白处按住shift+右键,选择"在"在此处打开命令窗口",弹出命令窗口 -3. 在命令窗口输入jql,进入JQL程序,如果看到如下字符串表示启动成功 -Please input JQL -input 'q!' for quit, input ';' for execute jql - ->>>_ -4. 打开JQL例子.txt,随意复制一个jql查询语句进去,按回车,JQL将返回一个表格做为结构 - -[JQL语法说明] -[ select < col1 [ , col2, col3, ... ] > ] -< from < file1|folder1 [ , file2|folder2, file3|folder3, ... ] > > -[ where ] -[ order by ] -[ limit ] - -补充说明: -from里如果是文件夹,则统计文件夹下所有文件 -where条件目前只支持and -如果表格看起来很混乱,需要右击命令窗口 > 属性 > 布局, 将屏幕缓冲区大小调大点即可,我的参数是 宽度:3000 * 高度 6000 - -[版本说明] -JQL0.1Beta刚刚诞生,目前非常不成熟,还只支持一种log:即丁建水的thunisoft-javaagent产生的日志 - -[后续工作] -0.2版:计划支持所有主流log,where条件支持同select -0.3版:计划支持C/S结构 -0.4版:计划支持主-主结构,主-从结构 -0.5版:计划用QT实现一个界面 -1.0版:系统稳定,正式发版 - -1.0版发布后,可能实现身份证系统识别,也可能鸽了,看心情 diff --git a/resources/images/JQL.png b/resources/images/JQL.png deleted file mode 100644 index 5f982a8..0000000 Binary files a/resources/images/JQL.png and /dev/null differ diff --git a/src/com/thunisoft/agent/Agent.java b/src/com/wenshuo/agent/Agent.java similarity index 55% rename from src/com/thunisoft/agent/Agent.java rename to src/com/wenshuo/agent/Agent.java index b3eecd4..f655005 100644 --- a/src/com/thunisoft/agent/Agent.java +++ b/src/com/wenshuo/agent/Agent.java @@ -1,16 +1,16 @@ /* * @(#)Agent.java 2015-7-24 上午09:49:34 * javaagent - * Copyright 2015 Thuisoft, Inc. All rights reserved. - * THUNISOFT PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. + * Copyright 2015 wenshuo, Inc. All rights reserved. + * wenshuo PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. */ -package com.thunisoft.agent; +package com.wenshuo.agent; import java.io.IOException; import java.lang.instrument.Instrumentation; -import com.thunisoft.agent.log.ExecuteLogUtils; -import com.thunisoft.agent.transformer.ThunisoftClassFileTransformer; +import com.wenshuo.agent.log.ExecuteLogUtils; +import com.wenshuo.agent.transformer.AgentLogClassFileTransformer; /** * Agent @@ -24,7 +24,7 @@ public static void premain(String agentArs, Instrumentation inst) // 初始化配置 ConfigUtils.initProperties(agentArs); ExecuteLogUtils.init(); - inst.addTransformer(new ThunisoftClassFileTransformer()); + inst.addTransformer(new AgentLogClassFileTransformer()); } } diff --git a/src/com/thunisoft/agent/AgentUtils.java b/src/com/wenshuo/agent/AgentUtils.java similarity index 97% rename from src/com/thunisoft/agent/AgentUtils.java rename to src/com/wenshuo/agent/AgentUtils.java index c00bbdb..6ee752b 100644 --- a/src/com/thunisoft/agent/AgentUtils.java +++ b/src/com/wenshuo/agent/AgentUtils.java @@ -1,10 +1,10 @@ /* * @(#)AgentUtils.java 2015-7-27 下午05:26:24 * javaagent - * Copyright 2015 Thuisoft, Inc. All rights reserved. - * THUNISOFT PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. + * Copyright 2015 wenshuo, Inc. All rights reserved. + * wenshuo PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. */ -package com.thunisoft.agent; +package com.wenshuo.agent; import java.io.ByteArrayOutputStream; import java.io.File; diff --git a/src/com/thunisoft/agent/ConfigConsts.java b/src/com/wenshuo/agent/ConfigConsts.java similarity index 84% rename from src/com/thunisoft/agent/ConfigConsts.java rename to src/com/wenshuo/agent/ConfigConsts.java index 38d94d1..6edd2c4 100644 --- a/src/com/thunisoft/agent/ConfigConsts.java +++ b/src/com/wenshuo/agent/ConfigConsts.java @@ -1,10 +1,10 @@ /* * @(#)ConfigConsts.java 2015-7-27 下午06:06:23 * javaagent - * Copyright 2015 Thuisoft, Inc. All rights reserved. - * THUNISOFT PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. + * Copyright 2015 wenshuo, Inc. All rights reserved. + * wenshuo PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. */ -package com.thunisoft.agent; +package com.wenshuo.agent; /** * ConfigConsts diff --git a/src/com/thunisoft/agent/ConfigUtils.java b/src/com/wenshuo/agent/ConfigUtils.java similarity index 99% rename from src/com/thunisoft/agent/ConfigUtils.java rename to src/com/wenshuo/agent/ConfigUtils.java index 1e0d782..5fd66ca 100644 --- a/src/com/thunisoft/agent/ConfigUtils.java +++ b/src/com/wenshuo/agent/ConfigUtils.java @@ -1,4 +1,4 @@ -package com.thunisoft.agent; +package com.wenshuo.agent; import java.io.File; import java.io.FileInputStream; diff --git a/src/com/thunisoft/agent/ExecuteLogAnalyzer.java b/src/com/wenshuo/agent/ExecuteLogAnalyzer.java similarity index 81% rename from src/com/thunisoft/agent/ExecuteLogAnalyzer.java rename to src/com/wenshuo/agent/ExecuteLogAnalyzer.java index aa0d252..1d40630 100644 --- a/src/com/thunisoft/agent/ExecuteLogAnalyzer.java +++ b/src/com/wenshuo/agent/ExecuteLogAnalyzer.java @@ -1,10 +1,10 @@ /* * @(#)ExecuteLogAnalyzer.java 2015-8-3 上午09:15:41 * javaagent - * Copyright 2015 Thuisoft, Inc. All rights reserved. - * THUNISOFT PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. + * Copyright 2015 wenshuo, Inc. All rights reserved. + * wenshuo PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. */ -package com.thunisoft.agent; +package com.wenshuo.agent; /** * ExecuteLogAnalyzer,分析方法执行日志 diff --git a/src/com/thunisoft/agent/NamedThreadFactory.java b/src/com/wenshuo/agent/NamedThreadFactory.java similarity index 98% rename from src/com/thunisoft/agent/NamedThreadFactory.java rename to src/com/wenshuo/agent/NamedThreadFactory.java index b5b5b67..61c007d 100644 --- a/src/com/thunisoft/agent/NamedThreadFactory.java +++ b/src/com/wenshuo/agent/NamedThreadFactory.java @@ -1,4 +1,4 @@ -package com.thunisoft.agent; +package com.wenshuo.agent; import java.util.concurrent.ThreadFactory; import java.util.concurrent.atomic.AtomicInteger; diff --git a/src/com/thunisoft/agent/PojoDetector.java b/src/com/wenshuo/agent/PojoDetector.java similarity index 90% rename from src/com/thunisoft/agent/PojoDetector.java rename to src/com/wenshuo/agent/PojoDetector.java index 8e8fc76..ad471ca 100644 --- a/src/com/thunisoft/agent/PojoDetector.java +++ b/src/com/wenshuo/agent/PojoDetector.java @@ -1,10 +1,10 @@ /* * @(#)PojoDetector.java 2016-5-7 下午04:18:14 * javaagent - * Copyright 2016 Thuisoft, Inc. All rights reserved. - * THUNISOFT PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. + * Copyright 2016 wenshuo, Inc. All rights reserved. + * wenshuo PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. */ -package com.thunisoft.agent; +package com.wenshuo.agent; import java.util.Collections; import java.util.HashMap; @@ -12,7 +12,7 @@ import java.util.Map; import java.util.Set; -import com.thunisoft.agent.javassist.CtMethod; +import com.wenshuo.agent.javassist.CtMethod; /** * PojoDetector diff --git a/src/com/thunisoft/agent/javassist/ByteArrayClassPath.java b/src/com/wenshuo/agent/javassist/ByteArrayClassPath.java similarity index 98% rename from src/com/thunisoft/agent/javassist/ByteArrayClassPath.java rename to src/com/wenshuo/agent/javassist/ByteArrayClassPath.java index c19453d..d4d9347 100644 --- a/src/com/thunisoft/agent/javassist/ByteArrayClassPath.java +++ b/src/com/wenshuo/agent/javassist/ByteArrayClassPath.java @@ -14,7 +14,7 @@ * License. */ -package com.thunisoft.agent.javassist; +package com.wenshuo.agent.javassist; import java.io.*; import java.net.URL; diff --git a/src/com/thunisoft/agent/javassist/CannotCompileException.java b/src/com/wenshuo/agent/javassist/CannotCompileException.java similarity index 97% rename from src/com/thunisoft/agent/javassist/CannotCompileException.java rename to src/com/wenshuo/agent/javassist/CannotCompileException.java index d2db61f..31057c8 100644 --- a/src/com/thunisoft/agent/javassist/CannotCompileException.java +++ b/src/com/wenshuo/agent/javassist/CannotCompileException.java @@ -14,9 +14,9 @@ * License. */ -package com.thunisoft.agent.javassist; +package com.wenshuo.agent.javassist; -import com.thunisoft.agent.javassist.compiler.CompileError; +import com.wenshuo.agent.javassist.compiler.CompileError; /** * Thrown when bytecode transformation has failed. diff --git a/src/com/thunisoft/agent/javassist/ClassClassPath.java b/src/com/wenshuo/agent/javassist/ClassClassPath.java similarity index 98% rename from src/com/thunisoft/agent/javassist/ClassClassPath.java rename to src/com/wenshuo/agent/javassist/ClassClassPath.java index 680e830..be42a50 100644 --- a/src/com/thunisoft/agent/javassist/ClassClassPath.java +++ b/src/com/wenshuo/agent/javassist/ClassClassPath.java @@ -14,7 +14,7 @@ * License. */ -package com.thunisoft.agent.javassist; +package com.wenshuo.agent.javassist; import java.io.InputStream; import java.net.URL; diff --git a/src/com/thunisoft/agent/javassist/ClassMap.java b/src/com/wenshuo/agent/javassist/ClassMap.java similarity index 98% rename from src/com/thunisoft/agent/javassist/ClassMap.java rename to src/com/wenshuo/agent/javassist/ClassMap.java index 88f7799..2dbf987 100644 --- a/src/com/thunisoft/agent/javassist/ClassMap.java +++ b/src/com/wenshuo/agent/javassist/ClassMap.java @@ -14,9 +14,9 @@ * License. */ -package com.thunisoft.agent.javassist; +package com.wenshuo.agent.javassist; -import com.thunisoft.agent.javassist.bytecode.Descriptor; +import com.wenshuo.agent.javassist.bytecode.Descriptor; /** * A hash table associating class names with different names. diff --git a/src/com/thunisoft/agent/javassist/ClassPath.java b/src/com/wenshuo/agent/javassist/ClassPath.java similarity index 98% rename from src/com/thunisoft/agent/javassist/ClassPath.java rename to src/com/wenshuo/agent/javassist/ClassPath.java index a5e109f..f0e90e2 100644 --- a/src/com/thunisoft/agent/javassist/ClassPath.java +++ b/src/com/wenshuo/agent/javassist/ClassPath.java @@ -14,7 +14,7 @@ * License. */ -package com.thunisoft.agent.javassist; +package com.wenshuo.agent.javassist; import java.io.InputStream; import java.net.URL; diff --git a/src/com/thunisoft/agent/javassist/ClassPool.java b/src/com/wenshuo/agent/javassist/ClassPool.java similarity index 99% rename from src/com/thunisoft/agent/javassist/ClassPool.java rename to src/com/wenshuo/agent/javassist/ClassPool.java index 37755cc..2114b1f 100644 --- a/src/com/thunisoft/agent/javassist/ClassPool.java +++ b/src/com/wenshuo/agent/javassist/ClassPool.java @@ -14,7 +14,7 @@ * License. */ -package com.thunisoft.agent.javassist; +package com.wenshuo.agent.javassist; import java.io.BufferedInputStream; import java.io.File; @@ -32,8 +32,8 @@ import java.util.ArrayList; import java.util.Enumeration; -import com.thunisoft.agent.javassist.bytecode.ClassFile; -import com.thunisoft.agent.javassist.bytecode.Descriptor; +import com.wenshuo.agent.javassist.bytecode.ClassFile; +import com.wenshuo.agent.javassist.bytecode.Descriptor; /** * A container of CtClass objects. diff --git a/src/com/thunisoft/agent/javassist/ClassPoolTail.java b/src/com/wenshuo/agent/javassist/ClassPoolTail.java similarity index 99% rename from src/com/thunisoft/agent/javassist/ClassPoolTail.java rename to src/com/wenshuo/agent/javassist/ClassPoolTail.java index bd68468..638d201 100644 --- a/src/com/thunisoft/agent/javassist/ClassPoolTail.java +++ b/src/com/wenshuo/agent/javassist/ClassPoolTail.java @@ -14,7 +14,7 @@ * License. */ -package com.thunisoft.agent.javassist; +package com.wenshuo.agent.javassist; import java.io.*; import java.util.jar.*; diff --git a/src/com/thunisoft/agent/javassist/CodeConverter.java b/src/com/wenshuo/agent/javassist/CodeConverter.java similarity index 99% rename from src/com/thunisoft/agent/javassist/CodeConverter.java rename to src/com/wenshuo/agent/javassist/CodeConverter.java index 6bd32f2..5bd3014 100644 --- a/src/com/thunisoft/agent/javassist/CodeConverter.java +++ b/src/com/wenshuo/agent/javassist/CodeConverter.java @@ -14,10 +14,10 @@ * License. */ -package com.thunisoft.agent.javassist; +package com.wenshuo.agent.javassist; -import com.thunisoft.agent.javassist.bytecode.*; -import com.thunisoft.agent.javassist.convert.*; +import com.wenshuo.agent.javassist.bytecode.*; +import com.wenshuo.agent.javassist.convert.*; /** * Simple translator of method bodies diff --git a/src/com/thunisoft/agent/javassist/CtArray.java b/src/com/wenshuo/agent/javassist/CtArray.java similarity index 98% rename from src/com/thunisoft/agent/javassist/CtArray.java rename to src/com/wenshuo/agent/javassist/CtArray.java index 16a7b9a..3864c6a 100644 --- a/src/com/thunisoft/agent/javassist/CtArray.java +++ b/src/com/wenshuo/agent/javassist/CtArray.java @@ -14,7 +14,7 @@ * License. */ -package com.thunisoft.agent.javassist; +package com.wenshuo.agent.javassist; /** * Array types. diff --git a/src/com/thunisoft/agent/javassist/CtBehavior.java b/src/com/wenshuo/agent/javassist/CtBehavior.java similarity index 99% rename from src/com/thunisoft/agent/javassist/CtBehavior.java rename to src/com/wenshuo/agent/javassist/CtBehavior.java index 34a3356..ff03e03 100644 --- a/src/com/thunisoft/agent/javassist/CtBehavior.java +++ b/src/com/wenshuo/agent/javassist/CtBehavior.java @@ -14,12 +14,12 @@ * License. */ -package com.thunisoft.agent.javassist; +package com.wenshuo.agent.javassist; -import com.thunisoft.agent.javassist.bytecode.*; -import com.thunisoft.agent.javassist.compiler.Javac; -import com.thunisoft.agent.javassist.compiler.CompileError; -import com.thunisoft.agent.javassist.expr.ExprEditor; +import com.wenshuo.agent.javassist.bytecode.*; +import com.wenshuo.agent.javassist.compiler.Javac; +import com.wenshuo.agent.javassist.compiler.CompileError; +import com.wenshuo.agent.javassist.expr.ExprEditor; /** * CtBehavior represents a method, a constructor, diff --git a/src/com/thunisoft/agent/javassist/CtClass.java b/src/com/wenshuo/agent/javassist/CtClass.java similarity index 99% rename from src/com/thunisoft/agent/javassist/CtClass.java rename to src/com/wenshuo/agent/javassist/CtClass.java index aec9160..21fe5ac 100644 --- a/src/com/thunisoft/agent/javassist/CtClass.java +++ b/src/com/wenshuo/agent/javassist/CtClass.java @@ -14,7 +14,7 @@ * License. */ -package com.thunisoft.agent.javassist; +package com.wenshuo.agent.javassist; import java.io.BufferedOutputStream; import java.io.ByteArrayOutputStream; @@ -27,10 +27,10 @@ import java.security.ProtectionDomain; import java.util.Collection; -import com.thunisoft.agent.javassist.bytecode.ClassFile; -import com.thunisoft.agent.javassist.bytecode.Descriptor; -import com.thunisoft.agent.javassist.bytecode.Opcode; -import com.thunisoft.agent.javassist.expr.ExprEditor; +import com.wenshuo.agent.javassist.bytecode.ClassFile; +import com.wenshuo.agent.javassist.bytecode.Descriptor; +import com.wenshuo.agent.javassist.bytecode.Opcode; +import com.wenshuo.agent.javassist.expr.ExprEditor; /* Note: * @@ -255,7 +255,7 @@ public ClassFile getClassFile() { /** * Undocumented method. Do not use; internal-use only. */ - public com.thunisoft.agent.javassist.compiler.AccessorMaker getAccessorMaker() { + public com.wenshuo.agent.javassist.compiler.AccessorMaker getAccessorMaker() { return null; } diff --git a/src/com/thunisoft/agent/javassist/CtClassType.java b/src/com/wenshuo/agent/javassist/CtClassType.java similarity index 97% rename from src/com/thunisoft/agent/javassist/CtClassType.java rename to src/com/wenshuo/agent/javassist/CtClassType.java index ae14c00..e7774e5 100644 --- a/src/com/thunisoft/agent/javassist/CtClassType.java +++ b/src/com/wenshuo/agent/javassist/CtClassType.java @@ -14,7 +14,7 @@ * License. */ -package com.thunisoft.agent.javassist; +package com.wenshuo.agent.javassist; import java.lang.ref.WeakReference; import java.io.BufferedInputStream; @@ -31,28 +31,28 @@ import java.util.List; import java.util.Set; -import com.thunisoft.agent.javassist.bytecode.AccessFlag; -import com.thunisoft.agent.javassist.bytecode.AttributeInfo; -import com.thunisoft.agent.javassist.bytecode.AnnotationsAttribute; -import com.thunisoft.agent.javassist.bytecode.BadBytecode; -import com.thunisoft.agent.javassist.bytecode.Bytecode; -import com.thunisoft.agent.javassist.bytecode.ClassFile; -import com.thunisoft.agent.javassist.bytecode.CodeAttribute; -import com.thunisoft.agent.javassist.bytecode.ConstantAttribute; -import com.thunisoft.agent.javassist.bytecode.CodeIterator; -import com.thunisoft.agent.javassist.bytecode.ConstPool; -import com.thunisoft.agent.javassist.bytecode.Descriptor; -import com.thunisoft.agent.javassist.bytecode.EnclosingMethodAttribute; -import com.thunisoft.agent.javassist.bytecode.FieldInfo; -import com.thunisoft.agent.javassist.bytecode.InnerClassesAttribute; -import com.thunisoft.agent.javassist.bytecode.MethodInfo; -import com.thunisoft.agent.javassist.bytecode.ParameterAnnotationsAttribute; -import com.thunisoft.agent.javassist.bytecode.SignatureAttribute; -import com.thunisoft.agent.javassist.bytecode.annotation.Annotation; -import com.thunisoft.agent.javassist.compiler.AccessorMaker; -import com.thunisoft.agent.javassist.compiler.CompileError; -import com.thunisoft.agent.javassist.compiler.Javac; -import com.thunisoft.agent.javassist.expr.ExprEditor; +import com.wenshuo.agent.javassist.bytecode.AccessFlag; +import com.wenshuo.agent.javassist.bytecode.AttributeInfo; +import com.wenshuo.agent.javassist.bytecode.AnnotationsAttribute; +import com.wenshuo.agent.javassist.bytecode.BadBytecode; +import com.wenshuo.agent.javassist.bytecode.Bytecode; +import com.wenshuo.agent.javassist.bytecode.ClassFile; +import com.wenshuo.agent.javassist.bytecode.CodeAttribute; +import com.wenshuo.agent.javassist.bytecode.ConstantAttribute; +import com.wenshuo.agent.javassist.bytecode.CodeIterator; +import com.wenshuo.agent.javassist.bytecode.ConstPool; +import com.wenshuo.agent.javassist.bytecode.Descriptor; +import com.wenshuo.agent.javassist.bytecode.EnclosingMethodAttribute; +import com.wenshuo.agent.javassist.bytecode.FieldInfo; +import com.wenshuo.agent.javassist.bytecode.InnerClassesAttribute; +import com.wenshuo.agent.javassist.bytecode.MethodInfo; +import com.wenshuo.agent.javassist.bytecode.ParameterAnnotationsAttribute; +import com.wenshuo.agent.javassist.bytecode.SignatureAttribute; +import com.wenshuo.agent.javassist.bytecode.annotation.Annotation; +import com.wenshuo.agent.javassist.compiler.AccessorMaker; +import com.wenshuo.agent.javassist.compiler.CompileError; +import com.wenshuo.agent.javassist.compiler.Javac; +import com.wenshuo.agent.javassist.expr.ExprEditor; /** * Class types. @@ -688,7 +688,7 @@ private static Object toAnnoType(Annotation anno, ClassPool cp) catch (ClassNotFoundException e2){ try { Class clazz = cp.get(anno.getTypeName()).toClass(); - return com.thunisoft.agent.javassist.bytecode.annotation.AnnotationImpl.make( + return com.wenshuo.agent.javassist.bytecode.annotation.AnnotationImpl.make( clazz.getClassLoader(), clazz, cp, anno); } diff --git a/src/com/thunisoft/agent/javassist/CtConstructor.java b/src/com/wenshuo/agent/javassist/CtConstructor.java similarity index 98% rename from src/com/thunisoft/agent/javassist/CtConstructor.java rename to src/com/wenshuo/agent/javassist/CtConstructor.java index 6c03f71..58dd659 100644 --- a/src/com/thunisoft/agent/javassist/CtConstructor.java +++ b/src/com/wenshuo/agent/javassist/CtConstructor.java @@ -14,11 +14,11 @@ * License. */ -package com.thunisoft.agent.javassist; +package com.wenshuo.agent.javassist; -import com.thunisoft.agent.javassist.bytecode.*; -import com.thunisoft.agent.javassist.compiler.Javac; -import com.thunisoft.agent.javassist.compiler.CompileError; +import com.wenshuo.agent.javassist.bytecode.*; +import com.wenshuo.agent.javassist.compiler.Javac; +import com.wenshuo.agent.javassist.compiler.CompileError; /** * An instance of CtConstructor represents a constructor. diff --git a/src/com/thunisoft/agent/javassist/CtField.java b/src/com/wenshuo/agent/javassist/CtField.java similarity index 99% rename from src/com/thunisoft/agent/javassist/CtField.java rename to src/com/wenshuo/agent/javassist/CtField.java index 7240e27..7489d83 100644 --- a/src/com/thunisoft/agent/javassist/CtField.java +++ b/src/com/wenshuo/agent/javassist/CtField.java @@ -14,16 +14,16 @@ * License. */ -package com.thunisoft.agent.javassist; - -import com.thunisoft.agent.javassist.bytecode.*; -import com.thunisoft.agent.javassist.compiler.Javac; -import com.thunisoft.agent.javassist.compiler.SymbolTable; -import com.thunisoft.agent.javassist.compiler.CompileError; -import com.thunisoft.agent.javassist.compiler.ast.ASTree; -import com.thunisoft.agent.javassist.compiler.ast.IntConst; -import com.thunisoft.agent.javassist.compiler.ast.DoubleConst; -import com.thunisoft.agent.javassist.compiler.ast.StringL; +package com.wenshuo.agent.javassist; + +import com.wenshuo.agent.javassist.bytecode.*; +import com.wenshuo.agent.javassist.compiler.Javac; +import com.wenshuo.agent.javassist.compiler.SymbolTable; +import com.wenshuo.agent.javassist.compiler.CompileError; +import com.wenshuo.agent.javassist.compiler.ast.ASTree; +import com.wenshuo.agent.javassist.compiler.ast.IntConst; +import com.wenshuo.agent.javassist.compiler.ast.DoubleConst; +import com.wenshuo.agent.javassist.compiler.ast.StringL; /** * An instance of CtField represents a field. diff --git a/src/com/thunisoft/agent/javassist/CtMember.java b/src/com/wenshuo/agent/javassist/CtMember.java similarity index 99% rename from src/com/thunisoft/agent/javassist/CtMember.java rename to src/com/wenshuo/agent/javassist/CtMember.java index a8662e4..2e83f97 100644 --- a/src/com/thunisoft/agent/javassist/CtMember.java +++ b/src/com/wenshuo/agent/javassist/CtMember.java @@ -14,7 +14,7 @@ * License. */ -package com.thunisoft.agent.javassist; +package com.wenshuo.agent.javassist; /** * An instance of CtMember represents a field, a constructor, diff --git a/src/com/thunisoft/agent/javassist/CtMethod.java b/src/com/wenshuo/agent/javassist/CtMethod.java similarity index 99% rename from src/com/thunisoft/agent/javassist/CtMethod.java rename to src/com/wenshuo/agent/javassist/CtMethod.java index 4f22ce1..42d9f22 100644 --- a/src/com/thunisoft/agent/javassist/CtMethod.java +++ b/src/com/wenshuo/agent/javassist/CtMethod.java @@ -14,9 +14,9 @@ * License. */ -package com.thunisoft.agent.javassist; +package com.wenshuo.agent.javassist; -import com.thunisoft.agent.javassist.bytecode.*; +import com.wenshuo.agent.javassist.bytecode.*; /** * An instance of CtMethod represents a method. diff --git a/src/com/thunisoft/agent/javassist/CtNewClass.java b/src/com/wenshuo/agent/javassist/CtNewClass.java similarity index 97% rename from src/com/thunisoft/agent/javassist/CtNewClass.java rename to src/com/wenshuo/agent/javassist/CtNewClass.java index 997982f..1db1989 100644 --- a/src/com/thunisoft/agent/javassist/CtNewClass.java +++ b/src/com/wenshuo/agent/javassist/CtNewClass.java @@ -14,11 +14,11 @@ * License. */ -package com.thunisoft.agent.javassist; +package com.wenshuo.agent.javassist; import java.io.DataOutputStream; import java.io.IOException; -import com.thunisoft.agent.javassist.bytecode.ClassFile; +import com.wenshuo.agent.javassist.bytecode.ClassFile; class CtNewClass extends CtClassType { /* true if the class is an interface. diff --git a/src/com/thunisoft/agent/javassist/CtNewConstructor.java b/src/com/wenshuo/agent/javassist/CtNewConstructor.java similarity index 97% rename from src/com/thunisoft/agent/javassist/CtNewConstructor.java rename to src/com/wenshuo/agent/javassist/CtNewConstructor.java index b05448b..18c929d 100644 --- a/src/com/thunisoft/agent/javassist/CtNewConstructor.java +++ b/src/com/wenshuo/agent/javassist/CtNewConstructor.java @@ -14,12 +14,12 @@ * License. */ -package com.thunisoft.agent.javassist; +package com.wenshuo.agent.javassist; -import com.thunisoft.agent.javassist.bytecode.*; -import com.thunisoft.agent.javassist.compiler.Javac; -import com.thunisoft.agent.javassist.compiler.CompileError; -import com.thunisoft.agent.javassist.CtMethod.ConstParameter; +import com.wenshuo.agent.javassist.bytecode.*; +import com.wenshuo.agent.javassist.compiler.Javac; +import com.wenshuo.agent.javassist.compiler.CompileError; +import com.wenshuo.agent.javassist.CtMethod.ConstParameter; /** * A collection of static methods for creating a CtConstructor. diff --git a/src/com/thunisoft/agent/javassist/CtNewMethod.java b/src/com/wenshuo/agent/javassist/CtNewMethod.java similarity index 98% rename from src/com/thunisoft/agent/javassist/CtNewMethod.java rename to src/com/wenshuo/agent/javassist/CtNewMethod.java index ae03217..d55a464 100644 --- a/src/com/thunisoft/agent/javassist/CtNewMethod.java +++ b/src/com/wenshuo/agent/javassist/CtNewMethod.java @@ -14,12 +14,12 @@ * License. */ -package com.thunisoft.agent.javassist; +package com.wenshuo.agent.javassist; -import com.thunisoft.agent.javassist.bytecode.*; -import com.thunisoft.agent.javassist.compiler.Javac; -import com.thunisoft.agent.javassist.compiler.CompileError; -import com.thunisoft.agent.javassist.CtMethod.ConstParameter; +import com.wenshuo.agent.javassist.bytecode.*; +import com.wenshuo.agent.javassist.compiler.Javac; +import com.wenshuo.agent.javassist.compiler.CompileError; +import com.wenshuo.agent.javassist.CtMethod.ConstParameter; /** * A collection of static methods for creating a CtMethod. diff --git a/src/com/thunisoft/agent/javassist/CtNewNestedClass.java b/src/com/wenshuo/agent/javassist/CtNewNestedClass.java similarity index 91% rename from src/com/thunisoft/agent/javassist/CtNewNestedClass.java rename to src/com/wenshuo/agent/javassist/CtNewNestedClass.java index 292e55d..4fb89b0 100644 --- a/src/com/thunisoft/agent/javassist/CtNewNestedClass.java +++ b/src/com/wenshuo/agent/javassist/CtNewNestedClass.java @@ -14,11 +14,11 @@ * License. */ -package com.thunisoft.agent.javassist; +package com.wenshuo.agent.javassist; -import com.thunisoft.agent.javassist.bytecode.ClassFile; -import com.thunisoft.agent.javassist.bytecode.AccessFlag; -import com.thunisoft.agent.javassist.bytecode.InnerClassesAttribute; +import com.wenshuo.agent.javassist.bytecode.ClassFile; +import com.wenshuo.agent.javassist.bytecode.AccessFlag; +import com.wenshuo.agent.javassist.bytecode.InnerClassesAttribute; /** * A newly created public nested class. diff --git a/src/com/thunisoft/agent/javassist/CtNewWrappedConstructor.java b/src/com/wenshuo/agent/javassist/CtNewWrappedConstructor.java similarity index 96% rename from src/com/thunisoft/agent/javassist/CtNewWrappedConstructor.java rename to src/com/wenshuo/agent/javassist/CtNewWrappedConstructor.java index 8e05678..d507162 100644 --- a/src/com/thunisoft/agent/javassist/CtNewWrappedConstructor.java +++ b/src/com/wenshuo/agent/javassist/CtNewWrappedConstructor.java @@ -14,10 +14,10 @@ * License. */ -package com.thunisoft.agent.javassist; +package com.wenshuo.agent.javassist; -import com.thunisoft.agent.javassist.bytecode.*; -import com.thunisoft.agent.javassist.CtMethod.ConstParameter; +import com.wenshuo.agent.javassist.bytecode.*; +import com.wenshuo.agent.javassist.CtMethod.ConstParameter; class CtNewWrappedConstructor extends CtNewWrappedMethod { private static final int PASS_NONE = CtNewConstructor.PASS_NONE; diff --git a/src/com/thunisoft/agent/javassist/CtNewWrappedMethod.java b/src/com/wenshuo/agent/javassist/CtNewWrappedMethod.java similarity index 97% rename from src/com/thunisoft/agent/javassist/CtNewWrappedMethod.java rename to src/com/wenshuo/agent/javassist/CtNewWrappedMethod.java index d9cb02c..da2ad8b 100644 --- a/src/com/thunisoft/agent/javassist/CtNewWrappedMethod.java +++ b/src/com/wenshuo/agent/javassist/CtNewWrappedMethod.java @@ -14,12 +14,12 @@ * License. */ -package com.thunisoft.agent.javassist; +package com.wenshuo.agent.javassist; -import com.thunisoft.agent.javassist.bytecode.*; -import com.thunisoft.agent.javassist.compiler.JvstCodeGen; +import com.wenshuo.agent.javassist.bytecode.*; +import com.wenshuo.agent.javassist.compiler.JvstCodeGen; import java.util.Hashtable; -import com.thunisoft.agent.javassist.CtMethod.ConstParameter; +import com.wenshuo.agent.javassist.CtMethod.ConstParameter; class CtNewWrappedMethod { diff --git a/src/com/thunisoft/agent/javassist/CtPrimitiveType.java b/src/com/wenshuo/agent/javassist/CtPrimitiveType.java similarity index 98% rename from src/com/thunisoft/agent/javassist/CtPrimitiveType.java rename to src/com/wenshuo/agent/javassist/CtPrimitiveType.java index 0b02c5c..bdd961b 100644 --- a/src/com/thunisoft/agent/javassist/CtPrimitiveType.java +++ b/src/com/wenshuo/agent/javassist/CtPrimitiveType.java @@ -14,7 +14,7 @@ * License. */ -package com.thunisoft.agent.javassist; +package com.wenshuo.agent.javassist; /** * An instance of CtPrimitiveType represents a primitive type. diff --git a/src/com/thunisoft/agent/javassist/Loader.java b/src/com/wenshuo/agent/javassist/Loader.java similarity index 99% rename from src/com/thunisoft/agent/javassist/Loader.java rename to src/com/wenshuo/agent/javassist/Loader.java index 666d76f..2c2e52f 100644 --- a/src/com/thunisoft/agent/javassist/Loader.java +++ b/src/com/wenshuo/agent/javassist/Loader.java @@ -14,7 +14,7 @@ * License. */ -package com.thunisoft.agent.javassist; +package com.wenshuo.agent.javassist; import java.io.*; import java.util.Hashtable; @@ -41,7 +41,7 @@ * should be something like this: * *
- * import com.thunisoft.agent.javassist.*;
+ * import com.wenshuo.agent.javassist.*;
  *
  * public class Main {
  *   public static void main(String[] args) throws Throwable {
diff --git a/src/com/thunisoft/agent/javassist/LoaderClassPath.java b/src/com/wenshuo/agent/javassist/LoaderClassPath.java
similarity index 98%
rename from src/com/thunisoft/agent/javassist/LoaderClassPath.java
rename to src/com/wenshuo/agent/javassist/LoaderClassPath.java
index 936e9c2..e7c1029 100644
--- a/src/com/thunisoft/agent/javassist/LoaderClassPath.java
+++ b/src/com/wenshuo/agent/javassist/LoaderClassPath.java
@@ -14,7 +14,7 @@
  * License.
  */
 
-package com.thunisoft.agent.javassist;
+package com.wenshuo.agent.javassist;
 
 import java.io.InputStream;
 import java.net.URL;
diff --git a/src/com/thunisoft/agent/javassist/Modifier.java b/src/com/wenshuo/agent/javassist/Modifier.java
similarity index 98%
rename from src/com/thunisoft/agent/javassist/Modifier.java
rename to src/com/wenshuo/agent/javassist/Modifier.java
index 180f5bc..92f709c 100644
--- a/src/com/thunisoft/agent/javassist/Modifier.java
+++ b/src/com/wenshuo/agent/javassist/Modifier.java
@@ -14,9 +14,9 @@
  * License.
  */
 
-package com.thunisoft.agent.javassist;
+package com.wenshuo.agent.javassist;
 
-import com.thunisoft.agent.javassist.bytecode.AccessFlag;
+import com.wenshuo.agent.javassist.bytecode.AccessFlag;
 
 /**
  * The Modifier class provides static methods and constants to decode
diff --git a/src/com/thunisoft/agent/javassist/NotFoundException.java b/src/com/wenshuo/agent/javassist/NotFoundException.java
similarity index 96%
rename from src/com/thunisoft/agent/javassist/NotFoundException.java
rename to src/com/wenshuo/agent/javassist/NotFoundException.java
index 702b7c4..5569375 100644
--- a/src/com/thunisoft/agent/javassist/NotFoundException.java
+++ b/src/com/wenshuo/agent/javassist/NotFoundException.java
@@ -14,7 +14,7 @@
  * License.
  */
 
-package com.thunisoft.agent.javassist;
+package com.wenshuo.agent.javassist;
 
 /**
  * Signals that something could not be found.
diff --git a/src/com/thunisoft/agent/javassist/SerialVersionUID.java b/src/com/wenshuo/agent/javassist/SerialVersionUID.java
similarity index 98%
rename from src/com/thunisoft/agent/javassist/SerialVersionUID.java
rename to src/com/wenshuo/agent/javassist/SerialVersionUID.java
index e44434f..37f9add 100644
--- a/src/com/thunisoft/agent/javassist/SerialVersionUID.java
+++ b/src/com/wenshuo/agent/javassist/SerialVersionUID.java
@@ -14,12 +14,12 @@
  * License.
  */
 
-package com.thunisoft.agent.javassist;
+package com.wenshuo.agent.javassist;
 
 import java.io.*;
 import java.lang.reflect.Modifier;
 
-import com.thunisoft.agent.javassist.bytecode.*;
+import com.wenshuo.agent.javassist.bytecode.*;
 import java.util.*;
 import java.security.*;
 
diff --git a/src/com/thunisoft/agent/javassist/Translator.java b/src/com/wenshuo/agent/javassist/Translator.java
similarity index 98%
rename from src/com/thunisoft/agent/javassist/Translator.java
rename to src/com/wenshuo/agent/javassist/Translator.java
index 782fc95..1492f31 100644
--- a/src/com/thunisoft/agent/javassist/Translator.java
+++ b/src/com/wenshuo/agent/javassist/Translator.java
@@ -14,7 +14,7 @@
  * License.
  */
 
-package com.thunisoft.agent.javassist;
+package com.wenshuo.agent.javassist;
 
 /**
  * An observer of Loader.
diff --git a/src/com/thunisoft/agent/javassist/URLClassPath.java b/src/com/wenshuo/agent/javassist/URLClassPath.java
similarity index 99%
rename from src/com/thunisoft/agent/javassist/URLClassPath.java
rename to src/com/wenshuo/agent/javassist/URLClassPath.java
index c2f72d7..a66b87a 100644
--- a/src/com/thunisoft/agent/javassist/URLClassPath.java
+++ b/src/com/wenshuo/agent/javassist/URLClassPath.java
@@ -14,7 +14,7 @@
  * License.
  */
 
-package com.thunisoft.agent.javassist;
+package com.wenshuo.agent.javassist;
 
 import java.io.*;
 import java.net.*;
diff --git a/src/com/thunisoft/agent/javassist/bytecode/AccessFlag.java b/src/com/wenshuo/agent/javassist/bytecode/AccessFlag.java
similarity index 98%
rename from src/com/thunisoft/agent/javassist/bytecode/AccessFlag.java
rename to src/com/wenshuo/agent/javassist/bytecode/AccessFlag.java
index ce3db4e..e550e23 100644
--- a/src/com/thunisoft/agent/javassist/bytecode/AccessFlag.java
+++ b/src/com/wenshuo/agent/javassist/bytecode/AccessFlag.java
@@ -14,7 +14,7 @@
  * License.
  */
 
-package com.thunisoft.agent.javassist.bytecode;
+package com.wenshuo.agent.javassist.bytecode;
 
 /**
  * A support class providing static methods and constants
diff --git a/src/com/thunisoft/agent/javassist/bytecode/AnnotationDefaultAttribute.java b/src/com/wenshuo/agent/javassist/bytecode/AnnotationDefaultAttribute.java
similarity index 95%
rename from src/com/thunisoft/agent/javassist/bytecode/AnnotationDefaultAttribute.java
rename to src/com/wenshuo/agent/javassist/bytecode/AnnotationDefaultAttribute.java
index 2e03fae..4bbddf3 100644
--- a/src/com/thunisoft/agent/javassist/bytecode/AnnotationDefaultAttribute.java
+++ b/src/com/wenshuo/agent/javassist/bytecode/AnnotationDefaultAttribute.java
@@ -14,11 +14,11 @@
  * License.
  */
 
-package com.thunisoft.agent.javassist.bytecode;
+package com.wenshuo.agent.javassist.bytecode;
 
-import com.thunisoft.agent.javassist.CtClass;
-import com.thunisoft.agent.javassist.bytecode.annotation.AnnotationsWriter;
-import com.thunisoft.agent.javassist.bytecode.annotation.MemberValue;
+import com.wenshuo.agent.javassist.CtClass;
+import com.wenshuo.agent.javassist.bytecode.annotation.AnnotationsWriter;
+import com.wenshuo.agent.javassist.bytecode.annotation.MemberValue;
 
 import java.io.ByteArrayOutputStream;
 import java.io.DataInputStream;
diff --git a/src/com/thunisoft/agent/javassist/bytecode/AnnotationsAttribute.java b/src/com/wenshuo/agent/javassist/bytecode/AnnotationsAttribute.java
similarity index 99%
rename from src/com/thunisoft/agent/javassist/bytecode/AnnotationsAttribute.java
rename to src/com/wenshuo/agent/javassist/bytecode/AnnotationsAttribute.java
index a89909d..59fa6a4 100644
--- a/src/com/thunisoft/agent/javassist/bytecode/AnnotationsAttribute.java
+++ b/src/com/wenshuo/agent/javassist/bytecode/AnnotationsAttribute.java
@@ -14,14 +14,14 @@
  * License.
  */
 
-package com.thunisoft.agent.javassist.bytecode;
+package com.wenshuo.agent.javassist.bytecode;
 
 import java.util.Map;
 import java.util.HashMap;
 import java.io.IOException;
 import java.io.DataInputStream;
 import java.io.ByteArrayOutputStream;
-import com.thunisoft.agent.javassist.bytecode.annotation.*;
+import com.wenshuo.agent.javassist.bytecode.annotation.*;
 
 /**
  * A class representing
@@ -40,7 +40,7 @@
  * 

For example, * *

- * import com.thunisoft.agent.javassist.bytecode.annotation.Annotation;
+ * import com.wenshuo.agent.javassist.bytecode.annotation.Annotation;
  *    :
  * CtMethod m = ... ;
  * MethodInfo minfo = m.getMethodInfo();
diff --git a/src/com/thunisoft/agent/javassist/bytecode/AttributeInfo.java b/src/com/wenshuo/agent/javassist/bytecode/AttributeInfo.java
similarity index 99%
rename from src/com/thunisoft/agent/javassist/bytecode/AttributeInfo.java
rename to src/com/wenshuo/agent/javassist/bytecode/AttributeInfo.java
index 06eb0de..b8f799a 100644
--- a/src/com/thunisoft/agent/javassist/bytecode/AttributeInfo.java
+++ b/src/com/wenshuo/agent/javassist/bytecode/AttributeInfo.java
@@ -14,7 +14,7 @@
  * License.
  */
 
-package com.thunisoft.agent.javassist.bytecode;
+package com.wenshuo.agent.javassist.bytecode;
 
 import java.io.DataInputStream;
 import java.io.DataOutputStream;
diff --git a/src/com/thunisoft/agent/javassist/bytecode/BadBytecode.java b/src/com/wenshuo/agent/javassist/bytecode/BadBytecode.java
similarity index 96%
rename from src/com/thunisoft/agent/javassist/bytecode/BadBytecode.java
rename to src/com/wenshuo/agent/javassist/bytecode/BadBytecode.java
index a03c6b7..6aeafc7 100644
--- a/src/com/thunisoft/agent/javassist/bytecode/BadBytecode.java
+++ b/src/com/wenshuo/agent/javassist/bytecode/BadBytecode.java
@@ -14,7 +14,7 @@
  * License.
  */
 
-package com.thunisoft.agent.javassist.bytecode;
+package com.wenshuo.agent.javassist.bytecode;
 
 /**
  * Signals that a bad bytecode sequence has been found.
diff --git a/src/com/thunisoft/agent/javassist/bytecode/BootstrapMethodsAttribute.java b/src/com/wenshuo/agent/javassist/bytecode/BootstrapMethodsAttribute.java
similarity index 98%
rename from src/com/thunisoft/agent/javassist/bytecode/BootstrapMethodsAttribute.java
rename to src/com/wenshuo/agent/javassist/bytecode/BootstrapMethodsAttribute.java
index 9e772bc..194c431 100644
--- a/src/com/thunisoft/agent/javassist/bytecode/BootstrapMethodsAttribute.java
+++ b/src/com/wenshuo/agent/javassist/bytecode/BootstrapMethodsAttribute.java
@@ -1,4 +1,4 @@
-package com.thunisoft.agent.javassist.bytecode;
+package com.wenshuo.agent.javassist.bytecode;
 
 import java.io.DataInputStream;
 import java.io.IOException;
diff --git a/src/com/thunisoft/agent/javassist/bytecode/ByteArray.java b/src/com/wenshuo/agent/javassist/bytecode/ByteArray.java
similarity index 98%
rename from src/com/thunisoft/agent/javassist/bytecode/ByteArray.java
rename to src/com/wenshuo/agent/javassist/bytecode/ByteArray.java
index cc8527c..ad8fc3f 100644
--- a/src/com/thunisoft/agent/javassist/bytecode/ByteArray.java
+++ b/src/com/wenshuo/agent/javassist/bytecode/ByteArray.java
@@ -14,7 +14,7 @@
  * License.
  */
 
-package com.thunisoft.agent.javassist.bytecode;
+package com.wenshuo.agent.javassist.bytecode;
 
 /**
  * A collection of static methods for reading and writing a byte array.
diff --git a/src/com/thunisoft/agent/javassist/bytecode/ByteStream.java b/src/com/wenshuo/agent/javassist/bytecode/ByteStream.java
similarity index 99%
rename from src/com/thunisoft/agent/javassist/bytecode/ByteStream.java
rename to src/com/wenshuo/agent/javassist/bytecode/ByteStream.java
index 492c58f..7206ea7 100644
--- a/src/com/thunisoft/agent/javassist/bytecode/ByteStream.java
+++ b/src/com/wenshuo/agent/javassist/bytecode/ByteStream.java
@@ -14,7 +14,7 @@
  * License.
  */
 
-package com.thunisoft.agent.javassist.bytecode;
+package com.wenshuo.agent.javassist.bytecode;
 
 import java.io.OutputStream;
 import java.io.IOException;
diff --git a/src/com/thunisoft/agent/javassist/bytecode/Bytecode.java b/src/com/wenshuo/agent/javassist/bytecode/Bytecode.java
similarity index 99%
rename from src/com/thunisoft/agent/javassist/bytecode/Bytecode.java
rename to src/com/wenshuo/agent/javassist/bytecode/Bytecode.java
index a0651bf..e04a85f 100644
--- a/src/com/thunisoft/agent/javassist/bytecode/Bytecode.java
+++ b/src/com/wenshuo/agent/javassist/bytecode/Bytecode.java
@@ -14,10 +14,10 @@
  * License.
  */
 
-package com.thunisoft.agent.javassist.bytecode;
+package com.wenshuo.agent.javassist.bytecode;
 
-import com.thunisoft.agent.javassist.CtClass;
-import com.thunisoft.agent.javassist.CtPrimitiveType;
+import com.wenshuo.agent.javassist.CtClass;
+import com.wenshuo.agent.javassist.CtPrimitiveType;
 
 class ByteVector implements Cloneable {
     private byte[] buffer;
diff --git a/src/com/thunisoft/agent/javassist/bytecode/ClassFile.java b/src/com/wenshuo/agent/javassist/bytecode/ClassFile.java
similarity index 99%
rename from src/com/thunisoft/agent/javassist/bytecode/ClassFile.java
rename to src/com/wenshuo/agent/javassist/bytecode/ClassFile.java
index dfde433..5a6a70c 100644
--- a/src/com/thunisoft/agent/javassist/bytecode/ClassFile.java
+++ b/src/com/wenshuo/agent/javassist/bytecode/ClassFile.java
@@ -14,7 +14,7 @@
  * License.
  */
 
-package com.thunisoft.agent.javassist.bytecode;
+package com.wenshuo.agent.javassist.bytecode;
 
 import java.io.DataInputStream;
 import java.io.DataOutputStream;
@@ -24,7 +24,7 @@
 import java.util.ListIterator;
 import java.util.Map;
 
-import com.thunisoft.agent.javassist.CannotCompileException;
+import com.wenshuo.agent.javassist.CannotCompileException;
 
 /**
  * ClassFile represents a Java .class file, which
diff --git a/src/com/thunisoft/agent/javassist/bytecode/ClassFilePrinter.java b/src/com/wenshuo/agent/javassist/bytecode/ClassFilePrinter.java
similarity index 98%
rename from src/com/thunisoft/agent/javassist/bytecode/ClassFilePrinter.java
rename to src/com/wenshuo/agent/javassist/bytecode/ClassFilePrinter.java
index 2d1c750..a7bd9c7 100644
--- a/src/com/thunisoft/agent/javassist/bytecode/ClassFilePrinter.java
+++ b/src/com/wenshuo/agent/javassist/bytecode/ClassFilePrinter.java
@@ -14,10 +14,10 @@
  * License.
  */
 
-package com.thunisoft.agent.javassist.bytecode;
+package com.wenshuo.agent.javassist.bytecode;
 
 import java.io.PrintWriter;
-import com.thunisoft.agent.javassist.Modifier;
+import com.wenshuo.agent.javassist.Modifier;
 import java.util.List;
 
 /**
diff --git a/src/com/thunisoft/agent/javassist/bytecode/ClassFileWriter.java b/src/com/wenshuo/agent/javassist/bytecode/ClassFileWriter.java
similarity index 99%
rename from src/com/thunisoft/agent/javassist/bytecode/ClassFileWriter.java
rename to src/com/wenshuo/agent/javassist/bytecode/ClassFileWriter.java
index 7b29301..39ab88b 100644
--- a/src/com/thunisoft/agent/javassist/bytecode/ClassFileWriter.java
+++ b/src/com/wenshuo/agent/javassist/bytecode/ClassFileWriter.java
@@ -14,7 +14,7 @@
  * License.
  */
 
-package com.thunisoft.agent.javassist.bytecode;
+package com.wenshuo.agent.javassist.bytecode;
 
 import java.io.OutputStream;
 import java.io.DataOutputStream;
diff --git a/src/com/thunisoft/agent/javassist/bytecode/CodeAnalyzer.java b/src/com/wenshuo/agent/javassist/bytecode/CodeAnalyzer.java
similarity index 99%
rename from src/com/thunisoft/agent/javassist/bytecode/CodeAnalyzer.java
rename to src/com/wenshuo/agent/javassist/bytecode/CodeAnalyzer.java
index 22bf0b0..8efc6d4 100644
--- a/src/com/thunisoft/agent/javassist/bytecode/CodeAnalyzer.java
+++ b/src/com/wenshuo/agent/javassist/bytecode/CodeAnalyzer.java
@@ -14,7 +14,7 @@
  * License.
  */
 
-package com.thunisoft.agent.javassist.bytecode;
+package com.wenshuo.agent.javassist.bytecode;
 
 /**
  * Utility for computing max_stack.
diff --git a/src/com/thunisoft/agent/javassist/bytecode/CodeAttribute.java b/src/com/wenshuo/agent/javassist/bytecode/CodeAttribute.java
similarity index 99%
rename from src/com/thunisoft/agent/javassist/bytecode/CodeAttribute.java
rename to src/com/wenshuo/agent/javassist/bytecode/CodeAttribute.java
index dc4dbc8..86e7bd9 100644
--- a/src/com/thunisoft/agent/javassist/bytecode/CodeAttribute.java
+++ b/src/com/wenshuo/agent/javassist/bytecode/CodeAttribute.java
@@ -14,7 +14,7 @@
  * License.
  */
 
-package com.thunisoft.agent.javassist.bytecode;
+package com.wenshuo.agent.javassist.bytecode;
 
 import java.io.DataInputStream;
 import java.io.DataOutputStream;
diff --git a/src/com/thunisoft/agent/javassist/bytecode/CodeIterator.java b/src/com/wenshuo/agent/javassist/bytecode/CodeIterator.java
similarity index 99%
rename from src/com/thunisoft/agent/javassist/bytecode/CodeIterator.java
rename to src/com/wenshuo/agent/javassist/bytecode/CodeIterator.java
index e4cc23a..7dfc316 100644
--- a/src/com/thunisoft/agent/javassist/bytecode/CodeIterator.java
+++ b/src/com/wenshuo/agent/javassist/bytecode/CodeIterator.java
@@ -14,7 +14,7 @@
  * License.
  */
 
-package com.thunisoft.agent.javassist.bytecode;
+package com.wenshuo.agent.javassist.bytecode;
 
 import java.util.ArrayList;
 
diff --git a/src/com/thunisoft/agent/javassist/bytecode/ConstPool.java b/src/com/wenshuo/agent/javassist/bytecode/ConstPool.java
similarity index 99%
rename from src/com/thunisoft/agent/javassist/bytecode/ConstPool.java
rename to src/com/wenshuo/agent/javassist/bytecode/ConstPool.java
index e2bbddc..a7d94ae 100644
--- a/src/com/thunisoft/agent/javassist/bytecode/ConstPool.java
+++ b/src/com/wenshuo/agent/javassist/bytecode/ConstPool.java
@@ -14,7 +14,7 @@
  * License.
  */
 
-package com.thunisoft.agent.javassist.bytecode;
+package com.wenshuo.agent.javassist.bytecode;
 
 import java.io.DataInputStream;
 import java.io.DataOutputStream;
@@ -26,7 +26,7 @@
 import java.util.Map;
 import java.util.Set;
 
-import com.thunisoft.agent.javassist.CtClass;
+import com.wenshuo.agent.javassist.CtClass;
 
 /**
  * Constant pool table.
diff --git a/src/com/thunisoft/agent/javassist/bytecode/ConstantAttribute.java b/src/com/wenshuo/agent/javassist/bytecode/ConstantAttribute.java
similarity index 97%
rename from src/com/thunisoft/agent/javassist/bytecode/ConstantAttribute.java
rename to src/com/wenshuo/agent/javassist/bytecode/ConstantAttribute.java
index ce91174..900ce1a 100644
--- a/src/com/thunisoft/agent/javassist/bytecode/ConstantAttribute.java
+++ b/src/com/wenshuo/agent/javassist/bytecode/ConstantAttribute.java
@@ -14,7 +14,7 @@
  * License.
  */
 
-package com.thunisoft.agent.javassist.bytecode;
+package com.wenshuo.agent.javassist.bytecode;
 
 import java.io.DataInputStream;
 import java.util.Map;
diff --git a/src/com/thunisoft/agent/javassist/bytecode/DeprecatedAttribute.java b/src/com/wenshuo/agent/javassist/bytecode/DeprecatedAttribute.java
similarity index 97%
rename from src/com/thunisoft/agent/javassist/bytecode/DeprecatedAttribute.java
rename to src/com/wenshuo/agent/javassist/bytecode/DeprecatedAttribute.java
index 6922602..fdf1a7f 100644
--- a/src/com/thunisoft/agent/javassist/bytecode/DeprecatedAttribute.java
+++ b/src/com/wenshuo/agent/javassist/bytecode/DeprecatedAttribute.java
@@ -14,7 +14,7 @@
  * License.
  */
 
-package com.thunisoft.agent.javassist.bytecode;
+package com.wenshuo.agent.javassist.bytecode;
 
 import java.io.DataInputStream;
 import java.io.IOException;
diff --git a/src/com/thunisoft/agent/javassist/bytecode/Descriptor.java b/src/com/wenshuo/agent/javassist/bytecode/Descriptor.java
similarity index 99%
rename from src/com/thunisoft/agent/javassist/bytecode/Descriptor.java
rename to src/com/wenshuo/agent/javassist/bytecode/Descriptor.java
index ec22950..7b8f2f1 100644
--- a/src/com/thunisoft/agent/javassist/bytecode/Descriptor.java
+++ b/src/com/wenshuo/agent/javassist/bytecode/Descriptor.java
@@ -14,12 +14,12 @@
  * License.
  */
 
-package com.thunisoft.agent.javassist.bytecode;
+package com.wenshuo.agent.javassist.bytecode;
 
-import com.thunisoft.agent.javassist.ClassPool;
-import com.thunisoft.agent.javassist.CtClass;
-import com.thunisoft.agent.javassist.CtPrimitiveType;
-import com.thunisoft.agent.javassist.NotFoundException;
+import com.wenshuo.agent.javassist.ClassPool;
+import com.wenshuo.agent.javassist.CtClass;
+import com.wenshuo.agent.javassist.CtPrimitiveType;
+import com.wenshuo.agent.javassist.NotFoundException;
 import java.util.Map;
 
 /**
diff --git a/src/com/thunisoft/agent/javassist/bytecode/DuplicateMemberException.java b/src/com/wenshuo/agent/javassist/bytecode/DuplicateMemberException.java
similarity index 90%
rename from src/com/thunisoft/agent/javassist/bytecode/DuplicateMemberException.java
rename to src/com/wenshuo/agent/javassist/bytecode/DuplicateMemberException.java
index 133f737..1035450 100644
--- a/src/com/thunisoft/agent/javassist/bytecode/DuplicateMemberException.java
+++ b/src/com/wenshuo/agent/javassist/bytecode/DuplicateMemberException.java
@@ -14,9 +14,9 @@
  * License.
  */
 
-package com.thunisoft.agent.javassist.bytecode;
+package com.wenshuo.agent.javassist.bytecode;
 
-import com.thunisoft.agent.javassist.CannotCompileException;
+import com.wenshuo.agent.javassist.CannotCompileException;
 
 /**
  * An exception thrown when adding a duplicate member is requested.
diff --git a/src/com/thunisoft/agent/javassist/bytecode/EnclosingMethodAttribute.java b/src/com/wenshuo/agent/javassist/bytecode/EnclosingMethodAttribute.java
similarity index 97%
rename from src/com/thunisoft/agent/javassist/bytecode/EnclosingMethodAttribute.java
rename to src/com/wenshuo/agent/javassist/bytecode/EnclosingMethodAttribute.java
index ef6e01e..05a0f4a 100644
--- a/src/com/thunisoft/agent/javassist/bytecode/EnclosingMethodAttribute.java
+++ b/src/com/wenshuo/agent/javassist/bytecode/EnclosingMethodAttribute.java
@@ -14,13 +14,13 @@
  * License.
  */
 
-package com.thunisoft.agent.javassist.bytecode;
+package com.wenshuo.agent.javassist.bytecode;
 
 import java.io.DataInputStream;
 import java.io.IOException;
 import java.util.Map;
 
-import com.thunisoft.agent.javassist.CtConstructor;
+import com.wenshuo.agent.javassist.CtConstructor;
 
 /**
  * EnclosingMethod_attribute.
diff --git a/src/com/thunisoft/agent/javassist/bytecode/ExceptionTable.java b/src/com/wenshuo/agent/javassist/bytecode/ExceptionTable.java
similarity index 99%
rename from src/com/thunisoft/agent/javassist/bytecode/ExceptionTable.java
rename to src/com/wenshuo/agent/javassist/bytecode/ExceptionTable.java
index cfd65db..9ff2fa5 100644
--- a/src/com/thunisoft/agent/javassist/bytecode/ExceptionTable.java
+++ b/src/com/wenshuo/agent/javassist/bytecode/ExceptionTable.java
@@ -14,7 +14,7 @@
  * License.
  */
 
-package com.thunisoft.agent.javassist.bytecode;
+package com.wenshuo.agent.javassist.bytecode;
 
 import java.io.DataInputStream;
 import java.io.DataOutputStream;
diff --git a/src/com/thunisoft/agent/javassist/bytecode/ExceptionsAttribute.java b/src/com/wenshuo/agent/javassist/bytecode/ExceptionsAttribute.java
similarity index 99%
rename from src/com/thunisoft/agent/javassist/bytecode/ExceptionsAttribute.java
rename to src/com/wenshuo/agent/javassist/bytecode/ExceptionsAttribute.java
index c346815..e20a621 100644
--- a/src/com/thunisoft/agent/javassist/bytecode/ExceptionsAttribute.java
+++ b/src/com/wenshuo/agent/javassist/bytecode/ExceptionsAttribute.java
@@ -14,7 +14,7 @@
  * License.
  */
 
-package com.thunisoft.agent.javassist.bytecode;
+package com.wenshuo.agent.javassist.bytecode;
 
 import java.io.DataInputStream;
 import java.io.IOException;
diff --git a/src/com/thunisoft/agent/javassist/bytecode/FieldInfo.java b/src/com/wenshuo/agent/javassist/bytecode/FieldInfo.java
similarity index 99%
rename from src/com/thunisoft/agent/javassist/bytecode/FieldInfo.java
rename to src/com/wenshuo/agent/javassist/bytecode/FieldInfo.java
index 630c5ac..62dd9fa 100644
--- a/src/com/thunisoft/agent/javassist/bytecode/FieldInfo.java
+++ b/src/com/wenshuo/agent/javassist/bytecode/FieldInfo.java
@@ -14,7 +14,7 @@
  * License.
  */
 
-package com.thunisoft.agent.javassist.bytecode;
+package com.wenshuo.agent.javassist.bytecode;
 
 import java.io.DataInputStream;
 import java.io.DataOutputStream;
diff --git a/src/com/thunisoft/agent/javassist/bytecode/InnerClassesAttribute.java b/src/com/wenshuo/agent/javassist/bytecode/InnerClassesAttribute.java
similarity index 99%
rename from src/com/thunisoft/agent/javassist/bytecode/InnerClassesAttribute.java
rename to src/com/wenshuo/agent/javassist/bytecode/InnerClassesAttribute.java
index 709c49f..895c320 100644
--- a/src/com/thunisoft/agent/javassist/bytecode/InnerClassesAttribute.java
+++ b/src/com/wenshuo/agent/javassist/bytecode/InnerClassesAttribute.java
@@ -14,7 +14,7 @@
  * License.
  */
 
-package com.thunisoft.agent.javassist.bytecode;
+package com.wenshuo.agent.javassist.bytecode;
 
 import java.io.DataInputStream;
 import java.util.Map;
diff --git a/src/com/thunisoft/agent/javassist/bytecode/InstructionPrinter.java b/src/com/wenshuo/agent/javassist/bytecode/InstructionPrinter.java
similarity index 99%
rename from src/com/thunisoft/agent/javassist/bytecode/InstructionPrinter.java
rename to src/com/wenshuo/agent/javassist/bytecode/InstructionPrinter.java
index c914db1..c9cc815 100644
--- a/src/com/thunisoft/agent/javassist/bytecode/InstructionPrinter.java
+++ b/src/com/wenshuo/agent/javassist/bytecode/InstructionPrinter.java
@@ -13,11 +13,11 @@
  * for the specific language governing rights and limitations under the
  * License.
  */
-package com.thunisoft.agent.javassist.bytecode;
+package com.wenshuo.agent.javassist.bytecode;
 
 import java.io.PrintStream;
 
-import com.thunisoft.agent.javassist.CtMethod;
+import com.wenshuo.agent.javassist.CtMethod;
 
 /**
  * Simple utility class for printing the bytecode instructions of a method.
diff --git a/src/com/thunisoft/agent/javassist/bytecode/LineNumberAttribute.java b/src/com/wenshuo/agent/javassist/bytecode/LineNumberAttribute.java
similarity index 99%
rename from src/com/thunisoft/agent/javassist/bytecode/LineNumberAttribute.java
rename to src/com/wenshuo/agent/javassist/bytecode/LineNumberAttribute.java
index fccb14c..c8a9dcc 100644
--- a/src/com/thunisoft/agent/javassist/bytecode/LineNumberAttribute.java
+++ b/src/com/wenshuo/agent/javassist/bytecode/LineNumberAttribute.java
@@ -14,7 +14,7 @@
  * License.
  */
 
-package com.thunisoft.agent.javassist.bytecode;
+package com.wenshuo.agent.javassist.bytecode;
 
 import java.io.DataInputStream;
 import java.io.IOException;
diff --git a/src/com/thunisoft/agent/javassist/bytecode/LocalVariableAttribute.java b/src/com/wenshuo/agent/javassist/bytecode/LocalVariableAttribute.java
similarity index 99%
rename from src/com/thunisoft/agent/javassist/bytecode/LocalVariableAttribute.java
rename to src/com/wenshuo/agent/javassist/bytecode/LocalVariableAttribute.java
index 6feccb0..8ce0ccd 100644
--- a/src/com/thunisoft/agent/javassist/bytecode/LocalVariableAttribute.java
+++ b/src/com/wenshuo/agent/javassist/bytecode/LocalVariableAttribute.java
@@ -14,7 +14,7 @@
  * License.
  */
 
-package com.thunisoft.agent.javassist.bytecode;
+package com.wenshuo.agent.javassist.bytecode;
 
 import java.io.DataInputStream;
 import java.io.IOException;
diff --git a/src/com/thunisoft/agent/javassist/bytecode/LocalVariableTypeAttribute.java b/src/com/wenshuo/agent/javassist/bytecode/LocalVariableTypeAttribute.java
similarity index 97%
rename from src/com/thunisoft/agent/javassist/bytecode/LocalVariableTypeAttribute.java
rename to src/com/wenshuo/agent/javassist/bytecode/LocalVariableTypeAttribute.java
index f16c663..57bd395 100644
--- a/src/com/thunisoft/agent/javassist/bytecode/LocalVariableTypeAttribute.java
+++ b/src/com/wenshuo/agent/javassist/bytecode/LocalVariableTypeAttribute.java
@@ -14,7 +14,7 @@
  * License.
  */
 
-package com.thunisoft.agent.javassist.bytecode;
+package com.wenshuo.agent.javassist.bytecode;
 
 import java.io.DataInputStream;
 import java.io.IOException;
diff --git a/src/com/thunisoft/agent/javassist/bytecode/LongVector.java b/src/com/wenshuo/agent/javassist/bytecode/LongVector.java
similarity index 97%
rename from src/com/thunisoft/agent/javassist/bytecode/LongVector.java
rename to src/com/wenshuo/agent/javassist/bytecode/LongVector.java
index 32adc08..16f40e2 100644
--- a/src/com/thunisoft/agent/javassist/bytecode/LongVector.java
+++ b/src/com/wenshuo/agent/javassist/bytecode/LongVector.java
@@ -14,7 +14,7 @@
  * License.
  */
 
-package com.thunisoft.agent.javassist.bytecode;
+package com.wenshuo.agent.javassist.bytecode;
 
 final class LongVector {
     static final int ASIZE = 128;
diff --git a/src/com/thunisoft/agent/javassist/bytecode/MethodInfo.java b/src/com/wenshuo/agent/javassist/bytecode/MethodInfo.java
similarity index 99%
rename from src/com/thunisoft/agent/javassist/bytecode/MethodInfo.java
rename to src/com/wenshuo/agent/javassist/bytecode/MethodInfo.java
index 114b59b..dbe32ca 100644
--- a/src/com/thunisoft/agent/javassist/bytecode/MethodInfo.java
+++ b/src/com/wenshuo/agent/javassist/bytecode/MethodInfo.java
@@ -14,7 +14,7 @@
  * License.
  */
 
-package com.thunisoft.agent.javassist.bytecode;
+package com.wenshuo.agent.javassist.bytecode;
 
 import java.io.DataInputStream;
 import java.io.DataOutputStream;
@@ -23,8 +23,8 @@
 import java.util.List;
 import java.util.Map;
 
-import com.thunisoft.agent.javassist.ClassPool;
-import com.thunisoft.agent.javassist.bytecode.stackmap.MapMaker;
+import com.wenshuo.agent.javassist.ClassPool;
+import com.wenshuo.agent.javassist.bytecode.stackmap.MapMaker;
 
 /**
  * method_info structure.
diff --git a/src/com/thunisoft/agent/javassist/bytecode/MethodParametersAttribute.java b/src/com/wenshuo/agent/javassist/bytecode/MethodParametersAttribute.java
similarity index 98%
rename from src/com/thunisoft/agent/javassist/bytecode/MethodParametersAttribute.java
rename to src/com/wenshuo/agent/javassist/bytecode/MethodParametersAttribute.java
index 69ff189..67ed7f6 100644
--- a/src/com/thunisoft/agent/javassist/bytecode/MethodParametersAttribute.java
+++ b/src/com/wenshuo/agent/javassist/bytecode/MethodParametersAttribute.java
@@ -1,4 +1,4 @@
-package com.thunisoft.agent.javassist.bytecode;
+package com.wenshuo.agent.javassist.bytecode;
 
 import java.io.DataInputStream;
 import java.io.IOException;
diff --git a/src/com/thunisoft/agent/javassist/bytecode/Mnemonic.java b/src/com/wenshuo/agent/javassist/bytecode/Mnemonic.java
similarity index 99%
rename from src/com/thunisoft/agent/javassist/bytecode/Mnemonic.java
rename to src/com/wenshuo/agent/javassist/bytecode/Mnemonic.java
index bb3ebf8..d5e465d 100644
--- a/src/com/thunisoft/agent/javassist/bytecode/Mnemonic.java
+++ b/src/com/wenshuo/agent/javassist/bytecode/Mnemonic.java
@@ -14,7 +14,7 @@
  * License.
  */
 
-package com.thunisoft.agent.javassist.bytecode;
+package com.wenshuo.agent.javassist.bytecode;
 
 /**
  * JVM Instruction Names.
diff --git a/src/com/thunisoft/agent/javassist/bytecode/Opcode.java b/src/com/wenshuo/agent/javassist/bytecode/Opcode.java
similarity index 99%
rename from src/com/thunisoft/agent/javassist/bytecode/Opcode.java
rename to src/com/wenshuo/agent/javassist/bytecode/Opcode.java
index 1154835..0a8ea3a 100644
--- a/src/com/thunisoft/agent/javassist/bytecode/Opcode.java
+++ b/src/com/wenshuo/agent/javassist/bytecode/Opcode.java
@@ -14,7 +14,7 @@
  * License.
  */
 
-package com.thunisoft.agent.javassist.bytecode;
+package com.wenshuo.agent.javassist.bytecode;
 
 /**
  * JVM Instruction Set.
diff --git a/src/com/thunisoft/agent/javassist/bytecode/ParameterAnnotationsAttribute.java b/src/com/wenshuo/agent/javassist/bytecode/ParameterAnnotationsAttribute.java
similarity index 95%
rename from src/com/thunisoft/agent/javassist/bytecode/ParameterAnnotationsAttribute.java
rename to src/com/wenshuo/agent/javassist/bytecode/ParameterAnnotationsAttribute.java
index 0ed0f8f..cdefada 100644
--- a/src/com/thunisoft/agent/javassist/bytecode/ParameterAnnotationsAttribute.java
+++ b/src/com/wenshuo/agent/javassist/bytecode/ParameterAnnotationsAttribute.java
@@ -14,7 +14,7 @@
  * License.
  */
 
-package com.thunisoft.agent.javassist.bytecode;
+package com.wenshuo.agent.javassist.bytecode;
 
 import java.util.HashMap;
 import java.util.Map;
@@ -22,10 +22,10 @@
 import java.io.DataInputStream;
 import java.io.ByteArrayOutputStream;
 
-import com.thunisoft.agent.javassist.bytecode.AnnotationsAttribute.Copier;
-import com.thunisoft.agent.javassist.bytecode.AnnotationsAttribute.Parser;
-import com.thunisoft.agent.javassist.bytecode.AnnotationsAttribute.Renamer;
-import com.thunisoft.agent.javassist.bytecode.annotation.*;
+import com.wenshuo.agent.javassist.bytecode.AnnotationsAttribute.Copier;
+import com.wenshuo.agent.javassist.bytecode.AnnotationsAttribute.Parser;
+import com.wenshuo.agent.javassist.bytecode.AnnotationsAttribute.Renamer;
+import com.wenshuo.agent.javassist.bytecode.annotation.*;
 
 /**
  * A class representing RuntimeVisibleAnnotations_attribute and
diff --git a/src/com/thunisoft/agent/javassist/bytecode/SignatureAttribute.java b/src/com/wenshuo/agent/javassist/bytecode/SignatureAttribute.java
similarity index 99%
rename from src/com/thunisoft/agent/javassist/bytecode/SignatureAttribute.java
rename to src/com/wenshuo/agent/javassist/bytecode/SignatureAttribute.java
index c4f12ec..f560505 100644
--- a/src/com/thunisoft/agent/javassist/bytecode/SignatureAttribute.java
+++ b/src/com/wenshuo/agent/javassist/bytecode/SignatureAttribute.java
@@ -14,13 +14,13 @@
  * License.
  */
 
-package com.thunisoft.agent.javassist.bytecode;
+package com.wenshuo.agent.javassist.bytecode;
 
 import java.io.DataInputStream;
 import java.io.IOException;
 import java.util.Map;
 import java.util.ArrayList;
-import com.thunisoft.agent.javassist.CtClass;
+import com.wenshuo.agent.javassist.CtClass;
 
 /**
  * Signature_attribute.
diff --git a/src/com/thunisoft/agent/javassist/bytecode/SourceFileAttribute.java b/src/com/wenshuo/agent/javassist/bytecode/SourceFileAttribute.java
similarity index 97%
rename from src/com/thunisoft/agent/javassist/bytecode/SourceFileAttribute.java
rename to src/com/wenshuo/agent/javassist/bytecode/SourceFileAttribute.java
index 0c7f4a7..3f16225 100644
--- a/src/com/thunisoft/agent/javassist/bytecode/SourceFileAttribute.java
+++ b/src/com/wenshuo/agent/javassist/bytecode/SourceFileAttribute.java
@@ -14,7 +14,7 @@
  * License.
  */
 
-package com.thunisoft.agent.javassist.bytecode;
+package com.wenshuo.agent.javassist.bytecode;
 
 import java.io.DataInputStream;
 import java.io.IOException;
diff --git a/src/com/thunisoft/agent/javassist/bytecode/StackMap.java b/src/com/wenshuo/agent/javassist/bytecode/StackMap.java
similarity index 98%
rename from src/com/thunisoft/agent/javassist/bytecode/StackMap.java
rename to src/com/wenshuo/agent/javassist/bytecode/StackMap.java
index 50ece9b..541d6cd 100644
--- a/src/com/thunisoft/agent/javassist/bytecode/StackMap.java
+++ b/src/com/wenshuo/agent/javassist/bytecode/StackMap.java
@@ -14,17 +14,17 @@
  * License.
  */
 
-package com.thunisoft.agent.javassist.bytecode;
+package com.wenshuo.agent.javassist.bytecode;
 
 import java.io.ByteArrayOutputStream;
 import java.io.DataInputStream;
 import java.io.IOException;
 import java.util.Map;
 
-import com.thunisoft.agent.javassist.CannotCompileException;
-import com.thunisoft.agent.javassist.bytecode.StackMapTable.InsertLocal;
-import com.thunisoft.agent.javassist.bytecode.StackMapTable.NewRemover;
-import com.thunisoft.agent.javassist.bytecode.StackMapTable.Shifter;
+import com.wenshuo.agent.javassist.CannotCompileException;
+import com.wenshuo.agent.javassist.bytecode.StackMapTable.InsertLocal;
+import com.wenshuo.agent.javassist.bytecode.StackMapTable.NewRemover;
+import com.wenshuo.agent.javassist.bytecode.StackMapTable.Shifter;
 
 /**
  * Another stack_map attribute defined in CLDC 1.1 for J2ME.
diff --git a/src/com/thunisoft/agent/javassist/bytecode/StackMapTable.java b/src/com/wenshuo/agent/javassist/bytecode/StackMapTable.java
similarity index 99%
rename from src/com/thunisoft/agent/javassist/bytecode/StackMapTable.java
rename to src/com/wenshuo/agent/javassist/bytecode/StackMapTable.java
index e24dc89..5a843fe 100644
--- a/src/com/thunisoft/agent/javassist/bytecode/StackMapTable.java
+++ b/src/com/wenshuo/agent/javassist/bytecode/StackMapTable.java
@@ -14,7 +14,7 @@
  * License.
  */
 
-package com.thunisoft.agent.javassist.bytecode;
+package com.wenshuo.agent.javassist.bytecode;
 
 import java.io.DataInputStream;
 import java.io.DataOutputStream;
@@ -22,7 +22,7 @@
 import java.io.PrintWriter;
 import java.io.IOException;
 import java.util.Map;
-import com.thunisoft.agent.javassist.CannotCompileException;
+import com.wenshuo.agent.javassist.CannotCompileException;
 
 /**
  * stack_map attribute.
diff --git a/src/com/thunisoft/agent/javassist/bytecode/SyntheticAttribute.java b/src/com/wenshuo/agent/javassist/bytecode/SyntheticAttribute.java
similarity index 97%
rename from src/com/thunisoft/agent/javassist/bytecode/SyntheticAttribute.java
rename to src/com/wenshuo/agent/javassist/bytecode/SyntheticAttribute.java
index b437d88..52484b7 100644
--- a/src/com/thunisoft/agent/javassist/bytecode/SyntheticAttribute.java
+++ b/src/com/wenshuo/agent/javassist/bytecode/SyntheticAttribute.java
@@ -14,7 +14,7 @@
  * License.
  */
 
-package com.thunisoft.agent.javassist.bytecode;
+package com.wenshuo.agent.javassist.bytecode;
 
 import java.io.DataInputStream;
 import java.io.IOException;
diff --git a/src/com/thunisoft/agent/javassist/bytecode/TypeAnnotationsAttribute.java b/src/com/wenshuo/agent/javassist/bytecode/TypeAnnotationsAttribute.java
similarity index 98%
rename from src/com/thunisoft/agent/javassist/bytecode/TypeAnnotationsAttribute.java
rename to src/com/wenshuo/agent/javassist/bytecode/TypeAnnotationsAttribute.java
index fd1f182..29f075f 100644
--- a/src/com/thunisoft/agent/javassist/bytecode/TypeAnnotationsAttribute.java
+++ b/src/com/wenshuo/agent/javassist/bytecode/TypeAnnotationsAttribute.java
@@ -1,10 +1,10 @@
-package com.thunisoft.agent.javassist.bytecode;
+package com.wenshuo.agent.javassist.bytecode;
 
 import java.io.DataInputStream;
 import java.io.IOException;
 import java.util.HashMap;
 import java.util.Map;
-import com.thunisoft.agent.javassist.bytecode.annotation.TypeAnnotationsWriter;
+import com.wenshuo.agent.javassist.bytecode.annotation.TypeAnnotationsWriter;
 
 /**
  * A class representing
diff --git a/src/com/thunisoft/agent/javassist/bytecode/analysis/Analyzer.java b/src/com/wenshuo/agent/javassist/bytecode/analysis/Analyzer.java
similarity index 94%
rename from src/com/thunisoft/agent/javassist/bytecode/analysis/Analyzer.java
rename to src/com/wenshuo/agent/javassist/bytecode/analysis/Analyzer.java
index cb9f469..e70d005 100644
--- a/src/com/thunisoft/agent/javassist/bytecode/analysis/Analyzer.java
+++ b/src/com/wenshuo/agent/javassist/bytecode/analysis/Analyzer.java
@@ -13,23 +13,23 @@
  * for the specific language governing rights and limitations under the
  * License.
  */
-package com.thunisoft.agent.javassist.bytecode.analysis;
+package com.wenshuo.agent.javassist.bytecode.analysis;
 
 import java.util.Iterator;
 
-import com.thunisoft.agent.javassist.ClassPool;
-import com.thunisoft.agent.javassist.CtClass;
-import com.thunisoft.agent.javassist.CtMethod;
-import com.thunisoft.agent.javassist.NotFoundException;
-import com.thunisoft.agent.javassist.bytecode.AccessFlag;
-import com.thunisoft.agent.javassist.bytecode.BadBytecode;
-import com.thunisoft.agent.javassist.bytecode.CodeAttribute;
-import com.thunisoft.agent.javassist.bytecode.CodeIterator;
-import com.thunisoft.agent.javassist.bytecode.ConstPool;
-import com.thunisoft.agent.javassist.bytecode.Descriptor;
-import com.thunisoft.agent.javassist.bytecode.ExceptionTable;
-import com.thunisoft.agent.javassist.bytecode.MethodInfo;
-import com.thunisoft.agent.javassist.bytecode.Opcode;
+import com.wenshuo.agent.javassist.ClassPool;
+import com.wenshuo.agent.javassist.CtClass;
+import com.wenshuo.agent.javassist.CtMethod;
+import com.wenshuo.agent.javassist.NotFoundException;
+import com.wenshuo.agent.javassist.bytecode.AccessFlag;
+import com.wenshuo.agent.javassist.bytecode.BadBytecode;
+import com.wenshuo.agent.javassist.bytecode.CodeAttribute;
+import com.wenshuo.agent.javassist.bytecode.CodeIterator;
+import com.wenshuo.agent.javassist.bytecode.ConstPool;
+import com.wenshuo.agent.javassist.bytecode.Descriptor;
+import com.wenshuo.agent.javassist.bytecode.ExceptionTable;
+import com.wenshuo.agent.javassist.bytecode.MethodInfo;
+import com.wenshuo.agent.javassist.bytecode.Opcode;
 
 /**
  * A data-flow analyzer that determines the type state of the stack and local
diff --git a/src/com/thunisoft/agent/javassist/bytecode/analysis/ControlFlow.java b/src/com/wenshuo/agent/javassist/bytecode/analysis/ControlFlow.java
similarity index 97%
rename from src/com/thunisoft/agent/javassist/bytecode/analysis/ControlFlow.java
rename to src/com/wenshuo/agent/javassist/bytecode/analysis/ControlFlow.java
index 24463e4..d37d84c 100644
--- a/src/com/thunisoft/agent/javassist/bytecode/analysis/ControlFlow.java
+++ b/src/com/wenshuo/agent/javassist/bytecode/analysis/ControlFlow.java
@@ -14,14 +14,14 @@
  * License.
  */
 
-package com.thunisoft.agent.javassist.bytecode.analysis;
+package com.wenshuo.agent.javassist.bytecode.analysis;
 
 import java.util.ArrayList;
-import com.thunisoft.agent.javassist.CtClass;
-import com.thunisoft.agent.javassist.CtMethod;
-import com.thunisoft.agent.javassist.bytecode.BadBytecode;
-import com.thunisoft.agent.javassist.bytecode.MethodInfo;
-import com.thunisoft.agent.javassist.bytecode.stackmap.BasicBlock;
+import com.wenshuo.agent.javassist.CtClass;
+import com.wenshuo.agent.javassist.CtMethod;
+import com.wenshuo.agent.javassist.bytecode.BadBytecode;
+import com.wenshuo.agent.javassist.bytecode.MethodInfo;
+import com.wenshuo.agent.javassist.bytecode.stackmap.BasicBlock;
 
 /**
  * Represents the control flow graph of a given method.
diff --git a/src/com/thunisoft/agent/javassist/bytecode/analysis/Executor.java b/src/com/wenshuo/agent/javassist/bytecode/analysis/Executor.java
similarity index 98%
rename from src/com/thunisoft/agent/javassist/bytecode/analysis/Executor.java
rename to src/com/wenshuo/agent/javassist/bytecode/analysis/Executor.java
index 724e6db..76e7e82 100644
--- a/src/com/thunisoft/agent/javassist/bytecode/analysis/Executor.java
+++ b/src/com/wenshuo/agent/javassist/bytecode/analysis/Executor.java
@@ -13,17 +13,17 @@
  * for the specific language governing rights and limitations under the
  * License.
  */
-package com.thunisoft.agent.javassist.bytecode.analysis;
-
-import com.thunisoft.agent.javassist.ClassPool;
-import com.thunisoft.agent.javassist.CtClass;
-import com.thunisoft.agent.javassist.NotFoundException;
-import com.thunisoft.agent.javassist.bytecode.BadBytecode;
-import com.thunisoft.agent.javassist.bytecode.CodeIterator;
-import com.thunisoft.agent.javassist.bytecode.ConstPool;
-import com.thunisoft.agent.javassist.bytecode.Descriptor;
-import com.thunisoft.agent.javassist.bytecode.MethodInfo;
-import com.thunisoft.agent.javassist.bytecode.Opcode;
+package com.wenshuo.agent.javassist.bytecode.analysis;
+
+import com.wenshuo.agent.javassist.ClassPool;
+import com.wenshuo.agent.javassist.CtClass;
+import com.wenshuo.agent.javassist.NotFoundException;
+import com.wenshuo.agent.javassist.bytecode.BadBytecode;
+import com.wenshuo.agent.javassist.bytecode.CodeIterator;
+import com.wenshuo.agent.javassist.bytecode.ConstPool;
+import com.wenshuo.agent.javassist.bytecode.Descriptor;
+import com.wenshuo.agent.javassist.bytecode.MethodInfo;
+import com.wenshuo.agent.javassist.bytecode.Opcode;
 
 /**
  * Executor is responsible for modeling the effects of a JVM instruction on a frame.
diff --git a/src/com/thunisoft/agent/javassist/bytecode/analysis/Frame.java b/src/com/wenshuo/agent/javassist/bytecode/analysis/Frame.java
similarity index 99%
rename from src/com/thunisoft/agent/javassist/bytecode/analysis/Frame.java
rename to src/com/wenshuo/agent/javassist/bytecode/analysis/Frame.java
index 6afadb8..10e87db 100644
--- a/src/com/thunisoft/agent/javassist/bytecode/analysis/Frame.java
+++ b/src/com/wenshuo/agent/javassist/bytecode/analysis/Frame.java
@@ -13,7 +13,7 @@
  * for the specific language governing rights and limitations under the
  * License.
  */
-package com.thunisoft.agent.javassist.bytecode.analysis;
+package com.wenshuo.agent.javassist.bytecode.analysis;
 
 
 /**
diff --git a/src/com/thunisoft/agent/javassist/bytecode/analysis/FramePrinter.java b/src/com/wenshuo/agent/javassist/bytecode/analysis/FramePrinter.java
similarity index 85%
rename from src/com/thunisoft/agent/javassist/bytecode/analysis/FramePrinter.java
rename to src/com/wenshuo/agent/javassist/bytecode/analysis/FramePrinter.java
index 3d6251a..84bd21c 100644
--- a/src/com/thunisoft/agent/javassist/bytecode/analysis/FramePrinter.java
+++ b/src/com/wenshuo/agent/javassist/bytecode/analysis/FramePrinter.java
@@ -13,21 +13,21 @@
  * for the specific language governing rights and limitations under the
  * License.
  */
-package com.thunisoft.agent.javassist.bytecode.analysis;
+package com.wenshuo.agent.javassist.bytecode.analysis;
 
 import java.io.PrintStream;
 
-import com.thunisoft.agent.javassist.CtClass;
-import com.thunisoft.agent.javassist.CtMethod;
-import com.thunisoft.agent.javassist.Modifier;
-import com.thunisoft.agent.javassist.NotFoundException;
-import com.thunisoft.agent.javassist.bytecode.BadBytecode;
-import com.thunisoft.agent.javassist.bytecode.CodeAttribute;
-import com.thunisoft.agent.javassist.bytecode.CodeIterator;
-import com.thunisoft.agent.javassist.bytecode.ConstPool;
-import com.thunisoft.agent.javassist.bytecode.Descriptor;
-import com.thunisoft.agent.javassist.bytecode.InstructionPrinter;
-import com.thunisoft.agent.javassist.bytecode.MethodInfo;
+import com.wenshuo.agent.javassist.CtClass;
+import com.wenshuo.agent.javassist.CtMethod;
+import com.wenshuo.agent.javassist.Modifier;
+import com.wenshuo.agent.javassist.NotFoundException;
+import com.wenshuo.agent.javassist.bytecode.BadBytecode;
+import com.wenshuo.agent.javassist.bytecode.CodeAttribute;
+import com.wenshuo.agent.javassist.bytecode.CodeIterator;
+import com.wenshuo.agent.javassist.bytecode.ConstPool;
+import com.wenshuo.agent.javassist.bytecode.Descriptor;
+import com.wenshuo.agent.javassist.bytecode.InstructionPrinter;
+import com.wenshuo.agent.javassist.bytecode.MethodInfo;
 
 /**
  * A utility class for printing a merged view of the frame state and the
diff --git a/src/com/thunisoft/agent/javassist/bytecode/analysis/IntQueue.java b/src/com/wenshuo/agent/javassist/bytecode/analysis/IntQueue.java
similarity index 96%
rename from src/com/thunisoft/agent/javassist/bytecode/analysis/IntQueue.java
rename to src/com/wenshuo/agent/javassist/bytecode/analysis/IntQueue.java
index 2ac68b7..52e3b53 100644
--- a/src/com/thunisoft/agent/javassist/bytecode/analysis/IntQueue.java
+++ b/src/com/wenshuo/agent/javassist/bytecode/analysis/IntQueue.java
@@ -13,7 +13,7 @@
  * for the specific language governing rights and limitations under the
  * License.
  */
-package com.thunisoft.agent.javassist.bytecode.analysis;
+package com.wenshuo.agent.javassist.bytecode.analysis;
 
 import java.util.NoSuchElementException;
 
diff --git a/src/com/thunisoft/agent/javassist/bytecode/analysis/MultiArrayType.java b/src/com/wenshuo/agent/javassist/bytecode/analysis/MultiArrayType.java
similarity index 94%
rename from src/com/thunisoft/agent/javassist/bytecode/analysis/MultiArrayType.java
rename to src/com/wenshuo/agent/javassist/bytecode/analysis/MultiArrayType.java
index a67d499..8a9eefa 100644
--- a/src/com/thunisoft/agent/javassist/bytecode/analysis/MultiArrayType.java
+++ b/src/com/wenshuo/agent/javassist/bytecode/analysis/MultiArrayType.java
@@ -13,11 +13,11 @@
  * for the specific language governing rights and limitations under the
  * License.
  */
-package com.thunisoft.agent.javassist.bytecode.analysis;
+package com.wenshuo.agent.javassist.bytecode.analysis;
 
-import com.thunisoft.agent.javassist.ClassPool;
-import com.thunisoft.agent.javassist.CtClass;
-import com.thunisoft.agent.javassist.NotFoundException;
+import com.wenshuo.agent.javassist.ClassPool;
+import com.wenshuo.agent.javassist.CtClass;
+import com.wenshuo.agent.javassist.NotFoundException;
 
 /**
  * Represents an array of {@link MultiType} instances.
diff --git a/src/com/thunisoft/agent/javassist/bytecode/analysis/MultiType.java b/src/com/wenshuo/agent/javassist/bytecode/analysis/MultiType.java
similarity index 98%
rename from src/com/thunisoft/agent/javassist/bytecode/analysis/MultiType.java
rename to src/com/wenshuo/agent/javassist/bytecode/analysis/MultiType.java
index 6c0e79b..6158535 100644
--- a/src/com/thunisoft/agent/javassist/bytecode/analysis/MultiType.java
+++ b/src/com/wenshuo/agent/javassist/bytecode/analysis/MultiType.java
@@ -13,13 +13,13 @@
  * for the specific language governing rights and limitations under the
  * License.
  */
-package com.thunisoft.agent.javassist.bytecode.analysis;
+package com.wenshuo.agent.javassist.bytecode.analysis;
 
 import java.util.HashMap;
 import java.util.Iterator;
 import java.util.Map;
 
-import com.thunisoft.agent.javassist.CtClass;
+import com.wenshuo.agent.javassist.CtClass;
 
 /**
  * MultiType represents an unresolved type. Whenever two {@code Type}
diff --git a/src/com/thunisoft/agent/javassist/bytecode/analysis/Subroutine.java b/src/com/wenshuo/agent/javassist/bytecode/analysis/Subroutine.java
similarity index 96%
rename from src/com/thunisoft/agent/javassist/bytecode/analysis/Subroutine.java
rename to src/com/wenshuo/agent/javassist/bytecode/analysis/Subroutine.java
index b9bb571..2f6f254 100644
--- a/src/com/thunisoft/agent/javassist/bytecode/analysis/Subroutine.java
+++ b/src/com/wenshuo/agent/javassist/bytecode/analysis/Subroutine.java
@@ -13,7 +13,7 @@
  * for the specific language governing rights and limitations under the
  * License.
  */
-package com.thunisoft.agent.javassist.bytecode.analysis;
+package com.wenshuo.agent.javassist.bytecode.analysis;
 
 import java.util.ArrayList;
 import java.util.Collection;
diff --git a/src/com/thunisoft/agent/javassist/bytecode/analysis/SubroutineScanner.java b/src/com/wenshuo/agent/javassist/bytecode/analysis/SubroutineScanner.java
similarity index 91%
rename from src/com/thunisoft/agent/javassist/bytecode/analysis/SubroutineScanner.java
rename to src/com/wenshuo/agent/javassist/bytecode/analysis/SubroutineScanner.java
index 04fe517..2b43955 100644
--- a/src/com/thunisoft/agent/javassist/bytecode/analysis/SubroutineScanner.java
+++ b/src/com/wenshuo/agent/javassist/bytecode/analysis/SubroutineScanner.java
@@ -13,19 +13,19 @@
  * for the specific language governing rights and limitations under the
  * License.
  */
-package com.thunisoft.agent.javassist.bytecode.analysis;
+package com.wenshuo.agent.javassist.bytecode.analysis;
 
 import java.util.HashMap;
 import java.util.HashSet;
 import java.util.Map;
 import java.util.Set;
 
-import com.thunisoft.agent.javassist.bytecode.BadBytecode;
-import com.thunisoft.agent.javassist.bytecode.CodeAttribute;
-import com.thunisoft.agent.javassist.bytecode.CodeIterator;
-import com.thunisoft.agent.javassist.bytecode.ExceptionTable;
-import com.thunisoft.agent.javassist.bytecode.MethodInfo;
-import com.thunisoft.agent.javassist.bytecode.Opcode;
+import com.wenshuo.agent.javassist.bytecode.BadBytecode;
+import com.wenshuo.agent.javassist.bytecode.CodeAttribute;
+import com.wenshuo.agent.javassist.bytecode.CodeIterator;
+import com.wenshuo.agent.javassist.bytecode.ExceptionTable;
+import com.wenshuo.agent.javassist.bytecode.MethodInfo;
+import com.wenshuo.agent.javassist.bytecode.Opcode;
 
 /**
  * Discovers the subroutines in a method, and tracks all callers.
diff --git a/src/com/thunisoft/agent/javassist/bytecode/analysis/Type.java b/src/com/wenshuo/agent/javassist/bytecode/analysis/Type.java
similarity index 98%
rename from src/com/thunisoft/agent/javassist/bytecode/analysis/Type.java
rename to src/com/wenshuo/agent/javassist/bytecode/analysis/Type.java
index e0d1b1a..41b36b3 100644
--- a/src/com/thunisoft/agent/javassist/bytecode/analysis/Type.java
+++ b/src/com/wenshuo/agent/javassist/bytecode/analysis/Type.java
@@ -13,7 +13,7 @@
  * for the specific language governing rights and limitations under the
  * License.
  */
-package com.thunisoft.agent.javassist.bytecode.analysis;
+package com.wenshuo.agent.javassist.bytecode.analysis;
 
 import java.util.ArrayList;
 import java.util.HashMap;
@@ -21,9 +21,9 @@
 import java.util.Iterator;
 import java.util.Map;
 
-import com.thunisoft.agent.javassist.ClassPool;
-import com.thunisoft.agent.javassist.CtClass;
-import com.thunisoft.agent.javassist.NotFoundException;
+import com.wenshuo.agent.javassist.ClassPool;
+import com.wenshuo.agent.javassist.CtClass;
+import com.wenshuo.agent.javassist.NotFoundException;
 
 /**
  * Represents a JVM type in data-flow analysis. This abstraction is necessary since
diff --git a/src/com/thunisoft/agent/javassist/bytecode/analysis/Util.java b/src/com/wenshuo/agent/javassist/bytecode/analysis/Util.java
similarity index 90%
rename from src/com/thunisoft/agent/javassist/bytecode/analysis/Util.java
rename to src/com/wenshuo/agent/javassist/bytecode/analysis/Util.java
index 7beee7f..e935310 100644
--- a/src/com/thunisoft/agent/javassist/bytecode/analysis/Util.java
+++ b/src/com/wenshuo/agent/javassist/bytecode/analysis/Util.java
@@ -13,10 +13,10 @@
  * for the specific language governing rights and limitations under the
  * License.
  */
-package com.thunisoft.agent.javassist.bytecode.analysis;
+package com.wenshuo.agent.javassist.bytecode.analysis;
 
-import com.thunisoft.agent.javassist.bytecode.CodeIterator;
-import com.thunisoft.agent.javassist.bytecode.Opcode;
+import com.wenshuo.agent.javassist.bytecode.CodeIterator;
+import com.wenshuo.agent.javassist.bytecode.Opcode;
 
 /**
  * A set of common utility methods.
diff --git a/src/com/thunisoft/agent/javassist/bytecode/analysis/package.html b/src/com/wenshuo/agent/javassist/bytecode/analysis/package.html
similarity index 100%
rename from src/com/thunisoft/agent/javassist/bytecode/analysis/package.html
rename to src/com/wenshuo/agent/javassist/bytecode/analysis/package.html
diff --git a/src/com/thunisoft/agent/javassist/bytecode/annotation/Annotation.java b/src/com/wenshuo/agent/javassist/bytecode/annotation/Annotation.java
similarity index 96%
rename from src/com/thunisoft/agent/javassist/bytecode/annotation/Annotation.java
rename to src/com/wenshuo/agent/javassist/bytecode/annotation/Annotation.java
index d6e502c..fa93f9a 100644
--- a/src/com/thunisoft/agent/javassist/bytecode/annotation/Annotation.java
+++ b/src/com/wenshuo/agent/javassist/bytecode/annotation/Annotation.java
@@ -14,14 +14,14 @@
  * License.
  */
 
-package com.thunisoft.agent.javassist.bytecode.annotation;
+package com.wenshuo.agent.javassist.bytecode.annotation;
 
-import com.thunisoft.agent.javassist.bytecode.ConstPool;
-import com.thunisoft.agent.javassist.bytecode.Descriptor;
-import com.thunisoft.agent.javassist.ClassPool;
-import com.thunisoft.agent.javassist.CtClass;
-import com.thunisoft.agent.javassist.CtMethod;
-import com.thunisoft.agent.javassist.NotFoundException;
+import com.wenshuo.agent.javassist.bytecode.ConstPool;
+import com.wenshuo.agent.javassist.bytecode.Descriptor;
+import com.wenshuo.agent.javassist.ClassPool;
+import com.wenshuo.agent.javassist.CtClass;
+import com.wenshuo.agent.javassist.CtMethod;
+import com.wenshuo.agent.javassist.NotFoundException;
 
 import java.io.IOException;
 import java.util.LinkedHashMap;
diff --git a/src/com/thunisoft/agent/javassist/bytecode/annotation/AnnotationImpl.java b/src/com/wenshuo/agent/javassist/bytecode/annotation/AnnotationImpl.java
similarity index 96%
rename from src/com/thunisoft/agent/javassist/bytecode/annotation/AnnotationImpl.java
rename to src/com/wenshuo/agent/javassist/bytecode/annotation/AnnotationImpl.java
index 416a468..faf72ad 100644
--- a/src/com/thunisoft/agent/javassist/bytecode/annotation/AnnotationImpl.java
+++ b/src/com/wenshuo/agent/javassist/bytecode/annotation/AnnotationImpl.java
@@ -14,18 +14,18 @@
  * License.
  */
 
-package com.thunisoft.agent.javassist.bytecode.annotation;
+package com.wenshuo.agent.javassist.bytecode.annotation;
 
 import java.lang.reflect.InvocationHandler;
 import java.lang.reflect.Method;
 import java.lang.reflect.Proxy;
 
-import com.thunisoft.agent.javassist.ClassPool;
-import com.thunisoft.agent.javassist.CtClass;
-import com.thunisoft.agent.javassist.NotFoundException;
-import com.thunisoft.agent.javassist.bytecode.AnnotationDefaultAttribute;
-import com.thunisoft.agent.javassist.bytecode.ClassFile;
-import com.thunisoft.agent.javassist.bytecode.MethodInfo;
+import com.wenshuo.agent.javassist.ClassPool;
+import com.wenshuo.agent.javassist.CtClass;
+import com.wenshuo.agent.javassist.NotFoundException;
+import com.wenshuo.agent.javassist.bytecode.AnnotationDefaultAttribute;
+import com.wenshuo.agent.javassist.bytecode.ClassFile;
+import com.wenshuo.agent.javassist.bytecode.MethodInfo;
 
 /**
  * Internal-use only.  This is a helper class internally used for implementing
diff --git a/src/com/thunisoft/agent/javassist/bytecode/annotation/AnnotationMemberValue.java b/src/com/wenshuo/agent/javassist/bytecode/annotation/AnnotationMemberValue.java
similarity index 93%
rename from src/com/thunisoft/agent/javassist/bytecode/annotation/AnnotationMemberValue.java
rename to src/com/wenshuo/agent/javassist/bytecode/annotation/AnnotationMemberValue.java
index 5ab9f7b..09932ec 100644
--- a/src/com/thunisoft/agent/javassist/bytecode/annotation/AnnotationMemberValue.java
+++ b/src/com/wenshuo/agent/javassist/bytecode/annotation/AnnotationMemberValue.java
@@ -13,10 +13,10 @@
  * for the specific language governing rights and limitations under the
  * License.
  */
-package com.thunisoft.agent.javassist.bytecode.annotation;
+package com.wenshuo.agent.javassist.bytecode.annotation;
 
-import com.thunisoft.agent.javassist.ClassPool;
-import com.thunisoft.agent.javassist.bytecode.ConstPool;
+import com.wenshuo.agent.javassist.ClassPool;
+import com.wenshuo.agent.javassist.bytecode.ConstPool;
 import java.io.IOException;
 import java.lang.reflect.Method;
 
diff --git a/src/com/thunisoft/agent/javassist/bytecode/annotation/AnnotationsWriter.java b/src/com/wenshuo/agent/javassist/bytecode/annotation/AnnotationsWriter.java
similarity index 98%
rename from src/com/thunisoft/agent/javassist/bytecode/annotation/AnnotationsWriter.java
rename to src/com/wenshuo/agent/javassist/bytecode/annotation/AnnotationsWriter.java
index 45dd5b8..33beb2d 100644
--- a/src/com/thunisoft/agent/javassist/bytecode/annotation/AnnotationsWriter.java
+++ b/src/com/wenshuo/agent/javassist/bytecode/annotation/AnnotationsWriter.java
@@ -14,12 +14,12 @@
  * License.
  */
 
-package com.thunisoft.agent.javassist.bytecode.annotation;
+package com.wenshuo.agent.javassist.bytecode.annotation;
 
 import java.io.*;
 
-import com.thunisoft.agent.javassist.bytecode.ByteArray;
-import com.thunisoft.agent.javassist.bytecode.ConstPool;
+import com.wenshuo.agent.javassist.bytecode.ByteArray;
+import com.wenshuo.agent.javassist.bytecode.ConstPool;
 
 /**
  * A convenience class for constructing a
diff --git a/src/com/thunisoft/agent/javassist/bytecode/annotation/ArrayMemberValue.java b/src/com/wenshuo/agent/javassist/bytecode/annotation/ArrayMemberValue.java
similarity index 96%
rename from src/com/thunisoft/agent/javassist/bytecode/annotation/ArrayMemberValue.java
rename to src/com/wenshuo/agent/javassist/bytecode/annotation/ArrayMemberValue.java
index 628efeb..ff0ab0e 100644
--- a/src/com/thunisoft/agent/javassist/bytecode/annotation/ArrayMemberValue.java
+++ b/src/com/wenshuo/agent/javassist/bytecode/annotation/ArrayMemberValue.java
@@ -13,10 +13,10 @@
  * for the specific language governing rights and limitations under the
  * License.
  */
-package com.thunisoft.agent.javassist.bytecode.annotation;
+package com.wenshuo.agent.javassist.bytecode.annotation;
 
-import com.thunisoft.agent.javassist.ClassPool;
-import com.thunisoft.agent.javassist.bytecode.ConstPool;
+import com.wenshuo.agent.javassist.ClassPool;
+import com.wenshuo.agent.javassist.bytecode.ConstPool;
 import java.io.IOException;
 import java.lang.reflect.Array;
 import java.lang.reflect.Method;
diff --git a/src/com/thunisoft/agent/javassist/bytecode/annotation/BooleanMemberValue.java b/src/com/wenshuo/agent/javassist/bytecode/annotation/BooleanMemberValue.java
similarity index 94%
rename from src/com/thunisoft/agent/javassist/bytecode/annotation/BooleanMemberValue.java
rename to src/com/wenshuo/agent/javassist/bytecode/annotation/BooleanMemberValue.java
index db74f14..c03c2bb 100644
--- a/src/com/thunisoft/agent/javassist/bytecode/annotation/BooleanMemberValue.java
+++ b/src/com/wenshuo/agent/javassist/bytecode/annotation/BooleanMemberValue.java
@@ -13,10 +13,10 @@
  * for the specific language governing rights and limitations under the
  * License.
  */
-package com.thunisoft.agent.javassist.bytecode.annotation;
+package com.wenshuo.agent.javassist.bytecode.annotation;
 
-import com.thunisoft.agent.javassist.ClassPool;
-import com.thunisoft.agent.javassist.bytecode.ConstPool;
+import com.wenshuo.agent.javassist.ClassPool;
+import com.wenshuo.agent.javassist.bytecode.ConstPool;
 import java.io.IOException;
 import java.lang.reflect.Method;
 
diff --git a/src/com/thunisoft/agent/javassist/bytecode/annotation/ByteMemberValue.java b/src/com/wenshuo/agent/javassist/bytecode/annotation/ByteMemberValue.java
similarity index 94%
rename from src/com/thunisoft/agent/javassist/bytecode/annotation/ByteMemberValue.java
rename to src/com/wenshuo/agent/javassist/bytecode/annotation/ByteMemberValue.java
index 249efa2..c26d182 100644
--- a/src/com/thunisoft/agent/javassist/bytecode/annotation/ByteMemberValue.java
+++ b/src/com/wenshuo/agent/javassist/bytecode/annotation/ByteMemberValue.java
@@ -13,10 +13,10 @@
  * for the specific language governing rights and limitations under the
  * License.
  */
-package com.thunisoft.agent.javassist.bytecode.annotation;
+package com.wenshuo.agent.javassist.bytecode.annotation;
 
-import com.thunisoft.agent.javassist.ClassPool;
-import com.thunisoft.agent.javassist.bytecode.ConstPool;
+import com.wenshuo.agent.javassist.ClassPool;
+import com.wenshuo.agent.javassist.bytecode.ConstPool;
 import java.io.IOException;
 import java.lang.reflect.Method;
 
diff --git a/src/com/thunisoft/agent/javassist/bytecode/annotation/CharMemberValue.java b/src/com/wenshuo/agent/javassist/bytecode/annotation/CharMemberValue.java
similarity index 94%
rename from src/com/thunisoft/agent/javassist/bytecode/annotation/CharMemberValue.java
rename to src/com/wenshuo/agent/javassist/bytecode/annotation/CharMemberValue.java
index d414ca0..9fe9c4a 100644
--- a/src/com/thunisoft/agent/javassist/bytecode/annotation/CharMemberValue.java
+++ b/src/com/wenshuo/agent/javassist/bytecode/annotation/CharMemberValue.java
@@ -14,10 +14,10 @@
  * License.
  */
 
-package com.thunisoft.agent.javassist.bytecode.annotation;
+package com.wenshuo.agent.javassist.bytecode.annotation;
 
-import com.thunisoft.agent.javassist.ClassPool;
-import com.thunisoft.agent.javassist.bytecode.ConstPool;
+import com.wenshuo.agent.javassist.ClassPool;
+import com.wenshuo.agent.javassist.bytecode.ConstPool;
 import java.io.IOException;
 import java.lang.reflect.Method;
 
diff --git a/src/com/thunisoft/agent/javassist/bytecode/annotation/ClassMemberValue.java b/src/com/wenshuo/agent/javassist/bytecode/annotation/ClassMemberValue.java
similarity index 91%
rename from src/com/thunisoft/agent/javassist/bytecode/annotation/ClassMemberValue.java
rename to src/com/wenshuo/agent/javassist/bytecode/annotation/ClassMemberValue.java
index 98750c0..4b3a697 100644
--- a/src/com/thunisoft/agent/javassist/bytecode/annotation/ClassMemberValue.java
+++ b/src/com/wenshuo/agent/javassist/bytecode/annotation/ClassMemberValue.java
@@ -14,13 +14,13 @@
  * License.
  */
 
-package com.thunisoft.agent.javassist.bytecode.annotation;
+package com.wenshuo.agent.javassist.bytecode.annotation;
 
-import com.thunisoft.agent.javassist.ClassPool;
-import com.thunisoft.agent.javassist.bytecode.BadBytecode;
-import com.thunisoft.agent.javassist.bytecode.ConstPool;
-import com.thunisoft.agent.javassist.bytecode.Descriptor;
-import com.thunisoft.agent.javassist.bytecode.SignatureAttribute;
+import com.wenshuo.agent.javassist.ClassPool;
+import com.wenshuo.agent.javassist.bytecode.BadBytecode;
+import com.wenshuo.agent.javassist.bytecode.ConstPool;
+import com.wenshuo.agent.javassist.bytecode.Descriptor;
+import com.wenshuo.agent.javassist.bytecode.SignatureAttribute;
 
 import java.io.IOException;
 import java.lang.reflect.Method;
diff --git a/src/com/thunisoft/agent/javassist/bytecode/annotation/DoubleMemberValue.java b/src/com/wenshuo/agent/javassist/bytecode/annotation/DoubleMemberValue.java
similarity index 94%
rename from src/com/thunisoft/agent/javassist/bytecode/annotation/DoubleMemberValue.java
rename to src/com/wenshuo/agent/javassist/bytecode/annotation/DoubleMemberValue.java
index 7624993..fcfdad0 100644
--- a/src/com/thunisoft/agent/javassist/bytecode/annotation/DoubleMemberValue.java
+++ b/src/com/wenshuo/agent/javassist/bytecode/annotation/DoubleMemberValue.java
@@ -14,10 +14,10 @@
  * License.
  */
 
-package com.thunisoft.agent.javassist.bytecode.annotation;
+package com.wenshuo.agent.javassist.bytecode.annotation;
 
-import com.thunisoft.agent.javassist.ClassPool;
-import com.thunisoft.agent.javassist.bytecode.ConstPool;
+import com.wenshuo.agent.javassist.ClassPool;
+import com.wenshuo.agent.javassist.bytecode.ConstPool;
 import java.io.IOException;
 import java.lang.reflect.Method;
 
diff --git a/src/com/thunisoft/agent/javassist/bytecode/annotation/EnumMemberValue.java b/src/com/wenshuo/agent/javassist/bytecode/annotation/EnumMemberValue.java
similarity index 93%
rename from src/com/thunisoft/agent/javassist/bytecode/annotation/EnumMemberValue.java
rename to src/com/wenshuo/agent/javassist/bytecode/annotation/EnumMemberValue.java
index 72cfa3b..fca4034 100644
--- a/src/com/thunisoft/agent/javassist/bytecode/annotation/EnumMemberValue.java
+++ b/src/com/wenshuo/agent/javassist/bytecode/annotation/EnumMemberValue.java
@@ -14,14 +14,14 @@
  * License.
  */
 
-package com.thunisoft.agent.javassist.bytecode.annotation;
+package com.wenshuo.agent.javassist.bytecode.annotation;
 
 import java.io.IOException;
 import java.lang.reflect.Method;
 
-import com.thunisoft.agent.javassist.ClassPool;
-import com.thunisoft.agent.javassist.bytecode.ConstPool;
-import com.thunisoft.agent.javassist.bytecode.Descriptor;
+import com.wenshuo.agent.javassist.ClassPool;
+import com.wenshuo.agent.javassist.bytecode.ConstPool;
+import com.wenshuo.agent.javassist.bytecode.Descriptor;
 
 /**
  * Enum constant value.
diff --git a/src/com/thunisoft/agent/javassist/bytecode/annotation/FloatMemberValue.java b/src/com/wenshuo/agent/javassist/bytecode/annotation/FloatMemberValue.java
similarity index 94%
rename from src/com/thunisoft/agent/javassist/bytecode/annotation/FloatMemberValue.java
rename to src/com/wenshuo/agent/javassist/bytecode/annotation/FloatMemberValue.java
index b0f9e73..abb5095 100644
--- a/src/com/thunisoft/agent/javassist/bytecode/annotation/FloatMemberValue.java
+++ b/src/com/wenshuo/agent/javassist/bytecode/annotation/FloatMemberValue.java
@@ -14,10 +14,10 @@
  * License.
  */
 
-package com.thunisoft.agent.javassist.bytecode.annotation;
+package com.wenshuo.agent.javassist.bytecode.annotation;
 
-import com.thunisoft.agent.javassist.ClassPool;
-import com.thunisoft.agent.javassist.bytecode.ConstPool;
+import com.wenshuo.agent.javassist.ClassPool;
+import com.wenshuo.agent.javassist.bytecode.ConstPool;
 import java.io.IOException;
 import java.lang.reflect.Method;
 
diff --git a/src/com/thunisoft/agent/javassist/bytecode/annotation/IntegerMemberValue.java b/src/com/wenshuo/agent/javassist/bytecode/annotation/IntegerMemberValue.java
similarity index 94%
rename from src/com/thunisoft/agent/javassist/bytecode/annotation/IntegerMemberValue.java
rename to src/com/wenshuo/agent/javassist/bytecode/annotation/IntegerMemberValue.java
index 10091f5..a112e4c 100644
--- a/src/com/thunisoft/agent/javassist/bytecode/annotation/IntegerMemberValue.java
+++ b/src/com/wenshuo/agent/javassist/bytecode/annotation/IntegerMemberValue.java
@@ -14,10 +14,10 @@
  * License.
  */
 
-package com.thunisoft.agent.javassist.bytecode.annotation;
+package com.wenshuo.agent.javassist.bytecode.annotation;
 
-import com.thunisoft.agent.javassist.ClassPool;
-import com.thunisoft.agent.javassist.bytecode.ConstPool;
+import com.wenshuo.agent.javassist.ClassPool;
+import com.wenshuo.agent.javassist.bytecode.ConstPool;
 import java.io.IOException;
 import java.lang.reflect.Method;
 
diff --git a/src/com/thunisoft/agent/javassist/bytecode/annotation/LongMemberValue.java b/src/com/wenshuo/agent/javassist/bytecode/annotation/LongMemberValue.java
similarity index 94%
rename from src/com/thunisoft/agent/javassist/bytecode/annotation/LongMemberValue.java
rename to src/com/wenshuo/agent/javassist/bytecode/annotation/LongMemberValue.java
index 02d4fb8..9be1876 100644
--- a/src/com/thunisoft/agent/javassist/bytecode/annotation/LongMemberValue.java
+++ b/src/com/wenshuo/agent/javassist/bytecode/annotation/LongMemberValue.java
@@ -14,10 +14,10 @@
  * License.
  */
 
-package com.thunisoft.agent.javassist.bytecode.annotation;
+package com.wenshuo.agent.javassist.bytecode.annotation;
 
-import com.thunisoft.agent.javassist.ClassPool;
-import com.thunisoft.agent.javassist.bytecode.ConstPool;
+import com.wenshuo.agent.javassist.ClassPool;
+import com.wenshuo.agent.javassist.bytecode.ConstPool;
 import java.io.IOException;
 import java.lang.reflect.Method;
 
diff --git a/src/com/thunisoft/agent/javassist/bytecode/annotation/MemberValue.java b/src/com/wenshuo/agent/javassist/bytecode/annotation/MemberValue.java
similarity index 91%
rename from src/com/thunisoft/agent/javassist/bytecode/annotation/MemberValue.java
rename to src/com/wenshuo/agent/javassist/bytecode/annotation/MemberValue.java
index 5c662aa..fcbd86f 100644
--- a/src/com/thunisoft/agent/javassist/bytecode/annotation/MemberValue.java
+++ b/src/com/wenshuo/agent/javassist/bytecode/annotation/MemberValue.java
@@ -14,11 +14,11 @@
  * License.
  */
 
-package com.thunisoft.agent.javassist.bytecode.annotation;
+package com.wenshuo.agent.javassist.bytecode.annotation;
 
-import com.thunisoft.agent.javassist.ClassPool;
-import com.thunisoft.agent.javassist.bytecode.ConstPool;
-import com.thunisoft.agent.javassist.bytecode.Descriptor;
+import com.wenshuo.agent.javassist.ClassPool;
+import com.wenshuo.agent.javassist.bytecode.ConstPool;
+import com.wenshuo.agent.javassist.bytecode.Descriptor;
 
 import java.io.IOException;
 import java.lang.reflect.Array;
diff --git a/src/com/thunisoft/agent/javassist/bytecode/annotation/MemberValueVisitor.java b/src/com/wenshuo/agent/javassist/bytecode/annotation/MemberValueVisitor.java
similarity index 96%
rename from src/com/thunisoft/agent/javassist/bytecode/annotation/MemberValueVisitor.java
rename to src/com/wenshuo/agent/javassist/bytecode/annotation/MemberValueVisitor.java
index a2d7584..e20d31e 100644
--- a/src/com/thunisoft/agent/javassist/bytecode/annotation/MemberValueVisitor.java
+++ b/src/com/wenshuo/agent/javassist/bytecode/annotation/MemberValueVisitor.java
@@ -14,7 +14,7 @@
  * License.
  */
 
-package com.thunisoft.agent.javassist.bytecode.annotation;
+package com.wenshuo.agent.javassist.bytecode.annotation;
 
 /**
  * Visitor for traversing member values included in an annotation.
diff --git a/src/com/thunisoft/agent/javassist/bytecode/annotation/NoSuchClassError.java b/src/com/wenshuo/agent/javassist/bytecode/annotation/NoSuchClassError.java
similarity index 95%
rename from src/com/thunisoft/agent/javassist/bytecode/annotation/NoSuchClassError.java
rename to src/com/wenshuo/agent/javassist/bytecode/annotation/NoSuchClassError.java
index adc99c5..9b99786 100644
--- a/src/com/thunisoft/agent/javassist/bytecode/annotation/NoSuchClassError.java
+++ b/src/com/wenshuo/agent/javassist/bytecode/annotation/NoSuchClassError.java
@@ -14,7 +14,7 @@
  * License.
  */
 
-package com.thunisoft.agent.javassist.bytecode.annotation;
+package com.wenshuo.agent.javassist.bytecode.annotation;
 
 /**
  * Thrown if the linkage fails.
diff --git a/src/com/thunisoft/agent/javassist/bytecode/annotation/ShortMemberValue.java b/src/com/wenshuo/agent/javassist/bytecode/annotation/ShortMemberValue.java
similarity index 94%
rename from src/com/thunisoft/agent/javassist/bytecode/annotation/ShortMemberValue.java
rename to src/com/wenshuo/agent/javassist/bytecode/annotation/ShortMemberValue.java
index 732d2b7..8dd4970 100644
--- a/src/com/thunisoft/agent/javassist/bytecode/annotation/ShortMemberValue.java
+++ b/src/com/wenshuo/agent/javassist/bytecode/annotation/ShortMemberValue.java
@@ -14,10 +14,10 @@
  * License.
  */
 
-package com.thunisoft.agent.javassist.bytecode.annotation;
+package com.wenshuo.agent.javassist.bytecode.annotation;
 
-import com.thunisoft.agent.javassist.ClassPool;
-import com.thunisoft.agent.javassist.bytecode.ConstPool;
+import com.wenshuo.agent.javassist.ClassPool;
+import com.wenshuo.agent.javassist.bytecode.ConstPool;
 import java.io.IOException;
 import java.lang.reflect.Method;
 
diff --git a/src/com/thunisoft/agent/javassist/bytecode/annotation/StringMemberValue.java b/src/com/wenshuo/agent/javassist/bytecode/annotation/StringMemberValue.java
similarity index 94%
rename from src/com/thunisoft/agent/javassist/bytecode/annotation/StringMemberValue.java
rename to src/com/wenshuo/agent/javassist/bytecode/annotation/StringMemberValue.java
index 4eaf30f..61ac276 100644
--- a/src/com/thunisoft/agent/javassist/bytecode/annotation/StringMemberValue.java
+++ b/src/com/wenshuo/agent/javassist/bytecode/annotation/StringMemberValue.java
@@ -14,10 +14,10 @@
  * License.
  */
 
-package com.thunisoft.agent.javassist.bytecode.annotation;
+package com.wenshuo.agent.javassist.bytecode.annotation;
 
-import com.thunisoft.agent.javassist.ClassPool;
-import com.thunisoft.agent.javassist.bytecode.ConstPool;
+import com.wenshuo.agent.javassist.ClassPool;
+import com.wenshuo.agent.javassist.bytecode.ConstPool;
 import java.io.IOException;
 import java.lang.reflect.Method;
 
diff --git a/src/com/thunisoft/agent/javassist/bytecode/annotation/TypeAnnotationsWriter.java b/src/com/wenshuo/agent/javassist/bytecode/annotation/TypeAnnotationsWriter.java
similarity index 97%
rename from src/com/thunisoft/agent/javassist/bytecode/annotation/TypeAnnotationsWriter.java
rename to src/com/wenshuo/agent/javassist/bytecode/annotation/TypeAnnotationsWriter.java
index c492580..c35185e 100644
--- a/src/com/thunisoft/agent/javassist/bytecode/annotation/TypeAnnotationsWriter.java
+++ b/src/com/wenshuo/agent/javassist/bytecode/annotation/TypeAnnotationsWriter.java
@@ -1,9 +1,9 @@
-package com.thunisoft.agent.javassist.bytecode.annotation;
+package com.wenshuo.agent.javassist.bytecode.annotation;
 
 import java.io.IOException;
 import java.io.OutputStream;
 
-import com.thunisoft.agent.javassist.bytecode.ConstPool;
+import com.wenshuo.agent.javassist.bytecode.ConstPool;
 
 /**
  * A convenience class for constructing a
diff --git a/src/com/thunisoft/agent/javassist/bytecode/annotation/package.html b/src/com/wenshuo/agent/javassist/bytecode/annotation/package.html
similarity index 100%
rename from src/com/thunisoft/agent/javassist/bytecode/annotation/package.html
rename to src/com/wenshuo/agent/javassist/bytecode/annotation/package.html
diff --git a/src/com/thunisoft/agent/javassist/bytecode/package.html b/src/com/wenshuo/agent/javassist/bytecode/package.html
similarity index 100%
rename from src/com/thunisoft/agent/javassist/bytecode/package.html
rename to src/com/wenshuo/agent/javassist/bytecode/package.html
diff --git a/src/com/thunisoft/agent/javassist/bytecode/stackmap/BasicBlock.java b/src/com/wenshuo/agent/javassist/bytecode/stackmap/BasicBlock.java
similarity index 99%
rename from src/com/thunisoft/agent/javassist/bytecode/stackmap/BasicBlock.java
rename to src/com/wenshuo/agent/javassist/bytecode/stackmap/BasicBlock.java
index 16f7d48..f85821b 100644
--- a/src/com/thunisoft/agent/javassist/bytecode/stackmap/BasicBlock.java
+++ b/src/com/wenshuo/agent/javassist/bytecode/stackmap/BasicBlock.java
@@ -14,9 +14,9 @@
  * License.
  */
 
-package com.thunisoft.agent.javassist.bytecode.stackmap;
+package com.wenshuo.agent.javassist.bytecode.stackmap;
 
-import com.thunisoft.agent.javassist.bytecode.*;
+import com.wenshuo.agent.javassist.bytecode.*;
 import java.util.HashMap;
 import java.util.ArrayList;
 
diff --git a/src/com/thunisoft/agent/javassist/bytecode/stackmap/MapMaker.java b/src/com/wenshuo/agent/javassist/bytecode/stackmap/MapMaker.java
similarity index 98%
rename from src/com/thunisoft/agent/javassist/bytecode/stackmap/MapMaker.java
rename to src/com/wenshuo/agent/javassist/bytecode/stackmap/MapMaker.java
index 3dea7c4..19f64d5 100644
--- a/src/com/thunisoft/agent/javassist/bytecode/stackmap/MapMaker.java
+++ b/src/com/wenshuo/agent/javassist/bytecode/stackmap/MapMaker.java
@@ -14,13 +14,13 @@
  * License.
  */
 
-package com.thunisoft.agent.javassist.bytecode.stackmap;
+package com.wenshuo.agent.javassist.bytecode.stackmap;
 
 import java.util.ArrayList;
-import com.thunisoft.agent.javassist.ClassPool;
-import com.thunisoft.agent.javassist.CtClass;
-import com.thunisoft.agent.javassist.NotFoundException;
-import com.thunisoft.agent.javassist.bytecode.*;
+import com.wenshuo.agent.javassist.ClassPool;
+import com.wenshuo.agent.javassist.CtClass;
+import com.wenshuo.agent.javassist.NotFoundException;
+import com.wenshuo.agent.javassist.bytecode.*;
 
 /**
  * Stack map maker.
diff --git a/src/com/thunisoft/agent/javassist/bytecode/stackmap/Tracer.java b/src/com/wenshuo/agent/javassist/bytecode/stackmap/Tracer.java
similarity index 98%
rename from src/com/thunisoft/agent/javassist/bytecode/stackmap/Tracer.java
rename to src/com/wenshuo/agent/javassist/bytecode/stackmap/Tracer.java
index 7535787..caef5c9 100644
--- a/src/com/thunisoft/agent/javassist/bytecode/stackmap/Tracer.java
+++ b/src/com/wenshuo/agent/javassist/bytecode/stackmap/Tracer.java
@@ -14,14 +14,14 @@
  * License.
  */
 
-package com.thunisoft.agent.javassist.bytecode.stackmap;
-
-import com.thunisoft.agent.javassist.bytecode.ByteArray;
-import com.thunisoft.agent.javassist.bytecode.Opcode;
-import com.thunisoft.agent.javassist.bytecode.ConstPool;
-import com.thunisoft.agent.javassist.bytecode.Descriptor;
-import com.thunisoft.agent.javassist.bytecode.BadBytecode;
-import com.thunisoft.agent.javassist.ClassPool;
+package com.wenshuo.agent.javassist.bytecode.stackmap;
+
+import com.wenshuo.agent.javassist.bytecode.ByteArray;
+import com.wenshuo.agent.javassist.bytecode.Opcode;
+import com.wenshuo.agent.javassist.bytecode.ConstPool;
+import com.wenshuo.agent.javassist.bytecode.Descriptor;
+import com.wenshuo.agent.javassist.bytecode.BadBytecode;
+import com.wenshuo.agent.javassist.ClassPool;
 
 /*
  * A class for performing abstract interpretation.
diff --git a/src/com/thunisoft/agent/javassist/bytecode/stackmap/TypeData.java b/src/com/wenshuo/agent/javassist/bytecode/stackmap/TypeData.java
similarity index 98%
rename from src/com/thunisoft/agent/javassist/bytecode/stackmap/TypeData.java
rename to src/com/wenshuo/agent/javassist/bytecode/stackmap/TypeData.java
index a443323..afab68c 100644
--- a/src/com/thunisoft/agent/javassist/bytecode/stackmap/TypeData.java
+++ b/src/com/wenshuo/agent/javassist/bytecode/stackmap/TypeData.java
@@ -14,15 +14,15 @@
  * License.
  */
 
-package com.thunisoft.agent.javassist.bytecode.stackmap;
-
-import com.thunisoft.agent.javassist.ClassPool;
-import com.thunisoft.agent.javassist.CtClass;
-import com.thunisoft.agent.javassist.NotFoundException;
-import com.thunisoft.agent.javassist.bytecode.ConstPool;
-import com.thunisoft.agent.javassist.bytecode.Descriptor;
-import com.thunisoft.agent.javassist.bytecode.StackMapTable;
-import com.thunisoft.agent.javassist.bytecode.BadBytecode;
+package com.wenshuo.agent.javassist.bytecode.stackmap;
+
+import com.wenshuo.agent.javassist.ClassPool;
+import com.wenshuo.agent.javassist.CtClass;
+import com.wenshuo.agent.javassist.NotFoundException;
+import com.wenshuo.agent.javassist.bytecode.ConstPool;
+import com.wenshuo.agent.javassist.bytecode.Descriptor;
+import com.wenshuo.agent.javassist.bytecode.StackMapTable;
+import com.wenshuo.agent.javassist.bytecode.BadBytecode;
 import java.util.HashSet;
 import java.util.Iterator;
 import java.util.ArrayList;
diff --git a/src/com/thunisoft/agent/javassist/bytecode/stackmap/TypeTag.java b/src/com/wenshuo/agent/javassist/bytecode/stackmap/TypeTag.java
similarity index 90%
rename from src/com/thunisoft/agent/javassist/bytecode/stackmap/TypeTag.java
rename to src/com/wenshuo/agent/javassist/bytecode/stackmap/TypeTag.java
index d82ca48..89aa4e3 100644
--- a/src/com/thunisoft/agent/javassist/bytecode/stackmap/TypeTag.java
+++ b/src/com/wenshuo/agent/javassist/bytecode/stackmap/TypeTag.java
@@ -14,9 +14,9 @@
  * License.
  */
 
-package com.thunisoft.agent.javassist.bytecode.stackmap;
+package com.wenshuo.agent.javassist.bytecode.stackmap;
 
-import com.thunisoft.agent.javassist.bytecode.StackMapTable;
+import com.wenshuo.agent.javassist.bytecode.StackMapTable;
 
 public interface TypeTag {
     String TOP_TYPE = "*top*";
diff --git a/src/com/thunisoft/agent/javassist/bytecode/stackmap/TypedBlock.java b/src/com/wenshuo/agent/javassist/bytecode/stackmap/TypedBlock.java
similarity index 98%
rename from src/com/thunisoft/agent/javassist/bytecode/stackmap/TypedBlock.java
rename to src/com/wenshuo/agent/javassist/bytecode/stackmap/TypedBlock.java
index 9a50e99..631bfbd 100644
--- a/src/com/thunisoft/agent/javassist/bytecode/stackmap/TypedBlock.java
+++ b/src/com/wenshuo/agent/javassist/bytecode/stackmap/TypedBlock.java
@@ -14,9 +14,9 @@
  * License.
  */
 
-package com.thunisoft.agent.javassist.bytecode.stackmap;
+package com.wenshuo.agent.javassist.bytecode.stackmap;
 
-import com.thunisoft.agent.javassist.bytecode.*;
+import com.wenshuo.agent.javassist.bytecode.*;
 
 public class TypedBlock extends BasicBlock {
     public int stackTop, numLocals;
diff --git a/src/com/thunisoft/agent/javassist/compiler/AccessorMaker.java b/src/com/wenshuo/agent/javassist/compiler/AccessorMaker.java
similarity index 98%
rename from src/com/thunisoft/agent/javassist/compiler/AccessorMaker.java
rename to src/com/wenshuo/agent/javassist/compiler/AccessorMaker.java
index 623c99d..f35025f 100644
--- a/src/com/thunisoft/agent/javassist/compiler/AccessorMaker.java
+++ b/src/com/wenshuo/agent/javassist/compiler/AccessorMaker.java
@@ -14,10 +14,10 @@
  * License.
  */
 
-package com.thunisoft.agent.javassist.compiler;
+package com.wenshuo.agent.javassist.compiler;
 
-import com.thunisoft.agent.javassist.*;
-import com.thunisoft.agent.javassist.bytecode.*;
+import com.wenshuo.agent.javassist.*;
+import com.wenshuo.agent.javassist.bytecode.*;
 import java.util.HashMap;
 
 /**
diff --git a/src/com/thunisoft/agent/javassist/compiler/CodeGen.java b/src/com/wenshuo/agent/javassist/compiler/CodeGen.java
similarity index 99%
rename from src/com/thunisoft/agent/javassist/compiler/CodeGen.java
rename to src/com/wenshuo/agent/javassist/compiler/CodeGen.java
index f5cd61e..3345abc 100644
--- a/src/com/thunisoft/agent/javassist/compiler/CodeGen.java
+++ b/src/com/wenshuo/agent/javassist/compiler/CodeGen.java
@@ -14,12 +14,12 @@
  * License.
  */
 
-package com.thunisoft.agent.javassist.compiler;
+package com.wenshuo.agent.javassist.compiler;
 
 import java.util.ArrayList;
 import java.util.Arrays;
-import com.thunisoft.agent.javassist.compiler.ast.*;
-import com.thunisoft.agent.javassist.bytecode.*;
+import com.wenshuo.agent.javassist.compiler.ast.*;
+import com.wenshuo.agent.javassist.bytecode.*;
 
 /* The code generator is implemeted by three files:
  * CodeGen.java, MemberCodeGen.java, and JvstCodeGen.
diff --git a/src/com/thunisoft/agent/javassist/compiler/CompileError.java b/src/com/wenshuo/agent/javassist/compiler/CompileError.java
similarity index 89%
rename from src/com/thunisoft/agent/javassist/compiler/CompileError.java
rename to src/com/wenshuo/agent/javassist/compiler/CompileError.java
index 17d005a..7944620 100644
--- a/src/com/thunisoft/agent/javassist/compiler/CompileError.java
+++ b/src/com/wenshuo/agent/javassist/compiler/CompileError.java
@@ -14,10 +14,10 @@
  * License.
  */
 
-package com.thunisoft.agent.javassist.compiler;
+package com.wenshuo.agent.javassist.compiler;
 
-import com.thunisoft.agent.javassist.CannotCompileException;
-import com.thunisoft.agent.javassist.NotFoundException;
+import com.wenshuo.agent.javassist.CannotCompileException;
+import com.wenshuo.agent.javassist.NotFoundException;
 
 public class CompileError extends Exception {
     private Lex lex;
diff --git a/src/com/thunisoft/agent/javassist/compiler/Javac.java b/src/com/wenshuo/agent/javassist/compiler/Javac.java
similarity index 95%
rename from src/com/thunisoft/agent/javassist/compiler/Javac.java
rename to src/com/wenshuo/agent/javassist/compiler/Javac.java
index f2b1835..cfbeb4b 100644
--- a/src/com/thunisoft/agent/javassist/compiler/Javac.java
+++ b/src/com/wenshuo/agent/javassist/compiler/Javac.java
@@ -14,25 +14,25 @@
  * License.
  */
 
-package com.thunisoft.agent.javassist.compiler;
-
-import com.thunisoft.agent.javassist.CtClass;
-import com.thunisoft.agent.javassist.CtPrimitiveType;
-import com.thunisoft.agent.javassist.CtMember;
-import com.thunisoft.agent.javassist.CtField;
-import com.thunisoft.agent.javassist.CtBehavior;
-import com.thunisoft.agent.javassist.CtMethod;
-import com.thunisoft.agent.javassist.CtConstructor;
-import com.thunisoft.agent.javassist.CannotCompileException;
-import com.thunisoft.agent.javassist.Modifier;
-import com.thunisoft.agent.javassist.bytecode.Bytecode;
-import com.thunisoft.agent.javassist.bytecode.CodeAttribute;
-import com.thunisoft.agent.javassist.bytecode.LocalVariableAttribute;
-import com.thunisoft.agent.javassist.bytecode.BadBytecode;
-import com.thunisoft.agent.javassist.bytecode.Opcode;
-import com.thunisoft.agent.javassist.NotFoundException;
-
-import com.thunisoft.agent.javassist.compiler.ast.*;
+package com.wenshuo.agent.javassist.compiler;
+
+import com.wenshuo.agent.javassist.CtClass;
+import com.wenshuo.agent.javassist.CtPrimitiveType;
+import com.wenshuo.agent.javassist.CtMember;
+import com.wenshuo.agent.javassist.CtField;
+import com.wenshuo.agent.javassist.CtBehavior;
+import com.wenshuo.agent.javassist.CtMethod;
+import com.wenshuo.agent.javassist.CtConstructor;
+import com.wenshuo.agent.javassist.CannotCompileException;
+import com.wenshuo.agent.javassist.Modifier;
+import com.wenshuo.agent.javassist.bytecode.Bytecode;
+import com.wenshuo.agent.javassist.bytecode.CodeAttribute;
+import com.wenshuo.agent.javassist.bytecode.LocalVariableAttribute;
+import com.wenshuo.agent.javassist.bytecode.BadBytecode;
+import com.wenshuo.agent.javassist.bytecode.Opcode;
+import com.wenshuo.agent.javassist.NotFoundException;
+
+import com.wenshuo.agent.javassist.compiler.ast.*;
 
 public class Javac {
     JvstCodeGen gen;
diff --git a/src/com/thunisoft/agent/javassist/compiler/JvstCodeGen.java b/src/com/wenshuo/agent/javassist/compiler/JvstCodeGen.java
similarity index 99%
rename from src/com/thunisoft/agent/javassist/compiler/JvstCodeGen.java
rename to src/com/wenshuo/agent/javassist/compiler/JvstCodeGen.java
index d2425f8..7eb03ab 100644
--- a/src/com/thunisoft/agent/javassist/compiler/JvstCodeGen.java
+++ b/src/com/wenshuo/agent/javassist/compiler/JvstCodeGen.java
@@ -14,11 +14,11 @@
  * License.
  */
 
-package com.thunisoft.agent.javassist.compiler;
+package com.wenshuo.agent.javassist.compiler;
 
-import com.thunisoft.agent.javassist.*;
-import com.thunisoft.agent.javassist.bytecode.*;
-import com.thunisoft.agent.javassist.compiler.ast.*;
+import com.wenshuo.agent.javassist.*;
+import com.wenshuo.agent.javassist.bytecode.*;
+import com.wenshuo.agent.javassist.compiler.ast.*;
 
 /* Code generator accepting extended Java syntax for Javassist.
  */
diff --git a/src/com/thunisoft/agent/javassist/compiler/JvstTypeChecker.java b/src/com/wenshuo/agent/javassist/compiler/JvstTypeChecker.java
similarity index 98%
rename from src/com/thunisoft/agent/javassist/compiler/JvstTypeChecker.java
rename to src/com/wenshuo/agent/javassist/compiler/JvstTypeChecker.java
index d56a604..a28aaad 100644
--- a/src/com/thunisoft/agent/javassist/compiler/JvstTypeChecker.java
+++ b/src/com/wenshuo/agent/javassist/compiler/JvstTypeChecker.java
@@ -14,10 +14,10 @@
  * License.
  */
 
-package com.thunisoft.agent.javassist.compiler;
+package com.wenshuo.agent.javassist.compiler;
 
-import com.thunisoft.agent.javassist.*;
-import com.thunisoft.agent.javassist.compiler.ast.*;
+import com.wenshuo.agent.javassist.*;
+import com.wenshuo.agent.javassist.compiler.ast.*;
 
 /* Type checker accepting extended Java syntax for Javassist.
  */
diff --git a/src/com/thunisoft/agent/javassist/compiler/KeywordTable.java b/src/com/wenshuo/agent/javassist/compiler/KeywordTable.java
similarity index 95%
rename from src/com/thunisoft/agent/javassist/compiler/KeywordTable.java
rename to src/com/wenshuo/agent/javassist/compiler/KeywordTable.java
index f50ed66..8f4aa18 100644
--- a/src/com/thunisoft/agent/javassist/compiler/KeywordTable.java
+++ b/src/com/wenshuo/agent/javassist/compiler/KeywordTable.java
@@ -14,7 +14,7 @@
  * License.
  */
 
-package com.thunisoft.agent.javassist.compiler;
+package com.wenshuo.agent.javassist.compiler;
 
 public final class KeywordTable extends java.util.HashMap {
     public KeywordTable() { super(); }
diff --git a/src/com/thunisoft/agent/javassist/compiler/Lex.java b/src/com/wenshuo/agent/javassist/compiler/Lex.java
similarity index 99%
rename from src/com/thunisoft/agent/javassist/compiler/Lex.java
rename to src/com/wenshuo/agent/javassist/compiler/Lex.java
index 414fb8b..f83e802 100644
--- a/src/com/thunisoft/agent/javassist/compiler/Lex.java
+++ b/src/com/wenshuo/agent/javassist/compiler/Lex.java
@@ -14,7 +14,7 @@
  * License.
  */
 
-package com.thunisoft.agent.javassist.compiler;
+package com.wenshuo.agent.javassist.compiler;
 
 class Token {
     public Token next = null;
diff --git a/src/com/thunisoft/agent/javassist/compiler/MemberCodeGen.java b/src/com/wenshuo/agent/javassist/compiler/MemberCodeGen.java
similarity index 99%
rename from src/com/thunisoft/agent/javassist/compiler/MemberCodeGen.java
rename to src/com/wenshuo/agent/javassist/compiler/MemberCodeGen.java
index 0d0666f..91d3d28 100644
--- a/src/com/thunisoft/agent/javassist/compiler/MemberCodeGen.java
+++ b/src/com/wenshuo/agent/javassist/compiler/MemberCodeGen.java
@@ -14,11 +14,11 @@
  * License.
  */
 
-package com.thunisoft.agent.javassist.compiler;
+package com.wenshuo.agent.javassist.compiler;
 
-import com.thunisoft.agent.javassist.*;
-import com.thunisoft.agent.javassist.bytecode.*;
-import com.thunisoft.agent.javassist.compiler.ast.*;
+import com.wenshuo.agent.javassist.*;
+import com.wenshuo.agent.javassist.bytecode.*;
+import com.wenshuo.agent.javassist.compiler.ast.*;
 
 import java.util.ArrayList;
 
diff --git a/src/com/thunisoft/agent/javassist/compiler/MemberResolver.java b/src/com/wenshuo/agent/javassist/compiler/MemberResolver.java
similarity index 99%
rename from src/com/thunisoft/agent/javassist/compiler/MemberResolver.java
rename to src/com/wenshuo/agent/javassist/compiler/MemberResolver.java
index b203e91..933a626 100644
--- a/src/com/thunisoft/agent/javassist/compiler/MemberResolver.java
+++ b/src/com/wenshuo/agent/javassist/compiler/MemberResolver.java
@@ -14,7 +14,7 @@
  * License.
  */
 
-package com.thunisoft.agent.javassist.compiler;
+package com.wenshuo.agent.javassist.compiler;
 
 import java.util.Hashtable;
 import java.lang.ref.WeakReference;
@@ -22,9 +22,9 @@
 import java.util.List;
 import java.util.Iterator;
 
-import com.thunisoft.agent.javassist.*;
-import com.thunisoft.agent.javassist.bytecode.*;
-import com.thunisoft.agent.javassist.compiler.ast.*;
+import com.wenshuo.agent.javassist.*;
+import com.wenshuo.agent.javassist.bytecode.*;
+import com.wenshuo.agent.javassist.compiler.ast.*;
 
 /* Code generator methods depending on javassist.* classes.
  */
diff --git a/src/com/thunisoft/agent/javassist/compiler/NoFieldException.java b/src/com/wenshuo/agent/javassist/compiler/NoFieldException.java
similarity index 92%
rename from src/com/thunisoft/agent/javassist/compiler/NoFieldException.java
rename to src/com/wenshuo/agent/javassist/compiler/NoFieldException.java
index 0cf8f2e..5b35107 100644
--- a/src/com/thunisoft/agent/javassist/compiler/NoFieldException.java
+++ b/src/com/wenshuo/agent/javassist/compiler/NoFieldException.java
@@ -14,9 +14,9 @@
  * License.
  */
 
-package com.thunisoft.agent.javassist.compiler;
+package com.wenshuo.agent.javassist.compiler;
 
-import com.thunisoft.agent.javassist.compiler.ast.ASTree;
+import com.wenshuo.agent.javassist.compiler.ast.ASTree;
 
 public class NoFieldException extends CompileError {
     private String fieldName;
diff --git a/src/com/thunisoft/agent/javassist/compiler/Parser.java b/src/com/wenshuo/agent/javassist/compiler/Parser.java
similarity index 99%
rename from src/com/thunisoft/agent/javassist/compiler/Parser.java
rename to src/com/wenshuo/agent/javassist/compiler/Parser.java
index a61b8d3..4e15650 100644
--- a/src/com/thunisoft/agent/javassist/compiler/Parser.java
+++ b/src/com/wenshuo/agent/javassist/compiler/Parser.java
@@ -14,9 +14,9 @@
  * License.
  */
 
-package com.thunisoft.agent.javassist.compiler;
+package com.wenshuo.agent.javassist.compiler;
 
-import com.thunisoft.agent.javassist.compiler.ast.*;
+import com.wenshuo.agent.javassist.compiler.ast.*;
 
 public final class Parser implements TokenId {
     private Lex lex;
diff --git a/src/com/thunisoft/agent/javassist/compiler/ProceedHandler.java b/src/com/wenshuo/agent/javassist/compiler/ProceedHandler.java
similarity index 86%
rename from src/com/thunisoft/agent/javassist/compiler/ProceedHandler.java
rename to src/com/wenshuo/agent/javassist/compiler/ProceedHandler.java
index dd9be5f..7cb7ef4 100644
--- a/src/com/thunisoft/agent/javassist/compiler/ProceedHandler.java
+++ b/src/com/wenshuo/agent/javassist/compiler/ProceedHandler.java
@@ -14,10 +14,10 @@
  * License.
  */
 
-package com.thunisoft.agent.javassist.compiler;
+package com.wenshuo.agent.javassist.compiler;
 
-import com.thunisoft.agent.javassist.bytecode.Bytecode;
-import com.thunisoft.agent.javassist.compiler.ast.ASTList;
+import com.wenshuo.agent.javassist.bytecode.Bytecode;
+import com.wenshuo.agent.javassist.compiler.ast.ASTList;
 
 /**
  * An interface to an object for implementing $proceed().
diff --git a/src/com/thunisoft/agent/javassist/compiler/SymbolTable.java b/src/com/wenshuo/agent/javassist/compiler/SymbolTable.java
similarity index 92%
rename from src/com/thunisoft/agent/javassist/compiler/SymbolTable.java
rename to src/com/wenshuo/agent/javassist/compiler/SymbolTable.java
index 9419897..1a3edc0 100644
--- a/src/com/thunisoft/agent/javassist/compiler/SymbolTable.java
+++ b/src/com/wenshuo/agent/javassist/compiler/SymbolTable.java
@@ -14,10 +14,10 @@
  * License.
  */
 
-package com.thunisoft.agent.javassist.compiler;
+package com.wenshuo.agent.javassist.compiler;
 
 import java.util.HashMap;
-import com.thunisoft.agent.javassist.compiler.ast.Declarator;
+import com.wenshuo.agent.javassist.compiler.ast.Declarator;
 
 public final class SymbolTable extends HashMap {
     private SymbolTable parent;
diff --git a/src/com/thunisoft/agent/javassist/compiler/SyntaxError.java b/src/com/wenshuo/agent/javassist/compiler/SyntaxError.java
similarity index 94%
rename from src/com/thunisoft/agent/javassist/compiler/SyntaxError.java
rename to src/com/wenshuo/agent/javassist/compiler/SyntaxError.java
index 695c841..5a6f4b4 100644
--- a/src/com/thunisoft/agent/javassist/compiler/SyntaxError.java
+++ b/src/com/wenshuo/agent/javassist/compiler/SyntaxError.java
@@ -14,7 +14,7 @@
  * License.
  */
 
-package com.thunisoft.agent.javassist.compiler;
+package com.wenshuo.agent.javassist.compiler;
 
 public class SyntaxError extends CompileError {
     public SyntaxError(Lex lexer) {
diff --git a/src/com/thunisoft/agent/javassist/compiler/TokenId.java b/src/com/wenshuo/agent/javassist/compiler/TokenId.java
similarity index 98%
rename from src/com/thunisoft/agent/javassist/compiler/TokenId.java
rename to src/com/wenshuo/agent/javassist/compiler/TokenId.java
index 0168464..58538a6 100644
--- a/src/com/thunisoft/agent/javassist/compiler/TokenId.java
+++ b/src/com/wenshuo/agent/javassist/compiler/TokenId.java
@@ -14,7 +14,7 @@
  * License.
  */
 
-package com.thunisoft.agent.javassist.compiler;
+package com.wenshuo.agent.javassist.compiler;
 
 public interface TokenId {
     int ABSTRACT = 300;
diff --git a/src/com/thunisoft/agent/javassist/compiler/TypeChecker.java b/src/com/wenshuo/agent/javassist/compiler/TypeChecker.java
similarity index 98%
rename from src/com/thunisoft/agent/javassist/compiler/TypeChecker.java
rename to src/com/wenshuo/agent/javassist/compiler/TypeChecker.java
index 5331617..80153d0 100644
--- a/src/com/thunisoft/agent/javassist/compiler/TypeChecker.java
+++ b/src/com/wenshuo/agent/javassist/compiler/TypeChecker.java
@@ -14,15 +14,15 @@
  * License.
  */
 
-package com.thunisoft.agent.javassist.compiler;
-
-import com.thunisoft.agent.javassist.CtClass;
-import com.thunisoft.agent.javassist.CtField;
-import com.thunisoft.agent.javassist.ClassPool;
-import com.thunisoft.agent.javassist.Modifier;
-import com.thunisoft.agent.javassist.NotFoundException;
-import com.thunisoft.agent.javassist.compiler.ast.*;
-import com.thunisoft.agent.javassist.bytecode.*;
+package com.wenshuo.agent.javassist.compiler;
+
+import com.wenshuo.agent.javassist.CtClass;
+import com.wenshuo.agent.javassist.CtField;
+import com.wenshuo.agent.javassist.ClassPool;
+import com.wenshuo.agent.javassist.Modifier;
+import com.wenshuo.agent.javassist.NotFoundException;
+import com.wenshuo.agent.javassist.compiler.ast.*;
+import com.wenshuo.agent.javassist.bytecode.*;
 
 public class TypeChecker extends Visitor implements Opcode, TokenId {
     static final String javaLangObject = "java.lang.Object";
diff --git a/src/com/thunisoft/agent/javassist/compiler/ast/ASTList.java b/src/com/wenshuo/agent/javassist/compiler/ast/ASTList.java
similarity index 97%
rename from src/com/thunisoft/agent/javassist/compiler/ast/ASTList.java
rename to src/com/wenshuo/agent/javassist/compiler/ast/ASTList.java
index 16099a3..9c6966d 100644
--- a/src/com/thunisoft/agent/javassist/compiler/ast/ASTList.java
+++ b/src/com/wenshuo/agent/javassist/compiler/ast/ASTList.java
@@ -14,9 +14,9 @@
  * License.
  */
 
-package com.thunisoft.agent.javassist.compiler.ast;
+package com.wenshuo.agent.javassist.compiler.ast;
 
-import com.thunisoft.agent.javassist.compiler.CompileError;
+import com.wenshuo.agent.javassist.compiler.CompileError;
 
 /**
  * A linked list.
diff --git a/src/com/thunisoft/agent/javassist/compiler/ast/ASTree.java b/src/com/wenshuo/agent/javassist/compiler/ast/ASTree.java
similarity index 94%
rename from src/com/thunisoft/agent/javassist/compiler/ast/ASTree.java
rename to src/com/wenshuo/agent/javassist/compiler/ast/ASTree.java
index d3630f2..b464ec0 100644
--- a/src/com/thunisoft/agent/javassist/compiler/ast/ASTree.java
+++ b/src/com/wenshuo/agent/javassist/compiler/ast/ASTree.java
@@ -14,10 +14,10 @@
  * License.
  */
 
-package com.thunisoft.agent.javassist.compiler.ast;
+package com.wenshuo.agent.javassist.compiler.ast;
 
 import java.io.Serializable;
-import com.thunisoft.agent.javassist.compiler.CompileError;
+import com.wenshuo.agent.javassist.compiler.CompileError;
 
 /**
  * Abstract Syntax Tree.  An ASTree object represents a node of
diff --git a/src/com/thunisoft/agent/javassist/compiler/ast/ArrayInit.java b/src/com/wenshuo/agent/javassist/compiler/ast/ArrayInit.java
similarity index 90%
rename from src/com/thunisoft/agent/javassist/compiler/ast/ArrayInit.java
rename to src/com/wenshuo/agent/javassist/compiler/ast/ArrayInit.java
index 26973c3..aff9430 100644
--- a/src/com/thunisoft/agent/javassist/compiler/ast/ArrayInit.java
+++ b/src/com/wenshuo/agent/javassist/compiler/ast/ArrayInit.java
@@ -14,9 +14,9 @@
  * License.
  */
 
-package com.thunisoft.agent.javassist.compiler.ast;
+package com.wenshuo.agent.javassist.compiler.ast;
 
-import com.thunisoft.agent.javassist.compiler.CompileError;
+import com.wenshuo.agent.javassist.compiler.CompileError;
 
 /**
  * Array initializer such as { 1, 2, 3 }.
diff --git a/src/com/thunisoft/agent/javassist/compiler/ast/AssignExpr.java b/src/com/wenshuo/agent/javassist/compiler/ast/AssignExpr.java
similarity index 91%
rename from src/com/thunisoft/agent/javassist/compiler/ast/AssignExpr.java
rename to src/com/wenshuo/agent/javassist/compiler/ast/AssignExpr.java
index 523aae4..5e49831 100644
--- a/src/com/thunisoft/agent/javassist/compiler/ast/AssignExpr.java
+++ b/src/com/wenshuo/agent/javassist/compiler/ast/AssignExpr.java
@@ -14,9 +14,9 @@
  * License.
  */
 
-package com.thunisoft.agent.javassist.compiler.ast;
+package com.wenshuo.agent.javassist.compiler.ast;
 
-import com.thunisoft.agent.javassist.compiler.CompileError;
+import com.wenshuo.agent.javassist.compiler.CompileError;
 
 /**
  * Assignment expression.
diff --git a/src/com/thunisoft/agent/javassist/compiler/ast/BinExpr.java b/src/com/wenshuo/agent/javassist/compiler/ast/BinExpr.java
similarity index 92%
rename from src/com/thunisoft/agent/javassist/compiler/ast/BinExpr.java
rename to src/com/wenshuo/agent/javassist/compiler/ast/BinExpr.java
index c878f45..41005c1 100644
--- a/src/com/thunisoft/agent/javassist/compiler/ast/BinExpr.java
+++ b/src/com/wenshuo/agent/javassist/compiler/ast/BinExpr.java
@@ -14,9 +14,9 @@
  * License.
  */
 
-package com.thunisoft.agent.javassist.compiler.ast;
+package com.wenshuo.agent.javassist.compiler.ast;
 
-import com.thunisoft.agent.javassist.compiler.CompileError;
+import com.wenshuo.agent.javassist.compiler.CompileError;
 
 /**
  * Binary expression.
diff --git a/src/com/thunisoft/agent/javassist/compiler/ast/CallExpr.java b/src/com/wenshuo/agent/javassist/compiler/ast/CallExpr.java
similarity index 85%
rename from src/com/thunisoft/agent/javassist/compiler/ast/CallExpr.java
rename to src/com/wenshuo/agent/javassist/compiler/ast/CallExpr.java
index e0d21ec..f2b1fb1 100644
--- a/src/com/thunisoft/agent/javassist/compiler/ast/CallExpr.java
+++ b/src/com/wenshuo/agent/javassist/compiler/ast/CallExpr.java
@@ -14,11 +14,11 @@
  * License.
  */
 
-package com.thunisoft.agent.javassist.compiler.ast;
+package com.wenshuo.agent.javassist.compiler.ast;
 
-import com.thunisoft.agent.javassist.compiler.CompileError;
-import com.thunisoft.agent.javassist.compiler.TokenId;
-import com.thunisoft.agent.javassist.compiler.MemberResolver;
+import com.wenshuo.agent.javassist.compiler.CompileError;
+import com.wenshuo.agent.javassist.compiler.TokenId;
+import com.wenshuo.agent.javassist.compiler.MemberResolver;
 
 /**
  * Method call expression.
diff --git a/src/com/thunisoft/agent/javassist/compiler/ast/CastExpr.java b/src/com/wenshuo/agent/javassist/compiler/ast/CastExpr.java
similarity index 90%
rename from src/com/thunisoft/agent/javassist/compiler/ast/CastExpr.java
rename to src/com/wenshuo/agent/javassist/compiler/ast/CastExpr.java
index d3d07b9..60f7b43 100644
--- a/src/com/thunisoft/agent/javassist/compiler/ast/CastExpr.java
+++ b/src/com/wenshuo/agent/javassist/compiler/ast/CastExpr.java
@@ -14,10 +14,10 @@
  * License.
  */
 
-package com.thunisoft.agent.javassist.compiler.ast;
+package com.wenshuo.agent.javassist.compiler.ast;
 
-import com.thunisoft.agent.javassist.compiler.TokenId;
-import com.thunisoft.agent.javassist.compiler.CompileError;
+import com.wenshuo.agent.javassist.compiler.TokenId;
+import com.wenshuo.agent.javassist.compiler.CompileError;
 
 /**
  * Cast expression.
diff --git a/src/com/thunisoft/agent/javassist/compiler/ast/CondExpr.java b/src/com/wenshuo/agent/javassist/compiler/ast/CondExpr.java
similarity index 92%
rename from src/com/thunisoft/agent/javassist/compiler/ast/CondExpr.java
rename to src/com/wenshuo/agent/javassist/compiler/ast/CondExpr.java
index d795732..f11690f 100644
--- a/src/com/thunisoft/agent/javassist/compiler/ast/CondExpr.java
+++ b/src/com/wenshuo/agent/javassist/compiler/ast/CondExpr.java
@@ -14,9 +14,9 @@
  * License.
  */
 
-package com.thunisoft.agent.javassist.compiler.ast;
+package com.wenshuo.agent.javassist.compiler.ast;
 
-import com.thunisoft.agent.javassist.compiler.CompileError;
+import com.wenshuo.agent.javassist.compiler.CompileError;
 
 /**
  * Conditional expression.
diff --git a/src/com/thunisoft/agent/javassist/compiler/ast/Declarator.java b/src/com/wenshuo/agent/javassist/compiler/ast/Declarator.java
similarity index 95%
rename from src/com/thunisoft/agent/javassist/compiler/ast/Declarator.java
rename to src/com/wenshuo/agent/javassist/compiler/ast/Declarator.java
index 213f239..be7c1cd 100644
--- a/src/com/thunisoft/agent/javassist/compiler/ast/Declarator.java
+++ b/src/com/wenshuo/agent/javassist/compiler/ast/Declarator.java
@@ -14,10 +14,10 @@
  * License.
  */
 
-package com.thunisoft.agent.javassist.compiler.ast;
+package com.wenshuo.agent.javassist.compiler.ast;
 
-import com.thunisoft.agent.javassist.compiler.TokenId;
-import com.thunisoft.agent.javassist.compiler.CompileError;
+import com.wenshuo.agent.javassist.compiler.TokenId;
+import com.wenshuo.agent.javassist.compiler.CompileError;
 
 /**
  * Variable declarator.
diff --git a/src/com/thunisoft/agent/javassist/compiler/ast/DoubleConst.java b/src/com/wenshuo/agent/javassist/compiler/ast/DoubleConst.java
similarity index 94%
rename from src/com/thunisoft/agent/javassist/compiler/ast/DoubleConst.java
rename to src/com/wenshuo/agent/javassist/compiler/ast/DoubleConst.java
index 4940315..777e3cf 100644
--- a/src/com/thunisoft/agent/javassist/compiler/ast/DoubleConst.java
+++ b/src/com/wenshuo/agent/javassist/compiler/ast/DoubleConst.java
@@ -14,10 +14,10 @@
  * License.
  */
 
-package com.thunisoft.agent.javassist.compiler.ast;
+package com.wenshuo.agent.javassist.compiler.ast;
 
-import com.thunisoft.agent.javassist.compiler.CompileError;
-import com.thunisoft.agent.javassist.compiler.TokenId;
+import com.wenshuo.agent.javassist.compiler.CompileError;
+import com.wenshuo.agent.javassist.compiler.TokenId;
 
 /**
  * Double constant.
diff --git a/src/com/thunisoft/agent/javassist/compiler/ast/Expr.java b/src/com/wenshuo/agent/javassist/compiler/ast/Expr.java
similarity index 93%
rename from src/com/thunisoft/agent/javassist/compiler/ast/Expr.java
rename to src/com/wenshuo/agent/javassist/compiler/ast/Expr.java
index ff5ceeb..d49ca3e 100644
--- a/src/com/thunisoft/agent/javassist/compiler/ast/Expr.java
+++ b/src/com/wenshuo/agent/javassist/compiler/ast/Expr.java
@@ -14,10 +14,10 @@
  * License.
  */
 
-package com.thunisoft.agent.javassist.compiler.ast;
+package com.wenshuo.agent.javassist.compiler.ast;
 
-import com.thunisoft.agent.javassist.compiler.TokenId;
-import com.thunisoft.agent.javassist.compiler.CompileError;
+import com.wenshuo.agent.javassist.compiler.TokenId;
+import com.wenshuo.agent.javassist.compiler.CompileError;
 
 /**
  * Expression.
diff --git a/src/com/thunisoft/agent/javassist/compiler/ast/FieldDecl.java b/src/com/wenshuo/agent/javassist/compiler/ast/FieldDecl.java
similarity index 91%
rename from src/com/thunisoft/agent/javassist/compiler/ast/FieldDecl.java
rename to src/com/wenshuo/agent/javassist/compiler/ast/FieldDecl.java
index f60f2b3..968a97b 100644
--- a/src/com/thunisoft/agent/javassist/compiler/ast/FieldDecl.java
+++ b/src/com/wenshuo/agent/javassist/compiler/ast/FieldDecl.java
@@ -14,9 +14,9 @@
  * License.
  */
 
-package com.thunisoft.agent.javassist.compiler.ast;
+package com.wenshuo.agent.javassist.compiler.ast;
 
-import com.thunisoft.agent.javassist.compiler.CompileError;
+import com.wenshuo.agent.javassist.compiler.CompileError;
 
 public class FieldDecl extends ASTList {
     public FieldDecl(ASTree _head, ASTList _tail) {
diff --git a/src/com/thunisoft/agent/javassist/compiler/ast/InstanceOfExpr.java b/src/com/wenshuo/agent/javassist/compiler/ast/InstanceOfExpr.java
similarity index 91%
rename from src/com/thunisoft/agent/javassist/compiler/ast/InstanceOfExpr.java
rename to src/com/wenshuo/agent/javassist/compiler/ast/InstanceOfExpr.java
index f40b177..e7fa6d3 100644
--- a/src/com/thunisoft/agent/javassist/compiler/ast/InstanceOfExpr.java
+++ b/src/com/wenshuo/agent/javassist/compiler/ast/InstanceOfExpr.java
@@ -14,9 +14,9 @@
  * License.
  */
 
-package com.thunisoft.agent.javassist.compiler.ast;
+package com.wenshuo.agent.javassist.compiler.ast;
 
-import com.thunisoft.agent.javassist.compiler.CompileError;
+import com.wenshuo.agent.javassist.compiler.CompileError;
 
 /**
  * Instanceof expression.
diff --git a/src/com/thunisoft/agent/javassist/compiler/ast/IntConst.java b/src/com/wenshuo/agent/javassist/compiler/ast/IntConst.java
similarity index 95%
rename from src/com/thunisoft/agent/javassist/compiler/ast/IntConst.java
rename to src/com/wenshuo/agent/javassist/compiler/ast/IntConst.java
index 9f3be72..b4d83ca 100644
--- a/src/com/thunisoft/agent/javassist/compiler/ast/IntConst.java
+++ b/src/com/wenshuo/agent/javassist/compiler/ast/IntConst.java
@@ -14,10 +14,10 @@
  * License.
  */
 
-package com.thunisoft.agent.javassist.compiler.ast;
+package com.wenshuo.agent.javassist.compiler.ast;
 
-import com.thunisoft.agent.javassist.compiler.CompileError;
-import com.thunisoft.agent.javassist.compiler.TokenId;
+import com.wenshuo.agent.javassist.compiler.CompileError;
+import com.wenshuo.agent.javassist.compiler.TokenId;
 
 /**
  * Integer constant.
diff --git a/src/com/thunisoft/agent/javassist/compiler/ast/Keyword.java b/src/com/wenshuo/agent/javassist/compiler/ast/Keyword.java
similarity index 90%
rename from src/com/thunisoft/agent/javassist/compiler/ast/Keyword.java
rename to src/com/wenshuo/agent/javassist/compiler/ast/Keyword.java
index 98f18ce..d1b63dd 100644
--- a/src/com/thunisoft/agent/javassist/compiler/ast/Keyword.java
+++ b/src/com/wenshuo/agent/javassist/compiler/ast/Keyword.java
@@ -14,9 +14,9 @@
  * License.
  */
 
-package com.thunisoft.agent.javassist.compiler.ast;
+package com.wenshuo.agent.javassist.compiler.ast;
 
-import com.thunisoft.agent.javassist.compiler.CompileError;
+import com.wenshuo.agent.javassist.compiler.CompileError;
 
 /**
  * Keyword.
diff --git a/src/com/thunisoft/agent/javassist/compiler/ast/Member.java b/src/com/wenshuo/agent/javassist/compiler/ast/Member.java
similarity index 88%
rename from src/com/thunisoft/agent/javassist/compiler/ast/Member.java
rename to src/com/wenshuo/agent/javassist/compiler/ast/Member.java
index f5f0b90..cc5c4d1 100644
--- a/src/com/thunisoft/agent/javassist/compiler/ast/Member.java
+++ b/src/com/wenshuo/agent/javassist/compiler/ast/Member.java
@@ -14,10 +14,10 @@
  * License.
  */
 
-package com.thunisoft.agent.javassist.compiler.ast;
+package com.wenshuo.agent.javassist.compiler.ast;
 
-import com.thunisoft.agent.javassist.compiler.CompileError;
-import com.thunisoft.agent.javassist.CtField;
+import com.wenshuo.agent.javassist.compiler.CompileError;
+import com.wenshuo.agent.javassist.CtField;
 
 /**
  * Member name.
diff --git a/src/com/thunisoft/agent/javassist/compiler/ast/MethodDecl.java b/src/com/wenshuo/agent/javassist/compiler/ast/MethodDecl.java
similarity index 92%
rename from src/com/thunisoft/agent/javassist/compiler/ast/MethodDecl.java
rename to src/com/wenshuo/agent/javassist/compiler/ast/MethodDecl.java
index 81b08fe..a80e374 100644
--- a/src/com/thunisoft/agent/javassist/compiler/ast/MethodDecl.java
+++ b/src/com/wenshuo/agent/javassist/compiler/ast/MethodDecl.java
@@ -14,9 +14,9 @@
  * License.
  */
 
-package com.thunisoft.agent.javassist.compiler.ast;
+package com.wenshuo.agent.javassist.compiler.ast;
 
-import com.thunisoft.agent.javassist.compiler.CompileError;
+import com.wenshuo.agent.javassist.compiler.CompileError;
 
 public class MethodDecl extends ASTList {
     public static final String initName = "";
diff --git a/src/com/thunisoft/agent/javassist/compiler/ast/NewExpr.java b/src/com/wenshuo/agent/javassist/compiler/ast/NewExpr.java
similarity index 93%
rename from src/com/thunisoft/agent/javassist/compiler/ast/NewExpr.java
rename to src/com/wenshuo/agent/javassist/compiler/ast/NewExpr.java
index 8b644d7..4b064f2 100644
--- a/src/com/thunisoft/agent/javassist/compiler/ast/NewExpr.java
+++ b/src/com/wenshuo/agent/javassist/compiler/ast/NewExpr.java
@@ -14,10 +14,10 @@
  * License.
  */
 
-package com.thunisoft.agent.javassist.compiler.ast;
+package com.wenshuo.agent.javassist.compiler.ast;
 
-import com.thunisoft.agent.javassist.compiler.TokenId;
-import com.thunisoft.agent.javassist.compiler.CompileError;
+import com.wenshuo.agent.javassist.compiler.TokenId;
+import com.wenshuo.agent.javassist.compiler.CompileError;
 
 /**
  * New Expression.
diff --git a/src/com/thunisoft/agent/javassist/compiler/ast/Pair.java b/src/com/wenshuo/agent/javassist/compiler/ast/Pair.java
similarity index 93%
rename from src/com/thunisoft/agent/javassist/compiler/ast/Pair.java
rename to src/com/wenshuo/agent/javassist/compiler/ast/Pair.java
index ff8f74c..56cb3e6 100644
--- a/src/com/thunisoft/agent/javassist/compiler/ast/Pair.java
+++ b/src/com/wenshuo/agent/javassist/compiler/ast/Pair.java
@@ -14,9 +14,9 @@
  * License.
  */
 
-package com.thunisoft.agent.javassist.compiler.ast;
+package com.wenshuo.agent.javassist.compiler.ast;
 
-import com.thunisoft.agent.javassist.compiler.CompileError;
+import com.wenshuo.agent.javassist.compiler.CompileError;
 
 /**
  * A node of a a binary tree.  This class provides concrete methods
diff --git a/src/com/thunisoft/agent/javassist/compiler/ast/Stmnt.java b/src/com/wenshuo/agent/javassist/compiler/ast/Stmnt.java
similarity index 90%
rename from src/com/thunisoft/agent/javassist/compiler/ast/Stmnt.java
rename to src/com/wenshuo/agent/javassist/compiler/ast/Stmnt.java
index d766b1f..0d81286 100644
--- a/src/com/thunisoft/agent/javassist/compiler/ast/Stmnt.java
+++ b/src/com/wenshuo/agent/javassist/compiler/ast/Stmnt.java
@@ -14,10 +14,10 @@
  * License.
  */
 
-package com.thunisoft.agent.javassist.compiler.ast;
+package com.wenshuo.agent.javassist.compiler.ast;
 
-import com.thunisoft.agent.javassist.compiler.TokenId;
-import com.thunisoft.agent.javassist.compiler.CompileError;
+import com.wenshuo.agent.javassist.compiler.TokenId;
+import com.wenshuo.agent.javassist.compiler.CompileError;
 
 /**
  * Statement.
diff --git a/src/com/thunisoft/agent/javassist/compiler/ast/StringL.java b/src/com/wenshuo/agent/javassist/compiler/ast/StringL.java
similarity index 90%
rename from src/com/thunisoft/agent/javassist/compiler/ast/StringL.java
rename to src/com/wenshuo/agent/javassist/compiler/ast/StringL.java
index d905bd6..d7c43c0 100644
--- a/src/com/thunisoft/agent/javassist/compiler/ast/StringL.java
+++ b/src/com/wenshuo/agent/javassist/compiler/ast/StringL.java
@@ -14,9 +14,9 @@
  * License.
  */
 
-package com.thunisoft.agent.javassist.compiler.ast;
+package com.wenshuo.agent.javassist.compiler.ast;
 
-import com.thunisoft.agent.javassist.compiler.CompileError;
+import com.wenshuo.agent.javassist.compiler.CompileError;
 
 /**
  * String literal.
diff --git a/src/com/thunisoft/agent/javassist/compiler/ast/Symbol.java b/src/com/wenshuo/agent/javassist/compiler/ast/Symbol.java
similarity index 90%
rename from src/com/thunisoft/agent/javassist/compiler/ast/Symbol.java
rename to src/com/wenshuo/agent/javassist/compiler/ast/Symbol.java
index ecf9d98..b305cbd 100644
--- a/src/com/thunisoft/agent/javassist/compiler/ast/Symbol.java
+++ b/src/com/wenshuo/agent/javassist/compiler/ast/Symbol.java
@@ -14,9 +14,9 @@
  * License.
  */
 
-package com.thunisoft.agent.javassist.compiler.ast;
+package com.wenshuo.agent.javassist.compiler.ast;
 
-import com.thunisoft.agent.javassist.compiler.CompileError;
+import com.wenshuo.agent.javassist.compiler.CompileError;
 
 /**
  * Identifier.
diff --git a/src/com/thunisoft/agent/javassist/compiler/ast/Variable.java b/src/com/wenshuo/agent/javassist/compiler/ast/Variable.java
similarity index 91%
rename from src/com/thunisoft/agent/javassist/compiler/ast/Variable.java
rename to src/com/wenshuo/agent/javassist/compiler/ast/Variable.java
index 4b5bdae..0b7741a 100644
--- a/src/com/thunisoft/agent/javassist/compiler/ast/Variable.java
+++ b/src/com/wenshuo/agent/javassist/compiler/ast/Variable.java
@@ -14,9 +14,9 @@
  * License.
  */
 
-package com.thunisoft.agent.javassist.compiler.ast;
+package com.wenshuo.agent.javassist.compiler.ast;
 
-import com.thunisoft.agent.javassist.compiler.CompileError;
+import com.wenshuo.agent.javassist.compiler.CompileError;
 
 /**
  * Variable.
diff --git a/src/com/thunisoft/agent/javassist/compiler/ast/Visitor.java b/src/com/wenshuo/agent/javassist/compiler/ast/Visitor.java
similarity index 95%
rename from src/com/thunisoft/agent/javassist/compiler/ast/Visitor.java
rename to src/com/wenshuo/agent/javassist/compiler/ast/Visitor.java
index 4f7aeef..e4c6e44 100644
--- a/src/com/thunisoft/agent/javassist/compiler/ast/Visitor.java
+++ b/src/com/wenshuo/agent/javassist/compiler/ast/Visitor.java
@@ -14,9 +14,9 @@
  * License.
  */
 
-package com.thunisoft.agent.javassist.compiler.ast;
+package com.wenshuo.agent.javassist.compiler.ast;
 
-import com.thunisoft.agent.javassist.compiler.CompileError;
+import com.wenshuo.agent.javassist.compiler.CompileError;
 
 /**
  * The visitor pattern.
diff --git a/src/com/thunisoft/agent/javassist/convert/TransformAccessArrayField.java b/src/com/wenshuo/agent/javassist/convert/TransformAccessArrayField.java
similarity index 92%
rename from src/com/thunisoft/agent/javassist/convert/TransformAccessArrayField.java
rename to src/com/wenshuo/agent/javassist/convert/TransformAccessArrayField.java
index 718fe41..3942bd7 100644
--- a/src/com/thunisoft/agent/javassist/convert/TransformAccessArrayField.java
+++ b/src/com/wenshuo/agent/javassist/convert/TransformAccessArrayField.java
@@ -13,20 +13,20 @@
  * for the specific language governing rights and limitations under the
  * License.
  */
-package com.thunisoft.agent.javassist.convert;
+package com.wenshuo.agent.javassist.convert;
 
-import com.thunisoft.agent.javassist.CannotCompileException;
-import com.thunisoft.agent.javassist.ClassPool;
-import com.thunisoft.agent.javassist.CtClass;
-import com.thunisoft.agent.javassist.NotFoundException;
-import com.thunisoft.agent.javassist.CodeConverter.ArrayAccessReplacementMethodNames;
-import com.thunisoft.agent.javassist.bytecode.BadBytecode;
-import com.thunisoft.agent.javassist.bytecode.CodeIterator;
-import com.thunisoft.agent.javassist.bytecode.ConstPool;
-import com.thunisoft.agent.javassist.bytecode.Descriptor;
-import com.thunisoft.agent.javassist.bytecode.MethodInfo;
-import com.thunisoft.agent.javassist.bytecode.analysis.Analyzer;
-import com.thunisoft.agent.javassist.bytecode.analysis.Frame;
+import com.wenshuo.agent.javassist.CannotCompileException;
+import com.wenshuo.agent.javassist.ClassPool;
+import com.wenshuo.agent.javassist.CtClass;
+import com.wenshuo.agent.javassist.NotFoundException;
+import com.wenshuo.agent.javassist.CodeConverter.ArrayAccessReplacementMethodNames;
+import com.wenshuo.agent.javassist.bytecode.BadBytecode;
+import com.wenshuo.agent.javassist.bytecode.CodeIterator;
+import com.wenshuo.agent.javassist.bytecode.ConstPool;
+import com.wenshuo.agent.javassist.bytecode.Descriptor;
+import com.wenshuo.agent.javassist.bytecode.MethodInfo;
+import com.wenshuo.agent.javassist.bytecode.analysis.Analyzer;
+import com.wenshuo.agent.javassist.bytecode.analysis.Frame;
 
 /**
  * A transformer which replaces array access with static method invocations.
diff --git a/src/com/thunisoft/agent/javassist/convert/TransformAfter.java b/src/com/wenshuo/agent/javassist/convert/TransformAfter.java
similarity index 88%
rename from src/com/thunisoft/agent/javassist/convert/TransformAfter.java
rename to src/com/wenshuo/agent/javassist/convert/TransformAfter.java
index 38293f6..ebe8c61 100644
--- a/src/com/thunisoft/agent/javassist/convert/TransformAfter.java
+++ b/src/com/wenshuo/agent/javassist/convert/TransformAfter.java
@@ -14,11 +14,11 @@
  * License.
  */
 
-package com.thunisoft.agent.javassist.convert;
+package com.wenshuo.agent.javassist.convert;
 
-import com.thunisoft.agent.javassist.CtMethod;
-import com.thunisoft.agent.javassist.NotFoundException;
-import com.thunisoft.agent.javassist.bytecode.*;
+import com.wenshuo.agent.javassist.CtMethod;
+import com.wenshuo.agent.javassist.NotFoundException;
+import com.wenshuo.agent.javassist.bytecode.*;
 
 public class TransformAfter extends TransformBefore {
     public TransformAfter(Transformer next,
diff --git a/src/com/thunisoft/agent/javassist/convert/TransformBefore.java b/src/com/wenshuo/agent/javassist/convert/TransformBefore.java
similarity index 93%
rename from src/com/thunisoft/agent/javassist/convert/TransformBefore.java
rename to src/com/wenshuo/agent/javassist/convert/TransformBefore.java
index 176314b..ff75939 100644
--- a/src/com/thunisoft/agent/javassist/convert/TransformBefore.java
+++ b/src/com/wenshuo/agent/javassist/convert/TransformBefore.java
@@ -14,12 +14,12 @@
  * License.
  */
 
-package com.thunisoft.agent.javassist.convert;
+package com.wenshuo.agent.javassist.convert;
 
-import com.thunisoft.agent.javassist.CtClass;
-import com.thunisoft.agent.javassist.CtMethod;
-import com.thunisoft.agent.javassist.NotFoundException;
-import com.thunisoft.agent.javassist.bytecode.*;
+import com.wenshuo.agent.javassist.CtClass;
+import com.wenshuo.agent.javassist.CtMethod;
+import com.wenshuo.agent.javassist.NotFoundException;
+import com.wenshuo.agent.javassist.bytecode.*;
 
 public class TransformBefore extends TransformCall {
     protected CtClass[] parameterTypes;
diff --git a/src/com/thunisoft/agent/javassist/convert/TransformCall.java b/src/com/wenshuo/agent/javassist/convert/TransformCall.java
similarity index 92%
rename from src/com/thunisoft/agent/javassist/convert/TransformCall.java
rename to src/com/wenshuo/agent/javassist/convert/TransformCall.java
index 21197fe..317bda3 100644
--- a/src/com/thunisoft/agent/javassist/convert/TransformCall.java
+++ b/src/com/wenshuo/agent/javassist/convert/TransformCall.java
@@ -14,14 +14,14 @@
  * License.
  */
 
-package com.thunisoft.agent.javassist.convert;
-
-import com.thunisoft.agent.javassist.CtClass;
-import com.thunisoft.agent.javassist.CtMethod;
-import com.thunisoft.agent.javassist.ClassPool;
-import com.thunisoft.agent.javassist.Modifier;
-import com.thunisoft.agent.javassist.NotFoundException;
-import com.thunisoft.agent.javassist.bytecode.*;
+package com.wenshuo.agent.javassist.convert;
+
+import com.wenshuo.agent.javassist.CtClass;
+import com.wenshuo.agent.javassist.CtMethod;
+import com.wenshuo.agent.javassist.ClassPool;
+import com.wenshuo.agent.javassist.Modifier;
+import com.wenshuo.agent.javassist.NotFoundException;
+import com.wenshuo.agent.javassist.bytecode.*;
 
 public class TransformCall extends Transformer {
     protected String classname, methodname, methodDescriptor;
diff --git a/src/com/thunisoft/agent/javassist/convert/TransformFieldAccess.java b/src/com/wenshuo/agent/javassist/convert/TransformFieldAccess.java
similarity index 92%
rename from src/com/thunisoft/agent/javassist/convert/TransformFieldAccess.java
rename to src/com/wenshuo/agent/javassist/convert/TransformFieldAccess.java
index 04fc5da..08ed468 100644
--- a/src/com/thunisoft/agent/javassist/convert/TransformFieldAccess.java
+++ b/src/com/wenshuo/agent/javassist/convert/TransformFieldAccess.java
@@ -14,12 +14,12 @@
  * License.
  */
 
-package com.thunisoft.agent.javassist.convert;
+package com.wenshuo.agent.javassist.convert;
 
-import com.thunisoft.agent.javassist.bytecode.*;
-import com.thunisoft.agent.javassist.CtClass;
-import com.thunisoft.agent.javassist.CtField;
-import com.thunisoft.agent.javassist.Modifier;
+import com.wenshuo.agent.javassist.bytecode.*;
+import com.wenshuo.agent.javassist.CtClass;
+import com.wenshuo.agent.javassist.CtField;
+import com.wenshuo.agent.javassist.Modifier;
 
 final public class TransformFieldAccess extends Transformer {
     private String newClassname, newFieldname;
diff --git a/src/com/thunisoft/agent/javassist/convert/TransformNew.java b/src/com/wenshuo/agent/javassist/convert/TransformNew.java
similarity index 94%
rename from src/com/thunisoft/agent/javassist/convert/TransformNew.java
rename to src/com/wenshuo/agent/javassist/convert/TransformNew.java
index aa5e485..a85d750 100644
--- a/src/com/thunisoft/agent/javassist/convert/TransformNew.java
+++ b/src/com/wenshuo/agent/javassist/convert/TransformNew.java
@@ -14,11 +14,11 @@
  * License.
  */
 
-package com.thunisoft.agent.javassist.convert;
+package com.wenshuo.agent.javassist.convert;
 
-import com.thunisoft.agent.javassist.bytecode.*;
-import com.thunisoft.agent.javassist.CtClass;
-import com.thunisoft.agent.javassist.CannotCompileException;
+import com.wenshuo.agent.javassist.bytecode.*;
+import com.wenshuo.agent.javassist.CtClass;
+import com.wenshuo.agent.javassist.CannotCompileException;
 
 final public class TransformNew extends Transformer {
     private int nested;
diff --git a/src/com/thunisoft/agent/javassist/convert/TransformNewClass.java b/src/com/wenshuo/agent/javassist/convert/TransformNewClass.java
similarity index 93%
rename from src/com/thunisoft/agent/javassist/convert/TransformNewClass.java
rename to src/com/wenshuo/agent/javassist/convert/TransformNewClass.java
index c769c24..513b8ef 100644
--- a/src/com/thunisoft/agent/javassist/convert/TransformNewClass.java
+++ b/src/com/wenshuo/agent/javassist/convert/TransformNewClass.java
@@ -14,11 +14,11 @@
  * License.
  */
 
-package com.thunisoft.agent.javassist.convert;
+package com.wenshuo.agent.javassist.convert;
 
-import com.thunisoft.agent.javassist.bytecode.*;
-import com.thunisoft.agent.javassist.CtClass;
-import com.thunisoft.agent.javassist.CannotCompileException;
+import com.wenshuo.agent.javassist.bytecode.*;
+import com.wenshuo.agent.javassist.CtClass;
+import com.wenshuo.agent.javassist.CannotCompileException;
 
 final public class TransformNewClass extends Transformer {
     private int nested;
diff --git a/src/com/thunisoft/agent/javassist/convert/TransformReadField.java b/src/com/wenshuo/agent/javassist/convert/TransformReadField.java
similarity index 90%
rename from src/com/thunisoft/agent/javassist/convert/TransformReadField.java
rename to src/com/wenshuo/agent/javassist/convert/TransformReadField.java
index f0cd9c4..d8477c8 100644
--- a/src/com/thunisoft/agent/javassist/convert/TransformReadField.java
+++ b/src/com/wenshuo/agent/javassist/convert/TransformReadField.java
@@ -14,14 +14,14 @@
  * License.
  */
 
-package com.thunisoft.agent.javassist.convert;
+package com.wenshuo.agent.javassist.convert;
 
-import com.thunisoft.agent.javassist.bytecode.*;
-import com.thunisoft.agent.javassist.ClassPool;
-import com.thunisoft.agent.javassist.CtClass;
-import com.thunisoft.agent.javassist.CtField;
-import com.thunisoft.agent.javassist.NotFoundException;
-import com.thunisoft.agent.javassist.Modifier;
+import com.wenshuo.agent.javassist.bytecode.*;
+import com.wenshuo.agent.javassist.ClassPool;
+import com.wenshuo.agent.javassist.CtClass;
+import com.wenshuo.agent.javassist.CtField;
+import com.wenshuo.agent.javassist.NotFoundException;
+import com.wenshuo.agent.javassist.Modifier;
 
 public class TransformReadField extends Transformer {
     protected String fieldname;
diff --git a/src/com/thunisoft/agent/javassist/convert/TransformWriteField.java b/src/com/wenshuo/agent/javassist/convert/TransformWriteField.java
similarity index 93%
rename from src/com/thunisoft/agent/javassist/convert/TransformWriteField.java
rename to src/com/wenshuo/agent/javassist/convert/TransformWriteField.java
index 1ce0064..ecc3f38 100644
--- a/src/com/thunisoft/agent/javassist/convert/TransformWriteField.java
+++ b/src/com/wenshuo/agent/javassist/convert/TransformWriteField.java
@@ -14,11 +14,11 @@
  * License.
  */
 
-package com.thunisoft.agent.javassist.convert;
+package com.wenshuo.agent.javassist.convert;
 
-import com.thunisoft.agent.javassist.CtClass;
-import com.thunisoft.agent.javassist.CtField;
-import com.thunisoft.agent.javassist.bytecode.*;
+import com.wenshuo.agent.javassist.CtClass;
+import com.wenshuo.agent.javassist.CtField;
+import com.wenshuo.agent.javassist.bytecode.*;
 
 final public class TransformWriteField extends TransformReadField {
     public TransformWriteField(Transformer next, CtField field,
diff --git a/src/com/thunisoft/agent/javassist/convert/Transformer.java b/src/com/wenshuo/agent/javassist/convert/Transformer.java
similarity index 75%
rename from src/com/thunisoft/agent/javassist/convert/Transformer.java
rename to src/com/wenshuo/agent/javassist/convert/Transformer.java
index 01b44e4..573dcf6 100644
--- a/src/com/thunisoft/agent/javassist/convert/Transformer.java
+++ b/src/com/wenshuo/agent/javassist/convert/Transformer.java
@@ -14,16 +14,16 @@
  * License.
  */
 
-package com.thunisoft.agent.javassist.convert;
-
-import com.thunisoft.agent.javassist.CannotCompileException;
-import com.thunisoft.agent.javassist.CtClass;
-import com.thunisoft.agent.javassist.bytecode.BadBytecode;
-import com.thunisoft.agent.javassist.bytecode.CodeAttribute;
-import com.thunisoft.agent.javassist.bytecode.CodeIterator;
-import com.thunisoft.agent.javassist.bytecode.ConstPool;
-import com.thunisoft.agent.javassist.bytecode.MethodInfo;
-import com.thunisoft.agent.javassist.bytecode.Opcode;
+package com.wenshuo.agent.javassist.convert;
+
+import com.wenshuo.agent.javassist.CannotCompileException;
+import com.wenshuo.agent.javassist.CtClass;
+import com.wenshuo.agent.javassist.bytecode.BadBytecode;
+import com.wenshuo.agent.javassist.bytecode.CodeAttribute;
+import com.wenshuo.agent.javassist.bytecode.CodeIterator;
+import com.wenshuo.agent.javassist.bytecode.ConstPool;
+import com.wenshuo.agent.javassist.bytecode.MethodInfo;
+import com.wenshuo.agent.javassist.bytecode.Opcode;
 
 /**
  * Transformer and its subclasses are used for executing
diff --git a/src/com/thunisoft/agent/javassist/expr/Cast.java b/src/com/wenshuo/agent/javassist/expr/Cast.java
similarity index 95%
rename from src/com/thunisoft/agent/javassist/expr/Cast.java
rename to src/com/wenshuo/agent/javassist/expr/Cast.java
index 960dbbc..2f47ebf 100644
--- a/src/com/thunisoft/agent/javassist/expr/Cast.java
+++ b/src/com/wenshuo/agent/javassist/expr/Cast.java
@@ -14,12 +14,12 @@
  * License.
  */
 
-package com.thunisoft.agent.javassist.expr;
+package com.wenshuo.agent.javassist.expr;
 
-import com.thunisoft.agent.javassist.*;
-import com.thunisoft.agent.javassist.bytecode.*;
-import com.thunisoft.agent.javassist.compiler.*;
-import com.thunisoft.agent.javassist.compiler.ast.ASTList;
+import com.wenshuo.agent.javassist.*;
+import com.wenshuo.agent.javassist.bytecode.*;
+import com.wenshuo.agent.javassist.compiler.*;
+import com.wenshuo.agent.javassist.compiler.ast.ASTList;
 
 /**
  * Explicit type cast.
diff --git a/src/com/thunisoft/agent/javassist/expr/ConstructorCall.java b/src/com/wenshuo/agent/javassist/expr/ConstructorCall.java
similarity index 84%
rename from src/com/thunisoft/agent/javassist/expr/ConstructorCall.java
rename to src/com/wenshuo/agent/javassist/expr/ConstructorCall.java
index d25fb56..b99bddc 100644
--- a/src/com/thunisoft/agent/javassist/expr/ConstructorCall.java
+++ b/src/com/wenshuo/agent/javassist/expr/ConstructorCall.java
@@ -14,14 +14,14 @@
  * License.
  */
 
-package com.thunisoft.agent.javassist.expr;
+package com.wenshuo.agent.javassist.expr;
 
-import com.thunisoft.agent.javassist.CtClass;
-import com.thunisoft.agent.javassist.CtConstructor;
-import com.thunisoft.agent.javassist.CtMethod;
-import com.thunisoft.agent.javassist.NotFoundException;
-import com.thunisoft.agent.javassist.bytecode.CodeIterator;
-import com.thunisoft.agent.javassist.bytecode.MethodInfo;
+import com.wenshuo.agent.javassist.CtClass;
+import com.wenshuo.agent.javassist.CtConstructor;
+import com.wenshuo.agent.javassist.CtMethod;
+import com.wenshuo.agent.javassist.NotFoundException;
+import com.wenshuo.agent.javassist.bytecode.CodeIterator;
+import com.wenshuo.agent.javassist.bytecode.MethodInfo;
 
 /**
  * Constructor call such as this() and super()
diff --git a/src/com/thunisoft/agent/javassist/expr/Expr.java b/src/com/wenshuo/agent/javassist/expr/Expr.java
similarity index 90%
rename from src/com/thunisoft/agent/javassist/expr/Expr.java
rename to src/com/wenshuo/agent/javassist/expr/Expr.java
index e825ec2..6dd56b9 100644
--- a/src/com/thunisoft/agent/javassist/expr/Expr.java
+++ b/src/com/wenshuo/agent/javassist/expr/Expr.java
@@ -14,27 +14,27 @@
  * License.
  */
 
-package com.thunisoft.agent.javassist.expr;
-
-import com.thunisoft.agent.javassist.CannotCompileException;
-import com.thunisoft.agent.javassist.ClassPool;
-import com.thunisoft.agent.javassist.CtBehavior;
-import com.thunisoft.agent.javassist.CtClass;
-import com.thunisoft.agent.javassist.CtConstructor;
-import com.thunisoft.agent.javassist.CtPrimitiveType;
-import com.thunisoft.agent.javassist.NotFoundException;
-import com.thunisoft.agent.javassist.bytecode.AccessFlag;
-import com.thunisoft.agent.javassist.bytecode.BadBytecode;
-import com.thunisoft.agent.javassist.bytecode.Bytecode;
-import com.thunisoft.agent.javassist.bytecode.ClassFile;
-import com.thunisoft.agent.javassist.bytecode.CodeAttribute;
-import com.thunisoft.agent.javassist.bytecode.CodeIterator;
-import com.thunisoft.agent.javassist.bytecode.ConstPool;
-import com.thunisoft.agent.javassist.bytecode.ExceptionTable;
-import com.thunisoft.agent.javassist.bytecode.ExceptionsAttribute;
-import com.thunisoft.agent.javassist.bytecode.MethodInfo;
-import com.thunisoft.agent.javassist.bytecode.Opcode;
-import com.thunisoft.agent.javassist.compiler.Javac;
+package com.wenshuo.agent.javassist.expr;
+
+import com.wenshuo.agent.javassist.CannotCompileException;
+import com.wenshuo.agent.javassist.ClassPool;
+import com.wenshuo.agent.javassist.CtBehavior;
+import com.wenshuo.agent.javassist.CtClass;
+import com.wenshuo.agent.javassist.CtConstructor;
+import com.wenshuo.agent.javassist.CtPrimitiveType;
+import com.wenshuo.agent.javassist.NotFoundException;
+import com.wenshuo.agent.javassist.bytecode.AccessFlag;
+import com.wenshuo.agent.javassist.bytecode.BadBytecode;
+import com.wenshuo.agent.javassist.bytecode.Bytecode;
+import com.wenshuo.agent.javassist.bytecode.ClassFile;
+import com.wenshuo.agent.javassist.bytecode.CodeAttribute;
+import com.wenshuo.agent.javassist.bytecode.CodeIterator;
+import com.wenshuo.agent.javassist.bytecode.ConstPool;
+import com.wenshuo.agent.javassist.bytecode.ExceptionTable;
+import com.wenshuo.agent.javassist.bytecode.ExceptionsAttribute;
+import com.wenshuo.agent.javassist.bytecode.MethodInfo;
+import com.wenshuo.agent.javassist.bytecode.Opcode;
+import com.wenshuo.agent.javassist.compiler.Javac;
 
 import java.util.Iterator;
 import java.util.LinkedList;
diff --git a/src/com/thunisoft/agent/javassist/expr/ExprEditor.java b/src/com/wenshuo/agent/javassist/expr/ExprEditor.java
similarity index 98%
rename from src/com/thunisoft/agent/javassist/expr/ExprEditor.java
rename to src/com/wenshuo/agent/javassist/expr/ExprEditor.java
index afb337b..c4711bd 100644
--- a/src/com/thunisoft/agent/javassist/expr/ExprEditor.java
+++ b/src/com/wenshuo/agent/javassist/expr/ExprEditor.java
@@ -14,11 +14,11 @@
  * License.
  */
 
-package com.thunisoft.agent.javassist.expr;
+package com.wenshuo.agent.javassist.expr;
 
-import com.thunisoft.agent.javassist.bytecode.*;
-import com.thunisoft.agent.javassist.CtClass;
-import com.thunisoft.agent.javassist.CannotCompileException;
+import com.wenshuo.agent.javassist.bytecode.*;
+import com.wenshuo.agent.javassist.CtClass;
+import com.wenshuo.agent.javassist.CannotCompileException;
 
 /**
  * A translator of method bodies.
diff --git a/src/com/thunisoft/agent/javassist/expr/FieldAccess.java b/src/com/wenshuo/agent/javassist/expr/FieldAccess.java
similarity index 97%
rename from src/com/thunisoft/agent/javassist/expr/FieldAccess.java
rename to src/com/wenshuo/agent/javassist/expr/FieldAccess.java
index f4fbd81..523277e 100644
--- a/src/com/thunisoft/agent/javassist/expr/FieldAccess.java
+++ b/src/com/wenshuo/agent/javassist/expr/FieldAccess.java
@@ -14,12 +14,12 @@
  * License.
  */
 
-package com.thunisoft.agent.javassist.expr;
+package com.wenshuo.agent.javassist.expr;
 
-import com.thunisoft.agent.javassist.*;
-import com.thunisoft.agent.javassist.bytecode.*;
-import com.thunisoft.agent.javassist.compiler.*;
-import com.thunisoft.agent.javassist.compiler.ast.ASTList;
+import com.wenshuo.agent.javassist.*;
+import com.wenshuo.agent.javassist.bytecode.*;
+import com.wenshuo.agent.javassist.compiler.*;
+import com.wenshuo.agent.javassist.compiler.ast.ASTList;
 
 /**
  * Expression for accessing a field.
diff --git a/src/com/thunisoft/agent/javassist/expr/Handler.java b/src/com/wenshuo/agent/javassist/expr/Handler.java
similarity index 96%
rename from src/com/thunisoft/agent/javassist/expr/Handler.java
rename to src/com/wenshuo/agent/javassist/expr/Handler.java
index a5e923a..66665c3 100644
--- a/src/com/thunisoft/agent/javassist/expr/Handler.java
+++ b/src/com/wenshuo/agent/javassist/expr/Handler.java
@@ -14,11 +14,11 @@
  * License.
  */
 
-package com.thunisoft.agent.javassist.expr;
+package com.wenshuo.agent.javassist.expr;
 
-import com.thunisoft.agent.javassist.*;
-import com.thunisoft.agent.javassist.bytecode.*;
-import com.thunisoft.agent.javassist.compiler.*;
+import com.wenshuo.agent.javassist.*;
+import com.wenshuo.agent.javassist.bytecode.*;
+import com.wenshuo.agent.javassist.compiler.*;
 
 /**
  * A catch clause or a finally block.
diff --git a/src/com/thunisoft/agent/javassist/expr/Instanceof.java b/src/com/wenshuo/agent/javassist/expr/Instanceof.java
similarity index 95%
rename from src/com/thunisoft/agent/javassist/expr/Instanceof.java
rename to src/com/wenshuo/agent/javassist/expr/Instanceof.java
index 708555f..1ea4ee1 100644
--- a/src/com/thunisoft/agent/javassist/expr/Instanceof.java
+++ b/src/com/wenshuo/agent/javassist/expr/Instanceof.java
@@ -14,12 +14,12 @@
  * License.
  */
 
-package com.thunisoft.agent.javassist.expr;
+package com.wenshuo.agent.javassist.expr;
 
-import com.thunisoft.agent.javassist.*;
-import com.thunisoft.agent.javassist.bytecode.*;
-import com.thunisoft.agent.javassist.compiler.*;
-import com.thunisoft.agent.javassist.compiler.ast.ASTList;
+import com.wenshuo.agent.javassist.*;
+import com.wenshuo.agent.javassist.bytecode.*;
+import com.wenshuo.agent.javassist.compiler.*;
+import com.wenshuo.agent.javassist.compiler.ast.ASTList;
 
 /**
  * Instanceof operator.
diff --git a/src/com/thunisoft/agent/javassist/expr/MethodCall.java b/src/com/wenshuo/agent/javassist/expr/MethodCall.java
similarity index 97%
rename from src/com/thunisoft/agent/javassist/expr/MethodCall.java
rename to src/com/wenshuo/agent/javassist/expr/MethodCall.java
index e167e23..70496b1 100644
--- a/src/com/thunisoft/agent/javassist/expr/MethodCall.java
+++ b/src/com/wenshuo/agent/javassist/expr/MethodCall.java
@@ -14,11 +14,11 @@
  * License.
  */
 
-package com.thunisoft.agent.javassist.expr;
+package com.wenshuo.agent.javassist.expr;
 
-import com.thunisoft.agent.javassist.*;
-import com.thunisoft.agent.javassist.bytecode.*;
-import com.thunisoft.agent.javassist.compiler.*;
+import com.wenshuo.agent.javassist.*;
+import com.wenshuo.agent.javassist.bytecode.*;
+import com.wenshuo.agent.javassist.compiler.*;
 
 /**
  * Method invocation (caller-side expression).
diff --git a/src/com/thunisoft/agent/javassist/expr/NewArray.java b/src/com/wenshuo/agent/javassist/expr/NewArray.java
similarity index 97%
rename from src/com/thunisoft/agent/javassist/expr/NewArray.java
rename to src/com/wenshuo/agent/javassist/expr/NewArray.java
index b5ab72c..1c8f1e6 100644
--- a/src/com/thunisoft/agent/javassist/expr/NewArray.java
+++ b/src/com/wenshuo/agent/javassist/expr/NewArray.java
@@ -14,12 +14,12 @@
  * License.
  */
 
-package com.thunisoft.agent.javassist.expr;
+package com.wenshuo.agent.javassist.expr;
 
-import com.thunisoft.agent.javassist.*;
-import com.thunisoft.agent.javassist.bytecode.*;
-import com.thunisoft.agent.javassist.compiler.*;
-import com.thunisoft.agent.javassist.compiler.ast.ASTList;
+import com.wenshuo.agent.javassist.*;
+import com.wenshuo.agent.javassist.bytecode.*;
+import com.wenshuo.agent.javassist.compiler.*;
+import com.wenshuo.agent.javassist.compiler.ast.ASTList;
 
 /**
  * Array creation.
diff --git a/src/com/thunisoft/agent/javassist/expr/NewExpr.java b/src/com/wenshuo/agent/javassist/expr/NewExpr.java
similarity index 97%
rename from src/com/thunisoft/agent/javassist/expr/NewExpr.java
rename to src/com/wenshuo/agent/javassist/expr/NewExpr.java
index ee4ef3d..e3f1a14 100644
--- a/src/com/thunisoft/agent/javassist/expr/NewExpr.java
+++ b/src/com/wenshuo/agent/javassist/expr/NewExpr.java
@@ -14,12 +14,12 @@
  * License.
  */
 
-package com.thunisoft.agent.javassist.expr;
+package com.wenshuo.agent.javassist.expr;
 
-import com.thunisoft.agent.javassist.*;
-import com.thunisoft.agent.javassist.bytecode.*;
-import com.thunisoft.agent.javassist.compiler.*;
-import com.thunisoft.agent.javassist.compiler.ast.ASTList;
+import com.wenshuo.agent.javassist.*;
+import com.wenshuo.agent.javassist.bytecode.*;
+import com.wenshuo.agent.javassist.compiler.*;
+import com.wenshuo.agent.javassist.compiler.ast.ASTList;
 
 /**
  * Object creation (new expression).
diff --git a/src/com/thunisoft/agent/javassist/expr/package.html b/src/com/wenshuo/agent/javassist/expr/package.html
similarity index 100%
rename from src/com/thunisoft/agent/javassist/expr/package.html
rename to src/com/wenshuo/agent/javassist/expr/package.html
diff --git a/src/com/thunisoft/agent/javassist/package.html b/src/com/wenshuo/agent/javassist/package.html
similarity index 100%
rename from src/com/thunisoft/agent/javassist/package.html
rename to src/com/wenshuo/agent/javassist/package.html
diff --git a/src/com/thunisoft/agent/javassist/runtime/Cflow.java b/src/com/wenshuo/agent/javassist/runtime/Cflow.java
similarity index 97%
rename from src/com/thunisoft/agent/javassist/runtime/Cflow.java
rename to src/com/wenshuo/agent/javassist/runtime/Cflow.java
index 8dc88f3..f2c7b6a 100644
--- a/src/com/thunisoft/agent/javassist/runtime/Cflow.java
+++ b/src/com/wenshuo/agent/javassist/runtime/Cflow.java
@@ -14,7 +14,7 @@
  * License.
  */
 
-package com.thunisoft.agent.javassist.runtime;
+package com.wenshuo.agent.javassist.runtime;
 
 /**
  * A support class for implementing $cflow.
diff --git a/src/com/thunisoft/agent/javassist/runtime/Desc.java b/src/com/wenshuo/agent/javassist/runtime/Desc.java
similarity index 99%
rename from src/com/thunisoft/agent/javassist/runtime/Desc.java
rename to src/com/wenshuo/agent/javassist/runtime/Desc.java
index bbd5344..e8ed8bf 100644
--- a/src/com/thunisoft/agent/javassist/runtime/Desc.java
+++ b/src/com/wenshuo/agent/javassist/runtime/Desc.java
@@ -14,7 +14,7 @@
  * License.
  */
 
-package com.thunisoft.agent.javassist.runtime;
+package com.wenshuo.agent.javassist.runtime;
 
 /**
  * A support class for implementing $sig and
diff --git a/src/com/thunisoft/agent/javassist/runtime/DotClass.java b/src/com/wenshuo/agent/javassist/runtime/DotClass.java
similarity index 95%
rename from src/com/thunisoft/agent/javassist/runtime/DotClass.java
rename to src/com/wenshuo/agent/javassist/runtime/DotClass.java
index 2fd8f96..e3adef4 100644
--- a/src/com/thunisoft/agent/javassist/runtime/DotClass.java
+++ b/src/com/wenshuo/agent/javassist/runtime/DotClass.java
@@ -14,7 +14,7 @@
  * License.
  */
 
-package com.thunisoft.agent.javassist.runtime;
+package com.wenshuo.agent.javassist.runtime;
 
 /**
  * A support class for implementing .class notation.
diff --git a/src/com/thunisoft/agent/javassist/runtime/Inner.java b/src/com/wenshuo/agent/javassist/runtime/Inner.java
similarity index 95%
rename from src/com/thunisoft/agent/javassist/runtime/Inner.java
rename to src/com/wenshuo/agent/javassist/runtime/Inner.java
index da62ea2..e51ab88 100644
--- a/src/com/thunisoft/agent/javassist/runtime/Inner.java
+++ b/src/com/wenshuo/agent/javassist/runtime/Inner.java
@@ -14,7 +14,7 @@
  * License.
  */
 
-package com.thunisoft.agent.javassist.runtime;
+package com.wenshuo.agent.javassist.runtime;
 
 /**
  * A support class for compiling a method declared in an inner class.
diff --git a/src/com/thunisoft/agent/javassist/runtime/package.html b/src/com/wenshuo/agent/javassist/runtime/package.html
similarity index 100%
rename from src/com/thunisoft/agent/javassist/runtime/package.html
rename to src/com/wenshuo/agent/javassist/runtime/package.html
diff --git a/src/com/thunisoft/agent/javassist/scopedpool/ScopedClassPool.java b/src/com/wenshuo/agent/javassist/scopedpool/ScopedClassPool.java
similarity index 96%
rename from src/com/thunisoft/agent/javassist/scopedpool/ScopedClassPool.java
rename to src/com/wenshuo/agent/javassist/scopedpool/ScopedClassPool.java
index 38762c5..ce0dbd8 100644
--- a/src/com/thunisoft/agent/javassist/scopedpool/ScopedClassPool.java
+++ b/src/com/wenshuo/agent/javassist/scopedpool/ScopedClassPool.java
@@ -14,17 +14,17 @@
  * License.
  */
 
-package com.thunisoft.agent.javassist.scopedpool;
+package com.wenshuo.agent.javassist.scopedpool;
 
 import java.lang.ref.WeakReference;
 import java.security.ProtectionDomain;
 import java.util.Iterator;
 import java.util.Map;
-import com.thunisoft.agent.javassist.CannotCompileException;
-import com.thunisoft.agent.javassist.ClassPool;
-import com.thunisoft.agent.javassist.CtClass;
-import com.thunisoft.agent.javassist.LoaderClassPath;
-import com.thunisoft.agent.javassist.NotFoundException;
+import com.wenshuo.agent.javassist.CannotCompileException;
+import com.wenshuo.agent.javassist.ClassPool;
+import com.wenshuo.agent.javassist.CtClass;
+import com.wenshuo.agent.javassist.LoaderClassPath;
+import com.wenshuo.agent.javassist.NotFoundException;
 
 /**
  * A scoped class pool.
diff --git a/src/com/thunisoft/agent/javassist/scopedpool/ScopedClassPoolFactory.java b/src/com/wenshuo/agent/javassist/scopedpool/ScopedClassPoolFactory.java
similarity index 92%
rename from src/com/thunisoft/agent/javassist/scopedpool/ScopedClassPoolFactory.java
rename to src/com/wenshuo/agent/javassist/scopedpool/ScopedClassPoolFactory.java
index bff84dc..2dd05b4 100644
--- a/src/com/thunisoft/agent/javassist/scopedpool/ScopedClassPoolFactory.java
+++ b/src/com/wenshuo/agent/javassist/scopedpool/ScopedClassPoolFactory.java
@@ -14,9 +14,9 @@
  * License.
  */
 
-package com.thunisoft.agent.javassist.scopedpool;
+package com.wenshuo.agent.javassist.scopedpool;
 
-import com.thunisoft.agent.javassist.ClassPool;
+import com.wenshuo.agent.javassist.ClassPool;
 
 /**
  * A factory interface.
diff --git a/src/com/thunisoft/agent/javassist/scopedpool/ScopedClassPoolFactoryImpl.java b/src/com/wenshuo/agent/javassist/scopedpool/ScopedClassPoolFactoryImpl.java
similarity index 93%
rename from src/com/thunisoft/agent/javassist/scopedpool/ScopedClassPoolFactoryImpl.java
rename to src/com/wenshuo/agent/javassist/scopedpool/ScopedClassPoolFactoryImpl.java
index f8040a2..1386fff 100644
--- a/src/com/thunisoft/agent/javassist/scopedpool/ScopedClassPoolFactoryImpl.java
+++ b/src/com/wenshuo/agent/javassist/scopedpool/ScopedClassPoolFactoryImpl.java
@@ -14,9 +14,9 @@
  * License.
  */
 
-package com.thunisoft.agent.javassist.scopedpool;
+package com.wenshuo.agent.javassist.scopedpool;
 
-import com.thunisoft.agent.javassist.ClassPool;
+import com.wenshuo.agent.javassist.ClassPool;
 
 /**
  * An implementation of factory.
diff --git a/src/com/thunisoft/agent/javassist/scopedpool/ScopedClassPoolRepository.java b/src/com/wenshuo/agent/javassist/scopedpool/ScopedClassPoolRepository.java
similarity index 96%
rename from src/com/thunisoft/agent/javassist/scopedpool/ScopedClassPoolRepository.java
rename to src/com/wenshuo/agent/javassist/scopedpool/ScopedClassPoolRepository.java
index 09eecda..4965cff 100644
--- a/src/com/thunisoft/agent/javassist/scopedpool/ScopedClassPoolRepository.java
+++ b/src/com/wenshuo/agent/javassist/scopedpool/ScopedClassPoolRepository.java
@@ -14,11 +14,11 @@
  * License.
  */
 
-package com.thunisoft.agent.javassist.scopedpool;
+package com.wenshuo.agent.javassist.scopedpool;
 
 import java.util.Map;
 
-import com.thunisoft.agent.javassist.ClassPool;
+import com.wenshuo.agent.javassist.ClassPool;
 
 /**
  * An interface to ScopedClassPoolRepositoryImpl.
diff --git a/src/com/thunisoft/agent/javassist/scopedpool/ScopedClassPoolRepositoryImpl.java b/src/com/wenshuo/agent/javassist/scopedpool/ScopedClassPoolRepositoryImpl.java
similarity index 97%
rename from src/com/thunisoft/agent/javassist/scopedpool/ScopedClassPoolRepositoryImpl.java
rename to src/com/wenshuo/agent/javassist/scopedpool/ScopedClassPoolRepositoryImpl.java
index 01dbc09..3f0e5ae 100644
--- a/src/com/thunisoft/agent/javassist/scopedpool/ScopedClassPoolRepositoryImpl.java
+++ b/src/com/wenshuo/agent/javassist/scopedpool/ScopedClassPoolRepositoryImpl.java
@@ -14,7 +14,7 @@
  * License.
  */
 
-package com.thunisoft.agent.javassist.scopedpool;
+package com.wenshuo.agent.javassist.scopedpool;
 
 import java.util.ArrayList;
 import java.util.Collections;
@@ -22,8 +22,8 @@
 import java.util.Map;
 import java.util.WeakHashMap;
 
-import com.thunisoft.agent.javassist.ClassPool;
-import com.thunisoft.agent.javassist.LoaderClassPath;
+import com.wenshuo.agent.javassist.ClassPool;
+import com.wenshuo.agent.javassist.LoaderClassPath;
 
 /**
  * An implementation of ScopedClassPoolRepository.
diff --git a/src/com/thunisoft/agent/javassist/scopedpool/SoftValueHashMap.java b/src/com/wenshuo/agent/javassist/scopedpool/SoftValueHashMap.java
similarity index 99%
rename from src/com/thunisoft/agent/javassist/scopedpool/SoftValueHashMap.java
rename to src/com/wenshuo/agent/javassist/scopedpool/SoftValueHashMap.java
index 1e26612..3743ca6 100644
--- a/src/com/thunisoft/agent/javassist/scopedpool/SoftValueHashMap.java
+++ b/src/com/wenshuo/agent/javassist/scopedpool/SoftValueHashMap.java
@@ -14,7 +14,7 @@
  * License.
  */
 
-package com.thunisoft.agent.javassist.scopedpool;
+package com.wenshuo.agent.javassist.scopedpool;
 
 import java.lang.ref.ReferenceQueue;
 import java.lang.ref.SoftReference;
diff --git a/src/com/thunisoft/agent/javassist/scopedpool/package.html b/src/com/wenshuo/agent/javassist/scopedpool/package.html
similarity index 100%
rename from src/com/thunisoft/agent/javassist/scopedpool/package.html
rename to src/com/wenshuo/agent/javassist/scopedpool/package.html
diff --git a/src/com/thunisoft/agent/javassist/tools/Callback.java b/src/com/wenshuo/agent/javassist/tools/Callback.java
similarity index 97%
rename from src/com/thunisoft/agent/javassist/tools/Callback.java
rename to src/com/wenshuo/agent/javassist/tools/Callback.java
index 7ae9944..56ba4fb 100644
--- a/src/com/thunisoft/agent/javassist/tools/Callback.java
+++ b/src/com/wenshuo/agent/javassist/tools/Callback.java
@@ -14,10 +14,10 @@
  * License.
  */
 
-package com.thunisoft.agent.javassist.tools;
+package com.wenshuo.agent.javassist.tools;
 
-import com.thunisoft.agent.javassist.CannotCompileException;
-import com.thunisoft.agent.javassist.CtBehavior;
+import com.wenshuo.agent.javassist.CannotCompileException;
+import com.wenshuo.agent.javassist.CtBehavior;
 
 import java.util.HashMap;
 import java.util.UUID;
diff --git a/src/com/thunisoft/agent/javassist/tools/Dump.java b/src/com/wenshuo/agent/javassist/tools/Dump.java
similarity index 91%
rename from src/com/thunisoft/agent/javassist/tools/Dump.java
rename to src/com/wenshuo/agent/javassist/tools/Dump.java
index 43e7c51..8a504ee 100644
--- a/src/com/thunisoft/agent/javassist/tools/Dump.java
+++ b/src/com/wenshuo/agent/javassist/tools/Dump.java
@@ -14,11 +14,11 @@
  * License.
  */
 
-package com.thunisoft.agent.javassist.tools;
+package com.wenshuo.agent.javassist.tools;
 
 import java.io.*;
-import com.thunisoft.agent.javassist.bytecode.ClassFile;
-import com.thunisoft.agent.javassist.bytecode.ClassFilePrinter;
+import com.wenshuo.agent.javassist.bytecode.ClassFile;
+import com.wenshuo.agent.javassist.bytecode.ClassFilePrinter;
 
 /**
  * Dump is a tool for viewing the class definition in the given
diff --git a/src/com/thunisoft/agent/javassist/tools/framedump.java b/src/com/wenshuo/agent/javassist/tools/framedump.java
similarity index 88%
rename from src/com/thunisoft/agent/javassist/tools/framedump.java
rename to src/com/wenshuo/agent/javassist/tools/framedump.java
index cd10a7f..623ffc3 100644
--- a/src/com/thunisoft/agent/javassist/tools/framedump.java
+++ b/src/com/wenshuo/agent/javassist/tools/framedump.java
@@ -13,11 +13,11 @@
  * for the specific language governing rights and limitations under the
  * License.
  */
-package com.thunisoft.agent.javassist.tools;
+package com.wenshuo.agent.javassist.tools;
 
-import com.thunisoft.agent.javassist.ClassPool;
-import com.thunisoft.agent.javassist.CtClass;
-import com.thunisoft.agent.javassist.bytecode.analysis.FramePrinter;
+import com.wenshuo.agent.javassist.ClassPool;
+import com.wenshuo.agent.javassist.CtClass;
+import com.wenshuo.agent.javassist.bytecode.analysis.FramePrinter;
 
 /**
  * framedump is a tool for viewing a merged combination of the instructions and frame state
diff --git a/src/com/thunisoft/agent/javassist/tools/package.html b/src/com/wenshuo/agent/javassist/tools/package.html
similarity index 100%
rename from src/com/thunisoft/agent/javassist/tools/package.html
rename to src/com/wenshuo/agent/javassist/tools/package.html
diff --git a/src/com/thunisoft/agent/javassist/tools/reflect/CannotCreateException.java b/src/com/wenshuo/agent/javassist/tools/reflect/CannotCreateException.java
similarity index 94%
rename from src/com/thunisoft/agent/javassist/tools/reflect/CannotCreateException.java
rename to src/com/wenshuo/agent/javassist/tools/reflect/CannotCreateException.java
index d82ef16..de3c782 100644
--- a/src/com/thunisoft/agent/javassist/tools/reflect/CannotCreateException.java
+++ b/src/com/wenshuo/agent/javassist/tools/reflect/CannotCreateException.java
@@ -14,7 +14,7 @@
  * License.
  */
 
-package com.thunisoft.agent.javassist.tools.reflect;
+package com.wenshuo.agent.javassist.tools.reflect;
 
 /**
  * Signals that ClassMetaobject.newInstance() fails.
diff --git a/src/com/thunisoft/agent/javassist/tools/reflect/CannotInvokeException.java b/src/com/wenshuo/agent/javassist/tools/reflect/CannotInvokeException.java
similarity index 97%
rename from src/com/thunisoft/agent/javassist/tools/reflect/CannotInvokeException.java
rename to src/com/wenshuo/agent/javassist/tools/reflect/CannotInvokeException.java
index 587c0b5..7907022 100644
--- a/src/com/thunisoft/agent/javassist/tools/reflect/CannotInvokeException.java
+++ b/src/com/wenshuo/agent/javassist/tools/reflect/CannotInvokeException.java
@@ -14,7 +14,7 @@
  * License.
  */
 
-package com.thunisoft.agent.javassist.tools.reflect;
+package com.wenshuo.agent.javassist.tools.reflect;
 
 import java.lang.reflect.InvocationTargetException;
 import java.lang.IllegalAccessException;
diff --git a/src/com/thunisoft/agent/javassist/tools/reflect/CannotReflectException.java b/src/com/wenshuo/agent/javassist/tools/reflect/CannotReflectException.java
similarity index 91%
rename from src/com/thunisoft/agent/javassist/tools/reflect/CannotReflectException.java
rename to src/com/wenshuo/agent/javassist/tools/reflect/CannotReflectException.java
index 8578200..f2673c9 100644
--- a/src/com/thunisoft/agent/javassist/tools/reflect/CannotReflectException.java
+++ b/src/com/wenshuo/agent/javassist/tools/reflect/CannotReflectException.java
@@ -14,9 +14,9 @@
  * License.
  */
 
-package com.thunisoft.agent.javassist.tools.reflect;
+package com.wenshuo.agent.javassist.tools.reflect;
 
-import com.thunisoft.agent.javassist.CannotCompileException;
+import com.wenshuo.agent.javassist.CannotCompileException;
 
 /**
  * Thrown by makeReflective() in Reflection
diff --git a/src/com/thunisoft/agent/javassist/tools/reflect/ClassMetaobject.java b/src/com/wenshuo/agent/javassist/tools/reflect/ClassMetaobject.java
similarity index 99%
rename from src/com/thunisoft/agent/javassist/tools/reflect/ClassMetaobject.java
rename to src/com/wenshuo/agent/javassist/tools/reflect/ClassMetaobject.java
index f1dd36c..78fb42f 100644
--- a/src/com/thunisoft/agent/javassist/tools/reflect/ClassMetaobject.java
+++ b/src/com/wenshuo/agent/javassist/tools/reflect/ClassMetaobject.java
@@ -14,7 +14,7 @@
  * License.
  */
 
-package com.thunisoft.agent.javassist.tools.reflect;
+package com.wenshuo.agent.javassist.tools.reflect;
 
 import java.lang.reflect.*;
 import java.util.Arrays;
diff --git a/src/com/thunisoft/agent/javassist/tools/reflect/Compiler.java b/src/com/wenshuo/agent/javassist/tools/reflect/Compiler.java
similarity index 97%
rename from src/com/thunisoft/agent/javassist/tools/reflect/Compiler.java
rename to src/com/wenshuo/agent/javassist/tools/reflect/Compiler.java
index a3f9a6a..0953163 100644
--- a/src/com/thunisoft/agent/javassist/tools/reflect/Compiler.java
+++ b/src/com/wenshuo/agent/javassist/tools/reflect/Compiler.java
@@ -14,10 +14,10 @@
  * License.
  */
 
-package com.thunisoft.agent.javassist.tools.reflect;
+package com.wenshuo.agent.javassist.tools.reflect;
 
-import com.thunisoft.agent.javassist.CtClass;
-import com.thunisoft.agent.javassist.ClassPool;
+import com.wenshuo.agent.javassist.CtClass;
+import com.wenshuo.agent.javassist.ClassPool;
 import java.io.PrintStream;
 
 class CompiledClass {
diff --git a/src/com/thunisoft/agent/javassist/tools/reflect/Loader.java b/src/com/wenshuo/agent/javassist/tools/reflect/Loader.java
similarity index 95%
rename from src/com/thunisoft/agent/javassist/tools/reflect/Loader.java
rename to src/com/wenshuo/agent/javassist/tools/reflect/Loader.java
index ae2fe98..4b9d1e3 100644
--- a/src/com/thunisoft/agent/javassist/tools/reflect/Loader.java
+++ b/src/com/wenshuo/agent/javassist/tools/reflect/Loader.java
@@ -14,11 +14,11 @@
  * License.
  */
 
-package com.thunisoft.agent.javassist.tools.reflect;
+package com.wenshuo.agent.javassist.tools.reflect;
 
-import com.thunisoft.agent.javassist.CannotCompileException;
-import com.thunisoft.agent.javassist.NotFoundException;
-import com.thunisoft.agent.javassist.ClassPool;
+import com.wenshuo.agent.javassist.CannotCompileException;
+import com.wenshuo.agent.javassist.NotFoundException;
+import com.wenshuo.agent.javassist.ClassPool;
 
 /**
  * A class loader for reflection.
@@ -107,7 +107,7 @@
  * @see javassist.tools.reflect.Compiler
  * @see javassist.Loader
  */
-public class Loader extends com.thunisoft.agent.javassist.Loader {
+public class Loader extends com.wenshuo.agent.javassist.Loader {
     protected Reflection reflection;
 
     /**
diff --git a/src/com/thunisoft/agent/javassist/tools/reflect/Metalevel.java b/src/com/wenshuo/agent/javassist/tools/reflect/Metalevel.java
similarity index 95%
rename from src/com/thunisoft/agent/javassist/tools/reflect/Metalevel.java
rename to src/com/wenshuo/agent/javassist/tools/reflect/Metalevel.java
index 660397f..d8c1f4a 100644
--- a/src/com/thunisoft/agent/javassist/tools/reflect/Metalevel.java
+++ b/src/com/wenshuo/agent/javassist/tools/reflect/Metalevel.java
@@ -14,7 +14,7 @@
  * License.
  */
 
-package com.thunisoft.agent.javassist.tools.reflect;
+package com.wenshuo.agent.javassist.tools.reflect;
 
 /**
  * An interface to access a metaobject and a class metaobject.
diff --git a/src/com/thunisoft/agent/javassist/tools/reflect/Metaobject.java b/src/com/wenshuo/agent/javassist/tools/reflect/Metaobject.java
similarity index 99%
rename from src/com/thunisoft/agent/javassist/tools/reflect/Metaobject.java
rename to src/com/wenshuo/agent/javassist/tools/reflect/Metaobject.java
index 3596605..f96444e 100644
--- a/src/com/thunisoft/agent/javassist/tools/reflect/Metaobject.java
+++ b/src/com/wenshuo/agent/javassist/tools/reflect/Metaobject.java
@@ -14,7 +14,7 @@
  * License.
  */
 
-package com.thunisoft.agent.javassist.tools.reflect;
+package com.wenshuo.agent.javassist.tools.reflect;
 
 import java.lang.reflect.Method;
 import java.io.Serializable;
diff --git a/src/com/thunisoft/agent/javassist/tools/reflect/Reflection.java b/src/com/wenshuo/agent/javassist/tools/reflect/Reflection.java
similarity index 97%
rename from src/com/thunisoft/agent/javassist/tools/reflect/Reflection.java
rename to src/com/wenshuo/agent/javassist/tools/reflect/Reflection.java
index d65342f..4e2219f 100644
--- a/src/com/thunisoft/agent/javassist/tools/reflect/Reflection.java
+++ b/src/com/wenshuo/agent/javassist/tools/reflect/Reflection.java
@@ -14,14 +14,14 @@
  * License.
  */
 
-package com.thunisoft.agent.javassist.tools.reflect;
+package com.wenshuo.agent.javassist.tools.reflect;
 
 import java.util.Iterator;
-import com.thunisoft.agent.javassist.*;
-import com.thunisoft.agent.javassist.CtMethod.ConstParameter;
-import com.thunisoft.agent.javassist.bytecode.ClassFile;
-import com.thunisoft.agent.javassist.bytecode.BadBytecode;
-import com.thunisoft.agent.javassist.bytecode.MethodInfo;
+import com.wenshuo.agent.javassist.*;
+import com.wenshuo.agent.javassist.CtMethod.ConstParameter;
+import com.wenshuo.agent.javassist.bytecode.ClassFile;
+import com.wenshuo.agent.javassist.bytecode.BadBytecode;
+import com.wenshuo.agent.javassist.bytecode.MethodInfo;
 
 /**
  * The class implementing the behavioral reflection mechanism.
diff --git a/src/com/thunisoft/agent/javassist/tools/reflect/Sample.java b/src/com/wenshuo/agent/javassist/tools/reflect/Sample.java
similarity index 97%
rename from src/com/thunisoft/agent/javassist/tools/reflect/Sample.java
rename to src/com/wenshuo/agent/javassist/tools/reflect/Sample.java
index 579ad7c..9622be5 100644
--- a/src/com/thunisoft/agent/javassist/tools/reflect/Sample.java
+++ b/src/com/wenshuo/agent/javassist/tools/reflect/Sample.java
@@ -14,7 +14,7 @@
  * License.
  */
 
-package com.thunisoft.agent.javassist.tools.reflect;
+package com.wenshuo.agent.javassist.tools.reflect;
 
 /**
  * A template used for defining a reflective class.
diff --git a/src/com/thunisoft/agent/javassist/tools/reflect/package.html b/src/com/wenshuo/agent/javassist/tools/reflect/package.html
similarity index 100%
rename from src/com/thunisoft/agent/javassist/tools/reflect/package.html
rename to src/com/wenshuo/agent/javassist/tools/reflect/package.html
diff --git a/src/com/thunisoft/agent/javassist/tools/rmi/AppletServer.java b/src/com/wenshuo/agent/javassist/tools/rmi/AppletServer.java
similarity index 96%
rename from src/com/thunisoft/agent/javassist/tools/rmi/AppletServer.java
rename to src/com/wenshuo/agent/javassist/tools/rmi/AppletServer.java
index 6f31dc4..4ffcc7a 100644
--- a/src/com/thunisoft/agent/javassist/tools/rmi/AppletServer.java
+++ b/src/com/wenshuo/agent/javassist/tools/rmi/AppletServer.java
@@ -14,14 +14,14 @@
  * License.
  */
 
-package com.thunisoft.agent.javassist.tools.rmi;
+package com.wenshuo.agent.javassist.tools.rmi;
 
 import java.io.*;
 
-import com.thunisoft.agent.javassist.tools.web.*;
-import com.thunisoft.agent.javassist.CannotCompileException;
-import com.thunisoft.agent.javassist.NotFoundException;
-import com.thunisoft.agent.javassist.ClassPool;
+import com.wenshuo.agent.javassist.tools.web.*;
+import com.wenshuo.agent.javassist.CannotCompileException;
+import com.wenshuo.agent.javassist.NotFoundException;
+import com.wenshuo.agent.javassist.ClassPool;
 import java.lang.reflect.Method;
 import java.util.Hashtable;
 import java.util.Vector;
diff --git a/src/com/thunisoft/agent/javassist/tools/rmi/ObjectImporter.java b/src/com/wenshuo/agent/javassist/tools/rmi/ObjectImporter.java
similarity index 99%
rename from src/com/thunisoft/agent/javassist/tools/rmi/ObjectImporter.java
rename to src/com/wenshuo/agent/javassist/tools/rmi/ObjectImporter.java
index c4caee1..776160e 100644
--- a/src/com/thunisoft/agent/javassist/tools/rmi/ObjectImporter.java
+++ b/src/com/wenshuo/agent/javassist/tools/rmi/ObjectImporter.java
@@ -14,7 +14,7 @@
  * License.
  */
 
-package com.thunisoft.agent.javassist.tools.rmi;
+package com.wenshuo.agent.javassist.tools.rmi;
 
 import java.io.*;
 import java.net.*;
diff --git a/src/com/thunisoft/agent/javassist/tools/rmi/ObjectNotFoundException.java b/src/com/wenshuo/agent/javassist/tools/rmi/ObjectNotFoundException.java
similarity index 95%
rename from src/com/thunisoft/agent/javassist/tools/rmi/ObjectNotFoundException.java
rename to src/com/wenshuo/agent/javassist/tools/rmi/ObjectNotFoundException.java
index ca70da9..cc4f801 100644
--- a/src/com/thunisoft/agent/javassist/tools/rmi/ObjectNotFoundException.java
+++ b/src/com/wenshuo/agent/javassist/tools/rmi/ObjectNotFoundException.java
@@ -14,7 +14,7 @@
  * License.
  */
 
-package com.thunisoft.agent.javassist.tools.rmi;
+package com.wenshuo.agent.javassist.tools.rmi;
 
 public class ObjectNotFoundException extends Exception {
     public ObjectNotFoundException(String name) {
diff --git a/src/com/thunisoft/agent/javassist/tools/rmi/Proxy.java b/src/com/wenshuo/agent/javassist/tools/rmi/Proxy.java
similarity index 94%
rename from src/com/thunisoft/agent/javassist/tools/rmi/Proxy.java
rename to src/com/wenshuo/agent/javassist/tools/rmi/Proxy.java
index 8254010..9be28be 100644
--- a/src/com/thunisoft/agent/javassist/tools/rmi/Proxy.java
+++ b/src/com/wenshuo/agent/javassist/tools/rmi/Proxy.java
@@ -14,7 +14,7 @@
  * License.
  */
 
-package com.thunisoft.agent.javassist.tools.rmi;
+package com.wenshuo.agent.javassist.tools.rmi;
 
 /**
  * An interface implemented by proxy classes.
diff --git a/src/com/thunisoft/agent/javassist/tools/rmi/RemoteException.java b/src/com/wenshuo/agent/javassist/tools/rmi/RemoteException.java
similarity index 95%
rename from src/com/thunisoft/agent/javassist/tools/rmi/RemoteException.java
rename to src/com/wenshuo/agent/javassist/tools/rmi/RemoteException.java
index c64d529..9d6a3c7 100644
--- a/src/com/thunisoft/agent/javassist/tools/rmi/RemoteException.java
+++ b/src/com/wenshuo/agent/javassist/tools/rmi/RemoteException.java
@@ -14,7 +14,7 @@
  * License.
  */
 
-package com.thunisoft.agent.javassist.tools.rmi;
+package com.wenshuo.agent.javassist.tools.rmi;
 
 /**
  * RemoteException represents any exception thrown
diff --git a/src/com/thunisoft/agent/javassist/tools/rmi/RemoteRef.java b/src/com/wenshuo/agent/javassist/tools/rmi/RemoteRef.java
similarity index 95%
rename from src/com/thunisoft/agent/javassist/tools/rmi/RemoteRef.java
rename to src/com/wenshuo/agent/javassist/tools/rmi/RemoteRef.java
index 073479a..a35a417 100644
--- a/src/com/thunisoft/agent/javassist/tools/rmi/RemoteRef.java
+++ b/src/com/wenshuo/agent/javassist/tools/rmi/RemoteRef.java
@@ -14,7 +14,7 @@
  * License.
  */
 
-package com.thunisoft.agent.javassist.tools.rmi;
+package com.wenshuo.agent.javassist.tools.rmi;
 
 /**
  * Remote reference.  This class is internally used for sending a remote
diff --git a/src/com/thunisoft/agent/javassist/tools/rmi/Sample.java b/src/com/wenshuo/agent/javassist/tools/rmi/Sample.java
similarity index 96%
rename from src/com/thunisoft/agent/javassist/tools/rmi/Sample.java
rename to src/com/wenshuo/agent/javassist/tools/rmi/Sample.java
index 31f708b..409e959 100644
--- a/src/com/thunisoft/agent/javassist/tools/rmi/Sample.java
+++ b/src/com/wenshuo/agent/javassist/tools/rmi/Sample.java
@@ -14,7 +14,7 @@
  * License.
  */
 
-package com.thunisoft.agent.javassist.tools.rmi;
+package com.wenshuo.agent.javassist.tools.rmi;
 
 /**
  * A template used for defining a proxy class.
diff --git a/src/com/thunisoft/agent/javassist/tools/rmi/StubGenerator.java b/src/com/wenshuo/agent/javassist/tools/rmi/StubGenerator.java
similarity index 98%
rename from src/com/thunisoft/agent/javassist/tools/rmi/StubGenerator.java
rename to src/com/wenshuo/agent/javassist/tools/rmi/StubGenerator.java
index 3745b52..9eaf6bf 100644
--- a/src/com/thunisoft/agent/javassist/tools/rmi/StubGenerator.java
+++ b/src/com/wenshuo/agent/javassist/tools/rmi/StubGenerator.java
@@ -14,12 +14,12 @@
  * License.
  */
 
-package com.thunisoft.agent.javassist.tools.rmi;
+package com.wenshuo.agent.javassist.tools.rmi;
 
-import com.thunisoft.agent.javassist.*;
+import com.wenshuo.agent.javassist.*;
 import java.lang.reflect.Method;
 import java.util.Hashtable;
-import com.thunisoft.agent.javassist.CtMethod.ConstParameter;
+import com.wenshuo.agent.javassist.CtMethod.ConstParameter;
 
 /**
  * A stub-code generator.  It is used for producing a proxy class.
diff --git a/src/com/thunisoft/agent/javassist/tools/rmi/package.html b/src/com/wenshuo/agent/javassist/tools/rmi/package.html
similarity index 100%
rename from src/com/thunisoft/agent/javassist/tools/rmi/package.html
rename to src/com/wenshuo/agent/javassist/tools/rmi/package.html
diff --git a/src/com/thunisoft/agent/javassist/tools/web/BadHttpRequest.java b/src/com/wenshuo/agent/javassist/tools/web/BadHttpRequest.java
similarity index 95%
rename from src/com/thunisoft/agent/javassist/tools/web/BadHttpRequest.java
rename to src/com/wenshuo/agent/javassist/tools/web/BadHttpRequest.java
index 29296a0..93cf67c 100644
--- a/src/com/thunisoft/agent/javassist/tools/web/BadHttpRequest.java
+++ b/src/com/wenshuo/agent/javassist/tools/web/BadHttpRequest.java
@@ -14,7 +14,7 @@
  * License.
  */
 
-package com.thunisoft.agent.javassist.tools.web;
+package com.wenshuo.agent.javassist.tools.web;
 
 /**
  * Thrown when receiving an invalid HTTP request.
diff --git a/src/com/thunisoft/agent/javassist/tools/web/Viewer.java b/src/com/wenshuo/agent/javassist/tools/web/Viewer.java
similarity index 99%
rename from src/com/thunisoft/agent/javassist/tools/web/Viewer.java
rename to src/com/wenshuo/agent/javassist/tools/web/Viewer.java
index f23123f..52d5416 100644
--- a/src/com/thunisoft/agent/javassist/tools/web/Viewer.java
+++ b/src/com/wenshuo/agent/javassist/tools/web/Viewer.java
@@ -14,7 +14,7 @@
  * License.
  */
 
-package com.thunisoft.agent.javassist.tools.web;
+package com.wenshuo.agent.javassist.tools.web;
 
 import java.io.*;
 import java.net.*;
diff --git a/src/com/thunisoft/agent/javassist/tools/web/Webserver.java b/src/com/wenshuo/agent/javassist/tools/web/Webserver.java
similarity index 99%
rename from src/com/thunisoft/agent/javassist/tools/web/Webserver.java
rename to src/com/wenshuo/agent/javassist/tools/web/Webserver.java
index 9dd7e52..5511ef2 100644
--- a/src/com/thunisoft/agent/javassist/tools/web/Webserver.java
+++ b/src/com/wenshuo/agent/javassist/tools/web/Webserver.java
@@ -14,12 +14,12 @@
  * License.
  */
 
-package com.thunisoft.agent.javassist.tools.web;
+package com.wenshuo.agent.javassist.tools.web;
 
 import java.net.*;
 import java.io.*;
 import java.util.Date;
-import com.thunisoft.agent.javassist.*;
+import com.wenshuo.agent.javassist.*;
 
 /**
  * A web server for running sample programs.
diff --git a/src/com/thunisoft/agent/javassist/tools/web/package.html b/src/com/wenshuo/agent/javassist/tools/web/package.html
similarity index 100%
rename from src/com/thunisoft/agent/javassist/tools/web/package.html
rename to src/com/wenshuo/agent/javassist/tools/web/package.html
diff --git a/src/com/thunisoft/agent/javassist/util/HotSwapper.java b/src/com/wenshuo/agent/javassist/util/HotSwapper.java
similarity index 99%
rename from src/com/thunisoft/agent/javassist/util/HotSwapper.java
rename to src/com/wenshuo/agent/javassist/util/HotSwapper.java
index f069132..45836bf 100644
--- a/src/com/thunisoft/agent/javassist/util/HotSwapper.java
+++ b/src/com/wenshuo/agent/javassist/util/HotSwapper.java
@@ -14,7 +14,7 @@
  * License.
  */
 
-package com.thunisoft.agent.javassist.util;
+package com.wenshuo.agent.javassist.util;
 
 import com.sun.jdi.*;
 import com.sun.jdi.connect.*;
diff --git a/src/com/thunisoft/agent/javassist/util/package.html b/src/com/wenshuo/agent/javassist/util/package.html
similarity index 100%
rename from src/com/thunisoft/agent/javassist/util/package.html
rename to src/com/wenshuo/agent/javassist/util/package.html
diff --git a/src/com/thunisoft/agent/javassist/util/proxy/FactoryHelper.java b/src/com/wenshuo/agent/javassist/util/proxy/FactoryHelper.java
similarity index 97%
rename from src/com/thunisoft/agent/javassist/util/proxy/FactoryHelper.java
rename to src/com/wenshuo/agent/javassist/util/proxy/FactoryHelper.java
index d3ad473..02f961e 100644
--- a/src/com/thunisoft/agent/javassist/util/proxy/FactoryHelper.java
+++ b/src/com/wenshuo/agent/javassist/util/proxy/FactoryHelper.java
@@ -14,7 +14,7 @@
  * License.
  */
 
-package com.thunisoft.agent.javassist.util.proxy;
+package com.wenshuo.agent.javassist.util.proxy;
 
 import java.lang.reflect.Method;
 import java.io.BufferedOutputStream;
@@ -25,8 +25,8 @@
 import java.io.IOException;
 import java.security.ProtectionDomain;
 
-import com.thunisoft.agent.javassist.CannotCompileException;
-import com.thunisoft.agent.javassist.bytecode.ClassFile;
+import com.wenshuo.agent.javassist.CannotCompileException;
+import com.wenshuo.agent.javassist.bytecode.ClassFile;
 
 /**
  * A helper class for implementing ProxyFactory.
diff --git a/src/com/thunisoft/agent/javassist/util/proxy/MethodFilter.java b/src/com/wenshuo/agent/javassist/util/proxy/MethodFilter.java
similarity index 95%
rename from src/com/thunisoft/agent/javassist/util/proxy/MethodFilter.java
rename to src/com/wenshuo/agent/javassist/util/proxy/MethodFilter.java
index 798e0bf..4ebe168 100644
--- a/src/com/thunisoft/agent/javassist/util/proxy/MethodFilter.java
+++ b/src/com/wenshuo/agent/javassist/util/proxy/MethodFilter.java
@@ -14,7 +14,7 @@
  * License.
  */
 
-package com.thunisoft.agent.javassist.util.proxy;
+package com.wenshuo.agent.javassist.util.proxy;
 
 import java.lang.reflect.Method;
 
diff --git a/src/com/thunisoft/agent/javassist/util/proxy/MethodHandler.java b/src/com/wenshuo/agent/javassist/util/proxy/MethodHandler.java
similarity index 97%
rename from src/com/thunisoft/agent/javassist/util/proxy/MethodHandler.java
rename to src/com/wenshuo/agent/javassist/util/proxy/MethodHandler.java
index 9bf4f9f..546dc76 100644
--- a/src/com/thunisoft/agent/javassist/util/proxy/MethodHandler.java
+++ b/src/com/wenshuo/agent/javassist/util/proxy/MethodHandler.java
@@ -14,7 +14,7 @@
  * License.
  */
 
-package com.thunisoft.agent.javassist.util.proxy;
+package com.wenshuo.agent.javassist.util.proxy;
 
 import java.lang.reflect.Method;
 
diff --git a/src/com/thunisoft/agent/javassist/util/proxy/Proxy.java b/src/com/wenshuo/agent/javassist/util/proxy/Proxy.java
similarity index 95%
rename from src/com/thunisoft/agent/javassist/util/proxy/Proxy.java
rename to src/com/wenshuo/agent/javassist/util/proxy/Proxy.java
index 5c2909a..3907742 100644
--- a/src/com/thunisoft/agent/javassist/util/proxy/Proxy.java
+++ b/src/com/wenshuo/agent/javassist/util/proxy/Proxy.java
@@ -14,7 +14,7 @@
  * License.
  */
 
-package com.thunisoft.agent.javassist.util.proxy;
+package com.wenshuo.agent.javassist.util.proxy;
 
 /**
  * The interface implemented by proxy classes.
diff --git a/src/com/thunisoft/agent/javassist/util/proxy/ProxyFactory.java b/src/com/wenshuo/agent/javassist/util/proxy/ProxyFactory.java
similarity index 99%
rename from src/com/thunisoft/agent/javassist/util/proxy/ProxyFactory.java
rename to src/com/wenshuo/agent/javassist/util/proxy/ProxyFactory.java
index 520d797..270fc56 100644
--- a/src/com/thunisoft/agent/javassist/util/proxy/ProxyFactory.java
+++ b/src/com/wenshuo/agent/javassist/util/proxy/ProxyFactory.java
@@ -14,7 +14,7 @@
  * License.
  */
 
-package com.thunisoft.agent.javassist.util.proxy;
+package com.wenshuo.agent.javassist.util.proxy;
 
 import java.lang.reflect.Field;
 import java.lang.reflect.InvocationTargetException;
@@ -26,9 +26,9 @@
 import java.util.*;
 import java.lang.ref.WeakReference;
 
-import com.thunisoft.agent.javassist.CannotCompileException;
-import com.thunisoft.agent.javassist.NotFoundException;
-import com.thunisoft.agent.javassist.bytecode.*;
+import com.wenshuo.agent.javassist.CannotCompileException;
+import com.wenshuo.agent.javassist.NotFoundException;
+import com.wenshuo.agent.javassist.bytecode.*;
 
 /*
  * This class is implemented only with the lower-level API of Javassist.
diff --git a/src/com/thunisoft/agent/javassist/util/proxy/ProxyObject.java b/src/com/wenshuo/agent/javassist/util/proxy/ProxyObject.java
similarity index 96%
rename from src/com/thunisoft/agent/javassist/util/proxy/ProxyObject.java
rename to src/com/wenshuo/agent/javassist/util/proxy/ProxyObject.java
index c6a6751..59f8f8b 100644
--- a/src/com/thunisoft/agent/javassist/util/proxy/ProxyObject.java
+++ b/src/com/wenshuo/agent/javassist/util/proxy/ProxyObject.java
@@ -14,7 +14,7 @@
  * License.
  */
 
-package com.thunisoft.agent.javassist.util.proxy;
+package com.wenshuo.agent.javassist.util.proxy;
 
 /**
  * The interface implemented by proxy classes.
diff --git a/src/com/thunisoft/agent/javassist/util/proxy/ProxyObjectInputStream.java b/src/com/wenshuo/agent/javassist/util/proxy/ProxyObjectInputStream.java
similarity index 98%
rename from src/com/thunisoft/agent/javassist/util/proxy/ProxyObjectInputStream.java
rename to src/com/wenshuo/agent/javassist/util/proxy/ProxyObjectInputStream.java
index 8aa351f..ee81e88 100644
--- a/src/com/thunisoft/agent/javassist/util/proxy/ProxyObjectInputStream.java
+++ b/src/com/wenshuo/agent/javassist/util/proxy/ProxyObjectInputStream.java
@@ -14,7 +14,7 @@
  * License.
  */
 
-package com.thunisoft.agent.javassist.util.proxy;
+package com.wenshuo.agent.javassist.util.proxy;
 
 import java.io.IOException;
 import java.io.InputStream;
diff --git a/src/com/thunisoft/agent/javassist/util/proxy/ProxyObjectOutputStream.java b/src/com/wenshuo/agent/javassist/util/proxy/ProxyObjectOutputStream.java
similarity index 98%
rename from src/com/thunisoft/agent/javassist/util/proxy/ProxyObjectOutputStream.java
rename to src/com/wenshuo/agent/javassist/util/proxy/ProxyObjectOutputStream.java
index bef2649..84ac6cb 100644
--- a/src/com/thunisoft/agent/javassist/util/proxy/ProxyObjectOutputStream.java
+++ b/src/com/wenshuo/agent/javassist/util/proxy/ProxyObjectOutputStream.java
@@ -14,7 +14,7 @@
  * License.
  */
 
-package com.thunisoft.agent.javassist.util.proxy;
+package com.wenshuo.agent.javassist.util.proxy;
 
 import java.io.IOException;
 import java.io.ObjectOutputStream;
diff --git a/src/com/thunisoft/agent/javassist/util/proxy/RuntimeSupport.java b/src/com/wenshuo/agent/javassist/util/proxy/RuntimeSupport.java
similarity index 99%
rename from src/com/thunisoft/agent/javassist/util/proxy/RuntimeSupport.java
rename to src/com/wenshuo/agent/javassist/util/proxy/RuntimeSupport.java
index 4c94b6a..9f4bbf5 100644
--- a/src/com/thunisoft/agent/javassist/util/proxy/RuntimeSupport.java
+++ b/src/com/wenshuo/agent/javassist/util/proxy/RuntimeSupport.java
@@ -14,7 +14,7 @@
  * License.
  */
 
-package com.thunisoft.agent.javassist.util.proxy;
+package com.wenshuo.agent.javassist.util.proxy;
 
 import java.lang.reflect.Method;
 import java.io.Serializable;
diff --git a/src/com/thunisoft/agent/javassist/util/proxy/SecurityActions.java b/src/com/wenshuo/agent/javassist/util/proxy/SecurityActions.java
similarity index 99%
rename from src/com/thunisoft/agent/javassist/util/proxy/SecurityActions.java
rename to src/com/wenshuo/agent/javassist/util/proxy/SecurityActions.java
index ed2e9a3..d8e8a77 100644
--- a/src/com/thunisoft/agent/javassist/util/proxy/SecurityActions.java
+++ b/src/com/wenshuo/agent/javassist/util/proxy/SecurityActions.java
@@ -13,7 +13,7 @@
  * for the specific language governing rights and limitations under the
  * License.
  */
-package com.thunisoft.agent.javassist.util.proxy;
+package com.wenshuo.agent.javassist.util.proxy;
 
 import java.lang.reflect.AccessibleObject;
 import java.lang.reflect.Constructor;
diff --git a/src/com/thunisoft/agent/javassist/util/proxy/SerializedProxy.java b/src/com/wenshuo/agent/javassist/util/proxy/SerializedProxy.java
similarity index 98%
rename from src/com/thunisoft/agent/javassist/util/proxy/SerializedProxy.java
rename to src/com/wenshuo/agent/javassist/util/proxy/SerializedProxy.java
index 63601d9..70e6469 100644
--- a/src/com/thunisoft/agent/javassist/util/proxy/SerializedProxy.java
+++ b/src/com/wenshuo/agent/javassist/util/proxy/SerializedProxy.java
@@ -14,7 +14,7 @@
  * License.
  */
 
-package com.thunisoft.agent.javassist.util.proxy;
+package com.wenshuo.agent.javassist.util.proxy;
 
 import java.io.Serializable;
 import java.io.ObjectStreamException;
diff --git a/src/com/thunisoft/agent/javassist/util/proxy/package.html b/src/com/wenshuo/agent/javassist/util/proxy/package.html
similarity index 100%
rename from src/com/thunisoft/agent/javassist/util/proxy/package.html
rename to src/com/wenshuo/agent/javassist/util/proxy/package.html
diff --git a/src/com/thunisoft/agent/log/ExecuteLogUtils.java b/src/com/wenshuo/agent/log/ExecuteLogUtils.java
similarity index 74%
rename from src/com/thunisoft/agent/log/ExecuteLogUtils.java
rename to src/com/wenshuo/agent/log/ExecuteLogUtils.java
index 2f6aef2..9b00887 100644
--- a/src/com/thunisoft/agent/log/ExecuteLogUtils.java
+++ b/src/com/wenshuo/agent/log/ExecuteLogUtils.java
@@ -1,28 +1,30 @@
 /*
- * @(#)ExecuteLogUtils.java 2015-7-27 下午05:57:01 javaagent Copyright 2015 Thuisoft, Inc. All rights reserved. THUNISOFT
+ * @(#)ExecuteLogUtils.java 2015-7-27 下午05:57:01 javaagent Copyright 2015 wenshuo, Inc. All rights reserved. wenshuo
  * PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
  */
-package com.thunisoft.agent.log;
+package com.wenshuo.agent.log;
 
 import java.io.BufferedWriter;
 import java.io.File;
 import java.io.FileOutputStream;
 import java.io.IOException;
 import java.io.OutputStreamWriter;
+import java.io.RandomAccessFile;
 import java.text.ParseException;
 import java.text.SimpleDateFormat;
 import java.util.Calendar;
 import java.util.Date;
 import java.util.Iterator;
 import java.util.Map;
+import java.util.Set;
 import java.util.concurrent.ConcurrentHashMap;
 import java.util.concurrent.ScheduledThreadPoolExecutor;
 import java.util.concurrent.TimeUnit;
 import java.util.concurrent.atomic.AtomicLong;
 
-import com.thunisoft.agent.AgentUtils;
-import com.thunisoft.agent.ConfigUtils;
-import com.thunisoft.agent.NamedThreadFactory;
+import com.wenshuo.agent.AgentUtils;
+import com.wenshuo.agent.ConfigUtils;
+import com.wenshuo.agent.NamedThreadFactory;
 
 /**
  * ExecuteLogUtils
@@ -42,10 +44,7 @@ public class ExecuteLogUtils {
 
     private static ScheduledThreadPoolExecutor counterLogExecutor;
 
-    private static boolean isOutputingLog; // 是否在输出日志,为避免阻塞,第一版处理方案是输出日志时舍弃新的输入
-
-    private static Map> exeuteCounterMap
-        = new ConcurrentHashMap>();
+    private static Map> exeuteCounterMap;
 
     private static final Object executeCounterLock = new Object();
 
@@ -53,14 +52,16 @@ public class ExecuteLogUtils {
 
     private static final String ENCODING = "UTF-8";
 
-    private static long intervalInMillis;
-
     private static boolean isUsingNanoTime = false;
 
     private static boolean logAvgExecuteTime = false;
 
     private static boolean inited = false;
 
+    private ExecuteLogUtils() {
+        super();
+    }
+
     /**
      * 初使化
      *
@@ -74,7 +75,6 @@ public static synchronized void init() {
         logFileName = ConfigUtils.getLogFileName();
         int interval = ConfigUtils.getLogInterval();
         logAvgExecuteTime = ConfigUtils.isLogAvgExecuteTime();
-        intervalInMillis = (long)interval * 1000;
         isUsingNanoTime = ConfigUtils.isUsingNanoTime();
         if (AgentUtils.isBlank(logFileName)) {
             System.err.println("日志文件名为空");
@@ -82,6 +82,7 @@ public static synchronized void init() {
         }
         setNextDateStartTimeMillis();
         initWriter();
+        exeuteCounterMap = new ConcurrentHashMap>();
         startTimemillis = System.currentTimeMillis();
         counterLogExecutor = new ScheduledThreadPoolExecutor(1, new NamedThreadFactory("pool-thread-agent-log", true));
         counterLogExecutor.scheduleWithFixedDelay(new OutputLogRunnable(), interval, interval, TimeUnit.SECONDS);
@@ -89,9 +90,6 @@ public static synchronized void init() {
     }
 
     public static void log(String className, String methodName, long currentTimemillis, long executeTime) {
-        if (isOutputingLog) {
-            return;
-        }
         logExecuteCounter(className, methodName, executeTime);
     }
 
@@ -101,44 +99,36 @@ public static void log(String className, String methodName, long currentTimemill
      * @author dingjsh
      * @time 2015-7-28下午01:35:25
      */
-    public static void outputCounterLog() {
-        isOutputingLog = true;
-        // 如果下次日志记录时间是在第二天,则清空目前exeuteCounterMap的数据
-        boolean needClearLog = System.currentTimeMillis() + intervalInMillis >= nextDayStartTimeMillis;
-
-        writeLog("-----------------------");// 分隔线
-        writeLog("startTime:{" + foramteTimeMillis(startTimemillis) + "}");
-        Iterator>> ite = exeuteCounterMap.entrySet().iterator();
-        while (ite.hasNext()) {
+    public synchronized static void outputCounterLog() throws IOException {
+        Map> exeuteCounterMapInner = exeuteCounterMap;
+        exeuteCounterMap = new ConcurrentHashMap>();
+        String startTime = foramteTimeMillis(startTimemillis);
+        String endTime = foramteTimeMillis(System.currentTimeMillis());
+        long byteLength = removeJSONArrayEndBracket();
+        if (0 == byteLength) {
+            writeLog("[",true, startTimemillis);
+        }
+
+        Set>> entrySet = exeuteCounterMapInner.entrySet();
+        Iterator>> ite = entrySet.iterator();
+        int length = entrySet.size();
+        if (length > 0 && byteLength > 10) { // 说明文件不只是[],json数组中已经有内容
+            writeLog(",", startTimemillis);
+        }
+        for (int index = 0; ite.hasNext(); index++) {
             Map.Entry> entry = ite.next();
             String className = entry.getKey();
             Map method2ExecuteMap = entry.getValue();
-            writeLog("{");
-            writeLog("className:{" + className + "}");
-            Iterator> method2ExecuteIte = method2ExecuteMap.entrySet().iterator();
-            while (method2ExecuteIte.hasNext()) {
-                Map.Entry methodEntry = method2ExecuteIte.next();
-                String methodName = methodEntry.getKey();
-                AtomicLong[] executeCounter = methodEntry.getValue();
-                long counter = executeCounter[0].longValue();
-                long timeInMillis
-                    = isUsingNanoTime ? executeCounter[1].longValue() / 1000000 : executeCounter[1].longValue();
-                String logInfo
-                    = "methodName:{" + methodName + "},counter:{" + counter + "},time:{" + timeInMillis + "}";
-                if (logAvgExecuteTime && counter > 0) {
-                    logInfo += ",avg:{" + (timeInMillis / counter) + "}";
-                }
-                writeLog(logInfo);
+            String methodExecuteJson = MethodExecuteJSONformatter.getMethodExecuteJSON(className, method2ExecuteMap,
+                startTime, endTime, isUsingNanoTime, logAvgExecuteTime);
+            writeLog(methodExecuteJson, startTimemillis);
+            if (index < length - 1) {
+                writeLog(",", true, startTimemillis);
             }
-            writeLog("}");
         }
-        writeLog("endTime:{" + foramteTimeMillis(System.currentTimeMillis()) + "}");
-        flushLog();
-        if (needClearLog) {
-            exeuteCounterMap.clear();
-            startTimemillis = System.currentTimeMillis();
-        }
-        isOutputingLog = false;
+        writeLog("]", true,startTimemillis);
+        flushLogAndClose();
+        startTimemillis = System.currentTimeMillis();
     }
 
     private static void logExecuteCounter(String className, String methodName, long executeTime) {
@@ -185,12 +175,12 @@ private static Map getOrCreateClassExecutesMapping(String
         return methodCounterMap;
     }
 
-    private static void writeLog(String logValue) {
-        writeLog(logValue, true);
+    private static void writeLog(String logValue, long currTimeMillis) {
+        writeLog(logValue, false, currTimeMillis);
     }
 
-    private static void writeLog(String logValue, boolean newLine) {
-        ensureLogFileUpToDate();
+    private static void writeLog(String logValue, boolean newLine, long currTimeMillis) {
+        ensureLogFileUpToDate(currTimeMillis);
         try {
             counterLogWriter.write(logValue);
             if (newLine) {
@@ -202,23 +192,27 @@ private static void writeLog(String logValue, boolean newLine) {
 
     }
 
-    private static void flushLog() {
+    private static void flushLogAndClose() {
         try {
             counterLogWriter.flush();
         } catch (IOException e) {
             System.err.println(e);
+        } finally {
+            AgentUtils.closeQuietly(counterLogWriter);
+            counterLogWriter = null;
         }
     }
 
     /**
      * 确保日志文件没过时,日志文件都会加上日期后缀,如果当前日志文件
      */
-    private static void ensureLogFileUpToDate() {
-        long currTimeMillis = System.currentTimeMillis();
+    private static void ensureLogFileUpToDate(long currTimeMillis) {
         if (currTimeMillis >= nextDayStartTimeMillis) {
             try {
-                counterLogWriter.flush();
-            } catch (IOException e) {
+                if (null != counterLogWriter) {
+                    counterLogWriter.flush();
+                }
+            } catch (Exception e) {
                 System.err.println(e);
             } finally {
                 AgentUtils.closeQuietly(counterLogWriter);
@@ -226,11 +220,15 @@ private static void ensureLogFileUpToDate() {
             initWriter();
             setNextDateStartTimeMillis();
         }
+        if (null == counterLogWriter) {
+            initWriter();
+        }
+
     }
 
     private static void initWriter() {
         try {
-            File logFile = getCounterLogFile(logFileName, true);
+            File logFile = getCounterLogFile(logFileName);
             counterLogWriter = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(logFile, true), ENCODING),
                 BUFFER_SIZE);
         } catch (IOException e) {
@@ -239,7 +237,7 @@ private static void initWriter() {
         }
     }
 
-    private static File getCounterLogFile(String logFileName, boolean appendDate) throws IOException {
+    private static File getCounterLogFile(String logFileName) throws IOException {
 
         String logFileNameWithDate = getCurrDateString();
         int lastIndexOfDot = logFileName.lastIndexOf('.');
@@ -280,9 +278,6 @@ private static String getCurrDateString() {
      * 由开始日期转换为开始时间,一般在以时间为条件的查询中使用
      */
     private static Date date2StartTime(Date date) {
-        if (date == null) {
-            return null;
-        }
         SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
         String dateStr = sdf.format(date);
         Date startTime = null;
@@ -311,4 +306,19 @@ private static String foramteTimeMillis(long timeMillis) {
         SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
         return sdf.format(date);
     }
-}
+
+    private static long removeJSONArrayEndBracket() throws IOException {
+        File logFile = getCounterLogFile(logFileName);
+        RandomAccessFile f = new RandomAccessFile(logFile.getAbsolutePath(), "rw");
+        long length = f.length();
+        byte b = -1;
+        while (b != 93 && length > 0) {
+            length -= 1;
+            f.seek(length);
+            b = f.readByte();
+        }
+        f.setLength(length);
+        f.close();
+        return length;
+    }
+}
\ No newline at end of file
diff --git a/src/com/wenshuo/agent/log/MethodExecuteJSONformatter.java b/src/com/wenshuo/agent/log/MethodExecuteJSONformatter.java
new file mode 100644
index 0000000..a35225a
--- /dev/null
+++ b/src/com/wenshuo/agent/log/MethodExecuteJSONformatter.java
@@ -0,0 +1,75 @@
+package com.wenshuo.agent.log;
+
+import java.util.Iterator;
+import java.util.Map;
+import java.util.concurrent.atomic.AtomicLong;
+
+/**
+ * 
+ * MethodExecuteJSONformatter
+ * 
+ * @description 2.0.0
+ * @author dingjsh
+ * @date 2018年8月22日 下午8:07:01
+ * @version 2.0.0
+ */
+class MethodExecuteJSONformatter {
+
+    /**
+     * 
+     * MethodExecuteJSONformatter
+     * 
+     * @description 将方法执行监控数据格式化为json string
+     * @param className 类名
+     * @param method2ExecuteMap Map<方法名, AtomicLong[]> 数组第一个是执行次数,第二个是执行时间
+     * @param startTime 统计周期的开始时间,格式为 yyyy-MM-dd HH:mm:ss
+     * @param endTime 统计周期的结束时间,格式为 yyyy-MM-dd HH:mm:ss
+     * @return 格式化后的json string
+     * @author dingjsh
+     * @date 2018年8月22日 下午8:49:18
+     * @version 2.0.0
+     */
+    public static String getMethodExecuteJSON(String className, Map method2ExecuteMap,
+        String startTime, String endTime, boolean isUsingNanoTime, boolean logAvgExecuteTime) {
+        StringBuilder json = new StringBuilder("{");
+        appendString(json, "class", className).append(",");
+        appendString(json, "start", startTime).append(",");
+        appendString(json, "end", endTime).append(",");
+        appendKey(json, "methods").append("[");
+        Iterator> method2ExecuteIte = method2ExecuteMap.entrySet().iterator();
+        while (method2ExecuteIte.hasNext()) {
+            Map.Entry methodEntry = method2ExecuteIte.next();
+            String methodName = methodEntry.getKey();
+            AtomicLong[] executeCounter = methodEntry.getValue();
+            long counter = executeCounter[0].longValue();
+            long timeInMillis
+                = isUsingNanoTime ? executeCounter[1].longValue() / 1000000 : executeCounter[1].longValue();
+            json.append("{");
+            appendString(json, "name", methodName).append(",");
+            appendLong(json, "counter", counter).append(",");
+            appendLong(json, "time", timeInMillis);
+            if (logAvgExecuteTime && counter > 0) {
+                json.append(",");
+                appendLong(json, "avg", timeInMillis / counter);
+            }
+            json.append("},");
+        }
+        if (json.charAt(json.length() - 1) == ',') {
+            json.deleteCharAt(json.length() - 1);
+        }
+        json.append("]}");
+        return json.toString();
+    }
+
+    private static StringBuilder appendString(StringBuilder jsonBuilder, String key, String value) {
+        return appendKey(jsonBuilder, key).append("\"").append(value).append("\"");
+    }
+
+    private static StringBuilder appendLong(StringBuilder jsonBuilder, String key, long value) {
+        return appendKey(jsonBuilder, key).append(value);
+    }
+
+    private static StringBuilder appendKey(StringBuilder jsonBuilder, String key) {
+        return jsonBuilder.append("\"").append(key).append("\":");
+    }
+}
diff --git a/src/com/thunisoft/agent/log/OutputLogRunnable.java b/src/com/wenshuo/agent/log/OutputLogRunnable.java
similarity index 75%
rename from src/com/thunisoft/agent/log/OutputLogRunnable.java
rename to src/com/wenshuo/agent/log/OutputLogRunnable.java
index 050ba25..3a08620 100644
--- a/src/com/thunisoft/agent/log/OutputLogRunnable.java
+++ b/src/com/wenshuo/agent/log/OutputLogRunnable.java
@@ -1,10 +1,10 @@
 /*
  * @(#)OutputLogRunnable.java	2015-7-28 下午03:27:20
  * javaagent
- * Copyright 2015 Thuisoft, Inc. All rights reserved.
- * THUNISOFT PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
+ * Copyright 2015 wenshuo, Inc. All rights reserved.
+ * wenshuo PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
  */
-package com.thunisoft.agent.log;
+package com.wenshuo.agent.log;
 
 /**
  * OutputLogRunnable
diff --git a/src/com/thunisoft/agent/transformer/ThunisoftClassFileTransformer.java b/src/com/wenshuo/agent/transformer/AgentLogClassFileTransformer.java
similarity index 81%
rename from src/com/thunisoft/agent/transformer/ThunisoftClassFileTransformer.java
rename to src/com/wenshuo/agent/transformer/AgentLogClassFileTransformer.java
index 31de547..3eaf15d 100644
--- a/src/com/thunisoft/agent/transformer/ThunisoftClassFileTransformer.java
+++ b/src/com/wenshuo/agent/transformer/AgentLogClassFileTransformer.java
@@ -1,8 +1,4 @@
-/*
- * @(#)ThunisoftClassFileTransformer.java 2015-7-24 上午09:53:44 javaagent Copyright 2015 Thuisoft, Inc. All rights
- * reserved. THUNISOFT PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
- */
-package com.thunisoft.agent.transformer;
+package com.wenshuo.agent.transformer;
 
 import java.io.IOException;
 import java.lang.instrument.ClassFileTransformer;
@@ -12,28 +8,28 @@
 import java.util.Set;
 import java.util.regex.Pattern;
 
-import com.thunisoft.agent.javassist.CannotCompileException;
-import com.thunisoft.agent.javassist.ClassPool;
-import com.thunisoft.agent.javassist.CtClass;
-import com.thunisoft.agent.javassist.CtMethod;
-import com.thunisoft.agent.javassist.LoaderClassPath;
-import com.thunisoft.agent.javassist.Modifier;
-import com.thunisoft.agent.javassist.NotFoundException;
+import com.wenshuo.agent.javassist.CannotCompileException;
+import com.wenshuo.agent.javassist.ClassPool;
+import com.wenshuo.agent.javassist.CtClass;
+import com.wenshuo.agent.javassist.CtMethod;
+import com.wenshuo.agent.javassist.LoaderClassPath;
+import com.wenshuo.agent.javassist.Modifier;
+import com.wenshuo.agent.javassist.NotFoundException;
 
-import com.thunisoft.agent.ConfigUtils;
-import com.thunisoft.agent.PojoDetector;
+import com.wenshuo.agent.ConfigUtils;
+import com.wenshuo.agent.PojoDetector;
 
 /**
- * ThunisoftClassFileTransformer
+ * AgentLogClassFileTransformer 类增强,增加agent日志
  * 
  * @author dingjsh
  * @time 2015-7-24上午09:53:44
  */
-public class ThunisoftClassFileTransformer implements ClassFileTransformer {
+public class AgentLogClassFileTransformer implements ClassFileTransformer {
 
-    private static final String LOG_UTILS = "com.thunisoft.agent.log.ExecuteLogUtils";
+    private static final String LOG_UTILS = "com.wenshuo.agent.log.ExecuteLogUtils";
 
-    private static final String AGENT_PACKAGE_NAME = "com.thunisoft.agent";
+    private static final String AGENT_PACKAGE_NAME = "com.wenshuo.agent";
 
     /*
      * (non-Javadoc)
@@ -109,9 +105,8 @@ private void aopLog(String className, CtMethod m) throws CannotCompileException
 
         // 避免变量名重复
         m.addLocalVariable("dingjsh_javaagent_elapsedTime", CtClass.longType);
-        m.insertBefore("dingjsh_javaagent_elapsedTime = "+timeMethodStr+";");
-        m.insertAfter(
-            "dingjsh_javaagent_elapsedTime = "+timeMethodStr+" - dingjsh_javaagent_elapsedTime;");
+        m.insertBefore("dingjsh_javaagent_elapsedTime = " + timeMethodStr + ";");
+        m.insertAfter("dingjsh_javaagent_elapsedTime = " + timeMethodStr + " - dingjsh_javaagent_elapsedTime;");
         m.insertAfter(LOG_UTILS + ".log(" + aopClassName + ",\"" + m.getName()
             + "\",java.lang.System.currentTimeMillis(),(long)dingjsh_javaagent_elapsedTime" + ");");
     }
diff --git a/src/props/agent.properties b/src/props/agent.properties
index 1c354c8..7d62605 100644
--- a/src/props/agent.properties
+++ b/src/props/agent.properties
@@ -1,22 +1,16 @@
-#the default packages that you don't want to monitor,multi config separated by semicolon 
-# such as tomcat,jre's method
-agent.exclude.package.default=com.thunisoft.tas
-#the  packages that you don't want to monitor,multi config separated by semicolon 
+#\u9700\u8981\u76d1\u63a7\u7684\u5305\uff0c\u591a\u4e2a\u5305\u7528\u5206\u53f7\u5206\u9694
+agent.include.package=com.XXX
+#\u4e0d\u9700\u8981\u76d1\u63a7\u7684\u5305\uff0c\u591a\u4e2a\u5305\u7528\u5206\u53f7\u5206\u9694\u3002 \u9700\u8981\u76d1\u63a7\u7684\u5305-\u4e0d\u9700\u8981\u76d1\u63a7\u7684\u5305\u5c31\u662f\u771f\u6b63\u8981\u76d1\u63a7\u7684\u5305
 agent.exclude.package=
-#the packages you want to monitor,the agent only monitor the packages and subpackages thar configed in here,
-#multi config separated by semicolon 
-agent.include.package=com.thunisoft
-#the log file name,it will add current date automatically
+#\u65e5\u5fd7\u6587\u4ef6\uff0c\u4f1a\u81ea\u52a8\u589e\u52a0\u65e5\u671f\u540e\u7f00
 agent.log.file=d\:\\agent.log
-#how much seconds per time do the log output
+#\u65e5\u5fd7\u8f93\u51fa\u5468\u671f
 agent.log.interval.seconds=600
-#the class name't regex pattern that you don't want to monitor
+#\u4e0d\u9700\u8981\u76d1\u63a7\u7684\u7c7b\u7684\u6b63\u5219\u8868\u8fbe\u5f0f
 agent.exclude.class.regex=
-#do you want to calculate the avg execute time
+#\u662f\u5426\u8bb0\u5f55\u5e73\u5747\u65f6\u95f4
 agent.log.avg.execute.time=false
-#the default class name't regex pattern that you don't want to monitor
+#\u9ed8\u8ba4\u4e0d\u9700\u8981\u76d1\u63a7\u7684\u7c7b\u7684\u6b63\u5219\u8868\u8fbe\u5f0f
 agent.exclude.class.regex.default=.*EnhancerByCGLIB.*;.*FastClassByCGLIB.*
-
-agent.pojo.monitor.open=false
 #\u8bb0\u5f55\u65b9\u6cd5\u7684\u8017\u65f6\u65f6\u662f\u91c7\u7528nanoTime,\u8fd8\u662fcurrentTimeMillis,nanoTime\u66f4\u51c6\u786e\uff0c\u4f46\u662f\u4f1a\u8017\u65f6\u4e00\u4e9b
-agent.log.nano=false
+agent.log.nano=true
diff --git a/test/com/thunisoft/agent/test/TestCtMethod.java b/test/com/wenshuo/agent/test/TestCtMethod.java
similarity index 77%
rename from test/com/thunisoft/agent/test/TestCtMethod.java
rename to test/com/wenshuo/agent/test/TestCtMethod.java
index e2df8fe..ecca591 100644
--- a/test/com/thunisoft/agent/test/TestCtMethod.java
+++ b/test/com/wenshuo/agent/test/TestCtMethod.java
@@ -1,4 +1,4 @@
-package com.thunisoft.agent.test;
+package com.wenshuo.agent.test;
 
 import java.util.Arrays;
 import java.util.List;
@@ -6,11 +6,11 @@
 import org.junit.Assert;
 import org.junit.Test;
 
-import com.thunisoft.agent.javassist.ClassPool;
-import com.thunisoft.agent.javassist.CtClass;
-import com.thunisoft.agent.javassist.CtMethod;
-import com.thunisoft.agent.javassist.Modifier;
-import com.thunisoft.agent.javassist.NotFoundException;
+import com.wenshuo.agent.javassist.ClassPool;
+import com.wenshuo.agent.javassist.CtClass;
+import com.wenshuo.agent.javassist.CtMethod;
+import com.wenshuo.agent.javassist.Modifier;
+import com.wenshuo.agent.javassist.NotFoundException;
 
 public class TestCtMethod {
     
@@ -19,7 +19,7 @@ public class TestCtMethod {
     @Test
     public void staticMethodTest() throws NotFoundException{
         ClassPool cp = ClassPool.getDefault();
-        CtClass ctClass = cp.get("com.thunisoft.agent.test.TestCtMethod");
+        CtClass ctClass = cp.get("com.wenshuo.agent.test.TestCtMethod");
         CtMethod[] ctMethods = ctClass.getDeclaredMethods();
         for(CtMethod ctMethod : ctMethods){
             String methodName = ctMethod.getName();