├── Chapter02
├── E-Commerce_API-Design.raml
└── Github API Requests.postman_collection.json
├── Chapter03
└── budgeting.yaml
├── Chapter04
└── Star Wars API_Chapter4_initial.postman_collection.json
├── Chapter06
├── Star Wars API.TryItOutSolutions.postman_collection.json
└── Star Wars API_Chapter6_initial.postman_collection.json
├── Chapter07
├── Newman Test.postman_collection.json
├── Postman Echo - DataDrivenTesting.postman_collection.json
├── timestampInputs.csv
├── userInputs.csv
└── userInputs_noOutputs.csv
├── Chapter09
├── DataDrivenInputs.csv
├── NewmanReporter
│ ├── index.js
│ ├── newman-reporter-myreporter-1.0.0.tgz
│ └── package.json
├── NewmanTestEnvironment.json
└── TestCollection.json
├── Chapter13
└── budgeting.yaml
├── Chapter14
└── blns.base64.json
├── LICENSE
└── README.md
/Chapter02/E-Commerce_API-Design.raml:
--------------------------------------------------------------------------------
1 | #%RAML 1.0
2 | ---
3 | title: E-Commerce API
4 | baseUri: http://api.ecommerce.com/{version}
5 | version: v1
6 |
7 | /products:
8 | get:
9 | /{productId}:
10 | get:
11 | /users:
12 | post:
13 | get:
14 | /{username}:
15 | get:
16 | put:
17 | /carts:
18 | post:
19 | get:
20 | queryParameter:
21 | username:
22 | /{cartId}:
23 | get:
24 | put:
--------------------------------------------------------------------------------
/Chapter02/Github API Requests.postman_collection.json:
--------------------------------------------------------------------------------
1 | {
2 | "info": {
3 | "_postman_id": "9671a54b-1013-4ab4-85c0-b4280002387c",
4 | "name": "Github API Requests",
5 | "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
6 | },
7 | "item": [
8 | {
9 | "name": "Get User Repos",
10 | "protocolProfileBehavior": {
11 | "disableBodyPruning": true
12 | },
13 | "request": {
14 | "auth": {
15 | "type": "noauth"
16 | },
17 | "method": "GET",
18 | "header": [],
19 | "body": {
20 | "mode": "raw",
21 | "raw": "",
22 | "options": {
23 | "raw": {
24 | "language": "text"
25 | }
26 | }
27 | },
28 | "url": {
29 | "raw": "https://api.github.com/users/{{username}}/repos",
30 | "protocol": "https",
31 | "host": [
32 | "api",
33 | "github",
34 | "com"
35 | ],
36 | "path": [
37 | "users",
38 | "{{username}}",
39 | "repos"
40 | ]
41 | },
42 | "description": "This Endpoint will get information about the give user"
43 | },
44 | "response": [
45 | {
46 | "name": "Get djwester Repo",
47 | "originalRequest": {
48 | "method": "GET",
49 | "header": [],
50 | "body": {
51 | "mode": "raw",
52 | "raw": "",
53 | "options": {
54 | "raw": {
55 | "language": "text"
56 | }
57 | }
58 | },
59 | "url": {
60 | "raw": "https://api.github.com/users/djwester/repos",
61 | "protocol": "https",
62 | "host": [
63 | "api",
64 | "github",
65 | "com"
66 | ],
67 | "path": [
68 | "users",
69 | "djwester",
70 | "repos"
71 | ]
72 | }
73 | },
74 | "status": "OK",
75 | "code": 200,
76 | "_postman_previewlanguage": "json",
77 | "header": [
78 | {
79 | "key": "server",
80 | "value": "GitHub.com"
81 | },
82 | {
83 | "key": "date",
84 | "value": "Tue, 11 Aug 2020 18:01:29 GMT"
85 | },
86 | {
87 | "key": "content-type",
88 | "value": "application/json; charset=utf-8"
89 | },
90 | {
91 | "key": "status",
92 | "value": "200 OK"
93 | },
94 | {
95 | "key": "cache-control",
96 | "value": "public, max-age=60, s-maxage=60"
97 | },
98 | {
99 | "key": "vary",
100 | "value": "Accept, Accept-Encoding, Accept, X-Requested-With"
101 | },
102 | {
103 | "key": "etag",
104 | "value": "W/\"f1422e55b0c8103e465a1b3f525dd152\""
105 | },
106 | {
107 | "key": "x-github-media-type",
108 | "value": "github.v3; format=json"
109 | },
110 | {
111 | "key": "access-control-expose-headers",
112 | "value": "ETag, Link, Location, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval, X-GitHub-Media-Type, Deprecation, Sunset"
113 | },
114 | {
115 | "key": "access-control-allow-origin",
116 | "value": "*"
117 | },
118 | {
119 | "key": "strict-transport-security",
120 | "value": "max-age=31536000; includeSubdomains; preload"
121 | },
122 | {
123 | "key": "x-frame-options",
124 | "value": "deny"
125 | },
126 | {
127 | "key": "x-content-type-options",
128 | "value": "nosniff"
129 | },
130 | {
131 | "key": "x-xss-protection",
132 | "value": "1; mode=block"
133 | },
134 | {
135 | "key": "referrer-policy",
136 | "value": "origin-when-cross-origin, strict-origin-when-cross-origin"
137 | },
138 | {
139 | "key": "content-security-policy",
140 | "value": "default-src 'none'"
141 | },
142 | {
143 | "key": "content-encoding",
144 | "value": "gzip"
145 | },
146 | {
147 | "key": "X-Ratelimit-Limit",
148 | "value": "60"
149 | },
150 | {
151 | "key": "X-Ratelimit-Remaining",
152 | "value": "59"
153 | },
154 | {
155 | "key": "X-Ratelimit-Reset",
156 | "value": "1597172488"
157 | },
158 | {
159 | "key": "Accept-Ranges",
160 | "value": "bytes"
161 | },
162 | {
163 | "key": "Content-Length",
164 | "value": "5689"
165 | },
166 | {
167 | "key": "X-GitHub-Request-Id",
168 | "value": "C2F6:3791:2252C9:5B01E0:5F32DCF8"
169 | }
170 | ],
171 | "cookie": [],
172 | "body": "[\n {\n \"id\": 138736097,\n \"node_id\": \"MDEwOlJlcG9zaXRvcnkxMzg3MzYwOTc=\",\n \"name\": \"api-testing-challenges\",\n \"full_name\": \"djwester/api-testing-challenges\",\n \"private\": false,\n \"owner\": {\n \"login\": \"djwester\",\n \"id\": 7783715,\n \"node_id\": \"MDQ6VXNlcjc3ODM3MTU=\",\n \"avatar_url\": \"https://avatars1.githubusercontent.com/u/7783715?v=4\",\n \"gravatar_id\": \"\",\n \"url\": \"https://api.github.com/users/djwester\",\n \"html_url\": \"https://github.com/djwester\",\n \"followers_url\": \"https://api.github.com/users/djwester/followers\",\n \"following_url\": \"https://api.github.com/users/djwester/following{/other_user}\",\n \"gists_url\": \"https://api.github.com/users/djwester/gists{/gist_id}\",\n \"starred_url\": \"https://api.github.com/users/djwester/starred{/owner}{/repo}\",\n \"subscriptions_url\": \"https://api.github.com/users/djwester/subscriptions\",\n \"organizations_url\": \"https://api.github.com/users/djwester/orgs\",\n \"repos_url\": \"https://api.github.com/users/djwester/repos\",\n \"events_url\": \"https://api.github.com/users/djwester/events{/privacy}\",\n \"received_events_url\": \"https://api.github.com/users/djwester/received_events\",\n \"type\": \"User\",\n \"site_admin\": false\n },\n \"html_url\": \"https://github.com/djwester/api-testing-challenges\",\n \"description\": \"Databases and servers that can be used for learning API testing\",\n \"fork\": false,\n \"url\": \"https://api.github.com/repos/djwester/api-testing-challenges\",\n \"forks_url\": \"https://api.github.com/repos/djwester/api-testing-challenges/forks\",\n \"keys_url\": \"https://api.github.com/repos/djwester/api-testing-challenges/keys{/key_id}\",\n \"collaborators_url\": \"https://api.github.com/repos/djwester/api-testing-challenges/collaborators{/collaborator}\",\n \"teams_url\": \"https://api.github.com/repos/djwester/api-testing-challenges/teams\",\n \"hooks_url\": \"https://api.github.com/repos/djwester/api-testing-challenges/hooks\",\n \"issue_events_url\": \"https://api.github.com/repos/djwester/api-testing-challenges/issues/events{/number}\",\n \"events_url\": \"https://api.github.com/repos/djwester/api-testing-challenges/events\",\n \"assignees_url\": \"https://api.github.com/repos/djwester/api-testing-challenges/assignees{/user}\",\n \"branches_url\": \"https://api.github.com/repos/djwester/api-testing-challenges/branches{/branch}\",\n \"tags_url\": \"https://api.github.com/repos/djwester/api-testing-challenges/tags\",\n \"blobs_url\": \"https://api.github.com/repos/djwester/api-testing-challenges/git/blobs{/sha}\",\n \"git_tags_url\": \"https://api.github.com/repos/djwester/api-testing-challenges/git/tags{/sha}\",\n \"git_refs_url\": \"https://api.github.com/repos/djwester/api-testing-challenges/git/refs{/sha}\",\n \"trees_url\": \"https://api.github.com/repos/djwester/api-testing-challenges/git/trees{/sha}\",\n \"statuses_url\": \"https://api.github.com/repos/djwester/api-testing-challenges/statuses/{sha}\",\n \"languages_url\": \"https://api.github.com/repos/djwester/api-testing-challenges/languages\",\n \"stargazers_url\": \"https://api.github.com/repos/djwester/api-testing-challenges/stargazers\",\n \"contributors_url\": \"https://api.github.com/repos/djwester/api-testing-challenges/contributors\",\n \"subscribers_url\": \"https://api.github.com/repos/djwester/api-testing-challenges/subscribers\",\n \"subscription_url\": \"https://api.github.com/repos/djwester/api-testing-challenges/subscription\",\n \"commits_url\": \"https://api.github.com/repos/djwester/api-testing-challenges/commits{/sha}\",\n \"git_commits_url\": \"https://api.github.com/repos/djwester/api-testing-challenges/git/commits{/sha}\",\n \"comments_url\": \"https://api.github.com/repos/djwester/api-testing-challenges/comments{/number}\",\n \"issue_comment_url\": \"https://api.github.com/repos/djwester/api-testing-challenges/issues/comments{/number}\",\n \"contents_url\": \"https://api.github.com/repos/djwester/api-testing-challenges/contents/{+path}\",\n \"compare_url\": \"https://api.github.com/repos/djwester/api-testing-challenges/compare/{base}...{head}\",\n \"merges_url\": \"https://api.github.com/repos/djwester/api-testing-challenges/merges\",\n \"archive_url\": \"https://api.github.com/repos/djwester/api-testing-challenges/{archive_format}{/ref}\",\n \"downloads_url\": \"https://api.github.com/repos/djwester/api-testing-challenges/downloads\",\n \"issues_url\": \"https://api.github.com/repos/djwester/api-testing-challenges/issues{/number}\",\n \"pulls_url\": \"https://api.github.com/repos/djwester/api-testing-challenges/pulls{/number}\",\n \"milestones_url\": \"https://api.github.com/repos/djwester/api-testing-challenges/milestones{/number}\",\n \"notifications_url\": \"https://api.github.com/repos/djwester/api-testing-challenges/notifications{?since,all,participating}\",\n \"labels_url\": \"https://api.github.com/repos/djwester/api-testing-challenges/labels{/name}\",\n \"releases_url\": \"https://api.github.com/repos/djwester/api-testing-challenges/releases{/id}\",\n \"deployments_url\": \"https://api.github.com/repos/djwester/api-testing-challenges/deployments\",\n \"created_at\": \"2018-06-26T12:39:21Z\",\n \"updated_at\": \"2020-07-20T15:29:39Z\",\n \"pushed_at\": \"2020-07-20T15:29:49Z\",\n \"git_url\": \"git://github.com/djwester/api-testing-challenges.git\",\n \"ssh_url\": \"git@github.com:djwester/api-testing-challenges.git\",\n \"clone_url\": \"https://github.com/djwester/api-testing-challenges.git\",\n \"svn_url\": \"https://github.com/djwester/api-testing-challenges\",\n \"homepage\": null,\n \"size\": 2678,\n \"stargazers_count\": 17,\n \"watchers_count\": 17,\n \"language\": \"JavaScript\",\n \"has_issues\": true,\n \"has_projects\": true,\n \"has_downloads\": true,\n \"has_wiki\": true,\n \"has_pages\": false,\n \"forks_count\": 23,\n \"mirror_url\": null,\n \"archived\": false,\n \"disabled\": false,\n \"open_issues_count\": 0,\n \"license\": null,\n \"forks\": 23,\n \"open_issues\": 0,\n \"watchers\": 17,\n \"default_branch\": \"master\"\n },\n {\n \"id\": 149207444,\n \"node_id\": \"MDEwOlJlcG9zaXRvcnkxNDkyMDc0NDQ=\",\n \"name\": \"api-testing-foundations\",\n \"full_name\": \"djwester/api-testing-foundations\",\n \"private\": false,\n \"owner\": {\n \"login\": \"djwester\",\n \"id\": 7783715,\n \"node_id\": \"MDQ6VXNlcjc3ODM3MTU=\",\n \"avatar_url\": \"https://avatars1.githubusercontent.com/u/7783715?v=4\",\n \"gravatar_id\": \"\",\n \"url\": \"https://api.github.com/users/djwester\",\n \"html_url\": \"https://github.com/djwester\",\n \"followers_url\": \"https://api.github.com/users/djwester/followers\",\n \"following_url\": \"https://api.github.com/users/djwester/following{/other_user}\",\n \"gists_url\": \"https://api.github.com/users/djwester/gists{/gist_id}\",\n \"starred_url\": \"https://api.github.com/users/djwester/starred{/owner}{/repo}\",\n \"subscriptions_url\": \"https://api.github.com/users/djwester/subscriptions\",\n \"organizations_url\": \"https://api.github.com/users/djwester/orgs\",\n \"repos_url\": \"https://api.github.com/users/djwester/repos\",\n \"events_url\": \"https://api.github.com/users/djwester/events{/privacy}\",\n \"received_events_url\": \"https://api.github.com/users/djwester/received_events\",\n \"type\": \"User\",\n \"site_admin\": false\n },\n \"html_url\": \"https://github.com/djwester/api-testing-foundations\",\n \"description\": null,\n \"fork\": false,\n \"url\": \"https://api.github.com/repos/djwester/api-testing-foundations\",\n \"forks_url\": \"https://api.github.com/repos/djwester/api-testing-foundations/forks\",\n \"keys_url\": \"https://api.github.com/repos/djwester/api-testing-foundations/keys{/key_id}\",\n \"collaborators_url\": \"https://api.github.com/repos/djwester/api-testing-foundations/collaborators{/collaborator}\",\n \"teams_url\": \"https://api.github.com/repos/djwester/api-testing-foundations/teams\",\n \"hooks_url\": \"https://api.github.com/repos/djwester/api-testing-foundations/hooks\",\n \"issue_events_url\": \"https://api.github.com/repos/djwester/api-testing-foundations/issues/events{/number}\",\n \"events_url\": \"https://api.github.com/repos/djwester/api-testing-foundations/events\",\n \"assignees_url\": \"https://api.github.com/repos/djwester/api-testing-foundations/assignees{/user}\",\n \"branches_url\": \"https://api.github.com/repos/djwester/api-testing-foundations/branches{/branch}\",\n \"tags_url\": \"https://api.github.com/repos/djwester/api-testing-foundations/tags\",\n \"blobs_url\": \"https://api.github.com/repos/djwester/api-testing-foundations/git/blobs{/sha}\",\n \"git_tags_url\": \"https://api.github.com/repos/djwester/api-testing-foundations/git/tags{/sha}\",\n \"git_refs_url\": \"https://api.github.com/repos/djwester/api-testing-foundations/git/refs{/sha}\",\n \"trees_url\": \"https://api.github.com/repos/djwester/api-testing-foundations/git/trees{/sha}\",\n \"statuses_url\": \"https://api.github.com/repos/djwester/api-testing-foundations/statuses/{sha}\",\n \"languages_url\": \"https://api.github.com/repos/djwester/api-testing-foundations/languages\",\n \"stargazers_url\": \"https://api.github.com/repos/djwester/api-testing-foundations/stargazers\",\n \"contributors_url\": \"https://api.github.com/repos/djwester/api-testing-foundations/contributors\",\n \"subscribers_url\": \"https://api.github.com/repos/djwester/api-testing-foundations/subscribers\",\n \"subscription_url\": \"https://api.github.com/repos/djwester/api-testing-foundations/subscription\",\n \"commits_url\": \"https://api.github.com/repos/djwester/api-testing-foundations/commits{/sha}\",\n \"git_commits_url\": \"https://api.github.com/repos/djwester/api-testing-foundations/git/commits{/sha}\",\n \"comments_url\": \"https://api.github.com/repos/djwester/api-testing-foundations/comments{/number}\",\n \"issue_comment_url\": \"https://api.github.com/repos/djwester/api-testing-foundations/issues/comments{/number}\",\n \"contents_url\": \"https://api.github.com/repos/djwester/api-testing-foundations/contents/{+path}\",\n \"compare_url\": \"https://api.github.com/repos/djwester/api-testing-foundations/compare/{base}...{head}\",\n \"merges_url\": \"https://api.github.com/repos/djwester/api-testing-foundations/merges\",\n \"archive_url\": \"https://api.github.com/repos/djwester/api-testing-foundations/{archive_format}{/ref}\",\n \"downloads_url\": \"https://api.github.com/repos/djwester/api-testing-foundations/downloads\",\n \"issues_url\": \"https://api.github.com/repos/djwester/api-testing-foundations/issues{/number}\",\n \"pulls_url\": \"https://api.github.com/repos/djwester/api-testing-foundations/pulls{/number}\",\n \"milestones_url\": \"https://api.github.com/repos/djwester/api-testing-foundations/milestones{/number}\",\n \"notifications_url\": \"https://api.github.com/repos/djwester/api-testing-foundations/notifications{?since,all,participating}\",\n \"labels_url\": \"https://api.github.com/repos/djwester/api-testing-foundations/labels{/name}\",\n \"releases_url\": \"https://api.github.com/repos/djwester/api-testing-foundations/releases{/id}\",\n \"deployments_url\": \"https://api.github.com/repos/djwester/api-testing-foundations/deployments\",\n \"created_at\": \"2018-09-18T00:53:28Z\",\n \"updated_at\": \"2020-08-07T23:16:25Z\",\n \"pushed_at\": \"2020-07-16T10:09:56Z\",\n \"git_url\": \"git://github.com/djwester/api-testing-foundations.git\",\n \"ssh_url\": \"git@github.com:djwester/api-testing-foundations.git\",\n \"clone_url\": \"https://github.com/djwester/api-testing-foundations.git\",\n \"svn_url\": \"https://github.com/djwester/api-testing-foundations\",\n \"homepage\": null,\n \"size\": 90,\n \"stargazers_count\": 25,\n \"watchers_count\": 25,\n \"language\": \"JavaScript\",\n \"has_issues\": true,\n \"has_projects\": true,\n \"has_downloads\": true,\n \"has_wiki\": true,\n \"has_pages\": false,\n \"forks_count\": 37,\n \"mirror_url\": null,\n \"archived\": false,\n \"disabled\": false,\n \"open_issues_count\": 1,\n \"license\": {\n \"key\": \"mit\",\n \"name\": \"MIT License\",\n \"spdx_id\": \"MIT\",\n \"url\": \"https://api.github.com/licenses/mit\",\n \"node_id\": \"MDc6TGljZW5zZTEz\"\n },\n \"forks\": 37,\n \"open_issues\": 1,\n \"watchers\": 25,\n \"default_branch\": \"master\"\n },\n {\n \"id\": 20453900,\n \"node_id\": \"MDEwOlJlcG9zaXRvcnkyMDQ1MzkwMA==\",\n \"name\": \"Coursera-DataScience\",\n \"full_name\": \"djwester/Coursera-DataScience\",\n \"private\": false,\n \"owner\": {\n \"login\": \"djwester\",\n \"id\": 7783715,\n \"node_id\": \"MDQ6VXNlcjc3ODM3MTU=\",\n \"avatar_url\": \"https://avatars1.githubusercontent.com/u/7783715?v=4\",\n \"gravatar_id\": \"\",\n \"url\": \"https://api.github.com/users/djwester\",\n \"html_url\": \"https://github.com/djwester\",\n \"followers_url\": \"https://api.github.com/users/djwester/followers\",\n \"following_url\": \"https://api.github.com/users/djwester/following{/other_user}\",\n \"gists_url\": \"https://api.github.com/users/djwester/gists{/gist_id}\",\n \"starred_url\": \"https://api.github.com/users/djwester/starred{/owner}{/repo}\",\n \"subscriptions_url\": \"https://api.github.com/users/djwester/subscriptions\",\n \"organizations_url\": \"https://api.github.com/users/djwester/orgs\",\n \"repos_url\": \"https://api.github.com/users/djwester/repos\",\n \"events_url\": \"https://api.github.com/users/djwester/events{/privacy}\",\n \"received_events_url\": \"https://api.github.com/users/djwester/received_events\",\n \"type\": \"User\",\n \"site_admin\": false\n },\n \"html_url\": \"https://github.com/djwester/Coursera-DataScience\",\n \"description\": null,\n \"fork\": false,\n \"url\": \"https://api.github.com/repos/djwester/Coursera-DataScience\",\n \"forks_url\": \"https://api.github.com/repos/djwester/Coursera-DataScience/forks\",\n \"keys_url\": \"https://api.github.com/repos/djwester/Coursera-DataScience/keys{/key_id}\",\n \"collaborators_url\": \"https://api.github.com/repos/djwester/Coursera-DataScience/collaborators{/collaborator}\",\n \"teams_url\": \"https://api.github.com/repos/djwester/Coursera-DataScience/teams\",\n \"hooks_url\": \"https://api.github.com/repos/djwester/Coursera-DataScience/hooks\",\n \"issue_events_url\": \"https://api.github.com/repos/djwester/Coursera-DataScience/issues/events{/number}\",\n \"events_url\": \"https://api.github.com/repos/djwester/Coursera-DataScience/events\",\n \"assignees_url\": \"https://api.github.com/repos/djwester/Coursera-DataScience/assignees{/user}\",\n \"branches_url\": \"https://api.github.com/repos/djwester/Coursera-DataScience/branches{/branch}\",\n \"tags_url\": \"https://api.github.com/repos/djwester/Coursera-DataScience/tags\",\n \"blobs_url\": \"https://api.github.com/repos/djwester/Coursera-DataScience/git/blobs{/sha}\",\n \"git_tags_url\": \"https://api.github.com/repos/djwester/Coursera-DataScience/git/tags{/sha}\",\n \"git_refs_url\": \"https://api.github.com/repos/djwester/Coursera-DataScience/git/refs{/sha}\",\n \"trees_url\": \"https://api.github.com/repos/djwester/Coursera-DataScience/git/trees{/sha}\",\n \"statuses_url\": \"https://api.github.com/repos/djwester/Coursera-DataScience/statuses/{sha}\",\n \"languages_url\": \"https://api.github.com/repos/djwester/Coursera-DataScience/languages\",\n \"stargazers_url\": \"https://api.github.com/repos/djwester/Coursera-DataScience/stargazers\",\n \"contributors_url\": \"https://api.github.com/repos/djwester/Coursera-DataScience/contributors\",\n \"subscribers_url\": \"https://api.github.com/repos/djwester/Coursera-DataScience/subscribers\",\n \"subscription_url\": \"https://api.github.com/repos/djwester/Coursera-DataScience/subscription\",\n \"commits_url\": \"https://api.github.com/repos/djwester/Coursera-DataScience/commits{/sha}\",\n \"git_commits_url\": \"https://api.github.com/repos/djwester/Coursera-DataScience/git/commits{/sha}\",\n \"comments_url\": \"https://api.github.com/repos/djwester/Coursera-DataScience/comments{/number}\",\n \"issue_comment_url\": \"https://api.github.com/repos/djwester/Coursera-DataScience/issues/comments{/number}\",\n \"contents_url\": \"https://api.github.com/repos/djwester/Coursera-DataScience/contents/{+path}\",\n \"compare_url\": \"https://api.github.com/repos/djwester/Coursera-DataScience/compare/{base}...{head}\",\n \"merges_url\": \"https://api.github.com/repos/djwester/Coursera-DataScience/merges\",\n \"archive_url\": \"https://api.github.com/repos/djwester/Coursera-DataScience/{archive_format}{/ref}\",\n \"downloads_url\": \"https://api.github.com/repos/djwester/Coursera-DataScience/downloads\",\n \"issues_url\": \"https://api.github.com/repos/djwester/Coursera-DataScience/issues{/number}\",\n \"pulls_url\": \"https://api.github.com/repos/djwester/Coursera-DataScience/pulls{/number}\",\n \"milestones_url\": \"https://api.github.com/repos/djwester/Coursera-DataScience/milestones{/number}\",\n \"notifications_url\": \"https://api.github.com/repos/djwester/Coursera-DataScience/notifications{?since,all,participating}\",\n \"labels_url\": \"https://api.github.com/repos/djwester/Coursera-DataScience/labels{/name}\",\n \"releases_url\": \"https://api.github.com/repos/djwester/Coursera-DataScience/releases{/id}\",\n \"deployments_url\": \"https://api.github.com/repos/djwester/Coursera-DataScience/deployments\",\n \"created_at\": \"2014-06-03T18:15:21Z\",\n \"updated_at\": \"2014-06-03T18:15:21Z\",\n \"pushed_at\": \"2014-06-03T18:15:21Z\",\n \"git_url\": \"git://github.com/djwester/Coursera-DataScience.git\",\n \"ssh_url\": \"git@github.com:djwester/Coursera-DataScience.git\",\n \"clone_url\": \"https://github.com/djwester/Coursera-DataScience.git\",\n \"svn_url\": \"https://github.com/djwester/Coursera-DataScience\",\n \"homepage\": null,\n \"size\": 0,\n \"stargazers_count\": 0,\n \"watchers_count\": 0,\n \"language\": null,\n \"has_issues\": true,\n \"has_projects\": true,\n \"has_downloads\": true,\n \"has_wiki\": true,\n \"has_pages\": false,\n \"forks_count\": 0,\n \"mirror_url\": null,\n \"archived\": false,\n \"disabled\": false,\n \"open_issues_count\": 0,\n \"license\": null,\n \"forks\": 0,\n \"open_issues\": 0,\n \"watchers\": 0,\n \"default_branch\": \"master\"\n },\n {\n \"id\": 167439673,\n \"node_id\": \"MDEwOlJlcG9zaXRvcnkxNjc0Mzk2NzM=\",\n \"name\": \"d2l-activity-alignments\",\n \"full_name\": \"djwester/d2l-activity-alignments\",\n \"private\": false,\n \"owner\": {\n \"login\": \"djwester\",\n \"id\": 7783715,\n \"node_id\": \"MDQ6VXNlcjc3ODM3MTU=\",\n \"avatar_url\": \"https://avatars1.githubusercontent.com/u/7783715?v=4\",\n \"gravatar_id\": \"\",\n \"url\": \"https://api.github.com/users/djwester\",\n \"html_url\": \"https://github.com/djwester\",\n \"followers_url\": \"https://api.github.com/users/djwester/followers\",\n \"following_url\": \"https://api.github.com/users/djwester/following{/other_user}\",\n \"gists_url\": \"https://api.github.com/users/djwester/gists{/gist_id}\",\n \"starred_url\": \"https://api.github.com/users/djwester/starred{/owner}{/repo}\",\n \"subscriptions_url\": \"https://api.github.com/users/djwester/subscriptions\",\n \"organizations_url\": \"https://api.github.com/users/djwester/orgs\",\n \"repos_url\": \"https://api.github.com/users/djwester/repos\",\n \"events_url\": \"https://api.github.com/users/djwester/events{/privacy}\",\n \"received_events_url\": \"https://api.github.com/users/djwester/received_events\",\n \"type\": \"User\",\n \"site_admin\": false\n },\n \"html_url\": \"https://github.com/djwester/d2l-activity-alignments\",\n \"description\": null,\n \"fork\": true,\n \"url\": \"https://api.github.com/repos/djwester/d2l-activity-alignments\",\n \"forks_url\": \"https://api.github.com/repos/djwester/d2l-activity-alignments/forks\",\n \"keys_url\": \"https://api.github.com/repos/djwester/d2l-activity-alignments/keys{/key_id}\",\n \"collaborators_url\": \"https://api.github.com/repos/djwester/d2l-activity-alignments/collaborators{/collaborator}\",\n \"teams_url\": \"https://api.github.com/repos/djwester/d2l-activity-alignments/teams\",\n \"hooks_url\": \"https://api.github.com/repos/djwester/d2l-activity-alignments/hooks\",\n \"issue_events_url\": \"https://api.github.com/repos/djwester/d2l-activity-alignments/issues/events{/number}\",\n \"events_url\": \"https://api.github.com/repos/djwester/d2l-activity-alignments/events\",\n \"assignees_url\": \"https://api.github.com/repos/djwester/d2l-activity-alignments/assignees{/user}\",\n \"branches_url\": \"https://api.github.com/repos/djwester/d2l-activity-alignments/branches{/branch}\",\n \"tags_url\": \"https://api.github.com/repos/djwester/d2l-activity-alignments/tags\",\n \"blobs_url\": \"https://api.github.com/repos/djwester/d2l-activity-alignments/git/blobs{/sha}\",\n \"git_tags_url\": \"https://api.github.com/repos/djwester/d2l-activity-alignments/git/tags{/sha}\",\n \"git_refs_url\": \"https://api.github.com/repos/djwester/d2l-activity-alignments/git/refs{/sha}\",\n \"trees_url\": \"https://api.github.com/repos/djwester/d2l-activity-alignments/git/trees{/sha}\",\n \"statuses_url\": \"https://api.github.com/repos/djwester/d2l-activity-alignments/statuses/{sha}\",\n \"languages_url\": \"https://api.github.com/repos/djwester/d2l-activity-alignments/languages\",\n \"stargazers_url\": \"https://api.github.com/repos/djwester/d2l-activity-alignments/stargazers\",\n \"contributors_url\": \"https://api.github.com/repos/djwester/d2l-activity-alignments/contributors\",\n \"subscribers_url\": \"https://api.github.com/repos/djwester/d2l-activity-alignments/subscribers\",\n \"subscription_url\": \"https://api.github.com/repos/djwester/d2l-activity-alignments/subscription\",\n \"commits_url\": \"https://api.github.com/repos/djwester/d2l-activity-alignments/commits{/sha}\",\n \"git_commits_url\": \"https://api.github.com/repos/djwester/d2l-activity-alignments/git/commits{/sha}\",\n \"comments_url\": \"https://api.github.com/repos/djwester/d2l-activity-alignments/comments{/number}\",\n \"issue_comment_url\": \"https://api.github.com/repos/djwester/d2l-activity-alignments/issues/comments{/number}\",\n \"contents_url\": \"https://api.github.com/repos/djwester/d2l-activity-alignments/contents/{+path}\",\n \"compare_url\": \"https://api.github.com/repos/djwester/d2l-activity-alignments/compare/{base}...{head}\",\n \"merges_url\": \"https://api.github.com/repos/djwester/d2l-activity-alignments/merges\",\n \"archive_url\": \"https://api.github.com/repos/djwester/d2l-activity-alignments/{archive_format}{/ref}\",\n \"downloads_url\": \"https://api.github.com/repos/djwester/d2l-activity-alignments/downloads\",\n \"issues_url\": \"https://api.github.com/repos/djwester/d2l-activity-alignments/issues{/number}\",\n \"pulls_url\": \"https://api.github.com/repos/djwester/d2l-activity-alignments/pulls{/number}\",\n \"milestones_url\": \"https://api.github.com/repos/djwester/d2l-activity-alignments/milestones{/number}\",\n \"notifications_url\": \"https://api.github.com/repos/djwester/d2l-activity-alignments/notifications{?since,all,participating}\",\n \"labels_url\": \"https://api.github.com/repos/djwester/d2l-activity-alignments/labels{/name}\",\n \"releases_url\": \"https://api.github.com/repos/djwester/d2l-activity-alignments/releases{/id}\",\n \"deployments_url\": \"https://api.github.com/repos/djwester/d2l-activity-alignments/deployments\",\n \"created_at\": \"2019-01-24T21:21:15Z\",\n \"updated_at\": \"2019-01-24T21:21:18Z\",\n \"pushed_at\": \"2019-01-15T19:38:42Z\",\n \"git_url\": \"git://github.com/djwester/d2l-activity-alignments.git\",\n \"ssh_url\": \"git@github.com:djwester/d2l-activity-alignments.git\",\n \"clone_url\": \"https://github.com/djwester/d2l-activity-alignments.git\",\n \"svn_url\": \"https://github.com/djwester/d2l-activity-alignments\",\n \"homepage\": null,\n \"size\": 124,\n \"stargazers_count\": 0,\n \"watchers_count\": 0,\n \"language\": \"JavaScript\",\n \"has_issues\": false,\n \"has_projects\": true,\n \"has_downloads\": true,\n \"has_wiki\": false,\n \"has_pages\": false,\n \"forks_count\": 0,\n \"mirror_url\": null,\n \"archived\": false,\n \"disabled\": false,\n \"open_issues_count\": 0,\n \"license\": {\n \"key\": \"apache-2.0\",\n \"name\": \"Apache License 2.0\",\n \"spdx_id\": \"Apache-2.0\",\n \"url\": \"https://api.github.com/licenses/apache-2.0\",\n \"node_id\": \"MDc6TGljZW5zZTI=\"\n },\n \"forks\": 0,\n \"open_issues\": 0,\n \"watchers\": 0,\n \"default_branch\": \"master\"\n },\n {\n \"id\": 118788995,\n \"node_id\": \"MDEwOlJlcG9zaXRvcnkxMTg3ODg5OTU=\",\n \"name\": \"d2l-rubric\",\n \"full_name\": \"djwester/d2l-rubric\",\n \"private\": false,\n \"owner\": {\n \"login\": \"djwester\",\n \"id\": 7783715,\n \"node_id\": \"MDQ6VXNlcjc3ODM3MTU=\",\n \"avatar_url\": \"https://avatars1.githubusercontent.com/u/7783715?v=4\",\n \"gravatar_id\": \"\",\n \"url\": \"https://api.github.com/users/djwester\",\n \"html_url\": \"https://github.com/djwester\",\n \"followers_url\": \"https://api.github.com/users/djwester/followers\",\n \"following_url\": \"https://api.github.com/users/djwester/following{/other_user}\",\n \"gists_url\": \"https://api.github.com/users/djwester/gists{/gist_id}\",\n \"starred_url\": \"https://api.github.com/users/djwester/starred{/owner}{/repo}\",\n \"subscriptions_url\": \"https://api.github.com/users/djwester/subscriptions\",\n \"organizations_url\": \"https://api.github.com/users/djwester/orgs\",\n \"repos_url\": \"https://api.github.com/users/djwester/repos\",\n \"events_url\": \"https://api.github.com/users/djwester/events{/privacy}\",\n \"received_events_url\": \"https://api.github.com/users/djwester/received_events\",\n \"type\": \"User\",\n \"site_admin\": false\n },\n \"html_url\": \"https://github.com/djwester/d2l-rubric\",\n \"description\": \"Polymer based web-component to display a rubric\",\n \"fork\": true,\n \"url\": \"https://api.github.com/repos/djwester/d2l-rubric\",\n \"forks_url\": \"https://api.github.com/repos/djwester/d2l-rubric/forks\",\n \"keys_url\": \"https://api.github.com/repos/djwester/d2l-rubric/keys{/key_id}\",\n \"collaborators_url\": \"https://api.github.com/repos/djwester/d2l-rubric/collaborators{/collaborator}\",\n \"teams_url\": \"https://api.github.com/repos/djwester/d2l-rubric/teams\",\n \"hooks_url\": \"https://api.github.com/repos/djwester/d2l-rubric/hooks\",\n \"issue_events_url\": \"https://api.github.com/repos/djwester/d2l-rubric/issues/events{/number}\",\n \"events_url\": \"https://api.github.com/repos/djwester/d2l-rubric/events\",\n \"assignees_url\": \"https://api.github.com/repos/djwester/d2l-rubric/assignees{/user}\",\n \"branches_url\": \"https://api.github.com/repos/djwester/d2l-rubric/branches{/branch}\",\n \"tags_url\": \"https://api.github.com/repos/djwester/d2l-rubric/tags\",\n \"blobs_url\": \"https://api.github.com/repos/djwester/d2l-rubric/git/blobs{/sha}\",\n \"git_tags_url\": \"https://api.github.com/repos/djwester/d2l-rubric/git/tags{/sha}\",\n \"git_refs_url\": \"https://api.github.com/repos/djwester/d2l-rubric/git/refs{/sha}\",\n \"trees_url\": \"https://api.github.com/repos/djwester/d2l-rubric/git/trees{/sha}\",\n \"statuses_url\": \"https://api.github.com/repos/djwester/d2l-rubric/statuses/{sha}\",\n \"languages_url\": \"https://api.github.com/repos/djwester/d2l-rubric/languages\",\n \"stargazers_url\": \"https://api.github.com/repos/djwester/d2l-rubric/stargazers\",\n \"contributors_url\": \"https://api.github.com/repos/djwester/d2l-rubric/contributors\",\n \"subscribers_url\": \"https://api.github.com/repos/djwester/d2l-rubric/subscribers\",\n \"subscription_url\": \"https://api.github.com/repos/djwester/d2l-rubric/subscription\",\n \"commits_url\": \"https://api.github.com/repos/djwester/d2l-rubric/commits{/sha}\",\n \"git_commits_url\": \"https://api.github.com/repos/djwester/d2l-rubric/git/commits{/sha}\",\n \"comments_url\": \"https://api.github.com/repos/djwester/d2l-rubric/comments{/number}\",\n \"issue_comment_url\": \"https://api.github.com/repos/djwester/d2l-rubric/issues/comments{/number}\",\n \"contents_url\": \"https://api.github.com/repos/djwester/d2l-rubric/contents/{+path}\",\n \"compare_url\": \"https://api.github.com/repos/djwester/d2l-rubric/compare/{base}...{head}\",\n \"merges_url\": \"https://api.github.com/repos/djwester/d2l-rubric/merges\",\n \"archive_url\": \"https://api.github.com/repos/djwester/d2l-rubric/{archive_format}{/ref}\",\n \"downloads_url\": \"https://api.github.com/repos/djwester/d2l-rubric/downloads\",\n \"issues_url\": \"https://api.github.com/repos/djwester/d2l-rubric/issues{/number}\",\n \"pulls_url\": \"https://api.github.com/repos/djwester/d2l-rubric/pulls{/number}\",\n \"milestones_url\": \"https://api.github.com/repos/djwester/d2l-rubric/milestones{/number}\",\n \"notifications_url\": \"https://api.github.com/repos/djwester/d2l-rubric/notifications{?since,all,participating}\",\n \"labels_url\": \"https://api.github.com/repos/djwester/d2l-rubric/labels{/name}\",\n \"releases_url\": \"https://api.github.com/repos/djwester/d2l-rubric/releases{/id}\",\n \"deployments_url\": \"https://api.github.com/repos/djwester/d2l-rubric/deployments\",\n \"created_at\": \"2018-01-24T16:10:17Z\",\n \"updated_at\": \"2018-01-24T16:10:19Z\",\n \"pushed_at\": \"2018-01-24T16:16:35Z\",\n \"git_url\": \"git://github.com/djwester/d2l-rubric.git\",\n \"ssh_url\": \"git@github.com:djwester/d2l-rubric.git\",\n \"clone_url\": \"https://github.com/djwester/d2l-rubric.git\",\n \"svn_url\": \"https://github.com/djwester/d2l-rubric\",\n \"homepage\": null,\n \"size\": 40,\n \"stargazers_count\": 0,\n \"watchers_count\": 0,\n \"language\": \"HTML\",\n \"has_issues\": false,\n \"has_projects\": true,\n \"has_downloads\": true,\n \"has_wiki\": true,\n \"has_pages\": false,\n \"forks_count\": 0,\n \"mirror_url\": null,\n \"archived\": false,\n \"disabled\": false,\n \"open_issues_count\": 0,\n \"license\": {\n \"key\": \"apache-2.0\",\n \"name\": \"Apache License 2.0\",\n \"spdx_id\": \"Apache-2.0\",\n \"url\": \"https://api.github.com/licenses/apache-2.0\",\n \"node_id\": \"MDc6TGljZW5zZTI=\"\n },\n \"forks\": 0,\n \"open_issues\": 0,\n \"watchers\": 0,\n \"default_branch\": \"master\"\n },\n {\n \"id\": 20491621,\n \"node_id\": \"MDEwOlJlcG9zaXRvcnkyMDQ5MTYyMQ==\",\n \"name\": \"datasciencecoursera\",\n \"full_name\": \"djwester/datasciencecoursera\",\n \"private\": false,\n \"owner\": {\n \"login\": \"djwester\",\n \"id\": 7783715,\n \"node_id\": \"MDQ6VXNlcjc3ODM3MTU=\",\n \"avatar_url\": \"https://avatars1.githubusercontent.com/u/7783715?v=4\",\n \"gravatar_id\": \"\",\n \"url\": \"https://api.github.com/users/djwester\",\n \"html_url\": \"https://github.com/djwester\",\n \"followers_url\": \"https://api.github.com/users/djwester/followers\",\n \"following_url\": \"https://api.github.com/users/djwester/following{/other_user}\",\n \"gists_url\": \"https://api.github.com/users/djwester/gists{/gist_id}\",\n \"starred_url\": \"https://api.github.com/users/djwester/starred{/owner}{/repo}\",\n \"subscriptions_url\": \"https://api.github.com/users/djwester/subscriptions\",\n \"organizations_url\": \"https://api.github.com/users/djwester/orgs\",\n \"repos_url\": \"https://api.github.com/users/djwester/repos\",\n \"events_url\": \"https://api.github.com/users/djwester/events{/privacy}\",\n \"received_events_url\": \"https://api.github.com/users/djwester/received_events\",\n \"type\": \"User\",\n \"site_admin\": false\n },\n \"html_url\": \"https://github.com/djwester/datasciencecoursera\",\n \"description\": null,\n \"fork\": false,\n \"url\": \"https://api.github.com/repos/djwester/datasciencecoursera\",\n \"forks_url\": \"https://api.github.com/repos/djwester/datasciencecoursera/forks\",\n \"keys_url\": \"https://api.github.com/repos/djwester/datasciencecoursera/keys{/key_id}\",\n \"collaborators_url\": \"https://api.github.com/repos/djwester/datasciencecoursera/collaborators{/collaborator}\",\n \"teams_url\": \"https://api.github.com/repos/djwester/datasciencecoursera/teams\",\n \"hooks_url\": \"https://api.github.com/repos/djwester/datasciencecoursera/hooks\",\n \"issue_events_url\": \"https://api.github.com/repos/djwester/datasciencecoursera/issues/events{/number}\",\n \"events_url\": \"https://api.github.com/repos/djwester/datasciencecoursera/events\",\n \"assignees_url\": \"https://api.github.com/repos/djwester/datasciencecoursera/assignees{/user}\",\n \"branches_url\": \"https://api.github.com/repos/djwester/datasciencecoursera/branches{/branch}\",\n \"tags_url\": \"https://api.github.com/repos/djwester/datasciencecoursera/tags\",\n \"blobs_url\": \"https://api.github.com/repos/djwester/datasciencecoursera/git/blobs{/sha}\",\n \"git_tags_url\": \"https://api.github.com/repos/djwester/datasciencecoursera/git/tags{/sha}\",\n \"git_refs_url\": \"https://api.github.com/repos/djwester/datasciencecoursera/git/refs{/sha}\",\n \"trees_url\": \"https://api.github.com/repos/djwester/datasciencecoursera/git/trees{/sha}\",\n \"statuses_url\": \"https://api.github.com/repos/djwester/datasciencecoursera/statuses/{sha}\",\n \"languages_url\": \"https://api.github.com/repos/djwester/datasciencecoursera/languages\",\n \"stargazers_url\": \"https://api.github.com/repos/djwester/datasciencecoursera/stargazers\",\n \"contributors_url\": \"https://api.github.com/repos/djwester/datasciencecoursera/contributors\",\n \"subscribers_url\": \"https://api.github.com/repos/djwester/datasciencecoursera/subscribers\",\n \"subscription_url\": \"https://api.github.com/repos/djwester/datasciencecoursera/subscription\",\n \"commits_url\": \"https://api.github.com/repos/djwester/datasciencecoursera/commits{/sha}\",\n \"git_commits_url\": \"https://api.github.com/repos/djwester/datasciencecoursera/git/commits{/sha}\",\n \"comments_url\": \"https://api.github.com/repos/djwester/datasciencecoursera/comments{/number}\",\n \"issue_comment_url\": \"https://api.github.com/repos/djwester/datasciencecoursera/issues/comments{/number}\",\n \"contents_url\": \"https://api.github.com/repos/djwester/datasciencecoursera/contents/{+path}\",\n \"compare_url\": \"https://api.github.com/repos/djwester/datasciencecoursera/compare/{base}...{head}\",\n \"merges_url\": \"https://api.github.com/repos/djwester/datasciencecoursera/merges\",\n \"archive_url\": \"https://api.github.com/repos/djwester/datasciencecoursera/{archive_format}{/ref}\",\n \"downloads_url\": \"https://api.github.com/repos/djwester/datasciencecoursera/downloads\",\n \"issues_url\": \"https://api.github.com/repos/djwester/datasciencecoursera/issues{/number}\",\n \"pulls_url\": \"https://api.github.com/repos/djwester/datasciencecoursera/pulls{/number}\",\n \"milestones_url\": \"https://api.github.com/repos/djwester/datasciencecoursera/milestones{/number}\",\n \"notifications_url\": \"https://api.github.com/repos/djwester/datasciencecoursera/notifications{?since,all,participating}\",\n \"labels_url\": \"https://api.github.com/repos/djwester/datasciencecoursera/labels{/name}\",\n \"releases_url\": \"https://api.github.com/repos/djwester/datasciencecoursera/releases{/id}\",\n \"deployments_url\": \"https://api.github.com/repos/djwester/datasciencecoursera/deployments\",\n \"created_at\": \"2014-06-04T16:43:56Z\",\n \"updated_at\": \"2014-06-04T16:56:44Z\",\n \"pushed_at\": \"2014-06-04T16:56:46Z\",\n \"git_url\": \"git://github.com/djwester/datasciencecoursera.git\",\n \"ssh_url\": \"git@github.com:djwester/datasciencecoursera.git\",\n \"clone_url\": \"https://github.com/djwester/datasciencecoursera.git\",\n \"svn_url\": \"https://github.com/djwester/datasciencecoursera\",\n \"homepage\": \"\",\n \"size\": 124,\n \"stargazers_count\": 0,\n \"watchers_count\": 0,\n \"language\": null,\n \"has_issues\": true,\n \"has_projects\": true,\n \"has_downloads\": true,\n \"has_wiki\": true,\n \"has_pages\": false,\n \"forks_count\": 0,\n \"mirror_url\": null,\n \"archived\": false,\n \"disabled\": false,\n \"open_issues_count\": 0,\n \"license\": null,\n \"forks\": 0,\n \"open_issues\": 0,\n \"watchers\": 0,\n \"default_branch\": \"master\"\n },\n {\n \"id\": 20492156,\n \"node_id\": \"MDEwOlJlcG9zaXRvcnkyMDQ5MjE1Ng==\",\n \"name\": \"datasharing\",\n \"full_name\": \"djwester/datasharing\",\n \"private\": false,\n \"owner\": {\n \"login\": \"djwester\",\n \"id\": 7783715,\n \"node_id\": \"MDQ6VXNlcjc3ODM3MTU=\",\n \"avatar_url\": \"https://avatars1.githubusercontent.com/u/7783715?v=4\",\n \"gravatar_id\": \"\",\n \"url\": \"https://api.github.com/users/djwester\",\n \"html_url\": \"https://github.com/djwester\",\n \"followers_url\": \"https://api.github.com/users/djwester/followers\",\n \"following_url\": \"https://api.github.com/users/djwester/following{/other_user}\",\n \"gists_url\": \"https://api.github.com/users/djwester/gists{/gist_id}\",\n \"starred_url\": \"https://api.github.com/users/djwester/starred{/owner}{/repo}\",\n \"subscriptions_url\": \"https://api.github.com/users/djwester/subscriptions\",\n \"organizations_url\": \"https://api.github.com/users/djwester/orgs\",\n \"repos_url\": \"https://api.github.com/users/djwester/repos\",\n \"events_url\": \"https://api.github.com/users/djwester/events{/privacy}\",\n \"received_events_url\": \"https://api.github.com/users/djwester/received_events\",\n \"type\": \"User\",\n \"site_admin\": false\n },\n \"html_url\": \"https://github.com/djwester/datasharing\",\n \"description\": \"The Leek group guide to data sharing \",\n \"fork\": true,\n \"url\": \"https://api.github.com/repos/djwester/datasharing\",\n \"forks_url\": \"https://api.github.com/repos/djwester/datasharing/forks\",\n \"keys_url\": \"https://api.github.com/repos/djwester/datasharing/keys{/key_id}\",\n \"collaborators_url\": \"https://api.github.com/repos/djwester/datasharing/collaborators{/collaborator}\",\n \"teams_url\": \"https://api.github.com/repos/djwester/datasharing/teams\",\n \"hooks_url\": \"https://api.github.com/repos/djwester/datasharing/hooks\",\n \"issue_events_url\": \"https://api.github.com/repos/djwester/datasharing/issues/events{/number}\",\n \"events_url\": \"https://api.github.com/repos/djwester/datasharing/events\",\n \"assignees_url\": \"https://api.github.com/repos/djwester/datasharing/assignees{/user}\",\n \"branches_url\": \"https://api.github.com/repos/djwester/datasharing/branches{/branch}\",\n \"tags_url\": \"https://api.github.com/repos/djwester/datasharing/tags\",\n \"blobs_url\": \"https://api.github.com/repos/djwester/datasharing/git/blobs{/sha}\",\n \"git_tags_url\": \"https://api.github.com/repos/djwester/datasharing/git/tags{/sha}\",\n \"git_refs_url\": \"https://api.github.com/repos/djwester/datasharing/git/refs{/sha}\",\n \"trees_url\": \"https://api.github.com/repos/djwester/datasharing/git/trees{/sha}\",\n \"statuses_url\": \"https://api.github.com/repos/djwester/datasharing/statuses/{sha}\",\n \"languages_url\": \"https://api.github.com/repos/djwester/datasharing/languages\",\n \"stargazers_url\": \"https://api.github.com/repos/djwester/datasharing/stargazers\",\n \"contributors_url\": \"https://api.github.com/repos/djwester/datasharing/contributors\",\n \"subscribers_url\": \"https://api.github.com/repos/djwester/datasharing/subscribers\",\n \"subscription_url\": \"https://api.github.com/repos/djwester/datasharing/subscription\",\n \"commits_url\": \"https://api.github.com/repos/djwester/datasharing/commits{/sha}\",\n \"git_commits_url\": \"https://api.github.com/repos/djwester/datasharing/git/commits{/sha}\",\n \"comments_url\": \"https://api.github.com/repos/djwester/datasharing/comments{/number}\",\n \"issue_comment_url\": \"https://api.github.com/repos/djwester/datasharing/issues/comments{/number}\",\n \"contents_url\": \"https://api.github.com/repos/djwester/datasharing/contents/{+path}\",\n \"compare_url\": \"https://api.github.com/repos/djwester/datasharing/compare/{base}...{head}\",\n \"merges_url\": \"https://api.github.com/repos/djwester/datasharing/merges\",\n \"archive_url\": \"https://api.github.com/repos/djwester/datasharing/{archive_format}{/ref}\",\n \"downloads_url\": \"https://api.github.com/repos/djwester/datasharing/downloads\",\n \"issues_url\": \"https://api.github.com/repos/djwester/datasharing/issues{/number}\",\n \"pulls_url\": \"https://api.github.com/repos/djwester/datasharing/pulls{/number}\",\n \"milestones_url\": \"https://api.github.com/repos/djwester/datasharing/milestones{/number}\",\n \"notifications_url\": \"https://api.github.com/repos/djwester/datasharing/notifications{?since,all,participating}\",\n \"labels_url\": \"https://api.github.com/repos/djwester/datasharing/labels{/name}\",\n \"releases_url\": \"https://api.github.com/repos/djwester/datasharing/releases{/id}\",\n \"deployments_url\": \"https://api.github.com/repos/djwester/datasharing/deployments\",\n \"created_at\": \"2014-06-04T17:01:13Z\",\n \"updated_at\": \"2014-06-04T17:01:43Z\",\n \"pushed_at\": \"2013-11-25T16:08:34Z\",\n \"git_url\": \"git://github.com/djwester/datasharing.git\",\n \"ssh_url\": \"git@github.com:djwester/datasharing.git\",\n \"clone_url\": \"https://github.com/djwester/datasharing.git\",\n \"svn_url\": \"https://github.com/djwester/datasharing\",\n \"homepage\": null,\n \"size\": 157,\n \"stargazers_count\": 0,\n \"watchers_count\": 0,\n \"language\": null,\n \"has_issues\": false,\n \"has_projects\": true,\n \"has_downloads\": true,\n \"has_wiki\": true,\n \"has_pages\": false,\n \"forks_count\": 0,\n \"mirror_url\": null,\n \"archived\": false,\n \"disabled\": false,\n \"open_issues_count\": 0,\n \"license\": null,\n \"forks\": 0,\n \"open_issues\": 0,\n \"watchers\": 0,\n \"default_branch\": \"master\"\n },\n {\n \"id\": 75975106,\n \"node_id\": \"MDEwOlJlcG9zaXRvcnk3NTk3NTEwNg==\",\n \"name\": \"inputGenerator\",\n \"full_name\": \"djwester/inputGenerator\",\n \"private\": false,\n \"owner\": {\n \"login\": \"djwester\",\n \"id\": 7783715,\n \"node_id\": \"MDQ6VXNlcjc3ODM3MTU=\",\n \"avatar_url\": \"https://avatars1.githubusercontent.com/u/7783715?v=4\",\n \"gravatar_id\": \"\",\n \"url\": \"https://api.github.com/users/djwester\",\n \"html_url\": \"https://github.com/djwester\",\n \"followers_url\": \"https://api.github.com/users/djwester/followers\",\n \"following_url\": \"https://api.github.com/users/djwester/following{/other_user}\",\n \"gists_url\": \"https://api.github.com/users/djwester/gists{/gist_id}\",\n \"starred_url\": \"https://api.github.com/users/djwester/starred{/owner}{/repo}\",\n \"subscriptions_url\": \"https://api.github.com/users/djwester/subscriptions\",\n \"organizations_url\": \"https://api.github.com/users/djwester/orgs\",\n \"repos_url\": \"https://api.github.com/users/djwester/repos\",\n \"events_url\": \"https://api.github.com/users/djwester/events{/privacy}\",\n \"received_events_url\": \"https://api.github.com/users/djwester/received_events\",\n \"type\": \"User\",\n \"site_admin\": false\n },\n \"html_url\": \"https://github.com/djwester/inputGenerator\",\n \"description\": \"Generates different kinds of inputs to use in testing\",\n \"fork\": false,\n \"url\": \"https://api.github.com/repos/djwester/inputGenerator\",\n \"forks_url\": \"https://api.github.com/repos/djwester/inputGenerator/forks\",\n \"keys_url\": \"https://api.github.com/repos/djwester/inputGenerator/keys{/key_id}\",\n \"collaborators_url\": \"https://api.github.com/repos/djwester/inputGenerator/collaborators{/collaborator}\",\n \"teams_url\": \"https://api.github.com/repos/djwester/inputGenerator/teams\",\n \"hooks_url\": \"https://api.github.com/repos/djwester/inputGenerator/hooks\",\n \"issue_events_url\": \"https://api.github.com/repos/djwester/inputGenerator/issues/events{/number}\",\n \"events_url\": \"https://api.github.com/repos/djwester/inputGenerator/events\",\n \"assignees_url\": \"https://api.github.com/repos/djwester/inputGenerator/assignees{/user}\",\n \"branches_url\": \"https://api.github.com/repos/djwester/inputGenerator/branches{/branch}\",\n \"tags_url\": \"https://api.github.com/repos/djwester/inputGenerator/tags\",\n \"blobs_url\": \"https://api.github.com/repos/djwester/inputGenerator/git/blobs{/sha}\",\n \"git_tags_url\": \"https://api.github.com/repos/djwester/inputGenerator/git/tags{/sha}\",\n \"git_refs_url\": \"https://api.github.com/repos/djwester/inputGenerator/git/refs{/sha}\",\n \"trees_url\": \"https://api.github.com/repos/djwester/inputGenerator/git/trees{/sha}\",\n \"statuses_url\": \"https://api.github.com/repos/djwester/inputGenerator/statuses/{sha}\",\n \"languages_url\": \"https://api.github.com/repos/djwester/inputGenerator/languages\",\n \"stargazers_url\": \"https://api.github.com/repos/djwester/inputGenerator/stargazers\",\n \"contributors_url\": \"https://api.github.com/repos/djwester/inputGenerator/contributors\",\n \"subscribers_url\": \"https://api.github.com/repos/djwester/inputGenerator/subscribers\",\n \"subscription_url\": \"https://api.github.com/repos/djwester/inputGenerator/subscription\",\n \"commits_url\": \"https://api.github.com/repos/djwester/inputGenerator/commits{/sha}\",\n \"git_commits_url\": \"https://api.github.com/repos/djwester/inputGenerator/git/commits{/sha}\",\n \"comments_url\": \"https://api.github.com/repos/djwester/inputGenerator/comments{/number}\",\n \"issue_comment_url\": \"https://api.github.com/repos/djwester/inputGenerator/issues/comments{/number}\",\n \"contents_url\": \"https://api.github.com/repos/djwester/inputGenerator/contents/{+path}\",\n \"compare_url\": \"https://api.github.com/repos/djwester/inputGenerator/compare/{base}...{head}\",\n \"merges_url\": \"https://api.github.com/repos/djwester/inputGenerator/merges\",\n \"archive_url\": \"https://api.github.com/repos/djwester/inputGenerator/{archive_format}{/ref}\",\n \"downloads_url\": \"https://api.github.com/repos/djwester/inputGenerator/downloads\",\n \"issues_url\": \"https://api.github.com/repos/djwester/inputGenerator/issues{/number}\",\n \"pulls_url\": \"https://api.github.com/repos/djwester/inputGenerator/pulls{/number}\",\n \"milestones_url\": \"https://api.github.com/repos/djwester/inputGenerator/milestones{/number}\",\n \"notifications_url\": \"https://api.github.com/repos/djwester/inputGenerator/notifications{?since,all,participating}\",\n \"labels_url\": \"https://api.github.com/repos/djwester/inputGenerator/labels{/name}\",\n \"releases_url\": \"https://api.github.com/repos/djwester/inputGenerator/releases{/id}\",\n \"deployments_url\": \"https://api.github.com/repos/djwester/inputGenerator/deployments\",\n \"created_at\": \"2016-12-08T21:05:43Z\",\n \"updated_at\": \"2016-12-08T21:05:43Z\",\n \"pushed_at\": \"2016-12-08T21:05:43Z\",\n \"git_url\": \"git://github.com/djwester/inputGenerator.git\",\n \"ssh_url\": \"git@github.com:djwester/inputGenerator.git\",\n \"clone_url\": \"https://github.com/djwester/inputGenerator.git\",\n \"svn_url\": \"https://github.com/djwester/inputGenerator\",\n \"homepage\": null,\n \"size\": 0,\n \"stargazers_count\": 0,\n \"watchers_count\": 0,\n \"language\": null,\n \"has_issues\": true,\n \"has_projects\": true,\n \"has_downloads\": true,\n \"has_wiki\": true,\n \"has_pages\": false,\n \"forks_count\": 0,\n \"mirror_url\": null,\n \"archived\": false,\n \"disabled\": false,\n \"open_issues_count\": 0,\n \"license\": null,\n \"forks\": 0,\n \"open_issues\": 0,\n \"watchers\": 0,\n \"default_branch\": \"master\"\n },\n {\n \"id\": 134846576,\n \"node_id\": \"MDEwOlJlcG9zaXRvcnkxMzQ4NDY1NzY=\",\n \"name\": \"json-server\",\n \"full_name\": \"djwester/json-server\",\n \"private\": false,\n \"owner\": {\n \"login\": \"djwester\",\n \"id\": 7783715,\n \"node_id\": \"MDQ6VXNlcjc3ODM3MTU=\",\n \"avatar_url\": \"https://avatars1.githubusercontent.com/u/7783715?v=4\",\n \"gravatar_id\": \"\",\n \"url\": \"https://api.github.com/users/djwester\",\n \"html_url\": \"https://github.com/djwester\",\n \"followers_url\": \"https://api.github.com/users/djwester/followers\",\n \"following_url\": \"https://api.github.com/users/djwester/following{/other_user}\",\n \"gists_url\": \"https://api.github.com/users/djwester/gists{/gist_id}\",\n \"starred_url\": \"https://api.github.com/users/djwester/starred{/owner}{/repo}\",\n \"subscriptions_url\": \"https://api.github.com/users/djwester/subscriptions\",\n \"organizations_url\": \"https://api.github.com/users/djwester/orgs\",\n \"repos_url\": \"https://api.github.com/users/djwester/repos\",\n \"events_url\": \"https://api.github.com/users/djwester/events{/privacy}\",\n \"received_events_url\": \"https://api.github.com/users/djwester/received_events\",\n \"type\": \"User\",\n \"site_admin\": false\n },\n \"html_url\": \"https://github.com/djwester/json-server\",\n \"description\": \"Get a full fake REST API with zero coding in less than 30 seconds (seriously)\",\n \"fork\": true,\n \"url\": \"https://api.github.com/repos/djwester/json-server\",\n \"forks_url\": \"https://api.github.com/repos/djwester/json-server/forks\",\n \"keys_url\": \"https://api.github.com/repos/djwester/json-server/keys{/key_id}\",\n \"collaborators_url\": \"https://api.github.com/repos/djwester/json-server/collaborators{/collaborator}\",\n \"teams_url\": \"https://api.github.com/repos/djwester/json-server/teams\",\n \"hooks_url\": \"https://api.github.com/repos/djwester/json-server/hooks\",\n \"issue_events_url\": \"https://api.github.com/repos/djwester/json-server/issues/events{/number}\",\n \"events_url\": \"https://api.github.com/repos/djwester/json-server/events\",\n \"assignees_url\": \"https://api.github.com/repos/djwester/json-server/assignees{/user}\",\n \"branches_url\": \"https://api.github.com/repos/djwester/json-server/branches{/branch}\",\n \"tags_url\": \"https://api.github.com/repos/djwester/json-server/tags\",\n \"blobs_url\": \"https://api.github.com/repos/djwester/json-server/git/blobs{/sha}\",\n \"git_tags_url\": \"https://api.github.com/repos/djwester/json-server/git/tags{/sha}\",\n \"git_refs_url\": \"https://api.github.com/repos/djwester/json-server/git/refs{/sha}\",\n \"trees_url\": \"https://api.github.com/repos/djwester/json-server/git/trees{/sha}\",\n \"statuses_url\": \"https://api.github.com/repos/djwester/json-server/statuses/{sha}\",\n \"languages_url\": \"https://api.github.com/repos/djwester/json-server/languages\",\n \"stargazers_url\": \"https://api.github.com/repos/djwester/json-server/stargazers\",\n \"contributors_url\": \"https://api.github.com/repos/djwester/json-server/contributors\",\n \"subscribers_url\": \"https://api.github.com/repos/djwester/json-server/subscribers\",\n \"subscription_url\": \"https://api.github.com/repos/djwester/json-server/subscription\",\n \"commits_url\": \"https://api.github.com/repos/djwester/json-server/commits{/sha}\",\n \"git_commits_url\": \"https://api.github.com/repos/djwester/json-server/git/commits{/sha}\",\n \"comments_url\": \"https://api.github.com/repos/djwester/json-server/comments{/number}\",\n \"issue_comment_url\": \"https://api.github.com/repos/djwester/json-server/issues/comments{/number}\",\n \"contents_url\": \"https://api.github.com/repos/djwester/json-server/contents/{+path}\",\n \"compare_url\": \"https://api.github.com/repos/djwester/json-server/compare/{base}...{head}\",\n \"merges_url\": \"https://api.github.com/repos/djwester/json-server/merges\",\n \"archive_url\": \"https://api.github.com/repos/djwester/json-server/{archive_format}{/ref}\",\n \"downloads_url\": \"https://api.github.com/repos/djwester/json-server/downloads\",\n \"issues_url\": \"https://api.github.com/repos/djwester/json-server/issues{/number}\",\n \"pulls_url\": \"https://api.github.com/repos/djwester/json-server/pulls{/number}\",\n \"milestones_url\": \"https://api.github.com/repos/djwester/json-server/milestones{/number}\",\n \"notifications_url\": \"https://api.github.com/repos/djwester/json-server/notifications{?since,all,participating}\",\n \"labels_url\": \"https://api.github.com/repos/djwester/json-server/labels{/name}\",\n \"releases_url\": \"https://api.github.com/repos/djwester/json-server/releases{/id}\",\n \"deployments_url\": \"https://api.github.com/repos/djwester/json-server/deployments\",\n \"created_at\": \"2018-05-25T11:19:04Z\",\n \"updated_at\": \"2018-05-25T11:19:08Z\",\n \"pushed_at\": \"2018-05-12T14:41:30Z\",\n \"git_url\": \"git://github.com/djwester/json-server.git\",\n \"ssh_url\": \"git@github.com:djwester/json-server.git\",\n \"clone_url\": \"https://github.com/djwester/json-server.git\",\n \"svn_url\": \"https://github.com/djwester/json-server\",\n \"homepage\": \"\",\n \"size\": 852,\n \"stargazers_count\": 0,\n \"watchers_count\": 0,\n \"language\": \"JavaScript\",\n \"has_issues\": false,\n \"has_projects\": true,\n \"has_downloads\": true,\n \"has_wiki\": false,\n \"has_pages\": false,\n \"forks_count\": 0,\n \"mirror_url\": null,\n \"archived\": false,\n \"disabled\": false,\n \"open_issues_count\": 0,\n \"license\": {\n \"key\": \"mit\",\n \"name\": \"MIT License\",\n \"spdx_id\": \"MIT\",\n \"url\": \"https://api.github.com/licenses/mit\",\n \"node_id\": \"MDc6TGljZW5zZTEz\"\n },\n \"forks\": 0,\n \"open_issues\": 0,\n \"watchers\": 0,\n \"default_branch\": \"master\"\n },\n {\n \"id\": 191985025,\n \"node_id\": \"MDEwOlJlcG9zaXRvcnkxOTE5ODUwMjU=\",\n \"name\": \"pythonfortesters\",\n \"full_name\": \"djwester/pythonfortesters\",\n \"private\": false,\n \"owner\": {\n \"login\": \"djwester\",\n \"id\": 7783715,\n \"node_id\": \"MDQ6VXNlcjc3ODM3MTU=\",\n \"avatar_url\": \"https://avatars1.githubusercontent.com/u/7783715?v=4\",\n \"gravatar_id\": \"\",\n \"url\": \"https://api.github.com/users/djwester\",\n \"html_url\": \"https://github.com/djwester\",\n \"followers_url\": \"https://api.github.com/users/djwester/followers\",\n \"following_url\": \"https://api.github.com/users/djwester/following{/other_user}\",\n \"gists_url\": \"https://api.github.com/users/djwester/gists{/gist_id}\",\n \"starred_url\": \"https://api.github.com/users/djwester/starred{/owner}{/repo}\",\n \"subscriptions_url\": \"https://api.github.com/users/djwester/subscriptions\",\n \"organizations_url\": \"https://api.github.com/users/djwester/orgs\",\n \"repos_url\": \"https://api.github.com/users/djwester/repos\",\n \"events_url\": \"https://api.github.com/users/djwester/events{/privacy}\",\n \"received_events_url\": \"https://api.github.com/users/djwester/received_events\",\n \"type\": \"User\",\n \"site_admin\": false\n },\n \"html_url\": \"https://github.com/djwester/pythonfortesters\",\n \"description\": null,\n \"fork\": false,\n \"url\": \"https://api.github.com/repos/djwester/pythonfortesters\",\n \"forks_url\": \"https://api.github.com/repos/djwester/pythonfortesters/forks\",\n \"keys_url\": \"https://api.github.com/repos/djwester/pythonfortesters/keys{/key_id}\",\n \"collaborators_url\": \"https://api.github.com/repos/djwester/pythonfortesters/collaborators{/collaborator}\",\n \"teams_url\": \"https://api.github.com/repos/djwester/pythonfortesters/teams\",\n \"hooks_url\": \"https://api.github.com/repos/djwester/pythonfortesters/hooks\",\n \"issue_events_url\": \"https://api.github.com/repos/djwester/pythonfortesters/issues/events{/number}\",\n \"events_url\": \"https://api.github.com/repos/djwester/pythonfortesters/events\",\n \"assignees_url\": \"https://api.github.com/repos/djwester/pythonfortesters/assignees{/user}\",\n \"branches_url\": \"https://api.github.com/repos/djwester/pythonfortesters/branches{/branch}\",\n \"tags_url\": \"https://api.github.com/repos/djwester/pythonfortesters/tags\",\n \"blobs_url\": \"https://api.github.com/repos/djwester/pythonfortesters/git/blobs{/sha}\",\n \"git_tags_url\": \"https://api.github.com/repos/djwester/pythonfortesters/git/tags{/sha}\",\n \"git_refs_url\": \"https://api.github.com/repos/djwester/pythonfortesters/git/refs{/sha}\",\n \"trees_url\": \"https://api.github.com/repos/djwester/pythonfortesters/git/trees{/sha}\",\n \"statuses_url\": \"https://api.github.com/repos/djwester/pythonfortesters/statuses/{sha}\",\n \"languages_url\": \"https://api.github.com/repos/djwester/pythonfortesters/languages\",\n \"stargazers_url\": \"https://api.github.com/repos/djwester/pythonfortesters/stargazers\",\n \"contributors_url\": \"https://api.github.com/repos/djwester/pythonfortesters/contributors\",\n \"subscribers_url\": \"https://api.github.com/repos/djwester/pythonfortesters/subscribers\",\n \"subscription_url\": \"https://api.github.com/repos/djwester/pythonfortesters/subscription\",\n \"commits_url\": \"https://api.github.com/repos/djwester/pythonfortesters/commits{/sha}\",\n \"git_commits_url\": \"https://api.github.com/repos/djwester/pythonfortesters/git/commits{/sha}\",\n \"comments_url\": \"https://api.github.com/repos/djwester/pythonfortesters/comments{/number}\",\n \"issue_comment_url\": \"https://api.github.com/repos/djwester/pythonfortesters/issues/comments{/number}\",\n \"contents_url\": \"https://api.github.com/repos/djwester/pythonfortesters/contents/{+path}\",\n \"compare_url\": \"https://api.github.com/repos/djwester/pythonfortesters/compare/{base}...{head}\",\n \"merges_url\": \"https://api.github.com/repos/djwester/pythonfortesters/merges\",\n \"archive_url\": \"https://api.github.com/repos/djwester/pythonfortesters/{archive_format}{/ref}\",\n \"downloads_url\": \"https://api.github.com/repos/djwester/pythonfortesters/downloads\",\n \"issues_url\": \"https://api.github.com/repos/djwester/pythonfortesters/issues{/number}\",\n \"pulls_url\": \"https://api.github.com/repos/djwester/pythonfortesters/pulls{/number}\",\n \"milestones_url\": \"https://api.github.com/repos/djwester/pythonfortesters/milestones{/number}\",\n \"notifications_url\": \"https://api.github.com/repos/djwester/pythonfortesters/notifications{?since,all,participating}\",\n \"labels_url\": \"https://api.github.com/repos/djwester/pythonfortesters/labels{/name}\",\n \"releases_url\": \"https://api.github.com/repos/djwester/pythonfortesters/releases{/id}\",\n \"deployments_url\": \"https://api.github.com/repos/djwester/pythonfortesters/deployments\",\n \"created_at\": \"2019-06-14T17:53:56Z\",\n \"updated_at\": \"2020-04-23T14:42:05Z\",\n \"pushed_at\": \"2020-01-30T19:03:09Z\",\n \"git_url\": \"git://github.com/djwester/pythonfortesters.git\",\n \"ssh_url\": \"git@github.com:djwester/pythonfortesters.git\",\n \"clone_url\": \"https://github.com/djwester/pythonfortesters.git\",\n \"svn_url\": \"https://github.com/djwester/pythonfortesters\",\n \"homepage\": null,\n \"size\": 38,\n \"stargazers_count\": 3,\n \"watchers_count\": 3,\n \"language\": \"Python\",\n \"has_issues\": true,\n \"has_projects\": true,\n \"has_downloads\": true,\n \"has_wiki\": true,\n \"has_pages\": false,\n \"forks_count\": 6,\n \"mirror_url\": null,\n \"archived\": false,\n \"disabled\": false,\n \"open_issues_count\": 0,\n \"license\": {\n \"key\": \"gpl-3.0\",\n \"name\": \"GNU General Public License v3.0\",\n \"spdx_id\": \"GPL-3.0\",\n \"url\": \"https://api.github.com/licenses/gpl-3.0\",\n \"node_id\": \"MDc6TGljZW5zZTk=\"\n },\n \"forks\": 6,\n \"open_issues\": 0,\n \"watchers\": 3,\n \"default_branch\": \"master\"\n },\n {\n \"id\": 157912813,\n \"node_id\": \"MDEwOlJlcG9zaXRvcnkxNTc5MTI4MTM=\",\n \"name\": \"salesforcifyHtmlFiles\",\n \"full_name\": \"djwester/salesforcifyHtmlFiles\",\n \"private\": false,\n \"owner\": {\n \"login\": \"djwester\",\n \"id\": 7783715,\n \"node_id\": \"MDQ6VXNlcjc3ODM3MTU=\",\n \"avatar_url\": \"https://avatars1.githubusercontent.com/u/7783715?v=4\",\n \"gravatar_id\": \"\",\n \"url\": \"https://api.github.com/users/djwester\",\n \"html_url\": \"https://github.com/djwester\",\n \"followers_url\": \"https://api.github.com/users/djwester/followers\",\n \"following_url\": \"https://api.github.com/users/djwester/following{/other_user}\",\n \"gists_url\": \"https://api.github.com/users/djwester/gists{/gist_id}\",\n \"starred_url\": \"https://api.github.com/users/djwester/starred{/owner}{/repo}\",\n \"subscriptions_url\": \"https://api.github.com/users/djwester/subscriptions\",\n \"organizations_url\": \"https://api.github.com/users/djwester/orgs\",\n \"repos_url\": \"https://api.github.com/users/djwester/repos\",\n \"events_url\": \"https://api.github.com/users/djwester/events{/privacy}\",\n \"received_events_url\": \"https://api.github.com/users/djwester/received_events\",\n \"type\": \"User\",\n \"site_admin\": false\n },\n \"html_url\": \"https://github.com/djwester/salesforcifyHtmlFiles\",\n \"description\": null,\n \"fork\": false,\n \"url\": \"https://api.github.com/repos/djwester/salesforcifyHtmlFiles\",\n \"forks_url\": \"https://api.github.com/repos/djwester/salesforcifyHtmlFiles/forks\",\n \"keys_url\": \"https://api.github.com/repos/djwester/salesforcifyHtmlFiles/keys{/key_id}\",\n \"collaborators_url\": \"https://api.github.com/repos/djwester/salesforcifyHtmlFiles/collaborators{/collaborator}\",\n \"teams_url\": \"https://api.github.com/repos/djwester/salesforcifyHtmlFiles/teams\",\n \"hooks_url\": \"https://api.github.com/repos/djwester/salesforcifyHtmlFiles/hooks\",\n \"issue_events_url\": \"https://api.github.com/repos/djwester/salesforcifyHtmlFiles/issues/events{/number}\",\n \"events_url\": \"https://api.github.com/repos/djwester/salesforcifyHtmlFiles/events\",\n \"assignees_url\": \"https://api.github.com/repos/djwester/salesforcifyHtmlFiles/assignees{/user}\",\n \"branches_url\": \"https://api.github.com/repos/djwester/salesforcifyHtmlFiles/branches{/branch}\",\n \"tags_url\": \"https://api.github.com/repos/djwester/salesforcifyHtmlFiles/tags\",\n \"blobs_url\": \"https://api.github.com/repos/djwester/salesforcifyHtmlFiles/git/blobs{/sha}\",\n \"git_tags_url\": \"https://api.github.com/repos/djwester/salesforcifyHtmlFiles/git/tags{/sha}\",\n \"git_refs_url\": \"https://api.github.com/repos/djwester/salesforcifyHtmlFiles/git/refs{/sha}\",\n \"trees_url\": \"https://api.github.com/repos/djwester/salesforcifyHtmlFiles/git/trees{/sha}\",\n \"statuses_url\": \"https://api.github.com/repos/djwester/salesforcifyHtmlFiles/statuses/{sha}\",\n \"languages_url\": \"https://api.github.com/repos/djwester/salesforcifyHtmlFiles/languages\",\n \"stargazers_url\": \"https://api.github.com/repos/djwester/salesforcifyHtmlFiles/stargazers\",\n \"contributors_url\": \"https://api.github.com/repos/djwester/salesforcifyHtmlFiles/contributors\",\n \"subscribers_url\": \"https://api.github.com/repos/djwester/salesforcifyHtmlFiles/subscribers\",\n \"subscription_url\": \"https://api.github.com/repos/djwester/salesforcifyHtmlFiles/subscription\",\n \"commits_url\": \"https://api.github.com/repos/djwester/salesforcifyHtmlFiles/commits{/sha}\",\n \"git_commits_url\": \"https://api.github.com/repos/djwester/salesforcifyHtmlFiles/git/commits{/sha}\",\n \"comments_url\": \"https://api.github.com/repos/djwester/salesforcifyHtmlFiles/comments{/number}\",\n \"issue_comment_url\": \"https://api.github.com/repos/djwester/salesforcifyHtmlFiles/issues/comments{/number}\",\n \"contents_url\": \"https://api.github.com/repos/djwester/salesforcifyHtmlFiles/contents/{+path}\",\n \"compare_url\": \"https://api.github.com/repos/djwester/salesforcifyHtmlFiles/compare/{base}...{head}\",\n \"merges_url\": \"https://api.github.com/repos/djwester/salesforcifyHtmlFiles/merges\",\n \"archive_url\": \"https://api.github.com/repos/djwester/salesforcifyHtmlFiles/{archive_format}{/ref}\",\n \"downloads_url\": \"https://api.github.com/repos/djwester/salesforcifyHtmlFiles/downloads\",\n \"issues_url\": \"https://api.github.com/repos/djwester/salesforcifyHtmlFiles/issues{/number}\",\n \"pulls_url\": \"https://api.github.com/repos/djwester/salesforcifyHtmlFiles/pulls{/number}\",\n \"milestones_url\": \"https://api.github.com/repos/djwester/salesforcifyHtmlFiles/milestones{/number}\",\n \"notifications_url\": \"https://api.github.com/repos/djwester/salesforcifyHtmlFiles/notifications{?since,all,participating}\",\n \"labels_url\": \"https://api.github.com/repos/djwester/salesforcifyHtmlFiles/labels{/name}\",\n \"releases_url\": \"https://api.github.com/repos/djwester/salesforcifyHtmlFiles/releases{/id}\",\n \"deployments_url\": \"https://api.github.com/repos/djwester/salesforcifyHtmlFiles/deployments\",\n \"created_at\": \"2018-11-16T19:33:38Z\",\n \"updated_at\": \"2018-12-18T19:45:23Z\",\n \"pushed_at\": \"2018-12-18T19:45:22Z\",\n \"git_url\": \"git://github.com/djwester/salesforcifyHtmlFiles.git\",\n \"ssh_url\": \"git@github.com:djwester/salesforcifyHtmlFiles.git\",\n \"clone_url\": \"https://github.com/djwester/salesforcifyHtmlFiles.git\",\n \"svn_url\": \"https://github.com/djwester/salesforcifyHtmlFiles\",\n \"homepage\": null,\n \"size\": 31497,\n \"stargazers_count\": 0,\n \"watchers_count\": 0,\n \"language\": \"Python\",\n \"has_issues\": true,\n \"has_projects\": true,\n \"has_downloads\": true,\n \"has_wiki\": true,\n \"has_pages\": false,\n \"forks_count\": 0,\n \"mirror_url\": null,\n \"archived\": false,\n \"disabled\": false,\n \"open_issues_count\": 0,\n \"license\": null,\n \"forks\": 0,\n \"open_issues\": 0,\n \"watchers\": 0,\n \"default_branch\": \"master\"\n },\n {\n \"id\": 272979463,\n \"node_id\": \"MDEwOlJlcG9zaXRvcnkyNzI5Nzk0NjM=\",\n \"name\": \"SQL-for-testers-practice-site\",\n \"full_name\": \"djwester/SQL-for-testers-practice-site\",\n \"private\": false,\n \"owner\": {\n \"login\": \"djwester\",\n \"id\": 7783715,\n \"node_id\": \"MDQ6VXNlcjc3ODM3MTU=\",\n \"avatar_url\": \"https://avatars1.githubusercontent.com/u/7783715?v=4\",\n \"gravatar_id\": \"\",\n \"url\": \"https://api.github.com/users/djwester\",\n \"html_url\": \"https://github.com/djwester\",\n \"followers_url\": \"https://api.github.com/users/djwester/followers\",\n \"following_url\": \"https://api.github.com/users/djwester/following{/other_user}\",\n \"gists_url\": \"https://api.github.com/users/djwester/gists{/gist_id}\",\n \"starred_url\": \"https://api.github.com/users/djwester/starred{/owner}{/repo}\",\n \"subscriptions_url\": \"https://api.github.com/users/djwester/subscriptions\",\n \"organizations_url\": \"https://api.github.com/users/djwester/orgs\",\n \"repos_url\": \"https://api.github.com/users/djwester/repos\",\n \"events_url\": \"https://api.github.com/users/djwester/events{/privacy}\",\n \"received_events_url\": \"https://api.github.com/users/djwester/received_events\",\n \"type\": \"User\",\n \"site_admin\": false\n },\n \"html_url\": \"https://github.com/djwester/SQL-for-testers-practice-site\",\n \"description\": \"a locally hosted site that can be used for learning SQL\",\n \"fork\": false,\n \"url\": \"https://api.github.com/repos/djwester/SQL-for-testers-practice-site\",\n \"forks_url\": \"https://api.github.com/repos/djwester/SQL-for-testers-practice-site/forks\",\n \"keys_url\": \"https://api.github.com/repos/djwester/SQL-for-testers-practice-site/keys{/key_id}\",\n \"collaborators_url\": \"https://api.github.com/repos/djwester/SQL-for-testers-practice-site/collaborators{/collaborator}\",\n \"teams_url\": \"https://api.github.com/repos/djwester/SQL-for-testers-practice-site/teams\",\n \"hooks_url\": \"https://api.github.com/repos/djwester/SQL-for-testers-practice-site/hooks\",\n \"issue_events_url\": \"https://api.github.com/repos/djwester/SQL-for-testers-practice-site/issues/events{/number}\",\n \"events_url\": \"https://api.github.com/repos/djwester/SQL-for-testers-practice-site/events\",\n \"assignees_url\": \"https://api.github.com/repos/djwester/SQL-for-testers-practice-site/assignees{/user}\",\n \"branches_url\": \"https://api.github.com/repos/djwester/SQL-for-testers-practice-site/branches{/branch}\",\n \"tags_url\": \"https://api.github.com/repos/djwester/SQL-for-testers-practice-site/tags\",\n \"blobs_url\": \"https://api.github.com/repos/djwester/SQL-for-testers-practice-site/git/blobs{/sha}\",\n \"git_tags_url\": \"https://api.github.com/repos/djwester/SQL-for-testers-practice-site/git/tags{/sha}\",\n \"git_refs_url\": \"https://api.github.com/repos/djwester/SQL-for-testers-practice-site/git/refs{/sha}\",\n \"trees_url\": \"https://api.github.com/repos/djwester/SQL-for-testers-practice-site/git/trees{/sha}\",\n \"statuses_url\": \"https://api.github.com/repos/djwester/SQL-for-testers-practice-site/statuses/{sha}\",\n \"languages_url\": \"https://api.github.com/repos/djwester/SQL-for-testers-practice-site/languages\",\n \"stargazers_url\": \"https://api.github.com/repos/djwester/SQL-for-testers-practice-site/stargazers\",\n \"contributors_url\": \"https://api.github.com/repos/djwester/SQL-for-testers-practice-site/contributors\",\n \"subscribers_url\": \"https://api.github.com/repos/djwester/SQL-for-testers-practice-site/subscribers\",\n \"subscription_url\": \"https://api.github.com/repos/djwester/SQL-for-testers-practice-site/subscription\",\n \"commits_url\": \"https://api.github.com/repos/djwester/SQL-for-testers-practice-site/commits{/sha}\",\n \"git_commits_url\": \"https://api.github.com/repos/djwester/SQL-for-testers-practice-site/git/commits{/sha}\",\n \"comments_url\": \"https://api.github.com/repos/djwester/SQL-for-testers-practice-site/comments{/number}\",\n \"issue_comment_url\": \"https://api.github.com/repos/djwester/SQL-for-testers-practice-site/issues/comments{/number}\",\n \"contents_url\": \"https://api.github.com/repos/djwester/SQL-for-testers-practice-site/contents/{+path}\",\n \"compare_url\": \"https://api.github.com/repos/djwester/SQL-for-testers-practice-site/compare/{base}...{head}\",\n \"merges_url\": \"https://api.github.com/repos/djwester/SQL-for-testers-practice-site/merges\",\n \"archive_url\": \"https://api.github.com/repos/djwester/SQL-for-testers-practice-site/{archive_format}{/ref}\",\n \"downloads_url\": \"https://api.github.com/repos/djwester/SQL-for-testers-practice-site/downloads\",\n \"issues_url\": \"https://api.github.com/repos/djwester/SQL-for-testers-practice-site/issues{/number}\",\n \"pulls_url\": \"https://api.github.com/repos/djwester/SQL-for-testers-practice-site/pulls{/number}\",\n \"milestones_url\": \"https://api.github.com/repos/djwester/SQL-for-testers-practice-site/milestones{/number}\",\n \"notifications_url\": \"https://api.github.com/repos/djwester/SQL-for-testers-practice-site/notifications{?since,all,participating}\",\n \"labels_url\": \"https://api.github.com/repos/djwester/SQL-for-testers-practice-site/labels{/name}\",\n \"releases_url\": \"https://api.github.com/repos/djwester/SQL-for-testers-practice-site/releases{/id}\",\n \"deployments_url\": \"https://api.github.com/repos/djwester/SQL-for-testers-practice-site/deployments\",\n \"created_at\": \"2020-06-17T13:20:44Z\",\n \"updated_at\": \"2020-07-30T17:07:55Z\",\n \"pushed_at\": \"2020-07-30T17:07:51Z\",\n \"git_url\": \"git://github.com/djwester/SQL-for-testers-practice-site.git\",\n \"ssh_url\": \"git@github.com:djwester/SQL-for-testers-practice-site.git\",\n \"clone_url\": \"https://github.com/djwester/SQL-for-testers-practice-site.git\",\n \"svn_url\": \"https://github.com/djwester/SQL-for-testers-practice-site\",\n \"homepage\": null,\n \"size\": 39941,\n \"stargazers_count\": 0,\n \"watchers_count\": 0,\n \"language\": \"Python\",\n \"has_issues\": true,\n \"has_projects\": true,\n \"has_downloads\": true,\n \"has_wiki\": true,\n \"has_pages\": false,\n \"forks_count\": 0,\n \"mirror_url\": null,\n \"archived\": false,\n \"disabled\": false,\n \"open_issues_count\": 5,\n \"license\": null,\n \"forks\": 0,\n \"open_issues\": 5,\n \"watchers\": 0,\n \"default_branch\": \"master\"\n },\n {\n \"id\": 150282664,\n \"node_id\": \"MDEwOlJlcG9zaXRvcnkxNTAyODI2NjQ=\",\n \"name\": \"test2\",\n \"full_name\": \"djwester/test2\",\n \"private\": false,\n \"owner\": {\n \"login\": \"djwester\",\n \"id\": 7783715,\n \"node_id\": \"MDQ6VXNlcjc3ODM3MTU=\",\n \"avatar_url\": \"https://avatars1.githubusercontent.com/u/7783715?v=4\",\n \"gravatar_id\": \"\",\n \"url\": \"https://api.github.com/users/djwester\",\n \"html_url\": \"https://github.com/djwester\",\n \"followers_url\": \"https://api.github.com/users/djwester/followers\",\n \"following_url\": \"https://api.github.com/users/djwester/following{/other_user}\",\n \"gists_url\": \"https://api.github.com/users/djwester/gists{/gist_id}\",\n \"starred_url\": \"https://api.github.com/users/djwester/starred{/owner}{/repo}\",\n \"subscriptions_url\": \"https://api.github.com/users/djwester/subscriptions\",\n \"organizations_url\": \"https://api.github.com/users/djwester/orgs\",\n \"repos_url\": \"https://api.github.com/users/djwester/repos\",\n \"events_url\": \"https://api.github.com/users/djwester/events{/privacy}\",\n \"received_events_url\": \"https://api.github.com/users/djwester/received_events\",\n \"type\": \"User\",\n \"site_admin\": false\n },\n \"html_url\": \"https://github.com/djwester/test2\",\n \"description\": null,\n \"fork\": false,\n \"url\": \"https://api.github.com/repos/djwester/test2\",\n \"forks_url\": \"https://api.github.com/repos/djwester/test2/forks\",\n \"keys_url\": \"https://api.github.com/repos/djwester/test2/keys{/key_id}\",\n \"collaborators_url\": \"https://api.github.com/repos/djwester/test2/collaborators{/collaborator}\",\n \"teams_url\": \"https://api.github.com/repos/djwester/test2/teams\",\n \"hooks_url\": \"https://api.github.com/repos/djwester/test2/hooks\",\n \"issue_events_url\": \"https://api.github.com/repos/djwester/test2/issues/events{/number}\",\n \"events_url\": \"https://api.github.com/repos/djwester/test2/events\",\n \"assignees_url\": \"https://api.github.com/repos/djwester/test2/assignees{/user}\",\n \"branches_url\": \"https://api.github.com/repos/djwester/test2/branches{/branch}\",\n \"tags_url\": \"https://api.github.com/repos/djwester/test2/tags\",\n \"blobs_url\": \"https://api.github.com/repos/djwester/test2/git/blobs{/sha}\",\n \"git_tags_url\": \"https://api.github.com/repos/djwester/test2/git/tags{/sha}\",\n \"git_refs_url\": \"https://api.github.com/repos/djwester/test2/git/refs{/sha}\",\n \"trees_url\": \"https://api.github.com/repos/djwester/test2/git/trees{/sha}\",\n \"statuses_url\": \"https://api.github.com/repos/djwester/test2/statuses/{sha}\",\n \"languages_url\": \"https://api.github.com/repos/djwester/test2/languages\",\n \"stargazers_url\": \"https://api.github.com/repos/djwester/test2/stargazers\",\n \"contributors_url\": \"https://api.github.com/repos/djwester/test2/contributors\",\n \"subscribers_url\": \"https://api.github.com/repos/djwester/test2/subscribers\",\n \"subscription_url\": \"https://api.github.com/repos/djwester/test2/subscription\",\n \"commits_url\": \"https://api.github.com/repos/djwester/test2/commits{/sha}\",\n \"git_commits_url\": \"https://api.github.com/repos/djwester/test2/git/commits{/sha}\",\n \"comments_url\": \"https://api.github.com/repos/djwester/test2/comments{/number}\",\n \"issue_comment_url\": \"https://api.github.com/repos/djwester/test2/issues/comments{/number}\",\n \"contents_url\": \"https://api.github.com/repos/djwester/test2/contents/{+path}\",\n \"compare_url\": \"https://api.github.com/repos/djwester/test2/compare/{base}...{head}\",\n \"merges_url\": \"https://api.github.com/repos/djwester/test2/merges\",\n \"archive_url\": \"https://api.github.com/repos/djwester/test2/{archive_format}{/ref}\",\n \"downloads_url\": \"https://api.github.com/repos/djwester/test2/downloads\",\n \"issues_url\": \"https://api.github.com/repos/djwester/test2/issues{/number}\",\n \"pulls_url\": \"https://api.github.com/repos/djwester/test2/pulls{/number}\",\n \"milestones_url\": \"https://api.github.com/repos/djwester/test2/milestones{/number}\",\n \"notifications_url\": \"https://api.github.com/repos/djwester/test2/notifications{?since,all,participating}\",\n \"labels_url\": \"https://api.github.com/repos/djwester/test2/labels{/name}\",\n \"releases_url\": \"https://api.github.com/repos/djwester/test2/releases{/id}\",\n \"deployments_url\": \"https://api.github.com/repos/djwester/test2/deployments\",\n \"created_at\": \"2018-09-25T14:51:44Z\",\n \"updated_at\": \"2018-09-25T14:51:44Z\",\n \"pushed_at\": \"2018-09-25T14:51:44Z\",\n \"git_url\": \"git://github.com/djwester/test2.git\",\n \"ssh_url\": \"git@github.com:djwester/test2.git\",\n \"clone_url\": \"https://github.com/djwester/test2.git\",\n \"svn_url\": \"https://github.com/djwester/test2\",\n \"homepage\": null,\n \"size\": 0,\n \"stargazers_count\": 0,\n \"watchers_count\": 0,\n \"language\": null,\n \"has_issues\": true,\n \"has_projects\": true,\n \"has_downloads\": true,\n \"has_wiki\": true,\n \"has_pages\": false,\n \"forks_count\": 0,\n \"mirror_url\": null,\n \"archived\": false,\n \"disabled\": false,\n \"open_issues_count\": 0,\n \"license\": null,\n \"forks\": 0,\n \"open_issues\": 0,\n \"watchers\": 0,\n \"default_branch\": \"master\"\n }\n]"
173 | }
174 | ]
175 | }
176 | ]
177 | }
--------------------------------------------------------------------------------
/Chapter03/budgeting.yaml:
--------------------------------------------------------------------------------
1 | openapi: 3.0.1
2 | info:
3 | title: Budgeting API
4 | description: Manages budget line items
5 | version: '1.0'
6 | servers:
7 | - url: http://localhost:5000/budgeting/api
8 |
9 | paths:
10 | /items:
11 | get:
12 | description: Get the list of budget line items
13 | responses:
14 | '200':
15 | description: Successful Operation
16 | content:
17 | application/json:
18 | schema:
19 | $ref: '#/components/schemas/items'
20 | post:
21 | description: Create a new budget line item
22 | requestBody:
23 | required: true
24 | content:
25 | application/json:
26 | schema:
27 | $ref: '#/components/schemas/item'
28 | responses:
29 | '200':
30 | description: Successful Operation
31 | content:
32 | application/json:
33 | schema:
34 | $ref: '#/components/schemas/item'
35 | /item/{itemId}:
36 | get:
37 | description: Gets the information for the specified line item
38 | parameters:
39 | - in: path
40 | schema:
41 | $ref: '#/components/schemas/itemId'
42 | name: itemId
43 | description: Id of the line item
44 | required: true
45 | responses:
46 | '200':
47 | description: Successful Operation
48 | content:
49 | application/json:
50 | schema:
51 | $ref: '#/components/schemas/item'
52 | put:
53 | description: Updates the information for the specified line item
54 | parameters:
55 | - in: path
56 | schema:
57 | $ref: '#/components/schemas/itemId'
58 | example:
59 | title: Example Task itemId
60 | value: 1
61 | name: itemId
62 | description: Id of the line item
63 | required: true
64 | requestBody:
65 | required: true
66 | content:
67 | application/json:
68 | schema:
69 | $ref: '#/components/schemas/item'
70 | examples:
71 | Groceries:
72 | value:
73 | transaction_date: 2024-06-01
74 | amount: 123.45
75 | category: groceries
76 | Rent:
77 | value:
78 | transaction_date: 2024-06-01
79 | amount: 1500
80 | category: rent
81 | responses:
82 | '200':
83 | description: Successful Operation
84 | content:
85 | application/json:
86 | schema:
87 | $ref: '#/components/schemas/item'
88 | delete:
89 | description: Removes the specified line item
90 | parameters:
91 | - in: path
92 | schema:
93 | $ref: '#/components/schemas/itemId'
94 | name: itemId
95 | description: Id of the line item
96 | required: true
97 | responses:
98 | '200':
99 | description: Successful Operation
100 | content:
101 | application/json:
102 | schema:
103 | type: object
104 | components:
105 | schemas:
106 | item:
107 | type: object
108 | required:
109 | - transaction_date
110 | - amount
111 | - category
112 | properties:
113 | transaction_date:
114 | type: string
115 | format: date
116 | amount:
117 | type: integer
118 | category:
119 | type: string
120 | itemId:
121 | type: integer
122 | minimum: 1
123 | items:
124 | type: array
125 | items:
126 | $ref: '#/components/schemas/item'
127 |
--------------------------------------------------------------------------------
/Chapter04/Star Wars API_Chapter4_initial.postman_collection.json:
--------------------------------------------------------------------------------
1 | {
2 | "info": {
3 | "_postman_id": "e172c7d8-7f63-491f-aa0b-d1c691408972",
4 | "name": "Star Wars API",
5 | "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
6 | },
7 | "item": [
8 | {
9 | "name": "Get People",
10 | "request": {
11 | "method": "GET",
12 | "header": [],
13 | "url": {
14 | "raw": "https://swapi.dev/api/people/1",
15 | "protocol": "https",
16 | "host": [
17 | "swapi",
18 | "dev"
19 | ],
20 | "path": [
21 | "api",
22 | "people",
23 | "1"
24 | ]
25 | }
26 | },
27 | "response": []
28 | }
29 | ]
30 | }
31 |
--------------------------------------------------------------------------------
/Chapter06/Star Wars API.TryItOutSolutions.postman_collection.json:
--------------------------------------------------------------------------------
1 | {
2 | "info": {
3 | "_postman_id": "870d9057-0676-4d15-950f-b68ad7611d7c",
4 | "name": "Star Wars API",
5 | "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
6 | },
7 | "item": [
8 | {
9 | "name": "Luke",
10 | "item": [
11 | {
12 | "name": "Get People",
13 | "event": [
14 | {
15 | "listen": "test",
16 | "script": {
17 | "exec": [
18 | "pm.test(\"Status code is 200\", function () {\r",
19 | " pm.response.to.have.status(200);\r",
20 | "});\r",
21 | "\r",
22 | "pm.test(\"Check that the response body contains Luke\", function () {\r",
23 | " pm.expect(pm.response.text()).to.include(\"Luke\");\r",
24 | "});\r",
25 | "\r",
26 | "pm.test(\"Check Luke's Height\", function () {\r",
27 | " var jsonData = pm.response.json();\r",
28 | " pm.expect(jsonData.height).to.eql(\"172\");\r",
29 | "});\r",
30 | "\r",
31 | "pm.test(\"Check Luke's eye color\", function () {\r",
32 | " var jsonData = pm.response.json();\r",
33 | " pm.expect(jsonData.eye_color).to.eql(\"blue\");\r",
34 | "});\r",
35 | "\r",
36 | "pm.test(\"Check the homeworld URL\", function () {\r",
37 | " var jsonData = pm.response.json();\r",
38 | " pm.expect(jsonData.homeworld).to.eql(\"http://swapi.dev/api/planets/1/\");\r",
39 | "});\r",
40 | "\r",
41 | "pm.test(\"Content-Type is present\", function () {\r",
42 | " pm.response.to.have.header(\"Content-Type\");\r",
43 | "});\r",
44 | "\r",
45 | "pm.test(\"Server is nginx\", function () {\r",
46 | " pm.response.to.have.header(\"Server\",'nginx/1.16.1');\r",
47 | "});\r",
48 | "\r",
49 | "pm.test(\"Response time is less than 500ms\", function () {\r",
50 | " pm.expect(pm.response.responseTime).to.be.below(500);\r",
51 | "});\r",
52 | "\r",
53 | "pm.test(\"Luke is in 4 films\", function () {\r",
54 | " pm.expect(pm.response.json().films.length).to.eql(4)\r",
55 | "});"
56 | ],
57 | "type": "text/javascript"
58 | }
59 | }
60 | ],
61 | "request": {
62 | "method": "GET",
63 | "header": [],
64 | "url": {
65 | "raw": "https://swapi.dev/api/people/1",
66 | "protocol": "https",
67 | "host": [
68 | "swapi",
69 | "dev"
70 | ],
71 | "path": [
72 | "api",
73 | "people",
74 | "1"
75 | ]
76 | }
77 | },
78 | "response": []
79 | },
80 | {
81 | "name": "Luke's Home world",
82 | "request": {
83 | "method": "GET",
84 | "header": [],
85 | "url": null
86 | },
87 | "response": []
88 | }
89 | ]
90 | }
91 | ]
92 | }
--------------------------------------------------------------------------------
/Chapter06/Star Wars API_Chapter6_initial.postman_collection.json:
--------------------------------------------------------------------------------
1 | {
2 | "info": {
3 | "_postman_id": "f6cac2da-eb1c-4b51-9859-8e7ee78a4ef6",
4 | "name": "Star Wars API - Chapter 6",
5 | "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
6 | },
7 | "item": [
8 | {
9 | "name": "Get People",
10 | "request": {
11 | "method": "GET",
12 | "header": [],
13 | "url": {
14 | "raw": "https://swapi.dev/api/people/1",
15 | "protocol": "https",
16 | "host": [
17 | "swapi",
18 | "dev"
19 | ],
20 | "path": [
21 | "api",
22 | "people",
23 | "1"
24 | ]
25 | }
26 | },
27 | "response": []
28 | }
29 | ],
30 | "event": [
31 | {
32 | "listen": "prerequest",
33 | "script": {
34 | "type": "text/javascript",
35 | "exec": [
36 | ""
37 | ]
38 | }
39 | },
40 | {
41 | "listen": "test",
42 | "script": {
43 | "type": "text/javascript",
44 | "exec": [
45 | ""
46 | ]
47 | }
48 | }
49 | ],
50 | "variable": [
51 | {
52 | "key": "base_url",
53 | "value": "https://swapi.dev/api"
54 | }
55 | ]
56 | }
--------------------------------------------------------------------------------
/Chapter07/Newman Test.postman_collection.json:
--------------------------------------------------------------------------------
1 | {
2 | "info": {
3 | "_postman_id": "7342b9e2-ef92-47a4-a075-1177d3e72669",
4 | "name": "Newman Test",
5 | "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json",
6 | "_exporter_id": "3274156"
7 | },
8 | "item": [
9 | {
10 | "name": "Test Get",
11 | "request": {
12 | "method": "GET",
13 | "header": [],
14 | "url": {
15 | "raw": "https://postman-echo.com/get?test=true",
16 | "protocol": "https",
17 | "host": [
18 | "postman-echo",
19 | "com"
20 | ],
21 | "path": [
22 | "get"
23 | ],
24 | "query": [
25 | {
26 | "key": "test",
27 | "value": "true"
28 | }
29 | ]
30 | }
31 | },
32 | "response": []
33 | }
34 | ]
35 | }
--------------------------------------------------------------------------------
/Chapter07/Postman Echo - DataDrivenTesting.postman_collection.json:
--------------------------------------------------------------------------------
1 | {
2 | "info": {
3 | "_postman_id": "f597d1d4-8bdc-4c3f-beb0-e0eab8ac11c1",
4 | "name": "Postman Echo - DataDrivenTesting",
5 | "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json",
6 | "_exporter_id": "3274156"
7 | },
8 | "item": [
9 | {
10 | "name": "AddTime",
11 | "event": [
12 | {
13 | "listen": "test",
14 | "script": {
15 | "exec": [
16 | "var jsonData = pm.response.json();",
17 | "var addedTime = jsonData.sum;",
18 | "",
19 | "pm.variables.set(\"addedTime\",addedTime)"
20 | ],
21 | "type": "text/javascript",
22 | "packages": {}
23 | }
24 | }
25 | ],
26 | "request": {
27 | "method": "GET",
28 | "header": [],
29 | "url": {
30 | "raw": "https://postman-echo.com/time/add?timestamp={{inputTimestamp}}&{{changeUnit}}={{changeAmount}}",
31 | "protocol": "https",
32 | "host": [
33 | "postman-echo",
34 | "com"
35 | ],
36 | "path": [
37 | "time",
38 | "add"
39 | ],
40 | "query": [
41 | {
42 | "key": "timestamp",
43 | "value": "{{inputTimestamp}}"
44 | },
45 | {
46 | "key": "{{changeUnit}}",
47 | "value": "{{changeAmount}}"
48 | }
49 | ]
50 | }
51 | },
52 | "response": []
53 | },
54 | {
55 | "name": "SubtractTime",
56 | "event": [
57 | {
58 | "listen": "test",
59 | "script": {
60 | "exec": [
61 | "var inputTimestamp = pm.variables.get(\"inputTimestamp\")",
62 | "pm.test(\"Your test name\", function () {",
63 | " var jsonData = pm.response.json();",
64 | " pm.expect(jsonData.difference).to.eql(inputTimestamp);",
65 | "});"
66 | ],
67 | "type": "text/javascript",
68 | "packages": {}
69 | }
70 | }
71 | ],
72 | "request": {
73 | "method": "GET",
74 | "header": [],
75 | "url": {
76 | "raw": "https://postman-echo.com/time/subtract?timestamp={{addedTime}}&{{changeUnit}}={{changeAmount}}",
77 | "protocol": "https",
78 | "host": [
79 | "postman-echo",
80 | "com"
81 | ],
82 | "path": [
83 | "time",
84 | "subtract"
85 | ],
86 | "query": [
87 | {
88 | "key": "timestamp",
89 | "value": "{{addedTime}}"
90 | },
91 | {
92 | "key": "{{changeUnit}}",
93 | "value": "{{changeAmount}}"
94 | }
95 | ]
96 | }
97 | },
98 | "response": []
99 | }
100 | ]
101 | }
--------------------------------------------------------------------------------
/Chapter07/timestampInputs.csv:
--------------------------------------------------------------------------------
1 | inputTimestamp,changeUnit,changeAmount
2 | Sat Oct 12 2024 00:00:00 GMT+0000,days,1
3 | Wed Jan 15 2025 00:00:00 GMT+0000,months,1
--------------------------------------------------------------------------------
/Chapter07/userInputs.csv:
--------------------------------------------------------------------------------
1 | userId, expectedEmail
2 | 1, Sincere@april.biz
3 | 2, Shanna@melissa.tv
4 | 3, Nathan@yesenia.net
5 | 4, IncorrectEmail@kory.org
6 | 5, Lucio_Hettinger@annie.ca
--------------------------------------------------------------------------------
/Chapter07/userInputs_noOutputs.csv:
--------------------------------------------------------------------------------
1 | userId
2 | 1
3 | 2
4 | 3
5 | 4
6 | 5
--------------------------------------------------------------------------------
/Chapter09/DataDrivenInputs.csv:
--------------------------------------------------------------------------------
1 | queryParam,queryParamVal
2 | test,true
3 | query,1
--------------------------------------------------------------------------------
/Chapter09/NewmanReporter/index.js:
--------------------------------------------------------------------------------
1 | function MyCustomNewmanReporter (newman, reporterOptions,
2 | collectionRunOptions) {
3 | newman.on('start', function (err) {
4 | if (err) { return; }
5 | console.log('Collection run starting')
6 | });
7 | newman.on('item', function (err,args) {
8 | console.log('Ran: '+args.item.name)
9 | });
10 | newman.on('done', function () {
11 | console.log('all done!')
12 | });
13 | };
14 | module.exports = MyCustomNewmanReporter
15 |
16 |
--------------------------------------------------------------------------------
/Chapter09/NewmanReporter/newman-reporter-myreporter-1.0.0.tgz:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/API-Testing-and-Development-with-Postman-Second-Edition/67b994f2d066164fcdf0188ea9bd3ed902b393a7/Chapter09/NewmanReporter/newman-reporter-myreporter-1.0.0.tgz
--------------------------------------------------------------------------------
/Chapter09/NewmanReporter/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "newman-reporter-myreporter",
3 | "version": "1.0.0",
4 | "description": "test reporter",
5 | "main": "index.js",
6 | "scripts": {
7 | "test": "echo \"Error: no test specified\" && exit 1"
8 | },
9 | "author": "Dave Westerveld",
10 | "license": "ISC"
11 | }
12 |
--------------------------------------------------------------------------------
/Chapter09/NewmanTestEnvironment.json:
--------------------------------------------------------------------------------
1 | {
2 | "id": "2e789e4d-d79d-48a4-af89-ecd8b4292546",
3 | "name": "Newman Test Env",
4 | "values": [
5 | {
6 | "key": "baseUrl",
7 | "value": "https://postman-echo.com",
8 | "enabled": true
9 | }
10 | ],
11 | "_postman_variable_scope": "environment",
12 | "_postman_exported_at": "2020-11-04T14:28:26.372Z",
13 | "_postman_exported_using": "Postman/7.34.0"
14 | }
--------------------------------------------------------------------------------
/Chapter09/TestCollection.json:
--------------------------------------------------------------------------------
1 | {
2 | "info": {
3 | "_postman_id": "57169cda-7442-4f7c-883a-f07e61dbfe36",
4 | "name": "Newman Test",
5 | "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
6 | },
7 | "item": [
8 | {
9 | "name": "Test GET",
10 | "request": {
11 | "method": "GET",
12 | "header": [],
13 | "url": {
14 | "raw": "{{baseUrl}}/get?{{queryParam}}={{queryParamVal}}",
15 | "host": [
16 | "{{baseUrl}}"
17 | ],
18 | "path": [
19 | "get"
20 | ],
21 | "query": [
22 | {
23 | "key": "{{queryParam}}",
24 | "value": "{{queryParamVal}}"
25 | }
26 | ]
27 | }
28 | },
29 | "response": []
30 | }
31 | ],
32 | "protocolProfileBehavior": {}
33 | }
--------------------------------------------------------------------------------
/Chapter13/budgeting.yaml:
--------------------------------------------------------------------------------
1 | openapi: 3.0.1
2 | info:
3 | title: Budgeting API
4 | description: Manages budget line items
5 | version: '1.0'
6 | servers:
7 | - url: http://localhost:5000/budgeting/api
8 |
9 | paths:
10 | /items:
11 | get:
12 | description: Get the list of budget line items
13 | responses:
14 | '200':
15 | description: Successful Operation
16 | content:
17 | application/json:
18 | schema:
19 | $ref: '#/components/schemas/items'
20 | post:
21 | description: Create a new budget line item
22 | requestBody:
23 | required: true
24 | content:
25 | application/json:
26 | schema:
27 | $ref: '#/components/schemas/item'
28 | responses:
29 | '200':
30 | description: Successful Operation
31 | content:
32 | application/json:
33 | schema:
34 | $ref: '#/components/schemas/item'
35 | /item/{itemId}:
36 | get:
37 | description: Gets the information for the specified line item
38 | parameters:
39 | - in: path
40 | schema:
41 | $ref: '#/components/schemas/itemId'
42 | name: itemId
43 | description: Id of the line item
44 | required: true
45 | responses:
46 | '200':
47 | description: Successful Operation
48 | content:
49 | application/json:
50 | schema:
51 | $ref: '#/components/schemas/item'
52 | put:
53 | description: Updates the information for the specified line item
54 | parameters:
55 | - in: path
56 | schema:
57 | $ref: '#/components/schemas/itemId'
58 | example:
59 | title: Example Task itemId
60 | value: 1
61 | name: itemId
62 | description: Id of the line item
63 | required: true
64 | requestBody:
65 | required: true
66 | content:
67 | application/json:
68 | schema:
69 | $ref: '#/components/schemas/item'
70 | examples:
71 | Groceries:
72 | value:
73 | transaction_date: 2024-06-01
74 | amount: 123.45
75 | category: groceries
76 | Rent:
77 | value:
78 | transaction_date: 2024-06-01
79 | amount: 1500
80 | category: rent
81 | responses:
82 | '200':
83 | description: Successful Operation
84 | content:
85 | application/json:
86 | schema:
87 | $ref: '#/components/schemas/item'
88 | delete:
89 | description: Removes the specified line item
90 | parameters:
91 | - in: path
92 | schema:
93 | $ref: '#/components/schemas/itemId'
94 | name: itemId
95 | description: Id of the line item
96 | required: true
97 | responses:
98 | '200':
99 | description: Successful Operation
100 | content:
101 | application/json:
102 | schema:
103 | type: object
104 | components:
105 | schemas:
106 | item:
107 | type: object
108 | required:
109 | - transaction_date
110 | - amount
111 | - category
112 | properties:
113 | transaction_date:
114 | type: string
115 | format: date
116 | amount:
117 | type: integer
118 | category:
119 | type: string
120 | itemId:
121 | type: integer
122 | minimum: 1
123 | items:
124 | type: array
125 | items:
126 | $ref: '#/components/schemas/item'
127 |
--------------------------------------------------------------------------------
/Chapter14/blns.base64.json:
--------------------------------------------------------------------------------
1 | [
2 | {"naughtyString": ""},
3 | {"naughtyString": "dW5kZWZpbmVk"},
4 | {"naughtyString": "dW5kZWY="},
5 | {"naughtyString": "bnVsbA=="},
6 | {"naughtyString": "TlVMTA=="},
7 | {"naughtyString": "KG51bGwp"},
8 | {"naughtyString": "bmls"},
9 | {"naughtyString": "TklM"},
10 | {"naughtyString": "dHJ1ZQ=="},
11 | {"naughtyString": "ZmFsc2U="},
12 | {"naughtyString": "VHJ1ZQ=="},
13 | {"naughtyString": "RmFsc2U="},
14 | {"naughtyString": "VFJVRQ=="},
15 | {"naughtyString": "RkFMU0U="},
16 | {"naughtyString": "Tm9uZQ=="},
17 | {"naughtyString": "aGFzT3duUHJvcGVydHk="},
18 | {"naughtyString": "XA=="},
19 | {"naughtyString": "MA=="},
20 | {"naughtyString": "MQ=="},
21 | {"naughtyString": "MS4wMA=="},
22 | {"naughtyString": "JDEuMDA="},
23 | {"naughtyString": "MS8y"},
24 | {"naughtyString": "MUUy"},
25 | {"naughtyString": "MUUwMg=="},
26 | {"naughtyString": "MUUrMDI="},
27 | {"naughtyString": "LTE="},
28 | {"naughtyString": "LTEuMDA="},
29 | {"naughtyString": "LSQxLjAw"},
30 | {"naughtyString": "LTEvMg=="},
31 | {"naughtyString": "LTFFMg=="},
32 | {"naughtyString": "LTFFMDI="},
33 | {"naughtyString": "LTFFKzAy"},
34 | {"naughtyString": "MS8w"},
35 | {"naughtyString": "MC8w"},
36 | {"naughtyString": "LTIxNDc0ODM2NDgvLTE="},
37 | {"naughtyString": "LTkyMjMzNzIwMzY4NTQ3NzU4MDgvLTE="},
38 | {"naughtyString": "LTA="},
39 | {"naughtyString": "LTAuMA=="},
40 | {"naughtyString": "KzA="},
41 | {"naughtyString": "KzAuMA=="},
42 | {"naughtyString": "MC4wMA=="},
43 | {"naughtyString": "MC4uMA=="},
44 | {"naughtyString": "Lg=="},
45 | {"naughtyString": "MC4wLjA="},
46 | {"naughtyString": "MCwwMA=="},
47 | {"naughtyString": "MCwsMA=="},
48 | {"naughtyString": "LA=="},
49 | {"naughtyString": "MCwwLDA="},
50 | {"naughtyString": "MC4wLzA="},
51 | {"naughtyString": "MS4wLzAuMA=="},
52 | {"naughtyString": "MC4wLzAuMA=="},
53 | {"naughtyString": "MSwwLzAsMA=="},
54 | {"naughtyString": "MCwwLzAsMA=="},
55 | {"naughtyString": "LS0x"},
56 | {"naughtyString": "LQ=="},
57 | {"naughtyString": "LS4="},
58 | {"naughtyString": "LSw="},
59 | {"naughtyString": "OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5"},
60 | {"naughtyString": "OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5"},
61 | {"naughtyString": "TmFO"},
62 | {"naughtyString": "SW5maW5pdHk="},
63 | {"naughtyString": "LUluZmluaXR5"},
64 | {"naughtyString": "SU5G"},
65 | {"naughtyString": "MSNJTkY="},
66 | {"naughtyString": "LTEjSU5E"},
67 | {"naughtyString": "MSNRTkFO"},
68 | {"naughtyString": "MSNTTkFO"},
69 | {"naughtyString": "MSNJTkQ="},
70 | {"naughtyString": "MHgw"},
71 | {"naughtyString": "MHhmZmZmZmZmZg=="},
72 | {"naughtyString": "MHhmZmZmZmZmZmZmZmZmZmZm"},
73 | {"naughtyString": "MHhhYmFkMWRlYQ=="},
74 | {"naughtyString": "MTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5"},
75 | {"naughtyString": "MSwwMDAuMDA="},
76 | {"naughtyString": "MSAwMDAuMDA="},
77 | {"naughtyString": "MScwMDAuMDA="},
78 | {"naughtyString": "MSwwMDAsMDAwLjAw"},
79 | {"naughtyString": "MSAwMDAgMDAwLjAw"},
80 | {"naughtyString": "MScwMDAnMDAwLjAw"},
81 | {"naughtyString": "MS4wMDAsMDA="},
82 | {"naughtyString": "MSAwMDAsMDA="},
83 | {"naughtyString": "MScwMDAsMDA="},
84 | {"naughtyString": "MS4wMDAuMDAwLDAw"},
85 | {"naughtyString": "MSAwMDAgMDAwLDAw"},
86 | {"naughtyString": "MScwMDAnMDAwLDAw"},
87 | {"naughtyString": "MDEwMDA="},
88 | {"naughtyString": "MDg="},
89 | {"naughtyString": "MDk="},
90 | {"naughtyString": "Mi4yMjUwNzM4NTg1MDcyMDExZS0zMDg="},
91 | {"naughtyString": "LC4vOydbXS09"},
92 | {"naughtyString": "PD4/OiJ7fXxfKw=="},
93 | {"naughtyString": "IUAjJCVeJiooKWB+"},
94 | {"naughtyString": "AQIDBAUGBwgODxAREhMUFRYXGBkaGxwdHh9/"},
95 | {"naughtyString": "woDCgcKCwoPChMKGwofCiMKJworCi8KMwo3CjsKPwpDCkcKSwpPClMKVwpbCl8KYwpnCmsKbwpzC"},
96 | {"naughtyString": "ncKewp8="},
97 | {"naughtyString": "CwwgwoXCoOGagOKAgOKAgeKAguKAg+KAhOKAheKAhuKAh+KAiOKAieKAiuKAi+KAqOKAqeKAr+KB"},
98 | {"naughtyString": "n+OAgA=="},
99 | {"naughtyString": "wq3YgNiB2ILYg9iE2IXYnNud3I/hoI7igIvigIzigI3igI7igI/igKrigKvigKzigK3igK7igaDi"},
100 | {"naughtyString": "gaHigaLigaPigaTigabigafigajiganigarigavigaziga3iga7iga/vu7/vv7nvv7rvv7vwkYK9"},
101 | {"naughtyString": "8JuyoPCbsqHwm7Ki8Juyo/CdhbPwnYW08J2FtfCdhbbwnYW38J2FuPCdhbnwnYW686CAgfOggKDz"},
102 | {"naughtyString": "oICh86CAovOggKPzoICk86CApfOggKbzoICn86CAqPOggKnzoICq86CAq/OggKzzoICt86CArvOg"},
103 | {"naughtyString": "gK/zoICw86CAsfOggLLzoICz86CAtPOggLXzoIC286CAt/OggLjzoIC586CAuvOggLvzoIC886CA"},
104 | {"naughtyString": "vfOggL7zoIC/86CBgPOggYHzoIGC86CBg/OggYTzoIGF86CBhvOggYfzoIGI86CBifOggYrzoIGL"},
105 | {"naughtyString": "86CBjPOggY3zoIGO86CBj/OggZDzoIGR86CBkvOggZPzoIGU86CBlfOggZbzoIGX86CBmPOggZnz"},
106 | {"naughtyString": "oIGa86CBm/OggZzzoIGd86CBnvOggZ/zoIGg86CBofOggaLzoIGj86CBpPOggaXzoIGm86CBp/Og"},
107 | {"naughtyString": "gajzoIGp86CBqvOggavzoIGs86CBrfOgga7zoIGv86CBsPOggbHzoIGy86CBs/OggbTzoIG186CB"},
108 | {"naughtyString": "tvOggbfzoIG486CBufOggbrzoIG786CBvPOggb3zoIG+86CBvw=="},
109 | {"naughtyString": "77u/"},
110 | {"naughtyString": "77++"},
111 | {"naughtyString": "zqniiYjDp+KImuKIq8ucwrXiiaTiiaXDtw=="},
112 | {"naughtyString": "w6XDn+KIgsaSwqnLmeKIhsuawqzigKbDpg=="},
113 | {"naughtyString": "xZPiiJHCtMKu4oCgwqXCqMuGw7jPgOKAnOKAmA=="},
114 | {"naughtyString": "wqHihKLCo8Ki4oiewqfCtuKAosKqwrrigJPiiaA="},
115 | {"naughtyString": "wrjLm8OH4peKxLHLnMOCwq/LmMK/"},
116 | {"naughtyString": "w4XDjcOOw4/LncOTw5Tvo7/DksOaw4bimIM="},
117 | {"naughtyString": "xZLigJ7CtOKAsMuHw4HCqMuGw5jiiI/igJ3igJk="},
118 | {"naughtyString": "YOKBhOKCrOKAueKAuu+sge+sguKAocKwwrfigJrigJTCsQ=="},
119 | {"naughtyString": "4oWb4oWc4oWd4oWe"},
120 | {"naughtyString": "0IHQgtCD0ITQhdCG0IfQiNCJ0IrQi9CM0I3QjtCP0JDQkdCS0JPQlNCV0JbQl9CY0JnQmtCb0JzQ"},
121 | {"naughtyString": "ndCe0J/QoNCh0KLQo9Ck0KXQptCn0KjQqdCq0KvQrNCt0K7Qr9Cw0LHQstCz0LTQtdC20LfQuNC5"},
122 | {"naughtyString": "0LrQu9C80L3QvtC/0YDRgdGC0YPRhNGF0YbRh9GI0YnRitGL0YzRjdGO0Y8="},
123 | {"naughtyString": "2aDZodmi2aPZpNml2abZp9mo2ak="},
124 | {"naughtyString": "4oGw4oG04oG1"},
125 | {"naughtyString": "4oKA4oKB4oKC"},
126 | {"naughtyString": "4oGw4oG04oG14oKA4oKB4oKC"},
127 | {"naughtyString": "4LiU4LmJ4LmJ4LmJ4LmJ4LmJ4LmH4LmH4LmH4LmH4LmH4LmJ4LmJ4LmJ4LmJ4LmJ4LmH4LmH4LmH"},
128 | {"naughtyString": "4LmH4LmH4LmJ4LmJ4LmJ4LmJ4LmJ4LmJ4LmJ4LmJ4LmH4LmH4LmH4LmH4LmH4LmJ4LmJ4LmJ4LmJ"},
129 | {"naughtyString": "4LmJ4LmH4LmH4LmH4LmH4LmH4LmJ4LmJ4LmJ4LmJ4LmJ4LmJ4LmJ4LmJ4LmH4LmH4LmH4LmH4LmH"},
130 | {"naughtyString": "4LmJ4LmJ4LmJ4LmJ4LmJ4LmH4LmH4LmH4LmH4LmH4LmJ4LmJ4LmJ4LmJ4LmJ4LmJ4LmJ4LmJ4LmH"},
131 | {"naughtyString": "4LmH4LmH4LmH4LmH4LmJ4LmJ4LmJ4LmJ4LmJ4LmH4LmH4LmH4LmHIOC4lOC5ieC5ieC5ieC5ieC5"},
132 | {"naughtyString": "ieC5h+C5h+C5h+C5h+C5h+C5ieC5ieC5ieC5ieC5ieC5h+C5h+C5h+C5h+C5h+C5ieC5ieC5ieC5"},
133 | {"naughtyString": "ieC5ieC5ieC5ieC5ieC5h+C5h+C5h+C5h+C5h+C5ieC5ieC5ieC5ieC5ieC5h+C5h+C5h+C5h+C5"},
134 | {"naughtyString": "h+C5ieC5ieC5ieC5ieC5ieC5ieC5ieC5ieC5h+C5h+C5h+C5h+C5h+C5ieC5ieC5ieC5ieC5ieC5"},
135 | {"naughtyString": "h+C5h+C5h+C5h+C5h+C5ieC5ieC5ieC5ieC5ieC5ieC5ieC5ieC5h+C5h+C5h+C5h+C5h+C5ieC5"},
136 | {"naughtyString": "ieC5ieC5ieC5ieC5h+C5h+C5h+C5hyDguJTguYnguYnguYnguYnguYnguYfguYfguYfguYfguYfg"},
137 | {"naughtyString": "uYnguYnguYnguYnguYnguYfguYfguYfguYfguYfguYnguYnguYnguYnguYnguYnguYnguYnguYfg"},
138 | {"naughtyString": "uYfguYfguYfguYfguYnguYnguYnguYnguYnguYfguYfguYfguYfguYfguYnguYnguYnguYnguYng"},
139 | {"naughtyString": "uYnguYnguYnguYfguYfguYfguYfguYfguYnguYnguYnguYnguYnguYfguYfguYfguYfguYfguYng"},
140 | {"naughtyString": "uYnguYnguYnguYnguYnguYnguYnguYfguYfguYfguYfguYfguYnguYnguYnguYnguYnguYfguYfg"},
141 | {"naughtyString": "uYfguYc="},
142 | {"naughtyString": "Jw=="},
143 | {"naughtyString": "Ig=="},
144 | {"naughtyString": "Jyc="},
145 | {"naughtyString": "IiI="},
146 | {"naughtyString": "JyIn"},
147 | {"naughtyString": "IicnJyciJyI="},
148 | {"naughtyString": "IiciJyInJycnIg=="},
149 | {"naughtyString": "PGZvbyB2YWw94oCcYmFy4oCdIC8+"},
150 | {"naughtyString": "PGZvbyB2YWw94oCcYmFy4oCdIC8+"},
151 | {"naughtyString": "PGZvbyB2YWw94oCdYmFy4oCcIC8+"},
152 | {"naughtyString": "PGZvbyB2YWw9YGJhcicgLz4="},
153 | {"naughtyString": "55Sw5Lit44GV44KT44Gr44GC44GS44Gm5LiL44GV44GE"},
154 | {"naughtyString": "44OR44O844OG44Kj44O844G46KGM44GL44Gq44GE44GL"},
155 | {"naughtyString": "5ZKM6KO95ryi6Kqe"},
156 | {"naughtyString": "6YOo6JC95qC8"},
157 | {"naughtyString": "7IKs7ZqM6rO87ZWZ7JuQIOyWtO2VmeyXsOq1rOyGjA=="},
158 | {"naughtyString": "7LCm7LCo66W8IO2DgOqzoCDsmKgg7Y6y7Iuc66eo6rO8IOyRm+uLpOumrCDrmKDrsKnqsIHtlZg="},
159 | {"naughtyString": "56S+5pyD56eR5a246Zmi6Kqe5a2456CU56m25omA"},
160 | {"naughtyString": "7Jq4656A67CU7Yag66W0"},
161 | {"naughtyString": "8KCcjvCgnLHwoJ258KCxk/CgsbjwoLKW8KCzjw=="},
162 | {"naughtyString": "6KGo44Od44GCQem3l8WSw6nvvKLpgI3DnMOfwqrEhcOx5LiC45CA8KCAgA=="},
163 | {"naughtyString": "44O94Ly84LqI2YTNnOC6iOC8ve++iSDjg73gvLzguojZhM2c4LqI4Ly9776J"},
164 | {"naughtyString": "KO+9oeKXlSDiiIAg4peV772hKQ=="},
165 | {"naughtyString": "772A772oKMK04oiA772A4oip"},
166 | {"naughtyString": "X1/vvpsoLF8sKik="},
167 | {"naughtyString": "44O7KO+/o+KIgO+/oynjg7s6Kjo="},
168 | {"naughtyString": "776f772l4py/44O+4pWyKO+9oeKXleKAv+KXle+9oSnilbHinL/vvaXvvp8="},
169 | {"naughtyString": "LOOAguODuzoqOuODu+OCnOKAmSgg4pi7IM+JIOKYuyAp44CC44O7Oio644O744Kc4oCZ"},
170 | {"naughtyString": "KOKVr8Kw4pahwrDvvInila/vuLUg4pS74pSB4pS7KQ=="},
171 | {"naughtyString": "KO++ieCypeebiuCype+8ie++ie+7vyDilLvilIHilLs="},
172 | {"naughtyString": "4pSs4pSA4pSs44OOKCDCuiBfIMK644OOKQ=="},
173 | {"naughtyString": "KCDNocKwIM2cypYgzaHCsCk="},
174 | {"naughtyString": "8J+YjQ=="},
175 | {"naughtyString": "8J+RqfCfj70="},
176 | {"naughtyString": "8J+RqOKAjfCfprAg8J+RqPCfj7/igI3wn6awIPCfkajigI3wn6axIPCfkajwn4+/4oCN8J+msSDwn6a58J+Pv+KAjeKZgu+4jw=="},
177 | {"naughtyString": "8J+RviDwn5mHIPCfkoEg8J+ZhSDwn5mGIPCfmYsg8J+ZjiDwn5mN"},
178 | {"naughtyString": "8J+QtSDwn5mIIPCfmYkg8J+Zig=="},
179 | {"naughtyString": "4p2k77iPIPCfkpQg8J+SjCDwn5KVIPCfkp4g8J+SkyDwn5KXIPCfkpYg8J+SmCDwn5KdIPCfkp8g"},
180 | {"naughtyString": "8J+SnCDwn5KbIPCfkpog8J+SmQ=="},
181 | {"naughtyString": "4pyL8J+PvyDwn5Kq8J+PvyDwn5GQ8J+PvyDwn5mM8J+PvyDwn5GP8J+PvyDwn5mP8J+Pvw=="},
182 | {"naughtyString": "8J+aviDwn4aSIPCfhpMg8J+GlSDwn4aWIPCfhpcg8J+GmSDwn4+n"},
183 | {"naughtyString": "MO+4j+KDoyAx77iP4oOjIDLvuI/ig6MgM++4j+KDoyA077iP4oOjIDXvuI/ig6MgNu+4j+KDoyA3"},
184 | {"naughtyString": "77iP4oOjIDjvuI/ig6MgOe+4j+KDoyDwn5Sf"},
185 | {"naughtyString": "8J+HuvCfh7jwn4e38J+HuvCfh7gg8J+HpvCfh6vwn4em8J+HsvCfh7g="},
186 | {"naughtyString": "8J+HuvCfh7jwn4e38J+HuvCfh7jwn4em8J+Hq/Cfh6bwn4ey"},
187 | {"naughtyString": "8J+HuvCfh7jwn4e38J+HuvCfh7jwn4em"},
188 | {"naughtyString": "77yR77yS77yT"},
189 | {"naughtyString": "2aHZotmj"},
190 | {"naughtyString": "2KvZhSDZhtmB2LMg2LPZgti32Kog2YjYqNin2YTYqtit2K/Zitiv2IwsINis2LLZitix2KrZiiDY"},
191 | {"naughtyString": "qNin2LPYqtiu2K/Yp9mFINij2YYg2K/ZhtmILiDYpdiwINmH2YbYp9ifINin2YTYs9iq2KfYsSDZ"},
192 | {"naughtyString": "iNiq2YbYtdmK2Kgg2YPYp9mGLiDYo9mH2ZHZhCDYp9mK2LfYp9mE2YrYp9iMINio2LHZiti32KfZ"},
193 | {"naughtyString": "htmK2Kct2YHYsdmG2LPYpyDZgtivINij2K7YsC4g2LPZhNmK2YXYp9mG2Iwg2KXYqtmB2KfZgtmK"},
194 | {"naughtyString": "2Kkg2KjZitmGINmF2KcsINmK2LDZg9ixINin2YTYrdiv2YjYryDYo9mKINio2LnYrywg2YXYudin"},
195 | {"naughtyString": "2YXZhNipINio2YjZhNmG2K/Yp9iMINin2YTYpdi32YTYp9mCINi52YQg2KXZitmILg=="},
196 | {"naughtyString": "15HWsNa816jWtdeQ16nWtNeB15nXqiwg15HWuNa816jWuNeQINeQ1rHXnNa515TWtNeZ150sINeQ"},
197 | {"naughtyString": "1rXXqiDXlNa316nWuNa814HXnta315nWtNedLCDXldaw15DWtdeqINeU1rjXkNa416jWttel"},
198 | {"naughtyString": "15TWuNeZ1rDXqta415R0ZXN02KfZhNi12YHYrdin2Kog2KfZhNiq2ZHYrdmI2YQ="},
199 | {"naughtyString": "77e9"},
200 | {"naughtyString": "77e6"},
201 | {"naughtyString": "2YXZj9mG2Y7Yp9mC2Y7YtNmO2KnZjyDYs9mP2KjZj9mE2ZAg2KfZkNiz2ZLYqtmQ2K7Zktiv2Y7Y"},
202 | {"naughtyString": "p9mF2ZAg2KfZhNmE2ZHZj9i62Y7YqdmQINmB2ZDZiiDYp9mE2YbZkdmP2LjZj9mF2ZAg2KfZhNmS"},
203 | {"naughtyString": "2YLZjtin2KbZkNmF2Y7YqdmQINmI2Y7ZgdmQ2YrZhSDZitmO2K7Zj9i12ZHZjiDYp9mE2KrZkdmO"},
204 | {"naughtyString": "2LfZktio2ZDZitmC2Y7Yp9iq2Y8g2KfZhNmS2K3Yp9iz2Y/ZiNio2ZDZitmR2Y7YqdmP2Iw="},
205 | {"naughtyString": "4Zqb4ZqE4ZqT4ZqQ4ZqL4ZqS4ZqE4ZqA4ZqR4ZqE4ZqC4ZqR4ZqP4ZqF4Zqc"},
206 | {"naughtyString": "4Zqb4ZqA4ZqA4ZqA4ZqA4ZqA4ZqA4ZqA4ZqA4ZqA4ZqA4ZqA4ZqA4ZqA4ZqA4ZqA4ZqA4ZqA4ZqcCg=="},
207 | {"naughtyString": "4oCq4oCqdGVzdOKAqg=="},
208 | {"naughtyString": "4oCrdGVzdOKAqw=="},
209 | {"naughtyString": "4oCpdGVzdOKAqQ=="},
210 | {"naughtyString": "dGVzdOKBoHRlc3TigKs="},
211 | {"naughtyString": "4oGmdGVzdOKBpw=="},
212 | {"naughtyString": "4bmwzLrMusyVb82eIMy3acyyzKzNh8yqzZluzJ3Ml82VdsyfzJzMmMymzZ9vzLbMmcywzKBrw6jN"},
213 | {"naughtyString": "msyuzLrMqsy5zLHMpCDMlnTMnc2VzLPMo8y7zKrNnmjMvM2TzLLMpsyzzJjMsmXNh8yjzLDMpsys"},
214 | {"naughtyString": "zY4gzKLMvMy7zLHMmGjNms2OzZnMnMyjzLLNhWnMpsyyzKPMsMykdsy7zY1lzLrMrcyzzKrMsC1t"},
215 | {"naughtyString": "zKJpzYVuzJbMusyezLLMr8ywZMy1zLzMn82ZzKnMvMyYzLMgzJ7MpcyxzLPMrXLMm8yXzJhlzZlw"},
216 | {"naughtyString": "zaByzLzMnsy7zK3Ml2XMusygzKPNn3PMmM2HzLPNjcydzYllzYnMpcyvzJ7Mss2azKzNnMe5zKzN"},
217 | {"naughtyString": "js2OzJ/Mls2HzKR0zY3MrMykzZPMvMytzZjNhWnMqsyxbs2gZ8y0zYkgzY/Nic2FY8yszJ9ozaFh"},
218 | {"naughtyString": "zKvMu8yvzZhvzKvMn8yWzY3MmcydzYlzzJfMpsyyLsyozLnNiMyj"},
219 | {"naughtyString": "zKHNk8yezYVJzJfMmMymzZ1uzYfNh82ZdsyuzKtva8yyzKvMmc2IacyWzZnMrcy5zKDMnm7Mocy7"},
220 | {"naughtyString": "zK7Mo8y6Z8yyzYjNmcytzZnMrM2OIMywdM2UzKZozJ7MsmXMosykIM2NzKzMss2WZsy0zJjNlcyj"},
221 | {"naughtyString": "w6jNluG6ucylzKlszZbNlM2aac2TzZrMps2gbs2WzY3Ml82TzLPMrmfNjSDMqG/NmsyqzaFmzJjM"},
222 | {"naughtyString": "o8ysIMyWzJjNlsyfzZnMrmPSic2UzKvNls2TzYfNls2FaMy1zKTMo82azZTDocyXzLzNlc2Fb8y8"},
223 | {"naughtyString": "zKPMpXPMsc2IzLrMlsymzLvNoi7Mm8yWzJ7MoMyrzLA="},
224 | {"naughtyString": "zJfMus2WzLnMr82T4bmuzKTNjcylzYfNiGjMssyBZc2PzZPMvMyXzJnMvMyjzZQgzYfMnMyxzKDN"},
225 | {"naughtyString": "k82NzYVOzZXNoGXMl8yxesyYzJ3MnMy6zZlwzKTMusy5zY3Mr82aZcygzLvMoM2ccsyozKTNjcy6"},
226 | {"naughtyString": "zJbNlMyWzJZkzKDMn8ytzKzMnc2facymzZbMqc2TzZTMpGHMoMyXzKzNicyZbs2azZwgzLvMnsyw"},
227 | {"naughtyString": "zZrNhWjMtc2JacyzzJ52zKLNh+G4mc2OzZ8t0onMrcypzLzNlG3MpMytzKtpzZXNh8ydzKZuzJfN"},
228 | {"naughtyString": "meG4jcyfIMyvzLLNlc2ex6vMn8yvzLDMss2ZzLvMnWYgzKrMsMywzJfMlsytzJjNmGPMps2NzLLM"},
229 | {"naughtyString": "ns2NzKnMmeG4pc2aYcyuzY7Mn8yZzZzGocypzLnNjnPMpC7MncydINKJWsyhzJbMnM2WzLDMo82J"},
230 | {"naughtyString": "zJxhzZbMsM2ZzKzNoWzMssyrzLPNjcypZ8yhzJ/MvMyxzZrMnsyszYVvzJfNnC7Mnw=="},
231 | {"naughtyString": "zKZIzKzMpMyXzKTNnWXNnCDMnMylzJ3Mu82NzJ/MgXfMlWjMlsyvzZNvzJ3NmcyWzY7MscyuINKJ"},
232 | {"naughtyString": "zLrMmcyezJ/NiFfMt8y8zK1hzLrMqs2NxK/NiM2VzK3NmcyvzJx0zLbMvMyuc8yYzZnNlsyVIMyg"},
233 | {"naughtyString": "zKvMoELMu82NzZnNicyzzYVlzLVozLXMrM2HzKvNmWnMuc2TzLPMs8yuzY7Mq8yVbs2fZMy0zKrM"},
234 | {"naughtyString": "nMyWIMywzYnMqc2HzZnMss2ezYVUzZbMvM2TzKrNomjNj82TzK7Mu2XMrMydzJ/NhSDMpMy5zJ1X"},
235 | {"naughtyString": "zZnMnsydzZTNh82dzYVhzY/Nk82UzLnMvMyjbMy0zZTMsMykzJ/NlOG4vcyrLs2V"},
236 | {"naughtyString": "WsyuzJ7MoM2ZzZTNheG4gMyXzJ7NiMy7zJfhuLbNmc2OzK/MucyezZNHzLtPzK3Ml8yu"},
237 | {"naughtyString": "y5nJkG5i4bSJbMmQIMmQdcaDyZDJryDHncm5b2xvcCDKh8edIMedyblvccmQbCDKh24gyod1bnDh"},
238 | {"naughtyString": "tIlw4bSJyZR14bSJIMm5b2TJr8edyocgcG/Jr3Nu4bSJx50gb3AgcMedcyAnyofhtIlsx50gxoN1"},
239 | {"naughtyString": "4bSJyZRz4bSJZOG0iXDJkCDJuW7Kh8edyofJlMedc3VvyZQgJ8qHx53Jr8mQIMqH4bSJcyDJuW9s"},
240 | {"naughtyString": "b3Agya9uc2ThtIkgya/Hncm5b8ul"},
241 | {"naughtyString": "MDDLmcaWJC0="},
242 | {"naughtyString": "77y0772I772FIO+9ke+9le+9ie+9g++9iyDvvYLvvZLvvY/vvZfvvY4g772G772P772YIO+9iu+9"},
243 | {"naughtyString": "le+9je+9kO+9kyDvvY/vvZbvvYXvvZIg772U772I772FIO+9jO+9ge+9mu+9mSDvvYTvvY/vvYc="},
244 | {"naughtyString": "8J2Qk/CdkKHwnZCeIPCdkKrwnZCu8J2QovCdkJzwnZCkIPCdkJvwnZCr8J2QqPCdkLDwnZCnIPCd"},
245 | {"naughtyString": "kJ/wnZCo8J2QsSDwnZCj8J2QrvCdkKbwnZCp8J2QrCDwnZCo8J2Qr/CdkJ7wnZCrIPCdkK3wnZCh"},
246 | {"naughtyString": "8J2QniDwnZCl8J2QmvCdkLPwnZCyIPCdkJ3wnZCo8J2QoA=="},
247 | {"naughtyString": "8J2Vv/Cdlo3wnZaKIPCdlpbwnZaa8J2WjvCdlojwnZaQIPCdlofwnZaX8J2WlPCdlpzwnZaTIPCd"},
248 | {"naughtyString": "lovwnZaU8J2WnSDwnZaP8J2WmvCdlpLwnZaV8J2WmCDwnZaU8J2Wm/CdlorwnZaXIPCdlpnwnZaN"},
249 | {"naughtyString": "8J2WiiDwnZaR8J2WhvCdlp/wnZaeIPCdlonwnZaU8J2WjA=="},
250 | {"naughtyString": "8J2Ru/CdkonwnZKGIPCdkpLwnZKW8J2SivCdkoTwnZKMIPCdkoPwnZKT8J2SkPCdkpjwnZKPIPCd"},
251 | {"naughtyString": "kofwnZKQ8J2SmSDwnZKL8J2SlvCdko7wnZKR8J2SlCDwnZKQ8J2Sl/CdkobwnZKTIPCdkpXwnZKJ"},
252 | {"naughtyString": "8J2ShiDwnZKN8J2SgvCdkpvwnZKaIPCdkoXwnZKQ8J2SiA=="},
253 | {"naughtyString": "8J2To/Cdk7HwnZOuIPCdk7rwnZO+8J2TsvCdk6zwnZO0IPCdk6vwnZO78J2TuPCdlIDwnZO3IPCd"},
254 | {"naughtyString": "k6/wnZO48J2UgSDwnZOz8J2TvvCdk7bwnZO58J2TvCDwnZO48J2Tv/Cdk67wnZO7IPCdk73wnZOx"},
255 | {"naughtyString": "8J2TriDwnZO18J2TqvCdlIPwnZSCIPCdk63wnZO48J2TsA=="},
256 | {"naughtyString": "8J2Vi/CdlZnwnZWWIPCdlaLwnZWm8J2VmvCdlZTwnZWcIPCdlZPwnZWj8J2VoPCdlajwnZWfIPCd"},
257 | {"naughtyString": "lZfwnZWg8J2VqSDwnZWb8J2VpvCdlZ7wnZWh8J2VpCDwnZWg8J2Vp/CdlZbwnZWjIPCdlaXwnZWZ"},
258 | {"naughtyString": "8J2VliDwnZWd8J2VkvCdlavwnZWqIPCdlZXwnZWg8J2VmA=="},
259 | {"naughtyString": "8J2ag/CdmpHwnZqOIPCdmprwnZqe8J2akvCdmozwnZqUIPCdmovwnZqb8J2amPCdmqDwnZqXIPCd"},
260 | {"naughtyString": "mo/wnZqY8J2aoSDwnZqT8J2anvCdmpbwnZqZ8J2anCDwnZqY8J2an/Cdmo7wnZqbIPCdmp3wnZqR"},
261 | {"naughtyString": "8J2ajiDwnZqV8J2aivCdmqPwnZqiIPCdmo3wnZqY8J2akA=="},
262 | {"naughtyString": "4pKv4pKj4pKgIOKSrOKSsOKSpOKSnuKSpiDikp3ikq3ikqrikrLikqkg4pKh4pKq4pKzIOKSpeKS"},
263 | {"naughtyString": "sOKSqOKSq+KSriDikqrikrHikqDikq0g4pKv4pKj4pKgIOKSp+KSnOKSteKStCDikp/ikqrikqI="},
264 | {"naughtyString": "PHNjcmlwdD5hbGVydCgxMjMpPC9zY3JpcHQ+"},
265 | {"naughtyString": "Jmx0O3NjcmlwdCZndDthbGVydCgmIzM5OzEyMyYjMzk7KTsmbHQ7L3NjcmlwdCZndDs="},
266 | {"naughtyString": "PGltZyBzcmM9eCBvbmVycm9yPWFsZXJ0KDEyMykgLz4="},
267 | {"naughtyString": "PHN2Zz48c2NyaXB0PjEyMzwxPmFsZXJ0KDEyMyk8L3NjcmlwdD4="},
268 | {"naughtyString": "Ij48c2NyaXB0PmFsZXJ0KDEyMyk8L3NjcmlwdD4="},
269 | {"naughtyString": "Jz48c2NyaXB0PmFsZXJ0KDEyMyk8L3NjcmlwdD4="},
270 | {"naughtyString": "PjxzY3JpcHQ+YWxlcnQoMTIzKTwvc2NyaXB0Pg=="},
271 | {"naughtyString": "PC9zY3JpcHQ+PHNjcmlwdD5hbGVydCgxMjMpPC9zY3JpcHQ+"},
272 | {"naughtyString": "PCAvIHNjcmlwdCA+PCBzY3JpcHQgPmFsZXJ0KDEyMyk8IC8gc2NyaXB0ID4="},
273 | {"naughtyString": "b25mb2N1cz1KYVZhU0NyaXB0OmFsZXJ0KDEyMykgYXV0b2ZvY3Vz"},
274 | {"naughtyString": "IiBvbmZvY3VzPUphVmFTQ3JpcHQ6YWxlcnQoMTIzKSBhdXRvZm9jdXM="},
275 | {"naughtyString": "JyBvbmZvY3VzPUphVmFTQ3JpcHQ6YWxlcnQoMTIzKSBhdXRvZm9jdXM="},
276 | {"naughtyString": "77ycc2NyaXB077yeYWxlcnQoMTIzKe+8nC9zY3JpcHTvvJ4="},
277 | {"naughtyString": "PHNjPHNjcmlwdD5yaXB0PmFsZXJ0KDEyMyk8L3NjPC9zY3JpcHQ+cmlwdD4="},
278 | {"naughtyString": "LS0+PHNjcmlwdD5hbGVydCgxMjMpPC9zY3JpcHQ+"},
279 | {"naughtyString": "IjthbGVydCgxMjMpO3Q9Ig=="},
280 | {"naughtyString": "JzthbGVydCgxMjMpO3Q9Jw=="},
281 | {"naughtyString": "SmF2YVNDcmlwdDphbGVydCgxMjMp"},
282 | {"naughtyString": "O2FsZXJ0KDEyMyk7"},
283 | {"naughtyString": "c3JjPUphVmFTQ3JpcHQ6cHJvbXB0KDEzMik="},
284 | {"naughtyString": "Ij48c2NyaXB0PmFsZXJ0KDEyMyk7PC9zY3JpcHQgeD0i"},
285 | {"naughtyString": "Jz48c2NyaXB0PmFsZXJ0KDEyMyk7PC9zY3JpcHQgeD0n"},
286 | {"naughtyString": "PjxzY3JpcHQ+YWxlcnQoMTIzKTs8L3NjcmlwdCB4PQ=="},
287 | {"naughtyString": "IiBhdXRvZm9jdXMgb25rZXl1cD0iamF2YXNjcmlwdDphbGVydCgxMjMp"},
288 | {"naughtyString": "JyBhdXRvZm9jdXMgb25rZXl1cD0namF2YXNjcmlwdDphbGVydCgxMjMp"},
289 | {"naughtyString": "PHNjcmlwdHgyMHR5cGU9InRleHQvamF2YXNjcmlwdCI+amF2YXNjcmlwdDphbGVydCgxKTs8L3Nj"},
290 | {"naughtyString": "cmlwdD4="},
291 | {"naughtyString": "PHNjcmlwdHgzRXR5cGU9InRleHQvamF2YXNjcmlwdCI+amF2YXNjcmlwdDphbGVydCgxKTs8L3Nj"},
292 | {"naughtyString": "cmlwdD4="},
293 | {"naughtyString": "PHNjcmlwdHgwRHR5cGU9InRleHQvamF2YXNjcmlwdCI+amF2YXNjcmlwdDphbGVydCgxKTs8L3Nj"},
294 | {"naughtyString": "cmlwdD4="},
295 | {"naughtyString": "PHNjcmlwdHgwOXR5cGU9InRleHQvamF2YXNjcmlwdCI+amF2YXNjcmlwdDphbGVydCgxKTs8L3Nj"},
296 | {"naughtyString": "cmlwdD4="},
297 | {"naughtyString": "PHNjcmlwdHgwQ3R5cGU9InRleHQvamF2YXNjcmlwdCI+amF2YXNjcmlwdDphbGVydCgxKTs8L3Nj"},
298 | {"naughtyString": "cmlwdD4="},
299 | {"naughtyString": "PHNjcmlwdHgyRnR5cGU9InRleHQvamF2YXNjcmlwdCI+amF2YXNjcmlwdDphbGVydCgxKTs8L3Nj"},
300 | {"naughtyString": "cmlwdD4="},
301 | {"naughtyString": "PHNjcmlwdHgwQXR5cGU9InRleHQvamF2YXNjcmlwdCI+amF2YXNjcmlwdDphbGVydCgxKTs8L3Nj"},
302 | {"naughtyString": "cmlwdD4="},
303 | {"naughtyString": "J2AiPjx4M0NzY3JpcHQ+amF2YXNjcmlwdDphbGVydCgxKTwvc2NyaXB0Pg=="},
304 | {"naughtyString": "J2AiPjx4MDBzY3JpcHQ+amF2YXNjcmlwdDphbGVydCgxKTwvc2NyaXB0Pg=="},
305 | {"naughtyString": "QUJDPGRpdiBzdHlsZT0ieHgzQWV4cHJlc3Npb24oamF2YXNjcmlwdDphbGVydCgxKSI+REVG"},
306 | {"naughtyString": "QUJDPGRpdiBzdHlsZT0ieDpleHByZXNzaW9ueDVDKGphdmFzY3JpcHQ6YWxlcnQoMSkiPkRFRg=="},
307 | {"naughtyString": "QUJDPGRpdiBzdHlsZT0ieDpleHByZXNzaW9ueDAwKGphdmFzY3JpcHQ6YWxlcnQoMSkiPkRFRg=="},
308 | {"naughtyString": "QUJDPGRpdiBzdHlsZT0ieDpleHB4MDByZXNzaW9uKGphdmFzY3JpcHQ6YWxlcnQoMSkiPkRFRg=="},
309 | {"naughtyString": "QUJDPGRpdiBzdHlsZT0ieDpleHB4NUNyZXNzaW9uKGphdmFzY3JpcHQ6YWxlcnQoMSkiPkRFRg=="},
310 | {"naughtyString": "QUJDPGRpdiBzdHlsZT0ieDp4MEFleHByZXNzaW9uKGphdmFzY3JpcHQ6YWxlcnQoMSkiPkRFRg=="},
311 | {"naughtyString": "QUJDPGRpdiBzdHlsZT0ieDp4MDlleHByZXNzaW9uKGphdmFzY3JpcHQ6YWxlcnQoMSkiPkRFRg=="},
312 | {"naughtyString": "QUJDPGRpdiBzdHlsZT0ieDp4RTN4ODB4ODBleHByZXNzaW9uKGphdmFzY3JpcHQ6YWxlcnQoMSki"},
313 | {"naughtyString": "PkRFRg=="},
314 | {"naughtyString": "QUJDPGRpdiBzdHlsZT0ieDp4RTJ4ODB4ODRleHByZXNzaW9uKGphdmFzY3JpcHQ6YWxlcnQoMSki"},
315 | {"naughtyString": "PkRFRg=="},
316 | {"naughtyString": "QUJDPGRpdiBzdHlsZT0ieDp4QzJ4QTBleHByZXNzaW9uKGphdmFzY3JpcHQ6YWxlcnQoMSkiPkRF"},
317 | {"naughtyString": "Rg=="},
318 | {"naughtyString": "QUJDPGRpdiBzdHlsZT0ieDp4RTJ4ODB4ODBleHByZXNzaW9uKGphdmFzY3JpcHQ6YWxlcnQoMSki"},
319 | {"naughtyString": "PkRFRg=="},
320 | {"naughtyString": "QUJDPGRpdiBzdHlsZT0ieDp4RTJ4ODB4OEFleHByZXNzaW9uKGphdmFzY3JpcHQ6YWxlcnQoMSki"},
321 | {"naughtyString": "PkRFRg=="},
322 | {"naughtyString": "QUJDPGRpdiBzdHlsZT0ieDp4MERleHByZXNzaW9uKGphdmFzY3JpcHQ6YWxlcnQoMSkiPkRFRg=="},
323 | {"naughtyString": "QUJDPGRpdiBzdHlsZT0ieDp4MENleHByZXNzaW9uKGphdmFzY3JpcHQ6YWxlcnQoMSkiPkRFRg=="},
324 | {"naughtyString": "QUJDPGRpdiBzdHlsZT0ieDp4RTJ4ODB4ODdleHByZXNzaW9uKGphdmFzY3JpcHQ6YWxlcnQoMSki"},
325 | {"naughtyString": "PkRFRg=="},
326 | {"naughtyString": "QUJDPGRpdiBzdHlsZT0ieDp4RUZ4QkJ4QkZleHByZXNzaW9uKGphdmFzY3JpcHQ6YWxlcnQoMSki"},
327 | {"naughtyString": "PkRFRg=="},
328 | {"naughtyString": "QUJDPGRpdiBzdHlsZT0ieDp4MjBleHByZXNzaW9uKGphdmFzY3JpcHQ6YWxlcnQoMSkiPkRFRg=="},
329 | {"naughtyString": "QUJDPGRpdiBzdHlsZT0ieDp4RTJ4ODB4ODhleHByZXNzaW9uKGphdmFzY3JpcHQ6YWxlcnQoMSki"},
330 | {"naughtyString": "PkRFRg=="},
331 | {"naughtyString": "QUJDPGRpdiBzdHlsZT0ieDp4MDBleHByZXNzaW9uKGphdmFzY3JpcHQ6YWxlcnQoMSkiPkRFRg=="},
332 | {"naughtyString": "QUJDPGRpdiBzdHlsZT0ieDp4RTJ4ODB4OEJleHByZXNzaW9uKGphdmFzY3JpcHQ6YWxlcnQoMSki"},
333 | {"naughtyString": "PkRFRg=="},
334 | {"naughtyString": "QUJDPGRpdiBzdHlsZT0ieDp4RTJ4ODB4ODZleHByZXNzaW9uKGphdmFzY3JpcHQ6YWxlcnQoMSki"},
335 | {"naughtyString": "PkRFRg=="},
336 | {"naughtyString": "QUJDPGRpdiBzdHlsZT0ieDp4RTJ4ODB4ODVleHByZXNzaW9uKGphdmFzY3JpcHQ6YWxlcnQoMSki"},
337 | {"naughtyString": "PkRFRg=="},
338 | {"naughtyString": "QUJDPGRpdiBzdHlsZT0ieDp4RTJ4ODB4ODJleHByZXNzaW9uKGphdmFzY3JpcHQ6YWxlcnQoMSki"},
339 | {"naughtyString": "PkRFRg=="},
340 | {"naughtyString": "QUJDPGRpdiBzdHlsZT0ieDp4MEJleHByZXNzaW9uKGphdmFzY3JpcHQ6YWxlcnQoMSkiPkRFRg=="},
341 | {"naughtyString": "QUJDPGRpdiBzdHlsZT0ieDp4RTJ4ODB4ODFleHByZXNzaW9uKGphdmFzY3JpcHQ6YWxlcnQoMSki"},
342 | {"naughtyString": "PkRFRg=="},
343 | {"naughtyString": "QUJDPGRpdiBzdHlsZT0ieDp4RTJ4ODB4ODNleHByZXNzaW9uKGphdmFzY3JpcHQ6YWxlcnQoMSki"},
344 | {"naughtyString": "PkRFRg=="},
345 | {"naughtyString": "QUJDPGRpdiBzdHlsZT0ieDp4RTJ4ODB4ODlleHByZXNzaW9uKGphdmFzY3JpcHQ6YWxlcnQoMSki"},
346 | {"naughtyString": "PkRFRg=="},
347 | {"naughtyString": "PGEgaHJlZj0ieDBCamF2YXNjcmlwdDpqYXZhc2NyaXB0OmFsZXJ0KDEpIiBpZD0iZnV6emVsZW1l"},
348 | {"naughtyString": "bnQxIj50ZXN0PC9hPg=="},
349 | {"naughtyString": "PGEgaHJlZj0ieDBGamF2YXNjcmlwdDpqYXZhc2NyaXB0OmFsZXJ0KDEpIiBpZD0iZnV6emVsZW1l"},
350 | {"naughtyString": "bnQxIj50ZXN0PC9hPg=="},
351 | {"naughtyString": "PGEgaHJlZj0ieEMyeEEwamF2YXNjcmlwdDpqYXZhc2NyaXB0OmFsZXJ0KDEpIiBpZD0iZnV6emVs"},
352 | {"naughtyString": "ZW1lbnQxIj50ZXN0PC9hPg=="},
353 | {"naughtyString": "PGEgaHJlZj0ieDA1amF2YXNjcmlwdDpqYXZhc2NyaXB0OmFsZXJ0KDEpIiBpZD0iZnV6emVsZW1l"},
354 | {"naughtyString": "bnQxIj50ZXN0PC9hPg=="},
355 | {"naughtyString": "PGEgaHJlZj0ieEUxeEEweDhFamF2YXNjcmlwdDpqYXZhc2NyaXB0OmFsZXJ0KDEpIiBpZD0iZnV6"},
356 | {"naughtyString": "emVsZW1lbnQxIj50ZXN0PC9hPg=="},
357 | {"naughtyString": "PGEgaHJlZj0ieDE4amF2YXNjcmlwdDpqYXZhc2NyaXB0OmFsZXJ0KDEpIiBpZD0iZnV6emVsZW1l"},
358 | {"naughtyString": "bnQxIj50ZXN0PC9hPg=="},
359 | {"naughtyString": "PGEgaHJlZj0ieDExamF2YXNjcmlwdDpqYXZhc2NyaXB0OmFsZXJ0KDEpIiBpZD0iZnV6emVsZW1l"},
360 | {"naughtyString": "bnQxIj50ZXN0PC9hPg=="},
361 | {"naughtyString": "PGEgaHJlZj0ieEUyeDgweDg4amF2YXNjcmlwdDpqYXZhc2NyaXB0OmFsZXJ0KDEpIiBpZD0iZnV6"},
362 | {"naughtyString": "emVsZW1lbnQxIj50ZXN0PC9hPg=="},
363 | {"naughtyString": "PGEgaHJlZj0ieEUyeDgweDg5amF2YXNjcmlwdDpqYXZhc2NyaXB0OmFsZXJ0KDEpIiBpZD0iZnV6"},
364 | {"naughtyString": "emVsZW1lbnQxIj50ZXN0PC9hPg=="},
365 | {"naughtyString": "PGEgaHJlZj0ieEUyeDgweDgwamF2YXNjcmlwdDpqYXZhc2NyaXB0OmFsZXJ0KDEpIiBpZD0iZnV6"},
366 | {"naughtyString": "emVsZW1lbnQxIj50ZXN0PC9hPg=="},
367 | {"naughtyString": "PGEgaHJlZj0ieDE3amF2YXNjcmlwdDpqYXZhc2NyaXB0OmFsZXJ0KDEpIiBpZD0iZnV6emVsZW1l"},
368 | {"naughtyString": "bnQxIj50ZXN0PC9hPg=="},
369 | {"naughtyString": "PGEgaHJlZj0ieDAzamF2YXNjcmlwdDpqYXZhc2NyaXB0OmFsZXJ0KDEpIiBpZD0iZnV6emVsZW1l"},
370 | {"naughtyString": "bnQxIj50ZXN0PC9hPg=="},
371 | {"naughtyString": "PGEgaHJlZj0ieDBFamF2YXNjcmlwdDpqYXZhc2NyaXB0OmFsZXJ0KDEpIiBpZD0iZnV6emVsZW1l"},
372 | {"naughtyString": "bnQxIj50ZXN0PC9hPg=="},
373 | {"naughtyString": "PGEgaHJlZj0ieDFBamF2YXNjcmlwdDpqYXZhc2NyaXB0OmFsZXJ0KDEpIiBpZD0iZnV6emVsZW1l"},
374 | {"naughtyString": "bnQxIj50ZXN0PC9hPg=="},
375 | {"naughtyString": "PGEgaHJlZj0ieDAwamF2YXNjcmlwdDpqYXZhc2NyaXB0OmFsZXJ0KDEpIiBpZD0iZnV6emVsZW1l"},
376 | {"naughtyString": "bnQxIj50ZXN0PC9hPg=="},
377 | {"naughtyString": "PGEgaHJlZj0ieDEwamF2YXNjcmlwdDpqYXZhc2NyaXB0OmFsZXJ0KDEpIiBpZD0iZnV6emVsZW1l"},
378 | {"naughtyString": "bnQxIj50ZXN0PC9hPg=="},
379 | {"naughtyString": "PGEgaHJlZj0ieEUyeDgweDgyamF2YXNjcmlwdDpqYXZhc2NyaXB0OmFsZXJ0KDEpIiBpZD0iZnV6"},
380 | {"naughtyString": "emVsZW1lbnQxIj50ZXN0PC9hPg=="},
381 | {"naughtyString": "PGEgaHJlZj0ieDIwamF2YXNjcmlwdDpqYXZhc2NyaXB0OmFsZXJ0KDEpIiBpZD0iZnV6emVsZW1l"},
382 | {"naughtyString": "bnQxIj50ZXN0PC9hPg=="},
383 | {"naughtyString": "PGEgaHJlZj0ieDEzamF2YXNjcmlwdDpqYXZhc2NyaXB0OmFsZXJ0KDEpIiBpZD0iZnV6emVsZW1l"},
384 | {"naughtyString": "bnQxIj50ZXN0PC9hPg=="},
385 | {"naughtyString": "PGEgaHJlZj0ieDA5amF2YXNjcmlwdDpqYXZhc2NyaXB0OmFsZXJ0KDEpIiBpZD0iZnV6emVsZW1l"},
386 | {"naughtyString": "bnQxIj50ZXN0PC9hPg=="},
387 | {"naughtyString": "PGEgaHJlZj0ieEUyeDgweDhBamF2YXNjcmlwdDpqYXZhc2NyaXB0OmFsZXJ0KDEpIiBpZD0iZnV6"},
388 | {"naughtyString": "emVsZW1lbnQxIj50ZXN0PC9hPg=="},
389 | {"naughtyString": "PGEgaHJlZj0ieDE0amF2YXNjcmlwdDpqYXZhc2NyaXB0OmFsZXJ0KDEpIiBpZD0iZnV6emVsZW1l"},
390 | {"naughtyString": "bnQxIj50ZXN0PC9hPg=="},
391 | {"naughtyString": "PGEgaHJlZj0ieDE5amF2YXNjcmlwdDpqYXZhc2NyaXB0OmFsZXJ0KDEpIiBpZD0iZnV6emVsZW1l"},
392 | {"naughtyString": "bnQxIj50ZXN0PC9hPg=="},
393 | {"naughtyString": "PGEgaHJlZj0ieEUyeDgweEFGamF2YXNjcmlwdDpqYXZhc2NyaXB0OmFsZXJ0KDEpIiBpZD0iZnV6"},
394 | {"naughtyString": "emVsZW1lbnQxIj50ZXN0PC9hPg=="},
395 | {"naughtyString": "PGEgaHJlZj0ieDFGamF2YXNjcmlwdDpqYXZhc2NyaXB0OmFsZXJ0KDEpIiBpZD0iZnV6emVsZW1l"},
396 | {"naughtyString": "bnQxIj50ZXN0PC9hPg=="},
397 | {"naughtyString": "PGEgaHJlZj0ieEUyeDgweDgxamF2YXNjcmlwdDpqYXZhc2NyaXB0OmFsZXJ0KDEpIiBpZD0iZnV6"},
398 | {"naughtyString": "emVsZW1lbnQxIj50ZXN0PC9hPg=="},
399 | {"naughtyString": "PGEgaHJlZj0ieDFEamF2YXNjcmlwdDpqYXZhc2NyaXB0OmFsZXJ0KDEpIiBpZD0iZnV6emVsZW1l"},
400 | {"naughtyString": "bnQxIj50ZXN0PC9hPg=="},
401 | {"naughtyString": "PGEgaHJlZj0ieEUyeDgweDg3amF2YXNjcmlwdDpqYXZhc2NyaXB0OmFsZXJ0KDEpIiBpZD0iZnV6"},
402 | {"naughtyString": "emVsZW1lbnQxIj50ZXN0PC9hPg=="},
403 | {"naughtyString": "PGEgaHJlZj0ieDA3amF2YXNjcmlwdDpqYXZhc2NyaXB0OmFsZXJ0KDEpIiBpZD0iZnV6emVsZW1l"},
404 | {"naughtyString": "bnQxIj50ZXN0PC9hPg=="},
405 | {"naughtyString": "PGEgaHJlZj0ieEUxeDlBeDgwamF2YXNjcmlwdDpqYXZhc2NyaXB0OmFsZXJ0KDEpIiBpZD0iZnV6"},
406 | {"naughtyString": "emVsZW1lbnQxIj50ZXN0PC9hPg=="},
407 | {"naughtyString": "PGEgaHJlZj0ieEUyeDgweDgzamF2YXNjcmlwdDpqYXZhc2NyaXB0OmFsZXJ0KDEpIiBpZD0iZnV6"},
408 | {"naughtyString": "emVsZW1lbnQxIj50ZXN0PC9hPg=="},
409 | {"naughtyString": "PGEgaHJlZj0ieDA0amF2YXNjcmlwdDpqYXZhc2NyaXB0OmFsZXJ0KDEpIiBpZD0iZnV6emVsZW1l"},
410 | {"naughtyString": "bnQxIj50ZXN0PC9hPg=="},
411 | {"naughtyString": "PGEgaHJlZj0ieDAxamF2YXNjcmlwdDpqYXZhc2NyaXB0OmFsZXJ0KDEpIiBpZD0iZnV6emVsZW1l"},
412 | {"naughtyString": "bnQxIj50ZXN0PC9hPg=="},
413 | {"naughtyString": "PGEgaHJlZj0ieDA4amF2YXNjcmlwdDpqYXZhc2NyaXB0OmFsZXJ0KDEpIiBpZD0iZnV6emVsZW1l"},
414 | {"naughtyString": "bnQxIj50ZXN0PC9hPg=="},
415 | {"naughtyString": "PGEgaHJlZj0ieEUyeDgweDg0amF2YXNjcmlwdDpqYXZhc2NyaXB0OmFsZXJ0KDEpIiBpZD0iZnV6"},
416 | {"naughtyString": "emVsZW1lbnQxIj50ZXN0PC9hPg=="},
417 | {"naughtyString": "PGEgaHJlZj0ieEUyeDgweDg2amF2YXNjcmlwdDpqYXZhc2NyaXB0OmFsZXJ0KDEpIiBpZD0iZnV6"},
418 | {"naughtyString": "emVsZW1lbnQxIj50ZXN0PC9hPg=="},
419 | {"naughtyString": "PGEgaHJlZj0ieEUzeDgweDgwamF2YXNjcmlwdDpqYXZhc2NyaXB0OmFsZXJ0KDEpIiBpZD0iZnV6"},
420 | {"naughtyString": "emVsZW1lbnQxIj50ZXN0PC9hPg=="},
421 | {"naughtyString": "PGEgaHJlZj0ieDEyamF2YXNjcmlwdDpqYXZhc2NyaXB0OmFsZXJ0KDEpIiBpZD0iZnV6emVsZW1l"},
422 | {"naughtyString": "bnQxIj50ZXN0PC9hPg=="},
423 | {"naughtyString": "PGEgaHJlZj0ieDBEamF2YXNjcmlwdDpqYXZhc2NyaXB0OmFsZXJ0KDEpIiBpZD0iZnV6emVsZW1l"},
424 | {"naughtyString": "bnQxIj50ZXN0PC9hPg=="},
425 | {"naughtyString": "PGEgaHJlZj0ieDBBamF2YXNjcmlwdDpqYXZhc2NyaXB0OmFsZXJ0KDEpIiBpZD0iZnV6emVsZW1l"},
426 | {"naughtyString": "bnQxIj50ZXN0PC9hPg=="},
427 | {"naughtyString": "PGEgaHJlZj0ieDBDamF2YXNjcmlwdDpqYXZhc2NyaXB0OmFsZXJ0KDEpIiBpZD0iZnV6emVsZW1l"},
428 | {"naughtyString": "bnQxIj50ZXN0PC9hPg=="},
429 | {"naughtyString": "PGEgaHJlZj0ieDE1amF2YXNjcmlwdDpqYXZhc2NyaXB0OmFsZXJ0KDEpIiBpZD0iZnV6emVsZW1l"},
430 | {"naughtyString": "bnQxIj50ZXN0PC9hPg=="},
431 | {"naughtyString": "PGEgaHJlZj0ieEUyeDgweEE4amF2YXNjcmlwdDpqYXZhc2NyaXB0OmFsZXJ0KDEpIiBpZD0iZnV6"},
432 | {"naughtyString": "emVsZW1lbnQxIj50ZXN0PC9hPg=="},
433 | {"naughtyString": "PGEgaHJlZj0ieDE2amF2YXNjcmlwdDpqYXZhc2NyaXB0OmFsZXJ0KDEpIiBpZD0iZnV6emVsZW1l"},
434 | {"naughtyString": "bnQxIj50ZXN0PC9hPg=="},
435 | {"naughtyString": "PGEgaHJlZj0ieDAyamF2YXNjcmlwdDpqYXZhc2NyaXB0OmFsZXJ0KDEpIiBpZD0iZnV6emVsZW1l"},
436 | {"naughtyString": "bnQxIj50ZXN0PC9hPg=="},
437 | {"naughtyString": "PGEgaHJlZj0ieDFCamF2YXNjcmlwdDpqYXZhc2NyaXB0OmFsZXJ0KDEpIiBpZD0iZnV6emVsZW1l"},
438 | {"naughtyString": "bnQxIj50ZXN0PC9hPg=="},
439 | {"naughtyString": "PGEgaHJlZj0ieDA2amF2YXNjcmlwdDpqYXZhc2NyaXB0OmFsZXJ0KDEpIiBpZD0iZnV6emVsZW1l"},
440 | {"naughtyString": "bnQxIj50ZXN0PC9hPg=="},
441 | {"naughtyString": "PGEgaHJlZj0ieEUyeDgweEE5amF2YXNjcmlwdDpqYXZhc2NyaXB0OmFsZXJ0KDEpIiBpZD0iZnV6"},
442 | {"naughtyString": "emVsZW1lbnQxIj50ZXN0PC9hPg=="},
443 | {"naughtyString": "PGEgaHJlZj0ieEUyeDgweDg1amF2YXNjcmlwdDpqYXZhc2NyaXB0OmFsZXJ0KDEpIiBpZD0iZnV6"},
444 | {"naughtyString": "emVsZW1lbnQxIj50ZXN0PC9hPg=="},
445 | {"naughtyString": "PGEgaHJlZj0ieDFFamF2YXNjcmlwdDpqYXZhc2NyaXB0OmFsZXJ0KDEpIiBpZD0iZnV6emVsZW1l"},
446 | {"naughtyString": "bnQxIj50ZXN0PC9hPg=="},
447 | {"naughtyString": "PGEgaHJlZj0ieEUyeDgxeDlGamF2YXNjcmlwdDpqYXZhc2NyaXB0OmFsZXJ0KDEpIiBpZD0iZnV6"},
448 | {"naughtyString": "emVsZW1lbnQxIj50ZXN0PC9hPg=="},
449 | {"naughtyString": "PGEgaHJlZj0ieDFDamF2YXNjcmlwdDpqYXZhc2NyaXB0OmFsZXJ0KDEpIiBpZD0iZnV6emVsZW1l"},
450 | {"naughtyString": "bnQxIj50ZXN0PC9hPg=="},
451 | {"naughtyString": "PGEgaHJlZj0iamF2YXNjcmlwdHgwMDpqYXZhc2NyaXB0OmFsZXJ0KDEpIiBpZD0iZnV6emVsZW1l"},
452 | {"naughtyString": "bnQxIj50ZXN0PC9hPg=="},
453 | {"naughtyString": "PGEgaHJlZj0iamF2YXNjcmlwdHgzQTpqYXZhc2NyaXB0OmFsZXJ0KDEpIiBpZD0iZnV6emVsZW1l"},
454 | {"naughtyString": "bnQxIj50ZXN0PC9hPg=="},
455 | {"naughtyString": "PGEgaHJlZj0iamF2YXNjcmlwdHgwOTpqYXZhc2NyaXB0OmFsZXJ0KDEpIiBpZD0iZnV6emVsZW1l"},
456 | {"naughtyString": "bnQxIj50ZXN0PC9hPg=="},
457 | {"naughtyString": "PGEgaHJlZj0iamF2YXNjcmlwdHgwRDpqYXZhc2NyaXB0OmFsZXJ0KDEpIiBpZD0iZnV6emVsZW1l"},
458 | {"naughtyString": "bnQxIj50ZXN0PC9hPg=="},
459 | {"naughtyString": "PGEgaHJlZj0iamF2YXNjcmlwdHgwQTpqYXZhc2NyaXB0OmFsZXJ0KDEpIiBpZD0iZnV6emVsZW1l"},
460 | {"naughtyString": "bnQxIj50ZXN0PC9hPg=="},
461 | {"naughtyString": "YCInPjxpbWcgc3JjPXh4eDp4IHgwQW9uZXJyb3I9amF2YXNjcmlwdDphbGVydCgxKT4="},
462 | {"naughtyString": "YCInPjxpbWcgc3JjPXh4eDp4IHgyMm9uZXJyb3I9amF2YXNjcmlwdDphbGVydCgxKT4="},
463 | {"naughtyString": "YCInPjxpbWcgc3JjPXh4eDp4IHgwQm9uZXJyb3I9amF2YXNjcmlwdDphbGVydCgxKT4="},
464 | {"naughtyString": "YCInPjxpbWcgc3JjPXh4eDp4IHgwRG9uZXJyb3I9amF2YXNjcmlwdDphbGVydCgxKT4="},
465 | {"naughtyString": "YCInPjxpbWcgc3JjPXh4eDp4IHgyRm9uZXJyb3I9amF2YXNjcmlwdDphbGVydCgxKT4="},
466 | {"naughtyString": "YCInPjxpbWcgc3JjPXh4eDp4IHgwOW9uZXJyb3I9amF2YXNjcmlwdDphbGVydCgxKT4="},
467 | {"naughtyString": "YCInPjxpbWcgc3JjPXh4eDp4IHgwQ29uZXJyb3I9amF2YXNjcmlwdDphbGVydCgxKT4="},
468 | {"naughtyString": "YCInPjxpbWcgc3JjPXh4eDp4IHgwMG9uZXJyb3I9amF2YXNjcmlwdDphbGVydCgxKT4="},
469 | {"naughtyString": "YCInPjxpbWcgc3JjPXh4eDp4IHgyN29uZXJyb3I9amF2YXNjcmlwdDphbGVydCgxKT4="},
470 | {"naughtyString": "YCInPjxpbWcgc3JjPXh4eDp4IHgyMG9uZXJyb3I9amF2YXNjcmlwdDphbGVydCgxKT4="},
471 | {"naughtyString": "ImAnPjxzY3JpcHQ+eDNCamF2YXNjcmlwdDphbGVydCgxKTwvc2NyaXB0Pg=="},
472 | {"naughtyString": "ImAnPjxzY3JpcHQ+eDBEamF2YXNjcmlwdDphbGVydCgxKTwvc2NyaXB0Pg=="},
473 | {"naughtyString": "ImAnPjxzY3JpcHQ+eEVGeEJCeEJGamF2YXNjcmlwdDphbGVydCgxKTwvc2NyaXB0Pg=="},
474 | {"naughtyString": "ImAnPjxzY3JpcHQ+eEUyeDgweDgxamF2YXNjcmlwdDphbGVydCgxKTwvc2NyaXB0Pg=="},
475 | {"naughtyString": "ImAnPjxzY3JpcHQ+eEUyeDgweDg0amF2YXNjcmlwdDphbGVydCgxKTwvc2NyaXB0Pg=="},
476 | {"naughtyString": "ImAnPjxzY3JpcHQ+eEUzeDgweDgwamF2YXNjcmlwdDphbGVydCgxKTwvc2NyaXB0Pg=="},
477 | {"naughtyString": "ImAnPjxzY3JpcHQ+eDA5amF2YXNjcmlwdDphbGVydCgxKTwvc2NyaXB0Pg=="},
478 | {"naughtyString": "ImAnPjxzY3JpcHQ+eEUyeDgweDg5amF2YXNjcmlwdDphbGVydCgxKTwvc2NyaXB0Pg=="},
479 | {"naughtyString": "ImAnPjxzY3JpcHQ+eEUyeDgweDg1amF2YXNjcmlwdDphbGVydCgxKTwvc2NyaXB0Pg=="},
480 | {"naughtyString": "ImAnPjxzY3JpcHQ+eEUyeDgweDg4amF2YXNjcmlwdDphbGVydCgxKTwvc2NyaXB0Pg=="},
481 | {"naughtyString": "ImAnPjxzY3JpcHQ+eDAwamF2YXNjcmlwdDphbGVydCgxKTwvc2NyaXB0Pg=="},
482 | {"naughtyString": "ImAnPjxzY3JpcHQ+eEUyeDgweEE4amF2YXNjcmlwdDphbGVydCgxKTwvc2NyaXB0Pg=="},
483 | {"naughtyString": "ImAnPjxzY3JpcHQ+eEUyeDgweDhBamF2YXNjcmlwdDphbGVydCgxKTwvc2NyaXB0Pg=="},
484 | {"naughtyString": "ImAnPjxzY3JpcHQ+eEUxeDlBeDgwamF2YXNjcmlwdDphbGVydCgxKTwvc2NyaXB0Pg=="},
485 | {"naughtyString": "ImAnPjxzY3JpcHQ+eDBDamF2YXNjcmlwdDphbGVydCgxKTwvc2NyaXB0Pg=="},
486 | {"naughtyString": "ImAnPjxzY3JpcHQ+eDJCamF2YXNjcmlwdDphbGVydCgxKTwvc2NyaXB0Pg=="},
487 | {"naughtyString": "ImAnPjxzY3JpcHQ+eEYweDkweDk2eDlBamF2YXNjcmlwdDphbGVydCgxKTwvc2NyaXB0Pg=="},
488 | {"naughtyString": "ImAnPjxzY3JpcHQ+LWphdmFzY3JpcHQ6YWxlcnQoMSk8L3NjcmlwdD4="},
489 | {"naughtyString": "ImAnPjxzY3JpcHQ+eDBBamF2YXNjcmlwdDphbGVydCgxKTwvc2NyaXB0Pg=="},
490 | {"naughtyString": "ImAnPjxzY3JpcHQ+eEUyeDgweEFGamF2YXNjcmlwdDphbGVydCgxKTwvc2NyaXB0Pg=="},
491 | {"naughtyString": "ImAnPjxzY3JpcHQ+eDdFamF2YXNjcmlwdDphbGVydCgxKTwvc2NyaXB0Pg=="},
492 | {"naughtyString": "ImAnPjxzY3JpcHQ+eEUyeDgweDg3amF2YXNjcmlwdDphbGVydCgxKTwvc2NyaXB0Pg=="},
493 | {"naughtyString": "ImAnPjxzY3JpcHQ+eEUyeDgxeDlGamF2YXNjcmlwdDphbGVydCgxKTwvc2NyaXB0Pg=="},
494 | {"naughtyString": "ImAnPjxzY3JpcHQ+eEUyeDgweEE5amF2YXNjcmlwdDphbGVydCgxKTwvc2NyaXB0Pg=="},
495 | {"naughtyString": "ImAnPjxzY3JpcHQ+eEMyeDg1amF2YXNjcmlwdDphbGVydCgxKTwvc2NyaXB0Pg=="},
496 | {"naughtyString": "ImAnPjxzY3JpcHQ+eEVGeEJGeEFFamF2YXNjcmlwdDphbGVydCgxKTwvc2NyaXB0Pg=="},
497 | {"naughtyString": "ImAnPjxzY3JpcHQ+eEUyeDgweDgzamF2YXNjcmlwdDphbGVydCgxKTwvc2NyaXB0Pg=="},
498 | {"naughtyString": "ImAnPjxzY3JpcHQ+eEUyeDgweDhCamF2YXNjcmlwdDphbGVydCgxKTwvc2NyaXB0Pg=="},
499 | {"naughtyString": "ImAnPjxzY3JpcHQ+eEVGeEJGeEJFamF2YXNjcmlwdDphbGVydCgxKTwvc2NyaXB0Pg=="},
500 | {"naughtyString": "ImAnPjxzY3JpcHQ+eEUyeDgweDgwamF2YXNjcmlwdDphbGVydCgxKTwvc2NyaXB0Pg=="},
501 | {"naughtyString": "ImAnPjxzY3JpcHQ+eDIxamF2YXNjcmlwdDphbGVydCgxKTwvc2NyaXB0Pg=="},
502 | {"naughtyString": "ImAnPjxzY3JpcHQ+eEUyeDgweDgyamF2YXNjcmlwdDphbGVydCgxKTwvc2NyaXB0Pg=="},
503 | {"naughtyString": "ImAnPjxzY3JpcHQ+eEUyeDgweDg2amF2YXNjcmlwdDphbGVydCgxKTwvc2NyaXB0Pg=="},
504 | {"naughtyString": "ImAnPjxzY3JpcHQ+eEUxeEEweDhFamF2YXNjcmlwdDphbGVydCgxKTwvc2NyaXB0Pg=="},
505 | {"naughtyString": "ImAnPjxzY3JpcHQ+eDBCamF2YXNjcmlwdDphbGVydCgxKTwvc2NyaXB0Pg=="},
506 | {"naughtyString": "ImAnPjxzY3JpcHQ+eDIwamF2YXNjcmlwdDphbGVydCgxKTwvc2NyaXB0Pg=="},
507 | {"naughtyString": "ImAnPjxzY3JpcHQ+eEMyeEEwamF2YXNjcmlwdDphbGVydCgxKTwvc2NyaXB0Pg=="},
508 | {"naughtyString": "PGltZyB4MDBzcmM9eCBvbmVycm9yPSJhbGVydCgxKSI+"},
509 | {"naughtyString": "PGltZyB4NDdzcmM9eCBvbmVycm9yPSJqYXZhc2NyaXB0OmFsZXJ0KDEpIj4="},
510 | {"naughtyString": "PGltZyB4MTFzcmM9eCBvbmVycm9yPSJqYXZhc2NyaXB0OmFsZXJ0KDEpIj4="},
511 | {"naughtyString": "PGltZyB4MTJzcmM9eCBvbmVycm9yPSJqYXZhc2NyaXB0OmFsZXJ0KDEpIj4="},
512 | {"naughtyString": "PGltZ3g0N3NyYz14IG9uZXJyb3I9ImphdmFzY3JpcHQ6YWxlcnQoMSkiPg=="},
513 | {"naughtyString": "PGltZ3gxMHNyYz14IG9uZXJyb3I9ImphdmFzY3JpcHQ6YWxlcnQoMSkiPg=="},
514 | {"naughtyString": "PGltZ3gxM3NyYz14IG9uZXJyb3I9ImphdmFzY3JpcHQ6YWxlcnQoMSkiPg=="},
515 | {"naughtyString": "PGltZ3gzMnNyYz14IG9uZXJyb3I9ImphdmFzY3JpcHQ6YWxlcnQoMSkiPg=="},
516 | {"naughtyString": "PGltZ3g0N3NyYz14IG9uZXJyb3I9ImphdmFzY3JpcHQ6YWxlcnQoMSkiPg=="},
517 | {"naughtyString": "PGltZ3gxMXNyYz14IG9uZXJyb3I9ImphdmFzY3JpcHQ6YWxlcnQoMSkiPg=="},
518 | {"naughtyString": "PGltZyB4NDdzcmM9eCBvbmVycm9yPSJqYXZhc2NyaXB0OmFsZXJ0KDEpIj4="},
519 | {"naughtyString": "PGltZyB4MzRzcmM9eCBvbmVycm9yPSJqYXZhc2NyaXB0OmFsZXJ0KDEpIj4="},
520 | {"naughtyString": "PGltZyB4MzlzcmM9eCBvbmVycm9yPSJqYXZhc2NyaXB0OmFsZXJ0KDEpIj4="},
521 | {"naughtyString": "PGltZyB4MDBzcmM9eCBvbmVycm9yPSJqYXZhc2NyaXB0OmFsZXJ0KDEpIj4="},
522 | {"naughtyString": "PGltZyBzcmN4MDk9eCBvbmVycm9yPSJqYXZhc2NyaXB0OmFsZXJ0KDEpIj4="},
523 | {"naughtyString": "PGltZyBzcmN4MTA9eCBvbmVycm9yPSJqYXZhc2NyaXB0OmFsZXJ0KDEpIj4="},
524 | {"naughtyString": "PGltZyBzcmN4MTM9eCBvbmVycm9yPSJqYXZhc2NyaXB0OmFsZXJ0KDEpIj4="},
525 | {"naughtyString": "PGltZyBzcmN4MzI9eCBvbmVycm9yPSJqYXZhc2NyaXB0OmFsZXJ0KDEpIj4="},
526 | {"naughtyString": "PGltZyBzcmN4MTI9eCBvbmVycm9yPSJqYXZhc2NyaXB0OmFsZXJ0KDEpIj4="},
527 | {"naughtyString": "PGltZyBzcmN4MTE9eCBvbmVycm9yPSJqYXZhc2NyaXB0OmFsZXJ0KDEpIj4="},
528 | {"naughtyString": "PGltZyBzcmN4MDA9eCBvbmVycm9yPSJqYXZhc2NyaXB0OmFsZXJ0KDEpIj4="},
529 | {"naughtyString": "PGltZyBzcmN4NDc9eCBvbmVycm9yPSJqYXZhc2NyaXB0OmFsZXJ0KDEpIj4="},
530 | {"naughtyString": "PGltZyBzcmM9eHgwOW9uZXJyb3I9ImphdmFzY3JpcHQ6YWxlcnQoMSkiPg=="},
531 | {"naughtyString": "PGltZyBzcmM9eHgxMG9uZXJyb3I9ImphdmFzY3JpcHQ6YWxlcnQoMSkiPg=="},
532 | {"naughtyString": "PGltZyBzcmM9eHgxMW9uZXJyb3I9ImphdmFzY3JpcHQ6YWxlcnQoMSkiPg=="},
533 | {"naughtyString": "PGltZyBzcmM9eHgxMm9uZXJyb3I9ImphdmFzY3JpcHQ6YWxlcnQoMSkiPg=="},
534 | {"naughtyString": "PGltZyBzcmM9eHgxM29uZXJyb3I9ImphdmFzY3JpcHQ6YWxlcnQoMSkiPg=="},
535 | {"naughtyString": "PGltZ1thXVtiXVtjXXNyY1tkXT14W2Vdb25lcnJvcj1bZl0iYWxlcnQoMSkiPg=="},
536 | {"naughtyString": "PGltZyBzcmM9eCBvbmVycm9yPXgwOSJqYXZhc2NyaXB0OmFsZXJ0KDEpIj4="},
537 | {"naughtyString": "PGltZyBzcmM9eCBvbmVycm9yPXgxMCJqYXZhc2NyaXB0OmFsZXJ0KDEpIj4="},
538 | {"naughtyString": "PGltZyBzcmM9eCBvbmVycm9yPXgxMSJqYXZhc2NyaXB0OmFsZXJ0KDEpIj4="},
539 | {"naughtyString": "PGltZyBzcmM9eCBvbmVycm9yPXgxMiJqYXZhc2NyaXB0OmFsZXJ0KDEpIj4="},
540 | {"naughtyString": "PGltZyBzcmM9eCBvbmVycm9yPXgzMiJqYXZhc2NyaXB0OmFsZXJ0KDEpIj4="},
541 | {"naughtyString": "PGltZyBzcmM9eCBvbmVycm9yPXgwMCJqYXZhc2NyaXB0OmFsZXJ0KDEpIj4="},
542 | {"naughtyString": "PGEgaHJlZj1qYXZhJiMxJiMyJiMzJiM0JiM1JiM2JiM3JiM4JiMxMSYjMTJzY3JpcHQ6amF2YXNj"},
543 | {"naughtyString": "cmlwdDphbGVydCgxKT5YWFg8L2E+"},
544 | {"naughtyString": "PGltZyBzcmM9InhgIGA8c2NyaXB0PmphdmFzY3JpcHQ6YWxlcnQoMSk8L3NjcmlwdD4iYCBgPg=="},
545 | {"naughtyString": "PGltZyBzcmMgb25lcnJvciAvIiAnIj0gYWx0PWphdmFzY3JpcHQ6YWxlcnQoMSkvLyI+"},
546 | {"naughtyString": "PHRpdGxlIG9ucHJvcGVydHljaGFuZ2U9amF2YXNjcmlwdDphbGVydCgxKT48L3RpdGxlPjx0aXRs"},
547 | {"naughtyString": "ZSB0aXRsZT0+"},
548 | {"naughtyString": "PGEgaHJlZj1odHRwOi8vZm9vLmJhci8jeD1geT48L2E+PGltZyBhbHQ9ImA+PGltZyBzcmM9eDp4"},
549 | {"naughtyString": "IG9uZXJyb3I9amF2YXNjcmlwdDphbGVydCgxKT48L2E+Ij4="},
550 | {"naughtyString": "PCEtLVtpZl0+PHNjcmlwdD5qYXZhc2NyaXB0OmFsZXJ0KDEpPC9zY3JpcHQgLS0+"},
551 | {"naughtyString": "PCEtLVtpZjxpbWcgc3JjPXggb25lcnJvcj1qYXZhc2NyaXB0OmFsZXJ0KDEpLy9dPiAtLT4="},
552 | {"naughtyString": "PHNjcmlwdCBzcmM9Ii8lKGpzY3JpcHQpcyI+PC9zY3JpcHQ+"},
553 | {"naughtyString": "PHNjcmlwdCBzcmM9IlwlKGpzY3JpcHQpcyI+PC9zY3JpcHQ+"},
554 | {"naughtyString": "PElNRyAiIiI+PFNDUklQVD5hbGVydCgiWFNTIik8L1NDUklQVD4iPg=="},
555 | {"naughtyString": "PElNRyBTUkM9amF2YXNjcmlwdDphbGVydChTdHJpbmcuZnJvbUNoYXJDb2RlKDg4LDgzLDgzKSk+"},
556 | {"naughtyString": "PElNRyBTUkM9IyBvbm1vdXNlb3Zlcj0iYWxlcnQoJ3h4cycpIj4="},
557 | {"naughtyString": "PElNRyBTUkM9IG9ubW91c2VvdmVyPSJhbGVydCgneHhzJykiPg=="},
558 | {"naughtyString": "PElNRyBvbm1vdXNlb3Zlcj0iYWxlcnQoJ3h4cycpIj4="},
559 | {"naughtyString": "PElNRyBTUkM9JiMxMDY7JiM5NzsmIzExODsmIzk3OyYjMTE1OyYjOTk7JiMxMTQ7JiMxMDU7JiMx"},
560 | {"naughtyString": "MTI7JiMxMTY7JiM1ODsmIzk3OyYjMTA4OyYjMTAxOyYjMTE0OyYjMTE2OyYjNDA7JiMzOTsmIzg4"},
561 | {"naughtyString": "OyYjODM7JiM4MzsmIzM5OyYjNDE7Pg=="},
562 | {"naughtyString": "PElNRyBTUkM9JiMwMDAwMTA2JiMwMDAwMDk3JiMwMDAwMTE4JiMwMDAwMDk3JiMwMDAwMTE1JiMw"},
563 | {"naughtyString": "MDAwMDk5JiMwMDAwMTE0JiMwMDAwMTA1JiMwMDAwMTEyJiMwMDAwMTE2JiMwMDAwMDU4JiMwMDAw"},
564 | {"naughtyString": "MDk3JiMwMDAwMTA4JiMwMDAwMTAxJiMwMDAwMTE0JiMwMDAwMTE2JiMwMDAwMDQwJiMwMDAwMDM5"},
565 | {"naughtyString": "JiMwMDAwMDg4JiMwMDAwMDgzJiMwMDAwMDgzJiMwMDAwMDM5JiMwMDAwMDQxPg=="},
566 | {"naughtyString": "PElNRyBTUkM9JiN4NkEmI3g2MSYjeDc2JiN4NjEmI3g3MyYjeDYzJiN4NzImI3g2OSYjeDcwJiN4"},
567 | {"naughtyString": "NzQmI3gzQSYjeDYxJiN4NkMmI3g2NSYjeDcyJiN4NzQmI3gyOCYjeDI3JiN4NTgmI3g1MyYjeDUz"},
568 | {"naughtyString": "JiN4MjcmI3gyOT4="},
569 | {"naughtyString": "PElNRyBTUkM9ImphdiBhc2NyaXB0OmFsZXJ0KCdYU1MnKTsiPg=="},
570 | {"naughtyString": "PElNRyBTUkM9ImphdiYjeDA5O2FzY3JpcHQ6YWxlcnQoJ1hTUycpOyI+"},
571 | {"naughtyString": "PElNRyBTUkM9ImphdiYjeDBBO2FzY3JpcHQ6YWxlcnQoJ1hTUycpOyI+"},
572 | {"naughtyString": "PElNRyBTUkM9ImphdiYjeDBEO2FzY3JpcHQ6YWxlcnQoJ1hTUycpOyI+"},
573 | {"naughtyString": "cGVybCAtZSAncHJpbnQgIjxJTUcgU1JDPWphdmEwc2NyaXB0OmFsZXJ0KCJYU1MiKT4iOycgPiBv"},
574 | {"naughtyString": "dXQ="},
575 | {"naughtyString": "PElNRyBTUkM9IiAmIzE0OyBqYXZhc2NyaXB0OmFsZXJ0KCdYU1MnKTsiPg=="},
576 | {"naughtyString": "PFNDUklQVC9YU1MgU1JDPSJodHRwOi8vaGEuY2tlcnMub3JnL3hzcy5qcyI+PC9TQ1JJUFQ+"},
577 | {"naughtyString": "PEJPRFkgb25sb2FkISMkJSYoKSp+Ky1fLiw6Oz9AWy98XV5gPWFsZXJ0KCJYU1MiKT4="},
578 | {"naughtyString": "PFNDUklQVC9TUkM9Imh0dHA6Ly9oYS5ja2Vycy5vcmcveHNzLmpzIj48L1NDUklQVD4="},
579 | {"naughtyString": "PDxTQ1JJUFQ+YWxlcnQoIlhTUyIpOy8vPDwvU0NSSVBUPg=="},
580 | {"naughtyString": "PFNDUklQVCBTUkM9aHR0cDovL2hhLmNrZXJzLm9yZy94c3MuanM/PCBCID4="},
581 | {"naughtyString": "PFNDUklQVCBTUkM9Ly9oYS5ja2Vycy5vcmcvLmo+"},
582 | {"naughtyString": "PElNRyBTUkM9ImphdmFzY3JpcHQ6YWxlcnQoJ1hTUycpIg=="},
583 | {"naughtyString": "PGlmcmFtZSBzcmM9aHR0cDovL2hhLmNrZXJzLm9yZy9zY3JpcHRsZXQuaHRtbCA8"},
584 | {"naughtyString": "IjthbGVydCgnWFNTJyk7Ly8="},
585 | {"naughtyString": "PHUgb25jb3B5PWFsZXJ0KCk+IENvcHkgbWU8L3U+"},
586 | {"naughtyString": "PGkgb253aGVlbD1hbGVydCgxKT4gU2Nyb2xsIG92ZXIgbWUgPC9pPg=="},
587 | {"naughtyString": "PHBsYWludGV4dD4="},
588 | {"naughtyString": "aHR0cDovL2EvJSUzMCUzMA=="},
589 | {"naughtyString": "PC90ZXh0YXJlYT48c2NyaXB0PmFsZXJ0KDEyMyk8L3NjcmlwdD4="},
590 | {"naughtyString": "MTtEUk9QIFRBQkxFIHVzZXJz"},
591 | {"naughtyString": "MSc7IERST1AgVEFCTEUgdXNlcnMtLSAx"},
592 | {"naughtyString": "JyBPUiAxPTEgLS0gMQ=="},
593 | {"naughtyString": "JyBPUiAnMSc9JzE="},
594 | {"naughtyString": "JQ=="},
595 | {"naughtyString": "Xw=="},
596 | {"naughtyString": "LQ=="},
597 | {"naughtyString": "LS0="},
598 | {"naughtyString": "LS12ZXJzaW9u"},
599 | {"naughtyString": "LS1oZWxw"},
600 | {"naughtyString": "JFVTRVI="},
601 | {"naughtyString": "L2Rldi9udWxsOyB0b3VjaCAvdG1wL2JsbnMuZmFpbCA7IGVjaG8="},
602 | {"naughtyString": "YHRvdWNoIC90bXAvYmxucy5mYWlsYA=="},
603 | {"naughtyString": "JCh0b3VjaCAvdG1wL2JsbnMuZmFpbCk="},
604 | {"naughtyString": "QHtbc3lzdGVtICJ0b3VjaCAvdG1wL2JsbnMuZmFpbCJdfQ=="},
605 | {"naughtyString": "ZXZhbCgicHV0cyAnaGVsbG8gd29ybGQnIik="},
606 | {"naughtyString": "U3lzdGVtKCJscyAtYWwgLyIp"},
607 | {"naughtyString": "YGxzIC1hbCAvYA=="},
608 | {"naughtyString": "S2VybmVsLmV4ZWMoImxzIC1hbCAvIik="},
609 | {"naughtyString": "S2VybmVsLmV4aXQoMSk="},
610 | {"naughtyString": "JXgoJ2xzIC1hbCAvJyk="},
611 | {"naughtyString": "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iSVNPLTg4NTktMSI/PjwhRE9DVFlQRSBmb28g"},
612 | {"naughtyString": "WyA8IUVMRU1FTlQgZm9vIEFOWSA+PCFFTlRJVFkgeHhlIFNZU1RFTSAiZmlsZTovLy9ldGMvcGFz"},
613 | {"naughtyString": "c3dkIiA+XT48Zm9vPiZ4eGU7PC9mb28+"},
614 | {"naughtyString": "JEhPTUU="},
615 | {"naughtyString": "JEVOVnsnSE9NRSd9"},
616 | {"naughtyString": "JWQ="},
617 | {"naughtyString": "JXM="},
618 | {"naughtyString": "ezB9"},
619 | {"naughtyString": "JSouKnM="},
620 | {"naughtyString": "Li4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vZXRjL3Bhc3N3ZCUwMA=="},
621 | {"naughtyString": "Li4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vZXRjL2hvc3Rz"},
622 | {"naughtyString": "KCkgeyAwOyB9OyB0b3VjaCAvdG1wL2JsbnMuc2hlbGxzaG9jazEuZmFpbDs="},
623 | {"naughtyString": "KCkgeyBfOyB9ID5fWyQoJCgpKV0geyB0b3VjaCAvdG1wL2JsbnMuc2hlbGxzaG9jazIuZmFpbDsg"},
624 | {"naughtyString": "fQ=="},
625 | {"naughtyString": "PDw8ICVzKHVuPSclcycpID0gJXU="},
626 | {"naughtyString": "KysrQVRIMA=="},
627 | {"naughtyString": "Q09O"},
628 | {"naughtyString": "UFJO"},
629 | {"naughtyString": "QVVY"},
630 | {"naughtyString": "Q0xPQ0sk"},
631 | {"naughtyString": "TlVM"},
632 | {"naughtyString": "QTo="},
633 | {"naughtyString": "Wlo6"},
634 | {"naughtyString": "Q09NMQ=="},
635 | {"naughtyString": "TFBUMQ=="},
636 | {"naughtyString": "TFBUMg=="},
637 | {"naughtyString": "TFBUMw=="},
638 | {"naughtyString": "Q09NMg=="},
639 | {"naughtyString": "Q09NMw=="},
640 | {"naughtyString": "Q09NNA=="},
641 | {"naughtyString": "RENDIFNFTkQgU1RBUlRLRVlMT0dHRVIgMCAwIDA="},
642 | {"naughtyString": "U2N1bnRob3JwZSBHZW5lcmFsIEhvc3BpdGFs"},
643 | {"naughtyString": "UGVuaXN0b25lIENvbW11bml0eSBDaHVyY2g="},
644 | {"naughtyString": "TGlnaHR3YXRlciBDb3VudHJ5IFBhcms="},
645 | {"naughtyString": "SmltbXkgQ2xpdGhlcm9l"},
646 | {"naughtyString": "SG9ybmltYW4gTXVzZXVt"},
647 | {"naughtyString": "c2hpdGFrZSBtdXNocm9vbXM="},
648 | {"naughtyString": "Um9tYW5zSW5TdXNzZXguY28udWs="},
649 | {"naughtyString": "aHR0cDovL3d3dy5jdW0ucWMuY2Ev"},
650 | {"naughtyString": "Q3JhaWcgQ29ja2J1cm4sIFNvZnR3YXJlIFNwZWNpYWxpc3Q="},
651 | {"naughtyString": "TGluZGEgQ2FsbGFoYW4="},
652 | {"naughtyString": "RHIuIEhlcm1hbiBJLiBMaWJzaGl0eg=="},
653 | {"naughtyString": "bWFnbmEgY3VtIGxhdWRl"},
654 | {"naughtyString": "U3VwZXIgQm93bCBYWFg="},
655 | {"naughtyString": "bWVkaWV2YWwgZXJlY3Rpb24gb2YgcGFyYXBldHM="},
656 | {"naughtyString": "ZXZhbHVhdGU="},
657 | {"naughtyString": "bW9jaGE="},
658 | {"naughtyString": "ZXhwcmVzc2lvbg=="},
659 | {"naughtyString": "QXJzZW5hbCBjYW5hbA=="},
660 | {"naughtyString": "Y2xhc3NpYw=="},
661 | {"naughtyString": "VHlzb24gR2F5"},
662 | {"naughtyString": "RGljayBWYW4gRHlrZQ=="},
663 | {"naughtyString": "YmFzZW1lbnQ="},
664 | {"naughtyString": "SWYgeW91J3JlIHJlYWRpbmcgdGhpcywgeW91J3ZlIGJlZW4gaW4gYSBjb21hIGZvciBhbG1vc3Qg"},
665 | {"naughtyString": "MjAgeWVhcnMgbm93LiBXZSdyZSB0cnlpbmcgYSBuZXcgdGVjaG5pcXVlLiBXZSBkb24ndCBrbm93"},
666 | {"naughtyString": "IHdoZXJlIHRoaXMgbWVzc2FnZSB3aWxsIGVuZCB1cCBpbiB5b3VyIGRyZWFtLCBidXQgd2UgaG9w"},
667 | {"naughtyString": "ZSBpdCB3b3Jrcy4gUGxlYXNlIHdha2UgdXAsIHdlIG1pc3MgeW91Lg=="},
668 | {"naughtyString": "Um9zZXMgYXJlIBtbMDszMW1yZWQbWzBtLCB2aW9sZXRzIGFyZSAbWzA7MzRtYmx1ZS4gSG9wZSB5"},
669 | {"naughtyString": "b3UgZW5qb3kgdGVybWluYWwgaHVl"},
670 | {"naughtyString": "QnV0IG5vdy4uLhtbMjBDZm9yIG15IGdyZWF0ZXN0IHRyaWNrLi4uG1s4bQ=="},
671 | {"naughtyString": "VGhlIHF1aWMICAgICAhrIGJyb3duIGZvBwcHBwcHBwcHBwd4Li4uIFtCZWVlZXBd"},
672 | {"naughtyString": "UG93ZXLZhNmP2YTZj9i12ZHYqNmP2YTZj9mE2LXZkdio2Y/Ysdix2Ysg4KWjIOClo2gg4KWjIOCl"},
673 | {"naughtyString": "o+WGlw=="},
674 | {"naughtyString": "2q/ahtm+2pg="},
675 | {"naughtyString": "eyUgcHJpbnQgJ3gnICogNjQgKiAxMDI0KiozICV9"},
676 | {"naughtyString": "e3sgIiIuX19jbGFzc19fLl9fbXJvX19bMl0uX19zdWJjbGFzc2VzX18oKVs0MF0oIi9ldGMvcGFz"},
677 | {"naughtyString": "c3dkIikucmVhZCgpIH19"}
678 | ]
679 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2023 Packt
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # API-Testing-and-Development-with-Postman-Second-Edition
2 |
3 | This is the code repository for the [API-Testing-and-Development-with-Postman-Second-Edition](https://www.packtpub.com/product/api-testing-and-development-with-postman-second-edition/9781804617908), published by Packt.
4 | More details are below, pick up your copy today!
5 |
6 | **API creation, testing, debugging, and management made easy**
7 |
8 | The author of this book is - [Dave Westerveld](https://www.linkedin.com/in/dave-westerveld-25339a42/)
9 |
10 | ## About the book
11 | Postman is an invaluable tool for exploration and testing of web APIs and helping testers and developers figure out how an API works. With Postman, you can create effective test automation for any APIs, and this guide will help you unleash its full potential.
12 | API Testing and Development with Postman is an invaluable resource for anyone who wants to create a good quality API, but isn't sure how to go about it. This guide will help you unleash the full potential of Postman’s test automation capabilities.
13 | A combination of theory coupled with real-world examples will help you learn how to use Postman to create well-designed, documented, and tested APIs. After you’ve familiarized yourself with the theory, you’ll move on to hands-on projects that will teach you how to add test automation to an existing API. You’ll also learn some of the new and powerful features that Postman has that can help you avoid introducing bugs.
14 | This second, fully updated edition features new chapters on workflow testing, creating and using mock servers, API security testing, and performance testing. The new and expanded information in this edition will help you future-proof your APIs.
15 | By the end of this book, you'll be able to use Postman to set up and run API tests for any API that you are working with.
16 |
17 |
18 |
19 | ## Key Takeaways
20 | - Find out what is involved in effective API testing
21 | - Leverage Postman to improve the quality of you API
22 | - Use data-driven testing in Postman to create scalable API tests
23 | - How to create and use a Mock Server in Postman
24 | - Verify and improve the quality of an API using contract testing
25 | - Understand the basic principles of security testing
26 | - Get to grips with functional and non-functional testing of an API
27 | - Discover how to use industry standards such as OpenAPI and mocking
28 |
29 |
30 | ## What's New
31 | This Second Edition of _API Testing and Development with Postman_ is fully-updated throughout, including modernized coverage on authorization options and API monitoring with Postman. The book also includes four brand-new chapters: Workflow Testing, Creating and using a Mock Server in Postman, API Security Testing, and Performance Testing an API.
32 |
33 |
34 |
35 | ## Outline and Chapter Summary
36 | In a world of fast food, fast fashion, and fast-to-market strategies, does quality even matter? The pressures of the world we live in seem to push us towards taking shortcuts, even when it comes to producing high-quality software. I am doing my part to push back against that world. I think quality matters. We have enough easily broken junk in our lives. It’s time for more quality.
37 | This book is one small stake that I’ve put in the ground in an attempt to help the world see more high-quality software. I hope that whether you are a professional tester, or a developer looking to learn more about testing, you will be able to join me in my attempt to improve the world through quality software applications.
38 | APIs are becoming the backbone of the internet. They help companies to communicate with each other externally and also provide the communication infrastructure for many internal pieces of modern software systems. A marriage is held together by good communication, and so it is with the internet too. Good communication between different services is important to well functioning applications. For that reason, API testing matters for producing good-quality software.
39 | On the surface, this book is primarily about the API testing tool Postman, but I have also tried to weave in examples and teachings that will help you to to use that tool in a way that will have a real impact on quality. If you work through this book, you will gain an in-depth grasp of how Postman works, and you will also have a solid foundation in how to think about API testing in general. I want you to have more than just the ability to manipulate Postman to do what you want it to. I also want you to be able to know when and how to use it so that you can be an effective part of creating high-quality APIs.
40 |
41 | 1. API Terminology and Types
42 | 2. [API Documentation and Design](https://github.com/PacktPublishing/API-Testing-and-Development-with-Postman-Second-Edition/tree/main/Chapter02)
43 | 3. [OpenAPI and API Specifications](https://github.com/PacktPublishing/API-Testing-and-Development-with-Postman-Second-Edition/tree/main/Chapter03)
44 | 4. [Considerations for Good API Test Automation](https://github.com/PacktPublishing/API-Testing-and-Development-with-Postman-Second-Edition/tree/main/Chapter04)
45 | 5. Understanding Authorization Options
46 | 6. [Creating Test Validation Scripts](https://github.com/PacktPublishing/API-Testing-and-Development-with-Postman-Second-Edition/tree/main/Chapter06)
47 | 7. [Data-Driven Testing](https://github.com/PacktPublishing/API-Testing-and-Development-with-Postman-Second-Edition/tree/main/Chapter07)
48 | 8. Workflow Testing
49 | 9. [Running API Tests in CI with Newman](https://github.com/PacktPublishing/API-Testing-and-Development-with-Postman-Second-Edition/tree/main/Chapter09)
50 | 10. Monitoring APIs with Postman
51 | 11. Testing an Existing API
52 | 12. Creating and Using Mock Servers in Postman
53 | 13. [Using Contract Testing to Verify an API](https://github.com/PacktPublishing/API-Testing-and-Development-with-Postman-Second-Edition/tree/main/Chapter13)
54 | 14. [API Security Testing](https://github.com/PacktPublishing/API-Testing-and-Development-with-Postman-Second-Edition/tree/main/Chapter14)
55 | 15. Performance Testing an API
56 |
57 |
58 |
59 |
60 |
61 | ### Chapter 01, API Terminology and Types
62 | Chapter 1, API Terminology and Types, gets you started with some of the basic API terminology and introduces you to the different types of APIs.
63 |
64 |
65 | ### Chapter 02, API Documentation and Design
66 | Chapter 2, API Documentation and Design, covers the design principles that apply to creating and testing APIs, and both how and why to create useful documentation.
67 |
68 | ### Chapter 03, OpenAPI and API Specifications
69 | Chapter 3, Open API and API Specifications, explains what API specifications are and how to get started with using them in Postman.
70 |
71 | ### Chapter 04, Considerations for Good API Test Automation
72 | Chapter 4, Considerations for Good API Test Automation, teaches you how to create and execute valuable and long-lasting API tests in Postman.
73 |
74 | ### Chapter 05, Understanding Authorization Options
75 | Chapter 5, Understanding Authorization Options, walks through how to use many of the API authorization methods available in Postman.
76 |
77 | ### Chapter 06, Creating Test Validation Scripts
78 | Chapter 6, Creating Test Validation Scripts, explains how to create and use test scripts in Postman.
79 |
80 | ### Chapter 07, Data-Driven Testing
81 | Chapter 7, Data-Driven Testing, discusses what data-driven testing is and how to use it to create scalable tests in Postman.
82 |
83 | ### Chapter 08, Workflow Testing
84 | Chapter 8, Workflow Testing, explains what workflow tests are and how to create flows in Postman.
85 |
86 | ### Chapter 09, Running API Tests in CI with Newman
87 | Chapter 9, Running API Tests in CI with Newman, shows how to run Postman API tests at the command line with the Newman runner.
88 |
89 | ### Chapter 10, Monitoring APIs with Postman
90 | Chapter 10, Monitoring APIs with Postman, explains how to monitor product usage of APIs with Postman monitoring.
91 |
92 | ### Chapter 11, Testing an Existing API
93 | Chapter 11, Testing an Existing API, works through a hands-on example that shows what kind of tests to create when testing an existing API.
94 |
95 | ### Chapter 12, Creating and Using Mock Servers in Postman
96 | Chapter 12, Creating and Using Mock Servers in Postman, explains what mock servers are and how to set up and use them in Postman.
97 |
98 | ### Chapter 13, Using Contract Testing to Verify an API
99 | Chapter 13, Using Contract Testing to Verify an API, discusses what contract testing is and shows how to create and use contract testing in Postman.
100 |
101 | ### Chapter 14, API Security Testing
102 | Chapter 14, API Security Testing, gives a brief introduction to security testing and gives an example of setting up fuzz testing in Postman.
103 |
104 | ### Chapter 15, Performance Testing an API
105 | Chapter 15, Performance Testing an API, explains the different types of performance testing and walks through some of the features in Postman that can be used to assess API performance.
106 |
107 |
108 |
109 |
110 |
111 |
112 | ## Know more on the Discord server
113 | You can get more engaged on the discord server for more latest updates and discussions in the community at [Discord](https://discord.com/invite/nEN6EBYPq9)
114 |
115 |
116 | ## Download a free PDF
117 |
118 | _If you have already purchased a print or Kindle version of this book, you can get a DRM-free PDF version at no cost. Simply click on the link to claim your free PDF._
119 | [Free-Ebook](https://packt.link/free-ebook/9781804617908)
120 |
121 |
122 | We also provide a PDF file that has color images of the screenshots/diagrams used in this book at [GraphicBundle](https://packt.link/gbp/9781804617908)
123 |
124 |
125 | ## Get to know the Author
126 | _Dave Westerveld_ is a developer with many years of testing experience. He has been involved in the testing of numerous projects and he excels at solving automation problems in team environments. He has worked with well-established products and early-stage initiatives, and he is passionate about using automation to improve product quality and to help teams work more efficiently in developing high-value software. Dave has also worked as a developer integrating third-party APIs into applications. Having worked on both the testing and development sides of the SDLC, he has an intimate knowledge of what it takes to create quality code.
127 |
128 |
129 |
130 |
131 | ## Other Related Books
132 | - [Enterprise API Management](https://www.packtpub.com/product/enterprise-api-management/9781787284432)
133 | - [Building an API Product](https://www.packtpub.com/product/building-an-api-product/9781837630448)
134 |
135 |
136 |
137 |
138 |
139 |
140 |
141 |
142 |
143 |
144 |
145 |
146 |
147 |
--------------------------------------------------------------------------------