haml-i18n-extractor 0.4.0 → 0.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data/TODO CHANGED
@@ -25,10 +25,6 @@ https://github.com/shaiguitar/haml-i18n-extractor/issues/2
25
25
 
26
26
  Now we are able to have internal access to Haml::Parser internals, we can deal with...
27
27
 
28
- Html Comments?!
29
- Filters?!
30
- use with_filter.haml...
31
-
32
28
  ExceptionText needs to be responsible for knowing if needed to interpolate?
33
29
 
34
30
  (BUG: duplicate texts in one line...)
@@ -6,6 +6,11 @@ module Haml
6
6
  ENV['DEBUG']
7
7
  end
8
8
 
9
+ # helpful for debugging
10
+ def self.extractors
11
+ @extractors ||= []
12
+ end
13
+
9
14
  class InvalidSyntax < StandardError ; end
10
15
  class NotADirectory < StandardError ; end
11
16
  class NotDefinedLineType < StandardError ; end
@@ -34,6 +39,8 @@ module Haml
34
39
  @body = []
35
40
  # holds a line_no => {info_about_line_replacemnts_or_not}
36
41
  @locale_hash = {}
42
+
43
+ self.class.extractors << self
37
44
  end
38
45
 
39
46
  def run
@@ -10,24 +10,26 @@ module Haml
10
10
  @metadata = line_metadata
11
11
  end
12
12
 
13
- def find
14
- text_match = process_by_regex.last
15
- end
16
-
17
13
  # returns [ line_type, text_found ]
18
14
  def process_by_regex
19
- return [:plain, ""] if @metadata.nil? # a linebreak in a haml file, empty.
20
- if ENV['DEBUG']
21
- puts @metadata[:type]
15
+ if Haml::I18n::Extractor.debug?
16
+ binding.pry
17
+ puts '!!!'
18
+ puts @metadata && @metadata[:type]
22
19
  puts @orig_line
23
20
  end
21
+ # if any of the handler methods return nil the extractor just outputs orig_line and keeps on going.
22
+ # if there's an empty string that should do the trick to ( ExceptionFinder can return no match that way )
24
23
  @metadata && send("#{@metadata[:type]}", @metadata)
25
24
  end
26
25
 
27
26
  private
28
27
 
28
+ #FIXME move all these matches into a helper of some sort.
29
+
29
30
  def plain(line)
30
31
  txt = line[:value][:text]
32
+ return nil if txt.match(/<!--/) || txt.match(/-->\s*$/) # ignore html comments
31
33
  [:plain, txt]
32
34
  end
33
35
 
@@ -57,16 +59,11 @@ module Haml
57
59
  end
58
60
  end
59
61
 
60
- def filter(line)
61
- #$stderr.puts('=' * 80)
62
- #$stderr.puts(line.inspect)
63
- #$stderr.puts("have not handled filters!")
64
- #$stderr.puts("please remind me to fix this")
65
- #$stderr.puts('=' * 80)
66
- end
67
-
62
+ # returns nil, so extractor just keeps the orig_line and keeps on going.
63
+ #
68
64
  # move to method missing and LINE_TYPES_IGNORE?
69
65
  # LINE_TYPES_IGNORE = [:silent_script, :haml_comment, :comment, :doctype, :root]
66
+ def filter(line); end
70
67
  def silent_script(line); end
71
68
  def haml_comment(line); end
72
69
  def comment(line); end
@@ -1,7 +1,7 @@
1
1
  module Haml
2
2
  module I18n
3
3
  class Extractor
4
- VERSION = "0.4.0"
4
+ VERSION = "0.4.1"
5
5
  end
6
6
  end
7
7
  end
@@ -3,10 +3,7 @@ module Haml
3
3
  class Extractor
4
4
  class Workflow
5
5
 
6
- attr_reader :extractors
7
-
8
6
  def initialize(project_path, options = {})
9
- @extractors = []
10
7
  @passed_options = options
11
8
  @project_path = project_path
12
9
  @prompter = Haml::I18n::Extractor::Prompter.new
@@ -70,7 +67,7 @@ module Haml
70
67
  @passed_options.merge!({:type => type}) # overwrite or dump haml
71
68
  begin
72
69
  @extractor = Haml::I18n::Extractor.new(haml_path, @passed_options)
73
- @extractors << @extractor
70
+ Extractor.extractors << @extractor
74
71
  @extractor.run
