From 15bbd940e8fbd5c6cd0192799cc5a61ee7edc2ec Mon Sep 17 00:00:00 2001 From: swcraig Date: Sat, 29 Jun 2019 17:12:44 -0700 Subject: [PATCH] Delegate V1 `#entry_` usage in `Client` Oxford Dictionaries is making multiple changes to their API with a new V2 release. The closed PRs adding the new endpoints for V2 outline how to use the new interfaces. Oxford Dictionaries is taking the V1 API down on June 30, 2019. Specifically reference this PR: https://github.com/swcraig/oxford-dictionary/pull/8 https://developer.oxforddictionaries.com/version2 --- fixtures/vcr_cassettes/v1_entry.yml | 526 ++++++++++++++++++ .../v1_entry_antonym_synonym.yml | 42 ++ fixtures/vcr_cassettes/v1_entry_antonyms.yml | 42 ++ .../vcr_cassettes/v1_entry_definitions.yml | 228 ++++++++ fixtures/vcr_cassettes/v1_entry_error.yml | 49 ++ fixtures/vcr_cassettes/v1_entry_es.yml | 108 ++++ fixtures/vcr_cassettes/v1_entry_examples.yml | 242 ++++++++ .../vcr_cassettes/v1_entry_past_nouns.yml | 49 ++ .../vcr_cassettes/v1_entry_pronunciations.yml | 156 ++++++ fixtures/vcr_cassettes/v1_entry_synonyms.yml | 42 ++ fixtures/vcr_cassettes/v1_entry_us.yml | 526 ++++++++++++++++++ lib/oxford_dictionary/client.rb | 160 +++++- spec/endpoint_specs/entry_endpoint_spec.rb | 196 +++---- spec/fixtures/entry_ace.json | 253 --------- spec/fixtures/entry_ace_definitions.json | 119 ---- spec/fixtures/entry_ace_es.json | 41 -- spec/fixtures/entry_ace_examples.json | 145 ----- spec/fixtures/entry_ace_pronunciations.json | 51 -- spec/fixtures/entry_ace_region_us.json | 264 --------- spec/fixtures/entry_ace_singular_noun.json | 319 ----------- spec/fixtures/entry_error.txt | 4 - spec/fixtures/entry_truth_translations.json | 189 ------- .../fixtures/entry_vapid_antonym_synonym.json | 213 ------- spec/fixtures/entry_vapid_antonyms.json | 51 -- spec/fixtures/entry_vapid_sentences.json | 242 -------- spec/fixtures/entry_vapid_synonyms.json | 196 ------- 26 files changed, 2267 insertions(+), 2186 deletions(-) create mode 100644 fixtures/vcr_cassettes/v1_entry.yml create mode 100644 fixtures/vcr_cassettes/v1_entry_antonym_synonym.yml create mode 100644 fixtures/vcr_cassettes/v1_entry_antonyms.yml create mode 100644 fixtures/vcr_cassettes/v1_entry_definitions.yml create mode 100644 fixtures/vcr_cassettes/v1_entry_error.yml create mode 100644 fixtures/vcr_cassettes/v1_entry_es.yml create mode 100644 fixtures/vcr_cassettes/v1_entry_examples.yml create mode 100644 fixtures/vcr_cassettes/v1_entry_past_nouns.yml create mode 100644 fixtures/vcr_cassettes/v1_entry_pronunciations.yml create mode 100644 fixtures/vcr_cassettes/v1_entry_synonyms.yml create mode 100644 fixtures/vcr_cassettes/v1_entry_us.yml delete mode 100644 spec/fixtures/entry_ace.json delete mode 100644 spec/fixtures/entry_ace_definitions.json delete mode 100644 spec/fixtures/entry_ace_es.json delete mode 100644 spec/fixtures/entry_ace_examples.json delete mode 100644 spec/fixtures/entry_ace_pronunciations.json delete mode 100644 spec/fixtures/entry_ace_region_us.json delete mode 100644 spec/fixtures/entry_ace_singular_noun.json delete mode 100644 spec/fixtures/entry_error.txt delete mode 100644 spec/fixtures/entry_truth_translations.json delete mode 100644 spec/fixtures/entry_vapid_antonym_synonym.json delete mode 100644 spec/fixtures/entry_vapid_antonyms.json delete mode 100644 spec/fixtures/entry_vapid_sentences.json delete mode 100644 spec/fixtures/entry_vapid_synonyms.json diff --git a/fixtures/vcr_cassettes/v1_entry.yml b/fixtures/vcr_cassettes/v1_entry.yml new file mode 100644 index 0000000..cf413e5 --- /dev/null +++ b/fixtures/vcr_cassettes/v1_entry.yml @@ -0,0 +1,526 @@ +--- +http_interactions: +- request: + method: get + uri: https://od-api.oxforddictionaries.com/api/v2/entries/en-gb/ace + body: + encoding: US-ASCII + string: '' + headers: + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - application/json + User-Agent: + - Ruby + Host: + - od-api.oxforddictionaries.com + App-Id: + - APP_ID + App-Key: + - APP_KEY + response: + status: + code: 200 + message: OK + headers: + Api-Version: + - v2 + Code-Version: + - v2.3.2-g02aa52c + Content-Type: + - application/json;charset=utf-8 + Date: + - Sun, 30 Jun 2019 01:03:19 GMT + Server: + - openresty/1.13.6.2 + Content-Length: + - '21569' + Connection: + - keep-alive + body: + encoding: ASCII-8BIT + string: !binary |- + ewogICAgImlkIjogImFjZSIsCiAgICAibWV0YWRhdGEiOiB7CiAgICAgICAg + Im9wZXJhdGlvbiI6ICJyZXRyaWV2ZSIsCiAgICAgICAgInByb3ZpZGVyIjog + Ik94Zm9yZCBVbml2ZXJzaXR5IFByZXNzIiwKICAgICAgICAic2NoZW1hIjog + IlJldHJpZXZlRW50cnkiCiAgICB9LAogICAgInJlc3VsdHMiOiBbCiAgICAg + ICAgewogICAgICAgICAgICAiaWQiOiAiYWNlIiwKICAgICAgICAgICAgImxh + bmd1YWdlIjogImVuLWdiIiwKICAgICAgICAgICAgImxleGljYWxFbnRyaWVz + IjogWwogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICJl + bnRyaWVzIjogWwogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAiZXR5bW9sb2dpZXMiOiBbCiAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgIk1pZGRsZSBFbmdsaXNoIChkZW5v + dGluZyB0aGUg4oCYb25l4oCZIG9uIGRpY2UpOiB2aWEgT2xkIEZyZW5jaCBm + cm9tIExhdGluYXPigJh1bml0eSwgYSB1bml04oCZIgogICAgICAgICAgICAg + ICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICJob21vZ3JhcGhOdW1iZXIiOiAiMTAwIiwKICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICJzZW5zZXMiOiBbCiAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAiZGVmaW5pdGlvbnMiOiBbCiAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAiYSBwbGF5aW5nIGNhcmQgd2l0aCBhIHNpbmdsZSBz + cG90IG9uIGl0LCByYW5rZWQgYXMgdGhlIGhpZ2hlc3QgY2FyZCBpbiBpdHMg + c3VpdCBpbiBtb3N0IGNhcmQgZ2FtZXMiCiAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICJkb21haW5zIjogWwogICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICJpZCI6ICJjYXJkcyIsCiAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRleHQiOiAiQ2Fy + ZHMiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9 + CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF0sCiAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJleGFtcGxlcyI6IFsK + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidGV4 + dCI6ICJ0aGUgYWNlIG9mIGRpYW1vbmRzIgogICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAicmVnaXN0ZXJzIjogWwogICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAiaWQiOiAiZmlndXJhdGl2ZSIsCiAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidGV4dCI6ICJGaWd1cmF0 + aXZlIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAidGV4dCI6ICJsaWZlIGhhZCBzdGFydGVkIGRlYWxpbmcg + aGltIGFjZXMgYWdhaW4iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgIF0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJp + ZCI6ICJtX2VuX2didXMwMDA1NjgwLjAwNiIsCiAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICJzaG9ydERlZmluaXRpb25zIjogWwogICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBsYXlpbmcg + Y2FyZCB3aXRoIHNpbmdsZSBzcG90IG9uIGl0LCByYW5rZWQgYXMgaGlnaGVz + dCBjYXJkIGluIGl0cyBzdWl0IGluIG1vc3QgY2FyZCBnYW1lcyIKICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXQogICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAiZGVmaW5pdGlvbnMiOiBbCiAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAiYSBwZXJzb24gd2hvIGV4Y2VscyBhdCBhIHBhcnRp + Y3VsYXIgc3BvcnQgb3Igb3RoZXIgYWN0aXZpdHkiCiAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICJkb21haW5zIjogWwogICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICJpZCI6ICJzcG9ydCIsCiAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRleHQi + OiAiU3BvcnQiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF0s + CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJpZCI6ICJt + X2VuX2didXMwMDA1NjgwLjAxMCIsCiAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICJyZWdpc3RlcnMiOiBbCiAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgImlkIjogImluZm9ybWFsIiwKICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidGV4 + dCI6ICJJbmZvcm1hbCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNo + b3J0RGVmaW5pdGlvbnMiOiBbCiAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAicGVyc29uIHdobyBleGNlbHMgYXQgcGFydGljdWxh + ciBzcG9ydCBvciBvdGhlciBhY3Rpdml0eSIKICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgInN1YnNlbnNlcyI6IFsKICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAiZGVmaW5pdGlvbnMiOiBbCiAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJh + IHBpbG90IHdobyBoYXMgc2hvdCBkb3duIG1hbnkgZW5lbXkgYWlyY3JhZnQi + CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + XSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAiZG9tYWlucyI6IFsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgImlkIjogImFpcl9mb3JjZSIs + CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAidGV4dCI6ICJBaXJfRm9yY2UiCiAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBdLAogICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJleGFtcGxlcyI6 + IFsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgInRleHQiOiAiYSBCYXR0bGUgb2YgQnJpdGFpbiBh + Y2UiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICBdLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICJpZCI6ICJtX2VuX2didXMwMDA1NjgwLjAxMSIsCiAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNob3J0 + RGVmaW5pdGlvbnMiOiBbCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICJwaWxvdCB3aG8gaGFzIHNob3QgZG93biBt + YW55IGVuZW15IGFpcmNyYWZ0IgogICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgIF0KICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgInRoZXNhdXJ1c0xpbmtzIjogWwogICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICJlbnRyeV9pZCI6ICJhY2UiLAogICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzZW5zZV9p + ZCI6ICJ0X2VuX2diMDAwMDE3My4wMDEiCiAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImRlZmluaXRpb25zIjog + WwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIihp + biB0ZW5uaXMgYW5kIHNpbWlsYXIgZ2FtZXMpIGEgc2VydmljZSB0aGF0IGFu + IG9wcG9uZW50IGlzIHVuYWJsZSB0byByZXR1cm4gYW5kIHRodXMgd2lucyBh + IHBvaW50IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBd + LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZG9tYWlu + cyI6IFsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAiaWQiOiAidGVubmlzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAidGV4dCI6ICJUZW5uaXMiCiAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICJleGFtcGxlcyI6IFsKICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAidGV4dCI6ICJOYWRhbCBiYW5n + ZWQgZG93biBlaWdodCBhY2VzIGluIHRoZSBzZXQiCiAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICJpZCI6ICJtX2VuX2didXMwMDA1NjgwLjAxMyIsCiAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzaG9ydERlZmlu + aXRpb25zIjogWwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgIihpbiB0ZW5uaXMgYW5kIHNpbWlsYXIgZ2FtZXMpIHNlcnZpY2Ug + dGhhdCBvcHBvbmVudCBpcyB1bmFibGUgdG8gcmV0dXJuIGFuZCB0aHVzIHdp + bnMgcG9pbnQiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + IF0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzdWJz + ZW5zZXMiOiBbCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgImRlZmluaXRpb25zIjogWwogICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAiYSBob2xlIGluIG9uZSIKICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBdLAog + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJk + b21haW5zIjogWwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAiaWQiOiAiZ29sZiIsCiAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAi + dGV4dCI6ICJHb2xmIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAiZXhhbXBsZXMiOiBbCiAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICJ0ZXh0IjogImhpcyBob2xlIGluIG9uZSBhdCB0aGUgMTV0aCB3YXMgU2Vu + aW9yJ3Mgc2Vjb25kIGFjZSBhcyBhIHByb2Zlc3Npb25hbCIKICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF0sCiAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImlk + IjogIm1fZW5fZ2J1czAwMDU2ODAuMDE0IiwKICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAicmVnaXN0ZXJzIjogWwogICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7 + CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAiaWQiOiAiaW5mb3JtYWwiLAogICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRleHQiOiAiSW5m + b3JtYWwiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICBdLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICJzaG9ydERlZmluaXRpb25zIjogWwogICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaG9sZSBp + biBvbmUiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBdCiAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAg + ICAgICAgICAgICAgICAgXQogICAgICAgICAgICAgICAgICAgICAgICB9CiAg + ICAgICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgICAgICAibGFu + Z3VhZ2UiOiAiZW4tZ2IiLAogICAgICAgICAgICAgICAgICAgICJsZXhpY2Fs + Q2F0ZWdvcnkiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJpZCI6ICJu + b3VuIiwKICAgICAgICAgICAgICAgICAgICAgICAgInRleHQiOiAiTm91biIK + ICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICJw + cm9udW5jaWF0aW9ucyI6IFsKICAgICAgICAgICAgICAgICAgICAgICAgewog + ICAgICAgICAgICAgICAgICAgICAgICAgICAgImF1ZGlvRmlsZSI6ICJodHRw + Oi8vYXVkaW8ub3hmb3JkZGljdGlvbmFyaWVzLmNvbS9lbi9tcDMvYWNlXzFf + Z2JfMV9hYmJyLm1wMyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAi + ZGlhbGVjdHMiOiBbCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + IkJyaXRpc2ggRW5nbGlzaCIKICAgICAgICAgICAgICAgICAgICAgICAgICAg + IF0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGhvbmV0aWNOb3Rh + dGlvbiI6ICJJUEEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgInBo + b25ldGljU3BlbGxpbmciOiAiZcmqcyIKICAgICAgICAgICAgICAgICAgICAg + ICAgfQogICAgICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAg + ICAgInRleHQiOiAiYWNlIgogICAgICAgICAgICAgICAgfSwKICAgICAgICAg + ICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAiZW50cmllcyI6IFsKICAg + ICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAg + ICAgICAgImhvbW9ncmFwaE51bWJlciI6ICIxMDEiLAogICAgICAgICAgICAg + ICAgICAgICAgICAgICAgInNlbnNlcyI6IFsKICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICJkZWZpbml0aW9ucyI6IFsKICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICJ2ZXJ5IGdvb2QiCiAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICJleGFtcGxlcyI6IFsKICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAidGV4dCI6ICJhbiBhY2Ugc3dp + bW1lciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7 + CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + Im5vdGVzIjogWwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAidGV4dCI6ICJhcyBleGNsYW1hdGlv + biIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAidHlwZSI6ICJncmFtbWF0aWNhbE5vdGUiCiAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBdLAog + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0 + ZXh0IjogIkFjZSEgWW91J3ZlIGRvbmUgaXQhIgogICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAiaWQiOiAibV9lbl9nYnVzMDAwNTY4MC4wMTYiLAogICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicmVnaXN0ZXJzIjog + WwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgewog + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJp + ZCI6ICJpbmZvcm1hbCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgInRleHQiOiAiSW5mb3JtYWwiCiAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICJzaG9ydERlZmluaXRpb25zIjogWwogICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZlcnkgZ29vZCIK + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXSwKICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRoZXNhdXJ1c0xpbmtz + IjogWwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICJlbnRyeV9pZCI6ICJhY2UiLAogICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICJzZW5zZV9pZCI6ICJ0X2VuX2diMDAwMDE3 + My4wMDIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF0KICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAg + ICAgICAgICAgICAgICBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAg + ICAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICAgICAgICJsYW5n + dWFnZSI6ICJlbi1nYiIsCiAgICAgICAgICAgICAgICAgICAgImxleGljYWxD + YXRlZ29yeSI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgImlkIjogImFk + amVjdGl2ZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0ZXh0IjogIkFk + amVjdGl2ZSIKICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAg + ICAgICAgICJwcm9udW5jaWF0aW9ucyI6IFsKICAgICAgICAgICAgICAgICAg + ICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgImF1ZGlvRmls + ZSI6ICJodHRwOi8vYXVkaW8ub3hmb3JkZGljdGlvbmFyaWVzLmNvbS9lbi9t + cDMvYWNlXzFfZ2JfMV9hYmJyLm1wMyIsCiAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAiZGlhbGVjdHMiOiBbCiAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgIkJyaXRpc2ggRW5nbGlzaCIKICAgICAgICAgICAgICAgICAg + ICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGhv + bmV0aWNOb3RhdGlvbiI6ICJJUEEiLAogICAgICAgICAgICAgICAgICAgICAg + ICAgICAgInBob25ldGljU3BlbGxpbmciOiAiZcmqcyIKICAgICAgICAgICAg + ICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIF0sCiAgICAgICAg + ICAgICAgICAgICAgInRleHQiOiAiYWNlIgogICAgICAgICAgICAgICAgfSwK + ICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAiZW50cmll + cyI6IFsKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAg + ICAgICAgICAgICAgICAgImdyYW1tYXRpY2FsRmVhdHVyZXMiOiBbCiAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAiaWQiOiAidHJhbnNpdGl2ZSIsCiAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0ZXh0IjogIlRyYW5z + aXRpdmUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAi + dHlwZSI6ICJTdWJjYXRlZ29yaXphdGlvbiIKICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBd + LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgImhvbW9ncmFwaE51bWJl + ciI6ICIxMDIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgInNlbnNl + cyI6IFsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJkZWZpbml0aW9ucyI6 + IFsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIo + aW4gdGVubmlzIGFuZCBzaW1pbGFyIGdhbWVzKSBzZXJ2ZSBhbiBhY2UgYWdh + aW5zdCAoYW4gb3Bwb25lbnQpIgogICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICBdLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAiZG9tYWlucyI6IFsKICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAiaWQiOiAidGVubmlzIiwKICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidGV4dCI6ICJUZW5uaXMi + CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF0sCiAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICJpZCI6ICJtX2VuX2didXMw + MDA1NjgwLjAyMCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICJyZWdpc3RlcnMiOiBbCiAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgImlkIjogImluZm9ybWFsIiwKICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidGV4dCI6ICJJbmZv + cm1hbCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + IH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXSwKICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNob3J0RGVmaW5p + dGlvbnMiOiBbCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAiKGluIHRlbm5pcyBhbmQgc2ltaWxhciBnYW1lcykgc2VydmUgYWNl + IGFnYWluc3QiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + IF0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzdWJz + ZW5zZXMiOiBbCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgImRlZmluaXRpb25zIjogWwogICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAic2NvcmUgYW4gYWNlIG9uIChh + IGhvbGUpIG9yIHdpdGggKGEgc2hvdCkiCiAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAiZG9tYWlucyI6IFsKICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgewog + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgImlkIjogImdvbGYiLAogICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgInRleHQiOiAiR29sZiIKICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + fQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + IF0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgImV4YW1wbGVzIjogWwogICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidGV4dCI6ICJ0aGVyZSB3 + YXMgYSBwcml6ZSBmb3IgdGhlIGZpcnN0IHBsYXllciB0byBhY2UgdGhlIGhv + bGUiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICBdLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICJpZCI6ICJtX2VuX2didXMwMDA1NjgwLjAyNiIsCiAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNob3J0 + RGVmaW5pdGlvbnMiOiBbCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICJzY29yZSBhY2Ugb24gaG9sZSBvciB3aXRo + IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0K + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXQogICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAiZGVmaW5pdGlvbnMiOiBbCiAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAiYWNoaWV2ZSBoaWdoIG1hcmtzIGluIChh + IHRlc3Qgb3IgZXhhbSkiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgIF0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICJpZCI6ICJtX2VuX2didXMwMDA1NjgwLjAyOCIsCiAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICJyZWdpb25zIjogWwogICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJpZCI6ICJub3J0aF9h + bWVyaWNhbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgInRleHQiOiAiTm9ydGhfQW1lcmljYW4iCiAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICJyZWdpc3RlcnMiOiBbCiAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgImlkIjogImluZm9ybWFsIiwK + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAi + dGV4dCI6ICJJbmZvcm1hbCIKICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + InNob3J0RGVmaW5pdGlvbnMiOiBbCiAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAiYWNoaWV2ZSBoaWdoIG1hcmtzIGluIgogICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBdLAogICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAic3Vic2Vuc2VzIjogWwogICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJkZWZpbml0 + aW9ucyI6IFsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgIm91dGRvIHNvbWVvbmUgaW4gYSBjb21wZXRpdGl2ZSBz + aXR1YXRpb24iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAiaWQiOiAibV9lbl9nYnVzMDAwNTY4MC4wMjkiLAogICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJub3Rl + cyI6IFsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgInRleHQiOiAiXCJhY2Ugc29tZW9uZSBvdXRc + IiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAidHlwZSI6ICJ3b3JkRm9ybU5vdGUiCiAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBdLAogICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzaG9y + dERlZmluaXRpb25zIjogWwogICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAib3V0ZG8gc29tZW9uZSBpbiBjb21wZXRp + dGl2ZSBzaXR1YXRpb24iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAg + ICAgICAgICAgICAgICAgICAgICAgICAgXQogICAgICAgICAgICAgICAgICAg + ICAgICB9CiAgICAgICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAg + ICAgICAibGFuZ3VhZ2UiOiAiZW4tZ2IiLAogICAgICAgICAgICAgICAgICAg + ICJsZXhpY2FsQ2F0ZWdvcnkiOiB7CiAgICAgICAgICAgICAgICAgICAgICAg + ICJpZCI6ICJ2ZXJiIiwKICAgICAgICAgICAgICAgICAgICAgICAgInRleHQi + OiAiVmVyYiIKICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAg + ICAgICAgICJwcm9udW5jaWF0aW9ucyI6IFsKICAgICAgICAgICAgICAgICAg + ICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgImF1ZGlvRmls + ZSI6ICJodHRwOi8vYXVkaW8ub3hmb3JkZGljdGlvbmFyaWVzLmNvbS9lbi9t + cDMvYWNlXzFfZ2JfMV9hYmJyLm1wMyIsCiAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAiZGlhbGVjdHMiOiBbCiAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgIkJyaXRpc2ggRW5nbGlzaCIKICAgICAgICAgICAgICAgICAg + ICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGhv + bmV0aWNOb3RhdGlvbiI6ICJJUEEiLAogICAgICAgICAgICAgICAgICAgICAg + ICAgICAgInBob25ldGljU3BlbGxpbmciOiAiZcmqcyIKICAgICAgICAgICAg + ICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIF0sCiAgICAgICAg + ICAgICAgICAgICAgInRleHQiOiAiYWNlIgogICAgICAgICAgICAgICAgfQog + ICAgICAgICAgICBdLAogICAgICAgICAgICAidHlwZSI6ICJoZWFkd29yZCIs + CiAgICAgICAgICAgICJ3b3JkIjogImFjZSIKICAgICAgICB9LAogICAgICAg + IHsKICAgICAgICAgICAgImlkIjogImFjZSIsCiAgICAgICAgICAgICJsYW5n + dWFnZSI6ICJlbi1nYiIsCiAgICAgICAgICAgICJsZXhpY2FsRW50cmllcyI6 + IFsKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAiZW50 + cmllcyI6IFsKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAg + ICAgICAgICAgICAgICAgICAgImV0eW1vbG9naWVzIjogWwogICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICJlYXJseSAyMXN0IGNlbnR1cnk6IGFi + YnJldmlhdGlvbiBvZiBhc2V4dWFsLCB3aXRoIGFsdGVyYXRpb24gb2Ygc3Bl + bGxpbmcgb24gdGhlIG1vZGVsIG9mIGFjZSIKICAgICAgICAgICAgICAgICAg + ICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaG9t + b2dyYXBoTnVtYmVyIjogIjIwMCIsCiAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAic2Vuc2VzIjogWwogICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImRl + ZmluaXRpb25zIjogWwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgImEgcGVyc29uIHdobyBoYXMgbm8gc2V4dWFsIGZlZWxpbmdz + IG9yIGRlc2lyZXMiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgIF0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJk + b21haW5zIjogWwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICJpZCI6ICJzZXgiLAogICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICJ0ZXh0IjogIlNleCIKICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgImV4YW1wbGVzIjogWwogICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICJ0ZXh0IjogImJvdGggYXNleHVh + bCwgdGhleSBoYXZlIG1hbmFnZWQgdG8gY29ubmVjdCB3aXRoIG90aGVyIGFj + ZXMgb2ZmbGluZSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + XSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImlkIjog + Im1fZW5fZ2J1czExOTA2MzguMDA0IiwKICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgInNob3J0RGVmaW5pdGlvbnMiOiBbCiAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiYXNleHVhbCBwZXJz + b24iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF0KICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAg + ICAgICAgICAgICAgICBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAg + ICAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICAgICAgICJsYW5n + dWFnZSI6ICJlbi1nYiIsCiAgICAgICAgICAgICAgICAgICAgImxleGljYWxD + YXRlZ29yeSI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgImlkIjogIm5v + dW4iLAogICAgICAgICAgICAgICAgICAgICAgICAidGV4dCI6ICJOb3VuIgog + ICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgInBy + b251bmNpYXRpb25zIjogWwogICAgICAgICAgICAgICAgICAgICAgICB7CiAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAiYXVkaW9GaWxlIjogImh0dHA6 + Ly9hdWRpby5veGZvcmRkaWN0aW9uYXJpZXMuY29tL2VuL21wMy9hY2VfMV9n + Yl8xX2FiYnIubXAzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICJk + aWFsZWN0cyI6IFsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAi + QnJpdGlzaCBFbmdsaXNoIgogICAgICAgICAgICAgICAgICAgICAgICAgICAg + XSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwaG9uZXRpY05vdGF0 + aW9uIjogIklQQSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGhv + bmV0aWNTcGVsbGluZyI6ICJlyapzIgogICAgICAgICAgICAgICAgICAgICAg + ICB9CiAgICAgICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgICAg + ICAidGV4dCI6ICJhY2UiCiAgICAgICAgICAgICAgICB9LAogICAgICAgICAg + ICAgICAgewogICAgICAgICAgICAgICAgICAgICJlbnRyaWVzIjogWwogICAg + ICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAiaG9tb2dyYXBoTnVtYmVyIjogIjIwMSIsCiAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAic2Vuc2VzIjogWwogICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgImRlZmluaXRpb25zIjogWwogICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgIihvZiBhIHBlcnNvbikgaGF2aW5nIG5vIHNl + eHVhbCBmZWVsaW5ncyBvciBkZXNpcmVzOyBhc2V4dWFsIgogICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAiZG9tYWlucyI6IFsKICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaWQiOiAic2V4IiwKICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidGV4 + dCI6ICJTZXgiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF0s + CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJleGFtcGxl + cyI6IFsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAidGV4dCI6ICJJIGRpZG4ndCByZWFsaXplIHRoYXQgSSB3YXMgYWNlIGZv + ciBhIGxvbmcgdGltZSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImlk + IjogIm1fZW5fZ2J1czExOTA2MzguMDA2IiwKICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgInNob3J0RGVmaW5pdGlvbnMiOiBbCiAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiYXNleHVhbCIK + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXQogICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAg + ICAgICAgICAgIF0KICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAg + ICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAgICAgImxhbmd1YWdl + IjogImVuLWdiIiwKICAgICAgICAgICAgICAgICAgICAibGV4aWNhbENhdGVn + b3J5IjogewogICAgICAgICAgICAgICAgICAgICAgICAiaWQiOiAiYWRqZWN0 + aXZlIiwKICAgICAgICAgICAgICAgICAgICAgICAgInRleHQiOiAiQWRqZWN0 + aXZlIgogICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAg + ICAgInByb251bmNpYXRpb25zIjogWwogICAgICAgICAgICAgICAgICAgICAg + ICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAiYXVkaW9GaWxlIjog + Imh0dHA6Ly9hdWRpby5veGZvcmRkaWN0aW9uYXJpZXMuY29tL2VuL21wMy9h + Y2VfMV9nYl8xX2FiYnIubXAzIiwKICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICJkaWFsZWN0cyI6IFsKICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAiQnJpdGlzaCBFbmdsaXNoIgogICAgICAgICAgICAgICAgICAgICAg + ICAgICAgXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwaG9uZXRp + Y05vdGF0aW9uIjogIklQQSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAicGhvbmV0aWNTcGVsbGluZyI6ICJlyapzIgogICAgICAgICAgICAgICAg + ICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAg + ICAgICAgICAidGV4dCI6ICJhY2UiCiAgICAgICAgICAgICAgICB9CiAgICAg + ICAgICAgIF0sCiAgICAgICAgICAgICJ0eXBlIjogImhlYWR3b3JkIiwKICAg + ICAgICAgICAgIndvcmQiOiAiYWNlIgogICAgICAgIH0KICAgIF0sCiAgICAi + d29yZCI6ICJhY2UiCn0= + http_version: + recorded_at: Sun, 30 Jun 2019 01:03:19 GMT +recorded_with: VCR 4.0.0 diff --git a/fixtures/vcr_cassettes/v1_entry_antonym_synonym.yml b/fixtures/vcr_cassettes/v1_entry_antonym_synonym.yml new file mode 100644 index 0000000..2225705 --- /dev/null +++ b/fixtures/vcr_cassettes/v1_entry_antonym_synonym.yml @@ -0,0 +1,42 @@ +--- +http_interactions: +- request: + method: get + uri: https://od-api.oxforddictionaries.com/api/v2/thesaurus/en/vapid?fields=antonyms,synonyms + body: + encoding: US-ASCII + string: '' + headers: + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - application/json + User-Agent: + - Ruby + Host: + - od-api.oxforddictionaries.com + App-Id: + - APP_ID + App-Key: + - APP_KEY + response: + status: + code: 403 + message: Forbidden + headers: + Content-Type: + - text/plain; charset=us-ascii + Date: + - Sun, 30 Jun 2019 01:14:06 GMT + Server: + - openresty/1.13.6.2 + Content-Length: + - '21' + Connection: + - keep-alive + body: + encoding: UTF-8 + string: Authentication failed + http_version: + recorded_at: Sun, 30 Jun 2019 01:14:06 GMT +recorded_with: VCR 4.0.0 diff --git a/fixtures/vcr_cassettes/v1_entry_antonyms.yml b/fixtures/vcr_cassettes/v1_entry_antonyms.yml new file mode 100644 index 0000000..917c6f8 --- /dev/null +++ b/fixtures/vcr_cassettes/v1_entry_antonyms.yml @@ -0,0 +1,42 @@ +--- +http_interactions: +- request: + method: get + uri: https://od-api.oxforddictionaries.com/api/v2/thesaurus/en/vapid?fields=antonyms + body: + encoding: US-ASCII + string: '' + headers: + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - application/json + User-Agent: + - Ruby + Host: + - od-api.oxforddictionaries.com + App-Id: + - APP_ID + App-Key: + - APP_KEY + response: + status: + code: 403 + message: Forbidden + headers: + Content-Type: + - text/plain; charset=us-ascii + Date: + - Sun, 30 Jun 2019 01:14:04 GMT + Server: + - openresty/1.13.6.2 + Content-Length: + - '21' + Connection: + - keep-alive + body: + encoding: UTF-8 + string: Authentication failed + http_version: + recorded_at: Sun, 30 Jun 2019 01:14:04 GMT +recorded_with: VCR 4.0.0 diff --git a/fixtures/vcr_cassettes/v1_entry_definitions.yml b/fixtures/vcr_cassettes/v1_entry_definitions.yml new file mode 100644 index 0000000..b95907c --- /dev/null +++ b/fixtures/vcr_cassettes/v1_entry_definitions.yml @@ -0,0 +1,228 @@ +--- +http_interactions: +- request: + method: get + uri: https://od-api.oxforddictionaries.com/api/v2/entries/en-gb/ace?fields=definitions + body: + encoding: US-ASCII + string: '' + headers: + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - application/json + User-Agent: + - Ruby + Host: + - od-api.oxforddictionaries.com + App-Id: + - APP_ID + App-Key: + - APP_KEY + response: + status: + code: 200 + message: OK + headers: + Api-Version: + - v2 + Code-Version: + - v2.3.2-g02aa52c + Content-Type: + - application/json;charset=utf-8 + Date: + - Sun, 30 Jun 2019 01:14:00 GMT + Server: + - openresty/1.13.6.2 + Content-Length: + - '7392' + Connection: + - keep-alive + body: + encoding: UTF-8 + string: |- + { + "id": "ace", + "metadata": { + "operation": "retrieve", + "provider": "Oxford University Press", + "schema": "RetrieveEntry" + }, + "results": [ + { + "id": "ace", + "language": "en-gb", + "lexicalEntries": [ + { + "entries": [ + { + "homographNumber": "100", + "senses": [ + { + "definitions": [ + "a playing card with a single spot on it, ranked as the highest card in its suit in most card games" + ], + "id": "m_en_gbus0005680.006" + }, + { + "definitions": [ + "a person who excels at a particular sport or other activity" + ], + "id": "m_en_gbus0005680.010", + "subsenses": [ + { + "definitions": [ + "a pilot who has shot down many enemy aircraft" + ], + "id": "m_en_gbus0005680.011" + } + ] + }, + { + "definitions": [ + "(in tennis and similar games) a service that an opponent is unable to return and thus wins a point" + ], + "id": "m_en_gbus0005680.013", + "subsenses": [ + { + "definitions": [ + "a hole in one" + ], + "id": "m_en_gbus0005680.014" + } + ] + } + ] + } + ], + "language": "en-gb", + "lexicalCategory": { + "id": "noun", + "text": "Noun" + }, + "text": "ace" + }, + { + "entries": [ + { + "homographNumber": "101", + "senses": [ + { + "definitions": [ + "very good" + ], + "id": "m_en_gbus0005680.016" + } + ] + } + ], + "language": "en-gb", + "lexicalCategory": { + "id": "adjective", + "text": "Adjective" + }, + "text": "ace" + }, + { + "entries": [ + { + "homographNumber": "102", + "senses": [ + { + "definitions": [ + "(in tennis and similar games) serve an ace against (an opponent)" + ], + "id": "m_en_gbus0005680.020", + "subsenses": [ + { + "definitions": [ + "score an ace on (a hole) or with (a shot)" + ], + "id": "m_en_gbus0005680.026" + } + ] + }, + { + "definitions": [ + "achieve high marks in (a test or exam)" + ], + "id": "m_en_gbus0005680.028", + "subsenses": [ + { + "definitions": [ + "outdo someone in a competitive situation" + ], + "id": "m_en_gbus0005680.029" + } + ] + } + ] + } + ], + "language": "en-gb", + "lexicalCategory": { + "id": "verb", + "text": "Verb" + }, + "text": "ace" + } + ], + "type": "headword", + "word": "ace" + }, + { + "id": "ace", + "language": "en-gb", + "lexicalEntries": [ + { + "entries": [ + { + "homographNumber": "200", + "senses": [ + { + "definitions": [ + "a person who has no sexual feelings or desires" + ], + "id": "m_en_gbus1190638.004" + } + ] + } + ], + "language": "en-gb", + "lexicalCategory": { + "id": "noun", + "text": "Noun" + }, + "text": "ace" + }, + { + "entries": [ + { + "homographNumber": "201", + "senses": [ + { + "definitions": [ + "(of a person) having no sexual feelings or desires; asexual" + ], + "id": "m_en_gbus1190638.006" + } + ] + } + ], + "language": "en-gb", + "lexicalCategory": { + "id": "adjective", + "text": "Adjective" + }, + "text": "ace" + } + ], + "type": "headword", + "word": "ace" + } + ], + "word": "ace" + } + http_version: + recorded_at: Sun, 30 Jun 2019 01:14:00 GMT +recorded_with: VCR 4.0.0 diff --git a/fixtures/vcr_cassettes/v1_entry_error.yml b/fixtures/vcr_cassettes/v1_entry_error.yml new file mode 100644 index 0000000..c3b24a0 --- /dev/null +++ b/fixtures/vcr_cassettes/v1_entry_error.yml @@ -0,0 +1,49 @@ +--- +http_interactions: +- request: + method: get + uri: https://od-api.oxforddictionaries.com/api/v2/entries/en-gb/wordthatdoesnotexist + body: + encoding: US-ASCII + string: '' + headers: + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - application/json + User-Agent: + - Ruby + Host: + - od-api.oxforddictionaries.com + App-Id: + - APP_ID + App-Key: + - APP_KEY + response: + status: + code: 404 + message: NOT FOUND + headers: + Api-Version: + - v2 + Code-Version: + - v2.3.2-g02aa52c + Content-Type: + - application/json;charset=utf-8 + Date: + - Sun, 30 Jun 2019 01:29:22 GMT + Server: + - openresty/1.13.6.2 + Content-Length: + - '90' + Connection: + - keep-alive + body: + encoding: UTF-8 + string: |- + { + "error": "No entry found matching supplied source_lang, word and provided filters" + } + http_version: + recorded_at: Sun, 30 Jun 2019 01:29:22 GMT +recorded_with: VCR 4.0.0 diff --git a/fixtures/vcr_cassettes/v1_entry_es.yml b/fixtures/vcr_cassettes/v1_entry_es.yml new file mode 100644 index 0000000..7f842eb --- /dev/null +++ b/fixtures/vcr_cassettes/v1_entry_es.yml @@ -0,0 +1,108 @@ +--- +http_interactions: +- request: + method: get + uri: https://od-api.oxforddictionaries.com/api/v2/entries/es/ace + body: + encoding: US-ASCII + string: '' + headers: + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - application/json + User-Agent: + - Ruby + Host: + - od-api.oxforddictionaries.com + App-Id: + - APP_ID + App-Key: + - APP_KEY + response: + status: + code: 200 + message: OK + headers: + Api-Version: + - v2 + Code-Version: + - v2.3.2-g02aa52c + Content-Type: + - application/json;charset=utf-8 + Date: + - Sun, 30 Jun 2019 01:13:59 GMT + Server: + - openresty/1.13.6.2 + Content-Length: + - '2317' + Connection: + - keep-alive + body: + encoding: UTF-8 + string: |- + { + "id": "ace", + "metadata": { + "operation": "retrieve", + "provider": "Oxford University Press", + "schema": "RetrieveEntry" + }, + "results": [ + { + "id": "ace", + "language": "es", + "lexicalEntries": [ + { + "entries": [ + { + "grammaticalFeatures": [ + { + "id": "masculine", + "text": "Masculine", + "type": "Gender" + } + ], + "notes": [ + { + "text": "Se pronuncia 'eis'", + "type": "editorialNote" + }, + { + "text": "El plural es aces (pronunciado 'eises')", + "type": "grammaticalNote" + } + ], + "senses": [ + { + "definitions": [ + "Jugada de tenis en la que el jugador obtiene directamente un tanto al efectuar un saque sin que el adversario consiga tocar la pelota" + ], + "domains": [ + { + "id": "sport", + "text": "Sport" + } + ], + "id": "id5d20fa17-6641-44d4-ac73-41220aa62a81" + } + ] + } + ], + "language": "es", + "lexicalCategory": { + "id": "noun", + "text": "Noun" + }, + "text": "ace" + } + ], + "type": "headword", + "word": "ace" + } + ], + "word": "ace" + } + http_version: + recorded_at: Sun, 30 Jun 2019 01:14:00 GMT +recorded_with: VCR 4.0.0 diff --git a/fixtures/vcr_cassettes/v1_entry_examples.yml b/fixtures/vcr_cassettes/v1_entry_examples.yml new file mode 100644 index 0000000..1fb2d6e --- /dev/null +++ b/fixtures/vcr_cassettes/v1_entry_examples.yml @@ -0,0 +1,242 @@ +--- +http_interactions: +- request: + method: get + uri: https://od-api.oxforddictionaries.com/api/v2/entries/en-gb/ace?fields=examples + body: + encoding: US-ASCII + string: '' + headers: + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - application/json + User-Agent: + - Ruby + Host: + - od-api.oxforddictionaries.com + App-Id: + - APP_ID + App-Key: + - APP_KEY + response: + status: + code: 200 + message: OK + headers: + Api-Version: + - v2 + Code-Version: + - v2.3.2-g02aa52c + Content-Type: + - application/json;charset=utf-8 + Date: + - Sun, 30 Jun 2019 01:14:01 GMT + Server: + - openresty/1.13.6.2 + Content-Length: + - '8008' + Connection: + - keep-alive + body: + encoding: UTF-8 + string: |- + { + "id": "ace", + "metadata": { + "operation": "retrieve", + "provider": "Oxford University Press", + "schema": "RetrieveEntry" + }, + "results": [ + { + "id": "ace", + "language": "en-gb", + "lexicalEntries": [ + { + "entries": [ + { + "homographNumber": "100", + "senses": [ + { + "examples": [ + { + "text": "the ace of diamonds" + }, + { + "registers": [ + { + "id": "figurative", + "text": "Figurative" + } + ], + "text": "life had started dealing him aces again" + } + ], + "id": "m_en_gbus0005680.006" + }, + { + "id": "m_en_gbus0005680.010", + "subsenses": [ + { + "examples": [ + { + "text": "a Battle of Britain ace" + } + ], + "id": "m_en_gbus0005680.011" + } + ] + }, + { + "examples": [ + { + "text": "Nadal banged down eight aces in the set" + } + ], + "id": "m_en_gbus0005680.013", + "subsenses": [ + { + "examples": [ + { + "text": "his hole in one at the 15th was Senior's second ace as a professional" + } + ], + "id": "m_en_gbus0005680.014" + } + ] + } + ] + } + ], + "language": "en-gb", + "lexicalCategory": { + "id": "noun", + "text": "Noun" + }, + "text": "ace" + }, + { + "entries": [ + { + "homographNumber": "101", + "senses": [ + { + "examples": [ + { + "text": "an ace swimmer" + }, + { + "notes": [ + { + "text": "as exclamation", + "type": "grammaticalNote" + } + ], + "text": "Ace! You've done it!" + } + ], + "id": "m_en_gbus0005680.016" + } + ] + } + ], + "language": "en-gb", + "lexicalCategory": { + "id": "adjective", + "text": "Adjective" + }, + "text": "ace" + }, + { + "entries": [ + { + "homographNumber": "102", + "senses": [ + { + "id": "m_en_gbus0005680.020", + "subsenses": [ + { + "examples": [ + { + "text": "there was a prize for the first player to ace the hole" + } + ], + "id": "m_en_gbus0005680.026" + } + ] + } + ] + } + ], + "language": "en-gb", + "lexicalCategory": { + "id": "verb", + "text": "Verb" + }, + "text": "ace" + } + ], + "type": "headword", + "word": "ace" + }, + { + "id": "ace", + "language": "en-gb", + "lexicalEntries": [ + { + "entries": [ + { + "homographNumber": "200", + "senses": [ + { + "examples": [ + { + "text": "both asexual, they have managed to connect with other aces offline" + } + ], + "id": "m_en_gbus1190638.004" + } + ] + } + ], + "language": "en-gb", + "lexicalCategory": { + "id": "noun", + "text": "Noun" + }, + "text": "ace" + }, + { + "entries": [ + { + "homographNumber": "201", + "senses": [ + { + "examples": [ + { + "text": "I didn't realize that I was ace for a long time" + } + ], + "id": "m_en_gbus1190638.006" + } + ] + } + ], + "language": "en-gb", + "lexicalCategory": { + "id": "adjective", + "text": "Adjective" + }, + "text": "ace" + } + ], + "type": "headword", + "word": "ace" + } + ], + "word": "ace" + } + http_version: + recorded_at: Sun, 30 Jun 2019 01:14:01 GMT +recorded_with: VCR 4.0.0 diff --git a/fixtures/vcr_cassettes/v1_entry_past_nouns.yml b/fixtures/vcr_cassettes/v1_entry_past_nouns.yml new file mode 100644 index 0000000..715ef97 --- /dev/null +++ b/fixtures/vcr_cassettes/v1_entry_past_nouns.yml @@ -0,0 +1,49 @@ +--- +http_interactions: +- request: + method: get + uri: https://od-api.oxforddictionaries.com/api/v2/entries/en-gb/ace?grammaticalFeatures=singular,past&lexicalCategory=noun + body: + encoding: US-ASCII + string: '' + headers: + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - application/json + User-Agent: + - Ruby + Host: + - od-api.oxforddictionaries.com + App-Id: + - APP_ID + App-Key: + - APP_KEY + response: + status: + code: 404 + message: NOT FOUND + headers: + Api-Version: + - v2 + Code-Version: + - v2.3.2-g02aa52c + Content-Type: + - application/json;charset=utf-8 + Date: + - Sun, 30 Jun 2019 05:08:44 GMT + Server: + - openresty/1.13.6.2 + Content-Length: + - '90' + Connection: + - keep-alive + body: + encoding: UTF-8 + string: |- + { + "error": "No entry found matching supplied source_lang, word and provided filters" + } + http_version: + recorded_at: Sun, 30 Jun 2019 05:08:44 GMT +recorded_with: VCR 4.0.0 diff --git a/fixtures/vcr_cassettes/v1_entry_pronunciations.yml b/fixtures/vcr_cassettes/v1_entry_pronunciations.yml new file mode 100644 index 0000000..6eeecb9 --- /dev/null +++ b/fixtures/vcr_cassettes/v1_entry_pronunciations.yml @@ -0,0 +1,156 @@ +--- +http_interactions: +- request: + method: get + uri: https://od-api.oxforddictionaries.com/api/v2/entries/en-gb/ace?fields=pronunciations + body: + encoding: US-ASCII + string: '' + headers: + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - application/json + User-Agent: + - Ruby + Host: + - od-api.oxforddictionaries.com + App-Id: + - APP_ID + App-Key: + - APP_KEY + response: + status: + code: 200 + message: OK + headers: + Api-Version: + - v2 + Code-Version: + - v2.3.2-g02aa52c + Content-Type: + - application/json;charset=utf-8 + Date: + - Sun, 30 Jun 2019 01:14:02 GMT + Server: + - openresty/1.13.6.2 + Content-Length: + - '4931' + Connection: + - keep-alive + body: + encoding: ASCII-8BIT + string: !binary |- + ewogICAgImlkIjogImFjZSIsCiAgICAibWV0YWRhdGEiOiB7CiAgICAgICAg + Im9wZXJhdGlvbiI6ICJyZXRyaWV2ZSIsCiAgICAgICAgInByb3ZpZGVyIjog + Ik94Zm9yZCBVbml2ZXJzaXR5IFByZXNzIiwKICAgICAgICAic2NoZW1hIjog + IlJldHJpZXZlRW50cnkiCiAgICB9LAogICAgInJlc3VsdHMiOiBbCiAgICAg + ICAgewogICAgICAgICAgICAiaWQiOiAiYWNlIiwKICAgICAgICAgICAgImxh + bmd1YWdlIjogImVuLWdiIiwKICAgICAgICAgICAgImxleGljYWxFbnRyaWVz + IjogWwogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICJl + bnRyaWVzIjogWwogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAiaG9tb2dyYXBoTnVtYmVyIjogIjEwMCIK + ICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAg + IF0sCiAgICAgICAgICAgICAgICAgICAgImxhbmd1YWdlIjogImVuLWdiIiwK + ICAgICAgICAgICAgICAgICAgICAibGV4aWNhbENhdGVnb3J5IjogewogICAg + ICAgICAgICAgICAgICAgICAgICAiaWQiOiAibm91biIsCiAgICAgICAgICAg + ICAgICAgICAgICAgICJ0ZXh0IjogIk5vdW4iCiAgICAgICAgICAgICAgICAg + ICAgfSwKICAgICAgICAgICAgICAgICAgICAicHJvbnVuY2lhdGlvbnMiOiBb + CiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICJhdWRpb0ZpbGUiOiAiaHR0cDovL2F1ZGlvLm94Zm9yZGRp + Y3Rpb25hcmllcy5jb20vZW4vbXAzL2FjZV8xX2diXzFfYWJici5tcDMiLAog + ICAgICAgICAgICAgICAgICAgICAgICAgICAgImRpYWxlY3RzIjogWwogICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICJCcml0aXNoIEVuZ2xpc2gi + CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICAg + ICAgICAgICAgICAgICAgInBob25ldGljTm90YXRpb24iOiAiSVBBIiwKICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICJwaG9uZXRpY1NwZWxsaW5nIjog + ImXJqnMiCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAg + ICAgICAgICBdLAogICAgICAgICAgICAgICAgICAgICJ0ZXh0IjogImFjZSIK + ICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICB7CiAgICAgICAg + ICAgICAgICAgICAgImVudHJpZXMiOiBbCiAgICAgICAgICAgICAgICAgICAg + ICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICJob21vZ3JhcGhO + dW1iZXIiOiAiMTAxIgogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAg + ICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgICAgICAibGFuZ3Vh + Z2UiOiAiZW4tZ2IiLAogICAgICAgICAgICAgICAgICAgICJsZXhpY2FsQ2F0 + ZWdvcnkiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJpZCI6ICJhZGpl + Y3RpdmUiLAogICAgICAgICAgICAgICAgICAgICAgICAidGV4dCI6ICJBZGpl + Y3RpdmUiCiAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAg + ICAgICAicHJvbnVuY2lhdGlvbnMiOiBbCiAgICAgICAgICAgICAgICAgICAg + ICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICJhdWRpb0ZpbGUi + OiAiaHR0cDovL2F1ZGlvLm94Zm9yZGRpY3Rpb25hcmllcy5jb20vZW4vbXAz + L2FjZV8xX2diXzFfYWJici5tcDMiLAogICAgICAgICAgICAgICAgICAgICAg + ICAgICAgImRpYWxlY3RzIjogWwogICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICJCcml0aXNoIEVuZ2xpc2giCiAgICAgICAgICAgICAgICAgICAg + ICAgICAgICBdLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgInBob25l + dGljTm90YXRpb24iOiAiSVBBIiwKICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICJwaG9uZXRpY1NwZWxsaW5nIjogImXJqnMiCiAgICAgICAgICAgICAg + ICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICBdLAogICAgICAgICAg + ICAgICAgICAgICJ0ZXh0IjogImFjZSIKICAgICAgICAgICAgICAgIH0sCiAg + ICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgImVudHJpZXMi + OiBbCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICJob21vZ3JhcGhOdW1iZXIiOiAiMTAyIgogICAgICAg + ICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgXSwKICAg + ICAgICAgICAgICAgICAgICAibGFuZ3VhZ2UiOiAiZW4tZ2IiLAogICAgICAg + ICAgICAgICAgICAgICJsZXhpY2FsQ2F0ZWdvcnkiOiB7CiAgICAgICAgICAg + ICAgICAgICAgICAgICJpZCI6ICJ2ZXJiIiwKICAgICAgICAgICAgICAgICAg + ICAgICAgInRleHQiOiAiVmVyYiIKICAgICAgICAgICAgICAgICAgICB9LAog + ICAgICAgICAgICAgICAgICAgICJwcm9udW5jaWF0aW9ucyI6IFsKICAgICAg + ICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAg + ICAgImF1ZGlvRmlsZSI6ICJodHRwOi8vYXVkaW8ub3hmb3JkZGljdGlvbmFy + aWVzLmNvbS9lbi9tcDMvYWNlXzFfZ2JfMV9hYmJyLm1wMyIsCiAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAiZGlhbGVjdHMiOiBbCiAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgIkJyaXRpc2ggRW5nbGlzaCIKICAgICAg + ICAgICAgICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAicGhvbmV0aWNOb3RhdGlvbiI6ICJJUEEiLAogICAgICAgICAg + ICAgICAgICAgICAgICAgICAgInBob25ldGljU3BlbGxpbmciOiAiZcmqcyIK + ICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAg + IF0sCiAgICAgICAgICAgICAgICAgICAgInRleHQiOiAiYWNlIgogICAgICAg + ICAgICAgICAgfQogICAgICAgICAgICBdLAogICAgICAgICAgICAidHlwZSI6 + ICJoZWFkd29yZCIsCiAgICAgICAgICAgICJ3b3JkIjogImFjZSIKICAgICAg + ICB9LAogICAgICAgIHsKICAgICAgICAgICAgImlkIjogImFjZSIsCiAgICAg + ICAgICAgICJsYW5ndWFnZSI6ICJlbi1nYiIsCiAgICAgICAgICAgICJsZXhp + Y2FsRW50cmllcyI6IFsKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAg + ICAgICAgICAiZW50cmllcyI6IFsKICAgICAgICAgICAgICAgICAgICAgICAg + ewogICAgICAgICAgICAgICAgICAgICAgICAgICAgImhvbW9ncmFwaE51bWJl + ciI6ICIyMDAiCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAg + ICAgICAgICAgICBdLAogICAgICAgICAgICAgICAgICAgICJsYW5ndWFnZSI6 + ICJlbi1nYiIsCiAgICAgICAgICAgICAgICAgICAgImxleGljYWxDYXRlZ29y + eSI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgImlkIjogIm5vdW4iLAog + ICAgICAgICAgICAgICAgICAgICAgICAidGV4dCI6ICJOb3VuIgogICAgICAg + ICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgInByb251bmNp + YXRpb25zIjogWwogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAiYXVkaW9GaWxlIjogImh0dHA6Ly9hdWRp + by5veGZvcmRkaWN0aW9uYXJpZXMuY29tL2VuL21wMy9hY2VfMV9nYl8xX2Fi + YnIubXAzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICJkaWFsZWN0 + cyI6IFsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiQnJpdGlz + aCBFbmdsaXNoIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgXSwKICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICJwaG9uZXRpY05vdGF0aW9uIjog + IklQQSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGhvbmV0aWNT + cGVsbGluZyI6ICJlyapzIgogICAgICAgICAgICAgICAgICAgICAgICB9CiAg + ICAgICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgICAgICAidGV4 + dCI6ICJhY2UiCiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAg + ewogICAgICAgICAgICAgICAgICAgICJlbnRyaWVzIjogWwogICAgICAgICAg + ICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAi + aG9tb2dyYXBoTnVtYmVyIjogIjIwMSIKICAgICAgICAgICAgICAgICAgICAg + ICAgfQogICAgICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAg + ICAgImxhbmd1YWdlIjogImVuLWdiIiwKICAgICAgICAgICAgICAgICAgICAi + bGV4aWNhbENhdGVnb3J5IjogewogICAgICAgICAgICAgICAgICAgICAgICAi + aWQiOiAiYWRqZWN0aXZlIiwKICAgICAgICAgICAgICAgICAgICAgICAgInRl + eHQiOiAiQWRqZWN0aXZlIgogICAgICAgICAgICAgICAgICAgIH0sCiAgICAg + ICAgICAgICAgICAgICAgInByb251bmNpYXRpb25zIjogWwogICAgICAgICAg + ICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAi + YXVkaW9GaWxlIjogImh0dHA6Ly9hdWRpby5veGZvcmRkaWN0aW9uYXJpZXMu + Y29tL2VuL21wMy9hY2VfMV9nYl8xX2FiYnIubXAzIiwKICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICJkaWFsZWN0cyI6IFsKICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAiQnJpdGlzaCBFbmdsaXNoIgogICAgICAgICAg + ICAgICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICJwaG9uZXRpY05vdGF0aW9uIjogIklQQSIsCiAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAicGhvbmV0aWNTcGVsbGluZyI6ICJlyapzIgogICAg + ICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgXSwK + ICAgICAgICAgICAgICAgICAgICAidGV4dCI6ICJhY2UiCiAgICAgICAgICAg + ICAgICB9CiAgICAgICAgICAgIF0sCiAgICAgICAgICAgICJ0eXBlIjogImhl + YWR3b3JkIiwKICAgICAgICAgICAgIndvcmQiOiAiYWNlIgogICAgICAgIH0K + ICAgIF0sCiAgICAid29yZCI6ICJhY2UiCn0= + http_version: + recorded_at: Sun, 30 Jun 2019 01:14:02 GMT +recorded_with: VCR 4.0.0 diff --git a/fixtures/vcr_cassettes/v1_entry_synonyms.yml b/fixtures/vcr_cassettes/v1_entry_synonyms.yml new file mode 100644 index 0000000..9bdee0d --- /dev/null +++ b/fixtures/vcr_cassettes/v1_entry_synonyms.yml @@ -0,0 +1,42 @@ +--- +http_interactions: +- request: + method: get + uri: https://od-api.oxforddictionaries.com/api/v2/thesaurus/en/vapid?fields=synonyms + body: + encoding: US-ASCII + string: '' + headers: + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - application/json + User-Agent: + - Ruby + Host: + - od-api.oxforddictionaries.com + App-Id: + - APP_ID + App-Key: + - APP_KEY + response: + status: + code: 403 + message: Forbidden + headers: + Content-Type: + - text/plain; charset=us-ascii + Date: + - Sun, 30 Jun 2019 01:14:05 GMT + Server: + - openresty/1.13.6.2 + Content-Length: + - '21' + Connection: + - keep-alive + body: + encoding: UTF-8 + string: Authentication failed + http_version: + recorded_at: Sun, 30 Jun 2019 01:14:05 GMT +recorded_with: VCR 4.0.0 diff --git a/fixtures/vcr_cassettes/v1_entry_us.yml b/fixtures/vcr_cassettes/v1_entry_us.yml new file mode 100644 index 0000000..f98006b --- /dev/null +++ b/fixtures/vcr_cassettes/v1_entry_us.yml @@ -0,0 +1,526 @@ +--- +http_interactions: +- request: + method: get + uri: https://od-api.oxforddictionaries.com/api/v2/entries/en-gb/ace + body: + encoding: US-ASCII + string: '' + headers: + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - application/json + User-Agent: + - Ruby + Host: + - od-api.oxforddictionaries.com + App-Id: + - APP_ID + App-Key: + - APP_KEY + response: + status: + code: 200 + message: OK + headers: + Api-Version: + - v2 + Code-Version: + - v2.3.2-g02aa52c + Content-Type: + - application/json;charset=utf-8 + Date: + - Sun, 30 Jun 2019 01:22:25 GMT + Server: + - openresty/1.13.6.2 + Content-Length: + - '21569' + Connection: + - keep-alive + body: + encoding: ASCII-8BIT + string: !binary |- + ewogICAgImlkIjogImFjZSIsCiAgICAibWV0YWRhdGEiOiB7CiAgICAgICAg + Im9wZXJhdGlvbiI6ICJyZXRyaWV2ZSIsCiAgICAgICAgInByb3ZpZGVyIjog + Ik94Zm9yZCBVbml2ZXJzaXR5IFByZXNzIiwKICAgICAgICAic2NoZW1hIjog + IlJldHJpZXZlRW50cnkiCiAgICB9LAogICAgInJlc3VsdHMiOiBbCiAgICAg + ICAgewogICAgICAgICAgICAiaWQiOiAiYWNlIiwKICAgICAgICAgICAgImxh + bmd1YWdlIjogImVuLWdiIiwKICAgICAgICAgICAgImxleGljYWxFbnRyaWVz + IjogWwogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICJl + bnRyaWVzIjogWwogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAiZXR5bW9sb2dpZXMiOiBbCiAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgIk1pZGRsZSBFbmdsaXNoIChkZW5v + dGluZyB0aGUg4oCYb25l4oCZIG9uIGRpY2UpOiB2aWEgT2xkIEZyZW5jaCBm + cm9tIExhdGluYXPigJh1bml0eSwgYSB1bml04oCZIgogICAgICAgICAgICAg + ICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICJob21vZ3JhcGhOdW1iZXIiOiAiMTAwIiwKICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICJzZW5zZXMiOiBbCiAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAiZGVmaW5pdGlvbnMiOiBbCiAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAiYSBwbGF5aW5nIGNhcmQgd2l0aCBhIHNpbmdsZSBz + cG90IG9uIGl0LCByYW5rZWQgYXMgdGhlIGhpZ2hlc3QgY2FyZCBpbiBpdHMg + c3VpdCBpbiBtb3N0IGNhcmQgZ2FtZXMiCiAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICJkb21haW5zIjogWwogICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICJpZCI6ICJjYXJkcyIsCiAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRleHQiOiAiQ2Fy + ZHMiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9 + CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF0sCiAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJleGFtcGxlcyI6IFsK + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidGV4 + dCI6ICJ0aGUgYWNlIG9mIGRpYW1vbmRzIgogICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAicmVnaXN0ZXJzIjogWwogICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAiaWQiOiAiZmlndXJhdGl2ZSIsCiAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidGV4dCI6ICJGaWd1cmF0 + aXZlIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAidGV4dCI6ICJsaWZlIGhhZCBzdGFydGVkIGRlYWxpbmcg + aGltIGFjZXMgYWdhaW4iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgIF0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJp + ZCI6ICJtX2VuX2didXMwMDA1NjgwLjAwNiIsCiAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICJzaG9ydERlZmluaXRpb25zIjogWwogICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBsYXlpbmcg + Y2FyZCB3aXRoIHNpbmdsZSBzcG90IG9uIGl0LCByYW5rZWQgYXMgaGlnaGVz + dCBjYXJkIGluIGl0cyBzdWl0IGluIG1vc3QgY2FyZCBnYW1lcyIKICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXQogICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAiZGVmaW5pdGlvbnMiOiBbCiAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAiYSBwZXJzb24gd2hvIGV4Y2VscyBhdCBhIHBhcnRp + Y3VsYXIgc3BvcnQgb3Igb3RoZXIgYWN0aXZpdHkiCiAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICJkb21haW5zIjogWwogICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICJpZCI6ICJzcG9ydCIsCiAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRleHQi + OiAiU3BvcnQiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF0s + CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJpZCI6ICJt + X2VuX2didXMwMDA1NjgwLjAxMCIsCiAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICJyZWdpc3RlcnMiOiBbCiAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgImlkIjogImluZm9ybWFsIiwKICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidGV4 + dCI6ICJJbmZvcm1hbCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNo + b3J0RGVmaW5pdGlvbnMiOiBbCiAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAicGVyc29uIHdobyBleGNlbHMgYXQgcGFydGljdWxh + ciBzcG9ydCBvciBvdGhlciBhY3Rpdml0eSIKICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgInN1YnNlbnNlcyI6IFsKICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAiZGVmaW5pdGlvbnMiOiBbCiAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJh + IHBpbG90IHdobyBoYXMgc2hvdCBkb3duIG1hbnkgZW5lbXkgYWlyY3JhZnQi + CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + XSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAiZG9tYWlucyI6IFsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgImlkIjogImFpcl9mb3JjZSIs + CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAidGV4dCI6ICJBaXJfRm9yY2UiCiAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBdLAogICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJleGFtcGxlcyI6 + IFsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgInRleHQiOiAiYSBCYXR0bGUgb2YgQnJpdGFpbiBh + Y2UiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICBdLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICJpZCI6ICJtX2VuX2didXMwMDA1NjgwLjAxMSIsCiAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNob3J0 + RGVmaW5pdGlvbnMiOiBbCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICJwaWxvdCB3aG8gaGFzIHNob3QgZG93biBt + YW55IGVuZW15IGFpcmNyYWZ0IgogICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgIF0KICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgInRoZXNhdXJ1c0xpbmtzIjogWwogICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICJlbnRyeV9pZCI6ICJhY2UiLAogICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzZW5zZV9p + ZCI6ICJ0X2VuX2diMDAwMDE3My4wMDEiCiAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImRlZmluaXRpb25zIjog + WwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIihp + biB0ZW5uaXMgYW5kIHNpbWlsYXIgZ2FtZXMpIGEgc2VydmljZSB0aGF0IGFu + IG9wcG9uZW50IGlzIHVuYWJsZSB0byByZXR1cm4gYW5kIHRodXMgd2lucyBh + IHBvaW50IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBd + LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZG9tYWlu + cyI6IFsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAiaWQiOiAidGVubmlzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAidGV4dCI6ICJUZW5uaXMiCiAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICJleGFtcGxlcyI6IFsKICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAidGV4dCI6ICJOYWRhbCBiYW5n + ZWQgZG93biBlaWdodCBhY2VzIGluIHRoZSBzZXQiCiAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICJpZCI6ICJtX2VuX2didXMwMDA1NjgwLjAxMyIsCiAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzaG9ydERlZmlu + aXRpb25zIjogWwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgIihpbiB0ZW5uaXMgYW5kIHNpbWlsYXIgZ2FtZXMpIHNlcnZpY2Ug + dGhhdCBvcHBvbmVudCBpcyB1bmFibGUgdG8gcmV0dXJuIGFuZCB0aHVzIHdp + bnMgcG9pbnQiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + IF0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzdWJz + ZW5zZXMiOiBbCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgImRlZmluaXRpb25zIjogWwogICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAiYSBob2xlIGluIG9uZSIKICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBdLAog + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJk + b21haW5zIjogWwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAiaWQiOiAiZ29sZiIsCiAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAi + dGV4dCI6ICJHb2xmIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAiZXhhbXBsZXMiOiBbCiAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICJ0ZXh0IjogImhpcyBob2xlIGluIG9uZSBhdCB0aGUgMTV0aCB3YXMgU2Vu + aW9yJ3Mgc2Vjb25kIGFjZSBhcyBhIHByb2Zlc3Npb25hbCIKICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF0sCiAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImlk + IjogIm1fZW5fZ2J1czAwMDU2ODAuMDE0IiwKICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAicmVnaXN0ZXJzIjogWwogICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7 + CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAiaWQiOiAiaW5mb3JtYWwiLAogICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRleHQiOiAiSW5m + b3JtYWwiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICBdLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICJzaG9ydERlZmluaXRpb25zIjogWwogICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaG9sZSBp + biBvbmUiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBdCiAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAg + ICAgICAgICAgICAgICAgXQogICAgICAgICAgICAgICAgICAgICAgICB9CiAg + ICAgICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgICAgICAibGFu + Z3VhZ2UiOiAiZW4tZ2IiLAogICAgICAgICAgICAgICAgICAgICJsZXhpY2Fs + Q2F0ZWdvcnkiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJpZCI6ICJu + b3VuIiwKICAgICAgICAgICAgICAgICAgICAgICAgInRleHQiOiAiTm91biIK + ICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICJw + cm9udW5jaWF0aW9ucyI6IFsKICAgICAgICAgICAgICAgICAgICAgICAgewog + ICAgICAgICAgICAgICAgICAgICAgICAgICAgImF1ZGlvRmlsZSI6ICJodHRw + Oi8vYXVkaW8ub3hmb3JkZGljdGlvbmFyaWVzLmNvbS9lbi9tcDMvYWNlXzFf + Z2JfMV9hYmJyLm1wMyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAi + ZGlhbGVjdHMiOiBbCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + IkJyaXRpc2ggRW5nbGlzaCIKICAgICAgICAgICAgICAgICAgICAgICAgICAg + IF0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGhvbmV0aWNOb3Rh + dGlvbiI6ICJJUEEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgInBo + b25ldGljU3BlbGxpbmciOiAiZcmqcyIKICAgICAgICAgICAgICAgICAgICAg + ICAgfQogICAgICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAg + ICAgInRleHQiOiAiYWNlIgogICAgICAgICAgICAgICAgfSwKICAgICAgICAg + ICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAiZW50cmllcyI6IFsKICAg + ICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAg + ICAgICAgImhvbW9ncmFwaE51bWJlciI6ICIxMDEiLAogICAgICAgICAgICAg + ICAgICAgICAgICAgICAgInNlbnNlcyI6IFsKICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICJkZWZpbml0aW9ucyI6IFsKICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICJ2ZXJ5IGdvb2QiCiAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICJleGFtcGxlcyI6IFsKICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAidGV4dCI6ICJhbiBhY2Ugc3dp + bW1lciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7 + CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + Im5vdGVzIjogWwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAidGV4dCI6ICJhcyBleGNsYW1hdGlv + biIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAidHlwZSI6ICJncmFtbWF0aWNhbE5vdGUiCiAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBdLAog + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0 + ZXh0IjogIkFjZSEgWW91J3ZlIGRvbmUgaXQhIgogICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAiaWQiOiAibV9lbl9nYnVzMDAwNTY4MC4wMTYiLAogICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicmVnaXN0ZXJzIjog + WwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgewog + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJp + ZCI6ICJpbmZvcm1hbCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgInRleHQiOiAiSW5mb3JtYWwiCiAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICJzaG9ydERlZmluaXRpb25zIjogWwogICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZlcnkgZ29vZCIK + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXSwKICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRoZXNhdXJ1c0xpbmtz + IjogWwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICJlbnRyeV9pZCI6ICJhY2UiLAogICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICJzZW5zZV9pZCI6ICJ0X2VuX2diMDAwMDE3 + My4wMDIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF0KICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAg + ICAgICAgICAgICAgICBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAg + ICAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICAgICAgICJsYW5n + dWFnZSI6ICJlbi1nYiIsCiAgICAgICAgICAgICAgICAgICAgImxleGljYWxD + YXRlZ29yeSI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgImlkIjogImFk + amVjdGl2ZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0ZXh0IjogIkFk + amVjdGl2ZSIKICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAg + ICAgICAgICJwcm9udW5jaWF0aW9ucyI6IFsKICAgICAgICAgICAgICAgICAg + ICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgImF1ZGlvRmls + ZSI6ICJodHRwOi8vYXVkaW8ub3hmb3JkZGljdGlvbmFyaWVzLmNvbS9lbi9t + cDMvYWNlXzFfZ2JfMV9hYmJyLm1wMyIsCiAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAiZGlhbGVjdHMiOiBbCiAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgIkJyaXRpc2ggRW5nbGlzaCIKICAgICAgICAgICAgICAgICAg + ICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGhv + bmV0aWNOb3RhdGlvbiI6ICJJUEEiLAogICAgICAgICAgICAgICAgICAgICAg + ICAgICAgInBob25ldGljU3BlbGxpbmciOiAiZcmqcyIKICAgICAgICAgICAg + ICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIF0sCiAgICAgICAg + ICAgICAgICAgICAgInRleHQiOiAiYWNlIgogICAgICAgICAgICAgICAgfSwK + ICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAiZW50cmll + cyI6IFsKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAg + ICAgICAgICAgICAgICAgImdyYW1tYXRpY2FsRmVhdHVyZXMiOiBbCiAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAiaWQiOiAidHJhbnNpdGl2ZSIsCiAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0ZXh0IjogIlRyYW5z + aXRpdmUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAi + dHlwZSI6ICJTdWJjYXRlZ29yaXphdGlvbiIKICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBd + LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgImhvbW9ncmFwaE51bWJl + ciI6ICIxMDIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgInNlbnNl + cyI6IFsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJkZWZpbml0aW9ucyI6 + IFsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIo + aW4gdGVubmlzIGFuZCBzaW1pbGFyIGdhbWVzKSBzZXJ2ZSBhbiBhY2UgYWdh + aW5zdCAoYW4gb3Bwb25lbnQpIgogICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICBdLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAiZG9tYWlucyI6IFsKICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAiaWQiOiAidGVubmlzIiwKICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidGV4dCI6ICJUZW5uaXMi + CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF0sCiAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICJpZCI6ICJtX2VuX2didXMw + MDA1NjgwLjAyMCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICJyZWdpc3RlcnMiOiBbCiAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgImlkIjogImluZm9ybWFsIiwKICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidGV4dCI6ICJJbmZv + cm1hbCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + IH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXSwKICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNob3J0RGVmaW5p + dGlvbnMiOiBbCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAiKGluIHRlbm5pcyBhbmQgc2ltaWxhciBnYW1lcykgc2VydmUgYWNl + IGFnYWluc3QiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + IF0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzdWJz + ZW5zZXMiOiBbCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgImRlZmluaXRpb25zIjogWwogICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAic2NvcmUgYW4gYWNlIG9uIChh + IGhvbGUpIG9yIHdpdGggKGEgc2hvdCkiCiAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAiZG9tYWlucyI6IFsKICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgewog + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgImlkIjogImdvbGYiLAogICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgInRleHQiOiAiR29sZiIKICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + fQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + IF0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgImV4YW1wbGVzIjogWwogICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidGV4dCI6ICJ0aGVyZSB3 + YXMgYSBwcml6ZSBmb3IgdGhlIGZpcnN0IHBsYXllciB0byBhY2UgdGhlIGhv + bGUiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICBdLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICJpZCI6ICJtX2VuX2didXMwMDA1NjgwLjAyNiIsCiAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNob3J0 + RGVmaW5pdGlvbnMiOiBbCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICJzY29yZSBhY2Ugb24gaG9sZSBvciB3aXRo + IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0K + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXQogICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAiZGVmaW5pdGlvbnMiOiBbCiAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAiYWNoaWV2ZSBoaWdoIG1hcmtzIGluIChh + IHRlc3Qgb3IgZXhhbSkiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgIF0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICJpZCI6ICJtX2VuX2didXMwMDA1NjgwLjAyOCIsCiAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICJyZWdpb25zIjogWwogICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJpZCI6ICJub3J0aF9h + bWVyaWNhbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgInRleHQiOiAiTm9ydGhfQW1lcmljYW4iCiAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICJyZWdpc3RlcnMiOiBbCiAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgImlkIjogImluZm9ybWFsIiwK + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAi + dGV4dCI6ICJJbmZvcm1hbCIKICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + InNob3J0RGVmaW5pdGlvbnMiOiBbCiAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAiYWNoaWV2ZSBoaWdoIG1hcmtzIGluIgogICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBdLAogICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAic3Vic2Vuc2VzIjogWwogICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJkZWZpbml0 + aW9ucyI6IFsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgIm91dGRvIHNvbWVvbmUgaW4gYSBjb21wZXRpdGl2ZSBz + aXR1YXRpb24iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAiaWQiOiAibV9lbl9nYnVzMDAwNTY4MC4wMjkiLAogICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJub3Rl + cyI6IFsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgInRleHQiOiAiXCJhY2Ugc29tZW9uZSBvdXRc + IiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAidHlwZSI6ICJ3b3JkRm9ybU5vdGUiCiAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBdLAogICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzaG9y + dERlZmluaXRpb25zIjogWwogICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAib3V0ZG8gc29tZW9uZSBpbiBjb21wZXRp + dGl2ZSBzaXR1YXRpb24iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAg + ICAgICAgICAgICAgICAgICAgICAgICAgXQogICAgICAgICAgICAgICAgICAg + ICAgICB9CiAgICAgICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAg + ICAgICAibGFuZ3VhZ2UiOiAiZW4tZ2IiLAogICAgICAgICAgICAgICAgICAg + ICJsZXhpY2FsQ2F0ZWdvcnkiOiB7CiAgICAgICAgICAgICAgICAgICAgICAg + ICJpZCI6ICJ2ZXJiIiwKICAgICAgICAgICAgICAgICAgICAgICAgInRleHQi + OiAiVmVyYiIKICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAg + ICAgICAgICJwcm9udW5jaWF0aW9ucyI6IFsKICAgICAgICAgICAgICAgICAg + ICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgImF1ZGlvRmls + ZSI6ICJodHRwOi8vYXVkaW8ub3hmb3JkZGljdGlvbmFyaWVzLmNvbS9lbi9t + cDMvYWNlXzFfZ2JfMV9hYmJyLm1wMyIsCiAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAiZGlhbGVjdHMiOiBbCiAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgIkJyaXRpc2ggRW5nbGlzaCIKICAgICAgICAgICAgICAgICAg + ICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGhv + bmV0aWNOb3RhdGlvbiI6ICJJUEEiLAogICAgICAgICAgICAgICAgICAgICAg + ICAgICAgInBob25ldGljU3BlbGxpbmciOiAiZcmqcyIKICAgICAgICAgICAg + ICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIF0sCiAgICAgICAg + ICAgICAgICAgICAgInRleHQiOiAiYWNlIgogICAgICAgICAgICAgICAgfQog + ICAgICAgICAgICBdLAogICAgICAgICAgICAidHlwZSI6ICJoZWFkd29yZCIs + CiAgICAgICAgICAgICJ3b3JkIjogImFjZSIKICAgICAgICB9LAogICAgICAg + IHsKICAgICAgICAgICAgImlkIjogImFjZSIsCiAgICAgICAgICAgICJsYW5n + dWFnZSI6ICJlbi1nYiIsCiAgICAgICAgICAgICJsZXhpY2FsRW50cmllcyI6 + IFsKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAiZW50 + cmllcyI6IFsKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAg + ICAgICAgICAgICAgICAgICAgImV0eW1vbG9naWVzIjogWwogICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICJlYXJseSAyMXN0IGNlbnR1cnk6IGFi + YnJldmlhdGlvbiBvZiBhc2V4dWFsLCB3aXRoIGFsdGVyYXRpb24gb2Ygc3Bl + bGxpbmcgb24gdGhlIG1vZGVsIG9mIGFjZSIKICAgICAgICAgICAgICAgICAg + ICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaG9t + b2dyYXBoTnVtYmVyIjogIjIwMCIsCiAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAic2Vuc2VzIjogWwogICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImRl + ZmluaXRpb25zIjogWwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgImEgcGVyc29uIHdobyBoYXMgbm8gc2V4dWFsIGZlZWxpbmdz + IG9yIGRlc2lyZXMiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgIF0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJk + b21haW5zIjogWwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICJpZCI6ICJzZXgiLAogICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICJ0ZXh0IjogIlNleCIKICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgImV4YW1wbGVzIjogWwogICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICJ0ZXh0IjogImJvdGggYXNleHVh + bCwgdGhleSBoYXZlIG1hbmFnZWQgdG8gY29ubmVjdCB3aXRoIG90aGVyIGFj + ZXMgb2ZmbGluZSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + XSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImlkIjog + Im1fZW5fZ2J1czExOTA2MzguMDA0IiwKICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgInNob3J0RGVmaW5pdGlvbnMiOiBbCiAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiYXNleHVhbCBwZXJz + b24iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF0KICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAg + ICAgICAgICAgICAgICBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAg + ICAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICAgICAgICJsYW5n + dWFnZSI6ICJlbi1nYiIsCiAgICAgICAgICAgICAgICAgICAgImxleGljYWxD + YXRlZ29yeSI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgImlkIjogIm5v + dW4iLAogICAgICAgICAgICAgICAgICAgICAgICAidGV4dCI6ICJOb3VuIgog + ICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgInBy + b251bmNpYXRpb25zIjogWwogICAgICAgICAgICAgICAgICAgICAgICB7CiAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAiYXVkaW9GaWxlIjogImh0dHA6 + Ly9hdWRpby5veGZvcmRkaWN0aW9uYXJpZXMuY29tL2VuL21wMy9hY2VfMV9n + Yl8xX2FiYnIubXAzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICJk + aWFsZWN0cyI6IFsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAi + QnJpdGlzaCBFbmdsaXNoIgogICAgICAgICAgICAgICAgICAgICAgICAgICAg + XSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwaG9uZXRpY05vdGF0 + aW9uIjogIklQQSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGhv + bmV0aWNTcGVsbGluZyI6ICJlyapzIgogICAgICAgICAgICAgICAgICAgICAg + ICB9CiAgICAgICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgICAg + ICAidGV4dCI6ICJhY2UiCiAgICAgICAgICAgICAgICB9LAogICAgICAgICAg + ICAgICAgewogICAgICAgICAgICAgICAgICAgICJlbnRyaWVzIjogWwogICAg + ICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAiaG9tb2dyYXBoTnVtYmVyIjogIjIwMSIsCiAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAic2Vuc2VzIjogWwogICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgImRlZmluaXRpb25zIjogWwogICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgIihvZiBhIHBlcnNvbikgaGF2aW5nIG5vIHNl + eHVhbCBmZWVsaW5ncyBvciBkZXNpcmVzOyBhc2V4dWFsIgogICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAiZG9tYWlucyI6IFsKICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaWQiOiAic2V4IiwKICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidGV4 + dCI6ICJTZXgiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF0s + CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJleGFtcGxl + cyI6IFsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAidGV4dCI6ICJJIGRpZG4ndCByZWFsaXplIHRoYXQgSSB3YXMgYWNlIGZv + ciBhIGxvbmcgdGltZSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImlk + IjogIm1fZW5fZ2J1czExOTA2MzguMDA2IiwKICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgInNob3J0RGVmaW5pdGlvbnMiOiBbCiAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiYXNleHVhbCIK + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXQogICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAg + ICAgICAgICAgIF0KICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAg + ICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAgICAgImxhbmd1YWdl + IjogImVuLWdiIiwKICAgICAgICAgICAgICAgICAgICAibGV4aWNhbENhdGVn + b3J5IjogewogICAgICAgICAgICAgICAgICAgICAgICAiaWQiOiAiYWRqZWN0 + aXZlIiwKICAgICAgICAgICAgICAgICAgICAgICAgInRleHQiOiAiQWRqZWN0 + aXZlIgogICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAg + ICAgInByb251bmNpYXRpb25zIjogWwogICAgICAgICAgICAgICAgICAgICAg + ICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAiYXVkaW9GaWxlIjog + Imh0dHA6Ly9hdWRpby5veGZvcmRkaWN0aW9uYXJpZXMuY29tL2VuL21wMy9h + Y2VfMV9nYl8xX2FiYnIubXAzIiwKICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICJkaWFsZWN0cyI6IFsKICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAiQnJpdGlzaCBFbmdsaXNoIgogICAgICAgICAgICAgICAgICAgICAg + ICAgICAgXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwaG9uZXRp + Y05vdGF0aW9uIjogIklQQSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAicGhvbmV0aWNTcGVsbGluZyI6ICJlyapzIgogICAgICAgICAgICAgICAg + ICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAg + ICAgICAgICAidGV4dCI6ICJhY2UiCiAgICAgICAgICAgICAgICB9CiAgICAg + ICAgICAgIF0sCiAgICAgICAgICAgICJ0eXBlIjogImhlYWR3b3JkIiwKICAg + ICAgICAgICAgIndvcmQiOiAiYWNlIgogICAgICAgIH0KICAgIF0sCiAgICAi + d29yZCI6ICJhY2UiCn0= + http_version: + recorded_at: Sun, 30 Jun 2019 01:22:26 GMT +recorded_with: VCR 4.0.0 diff --git a/lib/oxford_dictionary/client.rb b/lib/oxford_dictionary/client.rb index f04e3d4..ad501e8 100644 --- a/lib/oxford_dictionary/client.rb +++ b/lib/oxford_dictionary/client.rb @@ -35,19 +35,171 @@ def entry(*args) ) else warn ''' - The V1 interface for this library is DEPRECATED and will become - non-functional on June 30, 2019. Use the new V2 interface for this + The V1 interface for this library is DEPRECATED. + Use the new V2 interface for this method instead. Reference github.com/swcraig/oxford-dictionary/pull/8 for more information. Specifically check out OxfordDictionary::Endpoints::Entries#entry for the new interface. ''' - # Support V1 behaviour - super(*args) + # Try our best + dataset = args[1].is_a?(Hash) && args[1][:lang] || 'en-gb' + has_lang = args[1].is_a?(Hash) && args[1][:lang] + args[1].delete(:lang) if has_lang + + params = args[1]&.map do |key, value| + if value.is_a?(Array) + [key, value.join(',')] + else + [key, value] + end + end.to_h + parameters = params || {} + entry(word: args.first, dataset: dataset, params: parameters) end end + def entry_definitions(*args) + warn ''' + Client#entry_defintions is DEPRECATED. + Use Client#entry instead. Reference + https://github.com/swcraig/oxford-dictionary/pull/8 for more + information. Check out OxfordDictionary::Endpoints::Entries for the + interface to use. Specifically use it with + params: { fields: \'definitions\' } + ''' + + dataset = args[1].is_a?(Hash) && args[1][:lang] || 'en-gb' + entry( + word: args.first, + dataset: dataset, + params: { fields: 'definitions' } + ) + end + + def entry_examples(*args) + warn ''' + Client#entry_examples is DEPRECATED. Use Client#entry instead. Reference + https://github.com/swcraig/oxford-dictionary/pull/8 for more + information. Check out OxfordDictionary::Endpoints::Entries for the + interface to use. Specifically use it with + params: { fields: \'examples\' } + ''' + + dataset = args[1].is_a?(Hash) && args[1][:lang] || 'en-gb' + entry( + word: args.first, + dataset: dataset, + params: { fields: 'examples' } + ) + end + + def entry_pronunciations(*args) + warn ''' + Client#entry_pronunciations is DEPRECATED. + Use Client#entry instead. Reference + https://github.com/swcraig/oxford-dictionary/pull/8 for more + information. Check out OxfordDictionary::Endpoints::Entries for the + interface to use. Specifically use it with + params: { fields: \'pronunciations\' } + ''' + + dataset = args[1].is_a?(Hash) && args[1][:lang] || 'en-gb' + entry( + word: args.first, + dataset: dataset, + params: { fields: 'pronunciations' } + ) + end + + def entry_sentences(*args) + warn ''' + Client#entry_sentences is DEPRECATED. + Use Client#sentence instead. Reference + https://github.com/swcraig/oxford-dictionary/pull/13 for more + information. Check out OxfordDictionary::Endpoints::Sentences for the + interface to use. + ''' + + dataset = args[1].is_a?(Hash) && args[1][:lang] || 'en' + sentence( + word: args.first, + language: dataset, + params: {} + ) + end + + def entry_antonyms(*args) + warn ''' + Client#entry_antonyms is DEPRECATED. + Use Client#thesaurus instead. Reference + https://github.com/swcraig/oxford-dictionary/pull/13 for more + information. Check out OxfordDictionary::Endpoints::Thesaurus for the + interface to use. Specifically use it with + params: { fields: \'antonyms\' } + ''' + + thesaurus( + word: args.first, + language: 'en', + params: { fields: 'antonyms' } + ) + end + + def entry_synonyms(*args) + warn ''' + Client#entry_synonyms is DEPRECATED. + Use Client#thesaurus instead. Reference + https://github.com/swcraig/oxford-dictionary/pull/13 for more + information. Check out OxfordDictionary::Endpoints::Thesaurus for the + interface to use. Specifically use it with + params: { fields: \'synonyms\' } + ''' + + thesaurus( + word: args.first, + language: 'en', + params: { fields: 'synonyms' } + ) + end + + def entry_antonyms_synonyms(*args) + warn ''' + Client#entry_antonyms_synonyms is DEPRECATED. + Use Client#thesaurus instead. Reference + https://github.com/swcraig/oxford-dictionary/pull/14 for more + information. Check out OxfordDictionary::Endpoints::Thesaurus for the + interface to use. Specifically use it with + params: { fields: \'synonyms,antonyms\' } + ''' + + thesaurus( + word: args.first, + language: 'en', + params: { fields: 'antonyms,synonyms' } + ) + end + + def entry_translations(*args) + warn ''' + Client#entry_translations is DEPRECATED. + Use Client#translation instead. Reference + https://github.com/swcraig/oxford-dictionary/pull/12 for more + information. Check out OxfordDictionary::Endpoints::Translations for the + interface to use. + ''' + + language = args[1] && args[1][:translations] || 'es' + translation( + word: args.first, + source_language: 'en-us', + target_language: language, + params: {} + ) + end + def entry_snake_case(word:, dataset:, params: {}) warn 'Client#entry_snake_case is DEPRECATED. Use Client#entry instead.' + entry_endpoint. entry_snake_case(word: word, dataset: dataset, params: params) end diff --git a/spec/endpoint_specs/entry_endpoint_spec.rb b/spec/endpoint_specs/entry_endpoint_spec.rb index 453fd88..72ae354 100644 --- a/spec/endpoint_specs/entry_endpoint_spec.rb +++ b/spec/endpoint_specs/entry_endpoint_spec.rb @@ -1,76 +1,37 @@ require 'spec_helper' -describe OxfordDictionary::Endpoints::EntryEndpoint do - before do - stub_get('entries/en/ace', 'entry_ace.json') - stub_get('entries/es/ace', 'entry_ace_es.json') - stub_get('entries/en/ace/regions=us', 'entry_ace_region_us.json') - stub_get('entries/en/ace/definitions', 'entry_ace_definitions.json') - stub_get('entries/en/ace/examples', 'entry_ace_examples.json') - stub_get('entries/en/ace/pronunciations', 'entry_ace_pronunciations.json') - stub_get('entries/en/vapid/sentences', 'entry_vapid_sentences.json') - stub_get('entries/en/vapid/antonyms', 'entry_vapid_antonyms.json') - stub_get('entries/en/vapid/synonyms', 'entry_vapid_synonyms.json') - stub_error('entries/en/wordthatdoesnotexist', 'entry_error.txt') - stub_get( - 'entries/en/truth/translations=es', - 'entry_truth_translations.json' - ) - stub_get( - 'entries/en/ace/grammaticalFeatures=singular,past;lexicalCategory=noun', - 'entry_ace_singular_noun.json' - ) - stub_get( - 'entries/en/vapid/synonyms;antonyms', - 'entry_vapid_antonym_synonym.json' - ) +describe 'V1 entry delegations' do + let(:base_url) { 'https://od-api.oxforddictionaries.com/api/v2' } + let(:client) do + OxfordDictionary.new(app_id: ENV['APP_ID'], app_key: ENV['APP_KEY']) end - let(:client) { OxfordDictionary.new(app_id: 'ID', app_key: 'SECRET') } + let(:response_double) { double(body: {}.to_json) } context '#entry without filters' do let(:resp) { client.entry('ace') } - it 'is an entry request' do - expect(resp.id).to eq('ace') - expect(resp.language).to eq('en') - expect(resp.word).to eq('ace') - end - - it 'has a lexical entry' do - lex = resp.lexical_entries.first - expect(lex.language).to eq('en') - expect(lex.lexical_category).to eq('Noun') - expect(lex.text).to eq('ace') - expect(lex.entries).to be_an Array - end - - it 'has an entry' do - entry = resp.lexical_entries.first.entries.first - expect(entry.homograph_number).to eq('000') - expect(entry.etymologies).to be_an Array - expect(entry.senses).to be_an Array - end - - it 'has senses' do - senses = resp.lexical_entries.first.entries.first.senses.first - expect(senses.id).to eq('m_en_gb0004640.001') - end - - it 'has a pronunciation' do - pronunciation = resp.lexical_entries.first.pronunciations.first - expect(pronunciation.phonetic_notation).to eq('IPA') + it 'hits the expected endpoint' do + VCR.use_cassette('v1_entry') do + expect_any_instance_of(OxfordDictionary::Request). + to receive(:get). + with(uri: URI("entries/en-gb/ace")). + once. + and_call_original + expect(resp.id).to eq('ace') + end end end context '#entry with 404 error' do + let(:resp) { client.entry('wordthatdoesnotexist') } it 'raises a 404 error when not found' do - expect { client.entry('wordthatdoesnotexist') } - .to raise_exception(OxfordDictionary::Error, /No entry available/) + VCR.use_cassette('v1_entry_error') do + expect(resp.error).to match(/No entry found/) + end end end context '#entry with filters' do let(:resp_es) { client.entry('ace', lang: 'es') } - let(:resp_region_us) { client.entry('ace', regions: 'us') } let(:resp_sing_noun) do client.entry( 'ace', @@ -79,95 +40,140 @@ end it 'returns a spanish entry' do - expect(resp_es.id).to eq('ace') - expect(resp_es.language).to eq('es') - end - - it 'returns us region entry' do - sense = resp_region_us.lexical_entries[0].entries.first.senses[0] - expect(sense.id).to include('us') + VCR.use_cassette('v1_entry_es') do + expect_any_instance_of(OxfordDictionary::Request). + to receive(:get). + with(uri: URI("entries/es/ace")). + once. + and_call_original + resp_es + end end it 'returns a singular past noun entry' do - expect(resp_sing_noun.lexical_entries.size).to eq(4) + VCR.use_cassette('v1_entry_past_nouns') do + expect_any_instance_of(OxfordDictionary::Request). + to receive(:get). + with(uri: URI("entries/en-gb/ace?grammaticalFeatures=singular%2Cpast&lexicalCategory=noun")). + once. + and_call_original + resp_sing_noun + end end end context '#entry_definitions' do let(:resp) { client.entry_definitions('ace') } it 'has definition properties' do - expect(resp.id).to eq('ace') - expect(resp.lexical_entries[0].pronunciations).to be_empty - sense = resp.lexical_entries.first.entries.first.senses.first - expect(sense.definitions).to be_an Array + VCR.use_cassette('v1_entry_definitions') do + expect_any_instance_of(OxfordDictionary::Request). + to receive(:get). + with(uri: URI("entries/en-gb/ace?fields=definitions")). + once. + and_call_original + expect(resp.id).to eq('ace') + resp + end end end context '#entry_examples' do let(:resp) { client.entry_examples('ace') } it 'has example properties' do - expect(resp.id).to eq('ace') - expect(resp.lexical_entries[0].pronunciations).to be_empty - sense = resp.lexical_entries.first.entries.first.senses.first - expect(sense.examples).to be_an Array + VCR.use_cassette('v1_entry_examples') do + expect_any_instance_of(OxfordDictionary::Request). + to receive(:get). + with(uri: URI("entries/en-gb/ace?fields=examples")). + once. + and_call_original + resp + expect(resp.id).to eq('ace') + end end end context '#entry_pronunciations' do let(:resp) { client.entry_pronunciations('ace') } it 'has pronunciation properties' do - expect(resp.id).to eq('ace') - expect(resp.lexical_entries[0].entries).to be_empty + VCR.use_cassette('v1_entry_pronunciations') do + expect_any_instance_of(OxfordDictionary::Request). + to receive(:get). + with(uri: URI("entries/en-gb/ace?fields=pronunciations")). + once. + and_call_original + expect(resp.id).to eq('ace') + end end end context '#entry_sentences' do let(:resp) { client.entry_sentences('vapid') } it 'has sentence properties' do - expect(resp.id).to eq('vapid') - expect(resp.lexical_entries[0].entries).to be_empty - expect(resp.lexical_entries[0].sentences).to be_an Array - expect(resp.lexical_entries[0].sentences[0].sense_ids).to be_an Array + VCR.use_cassette('v1_entry_sentences') do + expect_any_instance_of(OxfordDictionary::Request). + to receive(:get). + with(uri: URI("sentences/en/vapid")). + once. + and_return(response_double) + resp + end end end context '#entry_antonyms' do let(:resp) { client.entry_antonyms('vapid') } it 'has antonym properties' do - expect(resp.id).to eq('vapid') - entry = resp.lexical_entries[0].entries[0] - expect(entry.senses[0].antonyms).to be_an Array + VCR.use_cassette('v1_entry_antonyms') do + expect_any_instance_of(OxfordDictionary::Request). + to receive(:get). + with(uri: URI("thesaurus/en/vapid?fields=antonyms")). + once. + and_return(response_double) + resp + end end end context '#entry_synonyms' do let(:resp) { client.entry_synonyms('vapid') } it 'has synonym properties' do - expect(resp.id).to eq('vapid') - entry = resp.lexical_entries[0].entries[0] - expect(entry.senses[0].synonyms).to be_an Array + VCR.use_cassette('v1_entry_synonyms') do + expect_any_instance_of(OxfordDictionary::Request). + to receive(:get). + with(uri: URI("thesaurus/en/vapid?fields=synonyms")). + once. + and_return(response_double) + resp + end end end context '#entry_antonyms_synonyms' do let(:resp) { client.entry_antonyms_synonyms('vapid') } it 'has both antonym and synonym properties' do - expect(resp.id).to eq('vapid') - entry = resp.lexical_entries[0].entries[0] - expect(entry.senses[0].antonyms).to be_an Array - expect(entry.senses[0].antonyms[0].id).to eq('lively') - expect(entry.senses[0].synonyms[0].id).to eq('insipid') + VCR.use_cassette('v1_entry_antonym_synonym') do + expect_any_instance_of(OxfordDictionary::Request). + to receive(:get). + with(uri: URI("thesaurus/en/vapid?fields=antonyms%2Csynonyms")). + once. + and_return(response_double) + resp + end end end context '#entry_translations' do let(:resp) { client.entry_translations('truth') } it 'has translation properties' do - expect(resp.id).to eq('truth') - expect(resp.language).to eq('en') - entry = resp.lexical_entries[0].entries[0] - expect(entry.senses[0].translations).to be_an Array - expect(entry.senses[0].translations[0].language).to eq('es') + VCR.use_cassette('v1_entry_translations') do + expect_any_instance_of(OxfordDictionary::Request). + to receive(:get). + with(uri: URI("translations/en-us/es/truth")). + once. + and_return(response_double) + resp + # expect(resp.id).to eq('truth') + end end end end diff --git a/spec/fixtures/entry_ace.json b/spec/fixtures/entry_ace.json deleted file mode 100644 index 48b094f..0000000 --- a/spec/fixtures/entry_ace.json +++ /dev/null @@ -1,253 +0,0 @@ -{ - "metadata": { - "provider": "Oxford University Press" - }, - "results": [ - { - "id": "ace", - "language": "en", - "lexicalEntries": [ - { - "entries": [ - { - "etymologies": [ - "Middle English (denoting the ‘one’ on dice): via Old French from Latin as unity, a unit" - ], - "homographNumber": "000", - "senses": [ - { - "definitions": [ - "a playing card with a single spot on it, ranked as the highest card in its suit in most card games" - ], - "domains": [ - "Cards" - ], - "examples": [ - { - "registers": [ - "figurative" - ], - "text": "life had started dealing him aces again" - }, - { - "text": "the ace of diamonds" - } - ], - "id": "m_en_gb0004640.001" - }, - { - "definitions": [ - "a person who excels at a particular sport or other activity" - ], - "domains": [ - "Sport" - ], - "examples": [ - { - "text": "a motorcycle ace" - } - ], - "id": "m_en_gb0004640.002", - "registers": [ - "informal" - ], - "subsenses": [ - { - "definitions": [ - "a pilot who has shot down many enemy aircraft" - ], - "domains": [ - "Air Force" - ], - "examples": [ - { - "text": "a Battle of Britain ace" - } - ], - "id": "m_en_gb0004640.003", - "registers": [ - "informal" - ] - } - ] - }, - { - "definitions": [ - "(in tennis and similar games) a service that an opponent is unable to return and thus wins a point" - ], - "domains": [ - "Tennis" - ], - "examples": [ - { - "text": "Nadal banged down eight aces in the set" - } - ], - "id": "m_en_gb0004640.004", - "subsenses": [ - { - "definitions": [ - "a hole in one" - ], - "domains": [ - "Golf" - ], - "examples": [ - { - "text": "his hole in one at the 15th was Senior's second ace as a professional" - } - ], - "id": "m_en_gb0004640.005", - "registers": [ - "informal" - ] - } - ] - } - ] - } - ], - "language": "en", - "lexicalCategory": "Noun", - "pronunciations": [ - { - "audioFile": "http://audio.oxforddictionaries.com/en/mp3/ace_gb_1.mp3", - "phoneticNotation": "IPA", - "phoneticSpelling": "eɪs" - } - ], - "text": "ace" - }, - { - "entries": [ - { - "homographNumber": "002", - "senses": [ - { - "definitions": [ - "(in tennis and similar games) serve an ace against (an opponent)" - ], - "domains": [ - "Tennis" - ], - "examples": [ - { - "text": "he can ace opponents with serves of no more than 62 mph" - } - ], - "id": "m_en_gb0004640.007", - "registers": [ - "informal" - ], - "subsenses": [ - { - "definitions": [ - "score an ace on (a hole) or with (a shot)" - ], - "domains": [ - "Golf" - ], - "examples": [ - { - "text": "there was a prize for the first player to ace the hole" - } - ], - "id": "m_en_gb0004640.008" - } - ] - }, - { - "definitions": [ - "achieve high marks in (a test or exam)" - ], - "examples": [ - { - "text": "I aced my grammar test" - } - ], - "id": "m_en_gb0004640.009", - "regions": [ - "North American" - ], - "registers": [ - "informal" - ], - "subsenses": [ - { - "definitions": [ - "outdo someone in a competitive situation" - ], - "examples": [ - { - "text": "the magazine won an award, acing out its rivals" - } - ], - "id": "m_en_gb0004640.010", - "regions": [ - "North American" - ] - } - ] - } - ] - } - ], - "grammaticalFeatures": [ - { - "text": "Transitive", - "type": "Subcategorization" - } - ], - "language": "en", - "lexicalCategory": "Verb", - "pronunciations": [ - { - "audioFile": "http://audio.oxforddictionaries.com/en/mp3/ace_gb_1.mp3", - "phoneticNotation": "IPA", - "phoneticSpelling": "eɪs" - } - ], - "text": "ace" - }, - { - "entries": [ - { - "homographNumber": "001", - "senses": [ - { - "definitions": [ - "very good" - ], - "examples": [ - { - "text": "an ace swimmer" - }, - { - "text": "Ace! You've done it!" - } - ], - "id": "m_en_gb0004640.006", - "registers": [ - "informal" - ] - } - ] - } - ], - "language": "en", - "lexicalCategory": "Adjective", - "pronunciations": [ - { - "audioFile": "http://audio.oxforddictionaries.com/en/mp3/ace_gb_1.mp3", - "phoneticNotation": "IPA", - "phoneticSpelling": "eɪs" - } - ], - "text": "ace" - } - ], - "type": "headword", - "word": "ace" - } - ] -} diff --git a/spec/fixtures/entry_ace_definitions.json b/spec/fixtures/entry_ace_definitions.json deleted file mode 100644 index f8cb630..0000000 --- a/spec/fixtures/entry_ace_definitions.json +++ /dev/null @@ -1,119 +0,0 @@ -{ - "metadata": { - "provider": "Oxford University Press" - }, - "results": [ - { - "id": "ace", - "language": "en", - "lexicalEntries": [ - { - "entries": [ - { - "homographNumber": "000", - "senses": [ - { - "definitions": [ - "a playing card with a single spot on it, ranked as the highest card in its suit in most card games" - ], - "id": "m_en_gb0004640.001" - }, - { - "definitions": [ - "a person who excels at a particular sport or other activity" - ], - "id": "m_en_gb0004640.002", - "subsenses": [ - { - "definitions": [ - "a pilot who has shot down many enemy aircraft" - ], - "id": "m_en_gb0004640.003" - } - ] - }, - { - "definitions": [ - "(in tennis and similar games) a service that an opponent is unable to return and thus wins a point" - ], - "id": "m_en_gb0004640.004", - "subsenses": [ - { - "definitions": [ - "a hole in one" - ], - "id": "m_en_gb0004640.005" - } - ] - } - ] - } - ], - "language": "en", - "lexicalCategory": "Noun", - "text": "ace" - }, - { - "entries": [ - { - "homographNumber": "002", - "senses": [ - { - "definitions": [ - "(in tennis and similar games) serve an ace against (an opponent)" - ], - "id": "m_en_gb0004640.007", - "subsenses": [ - { - "definitions": [ - "score an ace on (a hole) or with (a shot)" - ], - "id": "m_en_gb0004640.008" - } - ] - }, - { - "definitions": [ - "achieve high marks in (a test or exam)" - ], - "id": "m_en_gb0004640.009", - "subsenses": [ - { - "definitions": [ - "outdo someone in a competitive situation" - ], - "id": "m_en_gb0004640.010" - } - ] - } - ] - } - ], - "language": "en", - "lexicalCategory": "Verb", - "text": "ace" - }, - { - "entries": [ - { - "homographNumber": "001", - "senses": [ - { - "definitions": [ - "very good" - ], - "id": "m_en_gb0004640.006" - } - ] - } - ], - "language": "en", - "lexicalCategory": "Adjective", - "text": "ace" - } - ], - "type": "headword", - "word": "ace" - } - ] -} diff --git a/spec/fixtures/entry_ace_es.json b/spec/fixtures/entry_ace_es.json deleted file mode 100644 index 4f08b9e..0000000 --- a/spec/fixtures/entry_ace_es.json +++ /dev/null @@ -1,41 +0,0 @@ -{ - "metadata": { - "provider": "Oxford University Press" - }, - "results": [ - { - "id": "ace", - "language": "es", - "lexicalEntries": [ - { - "entries": [ - { - "senses": [ - { - "definitions": [ - "Jugada de tenis en la que el jugador obtiene directamente un tanto al efectuar un saque sin que el adversario consiga tocar la pelota" - ], - "domains": [ - "Sport" - ], - "id": "genID_d122689e19735" - } - ] - } - ], - "grammaticalFeatures": [ - { - "text": "Masculine", - "type": "Gender" - } - ], - "language": "es", - "lexicalCategory": "Noun", - "text": "ace" - } - ], - "type": "headword", - "word": "ace" - } - ] -} diff --git a/spec/fixtures/entry_ace_examples.json b/spec/fixtures/entry_ace_examples.json deleted file mode 100644 index 2fb18c5..0000000 --- a/spec/fixtures/entry_ace_examples.json +++ /dev/null @@ -1,145 +0,0 @@ -{ - "metadata": { - "provider": "Oxford University Press" - }, - "results": [ - { - "id": "ace", - "language": "en", - "lexicalEntries": [ - { - "entries": [ - { - "homographNumber": "000", - "senses": [ - { - "examples": [ - { - "text": "life had started dealing him aces again" - }, - { - "text": "the ace of diamonds" - } - ], - "id": "m_en_gb0004640.001" - }, - { - "examples": [ - { - "text": "a motorcycle ace" - } - ], - "id": "m_en_gb0004640.002", - "subsenses": [ - { - "examples": [ - { - "text": "a Battle of Britain ace" - } - ], - "id": "m_en_gb0004640.003" - } - ] - }, - { - "examples": [ - { - "text": "Nadal banged down eight aces in the set" - } - ], - "id": "m_en_gb0004640.004", - "subsenses": [ - { - "examples": [ - { - "text": "his hole in one at the 15th was Senior's second ace as a professional" - } - ], - "id": "m_en_gb0004640.005" - } - ] - } - ] - } - ], - "language": "en", - "lexicalCategory": "Noun", - "text": "ace" - }, - { - "entries": [ - { - "homographNumber": "002", - "senses": [ - { - "examples": [ - { - "text": "he can ace opponents with serves of no more than 62 mph" - } - ], - "id": "m_en_gb0004640.007", - "subsenses": [ - { - "examples": [ - { - "text": "there was a prize for the first player to ace the hole" - } - ], - "id": "m_en_gb0004640.008" - } - ] - }, - { - "examples": [ - { - "text": "I aced my grammar test" - } - ], - "id": "m_en_gb0004640.009", - "subsenses": [ - { - "examples": [ - { - "text": "the magazine won an award, acing out its rivals" - } - ], - "id": "m_en_gb0004640.010" - } - ] - } - ] - } - ], - "language": "en", - "lexicalCategory": "Verb", - "text": "ace" - }, - { - "entries": [ - { - "homographNumber": "001", - "senses": [ - { - "examples": [ - { - "text": "an ace swimmer" - }, - { - "text": "Ace! You've done it!" - } - ], - "id": "m_en_gb0004640.006" - } - ] - } - ], - "language": "en", - "lexicalCategory": "Adjective", - "text": "ace" - } - ], - "type": "headword", - "word": "ace" - } - ] -} diff --git a/spec/fixtures/entry_ace_pronunciations.json b/spec/fixtures/entry_ace_pronunciations.json deleted file mode 100644 index a677859..0000000 --- a/spec/fixtures/entry_ace_pronunciations.json +++ /dev/null @@ -1,51 +0,0 @@ -{ - "metadata": { - "provider": "Oxford University Press" - }, - "results": [ - { - "id": "ace", - "language": "en", - "lexicalEntries": [ - { - "language": "en", - "lexicalCategory": "Noun", - "pronunciations": [ - { - "audioFile": "http://audio.oxforddictionaries.com/en/mp3/ace_gb_1.mp3", - "phoneticNotation": "IPA", - "phoneticSpelling": "eɪs" - } - ], - "text": "ace" - }, - { - "language": "en", - "lexicalCategory": "Verb", - "pronunciations": [ - { - "audioFile": "http://audio.oxforddictionaries.com/en/mp3/ace_gb_1.mp3", - "phoneticNotation": "IPA", - "phoneticSpelling": "eɪs" - } - ], - "text": "ace" - }, - { - "language": "en", - "lexicalCategory": "Adjective", - "pronunciations": [ - { - "audioFile": "http://audio.oxforddictionaries.com/en/mp3/ace_gb_1.mp3", - "phoneticNotation": "IPA", - "phoneticSpelling": "eɪs" - } - ], - "text": "ace" - } - ], - "type": "headword", - "word": "ace" - } - ] -} diff --git a/spec/fixtures/entry_ace_region_us.json b/spec/fixtures/entry_ace_region_us.json deleted file mode 100644 index 61ca2fe..0000000 --- a/spec/fixtures/entry_ace_region_us.json +++ /dev/null @@ -1,264 +0,0 @@ -{ - "metadata": { - "provider": "Oxford University Press" - }, - "results": [ - { - "id": "ace", - "language": "en", - "lexicalEntries": [ - { - "entries": [ - { - "etymologies": [ - "Middle English (denoting the “one” on dice): via Old French from Latin as unity, a unit" - ], - "homographNumber": "000", - "senses": [ - { - "definitions": [ - "a playing card with a single spot on it, ranked as the highest card in its suit in most card games" - ], - "domains": [ - "Cards" - ], - "examples": [ - { - "text": "the ace of diamonds" - }, - { - "registers": [ - "figurative" - ], - "text": "life had started dealing him aces again" - } - ], - "id": "m_en_us1219614.001" - }, - { - "definitions": [ - "a person who excels at a particular sport or other activity" - ], - "domains": [ - "Sport" - ], - "examples": [ - { - "text": "a motorcycle ace" - } - ], - "id": "m_en_us1219614.003", - "registers": [ - "informal" - ], - "subsenses": [ - { - "definitions": [ - "a pilot who has shot down many enemy aircraft, especially in World War I or World War II" - ], - "domains": [ - "Air Force" - ], - "id": "m_en_us1219614.004", - "registers": [ - "informal" - ] - } - ] - }, - { - "definitions": [ - "(in tennis and similar games) a service that an opponent is unable to touch and thus wins a point" - ], - "domains": [ - "Tennis" - ], - "id": "m_en_us1219614.005", - "subsenses": [ - { - "definitions": [ - "a hole in one" - ], - "domains": [ - "Golf" - ], - "id": "m_en_us1219614.002", - "registers": [ - "informal" - ] - } - ] - } - ] - } - ], - "language": "en", - "lexicalCategory": "Noun", - "pronunciations": [ - { - "audioFile": "http://audio.oxforddictionaries.com/en/mp3/ace_us_1.mp3", - "phoneticNotation": "IPA", - "phoneticSpelling": "eɪs" - }, - { - "phoneticNotation": "respell", - "phoneticSpelling": "ās" - } - ], - "text": "ace" - }, - { - "entries": [ - { - "homographNumber": "002", - "senses": [ - { - "definitions": [ - "(in tennis and similar games) serve an ace against (an opponent)" - ], - "domains": [ - "Tennis" - ], - "id": "m_en_us1219614.007", - "registers": [ - "informal" - ], - "subsenses": [ - { - "definitions": [ - "score an ace on (a hole) or with (a shot)" - ], - "domains": [ - "Golf" - ], - "id": "m_en_us1219614.008", - "registers": [ - "informal" - ] - }, - { - "definitions": [ - "get an A or its equivalent in (a test or exam)" - ], - "examples": [ - { - "text": "I aced my grammar test" - } - ], - "id": "m_en_us1219614.009", - "regions": [ - "North American" - ], - "registers": [ - "informal" - ] - }, - { - "definitions": [ - "outdo someone in a competitive situation" - ], - "examples": [ - { - "text": "the magazine won an award, acing out its rivals" - }, - { - "text": "it wasn't our intention to ace Phil out of a job" - } - ], - "id": "m_en_us1219614.010", - "registers": [ - "informal" - ] - } - ] - } - ] - } - ], - "grammaticalFeatures": [ - { - "text": "Transitive", - "type": "Subcategorization" - } - ], - "language": "en", - "lexicalCategory": "Verb", - "pronunciations": [ - { - "audioFile": "http://audio.oxforddictionaries.com/en/mp3/ace_us_1.mp3", - "phoneticNotation": "IPA", - "phoneticSpelling": "eɪs" - }, - { - "phoneticNotation": "respell", - "phoneticSpelling": "ās" - } - ], - "text": "ace" - }, - { - "entries": [ - { - "homographNumber": "001", - "senses": [ - { - "definitions": [ - "very good" - ], - "examples": [ - { - "text": "an ace swimmer" - } - ], - "id": "m_en_us1219614.006", - "registers": [ - "informal" - ] - } - ] - } - ], - "language": "en", - "lexicalCategory": "Adjective", - "pronunciations": [ - { - "audioFile": "http://audio.oxforddictionaries.com/en/mp3/ace_us_1.mp3", - "phoneticNotation": "IPA", - "phoneticSpelling": "eɪs" - }, - { - "phoneticNotation": "respell", - "phoneticSpelling": "ās" - } - ], - "text": "ace" - }, - { - "entries": [ - { - "senses": [ - { - "definitions": [ - "Army Corps of Engineers" - ], - "domains": [ - "Military" - ], - "id": "m_en_us1219613.001", - "regions": [ - "US" - ] - } - ] - } - ], - "language": "en", - "lexicalCategory": "Other", - "text": "ACE" - } - ], - "type": "headword", - "word": "ace" - } - ] -} diff --git a/spec/fixtures/entry_ace_singular_noun.json b/spec/fixtures/entry_ace_singular_noun.json deleted file mode 100644 index 38342db..0000000 --- a/spec/fixtures/entry_ace_singular_noun.json +++ /dev/null @@ -1,319 +0,0 @@ -{ - "metadata": { - "provider": "Oxford University Press" - }, - "results": [ - { - "id": "ace", - "language": "en", - "lexicalEntries": [ - { - "entries": [ - { - "grammaticalFeatures": [ - { - "text": "Positive", - "type": "Degree" - }, - { - "text": "Positive", - "type": "Degree" - } - ], - "homographNumber": "001" - }, - { - "grammaticalFeatures": [ - { - "text": "Positive", - "type": "Degree" - }, - { - "text": "Positive", - "type": "Degree" - } - ], - "homographNumber": "001" - } - ], - "language": "en", - "lexicalCategory": "Adjective", - "text": "ace" - }, - { - "entries": [ - { - "grammaticalFeatures": [ - { - "text": "Singular", - "type": "Number" - }, - { - "text": "Singular", - "type": "Number" - } - ], - "homographNumber": "000" - }, - { - "grammaticalFeatures": [ - { - "text": "Singular", - "type": "Number" - }, - { - "text": "Singular", - "type": "Number" - } - ], - "homographNumber": "000" - } - ], - "language": "en", - "lexicalCategory": "Noun", - "text": "ace" - }, - { - "entries": [ - { - "grammaticalFeatures": [ - { - "text": "Singular", - "type": "Number" - }, - { - "text": "Singular", - "type": "Number" - } - ], - "homographNumber": "000" - }, - { - "grammaticalFeatures": [ - { - "text": "Singular", - "type": "Number" - }, - { - "text": "Singular", - "type": "Number" - } - ], - "homographNumber": "000" - } - ], - "language": "en", - "lexicalCategory": "Noun", - "text": "ace" - }, - { - "entries": [ - { - "grammaticalFeatures": [ - { - "text": "Transitive", - "type": "Subcategorization" - }, - { - "text": "Transitive", - "type": "Subcategorization" - }, - { - "text": "Present", - "type": "Tense" - }, - { - "text": "Present", - "type": "Tense" - } - ], - "homographNumber": "002" - }, - { - "grammaticalFeatures": [ - { - "text": "Transitive", - "type": "Subcategorization" - }, - { - "text": "Transitive", - "type": "Subcategorization" - }, - { - "text": "Present", - "type": "Tense" - }, - { - "text": "Present", - "type": "Tense" - } - ], - "homographNumber": "002" - } - ], - "language": "en", - "lexicalCategory": "Verb", - "text": "ace" - } - ], - "type": "headword", - "word": "ace" - }, - { - "id": "ace", - "language": "en", - "lexicalEntries": [ - { - "entries": [ - { - "grammaticalFeatures": [ - { - "text": "Positive", - "type": "Degree" - }, - { - "text": "Positive", - "type": "Degree" - } - ], - "homographNumber": "001" - }, - { - "grammaticalFeatures": [ - { - "text": "Positive", - "type": "Degree" - }, - { - "text": "Positive", - "type": "Degree" - } - ], - "homographNumber": "001" - } - ], - "language": "en", - "lexicalCategory": "Adjective", - "text": "ace" - }, - { - "entries": [ - { - "grammaticalFeatures": [ - { - "text": "Singular", - "type": "Number" - }, - { - "text": "Singular", - "type": "Number" - } - ], - "homographNumber": "000" - }, - { - "grammaticalFeatures": [ - { - "text": "Singular", - "type": "Number" - }, - { - "text": "Singular", - "type": "Number" - } - ], - "homographNumber": "000" - } - ], - "language": "en", - "lexicalCategory": "Noun", - "text": "ace" - }, - { - "entries": [ - { - "grammaticalFeatures": [ - { - "text": "Singular", - "type": "Number" - }, - { - "text": "Singular", - "type": "Number" - } - ], - "homographNumber": "000" - }, - { - "grammaticalFeatures": [ - { - "text": "Singular", - "type": "Number" - }, - { - "text": "Singular", - "type": "Number" - } - ], - "homographNumber": "000" - } - ], - "language": "en", - "lexicalCategory": "Noun", - "text": "ace" - }, - { - "entries": [ - { - "grammaticalFeatures": [ - { - "text": "Transitive", - "type": "Subcategorization" - }, - { - "text": "Transitive", - "type": "Subcategorization" - }, - { - "text": "Present", - "type": "Tense" - }, - { - "text": "Present", - "type": "Tense" - } - ], - "homographNumber": "002" - }, - { - "grammaticalFeatures": [ - { - "text": "Transitive", - "type": "Subcategorization" - }, - { - "text": "Transitive", - "type": "Subcategorization" - }, - { - "text": "Present", - "type": "Tense" - }, - { - "text": "Present", - "type": "Tense" - } - ], - "homographNumber": "002" - } - ], - "language": "en", - "lexicalCategory": "Verb", - "text": "ace" - } - ], - "type": "headword", - "word": "ace" - } - ] -} diff --git a/spec/fixtures/entry_error.txt b/spec/fixtures/entry_error.txt deleted file mode 100644 index 6b252c9..0000000 --- a/spec/fixtures/entry_error.txt +++ /dev/null @@ -1,4 +0,0 @@ - -404 Not Found -

