bolognese 1.6.10 → 1.7.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (462) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +20 -17
  3. data/bolognese.gemspec +5 -5
  4. data/lib/bolognese/doi_utils.rb +1 -1
  5. data/lib/bolognese/metadata_utils.rb +1 -1
  6. data/lib/bolognese/readers/bibtex_reader.rb +0 -1
  7. data/lib/bolognese/readers/citeproc_reader.rb +2 -14
  8. data/lib/bolognese/readers/codemeta_reader.rb +4 -7
  9. data/lib/bolognese/readers/crossref_reader.rb +3 -5
  10. data/lib/bolognese/readers/datacite_reader.rb +3 -5
  11. data/lib/bolognese/readers/ris_reader.rb +3 -9
  12. data/lib/bolognese/readers/schema_org_reader.rb +13 -6
  13. data/lib/bolognese/utils.rb +1 -1
  14. data/lib/bolognese/version.rb +1 -1
  15. data/lib/bolognese/writers/codemeta_writer.rb +1 -1
  16. data/lib/bolognese/writers/jats_writer.rb +1 -1
  17. data/lib/bolognese/writers/schema_org_writer.rb +1 -1
  18. data/spec/author_utils_spec.rb +1 -1
  19. data/spec/cli_spec.rb +2 -2
  20. data/spec/datacite_utils_spec.rb +14 -15
  21. data/spec/doi_utils_spec.rb +7 -7
  22. data/spec/fixtures/schema_org.json +5 -0
  23. data/spec/fixtures/schema_org_gtex.json +0 -1
  24. data/spec/fixtures/schema_org_list.json +0 -5
  25. data/spec/fixtures/schema_org_topmed.json +0 -1
  26. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/crossref/default.yml +19 -15
  27. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/crossref/to_bibtex.yml +19 -15
  28. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/crossref/to_citation.yml +19 -15
  29. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/crossref/to_crossref.yml +19 -15
  30. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/crossref/to_datacite.yml +19 -15
  31. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/crossref/to_jats.yml +19 -15
  32. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/crossref/to_schema_org.yml +19 -15
  33. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/datacite/default.yml +24 -20
  34. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/datacite/to_bibtex.yml +24 -20
  35. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/datacite/to_citation.yml +25 -21
  36. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/datacite/to_datacite.yml +25 -21
  37. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/datacite/to_datacite_json.yml +25 -21
  38. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/datacite/to_jats.yml +25 -21
  39. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/datacite/to_schema_org.yml +24 -20
  40. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/schema_org/default.yml +24 -24
  41. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/schema_org/to_bibtex.yml +24 -24
  42. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/schema_org/to_datacite.yml +24 -24
  43. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/schema_org/to_schema_org.yml +24 -24
  44. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/find_from_format_by_id/crossref.yml +13 -9
  45. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/find_from_format_by_id/datacite.yml +13 -9
  46. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/find_from_format_by_id/jalc.yml +13 -9
  47. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/find_from_format_by_id/kisti.yml +13 -9
  48. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/find_from_format_by_id/medra.yml +13 -9
  49. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/find_from_format_by_id/op.yml +13 -9
  50. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/authors_as_string/author.yml +6 -6
  51. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/authors_as_string/no_author.yml +6 -6
  52. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/authors_as_string/single_author.yml +6 -6
  53. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/authors_as_string/with_organization.yml +6 -6
  54. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/change_datacite_metadata/change_state.yml +25 -21
  55. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/change_datacite_metadata/change_title.yml +24 -20
  56. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/change_metadata_as_datacite_xml/change_alternate_identifiers.yml +51 -0
  57. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/change_metadata_as_datacite_xml/change_description.yml +6 -6
  58. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/change_metadata_as_datacite_xml/change_identifiers.yml +51 -0
  59. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/change_metadata_as_datacite_xml/change_license.yml +6 -6
  60. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/change_metadata_as_datacite_xml/change_license_name.yml +6 -6
  61. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/change_metadata_as_datacite_xml/change_license_url.yml +6 -6
  62. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/change_metadata_as_datacite_xml/change_state.yml +6 -6
  63. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/change_metadata_as_datacite_xml/validates_against_schema.yml +6 -6
  64. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/change_metadata_as_datacite_xml/with_data_citation.yml +6 -6
  65. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_api_url/doi.yml +6 -6
  66. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_api_url/doi_with_protocol.yml +6 -6
  67. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_api_url/dx_doi_org_url.yml +6 -6
  68. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_api_url/force_test_resolver.yml +6 -6
  69. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_api_url/https_url.yml +6 -6
  70. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_api_url/test_resolver.yml +6 -6
  71. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_api_url/test_resolver_http.yml +6 -6
  72. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_from_url/doi.yml +6 -6
  73. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_from_url/doi_with_special_characters.yml +6 -6
  74. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_from_url/not_a_doi.yml +6 -6
  75. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_from_url/sandbox_url.yml +6 -6
  76. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_from_url/url.yml +6 -6
  77. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_registration_agency/crossref.yml +19 -15
  78. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_registration_agency/datacite.yml +19 -15
  79. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_registration_agency/jalc.yml +19 -15
  80. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_registration_agency/kisti.yml +19 -15
  81. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_registration_agency/medra.yml +19 -15
  82. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_registration_agency/not_a_valid_prefix.yml +6 -6
  83. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_registration_agency/not_found.yml +19 -15
  84. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_registration_agency/op.yml +19 -15
  85. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_resolver/doi.yml +6 -6
  86. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_resolver/doi_with_protocol.yml +6 -6
  87. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_resolver/dx_doi_org_url.yml +6 -6
  88. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_resolver/force_test_resolver.yml +6 -6
  89. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_resolver/https_url.yml +6 -6
  90. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_resolver/test_resolver.yml +6 -6
  91. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_resolver/test_resolver_http.yml +6 -6
  92. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_by_ID/crossref.yml +41 -33
  93. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_by_ID/crossref_doi_not_url.yml +41 -33
  94. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_by_ID/datacite.yml +40 -32
  95. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_by_ID/datacite_doi_http.yml +40 -32
  96. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_by_ID/github.yml +28 -24
  97. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_by_ID/orcid.yml +28 -24
  98. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_by_ID/schema_org.yml +27 -23
  99. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_by_ID/unknown_DOI_registration_agency.yml +41 -33
  100. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_from_file/bibtex.yml +28 -24
  101. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_from_file/citeproc.yml +27 -23
  102. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_from_file/codemeta.yml +27 -23
  103. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_from_file/crosscite.yml +27 -23
  104. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_from_file/crossref.yml +28 -24
  105. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_from_file/datacite.yml +27 -23
  106. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_from_file/datacite_json.yml +28 -24
  107. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_from_file/ris.yml +28 -24
  108. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_from_file/schema_org.yml +27 -23
  109. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_from_string/crosscite.yml +28 -24
  110. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/fos/hsh_to_fos_for_match.yml +5 -5
  111. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/fos/hsh_to_fos_match.yml +5 -5
  112. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/fos/hsh_to_fos_no_match.yml +5 -5
  113. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/fos/name_to_fos_for_match.yml +4 -4
  114. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/fos/name_to_fos_match.yml +5 -5
  115. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/fos/name_to_fos_no_match.yml +5 -5
  116. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/from_schema_org/with_id.yml +6 -6
  117. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/from_schema_org_creators/with_affiliation.yml +6 -6
  118. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/from_schema_org_creators/without_affiliation.yml +6 -6
  119. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_codemeta_metadata/maremma.yml +25 -27
  120. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_codemeta_metadata/metadata_reports.yml +23 -25
  121. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/DOI_with_ORCID_ID.yml +18 -14
  122. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/DOI_with_SICI_DOI.yml +18 -14
  123. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/DOI_with_data_citation.yml +19 -15
  124. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/JaLC.yml +18 -14
  125. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/KISTI.yml +17 -13
  126. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/OP.yml +19 -15
  127. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/another_book.yml +18 -14
  128. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/another_book_chapter.yml +19 -15
  129. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/author_literal.yml +15 -13
  130. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/book.yml +19 -15
  131. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/book_chapter.yml +17 -13
  132. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/book_chapter_with_RDF_for_container.yml +17 -15
  133. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/component.yml +19 -15
  134. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/dataset.yml +35 -31
  135. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/dataset_usda.yml +29 -22
  136. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/date_in_future.yml +19 -15
  137. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/empty_given_name.yml +14 -12
  138. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/invalid_date.yml +15 -15
  139. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/journal_article.yml +19 -15
  140. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/journal_article_original_language_title.yml +17 -13
  141. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/journal_article_with.yml +18 -14
  142. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/journal_article_with_RDF_for_container.yml +18 -16
  143. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/journal_article_with_funding.yml +19 -15
  144. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/journal_issue.yml +17 -13
  145. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/mEDRA.yml +17 -13
  146. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/markup.yml +26 -21
  147. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/missing_creator.yml +19 -15
  148. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/multiple_titles.yml +18 -14
  149. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/not_found_error.yml +17 -13
  150. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/posted_content.yml +19 -15
  151. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/vor_with_url.yml +18 -14
  152. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/yet_another_book.yml +18 -14
  153. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/yet_another_book_chapter.yml +17 -13
  154. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_json_metadata/metadata_from_api.yml +22 -20
  155. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/BlogPosting.yml +28 -24
  156. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/DOI_in_test_system.yml +26 -22
  157. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/DOI_in_test_system_schema_3.yml +27 -23
  158. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/DOI_in_with_related_id_system.yml +31 -28
  159. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/DOI_not_found.yml +23 -19
  160. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/Dataset.yml +24 -20
  161. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/Funding.yml +25 -21
  162. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/Funding_empty_awardTitle.yml +24 -20
  163. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/Funding_schema_version_4.yml +25 -21
  164. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/Referee_report_in_test_system.yml +29 -24
  165. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/Schema_org_type.yml +24 -22
  166. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/author_only_full_name.yml +24 -20
  167. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/author_with_scheme.yml +25 -21
  168. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/author_with_wrong_orcid_scheme.yml +24 -20
  169. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/content_url.yml +29 -26
  170. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/date.yml +38 -24
  171. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/dissertation.yml +24 -20
  172. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/doi_with_sign.yml +27 -24
  173. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/empty_subject.yml +26 -22
  174. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/even_more_subject_scheme_FOR.yml +19 -19
  175. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/funding_references.yml +20 -18
  176. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/funding_schema_version_3.yml +42 -38
  177. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/is_identical_to.yml +25 -21
  178. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/keywords_with_attributes.yml +35 -32
  179. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/leading_and_trailing_whitespace.yml +33 -29
  180. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/more_subject_scheme_FOR.yml +20 -19
  181. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/multiple_author_names_in_one_creatorsName.yml +31 -28
  182. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/multiple_licenses.yml +37 -33
  183. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/series-information.yml +25 -21
  184. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/subject_scheme.yml +24 -20
  185. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/subject_scheme_FOR.yml +32 -25
  186. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_date/publication_date.yml +6 -6
  187. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_date_from_date_parts/date.yml +6 -6
  188. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_date_from_date_parts/year-month.yml +6 -6
  189. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_date_from_date_parts/year.yml +6 -6
  190. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_date_from_parts/date.yml +6 -6
  191. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_date_from_parts/year-month.yml +6 -6
  192. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_date_from_parts/year.yml +6 -6
  193. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_date_parts/date.yml +6 -6
  194. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_date_parts/year-month.yml +6 -6
  195. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_date_parts/year.yml +6 -6
  196. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datetime_from_time/future.yml +4 -4
  197. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datetime_from_time/invalid.yml +4 -4
  198. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datetime_from_time/nil.yml +4 -4
  199. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datetime_from_time/past.yml +4 -4
  200. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datetime_from_time/present.yml +4 -4
  201. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_one_author/has_familyName.yml +14 -14
  202. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_one_author/has_name_in_Thai.yml +12 -12
  203. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_one_author/has_name_in_display-order.yml +25 -25
  204. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_one_author/has_name_in_display-order_with_ORCID.yml +11 -11
  205. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_one_author/has_name_in_sort-order.yml +11 -11
  206. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_one_author/hyper-authorship.yml +1180 -1161
  207. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_one_author/is_organization.yml +6 -6
  208. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_one_author/multiple_author_names_in_one_field.yml +18 -19
  209. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_one_author/multiple_name_identifier.yml +11 -11
  210. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_one_author/name_with_affiliation.yml +11 -11
  211. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_one_author/name_with_affiliation_and_country.yml +19 -19
  212. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_one_author/name_with_role.yml +11 -11
  213. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_one_author/only_familyName_and_givenName.yml +13 -9
  214. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_schema_org_metadata/BlogPosting.yml +26 -22
  215. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_schema_org_metadata/BlogPosting_with_new_DOI.yml +24 -22
  216. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_schema_org_metadata/harvard_dataverse.yml +7 -8
  217. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_schema_org_metadata/pangaea.yml +11 -9
  218. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_schema_org_metadata/zenodo.yml +70 -62
  219. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_series_information/only_title.yml +6 -6
  220. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_series_information/title_and_pages.yml +6 -6
  221. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_series_information/title_volume_and_pages.yml +6 -6
  222. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_series_information/title_volume_issue_and_pages.yml +6 -6
  223. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/github/github_as_codemeta_url.yml +6 -6
  224. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/github/github_from_url.yml +6 -6
  225. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/github/github_from_url_file.yml +6 -6
  226. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/handle_input/DOI_RA_not_Crossref_or_DataCite.yml +13 -9
  227. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/handle_input/unknown_DOI_prefix.yml +13 -9
  228. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_contributors/none.yml +12 -12
  229. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_creators/insert.yml +11 -11
  230. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_dates/insert.yml +12 -12
  231. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_descriptions/insert.yml +15 -15
  232. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_identifier/doi.yml +11 -11
  233. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_language/insert.yml +11 -11
  234. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_person/creator_only_name.yml +11 -11
  235. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_publication_year/insert.yml +12 -12
  236. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_publisher/insert.yml +11 -11
  237. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_related_identifiers/insert.yml +11 -11
  238. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_related_identifiers/related_identifier.yml +12 -12
  239. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_resource_type/insert.yml +11 -11
  240. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_rights_list/insert.yml +11 -11
  241. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_sizes/insert.yml +12 -12
  242. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_subjects/insert.yml +11 -11
  243. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_titles/insert.yml +11 -11
  244. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_version/insert.yml +12 -12
  245. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/is_personal_name_/has_comma.yml +6 -6
  246. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/is_personal_name_/has_family_name.yml +6 -6
  247. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/is_personal_name_/has_id.yml +6 -6
  248. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/is_personal_name_/has_known_given_name.yml +6 -6
  249. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/is_personal_name_/has_no_info.yml +6 -6
  250. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/is_personal_name_/has_orcid_id.yml +6 -6
  251. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/is_personal_name_/has_type_organization.yml +6 -6
  252. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/jsonlint/missing_comma.yml +28 -24
  253. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/jsonlint/nil.yml +27 -23
  254. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/jsonlint/overlapping_keys.yml +28 -24
  255. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/jsonlint/valid.yml +28 -24
  256. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_cc_url/not_found.yml +5 -5
  257. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_cc_url/with_trailing_slash.yml +4 -4
  258. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_cc_url/with_trailing_slash_and_to_https.yml +5 -5
  259. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_doi/SICI_doi.yml +6 -6
  260. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_doi/doi.yml +6 -6
  261. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_doi/doi_force_datacite_sandbox.yml +6 -6
  262. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_doi/doi_from_datacite_sandbox.yml +6 -6
  263. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_doi/doi_from_url_without_doi_proxy.yml +6 -6
  264. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_doi/doi_prefix_too_long.yml +6 -6
  265. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_doi/doi_prefix_with_string.yml +6 -6
  266. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_doi/doi_with_protocol.yml +6 -6
  267. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_doi/dx_doi_org_url.yml +6 -6
  268. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_doi/https_url.yml +6 -6
  269. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_doi/not_valid_doi_prefix.yml +6 -6
  270. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_doi/url_with_one_slash.yml +6 -6
  271. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_id/doi.yml +6 -6
  272. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_id/doi_as_url.yml +6 -6
  273. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_id/ftp.yml +6 -6
  274. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_id/invalid_url.yml +6 -6
  275. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_id/sandbox_via_options.yml +6 -6
  276. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_id/sandbox_via_url.yml +6 -6
  277. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_id/string.yml +6 -6
  278. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_id/url.yml +6 -6
  279. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_id/url_with_utf-8.yml +6 -6
  280. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_ids/doi.yml +6 -6
  281. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_ids/url.yml +6 -6
  282. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_issn/from_array.yml +6 -6
  283. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_issn/from_empty_array.yml +6 -6
  284. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_issn/from_hash.yml +6 -6
  285. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_issn/from_string.yml +6 -6
  286. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_url/uri.yml +6 -6
  287. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_url/with_trailing_slash.yml +6 -6
  288. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_url/with_trailing_slash_and_to_https.yml +4 -4
  289. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/parse_attributes/array.yml +6 -6
  290. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/parse_attributes/array_of_strings.yml +6 -6
  291. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/parse_attributes/first.yml +6 -6
  292. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/parse_attributes/hash.yml +6 -6
  293. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/parse_attributes/nil.yml +6 -6
  294. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/parse_attributes/string.yml +6 -6
  295. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/sanitize/should_only_keep_specific_tags.yml +6 -6
  296. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/sanitize/should_remove_a_tags.yml +6 -6
  297. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/spdx/hsh_to_spdx_id.yml +4 -4
  298. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/spdx/hsh_to_spdx_not_found.yml +5 -5
  299. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/spdx/hsh_to_spdx_url.yml +4 -4
  300. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/spdx/name_to_spdx_exists.yml +5 -5
  301. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/spdx/name_to_spdx_id.yml +4 -4
  302. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/to_schema_org/with_id.yml +6 -6
  303. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/to_schema_org_identifiers/with_identifiers.yml +6 -6
  304. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_doi/doi.yml +6 -6
  305. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_funder_doi/funder_doi.yml +6 -6
  306. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_funder_doi/funder_doi_without_prefix.yml +6 -6
  307. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_funder_doi/non-funder_doi.yml +6 -6
  308. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_orcid/validate_orcid.yml +6 -6
  309. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_orcid/validate_orcid_https.yml +6 -6
  310. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_orcid/validate_orcid_id.yml +6 -6
  311. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_orcid/validate_orcid_with_spaces.yml +6 -6
  312. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_orcid/validate_orcid_wrong_id.yml +6 -6
  313. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_orcid/validate_orcid_www.yml +6 -6
  314. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_orcid_scheme/validate_orcid_scheme.yml +6 -6
  315. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_orcid_scheme/validate_orcid_scheme_https.yml +6 -6
  316. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_orcid_scheme/validate_orcid_scheme_trailing_slash.yml +6 -6
  317. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_orcid_scheme/validate_orcid_scheme_www.yml +6 -6
  318. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_prefix/doi.yml +6 -6
  319. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_prefix/doi_as_url.yml +6 -6
  320. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_prefix/doi_with_protocol.yml +6 -6
  321. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_prefix/only_prefix.yml +6 -6
  322. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_url/DOI.yml +6 -6
  323. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_url/ISSN.yml +6 -6
  324. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_url/URL.yml +6 -6
  325. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_url/string.yml +6 -6
  326. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_bibtex/BlogPosting.yml +15 -15
  327. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_bibtex/Dataset.yml +12 -12
  328. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_bibtex/authors_with_affiliations.yml +19 -19
  329. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_bibtex/climate_data.yml +14 -15
  330. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_bibtex/from_schema_org.yml +24 -24
  331. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_bibtex/keywords_subject_scheme.yml +32 -25
  332. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_bibtex/maremma.yml +25 -27
  333. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_bibtex/text.yml +12 -12
  334. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_bibtex/with_data_citation.yml +6 -6
  335. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_bibtex/with_pages.yml +5 -5
  336. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citation/Dataset.yml +12 -12
  337. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citation/Journal_article.yml +6 -6
  338. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citation/Journal_article_vancouver_style.yml +51 -0
  339. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citation/Missing_author.yml +6 -6
  340. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citation/interactive_resource_without_dates.yml +52 -0
  341. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citation/software_w/version.yml +19 -8
  342. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citeproc/BlogPosting.yml +15 -15
  343. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citeproc/BlogPosting_schema_org.yml +25 -23
  344. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citeproc/Dataset.yml +11 -11
  345. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citeproc/container_title.yml +12 -12
  346. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citeproc/interactive_resource_without_dates.yml +52 -0
  347. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citeproc/journal_article.yml +6 -6
  348. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citeproc/keywords_subject_scheme.yml +32 -25
  349. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citeproc/maremma.yml +25 -27
  350. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citeproc/missing_creator.yml +6 -6
  351. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citeproc/multiple_abstracts.yml +11 -11
  352. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citeproc/organization_author.yml +4 -4
  353. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citeproc/software.yml +11 -11
  354. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citeproc/software_w/version.yml +23 -12
  355. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citeproc/with_only_first_page.yml +6 -6
  356. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citeproc/with_pages.yml +5 -5
  357. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_codemeta/SoftwareSourceCode_DataCite.yml +14 -15
  358. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_codemeta/SoftwareSourceCode_DataCite_check_codemeta_v2.yml +14 -15
  359. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_crosscite/datacite_database_attributes.yml +12 -12
  360. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_crosscite/maremma.yml +25 -27
  361. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_crosscite/with_ORCID_ID.yml +5 -5
  362. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_crosscite/with_data_citation.yml +6 -6
  363. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_crosscite/with_data_citation_schema_org.yml +24 -24
  364. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_crossref/from_DataCite.yml +12 -12
  365. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_csv/climate_data.yml +13 -14
  366. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_csv/maremma.yml +25 -27
  367. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_csv/text.yml +11 -11
  368. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_csv/with_data_citation.yml +6 -6
  369. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_csv/with_pages.yml +5 -5
  370. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_datacite_json/maremma.yml +25 -27
  371. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_datacite_json/with_ORCID_ID.yml +5 -5
  372. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_datacite_json/with_data_citation.yml +6 -6
  373. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_datacite_json/with_data_citation_schema_org.yml +24 -24
  374. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_datacite_xml/DOI_not_found.yml +10 -10
  375. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_datacite_xml/Dataset_in_schema_4_0.yml +12 -12
  376. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_datacite_xml/Text_pass-thru.yml +33 -33
  377. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_datacite_xml/Text_pass-thru_with_doi_in_options.yml +34 -34
  378. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_datacite_xml/maremma.yml +25 -27
  379. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_datacite_xml/with_ORCID_ID.yml +5 -5
  380. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_datacite_xml/with_data_citation.yml +6 -6
  381. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_datacite_xml/with_data_citation_schema_org.yml +24 -24
  382. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_datacite_xml/with_editor.yml +6 -6
  383. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_datacite_xml/with_version.yml +16 -16
  384. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_jats_xml/Dataset_in_schema_4_0.yml +11 -11
  385. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_jats_xml/Text_pass-thru.yml +34 -34
  386. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_jats_xml/book_chapter.yml +21 -21
  387. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_jats_xml/interactive_resource_without_dates.yml +52 -0
  388. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_jats_xml/maremma.yml +25 -27
  389. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_jats_xml/with_ORCID_ID.yml +5 -5
  390. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_jats_xml/with_data_citation.yml +6 -6
  391. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_jats_xml/with_data_citation_schema_org.yml +23 -25
  392. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_jats_xml/with_editor.yml +6 -6
  393. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_rdf_xml/BlogPosting.yml +14 -14
  394. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_rdf_xml/BlogPosting_schema_org.yml +20 -20
  395. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_rdf_xml/journal_article.yml +5 -5
  396. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_rdf_xml/maremma.yml +22 -24
  397. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_rdf_xml/with_pages.yml +5 -5
  398. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_ris/BlogPosting.yml +14 -14
  399. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_ris/BlogPosting_schema_org.yml +24 -24
  400. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_ris/Dataset.yml +12 -12
  401. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_ris/alternate_name.yml +12 -12
  402. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_ris/journal_article.yml +6 -6
  403. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_ris/keywords_with_subject_scheme.yml +31 -24
  404. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_ris/maremma.yml +25 -27
  405. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_ris/with_pages.yml +5 -5
  406. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_schema_org/Funding.yml +18 -18
  407. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_schema_org/Funding_OpenAIRE.yml +28 -17
  408. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_schema_org/Schema_org_JSON.yml +24 -24
  409. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_schema_org/Schema_org_JSON_Cyark.yml +40 -18
  410. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_schema_org/Schema_org_JSON_IsSupplementTo.yml +18 -18
  411. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_schema_org/Schema_org_JSON_isReferencedBy.yml +12 -12
  412. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_schema_org/alternate_identifiers.yml +16 -17
  413. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_schema_org/data_catalog.yml +13 -14
  414. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_schema_org/geo_location_box.yml +36 -28
  415. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_schema_org/interactive_resource_without_dates.yml +52 -0
  416. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_schema_org/journal_article.yml +6 -6
  417. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_schema_org/maremma_schema_org_JSON.yml +25 -27
  418. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_schema_org/series_information.yml +11 -11
  419. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_schema_org/subject_scheme.yml +12 -12
  420. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_schema_org/subject_scheme_multiple_keywords.yml +31 -24
  421. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_turtle/BlogPosting.yml +14 -14
  422. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_turtle/BlogPosting_schema_org.yml +20 -20
  423. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_turtle/Dataset.yml +12 -12
  424. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_turtle/journal_article.yml +5 -5
  425. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_turtle/with_pages.yml +5 -5
  426. data/spec/readers/bibtex_reader_spec.rb +3 -3
  427. data/spec/readers/citeproc_reader_spec.rb +3 -3
  428. data/spec/readers/codemeta_reader_spec.rb +4 -4
  429. data/spec/readers/crossref_reader_spec.rb +73 -63
  430. data/spec/readers/datacite_json_reader_spec.rb +2 -1
  431. data/spec/readers/datacite_reader_spec.rb +94 -92
  432. data/spec/readers/ris_reader_spec.rb +4 -4
  433. data/spec/readers/schema_org_reader_spec.rb +44 -38
  434. data/spec/writers/bibtex_writer_spec.rb +2 -2
  435. data/spec/writers/citation_writer_spec.rb +16 -8
  436. data/spec/writers/citeproc_writer_spec.rb +11 -2
  437. data/spec/writers/codemeta_writer_spec.rb +0 -1
  438. data/spec/writers/crosscite_writer_spec.rb +3 -3
  439. data/spec/writers/datacite_writer_spec.rb +25 -15
  440. data/spec/writers/jats_writer_spec.rb +17 -3
  441. data/spec/writers/ris_writer_spec.rb +6 -5
  442. data/spec/writers/schema_org_writer_spec.rb +15 -18
  443. metadata +22 -34
  444. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/error_unknown.yml +0 -88
  445. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/jj.yml +0 -87
  446. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/multiple_t.yml +0 -47
  447. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/xs_string_attributes.yml +0 -93
  448. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datetime_from_timestamp/present.yml +0 -44
  449. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_one_author/is_crossrer_organization.yml +0 -44
  450. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_schema_org_metadata/harvard_dataverse_via_identifiers_org.yml +0 -158
  451. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_schema_org_metadata/ornl.yml +0 -706
  452. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_alternate_identifiers/insert.yml +0 -49
  453. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_formats/insert.yml +0 -49
  454. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_person/creator_given_and_family_name.yml +0 -49
  455. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_url/to_https.yml +0 -44
  456. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/spdx/hsh_to_spdx_id_lowercase.yml +0 -44
  457. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/spdx/name_to_spdx_not_found.yml +0 -44
  458. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/url_to_https/http.yml +0 -44
  459. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/url_to_https/uri.yml +0 -44
  460. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/url_to_https/with_trailing_slash.yml +0 -44
  461. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_bibtex/dataset_neurophysiology.yml +0 -116
  462. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citeproc/with_first_page.yml +0 -46
