auth0 4.14.0 → 5.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (56) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +0 -1
  3. data/.yardoc/checksums +22 -0
  4. data/.yardoc/complete +0 -0
  5. data/.yardoc/object_types +0 -0
  6. data/.yardoc/objects/root.dat +0 -0
  7. data/.yardoc/proxy_types +0 -0
  8. data/CHANGELOG.md +73 -0
  9. data/Gemfile +0 -1
  10. data/Gemfile.lock +34 -39
  11. data/README.md +5 -7
  12. data/Rakefile +0 -22
  13. data/auth0.gemspec +1 -1
  14. data/examples/ruby-api/.gitignore +0 -6
  15. data/lib/auth0/api/authentication_endpoints.rb +6 -220
  16. data/lib/auth0/api/v2.rb +2 -0
  17. data/lib/auth0/api/v2/jobs.rb +11 -1
  18. data/lib/auth0/api/v2/log_streams.rb +78 -0
  19. data/lib/auth0/api/v2/tickets.rb +12 -1
  20. data/lib/auth0/api/v2/users.rb +20 -7
  21. data/lib/auth0/exception.rb +2 -7
  22. data/lib/auth0/mixins.rb +0 -1
  23. data/lib/auth0/mixins/access_token_struct.rb +2 -2
  24. data/lib/auth0/mixins/api_token_struct.rb +2 -2
  25. data/lib/auth0/mixins/httpproxy.rb +3 -1
  26. data/lib/auth0/mixins/initializer.rb +1 -7
  27. data/lib/auth0/mixins/permission_struct.rb +2 -2
  28. data/lib/auth0/mixins/validation.rb +1 -1
  29. data/lib/auth0/version.rb +1 -1
  30. data/spec/integration/lib/auth0/api/api_authentication_spec.rb +1 -1
  31. data/spec/integration/lib/auth0/api/v2/api_jobs_spec.rb +12 -0
  32. data/spec/integration/lib/auth0/api/v2/api_roles_spec.rb +1 -1
  33. data/spec/integration/lib/auth0/api/v2/api_tickets_spec.rb +7 -1
  34. data/spec/integration/lib/auth0/api/v2/api_users_spec.rb +1 -1
  35. data/spec/lib/auth0/api/v2/jobs_spec.rb +17 -0
  36. data/spec/lib/auth0/api/v2/log_streams_spec.rb +84 -0
  37. data/spec/lib/auth0/api/v2/roles_spec.rb +4 -4
  38. data/spec/lib/auth0/api/v2/tickets_spec.rb +17 -0
  39. data/spec/lib/auth0/api/v2/users_spec.rb +37 -10
  40. data/spec/lib/auth0/mixins/httpproxy_spec.rb +2 -2
  41. data/spec/support/credentials.rb +0 -19
  42. metadata +31 -38
  43. data/deploy_documentation.sh +0 -29
  44. data/doc_config/templates/default/fulldoc/html/css/full_list.css +0 -79
  45. data/doc_config/templates/default/fulldoc/html/css/style.css +0 -546
  46. data/doc_config/templates/default/layout/html/breadcrumb.erb +0 -11
  47. data/doc_config/templates/default/layout/html/footer.erb +0 -115
  48. data/doc_config/templates/default/layout/html/headers.erb +0 -17
  49. data/doc_config/templates/default/layout/html/layout.erb +0 -27
  50. data/lib/auth0/api/v1.rb +0 -19
  51. data/lib/auth0/api/v1/clients.rb +0 -58
  52. data/lib/auth0/api/v1/connections.rb +0 -68
  53. data/lib/auth0/api/v1/logs.rb +0 -43
  54. data/lib/auth0/api/v1/rules.rb +0 -57
  55. data/lib/auth0/api/v1/users.rb +0 -227
  56. data/spec/lib/auth0/api/authentication_endpoints_spec.rb +0 -703
@@ -293,8 +293,8 @@ describe Auth0::Api::V2::Roles do
293
293
  @instance.add_role_permissions(
294
294
  'ROLE_ID',
295
295
  [
296
- Permission.new('permission-name-1', 'server-id-1'),
297
- Permission.new('permission-name-2', 'server-id-2')
296
+ Auth0::Permission.new('permission-name-1', 'server-id-1'),
297
+ Auth0::Permission.new('permission-name-2', 'server-id-2')
298
298
  ]
299
299
  )
300
300
  end.not_to raise_error
