riddl 0.99.177 → 0.99.178

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 8343a1b6f969c89f3fa3a40eade71b942023d8fb
4
- data.tar.gz: 65cbebd338a544099f98910236aa39b922f0b945
3
+ metadata.gz: 4a72951b4b67902e5c7c82d11ab2bf7322e2b73b
4
+ data.tar.gz: 0e2dca4f751cc010b30fb7ad68a8982938bd9f1d
5
5
  SHA512:
6
- metadata.gz: b704fad1492e7231d3c022c5d0d4923b0ac7f1d6edba7ca29623f70f7ad96bfa9fd1e67e592b2146762a76465a22adddf178cc9e07de0fae4fa3f960b61bfdb5
7
- data.tar.gz: c11ee29e65d7eef7196f6b8251758cd65c0cf322c8ed6faa3bc270f534cdf5b69cf0084fe79c8858b082a5f21d24aa81fdb1b662e255d3244676a1aaceff2d97
6
+ metadata.gz: 47b2d2176510be477e0536523f9132b4043a6f34c679183eba574fac9d9fc9493d8e5ca6d7088b3820edea7ee47fc2400d57fbd50460ea278ce4566b22d6ccb7
7
+ data.tar.gz: e451bbfe5f5b7b0887273ce83d02433dfdecc655ac6a1f4bb9d2471f2ea2339551c711f2f3f8a00edaedcddb47cbe764550d9a6e70dabd00dcb426db0b391955
@@ -4,7 +4,7 @@ require '../../../lib/ruby/riddl/client'
4
4
  require 'pp'
5
5
 
6
6
  # no ready for use
7
- unless File.exists?('flickr.frob')
7
+ unless File.exists?('.flickr.frob')
8
8
  puts "Check the README file and use authenticate.rb."
9
9
  exit
10
10
  end
@@ -20,13 +20,13 @@ puts "Get resources!!!"
20
20
  rest = flickr.resource("/rest")
21
21
 
22
22
  ### read application key/secret/frob
23
- key = File.read('flickr.key').strip
24
- secret = File.read('flickr.secret').strip
25
- frob = File.read('flickr.frob').strip
23
+ key = File.read('.flickr.key').strip
24
+ secret = File.read('.flickr.secret').strip
25
+ frob = File.read('.flickr.frob').strip
26
26
 
27
27
  ### get
28
- if File.exists?('flickr.token')
29
- token = File.read('flickr.token').strip
28
+ if File.exists?('.flickr.token')
29
+ token = File.read('.flickr.token').strip
30
30
  else
31
31
  puts "hmm, there is no token...."
32
32
  method = 'flickr.auth.getToken'
@@ -37,12 +37,12 @@ else
37
37
  Riddl::Parameter::Simple.new("frob",frob,:query),
38
38
  Riddl::Parameter::Simple.new("api_sig",sig,:query)
39
39
  ]
40
- raise "frob no longer valid, delete flickr.frob then retry authenticate.rb" unless status == 200
40
+ raise "frob no longer valid, delete .flickr.frob then retry authenticate.rb" unless status == 200
41
41
  token = XML::Smart::string(res[0].value.read).find('string(/rsp/auth/token)')
42
42
 
43
43
  puts res[0].value.read
44
44
 
45
- File.open('flickr.token','w'){|f|f.write(token)}
45
+ File.open('.flickr.token','w'){|f|f.write(token)}
46
46
  end
47
47
 
48
48
  # check token
@@ -54,7 +54,7 @@ status, res = rest.get [
54
54
  Riddl::Parameter::Simple.new("auth_token",token,:query),
55
55
  Riddl::Parameter::Simple.new("api_sig",sig,:query)
56
56
  ]
57
- raise "token no longer valid, delete flickr.token, flickr.frob then retry authenticate.rb, flickr.rb" unless status == 200
57
+ raise "token no longer valid, delete .flickr.token, .flickr.frob then retry authenticate.rb, flickr.rb" unless status == 200
58
58
 
59
59
  method = 'flickr.people.findByEmail'
60
60
  email = 'mcsorex@yahoo.com'
@@ -64,6 +64,6 @@ status, res, headers = rest.get [
64
64
  Riddl::Parameter::Simple.new("api_key",key,:query),
65
65
  Riddl::Parameter::Simple.new("find_email",email,:query)
66
66
  ]