Not Found

-

No entry available for 'wordthatdoesnotexist' in 'en'

diff --git a/spec/fixtures/entry_truth_translations.json b/spec/fixtures/entry_truth_translations.json deleted file mode 100644 index 5930745..0000000 --- a/spec/fixtures/entry_truth_translations.json +++ /dev/null @@ -1,189 +0,0 @@ -{ - "metadata": { - "provider": "Oxford University Press" - }, - "results": [ - { - "id": "truth", - "language": "en", - "lexicalEntries": [ - { - "entries": [ - { - "grammaticalFeatures": [ - { - "text": "Singular", - "type": "Number" - } - ], - "senses": [ - { - "examples": [ - { - "text": "is there any truth in the story?", - "translations": [ - { - "language": "es", - "text": "¿hay algo de verdad en esa historia?" - } - ] - }, - { - "text": "truth to tell, I've never been there", - "translations": [ - { - "language": "es", - "text": "a decir verdad, nunca he estado allí" - } - ] - }, - { - "text": "the truth is that …", - "translations": [ - { - "language": "es", - "text": "la verdad es que …" - } - ] - }, - { - "text": "if (the) truth be known/told, he just isn't interested", - "translations": [ - { - "language": "es", - "text": "la verdad es que no le interesa" - } - ] - }, - { - "text": "the truth, the whole truth and nothing but the truth", - "translations": [ - { - "language": "es", - "text": "la verdad, toda la verdad y nada más que la verdad" - } - ] - }, - { - "text": "tell me the truth", - "translations": [ - { - "language": "es", - "text": "dime la verdad" - } - ] - }, - { - "text": "his theory may not be so far from the truth", - "translations": [ - { - "language": "es", - "text": "puede que su teoría no ande muy desencaminada" - } - ] - }, - { - "text": "to tell (you) the truth, I don't know", - "translations": [ - { - "language": "es", - "text": "si quieres que te diga la verdad, no lo sé" - } - ] - }, - { - "text": "in truth, it must be said that …", - "translations": [ - { - "language": "es", - "text": "hay que reconocer que …" - } - ] - }, - { - "text": "I doubt the truth of his statement", - "translations": [ - { - "language": "es", - "text": "dudo de la veracidad de su declaración" - } - ] - }, - { - "text": "(the) truth will out", - "translations": [ - { - "language": "es", - "text": "las mentiras tienen las patas cortas" - }, - { - "language": "es", - "text": "se pilla antes al mentiroso que al cojo" - } - ] - }, - { - "text": "there is some truth in what he says", - "translations": [ - { - "language": "es", - "text": "hay parte de verdad en lo que dice" - } - ] - } - ], - "id": "b-en-es0051274.003", - "translations": [ - { - "language": "es", - "text": "verdad" - }, - { - "language": "es", - "text": "veracidad" - } - ] - }, - { - "crossReferenceMarkers": [ - "see also home truth" - ], - "crossReferences": [ - { - "id": "home_truth", - "text": "home truth", - "type": "see also" - } - ], - "examples": [ - { - "text": "I could tell you a few truths about …", - "translations": [ - { - "language": "es", - "text": "te podría decir unas cuantas verdades acerca de …" - } - ] - } - ], - "id": "b-en-es0051274.004", - "translations": [ - { - "language": "es", - "text": "verdad" - } - ] - } - ] - } - ], - "language": "en", - "lexicalCategory": "Noun", - "text": "truth" - } - ], - "type": "headword", - "word": "truth" - } - ] -} diff --git a/spec/fixtures/entry_vapid_antonym_synonym.json b/spec/fixtures/entry_vapid_antonym_synonym.json deleted file mode 100644 index c3b9df4..0000000 --- a/spec/fixtures/entry_vapid_antonym_synonym.json +++ /dev/null @@ -1,213 +0,0 @@ -{ - "metadata": { - "provider": "Oxford University Press" - }, - "results": [ - { - "id": "vapid", - "language": "en", - "lexicalEntries": [ - { - "entries": [ - { - "senses": [ - { - "antonyms": [ - { - "id": "lively", - "language": "en", - "text": "lively" - }, - { - "id": "colourful", - "language": "en", - "text": "colourful" - }, - { - "id": "exciting", - "language": "en", - "text": "exciting" - } - ], - "examples": [ - { - "text": "tuneful but vapid musical comedies" - } - ], - "id": "t_en_gb0015849.001", - "synonyms": [ - { - "id": "insipid", - "language": "en", - "text": "insipid" - }, - { - "id": "uninspired", - "language": "en", - "text": "uninspired" - }, - { - "id": "colourless", - "language": "en", - "text": "colourless" - }, - { - "id": "uninteresting", - "language": "en", - "text": "uninteresting" - }, - { - "id": "feeble", - "language": "en", - "text": "feeble" - }, - { - "id": "flat", - "language": "en", - "text": "flat" - }, - { - "id": "dead", - "language": "en", - "text": "dead" - }, - { - "id": "dull", - "language": "en", - "text": "dull" - }, - { - "id": "boring", - "language": "en", - "text": "boring" - }, - { - "id": "tedious", - "language": "en", - "text": "tedious" - }, - { - "id": "tired", - "language": "en", - "text": "tired" - }, - { - "id": "unexciting", - "language": "en", - "text": "unexciting" - }, - { - "id": "uninspiring", - "language": "en", - "text": "uninspiring" - }, - { - "id": "unimaginative", - "language": "en", - "text": "unimaginative" - }, - { - "id": "lifeless", - "language": "en", - "text": "lifeless" - }, - { - "id": "zestless", - "language": "en", - "text": "zestless" - }, - { - "id": "spiritless", - "language": "en", - "text": "spiritless" - }, - { - "id": "sterile", - "language": "en", - "text": "sterile" - }, - { - "id": "anaemic", - "language": "en", - "text": "anaemic" - }, - { - "id": "tame", - "language": "en", - "text": "tame" - }, - { - "id": "bloodless", - "language": "en", - "text": "bloodless" - }, - { - "id": "jejune", - "language": "en", - "text": "jejune" - }, - { - "id": "vacuous", - "language": "en", - "text": "vacuous" - }, - { - "id": "bland", - "language": "en", - "text": "bland" - }, - { - "id": "stale", - "language": "en", - "text": "stale" - }, - { - "id": "trite", - "language": "en", - "text": "trite" - }, - { - "id": "pallid", - "language": "en", - "text": "pallid" - }, - { - "id": "wishy-washy", - "language": "en", - "text": "wishy-washy" - }, - { - "id": "watery", - "language": "en", - "text": "watery" - }, - { - "id": "tasteless", - "language": "en", - "text": "tasteless" - }, - { - "id": "milk-and-water", - "language": "en", - "text": "milk-and-water" - }, - { - "id": "flavourless", - "language": "en", - "text": "flavourless" - } - ] - } - ] - } - ], - "language": "en", - "lexicalCategory": "Adjective", - "text": "vapid" - } - ], - "type": "headword", - "word": "vapid" - } - ] -} diff --git a/spec/fixtures/entry_vapid_antonyms.json b/spec/fixtures/entry_vapid_antonyms.json deleted file mode 100644 index aae0ed4..0000000 --- a/spec/fixtures/entry_vapid_antonyms.json +++ /dev/null @@ -1,51 +0,0 @@ -{ - "metadata": { - "provider": "Oxford University Press" - }, - "results": [ - { - "id": "vapid", - "language": "en", - "lexicalEntries": [ - { - "entries": [ - { - "senses": [ - { - "antonyms": [ - { - "id": "lively", - "language": "en", - "text": "lively" - }, - { - "id": "colourful", - "language": "en", - "text": "colourful" - }, - { - "id": "exciting", - "language": "en", - "text": "exciting" - } - ], - "examples": [ - { - "text": "tuneful but vapid musical comedies" - } - ], - "id": "t_en_gb0015849.001" - } - ] - } - ], - "language": "en", - "lexicalCategory": "Adjective", - "text": "vapid" - } - ], - "type": "headword", - "word": "vapid" - } - ] -} diff --git a/spec/fixtures/entry_vapid_sentences.json b/spec/fixtures/entry_vapid_sentences.json deleted file mode 100644 index 661f52f..0000000 --- a/spec/fixtures/entry_vapid_sentences.json +++ /dev/null @@ -1,242 +0,0 @@ -{ - "metadata": { - "provider": "Oxford University Press" - }, - "results": [ - { - "id": "vapid", - "language": "en", - "lexicalEntries": [ - { - "language": "en", - "lexicalCategory": "Adjective", - "sentences": [ - { - "regions": [ - "British" - ], - "senseIds": [ - "m_en_gb0920680.001", - "b-en-es0053400.002", - "m_en_us1303535.001" - ], - "text": "It is quite breathtaking to realise quite how rapacious the industry is and how conceited and vapid are its practitioners." - }, - { - "regions": [ - "British" - ], - "senseIds": [ - "m_en_gb0920680.001", - "b-en-es0053400.002", - "m_en_us1303535.001" - ], - "text": "The whole exercise is so intellectually vapid the result is meaningless." - }, - { - "regions": [ - "North American" - ], - "senseIds": [ - "m_en_gb0920680.001", - "b-en-es0053400.002", - "m_en_us1303535.001" - ], - "text": "These vapid pseudo intellectuals are the problem with today's law schools." - }, - { - "regions": [ - "British" - ], - "senseIds": [ - "m_en_gb0920680.001", - "b-en-es0053400.002", - "m_en_us1303535.001" - ], - "text": "It's pretty vapid stuff from the man whom we were all told was the future." - }, - { - "regions": [ - "British" - ], - "senseIds": [ - "m_en_gb0920680.001", - "b-en-es0053400.002", - "m_en_us1303535.001" - ], - "text": "It is not a trait that endears Allen to neoconservatives, who regard him as intellectually vapid and ideologically bland." - }, - { - "regions": [ - "British" - ], - "senseIds": [ - "m_en_gb0920680.001", - "b-en-es0053400.002", - "m_en_us1303535.001" - ], - "text": "Wilson's interpretations of her work, however, are often vapid." - }, - { - "regions": [ - "British" - ], - "senseIds": [ - "m_en_gb0920680.001", - "b-en-es0053400.002", - "m_en_us1303535.001" - ], - "text": "In a time of vapid politicians who only speak from pre-agreed scripts, a bit of colour, rank mischief and sharp politics cannot go amiss." - }, - { - "regions": [ - "North American" - ], - "senseIds": [ - "m_en_gb0920680.001", - "b-en-es0053400.002", - "m_en_us1303535.001" - ], - "text": "Somewhere through the course of their vapid conversation, she caught my eye and smirked knowingly." - }, - { - "regions": [ - "British" - ], - "senseIds": [ - "m_en_gb0920680.001", - "b-en-es0053400.002", - "m_en_us1303535.001" - ], - "text": "The whole thing would be hilarious if it wasn't so vapid." - }, - { - "regions": [ - "British" - ], - "senseIds": [ - "m_en_gb0920680.001", - "b-en-es0053400.002", - "m_en_us1303535.001" - ], - "text": "She says she loves being a designer - and insists the fashion world is not as vapid and self-regarding as it can seem." - }, - { - "regions": [ - "British" - ], - "senseIds": [ - "m_en_gb0920680.001", - "b-en-es0053400.002", - "m_en_us1303535.001" - ], - "text": "The other characters are, without exception, vapid, obnoxious and self-centred." - }, - { - "regions": [ - "British" - ], - "senseIds": [ - "m_en_gb0920680.001", - "b-en-es0053400.002", - "m_en_us1303535.001" - ], - "text": "The blonde beauty believes her image as a vapid party girl is completely unfair, as she's always been proud of her classroom achievements." - }, - { - "regions": [ - "British" - ], - "senseIds": [ - "m_en_gb0920680.001", - "b-en-es0053400.002", - "m_en_us1303535.001" - ], - "text": "The vapid storylines and woeful acting just leave me cold." - }, - { - "regions": [ - "Canadian" - ], - "senseIds": [ - "m_en_gb0920680.001", - "b-en-es0053400.002", - "m_en_us1303535.001" - ], - "text": "I get so angry with the vapid women who fill our airwaves with their cute, giggly soundbites." - }, - { - "regions": [ - "British" - ], - "senseIds": [ - "m_en_gb0920680.001", - "b-en-es0053400.002", - "m_en_us1303535.001" - ], - "text": "She seems nice if a bit vapid, staring at him, hanging on his every word, etc." - }, - { - "regions": [ - "British" - ], - "senseIds": [ - "m_en_gb0920680.001", - "b-en-es0053400.002", - "m_en_us1303535.001" - ], - "text": "The party gained seats, recovering from its winter crisis, but it did so on the back of a vapid campaign." - }, - { - "regions": [ - "British" - ], - "senseIds": [ - "m_en_gb0920680.001", - "b-en-es0053400.002", - "m_en_us1303535.001" - ], - "text": "Nowadays critics are vapid, passionless creatures who seem increasingly irrelevant." - }, - { - "regions": [ - "British" - ], - "senseIds": [ - "m_en_gb0920680.001", - "b-en-es0053400.002", - "m_en_us1303535.001" - ], - "text": "If wealthy people are willing to pay for vapid advice, new-age speak and tips on what not to wear, that is their outlook." - }, - { - "regions": [ - "North American" - ], - "senseIds": [ - "m_en_gb0920680.001", - "b-en-es0053400.002", - "m_en_us1303535.001" - ], - "text": "Sound-bites are often derided, and with good reason - many are dishonest or vapid." - }, - { - "regions": [ - "British" - ], - "senseIds": [ - "m_en_gb0920680.001", - "b-en-es0053400.002", - "m_en_us1303535.001" - ], - "text": "This bland collection of vapid songs and empty sentiments sounds exactly as you would expect." - } - ], - "text": "vapid" - } - ], - "type": "headword", - "word": "vapid" - } - ] -} diff --git a/spec/fixtures/entry_vapid_synonyms.json b/spec/fixtures/entry_vapid_synonyms.json deleted file mode 100644 index 091c9a1..0000000 --- a/spec/fixtures/entry_vapid_synonyms.json +++ /dev/null @@ -1,196 +0,0 @@ -{ - "metadata": { - "provider": "Oxford University Press" - }, - "results": [ - { - "id": "vapid", - "language": "en", - "lexicalEntries": [ - { - "entries": [ - { - "senses": [ - { - "examples": [ - { - "text": "tuneful but vapid musical comedies" - } - ], - "id": "t_en_gb0015849.001", - "synonyms": [ - { - "id": "insipid", - "language": "en", - "text": "insipid" - }, - { - "id": "uninspired", - "language": "en", - "text": "uninspired" - }, - { - "id": "colourless", - "language": "en", - "text": "colourless" - }, - { - "id": "uninteresting", - "language": "en", - "text": "uninteresting" - }, - { - "id": "feeble", - "language": "en", - "text": "feeble" - }, - { - "id": "flat", - "language": "en", - "text": "flat" - }, - { - "id": "dead", - "language": "en", - "text": "dead" - }, - { - "id": "dull", - "language": "en", - "text": "dull" - }, - { - "id": "boring", - "language": "en", - "text": "boring" - }, - { - "id": "tedious", - "language": "en", - "text": "tedious" - }, - { - "id": "tired", - "language": "en", - "text": "tired" - }, - { - "id": "unexciting", - "language": "en", - "text": "unexciting" - }, - { - "id": "uninspiring", - "language": "en", - "text": "uninspiring" - }, - { - "id": "unimaginative", - "language": "en", - "text": "unimaginative" - }, - { - "id": "lifeless", - "language": "en", - "text": "lifeless" - }, - { - "id": "zestless", - "language": "en", - "text": "zestless" - }, - { - "id": "spiritless", - "language": "en", - "text": "spiritless" - }, - { - "id": "sterile", - "language": "en", - "text": "sterile" - }, - { - "id": "anaemic", - "language": "en", - "text": "anaemic" - }, - { - "id": "tame", - "language": "en", - "text": "tame" - }, - { - "id": "bloodless", - "language": "en", - "text": "bloodless" - }, - { - "id": "jejune", - "language": "en", - "text": "jejune" - }, - { - "id": "vacuous", - "language": "en", - "text": "vacuous" - }, - { - "id": "bland", - "language": "en", - "text": "bland" - }, - { - "id": "stale", - "language": "en", - "text": "stale" - }, - { - "id": "trite", - "language": "en", - "text": "trite" - }, - { - "id": "pallid", - "language": "en", - "text": "pallid" - }, - { - "id": "wishy-washy", - "language": "en", - "text": "wishy-washy" - }, - { - "id": "watery", - "language": "en", - "text": "watery" - }, - { - "id": "tasteless", - "language": "en", - "text": "tasteless" - }, - { - "id": "milk-and-water", - "language": "en", - "text": "milk-and-water" - }, - { - "id": "flavourless", - "language": "en", - "text": "flavourless" - } - ] - } - ] - } - ], - "language": "en", - "lexicalCategory": "Adjective", - "text": "vapid" - } - ], - "type": "headword", - "word": "vapid" - } - ] -}