Added multiple ongoing competitions (HUGE CHANGE)
authorBrendan Hansen <brendan.f.hansen@gmail.com>
Fri, 15 Nov 2019 04:34:33 +0000 (22:34 -0600)
committerBrendan Hansen <brendan.f.hansen@gmail.com>
Fri, 15 Nov 2019 04:34:33 +0000 (22:34 -0600)
44 files changed:
codebox/app/app.moon
codebox/controllers/account/join_competition.moon
codebox/controllers/account/register.moon
codebox/controllers/admin/competition/activate.moon [deleted file]
codebox/controllers/admin/competition/edit.moon
codebox/controllers/admin/competition/toggle_active.moon [new file with mode: 0644]
codebox/controllers/admin/utils/score.moon
codebox/controllers/competition/Tupfile [new file with mode: 0644]
codebox/controllers/competition/list.moon [new file with mode: 0644]
codebox/controllers/controller.moon
codebox/controllers/executer/status_update.moon
codebox/controllers/leaderboard/update.moon
codebox/controllers/leaderboard/view.moon
codebox/controllers/problem/problem.moon
codebox/controllers/problem/submit.moon
codebox/controllers/submission/list.moon
codebox/middleware/competition_active.moon [new file with mode: 0644]
codebox/middleware/competition_started.moon
codebox/middleware/during_competition.moon
codebox/middleware/joined_competition.moon
codebox/migrations.moon
codebox/models/jobs.moon
codebox/services/scoring.moon
codebox/static/coffee/problem_submit.coffee
codebox/static/coffee/submission_reloader.coffee
codebox/static/css/core.css
codebox/static/css/core.css.map
codebox/static/js/problem_submit.js
codebox/static/js/problem_submit.js.map
codebox/static/js/submission_reloader.js
codebox/static/js/submission_reloader.js.map
codebox/static/scss/_utils.scss
codebox/static/scss/core.scss
codebox/utils/binding.moon
codebox/views/admin/competition.moon
codebox/views/admin/competition/edit.moon
codebox/views/competition/join.moon
codebox/views/competition/list.moon [new file with mode: 0644]
codebox/views/partials/navbar.moon
codebox/views/partials/problem_sidebar.moon
codebox/views/problem/problem.moon
codebox/views/ssr/job_result.moon
codebox/views/submission/list.moon
docs/todo

index a2c6833f17898d036bd7d1b5e324c720522681a8..50784998706c7ff1ef6785af01fb05e216400bcb 100644 (file)
@@ -32,30 +32,33 @@ class extends lapis.Application
                @scripts = {}
                @raw_scripts = {}
 
-       ['index':                "/"]: => redirect_to: @url_for 'problem'
+       ['index':                "/"]: => redirect_to: @url_for 'competition'
 
        ['account.login':    "/login"]:    controller "account.login"
        ['account.logout':   "/logout"]:   controller "account.logout"
        ['account.register': "/register"]: controller "account.register"
        ['account.account':  "/account"]:  controller "account.account"
 
-       ['join_competition': '/join']: controller "account.join_competition"
+       ['competition':      '/competitions']: controller "competition.list"
+       ['join_competition': '/:competition_name/join']: controller "account.join_competition"
 
-       ['leaderboard': '/leaderboard']: controller "leaderboard.view"
-       ['leaderboard.update': '/leaderboard/update']: controller "leaderboard.update"
+       ['leaderboard': '/:competition_name/leaderboard']: controller "leaderboard.view"
+       ['leaderboard.update': '/:competition_name/leaderboard/update']: controller "leaderboard.update"
 
-       ['problem': '/problems']: controller "problem.problem"
-       ['problem.description': '/problems/:problem_name']: controller "problem.problem"
-       ['problem.submit': '/problems/:problem_name/submit']: controller "problem.submit"
+       ['problem': '/:competition_name/problems']: controller "problem.problem"
+       ['problem.description': '/:competition_name/problems/:problem_name']: controller "problem.problem"
+       ['problem.submit': '/:competition_name/problems/:problem_name/submit']: controller "problem.submit"
 
-       ['submission.list': '/submissions']: controller "submission.list"
-       ['submission.view': '/submissions/view']: controller "submission.view"
-       ['submission.status': '/submissions/status']: controller "submission.status"
+       ['submission.list': '/:competition_name/submissions']: controller "submission.list"
+       ['submission.view': '/:competition_name/submissions/view']: controller "submission.view"
+       ['submission.status': '/:competition_name/submissions/status']: controller "submission.status"
 
+       -- Executer callbacks ----------------------------------
        ['executer.status_update': "/executer/status_update"]: controller "executer.status_update"
        ['executer.request': '/executer/request']: controller "executer.request"
        ['executer.force_rescore': '/executer/force_rescore']: controller "executer.force_rescore"
 
+       -- Admin ------------------------------------------------
        ['admin': "/admin"]: => redirect_to: @url_for "admin.user"
 
        ['admin.user': "/admin/users"]: controller "admin.user"
@@ -82,7 +85,7 @@ class extends lapis.Application
        ['admin.competition.delete': "/admin/competitions/delete/:competition_id"]: controller "admin.competition.delete"
        ['admin.competition.add_problem': "/admin/competitions/add_problem"]: controller "admin.competition.add_problem"
        ['admin.competition.delete_problem': "/admin/competitions/delete_problem"]: controller "admin.competition.delete_problem"
-       ['admin.competition.activate': "/admin/competitions/activate/:competition_id"]: controller "admin.competition.activate"
+       ['admin.competition.toggle_active': "/admin/competitions/toggle_active/:competition_id"]: controller "admin.competition.toggle_active"
        ['admin.competition.remove_user': "/admin/competitions/remove_user"]: controller "admin.competition.remove_user"
 
        ['admin.utils.score': "/admin/score"]: controller "admin.utils.score"
index 9ab62a32558d7e31907d303941ad22769331e94f..54c3ad9743e0663b1767cfd2ec9352a74f028b4d 100644 (file)
@@ -1,3 +1,4 @@
+import assert_valid from require "lapis.validate"
 import make_controller from require "controllers.controller"
 import Competitions, CompetitionUsers from require 'models'
 
@@ -8,11 +9,15 @@ make_controller
        middleware: { 'logged_in' }
 
        get: =>
-               @competition = Competitions\find active: true
+               assert_valid @params, {
+                       { "competition_name", exists: true }
+               }
+
+               @competition = Competitions\find short_name: @params.competition_name
                CompetitionUsers\create
                        user_id: @user.id
                        competition_id: @competition.id
 
                @executer\rescore!
 
-               return redirect_to: @url_for 'index'
+               return redirect_to: @url_for 'leaderboard', { competition_name: @competition.short_name }
index 34fa80811682fc442a10e2df7bb40b5f903b11c0..aa2d8ca72cdf0ea592688c866124a1076fa5df31 100644 (file)
@@ -11,7 +11,7 @@ make_controller
        middleware: { 'logged_out' }
 
        get: =>
-               @flow 'csrf_validate'
+               @flow 'csrf_setup'
                render: 'account.register'
 
        post: capture_errors =>
@@ -43,8 +43,6 @@ make_controller
                        table.insert @errors, 'Error creating account'
                        return render: 'account.register'
 
-        @scoring\rescore_everything!
-
                @session.user_id = user_id
                redirect_to: @url_for 'index'
 
diff --git a/codebox/controllers/admin/competition/activate.moon b/codebox/controllers/admin/competition/activate.moon
deleted file mode 100644 (file)
index 4fec66e..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-import make_controller from require "controllers.controller"
-import assert_valid from require "lapis.validate"
-import capture_errors, capture_errors_json, yield_error from require 'lapis.application'
-import Competitions, Problems, CompetitionProblems from require 'models'
-db = require 'lapis.db'
-
-make_controller
-       middleware: { 'logged_in', 'admin_required' }
-
-       get: capture_errors_json =>
-        assert_valid @params, {
-            { "competition_id", exists: true }
-        }
-
-        comp = Competitions\find @params.competition_id
-        unless comp
-            yield_error "Competition not found"
-
-        db.query 'UPDATE competitions SET active=FALSE WHERE 1=1;'
-
-        comp\update {
-            active: true
-        }
-
-        redirect_to: @url_for "admin.competition"
\ No newline at end of file
index 519aa01f1eac9105444a52945e7be1108e71a95c..61713d17363e0bef76f3cc2265a280b9d44d6e64 100644 (file)
@@ -48,6 +48,7 @@ make_controller
             { "programming_points", exists: true }
             { "codegolf_points", exists: true }
             { "word_points", exists: true }
+                       { "short_name", exists: true }
                }
 
                @comp = Competitions\find @params.id
@@ -62,6 +63,7 @@ make_controller
             programming_points: @params.programming_points
             codegolf_points: @params.codegolf_points
             word_points: @params.word_points
+                       short_name: @params.short_name
                }
                @comp\refresh!
 
diff --git a/codebox/controllers/admin/competition/toggle_active.moon b/codebox/controllers/admin/competition/toggle_active.moon
new file mode 100644 (file)
index 0000000..234f43e
--- /dev/null
@@ -0,0 +1,25 @@
+import make_controller from require "controllers.controller"
+import assert_valid from require "lapis.validate"
+import capture_errors, capture_errors_json, yield_error from require 'lapis.application'
+import Competitions, Problems, CompetitionProblems from require 'models'
+db = require 'lapis.db'
+
+make_controller
+       middleware: { 'logged_in', 'admin_required' }
+
+       get: capture_errors_json =>
+        assert_valid @params, {
+            { "competition_id", exists: true }
+        }
+
+        comp = Competitions\find @params.competition_id
+        unless comp
+            yield_error "Competition not found"
+
+        -- db.query 'UPDATE competitions SET active=FALSE WHERE 1=1;'
+
+        comp\update {
+            active: not comp.active
+        }
+
+        redirect_to: @url_for "admin.competition"
index 9b359e062b2163bc2cf8bde6d986d15c75006d18..e336be640382b64db5941ff03ca5360de5e84a06 100644 (file)
@@ -1,4 +1,5 @@
 import make_controller from require "controllers.controller"
+import Competitions from require "models"
 
 make_controller
     inject:
@@ -7,8 +8,6 @@ make_controller
     middleware: { 'logged_in', 'admin_required' }
 
     get: =>
-        @scoring\setup_scoring_tables!
-        @scoring\score_all!
-        @scoring\place!
+               @scoring\rescore_everything!
 
         return json: 'Scored all users'
diff --git a/codebox/controllers/competition/Tupfile b/codebox/controllers/competition/Tupfile
new file mode 100644 (file)
index 0000000..f0fe651
--- /dev/null
@@ -0,0 +1 @@
+include_rules
diff --git a/codebox/controllers/competition/list.moon b/codebox/controllers/competition/list.moon
new file mode 100644 (file)
index 0000000..8777b09
--- /dev/null
@@ -0,0 +1,12 @@
+import make_controller from require "controllers.controller"
+import capture_errors_json, yield_error from require 'lapis.application'
+import assert_valid from require "lapis.validate"
+import Competitions from require 'models'
+
+make_controller
+    middleware: { 'logged_in' }
+
+    get: capture_errors_json =>
+               @competitions = Competitions\select "where active = ?", true
+
+               render: 'competition.list'
index a62ad4ea9ffe68420710a14596413952e8add941..a9b1533800fea96ea4e681f7b396361c3152ca7d 100644 (file)
@@ -6,7 +6,7 @@ import respond_to from require "lapis.application"
                        before: =>
                                if routes.inject
                                        for inj, dep in pairs routes.inject
-                                               @[inj] = @app.bind\make dep
+                                               @[inj] = @app.bind\make dep, @
 
                                if routes.scripts
                                        for s in *routes.scripts
index 6b402fe01d1a4bf43eb8ae168adf1f783f616da1..650e39b0975ee54689150770d6fa3ca595082c75 100644 (file)
@@ -30,6 +30,7 @@ make_controller
                }
 
         if status.status != Jobs.statuses.running
+                       @scoring\initialize job.competition_id
             @scoring\score job.user_id, job.problem_id
             @scoring\place!
 
index 59efe8dc174f078a7eda79fcda1a56d7da70590f..a1f51fa15b66e5fe0bf87a874f4c11e60853887e 100644 (file)
@@ -3,7 +3,7 @@ Leaderboard = require 'views.ssr.leaderboard'
 
 make_controller
     layout: false
-    middleware: { 'logged_in', 'competition_started' }
+    middleware: { 'logged_in', 'competition_started', 'competition_active' }
 
     get: =>
         @placements = @competition\get_leaderboard!
index b5f59dbff799dc8b8ebf74b367d1687aebe5c66b..dd491166cfeff92a23b03cd20f93bc63ae96f3a8 100644 (file)
@@ -4,7 +4,7 @@ import capture_errors, capture_errors_json, yield_error from require 'lapis.appl
 import LeaderboardProblems, LeaderboardPlacements from require 'models'
 
 make_controller
-    middleware: { 'logged_in', 'competition_started' }
+    middleware: { 'logged_in', 'competition_started', 'competition_active' }
        scripts: { 'leaderboard_update' }
        raw_scripts: { '/socket.io/socket.io.js' }
 
index cb78c7bac0880a3f8fb27211982dbc8b42e3e45d..766e47f1cc1b53ae8b96486f8972dd1f5104ae05 100644 (file)
@@ -4,7 +4,7 @@ import assert_valid from require "lapis.validate"
 import Problems from require 'models'
 
 make_controller
-       middleware: { 'logged_in', 'joined_competition', 'competition_started' }
+       middleware: { 'logged_in', 'joined_competition', 'competition_active', 'competition_started' }
        scripts: { "pie_chart", 'problem_submit' }
        raw_scripts: {
                "https://polyfill.io/v3/polyfill.min.js?features=es6"
index c4085110bee8b8aa471c0bf5207fe65c794f0f3d..aa0540552dc636b2c19fad34220a70e7fe37d154 100644 (file)
@@ -8,7 +8,7 @@ make_controller
     inject:
                problem: 'problem'
 
-    middleware: { 'logged_in', 'joined_competition', 'during_competition' }
+    middleware: { 'logged_in', 'joined_competition', 'competition_active', 'during_competition' }
     scripts: { 'vendor/ace/ace', 'problem_submit' }
 
     get: capture_errors_json =>
index f8103f9aa4027d6b754e55243358b8dc541473c0..7af96dd493772bb90f3fd2fe506377a417ec3448 100644 (file)
@@ -5,7 +5,7 @@ import capture_errors, yield_error from require 'lapis.application'
 import Competitions, Problems from require 'models'
 
 make_controller
-       middleware: { 'logged_in', 'joined_competition' }
+       middleware: { 'logged_in', 'joined_competition', 'competition_active' }
        scripts: { 'pie_chart' }
 
     get: =>
diff --git a/codebox/middleware/competition_active.moon b/codebox/middleware/competition_active.moon
new file mode 100644 (file)
index 0000000..46851f6
--- /dev/null
@@ -0,0 +1,7 @@
+
+=>
+       unless @competition
+               @write json: 'Competition not loaded'
+
+       unless @competition.active
+               @write redirect_to: (@url_for 'index')
index ec0bb4b7c4100671e24ef26c8a97749d72674a27..112740bcb2c334c0f59a0d8142fa8a6c82c4a595 100644 (file)
@@ -2,10 +2,10 @@ import Competitions from require 'models'
 
 =>
     unless @competition
-               @competition = Competitions\find active: true
+               @competition = Competitions\find short_name: @params.competition_name
 
                unless @competition
-                       @write json: 'No active competition'
+                       @write json: 'Could not find competition'
 
     current_time = os.time()
     start_time = @competition\get_start_time_num!
index 39afe6191fe10d616157ff4e443b4d8736d05751..d3c9fea06223d9cca47782f46e1ea25f3cd74b5c 100644 (file)
@@ -2,7 +2,7 @@ import Competitions from require 'models'
 
 =>
     unless @competition
-               @competition = Competitions\find active: true
+               @competition = Competitions\find short_name: @params.competition_name
 
                unless @competition
                        @write json: 'No active competition'
index fbc07ad9c9d7ac06c67bd09a5de0a9a9dabc63bc..87e2445a356ff6634eae6c969e3d44a6f5e41f2e 100644 (file)
@@ -1,7 +1,7 @@
 import Competitions, CompetitionUsers from require 'models'
 
 =>
-       @competition = Competitions\find active: true
+       @competition = Competitions\find short_name: @params.competition_name
        cu = CompetitionUsers\find user_id: @user.id, competition_id: @competition.id
        unless cu
                @write render: 'competition.join'
index 6fac11ed097992d793a802ec1790a15a903fc0c5..f51f7eb02848d3818d9d7c8aef287895a723338d 100644 (file)
@@ -117,4 +117,7 @@ import insert, query from require "lapis.db"
 
     [13]: =>
         add_column "problems", "blacklisted_langs", (types.varchar default: "")
+
+       [14]: =>
+               add_column "competitions", "short_name", (types.varchar default: "unnamed")
 }
index ba5e2b474e24f290a561014964fa4a4d08c2e7e8..d7216eeae2b5cb4b6cc18a1f7f9ea737723ccd30 100644 (file)
@@ -17,4 +17,5 @@ class Jobs extends Model
        @relations: {
                { 'user', belongs_to: 'Users' }
                { 'problem', belongs_to: 'Problems' }
+               { 'competition', belongs_to: 'Competitions' }
        }
index ea175a5690f3db0ab370d836a143d4355d735191..817487209a6f24044686f6622503c307d09f50cd 100644 (file)
@@ -7,8 +7,9 @@ class Scoring extends Injectable
         @time = @make 'time'
         @updater = @make 'updater'
 
+       initialize: (competition_id) =>
         -- Get the currently active competition
-        @competition = Competitions\find active: true
+        @competition = Competitions\find competition_id
 
         -- Load the problems and users that are going to be scored
         @comp_problems = @competition\get_competition_problems!
@@ -179,6 +180,10 @@ class Scoring extends Injectable
     rescore_everything: =>
         -- Completely resets everything if a problem is
         -- added or removed or if a user registers
-        @setup_scoring_tables!
-        @score_all!
-        @place!
+               comps = Competitions\select!
+
+               for comp in *comps
+                       @initialize comp.id
+                       @setup_scoring_tables!
+                       @score_all!
+                       @place!
index 29c91a6e1a9de87daabf4e2e98516585fa253c34..15639ffa0ffb68db6ca70a47f406950d5b19a90f 100644 (file)
@@ -15,11 +15,13 @@ $(document).ready ->
         lang = $('#language').val()
         code = (ace.edit 'code-editor').getValue()
 
+        comp_name = (window.location.pathname.split '/')[1]
+
         $.post window.location.pathname, {
             lang: lang,
             code: code
         }, (data) ->
-            window.location.replace("/submissions/view?submission_id=#{data}")
+            window.location.replace("/#{comp_name}/submissions/view?submission_id=#{data}")
 
     $('#word-problem-submit-btn').click ->
         answer = $('#answer').val()
index 3b13791c565355d291c83d589b86bcba2392b4d6..9ee50f9060293865bfc5958e6bb8865bab1bcb3a 100644 (file)
@@ -1,7 +1,8 @@
 submission_id = (new URLSearchParams window.location.search).get 'submission_id'
+competition_name = (window.location.pathname.split '/')[1]
 
 updateStatus = ->
-    $.get '/submissions/status', { submission_id: submission_id }, (html, _, data) ->
+    $.get "/#{competition_name}/submissions/status", { submission_id: submission_id }, (html, _, data) ->
         $('#status-container').html html
 
 $(document).ready ->