@@ -352,8 +352,8 @@ describe Auth0::Api::V2::Roles do
352
352
  @instance.remove_role_permissions(
353
353
  'ROLE_ID',
354
354
  [
355
- Permission.new('permission-name-3', 'server-id-3'),
356
- Permission.new('permission-name-4', 'server-id-4')
355
+ Auth0::Permission.new('permission-name-3', 'server-id-3'),
356
+ Auth0::Permission.new('permission-name-4', 'server-id-4')
357
357
  ]
358
358
  )
359
359
  end.not_to raise_error
@@ -21,6 +21,23 @@ describe Auth0::Api::V2::Tickets do
21
21
  result_url: nil, ttl_sec: nil)
22
22
  expect { @instance.post_email_verification('user_id', ttl_sec: "noninteger") }.not_to raise_error
23
23
  end
24
+ it 'expect client to accept hash identity' do
25
+ expect(@instance).to receive(:post).with('/api/v2/tickets/email-verification', user_id: 'user_id',
26
+ result_url: nil,
27
+ ttl_sec: nil,
28
+ identity: {
29
+ provider: "auth0",
30
+ user_id: "user_id"
31
+ })
32
+ expect {
33
+ @instance.post_email_verification('user_id', identity: { provider: "auth0", user_id: "user_id"})
34
+ }.not_to raise_error
35
+ end
36
+ it 'expect client to return nil when calling with a non-hash identity' do
37
+ expect { @instance.post_email_verification('user_id', identity: "nonhash") }.to raise_error(
38
+ 'Identity must be a hash to post an email verification'
39
+ )
40
+ end
24
41
  it 'expect client to rasie error when calling with empty body' do
25
42
  expect { @instance.post_email_verification(nil) }.to raise_error(
26
43
  'Must supply a valid user id to post an email verification'
@@ -86,18 +86,28 @@ describe Auth0::Api::V2::Users do
86
86
  '/api/v2/users',
87
87
  email: 'test@test.com',
88
88
  password: 'password',
89
- connection: 'conn',
90
- name: 'name'
89
+ connection: 'conn'
91
90
  )
92
91
  expect do
93
92
  @instance.create_user(
94
- 'name',
93
+ 'conn',
95
94
  email: 'test@test.com',
96
- password: 'password',
97
- connection: 'conn'
95
+ password: 'password'
98
96
  )
99
97
  end.not_to raise_error
100
98
  end
99
+
100
+ it 'is expected to raise error if connection is not specified' do
101
+ expect(@instance).not_to receive(:delete)
102
+ expect {
103
+ @instance.create_user(
104
+ email: 'test@test.com',
105
+ password: 'password'
106
+ )
107
+ }.to raise_exception(
108
+ Auth0::MissingParameter
109
+ )
110
+ end
101
111
  end
102
112
 
103
113
  context '.delete_users' do
@@ -390,11 +400,28 @@ describe Auth0::Api::V2::Users do
390
400
  end
391
401
 
392
402
  it 'is expected to get permissions' do
393
- expect(@instance).to receive(:get).with('/api/v2/users/USER_ID/permissions')
403
+ expect(@instance).to receive(:get).with(
404
+ '/api/v2/users/USER_ID/permissions',
405
+ per_page: nil,
406
+ page: nil,
407
+ include_totals: nil,
408
+ )
394
409
  expect do
395
410
  @instance.get_user_permissions('USER_ID')
396
411
  end.not_to raise_error
397
412
  end
413
+
414
+ it 'is expected to get permissions with custom parameters' do
415
+ expect(@instance).to receive(:get).with(
416
+ '/api/v2/users/USER_ID/permissions',
417
+ per_page: 10,
418
+ page: 3,
419
+ include_totals: true
420
+ )
421
+ expect do
422
+ @instance.get_user_permissions('USER_ID', per_page: 10, page: 3, include_totals: true)
423
+ end.not_to raise_error
424
+ end
398
425
  end
399
426
 
400
427
  context '.remove_permissions' do
@@ -434,8 +461,8 @@ describe Auth0::Api::V2::Users do
434
461
  @instance.remove_user_permissions(
435
462
  'USER_ID',
436
463
  [
437
- Permission.new('permission-name-1', 'server-id-1'),
438
- Permission.new('permission-name-2', 'server-id-2')
464
+ Auth0::Permission.new('permission-name-1', 'server-id-1'),
465
+ Auth0::Permission.new('permission-name-2', 'server-id-2')
439
466
  ]
440
467
  )
