From 44747eed2d2835be464f593afec716bde96cfeba Mon Sep 17 00:00:00 2001 From: codeghoul Date: Fri, 29 Nov 2019 17:18:05 +0530 Subject: [PATCH 1/6] Updates --- asset-manifest.json | 21 ++++++++++ favicon.ico | Bin 0 -> 22382 bytes index.html | 1 + logo192.png | Bin 0 -> 8581 bytes logo512.png | Bin 0 -> 22920 bytes manifest.json | 25 +++++++++++ ...nifest.0823f8afdb6011dfd8e8c0293bb10d92.js | 22 ++++++++++ robots.txt | 2 + service-worker.js | 39 ++++++++++++++++++ static/css/main.152d9bc1.chunk.css | 2 + static/css/main.152d9bc1.chunk.css.map | 1 + static/js/2.d1d7e087.chunk.js | 2 + static/js/2.d1d7e087.chunk.js.map | 1 + static/js/main.762e449e.chunk.js | 2 + static/js/main.762e449e.chunk.js.map | 1 + static/js/runtime-main.98d58318.js | 2 + static/js/runtime-main.98d58318.js.map | 1 + 17 files changed, 122 insertions(+) create mode 100644 asset-manifest.json create mode 100644 favicon.ico create mode 100644 index.html create mode 100644 logo192.png create mode 100644 logo512.png create mode 100644 manifest.json create mode 100644 precache-manifest.0823f8afdb6011dfd8e8c0293bb10d92.js create mode 100644 robots.txt create mode 100644 service-worker.js create mode 100644 static/css/main.152d9bc1.chunk.css create mode 100644 static/css/main.152d9bc1.chunk.css.map create mode 100644 static/js/2.d1d7e087.chunk.js create mode 100644 static/js/2.d1d7e087.chunk.js.map create mode 100644 static/js/main.762e449e.chunk.js create mode 100644 static/js/main.762e449e.chunk.js.map create mode 100644 static/js/runtime-main.98d58318.js create mode 100644 static/js/runtime-main.98d58318.js.map diff --git a/asset-manifest.json b/asset-manifest.json new file mode 100644 index 0000000..e32b8bd --- /dev/null +++ b/asset-manifest.json @@ -0,0 +1,21 @@ +{ + "files": { + "main.css": "/burger-builder/static/css/main.152d9bc1.chunk.css", + "main.js": "/burger-builder/static/js/main.762e449e.chunk.js", + "main.js.map": "/burger-builder/static/js/main.762e449e.chunk.js.map", + "runtime-main.js": "/burger-builder/static/js/runtime-main.98d58318.js", + "runtime-main.js.map": "/burger-builder/static/js/runtime-main.98d58318.js.map", + "static/js/2.d1d7e087.chunk.js": "/burger-builder/static/js/2.d1d7e087.chunk.js", + "static/js/2.d1d7e087.chunk.js.map": "/burger-builder/static/js/2.d1d7e087.chunk.js.map", + "index.html": "/burger-builder/index.html", + "precache-manifest.0823f8afdb6011dfd8e8c0293bb10d92.js": "/burger-builder/precache-manifest.0823f8afdb6011dfd8e8c0293bb10d92.js", + "service-worker.js": "/burger-builder/service-worker.js", + "static/css/main.152d9bc1.chunk.css.map": "/burger-builder/static/css/main.152d9bc1.chunk.css.map" + }, + "entrypoints": [ + "static/js/runtime-main.98d58318.js", + "static/js/2.d1d7e087.chunk.js", + "static/css/main.152d9bc1.chunk.css", + "static/js/main.762e449e.chunk.js" + ] +} \ No newline at end of file diff --git a/favicon.ico b/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..c2c86b859eaa20639adf92ff979c2be8d580433e GIT binary patch literal 22382 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 QPNaAH_W=L@JAozeZ|l@fegFUf literal 0 HcmV?d00001 diff --git a/index.html b/index.html new file mode 100644 index 0000000..2c5708d --- /dev/null +++ b/index.html @@ -0,0 +1 @@ +React App
\ No newline at end of file diff --git a/logo192.png b/logo192.png new file mode 100644 index 0000000000000000000000000000000000000000..fa313abf53936aefc517dbd583b724a57199d415 GIT binary patch literal 8581 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�j1_K1^)Wa2c{unU5x90^=B%`#p^GI<=?J!r*2&WAY3!!t z{tJ1(wl-?wp$uJV1N$-5;^%;iF&^*yFptzyR6UcZ>Grp*#>i(0`z+7d>b53a<+P27 zCW6R2 zPrk)#Hq?FzKPVi=^oQpoUk_=4W$xvd>uK&cQa7)*bf87aul`tHnU z$v&9%sY;zd@(VyJUALHrId=k36?R!`OP}Nxzi4f_{G^alv$uB|jy}4NIk!?Bi7Fdf zPG?8`jxrqgzxtGN0!3z( zn4QMmj&K-|9UOxPo;P^0LY`gO@ezg2Z@>R3#1;D>+w0w>GOGXBXV?cuK4JypP3Yj~ z|JF+yOFcbyI`2BkfUA9?kN>U|{>R)-W~CI$d?YIlC5Aql<^8COIdYlZ;$nzyf*WI| zQxR~Cg~^IxGU$zm;*0kEvN*V0$`hHA#$g(fOKiIRNTysOZTSTd8 zQ$3d5uF$Hog4gn3iGKoRACQB{Y!xb?l%*Z{)Z;l*Tr9?xv8s&=AH9|Eg-nSy{8U~6 z?#wivQ@MLb>u3=lzyH*J9J&6Eeyewj)xSy{@@q;Cb7kX__Vs2cnxV%S0 zR@ue*h&Has7B*XvWS<)~gV9UL*L&V>c_d8Fi&)H2emPR?1~A}B5s6|H52ecU6whF? zvsLw+~JsSx+G9ii-U7zTcO9TJsMi==bPWimv!@=sfMtLCEdx zZN5TWW(DTbqBxE2eMgm5e*7e$7QQ}OLFFV4?u#G)nvKTZiukG`=Pp6J*z0j!NAd88 z2xX@>`MWZUk=eQxm?#l42a|Xqs+=na7FE4->R#(KC}O9piirw}Um1et%rJY+2TIsx zRyAjvf~?yRuUpYShS|cn=tHu1d{W$wgF}WXYk|Qxvf) zCXm;{Er(r^b$~v6f4cx~(a6O52)M^*G6sWz>n*Bp?KbqX7>e|%>f6aOJej6rr@rV- zE+{ak9-r^D=0^Nh>_AJG?<_uEVfD!WsNt@FnP%6l2m!aUz=#x9OzNCYVs_YMFPBx5 z7)tC%Ys?L>z_4}MsCC)40tU^~Qc%}SOzGT`0?yyAj$|Ou}V0d!JjECbuNMc9xUG64Hd{J1~LX>nHWL2IeFBj_#9?3UIJlYR$=dY8sX?Wm@ zEWTr6i6@M<9?SC^?z?%0Ez-B;>GXC`vRj9F#c=I|FU0ht3SoI2-USp1bHeB_W*IMa zB5L+V331sS=zdUd#qwj%d|OAw$&L5~k(h0p?8|L7^J>?wWq46j-@bnNA3_HNS;?v0Td!XZKP9*>1 zi@eyH8J-N{G8aI)Jf|j$e~M(;e7ge&2tY$Kbz7TZ2w;Ju`BXl=hhc;Yn-3f!2GGRe zH9q=UTze;E_0o<9SeRo0_NtW@|EwGY7vt1#-8I)Z-b}@7V5`P;({J?|AiP0_(E-|Y zl}Olm@x-+_Bj=u0iT3@McvmNPIB80fqH%3-X!Y2fHxW zb-srmRjT3N%0VO~=^viujdN(+-vXh@HjuN9zOiGSNL_h$jioRcVAp(kWPLM_x&{aA zH>={G@-3Nun9M_Lpk|-Kjv^I5hV?sGBLFvXFZ$HGz8LN^&LnSpdSxMnj^TA!j`C1m zGTSRBt@nB4ix_xng9OV8wp$o{;s%>AFvF{lRUZdY3MtsEbt~qaea`gu`T^XcmQQ&` z%|T;Ua=#Fu%IBu%j@-D~)#);DH_Nbi--UfU@OtOyydWT#)sV5BWHiaH{xwhXO1#4h zjEGXrRbErKLvI28{UdyYUmpH|N6Rwj6x&cwS9S^0tHd?axE4b8Q>SpHrb3_a7^YGc zWNM#hmondh-2fO!_Ay*e`{PCjFHV4Hdv)&*?uLNfmJS`*yjo)B_SRI z{ly*^=nG&t@_O2e!yZ>OPJ3}AK1p9kD)AsmbW;3VcPoSz=>meu#>%d#x^ z>7l|PpjrLp5n+p?1utHo=b_7fxpG~jfHJFy9_z=iH<53f z8$0)0`MCet@~@ih!srar2`@_**{6LGV?YK8^6(1rY`~{vVzvTS$68)Z<`gu?5FV5a zcFh*nsKh(t3E&3Vusb-(^|?qXxBDMcR*~NGwEG`uZ2?aLYnOi=KUxcsHbrh|T;^yf zEP-n)xedIhjz@l2vqKnqKp`z^SGT}_yfl1(% zJE;Yfd)a|TTwRRC**h8LU@USx5}(Gp`h#t2XJ8XS?ckl>PTtviIK!Oc`FL5l*nFZ3 zJ9+1XxdSyjosn67M0LYgv4BDWLJ!j}g(=`D-5jHB&=zgeWeU3Nw8fB!#^EY65j`kJ zYg4*q0i_0hcToaay9fnvi#)&S*Dnz%lVW`tIbEO|gg%eqj`JgFSL!p#aS+ZSY$gG7J0Q{wNmxb}s9cjF|ejK?W zG!NZ#?3oR!?59kQ)VjU3*AA4ab^-8)nvAw>-Qi0no|R$FeMh}nldxT2<|EESk1Ag< zoLt(tc&ixm7^3j?GU;MfeRxu0HBAduHePc7xT)GeT!!P>q%CwA`53&AQde30MoH#m z=o7_tnp;(0S#|cdaTK?A0x-SD<$VTq?d$&NMM$hLt<^b<0j@x` zx!LTrIQ`~pb};Nu1APty;;f80+3|q;k>gyUUmwdJ0Gl-Wtc(ZvSq++-UDS3wsw~{$ zL)0pUJ|%}&>Z%ra<6_i1n%WhcoSQ3=gBWkV^F&h~8?|Ttd(+ZPFCCj?ub^l0as#r= z=`1FXRlBGkW~CUgmjxqaBF6)uVoaW5;(p$I#aTd^hKzJpPQ{yz>DN^@<q5vmZ z*y()gSJSzw+=vgry5m5+pmE^9op8vZ6QP^s{_)7vx>z}nKvR3(z_wEt9c6p33`x`*E{R_K(bfz>|P)iYjNPff4)Zg f>uyPRUv^M&LL@+9#K}Dnr0aT>-P$OM>Z_+!`Nu-DnLFv*3K>`sh^xi~)D55AB zKp|j9EQv%Z0@BGD-gkd{pMCcCo%8c}U0x=cdFGi}Yt5Rq?sbo87G?(Q`;PB}Ac)<_ zP}d5ASinaXXfG@HXE}O&1A-8}0X7ae2U8P_S7@-5hj*x_k5qJU7-)web*<4LkUA?#pkA*2%;;UlCdr6?sMthrA}J;K`; zW2LMA9}k0X8p8fKTo^`LIw~qkDoS1|G{R3>R#jD1T1HMD?A-St%Lm z|9f{_fbajI`)=P0Rq^lvUC@c5>Xm$KQwd#Zhg+^Edv+~gpmi_0UUD;ubf<63v>;t@U{{J=Fe>Ir+ zg!uiBmfhI};dj+*8xjE4^Y0Y?dC1|v+BAe!m4IRGD*c}($Nz29f9eAB&-_e7y}|V4 z|9R@anv8UGEFwaE1A;(Xq?N&0AtOBm>O)-W6k+{%^n16oy z*VL_j!vFpD@7JJ!e{5Vx=pRjEJiK;=q#+y@5$cWi^6~y>Szx$-TO&h#aZw%-K3G4X zWDQ}guWtYlXN(ZoJ^_9qJ`qAEv3NfrSy`do#hm)@&qn$CfN}rNtCaqaIZE&DzyCE! zb?N`H4E29H{NFY#c<$fdfFl4NMfyKo3i$G$PRS<(c%lg4a)kF?cmhGNqyV6x|DhNN zI+=^l9g*nw;Ct@&esD_n)#Jw=$or-`l2R`V^^GpvJ5codg4TF^+-AJ^3)=?`C&L#R zWH+*{s)XL1Z!K#&$=}F+)GmJ(&CA{e2F!pUD@~Ih0)` zVWn|ORy5X1zfiH2nXp-NKbf_5f(Y}ElgsRM^?#Qb@j^zElf5zy(P7XvIQeHko6MF} zZ1ugBUpntuOI@gKPdQ3M&(e~PPtF{9Ar@kKcX|ckt~zZwkFTZsN$V zIc#}psPh)<)*iohy`hs);PgO-89GKn5XaNqzpxt;9J~-D1R3dKZK6wmeT;b&;`Nqo zL6CM#O8&Wef$E!JN>2Jg9=T7U>8z)`tI+J@yr;g@`yb3ZJ7~-;ns@t3-k+B_&i4)r zFXb#=Z%kQFxkvqG_oP$bJS|dFoc3$`d>`f0rsHJyqz0t>|IeTPk^u~) zSdJj>Cx3wM>C?(PC^`jjB!-P33e|B;2SZAGnhp{6PE%$k`3L4#;a#E_W|gT^ps*68 za2UD43bC=QnINU3xCyn;dE|5+eTz%>SW^&*KHEc-K7 z!iF&Rb5?E!?wmbrN*a^kJkzbKAyM*Wo@MIs$tQ22zt<^Rem3QS$?TA+Vd5M#eU`yj zsm?atbBsqcdH{2vJslI6rPAQ}x zd8AfoO_(53-?|*2m{n#e9t8QbqHsJAvxOpibrY%+Bqlt?>{U!ceB>jC)7xuj(ajV3KR8TUInJ&KV~Y@BoP@WTl{Q~Kj;&|Z>*Q!CL6YKF zakzi~ow?ZHq&TC|x3E&UJ2&G@n#qsZD;K@sqn;?7JrqdnCp(R;-vVzCK+`YD zMtlja46axza!L{64T78u6Dj)$M6IR^xE&V8L2sSJIkstC24C^br$-cj_p_3G(Db8F zd@xZ&Uhq1FIf_BtJ%QzfhZW$n4)n-k+-OMhxHy=NFqRXxfM@XWYzE=Vn40XO*gn|w z8>*^YCle)p-#sljHZg&(pVRsn{y5fqNRvSyEryzwK#P&hLoBGH$GT+!b zcfC%VZFBhm7xbf(@|tD89<98M1N(hOgpiy|l1Soa+T1%g`W1A_MQkhRE49uHXk8ai zPtG`gRRm%e#?qjLM0{4^j7$Iv3bzM}a-{j!($yPz*q=!ICWXCrJNhGwq7}+t5rC$n zGx?kbR?j$VWl|ExF^C&UIvDm7So0=|HbkJI>BZC&C3hSyFQTFsM;;rX=`6b<-MSJ8 zAu-AXzxv2glTU|;eXlXPF5wpwde=^pcvM(M4?J3<{ft5_doT{-(O7es^v>HnQh75) zyWfl3J`#l!gg$ptuv|`}n1mF3>W6TJTDu>a6!UftY|_`g+SiW^Ma)Jl_OX&psV5G6 zl)_3kapcM)yOrNXE!smVuqhb11hRvgkOYxj=E#0~z6m}9DDX_bBeOi6l5io%ynwWy zWo;h;{_=Xk-D{Og+0H40dSipVLBvW=KhJL`=iXN=Nwfc98Ib!N3ZLp6cGq!I#W16Q zT8=3}ilSIQww(Tj_kyx=Z-brQN}s{f;9&;{+b`pPABdC1BoyHHUO+9^Lp$!oN){$- zQ!sAl$7$E|i4BNp%4ye!Zlwnu+_s)f6d*41bYzF+mGekpqXq_Z0`lAbs@5QS_{q1x ze)JcF{O)`Z=su=_gzSuMTa&(5E=BQD@57p5RkuB@3$7#|GH!{*?b!8iI6bJ{rNU-1VRZ~mSBCKg5xunAHNIFTO2LIza<)Xq)(23NcTSA&u-`L9 z)2Wb@>G_LU1+68uLfA?80yl#XUh~_xkJS-jZGFrYPda#)Hbt!8!_&~9}#>WG9( zxX;!YaVJ2j6z07yowu(r#^qAALx=hYmUg;bwkEGrMqamNBzRDsuEdvj39w%gffRE$ z90Pfi|DfqRP_G}c()_K|k-9HSJFhC1>>X38N)R78$OF~0?O%E-Ppw_6NqedjbHTR# zT0j<>UIdGKfiVy~3QmYXe$TcNjrqQln7$-@Y5^+Ya#k8eu%t;~S6A$YqcM6G&P8oR8DC3Eg5 zX~Aa7>m+_Oy>{S=jM0&iO-9oLbMoM$v^#9}KBwOv9Y!rDRR@kutC(2Bk>#Ja&tUqD zE1cRbD*fIY>(c~HEK`|cD>wdJc>Ww(2iyAxnl4ryxHzNLI%7HvrvDg@!fl@hF4-|K zVo{59Y>qaN;Co6?-0H^^^ld(n0R?jt`|kQ9C@mDZD-5*1=q0|x;;)MN&Q9EaF}BWC zuj75@?QDwYA32{)aISU|@PrR~G%ZMIRk@vcgXAW$v`3UK+@$8)VSnjJ)b`u5@uH-s zOwIdZb$W1jIB;?ul&m>>+|C0}1$R!ynXf7~i8~#c+sG~?mU{raSFBiv3l zmFFa95cKEoiY{Ks+~$6Gx|q8;gYVfqG$%iZ6AqtV)bbvg6JU` z{eyQ){rra&=6lRu%QsE1!O2dm!)cVs?=nSBX_P((b=2B5d?ANa0VxGWKpgq@@bQQg z*ueEV3RB8fhnrPu6Jz_OO?o5BZ1gqKDf4^X;S4^0K2dBVY~c|;M+zKFON%z`y*X8s zOQ?z4n$0l(PU|{&+wKwnZN0Ul8BZ`vKfyfDoBu48(s#3JJZiVs_qBVvKhZJ6+S<6C ziJ4q-RDG-Wug>Do2Hm9MuodK6u=W#3jH(`yz7>3Gc9c=ER1PgjflvZN;N3iUcYsyM z{6lf$V-T{O`279iQR)|Dyl+S+hxSEaf~O|0J5-^^))Qbi-(U<_e`HWTd-GQeWc^2T z8VDzJY4q+CG?D9p?F_zOP1rm!STtkfh&mq0jlgKg+weu~+N^Cd~87 zf`QksZW6k5@m0V&-Z9=&VRZc1`dwJt7u7Xdd=|%J~&(0NvE4qqB3rp{`hu7kvmdC6@T0@R(q(_HM$vRZkjW7q<+qtt>z#N)kgCjLm z*h#Iiby4WNC$W<4k{&G^gg%$Q6bnfL;cA(d!puZdDWPoB#~6HHr!+AMCHTFw@4r%E zgCJt`jfOmE_qKcd(H4Ez;vnrho0G0=)M4R~u2 znT^@A(!g#P)!!1XBYz~7*{MAm@>2JaU9$P7c||KdcrA?odJ0#v1|KQ zEUA9rx7vfI$3t~ReWn?d(8(_&ktJ5Ph5s5}A@K4Je*XJ+GdkY-NE3x|kT`LWTLNBZGEQk0nSm7n z7ixx2i{cDSdn07f)YU zo)$)822^zN!?;LC!TLiUg7vc?F=~XqW6y8O>*dn7`XMDF%L{zjJd>e$*jCq#4Bb zWr4nBTAiU!(_;HtypCFaSh!N{R|Jd|?8I*jbq1uMiHto+&|?=-=O=2tu8GFQx7hxE zas@TM5sokw`c6N*lESXts}fWwi|l40e3g{frO`U;-00Dd!p_=r-c|Iip2_*=sKNnJ`g-9?04oiM zY7Q*$I@c{ZA?)ha-+Q75=vxxWE1M`{!d`-MW>W^@Be_ZQNX62slixpGU*R6wvY_d4 zkePgDlN)YFFnNUyOka@jeX(cqoCV{0dW$HQ8wlku7+3Oz#XZD#b;4YkTpfSKk~l9_ z@Ek7Q@9W+-nG9Nx8`$R{L4Q`URQ=b9X;pz~7siHm)|Ef5+qms$zVBNM%!NOQpYSU@ zH4}0dT*z_DRZYcLWGtjGFVMjH_yIxKw|Orr%qcb0>6P^@+ry@hGZJ>9CyP{(7^HT(BHb9I zIz*D05}KY2U6hEI4B$(ti8?~?f}Q6gc9wn!IG5PFpWIl}&~G`gwYc8~o|ep@WK*0Q zK1$s{xa?_k`%rIQTN&GhBtJM7aJT_%BmdI-zze%Uh1K00;Jge+37K}*;tBCaqxCWo zg^wTBwOWYOxoojOhNEVJOCp&;p_?f)C%<88wq`h|2N8u}YM^|K8 zyaS>bXLO;zr{k{&A1q@FQ`gsj9ilLJuJN9-xN3Fn; z|J9!9{ZQ|y$G7Qu$P5beaPD|^ow8(c@A$NQ$?=mN3Z}9jx&kK{cSY$n#~!Fn-F}JD zRa~%#++bmrHS4ScUado5$u#B)S=!1JU9vaY78lODeC_#lQ7hp5Q%H{(|kM0V};w6nmjl(GE6HJ?O| zJ&0N3A-s~63$!?;$!z3|za5Ak)72KPxB}95P61W`clxNl1h2_rhYlUOag7VQaFt!V zCl35{$WnQ1omMYzF%M)s1fr1C)G8kE(GVA3gJ%^M4rB!o1V9meiC0pqGEy>%Zk}RTtQ$}Ma_k{J}IfN@vU_E!}>Z`IZ4)7983`Z3q z1cOgk_sGUx!keiB->$F|P9VGY5#HBD9z4V|1#l=X#=+octU~{IIkm^gn>NHEm^%A( zv1Omu`!6G|Cp9mIKug?xM~|&s*s<(Ot@&2DL~~B@=T(A`hNH?XYrOiO{HuEeo(?{k zOMnCLa8rLfwu`;LV&Jx&F+94z%B>de(7HyX|BENK!FUPjhNE|(4+wV;#+ibrb-`T( znsy=vQg)`1&>iU%HxK@b>M5uIpoJ{c?}3XXUdwwYhDoT#rz+)=Rz1C!3Gcj`>02To zLjmGMqUniHSrY}T6uni=E|C4v>AfCJx|w4PkzWrVFGgGzCk)j`=2X80XZMsCwByg8 zn74Tsv4=7F4c7tT>kWwwe;quooQEJ~bfE*?Npb3pEYw;kL zT+|#5Jb6=x88f)Zkj576Sx|)pjgO{6?lk(=2uRiUd?o`|6NMm$R?U7$%-z3j&h}RM ze4;Cx`}S+=6$=c8nTT}(=RpXZJX5@oJhskc(74d_!%#V5;q!!U#S?SbFUq0r#by|t zq%t;p9(w5H7jQEl;yX@EsLA98v8R`J@a4cwJ({^vm9fh=m3^bxo{c$NP>|a*#@KB-7~v$&;0wT!fB^c^(f$%Kc9AWNDM(tr$BbK zGb_&io%F33>WPRa%5o5Dxd);&Q!KqYJ-wCY+N<}S8y$hx%57Hki={ElOsq=@0r8Qa z{Fe2uUpB?u*wQeumyP@rLhJP;ckd-PRQLL-Ucke_5rYUT!Dp4kaFEN!Vp@wwK#U1l zv!4?@O4NEsl3J+>t~@(HeOb;*o*&xz$mu>ne>8B(=%~|MXdx>>$XuVs-NFHDn>Q_s z-9@XLx>_$q;&!B2L8%N|1YZEzwqm3jLGitc@Mz6t2u-I93;^_WN7A1k0^gjkpEH-O zF}{4#_j1A$(lVY^QSAW;u-WTbruC4qE@Rpq`Vz+>WOs1*mp(GanCR2;_L<;;Kml$d z&2B{T5RuuS=YlNhe|b>gqk7j0%p{-GmrttiQc{XFv`!3RnGOUP@1G!Cyld?YYPksN zFm)-?VXlZ^_mG!Z@8+BCfXws#HJDvtLji`wO||lGvQss?Sx<1*Lo3dI+8IBi?;%qBJ2> zvKD2B+kvyOox1y?^dkdv`R#V^nE>mN z$_zU9M(LJ5O-++wtb*tQIQ^%?*US~EE34Q#y27)#5=PzDUeci9LaHtwr+lAr=EK9N-X@=ea9x&aG zx2jRQq8l2-2^sdRk~cw=e5*@L)LmiU=xXlc?L3keyvh28;ynh9*6Yt2qI2o5m3ywA@HZ=cWGgx!fs& zZA3IxWme$M#q3IWoy}c$OYPNL&S!n=^v~KmE_>J-iFWG7bl5fUaQGK$0a!f?0mJwZG48kM2GqN z1aNj1Z@<=t)T{{@ueVx#A4x@A<}G=c|D_XPE-f5mMi;ZezPmJ9m%)^P?j6?Iy5Y99 zzt7NyMrm;y^{4;pVO4x#h}#i>M(#C8U?(NkSFAM61*6ycxPgifvp=hY+Fm-ba-3E= z_;T*f7td`o|%scY7>|5fV71@?T3QH zR;JEuRbfNSc)?H{PVEV!z*@QSdp|W#OMxiAANh_vpF_OWaPqp2&h0)$v@D z-=d+=_kCGeCc9?MMaY+wKk(D_QSa6HLkt+IH(cYdJ-@dYFw1p$M? zh2t7&6t|KZsxFYP#PKU)!|!9Ti6spLnM;2imntRt1c}U>_|!D?mhvYlOu`FNd60s{ zrCm3kcEMLKQHs@lKU8!$Y^un^(GtF1IL&empt+Yvu{ zO;YUQFjDAVgL59IE^P$pQUbYwK=G$whHvS96!-dGz-|hce8C$#3DLQo;lW+~6 z3gTKl*qzvC8mBOyS6OvYIBUqhP|)vu``emU!8DE+-5erZF8PhrsyxJHErL8(5m6j; zOuL6#z6gcZ2#uJ`QcrSAkOUAiqlE*{1hOg8r7i9)(hXyCA^mdBFYODjMk#4!Q4*>? zo6B`Abt_@|EN4n?oD@skMiRcCPj)Ixq#C*CSEy`hHG3K@DtOC`U50ct1ZEBL5=v(% zcg(n%Ty;f%ZqR3S@f)t6(Ad>l;lb#Vu*D)0^RyI8Bl$1D)0wAy6|_Q1D-XPwKQ2oD zb2)y?x#s2T#}|Ja`-wqj^W73zt=GUhP`g(>+ zf!~f)9+PnP`}rmxg}YsoVRPBUr-fLPyetgyeB-&u|4qf)At<@ouRXwbroHRe|KbAJ zeEl-40ge0q3Ao)+d**<^o*;f=-=iYV;YGg(W@x${B(+nsIiiOb zU@|ihG3)K$OxIeur8+J2)qqxWI7>lVy?;OPph7n@qgHjcAkBjJ3aKY8!`#cec&7^jBrwKQDb; z%Gs?47j*s5PJbiQ2P!{j?TtsR>vWcdF$tlwB`Dk@qo`Ay{nhWUKDez*bCc9p@7OJ7 zh>Ox6`SiLM8(247!?BGnGp6ZVi_{Z!qI_r7wJ`H)<8G|vK9mn+QGR>4B=q{nPE4Fj z=0!=O2uACTq#FL(3vN`Tot;unRLS@~`r9NT*gC)=Zx`Ii^#j_qqoIT=rz}lUT=WsO;2F{L8k> zi*BG9)wttWq_An;J&Vsyp6fzww?=i3ev%{6%Ak0LP_ z)uyyW>q6s~Lpdsz5+wD{Hh|Jm8e$vI(xQVZYnTH&PORYdSOVR=!RAQnb^iOig{}dv68+e27Ll0*Ca_ay|=%2(1M+S z*j{Rao$D~i#fLBs78@%GTm5>@j@-z#QM^C2z95F|mL*7o0SEE_pq3wXXWfx*p$M+`5kp-Tk~6`>->Xi@C4+q(ymYJ1M@GA>t*QQH>+3@WNj+LXUT>XlH};(oC@z- zyIO~Syp4VDSN~UH(d$;eC8c;-V`zQzM8AQrT#*~RI}q7^DZ~~0k-O#Lcde( zX7I_7T|Y6Nj~rDOdH6>fWwm|G$xQ?r7&YMFPWUoVj&XR6(H2J)aP4d?DI!Z4Avn`g z@2yYH(2xGe0aV{RzSDWl>~-*hUo=%Ik35nDi=k@%!&7rj z9HXET76Yw1(oQ-yyt0!#Ond1aUIw%`AFtU<^AJRKOF+NXEYnm>Y#YSb{eEopjNM7_ z+P~FpCq0?)6(gtevn@ZSa!KPl>++lSg_+OlcYlf9xS~@J#|dNe`N`upZ&vdLM?orm zu4VG6;MpEv&TP|CUyo_b55IrIS%lDVUpUkMb)Zkq*_rL64le#fr42jLho1zCa12)f z_2L~W&&z{EtydVGH@Y&mq8(lZC zEQEOb6xzQ~LJj&A!cX{fn3%vtcz-}-xsAAd6_}+);My5@%xR3)rw4y*vH(tgOdq%7 z$vEH=H;BhJTS?KC>>9j*q&sz)`vTFmH%P&m%{%pqPg@DhcH5&k3G&=eDgV}fM-woxNmwu=O z^-zS*ynP?}VfgOP*|kssA~OZgdQNJkIuC>;wwN$gPiOTSXgIpPME4_l{h|?N|ZWy@FK@-rx(yHFstM zb%gE$d~&!71Ns^bu%7FnKzX(8RulfwgIm==Gx;?me~ykOx9%l-TZ%Nv!U)m9 zu8JkQlmLs~Jn6f$2F;(;xLqc%-?}OA-%m7u6nc!F;*vRLo^u>7r-ODi7-%B zg!y}pt=lX$_(qpvI$%?1%e^&h46kC<@U+f66*~i z3^O(Svf23xCs3JnKhM+~+9)7~^AZk=K=z;@`2Fpts<~U&XHhp^&0bPnosd_kyo?&3 z@?TEK42G=K?Z3)@Jf22jzOI^cJ2U&&II+PWln#AYdWI+D+anzlkIVmBE{WrD$L*wz zD+c)cp&OLnWZCj;g4$ipwO3q|o9Aa@6&`I`ahrSs;OnXC3$I7b%+EKP8SGGe_z8hu z61XOv6~Z+@0>3jct|+O*@-i^x%M}treFY+{0sB}8vuBFRylk|L;-_4xBG3ek5sPB0YulO6@^J6g_-6P4ccI&-G zdRDH_WaEWq&n1?5@_jk;bwd}#=8-H-u3|53?N@Ru93T4rBdNS!kHoMerj{wm9i4ax zx#7w$V`TZ>0tlW zPLQ#NgIMMWD-?gD>FC7!7%HsWNF^#+P8{o}Q{pwT3CK-tpxT~CIz>wxRu~}%agcF< z3`XUl;{nZ(ap0q&MJVw~i%cJ$5PnBxEZBm%Tk?A#Y74^AH(ty-XZV8WfTR9q5`tLJ zByc^{9Jq?LYS8(N7e7f7)06vMJJC$P|V|8%BDL-ESopukJm5_vRy; z{XEhEvA2M~1se;Tc^RdG=C8C9Lwtz0U!mz9RGxdhjj%QMmcxz4N+%M1t?ow(wVZzq zy!AT_{I315$GcrdQ$$(Sls^i03NjFtVsvloO|pXh8lmX;tSHw1s%vW&C}J3n@&kQE zI6JY?g;)H4j?OB~Ov=2V?bD+@{N!M+ATs`q%`7n@fp9gj`|uJCs08pZw5|1Mt+&W_ zU?qz|`M-7~Z&Bz!{w6Q(M0{W+FR;zIpbGkJer`R+kcH560V>b4bU-hpj9LtV6TG5f z-nz6gF9)G9QMJ7Bb=yb!!r4iQQ-*yVc_jN|6CvzKOa?yrL@9_7@_}Pxnzn*9y~p%B z0PG5SP+Ia<8QGnNPgcqy`LV2}Vt>|FEPc(wm`p*swCDV1tELK31v<79Rt%^goW>oL z(QDsFOy7Lla1ebcFTe5BsP;%ci3W@A)B8=|^5wd0()jRfy~6o|+d)#;NcHoTr&>NZ z+~+L+Cv5r@_^mEHBCbvt%MF)#h|lr}=cdjYj_!v!@O%FK>Z)0FA4oG{GR!f#qZrZi zQbp&h;piD<+n+@UaDwY_8#u64J!9;X3dYGE2c)H zqVhb&ngE&d*D4>4f?FJ>N4Mm_zVExT1DfjPZS)dD{K59g6mR|hV}>4AsCMPts7Rf> z4P61mw`i;u%k*d9u7ogsZhhtQgL|QhCH|44N-d6yhJ?_j9^-ZPOBPR@pat5~l?~a^ z5$9U~vkV5~c|Q2?C2fdO)MRJg`s^og2~v=q+Sc`UvQW9gFz;*aJrc|52p0+l@#-X| zJg!mz*=;{t(sT0Scc+&ag9bT4Q6r6PFHpJXfoOM5PkqaMEN5hKDtXJkiDIQ9hGC8i zm8*n-#S91Y4kw%&)v4F{W|A0E*7PBKV7_{lcgv`F2?+cQ#%@~%nDdmSz{GTaJQx8<9UDtdX(JU|44sNubn!|P&Lj@{8Xpi4hooZ zsJR0d@XY2$F0J-s>+;anYm9+@i*t|cGm$jLcHoA<9N?62QNJI0{56Nf+&_IBaM{`4 zt8i|c$YGc<-yTR%tx?OH)D!Q{V3;4Om?k}S7v_Pu00U8g&ORzJZ#C`y-6sDO;3~A5)@V=LpJg{nXdQz?gJZ4|XrUO#4gi7CI|mT__H1uafl{_+D-D~IQaMY$Jj zn2&Ek{RkH3@q`aL$Ti7p$S;*D`c?$f*NaaTxb}4Aq5y3^k2rW5>--RHkw~#Tzb4&E zc|EXaY`yhmY_rw;J3w284X%WfamvP{y%&uGQ@K#oSmVw<0GAcWuz{0QirD=_C|zvY z1c1#>3YgH#WrpTx|34pjE0?qcY4dZ&$G$HE#wXyQ>&`qcxZDjOmD#z@yPWS0Xo6>V zOvz6M{K>TXBy?Ls4M4=x%)-^sMmdvr9fIIdW^)VaLi@uDOe`h3n|NLTg)QwT7fT1}?!(YIo4ABFjF ztp<)GAhMpGNKR~jiB0^iCMx%(tu9FkQ`y#c#6fN%Ga!6X{Viq)DwLSpxS$wgnn+=v z{+c!<^ziwYg)9w8?UD45=!maaDQ}Vg=Jn~2Ak4Z&)kSld0W(o){6=S z8GM=i=M4JR*}

zrzRk6Nu6~M{Bt@-dzTlMFMQGm@YYw`g2C3*+*WvxJd0N+gx5` zLuEoHAo|#o6S24UOhOhVG>G5R0<|3TsJAitE^7?+)+WC_<)2chOlDXhPLsjUz3H*g z6YYZQohPoQ+nQ)-C>^u=m|%ydcT|1uc>nyU+Alk)b?(U-_CEBkHTm;bxFMN6g2%lL z24_e&XkuIBi1nurYi$8DjWuk4jT?613w`V7kx4_dM1kz52KJn>;gTKVX6-s(wj`7TfroRQ)s$&YY zI|!)sh(r1H;L?Hs1fXRW_{iFC`^6uH=ic&Oz-bsYoklJH9anr&I`H)Qs{?_Bq7!pT zjk%;thuO`nrFQOf-}3PZ2eaYboz2c(a!P%q&7Ifn?Wkod$k~2nqtZ5fHK@)0>2BH= zDK-e?!A54UX4oya{;`GJPHy7WjAX4q*o|12uVEZ>kiaAW`g3#3@!fg#aT9KU;lA~H z+K_5=T=ULv!OpvkF(}Ssj4bhojue~XZ`=tss~X#P(_N#)2Cn`-?HY9y8S6Q=rVQxk zr=DkMSSGzyvJT8<@UJMd}?|3 z4$z5zb@q(>Jw$dGTTjUd?G1JItDd?C-8+)KH{SBY*s2JqRs|#vYn70m9Y_yOt1ixS z+p?T%=?l@!C9x7FIq;0tNHOEl{EXxs9)-=Bz5v-V=}iCwR~{marAz(cVeqAa(sR)w zMab}x+7vG!blJK*^*=jpHMY)nVAe_xO?QGq&bcU0q*^^G&u;`#quLnTk)=Imdls(D ziuio_3^>d6I?J_6B2Xo`pd=aJ#L-5{8wHi=Gy1Gjg(M>7kQUnZ=3#E;lRs&*nbfCg zhQUREktFo}1g4~l;@7=>4MDU{3>?ce(YqwIbAh@z!#R#axSv68_}$?N92#qcejOv0 z7yb!R{oWc;X-R0*r!n7?q;8lbmLaFN(}o1Nh*}D^vb$IMxUI&IZ@0RY-l>8<-KeO56vpynGrq)|p^XX)y0Zp=u*V+h8M?ra7l;)czB~6x^ zeB`6hr?M*75P^Zg-V^Q76sFmH4-ZPF_l%DNjxm8*D)`D6-aGs;q zD5THahBo9sKac<{q{6go4bC12fs~2a?vHr+siN?J9*wi9N&+ihx}X~aoRGrFO%URl zC3Qnh^_Cx%rdn=(1Qog*ImHIpO;B*CuQ;@J9bcH-97kQXODcJObi}?IFp&>KFDRdn z`Q%|up}S=-jT$%2!oP%m!`}e_0B&quQuYsXiCNdG0BG`Z{qGVKP7}Q&j@)=TWA>YL zAUQdv$yQbBq|_F;LuPgNnKA?&Bqk_g`cCL~FZDUnZr{EcH*#)tTXNQliKf#eXThzZ zsXJ%Z14`JJ7&A}$YVkRToyH&&K*$!w^s(w6zj7(_>-bnN6_&16mvrDO_ zAfb}|oV1Tcq!=i%*UOKO-E*0+F|`@NG%Q+-9mbC}?tfQ*@A}N2iydH73 zbZ_<#)_t)v6L_ijQYY-$nhPNAnk88B+0Q}0QvQ~v7UctmOrIBj1;-S000fOJ(}w_2 z=^_U~q;jb-IM#}G!u@#Z_emE(VR9GA3&gu1ef?*yBBbt zVsv={+Yq|>+r-FmT84QLFtv0OL$2rEy*e((x5u#YrYL~W*^0l&Bp}zG*~;~={Pa#W z)pkNHheP`vX{2u|!*0U80idS&@Aa#bX-l$y+I!i_`OuE_R%|lYo)qi4#d1#a)s62POTbP)gzT0ixH-{CXFkHFeW3)&_=JNZullW_vUI?Wycz61z*iiz zxN+^0CS>g8o%{&i#7a0a%wk26f|_{Cf7@rU6JW@0E<(8@O-T6VU??nzmslRie@Ai( zI`);?uRHFk3{5Fun05FZCBVBrgxolh85FOhJ8lyNcgQy2e(wbbeEbdB%%EIjU7IL# z76))B=HL&;^79go=a2v?OLCWMcRBh9Ibv-6QhkzzUl0^{=cetp8g$Fa?}YHI=fv21 zoOLf?`eh<6A0t;#RZ~-+%_KXl$bqXBv%Jzfx&@+0%tJiuEI%(KEPQ$h3mEf&;0FeQ zYwH%&dI7lVAIc!de^LgAUi{a`8Dt=z!|=C{C^8&5d&u&*@|}~ySU+Qc)+xWmKt42^ z-CJy|WUDt!i`}SBW-T+jN(z{7x$Fif+CROrniEo%s@-FDx;D*|#r-?YW3@HQ9*_g3 z)u2z-F2cgIk6%EVVE@NH;ygDFg=rB=ruS-J4hrRWuiNEr1CA>Ul!RHqJ?5$5lSeJz ze1xX^0V2<~_Ms7`Quj^W#v1TXE01zPl}k*vY5q#4Ng@R{tqn2Z6txqx&&{FTo0U;U zjZufEAd4&g3W~Y@^f@wsm{H>}0IN>OL>RPq)s*NKcXN{cV5Pjo#$`W^u}d$$(YJ<> zv!e%9ShOpNB`pr%#w4V6eW%s4p`QwA?s2azh)G4Q3+!5ZwgX%BC?K_hYqVd%Ei}_R z^mmcvUDoR7ruao(U6IeyQ7G$!)|3cKAo6ia;knKQ3&3PS*tq##xx@u01v}JH@-m`PL|6*R;^s%%ByFxgNdsg~oc8-C;lPrqPPX`CK z)ggOut%!$abb9R4%RBVA@0W^3r`Prp?ipiXG6n;^tZV?uWNEsC7dXxDckg~X_gZhB zV#5nDs8PdB9OSQe#dc2C6u*jIG@nE7lHRi*Z?nV@FXHXHM_CtcdTjp&mz@f>D+Y== z_Om!tttpy+b8Lnn)QjE!7eI{=0J*X*ST!=$z|mKZ&mUHwpP8j^*(R?3HIprET*(c9z>;D`qUt2N3f5oJhrWlxoxfYe7u4nUd{Dwu-fVz;RUSe z#y_BTDTuDJR2z$7TsH~qv&=+jd{TMx;n_-S!ECr;b2GP3Iy(gW&|E9QP&>wWNb@ip z?S!ig$~?KWaoGlYcas3N3!v44(rrFId06s-BVbMXIVK!L;WVMbk&l8|6y|u7=JmCf zfBI=ZL(_w(JbP0qpEGi;$Ls2(v8(cRTB-NXWEjx60jr;DM6{|oDDk+05V${a>EZv? z$(cVwwfAxS3?sRgER`&wYtV*DiXn`Iv1O}>ER{&Qwvjz!DqUB|@{na1v{2UU3ezp5 zGE8I*6`En}Ydq6>9fuXp4ykf)=tZ#iprIps&lZoQdF0Y8W)7H0S zkd;EMCy|z8yBx^}j|2B9MJ-K}%3m6-D0WqWTCP~*zAEg`+`rbd(c;ocCB+s&BIj9hv371#z_4_-_D#^T(J_&oB)J5`aUDc=sk~SLgg^^S>7x8-dwv z^oWEpK_2?_t+N)^iY?B{(ufR_kAjVfeCcjI{GoTqyekpq(Dzi2%HSxOR&4i+10Ol? zhDVfe>6J7Ci8z`({}=c7LOV~+ixZUk<=3!@{y&uuk-N-lxO_yTfVacx&)&CXZ;(?c zk}AcTQdeUV+A19hdM#Er;#(`l2jc;=u=U|tESK=?ps^e=*(e= z>+uAC$AyR{=*#P$dHILF)?`@@rf}uC;}lWYAP&k@=*S+WuXmpJMEpDlvdXrHvz>gI z&kOw{r9UhGi_Mv(wO^Qude^`LYCUE_ZWFlyZ8h)gydqoKoHw^Rj=b4IER=pMv%K9! zdX)hd-aosZV6ld_Hh{sWxM9^~j433AjHY8o)q8C5E{bBJGPtp65Z zDV_zz#F$syPMy2@i}kq7EiBCt$N_g)JbNnV^ zJKsx#jQYASKtv!6UnYML=ZTuPxDy&y?MxVn7;x|QKjIe-JYKgITz1_Ii{CyQljKIm z+L~;yCXY-@lbhSHXqyx+(==4VTlK*Qm?qghxL~O{-hh54KeY%*VnE$AVP0F^hz}wj z1ELe{wvQ!?(9$W_f;I#NHr9IFu_1@C&9y;W^N+a!%#{5j1;$+z;^f3Y{8G>tE-%ZQ zcG)4tUa1UC`nooNPnsC!G)RD4-i~!1cwT6y%Tfy-ZdTo zAKd%F+hjRas z{3_g6H>!GuUki8_gBrFH4eOIE()iEo=wdg+0r`7~3b7+e_wd7`Q1iW7#En_Q6(;v= zMdqzZ(!kqE!HSstrA{7Z-NCZS{H14(o|L|MF$2L0l){mn8s0&XS)R_)c`a+h#x@)>k{zAgiE0Jq-@hIQ_S-ht0QDOUe! z4TL6ie*M!uQ%Z)o6PTXVj2J!n(c{>tM}S4{Z`qH$6M~0PS98*H={A$SuXm4^vn8msy&GBYX;HEH!eQY|67=4wru2)w8 zo^`lOi7v^ev}y==TgwBmm5QDS9L!9nu$(-ZUm{?FN(H^PR_WK@+T~(?o}U7(dR4?3 z%v87bi7%f4K(&0kFtz00pZCdtY8M4YQiMH-Z42o~_w+&y1T-?h53A?l23fJU$!P*HW)CD&=mS+S4ec7PCC()EuA>h(4xW9*9LH%_f>G-PapZIn7BqXl_(Y?906{@`~Wf2HJoG11>g?$sXG`Woj*lB%=g2c!*pN z^K@=YtMTQzlz#xn8$+E~gDhYi;uzlo9Xt;Ql%glb)WYMG3K!A=mpKhjv;eV-G3{E*XgUuzvG~I3dM&}O;iaye0+X)f)XqmF}QS~d?!F2 z1l1E@Wd+yc@Dv2#yZBKNy;zg)vniCh8WH+V@zgd_?JgM0l`=98;OZ6KS}@FmErGM! zO-fg}Bf@UBA?YS$MVLDS4L1!}5xP}VMvt@vUl@uLE+A#xdyCFw8zZZ=A|GGrwY)@{ zOwL?839Q&%edj6|ryeI$BzfybuqKj$kT}2x;uIb^cAVDT@m_p+H{6kX+qf474jx(u zv@=5MzF?J)1FXx=WE0+)gORg`-f1L_nsq^f&Cz)Du!2od!9Vc%+oA4#e{Fx=W6vYd zphIL72NER6xj=XN4@VL>xyW~O*`jl$AsDLmfr)x$F32dcZ_0WT=D(S-*eU0XLaPFN z*Hwg8L!-CM(AOQ6Hz-WD1`^@H3!D7HkJIPaN)(+QxfyJ z$xEq^LonqvAgv`+8EonC~ z&aUTMIG&@$W4+Dk$$t9}-YUSY$o7nVi#ql0_z*llnxTQNu>FwSp!@eQ^*`)R^nAVh zfNDcb<+6Jmh>S4-5U8^fECii=^K#ENBF`Vf=FU8CeYzv@l$?eA>^hVEIo6v_gf|e4 zBucxnY{2h070LLs(7!i#0Glajh%&_Msv65*@d6t#55?GCU`MkVf5H265B}ZEX?077 z1A^kq4oG)#;Iex!*!O$)fbaxBd9pd#u>uZLjKSaQ70R4VQTiC}E^+=*z{?1+}s%grxr=p3s!57`b#XDujE!LX0k z_Pn5%T%|{(;z*@izs$itQdgEZE}#5ds9teK3|9Fh-Qpl;ICRZbT^3cCyCUp8au9cI z<(4Y$oZ1M&3R~#pghrM975BIG6LIOVs$F6ZJy=tHU`xPL5>*{$_e3lv*gmCTNnPgC zEZ9=F6C38P)P)c@5LD!mLb-;jYsa?T*OMV{HU#~-z^!7YuUj|lIIy1!oC)K*?x1wN z?QfPcBaS{DPU4CS`p_2tavJ_*hr5O6JLCoK)qu}OjU@_C{V3A^Ise$*P1ar4^2{SQ zC5H8|o93@K_R8V2`KeCd_tH1$>#UNK4}Zr6^UP~N8dv>RY61XIx$PG}UQ~Kwuv%#I zOl6QHYyfI@3-W*_RLlIK#N3+zXD>n|w*|-21*5&&m*;1yDa*$J0 zxl@92Q$@1+PiZWyFxj3UWt)*)5I0YVA8_IE6C@&E_>du#!^fjGzTf4lGWLW+FT@IR z#1vSMLYFg*)#eUlp)Uwf$-UZMhNH2xsE=5*aDuP_uW45#5;2P94+^p*G+kHReKLiT zh&a4~1+96T8)H^PVeooFE<{kZo;v4NEKU8lFS~oS3k$fV=Y0Pw&D-c5NW{+c#7Z#q zmW$B0i!b{iFPs<(2sh^~zW5}32|4;F`ovB|<-q`076gGtG$zralLP`T|9Nt=b zT=Ok zQGTRXRB``uw6bHKUW=il7Y8vT?-7h!zjFA)gTtfY`fE2k$83Uwbr_DdL!rS9Ymuu& z*Ocij^Pho)t((`UX1XzJ@w5Fm)HvZ;+k#P#M{=wd2bl?~E0>agrY{l|TQkCRa>kj= zgzMwqn%CBek{73D{E`z*f_;+8l0Vne7!8$JJKr+p&?|(tv>$({t$bl_J==+tE8N@_ zg3~h#xUBZcb>AALs8%xhrB=hGTa7yD8~x0!y|0n-Lw3G>DhoypQDL5HD+_e7;XHC%ym$uO_h3(b2xB4@GqikTqnH{m=rSD@&i z&Pyd(HtsfCTxTZWa&pZhLkZ|C_o*4TWMAW8q503wQx$Zvd+vxE{@JbYg4i znar>ks_lKS;BU*oq9?{C<)K1Ic3;m>5WdMG;5{=fFhrqUU~|axc2Vv7WLf;;S7utJ z?veDc2snujgvvJ*`e8m6vnFEp<5>Iaz@niWo+Q43`tVhkWT(D}DOi$Qyq@iIm>1c6 zPuuoz_H@9(_UIkt?;V&<+9S^M{IS>XEE_MRjMFi}D%z=+N7ZCk<1y+Tk2o&{+b-q_ zA=6KbYGqPB|7ZMrrOWZ@mlIDguHzp#(J6Q<_)Z1KwqI8#c%am5amaaUl78Y>^zr}s b!B~?t+WWKS5u5)CcMJGaRz{_UZlwPKNp@r} literal 0 HcmV?d00001 diff --git a/manifest.json b/manifest.json new file mode 100644 index 0000000..080d6c7 --- /dev/null +++ b/manifest.json @@ -0,0 +1,25 @@ +{ + "short_name": "React App", + "name": "Create React App Sample", + "icons": [ + { + "src": "favicon.ico", + "sizes": "64x64 32x32 24x24 16x16", + "type": "image/x-icon" + }, + { + "src": "logo192.png", + "type": "image/png", + "sizes": "192x192" + }, + { + "src": "logo512.png", + "type": "image/png", + "sizes": "512x512" + } + ], + "start_url": ".", + "display": "standalone", + "theme_color": "#000000", + "background_color": "#ffffff" +} diff --git a/precache-manifest.0823f8afdb6011dfd8e8c0293bb10d92.js b/precache-manifest.0823f8afdb6011dfd8e8c0293bb10d92.js new file mode 100644 index 0000000..7aa45d7 --- /dev/null +++ b/precache-manifest.0823f8afdb6011dfd8e8c0293bb10d92.js @@ -0,0 +1,22 @@ +self.__precacheManifest = (self.__precacheManifest || []).concat([ + { + "revision": "b0e03b9c98fa13a637bda02723594d54", + "url": "/burger-builder/index.html" + }, + { + "revision": "a3cd0779e82ee677430b", + "url": "/burger-builder/static/css/main.152d9bc1.chunk.css" + }, + { + "revision": "6b43431c00dea84b50ab", + "url": "/burger-builder/static/js/2.d1d7e087.chunk.js" + }, + { + "revision": "a3cd0779e82ee677430b", + "url": "/burger-builder/static/js/main.762e449e.chunk.js" + }, + { + "revision": "8a43c3b415e9e50b81f4", + "url": "/burger-builder/static/js/runtime-main.98d58318.js" + } +]); \ No newline at end of file diff --git a/robots.txt b/robots.txt new file mode 100644 index 0000000..01b0f9a --- /dev/null +++ b/robots.txt @@ -0,0 +1,2 @@ +# https://www.robotstxt.org/robotstxt.html +User-agent: * diff --git a/service-worker.js b/service-worker.js new file mode 100644 index 0000000..8e6a1e3 --- /dev/null +++ b/service-worker.js @@ -0,0 +1,39 @@ +/** + * Welcome to your Workbox-powered service worker! + * + * You'll need to register this file in your web app and you should + * disable HTTP caching for this file too. + * See https://goo.gl/nhQhGp + * + * The rest of the code is auto-generated. Please don't update this file + * directly; instead, make changes to your Workbox build configuration + * and re-run your build process. + * See https://goo.gl/2aRDsh + */ + +importScripts("https://storage.googleapis.com/workbox-cdn/releases/4.3.1/workbox-sw.js"); + +importScripts( + "/burger-builder/precache-manifest.0823f8afdb6011dfd8e8c0293bb10d92.js" +); + +self.addEventListener('message', (event) => { + if (event.data && event.data.type === 'SKIP_WAITING') { + self.skipWaiting(); + } +}); + +workbox.core.clientsClaim(); + +/** + * The workboxSW.precacheAndRoute() method efficiently caches and responds to + * requests for URLs in the manifest. + * See https://goo.gl/S9QRab + */ +self.__precacheManifest = [].concat(self.__precacheManifest || []); +workbox.precaching.precacheAndRoute(self.__precacheManifest, {}); + +workbox.routing.registerNavigationRoute(workbox.precaching.getCacheKeyForURL("/burger-builder/index.html"), { + + blacklist: [/^\/_/,/\/[^\/?]+\.[^\/]+$/], +}); diff --git a/static/css/main.152d9bc1.chunk.css b/static/css/main.152d9bc1.chunk.css new file mode 100644 index 0000000..01b0ff0 --- /dev/null +++ b/static/css/main.152d9bc1.chunk.css @@ -0,0 +1,2 @@ +*{padding:0}*,body{margin:0}body{width:100%;height:100vh;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}.App{text-align:center}.Bar_Bar__3Vy_p{background:#00b09b;background:-webkit-gradient(linear,left bottom,left top,from(#00b09b),to(#96c93d));background:linear-gradient(0deg,#00b09b,#96c93d);flex-basis:2px;flex-grow:1;flex-shrink:0}.BarsContainer_BarsContainer__17pOc{width:95vw;height:600px;margin:0 auto;display:flex;justify-content:space-evenly;align-items:flex-end;flex-wrap:nowrap}.SortingVisualizer_SortingVisualizer__1kbp7{height:100vh;display:flex;justify-content:space-evenly;align-items:center;overflow:scroll;flex-direction:column}.SortingVisualizer_SortingVisualizer__1kbp7 h1{background:#00b09b;background:-webkit-gradient(linear,left bottom,left top,from(#00b09b),to(#96c93d));background:linear-gradient(0deg,#00b09b,#96c93d);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}.Button_Button__3qR7j{flex:1 1 auto;margin:5px;padding:7.5px;text-align:center;text-transform:uppercase;-webkit-transition:.5s;transition:.5s;background-size:200% auto;color:#fff;border-radius:5px;display:inline-block;font-size:12px;cursor:pointer}.Button_Button__3qR7j:hover{background-position:100%}.Button_Button1__2_rnQ{background-image:-webkit-gradient(linear,left top,right top,from(#f6d365),color-stop(51%,#fda085),to(#f6d365));background-image:linear-gradient(90deg,#f6d365 0,#fda085 51%,#f6d365)}.Button_Button2__1LiY_{background-image:-webkit-gradient(linear,left top,right top,from(#fbc2eb),color-stop(51%,#a6c1ee),to(#fbc2eb));background-image:linear-gradient(90deg,#fbc2eb 0,#a6c1ee 51%,#fbc2eb)}.Button_Button3__3AwsT{background-image:-webkit-gradient(linear,left top,right top,from(#00b09b),to(#96c93d));background-image:linear-gradient(90deg,#00b09b,#96c93d)}.Button_Button4__3ZIM7{background-image:-webkit-gradient(linear,left top,right top,from(#a1c4fd),color-stop(51%,#c2e9fb),to(#a1c4fd));background-image:linear-gradient(90deg,#a1c4fd 0,#c2e9fb 51%,#a1c4fd)}.Button_Button5__2QJCN{background-image:-webkit-gradient(linear,left top,right top,from(#ffecd2),color-stop(51%,#fcb69f),to(#ffecd2));background-image:linear-gradient(90deg,#ffecd2 0,#fcb69f 51%,#ffecd2)} +/*# sourceMappingURL=main.152d9bc1.chunk.css.map */ \ No newline at end of file diff --git a/static/css/main.152d9bc1.chunk.css.map b/static/css/main.152d9bc1.chunk.css.map new file mode 100644 index 0000000..c739541 --- /dev/null +++ b/static/css/main.152d9bc1.chunk.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["index.css","App.css","Bar.module.css","BarsContainer.module.css","SortingVisualizer.module.css","Button.module.css"],"names":[],"mappings":"AAAA,EAEE,SACF,CAEA,OAJE,QAaF,CATA,KAEE,UAAW,CACX,YAAa,CACb,mIAEY,CACZ,kCAAmC,CACnC,iCACF,CAEA,KACE,uEAEF,CAEA,sCAKE,mBAAoB,CACpB,cAAe,CACf,gBAAiB,CACjB,QACF,CAOA,aAEE,gBACF,CAOA,cAEE,mBACF,CAMA,gDAIE,yBACF,CC7DA,KACE,iBACF,CCFA,gBACE,kBAAmB,CAEnB,kFAAqD,CAArD,gDAAqD,CACrD,cAAe,CACf,WAAY,CACZ,aACF,CCPA,oCACE,UAAW,CACX,YAAa,CACb,aAAc,CACd,YAAa,CACb,4BAA6B,CAC7B,oBAAqB,CACrB,gBACF,CCRA,4CACE,YAAa,CACb,YAAa,CACb,4BAA6B,CAC7B,kBAAmB,CACnB,eAAgB,CAChB,qBACF,CAEA,+CACE,kBAAmB,CAMnB,kFAIC,CAJD,gDAIC,CACD,oBAAqB,CACrB,4BAA6B,CAC7B,mCACF,CCxBA,sBACE,aAAc,CACd,UAAW,CACX,aAAc,CACd,iBAAkB,CAClB,wBAAyB,CACzB,sBAAgB,CAAhB,cAAgB,CAChB,yBAA0B,CAC1B,UAAY,CACZ,iBAAkB,CAClB,oBAAqB,CACrB,cAAe,CACf,cACD,CAED,4BACE,wBACF,CAEA,uBACE,8GAAkF,CAAlF,qEACF,CAEA,uBACE,8GAAkF,CAAlF,qEACF,CAEA,uBACE,sFAA8D,CAA9D,uDACF,CAEA,uBACE,8GAAkF,CAAlF,qEACF,CAEA,uBACE,8GAAkF,CAAlF,qEACF","file":"main.152d9bc1.chunk.css","sourcesContent":["* {\n margin: 0%;\n padding: 0%;\n}\n\nbody {\n margin: 0;\n width: 100%;\n height: 100vh;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", \"Roboto\", \"Oxygen\",\n \"Ubuntu\", \"Cantarell\", \"Fira Sans\", \"Droid Sans\", \"Helvetica Neue\",\n sans-serif;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n}\n\ncode {\n font-family: source-code-pro, Menlo, Monaco, Consolas, \"Courier New\",\n monospace;\n}\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n font-family: inherit; /* 1 */\n font-size: 100%; /* 1 */\n line-height: 1.15; /* 1 */\n margin: 0; /* 2 */\n}\n\n/**\n * Show the overflow in IE.\n * 1. Show the overflow in Edge.\n */\n\nbutton,\ninput { /* 1 */\n overflow: visible;\n}\n\n/**\n * Remove the inheritance of text transform in Edge, Firefox, and IE.\n * 1. Remove the inheritance of text transform in Firefox.\n */\n\nbutton,\nselect { /* 1 */\n text-transform: none;\n}\n\n/**\n * Correct the inability to style clickable types in iOS and Safari.\n */\n\nbutton,\n[type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button;\n}",".App {\n text-align: center;\n}",".Bar {\n background: #00b09b; /* fallback for old browsers */\n background: -webkit-linear-gradient(to top, #00b09b, #96c93d); /* Chrome 10-25, Safari 5.1-6 */\n background: linear-gradient(to top, #00b09b, #96c93d); /* W3C, IE 10+/ Edge, Firefox 16+, Chrome 26+, Opera 12+, Safari 7+ */\n flex-basis: 2px;\n flex-grow: 1;\n flex-shrink: 0;\n}",".BarsContainer {\n width: 95vw;\n height: 600px;\n margin: 0 auto;\n display: flex;\n justify-content: space-evenly;\n align-items: flex-end;\n flex-wrap: nowrap;\n}",".SortingVisualizer {\n height: 100vh;\n display: flex;\n justify-content: space-evenly;\n align-items: center;\n overflow: scroll;\n flex-direction: column;\n}\n\n.SortingVisualizer h1 {\n background: #00b09b;\n background: -webkit-linear-gradient(\n to top,\n #00b09b,\n #96c93d\n );\n background: linear-gradient(\n to top,\n #00b09b,\n #96c93d\n );\n background-clip: text;\n -webkit-background-clip: text;\n -webkit-text-fill-color: transparent;\n}\n",".Button {\n flex: 1 1 auto;\n margin: 5px;\n padding: 7.5px;\n text-align: center;\n text-transform: uppercase;\n transition: 0.5s;\n background-size: 200% auto;\n color: white;\n border-radius: 5px;\n display: inline-block;\n font-size: 12px;\n cursor: pointer;\n }\n\n.Button:hover {\n background-position: right center; /* change the direction of the change here */\n}\n\n.Button1 {\n background-image: linear-gradient(to right, #f6d365 0%, #fda085 51%, #f6d365 100%);\n}\n\n.Button2 {\n background-image: linear-gradient(to right, #fbc2eb 0%, #a6c1ee 51%, #fbc2eb 100%);\n}\n\n.Button3 {\n background-image: linear-gradient(to right, #00b09b, #96c93d);\n}\n\n.Button4 {\n background-image: linear-gradient(to right, #a1c4fd 0%, #c2e9fb 51%, #a1c4fd 100%);\n}\n\n.Button5 {\n background-image: linear-gradient(to right, #ffecd2 0%, #fcb69f 51%, #ffecd2 100%);\n}"]} \ No newline at end of file diff --git a/static/js/2.d1d7e087.chunk.js b/static/js/2.d1d7e087.chunk.js new file mode 100644 index 0000000..da85f0a --- /dev/null +++ b/static/js/2.d1d7e087.chunk.js @@ -0,0 +1,2 @@ +(this["webpackJsonpsorting-visualizer"]=this["webpackJsonpsorting-visualizer"]||[]).push([[2],[function(e,t,n){"use strict";e.exports=n(23)},function(e,t,n){"use strict";e.exports=function(e,t,n,r,o,l,i,a){if(!e){var u;if(void 0===t)u=new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var c=[n,r,o,l,i,a],s=0;(u=new Error(t.replace(/%s/g,(function(){return c[s++]})))).name="Invariant Violation"}throw u.framesToPop=1,u}}},function(e,t,n){e.exports=n(27)()},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}n.d(t,"a",(function(){return r}))},function(e,t,n){"use strict";function r(e,t){for(var n=0;n=0||(o[n]=e[n]);return o}var v=n(13),b=n.n(v),g=n(1),w=n.n(g),k=n(12),E="undefined"!==typeof window&&"undefined"!==typeof window.document&&"undefined"!==typeof window.document.createElement?r.useLayoutEffect:r.useEffect,x=[],T=[null,null];function S(e,t){var n=e[1];return[t.payload,n+1]}var C=function(){return[null,0]};function P(e,t){void 0===t&&(t={});var n=t,l=n.getDisplayName,i=void 0===l?function(e){return"ConnectAdvanced("+e+")"}:l,u=n.methodName,c=void 0===u?"connectAdvanced":u,s=n.renderCountProp,f=void 0===s?void 0:s,p=n.shouldHandleStateChanges,m=void 0===p||p,v=n.storeKey,g=void 0===v?"store":v,P=n.withRef,_=void 0!==P&&P,O=n.forwardRef,N=void 0!==O&&O,M=n.context,R=void 0===M?a:M,z=y(n,["getDisplayName","methodName","renderCountProp","shouldHandleStateChanges","storeKey","withRef","forwardRef","context"]);w()(void 0===f,"renderCountProp is removed. render counting is built into the latest React Dev Tools profiling extension"),w()(!_,"withRef is removed. To access the wrapped instance, use a ref on the connected component");w()("store"===g,"storeKey has been removed and does not do anything. To use a custom Redux store for specific components, create a custom React context with React.createContext(), and pass the context object to React Redux's Provider and specific components like: . You may also pass a {context : MyContext} option to connect");var I=R;return function(t){var n=t.displayName||t.name||"Component",l=i(n),a=h({},z,{getDisplayName:i,methodName:c,renderCountProp:f,shouldHandleStateChanges:m,storeKey:g,displayName:l,wrappedComponentName:n,WrappedComponent:t}),u=z.pure;var s=u?r.useMemo:function(e){return e()};function p(n){var i=Object(r.useMemo)((function(){var e=n.forwardedRef,t=y(n,["forwardedRef"]);return[n.context,e,t]}),[n]),u=i[0],c=i[1],f=i[2],p=Object(r.useMemo)((function(){return u&&u.Consumer&&Object(k.isContextConsumer)(o.a.createElement(u.Consumer,null))?u:I}),[u,I]),v=Object(r.useContext)(p),b=Boolean(n.store)&&Boolean(n.store.getState)&&Boolean(n.store.dispatch),g=Boolean(v)&&Boolean(v.store);w()(b||g,'Could not find "store" in the context of "'+l+'". Either wrap the root component in a , or pass a custom React context provider to and the corresponding React context consumer to '+l+" in connect options.");var P=b?n.store:v.store,_=Object(r.useMemo)((function(){return function(t){return e(t.dispatch,a)}(P)}),[P]),O=Object(r.useMemo)((function(){if(!m)return T;var e=new d(P,b?null:v.subscription),t=e.notifyNestedSubs.bind(e);return[e,t]}),[P,b,v]),N=O[0],M=O[1],R=Object(r.useMemo)((function(){return b?v:h({},v,{subscription:N})}),[b,v,N]),z=Object(r.useReducer)(S,x,C),j=z[0][0],F=z[1];if(j&&j.error)throw j.error;var D=Object(r.useRef)(),U=Object(r.useRef)(f),L=Object(r.useRef)(),A=Object(r.useRef)(!1),$=s((function(){return L.current&&f===U.current?L.current:_(P.getState(),f)}),[P,j,f]);E((function(){U.current=f,D.current=$,A.current=!1,L.current&&(L.current=null,M())})),E((function(){if(m){var e=!1,t=null,n=function(){if(!e){var n,r,o=P.getState();try{n=_(o,U.current)}catch(l){r=l,t=l}r||(t=null),n===D.current?A.current||M():(D.current=n,L.current=n,A.current=!0,F({type:"STORE_UPDATED",payload:{error:r}}))}};N.onStateChange=n,N.trySubscribe(),n();return function(){if(e=!0,N.tryUnsubscribe(),N.onStateChange=null,t)throw t}}}),[P,N,_]);var W=Object(r.useMemo)((function(){return o.a.createElement(t,h({},$,{ref:c}))}),[c,t,$]);return Object(r.useMemo)((function(){return m?o.a.createElement(p.Provider,{value:R},W):W}),[p,W,R])}var v=u?o.a.memo(p):p;if(v.WrappedComponent=t,v.displayName=l,N){var P=o.a.forwardRef((function(e,t){return o.a.createElement(v,h({},e,{forwardedRef:t}))}));return P.displayName=l,P.WrappedComponent=t,b()(P,t)}return b()(v,t)}}var _=Object.prototype.hasOwnProperty;function O(e,t){return e===t?0!==e||0!==t||1/e===1/t:e!==e&&t!==t}function N(e,t){if(O(e,t))return!0;if("object"!==typeof e||null===e||"object"!==typeof t||null===t)return!1;var n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(var o=0;o=0;r--){var o=t[r](e);if(o)return o}return function(t,r){throw new Error("Invalid value of type "+typeof e+" for "+n+" argument when connecting component "+r.wrappedComponentName+".")}}function V(e,t){return e===t}var B=function(e){var t=void 0===e?{}:e,n=t.connectHOC,r=void 0===n?P:n,o=t.mapStateToPropsFactories,l=void 0===o?F:o,i=t.mapDispatchToPropsFactories,a=void 0===i?j:i,u=t.mergePropsFactories,c=void 0===u?U:u,s=t.selectorFactory,f=void 0===s?$:s;return function(e,t,n,o){void 0===o&&(o={});var i=o,u=i.pure,s=void 0===u||u,d=i.areStatesEqual,p=void 0===d?V:d,m=i.areOwnPropsEqual,v=void 0===m?N:m,b=i.areStatePropsEqual,g=void 0===b?N:b,w=i.areMergedPropsEqual,k=void 0===w?N:w,E=y(i,["pure","areStatesEqual","areOwnPropsEqual","areStatePropsEqual","areMergedPropsEqual"]),x=W(e,l,"mapStateToProps"),T=W(t,a,"mapDispatchToProps"),S=W(n,c,"mergeProps");return r(f,h({methodName:"connect",getDisplayName:function(e){return"Connect("+e+")"},shouldHandleStateChanges:Boolean(e),initMapStateToProps:x,initMapDispatchToProps:T,initMergeProps:S,pure:s,areStatesEqual:p,areOwnPropsEqual:v,areStatePropsEqual:g,areMergedPropsEqual:k},E))}}();function H(){var e=Object(r.useContext)(a);return w()(e,"could not find react-redux context value; please ensure the component is wrapped in a "),e}function q(e){void 0===e&&(e=a);var t=e===a?H:function(){return Object(r.useContext)(e)};return function(){return t().store}}var Q=q();!function(e){void 0===e&&(e=a);var t=e===a?Q:q(e)}();var K=function(e,t){return e===t};!function(e){void 0===e&&(e=a);var t=e===a?H:function(){return Object(r.useContext)(e)}}();var Y,X=n(8);n.d(t,"a",(function(){return m})),n.d(t,"b",(function(){return B})),Y=X.unstable_batchedUpdates,u=Y},function(e,t,n){"use strict";e.exports=n(29)},function(e,t,n){"use strict";var r=n(12),o={childContextTypes:!0,contextType:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,getDerivedStateFromError:!0,getDerivedStateFromProps:!0,mixins:!0,propTypes:!0,type:!0},l={name:!0,length:!0,prototype:!0,caller:!0,callee:!0,arguments:!0,arity:!0},i={$$typeof:!0,compare:!0,defaultProps:!0,displayName:!0,propTypes:!0,type:!0},a={};function u(e){return r.isMemo(e)?i:a[e.$$typeof]||o}a[r.ForwardRef]={$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0};var c=Object.defineProperty,s=Object.getOwnPropertyNames,f=Object.getOwnPropertySymbols,d=Object.getOwnPropertyDescriptor,p=Object.getPrototypeOf,m=Object.prototype;e.exports=function e(t,n,r){if("string"!==typeof n){if(m){var o=p(n);o&&o!==m&&e(t,o,r)}var i=s(n);f&&(i=i.concat(f(n)));for(var a=u(t),h=u(n),y=0;yM.length&&M.push(e)}function I(e,t,n){return null==e?0:function e(t,n,r,o){var a=typeof t;"undefined"!==a&&"boolean"!==a||(t=null);var u=!1;if(null===t)u=!0;else switch(a){case"string":case"number":u=!0;break;case"object":switch(t.$$typeof){case l:case i:u=!0}}if(u)return r(o,t,""===n?"."+j(t,0):n),1;if(u=0,n=""===n?".":n+":",Array.isArray(t))for(var c=0;c

{store.getState()}
\r\n * }\r\n */\n\nexport function useReduxContext() {\n var contextValue = useContext(ReactReduxContext);\n invariant(contextValue, 'could not find react-redux context value; please ensure the component is wrapped in a ');\n return contextValue;\n}","import { useContext } from 'react';\nimport { ReactReduxContext } from '../components/Context';\nimport { useReduxContext as useDefaultReduxContext } from './useReduxContext';\n/**\r\n * Hook factory, which creates a `useStore` hook bound to a given context.\r\n *\r\n * @param {Function} [context=ReactReduxContext] Context passed to your ``.\r\n * @returns {Function} A `useStore` hook bound to the specified context.\r\n */\n\nexport function createStoreHook(context) {\n if (context === void 0) {\n context = ReactReduxContext;\n }\n\n var useReduxContext = context === ReactReduxContext ? useDefaultReduxContext : function () {\n return useContext(context);\n };\n return function useStore() {\n var _useReduxContext = useReduxContext(),\n store = _useReduxContext.store;\n\n return store;\n };\n}\n/**\r\n * A hook to access the redux store.\r\n *\r\n * @returns {any} the redux store\r\n *\r\n * @example\r\n *\r\n * import React from 'react'\r\n * import { useStore } from 'react-redux'\r\n *\r\n * export const ExampleComponent = () => {\r\n * const store = useStore()\r\n * return
{store.getState()}
\r\n * }\r\n */\n\nexport var useStore = createStoreHook();","import { ReactReduxContext } from '../components/Context';\nimport { useStore as useDefaultStore, createStoreHook } from './useStore';\n/**\r\n * Hook factory, which creates a `useDispatch` hook bound to a given context.\r\n *\r\n * @param {Function} [context=ReactReduxContext] Context passed to your ``.\r\n * @returns {Function} A `useDispatch` hook bound to the specified context.\r\n */\n\nexport function createDispatchHook(context) {\n if (context === void 0) {\n context = ReactReduxContext;\n }\n\n var useStore = context === ReactReduxContext ? useDefaultStore : createStoreHook(context);\n return function useDispatch() {\n var store = useStore();\n return store.dispatch;\n };\n}\n/**\r\n * A hook to access the redux `dispatch` function.\r\n *\r\n * @returns {any|function} redux store's `dispatch` function\r\n *\r\n * @example\r\n *\r\n * import React, { useCallback } from 'react'\r\n * import { useDispatch } from 'react-redux'\r\n *\r\n * export const CounterComponent = ({ value }) => {\r\n * const dispatch = useDispatch()\r\n * const increaseCounter = useCallback(() => dispatch({ type: 'increase-counter' }), [])\r\n * return (\r\n *
\r\n * {value}\r\n * \r\n *
\r\n * )\r\n * }\r\n */\n\nexport var useDispatch = createDispatchHook();","import { useReducer, useRef, useMemo, useContext } from 'react';\nimport invariant from 'invariant';\nimport { useReduxContext as useDefaultReduxContext } from './useReduxContext';\nimport Subscription from '../utils/Subscription';\nimport { useIsomorphicLayoutEffect } from '../utils/useIsomorphicLayoutEffect';\nimport { ReactReduxContext } from '../components/Context';\n\nvar refEquality = function refEquality(a, b) {\n return a === b;\n};\n\nfunction useSelectorWithStoreAndSubscription(selector, equalityFn, store, contextSub) {\n var _useReducer = useReducer(function (s) {\n return s + 1;\n }, 0),\n forceRender = _useReducer[1];\n\n var subscription = useMemo(function () {\n return new Subscription(store, contextSub);\n }, [store, contextSub]);\n var latestSubscriptionCallbackError = useRef();\n var latestSelector = useRef();\n var latestSelectedState = useRef();\n var selectedState;\n\n try {\n if (selector !== latestSelector.current || latestSubscriptionCallbackError.current) {\n selectedState = selector(store.getState());\n } else {\n selectedState = latestSelectedState.current;\n }\n } catch (err) {\n var errorMessage = \"An error occurred while selecting the store state: \" + err.message + \".\";\n\n if (latestSubscriptionCallbackError.current) {\n errorMessage += \"\\nThe error may be correlated with this previous error:\\n\" + latestSubscriptionCallbackError.current.stack + \"\\n\\nOriginal stack trace:\";\n }\n\n throw new Error(errorMessage);\n }\n\n useIsomorphicLayoutEffect(function () {\n latestSelector.current = selector;\n latestSelectedState.current = selectedState;\n latestSubscriptionCallbackError.current = undefined;\n });\n useIsomorphicLayoutEffect(function () {\n function checkForUpdates() {\n try {\n var newSelectedState = latestSelector.current(store.getState());\n\n if (equalityFn(newSelectedState, latestSelectedState.current)) {\n return;\n }\n\n latestSelectedState.current = newSelectedState;\n } catch (err) {\n // we ignore all errors here, since when the component\n // is re-rendered, the selectors are called again, and\n // will throw again, if neither props nor store state\n // changed\n latestSubscriptionCallbackError.current = err;\n }\n\n forceRender({});\n }\n\n subscription.onStateChange = checkForUpdates;\n subscription.trySubscribe();\n checkForUpdates();\n return function () {\n return subscription.tryUnsubscribe();\n };\n }, [store, subscription]);\n return selectedState;\n}\n/**\r\n * Hook factory, which creates a `useSelector` hook bound to a given context.\r\n *\r\n * @param {Function} [context=ReactReduxContext] Context passed to your ``.\r\n * @returns {Function} A `useSelector` hook bound to the specified context.\r\n */\n\n\nexport function createSelectorHook(context) {\n if (context === void 0) {\n context = ReactReduxContext;\n }\n\n var useReduxContext = context === ReactReduxContext ? useDefaultReduxContext : function () {\n return useContext(context);\n };\n return function useSelector(selector, equalityFn) {\n if (equalityFn === void 0) {\n equalityFn = refEquality;\n }\n\n invariant(selector, \"You must pass a selector to useSelectors\");\n\n var _useReduxContext = useReduxContext(),\n store = _useReduxContext.store,\n contextSub = _useReduxContext.subscription;\n\n return useSelectorWithStoreAndSubscription(selector, equalityFn, store, contextSub);\n };\n}\n/**\r\n * A hook to access the redux store's state. This hook takes a selector function\r\n * as an argument. The selector is called with the store state.\r\n *\r\n * This hook takes an optional equality comparison function as the second parameter\r\n * that allows you to customize the way the selected state is compared to determine\r\n * whether the component needs to be re-rendered.\r\n *\r\n * @param {Function} selector the selector function\r\n * @param {Function=} equalityFn the function that will be used to determine equality\r\n *\r\n * @returns {any} the selected state\r\n *\r\n * @example\r\n *\r\n * import React from 'react'\r\n * import { useSelector } from 'react-redux'\r\n *\r\n * export const CounterComponent = () => {\r\n * const counter = useSelector(state => state.counter)\r\n * return
{counter}
\r\n * }\r\n */\n\nexport var useSelector = createSelectorHook();","import Provider from './components/Provider';\nimport connectAdvanced from './components/connectAdvanced';\nimport { ReactReduxContext } from './components/Context';\nimport connect from './connect/connect';\nimport { useDispatch, createDispatchHook } from './hooks/useDispatch';\nimport { useSelector, createSelectorHook } from './hooks/useSelector';\nimport { useStore, createStoreHook } from './hooks/useStore';\nimport { setBatch } from './utils/batch';\nimport { unstable_batchedUpdates as batch } from './utils/reactBatchedUpdates';\nimport shallowEqual from './utils/shallowEqual';\nsetBatch(batch);\nexport { Provider, connectAdvanced, ReactReduxContext, connect, batch, useDispatch, createDispatchHook, useSelector, createSelectorHook, useStore, createStoreHook, shallowEqual };","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-is.production.min.js');\n} else {\n module.exports = require('./cjs/react-is.development.js');\n}","'use strict';\n\nvar reactIs = require('react-is');\n/**\n * Copyright 2015, Yahoo! Inc.\n * Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms.\n */\n\n\nvar REACT_STATICS = {\n childContextTypes: true,\n contextType: true,\n contextTypes: true,\n defaultProps: true,\n displayName: true,\n getDefaultProps: true,\n getDerivedStateFromError: true,\n getDerivedStateFromProps: true,\n mixins: true,\n propTypes: true,\n type: true\n};\nvar KNOWN_STATICS = {\n name: true,\n length: true,\n prototype: true,\n caller: true,\n callee: true,\n arguments: true,\n arity: true\n};\nvar FORWARD_REF_STATICS = {\n '$$typeof': true,\n render: true,\n defaultProps: true,\n displayName: true,\n propTypes: true\n};\nvar MEMO_STATICS = {\n '$$typeof': true,\n compare: true,\n defaultProps: true,\n displayName: true,\n propTypes: true,\n type: true\n};\nvar TYPE_STATICS = {};\nTYPE_STATICS[reactIs.ForwardRef] = FORWARD_REF_STATICS;\n\nfunction getStatics(component) {\n if (reactIs.isMemo(component)) {\n return MEMO_STATICS;\n }\n\n return TYPE_STATICS[component['$$typeof']] || REACT_STATICS;\n}\n\nvar defineProperty = Object.defineProperty;\nvar getOwnPropertyNames = Object.getOwnPropertyNames;\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar getPrototypeOf = Object.getPrototypeOf;\nvar objectPrototype = Object.prototype;\n\nfunction hoistNonReactStatics(targetComponent, sourceComponent, blacklist) {\n if (typeof sourceComponent !== 'string') {\n // don't hoist over string (html) components\n if (objectPrototype) {\n var inheritedComponent = getPrototypeOf(sourceComponent);\n\n if (inheritedComponent && inheritedComponent !== objectPrototype) {\n hoistNonReactStatics(targetComponent, inheritedComponent, blacklist);\n }\n }\n\n var keys = getOwnPropertyNames(sourceComponent);\n\n if (getOwnPropertySymbols) {\n keys = keys.concat(getOwnPropertySymbols(sourceComponent));\n }\n\n var targetStatics = getStatics(targetComponent);\n var sourceStatics = getStatics(sourceComponent);\n\n for (var i = 0; i < keys.length; ++i) {\n var key = keys[i];\n\n if (!KNOWN_STATICS[key] && !(blacklist && blacklist[key]) && !(sourceStatics && sourceStatics[key]) && !(targetStatics && targetStatics[key])) {\n var descriptor = getOwnPropertyDescriptor(sourceComponent, key);\n\n try {\n // Avoid failures from read-only properties\n defineProperty(targetComponent, key, descriptor);\n } catch (e) {}\n }\n }\n }\n\n return targetComponent;\n}\n\nmodule.exports = hoistNonReactStatics;","/* global window */\nimport ponyfill from './ponyfill.js';\nvar root;\n\nif (typeof self !== 'undefined') {\n root = self;\n} else if (typeof window !== 'undefined') {\n root = window;\n} else if (typeof global !== 'undefined') {\n root = global;\n} else if (typeof module !== 'undefined') {\n root = module;\n} else {\n root = Function('return this')();\n}\n\nvar result = ponyfill(root);\nexport default result;","/*\nobject-assign\n(c) Sindre Sorhus\n@license MIT\n*/\n'use strict';\n/* eslint-disable no-unused-vars */\n\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\nfunction toObject(val) {\n if (val === null || val === undefined) {\n throw new TypeError('Object.assign cannot be called with null or undefined');\n }\n\n return Object(val);\n}\n\nfunction shouldUseNative() {\n try {\n if (!Object.assign) {\n return false;\n } // Detect buggy property enumeration order in older V8 versions.\n // https://bugs.chromium.org/p/v8/issues/detail?id=4118\n\n\n var test1 = new String('abc'); // eslint-disable-line no-new-wrappers\n\n test1[5] = 'de';\n\n if (Object.getOwnPropertyNames(test1)[0] === '5') {\n return false;\n } // https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\n\n var test2 = {};\n\n for (var i = 0; i < 10; i++) {\n test2['_' + String.fromCharCode(i)] = i;\n }\n\n var order2 = Object.getOwnPropertyNames(test2).map(function (n) {\n return test2[n];\n });\n\n if (order2.join('') !== '0123456789') {\n return false;\n } // https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\n\n var test3 = {};\n 'abcdefghijklmnopqrst'.split('').forEach(function (letter) {\n test3[letter] = letter;\n });\n\n if (Object.keys(Object.assign({}, test3)).join('') !== 'abcdefghijklmnopqrst') {\n return false;\n }\n\n return true;\n } catch (err) {\n // We don't expect any of the above to throw, but better to be safe.\n return false;\n }\n}\n\nmodule.exports = shouldUseNative() ? Object.assign : function (target, source) {\n var from;\n var to = toObject(target);\n var symbols;\n\n for (var s = 1; s < arguments.length; s++) {\n from = Object(arguments[s]);\n\n for (var key in from) {\n if (hasOwnProperty.call(from, key)) {\n to[key] = from[key];\n }\n }\n\n if (getOwnPropertySymbols) {\n symbols = getOwnPropertySymbols(from);\n\n for (var i = 0; i < symbols.length; i++) {\n if (propIsEnumerable.call(from, symbols[i])) {\n to[symbols[i]] = from[symbols[i]];\n }\n }\n }\n }\n\n return to;\n};","export default function symbolObservablePonyfill(root) {\n var result;\n var Symbol = root.Symbol;\n\n if (typeof Symbol === 'function') {\n if (Symbol.observable) {\n result = Symbol.observable;\n } else {\n result = Symbol('observable');\n Symbol.observable = result;\n }\n } else {\n result = '@@observable';\n }\n\n return result;\n}\n;","/** @license React v16.12.0\n * react.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';\n\nvar h = require(\"object-assign\"),\n n = \"function\" === typeof Symbol && Symbol.for,\n p = n ? Symbol.for(\"react.element\") : 60103,\n q = n ? Symbol.for(\"react.portal\") : 60106,\n r = n ? Symbol.for(\"react.fragment\") : 60107,\n t = n ? Symbol.for(\"react.strict_mode\") : 60108,\n u = n ? Symbol.for(\"react.profiler\") : 60114,\n v = n ? Symbol.for(\"react.provider\") : 60109,\n w = n ? Symbol.for(\"react.context\") : 60110,\n x = n ? Symbol.for(\"react.forward_ref\") : 60112,\n y = n ? Symbol.for(\"react.suspense\") : 60113;\n\nn && Symbol.for(\"react.suspense_list\");\nvar z = n ? Symbol.for(\"react.memo\") : 60115,\n aa = n ? Symbol.for(\"react.lazy\") : 60116;\nn && Symbol.for(\"react.fundamental\");\nn && Symbol.for(\"react.responder\");\nn && Symbol.for(\"react.scope\");\nvar A = \"function\" === typeof Symbol && Symbol.iterator;\n\nfunction B(a) {\n for (var b = \"https://reactjs.org/docs/error-decoder.html?invariant=\" + a, c = 1; c < arguments.length; c++) {\n b += \"&args[]=\" + encodeURIComponent(arguments[c]);\n }\n\n return \"Minified React error #\" + a + \"; visit \" + b + \" for the full message or use the non-minified dev environment for full errors and additional helpful warnings.\";\n}\n\nvar C = {\n isMounted: function isMounted() {\n return !1;\n },\n enqueueForceUpdate: function enqueueForceUpdate() {},\n enqueueReplaceState: function enqueueReplaceState() {},\n enqueueSetState: function enqueueSetState() {}\n},\n D = {};\n\nfunction E(a, b, c) {\n this.props = a;\n this.context = b;\n this.refs = D;\n this.updater = c || C;\n}\n\nE.prototype.isReactComponent = {};\n\nE.prototype.setState = function (a, b) {\n if (\"object\" !== typeof a && \"function\" !== typeof a && null != a) throw Error(B(85));\n this.updater.enqueueSetState(this, a, b, \"setState\");\n};\n\nE.prototype.forceUpdate = function (a) {\n this.updater.enqueueForceUpdate(this, a, \"forceUpdate\");\n};\n\nfunction F() {}\n\nF.prototype = E.prototype;\n\nfunction G(a, b, c) {\n this.props = a;\n this.context = b;\n this.refs = D;\n this.updater = c || C;\n}\n\nvar H = G.prototype = new F();\nH.constructor = G;\nh(H, E.prototype);\nH.isPureReactComponent = !0;\nvar I = {\n current: null\n},\n J = {\n current: null\n},\n K = Object.prototype.hasOwnProperty,\n L = {\n key: !0,\n ref: !0,\n __self: !0,\n __source: !0\n};\n\nfunction M(a, b, c) {\n var e,\n d = {},\n g = null,\n l = null;\n if (null != b) for (e in void 0 !== b.ref && (l = b.ref), void 0 !== b.key && (g = \"\" + b.key), b) {\n K.call(b, e) && !L.hasOwnProperty(e) && (d[e] = b[e]);\n }\n var f = arguments.length - 2;\n if (1 === f) d.children = c;else if (1 < f) {\n for (var k = Array(f), m = 0; m < f; m++) {\n k[m] = arguments[m + 2];\n }\n\n d.children = k;\n }\n if (a && a.defaultProps) for (e in f = a.defaultProps, f) {\n void 0 === d[e] && (d[e] = f[e]);\n }\n return {\n $$typeof: p,\n type: a,\n key: g,\n ref: l,\n props: d,\n _owner: J.current\n };\n}\n\nfunction ba(a, b) {\n return {\n $$typeof: p,\n type: a.type,\n key: b,\n ref: a.ref,\n props: a.props,\n _owner: a._owner\n };\n}\n\nfunction N(a) {\n return \"object\" === typeof a && null !== a && a.$$typeof === p;\n}\n\nfunction escape(a) {\n var b = {\n \"=\": \"=0\",\n \":\": \"=2\"\n };\n return \"$\" + (\"\" + a).replace(/[=:]/g, function (a) {\n return b[a];\n });\n}\n\nvar O = /\\/+/g,\n P = [];\n\nfunction Q(a, b, c, e) {\n if (P.length) {\n var d = P.pop();\n d.result = a;\n d.keyPrefix = b;\n d.func = c;\n d.context = e;\n d.count = 0;\n return d;\n }\n\n return {\n result: a,\n keyPrefix: b,\n func: c,\n context: e,\n count: 0\n };\n}\n\nfunction R(a) {\n a.result = null;\n a.keyPrefix = null;\n a.func = null;\n a.context = null;\n a.count = 0;\n 10 > P.length && P.push(a);\n}\n\nfunction S(a, b, c, e) {\n var d = typeof a;\n if (\"undefined\" === d || \"boolean\" === d) a = null;\n var g = !1;\n if (null === a) g = !0;else switch (d) {\n case \"string\":\n case \"number\":\n g = !0;\n break;\n\n case \"object\":\n switch (a.$$typeof) {\n case p:\n case q:\n g = !0;\n }\n\n }\n if (g) return c(e, a, \"\" === b ? \".\" + T(a, 0) : b), 1;\n g = 0;\n b = \"\" === b ? \".\" : b + \":\";\n if (Array.isArray(a)) for (var l = 0; l < a.length; l++) {\n d = a[l];\n var f = b + T(d, l);\n g += S(d, f, c, e);\n } else if (null === a || \"object\" !== typeof a ? f = null : (f = A && a[A] || a[\"@@iterator\"], f = \"function\" === typeof f ? f : null), \"function\" === typeof f) for (a = f.call(a), l = 0; !(d = a.next()).done;) {\n d = d.value, f = b + T(d, l++), g += S(d, f, c, e);\n } else if (\"object\" === d) throw c = \"\" + a, Error(B(31, \"[object Object]\" === c ? \"object with keys {\" + Object.keys(a).join(\", \") + \"}\" : c, \"\"));\n return g;\n}\n\nfunction U(a, b, c) {\n return null == a ? 0 : S(a, \"\", b, c);\n}\n\nfunction T(a, b) {\n return \"object\" === typeof a && null !== a && null != a.key ? escape(a.key) : b.toString(36);\n}\n\nfunction ca(a, b) {\n a.func.call(a.context, b, a.count++);\n}\n\nfunction da(a, b, c) {\n var e = a.result,\n d = a.keyPrefix;\n a = a.func.call(a.context, b, a.count++);\n Array.isArray(a) ? V(a, e, c, function (a) {\n return a;\n }) : null != a && (N(a) && (a = ba(a, d + (!a.key || b && b.key === a.key ? \"\" : (\"\" + a.key).replace(O, \"$&/\") + \"/\") + c)), e.push(a));\n}\n\nfunction V(a, b, c, e, d) {\n var g = \"\";\n null != c && (g = (\"\" + c).replace(O, \"$&/\") + \"/\");\n b = Q(b, g, e, d);\n U(a, da, b);\n R(b);\n}\n\nfunction W() {\n var a = I.current;\n if (null === a) throw Error(B(321));\n return a;\n}\n\nvar X = {\n Children: {\n map: function map(a, b, c) {\n if (null == a) return a;\n var e = [];\n V(a, e, null, b, c);\n return e;\n },\n forEach: function forEach(a, b, c) {\n if (null == a) return a;\n b = Q(null, null, b, c);\n U(a, ca, b);\n R(b);\n },\n count: function count(a) {\n return U(a, function () {\n return null;\n }, null);\n },\n toArray: function toArray(a) {\n var b = [];\n V(a, b, null, function (a) {\n return a;\n });\n return b;\n },\n only: function only(a) {\n if (!N(a)) throw Error(B(143));\n return a;\n }\n },\n createRef: function createRef() {\n return {\n current: null\n };\n },\n Component: E,\n PureComponent: G,\n createContext: function createContext(a, b) {\n void 0 === b && (b = null);\n a = {\n $$typeof: w,\n _calculateChangedBits: b,\n _currentValue: a,\n _currentValue2: a,\n _threadCount: 0,\n Provider: null,\n Consumer: null\n };\n a.Provider = {\n $$typeof: v,\n _context: a\n };\n return a.Consumer = a;\n },\n forwardRef: function forwardRef(a) {\n return {\n $$typeof: x,\n render: a\n };\n },\n lazy: function lazy(a) {\n return {\n $$typeof: aa,\n _ctor: a,\n _status: -1,\n _result: null\n };\n },\n memo: function memo(a, b) {\n return {\n $$typeof: z,\n type: a,\n compare: void 0 === b ? null : b\n };\n },\n useCallback: function useCallback(a, b) {\n return W().useCallback(a, b);\n },\n useContext: function useContext(a, b) {\n return W().useContext(a, b);\n },\n useEffect: function useEffect(a, b) {\n return W().useEffect(a, b);\n },\n useImperativeHandle: function useImperativeHandle(a, b, c) {\n return W().useImperativeHandle(a, b, c);\n },\n useDebugValue: function useDebugValue() {},\n useLayoutEffect: function useLayoutEffect(a, b) {\n return W().useLayoutEffect(a, b);\n },\n useMemo: function useMemo(a, b) {\n return W().useMemo(a, b);\n },\n useReducer: function useReducer(a, b, c) {\n return W().useReducer(a, b, c);\n },\n useRef: function useRef(a) {\n return W().useRef(a);\n },\n useState: function useState(a) {\n return W().useState(a);\n },\n Fragment: r,\n Profiler: u,\n StrictMode: t,\n Suspense: y,\n createElement: M,\n cloneElement: function cloneElement(a, b, c) {\n if (null === a || void 0 === a) throw Error(B(267, a));\n var e = h({}, a.props),\n d = a.key,\n g = a.ref,\n l = a._owner;\n\n if (null != b) {\n void 0 !== b.ref && (g = b.ref, l = J.current);\n void 0 !== b.key && (d = \"\" + b.key);\n if (a.type && a.type.defaultProps) var f = a.type.defaultProps;\n\n for (k in b) {\n K.call(b, k) && !L.hasOwnProperty(k) && (e[k] = void 0 === b[k] && void 0 !== f ? f[k] : b[k]);\n }\n }\n\n var k = arguments.length - 2;\n if (1 === k) e.children = c;else if (1 < k) {\n f = Array(k);\n\n for (var m = 0; m < k; m++) {\n f[m] = arguments[m + 2];\n }\n\n e.children = f;\n }\n return {\n $$typeof: p,\n type: a.type,\n key: d,\n ref: g,\n props: e,\n _owner: l\n };\n },\n createFactory: function createFactory(a) {\n var b = M.bind(null, a);\n b.type = a;\n return b;\n },\n isValidElement: N,\n version: \"16.12.0\",\n __SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED: {\n ReactCurrentDispatcher: I,\n ReactCurrentBatchConfig: {\n suspense: null\n },\n ReactCurrentOwner: J,\n IsSomeRendererActing: {\n current: !1\n },\n assign: h\n }\n},\n Y = {\n default: X\n},\n Z = Y && X || Y;\nmodule.exports = Z.default || Z;","/** @license React v16.12.0\n * react-dom.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n/*\n Modernizr 3.0.0pre (Custom Build) | MIT\n*/\n'use strict';\n\nvar aa = require(\"react\"),\n n = require(\"object-assign\"),\n q = require(\"scheduler\");\n\nfunction u(a) {\n for (var b = \"https://reactjs.org/docs/error-decoder.html?invariant=\" + a, c = 1; c < arguments.length; c++) {\n b += \"&args[]=\" + encodeURIComponent(arguments[c]);\n }\n\n return \"Minified React error #\" + a + \"; visit \" + b + \" for the full message or use the non-minified dev environment for full errors and additional helpful warnings.\";\n}\n\nif (!aa) throw Error(u(227));\nvar ba = null,\n ca = {};\n\nfunction da() {\n if (ba) for (var a in ca) {\n var b = ca[a],\n c = ba.indexOf(a);\n if (!(-1 < c)) throw Error(u(96, a));\n\n if (!ea[c]) {\n if (!b.extractEvents) throw Error(u(97, a));\n ea[c] = b;\n c = b.eventTypes;\n\n for (var d in c) {\n var e = void 0;\n var f = c[d],\n g = b,\n h = d;\n if (fa.hasOwnProperty(h)) throw Error(u(99, h));\n fa[h] = f;\n var k = f.phasedRegistrationNames;\n\n if (k) {\n for (e in k) {\n k.hasOwnProperty(e) && ha(k[e], g, h);\n }\n\n e = !0;\n } else f.registrationName ? (ha(f.registrationName, g, h), e = !0) : e = !1;\n\n if (!e) throw Error(u(98, d, a));\n }\n }\n }\n}\n\nfunction ha(a, b, c) {\n if (ia[a]) throw Error(u(100, a));\n ia[a] = b;\n ja[a] = b.eventTypes[c].dependencies;\n}\n\nvar ea = [],\n fa = {},\n ia = {},\n ja = {};\n\nfunction ka(a, b, c, d, e, f, g, h, k) {\n var l = Array.prototype.slice.call(arguments, 3);\n\n try {\n b.apply(c, l);\n } catch (m) {\n this.onError(m);\n }\n}\n\nvar la = !1,\n ma = null,\n na = !1,\n oa = null,\n pa = {\n onError: function onError(a) {\n la = !0;\n ma = a;\n }\n};\n\nfunction qa(a, b, c, d, e, f, g, h, k) {\n la = !1;\n ma = null;\n ka.apply(pa, arguments);\n}\n\nfunction ra(a, b, c, d, e, f, g, h, k) {\n qa.apply(this, arguments);\n\n if (la) {\n if (la) {\n var l = ma;\n la = !1;\n ma = null;\n } else throw Error(u(198));\n\n na || (na = !0, oa = l);\n }\n}\n\nvar sa = null,\n ua = null,\n va = null;\n\nfunction wa(a, b, c) {\n var d = a.type || \"unknown-event\";\n a.currentTarget = va(c);\n ra(d, b, void 0, a);\n a.currentTarget = null;\n}\n\nfunction xa(a, b) {\n if (null == b) throw Error(u(30));\n if (null == a) return b;\n\n if (Array.isArray(a)) {\n if (Array.isArray(b)) return a.push.apply(a, b), a;\n a.push(b);\n return a;\n }\n\n return Array.isArray(b) ? [a].concat(b) : [a, b];\n}\n\nfunction ya(a, b, c) {\n Array.isArray(a) ? a.forEach(b, c) : a && b.call(c, a);\n}\n\nvar za = null;\n\nfunction Aa(a) {\n if (a) {\n var b = a._dispatchListeners,\n c = a._dispatchInstances;\n if (Array.isArray(b)) for (var d = 0; d < b.length && !a.isPropagationStopped(); d++) {\n wa(a, b[d], c[d]);\n } else b && wa(a, b, c);\n a._dispatchListeners = null;\n a._dispatchInstances = null;\n a.isPersistent() || a.constructor.release(a);\n }\n}\n\nfunction Ba(a) {\n null !== a && (za = xa(za, a));\n a = za;\n za = null;\n\n if (a) {\n ya(a, Aa);\n if (za) throw Error(u(95));\n if (na) throw a = oa, na = !1, oa = null, a;\n }\n}\n\nvar Ca = {\n injectEventPluginOrder: function injectEventPluginOrder(a) {\n if (ba) throw Error(u(101));\n ba = Array.prototype.slice.call(a);\n da();\n },\n injectEventPluginsByName: function injectEventPluginsByName(a) {\n var b = !1,\n c;\n\n for (c in a) {\n if (a.hasOwnProperty(c)) {\n var d = a[c];\n\n if (!ca.hasOwnProperty(c) || ca[c] !== d) {\n if (ca[c]) throw Error(u(102, c));\n ca[c] = d;\n b = !0;\n }\n }\n }\n\n b && da();\n }\n};\n\nfunction Da(a, b) {\n var c = a.stateNode;\n if (!c) return null;\n var d = sa(c);\n if (!d) return null;\n c = d[b];\n\n a: switch (b) {\n case \"onClick\":\n case \"onClickCapture\":\n case \"onDoubleClick\":\n case \"onDoubleClickCapture\":\n case \"onMouseDown\":\n case \"onMouseDownCapture\":\n case \"onMouseMove\":\n case \"onMouseMoveCapture\":\n case \"onMouseUp\":\n case \"onMouseUpCapture\":\n (d = !d.disabled) || (a = a.type, d = !(\"button\" === a || \"input\" === a || \"select\" === a || \"textarea\" === a));\n a = !d;\n break a;\n\n default:\n a = !1;\n }\n\n if (a) return null;\n if (c && \"function\" !== typeof c) throw Error(u(231, b, typeof c));\n return c;\n}\n\nvar Ea = aa.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;\nEa.hasOwnProperty(\"ReactCurrentDispatcher\") || (Ea.ReactCurrentDispatcher = {\n current: null\n});\nEa.hasOwnProperty(\"ReactCurrentBatchConfig\") || (Ea.ReactCurrentBatchConfig = {\n suspense: null\n});\nvar Fa = /^(.*)[\\\\\\/]/,\n w = \"function\" === typeof Symbol && Symbol.for,\n Ga = w ? Symbol.for(\"react.element\") : 60103,\n Ha = w ? Symbol.for(\"react.portal\") : 60106,\n Ia = w ? Symbol.for(\"react.fragment\") : 60107,\n Ja = w ? Symbol.for(\"react.strict_mode\") : 60108,\n Ka = w ? Symbol.for(\"react.profiler\") : 60114,\n La = w ? Symbol.for(\"react.provider\") : 60109,\n Ma = w ? Symbol.for(\"react.context\") : 60110,\n Na = w ? Symbol.for(\"react.concurrent_mode\") : 60111,\n Oa = w ? Symbol.for(\"react.forward_ref\") : 60112,\n Pa = w ? Symbol.for(\"react.suspense\") : 60113,\n Qa = w ? Symbol.for(\"react.suspense_list\") : 60120,\n Ra = w ? Symbol.for(\"react.memo\") : 60115,\n Sa = w ? Symbol.for(\"react.lazy\") : 60116;\nw && Symbol.for(\"react.fundamental\");\nw && Symbol.for(\"react.responder\");\nw && Symbol.for(\"react.scope\");\nvar Ta = \"function\" === typeof Symbol && Symbol.iterator;\n\nfunction Ua(a) {\n if (null === a || \"object\" !== typeof a) return null;\n a = Ta && a[Ta] || a[\"@@iterator\"];\n return \"function\" === typeof a ? a : null;\n}\n\nfunction Va(a) {\n if (-1 === a._status) {\n a._status = 0;\n var b = a._ctor;\n b = b();\n a._result = b;\n b.then(function (b) {\n 0 === a._status && (b = b.default, a._status = 1, a._result = b);\n }, function (b) {\n 0 === a._status && (a._status = 2, a._result = b);\n });\n }\n}\n\nfunction Wa(a) {\n if (null == a) return null;\n if (\"function\" === typeof a) return a.displayName || a.name || null;\n if (\"string\" === typeof a) return a;\n\n switch (a) {\n case Ia:\n return \"Fragment\";\n\n case Ha:\n return \"Portal\";\n\n case Ka:\n return \"Profiler\";\n\n case Ja:\n return \"StrictMode\";\n\n case Pa:\n return \"Suspense\";\n\n case Qa:\n return \"SuspenseList\";\n }\n\n if (\"object\" === typeof a) switch (a.$$typeof) {\n case Ma:\n return \"Context.Consumer\";\n\n case La:\n return \"Context.Provider\";\n\n case Oa:\n var b = a.render;\n b = b.displayName || b.name || \"\";\n return a.displayName || (\"\" !== b ? \"ForwardRef(\" + b + \")\" : \"ForwardRef\");\n\n case Ra:\n return Wa(a.type);\n\n case Sa:\n if (a = 1 === a._status ? a._result : null) return Wa(a);\n }\n return null;\n}\n\nfunction Xa(a) {\n var b = \"\";\n\n do {\n a: switch (a.tag) {\n case 3:\n case 4:\n case 6:\n case 7:\n case 10:\n case 9:\n var c = \"\";\n break a;\n\n default:\n var d = a._debugOwner,\n e = a._debugSource,\n f = Wa(a.type);\n c = null;\n d && (c = Wa(d.type));\n d = f;\n f = \"\";\n e ? f = \" (at \" + e.fileName.replace(Fa, \"\") + \":\" + e.lineNumber + \")\" : c && (f = \" (created by \" + c + \")\");\n c = \"\\n in \" + (d || \"Unknown\") + f;\n }\n\n b += c;\n a = a.return;\n } while (a);\n\n return b;\n}\n\nvar Ya = !(\"undefined\" === typeof window || \"undefined\" === typeof window.document || \"undefined\" === typeof window.document.createElement),\n Za = null,\n $a = null,\n ab = null;\n\nfunction bb(a) {\n if (a = ua(a)) {\n if (\"function\" !== typeof Za) throw Error(u(280));\n var b = sa(a.stateNode);\n Za(a.stateNode, a.type, b);\n }\n}\n\nfunction cb(a) {\n $a ? ab ? ab.push(a) : ab = [a] : $a = a;\n}\n\nfunction db() {\n if ($a) {\n var a = $a,\n b = ab;\n ab = $a = null;\n bb(a);\n if (b) for (a = 0; a < b.length; a++) {\n bb(b[a]);\n }\n }\n}\n\nfunction eb(a, b) {\n return a(b);\n}\n\nfunction fb(a, b, c, d) {\n return a(b, c, d);\n}\n\nfunction gb() {}\n\nvar hb = eb,\n ib = !1,\n jb = !1;\n\nfunction kb() {\n if (null !== $a || null !== ab) gb(), db();\n}\n\nnew Map();\nvar lb = /^[:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD][:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*$/,\n mb = Object.prototype.hasOwnProperty,\n nb = {},\n ob = {};\n\nfunction pb(a) {\n if (mb.call(ob, a)) return !0;\n if (mb.call(nb, a)) return !1;\n if (lb.test(a)) return ob[a] = !0;\n nb[a] = !0;\n return !1;\n}\n\nfunction qb(a, b, c, d) {\n if (null !== c && 0 === c.type) return !1;\n\n switch (typeof b) {\n case \"function\":\n case \"symbol\":\n return !0;\n\n case \"boolean\":\n if (d) return !1;\n if (null !== c) return !c.acceptsBooleans;\n a = a.toLowerCase().slice(0, 5);\n return \"data-\" !== a && \"aria-\" !== a;\n\n default:\n return !1;\n }\n}\n\nfunction rb(a, b, c, d) {\n if (null === b || \"undefined\" === typeof b || qb(a, b, c, d)) return !0;\n if (d) return !1;\n if (null !== c) switch (c.type) {\n case 3:\n return !b;\n\n case 4:\n return !1 === b;\n\n case 5:\n return isNaN(b);\n\n case 6:\n return isNaN(b) || 1 > b;\n }\n return !1;\n}\n\nfunction B(a, b, c, d, e, f) {\n this.acceptsBooleans = 2 === b || 3 === b || 4 === b;\n this.attributeName = d;\n this.attributeNamespace = e;\n this.mustUseProperty = c;\n this.propertyName = a;\n this.type = b;\n this.sanitizeURL = f;\n}\n\nvar D = {};\n\"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style\".split(\" \").forEach(function (a) {\n D[a] = new B(a, 0, !1, a, null, !1);\n});\n[[\"acceptCharset\", \"accept-charset\"], [\"className\", \"class\"], [\"htmlFor\", \"for\"], [\"httpEquiv\", \"http-equiv\"]].forEach(function (a) {\n var b = a[0];\n D[b] = new B(b, 1, !1, a[1], null, !1);\n});\n[\"contentEditable\", \"draggable\", \"spellCheck\", \"value\"].forEach(function (a) {\n D[a] = new B(a, 2, !1, a.toLowerCase(), null, !1);\n});\n[\"autoReverse\", \"externalResourcesRequired\", \"focusable\", \"preserveAlpha\"].forEach(function (a) {\n D[a] = new B(a, 2, !1, a, null, !1);\n});\n\"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope\".split(\" \").forEach(function (a) {\n D[a] = new B(a, 3, !1, a.toLowerCase(), null, !1);\n});\n[\"checked\", \"multiple\", \"muted\", \"selected\"].forEach(function (a) {\n D[a] = new B(a, 3, !0, a, null, !1);\n});\n[\"capture\", \"download\"].forEach(function (a) {\n D[a] = new B(a, 4, !1, a, null, !1);\n});\n[\"cols\", \"rows\", \"size\", \"span\"].forEach(function (a) {\n D[a] = new B(a, 6, !1, a, null, !1);\n});\n[\"rowSpan\", \"start\"].forEach(function (a) {\n D[a] = new B(a, 5, !1, a.toLowerCase(), null, !1);\n});\nvar sb = /[\\-:]([a-z])/g;\n\nfunction tb(a) {\n return a[1].toUpperCase();\n}\n\n\"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height\".split(\" \").forEach(function (a) {\n var b = a.replace(sb, tb);\n D[b] = new B(b, 1, !1, a, null, !1);\n});\n\"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type\".split(\" \").forEach(function (a) {\n var b = a.replace(sb, tb);\n D[b] = new B(b, 1, !1, a, \"http://www.w3.org/1999/xlink\", !1);\n});\n[\"xml:base\", \"xml:lang\", \"xml:space\"].forEach(function (a) {\n var b = a.replace(sb, tb);\n D[b] = new B(b, 1, !1, a, \"http://www.w3.org/XML/1998/namespace\", !1);\n});\n[\"tabIndex\", \"crossOrigin\"].forEach(function (a) {\n D[a] = new B(a, 1, !1, a.toLowerCase(), null, !1);\n});\nD.xlinkHref = new B(\"xlinkHref\", 1, !1, \"xlink:href\", \"http://www.w3.org/1999/xlink\", !0);\n[\"src\", \"href\", \"action\", \"formAction\"].forEach(function (a) {\n D[a] = new B(a, 1, !1, a.toLowerCase(), null, !0);\n});\n\nfunction ub(a) {\n switch (typeof a) {\n case \"boolean\":\n case \"number\":\n case \"object\":\n case \"string\":\n case \"undefined\":\n return a;\n\n default:\n return \"\";\n }\n}\n\nfunction vb(a, b, c, d) {\n var e = D.hasOwnProperty(b) ? D[b] : null;\n var f = null !== e ? 0 === e.type : d ? !1 : !(2 < b.length) || \"o\" !== b[0] && \"O\" !== b[0] || \"n\" !== b[1] && \"N\" !== b[1] ? !1 : !0;\n f || (rb(b, c, e, d) && (c = null), d || null === e ? pb(b) && (null === c ? a.removeAttribute(b) : a.setAttribute(b, \"\" + c)) : e.mustUseProperty ? a[e.propertyName] = null === c ? 3 === e.type ? !1 : \"\" : c : (b = e.attributeName, d = e.attributeNamespace, null === c ? a.removeAttribute(b) : (e = e.type, c = 3 === e || 4 === e && !0 === c ? \"\" : \"\" + c, d ? a.setAttributeNS(d, b, c) : a.setAttribute(b, c))));\n}\n\nfunction wb(a) {\n var b = a.type;\n return (a = a.nodeName) && \"input\" === a.toLowerCase() && (\"checkbox\" === b || \"radio\" === b);\n}\n\nfunction xb(a) {\n var b = wb(a) ? \"checked\" : \"value\",\n c = Object.getOwnPropertyDescriptor(a.constructor.prototype, b),\n d = \"\" + a[b];\n\n if (!a.hasOwnProperty(b) && \"undefined\" !== typeof c && \"function\" === typeof c.get && \"function\" === typeof c.set) {\n var e = c.get,\n f = c.set;\n Object.defineProperty(a, b, {\n configurable: !0,\n get: function get() {\n return e.call(this);\n },\n set: function set(a) {\n d = \"\" + a;\n f.call(this, a);\n }\n });\n Object.defineProperty(a, b, {\n enumerable: c.enumerable\n });\n return {\n getValue: function getValue() {\n return d;\n },\n setValue: function setValue(a) {\n d = \"\" + a;\n },\n stopTracking: function stopTracking() {\n a._valueTracker = null;\n delete a[b];\n }\n };\n }\n}\n\nfunction yb(a) {\n a._valueTracker || (a._valueTracker = xb(a));\n}\n\nfunction zb(a) {\n if (!a) return !1;\n var b = a._valueTracker;\n if (!b) return !0;\n var c = b.getValue();\n var d = \"\";\n a && (d = wb(a) ? a.checked ? \"true\" : \"false\" : a.value);\n a = d;\n return a !== c ? (b.setValue(a), !0) : !1;\n}\n\nfunction Ab(a, b) {\n var c = b.checked;\n return n({}, b, {\n defaultChecked: void 0,\n defaultValue: void 0,\n value: void 0,\n checked: null != c ? c : a._wrapperState.initialChecked\n });\n}\n\nfunction Bb(a, b) {\n var c = null == b.defaultValue ? \"\" : b.defaultValue,\n d = null != b.checked ? b.checked : b.defaultChecked;\n c = ub(null != b.value ? b.value : c);\n a._wrapperState = {\n initialChecked: d,\n initialValue: c,\n controlled: \"checkbox\" === b.type || \"radio\" === b.type ? null != b.checked : null != b.value\n };\n}\n\nfunction Cb(a, b) {\n b = b.checked;\n null != b && vb(a, \"checked\", b, !1);\n}\n\nfunction Eb(a, b) {\n Cb(a, b);\n var c = ub(b.value),\n d = b.type;\n if (null != c) {\n if (\"number\" === d) {\n if (0 === c && \"\" === a.value || a.value != c) a.value = \"\" + c;\n } else a.value !== \"\" + c && (a.value = \"\" + c);\n } else if (\"submit\" === d || \"reset\" === d) {\n a.removeAttribute(\"value\");\n return;\n }\n b.hasOwnProperty(\"value\") ? Fb(a, b.type, c) : b.hasOwnProperty(\"defaultValue\") && Fb(a, b.type, ub(b.defaultValue));\n null == b.checked && null != b.defaultChecked && (a.defaultChecked = !!b.defaultChecked);\n}\n\nfunction Gb(a, b, c) {\n if (b.hasOwnProperty(\"value\") || b.hasOwnProperty(\"defaultValue\")) {\n var d = b.type;\n if (!(\"submit\" !== d && \"reset\" !== d || void 0 !== b.value && null !== b.value)) return;\n b = \"\" + a._wrapperState.initialValue;\n c || b === a.value || (a.value = b);\n a.defaultValue = b;\n }\n\n c = a.name;\n \"\" !== c && (a.name = \"\");\n a.defaultChecked = !a.defaultChecked;\n a.defaultChecked = !!a._wrapperState.initialChecked;\n \"\" !== c && (a.name = c);\n}\n\nfunction Fb(a, b, c) {\n if (\"number\" !== b || a.ownerDocument.activeElement !== a) null == c ? a.defaultValue = \"\" + a._wrapperState.initialValue : a.defaultValue !== \"\" + c && (a.defaultValue = \"\" + c);\n}\n\nfunction Hb(a) {\n var b = \"\";\n aa.Children.forEach(a, function (a) {\n null != a && (b += a);\n });\n return b;\n}\n\nfunction Ib(a, b) {\n a = n({\n children: void 0\n }, b);\n if (b = Hb(b.children)) a.children = b;\n return a;\n}\n\nfunction Jb(a, b, c, d) {\n a = a.options;\n\n if (b) {\n b = {};\n\n for (var e = 0; e < c.length; e++) {\n b[\"$\" + c[e]] = !0;\n }\n\n for (c = 0; c < a.length; c++) {\n e = b.hasOwnProperty(\"$\" + a[c].value), a[c].selected !== e && (a[c].selected = e), e && d && (a[c].defaultSelected = !0);\n }\n } else {\n c = \"\" + ub(c);\n b = null;\n\n for (e = 0; e < a.length; e++) {\n if (a[e].value === c) {\n a[e].selected = !0;\n d && (a[e].defaultSelected = !0);\n return;\n }\n\n null !== b || a[e].disabled || (b = a[e]);\n }\n\n null !== b && (b.selected = !0);\n }\n}\n\nfunction Kb(a, b) {\n if (null != b.dangerouslySetInnerHTML) throw Error(u(91));\n return n({}, b, {\n value: void 0,\n defaultValue: void 0,\n children: \"\" + a._wrapperState.initialValue\n });\n}\n\nfunction Lb(a, b) {\n var c = b.value;\n\n if (null == c) {\n c = b.defaultValue;\n b = b.children;\n\n if (null != b) {\n if (null != c) throw Error(u(92));\n\n if (Array.isArray(b)) {\n if (!(1 >= b.length)) throw Error(u(93));\n b = b[0];\n }\n\n c = b;\n }\n\n null == c && (c = \"\");\n }\n\n a._wrapperState = {\n initialValue: ub(c)\n };\n}\n\nfunction Mb(a, b) {\n var c = ub(b.value),\n d = ub(b.defaultValue);\n null != c && (c = \"\" + c, c !== a.value && (a.value = c), null == b.defaultValue && a.defaultValue !== c && (a.defaultValue = c));\n null != d && (a.defaultValue = \"\" + d);\n}\n\nfunction Nb(a) {\n var b = a.textContent;\n b === a._wrapperState.initialValue && \"\" !== b && null !== b && (a.value = b);\n}\n\nvar Ob = {\n html: \"http://www.w3.org/1999/xhtml\",\n mathml: \"http://www.w3.org/1998/Math/MathML\",\n svg: \"http://www.w3.org/2000/svg\"\n};\n\nfunction Pb(a) {\n switch (a) {\n case \"svg\":\n return \"http://www.w3.org/2000/svg\";\n\n case \"math\":\n return \"http://www.w3.org/1998/Math/MathML\";\n\n default:\n return \"http://www.w3.org/1999/xhtml\";\n }\n}\n\nfunction Qb(a, b) {\n return null == a || \"http://www.w3.org/1999/xhtml\" === a ? Pb(b) : \"http://www.w3.org/2000/svg\" === a && \"foreignObject\" === b ? \"http://www.w3.org/1999/xhtml\" : a;\n}\n\nvar Rb,\n Sb = function (a) {\n return \"undefined\" !== typeof MSApp && MSApp.execUnsafeLocalFunction ? function (b, c, d, e) {\n MSApp.execUnsafeLocalFunction(function () {\n return a(b, c, d, e);\n });\n } : a;\n}(function (a, b) {\n if (a.namespaceURI !== Ob.svg || \"innerHTML\" in a) a.innerHTML = b;else {\n Rb = Rb || document.createElement(\"div\");\n Rb.innerHTML = \"\" + b.valueOf().toString() + \"\";\n\n for (b = Rb.firstChild; a.firstChild;) {\n a.removeChild(a.firstChild);\n }\n\n for (; b.firstChild;) {\n a.appendChild(b.firstChild);\n }\n }\n});\n\nfunction Tb(a, b) {\n if (b) {\n var c = a.firstChild;\n\n if (c && c === a.lastChild && 3 === c.nodeType) {\n c.nodeValue = b;\n return;\n }\n }\n\n a.textContent = b;\n}\n\nfunction Ub(a, b) {\n var c = {};\n c[a.toLowerCase()] = b.toLowerCase();\n c[\"Webkit\" + a] = \"webkit\" + b;\n c[\"Moz\" + a] = \"moz\" + b;\n return c;\n}\n\nvar Vb = {\n animationend: Ub(\"Animation\", \"AnimationEnd\"),\n animationiteration: Ub(\"Animation\", \"AnimationIteration\"),\n animationstart: Ub(\"Animation\", \"AnimationStart\"),\n transitionend: Ub(\"Transition\", \"TransitionEnd\")\n},\n Wb = {},\n Xb = {};\nYa && (Xb = document.createElement(\"div\").style, \"AnimationEvent\" in window || (delete Vb.animationend.animation, delete Vb.animationiteration.animation, delete Vb.animationstart.animation), \"TransitionEvent\" in window || delete Vb.transitionend.transition);\n\nfunction Yb(a) {\n if (Wb[a]) return Wb[a];\n if (!Vb[a]) return a;\n var b = Vb[a],\n c;\n\n for (c in b) {\n if (b.hasOwnProperty(c) && c in Xb) return Wb[a] = b[c];\n }\n\n return a;\n}\n\nvar Zb = Yb(\"animationend\"),\n $b = Yb(\"animationiteration\"),\n ac = Yb(\"animationstart\"),\n bc = Yb(\"transitionend\"),\n cc = \"abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange seeked seeking stalled suspend timeupdate volumechange waiting\".split(\" \");\n\nfunction ec(a) {\n var b = a,\n c = a;\n if (a.alternate) for (; b.return;) {\n b = b.return;\n } else {\n a = b;\n\n do {\n b = a, 0 !== (b.effectTag & 1026) && (c = b.return), a = b.return;\n } while (a);\n }\n return 3 === b.tag ? c : null;\n}\n\nfunction fc(a) {\n if (13 === a.tag) {\n var b = a.memoizedState;\n null === b && (a = a.alternate, null !== a && (b = a.memoizedState));\n if (null !== b) return b.dehydrated;\n }\n\n return null;\n}\n\nfunction gc(a) {\n if (ec(a) !== a) throw Error(u(188));\n}\n\nfunction hc(a) {\n var b = a.alternate;\n\n if (!b) {\n b = ec(a);\n if (null === b) throw Error(u(188));\n return b !== a ? null : a;\n }\n\n for (var c = a, d = b;;) {\n var e = c.return;\n if (null === e) break;\n var f = e.alternate;\n\n if (null === f) {\n d = e.return;\n\n if (null !== d) {\n c = d;\n continue;\n }\n\n break;\n }\n\n if (e.child === f.child) {\n for (f = e.child; f;) {\n if (f === c) return gc(e), a;\n if (f === d) return gc(e), b;\n f = f.sibling;\n }\n\n throw Error(u(188));\n }\n\n if (c.return !== d.return) c = e, d = f;else {\n for (var g = !1, h = e.child; h;) {\n if (h === c) {\n g = !0;\n c = e;\n d = f;\n break;\n }\n\n if (h === d) {\n g = !0;\n d = e;\n c = f;\n break;\n }\n\n h = h.sibling;\n }\n\n if (!g) {\n for (h = f.child; h;) {\n if (h === c) {\n g = !0;\n c = f;\n d = e;\n break;\n }\n\n if (h === d) {\n g = !0;\n d = f;\n c = e;\n break;\n }\n\n h = h.sibling;\n }\n\n if (!g) throw Error(u(189));\n }\n }\n if (c.alternate !== d) throw Error(u(190));\n }\n\n if (3 !== c.tag) throw Error(u(188));\n return c.stateNode.current === c ? a : b;\n}\n\nfunction ic(a) {\n a = hc(a);\n if (!a) return null;\n\n for (var b = a;;) {\n if (5 === b.tag || 6 === b.tag) return b;\n if (b.child) b.child.return = b, b = b.child;else {\n if (b === a) break;\n\n for (; !b.sibling;) {\n if (!b.return || b.return === a) return null;\n b = b.return;\n }\n\n b.sibling.return = b.return;\n b = b.sibling;\n }\n }\n\n return null;\n}\n\nvar jc,\n kc,\n lc,\n mc = !1,\n nc = [],\n oc = null,\n pc = null,\n qc = null,\n rc = new Map(),\n sc = new Map(),\n tc = [],\n uc = \"mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput close cancel copy cut paste click change contextmenu reset submit\".split(\" \"),\n vc = \"focus blur dragenter dragleave mouseover mouseout pointerover pointerout gotpointercapture lostpointercapture\".split(\" \");\n\nfunction wc(a) {\n var b = xc(a);\n uc.forEach(function (c) {\n yc(c, a, b);\n });\n vc.forEach(function (c) {\n yc(c, a, b);\n });\n}\n\nfunction zc(a, b, c, d) {\n return {\n blockedOn: a,\n topLevelType: b,\n eventSystemFlags: c | 32,\n nativeEvent: d\n };\n}\n\nfunction Ac(a, b) {\n switch (a) {\n case \"focus\":\n case \"blur\":\n oc = null;\n break;\n\n case \"dragenter\":\n case \"dragleave\":\n pc = null;\n break;\n\n case \"mouseover\":\n case \"mouseout\":\n qc = null;\n break;\n\n case \"pointerover\":\n case \"pointerout\":\n rc.delete(b.pointerId);\n break;\n\n case \"gotpointercapture\":\n case \"lostpointercapture\":\n sc.delete(b.pointerId);\n }\n}\n\nfunction Bc(a, b, c, d, e) {\n if (null === a || a.nativeEvent !== e) return a = zc(b, c, d, e), null !== b && (b = Cc(b), null !== b && kc(b)), a;\n a.eventSystemFlags |= d;\n return a;\n}\n\nfunction Dc(a, b, c, d) {\n switch (b) {\n case \"focus\":\n return oc = Bc(oc, a, b, c, d), !0;\n\n case \"dragenter\":\n return pc = Bc(pc, a, b, c, d), !0;\n\n case \"mouseover\":\n return qc = Bc(qc, a, b, c, d), !0;\n\n case \"pointerover\":\n var e = d.pointerId;\n rc.set(e, Bc(rc.get(e) || null, a, b, c, d));\n return !0;\n\n case \"gotpointercapture\":\n return e = d.pointerId, sc.set(e, Bc(sc.get(e) || null, a, b, c, d)), !0;\n }\n\n return !1;\n}\n\nfunction Ec(a) {\n var b = Fc(a.target);\n\n if (null !== b) {\n var c = ec(b);\n if (null !== c) if (b = c.tag, 13 === b) {\n if (b = fc(c), null !== b) {\n a.blockedOn = b;\n q.unstable_runWithPriority(a.priority, function () {\n lc(c);\n });\n return;\n }\n } else if (3 === b && c.stateNode.hydrate) {\n a.blockedOn = 3 === c.tag ? c.stateNode.containerInfo : null;\n return;\n }\n }\n\n a.blockedOn = null;\n}\n\nfunction Gc(a) {\n if (null !== a.blockedOn) return !1;\n var b = Hc(a.topLevelType, a.eventSystemFlags, a.nativeEvent);\n\n if (null !== b) {\n var c = Cc(b);\n null !== c && kc(c);\n a.blockedOn = b;\n return !1;\n }\n\n return !0;\n}\n\nfunction Ic(a, b, c) {\n Gc(a) && c.delete(b);\n}\n\nfunction Jc() {\n for (mc = !1; 0 < nc.length;) {\n var a = nc[0];\n\n if (null !== a.blockedOn) {\n a = Cc(a.blockedOn);\n null !== a && jc(a);\n break;\n }\n\n var b = Hc(a.topLevelType, a.eventSystemFlags, a.nativeEvent);\n null !== b ? a.blockedOn = b : nc.shift();\n }\n\n null !== oc && Gc(oc) && (oc = null);\n null !== pc && Gc(pc) && (pc = null);\n null !== qc && Gc(qc) && (qc = null);\n rc.forEach(Ic);\n sc.forEach(Ic);\n}\n\nfunction Kc(a, b) {\n a.blockedOn === b && (a.blockedOn = null, mc || (mc = !0, q.unstable_scheduleCallback(q.unstable_NormalPriority, Jc)));\n}\n\nfunction Lc(a) {\n function b(b) {\n return Kc(b, a);\n }\n\n if (0 < nc.length) {\n Kc(nc[0], a);\n\n for (var c = 1; c < nc.length; c++) {\n var d = nc[c];\n d.blockedOn === a && (d.blockedOn = null);\n }\n }\n\n null !== oc && Kc(oc, a);\n null !== pc && Kc(pc, a);\n null !== qc && Kc(qc, a);\n rc.forEach(b);\n sc.forEach(b);\n\n for (c = 0; c < tc.length; c++) {\n d = tc[c], d.blockedOn === a && (d.blockedOn = null);\n }\n\n for (; 0 < tc.length && (c = tc[0], null === c.blockedOn);) {\n Ec(c), null === c.blockedOn && tc.shift();\n }\n}\n\nfunction Mc(a) {\n a = a.target || a.srcElement || window;\n a.correspondingUseElement && (a = a.correspondingUseElement);\n return 3 === a.nodeType ? a.parentNode : a;\n}\n\nfunction Nc(a) {\n do {\n a = a.return;\n } while (a && 5 !== a.tag);\n\n return a ? a : null;\n}\n\nfunction Oc(a, b, c) {\n if (b = Da(a, c.dispatchConfig.phasedRegistrationNames[b])) c._dispatchListeners = xa(c._dispatchListeners, b), c._dispatchInstances = xa(c._dispatchInstances, a);\n}\n\nfunction Pc(a) {\n if (a && a.dispatchConfig.phasedRegistrationNames) {\n for (var b = a._targetInst, c = []; b;) {\n c.push(b), b = Nc(b);\n }\n\n for (b = c.length; 0 < b--;) {\n Oc(c[b], \"captured\", a);\n }\n\n for (b = 0; b < c.length; b++) {\n Oc(c[b], \"bubbled\", a);\n }\n }\n}\n\nfunction Qc(a, b, c) {\n a && c && c.dispatchConfig.registrationName && (b = Da(a, c.dispatchConfig.registrationName)) && (c._dispatchListeners = xa(c._dispatchListeners, b), c._dispatchInstances = xa(c._dispatchInstances, a));\n}\n\nfunction Rc(a) {\n a && a.dispatchConfig.registrationName && Qc(a._targetInst, null, a);\n}\n\nfunction Sc(a) {\n ya(a, Pc);\n}\n\nfunction Tc() {\n return !0;\n}\n\nfunction Uc() {\n return !1;\n}\n\nfunction E(a, b, c, d) {\n this.dispatchConfig = a;\n this._targetInst = b;\n this.nativeEvent = c;\n a = this.constructor.Interface;\n\n for (var e in a) {\n a.hasOwnProperty(e) && ((b = a[e]) ? this[e] = b(c) : \"target\" === e ? this.target = d : this[e] = c[e]);\n }\n\n this.isDefaultPrevented = (null != c.defaultPrevented ? c.defaultPrevented : !1 === c.returnValue) ? Tc : Uc;\n this.isPropagationStopped = Uc;\n return this;\n}\n\nn(E.prototype, {\n preventDefault: function preventDefault() {\n this.defaultPrevented = !0;\n var a = this.nativeEvent;\n a && (a.preventDefault ? a.preventDefault() : \"unknown\" !== typeof a.returnValue && (a.returnValue = !1), this.isDefaultPrevented = Tc);\n },\n stopPropagation: function stopPropagation() {\n var a = this.nativeEvent;\n a && (a.stopPropagation ? a.stopPropagation() : \"unknown\" !== typeof a.cancelBubble && (a.cancelBubble = !0), this.isPropagationStopped = Tc);\n },\n persist: function persist() {\n this.isPersistent = Tc;\n },\n isPersistent: Uc,\n destructor: function destructor() {\n var a = this.constructor.Interface,\n b;\n\n for (b in a) {\n this[b] = null;\n }\n\n this.nativeEvent = this._targetInst = this.dispatchConfig = null;\n this.isPropagationStopped = this.isDefaultPrevented = Uc;\n this._dispatchInstances = this._dispatchListeners = null;\n }\n});\nE.Interface = {\n type: null,\n target: null,\n currentTarget: function currentTarget() {\n return null;\n },\n eventPhase: null,\n bubbles: null,\n cancelable: null,\n timeStamp: function timeStamp(a) {\n return a.timeStamp || Date.now();\n },\n defaultPrevented: null,\n isTrusted: null\n};\n\nE.extend = function (a) {\n function b() {}\n\n function c() {\n return d.apply(this, arguments);\n }\n\n var d = this;\n b.prototype = d.prototype;\n var e = new b();\n n(e, c.prototype);\n c.prototype = e;\n c.prototype.constructor = c;\n c.Interface = n({}, d.Interface, a);\n c.extend = d.extend;\n Vc(c);\n return c;\n};\n\nVc(E);\n\nfunction Wc(a, b, c, d) {\n if (this.eventPool.length) {\n var e = this.eventPool.pop();\n this.call(e, a, b, c, d);\n return e;\n }\n\n return new this(a, b, c, d);\n}\n\nfunction Xc(a) {\n if (!(a instanceof this)) throw Error(u(279));\n a.destructor();\n 10 > this.eventPool.length && this.eventPool.push(a);\n}\n\nfunction Vc(a) {\n a.eventPool = [];\n a.getPooled = Wc;\n a.release = Xc;\n}\n\nvar Yc = E.extend({\n animationName: null,\n elapsedTime: null,\n pseudoElement: null\n}),\n Zc = E.extend({\n clipboardData: function clipboardData(a) {\n return \"clipboardData\" in a ? a.clipboardData : window.clipboardData;\n }\n}),\n $c = E.extend({\n view: null,\n detail: null\n}),\n ad = $c.extend({\n relatedTarget: null\n});\n\nfunction bd(a) {\n var b = a.keyCode;\n \"charCode\" in a ? (a = a.charCode, 0 === a && 13 === b && (a = 13)) : a = b;\n 10 === a && (a = 13);\n return 32 <= a || 13 === a ? a : 0;\n}\n\nvar cd = {\n Esc: \"Escape\",\n Spacebar: \" \",\n Left: \"ArrowLeft\",\n Up: \"ArrowUp\",\n Right: \"ArrowRight\",\n Down: \"ArrowDown\",\n Del: \"Delete\",\n Win: \"OS\",\n Menu: \"ContextMenu\",\n Apps: \"ContextMenu\",\n Scroll: \"ScrollLock\",\n MozPrintableKey: \"Unidentified\"\n},\n dd = {\n 8: \"Backspace\",\n 9: \"Tab\",\n 12: \"Clear\",\n 13: \"Enter\",\n 16: \"Shift\",\n 17: \"Control\",\n 18: \"Alt\",\n 19: \"Pause\",\n 20: \"CapsLock\",\n 27: \"Escape\",\n 32: \" \",\n 33: \"PageUp\",\n 34: \"PageDown\",\n 35: \"End\",\n 36: \"Home\",\n 37: \"ArrowLeft\",\n 38: \"ArrowUp\",\n 39: \"ArrowRight\",\n 40: \"ArrowDown\",\n 45: \"Insert\",\n 46: \"Delete\",\n 112: \"F1\",\n 113: \"F2\",\n 114: \"F3\",\n 115: \"F4\",\n 116: \"F5\",\n 117: \"F6\",\n 118: \"F7\",\n 119: \"F8\",\n 120: \"F9\",\n 121: \"F10\",\n 122: \"F11\",\n 123: \"F12\",\n 144: \"NumLock\",\n 145: \"ScrollLock\",\n 224: \"Meta\"\n},\n ed = {\n Alt: \"altKey\",\n Control: \"ctrlKey\",\n Meta: \"metaKey\",\n Shift: \"shiftKey\"\n};\n\nfunction gd(a) {\n var b = this.nativeEvent;\n return b.getModifierState ? b.getModifierState(a) : (a = ed[a]) ? !!b[a] : !1;\n}\n\nfunction hd() {\n return gd;\n}\n\nvar id = $c.extend({\n key: function key(a) {\n if (a.key) {\n var b = cd[a.key] || a.key;\n if (\"Unidentified\" !== b) return b;\n }\n\n return \"keypress\" === a.type ? (a = bd(a), 13 === a ? \"Enter\" : String.fromCharCode(a)) : \"keydown\" === a.type || \"keyup\" === a.type ? dd[a.keyCode] || \"Unidentified\" : \"\";\n },\n location: null,\n ctrlKey: null,\n shiftKey: null,\n altKey: null,\n metaKey: null,\n repeat: null,\n locale: null,\n getModifierState: hd,\n charCode: function charCode(a) {\n return \"keypress\" === a.type ? bd(a) : 0;\n },\n keyCode: function keyCode(a) {\n return \"keydown\" === a.type || \"keyup\" === a.type ? a.keyCode : 0;\n },\n which: function which(a) {\n return \"keypress\" === a.type ? bd(a) : \"keydown\" === a.type || \"keyup\" === a.type ? a.keyCode : 0;\n }\n}),\n jd = 0,\n kd = 0,\n ld = !1,\n md = !1,\n nd = $c.extend({\n screenX: null,\n screenY: null,\n clientX: null,\n clientY: null,\n pageX: null,\n pageY: null,\n ctrlKey: null,\n shiftKey: null,\n altKey: null,\n metaKey: null,\n getModifierState: hd,\n button: null,\n buttons: null,\n relatedTarget: function relatedTarget(a) {\n return a.relatedTarget || (a.fromElement === a.srcElement ? a.toElement : a.fromElement);\n },\n movementX: function movementX(a) {\n if (\"movementX\" in a) return a.movementX;\n var b = jd;\n jd = a.screenX;\n return ld ? \"mousemove\" === a.type ? a.screenX - b : 0 : (ld = !0, 0);\n },\n movementY: function movementY(a) {\n if (\"movementY\" in a) return a.movementY;\n var b = kd;\n kd = a.screenY;\n return md ? \"mousemove\" === a.type ? a.screenY - b : 0 : (md = !0, 0);\n }\n}),\n od = nd.extend({\n pointerId: null,\n width: null,\n height: null,\n pressure: null,\n tangentialPressure: null,\n tiltX: null,\n tiltY: null,\n twist: null,\n pointerType: null,\n isPrimary: null\n}),\n pd = nd.extend({\n dataTransfer: null\n}),\n qd = $c.extend({\n touches: null,\n targetTouches: null,\n changedTouches: null,\n altKey: null,\n metaKey: null,\n ctrlKey: null,\n shiftKey: null,\n getModifierState: hd\n}),\n rd = E.extend({\n propertyName: null,\n elapsedTime: null,\n pseudoElement: null\n}),\n sd = nd.extend({\n deltaX: function deltaX(a) {\n return \"deltaX\" in a ? a.deltaX : \"wheelDeltaX\" in a ? -a.wheelDeltaX : 0;\n },\n deltaY: function deltaY(a) {\n return \"deltaY\" in a ? a.deltaY : \"wheelDeltaY\" in a ? -a.wheelDeltaY : \"wheelDelta\" in a ? -a.wheelDelta : 0;\n },\n deltaZ: null,\n deltaMode: null\n}),\n td = [[\"blur\", \"blur\", 0], [\"cancel\", \"cancel\", 0], [\"click\", \"click\", 0], [\"close\", \"close\", 0], [\"contextmenu\", \"contextMenu\", 0], [\"copy\", \"copy\", 0], [\"cut\", \"cut\", 0], [\"auxclick\", \"auxClick\", 0], [\"dblclick\", \"doubleClick\", 0], [\"dragend\", \"dragEnd\", 0], [\"dragstart\", \"dragStart\", 0], [\"drop\", \"drop\", 0], [\"focus\", \"focus\", 0], [\"input\", \"input\", 0], [\"invalid\", \"invalid\", 0], [\"keydown\", \"keyDown\", 0], [\"keypress\", \"keyPress\", 0], [\"keyup\", \"keyUp\", 0], [\"mousedown\", \"mouseDown\", 0], [\"mouseup\", \"mouseUp\", 0], [\"paste\", \"paste\", 0], [\"pause\", \"pause\", 0], [\"play\", \"play\", 0], [\"pointercancel\", \"pointerCancel\", 0], [\"pointerdown\", \"pointerDown\", 0], [\"pointerup\", \"pointerUp\", 0], [\"ratechange\", \"rateChange\", 0], [\"reset\", \"reset\", 0], [\"seeked\", \"seeked\", 0], [\"submit\", \"submit\", 0], [\"touchcancel\", \"touchCancel\", 0], [\"touchend\", \"touchEnd\", 0], [\"touchstart\", \"touchStart\", 0], [\"volumechange\", \"volumeChange\", 0], [\"drag\", \"drag\", 1], [\"dragenter\", \"dragEnter\", 1], [\"dragexit\", \"dragExit\", 1], [\"dragleave\", \"dragLeave\", 1], [\"dragover\", \"dragOver\", 1], [\"mousemove\", \"mouseMove\", 1], [\"mouseout\", \"mouseOut\", 1], [\"mouseover\", \"mouseOver\", 1], [\"pointermove\", \"pointerMove\", 1], [\"pointerout\", \"pointerOut\", 1], [\"pointerover\", \"pointerOver\", 1], [\"scroll\", \"scroll\", 1], [\"toggle\", \"toggle\", 1], [\"touchmove\", \"touchMove\", 1], [\"wheel\", \"wheel\", 1], [\"abort\", \"abort\", 2], [Zb, \"animationEnd\", 2], [$b, \"animationIteration\", 2], [ac, \"animationStart\", 2], [\"canplay\", \"canPlay\", 2], [\"canplaythrough\", \"canPlayThrough\", 2], [\"durationchange\", \"durationChange\", 2], [\"emptied\", \"emptied\", 2], [\"encrypted\", \"encrypted\", 2], [\"ended\", \"ended\", 2], [\"error\", \"error\", 2], [\"gotpointercapture\", \"gotPointerCapture\", 2], [\"load\", \"load\", 2], [\"loadeddata\", \"loadedData\", 2], [\"loadedmetadata\", \"loadedMetadata\", 2], [\"loadstart\", \"loadStart\", 2], [\"lostpointercapture\", \"lostPointerCapture\", 2], [\"playing\", \"playing\", 2], [\"progress\", \"progress\", 2], [\"seeking\", \"seeking\", 2], [\"stalled\", \"stalled\", 2], [\"suspend\", \"suspend\", 2], [\"timeupdate\", \"timeUpdate\", 2], [bc, \"transitionEnd\", 2], [\"waiting\", \"waiting\", 2]],\n ud = {},\n vd = {},\n wd = 0;\n\nfor (; wd < td.length; wd++) {\n var yd = td[wd],\n zd = yd[0],\n Ad = yd[1],\n Bd = yd[2],\n Cd = \"on\" + (Ad[0].toUpperCase() + Ad.slice(1)),\n Dd = {\n phasedRegistrationNames: {\n bubbled: Cd,\n captured: Cd + \"Capture\"\n },\n dependencies: [zd],\n eventPriority: Bd\n };\n ud[Ad] = Dd;\n vd[zd] = Dd;\n}\n\nvar Ed = {\n eventTypes: ud,\n getEventPriority: function getEventPriority(a) {\n a = vd[a];\n return void 0 !== a ? a.eventPriority : 2;\n },\n extractEvents: function extractEvents(a, b, c, d) {\n var e = vd[a];\n if (!e) return null;\n\n switch (a) {\n case \"keypress\":\n if (0 === bd(c)) return null;\n\n case \"keydown\":\n case \"keyup\":\n a = id;\n break;\n\n case \"blur\":\n case \"focus\":\n a = ad;\n break;\n\n case \"click\":\n if (2 === c.button) return null;\n\n case \"auxclick\":\n case \"dblclick\":\n case \"mousedown\":\n case \"mousemove\":\n case \"mouseup\":\n case \"mouseout\":\n case \"mouseover\":\n case \"contextmenu\":\n a = nd;\n break;\n\n case \"drag\":\n case \"dragend\":\n case \"dragenter\":\n case \"dragexit\":\n case \"dragleave\":\n case \"dragover\":\n case \"dragstart\":\n case \"drop\":\n a = pd;\n break;\n\n case \"touchcancel\":\n case \"touchend\":\n case \"touchmove\":\n case \"touchstart\":\n a = qd;\n break;\n\n case Zb:\n case $b:\n case ac:\n a = Yc;\n break;\n\n case bc:\n a = rd;\n break;\n\n case \"scroll\":\n a = $c;\n break;\n\n case \"wheel\":\n a = sd;\n break;\n\n case \"copy\":\n case \"cut\":\n case \"paste\":\n a = Zc;\n break;\n\n case \"gotpointercapture\":\n case \"lostpointercapture\":\n case \"pointercancel\":\n case \"pointerdown\":\n case \"pointermove\":\n case \"pointerout\":\n case \"pointerover\":\n case \"pointerup\":\n a = od;\n break;\n\n default:\n a = E;\n }\n\n b = a.getPooled(e, b, c, d);\n Sc(b);\n return b;\n }\n},\n Fd = q.unstable_UserBlockingPriority,\n Gd = q.unstable_runWithPriority,\n Hd = Ed.getEventPriority,\n Id = 10,\n Jd = [];\n\nfunction Kd(a) {\n var b = a.targetInst,\n c = b;\n\n do {\n if (!c) {\n a.ancestors.push(c);\n break;\n }\n\n var d = c;\n if (3 === d.tag) d = d.stateNode.containerInfo;else {\n for (; d.return;) {\n d = d.return;\n }\n\n d = 3 !== d.tag ? null : d.stateNode.containerInfo;\n }\n if (!d) break;\n b = c.tag;\n 5 !== b && 6 !== b || a.ancestors.push(c);\n c = Fc(d);\n } while (c);\n\n for (c = 0; c < a.ancestors.length; c++) {\n b = a.ancestors[c];\n var e = Mc(a.nativeEvent);\n d = a.topLevelType;\n\n for (var f = a.nativeEvent, g = a.eventSystemFlags, h = null, k = 0; k < ea.length; k++) {\n var l = ea[k];\n l && (l = l.extractEvents(d, b, f, e, g)) && (h = xa(h, l));\n }\n\n Ba(h);\n }\n}\n\nvar Ld = !0;\n\nfunction F(a, b) {\n Md(b, a, !1);\n}\n\nfunction Md(a, b, c) {\n switch (Hd(b)) {\n case 0:\n var d = Nd.bind(null, b, 1);\n break;\n\n case 1:\n d = Od.bind(null, b, 1);\n break;\n\n default:\n d = Pd.bind(null, b, 1);\n }\n\n c ? a.addEventListener(b, d, !0) : a.addEventListener(b, d, !1);\n}\n\nfunction Nd(a, b, c) {\n ib || gb();\n var d = Pd,\n e = ib;\n ib = !0;\n\n try {\n fb(d, a, b, c);\n } finally {\n (ib = e) || kb();\n }\n}\n\nfunction Od(a, b, c) {\n Gd(Fd, Pd.bind(null, a, b, c));\n}\n\nfunction Qd(a, b, c, d) {\n if (Jd.length) {\n var e = Jd.pop();\n e.topLevelType = a;\n e.eventSystemFlags = b;\n e.nativeEvent = c;\n e.targetInst = d;\n a = e;\n } else a = {\n topLevelType: a,\n eventSystemFlags: b,\n nativeEvent: c,\n targetInst: d,\n ancestors: []\n };\n\n try {\n if (b = Kd, c = a, jb) b(c, void 0);else {\n jb = !0;\n\n try {\n hb(b, c, void 0);\n } finally {\n jb = !1, kb();\n }\n }\n } finally {\n a.topLevelType = null, a.nativeEvent = null, a.targetInst = null, a.ancestors.length = 0, Jd.length < Id && Jd.push(a);\n }\n}\n\nfunction Pd(a, b, c) {\n if (Ld) if (0 < nc.length && -1 < uc.indexOf(a)) a = zc(null, a, b, c), nc.push(a);else {\n var d = Hc(a, b, c);\n null === d ? Ac(a, c) : -1 < uc.indexOf(a) ? (a = zc(d, a, b, c), nc.push(a)) : Dc(d, a, b, c) || (Ac(a, c), Qd(a, b, c, null));\n }\n}\n\nfunction Hc(a, b, c) {\n var d = Mc(c);\n d = Fc(d);\n\n if (null !== d) {\n var e = ec(d);\n if (null === e) d = null;else {\n var f = e.tag;\n\n if (13 === f) {\n d = fc(e);\n if (null !== d) return d;\n d = null;\n } else if (3 === f) {\n if (e.stateNode.hydrate) return 3 === e.tag ? e.stateNode.containerInfo : null;\n d = null;\n } else e !== d && (d = null);\n }\n }\n\n Qd(a, b, c, d);\n return null;\n}\n\nfunction Rd(a) {\n if (!Ya) return !1;\n a = \"on\" + a;\n var b = a in document;\n b || (b = document.createElement(\"div\"), b.setAttribute(a, \"return;\"), b = \"function\" === typeof b[a]);\n return b;\n}\n\nvar Sd = new (\"function\" === typeof WeakMap ? WeakMap : Map)();\n\nfunction xc(a) {\n var b = Sd.get(a);\n void 0 === b && (b = new Set(), Sd.set(a, b));\n return b;\n}\n\nfunction yc(a, b, c) {\n if (!c.has(a)) {\n switch (a) {\n case \"scroll\":\n Md(b, \"scroll\", !0);\n break;\n\n case \"focus\":\n case \"blur\":\n Md(b, \"focus\", !0);\n Md(b, \"blur\", !0);\n c.add(\"blur\");\n c.add(\"focus\");\n break;\n\n case \"cancel\":\n case \"close\":\n Rd(a) && Md(b, a, !0);\n break;\n\n case \"invalid\":\n case \"submit\":\n case \"reset\":\n break;\n\n default:\n -1 === cc.indexOf(a) && F(a, b);\n }\n\n c.add(a);\n }\n}\n\nvar Td = {\n animationIterationCount: !0,\n borderImageOutset: !0,\n borderImageSlice: !0,\n borderImageWidth: !0,\n boxFlex: !0,\n boxFlexGroup: !0,\n boxOrdinalGroup: !0,\n columnCount: !0,\n columns: !0,\n flex: !0,\n flexGrow: !0,\n flexPositive: !0,\n flexShrink: !0,\n flexNegative: !0,\n flexOrder: !0,\n gridArea: !0,\n gridRow: !0,\n gridRowEnd: !0,\n gridRowSpan: !0,\n gridRowStart: !0,\n gridColumn: !0,\n gridColumnEnd: !0,\n gridColumnSpan: !0,\n gridColumnStart: !0,\n fontWeight: !0,\n lineClamp: !0,\n lineHeight: !0,\n opacity: !0,\n order: !0,\n orphans: !0,\n tabSize: !0,\n widows: !0,\n zIndex: !0,\n zoom: !0,\n fillOpacity: !0,\n floodOpacity: !0,\n stopOpacity: !0,\n strokeDasharray: !0,\n strokeDashoffset: !0,\n strokeMiterlimit: !0,\n strokeOpacity: !0,\n strokeWidth: !0\n},\n Ud = [\"Webkit\", \"ms\", \"Moz\", \"O\"];\nObject.keys(Td).forEach(function (a) {\n Ud.forEach(function (b) {\n b = b + a.charAt(0).toUpperCase() + a.substring(1);\n Td[b] = Td[a];\n });\n});\n\nfunction Vd(a, b, c) {\n return null == b || \"boolean\" === typeof b || \"\" === b ? \"\" : c || \"number\" !== typeof b || 0 === b || Td.hasOwnProperty(a) && Td[a] ? (\"\" + b).trim() : b + \"px\";\n}\n\nfunction Wd(a, b) {\n a = a.style;\n\n for (var c in b) {\n if (b.hasOwnProperty(c)) {\n var d = 0 === c.indexOf(\"--\"),\n e = Vd(c, b[c], d);\n \"float\" === c && (c = \"cssFloat\");\n d ? a.setProperty(c, e) : a[c] = e;\n }\n }\n}\n\nvar Xd = n({\n menuitem: !0\n}, {\n area: !0,\n base: !0,\n br: !0,\n col: !0,\n embed: !0,\n hr: !0,\n img: !0,\n input: !0,\n keygen: !0,\n link: !0,\n meta: !0,\n param: !0,\n source: !0,\n track: !0,\n wbr: !0\n});\n\nfunction Yd(a, b) {\n if (b) {\n if (Xd[a] && (null != b.children || null != b.dangerouslySetInnerHTML)) throw Error(u(137, a, \"\"));\n\n if (null != b.dangerouslySetInnerHTML) {\n if (null != b.children) throw Error(u(60));\n if (!(\"object\" === typeof b.dangerouslySetInnerHTML && \"__html\" in b.dangerouslySetInnerHTML)) throw Error(u(61));\n }\n\n if (null != b.style && \"object\" !== typeof b.style) throw Error(u(62, \"\"));\n }\n}\n\nfunction Zd(a, b) {\n if (-1 === a.indexOf(\"-\")) return \"string\" === typeof b.is;\n\n switch (a) {\n case \"annotation-xml\":\n case \"color-profile\":\n case \"font-face\":\n case \"font-face-src\":\n case \"font-face-uri\":\n case \"font-face-format\":\n case \"font-face-name\":\n case \"missing-glyph\":\n return !1;\n\n default:\n return !0;\n }\n}\n\nfunction $d(a, b) {\n a = 9 === a.nodeType || 11 === a.nodeType ? a : a.ownerDocument;\n var c = xc(a);\n b = ja[b];\n\n for (var d = 0; d < b.length; d++) {\n yc(b[d], a, c);\n }\n}\n\nfunction ae() {}\n\nfunction be(a) {\n a = a || (\"undefined\" !== typeof document ? document : void 0);\n if (\"undefined\" === typeof a) return null;\n\n try {\n return a.activeElement || a.body;\n } catch (b) {\n return a.body;\n }\n}\n\nfunction ce(a) {\n for (; a && a.firstChild;) {\n a = a.firstChild;\n }\n\n return a;\n}\n\nfunction de(a, b) {\n var c = ce(a);\n a = 0;\n\n for (var d; c;) {\n if (3 === c.nodeType) {\n d = a + c.textContent.length;\n if (a <= b && d >= b) return {\n node: c,\n offset: b - a\n };\n a = d;\n }\n\n a: {\n for (; c;) {\n if (c.nextSibling) {\n c = c.nextSibling;\n break a;\n }\n\n c = c.parentNode;\n }\n\n c = void 0;\n }\n\n c = ce(c);\n }\n}\n\nfunction ee(a, b) {\n return a && b ? a === b ? !0 : a && 3 === a.nodeType ? !1 : b && 3 === b.nodeType ? ee(a, b.parentNode) : \"contains\" in a ? a.contains(b) : a.compareDocumentPosition ? !!(a.compareDocumentPosition(b) & 16) : !1 : !1;\n}\n\nfunction fe() {\n for (var a = window, b = be(); b instanceof a.HTMLIFrameElement;) {\n try {\n var c = \"string\" === typeof b.contentWindow.location.href;\n } catch (d) {\n c = !1;\n }\n\n if (c) a = b.contentWindow;else break;\n b = be(a.document);\n }\n\n return b;\n}\n\nfunction ge(a) {\n var b = a && a.nodeName && a.nodeName.toLowerCase();\n return b && (\"input\" === b && (\"text\" === a.type || \"search\" === a.type || \"tel\" === a.type || \"url\" === a.type || \"password\" === a.type) || \"textarea\" === b || \"true\" === a.contentEditable);\n}\n\nvar he = \"$\",\n ie = \"/$\",\n je = \"$?\",\n ke = \"$!\",\n le = null,\n me = null;\n\nfunction ne(a, b) {\n switch (a) {\n case \"button\":\n case \"input\":\n case \"select\":\n case \"textarea\":\n return !!b.autoFocus;\n }\n\n return !1;\n}\n\nfunction oe(a, b) {\n return \"textarea\" === a || \"option\" === a || \"noscript\" === a || \"string\" === typeof b.children || \"number\" === typeof b.children || \"object\" === typeof b.dangerouslySetInnerHTML && null !== b.dangerouslySetInnerHTML && null != b.dangerouslySetInnerHTML.__html;\n}\n\nvar pe = \"function\" === typeof setTimeout ? setTimeout : void 0,\n qe = \"function\" === typeof clearTimeout ? clearTimeout : void 0;\n\nfunction re(a) {\n for (; null != a; a = a.nextSibling) {\n var b = a.nodeType;\n if (1 === b || 3 === b) break;\n }\n\n return a;\n}\n\nfunction se(a) {\n a = a.previousSibling;\n\n for (var b = 0; a;) {\n if (8 === a.nodeType) {\n var c = a.data;\n\n if (c === he || c === ke || c === je) {\n if (0 === b) return a;\n b--;\n } else c === ie && b++;\n }\n\n a = a.previousSibling;\n }\n\n return null;\n}\n\nvar te = Math.random().toString(36).slice(2),\n ue = \"__reactInternalInstance$\" + te,\n ve = \"__reactEventHandlers$\" + te,\n we = \"__reactContainere$\" + te;\n\nfunction Fc(a) {\n var b = a[ue];\n if (b) return b;\n\n for (var c = a.parentNode; c;) {\n if (b = c[we] || c[ue]) {\n c = b.alternate;\n if (null !== b.child || null !== c && null !== c.child) for (a = se(a); null !== a;) {\n if (c = a[ue]) return c;\n a = se(a);\n }\n return b;\n }\n\n a = c;\n c = a.parentNode;\n }\n\n return null;\n}\n\nfunction Cc(a) {\n a = a[ue] || a[we];\n return !a || 5 !== a.tag && 6 !== a.tag && 13 !== a.tag && 3 !== a.tag ? null : a;\n}\n\nfunction xe(a) {\n if (5 === a.tag || 6 === a.tag) return a.stateNode;\n throw Error(u(33));\n}\n\nfunction ye(a) {\n return a[ve] || null;\n}\n\nvar ze = null,\n Ae = null,\n Be = null;\n\nfunction Ce() {\n if (Be) return Be;\n var a,\n b = Ae,\n c = b.length,\n d,\n e = \"value\" in ze ? ze.value : ze.textContent,\n f = e.length;\n\n for (a = 0; a < c && b[a] === e[a]; a++) {\n ;\n }\n\n var g = c - a;\n\n for (d = 1; d <= g && b[c - d] === e[f - d]; d++) {\n ;\n }\n\n return Be = e.slice(a, 1 < d ? 1 - d : void 0);\n}\n\nvar De = E.extend({\n data: null\n}),\n Ee = E.extend({\n data: null\n}),\n Fe = [9, 13, 27, 32],\n Ge = Ya && \"CompositionEvent\" in window,\n He = null;\nYa && \"documentMode\" in document && (He = document.documentMode);\nvar Ie = Ya && \"TextEvent\" in window && !He,\n Je = Ya && (!Ge || He && 8 < He && 11 >= He),\n Ke = String.fromCharCode(32),\n Le = {\n beforeInput: {\n phasedRegistrationNames: {\n bubbled: \"onBeforeInput\",\n captured: \"onBeforeInputCapture\"\n },\n dependencies: [\"compositionend\", \"keypress\", \"textInput\", \"paste\"]\n },\n compositionEnd: {\n phasedRegistrationNames: {\n bubbled: \"onCompositionEnd\",\n captured: \"onCompositionEndCapture\"\n },\n dependencies: \"blur compositionend keydown keypress keyup mousedown\".split(\" \")\n },\n compositionStart: {\n phasedRegistrationNames: {\n bubbled: \"onCompositionStart\",\n captured: \"onCompositionStartCapture\"\n },\n dependencies: \"blur compositionstart keydown keypress keyup mousedown\".split(\" \")\n },\n compositionUpdate: {\n phasedRegistrationNames: {\n bubbled: \"onCompositionUpdate\",\n captured: \"onCompositionUpdateCapture\"\n },\n dependencies: \"blur compositionupdate keydown keypress keyup mousedown\".split(\" \")\n }\n},\n Me = !1;\n\nfunction Ne(a, b) {\n switch (a) {\n case \"keyup\":\n return -1 !== Fe.indexOf(b.keyCode);\n\n case \"keydown\":\n return 229 !== b.keyCode;\n\n case \"keypress\":\n case \"mousedown\":\n case \"blur\":\n return !0;\n\n default:\n return !1;\n }\n}\n\nfunction Oe(a) {\n a = a.detail;\n return \"object\" === typeof a && \"data\" in a ? a.data : null;\n}\n\nvar Pe = !1;\n\nfunction Qe(a, b) {\n switch (a) {\n case \"compositionend\":\n return Oe(b);\n\n case \"keypress\":\n if (32 !== b.which) return null;\n Me = !0;\n return Ke;\n\n case \"textInput\":\n return a = b.data, a === Ke && Me ? null : a;\n\n default:\n return null;\n }\n}\n\nfunction Re(a, b) {\n if (Pe) return \"compositionend\" === a || !Ge && Ne(a, b) ? (a = Ce(), Be = Ae = ze = null, Pe = !1, a) : null;\n\n switch (a) {\n case \"paste\":\n return null;\n\n case \"keypress\":\n if (!(b.ctrlKey || b.altKey || b.metaKey) || b.ctrlKey && b.altKey) {\n if (b.char && 1 < b.char.length) return b.char;\n if (b.which) return String.fromCharCode(b.which);\n }\n\n return null;\n\n case \"compositionend\":\n return Je && \"ko\" !== b.locale ? null : b.data;\n\n default:\n return null;\n }\n}\n\nvar Se = {\n eventTypes: Le,\n extractEvents: function extractEvents(a, b, c, d) {\n var e;\n if (Ge) b: {\n switch (a) {\n case \"compositionstart\":\n var f = Le.compositionStart;\n break b;\n\n case \"compositionend\":\n f = Le.compositionEnd;\n break b;\n\n case \"compositionupdate\":\n f = Le.compositionUpdate;\n break b;\n }\n\n f = void 0;\n } else Pe ? Ne(a, c) && (f = Le.compositionEnd) : \"keydown\" === a && 229 === c.keyCode && (f = Le.compositionStart);\n f ? (Je && \"ko\" !== c.locale && (Pe || f !== Le.compositionStart ? f === Le.compositionEnd && Pe && (e = Ce()) : (ze = d, Ae = \"value\" in ze ? ze.value : ze.textContent, Pe = !0)), f = De.getPooled(f, b, c, d), e ? f.data = e : (e = Oe(c), null !== e && (f.data = e)), Sc(f), e = f) : e = null;\n (a = Ie ? Qe(a, c) : Re(a, c)) ? (b = Ee.getPooled(Le.beforeInput, b, c, d), b.data = a, Sc(b)) : b = null;\n return null === e ? b : null === b ? e : [e, b];\n }\n},\n Te = {\n color: !0,\n date: !0,\n datetime: !0,\n \"datetime-local\": !0,\n email: !0,\n month: !0,\n number: !0,\n password: !0,\n range: !0,\n search: !0,\n tel: !0,\n text: !0,\n time: !0,\n url: !0,\n week: !0\n};\n\nfunction Ue(a) {\n var b = a && a.nodeName && a.nodeName.toLowerCase();\n return \"input\" === b ? !!Te[a.type] : \"textarea\" === b ? !0 : !1;\n}\n\nvar Ve = {\n change: {\n phasedRegistrationNames: {\n bubbled: \"onChange\",\n captured: \"onChangeCapture\"\n },\n dependencies: \"blur change click focus input keydown keyup selectionchange\".split(\" \")\n }\n};\n\nfunction We(a, b, c) {\n a = E.getPooled(Ve.change, a, b, c);\n a.type = \"change\";\n cb(c);\n Sc(a);\n return a;\n}\n\nvar Xe = null,\n Ye = null;\n\nfunction Ze(a) {\n Ba(a);\n}\n\nfunction $e(a) {\n var b = xe(a);\n if (zb(b)) return a;\n}\n\nfunction af(a, b) {\n if (\"change\" === a) return b;\n}\n\nvar bf = !1;\nYa && (bf = Rd(\"input\") && (!document.documentMode || 9 < document.documentMode));\n\nfunction cf() {\n Xe && (Xe.detachEvent(\"onpropertychange\", df), Ye = Xe = null);\n}\n\nfunction df(a) {\n if (\"value\" === a.propertyName && $e(Ye)) if (a = We(Ye, a, Mc(a)), ib) Ba(a);else {\n ib = !0;\n\n try {\n eb(Ze, a);\n } finally {\n ib = !1, kb();\n }\n }\n}\n\nfunction ef(a, b, c) {\n \"focus\" === a ? (cf(), Xe = b, Ye = c, Xe.attachEvent(\"onpropertychange\", df)) : \"blur\" === a && cf();\n}\n\nfunction ff(a) {\n if (\"selectionchange\" === a || \"keyup\" === a || \"keydown\" === a) return $e(Ye);\n}\n\nfunction gf(a, b) {\n if (\"click\" === a) return $e(b);\n}\n\nfunction hf(a, b) {\n if (\"input\" === a || \"change\" === a) return $e(b);\n}\n\nvar jf = {\n eventTypes: Ve,\n _isInputEventSupported: bf,\n extractEvents: function extractEvents(a, b, c, d) {\n var e = b ? xe(b) : window,\n f = e.nodeName && e.nodeName.toLowerCase();\n if (\"select\" === f || \"input\" === f && \"file\" === e.type) var g = af;else if (Ue(e)) {\n if (bf) g = hf;else {\n g = ff;\n var h = ef;\n }\n } else (f = e.nodeName) && \"input\" === f.toLowerCase() && (\"checkbox\" === e.type || \"radio\" === e.type) && (g = gf);\n if (g && (g = g(a, b))) return We(g, c, d);\n h && h(a, e, b);\n \"blur\" === a && (a = e._wrapperState) && a.controlled && \"number\" === e.type && Fb(e, \"number\", e.value);\n }\n},\n kf = {\n mouseEnter: {\n registrationName: \"onMouseEnter\",\n dependencies: [\"mouseout\", \"mouseover\"]\n },\n mouseLeave: {\n registrationName: \"onMouseLeave\",\n dependencies: [\"mouseout\", \"mouseover\"]\n },\n pointerEnter: {\n registrationName: \"onPointerEnter\",\n dependencies: [\"pointerout\", \"pointerover\"]\n },\n pointerLeave: {\n registrationName: \"onPointerLeave\",\n dependencies: [\"pointerout\", \"pointerover\"]\n }\n},\n lf,\n mf = {\n eventTypes: kf,\n extractEvents: function extractEvents(a, b, c, d, e) {\n var f = \"mouseover\" === a || \"pointerover\" === a,\n g = \"mouseout\" === a || \"pointerout\" === a;\n if (f && 0 === (e & 32) && (c.relatedTarget || c.fromElement) || !g && !f) return null;\n e = d.window === d ? d : (e = d.ownerDocument) ? e.defaultView || e.parentWindow : window;\n\n if (g) {\n if (g = b, b = (b = c.relatedTarget || c.toElement) ? Fc(b) : null, null !== b && (f = ec(b), b !== f || 5 !== b.tag && 6 !== b.tag)) b = null;\n } else g = null;\n\n if (g === b) return null;\n\n if (\"mouseout\" === a || \"mouseover\" === a) {\n var h = nd;\n var k = kf.mouseLeave;\n var l = kf.mouseEnter;\n var m = \"mouse\";\n } else if (\"pointerout\" === a || \"pointerover\" === a) h = od, k = kf.pointerLeave, l = kf.pointerEnter, m = \"pointer\";\n\n a = null == g ? e : xe(g);\n e = null == b ? e : xe(b);\n k = h.getPooled(k, g, c, d);\n k.type = m + \"leave\";\n k.target = a;\n k.relatedTarget = e;\n d = h.getPooled(l, b, c, d);\n d.type = m + \"enter\";\n d.target = e;\n d.relatedTarget = a;\n h = g;\n m = b;\n if (h && m) a: {\n l = h;\n a = m;\n g = 0;\n\n for (b = l; b; b = Nc(b)) {\n g++;\n }\n\n b = 0;\n\n for (e = a; e; e = Nc(e)) {\n b++;\n }\n\n for (; 0 < g - b;) {\n l = Nc(l), g--;\n }\n\n for (; 0 < b - g;) {\n a = Nc(a), b--;\n }\n\n for (; g--;) {\n if (l === a || l === a.alternate) break a;\n l = Nc(l);\n a = Nc(a);\n }\n\n l = null;\n } else l = null;\n a = l;\n\n for (l = []; h && h !== a;) {\n g = h.alternate;\n if (null !== g && g === a) break;\n l.push(h);\n h = Nc(h);\n }\n\n for (h = []; m && m !== a;) {\n g = m.alternate;\n if (null !== g && g === a) break;\n h.push(m);\n m = Nc(m);\n }\n\n for (m = 0; m < l.length; m++) {\n Qc(l[m], \"bubbled\", k);\n }\n\n for (m = h.length; 0 < m--;) {\n Qc(h[m], \"captured\", d);\n }\n\n if (c === lf) return lf = null, [k];\n lf = c;\n return [k, d];\n }\n};\n\nfunction nf(a, b) {\n return a === b && (0 !== a || 1 / a === 1 / b) || a !== a && b !== b;\n}\n\nvar of = \"function\" === typeof Object.is ? Object.is : nf,\n pf = Object.prototype.hasOwnProperty;\n\nfunction qf(a, b) {\n if (of(a, b)) return !0;\n if (\"object\" !== typeof a || null === a || \"object\" !== typeof b || null === b) return !1;\n var c = Object.keys(a),\n d = Object.keys(b);\n if (c.length !== d.length) return !1;\n\n for (d = 0; d < c.length; d++) {\n if (!pf.call(b, c[d]) || !of(a[c[d]], b[c[d]])) return !1;\n }\n\n return !0;\n}\n\nvar rf = Ya && \"documentMode\" in document && 11 >= document.documentMode,\n sf = {\n select: {\n phasedRegistrationNames: {\n bubbled: \"onSelect\",\n captured: \"onSelectCapture\"\n },\n dependencies: \"blur contextmenu dragend focus keydown keyup mousedown mouseup selectionchange\".split(\" \")\n }\n},\n tf = null,\n uf = null,\n vf = null,\n wf = !1;\n\nfunction xf(a, b) {\n var c = b.window === b ? b.document : 9 === b.nodeType ? b : b.ownerDocument;\n if (wf || null == tf || tf !== be(c)) return null;\n c = tf;\n \"selectionStart\" in c && ge(c) ? c = {\n start: c.selectionStart,\n end: c.selectionEnd\n } : (c = (c.ownerDocument && c.ownerDocument.defaultView || window).getSelection(), c = {\n anchorNode: c.anchorNode,\n anchorOffset: c.anchorOffset,\n focusNode: c.focusNode,\n focusOffset: c.focusOffset\n });\n return vf && qf(vf, c) ? null : (vf = c, a = E.getPooled(sf.select, uf, a, b), a.type = \"select\", a.target = tf, Sc(a), a);\n}\n\nvar yf = {\n eventTypes: sf,\n extractEvents: function extractEvents(a, b, c, d) {\n var e = d.window === d ? d.document : 9 === d.nodeType ? d : d.ownerDocument,\n f;\n\n if (!(f = !e)) {\n a: {\n e = xc(e);\n f = ja.onSelect;\n\n for (var g = 0; g < f.length; g++) {\n if (!e.has(f[g])) {\n e = !1;\n break a;\n }\n }\n\n e = !0;\n }\n\n f = !e;\n }\n\n if (f) return null;\n e = b ? xe(b) : window;\n\n switch (a) {\n case \"focus\":\n if (Ue(e) || \"true\" === e.contentEditable) tf = e, uf = b, vf = null;\n break;\n\n case \"blur\":\n vf = uf = tf = null;\n break;\n\n case \"mousedown\":\n wf = !0;\n break;\n\n case \"contextmenu\":\n case \"mouseup\":\n case \"dragend\":\n return wf = !1, xf(c, d);\n\n case \"selectionchange\":\n if (rf) break;\n\n case \"keydown\":\n case \"keyup\":\n return xf(c, d);\n }\n\n return null;\n }\n};\nCa.injectEventPluginOrder(\"ResponderEventPlugin SimpleEventPlugin EnterLeaveEventPlugin ChangeEventPlugin SelectEventPlugin BeforeInputEventPlugin\".split(\" \"));\nvar zf = Cc;\nsa = ye;\nua = zf;\nva = xe;\nCa.injectEventPluginsByName({\n SimpleEventPlugin: Ed,\n EnterLeaveEventPlugin: mf,\n ChangeEventPlugin: jf,\n SelectEventPlugin: yf,\n BeforeInputEventPlugin: Se\n});\nnew Set();\nvar Af = [],\n Bf = -1;\n\nfunction G(a) {\n 0 > Bf || (a.current = Af[Bf], Af[Bf] = null, Bf--);\n}\n\nfunction I(a, b) {\n Bf++;\n Af[Bf] = a.current;\n a.current = b;\n}\n\nvar Cf = {},\n J = {\n current: Cf\n},\n K = {\n current: !1\n},\n Df = Cf;\n\nfunction Ef(a, b) {\n var c = a.type.contextTypes;\n if (!c) return Cf;\n var d = a.stateNode;\n if (d && d.__reactInternalMemoizedUnmaskedChildContext === b) return d.__reactInternalMemoizedMaskedChildContext;\n var e = {},\n f;\n\n for (f in c) {\n e[f] = b[f];\n }\n\n d && (a = a.stateNode, a.__reactInternalMemoizedUnmaskedChildContext = b, a.__reactInternalMemoizedMaskedChildContext = e);\n return e;\n}\n\nfunction L(a) {\n a = a.childContextTypes;\n return null !== a && void 0 !== a;\n}\n\nfunction Ff(a) {\n G(K, a);\n G(J, a);\n}\n\nfunction Gf(a) {\n G(K, a);\n G(J, a);\n}\n\nfunction Hf(a, b, c) {\n if (J.current !== Cf) throw Error(u(168));\n I(J, b, a);\n I(K, c, a);\n}\n\nfunction If(a, b, c) {\n var d = a.stateNode;\n a = b.childContextTypes;\n if (\"function\" !== typeof d.getChildContext) return c;\n d = d.getChildContext();\n\n for (var e in d) {\n if (!(e in a)) throw Error(u(108, Wa(b) || \"Unknown\", e));\n }\n\n return n({}, c, {}, d);\n}\n\nfunction Jf(a) {\n var b = a.stateNode;\n b = b && b.__reactInternalMemoizedMergedChildContext || Cf;\n Df = J.current;\n I(J, b, a);\n I(K, K.current, a);\n return !0;\n}\n\nfunction Kf(a, b, c) {\n var d = a.stateNode;\n if (!d) throw Error(u(169));\n c ? (b = If(a, b, Df), d.__reactInternalMemoizedMergedChildContext = b, G(K, a), G(J, a), I(J, b, a)) : G(K, a);\n I(K, c, a);\n}\n\nvar Lf = q.unstable_runWithPriority,\n Mf = q.unstable_scheduleCallback,\n Nf = q.unstable_cancelCallback,\n Of = q.unstable_shouldYield,\n Pf = q.unstable_requestPaint,\n Qf = q.unstable_now,\n Rf = q.unstable_getCurrentPriorityLevel,\n Sf = q.unstable_ImmediatePriority,\n Tf = q.unstable_UserBlockingPriority,\n Uf = q.unstable_NormalPriority,\n Vf = q.unstable_LowPriority,\n Wf = q.unstable_IdlePriority,\n Xf = {},\n Yf = void 0 !== Pf ? Pf : function () {},\n Zf = null,\n $f = null,\n ag = !1,\n bg = Qf(),\n cg = 1E4 > bg ? Qf : function () {\n return Qf() - bg;\n};\n\nfunction dg() {\n switch (Rf()) {\n case Sf:\n return 99;\n\n case Tf:\n return 98;\n\n case Uf:\n return 97;\n\n case Vf:\n return 96;\n\n case Wf:\n return 95;\n\n default:\n throw Error(u(332));\n }\n}\n\nfunction eg(a) {\n switch (a) {\n case 99:\n return Sf;\n\n case 98:\n return Tf;\n\n case 97:\n return Uf;\n\n case 96:\n return Vf;\n\n case 95:\n return Wf;\n\n default:\n throw Error(u(332));\n }\n}\n\nfunction fg(a, b) {\n a = eg(a);\n return Lf(a, b);\n}\n\nfunction gg(a, b, c) {\n a = eg(a);\n return Mf(a, b, c);\n}\n\nfunction hg(a) {\n null === Zf ? (Zf = [a], $f = Mf(Sf, ig)) : Zf.push(a);\n return Xf;\n}\n\nfunction jg() {\n if (null !== $f) {\n var a = $f;\n $f = null;\n Nf(a);\n }\n\n ig();\n}\n\nfunction ig() {\n if (!ag && null !== Zf) {\n ag = !0;\n var a = 0;\n\n try {\n var b = Zf;\n fg(99, function () {\n for (; a < b.length; a++) {\n var c = b[a];\n\n do {\n c = c(!0);\n } while (null !== c);\n }\n });\n Zf = null;\n } catch (c) {\n throw null !== Zf && (Zf = Zf.slice(a + 1)), Mf(Sf, jg), c;\n } finally {\n ag = !1;\n }\n }\n}\n\nvar kg = 3;\n\nfunction lg(a, b, c) {\n c /= 10;\n return 1073741821 - (((1073741821 - a + b / 10) / c | 0) + 1) * c;\n}\n\nfunction mg(a, b) {\n if (a && a.defaultProps) {\n b = n({}, b);\n a = a.defaultProps;\n\n for (var c in a) {\n void 0 === b[c] && (b[c] = a[c]);\n }\n }\n\n return b;\n}\n\nvar ng = {\n current: null\n},\n og = null,\n pg = null,\n qg = null;\n\nfunction rg() {\n qg = pg = og = null;\n}\n\nfunction sg(a, b) {\n var c = a.type._context;\n I(ng, c._currentValue, a);\n c._currentValue = b;\n}\n\nfunction tg(a) {\n var b = ng.current;\n G(ng, a);\n a.type._context._currentValue = b;\n}\n\nfunction ug(a, b) {\n for (; null !== a;) {\n var c = a.alternate;\n if (a.childExpirationTime < b) a.childExpirationTime = b, null !== c && c.childExpirationTime < b && (c.childExpirationTime = b);else if (null !== c && c.childExpirationTime < b) c.childExpirationTime = b;else break;\n a = a.return;\n }\n}\n\nfunction vg(a, b) {\n og = a;\n qg = pg = null;\n a = a.dependencies;\n null !== a && null !== a.firstContext && (a.expirationTime >= b && (wg = !0), a.firstContext = null);\n}\n\nfunction xg(a, b) {\n if (qg !== a && !1 !== b && 0 !== b) {\n if (\"number\" !== typeof b || 1073741823 === b) qg = a, b = 1073741823;\n b = {\n context: a,\n observedBits: b,\n next: null\n };\n\n if (null === pg) {\n if (null === og) throw Error(u(308));\n pg = b;\n og.dependencies = {\n expirationTime: 0,\n firstContext: b,\n responders: null\n };\n } else pg = pg.next = b;\n }\n\n return a._currentValue;\n}\n\nvar yg = !1;\n\nfunction zg(a) {\n return {\n baseState: a,\n firstUpdate: null,\n lastUpdate: null,\n firstCapturedUpdate: null,\n lastCapturedUpdate: null,\n firstEffect: null,\n lastEffect: null,\n firstCapturedEffect: null,\n lastCapturedEffect: null\n };\n}\n\nfunction Ag(a) {\n return {\n baseState: a.baseState,\n firstUpdate: a.firstUpdate,\n lastUpdate: a.lastUpdate,\n firstCapturedUpdate: null,\n lastCapturedUpdate: null,\n firstEffect: null,\n lastEffect: null,\n firstCapturedEffect: null,\n lastCapturedEffect: null\n };\n}\n\nfunction Bg(a, b) {\n return {\n expirationTime: a,\n suspenseConfig: b,\n tag: 0,\n payload: null,\n callback: null,\n next: null,\n nextEffect: null\n };\n}\n\nfunction Cg(a, b) {\n null === a.lastUpdate ? a.firstUpdate = a.lastUpdate = b : (a.lastUpdate.next = b, a.lastUpdate = b);\n}\n\nfunction Dg(a, b) {\n var c = a.alternate;\n\n if (null === c) {\n var d = a.updateQueue;\n var e = null;\n null === d && (d = a.updateQueue = zg(a.memoizedState));\n } else d = a.updateQueue, e = c.updateQueue, null === d ? null === e ? (d = a.updateQueue = zg(a.memoizedState), e = c.updateQueue = zg(c.memoizedState)) : d = a.updateQueue = Ag(e) : null === e && (e = c.updateQueue = Ag(d));\n\n null === e || d === e ? Cg(d, b) : null === d.lastUpdate || null === e.lastUpdate ? (Cg(d, b), Cg(e, b)) : (Cg(d, b), e.lastUpdate = b);\n}\n\nfunction Eg(a, b) {\n var c = a.updateQueue;\n c = null === c ? a.updateQueue = zg(a.memoizedState) : Fg(a, c);\n null === c.lastCapturedUpdate ? c.firstCapturedUpdate = c.lastCapturedUpdate = b : (c.lastCapturedUpdate.next = b, c.lastCapturedUpdate = b);\n}\n\nfunction Fg(a, b) {\n var c = a.alternate;\n null !== c && b === c.updateQueue && (b = a.updateQueue = Ag(b));\n return b;\n}\n\nfunction Gg(a, b, c, d, e, f) {\n switch (c.tag) {\n case 1:\n return a = c.payload, \"function\" === typeof a ? a.call(f, d, e) : a;\n\n case 3:\n a.effectTag = a.effectTag & -4097 | 64;\n\n case 0:\n a = c.payload;\n e = \"function\" === typeof a ? a.call(f, d, e) : a;\n if (null === e || void 0 === e) break;\n return n({}, d, e);\n\n case 2:\n yg = !0;\n }\n\n return d;\n}\n\nfunction Hg(a, b, c, d, e) {\n yg = !1;\n b = Fg(a, b);\n\n for (var f = b.baseState, g = null, h = 0, k = b.firstUpdate, l = f; null !== k;) {\n var m = k.expirationTime;\n m < e ? (null === g && (g = k, f = l), h < m && (h = m)) : (Ig(m, k.suspenseConfig), l = Gg(a, b, k, l, c, d), null !== k.callback && (a.effectTag |= 32, k.nextEffect = null, null === b.lastEffect ? b.firstEffect = b.lastEffect = k : (b.lastEffect.nextEffect = k, b.lastEffect = k)));\n k = k.next;\n }\n\n m = null;\n\n for (k = b.firstCapturedUpdate; null !== k;) {\n var C = k.expirationTime;\n C < e ? (null === m && (m = k, null === g && (f = l)), h < C && (h = C)) : (l = Gg(a, b, k, l, c, d), null !== k.callback && (a.effectTag |= 32, k.nextEffect = null, null === b.lastCapturedEffect ? b.firstCapturedEffect = b.lastCapturedEffect = k : (b.lastCapturedEffect.nextEffect = k, b.lastCapturedEffect = k)));\n k = k.next;\n }\n\n null === g && (b.lastUpdate = null);\n null === m ? b.lastCapturedUpdate = null : a.effectTag |= 32;\n null === g && null === m && (f = l);\n b.baseState = f;\n b.firstUpdate = g;\n b.firstCapturedUpdate = m;\n Jg(h);\n a.expirationTime = h;\n a.memoizedState = l;\n}\n\nfunction Kg(a, b, c) {\n null !== b.firstCapturedUpdate && (null !== b.lastUpdate && (b.lastUpdate.next = b.firstCapturedUpdate, b.lastUpdate = b.lastCapturedUpdate), b.firstCapturedUpdate = b.lastCapturedUpdate = null);\n Lg(b.firstEffect, c);\n b.firstEffect = b.lastEffect = null;\n Lg(b.firstCapturedEffect, c);\n b.firstCapturedEffect = b.lastCapturedEffect = null;\n}\n\nfunction Lg(a, b) {\n for (; null !== a;) {\n var c = a.callback;\n\n if (null !== c) {\n a.callback = null;\n var d = b;\n if (\"function\" !== typeof c) throw Error(u(191, c));\n c.call(d);\n }\n\n a = a.nextEffect;\n }\n}\n\nvar Mg = Ea.ReactCurrentBatchConfig,\n Ng = new aa.Component().refs;\n\nfunction Og(a, b, c, d) {\n b = a.memoizedState;\n c = c(d, b);\n c = null === c || void 0 === c ? b : n({}, b, c);\n a.memoizedState = c;\n d = a.updateQueue;\n null !== d && 0 === a.expirationTime && (d.baseState = c);\n}\n\nvar Sg = {\n isMounted: function isMounted(a) {\n return (a = a._reactInternalFiber) ? ec(a) === a : !1;\n },\n enqueueSetState: function enqueueSetState(a, b, c) {\n a = a._reactInternalFiber;\n var d = Pg(),\n e = Mg.suspense;\n d = Qg(d, a, e);\n e = Bg(d, e);\n e.payload = b;\n void 0 !== c && null !== c && (e.callback = c);\n Dg(a, e);\n Rg(a, d);\n },\n enqueueReplaceState: function enqueueReplaceState(a, b, c) {\n a = a._reactInternalFiber;\n var d = Pg(),\n e = Mg.suspense;\n d = Qg(d, a, e);\n e = Bg(d, e);\n e.tag = 1;\n e.payload = b;\n void 0 !== c && null !== c && (e.callback = c);\n Dg(a, e);\n Rg(a, d);\n },\n enqueueForceUpdate: function enqueueForceUpdate(a, b) {\n a = a._reactInternalFiber;\n var c = Pg(),\n d = Mg.suspense;\n c = Qg(c, a, d);\n d = Bg(c, d);\n d.tag = 2;\n void 0 !== b && null !== b && (d.callback = b);\n Dg(a, d);\n Rg(a, c);\n }\n};\n\nfunction Tg(a, b, c, d, e, f, g) {\n a = a.stateNode;\n return \"function\" === typeof a.shouldComponentUpdate ? a.shouldComponentUpdate(d, f, g) : b.prototype && b.prototype.isPureReactComponent ? !qf(c, d) || !qf(e, f) : !0;\n}\n\nfunction Ug(a, b, c) {\n var d = !1,\n e = Cf;\n var f = b.contextType;\n \"object\" === typeof f && null !== f ? f = xg(f) : (e = L(b) ? Df : J.current, d = b.contextTypes, f = (d = null !== d && void 0 !== d) ? Ef(a, e) : Cf);\n b = new b(c, f);\n a.memoizedState = null !== b.state && void 0 !== b.state ? b.state : null;\n b.updater = Sg;\n a.stateNode = b;\n b._reactInternalFiber = a;\n d && (a = a.stateNode, a.__reactInternalMemoizedUnmaskedChildContext = e, a.__reactInternalMemoizedMaskedChildContext = f);\n return b;\n}\n\nfunction Vg(a, b, c, d) {\n a = b.state;\n \"function\" === typeof b.componentWillReceiveProps && b.componentWillReceiveProps(c, d);\n \"function\" === typeof b.UNSAFE_componentWillReceiveProps && b.UNSAFE_componentWillReceiveProps(c, d);\n b.state !== a && Sg.enqueueReplaceState(b, b.state, null);\n}\n\nfunction Wg(a, b, c, d) {\n var e = a.stateNode;\n e.props = c;\n e.state = a.memoizedState;\n e.refs = Ng;\n var f = b.contextType;\n \"object\" === typeof f && null !== f ? e.context = xg(f) : (f = L(b) ? Df : J.current, e.context = Ef(a, f));\n f = a.updateQueue;\n null !== f && (Hg(a, f, c, e, d), e.state = a.memoizedState);\n f = b.getDerivedStateFromProps;\n \"function\" === typeof f && (Og(a, b, f, c), e.state = a.memoizedState);\n \"function\" === typeof b.getDerivedStateFromProps || \"function\" === typeof e.getSnapshotBeforeUpdate || \"function\" !== typeof e.UNSAFE_componentWillMount && \"function\" !== typeof e.componentWillMount || (b = e.state, \"function\" === typeof e.componentWillMount && e.componentWillMount(), \"function\" === typeof e.UNSAFE_componentWillMount && e.UNSAFE_componentWillMount(), b !== e.state && Sg.enqueueReplaceState(e, e.state, null), f = a.updateQueue, null !== f && (Hg(a, f, c, e, d), e.state = a.memoizedState));\n \"function\" === typeof e.componentDidMount && (a.effectTag |= 4);\n}\n\nvar Xg = Array.isArray;\n\nfunction Yg(a, b, c) {\n a = c.ref;\n\n if (null !== a && \"function\" !== typeof a && \"object\" !== typeof a) {\n if (c._owner) {\n c = c._owner;\n\n if (c) {\n if (1 !== c.tag) throw Error(u(309));\n var d = c.stateNode;\n }\n\n if (!d) throw Error(u(147, a));\n var e = \"\" + a;\n if (null !== b && null !== b.ref && \"function\" === typeof b.ref && b.ref._stringRef === e) return b.ref;\n\n b = function b(a) {\n var b = d.refs;\n b === Ng && (b = d.refs = {});\n null === a ? delete b[e] : b[e] = a;\n };\n\n b._stringRef = e;\n return b;\n }\n\n if (\"string\" !== typeof a) throw Error(u(284));\n if (!c._owner) throw Error(u(290, a));\n }\n\n return a;\n}\n\nfunction Zg(a, b) {\n if (\"textarea\" !== a.type) throw Error(u(31, \"[object Object]\" === Object.prototype.toString.call(b) ? \"object with keys {\" + Object.keys(b).join(\", \") + \"}\" : b, \"\"));\n}\n\nfunction $g(a) {\n function b(b, c) {\n if (a) {\n var d = b.lastEffect;\n null !== d ? (d.nextEffect = c, b.lastEffect = c) : b.firstEffect = b.lastEffect = c;\n c.nextEffect = null;\n c.effectTag = 8;\n }\n }\n\n function c(c, d) {\n if (!a) return null;\n\n for (; null !== d;) {\n b(c, d), d = d.sibling;\n }\n\n return null;\n }\n\n function d(a, b) {\n for (a = new Map(); null !== b;) {\n null !== b.key ? a.set(b.key, b) : a.set(b.index, b), b = b.sibling;\n }\n\n return a;\n }\n\n function e(a, b, c) {\n a = ah(a, b, c);\n a.index = 0;\n a.sibling = null;\n return a;\n }\n\n function f(b, c, d) {\n b.index = d;\n if (!a) return c;\n d = b.alternate;\n if (null !== d) return d = d.index, d < c ? (b.effectTag = 2, c) : d;\n b.effectTag = 2;\n return c;\n }\n\n function g(b) {\n a && null === b.alternate && (b.effectTag = 2);\n return b;\n }\n\n function h(a, b, c, d) {\n if (null === b || 6 !== b.tag) return b = bh(c, a.mode, d), b.return = a, b;\n b = e(b, c, d);\n b.return = a;\n return b;\n }\n\n function k(a, b, c, d) {\n if (null !== b && b.elementType === c.type) return d = e(b, c.props, d), d.ref = Yg(a, b, c), d.return = a, d;\n d = ch(c.type, c.key, c.props, null, a.mode, d);\n d.ref = Yg(a, b, c);\n d.return = a;\n return d;\n }\n\n function l(a, b, c, d) {\n if (null === b || 4 !== b.tag || b.stateNode.containerInfo !== c.containerInfo || b.stateNode.implementation !== c.implementation) return b = dh(c, a.mode, d), b.return = a, b;\n b = e(b, c.children || [], d);\n b.return = a;\n return b;\n }\n\n function m(a, b, c, d, f) {\n if (null === b || 7 !== b.tag) return b = eh(c, a.mode, d, f), b.return = a, b;\n b = e(b, c, d);\n b.return = a;\n return b;\n }\n\n function C(a, b, c) {\n if (\"string\" === typeof b || \"number\" === typeof b) return b = bh(\"\" + b, a.mode, c), b.return = a, b;\n\n if (\"object\" === typeof b && null !== b) {\n switch (b.$$typeof) {\n case Ga:\n return c = ch(b.type, b.key, b.props, null, a.mode, c), c.ref = Yg(a, null, b), c.return = a, c;\n\n case Ha:\n return b = dh(b, a.mode, c), b.return = a, b;\n }\n\n if (Xg(b) || Ua(b)) return b = eh(b, a.mode, c, null), b.return = a, b;\n Zg(a, b);\n }\n\n return null;\n }\n\n function y(a, b, c, d) {\n var e = null !== b ? b.key : null;\n if (\"string\" === typeof c || \"number\" === typeof c) return null !== e ? null : h(a, b, \"\" + c, d);\n\n if (\"object\" === typeof c && null !== c) {\n switch (c.$$typeof) {\n case Ga:\n return c.key === e ? c.type === Ia ? m(a, b, c.props.children, d, e) : k(a, b, c, d) : null;\n\n case Ha:\n return c.key === e ? l(a, b, c, d) : null;\n }\n\n if (Xg(c) || Ua(c)) return null !== e ? null : m(a, b, c, d, null);\n Zg(a, c);\n }\n\n return null;\n }\n\n function H(a, b, c, d, e) {\n if (\"string\" === typeof d || \"number\" === typeof d) return a = a.get(c) || null, h(b, a, \"\" + d, e);\n\n if (\"object\" === typeof d && null !== d) {\n switch (d.$$typeof) {\n case Ga:\n return a = a.get(null === d.key ? c : d.key) || null, d.type === Ia ? m(b, a, d.props.children, e, d.key) : k(b, a, d, e);\n\n case Ha:\n return a = a.get(null === d.key ? c : d.key) || null, l(b, a, d, e);\n }\n\n if (Xg(d) || Ua(d)) return a = a.get(c) || null, m(b, a, d, e, null);\n Zg(b, d);\n }\n\n return null;\n }\n\n function z(e, g, h, k) {\n for (var l = null, m = null, r = g, x = g = 0, A = null; null !== r && x < h.length; x++) {\n r.index > x ? (A = r, r = null) : A = r.sibling;\n var p = y(e, r, h[x], k);\n\n if (null === p) {\n null === r && (r = A);\n break;\n }\n\n a && r && null === p.alternate && b(e, r);\n g = f(p, g, x);\n null === m ? l = p : m.sibling = p;\n m = p;\n r = A;\n }\n\n if (x === h.length) return c(e, r), l;\n\n if (null === r) {\n for (; x < h.length; x++) {\n r = C(e, h[x], k), null !== r && (g = f(r, g, x), null === m ? l = r : m.sibling = r, m = r);\n }\n\n return l;\n }\n\n for (r = d(e, r); x < h.length; x++) {\n A = H(r, e, x, h[x], k), null !== A && (a && null !== A.alternate && r.delete(null === A.key ? x : A.key), g = f(A, g, x), null === m ? l = A : m.sibling = A, m = A);\n }\n\n a && r.forEach(function (a) {\n return b(e, a);\n });\n return l;\n }\n\n function ta(e, g, h, k) {\n var l = Ua(h);\n if (\"function\" !== typeof l) throw Error(u(150));\n h = l.call(h);\n if (null == h) throw Error(u(151));\n\n for (var m = l = null, r = g, x = g = 0, A = null, p = h.next(); null !== r && !p.done; x++, p = h.next()) {\n r.index > x ? (A = r, r = null) : A = r.sibling;\n var z = y(e, r, p.value, k);\n\n if (null === z) {\n null === r && (r = A);\n break;\n }\n\n a && r && null === z.alternate && b(e, r);\n g = f(z, g, x);\n null === m ? l = z : m.sibling = z;\n m = z;\n r = A;\n }\n\n if (p.done) return c(e, r), l;\n\n if (null === r) {\n for (; !p.done; x++, p = h.next()) {\n p = C(e, p.value, k), null !== p && (g = f(p, g, x), null === m ? l = p : m.sibling = p, m = p);\n }\n\n return l;\n }\n\n for (r = d(e, r); !p.done; x++, p = h.next()) {\n p = H(r, e, x, p.value, k), null !== p && (a && null !== p.alternate && r.delete(null === p.key ? x : p.key), g = f(p, g, x), null === m ? l = p : m.sibling = p, m = p);\n }\n\n a && r.forEach(function (a) {\n return b(e, a);\n });\n return l;\n }\n\n return function (a, d, f, h) {\n var k = \"object\" === typeof f && null !== f && f.type === Ia && null === f.key;\n k && (f = f.props.children);\n var l = \"object\" === typeof f && null !== f;\n if (l) switch (f.$$typeof) {\n case Ga:\n a: {\n l = f.key;\n\n for (k = d; null !== k;) {\n if (k.key === l) {\n if (7 === k.tag ? f.type === Ia : k.elementType === f.type) {\n c(a, k.sibling);\n d = e(k, f.type === Ia ? f.props.children : f.props, h);\n d.ref = Yg(a, k, f);\n d.return = a;\n a = d;\n break a;\n } else {\n c(a, k);\n break;\n }\n } else b(a, k);\n k = k.sibling;\n }\n\n f.type === Ia ? (d = eh(f.props.children, a.mode, h, f.key), d.return = a, a = d) : (h = ch(f.type, f.key, f.props, null, a.mode, h), h.ref = Yg(a, d, f), h.return = a, a = h);\n }\n\n return g(a);\n\n case Ha:\n a: {\n for (k = f.key; null !== d;) {\n if (d.key === k) {\n if (4 === d.tag && d.stateNode.containerInfo === f.containerInfo && d.stateNode.implementation === f.implementation) {\n c(a, d.sibling);\n d = e(d, f.children || [], h);\n d.return = a;\n a = d;\n break a;\n } else {\n c(a, d);\n break;\n }\n } else b(a, d);\n d = d.sibling;\n }\n\n d = dh(f, a.mode, h);\n d.return = a;\n a = d;\n }\n\n return g(a);\n }\n if (\"string\" === typeof f || \"number\" === typeof f) return f = \"\" + f, null !== d && 6 === d.tag ? (c(a, d.sibling), d = e(d, f, h), d.return = a, a = d) : (c(a, d), d = bh(f, a.mode, h), d.return = a, a = d), g(a);\n if (Xg(f)) return z(a, d, f, h);\n if (Ua(f)) return ta(a, d, f, h);\n l && Zg(a, f);\n if (\"undefined\" === typeof f && !k) switch (a.tag) {\n case 1:\n case 0:\n throw a = a.type, Error(u(152, a.displayName || a.name || \"Component\"));\n }\n return c(a, d);\n };\n}\n\nvar fh = $g(!0),\n gh = $g(!1),\n hh = {},\n ih = {\n current: hh\n},\n jh = {\n current: hh\n},\n kh = {\n current: hh\n};\n\nfunction lh(a) {\n if (a === hh) throw Error(u(174));\n return a;\n}\n\nfunction mh(a, b) {\n I(kh, b, a);\n I(jh, a, a);\n I(ih, hh, a);\n var c = b.nodeType;\n\n switch (c) {\n case 9:\n case 11:\n b = (b = b.documentElement) ? b.namespaceURI : Qb(null, \"\");\n break;\n\n default:\n c = 8 === c ? b.parentNode : b, b = c.namespaceURI || null, c = c.tagName, b = Qb(b, c);\n }\n\n G(ih, a);\n I(ih, b, a);\n}\n\nfunction nh(a) {\n G(ih, a);\n G(jh, a);\n G(kh, a);\n}\n\nfunction oh(a) {\n lh(kh.current);\n var b = lh(ih.current);\n var c = Qb(b, a.type);\n b !== c && (I(jh, a, a), I(ih, c, a));\n}\n\nfunction ph(a) {\n jh.current === a && (G(ih, a), G(jh, a));\n}\n\nvar M = {\n current: 0\n};\n\nfunction qh(a) {\n for (var b = a; null !== b;) {\n if (13 === b.tag) {\n var c = b.memoizedState;\n if (null !== c && (c = c.dehydrated, null === c || c.data === je || c.data === ke)) return b;\n } else if (19 === b.tag && void 0 !== b.memoizedProps.revealOrder) {\n if (0 !== (b.effectTag & 64)) return b;\n } else if (null !== b.child) {\n b.child.return = b;\n b = b.child;\n continue;\n }\n\n if (b === a) break;\n\n for (; null === b.sibling;) {\n if (null === b.return || b.return === a) return null;\n b = b.return;\n }\n\n b.sibling.return = b.return;\n b = b.sibling;\n }\n\n return null;\n}\n\nfunction rh(a, b) {\n return {\n responder: a,\n props: b\n };\n}\n\nvar sh = Ea.ReactCurrentDispatcher,\n N = Ea.ReactCurrentBatchConfig,\n th = 0,\n uh = null,\n O = null,\n vh = null,\n wh = null,\n P = null,\n xh = null,\n yh = 0,\n zh = null,\n Ah = 0,\n Bh = !1,\n Ch = null,\n Gh = 0;\n\nfunction Q() {\n throw Error(u(321));\n}\n\nfunction Hh(a, b) {\n if (null === b) return !1;\n\n for (var c = 0; c < b.length && c < a.length; c++) {\n if (!of(a[c], b[c])) return !1;\n }\n\n return !0;\n}\n\nfunction Ih(a, b, c, d, e, f) {\n th = f;\n uh = b;\n vh = null !== a ? a.memoizedState : null;\n sh.current = null === vh ? Jh : Kh;\n b = c(d, e);\n\n if (Bh) {\n do {\n Bh = !1, Gh += 1, vh = null !== a ? a.memoizedState : null, xh = wh, zh = P = O = null, sh.current = Kh, b = c(d, e);\n } while (Bh);\n\n Ch = null;\n Gh = 0;\n }\n\n sh.current = Lh;\n a = uh;\n a.memoizedState = wh;\n a.expirationTime = yh;\n a.updateQueue = zh;\n a.effectTag |= Ah;\n a = null !== O && null !== O.next;\n th = 0;\n xh = P = wh = vh = O = uh = null;\n yh = 0;\n zh = null;\n Ah = 0;\n if (a) throw Error(u(300));\n return b;\n}\n\nfunction Mh() {\n sh.current = Lh;\n th = 0;\n xh = P = wh = vh = O = uh = null;\n yh = 0;\n zh = null;\n Ah = 0;\n Bh = !1;\n Ch = null;\n Gh = 0;\n}\n\nfunction Nh() {\n var a = {\n memoizedState: null,\n baseState: null,\n queue: null,\n baseUpdate: null,\n next: null\n };\n null === P ? wh = P = a : P = P.next = a;\n return P;\n}\n\nfunction Oh() {\n if (null !== xh) P = xh, xh = P.next, O = vh, vh = null !== O ? O.next : null;else {\n if (null === vh) throw Error(u(310));\n O = vh;\n var a = {\n memoizedState: O.memoizedState,\n baseState: O.baseState,\n queue: O.queue,\n baseUpdate: O.baseUpdate,\n next: null\n };\n P = null === P ? wh = a : P.next = a;\n vh = O.next;\n }\n return P;\n}\n\nfunction Ph(a, b) {\n return \"function\" === typeof b ? b(a) : b;\n}\n\nfunction Qh(a) {\n var b = Oh(),\n c = b.queue;\n if (null === c) throw Error(u(311));\n c.lastRenderedReducer = a;\n\n if (0 < Gh) {\n var d = c.dispatch;\n\n if (null !== Ch) {\n var e = Ch.get(c);\n\n if (void 0 !== e) {\n Ch.delete(c);\n var f = b.memoizedState;\n\n do {\n f = a(f, e.action), e = e.next;\n } while (null !== e);\n\n of(f, b.memoizedState) || (wg = !0);\n b.memoizedState = f;\n b.baseUpdate === c.last && (b.baseState = f);\n c.lastRenderedState = f;\n return [f, d];\n }\n }\n\n return [b.memoizedState, d];\n }\n\n d = c.last;\n var g = b.baseUpdate;\n f = b.baseState;\n null !== g ? (null !== d && (d.next = null), d = g.next) : d = null !== d ? d.next : null;\n\n if (null !== d) {\n var h = e = null,\n k = d,\n l = !1;\n\n do {\n var m = k.expirationTime;\n m < th ? (l || (l = !0, h = g, e = f), m > yh && (yh = m, Jg(yh))) : (Ig(m, k.suspenseConfig), f = k.eagerReducer === a ? k.eagerState : a(f, k.action));\n g = k;\n k = k.next;\n } while (null !== k && k !== d);\n\n l || (h = g, e = f);\n of(f, b.memoizedState) || (wg = !0);\n b.memoizedState = f;\n b.baseUpdate = h;\n b.baseState = e;\n c.lastRenderedState = f;\n }\n\n return [b.memoizedState, c.dispatch];\n}\n\nfunction Rh(a) {\n var b = Nh();\n \"function\" === typeof a && (a = a());\n b.memoizedState = b.baseState = a;\n a = b.queue = {\n last: null,\n dispatch: null,\n lastRenderedReducer: Ph,\n lastRenderedState: a\n };\n a = a.dispatch = Sh.bind(null, uh, a);\n return [b.memoizedState, a];\n}\n\nfunction Th(a) {\n return Qh(Ph, a);\n}\n\nfunction Uh(a, b, c, d) {\n a = {\n tag: a,\n create: b,\n destroy: c,\n deps: d,\n next: null\n };\n null === zh ? (zh = {\n lastEffect: null\n }, zh.lastEffect = a.next = a) : (b = zh.lastEffect, null === b ? zh.lastEffect = a.next = a : (c = b.next, b.next = a, a.next = c, zh.lastEffect = a));\n return a;\n}\n\nfunction Vh(a, b, c, d) {\n var e = Nh();\n Ah |= a;\n e.memoizedState = Uh(b, c, void 0, void 0 === d ? null : d);\n}\n\nfunction Wh(a, b, c, d) {\n var e = Oh();\n d = void 0 === d ? null : d;\n var f = void 0;\n\n if (null !== O) {\n var g = O.memoizedState;\n f = g.destroy;\n\n if (null !== d && Hh(d, g.deps)) {\n Uh(0, c, f, d);\n return;\n }\n }\n\n Ah |= a;\n e.memoizedState = Uh(b, c, f, d);\n}\n\nfunction Xh(a, b) {\n return Vh(516, 192, a, b);\n}\n\nfunction Yh(a, b) {\n return Wh(516, 192, a, b);\n}\n\nfunction Zh(a, b) {\n if (\"function\" === typeof b) return a = a(), b(a), function () {\n b(null);\n };\n if (null !== b && void 0 !== b) return a = a(), b.current = a, function () {\n b.current = null;\n };\n}\n\nfunction $h() {}\n\nfunction ai(a, b) {\n Nh().memoizedState = [a, void 0 === b ? null : b];\n return a;\n}\n\nfunction bi(a, b) {\n var c = Oh();\n b = void 0 === b ? null : b;\n var d = c.memoizedState;\n if (null !== d && null !== b && Hh(b, d[1])) return d[0];\n c.memoizedState = [a, b];\n return a;\n}\n\nfunction Sh(a, b, c) {\n if (!(25 > Gh)) throw Error(u(301));\n var d = a.alternate;\n if (a === uh || null !== d && d === uh) {\n if (Bh = !0, a = {\n expirationTime: th,\n suspenseConfig: null,\n action: c,\n eagerReducer: null,\n eagerState: null,\n next: null\n }, null === Ch && (Ch = new Map()), c = Ch.get(b), void 0 === c) Ch.set(b, a);else {\n for (b = c; null !== b.next;) {\n b = b.next;\n }\n\n b.next = a;\n }\n } else {\n var e = Pg(),\n f = Mg.suspense;\n e = Qg(e, a, f);\n f = {\n expirationTime: e,\n suspenseConfig: f,\n action: c,\n eagerReducer: null,\n eagerState: null,\n next: null\n };\n var g = b.last;\n if (null === g) f.next = f;else {\n var h = g.next;\n null !== h && (f.next = h);\n g.next = f;\n }\n b.last = f;\n if (0 === a.expirationTime && (null === d || 0 === d.expirationTime) && (d = b.lastRenderedReducer, null !== d)) try {\n var k = b.lastRenderedState,\n l = d(k, c);\n f.eagerReducer = d;\n f.eagerState = l;\n if (of(l, k)) return;\n } catch (m) {} finally {}\n Rg(a, e);\n }\n}\n\nvar Lh = {\n readContext: xg,\n useCallback: Q,\n useContext: Q,\n useEffect: Q,\n useImperativeHandle: Q,\n useLayoutEffect: Q,\n useMemo: Q,\n useReducer: Q,\n useRef: Q,\n useState: Q,\n useDebugValue: Q,\n useResponder: Q,\n useDeferredValue: Q,\n useTransition: Q\n},\n Jh = {\n readContext: xg,\n useCallback: ai,\n useContext: xg,\n useEffect: Xh,\n useImperativeHandle: function useImperativeHandle(a, b, c) {\n c = null !== c && void 0 !== c ? c.concat([a]) : null;\n return Vh(4, 36, Zh.bind(null, b, a), c);\n },\n useLayoutEffect: function useLayoutEffect(a, b) {\n return Vh(4, 36, a, b);\n },\n useMemo: function useMemo(a, b) {\n var c = Nh();\n b = void 0 === b ? null : b;\n a = a();\n c.memoizedState = [a, b];\n return a;\n },\n useReducer: function useReducer(a, b, c) {\n var d = Nh();\n b = void 0 !== c ? c(b) : b;\n d.memoizedState = d.baseState = b;\n a = d.queue = {\n last: null,\n dispatch: null,\n lastRenderedReducer: a,\n lastRenderedState: b\n };\n a = a.dispatch = Sh.bind(null, uh, a);\n return [d.memoizedState, a];\n },\n useRef: function useRef(a) {\n var b = Nh();\n a = {\n current: a\n };\n return b.memoizedState = a;\n },\n useState: Rh,\n useDebugValue: $h,\n useResponder: rh,\n useDeferredValue: function useDeferredValue(a, b) {\n var c = Rh(a),\n d = c[0],\n e = c[1];\n Xh(function () {\n q.unstable_next(function () {\n var c = N.suspense;\n N.suspense = void 0 === b ? null : b;\n\n try {\n e(a);\n } finally {\n N.suspense = c;\n }\n });\n }, [a, b]);\n return d;\n },\n useTransition: function useTransition(a) {\n var b = Rh(!1),\n c = b[0],\n d = b[1];\n return [ai(function (b) {\n d(!0);\n q.unstable_next(function () {\n var c = N.suspense;\n N.suspense = void 0 === a ? null : a;\n\n try {\n d(!1), b();\n } finally {\n N.suspense = c;\n }\n });\n }, [a, c]), c];\n }\n},\n Kh = {\n readContext: xg,\n useCallback: bi,\n useContext: xg,\n useEffect: Yh,\n useImperativeHandle: function useImperativeHandle(a, b, c) {\n c = null !== c && void 0 !== c ? c.concat([a]) : null;\n return Wh(4, 36, Zh.bind(null, b, a), c);\n },\n useLayoutEffect: function useLayoutEffect(a, b) {\n return Wh(4, 36, a, b);\n },\n useMemo: function useMemo(a, b) {\n var c = Oh();\n b = void 0 === b ? null : b;\n var d = c.memoizedState;\n if (null !== d && null !== b && Hh(b, d[1])) return d[0];\n a = a();\n c.memoizedState = [a, b];\n return a;\n },\n useReducer: Qh,\n useRef: function useRef() {\n return Oh().memoizedState;\n },\n useState: Th,\n useDebugValue: $h,\n useResponder: rh,\n useDeferredValue: function useDeferredValue(a, b) {\n var c = Th(a),\n d = c[0],\n e = c[1];\n Yh(function () {\n q.unstable_next(function () {\n var c = N.suspense;\n N.suspense = void 0 === b ? null : b;\n\n try {\n e(a);\n } finally {\n N.suspense = c;\n }\n });\n }, [a, b]);\n return d;\n },\n useTransition: function useTransition(a) {\n var b = Th(!1),\n c = b[0],\n d = b[1];\n return [bi(function (b) {\n d(!0);\n q.unstable_next(function () {\n var c = N.suspense;\n N.suspense = void 0 === a ? null : a;\n\n try {\n d(!1), b();\n } finally {\n N.suspense = c;\n }\n });\n }, [a, c]), c];\n }\n},\n ci = null,\n di = null,\n ei = !1;\n\nfunction fi(a, b) {\n var c = gi(5, null, null, 0);\n c.elementType = \"DELETED\";\n c.type = \"DELETED\";\n c.stateNode = b;\n c.return = a;\n c.effectTag = 8;\n null !== a.lastEffect ? (a.lastEffect.nextEffect = c, a.lastEffect = c) : a.firstEffect = a.lastEffect = c;\n}\n\nfunction hi(a, b) {\n switch (a.tag) {\n case 5:\n var c = a.type;\n b = 1 !== b.nodeType || c.toLowerCase() !== b.nodeName.toLowerCase() ? null : b;\n return null !== b ? (a.stateNode = b, !0) : !1;\n\n case 6:\n return b = \"\" === a.pendingProps || 3 !== b.nodeType ? null : b, null !== b ? (a.stateNode = b, !0) : !1;\n\n case 13:\n return !1;\n\n default:\n return !1;\n }\n}\n\nfunction ii(a) {\n if (ei) {\n var b = di;\n\n if (b) {\n var c = b;\n\n if (!hi(a, b)) {\n b = re(c.nextSibling);\n\n if (!b || !hi(a, b)) {\n a.effectTag = a.effectTag & -1025 | 2;\n ei = !1;\n ci = a;\n return;\n }\n\n fi(ci, c);\n }\n\n ci = a;\n di = re(b.firstChild);\n } else a.effectTag = a.effectTag & -1025 | 2, ei = !1, ci = a;\n }\n}\n\nfunction ji(a) {\n for (a = a.return; null !== a && 5 !== a.tag && 3 !== a.tag && 13 !== a.tag;) {\n a = a.return;\n }\n\n ci = a;\n}\n\nfunction ki(a) {\n if (a !== ci) return !1;\n if (!ei) return ji(a), ei = !0, !1;\n var b = a.type;\n if (5 !== a.tag || \"head\" !== b && \"body\" !== b && !oe(b, a.memoizedProps)) for (b = di; b;) {\n fi(a, b), b = re(b.nextSibling);\n }\n ji(a);\n\n if (13 === a.tag) {\n a = a.memoizedState;\n a = null !== a ? a.dehydrated : null;\n if (!a) throw Error(u(317));\n\n a: {\n a = a.nextSibling;\n\n for (b = 0; a;) {\n if (8 === a.nodeType) {\n var c = a.data;\n\n if (c === ie) {\n if (0 === b) {\n di = re(a.nextSibling);\n break a;\n }\n\n b--;\n } else c !== he && c !== ke && c !== je || b++;\n }\n\n a = a.nextSibling;\n }\n\n di = null;\n }\n } else di = ci ? re(a.stateNode.nextSibling) : null;\n\n return !0;\n}\n\nfunction li() {\n di = ci = null;\n ei = !1;\n}\n\nvar mi = Ea.ReactCurrentOwner,\n wg = !1;\n\nfunction R(a, b, c, d) {\n b.child = null === a ? gh(b, null, c, d) : fh(b, a.child, c, d);\n}\n\nfunction ni(a, b, c, d, e) {\n c = c.render;\n var f = b.ref;\n vg(b, e);\n d = Ih(a, b, c, d, f, e);\n if (null !== a && !wg) return b.updateQueue = a.updateQueue, b.effectTag &= -517, a.expirationTime <= e && (a.expirationTime = 0), oi(a, b, e);\n b.effectTag |= 1;\n R(a, b, d, e);\n return b.child;\n}\n\nfunction pi(a, b, c, d, e, f) {\n if (null === a) {\n var g = c.type;\n if (\"function\" === typeof g && !qi(g) && void 0 === g.defaultProps && null === c.compare && void 0 === c.defaultProps) return b.tag = 15, b.type = g, ri(a, b, g, d, e, f);\n a = ch(c.type, null, d, null, b.mode, f);\n a.ref = b.ref;\n a.return = b;\n return b.child = a;\n }\n\n g = a.child;\n if (e < f && (e = g.memoizedProps, c = c.compare, c = null !== c ? c : qf, c(e, d) && a.ref === b.ref)) return oi(a, b, f);\n b.effectTag |= 1;\n a = ah(g, d, f);\n a.ref = b.ref;\n a.return = b;\n return b.child = a;\n}\n\nfunction ri(a, b, c, d, e, f) {\n return null !== a && qf(a.memoizedProps, d) && a.ref === b.ref && (wg = !1, e < f) ? oi(a, b, f) : si(a, b, c, d, f);\n}\n\nfunction ti(a, b) {\n var c = b.ref;\n if (null === a && null !== c || null !== a && a.ref !== c) b.effectTag |= 128;\n}\n\nfunction si(a, b, c, d, e) {\n var f = L(c) ? Df : J.current;\n f = Ef(b, f);\n vg(b, e);\n c = Ih(a, b, c, d, f, e);\n if (null !== a && !wg) return b.updateQueue = a.updateQueue, b.effectTag &= -517, a.expirationTime <= e && (a.expirationTime = 0), oi(a, b, e);\n b.effectTag |= 1;\n R(a, b, c, e);\n return b.child;\n}\n\nfunction ui(a, b, c, d, e) {\n if (L(c)) {\n var f = !0;\n Jf(b);\n } else f = !1;\n\n vg(b, e);\n if (null === b.stateNode) null !== a && (a.alternate = null, b.alternate = null, b.effectTag |= 2), Ug(b, c, d, e), Wg(b, c, d, e), d = !0;else if (null === a) {\n var g = b.stateNode,\n h = b.memoizedProps;\n g.props = h;\n var k = g.context,\n l = c.contextType;\n \"object\" === typeof l && null !== l ? l = xg(l) : (l = L(c) ? Df : J.current, l = Ef(b, l));\n var m = c.getDerivedStateFromProps,\n C = \"function\" === typeof m || \"function\" === typeof g.getSnapshotBeforeUpdate;\n C || \"function\" !== typeof g.UNSAFE_componentWillReceiveProps && \"function\" !== typeof g.componentWillReceiveProps || (h !== d || k !== l) && Vg(b, g, d, l);\n yg = !1;\n var y = b.memoizedState;\n k = g.state = y;\n var H = b.updateQueue;\n null !== H && (Hg(b, H, d, g, e), k = b.memoizedState);\n h !== d || y !== k || K.current || yg ? (\"function\" === typeof m && (Og(b, c, m, d), k = b.memoizedState), (h = yg || Tg(b, c, h, d, y, k, l)) ? (C || \"function\" !== typeof g.UNSAFE_componentWillMount && \"function\" !== typeof g.componentWillMount || (\"function\" === typeof g.componentWillMount && g.componentWillMount(), \"function\" === typeof g.UNSAFE_componentWillMount && g.UNSAFE_componentWillMount()), \"function\" === typeof g.componentDidMount && (b.effectTag |= 4)) : (\"function\" === typeof g.componentDidMount && (b.effectTag |= 4), b.memoizedProps = d, b.memoizedState = k), g.props = d, g.state = k, g.context = l, d = h) : (\"function\" === typeof g.componentDidMount && (b.effectTag |= 4), d = !1);\n } else g = b.stateNode, h = b.memoizedProps, g.props = b.type === b.elementType ? h : mg(b.type, h), k = g.context, l = c.contextType, \"object\" === typeof l && null !== l ? l = xg(l) : (l = L(c) ? Df : J.current, l = Ef(b, l)), m = c.getDerivedStateFromProps, (C = \"function\" === typeof m || \"function\" === typeof g.getSnapshotBeforeUpdate) || \"function\" !== typeof g.UNSAFE_componentWillReceiveProps && \"function\" !== typeof g.componentWillReceiveProps || (h !== d || k !== l) && Vg(b, g, d, l), yg = !1, k = b.memoizedState, y = g.state = k, H = b.updateQueue, null !== H && (Hg(b, H, d, g, e), y = b.memoizedState), h !== d || k !== y || K.current || yg ? (\"function\" === typeof m && (Og(b, c, m, d), y = b.memoizedState), (m = yg || Tg(b, c, h, d, k, y, l)) ? (C || \"function\" !== typeof g.UNSAFE_componentWillUpdate && \"function\" !== typeof g.componentWillUpdate || (\"function\" === typeof g.componentWillUpdate && g.componentWillUpdate(d, y, l), \"function\" === typeof g.UNSAFE_componentWillUpdate && g.UNSAFE_componentWillUpdate(d, y, l)), \"function\" === typeof g.componentDidUpdate && (b.effectTag |= 4), \"function\" === typeof g.getSnapshotBeforeUpdate && (b.effectTag |= 256)) : (\"function\" !== typeof g.componentDidUpdate || h === a.memoizedProps && k === a.memoizedState || (b.effectTag |= 4), \"function\" !== typeof g.getSnapshotBeforeUpdate || h === a.memoizedProps && k === a.memoizedState || (b.effectTag |= 256), b.memoizedProps = d, b.memoizedState = y), g.props = d, g.state = y, g.context = l, d = m) : (\"function\" !== typeof g.componentDidUpdate || h === a.memoizedProps && k === a.memoizedState || (b.effectTag |= 4), \"function\" !== typeof g.getSnapshotBeforeUpdate || h === a.memoizedProps && k === a.memoizedState || (b.effectTag |= 256), d = !1);\n return vi(a, b, c, d, f, e);\n}\n\nfunction vi(a, b, c, d, e, f) {\n ti(a, b);\n var g = 0 !== (b.effectTag & 64);\n if (!d && !g) return e && Kf(b, c, !1), oi(a, b, f);\n d = b.stateNode;\n mi.current = b;\n var h = g && \"function\" !== typeof c.getDerivedStateFromError ? null : d.render();\n b.effectTag |= 1;\n null !== a && g ? (b.child = fh(b, a.child, null, f), b.child = fh(b, null, h, f)) : R(a, b, h, f);\n b.memoizedState = d.state;\n e && Kf(b, c, !0);\n return b.child;\n}\n\nfunction wi(a) {\n var b = a.stateNode;\n b.pendingContext ? Hf(a, b.pendingContext, b.pendingContext !== b.context) : b.context && Hf(a, b.context, !1);\n mh(a, b.containerInfo);\n}\n\nvar xi = {\n dehydrated: null,\n retryTime: 0\n};\n\nfunction yi(a, b, c) {\n var d = b.mode,\n e = b.pendingProps,\n f = M.current,\n g = !1,\n h;\n (h = 0 !== (b.effectTag & 64)) || (h = 0 !== (f & 2) && (null === a || null !== a.memoizedState));\n h ? (g = !0, b.effectTag &= -65) : null !== a && null === a.memoizedState || void 0 === e.fallback || !0 === e.unstable_avoidThisFallback || (f |= 1);\n I(M, f & 1, b);\n\n if (null === a) {\n void 0 !== e.fallback && ii(b);\n\n if (g) {\n g = e.fallback;\n e = eh(null, d, 0, null);\n e.return = b;\n if (0 === (b.mode & 2)) for (a = null !== b.memoizedState ? b.child.child : b.child, e.child = a; null !== a;) {\n a.return = e, a = a.sibling;\n }\n c = eh(g, d, c, null);\n c.return = b;\n e.sibling = c;\n b.memoizedState = xi;\n b.child = e;\n return c;\n }\n\n d = e.children;\n b.memoizedState = null;\n return b.child = gh(b, null, d, c);\n }\n\n if (null !== a.memoizedState) {\n a = a.child;\n d = a.sibling;\n\n if (g) {\n e = e.fallback;\n c = ah(a, a.pendingProps, 0);\n c.return = b;\n if (0 === (b.mode & 2) && (g = null !== b.memoizedState ? b.child.child : b.child, g !== a.child)) for (c.child = g; null !== g;) {\n g.return = c, g = g.sibling;\n }\n d = ah(d, e, d.expirationTime);\n d.return = b;\n c.sibling = d;\n c.childExpirationTime = 0;\n b.memoizedState = xi;\n b.child = c;\n return d;\n }\n\n c = fh(b, a.child, e.children, c);\n b.memoizedState = null;\n return b.child = c;\n }\n\n a = a.child;\n\n if (g) {\n g = e.fallback;\n e = eh(null, d, 0, null);\n e.return = b;\n e.child = a;\n null !== a && (a.return = e);\n if (0 === (b.mode & 2)) for (a = null !== b.memoizedState ? b.child.child : b.child, e.child = a; null !== a;) {\n a.return = e, a = a.sibling;\n }\n c = eh(g, d, c, null);\n c.return = b;\n e.sibling = c;\n c.effectTag |= 2;\n e.childExpirationTime = 0;\n b.memoizedState = xi;\n b.child = e;\n return c;\n }\n\n b.memoizedState = null;\n return b.child = fh(b, a, e.children, c);\n}\n\nfunction zi(a, b) {\n a.expirationTime < b && (a.expirationTime = b);\n var c = a.alternate;\n null !== c && c.expirationTime < b && (c.expirationTime = b);\n ug(a.return, b);\n}\n\nfunction Ai(a, b, c, d, e, f) {\n var g = a.memoizedState;\n null === g ? a.memoizedState = {\n isBackwards: b,\n rendering: null,\n last: d,\n tail: c,\n tailExpiration: 0,\n tailMode: e,\n lastEffect: f\n } : (g.isBackwards = b, g.rendering = null, g.last = d, g.tail = c, g.tailExpiration = 0, g.tailMode = e, g.lastEffect = f);\n}\n\nfunction Bi(a, b, c) {\n var d = b.pendingProps,\n e = d.revealOrder,\n f = d.tail;\n R(a, b, d.children, c);\n d = M.current;\n if (0 !== (d & 2)) d = d & 1 | 2, b.effectTag |= 64;else {\n if (null !== a && 0 !== (a.effectTag & 64)) a: for (a = b.child; null !== a;) {\n if (13 === a.tag) null !== a.memoizedState && zi(a, c);else if (19 === a.tag) zi(a, c);else if (null !== a.child) {\n a.child.return = a;\n a = a.child;\n continue;\n }\n if (a === b) break a;\n\n for (; null === a.sibling;) {\n if (null === a.return || a.return === b) break a;\n a = a.return;\n }\n\n a.sibling.return = a.return;\n a = a.sibling;\n }\n d &= 1;\n }\n I(M, d, b);\n if (0 === (b.mode & 2)) b.memoizedState = null;else switch (e) {\n case \"forwards\":\n c = b.child;\n\n for (e = null; null !== c;) {\n a = c.alternate, null !== a && null === qh(a) && (e = c), c = c.sibling;\n }\n\n c = e;\n null === c ? (e = b.child, b.child = null) : (e = c.sibling, c.sibling = null);\n Ai(b, !1, e, c, f, b.lastEffect);\n break;\n\n case \"backwards\":\n c = null;\n e = b.child;\n\n for (b.child = null; null !== e;) {\n a = e.alternate;\n\n if (null !== a && null === qh(a)) {\n b.child = e;\n break;\n }\n\n a = e.sibling;\n e.sibling = c;\n c = e;\n e = a;\n }\n\n Ai(b, !0, c, null, f, b.lastEffect);\n break;\n\n case \"together\":\n Ai(b, !1, null, null, void 0, b.lastEffect);\n break;\n\n default:\n b.memoizedState = null;\n }\n return b.child;\n}\n\nfunction oi(a, b, c) {\n null !== a && (b.dependencies = a.dependencies);\n var d = b.expirationTime;\n 0 !== d && Jg(d);\n if (b.childExpirationTime < c) return null;\n if (null !== a && b.child !== a.child) throw Error(u(153));\n\n if (null !== b.child) {\n a = b.child;\n c = ah(a, a.pendingProps, a.expirationTime);\n b.child = c;\n\n for (c.return = b; null !== a.sibling;) {\n a = a.sibling, c = c.sibling = ah(a, a.pendingProps, a.expirationTime), c.return = b;\n }\n\n c.sibling = null;\n }\n\n return b.child;\n}\n\nfunction Ci(a) {\n a.effectTag |= 4;\n}\n\nvar Hi, Ii, Ji, Ki;\n\nHi = function Hi(a, b) {\n for (var c = b.child; null !== c;) {\n if (5 === c.tag || 6 === c.tag) a.appendChild(c.stateNode);else if (4 !== c.tag && null !== c.child) {\n c.child.return = c;\n c = c.child;\n continue;\n }\n if (c === b) break;\n\n for (; null === c.sibling;) {\n if (null === c.return || c.return === b) return;\n c = c.return;\n }\n\n c.sibling.return = c.return;\n c = c.sibling;\n }\n};\n\nIi = function Ii() {};\n\nJi = function Ji(a, b, c, d, e) {\n var f = a.memoizedProps;\n\n if (f !== d) {\n var g = b.stateNode;\n lh(ih.current);\n a = null;\n\n switch (c) {\n case \"input\":\n f = Ab(g, f);\n d = Ab(g, d);\n a = [];\n break;\n\n case \"option\":\n f = Ib(g, f);\n d = Ib(g, d);\n a = [];\n break;\n\n case \"select\":\n f = n({}, f, {\n value: void 0\n });\n d = n({}, d, {\n value: void 0\n });\n a = [];\n break;\n\n case \"textarea\":\n f = Kb(g, f);\n d = Kb(g, d);\n a = [];\n break;\n\n default:\n \"function\" !== typeof f.onClick && \"function\" === typeof d.onClick && (g.onclick = ae);\n }\n\n Yd(c, d);\n var h, k;\n c = null;\n\n for (h in f) {\n if (!d.hasOwnProperty(h) && f.hasOwnProperty(h) && null != f[h]) if (\"style\" === h) for (k in g = f[h], g) {\n g.hasOwnProperty(k) && (c || (c = {}), c[k] = \"\");\n } else \"dangerouslySetInnerHTML\" !== h && \"children\" !== h && \"suppressContentEditableWarning\" !== h && \"suppressHydrationWarning\" !== h && \"autoFocus\" !== h && (ia.hasOwnProperty(h) ? a || (a = []) : (a = a || []).push(h, null));\n }\n\n for (h in d) {\n var l = d[h];\n g = null != f ? f[h] : void 0;\n if (d.hasOwnProperty(h) && l !== g && (null != l || null != g)) if (\"style\" === h) {\n if (g) {\n for (k in g) {\n !g.hasOwnProperty(k) || l && l.hasOwnProperty(k) || (c || (c = {}), c[k] = \"\");\n }\n\n for (k in l) {\n l.hasOwnProperty(k) && g[k] !== l[k] && (c || (c = {}), c[k] = l[k]);\n }\n } else c || (a || (a = []), a.push(h, c)), c = l;\n } else \"dangerouslySetInnerHTML\" === h ? (l = l ? l.__html : void 0, g = g ? g.__html : void 0, null != l && g !== l && (a = a || []).push(h, \"\" + l)) : \"children\" === h ? g === l || \"string\" !== typeof l && \"number\" !== typeof l || (a = a || []).push(h, \"\" + l) : \"suppressContentEditableWarning\" !== h && \"suppressHydrationWarning\" !== h && (ia.hasOwnProperty(h) ? (null != l && $d(e, h), a || g === l || (a = [])) : (a = a || []).push(h, l));\n }\n\n c && (a = a || []).push(\"style\", c);\n e = a;\n (b.updateQueue = e) && Ci(b);\n }\n};\n\nKi = function Ki(a, b, c, d) {\n c !== d && Ci(b);\n};\n\nfunction Li(a, b) {\n switch (a.tailMode) {\n case \"hidden\":\n b = a.tail;\n\n for (var c = null; null !== b;) {\n null !== b.alternate && (c = b), b = b.sibling;\n }\n\n null === c ? a.tail = null : c.sibling = null;\n break;\n\n case \"collapsed\":\n c = a.tail;\n\n for (var d = null; null !== c;) {\n null !== c.alternate && (d = c), c = c.sibling;\n }\n\n null === d ? b || null === a.tail ? a.tail = null : a.tail.sibling = null : d.sibling = null;\n }\n}\n\nfunction Mi(a) {\n switch (a.tag) {\n case 1:\n L(a.type) && Ff(a);\n var b = a.effectTag;\n return b & 4096 ? (a.effectTag = b & -4097 | 64, a) : null;\n\n case 3:\n nh(a);\n Gf(a);\n b = a.effectTag;\n if (0 !== (b & 64)) throw Error(u(285));\n a.effectTag = b & -4097 | 64;\n return a;\n\n case 5:\n return ph(a), null;\n\n case 13:\n return G(M, a), b = a.effectTag, b & 4096 ? (a.effectTag = b & -4097 | 64, a) : null;\n\n case 19:\n return G(M, a), null;\n\n case 4:\n return nh(a), null;\n\n case 10:\n return tg(a), null;\n\n default:\n return null;\n }\n}\n\nfunction Ni(a, b) {\n return {\n value: a,\n source: b,\n stack: Xa(b)\n };\n}\n\nvar Oi = \"function\" === typeof WeakSet ? WeakSet : Set;\n\nfunction Pi(a, b) {\n var c = b.source,\n d = b.stack;\n null === d && null !== c && (d = Xa(c));\n null !== c && Wa(c.type);\n b = b.value;\n null !== a && 1 === a.tag && Wa(a.type);\n\n try {\n console.error(b);\n } catch (e) {\n setTimeout(function () {\n throw e;\n });\n }\n}\n\nfunction Qi(a, b) {\n try {\n b.props = a.memoizedProps, b.state = a.memoizedState, b.componentWillUnmount();\n } catch (c) {\n Ri(a, c);\n }\n}\n\nfunction Si(a) {\n var b = a.ref;\n if (null !== b) if (\"function\" === typeof b) try {\n b(null);\n } catch (c) {\n Ri(a, c);\n } else b.current = null;\n}\n\nfunction Ti(a, b) {\n switch (b.tag) {\n case 0:\n case 11:\n case 15:\n Ui(2, 0, b);\n break;\n\n case 1:\n if (b.effectTag & 256 && null !== a) {\n var c = a.memoizedProps,\n d = a.memoizedState;\n a = b.stateNode;\n b = a.getSnapshotBeforeUpdate(b.elementType === b.type ? c : mg(b.type, c), d);\n a.__reactInternalSnapshotBeforeUpdate = b;\n }\n\n break;\n\n case 3:\n case 5:\n case 6:\n case 4:\n case 17:\n break;\n\n default:\n throw Error(u(163));\n }\n}\n\nfunction Ui(a, b, c) {\n c = c.updateQueue;\n c = null !== c ? c.lastEffect : null;\n\n if (null !== c) {\n var d = c = c.next;\n\n do {\n if (0 !== (d.tag & a)) {\n var e = d.destroy;\n d.destroy = void 0;\n void 0 !== e && e();\n }\n\n 0 !== (d.tag & b) && (e = d.create, d.destroy = e());\n d = d.next;\n } while (d !== c);\n }\n}\n\nfunction Vi(a, b, c) {\n \"function\" === typeof Wi && Wi(b);\n\n switch (b.tag) {\n case 0:\n case 11:\n case 14:\n case 15:\n a = b.updateQueue;\n\n if (null !== a && (a = a.lastEffect, null !== a)) {\n var d = a.next;\n fg(97 < c ? 97 : c, function () {\n var a = d;\n\n do {\n var c = a.destroy;\n\n if (void 0 !== c) {\n var g = b;\n\n try {\n c();\n } catch (h) {\n Ri(g, h);\n }\n }\n\n a = a.next;\n } while (a !== d);\n });\n }\n\n break;\n\n case 1:\n Si(b);\n c = b.stateNode;\n \"function\" === typeof c.componentWillUnmount && Qi(b, c);\n break;\n\n case 5:\n Si(b);\n break;\n\n case 4:\n Xi(a, b, c);\n }\n}\n\nfunction Yi(a) {\n var b = a.alternate;\n a.return = null;\n a.child = null;\n a.memoizedState = null;\n a.updateQueue = null;\n a.dependencies = null;\n a.alternate = null;\n a.firstEffect = null;\n a.lastEffect = null;\n a.pendingProps = null;\n a.memoizedProps = null;\n null !== b && Yi(b);\n}\n\nfunction Zi(a) {\n return 5 === a.tag || 3 === a.tag || 4 === a.tag;\n}\n\nfunction $i(a) {\n a: {\n for (var b = a.return; null !== b;) {\n if (Zi(b)) {\n var c = b;\n break a;\n }\n\n b = b.return;\n }\n\n throw Error(u(160));\n }\n\n b = c.stateNode;\n\n switch (c.tag) {\n case 5:\n var d = !1;\n break;\n\n case 3:\n b = b.containerInfo;\n d = !0;\n break;\n\n case 4:\n b = b.containerInfo;\n d = !0;\n break;\n\n default:\n throw Error(u(161));\n }\n\n c.effectTag & 16 && (Tb(b, \"\"), c.effectTag &= -17);\n\n a: b: for (c = a;;) {\n for (; null === c.sibling;) {\n if (null === c.return || Zi(c.return)) {\n c = null;\n break a;\n }\n\n c = c.return;\n }\n\n c.sibling.return = c.return;\n\n for (c = c.sibling; 5 !== c.tag && 6 !== c.tag && 18 !== c.tag;) {\n if (c.effectTag & 2) continue b;\n if (null === c.child || 4 === c.tag) continue b;else c.child.return = c, c = c.child;\n }\n\n if (!(c.effectTag & 2)) {\n c = c.stateNode;\n break a;\n }\n }\n\n for (var e = a;;) {\n var f = 5 === e.tag || 6 === e.tag;\n\n if (f) {\n var g = f ? e.stateNode : e.stateNode.instance;\n if (c) {\n if (d) {\n f = b;\n var h = g;\n g = c;\n 8 === f.nodeType ? f.parentNode.insertBefore(h, g) : f.insertBefore(h, g);\n } else b.insertBefore(g, c);\n } else d ? (h = b, 8 === h.nodeType ? (f = h.parentNode, f.insertBefore(g, h)) : (f = h, f.appendChild(g)), h = h._reactRootContainer, null !== h && void 0 !== h || null !== f.onclick || (f.onclick = ae)) : b.appendChild(g);\n } else if (4 !== e.tag && null !== e.child) {\n e.child.return = e;\n e = e.child;\n continue;\n }\n\n if (e === a) break;\n\n for (; null === e.sibling;) {\n if (null === e.return || e.return === a) return;\n e = e.return;\n }\n\n e.sibling.return = e.return;\n e = e.sibling;\n }\n}\n\nfunction Xi(a, b, c) {\n for (var d = b, e = !1, f, g;;) {\n if (!e) {\n e = d.return;\n\n a: for (;;) {\n if (null === e) throw Error(u(160));\n f = e.stateNode;\n\n switch (e.tag) {\n case 5:\n g = !1;\n break a;\n\n case 3:\n f = f.containerInfo;\n g = !0;\n break a;\n\n case 4:\n f = f.containerInfo;\n g = !0;\n break a;\n }\n\n e = e.return;\n }\n\n e = !0;\n }\n\n if (5 === d.tag || 6 === d.tag) {\n a: for (var h = a, k = d, l = c, m = k;;) {\n if (Vi(h, m, l), null !== m.child && 4 !== m.tag) m.child.return = m, m = m.child;else {\n if (m === k) break;\n\n for (; null === m.sibling;) {\n if (null === m.return || m.return === k) break a;\n m = m.return;\n }\n\n m.sibling.return = m.return;\n m = m.sibling;\n }\n }\n\n g ? (h = f, k = d.stateNode, 8 === h.nodeType ? h.parentNode.removeChild(k) : h.removeChild(k)) : f.removeChild(d.stateNode);\n } else if (4 === d.tag) {\n if (null !== d.child) {\n f = d.stateNode.containerInfo;\n g = !0;\n d.child.return = d;\n d = d.child;\n continue;\n }\n } else if (Vi(a, d, c), null !== d.child) {\n d.child.return = d;\n d = d.child;\n continue;\n }\n\n if (d === b) break;\n\n for (; null === d.sibling;) {\n if (null === d.return || d.return === b) return;\n d = d.return;\n 4 === d.tag && (e = !1);\n }\n\n d.sibling.return = d.return;\n d = d.sibling;\n }\n}\n\nfunction aj(a, b) {\n switch (b.tag) {\n case 0:\n case 11:\n case 14:\n case 15:\n Ui(4, 8, b);\n break;\n\n case 1:\n break;\n\n case 5:\n var c = b.stateNode;\n\n if (null != c) {\n var d = b.memoizedProps,\n e = null !== a ? a.memoizedProps : d;\n a = b.type;\n var f = b.updateQueue;\n b.updateQueue = null;\n\n if (null !== f) {\n c[ve] = d;\n \"input\" === a && \"radio\" === d.type && null != d.name && Cb(c, d);\n Zd(a, e);\n b = Zd(a, d);\n\n for (e = 0; e < f.length; e += 2) {\n var g = f[e],\n h = f[e + 1];\n \"style\" === g ? Wd(c, h) : \"dangerouslySetInnerHTML\" === g ? Sb(c, h) : \"children\" === g ? Tb(c, h) : vb(c, g, h, b);\n }\n\n switch (a) {\n case \"input\":\n Eb(c, d);\n break;\n\n case \"textarea\":\n Mb(c, d);\n break;\n\n case \"select\":\n b = c._wrapperState.wasMultiple, c._wrapperState.wasMultiple = !!d.multiple, a = d.value, null != a ? Jb(c, !!d.multiple, a, !1) : b !== !!d.multiple && (null != d.defaultValue ? Jb(c, !!d.multiple, d.defaultValue, !0) : Jb(c, !!d.multiple, d.multiple ? [] : \"\", !1));\n }\n }\n }\n\n break;\n\n case 6:\n if (null === b.stateNode) throw Error(u(162));\n b.stateNode.nodeValue = b.memoizedProps;\n break;\n\n case 3:\n b = b.stateNode;\n b.hydrate && (b.hydrate = !1, Lc(b.containerInfo));\n break;\n\n case 12:\n break;\n\n case 13:\n c = b;\n null === b.memoizedState ? d = !1 : (d = !0, c = b.child, bj = cg());\n if (null !== c) a: for (a = c;;) {\n if (5 === a.tag) f = a.stateNode, d ? (f = f.style, \"function\" === typeof f.setProperty ? f.setProperty(\"display\", \"none\", \"important\") : f.display = \"none\") : (f = a.stateNode, e = a.memoizedProps.style, e = void 0 !== e && null !== e && e.hasOwnProperty(\"display\") ? e.display : null, f.style.display = Vd(\"display\", e));else if (6 === a.tag) a.stateNode.nodeValue = d ? \"\" : a.memoizedProps;else if (13 === a.tag && null !== a.memoizedState && null === a.memoizedState.dehydrated) {\n f = a.child.sibling;\n f.return = a;\n a = f;\n continue;\n } else if (null !== a.child) {\n a.child.return = a;\n a = a.child;\n continue;\n }\n if (a === c) break a;\n\n for (; null === a.sibling;) {\n if (null === a.return || a.return === c) break a;\n a = a.return;\n }\n\n a.sibling.return = a.return;\n a = a.sibling;\n }\n cj(b);\n break;\n\n case 19:\n cj(b);\n break;\n\n case 17:\n break;\n\n case 20:\n break;\n\n case 21:\n break;\n\n default:\n throw Error(u(163));\n }\n}\n\nfunction cj(a) {\n var b = a.updateQueue;\n\n if (null !== b) {\n a.updateQueue = null;\n var c = a.stateNode;\n null === c && (c = a.stateNode = new Oi());\n b.forEach(function (b) {\n var d = dj.bind(null, a, b);\n c.has(b) || (c.add(b), b.then(d, d));\n });\n }\n}\n\nvar ej = \"function\" === typeof WeakMap ? WeakMap : Map;\n\nfunction fj(a, b, c) {\n c = Bg(c, null);\n c.tag = 3;\n c.payload = {\n element: null\n };\n var d = b.value;\n\n c.callback = function () {\n gj || (gj = !0, hj = d);\n Pi(a, b);\n };\n\n return c;\n}\n\nfunction ij(a, b, c) {\n c = Bg(c, null);\n c.tag = 3;\n var d = a.type.getDerivedStateFromError;\n\n if (\"function\" === typeof d) {\n var e = b.value;\n\n c.payload = function () {\n Pi(a, b);\n return d(e);\n };\n }\n\n var f = a.stateNode;\n null !== f && \"function\" === typeof f.componentDidCatch && (c.callback = function () {\n \"function\" !== typeof d && (null === jj ? jj = new Set([this]) : jj.add(this), Pi(a, b));\n var c = b.stack;\n this.componentDidCatch(b.value, {\n componentStack: null !== c ? c : \"\"\n });\n });\n return c;\n}\n\nvar kj = Math.ceil,\n lj = Ea.ReactCurrentDispatcher,\n mj = Ea.ReactCurrentOwner,\n S = 0,\n nj = 8,\n oj = 16,\n pj = 32,\n qj = 0,\n rj = 1,\n sj = 2,\n tj = 3,\n uj = 4,\n vj = 5,\n T = S,\n U = null,\n V = null,\n W = 0,\n X = qj,\n wj = null,\n xj = 1073741823,\n yj = 1073741823,\n zj = null,\n Aj = 0,\n Bj = !1,\n bj = 0,\n Cj = 500,\n Y = null,\n gj = !1,\n hj = null,\n jj = null,\n Dj = !1,\n Ej = null,\n Fj = 90,\n Gj = null,\n Hj = 0,\n Ij = null,\n Jj = 0;\n\nfunction Pg() {\n return (T & (oj | pj)) !== S ? 1073741821 - (cg() / 10 | 0) : 0 !== Jj ? Jj : Jj = 1073741821 - (cg() / 10 | 0);\n}\n\nfunction Qg(a, b, c) {\n b = b.mode;\n if (0 === (b & 2)) return 1073741823;\n var d = dg();\n if (0 === (b & 4)) return 99 === d ? 1073741823 : 1073741822;\n if ((T & oj) !== S) return W;\n if (null !== c) a = lg(a, c.timeoutMs | 0 || 5E3, 250);else switch (d) {\n case 99:\n a = 1073741823;\n break;\n\n case 98:\n a = lg(a, 150, 100);\n break;\n\n case 97:\n case 96:\n a = lg(a, 5E3, 250);\n break;\n\n case 95:\n a = 2;\n break;\n\n default:\n throw Error(u(326));\n }\n null !== U && a === W && --a;\n return a;\n}\n\nfunction Rg(a, b) {\n if (50 < Hj) throw Hj = 0, Ij = null, Error(u(185));\n a = Kj(a, b);\n\n if (null !== a) {\n var c = dg();\n 1073741823 === b ? (T & nj) !== S && (T & (oj | pj)) === S ? Lj(a) : (Z(a), T === S && jg()) : Z(a);\n (T & 4) === S || 98 !== c && 99 !== c || (null === Gj ? Gj = new Map([[a, b]]) : (c = Gj.get(a), (void 0 === c || c > b) && Gj.set(a, b)));\n }\n}\n\nfunction Kj(a, b) {\n a.expirationTime < b && (a.expirationTime = b);\n var c = a.alternate;\n null !== c && c.expirationTime < b && (c.expirationTime = b);\n var d = a.return,\n e = null;\n if (null === d && 3 === a.tag) e = a.stateNode;else for (; null !== d;) {\n c = d.alternate;\n d.childExpirationTime < b && (d.childExpirationTime = b);\n null !== c && c.childExpirationTime < b && (c.childExpirationTime = b);\n\n if (null === d.return && 3 === d.tag) {\n e = d.stateNode;\n break;\n }\n\n d = d.return;\n }\n null !== e && (U === e && (Jg(b), X === uj && Mj(e, W)), Nj(e, b));\n return e;\n}\n\nfunction Oj(a) {\n var b = a.lastExpiredTime;\n if (0 !== b) return b;\n b = a.firstPendingTime;\n if (!Pj(a, b)) return b;\n b = a.lastPingedTime;\n a = a.nextKnownPendingLevel;\n return b > a ? b : a;\n}\n\nfunction Z(a) {\n if (0 !== a.lastExpiredTime) a.callbackExpirationTime = 1073741823, a.callbackPriority = 99, a.callbackNode = hg(Lj.bind(null, a));else {\n var b = Oj(a),\n c = a.callbackNode;\n if (0 === b) null !== c && (a.callbackNode = null, a.callbackExpirationTime = 0, a.callbackPriority = 90);else {\n var d = Pg();\n 1073741823 === b ? d = 99 : 1 === b || 2 === b ? d = 95 : (d = 10 * (1073741821 - b) - 10 * (1073741821 - d), d = 0 >= d ? 99 : 250 >= d ? 98 : 5250 >= d ? 97 : 95);\n\n if (null !== c) {\n var e = a.callbackPriority;\n if (a.callbackExpirationTime === b && e >= d) return;\n c !== Xf && Nf(c);\n }\n\n a.callbackExpirationTime = b;\n a.callbackPriority = d;\n b = 1073741823 === b ? hg(Lj.bind(null, a)) : gg(d, Qj.bind(null, a), {\n timeout: 10 * (1073741821 - b) - cg()\n });\n a.callbackNode = b;\n }\n }\n}\n\nfunction Qj(a, b) {\n Jj = 0;\n if (b) return b = Pg(), Rj(a, b), Z(a), null;\n var c = Oj(a);\n\n if (0 !== c) {\n b = a.callbackNode;\n if ((T & (oj | pj)) !== S) throw Error(u(327));\n Sj();\n a === U && c === W || Tj(a, c);\n\n if (null !== V) {\n var d = T;\n T |= oj;\n var e = Uj(a);\n\n do {\n try {\n Vj();\n break;\n } catch (h) {\n Wj(a, h);\n }\n } while (1);\n\n rg();\n T = d;\n lj.current = e;\n if (X === rj) throw b = wj, Tj(a, c), Mj(a, c), Z(a), b;\n if (null === V) switch (e = a.finishedWork = a.current.alternate, a.finishedExpirationTime = c, d = X, U = null, d) {\n case qj:\n case rj:\n throw Error(u(345));\n\n case sj:\n Rj(a, 2 < c ? 2 : c);\n break;\n\n case tj:\n Mj(a, c);\n d = a.lastSuspendedTime;\n c === d && (a.nextKnownPendingLevel = Xj(e));\n\n if (1073741823 === xj && (e = bj + Cj - cg(), 10 < e)) {\n if (Bj) {\n var f = a.lastPingedTime;\n\n if (0 === f || f >= c) {\n a.lastPingedTime = c;\n Tj(a, c);\n break;\n }\n }\n\n f = Oj(a);\n if (0 !== f && f !== c) break;\n\n if (0 !== d && d !== c) {\n a.lastPingedTime = d;\n break;\n }\n\n a.timeoutHandle = pe(Yj.bind(null, a), e);\n break;\n }\n\n Yj(a);\n break;\n\n case uj:\n Mj(a, c);\n d = a.lastSuspendedTime;\n c === d && (a.nextKnownPendingLevel = Xj(e));\n\n if (Bj && (e = a.lastPingedTime, 0 === e || e >= c)) {\n a.lastPingedTime = c;\n Tj(a, c);\n break;\n }\n\n e = Oj(a);\n if (0 !== e && e !== c) break;\n\n if (0 !== d && d !== c) {\n a.lastPingedTime = d;\n break;\n }\n\n 1073741823 !== yj ? d = 10 * (1073741821 - yj) - cg() : 1073741823 === xj ? d = 0 : (d = 10 * (1073741821 - xj) - 5E3, e = cg(), c = 10 * (1073741821 - c) - e, d = e - d, 0 > d && (d = 0), d = (120 > d ? 120 : 480 > d ? 480 : 1080 > d ? 1080 : 1920 > d ? 1920 : 3E3 > d ? 3E3 : 4320 > d ? 4320 : 1960 * kj(d / 1960)) - d, c < d && (d = c));\n\n if (10 < d) {\n a.timeoutHandle = pe(Yj.bind(null, a), d);\n break;\n }\n\n Yj(a);\n break;\n\n case vj:\n if (1073741823 !== xj && null !== zj) {\n f = xj;\n var g = zj;\n d = g.busyMinDurationMs | 0;\n 0 >= d ? d = 0 : (e = g.busyDelayMs | 0, f = cg() - (10 * (1073741821 - f) - (g.timeoutMs | 0 || 5E3)), d = f <= e ? 0 : e + d - f);\n\n if (10 < d) {\n Mj(a, c);\n a.timeoutHandle = pe(Yj.bind(null, a), d);\n break;\n }\n }\n\n Yj(a);\n break;\n\n default:\n throw Error(u(329));\n }\n Z(a);\n if (a.callbackNode === b) return Qj.bind(null, a);\n }\n }\n\n return null;\n}\n\nfunction Lj(a) {\n var b = a.lastExpiredTime;\n b = 0 !== b ? b : 1073741823;\n if (a.finishedExpirationTime === b) Yj(a);else {\n if ((T & (oj | pj)) !== S) throw Error(u(327));\n Sj();\n a === U && b === W || Tj(a, b);\n\n if (null !== V) {\n var c = T;\n T |= oj;\n var d = Uj(a);\n\n do {\n try {\n Zj();\n break;\n } catch (e) {\n Wj(a, e);\n }\n } while (1);\n\n rg();\n T = c;\n lj.current = d;\n if (X === rj) throw c = wj, Tj(a, b), Mj(a, b), Z(a), c;\n if (null !== V) throw Error(u(261));\n a.finishedWork = a.current.alternate;\n a.finishedExpirationTime = b;\n U = null;\n Yj(a);\n Z(a);\n }\n }\n return null;\n}\n\nfunction ak() {\n if (null !== Gj) {\n var a = Gj;\n Gj = null;\n a.forEach(function (a, c) {\n Rj(c, a);\n Z(c);\n });\n jg();\n }\n}\n\nfunction bk(a, b) {\n var c = T;\n T |= 1;\n\n try {\n return a(b);\n } finally {\n T = c, T === S && jg();\n }\n}\n\nfunction ck(a, b) {\n var c = T;\n T &= -2;\n T |= nj;\n\n try {\n return a(b);\n } finally {\n T = c, T === S && jg();\n }\n}\n\nfunction Tj(a, b) {\n a.finishedWork = null;\n a.finishedExpirationTime = 0;\n var c = a.timeoutHandle;\n -1 !== c && (a.timeoutHandle = -1, qe(c));\n if (null !== V) for (c = V.return; null !== c;) {\n var d = c;\n\n switch (d.tag) {\n case 1:\n var e = d.type.childContextTypes;\n null !== e && void 0 !== e && Ff(d);\n break;\n\n case 3:\n nh(d);\n Gf(d);\n break;\n\n case 5:\n ph(d);\n break;\n\n case 4:\n nh(d);\n break;\n\n case 13:\n G(M, d);\n break;\n\n case 19:\n G(M, d);\n break;\n\n case 10:\n tg(d);\n }\n\n c = c.return;\n }\n U = a;\n V = ah(a.current, null, b);\n W = b;\n X = qj;\n wj = null;\n yj = xj = 1073741823;\n zj = null;\n Aj = 0;\n Bj = !1;\n}\n\nfunction Wj(a, b) {\n do {\n try {\n rg();\n Mh();\n if (null === V || null === V.return) return X = rj, wj = b, null;\n\n a: {\n var c = a,\n d = V.return,\n e = V,\n f = b;\n b = W;\n e.effectTag |= 2048;\n e.firstEffect = e.lastEffect = null;\n\n if (null !== f && \"object\" === typeof f && \"function\" === typeof f.then) {\n var g = f,\n h = 0 !== (M.current & 1),\n k = d;\n\n do {\n var l;\n\n if (l = 13 === k.tag) {\n var m = k.memoizedState;\n if (null !== m) l = null !== m.dehydrated ? !0 : !1;else {\n var C = k.memoizedProps;\n l = void 0 === C.fallback ? !1 : !0 !== C.unstable_avoidThisFallback ? !0 : h ? !1 : !0;\n }\n }\n\n if (l) {\n var y = k.updateQueue;\n\n if (null === y) {\n var H = new Set();\n H.add(g);\n k.updateQueue = H;\n } else y.add(g);\n\n if (0 === (k.mode & 2)) {\n k.effectTag |= 64;\n e.effectTag &= -2981;\n if (1 === e.tag) if (null === e.alternate) e.tag = 17;else {\n var z = Bg(1073741823, null);\n z.tag = 2;\n Dg(e, z);\n }\n e.expirationTime = 1073741823;\n break a;\n }\n\n f = void 0;\n e = b;\n var ta = c.pingCache;\n null === ta ? (ta = c.pingCache = new ej(), f = new Set(), ta.set(g, f)) : (f = ta.get(g), void 0 === f && (f = new Set(), ta.set(g, f)));\n\n if (!f.has(e)) {\n f.add(e);\n var r = dk.bind(null, c, g, e);\n g.then(r, r);\n }\n\n k.effectTag |= 4096;\n k.expirationTime = b;\n break a;\n }\n\n k = k.return;\n } while (null !== k);\n\n f = Error((Wa(e.type) || \"A React component\") + \" suspended while rendering, but no fallback UI was specified.\\n\\nAdd a component higher in the tree to provide a loading indicator or placeholder to display.\" + Xa(e));\n }\n\n X !== vj && (X = sj);\n f = Ni(f, e);\n k = d;\n\n do {\n switch (k.tag) {\n case 3:\n g = f;\n k.effectTag |= 4096;\n k.expirationTime = b;\n var x = fj(k, g, b);\n Eg(k, x);\n break a;\n\n case 1:\n g = f;\n var A = k.type,\n p = k.stateNode;\n\n if (0 === (k.effectTag & 64) && (\"function\" === typeof A.getDerivedStateFromError || null !== p && \"function\" === typeof p.componentDidCatch && (null === jj || !jj.has(p)))) {\n k.effectTag |= 4096;\n k.expirationTime = b;\n var t = ij(k, g, b);\n Eg(k, t);\n break a;\n }\n\n }\n\n k = k.return;\n } while (null !== k);\n }\n\n V = ek(V);\n } catch (v) {\n b = v;\n continue;\n }\n\n break;\n } while (1);\n}\n\nfunction Uj() {\n var a = lj.current;\n lj.current = Lh;\n return null === a ? Lh : a;\n}\n\nfunction Ig(a, b) {\n a < xj && 2 < a && (xj = a);\n null !== b && a < yj && 2 < a && (yj = a, zj = b);\n}\n\nfunction Jg(a) {\n a > Aj && (Aj = a);\n}\n\nfunction Zj() {\n for (; null !== V;) {\n V = fk(V);\n }\n}\n\nfunction Vj() {\n for (; null !== V && !Of();) {\n V = fk(V);\n }\n}\n\nfunction fk(a) {\n var b = gk(a.alternate, a, W);\n a.memoizedProps = a.pendingProps;\n null === b && (b = ek(a));\n mj.current = null;\n return b;\n}\n\nfunction ek(a) {\n V = a;\n\n do {\n var b = V.alternate;\n a = V.return;\n\n if (0 === (V.effectTag & 2048)) {\n a: {\n var c = b;\n b = V;\n var d = W;\n var e = b.pendingProps;\n\n switch (b.tag) {\n case 2:\n break;\n\n case 16:\n break;\n\n case 15:\n case 0:\n break;\n\n case 1:\n L(b.type) && Ff(b);\n break;\n\n case 3:\n nh(b);\n Gf(b);\n e = b.stateNode;\n e.pendingContext && (e.context = e.pendingContext, e.pendingContext = null);\n (null === c || null === c.child) && ki(b) && Ci(b);\n Ii(b);\n break;\n\n case 5:\n ph(b);\n d = lh(kh.current);\n var f = b.type;\n if (null !== c && null != b.stateNode) Ji(c, b, f, e, d), c.ref !== b.ref && (b.effectTag |= 128);else if (e) {\n var g = lh(ih.current);\n\n if (ki(b)) {\n e = b;\n var h = e.stateNode;\n c = e.type;\n var k = e.memoizedProps,\n l = d;\n h[ue] = e;\n h[ve] = k;\n f = void 0;\n d = h;\n\n switch (c) {\n case \"iframe\":\n case \"object\":\n case \"embed\":\n F(\"load\", d);\n break;\n\n case \"video\":\n case \"audio\":\n for (h = 0; h < cc.length; h++) {\n F(cc[h], d);\n }\n\n break;\n\n case \"source\":\n F(\"error\", d);\n break;\n\n case \"img\":\n case \"image\":\n case \"link\":\n F(\"error\", d);\n F(\"load\", d);\n break;\n\n case \"form\":\n F(\"reset\", d);\n F(\"submit\", d);\n break;\n\n case \"details\":\n F(\"toggle\", d);\n break;\n\n case \"input\":\n Bb(d, k);\n F(\"invalid\", d);\n $d(l, \"onChange\");\n break;\n\n case \"select\":\n d._wrapperState = {\n wasMultiple: !!k.multiple\n };\n F(\"invalid\", d);\n $d(l, \"onChange\");\n break;\n\n case \"textarea\":\n Lb(d, k), F(\"invalid\", d), $d(l, \"onChange\");\n }\n\n Yd(c, k);\n h = null;\n\n for (f in k) {\n k.hasOwnProperty(f) && (g = k[f], \"children\" === f ? \"string\" === typeof g ? d.textContent !== g && (h = [\"children\", g]) : \"number\" === typeof g && d.textContent !== \"\" + g && (h = [\"children\", \"\" + g]) : ia.hasOwnProperty(f) && null != g && $d(l, f));\n }\n\n switch (c) {\n case \"input\":\n yb(d);\n Gb(d, k, !0);\n break;\n\n case \"textarea\":\n yb(d);\n Nb(d, k);\n break;\n\n case \"select\":\n case \"option\":\n break;\n\n default:\n \"function\" === typeof k.onClick && (d.onclick = ae);\n }\n\n f = h;\n e.updateQueue = f;\n e = null !== f ? !0 : !1;\n e && Ci(b);\n } else {\n c = b;\n l = f;\n k = e;\n h = 9 === d.nodeType ? d : d.ownerDocument;\n g === Ob.html && (g = Pb(l));\n g === Ob.html ? \"script\" === l ? (k = h.createElement(\"div\"), k.innerHTML = \" \ No newline at end of file +React App
\ No newline at end of file diff --git a/precache-manifest.0823f8afdb6011dfd8e8c0293bb10d92.js b/precache-manifest.0823f8afdb6011dfd8e8c0293bb10d92.js deleted file mode 100644 index 7aa45d7..0000000 --- a/precache-manifest.0823f8afdb6011dfd8e8c0293bb10d92.js +++ /dev/null @@ -1,22 +0,0 @@ -self.__precacheManifest = (self.__precacheManifest || []).concat([ - { - "revision": "b0e03b9c98fa13a637bda02723594d54", - "url": "/burger-builder/index.html" - }, - { - "revision": "a3cd0779e82ee677430b", - "url": "/burger-builder/static/css/main.152d9bc1.chunk.css" - }, - { - "revision": "6b43431c00dea84b50ab", - "url": "/burger-builder/static/js/2.d1d7e087.chunk.js" - }, - { - "revision": "a3cd0779e82ee677430b", - "url": "/burger-builder/static/js/main.762e449e.chunk.js" - }, - { - "revision": "8a43c3b415e9e50b81f4", - "url": "/burger-builder/static/js/runtime-main.98d58318.js" - } -]); \ No newline at end of file diff --git a/precache-manifest.bd349a9c7dd50e1a98e01235fa3d2446.js b/precache-manifest.bd349a9c7dd50e1a98e01235fa3d2446.js new file mode 100644 index 0000000..81a80ee --- /dev/null +++ b/precache-manifest.bd349a9c7dd50e1a98e01235fa3d2446.js @@ -0,0 +1,22 @@ +self.__precacheManifest = (self.__precacheManifest || []).concat([ + { + "revision": "9a60bd9d9095ff1990b8bff844d2f433", + "url": "/sorting-visualizer/index.html" + }, + { + "revision": "9c02f0c11e53631a75c9", + "url": "/sorting-visualizer/static/css/main.152d9bc1.chunk.css" + }, + { + "revision": "6b43431c00dea84b50ab", + "url": "/sorting-visualizer/static/js/2.d1d7e087.chunk.js" + }, + { + "revision": "9c02f0c11e53631a75c9", + "url": "/sorting-visualizer/static/js/main.3ff6a319.chunk.js" + }, + { + "revision": "ccf43644322815e86a73", + "url": "/sorting-visualizer/static/js/runtime-main.ce64ded3.js" + } +]); \ No newline at end of file diff --git a/service-worker.js b/service-worker.js index 8e6a1e3..a04f580 100644 --- a/service-worker.js +++ b/service-worker.js @@ -14,7 +14,7 @@ importScripts("https://storage.googleapis.com/workbox-cdn/releases/4.3.1/workbox-sw.js"); importScripts( - "/burger-builder/precache-manifest.0823f8afdb6011dfd8e8c0293bb10d92.js" + "/sorting-visualizer/precache-manifest.bd349a9c7dd50e1a98e01235fa3d2446.js" ); self.addEventListener('message', (event) => { @@ -33,7 +33,7 @@ workbox.core.clientsClaim(); self.__precacheManifest = [].concat(self.__precacheManifest || []); workbox.precaching.precacheAndRoute(self.__precacheManifest, {}); -workbox.routing.registerNavigationRoute(workbox.precaching.getCacheKeyForURL("/burger-builder/index.html"), { +workbox.routing.registerNavigationRoute(workbox.precaching.getCacheKeyForURL("/sorting-visualizer/index.html"), { blacklist: [/^\/_/,/\/[^\/?]+\.[^\/]+$/], }); diff --git a/static/js/main.762e449e.chunk.js b/static/js/main.3ff6a319.chunk.js similarity index 99% rename from static/js/main.762e449e.chunk.js rename to static/js/main.3ff6a319.chunk.js index 2327760..3fcc603 100644 --- a/static/js/main.762e449e.chunk.js +++ b/static/js/main.3ff6a319.chunk.js @@ -1,2 +1,2 @@ (this["webpackJsonpsorting-visualizer"]=this["webpackJsonpsorting-visualizer"]||[]).push([[0],[,,,,,,,,,,,,,,,function(e,t,n){e.exports={Button:"Button_Button__3qR7j",Button1:"Button_Button1__2_rnQ",Button2:"Button_Button2__1LiY_",Button3:"Button_Button3__3AwsT",Button4:"Button_Button4__3ZIM7",Button5:"Button_Button5__2QJCN"}},,,function(e,t,n){e.exports={Bar:"Bar_Bar__3Vy_p"}},function(e,t,n){e.exports={BarsContainer:"BarsContainer_BarsContainer__17pOc"}},function(e,t,n){e.exports={SortingVisualizer:"SortingVisualizer_SortingVisualizer__1kbp7"}},function(e,t,n){},function(e,t,n){e.exports=n(34)},,,,,,,,,,function(e,t,n){},function(e,t,n){},function(e,t,n){"use strict";n.r(t);var r=n(0),o=n.n(r),c=n(8),a=n.n(c),i=n(9),u=n(11),s=(n(32),n(3)),p=n(4),l=n(6),f=n(5),b=n(7),m=(n(33),n(10)),h=n(18),O=n.n(h),y=function(e){function t(){return Object(s.a)(this,t),Object(l.a)(this,Object(f.a)(t).apply(this,arguments))}return Object(b.a)(t,e),Object(p.a)(t,[{key:"shouldComponentUpdate",value:function(e,t){return e.height!==this.props.height}},{key:"render",value:function(){return o.a.createElement("div",{className:O.a.Bar,style:{height:"".concat(this.props.height/599*100,"%")}})}}]),t}(r.Component),_=n(19),d=n.n(_),j=function(e){return o.a.createElement("div",{className:d.a.BarsContainer},e.numbers.map((function(e,t){return o.a.createElement(y,{key:t,height:e})})))},g=n(20),v=n.n(g),E="BUBBLE_SORT",B=function(e){return w(e)},S=function(e,t,n){var r=e[t];e[t]=e[n],e[n]=r},w=function(e){var t,n,r,o=e.length,c=[];for(t=0;te[n+1]&&(c.push([n,n+1]),S(e,n,n+1));return c},T=function(e,t){var n=[];switch(e){case E:n=B(t);break;default:n=[]}return n},k=n(15),P=n.n(k),C=function(e){return o.a.createElement("div",{className:[P.a.Button,P.a.Button3].join(" "),onClick:e.clicked},e.children)},D=n(21),N=n.n(D),R=function(e){return o.a.createElement("div",{className:N.a.InteractionBar},o.a.createElement(C,{clicked:e.reset},"Reset"),o.a.createElement(C,{clicked:function(){return e.changeSortType(E)}},"Bubble Sort"),o.a.createElement(C,{clicked:function(){return e.changeSortType("MERGE_SORT")}},"Merge Sort"),o.a.createElement(C,{clicked:e.commence},"Commence Sort!"))};function M(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}var V=function(e){function t(){var e,n;Object(s.a)(this,t);for(var r=arguments.length,o=new Array(r),c=0;c0&&void 0!==arguments[0]?arguments[0]:I,t=arguments.length>1?arguments[1]:void 0;switch(t.type){case"RESET_NUMBERS":var n=L();return A(e,{numbers:n});case"SWAP":var r=e.numbers.slice(),o=r[t.indices[0]];return r[t.indices[0]]=r[t.indices[1]],r[t.indices[1]]=o,A(e,{numbers:r});default:return e}},J=Object(i.b)(X,window.__REDUX_DEVTOOLS_EXTENSION__&&window.__REDUX_DEVTOOLS_EXTENSION__());a.a.render(o.a.createElement(u.a,{store:J},o.a.createElement(U,null)),document.getElementById("root")),"serviceWorker"in navigator&&navigator.serviceWorker.ready.then((function(e){e.unregister()}))}],[[22,1,2]]]); -//# sourceMappingURL=main.762e449e.chunk.js.map \ No newline at end of file +//# sourceMappingURL=main.3ff6a319.chunk.js.map \ No newline at end of file diff --git a/static/js/main.762e449e.chunk.js.map b/static/js/main.3ff6a319.chunk.js.map similarity index 99% rename from static/js/main.762e449e.chunk.js.map rename to static/js/main.3ff6a319.chunk.js.map index 2311860..bb41bd9 100644 --- a/static/js/main.762e449e.chunk.js.map +++ b/static/js/main.3ff6a319.chunk.js.map @@ -1 +1 @@ -{"version":3,"sources":["components/InteractionBar/Button/Button.module.css","components/BarsContainer/Bar/Bar.module.css","components/BarsContainer/BarsContainer.module.css","containers/SortingVisualizer/SortingVisualizer.module.css","components/BarsContainer/Bar/Bar.js","components/BarsContainer/BarsContainer.js","constants/constants.js","helpers/sortingHelper.js","components/InteractionBar/Button/Button.js","components/InteractionBar/InteractionBar.js","containers/SortingVisualizer/SortingVisualizer.js","store/actions/actions.js","store/actions/actionTypes.js","App.js","serviceWorker.js","store/utility.js","store/reducer/reducer.js","index.js"],"names":["module","exports","Bar","nextProps","nextState","height","this","props","className","classes","style","Component","barsContainer","BarsContainer","numbers","map","number","index","key","BUBBLE_SORT","getBubbleSortAnimations","bubbleSort","swap","arr","first_Index","second_Index","temp","i","j","stop","len","length","animations","push","getAnimations","sortType","constants","button","Button","Button3","join","onClick","clicked","children","interactionBar","InteractionBar","reset","changeSortType","commence","SortingVisualizer","state","componentDidMount","handleSortTypeChange","setState","handleCommenceSort","slice","animation","setTimeout","connect","dispatch","type","indices","actions","App","Boolean","window","location","hostname","match","updateObject","oldObject","updatedValues","initialState","getRandomNumbers","getRandomInt","min","max","Math","floor","random","reducer","action","newNumbers","store","createStore","__REDUX_DEVTOOLS_EXTENSION__","ReactDOM","render","document","getElementById","navigator","serviceWorker","ready","then","registration","unregister"],"mappings":"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","file":"static/js/main.762e449e.chunk.js","sourcesContent":["// extracted by mini-css-extract-plugin\nmodule.exports = {\"Button\":\"Button_Button__3qR7j\",\"Button1\":\"Button_Button1__2_rnQ\",\"Button2\":\"Button_Button2__1LiY_\",\"Button3\":\"Button_Button3__3AwsT\",\"Button4\":\"Button_Button4__3ZIM7\",\"Button5\":\"Button_Button5__2QJCN\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"Bar\":\"Bar_Bar__3Vy_p\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"BarsContainer\":\"BarsContainer_BarsContainer__17pOc\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"SortingVisualizer\":\"SortingVisualizer_SortingVisualizer__1kbp7\"};","import React, { Component } from \"react\";\nimport classes from \"./Bar.module.css\";\n\nclass Bar extends Component {\n shouldComponentUpdate(nextProps, nextState) {\n return nextProps.height !== this.props.height;\n }\n\n render() {\n return (\n \n );\n }\n}\n\nexport default Bar;\n","import React from \"react\";\nimport Bar from \"./Bar/Bar\";\n\nimport classes from \"./BarsContainer.module.css\";\n\nconst barsContainer = props => (\n
\n {props.numbers.map((number, index) => (\n \n ))}\n
\n);\n\nexport default barsContainer;\n","export const NUMBER_OF_ARRAY_BARS = 100;\n\nexport const MERGE_SORT = \"MERGE_SORT\";\n\nexport const QUICK_SORT = \"QUICK_SORT\";\n\nexport const BUBBLE_SORT = \"BUBBLE_SORT\";\n\nexport const SELECTION_SORT = \"SELECTION_SORT\";\n\nexport const INSERTION_SORT = \"INSERTION_SORT\";\n","import * as constants from \"../constants/constants\";\n\nconst getAnimations = (sortType, numbers) => {\n let animations = [];\n switch (sortType) {\n case constants.BUBBLE_SORT:\n animations = getBubbleSortAnimations(numbers);\n break;\n default:\n animations = [];\n }\n return animations;\n};\n\nconst getBubbleSortAnimations = numbers => {\n return bubbleSort(numbers);\n};\n\nconst swap = (arr, first_Index, second_Index) => {\n var temp = arr[first_Index];\n arr[first_Index] = arr[second_Index];\n arr[second_Index] = temp;\n};\n\nconst bubbleSort = arr => {\n var len = arr.length,\n i,\n j,\n stop;\n\n const animations = [];\n\n for (i = 0; i < len; i++) {\n for (j = 0, stop = len - i; j < stop; j++) {\n if (arr[j] > arr[j + 1]) {\n animations.push([j, j + 1]);\n swap(arr, j, j + 1);\n }\n }\n }\n\n return animations;\n};\n\nexport default getAnimations;\n","import React from \"react\";\nimport classes from \"./Button.module.css\";\n\nconst button = props => (\n
\n {props.children}\n
\n);\n\nexport default button;\n","import React from \"react\";\nimport Button from \"./Button/Button\";\nimport classes from \"./InteractionBar.module.css\";\n\nimport * as constants from \"../../constants/constants\";\n\nconst interactionBar = props => {\n return (\n
\n \n \n \n \n
\n );\n};\n\nexport default interactionBar;\n","import React, { Component } from \"react\";\nimport { connect } from \"react-redux\";\n\nimport BarsContainer from \"../../components/BarsContainer/BarsContainer\";\n\nimport classes from \"./SortingVisualizer.module.css\";\n\nimport * as actions from \"../../store/actions/actions\";\nimport * as constants from \"../../constants/constants\";\nimport getAnimations from \"../../helpers/sortingHelper\";\nimport InteractionBar from \"../../components/InteractionBar/InteractionBar\";\n\nclass SortingVisualizer extends Component {\n state = {\n sortType: constants.BUBBLE_SORT\n };\n\n componentDidMount = () => {\n this.props.reset();\n };\n\n handleSortTypeChange = sortType => {\n this.setState({ ...this.state, sortType: sortType });\n };\n\n handleCommenceSort = () => {\n const animations = getAnimations(\n this.state.sortType,\n this.props.numbers.slice()\n );\n\n animations.map((animation, index) =>\n setTimeout(() => this.props.swap(animation), index * 10)\n );\n };\n\n render() {\n return (\n
\n \n this.props.reset()}\n commence={() => this.handleCommenceSort()}\n changeSortType={sortType => this.handleSortTypeChange(sortType)}\n sortType={this.state.sortType}\n />\n
\n );\n }\n}\n\nconst mapStateToProps = state => {\n return {\n numbers: state.numbers\n };\n};\n\nconst mapDispatchToProps = dispatch => {\n return {\n reset: () => dispatch(actions.resetNumbers()),\n swap: indices => dispatch(actions.swap(indices))\n };\n};\n\nexport default connect(mapStateToProps, mapDispatchToProps)(SortingVisualizer);\n","import * as actionTypes from \"./actionTypes\";\n\nexport const resetNumbers = () => {\n return {\n type: actionTypes.RESET_NUMBERS\n };\n};\n\nexport const swap = indices => {\n return {\n type: actionTypes.SWAP,\n indices: indices\n };\n};\n\nexport const setAnimations = animations => {\n return {\n type: actionTypes.SET_ANIMATIONS,\n animations: animations\n };\n};\n","export const RESET_NUMBERS = \"RESET_NUMBERS\";\nexport const SET_ANIMATIONS = \"SET_ANIMATIONS\";\nexport const SWAP = \"SWAP\";\n","import React, { Component } from \"react\";\nimport \"./App.css\";\nimport SortingVisualizer from \"./containers/SortingVisualizer/SortingVisualizer\";\n\nclass App extends Component {\n render() {\n return (\n
\n \n
\n );\n }\n}\n\nexport default App;\n","// This optional code is used to register a service worker.\n// register() is not called by default.\n\n// This lets the app load faster on subsequent visits in production, and gives\n// it offline capabilities. However, it also means that developers (and users)\n// will only see deployed updates on subsequent visits to a page, after all the\n// existing tabs open on the page have been closed, since previously cached\n// resources are updated in the background.\n\n// To learn more about the benefits of this model and instructions on how to\n// opt-in, read https://bit.ly/CRA-PWA\n\nconst isLocalhost = Boolean(\n window.location.hostname === 'localhost' ||\n // [::1] is the IPv6 localhost address.\n window.location.hostname === '[::1]' ||\n // 127.0.0.1/8 is considered localhost for IPv4.\n window.location.hostname.match(\n /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/\n )\n);\n\nexport function register(config) {\n if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) {\n // The URL constructor is available in all browsers that support SW.\n const publicUrl = new URL(process.env.PUBLIC_URL, window.location.href);\n if (publicUrl.origin !== window.location.origin) {\n // Our service worker won't work if PUBLIC_URL is on a different origin\n // from what our page is served on. This might happen if a CDN is used to\n // serve assets; see https://github.com/facebook/create-react-app/issues/2374\n return;\n }\n\n window.addEventListener('load', () => {\n const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`;\n\n if (isLocalhost) {\n // This is running on localhost. Let's check if a service worker still exists or not.\n checkValidServiceWorker(swUrl, config);\n\n // Add some additional logging to localhost, pointing developers to the\n // service worker/PWA documentation.\n navigator.serviceWorker.ready.then(() => {\n console.log(\n 'This web app is being served cache-first by a service ' +\n 'worker. To learn more, visit https://bit.ly/CRA-PWA'\n );\n });\n } else {\n // Is not localhost. Just register service worker\n registerValidSW(swUrl, config);\n }\n });\n }\n}\n\nfunction registerValidSW(swUrl, config) {\n navigator.serviceWorker\n .register(swUrl)\n .then(registration => {\n registration.onupdatefound = () => {\n const installingWorker = registration.installing;\n if (installingWorker == null) {\n return;\n }\n installingWorker.onstatechange = () => {\n if (installingWorker.state === 'installed') {\n if (navigator.serviceWorker.controller) {\n // At this point, the updated precached content has been fetched,\n // but the previous service worker will still serve the older\n // content until all client tabs are closed.\n console.log(\n 'New content is available and will be used when all ' +\n 'tabs for this page are closed. See https://bit.ly/CRA-PWA.'\n );\n\n // Execute callback\n if (config && config.onUpdate) {\n config.onUpdate(registration);\n }\n } else {\n // At this point, everything has been precached.\n // It's the perfect time to display a\n // \"Content is cached for offline use.\" message.\n console.log('Content is cached for offline use.');\n\n // Execute callback\n if (config && config.onSuccess) {\n config.onSuccess(registration);\n }\n }\n }\n };\n };\n })\n .catch(error => {\n console.error('Error during service worker registration:', error);\n });\n}\n\nfunction checkValidServiceWorker(swUrl, config) {\n // Check if the service worker can be found. If it can't reload the page.\n fetch(swUrl)\n .then(response => {\n // Ensure service worker exists, and that we really are getting a JS file.\n const contentType = response.headers.get('content-type');\n if (\n response.status === 404 ||\n (contentType != null && contentType.indexOf('javascript') === -1)\n ) {\n // No service worker found. Probably a different app. Reload the page.\n navigator.serviceWorker.ready.then(registration => {\n registration.unregister().then(() => {\n window.location.reload();\n });\n });\n } else {\n // Service worker found. Proceed as normal.\n registerValidSW(swUrl, config);\n }\n })\n .catch(() => {\n console.log(\n 'No internet connection found. App is running in offline mode.'\n );\n });\n}\n\nexport function unregister() {\n if ('serviceWorker' in navigator) {\n navigator.serviceWorker.ready.then(registration => {\n registration.unregister();\n });\n }\n}\n","export const updateObject = (oldObject, updatedValues) => {\n return {\n ...oldObject,\n ...updatedValues \n }\n};","import * as actionTypes from \"../actions/actionTypes\";\nimport { updateObject } from \"../utility\";\nimport * as constants from \"../../constants/constants\";\n\nconst initialState = {\n numbers: [],\n};\n\nconst getRandomNumbers = () => {\n let numbers = [];\n for (let i = 0; i < constants.NUMBER_OF_ARRAY_BARS; i++) {\n numbers.push(getRandomInt(20, 599));\n }\n return numbers;\n};\n\nconst getRandomInt = (min, max) => {\n return Math.floor(Math.random() * (max - min + 1) + min);\n};\n\nconst reducer = (state = initialState, action) => {\n switch (action.type) {\n case actionTypes.RESET_NUMBERS:\n const numbers = getRandomNumbers();\n return updateObject(state, { numbers: numbers });\n case actionTypes.SWAP:\n const newNumbers = state.numbers.slice();\n const number = newNumbers[action.indices[0]];\n newNumbers[action.indices[0]] = newNumbers[action.indices[1]];\n newNumbers[action.indices[1]] = number;\n return updateObject(state, { numbers: newNumbers });\n default:\n return state;\n }\n};\n\nexport default reducer;\n","import React from \"react\";\nimport ReactDOM from \"react-dom\";\nimport { createStore } from \"redux\";\nimport { Provider } from \"react-redux\";\n\nimport \"./index.css\";\nimport App from \"./App\";\nimport * as serviceWorker from \"./serviceWorker\";\nimport reducer from \"./store/reducer/reducer.js\";\n\nconst store = createStore(\n reducer /* preloadedState, */,\n window.__REDUX_DEVTOOLS_EXTENSION__ && window.__REDUX_DEVTOOLS_EXTENSION__()\n);\n\nReactDOM.render(\n \n \n ,\n document.getElementById(\"root\")\n);\n\n// If you want your app to work offline and load faster, you can change\n// unregister() to register() below. Note this comes with some pitfalls.\n// Learn more about service workers: https://bit.ly/CRA-PWA\nserviceWorker.unregister();\n"],"sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["components/InteractionBar/Button/Button.module.css","components/BarsContainer/Bar/Bar.module.css","components/BarsContainer/BarsContainer.module.css","containers/SortingVisualizer/SortingVisualizer.module.css","components/BarsContainer/Bar/Bar.js","components/BarsContainer/BarsContainer.js","constants/constants.js","helpers/sortingHelper.js","components/InteractionBar/Button/Button.js","components/InteractionBar/InteractionBar.js","containers/SortingVisualizer/SortingVisualizer.js","store/actions/actions.js","store/actions/actionTypes.js","App.js","serviceWorker.js","store/utility.js","store/reducer/reducer.js","index.js"],"names":["module","exports","Bar","nextProps","nextState","height","this","props","className","classes","style","Component","barsContainer","BarsContainer","numbers","map","number","index","key","BUBBLE_SORT","getBubbleSortAnimations","bubbleSort","swap","arr","first_Index","second_Index","temp","i","j","stop","len","length","animations","push","getAnimations","sortType","constants","button","Button","Button3","join","onClick","clicked","children","interactionBar","InteractionBar","reset","changeSortType","commence","SortingVisualizer","state","componentDidMount","handleSortTypeChange","setState","handleCommenceSort","slice","animation","setTimeout","connect","dispatch","type","indices","actions","App","Boolean","window","location","hostname","match","updateObject","oldObject","updatedValues","initialState","getRandomNumbers","getRandomInt","min","max","Math","floor","random","reducer","action","newNumbers","store","createStore","__REDUX_DEVTOOLS_EXTENSION__","ReactDOM","render","document","getElementById","navigator","serviceWorker","ready","then","registration","unregister"],"mappings":"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","file":"static/js/main.3ff6a319.chunk.js","sourcesContent":["// extracted by mini-css-extract-plugin\nmodule.exports = {\"Button\":\"Button_Button__3qR7j\",\"Button1\":\"Button_Button1__2_rnQ\",\"Button2\":\"Button_Button2__1LiY_\",\"Button3\":\"Button_Button3__3AwsT\",\"Button4\":\"Button_Button4__3ZIM7\",\"Button5\":\"Button_Button5__2QJCN\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"Bar\":\"Bar_Bar__3Vy_p\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"BarsContainer\":\"BarsContainer_BarsContainer__17pOc\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"SortingVisualizer\":\"SortingVisualizer_SortingVisualizer__1kbp7\"};","import React, { Component } from \"react\";\nimport classes from \"./Bar.module.css\";\n\nclass Bar extends Component {\n shouldComponentUpdate(nextProps, nextState) {\n return nextProps.height !== this.props.height;\n }\n\n render() {\n return (\n \n );\n }\n}\n\nexport default Bar;\n","import React from \"react\";\nimport Bar from \"./Bar/Bar\";\n\nimport classes from \"./BarsContainer.module.css\";\n\nconst barsContainer = props => (\n
\n {props.numbers.map((number, index) => (\n \n ))}\n
\n);\n\nexport default barsContainer;\n","export const NUMBER_OF_ARRAY_BARS = 100;\n\nexport const MERGE_SORT = \"MERGE_SORT\";\n\nexport const QUICK_SORT = \"QUICK_SORT\";\n\nexport const BUBBLE_SORT = \"BUBBLE_SORT\";\n\nexport const SELECTION_SORT = \"SELECTION_SORT\";\n\nexport const INSERTION_SORT = \"INSERTION_SORT\";\n","import * as constants from \"../constants/constants\";\n\nconst getAnimations = (sortType, numbers) => {\n let animations = [];\n switch (sortType) {\n case constants.BUBBLE_SORT:\n animations = getBubbleSortAnimations(numbers);\n break;\n default:\n animations = [];\n }\n return animations;\n};\n\nconst getBubbleSortAnimations = numbers => {\n return bubbleSort(numbers);\n};\n\nconst swap = (arr, first_Index, second_Index) => {\n var temp = arr[first_Index];\n arr[first_Index] = arr[second_Index];\n arr[second_Index] = temp;\n};\n\nconst bubbleSort = arr => {\n var len = arr.length,\n i,\n j,\n stop;\n\n const animations = [];\n\n for (i = 0; i < len; i++) {\n for (j = 0, stop = len - i; j < stop; j++) {\n if (arr[j] > arr[j + 1]) {\n animations.push([j, j + 1]);\n swap(arr, j, j + 1);\n }\n }\n }\n\n return animations;\n};\n\nexport default getAnimations;\n","import React from \"react\";\nimport classes from \"./Button.module.css\";\n\nconst button = props => (\n
\n {props.children}\n
\n);\n\nexport default button;\n","import React from \"react\";\nimport Button from \"./Button/Button\";\nimport classes from \"./InteractionBar.module.css\";\n\nimport * as constants from \"../../constants/constants\";\n\nconst interactionBar = props => {\n return (\n
\n \n \n \n \n
\n );\n};\n\nexport default interactionBar;\n","import React, { Component } from \"react\";\nimport { connect } from \"react-redux\";\n\nimport BarsContainer from \"../../components/BarsContainer/BarsContainer\";\n\nimport classes from \"./SortingVisualizer.module.css\";\n\nimport * as actions from \"../../store/actions/actions\";\nimport * as constants from \"../../constants/constants\";\nimport getAnimations from \"../../helpers/sortingHelper\";\nimport InteractionBar from \"../../components/InteractionBar/InteractionBar\";\n\nclass SortingVisualizer extends Component {\n state = {\n sortType: constants.BUBBLE_SORT\n };\n\n componentDidMount = () => {\n this.props.reset();\n };\n\n handleSortTypeChange = sortType => {\n this.setState({ ...this.state, sortType: sortType });\n };\n\n handleCommenceSort = () => {\n const animations = getAnimations(\n this.state.sortType,\n this.props.numbers.slice()\n );\n\n animations.map((animation, index) =>\n setTimeout(() => this.props.swap(animation), index * 10)\n );\n };\n\n render() {\n return (\n
\n \n this.props.reset()}\n commence={() => this.handleCommenceSort()}\n changeSortType={sortType => this.handleSortTypeChange(sortType)}\n sortType={this.state.sortType}\n />\n
\n );\n }\n}\n\nconst mapStateToProps = state => {\n return {\n numbers: state.numbers\n };\n};\n\nconst mapDispatchToProps = dispatch => {\n return {\n reset: () => dispatch(actions.resetNumbers()),\n swap: indices => dispatch(actions.swap(indices))\n };\n};\n\nexport default connect(mapStateToProps, mapDispatchToProps)(SortingVisualizer);\n","import * as actionTypes from \"./actionTypes\";\n\nexport const resetNumbers = () => {\n return {\n type: actionTypes.RESET_NUMBERS\n };\n};\n\nexport const swap = indices => {\n return {\n type: actionTypes.SWAP,\n indices: indices\n };\n};\n\nexport const setAnimations = animations => {\n return {\n type: actionTypes.SET_ANIMATIONS,\n animations: animations\n };\n};\n","export const RESET_NUMBERS = \"RESET_NUMBERS\";\nexport const SET_ANIMATIONS = \"SET_ANIMATIONS\";\nexport const SWAP = \"SWAP\";\n","import React, { Component } from \"react\";\nimport \"./App.css\";\nimport SortingVisualizer from \"./containers/SortingVisualizer/SortingVisualizer\";\n\nclass App extends Component {\n render() {\n return (\n
\n \n
\n );\n }\n}\n\nexport default App;\n","// This optional code is used to register a service worker.\n// register() is not called by default.\n\n// This lets the app load faster on subsequent visits in production, and gives\n// it offline capabilities. However, it also means that developers (and users)\n// will only see deployed updates on subsequent visits to a page, after all the\n// existing tabs open on the page have been closed, since previously cached\n// resources are updated in the background.\n\n// To learn more about the benefits of this model and instructions on how to\n// opt-in, read https://bit.ly/CRA-PWA\n\nconst isLocalhost = Boolean(\n window.location.hostname === 'localhost' ||\n // [::1] is the IPv6 localhost address.\n window.location.hostname === '[::1]' ||\n // 127.0.0.1/8 is considered localhost for IPv4.\n window.location.hostname.match(\n /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/\n )\n);\n\nexport function register(config) {\n if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) {\n // The URL constructor is available in all browsers that support SW.\n const publicUrl = new URL(process.env.PUBLIC_URL, window.location.href);\n if (publicUrl.origin !== window.location.origin) {\n // Our service worker won't work if PUBLIC_URL is on a different origin\n // from what our page is served on. This might happen if a CDN is used to\n // serve assets; see https://github.com/facebook/create-react-app/issues/2374\n return;\n }\n\n window.addEventListener('load', () => {\n const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`;\n\n if (isLocalhost) {\n // This is running on localhost. Let's check if a service worker still exists or not.\n checkValidServiceWorker(swUrl, config);\n\n // Add some additional logging to localhost, pointing developers to the\n // service worker/PWA documentation.\n navigator.serviceWorker.ready.then(() => {\n console.log(\n 'This web app is being served cache-first by a service ' +\n 'worker. To learn more, visit https://bit.ly/CRA-PWA'\n );\n });\n } else {\n // Is not localhost. Just register service worker\n registerValidSW(swUrl, config);\n }\n });\n }\n}\n\nfunction registerValidSW(swUrl, config) {\n navigator.serviceWorker\n .register(swUrl)\n .then(registration => {\n registration.onupdatefound = () => {\n const installingWorker = registration.installing;\n if (installingWorker == null) {\n return;\n }\n installingWorker.onstatechange = () => {\n if (installingWorker.state === 'installed') {\n if (navigator.serviceWorker.controller) {\n // At this point, the updated precached content has been fetched,\n // but the previous service worker will still serve the older\n // content until all client tabs are closed.\n console.log(\n 'New content is available and will be used when all ' +\n 'tabs for this page are closed. See https://bit.ly/CRA-PWA.'\n );\n\n // Execute callback\n if (config && config.onUpdate) {\n config.onUpdate(registration);\n }\n } else {\n // At this point, everything has been precached.\n // It's the perfect time to display a\n // \"Content is cached for offline use.\" message.\n console.log('Content is cached for offline use.');\n\n // Execute callback\n if (config && config.onSuccess) {\n config.onSuccess(registration);\n }\n }\n }\n };\n };\n })\n .catch(error => {\n console.error('Error during service worker registration:', error);\n });\n}\n\nfunction checkValidServiceWorker(swUrl, config) {\n // Check if the service worker can be found. If it can't reload the page.\n fetch(swUrl)\n .then(response => {\n // Ensure service worker exists, and that we really are getting a JS file.\n const contentType = response.headers.get('content-type');\n if (\n response.status === 404 ||\n (contentType != null && contentType.indexOf('javascript') === -1)\n ) {\n // No service worker found. Probably a different app. Reload the page.\n navigator.serviceWorker.ready.then(registration => {\n registration.unregister().then(() => {\n window.location.reload();\n });\n });\n } else {\n // Service worker found. Proceed as normal.\n registerValidSW(swUrl, config);\n }\n })\n .catch(() => {\n console.log(\n 'No internet connection found. App is running in offline mode.'\n );\n });\n}\n\nexport function unregister() {\n if ('serviceWorker' in navigator) {\n navigator.serviceWorker.ready.then(registration => {\n registration.unregister();\n });\n }\n}\n","export const updateObject = (oldObject, updatedValues) => {\n return {\n ...oldObject,\n ...updatedValues \n }\n};","import * as actionTypes from \"../actions/actionTypes\";\nimport { updateObject } from \"../utility\";\nimport * as constants from \"../../constants/constants\";\n\nconst initialState = {\n numbers: [],\n};\n\nconst getRandomNumbers = () => {\n let numbers = [];\n for (let i = 0; i < constants.NUMBER_OF_ARRAY_BARS; i++) {\n numbers.push(getRandomInt(20, 599));\n }\n return numbers;\n};\n\nconst getRandomInt = (min, max) => {\n return Math.floor(Math.random() * (max - min + 1) + min);\n};\n\nconst reducer = (state = initialState, action) => {\n switch (action.type) {\n case actionTypes.RESET_NUMBERS:\n const numbers = getRandomNumbers();\n return updateObject(state, { numbers: numbers });\n case actionTypes.SWAP:\n const newNumbers = state.numbers.slice();\n const number = newNumbers[action.indices[0]];\n newNumbers[action.indices[0]] = newNumbers[action.indices[1]];\n newNumbers[action.indices[1]] = number;\n return updateObject(state, { numbers: newNumbers });\n default:\n return state;\n }\n};\n\nexport default reducer;\n","import React from \"react\";\nimport ReactDOM from \"react-dom\";\nimport { createStore } from \"redux\";\nimport { Provider } from \"react-redux\";\n\nimport \"./index.css\";\nimport App from \"./App\";\nimport * as serviceWorker from \"./serviceWorker\";\nimport reducer from \"./store/reducer/reducer.js\";\n\nconst store = createStore(\n reducer /* preloadedState, */,\n window.__REDUX_DEVTOOLS_EXTENSION__ && window.__REDUX_DEVTOOLS_EXTENSION__()\n);\n\nReactDOM.render(\n \n \n ,\n document.getElementById(\"root\")\n);\n\n// If you want your app to work offline and load faster, you can change\n// unregister() to register() below. Note this comes with some pitfalls.\n// Learn more about service workers: https://bit.ly/CRA-PWA\nserviceWorker.unregister();\n"],"sourceRoot":""} \ No newline at end of file diff --git a/static/js/runtime-main.98d58318.js b/static/js/runtime-main.ce64ded3.js similarity index 83% rename from static/js/runtime-main.98d58318.js rename to static/js/runtime-main.ce64ded3.js index 3992b28..4a9f006 100644 --- a/static/js/runtime-main.98d58318.js +++ b/static/js/runtime-main.ce64ded3.js @@ -1,2 +1,2 @@ -!function(e){function r(r){for(var n,i,l=r[0],a=r[1],f=r[2],c=0,s=[];c Date: Fri, 29 Nov 2019 17:55:38 +0530 Subject: [PATCH 3/6] Updates --- asset-manifest.json | 8 ++++---- index.html | 2 +- ... precache-manifest.238e2ec738c9b3a2cb92388e7072ad96.js | 8 ++++---- service-worker.js | 2 +- static/js/main.3ff6a319.chunk.js | 2 -- static/js/main.3ff6a319.chunk.js.map | 1 - static/js/main.4ce283be.chunk.js | 2 ++ static/js/main.4ce283be.chunk.js.map | 1 + 8 files changed, 13 insertions(+), 13 deletions(-) rename precache-manifest.bd349a9c7dd50e1a98e01235fa3d2446.js => precache-manifest.238e2ec738c9b3a2cb92388e7072ad96.js (69%) delete mode 100644 static/js/main.3ff6a319.chunk.js delete mode 100644 static/js/main.3ff6a319.chunk.js.map create mode 100644 static/js/main.4ce283be.chunk.js create mode 100644 static/js/main.4ce283be.chunk.js.map diff --git a/asset-manifest.json b/asset-manifest.json index fc74a98..c3402fd 100644 --- a/asset-manifest.json +++ b/asset-manifest.json @@ -1,14 +1,14 @@ { "files": { "main.css": "/sorting-visualizer/static/css/main.152d9bc1.chunk.css", - "main.js": "/sorting-visualizer/static/js/main.3ff6a319.chunk.js", - "main.js.map": "/sorting-visualizer/static/js/main.3ff6a319.chunk.js.map", + "main.js": "/sorting-visualizer/static/js/main.4ce283be.chunk.js", + "main.js.map": "/sorting-visualizer/static/js/main.4ce283be.chunk.js.map", "runtime-main.js": "/sorting-visualizer/static/js/runtime-main.ce64ded3.js", "runtime-main.js.map": "/sorting-visualizer/static/js/runtime-main.ce64ded3.js.map", "static/js/2.d1d7e087.chunk.js": "/sorting-visualizer/static/js/2.d1d7e087.chunk.js", "static/js/2.d1d7e087.chunk.js.map": "/sorting-visualizer/static/js/2.d1d7e087.chunk.js.map", "index.html": "/sorting-visualizer/index.html", - "precache-manifest.bd349a9c7dd50e1a98e01235fa3d2446.js": "/sorting-visualizer/precache-manifest.bd349a9c7dd50e1a98e01235fa3d2446.js", + "precache-manifest.238e2ec738c9b3a2cb92388e7072ad96.js": "/sorting-visualizer/precache-manifest.238e2ec738c9b3a2cb92388e7072ad96.js", "service-worker.js": "/sorting-visualizer/service-worker.js", "static/css/main.152d9bc1.chunk.css.map": "/sorting-visualizer/static/css/main.152d9bc1.chunk.css.map" }, @@ -16,6 +16,6 @@ "static/js/runtime-main.ce64ded3.js", "static/js/2.d1d7e087.chunk.js", "static/css/main.152d9bc1.chunk.css", - "static/js/main.3ff6a319.chunk.js" + "static/js/main.4ce283be.chunk.js" ] } \ No newline at end of file diff --git a/index.html b/index.html index 6726064..a415f8c 100644 --- a/index.html +++ b/index.html @@ -1 +1 @@ -React App
\ No newline at end of file +React App
\ No newline at end of file diff --git a/precache-manifest.bd349a9c7dd50e1a98e01235fa3d2446.js b/precache-manifest.238e2ec738c9b3a2cb92388e7072ad96.js similarity index 69% rename from precache-manifest.bd349a9c7dd50e1a98e01235fa3d2446.js rename to precache-manifest.238e2ec738c9b3a2cb92388e7072ad96.js index 81a80ee..c87a944 100644 --- a/precache-manifest.bd349a9c7dd50e1a98e01235fa3d2446.js +++ b/precache-manifest.238e2ec738c9b3a2cb92388e7072ad96.js @@ -1,10 +1,10 @@ self.__precacheManifest = (self.__precacheManifest || []).concat([ { - "revision": "9a60bd9d9095ff1990b8bff844d2f433", + "revision": "c5cdbd4fc29c7dcdc33f6e63cb806364", "url": "/sorting-visualizer/index.html" }, { - "revision": "9c02f0c11e53631a75c9", + "revision": "ab022757c198023c1a9e", "url": "/sorting-visualizer/static/css/main.152d9bc1.chunk.css" }, { @@ -12,8 +12,8 @@ self.__precacheManifest = (self.__precacheManifest || []).concat([ "url": "/sorting-visualizer/static/js/2.d1d7e087.chunk.js" }, { - "revision": "9c02f0c11e53631a75c9", - "url": "/sorting-visualizer/static/js/main.3ff6a319.chunk.js" + "revision": "ab022757c198023c1a9e", + "url": "/sorting-visualizer/static/js/main.4ce283be.chunk.js" }, { "revision": "ccf43644322815e86a73", diff --git a/service-worker.js b/service-worker.js index a04f580..9df83a5 100644 --- a/service-worker.js +++ b/service-worker.js @@ -14,7 +14,7 @@ importScripts("https://storage.googleapis.com/workbox-cdn/releases/4.3.1/workbox-sw.js"); importScripts( - "/sorting-visualizer/precache-manifest.bd349a9c7dd50e1a98e01235fa3d2446.js" + "/sorting-visualizer/precache-manifest.238e2ec738c9b3a2cb92388e7072ad96.js" ); self.addEventListener('message', (event) => { diff --git a/static/js/main.3ff6a319.chunk.js b/static/js/main.3ff6a319.chunk.js deleted file mode 100644 index 3fcc603..0000000 --- a/static/js/main.3ff6a319.chunk.js +++ /dev/null @@ -1,2 +0,0 @@ -(this["webpackJsonpsorting-visualizer"]=this["webpackJsonpsorting-visualizer"]||[]).push([[0],[,,,,,,,,,,,,,,,function(e,t,n){e.exports={Button:"Button_Button__3qR7j",Button1:"Button_Button1__2_rnQ",Button2:"Button_Button2__1LiY_",Button3:"Button_Button3__3AwsT",Button4:"Button_Button4__3ZIM7",Button5:"Button_Button5__2QJCN"}},,,function(e,t,n){e.exports={Bar:"Bar_Bar__3Vy_p"}},function(e,t,n){e.exports={BarsContainer:"BarsContainer_BarsContainer__17pOc"}},function(e,t,n){e.exports={SortingVisualizer:"SortingVisualizer_SortingVisualizer__1kbp7"}},function(e,t,n){},function(e,t,n){e.exports=n(34)},,,,,,,,,,function(e,t,n){},function(e,t,n){},function(e,t,n){"use strict";n.r(t);var r=n(0),o=n.n(r),c=n(8),a=n.n(c),i=n(9),u=n(11),s=(n(32),n(3)),p=n(4),l=n(6),f=n(5),b=n(7),m=(n(33),n(10)),h=n(18),O=n.n(h),y=function(e){function t(){return Object(s.a)(this,t),Object(l.a)(this,Object(f.a)(t).apply(this,arguments))}return Object(b.a)(t,e),Object(p.a)(t,[{key:"shouldComponentUpdate",value:function(e,t){return e.height!==this.props.height}},{key:"render",value:function(){return o.a.createElement("div",{className:O.a.Bar,style:{height:"".concat(this.props.height/599*100,"%")}})}}]),t}(r.Component),_=n(19),d=n.n(_),j=function(e){return o.a.createElement("div",{className:d.a.BarsContainer},e.numbers.map((function(e,t){return o.a.createElement(y,{key:t,height:e})})))},g=n(20),v=n.n(g),E="BUBBLE_SORT",B=function(e){return w(e)},S=function(e,t,n){var r=e[t];e[t]=e[n],e[n]=r},w=function(e){var t,n,r,o=e.length,c=[];for(t=0;te[n+1]&&(c.push([n,n+1]),S(e,n,n+1));return c},T=function(e,t){var n=[];switch(e){case E:n=B(t);break;default:n=[]}return n},k=n(15),P=n.n(k),C=function(e){return o.a.createElement("div",{className:[P.a.Button,P.a.Button3].join(" "),onClick:e.clicked},e.children)},D=n(21),N=n.n(D),R=function(e){return o.a.createElement("div",{className:N.a.InteractionBar},o.a.createElement(C,{clicked:e.reset},"Reset"),o.a.createElement(C,{clicked:function(){return e.changeSortType(E)}},"Bubble Sort"),o.a.createElement(C,{clicked:function(){return e.changeSortType("MERGE_SORT")}},"Merge Sort"),o.a.createElement(C,{clicked:e.commence},"Commence Sort!"))};function M(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}var V=function(e){function t(){var e,n;Object(s.a)(this,t);for(var r=arguments.length,o=new Array(r),c=0;c0&&void 0!==arguments[0]?arguments[0]:I,t=arguments.length>1?arguments[1]:void 0;switch(t.type){case"RESET_NUMBERS":var n=L();return A(e,{numbers:n});case"SWAP":var r=e.numbers.slice(),o=r[t.indices[0]];return r[t.indices[0]]=r[t.indices[1]],r[t.indices[1]]=o,A(e,{numbers:r});default:return e}},J=Object(i.b)(X,window.__REDUX_DEVTOOLS_EXTENSION__&&window.__REDUX_DEVTOOLS_EXTENSION__());a.a.render(o.a.createElement(u.a,{store:J},o.a.createElement(U,null)),document.getElementById("root")),"serviceWorker"in navigator&&navigator.serviceWorker.ready.then((function(e){e.unregister()}))}],[[22,1,2]]]); -//# sourceMappingURL=main.3ff6a319.chunk.js.map \ No newline at end of file diff --git a/static/js/main.3ff6a319.chunk.js.map b/static/js/main.3ff6a319.chunk.js.map deleted file mode 100644 index bb41bd9..0000000 --- a/static/js/main.3ff6a319.chunk.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["components/InteractionBar/Button/Button.module.css","components/BarsContainer/Bar/Bar.module.css","components/BarsContainer/BarsContainer.module.css","containers/SortingVisualizer/SortingVisualizer.module.css","components/BarsContainer/Bar/Bar.js","components/BarsContainer/BarsContainer.js","constants/constants.js","helpers/sortingHelper.js","components/InteractionBar/Button/Button.js","components/InteractionBar/InteractionBar.js","containers/SortingVisualizer/SortingVisualizer.js","store/actions/actions.js","store/actions/actionTypes.js","App.js","serviceWorker.js","store/utility.js","store/reducer/reducer.js","index.js"],"names":["module","exports","Bar","nextProps","nextState","height","this","props","className","classes","style","Component","barsContainer","BarsContainer","numbers","map","number","index","key","BUBBLE_SORT","getBubbleSortAnimations","bubbleSort","swap","arr","first_Index","second_Index","temp","i","j","stop","len","length","animations","push","getAnimations","sortType","constants","button","Button","Button3","join","onClick","clicked","children","interactionBar","InteractionBar","reset","changeSortType","commence","SortingVisualizer","state","componentDidMount","handleSortTypeChange","setState","handleCommenceSort","slice","animation","setTimeout","connect","dispatch","type","indices","actions","App","Boolean","window","location","hostname","match","updateObject","oldObject","updatedValues","initialState","getRandomNumbers","getRandomInt","min","max","Math","floor","random","reducer","action","newNumbers","store","createStore","__REDUX_DEVTOOLS_EXTENSION__","ReactDOM","render","document","getElementById","navigator","serviceWorker","ready","then","registration","unregister"],"mappings":"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","file":"static/js/main.3ff6a319.chunk.js","sourcesContent":["// extracted by mini-css-extract-plugin\nmodule.exports = {\"Button\":\"Button_Button__3qR7j\",\"Button1\":\"Button_Button1__2_rnQ\",\"Button2\":\"Button_Button2__1LiY_\",\"Button3\":\"Button_Button3__3AwsT\",\"Button4\":\"Button_Button4__3ZIM7\",\"Button5\":\"Button_Button5__2QJCN\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"Bar\":\"Bar_Bar__3Vy_p\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"BarsContainer\":\"BarsContainer_BarsContainer__17pOc\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"SortingVisualizer\":\"SortingVisualizer_SortingVisualizer__1kbp7\"};","import React, { Component } from \"react\";\nimport classes from \"./Bar.module.css\";\n\nclass Bar extends Component {\n shouldComponentUpdate(nextProps, nextState) {\n return nextProps.height !== this.props.height;\n }\n\n render() {\n return (\n \n );\n }\n}\n\nexport default Bar;\n","import React from \"react\";\nimport Bar from \"./Bar/Bar\";\n\nimport classes from \"./BarsContainer.module.css\";\n\nconst barsContainer = props => (\n
\n {props.numbers.map((number, index) => (\n \n ))}\n
\n);\n\nexport default barsContainer;\n","export const NUMBER_OF_ARRAY_BARS = 100;\n\nexport const MERGE_SORT = \"MERGE_SORT\";\n\nexport const QUICK_SORT = \"QUICK_SORT\";\n\nexport const BUBBLE_SORT = \"BUBBLE_SORT\";\n\nexport const SELECTION_SORT = \"SELECTION_SORT\";\n\nexport const INSERTION_SORT = \"INSERTION_SORT\";\n","import * as constants from \"../constants/constants\";\n\nconst getAnimations = (sortType, numbers) => {\n let animations = [];\n switch (sortType) {\n case constants.BUBBLE_SORT:\n animations = getBubbleSortAnimations(numbers);\n break;\n default:\n animations = [];\n }\n return animations;\n};\n\nconst getBubbleSortAnimations = numbers => {\n return bubbleSort(numbers);\n};\n\nconst swap = (arr, first_Index, second_Index) => {\n var temp = arr[first_Index];\n arr[first_Index] = arr[second_Index];\n arr[second_Index] = temp;\n};\n\nconst bubbleSort = arr => {\n var len = arr.length,\n i,\n j,\n stop;\n\n const animations = [];\n\n for (i = 0; i < len; i++) {\n for (j = 0, stop = len - i; j < stop; j++) {\n if (arr[j] > arr[j + 1]) {\n animations.push([j, j + 1]);\n swap(arr, j, j + 1);\n }\n }\n }\n\n return animations;\n};\n\nexport default getAnimations;\n","import React from \"react\";\nimport classes from \"./Button.module.css\";\n\nconst button = props => (\n
\n {props.children}\n
\n);\n\nexport default button;\n","import React from \"react\";\nimport Button from \"./Button/Button\";\nimport classes from \"./InteractionBar.module.css\";\n\nimport * as constants from \"../../constants/constants\";\n\nconst interactionBar = props => {\n return (\n
\n \n \n \n \n
\n );\n};\n\nexport default interactionBar;\n","import React, { Component } from \"react\";\nimport { connect } from \"react-redux\";\n\nimport BarsContainer from \"../../components/BarsContainer/BarsContainer\";\n\nimport classes from \"./SortingVisualizer.module.css\";\n\nimport * as actions from \"../../store/actions/actions\";\nimport * as constants from \"../../constants/constants\";\nimport getAnimations from \"../../helpers/sortingHelper\";\nimport InteractionBar from \"../../components/InteractionBar/InteractionBar\";\n\nclass SortingVisualizer extends Component {\n state = {\n sortType: constants.BUBBLE_SORT\n };\n\n componentDidMount = () => {\n this.props.reset();\n };\n\n handleSortTypeChange = sortType => {\n this.setState({ ...this.state, sortType: sortType });\n };\n\n handleCommenceSort = () => {\n const animations = getAnimations(\n this.state.sortType,\n this.props.numbers.slice()\n );\n\n animations.map((animation, index) =>\n setTimeout(() => this.props.swap(animation), index * 10)\n );\n };\n\n render() {\n return (\n
\n \n this.props.reset()}\n commence={() => this.handleCommenceSort()}\n changeSortType={sortType => this.handleSortTypeChange(sortType)}\n sortType={this.state.sortType}\n />\n
\n );\n }\n}\n\nconst mapStateToProps = state => {\n return {\n numbers: state.numbers\n };\n};\n\nconst mapDispatchToProps = dispatch => {\n return {\n reset: () => dispatch(actions.resetNumbers()),\n swap: indices => dispatch(actions.swap(indices))\n };\n};\n\nexport default connect(mapStateToProps, mapDispatchToProps)(SortingVisualizer);\n","import * as actionTypes from \"./actionTypes\";\n\nexport const resetNumbers = () => {\n return {\n type: actionTypes.RESET_NUMBERS\n };\n};\n\nexport const swap = indices => {\n return {\n type: actionTypes.SWAP,\n indices: indices\n };\n};\n\nexport const setAnimations = animations => {\n return {\n type: actionTypes.SET_ANIMATIONS,\n animations: animations\n };\n};\n","export const RESET_NUMBERS = \"RESET_NUMBERS\";\nexport const SET_ANIMATIONS = \"SET_ANIMATIONS\";\nexport const SWAP = \"SWAP\";\n","import React, { Component } from \"react\";\nimport \"./App.css\";\nimport SortingVisualizer from \"./containers/SortingVisualizer/SortingVisualizer\";\n\nclass App extends Component {\n render() {\n return (\n
\n \n
\n );\n }\n}\n\nexport default App;\n","// This optional code is used to register a service worker.\n// register() is not called by default.\n\n// This lets the app load faster on subsequent visits in production, and gives\n// it offline capabilities. However, it also means that developers (and users)\n// will only see deployed updates on subsequent visits to a page, after all the\n// existing tabs open on the page have been closed, since previously cached\n// resources are updated in the background.\n\n// To learn more about the benefits of this model and instructions on how to\n// opt-in, read https://bit.ly/CRA-PWA\n\nconst isLocalhost = Boolean(\n window.location.hostname === 'localhost' ||\n // [::1] is the IPv6 localhost address.\n window.location.hostname === '[::1]' ||\n // 127.0.0.1/8 is considered localhost for IPv4.\n window.location.hostname.match(\n /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/\n )\n);\n\nexport function register(config) {\n if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) {\n // The URL constructor is available in all browsers that support SW.\n const publicUrl = new URL(process.env.PUBLIC_URL, window.location.href);\n if (publicUrl.origin !== window.location.origin) {\n // Our service worker won't work if PUBLIC_URL is on a different origin\n // from what our page is served on. This might happen if a CDN is used to\n // serve assets; see https://github.com/facebook/create-react-app/issues/2374\n return;\n }\n\n window.addEventListener('load', () => {\n const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`;\n\n if (isLocalhost) {\n // This is running on localhost. Let's check if a service worker still exists or not.\n checkValidServiceWorker(swUrl, config);\n\n // Add some additional logging to localhost, pointing developers to the\n // service worker/PWA documentation.\n navigator.serviceWorker.ready.then(() => {\n console.log(\n 'This web app is being served cache-first by a service ' +\n 'worker. To learn more, visit https://bit.ly/CRA-PWA'\n );\n });\n } else {\n // Is not localhost. Just register service worker\n registerValidSW(swUrl, config);\n }\n });\n }\n}\n\nfunction registerValidSW(swUrl, config) {\n navigator.serviceWorker\n .register(swUrl)\n .then(registration => {\n registration.onupdatefound = () => {\n const installingWorker = registration.installing;\n if (installingWorker == null) {\n return;\n }\n installingWorker.onstatechange = () => {\n if (installingWorker.state === 'installed') {\n if (navigator.serviceWorker.controller) {\n // At this point, the updated precached content has been fetched,\n // but the previous service worker will still serve the older\n // content until all client tabs are closed.\n console.log(\n 'New content is available and will be used when all ' +\n 'tabs for this page are closed. See https://bit.ly/CRA-PWA.'\n );\n\n // Execute callback\n if (config && config.onUpdate) {\n config.onUpdate(registration);\n }\n } else {\n // At this point, everything has been precached.\n // It's the perfect time to display a\n // \"Content is cached for offline use.\" message.\n console.log('Content is cached for offline use.');\n\n // Execute callback\n if (config && config.onSuccess) {\n config.onSuccess(registration);\n }\n }\n }\n };\n };\n })\n .catch(error => {\n console.error('Error during service worker registration:', error);\n });\n}\n\nfunction checkValidServiceWorker(swUrl, config) {\n // Check if the service worker can be found. If it can't reload the page.\n fetch(swUrl)\n .then(response => {\n // Ensure service worker exists, and that we really are getting a JS file.\n const contentType = response.headers.get('content-type');\n if (\n response.status === 404 ||\n (contentType != null && contentType.indexOf('javascript') === -1)\n ) {\n // No service worker found. Probably a different app. Reload the page.\n navigator.serviceWorker.ready.then(registration => {\n registration.unregister().then(() => {\n window.location.reload();\n });\n });\n } else {\n // Service worker found. Proceed as normal.\n registerValidSW(swUrl, config);\n }\n })\n .catch(() => {\n console.log(\n 'No internet connection found. App is running in offline mode.'\n );\n });\n}\n\nexport function unregister() {\n if ('serviceWorker' in navigator) {\n navigator.serviceWorker.ready.then(registration => {\n registration.unregister();\n });\n }\n}\n","export const updateObject = (oldObject, updatedValues) => {\n return {\n ...oldObject,\n ...updatedValues \n }\n};","import * as actionTypes from \"../actions/actionTypes\";\nimport { updateObject } from \"../utility\";\nimport * as constants from \"../../constants/constants\";\n\nconst initialState = {\n numbers: [],\n};\n\nconst getRandomNumbers = () => {\n let numbers = [];\n for (let i = 0; i < constants.NUMBER_OF_ARRAY_BARS; i++) {\n numbers.push(getRandomInt(20, 599));\n }\n return numbers;\n};\n\nconst getRandomInt = (min, max) => {\n return Math.floor(Math.random() * (max - min + 1) + min);\n};\n\nconst reducer = (state = initialState, action) => {\n switch (action.type) {\n case actionTypes.RESET_NUMBERS:\n const numbers = getRandomNumbers();\n return updateObject(state, { numbers: numbers });\n case actionTypes.SWAP:\n const newNumbers = state.numbers.slice();\n const number = newNumbers[action.indices[0]];\n newNumbers[action.indices[0]] = newNumbers[action.indices[1]];\n newNumbers[action.indices[1]] = number;\n return updateObject(state, { numbers: newNumbers });\n default:\n return state;\n }\n};\n\nexport default reducer;\n","import React from \"react\";\nimport ReactDOM from \"react-dom\";\nimport { createStore } from \"redux\";\nimport { Provider } from \"react-redux\";\n\nimport \"./index.css\";\nimport App from \"./App\";\nimport * as serviceWorker from \"./serviceWorker\";\nimport reducer from \"./store/reducer/reducer.js\";\n\nconst store = createStore(\n reducer /* preloadedState, */,\n window.__REDUX_DEVTOOLS_EXTENSION__ && window.__REDUX_DEVTOOLS_EXTENSION__()\n);\n\nReactDOM.render(\n \n \n ,\n document.getElementById(\"root\")\n);\n\n// If you want your app to work offline and load faster, you can change\n// unregister() to register() below. Note this comes with some pitfalls.\n// Learn more about service workers: https://bit.ly/CRA-PWA\nserviceWorker.unregister();\n"],"sourceRoot":""} \ No newline at end of file diff --git a/static/js/main.4ce283be.chunk.js b/static/js/main.4ce283be.chunk.js new file mode 100644 index 0000000..67f9f5c --- /dev/null +++ b/static/js/main.4ce283be.chunk.js @@ -0,0 +1,2 @@ +(this["webpackJsonpsorting-visualizer"]=this["webpackJsonpsorting-visualizer"]||[]).push([[0],[,,,,,,,,,,,,,,,function(e,t,n){e.exports={Button:"Button_Button__3qR7j",Button1:"Button_Button1__2_rnQ",Button2:"Button_Button2__1LiY_",Button3:"Button_Button3__3AwsT",Button4:"Button_Button4__3ZIM7",Button5:"Button_Button5__2QJCN"}},,,function(e,t,n){e.exports={Bar:"Bar_Bar__3Vy_p"}},function(e,t,n){e.exports={BarsContainer:"BarsContainer_BarsContainer__17pOc"}},function(e,t,n){e.exports={SortingVisualizer:"SortingVisualizer_SortingVisualizer__1kbp7"}},function(e,t,n){},function(e,t,n){e.exports=n(34)},,,,,,,,,,function(e,t,n){},function(e,t,n){},function(e,t,n){"use strict";n.r(t);var r=n(0),o=n.n(r),c=n(8),a=n.n(c),i=n(9),u=n(11),s=(n(32),n(3)),p=n(4),l=n(6),f=n(5),O=n(7),b=(n(33),n(10)),h=n(18),m=n.n(h),y=function(e){function t(){return Object(s.a)(this,t),Object(l.a)(this,Object(f.a)(t).apply(this,arguments))}return Object(O.a)(t,e),Object(p.a)(t,[{key:"shouldComponentUpdate",value:function(e,t){return e.height!==this.props.height}},{key:"render",value:function(){return o.a.createElement("div",{className:m.a.Bar,style:{height:"".concat(this.props.height/599*100,"%")}})}}]),t}(r.Component),_=n(19),d=n.n(_),j=function(e){return o.a.createElement("div",{className:d.a.BarsContainer},e.numbers.map((function(e,t){return o.a.createElement(y,{key:t,height:e})})))},E=n(20),v=n.n(E),g="BUBBLE_SORT",S=function(e){return k(e)},B=function(e){return w(e)},w=function(e){for(var t=e.length,n=[],r=0;re[c]&&(o=c);o!==r&&(n.push([o,r]),T(e,o,r))}return n},T=function(e,t,n){var r=e[t];e[t]=e[n],e[n]=r},k=function(e){var t,n,r,o=e.length,c=[];for(t=0;te[n+1]&&(c.push([n,n+1]),T(e,n,n+1));return c},P=function(e,t){var n=[];switch(e){case g:n=S(t);break;case"SELECTION_SORT":n=B(t);break;default:n=[]}return n},C=n(15),N=n.n(C),D=function(e){return o.a.createElement("div",{className:[N.a.Button,N.a.Button3].join(" "),onClick:e.clicked},e.children)},R=n(21),I=n.n(R),V=function(e){return o.a.createElement("div",{className:I.a.InteractionBar},o.a.createElement(D,{clicked:e.reset},"Reset"),o.a.createElement(D,{clicked:function(){return e.changeSortType(g)}},"Bubble Sort"),o.a.createElement(D,{clicked:function(){return e.changeSortType("INSERTION_SORT")}},"Insertion Sort"),o.a.createElement(D,{clicked:function(){return e.changeSortType("SELECTION_SORT")}},"Selection Sort"),o.a.createElement(D,{clicked:e.commence},"Commence Sort!"))};function z(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}var L=function(e){function t(){var e,n;Object(s.a)(this,t);for(var r=arguments.length,o=new Array(r),c=0;c0&&void 0!==arguments[0]?arguments[0]:W,t=arguments.length>1?arguments[1]:void 0;switch(t.type){case"RESET_NUMBERS":var n=X();return A(e,{numbers:n});case"SWAP":var r=e.numbers.slice(),o=r[t.indices[0]];return r[t.indices[0]]=r[t.indices[1]],r[t.indices[1]]=o,A(e,{numbers:r});default:return e}},q=Object(i.b)(Q,window.__REDUX_DEVTOOLS_EXTENSION__&&window.__REDUX_DEVTOOLS_EXTENSION__());a.a.render(o.a.createElement(u.a,{store:q},o.a.createElement(U,null)),document.getElementById("root")),"serviceWorker"in navigator&&navigator.serviceWorker.ready.then((function(e){e.unregister()}))}],[[22,1,2]]]); +//# sourceMappingURL=main.4ce283be.chunk.js.map \ No newline at end of file diff --git a/static/js/main.4ce283be.chunk.js.map b/static/js/main.4ce283be.chunk.js.map new file mode 100644 index 0000000..e2d43ef --- /dev/null +++ b/static/js/main.4ce283be.chunk.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["components/InteractionBar/Button/Button.module.css","components/BarsContainer/Bar/Bar.module.css","components/BarsContainer/BarsContainer.module.css","containers/SortingVisualizer/SortingVisualizer.module.css","components/BarsContainer/Bar/Bar.js","components/BarsContainer/BarsContainer.js","constants/constants.js","helpers/sortingHelper.js","components/InteractionBar/Button/Button.js","components/InteractionBar/InteractionBar.js","containers/SortingVisualizer/SortingVisualizer.js","store/actions/actions.js","store/actions/actionTypes.js","App.js","serviceWorker.js","store/utility.js","store/reducer/reducer.js","index.js"],"names":["module","exports","Bar","nextProps","nextState","height","this","props","className","classes","style","Component","barsContainer","BarsContainer","numbers","map","number","index","key","BUBBLE_SORT","getBubbleSortAnimations","bubbleSort","getSelectionSortAnimations","selectionSort","arr","len","length","animations","i","min","j","push","swap","index1","index2","temp","stop","getAnimations","sortType","constants","button","Button","Button3","join","onClick","clicked","children","interactionBar","InteractionBar","reset","changeSortType","commence","SortingVisualizer","state","componentDidMount","handleSortTypeChange","setState","handleCommenceSort","slice","animation","setTimeout","connect","dispatch","type","indices","actions","App","Boolean","window","location","hostname","match","updateObject","oldObject","updatedValues","initialState","getRandomNumbers","getRandomInt","max","Math","floor","random","reducer","action","newNumbers","store","createStore","__REDUX_DEVTOOLS_EXTENSION__","ReactDOM","render","document","getElementById","navigator","serviceWorker","ready","then","registration","unregister"],"mappings":"8HACAA,EAAOC,QAAU,CAAC,OAAS,uBAAuB,QAAU,wBAAwB,QAAU,wBAAwB,QAAU,wBAAwB,QAAU,wBAAwB,QAAU,0B,kBCApMD,EAAOC,QAAU,CAAC,IAAM,mB,gBCAxBD,EAAOC,QAAU,CAAC,cAAgB,uC,gBCAlCD,EAAOC,QAAU,CAAC,kBAAoB,+C,mQCiBvBC,E,8LAdSC,EAAWC,GAC/B,OAAOD,EAAUE,SAAWC,KAAKC,MAAMF,S,+BAIvC,OACE,yBACEG,UAAWC,IAAQP,IACnBQ,MAAO,CAAEL,OAAO,GAAD,OAAKC,KAAKC,MAAMF,OAAS,IAAM,IAA/B,Y,GATLM,a,iBCUHC,EARO,SAAAL,GAAK,OACzB,yBAAKC,UAAWC,IAAQI,eACrBN,EAAMO,QAAQC,KAAI,SAACC,EAAQC,GAAT,OACjB,kBAAC,EAAD,CAAKC,IAAKD,EAAOZ,OAAQW,S,iBCFlBG,EAAc,cCWrBC,EAA0B,SAAAN,GAC9B,OAAOO,EAAWP,IAGdQ,EAA6B,SAAAR,GACjC,OAAOS,EAAcT,IAGjBS,EAAgB,SAAAC,GAGpB,IAFA,IAAIC,EAAMD,EAAIE,OACVC,EAAa,GACRC,EAAI,EAAGA,EAAIH,EAAKG,IAAK,CAE5B,IADA,IAAIC,EAAMD,EACDE,EAAIF,EAAI,EAAGE,EAAIL,EAAKK,IACvBN,EAAIK,GAAOL,EAAIM,KACjBD,EAAMC,GAGND,IAAQD,IACVD,EAAWI,KAAK,CAACF,EAAKD,IACtBI,EAAKR,EAAKK,EAAKD,IAGnB,OAAOD,GAGHK,EAAO,SAACR,EAAKS,EAAQC,GACzB,IAAIC,EAAOX,EAAIS,GACfT,EAAIS,GAAUT,EAAIU,GAClBV,EAAIU,GAAUC,GAGVd,EAAa,SAAAG,GACjB,IACEI,EACAE,EACAM,EAHEX,EAAMD,EAAIE,OAKRC,EAAa,GAEnB,IAAKC,EAAI,EAAGA,EAAIH,EAAKG,IACnB,IAAKE,EAAI,EAAGM,EAAOX,EAAMG,EAAGE,EAAIM,EAAMN,IAChCN,EAAIM,GAAKN,EAAIM,EAAI,KACnBH,EAAWI,KAAK,CAACD,EAAGA,EAAI,IACxBE,EAAKR,EAAKM,EAAGA,EAAI,IAKvB,OAAOH,GAGMU,EAnEO,SAACC,EAAUxB,GAC/B,IAAIa,EAAa,GACjB,OAAQW,GACN,KAAKC,EACHZ,EAAaP,EAAwBN,GACrC,MACF,IDA0B,iBCCxBa,EAAaL,EAA2BR,GACxC,MACF,QACEa,EAAa,GAEjB,OAAOA,G,iBCLMa,EANA,SAAAjC,GAAK,OAClB,yBAAKC,UAAW,CAACC,IAAQgC,OAAQhC,IAAQiC,SAASC,KAAK,KAAMC,QAASrC,EAAMsC,SACzEtC,EAAMuC,W,iBCiCIC,EAhCQ,SAAAxC,GAerB,OACE,yBAAKC,UAAWC,IAAQuC,gBACtB,kBAACP,EAAD,CAAQI,QAAStC,EAAM0C,OAAvB,SACA,kBAACR,EAAD,CAAQI,QAAS,kBAAMtC,EAAM2C,eAAeX,KAA5C,eAGA,kBAACE,EAAD,CAAQI,QAAS,kBAAMtC,EAAM2C,eHjBL,oBGiBxB,kBAGA,kBAACT,EAAD,CAAQI,QAAS,kBAAMtC,EAAM2C,eHtBL,oBGsBxB,kBAGA,kBAACT,EAAD,CAAQI,QAAStC,EAAM4C,UAAvB,oB,kOCrBAC,E,2MACJC,MAAQ,CACNf,SAAUC,G,EAGZe,kBAAoB,WAClB,EAAK/C,MAAM0C,S,EAGbM,qBAAuB,SAAAjB,GACrB,EAAKkB,S,yWAAL,IAAmB,EAAKH,MAAxB,CAA+Bf,SAAUA,M,EAG3CmB,mBAAqB,WACApB,EACjB,EAAKgB,MAAMf,SACX,EAAK/B,MAAMO,QAAQ4C,SAGV3C,KAAI,SAAC4C,EAAW1C,GAAZ,OACb2C,YAAW,kBAAM,EAAKrD,MAAMyB,KAAK2B,KAAoB,IAAR1C,O,wEAIvC,IAAD,OACP,OACE,yBAAKT,UAAWC,IAAQ2C,mBACtB,kBAACvC,EAAD,CAAeC,QAASR,KAAKC,MAAMO,UACnC,kBAACkC,EAAD,CACEC,MAAO,kBAAM,EAAK1C,MAAM0C,SACxBE,SAAU,kBAAM,EAAKM,sBACrBP,eAAgB,SAAAZ,GAAQ,OAAI,EAAKiB,qBAAqBjB,IACtDA,SAAUhC,KAAK+C,MAAMf,gB,GAhCC3B,aAoDjBkD,eAbS,SAAAR,GACtB,MAAO,CACLvC,QAASuC,EAAMvC,YAIQ,SAAAgD,GACzB,MAAO,CACLb,MAAO,kBAAMa,ECxDR,CACLC,KCJyB,mBF4DzB/B,KAAM,SAAAgC,GAAO,OAAIF,ECpDD,SAAAE,GAClB,MAAO,CACLD,KCRgB,ODShBC,QAASA,GDiDiBC,CAAaD,QAI5BH,CAA6CT,GGlD7Cc,E,iLARX,OACE,yBAAK1D,UAAU,OACb,kBAAC,EAAD,W,GAJUG,aCQEwD,QACW,cAA7BC,OAAOC,SAASC,UAEe,UAA7BF,OAAOC,SAASC,UAEhBF,OAAOC,SAASC,SAASC,MACvB,2D,8NClBC,IAAMC,EAAe,SAACC,EAAWC,GACtC,O,yWAAO,IACFD,EADL,GAEKC,ICCDC,EAAe,CACnB7D,QAAS,IAGL8D,EAAmB,WAEvB,IADA,IAAI9D,EAAU,GACLc,EAAI,EAAGA,EVVkB,IUUkBA,IAClDd,EAAQiB,KAAK8C,EAAa,GAAI,MAEhC,OAAO/D,GAGH+D,EAAe,SAAChD,EAAKiD,GACzB,OAAOC,KAAKC,MAAMD,KAAKE,UAAYH,EAAMjD,EAAM,GAAKA,IAmBvCqD,EAhBC,WAAmC,IAAlC7B,EAAiC,uDAAzBsB,EAAcQ,EAAW,uCAChD,OAAQA,EAAOpB,MACb,IJtByB,gBIuBvB,IAAMjD,EAAU8D,IAChB,OAAOJ,EAAanB,EAAO,CAAEvC,QAASA,IACxC,IJvBgB,OIwBd,IAAMsE,EAAa/B,EAAMvC,QAAQ4C,QAC3B1C,EAASoE,EAAWD,EAAOnB,QAAQ,IAGzC,OAFAoB,EAAWD,EAAOnB,QAAQ,IAAMoB,EAAWD,EAAOnB,QAAQ,IAC1DoB,EAAWD,EAAOnB,QAAQ,IAAMhD,EACzBwD,EAAanB,EAAO,CAAEvC,QAASsE,IACxC,QACE,OAAO/B,ICtBPgC,EAAQC,YACZJ,EACAd,OAAOmB,8BAAgCnB,OAAOmB,gCAGhDC,IAASC,OACP,kBAAC,IAAD,CAAUJ,MAAOA,GACf,kBAAC,EAAD,OAEFK,SAASC,eAAe,SH8GpB,kBAAmBC,WACrBA,UAAUC,cAAcC,MAAMC,MAAK,SAAAC,GACjCA,EAAaC,kB","file":"static/js/main.4ce283be.chunk.js","sourcesContent":["// extracted by mini-css-extract-plugin\nmodule.exports = {\"Button\":\"Button_Button__3qR7j\",\"Button1\":\"Button_Button1__2_rnQ\",\"Button2\":\"Button_Button2__1LiY_\",\"Button3\":\"Button_Button3__3AwsT\",\"Button4\":\"Button_Button4__3ZIM7\",\"Button5\":\"Button_Button5__2QJCN\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"Bar\":\"Bar_Bar__3Vy_p\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"BarsContainer\":\"BarsContainer_BarsContainer__17pOc\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"SortingVisualizer\":\"SortingVisualizer_SortingVisualizer__1kbp7\"};","import React, { Component } from \"react\";\nimport classes from \"./Bar.module.css\";\n\nclass Bar extends Component {\n shouldComponentUpdate(nextProps, nextState) {\n return nextProps.height !== this.props.height;\n }\n\n render() {\n return (\n \n );\n }\n}\n\nexport default Bar;\n","import React from \"react\";\nimport Bar from \"./Bar/Bar\";\n\nimport classes from \"./BarsContainer.module.css\";\n\nconst barsContainer = props => (\n
\n {props.numbers.map((number, index) => (\n \n ))}\n
\n);\n\nexport default barsContainer;\n","export const NUMBER_OF_ARRAY_BARS = 100;\n\nexport const MERGE_SORT = \"MERGE_SORT\";\n\nexport const QUICK_SORT = \"QUICK_SORT\";\n\nexport const BUBBLE_SORT = \"BUBBLE_SORT\";\n\nexport const SELECTION_SORT = \"SELECTION_SORT\";\n\nexport const INSERTION_SORT = \"INSERTION_SORT\";\n","import * as constants from \"../constants/constants\";\n\nconst getAnimations = (sortType, numbers) => {\n let animations = [];\n switch (sortType) {\n case constants.BUBBLE_SORT:\n animations = getBubbleSortAnimations(numbers);\n break;\n case constants.SELECTION_SORT:\n animations = getSelectionSortAnimations(numbers);\n break;\n default:\n animations = [];\n }\n return animations;\n};\n\nconst getBubbleSortAnimations = numbers => {\n return bubbleSort(numbers);\n};\n\nconst getSelectionSortAnimations = numbers => {\n return selectionSort(numbers);\n};\n\nconst selectionSort = arr => {\n let len = arr.length;\n let animations = [];\n for (let i = 0; i < len; i++) {\n let min = i;\n for (let j = i + 1; j < len; j++) {\n if (arr[min] > arr[j]) {\n min = j;\n }\n }\n if (min !== i) {\n animations.push([min, i]);\n swap(arr, min, i);\n }\n }\n return animations;\n};\n\nconst swap = (arr, index1, index2) => {\n var temp = arr[index1];\n arr[index1] = arr[index2];\n arr[index2] = temp;\n};\n\nconst bubbleSort = arr => {\n let len = arr.length,\n i,\n j,\n stop;\n\n const animations = [];\n\n for (i = 0; i < len; i++) {\n for (j = 0, stop = len - i; j < stop; j++) {\n if (arr[j] > arr[j + 1]) {\n animations.push([j, j + 1]);\n swap(arr, j, j + 1);\n }\n }\n }\n\n return animations;\n};\n\nexport default getAnimations;\n","import React from \"react\";\nimport classes from \"./Button.module.css\";\n\nconst button = props => (\n
\n {props.children}\n
\n);\n\nexport default button;\n","import React from \"react\";\nimport Button from \"./Button/Button\";\nimport classes from \"./InteractionBar.module.css\";\n\nimport * as constants from \"../../constants/constants\";\n\nconst interactionBar = props => {\n const options = [\n {\n sortType: constants.BUBBLE_SORT,\n displayName: \"Bubble Sort\"\n },\n {\n sortType: constants.SELECTION_SORT,\n displayName: \"Selection Sort\"\n },\n {\n sortType: constants.INSERTION_SORT,\n displayName: \"Insertion Sort\"\n }\n ];\n return (\n
\n \n \n \n \n \n
\n );\n};\n\nexport default interactionBar;\n","import React, { Component } from \"react\";\nimport { connect } from \"react-redux\";\n\nimport BarsContainer from \"../../components/BarsContainer/BarsContainer\";\n\nimport classes from \"./SortingVisualizer.module.css\";\n\nimport * as actions from \"../../store/actions/actions\";\nimport * as constants from \"../../constants/constants\";\nimport getAnimations from \"../../helpers/sortingHelper\";\nimport InteractionBar from \"../../components/InteractionBar/InteractionBar\";\n\nclass SortingVisualizer extends Component {\n state = {\n sortType: constants.BUBBLE_SORT\n };\n\n componentDidMount = () => {\n this.props.reset();\n };\n\n handleSortTypeChange = sortType => {\n this.setState({ ...this.state, sortType: sortType });\n };\n\n handleCommenceSort = () => {\n const animations = getAnimations(\n this.state.sortType,\n this.props.numbers.slice()\n );\n\n animations.map((animation, index) =>\n setTimeout(() => this.props.swap(animation), index * 100)\n );\n };\n\n render() {\n return (\n
\n \n this.props.reset()}\n commence={() => this.handleCommenceSort()}\n changeSortType={sortType => this.handleSortTypeChange(sortType)}\n sortType={this.state.sortType}\n />\n
\n );\n }\n}\n\nconst mapStateToProps = state => {\n return {\n numbers: state.numbers\n };\n};\n\nconst mapDispatchToProps = dispatch => {\n return {\n reset: () => dispatch(actions.resetNumbers()),\n swap: indices => dispatch(actions.swap(indices))\n };\n};\n\nexport default connect(mapStateToProps, mapDispatchToProps)(SortingVisualizer);\n","import * as actionTypes from \"./actionTypes\";\n\nexport const resetNumbers = () => {\n return {\n type: actionTypes.RESET_NUMBERS\n };\n};\n\nexport const swap = indices => {\n return {\n type: actionTypes.SWAP,\n indices: indices\n };\n};\n\nexport const setAnimations = animations => {\n return {\n type: actionTypes.SET_ANIMATIONS,\n animations: animations\n };\n};\n","export const RESET_NUMBERS = \"RESET_NUMBERS\";\nexport const SET_ANIMATIONS = \"SET_ANIMATIONS\";\nexport const SWAP = \"SWAP\";\n","import React, { Component } from \"react\";\nimport \"./App.css\";\nimport SortingVisualizer from \"./containers/SortingVisualizer/SortingVisualizer\";\n\nclass App extends Component {\n render() {\n return (\n
\n \n
\n );\n }\n}\n\nexport default App;\n","// This optional code is used to register a service worker.\n// register() is not called by default.\n\n// This lets the app load faster on subsequent visits in production, and gives\n// it offline capabilities. However, it also means that developers (and users)\n// will only see deployed updates on subsequent visits to a page, after all the\n// existing tabs open on the page have been closed, since previously cached\n// resources are updated in the background.\n\n// To learn more about the benefits of this model and instructions on how to\n// opt-in, read https://bit.ly/CRA-PWA\n\nconst isLocalhost = Boolean(\n window.location.hostname === 'localhost' ||\n // [::1] is the IPv6 localhost address.\n window.location.hostname === '[::1]' ||\n // 127.0.0.1/8 is considered localhost for IPv4.\n window.location.hostname.match(\n /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/\n )\n);\n\nexport function register(config) {\n if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) {\n // The URL constructor is available in all browsers that support SW.\n const publicUrl = new URL(process.env.PUBLIC_URL, window.location.href);\n if (publicUrl.origin !== window.location.origin) {\n // Our service worker won't work if PUBLIC_URL is on a different origin\n // from what our page is served on. This might happen if a CDN is used to\n // serve assets; see https://github.com/facebook/create-react-app/issues/2374\n return;\n }\n\n window.addEventListener('load', () => {\n const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`;\n\n if (isLocalhost) {\n // This is running on localhost. Let's check if a service worker still exists or not.\n checkValidServiceWorker(swUrl, config);\n\n // Add some additional logging to localhost, pointing developers to the\n // service worker/PWA documentation.\n navigator.serviceWorker.ready.then(() => {\n console.log(\n 'This web app is being served cache-first by a service ' +\n 'worker. To learn more, visit https://bit.ly/CRA-PWA'\n );\n });\n } else {\n // Is not localhost. Just register service worker\n registerValidSW(swUrl, config);\n }\n });\n }\n}\n\nfunction registerValidSW(swUrl, config) {\n navigator.serviceWorker\n .register(swUrl)\n .then(registration => {\n registration.onupdatefound = () => {\n const installingWorker = registration.installing;\n if (installingWorker == null) {\n return;\n }\n installingWorker.onstatechange = () => {\n if (installingWorker.state === 'installed') {\n if (navigator.serviceWorker.controller) {\n // At this point, the updated precached content has been fetched,\n // but the previous service worker will still serve the older\n // content until all client tabs are closed.\n console.log(\n 'New content is available and will be used when all ' +\n 'tabs for this page are closed. See https://bit.ly/CRA-PWA.'\n );\n\n // Execute callback\n if (config && config.onUpdate) {\n config.onUpdate(registration);\n }\n } else {\n // At this point, everything has been precached.\n // It's the perfect time to display a\n // \"Content is cached for offline use.\" message.\n console.log('Content is cached for offline use.');\n\n // Execute callback\n if (config && config.onSuccess) {\n config.onSuccess(registration);\n }\n }\n }\n };\n };\n })\n .catch(error => {\n console.error('Error during service worker registration:', error);\n });\n}\n\nfunction checkValidServiceWorker(swUrl, config) {\n // Check if the service worker can be found. If it can't reload the page.\n fetch(swUrl)\n .then(response => {\n // Ensure service worker exists, and that we really are getting a JS file.\n const contentType = response.headers.get('content-type');\n if (\n response.status === 404 ||\n (contentType != null && contentType.indexOf('javascript') === -1)\n ) {\n // No service worker found. Probably a different app. Reload the page.\n navigator.serviceWorker.ready.then(registration => {\n registration.unregister().then(() => {\n window.location.reload();\n });\n });\n } else {\n // Service worker found. Proceed as normal.\n registerValidSW(swUrl, config);\n }\n })\n .catch(() => {\n console.log(\n 'No internet connection found. App is running in offline mode.'\n );\n });\n}\n\nexport function unregister() {\n if ('serviceWorker' in navigator) {\n navigator.serviceWorker.ready.then(registration => {\n registration.unregister();\n });\n }\n}\n","export const updateObject = (oldObject, updatedValues) => {\n return {\n ...oldObject,\n ...updatedValues \n }\n};","import * as actionTypes from \"../actions/actionTypes\";\nimport { updateObject } from \"../utility\";\nimport * as constants from \"../../constants/constants\";\n\nconst initialState = {\n numbers: [],\n};\n\nconst getRandomNumbers = () => {\n let numbers = [];\n for (let i = 0; i < constants.NUMBER_OF_ARRAY_BARS; i++) {\n numbers.push(getRandomInt(20, 599));\n }\n return numbers;\n};\n\nconst getRandomInt = (min, max) => {\n return Math.floor(Math.random() * (max - min + 1) + min);\n};\n\nconst reducer = (state = initialState, action) => {\n switch (action.type) {\n case actionTypes.RESET_NUMBERS:\n const numbers = getRandomNumbers();\n return updateObject(state, { numbers: numbers });\n case actionTypes.SWAP:\n const newNumbers = state.numbers.slice();\n const number = newNumbers[action.indices[0]];\n newNumbers[action.indices[0]] = newNumbers[action.indices[1]];\n newNumbers[action.indices[1]] = number;\n return updateObject(state, { numbers: newNumbers });\n default:\n return state;\n }\n};\n\nexport default reducer;\n","import React from \"react\";\nimport ReactDOM from \"react-dom\";\nimport { createStore } from \"redux\";\nimport { Provider } from \"react-redux\";\n\nimport \"./index.css\";\nimport App from \"./App\";\nimport * as serviceWorker from \"./serviceWorker\";\nimport reducer from \"./store/reducer/reducer.js\";\n\nconst store = createStore(\n reducer /* preloadedState, */,\n window.__REDUX_DEVTOOLS_EXTENSION__ && window.__REDUX_DEVTOOLS_EXTENSION__()\n);\n\nReactDOM.render(\n \n \n ,\n document.getElementById(\"root\")\n);\n\n// If you want your app to work offline and load faster, you can change\n// unregister() to register() below. Note this comes with some pitfalls.\n// Learn more about service workers: https://bit.ly/CRA-PWA\nserviceWorker.unregister();\n"],"sourceRoot":""} \ No newline at end of file From 96e1ae2bb22fe4f27ebc4da368e93b7520d220e6 Mon Sep 17 00:00:00 2001 From: codeghoul Date: Sun, 1 Dec 2019 12:18:18 +0530 Subject: [PATCH 4/6] Updates --- android-icon-144x144.png | Bin 0 -> 15191 bytes android-icon-192x192.png | Bin 0 -> 20076 bytes android-icon-36x36.png | Bin 0 -> 2834 bytes android-icon-48x48.png | Bin 0 -> 3883 bytes android-icon-72x72.png | Bin 0 -> 6058 bytes android-icon-96x96.png | Bin 0 -> 8617 bytes apple-icon-114x114.png | Bin 0 -> 11042 bytes apple-icon-120x120.png | Bin 0 -> 11736 bytes apple-icon-144x144.png | Bin 0 -> 15191 bytes apple-icon-152x152.png | Bin 0 -> 16476 bytes apple-icon-180x180.png | Bin 0 -> 20617 bytes apple-icon-57x57.png | Bin 0 -> 4571 bytes apple-icon-60x60.png | Bin 0 -> 4923 bytes apple-icon-72x72.png | Bin 0 -> 6058 bytes apple-icon-76x76.png | Bin 0 -> 6393 bytes apple-icon-precomposed.png | Bin 0 -> 20652 bytes apple-icon.png | Bin 0 -> 20652 bytes asset-manifest.json | 20 +++--- browserconfig.xml | 2 + favicon-16x16.png | Bin 0 -> 1584 bytes favicon-32x32.png | Bin 0 -> 2527 bytes favicon-96x96.png | Bin 0 -> 8617 bytes favicon.ico | Bin 22382 -> 1150 bytes index.html | 2 +- logo192.png | Bin 8581 -> 0 bytes logo512.png | Bin 22920 -> 0 bytes manifest.json | 64 +++++++++++------- ms-icon-144x144.png | Bin 0 -> 15191 bytes ms-icon-150x150.png | Bin 0 -> 15911 bytes ms-icon-310x310.png | Bin 0 -> 47491 bytes ms-icon-70x70.png | Bin 0 -> 5891 bytes ...nifest.2265b96ee7eef74fe54922d5fca4edaf.js | 22 ++++++ ...nifest.238e2ec738c9b3a2cb92388e7072ad96.js | 22 ------ service-worker.js | 2 +- static/css/main.152d9bc1.chunk.css | 2 - static/css/main.152d9bc1.chunk.css.map | 1 - static/css/main.bb79ef14.chunk.css | 2 + static/css/main.bb79ef14.chunk.css.map | 1 + static/js/2.31fd37aa.chunk.js | 2 + static/js/2.31fd37aa.chunk.js.map | 1 + static/js/2.d1d7e087.chunk.js | 2 - static/js/2.d1d7e087.chunk.js.map | 1 - static/js/main.4ce283be.chunk.js | 2 - static/js/main.4ce283be.chunk.js.map | 1 - static/js/main.d4bbff72.chunk.js | 2 + static/js/main.d4bbff72.chunk.js.map | 1 + 46 files changed, 85 insertions(+), 67 deletions(-) create mode 100644 android-icon-144x144.png create mode 100644 android-icon-192x192.png create mode 100644 android-icon-36x36.png create mode 100644 android-icon-48x48.png create mode 100644 android-icon-72x72.png create mode 100644 android-icon-96x96.png create mode 100644 apple-icon-114x114.png create mode 100644 apple-icon-120x120.png create mode 100644 apple-icon-144x144.png create mode 100644 apple-icon-152x152.png create mode 100644 apple-icon-180x180.png create mode 100644 apple-icon-57x57.png create mode 100644 apple-icon-60x60.png create mode 100644 apple-icon-72x72.png create mode 100644 apple-icon-76x76.png create mode 100644 apple-icon-precomposed.png create mode 100644 apple-icon.png create mode 100644 browserconfig.xml create mode 100644 favicon-16x16.png create mode 100644 favicon-32x32.png create mode 100644 favicon-96x96.png delete mode 100644 logo192.png delete mode 100644 logo512.png create mode 100644 ms-icon-144x144.png create mode 100644 ms-icon-150x150.png create mode 100644 ms-icon-310x310.png create mode 100644 ms-icon-70x70.png create mode 100644 precache-manifest.2265b96ee7eef74fe54922d5fca4edaf.js delete mode 100644 precache-manifest.238e2ec738c9b3a2cb92388e7072ad96.js delete mode 100644 static/css/main.152d9bc1.chunk.css delete mode 100644 static/css/main.152d9bc1.chunk.css.map create mode 100644 static/css/main.bb79ef14.chunk.css create mode 100644 static/css/main.bb79ef14.chunk.css.map create mode 100644 static/js/2.31fd37aa.chunk.js create mode 100644 static/js/2.31fd37aa.chunk.js.map delete mode 100644 static/js/2.d1d7e087.chunk.js delete mode 100644 static/js/2.d1d7e087.chunk.js.map delete mode 100644 static/js/main.4ce283be.chunk.js delete mode 100644 static/js/main.4ce283be.chunk.js.map create mode 100644 static/js/main.d4bbff72.chunk.js create mode 100644 static/js/main.d4bbff72.chunk.js.map diff --git a/android-icon-144x144.png b/android-icon-144x144.png new file mode 100644 index 0000000000000000000000000000000000000000..8bb01f0533de2f98440a00216c4bf7041ff7c89e GIT binary patch literal 15191 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 UOw0a+e`Lh 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 literal 0 HcmV?d00001 diff --git a/android-icon-36x36.png b/android-icon-36x36.png new file mode 100644 index 0000000000000000000000000000000000000000..b14ad80007b264a559fd6fec130f9cf28e0e4fe2 GIT binary patch literal 2834 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 literal 0 HcmV?d00001 diff --git a/android-icon-96x96.png b/android-icon-96x96.png new file mode 100644 index 0000000000000000000000000000000000000000..76380a5e02716246bfd1d355cc3fb494e5a23178 GIT binary patch literal 8617 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 G3;bUji1*O| literal 0 HcmV?d00001 diff --git a/apple-icon-114x114.png b/apple-icon-114x114.png new file mode 100644 index 0000000000000000000000000000000000000000..853d38d2594dc504ca546be6713f35ff793b1adb GIT binary patch literal 11042 zcmZ{~1yEc;(>6*7kl+M&TijVJxU;ah+oFpG*WeHc5MYrdxH~}>cMUGVArJ@>oM6FS ze%|-LRrkAJ)vYrZ5ujNrgXEB&|MTQ^mVSNdL3dR&^myTl|0RVH2MHu3mSiP4 zX&s-Xqip+1rxCA(U|s)QkK<04!;uv=e?`inh>$E6Iq+Lr6dHPYEHL3G6h+!DW_T!` z+-D?s2(A(yi&O&rCs)g?es9MiH_J_7ZxQEf^XA{O?JKkX;vM%9{%hG24cArW1Ciw3 zM||BuE61Po5fuy9S%Dw)5$oMg4v3}Q^4zD9Ts%{dY=~*FRQFmRKiaz?bDr{{0I>z6nE`>S~r+c68Zb%(g*gNk?#7FI&gi_yy*5knK7V=F0QjHIij$NtzrJ{AJaxX z4i2IE5%$iO)PSVS-VyPSYvZ0k>*qg6ksIUJT~X!bEuOb$6~Cg*+IjyefLi~Czj+f$ zU6Lg8dZEgsPZ*R>_)Wi>?KzmNxIR<*V8rzca*|$>b^IVH;ncyk*7fn&sZb_-J&p+Bz@%~glZqsb{ z)=#w)VFNpY8=;8U761we{Frc{P;WA922pZlRy}uUr-5+5bT#LBm838oj~G)%7)VW`*WWuhf?45uCCQvZXnXelIs5wP$)oD0 z`pO(66N@>eIy)dsvg@h>Qbld%w_^IppWFJhc5^o}BH(#-_I8NIshRA!F>W+cmm*3cjE#~EQD(z zSrWYqk-6*rrrn>SylVP0ccD138kIzY%DgBY7KPGt(FcTa1@)3d5(lC9QQa=IuT{T) z7>aGql6z2%%LwcWc+kutmkc4O|1%1FaO6__x4q9OEWyav>)RSRe0LueLKIu*pPkqF z&dNQl(`K3lcbp5C@(IUyKse}PS+c15qqCIMI}CnunmiI#c2f`8-n{U%Oe(>ZXHo5% zcxqPme{H}AExhzsb=$m1`@)K9a+^ybO) zzxO`Md!EZSa(Iu6|G2UE_&PJIjn0fBC|da^pN>1)yI2|SMn5I$vXl<}v0CkG{C9-O zf6Rh+^N2bHIpmN9-yrz**0*aU6jG+oR$>!gX-Y*+DbGWvmFdirbw?6!{LZOaDbv|s zipsJbf~RthUrV!GqL{qno2W=FX&KMPynm5TwHKy15Fko1I1EI;L;IBy`lV;{w!TcY)LtLDWA2?58F* z8MX{^aaf#p`Vq1gQ>@FCoNvd-$}z$dyb*!}Gd~L%Smg=@KPRV+4ay)P7wFZ@t2y(t zJBIdRK=jh=&MS5MKANQv^+PSGQQQ60V@8HzVJ(w(TMpPD8*NObGNa{5rn3A#w0Jqb zCRr{OYOCt5?{|f$@2Zg3m8e^NPSJO*$r?VWgzWi@Gc_0kdpJod!FcWP$YnVv{b8%x z6gLq6>ye@zARwV;$BXx@_lA!D#(O&X4wu#dE4}N6u`*=s1 z?C@>C%`z^nP`BJ}q&}4`oM>H@5JB=3-2l=#xw!lZ|MoePUUW)E zxFVc8M6t*D66>0(Ba)Mhd=K&=VwX zbW>VLjjID*`Gsuea=0U~UP1w_f;d*j&EkxQrsaYAc7Fu)4l=yEl>4*S0CL{}r^{aU z6JLxv0J2p5L?q?*ni4+8CA#K(4hKYDDwEmxoK@T%joK`^r%DBx@!L}Qkj zQV~|`MyWGI9}-ewiZaB^S9xF>tx^(mEvTQqI96Gyskckj{g|@iN)$e!{q`%TkrlxX z30+tCM|N?Byl8^PT2SaJ3pIkku3WM@Trc^psV5V_(0L+O+F>ygLo!hqD-MAO<9`?L5cQ`#h_t!V8l zZ#i+3Ar4|vjb^=2|M~T#5O(ZdW2HDXlOAT(%jBW^U?Qp2X!Rx*$Lt#%ppxZbLba@P zrii_vSJ$o>AtE5vhW@}d-_}-38Kl!(SKoCHA5c8?NEahXZW3!AV<9hl&wmed{Iq>I zdLMiA3YR80K@0mPzg}`gDmQ0MS?sEAWa*Tdz0wYbk70j)F6W&{P|1TqXkBMc#4frODN{iqk3(EF(DBq6MR9PTwp!4=GSb$z)d6blfpyMI!ZH zGs`cz?EZ0p*R;Lr5RFdZ;l)IJP=&TSISyeP@-JkXX^)R}4?KUJ9L~k@MZzyvXi6t zLU0hPM)cmzyM~XKACzEYx#7bk^$U=#F#RX&NgXI#>uaKUw_lL$jV(Hyj2{kUTZcWI zJ^JoUP3vi_jR(+0(^z5_m3_krp*rJ%GQzM_0i>m-^hsnvR-1mo0vwQLB6Qosc`B40 zsteL9p{a%Gd2%pTH?kR00c_cC)F=U>HX9#cJ~(?iJwl-1UjK~v)4dBZHRm-Rg{G`lO5ntiHlbuUvgg?_EN1xbt~$nw zS!T5SwT@muZ;qII$$YuN>bfh?tmhg%IO-h*hiOegdRqj6fA8FpqXtl$jIfbozMnyK z@WgY;9DZ^Nh85ZE1o1}5uV)e>r;y2?(Eb#_00@9=NK{8|SHg^+YcmL3JP;8m#r@1yv>@c$4)U6KThQUm* zx%!XuVM=N!hn={4*oADHP`oSgeI86ouKFL1fP5x^OyL@YSHYu3wC@MQ%4{?6+=aCMQ7VH~HrcTTU7kP+BaLD@{=IbqMOq zfK!}@hds;Z-%(~BJpFMwYuJv=A`!ny@6%zR=k#|>t}#^Su0YsKEe&@4Wb9S+?7-W_ zZb4sp;#xFpP}joxiD@q4m$kcBtBAkF%>b>+-u~3L26b7o?e21Fqmi)L=O76&cWeZVi+Lby;bbs)twg;f)x;sEFroHa5s#I;ytSfoh! zwTfJ81+5e*zEYj@&dA#TzBJ4TD#Fm`=(6<)pW<)Q=F(rY>|Pv-E(%4$Xz+=5tPvAz zi+|kz3^>O@+jjEcp{kHRy`Ev%OVFV<;C?Z{nvK|`SWD}5!=A<)uS#*z^P?^*pU*~HodM&ox=!Hom&X%`+KHl=>n7tX#Da} z+==RP4idAP03cX0tftO|YcT(1{s~c&V*b)k(;XZTAlcn{?-8)Q1=wQF104SBVKL=pinl&Iiv4SUzzlGIUMO2;Nz-BRVA_}?l9$U<;P*0siip4edf(Q+8besv zzKX2?&dCh=`m#V^cL_WND0^FS|Ep;o)ZVnc%{ii>a|vV6lA89WVqj*dz(5`&LiuuQ zJWQv1Hbt*%Z3*$PyqP(D;~RA5wfg=h$UFL6>Al;g45kwpgWQcZ2k{}TIXN43h>o$u zMBW@h-Bwy<(cIOa{V25F?}iA<*ex~N)Vg#sqaa$tHA!+7ke1d|0uNkF21E74E>`3s z4Qchwd{}(F@0^%+EON^K6*#H~+=|T@+tP^6dc@$(qS$4}!s}!Vj%wv%h-C9IAm(Xq zwGut($=MoQ4x&ua3WS%T5PlbDP~B@oa#>7uWoVJz80=$n3XS0hmbYIpM)xd=&tkmG@Hx28)n*jldsPD|-+jXJsJ}CG265 zl;-peN;8(O7)CKMgh6t`*h;E4FyB09mP<^U2|ugPMt%0ip#eCZ+$B{j5$2J6uLKfj zpGQSE7>*gu|8oBEVWrguyM=SqzyBMnU1&bpr>M7HdVHvjNH|_+gFe|9f#&E|%=DTa z^E}UoA7F4sMz51Iplu{P|0nSIbM@DGa3Tnt%F8tln4Yurb-a)VSKRjSNuplhm+=-% zff?&&J+;t6=>@O{U_;;1Ny);i>~*H+-K>2Jn>kg!J0b)U%haZ`h_6(vPQH!((9xJG zNVI}mks6k&CDXft@%e>r93WC@hMNvWdEZ5|;q;Ppc;%!%KXNaJ<>W%WyzK;wN?|14 zq{!_8Gku@AF<|KK1T?e6G}h-Cg;pB-QF=X&jSTU@wI^Jxk9Nj}Kh%bltTuTcjef;v zab}RrRblZQ6X`3HDH>V*KDVF+PK(sKXTwOsC7Zu`8D@|^TWi8NM0iXFJ@RVrr~S5I zM2bQRO@BY(7(;S8hK~KH%tcASR())PicyuijLKsc_JTqOSqRlP{YwvX6mpfZRqt&9 zG2P$48DG%W?q^_S_pUC{4{kuj3cwxn!35FA{fg*&@F{gmrD|iw5B}ESA^|R z6#Xuzaqvo;K~zwRZUnH4&BXn-XqJEu#==-eVsG6D5-fN}Bwm*XdlSO2#l!Ty9|Dt` zMsZ+p%(x*)F=|JDGkz}ScgA`w`e4$u>YDTMat%&Q8RlUe!X?wS&&kKex1Ex>>w+n! z_121=eL6pIL0o*12&H{Lq^|#sW4nxY{=RO^vj{)4@!UpYElAy~pv(k5JV{^pSIS`r zUi+6zkyg|so^YgBe=hu6-j)hH$_Ue-IAsUkb+#^9MEh2F&8KHzMBn${@z6_7qhv;1 zK#s8ozzVc(!0lk*))3Kof-c9zBXcl`J_RPjSp8a~9b07GQ!c^iyI~9_?DS%0;-g=` zy13h2kuLED`&{b(n(3AHpwL_Tl{AdA3i#?)am&!9?2XKhTPt=JjPCGd0i(6P!9##h z(GrmXw5Y*|v^G43*OuppF?()?SXvFewRS<3i@#joF3Z)Rntz{arSGRJ2*e?qulxcMiHVcm9ki8sd#a|df#2P0#NZ zZK~GtKiO}2WAo;WBEN=Nfi{IB;i144gT|G8CIjQ$kyrMckV;t7$r79UzMm=lLaTs+ zvjLs4m=Ms{$H!^$fn8BeY+2m%g3f#SpR0w))-Mr>`sYl@QV_eO-xCdrUKWDxaKPW| z82&>$p-F^cYjs7jNA8Y)g58O&Q%=gV!}*L0UY*+7?wMZUj^9#N zSFw3io3}lVaS%Cs`0H~}7bTTAkT}XJS#bxxbu8l0!%H%k4)Rv|TxgCzg9$kL*hQDKrjAo#xsF>#iYs3!c!=J_O1ER$df=(opVN6l# zR)%F`1ER@sViP-g&GvNC^noL=pNh2+BYUo1CZ&FOMA8UPoq1Pfv z)WsBFKpc0b!z>%}5)g#Df2av3D^EagNaq0lG#6r9BI`d!^Y0NYa$NKl zEFpp?tdW$JcD3i&}=yEnC;@0WWndPdF0#6!0d(su8Xir4UmQmN zC=qvrPQrxiUfi`eg5xVt9{XFHHC>Tg*E7SFm^qQ^OTH?;UwVSF@?KDufrVZ8jfRej zB%28JqNV2nJcthJ|GiciE88`j?aAZ^0Obl#8Ht?{DrCKZ!!z@T)oVoO&(tBXj;v>| zA7h10pFf$Mtd&~(^wewP4wh}>7@sCWfmimsRxtuzKb%Z$*no`vcHxT+eJ8^h*v|lR zrYIY4TdID#x-xm@qAwEe!j2% zpJw^B-0dO)_V%kaUgEpAF|W8pVO;DGAzV@(tWw_wv+d?zYSjzyAC3H?iUhTBm8f-+yLn~d<2g-doOz&NZh zYu8E4nrG-!`gq|I1gyUU(cFK21D+2j4gJ+YYVsLub&2!w^NY%F6*Z`u5X_zROFvZ{ z_xQ;*NbTl05t7xX*wfFNQ&BbDLanzt6Fx{<3Y@{q_afhKAXwO(;tz0mV7MRmt@MA* z7CDcy=!+E}YVs#p>GmiGrQ=!|mzj}%70}p%f`E_UtPn&076&-b1LPH{S<5oC8~k-N z%hEyMgjZbFn9v2=eLqeiyj-05iS+>3m|-?;&m$C+pC}>QEDNwE4kPw0QXgbarw2L5 zz#VvIFx^V?5~%^rv2bsw6D-LaApLC>;9vG$3@!oX#aa<0Sj?!F-{Ivo+cc_s?K|dT z*%5CwluS6iciMh?XbR1%Kf-?XAzgxIOwx$Gv6ZiXlL;e&8QgkP%r@YllZNYU|?QswTH&( zI4INIaD6clo^xFSfxE4Mt!qS}!)3As=`BIDzVNR%*8{h$He!ji{rED>g^AQd-gshK z)hCJ~Q~Pqfp0Asd(WwZyt(X}L^M>cmm&9f$qLn@LwSb91Cw~&7E?Be9qm!idbePV! zmY3RV{>p{~-xO)cI#>|GJ+XAt@#zByu>4%rMB-(ZCW*LR8NPEOhRYJ zLbR8@Zo|=U1C$2y#f@M74Y`fOeZ0jI8_0_O)GTh7ojyXUs=YeO3y0Nm_F^Up^zpk{ zgSYM+S!0wGH0Y~zt(FX!6)HDhA=B-}M$Qf-=iI0!X zQua@SPS2zQ9-UvFf1oyMo78Rk}lwGP$ilLJH4_ zg>(9oe2zL7qmy=k)kiM_pfcnuty}QT$#co=6)_RdPSn z5T4L42byqHk4qz>^%`AQPVveEsL5aPnM>EV%-%5~W1Icc!|#iPPtSdeORNzDLOWfB z+!FwUbc*AiHD0bp?uK9ux0r>+s$I0-aPKZ#bX=q&;MP33D zLPW|T9!^nYK2FK6V0Th2q%|Wat)#>lnDsr1&*1Otm$W|3ZfAS&=xb)t_pO~o8gb<7 z@1uwY@BSM1NNg+P~YItks*FeMy5rLP$io?TJZzspjX)+I8}T?(O>xQjdI~3ulBwu ziiW9jBjt1_C>=TE0It0-L`!AhEUwk8G21G6q#*B)Y7>gTFqHSchpq>3o$)fH7kDJ4 zE`uXfoQQv(wh!Gn<6iz5B>O)CeE!Lb=?9X`KPoOw4m-IGtPcJEW8V^SK%>m*09>VwMRtlZyZwtE3}Nh#eUjLA+thO=z$Hzla8f428UVcl=T+;C3I?BaXnI z4O;8_4x;%xBQjpH$0K>YwQapzJVt}3t`ul>qT;`hWu3$hB(tNntR2C-p82FI8PD>o zxwK40)wfqdoR6r&Q`fs;aEa?qEKdh3A>xm3#{{o#Hm&2+x^&Dh?UkcJkl zI~)H1EvqRoPsm&4^&K3IFf0k1^XZm|leU-yVrYZQ$%d!F*An+Y?@SNUc7hH`zNQmC zZ=!$gSHev{pgD-uiQ(+aaTotKf{G#Mm@?t8#^32DmskyGCM>7^=%=DCNMG!(#_Z!< zRaTnJnmtD}K*#kC$DYn8MUz2|L(Em(snt2}vjEEr?Dbj991==I&Ebu<9gK2zKcYtw z$nL3gh?&F%;&h?N*cJ%9e#CDlxuAo&<Nu66@#16-=Y!xX(W3h(poNxb% zYD&}6>J3Lv(E)52_Z9hmuEzAAx;$S!0KqsPTk@S4kiyq0P5!?3-nK z(VD25#I>$?Q(!bm*75m4>QhqK4i4-=Dnw6GKPvN`Wt*ntmME{_Hc|HB5>A7He8hD! zGJR#lwXVj53MxZpQ3a&5a|0ii`YNK(vX4Bo-t{Z}WaH$>KAz2aUJJZ9`4R z+QL7E$#;emjO3agY>A?02SQ|s7BdXo*KQ|M!5-zmkUtUpHn;9s<23RMe)i9jb&)F) zq~UI-=hlZl9nIpNY+aCph4R>ws)UV2f{t^#C#VL*AI`LK-B#kJN9jjH>b{*+Kl2if z&S*z`JX#)~>^fz>K`4{l^gqc@V)S{jnfy~P99n3oyGXJ&?veEEi$Cov?aB?lzK{*@ z50J|5+XeJtT_-zs;VYMMxUe+ekht9a&YBB+dgR09^CSYddR7N;{;9is??(#WZmDP< z;9kD}=reTnv9pQL7m;%^a*)b`88$;OT2P`1h}d*^7_VRJyS|z@Dc*F*IpZX;tOn@b;Dx}2Ko%R}gzC+eRsZ=%li(v(EhGe??GGmm z&aC~*R+|#aFEMW@N%s=l?~EOdTRP1`fH0GIasM%I%^KaC-T0EKUJGqTx6(Z~{ot7M zVxBsJLCfhXi_(Qcjo#YXtfR}n7B#?)^7?f*@-@zm`eu1X+VFx>tT!bakXHG8zquq* z@C5PGtIW|`$sx}5?k=wP`Z(`@YbSwgNc~35lh%{82>H#iZGTX|KB^`I$7=aXJd$f| zE!It5JLRs+G=dEIVd)!$0h9CD9c96y&8e@C4=-D_Vl|e4RZMwU;Cq+5Du^sm&hkIj zana^~J5BD99}ly(|NecokjWZ3C|lPTqD5*9@cAOfBg-G5MRrWJ++&RP(XDOoGzBp$ zCLo?S6~Z@1im|f$OOVCdtz4RYs0+cG6b#;OM{D)~`4a!6IVtJEX`G|vCoaVT8|sAU z_2e}cO7YbZ5!eRWN!=XxP%Z1_blJB~#HEVIH_$_>hG34d(YWO-pfbYii-`i(Ux>ju z{4Py_pVaki8a}FYS*&QwhB@m~a}byEt0lE@;IpF`B^@El@qV_2G42Z*W-^=e#_YoP zXO%1+mQIiOqlba!p&pbReX_C)^*YfNa?Fn@)ZQ!*@#MaW6L&89n6`w7zW@IUkt77{FA56(@!;WNB$->rJ)xy>u>Od>VCB*ffQ<(O}B|j&Rz>8N}Oqz(RhJ+An}$yw{!n5%zu4~h}c=% z+uC^|@d^WRk=(;yFeLxO&i{kax3}`N`wwKclJ4ybgzSGnRPCLtJ$+rRk^UPMx2vkvn<_+eDQ#!B(Ek{C1W1?e*h#r2|EA) literal 0 HcmV?d00001 diff --git a/apple-icon-120x120.png b/apple-icon-120x120.png new file mode 100644 index 0000000000000000000000000000000000000000..3b3205a25d6caa171e83fab1f6358e2c04818722 GIT binary patch literal 11736 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 UOw0a+e`ZRNbf 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

*K-prJWH6L3%h+y5&~>=fl##yP+N> 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 literal 0 HcmV?d00001 diff --git a/apple-icon-180x180.png b/apple-icon-180x180.png new file mode 100644 index 0000000000000000000000000000000000000000..b2f4c2f5700345e1cd9bdb3e8727cccd6ec8181e GIT binary patch literal 20617 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 J<$6xh{{gs8wif^Z literal 0 HcmV?d00001 diff --git a/apple-icon-57x57.png b/apple-icon-57x57.png new file mode 100644 index 0000000000000000000000000000000000000000..b3401b0ac4f27b93c2a4d85e63610648f64e627f GIT binary patch literal 4571 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 EAE0XAq5uE@ literal 0 HcmV?d00001 diff --git a/apple-icon-72x72.png b/apple-icon-72x72.png new file mode 100644 index 0000000000000000000000000000000000000000..83735831f4fb75ada34310efb0db918087dbb0a2 GIT binary patch literal 6058 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 literal 0 HcmV?d00001 diff --git a/apple-icon-76x76.png b/apple-icon-76x76.png new file mode 100644 index 0000000000000000000000000000000000000000..2b72ea8a8f6eebf82f329a111cf6dd1db6fb7a48 GIT binary patch literal 6393 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 RSZoD=hN`Ygt&(lze*wJ6$94b! literal 0 HcmV?d00001 diff --git a/apple-icon-precomposed.png b/apple-icon-precomposed.png new file mode 100644 index 0000000000000000000000000000000000000000..d4bad7957a2d71c4c55bc5815b5d458b1018d5a2 GIT binary patch literal 20652 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 UQ>&J01{YxRi=|<$0q*X<01~9kZ~y=R literal 0 HcmV?d00001 diff --git a/apple-icon.png b/apple-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..d4bad7957a2d71c4c55bc5815b5d458b1018d5a2 GIT binary patch literal 20652 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 UQ>&J01{YxRi=|<$0q*X<01~9kZ~y=R literal 0 HcmV?d00001 diff --git a/asset-manifest.json b/asset-manifest.json index c3402fd..8394e12 100644 --- a/asset-manifest.json +++ b/asset-manifest.json @@ -1,21 +1,21 @@ { "files": { - "main.css": "/sorting-visualizer/static/css/main.152d9bc1.chunk.css", - "main.js": "/sorting-visualizer/static/js/main.4ce283be.chunk.js", - "main.js.map": "/sorting-visualizer/static/js/main.4ce283be.chunk.js.map", + "main.css": "/sorting-visualizer/static/css/main.bb79ef14.chunk.css", + "main.js": "/sorting-visualizer/static/js/main.d4bbff72.chunk.js", + "main.js.map": "/sorting-visualizer/static/js/main.d4bbff72.chunk.js.map", "runtime-main.js": "/sorting-visualizer/static/js/runtime-main.ce64ded3.js", "runtime-main.js.map": "/sorting-visualizer/static/js/runtime-main.ce64ded3.js.map", - "static/js/2.d1d7e087.chunk.js": "/sorting-visualizer/static/js/2.d1d7e087.chunk.js", - "static/js/2.d1d7e087.chunk.js.map": "/sorting-visualizer/static/js/2.d1d7e087.chunk.js.map", + "static/js/2.31fd37aa.chunk.js": "/sorting-visualizer/static/js/2.31fd37aa.chunk.js", + "static/js/2.31fd37aa.chunk.js.map": "/sorting-visualizer/static/js/2.31fd37aa.chunk.js.map", "index.html": "/sorting-visualizer/index.html", - "precache-manifest.238e2ec738c9b3a2cb92388e7072ad96.js": "/sorting-visualizer/precache-manifest.238e2ec738c9b3a2cb92388e7072ad96.js", + "precache-manifest.2265b96ee7eef74fe54922d5fca4edaf.js": "/sorting-visualizer/precache-manifest.2265b96ee7eef74fe54922d5fca4edaf.js", "service-worker.js": "/sorting-visualizer/service-worker.js", - "static/css/main.152d9bc1.chunk.css.map": "/sorting-visualizer/static/css/main.152d9bc1.chunk.css.map" + "static/css/main.bb79ef14.chunk.css.map": "/sorting-visualizer/static/css/main.bb79ef14.chunk.css.map" }, "entrypoints": [ "static/js/runtime-main.ce64ded3.js", - "static/js/2.d1d7e087.chunk.js", - "static/css/main.152d9bc1.chunk.css", - "static/js/main.4ce283be.chunk.js" + "static/js/2.31fd37aa.chunk.js", + "static/css/main.bb79ef14.chunk.css", + "static/js/main.d4bbff72.chunk.js" ] } \ No newline at end of file diff --git a/browserconfig.xml b/browserconfig.xml new file mode 100644 index 0000000..c554148 --- /dev/null +++ b/browserconfig.xml @@ -0,0 +1,2 @@ + +#ffffff \ No newline at end of file diff --git a/favicon-16x16.png b/favicon-16x16.png new file mode 100644 index 0000000000000000000000000000000000000000..f4860da6a1c62fb7b7c0cb65d2614a86a4490107 GIT binary patch literal 1584 zcmZ{i2~bm46o#+V-B4S#;y$P&W9yJj5=>YeD61BP2%(}@16fEV5FtQ81VjzsQWOQ1 zq7FK4RT4mPWwAoo#6SWh0SU+w$Q}quFc3l?PG@SJ>6>@%ne*;<{{Jp7Cn(U@cJZ3U z003KmKQ985znP7NUqRzm$EACrG?(TP-~m8c?h*@W9#qeXC-`~-4u72jD(oZu2mt`3 zH~^4w3V=!IQ-&OX1S9~;!vNr~0$|51dKv5rfK7JLPa)pUF8CcTE|?uVoSd;(94<8c zAaVb}(0%*&gb;&5!gRV(txl`bDm7ZIN~2V3)GCcit{(1Hh>RAU*=iDuzZfxho2EyH zK8mJiEC!2CVeXrmnbBL+a&wQ=)Y34@F-?#4ngr@e+1-&WiLpguXlT>Fp0s`(oDfTl zZ^x#T0~6vdBVRCHSE=O~EMv90vZ0T?1w+}L2H|Th_mze-VwTpAR=m}}=`{)4#(8{w z{VNTZt9qcD(%c-r&^%U?)qhrC=%`Sam8wd6Orl#Oc{RG~cltMtW4tDPOWxq=d|AGF zQk^$+<)!v{a^J;feaD5t^98a$#70SqG_FMTn4`SgIQry;wz^8kJKlFHd!SHe9?tA9 zyg724{QewIFOHL*NbWl)Fi1#UtlNrb#qvi_HKiPN^-cMM5D}gF{$!2rdAKCw_=mh; z@r5Uv#xQZl!7lboEiX`%Stze67lPoyYTK1wXd4qovoKTGMg{ zZnz0g`gCO7S5~{XpT9g@dvbuwl;(s>PABvh+chy<1v#l7u3=hpL&evY^Wq7eXonQCc=H|>W@x@hjS@sR-b80fbt~}9oQ-CM5`gyjTbX^@~ISXdS;sMy=iCAODS zB%H90M+D(xVmmje?I}_Clq!BUWwlOQt^9F$iAr)?At+Iai{))xm8e)Q*o4;{+tCx>tF|Z zTze{0D=jval{TrFo;I*In{Gu6EXyMZ(dhCx{o*sQUClrI`KxkGVR$zh|1xEAK8)>C z?{Jqoyt06Z7Ga+znqXi59>|AtVze7>y!oZqy*dqMopZwDuZ_i|{%h$ixPA z)v*c9PUdJ^|7PFZ^*fL1JLv4~H2w{j^nMF(_Z9Aes>JD*)j+kDYK6pO{gBM?bR zNpSis4FyEQW8-K&Yz-s`R?RAgL?tjH@OZD-$OHx@hK0umL1;Wc-J5xZ_=5T5iN{A# z=(H#nK;h6!LELGGvHMKtA0~`WW<|{+?TtfKRJJFk@&t%ZY(s z=mdm76hL8|F(_vY4ujg7N~wjArJw2SrKeB;($n+uEq66EMf_|kl;97j^k@pSeFP(h z6&*`MP)UjO$k>>8#J?AVpd!)GOU5~&u}CxtNy0fHu~a7%G6EM#CS%A{IMe}$))#Sa RAPaH;{@#IJ9M8j1?*>kOLZ{5Do z{(!w|t}}mQ3TQ!XYOFlpEf?K7>l||DWu!B;?cT|`7Z}Mi@vY1JWT-*Ii@yf!-{v?i zmQAiaj~Y2l*ab8^m(0xUNn78rE0bvPxCWo1H4P&=E%f6xSGj0kZ;T> z{C@Y6kcMMR!xDfKciV|i#?1w)PhU)n=A@)}RYSDrUKkg(p$V)T=J`%g9$Umc>Vg=HV9?`?S&wa7Z9rTge!=sk&% zfv-D$AGf8jG_cfPt|nd(s*d9F;i<|PpWE8ZA1QS|#KzscUT_(~UCwYhU+h+FTUqCi z7hWM*P)t3Zur2ZWB4h`Q@Db5bv8Jod@<(^uX7=dZjJ`kM~Rw7tVO1*&B|Qre~* zq8}2xxku4KY&j*RjE5?}A@jXGYe_az7)&(tWIlS~lb4)*eUp3;5$pG>kpcVVpF?xm zaelmqxgl()7}k|a-SrnTIhy=AA0zu(bGeg3cHH5L|X!n!&qvi#OBuZP?){B%L|^5u}$&kiWxQr%u!yY z?sZLWA{>2s_CWy3sP^E~L6+OKlvr0ZJaN9cY%=CgcKe!rh;(|Wx~F}CORTdlzgn0! zwp|mGh?BIu2!4go^XYBTcF8O${Z0~p{V%b%PSSJzaI+odt{sCck{P7iMX!c5nCs?N zj5#W3C}d$67g`ZyU|UuhwSk95+yOu-DFbaJd@ORMtjD=Zak&$ zQ{^u>b4&ImpWf_BXcr>iAKL5RcM+sM?28&HAx@lN7;8D(@cpHCQiUeWACcA&D8nGArV-0&4&6=PUV2p-tDIC;7G?M660t4p)E9gc z%7pMM)}e-|@e6buE+j|~={00d~i%uHZW?`+zw=aU>Y2xUsT>R)nPJeLEoz>$T z+X{1C&V~T;BRkhAk3X!XWyL?DY;R)WbUnmlcSQ_YOqES$d3e^l@bj1IKgtH0eX5=a zGf?lzU||NXuPQ{@&zk;}(I4G<@#0E!DyEttYM9nR(dp ztaYI+v-I&!I1dUhY8)m#W2u@A!zu;*yo53n%sJk4Q(xPR0lwV$wv5+XQ$&t-%Mh0= zSUtOrAz;-h27A&SphO47NQ*+oEsatK6Cz1#Ae}p?mrE-cHJ#Bz-u!(~sqDkC9n*$J zw@$xqia+1>+L#*Lc`?I%D7KZQqUxYk^AXyUVF%f0*u=-!r|bXtn?=1^SA4xLF<{)( zp8Mwe>RuO*i2AFfSp*Bx8Fb(Ot$S2}M%ygbra>lZ8%9=+K1s8aiNc4g>$+=?t}dij z*|tpvIw_d!WIS1+7!e-!MO0Xo@2x?TNP~~v?j;*ePXr_H-)A2~qM}ru#VNe;evm&< zpIP+oz|aiqx#(aXK99<=<-U6FI~nF%h2PlLr9@wTk6xD7o?U4a*TkV;R-DYKv+-s^aY5{<#Lpj_Lzm0X zAFk+Qo1}|6#G&Vcx&0MZeq3M8BX8SSrh{=*z*(K!)Y$Z)-( zB8cdIg?O=|8Jv_j2JrV()^RaR=br*d|IqOwgA{;7+oO^8Xh$^C^dzGbL{z`h@n@wn z0EDY+an=5LuoUoB>5v~02xmnxz~8ryj^RYbGOfcYNi14y4BPs@2V)(MK!Fe4(H3Qg rKv57BM_YtlxGfSvb)?bhXnMF6*kJ|EM-@u5KnH+$kc1PvhVlLld>cp9 literal 0 HcmV?d00001 diff --git a/favicon-96x96.png b/favicon-96x96.png new file mode 100644 index 0000000000000000000000000000000000000000..76380a5e02716246bfd1d355cc3fb494e5a23178 GIT binary patch literal 8617 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 G3;bUji1*O| literal 0 HcmV?d00001 diff --git a/favicon.ico b/favicon.ico index c2c86b859eaa20639adf92ff979c2be8d580433e..674f93ac20a9c29282ac26f1ff0589fe2256147e 100644 GIT binary patch literal 1150 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 QPNaAH_W=L@JAozeZ|l@fegFUf diff --git a/index.html b/index.html index a415f8c..1d7da46 100644 --- a/index.html +++ b/index.html @@ -1 +1 @@ -React App

\ No newline at end of file +Sorting Visualizer
\ No newline at end of file diff --git a/logo192.png b/logo192.png deleted file mode 100644 index fa313abf53936aefc517dbd583b724a57199d415..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8581 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�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 b!B~?t+WWKS5u5)CcMJGaRz{_UZlwPKNp@r} diff --git a/manifest.json b/manifest.json index 080d6c7..013d4a6 100644 --- a/manifest.json +++ b/manifest.json @@ -1,25 +1,41 @@ { - "short_name": "React App", - "name": "Create React App Sample", - "icons": [ - { - "src": "favicon.ico", - "sizes": "64x64 32x32 24x24 16x16", - "type": "image/x-icon" - }, - { - "src": "logo192.png", - "type": "image/png", - "sizes": "192x192" - }, - { - "src": "logo512.png", - "type": "image/png", - "sizes": "512x512" - } - ], - "start_url": ".", - "display": "standalone", - "theme_color": "#000000", - "background_color": "#ffffff" -} + "name": "App", + "icons": [ + { + "src": "\/android-icon-36x36.png", + "sizes": "36x36", + "type": "image\/png", + "density": "0.75" + }, + { + "src": "\/android-icon-48x48.png", + "sizes": "48x48", + "type": "image\/png", + "density": "1.0" + }, + { + "src": "\/android-icon-72x72.png", + "sizes": "72x72", + "type": "image\/png", + "density": "1.5" + }, + { + "src": "\/android-icon-96x96.png", + "sizes": "96x96", + "type": "image\/png", + "density": "2.0" + }, + { + "src": "\/android-icon-144x144.png", + "sizes": "144x144", + "type": "image\/png", + "density": "3.0" + }, + { + "src": "\/android-icon-192x192.png", + "sizes": "192x192", + "type": "image\/png", + "density": "4.0" + } + ] +} \ No newline at end of file diff --git a/ms-icon-144x144.png b/ms-icon-144x144.png new file mode 100644 index 0000000000000000000000000000000000000000..8bb01f0533de2f98440a00216c4bf7041ff7c89e GIT binary patch literal 15191 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 UOw0a+e` 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%0D?00$mv7lmA2Z$n@*+?#PwE;_AL>EKo^^{3 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ÐO=zUL-04BV z$IB&AeJ)`Xf2l7GbXKjxwr*|NpWzOluF1jQTZi`cmEu{5I1f5)4C77lKr%~99#Qq$ zdXgL~z)+iU74Hmku`oaelAe||83jx&44B*_kxPPQymUlUyf!(LaKDttKLR`ZX|?$5 zBBtH^-@gx+Wk0-K-LvcAe)D)0ya1h=%Lrm1g@x8<=R6P|j?FYqwd^#>jkH2~m z#s5mxVs;ujIz`|FgUtgz%=;}Jp>dxj6ee>s?HzT7@pgekluC76VNC*O;7OvNz2J6F zi4(B)pI+_j34RM})vB^-B^RyO0*;8CTt4^CzAfhqp3|p%)@aSDJ#@;i+Wjg^vHnZ@ z!9y#P!wx3nX5u7KC9@#hW zOG>OSNLoN9#WPWlBLwwr=%ApcJ|cSfXS<7Ok7r`PO)aM_J+Nxww*wF zI}tBd9wZ-yik0(Hzt)Y3F>Uk%u^k+!h9X&bMf2Z60jw|@)J31?@MxCj=WNl`C*tcdaRTY&vgUrKG1e#vm z#<8{ASopRRrbsvv&*{&Kcz?}SO{#?7+wl*tJmYp4KR*>B&0kY}eo10{!Do!N&x;^% z!SMsIZ(aHh`Q4A}Z&#(ie(SiqN_vQU==q)(h|2MutXy;kVPX(`zC4P8PBTxls>c` zX$TocZPGli-9WB3i?fa+F&`1ohD)bmKl3#SR0}8$fe`1_!<*tSGxJv*T2BsFSKyFh z-5v2)%AZY!ZpriK0Jn$rz`++u*v3&&`~E8R0T7$lR+*wyvBaAnhKW$WzO4JcP)o& zj}hC=e`YiK$1k*g(<)spG+DX{srXosV&r0bZZkEG>)A)$NRNbQ(lAM1HjLH21hblR z=_l%(+&53sB`=2anvIH5>QqE~Ow4l!!56GH(r%PnyQSs$W#$$ktuJrvLdN76ZU7t! zTh(8bY5E|<{x^&NY^P?z$yl>Rnif|?l^}UIRnhhiyiK+n9O1EFm;ZM5{^nM}Z8JTl zm!@1TM_r@=d|Bf9z6a;l$i3~|+!fNmh8 z{qZW@!js8+Vsn$!M{*-=bH9cTu8D7v=n87L%7R(R$}sc#c`AoXA5{oJ(dY5b$WRuF zrU^lbB5*Q_=GNeq zvES<;CzX8<3W3NnvDrkq3A3}!hFTrciRHlMz?V#_+E}@Vt2{pH5r1`DP0vn9%M-<2 ztX86?En${Ev~3lbaHozpD4|IZmI^LNZQ;Fn)~n83N=(@}na9@E{phHt<;J_sm@MfHif0@QVJM zRu+f#E+CcFW9H-f)SH{&IuA8c7?S06`0HQU7r`IqCR{8IVEMuWKE+U};lo z2;b_;Zo9VqPEPK?M$-+dbj5yT$@OyNeUtCnIZDMtO0A#&n>&Jjm%FgE1p4n(9x>I+ z?4Ss{r_xOuh*S<6RiT+h&An-Ropa@B2aSPBQaTOCr#?p&<_5EVuU4NiEdoCTJ(_V~ z+Krl&El8rUJ9Jen>mOJ|!Ezj^jV;YugF+>j(f)kaANKV)#V9W7EBQwd-bU7G{5Ssp z9gFwh`Z9|7etqOazhJ|44AQH*;|}bTWmKvNbd}l`}NAG`9Z6!NAGD1>*kpA(9Qm#Qq`mn-Vj}HwzaR z2OdU7cXxLN%m1K1(g&Ks-pPD5_(8u9Rm+8evtn%cSW@F;#jouQbE z-dh>}7v{fY^6*%gTAEw9KrwT(pg}nWe_(L`2cQ4OXjq!KSo{YvQ%-{L0m1(t5IIX* zQx{JMQ>g!H6{CZlxnPaD{Qu%3r}}|{VrJ)LXXa$*W@o1MHtqR)ke6-J~X#3ZP1SlyndC^J{gMj}7Q7*ov literal 0 HcmV?d00001 diff --git a/ms-icon-310x310.png b/ms-icon-310x310.png new file mode 100644 index 0000000000000000000000000000000000000000..ed0f2d6aa71c11b660eeafe10790efef9aeced89 GIT binary patch literal 47491 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 literal 0 HcmV?d00001 diff --git a/ms-icon-70x70.png b/ms-icon-70x70.png new file mode 100644 index 0000000000000000000000000000000000000000..5955582821f55e9cacde74d51231023d1155b299 GIT binary patch literal 5891 zcmZ{o2QXaUzra@#Er{r%lU1Yb#wtsQ66{)iB}lYgZFP(2C5XCK?=5;uhzLTEAc*KK zdT&AWF2dX2f8Nady*Kmb-tYO&Ip5E>+_~R#=gx`L(Nd$j&2k$608qiyRrCm2^&cT4 zA&jn~OQ8gH%SKUC5df%;rMR>pCd`T4^wg99mHliRgb5c~T~8AL@Zkdhf(Y;hVJYYr z0N^1G0Bo8A0MIl5fXOARQCE&&AVF!UsQ|A3x!yFFBobE0UDS=-2wMF=qS|dQ4*<}= zgsCVZy{5J^r>iX0JURmne0O)`*L%HsnH}!4-XN#BQ5Zy@psq+xtLqiX!>g?bH$4nr z;Z+I+3UJ>I<)I}LxD`Rg92_HNPFeQ~#O&+PIo>dk?xx^>@j=YMel^d|tWo$os>)TWdMRsGrtF6>8y@4F?NhhjKFLx>8a_A56Syh( z;1$=HY!=hcpFahnZlHq`Rq}*1RE~>`4m2c(3&u^l%-;vYz%OJhV$9%C`I<=91cFUrHW~)O`3%}F0HRj7+ zLd+j#X3;EtoWSOWI#amxIxAA{Z;VsuA2h*VKV=JxpI&=4J5as*GZ55;SPgRPNOVXZ zSgsZ6;a8hqBmJEFB!z1Oaiz~OcfFf#lM(~J9ncggyR|wZ)(v8c)_?KcCi^+2e|DO4 zJ-u7G6=c}NLca$TE-(IR4=XxnV0s92c*Z)@vM=ReP?9+y#x#KSxe)k;>WW}#YH?vX z1pbQt6gZ@#7uxP`l6QwmA2GU6EzsKX#A;IBXOC)U`f7!tpxh8nb21}ZnaHRV9A~=N zz_i0m+%%Qii!!AGr;;7d)Lz)J4?};&q3bFrUI^!?8VTD7Wn&lW%0`zU#E$$l!Yyc( zB7KgTKWwQ{{L3C8zBI3$)8oag$w;cg*Y}u#{UW#41s77dRgZq?2BO@l=cld=gLrBZ zLy@39n`HXSm4(1b0d3F9=cZ}F64JFX`(Hkx83z_e^QWMl6-1CB5XD`$+ET5{h-|w| zJrS+MbeP>h{fgDyzCr0+l~PkjdhpWzQ18}EsBjada3U-}+x1S|tDza-PKfTf8)qIkF5{_}B+^ z=7FW@ln*BkVt^olNMJaRR24dy=$&g%dBXVQx;1+v8HoIu0>rMt1++<-+2JN9E7Mvz zbGIU12B_HfH_W|jTPJ=|-A2;nN9d>}nPl-W3ZJf~Qlp5l{QG36#xmo*N%or3m2{Wy z?k^XdjO7Z2R*~(NQc`)x(DLHnDwoN3*te(Qw{~DGI~$dl?Bc%8X^OVfmkRCZ0$JSz z+oSw)OKbDz&iSLjUnC}P!RC9h9)y2SvU#%N)I!2*AGIvRW`rw z7m%PN_e@s1@=u-+iPcGdq`Fo+XE%c{uR(}N0lK`uSb2lOr2HFedUE5o;h69BJ4TnZ)dp(iNC8MmROtrvYngaT)Q7|KvVBjPRD~ahBXoYg zTXads@sYu?2`F8I13N*O0K`$JmJ$@)TF1bjE(piht<pJ6nniTQoO)t*^U^e^k$@3zZEl!%$`rg{pEvY41466UghYQc09cN-3#TeP;|$|$008s!a{wS zv|h}g{)4s5{WxxUi_AXcJH6Vlz(MDRF+~$El&{$9-gQ$3*HH?xO}*trr*f=}KB77k zei%_E`_xJpuSb_voRyJfE);gZSwRNTLIcXTSPl!&2Q;$LRjOS@=Z>!$ma;#zcT2m^ z#h1#>+VPOBZ*G{Yc$g97VclyFY@qEL-9+ZUsOr{bn$h=dz&oAwluA4=SF$HEw3~7W zXb}$Is(F+YeW~N@UT5AbG~ah1;pq^NlsB!yvqbHRP&?m2u1|QTuF*Wyczc|un+T7V zF4j+`Um_8~hbrku@!GV=tJcm*7xvX0{%F)JVg!j!K{BWKex<2jTCk@@EEu4vnT7=l zGaVbZe0E4*Dsk08SGygq(`lnM5g&2E+P){}D z(eOfDDq~IZhU;Gx2@N@X(Ca`8O2n9)B$&c9yY@c9Y#x0BVG>au+N(U?&nTwiE8Q5{ zb2#0ucWfpEx}?GIV`5s(Catkyp4F>!_z}}~8^G%m zYp-&g94RB~8SgUI`;~9KLdUmVRKCswiGo3itPUMcS>Z}JiK|DXpfyrpIl)&$Vs+g(!t9q_@+4`%<>Uq`ppv#7u*{>ddC++~LM35PA_L4Ql z_g8z5{`tN$lqcM`nBLz1-ueh(rQ(muwTBN$q=#!y__c4+cGsK8F(+{WDgQEhItE7h z*T2H#*wg5{3+bQw78MJ5d@AJAYW=VrCMWNc=3n34EPMT<;gUY*?ILrBj;*Sw5xu9Q zhEB(gp?9HL`dawF@BW|7Y<-KsK6S^YN}`zPG~%v1@V1Rh;OVwshSI^Ww827RV4*Is z?c)gP*oqO|OKx_&Q4&1+FwMBjiz-v}o({ZYxqx)?t)y#)qybEPB?CN$+mW|dSx@L( zYgl9MLHZ(i?LTiR=@-M5174xQLc`yWqO~SyMN?C~96t7mJlKtm_9-lbZ;vy+uEWlc zBsk}h!$d~b`&I3_FgCLnX9aWaqL{1_&T?~pz;R=_QOF7yTSRobFYaCmKZ3VCqtFAf z#}%{hAta-@&q4-Uljd^oxcB;mHQCtivEE~2b8KszhGaXP$7fx;sF;-p(CKGmZW*F8 ztcw^yAa5)WcpRt18z5$tx$dS()4eyeUyByLRpL?Z`lJo{@GW0q4p#&m)-B6=daLVf z3S`Iqp<#qPvYUsAczN^Jg<)j~(PO#n0f?i1SwVSw=ZK-8^}JjuaSo*J{@#uCQQI_l zSSfF6lAiy^>UI$A3D*#JAGh%~^L9YTj3Oe)Il`q9N;jqye0E!loK?<+b*B2S z`h7J{o3#rVaa*28H7V#L^N>?*oR$GN^r+@ABGT;yx-^1m8`Vxfb5$=&%WtqoF0nlS zT($x%L`bKQg=UuJ#ZitK2@dk8wpTEI$D!Gcyw?6~=l4 z1&r1-VX4(QJJCaiC|9>e82=u_yti z-x*(Et{P)Q-Ox^9(HF$#b_NJ>@ojK*)Fe6p6wgH@Vj(BVSAf0t}dJk@^hf!Q*j#P* zugE`$!U01P?!UY-erb#ObX4T2Ki1FtcedHQ$RjG*tKNm&?%TWZdCXfVJ5(ZB*cvYJ zy(`H!-k}U=&qKmEmK1+1+LZ^FA@DY^s~2kDWPPGdv2U^SD~N2MRtxH+N~A?OMgY}Zc( zx9Xz^4rjfB;n16e?aVm(a@i{zR)iEut;i}n6R`6&7sfc^Y?bmJVMPcvnR#I)ZZ*rh zce&~rSOER8l%7t3ITRf+WKu50(gUetfl2Xys0O!CA4AYWeG{of=#83fTBqsDTd}co zy`=bS@6WElgZ|5Nm#s7wP|=Y(nOTWf-^5{#nwoaa_S`TJ--$gb__0L0vc`^Tp8Now z!B(I`6PlVql=4x~IYSR7P`%zmuDq^TgWo3^3ynXjX4Xpe{hfqvn)_B+pCwX)L}BKf zBT1l|_bwQUhtcDw-hA`s^*=x!Q?@KxxvcmN95fjPVYQEigAx9NK*5Hi$>aiD5$7QL zkb%X$bNOWS>gO14JcU^{FpbJ9NCu(DK{7~M4)t*SuNh7)zcfZ!cSX%9CpaRW^-iM zFJUD|Z{&4;*dBKQN2qVrY>n>?dmzprQFN6^BQ|U5TRmipDAGi)H-^Gzij1 z$CA#}9Yb;|@QFRF(1 zYcgH(;160vbU(fA8vDEVmETT)%2TR256_Qd_eYPUf4z&479UpZH6{g-XRgZRWW2E4 ztofu1Rg@HIRWp^@dypM9<$_S7?Fp(G+cNT06Wn}lS7e-+e-xB-Q|^q&R*BdDWLAjq zcjRxROLTlQPQIV)&z&YpFNaIH^&WPWfX|xgrO!@Qpe+wysI8hdUEWECd4aVjt1eny zYGcqUe{h#V!xNdVOA9oj4K+zu+51;%@;(!wIK6Jb5b%41^mP{cBI_Og;eJKwkp-Uu zxx!uo(de$}lW(PzF1A?`87MC9lJqwWM(t+ zFpJRbO;ubNpZ3^$6An@{SwrQ?G2p?GolDRyU(bsBzsue@4GzJMtRM)Lb8pw| zbMBSMS>Gy7`B><*Wv0&k=jE6)Pb%)HNbc?6<=j--V37a|b?MsfE&I*;U8}o!tmya5 zw@eO{P>)hu?*F*rg>UcEb6X~*g%(@4rE!^qM-)Y`(9nlh9&0#Oc9L^G6jZcd5 zteWlheLC0i#mw)v8gZuu&UvlPOK({w;j7vFQNWz!r}Hsaoc`jpER)yX!i|b%kS{jU zlhSErXBK30AcD74>JN>_8)*=)28BksUOnBJlNr$TPuolyrZ<0N*j4U<{Lth4?h@+h zoV)H<9Svi%!;+Ng#f{W+Ao}a3Rc2yl>bx^peMr!3ks{qO1(t9WyBe*)B}bs&@9e4^ zG%e+>>`OX3?63rX_4r}snA8VXhwm|eLr0;bNH2XC@xFKm<@@k`%?htO5*@Q*g+Y)a&}uaa7^R#!=D00SntTDN~xZ^cU&y`-G!NUiT-4?v@tr zR!}t7il6{sagdA%2rMEFLW)a3Azg;D@_X<4BDPcQdCM*T11A6kWxZK974#-r3;eevUPWNfr^QF zdU}dt{-Fs%phcarHZx({gn$6%ekvLIRDK&!&ti8{)3FX=wp1W0OCqYN%``>38tt2G8yQ> z0M-}>E5hT8IXbyJINOL>TfD@eot@mo{^!MrS&M@Sx222(SW+BpA#NcfAueex0TM^a gpe-#Sme!&K4^cvWsFI~{LIwcriIz&Gl6mld0k%Hqc>n+a literal 0 HcmV?d00001 diff --git a/precache-manifest.2265b96ee7eef74fe54922d5fca4edaf.js b/precache-manifest.2265b96ee7eef74fe54922d5fca4edaf.js new file mode 100644 index 0000000..e162afd --- /dev/null +++ b/precache-manifest.2265b96ee7eef74fe54922d5fca4edaf.js @@ -0,0 +1,22 @@ +self.__precacheManifest = (self.__precacheManifest || []).concat([ + { + "revision": "11c50edf663ea532bc0c15399ce58054", + "url": "/sorting-visualizer/index.html" + }, + { + "revision": "fa8cc1295f60b1f7e613", + "url": "/sorting-visualizer/static/css/main.bb79ef14.chunk.css" + }, + { + "revision": "1d58aff2568e41e1b018", + "url": "/sorting-visualizer/static/js/2.31fd37aa.chunk.js" + }, + { + "revision": "fa8cc1295f60b1f7e613", + "url": "/sorting-visualizer/static/js/main.d4bbff72.chunk.js" + }, + { + "revision": "ccf43644322815e86a73", + "url": "/sorting-visualizer/static/js/runtime-main.ce64ded3.js" + } +]); \ No newline at end of file diff --git a/precache-manifest.238e2ec738c9b3a2cb92388e7072ad96.js b/precache-manifest.238e2ec738c9b3a2cb92388e7072ad96.js deleted file mode 100644 index c87a944..0000000 --- a/precache-manifest.238e2ec738c9b3a2cb92388e7072ad96.js +++ /dev/null @@ -1,22 +0,0 @@ -self.__precacheManifest = (self.__precacheManifest || []).concat([ - { - "revision": "c5cdbd4fc29c7dcdc33f6e63cb806364", - "url": "/sorting-visualizer/index.html" - }, - { - "revision": "ab022757c198023c1a9e", - "url": "/sorting-visualizer/static/css/main.152d9bc1.chunk.css" - }, - { - "revision": "6b43431c00dea84b50ab", - "url": "/sorting-visualizer/static/js/2.d1d7e087.chunk.js" - }, - { - "revision": "ab022757c198023c1a9e", - "url": "/sorting-visualizer/static/js/main.4ce283be.chunk.js" - }, - { - "revision": "ccf43644322815e86a73", - "url": "/sorting-visualizer/static/js/runtime-main.ce64ded3.js" - } -]); \ No newline at end of file diff --git a/service-worker.js b/service-worker.js index 9df83a5..6036313 100644 --- a/service-worker.js +++ b/service-worker.js @@ -14,7 +14,7 @@ importScripts("https://storage.googleapis.com/workbox-cdn/releases/4.3.1/workbox-sw.js"); importScripts( - "/sorting-visualizer/precache-manifest.238e2ec738c9b3a2cb92388e7072ad96.js" + "/sorting-visualizer/precache-manifest.2265b96ee7eef74fe54922d5fca4edaf.js" ); self.addEventListener('message', (event) => { diff --git a/static/css/main.152d9bc1.chunk.css b/static/css/main.152d9bc1.chunk.css deleted file mode 100644 index 01b0ff0..0000000 --- a/static/css/main.152d9bc1.chunk.css +++ /dev/null @@ -1,2 +0,0 @@ -*{padding:0}*,body{margin:0}body{width:100%;height:100vh;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}.App{text-align:center}.Bar_Bar__3Vy_p{background:#00b09b;background:-webkit-gradient(linear,left bottom,left top,from(#00b09b),to(#96c93d));background:linear-gradient(0deg,#00b09b,#96c93d);flex-basis:2px;flex-grow:1;flex-shrink:0}.BarsContainer_BarsContainer__17pOc{width:95vw;height:600px;margin:0 auto;display:flex;justify-content:space-evenly;align-items:flex-end;flex-wrap:nowrap}.SortingVisualizer_SortingVisualizer__1kbp7{height:100vh;display:flex;justify-content:space-evenly;align-items:center;overflow:scroll;flex-direction:column}.SortingVisualizer_SortingVisualizer__1kbp7 h1{background:#00b09b;background:-webkit-gradient(linear,left bottom,left top,from(#00b09b),to(#96c93d));background:linear-gradient(0deg,#00b09b,#96c93d);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}.Button_Button__3qR7j{flex:1 1 auto;margin:5px;padding:7.5px;text-align:center;text-transform:uppercase;-webkit-transition:.5s;transition:.5s;background-size:200% auto;color:#fff;border-radius:5px;display:inline-block;font-size:12px;cursor:pointer}.Button_Button__3qR7j:hover{background-position:100%}.Button_Button1__2_rnQ{background-image:-webkit-gradient(linear,left top,right top,from(#f6d365),color-stop(51%,#fda085),to(#f6d365));background-image:linear-gradient(90deg,#f6d365 0,#fda085 51%,#f6d365)}.Button_Button2__1LiY_{background-image:-webkit-gradient(linear,left top,right top,from(#fbc2eb),color-stop(51%,#a6c1ee),to(#fbc2eb));background-image:linear-gradient(90deg,#fbc2eb 0,#a6c1ee 51%,#fbc2eb)}.Button_Button3__3AwsT{background-image:-webkit-gradient(linear,left top,right top,from(#00b09b),to(#96c93d));background-image:linear-gradient(90deg,#00b09b,#96c93d)}.Button_Button4__3ZIM7{background-image:-webkit-gradient(linear,left top,right top,from(#a1c4fd),color-stop(51%,#c2e9fb),to(#a1c4fd));background-image:linear-gradient(90deg,#a1c4fd 0,#c2e9fb 51%,#a1c4fd)}.Button_Button5__2QJCN{background-image:-webkit-gradient(linear,left top,right top,from(#ffecd2),color-stop(51%,#fcb69f),to(#ffecd2));background-image:linear-gradient(90deg,#ffecd2 0,#fcb69f 51%,#ffecd2)} -/*# sourceMappingURL=main.152d9bc1.chunk.css.map */ \ No newline at end of file diff --git a/static/css/main.152d9bc1.chunk.css.map b/static/css/main.152d9bc1.chunk.css.map deleted file mode 100644 index c739541..0000000 --- a/static/css/main.152d9bc1.chunk.css.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["index.css","App.css","Bar.module.css","BarsContainer.module.css","SortingVisualizer.module.css","Button.module.css"],"names":[],"mappings":"AAAA,EAEE,SACF,CAEA,OAJE,QAaF,CATA,KAEE,UAAW,CACX,YAAa,CACb,mIAEY,CACZ,kCAAmC,CACnC,iCACF,CAEA,KACE,uEAEF,CAEA,sCAKE,mBAAoB,CACpB,cAAe,CACf,gBAAiB,CACjB,QACF,CAOA,aAEE,gBACF,CAOA,cAEE,mBACF,CAMA,gDAIE,yBACF,CC7DA,KACE,iBACF,CCFA,gBACE,kBAAmB,CAEnB,kFAAqD,CAArD,gDAAqD,CACrD,cAAe,CACf,WAAY,CACZ,aACF,CCPA,oCACE,UAAW,CACX,YAAa,CACb,aAAc,CACd,YAAa,CACb,4BAA6B,CAC7B,oBAAqB,CACrB,gBACF,CCRA,4CACE,YAAa,CACb,YAAa,CACb,4BAA6B,CAC7B,kBAAmB,CACnB,eAAgB,CAChB,qBACF,CAEA,+CACE,kBAAmB,CAMnB,kFAIC,CAJD,gDAIC,CACD,oBAAqB,CACrB,4BAA6B,CAC7B,mCACF,CCxBA,sBACE,aAAc,CACd,UAAW,CACX,aAAc,CACd,iBAAkB,CAClB,wBAAyB,CACzB,sBAAgB,CAAhB,cAAgB,CAChB,yBAA0B,CAC1B,UAAY,CACZ,iBAAkB,CAClB,oBAAqB,CACrB,cAAe,CACf,cACD,CAED,4BACE,wBACF,CAEA,uBACE,8GAAkF,CAAlF,qEACF,CAEA,uBACE,8GAAkF,CAAlF,qEACF,CAEA,uBACE,sFAA8D,CAA9D,uDACF,CAEA,uBACE,8GAAkF,CAAlF,qEACF,CAEA,uBACE,8GAAkF,CAAlF,qEACF","file":"main.152d9bc1.chunk.css","sourcesContent":["* {\n margin: 0%;\n padding: 0%;\n}\n\nbody {\n margin: 0;\n width: 100%;\n height: 100vh;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", \"Roboto\", \"Oxygen\",\n \"Ubuntu\", \"Cantarell\", \"Fira Sans\", \"Droid Sans\", \"Helvetica Neue\",\n sans-serif;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n}\n\ncode {\n font-family: source-code-pro, Menlo, Monaco, Consolas, \"Courier New\",\n monospace;\n}\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n font-family: inherit; /* 1 */\n font-size: 100%; /* 1 */\n line-height: 1.15; /* 1 */\n margin: 0; /* 2 */\n}\n\n/**\n * Show the overflow in IE.\n * 1. Show the overflow in Edge.\n */\n\nbutton,\ninput { /* 1 */\n overflow: visible;\n}\n\n/**\n * Remove the inheritance of text transform in Edge, Firefox, and IE.\n * 1. Remove the inheritance of text transform in Firefox.\n */\n\nbutton,\nselect { /* 1 */\n text-transform: none;\n}\n\n/**\n * Correct the inability to style clickable types in iOS and Safari.\n */\n\nbutton,\n[type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button;\n}",".App {\n text-align: center;\n}",".Bar {\n background: #00b09b; /* fallback for old browsers */\n background: -webkit-linear-gradient(to top, #00b09b, #96c93d); /* Chrome 10-25, Safari 5.1-6 */\n background: linear-gradient(to top, #00b09b, #96c93d); /* W3C, IE 10+/ Edge, Firefox 16+, Chrome 26+, Opera 12+, Safari 7+ */\n flex-basis: 2px;\n flex-grow: 1;\n flex-shrink: 0;\n}",".BarsContainer {\n width: 95vw;\n height: 600px;\n margin: 0 auto;\n display: flex;\n justify-content: space-evenly;\n align-items: flex-end;\n flex-wrap: nowrap;\n}",".SortingVisualizer {\n height: 100vh;\n display: flex;\n justify-content: space-evenly;\n align-items: center;\n overflow: scroll;\n flex-direction: column;\n}\n\n.SortingVisualizer h1 {\n background: #00b09b;\n background: -webkit-linear-gradient(\n to top,\n #00b09b,\n #96c93d\n );\n background: linear-gradient(\n to top,\n #00b09b,\n #96c93d\n );\n background-clip: text;\n -webkit-background-clip: text;\n -webkit-text-fill-color: transparent;\n}\n",".Button {\n flex: 1 1 auto;\n margin: 5px;\n padding: 7.5px;\n text-align: center;\n text-transform: uppercase;\n transition: 0.5s;\n background-size: 200% auto;\n color: white;\n border-radius: 5px;\n display: inline-block;\n font-size: 12px;\n cursor: pointer;\n }\n\n.Button:hover {\n background-position: right center; /* change the direction of the change here */\n}\n\n.Button1 {\n background-image: linear-gradient(to right, #f6d365 0%, #fda085 51%, #f6d365 100%);\n}\n\n.Button2 {\n background-image: linear-gradient(to right, #fbc2eb 0%, #a6c1ee 51%, #fbc2eb 100%);\n}\n\n.Button3 {\n background-image: linear-gradient(to right, #00b09b, #96c93d);\n}\n\n.Button4 {\n background-image: linear-gradient(to right, #a1c4fd 0%, #c2e9fb 51%, #a1c4fd 100%);\n}\n\n.Button5 {\n background-image: linear-gradient(to right, #ffecd2 0%, #fcb69f 51%, #ffecd2 100%);\n}"]} \ No newline at end of file diff --git a/static/css/main.bb79ef14.chunk.css b/static/css/main.bb79ef14.chunk.css new file mode 100644 index 0000000..e80f2c3 --- /dev/null +++ b/static/css/main.bb79ef14.chunk.css @@ -0,0 +1,2 @@ +*{padding:0}*,body{margin:0}body{width:100%;height:100vh;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}.App{text-align:center}.Bar_Bar__3Vy_p{background:#00b09b;background:-webkit-gradient(linear,left bottom,left top,from(#00b09b),to(#96c93d));background:linear-gradient(0deg,#00b09b,#96c93d);flex-basis:2px;flex-grow:1;flex-shrink:0}.BarsContainer_BarsContainer__17pOc{width:95vw;height:600px;margin:0 auto;display:flex;justify-content:space-evenly;align-items:flex-end;flex-wrap:nowrap}.SortingVisualizer_SortingVisualizer__1kbp7{height:100vh;display:flex;justify-content:space-evenly;align-items:center;overflow:scroll;flex-direction:column}.SortingVisualizer_SortingVisualizer__1kbp7 h1{background:#00b09b;background:-webkit-gradient(linear,left bottom,left top,from(#00b09b),to(#96c93d));background:linear-gradient(0deg,#00b09b,#96c93d);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}.Button_Button__3qR7j{flex:1 1 auto;margin:5px;padding:7.5px;text-align:center;text-transform:uppercase;-webkit-transition:.5s;transition:.5s;background-size:200% auto;color:#fff;border-radius:5px;display:inline-block;font-size:12px;cursor:pointer;behavior:button}.Button_Button__3qR7j:hover{background-position:100%}.Button_Button1__2_rnQ{background-image:-webkit-gradient(linear,left top,right top,from(#f6d365),color-stop(51%,#fda085),to(#f6d365));background-image:linear-gradient(90deg,#f6d365 0,#fda085 51%,#f6d365)}.Button_Button2__1LiY_{background-image:-webkit-gradient(linear,left top,right top,from(#fbc2eb),color-stop(51%,#a6c1ee),to(#fbc2eb));background-image:linear-gradient(90deg,#fbc2eb 0,#a6c1ee 51%,#fbc2eb)}.Button_Button3__3AwsT{background-image:-webkit-gradient(linear,left top,right top,from(#00b09b),to(#96c93d));background-image:linear-gradient(90deg,#00b09b,#96c93d)}.Button_Button4__3ZIM7{background-image:-webkit-gradient(linear,left top,right top,from(#a1c4fd),color-stop(51%,#c2e9fb),to(#a1c4fd));background-image:linear-gradient(90deg,#a1c4fd 0,#c2e9fb 51%,#a1c4fd)}.Button_Button5__2QJCN{background-image:-webkit-gradient(linear,left top,right top,from(#ffecd2),color-stop(51%,#fcb69f),to(#ffecd2));background-image:linear-gradient(90deg,#ffecd2 0,#fcb69f 51%,#ffecd2)}.Range_Range__3o6vB{height:5px;background-image:-webkit-gradient(linear,left top,right top,from(#00b09b),to(#96c93d));background-image:linear-gradient(90deg,#00b09b,#96c93d);-webkit-appearance:none;-moz-appearance:none;appearance:none;outline:none;align-self:center;margin:2px;padding:initial}.Range_Range__3o6vB::-webkit-slider-thumb{width:1em;height:1em;background:#fff;border:2px solid #96c93d;border-radius:50%;-webkit-appearance:none;appearance:none;cursor:-webkit-grab;cursor:grab}.Range_Range__3o6vB::-webkit-slider-thumb:active{cursor:-webkit-grabbing;cursor:grabbing}.Range_Range__3o6vB:hover{background-position:100%}.InteractionBar_InteractionBar__240lp{display:flex;justify-content:space-between;align-content:center;flex-direction:row;flex-wrap:wrap} +/*# sourceMappingURL=main.bb79ef14.chunk.css.map */ \ No newline at end of file diff --git a/static/css/main.bb79ef14.chunk.css.map b/static/css/main.bb79ef14.chunk.css.map new file mode 100644 index 0000000..09b53f9 --- /dev/null +++ b/static/css/main.bb79ef14.chunk.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["index.css","App.css","Bar.module.css","BarsContainer.module.css","SortingVisualizer.module.css","Button.module.css","Range.module.css","InteractionBar.module.css"],"names":[],"mappings":"AAAA,EAEE,SACF,CAEA,OAJE,QAaF,CATA,KAEE,UAAW,CACX,YAAa,CACb,mIAEY,CACZ,kCAAmC,CACnC,iCACF,CAEA,KACE,uEAEF,CAEA,sCAKE,mBAAoB,CACpB,cAAe,CACf,gBAAiB,CACjB,QACF,CAOA,aAEE,gBACF,CAOA,cAEE,mBACF,CAMA,gDAIE,yBACF,CC7DA,KACE,iBACF,CCFA,gBACE,kBAAmB,CAEnB,kFAAqD,CAArD,gDAAqD,CACrD,cAAe,CACf,WAAY,CACZ,aACF,CCPA,oCACE,UAAW,CACX,YAAa,CACb,aAAc,CACd,YAAa,CACb,4BAA6B,CAC7B,oBAAqB,CACrB,gBACF,CCRA,4CACE,YAAa,CACb,YAAa,CACb,4BAA6B,CAC7B,kBAAmB,CACnB,eAAgB,CAChB,qBACF,CAEA,+CACE,kBAAmB,CAMnB,kFAIC,CAJD,gDAIC,CACD,oBAAqB,CACrB,4BAA6B,CAC7B,mCACF,CCxBA,sBACE,aAAc,CACd,UAAW,CACX,aAAc,CACd,iBAAkB,CAClB,wBAAyB,CACzB,sBAAgB,CAAhB,cAAgB,CAChB,yBAA0B,CAC1B,UAAY,CACZ,iBAAkB,CAClB,oBAAqB,CACrB,cAAe,CACf,cAAe,CACf,eACD,CAED,4BACE,wBACF,CAEA,uBACE,8GAAkF,CAAlF,qEACF,CAEA,uBACE,8GAAkF,CAAlF,qEACF,CAEA,uBACE,sFAA8D,CAA9D,uDACF,CAEA,uBACE,8GAAkF,CAAlF,qEACF,CAEA,uBACE,8GAAkF,CAAlF,qEACF,CCtCA,oBACE,UAAW,CACX,sFAA6D,CAA7D,uDAA6D,CAC7D,uBAAwB,CACxB,oBAAqB,CACrB,eAAgB,CAChB,YAAa,CACb,iBAAkB,CAClB,UAAW,CACX,eACF,CAEA,0CACE,SAAU,CACV,UAAW,CACX,eAAiB,CACjB,wBAAyB,CACzB,iBAAkB,CAClB,uBAAwB,CACxB,eAAgB,CAChB,mBAAoB,CACpB,WACF,CAEA,iDACE,uBAAwB,CACxB,eACF,CAEA,0BACE,wBACF,CC/BA,sCACE,YAAa,CACb,6BAA8B,CAC9B,oBAAqB,CACrB,kBAAmB,CACnB,cACF","file":"main.bb79ef14.chunk.css","sourcesContent":["* {\n margin: 0%;\n padding: 0%;\n}\n\nbody {\n margin: 0;\n width: 100%;\n height: 100vh;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", \"Roboto\", \"Oxygen\",\n \"Ubuntu\", \"Cantarell\", \"Fira Sans\", \"Droid Sans\", \"Helvetica Neue\",\n sans-serif;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n}\n\ncode {\n font-family: source-code-pro, Menlo, Monaco, Consolas, \"Courier New\",\n monospace;\n}\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n font-family: inherit; /* 1 */\n font-size: 100%; /* 1 */\n line-height: 1.15; /* 1 */\n margin: 0; /* 2 */\n}\n\n/**\n * Show the overflow in IE.\n * 1. Show the overflow in Edge.\n */\n\nbutton,\ninput { /* 1 */\n overflow: visible;\n}\n\n/**\n * Remove the inheritance of text transform in Edge, Firefox, and IE.\n * 1. Remove the inheritance of text transform in Firefox.\n */\n\nbutton,\nselect { /* 1 */\n text-transform: none;\n}\n\n/**\n * Correct the inability to style clickable types in iOS and Safari.\n */\n\nbutton,\n[type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button;\n}",".App {\n text-align: center;\n}",".Bar {\n background: #00b09b; /* fallback for old browsers */\n background: -webkit-linear-gradient(to top, #00b09b, #96c93d); /* Chrome 10-25, Safari 5.1-6 */\n background: linear-gradient(to top, #00b09b, #96c93d); /* W3C, IE 10+/ Edge, Firefox 16+, Chrome 26+, Opera 12+, Safari 7+ */\n flex-basis: 2px;\n flex-grow: 1;\n flex-shrink: 0;\n}",".BarsContainer {\n width: 95vw;\n height: 600px;\n margin: 0 auto;\n display: flex;\n justify-content: space-evenly;\n align-items: flex-end;\n flex-wrap: nowrap;\n}",".SortingVisualizer {\n height: 100vh;\n display: flex;\n justify-content: space-evenly;\n align-items: center;\n overflow: scroll;\n flex-direction: column;\n}\n\n.SortingVisualizer h1 {\n background: #00b09b;\n background: -webkit-linear-gradient(\n to top,\n #00b09b,\n #96c93d\n );\n background: linear-gradient(\n to top,\n #00b09b,\n #96c93d\n );\n background-clip: text;\n -webkit-background-clip: text;\n -webkit-text-fill-color: transparent;\n}\n",".Button {\n flex: 1 1 auto;\n margin: 5px;\n padding: 7.5px;\n text-align: center;\n text-transform: uppercase;\n transition: 0.5s;\n background-size: 200% auto;\n color: white;\n border-radius: 5px;\n display: inline-block;\n font-size: 12px;\n cursor: pointer;\n behavior: button;\n }\n\n.Button:hover {\n background-position: right center; /* change the direction of the change here */\n}\n\n.Button1 {\n background-image: linear-gradient(to right, #f6d365 0%, #fda085 51%, #f6d365 100%);\n}\n\n.Button2 {\n background-image: linear-gradient(to right, #fbc2eb 0%, #a6c1ee 51%, #fbc2eb 100%);\n}\n\n.Button3 {\n background-image: linear-gradient(to right, #00b09b, #96c93d);\n}\n\n.Button4 {\n background-image: linear-gradient(to right, #a1c4fd 0%, #c2e9fb 51%, #a1c4fd 100%);\n}\n\n.Button5 {\n background-image: linear-gradient(to right, #ffecd2 0%, #fcb69f 51%, #ffecd2 100%);\n}",".Range {\n height: 5px;\n background-image: linear-gradient(to right, #00b09b, #96c93d);\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n outline: none;\n align-self: center;\n margin: 2px;\n padding: initial;\n}\n\n.Range::-webkit-slider-thumb {\n width: 1em;\n height: 1em;\n background: white;\n border: 2px solid #96c93d;\n border-radius: 50%;\n -webkit-appearance: none;\n appearance: none;\n cursor: -webkit-grab;\n cursor: grab;\n}\n\n.Range::-webkit-slider-thumb:active {\n cursor: -webkit-grabbing;\n cursor: grabbing;\n}\n\n.Range:hover {\n background-position: right center; /* change the direction of the change here */\n}",".InteractionBar {\n display: flex;\n justify-content: space-between;\n align-content: center;\n flex-direction: row;\n flex-wrap: wrap;\n}"]} \ No newline at end of file diff --git a/static/js/2.31fd37aa.chunk.js b/static/js/2.31fd37aa.chunk.js new file mode 100644 index 0000000..26297b3 --- /dev/null +++ b/static/js/2.31fd37aa.chunk.js @@ -0,0 +1,2 @@ +(this["webpackJsonpsorting-visualizer"]=this["webpackJsonpsorting-visualizer"]||[]).push([[2],[function(e,t,n){"use strict";e.exports=n(16)},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}n.d(t,"a",(function(){return r}))},function(e,t,n){"use strict";function r(e,t){for(var n=0;nz.length&&z.push(e)}function R(e,t,n){return null==e?0:function e(t,n,r,l){var o=typeof t;"undefined"!==o&&"boolean"!==o||(t=null);var u=!1;if(null===t)u=!0;else switch(o){case"string":case"number":u=!0;break;case"object":switch(t.$$typeof){case a:case i:u=!0}}if(u)return r(l,t,""===n?"."+F(t,0):n),1;if(u=0,n=""===n?".":n+":",Array.isArray(t))for(var c=0;c

\ No newline at end of file diff --git a/precache-manifest.2265b96ee7eef74fe54922d5fca4edaf.js b/precache-manifest.2265b96ee7eef74fe54922d5fca4edaf.js deleted file mode 100644 index e162afd..0000000 --- a/precache-manifest.2265b96ee7eef74fe54922d5fca4edaf.js +++ /dev/null @@ -1,22 +0,0 @@ -self.__precacheManifest = (self.__precacheManifest || []).concat([ - { - "revision": "11c50edf663ea532bc0c15399ce58054", - "url": "/sorting-visualizer/index.html" - }, - { - "revision": "fa8cc1295f60b1f7e613", - "url": "/sorting-visualizer/static/css/main.bb79ef14.chunk.css" - }, - { - "revision": "1d58aff2568e41e1b018", - "url": "/sorting-visualizer/static/js/2.31fd37aa.chunk.js" - }, - { - "revision": "fa8cc1295f60b1f7e613", - "url": "/sorting-visualizer/static/js/main.d4bbff72.chunk.js" - }, - { - "revision": "ccf43644322815e86a73", - "url": "/sorting-visualizer/static/js/runtime-main.ce64ded3.js" - } -]); \ No newline at end of file diff --git a/precache-manifest.d0f51d154ce422a1d729e5910017d191.js b/precache-manifest.d0f51d154ce422a1d729e5910017d191.js new file mode 100644 index 0000000..fdb2a0d --- /dev/null +++ b/precache-manifest.d0f51d154ce422a1d729e5910017d191.js @@ -0,0 +1,22 @@ +self.__precacheManifest = (self.__precacheManifest || []).concat([ + { + "revision": "6d292fb448edf08d601fc8397e262a28", + "url": "/sorting-visualizer/index.html" + }, + { + "revision": "415e42666ec12df8ad74", + "url": "/sorting-visualizer/static/css/main.7113c2fb.chunk.css" + }, + { + "revision": "8d80086b5ccdc4c9f5a6", + "url": "/sorting-visualizer/static/js/2.cc65b538.chunk.js" + }, + { + "revision": "415e42666ec12df8ad74", + "url": "/sorting-visualizer/static/js/main.d1afc540.chunk.js" + }, + { + "revision": "ccf43644322815e86a73", + "url": "/sorting-visualizer/static/js/runtime-main.ce64ded3.js" + } +]); \ No newline at end of file diff --git a/service-worker.js b/service-worker.js index 6036313..290d8a8 100644 --- a/service-worker.js +++ b/service-worker.js @@ -14,7 +14,7 @@ importScripts("https://storage.googleapis.com/workbox-cdn/releases/4.3.1/workbox-sw.js"); importScripts( - "/sorting-visualizer/precache-manifest.2265b96ee7eef74fe54922d5fca4edaf.js" + "/sorting-visualizer/precache-manifest.d0f51d154ce422a1d729e5910017d191.js" ); self.addEventListener('message', (event) => { diff --git a/static/css/main.7113c2fb.chunk.css b/static/css/main.7113c2fb.chunk.css new file mode 100644 index 0000000..ff03cbe --- /dev/null +++ b/static/css/main.7113c2fb.chunk.css @@ -0,0 +1,2 @@ +*{padding:0}*,body{margin:0}body{width:100%;height:100vh;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}.App{text-align:center}.Bar_Bar__3Vy_p{background:#00b09b;background:-webkit-gradient(linear,left bottom,left top,from(#00b09b),to(#96c93d));background:linear-gradient(0deg,#00b09b,#96c93d);flex-basis:2px;flex-grow:1;flex-shrink:0}.BarsContainer_BarsContainer__17pOc{width:90%;height:600px;margin:10px auto;display:flex;justify-content:space-evenly;align-items:flex-end;flex-wrap:nowrap}.SortingVisualizer_SortingVisualizer__1kbp7{height:100vh;width:100vw;display:flex;justify-content:space-evenly;align-items:center;overflow:scroll;flex-direction:column}.SortingVisualizer_SortingVisualizer__1kbp7 h1{background:#00b09b;background:-webkit-gradient(linear,left bottom,left top,from(#00b09b),to(#96c93d));background:linear-gradient(0deg,#00b09b,#96c93d);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}.Button_Button__3qR7j{flex:1 1 auto;margin:5px;padding:7.5px;text-align:center;text-transform:uppercase;-webkit-transition:.5s;transition:.5s;background-size:200% auto;color:#fff;border-radius:5px;display:inline-block;font-size:12px;cursor:pointer}.Button_Button__3qR7j:hover{background-position:100%}.Button_Button3__3AwsT{background-image:-webkit-gradient(linear,left top,right top,from(#00b09b),to(#96c93d));background-image:linear-gradient(90deg,#00b09b,#96c93d)}.Button_Disabled__1bQc4{background-image:#bdc3c7;background-image:-webkit-gradient(linear,left top,right top,from(#2c3e50),to(#bdc3c7));background-image:linear-gradient(90deg,#2c3e50,#bdc3c7)}.Range_Range__3o6vB{flex:2 1 auto;height:5px;background-image:-webkit-gradient(linear,left top,right top,from(#00b09b),to(#96c93d));background-image:linear-gradient(90deg,#00b09b,#96c93d);-webkit-appearance:none;-moz-appearance:none;appearance:none;outline:none;align-self:center;margin:2px;padding:initial}.Range_Range__3o6vB::-webkit-slider-thumb{width:1em;height:1em;background:#fff;border:2px solid #96c93d;border-radius:50%;-webkit-appearance:none;appearance:none;cursor:-webkit-grab;cursor:grab}.Range_Range__3o6vB::-webkit-slider-thumb:active{cursor:-webkit-grabbing;cursor:grabbing}.Range_Range__3o6vB:hover{background-position:100%}.InteractionBar_InteractionBar__240lp{width:90%;display:flex;justify-content:space-around;align-content:center;flex-direction:row;flex-wrap:wrap}.InteractionBar_InteractionBar__240lp>*{flex:1 1 100%}.InteractionBar_BarGroup__3xY3C{align-self:center;display:flex;justify-content:space-evenly;align-content:center;flex-direction:row} +/*# sourceMappingURL=main.7113c2fb.chunk.css.map */ \ No newline at end of file diff --git a/static/css/main.7113c2fb.chunk.css.map b/static/css/main.7113c2fb.chunk.css.map new file mode 100644 index 0000000..46453e4 --- /dev/null +++ b/static/css/main.7113c2fb.chunk.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["index.css","App.css","Bar.module.css","BarsContainer.module.css","SortingVisualizer.module.css","Button.module.css","Range.module.css","InteractionBar.module.css"],"names":[],"mappings":"AAAA,EAEE,SACF,CAEA,OAJE,QAaF,CATA,KAEE,UAAW,CACX,YAAa,CACb,mIAEY,CACZ,kCAAmC,CACnC,iCACF,CAEA,KACE,uEAEF,CAEA,sCAKE,mBAAoB,CACpB,cAAe,CACf,gBAAiB,CACjB,QACF,CAOA,aAEE,gBACF,CAOA,cAEE,mBACF,CAMA,gDAIE,yBACF,CC7DA,KACE,iBACF,CCFA,gBACE,kBAAmB,CAEnB,kFAAqD,CAArD,gDAAqD,CACrD,cAAe,CACf,WAAY,CACZ,aACF,CCPA,oCACE,SAAU,CACV,YAAa,CACb,gBAAiB,CACjB,YAAa,CACb,4BAA6B,CAC7B,oBAAqB,CACrB,gBACF,CCRA,4CACE,YAAa,CACb,WAAY,CACZ,YAAa,CACb,4BAA6B,CAC7B,kBAAmB,CACnB,eAAgB,CAChB,qBACF,CAEA,+CACE,kBAAmB,CAMnB,kFAIC,CAJD,gDAIC,CACD,oBAAqB,CACrB,4BAA6B,CAC7B,mCACF,CCzBA,sBACE,aAAc,CACd,UAAW,CACX,aAAc,CACd,iBAAkB,CAClB,wBAAyB,CACzB,sBAAgB,CAAhB,cAAgB,CAChB,yBAA0B,CAC1B,UAAY,CACZ,iBAAkB,CAClB,oBAAqB,CACrB,cAAe,CACf,cACF,CAEA,4BACE,wBACF,CAEA,uBAEE,sFAA6D,CAA7D,uDACF,CAEA,wBACE,wBAAyB,CAMzB,sFAIC,CAJD,uDAKF,CCpCA,oBACE,aAAc,CACd,UAAW,CACX,sFAA6D,CAA7D,uDAA6D,CAC7D,uBAAwB,CACxB,oBAAqB,CACrB,eAAgB,CAChB,YAAa,CACb,iBAAkB,CAClB,UAAW,CACX,eACF,CAEA,0CACE,SAAU,CACV,UAAW,CACX,eAAiB,CACjB,wBAAyB,CACzB,iBAAkB,CAClB,uBAAwB,CACxB,eAAgB,CAChB,mBAAoB,CACpB,WACF,CAEA,iDACE,uBAAwB,CACxB,eACF,CAEA,0BACE,wBACF,CChCA,sCACE,SAAU,CACV,YAAa,CACb,4BAA6B,CAC7B,oBAAqB,CACrB,kBAAmB,CACnB,cACF,CAEA,wCACE,aACF,CAEA,gCACE,iBAAkB,CAClB,YAAa,CACb,4BAA6B,CAC7B,oBAAqB,CACrB,kBACF","file":"main.7113c2fb.chunk.css","sourcesContent":["* {\n margin: 0%;\n padding: 0%;\n}\n\nbody {\n margin: 0;\n width: 100%;\n height: 100vh;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", \"Roboto\", \"Oxygen\",\n \"Ubuntu\", \"Cantarell\", \"Fira Sans\", \"Droid Sans\", \"Helvetica Neue\",\n sans-serif;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n}\n\ncode {\n font-family: source-code-pro, Menlo, Monaco, Consolas, \"Courier New\",\n monospace;\n}\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n font-family: inherit; /* 1 */\n font-size: 100%; /* 1 */\n line-height: 1.15; /* 1 */\n margin: 0; /* 2 */\n}\n\n/**\n * Show the overflow in IE.\n * 1. Show the overflow in Edge.\n */\n\nbutton,\ninput { /* 1 */\n overflow: visible;\n}\n\n/**\n * Remove the inheritance of text transform in Edge, Firefox, and IE.\n * 1. Remove the inheritance of text transform in Firefox.\n */\n\nbutton,\nselect { /* 1 */\n text-transform: none;\n}\n\n/**\n * Correct the inability to style clickable types in iOS and Safari.\n */\n\nbutton,\n[type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button;\n}",".App {\n text-align: center;\n}",".Bar {\n background: #00b09b; /* fallback for old browsers */\n background: -webkit-linear-gradient(to top, #00b09b, #96c93d); /* Chrome 10-25, Safari 5.1-6 */\n background: linear-gradient(to top, #00b09b, #96c93d); /* W3C, IE 10+/ Edge, Firefox 16+, Chrome 26+, Opera 12+, Safari 7+ */\n flex-basis: 2px;\n flex-grow: 1;\n flex-shrink: 0;\n}",".BarsContainer {\n width: 90%;\n height: 600px;\n margin: 10px auto;\n display: flex;\n justify-content: space-evenly;\n align-items: flex-end;\n flex-wrap: nowrap;\n}",".SortingVisualizer {\n height: 100vh;\n width: 100vw;\n display: flex;\n justify-content: space-evenly;\n align-items: center;\n overflow: scroll;\n flex-direction: column;\n}\n\n.SortingVisualizer h1 {\n background: #00b09b;\n background: -webkit-linear-gradient(\n to top,\n #00b09b,\n #96c93d\n );\n background: linear-gradient(\n to top,\n #00b09b,\n #96c93d\n );\n background-clip: text;\n -webkit-background-clip: text;\n -webkit-text-fill-color: transparent;\n}\n",".Button {\n flex: 1 1 auto;\n margin: 5px;\n padding: 7.5px;\n text-align: center;\n text-transform: uppercase;\n transition: 0.5s;\n background-size: 200% auto;\n color: white;\n border-radius: 5px;\n display: inline-block;\n font-size: 12px;\n cursor: pointer;\n}\n\n.Button:hover {\n background-position: right center; /* change the direction of the change here */\n}\n\n.Button3 {\n background-image: -webkit-linear-gradient(to right, #00b09b, #96c93d);\n background-image: linear-gradient(to right, #00b09b, #96c93d);\n}\n\n.Disabled {\n background-image: #bdc3c7; /* fallback for old browsers */\n background-image: -webkit-linear-gradient(\n to right,\n #2c3e50,\n #bdc3c7\n ); /* Chrome 10-25, Safari 5.1-6 */\n background-image: linear-gradient(\n to right,\n #2c3e50,\n #bdc3c7\n ); /* W3C, IE 10+/ Edge, Firefox 16+, Chrome 26+, Opera 12+, Safari 7+ */\n}\n",".Range {\n flex: 2 1 auto;\n height: 5px;\n background-image: linear-gradient(to right, #00b09b, #96c93d);\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n outline: none;\n align-self: center;\n margin: 2px;\n padding: initial;\n}\n\n.Range::-webkit-slider-thumb {\n width: 1em;\n height: 1em;\n background: white;\n border: 2px solid #96c93d;\n border-radius: 50%;\n -webkit-appearance: none;\n appearance: none;\n cursor: -webkit-grab;\n cursor: grab;\n}\n\n.Range::-webkit-slider-thumb:active {\n cursor: -webkit-grabbing;\n cursor: grabbing;\n}\n\n.Range:hover {\n background-position: right center; /* change the direction of the change here */\n}",".InteractionBar {\n width: 90%;\n display: flex;\n justify-content: space-around;\n align-content: center;\n flex-direction: row;\n flex-wrap: wrap;\n}\n\n.InteractionBar > * {\n flex: 1 100%;\n}\n\n.BarGroup {\n align-self: center;\n display: flex;\n justify-content: space-evenly;\n align-content: center;\n flex-direction: row;\n}"]} \ No newline at end of file diff --git a/static/css/main.bb79ef14.chunk.css b/static/css/main.bb79ef14.chunk.css deleted file mode 100644 index e80f2c3..0000000 --- a/static/css/main.bb79ef14.chunk.css +++ /dev/null @@ -1,2 +0,0 @@ -*{padding:0}*,body{margin:0}body{width:100%;height:100vh;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}.App{text-align:center}.Bar_Bar__3Vy_p{background:#00b09b;background:-webkit-gradient(linear,left bottom,left top,from(#00b09b),to(#96c93d));background:linear-gradient(0deg,#00b09b,#96c93d);flex-basis:2px;flex-grow:1;flex-shrink:0}.BarsContainer_BarsContainer__17pOc{width:95vw;height:600px;margin:0 auto;display:flex;justify-content:space-evenly;align-items:flex-end;flex-wrap:nowrap}.SortingVisualizer_SortingVisualizer__1kbp7{height:100vh;display:flex;justify-content:space-evenly;align-items:center;overflow:scroll;flex-direction:column}.SortingVisualizer_SortingVisualizer__1kbp7 h1{background:#00b09b;background:-webkit-gradient(linear,left bottom,left top,from(#00b09b),to(#96c93d));background:linear-gradient(0deg,#00b09b,#96c93d);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}.Button_Button__3qR7j{flex:1 1 auto;margin:5px;padding:7.5px;text-align:center;text-transform:uppercase;-webkit-transition:.5s;transition:.5s;background-size:200% auto;color:#fff;border-radius:5px;display:inline-block;font-size:12px;cursor:pointer;behavior:button}.Button_Button__3qR7j:hover{background-position:100%}.Button_Button1__2_rnQ{background-image:-webkit-gradient(linear,left top,right top,from(#f6d365),color-stop(51%,#fda085),to(#f6d365));background-image:linear-gradient(90deg,#f6d365 0,#fda085 51%,#f6d365)}.Button_Button2__1LiY_{background-image:-webkit-gradient(linear,left top,right top,from(#fbc2eb),color-stop(51%,#a6c1ee),to(#fbc2eb));background-image:linear-gradient(90deg,#fbc2eb 0,#a6c1ee 51%,#fbc2eb)}.Button_Button3__3AwsT{background-image:-webkit-gradient(linear,left top,right top,from(#00b09b),to(#96c93d));background-image:linear-gradient(90deg,#00b09b,#96c93d)}.Button_Button4__3ZIM7{background-image:-webkit-gradient(linear,left top,right top,from(#a1c4fd),color-stop(51%,#c2e9fb),to(#a1c4fd));background-image:linear-gradient(90deg,#a1c4fd 0,#c2e9fb 51%,#a1c4fd)}.Button_Button5__2QJCN{background-image:-webkit-gradient(linear,left top,right top,from(#ffecd2),color-stop(51%,#fcb69f),to(#ffecd2));background-image:linear-gradient(90deg,#ffecd2 0,#fcb69f 51%,#ffecd2)}.Range_Range__3o6vB{height:5px;background-image:-webkit-gradient(linear,left top,right top,from(#00b09b),to(#96c93d));background-image:linear-gradient(90deg,#00b09b,#96c93d);-webkit-appearance:none;-moz-appearance:none;appearance:none;outline:none;align-self:center;margin:2px;padding:initial}.Range_Range__3o6vB::-webkit-slider-thumb{width:1em;height:1em;background:#fff;border:2px solid #96c93d;border-radius:50%;-webkit-appearance:none;appearance:none;cursor:-webkit-grab;cursor:grab}.Range_Range__3o6vB::-webkit-slider-thumb:active{cursor:-webkit-grabbing;cursor:grabbing}.Range_Range__3o6vB:hover{background-position:100%}.InteractionBar_InteractionBar__240lp{display:flex;justify-content:space-between;align-content:center;flex-direction:row;flex-wrap:wrap} -/*# sourceMappingURL=main.bb79ef14.chunk.css.map */ \ No newline at end of file diff --git a/static/css/main.bb79ef14.chunk.css.map b/static/css/main.bb79ef14.chunk.css.map deleted file mode 100644 index 09b53f9..0000000 --- a/static/css/main.bb79ef14.chunk.css.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["index.css","App.css","Bar.module.css","BarsContainer.module.css","SortingVisualizer.module.css","Button.module.css","Range.module.css","InteractionBar.module.css"],"names":[],"mappings":"AAAA,EAEE,SACF,CAEA,OAJE,QAaF,CATA,KAEE,UAAW,CACX,YAAa,CACb,mIAEY,CACZ,kCAAmC,CACnC,iCACF,CAEA,KACE,uEAEF,CAEA,sCAKE,mBAAoB,CACpB,cAAe,CACf,gBAAiB,CACjB,QACF,CAOA,aAEE,gBACF,CAOA,cAEE,mBACF,CAMA,gDAIE,yBACF,CC7DA,KACE,iBACF,CCFA,gBACE,kBAAmB,CAEnB,kFAAqD,CAArD,gDAAqD,CACrD,cAAe,CACf,WAAY,CACZ,aACF,CCPA,oCACE,UAAW,CACX,YAAa,CACb,aAAc,CACd,YAAa,CACb,4BAA6B,CAC7B,oBAAqB,CACrB,gBACF,CCRA,4CACE,YAAa,CACb,YAAa,CACb,4BAA6B,CAC7B,kBAAmB,CACnB,eAAgB,CAChB,qBACF,CAEA,+CACE,kBAAmB,CAMnB,kFAIC,CAJD,gDAIC,CACD,oBAAqB,CACrB,4BAA6B,CAC7B,mCACF,CCxBA,sBACE,aAAc,CACd,UAAW,CACX,aAAc,CACd,iBAAkB,CAClB,wBAAyB,CACzB,sBAAgB,CAAhB,cAAgB,CAChB,yBAA0B,CAC1B,UAAY,CACZ,iBAAkB,CAClB,oBAAqB,CACrB,cAAe,CACf,cAAe,CACf,eACD,CAED,4BACE,wBACF,CAEA,uBACE,8GAAkF,CAAlF,qEACF,CAEA,uBACE,8GAAkF,CAAlF,qEACF,CAEA,uBACE,sFAA8D,CAA9D,uDACF,CAEA,uBACE,8GAAkF,CAAlF,qEACF,CAEA,uBACE,8GAAkF,CAAlF,qEACF,CCtCA,oBACE,UAAW,CACX,sFAA6D,CAA7D,uDAA6D,CAC7D,uBAAwB,CACxB,oBAAqB,CACrB,eAAgB,CAChB,YAAa,CACb,iBAAkB,CAClB,UAAW,CACX,eACF,CAEA,0CACE,SAAU,CACV,UAAW,CACX,eAAiB,CACjB,wBAAyB,CACzB,iBAAkB,CAClB,uBAAwB,CACxB,eAAgB,CAChB,mBAAoB,CACpB,WACF,CAEA,iDACE,uBAAwB,CACxB,eACF,CAEA,0BACE,wBACF,CC/BA,sCACE,YAAa,CACb,6BAA8B,CAC9B,oBAAqB,CACrB,kBAAmB,CACnB,cACF","file":"main.bb79ef14.chunk.css","sourcesContent":["* {\n margin: 0%;\n padding: 0%;\n}\n\nbody {\n margin: 0;\n width: 100%;\n height: 100vh;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", \"Roboto\", \"Oxygen\",\n \"Ubuntu\", \"Cantarell\", \"Fira Sans\", \"Droid Sans\", \"Helvetica Neue\",\n sans-serif;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n}\n\ncode {\n font-family: source-code-pro, Menlo, Monaco, Consolas, \"Courier New\",\n monospace;\n}\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n font-family: inherit; /* 1 */\n font-size: 100%; /* 1 */\n line-height: 1.15; /* 1 */\n margin: 0; /* 2 */\n}\n\n/**\n * Show the overflow in IE.\n * 1. Show the overflow in Edge.\n */\n\nbutton,\ninput { /* 1 */\n overflow: visible;\n}\n\n/**\n * Remove the inheritance of text transform in Edge, Firefox, and IE.\n * 1. Remove the inheritance of text transform in Firefox.\n */\n\nbutton,\nselect { /* 1 */\n text-transform: none;\n}\n\n/**\n * Correct the inability to style clickable types in iOS and Safari.\n */\n\nbutton,\n[type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button;\n}",".App {\n text-align: center;\n}",".Bar {\n background: #00b09b; /* fallback for old browsers */\n background: -webkit-linear-gradient(to top, #00b09b, #96c93d); /* Chrome 10-25, Safari 5.1-6 */\n background: linear-gradient(to top, #00b09b, #96c93d); /* W3C, IE 10+/ Edge, Firefox 16+, Chrome 26+, Opera 12+, Safari 7+ */\n flex-basis: 2px;\n flex-grow: 1;\n flex-shrink: 0;\n}",".BarsContainer {\n width: 95vw;\n height: 600px;\n margin: 0 auto;\n display: flex;\n justify-content: space-evenly;\n align-items: flex-end;\n flex-wrap: nowrap;\n}",".SortingVisualizer {\n height: 100vh;\n display: flex;\n justify-content: space-evenly;\n align-items: center;\n overflow: scroll;\n flex-direction: column;\n}\n\n.SortingVisualizer h1 {\n background: #00b09b;\n background: -webkit-linear-gradient(\n to top,\n #00b09b,\n #96c93d\n );\n background: linear-gradient(\n to top,\n #00b09b,\n #96c93d\n );\n background-clip: text;\n -webkit-background-clip: text;\n -webkit-text-fill-color: transparent;\n}\n",".Button {\n flex: 1 1 auto;\n margin: 5px;\n padding: 7.5px;\n text-align: center;\n text-transform: uppercase;\n transition: 0.5s;\n background-size: 200% auto;\n color: white;\n border-radius: 5px;\n display: inline-block;\n font-size: 12px;\n cursor: pointer;\n behavior: button;\n }\n\n.Button:hover {\n background-position: right center; /* change the direction of the change here */\n}\n\n.Button1 {\n background-image: linear-gradient(to right, #f6d365 0%, #fda085 51%, #f6d365 100%);\n}\n\n.Button2 {\n background-image: linear-gradient(to right, #fbc2eb 0%, #a6c1ee 51%, #fbc2eb 100%);\n}\n\n.Button3 {\n background-image: linear-gradient(to right, #00b09b, #96c93d);\n}\n\n.Button4 {\n background-image: linear-gradient(to right, #a1c4fd 0%, #c2e9fb 51%, #a1c4fd 100%);\n}\n\n.Button5 {\n background-image: linear-gradient(to right, #ffecd2 0%, #fcb69f 51%, #ffecd2 100%);\n}",".Range {\n height: 5px;\n background-image: linear-gradient(to right, #00b09b, #96c93d);\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n outline: none;\n align-self: center;\n margin: 2px;\n padding: initial;\n}\n\n.Range::-webkit-slider-thumb {\n width: 1em;\n height: 1em;\n background: white;\n border: 2px solid #96c93d;\n border-radius: 50%;\n -webkit-appearance: none;\n appearance: none;\n cursor: -webkit-grab;\n cursor: grab;\n}\n\n.Range::-webkit-slider-thumb:active {\n cursor: -webkit-grabbing;\n cursor: grabbing;\n}\n\n.Range:hover {\n background-position: right center; /* change the direction of the change here */\n}",".InteractionBar {\n display: flex;\n justify-content: space-between;\n align-content: center;\n flex-direction: row;\n flex-wrap: wrap;\n}"]} \ No newline at end of file diff --git a/static/js/2.31fd37aa.chunk.js b/static/js/2.cc65b538.chunk.js similarity index 98% rename from static/js/2.31fd37aa.chunk.js rename to static/js/2.cc65b538.chunk.js index 26297b3..d7a644f 100644 --- a/static/js/2.31fd37aa.chunk.js +++ b/static/js/2.cc65b538.chunk.js @@ -1,2 +1,2 @@ -(this["webpackJsonpsorting-visualizer"]=this["webpackJsonpsorting-visualizer"]||[]).push([[2],[function(e,t,n){"use strict";e.exports=n(16)},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}n.d(t,"a",(function(){return r}))},function(e,t,n){"use strict";function r(e,t){for(var n=0;nz.length&&z.push(e)}function R(e,t,n){return null==e?0:function e(t,n,r,l){var o=typeof t;"undefined"!==o&&"boolean"!==o||(t=null);var u=!1;if(null===t)u=!0;else switch(o){case"string":case"number":u=!0;break;case"object":switch(t.$$typeof){case a:case i:u=!0}}if(u)return r(l,t,""===n?"."+F(t,0):n),1;if(u=0,n=""===n?".":n+":",Array.isArray(t))for(var c=0;c