index 19cd92591cdc8542ccb24abcf3e155eb3e9c645e..c54056c6c4909078bab04b78e8cdf552120905fe 100644 (file)
@@ -1 +1 @@
-.navbar{z-index:10000;width:100%;background:#0077c2;height:47px;position:sticky;top:0;box-shadow:0px 0px 10px 0px rgba(0,0,0,.7);display:grid;grid-template-columns:1fr 6fr 1fr}.navbar .navbar-logo{padding-left:8px;text-align:center}.navbar .navbar-logo img{max-height:calc(47px - 2px);display:inline}.navbar ul{display:block;text-align:center;font-size:0}.navbar ul a li{margin:0;display:inline-block;cursor:pointer;font-size:24px;list-style:none;line-height:40px;padding-left:30px;padding-right:30px;padding-top:4px;color:#f2f2f2;border-top-color:#0077c2;transition:200ms all}.navbar ul a li.selected,.navbar ul a li:hover{border-bottom:2px solid #ffe766;color:#fff}.navbar .navbar-username{position:relative;max-height:47px;font-size:24px;line-height:40px;text-align:center;padding-top:4px;cursor:pointer;background-color:#00385c;transition:background-color 150ms}.navbar .navbar-username:hover,.navbar .navbar-username.selected{background-color:#00588f}.navbar .navbar-username:hover .navbar-username-dropdown,.navbar .navbar-username.selected .navbar-username-dropdown{display:block}.navbar .navbar-username a{display:block;width:100%}.navbar .navbar-username .navbar-username-dropdown{display:none;position:absolute;top:100%;left:0;width:100%}.navbar .navbar-username .navbar-username-dropdown .navbar-username-dropdown-option{border-bottom:1px solid #00588f;background:#00385c}.navbar .navbar-username .navbar-username-dropdown .navbar-username-dropdown-option:last-child{border-bottom:none}.navbar .navbar-username .navbar-username-dropdown .navbar-username-dropdown-option:hover{background-color:#00588f}.content,.error-list{width:100%;padding:10px 10%}.right{float:right}.left{float:left}.hidden{visibility:hidden}a{text-decoration:none;color:inherit}.split-2{display:grid;grid-template-columns:repeat(2, 1fr)}.split-2>*:first-child{margin-right:12px}.split-2>*:last-child{margin-left:12px}.split-3{display:grid;grid-template-columns:repeat(3, 1fr)}.split-4{display:grid;grid-template-columns:repeat(4, 1fr)}.split-5{display:grid;grid-template-columns:repeat(5, 1fr)}.split-6{display:grid;grid-template-columns:repeat(6, 1fr)}.split-lr{display:grid;grid-template-columns:1fr 1fr}.split-lr>*:first-child{text-align:left}.split-lr>*:last-child{text-align:right}.split-1-1{display:grid;grid-template-columns:1fr 1fr}.split-1-2{display:grid;grid-template-columns:1fr 2fr}.split-1-3{display:grid;grid-template-columns:1fr 3fr}.split-1-4{display:grid;grid-template-columns:1fr 4fr}.split-1-5{display:grid;grid-template-columns:1fr 5fr}.split-2-1{display:grid;grid-template-columns:2fr 1fr}.split-2-2{display:grid;grid-template-columns:2fr 2fr}.split-2-3{display:grid;grid-template-columns:2fr 3fr}.split-2-4{display:grid;grid-template-columns:2fr 4fr}.split-2-5{display:grid;grid-template-columns:2fr 5fr}.split-3-1{display:grid;grid-template-columns:3fr 1fr}.split-3-2{display:grid;grid-template-columns:3fr 2fr}.split-3-3{display:grid;grid-template-columns:3fr 3fr}.split-3-4{display:grid;grid-template-columns:3fr 4fr}.split-3-5{display:grid;grid-template-columns:3fr 5fr}.split-4-1{display:grid;grid-template-columns:4fr 1fr}.split-4-2{display:grid;grid-template-columns:4fr 2fr}.split-4-3{display:grid;grid-template-columns:4fr 3fr}.split-4-4{display:grid;grid-template-columns:4fr 4fr}.split-4-5{display:grid;grid-template-columns:4fr 5fr}.split-5-1{display:grid;grid-template-columns:5fr 1fr}.split-5-2{display:grid;grid-template-columns:5fr 2fr}.split-5-3{display:grid;grid-template-columns:5fr 3fr}.split-5-4{display:grid;grid-template-columns:5fr 4fr}.split-5-5{display:grid;grid-template-columns:5fr 5fr}pre{box-shadow:0px 2px 6px .5px rgba(0,0,0,.5);font-size:1rem}pre .hljs-ln td{padding-right:8px}pre .hljs-ln-line{max-width:200px !important}.fixed-half-split{display:grid;grid-template-columns:275px 1fr}.tabbed-split{display:grid !important}.tabbed-split.tab-12{grid-template-columns:12px 1fr}.tabbed-split.tab-16{grid-template-columns:16px 1fr}.tabbed-split.tab-24{grid-template-columns:24px 1fr}.tabbed-split.tab-32{grid-template-columns:32px 1fr}.tabbed-split.tab-48{grid-template-columns:48px 1fr}.tabbed-split.tab-64{grid-template-columns:64px 1fr}.tabbed-split.primary>span{background-color:#42a5f5}.tabbed-split.primary-light>span{background-color:#80d6ff}.tabbed-split.primary-dark>span{background-color:#0077c2}.tabbed-split.secondary>span{background-color:gold}.tabbed-split.secondary-light>span{background-color:#ffe766}.tabbed-split.secondary-dark>span{background-color:#998100}.tabbed-split.success>span{background-color:lime}.tabbed-split.error>span{background-color:#d00}.tabbed-split.error-light>span{background-color:#f44}.tabbed-split.error-dark>span{background-color:#700}.box,.problem-description .example-container .example>pre{box-shadow:0px 2px 6px .5px rgba(0,0,0,.5);background-color:#111}.box .highlight:hover,.problem-description .example-container .example>pre .highlight:hover{background-color:#333}.w50{width:50%}.w100{width:100%}.pad-1{padding:1px !important}.pad-l-1{padding-left:1px !important}.pad-r-1{padding-right:1px !important}.pad-t-1{padding-top:1px !important}.pad-b-1{padding-bottom:1px !important}.mar-1{margin:1px !important}.mar-l-1{margin-left:1px !important}.mar-r-1{margin-right:1px !important}.mar-t-1{margin-top:1px !important}.mar-b-1{margin-bottom:1px !important}.pad-2{padding:2px !important}.pad-l-2{padding-left:2px !important}.pad-r-2{padding-right:2px !important}.pad-t-2{padding-top:2px !important}.pad-b-2{padding-bottom:2px !important}.mar-2{margin:2px !important}.mar-l-2{margin-left:2px !important}.mar-r-2{margin-right:2px !important}.mar-t-2{margin-top:2px !important}.mar-b-2{margin-bottom:2px !important}.pad-3{padding:3px !important}.pad-l-3{padding-left:3px !important}.pad-r-3{padding-right:3px !important}.pad-t-3{padding-top:3px !important}.pad-b-3{padding-bottom:3px !important}.mar-3{margin:3px !important}.mar-l-3{margin-left:3px !important}.mar-r-3{margin-right:3px !important}.mar-t-3{margin-top:3px !important}.mar-b-3{margin-bottom:3px !important}.pad-4{padding:4px !important}.pad-l-4{padding-left:4px !important}.pad-r-4{padding-right:4px !important}.pad-t-4{padding-top:4px !important}.pad-b-4{padding-bottom:4px !important}.mar-4{margin:4px !important}.mar-l-4{margin-left:4px !important}.mar-r-4{margin-right:4px !important}.mar-t-4{margin-top:4px !important}.mar-b-4{margin-bottom:4px !important}.pad-5{padding:5px !important}.pad-l-5{padding-left:5px !important}.pad-r-5{padding-right:5px !important}.pad-t-5{padding-top:5px !important}.pad-b-5{padding-bottom:5px !important}.mar-5{margin:5px !important}.mar-l-5{margin-left:5px !important}.mar-r-5{margin-right:5px !important}.mar-t-5{margin-top:5px !important}.mar-b-5{margin-bottom:5px !important}.pad-6{padding:6px !important}.pad-l-6{padding-left:6px !important}.pad-r-6{padding-right:6px !important}.pad-t-6{padding-top:6px !important}.pad-b-6{padding-bottom:6px !important}.mar-6{margin:6px !important}.mar-l-6{margin-left:6px !important}.mar-r-6{margin-right:6px !important}.mar-t-6{margin-top:6px !important}.mar-b-6{margin-bottom:6px !important}.pad-7{padding:7px !important}.pad-l-7{padding-left:7px !important}.pad-r-7{padding-right:7px !important}.pad-t-7{padding-top:7px !important}.pad-b-7{padding-bottom:7px !important}.mar-7{margin:7px !important}.mar-l-7{margin-left:7px !important}.mar-r-7{margin-right:7px !important}.mar-t-7{margin-top:7px !important}.mar-b-7{margin-bottom:7px !important}.pad-8{padding:8px !important}.pad-l-8{padding-left:8px !important}.pad-r-8{padding-right:8px !important}.pad-t-8{padding-top:8px !important}.pad-b-8{padding-bottom:8px !important}.mar-8{margin:8px !important}.mar-l-8{margin-left:8px !important}.mar-r-8{margin-right:8px !important}.mar-t-8{margin-top:8px !important}.mar-b-8{margin-bottom:8px !important}.pad-9{padding:9px !important}.pad-l-9{padding-left:9px !important}.pad-r-9{padding-right:9px !important}.pad-t-9{padding-top:9px !important}.pad-b-9{padding-bottom:9px !important}.mar-9{margin:9px !important}.mar-l-9{margin-left:9px !important}.mar-r-9{margin-right:9px !important}.mar-t-9{margin-top:9px !important}.mar-b-9{margin-bottom:9px !important}.pad-10{padding:10px !important}.pad-l-10{padding-left:10px !important}.pad-r-10{padding-right:10px !important}.pad-t-10{padding-top:10px !important}.pad-b-10{padding-bottom:10px !important}.mar-10{margin:10px !important}.mar-l-10{margin-left:10px !important}.mar-r-10{margin-right:10px !important}.mar-t-10{margin-top:10px !important}.mar-b-10{margin-bottom:10px !important}.pad-11{padding:11px !important}.pad-l-11{padding-left:11px !important}.pad-r-11{padding-right:11px !important}.pad-t-11{padding-top:11px !important}.pad-b-11{padding-bottom:11px !important}.mar-11{margin:11px !important}.mar-l-11{margin-left:11px !important}.mar-r-11{margin-right:11px !important}.mar-t-11{margin-top:11px !important}.mar-b-11{margin-bottom:11px !important}.pad-12{padding:12px !important}.pad-l-12{padding-left:12px !important}.pad-r-12{padding-right:12px !important}.pad-t-12{padding-top:12px !important}.pad-b-12{padding-bottom:12px !important}.mar-12{margin:12px !important}.mar-l-12{margin-left:12px !important}.mar-r-12{margin-right:12px !important}.mar-t-12{margin-top:12px !important}.mar-b-12{margin-bottom:12px !important}.pad-13{padding:13px !important}.pad-l-13{padding-left:13px !important}.pad-r-13{padding-right:13px !important}.pad-t-13{padding-top:13px !important}.pad-b-13{padding-bottom:13px !important}.mar-13{margin:13px !important}.mar-l-13{margin-left:13px !important}.mar-r-13{margin-right:13px !important}.mar-t-13{margin-top:13px !important}.mar-b-13{margin-bottom:13px !important}.pad-14{padding:14px !important}.pad-l-14{padding-left:14px !important}.pad-r-14{padding-right:14px !important}.pad-t-14{padding-top:14px !important}.pad-b-14{padding-bottom:14px !important}.mar-14{margin:14px !important}.mar-l-14{margin-left:14px !important}.mar-r-14{margin-right:14px !important}.mar-t-14{margin-top:14px !important}.mar-b-14{margin-bottom:14px !important}.pad-15{padding:15px !important}.pad-l-15{padding-left:15px !important}.pad-r-15{padding-right:15px !important}.pad-t-15{padding-top:15px !important}.pad-b-15{padding-bottom:15px !important}.mar-15{margin:15px !important}.mar-l-15{margin-left:15px !important}.mar-r-15{margin-right:15px !important}.mar-t-15{margin-top:15px !important}.mar-b-15{margin-bottom:15px !important}.pad-16{padding:16px !important}.pad-l-16{padding-left:16px !important}.pad-r-16{padding-right:16px !important}.pad-t-16{padding-top:16px !important}.pad-b-16{padding-bottom:16px !important}.mar-16{margin:16px !important}.mar-l-16{margin-left:16px !important}.mar-r-16{margin-right:16px !important}.mar-t-16{margin-top:16px !important}.mar-b-16{margin-bottom:16px !important}.pad-17{padding:17px !important}.pad-l-17{padding-left:17px !important}.pad-r-17{padding-right:17px !important}.pad-t-17{padding-top:17px !important}.pad-b-17{padding-bottom:17px !important}.mar-17{margin:17px !important}.mar-l-17{margin-left:17px !important}.mar-r-17{margin-right:17px !important}.mar-t-17{margin-top:17px !important}.mar-b-17{margin-bottom:17px !important}.pad-18{padding:18px !important}.pad-l-18{padding-left:18px !important}.pad-r-18{padding-right:18px !important}.pad-t-18{padding-top:18px !important}.pad-b-18{padding-bottom:18px !important}.mar-18{margin:18px !important}.mar-l-18{margin-left:18px !important}.mar-r-18{margin-right:18px !important}.mar-t-18{margin-top:18px !important}.mar-b-18{margin-bottom:18px !important}.pad-19{padding:19px !important}.pad-l-19{padding-left:19px !important}.pad-r-19{padding-right:19px !important}.pad-t-19{padding-top:19px !important}.pad-b-19{padding-bottom:19px !important}.mar-19{margin:19px !important}.mar-l-19{margin-left:19px !important}.mar-r-19{margin-right:19px !important}.mar-t-19{margin-top:19px !important}.mar-b-19{margin-bottom:19px !important}.pad-20{padding:20px !important}.pad-l-20{padding-left:20px !important}.pad-r-20{padding-right:20px !important}.pad-t-20{padding-top:20px !important}.pad-b-20{padding-bottom:20px !important}.mar-20{margin:20px !important}.mar-l-20{margin-left:20px !important}.mar-r-20{margin-right:20px !important}.mar-t-20{margin-top:20px !important}.mar-b-20{margin-bottom:20px !important}.pad-21{padding:21px !important}.pad-l-21{padding-left:21px !important}.pad-r-21{padding-right:21px !important}.pad-t-21{padding-top:21px !important}.pad-b-21{padding-bottom:21px !important}.mar-21{margin:21px !important}.mar-l-21{margin-left:21px !important}.mar-r-21{margin-right:21px !important}.mar-t-21{margin-top:21px !important}.mar-b-21{margin-bottom:21px !important}.pad-22{padding:22px !important}.pad-l-22{padding-left:22px !important}.pad-r-22{padding-right:22px !important}.pad-t-22{padding-top:22px !important}.pad-b-22{padding-bottom:22px !important}.mar-22{margin:22px !important}.mar-l-22{margin-left:22px !important}.mar-r-22{margin-right:22px !important}.mar-t-22{margin-top:22px !important}.mar-b-22{margin-bottom:22px !important}.pad-23{padding:23px !important}.pad-l-23{padding-left:23px !important}.pad-r-23{padding-right:23px !important}.pad-t-23{padding-top:23px !important}.pad-b-23{padding-bottom:23px !important}.mar-23{margin:23px !important}.mar-l-23{margin-left:23px !important}.mar-r-23{margin-right:23px !important}.mar-t-23{margin-top:23px !important}.mar-b-23{margin-bottom:23px !important}.pad-24{padding:24px !important}.pad-l-24{padding-left:24px !important}.pad-r-24{padding-right:24px !important}.pad-t-24{padding-top:24px !important}.pad-b-24{padding-bottom:24px !important}.mar-24{margin:24px !important}.mar-l-24{margin-left:24px !important}.mar-r-24{margin-right:24px !important}.mar-t-24{margin-top:24px !important}.mar-b-24{margin-bottom:24px !important}.pad-25{padding:25px !important}.pad-l-25{padding-left:25px !important}.pad-r-25{padding-right:25px !important}.pad-t-25{padding-top:25px !important}.pad-b-25{padding-bottom:25px !important}.mar-25{margin:25px !important}.mar-l-25{margin-left:25px !important}.mar-r-25{margin-right:25px !important}.mar-t-25{margin-top:25px !important}.mar-b-25{margin-bottom:25px !important}.pad-26{padding:26px !important}.pad-l-26{padding-left:26px !important}.pad-r-26{padding-right:26px !important}.pad-t-26{padding-top:26px !important}.pad-b-26{padding-bottom:26px !important}.mar-26{margin:26px !important}.mar-l-26{margin-left:26px !important}.mar-r-26{margin-right:26px !important}.mar-t-26{margin-top:26px !important}.mar-b-26{margin-bottom:26px !important}.pad-27{padding:27px !important}.pad-l-27{padding-left:27px !important}.pad-r-27{padding-right:27px !important}.pad-t-27{padding-top:27px !important}.pad-b-27{padding-bottom:27px !important}.mar-27{margin:27px !important}.mar-l-27{margin-left:27px !important}.mar-r-27{margin-right:27px !important}.mar-t-27{margin-top:27px !important}.mar-b-27{margin-bottom:27px !important}.pad-28{padding:28px !important}.pad-l-28{padding-left:28px !important}.pad-r-28{padding-right:28px !important}.pad-t-28{padding-top:28px !important}.pad-b-28{padding-bottom:28px !important}.mar-28{margin:28px !important}.mar-l-28{margin-left:28px !important}.mar-r-28{margin-right:28px !important}.mar-t-28{margin-top:28px !important}.mar-b-28{margin-bottom:28px !important}.pad-29{padding:29px !important}.pad-l-29{padding-left:29px !important}.pad-r-29{padding-right:29px !important}.pad-t-29{padding-top:29px !important}.pad-b-29{padding-bottom:29px !important}.mar-29{margin:29px !important}.mar-l-29{margin-left:29px !important}.mar-r-29{margin-right:29px !important}.mar-t-29{margin-top:29px !important}.mar-b-29{margin-bottom:29px !important}.pad-30{padding:30px !important}.pad-l-30{padding-left:30px !important}.pad-r-30{padding-right:30px !important}.pad-t-30{padding-top:30px !important}.pad-b-30{padding-bottom:30px !important}.mar-30{margin:30px !important}.mar-l-30{margin-left:30px !important}.mar-r-30{margin-right:30px !important}.mar-t-30{margin-top:30px !important}.mar-b-30{margin-bottom:30px !important}.pad-31{padding:31px !important}.pad-l-31{padding-left:31px !important}.pad-r-31{padding-right:31px !important}.pad-t-31{padding-top:31px !important}.pad-b-31{padding-bottom:31px !important}.mar-31{margin:31px !important}.mar-l-31{margin-left:31px !important}.mar-r-31{margin-right:31px !important}.mar-t-31{margin-top:31px !important}.mar-b-31{margin-bottom:31px !important}.pad-32{padding:32px !important}.pad-l-32{padding-left:32px !important}.pad-r-32{padding-right:32px !important}.pad-t-32{padding-top:32px !important}.pad-b-32{padding-bottom:32px !important}.mar-32{margin:32px !important}.mar-l-32{margin-left:32px !important}.mar-r-32{margin-right:32px !important}.mar-t-32{margin-top:32px !important}.mar-b-32{margin-bottom:32px !important}.pad-33{padding:33px !important}.pad-l-33{padding-left:33px !important}.pad-r-33{padding-right:33px !important}.pad-t-33{padding-top:33px !important}.pad-b-33{padding-bottom:33px !important}.mar-33{margin:33px !important}.mar-l-33{margin-left:33px !important}.mar-r-33{margin-right:33px !important}.mar-t-33{margin-top:33px !important}.mar-b-33{margin-bottom:33px !important}.pad-34{padding:34px !important}.pad-l-34{padding-left:34px !important}.pad-r-34{padding-right:34px !important}.pad-t-34{padding-top:34px !important}.pad-b-34{padding-bottom:34px !important}.mar-34{margin:34px !important}.mar-l-34{margin-left:34px !important}.mar-r-34{margin-right:34px !important}.mar-t-34{margin-top:34px !important}.mar-b-34{margin-bottom:34px !important}.pad-35{padding:35px !important}.pad-l-35{padding-left:35px !important}.pad-r-35{padding-right:35px !important}.pad-t-35{padding-top:35px !important}.pad-b-35{padding-bottom:35px !important}.mar-35{margin:35px !important}.mar-l-35{margin-left:35px !important}.mar-r-35{margin-right:35px !important}.mar-t-35{margin-top:35px !important}.mar-b-35{margin-bottom:35px !important}.pad-36{padding:36px !important}.pad-l-36{padding-left:36px !important}.pad-r-36{padding-right:36px !important}.pad-t-36{padding-top:36px !important}.pad-b-36{padding-bottom:36px !important}.mar-36{margin:36px !important}.mar-l-36{margin-left:36px !important}.mar-r-36{margin-right:36px !important}.mar-t-36{margin-top:36px !important}.mar-b-36{margin-bottom:36px !important}.pad-37{padding:37px !important}.pad-l-37{padding-left:37px !important}.pad-r-37{padding-right:37px !important}.pad-t-37{padding-top:37px !important}.pad-b-37{padding-bottom:37px !important}.mar-37{margin:37px !important}.mar-l-37{margin-left:37px !important}.mar-r-37{margin-right:37px !important}.mar-t-37{margin-top:37px !important}.mar-b-37{margin-bottom:37px !important}.pad-38{padding:38px !important}.pad-l-38{padding-left:38px !important}.pad-r-38{padding-right:38px !important}.pad-t-38{padding-top:38px !important}.pad-b-38{padding-bottom:38px !important}.mar-38{margin:38px !important}.mar-l-38{margin-left:38px !important}.mar-r-38{margin-right:38px !important}.mar-t-38{margin-top:38px !important}.mar-b-38{margin-bottom:38px !important}.pad-39{padding:39px !important}.pad-l-39{padding-left:39px !important}.pad-r-39{padding-right:39px !important}.pad-t-39{padding-top:39px !important}.pad-b-39{padding-bottom:39px !important}.mar-39{margin:39px !important}.mar-l-39{margin-left:39px !important}.mar-r-39{margin-right:39px !important}.mar-t-39{margin-top:39px !important}.mar-b-39{margin-bottom:39px !important}.pad-40{padding:40px !important}.pad-l-40{padding-left:40px !important}.pad-r-40{padding-right:40px !important}.pad-t-40{padding-top:40px !important}.pad-b-40{padding-bottom:40px !important}.mar-40{margin:40px !important}.mar-l-40{margin-left:40px !important}.mar-r-40{margin-right:40px !important}.mar-t-40{margin-top:40px !important}.mar-b-40{margin-bottom:40px !important}.pad-41{padding:41px !important}.pad-l-41{padding-left:41px !important}.pad-r-41{padding-right:41px !important}.pad-t-41{padding-top:41px !important}.pad-b-41{padding-bottom:41px !important}.mar-41{margin:41px !important}.mar-l-41{margin-left:41px !important}.mar-r-41{margin-right:41px !important}.mar-t-41{margin-top:41px !important}.mar-b-41{margin-bottom:41px !important}.pad-42{padding:42px !important}.pad-l-42{padding-left:42px !important}.pad-r-42{padding-right:42px !important}.pad-t-42{padding-top:42px !important}.pad-b-42{padding-bottom:42px !important}.mar-42{margin:42px !important}.mar-l-42{margin-left:42px !important}.mar-r-42{margin-right:42px !important}.mar-t-42{margin-top:42px !important}.mar-b-42{margin-bottom:42px !important}.pad-43{padding:43px !important}.pad-l-43{padding-left:43px !important}.pad-r-43{padding-right:43px !important}.pad-t-43{padding-top:43px !important}.pad-b-43{padding-bottom:43px !important}.mar-43{margin:43px !important}.mar-l-43{margin-left:43px !important}.mar-r-43{margin-right:43px !important}.mar-t-43{margin-top:43px !important}.mar-b-43{margin-bottom:43px !important}.pad-44{padding:44px !important}.pad-l-44{padding-left:44px !important}.pad-r-44{padding-right:44px !important}.pad-t-44{padding-top:44px !important}.pad-b-44{padding-bottom:44px !important}.mar-44{margin:44px !important}.mar-l-44{margin-left:44px !important}.mar-r-44{margin-right:44px !important}.mar-t-44{margin-top:44px !important}.mar-b-44{margin-bottom:44px !important}.pad-45{padding:45px !important}.pad-l-45{padding-left:45px !important}.pad-r-45{padding-right:45px !important}.pad-t-45{padding-top:45px !important}.pad-b-45{padding-bottom:45px !important}.mar-45{margin:45px !important}.mar-l-45{margin-left:45px !important}.mar-r-45{margin-right:45px !important}.mar-t-45{margin-top:45px !important}.mar-b-45{margin-bottom:45px !important}.pad-46{padding:46px !important}.pad-l-46{padding-left:46px !important}.pad-r-46{padding-right:46px !important}.pad-t-46{padding-top:46px !important}.pad-b-46{padding-bottom:46px !important}.mar-46{margin:46px !important}.mar-l-46{margin-left:46px !important}.mar-r-46{margin-right:46px !important}.mar-t-46{margin-top:46px !important}.mar-b-46{margin-bottom:46px !important}.pad-47{padding:47px !important}.pad-l-47{padding-left:47px !important}.pad-r-47{padding-right:47px !important}.pad-t-47{padding-top:47px !important}.pad-b-47{padding-bottom:47px !important}.mar-47{margin:47px !important}.mar-l-47{margin-left:47px !important}.mar-r-47{margin-right:47px !important}.mar-t-47{margin-top:47px !important}.mar-b-47{margin-bottom:47px !important}.pad-48{padding:48px !important}.pad-l-48{padding-left:48px !important}.pad-r-48{padding-right:48px !important}.pad-t-48{padding-top:48px !important}.pad-b-48{padding-bottom:48px !important}.mar-48{margin:48px !important}.mar-l-48{margin-left:48px !important}.mar-r-48{margin-right:48px !important}.mar-t-48{margin-top:48px !important}.mar-b-48{margin-bottom:48px !important}.pad-49{padding:49px !important}.pad-l-49{padding-left:49px !important}.pad-r-49{padding-right:49px !important}.pad-t-49{padding-top:49px !important}.pad-b-49{padding-bottom:49px !important}.mar-49{margin:49px !important}.mar-l-49{margin-left:49px !important}.mar-r-49{margin-right:49px !important}.mar-t-49{margin-top:49px !important}.mar-b-49{margin-bottom:49px !important}.ta-center{text-align:center}.bcolor-pl{background-color:#80d6ff}.bcolor-p{background-color:#42a5f5}.bcolor-pd{background-color:#0077c2}.bcolor-sl{background-color:#ffe766}.bcolor-s{background-color:gold}.bcolor-sd{background-color:#998100}.bcolor-c{background-color:#090}.bcolor-e{background-color:#f44}.problem-info{float:right;width:300px;position:relative;transition:left 1s ease-in-out}.problem-description h2{margin-top:24px}.problem-description .example-container{width:100%;display:block;float:right}.problem-description .example-container .example{margin-top:12px;display:grid;grid-template-columns:1fr 1fr;box-shadow:0px 2px 6px .5px rgba(0,0,0,.5)}.problem-description .example-container .example>pre{box-shadow:none;min-height:14rem;padding:12px;overflow:auto}.problem-description .example-container .example>pre:first-child{border-right:2px solid #888}.sidebar-problem-list{z-index:50;box-shadow:0 10px 0 0 transparent,0 10px 0 0 transparent,10px 0 0 0 transparent,0 8px 8px 2px rgba(0,0,0,.5);background:#003252;position:relative;min-height:calc(100vh - 47px);transition:left 500ms ease-in-out}.sidebar-problem-list .sidebar-problem{width:100%;display:grid;grid-template-columns:32px 1fr;border-left-width:24px;border-left-style:solid;border-left-color:#0077c2;transition:background-color 200ms ease-in-out;transition:width 200ms ease-in-out;background-color:inherit;cursor:pointer}.sidebar-problem-list .sidebar-problem[correct]{border-left-color:lime}.sidebar-problem-list .sidebar-problem[wrong]{border-left-color:red}.sidebar-problem-list .sidebar-problem[selected],.sidebar-problem-list .sidebar-problem:hover{width:calc(100% + 24px)}.sidebar-problem-list .sidebar-problem[selected]{background-color:#42a5f5 !important}.sidebar-problem-list .sidebar-problem:hover{background-color:#128ef2}.sidebar-problem-list .sidebar-problem-letter{text-align:center;background-color:#001929;padding-top:20px;padding-bottom:20px;font-size:1.2rem}.sidebar-problem-list .sidebar-problem-name{text-align:left;font-size:1.2rem;padding-left:5px;padding-top:20px;padding-bottom:20px;margin-left:10px;margin-right:10px}.progressbar{box-shadow:0px 2px 6px .5px rgba(0,0,0,.5);background:#444;height:32px;width:100%}.progressbar .progressbar-meter{background:#ffe766;height:32px;transition:width ease-in-out 1s}.progressbar .progressbar-labels{position:relative;width:100%}.progressbar .progressbar-labels *{position:absolute}.progressbar .progressbar-labels :first-child{top:-20px;left:0}.progressbar .progressbar-labels :last-child{top:-20px;right:0}.leaderboard{box-shadow:0px 2px 6px .5px rgba(0,0,0,.5);text-align:center;font-size:1.2rem;position:relative}.leaderboard .placement,.leaderboard .placement-labels{position:absolute;width:100%;top:0;left:0;display:grid;grid-template-columns:1fr 7fr 10fr 3fr}.leaderboard .placement .problem,.leaderboard .placement-labels .problem{display:grid}.leaderboard .placement-labels{background:#42a5f5;font-size:1.4rem;padding:4px}.leaderboard .placement{transition:all 750ms ease-in-out;padding:0 4px;line-height:36px}.leaderboard .placement:nth-child(even){background:#0077c2}.leaderboard .placement:nth-child(odd){background:#00385c}.leaderboard .placement.user{background:#ffe766;color:#000}.leaderboard .placement :first-child{font-size:1.2rem}.leaderboard .placement .problem>div{padding:4px;line-height:18px}.leaderboard .placement .problem>div :first-child{font-size:1.2rem}.leaderboard .placement .problem>div :last-child{font-size:.8rem}.leaderboard .placement .problem>div.correct{background:#50ff50;color:#000}.leaderboard .placement .problem>div.wrong{background:#ff5050;color:#000}.leaderboard .placement .problem>div.attempted{background:#999;color:#000}.rect-auto,.c100.p100 .slice,.c100.p99 .slice,.c100.p98 .slice,.c100.p97 .slice,.c100.p96 .slice,.c100.p95 .slice,.c100.p94 .slice,.c100.p93 .slice,.c100.p92 .slice,.c100.p91 .slice,.c100.p90 .slice,.c100.p89 .slice,.c100.p88 .slice,.c100.p87 .slice,.c100.p86 .slice,.c100.p85 .slice,.c100.p84 .slice,.c100.p83 .slice,.c100.p82 .slice,.c100.p81 .slice,.c100.p80 .slice,.c100.p79 .slice,.c100.p78 .slice,.c100.p77 .slice,.c100.p76 .slice,.c100.p75 .slice,.c100.p74 .slice,.c100.p73 .slice,.c100.p72 .slice,.c100.p71 .slice,.c100.p70 .slice,.c100.p69 .slice,.c100.p68 .slice,.c100.p67 .slice,.c100.p66 .slice,.c100.p65 .slice,.c100.p64 .slice,.c100.p63 .slice,.c100.p62 .slice,.c100.p61 .slice,.c100.p60 .slice,.c100.p59 .slice,.c100.p58 .slice,.c100.p57 .slice,.c100.p56 .slice,.c100.p55 .slice,.c100.p54 .slice,.c100.p53 .slice,.c100.p52 .slice,.c100.p51 .slice{clip:rect(auto, auto, auto, auto)}.pie,.c100.p100 .fill,.c100.p99 .fill,.c100.p98 .fill,.c100.p97 .fill,.c100.p96 .fill,.c100.p95 .fill,.c100.p94 .fill,.c100.p93 .fill,.c100.p92 .fill,.c100.p91 .fill,.c100.p90 .fill,.c100.p89 .fill,.c100.p88 .fill,.c100.p87 .fill,.c100.p86 .fill,.c100.p85 .fill,.c100.p84 .fill,.c100.p83 .fill,.c100.p82 .fill,.c100.p81 .fill,.c100.p80 .fill,.c100.p79 .fill,.c100.p78 .fill,.c100.p77 .fill,.c100.p76 .fill,.c100.p75 .fill,.c100.p74 .fill,.c100.p73 .fill,.c100.p72 .fill,.c100.p71 .fill,.c100.p70 .fill,.c100.p69 .fill,.c100.p68 .fill,.c100.p67 .fill,.c100.p66 .fill,.c100.p65 .fill,.c100.p64 .fill,.c100.p63 .fill,.c100.p62 .fill,.c100.p61 .fill,.c100.p60 .fill,.c100.p59 .fill,.c100.p58 .fill,.c100.p57 .fill,.c100.p56 .fill,.c100.p55 .fill,.c100.p54 .fill,.c100.p53 .fill,.c100.p52 .fill,.c100.p51 .fill,.c100 .bar{position:absolute;border:.08em solid #307bbb;width:.84em;height:.84em;clip:rect(0em, 0.5em, 1em, 0em);border-radius:50%;-webkit-transform:rotate(0deg);-moz-transform:rotate(0deg);-ms-transform:rotate(0deg);-o-transform:rotate(0deg);transform:rotate(0deg)}.pie-fill,.c100.p100 .fill,.c100.p100.bar:after,.c100.p99 .fill,.c100.p99.bar:after,.c100.p98 .fill,.c100.p98.bar:after,.c100.p97 .fill,.c100.p97.bar:after,.c100.p96 .fill,.c100.p96.bar:after,.c100.p95 .fill,.c100.p95.bar:after,.c100.p94 .fill,.c100.p94.bar:after,.c100.p93 .fill,.c100.p93.bar:after,.c100.p92 .fill,.c100.p92.bar:after,.c100.p91 .fill,.c100.p91.bar:after,.c100.p90 .fill,.c100.p90.bar:after,.c100.p89 .fill,.c100.p89.bar:after,.c100.p88 .fill,.c100.p88.bar:after,.c100.p87 .fill,.c100.p87.bar:after,.c100.p86 .fill,.c100.p86.bar:after,.c100.p85 .fill,.c100.p85.bar:after,.c100.p84 .fill,.c100.p84.bar:after,.c100.p83 .fill,.c100.p83.bar:after,.c100.p82 .fill,.c100.p82.bar:after,.c100.p81 .fill,.c100.p81.bar:after,.c100.p80 .fill,.c100.p80.bar:after,.c100.p79 .fill,.c100.p79.bar:after,.c100.p78 .fill,.c100.p78.bar:after,.c100.p77 .fill,.c100.p77.bar:after,.c100.p76 .fill,.c100.p76.bar:after,.c100.p75 .fill,.c100.p75.bar:after,.c100.p74 .fill,.c100.p74.bar:after,.c100.p73 .fill,.c100.p73.bar:after,.c100.p72 .fill,.c100.p72.bar:after,.c100.p71 .fill,.c100.p71.bar:after,.c100.p70 .fill,.c100.p70.bar:after,.c100.p69 .fill,.c100.p69.bar:after,.c100.p68 .fill,.c100.p68.bar:after,.c100.p67 .fill,.c100.p67.bar:after,.c100.p66 .fill,.c100.p66.bar:after,.c100.p65 .fill,.c100.p65.bar:after,.c100.p64 .fill,.c100.p64.bar:after,.c100.p63 .fill,.c100.p63.bar:after,.c100.p62 .fill,.c100.p62.bar:after,.c100.p61 .fill,.c100.p61.bar:after,.c100.p60 .fill,.c100.p60.bar:after,.c100.p59 .fill,.c100.p59.bar:after,.c100.p58 .fill,.c100.p58.bar:after,.c100.p57 .fill,.c100.p57.bar:after,.c100.p56 .fill,.c100.p56.bar:after,.c100.p55 .fill,.c100.p55.bar:after,.c100.p54 .fill,.c100.p54.bar:after,.c100.p53 .fill,.c100.p53.bar:after,.c100.p52 .fill,.c100.p52.bar:after,.c100.p51 .fill,.c100.p51.bar:after{-webkit-transform:rotate(180deg);-moz-transform:rotate(180deg);-ms-transform:rotate(180deg);-o-transform:rotate(180deg);transform:rotate(180deg)}.c100{position:relative;font-size:120px;width:1em;height:1em;border-radius:50%;float:left;background-color:#ccc}.c100 *,.c100 *:before,.c100 *:after{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}.c100.center{float:none;margin:0 auto}.c100.big{font-size:240px}.c100.small{font-size:80px}.c100>span{position:absolute;width:100%;z-index:1;left:0;top:0;width:5em;line-height:5em;font-size:.2em;color:#ccc;display:block;text-align:center;white-space:nowrap;-webkit-transition-property:all;-moz-transition-property:all;-o-transition-property:all;transition-property:all;-webkit-transition-duration:.2s;-moz-transition-duration:.2s;-o-transition-duration:.2s;transition-duration:.2s;-webkit-transition-timing-function:ease-out;-moz-transition-timing-function:ease-out;-o-transition-timing-function:ease-out;transition-timing-function:ease-out}.c100:after{position:absolute;top:.08em;left:.08em;display:block;content:" ";border-radius:50%;background-color:#f5f5f5;width:.84em;height:.84em;-webkit-transition-property:all;-moz-transition-property:all;-o-transition-property:all;transition-property:all;-webkit-transition-duration:.2s;-moz-transition-duration:.2s;-o-transition-duration:.2s;transition-duration:.2s;-webkit-transition-timing-function:ease-in;-moz-transition-timing-function:ease-in;-o-transition-timing-function:ease-in;transition-timing-function:ease-in}.c100 .slice{position:absolute;width:1em;height:1em;clip:rect(0em, 1em, 1em, 0.5em)}.c100.p1 .bar{-webkit-transform:rotate(3.6deg);-moz-transform:rotate(3.6deg);-ms-transform:rotate(3.6deg);-o-transform:rotate(3.6deg);transform:rotate(3.6deg)}.c100.p2 .bar{-webkit-transform:rotate(7.2deg);-moz-transform:rotate(7.2deg);-ms-transform:rotate(7.2deg);-o-transform:rotate(7.2deg);transform:rotate(7.2deg)}.c100.p3 .bar{-webkit-transform:rotate(10.8deg);-moz-transform:rotate(10.8deg);-ms-transform:rotate(10.8deg);-o-transform:rotate(10.8deg);transform:rotate(10.8deg)}.c100.p4 .bar{-webkit-transform:rotate(14.4deg);-moz-transform:rotate(14.4deg);-ms-transform:rotate(14.4deg);-o-transform:rotate(14.4deg);transform:rotate(14.4deg)}.c100.p5 .bar{-webkit-transform:rotate(18deg);-moz-transform:rotate(18deg);-ms-transform:rotate(18deg);-o-transform:rotate(18deg);transform:rotate(18deg)}.c100.p6 .bar{-webkit-transform:rotate(21.6deg);-moz-transform:rotate(21.6deg);-ms-transform:rotate(21.6deg);-o-transform:rotate(21.6deg);transform:rotate(21.6deg)}.c100.p7 .bar{-webkit-transform:rotate(25.2deg);-moz-transform:rotate(25.2deg);-ms-transform:rotate(25.2deg);-o-transform:rotate(25.2deg);transform:rotate(25.2deg)}.c100.p8 .bar{-webkit-transform:rotate(28.8deg);-moz-transform:rotate(28.8deg);-ms-transform:rotate(28.8deg);-o-transform:rotate(28.8deg);transform:rotate(28.8deg)}.c100.p9 .bar{-webkit-transform:rotate(32.4deg);-moz-transform:rotate(32.4deg);-ms-transform:rotate(32.4deg);-o-transform:rotate(32.4deg);transform:rotate(32.4deg)}.c100.p10 .bar{-webkit-transform:rotate(36deg);-moz-transform:rotate(36deg);-ms-transform:rotate(36deg);-o-transform:rotate(36deg);transform:rotate(36deg)}.c100.p11 .bar{-webkit-transform:rotate(39.6deg);-moz-transform:rotate(39.6deg);-ms-transform:rotate(39.6deg);-o-transform:rotate(39.6deg);transform:rotate(39.6deg)}.c100.p12 .bar{-webkit-transform:rotate(43.2deg);-moz-transform:rotate(43.2deg);-ms-transform:rotate(43.2deg);-o-transform:rotate(43.2deg);transform:rotate(43.2deg)}.c100.p13 .bar{-webkit-transform:rotate(46.8deg);-moz-transform:rotate(46.8deg);-ms-transform:rotate(46.8deg);-o-transform:rotate(46.8deg);transform:rotate(46.8deg)}.c100.p14 .bar{-webkit-transform:rotate(50.4deg);-moz-transform:rotate(50.4deg);-ms-transform:rotate(50.4deg);-o-transform:rotate(50.4deg);transform:rotate(50.4deg)}.c100.p15 .bar{-webkit-transform:rotate(54deg);-moz-transform:rotate(54deg);-ms-transform:rotate(54deg);-o-transform:rotate(54deg);transform:rotate(54deg)}.c100.p16 .bar{-webkit-transform:rotate(57.6deg);-moz-transform:rotate(57.6deg);-ms-transform:rotate(57.6deg);-o-transform:rotate(57.6deg);transform:rotate(57.6deg)}.c100.p17 .bar{-webkit-transform:rotate(61.2deg);-moz-transform:rotate(61.2deg);-ms-transform:rotate(61.2deg);-o-transform:rotate(61.2deg);transform:rotate(61.2deg)}.c100.p18 .bar{-webkit-transform:rotate(64.8deg);-moz-transform:rotate(64.8deg);-ms-transform:rotate(64.8deg);-o-transform:rotate(64.8deg);transform:rotate(64.8deg)}.c100.p19 .bar{-webkit-transform:rotate(68.4deg);-moz-transform:rotate(68.4deg);-ms-transform:rotate(68.4deg);-o-transform:rotate(68.4deg);transform:rotate(68.4deg)}.c100.p20 .bar{-webkit-transform:rotate(72deg);-moz-transform:rotate(72deg);-ms-transform:rotate(72deg);-o-transform:rotate(72deg);transform:rotate(72deg)}.c100.p21 .bar{-webkit-transform:rotate(75.6deg);-moz-transform:rotate(75.6deg);-ms-transform:rotate(75.6deg);-o-transform:rotate(75.6deg);transform:rotate(75.6deg)}.c100.p22 .bar{-webkit-transform:rotate(79.2deg);-moz-transform:rotate(79.2deg);-ms-transform:rotate(79.2deg);-o-transform:rotate(79.2deg);transform:rotate(79.2deg)}.c100.p23 .bar{-webkit-transform:rotate(82.8deg);-moz-transform:rotate(82.8deg);-ms-transform:rotate(82.8deg);-o-transform:rotate(82.8deg);transform:rotate(82.8deg)}.c100.p24 .bar{-webkit-transform:rotate(86.4deg);-moz-transform:rotate(86.4deg);-ms-transform:rotate(86.4deg);-o-transform:rotate(86.4deg);transform:rotate(86.4deg)}.c100.p25 .bar{-webkit-transform:rotate(90deg);-moz-transform:rotate(90deg);-ms-transform:rotate(90deg);-o-transform:rotate(90deg);transform:rotate(90deg)}.c100.p26 .bar{-webkit-transform:rotate(93.6deg);-moz-transform:rotate(93.6deg);-ms-transform:rotate(93.6deg);-o-transform:rotate(93.6deg);transform:rotate(93.6deg)}.c100.p27 .bar{-webkit-transform:rotate(97.2deg);-moz-transform:rotate(97.2deg);-ms-transform:rotate(97.2deg);-o-transform:rotate(97.2deg);transform:rotate(97.2deg)}.c100.p28 .bar{-webkit-transform:rotate(100.8deg);-moz-transform:rotate(100.8deg);-ms-transform:rotate(100.8deg);-o-transform:rotate(100.8deg);transform:rotate(100.8deg)}.c100.p29 .bar{-webkit-transform:rotate(104.4deg);-moz-transform:rotate(104.4deg);-ms-transform:rotate(104.4deg);-o-transform:rotate(104.4deg);transform:rotate(104.4deg)}.c100.p30 .bar{-webkit-transform:rotate(108deg);-moz-transform:rotate(108deg);-ms-transform:rotate(108deg);-o-transform:rotate(108deg);transform:rotate(108deg)}.c100.p31 .bar{-webkit-transform:rotate(111.6deg);-moz-transform:rotate(111.6deg);-ms-transform:rotate(111.6deg);-o-transform:rotate(111.6deg);transform:rotate(111.6deg)}.c100.p32 .bar{-webkit-transform:rotate(115.2deg);-moz-transform:rotate(115.2deg);-ms-transform:rotate(115.2deg);-o-transform:rotate(115.2deg);transform:rotate(115.2deg)}.c100.p33 .bar{-webkit-transform:rotate(118.8deg);-moz-transform:rotate(118.8deg);-ms-transform:rotate(118.8deg);-o-transform:rotate(118.8deg);transform:rotate(118.8deg)}.c100.p34 .bar{-webkit-transform:rotate(122.4deg);-moz-transform:rotate(122.4deg);-ms-transform:rotate(122.4deg);-o-transform:rotate(122.4deg);transform:rotate(122.4deg)}.c100.p35 .bar{-webkit-transform:rotate(126deg);-moz-transform:rotate(126deg);-ms-transform:rotate(126deg);-o-transform:rotate(126deg);transform:rotate(126deg)}.c100.p36 .bar{-webkit-transform:rotate(129.6deg);-moz-transform:rotate(129.6deg);-ms-transform:rotate(129.6deg);-o-transform:rotate(129.6deg);transform:rotate(129.6deg)}.c100.p37 .bar{-webkit-transform:rotate(133.2deg);-moz-transform:rotate(133.2deg);-ms-transform:rotate(133.2deg);-o-transform:rotate(133.2deg);transform:rotate(133.2deg)}.c100.p38 .bar{-webkit-transform:rotate(136.8deg);-moz-transform:rotate(136.8deg);-ms-transform:rotate(136.8deg);-o-transform:rotate(136.8deg);transform:rotate(136.8deg)}.c100.p39 .bar{-webkit-transform:rotate(140.4deg);-moz-transform:rotate(140.4deg);-ms-transform:rotate(140.4deg);-o-transform:rotate(140.4deg);transform:rotate(140.4deg)}.c100.p40 .bar{-webkit-transform:rotate(144deg);-moz-transform:rotate(144deg);-ms-transform:rotate(144deg);-o-transform:rotate(144deg);transform:rotate(144deg)}.c100.p41 .bar{-webkit-transform:rotate(147.6deg);-moz-transform:rotate(147.6deg);-ms-transform:rotate(147.6deg);-o-transform:rotate(147.6deg);transform:rotate(147.6deg)}.c100.p42 .bar{-webkit-transform:rotate(151.2deg);-moz-transform:rotate(151.2deg);-ms-transform:rotate(151.2deg);-o-transform:rotate(151.2deg);transform:rotate(151.2deg)}.c100.p43 .bar{-webkit-transform:rotate(154.8deg);-moz-transform:rotate(154.8deg);-ms-transform:rotate(154.8deg);-o-transform:rotate(154.8deg);transform:rotate(154.8deg)}.c100.p44 .bar{-webkit-transform:rotate(158.4deg);-moz-transform:rotate(158.4deg);-ms-transform:rotate(158.4deg);-o-transform:rotate(158.4deg);transform:rotate(158.4deg)}.c100.p45 .bar{-webkit-transform:rotate(162deg);-moz-transform:rotate(162deg);-ms-transform:rotate(162deg);-o-transform:rotate(162deg);transform:rotate(162deg)}.c100.p46 .bar{-webkit-transform:rotate(165.6deg);-moz-transform:rotate(165.6deg);-ms-transform:rotate(165.6deg);-o-transform:rotate(165.6deg);transform:rotate(165.6deg)}.c100.p47 .bar{-webkit-transform:rotate(169.2deg);-moz-transform:rotate(169.2deg);-ms-transform:rotate(169.2deg);-o-transform:rotate(169.2deg);transform:rotate(169.2deg)}.c100.p48 .bar{-webkit-transform:rotate(172.8deg);-moz-transform:rotate(172.8deg);-ms-transform:rotate(172.8deg);-o-transform:rotate(172.8deg);transform:rotate(172.8deg)}.c100.p49 .bar{-webkit-transform:rotate(176.4deg);-moz-transform:rotate(176.4deg);-ms-transform:rotate(176.4deg);-o-transform:rotate(176.4deg);transform:rotate(176.4deg)}.c100.p50 .bar{-webkit-transform:rotate(180deg);-moz-transform:rotate(180deg);-ms-transform:rotate(180deg);-o-transform:rotate(180deg);transform:rotate(180deg)}.c100.p51 .bar{-webkit-transform:rotate(183.6deg);-moz-transform:rotate(183.6deg);-ms-transform:rotate(183.6deg);-o-transform:rotate(183.6deg);transform:rotate(183.6deg)}.c100.p52 .bar{-webkit-transform:rotate(187.2deg);-moz-transform:rotate(187.2deg);-ms-transform:rotate(187.2deg);-o-transform:rotate(187.2deg);transform:rotate(187.2deg)}.c100.p53 .bar{-webkit-transform:rotate(190.8deg);-moz-transform:rotate(190.8deg);-ms-transform:rotate(190.8deg);-o-transform:rotate(190.8deg);transform:rotate(190.8deg)}.c100.p54 .bar{-webkit-transform:rotate(194.4deg);-moz-transform:rotate(194.4deg);-ms-transform:rotate(194.4deg);-o-transform:rotate(194.4deg);transform:rotate(194.4deg)}.c100.p55 .bar{-webkit-transform:rotate(198deg);-moz-transform:rotate(198deg);-ms-transform:rotate(198deg);-o-transform:rotate(198deg);transform:rotate(198deg)}.c100.p56 .bar{-webkit-transform:rotate(201.6deg);-moz-transform:rotate(201.6deg);-ms-transform:rotate(201.6deg);-o-transform:rotate(201.6deg);transform:rotate(201.6deg)}.c100.p57 .bar{-webkit-transform:rotate(205.2deg);-moz-transform:rotate(205.2deg);-ms-transform:rotate(205.2deg);-o-transform:rotate(205.2deg);transform:rotate(205.2deg)}.c100.p58 .bar{-webkit-transform:rotate(208.8deg);-moz-transform:rotate(208.8deg);-ms-transform:rotate(208.8deg);-o-transform:rotate(208.8deg);transform:rotate(208.8deg)}.c100.p59 .bar{-webkit-transform:rotate(212.4deg);-moz-transform:rotate(212.4deg);-ms-transform:rotate(212.4deg);-o-transform:rotate(212.4deg);transform:rotate(212.4deg)}.c100.p60 .bar{-webkit-transform:rotate(216deg);-moz-transform:rotate(216deg);-ms-transform:rotate(216deg);-o-transform:rotate(216deg);transform:rotate(216deg)}.c100.p61 .bar{-webkit-transform:rotate(219.6deg);-moz-transform:rotate(219.6deg);-ms-transform:rotate(219.6deg);-o-transform:rotate(219.6deg);transform:rotate(219.6deg)}.c100.p62 .bar{-webkit-transform:rotate(223.2deg);-moz-transform:rotate(223.2deg);-ms-transform:rotate(223.2deg);-o-transform:rotate(223.2deg);transform:rotate(223.2deg)}.c100.p63 .bar{-webkit-transform:rotate(226.8deg);-moz-transform:rotate(226.8deg);-ms-transform:rotate(226.8deg);-o-transform:rotate(226.8deg);transform:rotate(226.8deg)}.c100.p64 .bar{-webkit-transform:rotate(230.4deg);-moz-transform:rotate(230.4deg);-ms-transform:rotate(230.4deg);-o-transform:rotate(230.4deg);transform:rotate(230.4deg)}.c100.p65 .bar{-webkit-transform:rotate(234deg);-moz-transform:rotate(234deg);-ms-transform:rotate(234deg);-o-transform:rotate(234deg);transform:rotate(234deg)}.c100.p66 .bar{-webkit-transform:rotate(237.6deg);-moz-transform:rotate(237.6deg);-ms-transform:rotate(237.6deg);-o-transform:rotate(237.6deg);transform:rotate(237.6deg)}.c100.p67 .bar{-webkit-transform:rotate(241.2deg);-moz-transform:rotate(241.2deg);-ms-transform:rotate(241.2deg);-o-transform:rotate(241.2deg);transform:rotate(241.2deg)}.c100.p68 .bar{-webkit-transform:rotate(244.8deg);-moz-transform:rotate(244.8deg);-ms-transform:rotate(244.8deg);-o-transform:rotate(244.8deg);transform:rotate(244.8deg)}.c100.p69 .bar{-webkit-transform:rotate(248.4deg);-moz-transform:rotate(248.4deg);-ms-transform:rotate(248.4deg);-o-transform:rotate(248.4deg);transform:rotate(248.4deg)}.c100.p70 .bar{-webkit-transform:rotate(252deg);-moz-transform:rotate(252deg);-ms-transform:rotate(252deg);-o-transform:rotate(252deg);transform:rotate(252deg)}.c100.p71 .bar{-webkit-transform:rotate(255.6deg);-moz-transform:rotate(255.6deg);-ms-transform:rotate(255.6deg);-o-transform:rotate(255.6deg);transform:rotate(255.6deg)}.c100.p72 .bar{-webkit-transform:rotate(259.2deg);-moz-transform:rotate(259.2deg);-ms-transform:rotate(259.2deg);-o-transform:rotate(259.2deg);transform:rotate(259.2deg)}.c100.p73 .bar{-webkit-transform:rotate(262.8deg);-moz-transform:rotate(262.8deg);-ms-transform:rotate(262.8deg);-o-transform:rotate(262.8deg);transform:rotate(262.8deg)}.c100.p74 .bar{-webkit-transform:rotate(266.4deg);-moz-transform:rotate(266.4deg);-ms-transform:rotate(266.4deg);-o-transform:rotate(266.4deg);transform:rotate(266.4deg)}.c100.p75 .bar{-webkit-transform:rotate(270deg);-moz-transform:rotate(270deg);-ms-transform:rotate(270deg);-o-transform:rotate(270deg);transform:rotate(270deg)}.c100.p76 .bar{-webkit-transform:rotate(273.6deg);-moz-transform:rotate(273.6deg);-ms-transform:rotate(273.6deg);-o-transform:rotate(273.6deg);transform:rotate(273.6deg)}.c100.p77 .bar{-webkit-transform:rotate(277.2deg);-moz-transform:rotate(277.2deg);-ms-transform:rotate(277.2deg);-o-transform:rotate(277.2deg);transform:rotate(277.2deg)}.c100.p78 .bar{-webkit-transform:rotate(280.8deg);-moz-transform:rotate(280.8deg);-ms-transform:rotate(280.8deg);-o-transform:rotate(280.8deg);transform:rotate(280.8deg)}.c100.p79 .bar{-webkit-transform:rotate(284.4deg);-moz-transform:rotate(284.4deg);-ms-transform:rotate(284.4deg);-o-transform:rotate(284.4deg);transform:rotate(284.4deg)}.c100.p80 .bar{-webkit-transform:rotate(288deg);-moz-transform:rotate(288deg);-ms-transform:rotate(288deg);-o-transform:rotate(288deg);transform:rotate(288deg)}.c100.p81 .bar{-webkit-transform:rotate(291.6deg);-moz-transform:rotate(291.6deg);-ms-transform:rotate(291.6deg);-o-transform:rotate(291.6deg);transform:rotate(291.6deg)}.c100.p82 .bar{-webkit-transform:rotate(295.2deg);-moz-transform:rotate(295.2deg);-ms-transform:rotate(295.2deg);-o-transform:rotate(295.2deg);transform:rotate(295.2deg)}.c100.p83 .bar{-webkit-transform:rotate(298.8deg);-moz-transform:rotate(298.8deg);-ms-transform:rotate(298.8deg);-o-transform:rotate(298.8deg);transform:rotate(298.8deg)}.c100.p84 .bar{-webkit-transform:rotate(302.4deg);-moz-transform:rotate(302.4deg);-ms-transform:rotate(302.4deg);-o-transform:rotate(302.4deg);transform:rotate(302.4deg)}.c100.p85 .bar{-webkit-transform:rotate(306deg);-moz-transform:rotate(306deg);-ms-transform:rotate(306deg);-o-transform:rotate(306deg);transform:rotate(306deg)}.c100.p86 .bar{-webkit-transform:rotate(309.6deg);-moz-transform:rotate(309.6deg);-ms-transform:rotate(309.6deg);-o-transform:rotate(309.6deg);transform:rotate(309.6deg)}.c100.p87 .bar{-webkit-transform:rotate(313.2deg);-moz-transform:rotate(313.2deg);-ms-transform:rotate(313.2deg);-o-transform:rotate(313.2deg);transform:rotate(313.2deg)}.c100.p88 .bar{-webkit-transform:rotate(316.8deg);-moz-transform:rotate(316.8deg);-ms-transform:rotate(316.8deg);-o-transform:rotate(316.8deg);transform:rotate(316.8deg)}.c100.p89 .bar{-webkit-transform:rotate(320.4deg);-moz-transform:rotate(320.4deg);-ms-transform:rotate(320.4deg);-o-transform:rotate(320.4deg);transform:rotate(320.4deg)}.c100.p90 .bar{-webkit-transform:rotate(324deg);-moz-transform:rotate(324deg);-ms-transform:rotate(324deg);-o-transform:rotate(324deg);transform:rotate(324deg)}.c100.p91 .bar{-webkit-transform:rotate(327.6deg);-moz-transform:rotate(327.6deg);-ms-transform:rotate(327.6deg);-o-transform:rotate(327.6deg);transform:rotate(327.6deg)}.c100.p92 .bar{-webkit-transform:rotate(331.2deg);-moz-transform:rotate(331.2deg);-ms-transform:rotate(331.2deg);-o-transform:rotate(331.2deg);transform:rotate(331.2deg)}.c100.p93 .bar{-webkit-transform:rotate(334.8deg);-moz-transform:rotate(334.8deg);-ms-transform:rotate(334.8deg);-o-transform:rotate(334.8deg);transform:rotate(334.8deg)}.c100.p94 .bar{-webkit-transform:rotate(338.4deg);-moz-transform:rotate(338.4deg);-ms-transform:rotate(338.4deg);-o-transform:rotate(338.4deg);transform:rotate(338.4deg)}.c100.p95 .bar{-webkit-transform:rotate(342deg);-moz-transform:rotate(342deg);-ms-transform:rotate(342deg);-o-transform:rotate(342deg);transform:rotate(342deg)}.c100.p96 .bar{-webkit-transform:rotate(345.6deg);-moz-transform:rotate(345.6deg);-ms-transform:rotate(345.6deg);-o-transform:rotate(345.6deg);transform:rotate(345.6deg)}.c100.p97 .bar{-webkit-transform:rotate(349.2deg);-moz-transform:rotate(349.2deg);-ms-transform:rotate(349.2deg);-o-transform:rotate(349.2deg);transform:rotate(349.2deg)}.c100.p98 .bar{-webkit-transform:rotate(352.8deg);-moz-transform:rotate(352.8deg);-ms-transform:rotate(352.8deg);-o-transform:rotate(352.8deg);transform:rotate(352.8deg)}.c100.p99 .bar{-webkit-transform:rotate(356.4deg);-moz-transform:rotate(356.4deg);-ms-transform:rotate(356.4deg);-o-transform:rotate(356.4deg);transform:rotate(356.4deg)}.c100.p100 .bar{-webkit-transform:rotate(360deg);-moz-transform:rotate(360deg);-ms-transform:rotate(360deg);-o-transform:rotate(360deg);transform:rotate(360deg)}.c100:hover{cursor:default}.c100:hover>span{width:3.33em;line-height:3.33em;font-size:.3em;color:#307bbb}.c100:hover:after{top:.04em;left:.04em;width:.92em;height:.92em}.c100.dark{background-color:#0077c2}.c100.dark .bar,.c100.dark .fill{border-color:#80d6ff !important}.c100.dark>span{color:#0077c2}.c100.dark:after{background-color:#111}.c100.dark:hover>span{color:#80d6ff}.c100.error{background-color:#700}.c100.error .bar,.c100.error .fill{border-color:#d00 !important}.c100.error:hover>span{color:#d00}.c100.error>span{color:#700}.c100.success{background-color:#000}.c100.success .bar,.c100.success .fill{border-color:lime !important}.c100.success:hover>span{color:lime}.c100.success>span{color:#090}*{margin:0;padding:0;box-sizing:border-box}:root{font-size:16px}h1{width:100%;margin-top:12px;text-align:center}body{font-family:sans-serif;background:url(/static/imgs/grain_background.png);background-color:#111;background-repeat:repeat;color:#fff}button,a.button{box-shadow:0px 2px 6px .5px rgba(0,0,0,.7);border:1px solid #0077c2;background-color:#0077c2;color:#fff;font-size:1rem;padding:.75rem;margin-bottom:12px;display:inline-block;cursor:pointer}button+button,button+a.button,a.button+button,a.button+a.button{margin-left:12px}input,textarea,select{border:none;background-color:#111;color:#fff;font-size:1rem;display:inline-block;padding:.25rem}input::placeholder,textarea::placeholder,select::placeholder{color:#999}input[type=submit]{cursor:pointer;background-color:#0077c2}form input,form textarea,form select{z-index:20;box-shadow:0px 2px 6px .5px rgba(0,0,0,.7);padding:.75rem;width:100%}form input~label,form textarea~label,form select~label{margin-top:24px}form textarea{background-color:#111;height:50vh}form label{z-index:30;box-shadow:0px 2px 6px .5px rgba(0,0,0,.7);background-color:#0077c2;width:100%;line-height:44px;display:inline-block;padding:4px 12px 4px;margin-top:12px}.error-list ul li{box-shadow:0px 2px 6px .5px rgba(0,0,0,.5);list-style:none;background-color:#998100;padding:.5rem;margin-bottom:.5rem}.error-list ul li.success{background-color:#0077c2}.split{display:grid;grid-template-columns:1fr 1fr}.test-case{outline:none;box-shadow:0px 2px 6px .5px rgba(0,0,0,.5);resize:none;border:none;height:200px;padding:8px;background-color:#111;color:#fff}.test-case:first-child{border-right:2px solid #0077c2}.header-line,.option-line{box-shadow:0px 2px 6px .5px rgba(0,0,0,.5);background-color:#0077c2;padding:4px 12px 4px;margin-top:12px;display:inline-block;width:100%}.header-line>*,.option-line>*{line-height:44px;display:inline-block}.option-line{display:grid;grid-template-columns:1fr 1fr}.option-line>*:last-child{text-align:right}.button-list>*{margin:0px 8px 0px;background-color:#42a5f5;box-shadow:none;border:none;color:#fff;font-size:1rem;line-height:1.2rem;padding:4px 12px 4px;display:inline-block;cursor:pointer}.sidebar-page-container{display:grid;grid-template-columns:minmax(250px, 1fr) 5fr}#code-editor{position:relative;width:100%;min-height:56rem}.problem-description{font-size:1.2rem}/*# sourceMappingURL=core.css.map */
+.navbar{z-index:10000;width:100%;background:#0077c2;height:47px;position:sticky;top:0;box-shadow:0px 0px 10px 0px rgba(0,0,0,.7);display:grid;grid-template-columns:1fr 6fr 1fr}.navbar .navbar-logo{padding-left:8px;text-align:center}.navbar .navbar-logo img{max-height:calc(47px - 2px);display:inline}.navbar ul{display:block;text-align:center;font-size:0}.navbar ul a li{margin:0;display:inline-block;cursor:pointer;font-size:24px;list-style:none;line-height:40px;padding-left:30px;padding-right:30px;padding-top:4px;color:#f2f2f2;border-top-color:#0077c2;transition:200ms all}.navbar ul a li.selected,.navbar ul a li:hover{border-bottom:2px solid #ffe766;color:#fff}.navbar .navbar-username{position:relative;max-height:47px;font-size:24px;line-height:40px;text-align:center;padding-top:4px;cursor:pointer;background-color:#00385c;transition:background-color 150ms}.navbar .navbar-username:hover,.navbar .navbar-username.selected{background-color:#00588f}.navbar .navbar-username:hover .navbar-username-dropdown,.navbar .navbar-username.selected .navbar-username-dropdown{display:block}.navbar .navbar-username a{display:block;width:100%}.navbar .navbar-username .navbar-username-dropdown{display:none;position:absolute;top:100%;left:0;width:100%}.navbar .navbar-username .navbar-username-dropdown .navbar-username-dropdown-option{border-bottom:1px solid #00588f;background:#00385c}.navbar .navbar-username .navbar-username-dropdown .navbar-username-dropdown-option:last-child{border-bottom:none}.navbar .navbar-username .navbar-username-dropdown .navbar-username-dropdown-option:hover{background-color:#00588f}.content,.error-list{width:100%;padding:10px 10%}.right{float:right}.left{float:left}.hidden{visibility:hidden}a{text-decoration:none;color:inherit}.split-2{display:grid;grid-template-columns:repeat(2, 1fr)}.split-2>*:first-child{margin-right:12px}.split-2>*:last-child{margin-left:12px}.split-3{display:grid;grid-template-columns:repeat(3, 1fr)}.split-4{display:grid;grid-template-columns:repeat(4, 1fr)}.split-5{display:grid;grid-template-columns:repeat(5, 1fr)}.split-6{display:grid;grid-template-columns:repeat(6, 1fr)}.split-lr{display:grid;grid-template-columns:1fr 1fr}.split-lr>*:first-child{text-align:left}.split-lr>*:last-child{text-align:right}.split-1-1{display:grid;grid-template-columns:1fr 1fr}.split-1-2{display:grid;grid-template-columns:1fr 2fr}.split-1-3{display:grid;grid-template-columns:1fr 3fr}.split-1-4{display:grid;grid-template-columns:1fr 4fr}.split-1-5{display:grid;grid-template-columns:1fr 5fr}.split-2-1{display:grid;grid-template-columns:2fr 1fr}.split-2-2{display:grid;grid-template-columns:2fr 2fr}.split-2-3{display:grid;grid-template-columns:2fr 3fr}.split-2-4{display:grid;grid-template-columns:2fr 4fr}.split-2-5{display:grid;grid-template-columns:2fr 5fr}.split-3-1{display:grid;grid-template-columns:3fr 1fr}.split-3-2{display:grid;grid-template-columns:3fr 2fr}.split-3-3{display:grid;grid-template-columns:3fr 3fr}.split-3-4{display:grid;grid-template-columns:3fr 4fr}.split-3-5{display:grid;grid-template-columns:3fr 5fr}.split-4-1{display:grid;grid-template-columns:4fr 1fr}.split-4-2{display:grid;grid-template-columns:4fr 2fr}.split-4-3{display:grid;grid-template-columns:4fr 3fr}.split-4-4{display:grid;grid-template-columns:4fr 4fr}.split-4-5{display:grid;grid-template-columns:4fr 5fr}.split-5-1{display:grid;grid-template-columns:5fr 1fr}.split-5-2{display:grid;grid-template-columns:5fr 2fr}.split-5-3{display:grid;grid-template-columns:5fr 3fr}.split-5-4{display:grid;grid-template-columns:5fr 4fr}.split-5-5{display:grid;grid-template-columns:5fr 5fr}pre{box-shadow:0px 2px 6px .5px rgba(0,0,0,.5);font-size:1rem}pre .hljs-ln td{padding-right:8px}pre .hljs-ln-line{max-width:200px !important}.fixed-half-split{display:grid;grid-template-columns:275px 1fr}.tabbed-split{display:grid !important}.tabbed-split.tab-12{grid-template-columns:12px 1fr}.tabbed-split.tab-16{grid-template-columns:16px 1fr}.tabbed-split.tab-24{grid-template-columns:24px 1fr}.tabbed-split.tab-32{grid-template-columns:32px 1fr}.tabbed-split.tab-48{grid-template-columns:48px 1fr}.tabbed-split.tab-64{grid-template-columns:64px 1fr}.tabbed-split.primary>span{background-color:#42a5f5}.tabbed-split.primary-light>span{background-color:#80d6ff}.tabbed-split.primary-dark>span{background-color:#0077c2}.tabbed-split.secondary>span{background-color:gold}.tabbed-split.secondary-light>span{background-color:#ffe766}.tabbed-split.secondary-dark>span{background-color:#998100}.tabbed-split.success>span{background-color:lime}.tabbed-split.error>span{background-color:#d00}.tabbed-split.error-light>span{background-color:#f44}.tabbed-split.error-dark>span{background-color:#700}.box,.problem-description .example-container .example>pre{box-shadow:0px 2px 6px .5px rgba(0,0,0,.5);background-color:#111}.box .highlight,.problem-description .example-container .example>pre .highlight{background-color:#111;transition:background .2s}.box .highlight:hover,.problem-description .example-container .example>pre .highlight:hover{background-color:#333}.w50{width:50%}.w100{width:100%}.pad-1{padding:1px !important}.pad-l-1{padding-left:1px !important}.pad-r-1{padding-right:1px !important}.pad-t-1{padding-top:1px !important}.pad-b-1{padding-bottom:1px !important}.mar-1{margin:1px !important}.mar-l-1{margin-left:1px !important}.mar-r-1{margin-right:1px !important}.mar-t-1{margin-top:1px !important}.mar-b-1{margin-bottom:1px !important}.pad-2{padding:2px !important}.pad-l-2{padding-left:2px !important}.pad-r-2{padding-right:2px !important}.pad-t-2{padding-top:2px !important}.pad-b-2{padding-bottom:2px !important}.mar-2{margin:2px !important}.mar-l-2{margin-left:2px !important}.mar-r-2{margin-right:2px !important}.mar-t-2{margin-top:2px !important}.mar-b-2{margin-bottom:2px !important}.pad-3{padding:3px !important}.pad-l-3{padding-left:3px !important}.pad-r-3{padding-right:3px !important}.pad-t-3{padding-top:3px !important}.pad-b-3{padding-bottom:3px !important}.mar-3{margin:3px !important}.mar-l-3{margin-left:3px !important}.mar-r-3{margin-right:3px !important}.mar-t-3{margin-top:3px !important}.mar-b-3{margin-bottom:3px !important}.pad-4{padding:4px !important}.pad-l-4{padding-left:4px !important}.pad-r-4{padding-right:4px !important}.pad-t-4{padding-top:4px !important}.pad-b-4{padding-bottom:4px !important}.mar-4{margin:4px !important}.mar-l-4{margin-left:4px !important}.mar-r-4{margin-right:4px !important}.mar-t-4{margin-top:4px !important}.mar-b-4{margin-bottom:4px !important}.pad-5{padding:5px !important}.pad-l-5{padding-left:5px !important}.pad-r-5{padding-right:5px !important}.pad-t-5{padding-top:5px !important}.pad-b-5{padding-bottom:5px !important}.mar-5{margin:5px !important}.mar-l-5{margin-left:5px !important}.mar-r-5{margin-right:5px !important}.mar-t-5{margin-top:5px !important}.mar-b-5{margin-bottom:5px !important}.pad-6{padding:6px !important}.pad-l-6{padding-left:6px !important}.pad-r-6{padding-right:6px !important}.pad-t-6{padding-top:6px !important}.pad-b-6{padding-bottom:6px !important}.mar-6{margin:6px !important}.mar-l-6{margin-left:6px !important}.mar-r-6{margin-right:6px !important}.mar-t-6{margin-top:6px !important}.mar-b-6{margin-bottom:6px !important}.pad-7{padding:7px !important}.pad-l-7{padding-left:7px !important}.pad-r-7{padding-right:7px !important}.pad-t-7{padding-top:7px !important}.pad-b-7{padding-bottom:7px !important}.mar-7{margin:7px !important}.mar-l-7{margin-left:7px !important}.mar-r-7{margin-right:7px !important}.mar-t-7{margin-top:7px !important}.mar-b-7{margin-bottom:7px !important}.pad-8{padding:8px !important}.pad-l-8{padding-left:8px !important}.pad-r-8{padding-right:8px !important}.pad-t-8{padding-top:8px !important}.pad-b-8{padding-bottom:8px !important}.mar-8{margin:8px !important}.mar-l-8{margin-left:8px !important}.mar-r-8{margin-right:8px !important}.mar-t-8{margin-top:8px !important}.mar-b-8{margin-bottom:8px !important}.pad-9{padding:9px !important}.pad-l-9{padding-left:9px !important}.pad-r-9{padding-right:9px !important}.pad-t-9{padding-top:9px !important}.pad-b-9{padding-bottom:9px !important}.mar-9{margin:9px !important}.mar-l-9{margin-left:9px !important}.mar-r-9{margin-right:9px !important}.mar-t-9{margin-top:9px !important}.mar-b-9{margin-bottom:9px !important}.pad-10{padding:10px !important}.pad-l-10{padding-left:10px !important}.pad-r-10{padding-right:10px !important}.pad-t-10{padding-top:10px !important}.pad-b-10{padding-bottom:10px !important}.mar-10{margin:10px !important}.mar-l-10{margin-left:10px !important}.mar-r-10{margin-right:10px !important}.mar-t-10{margin-top:10px !important}.mar-b-10{margin-bottom:10px !important}.pad-11{padding:11px !important}.pad-l-11{padding-left:11px !important}.pad-r-11{padding-right:11px !important}.pad-t-11{padding-top:11px !important}.pad-b-11{padding-bottom:11px !important}.mar-11{margin:11px !important}.mar-l-11{margin-left:11px !important}.mar-r-11{margin-right:11px !important}.mar-t-11{margin-top:11px !important}.mar-b-11{margin-bottom:11px !important}.pad-12{padding:12px !important}.pad-l-12{padding-left:12px !important}.pad-r-12{padding-right:12px !important}.pad-t-12{padding-top:12px !important}.pad-b-12{padding-bottom:12px !important}.mar-12{margin:12px !important}.mar-l-12{margin-left:12px !important}.mar-r-12{margin-right:12px !important}.mar-t-12{margin-top:12px !important}.mar-b-12{margin-bottom:12px !important}.pad-13{padding:13px !important}.pad-l-13{padding-left:13px !important}.pad-r-13{padding-right:13px !important}.pad-t-13{padding-top:13px !important}.pad-b-13{padding-bottom:13px !important}.mar-13{margin:13px !important}.mar-l-13{margin-left:13px !important}.mar-r-13{margin-right:13px !important}.mar-t-13{margin-top:13px !important}.mar-b-13{margin-bottom:13px !important}.pad-14{padding:14px !important}.pad-l-14{padding-left:14px !important}.pad-r-14{padding-right:14px !important}.pad-t-14{padding-top:14px !important}.pad-b-14{padding-bottom:14px !important}.mar-14{margin:14px !important}.mar-l-14{margin-left:14px !important}.mar-r-14{margin-right:14px !important}.mar-t-14{margin-top:14px !important}.mar-b-14{margin-bottom:14px !important}.pad-15{padding:15px !important}.pad-l-15{padding-left:15px !important}.pad-r-15{padding-right:15px !important}.pad-t-15{padding-top:15px !important}.pad-b-15{padding-bottom:15px !important}.mar-15{margin:15px !important}.mar-l-15{margin-left:15px !important}.mar-r-15{margin-right:15px !important}.mar-t-15{margin-top:15px !important}.mar-b-15{margin-bottom:15px !important}.pad-16{padding:16px !important}.pad-l-16{padding-left:16px !important}.pad-r-16{padding-right:16px !important}.pad-t-16{padding-top:16px !important}.pad-b-16{padding-bottom:16px !important}.mar-16{margin:16px !important}.mar-l-16{margin-left:16px !important}.mar-r-16{margin-right:16px !important}.mar-t-16{margin-top:16px !important}.mar-b-16{margin-bottom:16px !important}.pad-17{padding:17px !important}.pad-l-17{padding-left:17px !important}.pad-r-17{padding-right:17px !important}.pad-t-17{padding-top:17px !important}.pad-b-17{padding-bottom:17px !important}.mar-17{margin:17px !important}.mar-l-17{margin-left:17px !important}.mar-r-17{margin-right:17px !important}.mar-t-17{margin-top:17px !important}.mar-b-17{margin-bottom:17px !important}.pad-18{padding:18px !important}.pad-l-18{padding-left:18px !important}.pad-r-18{padding-right:18px !important}.pad-t-18{padding-top:18px !important}.pad-b-18{padding-bottom:18px !important}.mar-18{margin:18px !important}.mar-l-18{margin-left:18px !important}.mar-r-18{margin-right:18px !important}.mar-t-18{margin-top:18px !important}.mar-b-18{margin-bottom:18px !important}.pad-19{padding:19px !important}.pad-l-19{padding-left:19px !important}.pad-r-19{padding-right:19px !important}.pad-t-19{padding-top:19px !important}.pad-b-19{padding-bottom:19px !important}.mar-19{margin:19px !important}.mar-l-19{margin-left:19px !important}.mar-r-19{margin-right:19px !important}.mar-t-19{margin-top:19px !important}.mar-b-19{margin-bottom:19px !important}.pad-20{padding:20px !important}.pad-l-20{padding-left:20px !important}.pad-r-20{padding-right:20px !important}.pad-t-20{padding-top:20px !important}.pad-b-20{padding-bottom:20px !important}.mar-20{margin:20px !important}.mar-l-20{margin-left:20px !important}.mar-r-20{margin-right:20px !important}.mar-t-20{margin-top:20px !important}.mar-b-20{margin-bottom:20px !important}.pad-21{padding:21px !important}.pad-l-21{padding-left:21px !important}.pad-r-21{padding-right:21px !important}.pad-t-21{padding-top:21px !important}.pad-b-21{padding-bottom:21px !important}.mar-21{margin:21px !important}.mar-l-21{margin-left:21px !important}.mar-r-21{margin-right:21px !important}.mar-t-21{margin-top:21px !important}.mar-b-21{margin-bottom:21px !important}.pad-22{padding:22px !important}.pad-l-22{padding-left:22px !important}.pad-r-22{padding-right:22px !important}.pad-t-22{padding-top:22px !important}.pad-b-22{padding-bottom:22px !important}.mar-22{margin:22px !important}.mar-l-22{margin-left:22px !important}.mar-r-22{margin-right:22px !important}.mar-t-22{margin-top:22px !important}.mar-b-22{margin-bottom:22px !important}.pad-23{padding:23px !important}.pad-l-23{padding-left:23px !important}.pad-r-23{padding-right:23px !important}.pad-t-23{padding-top:23px !important}.pad-b-23{padding-bottom:23px !important}.mar-23{margin:23px !important}.mar-l-23{margin-left:23px !important}.mar-r-23{margin-right:23px !important}.mar-t-23{margin-top:23px !important}.mar-b-23{margin-bottom:23px !important}.pad-24{padding:24px !important}.pad-l-24{padding-left:24px !important}.pad-r-24{padding-right:24px !important}.pad-t-24{padding-top:24px !important}.pad-b-24{padding-bottom:24px !important}.mar-24{margin:24px !important}.mar-l-24{margin-left:24px !important}.mar-r-24{margin-right:24px !important}.mar-t-24{margin-top:24px !important}.mar-b-24{margin-bottom:24px !important}.pad-25{padding:25px !important}.pad-l-25{padding-left:25px !important}.pad-r-25{padding-right:25px !important}.pad-t-25{padding-top:25px !important}.pad-b-25{padding-bottom:25px !important}.mar-25{margin:25px !important}.mar-l-25{margin-left:25px !important}.mar-r-25{margin-right:25px !important}.mar-t-25{margin-top:25px !important}.mar-b-25{margin-bottom:25px !important}.pad-26{padding:26px !important}.pad-l-26{padding-left:26px !important}.pad-r-26{padding-right:26px !important}.pad-t-26{padding-top:26px !important}.pad-b-26{padding-bottom:26px !important}.mar-26{margin:26px !important}.mar-l-26{margin-left:26px !important}.mar-r-26{margin-right:26px !important}.mar-t-26{margin-top:26px !important}.mar-b-26{margin-bottom:26px !important}.pad-27{padding:27px !important}.pad-l-27{padding-left:27px !important}.pad-r-27{padding-right:27px !important}.pad-t-27{padding-top:27px !important}.pad-b-27{padding-bottom:27px !important}.mar-27{margin:27px !important}.mar-l-27{margin-left:27px !important}.mar-r-27{margin-right:27px !important}.mar-t-27{margin-top:27px !important}.mar-b-27{margin-bottom:27px !important}.pad-28{padding:28px !important}.pad-l-28{padding-left:28px !important}.pad-r-28{padding-right:28px !important}.pad-t-28{padding-top:28px !important}.pad-b-28{padding-bottom:28px !important}.mar-28{margin:28px !important}.mar-l-28{margin-left:28px !important}.mar-r-28{margin-right:28px !important}.mar-t-28{margin-top:28px !important}.mar-b-28{margin-bottom:28px !important}.pad-29{padding:29px !important}.pad-l-29{padding-left:29px !important}.pad-r-29{padding-right:29px !important}.pad-t-29{padding-top:29px !important}.pad-b-29{padding-bottom:29px !important}.mar-29{margin:29px !important}.mar-l-29{margin-left:29px !important}.mar-r-29{margin-right:29px !important}.mar-t-29{margin-top:29px !important}.mar-b-29{margin-bottom:29px !important}.pad-30{padding:30px !important}.pad-l-30{padding-left:30px !important}.pad-r-30{padding-right:30px !important}.pad-t-30{padding-top:30px !important}.pad-b-30{padding-bottom:30px !important}.mar-30{margin:30px !important}.mar-l-30{margin-left:30px !important}.mar-r-30{margin-right:30px !important}.mar-t-30{margin-top:30px !important}.mar-b-30{margin-bottom:30px !important}.pad-31{padding:31px !important}.pad-l-31{padding-left:31px !important}.pad-r-31{padding-right:31px !important}.pad-t-31{padding-top:31px !important}.pad-b-31{padding-bottom:31px !important}.mar-31{margin:31px !important}.mar-l-31{margin-left:31px !important}.mar-r-31{margin-right:31px !important}.mar-t-31{margin-top:31px !important}.mar-b-31{margin-bottom:31px !important}.pad-32{padding:32px !important}.pad-l-32{padding-left:32px !important}.pad-r-32{padding-right:32px !important}.pad-t-32{padding-top:32px !important}.pad-b-32{padding-bottom:32px !important}.mar-32{margin:32px !important}.mar-l-32{margin-left:32px !important}.mar-r-32{margin-right:32px !important}.mar-t-32{margin-top:32px !important}.mar-b-32{margin-bottom:32px !important}.pad-33{padding:33px !important}.pad-l-33{padding-left:33px !important}.pad-r-33{padding-right:33px !important}.pad-t-33{padding-top:33px !important}.pad-b-33{padding-bottom:33px !important}.mar-33{margin:33px !important}.mar-l-33{margin-left:33px !important}.mar-r-33{margin-right:33px !important}.mar-t-33{margin-top:33px !important}.mar-b-33{margin-bottom:33px !important}.pad-34{padding:34px !important}.pad-l-34{padding-left:34px !important}.pad-r-34{padding-right:34px !important}.pad-t-34{padding-top:34px !important}.pad-b-34{padding-bottom:34px !important}.mar-34{margin:34px !important}.mar-l-34{margin-left:34px !important}.mar-r-34{margin-right:34px !important}.mar-t-34{margin-top:34px !important}.mar-b-34{margin-bottom:34px !important}.pad-35{padding:35px !important}.pad-l-35{padding-left:35px !important}.pad-r-35{padding-right:35px !important}.pad-t-35{padding-top:35px !important}.pad-b-35{padding-bottom:35px !important}.mar-35{margin:35px !important}.mar-l-35{margin-left:35px !important}.mar-r-35{margin-right:35px !important}.mar-t-35{margin-top:35px !important}.mar-b-35{margin-bottom:35px !important}.pad-36{padding:36px !important}.pad-l-36{padding-left:36px !important}.pad-r-36{padding-right:36px !important}.pad-t-36{padding-top:36px !important}.pad-b-36{padding-bottom:36px !important}.mar-36{margin:36px !important}.mar-l-36{margin-left:36px !important}.mar-r-36{margin-right:36px !important}.mar-t-36{margin-top:36px !important}.mar-b-36{margin-bottom:36px !important}.pad-37{padding:37px !important}.pad-l-37{padding-left:37px !important}.pad-r-37{padding-right:37px !important}.pad-t-37{padding-top:37px !important}.pad-b-37{padding-bottom:37px !important}.mar-37{margin:37px !important}.mar-l-37{margin-left:37px !important}.mar-r-37{margin-right:37px !important}.mar-t-37{margin-top:37px !important}.mar-b-37{margin-bottom:37px !important}.pad-38{padding:38px !important}.pad-l-38{padding-left:38px !important}.pad-r-38{padding-right:38px !important}.pad-t-38{padding-top:38px !important}.pad-b-38{padding-bottom:38px !important}.mar-38{margin:38px !important}.mar-l-38{margin-left:38px !important}.mar-r-38{margin-right:38px !important}.mar-t-38{margin-top:38px !important}.mar-b-38{margin-bottom:38px !important}.pad-39{padding:39px !important}.pad-l-39{padding-left:39px !important}.pad-r-39{padding-right:39px !important}.pad-t-39{padding-top:39px !important}.pad-b-39{padding-bottom:39px !important}.mar-39{margin:39px !important}.mar-l-39{margin-left:39px !important}.mar-r-39{margin-right:39px !important}.mar-t-39{margin-top:39px !important}.mar-b-39{margin-bottom:39px !important}.pad-40{padding:40px !important}.pad-l-40{padding-left:40px !important}.pad-r-40{padding-right:40px !important}.pad-t-40{padding-top:40px !important}.pad-b-40{padding-bottom:40px !important}.mar-40{margin:40px !important}.mar-l-40{margin-left:40px !important}.mar-r-40{margin-right:40px !important}.mar-t-40{margin-top:40px !important}.mar-b-40{margin-bottom:40px !important}.pad-41{padding:41px !important}.pad-l-41{padding-left:41px !important}.pad-r-41{padding-right:41px !important}.pad-t-41{padding-top:41px !important}.pad-b-41{padding-bottom:41px !important}.mar-41{margin:41px !important}.mar-l-41{margin-left:41px !important}.mar-r-41{margin-right:41px !important}.mar-t-41{margin-top:41px !important}.mar-b-41{margin-bottom:41px !important}.pad-42{padding:42px !important}.pad-l-42{padding-left:42px !important}.pad-r-42{padding-right:42px !important}.pad-t-42{padding-top:42px !important}.pad-b-42{padding-bottom:42px !important}.mar-42{margin:42px !important}.mar-l-42{margin-left:42px !important}.mar-r-42{margin-right:42px !important}.mar-t-42{margin-top:42px !important}.mar-b-42{margin-bottom:42px !important}.pad-43{padding:43px !important}.pad-l-43{padding-left:43px !important}.pad-r-43{padding-right:43px !important}.pad-t-43{padding-top:43px !important}.pad-b-43{padding-bottom:43px !important}.mar-43{margin:43px !important}.mar-l-43{margin-left:43px !important}.mar-r-43{margin-right:43px !important}.mar-t-43{margin-top:43px !important}.mar-b-43{margin-bottom:43px !important}.pad-44{padding:44px !important}.pad-l-44{padding-left:44px !important}.pad-r-44{padding-right:44px !important}.pad-t-44{padding-top:44px !important}.pad-b-44{padding-bottom:44px !important}.mar-44{margin:44px !important}.mar-l-44{margin-left:44px !important}.mar-r-44{margin-right:44px !important}.mar-t-44{margin-top:44px !important}.mar-b-44{margin-bottom:44px !important}.pad-45{padding:45px !important}.pad-l-45{padding-left:45px !important}.pad-r-45{padding-right:45px !important}.pad-t-45{padding-top:45px !important}.pad-b-45{padding-bottom:45px !important}.mar-45{margin:45px !important}.mar-l-45{margin-left:45px !important}.mar-r-45{margin-right:45px !important}.mar-t-45{margin-top:45px !important}.mar-b-45{margin-bottom:45px !important}.pad-46{padding:46px !important}.pad-l-46{padding-left:46px !important}.pad-r-46{padding-right:46px !important}.pad-t-46{padding-top:46px !important}.pad-b-46{padding-bottom:46px !important}.mar-46{margin:46px !important}.mar-l-46{margin-left:46px !important}.mar-r-46{margin-right:46px !important}.mar-t-46{margin-top:46px !important}.mar-b-46{margin-bottom:46px !important}.pad-47{padding:47px !important}.pad-l-47{padding-left:47px !important}.pad-r-47{padding-right:47px !important}.pad-t-47{padding-top:47px !important}.pad-b-47{padding-bottom:47px !important}.mar-47{margin:47px !important}.mar-l-47{margin-left:47px !important}.mar-r-47{margin-right:47px !important}.mar-t-47{margin-top:47px !important}.mar-b-47{margin-bottom:47px !important}.pad-48{padding:48px !important}.pad-l-48{padding-left:48px !important}.pad-r-48{padding-right:48px !important}.pad-t-48{padding-top:48px !important}.pad-b-48{padding-bottom:48px !important}.mar-48{margin:48px !important}.mar-l-48{margin-left:48px !important}.mar-r-48{margin-right:48px !important}.mar-t-48{margin-top:48px !important}.mar-b-48{margin-bottom:48px !important}.pad-49{padding:49px !important}.pad-l-49{padding-left:49px !important}.pad-r-49{padding-right:49px !important}.pad-t-49{padding-top:49px !important}.pad-b-49{padding-bottom:49px !important}.mar-49{margin:49px !important}.mar-l-49{margin-left:49px !important}.mar-r-49{margin-right:49px !important}.mar-t-49{margin-top:49px !important}.mar-b-49{margin-bottom:49px !important}.ta-center{text-align:center}.bcolor-pl{background-color:#80d6ff}.bcolor-p{background-color:#42a5f5}.bcolor-pd{background-color:#0077c2}.bcolor-sl{background-color:#ffe766}.bcolor-s{background-color:gold}.bcolor-sd{background-color:#998100}.bcolor-c{background-color:#090}.bcolor-e{background-color:#f44}.problem-info{float:right;width:300px;position:relative;transition:left 1s ease-in-out}.problem-description h2{margin-top:24px}.problem-description .example-container{width:100%;display:block;float:right}.problem-description .example-container .example{margin-top:12px;display:grid;grid-template-columns:1fr 1fr;box-shadow:0px 2px 6px .5px rgba(0,0,0,.5)}.problem-description .example-container .example>pre{box-shadow:none;min-height:14rem;padding:12px;overflow:auto}.problem-description .example-container .example>pre:first-child{border-right:2px solid #888}.sidebar-problem-list{z-index:50;box-shadow:0 10px 0 0 transparent,0 10px 0 0 transparent,10px 0 0 0 transparent,0 8px 8px 2px rgba(0,0,0,.5);background:#003252;position:relative;min-height:calc(100vh - 47px);transition:left 500ms ease-in-out}.sidebar-problem-list .sidebar-problem{width:100%;display:grid;grid-template-columns:32px 1fr;border-left-width:24px;border-left-style:solid;border-left-color:#0077c2;transition:background-color 200ms ease-in-out;transition:width 200ms ease-in-out;background-color:inherit;cursor:pointer}.sidebar-problem-list .sidebar-problem[correct]{border-left-color:lime}.sidebar-problem-list .sidebar-problem[wrong]{border-left-color:red}.sidebar-problem-list .sidebar-problem[selected],.sidebar-problem-list .sidebar-problem:hover{width:calc(100% + 24px)}.sidebar-problem-list .sidebar-problem[selected]{background-color:#42a5f5 !important}.sidebar-problem-list .sidebar-problem:hover{background-color:#128ef2}.sidebar-problem-list .sidebar-problem-letter{text-align:center;background-color:#001929;padding-top:20px;padding-bottom:20px;font-size:1.2rem}.sidebar-problem-list .sidebar-problem-name{text-align:left;font-size:1.2rem;padding-left:5px;padding-top:20px;padding-bottom:20px;margin-left:10px;margin-right:10px}.progressbar{box-shadow:0px 2px 6px .5px rgba(0,0,0,.5);background:#444;height:32px;width:100%}.progressbar .progressbar-meter{background:#ffe766;height:32px;transition:width ease-in-out 1s}.progressbar .progressbar-labels{position:relative;width:100%}.progressbar .progressbar-labels *{position:absolute}.progressbar .progressbar-labels :first-child{top:-20px;left:0}.progressbar .progressbar-labels :last-child{top:-20px;right:0}.leaderboard{box-shadow:0px 2px 6px .5px rgba(0,0,0,.5);text-align:center;font-size:1.2rem;position:relative}.leaderboard .placement,.leaderboard .placement-labels{position:absolute;width:100%;top:0;left:0;display:grid;grid-template-columns:1fr 7fr 10fr 3fr}.leaderboard .placement .problem,.leaderboard .placement-labels .problem{display:grid}.leaderboard .placement-labels{background:#42a5f5;font-size:1.4rem;padding:4px}.leaderboard .placement{transition:all 750ms ease-in-out;padding:0 4px;line-height:36px}.leaderboard .placement:nth-child(even){background:#0077c2}.leaderboard .placement:nth-child(odd){background:#00385c}.leaderboard .placement.user{background:#ffe766;color:#000}.leaderboard .placement :first-child{font-size:1.2rem}.leaderboard .placement .problem>div{padding:4px;line-height:18px}.leaderboard .placement .problem>div :first-child{font-size:1.2rem}.leaderboard .placement .problem>div :last-child{font-size:.8rem}.leaderboard .placement .problem>div.correct{background:#50ff50;color:#000}.leaderboard .placement .problem>div.wrong{background:#ff5050;color:#000}.leaderboard .placement .problem>div.attempted{background:#999;color:#000}.rect-auto,.c100.p100 .slice,.c100.p99 .slice,.c100.p98 .slice,.c100.p97 .slice,.c100.p96 .slice,.c100.p95 .slice,.c100.p94 .slice,.c100.p93 .slice,.c100.p92 .slice,.c100.p91 .slice,.c100.p90 .slice,.c100.p89 .slice,.c100.p88 .slice,.c100.p87 .slice,.c100.p86 .slice,.c100.p85 .slice,.c100.p84 .slice,.c100.p83 .slice,.c100.p82 .slice,.c100.p81 .slice,.c100.p80 .slice,.c100.p79 .slice,.c100.p78 .slice,.c100.p77 .slice,.c100.p76 .slice,.c100.p75 .slice,.c100.p74 .slice,.c100.p73 .slice,.c100.p72 .slice,.c100.p71 .slice,.c100.p70 .slice,.c100.p69 .slice,.c100.p68 .slice,.c100.p67 .slice,.c100.p66 .slice,.c100.p65 .slice,.c100.p64 .slice,.c100.p63 .slice,.c100.p62 .slice,.c100.p61 .slice,.c100.p60 .slice,.c100.p59 .slice,.c100.p58 .slice,.c100.p57 .slice,.c100.p56 .slice,.c100.p55 .slice,.c100.p54 .slice,.c100.p53 .slice,.c100.p52 .slice,.c100.p51 .slice{clip:rect(auto, auto, auto, auto)}.pie,.c100.p100 .fill,.c100.p99 .fill,.c100.p98 .fill,.c100.p97 .fill,.c100.p96 .fill,.c100.p95 .fill,.c100.p94 .fill,.c100.p93 .fill,.c100.p92 .fill,.c100.p91 .fill,.c100.p90 .fill,.c100.p89 .fill,.c100.p88 .fill,.c100.p87 .fill,.c100.p86 .fill,.c100.p85 .fill,.c100.p84 .fill,.c100.p83 .fill,.c100.p82 .fill,.c100.p81 .fill,.c100.p80 .fill,.c100.p79 .fill,.c100.p78 .fill,.c100.p77 .fill,.c100.p76 .fill,.c100.p75 .fill,.c100.p74 .fill,.c100.p73 .fill,.c100.p72 .fill,.c100.p71 .fill,.c100.p70 .fill,.c100.p69 .fill,.c100.p68 .fill,.c100.p67 .fill,.c100.p66 .fill,.c100.p65 .fill,.c100.p64 .fill,.c100.p63 .fill,.c100.p62 .fill,.c100.p61 .fill,.c100.p60 .fill,.c100.p59 .fill,.c100.p58 .fill,.c100.p57 .fill,.c100.p56 .fill,.c100.p55 .fill,.c100.p54 .fill,.c100.p53 .fill,.c100.p52 .fill,.c100.p51 .fill,.c100 .bar{position:absolute;border:.08em solid #307bbb;width:.84em;height:.84em;clip:rect(0em, 0.5em, 1em, 0em);border-radius:50%;-webkit-transform:rotate(0deg);-moz-transform:rotate(0deg);-ms-transform:rotate(0deg);-o-transform:rotate(0deg);transform:rotate(0deg)}.pie-fill,.c100.p100 .fill,.c100.p100.bar:after,.c100.p99 .fill,.c100.p99.bar:after,.c100.p98 .fill,.c100.p98.bar:after,.c100.p97 .fill,.c100.p97.bar:after,.c100.p96 .fill,.c100.p96.bar:after,.c100.p95 .fill,.c100.p95.bar:after,.c100.p94 .fill,.c100.p94.bar:after,.c100.p93 .fill,.c100.p93.bar:after,.c100.p92 .fill,.c100.p92.bar:after,.c100.p91 .fill,.c100.p91.bar:after,.c100.p90 .fill,.c100.p90.bar:after,.c100.p89 .fill,.c100.p89.bar:after,.c100.p88 .fill,.c100.p88.bar:after,.c100.p87 .fill,.c100.p87.bar:after,.c100.p86 .fill,.c100.p86.bar:after,.c100.p85 .fill,.c100.p85.bar:after,.c100.p84 .fill,.c100.p84.bar:after,.c100.p83 .fill,.c100.p83.bar:after,.c100.p82 .fill,.c100.p82.bar:after,.c100.p81 .fill,.c100.p81.bar:after,.c100.p80 .fill,.c100.p80.bar:after,.c100.p79 .fill,.c100.p79.bar:after,.c100.p78 .fill,.c100.p78.bar:after,.c100.p77 .fill,.c100.p77.bar:after,.c100.p76 .fill,.c100.p76.bar:after,.c100.p75 .fill,.c100.p75.bar:after,.c100.p74 .fill,.c100.p74.bar:after,.c100.p73 .fill,.c100.p73.bar:after,.c100.p72 .fill,.c100.p72.bar:after,.c100.p71 .fill,.c100.p71.bar:after,.c100.p70 .fill,.c100.p70.bar:after,.c100.p69 .fill,.c100.p69.bar:after,.c100.p68 .fill,.c100.p68.bar:after,.c100.p67 .fill,.c100.p67.bar:after,.c100.p66 .fill,.c100.p66.bar:after,.c100.p65 .fill,.c100.p65.bar:after,.c100.p64 .fill,.c100.p64.bar:after,.c100.p63 .fill,.c100.p63.bar:after,.c100.p62 .fill,.c100.p62.bar:after,.c100.p61 .fill,.c100.p61.bar:after,.c100.p60 .fill,.c100.p60.bar:after,.c100.p59 .fill,.c100.p59.bar:after,.c100.p58 .fill,.c100.p58.bar:after,.c100.p57 .fill,.c100.p57.bar:after,.c100.p56 .fill,.c100.p56.bar:after,.c100.p55 .fill,.c100.p55.bar:after,.c100.p54 .fill,.c100.p54.bar:after,.c100.p53 .fill,.c100.p53.bar:after,.c100.p52 .fill,.c100.p52.bar:after,.c100.p51 .fill,.c100.p51.bar:after{-webkit-transform:rotate(180deg);-moz-transform:rotate(180deg);-ms-transform:rotate(180deg);-o-transform:rotate(180deg);transform:rotate(180deg)}.c100{position:relative;font-size:120px;width:1em;height:1em;border-radius:50%;float:left;background-color:#ccc}.c100 *,.c100 *:before,.c100 *:after{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}.c100.center{float:none;margin:0 auto}.c100.big{font-size:240px}.c100.small{font-size:80px}.c100>span{position:absolute;width:100%;z-index:1;left:0;top:0;width:5em;line-height:5em;font-size:.2em;color:#ccc;display:block;text-align:center;white-space:nowrap;-webkit-transition-property:all;-moz-transition-property:all;-o-transition-property:all;transition-property:all;-webkit-transition-duration:.2s;-moz-transition-duration:.2s;-o-transition-duration:.2s;transition-duration:.2s;-webkit-transition-timing-function:ease-out;-moz-transition-timing-function:ease-out;-o-transition-timing-function:ease-out;transition-timing-function:ease-out}.c100:after{position:absolute;top:.08em;left:.08em;display:block;content:" ";border-radius:50%;background-color:#f5f5f5;width:.84em;height:.84em;-webkit-transition-property:all;-moz-transition-property:all;-o-transition-property:all;transition-property:all;-webkit-transition-duration:.2s;-moz-transition-duration:.2s;-o-transition-duration:.2s;transition-duration:.2s;-webkit-transition-timing-function:ease-in;-moz-transition-timing-function:ease-in;-o-transition-timing-function:ease-in;transition-timing-function:ease-in}.c100 .slice{position:absolute;width:1em;height:1em;clip:rect(0em, 1em, 1em, 0.5em)}.c100.p1 .bar{-webkit-transform:rotate(3.6deg);-moz-transform:rotate(3.6deg);-ms-transform:rotate(3.6deg);-o-transform:rotate(3.6deg);transform:rotate(3.6deg)}.c100.p2 .bar{-webkit-transform:rotate(7.2deg);-moz-transform:rotate(7.2deg);-ms-transform:rotate(7.2deg);-o-transform:rotate(7.2deg);transform:rotate(7.2deg)}.c100.p3 .bar{-webkit-transform:rotate(10.8deg);-moz-transform:rotate(10.8deg);-ms-transform:rotate(10.8deg);-o-transform:rotate(10.8deg);transform:rotate(10.8deg)}.c100.p4 .bar{-webkit-transform:rotate(14.4deg);-moz-transform:rotate(14.4deg);-ms-transform:rotate(14.4deg);-o-transform:rotate(14.4deg);transform:rotate(14.4deg)}.c100.p5 .bar{-webkit-transform:rotate(18deg);-moz-transform:rotate(18deg);-ms-transform:rotate(18deg);-o-transform:rotate(18deg);transform:rotate(18deg)}.c100.p6 .bar{-webkit-transform:rotate(21.6deg);-moz-transform:rotate(21.6deg);-ms-transform:rotate(21.6deg);-o-transform:rotate(21.6deg);transform:rotate(21.6deg)}.c100.p7 .bar{-webkit-transform:rotate(25.2deg);-moz-transform:rotate(25.2deg);-ms-transform:rotate(25.2deg);-o-transform:rotate(25.2deg);transform:rotate(25.2deg)}.c100.p8 .bar{-webkit-transform:rotate(28.8deg);-moz-transform:rotate(28.8deg);-ms-transform:rotate(28.8deg);-o-transform:rotate(28.8deg);transform:rotate(28.8deg)}.c100.p9 .bar{-webkit-transform:rotate(32.4deg);-moz-transform:rotate(32.4deg);-ms-transform:rotate(32.4deg);-o-transform:rotate(32.4deg);transform:rotate(32.4deg)}.c100.p10 .bar{-webkit-transform:rotate(36deg);-moz-transform:rotate(36deg);-ms-transform:rotate(36deg);-o-transform:rotate(36deg);transform:rotate(36deg)}.c100.p11 .bar{-webkit-transform:rotate(39.6deg);-moz-transform:rotate(39.6deg);-ms-transform:rotate(39.6deg);-o-transform:rotate(39.6deg);transform:rotate(39.6deg)}.c100.p12 .bar{-webkit-transform:rotate(43.2deg);-moz-transform:rotate(43.2deg);-ms-transform:rotate(43.2deg);-o-transform:rotate(43.2deg);transform:rotate(43.2deg)}.c100.p13 .bar{-webkit-transform:rotate(46.8deg);-moz-transform:rotate(46.8deg);-ms-transform:rotate(46.8deg);-o-transform:rotate(46.8deg);transform:rotate(46.8deg)}.c100.p14 .bar{-webkit-transform:rotate(50.4deg);-moz-transform:rotate(50.4deg);-ms-transform:rotate(50.4deg);-o-transform:rotate(50.4deg);transform:rotate(50.4deg)}.c100.p15 .bar{-webkit-transform:rotate(54deg);-moz-transform:rotate(54deg);-ms-transform:rotate(54deg);-o-transform:rotate(54deg);transform:rotate(54deg)}.c100.p16 .bar{-webkit-transform:rotate(57.6deg);-moz-transform:rotate(57.6deg);-ms-transform:rotate(57.6deg);-o-transform:rotate(57.6deg);transform:rotate(57.6deg)}.c100.p17 .bar{-webkit-transform:rotate(61.2deg);-moz-transform:rotate(61.2deg);-ms-transform:rotate(61.2deg);-o-transform:rotate(61.2deg);transform:rotate(61.2deg)}.c100.p18 .bar{-webkit-transform:rotate(64.8deg);-moz-transform:rotate(64.8deg);-ms-transform:rotate(64.8deg);-o-transform:rotate(64.8deg);transform:rotate(64.8deg)}.c100.p19 .bar{-webkit-transform:rotate(68.4deg);-moz-transform:rotate(68.4deg);-ms-transform:rotate(68.4deg);-o-transform:rotate(68.4deg);transform:rotate(68.4deg)}.c100.p20 .bar{-webkit-transform:rotate(72deg);-moz-transform:rotate(72deg);-ms-transform:rotate(72deg);-o-transform:rotate(72deg);transform:rotate(72deg)}.c100.p21 .bar{-webkit-transform:rotate(75.6deg);-moz-transform:rotate(75.6deg);-ms-transform:rotate(75.6deg);-o-transform:rotate(75.6deg);transform:rotate(75.6deg)}.c100.p22 .bar{-webkit-transform:rotate(79.2deg);-moz-transform:rotate(79.2deg);-ms-transform:rotate(79.2deg);-o-transform:rotate(79.2deg);transform:rotate(79.2deg)}.c100.p23 .bar{-webkit-transform:rotate(82.8deg);-moz-transform:rotate(82.8deg);-ms-transform:rotate(82.8deg);-o-transform:rotate(82.8deg);transform:rotate(82.8deg)}.c100.p24 .bar{-webkit-transform:rotate(86.4deg);-moz-transform:rotate(86.4deg);-ms-transform:rotate(86.4deg);-o-transform:rotate(86.4deg);transform:rotate(86.4deg)}.c100.p25 .bar{-webkit-transform:rotate(90deg);-moz-transform:rotate(90deg);-ms-transform:rotate(90deg);-o-transform:rotate(90deg);transform:rotate(90deg)}.c100.p26 .bar{-webkit-transform:rotate(93.6deg);-moz-transform:rotate(93.6deg);-ms-transform:rotate(93.6deg);-o-transform:rotate(93.6deg);transform:rotate(93.6deg)}.c100.p27 .bar{-webkit-transform:rotate(97.2deg);-moz-transform:rotate(97.2deg);-ms-transform:rotate(97.2deg);-o-transform:rotate(97.2deg);transform:rotate(97.2deg)}.c100.p28 .bar{-webkit-transform:rotate(100.8deg);-moz-transform:rotate(100.8deg);-ms-transform:rotate(100.8deg);-o-transform:rotate(100.8deg);transform:rotate(100.8deg)}.c100.p29 .bar{-webkit-transform:rotate(104.4deg);-moz-transform:rotate(104.4deg);-ms-transform:rotate(104.4deg);-o-transform:rotate(104.4deg);transform:rotate(104.4deg)}.c100.p30 .bar{-webkit-transform:rotate(108deg);-moz-transform:rotate(108deg);-ms-transform:rotate(108deg);-o-transform:rotate(108deg);transform:rotate(108deg)}.c100.p31 .bar{-webkit-transform:rotate(111.6deg);-moz-transform:rotate(111.6deg);-ms-transform:rotate(111.6deg);-o-transform:rotate(111.6deg);transform:rotate(111.6deg)}.c100.p32 .bar{-webkit-transform:rotate(115.2deg);-moz-transform:rotate(115.2deg);-ms-transform:rotate(115.2deg);-o-transform:rotate(115.2deg);transform:rotate(115.2deg)}.c100.p33 .bar{-webkit-transform:rotate(118.8deg);-moz-transform:rotate(118.8deg);-ms-transform:rotate(118.8deg);-o-transform:rotate(118.8deg);transform:rotate(118.8deg)}.c100.p34 .bar{-webkit-transform:rotate(122.4deg);-moz-transform:rotate(122.4deg);-ms-transform:rotate(122.4deg);-o-transform:rotate(122.4deg);transform:rotate(122.4deg)}.c100.p35 .bar{-webkit-transform:rotate(126deg);-moz-transform:rotate(126deg);-ms-transform:rotate(126deg);-o-transform:rotate(126deg);transform:rotate(126deg)}.c100.p36 .bar{-webkit-transform:rotate(129.6deg);-moz-transform:rotate(129.6deg);-ms-transform:rotate(129.6deg);-o-transform:rotate(129.6deg);transform:rotate(129.6deg)}.c100.p37 .bar{-webkit-transform:rotate(133.2deg);-moz-transform:rotate(133.2deg);-ms-transform:rotate(133.2deg);-o-transform:rotate(133.2deg);transform:rotate(133.2deg)}.c100.p38 .bar{-webkit-transform:rotate(136.8deg);-moz-transform:rotate(136.8deg);-ms-transform:rotate(136.8deg);-o-transform:rotate(136.8deg);transform:rotate(136.8deg)}.c100.p39 .bar{-webkit-transform:rotate(140.4deg);-moz-transform:rotate(140.4deg);-ms-transform:rotate(140.4deg);-o-transform:rotate(140.4deg);transform:rotate(140.4deg)}.c100.p40 .bar{-webkit-transform:rotate(144deg);-moz-transform:rotate(144deg);-ms-transform:rotate(144deg);-o-transform:rotate(144deg);transform:rotate(144deg)}.c100.p41 .bar{-webkit-transform:rotate(147.6deg);-moz-transform:rotate(147.6deg);-ms-transform:rotate(147.6deg);-o-transform:rotate(147.6deg);transform:rotate(147.6deg)}.c100.p42 .bar{-webkit-transform:rotate(151.2deg);-moz-transform:rotate(151.2deg);-ms-transform:rotate(151.2deg);-o-transform:rotate(151.2deg);transform:rotate(151.2deg)}.c100.p43 .bar{-webkit-transform:rotate(154.8deg);-moz-transform:rotate(154.8deg);-ms-transform:rotate(154.8deg);-o-transform:rotate(154.8deg);transform:rotate(154.8deg)}.c100.p44 .bar{-webkit-transform:rotate(158.4deg);-moz-transform:rotate(158.4deg);-ms-transform:rotate(158.4deg);-o-transform:rotate(158.4deg);transform:rotate(158.4deg)}.c100.p45 .bar{-webkit-transform:rotate(162deg);-moz-transform:rotate(162deg);-ms-transform:rotate(162deg);-o-transform:rotate(162deg);transform:rotate(162deg)}.c100.p46 .bar{-webkit-transform:rotate(165.6deg);-moz-transform:rotate(165.6deg);-ms-transform:rotate(165.6deg);-o-transform:rotate(165.6deg);transform:rotate(165.6deg)}.c100.p47 .bar{-webkit-transform:rotate(169.2deg);-moz-transform:rotate(169.2deg);-ms-transform:rotate(169.2deg);-o-transform:rotate(169.2deg);transform:rotate(169.2deg)}.c100.p48 .bar{-webkit-transform:rotate(172.8deg);-moz-transform:rotate(172.8deg);-ms-transform:rotate(172.8deg);-o-transform:rotate(172.8deg);transform:rotate(172.8deg)}.c100.p49 .bar{-webkit-transform:rotate(176.4deg);-moz-transform:rotate(176.4deg);-ms-transform:rotate(176.4deg);-o-transform:rotate(176.4deg);transform:rotate(176.4deg)}.c100.p50 .bar{-webkit-transform:rotate(180deg);-moz-transform:rotate(180deg);-ms-transform:rotate(180deg);-o-transform:rotate(180deg);transform:rotate(180deg)}.c100.p51 .bar{-webkit-transform:rotate(183.6deg);-moz-transform:rotate(183.6deg);-ms-transform:rotate(183.6deg);-o-transform:rotate(183.6deg);transform:rotate(183.6deg)}.c100.p52 .bar{-webkit-transform:rotate(187.2deg);-moz-transform:rotate(187.2deg);-ms-transform:rotate(187.2deg);-o-transform:rotate(187.2deg);transform:rotate(187.2deg)}.c100.p53 .bar{-webkit-transform:rotate(190.8deg);-moz-transform:rotate(190.8deg);-ms-transform:rotate(190.8deg);-o-transform:rotate(190.8deg);transform:rotate(190.8deg)}.c100.p54 .bar{-webkit-transform:rotate(194.4deg);-moz-transform:rotate(194.4deg);-ms-transform:rotate(194.4deg);-o-transform:rotate(194.4deg);transform:rotate(194.4deg)}.c100.p55 .bar{-webkit-transform:rotate(198deg);-moz-transform:rotate(198deg);-ms-transform:rotate(198deg);-o-transform:rotate(198deg);transform:rotate(198deg)}.c100.p56 .bar{-webkit-transform:rotate(201.6deg);-moz-transform:rotate(201.6deg);-ms-transform:rotate(201.6deg);-o-transform:rotate(201.6deg);transform:rotate(201.6deg)}.c100.p57 .bar{-webkit-transform:rotate(205.2deg);-moz-transform:rotate(205.2deg);-ms-transform:rotate(205.2deg);-o-transform:rotate(205.2deg);transform:rotate(205.2deg)}.c100.p58 .bar{-webkit-transform:rotate(208.8deg);-moz-transform:rotate(208.8deg);-ms-transform:rotate(208.8deg);-o-transform:rotate(208.8deg);transform:rotate(208.8deg)}.c100.p59 .bar{-webkit-transform:rotate(212.4deg);-moz-transform:rotate(212.4deg);-ms-transform:rotate(212.4deg);-o-transform:rotate(212.4deg);transform:rotate(212.4deg)}.c100.p60 .bar{-webkit-transform:rotate(216deg);-moz-transform:rotate(216deg);-ms-transform:rotate(216deg);-o-transform:rotate(216deg);transform:rotate(216deg)}.c100.p61 .bar{-webkit-transform:rotate(219.6deg);-moz-transform:rotate(219.6deg);-ms-transform:rotate(219.6deg);-o-transform:rotate(219.6deg);transform:rotate(219.6deg)}.c100.p62 .bar{-webkit-transform:rotate(223.2deg);-moz-transform:rotate(223.2deg);-ms-transform:rotate(223.2deg);-o-transform:rotate(223.2deg);transform:rotate(223.2deg)}.c100.p63 .bar{-webkit-transform:rotate(226.8deg);-moz-transform:rotate(226.8deg);-ms-transform:rotate(226.8deg);-o-transform:rotate(226.8deg);transform:rotate(226.8deg)}.c100.p64 .bar{-webkit-transform:rotate(230.4deg);-moz-transform:rotate(230.4deg);-ms-transform:rotate(230.4deg);-o-transform:rotate(230.4deg);transform:rotate(230.4deg)}.c100.p65 .bar{-webkit-transform:rotate(234deg);-moz-transform:rotate(234deg);-ms-transform:rotate(234deg);-o-transform:rotate(234deg);transform:rotate(234deg)}.c100.p66 .bar{-webkit-transform:rotate(237.6deg);-moz-transform:rotate(237.6deg);-ms-transform:rotate(237.6deg);-o-transform:rotate(237.6deg);transform:rotate(237.6deg)}.c100.p67 .bar{-webkit-transform:rotate(241.2deg);-moz-transform:rotate(241.2deg);-ms-transform:rotate(241.2deg);-o-transform:rotate(241.2deg);transform:rotate(241.2deg)}.c100.p68 .bar{-webkit-transform:rotate(244.8deg);-moz-transform:rotate(244.8deg);-ms-transform:rotate(244.8deg);-o-transform:rotate(244.8deg);transform:rotate(244.8deg)}.c100.p69 .bar{-webkit-transform:rotate(248.4deg);-moz-transform:rotate(248.4deg);-ms-transform:rotate(248.4deg);-o-transform:rotate(248.4deg);transform:rotate(248.4deg)}.c100.p70 .bar{-webkit-transform:rotate(252deg);-moz-transform:rotate(252deg);-ms-transform:rotate(252deg);-o-transform:rotate(252deg);transform:rotate(252deg)}.c100.p71 .bar{-webkit-transform:rotate(255.6deg);-moz-transform:rotate(255.6deg);-ms-transform:rotate(255.6deg);-o-transform:rotate(255.6deg);transform:rotate(255.6deg)}.c100.p72 .bar{-webkit-transform:rotate(259.2deg);-moz-transform:rotate(259.2deg);-ms-transform:rotate(259.2deg);-o-transform:rotate(259.2deg);transform:rotate(259.2deg)}.c100.p73 .bar{-webkit-transform:rotate(262.8deg);-moz-transform:rotate(262.8deg);-ms-transform:rotate(262.8deg);-o-transform:rotate(262.8deg);transform:rotate(262.8deg)}.c100.p74 .bar{-webkit-transform:rotate(266.4deg);-moz-transform:rotate(266.4deg);-ms-transform:rotate(266.4deg);-o-transform:rotate(266.4deg);transform:rotate(266.4deg)}.c100.p75 .bar{-webkit-transform:rotate(270deg);-moz-transform:rotate(270deg);-ms-transform:rotate(270deg);-o-transform:rotate(270deg);transform:rotate(270deg)}.c100.p76 .bar{-webkit-transform:rotate(273.6deg);-moz-transform:rotate(273.6deg);-ms-transform:rotate(273.6deg);-o-transform:rotate(273.6deg);transform:rotate(273.6deg)}.c100.p77 .bar{-webkit-transform:rotate(277.2deg);-moz-transform:rotate(277.2deg);-ms-transform:rotate(277.2deg);-o-transform:rotate(277.2deg);transform:rotate(277.2deg)}.c100.p78 .bar{-webkit-transform:rotate(280.8deg);-moz-transform:rotate(280.8deg);-ms-transform:rotate(280.8deg);-o-transform:rotate(280.8deg);transform:rotate(280.8deg)}.c100.p79 .bar{-webkit-transform:rotate(284.4deg);-moz-transform:rotate(284.4deg);-ms-transform:rotate(284.4deg);-o-transform:rotate(284.4deg);transform:rotate(284.4deg)}.c100.p80 .bar{-webkit-transform:rotate(288deg);-moz-transform:rotate(288deg);-ms-transform:rotate(288deg);-o-transform:rotate(288deg);transform:rotate(288deg)}.c100.p81 .bar{-webkit-transform:rotate(291.6deg);-moz-transform:rotate(291.6deg);-ms-transform:rotate(291.6deg);-o-transform:rotate(291.6deg);transform:rotate(291.6deg)}.c100.p82 .bar{-webkit-transform:rotate(295.2deg);-moz-transform:rotate(295.2deg);-ms-transform:rotate(295.2deg);-o-transform:rotate(295.2deg);transform:rotate(295.2deg)}.c100.p83 .bar{-webkit-transform:rotate(298.8deg);-moz-transform:rotate(298.8deg);-ms-transform:rotate(298.8deg);-o-transform:rotate(298.8deg);transform:rotate(298.8deg)}.c100.p84 .bar{-webkit-transform:rotate(302.4deg);-moz-transform:rotate(302.4deg);-ms-transform:rotate(302.4deg);-o-transform:rotate(302.4deg);transform:rotate(302.4deg)}.c100.p85 .bar{-webkit-transform:rotate(306deg);-moz-transform:rotate(306deg);-ms-transform:rotate(306deg);-o-transform:rotate(306deg);transform:rotate(306deg)}.c100.p86 .bar{-webkit-transform:rotate(309.6deg);-moz-transform:rotate(309.6deg);-ms-transform:rotate(309.6deg);-o-transform:rotate(309.6deg);transform:rotate(309.6deg)}.c100.p87 .bar{-webkit-transform:rotate(313.2deg);-moz-transform:rotate(313.2deg);-ms-transform:rotate(313.2deg);-o-transform:rotate(313.2deg);transform:rotate(313.2deg)}.c100.p88 .bar{-webkit-transform:rotate(316.8deg);-moz-transform:rotate(316.8deg);-ms-transform:rotate(316.8deg);-o-transform:rotate(316.8deg);transform:rotate(316.8deg)}.c100.p89 .bar{-webkit-transform:rotate(320.4deg);-moz-transform:rotate(320.4deg);-ms-transform:rotate(320.4deg);-o-transform:rotate(320.4deg);transform:rotate(320.4deg)}.c100.p90 .bar{-webkit-transform:rotate(324deg);-moz-transform:rotate(324deg);-ms-transform:rotate(324deg);-o-transform:rotate(324deg);transform:rotate(324deg)}.c100.p91 .bar{-webkit-transform:rotate(327.6deg);-moz-transform:rotate(327.6deg);-ms-transform:rotate(327.6deg);-o-transform:rotate(327.6deg);transform:rotate(327.6deg)}.c100.p92 .bar{-webkit-transform:rotate(331.2deg);-moz-transform:rotate(331.2deg);-ms-transform:rotate(331.2deg);-o-transform:rotate(331.2deg);transform:rotate(331.2deg)}.c100.p93 .bar{-webkit-transform:rotate(334.8deg);-moz-transform:rotate(334.8deg);-ms-transform:rotate(334.8deg);-o-transform:rotate(334.8deg);transform:rotate(334.8deg)}.c100.p94 .bar{-webkit-transform:rotate(338.4deg);-moz-transform:rotate(338.4deg);-ms-transform:rotate(338.4deg);-o-transform:rotate(338.4deg);transform:rotate(338.4deg)}.c100.p95 .bar{-webkit-transform:rotate(342deg);-moz-transform:rotate(342deg);-ms-transform:rotate(342deg);-o-transform:rotate(342deg);transform:rotate(342deg)}.c100.p96 .bar{-webkit-transform:rotate(345.6deg);-moz-transform:rotate(345.6deg);-ms-transform:rotate(345.6deg);-o-transform:rotate(345.6deg);transform:rotate(345.6deg)}.c100.p97 .bar{-webkit-transform:rotate(349.2deg);-moz-transform:rotate(349.2deg);-ms-transform:rotate(349.2deg);-o-transform:rotate(349.2deg);transform:rotate(349.2deg)}.c100.p98 .bar{-webkit-transform:rotate(352.8deg);-moz-transform:rotate(352.8deg);-ms-transform:rotate(352.8deg);-o-transform:rotate(352.8deg);transform:rotate(352.8deg)}.c100.p99 .bar{-webkit-transform:rotate(356.4deg);-moz-transform:rotate(356.4deg);-ms-transform:rotate(356.4deg);-o-transform:rotate(356.4deg);transform:rotate(356.4deg)}.c100.p100 .bar{-webkit-transform:rotate(360deg);-moz-transform:rotate(360deg);-ms-transform:rotate(360deg);-o-transform:rotate(360deg);transform:rotate(360deg)}.c100:hover{cursor:default}.c100:hover>span{width:3.33em;line-height:3.33em;font-size:.3em;color:#307bbb}.c100:hover:after{top:.04em;left:.04em;width:.92em;height:.92em}.c100.dark{background-color:#0077c2}.c100.dark .bar,.c100.dark .fill{border-color:#80d6ff !important}.c100.dark>span{color:#0077c2}.c100.dark:after{background-color:#111}.c100.dark:hover>span{color:#80d6ff}.c100.error{background-color:#700}.c100.error .bar,.c100.error .fill{border-color:#d00 !important}.c100.error:hover>span{color:#d00}.c100.error>span{color:#700}.c100.success{background-color:#000}.c100.success .bar,.c100.success .fill{border-color:lime !important}.c100.success:hover>span{color:lime}.c100.success>span{color:#090}*{margin:0;padding:0;box-sizing:border-box}:root{font-size:16px}h1{width:100%;margin-top:12px;text-align:center}body{font-family:sans-serif;background:url(/static/imgs/grain_background.png);background-color:#111;background-repeat:repeat;color:#fff}button,a.button{box-shadow:0px 2px 6px .5px rgba(0,0,0,.7);border:1px solid #0077c2;background-color:#0077c2;color:#fff;font-size:1rem;padding:.75rem;margin-bottom:12px;display:inline-block;cursor:pointer;transition:background .2s}button+button,button+a.button,a.button+button,a.button+a.button{margin-left:12px}button:hover,a.button:hover{background-color:#42a5f5}input,textarea,select{border:none;background-color:#111;color:#fff;font-size:1rem;display:inline-block;padding:.25rem}input::placeholder,textarea::placeholder,select::placeholder{color:#999}input[type=submit]{cursor:pointer;background-color:#0077c2}form input,form textarea,form select{z-index:20;box-shadow:0px 2px 6px .5px rgba(0,0,0,.7);padding:.75rem;width:100%}form input~label,form textarea~label,form select~label{margin-top:24px}form textarea{background-color:#111;height:50vh}form label{z-index:30;box-shadow:0px 2px 6px .5px rgba(0,0,0,.7);background-color:#0077c2;width:100%;line-height:44px;display:inline-block;padding:4px 12px 4px;margin-top:12px}.error-list ul li{box-shadow:0px 2px 6px .5px rgba(0,0,0,.5);list-style:none;background-color:#998100;padding:.5rem;margin-bottom:.5rem}.error-list ul li.success{background-color:#0077c2}.split{display:grid;grid-template-columns:1fr 1fr}.test-case{outline:none;box-shadow:0px 2px 6px .5px rgba(0,0,0,.5);resize:none;border:none;height:200px;padding:8px;background-color:#111;color:#fff}.test-case:first-child{border-right:2px solid #0077c2}.header-line,.option-line{box-shadow:0px 2px 6px .5px rgba(0,0,0,.5);background-color:#0077c2;padding:4px 12px 4px;margin-top:12px;display:inline-block;width:100%}.header-line>*,.option-line>*{line-height:44px;display:inline-block}.option-line{display:grid;grid-template-columns:1fr 1fr}.option-line>*:last-child{text-align:right}.button-list>*{margin:0px 8px 0px;background-color:#42a5f5;box-shadow:none;border:none;color:#fff;font-size:1rem;line-height:1.2rem;padding:4px 12px 4px;display:inline-block;cursor:pointer}.sidebar-page-container{display:grid;grid-template-columns:minmax(250px, 1fr) 5fr}#code-editor{position:relative;width:100%;min-height:56rem}.problem-description{font-size:1.2rem}/*# sourceMappingURL=core.css.map */
index f3ed07f729916b65bed46c7ed0c1e1e833ace72a..7e7f56be92f0d92684220ea836c1cf251901cee0 100644 (file)
@@ -1 +1 @@
-{"version":3,"sourceRoot":"","sources":["../scss/_navbar.scss","../scss/_vars.scss","../scss/_utils.scss","../scss/_elevate.scss","../scss/problem/_info.scss","../scss/problem/_sidebar.scss","../scss/leaderboard/_leaderboard.scss","../scss/vendor/circle.scss","../scss/vendor/_mixins.scss","../scss/vendor/_variables.scss","../scss/core.scss"],"names":[],"mappings":"AAAA,QACC,cACA,WACA,WCIc,QDHd,OCoBe,KDnBf,gBACA,MAEA,2CAEA,aACA,kCAEA,qBACC,iBACA,kBAEA,yBACC,4BACA,eAIF,WACC,cACA,kBACA,YAEA,gBACC,SACA,qBACA,eAEA,eAEA,gBACA,iBACA,kBACA,mBACA,gBAEA,cACA,iBCnCY,QDqCZ,qBAEA,+CACC,gCACA,WAKH,yBACO,kBACA,WC/BQ,KDiCR,eACA,iBAEA,kBACA,gBAEA,eAEA,yBACN,kCAEM,iEACI,yBAEA,qHACR,cAII,2BACI,cACA,WAGJ,mDACL,aAES,kBACA,SACA,OACT,WAES,oFACI,gCAKA,mBAJA,+FACI,mBAIJ,0FACI,yBEjGpB,qBACC,WACA,iBAGD,OACC,YAGD,MACC,WAGD,QACC,kBAGD,EACC,qBACA,cAIA,SACC,aACA,qCAGC,uBACC,kBAGD,sBACC,iBAVH,SACC,aACA,qCAFD,SACC,aACA,qCAFD,SACC,aACA,qCAFD,SACC,aACA,qCAcF,UACC,aACA,8BAGC,wBACC,gBAGD,uBACC,iBAOD,WACC,aACA,8BAFD,WACC,aACA,8BAFD,WACC,aACA,8BAFD,WACC,aACA,8BAFD,WACC,aACA,8BAFD,WACC,aACA,8BAFD,WACC,aACA,8BAFD,WACC,aACA,8BAFD,WACC,aACA,8BAFD,WACC,aACA,8BAFD,WACC,aACA,8BAFD,WACC,aACA,8BAFD,WACC,aACA,8BAFD,WACC,aACA,8BAFD,WACC,aACA,8BAFD,WACC,aACA,8BAFD,WACC,aACA,8BAFD,WACC,aACA,8BAFD,WACC,aACA,8BAFD,WACC,aACA,8BAFD,WACC,aACA,8BAFD,WACC,aACA,8BAFD,WACC,aACA,8BAFD,WACC,aACA,8BAFD,WACC,aACA,8BAKH,IC9DI,2CDgEH,eAGC,gBAEC,kBAIF,kBAGC,2BAIF,kBACC,aACA,gCAGD,cACC,wBAEA,oDACA,oDACA,oDACA,oDACA,oDACA,oDAEY,4CD3FH,QC4FS,kDD3FH,QC4FE,iDD3FH,QC6FA,8CD3FH,KC4FS,oDD3FH,QC4FE,mDD3FH,QC6FJ,iDAEF,0CD7FH,KC8FS,gDD7FH,KC8FE,+CD7FH,KCgGb,0DC9GI,2CDgHH,sBAEA,4FACC,sBAIF,KACC,UAGD,MACC,WAIA,8BACA,qCACA,sCACA,oCACA,uCAEA,6BACA,oCACA,qCACA,mCACA,sCAVA,8BACA,qCACA,sCACA,oCACA,uCAEA,6BACA,oCACA,qCACA,mCACA,sCAVA,8BACA,qCACA,sCACA,oCACA,uCAEA,6BACA,oCACA,qCACA,mCACA,sCAVA,8BACA,qCACA,sCACA,oCACA,uCAEA,6BACA,oCACA,qCACA,mCACA,sCAVA,8BACA,qCACA,sCACA,oCACA,uCAEA,6BACA,oCACA,qCACA,mCACA,sCAVA,8BACA,qCACA,sCACA,oCACA,uCAEA,6BACA,oCACA,qCACA,mCACA,sCAVA,8BACA,qCACA,sCACA,oCACA,uCAEA,6BACA,oCACA,qCACA,mCACA,sCAVA,8BACA,qCACA,sCACA,oCACA,uCAEA,6BACA,oCACA,qCACA,mCACA,sCAVA,8BACA,qCACA,sCACA,oCACA,uCAEA,6BACA,oCACA,qCACA,mCACA,sCAVA,gCACA,uCACA,wCACA,sCACA,yCAEA,+BACA,sCACA,uCACA,qCACA,wCAVA,gCACA,uCACA,wCACA,sCACA,yCAEA,+BACA,sCACA,uCACA,qCACA,wCAVA,gCACA,uCACA,wCACA,sCACA,yCAEA,+BACA,sCACA,uCACA,qCACA,wCAVA,gCACA,uCACA,wCACA,sCACA,yCAEA,+BACA,sCACA,uCACA,qCACA,wCAVA,gCACA,uCACA,wCACA,sCACA,yCAEA,+BACA,sCACA,uCACA,qCACA,wCAVA,gCACA,uCACA,wCACA,sCACA,yCAEA,+BACA,sCACA,uCACA,qCACA,wCAVA,gCACA,uCACA,wCACA,sCACA,yCAEA,+BACA,sCACA,uCACA,qCACA,wCAVA,gCACA,uCACA,wCACA,sCACA,yCAEA,+BACA,sCACA,uCACA,qCACA,wCAVA,gCACA,uCACA,wCACA,sCACA,yCAEA,+BACA,sCACA,uCACA,qCACA,wCAVA,gCACA,uCACA,wCACA,sCACA,yCAEA,+BACA,sCACA,uCACA,qCACA,wCAVA,gCACA,uCACA,wCACA,sCACA,yCAEA,+BACA,sCACA,uCACA,qCACA,wCAVA,gCACA,uCACA,wCACA,sCACA,yCAEA,+BACA,sCACA,uCACA,qCACA,wCAVA,gCACA,uCACA,wCACA,sCACA,yCAEA,+BACA,sCACA,uCACA,qCACA,wCAVA,gCACA,uCACA,wCACA,sCACA,yCAEA,+BACA,sCACA,uCACA,qCACA,wCAVA,gCACA,uCACA,wCACA,sCACA,yCAEA,+BACA,sCACA,uCACA,qCACA,wCAVA,gCACA,uCACA,wCACA,sCACA,yCAEA,+BACA,sCACA,uCACA,qCACA,wCAVA,gCACA,uCACA,wCACA,sCACA,yCAEA,+BACA,sCACA,uCACA,qCACA,wCAVA,gCACA,uCACA,wCACA,sCACA,yCAEA,+BACA,sCACA,uCACA,qCACA,wCAVA,gCACA,uCACA,wCACA,sCACA,yCAEA,+BACA,sCACA,uCACA,qCACA,wCAVA,gCACA,uCACA,wCACA,sCACA,yCAEA,+BACA,sCACA,uCACA,qCACA,wCAVA,gCACA,uCACA,wCACA,sCACA,yCAEA,+BACA,sCACA,uCACA,qCACA,wCAVA,gCACA,uCACA,wCACA,sCACA,yCAEA,+BACA,sCACA,uCACA,qCACA,wCAVA,gCACA,uCACA,wCACA,sCACA,yCAEA,+BACA,sCACA,uCACA,qCACA,wCAVA,gCACA,uCACA,wCACA,sCACA,yCAEA,+BACA,sCACA,uCACA,qCACA,wCAVA,gCACA,uCACA,wCACA,sCACA,yCAEA,+BACA,sCACA,uCACA,qCACA,wCAVA,gCACA,uCACA,wCACA,sCACA,yCAEA,+BACA,sCACA,uCACA,qCACA,wCAVA,gCACA,uCACA,wCACA,sCACA,yCAEA,+BACA,sCACA,uCACA,qCACA,wCAVA,gCACA,uCACA,wCACA,sCACA,yCAEA,+BACA,sCACA,uCACA,qCACA,wCAVA,gCACA,uCACA,wCACA,sCACA,yCAEA,+BACA,sCACA,uCACA,qCACA,wCAVA,gCACA,uCACA,wCACA,sCACA,yCAEA,+BACA,sCACA,uCACA,qCACA,wCAVA,gCACA,uCACA,wCACA,sCACA,yCAEA,+BACA,sCACA,uCACA,qCACA,wCAVA,gCACA,uCACA,wCACA,sCACA,yCAEA,+BACA,sCACA,uCACA,qCACA,wCAVA,gCACA,uCACA,wCACA,sCACA,yCAEA,+BACA,sCACA,uCACA,qCACA,wCAVA,gCACA,uCACA,wCACA,sCACA,yCAEA,+BACA,sCACA,uCACA,qCACA,wCAVA,gCACA,uCACA,wCACA,sCACA,yCAEA,+BACA,sCACA,uCACA,qCACA,wCAVA,gCACA,uCACA,wCACA,sCACA,yCAEA,+BACA,sCACA,uCACA,qCACA,wCAVA,gCACA,uCACA,wCACA,sCACA,yCAEA,+BACA,sCACA,uCACA,qCACA,wCAVA,gCACA,uCACA,wCACA,sCACA,yCAEA,+BACA,sCACA,uCACA,qCACA,wCAVA,gCACA,uCACA,wCACA,sCACA,yCAEA,+BACA,sCACA,uCACA,qCACA,wCAVA,gCACA,uCACA,wCACA,sCACA,yCAEA,+BACA,sCACA,uCACA,qCACA,wCAGD,WACC,kBAGD,4BD5IgB,QC6IhB,2BD9IU,QC+IV,4BD7Ie,QC8If,4BD3IkB,QC4IlB,2BD7IY,KC8IZ,4BD5IiB,QC6IjB,gCACA,2BD3Ic,KGdd,cACI,YACA,YACH,kBAEA,+BAIG,wBACI,gBAGJ,wCACI,WACA,cACA,YAEA,iDACI,gBACA,aACA,8BDpBR,2CCwBQ,qDAEI,gBACA,iBACA,aACA,cAEA,iEACI,4BCjCpB,sBACC,WACA,6GACA,mBACA,kBACA,8BAEA,kCAEA,uCACC,WAEA,aACA,+BAEA,uBACA,wBACA,kBJVa,QIYb,8CACA,mCACA,yBAEA,eAEA,gDACC,uBAGD,8CACC,sBAGD,8FACC,wBAGD,iDACC,oCAGD,6CACC,yBAIF,8CACC,kBACA,yBACA,iBACA,oBACA,iBAGD,4CACC,gBACA,iBAEA,iBACA,iBACA,oBAEA,iBACA,kBC/DF,aHCI,2CGCH,gBAEA,YACA,WAEA,gCACC,WLEgB,QKDhB,YAEA,gCAGD,iCACC,kBACA,WAEA,mCACC,kBAGD,+DACA,+DAIF,aH1BI,2CG6BA,kBACA,iBAEH,kBAEG,uDACF,kBACA,WACA,MACA,OAEM,aACA,uCAEA,sFAGJ,+BACI,WL3CE,QK4CF,iBACA,YAGJ,wBACF,iCAEM,cAMA,iBALA,mDLlDO,QKmDP,0DAEN,wCLlDgB,QKkDuB,WAIjC,sDAEA,qCACI,YAKA,iBAHA,mEACA,iEAIA,wDLtDK,QKsDoC,WACzC,sDLtDI,QKsDqC,WACzC,0ECtEZ,81BACI,kCAGJ,izBACI,kBACA,2BACA,YACA,aACA,gCACA,kBCNA,+BACA,4BACA,2BACA,0BACA,uBDMJ,oxDCVI,iCACA,8BACA,6BACA,4BACA,yBDWJ,MAMI,kBACA,gBACA,UACA,WACA,kBACA,WACA,iBEjCc,KFsBd,qCCRA,mBDWwB,YCVxB,gBDUwB,YCTxB,WDSwB,YAUxB,aACI,WACA,cAGJ,UACI,gBAGJ,YACI,eAGJ,WACI,kBACA,WACA,UACA,OACA,MACA,UACA,gBACA,eACA,MEzDU,KF0DV,cACA,kBACA,mBCzCJ,4BD0CiC,ICzCjC,yBDyCiC,ICxCjC,uBDwCiC,ICvCjC,oBDuCiC,ICnCjC,4BDoCiC,ICnCjC,yBDmCiC,IClCjC,uBDkCiC,ICjCjC,oBDiCiC,IC7BjC,mCD8BwC,SC7BxC,gCD6BwC,SC5BxC,8BD4BwC,SC3BxC,2BD2BwC,SAGxC,YACI,kBACA,IExEO,MFyEP,KEzEO,MF0EP,cACA,YACA,kBACA,iBExEG,QFyEH,YACA,aCxDJ,4BDyDiC,ICxDjC,yBDwDiC,ICvDjC,uBDuDiC,ICtDjC,oBDsDiC,IClDjC,4BDmDiC,IClDjC,yBDkDiC,ICjDjC,uBDiDiC,IChDjC,oBDgDiC,IC5CjC,mCD6CwC,QC5CxC,gCD4CwC,QC3CxC,8BD2CwC,QC1CxC,2BD0CwC,QAGxC,aACI,kBACA,UACA,WACA,gCAuBA,cCtGJ,iCACA,8BACA,6BACA,4BACA,yBDkGI,cCtGJ,iCACA,8BACA,6BACA,4BACA,yBDkGI,cCtGJ,kCACA,+BACA,8BACA,6BACA,0BDkGI,cCtGJ,kCACA,+BACA,8BACA,6BACA,0BDkGI,cCtGJ,gCACA,6BACA,4BACA,2BACA,wBDkGI,cCtGJ,kCACA,+BACA,8BACA,6BACA,0BDkGI,cCtGJ,kCACA,+BACA,8BACA,6BACA,0BDkGI,cCtGJ,kCACA,+BACA,8BACA,6BACA,0BDkGI,cCtGJ,kCACA,+BACA,8BACA,6BACA,0BDkGI,eCtGJ,gCACA,6BACA,4BACA,2BACA,wBDkGI,eCtGJ,kCACA,+BACA,8BACA,6BACA,0BDkGI,eCtGJ,kCACA,+BACA,8BACA,6BACA,0BDkGI,eCtGJ,kCACA,+BACA,8BACA,6BACA,0BDkGI,eCtGJ,kCACA,+BACA,8BACA,6BACA,0BDkGI,eCtGJ,gCACA,6BACA,4BACA,2BACA,wBDkGI,eCtGJ,kCACA,+BACA,8BACA,6BACA,0BDkGI,eCtGJ,kCACA,+BACA,8BACA,6BACA,0BDkGI,eCtGJ,kCACA,+BACA,8BACA,6BACA,0BDkGI,eCtGJ,kCACA,+BACA,8BACA,6BACA,0BDkGI,eCtGJ,gCACA,6BACA,4BACA,2BACA,wBDkGI,eCtGJ,kCACA,+BACA,8BACA,6BACA,0BDkGI,eCtGJ,kCACA,+BACA,8BACA,6BACA,0BDkGI,eCtGJ,kCACA,+BACA,8BACA,6BACA,0BDkGI,eCtGJ,kCACA,+BACA,8BACA,6BACA,0BDkGI,eCtGJ,gCACA,6BACA,4BACA,2BACA,wBDkGI,eCtGJ,kCACA,+BACA,8BACA,6BACA,0BDkGI,eCtGJ,kCACA,+BACA,8BACA,6BACA,0BDkGI,eCtGJ,mCACA,gCACA,+BACA,8BACA,2BDkGI,eCtGJ,mCACA,gCACA,+BACA,8BACA,2BDkGI,eCtGJ,iCACA,8BACA,6BACA,4BACA,yBDkGI,eCtGJ,mCACA,gCACA,+BACA,8BACA,2BDkGI,eCtGJ,mCACA,gCACA,+BACA,8BACA,2BDkGI,eCtGJ,mCACA,gCACA,+BACA,8BACA,2BDkGI,eCtGJ,mCACA,gCACA,+BACA,8BACA,2BDkGI,eCtGJ,iCACA,8BACA,6BACA,4BACA,yBDkGI,eCtGJ,mCACA,gCACA,+BACA,8BACA,2BDkGI,eCtGJ,mCACA,gCACA,+BACA,8BACA,2BDkGI,eCtGJ,mCACA,gCACA,+BACA,8BACA,2BDkGI,eCtGJ,mCACA,gCACA,+BACA,8BACA,2BDkGI,eCtGJ,iCACA,8BACA,6BACA,4BACA,yBDkGI,eCtGJ,mCACA,gCACA,+BACA,8BACA,2BDkGI,eCtGJ,mCACA,gCACA,+BACA,8BACA,2BDkGI,eCtGJ,mCACA,gCACA,+BACA,8BACA,2BDkGI,eCtGJ,mCACA,gCACA,+BACA,8BACA,2BDkGI,eCtGJ,iCACA,8BACA,6BACA,4BACA,yBDkGI,eCtGJ,mCACA,gCACA,+BACA,8BACA,2BDkGI,eCtGJ,mCACA,gCACA,+BACA,8BACA,2BDkGI,eCtGJ,mCACA,gCACA,+BACA,8BACA,2BDkGI,eCtGJ,mCACA,gCACA,+BACA,8BACA,2BDkGI,eCtGJ,iCACA,8BACA,6BACA,4BACA,yBDkGI,eCtGJ,mCACA,gCACA,+BACA,8BACA,2BDkGI,eCtGJ,mCACA,gCACA,+BACA,8BACA,2BDkGI,eCtGJ,mCACA,gCACA,+BACA,8BACA,2BDkGI,eCtGJ,mCACA,gCACA,+BACA,8BACA,2BDkGI,eCtGJ,iCACA,8BACA,6BACA,4BACA,yBDkGI,eCtGJ,mCACA,gCACA,+BACA,8BACA,2BDkGI,eCtGJ,mCACA,gCACA,+BACA,8BACA,2BDkGI,eCtGJ,mCACA,gCACA,+BACA,8BACA,2BDkGI,eCtGJ,mCACA,gCACA,+BACA,8BACA,2BDkGI,eCtGJ,iCACA,8BACA,6BACA,4BACA,yBDkGI,eCtGJ,mCACA,gCACA,+BACA,8BACA,2BDkGI,eCtGJ,mCACA,gCACA,+BACA,8BACA,2BDkGI,eCtGJ,mCACA,gCACA,+BACA,8BACA,2BDkGI,eCtGJ,mCACA,gCACA,+BACA,8BACA,2BDkGI,eCtGJ,iCACA,8BACA,6BACA,4BACA,yBDkGI,eCtGJ,mCACA,gCACA,+BACA,8BACA,2BDkGI,eCtGJ,mCACA,gCACA,+BACA,8BACA,2BDkGI,eCtGJ,mCACA,gCACA,+BACA,8BACA,2BDkGI,eCtGJ,mCACA,gCACA,+BACA,8BACA,2BDkGI,eCtGJ,iCACA,8BACA,6BACA,4BACA,yBDkGI,eCtGJ,mCACA,gCACA,+BACA,8BACA,2BDkGI,eCtGJ,mCACA,gCACA,+BACA,8BACA,2BDkGI,eCtGJ,mCACA,gCACA,+BACA,8BACA,2BDkGI,eCtGJ,mCACA,gCACA,+BACA,8BACA,2BDkGI,eCtGJ,iCACA,8BACA,6BACA,4BACA,yBDkGI,eCtGJ,mCACA,gCACA,+BACA,8BACA,2BDkGI,eCtGJ,mCACA,gCACA,+BACA,8BACA,2BDkGI,eCtGJ,mCACA,gCACA,+BACA,8BACA,2BDkGI,eCtGJ,mCACA,gCACA,+BACA,8BACA,2BDkGI,eCtGJ,iCACA,8BACA,6BACA,4BACA,yBDkGI,eCtGJ,mCACA,gCACA,+BACA,8BACA,2BDkGI,eCtGJ,mCACA,gCACA,+BACA,8BACA,2BDkGI,eCtGJ,mCACA,gCACA,+BACA,8BACA,2BDkGI,eCtGJ,mCACA,gCACA,+BACA,8BACA,2BDkGI,eCtGJ,iCACA,8BACA,6BACA,4BACA,yBDkGI,eCtGJ,mCACA,gCACA,+BACA,8BACA,2BDkGI,eCtGJ,mCACA,gCACA,+BACA,8BACA,2BDkGI,eCtGJ,mCACA,gCACA,+BACA,8BACA,2BDkGI,eCtGJ,mCACA,gCACA,+BACA,8BACA,2BDkGI,eCtGJ,iCACA,8BACA,6BACA,4BACA,yBDkGI,eCtGJ,mCACA,gCACA,+BACA,8BACA,2BDkGI,eCtGJ,mCACA,gCACA,+BACA,8BACA,2BDkGI,eCtGJ,mCACA,gCACA,+BACA,8BACA,2BDkGI,eCtGJ,mCACA,gCACA,+BACA,8BACA,2BDkGI,eCtGJ,iCACA,8BACA,6BACA,4BACA,yBDkGI,eCtGJ,mCACA,gCACA,+BACA,8BACA,2BDkGI,eCtGJ,mCACA,gCACA,+BACA,8BACA,2BDkGI,eCtGJ,mCACA,gCACA,+BACA,8BACA,2BDkGI,eCtGJ,mCACA,gCACA,+BACA,8BACA,2BDkGI,gBCtGJ,iCACA,8BACA,6BACA,4BACA,yBDwGA,YACI,eACA,iBACI,aACA,mBACA,eACA,MEzHI,QF2HR,kBACI,IE9HS,MF+HT,KE/HS,MFgIT,YACA,aAIR,WACI,iBNhIO,QMiIP,iCAEI,gCAEJ,gBACI,MNtIG,QMwIP,iBACI,iBErII,KFwIJ,sBACI,MN9IA,QMkJZ,YACF,iBN1IW,KM2IL,mCAEI,6BAGA,uBACI,MNnJR,KMsJN,iBACC,MNrJU,KMwJT,cACI,sBACA,uCAEI,6BAGA,yBACI,WAGR,mBACI,WG1KZ,EACC,SACA,UACA,sBAGD,MACC,eAGD,GACC,WACA,gBACA,kBAGD,KACC,uBAEA,kDACA,sBACA,yBACA,WAGD,gBPjCI,2COmCH,yBACA,iBT9Bc,QS+Bd,WAEA,eACA,eACA,mBACA,qBAEA,eAEA,gEACC,iBAIF,sBACC,YACA,sBACA,WAEA,eACA,qBACA,eAEA,6DACC,WAIF,mBACC,eACA,iBT7Dc,QSiEd,qCACC,WPxEE,2CO2EF,eACA,WAEA,uDACC,gBAIF,cACC,sBACA,YAGD,WACC,WPzFE,2CO2FF,iBTrFa,QSsFb,WACA,iBAEA,qBACA,qBACA,gBAOD,kBPxGG,2CO2GF,gBACA,iBTlGe,QSmGf,cACA,oBAEA,0BACC,iBT3GY,QSgHf,OACC,aACA,8BAGD,WAKC,aPhIG,2COmIH,YACA,YAEA,aACA,YACA,sBACA,MT1IO,KS6HP,uBACC,+BAeF,0BP5II,2CO+IH,iBTzIc,QS0Id,qBACA,gBACA,qBACA,WAEA,8BACC,iBACA,qBAIF,aAGC,aACA,8BAEA,0BACC,iBAKD,eACC,mBACA,iBTrKQ,QSsKR,gBACA,YACA,WAEA,eACA,mBACA,qBACA,qBAEA,eAIF,wBACC,aACA,6CAGD,aACC,kBACA,WACA,iBAGD,qBACC","file":"core.css"}
\ No newline at end of file
+{"version":3,"sourceRoot":"","sources":["../scss/_navbar.scss","../scss/_vars.scss","../scss/_utils.scss","../scss/_elevate.scss","../scss/problem/_info.scss","../scss/problem/_sidebar.scss","../scss/leaderboard/_leaderboard.scss","../scss/vendor/circle.scss","../scss/vendor/_mixins.scss","../scss/vendor/_variables.scss","../scss/core.scss"],"names":[],"mappings":"AAAA,QACC,cACA,WACA,WCIc,QDHd,OCoBe,KDnBf,gBACA,MAEA,2CAEA,aACA,kCAEA,qBACC,iBACA,kBAEA,yBACC,4BACA,eAIF,WACC,cACA,kBACA,YAEA,gBACC,SACA,qBACA,eAEA,eAEA,gBACA,iBACA,kBACA,mBACA,gBAEA,cACA,iBCnCY,QDqCZ,qBAEA,+CACC,gCACA,WAKH,yBACO,kBACA,WC/BQ,KDiCR,eACA,iBAEA,kBACA,gBAEA,eAEA,yBACN,kCAEM,iEACI,yBAEA,qHACR,cAII,2BACI,cACA,WAGJ,mDACL,aAES,kBACA,SACA,OACT,WAES,oFACI,gCAKA,mBAJA,+FACI,mBAIJ,0FACI,yBEjGpB,qBACC,WACA,iBAGD,OACC,YAGD,MACC,WAGD,QACC,kBAGD,EACC,qBACA,cAIA,SACC,aACA,qCAGC,uBACC,kBAGD,sBACC,iBAVH,SACC,aACA,qCAFD,SACC,aACA,qCAFD,SACC,aACA,qCAFD,SACC,aACA,qCAcF,UACC,aACA,8BAGC,wBACC,gBAGD,uBACC,iBAOD,WACC,aACA,8BAFD,WACC,aACA,8BAFD,WACC,aACA,8BAFD,WACC,aACA,8BAFD,WACC,aACA,8BAFD,WACC,aACA,8BAFD,WACC,aACA,8BAFD,WACC,aACA,8BAFD,WACC,aACA,8BAFD,WACC,aACA,8BAFD,WACC,aACA,8BAFD,WACC,aACA,8BAFD,WACC,aACA,8BAFD,WACC,aACA,8BAFD,WACC,aACA,8BAFD,WACC,aACA,8BAFD,WACC,aACA,8BAFD,WACC,aACA,8BAFD,WACC,aACA,8BAFD,WACC,aACA,8BAFD,WACC,aACA,8BAFD,WACC,aACA,8BAFD,WACC,aACA,8BAFD,WACC,aACA,8BAFD,WACC,aACA,8BAKH,IC9DI,2CDgEH,eAGC,gBAEC,kBAIF,kBAGC,2BAIF,kBACC,aACA,gCAGD,cACC,wBAEA,oDACA,oDACA,oDACA,oDACA,oDACA,oDAEY,4CD3FH,QC4FS,kDD3FH,QC4FE,iDD3FH,QC6FA,8CD3FH,KC4FS,oDD3FH,QC4FE,mDD3FH,QC6FJ,iDAEF,0CD7FH,KC8FS,gDD7FH,KC8FE,+CD7FH,KCgGb,0DC9GI,2CDgHH,sBAEA,gFACC,sBACA,0BAGD,4FACC,sBAIF,KACC,UAGD,MACC,WAIA,8BACA,qCACA,sCACA,oCACA,uCAEA,6BACA,oCACA,qCACA,mCACA,sCAVA,8BACA,qCACA,sCACA,oCACA,uCAEA,6BACA,oCACA,qCACA,mCACA,sCAVA,8BACA,qCACA,sCACA,oCACA,uCAEA,6BACA,oCACA,qCACA,mCACA,sCAVA,8BACA,qCACA,sCACA,oCACA,uCAEA,6BACA,oCACA,qCACA,mCACA,sCAVA,8BACA,qCACA,sCACA,oCACA,uCAEA,6BACA,oCACA,qCACA,mCACA,sCAVA,8BACA,qCACA,sCACA,oCACA,uCAEA,6BACA,oCACA,qCACA,mCACA,sCAVA,8BACA,qCACA,sCACA,oCACA,uCAEA,6BACA,oCACA,qCACA,mCACA,sCAVA,8BACA,qCACA,sCACA,oCACA,uCAEA,6BACA,oCACA,qCACA,mCACA,sCAVA,8BACA,qCACA,sCACA,oCACA,uCAEA,6BACA,oCACA,qCACA,mCACA,sCAVA,gCACA,uCACA,wCACA,sCACA,yCAEA,+BACA,sCACA,uCACA,qCACA,wCAVA,gCACA,uCACA,wCACA,sCACA,yCAEA,+BACA,sCACA,uCACA,qCACA,wCAVA,gCACA,uCACA,wCACA,sCACA,yCAEA,+BACA,sCACA,uCACA,qCACA,wCAVA,gCACA,uCACA,wCACA,sCACA,yCAEA,+BACA,sCACA,uCACA,qCACA,wCAVA,gCACA,uCACA,wCACA,sCACA,yCAEA,+BACA,sCACA,uCACA,qCACA,wCAVA,gCACA,uCACA,wCACA,sCACA,yCAEA,+BACA,sCACA,uCACA,qCACA,wCAVA,gCACA,uCACA,wCACA,sCACA,yCAEA,+BACA,sCACA,uCACA,qCACA,wCAVA,gCACA,uCACA,wCACA,sCACA,yCAEA,+BACA,sCACA,uCACA,qCACA,wCAVA,gCACA,uCACA,wCACA,sCACA,yCAEA,+BACA,sCACA,uCACA,qCACA,wCAVA,gCACA,uCACA,wCACA,sCACA,yCAEA,+BACA,sCACA,uCACA,qCACA,wCAVA,gCACA,uCACA,wCACA,sCACA,yCAEA,+BACA,sCACA,uCACA,qCACA,wCAVA,gCACA,uCACA,wCACA,sCACA,yCAEA,+BACA,sCACA,uCACA,qCACA,wCAVA,gCACA,uCACA,wCACA,sCACA,yCAEA,+BACA,sCACA,uCACA,qCACA,wCAVA,gCACA,uCACA,wCACA,sCACA,yCAEA,+BACA,sCACA,uCACA,qCACA,wCAVA,gCACA,uCACA,wCACA,sCACA,yCAEA,+BACA,sCACA,uCACA,qCACA,wCAVA,gCACA,uCACA,wCACA,sCACA,yCAEA,+BACA,sCACA,uCACA,qCACA,wCAVA,gCACA,uCACA,wCACA,sCACA,yCAEA,+BACA,sCACA,uCACA,qCACA,wCAVA,gCACA,uCACA,wCACA,sCACA,yCAEA,+BACA,sCACA,uCACA,qCACA,wCAVA,gCACA,uCACA,wCACA,sCACA,yCAEA,+BACA,sCACA,uCACA,qCACA,wCAVA,gCACA,uCACA,wCACA,sCACA,yCAEA,+BACA,sCACA,uCACA,qCACA,wCAVA,gCACA,uCACA,wCACA,sCACA,yCAEA,+BACA,sCACA,uCACA,qCACA,wCAVA,gCACA,uCACA,wCACA,sCACA,yCAEA,+BACA,sCACA,uCACA,qCACA,wCAVA,gCACA,uCACA,wCACA,sCACA,yCAEA,+BACA,sCACA,uCACA,qCACA,wCAVA,gCACA,uCACA,wCACA,sCACA,yCAEA,+BACA,sCACA,uCACA,qCACA,wCAVA,gCACA,uCACA,wCACA,sCACA,yCAEA,+BACA,sCACA,uCACA,qCACA,wCAVA,gCACA,uCACA,wCACA,sCACA,yCAEA,+BACA,sCACA,uCACA,qCACA,wCAVA,gCACA,uCACA,wCACA,sCACA,yCAEA,+BACA,sCACA,uCACA,qCACA,wCAVA,gCACA,uCACA,wCACA,sCACA,yCAEA,+BACA,sCACA,uCACA,qCACA,wCAVA,gCACA,uCACA,wCACA,sCACA,yCAEA,+BACA,sCACA,uCACA,qCACA,wCAVA,gCACA,uCACA,wCACA,sCACA,yCAEA,+BACA,sCACA,uCACA,qCACA,wCAVA,gCACA,uCACA,wCACA,sCACA,yCAEA,+BACA,sCACA,uCACA,qCACA,wCAVA,gCACA,uCACA,wCACA,sCACA,yCAEA,+BACA,sCACA,uCACA,qCACA,wCAVA,gCACA,uCACA,wCACA,sCACA,yCAEA,+BACA,sCACA,uCACA,qCACA,wCAVA,gCACA,uCACA,wCACA,sCACA,yCAEA,+BACA,sCACA,uCACA,qCACA,wCAVA,gCACA,uCACA,wCACA,sCACA,yCAEA,+BACA,sCACA,uCACA,qCACA,wCAVA,gCACA,uCACA,wCACA,sCACA,yCAEA,+BACA,sCACA,uCACA,qCACA,wCAVA,gCACA,uCACA,wCACA,sCACA,yCAEA,+BACA,sCACA,uCACA,qCACA,wCAVA,gCACA,uCACA,wCACA,sCACA,yCAEA,+BACA,sCACA,uCACA,qCACA,wCAVA,gCACA,uCACA,wCACA,sCACA,yCAEA,+BACA,sCACA,uCACA,qCACA,wCAVA,gCACA,uCACA,wCACA,sCACA,yCAEA,+BACA,sCACA,uCACA,qCACA,wCAGD,WACC,kBAGD,4BDjJgB,QCkJhB,2BDnJU,QCoJV,4BDlJe,QCmJf,4BDhJkB,QCiJlB,2BDlJY,KCmJZ,4BDjJiB,QCkJjB,gCACA,2BDhJc,KGdd,cACI,YACA,YACH,kBAEA,+BAIG,wBACI,gBAGJ,wCACI,WACA,cACA,YAEA,iDACI,gBACA,aACA,8BDpBR,2CCwBQ,qDAEI,gBACA,iBACA,aACA,cAEA,iEACI,4BCjCpB,sBACC,WACA,6GACA,mBACA,kBACA,8BAEA,kCAEA,uCACC,WAEA,aACA,+BAEA,uBACA,wBACA,kBJVa,QIYb,8CACA,mCACA,yBAEA,eAEA,gDACC,uBAGD,8CACC,sBAGD,8FACC,wBAGD,iDACC,oCAGD,6CACC,yBAIF,8CACC,kBACA,yBACA,iBACA,oBACA,iBAGD,4CACC,gBACA,iBAEA,iBACA,iBACA,oBAEA,iBACA,kBC/DF,aHCI,2CGCH,gBAEA,YACA,WAEA,gCACC,WLEgB,QKDhB,YAEA,gCAGD,iCACC,kBACA,WAEA,mCACC,kBAGD,+DACA,+DAIF,aH1BI,2CG6BA,kBACA,iBAEH,kBAEG,uDACF,kBACA,WACA,MACA,OAEM,aACA,uCAEA,sFAGJ,+BACI,WL3CE,QK4CF,iBACA,YAGJ,wBACF,iCAEM,cAMA,iBALA,mDLlDO,QKmDP,0DAEN,wCLlDgB,QKkDuB,WAIjC,sDAEA,qCACI,YAKA,iBAHA,mEACA,iEAIA,wDLtDK,QKsDoC,WACzC,sDLtDI,QKsDqC,WACzC,0ECtEZ,81BACI,kCAGJ,izBACI,kBACA,2BACA,YACA,aACA,gCACA,kBCNA,+BACA,4BACA,2BACA,0BACA,uBDMJ,oxDCVI,iCACA,8BACA,6BACA,4BACA,yBDWJ,MAMI,kBACA,gBACA,UACA,WACA,kBACA,WACA,iBEjCc,KFsBd,qCCRA,mBDWwB,YCVxB,gBDUwB,YCTxB,WDSwB,YAUxB,aACI,WACA,cAGJ,UACI,gBAGJ,YACI,eAGJ,WACI,kBACA,WACA,UACA,OACA,MACA,UACA,gBACA,eACA,MEzDU,KF0DV,cACA,kBACA,mBCzCJ,4BD0CiC,ICzCjC,yBDyCiC,ICxCjC,uBDwCiC,ICvCjC,oBDuCiC,ICnCjC,4BDoCiC,ICnCjC,yBDmCiC,IClCjC,uBDkCiC,ICjCjC,oBDiCiC,IC7BjC,mCD8BwC,SC7BxC,gCD6BwC,SC5BxC,8BD4BwC,SC3BxC,2BD2BwC,SAGxC,YACI,kBACA,IExEO,MFyEP,KEzEO,MF0EP,cACA,YACA,kBACA,iBExEG,QFyEH,YACA,aCxDJ,4BDyDiC,ICxDjC,yBDwDiC,ICvDjC,uBDuDiC,ICtDjC,oBDsDiC,IClDjC,4BDmDiC,IClDjC,yBDkDiC,ICjDjC,uBDiDiC,IChDjC,oBDgDiC,IC5CjC,mCD6CwC,QC5CxC,gCD4CwC,QC3CxC,8BD2CwC,QC1CxC,2BD0CwC,QAGxC,aACI,kBACA,UACA,WACA,gCAuBA,cCtGJ,iCACA,8BACA,6BACA,4BACA,yBDkGI,cCtGJ,iCACA,8BACA,6BACA,4BACA,yBDkGI,cCtGJ,kCACA,+BACA,8BACA,6BACA,0BDkGI,cCtGJ,kCACA,+BACA,8BACA,6BACA,0BDkGI,cCtGJ,gCACA,6BACA,4BACA,2BACA,wBDkGI,cCtGJ,kCACA,+BACA,8BACA,6BACA,0BDkGI,cCtGJ,kCACA,+BACA,8BACA,6BACA,0BDkGI,cCtGJ,kCACA,+BACA,8BACA,6BACA,0BDkGI,cCtGJ,kCACA,+BACA,8BACA,6BACA,0BDkGI,eCtGJ,gCACA,6BACA,4BACA,2BACA,wBDkGI,eCtGJ,kCACA,+BACA,8BACA,6BACA,0BDkGI,eCtGJ,kCACA,+BACA,8BACA,6BACA,0BDkGI,eCtGJ,kCACA,+BACA,8BACA,6BACA,0BDkGI,eCtGJ,kCACA,+BACA,8BACA,6BACA,0BDkGI,eCtGJ,gCACA,6BACA,4BACA,2BACA,wBDkGI,eCtGJ,kCACA,+BACA,8BACA,6BACA,0BDkGI,eCtGJ,kCACA,+BACA,8BACA,6BACA,0BDkGI,eCtGJ,kCACA,+BACA,8BACA,6BACA,0BDkGI,eCtGJ,kCACA,+BACA,8BACA,6BACA,0BDkGI,eCtGJ,gCACA,6BACA,4BACA,2BACA,wBDkGI,eCtGJ,kCACA,+BACA,8BACA,6BACA,0BDkGI,eCtGJ,kCACA,+BACA,8BACA,6BACA,0BDkGI,eCtGJ,kCACA,+BACA,8BACA,6BACA,0BDkGI,eCtGJ,kCACA,+BACA,8BACA,6BACA,0BDkGI,eCtGJ,gCACA,6BACA,4BACA,2BACA,wBDkGI,eCtGJ,kCACA,+BACA,8BACA,6BACA,0BDkGI,eCtGJ,kCACA,+BACA,8BACA,6BACA,0BDkGI,eCtGJ,mCACA,gCACA,+BACA,8BACA,2BDkGI,eCtGJ,mCACA,gCACA,+BACA,8BACA,2BDkGI,eCtGJ,iCACA,8BACA,6BACA,4BACA,yBDkGI,eCtGJ,mCACA,gCACA,+BACA,8BACA,2BDkGI,eCtGJ,mCACA,gCACA,+BACA,8BACA,2BDkGI,eCtGJ,mCACA,gCACA,+BACA,8BACA,2BDkGI,eCtGJ,mCACA,gCACA,+BACA,8BACA,2BDkGI,eCtGJ,iCACA,8BACA,6BACA,4BACA,yBDkGI,eCtGJ,mCACA,gCACA,+BACA,8BACA,2BDkGI,eCtGJ,mCACA,gCACA,+BACA,8BACA,2BDkGI,eCtGJ,mCACA,gCACA,+BACA,8BACA,2BDkGI,eCtGJ,mCACA,gCACA,+BACA,8BACA,2BDkGI,eCtGJ,iCACA,8BACA,6BACA,4BACA,yBDkGI,eCtGJ,mCACA,gCACA,+BACA,8BACA,2BDkGI,eCtGJ,mCACA,gCACA,+BACA,8BACA,2BDkGI,eCtGJ,mCACA,gCACA,+BACA,8BACA,2BDkGI,eCtGJ,mCACA,gCACA,+BACA,8BACA,2BDkGI,eCtGJ,iCACA,8BACA,6BACA,4BACA,yBDkGI,eCtGJ,mCACA,gCACA,+BACA,8BACA,2BDkGI,eCtGJ,mCACA,gCACA,+BACA,8BACA,2BDkGI,eCtGJ,mCACA,gCACA,+BACA,8BACA,2BDkGI,eCtGJ,mCACA,gCACA,+BACA,8BACA,2BDkGI,eCtGJ,iCACA,8BACA,6BACA,4BACA,yBDkGI,eCtGJ,mCACA,gCACA,+BACA,8BACA,2BDkGI,eCtGJ,mCACA,gCACA,+BACA,8BACA,2BDkGI,eCtGJ,mCACA,gCACA,+BACA,8BACA,2BDkGI,eCtGJ,mCACA,gCACA,+BACA,8BACA,2BDkGI,eCtGJ,iCACA,8BACA,6BACA,4BACA,yBDkGI,eCtGJ,mCACA,gCACA,+BACA,8BACA,2BDkGI,eCtGJ,mCACA,gCACA,+BACA,8BACA,2BDkGI,eCtGJ,mCACA,gCACA,+BACA,8BACA,2BDkGI,eCtGJ,mCACA,gCACA,+BACA,8BACA,2BDkGI,eCtGJ,iCACA,8BACA,6BACA,4BACA,yBDkGI,eCtGJ,mCACA,gCACA,+BACA,8BACA,2BDkGI,eCtGJ,mCACA,gCACA,+BACA,8BACA,2BDkGI,eCtGJ,mCACA,gCACA,+BACA,8BACA,2BDkGI,eCtGJ,mCACA,gCACA,+BACA,8BACA,2BDkGI,eCtGJ,iCACA,8BACA,6BACA,4BACA,yBDkGI,eCtGJ,mCACA,gCACA,+BACA,8BACA,2BDkGI,eCtGJ,mCACA,gCACA,+BACA,8BACA,2BDkGI,eCtGJ,mCACA,gCACA,+BACA,8BACA,2BDkGI,eCtGJ,mCACA,gCACA,+BACA,8BACA,2BDkGI,eCtGJ,iCACA,8BACA,6BACA,4BACA,yBDkGI,eCtGJ,mCACA,gCACA,+BACA,8BACA,2BDkGI,eCtGJ,mCACA,gCACA,+BACA,8BACA,2BDkGI,eCtGJ,mCACA,gCACA,+BACA,8BACA,2BDkGI,eCtGJ,mCACA,gCACA,+BACA,8BACA,2BDkGI,eCtGJ,iCACA,8BACA,6BACA,4BACA,yBDkGI,eCtGJ,mCACA,gCACA,+BACA,8BACA,2BDkGI,eCtGJ,mCACA,gCACA,+BACA,8BACA,2BDkGI,eCtGJ,mCACA,gCACA,+BACA,8BACA,2BDkGI,eCtGJ,mCACA,gCACA,+BACA,8BACA,2BDkGI,eCtGJ,iCACA,8BACA,6BACA,4BACA,yBDkGI,eCtGJ,mCACA,gCACA,+BACA,8BACA,2BDkGI,eCtGJ,mCACA,gCACA,+BACA,8BACA,2BDkGI,eCtGJ,mCACA,gCACA,+BACA,8BACA,2BDkGI,eCtGJ,mCACA,gCACA,+BACA,8BACA,2BDkGI,eCtGJ,iCACA,8BACA,6BACA,4BACA,yBDkGI,eCtGJ,mCACA,gCACA,+BACA,8BACA,2BDkGI,eCtGJ,mCACA,gCACA,+BACA,8BACA,2BDkGI,eCtGJ,mCACA,gCACA,+BACA,8BACA,2BDkGI,eCtGJ,mCACA,gCACA,+BACA,8BACA,2BDkGI,eCtGJ,iCACA,8BACA,6BACA,4BACA,yBDkGI,eCtGJ,mCACA,gCACA,+BACA,8BACA,2BDkGI,eCtGJ,mCACA,gCACA,+BACA,8BACA,2BDkGI,eCtGJ,mCACA,gCACA,+BACA,8BACA,2BDkGI,eCtGJ,mCACA,gCACA,+BACA,8BACA,2BDkGI,eCtGJ,iCACA,8BACA,6BACA,4BACA,yBDkGI,eCtGJ,mCACA,gCACA,+BACA,8BACA,2BDkGI,eCtGJ,mCACA,gCACA,+BACA,8BACA,2BDkGI,eCtGJ,mCACA,gCACA,+BACA,8BACA,2BDkGI,eCtGJ,mCACA,gCACA,+BACA,8BACA,2BDkGI,gBCtGJ,iCACA,8BACA,6BACA,4BACA,yBDwGA,YACI,eACA,iBACI,aACA,mBACA,eACA,MEzHI,QF2HR,kBACI,IE9HS,MF+HT,KE/HS,MFgIT,YACA,aAIR,WACI,iBNhIO,QMiIP,iCAEI,gCAEJ,gBACI,MNtIG,QMwIP,iBACI,iBErII,KFwIJ,sBACI,MN9IA,QMkJZ,YACF,iBN1IW,KM2IL,mCAEI,6BAGA,uBACI,MNnJR,KMsJN,iBACC,MNrJU,KMwJT,cACI,sBACA,uCAEI,6BAGA,yBACI,WAGR,mBACI,WG1KZ,EACC,SACA,UACA,sBAGD,MACC,eAGD,GACC,WACA,gBACA,kBAGD,KACC,uBAEA,kDACA,sBACA,yBACA,WAGD,gBPjCI,2COmCH,yBACA,iBT9Bc,QS+Bd,WAEA,eACA,eACA,mBACA,qBAEA,eAEA,0BAEA,gEACC,iBAGD,4BACC,iBTjDQ,QSqDV,sBACC,YACA,sBACA,WAEA,eACA,qBACA,eAEA,6DACC,WAIF,mBACC,eACA,iBTnEc,QSuEd,qCACC,WP9EE,2COiFF,eACA,WAEA,uDACC,gBAIF,cACC,sBACA,YAGD,WACC,WP/FE,2COiGF,iBT3Fa,QS4Fb,WACA,iBAEA,qBACA,qBACA,gBAOD,kBP9GG,2COiHF,gBACA,iBTxGe,QSyGf,cACA,oBAEA,0BACC,iBTjHY,QSsHf,OACC,aACA,8BAGD,WAKC,aPtIG,2COyIH,YACA,YAEA,aACA,YACA,sBACA,MThJO,KSmIP,uBACC,+BAeF,0BPlJI,2COqJH,iBT/Ic,QSgJd,qBACA,gBACA,qBACA,WAEA,8BACC,iBACA,qBAIF,aAGC,aACA,8BAEA,0BACC,iBAKD,eACC,mBACA,iBT3KQ,QS4KR,gBACA,YACA,WAEA,eACA,mBACA,qBACA,qBAEA,eAIF,wBACC,aACA,6CAGD,aACC,kBACA,WACA,iBAGD,qBACC","file":"core.css"}
\ No newline at end of file
index 63864a9552581aa586c7b51d41ad706786c04cd4..fba9fa5eb05c9510cf40751b54e4127fc120e494 100644 (file)
       return editor.session.setMode(`ace/mode/${editor_lang}`);
     });
     $('#submit-btn').click(function() {
-      var code, lang;
+      var code, comp_name, lang;
       lang = $('#language').val();
       code = (ace.edit('code-editor')).getValue();
+      comp_name = (window.location.pathname.split('/'))[1];
       return $.post(window.location.pathname, {
         lang: lang,
         code: code
       }, function(data) {
-        return window.location.replace(`/submissions/view?submission_id=${data}`);
+        return window.location.replace(`/${comp_name}/submissions/view?submission_id=${data}`);
       });
     });
     return $('#word-problem-submit-btn').click(function() {
index 6a74e9600e89485619f53cabdf8c5fe839951b04..f7015fe3d108b77d94b319c52cc0964d0113fe5b 100644 (file)
@@ -6,8 +6,8 @@
     "coffee/problem_submit.coffee"
   ],
   "names": [],
-  "mappings": ";AAAA;EAAA,CAAA,CAAE,QAAF,CAAW,CAAC,KAAZ,CAAkB,QAAA,CAAA,CAAA;IACd,CAAA,CAAE,WAAF,CAAc,CAAC,MAAf,CAAsB,QAAA,CAAC,EAAD,CAAA;AAClB,UAAA,KAAA,EAAA,MAAA,EAAA;MAAA,KAAA,GAAQ,CAAA,CAAE,EAAE,CAAC,MAAL,CAAY,CAAC,GAAb,CAAA;MAER,WAAA;AAAc,gBAAO,KAAP;AAAA,eACL,GADK;mBACI;AADJ,eAEL,KAFK;mBAEM;AAFN,eAGL,IAHK;mBAGK;AAHL,eAIL,KAJK;mBAIM;AAJN;;MAMd,MAAA,GAAS,GAAG,CAAC,IAAJ,CAAS,aAAT;aACT,MAAM,CAAC,OAAO,CAAC,OAAf,CAAuB,CAAA,SAAA,CAAA,CAAY,WAAZ,CAAA,CAAvB;IAVkB,CAAtB;IAYA,CAAA,CAAE,aAAF,CAAgB,CAAC,KAAjB,CAAuB,QAAA,CAAA,CAAA;AACnB,UAAA,IAAA,EAAA;MAAA,IAAA,GAAO,CAAA,CAAE,WAAF,CAAc,CAAC,GAAf,CAAA;MACP,IAAA,GAAO,CAAC,GAAG,CAAC,IAAJ,CAAS,aAAT,CAAD,CAAwB,CAAC,QAAzB,CAAA;aAEP,CAAC,CAAC,IAAF,CAAO,MAAM,CAAC,QAAQ,CAAC,QAAvB,EAAiC;QAC7B,IAAA,EAAM,IADuB;QAE7B,IAAA,EAAM;MAFuB,CAAjC,EAGG,QAAA,CAAC,IAAD,CAAA;eACC,MAAM,CAAC,QAAQ,CAAC,OAAhB,CAAwB,CAAA,gCAAA,CAAA,CAAmC,IAAnC,CAAA,CAAxB;MADD,CAHH;IAJmB,CAAvB;WAUA,CAAA,CAAE,0BAAF,CAA6B,CAAC,KAA9B,CAAoC,QAAA,CAAA,CAAA;AAChC,UAAA;MAAA,MAAA,GAAS,CAAA,CAAE,SAAF,CAAY,CAAC,GAAb,CAAA;aAET,CAAC,CAAC,IAAF,CAAO,MAAM,CAAC,QAAQ,CAAC,QAAvB,EAAiC;QAC7B,MAAA,EAAQ;MADqB,CAAjC,EAEG,QAAA,CAAC,IAAD,CAAA;eACC,UAAA,CAAW,IAAX,EAAiB,MAAM,CAAC,QAAQ,CAAC,MAAjC;MADD,CAFH;IAHgC,CAApC;EAvBc,CAAlB;AAAA",
+  "mappings": ";AAAA;EAAA,CAAA,CAAE,QAAF,CAAW,CAAC,KAAZ,CAAkB,QAAA,CAAA,CAAA;IACd,CAAA,CAAE,WAAF,CAAc,CAAC,MAAf,CAAsB,QAAA,CAAC,EAAD,CAAA;AAClB,UAAA,KAAA,EAAA,MAAA,EAAA;MAAA,KAAA,GAAQ,CAAA,CAAE,EAAE,CAAC,MAAL,CAAY,CAAC,GAAb,CAAA;MAER,WAAA;AAAc,gBAAO,KAAP;AAAA,eACL,GADK;mBACI;AADJ,eAEL,KAFK;mBAEM;AAFN,eAGL,IAHK;mBAGK;AAHL,eAIL,KAJK;mBAIM;AAJN;;MAMd,MAAA,GAAS,GAAG,CAAC,IAAJ,CAAS,aAAT;aACT,MAAM,CAAC,OAAO,CAAC,OAAf,CAAuB,CAAA,SAAA,CAAA,CAAY,WAAZ,CAAA,CAAvB;IAVkB,CAAtB;IAYA,CAAA,CAAE,aAAF,CAAgB,CAAC,KAAjB,CAAuB,QAAA,CAAA,CAAA;AACnB,UAAA,IAAA,EAAA,SAAA,EAAA;MAAA,IAAA,GAAO,CAAA,CAAE,WAAF,CAAc,CAAC,GAAf,CAAA;MACP,IAAA,GAAO,CAAC,GAAG,CAAC,IAAJ,CAAS,aAAT,CAAD,CAAwB,CAAC,QAAzB,CAAA;MAEP,SAAA,GAAY,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAzB,CAA+B,GAA/B,CAAD,CAAqC,CAAA,CAAA;aAEjD,CAAC,CAAC,IAAF,CAAO,MAAM,CAAC,QAAQ,CAAC,QAAvB,EAAiC;QAC7B,IAAA,EAAM,IADuB;QAE7B,IAAA,EAAM;MAFuB,CAAjC,EAGG,QAAA,CAAC,IAAD,CAAA;eACC,MAAM,CAAC,QAAQ,CAAC,OAAhB,CAAwB,CAAA,CAAA,CAAA,CAAI,SAAJ,CAAc,gCAAd,CAAA,CAAgD,IAAhD,CAAA,CAAxB;MADD,CAHH;IANmB,CAAvB;WAYA,CAAA,CAAE,0BAAF,CAA6B,CAAC,KAA9B,CAAoC,QAAA,CAAA,CAAA;AAChC,UAAA;MAAA,MAAA,GAAS,CAAA,CAAE,SAAF,CAAY,CAAC,GAAb,CAAA;aAET,CAAC,CAAC,IAAF,CAAO,MAAM,CAAC,QAAQ,CAAC,QAAvB,EAAiC;QAC7B,MAAA,EAAQ;MADqB,CAAjC,EAEG,QAAA,CAAC,IAAD,CAAA;eACC,UAAA,CAAW,IAAX,EAAiB,MAAM,CAAC,QAAQ,CAAC,MAAjC;MADD,CAFH;IAHgC,CAApC;EAzBc,CAAlB;AAAA",
   "sourcesContent": [
-    "$(document).ready ->\n    $(\"#language\").change (ev) ->\n        $lang = $(ev.target).val()\n\n        editor_lang = switch $lang\n            when 'c' then 'c_cpp'\n            when 'cpp' then 'c_cpp'\n            when 'py' then 'python'\n            when 'lua' then 'lua'\n\n        editor = ace.edit 'code-editor'\n        editor.session.setMode \"ace/mode/#{editor_lang}\"\n\n    $('#submit-btn').click ->\n        lang = $('#language').val()\n        code = (ace.edit 'code-editor').getValue()\n\n        $.post window.location.pathname, {\n            lang: lang,\n            code: code\n        }, (data) ->\n            window.location.replace(\"/submissions/view?submission_id=#{data}\")\n\n    $('#word-problem-submit-btn').click ->\n        answer = $('#answer').val()\n\n        $.post window.location.pathname, {\n            answer: answer\n        }, (data) ->\n            setTimeout 1000, window.location.reload\n"
+    "$(document).ready ->\n    $(\"#language\").change (ev) ->\n        $lang = $(ev.target).val()\n\n        editor_lang = switch $lang\n            when 'c' then 'c_cpp'\n            when 'cpp' then 'c_cpp'\n            when 'py' then 'python'\n            when 'lua' then 'lua'\n\n        editor = ace.edit 'code-editor'\n        editor.session.setMode \"ace/mode/#{editor_lang}\"\n\n    $('#submit-btn').click ->\n        lang = $('#language').val()\n        code = (ace.edit 'code-editor').getValue()\n\n        comp_name = (window.location.pathname.split '/')[1]\n\n        $.post window.location.pathname, {\n            lang: lang,\n            code: code\n        }, (data) ->\n            window.location.replace(\"/#{comp_name}/submissions/view?submission_id=#{data}\")\n\n    $('#word-problem-submit-btn').click ->\n        answer = $('#answer').val()\n\n        $.post window.location.pathname, {\n            answer: answer\n        }, (data) ->\n            setTimeout 1000, window.location.reload\n"
   ]
 }