67
- raise "token no longer valid, delete flickr.token, flickr.frob then retry authenticate.rb, flickr.rb" unless status == 200
67
+ raise "token no longer valid, delete .flickr.token, .flickr.frob then retry authenticate.rb, flickr.rb" unless status == 200
68
68
 
69
69
  puts "STATUS: #{status} RES:" + res[0].value.read + " HEADERS: #{headers}"
@@ -4,7 +4,7 @@ require '../../../lib/ruby/riddl/client'
4
4
  require 'pp'
5
5
 
6
6
  # no ready for use
7
- unless File.exists?('flickr.frob')
7
+ unless File.exists?('.flickr.frob')
8
8
  puts "Check the README file and use authenticate.rb."
9
9
  exit
10
10
  end
@@ -25,13 +25,13 @@ rest = flickr.resource("/rest")
25
25
  upload = flickr.resource("/upload")
26
26
 
27
27
  ### read application key/secret/frob
28
- key = File.read('flickr.key').strip
29
- secret = File.read('flickr.secret').strip
30
- frob = File.read('flickr.frob').strip
28
+ key = File.read('.flickr.key').strip
29
+ secret = File.read('.flickr.secret').strip
30
+ frob = File.read('.flickr.frob').strip
31
31
 
32
32
  ### get
33
- if File.exists?('flickr.token')
34
- token = File.read('flickr.token').strip
33
+ if File.exists?('.flickr.token')
34
+ token = File.read('.flickr.token').strip
35
35
  else
36
36
  puts "hmm, there is no token...."
37
37
  method = 'flickr.auth.getToken'
@@ -42,12 +42,12 @@ else
42
42
  Riddl::Parameter::Simple.new("frob",frob,:query),
43
43
  Riddl::Parameter::Simple.new("api_sig",sig,:query)
44
44
  ]
45
- raise "frob no longer valid, delete flickr.frob then retry authenticate.rb" unless status == 200
45
+ raise "frob no longer valid, delete .flickr.frob then retry authenticate.rb" unless status == 200
46
46
  token = XML::Smart::string(res[0].value.read).find('string(/rsp/auth/token)')
47
47
 
48
48
  puts res[0].value.read
49
49
 
50
- File.open('flickr.token','w'){|f|f.write(token)}
50
+ File.open('.flickr.token','w'){|f|f.write(token)}
51
51
  end
52
52
 
53
53
  # check token
@@ -59,7 +59,7 @@ status, res = rest.get [
59
59
  Riddl::Parameter::Simple.new("auth_token",token,:query),
60
60
  Riddl::Parameter::Simple.new("api_sig",sig,:query)
61
61
  ]
62
- raise "token no longer valid, delete flickr.token, flickr.frob then retry authenticate.rb, flickr.rb" unless status == 200
62
+ raise "token no longer valid, delete .flickr.token, .flickr.frob then retry authenticate.rb, flickr.rb" unless status == 200
63
63
 
64
64
  # upload image
65
65
  title = "RIDDL Logo"
@@ -4,7 +4,7 @@ require '../../../lib/ruby/riddl/client'
4
4
  require 'pp'
5
5
 
6
6
  # no ready for use
7
- unless File.exists?('flickr.frob')
7
+ unless File.exists?('.flickr.frob')
8
8
  puts "Check the README file and use authenticate.rb."
9
9
  exit
10
10
  end
@@ -25,13 +25,13 @@ rest = flickr.resource("/rest")
25
25
  upload = flickr.resource("/upload")
26
26
 
27
27
  ### read application key/secret/frob
28
- key = File.read('flickr.key').strip
29
- secret = File.read('flickr.secret').strip
30
- frob = File.read('flickr.frob').strip
28
+ key = File.read('.flickr.key').strip
29
+ secret = File.read('.flickr.secret').strip
30
+ frob = File.read('.flickr.frob').strip
31
31
 
32
32
  ### get
33
- if File.exists?('flickr.token')
34
- token = File.read('flickr.token').strip
33
+ if File.exists?('.flickr.token')
34
+ token = File.read('.flickr.token').strip
35
35
  else
36
36
  puts "hmm, there is no token...."
37
37
  method = 'flickr.auth.getToken'
@@ -42,12 +42,12 @@ else
42
42
  Riddl::Parameter::Simple.new("frob",frob,:query),
