bolognese 1.6.8 → 1.6.9

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 8710f6c92ba59ae5b07818303066ace413d24752392383849eb9801748f23071
4
- data.tar.gz: a79c896b45decd397842209ec48ea83c7b7a334160642eb90dc94f6fc8e4da68
3
+ metadata.gz: 25ab3b7ce79c4ab19b986230a63bd1bb5e583f257fa2281432d10e08cdec529f
4
+ data.tar.gz: db1f7a4704f00cefe310edba0eca9dd69181f87861d8b9693b05056347cce759
5
5
  SHA512:
6
- metadata.gz: 4eccd37146b6b725885f5bd2496b70b842d38cb9b56dc9ccf032b4b77dc7fa462cf6937408096ba20c19639345aeebf404e23890588a7be6f6b163d4d0bf60d5
7
- data.tar.gz: 7ebce01c3c434f35cb0f478c32619fa52d8db27c18b32dbe28d6e41820c197d4ad5aaf37e2d3d4af40bb1a1c145bfcb731db6c257de10c22aaab58566affd396
6
+ metadata.gz: b795e4deddb046f5cd6acfdb1b75f8455428facc31aed10a2cb4215dbda6d7ad22344df8a470ebe18c7672f30a76476570aca151f2006dd2c3166f9984468bd5
7
+ data.tar.gz: a3b5aa9640cf3fdd4b3cd2c6d7eac32be36adf242acd585277a01ce2355a8c61243aae170622b113aeb0ca16c92da7cf7c80f38b2bc76acbf9bdf7e066525389
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- bolognese (1.6.8)
4
+ bolognese (1.6.9)
5
5
  activesupport (>= 4.2.5)
6
6
  benchmark_methods (~> 0.7)
7
7
  bibtex-ruby (>= 5.1.0)
@@ -1105,7 +1105,7 @@ module Bolognese
1105
1105
  {
1106
1106
  "rights" => license["name"],
1107
1107
  "rightsUri" => license["seeAlso"].first,
1108
- "rightsIdentifier" => license["licenseId"],
1108
+ "rightsIdentifier" => license["licenseId"].downcase,
1109
1109
  "rightsIdentifierScheme" => "SPDX",
1110
1110
  "schemeUri" => "https://spdx.org/licenses/" }.compact
1111
1111
  else
@@ -1115,13 +1115,13 @@ module Bolognese
1115
1115
 
1116
1116
  def hsh_to_spdx(hsh)
1117
1117
  spdx = JSON.load(File.read(File.expand_path('../../../resources/spdx/licenses.json', __FILE__))).fetch("licenses")
1118
- license = spdx.find { |l| l["licenseId"] == hsh["rightsIdentifier"] || l["seeAlso"].first == normalize_cc_url(hsh["rightsURI"]) || l["name"] == hsh["rights"] || l["seeAlso"].first == normalize_cc_url(hsh["rights"]) }
1118
+ license = spdx.find { |l| l["licenseId"].casecmp?(hsh["rightsIdentifier"]) || l["seeAlso"].first == normalize_cc_url(hsh["rightsURI"]) || l["name"] == hsh["rights"] || l["seeAlso"].first == normalize_cc_url(hsh["rights"]) }
1119
1119
 
1120
1120
  if license
1121
1121
  {
1122
1122
  "rights" => license["name"],
1123
1123
  "rightsUri" => license["seeAlso"].first,
1124
- "rightsIdentifier" => license["licenseId"],
1124
+ "rightsIdentifier" => license["licenseId"].downcase,
1125
1125
  "rightsIdentifierScheme" => "SPDX",
1126
1126
  "schemeUri" => "https://spdx.org/licenses/",
1127
1127
  "lang" => hsh["lang"] }.compact
@@ -1129,7 +1129,7 @@ module Bolognese
1129
1129
  {
1130
1130
  "rights" => hsh["__content__"] || hsh["rights"],
1131
1131
  "rightsUri" => hsh["rightsURI"] || hsh["rightsUri"],
1132
- "rightsIdentifier" => hsh["rightsIdentifier"],
1132
+ "rightsIdentifier" => hsh["rightsIdentifier"].present? ? hsh["rightsIdentifier"].downcase : nil,
1133
1133
  "rightsIdentifierScheme" => hsh["rightsIdentifierScheme"],
1134
1134
  "schemeUri" => hsh["schemeUri"],
1135
1135
  "lang" => hsh["lang"] }.compact
@@ -1,3 +1,3 @@
1
1
  module Bolognese
2
- VERSION = "1.6.8"
2
+ VERSION = "1.6.9"
3
3
  end
@@ -160,7 +160,7 @@ describe Bolognese::Metadata, vcr: true do
160
160
  xml = Nokogiri::XML::Builder.new(:encoding => 'UTF-8') { |xml| subject.insert_rights_list(xml) }.to_xml
161
161
  response = Maremma.from_xml(xml)
162
162
  expect(response.dig("rightsList", "rights")).to eq("__content__" => "Creative Commons Zero v1.0 Universal",
163
- "rightsIdentifier" => "CC0-1.0",
163
+ "rightsIdentifier" => "cc0-1.0",
164
164
  "rightsIdentifierScheme" => "SPDX",
165
165
  "rightsURI" => "https://creativecommons.org/publicdomain/zero/1.0/legalcode",
166
166
  "schemeURI" => "https://spdx.org/licenses/")