441
468
  end.not_to raise_error
@@ -479,8 +506,8 @@ describe Auth0::Api::V2::Users do
479
506
  @instance.add_user_permissions(
480
507
  'USER_ID',
481
508
  [
482
- Permission.new('permission-name-1', 'server-id-1'),
483
- Permission.new('permission-name-2', 'server-id-2')
509
+ Auth0::Permission.new('permission-name-1', 'server-id-1'),
510
+ Auth0::Permission.new('permission-name-2', 'server-id-2')
484
511
  ]
485
512
  )
486
513
  end.not_to raise_error
@@ -141,7 +141,7 @@ describe Auth0::Mixins::HTTPProxy do
141
141
  expect { @instance.send(http_method, '/test') }.to raise_error(Auth0::ServerError)
142
142
  end
143
143
 
144
- it 'should escape path with URI.escape' do
144
+ it 'should escape path with Addressable::URI.escape' do
145
145
  expect(RestClient::Request).to receive(:execute).with(method: http_method,
146
146
  url: '/te%20st',
147
147
  timeout: nil,
@@ -275,7 +275,7 @@ describe Auth0::Mixins::HTTPProxy do
275
275
  expect { @instance.send(http_method, '/test') }.to raise_error(Auth0::ServerError)
276
276
  end
277
277
 
278
- it 'should escape path with URI.escape' do
278
+ it 'should escape path with Addressable::URI.escape' do
279
279
  expect(RestClient::Request).to receive(:execute).with(method: http_method,
280
280
  url: '/te%20st',
281
281
  timeout: nil,
@@ -1,24 +1,5 @@
1
1
  module Credentials
2
2
  module_function
3
-
4
- def v1_creds
5
- {
6
- client_id: ENV['CLIENT_ID'],
7
- client_secret: ENV['CLIENT_SECRET'],
8
- domain: ENV['DOMAIN'],
9
- api_version: 1
10
- }
11
- end
12
-
13
- def v1_global_creds
14
- {
15
- client_id: ENV['GLOBAL_CLIENT_ID'],
16
- client_secret: ENV['GLOBAL_CLIENT_SECRET'],
17
- domain: ENV['DOMAIN'],
18
- api_version: 1
19
- }
20
- end
21
-
22
3
  def v2_creds
23
4
  {
24
5
  domain: ENV.fetch( 'DOMAIN', 'DOMAIN' ),
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: auth0
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.14.0
4
+ version: 5.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Auth0
@@ -11,7 +11,7 @@ authors:
11
11
  autorequire:
12
12
  bindir: bin
13
13
  cert_chain: []
14
- date: 2020-07-22 00:00:00.000000000 Z
14
+ date: 2020-10-23 00:00:00.000000000 Z
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
17
  name: rest-client
@@ -55,6 +55,20 @@ dependencies:
55
55
  - - "~>"
56
56
  - !ruby/object:Gem::Version
57
57
  version: 0.12.0
58
+ - !ruby/object:Gem::Dependency
59
+ name: addressable
60
+ requirement: !ruby/object:Gem::Requirement
61
+ requirements:
62
+ - - "~>"
63
+ - !ruby/object:Gem::Version
64
+ version: 2.7.0
65
+ type: :runtime
66
+ prerelease: false
67
+ version_requirements: !ruby/object:Gem::Requirement
68
+ requirements:
69
+ - - "~>"
70
+ - !ruby/object:Gem::Version
71
+ version: 2.7.0
58
72
  - !ruby/object:Gem::Dependency
59
73
  name: rake
60
74
  requirement: !ruby/object:Gem::Requirement
@@ -143,22 +157,22 @@ dependencies:
143
157
  name: rspec
144
158
  requirement: !ruby/object:Gem::Requirement
145
159
  requirements:
146
- - - ">="
147
- - !ruby/object:Gem::Version
148
- version: 3.1.0
149
160
  - - "~>"
150
161
  - !ruby/object:Gem::Version
151
162
  version: '3.1'
163
+ - - ">="
164
+ - !ruby/object:Gem::Version
165
+ version: 3.1.0
152
166
  type: :development
153
167
  prerelease: false
154
168
  version_requirements: !ruby/object:Gem::Requirement
155
169
  requirements:
156
- - - ">="
157
- - !ruby/object:Gem::Version
158
- version: 3.1.0
159
170
  - - "~>"
160
171
  - !ruby/object:Gem::Version
161
172
  version: '3.1'
173
+ - - ">="
174
+ - !ruby/object:Gem::Version
175
+ version: 3.1.0
162
176
  - !ruby/object:Gem::Dependency
163
177
  name: rack-test
164
178
  requirement: !ruby/object:Gem::Requirement
@@ -215,20 +229,6 @@ dependencies:
215
229
  - - "~>"
216
230
  - !ruby/object:Gem::Version
217
231
  version: '1.4'
218
- - !ruby/object:Gem::Dependency
219
- name: yard
220
- requirement: !ruby/object:Gem::Requirement
221
- requirements:
222
- - - "~>"
223
- - !ruby/object:Gem::Version
224
- version: 0.9.12
225
- type: :development
226
- prerelease: false
227
- version_requirements: !ruby/object:Gem::Requirement
228
- requirements:
229
- - - "~>"
230
- - !ruby/object:Gem::Version
231
- version: 0.9.12
232
232
  - !ruby/object:Gem::Dependency
233
233
  name: gem-release
234
234
  requirement: !ruby/object:Gem::Requirement
@@ -262,6 +262,11 @@ files:
262
262
  - ".rspec"
263
263
  - ".rubocop.yml"
264
264
  - ".rubocop_todo.yml"
265
+ - ".yardoc/checksums"
266
+ - ".yardoc/complete"
267
+ - ".yardoc/object_types"
268
+ - ".yardoc/objects/root.dat"
269
+ - ".yardoc/proxy_types"
265
270
  - CHANGELOG.md
266
271
  - CODE_OF_CONDUCT.md
267
272
  - DEPLOYMENT.md
@@ -275,13 +280,6 @@ files:
275
280
  - Rakefile
276
281
  - auth0.gemspec
277
282
  - codecov.yml
278
- - deploy_documentation.sh
279
- - doc_config/templates/default/fulldoc/html/css/full_list.css
280
- - doc_config/templates/default/fulldoc/html/css/style.css
281
- - doc_config/templates/default/layout/html/breadcrumb.erb
282
- - doc_config/templates/default/layout/html/footer.erb
283
- - doc_config/templates/default/layout/html/headers.erb
284
- - doc_config/templates/default/layout/html/layout.erb
285
283
  - examples/ruby-api/.env.example
286
284
  - examples/ruby-api/.gitignore
287
285
  - examples/ruby-api/Gemfile
@@ -352,12 +350,6 @@ files:
352
350
  - lib/auth0.rb
353
351
  - lib/auth0/algorithm.rb
354
352
  - lib/auth0/api/authentication_endpoints.rb
355
- - lib/auth0/api/v1.rb
356
- - lib/auth0/api/v1/clients.rb
357
- - lib/auth0/api/v1/connections.rb
358
- - lib/auth0/api/v1/logs.rb
359
- - lib/auth0/api/v1/rules.rb
360
- - lib/auth0/api/v1/users.rb
361
353
  - lib/auth0/api/v2.rb
362
354
  - lib/auth0/api/v2/anomaly.rb
363
355
  - lib/auth0/api/v2/blacklists.rb
@@ -368,6 +360,7 @@ files:
368
360
  - lib/auth0/api/v2/emails.rb
369
361
  - lib/auth0/api/v2/guardian.rb
370
362
  - lib/auth0/api/v2/jobs.rb
363
+ - lib/auth0/api/v2/log_streams.rb
371
364
  - lib/auth0/api/v2/logs.rb
372
365
  - lib/auth0/api/v2/prompts.rb
373
366
  - lib/auth0/api/v2/resource_servers.rb
@@ -579,7 +572,6 @@ files:
579
572
  - spec/integration/lib/auth0/api/v2/api_user_blocks_spec.rb
580
573
  - spec/integration/lib/auth0/api/v2/api_users_spec.rb
581
574
  - spec/integration/lib/auth0/auth0_client_spec.rb
582
- - spec/lib/auth0/api/authentication_endpoints_spec.rb
583
575
  - spec/lib/auth0/api/v2/anomaly_spec.rb
584
576
  - spec/lib/auth0/api/v2/blacklists_spec.rb
585
577
  - spec/lib/auth0/api/v2/client_grants_spec.rb
@@ -589,6 +581,7 @@ files:
589
581
  - spec/lib/auth0/api/v2/emails_spec.rb
590
582
  - spec/lib/auth0/api/v2/guardian_spec.rb
591
583
  - spec/lib/auth0/api/v2/jobs_spec.rb
584
+ - spec/lib/auth0/api/v2/log_streams_spec.rb
592
585
  - spec/lib/auth0/api/v2/logs_spec.rb
593
586
  - spec/lib/auth0/api/v2/prompts_spec.rb
594
587
  - spec/lib/auth0/api/v2/resource_servers_spec.rb
@@ -630,7 +623,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
630
623
  - !ruby/object:Gem::Version
631
624
  version: '0'
632
625
  requirements: []
633
- rubygems_version: 3.0.1
626
+ rubygems_version: 3.1.2
634
627
  signing_key:
635
628
  specification_version: 4
636
629
  summary: Auth0 API Client
@@ -822,7 +815,6 @@ test_files:
822
815
  - spec/integration/lib/auth0/api/v2/api_user_blocks_spec.rb
823
816
  - spec/integration/lib/auth0/api/v2/api_users_spec.rb
824
817
  - spec/integration/lib/auth0/auth0_client_spec.rb
825
- - spec/lib/auth0/api/authentication_endpoints_spec.rb
826
818
  - spec/lib/auth0/api/v2/anomaly_spec.rb
827
819
  - spec/lib/auth0/api/v2/blacklists_spec.rb
828
820
  - spec/lib/auth0/api/v2/client_grants_spec.rb
@@ -832,6 +824,7 @@ test_files:
832
824
  - spec/lib/auth0/api/v2/emails_spec.rb
833
825
  - spec/lib/auth0/api/v2/guardian_spec.rb
834
826
  - spec/lib/auth0/api/v2/jobs_spec.rb
827
+ - spec/lib/auth0/api/v2/log_streams_spec.rb
835
828
  - spec/lib/auth0/api/v2/logs_spec.rb
836
829
  - spec/lib/auth0/api/v2/prompts_spec.rb
837
830
  - spec/lib/auth0/api/v2/resource_servers_spec.rb
@@ -1,29 +0,0 @@
1
- #!/bin/bash
2
- # exit with nonzero exit code if anything fails
3
- set -e
4
-
5
- # clear and re-create the out directory
6
- rm -rf doc || exit 0;
7
- mkdir doc;
8
-
9
- # build documentation
10
- bundle exec rake documentation
11
-
12
- # go to the out directory and create a *new* Git repo
13
- cd doc
14
- git init
15
-
16
- # inside this git repo we'll pretend to be a new user
17
- git config user.name "Circle CI"
18
- git config user.email "build-documentation@auth0.com"
19
-
20
- # The first and only commit to this new Git repo contains all the
21
- # files present with the commit message "Deploy to GitHub Pages".
22
- git add .
23
- git commit -m "Deploy to GitHub Pages"
24
-
25
- # Force push from the current repo's master branch to the remote
26
- # repo's gh-pages branch. (All previous history on the gh-pages branch
27
- # will be lost, since we are overwriting it.) We redirect any output to
28
- # /dev/null to hide any sensitive credential data that might otherwise be exposed.
29
- git push --force --quiet "https://${GH_TOKEN}@${GH_REF}" master:gh-pages > /dev/null 2>&1
@@ -1,79 +0,0 @@
1
- body {
2
- padding: 0 20px;
3
- font-size: 14px;
4
- -webkit-font-smoothing: antialiased;
5
- -moz-font-smoothing: antialiased;
6
- font-family: "avenir-next-web", Avenir, "Helvetica Neue", Hevetica, sans-serif;
7
- color: #4d4d4d;
8
- }
9
-
10
- h1, h2, h3, h4, h5 {
11
- line-height: 1.5;
12
- font-family: "avenir-next-web", Avenir, "Helvetica Neue", Hevetica, sans-serif;
13
- color: #000;
14
- font-weight: 400;
15
- }
16
- h1 {
17
- font-size: 3rem;
18
- }
19
- h2 {
20
- font-size: 2rem;
21
- }
22
- h3 {
23
- font-size: 1.5rem;
24
- }
25
- h4 {
26
- font-size: 1.3rem;
27
- }
28
- h5 {
29
- font-size: 16px;
30
- }
31
-
32
- .clear { clear: both; }
33
- #search { position: absolute; right: 5px; top: 9px; padding-left: 24px; }
34
- #content.insearch #search, #content.insearch #noresults { background: url(data:image/gif;base64,R0lGODlhEAAQAPYAAP///wAAAPr6+pKSkoiIiO7u7sjIyNjY2J6engAAAI6OjsbGxjIyMlJSUuzs7KamppSUlPLy8oKCghwcHLKysqSkpJqamvT09Pj4+KioqM7OzkRERAwMDGBgYN7e3ujo6Ly8vCoqKjY2NkZGRtTU1MTExDw8PE5OTj4+PkhISNDQ0MrKylpaWrS0tOrq6nBwcKysrLi4uLq6ul5eXlxcXGJiYoaGhuDg4H5+fvz8/KKiohgYGCwsLFZWVgQEBFBQUMzMzDg4OFhYWBoaGvDw8NbW1pycnOLi4ubm5kBAQKqqqiQkJCAgIK6urnJyckpKSjQ0NGpqatLS0sDAwCYmJnx8fEJCQlRUVAoKCggICLCwsOTk5ExMTPb29ra2tmZmZmhoaNzc3KCgoBISEiIiIgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh/hpDcmVhdGVkIHdpdGggYWpheGxvYWQuaW5mbwAh+QQJCAAAACwAAAAAEAAQAAAHaIAAgoMgIiYlg4kACxIaACEJCSiKggYMCRselwkpghGJBJEcFgsjJyoAGBmfggcNEx0flBiKDhQFlIoCCA+5lAORFb4AJIihCRbDxQAFChAXw9HSqb60iREZ1omqrIPdJCTe0SWI09GBACH5BAkIAAAALAAAAAAQABAAAAdrgACCgwc0NTeDiYozCQkvOTo9GTmDKy8aFy+NOBA7CTswgywJDTIuEjYFIY0JNYMtKTEFiRU8Pjwygy4ws4owPyCKwsMAJSTEgiQlgsbIAMrO0dKDGMTViREZ14kYGRGK38nHguHEJcvTyIEAIfkECQgAAAAsAAAAABAAEAAAB2iAAIKDAggPg4iJAAMJCRUAJRIqiRGCBI0WQEEJJkWDERkYAAUKEBc4Po1GiKKJHkJDNEeKig4URLS0ICImJZAkuQAhjSi/wQyNKcGDCyMnk8u5rYrTgqDVghgZlYjcACTA1sslvtHRgQAh+QQJCAAAACwAAAAAEAAQAAAHZ4AAgoOEhYaCJSWHgxGDJCQARAtOUoQRGRiFD0kJUYWZhUhKT1OLhR8wBaaFBzQ1NwAlkIszCQkvsbOHL7Y4q4IuEjaqq0ZQD5+GEEsJTDCMmIUhtgk1lo6QFUwJVDKLiYJNUd6/hoEAIfkECQgAAAAsAAAAABAAEAAAB2iAAIKDhIWGgiUlh4MRgyQkjIURGRiGGBmNhJWHm4uen4ICCA+IkIsDCQkVACWmhwSpFqAABQoQF6ALTkWFnYMrVlhWvIKTlSAiJiVVPqlGhJkhqShHV1lCW4cMqSkAR1ofiwsjJyqGgQAh+QQJCAAAACwAAAAAEAAQAAAHZ4AAgoOEhYaCJSWHgxGDJCSMhREZGIYYGY2ElYebi56fhyWQniSKAKKfpaCLFlAPhl0gXYNGEwkhGYREUywag1wJwSkHNDU3D0kJYIMZQwk8MjPBLx9eXwuETVEyAC/BOKsuEjYFhoEAIfkECQgAAAAsAAAAABAAEAAAB2eAAIKDhIWGgiUlh4MRgyQkjIURGRiGGBmNhJWHm4ueICImip6CIQkJKJ4kigynKaqKCyMnKqSEK05StgAGQRxPYZaENqccFgIID4KXmQBhXFkzDgOnFYLNgltaSAAEpxa7BQoQF4aBACH5BAkIAAAALAAAAAAQABAAAAdogACCg4SFggJiPUqCJSWGgkZjCUwZACQkgxGEXAmdT4UYGZqCGWQ+IjKGGIUwPzGPhAc0NTewhDOdL7Ykji+dOLuOLhI2BbaFETICx4MlQitdqoUsCQ2vhKGjglNfU0SWmILaj43M5oEAOwAAAAAAAAAAAA==) no-repeat center left; }
35
- #full_list { padding: 0; list-style: none; margin-left: 0; }
36
- #full_list ul { padding: 0; }
37
- #full_list li { padding: 5px; padding-left: 12px; margin: 0; font-size: 1.1em; list-style: none; }
38
- #noresults { padding: 7px 12px; }
39
- #content.insearch #noresults { margin-left: 7px; }
40
- ul.collapsed ul, ul.collapsed li { display: none; }
41
- ul.collapsed.search_uncollapsed { display: block; }
42
- ul.collapsed.search_uncollapsed li { display: list-item; }
43
- li a.toggle { cursor: default; position: relative; left: -5px; top: 4px; text-indent: -999px; width: 10px; height: 9px; margin-left: -10px; display: block; float: left; background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAASCAYAAABb0P4QAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAK8AAACvABQqw0mAAAABx0RVh0U29mdHdhcmUAQWRvYmUgRmlyZXdvcmtzIENTM5jWRgMAAAAVdEVYdENyZWF0aW9uIFRpbWUAMy8xNC8wOeNZPpQAAAE2SURBVDiNrZTBccIwEEXfelIAHUA6CZ24BGaWO+FuzZAK4k6gg5QAdGAq+Bxs2Yqx7BzyL7Llp/VfzZeQhCTc/ezuGzKKnKSzpCxXJM8fwNXda3df5RZETlIt6YUzSQDs93sl8w3wBZxCCE10GM1OcWbWjB2mWgEH4Mfdyxm3PSepBHibgQE2wLe7r4HjEidpnXMYdQPKEMJcsZ4zs2POYQOcaPfwMVOo58zsAdMt18BuoVDPxUJRacELbXv3hUIX2vYmOUvi8C8ydz/ThjXrqKqqLbDIAdsCKBd+Wo7GWa7o9qzOQHVVVXeAbs+yHHCH4aTsaCOQqunmUy1yBUAXkdMIfMlgF5EXLo2OpV/c/Up7jG4hhHcYLgWzAZXUc2b2ixsfvc/RmNNfOXD3Q/oeL9axJE1yT9IOoUu6MGUkAAAAAElFTkSuQmCC) no-repeat bottom left; }
44
- li.collapsed a.toggle { opacity: 0.5; cursor: default; background-position: top left; }
45
- li { color: #888; cursor: pointer; }
46
- li.deprecated { text-decoration: line-through; font-style: italic; }
47
- /*li.r1 { background: #f0f0f0; }
48
- li.r2 { background: #fafafa; }*/
49
- li:hover { background: #ddd; }
50
- li small:before { content: "("; }
51
- li small:after { content: ")"; }
52
- li small.search_info { display: none; }
53
- a:link, a:visited { text-decoration: none; color: #777; }
54
- li.clicked { background: #777; color: #ccc; }
55
- li.clicked a:link, li.clicked a:visited { color: #eee; }
56
- li.clicked a.toggle { opacity: 0.5; background-position: bottom right; }
57
- li.collapsed.clicked a.toggle { background-position: top right; }
58
- #search input { border: 1px solid #bbb; -moz-border-radius: 3px; -webkit-border-radius: 3px; }
59
- #nav { margin-left: 10px; font-size: 0.9em; display: none; color: #aaa; }
60
- #nav a:link, #nav a:visited { color: #358; }
61
- #nav a:hover { background: transparent; color: #5af; }
62
- .frames #nav span:after { content: ' | '; }
63
- .frames #nav span:last-child:after { content: ''; }
64
-
65
- .frames #content h1 { margin-top: 0; }
66
- .frames li { white-space: nowrap; cursor: normal; }
67
- .frames li small { display: block; font-size: 0.8em; }
68
- .frames li small:before { content: ""; }
69
- .frames li small:after { content: ""; }
70
- .frames li small.search_info { display: none; }
71
- .frames #search { width: 170px; position: static; margin: 3px; margin-left: 10px; font-size: 0.9em; color: #888; padding-left: 0; padding-right: 24px; }
72
- .frames #content.insearch #search { background-position: center right; }
73
- .frames #search input { width: 110px; }
74
- .frames #nav { display: block; }
75
-
76
- #full_list.insearch li { display: none; }
77
- #full_list.insearch li.found { display: list-item; padding-left: 10px; }
78
- #full_list.insearch li a.toggle { display: none; }
79
- #full_list.insearch li small.search_info { display: block; }