43
43
  Riddl::Parameter::Simple.new("api_sig",sig,:query)
44
44
  ]
45
- raise "frob no longer valid, delete flickr.frob then retry authenticate.rb" unless status == 200
45
+ raise "frob no longer valid, delete .flickr.frob then retry authenticate.rb" unless status == 200
46
46
  token = XML::Smart::string(res[0].value.read).find('string(/rsp/auth/token)')
47
47
 
48
48
  puts res[0].value.read
49
49
 
50
- File.open('flickr.token','w'){|f|f.write(token)}
50
+ File.open('.flickr.token','w'){|f|f.write(token)}
51
51
  end
52
52
 
53
53
  # check token
@@ -59,7 +59,7 @@ status, res = rest.get [
59
59
  Riddl::Parameter::Simple.new("auth_token",token,:query),
60
60
  Riddl::Parameter::Simple.new("api_sig",sig,:query)
61
61
  ]
62
- raise "token no longer valid, delete flickr.token, flickr.frob then retry authenticate.rb, flickr.rb" unless status == 200
62
+ raise "token no longer valid, delete .flickr.token, .flickr.frob then retry authenticate.rb, flickr.rb" unless status == 200
63
63
 
64
64
  method = 'flickr.people.getPublicPhotos'
65
65
  nsid = '37474074@N08'
@@ -70,7 +70,7 @@ status, res = rest.get [
70
70
  Riddl::Parameter::Simple.new("api_key",key,:query),
71
71
  Riddl::Parameter::Simple.new("user_id",nsid,:query)
72
72
  ]
73
- raise "token no longer valid, delete flickr.token, flickr.frob then retry authenticate.rb, flickr.rb" unless status == 200
73
+ raise "token no longer valid, delete .flickr.token, .flickr.frob then retry authenticate.rb, flickr.rb" unless status == 200
74
74
 
75
75
 
76
76
  puts "RES:" + res[0].value.read
@@ -3,7 +3,7 @@
3
3
  <message name="html">
4
4
  <parameter name="type" mimetype="text/html"/>
5
5
  </message>
6
- <message name="xsl">
6
+ <message name="details">
7
7
  <parameter name="xsl" mimetype="application/xml"/>
8
8
  </message>
9
9
 
@@ -17,7 +17,7 @@
17
17
  </resource>
18
18
  <resource relative='xsls'>
19
19
  <resource>
20
- <get in="*" out="xsl"/>
20
+ <get in="*" out="details"/>
21
21
  </resource>
22
22
  </resource>
23
23
  </resource>
@@ -145,7 +145,6 @@
145
145
  </message>
146
146
 
147
147
  <message name="details">
148
- <parameter name="message-uid" type="string"/>
149
148
  <optional>
150
149
  <parameter name="url" type="string"/>
151
150
  </optional>
@@ -160,7 +159,10 @@
160
159
  </parameter>
161
160
  </choice>
162
161
  </oneOrMore>
163
- <parameter name="fingerprint-with-producer-secret" type="string"/>
162
+ <optional>
163
+ <parameter name="message-uid" type="string"/>
164
+ <parameter name="fingerprint-with-producer-secret" type="string"/>
165
+ </optional>
164
166
  </message>
165
167
 
166
168
  <message name="overview">
@@ -5,11 +5,11 @@ require 'pp'
5
5
  twitter = Riddl::Client.interface("https://api.twitter.com/","twitter.xml")
6
6
 
7
7
  ### Base
8
- consumer_key = File.read(File.expand_path(File.dirname(__FILE__) + '/twitter.consumer_key')).strip
9
- consumer_secret = File.read(File.expand_path(File.dirname(__FILE__) + '/twitter.consumer_secret')).strip
10
- file_user_id = File.expand_path(File.dirname(__FILE__) + '/twitter.user_id')
11
- file_token = File.expand_path(File.dirname(__FILE__) + '/twitter.token')
12
- file_token_secret = File.expand_path(File.dirname(__FILE__) + '/twitter.token_secret')
8
+ consumer_key = File.read(File.expand_path(File.dirname(__FILE__) + '/.twitter.consumer_key')).strip
9
+ consumer_secret = File.read(File.expand_path(File.dirname(__FILE__) + '/.twitter.consumer_secret')).strip
10
+ file_user_id = File.expand_path(File.dirname(__FILE__) + '/.twitter.user_id')
11
+ file_token = File.expand_path(File.dirname(__FILE__) + '/.twitter.token')
12
+ file_token_secret = File.expand_path(File.dirname(__FILE__) + '/.twitter.token_secret')
13
13
 