@@ -0,0 +1,44 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://api.crossref.org/works/10.1101/097196/transform/application/vnd.crossref.unixsd+xml
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ User-Agent:
11
+ - Mozilla/5.0 (compatible; Maremma/4.7; mailto:info@datacite.org)
12
+ Accept:
13
+ - text/xml
14
+ response:
15
+ status:
16
+ code: 200
17
+ message: OK
18
+ headers:
19
+ Link:
20
+ - !binary |-
21
+ PGh0dHA6Ly9keC5kb2kub3JnLzEwLjExMDEvMDk3MTk2PjsgcmVsPSJjYW5vbmljYWwiLCA8aHR0cHM6Ly9zeW5kaWNhdGlvbi5oaWdod2lyZS5vcmcvY29udGVudC9kb2kvMTAuMTEwMS8wOTcxOTY+OyB2ZXJzaW9uPSJ2b3IiOyByZWw9Iml0ZW0iLCA8aHR0cDovL29yY2lkLm9yZy8wMDAwLTAwMDMtMTQxOS0yNDA1PjsgdGl0bGU9Ik1hcnRpbiBGZW5uZXIiOyByZWw9ImF1dGhvciIsIDxodHRwOi8vb3JjaWQub3JnLzAwMDAtMDAwMy0xMzA0LTE5Mzk+OyB0aXRsZT0iTWVyY8OoIENyb3NhcyI7IHJlbD0iYXV0aG9yIiwgPGh0dHA6Ly9vcmNpZC5vcmcvMDAwMC0wMDAxLTUyMTItNzA1Mj47IHRpdGxlPSJKZWZmcmV5IEdyZXRoZSI7IHJlbD0iYXV0aG9yIiwgPGh0dHA6Ly9vcmNpZC5vcmcvMDAwMC0wMDAyLTkzNzctMDc5Nz47IHRpdGxlPSJEYXZpZCBLZW5uZWR5IjsgcmVsPSJhdXRob3IiLCA8aHR0cDovL29yY2lkLm9yZy8wMDAwLTAwMDEtODQ3OS0wMjYyPjsgdGl0bGU9Ikhlbm5pbmcgSGVybWpha29iIjsgcmVsPSJhdXRob3IiLCA8aHR0cDovL29yY2lkLm9yZy8wMDAwLTAwMDEtOTg1My01NjY4PjsgdGl0bGU9IlBoaWxpcHBlIFJvY2NhLVNlcnJhIjsgcmVsPSJhdXRob3IiLCA8aHR0cDovL29yY2lkLm9yZy8wMDAwLTAwMDItMjE4OC0yNTcwPjsgdGl0bGU9Ikd1c3Rhdm8gRHVyYW5kIjsgcmVsPSJhdXRob3IiLCA8aHR0cDovL29yY2lkLm9yZy8wMDAwLTAwMDItMTczMS01MzQ2PjsgdGl0bGU9IlJvYmluIEJlcmpvbiI7IHJlbD0iYXV0aG9yIiwgPGh0dHA6Ly9vcmNpZC5vcmcvMDAwMC0wMDAxLTgyNDktNzM4OD47IHRpdGxlPSJTZWJhc3RpYW4gS2FyY2hlciI7IHJlbD0iYXV0aG9yIiwgPGh0dHA6Ly9vcmNpZC5vcmcvMDAwMC0wMDAyLTg0MDYtMzg3MT47IHRpdGxlPSJNYXJ5YW5uIE1hcnRvbmUiOyByZWw9ImF1dGhvciIsIDxodHRwOi8vb3JjaWQub3JnLzAwMDAtMDAwMy00MDYwLTczNjA+OyB0aXRsZT0iVGltb3RoeSBDbGFyayI7IHJlbD0iYXV0aG9yIg==
22
+ Access-Control-Allow-Origin:
23
+ - "*"
24
+ Access-Control-Allow-Headers:
25
+ - X-Requested-With
26
+ Content-Length:
27
+ - '16202'
28
+ Server:
29
+ - http-kit
30
+ Date:
31
+ - Wed, 01 Jul 2020 02:59:51 GMT
32
+ X-Rate-Limit-Limit:
33
+ - '50'
34
+ X-Rate-Limit-Interval:
35
+ - 1s
36
+ Connection:
37
+ - close
38
+ body:
39
+ encoding: ASCII-8BIT
40
+ string: !binary |-
41
+ PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPGNyb3NzcmVmX3Jlc3VsdCB4bWxucz0iaHR0cDovL3d3dy5jcm9zc3JlZi5vcmcvcXJzY2hlbWEvMy4wIiB2ZXJzaW9uPSIzLjAiIHhtbG5zOnhzaT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiIHhzaTpzY2hlbWFMb2NhdGlvbj0iaHR0cDovL3d3dy5jcm9zc3JlZi5vcmcvcXJzY2hlbWEvMy4wIGh0dHA6Ly93d3cuY3Jvc3NyZWYub3JnL3NjaGVtYXMvY3Jvc3NyZWZfcXVlcnlfb3V0cHV0My4wLnhzZCI+DQogIDxxdWVyeV9yZXN1bHQ+DQogICAgPGhlYWQ+DQogICAgICA8ZG9pX2JhdGNoX2lkPm5vbmU8L2RvaV9iYXRjaF9pZD4NCiAgICA8L2hlYWQ+DQogICAgPGJvZHk+DQogICAgICA8cXVlcnkgc3RhdHVzPSJyZXNvbHZlZCI+DQogICAgICAgIDxkb2kgdHlwZT0icG9zdGVkX2NvbnRlbnQiPjEwLjExMDEvMDk3MTk2PC9kb2k+DQogICAgICAgIDxjcm0taXRlbSBuYW1lPSJwdWJsaXNoZXItbmFtZSIgdHlwZT0ic3RyaW5nIj5Db2xkIFNwcmluZyBIYXJib3IgTGFib3JhdG9yeTwvY3JtLWl0ZW0+DQogICAgICAgIDxjcm0taXRlbSBuYW1lPSJwcmVmaXgtbmFtZSIgdHlwZT0ic3RyaW5nIj5Db2xkIFNwcmluZyBIYXJib3IgTGFib3JhdG9yeTwvY3JtLWl0ZW0+DQogICAgICAgIDxjcm0taXRlbSBuYW1lPSJtZW1iZXItaWQiIHR5cGU9Im51bWJlciI+MjQ2PC9jcm0taXRlbT4NCiAgICAgICAgPGNybS1pdGVtIG5hbWU9ImNpdGF0aW9uLWlkIiB0eXBlPSJudW1iZXIiPjg3MTA4NDg0PC9jcm0taXRlbT4NCiAgICAgICAgPGNybS1pdGVtIG5hbWU9ImJvb2staWQiIHR5cGU9Im51bWJlciI+MjIyMTgxNDwvY3JtLWl0ZW0+DQogICAgICAgIDxjcm0taXRlbSBuYW1lPSJkZXBvc2l0LXRpbWVzdGFtcCIgdHlwZT0ibnVtYmVyIj4yMDE5MDcxNjEzMzgxMjg0MDAwPC9jcm0taXRlbT4NCiAgICAgICAgPGNybS1pdGVtIG5hbWU9Im93bmVyLXByZWZpeCIgdHlwZT0ic3RyaW5nIj4xMC4xMTAxPC9jcm0taXRlbT4NCiAgICAgICAgPGNybS1pdGVtIG5hbWU9Imxhc3QtdXBkYXRlIiB0eXBlPSJkYXRlIj4yMDIwLTAxLTE4VDAyOjUzOjU3WjwvY3JtLWl0ZW0+DQogICAgICAgIDxjcm0taXRlbSBuYW1lPSJjcmVhdGVkIiB0eXBlPSJkYXRlIj4yMDE2LTEyLTI5VDA2OjEwOjE1WjwvY3JtLWl0ZW0+DQogICAgICAgIDxjcm0taXRlbSBuYW1lPSJjaXRlZGJ5LWNvdW50IiB0eXBlPSJudW1iZXIiPjEyPC9jcm0taXRlbT4NCiAgICAgICAgPGRvaV9yZWNvcmQ+DQogICAgICAgICAgPGNyb3NzcmVmIHhtbG5zPSJodHRwOi8vd3d3LmNyb3NzcmVmLm9yZy94c2NoZW1hLzEuMSIgeHNpOnNjaGVtYUxvY2F0aW9uPSJodHRwOi8vd3d3LmNyb3NzcmVmLm9yZy94c2NoZW1hLzEuMSBodHRwOi8vZG9pLmNyb3NzcmVmLm9yZy9zY2hlbWFzL3VuaXhyZWYxLjEueHNkIj4NCiAgICAgICAgICAgIDxwb3N0ZWRfY29udGVudCB0eXBlPSJwcmVwcmludCIgbGFuZ3VhZ2U9ImVuIiBtZXRhZGF0YV9kaXN0cmlidXRpb25fb3B0cz0iYW55Ij4NCiAgICAgICAgICAgICAgPGdyb3VwX3RpdGxlPlNjaWVudGlmaWMgQ29tbXVuaWNhdGlvbiBhbmQgRWR1Y2F0aW9uPC9ncm91cF90aXRsZT4NCiAgICAgICAgICAgICAgPGNvbnRyaWJ1dG9ycz4NCiAgICAgICAgICAgICAgICA8cGVyc29uX25hbWUgY29udHJpYnV0b3Jfcm9sZT0iYXV0aG9yIiBzZXF1ZW5jZT0iZmlyc3QiPg0KICAgICAgICAgICAgICAgICAgPGdpdmVuX25hbWU+TWFydGluPC9naXZlbl9uYW1lPg0KICAgICAgICAgICAgICAgICAgPHN1cm5hbWU+RmVubmVyPC9zdXJuYW1lPg0KICAgICAgICAgICAgICAgICAgPE9SQ0lEPmh0dHA6Ly9vcmNpZC5vcmcvMDAwMC0wMDAzLTE0MTktMjQwNTwvT1JDSUQ+DQogICAgICAgICAgICAgICAgPC9wZXJzb25fbmFtZT4NCiAgICAgICAgICAgICAgICA8cGVyc29uX25hbWUgY29udHJpYnV0b3Jfcm9sZT0iYXV0aG9yIiBzZXF1ZW5jZT0iYWRkaXRpb25hbCI+DQogICAgICAgICAgICAgICAgICA8Z2l2ZW5fbmFtZT5NZXJjw6g8L2dpdmVuX25hbWU+DQogICAgICAgICAgICAgICAgICA8c3VybmFtZT5Dcm9zYXM8L3N1cm5hbWU+DQogICAgICAgICAgICAgICAgICA8T1JDSUQ+aHR0cDovL29yY2lkLm9yZy8wMDAwLTAwMDMtMTMwNC0xOTM5PC9PUkNJRD4NCiAgICAgICAgICAgICAgICA8L3BlcnNvbl9uYW1lPg0KICAgICAgICAgICAgICAgIDxwZXJzb25fbmFtZSBjb250cmlidXRvcl9yb2xlPSJhdXRob3IiIHNlcXVlbmNlPSJhZGRpdGlvbmFsIj4NCiAgICAgICAgICAgICAgICAgIDxnaXZlbl9uYW1lPkplZmZyZXk8L2dpdmVuX25hbWU+DQogICAgICAgICAgICAgICAgICA8c3VybmFtZT5HcmV0aGU8L3N1cm5hbWU+DQogICAgICAgICAgICAgICAgICA8T1JDSUQ+aHR0cDovL29yY2lkLm9yZy8wMDAwLTAwMDEtNTIxMi03MDUyPC9PUkNJRD4NCiAgICAgICAgICAgICAgICA8L3BlcnNvbl9uYW1lPg0KICAgICAgICAgICAgICAgIDxwZXJzb25fbmFtZSBjb250cmlidXRvcl9yb2xlPSJhdXRob3IiIHNlcXVlbmNlPSJhZGRpdGlvbmFsIj4NCiAgICAgICAgICAgICAgICAgIDxnaXZlbl9uYW1lPkRhdmlkPC9naXZlbl9uYW1lPg0KICAgICAgICAgICAgICAgICAgPHN1cm5hbWU+S2VubmVkeTwvc3VybmFtZT4NCiAgICAgICAgICAgICAgICAgIDxPUkNJRD5odHRwOi8vb3JjaWQub3JnLzAwMDAtMDAwMi05Mzc3LTA3OTc8L09SQ0lEPg0KICAgICAgICAgICAgICAgIDwvcGVyc29uX25hbWU+DQogICAgICAgICAgICAgICAgPHBlcnNvbl9uYW1lIGNvbnRyaWJ1dG9yX3JvbGU9ImF1dGhvciIgc2VxdWVuY2U9ImFkZGl0aW9uYWwiPg0KICAgICAgICAgICAgICAgICAgPGdpdmVuX25hbWU+SGVubmluZzwvZ2l2ZW5fbmFtZT4NCiAgICAgICAgICAgICAgICAgIDxzdXJuYW1lPkhlcm1qYWtvYjwvc3VybmFtZT4NCiAgICAgICAgICAgICAgICAgIDxPUkNJRD5odHRwOi8vb3JjaWQub3JnLzAwMDAtMDAwMS04NDc5LTAyNjI8L09SQ0lEPg0KICAgICAgICAgICAgICAgIDwvcGVyc29uX25hbWU+DQogICAgICAgICAgICAgICAgPHBlcnNvbl9uYW1lIGNvbnRyaWJ1dG9yX3JvbGU9ImF1dGhvciIgc2VxdWVuY2U9ImFkZGl0aW9uYWwiPg0KICAgICAgICAgICAgICAgICAgPGdpdmVuX25hbWU+UGhpbGlwcGU8L2dpdmVuX25hbWU+DQogICAgICAgICAgICAgICAgICA8c3VybmFtZT5Sb2NjYS1TZXJyYTwvc3VybmFtZT4NCiAgICAgICAgICAgICAgICAgIDxPUkNJRD5odHRwOi8vb3JjaWQub3JnLzAwMDAtMDAwMS05ODUzLTU2Njg8L09SQ0lEPg0KICAgICAgICAgICAgICAgIDwvcGVyc29uX25hbWU+DQogICAgICAgICAgICAgICAgPHBlcnNvbl9uYW1lIGNvbnRyaWJ1dG9yX3JvbGU9ImF1dGhvciIgc2VxdWVuY2U9ImFkZGl0aW9uYWwiPg0KICAgICAgICAgICAgICAgICAgPGdpdmVuX25hbWU+R3VzdGF2bzwvZ2l2ZW5fbmFtZT4NCiAgICAgICAgICAgICAgICAgIDxzdXJuYW1lPkR1cmFuZDwvc3VybmFtZT4NCiAgICAgICAgICAgICAgICAgIDxPUkNJRD5odHRwOi8vb3JjaWQub3JnLzAwMDAtMDAwMi0yMTg4LTI1NzA8L09SQ0lEPg0KICAgICAgICAgICAgICAgIDwvcGVyc29uX25hbWU+DQogICAgICAgICAgICAgICAgPHBlcnNvbl9uYW1lIGNvbnRyaWJ1dG9yX3JvbGU9ImF1dGhvciIgc2VxdWVuY2U9ImFkZGl0aW9uYWwiPg0KICAgICAgICAgICAgICAgICAgPGdpdmVuX25hbWU+Um9iaW48L2dpdmVuX25hbWU+DQogICAgICAgICAgICAgICAgICA8c3VybmFtZT5CZXJqb248L3N1cm5hbWU+DQogICAgICAgICAgICAgICAgICA8T1JDSUQ+aHR0cDovL29yY2lkLm9yZy8wMDAwLTAwMDItMTczMS01MzQ2PC9PUkNJRD4NCiAgICAgICAgICAgICAgICA8L3BlcnNvbl9uYW1lPg0KICAgICAgICAgICAgICAgIDxwZXJzb25fbmFtZSBjb250cmlidXRvcl9yb2xlPSJhdXRob3IiIHNlcXVlbmNlPSJhZGRpdGlvbmFsIj4NCiAgICAgICAgICAgICAgICAgIDxnaXZlbl9uYW1lPlNlYmFzdGlhbjwvZ2l2ZW5fbmFtZT4NCiAgICAgICAgICAgICAgICAgIDxzdXJuYW1lPkthcmNoZXI8L3N1cm5hbWU+DQogICAgICAgICAgICAgICAgICA8T1JDSUQ+aHR0cDovL29yY2lkLm9yZy8wMDAwLTAwMDEtODI0OS03Mzg4PC9PUkNJRD4NCiAgICAgICAgICAgICAgICA8L3BlcnNvbl9uYW1lPg0KICAgICAgICAgICAgICAgIDxwZXJzb25fbmFtZSBjb250cmlidXRvcl9yb2xlPSJhdXRob3IiIHNlcXVlbmNlPSJhZGRpdGlvbmFsIj4NCiAgICAgICAgICAgICAgICAgIDxnaXZlbl9uYW1lPk1hcnlhbm48L2dpdmVuX25hbWU+DQogICAgICAgICAgICAgICAgICA8c3VybmFtZT5NYXJ0b25lPC9zdXJuYW1lPg0KICAgICAgICAgICAgICAgICAgPE9SQ0lEPmh0dHA6Ly9vcmNpZC5vcmcvMDAwMC0wMDAyLTg0MDYtMzg3MTwvT1JDSUQ+DQogICAgICAgICAgICAgICAgPC9wZXJzb25fbmFtZT4NCiAgICAgICAgICAgICAgICA8cGVyc29uX25hbWUgY29udHJpYnV0b3Jfcm9sZT0iYXV0aG9yIiBzZXF1ZW5jZT0iYWRkaXRpb25hbCI+DQogICAgICAgICAgICAgICAgICA8Z2l2ZW5fbmFtZT5UaW1vdGh5PC9naXZlbl9uYW1lPg0KICAgICAgICAgICAgICAgICAgPHN1cm5hbWU+Q2xhcms8L3N1cm5hbWU+DQogICAgICAgICAgICAgICAgICA8T1JDSUQ+aHR0cDovL29yY2lkLm9yZy8wMDAwLTAwMDMtNDA2MC03MzYwPC9PUkNJRD4NCiAgICAgICAgICAgICAgICA8L3BlcnNvbl9uYW1lPg0KICAgICAgICAgICAgICA8L2NvbnRyaWJ1dG9ycz4NCiAgICAgICAgICAgICAgPHRpdGxlcz4NCiAgICAgICAgICAgICAgICA8dGl0bGU+QSBEYXRhIENpdGF0aW9uIFJvYWRtYXAgZm9yIFNjaG9sYXJseSBEYXRhIFJlcG9zaXRvcmllczwvdGl0bGU+DQogICAgICAgICAgICAgIDwvdGl0bGVzPg0KICAgICAgICAgICAgICA8cG9zdGVkX2RhdGU+DQogICAgICAgICAgICAgICAgPG1vbnRoPjEyPC9tb250aD4NCiAgICAgICAgICAgICAgICA8ZGF5PjI4PC9kYXk+DQogICAgICAgICAgICAgICAgPHllYXI+MjAxNjwveWVhcj4NCiAgICAgICAgICAgICAgPC9wb3N0ZWRfZGF0ZT4NCiAgICAgICAgICAgICAgPGFjY2VwdGFuY2VfZGF0ZT4NCiAgICAgICAgICAgICAgICA8bW9udGg+MTA8L21vbnRoPg0KICAgICAgICAgICAgICAgIDxkYXk+MDk8L2RheT4NCiAgICAgICAgICAgICAgICA8eWVhcj4yMDE3PC95ZWFyPg0KICAgICAgICAgICAgICA8L2FjY2VwdGFuY2VfZGF0ZT4NCiAgICAgICAgICAgICAgPGluc3RpdHV0aW9uPg0KICAgICAgICAgICAgICAgIDxpbnN0aXR1dGlvbl9uYW1lPmJpb1J4aXY8L2luc3RpdHV0aW9uX25hbWU+DQogICAgICAgICAgICAgIDwvaW5zdGl0dXRpb24+DQogICAgICAgICAgICAgIDxpdGVtX251bWJlciBpdGVtX251bWJlcl90eXBlPSJwaXNhIj5iaW9yeGl2OzA5NzE5NnYyPC9pdGVtX251bWJlcj4NCiAgICAgICAgICAgICAgPGphdHM6YWJzdHJhY3QgeG1sbnM6amF0cz0iaHR0cDovL3d3dy5uY2JpLm5sbS5uaWguZ292L0pBVFMxIj4NCiAgICAgICAgICAgICAgICA8amF0czp0aXRsZT5BYnN0cmFjdDwvamF0czp0aXRsZT4NCiAgICAgICAgICAgICAgICA8amF0czpwPg0KICAgICAgICAgICAgICAgICAgVGhpcyBhcnRpY2xlIHByZXNlbnRzIGEgcHJhY3RpY2FsIHJvYWRtYXAgZm9yIHNjaG9sYXJseSBkYXRhIHJlcG9zaXRvcmllcyB0byBpbXBsZW1lbnQgZGF0YSBjaXRhdGlvbiBpbiBhY2NvcmRhbmNlIHdpdGggdGhlIEpvaW50IERlY2xhcmF0aW9uIG9mIERhdGEgQ2l0YXRpb24gUHJpbmNpcGxlcywgYSBzeW5vcHNpcyBhbmQgaGFybW9uaXphdGlvbiBvZiB0aGUgcmVjb21tZW5kYXRpb25zIG9mIG1ham9yIHNjaWVuY2UgcG9saWN5IGJvZGllcy4gVGhlIHJvYWRtYXAgd2FzIGRldmVsb3BlZCBieSB0aGUgUmVwb3NpdG9yaWVzIEV4cGVydCBHcm91cCwgYXMgcGFydCBvZiB0aGUgRGF0YSBDaXRhdGlvbiBJbXBsZW1lbnRhdGlvbiBQaWxvdCAoRENJUCkgcHJvamVjdCwgYW4gaW5pdGlhdGl2ZSBvZiBGT1JDRTExLm9yZyBhbmQgdGhlIE5JSCBCaW9DQURESUUgKA0KICAgICAgICAgICAgICAgICAgPGphdHM6ZXh0LWxpbmsgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIGV4dC1saW5rLXR5cGU9InVyaSIgeGxpbms6aHJlZj0iaHR0cHM6Ly9iaW9jYWRkaWUub3JnIj5odHRwczovL2Jpb2NhZGRpZS5vcmc8L2phdHM6ZXh0LWxpbms+DQogICAgICAgICAgICAgICAgICApIHByb2dyYW0uIFRoZSByb2FkbWFwIG1ha2VzIDExIHNwZWNpZmljIHJlY29tbWVuZGF0aW9ucywgZ3JvdXBlZCBpbnRvIHRocmVlIHBoYXNlcyBvZiBpbXBsZW1lbnRhdGlvbjogYSkgcmVxdWlyZWQgc3RlcHMgbmVlZGVkIHRvIHN1cHBvcnQgdGhlIEpvaW50IERlY2xhcmF0aW9uIG9mIERhdGEgQ2l0YXRpb24gUHJpbmNpcGxlcywgYikgcmVjb21tZW5kZWQgc3RlcHMgdGhhdCBmYWNpbGl0YXRlIGFydGljbGUvZGF0YSBwdWJsaWNhdGlvbiB3b3JrZmxvd3MsIGFuZCBjKSBvcHRpb25hbCBzdGVwcyB0aGF0IGZ1cnRoZXIgaW1wcm92ZSBkYXRhIGNpdGF0aW9uIHN1cHBvcnQgcHJvdmlkZWQgYnkgZGF0YSByZXBvc2l0b3JpZXMuDQogICAgICAgICAgICAgICAgPC9qYXRzOnA+DQogICAgICAgICAgICAgIDwvamF0czphYnN0cmFjdD4NCiAgICAgICAgICAgICAgPHByb2dyYW0geG1sbnM9Imh0dHA6Ly93d3cuY3Jvc3NyZWYub3JnL3JlbGF0aW9ucy54c2QiPg0KICAgICAgICAgICAgICAgIDxyZWxhdGVkX2l0ZW0+DQogICAgICAgICAgICAgICAgICA8aW50cmFfd29ya19yZWxhdGlvbiByZWxhdGlvbnNoaXAtdHlwZT0iaXNQcmVwcmludE9mIiBpZGVudGlmaWVyLXR5cGU9ImRvaSI+MTAuMTAzOC9zNDE1OTctMDE5LTAwMzEtODwvaW50cmFfd29ya19yZWxhdGlvbj4NCiAgICAgICAgICAgICAgICA8L3JlbGF0ZWRfaXRlbT4NCiAgICAgICAgICAgICAgPC9wcm9ncmFtPg0KICAgICAgICAgICAgICA8ZG9pX2RhdGE+DQogICAgICAgICAgICAgICAgPGRvaT4xMC4xMTAxLzA5NzE5NjwvZG9pPg0KICAgICAgICAgICAgICAgIDx0aW1lc3RhbXA+MjAxOTA3MTYxMzM4MTI4NDAwMDwvdGltZXN0YW1wPg0KICAgICAgICAgICAgICAgIDxyZXNvdXJjZT5odHRwOi8vYmlvcnhpdi5vcmcvbG9va3VwL2RvaS8xMC4xMTAxLzA5NzE5NjwvcmVzb3VyY2U+DQogICAgICAgICAgICAgICAgPGNvbGxlY3Rpb24gcHJvcGVydHk9ImNyYXdsZXItYmFzZWQiPg0KICAgICAgICAgICAgICAgICAgPGl0ZW0gY3Jhd2xlcj0iaVBhcmFkaWdtcyI+DQogICAgICAgICAgICAgICAgICAgIDxyZXNvdXJjZT5odHRwczovL3N5bmRpY2F0aW9uLmhpZ2h3aXJlLm9yZy9jb250ZW50L2RvaS8xMC4xMTAxLzA5NzE5NjwvcmVzb3VyY2U+DQogICAgICAgICAgICAgICAgICA8L2l0ZW0+DQogICAgICAgICAgICAgICAgPC9jb2xsZWN0aW9uPg0KICAgICAgICAgICAgICA8L2RvaV9kYXRhPg0KICAgICAgICAgICAgICA8Y2l0YXRpb25fbGlzdD4NCiAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSIyMDE5MDcxNjEzMzgxMjg0MDAwXzA5NzE5NnYyLjEiPg0KICAgICAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+QnVsbGV0aW4gb2YgdGhlIEFtZXJpY2FuIFxsZG90czwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgICAgIDx2b2x1bWU+NDE8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgICAgIDxpc3N1ZT4zPC9pc3N1ZT4NCiAgICAgICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjQzPC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICAgICAgPGNZZWFyPjIwMTU8L2NZZWFyPg0KICAgICAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+QW4gaW50cm9kdWN0aW9uIHRvIHRoZSBqb2ludCBwcmluY2lwbGVzIGZvciBkYXRhIGNpdGF0aW9uPC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iMjAxOTA3MTYxMzM4MTI4NDAwMF8wOTcxOTZ2Mi4yIj4NCiAgICAgICAgICAgICAgICAgIDx1bnN0cnVjdHVyZWRfY2l0YXRpb24+QWx0bWFuLCBNLiAsICZhbXA7IENyb3NhcywgTS4gKDIwMTMpLiBUaGUgRXZvbHV0aW9uIG9mIERhdGEgQ2l0YXRpb246IEZyb20gUHJpbmNpcGxlcyB0byBJbXBsZW1lbnRhdGlvbi4gSUFTU0lTVCBRdWFydGVybHkuIFJldHJpZXZlZCBmcm9tIGh0dHA6Ly9zY2hvbGFyLmhhcnZhcmQuZWR1L21lcmNlY3Jvc2FzL3B1YmxpY2F0aW9ucy9ldm9sdXRpb24tZGF0YS1jaXRhdGlvbi1wcmluY2lwbGVzLWltcGxlbWVudGF0aW9uPC91bnN0cnVjdHVyZWRfY2l0YXRpb24+DQogICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSIyMDE5MDcxNjEzMzgxMjg0MDAwXzA5NzE5NnYyLjMiPg0KICAgICAgICAgICAgICAgICAgPHVuc3RydWN0dXJlZF9jaXRhdGlvbj5CaW9TY2hlbWFzLiAoMjAxNikuIFJldHJpZXZlZCBEZWNlbWJlciAyMiwgMjAxNiwgZnJvbSBodHRwOi8vYmlvc2NoZW1hcy5vcmcvPC91bnN0cnVjdHVyZWRfY2l0YXRpb24+DQogICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSIyMDE5MDcxNjEzMzgxMjg0MDAwXzA5NzE5NnYyLjQiPg0KICAgICAgICAgICAgICAgICAgPGRvaSBwcm92aWRlcj0iY3Jvc3NyZWYiPjEwLjI0ODEvZHNqLk9TT00xMy0wNDM8L2RvaT4NCiAgICAgICAgICAgICAgICAgIDx1bnN0cnVjdHVyZWRfY2l0YXRpb24+Q09EQVRBLUlDU1RJIFRhc2sgR3JvdXAgb24gRGF0YSBDaXRhdGlvbiBTdGFuZGFyZHMgYW5kIFByYWN0aWNlLiAoMjAxMykuIE91dCBvZiBDaXRlLCBPdXQgb2YgTWluZDogVGhlIEN1cnJlbnQgU3RhdGUgb2YgUHJhY3RpY2UsIFBvbGljeSwgYW5kIFRlY2hub2xvZ3kgZm9yIHRoZSBDaXRhdGlvbiBvZiBEYXRhLiBEYXRhIFNjaWVuY2UgSm91cm5hbCwgMTIoMCkuIGh0dHBzOi8vZG9pLm9yZy8xMC4yNDgxL2Rzai5PU09NMTMtMDQzPC91bnN0cnVjdHVyZWRfY2l0YXRpb24+DQogICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSIyMDE5MDcxNjEzMzgxMjg0MDAwXzA5NzE5NnYyLjUiPg0KICAgICAgICAgICAgICAgICAgPHVuc3RydWN0dXJlZF9jaXRhdGlvbj5EYXRhIENpdGF0aW9uIFN5bnRoZXNpcyBHcm91cC4gKDIwMTQpLiBEYXRhIENpdGF0aW9uIFN5bnRoZXNpcyBHcm91cC4gKDIwMTQpLiBKb2ludCBEZWNsYXJhdGlvbiBvZiBEYXRhIENpdGF0aW9uIFByaW5jaXBsZXMuIEZvcmNlMTEuIGh0dHBzOi8vZG9pLm9yZy8xMC4yNTQ5MC9hOTdmLWVneWs8L3Vuc3RydWN0dXJlZF9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9IjIwMTkwNzE2MTMzODEyODQwMDBfMDk3MTk2djIuNiI+DQogICAgICAgICAgICAgICAgICA8dW5zdHJ1Y3R1cmVkX2NpdGF0aW9uPkRhdGEgQ2l0YXRpb25zOiBBIFByaW1lci4gKDIwMTYpLiBSZXRyaWV2ZWQgRGVjZW1iZXIgMjIsIDIwMTYsIGZyb20gaHR0cDovL2ZvcmNlMTEuZ2l0aHViLmlvL2RhdGEtY2l0YXRpb24tcHJpbWVyLzwvdW5zdHJ1Y3R1cmVkX2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iMjAxOTA3MTYxMzM4MTI4NDAwMF8wOTcxOTZ2Mi43Ij4NCiAgICAgICAgICAgICAgICAgIDx1bnN0cnVjdHVyZWRfY2l0YXRpb24+RGF0YUNpdGUgTWV0YWRhdGEgV29ya2luZy4gKDIwMTYpLiBEYXRhQ2l0ZSBNZXRhZGF0YSBTY2hlbWEgZm9yIHRoZSBQdWJsaWNhdGlvbiBhbmQgQ2l0YXRpb24gb2YgUmVzZWFyY2ggRGF0YSB2NC4wLiBEYXRhQ2l0ZS4gUmV0cmlldmVkIGZyb20gaHR0cDovL3NlYXJjaC5kYXRhY2l0ZS5vcmcvd29ya3MvMTAuNTQzOC8wMDEzPC91bnN0cnVjdHVyZWRfY2l0YXRpb24+DQogICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSIyMDE5MDcxNjEzMzgxMjg0MDAwXzA5NzE5NnYyLjgiPg0KICAgICAgICAgICAgICAgICAgPHVuc3RydWN0dXJlZF9jaXRhdGlvbj5EYXRhQ2l0ZSBTZWFyY2guICgyMDE2KS4gUmV0cmlldmVkIERlY2VtYmVyIDIyLCAyMDE2LCBmcm9tIGh0dHBzOi8vc2VhcmNoLmRhdGFjaXRlLm9yZy88L3Vuc3RydWN0dXJlZF9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9IjIwMTkwNzE2MTMzODEyODQwMDBfMDk3MTk2djIuOSI+DQogICAgICAgICAgICAgICAgICA8dW5zdHJ1Y3R1cmVkX2NpdGF0aW9uPkRhdGFNZWQgfCBiaW9DQURESUUgRERJLiAoMjAxNikuIFJldHJpZXZlZCBEZWNlbWJlciAyMiwgMjAxNiwgZnJvbSBodHRwczovL2RhdGFtZWQub3JnLzwvdW5zdHJ1Y3R1cmVkX2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iMjAxOTA3MTYxMzM4MTI4NDAwMF8wOTcxOTZ2Mi4xMCI+DQogICAgICAgICAgICAgICAgICA8dW5zdHJ1Y3R1cmVkX2NpdGF0aW9uPkRhdGFzZXQgLSBzY2hlbWEub3JnLiAoMjAxNikuIFJldHJpZXZlZCBEZWNlbWJlciAxMiwgMjAxNiwgZnJvbSBodHRwczovL3NjaGVtYS5vcmcvRGF0YXNldDwvdW5zdHJ1Y3R1cmVkX2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iMjAxOTA3MTYxMzM4MTI4NDAwMF8wOTcxOTZ2Mi4xMSI+DQogICAgICAgICAgICAgICAgICA8dW5zdHJ1Y3R1cmVkX2NpdGF0aW9uPkR1YmxpbiBDb3JlIE1ldGFkYXRhIEVsZW1lbnQgU2V0LCBWZXJzaW9uIDEuMS4gKDIwMTIpLiBSZXRyaWV2ZWQgRGVjZW1iZXIgMjIsIDIwMTYsIGZyb20gaHR0cDovL2R1YmxpbmNvcmUub3JnL2RvY3VtZW50cy8yMDEyLzA2LzE0L2RjZXMvPC91bnN0cnVjdHVyZWRfY2l0YXRpb24+DQogICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSIyMDE5MDcxNjEzMzgxMjg0MDAwXzA5NzE5NnYyLjEyIj4NCiAgICAgICAgICAgICAgICAgIDx1bnN0cnVjdHVyZWRfY2l0YXRpb24+RUxJWElSIERhdGEgZm9yIGxpZmUuICgyMDE2KS4gUmV0cmlldmVkIERlY2VtYmVyIDIyLCAyMDE2LCBmcm9tIGh0dHBzOi8vd3d3LmVsaXhpci1ldXJvcGUub3JnLzwvdW5zdHJ1Y3R1cmVkX2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iMjAxOTA3MTYxMzM4MTI4NDAwMF8wOTcxOTZ2Mi4xMyI+DQogICAgICAgICAgICAgICAgICA8dW5zdHJ1Y3R1cmVkX2NpdGF0aW9uPkhhbW1vbmQsIFQuICwgSGFubmF5LCBULiAsICZhbXA7IEx1bmQsIEIuICgyMDA0KS4gUkRGIFNpdGUgU3VtbWFyeSAxLjAgTW9kdWxlczogUFJJU00uPC91bnN0cnVjdHVyZWRfY2l0YXRpb24+DQogICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSIyMDE5MDcxNjEzMzgxMjg0MDAwXzA5NzE5NnYyLjE0Ij4NCiAgICAgICAgICAgICAgICAgIDx1bnN0cnVjdHVyZWRfY2l0YXRpb24+UHVibGlzaGluZyBSZXF1aXJlbWVudHMgZm9yIEluZHVzdHJ5IFN0YW5kYXJkIE1ldGFkYXRhIChQUklTTSkuIFJldHJpZXZlZCBmcm9tIGh0dHA6Ly9wdXJsLm9yZy9yc3MvMS4wL21vZHVsZXMvcHJpc20vPC91bnN0cnVjdHVyZWRfY2l0YXRpb24+DQogICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSIyMDE5MDcxNjEzMzgxMjg0MDAwXzA5NzE5NnYyLjE1Ij4NCiAgICAgICAgICAgICAgICAgIDxkb2kgcHJvdmlkZXI9ImNyb3NzcmVmIj4xMC4zMzg5L2ZuaW5mLjIwMTYuMDAwMzQ8L2RvaT4NCiAgICAgICAgICAgICAgICAgIDx1bnN0cnVjdHVyZWRfY2l0YXRpb24+SG9ub3IsIEwuIEIuICwgSGFzZWxncm92ZSwgQy4gLCBGcmF6aWVyLCBKLiBBLiAsICZhbXA7IEtlbm5lZHksIEQuIE4uICgyMDE2KS4gRGF0YSBDaXRhdGlvbiBpbiBOZXVyb2ltYWdpbmc6IFByb3Bvc2VkIEJlc3QgUHJhY3RpY2VzIGZvciBEYXRhIElkZW50aWZpY2F0aW9uIGFuZCBBdHRyaWJ1dGlvbi4gRnJvbnRpZXJzIGluIE5ldXJvaW5mb3JtYXRpY3MsIDEwLiBodHRwczovL2RvaS5vcmcvMTAuMzM4OS9mbmluZi4yMDE2LjAwMDM0PC91bnN0cnVjdHVyZWRfY2l0YXRpb24+DQogICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSIyMDE5MDcxNjEzMzgxMjg0MDAwXzA5NzE5NnYyLjE2Ij4NCiAgICAgICAgICAgICAgICAgIDx1bnN0cnVjdHVyZWRfY2l0YXRpb24+S2luZywgR2FyeSAsICZhbXA7IEFsdG1hbiwgTWljYWggLiAoMjAwNykuIEEgUHJvcG9zZWQgU3RhbmRhcmQgZm9yIHRoZSBTY2hvbGFybHkgQ2l0YXRpb24gb2YgUXVhbnRpdGF0aXZlIERhdGEuIGh0dHBzOi8vZG9pLm9yZy8xMC4xMDQ1L21hcmNoMjAwNy1hbHRtYW48L3Vuc3RydWN0dXJlZF9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9IjIwMTkwNzE2MTMzODEyODQwMDBfMDk3MTk2djIuMTciPg0KICAgICAgICAgICAgICAgICAgPGRvaT4xMC4xNTI1Mi9tc2IuMjAxNTY2NTg8L2RvaT4NCiAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9IjIwMTkwNzE2MTMzODEyODQwMDBfMDk3MTk2djIuMTgiPg0KICAgICAgICAgICAgICAgICAgPHVuc3RydWN0dXJlZF9jaXRhdGlvbj5QcmVmaXggQ29tbW9ucy4gKDIwMTYpLiBSZXRyaWV2ZWQgRGVjZW1iZXIgMjIsIDIwMTYsIGZyb20gaHR0cHM6Ly9naXRodWIuY29tL3ByZWZpeGNvbW1vbnMvcHJlZml4ZXM8L3Vuc3RydWN0dXJlZF9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9IjIwMTkwNzE2MTMzODEyODQwMDBfMDk3MTk2djIuMTkiPg0KICAgICAgICAgICAgICAgICAgPHVuc3RydWN0dXJlZF9jaXRhdGlvbj5SRkMgMzk4NiAtIFVuaWZvcm0gUmVzb3VyY2UgSWRlbnRpZmllciAoVVJJKTogR2VuZXJpYyBTeW50YXguICgyMDA1KS4gUmV0cmlldmVkIERlY2VtYmVyIDIyLCAyMDE2LCBmcm9tIGh0dHA6Ly93d3cucmZjLWJhc2Uub3JnL3JmYy0zOTg2Lmh0bWw8L3Vuc3RydWN0dXJlZF9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9IjIwMTkwNzE2MTMzODEyODQwMDBfMDk3MTk2djIuMjAiPg0KICAgICAgICAgICAgICAgICAgPGRvaSBwcm92aWRlcj0iY3Jvc3NyZWYiPjEwLjEwMzgvc2RhdGEuMjAxNy41OTwvZG9pPg0KICAgICAgICAgICAgICAgICAgPHVuc3RydWN0dXJlZF9jaXRhdGlvbj5TYW5zb25lLCBBLiAsIEdvbnphbGV6LUJlbHRyYW4sIEEuICwgJmFtcDsgUm9jY2EtU2VycmEsIFAuICgyMDE2KS4gREFUUywgdGhlIGRhdGEgdGFnIHN1aXRlIHRvIGVuYWJsZSBkaXNjb3ZlcmFiaWxpdHkgb2YgZGF0YXNldHMuIFNjaWVudGlmaWMgRGF0YSA0LCBBcnRpY2xlIG51bWJlcjogMTcwMDU5ICgyMDE3KSBodHRwczovL2RvaS5vcmcvMTAuMTAzOC9zZGF0YS4yMDE3LjU5PC91bnN0cnVjdHVyZWRfY2l0YXRpb24+DQogICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSIyMDE5MDcxNjEzMzgxMjg0MDAwXzA5NzE5NnYyLjIxIj4NCiAgICAgICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPlBlZXJKIENvbXB1dGVyIFNjaWVuY2U8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgICAgICA8dm9sdW1lPjI8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgICAgIDxmaXJzdF9wYWdlPmU4NjwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgICAgIDxjWWVhcj4yMDE2PC9jWWVhcj4NCiAgICAgICAgICAgICAgICAgIDxkb2kgcHJvdmlkZXI9ImNyb3NzcmVmIj4xMC43NzE3L3BlZXJqLWNzLjg2PC9kb2k+DQogICAgICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5Tb2Z0d2FyZSBjaXRhdGlvbiBwcmluY2lwbGVzPC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iMjAxOTA3MTYxMzM4MTI4NDAwMF8wOTcxOTZ2Mi4yMiI+DQogICAgICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5QZWVySiBDb21wdXRlciBTY2llbmNlPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgPHZvbHVtZT4xPC92b2x1bWU+DQogICAgICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT5lMTwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgICAgIDxjWWVhcj4yMDE1PC9jWWVhcj4NCiAgICAgICAgICAgICAgICAgIDxkb2kgcHJvdmlkZXI9ImNyb3NzcmVmIj4xMC43NzE3L3BlZXJqLWNzLjE8L2RvaT4NCiAgICAgICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPkFjaGlldmluZyBodW1hbiBhbmQgbWFjaGluZSBhY2Nlc3NpYmlsaXR5IG9mIGNpdGVkIGRhdGEgaW4gc2Nob2xhcmx5IHB1YmxpY2F0aW9uczwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9IjIwMTkwNzE2MTMzODEyODQwMDBfMDk3MTk2djIuMjMiPg0KICAgICAgICAgICAgICAgICAgPGRvaT4xMC4xMTI2L3NjaWVuY2UuYWFoNjE2ODwvZG9pPg0KICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iMjAxOTA3MTYxMzM4MTI4NDAwMF8wOTcxOTZ2Mi4yNCI+DQogICAgICAgICAgICAgICAgICA8dW5zdHJ1Y3R1cmVkX2NpdGF0aW9uPlRyZWxvYXIsIEEuICgyMDExKS4gRGVuIEhhYWcgUGVyc2lzdGVudCBPYmplY3QgSWRlbnRpZmllciDigJMgTGlua2VkIE9wZW4gRGF0YSBNYW5pZmVzdG8uIFplbm9kby4gaHR0cHM6Ly9kb2kub3JnLzEwLjUyODEvemVub2RvLjU1NjY2PC91bnN0cnVjdHVyZWRfY2l0YXRpb24+DQogICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSIyMDE5MDcxNjEzMzgxMjg0MDAwXzA5NzE5NnYyLjI1Ij4NCiAgICAgICAgICAgICAgICAgIDx1bnN0cnVjdHVyZWRfY2l0YXRpb24+VWhsaXIsIFAuIEUuIChFZC4pLiAoMjAxMikuIEZvciBBdHRyaWJ1dGlvbjogRGV2ZWxvcGluZyBEYXRhIEF0dHJpYnV0aW9uIGFuZCBDaXRhdGlvbiBQcmFjdGljZXMgYW5kIFN0YW5kYXJkczogU3VtbWFyeSBvZiBhbiBJbnRlcm5hdGlvbmFsIFdvcmtzaG9wLiBSZXRyaWV2ZWQgZnJvbSBodHRwczovL3d3dy5uYXAuZWR1L2NhdGFsb2cvMTM1NjQvZm9yLWF0dHJpYnV0aW9uLWRldmVsb3BpbmctZGF0YS1hdHRyaWJ1dGlvbi1hbmQtY2l0YXRpb24tcHJhY3RpY2VzLWFuZC1zdGFuZGFyZHM8L3Vuc3RydWN0dXJlZF9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9IjIwMTkwNzE2MTMzODEyODQwMDBfMDk3MTk2djIuMjYiPg0KICAgICAgICAgICAgICAgICAgPGRvaSBwcm92aWRlcj0iY3Jvc3NyZWYiPjEwLjEwNDUvbm92ZW1iZXIyMDE1LXZhbmRlc29tcGVsPC9kb2k+DQogICAgICAgICAgICAgICAgICA8dW5zdHJ1Y3R1cmVkX2NpdGF0aW9uPlZhbiBkZSBTb21wZWwsIEguICwgJmFtcDsgTmVsc29uLCBNLiBMLiAoMjAxNSkuIFJlbWluaXNjaW5nIEFib3V0IDE1IFllYXJzIG9mIEludGVyb3BlcmFiaWxpdHkgRWZmb3J0cy4gRC1MaWIgTWFnYXppbmUsIDIxKDExLzEyKS4gaHR0cHM6Ly9kb2kub3JnLzEwLjEwNDUvbm92ZW1iZXIyMDE1LXZhbmRlc29tcGVsPC91bnN0cnVjdHVyZWRfY2l0YXRpb24+DQogICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgPC9jaXRhdGlvbl9saXN0Pg0KICAgICAgICAgICAgPC9wb3N0ZWRfY29udGVudD4NCiAgICAgICAgICA8L2Nyb3NzcmVmPg0KICAgICAgICA8L2RvaV9yZWNvcmQ+DQogICAgICA8L3F1ZXJ5Pg0KICAgIDwvYm9keT4NCiAgPC9xdWVyeV9yZXN1bHQ+DQo8L2Nyb3NzcmVmX3Jlc3VsdD4=
42
+ http_version:
43
+ recorded_at: Wed, 01 Jul 2020 02:59:51 GMT
44
+ recorded_with: VCR 3.0.3
@@ -36,7 +36,7 @@ describe Bolognese::Metadata, vcr: true do
36
36
  expect(subject.titles).to eq([{"title"=>"Automated quantitative histology reveals vascular morphodynamics during Arabidopsis hypocotyl secondary growth"}])
