mumuki-laboratory 8.2.0 → 8.6.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (98) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +19 -8
  3. data/app/assets/javascripts/mumuki_laboratory/application/bridge.js +2 -1
  4. data/app/assets/javascripts/mumuki_laboratory/application/button.js +0 -2
  5. data/app/assets/javascripts/mumuki_laboratory/application/codemirror.js +1 -1
  6. data/app/assets/javascripts/mumuki_laboratory/application/i18n.js +73 -0
  7. data/app/assets/javascripts/mumuki_laboratory/application/kids.js +22 -1
  8. data/app/assets/javascripts/mumuki_laboratory/application/kindergarten.js +6 -1
  9. data/app/assets/javascripts/mumuki_laboratory/application/primary.js +5 -3
  10. data/app/assets/javascripts/mumuki_laboratory/application/results-renderer.js +28 -1
  11. data/app/assets/javascripts/mumuki_laboratory/application/submission.js +72 -48
  12. data/app/assets/stylesheets/mumuki_laboratory/application.scss +1 -0
  13. data/app/assets/stylesheets/mumuki_laboratory/application/_codemirror-themes.scss +1 -0
  14. data/app/assets/stylesheets/mumuki_laboratory/application/codemirror-themes/_mu-light.scss +3 -0
  15. data/app/assets/stylesheets/mumuki_laboratory/application/modules/_discussion.scss +31 -8
  16. data/app/assets/stylesheets/mumuki_laboratory/application/modules/_kids.scss +2 -3
  17. data/app/assets/stylesheets/mumuki_laboratory/application/modules/_kids_results.scss +1 -0
  18. data/app/assets/stylesheets/mumuki_laboratory/application/modules/_terms.scss +4 -0
  19. data/app/controllers/application_controller.rb +1 -1
  20. data/app/controllers/chapters_controller.rb +9 -5
  21. data/app/controllers/exam_authorization_requests_controller.rb +26 -0
  22. data/app/controllers/exam_registrations_controller.rb +6 -0
  23. data/app/controllers/guide_container_controller.rb +2 -7
  24. data/app/helpers/application_helper.rb +4 -0
  25. data/app/helpers/contextualization_result_helper.rb +0 -8
  26. data/app/helpers/discussions_helper.rb +8 -0
  27. data/app/helpers/icons_helper.rb +3 -11
  28. data/app/helpers/menu_bar_helper.rb +6 -2
  29. data/app/helpers/overlapped_buttons_helper.rb +10 -6
  30. data/app/helpers/progress_bar_helper.rb +2 -2
  31. data/app/views/book_discussions/index.html.erb +3 -1
  32. data/app/views/chapters/show.html.erb +21 -9
  33. data/app/views/complements/show.html.erb +1 -1
  34. data/app/views/discussions/_message.html.erb +7 -7
  35. data/app/views/discussions/index.html.erb +11 -4
  36. data/app/views/exam_authorization_requests/show.html.erb +17 -0
  37. data/app/views/exam_registrations/show.html.erb +37 -0
  38. data/app/views/exams/show.html.erb +1 -1
  39. data/app/views/exercises/show.html.erb +2 -2
  40. data/app/views/layouts/_discussions.html.erb +0 -4
  41. data/app/views/layouts/_guide.html.erb +4 -33
  42. data/app/views/layouts/_guide_container.html.erb +28 -0
  43. data/app/views/layouts/_guide_title_icons.html.erb +9 -0
  44. data/app/views/layouts/_progress_bar.html.erb +9 -7
  45. data/app/views/layouts/_progress_listing.html.erb +5 -5
  46. data/app/views/layouts/_social_media.html.erb +2 -2
  47. data/app/views/layouts/application.html.erb +4 -7
  48. data/app/views/layouts/exercise_inputs/layouts/_input_kindergarten.html.erb +1 -1
  49. data/app/views/layouts/modals/_kindergarten_results_aborted.html.erb +1 -1
  50. data/app/views/lessons/show.html.erb +1 -1
  51. data/app/views/notifications/_discussion.html.erb +1 -0
  52. data/app/views/notifications/_dropdown.html.erb +13 -0
  53. data/app/views/notifications/_exam_authorization_request.html.erb +1 -0
  54. data/app/views/notifications/_exam_registration.html.erb +1 -0
  55. data/app/views/notifications/_message.html.erb +1 -0
  56. data/app/views/users/_term.html.erb +1 -1
  57. data/config/routes.rb +3 -0
  58. data/lib/mumuki/laboratory/controllers/notifications.rb +3 -22
  59. data/lib/mumuki/laboratory/controllers/results_rendering.rb +2 -1
  60. data/lib/mumuki/laboratory/locales/en.yml +31 -22
  61. data/lib/mumuki/laboratory/locales/es-CL.yml +23 -9
  62. data/lib/mumuki/laboratory/locales/es.yml +30 -22
  63. data/lib/mumuki/laboratory/locales/pt.yml +25 -16
  64. data/lib/mumuki/laboratory/version.rb +1 -1
  65. data/spec/controllers/exam_authorization_requests_controller_spec.rb +40 -0
  66. data/spec/controllers/exam_registrations_controller_spec.rb +19 -0
  67. data/spec/controllers/exercise_solutions_controller_spec.rb +3 -2
  68. data/spec/dummy/db/schema.rb +50 -1
  69. data/spec/dummy/public/character/animations.json +1 -0
  70. data/{public → spec/dummy/public}/character/kibi/context.svg +0 -0
  71. data/{public → spec/dummy/public}/character/kibi/failure.svg +0 -0
  72. data/{public → spec/dummy/public}/character/kibi/jump.svg +0 -0
  73. data/spec/dummy/public/character/kibi/passed_with_warnings.svg +4 -0
  74. data/{public → spec/dummy/public}/character/kibi/success2_l.svg +0 -0
  75. data/{public → spec/dummy/public}/character/kibi/success_l.svg +0 -0
  76. data/{public → spec/dummy/public}/character/magnifying_glass/apparition.svg +0 -0
  77. data/{public → spec/dummy/public}/character/magnifying_glass/loop.svg +0 -0
  78. data/spec/features/chapters_flow_spec.rb +112 -0
  79. data/spec/features/login_flow_spec.rb +1 -1
  80. data/spec/features/notifications_flow_spec.rb +46 -0
  81. data/spec/features/topic_flow_spec.rb +0 -1
  82. data/spec/javascripts/bridge-spec.js +2 -2
  83. data/spec/javascripts/csrf-token-spec.js +2 -2
  84. data/spec/javascripts/editors-spec.js +7 -9
  85. data/spec/javascripts/elipsis-spec.js +4 -4
  86. data/spec/javascripts/events-spec.js +7 -7
  87. data/spec/javascripts/exercise-spec.js +7 -8
  88. data/spec/javascripts/global-spec.js +3 -3
  89. data/spec/javascripts/i18n-spec.js +82 -0
  90. data/spec/javascripts/kids-button-spec.js +34 -0
  91. data/spec/javascripts/results-renderers-spec.js +5 -5
  92. data/spec/javascripts/speech-bubble-renderer-spec.js +2 -3
  93. data/spec/javascripts/submissions-store-spec.js +14 -14
  94. data/spec/javascripts/sync-mode-spec.js +3 -3
  95. data/spec/javascripts/timeout-spec.js +2 -2
  96. data/spec/javascripts/timer-spec.js +2 -2
  97. metadata +125 -92
  98. data/spec/features/chapter_spec.rb +0 -70
@@ -62,7 +62,7 @@ describe ExerciseSolutionsController, organization_workspace: :test do
62
62
  it { expect(assignment.solution).to eq('the content')}
63
63
 
64
64
  it { expect(response.body).to json_eq({ status: :failed, guide_finished_by_solution: false },
65
- except: [:html, :remaining_attempts_html, :current_exp]) }
65
+ except: [:html, :remaining_attempts_html, :current_exp, :in_gamified_context]) }
66
66
 
67
67
  it 'does not include kids specific renders' do
68
68
  body = JSON.parse(response.body)
@@ -89,7 +89,8 @@ describe ExerciseSolutionsController, organization_workspace: :test do
89
89
 
90
90
  it { expect(response.body).to json_eq({ status: :failed, guide_finished_by_solution: false },
91
91
  except: [:html, :remaining_attempts_html, :title_html, :button_html,
92
- :expectations, :test_results, :tips, :current_exp, :level_up_html]) }
92
+ :expectations, :test_results, :tips, :current_exp,
93
+ :level_up_html, :in_gamified_context]) }
93
94
 
94
95
  it 'includes kids specific renders' do
95
96
  body = JSON.parse(response.body)
@@ -10,7 +10,7 @@
10
10
  #
11
11
  # It's strongly recommended that you check this file into your version control system.
12
12
 
13
- ActiveRecord::Schema.define(version: 20201130163114) do
13
+ ActiveRecord::Schema.define(version: 20210119190204) do
14
14
 
15
15
  # These are extensions that must be enabled in order to support this database
16
16
  enable_extension "plpgsql"
@@ -134,6 +134,20 @@ ActiveRecord::Schema.define(version: 20201130163114) do
134
134
  t.index ["status_updated_by_id"], name: "index_discussions_on_status_updated_by_id"
135
135
  end
136
136
 
137
+ create_table "exam_authorization_requests", force: :cascade do |t|
138
+ t.integer "status", default: 0
139
+ t.bigint "exam_id"
140
+ t.bigint "exam_registration_id"
141
+ t.bigint "user_id"
142
+ t.bigint "organization_id"
143
+ t.datetime "created_at", null: false
144
+ t.datetime "updated_at", null: false
145
+ t.index ["exam_id"], name: "index_exam_authorization_requests_on_exam_id"
146
+ t.index ["exam_registration_id"], name: "index_exam_authorization_requests_on_exam_registration_id"
147
+ t.index ["organization_id"], name: "index_exam_authorization_requests_on_organization_id"
148
+ t.index ["user_id"], name: "index_exam_authorization_requests_on_user_id"
149
+ end
150
+
137
151
  create_table "exam_authorizations", force: :cascade do |t|
138
152
  t.integer "exam_id"
139
153
  t.integer "user_id"
@@ -143,6 +157,25 @@ ActiveRecord::Schema.define(version: 20201130163114) do
143
157
  t.index ["user_id"], name: "index_exam_authorizations_on_user_id"
144
158
  end
145
159
 
160
+ create_table "exam_registrations", force: :cascade do |t|
161
+ t.string "description"
162
+ t.datetime "start_time", null: false
163
+ t.datetime "end_time", null: false
164
+ t.integer "authorization_criterion_type", default: 0
165
+ t.integer "authorization_criterion_value"
166
+ t.bigint "organization_id"
167
+ t.datetime "created_at", null: false
168
+ t.datetime "updated_at", null: false
169
+ t.index ["organization_id"], name: "index_exam_registrations_on_organization_id"
170
+ end
171
+
172
+ create_table "exam_registrations_exams", id: false, force: :cascade do |t|
173
+ t.bigint "exam_id", null: false
174
+ t.bigint "exam_registration_id", null: false
175
+ t.index ["exam_id"], name: "index_exam_registrations_exams_on_exam_id"
176
+ t.index ["exam_registration_id"], name: "index_exam_registrations_exams_on_exam_registration_id"
177
+ end
178
+
146
179
  create_table "exams", id: :serial, force: :cascade do |t|
147
180
  t.integer "organization_id"
148
181
  t.integer "guide_id"
@@ -314,6 +347,20 @@ ActiveRecord::Schema.define(version: 20201130163114) do
314
347
  t.boolean "not_actually_a_question", default: false
315
348
  end
316
349
 
350
+ create_table "notifications", force: :cascade do |t|
351
+ t.integer "priority", default: 100
352
+ t.boolean "read", default: false
353
+ t.string "target_type"
354
+ t.bigint "target_id"
355
+ t.bigint "user_id"
356
+ t.bigint "organization_id"
357
+ t.datetime "created_at", null: false
358
+ t.datetime "updated_at", null: false
359
+ t.index ["organization_id"], name: "index_notifications_on_organization_id"
360
+ t.index ["target_type", "target_id"], name: "index_notifications_on_target_type_and_target_id"
361
+ t.index ["user_id"], name: "index_notifications_on_user_id"
362
+ end
363
+
317
364
  create_table "organizations", id: :serial, force: :cascade do |t|
318
365
  t.string "name"
319
366
  t.integer "book_id"
@@ -329,6 +376,7 @@ ActiveRecord::Schema.define(version: 20201130163114) do
329
376
  t.text "display_description"
330
377
  t.boolean "wins_page"
331
378
  t.boolean "immersible"
379
+ t.boolean "prevent_manual_evaluation_content"
332
380
  t.index ["book_id"], name: "index_organizations_on_book_id"
333
381
  t.index ["name"], name: "index_organizations_on_name", unique: true
334
382
  end
@@ -434,6 +482,7 @@ ActiveRecord::Schema.define(version: 20201130163114) do
434
482
  t.datetime "legal_terms_accepted_at"
435
483
  t.datetime "forum_terms_accepted_at"
436
484
  t.boolean "banned_from_forum"
485
+ t.boolean "uppercase_mode"
437
486
  t.index ["avatar_type", "avatar_id"], name: "index_users_on_avatar_type_and_avatar_id"
438
487
  t.index ["disabled_at"], name: "index_users_on_disabled_at"
439
488
  t.index ["last_organization_id"], name: "index_users_on_last_organization_id"
@@ -5,6 +5,7 @@
5
5
  "context",
6
6
  "failure",
7
7
  "jump",
8
+ "passed_with_warnings",
8
9
  "success2_l",
9
10
  "success_l"
10
11
  ],