14
14
  ### When token and secret already saved, skip this part
15
15
  if !File.exists?(file_token) && !File.exists?(file_token_secret)
@@ -4,11 +4,11 @@ require 'xml/smart'
4
4
  require 'pp'
5
5
 
6
6
  ### Base
7
- consumer_key = File.read(File.expand_path(File.dirname(__FILE__) + '/zotero.consumer_key')).strip
8
- consumer_secret = File.read(File.expand_path(File.dirname(__FILE__) + '/zotero.consumer_secret')).strip
9
- file_user_id = File.expand_path(File.dirname(__FILE__) + '/zotero.user_id')
10
- file_token = File.expand_path(File.dirname(__FILE__) + '/zotero.token')
11
- file_token_secret = File.expand_path(File.dirname(__FILE__) + '/zotero.token_secret') #}}}
7
+ consumer_key = File.read(File.expand_path(File.dirname(__FILE__) + '/.zotero.consumer_key')).strip
8
+ consumer_secret = File.read(File.expand_path(File.dirname(__FILE__) + '/.zotero.consumer_secret')).strip
9
+ file_user_id = File.expand_path(File.dirname(__FILE__) + '/.zotero.user_id')
10
+ file_token = File.expand_path(File.dirname(__FILE__) + '/.zotero.token')
11
+ file_token_secret = File.expand_path(File.dirname(__FILE__) + '/.zotero.token_secret') #}}}
12
12
 
13
13
  ### When token and secret already saved, skip this part #{{{
14
14
  if !File.exists?(file_token) && !File.exists?(file_token_secret)
@@ -145,7 +145,6 @@
145
145
  </message>
146
146
 
147
147
  <message name="details">
148
- <parameter name="message-uid" type="string"/>
149
148
  <optional>
150
149
  <parameter name="url" type="string"/>
151
150
  </optional>
@@ -160,7 +159,10 @@
160
159
  </parameter>
161
160
  </choice>
162
161
  </oneOrMore>
163
- <parameter name="fingerprint-with-producer-secret" type="string"/>
162
+ <optional>
163
+ <parameter name="message-uid" type="string"/>
164
+ <parameter name="fingerprint-with-producer-secret" type="string"/>
165
+ </optional>
164
166
  </message>
165
167
 
166
168
  <message name="overview">
@@ -154,7 +154,7 @@ module Riddl
154
154
  puts "XMPP support (#{@riddl_xmpp_jid}) active" if @riddl_xmpp_jid && @riddl_xmpp_pass && !http_only
155
155
  Process.daemon unless verbose
156
156
  ::Kernel::at_exit do
157
- @riddl_at_exit.call
157
+ @riddl_at_exit.call if @riddl_at_exit
158
158
  end
159
159
  begin
160
160
  EM.run do
@@ -262,7 +262,6 @@ module Riddl
262
262
  handler = @a[1]
263
263
  key = @r.last
264
264
 
265
- muid = @p.shift.value
266
265
  url = @p[0].name == 'url' ? @p.shift.value : nil
267
266
 
268
267
  # TODO check if message is valid (with producer secret)
@@ -21,15 +21,18 @@ module Riddl
21
21
  messages_result = ""
22
22
  description_result = ""
23
23
  description_xml_priv(result,messages,0)
24
+
25
+ result = XML::Smart.string("<resource>\n" + result + " </resource>")
24
26
  messages.each do |hash,mess|
25
27
  t = mess.content.dup
26
28
  name = mess.name
27
29
  name += '_' while names.include?(name)
30
+ result.find("//@*[.=#{hash}]").each { |e| p e; e.value = name }
28
31
  names << name
29
32
  t.root.attributes['name'] = name
30
33
  messages_result << t.root.dump + "\n"
31
34
  end
32
- XML::Smart.string("<description #{Riddl::Wrapper::COMMON} #{namespaces}>\n\n" + description_result + messages_result.gsub(/^/,' ') + "\n" + result + "\n</description>").to_s
35
+ XML::Smart.string("<description #{Riddl::Wrapper::COMMON} #{namespaces}>\n\n" + description_result + messages_result.gsub(/^/,' ') + "\n" + result.root.dump + "\n</description>").to_s
33
36
  #}}}