37
37
  expect(subject.descriptions.first["description"]).to start_with("Among various advantages, their small size makes model organisms preferred subjects of investigation.")
38
38
  expect(subject.rights_list).to eq([{"rights"=>"Creative Commons Attribution 3.0 Unported",
39
- "rightsIdentifier"=>"CC-BY-3.0",
39
+ "rightsIdentifier"=>"cc-by-3.0",
40
40
  "rightsIdentifierScheme"=>"SPDX",
41
41
  "rightsUri"=>"https://creativecommons.org/licenses/by/3.0/legalcode",
42
42
  "schemeUri"=>"https://spdx.org/licenses/"}])
@@ -37,7 +37,7 @@ describe Bolognese::Metadata, vcr: true do
37
37
  expect(subject.publication_year).to eq("2017")
38
38
  expect(subject.publisher).to eq("DataCite")
39
39
  expect(subject.rights_list).to eq([{"rights"=>"MIT License",
40
- "rightsIdentifier"=>"MIT",
40
+ "rightsIdentifier"=>"mit",
41
41
  "rightsIdentifierScheme"=>"SPDX",
42
42
  "rightsUri"=>"https://opensource.org/licenses/MIT",
43
43
  "schemeUri"=>"https://spdx.org/licenses/"}])
@@ -78,7 +78,7 @@ describe Bolognese::Metadata, vcr: true do
78
78
  expect(subject.publication_year).to eq("2016")