@@ -0,0 +1,4 @@
1
+ <?xml version="1.0" encoding="utf-8"?><svg xmlns:xlink="http://www.w3.org/1999/xlink" id="amarillo_maso" image-rendering="auto" baseProfile="basic" version="1.1" x="0px" y="0px" width="120" height="110" xmlns="http://www.w3.org/2000/svg"><defs><symbol id="lupa" overflow="visible"><g id="lupa_0.0"><g><path fill="none" stroke="#999" stroke-width="5" stroke-linecap="round" stroke-linejoin="round" d="M7.95,8.2L7.95,26.7"/><path fill="#6CF" stroke="#999" stroke-width="3" stroke-linecap="round" stroke-linejoin="round" d="M8.2,-6.85Q3.75,-6.85 0.55,-3.7 -2.6,-0.5 -2.6,3.95 -2.6,8.4 0.55,11.55 3.75,14.75 8.2,14.75 12.65,14.75 15.8,11.55 19,8.4 19,3.95 19,-0.5 15.8,-3.7 12.65,-6.85 8.2,-6.85"/><path fill="none" stroke="#FFF" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" d="M8.25,-2.55Q8.95,-2.45 9.7,-2.3 12.4,-1.75 13.9,0.6 15.05,2.55 14.95,4.65"/></g></g>
2
+ </symbol><symbol id="Duplicate_Items_Folder_ojos1" overflow="visible"><g id="Duplicate Items Folder/ojos1_0.0"><g><path fill="#FFF" d="M9.7,10.15Q11.55,8.75 11.7,6.35 11.85,3.95 10.15,2.05 8.7,0.4 6.25,0.25 3.85,0.1 1.95,1.55 0.15,3.2 0,5.6 -0.15,8 1.5,9.65 3.1,11.6 5.5,11.75 7.95,11.9 9.7,10.15"/><path fill="#0E2D38" d="M7.2,5.05L8.7,3.3Q7.75,2.35 6.2,2.25 4.6,2.15 3.35,3.1 2.15,4.2 2.05,5.8 1.95,7.4 3.05,8.5 4.1,9.8 5.7,9.9 7.35,10 8.5,8.85 9.75,7.9 9.85,6.3 9.9,5.8 9.8,5.4L7.2,5.05"/><path fill="#FFF" d="M16.5,9.4Q18.1,11.35 20.5,11.5 22.95,11.65 24.7,9.9 26.55,8.5 26.7,6.1 26.85,3.7 25.15,1.8 23.7,0.15 21.25,0 18.85,-0.15 16.95,1.3 15.15,2.95 15,5.35 14.85,7.75 16.5,9.4"/><path fill="#0E2D38" d="M23.85,2.95Q22.9,2 21.35,1.9 19.75,1.8 18.5,2.75 17.3,3.85 17.2,5.45 17.1,7.05 18.2,8.15 19.25,9.45 20.85,9.55 22.5,9.65 23.65,8.5 24.9,7.55 25,5.95 25.05,5.45 24.95,5.05L22.35,4.7 23.85,2.95"/></g></g>
3
+ </symbol><symbol id="ojos4" overflow="visible"><g id="ojos2_0.0"><g><path fill="none" stroke="#0E2D38" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" d="M10.1,7.4L4.1,10.9M10.1,7.4L3.85,3.1"/><path fill="none" stroke="#0E2D38" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" d="M17.3,6.75L23.85,9.1M17.3,6.75L22.65,1.35"/></g></g>
4
+ </symbol></defs><g id="Scene_1" overflow="visible"><g><path fill="#999" d="M81.2,98.85Q81.35,98.8 81.35,98.7 81.35,98.65 81.2,98.55 81.1,98.5 80.9,98.5 80.75,98.5 80.6,98.55 80.5,98.65 80.5,98.7 80.5,98.8 80.6,98.85 80.75,98.9 80.9,98.9 81.1,98.9 81.2,98.85"/><path fill="#999" d="M42.6,97.3Q42.5,97.35 42.5,97.45 42.5,97.55 42.6,97.6 42.75,97.65 42.95,97.65 43.1,97.65 43.25,97.6 43.35,97.55 43.35,97.45 43.35,97.35 43.25,97.3 43.1,97.25 42.95,97.25 42.75,97.25 42.6,97.3"/><path fill="#999" d="M41.5,97.95Q41.35,97.95 41.2,98 41.05,98.05 41.05,98.15 41.05,98.2 41.2,98.3 41.35,98.35 41.5,98.35 41.7,98.35 41.8,98.3 41.95,98.2 41.95,98.15 41.95,98.05 41.8,98 41.7,97.95 41.5,97.95"/><path fill="#999" d="M45.05,98.3Q44.95,98.4 44.95,98.45 44.95,98.55 45.05,98.6 45.2,98.65 45.4,98.65 45.55,98.65 45.65,98.6 45.8,98.55 45.8,98.45 45.8,98.4 45.65,98.3 45.55,98.25 45.4,98.25 45.2,98.25 45.05,98.3"/><path fill="#999" d="M49.95,95.6Q49.85,95.7 49.85,95.75 49.85,95.85 49.95,95.9 50.1,95.95 50.25,95.95 50.45,95.95 50.55,95.9 50.7,95.85 50.7,95.75 50.7,95.7 50.55,95.6 50.45,95.55 50.25,95.55 50.1,95.55 49.95,95.6"/><path fill="#999" d="M46.25,94.05Q46.25,94.15 46.35,94.2 46.5,94.25 46.65,94.25 46.85,94.25 46.95,94.2 47.1,94.15 47.1,94.05 47.1,94 46.95,93.9 46.85,93.85 46.65,93.85 46.5,93.85 46.35,93.9 46.25,94 46.25,94.05"/><path fill="#999" d="M47.95,96.5Q47.8,96.5 47.65,96.55 47.55,96.65 47.55,96.7 47.55,96.8 47.65,96.85 47.8,96.9 47.95,96.9 48.15,96.9 48.25,96.85 48.4,96.8 48.4,96.7 48.4,96.65 48.25,96.55 48.15,96.5 47.95,96.5"/><path fill="#999" d="M46.35,98.8Q46.2,98.9 46.2,98.95 46.2,99.05 46.35,99.1 46.5,99.15 46.65,99.15 46.85,99.15 46.95,99.1 47.1,99.05 47.1,98.95 47.1,98.9 46.95,98.8 46.85,98.75 46.65,98.75 46.5,98.75 46.35,98.8"/><path fill="#999" d="M49.75,96.4Q49.6,96.4 49.45,96.45 49.35,96.55 49.35,96.6 49.35,96.7 49.45,96.75 49.6,96.8 49.75,96.8 49.95,96.8 50.05,96.75 50.2,96.7 50.2,96.6 50.2,96.55 50.05,96.45 49.95,96.4 49.75,96.4"/><path fill="#999" d="M49.25,96.5Q49.25,96.45 49.15,96.35 49,96.3 48.85,96.3 48.65,96.3 48.55,96.35 48.4,96.45 48.4,96.5 48.4,96.6 48.55,96.65 48.65,96.7 48.85,96.7 49,96.7 49.15,96.65 49.25,96.6 49.25,96.5"/><path fill="#999" d="M49,98.25Q48.9,98.35 48.9,98.4 48.9,98.5 49,98.55 49.15,98.6 49.35,98.6 49.45,98.6 49.55,98.6 49.45,98.65 49.45,98.7 49.45,98.8 49.55,98.85 49.7,98.9 49.9,98.9 50.05,98.9 50.15,98.85 50.3,98.8 50.3,98.7 50.3,98.65 50.15,98.6 50.05,98.5 49.9,98.5 49.7,98.5 49.6,98.6L49.6,98.55Q49.75,98.5 49.75,98.4 49.75,98.35 49.6,98.25 49.5,98.2 49.35,98.2 49.15,98.2 49,98.25"/><path fill="#999" d="M51.75,95.6Q51.65,95.65 51.65,95.75 51.65,95.8 51.75,95.85 51.9,95.95 52.1,95.95 52.25,95.95 52.4,95.85 52.5,95.8 52.5,95.75 52.5,95.65 52.4,95.6 52.25,95.55 52.1,95.55 51.9,95.55 51.75,95.6"/><path fill="#999" d="M51.4,94.45Q51.25,94.5 51.25,94.55 51.25,94.65 51.4,94.7 51.55,94.75 51.7,94.75 51.9,94.75 52,94.7 52.15,94.65 52.15,94.55 52.15,94.5 52,94.45 51.9,94.35 51.7,94.35 51.55,94.35 51.4,94.45"/><path fill="#999" d="M52.9,94.7Q52.7,94.7 52.55,94.75 52.45,94.85 52.45,94.9 52.45,95 52.55,95.05 52.7,95.1 52.9,95.1 53.05,95.1 53.15,95.05 53.3,95 53.3,94.9 53.3,94.85 53.15,94.75 53.05,94.7 52.9,94.7"/><path fill="#999" d="M52.35,97Q52.35,96.95 52.2,96.85 52.1,96.8 51.95,96.8 51.75,96.8 51.6,96.85 51.5,96.95 51.5,97 51.5,97.1 51.6,97.15 51.75,97.2 51.95,97.2 52.1,97.2 52.2,97.15 52.35,97.1 52.35,97"/><path fill="#999" d="M51.5,98.45Q51.5,98.5 51.6,98.55 51.743,98.646 51.875,98.65 51.838,98.65 51.75,98.65 51.65,98.75 51.65,98.8 51.55,98.85 51.55,98.95 51.55,99.05 51.65,99.1 51.8,99.15 51.95,99.15 52.15,99.15 52.25,99.1 52.4,99.05 52.4,98.95 52.5,98.9 52.5,98.8 52.5,98.75 52.4,98.65 52.252,98.601 52.1,98.6 52.152,98.598 52.2,98.55 52.35,98.5 52.35,98.45 52.35,98.35 52.2,98.3 52.1,98.25 51.9,98.25 51.75,98.25 51.6,98.3 51.5,98.35 51.5,98.45"/><path fill="#999" d="M51.65,97.7Q51.65,97.8 51.75,97.85 51.9,97.9 52.05,97.9 52.25,97.9 52.35,97.85 52.5,97.8 52.5,97.7 52.5,97.6 52.35,97.55 52.25,97.5 52.05,97.5 51.9,97.5 51.75,97.55 51.65,97.6 51.65,97.7"/><path fill="#999" d="M52.9,97.8Q52.75,97.8 52.6,97.85 52.5,97.9 52.5,98 52.5,98.1 52.6,98.15 52.75,98.2 52.9,98.2 53.1,98.2 53.2,98.15 53.35,98.1 53.35,98 53.35,97.95 53.3,97.9 53.45,97.95 53.6,97.95L53.65,97.95Q53.6,98 53.6,98.05 53.6,98.15 53.75,98.2 53.85,98.25 54.05,98.25 54.2,98.25 54.35,98.2 54.5,98.15 54.5,98.05 54.5,98 54.35,97.9 54.2,97.85 54.05,97.85 54,97.85 53.95,97.85 54,97.8 54,97.75 54,97.7 53.85,97.6 53.75,97.55 53.6,97.55 53.4,97.55 53.25,97.6 53.15,97.7 53.15,97.75 53.15,97.8 53.2,97.85 53.05,97.8 52.9,97.8"/><path fill="#999" d="M52.45,98.4Q52.35,98.45 52.35,98.55 52.35,98.6 52.45,98.65 52.6,98.75 52.75,98.75 52.95,98.75 53.05,98.65 53.2,98.6 53.2,98.55 53.2,98.45 53.05,98.4 52.95,98.35 52.75,98.35 52.6,98.35 52.45,98.4"/><path fill="#999" d="M55.55,96.4Q55.35,96.4 55.2,96.45 55.1,96.5 55.1,96.6 55.1,96.7 55.2,96.75 55.35,96.8 55.55,96.8 55.7,96.8 55.8,96.75 55.95,96.7 55.95,96.6 55.95,96.5 55.8,96.45 55.7,96.4 55.55,96.4"/><path fill="#999" d="M54.45,98.6Q54.6,98.65 54.75,98.65 54.95,98.65 55.05,98.6 55.2,98.55 55.2,98.45 55.2,98.35 55.05,98.3 54.95,98.25 54.75,98.25 54.6,98.25 54.45,98.3 54.35,98.35 54.35,98.45 54.35,98.55 54.45,98.6"/><path fill="#999" d="M56.45,98.9Q56.3,98.9 56.15,98.95 56.05,99 56.05,99.1L56,99.05Q55.9,99 55.7,99 55.55,99 55.4,99.05 55.3,99.15 55.3,99.2 55.3,99.3 55.4,99.35 55.55,99.4 55.7,99.4 55.9,99.4 56,99.35 56.15,99.3 56.15,99.25 56.3,99.3 56.45,99.3 56.65,99.3 56.75,99.25 56.9,99.2 56.9,99.1 56.9,99 56.75,98.95 56.65,98.9 56.45,98.9"/><path fill="#999" d="M57.1,98.05Q57.25,98.1 57.4,98.1 57.6,98.1 57.7,98.05 57.85,98 57.85,97.9 57.85,97.8 57.7,97.75 57.6,97.7 57.4,97.7 57.25,97.7 57.1,97.75 57,97.8 57,97.9 57,98 57.1,98.05"/><path fill="#999" d="M59.1,98.15Q59.25,98.15 59.4,98.1 59.55,98.05 59.55,97.95 59.55,97.85 59.4,97.8 59.3,97.75 59.2,97.75 59.2,97.7 59.1,97.7 58.95,97.6 58.8,97.6 58.65,97.6 58.5,97.7 58.4,97.75 58.35,97.8 58.2,97.9 58.2,97.95 58.2,98.05 58.35,98.1 58.5,98.15 58.65,98.15 58.8,98.15 58.9,98.15 58.95,98.15 59.1,98.15"/><path fill="#999" d="M58.65,98.8Q58.65,98.9 58.75,98.95 58.9,99 59.1,99 59.25,99 59.35,98.95 59.5,98.9 59.5,98.8 59.5,98.75 59.35,98.65 59.25,98.6 59.1,98.6 58.9,98.6 58.75,98.65 58.65,98.75 58.65,98.8"/><path fill="#999" d="M60.6,97.65Q60.45,97.6 60.3,97.6 60.15,97.6 60,97.65 59.85,97.7 59.85,97.8 59.85,97.85 60,97.95 60.1,98 60.25,98L60.25,98.05Q60.25,98.15 60.35,98.2 60.5,98.25 60.65,98.25 60.85,98.25 60.95,98.2 61.1,98.15 61.1,98.05 61.1,98 60.95,97.95 60.85,97.9 60.7,97.85 60.75,97.85 60.75,97.8 60.75,97.7 60.6,97.65"/><path fill="#999" d="M60.05,98.4Q59.85,98.4 59.7,98.45 59.6,98.5 59.6,98.6 59.6,98.65 59.7,98.7 59.85,98.8 60.05,98.8 60.2,98.8 60.3,98.7 60.45,98.65 60.45,98.6 60.45,98.5 60.3,98.45 60.2,98.4 60.05,98.4"/><path fill="#999" d="M61.7,95.15Q61.6,95.1 61.4,95.1 61.25,95.1 61.1,95.15 61,95.2 61,95.3 61,95.4 61.1,95.45 61.25,95.5 61.4,95.5 61.6,95.5 61.7,95.45 61.85,95.4 61.85,95.3 61.85,95.2 61.7,95.15"/><path fill="#999" d="M61.05,97.2Q61.05,97.25 61.15,97.3 61.3,97.4 61.45,97.4 61.65,97.4 61.75,97.3 61.9,97.25 61.9,97.2 61.9,97.1 61.75,97.05 61.65,97 61.45,97 61.3,97 61.15,97.05 61.05,97.1 61.05,97.2"/><path fill="#999" d="M62,97.9Q61.85,97.95 61.85,98 61.85,98.1 62,98.15 62.15,98.2 62.3,98.2 62.45,98.2 62.6,98.15 62.75,98.1 62.75,98 62.75,97.95 62.6,97.9 62.45,97.8 62.3,97.8 62.15,97.8 62,97.9"/><path fill="#999" d="M65.4,96.85Q65.4,96.95 65.5,97 65.65,97.05 65.85,97.05 66,97.05 66.15,97 66.25,96.95 66.25,96.85 66.25,96.8 66.15,96.7 66,96.65 65.85,96.65 65.65,96.65 65.5,96.7 65.4,96.8 65.4,96.85"/><path fill="#999" d="M64.6,96.5Q64.8,96.5 64.9,96.4 65.05,96.35 65.05,96.3 65.05,96.2 64.9,96.15 64.8,96.1 64.6,96.1 64.45,96.1 64.3,96.15 64.2,96.2 64.2,96.3 64.2,96.35 64.3,96.4 64.45,96.5 64.6,96.5"/><path fill="#999" d="M65.5,97.95Q65.4,97.9 65.25,97.9 65.05,97.9 64.9,97.95 64.8,98 64.8,98.1 64.8,98.2 64.9,98.25 65,98.3 65.15,98.3 65,98.35 65,98.45 65,98.5 65.15,98.55 65.3,98.65 65.45,98.65 65.65,98.65 65.75,98.55 65.9,98.5 65.9,98.45L65.9,98.4Q66.05,98.45 66.25,98.45 66.4,98.45 66.5,98.4 66.65,98.35 66.65,98.25 66.65,98.2 66.5,98.1 66.4,98.05 66.25,98.05 66.05,98.05 65.9,98.1 65.8,98.2 65.8,98.25 65.8,98.298 65.85,98.35 65.798,98.3 65.75,98.3 65.65,98.25 65.55,98.25 65.65,98.2 65.65,98.1 65.65,98 65.5,97.95"/><path fill="#999" d="M69.1,95.8Q69.1,95.7 69,95.65 68.85,95.6 68.7,95.6 68.5,95.6 68.4,95.65 68.25,95.7 68.25,95.8 68.2,95.85 68.2,95.95 68.2,96 68.3,96.05 68.4,96.1 68.5,96.15 68.45,96.15 68.45,96.2 68.45,96.3 68.55,96.35 68.7,96.4 68.9,96.4 69.05,96.4 69.2,96.35 69.3,96.3 69.3,96.2 69.3,96.15 69.2,96.05 69.1,96.05 69,96 69.05,96 69.05,95.95L69.05,95.9Q69.1,95.85 69.1,95.8"/><path fill="#999" d="M67.85,97Q67.95,97.1 68.15,97.1 68.3,97.1 68.45,97 68.55,96.95 68.55,96.9L68.55,96.85Q68.75,96.85 68.85,96.8 69,96.75 69,96.65 69,96.6 68.85,96.5 68.75,96.45 68.55,96.45 68.4,96.45 68.25,96.5 68.15,96.6 68.15,96.65L68.15,96.7Q67.95,96.7 67.85,96.75 67.7,96.8 67.7,96.9 67.7,96.95 67.85,97"/><path fill="#999" d="M68.2,97.2Q68.05,97.25 68.05,97.35 68.05,97.4 68.2,97.5 68.35,97.55 68.5,97.55 68.7,97.55 68.8,97.5 68.95,97.4 68.95,97.35 68.95,97.25 68.8,97.2 68.7,97.15 68.5,97.15 68.35,97.15 68.2,97.2"/><path fill="#999" d="M66.3,98.95Q66.15,98.85 66,98.85 65.8,98.85 65.7,98.95 65.55,99 65.55,99.05 65.55,99.15 65.7,99.2 65.8,99.3 66,99.3 66.15,99.3 66.3,99.2 66.4,99.15 66.4,99.05 66.4,99 66.3,98.95"/><path fill="#999" d="M70.1,96.45Q70,96.5 70,96.6 70,96.65 70.1,96.7 70.25,96.8 70.4,96.8 70.6,96.8 70.7,96.7 70.85,96.65 70.85,96.6 70.85,96.5 70.7,96.45 70.6,96.4 70.4,96.4 70.25,96.4 70.1,96.45"/><path fill="#999" d="M74,95.6Q74,95.552 73.95,95.55 74.002,95.55 74.05,95.55 74.2,95.55 74.35,95.5 74.45,95.45 74.45,95.35 74.45,95.25 74.35,95.2 74.2,95.15 74.05,95.15 73.85,95.15 73.7,95.2 73.6,95.25 73.6,95.35 73.6,95.45 73.7,95.5 73.55,95.5 73.4,95.6 73.3,95.65 73.3,95.7 73.3,95.8 73.4,95.85 73.55,95.9 73.7,95.9 73.9,95.9 74,95.85 74.15,95.8 74.15,95.7 74.15,95.65 74,95.6"/><path fill="#999" d="M74.8,95.4Q74.8,95.45 74.95,95.5 75.05,95.6 75.25,95.6 75.4,95.6 75.55,95.5 75.65,95.45 75.65,95.4 75.65,95.3 75.55,95.25 75.4,95.15 75.25,95.15 75.05,95.15 74.95,95.25 74.8,95.3 74.8,95.4"/><path fill="#999" d="M71.65,95.55Q71.8,95.55 71.95,95.5 72.05,95.45 72.05,95.35 72.05,95.3 71.95,95.2 71.8,95.15 71.65,95.15 71.45,95.15 71.35,95.2 71.2,95.3 71.2,95.35 71.2,95.45 71.35,95.5 71.45,95.55 71.65,95.55"/><path fill="#999" d="M71.95,96.9Q71.85,96.95 71.85,97.05 71.85,97.15 71.95,97.2 72.1,97.25 72.3,97.25 72.45,97.25 72.55,97.2 72.7,97.15 72.7,97.05 72.7,96.95 72.55,96.9 72.45,96.85 72.3,96.85 72.1,96.85 71.95,96.9"/><path fill="#999" d="M74.1,96.6Q74.25,96.5 74.25,96.45 74.25,96.35 74.1,96.3 74,96.25 73.8,96.25 73.65,96.25 73.5,96.3 73.4,96.35 73.4,96.45 73.4,96.5 73.5,96.6 73.65,96.65 73.8,96.65 74,96.65 74.1,96.6"/><path fill="#999" d="M74.55,97.55Q74.45,97.6 74.45,97.7 74.45,97.75 74.55,97.85 74.7,97.9 74.9,97.9 75.05,97.9 75.15,97.85 75.3,97.75 75.3,97.7 75.3,97.6 75.15,97.55 75.05,97.5 74.9,97.5 74.7,97.5 74.55,97.55"/><path fill="#999" d="M77.25,97.3Q77.4,97.35 77.6,97.35 77.75,97.35 77.9,97.3 78,97.2 78,97.15 78,97.05 77.9,97 77.75,96.95 77.6,96.95L77.55,96.95Q77.5,96.9 77.4,96.85 77.3,96.8 77.1,96.8 76.95,96.8 76.8,96.85 76.7,96.9 76.7,97 76.7,97.1 76.8,97.15 76.95,97.2 77.1,97.2L77.15,97.2Q77.2,97.25 77.25,97.3"/><path fill="#999" d="M78.15,98Q78.3,97.95 78.3,97.85 78.3,97.75 78.15,97.7 78.05,97.65 77.85,97.65 77.7,97.65 77.55,97.7 77.45,97.75 77.45,97.85 77.45,97.95 77.55,98 77.7,98.05 77.85,98.05 78.05,98.05 78.15,98"/><path fill="#999" d="M80.2,97.3Q80.1,97.25 79.95,97.25 79.75,97.25 79.6,97.3 79.5,97.35 79.5,97.45 79.5,97.55 79.6,97.6 79.75,97.65 79.95,97.65 80.1,97.65 80.2,97.6 80.35,97.55 80.35,97.45 80.35,97.35 80.2,97.3"/><path fill="#999" d="M79.6,98.3Q79.45,98.3 79.3,98.35 79.15,98.45 79.15,98.5 79.15,98.6 79.3,98.65 79.45,98.7 79.6,98.7 79.75,98.7 79.9,98.65 80.05,98.6 80.05,98.5 80.2,98.6 80.35,98.6 80.55,98.6 80.65,98.5 80.8,98.45 80.8,98.4 80.8,98.3 80.65,98.25 80.55,98.2 80.35,98.2 80.2,98.2 80.05,98.25 79.95,98.3 79.95,98.4 79.9,98.4 79.9,98.35 79.75,98.3 79.6,98.3"/><path fill="#999" d="M79.45,97.95Q79.3,98.05 79.3,98.1 79.3,98.2 79.45,98.25 79.55,98.3 79.75,98.3 79.9,98.3 80.05,98.25 80.15,98.2 80.15,98.1 80.15,98.05 80.05,97.95 79.9,97.9 79.75,97.9 79.55,97.9 79.45,97.95"/><path fill="#999" d="M79.95,100Q79.95,100.1 80.1,100.15 79.95,100.15 79.85,100.2 79.7,100.25 79.7,100.35 79.7,100.45 79.85,100.5 80,100.55 80.15,100.55 80.3,100.55 80.45,100.5 80.6,100.45 80.6,100.35 80.6,100.3 80.5,100.2 80.6,100.2 80.7,100.15 80.75,100.15 80.8,100.1 80.9,100.1 81,100.1 81.15,100.1 81.25,100.05 81.4,99.95 81.4,99.9 81.4,99.8 81.25,99.75 81.15,99.7 81,99.7 80.8,99.7 80.65,99.75 80.6,99.8 80.55,99.85 80.5,99.8 80.4,99.8 80.2,99.8 80.1,99.9 79.95,99.95 79.95,100"/><path fill="#999" d="M80.9,100.3Q80.8,100.35 80.8,100.45 80.8,100.55 80.9,100.6L80.95,100.6Q81,100.7 81.1,100.75 81.2,100.8 81.4,100.8 81.5,100.8 81.6,100.8L81.65,100.8 81.65,100.85Q81.65,100.9 81.75,100.95 81.9,101.05 82.1,101.05 82.25,101.05 82.35,100.95 82.5,100.9 82.5,100.85 82.5,100.75 82.4,100.7 82.4,100.6 82.25,100.55 82.15,100.5 81.95,100.5 81.85,100.5 81.75,100.5L81.7,100.45 81.65,100.45Q81.65,100.35 81.5,100.3 81.4,100.25 81.2,100.25 81.05,100.25 80.9,100.3"/><path fill="#999" d="M78.9,100.4Q78.8,100.35 78.6,100.35 78.45,100.35 78.3,100.4 78.2,100.45 78.2,100.55 78.2,100.6 78.3,100.7 78.45,100.75 78.6,100.75 78.8,100.75 78.9,100.7 79.05,100.6 79.05,100.55 79.05,100.45 78.9,100.4"/><path fill="#999" d="M79.1,101.2Q79.1,101.15 78.95,101.05 78.85,101 78.65,101 78.5,101 78.35,101.05 78.25,101.15 78.25,101.2 78.25,101.3 78.35,101.35 78.5,101.4 78.65,101.4 78.85,101.4 78.95,101.35 79.1,101.3 79.1,101.2"/><path fill="#999" d="M76.75,99.65Q76.9,99.6 76.9,99.5 76.9,99.45 76.75,99.4 76.65,99.3 76.5,99.3 76.3,99.3 76.15,99.4 76.05,99.45 76.05,99.5 76.05,99.6 76.15,99.65 76.3,99.7 76.5,99.7 76.65,99.7 76.75,99.65"/><path fill="#999" d="M76.2,100Q76.35,99.95 76.35,99.85 76.35,99.75 76.2,99.7 76.1,99.65 75.9,99.65 75.75,99.65 75.6,99.7 75.5,99.75 75.5,99.85 75.5,99.95 75.6,100 75.75,100.05 75.9,100.05 76.1,100.05 76.2,100"/><path fill="#999" d="M76.7,101.15Q76.7,101.25 76.8,101.3 76.95,101.35 77.1,101.35 77.3,101.35 77.4,101.3 77.55,101.25 77.55,101.15 77.55,101.1 77.4,101 77.3,100.95 77.1,100.95 76.95,100.95 76.8,101 76.7,101.1 76.7,101.15"/><path fill="#999" d="M78.35,102.75Q78.35,102.7 78.2,102.6 78.1,102.55 77.9,102.55 77.75,102.55 77.6,102.6 77.5,102.7 77.5,102.75 77.5,102.85 77.6,102.9 77.75,102.95 77.9,102.95 78.1,102.95 78.2,102.9 78.35,102.85 78.35,102.75"/><path fill="#999" d="M80.8,102.4Q80.7,102.5 80.7,102.55 80.7,102.65 80.8,102.7 80.95,102.75 81.1,102.75 81.3,102.75 81.4,102.7 81.55,102.65 81.55,102.55 81.55,102.5 81.4,102.4 81.3,102.35 81.1,102.35 80.95,102.35 80.8,102.4"/><path fill="#999" d="M80.3,103Q80.15,103.05 80.15,103.15 80.15,103.2 80.3,103.25 80.45,103.35 80.6,103.35 80.75,103.35 80.9,103.25 81.05,103.2 81.05,103.15 81.05,103.05 80.9,103 80.75,102.95 80.6,102.95 80.45,102.95 80.3,103"/><path fill="#999" d="M80.15,103.6Q80.15,103.5 80,103.45 79.9,103.4 79.7,103.4 79.55,103.4 79.4,103.45 79.25,103.5 79.25,103.6 79.25,103.65 79.4,103.7 79.55,103.8 79.7,103.8 79.85,103.8 79.95,103.75 79.95,103.85 80.1,103.9 80.2,103.95 80.4,103.95 80.55,103.95 80.7,103.9 80.8,103.85 80.8,103.75 80.8,103.65 80.7,103.6 80.55,103.55 80.4,103.55 80.25,103.55 80.15,103.6"/><path fill="#999" d="M80.1,104.95Q80.25,104.95 80.35,104.9 80.5,104.85 80.5,104.75 80.5,104.7 80.35,104.65 80.25,104.55 80.1,104.55 79.9,104.55 79.75,104.65 79.65,104.7 79.65,104.75 79.65,104.85 79.75,104.9 79.9,104.95 80.1,104.95"/><path fill="#999" d="M75,99.5Q75.2,99.5 75.3,99.45 75.45,99.4 75.45,99.3 75.45,99.25 75.3,99.15 75.2,99.1 75,99.1 74.85,99.1 74.7,99.15 74.6,99.25 74.6,99.3 74.6,99.4 74.7,99.45 74.85,99.5 75,99.5"/><path fill="#999" d="M74.2,100Q74.05,100 73.9,100.05 73.8,100.15 73.8,100.2 73.8,100.3 73.9,100.35 74.05,100.4 74.2,100.4 74.4,100.4 74.5,100.35 74.65,100.3 74.65,100.2 74.65,100.15 74.5,100.05 74.4,100 74.2,100"/><path fill="#999" d="M73.85,101.45Q73.7,101.35 73.55,101.35 73.35,101.35 73.2,101.45 73.1,101.5 73.1,101.55 73.1,101.65 73.2,101.7 73.35,101.75 73.55,101.75 73.7,101.75 73.85,101.7 73.95,101.65 73.95,101.55 73.95,101.5 73.85,101.45"/><path fill="#999" d="M72.6,99.25Q72.5,99.2 72.35,99.2 72.15,99.2 72,99.25 71.9,99.3 71.9,99.4 71.9,99.45 72,99.5 72.15,99.6 72.35,99.6 72.5,99.6 72.6,99.5 72.75,99.45 72.75,99.4 72.75,99.3 72.6,99.25"/><path fill="#999" d="M71.75,99.7Q71.75,99.6 71.6,99.55 71.45,99.5 71.3,99.5 71.1,99.5 71,99.55 70.85,99.6 70.85,99.7 70.85,99.748 70.9,99.75 70.798,99.75 70.65,99.75 70.5,99.75 70.35,99.8 70.25,99.85 70.25,99.95 70.25,100 70.35,100.1 70.5,100.15 70.65,100.15 70.85,100.15 70.95,100.1 71.1,100 71.1,99.95L71.1,99.9Q71.15,99.9 71.3,99.9 71.45,99.9 71.6,99.85 71.75,99.8 71.75,99.7"/><path fill="#999" d="M71.3,100.5Q71.15,100.45 71,100.45 70.85,100.45 70.7,100.5 70.55,100.6 70.55,100.65 70.55,100.75 70.7,100.8 70.85,100.85 71,100.85 71.15,100.85 71.3,100.8 71.45,100.75 71.45,100.65 71.45,100.6 71.3,100.5"/><path fill="#999" d="M71.65,100.7Q71.55,100.8 71.55,100.85 71.55,100.95 71.65,101 71.8,101.05 71.95,101.05 72.15,101.05 72.25,101 72.4,100.95 72.4,100.85 72.4,100.8 72.25,100.7 72.15,100.65 71.95,100.65 71.8,100.65 71.65,100.7"/><path fill="#999" d="M71.05,101.25Q71.05,101.15 70.95,101.1 70.8,101.05 70.65,101.05 70.45,101.05 70.35,101.1 70.2,101.15 70.2,101.25 70.2,101.3 70.35,101.35 70.45,101.45 70.65,101.45 70.8,101.45 70.95,101.35 71.05,101.3 71.05,101.25"/><path fill="#999" d="M71.65,101.9Q71.8,102 71.95,102 72.15,102 72.25,101.9 72.4,101.85 72.4,101.8 72.4,101.7 72.25,101.65 72.15,101.6 71.95,101.6 71.8,101.6 71.65,101.65 71.55,101.7 71.55,101.8 71.55,101.85 71.65,101.9"/><path fill="#999" d="M71.15,102.55Q71.3,102.5 71.3,102.4 71.3,102.3 71.15,102.25 71,102.2 70.85,102.2 70.65,102.2 70.55,102.25 70.4,102.3 70.4,102.4 70.4,102.5 70.55,102.55 70.65,102.6 70.85,102.6 71,102.6 71.15,102.55"/><path fill="#999" d="M71.6,104.8Q71.6,104.85 71.7,104.9 71.85,105 72,105 72.2,105 72.3,104.9 72.45,104.85 72.45,104.8 72.45,104.7 72.3,104.65 72.2,104.6 72,104.6 71.85,104.6 71.7,104.65 71.6,104.7 71.6,104.8"/><path fill="#999" d="M72.65,105.1Q72.55,105.05 72.4,105.05 72.2,105.05 72.05,105.1 71.95,105.2 71.95,105.25 71.95,105.35 72.05,105.4 72.2,105.45 72.4,105.45 72.55,105.45 72.65,105.4 72.8,105.35 72.8,105.25 72.8,105.2 72.65,105.1"/><path fill="#999" d="M75.15,102.5Q75,102.5 74.85,102.55 74.75,102.65 74.75,102.7 74.75,102.8 74.85,102.85 75,102.9 75.15,102.9 75.35,102.9 75.45,102.85 75.6,102.8 75.6,102.7 75.6,102.65 75.45,102.55 75.35,102.5 75.15,102.5"/><path fill="#999" d="M74.35,105.15Q74.2,105.1 74.05,105.1 73.9,105.1 73.75,105.15 73.6,105.25 73.6,105.3 73.6,105.4 73.75,105.45 73.9,105.5 74.05,105.5 74.2,105.5 74.35,105.45 74.5,105.4 74.5,105.3 74.5,105.25 74.35,105.15"/><path fill="#999" d="M73.85,105.55Q73.7,105.5 73.55,105.5 73.35,105.5 73.2,105.55 73.1,105.65 73.1,105.7 73.1,105.8 73.2,105.85 73.35,105.9 73.55,105.9 73.7,105.9 73.85,105.85 73.95,105.8 73.95,105.7 73.95,105.65 73.85,105.55"/><path fill="#999" d="M76.3,106.55Q76.45,106.55 76.6,106.5 76.7,106.45 76.7,106.35 76.7,106.25 76.6,106.2 76.45,106.15 76.3,106.15 76.1,106.15 76,106.2 75.85,106.25 75.85,106.35 75.85,106.45 76,106.5 76.1,106.55 76.3,106.55"/><path fill="#999" d="M69.6,99.75Q69.5,99.7 69.35,99.7 69.15,99.7 69,99.75 68.9,99.85 68.9,99.9 68.9,100 69,100.05 69.15,100.1 69.35,100.1 69.5,100.1 69.6,100.05 69.75,100 69.75,99.9 69.75,99.85 69.6,99.75"/><path fill="#999" d="M70.3,101.95Q70.2,101.9 70,101.9 69.85,101.9 69.7,101.95 69.6,102 69.6,102.1 69.6,102.15 69.7,102.25 69.85,102.3 70,102.3 70.2,102.3 70.3,102.25 70.45,102.15 70.45,102.1 70.45,102 70.3,101.95"/><path fill="#999" d="M68.15,100.5Q68.15,100.4 68,100.35 67.9,100.3 67.75,100.3 67.55,100.3 67.4,100.35 67.3,100.4 67.3,100.5 67.3,100.55 67.4,100.6 67.55,100.7 67.75,100.7 67.9,100.7 68,100.6 68.15,100.55 68.15,100.5"/><path fill="#999" d="M66,99.8Q65.95,99.85 65.9,99.9 65.85,99.9 65.8,99.9 65.65,99.9 65.5,99.95 65.35,100 65.35,100.1 65.35,100.15 65.5,100.25 65.65,100.3 65.8,100.3 65.95,100.3 66.1,100.25 66.2,100.2 66.2,100.15 66.25,100.15 66.35,100.15 66.5,100.15 66.65,100.1 66.75,100.05 66.75,99.95 66.75,99.85 66.65,99.8 66.5,99.75 66.35,99.75 66.15,99.75 66,99.8"/><path fill="#999" d="M66.75,100.95Q66.75,100.85 66.6,100.8 66.45,100.75 66.3,100.75 66.15,100.75 66,100.8 65.85,100.85 65.85,100.95 65.85,100.998 65.9,101 65.847,101 65.75,101 65.55,101 65.45,101.05 65.3,101.1 65.3,101.2 65.3,101.3 65.45,101.35 65.55,101.4 65.75,101.4 65.9,101.4 66.05,101.35 66.2,101.3 66.2,101.2 66.2,101.151 66.15,101.1 66.202,101.15 66.3,101.15 66.45,101.15 66.6,101.05 66.75,101 66.75,100.95"/><path fill="#999" d="M67.35,102.55Q67.45,102.5 67.45,102.4 67.45,102.35 67.35,102.25 67.2,102.2 67.05,102.2 66.85,102.2 66.75,102.25 66.6,102.35 66.6,102.4 66.6,102.5 66.75,102.55 66.85,102.6 67.05,102.6 67.2,102.6 67.35,102.55"/><path fill="#999" d="M67.9,102.9Q67.8,102.95 67.8,103.05 67.8,103.1 67.9,103.2 68.05,103.25 68.25,103.25L68.3,103.25Q68.35,103.25 68.45,103.25 68.6,103.25 68.75,103.2 68.85,103.15 68.85,103.05 68.85,102.95 68.75,102.9 68.6,102.85 68.45,102.85L68.4,102.85Q68.3,102.85 68.25,102.85 68.05,102.85 67.9,102.9"/><path fill="#999" d="M65.95,103.45Q66.1,103.4 66.1,103.3 66.1,103.2 65.95,103.15 65.85,103.1 65.65,103.1 65.5,103.1 65.35,103.15 65.25,103.2 65.25,103.3 65.25,103.4 65.35,103.45 65.5,103.5 65.65,103.5 65.85,103.5 65.95,103.45"/><path fill="#999" d="M66.5,105.15Q66.5,105.05 66.35,105 66.3,104.95 66.15,104.95 66.2,104.9 66.2,104.85 66.2,104.8 66.05,104.7 65.95,104.65 65.75,104.65 65.6,104.65 65.45,104.7 65.35,104.8 65.35,104.85 65.35,104.95 65.45,105 65.55,105.05 65.7,105.05 65.65,105.1 65.65,105.15 65.65,105.2 65.75,105.3 65.9,105.35 66.05,105.35 66.25,105.35 66.35,105.3 66.5,105.2 66.5,105.15"/><path fill="#999" d="M68.05,104.15Q68.2,104.1 68.2,104 68.2,103.9 68.05,103.85 67.95,103.8 67.8,103.8 67.6,103.8 67.45,103.85 67.35,103.9 67.35,104 67.35,104.1 67.45,104.15 67.6,104.2 67.8,104.2 67.95,104.2 68.05,104.15"/><path fill="#999" d="M70.1,102.65Q70.1,102.55 69.95,102.5 69.85,102.45 69.65,102.45 69.5,102.45 69.35,102.5 69.25,102.55 69.25,102.65 69.25,102.7 69.35,102.75 69.5,102.85 69.65,102.85 69.85,102.85 69.95,102.75 70.1,102.7 70.1,102.65"/><path fill="#999" d="M69.2,104.5Q69.05,104.45 68.9,104.45 68.7,104.45 68.55,104.5 68.45,104.55 68.45,104.65 68.45,104.7 68.55,104.75 68.7,104.85 68.9,104.85 69.05,104.85 69.2,104.75 69.3,104.7 69.3,104.65 69.3,104.55 69.2,104.5"/><path fill="#999" d="M70.7,103.95Q70.7,103.85 70.55,103.8 70.45,103.75 70.3,103.75 70.1,103.75 69.95,103.8 69.85,103.85 69.85,103.95 69.85,104.05 69.95,104.1 70.1,104.15 70.3,104.15 70.45,104.15 70.55,104.1 70.7,104.05 70.7,103.95"/><path fill="#999" d="M65.05,100.4Q64.95,100.35 64.75,100.35 64.6,100.35 64.45,100.4 64.35,100.5 64.35,100.55 64.35,100.65 64.45,100.7 64.6,100.75 64.75,100.75 64.95,100.75 65.05,100.7 65.2,100.65 65.2,100.55 65.2,100.5 65.05,100.4"/><path fill="#999" d="M63.95,99.45Q64.1,99.4 64.1,99.35 64.1,99.25 63.95,99.2 63.85,99.15 63.7,99.15 63.5,99.15 63.35,99.2 63.25,99.25 63.25,99.35 63.25,99.4 63.35,99.45 63.5,99.55 63.7,99.55 63.85,99.55 63.95,99.45"/><path fill="#999" d="M63.5,101.5Q63.7,101.5 63.8,101.45 63.95,101.4 63.95,101.3 63.95,101.25 63.8,101.15 63.7,101.1 63.5,101.1 63.35,101.1 63.2,101.15 63.1,101.25 63.1,101.3 63.1,101.4 63.2,101.45 63.35,101.5 63.5,101.5"/><path fill="#999" d="M62.5,99.8Q62.551,99.799 62.6,99.75 62.75,99.7 62.75,99.6 62.75,99.55 62.6,99.5 62.45,99.4 62.3,99.4 62.15,99.4 62,99.5 61.85,99.55 61.85,99.6 61.85,99.65 61.9,99.7 61.85,99.7 61.8,99.7 61.7,99.8 61.7,99.85 61.7,99.95 61.8,100 61.95,100.05 62.1,100.05 62.3,100.05 62.4,100 62.55,99.95 62.55,99.85 62.55,99.801 62.5,99.8"/><path fill="#999" d="M60.9,99.4Q60.9,99.3 60.8,99.25 60.65,99.2 60.5,99.2 60.3,99.2 60.2,99.25 60.05,99.3 60.05,99.4 60.05,99.5 60.2,99.55 60.298,99.599 60.5,99.6 60.395,99.602 60.25,99.65 60.15,99.7 60.15,99.8 60.15,99.9 60.25,99.95 60.3,99.95 60.4,100L60.4,100.05Q60.4,100.1 60.5,100.15 60.65,100.25 60.8,100.25 61,100.25 61.1,100.15 61.25,100.1 61.25,100.05 61.25,99.95 61.1,99.9 61.05,99.85 61,99.85L61,99.8Q61,99.7 60.85,99.65 60.752,99.601 60.6,99.6 60.703,99.598 60.8,99.55 60.9,99.5 60.9,99.4"/><path fill="#999" d="M60.95,101.65Q61.1,101.6 61.1,101.5 61.1,101.4 60.95,101.35 60.8,101.3 60.65,101.3 60.45,101.3 60.35,101.35 60.2,101.4 60.2,101.5 60.2,101.6 60.35,101.65 60.45,101.7 60.65,101.7 60.8,101.7 60.95,101.65"/><path fill="#999" d="M61.35,102Q61.35,101.95 61.25,101.9 61.1,101.8 60.95,101.8 60.75,101.8 60.65,101.9 60.5,101.95 60.5,102 60.5,102.1 60.65,102.15 60.75,102.2 60.95,102.2 61.1,102.2 61.25,102.15 61.35,102.1 61.35,102"/><path fill="#999" d="M61.05,100.8Q61.15,100.75 61.15,100.7 61.15,100.6 61.05,100.55 60.9,100.5 60.75,100.5 60.55,100.5 60.4,100.55 60.35,100.5 60.25,100.45 60.15,100.4 59.95,100.4 59.8,100.4 59.65,100.45 59.55,100.5 59.55,100.6 59.55,100.65 59.65,100.7 59.75,100.8 59.9,100.8 59.9,100.85 60,100.9 60.15,100.95 60.3,100.95 60.5,100.95 60.6,100.9 60.65,100.9 60.75,100.9 60.9,100.9 61.05,100.8"/><path fill="#999" d="M62.35,101.4Q62.25,101.45 62.25,101.55 62.25,101.6 62.35,101.65 62.5,101.75 62.65,101.75 62.85,101.75 62.95,101.65 63.1,101.6 63.1,101.55 63.1,101.45 62.95,101.4 62.85,101.35 62.65,101.35 62.5,101.35 62.35,101.4"/><path fill="#999" d="M62.9,102.65Q62.9,102.75 63,102.8 63.15,102.85 63.3,102.85 63.5,102.85 63.6,102.8 63.75,102.75 63.75,102.65 63.75,102.6 63.6,102.55 63.5,102.45 63.3,102.45 63.15,102.45 63,102.55 62.9,102.6 62.9,102.65"/><path fill="#999" d="M60.9,103.45Q61.05,103.5 61.2,103.5 61.4,103.5 61.5,103.45 61.65,103.4 61.65,103.3 61.65,103.25 61.5,103.2 61.4,103.1 61.2,103.1 61.05,103.1 60.9,103.2 60.8,103.25 60.8,103.3 60.8,103.4 60.9,103.45"/><path fill="#999" d="M61.3,104.9Q61.15,104.85 61,104.85 60.8,104.85 60.7,104.9 60.55,104.95 60.55,105.05 60.55,105.15 60.7,105.2 60.8,105.25 61,105.25 61.15,105.25 61.3,105.2 61.4,105.15 61.4,105.05 61.4,104.95 61.3,104.9"/><path fill="#999" d="M60.85,104.75Q60.95,104.7 60.95,104.6 60.95,104.5 60.85,104.45 60.7,104.4 60.55,104.4 60.35,104.4 60.25,104.45 60.1,104.5 60.1,104.6 60.1,104.7 60.25,104.75 60.35,104.8 60.55,104.8 60.7,104.8 60.85,104.75"/><path fill="#999" d="M65.05,103.6Q64.95,103.55 64.75,103.55 64.6,103.55 64.45,103.6 64.35,103.7 64.35,103.75 64.35,103.85 64.45,103.9 64.6,103.95 64.75,103.95 64.95,103.95 65.05,103.9 65.2,103.85 65.2,103.75 65.2,103.7 65.05,103.6"/><path fill="#999" d="M64.05,103.35Q63.9,103.3 63.75,103.3 63.6,103.3 63.45,103.35 63.3,103.45 63.3,103.5 63.3,103.6 63.45,103.65 63.6,103.7 63.75,103.7 63.9,103.7 64.05,103.65 64.2,103.6 64.2,103.5 64.2,103.45 64.05,103.35"/><path fill="#999" d="M64.65,106.35Q64.8,106.35 64.9,106.3 65.05,106.2 65.05,106.15 65.05,106.05 64.9,106 64.8,105.95 64.65,105.95 64.45,105.95 64.3,106 64.2,106.05 64.2,106.15 64.2,106.2 64.3,106.3 64.45,106.35 64.65,106.35"/><path fill="#999" d="M61.3,105.95Q61.3,105.9 61.2,105.8 61.05,105.75 60.9,105.75 60.7,105.75 60.6,105.8 60.45,105.9 60.45,105.95 60.45,106 60.5,106.05 60.45,106.1 60.45,106.15 60.45,106.25 60.6,106.3 60.7,106.35 60.9,106.35 61.05,106.35 61.2,106.3 61.3,106.25 61.3,106.15 61.3,106.1 61.25,106.05 61.3,106 61.3,105.95"/><path fill="#999" d="M60.95,107.15Q61.1,107.15 61.25,107.1 61.35,107.05 61.35,106.95 61.35,106.85 61.25,106.8 61.1,106.75 60.95,106.75 60.75,106.75 60.65,106.8 60.5,106.85 60.5,106.95 60.5,107.05 60.65,107.1 60.75,107.15 60.95,107.15"/><path fill="#999" d="M69.4,105.8Q69.25,105.75 69.1,105.75 68.9,105.75 68.8,105.8 68.65,105.85 68.65,105.95 68.65,106 68.75,106.05 68.7,106.1 68.6,106.1 68.5,106.2 68.5,106.25 68.5,106.35 68.6,106.4 68.75,106.45 68.95,106.45 69.1,106.45 69.25,106.4 69.35,106.35 69.35,106.25 69.35,106.2 69.3,106.15 69.35,106.1 69.4,106.1 69.5,106.05 69.5,105.95 69.5,105.85 69.4,105.8"/><path fill="#999" d="M68.35,106.6Q68.5,106.55 68.5,106.45 68.5,106.4 68.35,106.3 68.25,106.25 68.05,106.25 67.9,106.25 67.75,106.3 67.65,106.4 67.65,106.45 67.65,106.55 67.75,106.6 67.9,106.65 68.05,106.65 68.25,106.65 68.35,106.6"/><path fill="#999" d="M66.5,105.9Q66.7,105.9 66.8,105.85 66.95,105.8 66.95,105.7 66.95,105.65 66.8,105.55 66.7,105.5 66.5,105.5 66.35,105.5 66.2,105.55 66.1,105.65 66.1,105.7 66.1,105.8 66.2,105.85 66.35,105.9 66.5,105.9"/><path fill="#999" d="M66.6,107.3Q66.75,107.3 66.9,107.25 67,107.2 67,107.1 67,107.05 66.9,106.95 66.75,106.9 66.6,106.9 66.4,106.9 66.3,106.95 66.15,107.05 66.15,107.1 66.15,107.2 66.3,107.25 66.4,107.3 66.6,107.3"/><path fill="#999" d="M58.85,100.1Q59,100.05 59,100 59,99.9 58.85,99.85 58.75,99.8 58.55,99.8 58.4,99.8 58.25,99.85 58.15,99.9 58.15,100 58.15,100.05 58.25,100.1 58.4,100.2 58.55,100.2 58.75,100.2 58.85,100.1"/><path fill="#999" d="M58.65,100.4Q58.65,100.3 58.55,100.25 58.4,100.2 58.25,100.2 58.05,100.2 57.9,100.25 57.8,100.3 57.8,100.4 57.8,100.45 57.9,100.55 58.05,100.6 58.25,100.6 58.4,100.6 58.55,100.55 58.65,100.45 58.65,100.4"/><path fill="#999" d="M59.05,101Q59.05,101.05 59.15,101.15 59.3,101.2 59.45,101.2 59.65,101.2 59.75,101.15 59.9,101.05 59.9,101 59.9,100.9 59.75,100.85 59.65,100.8 59.45,100.8 59.3,100.8 59.15,100.85 59.05,100.9 59.05,101"/><path fill="#999" d="M58.65,100.9Q58.65,100.8 58.55,100.75 58.4,100.7 58.25,100.7 58.05,100.7 57.9,100.75 57.8,100.8 57.8,100.9 57.8,101 57.9,101.05 58.05,101.1 58.25,101.1 58.4,101.1 58.55,101.05 58.65,101 58.65,100.9"/><path fill="#999" d="M58.5,101.9Q58.35,101.95 58.35,102.05 58.35,102.1 58.5,102.15 58.548,102.198 58.6,102.2L58.55,102.2Q58.35,102.2 58.25,102.25 58.1,102.35 58.1,102.4 58.1,102.5 58.25,102.55 58.35,102.6 58.55,102.6 58.7,102.6 58.85,102.55 58.95,102.5 58.95,102.4L58.95,102.35 59,102.4Q59.15,102.45 59.3,102.45 59.45,102.45 59.6,102.4 59.75,102.3 59.75,102.25 59.75,102.15 59.6,102.1 59.45,102.05 59.3,102.05L59.25,102.05Q59.25,101.95 59.1,101.9 58.95,101.85 58.8,101.85 58.65,101.85 58.5,101.9"/><path fill="#999" d="M57.35,100.3Q57.2,100.3 57.05,100.35 56.9,100.45 56.9,100.5 56.9,100.6 57.05,100.65 57.05,100.75 57.2,100.8 57.3,100.85 57.5,100.85 57.65,100.85 57.8,100.8 57.9,100.75 57.9,100.65 57.9,100.6 57.8,100.55L57.8,100.5Q57.8,100.45 57.65,100.35 57.55,100.3 57.35,100.3"/><path fill="#999" d="M56.5,101.7Q56.65,101.8 56.8,101.8 57,101.8 57.1,101.7 57.25,101.65 57.25,101.6 57.25,101.5 57.1,101.45 57,101.4 56.8,101.4 56.65,101.4 56.5,101.45 56.35,101.5 56.35,101.6 56.35,101.65 56.5,101.7"/><path fill="#999" d="M56.9,101.9Q56.75,101.9 56.6,102 56.5,102.05 56.5,102.1 56.5,102.2 56.6,102.25 56.75,102.3 56.9,102.3 57.1,102.3 57.2,102.25 57.35,102.2 57.35,102.1 57.35,102.05 57.2,102 57.1,101.9 56.9,101.9"/><path fill="#999" d="M58.15,101.95Q58.05,101.9 57.85,101.9 57.7,101.9 57.55,101.95 57.4,102 57.4,102.1 57.4,102.15 57.55,102.2 57.7,102.3 57.85,102.3 58.05,102.3 58.15,102.2 58.3,102.15 58.3,102.1 58.3,102 58.15,101.95"/><path fill="#999" d="M57.55,102.7Q57.4,102.65 57.25,102.65 57.1,102.65 56.95,102.7 56.8,102.75 56.8,102.85 56.8,102.95 56.95,103 57,103 57.1,103.05 57,103.1 57,103.15 57,103.2 57.15,103.3 57.25,103.35 57.45,103.35 57.6,103.35 57.75,103.3 57.85,103.2 57.85,103.15 57.85,103.05 57.75,103 57.7,102.95 57.6,102.95 57.7,102.9 57.7,102.85 57.7,102.75 57.55,102.7"/><path fill="#999" d="M56.5,102.75Q56.5,102.7 56.35,102.6 56.25,102.55 56.1,102.55 55.955,102.55 55.85,102.6 55.95,102.548 55.95,102.5 55.95,102.4 55.85,102.35 55.8,102.3 55.7,102.2 55.6,102.15 55.4,102.15 55.25,102.15 55.1,102.2 55,102.3 55,102.35 55,102.45 55.1,102.5 55.1,102.55 55.2,102.6 55.35,102.7 55.5,102.7 55.6,102.7 55.7,102.65 55.65,102.7 55.65,102.75 55.65,102.85 55.75,102.9 55.9,102.95 56.1,102.95 56.25,102.95 56.35,102.9 56.5,102.85 56.5,102.75"/><path fill="#999" d="M56.85,105.05Q56.75,105.1 56.75,105.15 56.75,105.25 56.85,105.3 57,105.35 57.15,105.35 57.35,105.35 57.45,105.3 57.55,105.25 57.6,105.2 57.65,105.2 57.75,105.15 57.85,105.1 57.85,105 57.85,104.95 57.75,104.9 57.6,104.8 57.45,104.8 57.25,104.8 57.15,104.9 57.05,104.9 57.05,105 56.9,105 56.85,105.05"/><path fill="#999" d="M58.05,104.2Q57.9,104.2 57.75,104.25 57.65,104.3 57.65,104.4 57.65,104.45 57.75,104.5 57.9,104.6 58.05,104.6 58.25,104.6 58.35,104.5 58.5,104.45 58.5,104.4 58.5,104.3 58.35,104.25 58.25,104.2 58.05,104.2"/><path fill="#999" d="M60.45,102.8Q60.45,102.7 60.3,102.65 60.2,102.6 60.1,102.6 60.05,102.6 60.05,102.55 59.9,102.5 59.75,102.5 59.55,102.5 59.4,102.55 59.3,102.65 59.3,102.7 59.3,102.8 59.4,102.85 59.55,102.9 59.65,102.9L59.7,102.95Q59.85,103 60,103 60.2,103 60.3,102.95 60.45,102.9 60.45,102.8"/><path fill="#999" d="M58.5,103.2Q58.5,103.25 58.65,103.3 58.75,103.4 58.95,103.4 59.1,103.4 59.25,103.3 59.35,103.25 59.35,103.2 59.35,103.1 59.25,103.05 59.1,102.95 58.95,102.95 58.75,102.95 58.65,103.05 58.5,103.1 58.5,103.2"/><path fill="#999" d="M59.35,104.65Q59.25,104.7 59.25,104.8 59.2,104.85 59.2,104.9 59.2,104.95 59.3,105 59.45,105.1 59.65,105.1 59.8,105.1 59.9,105 60.05,104.95 60.05,104.9 60.1,104.85 60.1,104.8 60.1,104.7 59.95,104.65 59.85,104.6 59.65,104.6 59.5,104.6 59.35,104.65"/><path fill="#999" d="M55.5,99.6Q55.5,99.5 55.35,99.45 55.25,99.4 55.05,99.4 54.9,99.4 54.75,99.45 54.65,99.5 54.65,99.6 54.65,99.65 54.75,99.7 54.9,99.8 55.05,99.8 55.25,99.8 55.35,99.7 55.5,99.65 55.5,99.6"/><path fill="#999" d="M53.45,100Q53.45,100.1 53.6,100.15 53.7,100.2 53.9,100.2 54.05,100.2 54.2,100.15 54.3,100.1 54.3,100 54.3,99.95 54.2,99.85 54.05,99.8 53.9,99.8 53.7,99.8 53.6,99.85 53.45,99.95 53.45,100"/><path fill="#999" d="M54.15,100.5Q54.05,100.45 53.85,100.45 53.7,100.45 53.55,100.5 53.45,100.6 53.45,100.65 53.45,100.75 53.55,100.8 53.7,100.85 53.85,100.85 54.05,100.85 54.15,100.8 54.3,100.75 54.3,100.65 54.3,100.6 54.15,100.5"/><path fill="#999" d="M53.75,101Q53.65,100.95 53.5,100.95 53.3,100.95 53.15,101 53.05,101.1 53.05,101.15 53.05,101.25 53.15,101.3 53.3,101.35 53.5,101.35 53.65,101.35 53.75,101.3 53.9,101.25 53.9,101.15 53.9,101.1 53.75,101"/><path fill="#999" d="M54.85,101.8Q54.7,101.8 54.55,101.85 54.45,101.9 54.45,102 54.45,102.05 54.55,102.1 54.7,102.2 54.85,102.2 55.05,102.2 55.15,102.1 55.3,102.05 55.3,102 55.3,101.9 55.15,101.85 55.05,101.8 54.85,101.8"/><path fill="#999" d="M52.75,99.35Q52.75,99.3 52.6,99.2 52.5,99.15 52.3,99.15 52.15,99.15 52,99.2 51.9,99.3 51.9,99.35 51.9,99.45 52,99.5 52.15,99.55 52.3,99.55 52.5,99.55 52.6,99.5 52.75,99.45 52.75,99.35"/><path fill="#999" d="M52.4,100.35Q52.303,100.302 52.15,100.3 52.305,100.297 52.45,100.2 52.45,100.3 52.55,100.35 52.7,100.4 52.9,100.4 53.05,100.4 53.15,100.35 53.3,100.3 53.3,100.2 53.3,100.1 53.15,100.05 53.05,100 52.9,100 52.7,100 52.6,100.05 52.55,100 52.45,99.95 52.3,99.9 52.15,99.9 52,99.9 51.85,99.95 51.7,100 51.7,100.1 51.7,100.15 51.85,100.2 51.998,100.298 52.1,100.3 51.948,100.301 51.8,100.35 51.65,100.4 51.65,100.5 51.65,100.55 51.8,100.6 51.95,100.7 52.1,100.7 52.25,100.7 52.4,100.6 52.55,100.55 52.55,100.5 52.55,100.4 52.4,100.35"/><path fill="#999" d="M51.65,101.7Q51.55,101.8 51.55,101.85L51.55,101.9Q51.5,101.85 51.45,101.85 51.35,101.8 51.15,101.8 51,101.8 50.9,101.85 50.75,101.85 50.65,101.9 50.5,101.95 50.5,102.05 50.5,102.1 50.65,102.2 50.75,102.25 50.95,102.25 51.1,102.25 51.2,102.2 51.35,102.2 51.45,102.15 51.6,102.1 51.6,102L51.6,101.95Q51.601,102 51.65,102 51.8,102.05 51.95,102.05 52.05,102.05 52.1,102.05L52.05,102.1Q52.05,102.2 52.2,102.25 52.3,102.3 52.5,102.3 52.65,102.3 52.8,102.25 52.95,102.2 52.95,102.1 52.95,102.05 52.8,102 52.65,101.9 52.5,101.9 52.45,101.9 52.4,101.95 52.4,101.9 52.4,101.85 52.4,101.8 52.25,101.7 52.15,101.65 51.95,101.65 51.8,101.65 51.65,101.7"/><path fill="#999" d="M51.15,104.7Q51.05,104.75 51.05,104.85 51.05,104.9 51.15,104.95 51.3,105.05 51.45,105.05 51.65,105.05 51.75,104.95 51.9,104.9 51.9,104.85 51.9,104.75 51.75,104.7 51.65,104.65 51.45,104.65 51.3,104.65 51.15,104.7"/><path fill="#999" d="M52.45,104.5Q52.45,104.55 52.55,104.6 52.7,104.7 52.85,104.7 53.05,104.7 53.15,104.6 53.3,104.55 53.3,104.5 53.3,104.4 53.15,104.35 53.05,104.3 52.85,104.3 52.7,104.3 52.55,104.35 52.45,104.4 52.45,104.5"/><path fill="#999" d="M54.8,104.95Q54.7,105 54.7,105.1 54.7,105.15 54.8,105.2 54.95,105.3 55.1,105.3 55.3,105.3 55.4,105.2 55.55,105.15 55.55,105.1 55.55,105 55.4,104.95 55.3,104.9 55.1,104.9 54.95,104.9 54.8,104.95"/><path fill="#999" d="M55.45,105.65Q55.45,105.55 55.3,105.5 55.2,105.45 55.05,105.45 54.85,105.45 54.7,105.5 54.6,105.55 54.6,105.65 54.6,105.7 54.7,105.75 54.85,105.85 55.05,105.85 55.2,105.85 55.3,105.75 55.45,105.7 55.45,105.65"/><path fill="#999" d="M54.95,106.5Q54.8,106.45 54.65,106.45 54.45,106.45 54.3,106.5 54.2,106.55 54.2,106.65 54.2,106.7 54.3,106.75 54.45,106.85 54.65,106.85 54.8,106.85 54.95,106.75 55.05,106.7 55.05,106.65 55.05,106.55 54.95,106.5"/><path fill="#999" d="M51.85,106.1Q52.05,106.1 52.15,106.05 52.3,106 52.3,105.9 52.3,105.8 52.15,105.75 52.05,105.7 51.85,105.7 51.7,105.7 51.55,105.75 51.45,105.8 51.45,105.9 51.45,106 51.55,106.05 51.7,106.1 51.85,106.1"/><path fill="#999" d="M49.1,101.9Q48.95,101.9 48.8,101.95 48.65,102 48.65,102.1 48.65,102.15 48.8,102.2L48.8,102.3Q48.8,102.35 48.9,102.4 49.05,102.5 49.2,102.5 49.4,102.5 49.5,102.4 49.65,102.35 49.65,102.3 49.65,102.25 49.65,102.2 49.7,102.2 49.8,102.15 49.95,102.1 49.95,102.05 49.95,101.95 49.8,101.9 49.7,101.85 49.5,101.85 49.35,101.85 49.2,101.9 49.15,101.9 49.1,101.9"/><path fill="#999" d="M47.25,99.15Q47.25,99.2 47.4,99.25 47.5,99.35 47.7,99.35 47.85,99.35 48,99.25 48.1,99.2 48.1,99.15 48.1,99.05 48,99 47.85,98.95 47.7,98.95 47.5,98.95 47.4,99 47.25,99.05 47.25,99.15"/><path fill="#999" d="M47.6,101.25Q47.8,101.25 47.9,101.2 48.05,101.15 48.05,101.05 48.05,101 47.9,100.9 47.8,100.85 47.6,100.85 47.45,100.85 47.3,100.9 47.15,101 47.15,101.05 47.15,101.15 47.3,101.2 47.45,101.25 47.6,101.25"/><path fill="#999" d="M47.3,101.4Q47.2,101.5 47.2,101.55 47.2,101.65 47.3,101.7 47.45,101.75 47.6,101.75 47.8,101.75 47.9,101.7 48.05,101.65 48.05,101.55 48.05,101.5 47.9,101.4 47.8,101.35 47.6,101.35 47.45,101.35 47.3,101.4"/><path fill="#999" d="M47.95,102.65Q48.05,102.55 48.05,102.5 48.05,102.4 47.95,102.35 47.8,102.3 47.65,102.3 47.45,102.3 47.35,102.35 47.2,102.4 47.2,102.5 47.2,102.55 47.35,102.65 47.45,102.7 47.65,102.7 47.8,102.7 47.95,102.65"/><path fill="#999" d="M48,103.45Q47.9,103.5 47.9,103.6 47.9,103.65 48,103.7 48.1,103.75 48.2,103.8L48.2,103.85Q48.2,103.9 48.3,103.95 48.45,104.05 48.6,104.05 48.7,104.05 48.75,104 48.85,104.05 48.9,104.05 49.05,104.05 49.2,103.95 49.35,103.9 49.35,103.85 49.35,103.75 49.2,103.7 49.05,103.6 48.9,103.6 48.85,103.6 48.75,103.65L48.75,103.6Q48.75,103.5 48.6,103.45 48.5,103.4 48.3,103.4 48.15,103.4 48,103.45"/><path fill="#999" d="M45.8,102.3Q45.9,102.25 45.9,102.15 45.9,102.1 45.8,102 45.65,101.95 45.5,101.95 45.3,101.95 45.15,102 45.05,102.1 45.05,102.15 45.05,102.25 45.15,102.3 45.3,102.35 45.5,102.35 45.65,102.35 45.8,102.3"/><path fill="#999" d="M47.6,104.3Q47.65,104.25 47.7,104.25L47.75,104.25Q47.95,104.25 48.05,104.2 48.2,104.1 48.2,104.05 48.2,103.95 48.05,103.9 47.95,103.85 47.75,103.85 47.6,103.85 47.45,103.9 47.4,103.95 47.35,103.95L47.3,103.95Q47.15,103.95 47,104.05 46.9,104.1 46.9,104.15 46.9,104.25 47,104.3 47.15,104.35 47.3,104.35 47.5,104.35 47.6,104.3"/><path fill="#999" d="M47.55,104.8Q47.55,104.9 47.7,104.95L47.7,105Q47.55,105.05 47.55,105.15 47.55,105.2 47.7,105.25 47.85,105.35 48,105.35 48.15,105.35 48.3,105.25 48.45,105.2 48.45,105.15 48.45,105.05 48.3,105L48.25,104.95 48.3,104.95Q48.45,104.9 48.45,104.8 48.45,104.75 48.3,104.65 48.15,104.6 48,104.6 47.85,104.6 47.7,104.65 47.55,104.75 47.55,104.8"/><path fill="#999" d="M44.4,99.55Q44.5,99.5 44.5,99.45 44.5,99.35 44.4,99.3 44.25,99.25 44.1,99.25 43.9,99.25 43.8,99.3 43.65,99.35 43.65,99.45 43.65,99.5 43.8,99.55 43.9,99.65 44.1,99.65 44.25,99.65 44.4,99.55"/><path fill="#999" d="M41.7,101.45Q41.7,101.4 41.55,101.3 41.45,101.25 41.25,101.25 41.1,101.25 40.95,101.3 40.85,101.4 40.85,101.45 40.85,101.55 40.95,101.6 41.1,101.65 41.25,101.65 41.45,101.65 41.55,101.6 41.7,101.55 41.7,101.45"/><path fill="#999" d="M40.85,103.4Q40.7,103.45 40.7,103.55 40.7,103.6 40.85,103.65 40.95,103.75 41.1,103.75 41,103.85 41,103.9 41,104 41.1,104.05 41.25,104.1 41.45,104.1 41.6,104.1 41.75,104.05 41.85,104 41.85,103.9 41.85,103.85 41.75,103.75 41.6,103.7 41.45,103.7 41.402,103.7 41.35,103.7 41.402,103.698 41.45,103.65 41.55,103.6 41.55,103.55 41.55,103.45 41.45,103.4 41.3,103.35 41.15,103.35 40.95,103.35 40.85,103.4"/><path fill="#999" d="M44.15,102.9Q44,102.85 43.85,102.85 43.65,102.85 43.55,102.9 43.4,102.95 43.4,103.05 43.4,103.15 43.55,103.2 43.65,103.25 43.85,103.25 44,103.25 44.15,103.2 44.3,103.15 44.3,103.05 44.3,102.95 44.15,102.9"/><path fill="#999" d="M45.25,103.75Q45.1,103.7 44.95,103.7 44.75,103.7 44.6,103.75 44.5,103.8 44.5,103.9 44.5,103.95 44.6,104 44.75,104.1 44.95,104.1 45.1,104.1 45.25,104 45.35,103.95 45.35,103.9 45.35,103.8 45.25,103.75"/><path fill="#999" d="M44.9,104.9Q44.75,104.9 44.6,104.95 44.5,105 44.5,105.1 44.5,105.15 44.6,105.2 44.75,105.3 44.9,105.3 45.1,105.3 45.2,105.2 45.35,105.15 45.35,105.1 45.35,105 45.2,104.95 45.1,104.9 44.9,104.9"/><path fill="#999" d="M49.75,106.85Q49.9,106.8 49.9,106.7 49.9,106.65 49.75,106.55 49.65,106.5 49.45,106.5 49.3,106.5 49.15,106.55 49.05,106.65 49.05,106.7 49.05,106.8 49.15,106.85 49.3,106.9 49.45,106.9 49.65,106.9 49.75,106.85"/><path fill="#999" d="M46.4,105.55Q46.25,105.55 46.1,105.6 46,105.7 46,105.75 46,105.85 46.1,105.9 46.25,105.95 46.4,105.95 46.6,105.95 46.7,105.9 46.85,105.85 46.85,105.75 46.85,105.7 46.7,105.6 46.6,105.55 46.4,105.55"/><path fill="#999" d="M39.7,99.75Q39.55,99.7 39.4,99.7 39.2,99.7 39.05,99.75 38.95,99.8 38.95,99.9 38.85,99.85 38.75,99.85 38.6,99.85 38.45,99.9 38.35,99.95 38.35,100.05 38.25,100 38.05,100 37.9,100 37.75,100.05 37.65,100.15 37.65,100.2 37.65,100.3 37.75,100.35 37.9,100.4 38.05,100.4 38.25,100.4 38.35,100.35 38.5,100.3 38.5,100.2 38.65,100.25 38.75,100.25 38.95,100.25 39.05,100.2 39.2,100.15 39.2,100.05 39.3,100.1 39.4,100.1 39.55,100.1 39.7,100.05 39.8,99.95 39.8,99.9 39.8,99.8 39.7,99.75"/><path fill="#999" d="M36.9,103.9Q37.05,104 37.25,104 37.4,104 37.5,103.9 37.65,103.85 37.65,103.8 37.65,103.7 37.5,103.65 37.4,103.6 37.25,103.6 37.05,103.6 36.9,103.65 36.8,103.7 36.8,103.8 36.8,103.85 36.9,103.9"/><path fill="#999" d="M40.45,102.45Q40.3,102.4 40.15,102.4 39.95,102.4 39.85,102.45 39.7,102.5 39.7,102.6 39.7,102.649 39.75,102.65L39.7,102.65Q39.55,102.6 39.4,102.6 39.25,102.6 39.1,102.65 38.95,102.7 38.95,102.8 38.95,102.85 39.1,102.95 39.25,103 39.4,103 39.55,103 39.7,102.95 39.85,102.85 39.85,102.8L39.85,102.75Q39.95,102.8 40.15,102.8 40.3,102.8 40.45,102.75 40.55,102.7 40.55,102.6 40.55,102.5 40.45,102.45"/><path fill="#999" d="M39.7,103.45Q39.5,103.45 39.35,103.5 39.25,103.55 39.25,103.65 39.25,103.75 39.35,103.8 39.5,103.85 39.7,103.85 39.85,103.85 39.95,103.8 40.1,103.75 40.1,103.65 40.1,103.55 39.95,103.5 39.85,103.45 39.7,103.45"/><path fill="#999" d="M38.75,104.8Q38.9,104.9 39.05,104.9 39.25,104.9 39.35,104.8 39.5,104.75 39.5,104.7 39.5,104.6 39.35,104.55 39.25,104.5 39.05,104.5 38.9,104.5 38.75,104.55 38.65,104.6 38.65,104.7 38.65,104.75 38.75,104.8"/><path fill="#999" d="M84.05,101.5Q84.05,101.45 83.9,101.4 83.8,101.3 83.6,101.3 83.45,101.3 83.3,101.4 83.2,101.45 83.2,101.5 83.2,101.6 83.3,101.65 83.45,101.7 83.6,101.7 83.8,101.7 83.9,101.65 84.05,101.6 84.05,101.5"/><path fill="#999" d="M83.45,100.45Q83.45,100.4 83.3,100.3 83.2,100.25 83,100.25 82.85,100.25 82.7,100.3 82.6,100.4 82.6,100.45 82.6,100.55 82.7,100.6 82.85,100.65 83,100.65 83.2,100.65 83.3,100.6 83.45,100.55 83.45,100.45"/></g><g id="pierna_i" transform="matrix(1 0 0 1 46.85 80.25)"><g id="pierna i_0.0"><path fill="none" stroke="#F90" stroke-width="5" stroke-linecap="round" stroke-linejoin="round" d="M0,0L0,19.55"/></g></g><g id="pierna_d" transform="matrix(1 0 0 1 73.75 78.75)"><g id="pierna d_0.0"><path fill="none" stroke="#F90" stroke-width="5" stroke-linecap="round" stroke-linejoin="round" d="M0,0L0.4,19.55"/></g></g><g mask="url(#mask_)"/><mask id="mask_"/><g style="display:none;"><path fill="none" stroke="#F90" stroke-width="5" stroke-linecap="round" stroke-linejoin="round" d="M30.4,70.55Q27.05,70 25.3,70.25 25,70.25 24.7,70.3 22.05,70.7 20.7,72.45 19.3,74.5 20.7,77.2 22,79.65 25.1,81 25.8,81.3 26.65,81.55"/><animate attributeName="display" repeatCount="indefinite" dur="6.292s" keyTimes="0;0.099;0.656;1" values="none;inline;none;none"/></g><g><path fill="none" stroke="#F90" stroke-width="5" stroke-linecap="round" stroke-linejoin="round" d="M29.2,69.9Q25.85,69.85 24.15,70.35 23.85,70.35 23.55,70.45 21,71.25 19.9,73.15 18.75,75.35 20.55,77.85 22.2,80.1 25.4,81 26.15,81.2 27.05,81.35"/><animate attributeName="display" repeatCount="indefinite" dur="6.292s" keyTimes="0;0.099;0.656;1" values="inline;none;inline;inline"/></g><g style="display:none;"><path fill="#F90" d="M24.6,80.8Q23.7,82.15 24,83.7 24.3,85.2 25.6,86.1 26.9,87.05 28.4,86.75 29.9,86.5 30.85,85.15 31.8,83.9 31.5,82.35 31.2,80.8 29.85,79.85 28.6,79.05 27.1,79.3 25.6,79.6 24.6,80.8"/><animate attributeName="display" repeatCount="indefinite" dur="6.292s" keyTimes="0;0.656;1" values="none;inline;inline"/></g><g style="display:none;"><path fill="#F90" d="M24.55,86.05Q25.7,87.2 27.25,87.1 28.8,87.05 29.9,85.85 31,84.7 30.95,83.15 30.85,81.6 29.65,80.5 28.55,79.45 27,79.5 25.45,79.6 24.3,80.7 23.25,81.9 23.35,83.45 23.4,85 24.55,86.05"/><animate attributeName="display" repeatCount="indefinite" dur="6.292s" keyTimes="0;0.099;0.656;1" values="none;inline;none;none"/></g><g><path fill="#F90" d="M25.6,86.1Q26.9,87.05 28.4,86.75 29.9,86.5 30.85,85.15 31.8,83.9 31.5,82.35 31.2,80.8 29.85,79.85 28.6,79.05 27.1,79.3 25.6,79.6 24.6,80.8 23.7,82.15 24,83.7 24.3,85.2 25.6,86.1"/><animate attributeName="display" repeatCount="indefinite" dur="6.292s" keyTimes="0;0.099;1" values="inline;none;none"/></g><g style="display:none;"><path fill="none" stroke="#F90" stroke-width="5" stroke-linecap="round" stroke-linejoin="round" d="M87.45,67.4Q89.35,66.55 91.35,65.15 93.75,63.55 94.75,61.45 97.95,55.6 92,52.25 89.2,50.65 85.9,50.45"/><animate attributeName="display" repeatCount="indefinite" dur="6.292s" keyTimes="0;0.126;0.636;1" values="none;inline;none;none"/></g><g style="display:none;"><path fill="none" stroke="#F90" stroke-width="5" stroke-linecap="round" stroke-linejoin="round" d="M86.9,66.85Q88.9,66.65 91.25,65.85 93.95,65 95.5,63.1 100.25,57.95 95.75,52.05 93.6,49.25 90.6,47.8"/><animate attributeName="display" repeatCount="indefinite" dur="6.292s" keyTimes="0;0.099;0.126;0.636;0.656;1" values="none;inline;none;inline;none;none"/></g><g><path fill="none" stroke="#F90" stroke-width="5" stroke-linecap="round" stroke-linejoin="round" d="M86.2,63.9Q87.8,64.95 90.05,65.65 92.5,66.35 94.4,66.15 99.7,65.6 102.3,61.55 105.35,56.65 101.7,49.85"/><animate attributeName="display" repeatCount="indefinite" dur="6.292s" keyTimes="0;0.099;0.656;1" values="inline;none;inline;inline"/></g><g id="torso1" transform="matrix(0.992 -0.064 0.065 1.006 24.65 25.75)"><animateTransform attributeName="transform" additive="replace" type="translate" repeatCount="indefinite" dur="6.292s" keyTimes="0;0.099;0.1;0.655;0.656;1" values="57.845,53.474;57.845,53.474;58.581,55.479;58.581,55.479;57.845,53.474;57.845,53.474" calcMode="discrete"/><animateTransform attributeName="transform" additive="sum" type="rotate" repeatCount="indefinite" dur="6.292s" keyTimes="0;0.099;0.1;0.655;0.656;1" values="-3.718,0,0;-3.718,0,0;-1.951,0,0;-1.951,0,0;-3.718,0,0;-3.718,0,0" calcMode="discrete"/><animateTransform attributeName="transform" additive="sum" type="skewX" repeatCount="indefinite" dur="6.292s" keyTimes="0;0.099;0.1;0.655;0.656;1" values="0;0;-0.001;-0.001;0;0" calcMode="discrete"/><animateTransform attributeName="transform" additive="sum" type="scale" repeatCount="indefinite" dur="6.292s" keyTimes="0;1" values="0.994,1.008;0.994,1.008" calcMode="discrete"/><animateTransform attributeName="transform" additive="sum" type="translate" repeatCount="indefinite" dur="6.292s" keyTimes="0;0.099;0.1;0.655;0.656;1" values="-31.5,-29.6;-31.5,-29.6;-31.45,-29.55;-31.45,-29.55;-31.5,-29.6;-31.5,-29.6" calcMode="discrete"/><g id="torso1_1.0"><g><path fill="none" stroke="#FC3" stroke-width="3" stroke-linecap="round" stroke-linejoin="round" d="M28.85,3.35L28.7,0"/><path fill="none" stroke="#FC3" stroke-width="3" stroke-linecap="round" stroke-linejoin="round" d="M25.2,2L26.75,4.05"/><path fill="none" stroke="#FC3" stroke-width="3" stroke-linecap="round" stroke-linejoin="round" d="M32.5,1.8L30.95,3.85"/></g></g><g><g id="torso1_0.0.0"><path fill="#FFB933" d="M46.45,19.6L41.8,13.9 16.85,15.9 13.05,21.85 1.8,39.85Q1.7,39.95 1.65,40.1 -1.95,48.6 2.2,54.7 5.65,59.75 12.7,60.65L55.1,57.05Q59.45,55.05 61.55,50.95 64.8,44.75 60.7,37.2 60.55,36.95 60.4,36.65L54.15,29 46.45,19.6"/></g><g id="torso1_0.0.1"><path fill="#FFA702" d="M21.7,43.6Q20.15,42.3 18.15,42.5 16.15,42.75 14.75,44.35 13.45,46 13.65,48.1 13.8,50.2 15.35,51.55 16.9,52.9 18.95,52.65 20.95,52.45 22.3,50.8 23.6,49.15 23.45,47.05 23.25,44.95 21.7,43.6"/></g><g id="torso1_0.0.2"><path fill="#FFA702" d="M55.35,48Q56.65,46.35 56.5,44.25 56.3,42.15 54.75,40.8 53.2,39.5 51.2,39.7 49.2,39.95 47.8,41.55 46.5,43.2 46.7,45.3 46.85,47.4 48.4,48.75 49.95,50.1 52,49.85 54,49.65 55.35,48"/></g><g id="torso1_0.0.3"><path fill="#F90" d="M20.95,9.35L16.85,15.9 41.8,13.9 37.15,8.25Q32.95,2.8 28.75,3.1 27.35,3.2 26.05,3.9 25.3,4.3 24.6,4.9 22.7,6.4 20.95,9.35"/></g></g></g><g id="boca_sonrie" transform="matrix(0.989 -0.099 0.101 1.003 57.85 66.9)"><animateTransform attributeName="transform" additive="replace" type="translate" repeatCount="indefinite" dur="6.292s" keyTimes="0;0.099;0.1;0.126;0.127;0.636;0.637;0.655;0.656;1" values="62.934,69.276;62.934,69.276;63.208,71.478;63.208,71.478;62.969,71.749;62.969,71.749;63.208,71.478;63.208,71.478;62.934,69.276;62.934,69.276" calcMode="discrete"/><animateTransform attributeName="transform" additive="sum" type="rotate" repeatCount="indefinite" dur="6.292s" keyTimes="0;0.099;0.1;0.126;0.127;0.636;0.637;0.655;0.656;1" values="-5.738,0,0;-5.738,0,0;-3.971,0,0;-3.971,0,0;-2.02,0,0;-2.02,0,0;-3.971,0,0;-3.971,0,0;-5.738,0,0;-5.738,0,0" calcMode="discrete"/><animateTransform attributeName="transform" additive="sum" type="skewY" repeatCount="indefinite" dur="6.292s" keyTimes="0;1" values="0.005;0.005" calcMode="discrete"/><animateTransform attributeName="transform" additive="sum" type="scale" repeatCount="indefinite" dur="6.292s" keyTimes="0;1" values="0.994,1.008;0.994,1.008" calcMode="discrete"/><animateTransform attributeName="transform" additive="sum" type="translate" repeatCount="indefinite" dur="6.292s" keyTimes="0;0.099;0.1;0.655;0.656;1" values="-4.85,-2.85;-4.85,-2.85;-4.9,-2.85;-4.9,-2.85;-4.85,-2.85;-4.85,-2.85" calcMode="discrete"/><g id="boca sonrie_0.0"><path fill="none" stroke="#0E2D38" stroke-width="3" stroke-linecap="round" stroke-linejoin="round" d="M10,1.2Q9.65,2.55 8.6,3.6 7.05,5.2 4.85,5.2 2.7,5.2 1.1,3.6 0.05,2.55 -0.3,1.2"/></g></g><g style="display:none;"><use xlink:href="#Duplicate_Items_Folder_ojos1" transform="matrix(0.992 -0.125 0.125 0.992 47.2 53.9)"><animateTransform attributeName="transform" additive="replace" type="translate" repeatCount="indefinite" dur="6.292s" keyTimes="0;0.847;0.848;1" values="61.136,58.686;61.136,58.686;61.25,58.937;61.25,58.937" calcMode="discrete"/><animateTransform attributeName="transform" additive="sum" type="rotate" repeatCount="indefinite" dur="6.292s" keyTimes="0;0.847;0.848;1" values="-7.167,0,0;-7.167,0,0;-6.513,0,0;-6.513,0,0" calcMode="discrete"/><animateTransform attributeName="transform" additive="sum" type="skewY" repeatCount="indefinite" dur="6.292s" keyTimes="0;0.847;0.848;1" values="0;0;-0.236;-0.236" calcMode="discrete"/><animateTransform attributeName="transform" additive="sum" type="scale" repeatCount="indefinite" dur="6.292s" keyTimes="0;0.847;0.848;1" values="1,1;1,1;0.984,1.048;0.984,1.048" calcMode="discrete"/><animateTransform attributeName="transform" additive="sum" type="translate" repeatCount="indefinite" dur="6.292s" keyTimes="0;0.847;0.848;1" values="-13.15,-6.45;-13.15,-6.45;-13.3,-6.75;-13.3,-6.75" calcMode="discrete"/></use><animate attributeName="display" repeatCount="indefinite" dur="6.292s" keyTimes="0;0.841;1" values="none;inline;inline"/></g><g style="display:none;"><use xlink:href="#ojos4" transform="matrix(0.998 -0.068 0.052 0.757 47.55 54.6)"><animateTransform attributeName="transform" additive="replace" type="translate" repeatCount="indefinite" dur="6.292s" keyTimes="0;0.834;0.835;1" values="61.147,58.68;61.147,58.68;61.144,58.656;61.144,58.656" calcMode="discrete"/><animateTransform attributeName="transform" additive="sum" type="rotate" repeatCount="indefinite" dur="6.292s" keyTimes="0;1" values="-3.903,0,0;-3.903,0,0" calcMode="discrete"/><animateTransform attributeName="transform" additive="sum" type="skewX" repeatCount="indefinite" dur="6.292s" keyTimes="0;0.834;0.835;1" values="-0.001;-0.001;0;0" calcMode="discrete"/><animateTransform attributeName="transform" additive="sum" type="scale" repeatCount="indefinite" dur="6.292s" keyTimes="0;0.834;0.835;1" values="1,0.759;1,0.759;1,1;1,1" calcMode="discrete"/><animateTransform attributeName="transform" additive="sum" type="translate" repeatCount="indefinite" dur="6.292s" keyTimes="0;0.834;0.835;1" values="-13.3,-6.55;-13.3,-6.55;-13.3,-6.45;-13.3,-6.45" calcMode="discrete"/></use><animate attributeName="display" repeatCount="indefinite" dur="6.292s" keyTimes="0;0.828;0.841;1" values="none;inline;none;none"/></g><g style="display:none;"><use xlink:href="#Duplicate_Items_Folder_ojos1" transform="matrix(0.992 -0.125 0.125 0.992 47.2 53.9)"><animateTransform attributeName="transform" additive="replace" type="translate" repeatCount="indefinite" dur="6.292s" keyTimes="0;0.781;0.782;0.821;0.822;1" values="61.136,58.686;61.136,58.686;61.25,58.937;61.25,58.937;61.202,58.746;61.202,58.746" calcMode="discrete"/><animateTransform attributeName="transform" additive="sum" type="rotate" repeatCount="indefinite" dur="6.292s" keyTimes="0;0.781;0.782;0.821;0.822;1" values="-7.167,0,0;-7.167,0,0;-6.513,0,0;-6.513,0,0;-7.167,0,0;-7.167,0,0" calcMode="discrete"/><animateTransform attributeName="transform" additive="sum" type="skewY" repeatCount="indefinite" dur="6.292s" keyTimes="0;0.781;0.782;0.821;0.822;1" values="0;0;-0.236;-0.236;0;0" calcMode="discrete"/><animateTransform attributeName="transform" additive="sum" type="scale" repeatCount="indefinite" dur="6.292s" keyTimes="0;0.781;0.782;0.821;0.822;1" values="1,1;1,1;0.984,1.048;0.984,1.048;1,0.689;1,0.689" calcMode="discrete"/><animateTransform attributeName="transform" additive="sum" type="translate" repeatCount="indefinite" dur="6.292s" keyTimes="0;0.781;0.782;0.821;0.822;1" values="-13.15,-6.45;-13.15,-6.45;-13.3,-6.75;-13.3,-6.75;-13.2,-6.6;-13.2,-6.6" calcMode="discrete"/></use><animate attributeName="display" repeatCount="indefinite" dur="6.292s" keyTimes="0;0.775;0.828;1" values="none;inline;none;none"/></g><g style="display:none;"><use xlink:href="#ojos4" transform="matrix(0.998 -0.068 0.052 0.757 47.55 54.6)"><animateTransform attributeName="transform" additive="replace" type="translate" repeatCount="indefinite" dur="6.292s" keyTimes="0;0.768;0.769;1" values="61.147,58.68;61.147,58.68;61.144,58.656;61.144,58.656" calcMode="discrete"/><animateTransform attributeName="transform" additive="sum" type="rotate" repeatCount="indefinite" dur="6.292s" keyTimes="0;1" values="-3.903,0,0;-3.903,0,0" calcMode="discrete"/><animateTransform attributeName="transform" additive="sum" type="skewX" repeatCount="indefinite" dur="6.292s" keyTimes="0;0.768;0.769;1" values="-0.001;-0.001;0;0" calcMode="discrete"/><animateTransform attributeName="transform" additive="sum" type="scale" repeatCount="indefinite" dur="6.292s" keyTimes="0;0.768;0.769;1" values="1,0.759;1,0.759;1,1;1,1" calcMode="discrete"/><animateTransform attributeName="transform" additive="sum" type="translate" repeatCount="indefinite" dur="6.292s" keyTimes="0;0.768;0.769;1" values="-13.3,-6.55;-13.3,-6.55;-13.3,-6.45;-13.3,-6.45" calcMode="discrete"/></use><animate attributeName="display" repeatCount="indefinite" dur="6.292s" keyTimes="0;0.762;0.775;1" values="none;inline;none;none"/></g><g style="display:none;"><use xlink:href="#Duplicate_Items_Folder_ojos1" transform="matrix(0.977 -0.116 0.119 1.041 47.45 53.45)"><animateTransform attributeName="transform" additive="replace" type="translate" repeatCount="indefinite" dur="6.292s" keyTimes="0;0.755;0.756;1" values="61.25,58.937;61.25,58.937;61.202,58.746;61.202,58.746" calcMode="discrete"/><animateTransform attributeName="transform" additive="sum" type="rotate" repeatCount="indefinite" dur="6.292s" keyTimes="0;0.755;0.756;1" values="-6.513,0,0;-6.513,0,0;-7.167,0,0;-7.167,0,0" calcMode="discrete"/><animateTransform attributeName="transform" additive="sum" type="skewY" repeatCount="indefinite" dur="6.292s" keyTimes="0;0.755;0.756;1" values="-0.236;-0.236;0;0" calcMode="discrete"/><animateTransform attributeName="transform" additive="sum" type="scale" repeatCount="indefinite" dur="6.292s" keyTimes="0;0.755;0.756;1" values="0.984,1.048;0.984,1.048;1,0.689;1,0.689" calcMode="discrete"/><animateTransform attributeName="transform" additive="sum" type="translate" repeatCount="indefinite" dur="6.292s" keyTimes="0;0.755;0.756;1" values="-13.3,-6.75;-13.3,-6.75;-13.2,-6.6;-13.2,-6.6" calcMode="discrete"/></use><animate attributeName="display" repeatCount="indefinite" dur="6.292s" keyTimes="0;0.656;0.762;1" values="none;inline;none;none"/></g><g style="display:none;"><g id="ojos3" transform="matrix(0.983 -0.047 0.046 1.046 48.4 54.65)"><animateTransform attributeName="transform" additive="replace" type="translate" repeatCount="indefinite" dur="6.292s" keyTimes="0;0.126;0.127;0.636;0.637;1" values="61.879,61.03;61.879,61.03;61.954,61.181;61.954,61.181;61.879,61.03;61.879,61.03" calcMode="discrete"/><animateTransform attributeName="transform" additive="sum" type="rotate" repeatCount="indefinite" dur="6.292s" keyTimes="0;0.126;0.127;0.636;0.637;1" values="-2.508,0,0;-2.508,0,0;-0.557,0,0;-0.557,0,0;-2.508,0,0;-2.508,0,0" calcMode="discrete"/><animateTransform attributeName="transform" additive="sum" type="skewY" repeatCount="indefinite" dur="6.292s" keyTimes="0;0.126;0.127;0.636;0.637;1" values="-0.235;-0.235;-0.236;-0.236;-0.235;-0.235" calcMode="discrete"/><animateTransform attributeName="transform" additive="sum" type="scale" repeatCount="indefinite" dur="6.292s" keyTimes="0;1" values="0.984,1.048;0.984,1.048" calcMode="discrete"/><animateTransform attributeName="transform" additive="sum" type="translate" repeatCount="indefinite" dur="6.292s" keyTimes="0;0.126;0.127;0.636;0.637;1" values="-13.4,-6.7;-13.4,-6.7;-13.35,-6.6;-13.35,-6.6;-13.4,-6.7;-13.4,-6.7" calcMode="discrete"/><g><g id="ojos3_1.0.0"><path fill="none" stroke="#0E2D38" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" d="M10.15,7.1L4.55,11.2M10.15,7.1L3.5,3.45"/></g><g id="ojos3_1.0.1"><path fill="#FFF" d="M16.75,1.3Q14.95,2.95 14.8,5.35 14.65,7.75 16.3,9.4 17.9,11.35 20.3,11.5 22.75,11.65 24.5,9.9 26.35,8.5 26.5,6.1 26.65,3.7 24.95,1.8 23.5,0.15 21.05,0 18.65,-0.15 16.75,1.3"/></g><g id="ojos3_1.0.2"><path fill="#0E2D38" d="M23.65,2.95Q22.7,2 21.15,1.9 19.55,1.8 18.3,2.75 17.1,3.85 17,5.45 16.9,7.05 18,8.15 19.05,9.45 20.65,9.55 22.3,9.65 23.45,8.5 24.7,7.55 24.8,5.95 24.85,5.45 24.75,5.05L22.15,4.7 23.65,2.95"/></g></g></g><animate attributeName="display" repeatCount="indefinite" dur="6.292s" keyTimes="0;0.099;0.656;1" values="none;inline;none;none"/></g><g><use xlink:href="#Duplicate_Items_Folder_ojos1" transform="matrix(0.977 -0.116 0.119 1.041 47.45 53.45)"/><animate attributeName="display" repeatCount="indefinite" dur="6.292s" keyTimes="0;0.099;1" values="inline;none;none"/></g><g style="display:none;"><use xlink:href="#lupa" transform="matrix(0.271 -0.963 0.963 0.271 65.05 51.6)"><animateTransform attributeName="transform" additive="replace" type="translate" repeatCount="indefinite" dur="6.292s" keyTimes="0;0.655;0.656;1" values="82.438,47.316;82.438,47.316;98.179,46.775;98.179,46.775" calcMode="discrete"/><animateTransform attributeName="transform" additive="sum" type="rotate" repeatCount="indefinite" dur="6.292s" keyTimes="0;0.655;0.656;1" values="-74.279,0,0;-74.279,0,0;-50.019,0,0;-50.019,0,0" calcMode="discrete"/><animateTransform attributeName="transform" additive="sum" type="scale" repeatCount="indefinite" dur="6.292s" keyTimes="0;0.655;0.656;1" values="0.999,0.999;0.999,0.999;0.998,0.998;0.998,0.998" calcMode="discrete"/><animateTransform attributeName="transform" additive="sum" type="translate" repeatCount="indefinite" dur="6.292s" keyTimes="0;0.655;0.656;1" values="-8.85,-15.6;-8.85,-15.6;-8.85,-15.55;-8.85,-15.55" calcMode="discrete"/></use><animate attributeName="display" repeatCount="indefinite" dur="6.292s" keyTimes="0;0.636;1" values="none;inline;inline"/></g><g style="display:none;"><g id="lupa1" transform="matrix(-0.489 -0.872 0.872 -0.489 71.2 67.45)"><g id="lupa3_0.0"><g><path fill="none" stroke="#999" stroke-width="5" stroke-linecap="round" stroke-linejoin="round" d="M7.95,8.2L7.95,26.7"/><path fill="#6CF" stroke="#999" stroke-width="3" stroke-linecap="round" stroke-linejoin="round" d="M15.8,-3.7Q12.65,-6.85 8.2,-6.85 3.75,-6.85 0.55,-3.7 -2.6,-0.5 -2.6,3.95 -2.6,8.4 0.55,11.55 3.75,14.75 8.2,14.75 12.65,14.75 15.8,11.55 19,8.4 19,3.95 19,-0.5 15.8,-3.7"/></g></g></g><animate attributeName="display" repeatCount="indefinite" dur="6.292s" keyTimes="0;0.126;0.636;1" values="none;inline;none;none"/></g><g><use xlink:href="#lupa" transform="matrix(0.643 -0.766 0.766 0.643 80.65 43.55)"><animateTransform attributeName="transform" additive="replace" type="translate" repeatCount="indefinite" dur="6.292s" keyTimes="0;0.099;0.1;1" values="98.179,46.775;98.179,46.775;82.438,47.316;82.438,47.316" calcMode="discrete"/><animateTransform attributeName="transform" additive="sum" type="rotate" repeatCount="indefinite" dur="6.292s" keyTimes="0;0.099;0.1;1" values="-50.019,0,0;-50.019,0,0;-74.279,0,0;-74.279,0,0" calcMode="discrete"/><animateTransform attributeName="transform" additive="sum" type="scale" repeatCount="indefinite" dur="6.292s" keyTimes="0;0.099;0.1;1" values="0.998,0.998;0.998,0.998;0.999,0.999;0.999,0.999" calcMode="discrete"/><animateTransform attributeName="transform" additive="sum" type="translate" repeatCount="indefinite" dur="6.292s" keyTimes="0;0.099;0.1;1" values="-8.85,-15.55;-8.85,-15.55;-8.85,-15.6;-8.85,-15.6" calcMode="discrete"/></use><animate attributeName="display" repeatCount="indefinite" dur="6.292s" keyTimes="0;0.126;1" values="inline;none;none"/></g><g style="display:none;"><g><path fill="#FFF" d="M76.95,57.2Q76.4,54.65 74.15,53.15 72.15,51.8 69.55,52.3 66.95,52.8 65.35,54.85 63.95,57.1 64.45,59.6 64.95,62.2 67.15,63.45 69.4,65.05 71.9,64.55 74.5,64.05 75.9,61.75 77.45,59.75 76.95,57.2"/><path fill="#0E2D38" d="M74.8,56.6L72,56.95 73.05,54.7Q71.8,53.95 70.15,54.25 68.45,54.6 67.4,55.95 66.45,57.45 66.8,59.1 67.15,60.85 68.6,61.7 70.05,62.75 71.75,62.4 73.5,62.1 74.4,60.55 75.45,59.2 75.1,57.5 75,56.95 74.8,56.6"/></g><animate attributeName="display" repeatCount="indefinite" dur="6.292s" keyTimes="0;0.49;0.636;1" values="none;inline;none;none"/></g><g style="display:none;"><g><path fill="#FFF" d="M76.25,58.95Q77.3,57.25 76.4,55.85 75.4,54.45 73,54.15 70.85,53.9 68.45,54.9 66,55.9 64.85,57.65 63.9,59.45 64.85,60.85 65.85,62.3 68.15,62.45 70.6,62.75 72.9,61.75 75.3,60.75 76.25,58.95"/><path fill="#0E2D38" d="M74.25,56.05L71.65,57.1 72.2,55.4Q70.9,55.3 69.35,55.95 67.8,56.7 67.05,57.8 66.35,58.95 67,59.85 67.7,60.85 69.25,60.95 70.75,61.2 72.35,60.45 74,59.85 74.6,58.6 75.35,57.45 74.7,56.55 74.5,56.25 74.25,56.05"/></g><animate attributeName="display" repeatCount="indefinite" dur="6.292s" keyTimes="0;0.47;0.477;1" values="none;inline;none;none"/></g><g style="display:none;"><g><path fill="#FFF" d="M74.15,53.15Q72.15,51.8 69.55,52.3 66.95,52.8 65.35,54.85 63.95,57.1 64.45,59.6 64.95,62.2 67.15,63.45 69.4,65.05 71.9,64.55 74.5,64.05 75.9,61.75 77.45,59.75 76.95,57.2 76.4,54.65 74.15,53.15"/><path fill="#0E2D38" d="M72,56.95L73.05,54.7Q71.8,53.95 70.15,54.25 68.45,54.6 67.4,55.95 66.45,57.45 66.8,59.1 67.15,60.85 68.6,61.7 70.05,62.75 71.75,62.4 73.5,62.1 74.4,60.55 75.45,59.2 75.1,57.5 75,56.95 74.8,56.6L72,56.95"/></g><animate attributeName="display" repeatCount="indefinite" dur="6.292s" keyTimes="0;0.179;0.47;1" values="none;inline;none;none"/></g><g style="display:none;"><path fill="none" stroke="#0E2D38" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" d="M74.2,56Q74.25,56.15 74.3,56.35 74.8,58.25 74,59.85 73.15,61.45 71.55,61.9 69.9,62.4 68.35,61.45 66.75,60.45 66.3,58.55 66.25,58.4 66.25,58.15"/><animate attributeName="display" repeatCount="indefinite" dur="6.292s" keyTimes="0;0.166;0.179;0.477;0.49;1" values="none;inline;none;inline;none;none"/></g><g style="display:none;"><g><path fill="#FFF" d="M76.4,55.85Q75.4,54.45 73,54.15 70.85,53.9 68.45,54.9 66,55.9 64.85,57.65 63.9,59.45 64.85,60.85 65.85,62.3 68.15,62.45 70.6,62.75 72.9,61.75 75.3,60.75 76.25,58.95 77.3,57.25 76.4,55.85"/><path fill="#0E2D38" d="M71.65,57.1L72.2,55.4Q70.9,55.3 69.35,55.95 67.8,56.7 67.05,57.8 66.35,58.95 67,59.85 67.7,60.85 69.25,60.95 70.75,61.2 72.35,60.45 74,59.85 74.6,58.6 75.35,57.45 74.7,56.55 74.5,56.25 74.25,56.05L71.65,57.1"/></g><animate attributeName="display" repeatCount="indefinite" dur="6.292s" keyTimes="0;0.159;0.166;1" values="none;inline;none;none"/></g><g style="display:none;"><g><path fill="#FFF" d="M69.55,52.3Q66.95,52.8 65.35,54.85 63.95,57.1 64.45,59.6 64.95,62.2 67.15,63.45 69.4,65.05 71.9,64.55 74.5,64.05 75.9,61.75 77.45,59.75 76.95,57.2 76.4,54.65 74.15,53.15 72.15,51.8 69.55,52.3"/><path fill="#0E2D38" d="M74.4,60.55Q75.45,59.2 75.1,57.5 75,56.95 74.8,56.6L72,56.95 73.05,54.7Q71.8,53.95 70.15,54.25 68.45,54.6 67.4,55.95 66.45,57.45 66.8,59.1 67.15,60.85 68.6,61.7 70.05,62.75 71.75,62.4 73.5,62.1 74.4,60.55"/></g><animate attributeName="display" repeatCount="indefinite" dur="6.292s" keyTimes="0;0.126;0.159;1" values="none;inline;none;none"/></g><g id="mano" transform="matrix(0.77 0.638 0.638 -0.77 96.95 48.7)"><animateTransform attributeName="transform" additive="replace" type="translate" repeatCount="indefinite" dur="6.292s" keyTimes="0;0.099;0.1;0.126;0.127;0.636;0.637;0.655;0.656;1" values="102.339,48.227;102.339,48.227;88.769,47.255;88.769,47.255;83.947,48.961;83.947,48.961;88.921,48.542;88.921,48.542;102.339,48.227;102.339,48.227" calcMode="discrete"/><animateTransform attributeName="transform" additive="sum" type="rotate" repeatCount="indefinite" dur="6.292s" keyTimes="0;0.099;0.1;0.126;0.127;0.636;0.637;0.655;0.656;1" values="-140.39,0,0;-140.39,0,0;-164.648,0,0;-164.648,0,0;150.351,0,0;150.351,0,0;-164.648,0,0;-164.648,0,0;-140.39,0,0;-140.39,0,0" calcMode="discrete"/><animateTransform attributeName="transform" additive="sum" type="skewY" repeatCount="indefinite" dur="6.292s" keyTimes="0;1" values="180;180" calcMode="discrete"/><animateTransform attributeName="transform" additive="sum" type="scale" repeatCount="indefinite" dur="6.292s" keyTimes="0;1" values="-1,1;-1,1" calcMode="discrete"/><animateTransform attributeName="transform" additive="sum" type="translate" repeatCount="indefinite" dur="6.292s" keyTimes="0;0.126;0.127;0.636;0.637;0.655;0.656;1" values="-3.85,-3.8;-3.85,-3.8;-3.8,-3.75;-3.8,-3.75;-3.8,-3.8;-3.8,-3.8;-3.85,-3.8;-3.85,-3.8" calcMode="discrete"/><g id="mano_0.0"><path fill="#F90" d="M7.6,3.65Q7.5,2.1 6.3,1 5.2,-0.05 3.65,0 2.1,0.1 0.95,1.2 -0.1,2.4 0,3.95 0.05,5.5 1.2,6.55 2.35,7.7 3.9,7.6 5.45,7.55 6.55,6.35 7.65,5.2 7.6,3.65"/></g></g></g></svg>
@@ -0,0 +1,112 @@
1
+ require 'spec_helper'
2
+
3
+ feature 'Chapters flow', organization_workspace: :test do
4
+ let(:haskell) { create(:haskell) }
5
+
6
+ let!(:chapter) {
7
+ create(:chapter, name: 'Functional Programming', lessons: lessons) }
8
+
9
+ let(:lessons) { [lesson_1, lesson_2] }
10
+
11
+ let(:lesson_1) {
12
+ create(:lesson, name: 'Values and Functions', language: haskell, description: 'Values are everywhere...', exercises: [
13
+ create(:exercise, name: 'The Basic Values', description: "Let's say we want to declare a variable...")
14
+ ])
15
+ }
16
+
17
+ let(:lesson_2) {
18
+ create(:lesson, name: 'Monads and Functors', language: haskell, description: 'Monds are everywhere too...', exercises: [
19
+ create(:exercise, name: 'The Maybe Functor', description: "Let's say we want to model absense of value...")
20
+ ])
21
+ }
22
+
23
+ before { reindex_current_organization! }
24
+
25
+ context 'multilesson' do
26
+ context 'no appendix' do
27
+ scenario 'show chapter, no appendix' do
28
+ visit "/chapters/#{chapter.id}"
29
+
30
+ expect(page).to have_text('Functional Programming')
31
+ expect(page).to have_text('The Basic Values')
32
+
33
+ expect(page).to have_text('Monads and Functors')
34
+ expect(page).to have_text('The Maybe Functor')
35
+
36
+ expect(page).to have_text(chapter.description)
37
+
38
+ expect(page).to_not have_text('Appendix')
39
+ expect(page).to have_text('Lessons')
40
+ end
41
+ end
42
+
43
+ context 'with appendix' do
44
+ before { chapter.topic.update appendix: 'Check this article about endofunctors' }
45
+
46
+ scenario 'show chapter, with appendix' do
47
+ visit "/chapters/#{chapter.id}"
48
+
49
+ expect(page).to have_text('Functional Programming')
50
+ expect(page).to have_text('The Basic Values')
51
+
52
+ expect(page).to have_text('Monads and Functors')
53
+ expect(page).to have_text('The Maybe Functor')
54
+
55
+ expect(page).to have_text('Appendix')
56
+ expect(page).to have_text('Lessons')
57
+ end
58
+
59
+ scenario 'show appendix' do
60
+ visit "/chapters/#{chapter.id}/appendix"
61
+ expect(page).to have_text('Appendix')
62
+ expect(page).to have_text('endofunctors')
63
+ end
64
+ end
65
+ end
66
+
67
+ context 'monolesson' do
68
+ let(:lessons) { [lesson_1] }
69
+
70
+ context 'with appendix' do
71
+ before { chapter.topic.update appendix: 'Check this article about endofunctors' }
72
+
73
+ scenario 'show chapter, with appendix' do
74
+ visit "/chapters/#{chapter.id}"
75
+
76
+ expect(page).to have_text('Functional Programming')
77
+ expect(page).to have_text('The Basic Values')
78
+
79
+ expect(page).to have_text(chapter.description)
80
+
81
+ expect(page).not_to have_text("Let's say we want to declare a variable...")
82
+
83
+ expect(page).to have_text('Appendix')
84
+ expect(page).not_to have_text('Lessons')
85
+ end
86
+
87
+ scenario 'show appendix' do
88
+ visit "/chapters/#{chapter.id}/appendix"
89
+ expect(page).to have_text('Appendix')
90
+ expect(page).to have_text('endofunctors')
91
+ end
92
+ end
93
+
94
+ end
95
+
96
+ context 'incognito user' do
97
+ before { Organization.current.update! incognito_mode_enabled: true }
98
+ scenario 'show chapter, no appendix' do
99
+ visit "/chapters/#{chapter.id}"
100
+
101
+ expect(page).to have_text('Functional Programming')
102
+ expect(page).to have_text('The Basic Values')
103
+
104
+ expect(page).to have_text('Monads and Functors')
105
+ expect(page).to have_text('The Maybe Functor')
106
+
107
+ expect(page).to_not have_text('Appendix')
108
+
109
+ expect(page).to have_text('Sign in')
110
+ end
111
+ end
112
+ end
@@ -42,7 +42,7 @@ feature 'Login Flow', organization_workspace: :test do
42
42
 
