savon 2.13.0 → 2.14.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (106) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +10 -1
  3. data/README.md +2 -4
  4. data/lib/savon/builder.rb +7 -3
  5. data/lib/savon/model.rb +3 -3
  6. data/lib/savon/options.rb +1 -1
  7. data/lib/savon/response.rb +3 -3
  8. data/lib/savon/string_utils.rb +17 -0
  9. data/lib/savon/version.rb +1 -1
  10. data/lib/savon.rb +1 -0
  11. metadata +15 -103
  12. data/.gitignore +0 -16
  13. data/.yardopts +0 -6
  14. data/CONTRIBUTING.md +0 -42
  15. data/Gemfile +0 -8
  16. data/coverage/assets/0.12.3/DataTables-1.10.20/images/sort_asc.png +0 -0
  17. data/coverage/assets/0.12.3/DataTables-1.10.20/images/sort_asc_disabled.png +0 -0
  18. data/coverage/assets/0.12.3/DataTables-1.10.20/images/sort_both.png +0 -0
  19. data/coverage/assets/0.12.3/DataTables-1.10.20/images/sort_desc.png +0 -0
  20. data/coverage/assets/0.12.3/DataTables-1.10.20/images/sort_desc_disabled.png +0 -0
  21. data/coverage/assets/0.12.3/application.css +0 -1
  22. data/coverage/assets/0.12.3/application.js +0 -7
  23. data/coverage/assets/0.12.3/colorbox/border.png +0 -0
  24. data/coverage/assets/0.12.3/colorbox/controls.png +0 -0
  25. data/coverage/assets/0.12.3/colorbox/loading.gif +0 -0
  26. data/coverage/assets/0.12.3/colorbox/loading_background.png +0 -0
  27. data/coverage/assets/0.12.3/favicon_green.png +0 -0
  28. data/coverage/assets/0.12.3/favicon_red.png +0 -0
  29. data/coverage/assets/0.12.3/favicon_yellow.png +0 -0
  30. data/coverage/assets/0.12.3/images/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
  31. data/coverage/assets/0.12.3/images/ui-bg_flat_75_ffffff_40x100.png +0 -0
  32. data/coverage/assets/0.12.3/images/ui-bg_glass_55_fbf9ee_1x400.png +0 -0
  33. data/coverage/assets/0.12.3/images/ui-bg_glass_65_ffffff_1x400.png +0 -0
  34. data/coverage/assets/0.12.3/images/ui-bg_glass_75_dadada_1x400.png +0 -0
  35. data/coverage/assets/0.12.3/images/ui-bg_glass_75_e6e6e6_1x400.png +0 -0
  36. data/coverage/assets/0.12.3/images/ui-bg_glass_95_fef1ec_1x400.png +0 -0
  37. data/coverage/assets/0.12.3/images/ui-bg_highlight-soft_75_cccccc_1x100.png +0 -0
  38. data/coverage/assets/0.12.3/images/ui-icons_222222_256x240.png +0 -0
  39. data/coverage/assets/0.12.3/images/ui-icons_2e83ff_256x240.png +0 -0
  40. data/coverage/assets/0.12.3/images/ui-icons_454545_256x240.png +0 -0
  41. data/coverage/assets/0.12.3/images/ui-icons_888888_256x240.png +0 -0
  42. data/coverage/assets/0.12.3/images/ui-icons_cd0a0a_256x240.png +0 -0
  43. data/coverage/assets/0.12.3/loading.gif +0 -0
  44. data/coverage/assets/0.12.3/magnify.png +0 -0
  45. data/coverage/index.html +0 -21518
  46. data/lib/savon/core_ext/string.rb +0 -30
  47. data/savon.gemspec +0 -47
  48. data/spec/fixtures/gzip/message.gz +0 -0
  49. data/spec/fixtures/response/another_soap_fault.xml +0 -14
  50. data/spec/fixtures/response/authentication.xml +0 -14
  51. data/spec/fixtures/response/empty_soap_fault.xml +0 -13
  52. data/spec/fixtures/response/f5.xml +0 -39
  53. data/spec/fixtures/response/header.xml +0 -13
  54. data/spec/fixtures/response/list.xml +0 -18
  55. data/spec/fixtures/response/multi_ref.xml +0 -39
  56. data/spec/fixtures/response/no_body.xml +0 -1
  57. data/spec/fixtures/response/soap_fault.xml +0 -8
  58. data/spec/fixtures/response/soap_fault12.xml +0 -18
  59. data/spec/fixtures/response/soap_fault_funky.xml +0 -8
  60. data/spec/fixtures/response/taxcloud.xml +0 -1
  61. data/spec/fixtures/ssl/client_cert.pem +0 -16
  62. data/spec/fixtures/ssl/client_encrypted_key.pem +0 -30
  63. data/spec/fixtures/ssl/client_encrypted_key_cert.pem +0 -24
  64. data/spec/fixtures/ssl/client_key.pem +0 -15
  65. data/spec/fixtures/wsdl/authentication.xml +0 -63
  66. data/spec/fixtures/wsdl/betfair.xml +0 -2981
  67. data/spec/fixtures/wsdl/brand.xml +0 -624
  68. data/spec/fixtures/wsdl/edialog.xml +0 -15416
  69. data/spec/fixtures/wsdl/elements_in_types.xml +0 -43
  70. data/spec/fixtures/wsdl/interhome.xml +0 -2137
  71. data/spec/fixtures/wsdl/lower_camel.xml +0 -52
  72. data/spec/fixtures/wsdl/multiple_namespaces.xml +0 -92
  73. data/spec/fixtures/wsdl/multiple_types.xml +0 -60
  74. data/spec/fixtures/wsdl/no_message_tag.xml +0 -1267
  75. data/spec/fixtures/wsdl/taxcloud.xml +0 -934
  76. data/spec/fixtures/wsdl/team_software.xml +0 -1
  77. data/spec/fixtures/wsdl/vies.xml +0 -176
  78. data/spec/fixtures/wsdl/wasmuth.xml +0 -153
  79. data/spec/integration/support/application.rb +0 -114
  80. data/spec/integration/support/server.rb +0 -85
  81. data/spec/integration/zipcode_example_spec.rb +0 -39
  82. data/spec/savon/builder_spec.rb +0 -138
  83. data/spec/savon/client_spec.rb +0 -272
  84. data/spec/savon/core_ext/string_spec.rb +0 -38
  85. data/spec/savon/features/message_tag_spec.rb +0 -62
  86. data/spec/savon/http_error_spec.rb +0 -57
  87. data/spec/savon/log_message_spec.rb +0 -51
  88. data/spec/savon/message_spec.rb +0 -61
  89. data/spec/savon/mock_spec.rb +0 -175
  90. data/spec/savon/model_spec.rb +0 -183
  91. data/spec/savon/multipart_request_spec.rb +0 -46
  92. data/spec/savon/observers_spec.rb +0 -93
  93. data/spec/savon/operation_spec.rb +0 -207
  94. data/spec/savon/options_spec.rb +0 -1154
  95. data/spec/savon/qualified_message_spec.rb +0 -102
  96. data/spec/savon/request_logger_spec.rb +0 -38
  97. data/spec/savon/request_spec.rb +0 -581
  98. data/spec/savon/response_spec.rb +0 -276
  99. data/spec/savon/soap_fault_spec.rb +0 -147
  100. data/spec/savon/softlayer_spec.rb +0 -28
  101. data/spec/spec_helper.rb +0 -31
  102. data/spec/support/adapters.rb +0 -49
  103. data/spec/support/endpoint.rb +0 -26
  104. data/spec/support/fixture.rb +0 -40
  105. data/spec/support/integration.rb +0 -10
  106. data/spec/support/stdout.rb +0 -26
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 499960aa27dbd47ffb67df57d2a3f018bb82be1ae2a8fa363a35135067e1daf6
4
- data.tar.gz: 0e1ee1edde0ed096b91995b47a71c96b2d6dc46a073675075759bd2bffac16fe
3
+ metadata.gz: 06d51f50e77421b9c47f4879bf243ab850fe79c0ef520be98547b4d8ddf7265f
4
+ data.tar.gz: 4054d063de6bb45ba6fac8527ed96a66639ab9c56697c0d5386f80e09f452782
5
5
  SHA512:
6
- metadata.gz: 783a1d396caa43ab986d31791e7547b1d4a0f064b6f879de62f9945e754dffd5e73490a2c649089c0f15ce08bd144fba8f6ad6a6bbf812814d3d6e29357c6373
7
- data.tar.gz: 9cd06cd633717fa2174f6bca31ec881f22045585dc9d6c207772bf4c4a0ec4ab6ccf0fff596445cb7e8b90eb55ef5cd0089cfaabb74d912434f5e705cc8fba85
6
+ metadata.gz: d0667f3ffb291ae9d01678539f43eb4fc05bbe593c6ce4f8019890116984befa424c6a1fd9847f1db57edd1b1df2ed2600da465e5f72f09156807f80138be872
7
+ data.tar.gz: 764d2b88bd39f6e552a6a0a6f58c8a19d7b5bd22bdad17fe999fccf9c8f2d5aa2f0d426a10e900a6f0e480f967f1c9cf6faba087777c5e0a674267eae24d20f4
data/CHANGELOG.md CHANGED
@@ -1,9 +1,18 @@
1
1
  # Savon changelog
2
2
 
3
3
  ## Unreleased
4
-
5
4
  * Add your PR changelog line here
6
5
 