75
72
  rescue Haml::I18n::Extractor::InvalidSyntax
76
73
  @prompter.syntax_error(haml_path)
@@ -98,6 +98,11 @@ module Haml
98
98
  end
99
99
 
100
100
  # really integration tests...movez.
101
+ test "it can replace a string body and have expected output ex4" do
102
+ expected_output = File.read(file_path("ex4.output.haml"))
103
+ assert_equal Haml::I18n::Extractor.new(file_path("ex4.haml")).new_body, expected_output
104
+ end
105
+
101
106
  test "it can replace a string body and have expected output ex3" do
102
107
  expected_output = File.read(file_path("ex3.output.haml"))
103
108
  assert_equal Haml::I18n::Extractor.new(file_path("ex3.haml")).new_body, expected_output
@@ -11,12 +11,12 @@ module Haml
11
11
  end
12
12
 
13
13
  test "it can handle namespaced views" do
14
- namespaced_extractor = @workflow.extractors.select{|ex| ex.haml_writer.path.match /namespace/ }.last
14
+ namespaced_extractor = Haml::I18n::Extractor.extractors.select{|ex| ex.haml_writer.path.match /namespace/ }.last
15
15
  assert namespaced_extractor.yaml_tool.yaml_hash["en"]["namespace"], "namespace key works"
16
16
  end
17
17
 
18
18
  test "it can handle partial views" do
19
- partial_extractor = @workflow.extractors.select{|ex| ex.haml_writer.path.match /_partial/ }.last
19
+ partial_extractor = Haml::I18n::Extractor.extractors.select{|ex| ex.haml_writer.path.match /_partial/ }.last
20
20
  assert partial_extractor.yaml_tool.yaml_hash["en"]["view2"]["partial"], "partial filenames in yaml are w/out leading _"
21
21
  end
22
22
 
@@ -1,3 +1,12 @@
1
+ html comments what
2
+ <!-- END OLARK CHAT LINK -->
3
+ <!-- BEGIN OLARK LEAVE MESSAGE LINK -->
4
+ :javascript
5
+ var foo = 1;
6
+ alert("false")
7
+ var bar = foo;
8
+ More
9
+ And More
1
10
  .class This is text
2
11
  - if true
3
12
  :javascript
@@ -0,0 +1,31 @@
1
+ = t('.html_comments_what')
2
+ <!-- END OLARK CHAT LINK -->
3
+ <!-- BEGIN OLARK LEAVE MESSAGE LINK -->
4
+ :javascript
5
+ var foo = 1;
6
+ alert("false")
7
+ var bar = foo;
8
+ = t('.more')
9
+ = t('.and_more')
10
+ .class= t('.this_is_text')
11
+ - if true
12
+ :javascript
13
+ var cheaterButton = $("<a href='#'>Cheat</a>");
14
+ $('form').prepend(cheaterButton);
15
+ cheaterButton.click(function(){
16
+ $('[name="field_creditCardType"]').first().click();
17
+ $('[name="field_creditCardNumber"]').val("4111111111111111");
18
+ $('[name="field_creditCardExpirationMonth"]').val("01");
19
+ $('[name="field_creditCardExpirationYear"]').val("2015");
20
+ $('[name="field_cardSecurityCode"]').val("111");
21
+ $('[name="field_creditCardHolderName"]').val("Foo Bar");
22
+ $('[name="field_creditCardCountry"]').val("USA");
23
+ $('[name="field_creditCardAddress1"]').val("123 Abc St");
24
+ $('[name="field_creditCardAddress2"]').val("Apt 456");
25
+ $('[name="field_creditCardCity"]').val("San Francisco");
26
+ $('[name="field_creditCardState"]').val("CA");
27
+ $('[name="field_creditCardPostalCode"]').val("94107");
28
+ $('[name="field_phone"]').val("1234567890");
29
+ $('[name="field_email"]').val("foo@example.com");
30
+ return false;
31
+ });
@@ -4,9 +4,9 @@ module Haml
4
4
  class StringFinderTest < MiniTest::Unit::TestCase
5
5
 
6
6
  # empty line
7
- test "empty line does not explode" do
8
- assert_equal find_text(""), ""
9
- assert_equal find_type(""), :plain
7
+ test "empty lines, filters, matches with no @metadata" do
8
+ assert_equal find_text(""), nil
9
+ assert_equal find_type(""), nil
10
10
  end
