rabbit-slide-kou-pgconf-asia-2016 2016.12.3.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.rabbit +1 -0
- data/PGroonga - Make PostgreSQL//nfast full text search platform//nfor all languages!.pdf +0 -0
- data/README.rd +46 -0
- data/Rakefile +60 -0
- data/config.yaml +24 -0
- data/data/index-creation-en.gnuplot +42 -0
- data/data/index-creation-en.tsv +2 -0
- data/data/search-en.gnuplot +45 -0
- data/data/search-en.tsv +5 -0
- data/data/search-ja.gnuplot +75 -0
- data/data/search-ja.tsv +5 -0
- data/data/style.gnuplot +29 -0
- data/images/gin-n-gram-index.svg +674 -0
- data/images/gin-n-gram-search.svg +807 -0
- data/images/index-creation-en.pdf +0 -0
- data/images/inverted-index.svg +800 -0
- data/images/performance-charcteristic-for-constant-read-and-write.svg +259 -0
- data/images/pgroonga-layer.svg +151 -0
- data/images/pgroonga-logo.svg +84 -0
- data/images/pgroonga-n-gram-search.svg +893 -0
- data/images/read-while-write-gin.svg +364 -0
- data/images/read-while-write-pgroonga.svg +325 -0
- data/images/replication-apply-action-logs.svg +3446 -0
- data/images/replication-overview.svg +1670 -0
- data/images/replication-write-action-logs.svg +3346 -0
- data/images/search-pg-bigm.pdf +0 -0
- data/images/search-pgroonga-groonga-textsearch.pdf +0 -0
- data/images/search-pgroonga-pg-bigm-all.pdf +0 -0
- data/images/search-pgroonga-pg-bigm.pdf +0 -0
- data/images/search-pgroonga-textsearch.pdf +0 -0
- data/pdf/pgconf-asia-2016-pgroonga.pdf +0 -0
- data/pgroonga.rab +614 -0
- data/theme.rb +3 -0
- metadata +109 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 7560d03e7cc6bf04f453f155ab103b6522a53853
|
4
|
+
data.tar.gz: e14a758b449c31aaecfe98293a4efc55c2d88ae9
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 63395679bdaa7fee706cfd9dc35d214a7b6cbbe8c43f811bfe1069d74a8a7c8255b2282ae56fe1091f568eaf2716b7f970515fa76336e12d0f3f0e113429154f
|
7
|
+
data.tar.gz: fc3508d88d9f69d5d6a348fb0f582c05d6a2f72e09da4e7f4091ed2814fd60c7d8a361845176fe430c27c2bdbc2cb186795ff3e472bfcb3c3933173ddb14ee7d
|
data/.rabbit
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
pgroonga.rab
|
Binary file
|
data/README.rd
ADDED
@@ -0,0 +1,46 @@
|
|
1
|
+
= PGroonga – Make PostgreSQL fast full text search platform for all languages!
|
2
|
+
|
3
|
+
PostgreSQL has built-in full text search feature. But it supports only limited languages. For example, it doesn't support Japanese. pg_trgm bundled in PostgreSQL supports all languages including Japanese. But it has performance problems for large documents.
|
4
|
+
|
5
|
+
This talk describes about PGroonga that resolves these problems.
|
6
|
+
|
7
|
+
== License
|
8
|
+
|
9
|
+
=== Slide
|
10
|
+
|
11
|
+
CC BY-SA 4.0
|
12
|
+
|
13
|
+
Use the followings for notation of the author:
|
14
|
+
|
15
|
+
* Kouhei Sutou
|
16
|
+
|
17
|
+
=== Images
|
18
|
+
|
19
|
+
==== Groonga and PGroonga logos
|
20
|
+
|
21
|
+
CC BY 3.0
|
22
|
+
|
23
|
+
Author: The Groonga Project
|
24
|
+
|
25
|
+
It is used in page header and some pages in the slide.
|
26
|
+
|
27
|
+
== For author
|
28
|
+
|
29
|
+
=== Show
|
30
|
+
|
31
|
+
rake
|
32
|
+
|
33
|
+
=== Publish
|
34
|
+
|
35
|
+
rake publish
|
36
|
+
|
37
|
+
== For viewers
|
38
|
+
|
39
|
+
=== Install
|
40
|
+
|
41
|
+
gem install rabbit-slide-kou-pgconf-asia-2016
|
42
|
+
|
43
|
+
=== Show
|
44
|
+
|
45
|
+
rabbit rabbit-slide-kou-pgconf-asia-2016.gem
|
46
|
+
|
data/Rakefile
ADDED
@@ -0,0 +1,60 @@
|
|
1
|
+
require "rabbit/task/slide"
|
2
|
+
|
3
|
+
# Edit ./config.yaml to customize meta data
|
4
|
+
|
5
|
+
spec = nil
|
6
|
+
Rabbit::Task::Slide.new do |task|
|
7
|
+
spec = task.spec
|
8
|
+
spec.files += Dir.glob("data/**/*.*")
|
9
|
+
spec.files += Dir.glob("images/**/*.*")
|
10
|
+
# spec.files -= Dir.glob("private/**/*.*")
|
11
|
+
spec.add_runtime_dependency("rabbit-theme-groonga")
|
12
|
+
end
|
13
|
+
|
14
|
+
desc "Tag #{spec.version}"
|
15
|
+
task :tag do
|
16
|
+
sh("git", "tag", "-a", spec.version.to_s, "-m", "Publish #{spec.version}")
|
17
|
+
sh("git", "push", "--tags")
|
18
|
+
end
|
19
|
+
|
20
|
+
key_graphs = []
|
21
|
+
plots = Pathname.glob("data/**/*.gnuplot")
|
22
|
+
plots.each do |plot|
|
23
|
+
output_base_dir = plot.dirname.to_s.gsub(/\Adata/, "images")
|
24
|
+
loaded_plots = []
|
25
|
+
graphs = []
|
26
|
+
data = []
|
27
|
+
|
28
|
+
plot.open do |plot_file|
|
29
|
+
plot_file.each_line do |line|
|
30
|
+
case line.chomp
|
31
|
+
when /\Aload "(.*?)"\z/
|
32
|
+
loaded_plots << "#{plot.dirname}/#{$1}"
|
33
|
+
when /"(.*?\.tsv)"/
|
34
|
+
data << "#{plot.dirname}/#{$1}"
|
35
|
+
when /\Aset output "(.*?)"\z/
|
36
|
+
graphs << "#{output_base_dir}/#{$1}"
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
40
|
+
next if graphs.empty?
|
41
|
+
|
42
|
+
key_graph = graphs.first
|
43
|
+
key_graphs << key_graph
|
44
|
+
file key_graph => [plot.to_s, *loaded_plots, *data] do
|
45
|
+
cd(plot.dirname) do
|
46
|
+
sh("gnuplot", plot.basename.to_s)
|
47
|
+
end
|
48
|
+
graphs.each do |graph|
|
49
|
+
mkdir_p(File.dirname(graph))
|
50
|
+
mv("#{plot.dirname}/#{File.basename(graph)}",
|
51
|
+
graph)
|
52
|
+
end
|
53
|
+
end
|
54
|
+
end
|
55
|
+
|
56
|
+
desc "Generate graphs"
|
57
|
+
task :graph => key_graphs
|
58
|
+
|
59
|
+
task :run => :graph
|
60
|
+
task :pdf => :graph
|
data/config.yaml
ADDED
@@ -0,0 +1,24 @@
|
|
1
|
+
---
|
2
|
+
id: pgconf-asia-2016
|
3
|
+
base_name: pgroonga
|
4
|
+
tags:
|
5
|
+
- rabbit
|
6
|
+
- pgroonga
|
7
|
+
- postgresql
|
8
|
+
presentation_date: 2016-12-03
|
9
|
+
version: 2016.12.3.0
|
10
|
+
licenses:
|
11
|
+
- CC-BY-SA-4.0
|
12
|
+
- CC-BY-3.0
|
13
|
+
slideshare_id: pgconf-asia-2016
|
14
|
+
speaker_deck_id:
|
15
|
+
ustream_id:
|
16
|
+
vimeo_id:
|
17
|
+
youtube_id:
|
18
|
+
author:
|
19
|
+
markup_language: :rd
|
20
|
+
name: Kouhei Sutou
|
21
|
+
email: kou@clear-code.com
|
22
|
+
rubygems_user: kou
|
23
|
+
slideshare_user: kou
|
24
|
+
speaker_deck_user:
|
@@ -0,0 +1,42 @@
|
|
1
|
+
load "style.gnuplot"
|
2
|
+
|
3
|
+
set title "Index creation"
|
4
|
+
|
5
|
+
set xlabel "Module"
|
6
|
+
set ylabel "Elapsed time (hour)\n(Shorter is better)"
|
7
|
+
set noxtic
|
8
|
+
|
9
|
+
set yrange[0:]
|
10
|
+
|
11
|
+
set style data histogram
|
12
|
+
set style histogram cluster gap 1
|
13
|
+
set style fill solid border -1
|
14
|
+
set boxwidth 0.9
|
15
|
+
|
16
|
+
set label 1 \
|
17
|
+
"Data: English Wikipedia" \
|
18
|
+
font "Sans,16" \
|
19
|
+
at -1,2.9 left
|
20
|
+
set label 2 \
|
21
|
+
"Size: About 33GiB" \
|
22
|
+
font "Sans,16" \
|
23
|
+
at -1,2.65 left
|
24
|
+
set label 3 \
|
25
|
+
"Max text size: 1MiB" \
|
26
|
+
font "Sans,16" \
|
27
|
+
at -1,2.4 left
|
28
|
+
set label 4 \
|
29
|
+
"2x faster\nthan textsearch" \
|
30
|
+
font "Sans,16" \
|
31
|
+
textcolor "#ef2929" \
|
32
|
+
at -0.15,1.8 right
|
33
|
+
set output "index-creation-en.pdf"
|
34
|
+
plot "index-creation-en.tsv" using 1 \
|
35
|
+
title columnheader \
|
36
|
+
linestyle 5, \
|
37
|
+
"index-creation-en.tsv" using 2 \
|
38
|
+
title columnheader \
|
39
|
+
linestyle 1, \
|
40
|
+
"index-creation-en.tsv" using 3 \
|
41
|
+
title columnheader \
|
42
|
+
linestyle 6
|
@@ -0,0 +1,45 @@
|
|
1
|
+
load "style.gnuplot"
|
2
|
+
|
3
|
+
set xlabel "Query" font "Sans,14"
|
4
|
+
set ylabel "Elapsed time (ms)\n(Shorter is better)"
|
5
|
+
|
6
|
+
set style data histogram
|
7
|
+
set style histogram cluster gap 1
|
8
|
+
set style fill solid border -1
|
9
|
+
set boxwidth 0.9
|
10
|
+
|
11
|
+
set label 1 \
|
12
|
+
"Data: English Wikipedia" \
|
13
|
+
at first -1,1.35 left
|
14
|
+
set label 2 \
|
15
|
+
"(Many records and large docs)" \
|
16
|
+
at first -1,1.25 left
|
17
|
+
set label 3 \
|
18
|
+
"N records: About 5.3millions" \
|
19
|
+
at first -1,1.15 left
|
20
|
+
set label 4 \
|
21
|
+
"Average text size: 6.4KiB" \
|
22
|
+
at first -1,1.05 left
|
23
|
+
set xtic font "Sans,14"
|
24
|
+
set output "search-pgroonga-textsearch.pdf"
|
25
|
+
plot "search-en.tsv" using ($2/1000):xtic(1) \
|
26
|
+
title columnheader \
|
27
|
+
linestyle 5, \
|
28
|
+
"search-en.tsv" using ($8/1000):xtic(1) \
|
29
|
+
title columnheader \
|
30
|
+
linestyle 1
|
31
|
+
|
32
|
+
set label 5 \
|
33
|
+
"Groonga is 30x faster than others" \
|
34
|
+
textcolor "#ef2929" \
|
35
|
+
at first -1,0.9 left
|
36
|
+
set output "search-pgroonga-groonga-textsearch.pdf"
|
37
|
+
plot "search-en.tsv" using ($2/1000):xtic(1) \
|
38
|
+
title columnheader \
|
39
|
+
linestyle 5, \
|
40
|
+
"search-en.tsv" using ($4/1000):xtic(1) \
|
41
|
+
title columnheader \
|
42
|
+
linestyle 2, \
|
43
|
+
"search-en.tsv" using ($8/1000):xtic(1) \
|
44
|
+
title columnheader \
|
45
|
+
linestyle 1
|
data/data/search-en.tsv
ADDED
@@ -0,0 +1,5 @@
|
|
1
|
+
Query PGroonga "N hits(PGroonga)" Groonga "N hits(Groonga)" pg\\_trgm "N hits(pg\\_trgm)" textsearch "N hits(textsearch)"
|
2
|
+
"PostgreSQL OR MySQL" 6 1636 3 1636 241 1484 3 1506
|
3
|
+
#animation 173 40802 6 40802 44000 33604 1000 423425
|
4
|
+
database 698 209353 19 209353 33000 134973 602 194750
|
5
|
+
America 1300 472762 59 472762 92000 1410041 1200 480855
|
@@ -0,0 +1,75 @@
|
|
1
|
+
load "style.gnuplot"
|
2
|
+
|
3
|
+
set xlabel "N hits"
|
4
|
+
set ylabel "Elapsed time (sec)\n(Shorter is better)"
|
5
|
+
|
6
|
+
set label 1 \
|
7
|
+
"Data: Japanese Wikipedia\n(Many records and large documents)" \
|
8
|
+
at first 0,2.875 left
|
9
|
+
set label 2 \
|
10
|
+
"N records: About 0.9millions\nAverage text size: 6.7KiB" \
|
11
|
+
at first 0,2.375 left
|
12
|
+
set label 3 \
|
13
|
+
"Slow" \
|
14
|
+
textcolor "#ef2929" \
|
15
|
+
at first 15306,1.3 left
|
16
|
+
set label 4 \
|
17
|
+
"Slow" \
|
18
|
+
textcolor "#ef2929" \
|
19
|
+
at first 19889,2.8 right
|
20
|
+
set output "search-pg-bigm.pdf"
|
21
|
+
plot [0:20389] \
|
22
|
+
"search-ja.tsv" using 7:($6/1000):xtic(7) \
|
23
|
+
title columnheader \
|
24
|
+
with linespoints \
|
25
|
+
linestyle 1
|
26
|
+
|
27
|
+
set label 3 \
|
28
|
+
"Fast" \
|
29
|
+
textcolor "#ef2929" \
|
30
|
+
at first 14709,0.25 center
|
31
|
+
set label 4 \
|
32
|
+
"Fast" \
|
33
|
+
textcolor "#ef2929" \
|
34
|
+
at first 20189,0.25 center
|
35
|
+
set output "search-pgroonga-pg-bigm.pdf"
|
36
|
+
plot [0:20389] \
|
37
|
+
"search-ja.tsv" using 3:($2/1000) \
|
38
|
+
title columnheader \
|
39
|
+
with linespoints \
|
40
|
+
linestyle 5, \
|
41
|
+
"search-ja.tsv" using 7:($6/1000):xtic(7) \
|
42
|
+
title columnheader \
|
43
|
+
with linespoints \
|
44
|
+
linestyle 1
|
45
|
+
|
46
|
+
set label 1 \
|
47
|
+
at first 200000,2.875 left
|
48
|
+
set label 2 \
|
49
|
+
at first 200000,2.375 left
|
50
|
+
set label 3 \
|
51
|
+
"Slow" \
|
52
|
+
textcolor "#ef2929" \
|
53
|
+
at first 28306,1.3 left
|
54
|
+
set label 4 \
|
55
|
+
"Slow" \
|
56
|
+
textcolor "#ef2929" \
|
57
|
+
at first 30889,2.9 left
|
58
|
+
set label 5 \
|
59
|
+
"Fast for many hits!" \
|
60
|
+
textcolor "#ef2929" \
|
61
|
+
at first 547382,0.25 right
|
62
|
+
set label 6 \
|
63
|
+
"Query: \"日本\"" \
|
64
|
+
textcolor "#ef2929" \
|
65
|
+
at first 547382,graph -0.1 right
|
66
|
+
set output "search-pgroonga-pg-bigm-all.pdf"
|
67
|
+
plot [0:550000] \
|
68
|
+
"search-ja.tsv" using 3:($2/1000) \
|
69
|
+
title columnheader \
|
70
|
+
with linespoints \
|
71
|
+
linestyle 5, \
|
72
|
+
"search-ja.tsv" using 7:($6/1000) \
|
73
|
+
title columnheader \
|
74
|
+
with linespoints \
|
75
|
+
linestyle 1
|
data/data/search-ja.tsv
ADDED
data/data/style.gnuplot
ADDED
@@ -0,0 +1,29 @@
|
|
1
|
+
set terminal pdfcairo enhanced color transparent rounded
|
2
|
+
|
3
|
+
set key outside center top horizontal reverse Left samplen 2
|
4
|
+
unset border
|
5
|
+
set xtics scale 0
|
6
|
+
set ytics scale 0
|
7
|
+
set grid ytics linewidth 1 linetype -1
|
8
|
+
|
9
|
+
set key font "Sans,18"
|
10
|
+
set title font "Sans,18"
|
11
|
+
set xlabel font "Sans,18"
|
12
|
+
set ylabel font "Sans,18"
|
13
|
+
set label 1 font "Sans,18"
|
14
|
+
set label 2 font "Sans,18"
|
15
|
+
set label 3 font "Sans,18"
|
16
|
+
set label 4 font "Sans,18"
|
17
|
+
set label 5 font "Sans,18"
|
18
|
+
set label 6 font "Sans,18"
|
19
|
+
|
20
|
+
set style line 1 lt 1 lc rgbcolor "#3465a4" lw 2.5 pt 7 ps 1
|
21
|
+
set style line 2 lt 1 lc rgbcolor "#edd400" lw 2.5 pt 7 ps 1
|
22
|
+
set style line 3 lt 1 lc rgbcolor "#888a85" lw 2.5 pt 5 ps 1
|
23
|
+
set style line 4 lt 1 lc rgbcolor "#f57900" lw 2.5 pt 5 ps 1
|
24
|
+
set style line 5 lt 1 lc rgbcolor "#ad7fa8" lw 2.5 pt 9 ps 1
|
25
|
+
set style line 6 lt 1 lc rgbcolor "#4e9a06" lw 2.5 pt 9 ps 1
|
26
|
+
set style line 7 lt 1 lc rgbcolor "#ef2929" lw 2.5 pt 1 ps 1
|
27
|
+
set style line 8 lt 1 lc rgbcolor "#5c3566" lw 2.5 pt 1 ps 1
|
28
|
+
set style line 9 lt 1 lc rgbcolor "#c17d11" lw 2.5 pt 3 ps 1
|
29
|
+
set style line 10 lt 1 lc rgbcolor "#dce775" lw 2.5 pt 3 ps 1
|
@@ -0,0 +1,674 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
2
|
+
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
3
|
+
|
4
|
+
<svg
|
5
|
+
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
6
|
+
xmlns:cc="http://creativecommons.org/ns#"
|
7
|
+
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
8
|
+
xmlns:svg="http://www.w3.org/2000/svg"
|
9
|
+
xmlns="http://www.w3.org/2000/svg"
|
10
|
+
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
11
|
+
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
12
|
+
width="166.78345mm"
|
13
|
+
height="104.96022mm"
|
14
|
+
viewBox="0 0 590.96499 371.9063"
|
15
|
+
id="svg2"
|
16
|
+
version="1.1"
|
17
|
+
inkscape:version="0.91 r13725"
|
18
|
+
sodipodi:docname="gin-n-gram-index.svg">
|
19
|
+
<defs
|
20
|
+
id="defs4">
|
21
|
+
<marker
|
22
|
+
inkscape:isstock="true"
|
23
|
+
style="overflow:visible"
|
24
|
+
id="marker4651"
|
25
|
+
refX="0"
|
26
|
+
refY="0"
|
27
|
+
orient="auto"
|
28
|
+
inkscape:stockid="Arrow1Lend">
|
29
|
+
<path
|
30
|
+
inkscape:connector-curvature="0"
|
31
|
+
transform="matrix(-0.8,0,0,-0.8,-10,0)"
|
32
|
+
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1"
|
33
|
+
d="M 0,0 5,-5 -12.5,0 5,5 0,0 Z"
|
34
|
+
id="path4653" />
|
35
|
+
</marker>
|
36
|
+
<marker
|
37
|
+
inkscape:isstock="true"
|
38
|
+
style="overflow:visible"
|
39
|
+
id="marker6139"
|
40
|
+
refX="0"
|
41
|
+
refY="0"
|
42
|
+
orient="auto"
|
43
|
+
inkscape:stockid="Arrow1Lend">
|
44
|
+
<path
|
45
|
+
transform="matrix(-0.8,0,0,-0.8,-10,0)"
|
46
|
+
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1"
|
47
|
+
d="M 0,0 5,-5 -12.5,0 5,5 0,0 Z"
|
48
|
+
id="path6141"
|
49
|
+
inkscape:connector-curvature="0" />
|
50
|
+
</marker>
|
51
|
+
<marker
|
52
|
+
inkscape:stockid="Arrow1Lend"
|
53
|
+
orient="auto"
|
54
|
+
refY="0"
|
55
|
+
refX="0"
|
56
|
+
id="marker5193"
|
57
|
+
style="overflow:visible"
|
58
|
+
inkscape:isstock="true"
|
59
|
+
inkscape:collect="always">
|
60
|
+
<path
|
61
|
+
id="path5195"
|
62
|
+
d="M 0,0 5,-5 -12.5,0 5,5 0,0 Z"
|
63
|
+
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1"
|
64
|
+
transform="matrix(-0.8,0,0,-0.8,-10,0)"
|
65
|
+
inkscape:connector-curvature="0" />
|
66
|
+
</marker>
|
67
|
+
<marker
|
68
|
+
inkscape:stockid="TriangleInS"
|
69
|
+
orient="auto"
|
70
|
+
refY="0"
|
71
|
+
refX="0"
|
72
|
+
id="TriangleInS"
|
73
|
+
style="overflow:visible"
|
74
|
+
inkscape:isstock="true">
|
75
|
+
<path
|
76
|
+
id="path8271"
|
77
|
+
d="m 5.77,0 -8.65,5 0,-10 8.65,5 z"
|
78
|
+
style="fill:#a40000;fill-opacity:1;fill-rule:evenodd;stroke:#a40000;stroke-width:1pt;stroke-opacity:1"
|
79
|
+
transform="scale(-0.2,-0.2)"
|
80
|
+
inkscape:connector-curvature="0" />
|
81
|
+
</marker>
|
82
|
+
<marker
|
83
|
+
inkscape:stockid="TriangleOutS"
|
84
|
+
orient="auto"
|
85
|
+
refY="0"
|
86
|
+
refX="0"
|
87
|
+
id="marker9378"
|
88
|
+
style="overflow:visible"
|
89
|
+
inkscape:isstock="true">
|
90
|
+
<path
|
91
|
+
id="path9380"
|
92
|
+
d="m 5.77,0 -8.65,5 0,-10 8.65,5 z"
|
93
|
+
style="fill:#a40000;fill-opacity:1;fill-rule:evenodd;stroke:#a40000;stroke-width:1pt;stroke-opacity:1"
|
94
|
+
transform="scale(0.2,0.2)"
|
95
|
+
inkscape:connector-curvature="0" />
|
96
|
+
</marker>
|
97
|
+
<marker
|
98
|
+
inkscape:stockid="TriangleOutS"
|
99
|
+
orient="auto"
|
100
|
+
refY="0"
|
101
|
+
refX="0"
|
102
|
+
id="TriangleOutS"
|
103
|
+
style="overflow:visible"
|
104
|
+
inkscape:isstock="true">
|
105
|
+
<path
|
106
|
+
id="path8280"
|
107
|
+
d="m 5.77,0 -8.65,5 0,-10 8.65,5 z"
|
108
|
+
style="fill:#a40000;fill-opacity:1;fill-rule:evenodd;stroke:#a40000;stroke-width:1pt;stroke-opacity:1"
|
109
|
+
transform="scale(0.2,0.2)"
|
110
|
+
inkscape:connector-curvature="0" />
|
111
|
+
</marker>
|
112
|
+
<marker
|
113
|
+
inkscape:stockid="Arrow2Sstart"
|
114
|
+
orient="auto"
|
115
|
+
refY="0"
|
116
|
+
refX="0"
|
117
|
+
id="marker9150"
|
118
|
+
style="overflow:visible"
|
119
|
+
inkscape:isstock="true">
|
120
|
+
<path
|
121
|
+
id="path9152"
|
122
|
+
style="fill:#a40000;fill-opacity:1;fill-rule:evenodd;stroke:#a40000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
|
123
|
+
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
|
124
|
+
transform="matrix(0.3,0,0,0.3,-0.69,0)"
|
125
|
+
inkscape:connector-curvature="0" />
|
126
|
+
</marker>
|
127
|
+
<marker
|
128
|
+
inkscape:stockid="Arrow2Sstart"
|
129
|
+
orient="auto"
|
130
|
+
refY="0"
|
131
|
+
refX="0"
|
132
|
+
id="marker9044"
|
133
|
+
style="overflow:visible"
|
134
|
+
inkscape:isstock="true">
|
135
|
+
<path
|
136
|
+
id="path9046"
|
137
|
+
style="fill:#a40000;fill-opacity:1;fill-rule:evenodd;stroke:#a40000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
|
138
|
+
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
|
139
|
+
transform="matrix(0.3,0,0,0.3,-0.69,0)"
|
140
|
+
inkscape:connector-curvature="0" />
|
141
|
+
</marker>
|
142
|
+
<marker
|
143
|
+
inkscape:stockid="Arrow2Sstart"
|
144
|
+
orient="auto"
|
145
|
+
refY="0"
|
146
|
+
refX="0"
|
147
|
+
id="marker8944"
|
148
|
+
style="overflow:visible"
|
149
|
+
inkscape:isstock="true">
|
150
|
+
<path
|
151
|
+
id="path8946"
|
152
|
+
style="fill:#a40000;fill-opacity:1;fill-rule:evenodd;stroke:#a40000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
|
153
|
+
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
|
154
|
+
transform="matrix(0.3,0,0,0.3,-0.69,0)"
|
155
|
+
inkscape:connector-curvature="0" />
|
156
|
+
</marker>
|
157
|
+
<marker
|
158
|
+
inkscape:stockid="Arrow2Sstart"
|
159
|
+
orient="auto"
|
160
|
+
refY="0"
|
161
|
+
refX="0"
|
162
|
+
id="Arrow2Sstart"
|
163
|
+
style="overflow:visible"
|
164
|
+
inkscape:isstock="true">
|
165
|
+
<path
|
166
|
+
id="path8162"
|
167
|
+
style="fill:#a40000;fill-opacity:1;fill-rule:evenodd;stroke:#a40000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
|
168
|
+
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
|
169
|
+
transform="matrix(0.3,0,0,0.3,-0.69,0)"
|
170
|
+
inkscape:connector-curvature="0" />
|
171
|
+
</marker>
|
172
|
+
<marker
|
173
|
+
inkscape:stockid="Arrow1Sstart"
|
174
|
+
orient="auto"
|
175
|
+
refY="0"
|
176
|
+
refX="0"
|
177
|
+
id="Arrow1Sstart"
|
178
|
+
style="overflow:visible"
|
179
|
+
inkscape:isstock="true">
|
180
|
+
<path
|
181
|
+
id="path8144"
|
182
|
+
d="M 0,0 5,-5 -12.5,0 5,5 0,0 Z"
|
183
|
+
style="fill:#a40000;fill-opacity:1;fill-rule:evenodd;stroke:#a40000;stroke-width:1pt;stroke-opacity:1"
|
184
|
+
transform="matrix(0.2,0,0,0.2,1.2,0)"
|
185
|
+
inkscape:connector-curvature="0" />
|
186
|
+
</marker>
|
187
|
+
<marker
|
188
|
+
inkscape:stockid="Arrow1Send"
|
189
|
+
orient="auto"
|
190
|
+
refY="0"
|
191
|
+
refX="0"
|
192
|
+
id="Arrow1Send"
|
193
|
+
style="overflow:visible"
|
194
|
+
inkscape:isstock="true">
|
195
|
+
<path
|
196
|
+
id="path8147"
|
197
|
+
d="M 0,0 5,-5 -12.5,0 5,5 0,0 Z"
|
198
|
+
style="fill:#a40000;fill-opacity:1;fill-rule:evenodd;stroke:#a40000;stroke-width:1pt;stroke-opacity:1"
|
199
|
+
transform="matrix(-0.2,0,0,-0.2,-1.2,0)"
|
200
|
+
inkscape:connector-curvature="0" />
|
201
|
+
</marker>
|
202
|
+
<marker
|
203
|
+
inkscape:stockid="Arrow1Mend"
|
204
|
+
orient="auto"
|
205
|
+
refY="0"
|
206
|
+
refX="0"
|
207
|
+
id="Arrow1Mend"
|
208
|
+
style="overflow:visible"
|
209
|
+
inkscape:isstock="true">
|
210
|
+
<path
|
211
|
+
id="path8141"
|
212
|
+
d="M 0,0 5,-5 -12.5,0 5,5 0,0 Z"
|
213
|
+
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1"
|
214
|
+
transform="matrix(-0.4,0,0,-0.4,-4,0)"
|
215
|
+
inkscape:connector-curvature="0" />
|
216
|
+
</marker>
|
217
|
+
<marker
|
218
|
+
inkscape:stockid="Arrow1Mstart"
|
219
|
+
orient="auto"
|
220
|
+
refY="0"
|
221
|
+
refX="0"
|
222
|
+
id="Arrow1Mstart"
|
223
|
+
style="overflow:visible"
|
224
|
+
inkscape:isstock="true">
|
225
|
+
<path
|
226
|
+
id="path8138"
|
227
|
+
d="M 0,0 5,-5 -12.5,0 5,5 0,0 Z"
|
228
|
+
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1"
|
229
|
+
transform="matrix(0.4,0,0,0.4,4,0)"
|
230
|
+
inkscape:connector-curvature="0" />
|
231
|
+
</marker>
|
232
|
+
<marker
|
233
|
+
inkscape:stockid="Arrow1Lend"
|
234
|
+
orient="auto"
|
235
|
+
refY="0"
|
236
|
+
refX="0"
|
237
|
+
id="marker8070"
|
238
|
+
style="overflow:visible"
|
239
|
+
inkscape:isstock="true">
|
240
|
+
<path
|
241
|
+
inkscape:connector-curvature="0"
|
242
|
+
id="path8072"
|
243
|
+
d="M 0,0 5,-5 -12.5,0 5,5 0,0 Z"
|
244
|
+
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1"
|
245
|
+
transform="matrix(-0.8,0,0,-0.8,-10,0)" />
|
246
|
+
</marker>
|
247
|
+
<marker
|
248
|
+
inkscape:isstock="true"
|
249
|
+
style="overflow:visible"
|
250
|
+
id="marker4356"
|
251
|
+
refX="0"
|
252
|
+
refY="0"
|
253
|
+
orient="auto"
|
254
|
+
inkscape:stockid="Arrow1Lend"
|
255
|
+
inkscape:collect="always">
|
256
|
+
<path
|
257
|
+
inkscape:connector-curvature="0"
|
258
|
+
transform="matrix(-0.8,0,0,-0.8,-10,0)"
|
259
|
+
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1"
|
260
|
+
d="M 0,0 5,-5 -12.5,0 5,5 0,0 Z"
|
261
|
+
id="path4358" />
|
262
|
+
</marker>
|
263
|
+
<marker
|
264
|
+
inkscape:isstock="true"
|
265
|
+
style="overflow:visible"
|
266
|
+
id="marker5129"
|
267
|
+
refX="0"
|
268
|
+
refY="0"
|
269
|
+
orient="auto"
|
270
|
+
inkscape:stockid="Arrow1Lend">
|
271
|
+
<path
|
272
|
+
inkscape:connector-curvature="0"
|
273
|
+
transform="matrix(-0.8,0,0,-0.8,-10,0)"
|
274
|
+
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1"
|
275
|
+
d="M 0,0 5,-5 -12.5,0 5,5 0,0 Z"
|
276
|
+
id="path5131" />
|
277
|
+
</marker>
|
278
|
+
</defs>
|
279
|
+
<sodipodi:namedview
|
280
|
+
id="base"
|
281
|
+
pagecolor="#ffffff"
|
282
|
+
bordercolor="#666666"
|
283
|
+
borderopacity="1.0"
|
284
|
+
inkscape:pageopacity="0.0"
|
285
|
+
inkscape:pageshadow="2"
|
286
|
+
inkscape:zoom="0.98994949"
|
287
|
+
inkscape:cx="115.97673"
|
288
|
+
inkscape:cy="214.86356"
|
289
|
+
inkscape:document-units="px"
|
290
|
+
inkscape:current-layer="layer1"
|
291
|
+
showgrid="false"
|
292
|
+
inkscape:window-width="1920"
|
293
|
+
inkscape:window-height="1016"
|
294
|
+
inkscape:window-x="1920"
|
295
|
+
inkscape:window-y="27"
|
296
|
+
inkscape:window-maximized="1"
|
297
|
+
fit-margin-top="5"
|
298
|
+
fit-margin-left="5"
|
299
|
+
fit-margin-right="5"
|
300
|
+
fit-margin-bottom="5" />
|
301
|
+
<metadata
|
302
|
+
id="metadata7">
|
303
|
+
<rdf:RDF>
|
304
|
+
<cc:Work
|
305
|
+
rdf:about="">
|
306
|
+
<dc:format>image/svg+xml</dc:format>
|
307
|
+
<dc:type
|
308
|
+
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
309
|
+
<dc:title></dc:title>
|
310
|
+
</cc:Work>
|
311
|
+
</rdf:RDF>
|
312
|
+
</metadata>
|
313
|
+
<g
|
314
|
+
inkscape:label="レイヤー 1"
|
315
|
+
inkscape:groupmode="layer"
|
316
|
+
id="layer1"
|
317
|
+
transform="translate(130.51043,-268.3643)">
|
318
|
+
<text
|
319
|
+
xml:space="preserve"
|
320
|
+
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:32px;line-height:125%;font-family:Sans;-inkscape-font-specification:Sans;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
321
|
+
x="207.08127"
|
322
|
+
y="275.5549"
|
323
|
+
id="text4854"
|
324
|
+
sodipodi:linespacing="125%"><tspan
|
325
|
+
sodipodi:role="line"
|
326
|
+
id="tspan4856"
|
327
|
+
x="207.08127"
|
328
|
+
y="275.5549" /></text>
|
329
|
+
<text
|
330
|
+
xml:space="preserve"
|
331
|
+
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:32px;line-height:125%;font-family:Sans;-inkscape-font-specification:Sans;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
332
|
+
x="122.2434"
|
333
|
+
y="309.76083"
|
334
|
+
id="text6240"
|
335
|
+
sodipodi:linespacing="125%"><tspan
|
336
|
+
sodipodi:role="line"
|
337
|
+
x="122.2434"
|
338
|
+
y="309.76083"
|
339
|
+
id="tspan6242">GIN</tspan></text>
|
340
|
+
<path
|
341
|
+
sodipodi:nodetypes="cc"
|
342
|
+
inkscape:connector-curvature="0"
|
343
|
+
id="path4336"
|
344
|
+
d="m -85.254908,465.77944 0,71.51778"
|
345
|
+
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker4356)" />
|
346
|
+
<g
|
347
|
+
transform="translate(-7.3669351,298.79854)"
|
348
|
+
id="g4338">
|
349
|
+
<text
|
350
|
+
xml:space="preserve"
|
351
|
+
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:32px;line-height:125%;font-family:Sans;-inkscape-font-specification:Sans;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
352
|
+
x="-105.25858"
|
353
|
+
y="277.1691"
|
354
|
+
id="text4340"
|
355
|
+
sodipodi:linespacing="125%"><tspan
|
356
|
+
sodipodi:role="line"
|
357
|
+
x="-105.25858"
|
358
|
+
y="277.1691"
|
359
|
+
id="tspan4342">"ca","at"</tspan></text>
|
360
|
+
</g>
|
361
|
+
<text
|
362
|
+
sodipodi:linespacing="125%"
|
363
|
+
id="text4352"
|
364
|
+
y="506.69946"
|
365
|
+
x="-75.577034"
|
366
|
+
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:32px;line-height:125%;font-family:Sans;-inkscape-font-specification:Sans;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
367
|
+
xml:space="preserve"><tspan
|
368
|
+
y="506.69946"
|
369
|
+
x="-75.577034"
|
370
|
+
id="tspan4354"
|
371
|
+
sodipodi:role="line">Tokenize</tspan></text>
|
372
|
+
<text
|
373
|
+
sodipodi:linespacing="125%"
|
374
|
+
id="text5982"
|
375
|
+
y="309.76083"
|
376
|
+
x="-109.89301"
|
377
|
+
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:32px;line-height:125%;font-family:Sans;-inkscape-font-specification:Sans;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
378
|
+
xml:space="preserve"><tspan
|
379
|
+
y="309.76083"
|
380
|
+
x="-109.89301"
|
381
|
+
id="tspan5984"
|
382
|
+
sodipodi:role="line">Documents</tspan></text>
|
383
|
+
<g
|
384
|
+
id="g5244"
|
385
|
+
transform="translate(0,-5.2667542)">
|
386
|
+
<rect
|
387
|
+
style="color:#000000;display:inline;overflow:visible;visibility:visible;opacity:1;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000100;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate"
|
388
|
+
id="rect5964"
|
389
|
+
width="153.02829"
|
390
|
+
height="129.15594"
|
391
|
+
x="-111.79389"
|
392
|
+
y="327.50415"
|
393
|
+
rx="5"
|
394
|
+
ry="5" />
|
395
|
+
<text
|
396
|
+
xml:space="preserve"
|
397
|
+
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:32px;line-height:125%;font-family:Sans;-inkscape-font-specification:Sans;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
398
|
+
x="-61.932198"
|
399
|
+
y="408.41418"
|
400
|
+
id="text5966"
|
401
|
+
sodipodi:linespacing="125%"><tspan
|
402
|
+
sodipodi:role="line"
|
403
|
+
id="tspan5968"
|
404
|
+
x="-61.932198"
|
405
|
+
y="408.41418">cat</tspan></text>
|
406
|
+
<text
|
407
|
+
sodipodi:linespacing="125%"
|
408
|
+
id="text5970"
|
409
|
+
y="446.9856"
|
410
|
+
x="-61.932198"
|
411
|
+
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:32px;line-height:125%;font-family:Sans;-inkscape-font-specification:Sans;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
412
|
+
xml:space="preserve"><tspan
|
413
|
+
y="446.9856"
|
414
|
+
x="-61.932198"
|
415
|
+
id="tspan5972"
|
416
|
+
sodipodi:role="line">at car</tspan></text>
|
417
|
+
<text
|
418
|
+
xml:space="preserve"
|
419
|
+
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:32px;line-height:125%;font-family:Sans;-inkscape-font-specification:Sans;letter-spacing:0px;word-spacing:0px;fill:#4e9a06;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
420
|
+
x="-107.62763"
|
421
|
+
y="405.91418"
|
422
|
+
id="text5974"
|
423
|
+
sodipodi:linespacing="125%"><tspan
|
424
|
+
sodipodi:role="line"
|
425
|
+
id="tspan5976"
|
426
|
+
x="-107.62763"
|
427
|
+
y="405.91418">10</tspan></text>
|
428
|
+
<text
|
429
|
+
sodipodi:linespacing="125%"
|
430
|
+
id="text5978"
|
431
|
+
y="446.51685"
|
432
|
+
x="-105.48481"
|
433
|
+
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:32px;line-height:125%;font-family:Sans;-inkscape-font-specification:Sans;letter-spacing:0px;word-spacing:0px;fill:#ce5c00;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
434
|
+
xml:space="preserve"><tspan
|
435
|
+
y="446.51685"
|
436
|
+
x="-105.48481"
|
437
|
+
id="tspan5980"
|
438
|
+
sodipodi:role="line">20</tspan></text>
|
439
|
+
<text
|
440
|
+
xml:space="preserve"
|
441
|
+
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:32px;line-height:125%;font-family:Sans;-inkscape-font-specification:Sans;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
442
|
+
x="-106.22444"
|
443
|
+
y="360.25934"
|
444
|
+
id="text5986"
|
445
|
+
sodipodi:linespacing="125%"><tspan
|
446
|
+
sodipodi:role="line"
|
447
|
+
id="tspan5988"
|
448
|
+
x="-106.22444"
|
449
|
+
y="360.25934">ID</tspan></text>
|
450
|
+
<text
|
451
|
+
xml:space="preserve"
|
452
|
+
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:32px;line-height:125%;font-family:Sans;-inkscape-font-specification:Sans;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
453
|
+
x="-60.55138"
|
454
|
+
y="359.4856"
|
455
|
+
id="text5990"
|
456
|
+
sodipodi:linespacing="125%"><tspan
|
457
|
+
sodipodi:role="line"
|
458
|
+
id="tspan5992"
|
459
|
+
x="-60.55138"
|
460
|
+
y="359.4856">Text</tspan></text>
|
461
|
+
<path
|
462
|
+
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.00000024;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
463
|
+
d="m -67.995846,328.5143 0,128.26835"
|
464
|
+
id="path5994"
|
465
|
+
inkscape:connector-curvature="0"
|
466
|
+
sodipodi:nodetypes="cc" />
|
467
|
+
<path
|
468
|
+
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.00000024;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
469
|
+
d="m -111.37545,369.11413 151.78571,0"
|
470
|
+
id="path5996"
|
471
|
+
inkscape:connector-curvature="0"
|
472
|
+
sodipodi:nodetypes="cc" />
|
473
|
+
</g>
|
474
|
+
<g
|
475
|
+
id="g5261">
|
476
|
+
<rect
|
477
|
+
ry="5"
|
478
|
+
rx="5"
|
479
|
+
y="322.2374"
|
480
|
+
x="115.74999"
|
481
|
+
height="246.79007"
|
482
|
+
width="325.98804"
|
483
|
+
id="rect6178"
|
484
|
+
style="color:#000000;display:inline;overflow:visible;visibility:visible;opacity:1;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000100;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" />
|
485
|
+
<text
|
486
|
+
xml:space="preserve"
|
487
|
+
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:32px;line-height:125%;font-family:Sans;-inkscape-font-specification:Sans;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
488
|
+
x="123.91734"
|
489
|
+
y="400.63477"
|
490
|
+
id="text6180"
|
491
|
+
sodipodi:linespacing="125%"><tspan
|
492
|
+
sodipodi:role="line"
|
493
|
+
id="tspan6182"
|
494
|
+
x="123.91734"
|
495
|
+
y="400.63477">"ca"</tspan></text>
|
496
|
+
<text
|
497
|
+
xml:space="preserve"
|
498
|
+
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:32px;line-height:125%;font-family:Sans;-inkscape-font-specification:Sans;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
499
|
+
x="123.91734"
|
500
|
+
y="442.09155"
|
501
|
+
id="text6184"
|
502
|
+
sodipodi:linespacing="125%"><tspan
|
503
|
+
sodipodi:role="line"
|
504
|
+
id="tspan6186"
|
505
|
+
x="123.91734"
|
506
|
+
y="442.09155">"at"</tspan></text>
|
507
|
+
<text
|
508
|
+
xml:space="preserve"
|
509
|
+
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:32px;line-height:125%;font-family:Sans;-inkscape-font-specification:Sans;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
510
|
+
x="123.82359"
|
511
|
+
y="481.53308"
|
512
|
+
id="text6188"
|
513
|
+
sodipodi:linespacing="125%"><tspan
|
514
|
+
sodipodi:role="line"
|
515
|
+
id="tspan6190"
|
516
|
+
x="123.82359"
|
517
|
+
y="481.53308">"t "</tspan></text>
|
518
|
+
<text
|
519
|
+
xml:space="preserve"
|
520
|
+
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:32px;line-height:125%;font-family:Sans;-inkscape-font-specification:Sans;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
521
|
+
x="123.20676"
|
522
|
+
y="356.73624"
|
523
|
+
id="text6192"
|
524
|
+
sodipodi:linespacing="125%"><tspan
|
525
|
+
sodipodi:role="line"
|
526
|
+
id="tspan6194"
|
527
|
+
x="123.20676"
|
528
|
+
y="356.73624">Token</tspan></text>
|
529
|
+
<text
|
530
|
+
xml:space="preserve"
|
531
|
+
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:32.00000381px;line-height:125%;font-family:Sans;-inkscape-font-specification:'Sans, Normal';text-align:center;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
532
|
+
x="330.32129"
|
533
|
+
y="355.77066"
|
534
|
+
id="text6196"
|
535
|
+
sodipodi:linespacing="125%"><tspan
|
536
|
+
sodipodi:role="line"
|
537
|
+
x="330.32129"
|
538
|
+
y="355.77066"
|
539
|
+
id="tspan6198">Posting list</tspan></text>
|
540
|
+
<path
|
541
|
+
sodipodi:nodetypes="cc"
|
542
|
+
inkscape:connector-curvature="0"
|
543
|
+
id="path6236"
|
544
|
+
d="m 115.46943,365.66717 325.79402,0"
|
545
|
+
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.00000024;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
|
546
|
+
<path
|
547
|
+
sodipodi:nodetypes="cc"
|
548
|
+
inkscape:connector-curvature="0"
|
549
|
+
id="path6238"
|
550
|
+
d="m 221.69089,322.53325 0,245.63199"
|
551
|
+
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.00000024;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
|
552
|
+
<text
|
553
|
+
sodipodi:linespacing="125%"
|
554
|
+
id="text6266"
|
555
|
+
y="398.88031"
|
556
|
+
x="232.84943"
|
557
|
+
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:32px;line-height:125%;font-family:Sans;-inkscape-font-specification:Sans;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
558
|
+
xml:space="preserve"><tspan
|
559
|
+
y="398.88031"
|
560
|
+
x="232.84943"
|
561
|
+
id="tspan6268"
|
562
|
+
sodipodi:role="line"><tspan
|
563
|
+
id="tspan6270"
|
564
|
+
style="fill:#4e9a06">10</tspan>,<tspan
|
565
|
+
id="tspan6274"
|
566
|
+
style="fill:#ce5c00">20</tspan><tspan
|
567
|
+
id="tspan6276"
|
568
|
+
style="fill:#5c3566" /></tspan></text>
|
569
|
+
<text
|
570
|
+
sodipodi:linespacing="125%"
|
571
|
+
id="text6278"
|
572
|
+
y="440.36835"
|
573
|
+
x="232.84943"
|
574
|
+
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:32px;line-height:125%;font-family:Sans;-inkscape-font-specification:Sans;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
575
|
+
xml:space="preserve"><tspan
|
576
|
+
y="440.36835"
|
577
|
+
x="232.84943"
|
578
|
+
id="tspan6280"
|
579
|
+
sodipodi:role="line"><tspan
|
580
|
+
id="tspan6282"
|
581
|
+
style="fill:#4e9a06">10</tspan>,<tspan
|
582
|
+
id="tspan6286"
|
583
|
+
style="fill:#ce5c00">20</tspan></tspan></text>
|
584
|
+
<text
|
585
|
+
sodipodi:linespacing="125%"
|
586
|
+
id="text6290"
|
587
|
+
y="480.34113"
|
588
|
+
x="235.00568"
|
589
|
+
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:32px;line-height:125%;font-family:Sans;-inkscape-font-specification:Sans;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
590
|
+
xml:space="preserve"><tspan
|
591
|
+
y="480.34113"
|
592
|
+
x="235.00568"
|
593
|
+
id="tspan6292"
|
594
|
+
sodipodi:role="line"><tspan
|
595
|
+
id="tspan6294"
|
596
|
+
style="fill:#ce5c00">20</tspan><tspan
|
597
|
+
id="tspan6296"
|
598
|
+
style="fill:#5c3566" /></tspan></text>
|
599
|
+
<text
|
600
|
+
sodipodi:linespacing="125%"
|
601
|
+
id="text4697"
|
602
|
+
y="517.06335"
|
603
|
+
x="123.91734"
|
604
|
+
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:32px;line-height:125%;font-family:Sans;-inkscape-font-specification:Sans;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
605
|
+
xml:space="preserve"><tspan
|
606
|
+
y="517.06335"
|
607
|
+
x="123.91734"
|
608
|
+
id="tspan4699"
|
609
|
+
sodipodi:role="line">" c"</tspan></text>
|
610
|
+
<text
|
611
|
+
sodipodi:linespacing="125%"
|
612
|
+
id="text4701"
|
613
|
+
y="558.52014"
|
614
|
+
x="123.91734"
|
615
|
+
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:32px;line-height:125%;font-family:Sans;-inkscape-font-specification:Sans;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
616
|
+
xml:space="preserve"><tspan
|
617
|
+
y="558.52014"
|
618
|
+
x="123.91734"
|
619
|
+
id="tspan4703"
|
620
|
+
sodipodi:role="line">"ar"</tspan></text>
|
621
|
+
<text
|
622
|
+
xml:space="preserve"
|
623
|
+
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:32px;line-height:125%;font-family:Sans;-inkscape-font-specification:Sans;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
624
|
+
x="235.00568"
|
625
|
+
y="518.9126"
|
626
|
+
id="text4713"
|
627
|
+
sodipodi:linespacing="125%"><tspan
|
628
|
+
sodipodi:role="line"
|
629
|
+
id="tspan4715"
|
630
|
+
x="235.00568"
|
631
|
+
y="518.9126"><tspan
|
632
|
+
style="fill:#ce5c00"
|
633
|
+
id="tspan4717">20</tspan><tspan
|
634
|
+
style="fill:#5c3566"
|
635
|
+
id="tspan4719" /></tspan></text>
|
636
|
+
<text
|
637
|
+
sodipodi:linespacing="125%"
|
638
|
+
id="text4721"
|
639
|
+
y="556.76971"
|
640
|
+
x="235.00568"
|
641
|
+
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:32px;line-height:125%;font-family:Sans;-inkscape-font-specification:Sans;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
642
|
+
xml:space="preserve"><tspan
|
643
|
+
y="556.76971"
|
644
|
+
x="235.00568"
|
645
|
+
id="tspan4723"
|
646
|
+
sodipodi:role="line"><tspan
|
647
|
+
id="tspan4725"
|
648
|
+
style="fill:#ce5c00">20</tspan><tspan
|
649
|
+
id="tspan4727"
|
650
|
+
style="fill:#5c3566" /></tspan></text>
|
651
|
+
</g>
|
652
|
+
<path
|
653
|
+
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker5193)"
|
654
|
+
d="M 53.213202,561.13478 102.6512,533.2479"
|
655
|
+
id="path5191"
|
656
|
+
inkscape:connector-curvature="0"
|
657
|
+
sodipodi:nodetypes="cc" />
|
658
|
+
<g
|
659
|
+
id="g4635"
|
660
|
+
transform="translate(-7.3669351,372.53968)">
|
661
|
+
<text
|
662
|
+
sodipodi:linespacing="125%"
|
663
|
+
id="text4637"
|
664
|
+
y="245.85437"
|
665
|
+
x="-105.25858"
|
666
|
+
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:32px;line-height:125%;font-family:Sans;-inkscape-font-specification:Sans;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
667
|
+
xml:space="preserve"><tspan
|
668
|
+
id="tspan4639"
|
669
|
+
y="245.85437"
|
670
|
+
x="-105.25858"
|
671
|
+
sodipodi:role="line">"at","t "," c","ca","ar"</tspan></text>
|
672
|
+
</g>
|
673
|
+
</g>
|
674
|
+
</svg>
|