@@ -160,11 +160,12 @@ describe Bolognese::Metadata, vcr: true do
160
160
  expect(ris[1]).to eq("T1 - Data from: A new malaria agent in African hominids.")
161
161
  expect(ris[2]).to eq("AU - Ollomo, Benjamin")
162
162
  expect(ris[10]).to eq("DO - 10.5061/dryad.8515")
163
- expect(ris[11]).to eq("UR - https://datadryad.org/resource/doi:10.5061/dryad.8515")
164
- expect(ris[13]).to eq("KW - Malaria")
163
+ expect(ris[11]).to eq("UR - http://datadryad.org/stash/dataset/doi:10.5061/dryad.8515")
164
+ expect(ris[13]).to eq("KW - Plasmodium")
165
165
  expect(ris[19]).to eq("PY - 2011")
166
- expect(ris[20]).to eq("PB - Dryad Digital Repository")
167
- expect(ris[21]).to eq("ER - ")
166
+ expect(ris[20]).to eq("PB - Dryad")
167
+ expect(ris[21]).to eq("LA - en")
168
+ expect(ris[22]).to eq("ER - ")
168
169
  end
169
170
 
170
171
  it "maremma" do
@@ -193,7 +194,7 @@ describe Bolognese::Metadata, vcr: true do
193
194
  expect(ris).to include("DO - 10.1594/pangaea.721193")
194
195
  expect(ris).to include("UR - https://doi.pangaea.de/10.1594/PANGAEA.721193")
195
196
  expect(ris).to include("KW - Animalia")
196
- expect(ris).to include("KW - Bottles or small containers/Aquaria ( 20 L)")
197
+ expect(ris).to include("KW - Bottles or small containers/Aquaria (<20 L)")
197
198
  expect(ris).to include("PY - 2007")
198
199
  expect(ris).to include("PB - PANGAEA - Data Publisher for Earth & Environmental Science")
199
200
  expect(ris).to include("LA - en")
@@ -53,10 +53,9 @@ describe Bolognese::Metadata, vcr: true do
53
53
  json = JSON.parse(subject.schema_org)
54
54
  expect(json["@id"]).to eq("https://doi.org/10.5061/dryad.8515")
55
55
  expect(json["@type"]).to eq("Dataset")
56
- expect(json["@reverse"]).to eq("citation" => [{"@id"=>"https://doi.org/10.1371/journal.ppat.1000446", "@type"=>"ScholarlyArticle"}, {"@type"=>"ScholarlyArticle", "identifier"=>{"@type"=>"PropertyValue", "propertyID"=>"PMID", "value"=>"19478877"}}],
57
- "isBasedOn" => [{"@id"=>"https://doi.org/10.1371/journal.ppat.1000446", "@type"=>"ScholarlyArticle"}, {"@type"=>"ScholarlyArticle", "identifier"=>{"@type"=>"PropertyValue", "propertyID"=>"PMID", "value"=>"19478877"}}])
56
+ expect(json["@reverse"]).to eq("isBasedOn"=>{"@id"=>"https://doi.org/10.1371/journal.ppat.1000446", "@type"=>"ScholarlyArticle"})
58
57
  expect(json["license"]).to eq("https://creativecommons.org/publicdomain/zero/1.0/legalcode")
59
- expect(json["keywords"]).to eq("Phylogeny, Malaria, Parasites, Taxonomy, Mitochondrial genome, Africa, Plasmodium")
58
+ expect(json["keywords"]).to eq("Plasmodium, malaria, taxonomy, mitochondrial genome, phylogeny, Parasites")
60
59
  end
61
60
 
62
61
  it "Schema.org JSON IsSupplementTo" do
@@ -139,7 +138,7 @@ describe Bolognese::Metadata, vcr: true do
139
138
  expect(json["@id"]).to eq("https://doi.org/10.1594/pangaea.721193")
140
139
  expect(json["@type"]).to eq("Dataset")
141
140
  expect(json["name"]).to eq("Seawater carbonate chemistry and processes during experiments with Crassostrea gigas, 2007, supplement to: Kurihara, Haruko; Kato, Shoji; Ishimatsu, Atsushi (2007): Effects of increased seawater pCO2 on early development of the oyster Crassostrea gigas. Aquatic Biology, 1(1), 91-98")
142
- expect(json["keywords"]).to eq("Animalia, Bottles or small containers/Aquaria ( 20 L), Calcification/Dissolution, Coast and continental shelf, Crassostrea gigas, Development, Growth/Morphology, Laboratory experiment, Mollusca, North Pacific, Pelagos, Single species, Temperate, Zooplankton, Experimental treatment, Carbonate system computation flag, Temperature, water, Salinity, pH, Alkalinity, total, Carbon, inorganic, dissolved, Carbon dioxide, Bicarbonate ion, Carbonate ion, Partial pressure of carbon dioxide (water) at sea surface temperature (wet air), Fugacity of carbon dioxide (water) at sea surface temperature (wet air), Aragonite saturation state, Calcite saturation state, Proportion, Crassostrea gigas, larvae length, Crassostrea gigas, larvae height, Crassostrea gigas, non mineralized, Crassostrea gigas, partially mineralized, Crassostrea gigas, fully mineralized, Calculated using seacarb after Nisumaa et al. (2010), Refractometer (Atago 100-S), pH meter (Mettler Toledo), pH meter (PHM290, Radiometer), Measured, European Project on Ocean Acidification (EPOCA), European network of excellence for Ocean Ecosystems Analysis (EUR-OCEANS), Ocean Acidification International Coordination Centre (OA-ICC)")
141
+ expect(json["keywords"]).to eq("Animalia, Bottles or small containers/Aquaria (<20 L), Calcification/Dissolution, Coast and continental shelf, Crassostrea gigas, Development, Growth/Morphology, Laboratory experiment, Mollusca, North Pacific, Pelagos, Single species, Temperate, Zooplankton, Experimental treatment, Carbonate system computation flag, Temperature, water, Salinity, pH, Alkalinity, total, Carbon, inorganic, dissolved, Carbon dioxide, Bicarbonate ion, Carbonate ion, Partial pressure of carbon dioxide (water) at sea surface temperature (wet air), Fugacity of carbon dioxide (water) at sea surface temperature (wet air), Aragonite saturation state, Calcite saturation state, Proportion, Crassostrea gigas, larvae length, Crassostrea gigas, larvae height, Crassostrea gigas, non mineralized, Crassostrea gigas, partially mineralized, Crassostrea gigas, fully mineralized, Experiment, Calculated using seacarb after Nisumaa et al. (2010), Refractometer (Atago 100-S), pH meter (Mettler Toledo), pH meter (PHM290, Radiometer), Measured, European Project on Ocean Acidification (EPOCA), European network of excellence for Ocean Ecosystems Analysis (EUR-OCEANS), Ocean Acidification International Coordination Centre (OA-ICC)")
143
142
  expect(json["license"]).to eq("https://creativecommons.org/licenses/by/3.0/legalcode")
144
143
  end
145
144
 
@@ -181,7 +180,7 @@ describe Bolognese::Metadata, vcr: true do
181
180
  expect(json["name"]).to eq("Covariates used in eQTL analysis. Includes genotyping principal components and PEER factors")
182
181
  expect(json["author"]).to eq("@type"=>"Organization", "name"=>"The GTEx Consortium")
183
182
  expect(json["includedInDataCatalog"]).to eq("@type"=>"DataCatalog", "name"=>"GTEx")
184
- expect(json["identifier"]).to eq([{"@type"=>"PropertyValue", "propertyID"=>"DOI", "value"=>"https://doi.org/10.25491/8kmc-g314"},{"@type"=>"PropertyValue", "propertyID"=>"md5", "value"=>"c7c89fe7366d50cd75448aa603c9de58"}])
183
+ expect(json["identifier"]).to eq("@type"=>"PropertyValue", "propertyID"=>"md5", "value"=>"c7c89fe7366d50cd75448aa603c9de58")
185
184
  expect(json["contentUrl"]).to eq("https://storage.googleapis.com/gtex_analysis_v7/single_tissue_eqtl_data/GTEx_Analysis_v7_eQTL_covariates.tar.gz")
186
185
  end
187
186
 
@@ -196,9 +195,6 @@ describe Bolognese::Metadata, vcr: true do
196
195
  expect(json["includedInDataCatalog"]).to be_nil
197
196
  expect(json["identifier"]).to eq(
198
197
  [{"@type"=>"PropertyValue",
199
- "propertyID"=>"DOI",
200
- "value"=>"https://doi.org/10.23725/8na3-9s47"},
201
- {"@type"=>"PropertyValue",
202
198
  "propertyID"=>"minid",
203
199
  "value"=>"ark:/99999/fk41CrU4eszeLUDe"},
204
200
  {"@type"=>"PropertyValue",
@@ -226,12 +222,9 @@ describe Bolognese::Metadata, vcr: true do
226
222
  "givenName" => "Elizabeth",
227
223
  "name" => "Elizabeth Miller")
228
224
  expect(json["identifier"]).to eq(
229
- [{"@type"=>"PropertyValue",
230
- "propertyID"=>"DOI",
231
- "value"=>"https://doi.org/10.5072/example-full"},
232
225
  {"@type"=>"PropertyValue",
233
226
  "propertyID"=>"URL",
234
- "value"=>"https://schema.datacite.org/meta/kernel-4.2/example/datacite-example-full-v4.2.xml"}]
227
+ "value"=>"https://schema.datacite.org/meta/kernel-4.2/example/datacite-example-full-v4.2.xml"}
235
228
  )
236
229
  expect(json["license"]).to eq("https://creativecommons.org/publicdomain/zero/1.0/legalcode")
237
230
  end
@@ -275,7 +268,6 @@ describe Bolognese::Metadata, vcr: true do
275
268
  "givenName"=>"Participants",
276
269
  "name"=>"Participants Tara Oceans Expedition"}])
277
270
  expect(json["includedInDataCatalog"]).to be_nil
278
- expect(json["identifier"]).to eq("@type"=>"PropertyValue", "propertyID"=>"DOI", "value"=>"https://doi.org/10.1594/pangaea.842237")
279
271
  expect(json["spatialCoverage"]).to eq("@type"=>"Place", "geo"=>{"@type"=>"GeoShape", "box"=>"-64.3088 -168.5182 79.6753 174.9006"})
280
272
  expect(json["license"]).to eq("https://creativecommons.org/licenses/by/3.0/legalcode")
281
273
  end
@@ -289,7 +281,6 @@ describe Bolognese::Metadata, vcr: true do
289
281
  expect(json["name"]).to eq("Meteo measurements at the Sand Motor")
290
282
  expect(json["author"]).to eq("@type"=>"Person", "familyName"=>"Den Heijer", "givenName"=>"C", "name"=>"C Den Heijer")
291
283
  expect(json["includedInDataCatalog"]).to be_nil
292
- expect(json["identifier"]).to eq("@type"=>"PropertyValue", "propertyID"=>"DOI", "value"=>"https://doi.org/10.5072/example-polygon")
293
284
  expect(json["spatialCoverage"].dig("geo", "polygon").length).to eq(34)
294
285
  expect(json["spatialCoverage"].dig("geo", "polygon").first).to eq(["4.1738852605822", "52.03913926329928"])
295
286
  end
@@ -300,7 +291,7 @@ describe Bolognese::Metadata, vcr: true do
300
291
  json = JSON.parse(subject.schema_org)
301
292
  expect(json["@id"]).to eq("https://doi.org/10.25491/d50j-3083")
302
293
  expect(json["@type"]).to eq("Dataset")
303
- expect(json["identifier"]).to eq([{"@type"=>"PropertyValue", "propertyID"=>"DOI", "value"=>"https://doi.org/10.25491/d50j-3083"}, {"@type"=>"PropertyValue", "propertyID"=>"md5", "value"=>"687610993"}])
294
+ expect(json["identifier"]).to eq("@type"=>"PropertyValue", "propertyID"=>"md5", "value"=>"687610993")
304
295
  expect(json["url"]).to eq("https://ors.datacite.org/doi:/10.25491/d50j-3083")
305
296
  expect(json["additionalType"]).to eq("Gene expression matrices")
306
297
  expect(json["name"]).to eq("Fully processed, filtered and normalized gene expression matrices (in BED format) for each tissue, which were used as input into FastQTL for eQTL discovery")
@@ -344,9 +335,6 @@ describe Bolognese::Metadata, vcr: true do
344
335
  expect(json["@type"]).to eq("Dataset")