11
11
 
12
12
  # regular text mode
metadata CHANGED
@@ -1,205 +1,216 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: haml-i18n-extractor
3
- version: !ruby/object:Gem::Version
4
- version: 0.4.0
3
+ version: !ruby/object:Gem::Version
4
+ hash: 13
5
+ prerelease:
6
+ segments:
7
+ - 0
8
+ - 4
9
+ - 1
10
+ version: 0.4.1
5
11
  platform: ruby
6
- authors:
12
+ authors:
7
13
  - Shai Rosenfeld
8
14
  autorequire:
9
15
  bindir: bin
10
16
  cert_chain: []
11
- date: 2013-09-02 00:00:00.000000000 Z
12
- dependencies:
13
- - !ruby/object:Gem::Dependency
17
+
18
+ date: 2013-09-03 00:00:00 Z
19
+ dependencies:
20
+ - !ruby/object:Gem::Dependency
14
21
  name: tilt
15
- requirement: !ruby/object:Gem::Requirement
16
- requirements:
17
- - - ! '>='
18
- - !ruby/object:Gem::Version
19
- version: '0'
20
- type: :runtime
21
22
  prerelease: false
22
- version_requirements: !ruby/object:Gem::Requirement
23
- requirements:
24
- - - ! '>='
25
- - !ruby/object:Gem::Version
26
- version: '0'
27
- - !ruby/object:Gem::Dependency
28
- name: haml
29
- requirement: !ruby/object:Gem::Requirement
30
- requirements:
31
- - - ! '>='
32
- - !ruby/object:Gem::Version
33
- version: '0'
23
+ requirement: &id001 !ruby/object:Gem::Requirement
24
+ none: false
25
+ requirements:
26
+ - - ">="
27
+ - !ruby/object:Gem::Version
28
+ hash: 3
29
+ segments:
30
+ - 0
31
+ version: "0"
34
32
  type: :runtime
33
+ version_requirements: *id001
34
+ - !ruby/object:Gem::Dependency
35
+ name: haml
35
36
  prerelease: false
36
- version_requirements: !ruby/object:Gem::Requirement
37
- requirements:
38
- - - ! '>='
39
- - !ruby/object:Gem::Version
40
- version: '0'
41
- - !ruby/object:Gem::Dependency
42
- name: activesupport
43
- requirement: !ruby/object:Gem::Requirement
44
- requirements:
45
- - - ! '>='
46
- - !ruby/object:Gem::Version
47
- version: '0'
37
+ requirement: &id002 !ruby/object:Gem::Requirement
38
+ none: false
39
+ requirements:
40
+ - - ">="
41
+ - !ruby/object:Gem::Version
42
+ hash: 3
43
+ segments:
44
+ - 0
45
+ version: "0"
48
46
  type: :runtime
47
+ version_requirements: *id002
48
+ - !ruby/object:Gem::Dependency
49
+ name: activesupport
49
50
  prerelease: false
50
- version_requirements: !ruby/object:Gem::Requirement
51
- requirements:
52
- - - ! '>='
53
- - !ruby/object:Gem::Version
54
- version: '0'
55
- - !ruby/object:Gem::Dependency
56
- name: highline
57
- requirement: !ruby/object:Gem::Requirement
58
- requirements:
59
- - - ! '>='
60
- - !ruby/object:Gem::Version
61
- version: '0'
51
+ requirement: &id003 !ruby/object:Gem::Requirement
52
+ none: false
53
+ requirements:
54
+ - - ">="
55
+ - !ruby/object:Gem::Version
56
+ hash: 3
57
+ segments:
58
+ - 0
59
+ version: "0"
62
60
  type: :runtime
61
+ version_requirements: *id003
62
+ - !ruby/object:Gem::Dependency
63
+ name: highline
63
64
  prerelease: false
64
- version_requirements: !ruby/object:Gem::Requirement
65
- requirements:
66
- - - ! '>='
67
- - !ruby/object:Gem::Version
68
- version: '0'
69
- - !ruby/object:Gem::Dependency
70
- name: trollop
71
- requirement: !ruby/object:Gem::Requirement
72
- requirements:
73
- - - '='
74
- - !ruby/object:Gem::Version
75
- version: 1.16.2
65
+ requirement: &id004 !ruby/object:Gem::Requirement
66
+ none: false
67
+ requirements:
68
+ - - ">="
69
+ - !ruby/object:Gem::Version
70
+ hash: 3
71
+ segments:
72
+ - 0
73
+ version: "0"
76
74
  type: :runtime