43
43
  expect(page).to_not have_text('Sign in')
44
44
  expect(page).to have_text('Sign Out')
45
- expect(page).to have_text('awesomeRubyGuide')
45
+ expect(page).to have_text('C1')
46
46
  end
47
47
 
48
48
  scenario 'can logout', :element_not_interactable_error do
@@ -0,0 +1,46 @@
1
+ require 'spec_helper'
2
+
3
+ feature 'Notifications Flow', organization_workspace: :test do
4
+ let!(:chapter) { create(:chapter) }
5
+ let(:organization) { Organization.current }
6
+ let(:user) { create(:user) }
7
+
8
+ before { reindex_current_organization! }
9
+ before { set_current_user!(user) }
10
+
11
+ def notifications_bell
12
+ find '.badge-notifications'
13
+ end
14
+
15
+ def find_notification_number(number)
16
+ find('#notificationsDropdown').click
17
+ find "#notificationsPanel li:nth-child(#{number}) a"
18
+ end
19
+
20
+ context 'user with notifications' do
21
+ let(:exam_registration) { create(:exam_registration, description: 'Mid term exam 2020') }
22
+ let(:exam_authorization_request) { create(:exam_authorization_request, exam_registration: exam_registration, user: user) }
23
+
24
+ let!(:notifications) do
25
+ [exam_registration, exam_authorization_request].map { |target| create(:notification, user: user, target: target ) }
26
+ end
27
+
28
+ before { visit '/' }
29
+
30
+ scenario 'displays count on navigation bar' do
31
+ expect(notifications_bell).to have_text('2')
32
+ end
33
+
34
+ scenario 'navigates to target on notification click' do
35
+ find_notification_number(2).click
36
+ expect(page).to have_text 'Registration to Mid term exam 2020'
37
+ expect(page).to have_text 'Choose date and time to attend to the exam'
38
+ end
39
+
40
+ scenario 'removes notification after target is processed' do
41
+ # Notification for exam authorization request is considered read after user click
42
+ find_notification_number(1).click
43
+ expect(notifications_bell).to have_text('1')
44
+ end
45
+ end
46
+ end
@@ -15,7 +15,6 @@ feature 'Topic Flow', organization_workspace: :test do
15
15
  visit "/topics/#{topic_in_path.transparent_id}"