\ No newline at end of file
index ea248245847f928603c0934d8bc9608c4fe94957..59f2836e445d7898dc35d083e499dfa8441d70e8 100644 (file)
@@ -1,11 +1,13 @@
 // Generated by CoffeeScript 2.4.1
 (function() {
-  var submission_id, updateStatus;
+  var competition_name, submission_id, updateStatus;
 
   submission_id = (new URLSearchParams(window.location.search)).get('submission_id');
 
+  competition_name = (window.location.pathname.split('/'))[1];
+
   updateStatus = function() {
-    return $.get('/submissions/status', {
+    return $.get(`/${competition_name}/submissions/status`, {
       submission_id: submission_id
     }, function(html, _, data) {
       return $('#status-container').html(html);
index a00c822b543901353a50ad590d93823fe00de967..7b704fad15c021f589dace12886015ca48406f85 100644 (file)
@@ -6,8 +6,8 @@
     "coffee/submission_reloader.coffee"
   ],
   "names": [],
-  "mappings": ";AAAA;AAAA,MAAA,aAAA,EAAA;;EAAA,aAAA,GAAgB,CAAC,IAAI,eAAJ,CAAoB,MAAM,CAAC,QAAQ,CAAC,MAApC,CAAD,CAA4C,CAAC,GAA7C,CAAiD,eAAjD;;EAEhB,YAAA,GAAe,QAAA,CAAA,CAAA;WACX,CAAC,CAAC,GAAF,CAAM,qBAAN,EAA6B;MAAE,aAAA,EAAe;IAAjB,CAA7B,EAA+D,QAAA,CAAC,IAAD,EAAO,CAAP,EAAU,IAAV,CAAA;aAC3D,CAAA,CAAE,mBAAF,CAAsB,CAAC,IAAvB,CAA4B,IAA5B;IAD2D,CAA/D;EADW;;EAIf,CAAA,CAAE,QAAF,CAAW,CAAC,KAAZ,CAAkB,QAAA,CAAA,CAAA;AACjB,QAAA;IAAA,MAAA,GAAS,EAAA,CAAA;IACT,MAAM,CAAC,IAAP,CAAY,4BAAZ,EAA0C,aAA1C;WAEA,MAAM,CAAC,EAAP,CAAU,QAAV,EAAoB,QAAA,CAAA,CAAA;aACnB,YAAA,CAAA;IADmB,CAApB;EAJiB,CAAlB;AANA",
+  "mappings": ";AAAA;AAAA,MAAA,gBAAA,EAAA,aAAA,EAAA;;EAAA,aAAA,GAAgB,CAAC,IAAI,eAAJ,CAAoB,MAAM,CAAC,QAAQ,CAAC,MAApC,CAAD,CAA4C,CAAC,GAA7C,CAAiD,eAAjD;;EAChB,gBAAA,GAAmB,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAzB,CAA+B,GAA/B,CAAD,CAAqC,CAAA,CAAA;;EAExD,YAAA,GAAe,QAAA,CAAA,CAAA;WACX,CAAC,CAAC,GAAF,CAAM,CAAA,CAAA,CAAA,CAAI,gBAAJ,CAAqB,mBAArB,CAAN,EAAiD;MAAE,aAAA,EAAe;IAAjB,CAAjD,EAAmF,QAAA,CAAC,IAAD,EAAO,CAAP,EAAU,IAAV,CAAA;aAC/E,CAAA,CAAE,mBAAF,CAAsB,CAAC,IAAvB,CAA4B,IAA5B;IAD+E,CAAnF;EADW;;EAIf,CAAA,CAAE,QAAF,CAAW,CAAC,KAAZ,CAAkB,QAAA,CAAA,CAAA;AACjB,QAAA;IAAA,MAAA,GAAS,EAAA,CAAA;IACT,MAAM,CAAC,IAAP,CAAY,4BAAZ,EAA0C,aAA1C;WAEA,MAAM,CAAC,EAAP,CAAU,QAAV,EAAoB,QAAA,CAAA,CAAA;aACnB,YAAA,CAAA;IADmB,CAApB;EAJiB,CAAlB;AAPA",
   "sourcesContent": [
-    "submission_id = (new URLSearchParams window.location.search).get 'submission_id'\n\nupdateStatus = ->\n    $.get '/submissions/status', { submission_id: submission_id }, (html, _, data) ->\n        $('#status-container').html html\n\n$(document).ready ->\n\tsocket = io()\n\tsocket.emit \"request-submission-updates\", submission_id\n\n\tsocket.on 'update', ->\n\t\tupdateStatus()\n"
+    "submission_id = (new URLSearchParams window.location.search).get 'submission_id'\ncompetition_name = (window.location.pathname.split '/')[1]\n\nupdateStatus = ->\n    $.get \"/#{competition_name}/submissions/status\", { submission_id: submission_id }, (html, _, data) ->\n        $('#status-container').html html\n\n$(document).ready ->\n\tsocket = io()\n\tsocket.emit \"request-submission-updates\", submission_id\n\n\tsocket.on 'update', ->\n\t\tupdateStatus()\n"
   ]
 }
\ No newline at end of file
index b9e8eea7f609cbd977248a88e714304b4d7e04a4..c0c0c4b5bb8f23bc7640f6701632e904cb5379c0 100644 (file)
@@ -113,6 +113,11 @@ pre {
        @include elevate(2px, rgba(0, 0, 0, 0.5));
        background-color: #111;
 
+       .highlight {
+               background-color: #111;
+               transition: background 0.2s;
+       }
+
        .highlight:hover {
                background-color: #333;
        }
index 2f413a0656938a3399ffb9de84552c4ba7e94626..07a8c97410e9c606ed82ee2af189bad7f53c39bf 100644 (file)
@@ -45,9 +45,15 @@ button, a.button {
 
        cursor: pointer;
 
+       transition: background 0.2s;
+
        & + button, & + a.button {
                margin-left: 12px;
        }
+
+       &:hover {
+               background-color: $primary;
+       }
 }
 
 input, textarea, select {
index 2f673e07de11e3c17b042bd072306235a025a438..86c82a53d6869b47fa3fb199994e2fe3a148e662 100644 (file)
@@ -10,13 +10,13 @@ class Binding
        bind_static: (name, service) =>
                @static_bindings[name] = service
 
-       make: (name) =>
+       make: (name, ...) =>
                if @bindings[name]
-                       return @bindings[name]()
+                       return @bindings[name](...)
                elseif @statics[name]
                        return @statics[name]
                elseif @static_bindings[name]
-                       stat = @static_bindings[name]()
+                       stat = @static_bindings[name](...)
                        @statics[name] = stat
                        return stat
 
index 501936772671bd69bedc9a25388d7391e968169e..28c3c6d2120a272fc60eb4f4a1bff4fe16bf4fbd 100644 (file)
@@ -12,7 +12,7 @@ class AdminCompetition extends html.Widget
                                div class: 'option-line', ->
                                        span comp.name
                                        div class: 'button-list', ->
-                                               a href: (@url_for "admin.competition.activate", { competition_id: comp.id }), "Make active"
+                                               a href: (@url_for "admin.competition.toggle_active", { competition_id: comp.id }), "Toggle active"
                                                a href: (@url_for "admin.competition.edit", { competition_id: comp.id }), "Edit"
                                                a href: (@url_for "admin.competition.delete", { competition_id: comp.id}), 'Delete'
 
index ff2694a9c6dd1be10952e6dac6913c8e866dc77b..62db8f61dc59e4f6375a350a0c853c04bd6cbe45 100644 (file)
@@ -15,18 +15,22 @@ class AdminCompetitionEdit extends html.Widget
                                                                label for: 'name', 'Competition name'
                                                                input type: 'text', name: 'name', value: "#{@comp.name}", ""
                                                        div ->
-                                                               label for: 'time_offset', 'Time offset (in minutes)'
-                                                               input type: 'number', name: 'time_offset', value: "#{@comp.time_offset}", ""
+                                                               label for: 'short_name', 'URL name'
+                                                               input type: 'text', name: 'short_name', value: "#{@comp.short_name}", ""
 
-                                               div class: 'split-2', ->
-                                                       div ->
+                                               div class: 'split-3', ->
+                                                       div class: 'pad-r-6', ->
                                                                label for: 'start_time', 'Start time'
                                                                input type: 'datetime-local', name: 'start_time', value: "#{@comp.start}", ""
 
-                                                       div ->
+                                                       div class: 'pad-l-6 pad-r-6', ->
                                                                label for: 'end_time', 'End time'
                                                                input type: 'datetime-local', name: 'end_time', value: "#{@comp.end}", ""
 
+                                                       div class: 'pad-l-6', ->
+                                                               label for: 'time_offset', 'Time offset (in minutes)'
+                                                               input type: 'number', name: 'time_offset', value: "#{@comp.time_offset}", ""
+
                                                div class: 'mar-t-48', -> text ""
 
                                                div class: 'split-3', ->
index 998cc90e7dfe0349e290b20851bd5e2fadb4b862..6dd0b686dccea7c9727997b5ff220275887b35d5 100644 (file)
@@ -10,5 +10,5 @@ class JoinCompetition extends html.Widget
                                p "Would you like to join the current competition?"
                                p "Your name will appear on the leaderboard and you will be able to see the problems for this competition."
 
-                       a href: (@url_for 'join_competition'), class: 'button w100 ta-center', 'Join the competition'
+                       a href: (@url_for 'join_competition', { competition_name: @competition.short_name }), class: 'button w100 ta-center', 'Join the competition'
 
diff --git a/codebox/views/competition/list.moon b/codebox/views/competition/list.moon
new file mode 100644 (file)
index 0000000..f52b9e5
--- /dev/null
@@ -0,0 +1,23 @@
+html = require 'lapis.html'
+require 'utils.table'
+
+class CompetitionList extends html.Widget
+       content: =>
+               current_time = os.time()
+               h1 "Current Competitions"
+
+               div class: 'content', ->
+                       for comp in *@competitions
+                               continue unless current_time <= comp\get_end_time_num!
+
+                               a class: 'button w100 ta-center', href: (@url_for "leaderboard", { competition_name: comp.short_name }), ->
+                                       text comp.name
+
+               h1 "Past Competitions"
+
+               div class: 'content', ->
+                       for comp in *@competitions
+                               continue if current_time <= comp\get_end_time_num!
+
+                               a class: 'button w100 ta-center', href: (@url_for "leaderboard", { competition_name: comp.short_name }), ->
+                                       text comp.name
index 1a81169d8190176827567dcac023f94344976fb6..ae9cb93f4248c1ab6b2c06dbd12d76dce5411168 100644 (file)
@@ -6,10 +6,13 @@ class Navigation extends html.Widget
                        div class: 'navbar-logo', ->
                                img src: '/static/imgs/logo.png'
 
-                       ul ->
-                               a href: (@url_for 'leaderboard'), -> li class: { 'selected': @navbar.selected == 0 }, 'Leaderboard'
-                               a href: (@url_for 'problem'), -> li class: { 'selected': @navbar.selected == 1 }, 'Problems'
-                               a href: (@url_for 'submission.list'), -> li class: { 'selected': @navbar.selected == 2 }, 'Submissions'
+                       if @params.competition_name
+                               ul ->
+                                       a href: (@url_for 'leaderboard', { competition_name: @params.competition_name }), -> li class: { 'selected': @navbar.selected == 0 }, 'Leaderboard'
+                                       a href: (@url_for 'problem' , { competition_name: @params.competition_name }), -> li class: { 'selected': @navbar.selected == 1 }, 'Problems'
+                                       a href: (@url_for 'submission.list', { competition_name: @params.competition_name }), -> li class: { 'selected': @navbar.selected == 2 }, 'Submissions'
+                       else
+                               div ""
 
                        div class: 'navbar-username', ->
                                if @user
index 9def7ae3c2a4339601f07edf362c0f6a82d3143c..64473625592934445667aaf5cca9008b1f18ea1e 100644 (file)
@@ -3,7 +3,7 @@ import Competitions, Users from require 'models'
 
 class ProblemSidebar extends html.Widget
     load_problems: =>
-        @current_comp = Competitions\find active: true
+        @current_comp = Competitions\find short_name: @params.competition_name
        @problems = @current_comp\get_problems!
 
                for prob in *@problems
@@ -16,7 +16,7 @@ class ProblemSidebar extends html.Widget
         @load_problems!
 
         for prob in *@problems
-            a href: (@url_for 'problem.description', problem_name: prob.short_name), ->
+            a href: (@url_for 'problem.description', { problem_name: prob.short_name, competition_name: @current_comp.short_name }), ->
                 div {
                     selected: prob.short_name == @params.problem_name
                     correct: prob.tag == "correct"
index 8ac8b4aafcb4252532c619fee5b5a3ce9209e7c4..5b068d98df2754aee9d54a7ca6d974f90a735c9d 100644 (file)
@@ -35,8 +35,12 @@ class ProblemsView extends html.Widget
                                                                        kind = Problems.kinds\to_name @problem.kind
                                                                        div "#{kind}"
                                                else
-                                                       a style: "margin-bottom: 0; font-size: 1.4rem", class: 'ta-center button w100', href: (@url_for 'problem.submit', { problem_name: @problem.short_name }), ->
-                                                               text "Make a submission"
+                                                       a {
+                                                               style: "margin-bottom: 0; font-size: 1.4rem"
+                                                               class: 'ta-center button w100'
+                                                               href: (@url_for 'problem.submit', { competition_name: @competition.short_name, problem_name: @problem.short_name })
+                                                               -> text "Make a submission"
+                                                       }
 
                                                        div class: 'box', ->
                                                                div class: 'split-lr pad-12', ->
index e33443b19176ee1e358d53380471ea631e50e863..49f8f5e921b5c0bb0b226ebc9f9dcd8b0d71af3e 100644 (file)
@@ -12,6 +12,7 @@ class JobResultView extends html.Widget
 
                @username = @job\get_user!.username
                @problem = @job\get_problem!
+               @competition = @job\get_competition!
         @bytes = @job.bytes
                @time_started = @job.time_initiated
                if @job.data
@@ -58,7 +59,7 @@ class JobResultView extends html.Widget
                                                div class: 'fill', ''
 
                                div class: 'mar-r-12', ->
-                    a href: (@url_for "problem.submit", { problem_name: @problem.short_name }), class: 'button w100 ta-center mar-t-12',
+                    a href: (@url_for "problem.submit", { competition_name: @competition.short_name, problem_name: @problem.short_name }), class: 'button w100 ta-center mar-t-12',
                         "Create new submission"
 
                                        div class: 'header-line mar-t-4', ->
@@ -76,7 +77,7 @@ class JobResultView extends html.Widget
                                                        div "#{@username}"
                                                div class: "highlight pad-l-12 pad-r-12 pad-t-4 pad-b-4 split-lr", ->
                                                        div "Problem:"
-                                                       a href: (@url_for 'problem.description', { problem_name: @problem.short_name }), "#{@problem.name}"
+                                                       a href: (@url_for 'problem.description', { competition_name: @competition.short_name, problem_name: @problem.short_name }), "#{@problem.name}"
                                                div class: 'hightlight pad-l-12 pad-r-12 pad-t-4 pad-b-4 split-lr', ->
                                                        div "Time limit:"
                                                        div "#{@problem.time_limit}ms"
index b3949e7188f0ecde7481e78991e33b97a2768ea5..d050ae24aa90180c3b0d80f7f455afd2ac19abc5 100644 (file)
@@ -20,7 +20,7 @@ class SubmissionList extends html.Widget
                         div ->
                             for job in *jobs
                                 tab_color = job.status == Jobs.statuses.correct and 'success' or 'error'
-                                a href: (@url_for 'submission.view', {}, { submission_id: job.job_id }), ->
+                                a href: (@url_for 'submission.view', { competition_name: @competition.short_name }, { submission_id: job.job_id }), ->
                                     div class: "highlight tabbed-split tab-24 #{tab_color}", ->
                                         span ""
                                         div class: 'pad-12 split-4', ->
index 349d37ef391df4f236f515d5709f964ccbdb4cdf..de7023f6dd8e4ccad8c1317ed153055df489587e 100644 (file)
--- a/docs/todo
+++ b/docs/todo
        X Add page that simply renders the problem in the same way as the existing problem description
 
 [ ] Multiple active competitions at a time
-       * When users visit root of site, display list of active competitions
-       * Users join each competition independently
-       * Shouldn't be much overhead, just removing all instances where searching for currently active competition
+       X When users visit root of site, display list of active competitions
+       X Users join each competition independently
+       X Shouldn't be much overhead, just removing all instances where searching for currently active competition
+       * Guarantee there will be errors somewhere to find
 
 [ ] Add shortcuts around the site
        * Problem description -> Problem submissions