openstax_utilities 4.3.0 → 4.4.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +1 -1
- data/app/controllers/openstax/utilities/status_controller.rb +66 -0
- data/app/views/layouts/openstax/utilities/status.html.erb +26 -0
- data/app/views/openstax/utilities/status/index.html.erb +45 -0
- data/config/routes.rb +3 -0
- data/lib/openstax/utilities/assets/manifest.rb +4 -0
- data/lib/openstax/utilities/engine.rb +3 -2
- data/lib/openstax/utilities/version.rb +1 -1
- metadata +21 -113
- data/spec/cassettes/OpenStax_Utilities_Assets/loading_remote_manifest/uses_remote_json.yml +0 -353
- data/spec/dummy/README.md +0 -1
- data/spec/dummy/Rakefile +0 -6
- data/spec/dummy/app/access_policies/dummier_access_policy.rb +0 -10
- data/spec/dummy/app/access_policies/dummy_access_policy.rb +0 -10
- data/spec/dummy/app/assets/config/manifest.js +0 -3
- data/spec/dummy/app/assets/javascripts/application.js +0 -13
- data/spec/dummy/app/assets/stylesheets/application.css +0 -15
- data/spec/dummy/app/controllers/application_controller.rb +0 -5
- data/spec/dummy/app/helpers/application_helper.rb +0 -2
- data/spec/dummy/app/models/user.rb +0 -2
- data/spec/dummy/app/views/layouts/application.html.erb +0 -14
- data/spec/dummy/bin/bundle +0 -3
- data/spec/dummy/bin/rails +0 -4
- data/spec/dummy/bin/rake +0 -4
- data/spec/dummy/config.ru +0 -4
- data/spec/dummy/config/application.rb +0 -18
- data/spec/dummy/config/boot.rb +0 -5
- data/spec/dummy/config/database.yml +0 -25
- data/spec/dummy/config/environment.rb +0 -5
- data/spec/dummy/config/environments/development.rb +0 -37
- data/spec/dummy/config/environments/production.rb +0 -78
- data/spec/dummy/config/environments/test.rb +0 -39
- data/spec/dummy/config/initializers/access_policies.rb +0 -1
- data/spec/dummy/config/initializers/assets.rb +0 -8
- data/spec/dummy/config/initializers/backtrace_silencers.rb +0 -7
- data/spec/dummy/config/initializers/cookies_serializer.rb +0 -3
- data/spec/dummy/config/initializers/filter_parameter_logging.rb +0 -4
- data/spec/dummy/config/initializers/inflections.rb +0 -16
- data/spec/dummy/config/initializers/mime_types.rb +0 -4
- data/spec/dummy/config/initializers/search_users.rb +0 -26
- data/spec/dummy/config/initializers/session_store.rb +0 -3
- data/spec/dummy/config/initializers/wrap_parameters.rb +0 -14
- data/spec/dummy/config/locales/en.yml +0 -23
- data/spec/dummy/config/routes.rb +0 -2
- data/spec/dummy/config/secrets.yml +0 -19
- data/spec/dummy/db/migrate/0_create_users.rb +0 -16
- data/spec/dummy/db/schema.rb +0 -29
- data/spec/dummy/db/test.sqlite3 +0 -0
- data/spec/dummy/log/test.log +0 -32144
- data/spec/dummy/public/404.html +0 -67
- data/spec/dummy/public/422.html +0 -67
- data/spec/dummy/public/500.html +0 -66
- data/spec/dummy/public/favicon.ico +0 -0
- data/spec/dummy/tmp/cache/C09/760/6da7b2a29da9cb0f80ef102c7effb91fab3374db +0 -0
- data/spec/factories/user.rb +0 -8
- data/spec/lib/openstax/utilities/access_policy_spec.rb +0 -68
- data/spec/lib/openstax/utilities/assets_spec.rb +0 -40
- data/spec/rails_helper.rb +0 -53
- data/spec/routines/openstax/utilities/limit_and_paginate_relation_spec.rb +0 -72
- data/spec/routines/openstax/utilities/order_relation_spec.rb +0 -55
- data/spec/routines/openstax/utilities/search_and_organize_relation_spec.rb +0 -139
- data/spec/routines/openstax/utilities/search_relation_spec.rb +0 -81
- data/spec/spec_helper.rb +0 -85
- data/spec/vcr_helper.rb +0 -18
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 23bd083b2474dd40ea6848f919c4adbc50cc1cbaa927b8de0f968888100a3f8d
|
4
|
+
data.tar.gz: 0a35031fbb7df47f6675307130187e24e9bf4bec4699c8a129c0697832877653
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b3bee8a0ca7d846e020da56ff82a50bde40317e772e7287d8853c8847009fa1ec857bc79865c8850f9f69a7e50817c1e3e2a85188ab35de21607fa0038b32397
|
7
|
+
data.tar.gz: 3a11784b8209459777082d0939c5d2ad6e2ee5373476f518056586b5ceb0d2371ecf2362ee8ffee1755e1321bf6e30d09be32e5ef791958782a801f19131b2f5
|
data/README.md
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
OpenStax Utilities
|
2
2
|
==================
|
3
3
|
|
4
|
-
[![
|
4
|
+
[![Tests](https://github.com/openstax/openstax_utilities/workflows/Tests/badge.svg)](https://github.com/openstax/openstax_utilities/actions?query=workflow:Tests)
|
5
5
|
[![Code Climate](https://codeclimate.com/github/openstax/openstax_utilities.png)](https://codeclimate.com/github/openstax/openstax_utilities)
|
6
6
|
|
7
7
|
A set of common utilities for the various OpenStax projects.
|
@@ -0,0 +1,66 @@
|
|
1
|
+
require 'aws-sdk-autoscaling'
|
2
|
+
|
3
|
+
class OpenStax::Utilities::StatusController < ActionController::Base
|
4
|
+
layout 'openstax/utilities/status'
|
5
|
+
|
6
|
+
def index
|
7
|
+
@application_name = Rails.application.class.parent_name
|
8
|
+
@environment_name = Rails.application.secrets.environment_name
|
9
|
+
|
10
|
+
@statuses = if @environment_name == 'development'
|
11
|
+
[ [ 'local', 1, 1, :ok ] ]
|
12
|
+
else
|
13
|
+
queues = Delayed::Worker.queue_attributes.keys.map(&:to_s) - [ 'migration' ]
|
14
|
+
asgs = [ 'migration', 'web', 'cron', 'background' ] + queues.map do |queue|
|
15
|
+
"background-#{queue}"
|
16
|
+
end
|
17
|
+
|
18
|
+
Aws::AutoScaling::Client.new.describe_auto_scaling_groups(
|
19
|
+
auto_scaling_group_names: asgs.map do |asg|
|
20
|
+
"#{@environment_name}-#{@application_name.downcase}-#{asg}-asg"
|
21
|
+
end
|
22
|
+
).auto_scaling_groups.map do |asg|
|
23
|
+
name = asg.auto_scaling_group_name.sub(
|
24
|
+
"#{@environment_name}-#{@application_name.downcase}-", ''
|
25
|
+
).chomp('-asg')
|
26
|
+
|
27
|
+
status = if asg.desired_capacity == 0
|
28
|
+
if asg.instances.size > 0
|
29
|
+
:shutting_down
|
30
|
+
elsif [ 'web', 'background', 'cron' ].include?(name)
|
31
|
+
:configuration_error
|
32
|
+
else
|
33
|
+
:sleeping
|
34
|
+
end
|
35
|
+
elsif asg.instances.all? do |instance|
|
36
|
+
instance.health_status != 'Healthy' || instance.lifecycle_state != 'InService'
|
37
|
+
end
|
38
|
+
:down
|
39
|
+
elsif name == 'migration'
|
40
|
+
:migrating
|
41
|
+
elsif asg.max_size > 1 && asg.desired_capacity == asg.max_size
|
42
|
+
:at_capacity
|
43
|
+
elsif asg.instances.size < asg.desired_capacity
|
44
|
+
:scaling_up
|
45
|
+
elsif asg.instances.size > asg.desired_capacity
|
46
|
+
:scaling_down
|
47
|
+
else
|
48
|
+
:ok
|
49
|
+
end
|
50
|
+
|
51
|
+
[ name, asg.instances.size, asg.max_size, status ]
|
52
|
+
end.sort_by do |name, _, _, _|
|
53
|
+
case name
|
54
|
+
when 'migration'
|
55
|
+
'0'
|
56
|
+
when 'web'
|
57
|
+
'1'
|
58
|
+
when 'cron'
|
59
|
+
'2'
|
60
|
+
else
|
61
|
+
"3#{name}"
|
62
|
+
end
|
63
|
+
end
|
64
|
+
end
|
65
|
+
end
|
66
|
+
end
|
@@ -0,0 +1,26 @@
|
|
1
|
+
<% title = "OpenStax #{@application_name} (#{@environment_name}) Status" %>
|
2
|
+
|
3
|
+
<!DOCTYPE html>
|
4
|
+
<html>
|
5
|
+
<head>
|
6
|
+
<title><%= title %></title>
|
7
|
+
<meta name="robots" content="noindex">
|
8
|
+
<meta http-equiv="content-type" content="text/html; charset=UTF8" />
|
9
|
+
|
10
|
+
<%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track' => true %>
|
11
|
+
<%= javascript_include_tag 'application', 'data-turbolinks-track' => true %>
|
12
|
+
<%= csrf_meta_tags %>
|
13
|
+
</head>
|
14
|
+
|
15
|
+
<body id="status" class="status">
|
16
|
+
<header>
|
17
|
+
<h2 style="margin-left: 16px;"><%= title %></h2>
|
18
|
+
</header>
|
19
|
+
|
20
|
+
<div class="body" style="margin-left: 16px;">
|
21
|
+
<div class="body-container">
|
22
|
+
<%= yield %>
|
23
|
+
</div>
|
24
|
+
</div>
|
25
|
+
</body>
|
26
|
+
</html>
|
@@ -0,0 +1,45 @@
|
|
1
|
+
<%
|
2
|
+
status_icons = {
|
3
|
+
down: '💀',
|
4
|
+
configuration_error: '⚠️',
|
5
|
+
shutting_down: '😪',
|
6
|
+
at_capacity: '🥵',
|
7
|
+
scaling_down: '📉',
|
8
|
+
scaling_up: '📈',
|
9
|
+
migrating: '💾',
|
10
|
+
ok: '✅',
|
11
|
+
sleeping: '💤'
|
12
|
+
}
|
13
|
+
|
14
|
+
backend = @application_name == 'Tutor' ? 'tutor-server' : @application_name.downcase
|
15
|
+
%>
|
16
|
+
|
17
|
+
<h3>Versions</h3>
|
18
|
+
|
19
|
+
<ul>
|
20
|
+
<li>
|
21
|
+
Backend (<%= backend %>): <%= Rails.application.secrets.release_version || 'not deployed' %>
|
22
|
+
</li>
|
23
|
+
<li>
|
24
|
+
Frontend (tutor-js): <%= OpenStax::Utilities::Assets.manifest.version || 'not deployed' %>
|
25
|
+
</li>
|
26
|
+
</ul>
|
27
|
+
|
28
|
+
<% status = status_icons.find { |key, _| @statuses.any? { |_, _, _, status| status == key } } %>
|
29
|
+
<h3>Status: <% unless status.nil? %><span title="<%=
|
30
|
+
status.first.to_s.humanize
|
31
|
+
%>"><%= status.second %></span><% end %></h3>
|
32
|
+
|
33
|
+
<ul>
|
34
|
+
<% @statuses.map do |name, num_instances, max_size, status| %>
|
35
|
+
<% title = status.to_s.humanize %>
|
36
|
+
<li>
|
37
|
+
<%= name.to_s.underscore.humanize %>: <%= num_instances %>/<%= max_size %>
|
38
|
+
<% if status_icons.has_key? status %>
|
39
|
+
<span title="<%= title %>"><%= status_icons[status] %></span>
|
40
|
+
<% else %>
|
41
|
+
(<%= title %>)
|
42
|
+
<% end %>
|
43
|
+
</li>
|
44
|
+
<% end %>
|
45
|
+
</ul>
|
data/config/routes.rb
ADDED
@@ -5,6 +5,8 @@ module OpenStax::Utilities
|
|
5
5
|
module Assets
|
6
6
|
# Reads and parses the assets manifest
|
7
7
|
class Manifest
|
8
|
+
attr_reader :version
|
9
|
+
|
8
10
|
def initialize
|
9
11
|
@assets = HashWithIndifferentAccess.new
|
10
12
|
|
@@ -16,6 +18,8 @@ module OpenStax::Utilities
|
|
16
18
|
if response.success?
|
17
19
|
contents = JSON.parse response.body
|
18
20
|
|
21
|
+
@version = contents['version']
|
22
|
+
|
19
23
|
if contents['entrypoints'].blank?
|
20
24
|
Rails.logger.error { "failed to parse manifest from #{url}" }
|
21
25
|
else
|
@@ -2,6 +2,7 @@ require "openstax/utilities/action_list"
|
|
2
2
|
|
3
3
|
ActiveSupport::Inflector.inflections do |inflect|
|
4
4
|
inflect.acronym 'OpenStax'
|
5
|
+
inflect.acronym 'OSU'
|
5
6
|
end
|
6
7
|
|
7
8
|
module OpenStax
|
@@ -14,10 +15,10 @@ module OpenStax
|
|
14
15
|
end
|
15
16
|
|
16
17
|
config.generators do |g|
|
17
|
-
g.test_framework :rspec, :
|
18
|
+
g.test_framework :rspec, fixture: false
|
18
19
|
g.assets false
|
19
20
|
g.helper false
|
20
21
|
end
|
21
22
|
end
|
22
23
|
end
|
23
|
-
end
|
24
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: openstax_utilities
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 4.
|
4
|
+
version: 4.4.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- JP Slavinsky
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2021-01-05 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|
@@ -94,6 +94,20 @@ dependencies:
|
|
94
94
|
- - ">="
|
95
95
|
- !ruby/object:Gem::Version
|
96
96
|
version: '0'
|
97
|
+
- !ruby/object:Gem::Dependency
|
98
|
+
name: aws-sdk-autoscaling
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
100
|
+
requirements:
|
101
|
+
- - ">="
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
version: '0'
|
104
|
+
type: :runtime
|
105
|
+
prerelease: false
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
107
|
+
requirements:
|
108
|
+
- - ">="
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: '0'
|
97
111
|
- !ruby/object:Gem::Dependency
|
98
112
|
name: sqlite3
|
99
113
|
requirement: !ruby/object:Gem::Requirement
|
@@ -188,11 +202,15 @@ files:
|
|
188
202
|
- MIT-LICENSE
|
189
203
|
- README.md
|
190
204
|
- Rakefile
|
205
|
+
- app/controllers/openstax/utilities/status_controller.rb
|
191
206
|
- app/routines/openstax/utilities/limit_and_paginate_relation.rb
|
192
207
|
- app/routines/openstax/utilities/order_relation.rb
|
193
208
|
- app/routines/openstax/utilities/search_and_organize_relation.rb
|
194
209
|
- app/routines/openstax/utilities/search_relation.rb
|
210
|
+
- app/views/layouts/openstax/utilities/status.html.erb
|
211
|
+
- app/views/openstax/utilities/status/index.html.erb
|
195
212
|
- app/views/osu/shared/_action_list.html.erb
|
213
|
+
- config/routes.rb
|
196
214
|
- lib/openstax/utilities/access.rb
|
197
215
|
- lib/openstax/utilities/access_policy.rb
|
198
216
|
- lib/openstax/utilities/action_list.rb
|
@@ -216,61 +234,6 @@ files:
|
|
216
234
|
- lib/openstax/utilities/text.rb
|
217
235
|
- lib/openstax/utilities/version.rb
|
218
236
|
- lib/openstax_utilities.rb
|
219
|
-
- spec/cassettes/OpenStax_Utilities_Assets/loading_remote_manifest/uses_remote_json.yml
|
220
|
-
- spec/dummy/README.md
|
221
|
-
- spec/dummy/Rakefile
|
222
|
-
- spec/dummy/app/access_policies/dummier_access_policy.rb
|
223
|
-
- spec/dummy/app/access_policies/dummy_access_policy.rb
|
224
|
-
- spec/dummy/app/assets/config/manifest.js
|
225
|
-
- spec/dummy/app/assets/javascripts/application.js
|
226
|
-
- spec/dummy/app/assets/stylesheets/application.css
|
227
|
-
- spec/dummy/app/controllers/application_controller.rb
|
228
|
-
- spec/dummy/app/helpers/application_helper.rb
|
229
|
-
- spec/dummy/app/models/user.rb
|
230
|
-
- spec/dummy/app/views/layouts/application.html.erb
|
231
|
-
- spec/dummy/bin/bundle
|
232
|
-
- spec/dummy/bin/rails
|
233
|
-
- spec/dummy/bin/rake
|
234
|
-
- spec/dummy/config.ru
|
235
|
-
- spec/dummy/config/application.rb
|
236
|
-
- spec/dummy/config/boot.rb
|
237
|
-
- spec/dummy/config/database.yml
|
238
|
-
- spec/dummy/config/environment.rb
|
239
|
-
- spec/dummy/config/environments/development.rb
|
240
|
-
- spec/dummy/config/environments/production.rb
|
241
|
-
- spec/dummy/config/environments/test.rb
|
242
|
-
- spec/dummy/config/initializers/access_policies.rb
|
243
|
-
- spec/dummy/config/initializers/assets.rb
|
244
|
-
- spec/dummy/config/initializers/backtrace_silencers.rb
|
245
|
-
- spec/dummy/config/initializers/cookies_serializer.rb
|
246
|
-
- spec/dummy/config/initializers/filter_parameter_logging.rb
|
247
|
-
- spec/dummy/config/initializers/inflections.rb
|
248
|
-
- spec/dummy/config/initializers/mime_types.rb
|
249
|
-
- spec/dummy/config/initializers/search_users.rb
|
250
|
-
- spec/dummy/config/initializers/session_store.rb
|
251
|
-
- spec/dummy/config/initializers/wrap_parameters.rb
|
252
|
-
- spec/dummy/config/locales/en.yml
|
253
|
-
- spec/dummy/config/routes.rb
|
254
|
-
- spec/dummy/config/secrets.yml
|
255
|
-
- spec/dummy/db/migrate/0_create_users.rb
|
256
|
-
- spec/dummy/db/schema.rb
|
257
|
-
- spec/dummy/db/test.sqlite3
|
258
|
-
- spec/dummy/log/test.log
|
259
|
-
- spec/dummy/public/404.html
|
260
|
-
- spec/dummy/public/422.html
|
261
|
-
- spec/dummy/public/500.html
|
262
|
-
- spec/dummy/public/favicon.ico
|
263
|
-
- spec/dummy/tmp/cache/C09/760/6da7b2a29da9cb0f80ef102c7effb91fab3374db
|
264
|
-
- spec/factories/user.rb
|
265
|
-
- spec/lib/openstax/utilities/access_policy_spec.rb
|
266
|
-
- spec/lib/openstax/utilities/assets_spec.rb
|
267
|
-
- spec/rails_helper.rb
|
268
|
-
- spec/routines/openstax/utilities/limit_and_paginate_relation_spec.rb
|
269
|
-
- spec/routines/openstax/utilities/order_relation_spec.rb
|
270
|
-
- spec/routines/openstax/utilities/search_and_organize_relation_spec.rb
|
271
|
-
- spec/routines/openstax/utilities/search_relation_spec.rb
|
272
|
-
- spec/spec_helper.rb
|
273
|
-
- spec/vcr_helper.rb
|
274
237
|
homepage: http://github.com/openstax/openstax_utilities
|
275
238
|
licenses:
|
276
239
|
- MIT
|
@@ -294,59 +257,4 @@ rubygems_version: 3.1.4
|
|
294
257
|
signing_key:
|
295
258
|
specification_version: 4
|
296
259
|
summary: Utilities for OpenStax web sites
|
297
|
-
test_files:
|
298
|
-
- spec/rails_helper.rb
|
299
|
-
- spec/spec_helper.rb
|
300
|
-
- spec/vcr_helper.rb
|
301
|
-
- spec/factories/user.rb
|
302
|
-
- spec/dummy/app/models/user.rb
|
303
|
-
- spec/dummy/app/assets/javascripts/application.js
|
304
|
-
- spec/dummy/app/assets/stylesheets/application.css
|
305
|
-
- spec/dummy/app/assets/config/manifest.js
|
306
|
-
- spec/dummy/app/views/layouts/application.html.erb
|
307
|
-
- spec/dummy/app/access_policies/dummier_access_policy.rb
|
308
|
-
- spec/dummy/app/access_policies/dummy_access_policy.rb
|
309
|
-
- spec/dummy/app/controllers/application_controller.rb
|
310
|
-
- spec/dummy/app/helpers/application_helper.rb
|
311
|
-
- spec/dummy/tmp/cache/C09/760/6da7b2a29da9cb0f80ef102c7effb91fab3374db
|
312
|
-
- spec/dummy/db/migrate/0_create_users.rb
|
313
|
-
- spec/dummy/db/test.sqlite3
|
314
|
-
- spec/dummy/db/schema.rb
|
315
|
-
- spec/dummy/log/test.log
|
316
|
-
- spec/dummy/README.md
|
317
|
-
- spec/dummy/public/favicon.ico
|
318
|
-
- spec/dummy/public/422.html
|
319
|
-
- spec/dummy/public/404.html
|
320
|
-
- spec/dummy/public/500.html
|
321
|
-
- spec/dummy/config.ru
|
322
|
-
- spec/dummy/bin/rails
|
323
|
-
- spec/dummy/bin/rake
|
324
|
-
- spec/dummy/bin/bundle
|
325
|
-
- spec/dummy/config/application.rb
|
326
|
-
- spec/dummy/config/initializers/filter_parameter_logging.rb
|
327
|
-
- spec/dummy/config/initializers/search_users.rb
|
328
|
-
- spec/dummy/config/initializers/assets.rb
|
329
|
-
- spec/dummy/config/initializers/cookies_serializer.rb
|
330
|
-
- spec/dummy/config/initializers/inflections.rb
|
331
|
-
- spec/dummy/config/initializers/backtrace_silencers.rb
|
332
|
-
- spec/dummy/config/initializers/wrap_parameters.rb
|
333
|
-
- spec/dummy/config/initializers/access_policies.rb
|
334
|
-
- spec/dummy/config/initializers/session_store.rb
|
335
|
-
- spec/dummy/config/initializers/mime_types.rb
|
336
|
-
- spec/dummy/config/locales/en.yml
|
337
|
-
- spec/dummy/config/routes.rb
|
338
|
-
- spec/dummy/config/database.yml
|
339
|
-
- spec/dummy/config/environment.rb
|
340
|
-
- spec/dummy/config/boot.rb
|
341
|
-
- spec/dummy/config/environments/production.rb
|
342
|
-
- spec/dummy/config/environments/test.rb
|
343
|
-
- spec/dummy/config/environments/development.rb
|
344
|
-
- spec/dummy/config/secrets.yml
|
345
|
-
- spec/dummy/Rakefile
|
346
|
-
- spec/lib/openstax/utilities/access_policy_spec.rb
|
347
|
-
- spec/lib/openstax/utilities/assets_spec.rb
|
348
|
-
- spec/routines/openstax/utilities/limit_and_paginate_relation_spec.rb
|
349
|
-
- spec/routines/openstax/utilities/search_relation_spec.rb
|
350
|
-
- spec/routines/openstax/utilities/order_relation_spec.rb
|
351
|
-
- spec/routines/openstax/utilities/search_and_organize_relation_spec.rb
|
352
|
-
- spec/cassettes/OpenStax_Utilities_Assets/loading_remote_manifest/uses_remote_json.yml
|
260
|
+
test_files: []
|
@@ -1,353 +0,0 @@
|
|
1
|
-
---
|
2
|
-
http_interactions:
|
3
|
-
- request:
|
4
|
-
method: get
|
5
|
-
uri: https://tutor-dev.openstax.org/assets/assets.json
|
6
|
-
body:
|
7
|
-
encoding: US-ASCII
|
8
|
-
string: ''
|
9
|
-
headers:
|
10
|
-
User-Agent:
|
11
|
-
- Faraday v0.9.2
|
12
|
-
Accept-Encoding:
|
13
|
-
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
|
14
|
-
Accept:
|
15
|
-
- "*/*"
|
16
|
-
response:
|
17
|
-
status:
|
18
|
-
code: 200
|
19
|
-
message: OK
|
20
|
-
headers:
|
21
|
-
Server:
|
22
|
-
- nginx
|
23
|
-
Date:
|
24
|
-
- Thu, 13 Sep 2018 17:45:53 GMT
|
25
|
-
Content-Type:
|
26
|
-
- application/json
|
27
|
-
Content-Length:
|
28
|
-
- '404'
|
29
|
-
Last-Modified:
|
30
|
-
- Fri, 31 Aug 2018 21:21:15 GMT
|
31
|
-
Connection:
|
32
|
-
- keep-alive
|
33
|
-
Etag:
|
34
|
-
- '"5b89b14b-194"'
|
35
|
-
Expires:
|
36
|
-
- Fri, 13 Sep 2019 17:45:53 GMT
|
37
|
-
Cache-Control:
|
38
|
-
- max-age=31536000
|
39
|
-
- public
|
40
|
-
Strict-Transport-Security:
|
41
|
-
- max-age=31536000; includeSubdomains
|
42
|
-
Accept-Ranges:
|
43
|
-
- bytes
|
44
|
-
body:
|
45
|
-
encoding: UTF-8
|
46
|
-
string: |
|
47
|
-
{
|
48
|
-
"all-features.svg": {
|
49
|
-
"src": "aa24fa15d6d08eb7078616fbb038188d.svg",
|
50
|
-
"integrity": "sha256-QIcMINxIyaiYNQW9dnIvxmzMmLeQosO1bSgC7pzLpKQ= sha384-aa0rfgAhJ+iIH8CRpf4Ei0V3KlQWZ3Fh+MMMo40S0kixI692PhGM2qFvq1/3qSFx sha512-oObRARlAvemWUB3OwlW6lP6tQDuRW3YxXZ6rGXZln4cZ96sejeYJ9BOmvVSDTfGHDZHU0l6gF4VrmlBF9dCgpw=="
|
51
|
-
},
|
52
|
-
"ap_physics-book-thumbnail.svg": {
|
53
|
-
"src": "dcbb7de4327cd469d54012fcfbaf83ac.svg",
|
54
|
-
"integrity": "sha256-DWm0KEcgX5XXa3XOSmwS6lx8gYzPaS8gLquubhEGIh0= sha384-JyqJgDexFBJMAAsiDKVEoZ70dNEB6ZFP9wKgc6p+rnr+oqbwlJefSUVkgX1k454V sha512-36vObxxYPaGBDeVpzvwjKac4fGprb5H7XHNgA4IWA9x0KbIg/nzYR2uUsEu77gaHoHV3CUbEdIAc3sGc/fKf3A=="
|
55
|
-
},
|
56
|
-
"ap_us_history-book-thumbnail.svg": {
|
57
|
-
"src": "ea15eb313d33bf91c3fadc2fe7dab027.svg",
|
58
|
-
"integrity": "sha256-cR4KKeLsxiAgV+EDpAU3vVFs5FpnuhAxOc8IlBsS+Jc= sha384-+ackdSHqLVeGuZJ3ABavi/LwJnwHdKy0vDufWeNYbCvT/E7nIT5fHS7RXivfdOPf sha512-WQ5JjbuMoaV+EddeQBm9uDvbn0M8QYubb1wWAUeVkkN3clMBhMnnI551do0ulHMKCjq3ZGQHrLDfofwUELQFEQ=="
|
59
|
-
},
|
60
|
-
"biology-book-thumbnail.svg": {
|
61
|
-
"src": "09a7aa2d0aa9bc4f083ae2b514966827.svg",
|
62
|
-
"integrity": "sha256-Q8ctLwjOkI7MmE1O7fWGrUyDWTuh0SyGaUROWDSZuAU= sha384-Rft6bksJWnKoqqy+pVb3dLYFKLWGkP8AS58oZ6prX0ihX3e+WGUJbUSmlw4mPIkO sha512-zyWDI5gric8qXi4GdtSzIUBgLxvn59Plb5PhjdunS1TjpWOsxI5lG0YmnkPFCjxa63rXio4hswLoy4PHcE8igQ=="
|
63
|
-
},
|
64
|
-
"biology_2e-book-thumbnail.svg": {
|
65
|
-
"src": "2c69b48945c8869b7195c99b3bb8b390.svg",
|
66
|
-
"integrity": "sha256-Mom7+7inJVDA/6XczbQ9eZHKH9EttlLUlbX0q32WvAY= sha384-XvUUDHngymDbamwadCVvQifAel4O/77r6x2/0FnbRQGLNyAjvN9k4LBbSk85mtW+ sha512-CxMUoVkgRjj2ojALi2EHr7AxTs9+1kOQj3rDKnjFTi9CsQjBLcWotS6kZCVGttw4FjueBl1T1rsAq8EwoAZDsQ=="
|
67
|
-
},
|
68
|
-
"cant-save-work.svg": {
|
69
|
-
"src": "5ad1479c3561fa1988912b1c3e061282.svg",
|
70
|
-
"integrity": "sha256-egeZy7hvduoP9ujDJEB9fRwf/QRuZE9+e5B6yI1D1q4= sha384-I61LI2VdHk5a7lzeaNveog7TWTPncH0BzDjAVPnnMUpmAEU8yIdQAheXqbLT2OGt sha512-7pYkiymyYORnuUEdhehr4NFtk5Yy++owADUWu2NmtRVTQz3qODSvmPgysoyBaFWaAb0iJ9GzBRaw/5EiyQC3vQ=="
|
71
|
-
},
|
72
|
-
"college_physics-book-thumbnail.svg": {
|
73
|
-
"src": "aac1db15414fad4a0e79efbb886cd8f0.svg",
|
74
|
-
"integrity": "sha256-qE69BiNBc1iYcaV0nGFgMkh39eheSSpafxp2c/uqv5U= sha384-ujsnbp8Ahdy4uTPdXZ0jOp3jhvbH6QjtK8zkALqHi/UN7L0LrKlQB2zit9JiNt9U sha512-GM2S0r7q6YnBmV+7ej2iRtITX5X3R1/p6vpy+llGf8JwKn/aYyvWaFtXq74yvkN3Wo8k/ZXJiO7LqmsJHYoMpg=="
|
75
|
-
},
|
76
|
-
"entrepreneurship-book-thumbnail.svg": {
|
77
|
-
"src": "9527f9c2439d00c1d58ec28e52420e2b.svg",
|
78
|
-
"integrity": "sha256-I9i39FEBc4kHcAkgTDc1n2BAaydY/cz9nrTIZ0fFXyA= sha384-qrWWGZDEI/302XzLD2hPaRKubyplPfCPu8LKBzylmXlxu57xAbiq8Ye0U24WBxgA sha512-iBAELZ7s/y+hxwAwPutHSafTd7cyrU4P9wvykmDVTu4noK1ccC8QChc6zk2MsBynfm1ISMO0sjKlJ7Dz+H1pDg=="
|
79
|
-
},
|
80
|
-
"entrypoints": {
|
81
|
-
"tutor": {
|
82
|
-
"js": [
|
83
|
-
"tutor-b920eb0be760a7c440bf.min.js"
|
84
|
-
],
|
85
|
-
"js.map": [
|
86
|
-
"tutor-b920eb0be760a7c440bf.min.js.map"
|
87
|
-
]
|
88
|
-
},
|
89
|
-
"lmspair": {
|
90
|
-
"js": [
|
91
|
-
"lmspair-b920eb0be760a7c440bf.min.js"
|
92
|
-
],
|
93
|
-
"js.map": [
|
94
|
-
"lmspair-b920eb0be760a7c440bf.min.js.map"
|
95
|
-
]
|
96
|
-
}
|
97
|
-
},
|
98
|
-
"exclude-question.svg": {
|
99
|
-
"src": "f7460965d0f2443a757b68486a271a46.svg",
|
100
|
-
"integrity": "sha256-U0lKhNqO0f+UFKzsJDL1tO24TrsTrp+ZOwH/C3eP8iM= sha384-onoZmRrSMr22/L0ysTlsQlhUiO7O+ea+LNnEaVctuUecPdOJGE4onsGx7FRudlHZ sha512-SwHKMLIhqmUJJHI5BNCqJsN3mALz8g85MvJoGSDHm2n3cyx3F2IBjgA6aPnVzp072ZGpcK8tlil5RzgcsqTtVw=="
|
101
|
-
},
|
102
|
-
"exercise-details-action.svg": {
|
103
|
-
"src": "ade68bd7a65ec534db8f179e78173f36.svg",
|
104
|
-
"integrity": "sha256-jPGHeozXhBAfeuSt6kZg0O0SqhX/Ofg9B1HAClnXI+A= sha384-srUWMTIvZBKyzwyk+vKJ9uwZ8viObVdvP/0Xmq3blFD8w48KKm0vP8iieFQ/4njf sha512-76DO9BtdlnsUmsba/rP4H2tYXtMy2dTK/CudPTQnkESzGWiC4hbpn2aDSh8vAG/CD3ObPFo4u2Utpc/iCRm/dg=="
|
105
|
-
},
|
106
|
-
"exercise-exclude-card-view-action.svg": {
|
107
|
-
"src": "6f6a7d08a934392dfb6daae9b32e1eca.svg",
|
108
|
-
"integrity": "sha256-Ttp7m6dHS9X+6JFLpkfD4EcQPB4xKAD5kFVHuLmFGCI= sha384-sEGYw9qGeaH2C6ou+UzssORsdqVPgMkB1iOgqj+AMAQwjH89k3iu9Rcr9V8DCuXy sha512-p2DUqibi4667xwZylBV+XOseXeitmvEb28FmfPBnfyGNlMEpBFRYVb+w2/Hr8T4lZ1mZjLEJE1N7wPwTurKqLw=="
|
109
|
-
},
|
110
|
-
"exercise-exclude-details-view-action.svg": {
|
111
|
-
"src": "f03fe8cfd847898edc376bf0bdac0056.svg",
|
112
|
-
"integrity": "sha256-pO3LCOn2pMqZNaEAwG4meH5xOjfaa4EvGTvR8AxaY+k= sha384-dnKtfgmDF18YjfzV+uz7DS89doo6v3ClonG2Ak/jHIzm4gGe++wr9AmFWDHzGv72 sha512-0m84pmF3KPDwGMRrtGmM9+7ylVAO457hnomaZRXQcnLwPh7nkAP4cECf5+urSYG+o766dM3BWrUS5ZETRZCi5w=="
|
113
|
-
},
|
114
|
-
"exercise-feedback-off-action.svg": {
|
115
|
-
"src": "cc317d981b83c9468e000a4cd0cd6bd1.svg",
|
116
|
-
"integrity": "sha256-poQbe47ZyBZn/r0nVK8QlvfCStK7I3reJf31ic5XU+E= sha384-P7/nY9zRRRtpVbGA24ZIeI4mPmerty84X7uWBrzPjaUOAS2FgtnvWdbcTZnUqN2S sha512-dSge35cZIzZfaxbBzcamOyId4rTn8CWwWJ37wNf54VDcdk2h/8lTC5eLxLe5nDwQq1HZtBnnN6H9JmG4tSfdOA=="
|
117
|
-
},
|
118
|
-
"exercise-feedback-on-action.svg": {
|
119
|
-
"src": "7941f79e27c564f9778784c78a005f78.svg",
|
120
|
-
"integrity": "sha256-u0kNxYc0B/rm9U86ul3VNZByM9yNneSjvvArdW1RWDA= sha384-VU5b7mFjwluxcp72y8oupgiMswhsqYzIsj6/tHw6PoIawkt1GELqYoByDJ3erlNl sha512-mBtoqoEmzXhOUEbz4TpNclqOmLraeQbHTmM2xRFtu++sHiW1lMkX2B+a313v7laVQGr1ZDptmuItSXg/OE9rWg=="
|
121
|
-
},
|
122
|
-
"exercise-include-action.svg": {
|
123
|
-
"src": "9b3328d7b81d35b1764a709b5e2fe14a.svg",
|
124
|
-
"integrity": "sha256-yP6keVl5XVCCb7YKkvD/6zVWwcOQ7pAqgB0H0jSoafM= sha384-0YpNustNygxYxOF654o+uVJJvrZIddYOcU7wKU1zk4ayenBOUL0k/ghPvkmD+nlV sha512-R/PK9Bbxe8mRUglibbClnRpKmt3oECX2l+A8Z+bnDXVii+wQufmN23jka6oaS5TqFRF1e1DVWGHxz6oIfpbXlQ=="
|
125
|
-
},
|
126
|
-
"exercise-report-error-action.svg": {
|
127
|
-
"src": "062f41bcd1652ae1e6c77bfeb0bab7aa.svg",
|
128
|
-
"integrity": "sha256-spCoklXvyEE96RU6A7DbGn5LX3lBBMbfLLoceIRUCYM= sha384-k0nkM8JP4NWILjiRgV9R9cEOqHpnZ33AzM5qcJAetFxCn80W+6pZVedm6bKZdQcH sha512-0WueUVO8xKmGQXqf1UUFm3NAEvS0YL9m20OzOgOr0GCZpzzmhxH4DgtuOsu2I/Qj/5s9HnVYcaKeIzCSyi3h5A=="
|
129
|
-
},
|
130
|
-
"export-by.svg": {
|
131
|
-
"src": "8ef183dc2032a92a87e654ccf009c858.svg",
|
132
|
-
"integrity": "sha256-znMsZmY1bYcoxtmQV73W0dk8Lvqimu5JYxZGAKaLDrk= sha384-DenBRw8WXoI3jjlL+d28j1fQCPwpSKrjTEfxMG5nCYJT6XWyA0lwOFHppGb5siRl sha512-mnCct5NVCBZUoFLBEYmUjXpQpfwYxRAk6JDP6EFCrjy5LLGCTu85df4MbsagBX9LoVUsinzpIzckdH2stVanWg=="
|
133
|
-
},
|
134
|
-
"hs_physics-book-thumbnail.png": {
|
135
|
-
"src": "57112172ebb42b6d76439ef3c09e10a0.png",
|
136
|
-
"integrity": "sha256-X8trpVLInJlun+ilsDXvuIRUWWTTFrMNCodyGjGE00U= sha384-wZTgHHcKjYDXRa/mU3kEfgexBJUHa3+SUCDExZSX9RSz47No8RiIH8HYNQWJbc6U sha512-yXPx9yx0xlWTJ4yiDFSD+b2n63Ixvz09wV7bTvqv370IfweQVDypQjOQF4QlmuDmx8UQvLma6LVyyBECTxwebg=="
|
137
|
-
},
|
138
|
-
"icon-completed.svg": {
|
139
|
-
"src": "1eaa77438418976d919742a5f51778de.svg",
|
140
|
-
"integrity": "sha256-/K4ahQxRv8VVA4xFL4YhzPzl2850BlHndoyY6I5QmO4= sha384-AGd5sL6cIlNIkd5HRwp/DM6oyVytHeZz2VP0DnN6PoOqnTbCRUiuhqq/Wvdc74tq sha512-JFmeWiO2a8uV98fXj0wOXSYGqtGyKkdXzXqEwb4oLdB6mEbmweWYsQr1E2SsLr7AaO8IJm0sWbKSJOtmSYXQPg=="
|
141
|
-
},
|
142
|
-
"icon-copy-course.svg": {
|
143
|
-
"src": "1d0014e980c13576a550645339994b4a.svg",
|
144
|
-
"integrity": "sha256-QIPi/bNPslFUOaHnJBrp6g7Uvqyz4IzD68qsOu6WL9Y= sha384-7P3AUbnSRFGrTNfB4fLEwrM7PbvGSVS5PiIrPDuXO/Lfy99K0Ru8gvjRvHQZY6P8 sha512-wCBpSGWJsFgbT+UcEWSUzSfRhnrGRVo3t2PiGmTQ4bTTD5FveTZ1m57BalXvjM01Bf4NaUilo7aWy1L5047p+A=="
|
145
|
-
},
|
146
|
-
"icon-correct.svg": {
|
147
|
-
"src": "d62f4fb9677b23b176d92210a6e635ef.svg",
|
148
|
-
"integrity": "sha256-xNt/TBBZyJNIOve+JEo1QPmEHjDXOG+zhgJdGNWVY4c= sha384-66GlLUhSM8fjCEYhQe8jpj2YxoJmDxrhbf6cFFZKXs2lSp37pWwcb9jZFSoFx4NX sha512-EX/6y1IKJDKllghlw6eYxCICFXpkWzC+sOzxIr8bJ6tT/QQ/fapWqMXwGJFyEObfhj+KcO9KwI4zl8e9Tv6Xjw=="
|
149
|
-
},
|
150
|
-
"icon-end.svg": {
|
151
|
-
"src": "5296aaa9429bfe5364c92abde90b4edc.svg",
|
152
|
-
"integrity": "sha256-BXtydxlsc1UFcXLNGICzgSi1AAleC4V/MHFo3GmofHo= sha384-xnAT7T4PYBriYONAxS9fe8MaPuMfGFXqEb8dyXWAN0CqZwg9E3qQE4JDXPAJYSiw sha512-cAw2abfRDgnsFKfFkb9ZjUeov0AahzebMlDc9vKr7+PAwSmvzfHowgNGvRQc99nDAXALUwbtuNPqO5k0lbZLog=="
|
153
|
-
},
|
154
|
-
"icon-event.svg": {
|
155
|
-
"src": "fa1d0a374b1f522c38359988bf6e1397.svg",
|
156
|
-
"integrity": "sha256-pP/L+KKaa88C4cdigU270H2BnnFgok5DJR3WmvSNqbA= sha384-PafVjCvOmkOHIwcKLViwNuAvEqvafJ3dmuEFeLuptY+yi7uu8MOSZhYvFuC2oJWy sha512-zsjD8duZuW3hSIOfdmuC8Ir2h1al6lvobuoNBUy5L7oA55PLn0d5ctr34jbjp4OarvDAWtYGAUlhAOfd8r6G1g=="
|
157
|
-
},
|
158
|
-
"icon-external.svg": {
|
159
|
-
"src": "97a63312f2f3742a92945f8d88749dbb.svg",
|
160
|
-
"integrity": "sha256-ZZRqh5dtY6W9RtdFwrD0BaiY4R/KLj7ek5org5dhiXM= sha384-9VDt4hCbNSJUoNFKE/x1/UrBuxR2x2hNKZFfgie6I+ogsjRcNKgWQp27o+zZhfLd sha512-YONCeRp+yZ1GwgQBqDZxvFRSTBkYvT8hMGD3WVn4EP5FkrRYDBPqOY3QFE5Kj6yy65uxExY+D4WeYUJBgU0Ojw=="
|
161
|
-
},
|
162
|
-
"icon-feedback.svg": {
|
163
|
-
"src": "7dc00913481d3aa9a49be8cf59c3c035.svg",
|
164
|
-
"integrity": "sha256-wblvGlrCG5TUofVjXU15+CBY2aRcC6h1sV4Dd0XuyMU= sha384-ssrw3CwHB/bh8E/yiLGHxatTI0xlGeOcvemUlUQyvGoehxMUF8fZDco/w1a6RF3l sha512-J8ElVtpiYvQzUlS74h/QtWngAGjkTCJqdVvXpPV5169mQx8f4YjbLkFvxJaUgQwWa6Cxeh53xdMCrU5Qih80iw=="
|
165
|
-
},
|
166
|
-
"icon-homework.svg": {
|
167
|
-
"src": "ffc68bfb492c28cdd981df81d36e16fa.svg",
|
168
|
-
"integrity": "sha256-7sf4rOZYKIP9qB3Gy1658p9KYCU0GmAjt21KjuuX8sQ= sha384-evtoWVKVfwGkPHIogy6WgvvbRs8APaAJbnqS8cXl42t4k303HueNhzhqe+qizgak sha512-eDqCY98nA1OKs6dS5ERZBW/tWKdPileDrEBPLopep1hJkqK0CZsGGpb+sd/PHwq/y+dKL8nAUAAtJD1aj7DYAA=="
|
169
|
-
},
|
170
|
-
"icon-incorrect.svg": {
|
171
|
-
"src": "79d4706e51a98be43c9d27102c6b1b91.svg",
|
172
|
-
"integrity": "sha256-0wBdRovm9zI8TfENz6nTYhEA+CPEobOUbB3wuZPDcdY= sha384-8x6qtL6UDYSqef5xokqC153m/QEnHeT/y2jlVTbYsa21SGzhbGr1vJd4eaQEn+3k sha512-3ePjz40aQczwcCvh0e7sKMQWog9l2tRVH6aP9l/i2ye/Nvy4zfphsX+Ke15YXK46fKWm5WhBvzRdziGBw/WRaw=="
|
173
|
-
},
|
174
|
-
"icon-individual-review-heading.svg": {
|
175
|
-
"src": "005ae70666804bf1b4fcbdd1820cda69.svg",
|
176
|
-
"integrity": "sha256-z6B3CCVljKsfARlA4smvKa8MWT1+yKVyCb5Q2xPV+5s= sha384-L41LTjzYeTj1BAfaxuLLplZF5lS9HI7r19SlOprdfYlZxyuN6eWYweCLySfBJLl8 sha512-4/0E8WkRF7zyekaFucGHMho/+sqyHb57QvTwJ5U6ZYZw4c8ACFoHcNDd6R4kuI06ImivTmvK0c+3IFju8WpOcg=="
|
177
|
-
},
|
178
|
-
"icon-individual-review.svg": {
|
179
|
-
"src": "94f2e768af2ef350e8756f5159a3b560.svg",
|
180
|
-
"integrity": "sha256-6XWMkb/NOcs5yKd3zXn3wHG/X9dHpX7eIhPVTWmPMjw= sha384-Zvssf5n/SRzZl/1nr26TW99JJrgDKZSrb2qjB/vP0OySH38HTBP1CSxtR95rTK8i sha512-UoAVUGQXLBdFHocYTTZtQT4JQa1jFyvDv3dKj0YqCwr5BGuq2ICgI+ItT+FLpUxleattFTAoNTxZJgnqrdkkIQ=="
|
181
|
-
},
|
182
|
-
"icon-interactive-placeholder.svg": {
|
183
|
-
"src": "2a0017a49d2dacbc02dab29ba52f7a08.svg",
|
184
|
-
"integrity": "sha256-NCfCPWYY8SX8a8wF0UZ71MtZ0xz7cyArY+6Z4azs2wM= sha384-jtOPNwwOtGb7IBOjTMGbjUqvTXjpvH9tn6aiHPtNKp8j8KlN44IihZNrS4AxtfAQ sha512-9U1du0DlL8DOIe39bsEQXEwWbS4NQmrc4vGC1lGL5z4r68mkcC3KOFkwPi2BWWN/vHJ82daqihBKmk1eCn74vQ=="
|
185
|
-
},
|
186
|
-
"icon-interactive.svg": {
|
187
|
-
"src": "790f8f667a1ef6aa74114278d7e58b7d.svg",
|
188
|
-
"integrity": "sha256-FDbdyyGIVVSSUlTj9A1a0BgEVkURMetRvMdKSqpt2MA= sha384-XhOGsiw2ypmKK5+Q8ocjx6FNGACD8F6pMOauwFtONWL47vA0tsNFDUkpmzfpzUgI sha512-P9qJuOoQaUHZ/p+1oa9AAYjAHJKg2BURRjDmHVRHomOpJakz9zKblJNaYRVaBOJWXrWWqqsDpwAI6znqVuazNA=="
|
189
|
-
},
|
190
|
-
"icon-new-course.svg": {
|
191
|
-
"src": "8ff80c156c21fc6abf9683c5c17de83f.svg",
|
192
|
-
"integrity": "sha256-uo955IwvjR3ScptZKAdQptFFCc+L5T/JmZ2hu4Hldxk= sha384-kK4iY5qdUN7UpWRuRLz4n3qFAs1m+5nzAXCySMKKIqBMNkV7/ZOZbOoZ+4E2gWTn sha512-CiUa0EJHljs9YN/zfJTcHDXhAHfl/0LpLKD0ndQZ0XsXRaXhHXFVVC6FoEHFmlMJhjuYWndhvm+iu6gnRZsE9g=="
|
193
|
-
},
|
194
|
-
"icon-personalized-intro-heading.svg": {
|
195
|
-
"src": "cbdf929d0e17cf97add3bc0dac6a7328.svg",
|
196
|
-
"integrity": "sha256-IBctmn9uifI7pVyxN2AexMqDiMA0kBd9GIWXvmBjSSY= sha384-QSASvvsbnTxKvqE39SdY/SvOMZtN3jta5tfglrpReaBQwrWZAgiwx8Lu2Nr9K8bv sha512-j8nX3RJSFuflhL1gMAKFdbnT//RvitfljX2J/mKgMnF7qekYoWAJGyi203k6/U4zWjEUIdFwHAsrnuE6gwOxqw=="
|
197
|
-
},
|
198
|
-
"icon-personalized-intro.svg": {
|
199
|
-
"src": "d0ec81696d3f0f537b73cc7d55aa5d8c.svg",
|
200
|
-
"integrity": "sha256-AKsLueFcgvjfVdRvoXF9JRaEp0d00WJWF48bplDE4KM= sha384-irp1AA5AMLgDZ+PkyQcv7WmIyQocDbgkMYiu8MXHFVbykU59Z1fK9fiYIDUNZfK9 sha512-MlyPKN8FoXgF7KyvwCCUrz0TcbrU0D3S5IDTEqoigVH6jqg6SBjn/wva+2usftm9DMBiIw7JxHSmRGYAJLUrSQ=="
|
201
|
-
},
|
202
|
-
"icon-personalized.svg": {
|
203
|
-
"src": "db35e38026c6e71b91bd689fea0cb6ce.svg",
|
204
|
-
"integrity": "sha256-os5aOEnjevx/9gTLS5wGa+r4Zi/Q2U+DOXwxiTOVwNM= sha384-rxBYlhFhyP2PIvkoK9jnLeoNzIcq3iD34xkmhOuAp2+gZMJ7jgvw8zww5plJEqlf sha512-28R7zIvQX8En8DYGFNqGksngu6k0I2qZ7L4ebfV2GA/jOEGIwgKIImPWDVJKuImKbqN9C4+PTJN8avPlCrxynQ=="
|
205
|
-
},
|
206
|
-
"icon-reading.svg": {
|
207
|
-
"src": "260832dd3b75923fbb73c2e4c9496f76.svg",
|
208
|
-
"integrity": "sha256-JihCXF0Rayd2OIXiTGI78+9gSUkL3YvE3MojjVlkZVk= sha384-6hh7LBOpsGEbwmSjprn/8u1at61H5ihj7LWWhtokxGxcx7Y4ClJsdhPQU+ehycHs sha512-g1kceTzm7WkbTgl9OFbb5wFHMSjoFTntz71JdzgPogU89DzJd7z1rJ+ecIshV07z0jrEWyFQag6oL3kO9qptsQ=="
|
209
|
-
},
|
210
|
-
"icon-recover.svg": {
|
211
|
-
"src": "98147b62873e4126b3e401e1de69dc36.svg",
|
212
|
-
"integrity": "sha256-LCc1oQEtidXDzm5gKYdefTDgeXdN4v9eRVgelyyb1q0= sha384-Oe3lDlAtROLcqbua09sa4U+dx0YKgmrGFWm/sB3V0a7F3weiBctVTe+vc5UUon7e sha512-18OSvbgIM1m/PQW0FZDD8hUw8lkcHlra9U3l9rDPMmWA0rZQWuBncLLEStnuMk7Dg0xJFLHXkoBoSFFsPLEr8g=="
|
213
|
-
},
|
214
|
-
"icon-spaced-practice-intro-heading.svg": {
|
215
|
-
"src": "e9b103dc00923e20ca3513fe7c827e99.svg",
|
216
|
-
"integrity": "sha256-jjfLXDcMqN2MKGTmPbV6xWEiFADvVpPFgspOUeU9nWA= sha384-Jp751ZJHk16LIUFNIISYzeUxqs0Wstixcft4IEfcErIyH8L7mHRqQ19n38M7ijWK sha512-DJwbFJ0ja/dQ+Pk1bWEpTcr4nErrITukQMnc3RMFZqZ2wvjkr46N2Oj+VyHyQpeazVdP+IIZTHGIXyWqJKxpdg=="
|
217
|
-
},
|
218
|
-
"icon-spaced-practice-intro.svg": {
|
219
|
-
"src": "759ca0007f65b2d71b45b77183d98762.svg",
|
220
|
-
"integrity": "sha256-IVk9O+hTqIhPE1HtFcKFNAhl8KA3AloSA60hc1D35SA= sha384-mrz5GkX/eaPGtpB+SaJ+SbeRe+lySFZc8ypl9S/FOYCsSU1LsTK2FXbjTZqNb9rV sha512-GP+2CFuLygKSpykN7HXWrZ1R7JqrApgx1FeVkA27Hq3VbGQTona6iemrdPz6l3KZTrTpOTQbmkDi4f8RVM5zrQ=="
|
221
|
-
},
|
222
|
-
"icon-spaced-practice.svg": {
|
223
|
-
"src": "313955b37572c6d83e0989fcbaaa3a1d.svg",
|
224
|
-
"integrity": "sha256-dnJamctcrUQMUEnuJ9USdrPjwdzzraj0diuOdRD9+1c= sha384-uusWYCiPcxLnKG/m4+XecfUlSb+voNei1uXO/B/CVq+3yTBT8x+XEE8/k4LJX7L8 sha512-cdEo0Ea50nJPfX1NwAuVGvdhSd97VJkGnJOZ0ThkwZDuBVeYnXzOlMznVQsIKIFxfxMURxPtgr7Lgvqe3V5ahw=="
|
225
|
-
},
|
226
|
-
"icon-test.svg": {
|
227
|
-
"src": "c07bc4e863e2e875e4f7367ad7da03f6.svg",
|
228
|
-
"integrity": "sha256-8ovyBLYu4km60nOW2obXQGLFPN44ZsgyIiSwmO22b9U= sha384-eBQPb5Lok6/b6BsAvI20ANFiymp9KvTSIay9kPJY7SBuBRBiAUKnnh/3foT1WNfa sha512-ngj/qVNQrlwKcX6g61bnPfdI6kBpJSeLNb31k/eqSamn+vVZ2hb7RtbRWVOCKhlSx3/2/u3MSYWMhPFwKV3zdg=="
|
229
|
-
},
|
230
|
-
"icon-two-step-intro-heading.svg": {
|
231
|
-
"src": "000934185c3c0d5be58c6a6dae7b8f26.svg",
|
232
|
-
"integrity": "sha256-2Bytl2XMGtb9Z3iXDtHJNY7P2mWQIRIsViY9L1unwXc= sha384-haJFr46mCgFjuJkcGOFjtcMyNf38Yr4WmzC3gn9G5YXhkt10IWP/MqTjxFKKa4HF sha512-uQjoDHvw4BJ6LeVVj4Gac5cR8Kf3G1jJsRfuCixzNTAWdh7SYzuodJxzpih9cRw2Cnqn/ZANwfzWBkJGt/NDng=="
|
233
|
-
},
|
234
|
-
"icon-two-step-intro.svg": {
|
235
|
-
"src": "dada9a6e0febdd86d4ad4ad3ac6ca2f0.svg",
|
236
|
-
"integrity": "sha256-dDRjGCnDNkRKFd9AnUYsfCG97J6LFcxa4JQnLCwFkxY= sha384-E+/YdMVeaVpfYBHopB4Zm9KP4+zh4yfcNfdl9Y8+1wxS4+Q32uzkL2UTVAdCCe/U sha512-O/ctilyRrMXmqQnQyI4Qukg/8QHRxxkVU7hKMWZQHm+SwMP1xag6bsltJ86U9dZv7k/i1516I0my1jsnUHbaIw=="
|
237
|
-
},
|
238
|
-
"icon-video-placeholder.svg": {
|
239
|
-
"src": "59c2b6634ba0dc7fc7eca3ae8a679152.svg",
|
240
|
-
"integrity": "sha256-p04VjnTOPydVDkpF0PZV4UIzMxvO/BQR2z1GRMVzc/U= sha384-v40l/dwi7PJeU6QHWw+SnLWN4Uu5KDSjjkAv74tUUgtl1pS8mjh5W5IVupD0YFcM sha512-pCbKElEAoBeSyjU1jHHE8cpCG5+uFOy+rgEgAublEdA93CorUyixibXA5iVKrrQZ/ZQmcXlluj8aYKhf3sOMow=="
|
241
|
-
},
|
242
|
-
"icon-video.svg": {
|
243
|
-
"src": "21f3e628bc44dfce2e24f8cfec47a0d8.svg",
|
244
|
-
"integrity": "sha256-NlwXchMCaxZB3VLlcxo4piwni5jjo/eplJ/UaQU0DdU= sha384-Xn0xt8K/Sgd14fGQVyjPsstfi2Y5L26OPu6UleKEsJhszceJJmcgY4dr16e6OFPm sha512-tpsdzcO7wls31Vl3Vsjc0auMJvR7cEo8hOoE+01xVLVkb5qKi5pOCU4xaXG08xFVL33dRx8fUm+z1R+jIRTUVQ=="
|
245
|
-
},
|
246
|
-
"icon-worked-example.svg": {
|
247
|
-
"src": "309b353715d7c6b9ae2a81b1a9023780.svg",
|
248
|
-
"integrity": "sha256-8t4YvRZDcaIbUnrchsq4D3m8C9A0yIRrk7IcaHhZlcI= sha384-tn3V6W2JF0UlJxo7WYGOURgMjCIRH/VqF4nJUX06YQ1oGXP02A5G5sWPKtvHby52 sha512-UEGcHtTj0NogdhyqXRCdeUzLUrsZvGTTiX/UCkqimBGBzLSaIIO3EtNr8JoYAdUXQEq3nMQul6ouZhJoRkgHEg=="
|
249
|
-
},
|
250
|
-
"icon-wrm.svg": {
|
251
|
-
"src": "c7bd4e178229a98b8774588bc7a6ffe7.svg",
|
252
|
-
"integrity": "sha256-XcbLf91P/SJgrYxy6CNDq9FOGxKCmNVw1kauO6S0+a0= sha384-d52Q/QDbFPf1ZLVgAnBk+In+i7l0I0FHCxj15XlH24um/dgLm+Zk+s+WVood+nqr sha512-WyNAhnnew2LtsesFuvBSsZq9OjeI8MyI88INYfPPgZyEJmkkUwk2w6EhKl8aJF5MfyMohH9eUefFiFLXiz9InA=="
|
253
|
-
},
|
254
|
-
"instructions-highlighter-icon.svg": {
|
255
|
-
"src": "8fe7c78ea503e5570a5f304da25a18f4.svg",
|
256
|
-
"integrity": "sha256-3toLWhK8uSO9ZK4VZb5Ts6PmF7FpPw280LNrj/aWd1s= sha384-nC8EOBd4BAxIJkFAKxksaH7ufXYLwZKqLhRpx8Tm37OP49QJL4wQfSAckxeZIMRB sha512-ZQ59ZjAJjrSnH10iJji/pGwPAuLXeKgejtdfITg112TP1Y13FOWdAYFDUs4As2EAufPaoZaCIeSMKH9cw+ug9w=="
|
257
|
-
},
|
258
|
-
"instructions-notes-icon.svg": {
|
259
|
-
"src": "fd076cc8c9652104b669e16f1fd6dd39.svg",
|
260
|
-
"integrity": "sha256-W52rFj58UdsNd0AxpgN5ffwqyh1MQaotN7Ii1BmBDGU= sha384-Mp4WKhTV6XHT+hzBi0xu6BBgD9DV/OPWkhJRuouSKS1n0G0rzzew2GzbwcS3q9kz sha512-mqfzAy1YWoMF46TSuu99p2kuQN7cRcPm9511iE3k97suXlDHkXd9ViBRV3W7p6cx6Ry9Pse+RDKbhJ3WLFOsqw=="
|
261
|
-
},
|
262
|
-
"instructions-panel-icon.svg": {
|
263
|
-
"src": "f54739e81447998f251bfa4cfe5235d8.svg",
|
264
|
-
"integrity": "sha256-daRrpXUohzziG+lL6n4EC+skDqyzi5Gdm8JkgwqOG24= sha384-1Aq1g3NDNjzRZI0mn1LzesF1DR1LUwE5iXY68lDBfD8WyMx1s3M9/Rh1VXoUhhMr sha512-fy5qGHUe4wpqJbr85X0Pnj7yCXcEqmHc7TASK23xv8F1BWp4GVgnSAwnDl8e+bGlb3mFe+0G7DLmVu7VFgzzng=="
|
265
|
-
},
|
266
|
-
"lmspair.js": {
|
267
|
-
"src": "lmspair-b920eb0be760a7c440bf.min.js",
|
268
|
-
"integrity": "sha256-zj4BIjiWRMW8+QCFAF5QoySAtYl3X6v4G6ghehGUe2I= sha384-w0fhrLZFfWdcozcxYAvU5Fn6cQBoJXReN45T34IbFAAY3dPdKwXA007UCx7G8bnR sha512-PK7Y3NTJP4J01XJUP4zlvDaCbsSJH0+UGefnfEsRqQ8GKK8jukCWui23teFX8qPptHi+9cgPUz8FhEUCRssWhA=="
|
269
|
-
},
|
270
|
-
"lmspair.js.map": {
|
271
|
-
"src": "lmspair-b920eb0be760a7c440bf.min.js.map",
|
272
|
-
"integrity": "sha256-r6zqgX5y0+kz8XueErGOCJp21skTeBg2Cyc/HYpBtp0= sha384-/KoyUPKkIwTK8WbNGFlOZcNHF/yzHIIEhmUpIucAyel1Wyl16JTTszBbmIgNVXk0 sha512-q8sytkhkh0q4LuavgoI/ByIXferqUdDsRr25F9l/ws2vo3sxvWQyEq539MjltvvFXPwUjf42eRIlTANL/lEggQ=="
|
273
|
-
},
|
274
|
-
"low-cost.svg": {
|
275
|
-
"src": "d472c99532f99a96b0077c98919b225c.svg",
|
276
|
-
"integrity": "sha256-YUxnr6DqF7RUBPLRkpeMWLzD8meevaYeGICF5sjKqdg= sha384-7/cRGlxuGP5Txh69HjejWx24sA1ADsF654y3fdtXQjsfzHwkrRVz+8qz/nXuG9bs sha512-4ql/s1cwVQAUZY7SCcVG28yT8NfMO9n7xp5Q+Hbi17dq8ktZsOnW4KGRjfIQLzYv5Gq4ba1h9kS6ZuxKa4BecQ=="
|
277
|
-
},
|
278
|
-
"machine-learning.svg": {
|
279
|
-
"src": "55490dd6c556c47099d62009ff27b239.svg",
|
280
|
-
"integrity": "sha256-KcHMLf9/Jk/SiWir2R4GoiVibnaSPsCSVaepMB1OXU0= sha384-hvPkNJSzfgpCJ1H0d5cFekKzF5YS07R1bDUFkVXQn9VOKLeeHKRXizHKXihTe1nI sha512-Ioas8FnK3KSgZyCPzy+4kyVbkTcSSQI7t0I4xip+qjIMcTbkY2tmKCE4KgfBmsMibOrOkm4Cdx0ayQAHBAruRA=="
|
281
|
-
},
|
282
|
-
"openstax-logo-white.png": {
|
283
|
-
"src": "f2444d4fd75af3b6705db4faa67c5159.png",
|
284
|
-
"integrity": "sha256-tx/oz4lQz3fk1MD4bkCh+q7ccRbZO9jaUkNUdLa4agw= sha384-6QAmqkxWzSaCGZfZXeQ4DsgzeUl7VAKMxuGznMuaODWTWZ92B5NbRwnX2tmOXNGq sha512-fs3NoJJQNCJzk7wq7KfV1Hm5amlhkHSboGK2SHolGm64KIoHhh8TAixfzYX1q6F/lDNvmuNqfQOatItzuMvYaA=="
|
285
|
-
},
|
286
|
-
"openstax-tutor-beta-logo.svg": {
|
287
|
-
"src": "f18b0f23c170a67630329412c35f7db8.svg",
|
288
|
-
"integrity": "sha256-nL0MxXkLoMYbAVmOnAzUMhFN+GsijRlbOvzy4Vb71u8= sha384-KPsn3+E01chDGAQ+iwjPG4zT40tWQQgeTG1IcDrZGssmvJZZxumw3YJo79ocGgNV sha512-sb1CRkrTtA9wMmafVG9A3JXNTkBBJ3Gs+j9KNLImVPqd+HBWqQ4je7ZjKY0GH9DzDFUovhPajwPH0Ulyh5qZYA=="
|
289
|
-
},
|
290
|
-
"ost-hero.jpg": {
|
291
|
-
"src": "f0d3bb6d9242c522ff41985568cdcaa6.jpg",
|
292
|
-
"integrity": "sha256-Wmvgh9YW1rpqmLHTNDG741acRV0Ed/4bXmUyILaTKg0= sha384-86PzPaGiRYQEKGshdQ952zAF0e1wgRlmOuijLqtdnzL5Htmot1vjDK/JOxfHk2wI sha512-wtsH/jVxQTcJeY/amx8IYzLcrakfPAa/1cMC6X55fJNpinYOqYY8JEyC0N4/XOL2M2oXrXWXAN7buy15ZQ3BDQ=="
|
293
|
-
},
|
294
|
-
"pending-verification.svg": {
|
295
|
-
"src": "e767f1bf6310180b139aa05f6b533263.svg",
|
296
|
-
"integrity": "sha256-RGKCVnt5LvnfsQw5fnaKWdm1MnqbPP/S0UubXFzHTfY= sha384-3pjlCK8T1uTBU0anaYdwSYckECzPiEFv/2ZtwdSshTdOhacNtZYMQ+1SX0FXZ+s/ sha512-r1E1lmCRwedlIrD9ICE+slrnhmmJinYzfdtqIZTmIi47dNqSbdm6Pjgc4zOatB5U5D3sVB/LDB3zCmbx+F/Dlg=="
|
297
|
-
},
|
298
|
-
"personalized.svg": {
|
299
|
-
"src": "2b20d03cc82916d962b66602c03139a9.svg",
|
300
|
-
"integrity": "sha256-O/LsK3vPlv3BQ4ljTxYNbtV5MYIUHjxy6RvnydzKdJU= sha384-CAjpa1dwP1lEF8I8SAwrzQ8hVEiTNj8Qn+PReZ8i9VD4mYogIrmuaoHJfjSYMrlN sha512-CtNXI/LqpiQqLr/fj7axU7LxU0LBzhA/yvLMhKd0sSz7ak3I19BOVf5RqSJGF6UXJ7oK760TXcMrGPfL8ppmlQ=="
|
301
|
-
},
|
302
|
-
"question-details.svg": {
|
303
|
-
"src": "7db5ec34af929030c99ae593ef1129fd.svg",
|
304
|
-
"integrity": "sha256-Idl3X0htyjennT4iZ7wlad6oLwPni5e31qIjHvBG0ig= sha384-nq5eoyY7uHelThhHS6ukxsztaSPvxC8fUrRNoFzFDbkU+KVgS3SjGtBQejy5zq0+ sha512-ryndGXWUjsPEeK04P1R8QjyLFvKqGQGKcSQwzPU3hszqaPHY4DkAR6Q4xTX2lJL3B7lbpwlbucSNxJjByF2BSw=="
|
305
|
-
},
|
306
|
-
"sociology-book-thumbnail.svg": {
|
307
|
-
"src": "87f800dff49d121084ae12bdf6b239f7.svg",
|
308
|
-
"integrity": "sha256-jKdj9T2a0NDgMKN/f4kBheWk4Qj8P9ijxKVFo5Az+n0= sha384-ueLpzQcQT6xn2mLd9fwBYN5V39agKUgQ0cB5TKoZj3uPAxugcUi6/45CuyPVcso7 sha512-gXqXDjmj8Z9FIBg/9P3HDIFdIGFNj1Og4FBlx0u7R4g42P1cK6jV8zVv4vzz8WsVOhlsucpxix118PwPidhyoQ=="
|
309
|
-
},
|
310
|
-
"spaced-practice.svg": {
|
311
|
-
"src": "921793921ccdd98049dfb9afc9e214c0.svg",
|
312
|
-
"integrity": "sha256-EuBXQAroPjLMdFlcL/7lxOwGhTzdgEEtDyCMfXQK3xA= sha384-m/r7MVfXZ6nvDei8nVZGxMxMUvkTzsJ6DG0xirWVvTFTuTzj3xHhONatgW2tR2qJ sha512-3JjnvUz/2vzWu6glse5dfmGC+q7eoZVQoCZTz0kDjB2Cd62g8tMOwblxGd01rlNN58QwdM7+JtLnTNV2YmXvUg=="
|
313
|
-
},
|
314
|
-
"student-id.svg": {
|
315
|
-
"src": "a43719051e12773aac21032f5605bf44.svg",
|
316
|
-
"integrity": "sha256-JGhkqIZaqydKtTHRd34d7siuWWJqPK4aBclthhxSBHY= sha384-mvQWsSeekaNJvsxZVYkt+yjrj7SeC1mpdtuH3rDEPm29MMu6u0TM7l09gkwsr1+Q sha512-KrKVoQojDXREk1CgmPzb67opIQXHf2GGaCbaxX3MbbWoCRKsBr1SzUtKKejeOXXqEcYgH71C7alqAEAsXv157g=="
|
317
|
-
},
|
318
|
-
"thanks.svg": {
|
319
|
-
"src": "b6c57fb1a28c9b844d80c2731eceff04.svg",
|
320
|
-
"integrity": "sha256-V9gGBEv4x3SCE4rXswydR4vwBJGCDsbP6RVLcEHn20Y= sha384-mTjvU8iI3HzfV2Qwx3GrIBUXEKgeEwHe3ZRDixFJxLiN1NcjtrcbxqeIDRb0yYvH sha512-DaCD05S8s2vE3UkE7rls74qeNwSCbdGYtQXA+Bze4FkjCrWIXxb3shl2TWp93Tc0l5e4WMYE/yimfJ8Av1eLcQ=="
|
321
|
-
},
|
322
|
-
"tutor-background.svg": {
|
323
|
-
"src": "3cc6304df650475b4f10f232ff1a5ef7.svg",
|
324
|
-
"integrity": "sha256-hwlHuLTQur24h28OmJblnn3sxHpriuWag+JZEP0FmwQ= sha384-Znri9p3p0BEVkbUHn6dC/4i4eaEE/vZgo5GY7sB2vQeDQhEjNRGyviKM+n7g+tOm sha512-1pejTCv0JPxfhLQ/YccFsZeFzKNo1rmxM0pG3w/p5C9jAJNgL+8SxQzJ0CDhATrPXEKJAOMQebFjC0Jp0OJQiA=="
|
325
|
-
},
|
326
|
-
"tutor.js": {
|
327
|
-
"src": "tutor-b920eb0be760a7c440bf.min.js",
|
328
|
-
"integrity": "sha256-tUf3KX1QlfRrJ7KJQQ4Ug40ZQS2T5thLAHSQoxbFI88= sha384-jmALLyE5iHUJA6h/FjOiPJT91DkuFM1XFIvo3OI8ZuaPm+ViPRdVwMrx+i5kcchC sha512-BBlxT9ywpOCERkuP0CSu8AKLRCWmd2uNMf7xwxZPTNH7233TGTJrcnClysI6x19gjYfiaC0JAmmfzNJImEjWPQ=="
|
329
|
-
},
|
330
|
-
"tutor.js.map": {
|
331
|
-
"src": "tutor-b920eb0be760a7c440bf.min.js.map",
|
332
|
-
"integrity": "sha256-Zzt45LgnZqL+4u9CJPZkJC12HZSsB7mLGfqAF84sy0M= sha384-CQoX4WqDssFuIHAQWSYjVVypECIxQKFTSUT+NT3Zt34j7/4GnTswEP+4wHgAadWd sha512-7NM8XP+5ZrEaWzLYKcS1CmsLtRQ3o/0Xsfl2UT+H8sGRbo3aaUVagdnPE+ldWrjyKtPqKbb4Z3IrJYBUUzfZzQ=="
|
333
|
-
},
|
334
|
-
"two-step.svg": {
|
335
|
-
"src": "420bd9cd338cbadd717b467652f39972.svg",
|
336
|
-
"integrity": "sha256-aNb0APXZC5Ccskfvym4qLaYuidR8Q/DCdScvaDbY7+A= sha384-S4QxsFZ9BwOHWQf2RjXtXpghVIzss0LkIWxIr/jgjEbDj7UfkY1NNUCnjpi3tGyh sha512-fKvPtm05LtVny66ebvGEuACVH+FZasRDkNym/kbTQoSp0JHBlaGROLDyaIclri3i6/lauJBUR8E0g25hfsyPaw=="
|
337
|
-
},
|
338
|
-
"under-construction.svg": {
|
339
|
-
"src": "3ec1654100b2949e03fe3672d4d11c02.svg",
|
340
|
-
"integrity": "sha256-XYAFrfp93PRK93dmGmyuHwF0Vc8aK607Wa8QaR+d2AU= sha384-0/CAwh8G+ojbqV2jbISPpF8JZz4cM40YhSRB5OOtMDW+oeMTSAFOrydhAYbmTacR sha512-PLHo8+zkC0JqAJC3ZPK5WNZbFiSGHYYHI6XxmaL7yIEX8w5kr4n6i5N/WVpeeyLP3SOo960q1giupV3BqAHSOA=="
|
341
|
-
},
|
342
|
-
"view-analytics.svg": {
|
343
|
-
"src": "9d10bd3d48974cdbf0f331c7feddd248.svg",
|
344
|
-
"integrity": "sha256-vtNdsHjfsjbQk/5oNADgrIAIqURecD9P4ZrZAo6Pfes= sha384-PlIKDJbmktmjRxnOZWLjKXN/ClJryQR2zfPmNrfBMvxl+dku7vumqYFRIfwkoK9j sha512-pwgSXSXsQxdSIN6Jot3GFP2yQTaj3qNDNh7lkhq+w5H2CpdBCEcCV2CS/CHJNZUMymhvbEJFNs4hKASdNkX3Sw=="
|
345
|
-
},
|
346
|
-
"view-textbook-questions.svg": {
|
347
|
-
"src": "08012f03a5268802675536d260cac3f6.svg",
|
348
|
-
"integrity": "sha256-mvsVwamHpST7FAvIQHdMvnTTAY1sBid/C+ezqf+wdmg= sha384-5X7g/jp6BEjbh4fmyRz5OdXYSRQ+GOKCgbxifciG4jsEVZbEOXB80h7veLLcIyqO sha512-ebw6zM2nJ3l3B0x9x7eVWE6cOnAK1os4kKX75JBByp7YE/LV/D8He5a3EBJehUHvMlIIBsD8qqNKClanvp6Jug=="
|
349
|
-
}
|
350
|
-
}
|
351
|
-
http_version:
|
352
|
-
recorded_at: Thu, 13 Sep 2018 17:45:53 GMT
|
353
|
-
recorded_with: VCR 2.9.3
|