16
16
 
17
17
  expect(page).to have_text('Functional Programming')
18
- expect(page).to have_text('Lessons')
19
18
  end
20
19
 
21
20
  scenario 'visit topic in path not transparently' do
@@ -1,5 +1,5 @@
1
1
  describe('bridge', () => {
2
2
  it('can create bridge', () => {
3
3
  expect(new mumuki.bridge.Laboratory()).not.toBe(null);
4
- })
5
- })
4
+ });
5
+ });
@@ -1,7 +1,7 @@
1
1
  describe('csrf token', () => {
2
2
  it('can create token', () => {
3
3
  expect(new mumuki.CsrfToken()).not.toBe(null);
4
- })
5
- })
4
+ });
5
+ });
6
6
 
7
7
 
@@ -1,11 +1,10 @@
1
1
  describe('editors', () => {
2
-
3
2
  beforeEach(() => {
4
- mumuki.CustomEditor.clearSources()
5
- })
3
+ mumuki.CustomEditor.clearSources();
4
+ });
6
5
 
7
6
  it('has initially no sources', () => {
8
- expect(mumuki.CustomEditor.hasSources).toBe(false)
7
+ expect(mumuki.CustomEditor.hasSources).toBe(false);
9
8
  });
10
9
 
11
10
  it('can add a custom source', () => {
@@ -26,7 +25,7 @@ describe('editors', () => {
26
25
  <div class="field form-group editor-code">
27
26
  <textarea class="form-control editor" name="solution[content]" id="solution_content">the standard solution</textarea>
28
27
  </div>
29
- </form>`)
28
+ </form>`);
30
29
 
31
30
  mumuki.editors.addCustomSource({
32
31
  getContent() {
@@ -43,11 +42,10 @@ describe('editors', () => {
43
42
  <div class="field form-group editor-code">
44
43
  <textarea class="form-control editor" name="solution[content]" id="solution_content">the solution</textarea>
45
44
  </div>
46
- </form>`)
45
+ </form>`);
47
46
  expect(mumuki.editors.getSubmission()).toEqual({"solution[content]":"the solution"});
48
47
  });
49
48
 
50
-
51
49
  it('reads the form if no sources and exercise is multifile', () => {
52
50
  $('body').html(`
53
51
  <form role="form" class="new_solution">
@@ -63,7 +61,7 @@ describe('editors', () => {
63
61
  name="solution[content[receta.css]]"
64
62
  id="solution_content[receta.css]">some css</textarea>
65
63
  </div>
66
- </form>`)
64
+ </form>`);
67
65
  expect(mumuki.editors.getSubmission()).toEqual({
68
66
  "solution[content[index.html]]": "some html",
69
67
  "solution[content[receta.css]]": "some css"
@@ -74,4 +72,4 @@ describe('editors', () => {
74
72
  $('body').html(``);
75
73
  expect(mumuki.editors.getSubmission()).toEqual({});
76
74
  });
77
- })
75
+ });
@@ -1,7 +1,7 @@
1
1
  describe('elipsis', () => {
2
2
  it('does nothing when no elipsis', () => {
3
3
  expect(mumuki.elipsis('hello')).toEqual('hello');
4
- })
4
+ });
5
5
 
6
6
  it('replaces student elipsis', () => {
7
7
  expect(mumuki.elipsis(`function longitud(unString) {
@@ -10,7 +10,7 @@ describe('elipsis', () => {
10
10
  /*@elipsis-for-student&gt;*/
11
11
  }`)).toEqual(`function longitud(unString) {
12
12
  /* ... */
13
- }`)
13
+ }`);
14
14
  });
15
15
 
16
16
  it('replaces student hidden', () => {
@@ -20,6 +20,6 @@ describe('elipsis', () => {
20
20
  /*@hidden-for-student&gt;*/
21
21
  }`)).toEqual(`function longitud(unString) {
22
22
  /**/
23
- }`)
23
+ }`);
24
24
  });
25
- })
25
+ });
@@ -6,18 +6,18 @@ describe('events', () => {
6
6
  it('is not called when it is not fired', () => {
7
7
  mumuki.events.on('foo', (e) => {
8
8
  fail(`should not be called, but got ${JSON.stringify(e)}`);
9
- })
10
- })
9
+ });
10
+ });
11
11
 
12
12
  it('is not called when it is fired but not enabled', () => {
13
13
  let fired = false;
14
14
  mumuki.events.on('foo', (e) => {
15
15
  fail(`should not be called, but got ${JSON.stringify(e)}`);
16
16
  fired = true;
17
- })
17
+ });
18
18
  mumuki.events.fire('foo', 42);
19
19
  expect(fired).toBe(false);
20
- })
20
+ });
21
21
 
22
22
  it('is called when it is fired and enabled', () => {
23
23
  let fired = false;
@@ -25,9 +25,9 @@ describe('events', () => {
25
25
  mumuki.events.on('foo', (event) => {
26
26
  expect(event).toEqual(42);
27
27
  fired = true;
28
- })
28
+ });
29
29
 
30
30
  mumuki.events.fire('foo', 42);
31
31
  expect(fired).toBe(true);
32
- })
33
- })
32
+ });
33
+ });