论坛
BBS
空间测绘
发表
发布文章
提问答疑
搜索
您还未登录
登录后即可体验更多功能
立即登录
我的收藏
提问答疑
我要投稿
IOT
[15815] 2020-09-05_手把手教你自定义实现一个npmaudit
文档创建者:
s7ckTeam
浏览次数:
4
最后更新:
2025-01-18
IOT
4 人阅读
|
0 人回复
s7ckTeam
s7ckTeam
当前离线
积分
-54
6万
主题
-6万
回帖
-54
积分
管理员
积分
-54
发消息
2020-09-05_手把手教你自定义实现一个npmaudit
手
把
手
教
你
自
定
义
实
现
一
个
n
p
m
a
u
d
i
t
n
i
g
h
t
m
a
r
e
l
e
e
F
r
e
e
B
u
f
2
0
2
0
-
0
9
-
0
5
代
码
库
地
址
:
h
t
t
p
s
:
/
/
g
i
t
h
u
b
.
c
o
m
/
b
l
a
c
k
a
r
b
i
t
e
r
/
n
o
d
e
-
d
e
p
-
a
u
d
i
t
n
p
m
包
地
址
:
h
t
t
p
s
:
/
/
w
w
w
.
n
p
m
j
s
.
c
o
m
/
p
a
c
k
a
g
e
/
n
o
d
e
-
d
e
p
-
a
u
d
i
t
1
.
问
题
问
题
n
p
m
a
u
d
i
t
命
令
可
以
帮
助
检
测
项
目
的
依
赖
包
是
否
存
在
已
知
的
漏
洞
,
漏
洞
库
来
源
:
S
e
c
u
r
i
t
y
a
d
v
i
s
o
r
i
e
s
。
当
希
望
将
依
赖
组
件
漏
洞
纳
入
S
A
S
T
漏
洞
扫
描
范
围
时
,
通
常
的
想
法
是
通
过
执
行
n
p
m
a
u
d
i
t
命
令
以
获
取
相
关
的
结
果
。
但
是
执
行
的
时
候
往
往
或
出
现
下
面
的
错
误
。
而
且
使
用
n
p
m
a
u
d
i
t
不
能
控
制
依
赖
的
深
度
,
返
回
的
结
果
为
所
有
深
度
的
依
赖
项
目
。
2
.
解
决
问
题
解
决
问
题
如
果
想
要
自
定
义
实
现
一
套
自
己
的
n
p
m
a
u
d
i
t
,
需
要
解
决
哪
些
问
题
呢
?
我
觉
得
有
如
下
几
个
问
题
需
要
解
决
:
如
何
获
取
漏
洞
库
?
从
p
a
c
k
a
g
e
.
j
s
o
n
中
解
析
一
级
依
赖
。
根
据
p
a
c
k
a
g
e
-
l
o
c
k
.
j
s
o
n
解
析
并
生
成
依
赖
树
。
从
依
赖
树
中
生
成
依
赖
链
。
判
断
当
前
引
用
版
本
是
否
存
在
问
题
。
2
.
1
漏
洞
库
获
取
漏
洞
库
获
取
同
n
p
m
a
u
d
i
t
一
样
,
我
们
使
用
S
e
c
u
r
i
t
y
a
d
v
i
s
o
r
i
e
s
d
的
漏
洞
库
,
该
漏
洞
库
可
以
直
接
通
过
相
关
的
接
口
获
取
,
只
是
在
h
e
a
d
e
r
头
中
需
要
设
置
“
’
x
-
s
p
i
f
e
r
a
c
k
’
:
‘
1
’
”
,
这
里
不
再
赘
述
,
部
分
代
码
如
下
。
c
o
n
s
t
r
u
n
=
(
)
=
>
{
c
o
n
s
t
a
u
d
i
t
C
o
m
m
a
n
d
=
'
n
p
m
a
u
d
i
t
-
-
r
e
g
i
s
t
r
y
=
h
t
t
p
s
:
/
/
r
.
c
n
p
m
j
s
.
o
r
g
/
-
-
a
u
d
i
t
-
l
e
v
e
l
=
h
i
g
h
-
-
p
r
o
d
u
c
t
i
o
n
-
-
j
s
o
n
'
;
c
o
n
s
t
e
x
e
c
O
p
t
i
o
n
s
=
{
m
a
x
B
u
f
f
e
r
:
1
0
*
1
0
2
4
*
1
0
2
4
}
;
e
x
e
c
(
a
u
d
i
t
C
o
m
m
a
n
d
,
e
x
e
c
O
p
t
i
o
n
s
,
f
u
n
c
t
i
o
n
(
e
r
r
o
r
,
s
t
d
o
u
t
,
s
t
d
e
r
r
)
{
i
f
(
e
r
r
o
r
!
=
=
n
u
l
l
)
{
c
o
n
s
o
l
e
.
l
o
g
(
'
e
x
e
c
e
r
r
o
r
:
'
+
e
r
r
o
r
)
;
r
e
t
u
r
n
;
}
i
f
(
s
t
d
o
u
t
)
{
c
o
n
s
o
l
e
.
l
o
g
(
s
t
d
o
u
t
)
;
}
}
)
;
}
e
x
e
c
e
r
r
o
r
:
E
r
r
o
r
:
C
o
m
m
a
n
d
f
a
i
l
e
d
:
n
p
m
a
u
d
i
t
-
-
r
e
g
i
s
t
r
y
=
h
t
t
p
s
:
/
/
r
.
c
n
p
m
j
s
.
o
r
g
/
-
-
a
u
d
i
t
-
l
e
v
e
l
=
h
i
g
h
-
-
p
r
o
d
u
c
t
i
o
n
-
-
j
s
o
n
c
o
n
s
t
r
e
s
u
l
t
=
a
w
a
i
t
a
x
i
o
s
.
g
e
t
(
b
a
s
e
_
u
r
l
+
'
?
p
a
g
e
=
'
+
p
a
g
e
N
u
m
.
t
o
S
t
r
i
n
g
(
)
+
'
&
p
e
r
P
a
g
e
=
'
+
p
e
r
P
a
g
e
N
u
m
.
t
o
S
t
r
i
n
g
(
)
,
{
h
e
a
d
e
r
s
:
{
'
x
-
r
e
q
u
e
s
t
e
d
-
w
i
t
h
'
:
'
X
M
L
H
t
t
p
R
e
q
u
e
s
t
'
,
2
.
2
p
a
c
k
a
g
e
.
j
s
o
n
解
析
解
析
由
于
p
a
c
k
a
g
e
.
j
s
o
n
是
一
个
j
s
o
n
文
件
,
可
以
直
接
读
取
文
件
内
容
,
然
后
通
过
J
S
O
N
.
p
a
r
s
e
(
)
方
法
获
取
相
关
的
j
s
o
n
数
据
,
并
从
d
e
p
e
n
d
e
n
c
i
e
s
,
d
e
v
D
e
p
e
n
d
e
n
c
i
e
s
中
提
取
出
相
关
的
一
级
依
赖
。
2
.
3
由
由
p
a
c
k
a
g
e
-
l
o
c
k
.
j
s
o
n
构
建
依
赖
树
构
建
依
赖
树
熟
悉
p
a
c
k
a
g
e
-
l
o
c
k
.
j
s
o
n
文
件
结
构
的
应
该
清
楚
,
该
文
件
会
列
出
项
目
所
有
的
依
赖
项
,
包
括
间
接
依
赖
,
直
至
该
相
关
的
依
赖
项
不
再
有
依
赖
项
为
止
,
因
此
该
文
件
对
构
建
项
目
的
整
体
依
赖
树
非
常
便
利
。
首
先
定
义
依
赖
树
的
节
点
,
如
下
所
示
,
节
点
中
各
数
据
的
含
义
解
释
见
注
释
。
然
后
在
具
体
定
义
树
的
结
构
及
相
关
添
加
元
素
、
遍
历
等
方
法
,
如
下
所
示
,
相
关
说
明
见
注
解
。
'
x
-
r
e
q
u
e
s
t
e
d
-
w
i
t
h
'
:
'
X
M
L
H
t
t
p
R
e
q
u
e
s
t
'
,
'
x
-
s
p
i
f
e
r
a
c
k
'
:
'
1
'
,
}
,
}
)
;
c
o
n
s
t
d
a
t
a
_
j
s
o
n
=
r
e
s
u
l
t
.
d
a
t
a
;
t
o
t
a
l
_
n
u
m
=
d
a
t
a
_
j
s
o
n
.
a
d
v
i
s
o
r
i
e
s
D
a
t
a
.
t
o
t
a
l
;
c
o
n
s
t
o
b
j
e
c
t
s
=
d
a
t
a
_
j
s
o
n
.
a
d
v
i
s
o
r
i
e
s
D
a
t
a
.
o
b
j
e
c
t
s
;
f
u
n
c
t
i
o
n
D
e
n
p
e
n
d
e
n
c
y
N
o
d
e
(
n
a
m
e
,
v
e
r
s
i
o
n
,
v
u
l
I
n
d
e
x
=
-
1
,
i
s
D
e
v
=
f
a
l
s
e
)
{
/
/
节
点
的
唯
一
标
示
,
方
便
增
加
节
点
时
快
速
寻
找
父
节
点
t
h
i
s
.
i
d
e
n
t
i
f
y
=
g
e
t
M
d
5
(
M
a
t
h
.
r
a
n
d
o
m
(
)
.
t
o
S
t
r
i
n
g
(
)
)
;
/
/
当
前
节
点
的
深
度
t
h
i
s
.
d
e
e
p
=
0
;
/
/
依
赖
包
的
名
称
t
h
i
s
.
n
a
m
e
=
n
a
m
e
;
/
/
依
赖
包
的
版
本
号
t
h
i
s
.
v
e
r
s
i
o
n
=
v
e
r
s
i
o
n
;
/
/
与
2
.
1
的
漏
洞
库
对
应
,
方
便
判
断
该
节
点
是
否
存
在
漏
洞
t
h
i
s
.
v
u
l
I
n
d
e
x
=
v
u
l
I
n
d
e
x
;
/
/
是
否
为
测
试
依
赖
项
目
t
h
i
s
.
i
s
D
e
v
=
i
s
D
e
v
;
/
/
父
节
点
t
h
i
s
.
p
a
r
e
n
t
=
n
u
l
l
;
/
/
子
节
点
列
表
t
h
i
s
.
c
h
i
l
d
r
e
n
=
[
]
;
}
/
/
一
般
通
过
一
个
空
的
根
节
点
初
始
化
整
颗
树
f
u
n
c
t
i
o
n
D
e
n
p
e
n
d
e
n
c
y
T
r
e
e
(
n
a
m
e
,
v
e
r
s
i
o
n
)
{
l
e
t
d
e
n
p
e
n
d
e
n
c
y
N
o
d
e
=
n
e
w
D
e
n
p
e
n
d
e
n
c
y
N
o
d
e
(
n
a
m
e
,
v
e
r
s
i
o
n
)
;
t
h
i
s
.
_
r
o
o
t
=
d
e
n
p
e
n
d
e
n
c
y
N
o
d
e
;
}
/
/
深
度
优
先
遍
历
,
可
以
通
过
定
义
c
a
l
l
b
a
c
k
函
数
来
执
行
特
定
操
作
,
如
提
取
漏
洞
依
赖
链
D
e
n
p
e
n
d
e
n
c
y
T
r
e
e
.
p
r
o
t
o
t
y
p
e
.
t
r
a
v
e
r
s
e
D
F
=
f
u
n
c
t
i
o
n
(
c
a
l
l
b
a
c
k
)
{
(
f
u
n
c
t
i
o
n
r
e
c
u
r
s
e
(
c
u
r
r
e
n
t
N
o
d
e
)
{
f
o
r
(
l
e
t
i
=
0
,
{
l
e
n
g
t
h
}
=
c
u
r
r
e
n
t
N
o
d
e
.
c
h
i
l
d
r
e
n
;
i
<
l
e
n
g
t
h
;
i
+
+
)
{
r
e
c
u
r
s
e
(
c
u
r
r
e
n
t
N
o
d
e
.
c
h
i
l
d
r
e
n
[
i
]
)
;
}
c
a
l
l
b
a
c
k
(
c
u
r
r
e
n
t
N
o
d
e
)
;
}
)
(
t
h
i
s
.
_
r
o
o
t
)
;
}
;
/
/
检
测
是
否
包
含
某
个
节
点
D
e
n
p
e
n
d
e
n
c
y
T
r
e
e
.
p
r
o
t
o
t
y
p
e
.
c
o
n
t
a
i
n
s
=
f
u
n
c
t
i
o
n
(
c
a
l
l
b
a
c
k
,
t
r
a
v
e
r
s
a
l
)
{
t
r
a
v
e
r
s
a
l
.
c
a
l
l
(
t
h
i
s
,
c
a
l
l
b
a
c
k
)
;
}
;
/
/
添
加
元
素
,
通
过
节
点
的
唯
一
标
识
i
d
e
n
t
i
f
y
来
找
到
父
节
点
D
e
n
p
e
n
d
e
n
c
y
T
r
e
e
.
p
r
o
t
o
t
y
p
e
.
a
d
d
=
f
u
n
c
t
i
o
n
(
n
a
m
e
,
v
e
r
s
i
o
n
,
v
u
l
I
n
d
e
x
,
i
s
D
e
v
,
t
o
I
d
e
n
t
i
f
y
,
t
r
a
v
e
r
s
a
l
)
{
l
e
t
c
h
i
l
d
=
n
e
w
D
e
n
p
e
n
d
e
n
c
y
N
o
d
e
(
n
a
m
e
,
v
e
r
s
i
o
n
,
v
u
l
I
n
d
e
x
,
i
s
D
e
v
)
;
l
e
t
p
a
r
e
n
t
=
n
u
l
l
;
l
e
t
c
a
l
l
b
a
c
k
=
f
u
n
c
t
i
o
n
(
n
o
d
e
)
{
i
f
(
n
o
d
e
.
i
d
e
n
t
i
f
y
=
=
=
t
o
I
d
e
n
t
i
f
y
)
{
p
a
r
e
n
t
=
n
o
d
e
;
}
在
构
建
树
的
过
程
中
有
一
点
必
须
注
意
,
就
是
对
树
的
深
度
进
行
限
制
,
当
某
个
节
点
超
过
限
定
的
深
度
时
,
则
停
止
添
加
子
节
点
,
如
果
不
进
行
限
制
则
可
能
造
成
死
循
环
,
根
据
实
际
测
试
的
时
间
,
建
议
深
度
设
置
为
3
。
2
.
4
生
成
依
赖
链
生
成
依
赖
链
生
成
依
赖
链
可
以
通
过
t
r
a
v
e
r
s
e
D
F
方
法
中
定
义
的
c
a
l
l
b
a
c
k
函
数
实
现
,
对
树
进
行
遍
历
,
当
某
个
节
点
的
v
u
l
I
n
d
e
x
大
于
-
1
时
,
表
明
该
节
点
存
在
漏
洞
,
则
遍
历
获
取
该
节
点
的
父
节
点
,
直
至
父
节
点
为
根
节
点
为
止
,
从
而
构
建
出
整
条
依
赖
链
。
2
.
5
漏
洞
版
本
判
断
漏
洞
版
本
判
断
漏
洞
的
判
断
直
接
将
依
赖
的
版
本
与
漏
洞
版
本
进
行
判
断
,
这
个
判
断
个
人
觉
得
大
多
是
是
正
确
的
,
但
是
仍
然
有
小
部
分
判
断
存
在
问
题
,
所
以
如
果
大
家
有
更
好
的
判
断
方
法
,
欢
迎
告
知
。
}
;
t
h
i
s
.
c
o
n
t
a
i
n
s
(
c
a
l
l
b
a
c
k
,
t
r
a
v
e
r
s
a
l
)
;
i
f
(
p
a
r
e
n
t
)
{
p
a
r
e
n
t
.
c
h
i
l
d
r
e
n
.
p
u
s
h
(
c
h
i
l
d
)
;
c
h
i
l
d
.
p
a
r
e
n
t
=
p
a
r
e
n
t
;
c
h
i
l
d
.
d
e
e
p
=
p
a
r
e
n
t
.
d
e
e
p
+
1
;
}
e
l
s
e
{
t
h
r
o
w
n
e
w
E
r
r
o
r
(
'
C
a
n
n
o
t
a
d
d
n
o
d
e
t
o
a
n
o
n
-
e
x
i
s
t
e
n
t
p
a
r
e
n
t
.
'
)
;
}
r
e
t
u
r
n
[
c
h
i
l
d
.
i
d
e
n
t
i
f
y
,
c
h
i
l
d
.
d
e
e
p
]
;
}
;
d
e
C
o
n
s
t
r
u
c
t
D
e
n
p
e
n
d
e
n
c
y
T
r
e
e
(
r
e
s
u
l
t
s
)
{
/
/
所
有
的
依
赖
链
c
o
n
s
t
d
e
p
e
n
d
e
n
c
y
_
l
i
s
t
s
=
[
]
;
c
o
n
s
t
d
e
n
p
e
n
d
e
n
c
y
T
r
e
e
=
r
e
s
u
l
t
s
[
'
d
e
n
p
e
n
d
e
n
c
y
T
r
e
e
'
]
;
d
e
n
p
e
n
d
e
n
c
y
T
r
e
e
.
t
r
a
v
e
r
s
e
D
F
(
n
o
d
e
=
>
{
i
f
(
n
o
d
e
.
v
u
l
I
n
d
e
x
>
-
1
)
{
l
e
t
_
l
i
s
t
=
[
]
;
w
h
i
l
e
(
n
o
d
e
.
p
a
r
e
n
t
)
{
_
l
i
s
t
.
p
u
s
h
(
n
o
d
e
)
;
n
o
d
e
=
n
o
d
e
.
p
a
r
e
n
t
;
}
d
e
p
e
n
d
e
n
c
y
_
l
i
s
t
s
.
p
u
s
h
(
_
l
i
s
t
)
;
}
}
)
;
r
e
s
u
l
t
s
[
'
d
e
p
e
n
d
e
n
c
y
L
i
s
t
s
'
]
=
d
e
p
e
n
d
e
n
c
y
_
l
i
s
t
s
;
}
c
o
n
s
t
v
u
l
n
e
r
a
b
l
e
_
v
e
r
s
i
o
n
=
'
>
=
0
.
2
.
1
<
1
.
0
.
0
|
|
>
=
1
.
2
.
3
'
;
c
o
n
s
o
l
e
.
l
o
g
(
i
n
n
e
r
J
u
d
g
e
(
'
0
.
0
.
8
'
,
v
u
l
n
e
r
a
b
l
e
_
v
e
r
s
i
o
n
)
)
;
f
u
n
c
t
i
o
n
i
n
n
e
r
J
u
d
g
e
(
p
k
V
e
r
s
i
o
n
,
v
u
l
n
e
r
a
b
l
e
_
v
e
r
s
i
o
n
)
{
c
o
n
s
t
v
_
l
i
s
t
s
=
v
u
l
n
e
r
a
b
l
e
_
v
e
r
s
i
o
n
.
s
p
l
i
t
(
'
|
|
'
)
.
m
a
p
(
(
k
e
y
)
=
>
{
c
o
n
s
t
i
i
_
l
i
s
t
=
k
e
y
.
t
r
i
m
(
)
.
s
p
l
i
t
(
'
'
)
.
m
a
p
(
(
k
e
y
)
=
>
{
r
e
t
u
r
n
k
e
y
.
t
r
i
m
(
)
;
}
)
;
r
e
t
u
r
n
i
i
_
l
i
s
t
;
}
)
;
l
e
t
f
i
n
a
l
_
i
s
_
v
u
l
=
f
a
l
s
e
;
c
o
n
s
t
s
i
n
g
l
e
_
s
y
m
b
o
l
=
[
'
>
'
,
'
>
=
'
,
'
<
'
,
'
<
=
'
,
'
~
'
]
;
f
o
r
(
c
o
n
s
t
v
_
l
i
s
t
o
f
v
_
l
i
s
t
s
)
{
l
e
t
j
u
d
e
g
e
_
l
i
s
t
=
[
]
;
l
e
t
l
a
s
t
_
i
n
d
e
x
=
0
;
f
o
r
(
l
e
t
i
=
0
;
i
<
v
_
l
i
s
t
.
l
e
n
g
t
h
;
i
+
+
)
{
c
o
n
s
t
_
i
t
e
m
=
v
_
l
i
s
t
[
i
]
;
i
f
(
(
_
i
t
e
m
!
=
'
*
'
)
&
&
(
s
i
n
g
l
e
_
s
y
m
b
o
l
.
i
n
d
e
x
O
f
(
_
i
t
e
m
.
s
u
b
s
t
r
i
n
g
(
0
,
2
)
)
=
=
-
1
)
&
&
(
s
i
n
g
l
e
_
s
y
m
b
o
l
.
i
n
d
e
x
O
f
(
_
i
t
e
m
.
s
u
b
s
t
r
i
n
g
(
0
,
1
)
)
=
=
-
1
)
&
&
(
_
i
t
e
m
.
t
r
i
m
(
)
!
=
'
'
)
)
{
l
e
t
_
s
s
t
=
'
'
;
f
o
r
(
l
e
t
j
=
l
a
s
t
_
i
n
d
e
x
;
j
<
=
i
;
j
+
+
)
{
_
s
s
t
=
`
$
{
_
s
s
t
.
t
r
i
m
(
)
}
$
{
v
_
l
i
s
t
[
j
]
.
t
r
i
m
(
)
}
`
;
}
j
u
d
e
g
e
_
l
i
s
t
.
p
u
s
h
(
_
s
s
t
)
;
l
a
s
t
_
i
n
d
e
x
=
i
+
1
;
}
e
l
s
e
i
f
(
s
i
n
g
l
e
_
s
y
m
b
o
l
.
i
n
d
e
x
O
f
(
_
i
t
e
m
)
=
=
-
1
&
&
_
i
t
e
m
.
t
r
i
m
(
)
!
=
'
'
)
{
j
u
d
e
g
e
_
l
i
s
t
.
p
u
s
h
(
_
i
t
e
m
)
;
}
e
l
s
e
i
f
(
_
i
t
e
m
=
=
'
*
'
&
&
_
i
t
e
m
.
t
r
i
m
(
)
!
=
'
'
)
{
j
u
d
e
g
e
_
l
i
s
t
.
p
u
s
h
(
_
i
t
e
m
)
;
}
}
i
f
(
j
u
d
e
g
e
_
l
i
s
t
.
l
e
n
g
t
h
=
=
0
)
{
j
u
d
e
g
e
_
l
i
s
t
=
v
_
l
i
s
t
;
}
/
/
c
o
n
s
o
l
e
.
l
o
g
(
v
_
l
i
s
t
)
;
/
/
c
o
n
s
o
l
e
.
l
o
g
(
j
u
d
e
g
e
_
l
i
s
t
)
;
/
/
c
o
n
s
o
l
e
.
l
o
g
(
'
-
-
-
-
-
-
-
-
-
-
-
-
'
)
;
l
e
t
i
s
_
v
u
l
=
f
a
l
s
e
;
s
w
i
t
c
h
(
j
u
d
e
g
e
_
l
i
s
t
.
l
e
n
g
t
h
)
{
c
a
s
e
1
:
i
s
_
v
u
l
=
s
i
n
g
l
e
J
u
d
g
e
(
p
k
V
e
r
s
i
o
n
,
j
u
d
e
g
e
_
l
i
s
t
[
0
]
)
;
b
r
e
a
k
;
c
a
s
e
2
:
i
s
_
v
u
l
=
s
i
n
g
l
e
J
u
d
g
e
(
p
k
V
e
r
s
i
o
n
,
j
u
d
e
g
e
_
l
i
s
t
[
0
]
)
&
&
s
i
n
g
l
e
J
u
d
g
e
(
p
k
V
e
r
s
i
o
n
,
j
u
d
e
g
e
_
l
i
s
t
[
1
]
)
;
b
r
e
a
k
;
d
e
f
a
u
l
t
:
c
o
n
s
o
l
e
.
l
o
g
(
'
I
m
p
o
s
s
i
b
l
e
a
r
r
a
y
l
e
n
g
t
h
.
'
,
j
u
d
e
g
e
_
l
i
s
t
)
;
b
r
e
a
k
;
}
i
f
(
i
s
_
v
u
l
)
{
f
i
n
a
l
_
i
s
_
v
u
l
=
i
s
_
v
u
l
;
b
r
e
a
k
;
}
}
r
e
t
u
r
n
f
i
n
a
l
_
i
s
_
v
u
l
;
}
f
u
n
c
t
i
o
n
s
i
n
g
l
e
J
u
d
g
e
(
p
k
V
e
r
s
i
o
n
,
_
v
)
{
l
e
t
i
s
_
v
u
l
=
f
a
l
s
e
;
i
f
(
_
v
=
=
'
*
'
)
{
i
s
_
v
u
l
=
t
r
u
e
;
}
e
l
s
e
i
f
(
_
v
.
i
n
d
e
x
O
f
(
'
~
'
)
=
=
0
)
{
i
f
(
p
k
V
e
r
s
i
o
n
.
i
n
d
e
x
O
f
(
_
v
.
s
u
b
s
t
r
i
n
g
(
1
)
)
=
=
0
)
{
i
s
_
v
u
l
=
t
r
u
e
;
}
}
e
l
s
e
i
f
(
_
v
.
i
n
d
e
x
O
f
(
'
<
=
'
)
=
=
0
)
{
i
f
(
p
k
V
e
r
s
i
o
n
<
=
_
v
.
s
u
b
s
t
r
i
n
g
(
2
)
)
{
i
s
_
v
u
l
=
t
r
u
e
;
}
3
.
测
试
示
例
测
试
示
例
}
e
l
s
e
i
f
(
_
v
.
i
n
d
e
x
O
f
(
'
<
'
)
=
=
0
)
{
i
f
(
p
k
V
e
r
s
i
o
n
<
_
v
.
s
u
b
s
t
r
i
n
g
(
1
)
)
{
i
s
_
v
u
l
=
t
r
u
e
;
}
}
e
l
s
e
i
f
(
_
v
.
i
n
d
e
x
O
f
(
'
>
=
'
)
=
=
0
)
{
i
f
(
p
k
V
e
r
s
i
o
n
>
=
_
v
.
s
u
b
s
t
r
i
n
g
(
2
)
)
{
i
s
_
v
u
l
=
t
r
u
e
;
}
}
e
l
s
e
i
f
(
_
v
.
i
n
d
e
x
O
f
(
'
>
'
)
=
=
0
)
{
i
f
(
p
k
V
e
r
s
i
o
n
>
_
v
.
s
u
b
s
t
r
i
n
g
(
1
)
)
{
i
s
_
v
u
l
=
t
r
u
e
;
}
}
r
e
t
u
r
n
i
s
_
v
u
l
;
}
S
t
a
r
t
p
u
l
l
s
e
c
u
r
i
t
y
a
d
v
i
s
o
r
i
e
s
.
D
a
t
a
p
u
l
l
p
r
o
g
r
e
s
s
:
6
.
9
9
7
%
D
a
t
a
p
u
l
l
p
r
o
g
r
e
s
s
:
1
3
.
9
9
%
D
a
t
a
p
u
l
l
p
r
o
g
r
e
s
s
:
2
0
.
9
9
%
D
a
t
a
p
u
l
l
p
r
o
g
r
e
s
s
:
2
7
.
9
9
%
D
a
t
a
p
u
l
l
p
r
o
g
r
e
s
s
:
3
4
.
9
8
%
D
a
t
a
p
u
l
l
p
r
o
g
r
e
s
s
:
4
1
.
9
8
%
D
a
t
a
p
u
l
l
p
r
o
g
r
e
s
s
:
4
8
.
9
8
%
D
a
t
a
p
u
l
l
p
r
o
g
r
e
s
s
:
5
5
.
9
8
%
D
a
t
a
p
u
l
l
p
r
o
g
r
e
s
s
:
6
2
.
9
8
%
D
a
t
a
p
u
l
l
p
r
o
g
r
e
s
s
:
6
9
.
9
7
%
D
a
t
a
p
u
l
l
p
r
o
g
r
e
s
s
:
7
6
.
9
7
%
D
a
t
a
p
u
l
l
p
r
o
g
r
e
s
s
:
8
3
.
9
7
%
D
a
t
a
p
u
l
l
p
r
o
g
r
e
s
s
:
9
0
.
9
7
%
D
a
t
a
p
u
l
l
p
r
o
g
r
e
s
s
:
9
7
.
9
7
%
D
a
t
a
p
u
l
l
p
r
o
g
r
e
s
s
:
1
0
0
%
E
n
d
.
S
e
c
u
r
i
t
y
a
d
v
i
s
o
r
i
e
s
s
i
z
e
1
4
2
9
.
C
o
n
s
u
m
e
t
i
m
e
:
1
8
.
7
3
4
s
.
S
t
a
r
t
g
e
t
b
a
s
e
d
e
p
e
n
d
e
n
c
i
e
s
b
y
p
a
c
k
a
g
e
.
j
s
o
n
.
F
i
l
e
p
a
t
h
:
/
p
a
t
h
/
t
o
/
p
a
c
k
a
g
e
.
j
s
o
n
E
n
d
.
C
o
n
s
u
m
e
t
i
m
e
:
1
8
.
8
7
9
s
.
S
t
a
r
t
c
o
n
s
t
r
u
c
t
d
e
p
e
n
d
e
n
c
y
t
r
e
e
b
y
p
a
c
k
a
g
e
-
l
o
c
k
.
j
s
o
n
.
L
o
c
k
f
i
l
e
p
a
t
h
:
/
p
a
t
h
/
t
o
/
p
a
c
k
a
g
e
-
l
o
c
k
.
j
s
o
n
M
a
x
d
e
p
e
n
d
e
n
c
y
d
e
e
p
i
s
3
E
n
d
.
C
o
n
s
u
m
e
t
i
m
e
:
0
.
9
0
2
9
9
9
9
9
9
9
9
9
9
9
8
7
s
.
S
t
a
r
t
g
e
n
e
r
a
t
e
d
e
p
e
n
d
e
n
c
y
l
i
s
t
s
.
E
n
d
.
G
e
n
e
r
a
t
e
2
2
3
d
e
p
e
n
d
e
n
c
y
l
i
s
t
.
C
o
n
s
u
m
e
t
i
m
e
0
s
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
R
e
s
u
l
t
S
i
z
e
:
2
2
3
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
S
e
v
e
r
i
t
y
:
l
o
w
P
a
c
k
a
g
e
:
m
i
n
i
m
i
s
t
V
e
r
s
i
o
n
:
0
.
0
.
8
V
u
l
n
e
r
a
b
l
e
V
e
r
s
i
o
n
:
<
0
.
2
.
1
|
|
>
=
1
.
0
.
0
<
1
.
2
.
3
P
a
t
c
h
e
d
V
s
e
r
s
i
o
n
:
>
=
0
.
2
.
1
<
1
.
0
.
0
|
|
>
=
1
.
2
.
3
D
e
p
e
n
d
e
n
c
y
P
a
t
h
:
m
k
d
i
r
p
>
m
i
n
i
m
i
s
t
D
e
v
:
f
a
l
s
e
4
.
问
题
及
后
续
优
化
问
题
及
后
续
优
化
目
前
该
工
具
基
本
实
现
了
n
p
m
a
u
d
i
t
的
功
能
,
当
遍
历
深
度
不
深
时
,
时
间
是
还
是
可
以
接
受
的
,
但
是
算
法
的
总
体
效
率
还
是
偏
低
,
后
续
将
对
整
个
依
赖
树
构
建
算
法
进
行
针
对
性
优
化
。
精
彩
推
荐
精
彩
推
荐
阅
读
原
文
D
e
v
:
f
a
l
s
e
M
o
r
e
I
n
f
o
:
h
t
t
p
s
:
/
/
w
w
w
.
n
p
m
j
s
.
c
o
m
/
a
d
v
i
s
o
r
i
e
s
/
1
1
7
9
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
.
.
.
.
.
.
.
回复
举报
上一个主题
下一个主题
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
本版积分规则
发表回复
!disable!!post_parseurl!
使用Markdown编辑器编辑
使用富文本编辑器编辑
回帖后跳转到最后一页