75
+ version_requirements: *id004
76
+ - !ruby/object:Gem::Dependency
77
+ name: trollop
77
78
  prerelease: false
78
- version_requirements: !ruby/object:Gem::Requirement
79
- requirements:
80
- - - '='
81
- - !ruby/object:Gem::Version
79
+ requirement: &id005 !ruby/object:Gem::Requirement
80
+ none: false
81
+ requirements:
82
+ - - "="
83
+ - !ruby/object:Gem::Version
84
+ hash: 83
85
+ segments:
86
+ - 1
87
+ - 16
88
+ - 2
82
89
  version: 1.16.2
83
- - !ruby/object:Gem::Dependency
90
+ type: :runtime
91
+ version_requirements: *id005
92
+ - !ruby/object:Gem::Dependency
84
93
  name: rbench
85
- requirement: !ruby/object:Gem::Requirement
86
- requirements:
87
- - - ! '>='
88
- - !ruby/object:Gem::Version
89
- version: '0'
90
- type: :development
91
94
  prerelease: false
92
- version_requirements: !ruby/object:Gem::Requirement
93
- requirements:
94
- - - ! '>='
95
- - !ruby/object:Gem::Version
96
- version: '0'
97
- - !ruby/object:Gem::Dependency
98
- name: m
99
- requirement: !ruby/object:Gem::Requirement
100
- requirements:
101
- - - ! '>='
102
- - !ruby/object:Gem::Version
103
- version: '0'
95
+ requirement: &id006 !ruby/object:Gem::Requirement
96
+ none: false
97
+ requirements:
98
+ - - ">="
99
+ - !ruby/object:Gem::Version
100
+ hash: 3
101
+ segments:
102
+ - 0
103
+ version: "0"
104
104
  type: :development
105
+ version_requirements: *id006
106
+ - !ruby/object:Gem::Dependency
107
+ name: m
105
108
  prerelease: false
106
- version_requirements: !ruby/object:Gem::Requirement
107
- requirements:
108
- - - ! '>='
109
- - !ruby/object:Gem::Version
110
- version: '0'
111
- - !ruby/object:Gem::Dependency
112
- name: pry
113
- requirement: !ruby/object:Gem::Requirement
114
- requirements:
115
- - - ! '>='
116
- - !ruby/object:Gem::Version
117
- version: '0'
109
+ requirement: &id007 !ruby/object:Gem::Requirement
110
+ none: false
111
+ requirements:
112
+ - - ">="
113
+ - !ruby/object:Gem::Version
114
+ hash: 3
115
+ segments:
116
+ - 0
117
+ version: "0"
118
118
  type: :development
119
+ version_requirements: *id007
120
+ - !ruby/object:Gem::Dependency
121
+ name: pry
119
122
  prerelease: false
120
- version_requirements: !ruby/object:Gem::Requirement
121
- requirements:
122
- - - ! '>='
123
- - !ruby/object:Gem::Version
124
- version: '0'
125
- - !ruby/object:Gem::Dependency
126
- name: minitest
127
- requirement: !ruby/object:Gem::Requirement
128
- requirements:
129
- - - ! '>='
130
- - !ruby/object:Gem::Version
131
- version: '0'
123
+ requirement: &id008 !ruby/object:Gem::Requirement
124
+ none: false
125
+ requirements:
126
+ - - ">="
127
+ - !ruby/object:Gem::Version
128
+ hash: 3
129
+ segments:
130
+ - 0
131
+ version: "0"
132
132
  type: :development
133
+ version_requirements: *id008
134
+ - !ruby/object:Gem::Dependency
135
+ name: minitest
133
136
  prerelease: false
134
- version_requirements: !ruby/object:Gem::Requirement
135
- requirements:
136
- - - ! '>='
137
- - !ruby/object:Gem::Version
138
- version: '0'
139
- - !ruby/object:Gem::Dependency
140
- name: nokogiri
141
- requirement: !ruby/object:Gem::Requirement
142
- requirements:
143
- - - ! '>='
144
- - !ruby/object:Gem::Version
145
- version: '0'
137
+ requirement: &id009 !ruby/object:Gem::Requirement
138
+ none: false
139
+ requirements:
140
+ - - ">="
141
+ - !ruby/object:Gem::Version
142
+ hash: 3
143
+ segments:
144
+ - 0
145
+ version: "0"
146
146
  type: :development
