diff --git a/src/components/CategoryPieChart/index.jsx b/src/components/CategoryPieChart/index.jsx
index 0f77f42..0e3b35c 100644
--- a/src/components/CategoryPieChart/index.jsx
+++ b/src/components/CategoryPieChart/index.jsx
@@ -7,16 +7,24 @@ import { getTheme } from '../../slices/themeSlice';
export default function CategoryPieChart() {
const theme = useSelector(getTheme);
+ const values = [15, 25, 15, 10, 35];
+ const colors = values.map((item) => (
+ theme.primary + Math.round((item * 255) / 35).toString(16).toUpperCase()
+ ));
+
return (
);
diff --git a/src/components/ChallengeSolvePlot/index.jsx b/src/components/ChallengeSolvePlot/index.jsx
index 0f36da2..7a5ba97 100644
--- a/src/components/ChallengeSolvePlot/index.jsx
+++ b/src/components/ChallengeSolvePlot/index.jsx
@@ -18,7 +18,6 @@ export default function ChallengeSolvePlot() {
const colors = y.map((item) => (
theme.primary + Math.round((item * 255) / yMax).toString(16).toUpperCase()
));
- console.log(colors);
return (
);
}
diff --git a/src/components/ScoreboardPlot/index.jsx b/src/components/ScoreboardPlot/index.jsx
index dc5684c..2671ea1 100644
--- a/src/components/ScoreboardPlot/index.jsx
+++ b/src/components/ScoreboardPlot/index.jsx
@@ -1,5 +1,6 @@
import React from 'react';
import Plot from 'react-plotly.js';
+
import { useSelector } from 'react-redux';
import propTypes from 'prop-types';
@@ -14,16 +15,17 @@ export default function ScoreboardPlot(props) {
const { width, height } = props;
const theme = useSelector(getTheme);
- const scoreboard = useSelector(selectScoreboard)
- .filter((_team, index) => index < 10);
+ const scoreboard = useSelector(selectScoreboard).slice(0, 50);
const getDataForTeam = (team) => {
- const x = team.submissions.map(({ timestamp }) => timestamp);
+ const x = [];
const y = [];
let sum = 0;
- for (let i = 0; i < x.length; i += 1) {
+ for (let i = 0; i < team.submissions.length; i += 1) {
sum += team.submissions[i].points;
+ const timestamp = new Date(team.submissions[i].timestamp);
+ x.push(timestamp);
y.push(sum);
}
@@ -37,7 +39,44 @@ export default function ScoreboardPlot(props) {
};
};
+ const genVisibilityArray = (start, end) => {
+ const visibilityArray = new Array(scoreboard.length);
+
+ for (let i = 0; i < visibilityArray.length; i += 1) {
+ visibilityArray[i] = false;
+ if (i >= start && i < end) {
+ visibilityArray[i] = true;
+ }
+ }
+
+ return visibilityArray;
+ };
+
const data = scoreboard.map((team) => getDataForTeam(team));
+ const batchSize = 10;
+
+ data.forEach((item, index) => {
+ if (index > batchSize) {
+ // eslint-disable-next-line no-param-reassign
+ item.visible = false;
+ }
+ });
+
+ const generateButtons = () => {
+ const buttons = [];
+
+ for (let i = 0; i < scoreboard.length; i += batchSize) {
+ buttons.push({
+ method: 'restyle',
+ label: `${i + 1}-${i + batchSize}`,
+ args: [{
+ visible: genVisibilityArray(i, i + batchSize),
+ }],
+ });
+ }
+
+ return buttons;
+ };
return (
diff --git a/src/slices/scoreboardSlice.js b/src/slices/scoreboardSlice.js
index 04164c9..0b7ffd4 100644
--- a/src/slices/scoreboardSlice.js
+++ b/src/slices/scoreboardSlice.js
@@ -1,214 +1,7 @@
import { createSlice } from '@reduxjs/toolkit';
+import dummyScoreboard from '../utils/dummyScoreboard.json';
-const initialState = [
- {
- rank: 7,
- team: 'csictf',
- points: 1450,
- country: 'India',
- submissions: [
- {
- qid: Math.random().toString(32),
- timestamp: 1602787644107,
- points: 300,
- },
- {
- qid: Math.random().toString(32),
- timestamp: 1602787649405,
- points: 510,
- },
- {
- qid: Math.random().toString(32),
- timestamp: 1602787653405,
- points: 640,
- },
- ],
- },
- {
- rank: 3,
- team: 'GreyFang',
- points: 1620,
- country: 'India',
- submissions: [
- {
- qid: Math.random().toString(32),
- timestamp: 1602787648107,
- points: 380,
- },
- {
- qid: Math.random().toString(32),
- timestamp: 1602787649905,
- points: 550,
- },
- {
- qid: Math.random().toString(32),
- timestamp: 1602787652405,
- points: 690,
- },
- ],
- },
- {
- rank: 1,
- team: 'bi0s',
- points: 1674,
- country: 'India',
- submissions: [
- {
- qid: Math.random().toString(32),
- timestamp: 1602787643107,
- points: 399,
- },
- {
- qid: Math.random().toString(32),
- timestamp: 1602787647005,
- points: 587,
- },
- {
- qid: Math.random().toString(32),
- timestamp: 1602787652345,
- points: 678,
- },
- ],
- },
- {
- rank: 2,
- team: '3k',
- points: 1621,
- country: 'Turkey',
- submissions: [
- {
- qid: Math.random().toString(32),
- timestamp: 1602787644907,
- points: 401,
- },
- {
- qid: Math.random().toString(32),
- timestamp: 1602787645405,
- points: 523,
- },
- {
- qid: Math.random().toString(32),
- timestamp: 1602787651405,
- points: 697,
- },
- ],
- },
- {
- rank: 6,
- team: 'Zh3r0',
- points: 1516,
- country: 'India',
- submissions: [
- {
- qid: Math.random().toString(32),
- timestamp: 1602787641307,
- points: 411,
- },
- {
- qid: Math.random().toString(32),
- timestamp: 1602787644605,
- points: 514,
- },
- {
- qid: Math.random().toString(32),
- timestamp: 1602787653905,
- points: 591,
- },
- ],
- },
- {
- rank: 5,
- team: 'irNoobs',
- points: 1569,
- country: 'Iran',
- submissions: [
- {
- qid: Math.random().toString(32),
- timestamp: 1602787639417,
- points: 313,
- },
- {
- qid: Math.random().toString(32),
- timestamp: 1602787643505,
- points: 522,
- },
- {
- qid: Math.random().toString(32),
- timestamp: 1602787653135,
- points: 633,
- },
- ],
- },
- {
- rank: 4,
- team: 'InfosecIITR',
- points: 1588,
- country: 'India',
- submissions: [
- {
- qid: Math.random().toString(32),
- timestamp: 1602787641937,
- points: 396,
- },
- {
- qid: Math.random().toString(32),
- timestamp: 1602787646415,
- points: 521,
- },
- {
- qid: Math.random().toString(32),
- timestamp: 1602787652415,
- points: 671,
- },
- ],
- },
- {
- rank: 8,
- team: 'warlock_rootx',
- points: 1446,
- country: 'India',
- submissions: [
- {
- qid: Math.random().toString(32),
- timestamp: 1602787641437,
- points: 391,
- },
- {
- qid: Math.random().toString(32),
- timestamp: 1602787646415,
- points: 511,
- },
- {
- qid: Math.random().toString(32),
- timestamp: 1602787652995,
- points: 544,
- },
- ],
- },
- {
- rank: 9,
- team: 'Shellphish',
- points: 1433,
- country: 'USA',
- submissions: [
- {
- qid: Math.random().toString(32),
- timestamp: 1602787641207,
- points: 301,
- },
- {
- qid: Math.random().toString(32),
- timestamp: 1602787646105,
- points: 533,
- },
- {
- qid: Math.random().toString(32),
- timestamp: 1602787650005,
- points: 599,
- },
- ],
- },
-];
+const initialState = dummyScoreboard;
const scoreboardSlice = createSlice({
name: 'scoreboard',
diff --git a/src/utils/dummyScoreboard.json b/src/utils/dummyScoreboard.json
new file mode 100644
index 0000000..c91b343
--- /dev/null
+++ b/src/utils/dummyScoreboard.json
@@ -0,0 +1,1652 @@
+[
+ {
+ "rank": 1,
+ "points": 3443,
+ "team": "4hs4eh26nlgfoe4kmpurcn",
+ "country": "xi5a243fys051aly8t8jz2",
+ "submissions": [
+ {
+ "qid": "jk5d82apzgexqzsiqjmykd",
+ "timestamp": 1602787646553,
+ "points": 0
+ },
+ {
+ "qid": "jb563hg2or9kvbxm90xz",
+ "timestamp": 1602787647516,
+ "points": 782
+ },
+ {
+ "qid": "brtatp5pvqk3nehzkkbik",
+ "timestamp": 1602787651699,
+ "points": 814
+ },
+ {
+ "qid": "v8gxo85vqx6q571r1eka",
+ "timestamp": 1602787653499,
+ "points": 882
+ },
+ {
+ "qid": "4dvm5tkcj1am1zsqlbdpwo",
+ "timestamp": 1602787653746,
+ "points": 965
+ }
+ ]
+ },
+ {
+ "rank": 2,
+ "points": 3186,
+ "team": "pdlg0qy8xnjr510x9ggx27",
+ "country": "xi5a243fys051aly8t8jz2",
+ "submissions": [
+ {
+ "qid": "mw3cu2sa08jsx8z1mfuf0p",
+ "timestamp": 1602787647318,
+ "points": 0
+ },
+ {
+ "qid": "ghjz1bbmp6m63724cdi3gm",
+ "timestamp": 1602787649823,
+ "points": 508
+ },
+ {
+ "qid": "lmnfj5n9bcr4az4o0gwxde",
+ "timestamp": 1602787652692,
+ "points": 757
+ },
+ {
+ "qid": "aw49q8l5t9e5abrajx4p7",
+ "timestamp": 1602787653022,
+ "points": 942
+ },
+ {
+ "qid": "x44n3w1d36qo0jvrpgsr1",
+ "timestamp": 1602787653208,
+ "points": 979
+ }
+ ]
+ },
+ {
+ "rank": 3,
+ "points": 3033,
+ "team": "wx0f05fa3alia47fwnsoi8",
+ "country": "3e0omgf54xen4w1497qns",
+ "submissions": [
+ {
+ "qid": "5lfj8ewi7mmve8b5elmdk",
+ "timestamp": 1602787639443,
+ "points": 0
+ },
+ {
+ "qid": "pazgo6khoa8xq0c3ctbb",
+ "timestamp": 1602787641388,
+ "points": 689
+ },
+ {
+ "qid": "dq8bm8efj374j9w5u7tpww",
+ "timestamp": 1602787646015,
+ "points": 736
+ },
+ {
+ "qid": "ii2wzbxirjrpig7jj7iru",
+ "timestamp": 1602787650346,
+ "points": 766
+ },
+ {
+ "qid": "yrmghh6hxyi6n2e4vwojcq",
+ "timestamp": 1602787651166,
+ "points": 842
+ }
+ ]
+ },
+ {
+ "rank": 4,
+ "points": 2983,
+ "team": "29g5kl3b564qjmi3t286x",
+ "country": "r6biyj91ottc4dhnajxyn",
+ "submissions": [
+ {
+ "qid": "f1kexc4bkiuk9oindii0i",
+ "timestamp": 1602787641037,
+ "points": 0
+ },
+ {
+ "qid": "7fcu5w7o9fw0mim8mc5jwai",
+ "timestamp": 1602787643713,
+ "points": 404
+ },
+ {
+ "qid": "t3kl9imcpphjwrhkhlyve",
+ "timestamp": 1602787646067,
+ "points": 768
+ },
+ {
+ "qid": "7lr58uk12cx5nwxdspn2hq",
+ "timestamp": 1602787648316,
+ "points": 857
+ },
+ {
+ "qid": "45yb6yyexrylmyiylg6bji",
+ "timestamp": 1602787652931,
+ "points": 954
+ }
+ ]
+ },
+ {
+ "rank": 5,
+ "points": 2969,
+ "team": "6kcgv0lgdyt6sflmmkr03h",
+ "country": "xi5a243fys051aly8t8jz2",
+ "submissions": [
+ {
+ "qid": "sxhd0h9v2jatw8s09wl03",
+ "timestamp": 1602787642744,
+ "points": 0
+ },
+ {
+ "qid": "zncv4cq515ehnrzj3wbn",
+ "timestamp": 1602787648886,
+ "points": 351
+ },
+ {
+ "qid": "08z8ugr4i4u83jds3k91l95",
+ "timestamp": 1602787649473,
+ "points": 733
+ },
+ {
+ "qid": "3xz84ymmpcc3x4opukaisf",
+ "timestamp": 1602787652619,
+ "points": 888
+ },
+ {
+ "qid": "gguy382mbivpcykvd2nub",
+ "timestamp": 1602787653137,
+ "points": 997
+ }
+ ]
+ },
+ {
+ "rank": 6,
+ "points": 2960,
+ "team": "e33llpljiaxewlhor1w2",
+ "country": "02ix5rjp3kdro8u9lv95foi",
+ "submissions": [
+ {
+ "qid": "2zon4j0utu6gtx986dck6r",
+ "timestamp": 1602787639513,
+ "points": 0
+ },
+ {
+ "qid": "snyiz4zfnemuu1l1uje4",
+ "timestamp": 1602787642747,
+ "points": 359
+ },
+ {
+ "qid": "4c0qjwlxhoohhgw9h65w1t",
+ "timestamp": 1602787644812,
+ "points": 793
+ },
+ {
+ "qid": "5pe1vs2lth07r0e8i7oshp",
+ "timestamp": 1602787650585,
+ "points": 885
+ },
+ {
+ "qid": "wbg3sy1lb1bal8x1j46ww",
+ "timestamp": 1602787653580,
+ "points": 923
+ }
+ ]
+ },
+ {
+ "rank": 7,
+ "points": 2893,
+ "team": "w274kv6dl70q2ln75i3etn",
+ "country": "j1az05za1rigaqf1nsu9l",
+ "submissions": [
+ {
+ "qid": "j1lqroa9d34sx3by8qtru",
+ "timestamp": 1602787643846,
+ "points": 0
+ },
+ {
+ "qid": "n0uqrj9hssnzuk2cdr7ajs",
+ "timestamp": 1602787645623,
+ "points": 549
+ },
+ {
+ "qid": "l707o01drxflfi2bd0xmw",
+ "timestamp": 1602787645693,
+ "points": 654
+ },
+ {
+ "qid": "q5h4msmu3xlrpqdfevk07k",
+ "timestamp": 1602787650728,
+ "points": 709
+ },
+ {
+ "qid": "wt4dsnrjcbawnemh52w2",
+ "timestamp": 1602787652630,
+ "points": 981
+ }
+ ]
+ },
+ {
+ "rank": 8,
+ "points": 2865,
+ "team": "gw8pf7rvoa4y8fitm2uhm",
+ "country": "9tix5igshhx4emdrm2v4b",
+ "submissions": [
+ {
+ "qid": "7tk0xglvy7xy31996sw5c",
+ "timestamp": 1602787639820,
+ "points": 0
+ },
+ {
+ "qid": "fmy9m6juy33czqrm5bshv",
+ "timestamp": 1602787644313,
+ "points": 526
+ },
+ {
+ "qid": "9sfbsr10baryfij5wrr2lo",
+ "timestamp": 1602787644964,
+ "points": 623
+ },
+ {
+ "qid": "nuockk29ahy4jhbwuqden",
+ "timestamp": 1602787645485,
+ "points": 856
+ },
+ {
+ "qid": "3137biovjpjofv7xk393im",
+ "timestamp": 1602787645892,
+ "points": 860
+ }
+ ]
+ },
+ {
+ "rank": 9,
+ "points": 2787,
+ "team": "c38ves9zkk8fvwptrylh9b",
+ "country": "wt7r9qctcxp4kofofq72b",
+ "submissions": [
+ {
+ "qid": "hhzpo90m3flneca0qf5c3",
+ "timestamp": 1602787644601,
+ "points": 0
+ },
+ {
+ "qid": "fqqsyvh4lpeumsm35q5v",
+ "timestamp": 1602787645137,
+ "points": 443
+ },
+ {
+ "qid": "vnn0f9a6fqh216c5wogrc",
+ "timestamp": 1602787649693,
+ "points": 672
+ },
+ {
+ "qid": "2reyfec5rgikrek3hp7mli",
+ "timestamp": 1602787649705,
+ "points": 761
+ },
+ {
+ "qid": "srh3ucvtm3eitcnovvxy",
+ "timestamp": 1602787653292,
+ "points": 911
+ }
+ ]
+ },
+ {
+ "rank": 10,
+ "points": 2681,
+ "team": "tbw0llm7fzb7lkzviexejc",
+ "country": "xi5a243fys051aly8t8jz2",
+ "submissions": [
+ {
+ "qid": "ptcbqqqxle678vdpd4iq6",
+ "timestamp": 1602787644465,
+ "points": 0
+ },
+ {
+ "qid": "md0dpkmmulhj9rpy5iqia",
+ "timestamp": 1602787645638,
+ "points": 162
+ },
+ {
+ "qid": "d4qph8yz4p6zc8pwql1k1f",
+ "timestamp": 1602787650026,
+ "points": 800
+ },
+ {
+ "qid": "5em3z1gxerini5tycxgyi",
+ "timestamp": 1602787651079,
+ "points": 839
+ },
+ {
+ "qid": "22pcb4ish9o8heeq90uzgb",
+ "timestamp": 1602787651860,
+ "points": 880
+ }
+ ]
+ },
+ {
+ "rank": 11,
+ "points": 2637,
+ "team": "9h2aqycdyq7wgq88au01ef",
+ "country": "9tix5igshhx4emdrm2v4b",
+ "submissions": [
+ {
+ "qid": "07ax67aqp8ru1eejekv193",
+ "timestamp": 1602787642342,
+ "points": 0
+ },
+ {
+ "qid": "ajv7wygamt9lxq5xokup8q",
+ "timestamp": 1602787644351,
+ "points": 185
+ },
+ {
+ "qid": "fetbc35osumtib9n6sbm1a",
+ "timestamp": 1602787647075,
+ "points": 707
+ },
+ {
+ "qid": "upii8ogl2ite20yn9bez",
+ "timestamp": 1602787648047,
+ "points": 852
+ },
+ {
+ "qid": "pfqvirp09bxr92a7nhnns",
+ "timestamp": 1602787648855,
+ "points": 893
+ }
+ ]
+ },
+ {
+ "rank": 12,
+ "points": 2628,
+ "team": "zikvl2nypzck54nz5u5ig",
+ "country": "w94g98p0t5eeydvgmlyys",
+ "submissions": [
+ {
+ "qid": "4hg0ekuiid342i4bhdpt7x",
+ "timestamp": 1602787639513,
+ "points": 0
+ },
+ {
+ "qid": "hav5jxtcfcboxfpry1cfjr",
+ "timestamp": 1602787643198,
+ "points": 175
+ },
+ {
+ "qid": "bq1b8005l5n2rp5pz04lah",
+ "timestamp": 1602787649887,
+ "points": 745
+ },
+ {
+ "qid": "2g5awssuwk4vl9njy5gi9",
+ "timestamp": 1602787651387,
+ "points": 843
+ },
+ {
+ "qid": "uj0hah1evcn3x524w6ofrs",
+ "timestamp": 1602787653619,
+ "points": 865
+ }
+ ]
+ },
+ {
+ "rank": 13,
+ "points": 2596,
+ "team": "b1rp0v4srx45hwty076p52",
+ "country": "j1az05za1rigaqf1nsu9l",
+ "submissions": [
+ {
+ "qid": "y78dvvdcvgwdz19ymyeug",
+ "timestamp": 1602787643140,
+ "points": 0
+ },
+ {
+ "qid": "49cxs0yr6z4kvvxc7llyu",
+ "timestamp": 1602787643538,
+ "points": 552
+ },
+ {
+ "qid": "fasqp3qcvdlpybj68ggzzh",
+ "timestamp": 1602787644104,
+ "points": 650
+ },
+ {
+ "qid": "81mhqkurbrfp52k0ameoqm",
+ "timestamp": 1602787651972,
+ "points": 686
+ },
+ {
+ "qid": "kexxwoi5i7g5qgver5ab5r",
+ "timestamp": 1602787653538,
+ "points": 708
+ }
+ ]
+ },
+ {
+ "rank": 14,
+ "points": 2528,
+ "team": "xfv08ls2v7c0s31td1qag3",
+ "country": "9tix5igshhx4emdrm2v4b",
+ "submissions": [
+ {
+ "qid": "oyzvwl1kjh7r6w5sas59on",
+ "timestamp": 1602787639981,
+ "points": 0
+ },
+ {
+ "qid": "8oeawf3qh27i4xz5r9a9kk",
+ "timestamp": 1602787640938,
+ "points": 415
+ },
+ {
+ "qid": "fccs6ai11qkmuwgx5vbj5",
+ "timestamp": 1602787644299,
+ "points": 441
+ },
+ {
+ "qid": "q1z3cuze04856y446b87ny",
+ "timestamp": 1602787650437,
+ "points": 685
+ },
+ {
+ "qid": "az2zgw5trrv82f3s2u262",
+ "timestamp": 1602787650656,
+ "points": 987
+ }
+ ]
+ },
+ {
+ "rank": 15,
+ "points": 2510,
+ "team": "5kwq6zoxm5c7w4fh14jym7",
+ "country": "xi5a243fys051aly8t8jz2",
+ "submissions": [
+ {
+ "qid": "ms7kcoy4drl4fqptq4k98t",
+ "timestamp": 1602787646165,
+ "points": 0
+ },
+ {
+ "qid": "dahf6vgkwdeumvbmys8sb",
+ "timestamp": 1602787647994,
+ "points": 202
+ },
+ {
+ "qid": "2ld8ph3k1pwdw0aw9f86u",
+ "timestamp": 1602787651609,
+ "points": 652
+ },
+ {
+ "qid": "yagryfw2lmj3ysvl6mhjl5",
+ "timestamp": 1602787653271,
+ "points": 776
+ },
+ {
+ "qid": "flbf817v7nitayh6smpn5l",
+ "timestamp": 1602787653873,
+ "points": 880
+ }
+ ]
+ },
+ {
+ "rank": 16,
+ "points": 2480,
+ "team": "gk4ypf2xvtqj0uwk9krkvn",
+ "country": "j1az05za1rigaqf1nsu9l",
+ "submissions": [
+ {
+ "qid": "yfswe1526yk99rb5ad7feh",
+ "timestamp": 1602787640077,
+ "points": 0
+ },
+ {
+ "qid": "azjerm432g4r1t1lprx08",
+ "timestamp": 1602787640861,
+ "points": 106
+ },
+ {
+ "qid": "pay5lvnu0c8os3vkl8k1xk",
+ "timestamp": 1602787641306,
+ "points": 568
+ },
+ {
+ "qid": "wqim97a8ttm0c3t5zf7nlp9",
+ "timestamp": 1602787645436,
+ "points": 875
+ },
+ {
+ "qid": "gzszt2uwbw5mfac0i1tccc",
+ "timestamp": 1602787653395,
+ "points": 931
+ }
+ ]
+ },
+ {
+ "rank": 17,
+ "points": 2478,
+ "team": "x22mmqsiczlq7ilznwydx8",
+ "country": "02ix5rjp3kdro8u9lv95foi",
+ "submissions": [
+ {
+ "qid": "xxzosvd02exqjenbq47",
+ "timestamp": 1602787641865,
+ "points": 0
+ },
+ {
+ "qid": "613lzdh2rur6trx1raxx",
+ "timestamp": 1602787645226,
+ "points": 466
+ },
+ {
+ "qid": "4trrumgaqiuqwj4nyde4wb",
+ "timestamp": 1602787649751,
+ "points": 568
+ },
+ {
+ "qid": "tm6mxmneck93d4cpzu34h",
+ "timestamp": 1602787649783,
+ "points": 655
+ },
+ {
+ "qid": "sunzx7x2aqnfy40zr7clgn",
+ "timestamp": 1602787652474,
+ "points": 789
+ }
+ ]
+ },
+ {
+ "rank": 18,
+ "points": 2463,
+ "team": "cmkddjueoxm45bb0rokvs9",
+ "country": "8702btcs0oqff9p77koosk",
+ "submissions": [
+ {
+ "qid": "6dvjjr084ug7guir9864pt",
+ "timestamp": 1602787640500,
+ "points": 0
+ },
+ {
+ "qid": "bdf0por92bm43go524apn",
+ "timestamp": 1602787643738,
+ "points": 338
+ },
+ {
+ "qid": "qbofxwsrpku0im0fxi6bq",
+ "timestamp": 1602787644057,
+ "points": 558
+ },
+ {
+ "qid": "oggyrgj3g9q2fmgyr76xu3",
+ "timestamp": 1602787644425,
+ "points": 764
+ },
+ {
+ "qid": "bdpsa0xst1tl4ymos5pz0e",
+ "timestamp": 1602787648224,
+ "points": 803
+ }
+ ]
+ },
+ {
+ "rank": 19,
+ "points": 2451,
+ "team": "mmuy8asf9tiqdgxh7jyhy",
+ "country": "wt7r9qctcxp4kofofq72b",
+ "submissions": [
+ {
+ "qid": "lyc5ilihqykpnt1kjsokn",
+ "timestamp": 1602787639535,
+ "points": 0
+ },
+ {
+ "qid": "2vf00k6987ctjeh3bzucae",
+ "timestamp": 1602787645295,
+ "points": 320
+ },
+ {
+ "qid": "8trbo6f8xtxqvaidt79fxr",
+ "timestamp": 1602787646258,
+ "points": 445
+ },
+ {
+ "qid": "4z2d9t7y69bxvukz1t7syl",
+ "timestamp": 1602787646907,
+ "points": 758
+ },
+ {
+ "qid": "2wsyy9anomz34dk94s1b3g",
+ "timestamp": 1602787652552,
+ "points": 928
+ }
+ ]
+ },
+ {
+ "rank": 20,
+ "points": 2437,
+ "team": "x2zbg9t7nw4j7g2rd6d0u",
+ "country": "3e0omgf54xen4w1497qns",
+ "submissions": [
+ {
+ "qid": "lc9i090zhckrg8t9c7cfrd",
+ "timestamp": 1602787642866,
+ "points": 0
+ },
+ {
+ "qid": "1a7x8fxwo82dvkdd0equ3j",
+ "timestamp": 1602787647413,
+ "points": 337
+ },
+ {
+ "qid": "3opzhpshnshct9wab5ycw",
+ "timestamp": 1602787650365,
+ "points": 577
+ },
+ {
+ "qid": "cvagfbmjwolpqf5innq7kn",
+ "timestamp": 1602787650411,
+ "points": 730
+ },
+ {
+ "qid": "hs7kj0ucrxjcuqmwynl91",
+ "timestamp": 1602787650937,
+ "points": 793
+ }
+ ]
+ },
+ {
+ "rank": 21,
+ "points": 2427,
+ "team": "pycb5x3m7fjwnlcmhnpk",
+ "country": "3e0omgf54xen4w1497qns",
+ "submissions": [
+ {
+ "qid": "19wmcl6c3u871g2sh0rprl",
+ "timestamp": 1602787643443,
+ "points": 0
+ },
+ {
+ "qid": "t99kklnnskojrr52s57ugq",
+ "timestamp": 1602787647246,
+ "points": 511
+ },
+ {
+ "qid": "52ppdepch1g2adjr81pt0b",
+ "timestamp": 1602787649808,
+ "points": 621
+ },
+ {
+ "qid": "jhv938axxnlt0jvpg5gm",
+ "timestamp": 1602787652411,
+ "points": 627
+ },
+ {
+ "qid": "h2ssr349zknst183jrntrr",
+ "timestamp": 1602787652995,
+ "points": 668
+ }
+ ]
+ },
+ {
+ "rank": 22,
+ "points": 2414,
+ "team": "ip9onxl89u97bpvahinulf",
+ "country": "j1az05za1rigaqf1nsu9l",
+ "submissions": [
+ {
+ "qid": "acc4duqi44g4rt58ivf84t",
+ "timestamp": 1602787641614,
+ "points": 0
+ },
+ {
+ "qid": "oxmp27u51ga5g5fnthj6vd",
+ "timestamp": 1602787644582,
+ "points": 175
+ },
+ {
+ "qid": "r9oeevz2kwohlsaccvffc9",
+ "timestamp": 1602787650613,
+ "points": 383
+ },
+ {
+ "qid": "89srem01e4km49aommabbj",
+ "timestamp": 1602787651805,
+ "points": 880
+ },
+ {
+ "qid": "les7q5d9mrsq0co1gkhqs",
+ "timestamp": 1602787653396,
+ "points": 976
+ }
+ ]
+ },
+ {
+ "rank": 23,
+ "points": 2387,
+ "team": "irlx474ti6rvy52nxxqx3f",
+ "country": "xi5a243fys051aly8t8jz2",
+ "submissions": [
+ {
+ "qid": "3eeau6buzy2pmfqcfp9rbo",
+ "timestamp": 1602787639916,
+ "points": 0
+ },
+ {
+ "qid": "2gx4iyocrv3uns2xai4ji",
+ "timestamp": 1602787640822,
+ "points": 151
+ },
+ {
+ "qid": "2zg315ga716mw48q06eqv",
+ "timestamp": 1602787641477,
+ "points": 414
+ },
+ {
+ "qid": "ayykx4tdevft9mmxe94zq",
+ "timestamp": 1602787644421,
+ "points": 899
+ },
+ {
+ "qid": "gfopccar2bq8ll3kqbpt24",
+ "timestamp": 1602787647405,
+ "points": 923
+ }
+ ]
+ },
+ {
+ "rank": 24,
+ "points": 2347,
+ "team": "3ue2abadg7fb50c5m04yj",
+ "country": "qeb1fud4kpxv3qyefa4g",
+ "submissions": [
+ {
+ "qid": "mmajsai6l7kax9opfljye",
+ "timestamp": 1602787640024,
+ "points": 0
+ },
+ {
+ "qid": "nuoet35khefr0wjy78rkib",
+ "timestamp": 1602787641962,
+ "points": 130
+ },
+ {
+ "qid": "07w47u0x6stovilaagodv6",
+ "timestamp": 1602787643683,
+ "points": 568
+ },
+ {
+ "qid": "isuefvjw0h3kt0krpsw63",
+ "timestamp": 1602787644935,
+ "points": 692
+ },
+ {
+ "qid": "95qfyek3qqnnebwnnycwms",
+ "timestamp": 1602787649551,
+ "points": 957
+ }
+ ]
+ },
+ {
+ "rank": 25,
+ "points": 2333,
+ "team": "xdt3tbf01jp5nynryeed",
+ "country": "w94g98p0t5eeydvgmlyys",
+ "submissions": [
+ {
+ "qid": "6trgqvmltdg23n6tglnwm7i",
+ "timestamp": 1602787639496,
+ "points": 0
+ },
+ {
+ "qid": "85fd46k6h3m0edo27czasvj",
+ "timestamp": 1602787643263,
+ "points": 108
+ },
+ {
+ "qid": "x7s22m89lhg6q8iiytlc6",
+ "timestamp": 1602787645254,
+ "points": 607
+ },
+ {
+ "qid": "rxtq43n1mpmmeh4vrmfq8",
+ "timestamp": 1602787650448,
+ "points": 749
+ },
+ {
+ "qid": "ty1mx45ouvm9bpdpto4da",
+ "timestamp": 1602787653501,
+ "points": 869
+ }
+ ]
+ },
+ {
+ "rank": 26,
+ "points": 2305,
+ "team": "u8zfg9irjkduzgd4etku4",
+ "country": "8702btcs0oqff9p77koosk",
+ "submissions": [
+ {
+ "qid": "suxbnvvohzd8xammurm54",
+ "timestamp": 1602787639795,
+ "points": 0
+ },
+ {
+ "qid": "52gd1ic2ty960hiwp0i0ki",
+ "timestamp": 1602787639843,
+ "points": 131
+ },
+ {
+ "qid": "tdckqbf42yb85js1j5m24p",
+ "timestamp": 1602787641720,
+ "points": 538
+ },
+ {
+ "qid": "yehtrlkl2cav9zoian4u0q",
+ "timestamp": 1602787641864,
+ "points": 708
+ },
+ {
+ "qid": "siw3m0vzp9jd9fycmmsdo7",
+ "timestamp": 1602787650367,
+ "points": 928
+ }
+ ]
+ },
+ {
+ "rank": 27,
+ "points": 2220,
+ "team": "j1xfu26g0o0go331kuxxzg",
+ "country": "3e0omgf54xen4w1497qns",
+ "submissions": [
+ {
+ "qid": "slz1mmw87b57zrdcys7d2",
+ "timestamp": 1602787641387,
+ "points": 0
+ },
+ {
+ "qid": "kp91upo1qon40pvvfl0ue",
+ "timestamp": 1602787645192,
+ "points": 154
+ },
+ {
+ "qid": "dz1lhz7cqmhtej70vxpec",
+ "timestamp": 1602787648203,
+ "points": 554
+ },
+ {
+ "qid": "sqo43rvonqca2m1q53ssj",
+ "timestamp": 1602787649906,
+ "points": 704
+ },
+ {
+ "qid": "f7cqh4fmk93xz35q5ydq6",
+ "timestamp": 1602787650422,
+ "points": 808
+ }
+ ]
+ },
+ {
+ "rank": 28,
+ "points": 2189,
+ "team": "684mx25aovp8o36cclmfhj",
+ "country": "qeb1fud4kpxv3qyefa4g",
+ "submissions": [
+ {
+ "qid": "ppub2st30nftyi1i04bu1a",
+ "timestamp": 1602787646385,
+ "points": 0
+ },
+ {
+ "qid": "tvcwtq1yivfwq7q7nfwmvr",
+ "timestamp": 1602787647397,
+ "points": 480
+ },
+ {
+ "qid": "0ubhrh3hqltqjfa8gx0ht9",
+ "timestamp": 1602787647636,
+ "points": 521
+ },
+ {
+ "qid": "ldxwgzc70girro0m9b0j2b",
+ "timestamp": 1602787647662,
+ "points": 539
+ },
+ {
+ "qid": "gwpesi7jvxucj92lqdhu",
+ "timestamp": 1602787651815,
+ "points": 649
+ }
+ ]
+ },
+ {
+ "rank": 29,
+ "points": 2160,
+ "team": "1t8zeudxmgpb2uqchrnipt",
+ "country": "9tix5igshhx4emdrm2v4b",
+ "submissions": [
+ {
+ "qid": "c1aete3hfdkil92eviijwn",
+ "timestamp": 1602787639578,
+ "points": 0
+ },
+ {
+ "qid": "tx1ucz9ebymt6yz5qrh4v",
+ "timestamp": 1602787641921,
+ "points": 250
+ },
+ {
+ "qid": "e6xvcu2hmne2q7x796bxu",
+ "timestamp": 1602787648690,
+ "points": 472
+ },
+ {
+ "qid": "xvugr4syebnttpqbvu2pqe",
+ "timestamp": 1602787650829,
+ "points": 493
+ },
+ {
+ "qid": "snp6unpuitwxtgxq5kkp",
+ "timestamp": 1602787652174,
+ "points": 945
+ }
+ ]
+ },
+ {
+ "rank": 30,
+ "points": 2134,
+ "team": "0732f8ne9dehkdnkz0ehxl",
+ "country": "8702btcs0oqff9p77koosk",
+ "submissions": [
+ {
+ "qid": "xhomu8k4g9spfopbqkju3",
+ "timestamp": 1602787640568,
+ "points": 0
+ },
+ {
+ "qid": "8wfg9coo1z24mknmat3xjo",
+ "timestamp": 1602787643666,
+ "points": 209
+ },
+ {
+ "qid": "gsyrz7e1ezo851q8quaj47",
+ "timestamp": 1602787647199,
+ "points": 494
+ },
+ {
+ "qid": "hr9uhd845u7pcd1m6phaf7",
+ "timestamp": 1602787647921,
+ "points": 624
+ },
+ {
+ "qid": "8nhnb2x6pgrevc0ora0x2j",
+ "timestamp": 1602787651194,
+ "points": 807
+ }
+ ]
+ },
+ {
+ "rank": 31,
+ "points": 2084,
+ "team": "ptkkgqqa2emuymdy68dn",
+ "country": "wt7r9qctcxp4kofofq72b",
+ "submissions": [
+ {
+ "qid": "97y29yki0wccgggtys1rrn",
+ "timestamp": 1602787639805,
+ "points": 0
+ },
+ {
+ "qid": "iizcgtgur8tc0xzcvvute6",
+ "timestamp": 1602787640453,
+ "points": 394
+ },
+ {
+ "qid": "0lvuycrsocls81xiiipfql",
+ "timestamp": 1602787641151,
+ "points": 424
+ },
+ {
+ "qid": "ymjwyusxjgct8d9xmowsu",
+ "timestamp": 1602787644944,
+ "points": 624
+ },
+ {
+ "qid": "h3l3zi9uy4enbibu8qmhn",
+ "timestamp": 1602787650092,
+ "points": 642
+ }
+ ]
+ },
+ {
+ "rank": 32,
+ "points": 2066,
+ "team": "8efp7no1c57j4ybjheh2c",
+ "country": "02ix5rjp3kdro8u9lv95foi",
+ "submissions": [
+ {
+ "qid": "1kr91b9qrvyj1jtp2ezshzt",
+ "timestamp": 1602787641296,
+ "points": 0
+ },
+ {
+ "qid": "bi159kwxgkw1y98riomhxk",
+ "timestamp": 1602787643563,
+ "points": 109
+ },
+ {
+ "qid": "howytocbkjfia73alkko4p",
+ "timestamp": 1602787645100,
+ "points": 399
+ },
+ {
+ "qid": "gl7a1ztd3yokxr01zly04b",
+ "timestamp": 1602787645975,
+ "points": 765
+ },
+ {
+ "qid": "9v018u5gyjsu9ci4u9nvx8",
+ "timestamp": 1602787653667,
+ "points": 793
+ }
+ ]
+ },
+ {
+ "rank": 33,
+ "points": 2031,
+ "team": "9vczyf29n0mxgafm32w2",
+ "country": "wt7r9qctcxp4kofofq72b",
+ "submissions": [
+ {
+ "qid": "46ms6z4qfi5itpzfs51jxq",
+ "timestamp": 1602787640011,
+ "points": 0
+ },
+ {
+ "qid": "r7cqf30whmhl5we9708r2",
+ "timestamp": 1602787642338,
+ "points": 266
+ },
+ {
+ "qid": "pc1yyc3jvsu54pyh56yh",
+ "timestamp": 1602787644343,
+ "points": 491
+ },
+ {
+ "qid": "ohiywup9sgt7ysfkpqb8s",
+ "timestamp": 1602787650267,
+ "points": 545
+ },
+ {
+ "qid": "5hpjgaz7idyyaywt7vivgl",
+ "timestamp": 1602787653531,
+ "points": 729
+ }
+ ]
+ },
+ {
+ "rank": 34,
+ "points": 2007,
+ "team": "ht13jk3iwb98oz5gb6uyn",
+ "country": "wt7r9qctcxp4kofofq72b",
+ "submissions": [
+ {
+ "qid": "65wda9ap38xoz2ziponza",
+ "timestamp": 1602787643131,
+ "points": 0
+ },
+ {
+ "qid": "ydo785vxxgggp6gsugscet",
+ "timestamp": 1602787643603,
+ "points": 199
+ },
+ {
+ "qid": "3wa162wlq6lujwhwe50v1",
+ "timestamp": 1602787643618,
+ "points": 521
+ },
+ {
+ "qid": "uy8hc0u1eql7lugxg5iats",
+ "timestamp": 1602787649423,
+ "points": 617
+ },
+ {
+ "qid": "b6yg557p4opl59zkgixfe",
+ "timestamp": 1602787653531,
+ "points": 670
+ }
+ ]
+ },
+ {
+ "rank": 35,
+ "points": 2001,
+ "team": "teof89uxvoqeg3sm8pr7",
+ "country": "9tix5igshhx4emdrm2v4b",
+ "submissions": [
+ {
+ "qid": "2kva1dp8nu5p7tlmpa1dl8",
+ "timestamp": 1602787640577,
+ "points": 0
+ },
+ {
+ "qid": "jh9chgr8mroy2yf1a0ravs",
+ "timestamp": 1602787640849,
+ "points": 170
+ },
+ {
+ "qid": "aja7g5j6t7e9r9zo553sst",
+ "timestamp": 1602787641532,
+ "points": 242
+ },
+ {
+ "qid": "fzfs8ebb446fv5ibnnmaxg",
+ "timestamp": 1602787644617,
+ "points": 626
+ },
+ {
+ "qid": "dll8x9xorio2v5fzcyb1kq",
+ "timestamp": 1602787651554,
+ "points": 963
+ }
+ ]
+ },
+ {
+ "rank": 36,
+ "points": 1907,
+ "team": "irn7kw0wh190f2tswmnv4",
+ "country": "w94g98p0t5eeydvgmlyys",
+ "submissions": [
+ {
+ "qid": "u5d4z1m6b5ya7t1m3xewk",
+ "timestamp": 1602787641266,
+ "points": 0
+ },
+ {
+ "qid": "5lpig10p0mongz4tcerl7m",
+ "timestamp": 1602787648173,
+ "points": 142
+ },
+ {
+ "qid": "lb32hkin6gpo9wv5a5t44g",
+ "timestamp": 1602787649217,
+ "points": 400
+ },
+ {
+ "qid": "x52vx77hu5bckuum4zil4",
+ "timestamp": 1602787649738,
+ "points": 464
+ },
+ {
+ "qid": "312orv0ufrfao8l2ass2y",
+ "timestamp": 1602787653109,
+ "points": 901
+ }
+ ]
+ },
+ {
+ "rank": 37,
+ "points": 1890,
+ "team": "jtgzzjilnyif9n2hps7xmo",
+ "country": "9tix5igshhx4emdrm2v4b",
+ "submissions": [
+ {
+ "qid": "mnvvhyltlsh4q9bxatn6s",
+ "timestamp": 1602787641041,
+ "points": 0
+ },
+ {
+ "qid": "so31ubxzpslesnrrxom17i",
+ "timestamp": 1602787645983,
+ "points": 231
+ },
+ {
+ "qid": "8826ogort600fahhurb1qv",
+ "timestamp": 1602787646495,
+ "points": 271
+ },
+ {
+ "qid": "yk3goya5fr7ik61axrep9",
+ "timestamp": 1602787649169,
+ "points": 461
+ },
+ {
+ "qid": "c2q1ypzbp95pi0x9roe9z",
+ "timestamp": 1602787651389,
+ "points": 927
+ }
+ ]
+ },
+ {
+ "rank": 38,
+ "points": 1889,
+ "team": "ys1vg6r2rqo7t76m3nyxyw",
+ "country": "w94g98p0t5eeydvgmlyys",
+ "submissions": [
+ {
+ "qid": "4lokcbn001nj6tu6w5qko",
+ "timestamp": 1602787639984,
+ "points": 0
+ },
+ {
+ "qid": "txn64ah3svue9yo4m28x",
+ "timestamp": 1602787641379,
+ "points": 196
+ },
+ {
+ "qid": "xzybljyud5m3b39kgjb9",
+ "timestamp": 1602787647754,
+ "points": 350
+ },
+ {
+ "qid": "zfvkp5tadudo8s9j9sybor",
+ "timestamp": 1602787648553,
+ "points": 639
+ },
+ {
+ "qid": "niiiyu5n1l4wikg7ywmds",
+ "timestamp": 1602787653191,
+ "points": 704
+ }
+ ]
+ },
+ {
+ "rank": 39,
+ "points": 1870,
+ "team": "88zio9fbqsh0mzntzu9lv8i",
+ "country": "02ix5rjp3kdro8u9lv95foi",
+ "submissions": [
+ {
+ "qid": "x4sk4xpw1lhp5fqljf7omc",
+ "timestamp": 1602787641013,
+ "points": 0
+ },
+ {
+ "qid": "37pcl8yxvfop7l429rqane",
+ "timestamp": 1602787643954,
+ "points": 216
+ },
+ {
+ "qid": "oan3amzpmmsov1tgh6hak9",
+ "timestamp": 1602787649522,
+ "points": 297
+ },
+ {
+ "qid": "hpue8c98idpl6knqwobqs",
+ "timestamp": 1602787651960,
+ "points": 453
+ },
+ {
+ "qid": "x0doafwg1w42cytbq509t",
+ "timestamp": 1602787652481,
+ "points": 904
+ }
+ ]
+ },
+ {
+ "rank": 40,
+ "points": 1846,
+ "team": "5jvhf458pttdr40frdf1c7",
+ "country": "w94g98p0t5eeydvgmlyys",
+ "submissions": [
+ {
+ "qid": "7fxxubhscpvqt9jdhofso",
+ "timestamp": 1602787641911,
+ "points": 0
+ },
+ {
+ "qid": "s2zcn3zmqajzrf9yxqhqy",
+ "timestamp": 1602787645370,
+ "points": 297
+ },
+ {
+ "qid": "7weliweuxj50vvfqn97fr1",
+ "timestamp": 1602787646479,
+ "points": 376
+ },
+ {
+ "qid": "07apbdi7w8vys42f48yvue",
+ "timestamp": 1602787649751,
+ "points": 555
+ },
+ {
+ "qid": "ovd7obv7zdv83z9ydvopb",
+ "timestamp": 1602787651693,
+ "points": 618
+ }
+ ]
+ },
+ {
+ "rank": 41,
+ "points": 1833,
+ "team": "xkjds7dge43q3g2s32tle",
+ "country": "j1az05za1rigaqf1nsu9l",
+ "submissions": [
+ {
+ "qid": "sqiwcxfyvw85pbqav2zapn",
+ "timestamp": 1602787640847,
+ "points": 0
+ },
+ {
+ "qid": "rwlgvgtfirdg8gcwg9g88",
+ "timestamp": 1602787648103,
+ "points": 217
+ },
+ {
+ "qid": "8tntnz6ih93mqki2rj965m",
+ "timestamp": 1602787651665,
+ "points": 324
+ },
+ {
+ "qid": "kedko5a9f0imymx8faarq9",
+ "timestamp": 1602787652083,
+ "points": 365
+ },
+ {
+ "qid": "f13e02htv4cmm7ifmwk8ob",
+ "timestamp": 1602787653689,
+ "points": 927
+ }
+ ]
+ },
+ {
+ "rank": 42,
+ "points": 1818,
+ "team": "t3ikpmz2nhg16cjg7fs2e4g",
+ "country": "r6biyj91ottc4dhnajxyn",
+ "submissions": [
+ {
+ "qid": "xpjym3yjpssavru7lstgsh",
+ "timestamp": 1602787641332,
+ "points": 0
+ },
+ {
+ "qid": "uzgl76mxj11w0mqtydujw",
+ "timestamp": 1602787645692,
+ "points": 196
+ },
+ {
+ "qid": "xvdam2q14zbb1e3f2ycnh6",
+ "timestamp": 1602787647216,
+ "points": 258
+ },
+ {
+ "qid": "obgzpsoywps7l1xp5o11g4",
+ "timestamp": 1602787649198,
+ "points": 404
+ },
+ {
+ "qid": "2h027b42i9vhbyx5d8f8tg",
+ "timestamp": 1602787652357,
+ "points": 960
+ }
+ ]
+ },
+ {
+ "rank": 43,
+ "points": 1781,
+ "team": "5mfbg3kho13c5x52r1my0w",
+ "country": "8702btcs0oqff9p77koosk",
+ "submissions": [
+ {
+ "qid": "yzv617ja1wksziolyn2ouh",
+ "timestamp": 1602787640739,
+ "points": 0
+ },
+ {
+ "qid": "w4ofwxr58rp9ptxug5psid",
+ "timestamp": 1602787646957,
+ "points": 227
+ },
+ {
+ "qid": "30yg08iddolcnbfk351mz",
+ "timestamp": 1602787648923,
+ "points": 242
+ },
+ {
+ "qid": "zeo45xgci8jz49l99mohe",
+ "timestamp": 1602787651447,
+ "points": 441
+ },
+ {
+ "qid": "c4y7xic11qipnv3q2r5jjj",
+ "timestamp": 1602787653373,
+ "points": 871
+ }
+ ]
+ },
+ {
+ "rank": 44,
+ "points": 1767,
+ "team": "szwg0rjct9j2buoyvm1cok",
+ "country": "02ix5rjp3kdro8u9lv95foi",
+ "submissions": [
+ {
+ "qid": "dnmkid175uj8q84f2idb8",
+ "timestamp": 1602787639833,
+ "points": 0
+ },
+ {
+ "qid": "wbwfx09aun15fwgeb5ln6",
+ "timestamp": 1602787640845,
+ "points": 360
+ },
+ {
+ "qid": "bl7gld379vqu3ppt0698km",
+ "timestamp": 1602787650923,
+ "points": 387
+ },
+ {
+ "qid": "irdr0xgymnnf27zfatsckf",
+ "timestamp": 1602787651092,
+ "points": 424
+ },
+ {
+ "qid": "gi5h0d3iwj94kif4bi2ies",
+ "timestamp": 1602787652968,
+ "points": 596
+ }
+ ]
+ },
+ {
+ "rank": 45,
+ "points": 1763,
+ "team": "u9rrcs74ymq27cwi46prng",
+ "country": "9tix5igshhx4emdrm2v4b",
+ "submissions": [
+ {
+ "qid": "rnm01nqlrtocvmf0brajfw",
+ "timestamp": 1602787643086,
+ "points": 0
+ },
+ {
+ "qid": "0amo9duvfwed8z2t9ppql4",
+ "timestamp": 1602787645338,
+ "points": 131
+ },
+ {
+ "qid": "z5al1n7nx5mhkof021fjz9",
+ "timestamp": 1602787646461,
+ "points": 389
+ },
+ {
+ "qid": "d48xye6nj37n1h6yn0qi",
+ "timestamp": 1602787648221,
+ "points": 459
+ },
+ {
+ "qid": "jlvhy4vnxs8cv7o1orlsad",
+ "timestamp": 1602787651776,
+ "points": 784
+ }
+ ]
+ },
+ {
+ "rank": 46,
+ "points": 1595,
+ "team": "he7yw3uyiupsj434xjnqm",
+ "country": "r6biyj91ottc4dhnajxyn",
+ "submissions": [
+ {
+ "qid": "d7okeopkqjogzmf2r3hilh",
+ "timestamp": 1602787642246,
+ "points": 0
+ },
+ {
+ "qid": "1mwv5fqwfl9m67lydh8q2s",
+ "timestamp": 1602787643767,
+ "points": 357
+ },
+ {
+ "qid": "b79nfs7jh98m096itt0kk",
+ "timestamp": 1602787643791,
+ "points": 362
+ },
+ {
+ "qid": "fglryc1r3crl6cbtgc116o",
+ "timestamp": 1602787645674,
+ "points": 421
+ },
+ {
+ "qid": "jew02og6ormb9corwdn2f",
+ "timestamp": 1602787651072,
+ "points": 455
+ }
+ ]
+ },
+ {
+ "rank": 47,
+ "points": 1465,
+ "team": "8yqqjpf1au8q0icqhze6ui",
+ "country": "w94g98p0t5eeydvgmlyys",
+ "submissions": [
+ {
+ "qid": "4yp4i9sg1aikumj5gxjfeg",
+ "timestamp": 1602787642631,
+ "points": 0
+ },
+ {
+ "qid": "n2lwxtd0gapwh1bumjw4",
+ "timestamp": 1602787649418,
+ "points": 111
+ },
+ {
+ "qid": "vlvu9x7iuyykt0i4fin7r",
+ "timestamp": 1602787649977,
+ "points": 385
+ },
+ {
+ "qid": "mimso0hf5fc0491vpp5dwj2",
+ "timestamp": 1602787651797,
+ "points": 437
+ },
+ {
+ "qid": "9q8nc307pwildflv7jfs2l",
+ "timestamp": 1602787652115,
+ "points": 532
+ }
+ ]
+ },
+ {
+ "rank": 48,
+ "points": 1358,
+ "team": "bnkmt267mp7lz24u9ku6u",
+ "country": "02ix5rjp3kdro8u9lv95foi",
+ "submissions": [
+ {
+ "qid": "3fapqqbnwns927gf4lt1q",
+ "timestamp": 1602787644368,
+ "points": 0
+ },
+ {
+ "qid": "571winakxbj8rx01zxggu2",
+ "timestamp": 1602787646703,
+ "points": 141
+ },
+ {
+ "qid": "pz0892mr83cdw16ouxh1po",
+ "timestamp": 1602787648648,
+ "points": 252
+ },
+ {
+ "qid": "lkcz2wd5uf9vdcctkt67i",
+ "timestamp": 1602787649871,
+ "points": 301
+ },
+ {
+ "qid": "zbqz3lqjrq6nvfu6mtpvn",
+ "timestamp": 1602787653871,
+ "points": 664
+ }
+ ]
+ },
+ {
+ "rank": 49,
+ "points": 1347,
+ "team": "s4fzidbtg3pzf2j0w0csfg",
+ "country": "wt7r9qctcxp4kofofq72b",
+ "submissions": [
+ {
+ "qid": "d8p8i9ilpbapusuf0s4pd",
+ "timestamp": 1602787639569,
+ "points": 0
+ },
+ {
+ "qid": "rvl6jf0khvfpo6s5qyx44",
+ "timestamp": 1602787639819,
+ "points": 125
+ },
+ {
+ "qid": "458ufxfi2e4nw50owmbse",
+ "timestamp": 1602787641716,
+ "points": 182
+ },
+ {
+ "qid": "mk933wxn5j88neam9rfyu3",
+ "timestamp": 1602787647786,
+ "points": 293
+ },
+ {
+ "qid": "3l06vh1e24d63ea3zdcn4v",
+ "timestamp": 1602787648726,
+ "points": 747
+ }
+ ]
+ },
+ {
+ "rank": 50,
+ "points": 1059,
+ "team": "bakh49q5hxhl2g8ffaofkc",
+ "country": "xi5a243fys051aly8t8jz2",
+ "submissions": [
+ {
+ "qid": "7j6o8vef5vta0rnis9i2i",
+ "timestamp": 1602787640175,
+ "points": 0
+ },
+ {
+ "qid": "ds3hnuhxqsx7wtkkogfvi",
+ "timestamp": 1602787640686,
+ "points": 100
+ },
+ {
+ "qid": "y580ae15mosdiwc7mztji",
+ "timestamp": 1602787642974,
+ "points": 216
+ },
+ {
+ "qid": "jd98tkkzsizfgmzrspd3j",
+ "timestamp": 1602787645376,
+ "points": 243
+ },
+ {
+ "qid": "b9w8qhwukww4lvwzmqw0sp",
+ "timestamp": 1602787650383,
+ "points": 500
+ }
+ ]
+ }
+]
\ No newline at end of file
diff --git a/src/utils/genScoreboard.js b/src/utils/genScoreboard.js
new file mode 100644
index 0000000..6ce6f5b
--- /dev/null
+++ b/src/utils/genScoreboard.js
@@ -0,0 +1,71 @@
+function randString() {
+ return Math.random().toString(36).substring(2, 15)
+ + Math.random().toString(36).substring(2, 15);
+}
+
+function genDummySubmissions(n) {
+ function genRandomN(min, max, num) {
+ const a = [];
+ for (let i = 0; i < num; i += 1) {
+ a.push(Math.round(Math.random() * (max - min) + min));
+ }
+
+ return a.sort((x, y) => x - y);
+ }
+
+ const timestamps = genRandomN(1602787639417, 1602787653905, n);
+ const points = [0].concat(genRandomN(100, 1000, n - 1));
+
+ const submissions = [];
+
+ for (let i = 0; i < n; i += 1) {
+ submissions.push({
+ qid: randString(),
+ timestamp: timestamps[i],
+ points: points[i],
+ });
+ }
+
+ return submissions;
+}
+
+function makeCountries() {
+ const countries = [];
+
+ for (let i = 0; i < 10; i += 1) {
+ countries.push(randString());
+ }
+
+ return countries;
+}
+
+function genTeamData(countries) {
+ const submissions = genDummySubmissions(5);
+ const points = submissions.map((submission) => submission.points).reduce((a, b) => a + b);
+
+ return {
+ rank: 0,
+ points,
+ team: randString(),
+ country: countries[Math.floor(Math.random() * countries.length)],
+ submissions,
+ };
+}
+
+function genScoreboard(n) {
+ const countries = makeCountries();
+ let scoreboard = [];
+ for (let i = 0; i < n; i += 1) {
+ scoreboard.push(genTeamData(countries));
+ }
+
+ scoreboard = scoreboard.sort((a, b) => b.points - a.points);
+
+ // eslint-disable-next-line no-param-reassign
+ scoreboard.forEach((item, index) => { item.rank = index + 1; });
+ return scoreboard;
+}
+
+const fs = require('fs');
+
+fs.writeFileSync('./dummyScoreboard.json', JSON.stringify(genScoreboard(50), null, 4));