6
+ ## 2.14.0 (2022-12-16)
7
+
8
+ * BC BREAKING Fix: [#985](https://github.com/savonrb/savon/pull/985) Renamed `Savon::Response#hash` to `Savon::Response#full_hash`
9
+ * BC BREAKING Fix: [#988](https://github.com/savonrb/savon/pull/988) Savon no longer monkeypatches `String#snakecase`
10
+ * Fix: [#989](https://github.com/savonrb/savon/pull/989) Do not include xmlns from WSDL, which breaks some servers
11
+
12
+ ## 2.13.1 (2022-09-04)
13
+
14
+ * Fix: [#977](https://github.com/savonrb/savon/pull/977) Prevent "xmlns:xmlns" namespace but allow "xmlns" namespace.
15
+
7
16
  ## 2.13.0 (2022-08-03)
8
17
 
9
18
  * Drop support for ruby 2.6 and below. Added Ruby 3.0 and 3.1 to test matrix.
data/README.md CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  Heavy metal SOAP client
4
4
 
5
- [Documentation](https://www.rubydoc.info/gems/savon/) | [Support](https://stackoverflow.com/questions/tagged/savon) |
5
+ [Documentation](https://www.rubydoc.info/gems/savon/) | [Support](https://stackoverflow.com/questions/tagged/savon) |
6
6
  [Mailing list](https://groups.google.com/forum/#!forum/savonrb) | [Twitter](http://twitter.com/savonrb)
7
7
 
8
8
  [![Ruby](https://github.com/savonrb/savon/actions/workflows/ci.yml/badge.svg)](https://github.com/savonrb/savon/actions/workflows/ci.yml)
@@ -22,7 +22,7 @@ $ gem install savon
22
22
  or add it to your Gemfile like this:
23
23
 
24
24
  ```
25
- gem 'savon', '~> 2.12.0'
25
+ gem 'savon', '~> 2.13.0'
26
26
  ```
27
27
 
28
28
  ## Usage example
@@ -76,5 +76,3 @@ $ bundle exec rspec
76
76
  ## Documentation
77
77
 
78
78
  Please be sure to [read the documentation](https://www.rubydoc.info/github/savonrb/savon/).
79
-
80
-
data/lib/savon/builder.rb CHANGED
@@ -121,9 +121,13 @@ module Savon
121
121
 
122
122
  if @wsdl&.document
123
123
  @wsdl.parser.namespaces.each do |identifier, path|
124
- next if namespaces.key?("xmlns:#{identifier}")
124
+ next if identifier == 'xmlns' # Do not include xmlns namespace as this causes issues for some servers (https://github.com/savonrb/savon/issues/986)
125
125
 
126
- namespaces["xmlns:#{identifier}"] = path
126
+ prefixed_identifier = "xmlns:#{identifier}"
127
+
128
+ next if namespaces.key?(prefixed_identifier)
129
+
130
+ namespaces[prefixed_identifier] = path
127
131
  end
128
132
  end
129
133
 
@@ -160,7 +164,7 @@ module Savon
160
164
  message_tag = serialized_message_tag[1]
161
165
  @wsdl.soap_input(@operation_name.to_sym)[message_tag].each_pair do |message, type|
162
166
  break if @locals[:message].nil?
163
- message_locals = @locals[:message][message.snakecase.to_sym]
167
+ message_locals = @locals[:message][StringUtils.snakecase(message).to_sym]
164
168
  message_content = Message.new(message_tag, namespace_identifier, @types, @used_namespaces, message_locals, :unqualified, @globals[:convert_request_keys_to], @globals[:unwrap]).to_s
165
169
  messages += "<#{message} xsi:type=\"#{type.join(':')}\">#{message_content}</#{message}>"
166
170
  end
data/lib/savon/model.rb CHANGED
@@ -29,7 +29,7 @@ module Savon
29
29
  # Defines a class-level SOAP operation.
30
30
  def define_class_operation(operation)
31
31
  class_operation_module.module_eval %{
32
- def #{operation.to_s.snakecase}(locals = {})
32
+ def #{StringUtils.snakecase(operation.to_s)}(locals = {})
33
33
  client.call #{operation.inspect}, locals
34
34
  end
35
35
  }
@@ -38,8 +38,8 @@ module Savon
38
38
  # Defines an instance-level SOAP operation.
39
39
  def define_instance_operation(operation)
40
40
  instance_operation_module.module_eval %{
41
- def #{operation.to_s.snakecase}(locals = {})
42
- self.class.#{operation.to_s.snakecase} locals
41
+ def #{StringUtils.snakecase(operation.to_s)}(locals = {})
42
+ self.class.#{StringUtils.snakecase(operation.to_s)} locals
43
43
  end
44
44
  }
45
45
  end
data/lib/savon/options.rb CHANGED
@@ -85,7 +85,7 @@ module Savon
85
85
  :raise_errors => true,
86
86
  :strip_namespaces => true,
87
87
  :delete_namespace_attributes => false,
88
- :convert_response_tags_to => lambda { |tag| tag.snakecase.to_sym},
88
+ :convert_response_tags_to => lambda { |tag| StringUtils.snakecase(tag).to_sym},
89
89
  :convert_attributes_to => lambda { |k,v| [k,v] },
90
90
  :multipart => false,
91
91
  :adapter => nil,
@@ -54,8 +54,8 @@ module Savon
54
54
  result.kind_of?(Array) ? result.compact : [result].compact
55
55
  end
56
56
 
57
- def hash
58
- @hash ||= nori.parse(xml)
57
+ def full_hash
58
+ @full_hash ||= nori.parse(xml)
59
59
  end
60
60
 
61
61
  def xml
@@ -79,7 +79,7 @@ module Savon
79
79
  end
80
80
 
81
81
  def find(*path)
82
- envelope = nori.find(hash, 'Envelope')
82
+ envelope = nori.find(full_hash, 'Envelope')
83
83
  raise_invalid_response_error! unless envelope.is_a?(Hash)
84
84
 
85
85
  nori.find(envelope, *path)
@@ -0,0 +1,17 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Savon
4
+ module StringUtils
5
+ def self.snakecase(inputstring)
6
+ str = inputstring.dup
7
+ str.gsub! /::/, '/'
8
+ str.gsub! /([A-Z]+)([A-Z][a-z])/, '\1_\2'
9
+ str.gsub! /([a-z\d])([A-Z])/, '\1_\2'
10
+ str.tr! ".", "_"
11
+ str.tr! "-", "_"
12
+ str.downcase!
13
+ str
14
+ end
15
+ end
16
+ end
17
+
data/lib/savon/version.rb CHANGED
@@ -1,4 +1,4 @@
1
1
  # frozen_string_literal: true
2
2
  module Savon
3
- VERSION = '2.13.0'
3
+ VERSION = '2.14.0'
4
4
  end
data/lib/savon.rb CHANGED
@@ -26,3 +26,4 @@ end
26
26
  require "savon/version"
27
27
  require "savon/client"
28
28
  require "savon/model"
29
+ require "savon/string_utils"
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: savon
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.13.0
4
+ version: 2.14.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Daniel Harrington
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-08-04 00:00:00.000000000 Z
11
+ date: 2022-12-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: nori
@@ -126,16 +126,16 @@ dependencies:
126
126
  name: rack
127
127
  requirement: !ruby/object:Gem::Requirement
128
128
  requirements:
129
- - - ">="
129
+ - - "<"
130
130
  - !ruby/object:Gem::Version
131
- version: '0'
131
+ version: '4'
132
132
  type: :development
133
133
  prerelease: false
134
134
  version_requirements: !ruby/object:Gem::Requirement
135
135
  requirements:
136
- - - ">="
136
+ - - "<"
137
137
  - !ruby/object:Gem::Version
138
- version: '0'
138
+ version: '4'
139
139
  - !ruby/object:Gem::Dependency
140
140
  name: puma
141
141
  requirement: !ruby/object:Gem::Requirement
@@ -143,6 +143,9 @@ dependencies:
143
143
  - - ">="
144
144
  - !ruby/object:Gem::Version
145
145
  version: 4.3.8
146
+ - - "<"
147
+ - !ruby/object:Gem::Version
148
+ version: '7'
146
149
  type: :development
147
150
  prerelease: false
148
151
  version_requirements: !ruby/object:Gem::Requirement
@@ -150,6 +153,9 @@ dependencies:
150
153
  - - ">="
151
154
  - !ruby/object:Gem::Version
152
155
  version: 4.3.8
156
+ - - "<"
157
+ - !ruby/object:Gem::Version
158
+ version: '7'
153
159
  - !ruby/object:Gem::Dependency
154
160
  name: byebug
155
161
  requirement: !ruby/object:Gem::Requirement
@@ -226,49 +232,14 @@ executables: []
226
232
  extensions: []
227
233
  extra_rdoc_files: []
228
234
  files:
229
- - ".gitignore"
230
- - ".yardopts"
231
235
  - CHANGELOG.md
232
- - CONTRIBUTING.md
233
- - Gemfile
234
236
  - LICENSE
235
237
  - README.md
236
238
  - Rakefile
237
- - coverage/assets/0.12.3/DataTables-1.10.20/images/sort_asc.png
238
- - coverage/assets/0.12.3/DataTables-1.10.20/images/sort_asc_disabled.png
239
- - coverage/assets/0.12.3/DataTables-1.10.20/images/sort_both.png
240
- - coverage/assets/0.12.3/DataTables-1.10.20/images/sort_desc.png
241
- - coverage/assets/0.12.3/DataTables-1.10.20/images/sort_desc_disabled.png
242
- - coverage/assets/0.12.3/application.css
243
- - coverage/assets/0.12.3/application.js
244
- - coverage/assets/0.12.3/colorbox/border.png
245
- - coverage/assets/0.12.3/colorbox/controls.png
246
- - coverage/assets/0.12.3/colorbox/loading.gif
247
- - coverage/assets/0.12.3/colorbox/loading_background.png
248
- - coverage/assets/0.12.3/favicon_green.png
249
- - coverage/assets/0.12.3/favicon_red.png
250
- - coverage/assets/0.12.3/favicon_yellow.png
251
- - coverage/assets/0.12.3/images/ui-bg_flat_0_aaaaaa_40x100.png
252
- - coverage/assets/0.12.3/images/ui-bg_flat_75_ffffff_40x100.png
253
- - coverage/assets/0.12.3/images/ui-bg_glass_55_fbf9ee_1x400.png
254
- - coverage/assets/0.12.3/images/ui-bg_glass_65_ffffff_1x400.png
255
- - coverage/assets/0.12.3/images/ui-bg_glass_75_dadada_1x400.png
256
- - coverage/assets/0.12.3/images/ui-bg_glass_75_e6e6e6_1x400.png
257
- - coverage/assets/0.12.3/images/ui-bg_glass_95_fef1ec_1x400.png
258
- - coverage/assets/0.12.3/images/ui-bg_highlight-soft_75_cccccc_1x100.png
259
- - coverage/assets/0.12.3/images/ui-icons_222222_256x240.png
260
- - coverage/assets/0.12.3/images/ui-icons_2e83ff_256x240.png
261
- - coverage/assets/0.12.3/images/ui-icons_454545_256x240.png
262
- - coverage/assets/0.12.3/images/ui-icons_888888_256x240.png
263
- - coverage/assets/0.12.3/images/ui-icons_cd0a0a_256x240.png
264
- - coverage/assets/0.12.3/loading.gif
265
- - coverage/assets/0.12.3/magnify.png
266
- - coverage/index.html
267
239
  - lib/savon.rb
268
240
  - lib/savon/block_interface.rb
269
241
  - lib/savon/builder.rb
270
242
  - lib/savon/client.rb
271
- - lib/savon/core_ext/string.rb
272
243
  - lib/savon/header.rb
273
244
  - lib/savon/http_error.rb
274
245
  - lib/savon/log_message.rb
@@ -284,67 +255,8 @@ files:
284
255
  - lib/savon/request_logger.rb
285
256
  - lib/savon/response.rb
286
257
  - lib/savon/soap_fault.rb
258
+ - lib/savon/string_utils.rb
287
259
  - lib/savon/version.rb
288
- - savon.gemspec
289
- - spec/fixtures/gzip/message.gz
290
- - spec/fixtures/response/another_soap_fault.xml
291
- - spec/fixtures/response/authentication.xml
292
- - spec/fixtures/response/empty_soap_fault.xml
293
- - spec/fixtures/response/f5.xml
294
- - spec/fixtures/response/header.xml
295
- - spec/fixtures/response/list.xml
296
- - spec/fixtures/response/multi_ref.xml
297
- - spec/fixtures/response/no_body.xml
298
- - spec/fixtures/response/soap_fault.xml
299
- - spec/fixtures/response/soap_fault12.xml
300
- - spec/fixtures/response/soap_fault_funky.xml
301
- - spec/fixtures/response/taxcloud.xml
302
- - spec/fixtures/ssl/client_cert.pem
303
- - spec/fixtures/ssl/client_encrypted_key.pem
304
- - spec/fixtures/ssl/client_encrypted_key_cert.pem
305
- - spec/fixtures/ssl/client_key.pem
306
- - spec/fixtures/wsdl/authentication.xml
307
- - spec/fixtures/wsdl/betfair.xml
308
- - spec/fixtures/wsdl/brand.xml
309
- - spec/fixtures/wsdl/edialog.xml
310
- - spec/fixtures/wsdl/elements_in_types.xml
311
- - spec/fixtures/wsdl/interhome.xml
312
- - spec/fixtures/wsdl/lower_camel.xml
313
- - spec/fixtures/wsdl/multiple_namespaces.xml
314
- - spec/fixtures/wsdl/multiple_types.xml
315
- - spec/fixtures/wsdl/no_message_tag.xml
316
- - spec/fixtures/wsdl/taxcloud.xml
317
- - spec/fixtures/wsdl/team_software.xml
318
- - spec/fixtures/wsdl/vies.xml
319
- - spec/fixtures/wsdl/wasmuth.xml
320
- - spec/integration/support/application.rb
321
- - spec/integration/support/server.rb
322
- - spec/integration/zipcode_example_spec.rb
323
- - spec/savon/builder_spec.rb
324
- - spec/savon/client_spec.rb
325
- - spec/savon/core_ext/string_spec.rb
326
- - spec/savon/features/message_tag_spec.rb
327
- - spec/savon/http_error_spec.rb
328
- - spec/savon/log_message_spec.rb
329
- - spec/savon/message_spec.rb
330
- - spec/savon/mock_spec.rb
331
- - spec/savon/model_spec.rb
332
- - spec/savon/multipart_request_spec.rb
333
- - spec/savon/observers_spec.rb
334
- - spec/savon/operation_spec.rb
335
- - spec/savon/options_spec.rb
336
- - spec/savon/qualified_message_spec.rb
337
- - spec/savon/request_logger_spec.rb
338
- - spec/savon/request_spec.rb
339
- - spec/savon/response_spec.rb
340
- - spec/savon/soap_fault_spec.rb
341
- - spec/savon/softlayer_spec.rb
342
- - spec/spec_helper.rb
343
- - spec/support/adapters.rb
344
- - spec/support/endpoint.rb
345
- - spec/support/fixture.rb
346
- - spec/support/integration.rb
347
- - spec/support/stdout.rb
348
260
  homepage: http://savonrb.com
349
261
  licenses:
350
262
  - MIT
@@ -357,14 +269,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
357
269
  requirements:
358
270
  - - ">="
359
271
  - !ruby/object:Gem::Version
360
- version: 2.5.0
272
+ version: 2.7.0
361
273
  required_rubygems_version: !ruby/object:Gem::Requirement
362
274
  requirements:
363
275
  - - ">="
364
276
  - !ruby/object:Gem::Version
365
277
  version: '0'
366
278
  requirements: []
367
- rubygems_version: 3.2.9
279
+ rubygems_version: 3.3.26
368
280
  signing_key:
369
281
  specification_version: 4
370
282
  summary: Heavy metal SOAP client
data/.gitignore DELETED
@@ -1,16 +0,0 @@
1
- .rvmrc
2
- .byebug_history
3
- .DS_Store
4
- .yardoc
5
- doc
6
- rdox
7
- coverage
8
- tmp
9
- *.rbc
10
- *~
11
- *.gem
12
- .bundle
13
- .rspec
14
- Gemfile.lock
15
- bin/
16
- .rspec_status
data/.yardopts DELETED
@@ -1,6 +0,0 @@
1
- --markup markdown
2
- --markup-provider redcarpet
3
- -
4
- CHANGELOG.md
5
- LICENSE
6
- lib/**/*.rb
data/CONTRIBUTING.md DELETED
@@ -1,42 +0,0 @@
1
- # Contribution Guide
2
-
3
- This page describes how to contribute changes to Savon.
4
-
5
- Please do not create a pull request without reading this guide first.
6
- Make sure to read the documentation for your version and ask questions on [Stack Overflow](https://stackoverflow.com/questions/ask?tags=savon).
7
-
8
- **Bug fixes**
9
-
10
- If you really think you found a bug, please make sure to add as much information as possible
11
- to the ticket. You're a developer, we are developers and you know we need tests to reproduce
12
- problems and make sure they don't come back.
13
-
14
- So if you can reproduce your problem in a spec, that would be awesome! If you can't, please
15
- let us know how we can make this easier for you. Also, provide code and the WSDL of the
16
- service you're working with, so others can try to come up with a spec for your problem.
17
-
18
- After we have a failing spec, it needs to be fixed. Make sure your new spec is the
19
- only failing one under the `spec` directory. CI only runs the "unit tests" at `spec/savon`,
20
- but Savon actually has some additional specs at `spec/integration`, which you need to run locally
21
- to make sure the integration with real-world services still works.
22
-
23
- These specs are not run by CI, because the services are not guaranteed to work all the time.
24
-
25
- Please follow this workflow for Pull Requests:
26
-
27
- * [Fork the project](https://help.github.com/articles/fork-a-repo)
28
- * Create a feature branch and make your bug fix
29
- * Add tests for it!
30
- * [Send a Pull Request](https://help.github.com/articles/using-pull-requests)
31
- * [Check that your Pull Request passes the build](https://github.com/savonrb/savon/actions?query=workflow%3ARuby)
32
-
33
- **Improvements and feature requests**
34
-
35
- If you have an idea for an improvement or a new feature, please feel free to
36
- [create a new Issue](https://github.com/savonrb/savon/issues/new/choose) and describe your idea
37
- so that other people can give their insights and opinions. This is also important to avoid
38
- duplicate work.
39
-
40
- Pull Requests and Issues on GitHub are meant to be used to discuss problems and ideas,
41
- so please make sure to participate and follow up on questions. In case no one comments
42
- on your ticket, please keep updating the ticket with additional information.
data/Gemfile DELETED
@@ -1,8 +0,0 @@
1
- source 'https://rubygems.org'
2
-
3
- gemspec
4
-
5
- gem "httpclient", "~> 2.7.1"
6
-
7
- gem "simplecov", :require => false
8
- gem "net-smtp" if RUBY_VERSION >= "3.1.0"
@@ -1 +0,0 @@
1
- html,body,div,span,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,code,del,dfn,em,img,q,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,dialog,figure,footer,header,hgroup,nav,section{margin:0;padding:0;border:0;font-weight:inherit;font-style:inherit;font-size:100%;font-family:inherit;vertical-align:baseline}article,aside,dialog,figure,footer,header,hgroup,nav,section{display:block}body{line-height:1.5}table{border-collapse:separate;border-spacing:0}caption,th,td{text-align:left;font-weight:normal}table,td,th{vertical-align:middle}blockquote:before,blockquote:after,q:before,q:after{content:""}blockquote,q{quotes:"" ""}a img{border:0}html{font-size:100.01%}body{font-size:82%;color:#222;background:#fff;font-family:"Helvetica Neue",Arial,Helvetica,sans-serif}h1,h2,h3,h4,h5,h6{font-weight:normal;color:#111}h1{font-size:3em;line-height:1;margin-bottom:.5em}h2{font-size:2em;margin-bottom:.75em}h3{font-size:1.5em;line-height:1;margin-bottom:1em}h4{font-size:1.2em;line-height:1.25;margin-bottom:1.25em}h5{font-size:1em;font-weight:bold;margin-bottom:1.5em}h6{font-size:1em;font-weight:bold}h1 img,h2 img,h3 img,h4 img,h5 img,h6 img{margin:0}p{margin:0 0 1.5em}p img.left{float:left;margin:1.5em 1.5em 1.5em 0;padding:0}p img.right{float:right;margin:1.5em 0 1.5em 1.5em}a:focus,a:hover{color:#000}a{color:#009;text-decoration:underline}blockquote{margin:1.5em;color:#666;font-style:italic}strong{font-weight:bold}em,dfn{font-style:italic}dfn{font-weight:bold}sup,sub{line-height:0}abbr,acronym{border-bottom:1px dotted #666}address{margin:0 0 1.5em;font-style:italic}del{color:#666}pre{margin:1.5em 0;white-space:pre}pre,code,tt{font:1em 'andale mono','lucida console',monospace;line-height:1.5}li ul,li ol{margin:0}ul,ol{margin:0 1.5em 1.5em 0;padding-left:3.333em}ul{list-style-type:disc}ol{list-style-type:decimal}dl{margin:0 0 1.5em 0}dl dt{font-weight:bold}dd{margin-left:1.5em}table{margin-bottom:1.4em;width:100%}th{font-weight:bold}thead th{background:#c3d9ff}th,td,caption{padding:4px 10px 4px 5px}tr.even td{background:#efefef}tfoot{font-style:italic}caption{background:#eee}.small{font-size:.8em;margin-bottom:1.875em;line-height:1.875em}.large{font-size:1.2em;line-height:2.5em;margin-bottom:1.25em}.hide{display:none}.quiet{color:#666}.loud{color:#000}.highlight{background:#ff0}.added{background:#060;color:#fff}.removed{background:#900;color:#fff}.first{margin-left:0;padding-left:0}.last{margin-right:0;padding-right:0}.top{margin-top:0;padding-top:0}.bottom{margin-bottom:0;padding-bottom:0}label{font-weight:bold}fieldset{padding:1.4em;margin:0 0 1.5em 0;border:1px solid #ccc}legend{font-weight:bold;font-size:1.2em}input[type=text],input[type=password],input.text,input.title,textarea,select{background-color:#fff;border:1px solid #bbb}input[type=text]:focus,input[type=password]:focus,input.text:focus,input.title:focus,textarea:focus,select:focus{border-color:#666}input[type=text],input[type=password],input.text,input.title,textarea,select{margin:.5em 0}input.text,input.title{width:300px;padding:5px}input.title{font-size:1.5em}textarea{width:390px;height:250px;padding:5px}input[type=checkbox],input[type=radio],input.checkbox,input.radio{position:relative;top:.25em}form.inline{line-height:3}form.inline p{margin-bottom:0}.error,.notice,.success{padding:.8em;margin-bottom:1em;border:2px solid #ddd}.error{background:#fbe3e4;color:#8a1f11;border-color:#fbc2c4}.notice{background:#fff6bf;color:#514721;border-color:#ffd324}.success{background:#e6efc2;color:#264409;border-color:#c6d880}.error a{color:#8a1f11}.notice a{color:#514721}.success a{color:#264409}.box{padding:1.5em;margin-bottom:1.5em;background:#e5ecf9}hr{background:#ddd;color:#ddd;clear:both;float:none;width:100%;height:.1em;margin:0 0 1.45em;border:0}hr.space{background:#fff;color:#fff;visibility:hidden}.clearfix:after,.container:after{content:"\0020";display:block;height:0;clear:both;visibility:hidden;overflow:hidden}.clearfix,.container{display:block}.clear{clear:both}table.dataTable{width:100%;margin:0 auto;clear:both;border-collapse:separate;border-spacing:0}table.dataTable thead th,table.dataTable tfoot th{font-weight:bold}table.dataTable thead th,table.dataTable thead td{padding:10px 18px;border-bottom:1px solid #111}table.dataTable thead th:active,table.dataTable thead td:active{outline:0}table.dataTable tfoot th,table.dataTable tfoot td{padding:10px 18px 6px 18px;border-top:1px solid #111}table.dataTable thead .sorting,table.dataTable thead .sorting_asc,table.dataTable thead .sorting_desc,table.dataTable thead .sorting_asc_disabled,table.dataTable thead .sorting_desc_disabled{cursor:pointer;*cursor:hand;background-repeat:no-repeat;background-position:center right}table.dataTable thead .sorting{background-image:url("DataTables-1.10.20/images/sort_both.png")}table.dataTable thead .sorting_asc{background-image:url("DataTables-1.10.20/images/sort_asc.png")}table.dataTable thead .sorting_desc{background-image:url("DataTables-1.10.20/images/sort_desc.png")}table.dataTable thead .sorting_asc_disabled{background-image:url("DataTables-1.10.20/images/sort_asc_disabled.png")}table.dataTable thead .sorting_desc_disabled{background-image:url("DataTables-1.10.20/images/sort_desc_disabled.png")}table.dataTable tbody tr{background-color:#fff}table.dataTable tbody tr.selected{background-color:#b0bed9}table.dataTable tbody th,table.dataTable tbody td{padding:8px 10px}table.dataTable.row-border tbody th,table.dataTable.row-border tbody td,table.dataTable.display tbody th,table.dataTable.display tbody td{border-top:1px solid #ddd}table.dataTable.row-border tbody tr:first-child th,table.dataTable.row-border tbody tr:first-child td,table.dataTable.display tbody tr:first-child th,table.dataTable.display tbody tr:first-child td{border-top:0}table.dataTable.cell-border tbody th,table.dataTable.cell-border tbody td{border-top:1px solid #ddd;border-right:1px solid #ddd}table.dataTable.cell-border tbody tr th:first-child,table.dataTable.cell-border tbody tr td:first-child{border-left:1px solid #ddd}table.dataTable.cell-border tbody tr:first-child th,table.dataTable.cell-border tbody tr:first-child td{border-top:0}table.dataTable.stripe tbody tr.odd,table.dataTable.display tbody tr.odd{background-color:#f9f9f9}table.dataTable.stripe tbody tr.odd.selected,table.dataTable.display tbody tr.odd.selected{background-color:#acbad4}table.dataTable.hover tbody tr:hover,table.dataTable.display tbody tr:hover{background-color:#f6f6f6}table.dataTable.hover tbody tr:hover.selected,table.dataTable.display tbody tr:hover.selected{background-color:#aab7d1}table.dataTable.order-column tbody tr>.sorting_1,table.dataTable.order-column tbody tr>.sorting_2,table.dataTable.order-column tbody tr>.sorting_3,table.dataTable.display tbody tr>.sorting_1,table.dataTable.display tbody tr>.sorting_2,table.dataTable.display tbody tr>.sorting_3{background-color:#fafafa}table.dataTable.order-column tbody tr.selected>.sorting_1,table.dataTable.order-column tbody tr.selected>.sorting_2,table.dataTable.order-column tbody tr.selected>.sorting_3,table.dataTable.display tbody tr.selected>.sorting_1,table.dataTable.display tbody tr.selected>.sorting_2,table.dataTable.display tbody tr.selected>.sorting_3{background-color:#acbad5}table.dataTable.display tbody tr.odd>.sorting_1,table.dataTable.order-column.stripe tbody tr.odd>.sorting_1{background-color:#f1f1f1}table.dataTable.display tbody tr.odd>.sorting_2,table.dataTable.order-column.stripe tbody tr.odd>.sorting_2{background-color:#f3f3f3}table.dataTable.display tbody tr.odd>.sorting_3,table.dataTable.order-column.stripe tbody tr.odd>.sorting_3{background-color:whitesmoke}table.dataTable.display tbody tr.odd.selected>.sorting_1,table.dataTable.order-column.stripe tbody tr.odd.selected>.sorting_1{background-color:#a6b4cd}table.dataTable.display tbody tr.odd.selected>.sorting_2,table.dataTable.order-column.stripe tbody tr.odd.selected>.sorting_2{background-color:#a8b5cf}table.dataTable.display tbody tr.odd.selected>.sorting_3,table.dataTable.order-column.stripe tbody tr.odd.selected>.sorting_3{background-color:#a9b7d1}table.dataTable.display tbody tr.even>.sorting_1,table.dataTable.order-column.stripe tbody tr.even>.sorting_1{background-color:#fafafa}table.dataTable.display tbody tr.even>.sorting_2,table.dataTable.order-column.stripe tbody tr.even>.sorting_2{background-color:#fcfcfc}table.dataTable.display tbody tr.even>.sorting_3,table.dataTable.order-column.stripe tbody tr.even>.sorting_3{background-color:#fefefe}table.dataTable.display tbody tr.even.selected>.sorting_1,table.dataTable.order-column.stripe tbody tr.even.selected>.sorting_1{background-color:#acbad5}table.dataTable.display tbody tr.even.selected>.sorting_2,table.dataTable.order-column.stripe tbody tr.even.selected>.sorting_2{background-color:#aebcd6}table.dataTable.display tbody tr.even.selected>.sorting_3,table.dataTable.order-column.stripe tbody tr.even.selected>.sorting_3{background-color:#afbdd8}table.dataTable.display tbody tr:hover>.sorting_1,table.dataTable.order-column.hover tbody tr:hover>.sorting_1{background-color:#eaeaea}table.dataTable.display tbody tr:hover>.sorting_2,table.dataTable.order-column.hover tbody tr:hover>.sorting_2{background-color:#ececec}table.dataTable.display tbody tr:hover>.sorting_3,table.dataTable.order-column.hover tbody tr:hover>.sorting_3{background-color:#efefef}table.dataTable.display tbody tr:hover.selected>.sorting_1,table.dataTable.order-column.hover tbody tr:hover.selected>.sorting_1{background-color:#a2aec7}table.dataTable.display tbody tr:hover.selected>.sorting_2,table.dataTable.order-column.hover tbody tr:hover.selected>.sorting_2{background-color:#a3b0c9}table.dataTable.display tbody tr:hover.selected>.sorting_3,table.dataTable.order-column.hover tbody tr:hover.selected>.sorting_3{background-color:#a5b2cb}table.dataTable.no-footer{border-bottom:1px solid #111}table.dataTable.nowrap th,table.dataTable.nowrap td{white-space:nowrap}table.dataTable.compact thead th,table.dataTable.compact thead td{padding:4px 17px 4px 4px}table.dataTable.compact tfoot th,table.dataTable.compact tfoot td{padding:4px}table.dataTable.compact tbody th,table.dataTable.compact tbody td{padding:4px}table.dataTable th.dt-left,table.dataTable td.dt-left{text-align:left}table.dataTable th.dt-center,table.dataTable td.dt-center,table.dataTable td.dataTables_empty{text-align:center}table.dataTable th.dt-right,table.dataTable td.dt-right{text-align:right}table.dataTable th.dt-justify,table.dataTable td.dt-justify{text-align:justify}table.dataTable th.dt-nowrap,table.dataTable td.dt-nowrap{white-space:nowrap}table.dataTable thead th.dt-head-left,table.dataTable thead td.dt-head-left,table.dataTable tfoot th.dt-head-left,table.dataTable tfoot td.dt-head-left{text-align:left}table.dataTable thead th.dt-head-center,table.dataTable thead td.dt-head-center,table.dataTable tfoot th.dt-head-center,table.dataTable tfoot td.dt-head-center{text-align:center}table.dataTable thead th.dt-head-right,table.dataTable thead td.dt-head-right,table.dataTable tfoot th.dt-head-right,table.dataTable tfoot td.dt-head-right{text-align:right}table.dataTable thead th.dt-head-justify,table.dataTable thead td.dt-head-justify,table.dataTable tfoot th.dt-head-justify,table.dataTable tfoot td.dt-head-justify{text-align:justify}table.dataTable thead th.dt-head-nowrap,table.dataTable thead td.dt-head-nowrap,table.dataTable tfoot th.dt-head-nowrap,table.dataTable tfoot td.dt-head-nowrap{white-space:nowrap}table.dataTable tbody th.dt-body-left,table.dataTable tbody td.dt-body-left{text-align:left}table.dataTable tbody th.dt-body-center,table.dataTable tbody td.dt-body-center{text-align:center}table.dataTable tbody th.dt-body-right,table.dataTable tbody td.dt-body-right{text-align:right}table.dataTable tbody th.dt-body-justify,table.dataTable tbody td.dt-body-justify{text-align:justify}table.dataTable tbody th.dt-body-nowrap,table.dataTable tbody td.dt-body-nowrap{white-space:nowrap}table.dataTable,table.dataTable th,table.dataTable td{box-sizing:content-box}.dataTables_wrapper{position:relative;clear:both;*zoom:1;zoom:1}.dataTables_wrapper .dataTables_length{float:left}.dataTables_wrapper .dataTables_filter{float:right;text-align:right}.dataTables_wrapper .dataTables_filter input{margin-left:.5em}.dataTables_wrapper .dataTables_info{clear:both;float:left;padding-top:.755em}.dataTables_wrapper .dataTables_paginate{float:right;text-align:right;padding-top:.25em}.dataTables_wrapper .dataTables_paginate .paginate_button{box-sizing:border-box;display:inline-block;min-width:1.5em;padding:.5em 1em;margin-left:2px;text-align:center;text-decoration:none !important;cursor:pointer;*cursor:hand;color:#333 !important;border:1px solid transparent;border-radius:2px}.dataTables_wrapper .dataTables_paginate .paginate_button.current,.dataTables_wrapper .dataTables_paginate .paginate_button.current:hover{color:#333 !important;border:1px solid #979797;background-color:white;background:-webkit-gradient(linear,left top,left bottom,color-stop(0,white),color-stop(100%,#dcdcdc));background:-webkit-linear-gradient(top,white 0,#dcdcdc 100%);background:-moz-linear-gradient(top,white 0,#dcdcdc 100%);background:-ms-linear-gradient(top,white 0,#dcdcdc 100%);background:-o-linear-gradient(top,white 0,#dcdcdc 100%);background:linear-gradient(to bottom,white 0,#dcdcdc 100%)}.dataTables_wrapper .dataTables_paginate .paginate_button.disabled,.dataTables_wrapper .dataTables_paginate .paginate_button.disabled:hover,.dataTables_wrapper .dataTables_paginate .paginate_button.disabled:active{cursor:default;color:#666 !important;border:1px solid transparent;background:transparent;box-shadow:none}.dataTables_wrapper .dataTables_paginate .paginate_button:hover{color:white !important;border:1px solid #111;background-color:#585858;background:-webkit-gradient(linear,left top,left bottom,color-stop(0,#585858),color-stop(100%,#111));background:-webkit-linear-gradient(top,#585858 0,#111 100%);background:-moz-linear-gradient(top,#585858 0,#111 100%);background:-ms-linear-gradient(top,#585858 0,#111 100%);background:-o-linear-gradient(top,#585858 0,#111 100%);background:linear-gradient(to bottom,#585858 0,#111 100%)}.dataTables_wrapper .dataTables_paginate .paginate_button:active{outline:0;background-color:#2b2b2b;background:-webkit-gradient(linear,left top,left bottom,color-stop(0,#2b2b2b),color-stop(100%,#0c0c0c));background:-webkit-linear-gradient(top,#2b2b2b 0,#0c0c0c 100%);background:-moz-linear-gradient(top,#2b2b2b 0,#0c0c0c 100%);background:-ms-linear-gradient(top,#2b2b2b 0,#0c0c0c 100%);background:-o-linear-gradient(top,#2b2b2b 0,#0c0c0c 100%);background:linear-gradient(to bottom,#2b2b2b 0,#0c0c0c 100%);box-shadow:inset 0 0 3px #111}.dataTables_wrapper .dataTables_paginate .ellipsis{padding:0 1em}.dataTables_wrapper .dataTables_processing{position:absolute;top:50%;left:50%;width:100%;height:40px;margin-left:-50%;margin-top:-25px;padding-top:20px;text-align:center;font-size:1.2em;background-color:white;background:-webkit-gradient(linear,left top,right top,color-stop(0,rgba(255,255,255,0)),color-stop(25%,rgba(255,255,255,0.9)),color-stop(75%,rgba(255,255,255,0.9)),color-stop(100%,rgba(255,255,255,0)));background:-webkit-linear-gradient(left,rgba(255,255,255,0) 0,rgba(255,255,255,0.9) 25%,rgba(255,255,255,0.9) 75%,rgba(255,255,255,0) 100%);background:-moz-linear-gradient(left,rgba(255,255,255,0) 0,rgba(255,255,255,0.9) 25%,rgba(255,255,255,0.9) 75%,rgba(255,255,255,0) 100%);background:-ms-linear-gradient(left,rgba(255,255,255,0) 0,rgba(255,255,255,0.9) 25%,rgba(255,255,255,0.9) 75%,rgba(255,255,255,0) 100%);background:-o-linear-gradient(left,rgba(255,255,255,0) 0,rgba(255,255,255,0.9) 25%,rgba(255,255,255,0.9) 75%,rgba(255,255,255,0) 100%);background:linear-gradient(to right,rgba(255,255,255,0) 0,rgba(255,255,255,0.9) 25%,rgba(255,255,255,0.9) 75%,rgba(255,255,255,0) 100%)}.dataTables_wrapper .dataTables_length,.dataTables_wrapper .dataTables_filter,.dataTables_wrapper .dataTables_info,.dataTables_wrapper .dataTables_processing,.dataTables_wrapper .dataTables_paginate{color:#333}.dataTables_wrapper .dataTables_scroll{clear:both}.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody{*margin-top:-1px;-webkit-overflow-scrolling:touch}.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody>table>thead>tr>th,.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody>table>thead>tr>td,.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody>table>tbody>tr>th,.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody>table>tbody>tr>td{vertical-align:middle}.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody>table>thead>tr>th>div.dataTables_sizing,.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody>table>thead>tr>td>div.dataTables_sizing,.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody>table>tbody>tr>th>div.dataTables_sizing,.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody>table>tbody>tr>td>div.dataTables_sizing{height:0;overflow:hidden;margin:0 !important;padding:0 !important}.dataTables_wrapper.no-footer .dataTables_scrollBody{border-bottom:1px solid #111}.dataTables_wrapper.no-footer div.dataTables_scrollHead table.dataTable,.dataTables_wrapper.no-footer div.dataTables_scrollBody>table{border-bottom:0}.dataTables_wrapper:after{visibility:hidden;display:block;content:"";clear:both;height:0}@media screen and (max-width:767px){.dataTables_wrapper .dataTables_info,.dataTables_wrapper .dataTables_paginate{float:none;text-align:center}.dataTables_wrapper .dataTables_paginate{margin-top:.5em}}@media screen and (max-width:640px){.dataTables_wrapper .dataTables_length,.dataTables_wrapper .dataTables_filter{float:none;text-align:center}.dataTables_wrapper .dataTables_filter{margin-top:.5em}}pre .comment,pre .template_comment,pre .diff .header,pre .javadoc{color:#998;font-style:italic}pre .keyword,pre .css .rule .keyword,pre .winutils,pre .javascript .title,pre .lisp .title{color:#000;font-weight:bold}pre .number,pre .hexcolor{color:#458}pre .string,pre .tag .value,pre .phpdoc,pre .tex .formula{color:#d14}pre .subst{color:#712}pre .constant,pre .title,pre .id{color:#900;font-weight:bold}pre .javascript .title,pre .lisp .title,pre .subst{font-weight:normal}pre .class .title,pre .haskell .label,pre .tex .command{color:#458;font-weight:bold}pre .tag,pre .tag .title,pre .rules .property,pre .django .tag .keyword{color:navy;font-weight:normal}pre .attribute,pre .variable,pre .instancevar,pre .lisp .body{color:teal}pre .regexp{color:#009926}pre .class{color:#458;font-weight:bold}pre .symbol,pre .ruby .symbol .string,pre .ruby .symbol .keyword,pre .ruby .symbol .keymethods,pre .lisp .keyword,pre .tex .special,pre .input_number{color:#990073}pre .builtin,pre .built_in,pre .lisp .title{color:#0086b3}pre .preprocessor,pre .pi,pre .doctype,pre .shebang,pre .cdata{color:#999;font-weight:bold}pre .deletion{background:#fdd}pre .addition{background:#dfd}pre .diff .change{background:#0086b3}pre .chunk{color:#aaa}pre .tex .formula{opacity:.5}.ui-helper-hidden{display:none}.ui-helper-hidden-accessible{position:absolute;left:-99999999px}.ui-helper-reset{margin:0;padding:0;border:0;outline:0;line-height:1.3;text-decoration:none;font-size:100%;list-style:none}.ui-helper-clearfix:after{content:".";display:block;height:0;clear:both;visibility:hidden}.ui-helper-clearfix{display:inline-block}/*\*/* html .ui-helper-clearfix{height:1%}.ui-helper-clearfix{display:block}/**/.ui-helper-zfix{width:100%;height:100%;top:0;left:0;position:absolute;opacity:0;filter:Alpha(Opacity=0)}.ui-state-disabled{cursor:default !important}.ui-icon{display:block;text-indent:-99999px;overflow:hidden;background-repeat:no-repeat}.ui-widget-overlay{position:absolute;top:0;left:0;width:100%;height:100%}.ui-widget{font-family:Verdana,Arial,sans-serif;font-size:1.1em}.ui-widget .ui-widget{font-size:1em}.ui-widget input,.ui-widget select,.ui-widget textarea,.ui-widget button{font-family:Verdana,Arial,sans-serif;font-size:1em}.ui-widget-content{border:1px solid #aaa;background:#fff url(images/ui-bg_flat_75_ffffff_40x100.png) 50% 50% repeat-x;color:#222}.ui-widget-content a{color:#222}.ui-widget-header{border:1px solid #aaa;background:#ccc url(images/ui-bg_highlight-soft_75_cccccc_1x100.png) 50% 50% repeat-x;color:#222;font-weight:bold}.ui-widget-header a{color:#222}.ui-state-default,.ui-widget-content .ui-state-default,.ui-widget-header .ui-state-default{border:1px solid #d3d3d3;background:#e6e6e6 url(images/ui-bg_glass_75_e6e6e6_1x400.png) 50% 50% repeat-x;font-weight:normal;color:#555}.ui-state-default a,.ui-state-default a:link,.ui-state-default a:visited{color:#555;text-decoration:none}.ui-state-hover,.ui-widget-content .ui-state-hover,.ui-widget-header .ui-state-hover,.ui-state-focus,.ui-widget-content .ui-state-focus,.ui-widget-header .ui-state-focus{border:1px solid #999;background:#dadada url(images/ui-bg_glass_75_dadada_1x400.png) 50% 50% repeat-x;font-weight:normal;color:#212121}.ui-state-hover a,.ui-state-hover a:hover{color:#212121;text-decoration:none}.ui-state-active,.ui-widget-content .ui-state-active,.ui-widget-header .ui-state-active{border:1px solid #aaa;background:#fff url(images/ui-bg_glass_65_ffffff_1x400.png) 50% 50% repeat-x;font-weight:normal;color:#212121}.ui-state-active a,.ui-state-active a:link,.ui-state-active a:visited{color:#212121;text-decoration:none}.ui-widget :active{outline:0}.ui-state-highlight,.ui-widget-content .ui-state-highlight,.ui-widget-header .ui-state-highlight{border:1px solid #fcefa1;background:#fbf9ee url(images/ui-bg_glass_55_fbf9ee_1x400.png) 50% 50% repeat-x;color:#363636}.ui-state-highlight a,.ui-widget-content .ui-state-highlight a,.ui-widget-header .ui-state-highlight a{color:#363636}.ui-state-error,.ui-widget-content .ui-state-error,.ui-widget-header .ui-state-error{border:1px solid #cd0a0a;background:#fef1ec url(images/ui-bg_glass_95_fef1ec_1x400.png) 50% 50% repeat-x;color:#cd0a0a}.ui-state-error a,.ui-widget-content .ui-state-error a,.ui-widget-header .ui-state-error a{color:#cd0a0a}.ui-state-error-text,.ui-widget-content .ui-state-error-text,.ui-widget-header .ui-state-error-text{color:#cd0a0a}.ui-priority-primary,.ui-widget-content .ui-priority-primary,.ui-widget-header .ui-priority-primary{font-weight:bold}.ui-priority-secondary,.ui-widget-content .ui-priority-secondary,.ui-widget-header .ui-priority-secondary{opacity:.7;filter:Alpha(Opacity=70);font-weight:normal}.ui-state-disabled,.ui-widget-content .ui-state-disabled,.ui-widget-header .ui-state-disabled{opacity:.35;filter:Alpha(Opacity=35);background-image:none}.ui-icon{width:16px;height:16px;background-image:url(images/ui-icons_222222_256x240.png)}.ui-widget-content .ui-icon{background-image:url(images/ui-icons_222222_256x240.png)}.ui-widget-header .ui-icon{background-image:url(images/ui-icons_222222_256x240.png)}.ui-state-default .ui-icon{background-image:url(images/ui-icons_888888_256x240.png)}.ui-state-hover .ui-icon,.ui-state-focus .ui-icon{background-image:url(images/ui-icons_454545_256x240.png)}.ui-state-active .ui-icon{background-image:url(images/ui-icons_454545_256x240.png)}.ui-state-highlight .ui-icon{background-image:url(images/ui-icons_2e83ff_256x240.png)}.ui-state-error .ui-icon,.ui-state-error-text .ui-icon{background-image:url(images/ui-icons_cd0a0a_256x240.png)}.ui-icon-carat-1-n{background-position:0 0}.ui-icon-carat-1-ne{background-position:-16px 0}.ui-icon-carat-1-e{background-position:-32px 0}.ui-icon-carat-1-se{background-position:-48px 0}.ui-icon-carat-1-s{background-position:-64px 0}.ui-icon-carat-1-sw{background-position:-80px 0}.ui-icon-carat-1-w{background-position:-96px 0}.ui-icon-carat-1-nw{background-position:-112px 0}.ui-icon-carat-2-n-s{background-position:-128px 0}.ui-icon-carat-2-e-w{background-position:-144px 0}.ui-icon-triangle-1-n{background-position:0 -16px}.ui-icon-triangle-1-ne{background-position:-16px -16px}.ui-icon-triangle-1-e{background-position:-32px -16px}.ui-icon-triangle-1-se{background-position:-48px -16px}.ui-icon-triangle-1-s{background-position:-64px -16px}.ui-icon-triangle-1-sw{background-position:-80px -16px}.ui-icon-triangle-1-w{background-position:-96px -16px}.ui-icon-triangle-1-nw{background-position:-112px -16px}.ui-icon-triangle-2-n-s{background-position:-128px -16px}.ui-icon-triangle-2-e-w{background-position:-144px -16px}.ui-icon-arrow-1-n{background-position:0 -32px}.ui-icon-arrow-1-ne{background-position:-16px -32px}.ui-icon-arrow-1-e{background-position:-32px -32px}.ui-icon-arrow-1-se{background-position:-48px -32px}.ui-icon-arrow-1-s{background-position:-64px -32px}.ui-icon-arrow-1-sw{background-position:-80px -32px}.ui-icon-arrow-1-w{background-position:-96px -32px}.ui-icon-arrow-1-nw{background-position:-112px -32px}.ui-icon-arrow-2-n-s{background-position:-128px -32px}.ui-icon-arrow-2-ne-sw{background-position:-144px -32px}.ui-icon-arrow-2-e-w{background-position:-160px -32px}.ui-icon-arrow-2-se-nw{background-position:-176px -32px}.ui-icon-arrowstop-1-n{background-position:-192px -32px}.ui-icon-arrowstop-1-e{background-position:-208px -32px}.ui-icon-arrowstop-1-s{background-position:-224px -32px}.ui-icon-arrowstop-1-w{background-position:-240px -32px}.ui-icon-arrowthick-1-n{background-position:0 -48px}.ui-icon-arrowthick-1-ne{background-position:-16px -48px}.ui-icon-arrowthick-1-e{background-position:-32px -48px}.ui-icon-arrowthick-1-se{background-position:-48px -48px}.ui-icon-arrowthick-1-s{background-position:-64px -48px}.ui-icon-arrowthick-1-sw{background-position:-80px -48px}.ui-icon-arrowthick-1-w{background-position:-96px -48px}.ui-icon-arrowthick-1-nw{background-position:-112px -48px}.ui-icon-arrowthick-2-n-s{background-position:-128px -48px}.ui-icon-arrowthick-2-ne-sw{background-position:-144px -48px}.ui-icon-arrowthick-2-e-w{background-position:-160px -48px}.ui-icon-arrowthick-2-se-nw{background-position:-176px -48px}.ui-icon-arrowthickstop-1-n{background-position:-192px -48px}.ui-icon-arrowthickstop-1-e{background-position:-208px -48px}.ui-icon-arrowthickstop-1-s{background-position:-224px -48px}.ui-icon-arrowthickstop-1-w{background-position:-240px -48px}.ui-icon-arrowreturnthick-1-w{background-position:0 -64px}.ui-icon-arrowreturnthick-1-n{background-position:-16px -64px}.ui-icon-arrowreturnthick-1-e{background-position:-32px -64px}.ui-icon-arrowreturnthick-1-s{background-position:-48px -64px}.ui-icon-arrowreturn-1-w{background-position:-64px -64px}.ui-icon-arrowreturn-1-n{background-position:-80px -64px}.ui-icon-arrowreturn-1-e{background-position:-96px -64px}.ui-icon-arrowreturn-1-s{background-position:-112px -64px}.ui-icon-arrowrefresh-1-w{background-position:-128px -64px}.ui-icon-arrowrefresh-1-n{background-position:-144px -64px}.ui-icon-arrowrefresh-1-e{background-position:-160px -64px}.ui-icon-arrowrefresh-1-s{background-position:-176px -64px}.ui-icon-arrow-4{background-position:0 -80px}.ui-icon-arrow-4-diag{background-position:-16px -80px}.ui-icon-extlink{background-position:-32px -80px}.ui-icon-newwin{background-position:-48px -80px}.ui-icon-refresh{background-position:-64px -80px}.ui-icon-shuffle{background-position:-80px -80px}.ui-icon-transfer-e-w{background-position:-96px -80px}.ui-icon-transferthick-e-w{background-position:-112px -80px}.ui-icon-folder-collapsed{background-position:0 -96px}.ui-icon-folder-open{background-position:-16px -96px}.ui-icon-document{background-position:-32px -96px}.ui-icon-document-b{background-position:-48px -96px}.ui-icon-note{background-position:-64px -96px}.ui-icon-mail-closed{background-position:-80px -96px}.ui-icon-mail-open{background-position:-96px -96px}.ui-icon-suitcase{background-position:-112px -96px}.ui-icon-comment{background-position:-128px -96px}.ui-icon-person{background-position:-144px -96px}.ui-icon-print{background-position:-160px -96px}.ui-icon-trash{background-position:-176px -96px}.ui-icon-locked{background-position:-192px -96px}.ui-icon-unlocked{background-position:-208px -96px}.ui-icon-bookmark{background-position:-224px -96px}.ui-icon-tag{background-position:-240px -96px}.ui-icon-home{background-position:0 -112px}.ui-icon-flag{background-position:-16px -112px}.ui-icon-calendar{background-position:-32px -112px}.ui-icon-cart{background-position:-48px -112px}.ui-icon-pencil{background-position:-64px -112px}.ui-icon-clock{background-position:-80px -112px}.ui-icon-disk{background-position:-96px -112px}.ui-icon-calculator{background-position:-112px -112px}.ui-icon-zoomin{background-position:-128px -112px}.ui-icon-zoomout{background-position:-144px -112px}.ui-icon-search{background-position:-160px -112px}.ui-icon-wrench{background-position:-176px -112px}.ui-icon-gear{background-position:-192px -112px}.ui-icon-heart{background-position:-208px -112px}.ui-icon-star{background-position:-224px -112px}.ui-icon-link{background-position:-240px -112px}.ui-icon-cancel{background-position:0 -128px}.ui-icon-plus{background-position:-16px -128px}.ui-icon-plusthick{background-position:-32px -128px}.ui-icon-minus{background-position:-48px -128px}.ui-icon-minusthick{background-position:-64px -128px}.ui-icon-close{background-position:-80px -128px}.ui-icon-closethick{background-position:-96px -128px}.ui-icon-key{background-position:-112px -128px}.ui-icon-lightbulb{background-position:-128px -128px}.ui-icon-scissors{background-position:-144px -128px}.ui-icon-clipboard{background-position:-160px -128px}.ui-icon-copy{background-position:-176px -128px}.ui-icon-contact{background-position:-192px -128px}.ui-icon-image{background-position:-208px -128px}.ui-icon-video{background-position:-224px -128px}.ui-icon-script{background-position:-240px -128px}.ui-icon-alert{background-position:0 -144px}.ui-icon-info{background-position:-16px -144px}.ui-icon-notice{background-position:-32px -144px}.ui-icon-help{background-position:-48px -144px}.ui-icon-check{background-position:-64px -144px}.ui-icon-bullet{background-position:-80px -144px}.ui-icon-radio-off{background-position:-96px -144px}.ui-icon-radio-on{background-position:-112px -144px}.ui-icon-pin-w{background-position:-128px -144px}.ui-icon-pin-s{background-position:-144px -144px}.ui-icon-play{background-position:0 -160px}.ui-icon-pause{background-position:-16px -160px}.ui-icon-seek-next{background-position:-32px -160px}.ui-icon-seek-prev{background-position:-48px -160px}.ui-icon-seek-end{background-position:-64px -160px}.ui-icon-seek-start{background-position:-80px -160px}.ui-icon-seek-first{background-position:-80px -160px}.ui-icon-stop{background-position:-96px -160px}.ui-icon-eject{background-position:-112px -160px}.ui-icon-volume-off{background-position:-128px -160px}.ui-icon-volume-on{background-position:-144px -160px}.ui-icon-power{background-position:0 -176px}.ui-icon-signal-diag{background-position:-16px -176px}.ui-icon-signal{background-position:-32px -176px}.ui-icon-battery-0{background-position:-48px -176px}.ui-icon-battery-1{background-position:-64px -176px}.ui-icon-battery-2{background-position:-80px -176px}.ui-icon-battery-3{background-position:-96px -176px}.ui-icon-circle-plus{background-position:0 -192px}.ui-icon-circle-minus{background-position:-16px -192px}.ui-icon-circle-close{background-position:-32px -192px}.ui-icon-circle-triangle-e{background-position:-48px -192px}.ui-icon-circle-triangle-s{background-position:-64px -192px}.ui-icon-circle-triangle-w{background-position:-80px -192px}.ui-icon-circle-triangle-n{background-position:-96px -192px}.ui-icon-circle-arrow-e{background-position:-112px -192px}.ui-icon-circle-arrow-s{background-position:-128px -192px}.ui-icon-circle-arrow-w{background-position:-144px -192px}.ui-icon-circle-arrow-n{background-position:-160px -192px}.ui-icon-circle-zoomin{background-position:-176px -192px}.ui-icon-circle-zoomout{background-position:-192px -192px}.ui-icon-circle-check{background-position:-208px -192px}.ui-icon-circlesmall-plus{background-position:0 -208px}.ui-icon-circlesmall-minus{background-position:-16px -208px}.ui-icon-circlesmall-close{background-position:-32px -208px}.ui-icon-squaresmall-plus{background-position:-48px -208px}.ui-icon-squaresmall-minus{background-position:-64px -208px}.ui-icon-squaresmall-close{background-position:-80px -208px}.ui-icon-grip-dotted-vertical{background-position:0 -224px}.ui-icon-grip-dotted-horizontal{background-position:-16px -224px}.ui-icon-grip-solid-vertical{background-position:-32px -224px}.ui-icon-grip-solid-horizontal{background-position:-48px -224px}.ui-icon-gripsmall-diagonal-se{background-position:-64px -224px}.ui-icon-grip-diagonal-se{background-position:-80px -224px}.ui-corner-tl{-moz-border-radius-topleft:4px;-webkit-border-top-left-radius:4px;border-top-left-radius:4px}.ui-corner-tr{-moz-border-radius-topright:4px;-webkit-border-top-right-radius:4px;border-top-right-radius:4px}.ui-corner-bl{-moz-border-radius-bottomleft:4px;-webkit-border-bottom-left-radius:4px;border-bottom-left-radius:4px}.ui-corner-br{-moz-border-radius-bottomright:4px;-webkit-border-bottom-right-radius:4px;border-bottom-right-radius:4px}.ui-corner-top{-moz-border-radius-topleft:4px;-webkit-border-top-left-radius:4px;border-top-left-radius:4px;-moz-border-radius-topright:4px;-webkit-border-top-right-radius:4px;border-top-right-radius:4px}.ui-corner-bottom{-moz-border-radius-bottomleft:4px;-webkit-border-bottom-left-radius:4px;border-bottom-left-radius:4px;-moz-border-radius-bottomright:4px;-webkit-border-bottom-right-radius:4px;border-bottom-right-radius:4px}.ui-corner-right{-moz-border-radius-topright:4px;-webkit-border-top-right-radius:4px;border-top-right-radius:4px;-moz-border-radius-bottomright:4px;-webkit-border-bottom-right-radius:4px;border-bottom-right-radius:4px}.ui-corner-left{-moz-border-radius-topleft:4px;-webkit-border-top-left-radius:4px;border-top-left-radius:4px;-moz-border-radius-bottomleft:4px;-webkit-border-bottom-left-radius:4px;border-bottom-left-radius:4px}.ui-corner-all{-moz-border-radius:4px;-webkit-border-radius:4px;border-radius:4px}.ui-widget-overlay{background:#aaa url(images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x;opacity:.30;filter:Alpha(Opacity=30)}.ui-widget-shadow{margin:-8px 0 0 -8px;padding:8px;background:#aaa url(images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x;opacity:.30;filter:Alpha(Opacity=30);-moz-border-radius:8px;-webkit-border-radius:8px;border-radius:8px}#colorbox,#cboxOverlay,#cboxWrapper{position:absolute;top:0;left:0;z-index:9999;overflow:hidden}#cboxOverlay{position:fixed;width:100%;height:100%}#cboxMiddleLeft,#cboxBottomLeft{clear:left}#cboxContent{position:relative}#cboxLoadedContent{overflow:auto}#cboxTitle{margin:0}#cboxLoadingOverlay,#cboxLoadingGraphic{position:absolute;top:0;left:0;width:100%;height:100%}#cboxPrevious,#cboxNext,#cboxClose,#cboxSlideshow{cursor:pointer}.cboxPhoto{float:left;margin:auto;border:0;display:block;max-width:none}.cboxIframe{width:100%;height:100%;display:block;border:0}#colorbox,#cboxContent,#cboxLoadedContent{box-sizing:content-box}#cboxOverlay{background:#000}#cboxTopLeft{width:14px;height:14px;background:url(colorbox/controls.png) no-repeat 0 0}#cboxTopCenter{height:14px;background:url(colorbox/border.png) repeat-x top left}#cboxTopRight{width:14px;height:14px;background:url(colorbox/controls.png) no-repeat -36px 0}#cboxBottomLeft{width:14px;height:43px;background:url(colorbox/controls.png) no-repeat 0 -32px}#cboxBottomCenter{height:43px;background:url(colorbox/border.png) repeat-x bottom left}#cboxBottomRight{width:14px;height:43px;background:url(colorbox/controls.png) no-repeat -36px -32px}#cboxMiddleLeft{width:14px;background:url(colorbox/controls.png) repeat-y -175px 0}#cboxMiddleRight{width:14px;background:url(colorbox/controls.png) repeat-y -211px 0}#cboxContent{background:#fff;overflow:visible}.cboxIframe{background:#fff}#cboxError{padding:50px;border:1px solid #ccc}#cboxLoadedContent{margin-bottom:5px}#cboxLoadingOverlay{background:url(colorbox/loading_background.png) no-repeat center center}#cboxLoadingGraphic{background:url(colorbox/loading.gif) no-repeat center center}#cboxTitle{position:absolute;bottom:-25px;left:0;text-align:center;width:100%;font-weight:bold;color:#7c7c7c}#cboxCurrent{position:absolute;bottom:-25px;left:58px;font-weight:bold;color:#7c7c7c}#cboxPrevious,#cboxNext,#cboxClose,#cboxSlideshow{position:absolute;bottom:-29px;background:url(colorbox/controls.png) no-repeat 0 0;width:23px;height:23px;text-indent:-9999px}#cboxPrevious{left:0;background-position:-51px -25px}#cboxPrevious:hover{background-position:-51px 0}#cboxNext{left:27px;background-position:-75px -25px}#cboxNext:hover{background-position:-75px 0}#cboxClose{right:0;background-position:-100px -25px}#cboxClose:hover{background-position:-100px 0}.cboxSlideshow_on #cboxSlideshow{background-position:-125px 0;right:27px}.cboxSlideshow_on #cboxSlideshow:hover{background-position:-150px 0}.cboxSlideshow_off #cboxSlideshow{background-position:-150px -25px;right:27px}.cboxSlideshow_off #cboxSlideshow:hover{background-position:-125px 0}#loading{position:fixed;left:40%;top:50%}a{color:#333;text-decoration:none}a:hover{color:#000;text-decoration:underline}body{font-family:"Lucida Grande",Helvetica,"Helvetica Neue",Arial,sans-serif;padding:12px;background-color:#333}h1,h2,h3,h4{color:#1c2324;margin:0;padding:0;margin-bottom:12px}table{width:100%}#content{clear:left;background-color:white;border:2px solid #ddd;border-top:8px solid #ddd;padding:18px;-webkit-border-bottom-left-radius:5px;-webkit-border-bottom-right-radius:5px;-webkit-border-top-right-radius:5px;-moz-border-radius-bottomleft:5px;-moz-border-radius-bottomright:5px;-moz-border-radius-topright:5px;border-bottom-left-radius:5px;border-bottom-right-radius:5px;border-top-right-radius:5px}.dataTables_filter,.dataTables_info{padding:2px 6px}abbr.timeago{text-decoration:none;border:0;font-weight:bold}.timestamp{float:right;color:#ddd}.group_tabs{list-style:none;float:left;margin:0;padding:0}.group_tabs li{display:inline;float:left}.group_tabs li a{font-family:Helvetica,Arial,sans-serif;display:block;float:left;text-decoration:none;padding:4px 8px;background-color:#aaa;background:-webkit-gradient(linear,0 0,0 bottom,from(#ddd),to(#aaa));background:-moz-linear-gradient(#ddd,#aaa);background:linear-gradient(#ddd,#aaa);text-shadow:#e5e5e5 1px 1px 0;border-bottom:0;color:#333;font-weight:bold;margin-right:8px;border-top:1px solid #efefef;-webkit-border-top-left-radius:2px;-webkit-border-top-right-radius:2px;-moz-border-radius-topleft:2px;-moz-border-radius-topright:2px;border-top-left-radius:2px;border-top-right-radius:2px}.group_tabs li a:hover{background-color:#ccc;background:-webkit-gradient(linear,0 0,0 bottom,from(#eee),to(#aaa));background:-moz-linear-gradient(#eee,#aaa);background:linear-gradient(#eee,#aaa)}.group_tabs li a:active{padding-top:5px;padding-bottom:3px}.group_tabs li.active a{color:black;text-shadow:#fff 1px 1px 0;background-color:#ddd;background:-webkit-gradient(linear,0 0,0 bottom,from(white),to(#ddd));background:-moz-linear-gradient(white,#ddd);background:linear-gradient(white,#ddd)}.file_list{margin-bottom:18px}.file_list--responsive{overflow-x:auto;overflow-y:hidden}a.src_link{background:url("./magnify.png") no-repeat left 50%;padding-left:18px}tr,td{margin:0;padding:0}th{white-space:nowrap}th.ui-state-default{cursor:pointer}th span.ui-icon{float:left}td{padding:4px 8px}td.strong{font-weight:bold}.cell--number{text-align:right}.source_table h3,.source_table h4{padding:0;margin:0;margin-bottom:4px}.source_table .header{padding:10px}.source_table pre{margin:0;padding:0;white-space:normal;color:#000;font-family:"Monaco","Inconsolata","Consolas",monospace}.source_table code{color:#000;font-family:"Monaco","Inconsolata","Consolas",monospace}.source_table pre{background-color:#333}.source_table pre ol{margin:0;padding:0;margin-left:45px;font-size:12px;color:white}.source_table pre li{margin:0;padding:2px 6px;border-left:5px solid white}.source_table pre li code{white-space:pre;white-space:pre-wrap}.source_table pre .hits{float:right;margin-left:10px;padding:2px 4px;background-color:#444;background:-webkit-gradient(linear,0 0,0 bottom,from(#222),to(#666));background:-moz-linear-gradient(#222,#666);background:linear-gradient(#222,#666);color:white;font-family:Helvetica,"Helvetica Neue",Arial,sans-serif;font-size:10px;font-weight:bold;text-align:center;border-radius:6px}#footer{color:#ddd;font-size:12px;font-weight:bold;margin-top:12px;text-align:right}#footer a{color:#eee;text-decoration:underline}#footer a:hover{color:#fff;text-decoration:none}.green{color:#090}.red{color:#900}.yellow{color:#da0}.blue{color:blue}thead th{background:white}.source_table .covered{border-color:#090}.source_table .missed{border-color:#900}.source_table .never{border-color:black}.source_table .skipped{border-color:#fc0}.source_table .missed-branch{border-color:#bf0000}.source_table .covered:nth-child(odd){background-color:#cdf2cd}.source_table .covered:nth-child(even){background-color:#dbf2db}.source_table .missed:nth-child(odd){background-color:#f7c0c0}.source_table .missed:nth-child(even){background-color:#f7cfcf}.source_table .never:nth-child(odd){background-color:#efefef}.source_table .never:nth-child(even){background-color:#f4f4f4}.source_table .skipped:nth-child(odd){background-color:#fbf0c0}.source_table .skipped:nth-child(even){background-color:#fbffcf}.source_table .missed-branch:nth-child(odd){background-color:#cc8e8e}.source_table .missed-branch:nth-child(even){background-color:#cc6e6e}