147
+ version_requirements: *id009
148
+ - !ruby/object:Gem::Dependency
149
+ name: nokogiri
147
150
  prerelease: false
148
- version_requirements: !ruby/object:Gem::Requirement
149
- requirements:
150
- - - ! '>='
151
- - !ruby/object:Gem::Version
152
- version: '0'
153
- - !ruby/object:Gem::Dependency
154
- name: rake
155
- requirement: !ruby/object:Gem::Requirement
156
- requirements:
157
- - - ! '>='
158
- - !ruby/object:Gem::Version
159
- version: '0'
151
+ requirement: &id010 !ruby/object:Gem::Requirement
152
+ none: false
153
+ requirements:
154
+ - - ">="
155
+ - !ruby/object:Gem::Version
156
+ hash: 3
157
+ segments:
158
+ - 0
159
+ version: "0"
160
160
  type: :development
161
+ version_requirements: *id010
162
+ - !ruby/object:Gem::Dependency
163
+ name: rake
161
164
  prerelease: false
162
- version_requirements: !ruby/object:Gem::Requirement
163
- requirements:
164
- - - ! '>='
165
- - !ruby/object:Gem::Version
166
- version: '0'
167
- - !ruby/object:Gem::Dependency
168
- name: actionpack
169
- requirement: !ruby/object:Gem::Requirement
170
- requirements:
171
- - - ! '>='
172
- - !ruby/object:Gem::Version
173
- version: '0'
165
+ requirement: &id011 !ruby/object:Gem::Requirement
166
+ none: false
167
+ requirements:
168
+ - - ">="
169
+ - !ruby/object:Gem::Version
170
+ hash: 3
171
+ segments:
172
+ - 0
173
+ version: "0"
174
174
  type: :development
175
+ version_requirements: *id011
176
+ - !ruby/object:Gem::Dependency
177
+ name: actionpack
175
178
  prerelease: false
176
- version_requirements: !ruby/object:Gem::Requirement
177
- requirements:
178
- - - ! '>='
179
- - !ruby/object:Gem::Version
180
- version: '0'
181
- - !ruby/object:Gem::Dependency
182
- name: rails
183
- requirement: !ruby/object:Gem::Requirement
184
- requirements:
185
- - - ! '>='
186
- - !ruby/object:Gem::Version
187
- version: '0'
179
+ requirement: &id012 !ruby/object:Gem::Requirement
180
+ none: false
181
+ requirements:
182
+ - - ">="
183
+ - !ruby/object:Gem::Version
184
+ hash: 3
185
+ segments:
186
+ - 0
187
+ version: "0"
188
188
  type: :development
189
+ version_requirements: *id012
190
+ - !ruby/object:Gem::Dependency
191
+ name: rails
189
192
  prerelease: false
190
- version_requirements: !ruby/object:Gem::Requirement
191
- requirements:
192
- - - ! '>='
193
- - !ruby/object:Gem::Version
194
- version: '0'
193
+ requirement: &id013 !ruby/object:Gem::Requirement
194
+ none: false
195
+ requirements:
196
+ - - ">="
197
+ - !ruby/object:Gem::Version
198
+ hash: 3
199
+ segments:
200
+ - 0
201
+ version: "0"
202
+ type: :development
203
+ version_requirements: *id013
195
204
  description: Parse the texts out of the haml files into localization files
196
- email:
205
+ email:
197
206
  - shaiguitar@gmail.com
198
- executables:
207
+ executables:
199
208
  - haml-i18n-extractor
200
209
  extensions: []
210
+
201
211
  extra_rdoc_files: []
202
- files:
212
+
213
+ files:
203
214
  - .gitignore
204
215
  - .rvmrc
205
216
  - Gemfile
@@ -242,9 +253,10 @@ files:
242
253
  - test/support/ex2.output.haml
243
254
  - test/support/ex3.haml
244
255
  - test/support/ex3.output.haml
256
+ - test/support/ex4.haml
257
+ - test/support/ex4.output.haml
245
258
  - test/support/nothing_to_translate.haml
246
259
  - test/support/nothing_to_translate.i18n-extractor.haml
