From b66b407b1999323b01f7327915f80865f619b7db Mon Sep 17 00:00:00 2001 From: sankha555 Date: Sat, 20 Mar 2021 01:49:01 +0530 Subject: [PATCH] error test --- db.sqlite3 | Bin 96256 -> 101376 bytes main_app/__pycache__/views.cpython-36.pyc | Bin 4860 -> 5010 bytes .../migrations/0005_auto_20210319_1941.py | 73 +++ main_app/models.py | 21 +- main_app/views.py | 4 +- static/js/app.js | 6 +- staticfiles/js/app.33da9917d99d.js | 4 +- staticfiles/js/app.64f4a2a5e0d1.js | 431 ++++++++++++++++++ staticfiles/js/app.64f4a2a5e0d1.js.gz | Bin 0 -> 3656 bytes staticfiles/js/app.6b25ac0712be.js | 431 ++++++++++++++++++ staticfiles/js/app.6b25ac0712be.js.gz | Bin 0 -> 3647 bytes staticfiles/js/app.d523da6b3141.js | 431 ++++++++++++++++++ staticfiles/js/app.d523da6b3141.js.gz | Bin 0 -> 3653 bytes staticfiles/js/app.js | 6 +- staticfiles/js/app.js.gz | Bin 3655 -> 3653 bytes staticfiles/js/script.389e2dbba258.js | 25 + staticfiles/js/script.389e2dbba258.js.gz | Bin 0 -> 503 bytes staticfiles/js/script.js.gz | Bin 492 -> 502 bytes staticfiles/staticfiles.json | 2 +- 19 files changed, 1416 insertions(+), 18 deletions(-) create mode 100644 main_app/migrations/0005_auto_20210319_1941.py create mode 100644 staticfiles/js/app.64f4a2a5e0d1.js create mode 100644 staticfiles/js/app.64f4a2a5e0d1.js.gz create mode 100644 staticfiles/js/app.6b25ac0712be.js create mode 100644 staticfiles/js/app.6b25ac0712be.js.gz create mode 100644 staticfiles/js/app.d523da6b3141.js create mode 100644 staticfiles/js/app.d523da6b3141.js.gz create mode 100644 staticfiles/js/script.389e2dbba258.js create mode 100644 staticfiles/js/script.389e2dbba258.js.gz diff --git a/db.sqlite3 b/db.sqlite3 index b2f19c8c588367ea8bb4ea4bd1805a697dc27c61..473b046ba3ba4b9e9782615cd1067406100ba8af 100644 GIT binary patch delta 4171 zcmc&%eQ+Dq5x>1B%aUzbzL6Ej!HO@AgTLkbzLQA;O6&y3Shf?}V3Wk0EZLHMmSlZc zw%j0`giNQTe2I=a9VSDY8Jb~eDG?z0Pn)*M4270S2PS`YI)xT!p~LiR+8JP`eRp;e zJ7E56xzp{t_ug-J-|ar_?tAF3B@cbu{P=CuTLeK&;^#PiO!)caiFO_jy6b*af_qiy zhnNyapNP>Ux{zZnXA9fm8)O9@Gp}sHv~Q)n@De&~YVg|0H_=tJga*l{(39kQWP&`8 zYLS9|M&5^j^pf5JTTxB!Ag>U0;M{{cVNMN4Ce&DLVm=j2B*W2&xwaF@kiXOb&Ro2V zF;nzbbkLgn&EH+QD`oZOrfp7ihu*EpLHU-_O600VcS7!o_iJ-<`4(u&`O3$))_q>= z#6(mJ6fTwDMOW&d1n5&ti3#*+uCo0-%0siBE>`Xm8Mh*Pc#bcaI{r<%Fk-B#3{wkw znm|SLFLWNghOVJMqUX`m1*-WpDm5bt5&^1ko>!}Lrn8NO=DRN-a|r^VDht>8+)S$j zJxZXD(Vx(}=(m{nb#xj11igwbVj0h(XV7=hQ|M9j3Hm3xiX}dPa#ypay|xxzg00!0 zO$NQ)pt}s(XwaPoZ7}E#gVF}AFI>$E6{~u6xi@uR{bKDm^-_jj%Fs(0dMQIMW$2|0 zy_BJsGW1f0Udqr*VZDzrjoEePokX9K7s*Mo8m>SPJYXZivr(wI@yn1|wiy$9^Yj76r1XrQzayhg#qJHqC`DlE0QCwW&Q^}=JIvx|0WF*RX;;C>r zlM-khl&3?mC3p0SeTTf5N`{l^$XsGFnNH4oQal?Gf-IxWhms5YLZ-fO_R1oO9Pm=E z^tC1uzExl?A-Hqzs(*zJhNC&AiXLw^eKNE&+g}?ps zh3#1{KQuOfB`g85!;)9Z_yP-JcVF+&eWBrfqhtHH z-X2L=oaE9|ebeb#E+z7T(L*ys-6NB!Np1hafrK`=&mW7AXgyw~|KRL?e}`99?io6? ze}Bgy(>?DSUb@F0)@J=j=JyZtlbSdc-#6l8LLGO{rlZz6RA19?`x-134J6Q(U#WnBxt^!7HJg=lHGLAqMDtHX~A|nj9KVCc%QfH;CPTu zhc%7%2Wg(3jL!MP5miqj3A%$`7Td%V?esF=CZ90mEX!^D2{-MFCWDw)P3i&?!HsMx zmKco(u;2jQ9Cl-cJl#gibU2a4YYv2`rtnlGxt>Xv6~T};ns0H_hl7cfhUf9nbTCOT z1mjDzrpBkSq(qdC#lx6cjU>|8P;=2hN{ix8S-WIbRCrNj@PNX4I2pg~7V*2nh@zl~ zoIb$_94ktUAoDtyXG9!lSmxAB33kny0qZV%ecKMZ9c;#BH;v`zM`3HR{uuli$la+| z6fl{#Sm8MWT|y5cp8S}6p47;8_z<4M|INqYuDwkqgzFCP^{k8)iW6!o8J*B~G{du= z3DzU9>$W$}n>avo9vmShMUjgi?tyJ&(KHC3p;x*gQ-V|L&HuQ-bDSqv)!{5Y(+g8( zIGryIL1!sW$G-m4yYlrRsKJ4ytav;G-$O>?)vFPlHjTSjH4MK(0^XO6P@zXS7g&*A ztvGRun@X^dByP=Ci=ML$*7wmz`dzHL53ZqBJh)9~bQ)}SovF-VG2LMJ12XPn)lqm0 z=>>qxP*r2q6;Xzsa*M8|#PVeOKQ?@w#Pc4#aQKYeYC~6W&Cp1o570g60y>ML=uIS} zMx1FYkb|nU5|pLJ0v1amU^t)3%hT}dG7*Pu>m{ zdMp9rF9iO*jbq6hI3=!LXr~eN9vMrje(g-vN=<1^XD2)|pa;Pw@D;5Rj6!~(6}IFZ zt-l)t=u5EUvIBc#5LcrA z=c)u31z%}Zl4ZWys-*C>mrs-K>rTh*1NiadMt#Q^kD2EZf$kou5 z$D!-d-0$ypR2ebuf4D`;jV%I5Banvwrhb%Np(q=%(&DvJHk;MzwZ;6ifhlex5mGr( zYQ#YhUyWidIvuec>eU& z>^5#YLB!eH?O_=Y%S+N7_b)f7fj}_O&_yqwIDwBk&9@tjn;*(Vo)cIWpP&89qT^mN08dC?b@!d>sHv- zX+#7y8Wf?%XJRy({X-0>p~lBQMvN}eL`{{rKL{~KbSN6XQ2!7Uy)DF#M19G*@0@dg z=iYbEJ?HoCe_DV4_qr!;T6~ZYvX@DK31u>WY@LlcTb93~W0o0TVk7B2mbDf{_i5fC8*&qIE(M#JbsQRi;FFfVR6lMW#m3*o#8qR)#dfjps zF;w{at%m9)&`#)4n1>^Hb8*SrCMaw%-pZ{;52)5Ys8dTRs9Mv=;J4&l>HU#ZA}&Nl zmoqQh?aJi1GBp~WQN{(?Ici%`JTf;;aS5C&7~Z*6TeSfmg_V*ZiOquCEQo*0S6iEC zml_*!E2t?iEGz!-?#qn_+7mswoOhc$(JcnsBRhiLxIMBf>JK^xVv6j`&ZPU|LOz>{ z?&uoy3jSET&p$FgJRxq&rP5={?ofW%HV_@}Y94i^L-EmxkbSyis5#y_lAM{GOiIB4 zU#FDLB?i0t{qA&6Zs+bPZ*C+L$z)}5)TKB)y|&1N;1YLtrY4gky*)X>HEQe3`Mf#V zd+i9eX3=Stgvyn-wKxPxa0tczuTF2OqGTVT&#|FFyo^;Jz?bn18Af?$8_di&Z7}4DlhQt&IsX+Jn+># zRIt3oWUPUC)}c;9oET#Bp6jx%4F3Cbh!8ksV8aPRy~_m;9$I#=%22QAZ-b}7#N3bk z_vu&zhVFnDUULG+S&VR*;90y6ZS-4ulBVf8xXkMEBhW5ygk@9@bQ7VQSYyj{@1f0& zI?qEjTSt`mcx=BkGm#g@^2170ve})nQJZ7JmanvRFO=EiNBkNuYUV+B4`n?EJXGrp z94iJMxr)hS#WYf?W3#;RTId47-|z=qz+W`8ALj9P4tdb&5CFNd$_N60QbeA=7I2Z^ zRaSuC;a8e@51hl+GN8H=!EgJ zF-8(VJM4vf=?&$-3*goA&U^9dv8@)ZX%J5R+m5w2GR$3Arb;ADgqEO0n*J}Keo^@o p8JvFCGF5zb_UEC$j0V^anb5&<6kj diff --git a/main_app/__pycache__/views.cpython-36.pyc b/main_app/__pycache__/views.cpython-36.pyc index 28eeb9fb88fa80cb21086059574c5119e7d5b2bd..66741cb0cdfe59c0e397d5450f1012b616a68a0c 100644 GIT binary patch delta 1063 zcmZuvOKVd>6rQ;^xy^kiY0@-l(>6`|5?9)$f}snMRz#(USdg}9b!y3^L`|+xVJ=w& zM1)G|xDglXRuC%v10wzi$)bNi+_`X};+eT24b??XzVrOf`R@FhIG8fd+qUuT_pOa5 z$&bcySh=tAchLm@6F#?2v=m}0HBzX9%r3H0$Pcj)!=$f-Je%Pb#>jK1%M^%3_7p$N z!W6ZTuR&ImS(~VkQ`4xWK&{OmYT0I##)#eN)mUE(2R+1LT2Su>oN2>3;NMMeHP5E69&{aT>qsH%gv8+bu|O)N3c&AsF|`qIs3!Fj&ng(RUtLO^FSlP08qCQWt(H0eMWrMhUa zi_!t|EjYsx@-RJwXvP}?h7<^h=aGWS8D_y2{b>ZkDD|&R&nAPSn52Uxp;@QHQr&ET zd>dj?Z)P(C*3UqzTAzl_A=x=B;w40~bVSrKy*%uV!ZBk^XDS)lQ&tt<@!gX}$S8AY zE+O7Yb3B3I!8ql-+_nIrak*zf`V&x?m%c!gEhMfA{%gzsC9%nvT;3)*<^+$1j6?5~ zz{~+fa>SMsb0p6qm&AuWJsKzqphf{Qpaq$b_b!u3h)tDHEkdRP|-mbE(iaysd^;zPH)fn(e`JJ-Eo1%+<4P=cKUQc(Bvs&zU0DbcgP|; zv88xH@DI2Xl==h2y)In35Oh&+(T#K|=s9;vEycxr^PTgZ_som&-=ofy>pI_G-+y>i zc;|deKtugZ%+G{z8J8e>nk;Z6bOBh9^itA5pS5R%37PO%mxU&(rdAyhLoHTjT?1ns zwQtrsuE&LYnrq6QE<`zkOS5hIC(;zW%tRWWOxy5Jo(^B|{KB5+@*aO#qG@!$Ef!iq z+Do9$yo|{1L1>E{)ja@z44EbJt4($Q+aJyqEwp1OOZ4<&Q`WZ8T8u18XtM1FTE#PM zC$dg8D=Mq2dg^&kxsw%UiOHmwE3s3Sk64((K~uE4wByVx1ig5i5*`PxF@voYWC|!-|)e}t(OomwTK$wbZTqd;k| z6@xO~r(fDKChB{}suA)q{cjL4Ah}m5Fd6fz1%_+zwVEEbP98mGUE35_(>AfeE~BON zyTi5@{@cV6gL-;L3`rjS5MmgUhlop#7pVwWm#m19Xy*&1sYM-?Mw3`kjN-mApNlc{ zjpKK+#DugQqQP*$yb*QV-h!#a_x3Z0PdSqfbt^fq-XvEKucxX|sT-DI0S5~#g9A4* z;AkrYIkn@~psx1aX;@O9+$XTCX8AEJs7vX$u%dpXM+P1+#{3%uiv;`((!^S-k+}jb zwUXI|b@e%O2ZX9-KMt*vc$dH=m_V3J_%88Df(`X2I|rL;F87MxM8{Y2QEPYO>Scdc V9p|QdmndeLphX}EHq}i2-d_{t)h7S| diff --git a/main_app/migrations/0005_auto_20210319_1941.py b/main_app/migrations/0005_auto_20210319_1941.py new file mode 100644 index 0000000..a0429d0 --- /dev/null +++ b/main_app/migrations/0005_auto_20210319_1941.py @@ -0,0 +1,73 @@ +# Generated by Django 2.1.7 on 2021-03-19 19:41 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('main_app', '0004_userdata_chancesused'), + ] + + operations = [ + migrations.AddField( + model_name='question', + name='test_case4', + field=models.CharField(default='', max_length=1000), + ), + migrations.AddField( + model_name='question', + name='test_case4_sol', + field=models.CharField(default='', max_length=1000), + ), + migrations.AddField( + model_name='question', + name='test_case5', + field=models.CharField(default='', max_length=1000), + ), + migrations.AddField( + model_name='question', + name='test_case5_sol', + field=models.CharField(default='', max_length=1000), + ), + migrations.AddField( + model_name='question', + name='test_case6', + field=models.CharField(default='', max_length=1000), + ), + migrations.AddField( + model_name='question', + name='test_case6_sol', + field=models.CharField(default='', max_length=1000), + ), + migrations.AlterField( + model_name='question', + name='test_case1', + field=models.CharField(default='', max_length=1000), + ), + migrations.AlterField( + model_name='question', + name='test_case1_sol', + field=models.CharField(default='', max_length=1000), + ), + migrations.AlterField( + model_name='question', + name='test_case2', + field=models.CharField(default='', max_length=1000), + ), + migrations.AlterField( + model_name='question', + name='test_case2_sol', + field=models.CharField(default='', max_length=1000), + ), + migrations.AlterField( + model_name='question', + name='test_case3', + field=models.CharField(default='', max_length=1000), + ), + migrations.AlterField( + model_name='question', + name='test_case3_sol', + field=models.CharField(default='', max_length=1000), + ), + ] diff --git a/main_app/models.py b/main_app/models.py index 0eb95af..90a621b 100644 --- a/main_app/models.py +++ b/main_app/models.py @@ -22,13 +22,20 @@ class Question(models.Model): testcaseno=models.IntegerField(default=0) samplein = models.CharField(max_length=45000,default='') sampleout = models.CharField(max_length=45000,default='') - test_case1=models.CharField(max_length=1000) - test_case2=models.CharField(max_length=1000) - test_case3=models.CharField(max_length=1000) - test_case1_sol=models.CharField(max_length=1000) - test_case2_sol=models.CharField(max_length=1000) - test_case3_sol=models.CharField(max_length=1000) - + test_case1=models.CharField(max_length=1000,default='') + test_case2=models.CharField(max_length=1000,default='') + test_case3=models.CharField(max_length=1000,default='') + test_case4=models.CharField(max_length=1000,default='') + test_case5=models.CharField(max_length=1000,default='') + test_case6=models.CharField(max_length=1000,default='') + + test_case1_sol=models.CharField(max_length=1000,default='') + test_case2_sol=models.CharField(max_length=1000,default='') + test_case3_sol=models.CharField(max_length=1000,default='') + test_case4_sol=models.CharField(max_length=1000,default='') + test_case5_sol=models.CharField(max_length=1000,default='') + test_case6_sol=models.CharField(max_length=1000,default='') + def __str__(self): return str(self.pk) diff --git a/main_app/views.py b/main_app/views.py index 34beaa3..17a49a9 100644 --- a/main_app/views.py +++ b/main_app/views.py @@ -50,7 +50,7 @@ def runCode(request): postData = json.loads( request.body.decode('utf-8') ) url = 'http://143.198.238.205:2358/submissions?base64_encoded=false&wait=false' que = Question.objects.get(qno=postData['qNo']) - stdin = '3'+'\n'+que.test_case1+'\n'+que.test_case2+'\n'+que.test_case3 + stdin = '6'+'\n'+que.test_case1+'\n'+que.test_case2+'\n'+que.test_case3+'\n'+que.test_case4+'\n'+que.test_case5+'\n'+que.test_case6 # postData['stdin'] = str(base64.b64encode(stdin.encode("utf-8"))) postData['stdin'] = stdin # postData['source_code'] = str(base64.b64encode(postData['source_code'].encode('utf-8'))) @@ -89,7 +89,7 @@ def runCode(request): else: quesNo = postData['qNo'] quesData = Question.objects.get(qno= quesNo) - answer = quesData.test_case1_sol+'\n'+quesData.test_case2_sol+'\n'+quesData.test_case3_sol+'\n' + answer = quesData.test_case1_sol+'\n'+quesData.test_case2_sol+'\n'+quesData.test_case3_sol+'\n'+quesData.test_case4_sol+'\n'+quesData.test_case5_sol+'\n'+quesData.test_case6_sol+'\n' print(answer) currUser.timeElapsed += int(postData['timeElapsed']) if answer == resp['stdout']: diff --git a/static/js/app.js b/static/js/app.js index 016394d..cb9c301 100644 --- a/static/js/app.js +++ b/static/js/app.js @@ -50,7 +50,7 @@ function leaderbInit(){ }); } function disableCopyPaste(){ - var inp = document.getElementsByClassName('noselect')[0]; + /*var inp = document.getElementsByClassName('noselect')[0]; inp.addEventListener('select', function() { this.selectionStart = this.selectionEnd; }, false); @@ -76,7 +76,7 @@ function disableCopyPaste(){ // console.log('copy-paste'); return false; } - }); + });*/ } function populateLangs() @@ -242,7 +242,7 @@ function getQuestion(queNum){ inStr += inpt[i]; inStr += '\n'; } - let que = response['question'] + '

'+'Sample Input'+'
'+response['sampTCNum']+'
'+inStr+'

'+'Sample Output'+'
'+response['sampleOut']; + let que = response['question'] + '

'+'Sample Input'+'
'+inStr+'

'+'Sample Output'+'
'+response['sampleOut']; document.getElementsByClassName('left')[0].innerHTML=que; qNo = response['qNo']; document.getElementById('score').innerHTML = response['userScore']; diff --git a/staticfiles/js/app.33da9917d99d.js b/staticfiles/js/app.33da9917d99d.js index 016394d..9a29ccb 100644 --- a/staticfiles/js/app.33da9917d99d.js +++ b/staticfiles/js/app.33da9917d99d.js @@ -50,7 +50,7 @@ function leaderbInit(){ }); } function disableCopyPaste(){ - var inp = document.getElementsByClassName('noselect')[0]; + /*var inp = document.getElementsByClassName('noselect')[0]; inp.addEventListener('select', function() { this.selectionStart = this.selectionEnd; }, false); @@ -242,7 +242,7 @@ function getQuestion(queNum){ inStr += inpt[i]; inStr += '\n'; } - let que = response['question'] + '

'+'Sample Input'+'
'+response['sampTCNum']+'
'+inStr+'

'+'Sample Output'+'
'+response['sampleOut']; + let que = response['question'] + '

'+'Sample Input'+'
'+inStr+'

'+'Sample Output'+'
'+response['sampleOut']; document.getElementsByClassName('left')[0].innerHTML=que; qNo = response['qNo']; document.getElementById('score').innerHTML = response['userScore']; diff --git a/staticfiles/js/app.64f4a2a5e0d1.js b/staticfiles/js/app.64f4a2a5e0d1.js new file mode 100644 index 0000000..09ad739 --- /dev/null +++ b/staticfiles/js/app.64f4a2a5e0d1.js @@ -0,0 +1,431 @@ +let ctrlDown = false; +let ctrlKey = 17, cmdKey = 91, vKey = 86, cKey = 67; +let qNo = 0; +let languageIDs = JSON.parse("[{\"id\":45,\"name\":\"Assembly (NASM 2.14.02)\"},{\"id\":46,\"name\":\"Bash (5.0.0)\"},{\"id\":47,\"name\":\"Basic (FBC 1.07.1)\"},{\"id\":48,\"name\":\"C (GCC 7.4.0)\"},{\"id\":52,\"name\":\"C++ (GCC 7.4.0)\"},{\"id\":49,\"name\":\"C (GCC 8.3.0)\"},{\"id\":53,\"name\":\"C++ (GCC 8.3.0)\"},{\"id\":50,\"name\":\"C (GCC 9.2.0)\"},{\"id\":54,\"name\":\"C++ (GCC 9.2.0)\"},{\"id\":51,\"name\":\"C# (Mono 6.6.0.161)\"},{\"id\":55,\"name\":\"Common Lisp (SBCL 2.0.0)\"},{\"id\":56,\"name\":\"D (DMD 2.089.1)\"},{\"id\":57,\"name\":\"Elixir (1.9.4)\"},{\"id\":58,\"name\":\"Erlang (OTP 22.2)\"},{\"id\":44,\"name\":\"Executable\"},{\"id\":59,\"name\":\"Fortran (GFortran 9.2.0)\"},{\"id\":60,\"name\":\"Go (1.13.5)\"},{\"id\":61,\"name\":\"Haskell (GHC 8.8.1)\"},{\"id\":62,\"name\":\"Java (OpenJDK 13.0.1)\"},{\"id\":63,\"name\":\"JavaScript (Node.js 12.14.0)\"},{\"id\":64,\"name\":\"Lua (5.3.5)\"},{\"id\":65,\"name\":\"OCaml (4.09.0)\"},{\"id\":66,\"name\":\"Octave (5.1.0)\"},{\"id\":67,\"name\":\"Pascal (FPC 3.0.4)\"},{\"id\":68,\"name\":\"PHP (7.4.1)\"},{\"id\":43,\"name\":\"Plain Text\"},{\"id\":69,\"name\":\"Prolog (GNU Prolog 1.4.5)\"},{\"id\":70,\"name\":\"Python (2.7.17)\"},{\"id\":71,\"name\":\"Python (3.8.1)\"},{\"id\":72,\"name\":\"Ruby (2.7.0)\"},{\"id\":73,\"name\":\"Rust (1.40.0)\"},{\"id\":74,\"name\":\"TypeScript (3.7.4)\"}]"); +let timerCont = document.getElementById('timer'); +let s = 0, m = 0; +let timerId; +const _totalNumQues = 5; + +$(document).ready(function() { + populateLangs(); + getQuestion(0); + disableCopyPaste(); + leaderbInit(); + increaseTime(); + hideCode(); + addResizeEvent(); + showBtnInit(); + sideNavInit(); +}); + +function showBtnInit(){ + document.getElementById('showCode').addEventListener('click', () => { + showCode() + }); +} + +function addResizeEvent(){ + window.onresize = function() { + if ((window.outerHeight - window.innerHeight) > 100) { + logout('screen-resize') + } + } +} + +function leaderbInit(){ + let i = 0; + $('.leaderboard-icon').click(function() { + $('.leaderboard').fadeToggle(650, "swing"); + if (i === 0) { + $('.li').html('cancel'); + i = 1 + getLeaderboard(); + // insert_chart + } + else { + $('.li').html('insert_chart') + i = 0; + } + }); +} +function disableCopyPaste(){ + var inp = document.getElementsByClassName('noselect')[0]; + inp.addEventListener('select', function() { + this.selectionStart = this.selectionEnd; + }, false); + document.addEventListener('contextmenu', event => event.preventDefault()); + $(document).keydown(function(e) { + // console.log('Key pressed: ', e.keyCode); + if (e.keyCode == ctrlKey || e.keyCode == cmdKey) ctrlDown = true; + }).keyup(function(e) { + // console.log('Key released: ', e.keyCode); + if (e.keyCode == ctrlKey || e.keyCode == cmdKey) ctrlDown = false; + }); + + $(".no-copy-paste").keydown(function(e) { + // console.log('Key pressed inside editor: ', e.keyCode); + /*if(ctrlDown && (e.keyCode == cKey)) + { + console.log("Document catch Ctrl+C"); + } + if(ctrlDown && (e.keyCode == vKey)){ + console.log("Document catch Ctrl+V"); + } + if (ctrlDown && (e.keyCode == vKey || e.keyCode == cKey)){ + // console.log('copy-paste'); + return false; + }*/ + }); +} + +function populateLangs() +{ + console.log('populating languages...'); + + let selectField = document.getElementById('langSelect'); + for(element of languageIDs) + { + var opt = document.createElement("option"); + opt.value= element['id']; + opt.innerHTML = element['name']; + selectField.appendChild(opt); + } +} + +function logout(reason){ + if(reason == 'Finished'){ + Swal.fire( + 'Congratulations', + 'You have successfully attempted all the questions', + 'success' + ); + } + else if(reason == 'screen-resize'){ + Swal.fire( + 'Sorry', + "You will be logged out since you didn't follow the instructions", + 'error' + ); + } + window.location.href = "/logout"; +} + +function resetTime(){ + s = 0; + m = 0; +} + +function setOutput(outp) { + document.getElementById("compilerOutput").value = outp; +} + +function setScore(score){ + document.getElementById('score').innerHTML = score; +} + +function getOutput(){ + return document.getElementById("compilerOutput").value; +} + +function increaseQNum(){ + qNo = (getQNum() + 1) % _totalNumQues; +} + +function getQNum() { + return qNo; +} + +function getCode(){ + return document.getElementById("codeInput").value; +} + +function getLanguage(){ + return document.getElementById("langSelect").value; +} + +function disableRun(){ + document.getElementById('runBtn').disabled = true; +} + +function enableRun(){ + document.getElementById('runBtn').disabled = false; +} + +function runCode(){ + disableRun(); + pauseTime(); + console.log(`Time elapsed is: ${m} minutes and ${s} seconds`); + + let prog = getCode(); + + let lang = getLanguage(); + + let time = m * 60 + s; + + let program = { + source_code : prog, + language_id: lang, + qNo: getQNum(), + timeElapsed: time + }; + + sendRequest('POST', 'runCode/', program).then( + function(response){ + response = JSON.parse(response); + console.log('Compiler Call Response: ', response); + setOutput(response['stdout']); + setScore(response['score']); + if(getOutput() == 'Correct Answer') + { + if(response['completedGame'] == 'true'){ + logout('Finished'); + } + resetTime(); + increaseQNum(); + getQuestion(qNo); + } + increaseTime(); + enableRun(); + } + ).catch( + function(error){ + increaseTime(); + enableRun(); + console.error(error); + } + ); +} + +function getCookie(name) { + var v = document.cookie.match('(^|;) ?' + name + '=([^;]*)(;|$)'); + return v ? v[2] : null; +} + +function sendRequest(type, url, data){ + let request = new XMLHttpRequest(); + let csrftoken = getCookie("csrftoken"); + return new Promise(function(resolve, reject){ + request.onreadystatechange = () => { + if (request.readyState !== 4) return; + // Process the response + if (request.status >= 200 && request.status < 300) { + // If successful + resolve(request.responseText); + } else { + // If failed + reject({ + status: request.status, + statusText: request.statusText + }); + } + }; + // Setup our HTTP request + request.open(type || "GET", url, true); + // Add csrf token + request.setRequestHeader("X-CSRFToken", csrftoken); + // Send the request + request.send(JSON.stringify(data)); + }); + +} + +function getQuestion(queNum){ + + sendRequest('POST', '/question/', { queNum }).then( + function(response){ + response = JSON.parse(response); + let inpt = response['sampIn'].split(' '); + let inStr = ''; + for(let i = 0; i < inpt.length;i++) + { + inStr += inpt[i]; + inStr += '\n'; + } + let que = response['question'] + '

'+'Sample Input'+'
'+inStr+'

'+'Sample Output'+'
'+response['sampleOut']; + document.getElementsByClassName('left')[0].innerHTML=que; + qNo = response['qNo']; + document.getElementById('score').innerHTML = response['userScore']; + } + ).catch( + function(error){ + increaseTime(); + console.error(error); + } + ); +} + +function login() { + sendRequest('POST', 'login/', '').then( + function(resp){ + console.log(resp); + } + ).catch( + function(error){ + console.error(error); + } + ); +} + +function showInstructions() { + document.getElementsByClassName('instructions')[0].style.display = 'flex'; + document.getElementsByClassName('backdrop')[0].style.display = 'block'; +} + +function closeInstructions() { + document.getElementsByClassName('instructions')[0].style.display = 'none'; + document.getElementsByClassName('backdrop')[0].style.display = 'none'; +} + +document.addEventListener('DOMContentLoaded', function() { + var elems = document.querySelectorAll('select'); +}); + + $(document).delegate('#codeInput', 'keydown', function(e) { + var keyCode = e.keyCode || e.which; + + if (keyCode == 9) { + e.preventDefault(); + var start = this.selectionStart; + var end = this.selectionEnd; + + // set textarea value to: text before caret + tab + text after caret + $(this).val($(this).val().substring(0, start) + + "\t" + + $(this).val().substring(end)); + + // put caret at right position again + this.selectionStart = + this.selectionEnd = start + 1; + } + }); + +function sideNavInit(){ + let hamburger = document.querySelector(".hamburger"); + const title = document.querySelector('.title') + + // Side-nav event handler + hamburger.onclick = function(e) { + e.preventDefault; + if (hamburger.classList.contains("active")) { + hamburger.classList.remove("active"); + hamburger.style.transform = 'translateX(0)'; + document.getElementById('sidenav').style.transform = 'translateX(-100%)'; + title.style.left = 'calc(3vh + 50px)' + } + else { + hamburger.classList.add("active"); + hamburger.style.transform = 'translateX(21vw)'; + document.getElementById('sidenav').style.transform = 'translateX(0)'; + title.style.left = '3vh' + } + } +} + +function increaseTime() { + timerId = setInterval(function() { + if (s > 59){ + s -= 60; + m += 1; + } + + if (m < 10) { + if (s < 10) { + timerCont.innerHTML = '0' + m + ':0' + s; + } + else { + timerCont.innerHTML = '0' + m + ':' + s; + } + } + else { + if (s < 10) { + timerCont.innerHTML = m + ':0' + s; + } + else { + timerCont.innerHTML = + m + ':' + s; + } + } + + s++; + }, 1000) +} + +// Pause time function +function pauseTime() { + clearInterval(timerId); +} + +// Won't allow user to cheat by changing text-color +let codeIntervalId; +let clicks = 0; +const hideCode = () => { + codeIntervalId = setInterval(() => document.getElementById('codeInput').style.color = 'black', 200); +} + +function increaseClicks(){ + pauseTime(); + let data = { + 'clicks' : clicks+1 + }; + sendRequest('POST', '/increaseClicks/', data).then( + function(response){ + increaseTime(); + } + ).catch( + function(error){ + increaseTime(); + console.error(error); + } + ); +} + +const showCode = () => { + pauseTime(); + sendRequest('GET', '/getChancesUsed/', null).then( + function(response){ + response = JSON.parse(response); + clicks = response['chancesUsed']; + const box = document.getElementById('codeInput'); + if (box.disabled === false) { + // Functionality won't be achieved after two clicks + if (clicks >= 2) { + // box.disabled = false; + // alert('You have used up your time!'); + Swal.fire( + 'Sorry..', + 'You have used up your time!', + 'error' + ); + return; + } + else { + // Disable button and show code for 5 seconds + box.disabled = true; + clearInterval(codeIntervalId); + box.style.color = 'white'; + setTimeout(() => { + hideCode() + box.disabled = false; + }, 5000); + } + increaseClicks(); + } + else{ + // alert('You have used up your time!'); + Swal.fire( + 'Sorry..', + 'You have used up your time!', + 'error' + ); + } + } + ).catch( + function(error){ + increaseTime(); + console.error(error); + } + ); +} +$(document).ready(function(){ + $('select').formSelect(); +}); \ No newline at end of file diff --git a/staticfiles/js/app.64f4a2a5e0d1.js.gz b/staticfiles/js/app.64f4a2a5e0d1.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..0487b6c48b692e6ae3eb6cac1a32cfa614597e9d GIT binary patch literal 3656 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 aKi(?JK^N00nQg1j { + showCode() + }); +} + +function addResizeEvent(){ + window.onresize = function() { + if ((window.outerHeight - window.innerHeight) > 100) { + logout('screen-resize') + } + } +} + +function leaderbInit(){ + let i = 0; + $('.leaderboard-icon').click(function() { + $('.leaderboard').fadeToggle(650, "swing"); + if (i === 0) { + $('.li').html('cancel'); + i = 1 + getLeaderboard(); + // insert_chart + } + else { + $('.li').html('insert_chart') + i = 0; + } + }); +} +function disableCopyPaste(){ + /*var inp = document.getElementsByClassName('noselect')[0]; + inp.addEventListener('select', function() { + this.selectionStart = this.selectionEnd; + }, false); + document.addEventListener('contextmenu', event => event.preventDefault()); + $(document).keydown(function(e) { + // console.log('Key pressed: ', e.keyCode); + if (e.keyCode == ctrlKey || e.keyCode == cmdKey) ctrlDown = true; + }).keyup(function(e) { + // console.log('Key released: ', e.keyCode); + if (e.keyCode == ctrlKey || e.keyCode == cmdKey) ctrlDown = false; + }); + + $(".no-copy-paste").keydown(function(e) { + // console.log('Key pressed inside editor: ', e.keyCode); + if(ctrlDown && (e.keyCode == cKey)) + { + console.log("Document catch Ctrl+C"); + } + if(ctrlDown && (e.keyCode == vKey)){ + console.log("Document catch Ctrl+V"); + } + if (ctrlDown && (e.keyCode == vKey || e.keyCode == cKey)){ + // console.log('copy-paste'); + return false; + } + });*/ +} + +function populateLangs() +{ + console.log('populating languages...'); + + let selectField = document.getElementById('langSelect'); + for(element of languageIDs) + { + var opt = document.createElement("option"); + opt.value= element['id']; + opt.innerHTML = element['name']; + selectField.appendChild(opt); + } +} + +function logout(reason){ + if(reason == 'Finished'){ + Swal.fire( + 'Congratulations', + 'You have successfully attempted all the questions', + 'success' + ); + } + else if(reason == 'screen-resize'){ + Swal.fire( + 'Sorry', + "You will be logged out since you didn't follow the instructions", + 'error' + ); + } + window.location.href = "/logout"; +} + +function resetTime(){ + s = 0; + m = 0; +} + +function setOutput(outp) { + document.getElementById("compilerOutput").value = outp; +} + +function setScore(score){ + document.getElementById('score').innerHTML = score; +} + +function getOutput(){ + return document.getElementById("compilerOutput").value; +} + +function increaseQNum(){ + qNo = (getQNum() + 1) % _totalNumQues; +} + +function getQNum() { + return qNo; +} + +function getCode(){ + return document.getElementById("codeInput").value; +} + +function getLanguage(){ + return document.getElementById("langSelect").value; +} + +function disableRun(){ + document.getElementById('runBtn').disabled = true; +} + +function enableRun(){ + document.getElementById('runBtn').disabled = false; +} + +function runCode(){ + disableRun(); + pauseTime(); + console.log(`Time elapsed is: ${m} minutes and ${s} seconds`); + + let prog = getCode(); + + let lang = getLanguage(); + + let time = m * 60 + s; + + let program = { + source_code : prog, + language_id: lang, + qNo: getQNum(), + timeElapsed: time + }; + + sendRequest('POST', 'runCode/', program).then( + function(response){ + response = JSON.parse(response); + console.log('Compiler Call Response: ', response); + setOutput(response['stdout']); + setScore(response['score']); + if(getOutput() == 'Correct Answer') + { + if(response['completedGame'] == 'true'){ + logout('Finished'); + } + resetTime(); + increaseQNum(); + getQuestion(qNo); + } + increaseTime(); + enableRun(); + } + ).catch( + function(error){ + increaseTime(); + enableRun(); + console.error(error); + } + ); +} + +function getCookie(name) { + var v = document.cookie.match('(^|;) ?' + name + '=([^;]*)(;|$)'); + return v ? v[2] : null; +} + +function sendRequest(type, url, data){ + let request = new XMLHttpRequest(); + let csrftoken = getCookie("csrftoken"); + return new Promise(function(resolve, reject){ + request.onreadystatechange = () => { + if (request.readyState !== 4) return; + // Process the response + if (request.status >= 200 && request.status < 300) { + // If successful + resolve(request.responseText); + } else { + // If failed + reject({ + status: request.status, + statusText: request.statusText + }); + } + }; + // Setup our HTTP request + request.open(type || "GET", url, true); + // Add csrf token + request.setRequestHeader("X-CSRFToken", csrftoken); + // Send the request + request.send(JSON.stringify(data)); + }); + +} + +function getQuestion(queNum){ + + sendRequest('POST', '/question/', { queNum }).then( + function(response){ + response = JSON.parse(response); + let inpt = response['sampIn'].split(' '); + let inStr = ''; + for(let i = 0; i < inpt.length;i++) + { + inStr += inpt[i]; + inStr += '\n'; + } + let que = response['question'] + '

'+'Sample Input'+'
'+inStr+'

'+'Sample Output'+'
'+response['sampleOut']; + document.getElementsByClassName('left')[0].innerHTML=que; + qNo = response['qNo']; + document.getElementById('score').innerHTML = response['userScore']; + } + ).catch( + function(error){ + increaseTime(); + console.error(error); + } + ); +} + +function login() { + sendRequest('POST', 'login/', '').then( + function(resp){ + console.log(resp); + } + ).catch( + function(error){ + console.error(error); + } + ); +} + +function showInstructions() { + document.getElementsByClassName('instructions')[0].style.display = 'flex'; + document.getElementsByClassName('backdrop')[0].style.display = 'block'; +} + +function closeInstructions() { + document.getElementsByClassName('instructions')[0].style.display = 'none'; + document.getElementsByClassName('backdrop')[0].style.display = 'none'; +} + +document.addEventListener('DOMContentLoaded', function() { + var elems = document.querySelectorAll('select'); +}); + + $(document).delegate('#codeInput', 'keydown', function(e) { + var keyCode = e.keyCode || e.which; + + if (keyCode == 9) { + e.preventDefault(); + var start = this.selectionStart; + var end = this.selectionEnd; + + // set textarea value to: text before caret + tab + text after caret + $(this).val($(this).val().substring(0, start) + + "\t" + + $(this).val().substring(end)); + + // put caret at right position again + this.selectionStart = + this.selectionEnd = start + 1; + } + }); + +function sideNavInit(){ + let hamburger = document.querySelector(".hamburger"); + const title = document.querySelector('.title') + + // Side-nav event handler + hamburger.onclick = function(e) { + e.preventDefault; + if (hamburger.classList.contains("active")) { + hamburger.classList.remove("active"); + hamburger.style.transform = 'translateX(0)'; + document.getElementById('sidenav').style.transform = 'translateX(-100%)'; + title.style.left = 'calc(3vh + 50px)' + } + else { + hamburger.classList.add("active"); + hamburger.style.transform = 'translateX(21vw)'; + document.getElementById('sidenav').style.transform = 'translateX(0)'; + title.style.left = '3vh' + } + } +} + +function increaseTime() { + timerId = setInterval(function() { + if (s > 59){ + s -= 60; + m += 1; + } + + if (m < 10) { + if (s < 10) { + timerCont.innerHTML = '0' + m + ':0' + s; + } + else { + timerCont.innerHTML = '0' + m + ':' + s; + } + } + else { + if (s < 10) { + timerCont.innerHTML = m + ':0' + s; + } + else { + timerCont.innerHTML = + m + ':' + s; + } + } + + s++; + }, 1000) +} + +// Pause time function +function pauseTime() { + clearInterval(timerId); +} + +// Won't allow user to cheat by changing text-color +let codeIntervalId; +let clicks = 0; +const hideCode = () => { + codeIntervalId = setInterval(() => document.getElementById('codeInput').style.color = 'black', 200); +} + +function increaseClicks(){ + pauseTime(); + let data = { + 'clicks' : clicks+1 + }; + sendRequest('POST', '/increaseClicks/', data).then( + function(response){ + increaseTime(); + } + ).catch( + function(error){ + increaseTime(); + console.error(error); + } + ); +} + +const showCode = () => { + pauseTime(); + sendRequest('GET', '/getChancesUsed/', null).then( + function(response){ + response = JSON.parse(response); + clicks = response['chancesUsed']; + const box = document.getElementById('codeInput'); + if (box.disabled === false) { + // Functionality won't be achieved after two clicks + if (clicks >= 2) { + // box.disabled = false; + // alert('You have used up your time!'); + Swal.fire( + 'Sorry..', + 'You have used up your time!', + 'error' + ); + return; + } + else { + // Disable button and show code for 5 seconds + box.disabled = true; + clearInterval(codeIntervalId); + box.style.color = 'white'; + setTimeout(() => { + hideCode() + box.disabled = false; + }, 5000); + } + increaseClicks(); + } + else{ + // alert('You have used up your time!'); + Swal.fire( + 'Sorry..', + 'You have used up your time!', + 'error' + ); + } + } + ).catch( + function(error){ + increaseTime(); + console.error(error); + } + ); +} +$(document).ready(function(){ + $('select').formSelect(); +}); \ No newline at end of file diff --git a/staticfiles/js/app.6b25ac0712be.js.gz b/staticfiles/js/app.6b25ac0712be.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..cf9a908631bc3850d1b288066b08038fdf8a7d51 GIT binary patch literal 3647 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 { + showCode() + }); +} + +function addResizeEvent(){ + window.onresize = function() { + if ((window.outerHeight - window.innerHeight) > 100) { + logout('screen-resize') + } + } +} + +function leaderbInit(){ + let i = 0; + $('.leaderboard-icon').click(function() { + $('.leaderboard').fadeToggle(650, "swing"); + if (i === 0) { + $('.li').html('cancel'); + i = 1 + getLeaderboard(); + // insert_chart + } + else { + $('.li').html('insert_chart') + i = 0; + } + }); +} +function disableCopyPaste(){ + /*var inp = document.getElementsByClassName('noselect')[0]; + inp.addEventListener('select', function() { + this.selectionStart = this.selectionEnd; + }, false); + document.addEventListener('contextmenu', event => event.preventDefault()); + $(document).keydown(function(e) { + // console.log('Key pressed: ', e.keyCode); + if (e.keyCode == ctrlKey || e.keyCode == cmdKey) ctrlDown = true; + }).keyup(function(e) { + // console.log('Key released: ', e.keyCode); + if (e.keyCode == ctrlKey || e.keyCode == cmdKey) ctrlDown = false; + }); + + $(".no-copy-paste").keydown(function(e) { + // console.log('Key pressed inside editor: ', e.keyCode); + if(ctrlDown && (e.keyCode == cKey)) + { + console.log("Document catch Ctrl+C"); + } + if(ctrlDown && (e.keyCode == vKey)){ + console.log("Document catch Ctrl+V"); + } + if (ctrlDown && (e.keyCode == vKey || e.keyCode == cKey)){ + // console.log('copy-paste'); + return false; + } + });*/ +} + +function populateLangs() +{ + console.log('populating languages...'); + + let selectField = document.getElementById('langSelect'); + for(element of languageIDs) + { + var opt = document.createElement("option"); + opt.value= element['id']; + opt.innerHTML = element['name']; + selectField.appendChild(opt); + } +} + +function logout(reason){ + if(reason == 'Finished'){ + Swal.fire( + 'Congratulations', + 'You have successfully attempted all the questions', + 'success' + ); + } + else if(reason == 'screen-resize'){ + Swal.fire( + 'Sorry', + "You will be logged out since you didn't follow the instructions", + 'error' + ); + } + window.location.href = "/logout"; +} + +function resetTime(){ + s = 0; + m = 0; +} + +function setOutput(outp) { + document.getElementById("compilerOutput").value = outp; +} + +function setScore(score){ + document.getElementById('score').innerHTML = score; +} + +function getOutput(){ + return document.getElementById("compilerOutput").value; +} + +function increaseQNum(){ + qNo = (getQNum() + 1) % _totalNumQues; +} + +function getQNum() { + return qNo; +} + +function getCode(){ + return document.getElementById("codeInput").value; +} + +function getLanguage(){ + return document.getElementById("langSelect").value; +} + +function disableRun(){ + document.getElementById('runBtn').disabled = true; +} + +function enableRun(){ + document.getElementById('runBtn').disabled = false; +} + +function runCode(){ + disableRun(); + pauseTime(); + console.log(`Time elapsed is: ${m} minutes and ${s} seconds`); + + let prog = getCode(); + + let lang = getLanguage(); + + let time = m * 60 + s; + + let program = { + source_code : prog, + language_id: lang, + qNo: getQNum(), + timeElapsed: time + }; + + sendRequest('POST', 'runCode/', program).then( + function(response){ + response = JSON.parse(response); + console.log('Compiler Call Response: ', response); + setOutput(response['stdout']); + setScore(response['score']); + if(getOutput() == 'Correct Answer') + { + if(response['completedGame'] == 'true'){ + logout('Finished'); + } + resetTime(); + increaseQNum(); + getQuestion(qNo); + } + increaseTime(); + enableRun(); + } + ).catch( + function(error){ + increaseTime(); + enableRun(); + console.error(error); + } + ); +} + +function getCookie(name) { + var v = document.cookie.match('(^|;) ?' + name + '=([^;]*)(;|$)'); + return v ? v[2] : null; +} + +function sendRequest(type, url, data){ + let request = new XMLHttpRequest(); + let csrftoken = getCookie("csrftoken"); + return new Promise(function(resolve, reject){ + request.onreadystatechange = () => { + if (request.readyState !== 4) return; + // Process the response + if (request.status >= 200 && request.status < 300) { + // If successful + resolve(request.responseText); + } else { + // If failed + reject({ + status: request.status, + statusText: request.statusText + }); + } + }; + // Setup our HTTP request + request.open(type || "GET", url, true); + // Add csrf token + request.setRequestHeader("X-CSRFToken", csrftoken); + // Send the request + request.send(JSON.stringify(data)); + }); + +} + +function getQuestion(queNum){ + + sendRequest('POST', '/question/', { queNum }).then( + function(response){ + response = JSON.parse(response); + let inpt = response['sampIn'].split(' '); + let inStr = ''; + for(let i = 0; i < inpt.length;i++) + { + inStr += inpt[i]; + inStr += '\n'; + } + let que = response['question'] + '

'+'Sample Input'+'
'+inStr+'

'+'Sample Output'+'
'+response['sampleOut']; + document.getElementsByClassName('left')[0].innerHTML=que; + qNo = response['qNo']; + document.getElementById('score').innerHTML = response['userScore']; + } + ).catch( + function(error){ + increaseTime(); + console.error(error); + } + ); +} + +function login() { + sendRequest('POST', 'login/', '').then( + function(resp){ + console.log(resp); + } + ).catch( + function(error){ + console.error(error); + } + ); +} + +function showInstructions() { + document.getElementsByClassName('instructions')[0].style.display = 'flex'; + document.getElementsByClassName('backdrop')[0].style.display = 'block'; +} + +function closeInstructions() { + document.getElementsByClassName('instructions')[0].style.display = 'none'; + document.getElementsByClassName('backdrop')[0].style.display = 'none'; +} + +document.addEventListener('DOMContentLoaded', function() { + var elems = document.querySelectorAll('select'); +}); + + $(document).delegate('#codeInput', 'keydown', function(e) { + var keyCode = e.keyCode || e.which; + + if (keyCode == 9) { + e.preventDefault(); + var start = this.selectionStart; + var end = this.selectionEnd; + + // set textarea value to: text before caret + tab + text after caret + $(this).val($(this).val().substring(0, start) + + "\t" + + $(this).val().substring(end)); + + // put caret at right position again + this.selectionStart = + this.selectionEnd = start + 1; + } + }); + +function sideNavInit(){ + let hamburger = document.querySelector(".hamburger"); + const title = document.querySelector('.title') + + // Side-nav event handler + hamburger.onclick = function(e) { + e.preventDefault; + if (hamburger.classList.contains("active")) { + hamburger.classList.remove("active"); + hamburger.style.transform = 'translateX(0)'; + document.getElementById('sidenav').style.transform = 'translateX(-100%)'; + title.style.left = 'calc(3vh + 50px)' + } + else { + hamburger.classList.add("active"); + hamburger.style.transform = 'translateX(21vw)'; + document.getElementById('sidenav').style.transform = 'translateX(0)'; + title.style.left = '3vh' + } + } +} + +function increaseTime() { + timerId = setInterval(function() { + if (s > 59){ + s -= 60; + m += 1; + } + + if (m < 10) { + if (s < 10) { + timerCont.innerHTML = '0' + m + ':0' + s; + } + else { + timerCont.innerHTML = '0' + m + ':' + s; + } + } + else { + if (s < 10) { + timerCont.innerHTML = m + ':0' + s; + } + else { + timerCont.innerHTML = + m + ':' + s; + } + } + + s++; + }, 1000) +} + +// Pause time function +function pauseTime() { + clearInterval(timerId); +} + +// Won't allow user to cheat by changing text-color +let codeIntervalId; +let clicks = 0; +const hideCode = () => { + codeIntervalId = setInterval(() => document.getElementById('codeInput').style.color = 'black', 200); +} + +function increaseClicks(){ + pauseTime(); + let data = { + 'clicks' : clicks+1 + }; + sendRequest('POST', '/increaseClicks/', data).then( + function(response){ + increaseTime(); + } + ).catch( + function(error){ + increaseTime(); + console.error(error); + } + ); +} + +const showCode = () => { + pauseTime(); + sendRequest('GET', '/getChancesUsed/', null).then( + function(response){ + response = JSON.parse(response); + clicks = response['chancesUsed']; + const box = document.getElementById('codeInput'); + if (box.disabled === false) { + // Functionality won't be achieved after two clicks + if (clicks >= 2) { + // box.disabled = false; + // alert('You have used up your time!'); + Swal.fire( + 'Sorry..', + 'You have used up your time!', + 'error' + ); + return; + } + else { + // Disable button and show code for 5 seconds + box.disabled = true; + clearInterval(codeIntervalId); + box.style.color = 'white'; + setTimeout(() => { + hideCode() + box.disabled = false; + }, 5000); + } + increaseClicks(); + } + else{ + // alert('You have used up your time!'); + Swal.fire( + 'Sorry..', + 'You have used up your time!', + 'error' + ); + } + } + ).catch( + function(error){ + increaseTime(); + console.error(error); + } + ); +} +$(document).ready(function(){ + $('select').formSelect(); +}); \ No newline at end of file diff --git a/staticfiles/js/app.d523da6b3141.js.gz b/staticfiles/js/app.d523da6b3141.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..d42338bf25eb49f2bf51c22e1606e39d10c0b474 GIT binary patch literal 3653 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 Xl!Gp&Q!?9DpU3?lDK6mA3oZZv35Vyj literal 0 HcmV?d00001 diff --git a/staticfiles/js/app.js b/staticfiles/js/app.js index 016394d..cb9c301 100644 --- a/staticfiles/js/app.js +++ b/staticfiles/js/app.js @@ -50,7 +50,7 @@ function leaderbInit(){ }); } function disableCopyPaste(){ - var inp = document.getElementsByClassName('noselect')[0]; + /*var inp = document.getElementsByClassName('noselect')[0]; inp.addEventListener('select', function() { this.selectionStart = this.selectionEnd; }, false); @@ -76,7 +76,7 @@ function disableCopyPaste(){ // console.log('copy-paste'); return false; } - }); + });*/ } function populateLangs() @@ -242,7 +242,7 @@ function getQuestion(queNum){ inStr += inpt[i]; inStr += '\n'; } - let que = response['question'] + '

'+'Sample Input'+'
'+response['sampTCNum']+'
'+inStr+'

'+'Sample Output'+'
'+response['sampleOut']; + let que = response['question'] + '

'+'Sample Input'+'
'+inStr+'

'+'Sample Output'+'
'+response['sampleOut']; document.getElementsByClassName('left')[0].innerHTML=que; qNo = response['qNo']; document.getElementById('score').innerHTML = response['userScore']; diff --git a/staticfiles/js/app.js.gz b/staticfiles/js/app.js.gz index f840ba3a11c3270e2027fa51f4834d601edbb6c1..d42338bf25eb49f2bf51c22e1606e39d10c0b474 100644 GIT binary patch literal 3653 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 Xl!Gp&Q!?9DpU3?lDK6mA3oZZv35Vyj literal 3655 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 Zx{7kp#dJz$+v>Zy{{t6+wX!5G0087L_zVC5 diff --git a/staticfiles/js/script.389e2dbba258.js b/staticfiles/js/script.389e2dbba258.js new file mode 100644 index 0000000..f0a2447 --- /dev/null +++ b/staticfiles/js/script.389e2dbba258.js @@ -0,0 +1,25 @@ +function getLeaderboard() { + $.ajax({ + url : "https://blind-coding-2021.herokuapp.com/leaderboard/", + type : "GET", + beforeSend : function() { + document.getElementById('leaderboard-loader').style.display = 'block'; + }, + success : function(jsondata) { + var objRecieved = jQuery.parseJSON(JSON.stringify(jsondata)); + let template = document.getElementById("leaderboard-row"); + document.getElementById('leaderboard-loader').style.display = 'none'; + for (var i = 0; i < objRecieved.username.length; ++i) { + let clone = template.content.cloneNode(true); + document.getElementById('leaderboard-body').appendChild(clone); + document.getElementsByClassName('rank')[i+2].innerHTML = i+1; //Get Array of Username's here + document.getElementsByClassName('name')[i+2].innerHTML = objRecieved.username[i]; //Get Array of Username's here + document.getElementsByClassName('score')[i+2].innerHTML = objRecieved.score[i]; //Get Array of Score's here + } + document.getElementById('userRank').innerHTML = 'Your Rank : ' + objRecieved.rank; + }, + error: function () { + console.log("Error"); + } + }) +} \ No newline at end of file diff --git a/staticfiles/js/script.389e2dbba258.js.gz b/staticfiles/js/script.389e2dbba258.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..20dff8442e152633c5fcfe9a3a51c8863fe791d7 GIT binary patch literal 503 zcmVuopM36&7R7|kTHWqJ{(_c9wkP^mT84|kt$P`b>{3XJxGcfX0AC9l$x)h~;Lb`}%`002m`_s{?U literal 0 HcmV?d00001 diff --git a/staticfiles/js/script.js.gz b/staticfiles/js/script.js.gz index 63d452e6d18f9ccb4e13e0454b63bbdc0de92d37..612af0c828e5267676fb014839e6908af78f8a87 100644 GIT binary patch literal 502 zcmVW*hqa2jONR)1wHXp!X^Zj`K9#x~cmqwE*_#0pXY-yMkNlKnh2#zF|usz?wzF>Y8%1%+(e%kKS%jd|N|+xgOp1 z-j+}q3lq=+*Qys~8!77{3~!d8Jw?eQ1z~#GeiTXE;~FRv=5b1$Zxv7>U9DJ4-jTRe zhA-k`1G(DryM}Xcu1`L9MhoWIzKBO=i7Dr|z$H9_K;Ze;25d`fW*vN*d>JRr-qCJ>@tco@o;$1{M3z7t%5;vR{c)RFZri}xu z*%GJ%J@vDKWSQJA)7l_ch>tL9qnHitgW7IkYy>3UHn8XEXkVofExN+cVRo)&Qi-Gk zJ`T@awpWTdH%2o_Y?)rf>AlQ`4^(Om_QT!h8796>#|vaaufwlB>3rh`+-MckL#7xejdiux>f?^!q$?tBu61pok7P4qVa diff --git a/staticfiles/staticfiles.json b/staticfiles/staticfiles.json index a3b53be..ee9d6d8 100644 --- a/staticfiles/staticfiles.json +++ b/staticfiles/staticfiles.json @@ -1 +1 @@ -{"paths": {"admin/js/vendor/select2/i18n/pt.js": "admin/js/vendor/select2/i18n/pt.5d6ccc53b347.js", "admin/js/vendor/select2/i18n/vi.js": "admin/js/vendor/select2/i18n/vi.3520aa7bdea8.js", "admin/js/vendor/select2/i18n/lv.js": "admin/js/vendor/select2/i18n/lv.07fe2a580d17.js", "admin/js/vendor/select2/i18n/gl.js": "admin/js/vendor/select2/i18n/gl.78a87f7c0a51.js", "admin/js/vendor/select2/i18n/pl.js": "admin/js/vendor/select2/i18n/pl.76465b54a6b0.js", "admin/js/vendor/select2/i18n/el.js": "admin/js/vendor/select2/i18n/el.5629ce65500f.js", "admin/js/vendor/select2/i18n/et.js": "admin/js/vendor/select2/i18n/et.c3953fb90b6b.js", "admin/js/vendor/select2/i18n/is.js": "admin/js/vendor/select2/i18n/is.808c7d47acb5.js", "admin/js/vendor/select2/i18n/ko.js": "admin/js/vendor/select2/i18n/ko.74b17541834f.js", "admin/js/vendor/select2/i18n/hr.js": "admin/js/vendor/select2/i18n/hr.e1d2c70b4df5.js", "admin/js/vendor/select2/i18n/ms.js": "admin/js/vendor/select2/i18n/ms.23e7b4369579.js", "admin/js/vendor/select2/i18n/fi.js": "admin/js/vendor/select2/i18n/fi.659847deefdc.js", "admin/js/vendor/select2/i18n/th.js": "admin/js/vendor/select2/i18n/th.2a4ece4c4355.js", "admin/js/vendor/select2/i18n/ru.js": "admin/js/vendor/select2/i18n/ru.d83609abf2e0.js", "admin/js/vendor/select2/i18n/eu.js": "admin/js/vendor/select2/i18n/eu.11b925456433.js", "admin/js/vendor/select2/i18n/mk.js": "admin/js/vendor/select2/i18n/mk.4986d7fc3ff3.js", "admin/js/vendor/select2/i18n/ja.js": "admin/js/vendor/select2/i18n/ja.19cf1ce8a03d.js", "admin/js/vendor/select2/i18n/he.js": "admin/js/vendor/select2/i18n/he.222d90ee0344.js", "admin/js/vendor/select2/i18n/bg.js": "admin/js/vendor/select2/i18n/bg.89cba4df3c86.js", "admin/js/vendor/select2/i18n/sr-Cyrl.js": "admin/js/vendor/select2/i18n/sr-Cyrl.2f3047aad49e.js", "admin/js/vendor/select2/i18n/id.js": "admin/js/vendor/select2/i18n/id.6ee6c9c64b94.js", "admin/js/vendor/select2/i18n/az.js": "admin/js/vendor/select2/i18n/az.498dc667b34e.js", "admin/js/vendor/select2/i18n/ca.js": "admin/js/vendor/select2/i18n/ca.2eaad4eb1950.js", "admin/js/vendor/select2/i18n/nb.js": "admin/js/vendor/select2/i18n/nb.137e184004aa.js", "admin/js/vendor/select2/i18n/zh-CN.js": "admin/js/vendor/select2/i18n/zh-CN.419002d3c6c1.js", "admin/js/vendor/select2/i18n/zh-TW.js": "admin/js/vendor/select2/i18n/zh-TW.c021537edf2c.js", "admin/js/vendor/select2/i18n/pt-BR.js": "admin/js/vendor/select2/i18n/pt-BR.9efbbac4fda8.js", "admin/js/vendor/select2/i18n/da.js": "admin/js/vendor/select2/i18n/da.cbf897a0ae53.js", "admin/js/vendor/select2/i18n/fa.js": "admin/js/vendor/select2/i18n/fa.98e52839b583.js", "admin/js/vendor/select2/i18n/de.js": "admin/js/vendor/select2/i18n/de.366d0aacb55f.js", "admin/js/vendor/select2/i18n/en.js": "admin/js/vendor/select2/i18n/en.05649b26c086.js", "admin/js/vendor/select2/i18n/sv.js": "admin/js/vendor/select2/i18n/sv.2b21bb3f6110.js", "admin/js/vendor/select2/i18n/hi.js": "admin/js/vendor/select2/i18n/hi.116a90b7111b.js", "admin/js/vendor/select2/i18n/uk.js": "admin/js/vendor/select2/i18n/uk.3d56f311192d.js", "admin/js/vendor/select2/i18n/cs.js": "admin/js/vendor/select2/i18n/cs.a68bcd293adc.js", "admin/js/vendor/select2/i18n/km.js": "admin/js/vendor/select2/i18n/km.6074a9c5575c.js", "admin/js/vendor/select2/i18n/fr.js": "admin/js/vendor/select2/i18n/fr.b06a3340de45.js", "admin/js/vendor/select2/i18n/nl.js": "admin/js/vendor/select2/i18n/nl.c363ace8aa05.js", "admin/js/vendor/select2/i18n/sr.js": "admin/js/vendor/select2/i18n/sr.157bc6eb978e.js", "admin/js/vendor/select2/i18n/hu.js": "admin/js/vendor/select2/i18n/hu.db45641f10b2.js", "admin/js/vendor/select2/i18n/lt.js": "admin/js/vendor/select2/i18n/lt.a0783b1bd159.js", "admin/js/vendor/select2/i18n/ar.js": "admin/js/vendor/select2/i18n/ar.a8bb27ec698c.js", "admin/js/vendor/select2/i18n/sk.js": "admin/js/vendor/select2/i18n/sk.a0f1a818d092.js", "admin/js/vendor/select2/i18n/it.js": "admin/js/vendor/select2/i18n/it.bae1661dbb77.js", "admin/js/vendor/select2/i18n/es.js": "admin/js/vendor/select2/i18n/es.dc9dbf9d65df.js", "admin/js/vendor/select2/i18n/ro.js": "admin/js/vendor/select2/i18n/ro.1ddc2b9980dc.js", "admin/js/vendor/select2/i18n/tr.js": "admin/js/vendor/select2/i18n/tr.c1925d8817db.js", "admin/css/vendor/select2/select2.min.css": "admin/css/vendor/select2/select2.min.d44571114a90.css", "admin/css/vendor/select2/LICENSE-SELECT2.md": "admin/css/vendor/select2/LICENSE-SELECT2.7cf1de939f3b.md", "admin/css/vendor/select2/select2.css": "admin/css/vendor/select2/select2.3805311d5fc1.css", "admin/js/vendor/jquery/jquery.min.js": "admin/js/vendor/jquery/jquery.min.a09e13ee94d5.js", "admin/js/vendor/jquery/LICENSE.txt": "admin/js/vendor/jquery/LICENSE.a158210a2737.txt", "admin/js/vendor/jquery/jquery.js": "admin/js/vendor/jquery/jquery.6a07da9fae93.js", "admin/js/vendor/xregexp/xregexp.min.js": "admin/js/vendor/xregexp/xregexp.min.c95393b8ca4d.js", "admin/js/vendor/xregexp/xregexp.js": "admin/js/vendor/xregexp/xregexp.1865b1cf5085.js", "admin/js/vendor/xregexp/LICENSE.txt": "admin/js/vendor/xregexp/LICENSE.d64cecf4f157.txt", "admin/js/vendor/select2/LICENSE.md": "admin/js/vendor/select2/LICENSE.7cf1de939f3b.md", "admin/js/vendor/select2/select2.full.min.js": "admin/js/vendor/select2/select2.full.min.da607360bcc6.js", "admin/js/vendor/select2/select2.full.js": "admin/js/vendor/select2/select2.full.a95323cb4760.js", "admin/js/admin/RelatedObjectLookups.js": "admin/js/admin/RelatedObjectLookups.ea0683bea064.js", "admin/js/admin/DateTimeShortcuts.js": "admin/js/admin/DateTimeShortcuts.e3407a6ea666.js", "admin/img/gis/move_vertex_on.svg": "admin/img/gis/move_vertex_on.0047eba25b67.svg", "admin/img/gis/move_vertex_off.svg": "admin/img/gis/move_vertex_off.7a23bf31ef8a.svg", "main/css/style-1.css": "main/css/style-1.eb0f0518180f.css", "main/css/style.css": "main/css/style.ae077c22546b.css", "main/js/script.js": "main/js/script.4e84e1e74b80.js", "admin/css/widgets.css": "admin/css/widgets.5e372b41c483.css", "admin/css/login.css": "admin/css/login.a846c0e2ef65.css", "admin/css/dashboard.css": "admin/css/dashboard.7ac78187c567.css", "admin/css/responsive.css": "admin/css/responsive.d1e3572cb104.css", "admin/css/autocomplete.css": "admin/css/autocomplete.781713f30664.css", "admin/css/responsive_rtl.css": "admin/css/responsive_rtl.2a6652327ccd.css", "admin/css/forms.css": "admin/css/forms.2da17328804f.css", "admin/css/fonts.css": "admin/css/fonts.494e4ec545c9.css", "admin/css/rtl.css": "admin/css/rtl.306dbf6d5df6.css", "admin/css/base.css": "admin/css/base.4e3bba263270.css", "admin/css/changelists.css": "admin/css/changelists.f6dc691f8d62.css", "admin/js/urlify.js": "admin/js/urlify.4087f3e18796.js", "admin/js/inlines.min.js": "admin/js/inlines.min.4d23f8660b21.js", "admin/js/core.js": "admin/js/core.9c3bce7d1006.js", "admin/js/collapse.js": "admin/js/collapse.acba97a53595.js", "admin/js/actions.js": "admin/js/actions.2fb8e8349c22.js", "admin/js/prepopulate.js": "admin/js/prepopulate.2f90da7170ec.js", "admin/js/cancel.js": "admin/js/cancel.d6b4b556c3aa.js", "admin/js/autocomplete.js": "admin/js/autocomplete.cfd2c4dc8981.js", "admin/js/inlines.js": "admin/js/inlines.3b3fb199b064.js", "admin/js/change_form.js": "admin/js/change_form.9e85003a1a38.js", "admin/js/SelectFilter2.js": "admin/js/SelectFilter2.bf63c55b78f6.js", "admin/js/jquery.init.js": "admin/js/jquery.init.95b62fa19378.js", "admin/js/popup_response.js": "admin/js/popup_response.6ce3197f8fc8.js", "admin/js/SelectBox.js": "admin/js/SelectBox.b49f008d186b.js", "admin/js/actions.min.js": "admin/js/actions.min.5fa8cb0403f1.js", "admin/js/calendar.js": "admin/js/calendar.aae57adab5f6.js", "admin/js/timeparse.js": "admin/js/timeparse.51258861a46a.js", "admin/js/prepopulate.min.js": "admin/js/prepopulate.min.85fd5e0fb706.js", "admin/js/collapse.min.js": "admin/js/collapse.min.2ee8a0086864.js", "admin/js/prepopulate_init.js": "admin/js/prepopulate_init.0d3b53c37074.js", "admin/img/search.svg": "admin/img/search.7cf54ff789c6.svg", "admin/img/icon-calendar.svg": "admin/img/icon-calendar.ac7aea671bea.svg", "admin/img/icon-clock.svg": "admin/img/icon-clock.e1d4dfac3f2b.svg", "admin/img/icon-no.svg": "admin/img/icon-no.439e821418cd.svg", "admin/img/tooltag-add.svg": "admin/img/tooltag-add.e59d620a9742.svg", "admin/img/inline-delete.svg": "admin/img/inline-delete.fec1b761f254.svg", "admin/img/LICENSE": "admin/img/LICENSE.2c54f4e1ca1c", "admin/img/icon-changelink.svg": "admin/img/icon-changelink.18d2fd706348.svg", "admin/img/icon-unknown.svg": "admin/img/icon-unknown.a18cb4398978.svg", "admin/img/sorting-icons.svg": "admin/img/sorting-icons.3a097b59f104.svg", "admin/img/icon-viewlink.svg": "admin/img/icon-viewlink.41eb31f7826e.svg", "admin/img/icon-yes.svg": "admin/img/icon-yes.d2f9f035226a.svg", "admin/img/icon-addlink.svg": "admin/img/icon-addlink.d519b3bab011.svg", "admin/img/icon-unknown-alt.svg": "admin/img/icon-unknown-alt.81536e128bb6.svg", "admin/img/icon-deletelink.svg": "admin/img/icon-deletelink.564ef9dc3854.svg", "admin/img/README.txt": "admin/img/README.a70711a38d87.txt", "admin/img/selector-icons.svg": "admin/img/selector-icons.b4555096cea2.svg", "admin/img/calendar-icons.svg": "admin/img/calendar-icons.39b290681a8b.svg", "admin/img/tooltag-arrowright.svg": "admin/img/tooltag-arrowright.bbfb788a849e.svg", "admin/img/icon-alert.svg": "admin/img/icon-alert.034cc7d8a67f.svg", "admin/fonts/Roboto-Light-webfont.woff": "admin/fonts/Roboto-Light-webfont.b446c2399bb6.woff", "admin/fonts/Roboto-Bold-webfont.woff": "admin/fonts/Roboto-Bold-webfont.2ad99072841e.woff", "admin/fonts/Roboto-Regular-webfont.woff": "admin/fonts/Roboto-Regular-webfont.ec39515ae8c6.woff", "admin/fonts/README.txt": "admin/fonts/README.2c3d0bcdede2.txt", "admin/fonts/LICENSE.txt": "admin/fonts/LICENSE.d273d63619c9.txt", "css/style-1.css": "css/style-1.7692807c6181.css", "css/style.css": "css/style.b5ef3ada1383.css", "js/script.js": "js/script.139c34315f11.js", "js/app.js": "js/app.33da9917d99d.js", "main/loggedIn.html": "main/loggedIn.0721807f144d.html", "main/index.html": "main/index.1ebf225d6a15.html", "main/selectQuestion.html": "main/selectQuestion.2a53ad559243.html", "main/app.js": "main/app.5b2c6662d341.js", "assets/ninja-coder.png": "assets/ninja-coder.707da3eb7534.png", "assets/gradient-1.svg": "assets/gradient-1.f981f7ece0f8.svg", "assets/club-logo.svg": "assets/club-logo.3b5e066f9317.svg", "assets/apogeeLogo.png": "assets/apogeeLogo.e0dc007fcd0d.png"}, "version": "1.0"} \ No newline at end of file +{"paths": {"admin/js/vendor/select2/i18n/pt.js": "admin/js/vendor/select2/i18n/pt.5d6ccc53b347.js", "admin/js/vendor/select2/i18n/vi.js": "admin/js/vendor/select2/i18n/vi.3520aa7bdea8.js", "admin/js/vendor/select2/i18n/lv.js": "admin/js/vendor/select2/i18n/lv.07fe2a580d17.js", "admin/js/vendor/select2/i18n/gl.js": "admin/js/vendor/select2/i18n/gl.78a87f7c0a51.js", "admin/js/vendor/select2/i18n/pl.js": "admin/js/vendor/select2/i18n/pl.76465b54a6b0.js", "admin/js/vendor/select2/i18n/el.js": "admin/js/vendor/select2/i18n/el.5629ce65500f.js", "admin/js/vendor/select2/i18n/et.js": "admin/js/vendor/select2/i18n/et.c3953fb90b6b.js", "admin/js/vendor/select2/i18n/is.js": "admin/js/vendor/select2/i18n/is.808c7d47acb5.js", "admin/js/vendor/select2/i18n/ko.js": "admin/js/vendor/select2/i18n/ko.74b17541834f.js", "admin/js/vendor/select2/i18n/hr.js": "admin/js/vendor/select2/i18n/hr.e1d2c70b4df5.js", "admin/js/vendor/select2/i18n/ms.js": "admin/js/vendor/select2/i18n/ms.23e7b4369579.js", "admin/js/vendor/select2/i18n/fi.js": "admin/js/vendor/select2/i18n/fi.659847deefdc.js", "admin/js/vendor/select2/i18n/th.js": "admin/js/vendor/select2/i18n/th.2a4ece4c4355.js", "admin/js/vendor/select2/i18n/ru.js": "admin/js/vendor/select2/i18n/ru.d83609abf2e0.js", "admin/js/vendor/select2/i18n/eu.js": "admin/js/vendor/select2/i18n/eu.11b925456433.js", "admin/js/vendor/select2/i18n/mk.js": "admin/js/vendor/select2/i18n/mk.4986d7fc3ff3.js", "admin/js/vendor/select2/i18n/ja.js": "admin/js/vendor/select2/i18n/ja.19cf1ce8a03d.js", "admin/js/vendor/select2/i18n/he.js": "admin/js/vendor/select2/i18n/he.222d90ee0344.js", "admin/js/vendor/select2/i18n/bg.js": "admin/js/vendor/select2/i18n/bg.89cba4df3c86.js", "admin/js/vendor/select2/i18n/sr-Cyrl.js": "admin/js/vendor/select2/i18n/sr-Cyrl.2f3047aad49e.js", "admin/js/vendor/select2/i18n/id.js": "admin/js/vendor/select2/i18n/id.6ee6c9c64b94.js", "admin/js/vendor/select2/i18n/az.js": "admin/js/vendor/select2/i18n/az.498dc667b34e.js", "admin/js/vendor/select2/i18n/ca.js": "admin/js/vendor/select2/i18n/ca.2eaad4eb1950.js", "admin/js/vendor/select2/i18n/nb.js": "admin/js/vendor/select2/i18n/nb.137e184004aa.js", "admin/js/vendor/select2/i18n/zh-CN.js": "admin/js/vendor/select2/i18n/zh-CN.419002d3c6c1.js", "admin/js/vendor/select2/i18n/zh-TW.js": "admin/js/vendor/select2/i18n/zh-TW.c021537edf2c.js", "admin/js/vendor/select2/i18n/pt-BR.js": "admin/js/vendor/select2/i18n/pt-BR.9efbbac4fda8.js", "admin/js/vendor/select2/i18n/da.js": "admin/js/vendor/select2/i18n/da.cbf897a0ae53.js", "admin/js/vendor/select2/i18n/fa.js": "admin/js/vendor/select2/i18n/fa.98e52839b583.js", "admin/js/vendor/select2/i18n/de.js": "admin/js/vendor/select2/i18n/de.366d0aacb55f.js", "admin/js/vendor/select2/i18n/en.js": "admin/js/vendor/select2/i18n/en.05649b26c086.js", "admin/js/vendor/select2/i18n/sv.js": "admin/js/vendor/select2/i18n/sv.2b21bb3f6110.js", "admin/js/vendor/select2/i18n/hi.js": "admin/js/vendor/select2/i18n/hi.116a90b7111b.js", "admin/js/vendor/select2/i18n/uk.js": "admin/js/vendor/select2/i18n/uk.3d56f311192d.js", "admin/js/vendor/select2/i18n/cs.js": "admin/js/vendor/select2/i18n/cs.a68bcd293adc.js", "admin/js/vendor/select2/i18n/km.js": "admin/js/vendor/select2/i18n/km.6074a9c5575c.js", "admin/js/vendor/select2/i18n/fr.js": "admin/js/vendor/select2/i18n/fr.b06a3340de45.js", "admin/js/vendor/select2/i18n/nl.js": "admin/js/vendor/select2/i18n/nl.c363ace8aa05.js", "admin/js/vendor/select2/i18n/sr.js": "admin/js/vendor/select2/i18n/sr.157bc6eb978e.js", "admin/js/vendor/select2/i18n/hu.js": "admin/js/vendor/select2/i18n/hu.db45641f10b2.js", "admin/js/vendor/select2/i18n/lt.js": "admin/js/vendor/select2/i18n/lt.a0783b1bd159.js", "admin/js/vendor/select2/i18n/ar.js": "admin/js/vendor/select2/i18n/ar.a8bb27ec698c.js", "admin/js/vendor/select2/i18n/sk.js": "admin/js/vendor/select2/i18n/sk.a0f1a818d092.js", "admin/js/vendor/select2/i18n/it.js": "admin/js/vendor/select2/i18n/it.bae1661dbb77.js", "admin/js/vendor/select2/i18n/es.js": "admin/js/vendor/select2/i18n/es.dc9dbf9d65df.js", "admin/js/vendor/select2/i18n/ro.js": "admin/js/vendor/select2/i18n/ro.1ddc2b9980dc.js", "admin/js/vendor/select2/i18n/tr.js": "admin/js/vendor/select2/i18n/tr.c1925d8817db.js", "admin/css/vendor/select2/select2.min.css": "admin/css/vendor/select2/select2.min.d44571114a90.css", "admin/css/vendor/select2/LICENSE-SELECT2.md": "admin/css/vendor/select2/LICENSE-SELECT2.7cf1de939f3b.md", "admin/css/vendor/select2/select2.css": "admin/css/vendor/select2/select2.3805311d5fc1.css", "admin/js/vendor/jquery/jquery.min.js": "admin/js/vendor/jquery/jquery.min.a09e13ee94d5.js", "admin/js/vendor/jquery/LICENSE.txt": "admin/js/vendor/jquery/LICENSE.a158210a2737.txt", "admin/js/vendor/jquery/jquery.js": "admin/js/vendor/jquery/jquery.6a07da9fae93.js", "admin/js/vendor/xregexp/xregexp.min.js": "admin/js/vendor/xregexp/xregexp.min.c95393b8ca4d.js", "admin/js/vendor/xregexp/xregexp.js": "admin/js/vendor/xregexp/xregexp.1865b1cf5085.js", "admin/js/vendor/xregexp/LICENSE.txt": "admin/js/vendor/xregexp/LICENSE.d64cecf4f157.txt", "admin/js/vendor/select2/LICENSE.md": "admin/js/vendor/select2/LICENSE.7cf1de939f3b.md", "admin/js/vendor/select2/select2.full.min.js": "admin/js/vendor/select2/select2.full.min.da607360bcc6.js", "admin/js/vendor/select2/select2.full.js": "admin/js/vendor/select2/select2.full.a95323cb4760.js", "admin/js/admin/RelatedObjectLookups.js": "admin/js/admin/RelatedObjectLookups.ea0683bea064.js", "admin/js/admin/DateTimeShortcuts.js": "admin/js/admin/DateTimeShortcuts.e3407a6ea666.js", "admin/img/gis/move_vertex_on.svg": "admin/img/gis/move_vertex_on.0047eba25b67.svg", "admin/img/gis/move_vertex_off.svg": "admin/img/gis/move_vertex_off.7a23bf31ef8a.svg", "main/css/style-1.css": "main/css/style-1.eb0f0518180f.css", "main/css/style.css": "main/css/style.ae077c22546b.css", "main/js/script.js": "main/js/script.4e84e1e74b80.js", "admin/css/widgets.css": "admin/css/widgets.5e372b41c483.css", "admin/css/login.css": "admin/css/login.a846c0e2ef65.css", "admin/css/dashboard.css": "admin/css/dashboard.7ac78187c567.css", "admin/css/responsive.css": "admin/css/responsive.d1e3572cb104.css", "admin/css/autocomplete.css": "admin/css/autocomplete.781713f30664.css", "admin/css/responsive_rtl.css": "admin/css/responsive_rtl.2a6652327ccd.css", "admin/css/forms.css": "admin/css/forms.2da17328804f.css", "admin/css/fonts.css": "admin/css/fonts.494e4ec545c9.css", "admin/css/rtl.css": "admin/css/rtl.306dbf6d5df6.css", "admin/css/base.css": "admin/css/base.4e3bba263270.css", "admin/css/changelists.css": "admin/css/changelists.f6dc691f8d62.css", "admin/js/urlify.js": "admin/js/urlify.4087f3e18796.js", "admin/js/inlines.min.js": "admin/js/inlines.min.4d23f8660b21.js", "admin/js/core.js": "admin/js/core.9c3bce7d1006.js", "admin/js/collapse.js": "admin/js/collapse.acba97a53595.js", "admin/js/actions.js": "admin/js/actions.2fb8e8349c22.js", "admin/js/prepopulate.js": "admin/js/prepopulate.2f90da7170ec.js", "admin/js/cancel.js": "admin/js/cancel.d6b4b556c3aa.js", "admin/js/autocomplete.js": "admin/js/autocomplete.cfd2c4dc8981.js", "admin/js/inlines.js": "admin/js/inlines.3b3fb199b064.js", "admin/js/change_form.js": "admin/js/change_form.9e85003a1a38.js", "admin/js/SelectFilter2.js": "admin/js/SelectFilter2.bf63c55b78f6.js", "admin/js/jquery.init.js": "admin/js/jquery.init.95b62fa19378.js", "admin/js/popup_response.js": "admin/js/popup_response.6ce3197f8fc8.js", "admin/js/SelectBox.js": "admin/js/SelectBox.b49f008d186b.js", "admin/js/actions.min.js": "admin/js/actions.min.5fa8cb0403f1.js", "admin/js/calendar.js": "admin/js/calendar.aae57adab5f6.js", "admin/js/timeparse.js": "admin/js/timeparse.51258861a46a.js", "admin/js/prepopulate.min.js": "admin/js/prepopulate.min.85fd5e0fb706.js", "admin/js/collapse.min.js": "admin/js/collapse.min.2ee8a0086864.js", "admin/js/prepopulate_init.js": "admin/js/prepopulate_init.0d3b53c37074.js", "admin/img/search.svg": "admin/img/search.7cf54ff789c6.svg", "admin/img/icon-calendar.svg": "admin/img/icon-calendar.ac7aea671bea.svg", "admin/img/icon-clock.svg": "admin/img/icon-clock.e1d4dfac3f2b.svg", "admin/img/icon-no.svg": "admin/img/icon-no.439e821418cd.svg", "admin/img/tooltag-add.svg": "admin/img/tooltag-add.e59d620a9742.svg", "admin/img/inline-delete.svg": "admin/img/inline-delete.fec1b761f254.svg", "admin/img/LICENSE": "admin/img/LICENSE.2c54f4e1ca1c", "admin/img/icon-changelink.svg": "admin/img/icon-changelink.18d2fd706348.svg", "admin/img/icon-unknown.svg": "admin/img/icon-unknown.a18cb4398978.svg", "admin/img/sorting-icons.svg": "admin/img/sorting-icons.3a097b59f104.svg", "admin/img/icon-viewlink.svg": "admin/img/icon-viewlink.41eb31f7826e.svg", "admin/img/icon-yes.svg": "admin/img/icon-yes.d2f9f035226a.svg", "admin/img/icon-addlink.svg": "admin/img/icon-addlink.d519b3bab011.svg", "admin/img/icon-unknown-alt.svg": "admin/img/icon-unknown-alt.81536e128bb6.svg", "admin/img/icon-deletelink.svg": "admin/img/icon-deletelink.564ef9dc3854.svg", "admin/img/README.txt": "admin/img/README.a70711a38d87.txt", "admin/img/selector-icons.svg": "admin/img/selector-icons.b4555096cea2.svg", "admin/img/calendar-icons.svg": "admin/img/calendar-icons.39b290681a8b.svg", "admin/img/tooltag-arrowright.svg": "admin/img/tooltag-arrowright.bbfb788a849e.svg", "admin/img/icon-alert.svg": "admin/img/icon-alert.034cc7d8a67f.svg", "admin/fonts/Roboto-Light-webfont.woff": "admin/fonts/Roboto-Light-webfont.b446c2399bb6.woff", "admin/fonts/Roboto-Bold-webfont.woff": "admin/fonts/Roboto-Bold-webfont.2ad99072841e.woff", "admin/fonts/Roboto-Regular-webfont.woff": "admin/fonts/Roboto-Regular-webfont.ec39515ae8c6.woff", "admin/fonts/README.txt": "admin/fonts/README.2c3d0bcdede2.txt", "admin/fonts/LICENSE.txt": "admin/fonts/LICENSE.d273d63619c9.txt", "css/style-1.css": "css/style-1.7692807c6181.css", "css/style.css": "css/style.b5ef3ada1383.css", "js/script.js": "js/script.389e2dbba258.js", "js/app.js": "js/app.d523da6b3141.js", "main/loggedIn.html": "main/loggedIn.0721807f144d.html", "main/index.html": "main/index.1ebf225d6a15.html", "main/selectQuestion.html": "main/selectQuestion.2a53ad559243.html", "main/app.js": "main/app.5b2c6662d341.js", "assets/ninja-coder.png": "assets/ninja-coder.707da3eb7534.png", "assets/gradient-1.svg": "assets/gradient-1.f981f7ece0f8.svg", "assets/club-logo.svg": "assets/club-logo.3b5e066f9317.svg", "assets/apogeeLogo.png": "assets/apogeeLogo.e0dc007fcd0d.png"}, "version": "1.0"} \ No newline at end of file