79
79
  expect(subject.publisher).to eq("https://cran.r-project.org")
80
80
  expect(subject.rights_list).to eq([{"rights"=>"Apache License 2.0",
81
- "rightsIdentifier"=>"Apache-2.0",
81
+ "rightsIdentifier"=>"apache-2.0",
82
82
  "rightsIdentifierScheme"=>"SPDX",
83
83
  "rightsUri"=>"http://www.apache.org/licenses/LICENSE-2.0",
84
84
  "schemeUri"=>"https://spdx.org/licenses/"}])
@@ -107,7 +107,7 @@ describe Bolognese::Metadata, vcr: true do
107
107
  expect(subject.publication_year).to eq("2017")
108
108
  expect(subject.publisher).to eq("DataCite")
109
109
  expect(subject.rights_list).to eq([{"rights"=>"MIT License",
110
- "rightsIdentifier"=>"MIT",
110
+ "rightsIdentifier"=>"mit",
111
111
  "rightsIdentifierScheme"=>"SPDX",
112
112
  "rightsUri"=>"https://opensource.org/licenses/MIT",
113
113
  "schemeUri"=>"https://spdx.org/licenses/"}])
@@ -129,7 +129,7 @@ describe Bolognese::Metadata, vcr: true do
129
129
  expect(subject.publication_year).to eq("2018")
