6 captures
17 Sep 2020 - 25 Oct 2024
Aug
SEP
Oct
17
2019
2020
2021
success
fail
About this capture
COLLECTED BY
Organization:
Internet Archive
Focused crawls are collections of frequently-updated webcrawl data from narrow (as opposed to broad or wide) web crawls, often focused on a single domain or subdomain.
Collection:
github.com
TIMESTAMPS
T
h
e
W
a
y
b
a
c
k
M
a
c
h
i
n
e
-
h
t
t
p
:
/
/
w
e
b
.
a
r
c
h
i
v
e
.
o
r
g
/
w
e
b
/
2
0
2
0
0
9
1
7
1
5
2
1
1
5
/
h
t
t
p
s
:
/
/
g
i
t
h
u
b
.
c
o
m
/
d
a
t
a
-
f
l
a
i
r
/
p
y
t
h
o
n
-
t
u
t
o
r
i
a
l
S
k
i
p
t
o
c
o
n
t
e
n
t
/
;
r
e
f
_
c
t
a
:
S
i
g
n
u
p
;
r
e
f
_
l
o
c
:
h
e
a
d
e
r
l
o
g
g
e
d
o
u
t
"
>
S
i
g
n
up
●
W
h
y
G
i
t
H
u
b
?
F
e
a
t
u
r
e
s
→
●
C
o
d
e
r
e
v
i
e
w
●
P
r
o
j
e
c
t
m
a
n
a
g
e
m
e
n
t
●
I
n
t
e
g
r
a
t
i
o
n
s
●
A
c
t
i
o
n
s
●
P
a
c
k
a
g
e
s
●
S
e
c
u
r
i
t
y
●
T
e
a
m
m
a
n
a
g
e
m
e
n
t
●
H
o
s
t
i
n
g
●
M
o
b
i
l
e
●
C
u
s
t
o
m
e
r
s
t
o
r
i
e
s
→
●
S
e
c
u
r
i
t
y
→
●
T
e
a
m
●
E
n
t
e
r
p
r
i
s
e
●
E
x
p
l
o
r
e
●
E
x
p
l
o
r
e
G
i
t
H
u
b
→
L
e
a
r
n
&
c
o
n
t
r
i
b
u
t
e
●
T
o
p
i
c
s
●
C
o
l
l
e
c
t
i
o
n
s
●
T
r
e
n
d
i
n
g
●
L
e
a
r
n
i
n
g
L
a
b
●
O
p
e
n
s
o
u
r
c
e
g
u
i
d
e
s
C
o
n
n
e
c
t
w
i
t
h
o
t
h
e
r
s
●
E
v
e
n
t
s
●
C
o
m
m
u
n
i
t
y
f
o
r
u
m
●
G
i
t
H
u
b
E
d
u
c
a
t
i
o
n
●
G
i
t
H
u
b
S
t
a
r
s
p
r
o
g
r
a
m
●
M
a
r
k
e
t
p
l
a
c
e
●
P
r
i
c
i
n
g
P
l
a
n
s
→
●
C
o
m
p
a
r
e
p
l
a
n
s
●
C
o
n
t
a
c
t
S
a
l
e
s
●
N
o
n
p
r
o
f
i
t
→
●
E
d
u
c
a
t
i
o
n
→
In this repository
All GitHub
↵
Jump to
↵
No suggested jump to results
In this repository
All GitHub
↵
Jump to
↵
In this repository
All GitHub
↵
Jump to
↵
S
i
g
n
in
/
;
r
e
f
_
c
t
a
:
S
i
g
n
u
p
;
r
e
f
_
l
o
c
:
h
e
a
d
e
r
l
o
g
g
e
d
o
u
t
"
>
S
i
g
n
up
{
{
m
e
s
s
a
g
e
}
}
d
a
t
a
-
f
l
a
i
r
/
p
y
t
h
o
n
-
t
u
t
o
r
i
a
l
●
W
a
t
c
h
3
●
S
t
a
r
23
●
F
o
r
k
6
P
y
t
h
o
n
T
u
t
o
r
i
a
l
-
l
e
a
r
n
P
y
t
h
o
n
f
r
o
m
s
c
r
a
t
c
h
w
i
t
h
2
7
0
+
P
y
t
h
o
n
t
u
t
o
r
i
a
l
s
f
o
r
b
e
g
i
n
n
e
r
s
&
e
x
p
e
r
i
e
n
c
e
d
.
E
x
p
l
o
r
e
P
y
t
h
o
n
f
e
a
t
u
r
e
s
,
s
y
n
t
a
x
,
p
y
t
h
o
n
a
p
p
l
i
c
a
t
i
o
n
s
,
p
y
t
h
o
n
u
s
e
-
c
a
s
e
s
,
p
y
t
h
o
n
a
r
c
h
i
t
e
c
t
u
r
e
,
p
y
t
h
o
n
p
r
o
j
e
c
t
s
a
n
d
m
a
n
y
m
o
r
e
.
d
a
t
a
-
f
l
a
i
r
.
t
r
a
i
n
i
n
g
/
b
l
o
g
s
/
p
y
t
h
o
n
-
t
u
t
o
r
i
a
l
s
-
h
o
m
e
/
23
s
t
a
r
s
6
f
o
r
k
s
S
t
a
r
W
a
t
c
h
●
C
o
d
e
●
I
s
s
u
e
s
0
●
P
u
l
l
r
e
q
u
e
s
t
s
0
●
A
c
t
i
o
n
s
●
P
r
o
j
e
c
t
s
0
●
S
e
c
u
r
i
t
y
●
I
n
s
i
g
h
t
s
M
o
r
e
●
C
o
d
e
●
I
s
s
u
e
s
●
P
u
l
l
r
e
q
u
e
s
t
s
●
A
c
t
i
o
n
s
●
P
r
o
j
e
c
t
s
●
S
e
c
u
r
i
t
y
●
I
n
s
i
g
h
t
s
D
i
s
m
i
s
s
J
o
i
n
G
i
t
H
u
b
t
o
d
a
y
G
i
t
H
u
b
i
s
h
o
m
e
t
o
o
v
e
r
5
0
m
i
l
l
i
o
n
d
e
v
e
l
o
p
e
r
s
w
o
r
k
i
n
g
t
o
g
e
t
h
e
r
t
o
h
o
s
t
a
n
d
r
e
v
i
e
w
c
o
d
e
,
m
a
n
a
g
e
p
r
o
j
e
c
t
s
,
a
n
d
b
u
i
l
d
s
o
f
t
w
a
r
e
t
o
g
e
t
h
e
r
.
S
i
g
n
u
p
m
a
s
t
e
r
1
b
r
a
n
c
h
0
t
a
g
s
G
o
t
o
f
i
l
e
C
o
d
e
C
l
o
n
e
w
i
t
h
H
T
T
P
S
U
s
e
G
i
t
o
r
c
h
e
c
k
o
u
t
w
i
t
h
S
V
N
u
s
i
n
g
t
h
e
w
e
b
U
R
L
.
●
O
p
e
n
w
i
t
h
G
i
t
H
u
b
D
e
s
k
t
o
p
●
D
o
w
n
l
o
a
d
Z
I
P
L
a
u
n
c
h
i
n
g
G
i
t
H
u
b
D
e
s
k
t
o
p
I
f
n
o
t
h
i
n
g
h
a
p
p
e
n
s
,
d
o
w
n
l
o
a
d
G
i
t
H
u
b
D
e
s
k
t
o
p
a
n
d
t
r
y
a
g
a
i
n
.
G
o
b
a
c
k
L
a
u
n
c
h
i
n
g
G
i
t
H
u
b
D
e
s
k
t
o
p
I
f
n
o
t
h
i
n
g
h
a
p
p
e
n
s
,
d
o
w
n
l
o
a
d
G
i
t
H
u
b
D
e
s
k
t
o
p
a
n
d
t
r
y
a
g
a
i
n
.
G
o
b
a
c
k
L
a
u
n
c
h
i
n
g
X
c
o
d
e
I
f
n
o
t
h
i
n
g
h
a
p
p
e
n
s
,
d
o
w
n
l
o
a
d
X
c
o
d
e
a
n
d
t
r
y
a
g
a
i
n
.
G
o
b
a
c
k
L
a
u
n
c
h
i
n
g
V
i
s
u
a
l
S
t
u
d
i
o
I
f
n
o
t
h
i
n
g
h
a
p
p
e
n
s
,
d
o
w
n
l
o
a
d
t
h
e
G
i
t
H
u
b
e
x
t
e
n
s
i
o
n
f
o
r
V
i
s
u
a
l
S
t
u
d
i
o
a
n
d
t
r
y
a
g
a
i
n
.
G
o
b
a
c
k
L
a
t
e
s
t
c
o
m
m
i
t
G
i
t
s
t
a
t
s
●
27
c
o
m
m
i
t
s
F
i
l
e
s
P
e
r
m
a
l
i
n
k
F
a
i
l
e
d
t
o
l
o
a
d
l
a
t
e
s
t
c
o
m
m
i
t
i
n
f
o
r
m
a
t
i
o
n
.
T
y
p
e
N
a
m
e
L
a
t
e
s
t
c
o
m
m
i
t
m
e
s
s
a
g
e
C
o
m
m
i
t
t
i
m
e
R
E
A
D
M
E
.
m
d
_
c
o
n
f
i
g
.
y
m
l
V
i
e
w
c
o
d
e
R
E
A
D
M
E
.
m
d
P
y
t
h
o
n
T
u
t
o
r
i
a
l
T
h
i
s
P
y
t
h
o
n
t
u
t
o
r
i
a
l
f
o
r
b
e
g
i
n
n
e
r
s
p
r
o
v
i
d
e
s
c
o
m
p
l
e
t
e
o
v
e
r
v
i
e
w
o
f
P
y
t
h
o
n
.
E
x
p
l
o
r
e
r
P
y
t
h
o
n
f
e
a
t
u
r
e
s
,
P
y
t
h
o
n
s
y
n
t
a
x
,
p
y
t
h
o
n
a
p
p
l
i
c
a
t
i
o
n
s
,
p
y
t
h
o
n
p
r
o
j
e
c
t
s
.
Y
o
u
w
i
l
l
a
l
s
o
g
e
t
2
7
0
+
f
r
e
e
p
y
t
h
o
n
t
u
t
o
r
i
a
l
s
t
o
l
e
a
r
n
p
y
t
h
o
n
f
r
o
m
s
c
r
a
t
c
h
.
G
o
f
r
o
m
z
e
r
o
t
o
h
e
r
o
w
i
t
h
t
h
i
s
p
y
t
h
o
n
t
u
t
o
r
i
a
l
1
.
W
h
a
t
i
s
P
y
t
h
o
n
?
P
y
t
h
o
n
h
a
s
q
u
i
c
k
l
y
b
e
c
o
m
e
a
f
a
v
o
r
i
t
e
-
i
t
’
s
b
e
i
n
g
t
a
u
g
h
t
i
n
u
n
i
v
e
r
s
i
t
i
e
s
,
a
n
d
a
l
s
o
b
e
i
n
g
u
s
e
d
f
o
r
e
v
e
r
y
t
h
i
n
g
f
r
o
m
s
c
r
i
p
t
i
n
g
a
n
d
w
e
b
d
e
v
e
l
o
p
m
e
n
t
t
o
m
a
c
h
i
n
e
l
e
a
r
n
i
n
g
a
n
d
d
a
t
a
s
c
i
e
n
c
e
.
B
u
t
w
h
a
t
i
s
P
y
t
h
o
n
?
P
y
t
h
o
n
i
s
a
g
e
n
e
r
a
l
-
p
u
r
p
o
s
e
p
r
o
g
r
a
m
m
i
n
g
l
a
n
g
u
a
g
e
t
h
a
t
i
s
i
n
t
e
r
p
r
e
t
e
d
,
o
b
j
e
c
t
-
o
r
i
e
n
t
e
d
a
n
d
d
y
n
a
m
i
c
a
l
l
y
-
t
y
p
e
d
.
G
u
i
d
o
V
a
n
R
o
s
s
u
m
,
i
t
s
B
D
F
L
(
B
e
n
e
v
o
l
e
n
t
D
i
c
t
a
t
o
r
F
o
r
L
i
f
e
)
,
n
a
m
e
d
i
t
o
v
e
r
t
h
e
B
r
i
t
i
s
h
c
o
m
e
d
y
g
r
o
u
p
M
o
n
t
y
P
y
t
h
o
n
.
T
h
e
i
m
p
l
e
m
e
n
t
a
t
i
o
n
w
e
w
i
d
e
l
y
u
s
e
i
s
C
P
y
t
h
o
n
(
w
r
i
t
t
e
n
i
n
C
)
.
P
y
t
h
o
n
h
a
s
p
o
w
e
r
f
u
l
f
r
a
m
e
w
o
r
k
s
a
n
d
l
i
b
r
a
r
i
e
s
.
Y
o
u
c
a
n
i
n
s
t
a
l
l
t
h
e
s
e
l
i
b
r
a
r
i
e
s
w
i
t
h
p
i
p
,
a
n
d
f
i
n
d
t
h
e
m
i
n
P
y
P
I
(
P
y
t
h
o
n
P
a
c
k
a
g
e
I
n
d
e
x
)
.
B
e
f
o
r
e
p
r
o
c
e
e
d
i
n
g
a
h
e
a
d
i
t
i
s
r
e
c
o
m
m
e
n
d
e
d
t
o
r
e
f
e
r
:
2
4
0
+
F
r
e
e
t
u
t
o
r
i
a
l
s
t
o
m
a
s
t
e
r
P
y
t
h
o
n
2
.
W
h
y
L
e
a
r
n
P
y
t
h
o
n
?
T
h
e
r
e
i
s
m
o
r
e
t
h
a
n
o
n
e
r
e
a
s
o
n
w
h
y
y
o
u
s
h
o
u
l
d
l
e
a
r
n
t
h
i
s
l
a
n
g
u
a
g
e
:
●
I
t
i
s
g
r
e
a
t
f
o
r
b
o
t
h
s
t
a
r
t
u
p
s
a
s
w
e
l
l
a
s
b
i
g
o
r
g
a
n
i
z
a
t
i
o
n
s
.
I
t
i
s
a
l
s
o
b
e
g
i
n
n
e
r
-
f
r
i
e
n
d
l
y
.
●
P
y
t
h
o
n
i
s
o
p
e
n
-
s
o
u
r
c
e
a
n
d
h
a
s
a
l
a
r
g
e
c
o
m
m
u
n
i
t
y
.
I
t
i
s
o
n
e
o
f
t
h
e
t
o
p
5
i
n
t
h
e
l
a
r
g
e
s
t
c
o
m
m
u
n
i
t
i
e
s
o
n
S
t
a
c
k
O
v
e
r
f
l
o
w
,
t
h
e
m
o
s
t
-
u
s
e
d
l
a
n
g
u
a
g
e
s
o
n
G
i
t
H
u
b
,
a
n
d
t
h
e
l
a
r
g
e
s
t
M
e
e
t
u
p
c
o
m
m
u
n
i
t
i
e
s
.
●
I
t
h
a
s
g
r
e
a
t
c
a
r
e
e
r
o
p
p
o
r
t
u
n
i
t
i
e
s
.
P
y
t
h
o
n
j
o
b
s
p
a
y
w
e
l
l
a
n
d
p
r
o
v
i
d
e
s
t
a
b
i
l
i
t
y
.
●
P
y
t
h
o
n
h
a
s
m
a
n
y
p
o
w
e
r
f
u
l
f
r
a
m
e
w
o
r
k
s
l
i
k
e
D
j
a
n
g
o
a
n
d
F
l
a
s
k
f
o
r
w
e
b
d
e
v
e
l
o
p
m
e
n
t
.
T
h
e
y
t
a
k
e
c
a
r
e
o
f
t
h
e
t
r
i
v
i
a
l
t
a
s
k
s
a
n
d
m
a
k
e
i
t
e
a
s
i
e
r
t
o
d
e
v
e
l
o
p
f
o
r
t
h
e
w
e
b
.
●
I
t
i
s
a
l
s
o
g
r
e
a
t
f
o
r
m
a
c
h
i
n
e
l
e
a
r
n
i
n
g
,
d
a
t
a
s
c
i
e
n
c
e
,
a
n
d
a
r
t
i
f
i
c
i
a
l
i
n
t
e
l
l
i
g
e
n
c
e
.
I
t
h
a
s
l
i
b
r
a
r
i
e
s
f
o
r
t
a
s
k
s
i
n
v
o
l
v
e
d
i
n
t
h
e
s
e
d
o
m
a
i
n
s
.
●
Y
o
u
c
a
n
u
s
e
R
a
s
p
b
e
r
r
y
P
i
t
o
c
r
e
a
t
e
D
I
Y
s
a
n
d
o
t
h
e
r
p
r
o
j
e
c
t
s
l
i
k
e
r
o
b
o
t
s
,
a
r
c
a
d
e
m
a
c
h
i
n
e
s
,
r
e
m
o
t
e
-
c
o
n
t
r
o
l
l
e
d
t
o
y
s
,
a
n
d
c
a
m
e
r
a
s
.
●
P
y
t
h
o
n
’
s
r
e
a
d
a
b
i
l
i
t
y
a
n
d
e
a
s
e
-
o
f
-
u
s
e
m
a
k
e
d
e
v
e
l
o
p
e
r
s
m
o
r
e
p
r
o
d
u
c
t
i
v
e
.
T
o
p
7
r
e
a
s
o
n
s
w
h
y
y
o
u
m
u
s
t
l
e
a
r
n
p
y
t
h
o
n
3
.
W
h
a
t
i
s
i
t
u
s
e
d
f
o
r
?
P
y
t
h
o
n
i
s
a
g
e
n
e
r
a
l
-
p
u
r
p
o
s
e
l
a
n
g
u
a
g
e
,
b
u
t
i
s
u
s
e
d
a
l
m
o
s
t
e
v
e
r
y
w
h
e
r
e
:
●
W
e
b
d
e
v
e
l
o
p
m
e
n
t
●
G
a
m
e
d
e
v
e
l
o
p
m
e
n
t
●
M
a
c
h
i
n
e
L
e
a
r
n
i
n
g
●
D
a
t
a
S
c
i
e
n
c
e
●
A
r
t
i
f
i
c
i
a
l
I
n
t
e
l
l
i
g
e
n
c
e
●
S
c
r
i
p
t
i
n
g
●
C
o
m
p
u
t
e
r
V
i
s
i
o
n
●
S
c
r
a
p
i
n
g
●
N
a
t
u
r
a
l
L
a
n
g
u
a
g
e
P
r
o
c
e
s
s
i
n
g
●
D
a
t
a
a
n
a
l
y
t
i
c
s
●
S
c
i
e
n
t
i
f
i
c
a
n
d
N
u
m
e
r
i
c
c
o
m
p
u
t
i
n
g
●
S
o
f
t
w
a
r
e
A
p
p
l
i
c
a
t
i
o
n
D
e
v
e
l
o
p
m
e
n
t
●
D
e
s
k
t
o
p
G
U
I
●
N
e
t
w
o
r
k
P
r
o
g
r
a
m
m
i
n
g
4
.
I
s
P
y
t
h
o
n
E
a
s
y
t
o
L
e
a
r
n
?
P
y
t
h
o
n
i
s
d
e
f
i
n
i
t
e
l
y
e
a
s
y
t
o
l
e
a
r
n
,
t
h
a
t
i
s
w
h
y
p
y
t
h
o
n
i
s
t
a
u
g
h
t
t
o
u
n
i
v
e
r
s
i
t
y
s
t
u
d
e
n
t
s
-
t
o
c
r
e
a
t
e
i
n
t
e
r
e
s
t
i
n
p
r
o
g
r
a
m
m
i
n
g
.
Y
o
u
c
a
n
g
a
i
n
e
x
p
e
r
t
i
s
e
i
n
p
y
t
h
o
n
w
i
t
h
t
h
i
s
f
r
e
e
p
y
t
h
o
n
t
u
t
o
r
i
a
l
.
P
y
t
h
o
n
i
s
:
●
E
a
s
y
t
o
l
e
a
r
n
-
i
t
h
a
s
a
s
m
o
o
t
h
l
e
a
r
n
i
n
g
c
u
r
v
e
●
E
a
s
y
t
o
r
e
a
d
-
i
t
i
s
e
a
s
y
t
o
r
e
a
d
a
n
d
u
n
d
e
r
s
t
a
n
d
s
o
m
e
o
n
e
e
l
s
e
’
s
c
o
d
e
●
E
a
s
y
t
o
w
r
i
t
e
-
P
y
t
h
o
n
’
s
s
y
n
t
a
x
i
s
l
i
k
e
E
n
g
l
i
s
h
●
E
a
s
y
t
o
d
e
b
u
g
-
i
t
g
i
v
e
s
y
o
u
f
u
l
l
t
r
a
c
e
b
a
c
k
s
5
.
H
o
w
t
o
L
e
a
r
n
P
y
t
h
o
n
?
W
a
n
t
t
o
l
e
a
r
n
P
y
t
h
o
n
a
n
d
b
u
i
l
d
a
c
a
r
e
e
r
i
n
i
t
?
W
e
h
a
v
e
l
a
i
d
d
o
w
n
s
t
e
p
s
t
o
h
e
l
p
y
o
u
:
●
F
a
s
t
-
p
a
c
e
y
o
u
r
l
e
a
r
n
i
n
g
a
n
d
t
a
k
e
a
l
e
a
d
f
r
o
m
c
r
o
w
d
w
i
t
h
D
a
t
a
F
l
a
i
r
'
s
P
y
t
h
o
n
C
o
u
r
s
e
●
2
7
0
+
f
r
e
e
t
u
t
o
r
i
a
l
s
t
o
l
e
a
r
n
p
y
t
h
o
n
f
r
o
m
s
c
r
a
t
c
h
●
C
o
d
e
w
h
i
l
e
y
o
u
l
e
a
r
n
●
R
e
a
d
b
o
o
k
s
●
W
a
t
c
h
v
i
d
e
o
s
/
D
o
a
n
o
n
l
i
n
e
P
y
t
h
o
n
c
o
u
r
s
e
●
W
o
r
k
w
i
t
h
m
a
c
h
i
n
e
l
e
a
r
n
i
n
g
a
n
d
o
t
h
e
r
l
i
b
r
a
r
i
e
s
●
B
u
i
l
d
p
r
o
j
e
c
t
s
●
R
e
a
d
i
n
t
e
r
v
i
e
w
q
u
e
s
t
i
o
n
s
●
C
o
n
t
r
i
b
u
t
e
t
o
o
p
e
n
-
s
o
u
r
c
e
p
r
o
j
e
c
t
s
●
P
y
t
h
o
n
c
h
e
a
t
s
h
e
e
t
c
o
n
t
a
i
n
i
n
g
1
0
0
s
o
f
f
r
e
e
t
u
t
o
r
i
a
l
s
,
p
r
a
c
t
i
c
a
l
s
,
p
r
o
j
e
c
t
s
,
(
e
v
e
r
y
t
h
i
n
g
y
o
u
n
e
e
d
t
o
m
a
s
t
e
r
p
y
t
h
o
n
)
T
o
p
P
y
t
h
o
n
B
o
o
k
s
T
h
e
s
e
a
r
e
s
o
m
e
b
o
o
k
s
y
o
u
s
h
o
u
l
d
r
e
a
d
t
o
i
m
p
r
o
v
e
y
o
u
r
P
y
t
h
o
n
s
k
i
l
l
s
:
●
L
e
a
r
n
i
n
g
P
y
t
h
o
n
-
M
a
r
k
L
u
t
z
●
P
y
t
h
o
n
C
o
o
k
b
o
o
k
-
D
a
v
i
d
B
e
a
z
l
e
y
a
n
d
B
r
i
a
n
K
.
J
o
n
e
s
●
P
y
t
h
o
n
f
o
r
D
a
t
a
A
n
a
l
y
s
i
s
-
W
e
s
M
c
K
i
n
n
e
y
●
P
y
t
h
o
n
E
s
s
e
n
t
i
a
l
R
e
f
e
r
e
n
c
e
-
D
a
v
i
d
B
e
a
z
l
e
y
●
P
y
t
h
o
n
i
n
a
N
u
t
s
h
e
l
l
-
A
l
e
x
M
a
r
t
e
l
l
i
●
V
i
o
l
e
n
t
P
y
t
h
o
n
-
T
J
O
’
C
o
n
n
o
r
●
P
y
t
h
o
n
P
o
c
k
e
t
R
e
f
e
r
e
n
c
e
-
M
a
r
k
L
u
t
z
T
o
p
1
0
P
y
t
h
o
n
B
o
o
k
s
f
o
r
B
e
g
i
n
n
e
r
s
&
E
x
p
e
r
i
e
n
c
e
d
6
.
B
a
s
i
c
s
o
f
P
y
t
h
o
n
f
o
r
b
e
g
i
n
n
e
r
s
a
.
P
y
t
h
o
n
B
a
s
i
c
C
o
n
s
t
r
u
c
t
s
L
e
t
’
s
f
i
r
s
t
s
e
e
w
h
a
t
P
y
t
h
o
n
l
o
o
k
s
l
i
k
e
.
●
F
u
n
c
t
i
o
n
s
-
C
o
l
l
e
c
t
i
o
n
s
o
f
s
t
a
t
e
m
e
n
t
s
g
r
o
u
p
e
d
u
n
d
e
r
a
n
a
m
e
.
M
a
y
o
r
m
a
y
n
o
t
r
e
t
u
r
n
a
v
a
l
u
e
.
●
C
l
a
s
s
e
s
a
n
d
O
b
j
e
c
t
s
-
P
y
t
h
o
n
i
s
o
b
j
e
c
t
-
o
r
i
e
n
t
e
d
.
A
c
l
a
s
s
i
s
a
n
a
b
s
t
r
a
c
t
d
a
t
a
t
y
p
e
a
n
d
a
b
l
u
e
p
r
i
n
t
w
i
t
h
n
o
v
a
l
u
e
s
.
A
n
o
b
j
e
c
t
i
s
a
n
i
n
s
t
a
n
c
e
o
f
a
c
l
a
s
s
.
E
v
e
r
y
t
h
i
n
g
i
n
P
y
t
h
o
n
i
s
a
n
o
b
j
e
c
t
.
●
M
o
d
u
l
e
s
-
M
o
d
u
l
e
s
a
r
e
c
o
l
l
e
c
t
i
o
n
s
o
f
r
e
l
a
t
e
d
c
l
a
s
s
e
s
a
n
d
f
u
n
c
t
i
o
n
s
.
Y
o
u
c
a
n
u
s
e
c
o
d
e
f
r
o
m
t
h
e
s
e
i
n
s
t
e
a
d
o
f
w
r
i
t
i
n
g
y
o
u
r
o
w
n
f
o
r
t
r
i
v
i
a
l
f
u
n
c
t
i
o
n
a
l
i
t
y
.
●
P
a
c
k
a
g
e
s
-
T
h
e
y
a
r
e
c
o
l
l
e
c
t
i
o
n
s
o
f
r
e
l
a
t
e
d
m
o
d
u
l
e
s
.
Y
o
u
c
a
n
a
l
s
o
c
r
e
a
t
e
y
o
u
r
o
w
n
p
a
c
k
a
g
e
s
.
●
L
i
s
t
s
-
T
h
e
s
e
a
r
e
c
o
l
l
e
c
t
i
o
n
s
o
f
v
a
l
u
e
s
i
n
t
h
e
C
S
V
f
o
r
m
a
t
.
L
i
s
t
s
a
r
e
m
u
t
a
b
l
e
o
b
j
e
c
t
s
.
●
T
u
p
l
e
s
-
T
h
e
s
e
a
r
e
l
i
k
e
l
i
s
t
s
,
b
u
t
i
m
m
u
t
a
b
l
e
.
●
D
i
c
t
i
o
n
a
r
i
e
s
-
T
h
e
s
e
a
r
e
c
o
l
l
e
c
t
i
o
n
s
o
f
k
e
y
-
v
a
l
u
e
p
a
i
r
s
d
e
f
i
n
e
d
u
s
i
n
g
c
u
r
l
y
b
r
a
c
e
s
.
●
S
e
t
s
-
T
h
e
y
c
a
n
’
t
h
a
v
e
d
u
p
l
i
c
a
t
e
s
,
a
n
d
a
r
e
m
u
t
a
b
l
e
.
●
C
o
m
m
e
n
t
s
a
n
d
D
o
c
s
t
r
i
n
g
s
-
C
o
m
m
e
n
t
s
a
r
e
f
o
r
t
h
e
d
e
v
e
l
o
p
e
r
,
e
x
p
l
a
i
n
c
o
d
e
a
n
d
a
r
e
d
e
c
l
a
r
e
d
w
i
t
h
a
h
a
s
h
(
#
)
s
i
g
n
.
D
o
c
s
t
r
i
n
g
s
a
r
e
d
o
c
u
m
e
n
t
a
t
i
o
n
s
t
r
i
n
g
s
t
h
a
t
e
x
p
l
a
i
n
c
o
d
e
.
T
h
e
r
e
a
r
e
n
o
m
u
l
t
i
l
i
n
e
c
o
m
m
e
n
t
s
.
b
.
P
y
t
h
o
n
F
e
a
t
u
r
e
s
L
e
t
’
s
d
i
s
c
u
s
s
s
o
m
e
f
e
a
t
u
r
e
s
o
f
P
y
t
h
o
n
n
o
w
.
●
E
a
s
y
t
o
l
e
a
r
n
/
r
e
a
d
/
w
r
i
t
e
/
d
e
b
u
g
●
E
x
p
r
e
s
s
i
v
e
●
F
r
e
e
a
n
d
O
p
e
n
-
S
o
u
r
c
e
●
H
i
g
h
-
l
e
v
e
l
●
P
o
r
t
a
b
l
e
●
I
n
t
e
r
p
r
e
t
e
d
●
O
b
j
e
c
t
-
o
r
i
e
n
t
e
d
●
E
x
t
e
n
s
i
b
l
e
●
E
m
b
e
d
d
a
b
l
e
●
L
a
r
g
e
s
t
a
n
d
a
r
d
l
i
b
r
a
r
y
●
G
U
I
p
r
o
g
r
a
m
m
i
n
g
●
D
y
n
a
m
i
c
a
l
l
y
t
y
p
e
d
U
n
i
q
u
e
f
e
a
t
u
r
e
s
w
h
i
c
h
m
a
k
e
P
y
t
h
o
n
m
o
s
t
p
o
p
u
l
a
r
p
r
o
g
r
a
m
m
i
n
g
l
a
n
g
u
a
g
e
o
n
t
h
e
p
l
a
n
e
t
c
.
C
o
n
c
e
p
t
s
t
o
l
e
a
r
n
P
y
t
h
o
n
L
e
t
’
s
t
a
l
k
a
b
o
u
t
t
h
e
i
m
p
o
r
t
a
n
t
c
o
n
c
e
p
t
s
y
o
u
s
h
o
u
l
d
l
e
a
r
n
i
n
P
y
t
h
o
n
.
●
S
y
n
t
a
x
●
S
t
a
t
e
m
e
n
t
s
,
I
n
d
e
n
t
a
t
i
o
n
,
a
n
d
C
o
m
m
e
n
t
s
●
V
a
r
i
a
b
l
e
s
a
n
d
D
a
t
a
T
y
p
e
s
●
N
u
m
b
e
r
s
●
S
t
r
i
n
g
s
●
B
o
o
l
e
a
n
s
●
V
a
r
i
a
b
l
e
S
c
o
p
e
●
I
d
e
n
t
i
f
i
e
r
s
●
N
a
m
e
s
p
a
c
e
a
n
d
S
c
o
p
e
●
O
p
e
r
a
t
o
r
s
●
B
i
t
w
i
s
e
●
C
o
m
p
a
r
i
s
o
n
●
P
r
e
c
e
d
e
n
c
e
●
S
l
i
c
i
n
g
●
T
e
r
n
a
r
y
●
D
a
t
a
S
t
r
u
c
t
u
r
e
s
●
L
i
s
t
s
●
T
u
p
l
e
s
●
D
i
c
t
i
o
n
a
r
i
e
s
●
S
e
t
s
●
C
o
m
p
r
e
h
e
n
s
i
o
n
s
●
D
e
c
i
s
i
o
n
M
a
k
i
n
g
●
S
w
i
t
c
h
●
L
o
o
p
s
●
F
u
n
c
t
i
o
n
s
●
B
u
i
l
t
-
i
n
f
u
n
c
t
i
o
n
s
●
r
a
n
g
e
(
)
,
z
i
p
(
)
,
e
v
a
l
(
)
,
e
x
e
c
(
)
,
r
e
p
r
(
)
●
F
u
n
c
t
i
o
n
a
r
g
u
m
e
n
t
s
●
R
e
c
u
r
s
i
o
n
●
L
a
m
b
d
a
e
x
p
r
e
s
s
i
o
n
s
●
O
b
j
e
c
t
-
O
r
i
e
n
t
e
d
●
C
l
a
s
s
e
s
a
n
d
O
b
j
e
c
t
s
●
M
e
t
h
o
d
s
●
I
n
h
e
r
i
t
a
n
c
e
a
n
d
t
y
p
e
s
●
O
p
e
r
a
t
o
r
o
v
e
r
l
o
a
d
i
n
g
●
p
r
o
p
e
r
t
y
c
l
a
s
s
●
S
h
a
l
l
o
w
a
n
d
d
e
e
p
c
o
p
y
i
n
g
●
M
o
d
u
l
e
s
●
o
s
,
p
p
r
i
n
t
,
s
y
s
,
a
r
r
a
y
,
i
t
e
r
t
o
o
l
s
●
C
o
u
n
t
e
r
,
d
e
f
a
u
l
t
d
i
c
t
,
O
r
d
e
r
e
d
D
i
c
t
,
n
a
m
e
d
t
u
p
l
e
●
d
a
t
e
t
i
m
e
,
c
a
l
e
n
d
a
r
●
P
a
c
k
a
g
e
s
●
W
o
r
k
i
n
g
w
i
t
h
f
i
l
e
s
●
R
e
a
d
/
W
r
i
t
e
●
C
o
p
y
i
n
g
,
R
e
n
a
m
i
n
g
,
Z
i
p
p
i
n
g
●
I
t
e
r
a
t
o
r
s
●
G
e
n
e
r
a
t
o
r
s
●
C
l
o
s
u
r
e
●
D
e
c
o
r
a
t
o
r
s
●
A
s
s
e
r
t
s
t
a
t
e
m
e
n
t
s
●
E
r
r
o
r
s
a
n
d
E
x
c
e
p
t
i
o
n
s
●
E
x
c
e
p
t
i
o
n
h
a
n
d
l
i
n
g
●
X
M
L
p
r
o
c
e
s
s
i
n
g
,
s
e
n
d
i
n
g
e
m
a
i
l
,
n
e
t
w
o
r
k
i
n
g
●
G
U
I
p
r
o
g
r
a
m
m
i
n
g
i
n
P
y
t
h
o
n
●
P
y
t
h
o
n
M
u
l
t
i
t
h
r
e
a
d
i
n
g
a
n
d
m
u
l
t
i
p
r
o
c
e
s
s
i
n
g
●
R
e
g
u
l
a
r
E
x
p
r
e
s
s
i
o
n
s
i
n
P
y
t
h
o
n
●
A
c
c
e
s
s
i
n
g
d
a
t
a
b
a
s
e
w
i
t
h
P
y
t
h
o
n
●
L
o
g
g
i
n
g
,
u
n
i
t
t
e
s
t
i
n
g
●
V
i
r
t
u
a
l
E
n
v
i
r
o
n
m
e
n
t
s
●
S
e
r
i
a
l
i
z
a
t
i
o
n
●
L
i
b
r
a
r
i
e
s
●
s
c
i
p
y
●
n
u
m
p
y
●
I
m
a
g
e
p
r
o
c
e
s
s
i
n
g
●
M
a
t
p
l
o
t
l
i
b
●
p
a
n
d
a
s
●
F
r
a
m
e
w
o
r
k
s
●
D
j
a
n
g
o
●
F
l
a
s
k
d
.
F
l
a
v
o
r
s
o
f
P
y
t
h
o
n
P
y
t
h
o
n
h
a
s
m
o
r
e
t
h
a
n
o
n
e
i
m
p
l
e
m
e
n
t
a
t
i
o
n
.
W
e
u
s
e
C
P
y
t
h
o
n
,
o
t
h
e
r
s
a
r
e
:
●
C
P
y
t
h
o
n
-
W
r
i
t
t
e
n
i
n
C
●
J
y
t
h
o
n
-
W
r
i
t
t
e
n
i
n
J
a
v
a
●
I
r
o
n
P
y
t
h
o
n
-
I
m
p
l
e
m
e
n
t
e
d
i
n
C
#
●
B
r
y
t
h
o
n
-
B
r
o
w
s
e
r
P
y
t
h
o
n
●
R
u
b
y
P
y
t
h
o
n
-
B
r
i
d
g
e
b
e
t
w
e
e
n
P
y
t
h
o
n
a
n
d
R
u
b
y
i
n
t
e
r
p
r
e
t
e
r
s
●
P
y
P
Y
-
I
m
p
l
e
m
e
n
t
e
d
i
n
P
y
t
h
o
n
●
M
i
c
r
o
P
y
t
h
o
n
-
R
u
n
s
o
n
a
m
i
c
r
o
c
o
n
t
r
o
l
l
e
r
e
.
F
i
l
e
E
x
t
e
n
s
i
o
n
s
P
y
t
h
o
n
f
i
l
e
s
m
a
y
h
a
v
e
o
n
e
o
f
t
h
e
f
o
l
l
o
w
i
n
g
e
x
t
e
n
s
i
o
n
s
:
●
.
p
y
●
.
p
y
c
●
.
p
y
d
●
.
p
y
o
●
.
p
y
w
●
.
p
y
z
7
.
P
y
t
h
o
n
S
y
n
t
a
x
T
o
l
e
a
r
n
a
b
o
u
t
v
a
r
i
a
b
l
e
s
,
o
p
e
r
a
t
o
r
s
,
a
n
d
o
t
h
e
r
t
o
p
i
c
s
,
r
e
f
e
r
t
o
t
h
e
l
i
n
k
s
a
b
o
v
e
.
H
e
r
e
,
w
e
w
i
l
l
t
a
l
k
a
b
o
u
t
t
h
e
s
y
n
t
a
x
o
f
P
y
t
h
o
n
c
o
d
e
.
●
L
i
n
e
S
t
r
u
c
t
u
r
e
-
P
y
t
h
o
n
P
r
o
g
r
a
m
s
c
o
n
s
i
s
t
o
f
l
o
g
i
c
a
l
l
i
n
e
s
.
E
a
c
h
l
i
n
e
h
a
s
a
N
E
W
L
I
N
E
t
o
k
e
n
a
t
t
h
e
e
n
d
.
B
l
a
n
k
l
i
n
e
s
a
r
e
i
g
n
o
r
e
d
.
●
M
u
l
t
i
l
i
n
e
s
t
a
t
e
m
e
n
t
s
-
T
h
e
r
e
a
r
e
n
o
s
e
m
i
c
o
l
o
n
s
o
r
b
r
a
c
e
s
i
n
P
y
t
h
o
n
(
y
o
u
c
a
n
u
s
e
s
e
m
i
c
o
l
o
n
s
i
f
y
o
u
w
a
n
t
,
b
u
t
t
h
e
y
a
r
e
n
o
t
m
a
n
d
a
t
o
r
y
)
●
B
a
c
k
w
a
r
d
s
l
a
s
h
-
T
o
d
i
s
t
r
i
b
u
t
e
a
s
t
a
t
e
m
e
n
t
a
c
r
o
s
s
m
u
l
t
i
p
l
e
l
i
n
e
s
i
n
P
y
t
h
o
n
.
●
T
r
i
p
l
e
q
u
o
t
e
s
-
P
u
t
s
t
r
i
n
g
s
i
n
t
r
i
p
l
e
q
u
o
t
e
s
t
o
s
p
a
n
t
h
e
m
a
c
r
o
s
s
m
u
l
t
i
p
l
e
l
i
n
e
s
.
●
C
o
m
m
e
n
t
s
-
T
h
e
y
e
x
p
l
a
i
n
c
o
d
e
a
n
d
a
r
e
i
g
n
o
r
e
d
b
y
t
h
e
i
n
t
e
r
p
r
e
t
e
r
.
D
e
c
l
a
r
e
d
b
y
h
a
s
h
(
#
)
.
●
D
o
c
s
t
r
i
n
g
s
-
D
o
c
u
m
e
n
t
a
t
i
o
n
s
t
r
i
n
g
s
t
h
a
t
e
x
p
l
a
i
n
c
o
d
e
.
R
e
t
a
i
n
e
d
a
t
r
u
n
t
i
m
e
f
o
r
i
n
s
p
e
c
t
i
o
n
.
●
I
n
d
e
n
t
a
t
i
o
n
-
S
i
n
c
e
t
h
e
r
e
a
r
e
n
o
c
u
r
l
y
b
r
a
c
e
s
,
y
o
u
n
e
e
d
t
o
i
n
d
e
n
t
c
o
d
e
b
l
o
c
k
s
e
q
u
a
l
l
y
.
Y
o
u
c
a
n
u
s
e
t
a
b
s
o
r
s
p
a
c
e
s
,
b
u
t
n
o
t
a
c
o
m
b
i
n
a
t
i
o
n
o
f
b
o
t
h
.
P
E
P
8
r
e
c
o
m
m
e
n
d
s
u
s
i
n
g
4
s
p
a
c
e
s
.
●
M
u
l
t
i
p
l
e
s
t
a
t
e
m
e
n
t
s
i
n
o
n
e
l
i
n
e
-
Y
o
u
c
a
n
u
s
e
s
e
m
i
c
o
l
o
n
s
t
o
s
e
p
a
r
a
t
e
m
u
l
t
i
p
l
e
s
t
a
t
e
m
e
n
t
s
i
n
o
n
e
l
i
n
e
.
Y
o
u
c
a
n
a
l
s
o
p
u
t
a
n
i
f
-
s
t
a
t
e
m
e
n
t
’
s
s
i
n
g
l
e
-
l
i
n
e
b
o
d
y
i
n
o
n
e
l
i
n
e
.
●
Q
u
o
t
a
t
i
o
n
s
-
Y
o
u
c
a
n
d
e
l
i
m
i
t
s
t
r
i
n
g
s
w
i
t
h
s
i
n
g
l
e
o
r
d
o
u
b
l
e
q
u
o
t
e
s
,
b
u
t
n
o
t
b
o
t
h
(
o
p
e
n
i
n
g
w
i
t
h
o
n
e
a
n
d
c
l
o
s
i
n
g
w
i
t
h
a
n
o
t
h
e
r
)
.
I
f
y
o
u
u
s
e
s
i
n
g
l
e
q
u
o
t
e
s
i
n
s
i
d
e
t
h
e
s
t
r
i
n
g
,
u
s
e
d
o
u
b
l
e
q
u
o
t
e
s
t
o
d
e
l
i
m
i
t
.
Y
o
u
c
a
n
e
s
c
a
p
e
q
u
o
t
e
s
i
n
s
i
d
e
s
t
r
i
n
g
s
w
i
t
h
t
h
e
e
s
c
a
p
e
c
h
a
r
a
c
t
e
r
(
)
.
●
I
d
e
n
t
i
f
i
e
r
s
-
T
h
e
s
e
a
r
e
n
a
m
e
s
o
f
e
l
e
m
e
n
t
s
,
a
n
d
a
r
e
c
a
s
e
-
s
e
n
s
i
t
i
v
e
.
Y
o
u
n
e
e
d
t
o
f
o
l
l
o
w
s
o
m
e
r
u
l
e
s
w
h
e
n
n
a
m
i
n
g
i
d
e
n
t
i
f
i
e
r
s
.
●
V
a
r
i
a
b
l
e
s
-
T
h
e
y
h
o
l
d
v
a
l
u
e
s
.
P
y
t
h
o
n
f
o
l
l
o
w
s
d
u
c
k
-
t
y
p
i
n
g
a
n
d
i
s
d
y
n
a
m
i
c
a
l
l
y
-
t
y
p
e
d
.
Y
o
u
d
o
n
’
t
n
e
e
d
t
o
d
e
c
l
a
r
e
t
h
e
t
y
p
e
o
f
v
a
r
i
a
b
l
e
,
t
h
a
t
i
s
d
e
t
e
r
m
i
n
e
d
b
y
t
h
e
i
n
t
e
r
p
r
e
t
e
r
a
t
r
u
n
t
i
m
e
.
●
S
t
r
i
n
g
f
o
r
m
a
t
t
e
r
s
-
F
o
r
t
h
i
s
,
y
o
u
c
a
n
u
s
e
t
h
e
%
o
p
e
r
a
t
o
r
,
t
h
e
f
o
r
m
a
t
(
)
m
e
t
h
o
d
,
o
r
f
-
s
t
r
i
n
g
s
.
●
P
y
t
h
o
n
v
s
J
a
v
a
v
s
C
+
+
-
C
u
r
l
y
b
r
a
c
e
s
a
r
e
m
a
n
d
a
t
o
r
y
i
n
J
a
v
a
a
n
d
C
+
+
,
b
u
t
P
y
t
h
o
n
u
s
e
s
w
h
i
t
e
s
p
a
c
e
i
n
d
e
n
t
a
t
i
o
n
t
o
d
e
l
i
m
i
t
c
o
d
e
.
S
e
m
i
c
o
l
o
n
s
a
r
e
o
p
t
i
o
n
a
l
i
n
P
y
t
h
o
n
,
b
u
t
c
a
n
c
a
u
s
e
e
r
r
o
r
s
i
n
C
+
+
a
n
d
J
a
v
a
.
P
y
t
h
o
n
i
s
d
y
n
a
m
i
c
a
l
l
y
-
t
y
p
e
d
,
J
a
v
a
a
n
d
C
+
+
a
r
e
s
t
a
t
i
c
a
l
l
y
-
t
y
p
e
d
.
J
a
v
a
i
s
f
a
s
t
e
r
t
h
a
n
P
y
t
h
o
n
.
8
.
P
o
p
u
l
a
r
I
D
E
s
W
h
i
l
e
y
o
u
l
e
a
r
n
P
y
t
h
o
n
,
y
o
u
w
i
l
l
u
s
e
a
n
I
D
E
(
I
n
t
e
g
r
a
t
e
d
D
e
v
e
l
o
p
m
e
n
t
E
n
v
i
r
o
n
m
e
n
t
)
t
o
r
u
n
t
h
e
p
y
t
h
o
n
c
o
d
e
.
Y
o
u
c
a
n
c
h
o
o
s
e
o
n
e
o
r
m
o
r
e
o
f
t
h
e
f
o
l
l
o
w
i
n
g
.
H
e
r
e
,
y
o
u
c
a
n
w
r
i
t
e
,
e
d
i
t
,
t
e
s
t
a
n
d
d
e
b
u
g
c
o
d
e
.
I
t
h
a
s
b
u
i
l
d
a
u
t
o
m
a
t
i
o
n
,
c
o
d
e
l
i
n
t
i
n
g
,
t
e
s
t
i
n
g
,
a
n
d
d
e
b
u
g
g
i
n
g
.
T
h
i
s
s
p
e
e
d
s
u
p
y
o
u
r
w
o
r
k
.
a
.
I
D
L
E
P
r
i
c
i
n
g
:
F
r
e
e
I
D
L
E
c
o
m
e
s
w
i
t
h
P
y
t
h
o
n
.
I
t
i
s
l
i
g
h
t
w
e
i
g
h
t
a
n
d
s
i
m
p
l
e
.
b
.
S
u
b
l
i
m
e
T
e
x
t
3
P
r
i
c
i
n
g
:
F
r
e
e
m
i
u
m
S
u
b
l
i
m
e
T
e
x
t
3
i
s
a
p
o
p
u
l
a
r
c
o
d
e
e
d
i
t
o
r
a
n
d
a
l
s
o
s
u
p
p
o
r
t
s
o
t
h
e
r
l
a
n
g
u
a
g
e
s
.
I
t
i
s
f
a
s
t
,
c
u
s
t
o
m
i
z
a
b
l
e
,
a
n
d
h
a
s
a
l
a
r
g
e
c
o
m
m
u
n
i
t
y
.
I
t
h
a
s
p
a
c
k
a
g
e
s
a
v
a
i
l
a
b
l
e
f
o
r
d
e
b
u
g
g
i
n
g
,
a
u
t
o
-
c
o
m
p
l
e
t
i
o
n
,
a
n
d
c
o
d
e
l
i
n
t
i
n
g
,
e
t
c
.
f
o
r
P
y
t
h
o
n
,
D
j
a
n
g
o
,
F
l
a
s
k
,
a
n
d
s
c
i
e
n
t
i
f
i
c
d
e
v
e
l
o
p
m
e
n
t
.
c
.
A
t
o
m
P
r
i
c
i
n
g
:
F
r
e
e
A
t
o
m
i
s
a
n
e
d
i
t
o
r
b
y
G
i
t
H
u
b
a
n
d
i
s
o
p
e
n
-
s
o
u
r
c
e
.
I
t
i
s
c
u
s
t
o
m
i
z
a
b
l
e
a
n
d
h
a
s
p
a
c
k
a
g
e
s
l
i
k
e
a
u
t
o
c
o
m
p
l
e
t
e
-
p
y
t
h
o
n
,
l
i
n
t
e
r
-
f
l
a
k
e
8
,
a
n
d
p
y
t
h
o
n
-
d
e
b
u
g
g
e
r
.
d
.
T
h
o
n
n
y
P
r
i
c
i
n
g
:
F
r
e
e
T
h
o
n
n
y
i
s
a
n
I
D
E
y
o
u
c
a
n
i
n
s
t
a
l
l
.
I
t
h
a
s
a
v
e
r
y
s
i
m
p
l
e
U
I
f
o
r
b
e
g
i
n
n
e
r
s
,
b
u
t
a
l
s
o
h
a
s
m
a
n
y
u
s
e
f
u
l
f
e
a
t
u
r
e
s
l
i
k
e
s
y
n
t
a
x
e
r
r
o
r
h
i
g
h
l
i
g
h
t
i
n
g
,
d
e
b
u
g
g
i
n
g
,
c
o
d
e
c
o
m
p
l
e
t
i
o
n
,
a
n
d
s
t
e
p
-
t
h
r
o
u
g
h
e
x
p
r
e
s
s
i
o
n
e
v
a
l
u
a
t
i
o
n
.
e
.
P
y
C
h
a
r
m
P
r
i
c
i
n
g
:
F
r
e
e
m
i
u
m
P
y
C
h
a
r
m
i
s
n
o
t
f
o
r
b
e
g
i
n
n
e
r
s
.
I
t
i
s
c
r
e
a
t
e
d
b
y
J
e
t
B
r
a
i
n
s
a
n
d
h
a
s
t
w
o
v
e
r
s
i
o
n
s
-
C
o
m
m
u
n
i
t
y
a
n
d
P
r
o
f
e
s
s
i
o
n
a
l
.
I
t
h
a
s
f
e
a
t
u
r
e
s
l
i
k
e
c
o
d
e
c
o
m
p
l
e
t
i
o
n
,
c
o
d
e
i
n
s
p
e
c
t
i
o
n
s
,
e
r
r
o
r
-
h
i
g
h
l
i
g
h
t
i
n
g
a
n
d
f
i
x
e
s
,
d
e
b
u
g
g
i
n
g
,
v
e
r
s
i
o
n
c
o
n
t
r
o
l
s
y
s
t
e
m
a
n
d
c
o
d
e
r
e
f
a
c
t
o
r
i
n
g
.
H
o
w
e
v
e
r
,
P
y
C
h
a
r
m
i
s
r
e
s
o
u
r
c
e
-
i
n
t
e
n
s
i
v
e
.
f
.
V
i
s
u
a
l
S
t
u
d
i
o
C
o
d
e
P
r
i
c
i
n
g
:
F
r
e
e
V
S
C
o
d
e
i
s
a
f
r
e
e
a
n
d
o
p
e
n
-
s
o
u
r
c
e
I
D
E
b
y
M
i
c
r
o
s
o
f
t
.
I
t
h
a
s
f
e
a
t
u
r
e
s
l
i
k
e
i
n
t
e
l
l
i
g
e
n
t
c
o
d
e
c
o
m
p
l
e
t
i
o
n
,
l
i
n
t
i
n
g
f
o
r
p
o
t
e
n
t
i
a
l
e
r
r
o
r
s
,
d
e
b
u
g
g
i
n
g
a
n
d
u
n
i
t
t
e
s
t
i
n
g
,
a
n
d
y
o
u
c
a
n
a
d
d
e
x
t
e
n
s
i
o
n
s
.
I
t
i
s
a
l
s
o
l
i
g
h
t
w
e
i
g
h
t
.
g
.
V
i
m
P
r
i
c
i
n
g
:
F
r
e
e
T
h
e
V
I
M
t
e
x
t
e
d
i
t
o
r
c
o
m
e
s
p
r
e
i
n
s
t
a
l
l
e
d
i
n
M
a
c
O
S
a
n
d
U
N
I
X
,
a
n
d
i
s
a
v
a
i
l
a
b
l
e
f
o
r
W
i
n
d
o
w
s
.
I
t
h
a
s
k
e
y
b
o
a
r
d
s
h
o
r
t
c
u
t
s
a
n
d
i
s
e
x
t
e
n
d
i
b
l
e
.
I
t
a
l
s
o
h
a
s
p
l
u
g
i
n
s
f
o
r
s
y
n
t
a
x
h
i
g
h
l
i
g
h
t
i
n
g
,
c
o
d
e
c
o
m
p
l
e
t
i
o
n
,
d
e
b
u
g
g
i
n
g
,
a
n
d
r
e
f
a
c
t
o
r
i
n
g
.
h
.
S
p
y
d
e
r
P
r
i
c
i
n
g
:
F
r
e
e
T
h
i
s
i
s
a
n
o
p
e
n
-
s
o
u
r
c
e
I
D
E
a
n
d
c
a
n
b
e
i
n
s
t
a
l
l
e
d
w
i
t
h
A
n
a
c
o
n
d
a
.
I
t
h
a
s
f
e
a
t
u
r
e
s
l
i
k
e
a
u
t
o
c
o
m
p
l
e
t
i
o
n
,
d
e
b
u
g
g
i
n
g
,
a
n
d
i
P
y
t
h
o
n
s
h
e
l
l
.
i
.
r
e
p
l
.
i
t
P
r
i
c
i
n
g
:
F
r
e
e
T
h
i
s
i
s
a
n
o
n
l
i
n
e
c
o
m
p
i
l
e
r
-
y
o
u
d
o
n
'
t
n
e
e
d
t
o
i
n
s
t
a
l
l
P
y
t
h
o
n
a
n
d
s
e
t
u
p
a
n
e
n
v
i
r
o
n
m
e
n
t
w
i
t
h
t
h
i
s
.
I
t
a
l
s
o
h
a
s
s
u
p
p
o
r
t
f
o
r
o
t
h
e
r
l
a
n
g
u
a
g
e
s
.
j
.
J
u
p
y
t
e
r
L
a
b
P
r
i
c
i
n
g
:
F
r
e
e
J
u
p
y
t
e
r
L
a
b
i
s
t
h
e
n
e
x
t
-
g
e
n
U
I
f
o
r
P
r
o
j
e
c
t
J
u
p
y
t
e
r
.
I
t
h
a
s
a
l
l
t
h
e
b
u
i
l
d
i
n
g
b
l
o
c
k
s
o
f
t
h
e
J
u
p
y
t
e
r
N
o
t
e
b
o
o
k
,
l
i
k
e
n
o
t
e
b
o
o
k
s
,
t
e
r
m
i
n
a
l
,
t
e
x
t
e
d
i
t
o
r
,
f
i
l
e
b
r
o
w
s
e
r
,
a
n
d
r
i
c
h
o
u
t
p
u
t
.
T
h
e
U
I
i
s
f
l
e
x
i
b
l
e
.
k
.
E
c
l
i
p
s
e
+
P
y
D
e
v
P
r
i
c
i
n
g
:
F
r
e
e
P
y
D
e
v
i
s
a
P
y
t
h
o
n
I
D
E
f
o
r
E
c
l
i
p
s
e
.
U
s
i
n
g
t
h
e
P
y
D
e
v
p
l
u
g
i
n
w
i
t
h
E
c
l
i
p
s
e
,
w
e
c
a
n
d
e
v
e
l
o
p
f
o
r
P
y
t
h
o
n
.
9
.
H
o
w
L
o
n
g
W
i
l
l
i
t
T
a
k
e
t
o
L
e
a
r
n
P
y
t
h
o
n
?
P
y
t
h
o
n
i
s
a
n
e
a
s
y
l
a
n
g
u
a
g
e
t
o
l
e
a
r
n
a
n
d
h
a
s
a
s
m
o
o
t
h
l
e
a
r
n
i
n
g
c
u
r
v
e
.
L
e
a
r
n
i
n
g
t
h
e
b
a
s
i
c
s
w
i
l
l
n
o
t
t
a
k
e
m
u
c
h
t
i
m
e
,
y
o
u
c
a
n
l
e
a
r
n
p
y
t
h
o
n
b
a
s
i
c
s
w
i
t
h
t
h
i
s
p
y
t
h
o
n
t
u
t
o
r
i
a
l
.
Y
o
u
w
i
l
l
n
e
e
d
t
o
p
r
a
c
t
i
c
e
a
s
y
o
u
l
e
a
r
n
.
T
h
e
m
o
r
e
y
o
u
p
r
a
c
t
i
c
e
,
t
h
e
b
e
t
t
e
r
y
o
u
a
r
e
a
t
i
t
.
Y
o
u
w
i
l
l
n
e
e
d
t
o
b
u
i
l
d
p
r
o
j
e
c
t
s
a
s
w
e
l
l
.
O
n
c
e
y
o
u
h
a
v
e
f
o
l
l
o
w
e
d
t
h
e
s
t
e
p
s
m
e
n
t
i
o
n
e
d
a
b
o
v
e
,
y
o
u
c
a
n
s
a
y
y
o
u
k
n
o
w
P
y
t
h
o
n
.
S
o
h
o
w
l
o
n
g
i
t
w
i
l
l
t
a
k
e
d
e
p
e
n
d
s
o
n
y
o
u
.
1
0
.
W
h
i
c
h
L
i
b
r
a
r
i
e
s
S
h
o
u
l
d
I
L
e
a
r
n
?
P
y
t
h
o
n
h
a
s
o
v
e
r
1
9
8
,
4
9
5
p
r
o
j
e
c
t
s
i
n
t
h
e
P
y
P
I
.
W
h
i
c
h
o
f
t
h
o
s
e
p
a
c
k
a
g
e
s
(
a
n
d
t
h
e
b
u
i
l
t
-
i
n
o
n
e
s
)
s
h
o
u
l
d
y
o
u
l
e
a
r
n
?
H
e
r
e
a
r
e
a
f
e
w
n
a
m
e
s
:
●
s
c
i
p
y
●
n
u
m
p
y
●
m
a
t
p
l
o
t
l
i
b
●
u
r
l
l
i
b
●
r
e
q
u
e
s
t
s
●
s
m
t
p
l
i
b
●
os
●
s
h
u
t
i
l
●
t
k
i
n
t
e
r
●
P
y
Q
t
●
t
h
r
e
a
d
i
n
g
●
s
u
b
p
r
o
c
e
s
s
●
P
y
M
y
S
Q
L
●
u
n
i
t
t
e
s
t
●
p
i
c
k
l
e
●
l
o
g
g
i
n
g
●
v
i
r
t
u
a
l
e
n
v
●
p
a
n
d
a
s
●
s
c
i
k
i
t
-
l
e
a
r
n
●
d
a
t
e
t
i
m
e
,
c
a
l
e
n
d
a
r
,
t
i
m
e
●
c
o
l
l
e
c
t
i
o
n
s
●
a
r
r
a
y
●
i
t
e
r
t
o
o
l
s
1
1
.
W
h
i
c
h
P
y
t
h
o
n
P
r
o
j
e
c
t
s
S
h
o
u
l
d
I
D
e
v
e
l
o
p
?
B
u
i
l
d
i
n
g
a
p
y
t
h
o
n
p
r
o
j
e
c
t
w
i
l
l
s
t
r
e
n
g
t
h
e
n
y
o
u
r
b
a
s
i
c
s
a
n
d
h
e
l
p
y
o
u
f
i
g
u
r
e
o
u
t
w
h
a
t
y
o
u
d
o
n
’
t
k
n
o
w
.
●
S
t
a
r
t
w
i
t
h
s
o
m
e
b
a
s
i
c
p
r
o
j
e
c
t
s
l
i
k
e
H
a
n
g
m
a
n
a
n
d
T
i
c
-
T
a
c
-
T
o
e
.
B
u
i
l
d
a
n
a
l
a
r
m
c
l
o
c
k
.
T
h
i
s
c
a
n
b
e
c
o
n
s
o
l
e
-
b
a
s
e
d
.
●
M
o
v
e
o
n
t
o
i
n
t
e
r
m
e
d
i
a
t
e
p
r
o
j
e
c
t
s
l
i
k
e
a
t
o
d
o
-
l
i
s
t
w
i
t
h
D
j
a
n
g
o
.
U
s
e
f
r
a
m
e
w
o
r
k
s
a
n
d
b
u
i
l
d
G
U
I
s
t
o
o
.
●
N
o
w
,
i
t
’
s
t
i
m
e
t
o
w
o
r
k
o
n
s
o
m
e
a
d
v
a
n
c
e
d
P
y
t
h
o
n
p
r
o
j
e
c
t
s
l
i
k
e
:
●
P
a
r
k
i
n
s
o
n
’
s
D
i
s
e
a
s
e
D
e
t
e
c
t
i
o
n
w
i
t
h
X
G
B
o
o
s
t
●
S
p
e
e
c
h
E
m
o
t
i
o
n
R
e
c
o
g
n
i
t
i
o
n
w
i
t
h
l
i
b
r
o
s
a
●
B
r
e
a
s
t
C
a
n
c
e
r
C
l
a
s
s
i
f
i
c
a
t
i
o
n
w
i
t
h
D
e
e
p
L
e
a
r
n
i
n
g
●
F
a
k
e
N
e
w
s
D
e
t
e
c
t
i
o
n
w
i
t
h
c
l
a
s
s
f
i
c
a
t
i
o
n
●
G
e
n
d
e
r
a
n
d
A
g
e
D
e
t
e
c
t
i
o
n
w
i
t
h
O
p
e
n
C
V
●
D
r
i
v
e
r
D
r
o
w
s
i
n
e
s
s
D
e
t
e
c
t
i
o
n
w
i
t
h
O
p
e
n
C
V
&
K
e
r
a
s
Y
o
u
c
a
n
a
l
s
o
b
u
i
l
d
a
p
r
o
j
e
c
t
t
o
s
o
l
v
e
a
r
e
a
l
p
r
o
b
l
e
m
y
o
u
f
a
c
e
o
r
f
a
c
e
d
e
a
r
l
i
e
r
.
1
2
.
S
h
o
u
l
d
I
G
o
f
o
r
t
h
e
P
y
t
h
o
n
C
e
r
t
i
f
i
c
a
t
i
o
n
?
T
h
e
r
e
i
s
n
o
o
f
f
i
c
i
a
l
c
e
r
t
i
f
i
e
d
e
x
a
m
f
o
r
P
y
t
h
o
n
.
D
a
t
a
F
l
a
i
r
o
f
f
e
r
s
a
n
e
x
c
e
l
l
e
n
t
c
e
r
t
i
f
i
c
a
t
i
o
n
p
r
o
g
r
a
m
f
o
r
P
y
t
h
o
n
.
T
h
i
s
h
a
s
m
o
r
e
t
h
a
n
2
0
h
o
u
r
s
o
f
v
i
d
e
o
-
b
a
s
e
d
s
e
s
s
i
o
n
s
,
t
o
n
s
o
f
p
r
a
c
t
i
c
a
l
s
,
a
n
d
5
e
x
c
i
t
i
n
g
p
r
o
j
e
c
t
s
t
o
b
u
i
l
d
-
w
i
t
h
c
o
m
p
l
e
t
e
s
o
u
r
c
e
c
o
d
e
!
1
3
.
P
y
t
h
o
n
I
n
t
e
r
v
i
e
w
Q
u
e
s
t
i
o
n
s
Y
o
u
a
r
e
n
o
w
r
e
a
d
y
t
o
a
n
s
w
e
r
c
r
a
c
k
P
y
t
h
o
n
i
n
t
e
r
v
i
e
w
a
t
a
n
y
l
e
v
e
l
-
b
e
g
i
n
n
e
r
,
i
n
t
e
r
m
e
d
i
a
t
e
,
o
r
a
d
v
a
n
c
e
d
.
Y
o
u
c
a
n
a
l
s
o
d
o
t
h
i
s
a
f
t
e
r
a
n
y
o
f
t
h
e
p
r
e
v
i
o
u
s
s
t
e
p
s
.
R
e
f
e
r
t
o
t
h
e
s
e
q
u
e
s
t
i
o
n
s
-
t
h
e
s
e
a
r
e
q
u
e
s
t
i
o
n
s
o
f
a
l
l
d
i
f
f
i
c
u
l
t
i
e
s
-
b
e
g
i
n
n
e
r
,
i
n
t
e
r
m
e
d
i
a
t
e
,
a
n
d
a
d
v
a
n
c
e
d
.
T
h
e
y
a
l
s
o
h
a
v
e
s
o
m
e
o
p
e
n
-
e
n
d
e
d
q
u
e
s
t
i
o
n
s
.
●
T
o
p
1
5
0
+
I
n
t
e
r
v
i
e
w
Q
u
e
s
t
i
o
n
s
f
o
r
F
r
e
s
h
e
r
s
●
P
y
t
h
o
n
I
n
t
e
r
v
i
e
w
Q
u
e
s
t
i
o
n
s
f
o
r
I
n
t
e
r
m
e
d
i
a
t
e
●
P
y
t
h
o
n
I
n
t
e
r
v
i
e
w
Q
u
e
s
t
i
o
n
s
-
A
d
v
a
n
c
e
d
1
4
.
P
y
t
h
o
n
J
o
b
T
r
e
n
d
s
P
y
t
h
o
n
i
s
t
h
e
s
e
c
o
n
d
-
m
o
s
t
l
o
v
e
d
l
a
n
g
u
a
g
e
a
n
d
t
h
e
m
o
s
t
-
w
a
n
t
e
d
l
a
n
g
u
a
g
e
a
c
c
o
r
d
i
n
g
t
o
t
h
e
S
t
a
c
k
O
v
e
r
f
l
o
w
D
e
v
e
l
o
p
e
r
S
u
r
v
e
y
f
o
r
2
0
1
9
.
I
t
s
e
e
m
s
t
o
h
a
v
e
a
g
o
o
d
f
u
t
u
r
e
w
i
t
h
s
t
a
b
l
e
j
o
b
s
.
A
l
s
o
,
t
h
e
j
o
b
s
p
a
y
w
e
l
l
.
H
e
r
e
a
r
e
t
h
e
p
r
o
f
i
l
e
s
y
o
u
c
a
n
g
o
f
o
r
i
f
y
o
u
l
e
a
r
n
P
y
t
h
o
n
:
●
S
o
f
t
w
a
r
e
E
n
g
i
n
e
e
r
●
S
e
n
i
o
r
S
o
f
t
w
a
r
e
E
n
g
i
n
e
e
r
●
D
e
v
O
p
s
E
n
g
i
n
e
e
r
●
D
a
t
a
S
c
i
e
n
t
i
s
t
●
S
e
n
i
o
r
D
a
t
a
S
c
i
e
n
t
i
s
t
A
n
d
h
e
r
e
a
r
e
t
h
e
s
a
l
a
r
i
e
s
:
●
S
o
f
t
w
a
r
e
E
n
g
i
n
e
e
r
-
$
1
0
3
,
0
3
5
/
y
e
a
r
●
S
e
n
i
o
r
S
o
f
t
w
a
r
e
E
n
g
i
n
e
e
r
-
$
1
2
9
,
3
2
8
/
y
e
a
r
●
D
e
v
O
p
s
E
n
g
i
n
e
e
r
-
$
1
1
5
,
6
6
6
/
y
e
a
r
●
D
a
t
a
S
c
i
e
n
t
i
s
t
-
$
1
1
7
,
3
4
5
/
y
e
a
r
●
S
e
n
i
o
r
D
a
t
a
S
c
i
e
n
t
i
s
t
-
$
1
3
6
,
6
3
3
/
y
e
a
r
P
y
t
h
o
n
i
s
a
t
#
3
o
n
t
h
e
T
I
O
B
E
I
n
d
e
x
f
o
r
S
e
p
t
e
m
b
e
r
2
0
1
9
.
J
o
b
b
o
a
r
d
s
l
i
k
e
N
a
u
k
r
i
a
n
d
I
n
d
e
e
d
p
o
s
t
m
o
r
e
t
h
a
n
1
6
0
0
0
t
o
2
4
0
0
0
j
o
b
s
f
o
r
P
y
t
h
o
n
.
R
i
g
h
t
n
o
w
,
t
h
e
r
e
i
s
a
h
i
g
h
d
e
m
a
n
d
,
b
u
t
l
o
w
s
u
p
p
l
y
.
T
h
i
s
i
s
a
g
r
e
a
t
o
p
p
o
r
t
u
n
i
t
y
f
o
r
y
o
u
.
T
h
e
r
e
i
s
a
l
a
r
g
e
n
u
m
b
e
r
o
f
j
o
b
s
p
e
r
P
y
t
h
o
n
p
r
o
g
r
a
m
m
e
r
.
1
5
.
P
y
t
h
o
n
f
o
r
M
a
c
h
i
n
e
L
e
a
r
n
i
n
g
O
n
e
r
e
a
s
o
n
w
h
y
P
y
t
h
o
n
i
s
s
o
p
o
p
u
l
a
r
i
s
i
t
s
l
i
b
r
a
r
i
e
s
.
W
e
h
a
v
e
m
a
n
y
l
i
b
r
a
r
i
e
s
g
e
a
r
e
d
t
o
w
a
r
d
d
a
t
a
s
c
i
e
n
c
e
a
n
d
m
a
c
h
i
n
e
l
e
a
r
n
i
n
g
.
T
h
e
s
e
h
a
v
e
t
o
o
l
s
a
n
d
f
u
n
c
t
i
o
n
s
/
m
e
t
h
o
d
s
f
o
r
t
r
i
v
i
a
l
t
a
s
k
s
s
o
w
e
d
o
n
’
t
h
a
v
e
t
o
i
m
p
l
e
m
e
n
t
e
v
e
r
y
t
h
i
n
g
f
r
o
m
s
c
r
a
t
c
h
.
Y
o
u
s
h
o
u
l
d
l
e
a
r
n
t
o
w
o
r
k
w
i
t
h
t
h
e
f
o
l
l
o
w
i
n
g
l
i
b
r
a
r
i
e
s
:
●
s
c
i
k
i
t
-
l
e
a
r
n
●
s
c
i
p
y
●
n
u
m
p
y
●
p
a
n
d
a
s
●
x
g
b
o
o
s
t
●
k
e
r
a
s
●
t
e
n
s
o
r
f
l
o
w
●
m
a
t
p
l
o
t
l
i
b
●
s
e
a
b
o
r
n
●
t
h
e
a
n
o
●
m
l
p
y
●
N
e
t
w
o
r
k
X
●
S
y
m
P
y
●
D
a
s
k
●
D
m
e
l
t
●
P
y
B
r
a
i
n
W
h
a
t
N
e
x
t
●
L
e
a
r
n
P
y
t
h
o
n
f
o
r
M
a
c
h
i
n
e
L
e
a
r
n
i
n
g
●
L
e
a
r
n
P
y
t
h
o
n
f
o
r
D
a
t
a
S
c
i
e
n
c
e
●
L
e
a
r
n
P
y
t
h
o
n
f
o
r
A
r
t
i
f
i
c
i
a
l
I
n
t
e
l
l
i
g
e
n
c
e
1
6
.
C
o
m
p
a
n
i
e
s
U
s
i
n
g
P
y
t
h
o
n
M
a
n
y
g
i
a
n
t
c
o
m
p
a
n
i
e
s
u
s
e
P
y
t
h
o
n
f
o
r
t
h
e
i
r
p
r
o
d
u
c
t
s
a
n
d
s
e
r
v
i
c
e
s
.
S
o
m
e
o
f
t
h
e
s
e
a
r
e
:
●
G
o
o
g
l
e
-
P
y
t
h
o
n
a
s
a
m
a
j
o
r
p
r
o
g
r
a
m
m
i
n
g
l
a
n
g
u
a
g
e
●
F
a
c
e
b
o
o
k
-
F
o
r
p
r
o
d
u
c
t
i
o
n
e
n
g
i
n
e
e
r
i
n
g
●
N
A
S
A
W
o
r
k
f
l
o
w
A
u
t
o
m
a
t
i
o
n
T
o
o
l
-
W
r
i
t
t
e
n
i
n
P
y
t
h
o
n
●
N
o
k
i
a
-
P
l
a
t
f
o
r
m
s
l
i
k
e
S
6
0
●
I
B
M
-
F
a
c
t
o
r
t
o
o
l
c
o
n
t
r
o
l
a
p
p
l
i
c
a
t
i
o
n
s
●
W
a
l
t
D
i
s
n
e
y
F
e
a
t
u
r
e
A
n
i
m
a
t
i
o
n
-
S
c
r
i
p
t
i
n
g
l
a
n
g
u
a
g
e
f
o
r
a
n
i
m
a
t
i
o
n
●
Y
a
h
o
o
!
M
a
p
s
s
e
r
v
i
c
e
s
-
W
r
i
t
t
e
n
i
n
P
y
t
h
o
n
●
D
i
s
q
u
s
-
C
o
m
m
e
n
t
i
n
g
f
o
r
u
m
b
u
i
l
t
w
i
t
h
D
j
a
n
g
o
●
D
r
o
p
b
o
x
s
t
a
c
k
-
W
r
i
t
t
e
n
i
n
P
y
t
h
o
n
●
Q
u
o
r
a
-
S
o
c
i
a
l
w
e
b
s
i
t
e
w
r
i
t
t
e
n
i
n
P
y
t
h
o
n
●
I
n
s
t
a
g
r
a
m
-
B
u
i
l
t
w
i
t
h
D
j
a
n
g
o
●
Y
o
u
T
u
b
e
-
S
c
r
i
p
t
e
d
P
y
t
h
o
n
f
o
r
w
e
b
s
i
t
e
●
B
i
t
T
o
r
r
e
n
t
-
O
r
i
g
i
n
a
l
l
y
w
r
i
t
t
e
n
i
n
P
y
t
h
o
n
●
O
t
h
e
r
c
o
m
p
a
n
i
e
s
l
i
k
e
U
b
e
r
,
M
I
T
,
H
i
k
e
,
P
a
n
d
o
r
a
,
S
p
o
t
i
f
y
,
U
d
e
m
y
,
N
e
t
f
l
i
x
,
P
a
y
P
a
l
,
R
e
d
d
i
t
,
P
i
n
t
e
r
e
s
t
,
a
n
d
G
l
a
s
s
d
o
o
r
u
s
e
i
t
t
o
o
1
7
.
C
a
s
e
S
t
u
d
i
e
s
-
P
y
t
h
o
n
a
.
P
y
t
h
o
n
a
t
N
e
t
f
l
i
x
N
e
t
f
l
i
x
u
s
e
s
P
y
t
h
o
n
f
o
r
d
a
t
a
a
n
a
l
y
s
i
s
a
n
d
i
t
s
b
a
c
k
e
n
d
s
e
r
v
i
c
e
s
.
I
t
i
s
h
o
w
i
t
r
e
c
o
m
m
e
n
d
s
n
e
w
t
i
t
l
e
s
.
N
e
t
f
l
i
x
a
l
s
o
u
s
e
s
P
y
t
h
o
n
t
o
b
u
i
l
d
c
u
s
t
o
m
e
x
t
e
n
s
i
o
n
s
t
o
t
h
e
J
u
p
y
t
e
r
s
e
r
v
e
r
.
T
h
i
s
c
a
n
b
e
u
s
e
d
t
o
m
a
n
a
g
e
t
a
s
k
s
l
i
k
e
l
o
g
g
i
n
g
,
a
r
c
h
i
v
i
n
g
,
p
u
b
l
i
s
h
i
n
g
a
n
d
c
l
o
n
i
n
g
n
o
t
e
b
o
o
k
s
.
N
e
t
f
l
i
x
u
s
e
s
t
h
e
s
t
a
t
i
s
t
i
c
a
l
a
n
d
n
u
m
e
r
i
c
a
l
l
i
b
r
a
r
i
e
s
l
i
k
e
n
u
m
p
y
,
s
c
i
p
y
,
t
u
p
t
u
r
e
s
,
a
n
d
p
a
n
d
a
s
.
I
t
a
l
s
o
u
s
e
s
P
y
t
h
o
n
f
o
r
a
u
t
o
m
a
t
i
o
n
,
d
a
t
a
e
x
p
l
o
r
a
t
i
o
n
,
a
n
d
v
i
s
u
a
l
i
z
a
t
i
o
n
.
I
t
i
m
p
l
e
m
e
n
t
s
d
e
m
a
n
d
e
n
g
i
n
e
e
r
i
n
g
,
i
n
s
i
g
h
t
e
n
g
i
n
e
e
r
i
n
g
,
O
p
e
n
C
o
n
n
e
c
t
N
e
t
w
o
r
k
,
I
n
f
o
r
m
a
t
i
o
n
S
e
c
u
r
i
t
y
,
a
n
M
L
i
n
f
r
a
s
t
r
u
c
t
u
r
e
,
N
o
t
e
b
o
o
k
s
,
a
P
a
r
t
n
e
r
E
c
o
s
y
s
t
e
m
,
a
n
d
A
n
i
m
a
t
i
o
n
a
n
d
N
V
F
X
.
b
.
S
p
o
t
i
f
y
L
i
k
e
N
e
t
f
l
i
x
,
S
p
o
t
i
f
y
u
s
e
s
P
y
t
h
o
n
f
o
r
d
a
t
a
a
n
a
l
y
s
i
s
a
n
d
b
a
c
k
e
n
d
s
e
r
v
i
c
e
s
.
I
t
u
s
e
s
Z
e
r
o
M
Q
f
o
r
b
a
c
k
e
n
d
c
o
m
m
u
n
i
c
a
t
i
o
n
-
t
h
i
s
i
s
a
n
o
p
e
n
n
e
t
w
o
r
k
i
n
g
f
r
a
m
e
w
o
r
k
w
r
i
t
t
e
n
i
n
P
y
t
h
o
n
a
n
d
C
+
+
.
P
y
t
h
o
n
a
l
l
o
w
s
f
a
s
t
d
e
v
e
l
o
p
m
e
n
t
.
A
l
s
o
,
S
p
o
t
i
f
y
u
s
e
s
i
t
f
o
r
d
a
t
a
a
n
a
l
y
t
i
c
s
t
o
c
r
e
a
t
e
s
u
g
g
e
s
t
i
o
n
s
a
n
d
r
e
c
o
m
m
e
n
d
a
t
i
o
n
s
.
I
t
a
l
s
o
u
s
e
s
L
u
i
g
i
f
o
r
s
y
n
c
h
r
o
n
i
z
a
t
i
o
n
w
i
t
h
H
a
d
o
o
p
.
T
h
i
s
l
e
t
s
i
t
c
r
e
a
t
e
"
R
a
d
i
o
a
n
d
D
i
s
c
o
v
e
r
y
"
.
c
.
Q
u
o
r
a
Q
u
o
r
a
i
s
a
s
o
c
i
a
l
n
e
t
w
o
r
k
i
n
g
p
l
a
t
f
o
r
m
w
i
t
h
q
u
e
s
t
i
o
n
s
a
n
d
a
n
s
w
e
r
s
.
T
h
e
y
c
o
n
s
i
d
e
r
e
d
m
a
n
y
l
a
n
g
u
a
g
e
s
b
e
f
o
r
e
c
h
o
o
s
i
n
g
P
y
t
h
o
n
b
e
c
a
u
s
e
i
t
h
a
s
n
o
t
y
p
e
c
h
e
c
k
i
n
g
,
a
n
d
i
s
s
l
o
w
.
T
h
e
y
r
e
j
e
c
t
e
d
C
#
b
e
c
a
u
s
e
t
h
e
M
i
c
r
o
s
o
f
t
L
a
n
g
u
a
g
e
i
s
p
r
o
p
r
i
e
t
a
r
y
.
J
a
v
a
h
a
s
s
t
r
i
c
t
s
y
n
t
a
x
,
s
o
i
t
w
a
s
r
e
j
e
c
t
e
d
.
S
o
,
l
i
k
e
G
o
o
g
l
e
,
Q
u
o
r
a
c
h
o
s
e
P
y
t
h
o
n
f
o
r
i
t
s
e
a
s
e
o
f
w
r
i
t
i
n
g
a
n
d
r
e
a
d
a
b
i
l
i
t
y
.
T
h
e
y
s
o
l
v
e
d
t
h
e
p
r
o
b
l
e
m
o
f
t
y
p
e
c
h
e
c
k
i
n
g
b
y
w
r
i
t
i
n
g
u
n
i
t
t
e
s
t
s
.
T
h
e
y
a
l
s
o
l
i
k
e
d
t
h
e
f
r
a
m
e
w
o
r
k
s
f
o
r
P
y
t
h
o
n
-
D
j
a
n
g
o
a
n
d
P
y
l
o
n
s
.
I
t
w
a
s
a
l
s
o
e
a
s
i
e
r
t
o
c
l
u
b
P
y
t
h
o
n
a
n
d
J
S
f
o
r
h
a
n
d
l
i
n
g
u
s
e
r
i
n
t
e
r
a
c
t
i
o
n
s
.
d
.
F
a
c
e
b
o
o
k
F
a
c
e
b
o
o
k
e
x
t
e
n
s
i
v
e
l
y
u
s
e
s
P
y
t
h
o
n
.
T
h
e
l
i
b
r
a
r
i
e
s
a
n
d
f
r
a
m
e
w
o
r
k
s
r
e
d
u
c
e
t
h
e
c
o
d
e
-
l
o
a
d
a
n
d
f
o
c
u
s
o
n
i
m
p
r
o
v
e
m
e
n
t
s
.
F
a
c
e
b
o
o
k
u
s
e
d
P
y
t
h
o
n
f
o
r
m
u
l
t
i
p
l
e
s
e
r
v
i
c
e
s
i
n
i
n
f
r
a
s
t
r
u
c
t
u
r
e
m
a
n
a
g
e
m
e
n
t
,
a
n
d
m
a
d
e
i
t
s
c
a
l
e
-
e
f
f
i
c
i
e
n
t
.
I
t
a
l
s
o
p
u
b
l
i
s
h
e
d
P
y
3
w
r
i
t
t
e
n
p
r
o
j
e
c
t
s
,
i
n
c
l
u
d
i
n
g
F
a
c
e
b
o
o
k
A
d
s
A
P
I
a
n
d
a
P
y
t
h
o
n
a
s
y
n
c
I
R
C
b
o
t
f
r
a
m
e
w
o
r
k
.
e
.
G
o
o
g
l
e
G
o
o
g
l
e
h
a
s
b
e
e
n
u
s
i
n
g
P
y
t
h
o
n
s
i
n
c
e
t
h
e
b
e
g
i
n
n
i
n
g
.
T
h
e
y
d
e
c
i
d
e
d
t
o
i
m
p
l
e
m
e
n
t
P
y
t
h
o
n
f
o
r
e
a
s
e
o
f
m
a
i
n
t
e
n
a
n
c
e
a
n
d
f
a
s
t
e
r
d
e
l
i
v
e
r
y
t
h
a
n
C
+
+
.
T
h
e
y
a
l
s
o
r
e
c
o
d
e
d
s
o
m
e
P
e
r
l
o
r
B
a
s
h
s
c
r
i
p
t
s
i
n
t
o
P
y
t
h
o
n
.
P
y
t
h
o
n
i
s
t
h
e
o
f
f
i
c
i
a
l
G
o
o
g
l
e
s
e
r
v
e
r
-
s
i
d
e
l
a
n
g
u
a
g
e
a
t
G
o
o
g
l
e
.
P
e
t
e
r
N
o
r
v
i
g
,
a
n
d
A
m
e
r
i
c
a
n
c
o
m
p
u
t
e
r
s
c
i
e
n
t
i
s
t
,
s
a
i
d
"
P
y
t
h
o
n
h
a
s
b
e
e
n
a
n
i
m
p
o
r
t
a
n
t
p
a
r
t
o
f
G
o
o
g
l
e
s
i
n
c
e
t
h
e
b
e
g
i
n
n
i
n
g
a
n
d
r
e
m
a
i
n
s
s
o
a
s
t
h
e
s
y
s
t
e
m
g
r
o
w
s
a
n
d
e
v
o
l
v
e
s
.
T
o
d
a
y
,
d
o
z
e
n
s
o
f
G
o
o
g
l
e
e
n
g
i
n
e
e
r
s
u
s
e
P
y
t
h
o
n
,
a
n
d
w
e
'
r
e
l
o
o
k
i
n
g
f
o
r
m
o
r
e
p
e
o
p
l
e
w
i
t
h
s
k
i
l
l
s
i
n
t
h
i
s
l
a
n
g
u
a
g
e
.
"
T
h
i
s
w
a
s
t
h
e
A
-
Z
o
f
P
y
t
h
o
n
.
I
n
t
h
i
s
p
y
t
h
o
n
t
u
t
o
r
i
a
l
w
e
t
r
i
e
d
t
o
c
o
v
e
r
c
o
m
p
l
e
t
e
o
v
e
r
v
i
e
w
o
f
P
y
t
h
o
n
y
o
u
c
o
u
l
d
w
a
n
t
t
o
k
n
o
w
.
W
e
d
i
s
c
u
s
s
e
d
P
y
t
h
o
n
,
i
t
s
s
y
n
t
a
x
,
w
h
y
a
n
d
h
o
w
t
o
l
e
a
r
n
p
y
t
h
o
n
,
a
s
h
o
r
t
t
u
t
o
r
i
a
l
s
,
s
o
m
e
l
i
b
r
a
r
i
e
s
,
p
y
t
h
o
n
p
r
o
j
e
c
t
s
,
p
y
t
h
o
n
i
n
t
e
r
v
i
e
w
q
u
e
s
t
i
o
n
s
,
i
t
s
f
u
t
u
r
e
,
P
y
t
h
o
n
f
o
r
M
a
c
h
i
n
e
L
e
a
r
n
i
n
g
,
c
o
m
p
a
n
i
e
s
a
n
d
s
o
m
e
c
a
s
e
s
t
u
d
i
e
s
.
A
r
e
y
o
u
l
o
o
k
i
n
g
t
o
b
e
c
o
m
e
a
P
y
t
h
o
n
e
x
p
e
r
t
?
J
o
i
n
D
a
t
a
F
l
a
i
r
'
s
C
e
r
t
i
f
i
e
d
P
y
t
h
o
n
C
o
u
r
s
e
&
b
e
c
o
m
e
i
n
d
u
s
t
r
y
r
e
a
d
y
A
b
o
u
t
P
y
t
h
o
n
T
u
t
o
r
i
a
l
-
l
e
a
r
n
P
y
t
h
o
n
f
r
o
m
s
c
r
a
t
c
h
w
i
t
h
2
7
0
+
P
y
t
h
o
n
t
u
t
o
r
i
a
l
s
f
o
r
b
e
g
i
n
n
e
r
s
&
e
x
p
e
r
i
e
n
c
e
d
.
E
x
p
l
o
r
e
P
y
t
h
o
n
f
e
a
t
u
r
e
s
,
s
y
n
t
a
x
,
p
y
t
h
o
n
a
p
p
l
i
c
a
t
i
o
n
s
,
p
y
t
h
o
n
u
s
e
-
c
a
s
e
s
,
p
y
t
h
o
n
a
r
c
h
i
t
e
c
t
u
r
e
,
p
y
t
h
o
n
p
r
o
j
e
c
t
s
a
n
d
m
a
n
y
m
o
r
e
.
d
a
t
a
-
f
l
a
i
r
.
t
r
a
i
n
i
n
g
/
b
l
o
g
s
/
p
y
t
h
o
n
-
t
u
t
o
r
i
a
l
s
-
h
o
m
e
/
T
o
p
i
c
s
p
y
t
h
o
n
p
y
t
h
o
n
-
p
r
o
g
r
a
m
m
i
n
g
m
a
c
h
i
n
e
-
l
e
a
r
n
i
n
g
d
a
t
a
-
s
c
i
e
n
c
e
p
y
t
h
o
n
3
p
y
t
h
o
n
-
t
u
t
o
r
i
a
l
w
h
a
t
-
i
s
-
p
y
t
h
o
n
p
y
t
h
o
n
-
f
o
r
-
b
e
g
i
n
n
e
r
s
l
e
a
r
n
-
p
y
t
h
o
n
p
y
t
h
o
n
-
p
r
o
j
e
c
t
p
y
t
h
o
n
-
i
n
t
e
r
v
i
e
w
-
q
u
e
s
t
i
o
n
s
p
y
t
h
o
n
-
i
n
t
r
o
d
u
c
t
i
o
n
p
y
t
h
o
n
-
c
a
r
e
e
r
R
e
s
o
u
r
c
e
s
R
e
a
d
m
e
R
e
l
e
a
s
e
s
N
o
r
e
l
e
a
s
e
s
p
u
b
l
i
s
h
e
d
P
a
c
k
a
g
e
s
0
N
o
p
a
c
k
a
g
e
s
p
u
b
l
i
s
h
e
d
●
©
2
0
2
0
G
i
t
H
u
b
,
I
n
c
.
●
T
e
r
m
s
●
P
r
i
v
a
c
y
●
S
e
c
u
r
i
t
y
●
S
t
a
t
u
s
●
H
e
l
p
●
C
o
n
t
a
c
t
G
i
t
H
u
b
●
P
r
i
c
i
n
g
●
A
P
I
●
T
r
a
i
n
i
n
g
●
B
l
o
g
●
A
b
o
u
t
Y
o
u
c
a
n
’
t
p
e
r
f
o
r
m
t
h
a
t
a
c
t
i
o
n
a
t
t
h
i
s
t
i
m
e
.
Y
o
u
s
i
g
n
e
d
i
n
w
i
t
h
a
n
o
t
h
e
r
t
a
b
o
r
w
i
n
d
o
w
.
R
e
l
o
a
d
t
o
r
e
f
r
e
s
h
y
o
u
r
s
e
s
s
i
o
n
.
Y
o
u
s
i
g
n
e
d
o
u
t
i
n
a
n
o
t
h
e
r
t
a
b
o
r
w
i
n
d
o
w
.
R
e
l
o
a
d
t
o
r
e
f
r
e
s
h
y
o
u
r
s
e
s
s
i
o
n
.