论坛
BBS
空间测绘
发表
发布文章
提问答疑
搜索
您还未登录
登录后即可体验更多功能
立即登录
我的收藏
提问答疑
我要投稿
云安全
[8515] 2014-12-22_揭秘:从内部源码看Facebook技术(第一集)
文档创建者:
s7ckTeam
浏览次数:
3
最后更新:
2025-01-17
云安全
3 人阅读
|
0 人回复
s7ckTeam
s7ckTeam
当前离线
积分
-54
6万
主题
-6万
回帖
-54
积分
管理员
积分
-54
发消息
2014-12-22_揭秘:从内部源码看Facebook技术(第一集)
揭
秘
:
从
内
部
源
码
看
F
a
c
e
b
o
o
k
技
术
(
第
一
集
)
F
r
e
e
B
u
f
2
0
1
4
-
1
2
-
2
2
W
a
r
n
i
n
g
本
文
中
所
有
代
码
都
是
通
过
合
法
途
径
获
得
。
写
在
前
面
写
在
前
面
我
是
一
名
铁
杆
F
a
c
e
b
o
o
k
粉
丝
。
F
a
c
e
b
o
o
k
为
开
源
社
区
贡
献
了
许
多
力
量
,
经
常
开
放
他
们
内
部
的
软
件
。
比
如
P
h
a
b
r
i
c
a
t
o
r
,
l
i
b
p
h
u
t
i
l
,
以
及
X
H
P
都
是
不
错
的
好
东
西
。
P
h
a
b
r
i
c
a
t
o
r
是
F
a
c
e
b
o
o
k
开
发
的
可
视
化
代
码
审
查
工
具
。
工
程
师
可
以
在
页
面
上
非
常
方
便
的
针
对
每
一
段
(
单
行
或
者
多
行
)
代
码
进
行
交
互
讨
论
。
负
责
审
查
的
工
程
师
可
以
接
受
代
码
改
变
,
可
以
提
出
疑
问
要
求
原
作
者
继
续
修
改
。
曾
经
有
段
时
间
我
对
曾
经
有
段
时
间
我
对
P
h
a
b
r
i
c
a
t
o
r
和
和
X
H
P
(
一
个
(
一
个
P
H
P
扩
展
)
进
行
了
优
化
研
究
,
却
意
外
发
现
了
许
多
有
关
扩
展
)
进
行
了
优
化
研
究
,
却
意
外
发
现
了
许
多
有
关
F
a
c
e
b
o
o
k
的
内
部
资
料
。
的
内
部
资
料
。
意
外
的
发
现
意
外
的
发
现
大
概
是
2
0
1
3
年
6
月
份
左
右
,
那
时
我
已
经
在
使
用
P
h
a
b
r
i
c
a
t
o
r
修
复
b
u
g
了
。
如
果
我
没
有
记
错
的
话
,
P
h
a
b
r
i
c
a
t
o
r
程
序
当
时
是
返
回
了
一
个
P
h
u
t
i
l
B
o
o
t
l
o
a
d
e
r
E
x
c
e
p
t
i
o
n
错
误
信
息
。
当
时
我
并
不
知
道
当
时
我
并
不
知
道
P
h
a
b
r
i
c
a
t
o
r
是
怎
么
运
行
的
,
于
是
就
是
怎
么
运
行
的
,
于
是
就
G
o
o
g
l
e
查
询
了
下
错
误
信
息
查
询
了
下
错
误
信
息
…
…
就
跟
你
想
的
一
样
,
我
获
得
了
源
代
码
以
及
一
些
参
考
链
接
,
其
中
有
一
个
链
接
十
分
抢
眼
就
跟
你
想
的
一
样
,
我
获
得
了
源
代
码
以
及
一
些
参
考
链
接
,
其
中
有
一
个
链
接
十
分
抢
眼
—
—
一
个
一
个
P
a
s
t
e
b
i
n
(
一
个
轻
量
(
一
个
轻
量
级
的
文
本
分
享
工
具
)
分
享
链
接
,
里
面
有
级
的
文
本
分
享
工
具
)
分
享
链
接
,
里
面
有
F
a
c
e
b
o
o
k
很
多
的
内
部
数
据
。
很
多
的
内
部
数
据
。
当
然
,
这
引
起
了
我
的
兴
趣
,
下
面
就
是
我
的
发
现
当
然
,
这
引
起
了
我
的
兴
趣
,
下
面
就
是
我
的
发
现
.
.
.
[
e
m
i
r
@
d
e
v
3
0
0
3
~
/
d
e
v
t
o
o
l
s
/
l
i
b
p
h
u
t
i
l
]
a
r
c
d
i
f
f
-
-
t
r
a
c
e
>
>
>
[
0
]
<
c
o
n
d
u
i
t
>
c
o
n
d
u
i
t
.
c
o
n
n
e
c
t
(
)
<
<
<
[
0
]
<
c
o
n
d
u
i
t
>
9
8
,
1
7
2
u
s
>
>
>
[
1
]
<
e
x
e
c
>
$
(
c
d
&
'
/
h
o
m
e
/
e
m
i
r
/
d
e
v
t
o
o
l
s
/
l
i
b
p
h
u
t
i
l
&
'
;
g
i
t
r
e
v
-
p
a
r
s
e
-
-
s
h
o
w
-
c
d
u
p
)
<
<
<
[
1
]
<
e
x
e
c
>
1
3
,
6
2
9
u
s
>
>
>
[
2
]
<
e
x
e
c
>
$
(
c
d
&
'
/
h
o
m
e
/
e
m
i
r
/
d
e
v
t
o
o
l
s
/
l
i
b
p
h
u
t
i
l
/
&
'
;
g
i
t
r
e
v
-
p
a
r
s
e
-
-
v
e
r
i
f
y
H
E
A
D
^
)
<
<
<
[
2
]
<
e
x
e
c
>
1
7
,
0
2
4
u
s
>
>
>
[
3
]
<
e
x
e
c
>
$
(
c
d
&
'
/
h
o
m
e
/
e
m
i
r
/
d
e
v
t
o
o
l
s
/
l
i
b
p
h
u
t
i
l
/
&
'
;
g
i
t
d
i
f
f
-
-
n
o
-
e
x
t
-
d
i
f
f
-
-
n
o
-
t
e
x
t
c
o
n
v
-
-
r
a
w
&
'
H
E
A
D
^
&
'
-
-
)
>
>
>
[
4
]
<
e
x
e
c
>
$
(
c
d
&
'
/
h
o
m
e
/
e
m
i
r
/
d
e
v
t
o
o
l
s
/
l
i
b
p
h
u
t
i
l
/
&
'
;
g
i
t
d
i
f
f
-
-
n
o
-
e
x
t
-
d
i
f
f
-
-
n
o
-
t
e
x
t
c
o
n
v
-
-
r
a
w
H
E
A
D
-
-
)
>
>
>
[
5
]
<
e
x
e
c
>
$
(
c
d
&
'
/
h
o
m
e
/
e
m
i
r
/
d
e
v
t
o
o
l
s
/
l
i
b
p
h
u
t
i
l
/
&
'
;
g
i
t
l
s
-
f
i
l
e
s
-
-
o
t
h
e
r
s
-
-
e
x
c
l
u
d
e
-
s
t
a
n
d
a
r
d
)
>
>
>
[
6
]
<
e
x
e
c
>
$
(
c
d
&
'
/
h
o
m
e
/
e
m
i
r
/
d
e
v
t
o
o
l
s
/
l
i
b
p
h
u
t
i
l
/
&
'
;
g
i
t
l
s
-
f
i
l
e
s
-
m
)
<
<
<
[
5
]
<
e
x
e
c
>
7
3
,
0
0
4
u
s
<
<
<
[
6
]
<
e
x
e
c
>
7
4
,
0
8
4
u
s
<
<
<
[
4
]
<
e
x
e
c
>
7
7
,
9
0
7
u
s
<
<
<
[
3
]
<
e
x
e
c
>
8
0
,
6
0
6
u
s
>
>
>
[
7
]
<
e
x
e
c
>
$
(
c
d
&
'
/
h
o
m
e
/
e
m
i
r
/
d
e
v
t
o
o
l
s
/
l
i
b
p
h
u
t
i
l
/
&
'
;
g
i
t
l
o
g
-
-
f
i
r
s
t
-
p
a
r
e
n
t
-
-
f
o
r
m
a
t
=
m
e
d
i
u
m
&
'
H
E
A
D
^
&
'
.
.
H
E
A
D
)
<
<
<
[
7
]
<
e
x
e
c
>
1
6
,
3
9
0
u
s
>
>
>
[
8
]
<
c
o
n
d
u
i
t
>
d
i
f
f
e
r
e
n
t
i
a
l
.
p
a
r
s
e
c
o
m
m
i
t
m
e
s
s
a
g
e
(
)
<
<
<
[
8
]
<
c
o
n
d
u
i
t
>
1
0
6
,
6
3
1
u
s
L
i
n
t
i
n
g
.
.
.
>
>
>
[
9
]
<
e
x
e
c
>
$
(
c
d
&
'
/
h
o
m
e
/
e
m
i
r
/
d
e
v
t
o
o
l
s
/
l
i
b
p
h
u
t
i
l
&
'
;
g
i
t
r
e
v
-
p
a
r
s
e
-
-
s
h
o
w
-
c
d
u
p
)
<
<
<
[
9
]
<
e
x
e
c
>
9
,
9
7
6
u
s
>
>
>
[
1
0
]
<
e
x
e
c
>
$
(
c
d
&
'
/
h
o
m
e
/
e
m
i
r
/
d
e
v
t
o
o
l
s
/
l
i
b
p
h
u
t
i
l
/
&
'
;
g
i
t
m
e
r
g
e
-
b
a
s
e
&
'
H
E
A
D
^
&
'
H
E
A
D
)
<
<
<
[
1
0
]
<
e
x
e
c
>
1
3
,
4
7
2
u
s
>
>
>
[
1
1
]
<
e
x
e
c
>
$
(
c
d
&
'
/
h
o
m
e
/
e
m
i
r
/
d
e
v
t
o
o
l
s
/
l
i
b
p
h
u
t
i
l
/
&
'
;
g
i
t
d
i
f
f
-
-
n
o
-
e
x
t
-
d
i
f
f
-
-
n
o
-
t
e
x
t
c
o
n
v
-
-
r
a
w
&
'
0
0
6
4
5
a
0
a
e
c
0
9
e
d
c
7
f
0
f
1
f
5
7
3
0
3
2
9
9
1
a
e
9
4
f
a
a
0
1
b
&
'
-
-
)
>
>
>
[
1
2
]
<
e
x
e
c
>
$
(
c
d
&
'
/
h
o
m
e
/
e
m
i
r
/
d
e
v
t
o
o
l
s
/
l
i
b
p
h
u
t
i
l
/
&
'
;
g
i
t
d
i
f
f
-
-
n
o
-
e
x
t
-
d
i
f
f
-
-
n
o
-
t
e
x
t
c
o
n
v
-
-
r
a
w
H
E
A
D
-
-
)
>
>
>
[
1
3
]
<
e
x
e
c
>
$
(
c
d
&
'
/
h
o
m
e
/
e
m
i
r
/
d
e
v
t
o
o
l
s
/
l
i
b
p
h
u
t
i
l
/
&
'
;
g
i
t
l
s
-
f
i
l
e
s
-
-
o
t
h
e
r
s
-
-
e
x
c
l
u
d
e
-
s
t
a
n
d
a
r
d
)
>
>
>
[
1
4
]
<
e
x
e
c
>
$
(
c
d
&
'
/
h
o
m
e
/
e
m
i
r
/
d
e
v
t
o
o
l
s
/
l
i
b
p
h
u
t
i
l
/
&
'
;
g
i
t
l
s
-
f
i
l
e
s
-
m
)
<
<
<
[
1
1
]
<
e
x
e
c
>
1
9
,
0
9
2
u
s
<
<
<
[
1
4
]
<
e
x
e
c
>
1
5
,
2
1
9
u
s
<
<
<
[
1
2
]
<
e
x
e
c
>
2
1
,
6
0
2
u
s
<
<
<
[
1
3
]
<
e
x
e
c
>
4
3
,
1
3
9
u
s
>
>
>
[
1
5
]
<
e
x
e
c
>
$
(
c
d
&
'
/
h
o
m
e
/
e
m
i
r
/
d
e
v
t
o
o
l
s
/
l
i
b
p
h
u
t
i
l
/
&
'
;
g
i
t
d
i
f
f
-
-
n
o
-
e
x
t
-
d
i
f
f
-
-
n
o
-
t
e
x
t
c
o
n
v
-
M
-
C
-
-
n
o
-
c
o
l
o
r
-
-
s
r
c
-
p
r
e
f
i
x
=
a
/
-
-
d
s
t
-
p
r
e
f
i
x
=
b
/
-
U
3
2
7
6
7
&
'
0
0
6
4
5
a
0
a
e
c
0
9
e
d
c
7
f
0
f
1
f
5
7
3
0
3
2
9
9
1
a
e
9
4
f
a
a
0
1
b
&
'
-
-
)
<
<
<
[
1
5
]
<
e
x
e
c
>
2
8
,
3
1
8
u
s
>
>
>
[
1
6
]
<
e
x
e
c
>
$
&
'
/
h
o
m
e
/
e
n
g
s
h
a
r
e
/
d
e
v
t
o
o
l
s
/
l
i
b
p
h
u
t
i
l
/
s
r
c
/
p
a
r
s
e
r
/
x
h
p
a
s
t
/
b
i
n
/
x
h
p
a
s
t
&
'
-
-
v
e
r
s
i
o
n
<
<
<
[
1
6
]
<
e
x
e
c
>
1
1
,
4
2
0
u
s
>
>
>
[
1
7
]
<
e
x
e
c
>
$
&
'
/
h
o
m
e
/
e
n
g
s
h
a
r
e
/
d
e
v
t
o
o
l
s
/
a
r
c
a
n
i
s
t
/
s
c
r
i
p
t
s
/
p
h
u
t
i
l
_
a
n
a
l
y
z
e
r
.
p
h
p
&
'
&
'
/
h
o
m
e
/
e
m
i
r
/
d
e
v
t
o
o
l
s
/
l
i
b
p
h
u
t
i
l
/
s
r
c
/
m
a
r
k
u
p
/
e
n
g
i
n
e
/
r
e
m
a
r
k
u
p
/
m
a
r
k
u
p
r
u
l
e
/
h
y
p
e
r
l
i
n
k
&
'
<
<
<
[
1
7
]
<
e
x
e
c
>
4
9
0
,
1
9
6
u
s
>
>
>
[
1
8
]
<
e
x
e
c
>
$
&
'
/
h
o
m
e
/
e
n
g
s
h
a
r
e
/
d
e
v
t
o
o
l
s
/
a
r
c
a
n
i
s
t
/
s
c
r
i
p
t
s
/
p
h
u
t
i
l
_
a
n
a
l
y
z
e
r
.
p
h
p
&
'
&
'
/
h
o
m
e
/
e
n
g
s
h
a
r
e
/
d
e
v
t
o
o
l
s
/
l
i
b
p
h
u
t
i
l
/
s
r
c
/
m
a
r
k
u
p
&
'
>
>
>
[
1
9
]
<
e
x
e
c
>
$
&
'
/
h
o
m
e
/
e
n
g
s
h
a
r
e
/
d
e
v
t
o
o
l
s
/
a
r
c
a
n
i
s
t
/
s
c
r
i
p
t
s
/
p
h
u
t
i
l
_
a
n
a
l
y
z
e
r
.
p
h
p
&
'
&
'
/
h
o
m
e
/
e
n
g
s
h
a
r
e
/
d
e
v
t
o
o
l
s
/
l
i
b
p
h
u
t
i
l
/
s
r
c
/
m
a
r
k
u
p
/
e
n
g
i
n
e
/
r
e
m
a
r
k
u
p
/
m
a
r
k
u
p
r
u
l
e
/
b
a
s
e
&
'
>
>
>
[
2
0
]
<
e
x
e
c
>
$
&
'
/
h
o
m
e
/
e
n
g
s
h
a
r
e
/
d
e
v
t
o
o
l
s
/
a
r
c
a
n
i
s
t
/
s
c
r
i
p
t
s
/
p
h
u
t
i
l
_
a
n
a
l
y
z
e
r
.
p
h
p
&
'
&
'
/
h
o
m
e
/
e
n
g
s
h
a
r
e
/
d
e
v
t
o
o
l
s
/
l
i
b
p
h
u
t
i
l
/
s
r
c
/
p
a
r
s
e
r
/
u
r
i
&
'
>
>
>
[
2
1
]
<
e
x
e
c
>
$
&
'
/
h
o
m
e
/
e
n
g
s
h
a
r
e
/
d
e
v
t
o
o
l
s
/
a
r
c
a
n
i
s
t
/
s
c
r
i
p
t
s
/
p
h
u
t
i
l
_
a
n
a
l
y
z
e
r
.
p
h
p
&
'
&
'
/
h
o
m
e
/
e
n
g
s
h
a
r
e
/
d
e
v
t
o
o
l
s
/
l
i
b
p
h
u
t
i
l
/
s
r
c
/
u
t
i
l
s
&
'
<
<
<
[
1
8
]
<
e
x
e
c
>
4
9
8
,
8
9
9
u
s
<
<
<
[
1
9
]
<
e
x
e
c
>
4
9
7
,
7
1
0
u
s
<
<
<
[
2
0
]
<
e
x
e
c
>
5
1
7
,
7
4
0
u
s
<
<
<
[
2
1
]
<
e
x
e
c
>
5
5
6
,
2
6
7
u
s
>
>
>
[
2
2
]
<
e
x
e
c
>
$
&
'
/
h
o
m
e
/
e
n
g
s
h
a
r
e
/
d
e
v
t
o
o
l
s
/
l
i
b
p
h
u
t
i
l
/
s
r
c
/
p
a
r
s
e
r
/
x
h
p
a
s
t
/
b
i
n
/
x
h
p
a
s
t
&
'
<
<
<
[
2
2
]
<
e
x
e
c
>
1
0
,
0
6
6
u
s
L
I
N
T
O
K
A
Y
N
o
l
i
n
t
p
r
o
b
l
e
m
s
.
R
u
n
n
i
n
g
u
n
i
t
t
e
s
t
s
.
.
.
H
i
p
H
o
p
F
a
t
a
l
e
r
r
o
r
:
U
n
c
a
u
g
h
t
e
x
c
e
p
t
i
o
n
e
x
c
e
p
t
i
o
n
&
'
P
h
u
t
i
l
B
o
o
t
l
o
a
d
e
r
E
x
c
e
p
t
i
o
n
&
'
w
i
t
h
m
e
s
s
a
g
e
&
'
T
h
e
p
h
u
t
i
l
l
i
b
r
a
r
y
&
'
&
'
h
a
s
n
o
t
b
e
e
n
l
o
a
d
e
d
!
&
'
i
n
/
h
o
m
e
/
e
n
g
s
h
a
r
e
/
d
e
v
t
o
o
l
s
/
l
i
b
p
h
u
t
i
l
/
s
r
c
/
_
_
p
h
u
t
i
l
_
l
i
b
r
a
r
y
_
i
n
i
t
_
_
.
p
h
p
:
1
2
4
n
S
t
a
c
k
t
r
a
c
e
:
n
#
0
/
h
o
m
e
/
e
n
g
s
h
a
r
e
/
d
e
v
t
o
o
l
s
/
l
i
b
p
h
u
t
i
l
/
s
r
c
/
_
_
p
h
u
t
i
l
_
l
i
b
r
a
r
y
_
i
n
i
t
_
_
.
p
h
p
(
1
7
7
)
:
P
h
u
t
i
l
B
o
o
t
l
o
a
d
e
r
-
>
g
e
t
L
i
b
r
a
r
y
R
o
o
t
(
)
n
#
1
/
h
o
m
e
/
e
n
g
s
h
a
r
e
/
d
e
v
t
o
o
l
s
/
a
r
c
a
n
i
s
t
/
s
r
c
/
u
n
i
t
/
e
n
g
i
n
e
/
p
h
u
t
i
l
/
P
h
u
t
i
l
U
n
i
t
T
e
s
t
E
n
g
i
n
e
.
p
h
p
(
5
3
)
:
P
h
u
t
i
l
B
o
o
t
l
o
a
d
e
r
-
>
m
o
d
u
l
e
E
x
i
s
t
s
(
)
n
#
2
/
h
o
m
e
/
e
n
g
s
h
a
r
e
/
d
e
v
t
o
o
l
s
/
a
r
c
a
n
i
s
t
/
s
r
c
/
w
o
r
k
f
l
o
w
/
u
n
i
t
/
A
r
c
a
n
i
s
t
U
n
i
t
W
o
r
k
f
l
o
w
.
p
h
p
(
1
1
3
)
:
P
h
u
t
i
l
U
n
i
t
T
e
s
t
E
n
g
i
n
e
-
>
r
u
n
(
)
n
#
3
/
h
o
m
e
/
e
n
g
s
h
a
r
e
/
d
e
v
t
o
o
l
s
/
a
r
c
a
n
i
s
t
/
s
r
c
/
w
o
r
k
f
l
o
w
/
d
i
f
f
/
A
r
c
a
n
i
s
t
D
i
f
f
W
o
r
k
f
l
o
w
.
p
h
p
(
1
1
7
2
)
:
A
r
c
a
n
i
s
t
U
n
i
t
W
o
r
k
f
l
o
w
-
>
r
u
n
(
)
n
#
4
/
h
o
m
e
/
e
n
g
s
h
a
r
e
/
d
e
v
t
o
o
l
s
/
a
r
c
a
n
i
s
t
/
s
r
c
/
w
o
r
k
f
l
o
w
/
d
i
f
f
/
A
r
c
a
n
i
s
t
D
i
f
f
W
o
r
k
f
l
o
w
.
p
h
p
(
2
2
5
)
:
A
r
c
a
n
i
s
t
D
i
f
f
W
o
r
k
f
l
o
w
-
>
r
u
n
U
n
i
t
(
)
n
#
5
/
h
o
m
e
/
e
n
g
s
h
a
r
e
/
d
e
v
t
o
o
l
s
/
a
r
c
a
n
i
s
t
/
s
c
r
i
p
t
s
/
a
r
c
a
n
i
s
t
.
p
h
p
(
2
5
7
)
:
A
r
c
a
n
i
s
t
D
i
f
f
W
o
r
k
f
l
o
w
-
>
r
u
n
(
)
n
#
6
{
m
a
i
n
}
O
k
a
y
,
这
确
实
不
是
完
整
的
源
码
。
这
仅
仅
是
一
些
命
令
行
输
出
,
但
依
旧
告
诉
了
我
们
一
些
有
趣
的
信
息
。
数
据
分
析
数
据
分
析
我
们
可
以
得
知
用
户
名
“
e
m
i
r
”
,
或
许
这
是
该
用
户
的
F
i
r
s
t
N
a
m
e
(
相
当
于
国
人
的
名
)
,
当
然
也
可
能
是
由
姓
的
第
一
个
字
母
加
上
名
(
E
.
M
i
r
)
。
我
们
可
以
通
过
另
外
一
个
F
a
c
e
b
o
o
k
的
工
程
师
清
楚
的
看
到
这
些
输
出
,
所
以
在
P
a
s
t
e
b
i
n
上
面
发
布
文
章
不
是
一
个
明
智
的
做
法
。
这
个
人
的
这
个
做
法
很
容
易
被
攻
击
者
盯
住
,
惹
来
不
必
要
的
麻
烦
。
"
d
e
v
3
0
0
3
"
是
是
e
m
i
r
那
个
时
候
使
用
的
机
器
名
字
那
个
时
候
使
用
的
机
器
名
字
,
,
同
时
我
们
可
以
得
知
同
时
我
们
可
以
得
知
F
a
c
e
b
o
o
k
至
少
有
至
少
有
3
0
0
0
台
机
器
支
持
着
开
发
工
作
台
机
器
支
持
着
开
发
工
作
(
假
设
“
3
0
0
3
”
是
从
1
开
始
增
长
的
,
我
对
这
个
假
设
很
确
信
呢
)
`
/
h
o
m
e
/
e
n
g
s
h
a
r
e
/
d
e
v
t
o
o
l
s
/
`
是
l
i
b
p
h
u
t
i
l
和
a
r
c
a
n
i
s
t
的
安
装
路
径
,
如
果
我
的
记
忆
没
问
题
的
话
,
`
/
h
o
m
e
/
e
n
g
s
h
a
r
e
/
`
是
通
过
N
F
S
开
发
机
器
之
间
进
行
分
享
,
这
里
没
有
什
么
比
较
有
趣
的
,
但
是
也
有
可
能
存
在
其
他
脚
本
定
位
在
这
个
目
录
。
这
里
也
有
一
些
执
行
时
间
的
信
息
,
以
及
G
i
t
h
a
s
h
e
s
。
之
后
,
我
又
继
续
尝
试
类
似
P
a
s
t
e
b
i
n
文
章
中
的
操
作
。
结
果
告
诉
我
,
并
没
让
我
失
望
!
[
2
5
/
1
0
/
2
0
1
3
]
P
r
o
m
o
t
i
n
g
T
h
e
M
e
m
e
B
a
n
k
(
1
/
1
)
-
C
a
m
p
a
i
g
n
U
p
d
a
t
e
F
a
i
l
e
d
:
C
a
m
p
a
i
g
n
6
0
0
9
2
5
8
2
7
9
2
3
7
:
V
a
l
u
e
c
a
n
n
o
t
b
e
n
u
l
l
(
V
a
l
u
e
g
i
v
e
n
:
n
u
l
l
)
T
A
A
L
[
B
L
A
M
E
_
f
i
l
e
s
,
w
w
w
/
f
l
i
b
/
c
o
r
e
/
u
t
i
l
s
/
e
n
f
o
r
c
e
.
p
h
p
,
w
w
w
/
f
l
i
b
/
c
o
r
e
/
u
t
i
l
s
/
E
n
f
o
r
c
e
B
a
s
e
.
p
h
p
]
有
趣
的
是
,
它
显
示
了
路
径
和
文
件
名
。
"
f
l
i
b
"
(
F
a
c
e
b
o
o
k
L
i
b
r
a
r
y
)
是
一
个
包
含
实
用
工
具
的
内
部
l
i
b
以
帮
助
开
发
。
我
们
再
深
入
一
些
.
.
.
[
k
s
a
l
a
s
@
d
e
v
5
7
8
~
/
w
w
w
]
.
/
s
c
r
i
p
t
s
/
i
n
t
l
/
i
n
t
l
_
s
t
r
i
n
g
.
p
h
p
s
c
a
n
.
L
o
a
d
i
n
g
m
o
d
u
l
e
s
,
h
a
n
g
o
n
.
.
.
A
n
a
l
y
z
i
n
g
d
i
r
e
c
t
o
r
y
`
.
&
'
E
r
r
o
r
:
C
o
m
m
a
n
d
`
u
l
i
m
i
t
-
s
6
5
5
3
6
&
&
/
m
n
t
/
v
o
l
/
e
n
g
s
h
a
r
e
/
t
o
o
l
s
/
f
b
t
_
e
x
t
r
a
c
t
o
r
-
t
a
s
k
s
3
2
&
'
/
d
a
t
a
/
u
s
e
r
s
/
k
s
a
l
a
s
/
w
w
w
-
h
g
&
'
&
'
f
a
i
l
e
d
w
i
t
h
e
r
r
o
r
#
2
:
s
t
d
o
u
t
:
s
t
d
e
r
r
:
w
a
r
n
i
n
g
:
p
a
r
s
i
n
g
p
r
o
b
l
e
m
i
n
/
d
a
t
a
/
u
s
e
r
s
/
k
s
a
l
a
s
/
w
w
w
-
h
g
/
f
l
i
b
/
i
n
t
e
r
n
/
t
h
i
r
d
-
p
a
r
t
y
/
p
h
p
u
n
i
t
/
p
h
p
u
n
i
t
/
T
e
s
t
s
/
T
e
x
t
U
I
/
d
a
t
a
p
r
o
v
i
d
e
r
-
l
o
g
-
x
m
l
-
i
s
o
l
a
t
i
o
n
.
p
h
p
t
w
a
r
n
i
n
g
:
p
a
r
s
i
n
g
p
r
o
b
l
e
m
i
n
/
d
a
t
a
/
u
s
e
r
s
/
k
s
a
l
a
s
/
w
w
w
-
h
g
/
f
l
i
b
/
i
n
t
e
r
n
/
t
h
i
r
d
-
p
a
r
t
y
/
p
h
p
u
n
i
t
/
p
h
p
u
n
i
t
/
T
e
s
t
s
/
T
e
x
t
U
I
/
d
a
t
a
p
r
o
v
i
d
e
r
-
l
o
g
-
x
m
l
.
p
h
p
t
w
a
r
n
i
n
g
:
p
a
r
s
i
n
g
p
r
o
b
l
e
m
i
n
/
d
a
t
a
/
u
s
e
r
s
/
k
s
a
l
a
s
/
w
w
w
-
h
g
/
f
l
i
b
/
i
n
t
e
r
n
/
t
h
i
r
d
-
p
a
r
t
y
/
p
h
p
u
n
i
t
/
p
h
p
u
n
i
t
/
T
e
s
t
s
/
T
e
x
t
U
I
/
l
o
g
-
x
m
l
.
p
h
p
t
w
a
r
n
i
n
g
:
p
a
r
s
i
n
g
p
r
o
b
l
e
m
i
n
/
d
a
t
a
/
u
s
e
r
s
/
k
s
a
l
a
s
/
w
w
w
-
h
g
/
s
c
r
i
p
t
s
/
s
a
n
d
c
a
s
t
l
e
/
l
o
c
a
l
_
t
e
s
t
i
n
g
/
s
c
r
i
p
t
_
f
o
r
_
t
e
s
t
_
c
o
m
m
i
t
s
.
p
h
p
w
a
r
n
i
n
g
:
p
a
r
s
i
n
g
p
r
o
b
l
e
m
i
n
/
d
a
t
a
/
u
s
e
r
s
/
k
s
a
l
a
s
/
w
w
w
-
h
g
/
l
i
b
/
a
r
c
a
n
i
s
t
/
l
i
n
t
/
l
i
n
t
e
r
/
_
_
t
e
s
t
s
_
_
/
h
p
h
p
a
s
t
/
p
h
p
-
t
a
g
s
-
s
c
r
i
p
t
.
l
i
n
t
-
t
e
s
t
L
E
X
E
R
:
u
n
r
e
c
o
g
n
i
s
e
d
s
y
m
b
o
l
,
i
n
t
o
k
e
n
r
u
l
e
:
&
'
w
a
r
n
i
n
g
:
p
a
r
s
i
n
g
p
r
o
b
l
e
m
i
n
/
d
a
t
a
/
u
s
e
r
s
/
k
s
a
l
a
s
/
w
w
w
-
h
g
/
s
c
r
i
p
t
s
/
i
n
t
e
r
n
/
t
e
s
t
/
t
e
s
t
.
p
h
p
w
a
r
n
i
n
g
:
p
a
r
s
i
n
g
p
r
o
b
l
e
m
i
n
/
d
a
t
a
/
u
s
e
r
s
/
k
s
a
l
a
s
/
w
w
w
-
h
g
/
s
c
r
i
p
t
s
/
i
n
t
e
r
n
/
t
e
s
t
/
t
e
s
t
2
.
p
h
p
F
a
t
a
l
e
r
r
o
r
:
e
x
c
e
p
t
i
o
n
C
o
m
m
o
n
.
T
o
d
o
F
a
t
a
l
e
r
r
o
r
:
e
x
c
e
p
t
i
o
n
S
y
s
_
e
r
r
o
r
(
"
B
r
o
k
e
n
p
i
p
e
"
)
T
y
p
e
i
n
t
l
_
s
t
r
i
n
g
.
p
h
p
-
-
h
e
l
p
t
o
g
e
t
m
o
r
e
i
n
f
o
r
m
a
t
i
o
n
a
b
o
u
t
h
o
w
t
o
u
s
e
t
h
i
s
s
c
r
i
p
t
.
d
e
v
5
7
8
中
的
K
s
a
l
a
s
似
乎
在
运
行
一
个
字
符
串
解
析
器
。
`
i
n
t
l
_
s
t
r
i
n
g
.
p
h
p
`
尝
试
运
行
`
/
m
n
t
/
v
o
l
/
e
n
g
s
h
a
r
e
/
t
o
o
l
s
/
f
b
t
_
e
x
t
r
a
c
t
o
r
`
,
所
以
我
们
可
以
知
道
在
`
/
m
n
t
/
v
o
l
/
e
n
g
s
h
a
r
e
/
`
目
录
下
还
有
其
他
的
脚
本
,
我
们
可
以
看
到
他
们
正
在
使
用
P
H
P
U
n
i
t
进
行
单
元
测
试
,
"
w
w
w
-
h
g
"
是
M
e
r
c
u
r
i
a
l
的
目
录
!
众
所
周
知
,
他
们
从
S
u
b
v
e
r
s
i
o
n
进
行
G
i
t
迁
移
数
据
。
"
T
h
a
t
&
'
s
s
t
i
l
l
n
o
t
g
o
d
d
a
m
n
s
o
u
r
c
e
c
o
d
e
!
"
我
听
见
有
人
在
哭
了
我
听
见
有
人
在
哭
了
…
…
I
n
d
e
x
:
f
l
i
b
/
c
o
r
e
/
d
b
/
q
u
e
r
y
f
.
p
h
p
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
-
-
-
f
l
i
b
/
c
o
r
e
/
d
b
/
q
u
e
r
y
f
.
p
h
p
+
+
+
f
l
i
b
/
c
o
r
e
/
d
b
/
q
u
e
r
y
f
.
p
h
p
@
@
-
1
1
0
4
,
1
1
+
1
1
0
4
,
1
2
@
@
*
@
a
u
t
h
o
r
r
m
c
e
l
r
o
y
*
/
f
u
n
c
t
i
o
n
m
y
s
q
l
_
q
u
e
r
y
_
a
l
l
(
$
s
q
l
,
$
o
k
_
s
q
l
,
$
c
o
n
n
,
$
p
a
r
a
m
s
)
{
+
F
B
T
r
a
c
e
D
B
:
:
r
q
s
e
n
d
(
$
o
k
_
s
q
l
)
;
s
w
i
t
c
h
(
S
Q
L
Q
u
e
r
y
T
y
p
e
:
:
p
a
r
s
e
(
$
s
q
l
)
)
{
c
a
s
e
S
Q
L
Q
u
e
r
y
T
y
p
e
:
:
R
E
A
D
:
$
t
_
s
t
a
r
t
=
m
i
c
r
o
t
i
m
e
(
t
r
u
e
)
;
$
r
e
s
u
l
t
=
m
y
s
q
l
_
q
u
e
r
y
_
r
e
a
d
(
$
o
k
_
s
q
l
,
$
c
o
n
n
)
;
$
t
_
e
n
d
=
m
i
c
r
o
t
i
m
e
(
t
r
u
e
)
;
$
t
_
d
e
l
t
a
=
$
t
_
e
n
d
-
$
t
_
s
t
a
r
t
;
i
f
(
$
t
_
d
e
l
t
a
>
P
r
o
f
i
l
i
n
g
T
h
r
e
s
h
o
l
d
s
:
:
$
q
u
e
r
y
R
e
a
d
D
u
r
a
t
i
o
n
)
{
P
r
o
f
i
l
i
n
g
T
h
r
e
s
h
o
l
d
s
:
:
r
e
c
o
r
d
D
u
r
a
t
i
o
n
E
r
r
o
r
(
&
'
m
y
s
q
l
.
q
u
e
r
y
R
e
a
d
D
u
r
a
t
i
o
n
&
'
,
`
f
l
i
b
/
c
o
r
e
/
d
b
/
q
u
e
r
y
f
.
p
h
p
`
就
是
问
题
文
件
。
在
前
面
,
我
们
认
为
这
只
是
一
个
文
件
与
另
一
个
文
件
M
y
S
Q
L
相
关
函
数
之
间
的
差
异
。
我
们
可
以
通
过
`
m
y
s
q
l
_
q
u
e
r
y
_
a
l
l
(
)
`
查
询
函
数
。
从
目
前
能
够
得
到
的
代
码
看
来
,
这
是
一
个
十
分
简
单
的
查
询
函
数
,
或
许
实
际
上
它
很
复
杂
,
但
是
不
幸
的
是
我
们
可
能
永
远
不
会
知
道
。
我
会
发
布
一
些
我
发
现
的
示
例
代
码
,
这
些
都
可
以
通
过
文
章
底
部
下
载
链
接
进
行
下
载
。
d
i
f
f
-
-
g
i
t
a
/
f
l
i
b
/
e
n
t
i
t
y
/
u
s
e
r
/
p
e
r
s
o
n
a
l
/
E
n
t
P
e
r
s
o
n
a
l
U
s
e
r
.
p
h
p
b
/
f
l
i
b
/
e
n
t
i
t
y
/
u
s
e
r
/
p
e
r
s
o
n
a
l
/
E
n
t
P
e
r
s
o
n
a
l
U
s
e
r
.
p
h
p
i
n
d
e
x
4
d
e
7
a
d
8
.
.
4
3
9
c
1
6
2
1
0
0
6
4
4
-
-
-
a
/
f
l
i
b
/
e
n
t
i
t
y
/
u
s
e
r
/
p
e
r
s
o
n
a
l
/
E
n
t
P
e
r
s
o
n
a
l
U
s
e
r
.
p
h
p
+
+
+
b
/
f
l
i
b
/
e
n
t
i
t
y
/
u
s
e
r
/
p
e
r
s
o
n
a
l
/
E
n
t
P
e
r
s
o
n
a
l
U
s
e
r
.
p
h
p
@
@
-
3
0
6
,
1
3
+
3
0
6
,
1
5
@
@
c
l
a
s
s
E
n
t
P
e
r
s
o
n
a
l
U
s
e
r
e
x
t
e
n
d
s
E
n
t
P
r
o
f
i
l
e
p
u
b
l
i
c
f
u
n
c
t
i
o
n
p
r
e
p
a
r
e
F
r
i
e
n
d
I
D
s
(
)
{
r
e
q
u
i
r
e
_
m
o
d
u
l
e
_
l
a
z
y
(
&
'
f
r
i
e
n
d
s
&
'
)
;
-
/
/
T
O
D
O
:
a
d
d
p
r
i
v
a
c
y
c
h
e
c
k
s
!
D
T
(
&
'
R
e
c
i
p
r
o
c
a
l
F
r
i
e
n
d
s
&
'
)
-
>
a
d
d
(
$
t
h
i
s
-
>
i
d
)
;
r
e
t
u
r
n
n
u
l
l
;
}
p
u
b
l
i
c
f
u
n
c
t
i
o
n
g
e
t
F
r
i
e
n
d
I
D
s
(
)
{
-
r
e
t
u
r
n
D
T
(
&
'
R
e
c
i
p
r
o
c
a
l
F
r
i
e
n
d
s
&
'
)
-
>
g
e
t
(
$
t
h
i
s
-
>
i
d
)
;
+
i
f
(
$
t
h
i
s
-
>
c
a
n
S
e
e
F
r
i
e
n
d
s
(
)
)
{
+
r
e
t
u
r
n
D
T
(
&
'
R
e
c
i
p
r
o
c
a
l
F
r
i
e
n
d
s
&
'
)
-
>
g
e
t
(
$
t
h
i
s
-
>
i
d
)
;
+
}
+
r
e
t
u
r
n
a
r
r
a
y
(
)
;
}
/
*
*
@
@
-
3
9
7
,
6
+
3
9
9
,
7
@
@
c
l
a
s
s
E
n
t
P
e
r
s
o
n
a
l
U
s
e
r
e
x
t
e
n
d
s
E
n
t
P
r
o
f
i
l
e
$
t
h
i
s
-
>
v
i
e
w
e
r
C
a
n
S
e
e
,
a
r
r
a
y
(
P
r
i
v
a
c
y
C
o
n
c
e
p
t
s
:
:
E
X
I
S
T
E
N
C
E
,
+
P
r
i
v
a
c
y
C
o
n
c
e
p
t
s
:
:
F
R
I
E
N
D
S
,
/
/
N
o
t
e
t
h
a
t
w
e
&
'
r
e
f
e
t
c
h
i
n
g
G
E
N
D
E
R
h
e
r
e
b
e
c
a
u
s
e
i
t
&
'
s
P
A
I
/
/
s
o
i
t
&
'
s
c
h
e
a
p
a
n
d
b
e
c
a
u
s
e
w
e
d
o
n
&
'
t
w
a
n
t
t
o
a
d
d
a
p
r
e
p
a
r
e
G
e
n
d
e
r
/
/
c
a
l
l
h
e
r
e
i
f
w
e
d
o
n
&
'
t
h
a
v
e
t
o
.
@
@
-
4
1
8
,
6
+
4
2
1
,
1
0
@
@
c
l
a
s
s
E
n
t
P
e
r
s
o
n
a
l
U
s
e
r
e
x
t
e
n
d
s
E
n
t
P
r
o
f
i
l
e
r
e
t
u
r
n
m
u
s
t
_
p
r
e
p
a
r
e
(
$
t
h
i
s
-
>
v
i
e
w
e
r
C
a
n
S
e
e
)
-
>
c
a
n
S
e
e
(
)
;
}
+
p
r
o
t
e
c
t
e
d
f
u
n
c
t
i
o
n
c
a
n
S
e
e
F
r
i
e
n
d
s
(
)
{
+
r
e
t
u
r
n
m
u
s
t
_
p
r
e
p
a
r
e
(
$
t
h
i
s
-
>
v
i
e
w
e
r
C
a
n
S
e
e
)
-
>
c
a
n
S
e
e
F
r
i
e
n
d
s
(
)
;
+
}
+
#
u
p
d
a
t
e
y
o
u
r
l
o
c
a
l
m
a
s
t
e
r
b
r
a
n
c
h
g
i
t
c
h
e
c
k
o
u
t
m
a
s
t
e
r
g
i
t
p
u
l
l
-
-
r
e
b
a
s
e
#
n
e
v
e
r
d
o
a
n
y
w
o
r
k
o
n
m
a
s
t
e
r
b
r
a
n
c
h
#
c
r
e
a
t
e
&
s
w
i
t
c
h
t
o
n
e
w
b
r
a
n
c
h
i
n
s
t
e
a
d
g
i
t
c
h
e
c
k
o
u
t
-
b
m
y
_
b
r
a
n
c
h
#
r
e
b
a
s
e
&
'
m
y
_
b
r
a
n
c
h
&
'
o
n
t
o
m
a
s
t
e
r
g
i
t
c
h
e
c
k
o
u
t
m
y
_
b
r
a
n
c
h
g
i
t
r
e
b
a
s
e
m
a
s
t
e
r
#
l
i
s
t
b
r
a
n
c
h
e
s
g
i
t
b
r
a
n
c
h
#
d
e
l
e
t
e
&
'
m
y
_
b
r
a
n
c
h
&
'
b
r
a
n
c
h
$
g
i
t
b
r
a
n
c
h
-
d
m
y
_
b
r
a
n
c
h
#
s
h
o
w
s
s
t
a
t
u
s
$
g
i
t
s
t
a
t
u
s
s
t
a
g
e
f
i
l
e
,
a
l
s
o
r
e
m
o
v
e
c
o
n
f
l
i
c
t
$
g
i
t
a
d
d
<
f
i
l
e
>
r
e
v
e
r
t
f
i
l
e
t
o
h
e
a
d
r
e
v
i
s
i
o
n
$
g
i
t
c
h
e
c
k
o
u
t
-
-
<
f
i
l
e
>
c
o
m
m
i
t
c
h
a
n
g
e
$
g
i
t
c
o
m
m
i
t
-
a
-
-
a
m
e
n
d
-
a
s
t
a
g
e
s
a
l
l
m
o
d
i
f
i
e
d
f
i
l
e
s
-
-
a
m
e
n
d
o
v
e
r
w
r
i
t
e
s
l
a
s
t
c
o
m
m
i
t
s
h
o
w
a
l
l
l
o
c
a
l
h
i
s
t
o
r
y
(
a
m
e
n
d
c
o
m
m
i
t
s
,
b
r
a
n
c
h
c
h
a
n
g
e
s
,
e
t
c
.
)
$
g
i
t
r
e
f
l
o
g
s
h
o
w
h
i
s
t
o
r
y
(
t
h
e
r
e
i
s
l
o
t
o
f
o
p
t
i
o
n
s
)
$
g
i
t
l
o
g
$
g
i
t
l
o
g
-
-
p
r
e
t
t
y
=
o
n
e
l
i
n
e
-
-
a
b
b
r
e
v
-
c
o
m
m
i
t
-
-
a
u
t
h
o
r
=
p
l
a
m
e
n
k
o
$
g
i
t
l
o
g
-
S
"
t
e
x
t
t
o
s
e
a
r
c
h
"
s
h
o
w
l
a
s
t
c
o
m
m
i
t
(
w
h
a
t
i
s
a
b
o
u
t
t
o
b
e
s
e
n
d
f
o
r
d
i
f
f
)
$
g
i
t
s
h
o
w
g
e
t
t
h
e
v
e
r
s
i
o
n
o
f
t
h
e
f
i
l
e
f
r
o
m
t
h
e
g
i
v
e
n
c
o
m
m
i
t
$
g
i
t
c
h
e
c
k
o
u
t
<
c
o
m
m
i
t
>
p
a
t
h
/
t
o
/
f
i
l
e
f
e
t
c
h
&
m
e
r
g
e
$
g
i
t
p
u
l
l
-
-
r
e
b
a
s
e
r
e
s
o
l
v
i
n
g
c
o
n
f
l
i
c
t
s
:
u
s
e
o
u
r
s
:
$
g
i
t
c
h
e
c
k
o
u
t
-
-
o
u
r
s
i
n
d
e
x
.
h
t
m
l
u
s
e
t
h
e
i
r
s
:
$
g
i
t
c
h
e
c
k
o
u
t
-
-
t
h
e
i
r
s
i
n
d
e
x
.
h
t
m
l
c
o
m
m
i
t
a
u
t
h
o
r
:
$
g
i
t
c
o
n
f
i
g
-
-
g
l
o
b
a
l
u
s
e
r
.
n
a
m
e
"
O
g
n
j
e
n
D
r
a
g
o
l
j
e
v
i
c
"
$
g
i
t
c
o
n
f
i
g
-
-
g
l
o
b
a
l
u
s
e
r
.
e
m
a
i
l
p
l
a
m
e
n
k
o
@
f
b
.
c
o
m
A
f
t
e
r
d
o
i
n
g
t
h
i
s
,
y
o
u
m
a
y
f
i
x
t
h
e
i
d
e
n
t
i
t
y
u
s
e
d
f
o
r
t
h
i
s
c
o
m
m
i
t
w
i
t
h
:
$
g
i
t
c
o
m
m
i
t
-
-
a
m
e
n
d
-
-
r
e
s
e
t
-
a
u
t
h
o
r
c
o
m
m
i
t
t
e
m
p
l
a
t
e
:
/
m
n
t
/
v
o
l
/
e
n
g
s
h
a
r
e
/
a
d
m
i
n
/
s
c
r
i
p
t
s
/
t
e
m
p
l
a
t
e
s
/
g
i
t
-
c
o
m
m
i
t
-
t
e
m
p
l
a
t
e
.
t
x
t
r
e
n
a
m
e
a
b
r
a
n
c
h
:
$
g
i
t
b
r
a
n
c
h
-
m
o
l
d
_
b
r
a
n
c
h
n
e
w
_
b
r
a
n
c
h
i
n
t
e
r
a
c
t
i
v
e
r
e
b
a
s
e
$
g
i
t
r
e
b
a
s
e
-
i
m
a
s
t
e
r
p
i
c
k
e
d
i
t
m
a
k
e
c
h
a
n
g
e
s
.
.
.
$
g
i
t
c
o
m
m
i
t
-
a
-
-
a
m
e
n
d
$
g
i
t
r
e
b
a
s
e
-
-
c
o
n
t
i
n
u
e
e
x
e
c
$
a
r
c
d
i
f
f
$
a
r
c
a
m
e
n
d
$
g
i
t
p
u
s
h
-
-
d
r
y
-
r
u
n
o
r
i
g
i
n
H
E
A
D
:
m
a
s
t
e
r
/
/
r
e
m
o
v
e
d
r
y
-
r
u
n
t
o
d
o
a
c
t
u
a
l
p
u
s
h
.
.
.
t
o
u
p
d
a
t
e
c
o
m
m
i
t
m
e
s
s
a
g
e
i
n
p
h
a
b
r
i
c
a
t
o
r
$
a
r
c
d
i
f
f
-
-
v
e
r
b
a
t
i
m
#
!
/
b
i
n
/
b
a
s
h
#
#
C
r
e
a
t
e
s
a
n
e
w
w
w
w
s
a
n
d
b
o
x
m
a
n
a
g
e
d
b
y
g
i
t
.
#
#
U
s
a
g
e
:
g
i
t
-
c
l
o
n
e
-
w
w
w
[
d
i
r
n
a
m
e
]
#
#
d
i
r
n
a
m
e
d
e
f
a
u
l
t
s
t
o
"
w
w
w
-
g
i
t
"
.
#
D
I
R
N
A
M
E
=
$
{
1
:
-
w
w
w
-
g
i
t
}
N
F
S
_
R
E
P
O
=
/
h
o
m
e
/
e
n
g
s
h
a
r
e
/
g
i
t
/
t
f
b
#
A
r
e
w
e
r
u
n
n
i
n
g
o
n
a
m
a
c
h
i
n
e
t
h
a
t
h
a
s
a
l
o
c
a
l
s
h
a
r
e
d
c
o
p
y
o
f
t
h
e
g
i
t
r
e
p
o
?
i
f
[
-
d
/
d
a
t
a
/
g
i
t
/
t
f
b
]
;
t
h
e
n
#
Y
e
s
.
R
e
u
s
e
i
t
s
o
b
j
e
c
t
s
d
i
r
e
c
t
o
r
y
.
e
c
h
o
"
C
l
o
n
i
n
g
t
h
e
l
o
c
a
l
h
o
s
t
&
'
s
s
h
a
r
e
d
w
w
w
r
e
p
o
s
i
t
o
r
y
.
.
.
"
P
A
R
E
N
T
=
/
d
a
t
a
/
g
i
t
/
t
f
b
S
H
A
R
E
=
-
s
e
l
s
e
#
N
o
p
e
,
c
o
p
y
t
h
e
N
F
S
s
e
r
v
e
r
&
'
s
o
b
j
e
c
t
s
l
o
c
a
l
l
y
s
o
a
s
n
o
t
t
o
b
e
d
o
g
s
l
o
w
.
e
c
h
o
"
C
o
p
y
i
n
g
f
r
o
m
t
h
e
s
h
a
r
e
d
w
w
w
r
e
p
o
s
i
t
o
r
y
o
n
t
h
e
N
F
S
s
e
r
v
e
r
.
.
.
"
P
A
R
E
N
T
=
$
N
F
S
_
R
E
P
O
S
H
A
R
E
=
f
i
i
f
[
!
-
d
$
H
O
M
E
/
l
o
c
a
l
]
;
t
h
e
n
e
c
h
o
"
Y
o
u
d
o
n
&
'
t
s
e
e
m
t
o
h
a
v
e
a
&
'
l
o
c
a
l
&
'
s
y
m
l
i
n
k
i
n
y
o
u
r
h
o
m
e
d
i
r
e
c
t
o
r
y
.
"
e
c
h
o
"
F
i
x
t
h
a
t
a
n
d
t
r
y
a
g
a
i
n
.
"
e
x
i
t
1
f
i
c
d
$
H
O
M
E
/
l
o
c
a
l
i
f
[
-
d
"
$
D
I
R
N
A
M
E
"
]
;
t
h
e
n
e
c
h
o
"
Y
o
u
a
l
r
e
a
d
y
h
a
v
e
a
$
D
I
R
N
A
M
E
d
i
r
e
c
t
o
r
y
;
w
o
n
&
'
t
o
v
e
r
w
r
i
t
e
i
t
.
"
e
c
h
o
"
A
b
o
r
t
i
n
g
.
"
e
x
i
t
1
f
i
#
W
e
c
l
o
n
e
t
h
e
s
h
a
r
e
d
r
e
p
o
s
i
t
o
r
y
h
e
r
e
r
a
t
h
e
r
t
h
a
n
r
u
n
n
i
n
g
"
g
i
t
s
v
n
c
l
o
n
e
"
#
b
e
c
a
u
s
e
i
t
&
'
s
m
u
c
h
,
m
u
c
h
m
o
r
e
e
f
f
i
c
i
e
n
t
.
A
n
d
t
h
e
c
l
o
n
e
h
a
s
s
o
m
e
o
p
t
i
o
n
s
:
#
#
-
n
=
D
o
n
&
'
t
c
h
e
c
k
o
u
t
w
o
r
k
i
n
g
c
o
p
y
y
e
t
.
#
-
s
=
R
e
f
e
r
e
n
c
e
t
h
e
o
r
i
g
i
n
&
'
s
.
g
i
t
/
o
b
j
e
c
t
s
d
i
r
e
c
t
o
r
y
r
a
t
h
e
r
t
h
a
n
c
o
p
y
i
n
g
.
#
S
a
v
e
s
g
o
b
s
o
f
d
i
s
k
s
p
a
c
e
a
n
d
m
a
k
e
s
t
h
e
c
l
o
n
e
n
e
a
r
l
y
i
n
s
t
a
n
t
a
n
e
o
u
s
.
#
W
e
d
o
n
&
'
t
d
o
t
h
i
s
i
f
t
h
e
r
e
&
'
s
n
o
l
o
c
a
l
-
d
i
s
k
s
h
a
r
e
d
r
e
p
o
.
g
i
t
c
l
o
n
e
$
S
H
A
R
E
-
n
"
$
P
A
R
E
N
T
"
"
$
D
I
R
N
A
M
E
"
c
d
"
$
D
I
R
N
A
M
E
"
#
I
f
w
e
&
'
r
e
s
h
a
r
i
n
g
a
l
o
c
a
l
r
e
p
o
s
i
t
o
r
y
&
'
s
o
b
j
e
c
t
s
,
u
s
e
t
h
e
N
F
S
s
e
r
v
e
r
a
s
a
#
f
a
l
l
b
a
c
k
s
o
s
t
u
f
f
d
o
e
s
n
&
'
t
b
r
e
a
k
i
f
w
e
u
s
e
t
h
i
s
r
e
p
o
f
r
o
m
a
n
o
t
h
e
r
h
o
s
t
#
t
h
a
t
d
o
e
s
n
&
'
t
h
a
v
e
a
/
d
a
t
a
/
g
i
t
/
t
f
b
d
i
r
e
c
t
o
r
y
.
A
L
T
E
R
N
A
T
E
S
=
.
g
i
t
/
o
b
j
e
c
t
s
/
i
n
f
o
/
a
l
t
e
r
n
a
t
e
s
i
f
[
-
s
$
A
L
T
E
R
N
A
T
E
S
]
;
t
h
e
n
e
c
h
o
$
N
F
S
_
R
E
P
O
/
.
g
i
t
/
o
b
j
e
c
t
s
>
>
$
A
L
T
E
R
N
A
T
E
S
f
i
#
W
e
w
a
n
t
t
o
u
s
e
t
h
e
s
a
m
e
r
e
m
o
t
e
b
r
a
n
c
h
n
a
m
e
(
"
r
e
m
o
t
e
s
/
t
r
u
n
k
"
)
f
o
r
g
i
t
-
s
v
n
#
a
n
d
f
o
r
f
e
t
c
h
e
s
f
r
o
m
t
h
e
s
h
a
r
e
d
g
i
t
r
e
p
o
,
s
o
s
e
t
t
h
a
t
u
p
e
x
p
l
i
c
i
t
l
y
.
g
i
t
c
o
n
f
i
g
r
e
m
o
t
e
.
o
r
i
g
i
n
.
u
r
l
"
f
i
l
e
:
/
/
$
P
A
R
E
N
T
/
.
g
i
t
"
g
i
t
c
o
n
f
i
g
r
e
m
o
t
e
.
o
r
i
g
i
n
.
f
e
t
c
h
r
e
f
s
/
r
e
m
o
t
e
s
/
t
r
u
n
k
:
r
e
f
s
/
r
e
m
o
t
e
s
/
t
r
u
n
k
g
i
t
c
o
n
f
i
g
-
-
r
e
m
o
v
e
-
s
e
c
t
i
o
n
b
r
a
n
c
h
.
m
a
s
t
e
r
#
E
n
a
b
l
e
t
h
e
s
t
a
n
d
a
r
d
c
o
m
m
i
t
t
e
m
p
l
a
t
e
g
i
t
c
o
n
f
i
g
c
o
m
m
i
t
.
t
e
m
p
l
a
t
e
/
h
o
m
e
/
e
n
g
s
h
a
r
e
/
a
d
m
i
n
/
s
c
r
i
p
t
s
/
t
e
m
p
l
a
t
e
s
/
g
i
t
-
c
o
m
m
i
t
-
t
e
m
p
l
a
t
e
.
t
x
t
#
E
n
a
b
l
e
r
e
c
o
r
d
i
n
g
o
f
r
e
b
a
s
e
c
o
n
f
l
i
c
t
r
e
s
o
l
u
t
i
o
n
s
g
i
t
c
o
n
f
i
g
r
e
r
e
r
e
.
e
n
a
b
l
e
d
t
r
u
e
#
N
o
w
f
e
t
c
h
f
r
o
m
t
h
e
s
h
a
r
e
d
r
e
p
o
.
T
h
i
s
m
o
s
t
l
y
j
u
s
t
c
r
e
a
t
e
s
t
h
e
n
e
w
"
t
r
u
n
k
"
#
b
r
a
n
c
h
s
i
n
c
e
w
e
a
l
r
e
a
d
y
h
a
v
e
t
h
e
o
b
j
e
c
t
s
t
h
a
n
k
s
t
o
t
h
e
i
n
i
t
i
a
l
"
g
i
t
c
l
o
n
e
"
.
g
i
t
f
e
t
c
h
o
r
i
g
i
n
#
B
l
o
w
a
w
a
y
t
h
e
"
o
r
i
g
i
n
/
"
b
r
a
n
c
h
e
s
c
r
e
a
t
e
d
b
y
"
g
i
t
c
l
o
n
e
"
-
-
w
e
d
o
n
&
'
t
n
e
e
d
t
h
e
m
.
r
m
-
r
f
.
g
i
t
/
r
e
f
s
/
r
e
m
o
t
e
s
/
o
r
i
g
i
n
#
N
o
w
i
t
&
'
s
t
i
m
e
t
o
t
u
r
n
t
h
i
s
p
l
a
i
n
o
l
d
g
i
t
r
e
p
o
i
n
t
o
a
g
i
t
-
s
v
n
r
e
p
o
.
R
e
a
l
l
y
#
a
l
l
w
e
n
e
e
d
i
s
t
h
e
s
v
n
-
r
e
m
o
t
e
c
o
n
f
i
g
u
r
a
t
i
o
n
(
i
n
s
t
a
l
l
e
d
a
b
o
v
e
)
a
n
d
a
#
m
e
t
a
d
a
t
a
f
i
l
e
w
i
t
h
s
o
m
e
v
e
r
s
i
o
n
i
n
f
o
r
m
a
t
i
o
n
.
g
i
t
-
s
v
n
i
s
s
m
a
r
t
e
n
o
u
g
h
t
o
#
r
e
b
u
i
l
d
t
h
e
o
t
h
e
r
s
t
u
f
f
i
t
n
e
e
d
s
.
e
c
h
o
"
"
e
c
h
o
"
S
y
n
c
h
r
o
n
i
z
i
n
g
w
i
t
h
s
v
n
.
.
.
"
g
i
t
s
v
n
i
n
i
t
-
i
t
r
u
n
k
s
v
n
+
s
s
h
:
/
/
t
u
b
b
s
/
s
v
n
r
o
o
t
/
t
f
b
/
t
r
u
n
k
/
w
w
w
#
N
o
w
t
w
e
a
k
t
h
e
g
i
t
-
s
v
n
c
o
n
f
i
g
a
l
i
t
t
l
e
b
i
t
s
o
i
t
&
'
s
e
a
s
i
e
r
f
o
r
s
o
m
e
o
n
e
t
o
#
g
o
a
d
d
m
o
r
e
"
f
e
t
c
h
"
l
i
n
e
s
i
f
t
h
e
y
w
a
n
t
t
o
t
r
a
c
k
s
v
n
-
s
i
d
e
b
r
a
n
c
h
e
s
i
n
#
a
d
d
i
t
i
o
n
t
o
t
r
u
n
k
.
T
h
i
s
d
o
e
s
n
&
'
t
a
f
f
e
c
t
a
n
y
o
f
t
h
e
e
x
i
s
t
i
n
g
h
i
s
t
o
r
y
.
g
i
t
c
o
n
f
i
g
s
v
n
-
r
e
m
o
t
e
.
s
v
n
.
u
r
l
s
v
n
+
s
s
h
:
/
/
t
u
b
b
s
/
s
v
n
r
o
o
t
g
i
t
c
o
n
f
i
g
s
v
n
-
r
e
m
o
t
e
.
s
v
n
.
f
e
t
c
h
t
f
b
/
t
r
u
n
k
/
w
w
w
:
r
e
f
s
/
r
e
m
o
t
e
s
/
t
r
u
n
k
#
L
e
t
g
i
t
-
s
v
n
u
p
d
a
t
e
i
t
s
m
a
p
p
i
n
g
s
a
n
d
f
e
t
c
h
t
h
e
l
a
t
e
s
t
r
e
v
i
s
i
o
n
s
.
T
h
i
s
c
a
n
#
s
p
e
w
l
o
t
s
o
f
u
n
i
n
t
e
r
e
s
t
i
n
g
o
u
t
p
u
t
s
o
s
u
p
p
r
e
s
s
i
t
.
g
i
t
s
v
n
f
e
t
c
h
>
/
d
e
v
/
n
u
l
l
e
c
h
o
"
"
e
c
h
o
"
C
h
e
c
k
i
n
g
o
u
t
w
o
r
k
i
n
g
c
o
p
y
.
.
.
"
#
W
e
u
s
e
g
i
t
r
e
s
e
t
h
e
r
e
b
e
c
a
u
s
e
t
h
e
g
i
t
s
v
n
f
e
t
c
h
m
i
g
h
t
h
a
v
e
a
d
v
a
n
c
e
d
t
r
u
n
k
#
t
o
a
n
e
w
e
r
r
e
v
i
s
i
o
n
t
h
a
n
t
h
e
m
a
s
t
e
r
b
r
a
n
c
h
c
r
e
a
t
e
d
b
y
g
i
t
c
l
o
n
e
.
g
i
t
r
e
s
e
t
-
-
h
a
r
d
t
r
u
n
k
i
f
[
!
-
d
"
$
H
O
M
E
/
$
D
I
R
N
A
M
E
"
]
;
t
h
e
n
e
c
h
o
"
"
e
c
h
o
"
M
a
k
i
n
g
h
o
m
e
d
i
r
s
y
m
l
i
n
k
:
$
H
O
M
E
/
$
D
I
R
N
A
M
E
"
l
n
-
s
"
l
o
c
a
l
/
$
D
I
R
N
A
M
E
"
"
$
H
O
M
E
/
$
D
I
R
N
A
M
E
"
e
l
s
e
e
c
h
o
"
"
e
c
h
o
"
$
H
O
M
E
/
$
D
I
R
N
A
M
E
a
l
r
e
a
d
y
e
x
i
s
t
s
;
l
e
a
v
i
n
g
i
t
a
l
o
n
e
.
"
f
i
e
c
h
o
"
"
e
c
h
o
"
A
l
l
d
o
n
e
.
T
o
m
a
k
e
t
h
i
s
y
o
u
r
n
e
w
m
a
i
n
s
a
n
d
b
o
x
d
i
r
e
c
t
o
r
y
,
r
u
n
"
e
c
h
o
"
"
e
c
h
o
"
r
m
-
r
f
~
/
w
w
w
"
e
c
h
o
"
l
n
-
s
~
/
$
D
I
R
N
A
M
E
~
/
w
w
w
"
e
c
h
o
"
"
F
a
c
e
b
o
o
k
M
y
s
S
q
l
数
据
库
密
码
数
据
库
密
码
最
后
,
我
想
分
享
一
些
我
认
为
有
趣
的
东
西
。
F
a
c
e
b
o
o
k
&
'
s
M
y
S
Q
L
p
a
s
s
w
o
r
d
.
似
乎
保
存
在
`
p
r
i
n
t
_
r
(
)
`
数
组
a
r
r
a
y
(
&
'
i
p
&
'
=
>
&
'
1
0
.
2
1
.
2
0
9
.
9
2
&
'
,
&
'
d
b
_
n
a
m
e
&
'
=
>
&
'
i
n
s
i
g
h
t
s
&
'
,
&
'
u
s
e
r
&
'
=
>
&
'
m
a
r
k
&
'
,
&
'
p
a
s
s
&
'
=
>
&
'
e
5
p
0
n
d
4
&
'
,
&
'
m
o
d
e
&
'
=
>
&
'
r
&
'
,
&
'
p
o
r
t
&
'
=
>
3
3
0
6
,
&
'
c
l
e
a
n
u
p
&
'
=
>
f
a
l
s
e
,
&
'
n
u
m
_
r
e
t
r
i
e
s
&
'
=
>
3
,
&
'
l
o
g
_
a
f
t
e
r
_
n
u
m
_
r
e
t
r
i
e
s
&
'
=
>
4
,
&
'
r
e
a
s
o
n
&
'
=
>
&
'
i
n
s
i
g
h
t
s
&
'
,
&
'
c
d
b
&
'
=
>
t
r
u
e
,
&
'
f
l
a
g
s
&
'
=
>
0
,
&
'
i
s
_
s
h
a
d
o
w
&
'
=
>
f
a
l
s
e
,
&
'
b
a
c
k
o
f
f
_
r
e
t
r
y
&
'
=
>
f
a
l
s
e
,
)
H
o
s
t
:
1
0
.
2
1
.
2
0
9
.
9
2
(
P
r
i
v
a
t
e
I
P
)
D
a
t
a
b
a
s
e
N
a
m
e
:
i
n
s
i
g
h
t
s
U
s
e
r
:
m
a
r
k
P
a
s
s
w
o
r
d
:
e
5
p
0
n
d
4
O
k
a
y
,
尽
管
F
a
c
e
b
o
o
k
数
据
库
服
务
有
大
量
防
火
墙
进
行
保
护
,
这
也
许
不
是
最
安
全
的
密
码
。
学
习
收
获
学
习
收
获
我
们
今
天
学
到
了
什
么
呢
?
我
们
最
好
不
要
在
面
向
公
众
的
站
点
(
就
比
如
共
享
工
具
我
们
今
天
学
到
了
什
么
呢
?
我
们
最
好
不
要
在
面
向
公
众
的
站
点
(
就
比
如
共
享
工
具
P
a
s
t
e
b
i
n
)
发
布
内
部
源
码
。
另
外
还
有
一
点
:
确
保
调
试
信
息
不
会
被
用
户
看
到
。
)
发
布
内
部
源
码
。
另
外
还
有
一
点
:
确
保
调
试
信
息
不
会
被
用
户
看
到
。
下
载
地
址
下
载
地
址
声
明
:
仅
供
学
习
和
研
究
用
途
链
接
:
h
t
t
p
:
/
/
p
a
n
.
b
a
i
d
u
.
c
o
m
/
s
/
1
k
T
E
B
X
u
J
密
码
:
p
3
v
e
密
码
:
f
r
e
e
b
u
f
.
c
o
m
[
参
考
来
源
参
考
来
源
S
i
n
t
h
e
t
i
c
L
a
b
s
,
译
,
译
/
实
习
编
辑
鸢
尾
,
转
载
请
注
明
来
自
实
习
编
辑
鸢
尾
,
转
载
请
注
明
来
自
F
r
e
e
b
u
f
黑
客
与
极
客
(
黑
客
与
极
客
(
F
r
e
e
B
u
f
.
C
O
M
)
)
]
阅
读
原
文
回复
举报
上一个主题
下一个主题
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
本版积分规则
发表回复
!disable!!post_parseurl!
使用Markdown编辑器编辑
使用富文本编辑器编辑
回帖后跳转到最后一页