130
130
  expect(subject.publisher).to eq("DataCite")
131
131
  expect(subject.rights_list).to eq([{"rights"=>"MIT License",
132
- "rightsIdentifier"=>"MIT",
132
+ "rightsIdentifier"=>"mit",
133
133
  "rightsIdentifierScheme"=>"SPDX",
134
134
  "rightsUri"=>"https://opensource.org/licenses/MIT",
135
135
  "schemeUri"=>"https://spdx.org/licenses/"}])
@@ -24,7 +24,7 @@ describe Bolognese::Metadata, vcr: true do
24
24
  expect(subject.creators.length).to eq(5)
25
25
  expect(subject.creators.first).to eq("nameType"=>"Personal", "name"=>"Sankar, Martial", "givenName"=>"Martial", "familyName"=>"Sankar", "affiliation" => [{"name"=>"Department of Plant Molecular Biology, University of Lausanne, Lausanne, Switzerland"}])
26
26
  expect(subject.rights_list).to eq([{"rights"=>"Creative Commons Attribution 3.0 Unported",
27
- "rightsIdentifier"=>"CC-BY-3.0",
27
+ "rightsIdentifier"=>"cc-by-3.0",
28
28
  "rightsIdentifierScheme"=>"SPDX",
29
29
  "rightsUri"=>"https://creativecommons.org/licenses/by/3.0/legalcode",
30
30
  "schemeUri"=>"https://spdx.org/licenses/"}])