247
- - test/support/with_filter.haml
248
260
  - test/tagging_tool_test.rb
249
261
  - test/test_helper.rb
250
262
  - test/text_finder_test.rb
@@ -252,30 +264,39 @@ files:
252
264
  - test/workflow_test.rb
253
265
  - test/yaml_tool_test.rb
254
266
  homepage: https://github.com/shaiguitar/haml-i18n-extractor
255
- licenses:
267
+ licenses:
256
268
  - MIT
257
- metadata: {}
258
269
  post_install_message:
259
270
  rdoc_options: []
260
- require_paths:
271
+
272
+ require_paths:
261
273
  - lib
262
- required_ruby_version: !ruby/object:Gem::Requirement
263
- requirements:
264
- - - ! '>='
265
- - !ruby/object:Gem::Version
266
- version: '0'
267
- required_rubygems_version: !ruby/object:Gem::Requirement
268
- requirements:
269
- - - ! '>='
270
- - !ruby/object:Gem::Version
271
- version: '0'
274
+ required_ruby_version: !ruby/object:Gem::Requirement
275
+ none: false
276
+ requirements:
277
+ - - ">="
278
+ - !ruby/object:Gem::Version
279
+ hash: 3
280
+ segments:
281
+ - 0
282
+ version: "0"
283
+ required_rubygems_version: !ruby/object:Gem::Requirement
284
+ none: false
285
+ requirements:
286
+ - - ">="
287
+ - !ruby/object:Gem::Version
288
+ hash: 3
289
+ segments:
290
+ - 0
291
+ version: "0"
272
292
  requirements: []
293
+
273
294
  rubyforge_project:
274
- rubygems_version: 2.0.3
295
+ rubygems_version: 1.8.25
275
296
  signing_key:
276
- specification_version: 4
297
+ specification_version: 3
277
298
  summary: Parse the texts out of the haml files into localization files
278
- test_files:
299
+ test_files:
279
300
  - test/cli_test.rb
280
301
  - test/exception_finder_test.rb
281
302
  - test/extractor_test.rb
@@ -291,13 +312,13 @@ test_files:
291
312
  - test/support/ex2.output.haml
292
313
  - test/support/ex3.haml
293
314
  - test/support/ex3.output.haml
315
+ - test/support/ex4.haml
316
+ - test/support/ex4.output.haml
294
317
  - test/support/nothing_to_translate.haml
295
318
  - test/support/nothing_to_translate.i18n-extractor.haml
296
- - test/support/with_filter.haml
297
319
  - test/tagging_tool_test.rb
298
320
  - test/test_helper.rb
299
321
  - test/text_finder_test.rb
300
322
  - test/text_replacer_test.rb
301
323
  - test/workflow_test.rb
302
324
  - test/yaml_tool_test.rb
303
- has_rdoc:
checksums.yaml DELETED
@@ -1,15 +0,0 @@
1
- ---
2
- !binary "U0hBMQ==":
3
- metadata.gz: !binary |-
4
- MDg2NjFhOWVjNTZkOTc4ZWFiMGNkNDc4YmFmNTg3YjhkYmJmZDEwOQ==
5
- data.tar.gz: !binary |-
6
- NmZiYWU3YjVkZWNlN2U3MzFjNjIwNjJkZGI1ODAxMWRhZDQ2MGI2OA==
7
- !binary "U0hBNTEy":
8
- metadata.gz: !binary |-
9
- MmE3ZThkNzJmN2MxYjJlMGM0ZDM4M2NkZTY4NDkzMzk0YjdhYjY2YzM0NDUz
10
- NGVmMTZmMWVkNTIzYjU1MDQ0Mzc4NzUwMzJhYjA5NTIwMTczZGU3ZjU1MDc0
11
- OWYzZjI0OWUwNTBmOWQ0YTQ3ZDlhMzg4YjM1NGJmMWU3MGUxZTg=
12
- data.tar.gz: !binary |-
13
- YzdhNzRkYThiNWMyZjAzMzFhNjExOTliZjg5ZjE1ZGZlMmI3NTM0MGJhNDg2
14
- OTViOWRiYTZiYTEwYzQ2ODczYzdlYWI5ZWYxYzE2NGZjNmZhMTU2Y2MyYzMy
15
- N2NmYzNlZDBjODJiZTg2YmQ1YzEwODM3MDljNzNhZGY1ZmQ3Mjg=