34
37
  end
35
38
  def description_xml_priv(result,messages,level,res=@resource)
@@ -243,23 +243,23 @@ module Riddl
243
243
  case m
244
244
  when Riddl::Wrapper::Description::RequestInOut
245
245
  messages[m.in.hash] ||= m.in
246
- result << "in=\"#{messages[m.in.hash].name}\""
246
+ result << "in=\"#{m.in.hash}\""
247
247
  unless m.out.nil?
248
248
  messages[m.out.hash] ||= m.out
249
- result << " out=\"#{messages[m.out.hash].name}\""
249
+ result << " out=\"#{m.out.hash}\""
250
250
  end
251
251
  when Riddl::Wrapper::Description::RequestStarOut
252
252
  result << "in=\"*\""
253
253
  unless m.out.nil?
254
254
  messages[m.out.hash] ||= m.out
255
- result << " out=\"#{messages[m.out.hash].name}\""
255
+ result << " out=\"#{m.out.hash}\""
256
256
  end
257
257
  when Riddl::Wrapper::Description::RequestPass
258
258
  messages[m.pass.hash] ||= m.pass
259
- result << "pass=\"#{messages[m.pass.hash].name}\""
259
+ result << "pass=\"#{m.pass.hash}\""
260
260
  when Riddl::Wrapper::Description::RequestTransformation
261
261
  messages[m.trans.hash] ||= m.trans
262
- result << "transformation=\"#{messages[m.trans.hash].name}\""
262
+ result << "transformation=\"#{m.trans.hash}\""
263
263
  end
264
264
  if m.custom.length > 0
265
265
  result << ">\n"
@@ -326,17 +326,19 @@ module Riddl
326
326
  messages = {}
327
327
  messages_result = ''
328
328
  collect = description_xml_string(messages," " * 4) + description_xml_string_sub(messages," " * 4)
329
+ collect = XML::Smart.string("<resource>\n" + collect + " </resource>")
329
330
 
330
331
  names = []
331
332
  messages.each do |hash,mess|
332
333
  t = mess.content.dup
333
334
  name = mess.name
334
335
  name += '_' while names.include?(name)
336
+ collect.find("//@*[.=#{hash}]").each { |e| p e; e.value = name }
335
337
  names << name
336
338
  t.root.attributes['name'] = name
337
339
  messages_result << t.root.dump + "\n"
338
340
  end
339
- XML::Smart.string("<description #{Riddl::Wrapper::COMMON} #{namespaces}>\n\n" + messages_result.gsub(/^/,' ') + "\n <resource>\n" + collect + " </resource>\n</description>").to_s
341
+ XML::Smart.string("<description #{Riddl::Wrapper::COMMON} #{namespaces}>\n\n" + messages_result.gsub(/^/,' ') + "\n " + collect.root.dump + "\n</description>").to_s
340
342
  #}}}
341
343
  end
342
344
 
@@ -145,7 +145,6 @@
145
145
  </message>
146
146
 
147
147
  <message name="details">
148
- <parameter name="message-uid" type="string"/>
149
148
  <optional>
150
149
  <parameter name="url" type="string"/>
151
150
  </optional>
@@ -160,7 +159,10 @@
160
159
  </parameter>
161
160
  </choice>
162
161
  </oneOrMore>
163
- <parameter name="fingerprint-with-producer-secret" type="string"/>
162
+ <optional>
163
+ <parameter name="message-uid" type="string"/>
164
+ <parameter name="fingerprint-with-producer-secret" type="string"/>
165
+ </optional>
164
166
  </message>
165
167
 
166
168
  <message name="overview">
@@ -1,6 +1,6 @@
1
1
  Gem::Specification.new do |s|
2
2
  s.name = "riddl"
3
- s.version = "0.99.177"
3
+ s.version = "0.99.178"
4
4
  s.platform = Gem::Platform::RUBY
5
5
  s.license = "LGPL-3"
6
6
  s.summary = "restful interface description and declaration language: tools and client/server libs"
@@ -8,6 +8,7 @@ Gem::Specification.new do |s|
8
8
  s.description = "rest service interface definition, mixing, and evolution. supports mixed http and xmpp servers."