@@ -61,7 +61,7 @@ describe Bolognese::Metadata, vcr: true do
61
61
  expect(subject.contributors).to eq("contributorType"=>"Editor", "familyName"=>"Janbon", "givenName"=>"Guilhem", "name"=>"Janbon, Guilhem", "nameType"=>"Personal")
62
62
  expect(subject.titles).to eq([{"title"=>"Triose Phosphate Isomerase Deficiency Is Caused by Altered Dimerization–Not Catalytic Inactivity–of the Mutant Enzymes"}])
63
63
  expect(subject.rights_list).to eq([{"rights"=>"Creative Commons Attribution 4.0 International",
64
- "rightsIdentifier"=>"CC-BY-4.0",
64
+ "rightsIdentifier"=>"cc-by-4.0",
65
65
  "rightsIdentifierScheme"=>"SPDX",
66
66
  "rightsUri"=>"https://creativecommons.org/licenses/by/4.0/legalcode",
67
67
  "schemeUri"=>"https://spdx.org/licenses/"}])
@@ -86,7 +86,7 @@ describe Bolognese::Metadata, vcr: true do
86
86
  expect(subject.creators.first).to eq("familyName"=>"Fortes", "givenName"=>"Ana Margarida", "name"=>"Fortes, Ana Margarida", "nameType"=>"Personal")
87
87
  expect(subject.titles).to eq([{"title"=>"Transcriptional Modulation of Polyamine Metabolism in Fruit Species Under Abiotic and Biotic Stress"}])
88
88
  expect(subject.rights_list).to eq([{"rights"=>"Creative Commons Attribution 4.0 International",
89
- "rightsIdentifier"=>"CC-BY-4.0",
89
+ "rightsIdentifier"=>"cc-by-4.0",
90
90
  "rightsIdentifierScheme"=>"SPDX",
91
91
  "rightsUri"=>"https://creativecommons.org/licenses/by/4.0/legalcode",
92
92
  "schemeUri"=>"https://spdx.org/licenses/"}])
@@ -205,7 +205,7 @@ describe Bolognese::Metadata, vcr: true do
205
205
  expect(subject.creators.length).to eq(7)
206
206
  expect(subject.creators[2]).to eq("nameType"=>"Personal", "nameIdentifiers" => [{"nameIdentifier"=>"https://orcid.org/0000-0003-2043-4925", "nameIdentifierScheme"=>"ORCID", "schemeUri"=>"https://orcid.org"}], "name"=>"Hernandez, Beatriz", "givenName"=>"Beatriz", "familyName"=>"Hernandez", "affiliation" => [{"name"=>"War Related Illness and Injury Study Center (WRIISC) and Mental Illness Research Education and Clinical Center (MIRECC), Department of Veterans Affairs, Palo Alto, CA 94304, USA"}, {"name"=>"Department of Psychiatry and Behavioral Sciences, Stanford University School of Medicine, Stanford, CA 94304, USA"}])
207
207
  expect(subject.rights_list).to eq([{"rights"=>"Creative Commons Attribution 3.0 Unported",
208
- "rightsIdentifier"=>"CC-BY-3.0",
208
+ "rightsIdentifier"=>"cc-by-3.0",
209
209
  "rightsIdentifierScheme"=>"SPDX",
210
210
  "rightsUri"=>"https://creativecommons.org/licenses/by/3.0/legalcode",
211
211
  "schemeUri"=>"https://spdx.org/licenses/"}])
@@ -32,7 +32,7 @@ describe Bolognese::Metadata, vcr: true do
32
32
  "Ollomo B, Durand P, Prugnolle F, Douzery EJP, Arnathau C, Nkoghe D, Leroy E, Renaud F (2009) A new malaria agent in African hominids. PLoS Pathogens 5(5): e1000446.",
33
33
  "identifierType"=>"citation"}])
34
34
  expect(subject.rights_list).to eq([{"rights"=>"Creative Commons Zero v1.0 Universal",
35
- "rightsIdentifier"=>"CC0-1.0",
35
+ "rightsIdentifier"=>"cc0-1.0",
36
36
  "rightsIdentifierScheme"=>"SPDX",
37
37
  "rightsUri"=>"https://creativecommons.org/publicdomain/zero/1.0/legalcode",
38
38
  "schemeUri"=>"https://spdx.org/licenses/"}])
@@ -125,7 +125,7 @@ describe Bolognese::Metadata, vcr: true do
125
125
  {"identifier"=>
126
126
  "https://schema.datacite.org/meta/kernel-4.2/example/datacite-example-full-v4.2.xml",
127
127
  "identifierType"=>"URL"}])
128
- expect(subject.rights_list).to eq([{"lang"=>"en-US", "rights"=>"Creative Commons Zero v1.0 Universal", "rightsIdentifier"=>"CC0-1.0", "rightsIdentifierScheme"=>"SPDX", "rightsUri"=>"https://creativecommons.org/publicdomain/zero/1.0/legalcode", "schemeUri"=>"https://spdx.org/licenses/"}])
128
+ expect(subject.rights_list).to eq([{"lang"=>"en-US", "rights"=>"Creative Commons Zero v1.0 Universal", "rightsIdentifier"=>"cc0-1.0", "rightsIdentifierScheme"=>"SPDX", "rightsUri"=>"https://creativecommons.org/publicdomain/zero/1.0/legalcode", "schemeUri"=>"https://spdx.org/licenses/"}])
129
129
  expect(subject.publication_year).to eq("2014")
