emojidex 0.1.0 → 0.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/emojidex.gemspec +7 -6
- data/lib/emojidex.rb +9 -1
- data/lib/emojidex/client.rb +53 -0
- data/lib/emojidex/data/categories.rb +42 -42
- data/lib/emojidex/data/category.rb +10 -10
- data/lib/emojidex/data/collection.rb +39 -21
- data/lib/emojidex/data/collection/asset_information.rb +19 -3
- data/lib/emojidex/data/collection/cache.rb +28 -33
- data/lib/emojidex/data/collection/moji_data.rb +13 -11
- data/lib/emojidex/data/collection/static_collection.rb +3 -3
- data/lib/emojidex/data/emoji.rb +54 -37
- data/lib/emojidex/data/emoji/asset_information.rb +86 -3
- data/lib/emojidex/data/extended.rb +2 -2
- data/lib/emojidex/data/utf.rb +2 -2
- data/lib/emojidex/defaults.rb +9 -1
- data/lib/emojidex/env_helper.rb +1 -2
- data/lib/emojidex/service/collection.rb +70 -31
- data/lib/emojidex/service/error.rb +1 -0
- data/lib/emojidex/service/indexes.rb +31 -10
- data/lib/emojidex/service/search.rb +5 -4
- data/lib/emojidex/service/transactor.rb +35 -19
- data/lib/emojidex/service/user.rb +80 -37
- data/lib/emojidex/service/user/history_item.rb +23 -0
- data/lib/emojidex/{data → util}/collection_checker.rb +2 -3
- metadata +10 -79
- data/.coveralls.yml +0 -1
- data/.gitignore +0 -12
- data/.rspec +0 -2
- data/.rubocop.yml +0 -18
- data/.travis.yml +0 -18
- data/Gemfile +0 -18
- data/Guardfile +0 -19
- data/README.md +0 -73
- data/spec/emojidex/data/categories_spec.rb +0 -19
- data/spec/emojidex/data/collection_checker_spec.rb +0 -72
- data/spec/emojidex/data/collection_spec.rb +0 -136
- data/spec/emojidex/data/emoji_spec.rb +0 -47
- data/spec/emojidex/data/extended_spec.rb +0 -118
- data/spec/emojidex/data/utf_spec.rb +0 -91
- data/spec/emojidex/service/collection_spec.rb +0 -20
- data/spec/emojidex/service/error_spec.rb +0 -17
- data/spec/emojidex/service/indexes_spec.rb +0 -62
- data/spec/emojidex/service/search_spec.rb +0 -87
- data/spec/emojidex/service/transactor_spec.rb +0 -11
- data/spec/emojidex/service/user_spec.rb +0 -128
- data/spec/spec_helper.rb +0 -18
- data/spec/support/Genshin.svg +0 -126
- data/spec/support/couple_kiss/0.svg +0 -177
- data/spec/support/couple_kiss/1.svg +0 -177
- data/spec/support/couple_kiss/10.svg +0 -293
- data/spec/support/couple_kiss/11.svg +0 -235
- data/spec/support/couple_kiss/12.svg +0 -235
- data/spec/support/couple_kiss/13.svg +0 -235
- data/spec/support/couple_kiss/14.svg +0 -177
- data/spec/support/couple_kiss/15.svg +0 -177
- data/spec/support/couple_kiss/2.svg +0 -177
- data/spec/support/couple_kiss/3.svg +0 -235
- data/spec/support/couple_kiss/4.svg +0 -235
- data/spec/support/couple_kiss/5.svg +0 -235
- data/spec/support/couple_kiss/6.svg +0 -293
- data/spec/support/couple_kiss/7.svg +0 -235
- data/spec/support/couple_kiss/8.svg +0 -235
- data/spec/support/couple_kiss/9.svg +0 -235
- data/spec/support/couple_kiss/animation.json +0 -14
- data/spec/support/fixtures/categories.json +0 -14
- data/spec/support/fixtures/category.json +0 -5
- data/spec/support/fixtures/emoji.json +0 -28
- data/spec/support/fixtures/emoji_detailed.json +0 -41
- data/spec/support/fixtures/search_emoji.json +0 -21
- data/spec/support/fixtures/single_emoji.json +0 -19
- data/spec/support/fixtures/single_emoji_detailed.json +0 -30
- data/spec/support/sample_collections/good/emoji.json +0 -30
- data/spec/support/sample_collections/good/mouth.svg +0 -49
- data/spec/support/sample_collections/good/nut_and_bolt.svg +0 -372
- data/spec/support/sample_collections/good/purple_heart.svg +0 -24
- data/spec/support/sample_collections/good/px32/mouth.png +0 -0
- data/spec/support/sample_collections/good/px32/nut_and_bolt.png +0 -0
- data/spec/support/sample_collections/good/px32/purple_heart.png +0 -0
- data/spec/support/sample_collections/good/px32/woman_with_bunny_ears.png +0 -0
- data/spec/support/sample_collections/good/woman_with_bunny_ears.svg +0 -90
- data/spec/support/sample_collections/missing_assets/emoji.json +0 -30
- data/spec/support/sample_collections/missing_assets/mouth.svg +0 -49
- data/spec/support/sample_collections/missing_assets/purple_heart.svg +0 -24
- data/spec/support/sample_collections/missing_assets/px32/mouth.png +0 -0
- data/spec/support/sample_collections/missing_assets/px32/nut_and_bolt.png +0 -0
- data/spec/support/sample_collections/missing_assets/px32/woman_with_bunny_ears.png +0 -0
- data/spec/support/sample_collections/missing_assets/woman_with_bunny_ears.svg +0 -90
- data/spec/support/sample_collections/missing_index/emoji.json +0 -23
- data/spec/support/sample_collections/missing_index/mouth.svg +0 -49
- data/spec/support/sample_collections/missing_index/nut_and_bolt.svg +0 -372
- data/spec/support/sample_collections/missing_index/purple_heart.svg +0 -24
- data/spec/support/sample_collections/missing_index/px32/mouth.png +0 -0
- data/spec/support/sample_collections/missing_index/px32/nut_and_bolt.png +0 -0
- data/spec/support/sample_collections/missing_index/px32/purple_heart.png +0 -0
- data/spec/support/sample_collections/missing_index/px32/woman_with_bunny_ears.png +0 -0
- data/spec/support/sample_collections/missing_index/woman_with_bunny_ears.svg +0 -90
@@ -1,87 +0,0 @@
|
|
1
|
-
require 'spec_helper'
|
2
|
-
require 'emojidex/service/search'
|
3
|
-
|
4
|
-
describe Emojidex::Service::Search do
|
5
|
-
describe '.term' do
|
6
|
-
it 'searches for a term and returns a collection with the results' do
|
7
|
-
res = Emojidex::Service::Search.term('chocolate')
|
8
|
-
expect(res).to be_a(Emojidex::Service::Collection)
|
9
|
-
expect(res.emoji.count >= 3).to be true
|
10
|
-
end
|
11
|
-
end
|
12
|
-
|
13
|
-
describe '.search' do
|
14
|
-
it 'searches for a term and returns a collection with the results' do
|
15
|
-
res = Emojidex::Service::Search.term('チョコ')
|
16
|
-
expect(res).to be_a(Emojidex::Service::Collection)
|
17
|
-
expect(res.emoji.count >= 3).to be true
|
18
|
-
end
|
19
|
-
end
|
20
|
-
|
21
|
-
describe '.starting' do
|
22
|
-
it 'searches for a code starting with the term and returns a collection with the results' do
|
23
|
-
res = Emojidex::Service::Search.starting('face')
|
24
|
-
expect(res).to be_a(Emojidex::Service::Collection)
|
25
|
-
expect(res.emoji.count >= 3).to be true
|
26
|
-
for i in 0..10
|
27
|
-
expect(/^face/.match(res.emoji.values[i].code).nil?).to be false
|
28
|
-
end
|
29
|
-
end
|
30
|
-
end
|
31
|
-
|
32
|
-
describe '.ending' do
|
33
|
-
it 'searches for a code starting with the term and returns a collection with the results' do
|
34
|
-
res = Emojidex::Service::Search.ending('face')
|
35
|
-
expect(res).to be_a(Emojidex::Service::Collection)
|
36
|
-
expect(res.emoji.count >= 3).to be true
|
37
|
-
for i in 0..10
|
38
|
-
expect(/face$/.match(res.emoji.values[i].code).nil?).to be false
|
39
|
-
end
|
40
|
-
end
|
41
|
-
end
|
42
|
-
|
43
|
-
describe '.tags' do
|
44
|
-
it 'searches for emoji by a single tag' do
|
45
|
-
res = Emojidex::Service::Search.tags(:metal)
|
46
|
-
expect(res.emoji.values[0].tags.include? :metal).to be true
|
47
|
-
end
|
48
|
-
|
49
|
-
it 'searches for emoji by multiple tags and mixed symbols/strings with spaces' do
|
50
|
-
res = Emojidex::Service::Search.tags([:metal, 'fist', 'heavy metal'])
|
51
|
-
expect(res.emoji.values[0].tags.include? :metal).to be true
|
52
|
-
expect(res.emoji.values[0].tags.include? :fist).to be true
|
53
|
-
end
|
54
|
-
end
|
55
|
-
|
56
|
-
describe '.advanced' do
|
57
|
-
it 'searches for a term' do
|
58
|
-
res = Emojidex::Service::Search.advanced('face')
|
59
|
-
expect(res).to be_a(Emojidex::Service::Collection)
|
60
|
-
expect(res.emoji.count > 0).to be true
|
61
|
-
for i in 0..(res.emoji.count - 1)
|
62
|
-
expect(/face/.match(res.emoji.values[i].code).nil?).to be false
|
63
|
-
end
|
64
|
-
end
|
65
|
-
|
66
|
-
it 'searches for a term constrained with a tag' do
|
67
|
-
res = Emojidex::Service::Search.advanced('metal', [], :fist)
|
68
|
-
expect(res).to be_a(Emojidex::Service::Collection)
|
69
|
-
expect(res.emoji.count > 0).to be true
|
70
|
-
for i in 0..(res.emoji.count - 1)
|
71
|
-
expect(/metal/.match(res.emoji.values[i].code).nil?).to be false
|
72
|
-
expect(res.emoji.values[i].tags.include? :fist).to be true
|
73
|
-
end
|
74
|
-
end
|
75
|
-
|
76
|
-
it 'searches for a term constrained by a category' do
|
77
|
-
res = Emojidex::Service::Search.advanced('san', [:food])
|
78
|
-
expect(res).to be_a(Emojidex::Service::Collection)
|
79
|
-
expect(res.emoji.count > 0).to be true
|
80
|
-
for i in 0..(res.emoji.count - 1)
|
81
|
-
expect(/san/.match(res.emoji.values[i].code).nil?).to be false
|
82
|
-
expect(res.emoji.values[i].category).to be :food
|
83
|
-
end
|
84
|
-
end
|
85
|
-
|
86
|
-
end
|
87
|
-
end
|
@@ -1,128 +0,0 @@
|
|
1
|
-
require 'spec_helper'
|
2
|
-
require 'emojidex/service/user'
|
3
|
-
|
4
|
-
|
5
|
-
describe Emojidex::Service::User do
|
6
|
-
it 'has a set of auth status codes which define if a user is authorized' do
|
7
|
-
expect(Emojidex::Service::User.auth_status_codes.include? :verified).to be true
|
8
|
-
expect(Emojidex::Service::User.auth_status_codes.include? :unverified).to be true
|
9
|
-
expect(Emojidex::Service::User.auth_status_codes[:verified]).to be true
|
10
|
-
expect(Emojidex::Service::User.auth_status_codes[:unverified]).to be false
|
11
|
-
end
|
12
|
-
|
13
|
-
describe 'initialize' do
|
14
|
-
it 'sets defaults' do
|
15
|
-
user = Emojidex::Service::User.new
|
16
|
-
expect(user.username).to eq ''
|
17
|
-
expect(user.pro).to eq false
|
18
|
-
expect(user.premium).to eq false
|
19
|
-
expect(user.pro_exp).to eq nil
|
20
|
-
expect(user.premium_exp).to eq nil
|
21
|
-
end
|
22
|
-
|
23
|
-
it 'defaults to an unauthroized state' do
|
24
|
-
user = Emojidex::Service::User.new
|
25
|
-
expect(user.authorized?).to be false
|
26
|
-
end
|
27
|
-
end
|
28
|
-
|
29
|
-
describe 'authorize' do
|
30
|
-
it 'fails authorization with a bad token' do
|
31
|
-
user = Emojidex::Service::User.new
|
32
|
-
expect(user.authorize('test', '12345')).to be false
|
33
|
-
expect(user.status).to eq :unverified
|
34
|
-
end
|
35
|
-
|
36
|
-
it 'authorizes with a good token' do
|
37
|
-
user = Emojidex::Service::User.new
|
38
|
-
expect(user.authorize('test',
|
39
|
-
'1798909355d57c9a93e3b82d275594e7c7c000db05021138')).to be true
|
40
|
-
expect(user.status).to eq :verified
|
41
|
-
end
|
42
|
-
|
43
|
-
it 'fails to sync history when unauthorized' do
|
44
|
-
user = Emojidex::Service::User.new
|
45
|
-
expect(user.sync_history).to be false
|
46
|
-
expect(user.history.class == Array).to be true
|
47
|
-
expect(user.history.size).to eq 0
|
48
|
-
end
|
49
|
-
|
50
|
-
it 'syncs history when authorized' do
|
51
|
-
user = Emojidex::Service::User.new
|
52
|
-
user.authorize('test', '1798909355d57c9a93e3b82d275594e7c7c000db05021138')
|
53
|
-
expect(user.sync_history).to be true
|
54
|
-
expect(user.history.size > 0).to be true
|
55
|
-
end
|
56
|
-
|
57
|
-
it 'fails to sync favorites when unauthorized' do
|
58
|
-
user = Emojidex::Service::User.new
|
59
|
-
expect(user.sync_favorites).to be false
|
60
|
-
end
|
61
|
-
|
62
|
-
it 'syncs favorites when authorized' do
|
63
|
-
user = Emojidex::Service::User.new
|
64
|
-
user.authorize('test', '1798909355d57c9a93e3b82d275594e7c7c000db05021138')
|
65
|
-
expect(user.sync_favorites).to be true
|
66
|
-
expect(user.favorites.emoji.length > 0).to be true
|
67
|
-
end
|
68
|
-
|
69
|
-
it 'refuses to add a favorite when not authorized' do
|
70
|
-
user = Emojidex::Service::User.new
|
71
|
-
expect(user.add_favorite('combat knife')).to be false
|
72
|
-
end
|
73
|
-
|
74
|
-
it 'adds a favorite when authorized' do
|
75
|
-
user = Emojidex::Service::User.new
|
76
|
-
user.authorize('test', '1798909355d57c9a93e3b82d275594e7c7c000db05021138')
|
77
|
-
expect(user.add_favorite('combat_knife')).to be true
|
78
|
-
end
|
79
|
-
|
80
|
-
it 'refuses to remove a favorite when not authorized' do
|
81
|
-
user = Emojidex::Service::User.new
|
82
|
-
expect(user.remove_favorite('combat_knife')).to be false
|
83
|
-
end
|
84
|
-
|
85
|
-
it 'removes a favorite when authorized' do
|
86
|
-
user = Emojidex::Service::User.new
|
87
|
-
user.authorize('test', '1798909355d57c9a93e3b82d275594e7c7c000db05021138')
|
88
|
-
user.add_favorite('combat_knife')
|
89
|
-
expect(user.remove_favorite('combat_knife')).to be true
|
90
|
-
end
|
91
|
-
|
92
|
-
it 'saves user data' do
|
93
|
-
user = Emojidex::Service::User.new
|
94
|
-
user.authorize('test', '1798909355d57c9a93e3b82d275594e7c7c000db05021138')
|
95
|
-
user.save(tmp_cache_path)
|
96
|
-
expect(File.exist? "#{tmp_cache_path}/user.json").to be true
|
97
|
-
expect(File.exist? "#{tmp_cache_path}/history.json").to be true
|
98
|
-
expect(File.exist? "#{tmp_cache_path}/favorites.json").to be true
|
99
|
-
end
|
100
|
-
|
101
|
-
it 'loads user data' do
|
102
|
-
user = Emojidex::Service::User.new
|
103
|
-
user.authorize('test', '1798909355d57c9a93e3b82d275594e7c7c000db05021138')
|
104
|
-
user.sync_favorites
|
105
|
-
user.sync_history
|
106
|
-
user.add_favorite('忍者') # just in case
|
107
|
-
user.save(tmp_cache_path)
|
108
|
-
|
109
|
-
# without syncing
|
110
|
-
user = Emojidex::Service::User.new
|
111
|
-
user.load(tmp_cache_path)
|
112
|
-
expect(user.username).to eq 'test'
|
113
|
-
expect(user.authorized?).to be true
|
114
|
-
expect(user.favorites.emoji.count > 0).to be true
|
115
|
-
expect(user.history.length > 0).to be true
|
116
|
-
|
117
|
-
# with syncing
|
118
|
-
user = Emojidex::Service::User.new
|
119
|
-
user.load(tmp_cache_path, false)
|
120
|
-
expect(user.username).to eq 'test'
|
121
|
-
expect(user.authorized?).to be false
|
122
|
-
expect(user.status).to be :loaded
|
123
|
-
expect(user.favorites.emoji.count > 0).to be true
|
124
|
-
expect(user.history.length > 0).to be true
|
125
|
-
end
|
126
|
-
|
127
|
-
end
|
128
|
-
end
|
data/spec/spec_helper.rb
DELETED
@@ -1,18 +0,0 @@
|
|
1
|
-
require 'rspec'
|
2
|
-
require 'emojidex'
|
3
|
-
require 'emojidex/data/collection'
|
4
|
-
require 'emojidex/vectors'
|
5
|
-
|
6
|
-
def sample_collection(name)
|
7
|
-
e = Emojidex::Data::Collection.new
|
8
|
-
e.load_local_collection(File.expand_path("../support/sample_collections/#{name}", __FILE__))
|
9
|
-
e
|
10
|
-
end
|
11
|
-
|
12
|
-
def tmp_cache_path
|
13
|
-
tmp_cache_path = File.expand_path('../tmp/samplecache', __FILE__)
|
14
|
-
end
|
15
|
-
|
16
|
-
def clear_tmp_cache
|
17
|
-
FileUtils.rm_rf tmp_cache_path if Dir.exist? tmp_cache_path
|
18
|
-
end
|
data/spec/support/Genshin.svg
DELETED
@@ -1,126 +0,0 @@
|
|
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:xlink="http://www.w3.org/1999/xlink"
|
11
|
-
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
12
|
-
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
13
|
-
width="64px"
|
14
|
-
height="64px"
|
15
|
-
id="svg3713"
|
16
|
-
version="1.1"
|
17
|
-
inkscape:version="0.48.2 r9819"
|
18
|
-
sodipodi:docname="genshin-logo-revised-s2.svg"
|
19
|
-
inkscape:export-filename="/home/zero/デスクトップ/genshin-logo-revised-s2.png"
|
20
|
-
inkscape:export-xdpi="90.349998"
|
21
|
-
inkscape:export-ydpi="90.349998">
|
22
|
-
<defs
|
23
|
-
id="defs3715">
|
24
|
-
<linearGradient
|
25
|
-
id="linearGradient4528">
|
26
|
-
<stop
|
27
|
-
style="stop-color:#d70b3a;stop-opacity:1;"
|
28
|
-
offset="0"
|
29
|
-
id="stop4530" />
|
30
|
-
<stop
|
31
|
-
style="stop-color:#d70b3a;stop-opacity:0;"
|
32
|
-
offset="1"
|
33
|
-
id="stop4532" />
|
34
|
-
</linearGradient>
|
35
|
-
<radialGradient
|
36
|
-
inkscape:collect="always"
|
37
|
-
xlink:href="#linearGradient4528"
|
38
|
-
id="radialGradient4534"
|
39
|
-
cx="31.954546"
|
40
|
-
cy="32.045456"
|
41
|
-
fx="31.954546"
|
42
|
-
fy="32.045456"
|
43
|
-
r="31.863636"
|
44
|
-
gradientUnits="userSpaceOnUse"
|
45
|
-
gradientTransform="matrix(0.9985415,-1.6601007e-5,1.6156097e-5,0.97684882,0.04608723,0.74242019)" />
|
46
|
-
</defs>
|
47
|
-
<sodipodi:namedview
|
48
|
-
id="base"
|
49
|
-
pagecolor="#ffffff"
|
50
|
-
bordercolor="#666666"
|
51
|
-
borderopacity="1.0"
|
52
|
-
inkscape:pageopacity="0.0"
|
53
|
-
inkscape:pageshadow="2"
|
54
|
-
inkscape:zoom="5.6568543"
|
55
|
-
inkscape:cx="-54.952613"
|
56
|
-
inkscape:cy="18.847043"
|
57
|
-
inkscape:current-layer="g3"
|
58
|
-
showgrid="true"
|
59
|
-
inkscape:document-units="px"
|
60
|
-
inkscape:grid-bbox="true"
|
61
|
-
inkscape:window-width="1920"
|
62
|
-
inkscape:window-height="999"
|
63
|
-
inkscape:window-x="0"
|
64
|
-
inkscape:window-y="26"
|
65
|
-
inkscape:window-maximized="1" />
|
66
|
-
<metadata
|
67
|
-
id="metadata3718">
|
68
|
-
<rdf:RDF>
|
69
|
-
<cc:Work
|
70
|
-
rdf:about="">
|
71
|
-
<dc:format>image/svg+xml</dc:format>
|
72
|
-
<dc:type
|
73
|
-
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
74
|
-
<dc:title></dc:title>
|
75
|
-
</cc:Work>
|
76
|
-
</rdf:RDF>
|
77
|
-
</metadata>
|
78
|
-
<g
|
79
|
-
id="layer1"
|
80
|
-
inkscape:label="Layer 1"
|
81
|
-
inkscape:groupmode="layer">
|
82
|
-
<g
|
83
|
-
transform="matrix(0.57354429,0,0,0.57354429,-9.3948988,-4.8771052)"
|
84
|
-
id="g3"
|
85
|
-
style="fill:#eaf4fc;fill-opacity:1"
|
86
|
-
inkscape:export-filename="/home/zero/repo/genshin.org/public/images/logo.png"
|
87
|
-
inkscape:export-xdpi="899.45599"
|
88
|
-
inkscape:export-ydpi="899.45599">
|
89
|
-
<path
|
90
|
-
style="fill:#000b00;fill-opacity:1"
|
91
|
-
inkscape:connector-curvature="0"
|
92
|
-
d="M 25.836,60.884 C 24.166,40.446 48.553,29.302 56.569,21.716 -18.048,34.763 21.127285,141.272 92.968,116.101 55.66,114.913 61,104.364 53.038,102.823 34.947,99.318 23.875,84.208 23.875,77.524 c 0,-5.82 3.127,-11.227 1.961,-16.64 z"
|
93
|
-
id="path5"
|
94
|
-
sodipodi:nodetypes="ccccsc" />
|
95
|
-
<path
|
96
|
-
style="fill:#000b00;fill-opacity:1"
|
97
|
-
inkscape:connector-curvature="0"
|
98
|
-
d="m 113.716,93.582 c -2.866,6.521 -6.899,12.655 -12.102,18.097 14.903,-9.178 23.524,-23.791 25.886,-39.501 -2.569,7.972 -7.767,15.337 -13.784,21.404 z"
|
99
|
-
id="path7" />
|
100
|
-
<path
|
101
|
-
style="fill:#000b00;fill-opacity:1"
|
102
|
-
inkscape:connector-curvature="0"
|
103
|
-
d="M 103.22,17.748 C 90.066,15.033 74.921,11.61 64.736,17.282 47.742,14.826 29.859,28.196 27.575,30.997 49.169,1.381 87.748,5.928 103.22,17.748 z"
|
104
|
-
id="path9" />
|
105
|
-
</g>
|
106
|
-
<g
|
107
|
-
transform="matrix(0.57354429,0,0,0.57354429,-9.3948988,-4.8771052)"
|
108
|
-
id="g19"
|
109
|
-
style="fill:#d7003a;fill-opacity:1"
|
110
|
-
inkscape:export-filename="/home/zero/repo/genshin.org/public/images/logo.png"
|
111
|
-
inkscape:export-xdpi="899.45599"
|
112
|
-
inkscape:export-ydpi="899.45599">
|
113
|
-
<path
|
114
|
-
style="fill:#d7003a;fill-opacity:1"
|
115
|
-
inkscape:connector-curvature="0"
|
116
|
-
d="M 51.111,43.19 C 58.462774,38.269206 66.017957,33.761108 74,28.841 l 0,-4.095 c -8.247318,5.125197 -15.321401,9.30897 -22.829,14.275 -8.797,5.749 -14.357,9.711 -14.357,16.446 0,5.879 4.211,9.647 11.136,14.334 C 46.919651,70.483832 45.873425,71.246791 45,71.879 40,75.676 36.801,79 36.801,84 l -0.004,0 -10e-4,-0.047 c 0,0.011 0.003,4.047 4.094,4.047 4.095,0 20.477,0 20.477,0 0,0 2.566,-0.008 3.633,-1.999 l 0,16.469 c 0,0 9,-4.095 9,-12.287 0,-8.191 0,-15.061 0,-15.061 C 74,75.122 73.654,71 69.558,71 65.462,71 65,71 65,71 l 0,13 -20.016,0 c 0,-6 0.007,-7.794 6.247,-12.221 2.081315,-1.349288 4.033477,-2.724396 5.769,-4.064 5,-3.797 8,-7.267 8,-12.252 L 65,51 57,51 c -0.07924,1.223929 0.04302,3.037425 0.136,4 0,7 0.061,8.075 -6.077,12.445 -6.143,-4.371 -6.109,-5.598 -6.109,-12.099 0,-6.501 0.017,-7.784 6.161,-12.156 z"
|
117
|
-
id="path21"
|
118
|
-
sodipodi:nodetypes="ccccscccccscccscsccccccsccccc" />
|
119
|
-
<path
|
120
|
-
style="fill:#d7003a;fill-opacity:1"
|
121
|
-
inkscape:connector-curvature="0"
|
122
|
-
d="m 116.841,37 c 0,0 -0.08,-4.199 -4.175,-4.199 -4.096,0 -4.142,-0.052 -16.428,8.14 C 92.937,43.141 90,44.684 88,45.861 V 27.106 C 88,27.106 88.014,23 83.917,23 80.264,23 80.012,23 80,23 v 26 4.176 c 4,0 3.761,0 16.048,-8.191 7.257,-4.838 9.952,-6.818 11.952,-7.629 0,3.689 0,24.739 0,32.203 0,8.19 0.358,8.19 -11.928,16.381 C 83.785,94.132 78,98.228 78,98.228 v 4.095 c 0,0 6.189,-4.095 18.477,-12.288 C 108.763,81.844 117,77.749 117,69.558 117,61.366 117,37 117,37 h -0.159 z"
|
123
|
-
id="path23" />
|
124
|
-
</g>
|
125
|
-
</g>
|
126
|
-
</svg>
|
@@ -1,177 +0,0 @@
|
|
1
|
-
<?xml version="1.0" encoding="utf-8"?>
|
2
|
-
<!-- Generator: Adobe Illustrator 15.0.2, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
3
|
-
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
4
|
-
<svg version="1.1" id="_x30_1_12_" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
5
|
-
width="64px" height="64px" viewBox="0 0 64 64" enable-background="new 0 0 64 64" xml:space="preserve">
|
6
|
-
<g>
|
7
|
-
<g>
|
8
|
-
<g>
|
9
|
-
<path fill="#FFB997" d="M47.156,8.059c-2.125,5.375,3.375,11.375,2.125,14.375s-7.875,4.375-7.875,4.375
|
10
|
-
s-2.125,2.375,1.125,6.625c0,0-5.406,6.711,10.718,18.589c7.145,5.247,21.196-5.503,21.196-5.503V8.059H47.156z"/>
|
11
|
-
<path fill="none" stroke="#190902" stroke-width="3" stroke-miterlimit="10" d="M47.156,8.059
|
12
|
-
c-2.125,5.375,3.375,11.375,2.125,14.375s-7.875,4.375-7.875,4.375s-2.125,2.375,1.125,6.625c0,0-5.406,6.711,10.718,18.589
|
13
|
-
c7.145,5.247,21.196-5.503,21.196-5.503V8.059H47.156z"/>
|
14
|
-
</g>
|
15
|
-
<defs>
|
16
|
-
<filter id="Adobe_OpacityMaskFilter" filterUnits="userSpaceOnUse" x="39.224" y="6.559" width="36.722" height="48.408">
|
17
|
-
|
18
|
-
<feColorMatrix type="matrix" values="-1 0 0 0 1 0 -1 0 0 1 0 0 -1 0 1 0 0 0 1 0" color-interpolation-filters="sRGB" result="source"/>
|
19
|
-
</filter>
|
20
|
-
</defs>
|
21
|
-
<mask maskUnits="userSpaceOnUse" x="39.224" y="6.559" width="36.722" height="48.408" id="SVGID_1_">
|
22
|
-
<g filter="url(#Adobe_OpacityMaskFilter)">
|
23
|
-
|
24
|
-
<image overflow="visible" width="41" height="53" xlink:href="data:image/jpeg;base64,/9j/4AAQSkZJRgABAgEASABIAAD/7AARRHVja3kAAQAEAAAAHgAA/+4AIUFkb2JlAGTAAAAAAQMA
|
25
|
-
EAMCAwYAAAG9AAACJQAAArv/2wCEABALCwsMCxAMDBAXDw0PFxsUEBAUGx8XFxcXFx8eFxoaGhoX
|
26
|
-
Hh4jJSclIx4vLzMzLy9AQEBAQEBAQEBAQEBAQEABEQ8PERMRFRISFRQRFBEUGhQWFhQaJhoaHBoa
|
27
|
-
JjAjHh4eHiMwKy4nJycuKzU1MDA1NUBAP0BAQEBAQEBAQEBAQP/CABEIADUAKQMBIgACEQEDEQH/
|
28
|
-
xACHAAACAwEBAAAAAAAAAAAAAAAABwQFBgECAQEAAAAAAAAAAAAAAAAAAAAAEAAABgIBBQEAAAAA
|
29
|
-
AAAAAAABAgMEBQYAEBIwExU1BxYRAAIABQICCgMAAAAAAAAAAAECABARIQNBEjETUWFxkaEiYnIz
|
30
|
-
BIEjFBIBAAAAAAAAAAAAAAAAAAAAMP/aAAwDAQACEQMRAAAAX+gz7LKjjMBOUbQV5MZuWZ50AySs
|
31
|
-
aasNE2kIwTfEaMUat1OWD0Bf1gEEA//aAAgBAgABBQDqf//aAAgBAwABBQDqf//aAAgBAQABBQDI
|
32
|
-
yqLP0w+duBwfnjgAl6yrGJaoDkq7TV9TKEfkfFupBSn100Q31fvWZQTcnIAABq/esymyJGj9FUqq
|
33
|
-
er8YPHYQ5iGq1wTMVN+2UK8m2TUlpspJAdJ9zm1/T9l/5Xlr/9oACAECAgY/AE//2gAIAQMCBj8A
|
34
|
-
T//aAAgBAQEGPwCFcORUaR8jdwj5G7hDZGYnb0zCm7JY/ieRgNJbMAtWhJgtkNcmS7Hrnk9snxst
|
35
|
-
VBBB7YAE8ntly3sHuDCupqCJ5B6ZB0O1lNQRC/V+yaOBS+sBg4pBLOKjrhsGLzKbFtJry676+WnG
|
36
|
-
sfrrt9XHwg/2czXjXb4T/9k=" transform="matrix(1 0 0 1 37 4)">
|
37
|
-
</image>
|
38
|
-
</g>
|
39
|
-
</mask>
|
40
|
-
<g opacity="0.36" mask="url(#SVGID_1_)">
|
41
|
-
<path fill="#FF1744" d="M47.156,8.059c-2.125,5.375,3.375,11.375,2.125,14.375s-7.875,4.375-7.875,4.375
|
42
|
-
s-2.125,2.375,1.125,6.625c0,0-5.406,6.711,10.718,18.589c7.145,5.247,21.196-5.503,21.196-5.503V8.059H47.156z"/>
|
43
|
-
<path fill="none" stroke="#FF1744" stroke-width="3" stroke-miterlimit="10" d="M47.156,8.059
|
44
|
-
c-2.125,5.375,3.375,11.375,2.125,14.375s-7.875,4.375-7.875,4.375s-2.125,2.375,1.125,6.625c0,0-5.406,6.711,10.718,18.589
|
45
|
-
c7.145,5.247,21.196-5.503,21.196-5.503V8.059H47.156z"/>
|
46
|
-
</g>
|
47
|
-
</g>
|
48
|
-
<polygon fill="#160201" points="53.757,18.434 60.394,22.999 54.375,14.521 "/>
|
49
|
-
<g>
|
50
|
-
<defs>
|
51
|
-
<filter id="Adobe_OpacityMaskFilter_1_" filterUnits="userSpaceOnUse" x="55.268" y="25.355" width="17.814" height="11.5">
|
52
|
-
<feFlood style="flood-color:white;flood-opacity:1" result="back"/>
|
53
|
-
<feBlend in="SourceGraphic" in2="back" mode="normal"/>
|
54
|
-
</filter>
|
55
|
-
</defs>
|
56
|
-
<mask maskUnits="userSpaceOnUse" x="55.268" y="25.355" width="17.814" height="11.5" id="SVGID_2_">
|
57
|
-
<g filter="url(#Adobe_OpacityMaskFilter_1_)">
|
58
|
-
|
59
|
-
<image overflow="visible" width="23" height="16" xlink:href="data:image/jpeg;base64,/9j/4AAQSkZJRgABAgEASABIAAD/7AARRHVja3kAAQAEAAAAHgAA/+4AIUFkb2JlAGTAAAAAAQMA
|
60
|
-
EAMCAwYAAAF7AAABnAAAAeH/2wCEABALCwsMCxAMDBAXDw0PFxsUEBAUGx8XFxcXFx8eFxoaGhoX
|
61
|
-
Hh4jJSclIx4vLzMzLy9AQEBAQEBAQEBAQEBAQEABEQ8PERMRFRISFRQRFBEUGhQWFhQaJhoaHBoa
|
62
|
-
JjAjHh4eHiMwKy4nJycuKzU1MDA1NUBAP0BAQEBAQEBAQEBAQP/CABEIABAAFwMBIgACEQEDEQH/
|
63
|
-
xABsAAEBAQAAAAAAAAAAAAAAAAAGAAEBAQAAAAAAAAAAAAAAAAAAAAAQAAMBAQEAAAAAAAAAAAAA
|
64
|
-
AAIDBQQQBhEAAwACAgMAAAAAAAAAAAAAARECABJRAyFyBBIBAAAAAAAAAAAAAAAAAAAAEP/aAAwD
|
65
|
-
AQACEQMRAAAAKIjyILWx/9oACAECAAEFAOf/2gAIAQMAAQUA5//aAAgBAQABBQCNEOmTfCpFWiUz
|
66
|
-
PQiWymG33aCVorM0b//aAAgBAgIGPwA//9oACAEDAgY/AD//2gAIAQEBBj8Ae2steM3BLXOdfx0W
|
67
|
-
O25ia9iJxUHDbGGAC1wc6/roIdVzcz6nbP/Z" transform="matrix(1 0 0 1 53 23)">
|
68
|
-
</image>
|
69
|
-
</g>
|
70
|
-
</mask>
|
71
|
-
<g mask="url(#SVGID_2_)">
|
72
|
-
<linearGradient id="SVGID_3_" gradientUnits="userSpaceOnUse" x1="58.9609" y1="23.7437" x2="71.1666" y2="40.9757">
|
73
|
-
<stop offset="0" style="stop-color:#FFA67F"/>
|
74
|
-
<stop offset="0.0969" style="stop-color:#FF967B"/>
|
75
|
-
<stop offset="0.3655" style="stop-color:#FF7170"/>
|
76
|
-
<stop offset="0.6143" style="stop-color:#FF5568"/>
|
77
|
-
<stop offset="0.8336" style="stop-color:#FF4564"/>
|
78
|
-
<stop offset="1" style="stop-color:#FF3F62"/>
|
79
|
-
</linearGradient>
|
80
|
-
<ellipse fill="url(#SVGID_3_)" cx="64.175" cy="31.104" rx="8.907" ry="5.751"/>
|
81
|
-
</g>
|
82
|
-
</g>
|
83
|
-
<path fill="#3E3A39" stroke="#000000" stroke-width="3" d="M46.852-3.604L34.977,1.521l4.837,1.052c0,0-4.212,4.073-1.837,10.448
|
84
|
-
l1.837-2.5c0,0,1.532,4.032,5.4,6.875l0.638-6.375c0,0,10.725,6.375,15.625,9l0.5-7c0,0,4.494,13.75,6,18.085l5.125-8.835
|
85
|
-
l2.375,0.25L75.352-3.604H46.852z"/>
|
86
|
-
<path fill="#160201" d="M52.335,21.921l0.35,3.396c0,0,3.108,2.328,6.565,0.839C59.25,26.157,56.684,25.355,52.335,21.921z"/>
|
87
|
-
</g>
|
88
|
-
<g>
|
89
|
-
<g>
|
90
|
-
<g>
|
91
|
-
<path fill="#FFB997" d="M20.397,7.396c2.125,5.375-1.65,12.039-0.4,15.039s5.502,3.019,5.502,3.019s2.104,2.404-0.023,6.443
|
92
|
-
c0,0,4.398,6.125-2.352,14.75c-14.264,18.227-37-4.625-37-4.625l8.708-33.961L20.397,7.396z"/>
|
93
|
-
<path fill="none" stroke="#3A0101" stroke-width="3" stroke-miterlimit="10" d="M20.397,7.396
|
94
|
-
c2.125,5.375-1.65,12.039-0.4,15.039s5.502,3.019,5.502,3.019s2.104,2.404-0.023,6.443c0,0,4.398,6.125-2.352,14.75
|
95
|
-
c-14.264,18.227-37-4.625-37-4.625l8.708-33.961L20.397,7.396z"/>
|
96
|
-
</g>
|
97
|
-
<defs>
|
98
|
-
<filter id="Adobe_OpacityMaskFilter_2_" filterUnits="userSpaceOnUse" x="-15.54" y="5.869" width="43.925" height="49.331">
|
99
|
-
|
100
|
-
<feColorMatrix type="matrix" values="-1 0 0 0 1 0 -1 0 0 1 0 0 -1 0 1 0 0 0 1 0" color-interpolation-filters="sRGB" result="source"/>
|
101
|
-
</filter>
|
102
|
-
</defs>
|
103
|
-
<mask maskUnits="userSpaceOnUse" x="-15.54" y="5.869" width="43.925" height="49.331" id="SVGID_4_">
|
104
|
-
<g filter="url(#Adobe_OpacityMaskFilter_2_)">
|
105
|
-
|
106
|
-
<image overflow="visible" width="49" height="55" xlink:href="data:image/jpeg;base64,/9j/4AAQSkZJRgABAgEASABIAAD/7AARRHVja3kAAQAEAAAAHgAA/+4AIUFkb2JlAGTAAAAAAQMA
|
107
|
-
EAMCAwYAAAHEAAACRAAAAwL/2wCEABALCwsMCxAMDBAXDw0PFxsUEBAUGx8XFxcXFx8eFxoaGhoX
|
108
|
-
Hh4jJSclIx4vLzMzLy9AQEBAQEBAQEBAQEBAQEABEQ8PERMRFRISFRQRFBEUGhQWFhQaJhoaHBoa
|
109
|
-
JjAjHh4eHiMwKy4nJycuKzU1MDA1NUBAP0BAQEBAQEBAQEBAQP/CABEIADcAMQMBIgACEQEDEQH/
|
110
|
-
xACHAAEBAAIDAQAAAAAAAAAAAAAABwUGAgMEAQEBAAAAAAAAAAAAAAAAAAAAABAAAQQCAgMBAAAA
|
111
|
-
AAAAAAAAAQIDBAUABhAHQBIUMREBAAEDAgIIBwEAAAAAAAAAAQIAEQMQITESIEFRgZEiEwRhobHR
|
112
|
-
QtIzBRIBAAAAAAAAAAAAAAAAAAAAQP/aAAwDAQACEQMRAAAAn/v8FIMRzpYkutWKOgHOzyizncDE
|
113
|
-
SO5Ts0QGz1eE0U3N0dp9nu3yYxgHIM3kwwONAD//2gAIAQIAAQUA8D//2gAIAQMAAQUA8D//2gAI
|
114
|
-
AQEAAQUAyrqJFmtvr6StJ67kZYaa/CaIIPHX9eBEAA42wpRWkknGWy67rkQRq7jZKxVlXWVVKrXM
|
115
|
-
12N9NrFbDbHH7nYbXoM0dDf3oIKeew5DakZCnSIL2u7nHkIZmR3h7pGWtzGhM3tquzmcI9/aBO2Z
|
116
|
-
jFXm2lNnIuHzx//aAAgBAgIGPwAH/9oACAEDAgY/AAf/2gAIAQEBBj8ApjhbA2WhckjuK/rLwKlk
|
117
|
-
ZrYpHicdTNIvzebxrbTJPg8rvSvF3dIYz85Bt8WscQtsa5MEWzIS5TDObXsSNMMd7ReZqEDqOhFj
|
118
|
-
EsyLukskncsBQnC3QMY+ZkbaGXBKycTqaMWeXLMsI0MJjer3Kksy9qlkvfGPl++pyX5+rl4/Kj0c
|
119
|
-
OfLHs9Ob9CrP+f7gO30sn61f32PLjj2ShKJ331//2Q==" transform="matrix(1 0 0 1 -18 3)">
|
120
|
-
</image>
|
121
|
-
</g>
|
122
|
-
</mask>
|
123
|
-
<g opacity="0.36" mask="url(#SVGID_4_)">
|
124
|
-
<path fill="#FF1744" d="M20.397,7.396c2.125,5.375-1.65,12.039-0.4,15.039s5.502,3.019,5.502,3.019s2.104,2.404-0.023,6.443
|
125
|
-
c0,0,4.398,6.125-2.352,14.75c-14.264,18.227-37-4.625-37-4.625l8.708-33.961L20.397,7.396z"/>
|
126
|
-
<path fill="none" stroke="#FF1744" stroke-width="3" stroke-miterlimit="10" d="M20.397,7.396
|
127
|
-
c2.125,5.375-1.65,12.039-0.4,15.039s5.502,3.019,5.502,3.019s2.104,2.404-0.023,6.443c0,0,4.398,6.125-2.352,14.75
|
128
|
-
c-14.264,18.227-37-4.625-37-4.625l8.708-33.961L20.397,7.396z"/>
|
129
|
-
</g>
|
130
|
-
</g>
|
131
|
-
<path fill="#8E480E" d="M16.785,14.016c0,0-3.604,1.261-5.823,2.135c-2.218,0.875-4.905,1.283-4.905,1.283s6.335-0.249,7.463-0.533
|
132
|
-
C14.647,16.618,16.785,14.016,16.785,14.016z"/>
|
133
|
-
<path fill="#160201" d="M17.115,21.189l-2.555,3.899c0,0-4.618,1.358-6.084-1.173C8.476,23.916,13.041,24.251,17.115,21.189z"/>
|
134
|
-
<g>
|
135
|
-
<defs>
|
136
|
-
<filter id="Adobe_OpacityMaskFilter_3_" filterUnits="userSpaceOnUse" x="-0.82" y="26.344" width="16.482" height="10.354">
|
137
|
-
<feFlood style="flood-color:white;flood-opacity:1" result="back"/>
|
138
|
-
<feBlend in="SourceGraphic" in2="back" mode="normal"/>
|
139
|
-
</filter>
|
140
|
-
</defs>
|
141
|
-
<mask maskUnits="userSpaceOnUse" x="-0.82" y="26.344" width="16.482" height="10.354" id="SVGID_5_">
|
142
|
-
<g filter="url(#Adobe_OpacityMaskFilter_3_)">
|
143
|
-
|
144
|
-
<image overflow="visible" width="21" height="15" xlink:href="data:image/jpeg;base64,/9j/4AAQSkZJRgABAgEASABIAAD/7AARRHVja3kAAQAEAAAAHgAA/+4AIUFkb2JlAGTAAAAAAQMA
|
145
|
-
EAMCAwYAAAGJAAABqQAAAfr/2wCEABALCwsMCxAMDBAXDw0PFxsUEBAUGx8XFxcXFx8eFxoaGhoX
|
146
|
-
Hh4jJSclIx4vLzMzLy9AQEBAQEBAQEBAQEBAQEABEQ8PERMRFRISFRQRFBEUGhQWFhQaJhoaHBoa
|
147
|
-
JjAjHh4eHiMwKy4nJycuKzU1MDA1NUBAP0BAQEBAQEBAQEBAQP/CABEIAA8AFQMBIgACEQEDEQH/
|
148
|
-
xAB5AAADAQAAAAAAAAAAAAAAAAAABQYBAQEAAAAAAAAAAAAAAAAAAAAAEAACAgIDAQAAAAAAAAAA
|
149
|
-
AAADBQIEEBQBExUGEQACAQIEBgMAAAAAAAAAAAABAhEAEiExAwRBYXGxMhSyEwUSAQAAAAAAAAAA
|
150
|
-
AAAAAAAAABD/2gAMAwEAAhEDEQAAAJh/PvyVMD//2gAIAQIAAQUAx//aAAgBAwABBQDH/9oACAEB
|
151
|
-
AAEFAEKLlpO38KAQfNJvorzOpO2/fzD33t//2gAIAQICBj8AP//aAAgBAwIGPwA//9oACAEBAQY/
|
152
|
-
AJZoQGIHGi6MQ0ZzXpTjPlyqdpt9TcITiNNGb4iip/M3S4ZtpOB2r7rG9iZstN3SM6//2Q==" transform="matrix(1 0 0 1 -3 24)">
|
153
|
-
</image>
|
154
|
-
</g>
|
155
|
-
</mask>
|
156
|
-
<g mask="url(#SVGID_5_)">
|
157
|
-
<linearGradient id="SVGID_6_" gradientUnits="userSpaceOnUse" x1="2.6548" y1="24.7915" x2="13.8115" y2="40.5427">
|
158
|
-
<stop offset="0" style="stop-color:#FFA67F"/>
|
159
|
-
<stop offset="0.0969" style="stop-color:#FF967B"/>
|
160
|
-
<stop offset="0.3655" style="stop-color:#FF7170"/>
|
161
|
-
<stop offset="0.6143" style="stop-color:#FF5568"/>
|
162
|
-
<stop offset="0.8336" style="stop-color:#FF4564"/>
|
163
|
-
<stop offset="1" style="stop-color:#FF3F62"/>
|
164
|
-
</linearGradient>
|
165
|
-
<ellipse fill="url(#SVGID_6_)" cx="7.421" cy="31.521" rx="8.241" ry="5.177"/>
|
166
|
-
</g>
|
167
|
-
</g>
|
168
|
-
<path fill="#8E480E" stroke="#4C2101" stroke-width="2.8682" stroke-miterlimit="10" d="M0.791,17.044
|
169
|
-
c0,0-1.562,36.691,2.299,43.508c0,0-11.708-2.723-16.34-23.697l-3.375-24.492L0.791,17.044z"/>
|
170
|
-
<path fill="#8E480E" stroke="#4C2101" stroke-width="3" stroke-miterlimit="10" d="M14.658,3.521c0,0-7.395,24-13.145,28.75
|
171
|
-
s-11.25,5.75-11.25,5.75l1.302-40h19.448C11.013-1.979,13.552-1.479,14.658,3.521z"/>
|
172
|
-
<path fill="#8E480E" stroke="#4C2101" stroke-width="3" stroke-miterlimit="10" d="M12.495,2.896c0,0,5.505,11.875,11.505,15.5
|
173
|
-
c0,0,2.885-8.875,0-15c-2.189-4.649-4.481-6.5-4.481-6.5H8.289L12.495,2.896z"/>
|
174
|
-
<path fill="#160201" d="M19.519,23.321c0,0-2.885,0.813-3.942-0.931l-1.308,2.192C14.269,24.582,17.769,25.121,19.519,23.321z"/>
|
175
|
-
<path fill="#160201" d="M12.795,24.658c3.21,0.784,3.213,0.637,4.319,0.795l-2.457-2.132L12.795,24.658z"/>
|
176
|
-
</g>
|
177
|
-
</svg>
|