9
9
 
10
10
  s.files = Dir['{lib/ruby/riddl/ns/**/*,tools/**/*,ns/**/*,contrib/**/*,lib/ruby/riddl/**/*,examples/**/*}'] + %w(COPYING Rakefile riddl.gemspec README.rdoc TODO AUTHORS INSTALL)
11
+
11
12
  s.require_path = 'lib/ruby'
12
13
  s.extra_rdoc_files = ['README.rdoc']
13
14
  s.bindir = 'tools'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: riddl
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.99.177
4
+ version: 0.99.178
5
5
  platform: ruby
6
6
  authors:
7
7
  - Juergen eTM Mangler
8
8
  autorequire:
9
9
  bindir: tools
10
10
  cert_chain: []
11
- date: 2015-01-14 00:00:00.000000000 Z
11
+ date: 2015-02-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: xml-smart
@@ -263,11 +263,7 @@ files:
263
263
  - examples/flickr/Exif/riddl.new.jpg
264
264
  - examples/flickr/Flickr/authenticate.rb
265
265
  - examples/flickr/Flickr/find.rb
266
- - examples/flickr/Flickr/flickr.frob
267
- - examples/flickr/Flickr/flickr.key
268
266
  - examples/flickr/Flickr/flickr.rb
269
- - examples/flickr/Flickr/flickr.secret
270
- - examples/flickr/Flickr/flickr.token
271
267
  - examples/flickr/Flickr/flickr.xml
272
268
  - examples/flickr/Flickr/public.rb
273
269
  - examples/flickr/Flickr/riddl.png
@@ -313,11 +309,6 @@ files:
313
309
  - examples/twitter/client.rb
314
310
  - examples/twitter/declaration.xml
315
311
  - examples/twitter/twitpic.xml
316
- - examples/twitter/twitter.consumer_key
317
- - examples/twitter/twitter.consumer_secret
318
- - examples/twitter/twitter.token
319
- - examples/twitter/twitter.token_secret
320
- - examples/twitter/twitter.user_id
321
312
  - examples/twitter/twitter.xml
322
313
  - examples/websocket/client.rb
323
314
  - examples/websocket/description.xml
@@ -336,11 +327,6 @@ files:
336
327
  - examples/zotero/README
337
328
  - examples/zotero/client.rb
338
329
  - examples/zotero/litlist.html
339
- - examples/zotero/zotero.consumer_key
340
- - examples/zotero/zotero.consumer_secret
341
- - examples/zotero/zotero.token
342
- - examples/zotero/zotero.token_secret
343
- - examples/zotero/zotero.user_id
344
330
  - examples/zotero/zotero.xml
345
331
  - lib/ruby/riddl/client.rb
346
332
  - lib/ruby/riddl/commonlogger.rb
@@ -1 +0,0 @@
1
- 72157622754311344-2420da30f5ba248b-204692
@@ -1 +0,0 @@
1
- ae99256c7589433e29b814ed34698bfa
@@ -1 +0,0 @@
1
- c50c9bb73b23752b
@@ -1 +0,0 @@
1
- 72157622749312846-cf81dadf0cc4b86d
@@ -1 +0,0 @@
1
- JUGRfvAcSIjxpJ13g96Fw
@@ -1 +0,0 @@
1
- fTV93ULm4PtKGTZL2YGE22vvwuwidDl9RdBkZC15Y
@@ -1 +0,0 @@
1
- 10154142-aYtQ7NhZ3ZXPoBhhDsnxRsNGVtH5C4DSNUEvGlsHP
@@ -1 +0,0 @@
1
- ei7HiWcL5D4z0gHXnJhlLiwQ5wuTU0fX8K0nccuzH0g
@@ -1 +0,0 @@
1
- 10154142-aYtQ7NhZ3ZXPoBhhDsnxRsNGVtH5C4DSNUEvGlsHP
@@ -1 +0,0 @@
1
- 689f0248cc74473141b6
@@ -1 +0,0 @@
1
- 5b542fd013944adf2b1a
@@ -1 +0,0 @@
1
- xbkypbe6eVfLozz51pkqvXzJ
@@ -1 +0,0 @@
1
- xbkypbe6eVfLozz51pkqvXzJ
@@ -1 +0,0 @@
1
- 2491