130
130
  expect(subject.contributors).to eq([{"name"=>"Starr, Joan", "givenName"=>"Joan", "familyName"=>"Starr", "nameIdentifiers"=>[{"nameIdentifier"=>"https://orcid.org/0000-0002-7285-027X", "schemeUri"=>"https://orcid.org", "nameIdentifierScheme"=>"ORCID"}], "affiliation"=>
131
131
  [{"affiliationIdentifier"=>"https://ror.org/03yrm5c26",
@@ -199,7 +199,7 @@ describe Bolognese::Metadata, vcr: true do
199
199
  expect(subject.descriptions.first["description"]).to start_with("This tools are used to analyse the data produced by the Crosssover Experiment")
200
200
  expect(subject.rights_list).to eq([{"rights"=>
201
201
  "Creative Commons Attribution Non Commercial Share Alike 4.0 International",
202
- "rightsIdentifier"=>"CC-BY-NC-SA-4.0",
202
+ "rightsIdentifier"=>"cc-by-nc-sa-4.0",
203
203
  "rightsIdentifierScheme"=>"SPDX",
204
204
  "rightsUri"=>"https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode",
205
205
  "schemeUri"=>"https://spdx.org/licenses/"},
@@ -229,7 +229,7 @@ describe Bolognese::Metadata, vcr: true do
229
229
  expect(subject.titles).to eq([{"title"=>"RAIN v1"}])
230
230
  expect(subject.descriptions.first["description"]).to start_with("<b>RAIN: RNA–protein Association and Interaction Networks")
231
231
  expect(subject.rights_list).to eq([{"rights"=>"Creative Commons Attribution 4.0 International",
232
- "rightsIdentifier"=>"CC-BY-4.0",
232
+ "rightsIdentifier"=>"cc-by-4.0",
233
233
  "rightsIdentifierScheme"=>"SPDX",
234
234
  "rightsUri"=>"https://creativecommons.org/licenses/by/4.0/legalcode",
235
235
  "schemeUri"=>"https://spdx.org/licenses/"}])
@@ -264,7 +264,7 @@ describe Bolognese::Metadata, vcr: true do
264
264
  expect(subject.titles).to eq([{"title"=>"Drosophila melanogaster African Wings"}])
265
265
  expect(subject.descriptions.first["description"]).to start_with("These are raw wing images from <i>Drosophila melanogaster</i>")
266
266
  expect(subject.rights_list).to eq([{"rights"=>"Creative Commons Attribution 4.0 International",
267
- "rightsIdentifier"=>"CC-BY-4.0",
267
+ "rightsIdentifier"=>"cc-by-4.0",
268
268
  "rightsIdentifierScheme"=>"SPDX",
269
269
  "rightsUri"=>"https://creativecommons.org/licenses/by/4.0/legalcode",
270
270
  "schemeUri"=>"https://spdx.org/licenses/"}])
@@ -704,7 +704,7 @@ describe Bolognese::Metadata, vcr: true do
704
704
  expect(subject.related_identifiers.last).to eq("relatedIdentifier"=>"10.5272/oldertestpub", "relatedIdentifierType"=>"DOI", "relationType"=>"IsPartOf", "resourceTypeGeneral"=>"Text")
705
705
  expect(subject.rights_list).to eq([{"lang"=>"eng",
706
706
  "rights"=>"Creative Commons Attribution No Derivatives 2.0 Generic",
707
- "rightsIdentifier"=>"CC-BY-ND-2.0",
707
+ "rightsIdentifier"=>"cc-by-nd-2.0",
708
708
  "rightsIdentifierScheme"=>"SPDX",
709
709
  "rightsUri"=>"https://creativecommons.org/licenses/by-nd/2.0/legalcode",
710
710
  "schemeUri"=>"https://spdx.org/licenses/"}])
@@ -733,7 +733,7 @@ describe Bolognese::Metadata, vcr: true do
733
733
  expect(subject.related_identifiers.length).to eq(1)
734
734
  expect(subject.related_identifiers.last).to eq("relatedIdentifier"=>"10.5272/oldertestpub", "relatedIdentifierType"=>"DOI", "relationType"=>"IsPartOf")
735
735
  expect(subject.rights_list).to eq([{"rights"=>"Creative Commons Attribution No Derivatives 2.0 Generic",
736
- "rightsIdentifier"=>"CC-BY-ND-2.0",
736
+ "rightsIdentifier"=>"cc-by-nd-2.0",
737
737
  "rightsIdentifierScheme"=>"SPDX",
738
738
  "rightsUri"=>"https://creativecommons.org/licenses/by-nd/2.0/legalcode",
739
739
  "schemeUri"=>"https://spdx.org/licenses/"}])
@@ -762,7 +762,7 @@ describe Bolognese::Metadata, vcr: true do
762
762
  expect(subject.related_identifiers.length).to eq(4)
763
763
  expect(subject.related_identifiers.last).to eq("relatedIdentifier"=>"19478877", "relatedIdentifierType"=>"PMID", "relationType"=>"IsReferencedBy")
764
764
  expect(subject.rights_list).to eq([{"rights"=>"Creative Commons Zero v1.0 Universal",
765
- "rightsIdentifier"=>"CC0-1.0",
765
+ "rightsIdentifier"=>"cc0-1.0",
766
766
  "rightsIdentifierScheme"=>"SPDX",
767
767
  "rightsUri"=>"https://creativecommons.org/publicdomain/zero/1.0/legalcode",
768
768
  "schemeUri"=>"https://spdx.org/licenses/"}])
@@ -791,7 +791,7 @@ describe Bolognese::Metadata, vcr: true do
791
791
  expect(subject.related_identifiers.length).to eq(1)
792
792
  expect(subject.related_identifiers.last).to eq("relatedIdentifier"=>"10.5272/oldertestpub", "relatedIdentifierType"=>"DOI", "relationType"=>"IsPartOf")
793
793
  expect(subject.rights_list).to eq([{"rights"=>"Creative Commons Attribution No Derivatives 2.0 Generic",
794
- "rightsIdentifier"=>"CC-BY-ND-2.0",
794
+ "rightsIdentifier"=>"cc-by-nd-2.0",
795
795
  "rightsIdentifierScheme"=>"SPDX",
796
796
  "rightsUri"=>"https://creativecommons.org/licenses/by-nd/2.0/legalcode",
797
797
  "schemeUri"=>"https://spdx.org/licenses/"}])
@@ -848,7 +848,7 @@ describe Bolognese::Metadata, vcr: true do
848
848
  expect(subject.related_identifiers.last).to eq("relatedIdentifier"=>"10.5272/oldertestpub", "relatedIdentifierType"=>"DOI", "relationType"=>"IsPartOf", "resourceTypeGeneral"=>"Text")
849
849
  expect(subject.rights_list).to eq([{"lang"=>"eng",
850
850
  "rights"=>"Creative Commons Attribution No Derivatives 2.0 Generic",
851
- "rightsIdentifier"=>"CC-BY-ND-2.0",
851
+ "rightsIdentifier"=>"cc-by-nd-2.0",
852
852
  "rightsIdentifierScheme"=>"SPDX",
853
853
  "rightsUri"=>"https://creativecommons.org/licenses/by-nd/2.0/legalcode",
854
854
  "schemeUri"=>"https://spdx.org/licenses/"}])
@@ -512,25 +512,25 @@ describe Bolognese::Metadata, vcr: true do
512
512
  it "name_to_spdx exists" do
513
513
  name = "Creative Commons Attribution 4.0 International"
514
514
  response = subject.name_to_spdx(name)
515
- expect(response).to eq({"rights"=>"Creative Commons Attribution 4.0 International", "rightsUri"=>"https://creativecommons.org/licenses/by/4.0/legalcode", "rightsIdentifier"=>"CC-BY-4.0", "rightsIdentifierScheme"=>"SPDX", "schemeUri"=>"https://spdx.org/licenses/"})
515
+ expect(response).to eq({"rights"=>"Creative Commons Attribution 4.0 International", "rightsUri"=>"https://creativecommons.org/licenses/by/4.0/legalcode", "rightsIdentifier"=>"cc-by-4.0", "rightsIdentifierScheme"=>"SPDX", "schemeUri"=>"https://spdx.org/licenses/"})
516
516
  end
517
517
 
518
518
  it "name_to_spdx id" do
519
519
  name = "CC-BY-4.0"
520
520
  response = subject.name_to_spdx(name)
521
- expect(response).to eq({"rights"=>"Creative Commons Attribution 4.0 International", "rightsUri"=>"https://creativecommons.org/licenses/by/4.0/legalcode", "rightsIdentifier"=>"CC-BY-4.0", "rightsIdentifierScheme"=>"SPDX", "schemeUri"=>"https://spdx.org/licenses/"})
521
+ expect(response).to eq({"rights"=>"Creative Commons Attribution 4.0 International", "rightsUri"=>"https://creativecommons.org/licenses/by/4.0/legalcode", "rightsIdentifier"=>"cc-by-4.0", "rightsIdentifierScheme"=>"SPDX", "schemeUri"=>"https://spdx.org/licenses/"})
522
522
  end
523
523
 
524
524
  it "hsh_to_spdx id" do
525
- hsh = { "rightsIdentifier" => "CC-BY-4.0" }
525
+ hsh = { "rightsIdentifier" => "cc-by-4.0" }
526
526
  response = subject.hsh_to_spdx(hsh)
527
- expect(response).to eq({"rights"=>"Creative Commons Attribution 4.0 International", "rightsUri"=>"https://creativecommons.org/licenses/by/4.0/legalcode", "rightsIdentifier"=>"CC-BY-4.0", "rightsIdentifierScheme"=>"SPDX", "schemeUri"=>"https://spdx.org/licenses/"})
527
+ expect(response).to eq({"rights"=>"Creative Commons Attribution 4.0 International", "rightsUri"=>"https://creativecommons.org/licenses/by/4.0/legalcode", "rightsIdentifier"=>"cc-by-4.0", "rightsIdentifierScheme"=>"SPDX", "schemeUri"=>"https://spdx.org/licenses/"})
528
528
  end
529
529
 
530
530
  it "hsh_to_spdx url" do
531
531
  hsh = { "rightsURI" => "http://creativecommons.org/licenses/by-nc/4.0/legalcode" }
532
532
  response = subject.hsh_to_spdx(hsh)
533
- expect(response).to eq("rights"=>"Creative Commons Attribution Non Commercial 4.0 International", "rightsUri"=>"https://creativecommons.org/licenses/by-nc/4.0/legalcode", "rightsIdentifier"=>"CC-BY-NC-4.0", "rightsIdentifierScheme"=>"SPDX", "schemeUri"=>"https://spdx.org/licenses/")
533
+ expect(response).to eq("rights"=>"Creative Commons Attribution Non Commercial 4.0 International", "rightsUri"=>"https://creativecommons.org/licenses/by-nc/4.0/legalcode", "rightsIdentifier"=>"cc-by-nc-4.0", "rightsIdentifierScheme"=>"SPDX", "schemeUri"=>"https://spdx.org/licenses/")
534
534
  end
535
535
 
536
536
  it "hsh_to_spdx not found" do
@@ -15,7 +15,7 @@ describe Bolognese::Metadata, vcr: true do
15
15
  expect(crosscite.fetch("related_identifiers").first).to eq("relatedIdentifier"=>"2050-084X", "relatedIdentifierType"=>"ISSN", "relationType"=>"IsPartOf", "resourceTypeGeneral"=>"Collection")
16
16
  expect(crosscite.fetch("related_identifiers").last).to eq("relatedIdentifier"=>"10.1038/ncb2764", "relatedIdentifierType"=>"DOI", "relationType"=>"References")
17
17
  expect(crosscite.fetch("rights_list")).to eq([{"rights"=>"Creative Commons Attribution 3.0 Unported",
18
- "rightsIdentifier"=>"CC-BY-3.0",
18
+ "rightsIdentifier"=>"cc-by-3.0",
19
19
  "rightsIdentifierScheme"=>"SPDX",
20
20
  "rightsUri"=>"https://creativecommons.org/licenses/by/3.0/legalcode",
21
21
  "schemeUri"=>"https://spdx.org/licenses/"}])
@@ -14,7 +14,7 @@ describe Bolognese::Metadata, vcr: true do
14
14
  expect(datacite.fetch("relatedIdentifiers").length).to eq(27)
15
15
  expect(datacite.fetch("relatedIdentifiers").first).to eq("relatedIdentifier"=>"2050-084X", "relatedIdentifierType"=>"ISSN", "relationType"=>"IsPartOf", "resourceTypeGeneral"=>"Collection")
16
16
  expect(datacite.fetch("rightsList")).to eq([{"rights"=>"Creative Commons Attribution 3.0 Unported",
17
- "rightsIdentifier"=>"CC-BY-3.0",
17
+ "rightsIdentifier"=>"cc-by-3.0",
18
18
  "rightsIdentifierScheme"=>"SPDX",
19
19
  "rightsUri"=>"https://creativecommons.org/licenses/by/3.0/legalcode",
20
20
  "schemeUri"=>"https://spdx.org/licenses/"}])
@@ -14,7 +14,7 @@ describe Bolognese::Metadata, vcr: true do
14
14
  expect(datacite.dig("relatedIdentifiers", "relatedIdentifier").length).to eq(27)
15
15
  expect(datacite.dig("relatedIdentifiers", "relatedIdentifier").first).to eq("relatedIdentifierType"=>"ISSN", "relationType"=>"IsPartOf", "__content__"=>"2050-084X", "resourceTypeGeneral"=>"Collection")
16
16
  expect(datacite.dig("relatedIdentifiers", "relatedIdentifier")[1]).to eq("relatedIdentifierType"=>"DOI", "relationType"=>"References", "__content__"=>"10.1038/nature02100")
17
- expect(datacite.dig("rightsList", "rights")).to eq("rightsURI"=>"https://creativecommons.org/licenses/by/3.0/legalcode", "rightsIdentifier"=>"CC-BY-3.0", "rightsIdentifierScheme"=>"SPDX", "schemeURI"=>"https://spdx.org/licenses/", "__content__"=>"Creative Commons Attribution 3.0 Unported")
17
+ expect(datacite.dig("rightsList", "rights")).to eq("rightsURI"=>"https://creativecommons.org/licenses/by/3.0/legalcode", "rightsIdentifier"=>"cc-by-3.0", "rightsIdentifierScheme"=>"SPDX", "schemeURI"=>"https://spdx.org/licenses/", "__content__"=>"Creative Commons Attribution 3.0 Unported")
18
18
  expect(datacite.dig("fundingReferences", "fundingReference").count).to eq(4)
19
19
  expect(datacite.dig("fundingReferences", "fundingReference").last).to eq("funderName"=>"University of Lausanne", "funderIdentifier" => {"funderIdentifierType"=>"Crossref Funder ID", "__content__"=>"https://doi.org/10.13039/501100006390"})
20
20
  end
@@ -161,7 +161,7 @@ describe Bolognese::Metadata, vcr: true do
161
161
  expect(subject.creators.first).to eq("nameType"=>"Personal", "familyName" => "Paglione", "givenName" => "Laura", "nameIdentifiers" => [{"nameIdentifier"=>"https://orcid.org/0000-0003-3188-6273", "nameIdentifierScheme"=>"ORCID", "schemeUri"=>"https://orcid.org"}], "name" => "Paglione, Laura", "affiliation" => [])
162
162
  expect(subject.titles).to eq([{"title"=>"Recommendation of: ORCID Works Metadata Working Group"}])
163
163
  expect(subject.rights_list).to eq([{"rights"=>"Creative Commons Zero v1.0 Universal",
164
- "rightsIdentifier"=>"CC0-1.0",
164
+ "rightsIdentifier"=>"cc0-1.0",
165
165
  "rightsIdentifierScheme"=>"SPDX",
166
166
  "rightsUri"=>"https://creativecommons.org/publicdomain/zero/1.0/legalcode",
167
167
  "schemeUri"=>"https://spdx.org/licenses/"}])
@@ -187,7 +187,7 @@ describe Bolognese::Metadata, vcr: true do
187
187
  expect(subject.creators.first).to eq("nameType" => "Personal", "familyName" => "Paglione", "givenName" => "Laura", "name" => "Paglione, Laura", "nameIdentifiers" => [{"nameIdentifier"=>"https://orcid.org/0000-0003-3188-6273", "nameIdentifierScheme"=>"ORCID", "schemeUri"=>"https://orcid.org"}],"affiliation" => [])
188
188
  expect(subject.titles).to eq([{"title"=>"Recommendation of: ORCID Works Metadata Working Group"}])
189
189
  expect(subject.rights_list).to eq([{"rights"=>"Creative Commons Zero v1.0 Universal",
190
- "rightsIdentifier"=>"CC0-1.0",
190
+ "rightsIdentifier"=>"cc0-1.0",
191
191
  "rightsIdentifierScheme"=>"SPDX",
192
192
  "rightsUri"=>"https://creativecommons.org/publicdomain/zero/1.0/legalcode",
193
193
  "schemeUri"=>"https://spdx.org/licenses/"}])
@@ -216,7 +216,7 @@ describe Bolognese::Metadata, vcr: true do
216
216
  "Ollomo B, Durand P, Prugnolle F, Douzery EJP, Arnathau C, Nkoghe D, Leroy E, Renaud F (2009) A new malaria agent in African hominids. PLoS Pathogens 5(5): e1000446.",
217
217
  "identifierType"=>"citation"}])
218
218
  expect(subject.rights_list).to eq([{"rights"=>"Creative Commons Zero v1.0 Universal",
219
- "rightsIdentifier"=>"CC0-1.0",
219
+ "rightsIdentifier"=>"cc0-1.0",
220
220
  "rightsIdentifierScheme"=>"SPDX",
221
221
  "rightsUri"=>"https://creativecommons.org/publicdomain/zero/1.0/legalcode",
222
222
  "schemeUri"=>"https://spdx.org/licenses/"}])
@@ -243,7 +243,7 @@ describe Bolognese::Metadata, vcr: true do
243
243
  expect(subject.titles).to eq([{"title"=>"Southern Sierra Critical Zone Observatory (SSCZO), Providence Creek meteorological data, soil moisture and temperature, snow depth and air temperature"}])
244
244
  expect(subject.identifiers).to eq([{"identifier"=>"https://doi.org/10.6071/z7wc73", "identifierType"=>"DOI"}])
245
245
  expect(subject.rights_list).to eq([{"rights"=>"Creative Commons Attribution 4.0 International",
246
- "rightsIdentifier"=>"CC-BY-4.0",
246
+ "rightsIdentifier"=>"cc-by-4.0",
247
247
  "rightsIdentifierScheme"=>"SPDX",
248
248
  "rightsUri"=>"https://creativecommons.org/licenses/by/4.0/legalcode",
249
249
  "schemeUri"=>"https://spdx.org/licenses/"}])
@@ -306,7 +306,7 @@ describe Bolognese::Metadata, vcr: true do
306
306
  expect(datacite.dig("relatedIdentifiers", "relatedIdentifier").length).to eq(27)
307
307
  expect(datacite.dig("relatedIdentifiers", "relatedIdentifier").first).to eq("__content__"=>"2050-084X", "relatedIdentifierType"=>"ISSN", "relationType"=>"IsPartOf", "resourceTypeGeneral"=>"Collection")
308
308
  expect(datacite.dig("relatedIdentifiers", "relatedIdentifier")[1]).to eq("relatedIdentifierType"=>"DOI", "relationType"=>"References", "__content__"=>"10.1038/nature02100")
309
- expect(datacite.dig("rightsList", "rights")).to eq("rightsURI"=>"https://creativecommons.org/licenses/by/3.0/legalcode", "rightsIdentifier"=>"CC-BY-3.0", "rightsIdentifierScheme"=>"SPDX", "schemeURI"=>"https://spdx.org/licenses/", "__content__"=>"Creative Commons Attribution 3.0 Unported")
309
+ expect(datacite.dig("rightsList", "rights")).to eq("rightsURI"=>"https://creativecommons.org/licenses/by/3.0/legalcode", "rightsIdentifier"=>"cc-by-3.0", "rightsIdentifierScheme"=>"SPDX", "schemeURI"=>"https://spdx.org/licenses/", "__content__"=>"Creative Commons Attribution 3.0 Unported")
310
310
  expect(datacite.dig("fundingReferences", "fundingReference").count).to eq(4)
311
311
  expect(datacite.dig("fundingReferences", "fundingReference").last).to eq("funderName"=>"University of Lausanne", "funderIdentifier" => {"funderIdentifierType"=>"Crossref Funder ID", "__content__"=>"https://doi.org/10.13039/501100006390"})
312
312
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bolognese
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.6.8
4
+ version: 1.6.9
5
5
  platform: ruby
6
6
  authors:
7
7
  - Martin Fenner
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-06-29 00:00:00.000000000 Z
11
+ date: 2020-07-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: maremma
@@ -1083,6 +1083,7 @@ files:
1083
1083
  - spec/fixtures/vcr_cassettes/Bolognese_Metadata/sanitize/should_only_keep_specific_tags.yml
1084
1084
  - spec/fixtures/vcr_cassettes/Bolognese_Metadata/sanitize/should_remove_a_tags.yml
1085
1085
  - spec/fixtures/vcr_cassettes/Bolognese_Metadata/spdx/hsh_to_spdx_id.yml
1086
+ - spec/fixtures/vcr_cassettes/Bolognese_Metadata/spdx/hsh_to_spdx_id_lowercase.yml
1086
1087
  - spec/fixtures/vcr_cassettes/Bolognese_Metadata/spdx/hsh_to_spdx_not_found.yml
1087
1088
  - spec/fixtures/vcr_cassettes/Bolognese_Metadata/spdx/hsh_to_spdx_url.yml
1088
1089
  - spec/fixtures/vcr_cassettes/Bolognese_Metadata/spdx/name_to_spdx_exists.yml