auth0 4.17.1 → 5.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.gitignore +0 -1
- data/.yardoc/checksums +22 -0
- data/.yardoc/complete +0 -0
- data/.yardoc/object_types +0 -0
- data/.yardoc/objects/root.dat +0 -0
- data/.yardoc/proxy_types +0 -0
- data/CHANGELOG.md +33 -0
- data/Gemfile +0 -1
- data/Gemfile.lock +19 -21
- data/README.md +1 -7
- data/Rakefile +0 -22
- data/auth0.gemspec +0 -1
- data/examples/ruby-api/.gitignore +0 -6
- data/lib/auth0/api/authentication_endpoints.rb +6 -220
- data/lib/auth0/api/v2/users.rb +7 -5
- data/lib/auth0/exception.rb +2 -7
- data/lib/auth0/mixins.rb +0 -1
- data/lib/auth0/mixins/access_token_struct.rb +2 -2
- data/lib/auth0/mixins/api_token_struct.rb +2 -2
- data/lib/auth0/mixins/initializer.rb +1 -7
- data/lib/auth0/mixins/permission_struct.rb +2 -2
- data/lib/auth0/mixins/validation.rb +1 -1
- data/lib/auth0/version.rb +1 -1
- data/spec/integration/lib/auth0/api/api_authentication_spec.rb +1 -1
- data/spec/integration/lib/auth0/api/v2/api_roles_spec.rb +1 -1
- data/spec/integration/lib/auth0/api/v2/api_users_spec.rb +1 -1
- data/spec/lib/auth0/api/v2/roles_spec.rb +4 -4
- data/spec/lib/auth0/api/v2/users_spec.rb +19 -9
- data/spec/support/credentials.rb +0 -19
- metadata +7 -31
- data/deploy_documentation.sh +0 -29
- data/doc_config/templates/default/fulldoc/html/css/full_list.css +0 -79
- data/doc_config/templates/default/fulldoc/html/css/style.css +0 -546
- data/doc_config/templates/default/layout/html/breadcrumb.erb +0 -11
- data/doc_config/templates/default/layout/html/footer.erb +0 -115
- data/doc_config/templates/default/layout/html/headers.erb +0 -17
- data/doc_config/templates/default/layout/html/layout.erb +0 -27
- data/lib/auth0/api/v1.rb +0 -19
- data/lib/auth0/api/v1/clients.rb +0 -58
- data/lib/auth0/api/v1/connections.rb +0 -68
- data/lib/auth0/api/v1/logs.rb +0 -43
- data/lib/auth0/api/v1/rules.rb +0 -57
- data/lib/auth0/api/v1/users.rb +0 -227
- data/spec/lib/auth0/api/authentication_endpoints_spec.rb +0 -703
data/lib/auth0/api/v2/users.rb
CHANGED
@@ -43,13 +43,15 @@ module Auth0
|
|
43
43
|
# The attribute connection is always mandatory but depending on the type of connection you are using there
|
44
44
|
# could be others too. For instance, Auth0 DB Connections require email and password.
|
45
45
|
# @see https://auth0.com/docs/api/v2#!/Users/post_users
|
46
|
-
# @param
|
47
|
-
# @param options [hash]
|
48
|
-
# * :connection [string] The connection the user belongs to.
|
46
|
+
# @param connection [string] The connection the user belongs to.
|
47
|
+
# @param options [hash] See https://auth0.com/docs/api/management/v2#!/Users/post_users for available options
|
49
48
|
# @return [json] Returns the created user.
|
50
|
-
def create_user(
|
49
|
+
def create_user(connection, options = {})
|
50
|
+
if !connection.is_a?(String) || connection.empty?
|
51
|
+
raise Auth0::MissingParameter, 'Must supply a valid connection'
|
52
|
+
end
|
51
53
|
request_params = Hash[options.map { |(k, v)| [k.to_sym, v] }]
|
52
|
-
request_params[:
|
54
|
+
request_params[:connection] = connection
|
53
55
|
post(users_path, request_params)
|
54
56
|
end
|
55
57
|
|
data/lib/auth0/exception.rb
CHANGED
@@ -44,17 +44,12 @@ module Auth0
|
|
44
44
|
class AccessDenied < Auth0::HTTPError; end
|
45
45
|
# Invalid parameter passed, e.g. empty where ID is required
|
46
46
|
class InvalidParameter < Auth0::Exception; end
|
47
|
-
# Invalid
|
48
|
-
# or JWT for API v2/
|
47
|
+
# Invalid JWT
|
49
48
|
class InvalidCredentials < Auth0::Exception; end
|
50
49
|
# Invalid Auth0 API namespace
|
51
50
|
class InvalidApiNamespace < Auth0::Exception; end
|
52
51
|
# Auth0 API rate-limiting encountered
|
53
|
-
|
54
|
-
# of Auth0::HTTPError directly rather than Auth0::Unsupported.
|
55
|
-
# It's currently under Unsupported to avoid breaking compatibility
|
56
|
-
# with prior gem versions that treated 429 errors as unknown errors.
|
57
|
-
class RateLimitEncountered < Auth0::Unsupported
|
52
|
+
class RateLimitEncountered < Auth0::HTTPError
|
58
53
|
def reset
|
59
54
|
Time.at(headers['X-RateLimit-Reset']).utc
|
60
55
|
end
|
data/lib/auth0/mixins.rb
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
ApiToken = Struct.new :access_token, :scope, :expires_in do
|
1
|
+
Auth0::ApiToken = Struct.new :access_token, :scope, :expires_in do
|
2
2
|
|
3
3
|
def token
|
4
4
|
access_token
|
@@ -7,4 +7,4 @@ ApiToken = Struct.new :access_token, :scope, :expires_in do
|
|
7
7
|
def scopes
|
8
8
|
scope.split
|
9
9
|
end
|
10
|
-
end
|
10
|
+
end
|
@@ -40,7 +40,7 @@ module Auth0
|
|
40
40
|
private
|
41
41
|
|
42
42
|
def initialize_api(options)
|
43
|
-
|
43
|
+
initialize_v2(options)
|
44
44
|
raise InvalidCredentials, 'Must supply a valid API token' if @token.nil?
|
45
45
|
if options.fetch(:authorization, nil) == 'Basic'
|
46
46
|
authorization_header_basic(options)
|
@@ -61,12 +61,6 @@ module Auth0
|
|
61
61
|
@token = api_token.token if @token.nil? && @client_id && @client_secret
|
62
62
|
end
|
63
63
|
|
64
|
-
def initialize_v1
|
65
|
-
extend Auth0::Api::V1
|
66
|
-
raise InvalidCredentials, 'Invalid API v1 client_id and client_secret' if @client_id.nil? || @client_secret.nil?
|
67
|
-
@token = obtain_access_token
|
68
|
-
end
|
69
|
-
|
70
64
|
def api_v2?(options)
|
71
65
|
version = options[:api_version] || 2
|
72
66
|
protocol = options[:protocols].to_s
|
@@ -1,3 +1,3 @@
|
|
1
|
-
Permission = Struct.new :permission_name, :resource_server_identifier do
|
1
|
+
Auth0::Permission = Struct.new :permission_name, :resource_server_identifier do
|
2
2
|
|
3
|
-
end
|
3
|
+
end
|
@@ -23,7 +23,7 @@ module Auth0
|
|
23
23
|
raise Auth0::InvalidParameter, 'Must supply an array of Permissions' unless permissions.kind_of?(Array)
|
24
24
|
raise Auth0::MissingParameter, 'Must supply an array of Permissions' if permissions.empty?
|
25
25
|
raise Auth0::InvalidParameter, 'All array elements must be Permissions' unless permissions.all? do |permission|
|
26
|
-
permission.kind_of? Permission
|
26
|
+
permission.kind_of? ::Auth0::Permission
|
27
27
|
end
|
28
28
|
permissions.map { |permission| permission.to_h }
|
29
29
|
end
|
data/lib/auth0/version.rb
CHANGED
@@ -60,7 +60,7 @@ describe Auth0::Api::AuthenticationEndpoints do
|
|
60
60
|
end
|
61
61
|
|
62
62
|
it 'should return the userinfo' do
|
63
|
-
tokens = @client.
|
63
|
+
tokens = @client.login_with_resource_owner(test_user_email, test_user_pwd)
|
64
64
|
expect(@client.userinfo(tokens['access_token'])).to(
|
65
65
|
include( 'email' => test_user_email )
|
66
66
|
)
|
@@ -14,7 +14,7 @@ describe Auth0::Api::V2::Roles do
|
|
14
14
|
@test_role_name = "#{entity_suffix}-test-role"
|
15
15
|
|
16
16
|
@test_permission_name = "#{entity_suffix}-test-permission"
|
17
|
-
@test_permission = Permission.new(@test_permission_name, @test_api_name)
|
17
|
+
@test_permission = ::Auth0::Permission.new(@test_permission_name , @test_api_name)
|
18
18
|
|
19
19
|
VCR.use_cassette('Auth0_Api_V2_Roles/create_test_user') do
|
20
20
|
@test_user ||= client.create_user(
|
@@ -14,7 +14,7 @@ describe Auth0::Api::V2::Users do
|
|
14
14
|
@test_api_scope = 'test:scope'
|
15
15
|
|
16
16
|
@test_permission_name = "#{entity_suffix}-test-permission-for-users"
|
17
|
-
@test_permission = Permission.new("#{entity_suffix}-test-permission-for-users", @test_api_name)
|
17
|
+
@test_permission = ::Auth0::Permission.new("#{entity_suffix}-test-permission-for-users", @test_api_name)
|
18
18
|
|
19
19
|
VCR.use_cassette('Auth0_Api_V2_Users/create_test_user') do
|
20
20
|
@test_user ||= client.create_user(
|
@@ -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
|
@@ -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
|
-
'
|
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
|
@@ -451,8 +461,8 @@ describe Auth0::Api::V2::Users do
|
|
451
461
|
@instance.remove_user_permissions(
|
452
462
|
'USER_ID',
|
453
463
|
[
|
454
|
-
Permission.new('permission-name-1', 'server-id-1'),
|
455
|
-
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')
|
456
466
|
]
|
457
467
|
)
|
458
468
|
end.not_to raise_error
|
@@ -496,8 +506,8 @@ describe Auth0::Api::V2::Users do
|
|
496
506
|
@instance.add_user_permissions(
|
497
507
|
'USER_ID',
|
498
508
|
[
|
499
|
-
Permission.new('permission-name-1', 'server-id-1'),
|
500
|
-
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')
|
501
511
|
]
|
502
512
|
)
|
503
513
|
end.not_to raise_error
|
data/spec/support/credentials.rb
CHANGED
@@ -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
|
+
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-10-
|
14
|
+
date: 2020-10-23 00:00:00.000000000 Z
|
15
15
|
dependencies:
|
16
16
|
- !ruby/object:Gem::Dependency
|
17
17
|
name: rest-client
|
@@ -229,20 +229,6 @@ dependencies:
|
|
229
229
|
- - "~>"
|
230
230
|
- !ruby/object:Gem::Version
|
231
231
|
version: '1.4'
|
232
|
-
- !ruby/object:Gem::Dependency
|
233
|
-
name: yard
|
234
|
-
requirement: !ruby/object:Gem::Requirement
|
235
|
-
requirements:
|
236
|
-
- - "~>"
|
237
|
-
- !ruby/object:Gem::Version
|
238
|
-
version: 0.9.12
|
239
|
-
type: :development
|
240
|
-
prerelease: false
|
241
|
-
version_requirements: !ruby/object:Gem::Requirement
|
242
|
-
requirements:
|
243
|
-
- - "~>"
|
244
|
-
- !ruby/object:Gem::Version
|
245
|
-
version: 0.9.12
|
246
232
|
- !ruby/object:Gem::Dependency
|
247
233
|
name: gem-release
|
248
234
|
requirement: !ruby/object:Gem::Requirement
|
@@ -276,6 +262,11 @@ files:
|
|
276
262
|
- ".rspec"
|
277
263
|
- ".rubocop.yml"
|
278
264
|
- ".rubocop_todo.yml"
|
265
|
+
- ".yardoc/checksums"
|
266
|
+
- ".yardoc/complete"
|
267
|
+
- ".yardoc/object_types"
|
268
|
+
- ".yardoc/objects/root.dat"
|
269
|
+
- ".yardoc/proxy_types"
|
279
270
|
- CHANGELOG.md
|
280
271
|
- CODE_OF_CONDUCT.md
|
281
272
|
- DEPLOYMENT.md
|
@@ -289,13 +280,6 @@ files:
|
|
289
280
|
- Rakefile
|
290
281
|
- auth0.gemspec
|
291
282
|
- codecov.yml
|
292
|
-
- deploy_documentation.sh
|
293
|
-
- doc_config/templates/default/fulldoc/html/css/full_list.css
|
294
|
-
- doc_config/templates/default/fulldoc/html/css/style.css
|
295
|
-
- doc_config/templates/default/layout/html/breadcrumb.erb
|
296
|
-
- doc_config/templates/default/layout/html/footer.erb
|
297
|
-
- doc_config/templates/default/layout/html/headers.erb
|
298
|
-
- doc_config/templates/default/layout/html/layout.erb
|
299
283
|
- examples/ruby-api/.env.example
|
300
284
|
- examples/ruby-api/.gitignore
|
301
285
|
- examples/ruby-api/Gemfile
|
@@ -366,12 +350,6 @@ files:
|
|
366
350
|
- lib/auth0.rb
|
367
351
|
- lib/auth0/algorithm.rb
|
368
352
|
- lib/auth0/api/authentication_endpoints.rb
|
369
|
-
- lib/auth0/api/v1.rb
|
370
|
-
- lib/auth0/api/v1/clients.rb
|
371
|
-
- lib/auth0/api/v1/connections.rb
|
372
|
-
- lib/auth0/api/v1/logs.rb
|
373
|
-
- lib/auth0/api/v1/rules.rb
|
374
|
-
- lib/auth0/api/v1/users.rb
|
375
353
|
- lib/auth0/api/v2.rb
|
376
354
|
- lib/auth0/api/v2/anomaly.rb
|
377
355
|
- lib/auth0/api/v2/blacklists.rb
|
@@ -594,7 +572,6 @@ files:
|
|
594
572
|
- spec/integration/lib/auth0/api/v2/api_user_blocks_spec.rb
|
595
573
|
- spec/integration/lib/auth0/api/v2/api_users_spec.rb
|
596
574
|
- spec/integration/lib/auth0/auth0_client_spec.rb
|
597
|
-
- spec/lib/auth0/api/authentication_endpoints_spec.rb
|
598
575
|
- spec/lib/auth0/api/v2/anomaly_spec.rb
|
599
576
|
- spec/lib/auth0/api/v2/blacklists_spec.rb
|
600
577
|
- spec/lib/auth0/api/v2/client_grants_spec.rb
|
@@ -838,7 +815,6 @@ test_files:
|
|
838
815
|
- spec/integration/lib/auth0/api/v2/api_user_blocks_spec.rb
|
839
816
|
- spec/integration/lib/auth0/api/v2/api_users_spec.rb
|
840
817
|
- spec/integration/lib/auth0/auth0_client_spec.rb
|
841
|
-
- spec/lib/auth0/api/authentication_endpoints_spec.rb
|
842
818
|
- spec/lib/auth0/api/v2/anomaly_spec.rb
|
843
819
|
- spec/lib/auth0/api/v2/blacklists_spec.rb
|
844
820
|
- spec/lib/auth0/api/v2/client_grants_spec.rb
|
data/deploy_documentation.sh
DELETED
@@ -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; }
|