345
336
  expect(json["identifier"]).to eq(
346
337
  [{"@type"=>"PropertyValue",
347
- "propertyID"=>"DOI",
348
- "value"=>"https://doi.org/10.23725/8na3-9s47"},
349
- {"@type"=>"PropertyValue",
350
338
  "propertyID"=>"md5",
351
339
  "value"=>"3b33f6b9338fccab0901b7d317577ea3"},
352
340
  {"@type"=>"PropertyValue",
@@ -368,5 +356,14 @@ describe Bolognese::Metadata, vcr: true do
368
356
  expect(json["funder"]).to eq("@id"=>"https://doi.org/10.13039/100000050", "@type"=>"Organization", "name"=>"National Heart, Lung, and Blood Institute (NHLBI)")
369
357
  expect(json["provider"]).to eq("@type"=>"Organization", "name"=>"DataCite")
370
358
  end
359
+
360
+ it "interactive resource without dates" do
361
+ input = "https://doi.org/10.34747/g6yb-3412"
362
+ subject = Bolognese::Metadata.new(input: input, from: "datacite")
363
+ json = JSON.parse(subject.schema_org)
364
+ expect(json["@id"]).to eq("https://doi.org/10.34747/g6yb-3412")
365
+ expect(json["@type"]).to eq("CreativeWork")
366
+ expect(json["datePublished"]).to eq("2019")
367
+ end
371
368
  end
372
369
  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.10
4
+ version: 1.7.3
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-07-01 00:00:00.000000000 Z
11
+ date: 2020-07-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: maremma
@@ -16,7 +16,7 @@ dependencies:
16
16
  requirements:
17
17
  - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: '4.3'
19
+ version: '4.7'
20
20
  - - "<"
21
21
  - !ruby/object:Gem::Version
22
22
  version: '5'
@@ -26,7 +26,7 @@ dependencies:
26
26
  requirements:
27
27
  - - ">="
28
28
  - !ruby/object:Gem::Version
29
- version: '4.3'
29
+ version: '4.7'
30
30
  - - "<"
31
31
  - !ruby/object:Gem::Version
32
32
  version: '5'
@@ -34,16 +34,16 @@ dependencies:
34
34
  name: faraday
35
35
  requirement: !ruby/object:Gem::Requirement
36
36
  requirements:
37
- - - '='
37
+ - - "~>"
38
38
  - !ruby/object:Gem::Version
39
- version: 0.17.0
39
+ version: 0.17.3
40
40
  type: :runtime
41
41
  prerelease: false
42
42
  version_requirements: !ruby/object:Gem::Requirement
43
43
  requirements:
44
- - - '='
44
+ - - "~>"
45
45
  - !ruby/object:Gem::Version
46
- version: 0.17.0
46
+ version: 0.17.3
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: nokogiri
49
49
  requirement: !ruby/object:Gem::Requirement
@@ -203,7 +203,7 @@ dependencies:
203
203
  version: '1.1'
204
204
  - - ">="
205
205
  - !ruby/object:Gem::Version
206
- version: 1.1.10
206
+ version: 1.1.12
207
207
  type: :runtime
208
208
  prerelease: false
209
209
  version_requirements: !ruby/object:Gem::Requirement
@@ -213,7 +213,7 @@ dependencies:
213
213
  version: '1.1'
214
214
  - - ">="
215
215
  - !ruby/object:Gem::Version
216
- version: 1.1.10
216
+ version: 1.1.12
217
217
  - !ruby/object:Gem::Dependency
218
218
  name: csl-styles
219
219
  requirement: !ruby/object:Gem::Requirement
@@ -223,7 +223,7 @@ dependencies:
223
223
  version: '1.0'
224
224
  - - ">="
225
225
  - !ruby/object:Gem::Version
226
- version: 1.0.1.8
226
+ version: 1.0.1.10
227
227
  type: :runtime
228
228
  prerelease: false
229
229
  version_requirements: !ruby/object:Gem::Requirement
@@ -233,7 +233,7 @@ dependencies:
233
233
  version: '1.0'
234
234
  - - ">="
235
235
  - !ruby/object:Gem::Version
236
- version: 1.0.1.8
236
+ version: 1.0.1.10
237
237
  - !ruby/object:Gem::Dependency
238
238
  name: iso8601
239
239
  requirement: !ruby/object:Gem::Requirement
@@ -269,7 +269,7 @@ dependencies:
269
269
  - !ruby/object:Gem::Version
270
270
  version: 1.0.18
271
271
  - !ruby/object:Gem::Dependency
272
- name: json-ld
272
+ name: json-ld-preloaded
273
273
  requirement: !ruby/object:Gem::Requirement
274
274
  requirements:
275
275
  - - "~>"
@@ -277,7 +277,7 @@ dependencies:
277
277
  version: '3.1'
278
278
  - - ">="
279
279
  - !ruby/object:Gem::Version
280
- version: 3.1.4
280
+ version: 3.1.3
281
281
  type: :runtime
282
282
  prerelease: false
283
283
  version_requirements: !ruby/object:Gem::Requirement
@@ -287,7 +287,7 @@ dependencies:
287
287
  version: '3.1'
288
288
  - - ">="
289
289
  - !ruby/object:Gem::Version
290
- version: 3.1.4
290
+ version: 3.1.3
291
291
  - !ruby/object:Gem::Dependency
292
292
  name: jsonlint
293
293
  requirement: !ruby/object:Gem::Requirement
@@ -831,7 +831,9 @@ files:
831
831
  - spec/fixtures/vcr_cassettes/Bolognese_Metadata/authors_as_string/with_organization.yml
832
832
  - spec/fixtures/vcr_cassettes/Bolognese_Metadata/change_datacite_metadata/change_state.yml
833
833
  - spec/fixtures/vcr_cassettes/Bolognese_Metadata/change_datacite_metadata/change_title.yml
834
+ - spec/fixtures/vcr_cassettes/Bolognese_Metadata/change_metadata_as_datacite_xml/change_alternate_identifiers.yml
834
835
  - spec/fixtures/vcr_cassettes/Bolognese_Metadata/change_metadata_as_datacite_xml/change_description.yml
836
+ - spec/fixtures/vcr_cassettes/Bolognese_Metadata/change_metadata_as_datacite_xml/change_identifiers.yml
835
837
  - spec/fixtures/vcr_cassettes/Bolognese_Metadata/change_metadata_as_datacite_xml/change_license.yml
836
838
  - spec/fixtures/vcr_cassettes/Bolognese_Metadata/change_metadata_as_datacite_xml/change_license_name.yml
837
839
  - spec/fixtures/vcr_cassettes/Bolognese_Metadata/change_metadata_as_datacite_xml/change_license_url.yml
@@ -911,9 +913,7 @@ files:
911
913
  - spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/dataset_usda.yml
912
914
  - spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/date_in_future.yml
913
915
  - spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/empty_given_name.yml
914
- - spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/error_unknown.yml
915
916
  - spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/invalid_date.yml
916
- - spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/jj.yml
917
917
  - spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/journal_article.yml
918
918
  - spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/journal_article_original_language_title.yml
919
919
  - spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/journal_article_with.yml
@@ -923,7 +923,6 @@ files:
923
923
  - spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/mEDRA.yml
924
924
  - spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/markup.yml
925
925
  - spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/missing_creator.yml
926
- - spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/multiple_t.yml
927
926
  - spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/multiple_titles.yml
928
927
  - spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/not_found_error.yml
929
928
  - spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/posted_content.yml
@@ -962,7 +961,6 @@ files:
962
961
  - spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/series-information.yml
963
962
  - spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/subject_scheme.yml
964
963
  - spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/subject_scheme_FOR.yml
965
- - spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/xs_string_attributes.yml
966
964
  - spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_date/publication_date.yml
967
965
  - spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_date_from_date_parts/date.yml
968
966
  - spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_date_from_date_parts/year-month.yml
@@ -978,14 +976,12 @@ files:
978
976
  - spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datetime_from_time/nil.yml
979
977
  - spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datetime_from_time/past.yml
980
978
  - spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datetime_from_time/present.yml
981
- - spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datetime_from_timestamp/present.yml
982
979
  - spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_one_author/has_familyName.yml
983
980
  - spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_one_author/has_name_in_Thai.yml
984
981
  - spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_one_author/has_name_in_display-order.yml
985
982
  - spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_one_author/has_name_in_display-order_with_ORCID.yml
986
983
  - spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_one_author/has_name_in_sort-order.yml
987
984
  - spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_one_author/hyper-authorship.yml
988
- - spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_one_author/is_crossrer_organization.yml
989
985
  - spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_one_author/is_organization.yml
990
986
  - spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_one_author/multiple_author_names_in_one_field.yml
991
987
  - spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_one_author/multiple_name_identifier.yml
@@ -996,8 +992,6 @@ files:
996
992
  - spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_schema_org_metadata/BlogPosting.yml
997
993
  - spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_schema_org_metadata/BlogPosting_with_new_DOI.yml
998
994
  - spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_schema_org_metadata/harvard_dataverse.yml
999
- - spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_schema_org_metadata/harvard_dataverse_via_identifiers_org.yml
1000
- - spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_schema_org_metadata/ornl.yml
1001
995
  - spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_schema_org_metadata/pangaea.yml
1002
996
  - spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_schema_org_metadata/zenodo.yml
1003
997
  - spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_series_information/only_title.yml
@@ -1009,15 +1003,12 @@ files:
1009
1003
  - spec/fixtures/vcr_cassettes/Bolognese_Metadata/github/github_from_url_file.yml
1010
1004
  - spec/fixtures/vcr_cassettes/Bolognese_Metadata/handle_input/DOI_RA_not_Crossref_or_DataCite.yml
1011
1005
  - spec/fixtures/vcr_cassettes/Bolognese_Metadata/handle_input/unknown_DOI_prefix.yml
1012
- - spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_alternate_identifiers/insert.yml
1013
1006
  - spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_contributors/none.yml
1014
1007
  - spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_creators/insert.yml
1015
1008
  - spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_dates/insert.yml
1016
1009
  - spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_descriptions/insert.yml
1017
- - spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_formats/insert.yml
1018
1010
  - spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_identifier/doi.yml
1019
1011
  - spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_language/insert.yml
1020
- - spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_person/creator_given_and_family_name.yml
1021
1012
  - spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_person/creator_only_name.yml
1022
1013
  - spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_publication_year/insert.yml
1023
1014
  - spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_publisher/insert.yml
@@ -1070,7 +1061,6 @@ files:
1070
1061
  - spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_issn/from_empty_array.yml
1071
1062
  - spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_issn/from_hash.yml
1072
1063
  - spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_issn/from_string.yml
1073
- - spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_url/to_https.yml
1074
1064
  - spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_url/uri.yml
1075
1065
  - spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_url/with_trailing_slash.yml
1076
1066
  - spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_url/with_trailing_slash_and_to_https.yml
@@ -1083,17 +1073,12 @@ files:
1083
1073
  - spec/fixtures/vcr_cassettes/Bolognese_Metadata/sanitize/should_only_keep_specific_tags.yml
1084
1074
  - spec/fixtures/vcr_cassettes/Bolognese_Metadata/sanitize/should_remove_a_tags.yml
1085
1075
  - 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
1087
1076
  - spec/fixtures/vcr_cassettes/Bolognese_Metadata/spdx/hsh_to_spdx_not_found.yml
1088
1077
  - spec/fixtures/vcr_cassettes/Bolognese_Metadata/spdx/hsh_to_spdx_url.yml
1089
1078
  - spec/fixtures/vcr_cassettes/Bolognese_Metadata/spdx/name_to_spdx_exists.yml
1090
1079
  - spec/fixtures/vcr_cassettes/Bolognese_Metadata/spdx/name_to_spdx_id.yml
1091
- - spec/fixtures/vcr_cassettes/Bolognese_Metadata/spdx/name_to_spdx_not_found.yml
1092
1080
  - spec/fixtures/vcr_cassettes/Bolognese_Metadata/to_schema_org/with_id.yml
1093
1081
  - spec/fixtures/vcr_cassettes/Bolognese_Metadata/to_schema_org_identifiers/with_identifiers.yml
1094
- - spec/fixtures/vcr_cassettes/Bolognese_Metadata/url_to_https/http.yml
1095
- - spec/fixtures/vcr_cassettes/Bolognese_Metadata/url_to_https/uri.yml
1096
- - spec/fixtures/vcr_cassettes/Bolognese_Metadata/url_to_https/with_trailing_slash.yml
1097
1082
  - spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_doi/doi.yml
1098
1083
  - spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_funder_doi/funder_doi.yml
1099
1084
  - spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_funder_doi/funder_doi_without_prefix.yml
@@ -1120,7 +1105,6 @@ files:
1120
1105
  - spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_bibtex/Dataset.yml
1121
1106
  - spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_bibtex/authors_with_affiliations.yml
1122
1107
  - spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_bibtex/climate_data.yml
1123
- - spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_bibtex/dataset_neurophysiology.yml
1124
1108
  - spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_bibtex/from_schema_org.yml
1125
1109
  - spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_bibtex/keywords_subject_scheme.yml
1126
1110
  - spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_bibtex/maremma.yml
@@ -1129,12 +1113,15 @@ files:
1129
1113
  - spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_bibtex/with_pages.yml
1130
1114
  - spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citation/Dataset.yml
1131
1115
  - spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citation/Journal_article.yml
1116
+ - spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citation/Journal_article_vancouver_style.yml
1132
1117
  - spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citation/Missing_author.yml
1118
+ - spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citation/interactive_resource_without_dates.yml
1133
1119
  - spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citation/software_w/version.yml
1134
1120
  - spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citeproc/BlogPosting.yml
1135
1121
  - spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citeproc/BlogPosting_schema_org.yml
1136
1122
  - spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citeproc/Dataset.yml
1137
1123
  - spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citeproc/container_title.yml
1124
+ - spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citeproc/interactive_resource_without_dates.yml
1138
1125
  - spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citeproc/journal_article.yml
1139
1126
  - spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citeproc/keywords_subject_scheme.yml
1140
1127
  - spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citeproc/maremma.yml
@@ -1143,7 +1130,6 @@ files:
1143
1130
  - spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citeproc/organization_author.yml
1144
1131
  - spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citeproc/software.yml
1145
1132
  - spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citeproc/software_w/version.yml
1146
- - spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citeproc/with_first_page.yml
1147
1133
  - spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citeproc/with_only_first_page.yml
1148
1134
  - spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citeproc/with_pages.yml
1149
1135
  - spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_codemeta/SoftwareSourceCode_DataCite.yml
@@ -1176,6 +1162,7 @@ files:
1176
1162
  - spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_jats_xml/Dataset_in_schema_4_0.yml
1177
1163
  - spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_jats_xml/Text_pass-thru.yml
1178
1164
  - spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_jats_xml/book_chapter.yml
1165
+ - spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_jats_xml/interactive_resource_without_dates.yml
1179
1166
  - spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_jats_xml/maremma.yml
1180
1167
  - spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_jats_xml/with_ORCID_ID.yml
1181
1168
  - spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_jats_xml/with_data_citation.yml
@@ -1203,6 +1190,7 @@ files:
1203
1190
  - spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_schema_org/alternate_identifiers.yml
1204
1191
  - spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_schema_org/data_catalog.yml
1205
1192
  - spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_schema_org/geo_location_box.yml
1193
+ - spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_schema_org/interactive_resource_without_dates.yml
1206
1194
  - spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_schema_org/journal_article.yml
1207
1195
  - spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_schema_org/maremma_schema_org_JSON.yml
1208
1196
  - spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_schema_org/series_information.yml
@@ -1,88 +0,0 @@
1
- ---
2
- http_interactions:
3
- - request:
4
- method: get
5
- uri: https://doi.org/ra/10.1017
6
- body:
7
- encoding: US-ASCII
8
- string: ''
9
- headers:
10
- User-Agent:
11
- - Mozilla/5.0 (compatible; Maremma/4.2.6; mailto:info@datacite.org)
12
- Accept:
13
- - text/html,application/json,application/xml;q=0.9, text/plain;q=0.8,image/png,*/*;q=0.5
14
- response:
15
- status:
16
- code: 200
17
- message: ''
18
- headers:
19
- Date:
20
- - Sat, 06 Jul 2019 16:39:46 GMT
21
- Content-Type:
22
- - application/json;charset=UTF-8
23
- Content-Length:
24
- - '54'
25
- Connection:
26
- - keep-alive
27
- Set-Cookie:
28
- - __cfduid=d7ea2e4243c3b2147b4f6478f41412fd71562431186; expires=Sun, 05-Jul-20
29
- 16:39:46 GMT; path=/; domain=.doi.org; HttpOnly
30
- Expect-Ct:
31
- - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"
32
- Server:
33
- - cloudflare
34
- Cf-Ray:
35
- - 4f23044579ccbed3-FRA
36
- body:
37
- encoding: ASCII-8BIT
38
- string: |-
39
- [
40
- {
41
- "DOI": "10.1017",
42
- "RA": "Crossref"
43
- }
44
- ]
45
- http_version:
46
- recorded_at: Sat, 06 Jul 2019 16:39:46 GMT
47
- - request:
48
- method: get
49
- uri: https://api.crossref.org/works/10.1017/9781108348843/transform/application/vnd.crossref.unixsd+xml
50
- body:
51
- encoding: US-ASCII
52
- string: ''
53
- headers:
54
- User-Agent:
55
- - Mozilla/5.0 (compatible; Maremma/4.2.6; mailto:info@datacite.org)
56
- Accept:
57
- - text/xml
58
- response:
59
- status:
60
- code: 200
61
- message: OK
62
- headers:
63
- Link:
64
- - <http://dx.doi.org/10.1017/9781108348843>; rel="canonical", <https://www.cambridge.org/core/terms>;
65
- rel="license"
66
- Access-Control-Allow-Origin:
67
- - "*"
68
- Access-Control-Allow-Headers:
69
- - X-Requested-With
70
- Content-Length:
71
- - '77439'
72
- Server:
73
- - http-kit
74
- Date:
75
- - Sat, 06 Jul 2019 16:39:47 GMT
76
- X-Rate-Limit-Limit:
77
- - '50'
78
- X-Rate-Limit-Interval:
79
- - 1s
80
- Connection:
81
- - close
82
- body:
83
- encoding: ASCII-8BIT
84
- string: !binary |-
85
- PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPGNyb3NzcmVmX3Jlc3VsdCB4bWxucz0iaHR0cDovL3d3dy5jcm9zc3JlZi5vcmcvcXJzY2hlbWEvMy4wIiB2ZXJzaW9uPSIzLjAiIHhtbG5zOnhzaT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiIHhzaTpzY2hlbWFMb2NhdGlvbj0iaHR0cDovL3d3dy5jcm9zc3JlZi5vcmcvcXJzY2hlbWEvMy4wIGh0dHA6Ly93d3cuY3Jvc3NyZWYub3JnL3NjaGVtYXMvY3Jvc3NyZWZfcXVlcnlfb3V0cHV0My4wLnhzZCI+DQogIDxxdWVyeV9yZXN1bHQ+DQogICAgPGhlYWQ+DQogICAgICA8ZG9pX2JhdGNoX2lkPm5vbmU8L2RvaV9iYXRjaF9pZD4NCiAgICA8L2hlYWQ+DQogICAgPGJvZHk+DQogICAgICA8cXVlcnkgc3RhdHVzPSJyZXNvbHZlZCI+DQogICAgICAgIDxkb2kgdHlwZT0iYm9va190aXRsZSI+MTAuMTAxNy85NzgxMTA4MzQ4ODQzPC9kb2k+DQogICAgICAgIDxjcm0taXRlbSBuYW1lPSJwdWJsaXNoZXItbmFtZSIgdHlwZT0ic3RyaW5nIj5DYW1icmlkZ2UgVW5pdmVyc2l0eSBQcmVzcyAoQ1VQKTwvY3JtLWl0ZW0+DQogICAgICAgIDxjcm0taXRlbSBuYW1lPSJwcmVmaXgtbmFtZSIgdHlwZT0ic3RyaW5nIj5DYW1icmlkZ2UgVW5pdmVyc2l0eSBQcmVzczwvY3JtLWl0ZW0+DQogICAgICAgIDxjcm0taXRlbSBuYW1lPSJtZW1iZXItaWQiIHR5cGU9Im51bWJlciI+NTY8L2NybS1pdGVtPg0KICAgICAgICA8Y3JtLWl0ZW0gbmFtZT0iY2l0YXRpb24taWQiIHR5cGU9Im51bWJlciI+MTA4MDEzOTMwPC9jcm0taXRlbT4NCiAgICAgICAgPGNybS1pdGVtIG5hbWU9ImJvb2staWQiIHR5cGU9Im51bWJlciI+MzM2MDg2MTwvY3JtLWl0ZW0+DQogICAgICAgIDxjcm0taXRlbSBuYW1lPSJkZXBvc2l0LXRpbWVzdGFtcCIgdHlwZT0ibnVtYmVyIj4yMDE5MDcwNjEwMTkyMjM5ODkxPC9jcm0taXRlbT4NCiAgICAgICAgPGNybS1pdGVtIG5hbWU9Im93bmVyLXByZWZpeCIgdHlwZT0ic3RyaW5nIj4xMC4xMDE3PC9jcm0taXRlbT4NCiAgICAgICAgPGNybS1pdGVtIG5hbWU9Imxhc3QtdXBkYXRlIiB0eXBlPSJkYXRlIj4yMDE5LTA3LTA2VDEwOjIwOjAzWjwvY3JtLWl0ZW0+DQogICAgICAgIDxjcm0taXRlbSBuYW1lPSJjcmVhdGVkIiB0eXBlPSJkYXRlIj4yMDE5LTA3LTAxVDA0OjA4OjA3WjwvY3JtLWl0ZW0+DQogICAgICAgIDxjcm0taXRlbSBuYW1lPSJjaXRlZGJ5LWNvdW50IiB0eXBlPSJudW1iZXIiPjA8L2NybS1pdGVtPg0KICAgICAgICA8ZG9pX3JlY29yZD4NCiAgICAgICAgICA8Y3Jvc3NyZWYgeG1sbnM9Imh0dHA6Ly93d3cuY3Jvc3NyZWYub3JnL3hzY2hlbWEvMS4xIiB4c2k6c2NoZW1hTG9jYXRpb249Imh0dHA6Ly93d3cuY3Jvc3NyZWYub3JnL3hzY2hlbWEvMS4xIGh0dHA6Ly9kb2kuY3Jvc3NyZWYub3JnL3NjaGVtYXMvdW5peHJlZjEuMS54c2QiPg0KICAgICAgICAgICAgPGJvb2sgYm9va190eXBlPSJtb25vZ3JhcGgiPg0KICAgICAgICAgICAgICA8Ym9va19tZXRhZGF0YT4NCiAgICAgICAgICAgICAgICA8Y29udHJpYnV0b3JzPg0KICAgICAgICAgICAgICAgICAgPHBlcnNvbl9uYW1lIHNlcXVlbmNlPSJmaXJzdCIgY29udHJpYnV0b3Jfcm9sZT0iYXV0aG9yIj4NCiAgICAgICAgICAgICAgICAgICAgPGdpdmVuX25hbWU+VmluY2VudCBTLjwvZ2l2ZW5fbmFtZT4NCiAgICAgICAgICAgICAgICAgICAgPHN1cm5hbWU+TGV1bmc8L3N1cm5hbWU+DQogICAgICAgICAgICAgICAgICA8L3BlcnNvbl9uYW1lPg0KICAgICAgICAgICAgICAgIDwvY29udHJpYnV0b3JzPg0KICAgICAgICAgICAgICAgIDx0aXRsZXM+DQogICAgICAgICAgICAgICAgICA8dGl0bGU+VGhlIFBvbGl0aWNzIG9mIHRoZSBQYXN0IGluIEVhcmx5IENoaW5hPC90aXRsZT4NCiAgICAgICAgICAgICAgICA8L3RpdGxlcz4NCiAgICAgICAgICAgICAgICA8ZWRpdGlvbl9udW1iZXI+MTwvZWRpdGlvbl9udW1iZXI+DQogICAgICAgICAgICAgICAgPHB1YmxpY2F0aW9uX2RhdGUgbWVkaWFfdHlwZT0ib25saW5lIj4NCiAgICAgICAgICAgICAgICAgIDxtb250aD4wNzwvbW9udGg+DQogICAgICAgICAgICAgICAgICA8ZGF5PjAxPC9kYXk+DQogICAgICAgICAgICAgICAgICA8eWVhcj4yMDE5PC95ZWFyPg0KICAgICAgICAgICAgICAgIDwvcHVibGljYXRpb25fZGF0ZT4NCiAgICAgICAgICAgICAgICA8cHVibGljYXRpb25fZGF0ZSBtZWRpYV90eXBlPSJwcmludCI+DQogICAgICAgICAgICAgICAgICA8bW9udGg+MDc8L21vbnRoPg0KICAgICAgICAgICAgICAgICAgPGRheT4xODwvZGF5Pg0KICAgICAgICAgICAgICAgICAgPHllYXI+MjAxOTwveWVhcj4NCiAgICAgICAgICAgICAgICA8L3B1YmxpY2F0aW9uX2RhdGU+DQogICAgICAgICAgICAgICAgPGlzYm4gbWVkaWFfdHlwZT0iZWxlY3Ryb25pYyI+OTc4MTEwODM0ODg0MzwvaXNibj4NCiAgICAgICAgICAgICAgICA8aXNibiBtZWRpYV90eXBlPSJwcmludCI+OTc4MTEwODQyNTcyODwvaXNibj4NCiAgICAgICAgICAgICAgICA8aXNibiBtZWRpYV90eXBlPSJwcmludCI+OTc4MTEwODQ0MzI0MTwvaXNibj4NCiAgICAgICAgICAgICAgICA8cHVibGlzaGVyPg0KICAgICAgICAgICAgICAgICAgPHB1Ymxpc2hlcl9uYW1lPkNhbWJyaWRnZSBVbml2ZXJzaXR5IFByZXNzPC9wdWJsaXNoZXJfbmFtZT4NCiAgICAgICAgICAgICAgICA8L3B1Ymxpc2hlcj4NCiAgICAgICAgICAgICAgICA8YWk6cHJvZ3JhbSB4bWxuczphaT0iaHR0cDovL3d3dy5jcm9zc3JlZi5vcmcvQWNjZXNzSW5kaWNhdG9ycy54c2QiIG5hbWU9IkFjY2Vzc0luZGljYXRvcnMiPg0KICAgICAgICAgICAgICAgICAgPGFpOmxpY2Vuc2VfcmVmIHN0YXJ0X2RhdGU9IjIwMTktMDctMDEiPmh0dHBzOi8vd3d3LmNhbWJyaWRnZS5vcmcvY29yZS90ZXJtczwvYWk6bGljZW5zZV9yZWY+DQogICAgICAgICAgICAgICAgPC9haTpwcm9ncmFtPg0KICAgICAgICAgICAgICAgIDxkb2lfZGF0YT4NCiAgICAgICAgICAgICAgICAgIDxkb2k+MTAuMTAxNy85NzgxMTA4MzQ4ODQzPC9kb2k+DQogICAgICAgICAgICAgICAgICA8cmVzb3VyY2U+aHR0cHM6Ly93d3cuY2FtYnJpZGdlLm9yZy9jb3JlL3Byb2R1Y3QvaWRlbnRpZmllci85NzgxMTA4MzQ4ODQzL3R5cGUvYm9vazwvcmVzb3VyY2U+DQogICAgICAgICAgICAgICAgPC9kb2lfZGF0YT4NCiAgICAgICAgICAgICAgICA8Y2l0YXRpb25fbGlzdD4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9Ijk3ODExMDgzNDg4NDMjRU1ULXJsLTFfQklCZS1yLTI3MyI+DQogICAgICAgICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPlFpbHUgeHVla2FuPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5MdSBKaWEgZGUgbGlzaGkgeWlzaGkgamkgcWkgd2VuaHVhIHlpeWk8L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDx2b2x1bWU+NTwvdm9sdW1lPg0KICAgICAgICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT42NzwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgICAgICAgPGNZZWFyPjE5OTc8L2NZZWFyPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPlFpdXNoZW5nPC9hdXRob3I+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iOTc4MTEwODM0ODg0MyNFTVQtcmwtMV9CSUJlLXItMjcxIj4NCiAgICAgICAgICAgICAgICAgICAgPHZvbHVtZV90aXRsZT5IYW4gRmVpIHNpeGlhbmcgZGUgbGlzaGkgeWFuaml1PC92b2x1bWVfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxjWWVhcj4xOTg2PC9jWWVhcj4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5aaGFuZzwvYXV0aG9yPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9Ijk3ODExMDgzNDg4NDMjRU1ULXJsLTFfQklCZS1yLTI3MCI+DQogICAgICAgICAgICAgICAgICAgIDx2b2x1bWVfdGl0bGU+UWluIEhhbiBiZWkgc2h1PC92b2x1bWVfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxjWWVhcj4xOTkwPC9jWWVhcj4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5ZdWFuPC9hdXRob3I+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iOTc4MTEwODM0ODg0MyNFTVQtcmwtMV9CSUJlLXItMjY5Ij4NCiAgICAgICAgICAgICAgICAgICAgPHZvbHVtZV90aXRsZT5aaG9uZ2d1byBndWRhaSBzaGVuaHVhPC92b2x1bWVfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxjWWVhcj4xOTYwPC9jWWVhcj4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5ZdWFuPC9hdXRob3I+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iOTc4MTEwODM0ODg0MyNFTVQtcmwtMV9CSUJlLXItMjY2Ij4NCiAgICAgICAgICAgICAgICAgICAgPGRvaT4xMC4xMDkzL2FjcHJvZjpvc28vOTc4MDE5OTM2NzM0NC4wMDEuMDAwMTwvZG9pPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9Ijk3ODExMDgzNDg4NDMjRU1ULXJsLTFfQklCZS1yLTI2NCI+DQogICAgICAgICAgICAgICAgICAgIDx2b2x1bWVfdGl0bGU+U2h1aWh1ZGkgUWluIGppYW4geWFuaml1PC92b2x1bWVfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxjWWVhcj4xOTkzPC9jWWVhcj4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5GdWNoYW5nPC9hdXRob3I+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iOTc4MTEwODM0ODg0MyNFTVQtcmwtMV9CSUJlLXItMjYxIj4NCiAgICAgICAgICAgICAgICAgICAgPHZvbHVtZV90aXRsZT5TaW1hIFFpYW4gamluZyBqaSBzaSB4aWFuZyB5YW4gaml1PC92b2x1bWVfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxjWWVhcj4xOTk1PC9jWWVhcj4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5XZWk8L2F1dGhvcj4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSI5NzgxMTA4MzQ4ODQzI0VNVC1ybC0xX0JJQmUtci0yNTkiPg0KICAgICAgICAgICAgICAgICAgICA8dm9sdW1lX3RpdGxlPlJlY29yZHMgb2YgdGhlIEdyYW5kIEhpc3RvcmlhbjogUWluIER5bmFzdHk8L3ZvbHVtZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGNZZWFyPjE5OTM8L2NZZWFyPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPldhdHNvbjwvYXV0aG9yPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9Ijk3ODExMDgzNDg4NDMjRU1ULXJsLTFfQklCZS1yLTI1OCI+DQogICAgICAgICAgICAgICAgICAgIDx2b2x1bWVfdGl0bGU+UmVjb3JkcyBvZiB0aGUgR3JhbmQgSGlzdG9yaWFuOiBIYW4gRHluYXN0eTwvdm9sdW1lX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8Y1llYXI+MTk5MzwvY1llYXI+DQogICAgICAgICAgICAgICAgICAgIDxhdXRob3I+V2F0c29uPC9hdXRob3I+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iOTc4MTEwODM0ODg0MyNFTVQtcmwtMV9CSUJlLXItMjU3Ij4NCiAgICAgICAgICAgICAgICAgICAgPHZvbHVtZV90aXRsZT5IYW4gRmVpemk6IEJhc2ljIFdyaXRpbmdzPC92b2x1bWVfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxjWWVhcj4yMDAzPC9jWWVhcj4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5XYXRzb248L2F1dGhvcj4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSI5NzgxMTA4MzQ4ODQzI0VNVC1ybC0xX0JJQmUtci0yNTYiPg0KICAgICAgICAgICAgICAgICAgICA8dm9sdW1lX3RpdGxlPlRoZSBBbmFsZWN0cyBvZiBDb25mdWNpdXM8L3ZvbHVtZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGNZZWFyPjIwMDc8L2NZZWFyPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPldhdHNvbjwvYXV0aG9yPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9Ijk3ODExMDgzNDg4NDMjRU1ULXJsLTFfQklCZS1yLTI1NSI+DQogICAgICAgICAgICAgICAgICAgIDx2b2x1bWVfdGl0bGU+S29kYWkgQ2jFq2dva3Ugc2hpc8WNIG5vIGtlbmt5xas6IEvFjXNoaSBkZW4gbm8ga2Vpc2VpIHRvIEp1IEJva3Ugc2jFq2RhbiBubyBzaGlzxY0gdG8ga8WNZMWNPC92b2x1bWVfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxjWWVhcj4xOTczPC9jWWVhcj4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5UYWthc2hpPC9hdXRob3I+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iOTc4MTEwODM0ODg0MyNFTVQtcmwtMV9CSUJlLXItMjUzIj4NCiAgICAgICAgICAgICAgICAgICAgPHZvbHVtZV90aXRsZT5aaG9uZ2d1byBzaGl4dWUgc2hpIGdhbmd5YW88L3ZvbHVtZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGNZZWFyPjE5OTc8L2NZZWFyPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPlNodW1pbjwvYXV0aG9yPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9Ijk3ODExMDgzNDg4NDMjRU1ULXJsLTFfQklCZS1yLTI1MiI+DQogICAgICAgICAgICAgICAgICAgIDx2b2x1bWVfdGl0bGU+VHVybmluZyBQb2ludHMgaW4gSGlzdG9yaW9ncmFwaHk6IEEgQ3Jvc3MtY3VsdHVyYWwgUGVyc3BlY3RpdmU8L3ZvbHVtZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGNZZWFyPjIwMDE8L2NZZWFyPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPldhbmc8L2F1dGhvcj4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSI5NzgxMTA4MzQ4ODQzI0VNVC1ybC0xX0JJQmUtci0yNTEiPg0KICAgICAgICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5Kb3VybmFsIG9mIEVhc3QgQXNpYW4gQXJjaGFlb2xvZ3k8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPldlc3Rlcm4gWmhvdSBSZW1lbWJlcmluZyBhbmQgRm9yZ2V0dGluZzwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPHZvbHVtZT4xPC92b2x1bWU+DQogICAgICAgICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjIzMTwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgICAgICAgPGNZZWFyPjE5OTk8L2NZZWFyPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPldhbmc8L2F1dGhvcj4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSI5NzgxMTA4MzQ4ODQzI0VNVC1ybC0xX0JJQmUtci0yNDciPg0KICAgICAgICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5PcmllbnMgRXh0cmVtdXM8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPkdldHRpbmcgdGhlIFRlcm1zIFJpZ2h0OiBQb2xpdGljYWwgUmVhbGlzbSwgUG9saXRpY3MsIGFuZCB0aGUgU3RhdGUgaW4gQW5jaWVudCBDaGluYTwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPHZvbHVtZT41NTwvdm9sdW1lPg0KICAgICAgICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT4zOTwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgICAgICAgPGNZZWFyPjIwMTY8L2NZZWFyPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPlZvZ2Vsc2FuZzwvYXV0aG9yPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9Ijk3ODExMDgzNDg4NDMjRU1ULXJsLTFfQklCZS1yLTI0MSI+DQogICAgICAgICAgICAgICAgICAgIDxkb2k+MTAuMTAxNy9DQk85NzgwNTExNjA2OTYwLjAwOTwvZG9pPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9Ijk3ODExMDgzNDg4NDMjRU1ULXJsLTFfQklCZS1yLTIzOSI+DQogICAgICAgICAgICAgICAgICAgIDx2b2x1bWVfdGl0bGU+Q29uZnVjaXVzIGFuZCB0aGUgQW5hbGVjdHM6IE5ldyBFc3NheXM8L3ZvbHVtZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGNZZWFyPjIwMDI8L2NZZWFyPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPlZhbiBOb3JkZW48L2F1dGhvcj4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSI5NzgxMTA4MzQ4ODQzI0VNVC1ybC0xX0JJQmUtci0yMzgiPg0KICAgICAgICAgICAgICAgICAgICA8ZG9pPjEwLjEwMTcvQ0hPTDk3ODA1MjEyNDMyNzg8L2RvaT4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSI5NzgxMTA4MzQ4ODQzI0VNVC1ybC0xX0JJQmUtci0yMzciPg0KICAgICAgICAgICAgICAgICAgICA8dm9sdW1lX3RpdGxlPlRoZSBNYXJ44oCTRW5nZWxzIFJlYWRlcjwvdm9sdW1lX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8Y1llYXI+MTk3ODwvY1llYXI+DQogICAgICAgICAgICAgICAgICAgIDxhdXRob3I+VHVja2VyPC9hdXRob3I+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iOTc4MTEwODM0ODg0MyNFTVQtcmwtMV9CSUJlLXItMjM0Ij4NCiAgICAgICAgICAgICAgICAgICAgPGRvaT4xMC4yMzA3LzEzOTg5MzY8L2RvaT4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSI5NzgxMTA4MzQ4ODQzI0VNVC1ybC0xX0JJQmUtci0yMzAiPg0KICAgICAgICAgICAgICAgICAgICA8dm9sdW1lX3RpdGxlPkNvbmZ1Y2l1cyBiZXlvbmQgdGhlIEFuYWxlY3RzPC92b2x1bWVfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDx2b2x1bWU+NDE8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+NDY1PC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICAgICAgICA8Y1llYXI+MjAxNzwvY1llYXI+DQogICAgICAgICAgICAgICAgICAgIDxhdXRob3I+U2xpbmdlcmxhbmQ8L2F1dGhvcj4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSI5NzgxMTA4MzQ4ODQzI0VNVC1ybC0xX0JJQmUtci0yMjkiPg0KICAgICAgICAgICAgICAgICAgICA8dm9sdW1lX3RpdGxlPkNvbmZ1Y2l1cyBhbmQgdGhlIEFuYWxlY3RzOiBOZXcgRXNzYXlzPC92b2x1bWVfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjUzPC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICAgICAgICA8Y1llYXI+MjAwMjwvY1llYXI+DQogICAgICAgICAgICAgICAgICAgIDxhdXRob3I+U2h1bjwvYXV0aG9yPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9Ijk3ODExMDgzNDg4NDMjRU1ULXJsLTFfQklCZS1yLTI1NCI+DQogICAgICAgICAgICAgICAgICAgIDx2b2x1bWVfdGl0bGU+WGlhbiBRaW4gZmFqaWEgc2l4aWFuZyBzaGlsdW48L3ZvbHVtZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGNZZWFyPjE5OTE8L2NZZWFyPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPlhpYW9ibzwvYXV0aG9yPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9Ijk3ODExMDgzNDg4NDMjRU1ULXJsLTFfQklCZS1yLTIyNCI+DQogICAgICAgICAgICAgICAgICAgIDx2b2x1bWVfdGl0bGU+U291cmNlcyBvZiBXZXN0ZXJuIFpob3UgSGlzdG9yeTogSW5zY3JpYmVkIEJyb256ZSBWZXNzZWxzPC92b2x1bWVfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxjWWVhcj4xOTkxPC9jWWVhcj4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5TaGF1Z2huZXNzeTwvYXV0aG9yPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9Ijk3ODExMDgzNDg4NDMjRU1ULXJsLTFfQklCZS1yLTIyMiI+DQogICAgICAgICAgICAgICAgICAgIDx2b2x1bWVfdGl0bGU+VGhlIFdvcmxkIG9mIFRob3VnaHQgaW4gQW5jaWVudCBDaGluYTwvdm9sdW1lX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8Y1llYXI+MTk4NTwvY1llYXI+DQogICAgICAgICAgICAgICAgICAgIDxhdXRob3I+U2Nod2FydHo8L2F1dGhvcj4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSI5NzgxMTA4MzQ4ODQzI0VNVC1ybC0xX0JJQmUtci0yMjEiPg0KICAgICAgICAgICAgICAgICAgICA8dm9sdW1lX3RpdGxlPkEgRGljdGlvbmFyeSBvZiBFYXJseSBaaG91IENoaW5lc2U8L3ZvbHVtZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGNZZWFyPjE5ODc8L2NZZWFyPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPlNjaMO8c3NsZXI8L2F1dGhvcj4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSI5NzgxMTA4MzQ4ODQzI0VNVC1ybC0xX0JJQmUtci0yMTgiPg0KICAgICAgICAgICAgICAgICAgICA8ZG9pPjEwLjExNjMvZWouOTc4OTAwNDE5NDg1NC5pLTM1NC41NDwvZG9pPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9Ijk3ODExMDgzNDg4NDMjRU1ULXJsLTFfQklCZS1yLTIxNSI+DQogICAgICAgICAgICAgICAgICAgIDxkb2k+MTAuMjMwNy9qLmN0dDF0ZzVucHg8L2RvaT4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSI5NzgxMTA4MzQ4ODQzI0VNVC1ybC0xX0JJQmUtci0yMTQiPg0KICAgICAgICAgICAgICAgICAgICA8dm9sdW1lX3RpdGxlPlRoZSBPeGZvcmQgSGlzdG9yeSBvZiBIaXN0b3JpY2FsIFdyaXRpbmcsIFZvbHVtZSAxOiBCZWdpbm5pbmdzIHRvIEFEIDYwMDwvdm9sdW1lX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT4zOTI8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgICAgICAgIDxjWWVhcj4yMDExPC9jWWVhcj4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5TY2hhYmVyZzwvYXV0aG9yPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9Ijk3ODExMDgzNDg4NDMjRU1ULXJsLTFfQklCZS1yLTIxMSI+DQogICAgICAgICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPkpvdXJuYWwgb2YgdGhlIEFtZXJpY2FuIE9yaWVudGFsIFNvY2lldHk8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPlJpdHVhbHMgVGhhdCBEb27igJl0IFJlYWNoLCBQdW5pc2htZW50cyBUaGF0IERvbuKAmXQgSW1wdWduOiBKaWEgWWkgb24gdGhlIEV4Y2x1c2lvbnMgZnJvbSBQdW5pc2htZW50IGFuZCBSaXR1YWw8L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDx2b2x1bWU+MTI1PC92b2x1bWU+DQogICAgICAgICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjMxPC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICAgICAgICA8Y1llYXI+MjAwNTwvY1llYXI+DQogICAgICAgICAgICAgICAgICAgIDxhdXRob3I+U2FuZnQ8L2F1dGhvcj4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSI5NzgxMTA4MzQ4ODQzI0VNVC1ybC0xX0JJQmUtci0yMDkiPg0KICAgICAgICAgICAgICAgICAgICA8dm9sdW1lX3RpdGxlPk9yaWdpbmFsIFRhbzogSW53YXJkIFRyYWluaW5nIChOZWktWWVoKSBhbmQgdGhlIEZvdW5kYXRpb25zIG9mIFRhb2lzdCBNeXN0aWNpc208L3ZvbHVtZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGNZZWFyPjE5OTk8L2NZZWFyPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPlJvdGg8L2F1dGhvcj4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSI5NzgxMTA4MzQ4ODQzI0VNVC1ybC0xX0JJQmUtci0yNzIiPg0KICAgICAgICAgICAgICAgICAgICA8dm9sdW1lX3RpdGxlPlNoaWppIHlhbmppdTwvdm9sdW1lX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8Y1llYXI+MjAxMTwvY1llYXI+DQogICAgICAgICAgICAgICAgICAgIDxhdXRob3I+RGFrZTwvYXV0aG9yPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9Ijk3ODExMDgzNDg4NDMjRU1ULXJsLTFfQklCZS1yLTIwOCI+DQogICAgICAgICAgICAgICAgICAgIDx2b2x1bWVfdGl0bGU+SGlzdG9yaWNhbCBUcnV0aCwgSGlzdG9yaWNhbCBDcml0aWNpc20sIGFuZCBJZGVvbG9neTogQ2hpbmVzZSBIaXN0b3Jpb2dyYXBoeSBhbmQgSGlzdG9yaWNhbCBDdWx0dXJlIGZyb20gYSBOZXcgQ29tcGFyYXRpdmUgUGVyc3BlY3RpdmU8L3ZvbHVtZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+ODA8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgICAgICAgIDxjWWVhcj4yMDA1PC9jWWVhcj4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5Sb2V0ejwvYXV0aG9yPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9Ijk3ODExMDgzNDg4NDMjRU1ULXJsLTFfQklCZS1yLTIwNSI+DQogICAgICAgICAgICAgICAgICAgIDxkb2k+MTAuMTE2My8xNTY4NTIwMDY3NzgzODg3NTQ8L2RvaT4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSI5NzgxMTA4MzQ4ODQzI0VNVC1ybC0xX0JJQmUtci0yMDIiPg0KICAgICAgICAgICAgICAgICAgICA8dm9sdW1lX3RpdGxlPkppYXppIHRhbndlaTwvdm9sdW1lX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8Y1llYXI+MTk2OTwvY1llYXI+DQogICAgICAgICAgICAgICAgICAgIDxhdXRob3I+WXV6aGFuZzwvYXV0aG9yPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9Ijk3ODExMDgzNDg4NDMjRU1ULXJsLTFfQklCZS1yLTE5OSI+DQogICAgICAgICAgICAgICAgICAgIDx2b2x1bWVfdGl0bGU+VGhlIEh1YWluYW56aSBhbmQgVGV4dHVhbCBQcm9kdWN0aW9uIGluIEVhcmx5IENoaW5hPC92b2x1bWVfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjI2NzwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgICAgICAgPGNZZWFyPjIwMTQ8L2NZZWFyPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPjE5M1B1ZXR0PC9hdXRob3I+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iOTc4MTEwODM0ODg0MyNFTVQtcmwtMV9CSUJlLXItMTk4Ij4NCiAgICAgICAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+T3JpZW5zIEV4dHJlbXVzPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5MaXN0ZW5pbmcgdG8gU2FnZXM6IERpdmluYXRpb24sIE9tZW5zLCBhbmQgdGhlIFJoZXRvcmljIG9mIEFudGlxdWl0eSBpbiBXYW5nIENob25n4oCZcyBMdW5oZW5nPC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8dm9sdW1lPjQ1PC92b2x1bWU+DQogICAgICAgICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjI3MTwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgICAgICAgPGNZZWFyPjIwMDU8L2NZZWFyPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPlB1ZXR0PC9hdXRob3I+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iOTc4MTEwODM0ODg0MyNFTVQtcmwtMV9CSUJlLXItMTk3Ij4NCiAgICAgICAgICAgICAgICAgICAgPHZvbHVtZV90aXRsZT5UaGUgQW1iaXZhbGVuY2Ugb2YgQ3JlYXRpb246IERlYmF0ZXMgQ29uY2VybmluZyBJbm5vdmF0aW9uIGFuZCBBcnRpZmljZSBpbiBFYXJseSBDaGluYTwvdm9sdW1lX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8Y1llYXI+MjAwMTwvY1llYXI+DQogICAgICAgICAgICAgICAgICAgIDxhdXRob3I+UHVldHQ8L2F1dGhvcj4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSI5NzgxMTA4MzQ4ODQzI0VNVC1ybC0xX0JJQmUtci0xOTYiPg0KICAgICAgICAgICAgICAgICAgICA8dm9sdW1lX3RpdGxlPkZyb20gSGVyb2RvdHVzIHRvIEgtTmV0OiBUaGUgU3Rvcnkgb2YgSGlzdG9yaW9ncmFwaHk8L3ZvbHVtZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGNZZWFyPjIwMTU8L2NZZWFyPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPlBvcGtpbjwvYXV0aG9yPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9Ijk3ODExMDgzNDg4NDMjRU1ULXJsLTFfQklCZS1yLTE5NCI+DQogICAgICAgICAgICAgICAgICAgIDxkb2k+MTAuMTAwNy85NzgtOTQtMDA3LTQzMTgtMl80PC9kb2k+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iOTc4MTEwODM0ODg0MyNFTVQtcmwtMV9CSUJlLXItMTkxIj4NCiAgICAgICAgICAgICAgICAgICAgPGRvaT4xMC4xMDA3Lzk3OC05NC0wMDctNDMxOC0yXzI8L2RvaT4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSI5NzgxMTA4MzQ4ODQzI0VNVC1ybC0xX0JJQmUtci0xOTAiPg0KICAgICAgICAgICAgICAgICAgICA8dm9sdW1lX3RpdGxlPkZvdW5kYXRpb25zIG9mIENvbmZ1Y2lhbiBUaG91Z2h0OiBJbnRlbGxlY3R1YWwgTGlmZSBpbiB0aGUgQ2h1bnFpdSBQZXJpb2QsIDcyMuKAkzQ1MyBCQ0U8L3ZvbHVtZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGNZZWFyPjIwMDI8L2NZZWFyPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPlBpbmVzPC9hdXRob3I+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iOTc4MTEwODM0ODg0MyNFTVQtcmwtMV9CSUJlLXItMTg5Ij4NCiAgICAgICAgICAgICAgICAgICAgPHZvbHVtZV90aXRsZT5UaGUgQm9vayBvZiBMb3JkIFNoYW5nOiBBcG9sb2dldGljcyBvZiBTdGF0ZSBQb3dlciBpbiBFYXJseSBDaGluYTwvdm9sdW1lX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8Y1llYXI+MjAxNzwvY1llYXI+DQogICAgICAgICAgICAgICAgICAgIDxhdXRob3I+UGluZXM8L2F1dGhvcj4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSI5NzgxMTA4MzQ4ODQzI0VNVC1ybC0xX0JJQmUtci0xODgiPg0KICAgICAgICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5PcmllbnMgRXh0cmVtdXM8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPkJpYXNlcyBhbmQgVGhlaXIgU291cmNlczogUWluIEhpc3RvcnkgaW4gdGhlIFNoaWppPC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8dm9sdW1lPjQ1PC92b2x1bWU+DQogICAgICAgICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjEwPC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICAgICAgICA8Y1llYXI+MjAwNTwvY1llYXI+DQogICAgICAgICAgICAgICAgICAgIDxhdXRob3I+UGluZXM8L2F1dGhvcj4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSI5NzgxMTA4MzQ4ODQzI0VNVC1ybC0xX0JJQmUtci0xODQiPg0KICAgICAgICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5Gcm9udGllcnMgb2YgUGhpbG9zb3BoeSBpbiBDaGluYTwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+VGhlIExhb3ppIGFuZCB0aGUgQ29zbW9nb25pYyBUdXJuIGluIENsYXNzaWNhbCBDaGluZXNlIFBoaWxvc29waHk8L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDx2b2x1bWU+MTE8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+MTg1PC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICAgICAgICA8Y1llYXI+MjAxNjwvY1llYXI+DQogICAgICAgICAgICAgICAgICAgIDxhdXRob3I+UGVya2luczwvYXV0aG9yPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9Ijk3ODExMDgzNDg4NDMjRU1ULXJsLTFfQklCZS1yLTI0MiI+DQogICAgICAgICAgICAgICAgICAgIDx2b2x1bWVfdGl0bGU+TGEgZm9ybWF0aW9uIGR1IGzDqWdpc21lOiBSZWNoZXJjaGUgc3VyIGxhIGNvbnN0aXR1dGlvbiBk4oCZdW5lIHBoaWxvc29waGllIHBvbGl0aXF1ZSBjYXJhY3TDqXJpc3RpcXVlIGRlIGxhIENoaW5lIGFuY2llbm5lPC92b2x1bWVfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxjWWVhcj4xOTY1PC9jWWVhcj4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5WYW5kZXJtZWVyc2NoPC9hdXRob3I+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iOTc4MTEwODM0ODg0MyNFTVQtcmwtMV9CSUJlLXItMTgzIj4NCiAgICAgICAgICAgICAgICAgICAgPGRvaT4xMC4xMDE3L2VhYy4yMDE1Ljc8L2RvaT4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSI5NzgxMTA4MzQ4ODQzI0VNVC1ybC0xX0JJQmUtci0xODAiPg0KICAgICAgICAgICAgICAgICAgICA8dm9sdW1lX3RpdGxlPkppYSBZaSBqaSBxaSBYaW5zaHUgeWFuaml1PC92b2x1bWVfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxjWWVhcj4yMDE3PC9jWWVhcj4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5QYW48L2F1dGhvcj4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSI5NzgxMTA4MzQ4ODQzI0VNVC1ybC0xX0JJQmUtci0xNzkiPg0KICAgICAgICAgICAgICAgICAgICA8ZG9pPjEwLjIzMDcvMzU1ODU3MDwvZG9pPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9Ijk3ODExMDgzNDg4NDMjRU1ULXJsLTFfQklCZS1yLTE3OCI+DQogICAgICAgICAgICAgICAgICAgIDx2b2x1bWVfdGl0bGU+QW4gQW50aG9sb2d5IG9mIENoaW5lc2UgTGl0ZXJhdHVyZTogQmVnaW5uaW5ncyB0byAxOTExPC92b2x1bWVfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxjWWVhcj4xOTk2PC9jWWVhcj4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5Pd2VuPC9hdXRob3I+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iOTc4MTEwODM0ODg0MyNFTVQtcmwtMV9CSUJlLXItMTc3Ij4NCiAgICAgICAgICAgICAgICAgICAgPHZvbHVtZV90aXRsZT5EdWJpb3VzIEZhY3RzOiBUaGUgRXZpZGVuY2Ugb2YgRWFybHkgQ2hpbmVzZSBIaXN0b3Jpb2dyYXBoeTwvdm9sdW1lX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8Y1llYXI+MjAxMjwvY1llYXI+DQogICAgICAgICAgICAgICAgICAgIDxhdXRob3I+T2xiZXJkaW5nPC9hdXRob3I+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iOTc4MTEwODM0ODg0MyNFTVQtcmwtMV9CSUJlLXItMTc2Ij4NCiAgICAgICAgICAgICAgICAgICAgPGRvaT4xMC40MzI0Lzk3ODAyMDM4MDQ1OTk8L2RvaT4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSI5NzgxMTA4MzQ4ODQzI0VNVC1ybC0xX0JJQmUtci0xNzUiPg0KICAgICAgICAgICAgICAgICAgICA8ZG9pPjEwLjExMTEvai4xNTQwLTYyNTMuMjAwOC4wMDUwOC54PC9kb2k+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iOTc4MTEwODM0ODg0MyNFTVQtcmwtMV9CSUJlLXItMTczIj4NCiAgICAgICAgICAgICAgICAgICAgPHZvbHVtZV90aXRsZT5TaGluIEthbiBoxY1zZWlzaGkgbm8ga2Vua3nFqzwvdm9sdW1lX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8Y1llYXI+MTk4MjwvY1llYXI+DQogICAgICAgICAgICAgICAgICAgIDxhdXRob3I+T3NhbXU8L2F1dGhvcj4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSI5NzgxMTA4MzQ4ODQzI0VNVC1ybC0xX0JJQmUtci0xNzIiPg0KICAgICAgICAgICAgICAgICAgICA8dm9sdW1lX3RpdGxlPlFpbiBIYW4gZmF6aGlzaGkgeWFuaml1PC92b2x1bWVfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxjWWVhcj4yMDE3PC9jWWVhcj4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5Pc2FtdTwvYXV0aG9yPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9Ijk3ODExMDgzNDg4NDMjRU1ULXJsLTFfQklCZS1yLTE2OSI+DQogICAgICAgICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPkVhc3QgQXNpYW4gU2NpZW5jZSwgVGVjaG5vbG9neSwgYW5kIE1lZGljaW5lPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5NYXBwaW5nIFRpbWUgaW4gdGhlIFNoaWppIGFuZCBIYW5zaHUgVGFibGVzIOihqDwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPHZvbHVtZT40Mzwvdm9sdW1lPg0KICAgICAgICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT42MTwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgICAgICAgPGNZZWFyPjIwMTY8L2NZZWFyPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPk55bGFuPC9hdXRob3I+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iOTc4MTEwODM0ODg0MyNFTVQtcmwtMV9CSUJlLXItMTY3Ij4NCiAgICAgICAgICAgICAgICAgICAgPGRvaT4xMC4yMzA3LzI5Mjg1MjA8L2RvaT4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSI5NzgxMTA4MzQ4ODQzI0VNVC1ybC0xX0JJQmUtci0xNjUiPg0KICAgICAgICAgICAgICAgICAgICA8ZG9pPjEwLjIzMDcvMjcxOTEwODwvZG9pPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9Ijk3ODExMDgzNDg4NDMjRU1ULXJsLTFfQklCZS1yLTE2NCI+DQogICAgICAgICAgICAgICAgICAgIDx2b2x1bWVfdGl0bGU+TWlycm9yaW5nIHRoZSBQYXN0OiBUaGUgV3JpdGluZyBhbmQgVXNlIG9mIEhpc3RvcnkgaW4gSW1wZXJpYWwgQ2hpbmE8L3ZvbHVtZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGNZZWFyPjIwMDU8L2NZZWFyPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPk5nPC9hdXRob3I+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iOTc4MTEwODM0ODg0MyNFTVQtcmwtMV9CSUJlLXItMTYzIj4NCiAgICAgICAgICAgICAgICAgICAgPHZvbHVtZV90aXRsZT5DaMWrZ29rdSByZWtpc2hpIHJpbmVuIG5vIGtvbmdlbjwvdm9sdW1lX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8Y1llYXI+MTk0MzwvY1llYXI+DQogICAgICAgICAgICAgICAgICAgIDxhdXRob3I+TmFrb3RvPC9hdXRob3I+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iOTc4MTEwODM0ODg0MyNFTVQtcmwtMV9CSUJlLXItMTYxIj4NCiAgICAgICAgICAgICAgICAgICAgPHZvbHVtZV90aXRsZT5MZWFybmluZyBQbGFjZXM6IFRoZSBBZnRlcmxpdmVzIG9mIEFyZWEgU3R1ZGllczwvdm9sdW1lX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8Y1llYXI+MjAwMjwvY1llYXI+DQogICAgICAgICAgICAgICAgICAgIDxhdXRob3I+TWFzYW88L2F1dGhvcj4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSI5NzgxMTA4MzQ4ODQzI0VNVC1ybC0xX0JJQmUtci0xNjAiPg0KICAgICAgICAgICAgICAgICAgICA8dm9sdW1lX3RpdGxlPlJpa3UgS2Eg4oCcU2hpbmdv4oCdIG5vIGtlbmt5w7s8L3ZvbHVtZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGNZZWFyPjE5NjU8L2NZZWFyPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPkljaGlzYWRhPC9hdXRob3I+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iOTc4MTEwODM0ODg0MyNFTVQtcmwtMV9CSUJlLXItMTU5Ij4NCiAgICAgICAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+VMWNaMWNIGdha3U8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPlJpa3UgS2EgU2hpbmdvIGTFjWtpIGhlbiBubyBrZW5recWr4oCdIOmZuOiziOaWsOiqnumBk+Wfuue3qOOBrueglOeptjwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPHZvbHVtZT4yNTwvdm9sdW1lPg0KICAgICAgICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT4xPC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICAgICAgICA8Y1llYXI+MTk2MzwvY1llYXI+DQogICAgICAgICAgICAgICAgICAgIDxhdXRob3I+SWNoaXNhZGE8L2F1dGhvcj4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSI5NzgxMTA4MzQ4ODQzI0VNVC1ybC0xX0JJQmUtci0xODEiPg0KICAgICAgICAgICAgICAgICAgICA8dm9sdW1lX3RpdGxlPkxhdyBhbmQgTW9yYWxpdHkgaW4gQW5jaWVudCBDaGluYTogVGhlIFNpbGsgTWFudXNjcmlwdHMgb2YgSHVhbmctTGFvPC92b2x1bWVfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxjWWVhcj4xOTkzPC9jWWVhcj4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5QZWVyZW5ib29tPC9hdXRob3I+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iOTc4MTEwODM0ODg0MyNFTVQtcmwtMV9CSUJlLXItMTU4Ij4NCiAgICAgICAgICAgICAgICAgICAgPHZvbHVtZV90aXRsZT5QaGlsb3NvcGh5IG9uIEJhbWJvbzogVGV4dCBhbmQgdGhlIFByb2R1Y3Rpb24gb2YgTWVhbmluZyBpbiBFYXJseSBDaGluYTwvdm9sdW1lX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8Y1llYXI+MjAxMjwvY1llYXI+DQogICAgICAgICAgICAgICAgICAgIDxhdXRob3I+TWV5ZXI8L2F1dGhvcj4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSI5NzgxMTA4MzQ4ODQzI0VNVC1ybC0xX0JJQmUtci0xNTciPg0KICAgICAgICAgICAgICAgICAgICA8dm9sdW1lX3RpdGxlPkNhcGl0YWw6IEEgQ3JpdGlxdWUgb2YgUG9saXRpY2FsIEVjb25vbXksIFZvbHVtZSBUaHJlZTwvdm9sdW1lX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8Y1llYXI+MTk4MTwvY1llYXI+DQogICAgICAgICAgICAgICAgICAgIDxhdXRob3I+TWFyeDwvYXV0aG9yPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9Ijk3ODExMDgzNDg4NDMjRU1ULXJsLTFfQklCZS1yLTE1NiI+DQogICAgICAgICAgICAgICAgICAgIDx2b2x1bWVfdGl0bGU+VGhlIEh1YWluYW56aTogQSBHdWlkZSB0byB0aGUgVGhlb3J5IGFuZCBQcmFjdGljZSBvZiBHb3Zlcm5tZW50IGluIEVhcmx5IEhhbiBDaGluYSwgYnkgTGl1IEFuLCBLaW5nIG9mIEh1YWluYW48L3ZvbHVtZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGNZZWFyPjIwMTA8L2NZZWFyPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPk1ham9yPC9hdXRob3I+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iOTc4MTEwODM0ODg0MyNFTVQtcmwtMV9CSUJlLXItMTUyIj4NCiAgICAgICAgICAgICAgICAgICAgPHZvbHVtZV90aXRsZT5FYXJseSBDaGluZXNlIFRleHRzOiBBIEJpYmxpb2dyYXBoaWNhbCBHdWlkZTwvdm9sdW1lX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8Y1llYXI+MTk5MzwvY1llYXI+DQogICAgICAgICAgICAgICAgICAgIDxhdXRob3I+TG9ld2U8L2F1dGhvcj4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSI5NzgxMTA4MzQ4ODQzI0VNVC1ybC0xX0JJQmUtci0xNTEiPg0KICAgICAgICAgICAgICAgICAgICA8dm9sdW1lX3RpdGxlPkFkdmVyc2FyaWVzIGFuZCBBdXRob3JpdGllczogSW52ZXN0aWdhdGlvbnMgaW50byBBbmNpZW50IEdyZWVrIGFuZCBDaGluZXNlIFNjaWVuY2U8L3ZvbHVtZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGNZZWFyPjE5OTY8L2NZZWFyPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPkxsb3lkPC9hdXRob3I+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iOTc4MTEwODM0ODg0MyNFTVQtcmwtMV9CSUJlLXItMTUwIj4NCiAgICAgICAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+S29uZ+KAk01lbmcgWXVla2FuPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5IYW4tY2h1IHJ1c2hlbmcgTHUgSmlhIGRlIHNoZW5ncGluZyBqaSBxaSB6aHVzaHXigJ0g5ryi5Yid5YSS55Sf6Zm46LOI55qE55Sf5bmz5Y+K5YW26JGX6L+wPC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8dm9sdW1lPjc8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+MjE8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgICAgICAgIDxjWWVhcj4xOTY5PC9jWWVhcj4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5Sb25nbWFvPC9hdXRob3I+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iOTc4MTEwODM0ODg0MyNFTVQtcmwtMV9CSUJlLXItMTQ5Ij4NCiAgICAgICAgICAgICAgICAgICAgPHZvbHVtZV90aXRsZT5aaG9uZ2d1byBsaXNoaSB3ZW54dWFuPC92b2x1bWVfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDx2b2x1bWU+Mjwvdm9sdW1lPg0KICAgICAgICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT4zNTI8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgICAgICAgIDxjWWVhcj4xOTYyPC9jWWVhcj4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5MaWFuZzwvYXV0aG9yPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9Ijk3ODExMDgzNDg4NDMjRU1ULXJsLTFfQklCZS1yLTE0NyI+DQogICAgICAgICAgICAgICAgICAgIDx2b2x1bWVfdGl0bGU+VGhlIFJlYWRhYmlsaXR5IG9mIHRoZSBQYXN0IGluIEVhcmx5IENoaW5lc2UgSGlzdG9yaW9ncmFwaHk8L3ZvbHVtZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGNZZWFyPjIwMDg8L2NZZWFyPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPldhaS15ZWU8L2F1dGhvcj4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSI5NzgxMTA4MzQ4ODQzI0VNVC1ybC0xX0JJQmUtci0yMTMiPg0KICAgICAgICAgICAgICAgICAgICA8ZG9pPjEwLjEwMTcvUzAzNjI1MDI4MDAwMDM2Njc8L2RvaT4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSI5NzgxMTA4MzQ4ODQzI0VNVC1ybC0xX0JJQmUtci0yMDMiPg0KICAgICAgICAgICAgICAgICAgICA8ZG9pPjEwLjEwMDcvczExNDY2LTAwOS0wMDA2LTU8L2RvaT4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSI5NzgxMTA4MzQ4ODQzI0VNVC1ybC0xX0JJQmUtci0xNDQiPg0KICAgICAgICAgICAgICAgICAgICA8dm9sdW1lX3RpdGxlPkJ1cmVhdWNyYWN5IGFuZCB0aGUgU3RhdGUgaW4gRWFybHkgQ2hpbmE6IEdvdmVybmluZyB0aGUgV2VzdGVybiBaaG91PC92b2x1bWVfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxjWWVhcj4yMDA4PC9jWWVhcj4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5MaTwvYXV0aG9yPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9Ijk3ODExMDgzNDg4NDMjRU1ULXJsLTFfQklCZS1yLTE0MyI+DQogICAgICAgICAgICAgICAgICAgIDx2b2x1bWVfdGl0bGU+U2ltYSBRaWFuIHpoaSByZW5nZSB5dSBmZW5nZ2U8L3ZvbHVtZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGNZZWFyPjE5NjM8L2NZZWFyPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPkxpPC9hdXRob3I+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iOTc4MTEwODM0ODg0MyNFTVQtcmwtMV9CSUJlLXItMTQyIj4NCiAgICAgICAgICAgICAgICAgICAgPHZvbHVtZV90aXRsZT5Xcml0aW5nIGFuZCBBdXRob3JpdHkgaW4gRWFybHkgQ2hpbmE8L3ZvbHVtZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGNZZWFyPjE5OTk8L2NZZWFyPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPkxld2lzPC9hdXRob3I+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iOTc4MTEwODM0ODg0MyNFTVQtcmwtMV9CSUJlLXItMTQxIj4NCiAgICAgICAgICAgICAgICAgICAgPGRvaT4xMC4xMDE3L0NIT0w5NzgwNTIxNDcwMzA4LjAxMTwvZG9pPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9Ijk3ODExMDgzNDg4NDMjRU1ULXJsLTFfQklCZS1yLTE5NSI+DQogICAgICAgICAgICAgICAgICAgIDx2b2x1bWVfdGl0bGU+UGVyY2VwdGlvbnMgb2YgQW50aXF1aXR5IGluIENoaW5lc2UgQ2l2aWxpemF0aW9uPC92b2x1bWVfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjg1PC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICAgICAgICA8Y1llYXI+MjAwODwvY1llYXI+DQogICAgICAgICAgICAgICAgICAgIDxhdXRob3I+UG9vPC9hdXRob3I+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iOTc4MTEwODM0ODg0MyNFTVQtcmwtMV9CSUJlLXItMTM1Ij4NCiAgICAgICAgICAgICAgICAgICAgPHZvbHVtZV90aXRsZT5NZW5jaXVzPC92b2x1bWVfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxjWWVhcj4xOTcwPC9jWWVhcj4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5MYXU8L2F1dGhvcj4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSI5NzgxMTA4MzQ4ODQzI0VNVC1ybC0xX0JJQmUtci0xMzQiPg0KICAgICAgICAgICAgICAgICAgICA8dm9sdW1lX3RpdGxlPlJlYXNzZW1ibGluZyB0aGUgU29jaWFsOiBBbiBJbnRyb2R1Y3Rpb24gdG8gQWN0b3ItTmV0d29yayBUaGVvcnk8L3ZvbHVtZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGNZZWFyPjIwMDU8L2NZZWFyPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPkxhdG91cjwvYXV0aG9yPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9Ijk3ODExMDgzNDg4NDMjRU1ULXJsLTFfQklCZS1yLTIyNiI+DQogICAgICAgICAgICAgICAgICAgIDx2b2x1bWVfdGl0bGU+RGVlcCBIaXN0b3J5OiBUaGUgQXJjaGl0ZWN0dXJlIG9mIFBhc3QgYW5kIFByZXNlbnQ8L3ZvbHVtZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGNZZWFyPjIwMTE8L2NZZWFyPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPlNocnlvY2s8L2F1dGhvcj4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSI5NzgxMTA4MzQ4ODQzI0VNVC1ybC0xX0JJQmUtci0xMjIiPg0KICAgICAgICAgICAgICAgICAgICA8ZG9pPjEwLjExNjMvOTc4OTAwNDM0MzUwNDwvZG9pPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9Ijk3ODExMDgzNDg4NDMjRU1ULXJsLTFfQklCZS1yLTEzMCI+DQogICAgICAgICAgICAgICAgICAgIDxkb2k+MTAuMjMwNy8yNjUyMDMzPC9kb2k+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iOTc4MTEwODM0ODg0MyNFTVQtcmwtMV9CSUJlLXItMjMzIj4NCiAgICAgICAgICAgICAgICAgICAgPHZvbHVtZV90aXRsZT5TaGlraSBrYWljaMWrIGvFjXNoxY08L3ZvbHVtZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGNZZWFyPjE5NTg8L2NZZWFyPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPkthbWV0YXLFjTwvYXV0aG9yPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9Ijk3ODExMDgzNDg4NDMjRU1ULXJsLTFfQklCZS1yLTE4NSI+DQogICAgICAgICAgICAgICAgICAgIDxkb2k+MTAuNTc5MC9ob25na29uZy85Nzg5ODg4MDI4OTMxLjAwMy4wMDA0PC9kb2k+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iOTc4MTEwODM0ODg0MyNFTVQtcmwtMV9CSUJlLXItMjEyIj4NCiAgICAgICAgICAgICAgICAgICAgPGRvaT4xMC4xMzUzL21sbi4yMDAwLjAwNzU8L2RvaT4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSI5NzgxMTA4MzQ4ODQzI0VNVC1ybC0xX0JJQmUtci0wNTAiPg0KICAgICAgICAgICAgICAgICAgICA8dm9sdW1lX3RpdGxlPlhpIFpob3UgdG9uZ3FpIGR1YW5kYWk8L3ZvbHVtZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPHZvbHVtZT4yPC92b2x1bWU+DQogICAgICAgICAgICAgICAgICAgIDxjWWVhcj4yMDA0PC9jWWVhcj4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5NZW5namlhPC9hdXRob3I+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iOTc4MTEwODM0ODg0MyNFTVQtcmwtMV9CSUJlLXItMDcwIj4NCiAgICAgICAgICAgICAgICAgICAgPHZvbHVtZV90aXRsZT5FbXBpcmVzPC92b2x1bWVfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxjWWVhcj4xOTg2PC9jWWVhcj4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5Eb3lsZTwvYXV0aG9yPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9Ijk3ODExMDgzNDg4NDMjRU1ULXJsLTFfQklCZS1yLTE0NSI+DQogICAgICAgICAgICAgICAgICAgIDx2b2x1bWVfdGl0bGU+TGFuZHNjYXBlIGFuZCBQb3dlciBpbiBFYXJseSBDaGluYTogVGhlIENyaXNpcyBhbmQgRmFsbCBvZiB0aGUgV2VzdGVybiBaaG91LCAxMDQ14oCTNzcxIEJDPC92b2x1bWVfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxjWWVhcj4yMDA2PC9jWWVhcj4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5MaTwvYXV0aG9yPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9Ijk3ODExMDgzNDg4NDMjRU1ULXJsLTFfQklCZS1yLTA5OSI+DQogICAgICAgICAgICAgICAgICAgIDx2b2x1bWVfdGl0bGU+VGhpbmtpbmcgdGhyb3VnaCBDb25mdWNpdXM8L3ZvbHVtZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGNZZWFyPjE5ODc8L2NZZWFyPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPkhhbGw8L2F1dGhvcj4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSI5NzgxMTA4MzQ4ODQzI0VNVC1ybC0xX0JJQmUtci0wNjciPg0KICAgICAgICAgICAgICAgICAgICA8dm9sdW1lX3RpdGxlPlNwZWN0ZXJzIG9mIE1hcng6IFRoZSBTdGF0ZSBvZiB0aGUgRGVidCwgdGhlIFdvcmsgb2YgTW91cm5pbmcgYW5kIHRoZSBOZXcgSW50ZXJuYXRpb25hbDwvdm9sdW1lX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8Y1llYXI+MTk5NDwvY1llYXI+DQogICAgICAgICAgICAgICAgICAgIDxhdXRob3I+RGVycmlkYTwvYXV0aG9yPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9Ijk3ODExMDgzNDg4NDMjRU1ULXJsLTFfQklCZS1yLTAzOSI+DQogICAgICAgICAgICAgICAgICAgIDxkb2k+MTAuMjEzMTMvaGF3YWlpLzk3ODA4MjQ4MzM4NjIuMDAxLjAwMDE8L2RvaT4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSI5NzgxMTA4MzQ4ODQzI0VNVC1ybC0xX0JJQmUtci0yNjAiPg0KICAgICAgICAgICAgICAgICAgICA8dm9sdW1lX3RpdGxlPlNzdS1NYSBDaOKAmWllbiwgR3JhbmQgSGlzdG9yaWFuIG9mIENoaW5hPC92b2x1bWVfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxjWWVhcj4xOTU4PC9jWWVhcj4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5XYXRzb248L2F1dGhvcj4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSI5NzgxMTA4MzQ4ODQzI0VNVC1ybC0xX0JJQmUtci0yMTciPg0KICAgICAgICAgICAgICAgICAgICA8ZG9pPjEwLjIzMDcvMjY1MjcxNzwvZG9pPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9Ijk3ODExMDgzNDg4NDMjRU1ULXJsLTFfQklCZS1yLTE1NSI+DQogICAgICAgICAgICAgICAgICAgIDxkb2k+MTAuNDE1OS85NzgwNjc0MDQwNDU4PC9kb2k+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iOTc4MTEwODM0ODg0MyNFTVQtcmwtMV9CSUJlLXItMTM4Ij4NCiAgICAgICAgICAgICAgICAgICAgPHZvbHVtZV90aXRsZT5UaGUgRWFybHkgQ2hpbmVzZSBFbXBpcmVzOiBRaW4gYW5kIEhhbjwvdm9sdW1lX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8Y1llYXI+MjAwNzwvY1llYXI+DQogICAgICAgICAgICAgICAgICAgIDxhdXRob3I+TGV3aXM8L2F1dGhvcj4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSI5NzgxMTA4MzQ4ODQzI0VNVC1ybC0xX0JJQmUtci0wNDIiPg0KICAgICAgICAgICAgICAgICAgICA8ZG9pPjEwLjExNjMvOTc4OTAwNDI0NjIwMV8wMDY8L2RvaT4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSI5NzgxMTA4MzQ4ODQzI0VNVC1ybC0xX0JJQmUtci0wMzYiPg0KICAgICAgICAgICAgICAgICAgICA8ZG9pPjEwLjIzMDcvai5jdHQxZG5uYjVtPC9kb2k+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iOTc4MTEwODM0ODg0MyNFTVQtcmwtMV9CSUJlLXItMjAxIj4NCiAgICAgICAgICAgICAgICAgICAgPHZvbHVtZV90aXRsZT5IaXN0b3JpYW5zIG9mIENoaW5hIGFuZCBKYXBhbjwvdm9sdW1lX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT4xMzU8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgICAgICAgIDxjWWVhcj4xOTYxPC9jWWVhcj4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5QdWxsZXlibGFuazwvYXV0aG9yPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9Ijk3ODExMDgzNDg4NDMjRU1ULXJsLTFfQklCZS1yLTI0OSI+DQogICAgICAgICAgICAgICAgICAgIDxkb2k+MTAuMTAxNy9lYWMuMjAxNC4yMDwvZG9pPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9Ijk3ODExMDgzNDg4NDMjRU1ULXJsLTFfQklCZS1yLTEzMiI+DQogICAgICAgICAgICAgICAgICAgIDxkb2k+MTAuMTAwNy85NzgtOTQtMDA3LTcxMTMtMF81PC9kb2k+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iOTc4MTEwODM0ODg0MyNFTVQtcmwtMV9CSUJlLXItMDU1Ij4NCiAgICAgICAgICAgICAgICAgICAgPGRvaT4xMC4xMDE3L1MwMDQxOTc3WDAwMDM2Mzk5PC9kb2k+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iOTc4MTEwODM0ODg0MyNFTVQtcmwtMV9CSUJlLXItMjM1Ij4NCiAgICAgICAgICAgICAgICAgICAgPGRvaT4xMC4xMDkzL3Bhc3QvMzguMS41NjwvZG9pPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9Ijk3ODExMDgzNDg4NDMjRU1ULXJsLTFfQklCZS1yLTA4MSI+DQogICAgICAgICAgICAgICAgICAgIDx2b2x1bWVfdGl0bGU+Q2Flc2Fy4oCZcyBDYWxlbmRhcjogQW5jaWVudCBUaW1lIGFuZCB0aGUgQmVnaW5uaW5ncyBvZiBIaXN0b3J5PC92b2x1bWVfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxjWWVhcj4yMDA3PC9jWWVhcj4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5GZWVuZXk8L2F1dGhvcj4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSI5NzgxMTA4MzQ4ODQzI0VNVC1ybC0xX0JJQmUtci0wMzIiPg0KICAgICAgICAgICAgICAgICAgICA8dm9sdW1lX3RpdGxlPk1lbmNpdXM8L3ZvbHVtZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGNZZWFyPjIwMDk8L2NZZWFyPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPkJsb29tPC9hdXRob3I+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iOTc4MTEwODM0ODg0MyNFTVQtcmwtMV9CSUJlLXItMDU3Ij4NCiAgICAgICAgICAgICAgICAgICAgPHZvbHVtZV90aXRsZT5UaGUgQmFtYm9vIFRleHRzIG9mIEd1b2RpYW46IEEgU3R1ZHkgYW5kIENvbXBsZXRlIFRyYW5zbGF0aW9uPC92b2x1bWVfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxjWWVhcj4yMDEyPC9jWWVhcj4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5Db29rPC9hdXRob3I+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iOTc4MTEwODM0ODg0MyNFTVQtcmwtMV9CSUJlLXItMDM0Ij4NCiAgICAgICAgICAgICAgICAgICAgPHZvbHVtZV90aXRsZT5UaGUgVXNlcyBvZiBIaXN0b3J5OiBFc3NheXMgaW4gSW50ZWxsZWN0dWFsIGFuZCBTb2NpYWwgSGlzdG9yeSwgUHJlc2VudGVkIHRvIFdpbGxpYW0gSi4gQm9zc2VuYnJvb2s8L3ZvbHVtZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGNZZWFyPjE5Njg8L2NZZWFyPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPldpbGxpYW0gSm9objwvYXV0aG9yPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9Ijk3ODExMDgzNDg4NDMjRU1ULXJsLTFfQklCZS1yLTE2NiI+DQogICAgICAgICAgICAgICAgICAgIDx2b2x1bWVfdGl0bGU+TWVuY2l1czogQ29udGV4dHMgYW5kIEludGVycHJldGF0aW9uczwvdm9sdW1lX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT4yODI8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgICAgICAgIDxjWWVhcj4yMDAyPC9jWWVhcj4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5OaXZpc29uPC9hdXRob3I+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iOTc4MTEwODM0ODg0MyNFTVQtcmwtMV9CSUJlLXItMTYyIj4NCiAgICAgICAgICAgICAgICAgICAgPHZvbHVtZV90aXRsZT5UaW1lIGFuZCBFYXN0ZXJuIE1hbjwvdm9sdW1lX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8Y1llYXI+MTk2NTwvY1llYXI+DQogICAgICAgICAgICAgICAgICAgIDxhdXRob3I+TmVlZGhhbTwvYXV0aG9yPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9Ijk3ODExMDgzNDg4NDMjRU1ULXJsLTFfQklCZS1yLTEyMyI+DQogICAgICAgICAgICAgICAgICAgIDxkb2k+MTAuMTAwNy85NzgtOTQtMDA3LTcxMTMtMF8yPC9kb2k+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iOTc4MTEwODM0ODg0MyNFTVQtcmwtMV9CSUJlLXItMTkzIj4NCiAgICAgICAgICAgICAgICAgICAgPHZvbHVtZV90aXRsZT5CaXJ0aCBvZiBhbiBFbXBpcmU6IFRoZSBTdGF0ZSBvZiBRaW4gUmV2aXNpdGVkPC92b2x1bWVfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjI1ODwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgICAgICAgPGNZZWFyPjIwMTQ8L2NZZWFyPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPlBpbmVzPC9hdXRob3I+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iOTc4MTEwODM0ODg0MyNFTVQtcmwtMV9CSUJlLXItMTE3Ij4NCiAgICAgICAgICAgICAgICAgICAgPHZvbHVtZV90aXRsZT5KaWEgWWkgeWFuaml1PC92b2x1bWVfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxjWWVhcj4xOTU4PC9jWWVhcj4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5KaWFuZyBSdW54dW48L2F1dGhvcj4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSI5NzgxMTA4MzQ4ODQzI0VNVC1ybC0xX0JJQmUtci0xNDgiPg0KICAgICAgICAgICAgICAgICAgICA8dm9sdW1lX3RpdGxlPllpbmJpbmdzaGkgaGVqaTwvdm9sdW1lX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT4zNTwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgICAgICAgPGNZZWFyPjE5OTY8L2NZZWFyPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPkxpYW5nPC9hdXRob3I+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iOTc4MTEwODM0ODg0MyNFTVQtcmwtMV9CSUJlLXItMjI3Ij4NCiAgICAgICAgICAgICAgICAgICAgPGRvaT4xMC4xMDE3L0NCTzk3ODA1MTE2MDY5NjAuMDEwPC9kb2k+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iOTc4MTEwODM0ODg0MyNFTVQtcmwtMV9CSUJlLXItOSI+DQogICAgICAgICAgICAgICAgICAgIDx2b2x1bWVfdGl0bGU+S2luYnVuIHRzxatzaGFrdTwvdm9sdW1lX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8dm9sdW1lPjc8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgICAgICAgPGNZZWFyPjE5NjQ8L2NZZWFyPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPlNoaXJha2F3YTwvYXV0aG9yPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9Ijk3ODExMDgzNDg4NDMjRU1ULXJsLTFfQklCZS1yLTI2NSI+DQogICAgICAgICAgICAgICAgICAgIDx2b2x1bWVfdGl0bGU+TGlhbmcgSGFuIHNpeGlhbmcgc2hpPC92b2x1bWVfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxjWWVhcj4xOTc1PC9jWWVhcj4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5GdWd1YW5nPC9hdXRob3I+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iOTc4MTEwODM0ODg0MyNFTVQtcmwtMV9CSUJlLXItMDk2Ij4NCiAgICAgICAgICAgICAgICAgICAgPHZvbHVtZV90aXRsZT5TdHVkaWVzIGluIENoaW5lc2UgUGhpbG9zb3BoeSBhbmQgUGhpbG9zb3BoaWNhbCBMaXRlcmF0dXJlPC92b2x1bWVfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjI4MzwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgICAgICAgPGNZZWFyPjE5OTA8L2NZZWFyPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPkdyYWhhbTwvYXV0aG9yPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9Ijk3ODExMDgzNDg4NDMjRU1ULXJsLTFfQklCZS1yLTYiPg0KICAgICAgICAgICAgICAgICAgICA8dm9sdW1lX3RpdGxlPkd1YW56aSBqaWFvemh1PC92b2x1bWVfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxjWWVhcj4yMDA0PC9jWWVhcj4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5YaWFuZ2Zlbmc8L2F1dGhvcj4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSI5NzgxMTA4MzQ4ODQzI0VNVC1ybC0xX0JJQmUtci0xMTYiPg0KICAgICAgICAgICAgICAgICAgICA8dm9sdW1lX3RpdGxlPkV0aGljcyBpbiB0aGUgQ29uZnVjaWFuIFRyYWRpdGlvbjogVGhlIFRob3VnaHQgb2YgTWVuY2l1cyBhbmQgV2FuZyBZYW5nLW1pbmc8L3ZvbHVtZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGNZZWFyPjIwMDI8L2NZZWFyPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPkl2YW5ob2U8L2F1dGhvcj4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSI5NzgxMTA4MzQ4ODQzI0VNVC1ybC0xX0JJQmUtci0wNjQiPg0KICAgICAgICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5Bc2lhIE1ham9yPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5UaGUgUHJvZml0IFRoYXQgRG9lcyBOb3QgUHJvZml0OiBQYXJhZG94ZXMgd2l0aCDigJhMaeKAmSBpbiBFYXJseSBDaGluZXNlIFRleHRzPC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8dm9sdW1lPjIxPC92b2x1bWU+DQogICAgICAgICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjE1MzwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgICAgICAgPGNZZWFyPjIwMDg8L2NZZWFyPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPkRlZm9vcnQ8L2F1dGhvcj4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSI5NzgxMTA4MzQ4ODQzI0VNVC1ybC0xX0JJQmUtci0wNDgiPg0KICAgICAgICAgICAgICAgICAgICA8dm9sdW1lX3RpdGxlPkludGVycHJldGF0aW9uIGFuZCBJbnRlbGxlY3R1YWwgQ2hhbmdlOiBDaGluZXNlIEhlcm1lbmV1dGljcyBpbiBIaXN0b3JpY2FsIFBlcnNwZWN0aXZlPC92b2x1bWVfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjMzPC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICAgICAgICA8Y1llYXI+MjAwNTwvY1llYXI+DQogICAgICAgICAgICAgICAgICAgIDxhdXRob3I+Q2hlbjwvYXV0aG9yPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9Ijk3ODExMDgzNDg4NDMjRU1ULXJsLTFfQklCZS1yLTAyOSI+DQogICAgICAgICAgICAgICAgICAgIDx2b2x1bWVfdGl0bGU+TWVuY2l1cyBvbiBCZWNvbWluZyBIdW1hbjwvdm9sdW1lX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8Y1llYXI+MjAwNTwvY1llYXI+DQogICAgICAgICAgICAgICAgICAgIDxhdXRob3I+QmVodW5pYWs8L2F1dGhvcj4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSI5NzgxMTA4MzQ4ODQzI0VNVC1ybC0xX0JJQmUtci0yMzEiPg0KICAgICAgICAgICAgICAgICAgICA8ZG9pPjEwLjExMTEvai4xNTQwLTYyNTMuMTk5OS50YjAwNTMxLng8L2RvaT4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSI5NzgxMTA4MzQ4ODQzI0VNVC1ybC0xX0JJQmUtci0yNDMiPg0KICAgICAgICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5QYXBlcnMgb24gRmFyIEVhc3Rlcm4gSGlzdG9yeTwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+Qm95aSBhbmQgU2h1cWk6IFdvcnRoeSBNZW4gb2YgT2xkPzwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPHZvbHVtZT4yODwvdm9sdW1lPg0KICAgICAgICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT4xPC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICAgICAgICA8Y1llYXI+MTk4MzwvY1llYXI+DQogICAgICAgICAgICAgICAgICAgIDxhdXRob3I+VmVydm9vcm48L2F1dGhvcj4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSI5NzgxMTA4MzQ4ODQzI0VNVC1ybC0xX0JJQmUtci03Ij4NCiAgICAgICAgICAgICAgICAgICAgPHZvbHVtZV90aXRsZT5TaGFuZ3NodSBqaXNoaTwvdm9sdW1lX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8Y1llYXI+MTk4MzwvY1llYXI+DQogICAgICAgICAgICAgICAgICAgIDxhdXRob3I+V2FubGk8L2F1dGhvcj4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSI5NzgxMTA4MzQ4ODQzI0VNVC1ybC0xX0JJQmUtci0wODAiPg0KICAgICAgICAgICAgICAgICAgICA8ZG9pPjEwLjIzMDcvai5jdHZkbXd3dDY8L2RvaT4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSI5NzgxMTA4MzQ4ODQzI0VNVC1ybC0xX0JJQmUtci0wMzciPg0KICAgICAgICAgICAgICAgICAgICA8ZG9pPjEwLjIzMDcvai5jdHQxZG5uYjNrPC9kb2k+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iOTc4MTEwODM0ODg0MyNFTVQtcmwtMV9CSUJlLXItMDkwIj4NCiAgICAgICAgICAgICAgICAgICAgPGRvaT4xMC4yNjUzMC9PQVBFTl82MjU4OTE8L2RvaT4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSI5NzgxMTA4MzQ4ODQzI0VNVC1ybC0xX0JJQmUtci0xOCI+DQogICAgICAgICAgICAgICAgICAgIDx2b2x1bWVfdGl0bGU+TWVuZ3ppIHlpemh1PC92b2x1bWVfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxjWWVhcj4xOTgxPC9jWWVhcj4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5ZYW5nPC9hdXRob3I+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iOTc4MTEwODM0ODg0MyNFTVQtcmwtMV9CSUJlLXItMTc0Ij4NCiAgICAgICAgICAgICAgICAgICAgPGRvaT4xMC40MTU5Lzk3ODA2NzQ5MTU5OTI8L2RvaT4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSI5NzgxMTA4MzQ4ODQzI0VNVC1ybC0xX0JJQmUtci0xODIiPg0KICAgICAgICAgICAgICAgICAgICA8dm9sdW1lX3RpdGxlPlpob25nZ3VvIGh1b2JpIHNoaTwvdm9sdW1lX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8Y1llYXI+MTk1ODwvY1llYXI+DQogICAgICAgICAgICAgICAgICAgIDxhdXRob3I+WGlud2VpPC9hdXRob3I+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iOTc4MTEwODM0ODg0MyNFTVQtcmwtMV9CSUJlLXItMTkyIj4NCiAgICAgICAgICAgICAgICAgICAgPHVuc3RydWN0dXJlZF9jaXRhdGlvbj5QaW5lcywgWXVyaSAsIOKAnExlZ2FsaXNtIGluIENoaW5lc2UgUGhpbG9zb3BoeSzigJ0gVGhlIFN0YW5mb3JkIEVuY3ljbG9wZWRpYSBvZiBQaGlsb3NvcGh5LCAyMDE3IGh0dHBzOi8vcGxhdG8uc3RhbmZvcmQuZWR1L2FyY2hpdmVzL3NwcjIwMTcvZW50cmllcy9jaGluZXNlLWxlZ2FsaXNtLCBhY2Nlc3NlZCBNYXkgMzEsIDIwMTg8L3Vuc3RydWN0dXJlZF9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSI5NzgxMTA4MzQ4ODQzI0VNVC1ybC0xX0JJQmUtci0yMDQiPg0KICAgICAgICAgICAgICAgICAgICA8dm9sdW1lX3RpdGxlPkJldHdlZW4gSGlzdG9yeSBhbmQgUGhpbG9zb3BoeTogQW5lY2RvdGVzIGluIEVhcmx5IENoaW5hPC92b2x1bWVfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxjWWVhcj4yMDE3PC9jWWVhcj4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5RdWVlbjwvYXV0aG9yPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9Ijk3ODExMDgzNDg4NDMjRU1ULXJsLTFfQklCZS1yLTI0MCI+DQogICAgICAgICAgICAgICAgICAgIDxkb2k+MTAuMTAxNy9DQk85NzgwNTExNDk3OTk1PC9kb2k+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iOTc4MTEwODM0ODg0MyNFTVQtcmwtMV9CSUJlLXItMSI+DQogICAgICAgICAgICAgICAgICAgIDx1bnN0cnVjdHVyZWRfY2l0YXRpb24+QmFuIEd1IOePreWbuiwgSGFuc2h1IOa8ouabuCAoQmVpamluZzogWmhvbmdodWEgc2h1anUsIDE5NjIpPC91bnN0cnVjdHVyZWRfY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iOTc4MTEwODM0ODg0MyNFTVQtcmwtMV9CSUJlLXItMDUxIj4NCiAgICAgICAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+Sm91cm5hbCBvZiBDaGluZXNlIEh1bWFuaXRpZXM8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPlRoZSBEaWZmZXJlbmNlIGJldHdlZW4gQ29uZnVjaWFuIGFuZCBNZW5jaWFuIEJlbmV2b2xlbmNlPC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8dm9sdW1lPjI8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+MjE3PC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICAgICAgICA8Y1llYXI+MjAxNjwvY1llYXI+DQogICAgICAgICAgICAgICAgICAgIDxkb2kgcHJvdmlkZXI9ImNyb3NzcmVmIj4xMC4xMTYzLzIzNTIxMzQxLTEyMzQwMDM1PC9kb2k+DQogICAgICAgICAgICAgICAgICAgIDxhdXRob3I+Q2hlbjwvYXV0aG9yPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9Ijk3ODExMDgzNDg4NDMjRU1ULXJsLTFfQklCZS1yLTI2OCI+DQogICAgICAgICAgICAgICAgICAgIDx2b2x1bWVfdGl0bGU+WGkgWmhvdSBXZWkgU2hpIEppYSBadSBRaW5nIFRvbmcgUWkgUXVuIFlhbiBKaXU8L3ZvbHVtZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGNZZWFyPjE5OTI8L2NZZWFyPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPlNoZW5ncGluZzwvYXV0aG9yPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9Ijk3ODExMDgzNDg4NDMjRU1ULXJsLTFfQklCZS1yLTE3MSI+DQogICAgICAgICAgICAgICAgICAgIDxkb2k+MTAuMTAxNy9TMDM2MjUwMjgwMDAwMDk4NTwvZG9pPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9Ijk3ODExMDgzNDg4NDMjRU1ULXJsLTFfQklCZS1yLTA5OCI+DQogICAgICAgICAgICAgICAgICAgIDx2b2x1bWVfdGl0bGU+R3VzaGliaWFuPC92b2x1bWVfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDx2b2x1bWU+Nzwvdm9sdW1lPg0KICAgICAgICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT42MzwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgICAgICAgPGNZZWFyPjE5ODI8L2NZZWFyPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPkppZWdhbmc8L2F1dGhvcj4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSI5NzgxMTA4MzQ4ODQzI0VNVC1ybC0xX0JJQmUtci0wNDAiPg0KICAgICAgICAgICAgICAgICAgICA8ZG9pPjEwLjExMTEvai4xNTQwLTYyNTMuMjAxMS4wMTY0OC54PC9kb2k+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iOTc4MTEwODM0ODg0MyNFTVQtcmwtMV9CSUJlLXItMDY4Ij4NCiAgICAgICAgICAgICAgICAgICAgPGRvaT4xMC4xMDE3L0NCTzk3ODA1MTE1MTE5Njc8L2RvaT4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSI5NzgxMTA4MzQ4ODQzI0VNVC1ybC0xX0JJQmUtci0xMCI+DQogICAgICAgICAgICAgICAgICAgIDx2b2x1bWVfdGl0bGU+U2h1aWh1ZGkgUWluIG11IHpodWppYW48L3ZvbHVtZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGNZZWFyPjE5OTA8L2NZZWFyPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPlNodWlodWRpIFFpbiBtdSB6aHVqaWFuPC9hdXRob3I+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iOTc4MTEwODM0ODg0MyNFTVQtcmwtMV9CSUJlLXItMTI2Ij4NCiAgICAgICAgICAgICAgICAgICAgPHZvbHVtZV90aXRsZT5Nb3ppOiBBIFN0dWR5IGFuZCBUcmFuc2xhdGlvbiBvZiB0aGUgRXRoaWNhbCBhbmQgUG9saXRpY2FsIFdyaXRpbmdzPC92b2x1bWVfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxjWWVhcj4yMDEzPC9jWWVhcj4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5Lbm9ibG9jazwvYXV0aG9yPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9Ijk3ODExMDgzNDg4NDMjRU1ULXJsLTFfQklCZS1yLTA5NCI+DQogICAgICAgICAgICAgICAgICAgIDx2b2x1bWVfdGl0bGU+RGlzcHV0ZXJzIG9mIHRoZSBUYW86IFBoaWxvc29waGljYWwgQXJndW1lbnQgaW4gQW5jaWVudCBDaGluYTwvdm9sdW1lX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8Y1llYXI+MTk4OTwvY1llYXI+DQogICAgICAgICAgICAgICAgICAgIDxhdXRob3I+R3JhaGFtPC9hdXRob3I+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iOTc4MTEwODM0ODg0MyNFTVQtcmwtMV9CSUJlLXItMTQ2Ij4NCiAgICAgICAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+WHVlc2h1IHRhbnNodW88L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPlFpbiDigJhmYXpoaeKAmSBkZSBMaWx1biBLdW5qaW4gVG91eGk6IFlpIFNodWlodWRpIFFpbiBKaWFuIOKAmFl1c2h14oCZIOKAmFdlaSBMaSBaaGkgRGFv4oCZIFdlaSBaaG9uZ3hpbuKAnSDnp6bigJzms5XmsrvigJ3nmoTnkIboq5blm7DlooPpgI/mnpDigJTigJTku6XnnaHomY7lnLDnp6bnroDjgIroqp7mm7jjgIvjgIHjgIrngrrlkI/kuYvpgZPjgIvngrrkuK3lv4M8L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDx2b2x1bWU+MTE8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+Mjg8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgICAgICAgIDxjWWVhcj4yMDEyPC9jWWVhcj4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5MaTwvYXV0aG9yPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9Ijk3ODExMDgzNDg4NDMjRU1ULXJsLTFfQklCZS1yLTAyNyI+DQogICAgICAgICAgICAgICAgICAgIDx2b2x1bWVfdGl0bGU+SMWNa2Egc2hpc8WNIG5vIGdlbnJ5xas8L3ZvbHVtZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGNZZWFyPjE5ODA8L2NZZWFyPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPsWMdHN1a2E8L2F1dGhvcj4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSI5NzgxMTA4MzQ4ODQzI0VNVC1ybC0xX0JJQmUtci0xMjgiPg0KICAgICAgICAgICAgICAgICAgICA8dm9sdW1lX3RpdGxlPkJldHdlZW4gSGlzdG9yeSBhbmQgUGhpbG9zb3BoeTogQW5lY2RvdGVzIGluIEVhcmx5IENoaW5hPC92b2x1bWVfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjM0NzwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgICAgICAgPGNZZWFyPjIwMTc8L2NZZWFyPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPktyaWpnc21hbjwvYXV0aG9yPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9Ijk3ODExMDgzNDg4NDMjRU1ULXJsLTFfQklCZS1yLTIwMCI+DQogICAgICAgICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPkJ1bGxldGluIG9mIHRoZSBNdXNldW0gb2YgRmFyIEVhc3Rlcm4gQW50aXF1aXRpZXM8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPlZpb2xlbnQgTWlzcmVhZGluZ3M6IFRoZSBIZXJtZW5ldXRpY3Mgb2YgQ29zbW9sb2d5IGluIHRoZSBIdWFpbmFuemk8L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDx2b2x1bWU+NzI8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+Mjk8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgICAgICAgIDxjWWVhcj4yMDAwPC9jWWVhcj4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5QdWV0dDwvYXV0aG9yPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9Ijk3ODExMDgzNDg4NDMjRU1ULXJsLTFfQklCZS1yLTE3MCI+DQogICAgICAgICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPkFzaWF0aXNjaGUgU3R1ZGllbuKAk8OJdHVkZXMgYXNpYXRpcXVlczwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+T24gdGhlIEFudGlxdWUgUmhldG9yaWMgb2YgRnJpZW5kc2hpcDwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPHZvbHVtZT42ODwvdm9sdW1lPg0KICAgICAgICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT4xMjI1PC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICAgICAgICA8Y1llYXI+MjAxNDwvY1llYXI+DQogICAgICAgICAgICAgICAgICAgIDxhdXRob3I+TnlsYW48L2F1dGhvcj4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSI5NzgxMTA4MzQ4ODQzI0VNVC1ybC0xX0JJQmUtci0xODciPg0KICAgICAgICAgICAgICAgICAgICA8dm9sdW1lX3RpdGxlPldheXMgd2l0aCBXb3JkczogV3JpdGluZyBhYm91dCBSZWFkaW5nIFRleHRzIGZyb20gRWFybHkgQ2hpbmE8L3ZvbHVtZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+MzE8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgICAgICAgIDxjWWVhcj4yMDAwPC9jWWVhcj4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5QZXRlcnNvbjwvYXV0aG9yPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9Ijk3ODExMDgzNDg4NDMjRU1ULXJsLTFfQklCZS1yLTA3OSI+DQogICAgICAgICAgICAgICAgICAgIDxkb2k+MTAuMTM1My9wZXcuMjAxMi4wMDQxPC9kb2k+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iOTc4MTEwODM0ODg0MyNFTVQtcmwtMV9CSUJlLXItMDUyIj4NCiAgICAgICAgICAgICAgICAgICAgPGRvaT4xMC4yMzA3L2ouY3R0MWRubjl2ZzwvZG9pPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9Ijk3ODExMDgzNDg4NDMjRU1ULXJsLTFfQklCZS1yLTI0NCI+DQogICAgICAgICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPkVhc3QgQXNpYW4gaGlzdG9yeTwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+RnJpZW5kc2hpcCBpbiBBbmNpZW50IENoaW5hPC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8dm9sdW1lPjI3PC92b2x1bWU+DQogICAgICAgICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjE8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgICAgICAgIDxjWWVhcj4yMDA0PC9jWWVhcj4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5WZXJ2b29ybjwvYXV0aG9yPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9Ijk3ODExMDgzNDg4NDMjRU1ULXJsLTFfQklCZS1yLTEyMSI+DQogICAgICAgICAgICAgICAgICAgIDx2b2x1bWVfdGl0bGU+VGhlIFN0ZWxlIEluc2NyaXB0aW9ucyBvZiBDaOKAmWluIFNoaWgtSHVhbmc6IFRleHQgYW5kIFJpdHVhbCBpbiBFYXJseSBDaGluZXNlIEltcGVyaWFsIFJlcHJlc2VudGF0aW9uPC92b2x1bWVfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxjWWVhcj4yMDAwPC9jWWVhcj4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5LZXJuPC9hdXRob3I+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iOTc4MTEwODM0ODg0MyNFTVQtcmwtMV9CSUJlLXItMjAiPg0KICAgICAgICAgICAgICAgICAgICA8dm9sdW1lX3RpdGxlPlNoYW5nanVuc2h1IGppZWd1IGRpbmdiZW48L3ZvbHVtZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGNZZWFyPjE5NTY8L2NZZWFyPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPlpodTwvYXV0aG9yPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9Ijk3ODExMDgzNDg4NDMjRU1ULXJsLTFfQklCZS1yLTI2MiI+DQogICAgICAgICAgICAgICAgICAgIDx2b2x1bWVfdGl0bGU+Q29uZnVjaXVzIGFuZCB0aGUgQW5hbGVjdHM6IE5ldyBFc3NheXM8L3ZvbHVtZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+OTQ8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgICAgICAgIDxjWWVhcj4yMDAyPC9jWWVhcj4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5XaWxzb248L2F1dGhvcj4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSI5NzgxMTA4MzQ4ODQzI0VNVC1ybC0xX0JJQmUtci0yMzYiPg0KICAgICAgICAgICAgICAgICAgICA8dm9sdW1lX3RpdGxlPlRoZSBTaGVuIFR6dSBGcmFnbWVudHM8L3ZvbHVtZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGNZZWFyPjE5Nzk8L2NZZWFyPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPlRob21wc29uPC9hdXRob3I+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iOTc4MTEwODM0ODg0MyNFTVQtcmwtMV9CSUJlLXItMTYiPg0KICAgICAgICAgICAgICAgICAgICA8dm9sdW1lX3RpdGxlPlhpbnNodSBqaWFvemh1PC92b2x1bWVfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxjWWVhcj4yMDAwPC9jWWVhcj4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5aaGVueWk8L2F1dGhvcj4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSI5NzgxMTA4MzQ4ODQzI0VNVC1ybC0xX0JJQmUtci0wOTMiPg0KICAgICAgICAgICAgICAgICAgICA8ZG9pPjEwLjExMTEvai4xNTQwLTYyNTMuMjAxMC4wMTYyOS54PC9kb2k+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iOTc4MTEwODM0ODg0MyNFTVQtcmwtMV9CSUJlLXItMjI4Ij4NCiAgICAgICAgICAgICAgICAgICAgPHZvbHVtZV90aXRsZT5NZW5jaXVzIGFuZCBFYXJseSBDaGluZXNlIFRob3VnaHQ8L3ZvbHVtZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGNZZWFyPjE5OTc8L2NZZWFyPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPjE5NVNodW48L2F1dGhvcj4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSI5NzgxMTA4MzQ4ODQzI0VNVC1ybC0xX0JJQmUtci0xNCI+DQogICAgICAgICAgICAgICAgICAgIDx2b2x1bWVfdGl0bGU+WGlueXUgamlhb3podTwvdm9sdW1lX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8Y1llYXI+MTk4NjwvY1llYXI+DQogICAgICAgICAgICAgICAgICAgIDxhdXRob3I+V2FuZzwvYXV0aG9yPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9Ijk3ODExMDgzNDg4NDMjRU1ULXJsLTFfQklCZS1yLTE4NiI+DQogICAgICAgICAgICAgICAgICAgIDxkb2k+MTAuMTA4MC8wMjU0OTk0OC4xOTk1LjExNzMxMjY4PC9kb2k+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iOTc4MTEwODM0ODg0MyNFTVQtcmwtMV9CSUJlLXItMjYzIj4NCiAgICAgICAgICAgICAgICAgICAgPHZvbHVtZV90aXRsZT5BIEdsb2JhbCBIaXN0b3J5IG9mIEhpc3Rvcnk8L3ZvbHVtZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGNZZWFyPjIwMTE8L2NZZWFyPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPldvb2xmPC9hdXRob3I+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iOTc4MTEwODM0ODg0MyNFTVQtcmwtMV9CSUJlLXItMDk3Ij4NCiAgICAgICAgICAgICAgICAgICAgPHZvbHVtZV90aXRsZT5HdXNoaWJpYW48L3ZvbHVtZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPHZvbHVtZT43PC92b2x1bWU+DQogICAgICAgICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjQzPC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICAgICAgICA8Y1llYXI+MTk4MjwvY1llYXI+DQogICAgICAgICAgICAgICAgICAgIDxhdXRob3I+SmllZ2FuZzwvYXV0aG9yPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9Ijk3ODExMDgzNDg4NDMjRU1ULXJsLTFfQklCZS1yLTA4OCI+DQogICAgICAgICAgICAgICAgICAgIDxkb2k+MTAuMTc4NzUvZ3VwMjAwOS00NTI8L2RvaT4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSI5NzgxMTA4MzQ4ODQzI0VNVC1ybC0xX0JJQmUtci0yMjUiPg0KICAgICAgICAgICAgICAgICAgICA8ZG9pPjEwLjEzNTMvamFzLjIwMTUuMDAyMjwvZG9pPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9Ijk3ODExMDgzNDg4NDMjRU1ULXJsLTFfQklCZS1yLTIzMiI+DQogICAgICAgICAgICAgICAgICAgIDx2b2x1bWVfdGl0bGU+QSBDaGluZXNlIEJlc3RpYXJ5OiBTdHJhbmdlIENyZWF0dXJlcyBmcm9tIHRoZSBHdWlkZXdheXMgdGhyb3VnaCBNb3VudGFpbnMgYW5kIFNlYXMgPSBbU2hhbiBIYWkgSmluZ108L3ZvbHVtZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGNZZWFyPjIwMDI8L2NZZWFyPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPlN0cmFzc2Jlcmc8L2F1dGhvcj4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSI5NzgxMTA4MzQ4ODQzI0VNVC1ybC0xX0JJQmUtci0wODciPg0KICAgICAgICAgICAgICAgICAgICA8dm9sdW1lX3RpdGxlPkNoaW5lc2UgVHJhZGl0aW9uYWwgSGlzdG9yaW9ncmFwaHk8L3ZvbHVtZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGNZZWFyPjE5Mzg8L2NZZWFyPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPkdhcmRuZXI8L2F1dGhvcj4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSI5NzgxMTA4MzQ4ODQzI0VNVC1ybC0xX0JJQmUtci0yNDYiPg0KICAgICAgICAgICAgICAgICAgICA8dm9sdW1lX3RpdGxlPkdlc2NoaWNodGUgYWxzIFByb2JsZW06IEVudHN0ZWh1bmcsIEZvcm1lbiB1bmQgRnVua3Rpb25lbiB2b24gR2VzY2hpY2h0c3NjaHJlaWJ1bmcgaW0gYWx0ZW4gQ2hpbmE8L3ZvbHVtZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGNZZWFyPjIwMDc8L2NZZWFyPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPlZvZ2Vsc2FuZzwvYXV0aG9yPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9Ijk3ODExMDgzNDg4NDMjRU1ULXJsLTFfQklCZS1yLTIxNiI+DQogICAgICAgICAgICAgICAgICAgIDxkb2k+MTAuMTAxNy9TMDM2MjUwMjgwMDAwMzI2NjwvZG9pPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9Ijk3ODExMDgzNDg4NDMjRU1ULXJsLTFfQklCZS1yLTEwMyI+DQogICAgICAgICAgICAgICAgICAgIDxkb2k+MTAuNzMxMi9oYXJyMTc3NjY8L2RvaT4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSI5NzgxMTA4MzQ4ODQzI0VNVC1ybC0xX0JJQmUtci0xMzkiPg0KICAgICAgICAgICAgICAgICAgICA8dm9sdW1lX3RpdGxlPlRoZSBPeGZvcmQgSGlzdG9yeSBvZiBIaXN0b3JpY2FsIFdyaXRpbmc8L3ZvbHVtZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+NDQwPC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICAgICAgICA8Y1llYXI+MjAxMTwvY1llYXI+DQogICAgICAgICAgICAgICAgICAgIDxhdXRob3I+TGV3aXM8L2F1dGhvcj4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSI5NzgxMTA4MzQ4ODQzI0VNVC1ybC0xX0JJQmUtci0yMTkiPg0KICAgICAgICAgICAgICAgICAgICA8dm9sdW1lX3RpdGxlPkhpc3RvcmljYWwgVHJ1dGgsIEhpc3RvcmljYWwgQ3JpdGljaXNtLCBhbmQgSWRlb2xvZ3k6IENoaW5lc2UgSGlzdG9yaW9ncmFwaHkgYW5kIEhpc3RvcmljYWwgQ3VsdHVyZSBmcm9tIGEgTmV3IENvbXBhcmF0aXZlIFBlcnNwZWN0aXZlPC92b2x1bWVfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxjWWVhcj4yMDA1PC9jWWVhcj4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5TY2htaWR0LUdsaW50emVyPC9hdXRob3I+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iOTc4MTEwODM0ODg0MyNFTVQtcmwtMV9CSUJlLXItMTE0Ij4NCiAgICAgICAgICAgICAgICAgICAgPGRvaT4xMC4xMTYzLzE1Njg1MzIyLTEwMDEzcDAyPC9kb2k+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iOTc4MTEwODM0ODg0MyNFTVQtcmwtMV9CSUJlLXItMDM4Ij4NCiAgICAgICAgICAgICAgICAgICAgPGRvaT4xMC4xMTExL2ouMTU0MC02MjUzLjIwMDcuMDA0MjYueDwvZG9pPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9Ijk3ODExMDgzNDg4NDMjRU1ULXJsLTFfQklCZS1yLTIiPg0KICAgICAgICAgICAgICAgICAgICA8dm9sdW1lX3RpdGxlPkhhbiBGZWl6aSBqaXNoaTwvdm9sdW1lX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8Y1llYXI+MTk3NDwvY1llYXI+DQogICAgICAgICAgICAgICAgICAgIDxhdXRob3I+Q2hlbjwvYXV0aG9yPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9Ijk3ODExMDgzNDg4NDMjRU1ULXJsLTFfQklCZS1yLTMiPg0KICAgICAgICAgICAgICAgICAgICA8dm9sdW1lX3RpdGxlPkzDvHNoaSBDaHVucWl1IGppYW9zaGk8L3ZvbHVtZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGNZZWFyPjE5ODQ8L2NZZWFyPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPkNoZW48L2F1dGhvcj4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSI5NzgxMTA4MzQ4ODQzI0VNVC1ybC0xX0JJQmUtci0xMDQiPg0KICAgICAgICAgICAgICAgICAgICA8dm9sdW1lX3RpdGxlPlhpIEhhbiB6aGVuZ3poaSBzaXhpYW5nIGx1bmppPC92b2x1bWVfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxjWWVhcj4xOTg4PC9jWWVhcj4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5IZSBMaW5neHUg6LOA5YeM6JmbPC9hdXRob3I+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iOTc4MTEwODM0ODg0MyNFTVQtcmwtMV9CSUJlLXItMTM2Ij4NCiAgICAgICAgICAgICAgICAgICAgPHZvbHVtZV90aXRsZT5UYW8gVGUgQ2hpbmc8L3ZvbHVtZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGNZZWFyPjIwMDM8L2NZZWFyPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPkxhdTwvYXV0aG9yPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9Ijk3ODExMDgzNDg4NDMjRU1ULXJsLTFfQklCZS1yLTQiPg0KICAgICAgICAgICAgICAgICAgICA8dm9sdW1lX3RpdGxlPlRoZSBCYW1ib28gVGV4dHMgb2YgR3VvZGlhbjogQSBTdHVkeSBhbmQgQ29tcGxldGUgVHJhbnNsYXRpb248L3ZvbHVtZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+MTY0PC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICAgICAgICA8Y1llYXI+MjAxMjwvY1llYXI+DQogICAgICAgICAgICAgICAgICAgIDxhdXRob3I+Q29vazwvYXV0aG9yPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9Ijk3ODExMDgzNDg4NDMjRU1ULXJsLTFfQklCZS1yLTA2NSI+DQogICAgICAgICAgICAgICAgICAgIDx2b2x1bWVfdGl0bGU+VGhlIE1vemkgYXMgYW4gRXZvbHZpbmcgVGV4dDogRGlmZmVyZW50IFZvaWNlcyBpbiBFYXJseSBDaGluZXNlIFRob3VnaHQ8L3ZvbHVtZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGNZZWFyPjIwMTM8L2NZZWFyPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPkRlZm9vcnQ8L2F1dGhvcj4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSI5NzgxMTA4MzQ4ODQzI0VNVC1ybC0xX0JJQmUtci0yMDciPg0KICAgICAgICAgICAgICAgICAgICA8dm9sdW1lX3RpdGxlPkNvbmZ1Y2lhbiBFdGhpY3Mgb2YgdGhlIEF4aWFsIEFnZTogQSBSZWNvbnN0cnVjdGlvbiB1bmRlciB0aGUgQXNwZWN0IG9mIHRoZSBCcmVha3Rocm91Z2ggdG93YXJkIFBvc3Rjb252ZW50aW9uYWwgVGhpbmtpbmc8L3ZvbHVtZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGNZZWFyPjE5OTM8L2NZZWFyPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPlJvZXR6PC9hdXRob3I+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iOTc4MTEwODM0ODg0MyNFTVQtcmwtMV9CSUJlLXItMTEiPg0KICAgICAgICAgICAgICAgICAgICA8dm9sdW1lX3RpdGxlPlNoaWppPC92b2x1bWVfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxjWWVhcj4xOTU2PC9jWWVhcj4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5TaW1hIFFpYW48L2F1dGhvcj4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSI5NzgxMTA4MzQ4ODQzI0VNVC1ybC0xX0JJQmUtci0yNTAiPg0KICAgICAgICAgICAgICAgICAgICA8dm9sdW1lX3RpdGxlPlRoZSBCb29rIG9mIFNvbmdzOiBUaGUgQW5jaWVudCBDaGluZXNlIENsYXNzaWMgb2YgUG9ldHJ5PC92b2x1bWVfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxjWWVhcj4xOTk2PC9jWWVhcj4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5XYWxleTwvYXV0aG9yPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9Ijk3ODExMDgzNDg4NDMjRU1ULXJsLTFfQklCZS1yLTEyIj4NCiAgICAgICAgICAgICAgICAgICAgPHZvbHVtZV90aXRsZT5Nb3ppIGppYW4gZ3U8L3ZvbHVtZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGNZZWFyPjIwMDE8L2NZZWFyPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPlN1bjwvYXV0aG9yPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9Ijk3ODExMDgzNDg4NDMjRU1ULXJsLTFfQklCZS1yLTEzIj4NCiAgICAgICAgICAgICAgICAgICAgPHZvbHVtZV90aXRsZT5TaGFuZyBaaG91IGppbndlbjwvdm9sdW1lX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8Y1llYXI+MjAwNjwvY1llYXI+DQogICAgICAgICAgICAgICAgICAgIDxhdXRob3I+SHVpPC9hdXRob3I+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iOTc4MTEwODM0ODg0MyNFTVQtcmwtMV9CSUJlLXItOCI+DQogICAgICAgICAgICAgICAgICAgIDx2b2x1bWVfdGl0bGU+U2hpamluZyBxdWFuc2hpPC92b2x1bWVfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxjWWVhcj4xOTgzPC9jWWVhcj4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5XYW5saTwvYXV0aG9yPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9Ijk3ODExMDgzNDg4NDMjRU1ULXJsLTFfQklCZS1yLTA2MCI+DQogICAgICAgICAgICAgICAgICAgIDx2b2x1bWVfdGl0bGU+U2hlbiBQdS1IYWk6IEEgQ2hpbmVzZSBQb2xpdGljYWwgUGhpbG9zb3BoZXIgb2YgdGhlIEZvdXJ0aCBDZW50dXJ5IEIuQzwvdm9sdW1lX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8Y1llYXI+MTk3NDwvY1llYXI+DQogICAgICAgICAgICAgICAgICAgIDxhdXRob3I+Q3JlZWw8L2F1dGhvcj4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSI5NzgxMTA4MzQ4ODQzI0VNVC1ybC0xX0JJQmUtci0xNSI+DQogICAgICAgICAgICAgICAgICAgIDx2b2x1bWVfdGl0bGU+Wmh1YW5nemkgamkgamllPC92b2x1bWVfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxjWWVhcj4xOTg3PC9jWWVhcj4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5XYW5nPC9hdXRob3I+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iOTc4MTEwODM0ODg0MyNFTVQtcmwtMV9CSUJlLXItMTciPg0KICAgICAgICAgICAgICAgICAgICA8dm9sdW1lX3RpdGxlPkx1bnl1IHlpemh1PC92b2x1bWVfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxjWWVhcj4xOTgwPC9jWWVhcj4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5ZYW5nPC9hdXRob3I+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iOTc4MTEwODM0ODg0MyNFTVQtcmwtMV9CSUJlLXItMTIwIj4NCiAgICAgICAgICAgICAgICAgICAgPHZvbHVtZV90aXRsZT5UaGUgQW5jZXN0cmFsIExhbmRzY2FwZTogVGltZSwgU3BhY2UsIGFuZCBDb21tdW5pdHkgaW4gTGF0ZSBTaGFuZyBDaGluYSwgY2EuIDEyMDDigJMxMDQ1IEIuQzwvdm9sdW1lX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8Y1llYXI+MjAwMDwvY1llYXI+DQogICAgICAgICAgICAgICAgICAgIDxhdXRob3I+S2VpZ2h0bGV5PC9hdXRob3I+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iOTc4MTEwODM0ODg0MyNFTVQtcmwtMV9CSUJlLXItMjEiPg0KICAgICAgICAgICAgICAgICAgICA8dm9sdW1lX3RpdGxlPkxhb3ppIGppYW9zaGk8L3ZvbHVtZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGNZZWFyPjE5ODQ8L2NZZWFyPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPlFpYW56aGk8L2F1dGhvcj4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSI5NzgxMTA4MzQ4ODQzI0VNVC1ybC0xX0JJQmUtci0wMjIiPg0KICAgICAgICAgICAgICAgICAgICA8ZG9pPjEwLjExMTEvai4xNTQwLTYyNTMuMTk3Ni50YjAwMzg4Lng8L2RvaT4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSI5NzgxMTA4MzQ4ODQzI0VNVC1ybC0xX0JJQmUtci0xMDkiPg0KICAgICAgICAgICAgICAgICAgICA8dm9sdW1lX3RpdGxlPlRoZSBJbnZlbnRpb24gb2YgVHJhZGl0aW9uPC92b2x1bWVfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjE8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgICAgICAgIDxjWWVhcj4xOTgzPC9jWWVhcj4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5Ib2JzYmF3bTwvYXV0aG9yPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9Ijk3ODExMDgzNDg4NDMjRU1ULXJsLTFfQklCZS1yLTAyMyI+DQogICAgICAgICAgICAgICAgICAgIDx2b2x1bWVfdGl0bGU+VGhlIEFydCBvZiBSdWxlcnNoaXA6IEEgU3R1ZHkgaW4gQW5jaWVudCBDaGluZXNlIFBvbGl0aWNhbCBUaG91Z2h0PC92b2x1bWVfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxjWWVhcj4xOTgzPC9jWWVhcj4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5BbWVzPC9hdXRob3I+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iOTc4MTEwODM0ODg0MyNFTVQtcmwtMV9CSUJlLXItMDI1Ij4NCiAgICAgICAgICAgICAgICAgICAgPHZvbHVtZV90aXRsZT5UaGUgRGlhbG9naWMgSW1hZ2luYXRpb246IEZvdXIgRXNzYXlzPC92b2x1bWVfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxjWWVhcj4yMDA0PC9jWWVhcj4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5CYWtodGluPC9hdXRob3I+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iOTc4MTEwODM0ODg0MyNFTVQtcmwtMV9CSUJlLXItMDI2Ij4NCiAgICAgICAgICAgICAgICAgICAgPHZvbHVtZV90aXRsZT5DaGluZXNlIENpdmlsaXphdGlvbiBhbmQgQnVyZWF1Y3JhY3k6IFZhcmlhdGlvbnMgb24gYSBUaGVtZTwvdm9sdW1lX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8Y1llYXI+MTk2NDwvY1llYXI+DQogICAgICAgICAgICAgICAgICAgIDxhdXRob3I+QmFsYXpzPC9hdXRob3I+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iOTc4MTEwODM0ODg0MyNFTVQtcmwtMV9CSUJlLXItMDc2Ij4NCiAgICAgICAgICAgICAgICAgICAgPHZvbHVtZV90aXRsZT5adW8gVHJhZGl0aW9ucyA9IFp1b3podWFuOiBDb21tZW50YXJ5IG9uIHRoZSDigJxTcHJpbmcgYW5kIEF1dHVtbiBBbm5hbHPigJ08L3ZvbHVtZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPHZvbHVtZT4zPC92b2x1bWU+DQogICAgICAgICAgICAgICAgICAgIDxjWWVhcj4yMDE2PC9jWWVhcj4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5EdXJyYW50PC9hdXRob3I+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iOTc4MTEwODM0ODg0MyNFTVQtcmwtMV9CSUJlLXItMTUzIj4NCiAgICAgICAgICAgICAgICAgICAgPHZvbHVtZV90aXRsZT5UaGUgR292ZXJubWVudCBvZiB0aGUgUWluIGFuZCBIYW4gRW1waXJlczogMjIxIEJDReKAkzIyMCBDRTwvdm9sdW1lX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8Y1llYXI+MjAwNjwvY1llYXI+DQogICAgICAgICAgICAgICAgICAgIDxhdXRob3I+TG9ld2U8L2F1dGhvcj4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSI5NzgxMTA4MzQ4ODQzI0VNVC1ybC0xX0JJQmUtci0wMjgiPg0KICAgICAgICAgICAgICAgICAgICA8dm9sdW1lX3RpdGxlPkhpc3RvcmlhbnMgb2YgQ2hpbmEgYW5kIEphcGFuLCBIaXN0b3JpY2FsIFdyaXRpbmcgb24gdGhlIFBlb3BsZXMgb2YgQXNpYTwvdm9sdW1lX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8Y1llYXI+MTk2MTwvY1llYXI+DQogICAgICAgICAgICAgICAgICAgIDxhdXRob3I+QmVhc2xleTwvYXV0aG9yPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9Ijk3ODExMDgzNDg4NDMjRU1ULXJsLTFfQklCZS1yLTA5MiI+DQogICAgICAgICAgICAgICAgICAgIDx2b2x1bWVfdGl0bGU+QmV0d2VlbiBIaXN0b3J5IGFuZCBQaGlsb3NvcGh5OiBBbmVjZG90ZXMgaW4gRWFybHkgQ2hpbmE8L3ZvbHVtZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+NTQ8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgICAgICAgIDxjWWVhcj4yMDE3PC9jWWVhcj4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5Hb2xkaW48L2F1dGhvcj4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSI5NzgxMTA4MzQ4ODQzI0VNVC1ybC0xX0JJQmUtci0wMzAiPg0KICAgICAgICAgICAgICAgICAgICA8dm9sdW1lX3RpdGxlPk1lbmNpdXM6IENvbnRleHRzIGFuZCBJbnRlcnByZXRhdGlvbnM8L3ZvbHVtZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+OTE8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgICAgICAgIDxjWWVhcj4yMDAyPC9jWWVhcj4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5CbG9vbTwvYXV0aG9yPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9Ijk3ODExMDgzNDg4NDMjRU1ULXJsLTFfQklCZS1yLTAzMSI+DQogICAgICAgICAgICAgICAgICAgIDxkb2k+MTAuMjMwNy8xNDAwMjQ4PC9kb2k+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iOTc4MTEwODM0ODg0MyNFTVQtcmwtMV9CSUJlLXItMDgzIj4NCiAgICAgICAgICAgICAgICAgICAgPHZvbHVtZV90aXRsZT5BIFNob3J0IEhpc3Rvcnkgb2YgQ2hpbmVzZSBQaGlsb3NvcGh5PC92b2x1bWVfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxjWWVhcj4xOTQ4PC9jWWVhcj4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5GZW5nPC9hdXRob3I+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iOTc4MTEwODM0ODg0MyNFTVQtcmwtMV9CSUJlLXItMDMzIj4NCiAgICAgICAgICAgICAgICAgICAgPHZvbHVtZV90aXRsZT5DaGluYeKAmXMgRmlyc3QgVW5pZmllcjogQSBTdHVkeSBvZiB0aGUgQ2jigJlpbiBEeW5hc3R5IGFzIFNlZW4gaW4gdGhlIExpZmUgb2YgTGkgU3PFrSAoMjgwP+KAkzIwOCBCLkMuKTwvdm9sdW1lX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8Y1llYXI+MTkzODwvY1llYXI+DQogICAgICAgICAgICAgICAgICAgIDxhdXRob3I+Qm9kZGU8L2F1dGhvcj4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSI5NzgxMTA4MzQ4ODQzI0VNVC1ybC0xX0JJQmUtci0wMzUiPg0KICAgICAgICAgICAgICAgICAgICA8dm9sdW1lX3RpdGxlPlJlYWRpbmdzIGluIEVjb25vbWljIFNvY2lvbG9neTwvdm9sdW1lX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8Y1llYXI+MjAwMjwvY1llYXI+DQogICAgICAgICAgICAgICAgICAgIDxhdXRob3I+Qm91cmRpZXU8L2F1dGhvcj4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSI5NzgxMTA4MzQ4ODQzI0VNVC1ybC0xX0JJQmUtci0wNjkiPg0KICAgICAgICAgICAgICAgICAgICA8dm9sdW1lX3RpdGxlPlRoZSBCb29rIG9mIE1lbmNpdXMgYW5kIEl0cyBSZWNlcHRpb24gaW4gQ2hpbmEgYW5kIEJleW9uZDwvdm9sdW1lX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT4xODk8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgICAgICAgIDxjWWVhcj4yMDA4PC9jWWVhcj4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5Ew7ZyaW5nPC9hdXRob3I+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iOTc4MTEwODM0ODg0MyNFTVQtcmwtMV9CSUJlLXItMTA3Ij4NCiAgICAgICAgICAgICAgICAgICAgPHZvbHVtZV90aXRsZT5MYW8gVHp14oCZcyBUYW8gVGUgQ2hpbmc6IEEgVHJhbnNsYXRpb24gb2YgdGhlIFN0YXJ0bGluZyBOZXcgRG9jdW1lbnRzIEZvdW5kIGF0IEd1b2RpYW48L3ZvbHVtZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGNZZWFyPjIwMDA8L2NZZWFyPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPkhlbnJpY2tzPC9hdXRob3I+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iOTc4MTEwODM0ODg0MyNFTVQtcmwtMV9CSUJlLXItMDQxIj4NCiAgICAgICAgICAgICAgICAgICAgPHZvbHVtZV90aXRsZT5UaGUgT3JpZ2luYWwgQW5hbGVjdHM6IFNheWluZ3Mgb2YgQ29uZnVjaXVzIGFuZCBIaXMgU3VjY2Vzc29yczwvdm9sdW1lX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8Y1llYXI+MTk5ODwvY1llYXI+DQogICAgICAgICAgICAgICAgICAgIDxhdXRob3I+QnJvb2tzPC9hdXRob3I+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iOTc4MTEwODM0ODg0MyNFTVQtcmwtMV9CSUJlLXItMDgyIj4NCiAgICAgICAgICAgICAgICAgICAgPGRvaT4xMC4xMzUzL25saC4yMDExLjAwNDU8L2RvaT4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSI5NzgxMTA4MzQ4ODQzI0VNVC1ybC0xX0JJQmUtci0wNDMiPg0KICAgICAgICAgICAgICAgICAgICA8dm9sdW1lX3RpdGxlPlFpbiBIYW4gZ3VhbmxpYW8gemhpZHU8L3ZvbHVtZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGNZZWFyPjIwMDI8L2NZZWFyPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPlhpYW5xdW48L2F1dGhvcj4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSI5NzgxMTA4MzQ4ODQzI0VNVC1ybC0xX0JJQmUtci0wMjQiPg0KICAgICAgICAgICAgICAgICAgICA8ZG9pPjEwLjE4Mzk5L2FjdGEuMjAxNy4yMC4xLjAwMTwvZG9pPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9Ijk3ODExMDgzNDg4NDMjRU1ULXJsLTFfQklCZS1yLTExMSI+DQogICAgICAgICAgICAgICAgICAgIDx1bnN0cnVjdHVyZWRfY2l0YXRpb24+SHVhbmcgUGVpcm9uZyDpu4Pmspvmpq4sIOKAnFpob3VzaHUgeWFuaml14oCdIOWRqOabuOeglOeptiwgUGhEIGRpc3NlcnRhdGlvbiAoR3VvbGkgVGFpd2FuIGRheHVlIHpob25nd2VuIHlhbmppdXN1byDlnIvnq4vlj7DngaPlpKflrbjkuK3mlofnoJTnqbbmiYAsIDE5NzYpPC91bnN0cnVjdHVyZWRfY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iOTc4MTEwODM0ODg0MyNFTVQtcmwtMV9CSUJlLXItNSI+DQogICAgICAgICAgICAgICAgICAgIDx2b2x1bWVfdGl0bGU+UXVhbiBIYW4gZnU8L3ZvbHVtZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGNZZWFyPjE5OTM8L2NZZWFyPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPkZlaSBaaGVu4oCZZ2FuZzwvYXV0aG9yPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9Ijk3ODExMDgzNDg4NDMjRU1ULXJsLTFfQklCZS1yLTA0NCI+DQogICAgICAgICAgICAgICAgICAgIDx2b2x1bWVfdGl0bGU+RW1waXJlcyBpbiBXb3JsZCBIaXN0b3J5OiBQb3dlciBhbmQgdGhlIFBvbGl0aWNzIG9mIERpZmZlcmVuY2U8L3ZvbHVtZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGNZZWFyPjIwMTA8L2NZZWFyPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPkJ1cmJhbms8L2F1dGhvcj4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSI5NzgxMTA4MzQ4ODQzI0VNVC1ybC0xX0JJQmUtci0xMzciPg0KICAgICAgICAgICAgICAgICAgICA8ZG9pPjEwLjQzMjQvOTc4MTMxNTc3MzYwNS04PC9kb2k+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iOTc4MTEwODM0ODg0MyNFTVQtcmwtMV9CSUJlLXItMDg0Ij4NCiAgICAgICAgICAgICAgICAgICAgPGRvaT4xMC43MzEyL2ZyYXMxNDkyNjwvZG9pPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9Ijk3ODExMDgzNDg4NDMjRU1ULXJsLTFfQklCZS1yLTA0NSI+DQogICAgICAgICAgICAgICAgICAgIDx2b2x1bWVfdGl0bGU+SGlzdG9yeSBhbmQgTWFu4oCZcyBBdHRpdHVkZSB0byB0aGUgUGFzdDogVGhlaXIgUm9sZSBpbiB0aGUgU3Rvcnkgb2YgQ2l2aWxpc2F0aW9uPC92b2x1bWVfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxjWWVhcj4xOTYxPC9jWWVhcj4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5CdXR0ZXJmaWVsZDwvYXV0aG9yPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9Ijk3ODExMDgzNDg4NDMjRU1ULXJsLTFfQklCZS1yLTA0NiI+DQogICAgICAgICAgICAgICAgICAgIDxkb2k+MTAuMTAwNy9zNDA2MzYtMDE1LTAwNDQtODwvZG9pPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9Ijk3ODExMDgzNDg4NDMjRU1ULXJsLTFfQklCZS1yLTEzMSI+DQogICAgICAgICAgICAgICAgICAgIDxkb2k+MTAuMjMwNy9qLmN0djJuN3I2cy4xMzwvZG9pPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9Ijk3ODExMDgzNDg4NDMjRU1ULXJsLTFfQklCZS1yLTA0NyI+DQogICAgICAgICAgICAgICAgICAgIDx2b2x1bWVfdGl0bGU+VGhlIFdyaXRpbmcgb2YgSGlzdG9yeTwvdm9sdW1lX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8Y1llYXI+MTk4ODwvY1llYXI+DQogICAgICAgICAgICAgICAgICAgIDxhdXRob3I+Q2VydGVhdTwvYXV0aG9yPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9Ijk3ODExMDgzNDg4NDMjRU1ULXJsLTFfQklCZS1yLTE2OCI+DQogICAgICAgICAgICAgICAgICAgIDx2b2x1bWVfdGl0bGU+Vmlld3MgZnJvbSBXaXRoaW4sIFZpZXdzIGZyb20gQmV5b25kOiBBcHByb2FjaGVzIHRvIHRoZSBTaGlqaSBhcyBhbiBFYXJseSBXb3JrIG9mIEhpc3RvcmlvZ3JhcGh5PC92b2x1bWVfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjEzMTwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgICAgICAgPGNZZWFyPjIwMTU8L2NZZWFyPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPk55bGFuPC9hdXRob3I+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iOTc4MTEwODM0ODg0MyNFTVQtcmwtMV9CSUJlLXItMDc1Ij4NCiAgICAgICAgICAgICAgICAgICAgPHZvbHVtZV90aXRsZT5UaGUgT3hmb3JkIEhhbmRib29rIG9mIENsYXNzaWNhbCBDaGluZXNlIExpdGVyYXR1cmUgKDEwMDAgQkNF4oCTOTAwIENFKTwvdm9sdW1lX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT4xODQ8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgICAgICAgIDxjWWVhcj4yMDE3PC9jWWVhcj4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5EdXJyYW50PC9hdXRob3I+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iOTc4MTEwODM0ODg0MyNFTVQtcmwtMV9CSUJlLXItMjIwIj4NCiAgICAgICAgICAgICAgICAgICAgPHZvbHVtZV90aXRsZT5JbXBlcmlhbGlzbSBhbmQgU29jaWFsIENsYXNzZXM6IFR3byBFc3NheXM8L3ZvbHVtZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGNZZWFyPjE5NTU8L2NZZWFyPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPlNjaHVtcGV0ZXI8L2F1dGhvcj4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSI5NzgxMTA4MzQ4ODQzI0VNVC1ybC0xX0JJQmUtci0wOTUiPg0KICAgICAgICAgICAgICAgICAgICA8dm9sdW1lX3RpdGxlPkRpdmlzaW9ucyBpbiBFYXJseSBNb2hpc20gUmVmbGVjdGVkIGluIHRoZSBDb3JlIENoYXB0ZXJzIG9mIE1vLVR6dTwvdm9sdW1lX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8Y1llYXI+MTk4NTwvY1llYXI+DQogICAgICAgICAgICAgICAgICAgIDxhdXRob3I+R3JhaGFtPC9hdXRob3I+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iOTc4MTEwODM0ODg0MyNFTVQtcmwtMV9CSUJlLXItMDQ5Ij4NCiAgICAgICAgICAgICAgICAgICAgPHZvbHVtZV90aXRsZT5YaSBaaG91IG5pYW5kYWkga2FvPC92b2x1bWVfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxjWWVhcj4xOTQ1PC9jWWVhcj4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5NZW5namlhPC9hdXRob3I+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iOTc4MTEwODM0ODg0MyNFTVQtcmwtMV9CSUJlLXItMDUzIj4NCiAgICAgICAgICAgICAgICAgICAgPGRvaT4xMC4xMTc5L3Rjci4yMDExLjE4LjEuMTwvZG9pPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9Ijk3ODExMDgzNDg4NDMjRU1ULXJsLTFfQklCZS1yLTIxMCI+DQogICAgICAgICAgICAgICAgICAgIDxkb2k+MTAuMTA4MC8wMjU0OTk0OC4yMDE3LjEzOTM5NTA8L2RvaT4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSI5NzgxMTA4MzQ4ODQzI0VNVC1ybC0xX0JJQmUtci0wNjYiPg0KICAgICAgICAgICAgICAgICAgICA8dm9sdW1lX3RpdGxlPlRoZSBEeW5hbWljcyBvZiBNYXN0ZXJzIExpdGVyYXR1cmU6IEVhcmx5IENoaW5lc2UgVGhvdWdodCBmcm9tIENvbmZ1Y2l1cyB0byBIYW4gRmVpemk8L3ZvbHVtZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGNZZWFyPjIwMTA8L2NZZWFyPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPkRlbmVja2U8L2F1dGhvcj4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSI5NzgxMTA4MzQ4ODQzI0VNVC1ybC0xX0JJQmUtci0wNTQiPg0KICAgICAgICAgICAgICAgICAgICA8dm9sdW1lX3RpdGxlPlRoZSBJZGVhIG9mIEhpc3Rvcnk8L3ZvbHVtZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGNZZWFyPjE5NjI8L2NZZWFyPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPkNvbGxpbmd3b29kPC9hdXRob3I+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iOTc4MTEwODM0ODg0MyNFTVQtcmwtMV9CSUJlLXItMDU2Ij4NCiAgICAgICAgICAgICAgICAgICAgPHZvbHVtZV90aXRsZT5BIFNvdXJjZSBCb29rIG9mIEFuY2llbnQgQ2hpbmVzZSBCcm9uemUgSW5zY3JpcHRpb25zPC92b2x1bWVfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxjWWVhcj4yMDE2PC9jWWVhcj4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5Db29rPC9hdXRob3I+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iOTc4MTEwODM0ODg0MyNFTVQtcmwtMV9CSUJlLXItMjIzIj4NCiAgICAgICAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+QXNpYSBNYWpvcjwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+QXJyYXlpbmcgdGhlIEFuY2VzdG9ycyBpbiBBbmNpZW50IENoaW5hOiBOYXJyYXRpdmVzIG9mIExpbmVhZ2UgSGlzdG9yeSBpbiB0aGUg4oCYU2NyaWJlIFFpYW5n4oCZIGFuZCDigJhRaXXigJkgQnJvbnplczwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPHZvbHVtZT4yNTwvdm9sdW1lPg0KICAgICAgICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT42MzwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgICAgICAgPGNZZWFyPjIwMTI8L2NZZWFyPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPlNlbmE8L2F1dGhvcj4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSI5NzgxMTA4MzQ4ODQzI0VNVC1ybC0xX0JJQmUtci0wNTgiPg0KICAgICAgICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5Bc2lhIE1ham9yPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5UaGUgVXNlIGFuZCBBYnVzZSBvZiBIaXN0b3J5IGluIEVhcmx5IENoaW5hIGZyb20gWHVuIFppIHRvIEzDvHNoaSBDaHVucWl1PC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8dm9sdW1lPjE4PC92b2x1bWU+DQogICAgICAgICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjQ1PC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICAgICAgICA8Y1llYXI+MjAwNTwvY1llYXI+DQogICAgICAgICAgICAgICAgICAgIDxhdXRob3I+Q29vazwvYXV0aG9yPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9Ijk3ODExMDgzNDg4NDMjRU1ULXJsLTFfQklCZS1yLTA1OSI+DQogICAgICAgICAgICAgICAgICAgIDx2b2x1bWVfdGl0bGU+V2hhdCBJcyBUYW9pc20/IEFuZCBPdGhlciBTdHVkaWVzIGluIENoaW5lc2UgQ3VsdHVyYWwgSGlzdG9yeTwvdm9sdW1lX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT45MjwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgICAgICAgPGNZZWFyPjE5NzA8L2NZZWFyPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPkNyZWVsPC9hdXRob3I+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iOTc4MTEwODM0ODg0MyNFTVQtcmwtMV9CSUJlLXItMDYxIj4NCiAgICAgICAgICAgICAgICAgICAgPHZvbHVtZV90aXRsZT5NYXRlcmlhbCBWaXJ0dWU6IEV0aGljcyBhbmQgdGhlIEJvZHkgaW4gRWFybHkgQ2hpbmE8L3ZvbHVtZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGNZZWFyPjIwMDQ8L2NZZWFyPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPkNzaWtzemVudG1paGFseWk8L2F1dGhvcj4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSI5NzgxMTA4MzQ4ODQzI0VNVC1ybC0xX0JJQmUtci0wNjIiPg0KICAgICAgICAgICAgICAgICAgICA8ZG9pPjEwLjEwMDcvOTc4LTkwLTQ4MS0yOTI3LTBfMzwvZG9pPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9Ijk3ODExMDgzNDg4NDMjRU1ULXJsLTFfQklCZS1yLTIwNiI+DQogICAgICAgICAgICAgICAgICAgIDx2b2x1bWVfdGl0bGU+UmVsaWdpb3VzIGFuZCBQaGlsb3NvcGhpY2FsIEFzcGVjdHMgb2YgdGhlIExhb3ppPC92b2x1bWVfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjEyNzwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgICAgICAgPGNZZWFyPjE5OTk8L2NZZWFyPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPlJvYmluZXQ8L2F1dGhvcj4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSI5NzgxMTA4MzQ4ODQzI0VNVC1ybC0xX0JJQmUtci0wODkiPg0KICAgICAgICAgICAgICAgICAgICA8ZG9pPjEwLjExMTEvai4xNTQwLTYyNTMuMjAwNy4wMDQ2NC54PC9kb2k+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iOTc4MTEwODM0ODg0MyNFTVQtcmwtMV9CSUJlLXItMjQ1Ij4NCiAgICAgICAgICAgICAgICAgICAgPHZvbHVtZV90aXRsZT5NZW4gb2YgdGhlIENsaWZmcyBhbmQgQ2F2ZXM6IFRoZSBEZXZlbG9wbWVudCBvZiB0aGUgQ2hpbmVzZSBFcmVtaXRpYyBUcmFkaXRpb24gdG8gdGhlIEVuZCBvZiB0aGUgSGFuIER5bmFzdHk8L3ZvbHVtZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGNZZWFyPjE5OTA8L2NZZWFyPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPjE5NlZlcnZvb3JuPC9hdXRob3I+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iOTc4MTEwODM0ODg0MyNFTVQtcmwtMV9CSUJlLXItMTU0Ij4NCiAgICAgICAgICAgICAgICAgICAgPHZvbHVtZV90aXRsZT5DaGluYeKAmXMgRWFybHkgRW1waXJlczogQSBSZS1hcHByYWlzYWw8L3ZvbHVtZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+MzA4PC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICAgICAgICA8Y1llYXI+MjAxMDwvY1llYXI+DQogICAgICAgICAgICAgICAgICAgIDxhdXRob3I+TG9ld2U8L2F1dGhvcj4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSI5NzgxMTA4MzQ4ODQzI0VNVC1ybC0xX0JJQmUtci0wNjMiPg0KICAgICAgICAgICAgICAgICAgICA8ZG9pPjEwLjEwMTcvQ0JPOTc4MTEwNzQ3NzcxMTwvZG9pPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9Ijk3ODExMDgzNDg4NDMjRU1ULXJsLTFfQklCZS1yLTEyNyI+DQogICAgICAgICAgICAgICAgICAgIDx2b2x1bWVfdGl0bGU+SW50cm9kdWN0aW9uIHRvIHRoZSBSZWFkaW5nIG9mIEhlZ2VsPC92b2x1bWVfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxjWWVhcj4xOTgwPC9jWWVhcj4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5Lb2rDqHZlPC9hdXRob3I+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iOTc4MTEwODM0ODg0MyNFTVQtcmwtMV9CSUJlLXItMTkiPg0KICAgICAgICAgICAgICAgICAgICA8dm9sdW1lX3RpdGxlPjE4MllpbiBaaG91IGppbndlbiBqaWNoZW5nOiB4aXVkaW5nIHplbmdidSBiZW48L3ZvbHVtZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPHZvbHVtZT44PC92b2x1bWU+DQogICAgICAgICAgICAgICAgICAgIDxjWWVhcj4yMDA3PC9jWWVhcj4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSI5NzgxMTA4MzQ4ODQzI0VNVC1ybC0xX0JJQmUtci0wNzEiPg0KICAgICAgICAgICAgICAgICAgICA8dm9sdW1lX3RpdGxlPlpob25nZ3VvIHNoaSB4dWUgc2hpIOS4reWci+WPsuWtuOWPsjwvdm9sdW1lX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8Y1llYXI+MTk5MzwvY1llYXI+DQogICAgICAgICAgICAgICAgICAgIDxhdXRob3I+V2VpeXVuPC9hdXRob3I+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iOTc4MTEwODM0ODg0MyNFTVQtcmwtMV9CSUJlLXItMTQwIj4NCiAgICAgICAgICAgICAgICAgICAgPHZvbHVtZV90aXRsZT5TYW5jdGlvbmVkIFZpb2xlbmNlIGluIEVhcmx5IENoaW5hPC92b2x1bWVfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxjWWVhcj4xOTkwPC9jWWVhcj4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5MZXdpczwvYXV0aG9yPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9Ijk3ODExMDgzNDg4NDMjRU1ULXJsLTFfQklCZS1yLTA3MiI+DQogICAgICAgICAgICAgICAgICAgIDx2b2x1bWVfdGl0bGU+WmhvbmdndW8gc2hpIHh1ZSB5dSBzaGkgamllIHNoaSB4dWU8L3ZvbHVtZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGNZZWFyPjIwMDg8L2NZZWFyPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPldlaXl1bjwvYXV0aG9yPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9Ijk3ODExMDgzNDg4NDMjRU1ULXJsLTFfQklCZS1yLTA3MyI+DQogICAgICAgICAgICAgICAgICAgIDxkb2k+MTAuMjMwNy8yMDQ5NjcxPC9kb2k+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iOTc4MTEwODM0ODg0MyNFTVQtcmwtMV9CSUJlLXItMDc0Ij4NCiAgICAgICAgICAgICAgICAgICAgPHZvbHVtZV90aXRsZT5UaGUgQ2xvdWR5IE1pcnJvcjogVGVuc2lvbiBhbmQgQ29uZmxpY3QgaW4gdGhlIFdyaXRpbmdzIG9mIFNpbWEgUWlhbjwvdm9sdW1lX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8Y1llYXI+MTk5NTwvY1llYXI+DQogICAgICAgICAgICAgICAgICAgIDxhdXRob3I+RHVycmFudDwvYXV0aG9yPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9Ijk3ODExMDgzNDg4NDMjRU1ULXJsLTFfQklCZS1yLTEzMyI+DQogICAgICAgICAgICAgICAgICAgIDx2b2x1bWVfdGl0bGU+SG93IHRoZSBQYXN0IFdhcyBVc2VkOiBIaXN0b3JpY2FsIEN1bHR1cmVzLCBjLjc1MOKAkzIwMDA8L3ZvbHVtZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGNZZWFyPjIwMTc8L2NZZWFyPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPlBldGVyPC9hdXRob3I+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iOTc4MTEwODM0ODg0MyNFTVQtcmwtMV9CSUJlLXItMDc3Ij4NCiAgICAgICAgICAgICAgICAgICAgPGRvaT4xMC4xMjE1Lzk3ODA4MjIzODY4ODktMDAzPC9kb2k+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iOTc4MTEwODM0ODg0MyNFTVQtcmwtMV9CSUJlLXItMDc4Ij4NCiAgICAgICAgICAgICAgICAgICAgPHZvbHVtZV90aXRsZT5UaGUgQm9vayBvZiBMb3JkIFNoYW5nOiBBIENsYXNzaWMgb2YgdGhlIENoaW5lc2UgU2Nob29sIG9mIExhdywgVHJhbnNsYXRlZCBmcm9tIHRoZSBDaGluZXNlIHdpdGggSW50cm9kdWN0aW9uIGFuZCBOb3Rlczwvdm9sdW1lX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8dm9sdW1lPlhWSUk8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgICAgICAgPGNZZWFyPjE5Mjg8L2NZZWFyPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPkR1eXZlbmRhazwvYXV0aG9yPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9Ijk3ODExMDgzNDg4NDMjRU1ULXJsLTFfQklCZS1yLTA4NSI+DQogICAgICAgICAgICAgICAgICAgIDx2b2x1bWVfdGl0bGU+VGhlIEVuZCBvZiBIaXN0b3J5IGFuZCB0aGUgTGFzdCBNYW48L3ZvbHVtZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGNZZWFyPjE5OTI8L2NZZWFyPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPkZ1a3V5YW1hPC9hdXRob3I+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iOTc4MTEwODM0ODg0MyNFTVQtcmwtMV9CSUJlLXItMTA1Ij4NCiAgICAgICAgICAgICAgICAgICAgPGRvaT4xMC4xMDA3L3MxMTQ2Ni0wMDctMDAxOS14PC9kb2k+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iOTc4MTEwODM0ODg0MyNFTVQtcmwtMV9CSUJlLXItMDg2Ij4NCiAgICAgICAgICAgICAgICAgICAgPGRvaT4xMC4xMDA3Lzk3OC05NC0wMDctNDMxOC0yXzU8L2RvaT4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSI5NzgxMTA4MzQ4ODQzI0VNVC1ybC0xX0JJQmUtci0wOTEiPg0KICAgICAgICAgICAgICAgICAgICA8ZG9pPjEwLjExNzkvbW9uLjIwMDguNTYuMS4wMDE8L2RvaT4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSI5NzgxMTA4MzQ4ODQzI0VNVC1ybC0xX0JJQmUtci0xMDAiPg0KICAgICAgICAgICAgICAgICAgICA8dm9sdW1lX3RpdGxlPkVsZW1lbnRzIG9mIENoaW5lc2UgSGlzdG9yaW9ncmFwaHk8L3ZvbHVtZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGNZZWFyPjE5NTU8L2NZZWFyPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPkhhbjwvYXV0aG9yPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9Ijk3ODExMDgzNDg4NDMjRU1ULXJsLTFfQklCZS1yLTEwMSI+DQogICAgICAgICAgICAgICAgICAgIDx2b2x1bWVfdGl0bGU+RW1waXJlPC92b2x1bWVfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxjWWVhcj4yMDAwPC9jWWVhcj4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5IYXJkdDwvYXV0aG9yPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9Ijk3ODExMDgzNDg4NDMjRU1ULXJsLTFfQklCZS1yLTEwMiI+DQogICAgICAgICAgICAgICAgICAgIDx2b2x1bWVfdGl0bGU+V29ybGRzIG9mIEJyb256ZSBhbmQgQmFtYm9vPC92b2x1bWVfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxjWWVhcj4xOTk5PC9jWWVhcj4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5IYXJkeTwvYXV0aG9yPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9Ijk3ODExMDgzNDg4NDMjRU1ULXJsLTFfQklCZS1yLTEwNiI+DQogICAgICAgICAgICAgICAgICAgIDx2b2x1bWVfdGl0bGU+SGVnZWzigJlzIFBoaWxvc29waHkgb2YgUmlnaHQ8L3ZvbHVtZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGNZZWFyPjE5Njc8L2NZZWFyPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPkhlZ2VsPC9hdXRob3I+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iOTc4MTEwODM0ODg0MyNFTVQtcmwtMV9CSUJlLXItMTA4Ij4NCiAgICAgICAgICAgICAgICAgICAgPHZvbHVtZV90aXRsZT5BbnRocm9wb2xvZ3k6IFRoZW9yZXRpY2FsIFByYWN0aWNlIGluIEN1bHR1cmUgYW5kIFNvY2lldHk8L3ZvbHVtZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGNZZWFyPjIwMDE8L2NZZWFyPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPkhlcnpmZWxkPC9hdXRob3I+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iOTc4MTEwODM0ODg0MyNFTVQtcmwtMV9CSUJlLXItMTEwIj4NCiAgICAgICAgICAgICAgICAgICAgPGRvaT4xMC4xMDkzL3Bhc3QvNTUuMS4zPC9kb2k+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iOTc4MTEwODM0ODg0MyNFTVQtcmwtMV9CSUJlLXItMTEyIj4NCiAgICAgICAgICAgICAgICAgICAgPHZvbHVtZV90aXRsZT5DaGluYeKAmXMgSW1wZXJpYWwgUGFzdDogQW4gSW50cm9kdWN0aW9uIHRvIENoaW5lc2UgSGlzdG9yeSBhbmQgQ3VsdHVyZTwvdm9sdW1lX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8Y1llYXI+MTk3NTwvY1llYXI+DQogICAgICAgICAgICAgICAgICAgIDxhdXRob3I+SHVja2VyPC9hdXRob3I+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iOTc4MTEwODM0ODg0MyNFTVQtcmwtMV9CSUJlLXItMTEzIj4NCiAgICAgICAgICAgICAgICAgICAgPGRvaT4xMC4xMTYzLzk3ODkwMDQzMzkwMjY8L2RvaT4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSI5NzgxMTA4MzQ4ODQzI0VNVC1ybC0xX0JJQmUtci0xMjQiPg0KICAgICAgICAgICAgICAgICAgICA8ZG9pPjEwLjExNjMvOTc4OTAwNDM3Njg3ODwvZG9pPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9Ijk3ODExMDgzNDg4NDMjRU1ULXJsLTFfQklCZS1yLTI2NyI+DQogICAgICAgICAgICAgICAgICAgIDx2b2x1bWVfdGl0bGU+Rml2ZSBMb3N0IENsYXNzaWNzOiBUYW8sIEh1YW5nbGFvLCBhbmQgWWlu4oCTWWFuZyBpbiBIYW4gQ2hpbmE8L3ZvbHVtZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGNZZWFyPjE5OTc8L2NZZWFyPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPllhdGVzPC9hdXRob3I+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iOTc4MTEwODM0ODg0MyNFTVQtcmwtMV9CSUJlLXItMTE1Ij4NCiAgICAgICAgICAgICAgICAgICAgPGRvaT4xMC4xMDkzL2FjcHJvZjpvc28vOTc4MDE5MDY3OTExOC4wMDEuMDAwMTwvZG9pPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9Ijk3ODExMDgzNDg4NDMjRU1ULXJsLTFfQklCZS1yLTI0OCI+DQogICAgICAgICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPk9yaWVucyBFeHRyZW11czwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+VGhlIFNjcmliZXPigJkgR2VuZWFsb2d5PC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8dm9sdW1lPjQ0PC92b2x1bWU+DQogICAgICAgICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjM8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgICAgICAgIDxjWWVhcj4yMDAzPC9jWWVhcj4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5Wb2dlbHNhbmc8L2F1dGhvcj4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSI5NzgxMTA4MzQ4ODQzI0VNVC1ybC0xX0JJQmUtci0xMTgiPg0KICAgICAgICAgICAgICAgICAgICA8ZG9pPjEwLjEzNTMvcGV3LjIwMTEuMDAyMTwvZG9pPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9Ijk3ODExMDgzNDg4NDMjRU1ULXJsLTFfQklCZS1yLTExOSI+DQogICAgICAgICAgICAgICAgICAgIDx2b2x1bWVfdGl0bGU+VGhlIE1vemk6IEEgQ29tcGxldGUgVHJhbnNsYXRpb248L3ZvbHVtZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGNZZWFyPjIwMTA8L2NZZWFyPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPkpvaG5zdG9uPC9hdXRob3I+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iOTc4MTEwODM0ODg0MyNFTVQtcmwtMV9CSUJlLXItMTI1Ij4NCiAgICAgICAgICAgICAgICAgICAgPHZvbHVtZV90aXRsZT5UaGUgQW5uYWxzIG9mIEzDvCBCdXdlaTwvdm9sdW1lX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8Y1llYXI+MjAwMDwvY1llYXI+DQogICAgICAgICAgICAgICAgICAgIDxhdXRob3I+S25vYmxvY2s8L2F1dGhvcj4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSI5NzgxMTA4MzQ4ODQzI0VNVC1ybC0xX0JJQmUtci0xMjkiPg0KICAgICAgICAgICAgICAgICAgICA8dm9sdW1lX3RpdGxlPkEgQ2hpbmVzZSBNaXJyb3IgZm9yIE1hZ2lzdHJhdGVzOiBUaGUgSHNpbi1Zw7wgb2YgTHUgQ2hpYTwvdm9sdW1lX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8Y1llYXI+MTk4ODwvY1llYXI+DQogICAgICAgICAgICAgICAgICAgIDxhdXRob3I+S3U8L2F1dGhvcj4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgPC9jaXRhdGlvbl9saXN0Pg0KICAgICAgICAgICAgICA8L2Jvb2tfbWV0YWRhdGE+DQogICAgICAgICAgICA8L2Jvb2s+DQogICAgICAgICAgPC9jcm9zc3JlZj4NCiAgICAgICAgPC9kb2lfcmVjb3JkPg0KICAgICAgPC9xdWVyeT4NCiAgICA8L2JvZHk+DQogIDwvcXVlcnlfcmVzdWx0Pg0KPC9jcm9zc3JlZl9yZXN1bHQ+
86
- http_version:
87
- recorded_at: Sat, 06 Jul 2019 16:39:47 GMT
88
- recorded_with: VCR 3.0.3