From 539e874579ed1e8e70a46dc0e959bf5ca21b54a9 Mon Sep 17 00:00:00 2001 From: ImgBotApp Date: Thu, 10 Mar 2022 14:13:12 +0000 Subject: [PATCH 001/226] [ImgBot] Optimize images *Total -- 154.49kb -> 127.69kb (17.34%) /public/vendor/plugins/pdfjs/web/images/annotation-noicon.svg -- 0.15kb -> 0.08kb (46.84%) /modules/avatar/testdata/avatar.jpeg -- 0.51kb -> 0.28kb (44.91%) /public/img/emoji/git.png -- 4.89kb -> 2.95kb (39.58%) /public/img/emoji/gitlab.png -- 6.71kb -> 4.62kb (31.24%) /public/vendor/plugins/pdfjs/web/images/annotation-note.svg -- 1.02kb -> 0.70kb (31.12%) /public/img/emoji/gogs.png -- 11.52kb -> 8.34kb (27.56%) /public/img/wechatwork.png -- 9.12kb -> 6.65kb (27.14%) /public/img/failed.png -- 10.75kb -> 8.18kb (23.89%) /public/vendor/plugins/pdfjs/web/images/annotation-check.svg -- 0.41kb -> 0.31kb (22.65%) /public/vendor/plugins/pdfjs/web/images/annotation-newparagraph.svg -- 0.42kb -> 0.32kb (22.54%) /web_src/svg/gitea-gogs.svg -- 6.23kb -> 4.84kb (22.39%) /public/img/emoji/codeberg.png -- 8.12kb -> 6.32kb (22.14%) /public/vendor/plugins/pdfjs/web/images/annotation-insert.svg -- 0.40kb -> 0.31kb (22.06%) /public/img/auth/mastodon.png -- 4.99kb -> 3.95kb (20.79%) /docs/static/authorize.png -- 18.51kb -> 14.79kb (20.1%) /public/vendor/plugins/pdfjs/web/images/annotation-comment.svg -- 0.86kb -> 0.73kb (15.63%) /docs/static/cloudron.svg -- 15.26kb -> 12.96kb (15.09%) /public/img/matrix.svg -- 1.22kb -> 1.06kb (13.09%) /public/vendor/plugins/pdfjs/web/images/annotation-paragraph.svg -- 1.12kb -> 0.97kb (12.69%) /public/img/emoji/github.png -- 13.78kb -> 12.44kb (9.76%) /public/img/auth/azuread.png -- 3.03kb -> 2.75kb (9.26%) /public/img/auth/azureadv2.png -- 3.03kb -> 2.75kb (9.26%) /public/vendor/plugins/pdfjs/web/images/annotation-help.svg -- 2.12kb -> 1.96kb (7.29%) /public/vendor/plugins/pdfjs/web/images/annotation-key.svg -- 1.42kb -> 1.33kb (6.47%) /assets/logo.svg -- 2.55kb -> 2.41kb (5.4%) /public/img/emoji/gitea.png -- 12.62kb -> 12.02kb (4.72%) /web_src/svg/fontawesome-windows.svg -- 0.28kb -> 0.27kb (3.5%) /public/vendor/plugins/pdfjs/web/images/secondaryToolbarButton-selectTool@2x.png -- 1.04kb -> 1.01kb (3.47%) /web_src/svg/fontawesome-openid.svg -- 0.38kb -> 0.37kb (2.54%) /web_src/svg/gitea-gitlab.svg -- 0.40kb -> 0.40kb (0.98%) /web_src/svg/gitea-git.svg -- 0.67kb -> 0.67kb (0.58%) /public/vendor/plugins/pdfjs/web/images/loading-icon.gif -- 2.49kb -> 2.48kb (0.35%) /web_src/svg/gitea-github.svg -- 2.42kb -> 2.42kb (0.16%) /public/img/auth/microsoftonline.png -- 0.77kb -> 0.77kb (0.13%) /public/img/auth/openid_connect.svg -- 5.30kb -> 5.29kb (0.02%) Signed-off-by: ImgBotApp --- assets/logo.svg | 32 +-------- docs/static/authorize.png | Bin 18951 -> 15142 bytes docs/static/cloudron.svg | 54 +--------------- modules/avatar/testdata/avatar.jpeg | Bin 521 -> 287 bytes public/img/auth/azuread.png | Bin 3099 -> 2812 bytes public/img/auth/azureadv2.png | Bin 3099 -> 2812 bytes public/img/auth/mastodon.png | Bin 5112 -> 4049 bytes public/img/auth/microsoftonline.png | Bin 792 -> 791 bytes public/img/auth/openid_connect.svg | 2 +- public/img/emoji/codeberg.png | Bin 8317 -> 6476 bytes public/img/emoji/git.png | Bin 5007 -> 3025 bytes public/img/emoji/gitea.png | Bin 12918 -> 12308 bytes public/img/emoji/github.png | Bin 14111 -> 12734 bytes public/img/emoji/gitlab.png | Bin 6873 -> 4726 bytes public/img/emoji/gogs.png | Bin 11794 -> 8543 bytes public/img/failed.png | Bin 11009 -> 8379 bytes public/img/matrix.svg | 15 +---- public/img/wechatwork.png | Bin 9341 -> 6806 bytes .../pdfjs/web/images/annotation-check.svg | 12 +--- .../pdfjs/web/images/annotation-comment.svg | 17 +---- .../pdfjs/web/images/annotation-help.svg | 27 +------- .../pdfjs/web/images/annotation-insert.svg | 11 +--- .../pdfjs/web/images/annotation-key.svg | 12 +--- .../web/images/annotation-newparagraph.svg | 12 +--- .../pdfjs/web/images/annotation-noicon.svg | 8 +-- .../pdfjs/web/images/annotation-note.svg | 43 +----------- .../pdfjs/web/images/annotation-paragraph.svg | 17 +---- .../plugins/pdfjs/web/images/loading-icon.gif | Bin 2545 -> 2536 bytes .../secondaryToolbarButton-selectTool@2x.png | Bin 1067 -> 1030 bytes web_src/svg/fontawesome-openid.svg | 4 +- web_src/svg/fontawesome-windows.svg | 4 +- web_src/svg/gitea-git.svg | 2 +- web_src/svg/gitea-github.svg | 2 +- web_src/svg/gitea-gitlab.svg | 2 +- web_src/svg/gitea-gogs.svg | 61 +----------------- 35 files changed, 19 insertions(+), 318 deletions(-) diff --git a/assets/logo.svg b/assets/logo.svg index 9df6b83b5..1ccc3ec5e 100644 --- a/assets/logo.svg +++ b/assets/logo.svg @@ -1,31 +1 @@ - - - - - - - - - - - - + \ No newline at end of file diff --git a/docs/static/authorize.png b/docs/static/authorize.png index 7556b1220cd21c0c7b08cbb2ff99b7af91043397..c1cdf446b22501854523bd8a27f633a5bf0fd4eb 100644 GIT binary patch literal 15142 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 J%O&50{y(XLI=KJ< literal 18951 zcmce;WmH_vvpzb*z@QTdfdB&mCcz2rZov~QNN@=5?gS<{1P|^G2@u>hIKkaLxVyuh zN5&!^fMf?b$fe}wq zXv-@B0CIrz8xdvKl>Mf|FT|UfmkZvMOmTfSdv0sYwu5bvguIo4{J)xP@SczUT$ZR^ zA>Z6EGpfb(iF;$lqS}kDYG;SI-9 zMoH7C`@UB?0o$uEiBnmP-ok}zuVvZQ)De!UlDcMx`-Hk?R8ce-g^#CA!z*Dln4cvo zyD;KGlpk0M@i=-IfDZF}g9{~x`9(^xmI5E{554ngLb3|1#xU7hMP8oYT|0zi(S*#F z>-fRkq2!Qo#4kz8VQpx)Sj;_VX#yUT`2z#*{tSWE&GS?DU6C{uxx*c*KWhf$$5h{V&>k{&PqQrK8*6FVdoGOL7`ql@;{B9>X-Ds#BKS@E3NlRT_U{WEk(A_B; zJ^d9@RaMntOHNwEc=Nf+@^YW+Ya6@!8wkJG9U(C>aT?W@1>9?6%Dl?%_JZX3^8+gn zpFd-N{rEEu@kpciLV;@904{gxaboyls$@wxdt~~;@6SqNwCU;T3shU$zEbc0pd$PQ zNNs9yo?~vQs^ZXUaQ-y+Oj;2!%DUcppLcR{^5}Oj@9h4Ca8v7{+xf#E0VT4fK{*K3 zQmIb;(3Z>|=~(NIKs`XYAku4C=(@S#B^7Y@i;cyHl8YaY8gY{!7R1^y zgR34MZja@E(6!OGvVw$3fG!W2M*ia+yT=DyXc!nFZE5r34xyd`(~-yEwb1R6Nt0JP zSPHS6cSS$68^Yc1y@r@gr`=i)&j%l8AV;vBbMb$P$%J$!wW^g>#G&hG& zOsMd?mil;HHfIC>=>+Yf%Uh7Ya8$2|Hx7K8lXV*BT!S6fsjrQ%n{F=SP z(|nUWW)6<9{&n$`G>%ga;oC6+7qi5`-h6@t>yRYCfG&Snb_HswH{z=vmusziEGc#T z8_sk&ZG;(94RF3u08@UxRoLDK8r!_c25HFRWPe? zNh6s{q77wwb=>oiq_=M4y0`85+8!o$#$F9;{GuRsK_7u_uzz^!CJ3||YcrA{K=U{)x^PIf6bnA~O z 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 Lc_z1&&bj#yT_LBE diff --git a/docs/static/cloudron.svg b/docs/static/cloudron.svg index 716f67a16..6ffb7592a 100644 --- a/docs/static/cloudron.svg +++ b/docs/static/cloudron.svg @@ -1,53 +1 @@ - - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file + \ No newline at end of file diff --git a/modules/avatar/testdata/avatar.jpeg b/modules/avatar/testdata/avatar.jpeg index 892b7baf78e4f8e8066f26b9b0042bcfefab1c8a..abbf01999b97260dbd50277c82e49cadcac30559 100644 GIT binary patch delta 61 zcmeBVna?y~KI4Ij3)C4oC%zXIXZU}FL4=W!0S!zxWE7ovmy=hJS&+e=VO0VHgZ=-T E0ML~U=>Px# literal 521 zcmb7Am$Yia{;v?mD?Qbha0-8e>%QS}i0dEq8zBLos{0d>4jt8YBB z<)iGuFa2{5BEm)<$~V@~N)02bWQ;YYs*J1akqs^c@4Ro?DK~9wz2_Onhm>;;llfwn z7Soi|@Cj-0RAy|uWX BK?nc< diff --git a/public/img/auth/azuread.png b/public/img/auth/azuread.png index 1adbf15e28a0da8e8001a97790da0ad234e2b48a..e8a4dd9302e7348cfcbef4480c78564d292cbd49 100644 GIT binary patch delta 2748 zcmV;t3Pbgq82lBGB}!*OO+f$vv5yPfP?@5`Tzg`fam}K zbua(`>RI+y?e7jT@qQ9J+u00v@9M??Vs0RI60puMM)kuev43E4?RK~#9!?VEdW zQ&k?v%gXGk>yEpO`*L>1S!b4EM4(VgDYUeu51K%mn>IzzRZ)@M)m?e$260bE7pJ&b_lb z85s*%xTqik6tswUk2!eF1^jqK!k0B;>|zc#z3{;VC}rb|RGveTDZ20*y0nNVf z-3d_8B63f)RgW0>HNcPFx8R3B_?`sJuMtsnx^?Y{5b%i&hl9cQBtSun_~Tx?tK@83 z&aj5h7x9U_8~9KH6tsxN2ZnKZEV1L+1#I{5;RsOBB9>n(&Eu7Qme%q!cey-PwBom~ak$QfmaD`cpvZ-HIL*94znvbEUmLL zjg1(8eOKTcfzhkYF!dGQE8sS`#RuHnBlzrc4oT%EB$k=*_aow$cSXR5R(#hVc!~ha zF5mP6_YL>7O2G%5?*g7sYQn5i7V#x4K5P=J?kN0b8;bi2?-d{o0iJvdoO6ShnJ}x= zg!mE`aV0F`iU|@*2{s%TSKbl$B0K)3VEYe$PZ410<(vNCm2U8q5a978EaHk;%q%9D zv5g>h8^P={;>!KXmNmFfdd&4~teEL=fFI{S3s~Sqjiv0>ye^1BCdq#5j@HR zKDj`T$O1hk$QObG_eMZ4A(Cnxk}3>{E%tyb zyMj;5*I`1Qd%oKssQb5xA>y6vZh&88fwwr|BOWN=!vpS*fWS%7T1cw3NK)$&qtati zz77*T;7@PSV*C~@Cg$m|?x^|gKEapTG1t3^p&-D^9^ij*fKuoi@IVR(obo+?ZXpR3 zT12a~7{B=%#^qi^RDsU5zR67WZavS8ac}eJc!vZ2!vm@T0v=2O!Gxq&YY|^|4apUH z=Lg436M7f^7VPh9Xb%Me-kG&Wi$(jGOUqB-pm93(vVNN>S%19{h7f30Kk0>7`c(Xlptm!;#@Yqh7)XI3|{zw`q?-V!OYpbJJNV-IW6)STEblxoi@*16Uc|G~F-`+$cMoW)4 zcBEDdt`rY=QaOhNAMojaTM4GA7|h%)Tz2O_gA9rV6NU&)27%w3mIin<&w@)ueG=g8 zBe)ie_AzJHX#BU!(vP$xr|+{_z2Tlz&LN@9y@oKem__V1H~6$Nwlm=i+eW{;Iah~Y zPz1^_BychoFLZfbwqem{0-S>_AcxkqtvtlX`Tp;WQ+Qa~(0m|&wNmiOb9cCV!DF^E zh%Pc>=5GFKYQ6mr-Bv@2g@hu|hY}$p*q>#@?*gLXfqVj0ptQ$lZ88NNGbThtQ4DY=l$BIWi(clUpLZk?mL;$1w&I5^1+BNHNxrShCZA?lM%#I1mA~| z7EN*^#s+Pt`yqg$b)C!VxHW;-O+V)NN7^on)0^jsWhTV?hP#Tv)FLBd)a>)$0!j;ADlpNm($%jDiX_lCPS&!bdE z#MPRQCN}bq4A`oW+=y6;;9?lj@NFi8$$_6&Sy7o6&`xg%CZL=CU3#Q>V_LPjGk95J zFipiEN@+w)mB~J<-YOlGh0#UV@F2xt4MqIV`vsXd1Ipcsuc~^Ic zGgyqL2>usFH2ffAkkZq&=A5vPNv{)+&Q|wO)|5s}E;JxU!yA(S+dOv2oDHG~mQW<* z;V2hHP@ZGJm@e?g9IvPDw6q6nU%h2*N}&N$ONlf73+w73c}ymo!;=)#{mD?DE|QfK zWJN@OL_|mrUw0Z&FWXi3$Ne#&hh zcLL-c$N&m-S)W}Z)lywm9zp^L0aT#ccB!qerOVnDTUvZUl|pR=>I1}pJOm$5d8#Nh zkc1>g5{QZx6$FKl07+&hGs(=IJNKO3ADIa^lbOt99?6fo|IC_w&*R(Q*=L`9_PxOO z^1bw#ynla;Onr?(>Z^%&5v3e4s3(eQ+n((!3_u?eP-{c=ISy;dX?6bkBknnUg`-ah zSZb%8hrPH00K6)(vQz4&ji0w&*B4lNoq$y>^klgQ)3mx4uh7+;6{T++X&uJP|;#r-OTfVT-kg$d{- z0=C&Hz1EAGCJsZSw$%;3Q7_cE-|h`uKraxmfJmwpIQ*>-{iE$uep;FR>L+c_BokLa zl1@OX1A9O7Vt7yb2m;DZsgJMy%snevxB`+?0#-QaAC(@AkEO4y604|F-%R%Lm^1>` zwtvu_Wga|6ag5=Rg|4PSlx#ij%1s!sAV~@Vn_6jPnT!o`Jl6Z=w3DY)*CA=gW5Nm8 z+(MZL-6*$n=;9fN2oOXNL^#@{<{o#nRU`_dRuW3U0wU>%irVi~q{cdi)^H+#h(JWB zI-^{>>|pC#iNp&em;j3%(C0%7Qwrz6jw7oD+&qDo++2cHN#R+zBCIwSyigk@0AcV_wHfcQrhmC%Aor z6@RO|RdlHB$BDomHvt=*^s_PgBQxpT>VY#(zb? z>ur=*<-uO3hhKsZl0=}=P+o%Pl3-%t8@Y={~7ej@#UJ*chcFvkPn!WMwW zz(8E+J|=v6R=zr`jM1(yj+&_Q5!Z9zF`Fl*jt1a|Msf>GKnJicW zXMZ>s4|zg};J5%N9C+`zd+`eg?YH(6Lyrj9;G!`HJXo$KAjc0#C&NYP1SnFV6hvrK zi0%1CetTuL>#Cm2A2k6R95lS#jXkb7BED8E3^0QrNjz-k*U1w?1jOL&bAQ&!_4`k@ zRjsOVW=D%7Y<*5EyNFUsn{oQMg3MSAHZvdtK#l}tFrYsJTwadyLvssiR58c@1Auv7K4bGH+EVTc|RqgOgJOl)bAVBs4ZUu15fLkVT0#XeU&Au}A z)_FH&Zx7WkBmrxi=(3{%pX&*_Oa`Q}D5GT$C6NRKiy*+`1=?hSQPQbnE;5dKYRsS` z!REaFMpuJ2Y*8uke(#tlPwYhQq4e48pF_Z-8Xi_z~dp?g&W|3EH>3-z*sln zNfyWi=2IbsaVWzF7;jrQZSZBwZeStpxUjfHY(@kADgoQJTG?T3qg6I~i>sJpOt33B zy&M%u*aDmbIYxa+(bOU1wEDu**10}ey=$~FZB!sf=rCz|J%2sRfX4x-1g!8#n7?Nb zYYRNzXrmw51@%0E1=xbNY+yf z)n2dQ& zK4O7Ol@J6TR7^2s8jmvon0|()F$u4LV2v>677jeL%gUMpip@l6jW&F25V*9bEI4Hq z6^GCCuooZ%kft|$Hq2waZozD(1oV^kwcd<2-xjsSm(l6kEH2z2xgfwO2}`c|U!{{X z{?OsUw|{&`83qHE0JuNG{O5_`k2~_%2CZ^~o$j`)C`yg;f(67zfW(<+M1M>E-zVmF z)B>l~Pzrar{_Q*Gog65bXbsj9Vazg~Na=5yv^PKP7!V?m&1j&>Aglr~v^yXKyr&a* zaO)7(;lrDWbWJu?NCKmyVWB4kaKXrGF}%KFl7F?+cAZ+*cAwJZeNnhoQ^4IjjQ0O> zL0}fW&ot2d#DVIEN(tI+W18`rsHhyUV@Tcv0C<0?0dChtU-QJ>NQwnu| zDU6B$A{d#j>Ecw==p_>do(QO?)i|?N8}0HndVeakm88I44-`;9FlL)Rwe+_X6i?`P zE`NCVZiD#rdb*JTYXDr*JxUy40{3nk!oJojS2feSLg1Eg9|lDtfO95>rJA2vUNCTh zRzIoK^|WYIp5Pv?4^)P@Hp2T!(52{PQ;zw;vVx5D;pT{Vip@Gr7FCa@iSQV@zXW=S zu+V75KesT}af5!%PGeeCyqf~_3+@n(0DmH2fX?t$Mway&Z3;WN%yk7^e3xQVMi7F^ zWF0F{5Dc*7noIQq#MF{;xvkyV7xghdvyQGO32Ojc9-(QiApB|42JnYx1YTE7{gMz6;JQJgn0wXjV`*vp`g?(kPUPufO8<*s4rO^ zl)q0Yb={=4s9Sl9FRRP3rXhiJj4ZjP?fQOMvrD3=1;#``KxWp_)qZb?^oI6xl5p>i zLF{9#a!oTm?-BUDS5{f&;WN;2seg6E0K@nt6E5WMV^5OVa?JIHugN<@sDgDl)&dcp z2!;&fc|)4Hu)HAcsLj zyawPW5t^PP!u>l2v;Tx^P*B;D$y~HmX;j9L2y?9Y{~I$+b^Y?pHy7VH;OlVXMI#Bh z*)AZGK54+c0G0yXejh{tHX1m7w`C}^X&)4nx*itim8GgjH3p}z+6XV1b*g2c`Kbew zGZ!ZUdqPVbx1FOATtyLB_kSNp5^z=m9^PhUTc;FzE>?Zs9crWZ>flw@y1gL4lw&@c znr0anDxry05?}5kVl&U;AtEdWy8k|yTGisVTE{r<6;g0;6PlD(pQ4jZd6tLDCuXco zG~A@sI}1;dRcF9TA{2&equLd?YV4ZehE60908_51%B*5y$?WbEntxa&=>^}J4K#}g zE7AT+p_BM*3LFP*AtF4%(BJ4XfP?@5`Tzg`fam}K zbua(`>RI+y?e7jT@qQ9J+u00v@9M??Vs0RI60puMM)kuev43E4?RK~#9!?VEdW zQ&k?v%gXGk>yEpO`*L>1S!b4EM4(VgDYUeu51K%mn>IzzRZ)@M)m?e$260bE7pJ&b_lb z85s*%xTqik6tswUk2!eF1^jqK!k0B;>|zc#z3{;VC}rb|RGveTDZ20*y0nNVf z-3d_8B63f)RgW0>HNcPFx8R3B_?`sJuMtsnx^?Y{5b%i&hl9cQBtSun_~Tx?tK@83 z&aj5h7x9U_8~9KH6tsxN2ZnKZEV1L+1#I{5;RsOBB9>n(&Eu7Qme%q!cey-PwBom~ak$QfmaD`cpvZ-HIL*94znvbEUmLL zjg1(8eOKTcfzhkYF!dGQE8sS`#RuHnBlzrc4oT%EB$k=*_aow$cSXR5R(#hVc!~ha zF5mP6_YL>7O2G%5?*g7sYQn5i7V#x4K5P=J?kN0b8;bi2?-d{o0iJvdoO6ShnJ}x= zg!mE`aV0F`iU|@*2{s%TSKbl$B0K)3VEYe$PZ410<(vNCm2U8q5a978EaHk;%q%9D zv5g>h8^P={;>!KXmNmFfdd&4~teEL=fFI{S3s~Sqjiv0>ye^1BCdq#5j@HR zKDj`T$O1hk$QObG_eMZ4A(Cnxk}3>{E%tyb zyMj;5*I`1Qd%oKssQb5xA>y6vZh&88fwwr|BOWN=!vpS*fWS%7T1cw3NK)$&qtati zz77*T;7@PSV*C~@Cg$m|?x^|gKEapTG1t3^p&-D^9^ij*fKuoi@IVR(obo+?ZXpR3 zT12a~7{B=%#^qi^RDsU5zR67WZavS8ac}eJc!vZ2!vm@T0v=2O!Gxq&YY|^|4apUH z=Lg436M7f^7VPh9Xb%Me-kG&Wi$(jGOUqB-pm93(vVNN>S%19{h7f30Kk0>7`c(Xlptm!;#@Yqh7)XI3|{zw`q?-V!OYpbJJNV-IW6)STEblxoi@*16Uc|G~F-`+$cMoW)4 zcBEDdt`rY=QaOhNAMojaTM4GA7|h%)Tz2O_gA9rV6NU&)27%w3mIin<&w@)ueG=g8 zBe)ie_AzJHX#BU!(vP$xr|+{_z2Tlz&LN@9y@oKem__V1H~6$Nwlm=i+eW{;Iah~Y zPz1^_BychoFLZfbwqem{0-S>_AcxkqtvtlX`Tp;WQ+Qa~(0m|&wNmiOb9cCV!DF^E zh%Pc>=5GFKYQ6mr-Bv@2g@hu|hY}$p*q>#@?*gLXfqVj0ptQ$lZ88NNGbThtQ4DY=l$BIWi(clUpLZk?mL;$1w&I5^1+BNHNxrShCZA?lM%#I1mA~| z7EN*^#s+Pt`yqg$b)C!VxHW;-O+V)NN7^on)0^jsWhTV?hP#Tv)FLBd)a>)$0!j;ADlpNm($%jDiX_lCPS&!bdE z#MPRQCN}bq4A`oW+=y6;;9?lj@NFi8$$_6&Sy7o6&`xg%CZL=CU3#Q>V_LPjGk95J zFipiEN@+w)mB~J<-YOlGh0#UV@F2xt4MqIV`vsXd1Ipcsuc~^Ic zGgyqL2>usFH2ffAkkZq&=A5vPNv{)+&Q|wO)|5s}E;JxU!yA(S+dOv2oDHG~mQW<* z;V2hHP@ZGJm@e?g9IvPDw6q6nU%h2*N}&N$ONlf73+w73c}ymo!;=)#{mD?DE|QfK zWJN@OL_|mrUw0Z&FWXi3$Ne#&hh zcLL-c$N&m-S)W}Z)lywm9zp^L0aT#ccB!qerOVnDTUvZUl|pR=>I1}pJOm$5d8#Nh zkc1>g5{QZx6$FKl07+&hGs(=IJNKO3ADIa^lbOt99?6fo|IC_w&*R(Q*=L`9_PxOO z^1bw#ynla;Onr?(>Z^%&5v3e4s3(eQ+n((!3_u?eP-{c=ISy;dX?6bkBknnUg`-ah zSZb%8hrPH00K6)(vQz4&ji0w&*B4lNoq$y>^klgQ)3mx4uh7+;6{T++X&uJP|;#r-OTfVT-kg$d{- z0=C&Hz1EAGCJsZSw$%;3Q7_cE-|h`uKraxmfJmwpIQ*>-{iE$uep;FR>L+c_BokLa zl1@OX1A9O7Vt7yb2m;DZsgJMy%snevxB`+?0#-QaAC(@AkEO4y604|F-%R%Lm^1>` zwtvu_Wga|6ag5=Rg|4PSlx#ij%1s!sAV~@Vn_6jPnT!o`Jl6Z=w3DY)*CA=gW5Nm8 z+(MZL-6*$n=;9fN2oOXNL^#@{<{o#nRU`_dRuW3U0wU>%irVi~q{cdi)^H+#h(JWB zI-^{>>|pC#iNp&em;j3%(C0%7Qwrz6jw7oD+&qDo++2cHN#R+zBCIwSyigk@0AcV_wHfcQrhmC%Aor z6@RO|RdlHB$BDomHvt=*^s_PgBQxpT>VY#(zb? z>ur=*<-uO3hhKsZl0=}=P+o%Pl3-%t8@Y={~7ej@#UJ*chcFvkPn!WMwW zz(8E+J|=v6R=zr`jM1(yj+&_Q5!Z9zF`Fl*jt1a|Msf>GKnJicW zXMZ>s4|zg};J5%N9C+`zd+`eg?YH(6Lyrj9;G!`HJXo$KAjc0#C&NYP1SnFV6hvrK zi0%1CetTuL>#Cm2A2k6R95lS#jXkb7BED8E3^0QrNjz-k*U1w?1jOL&bAQ&!_4`k@ zRjsOVW=D%7Y<*5EyNFUsn{oQMg3MSAHZvdtK#l}tFrYsJTwadyLvssiR58c@1Auv7K4bGH+EVTc|RqgOgJOl)bAVBs4ZUu15fLkVT0#XeU&Au}A z)_FH&Zx7WkBmrxi=(3{%pX&*_Oa`Q}D5GT$C6NRKiy*+`1=?hSQPQbnE;5dKYRsS` z!REaFMpuJ2Y*8uke(#tlPwYhQq4e48pF_Z-8Xi_z~dp?g&W|3EH>3-z*sln zNfyWi=2IbsaVWzF7;jrQZSZBwZeStpxUjfHY(@kADgoQJTG?T3qg6I~i>sJpOt33B zy&M%u*aDmbIYxa+(bOU1wEDu**10}ey=$~FZB!sf=rCz|J%2sRfX4x-1g!8#n7?Nb zYYRNzXrmw51@%0E1=xbNY+yf z)n2dQ& zK4O7Ol@J6TR7^2s8jmvon0|()F$u4LV2v>677jeL%gUMpip@l6jW&F25V*9bEI4Hq z6^GCCuooZ%kft|$Hq2waZozD(1oV^kwcd<2-xjsSm(l6kEH2z2xgfwO2}`c|U!{{X z{?OsUw|{&`83qHE0JuNG{O5_`k2~_%2CZ^~o$j`)C`yg;f(67zfW(<+M1M>E-zVmF z)B>l~Pzrar{_Q*Gog65bXbsj9Vazg~Na=5yv^PKP7!V?m&1j&>Aglr~v^yXKyr&a* zaO)7(;lrDWbWJu?NCKmyVWB4kaKXrGF}%KFl7F?+cAZ+*cAwJZeNnhoQ^4IjjQ0O> zL0}fW&ot2d#DVIEN(tI+W18`rsHhyUV@Tcv0C<0?0dChtU-QJ>NQwnu| zDU6B$A{d#j>Ecw==p_>do(QO?)i|?N8}0HndVeakm88I44-`;9FlL)Rwe+_X6i?`P zE`NCVZiD#rdb*JTYXDr*JxUy40{3nk!oJojS2feSLg1Eg9|lDtfO95>rJA2vUNCTh zRzIoK^|WYIp5Pv?4^)P@Hp2T!(52{PQ;zw;vVx5D;pT{Vip@Gr7FCa@iSQV@zXW=S zu+V75KesT}af5!%PGeeCyqf~_3+@n(0DmH2fX?t$Mway&Z3;WN%yk7^e3xQVMi7F^ zWF0F{5Dc*7noIQq#MF{;xvkyV7xghdvyQGO32Ojc9-(QiApB|42JnYx1YTE7{gMz6;JQJgn0wXjV`*vp`g?(kPUPufO8<*s4rO^ zl)q0Yb={=4s9Sl9FRRP3rXhiJj4ZjP?fQOMvrD3=1;#``KxWp_)qZb?^oI6xl5p>i zLF{9#a!oTm?-BUDS5{f&;WN;2seg6E0K@nt6E5WMV^5OVa?JIHugN<@sDgDl)&dcp z2!;&fc|)4Hu)HAcsLj zyawPW5t^PP!u>l2v;Tx^P*B;D$y~HmX;j9L2y?9Y{~I$+b^Y?pHy7VH;OlVXMI#Bh z*)AZGK54+c0G0yXejh{tHX1m7w`C}^X&)4nx*itim8GgjH3p}z+6XV1b*g2c`Kbew zGZ!ZUdqPVbx1FOATtyLB_kSNp5^z=m9^PhUTc;FzE>?Zs9crWZ>flw@y1gL4lw&@c znr0anDxry05?}5kVl&U;AtEdWy8k|yTGisVTE{r<6;g0;6PlD(pQ4jZd6tLDCuXco zG~A@sI}1;dRcF9TA{2&equLd?YV4ZehE60908_51%B*5y$?WbEntxa&=>^}J4K#}g zE7AT+p_BM*3LFP*AtF4%(BJ4X>dDeI$@Z6k1eHYD;ZhEhI1pb z6m(Hue;JUTH{=LX0KrYR0@b8;o4*%>Lv>|j**J6fTQ4bb12zq3Rx5|>e?x(EI`v2=>i>;*Z!oUz?B=AaJJ+K< zo8xfRqBgTHe_d44H&1|@8Ne`?h5!Hn0dI0nQ~}STcbWhI4Vg(qK~!ko*2;I)1*PspiTNv;RFa87p;LbX%aU;od!v~p(M(p ze?;DyyL@QLBz96i5+<@8$8cRgLPx1=N460s5_j*JrMM)QZ;5gxky>#d_w>iiz1-zK zxGRy2gk0cY7khUe-+VJ?&N*|2v09!mZD<~#Mn-hQ@>jPUbbd1!!Oh%Gdo3kdug zNEHQvkAvmB#D(()NQ{HPBnX@Z;Vf{We{vu&&jnrrfoDKCqaYjw0)GY;9s|pHic9s4 zfWZCSaz4c^_2DKt#J5<Z&?YYN6ChPL2=y{p zI0FJH*ps4A?=*#aXY^-ul7c#DXk_8=l>y(=PYpguIr#eliT?=# zU*kgMLeVMHk(36Z0pvh9SrC{ppIH!?^Vl@vf<$)-FuEYn_1>HR=5$#n3ziXqIgsdb z`!of+$0*dR+Xtx#ggV6~wsK1~e-#0*=h+^8{cVgf2I0Y914{|8oNTCfhJxK=2Aq>M zpmHEo9;8|Vv9{vsK`{d%(G7Nu8t@6?Qa!x6GydC!7-|L^63#6ka46I_>ou0)Lgk7W zx;7-QXBE1k-WdXca{(LgtO>NwYzOWD3m1dkV+0m1nrTPZfh_XQVd9-he+pXo(W;=m zc^{16W?e8zX5{EPlPpL@ylaF45k+K4K(#V;7D9Gn zqqnt|unQJG80wqxrg2@3gapzyiL_nn&s*h{clcIWTvzDI>dJ(olLP{PR0P=DegZb$ zX_(E`S}7MuJ8eZfY@|Qve{hH$a)=#_6KjjpyV@PvCXseW6x}M30#)h>m;u`rQFNP) zbW^)StSxTpa_GGs4&83+_rbbAJDE`LG;s?*u{5;}a^e5ALU>=Cmu867?bS4y?B9M63 zlDR0bH`F`5qM|D7;HMuRrt!0Bs^z(KIY&LuO%U4`^O^SR+8?9+Pma<5&1Y(=>+JbO z`s&e9J%F`=&IXT65D0vZF~-;?JMrrvFvTOo-X>mgo$a)df7pRIedXvVWpbK=eBPzJ z>yqmhcg!_Rd#n=?J#uWC*goCSowg#@8YA)F^-q9j_I%3sMnC zOo!~mMm?Q7N2-DafwWa3z5TF5cYR}s(u;Y&gS9+`gK_`kqr}?c^tb}&x2*()lqY$!UZr!@$?x0dO=!`2FFaP(qDu&!&EC=l;od4qcD z+-3Tmc86GNjMT(@3D}bIZe`G^GihRNaoQ^Nj!|_T_f8X+%4T5UL!s!DaR|y6*e;RS z!8m>Cdm|-`m1D8eJFlY;ADgDOAEt^1qI&t#mtMKZf3xGnT4S`MI?Fk|133c>EIekm zqgP(tG*qtEOGDvJ+OiN3Q?tbVrojJd_1a8?td39Y(XX!t_J3_1_ zR#g5EEhHy3Uj(wS59b%M^uA6-n=Ea-RAyNb2+T4NIH@(X%2zV;-qr5V-}NmiE4R$_ z`qY076Kjpp`@0nFifDO%mm;<=M)y9JECyQ8e_`+Q@Y5+`;lZNvf7+?{`w#Ub=+a`Y zEYq$_^!Z1V#M;!Vw>yS|D~HPIp8~4U0QFHRx(A zP0VTKv&&W``@UEHXQ$6sEPv?f6tM$wy4|h?u*9_4r^*7p&DNI9{YOVDDvp=qZxP!Y zf1}+IRet^NjnPvlW=l1)`F=d6%P$|W!tzhQcBTwq{k`Y831a(KR9ptIg^M~iRQ?Yh z;PB(4CDYk!{71i-D+?GrV`YDg`d*kU>97a*$)C>pG`T$pT7}gW;Ix(#BzhZ!^2k5RI zup-tPzor2HDlqJt6OW7Qu!hyO0N9w8&L{)RS<`Ll8ky4hVAm*tRD%ozUaV$mT`l0- zZ6wwj_Z|IQe#!OAnjpes|GN|zSR=r>U{8ub;HwM-&YA-;cg+~yAEWN)CMvpre~-U9 zORQy08TP_F&oHoX%(zbZwE(=;cv}DVNRnPUd5)fc^DMpa^ErCq=X3P@n`i0Ar_Rw= zj*gZ!{#OmKI zM6f$mF(!Sr3}20`s?s_#LC_KZD+U5ztQO)a0c-+muDcY-TMxkBH4OWq+=38r^!bU( zfW0gOnV?`K9%LZ!s5x}XRs-Df#8^cw`{PsRh_z^ccC7$^|CO1F?f1Q?e;M9co?(~U zLj(fPZn2W@WFS>E)H_Wkm!e|C@{9c=bbcXA=PqV^IeQ^PmlkvM)N5z_K-y{p-f6bA z2M4BT;c|}VE-bY_cOgUb=^Tk?#;Zj^e-cD(Raow{Pc=BP#+FS?E_*PY3) z!ZL9S@-Y4SK`Nbys)5dfz+UJW+Ei1%W$-X=UbYVEO8w&k$F;pWsWV`sQxxn@>4DI( zB-c+qwQ3N7SwGEDeW-Wzw0D&YzGTFL0}gbN`j>h>cPU#fW*535XTmTVsn@po5KUOO{+SS)%WyMgJ1uZ zCW05H<$-XHf16-ejni5?)?7H>EUy*m1{Mx)VEz3K&EbJYEmVUHH16rA1{S6b8rUii zo~O~cbpFA_erlc8F1Jq;2xrc>Rj+E~*Y(k(2o}CsSI(suKC#q6FYjyBr}J7oKFcEZ z=e6cs7BSs5LLlQGFG@D=?{ByQ@Hen~MOLEzVoiMCj~aiEBI zju2R?rDQD^DV)md)>EMCII9gCd-@wds8eQxuLCr?#_|~hsal%s#4dkr*P%dfi8wcL zE8ZLs_yrJZz~A=Pf^E;UfUe|wK&a_p&v@-jOXY&)WO-+jLVYv(K9ay$5cnEc_#{Z| z;{p$Je+$DP@rxjw`#|7Vxxm9<;kQBHi~7QrS_pQJQ7Ae|TOK-3P3HbW-Pd#Ko!TKg zu@M9g7Z@b9?$O>&lRS@@yGGH;Wfql@zL_O+^vJkz>k^*Dmk#!%2(0+W))a8z#fa_E z$=~1tp9u9%Q^CcLdam=hzTq!?TR8&)GsX6^e|Hb6$l=HYk4zA^68}{Gvc?)sZ@pc` zKc?B%H`2T<351h1rxxz2yL|!|w|sk^xWF&fb@}S59%Cta0{~Y1lOXUX{*}Dw6zQ{9 zGYtzoo+ZXg{N-Yo&oIx0%7L9Q_ZVl$#FI~ejXO$irmWXK?R!^t;*SDS-3=B#1QwnG ze}QRzFL1ixvSo^R*NAZwmtxl39@3Yoy2mJZWWq0F44#W1oZ|rt?*~h5DH`}+hBc-Q z_tKFL*@=x{Ie!Ks@vmSxf(v|tOZ5r}bU@%F2uy=Ob7-gD0*S-=`mFOmU||$2=kwY_ zI{EGrJAW0K{eJ)z%6V%k>%9N~03~!qXjpV)VRU6WV{&C-bY%cCFfuYNFf%PNFjO%# zIxsjoGcYSKFgh?W#?mft0000bbVXQnWMOn=I&E)cX=Zr|<0Sxc@^Nq$fO+|%{arFJ z=|82Ha{!15<^}flmxjr*{KJs`Q~!kpS(yHz1bE7_nCs{>Df>X2nZyOe1cX@R@R^vH zWFSs1(uOK(|F-|x$+EZw1o%n|3PPb!0jQ{e4*+o$6qb^b5)={<6cOS7L*e&_dk27E z{NDbo|55pGAr)tTM~J&`fV+=3(_dkbgHK?9EDOtDr~g_188pD%<$tZb{r}DNC!yfq z6G34CA;EvOfqyz>{=(9F5O?Q4)_)D;gk}Dr{y*$rBN@TJ?*C_+|786K{S#IWUq2ukR&MYf5LV}QpU~`A)xt!GCv0=Dn`#qysMaZD zsx43nea3XdIx1`nKcJ6yMQ+_ijSiM#fOvX{1< zxNcnJNoh=2vIix+*DO=Qn`z&g)^u)#x*I?vT7Cjd)A$A=OE3CWe~^ZgviFTMpcHdm z_m?PVsY8Yz;l*;ukfH88{ar%CwOX-{A!}V5L<*Nvc}K~nC$T{@p6Z=#WdqASdMsD| zoa~)PY}pmuFr5g-#p->`6s|XepL2IC3i{z>p*OhpyY;4yi8?rq?OTI6DGVBtB_u2KnX=Dl zNw&`Mw{Q<__v;JYfV6JX+vp^+*(;8d%h(WT9Vd@h>H^E+~=!xT$+q z#Mxt|jOEWm5=;d${Ff!Re9l(7QHH5h(TqR@{@E$^&xN2{K{@~aEGZ|h5<6yJJlM$M znhjNrpwc+G_chPY4MpUnrWKRvL>1lf08H<+h+R4;Boi`#gWI)&ss1Uboo3h&sr6uu zS>Xcl7^+lgR%z}yJ(9fTOHVYq+LYV3ONW%z^f$Yjk2*ZqzCP41e)Z!)gmSCh{T`4Y zj^K^Uc>K~KWRi_*&&QD4K3!_ru1zWEbi&I?I_0r38)8co0rEfI|9()1NH4%$+ z-Gtca5@V3{3rl+UWXrVPsQM38w?{k(XB!Kw<zudffP>ggh|I^X{{y^U8cy--jmiJwGlMt0O0SNzS;jq~T6_x^&9w zb!XOSDm9-tC0gt48Hv1{r|-a5!}MNtAl1Z%Ppa$`=mKagZRy&huM?vz;A`vgY)dq0 z7j+0Q)-6eMrC`H&1FN^oWy(i*CH-bo;{s^KkijtO@-rCeIG_P@yIr26{o})B`*F4 z63`g=r;WgI0NJoXyplBDyohS0S9?k|%uXSUF5?%0{m{&%;K0Q?q&%fD=xD6vx7ixv zmR}pbpXP!&y2vHqloUC^mPo90OuakkHn5kq*W#GDXS>8wPVt0VRX<+8X0@q}L)URs zwJ&Mht;WqZN+wt<@m6~Ot;Gkt!rRH!7etP5+4tW{0C5M6+y#gviLyz052!S3Y0eZ= z0S8%w*EPgPt<~$#C@0Gjsw^eyDv(Vn>O$w2XNFJDwG;7llbQhJAMb>yl?`sdwY>`f z)F3qz=b7>IpW7^4y0c@%Fw!2E^wAuheG{T1K3XPrDUB`8d`9KZD@`($&U;7HITD&f#3BzxTMPk&|V zW7>h5ggbJtXXtRd!c$}~>Iv#@%;y?FRty(NzjaJ)IxAqFb4_ZNFwucMH6l|@{RuK* zkh?2&cCO!zvWa8TlbQMYgD|qWn7xNnnht_pYMdh zgdIb$+{yh7=TY-$ZpLJcZ&&!lER=v&46%N))+5N^A7aviThm)N*)GN4v1M!E5cY)$^*ja0~8b8#iDESYrl2h-LC_}!BCp( z7KYM>AtxRy{cT)%(v(r#RsihN{o`m~HN@jd$d$ZhyNnj*KKH zkf#z$(TYYyhd0io#GL^ZeEGdA;up`6Qs#rY21~_X0|0O@i`!f5&r8zl?A8pXMZ~4) z&h>HC-(zCyeJy|0`Amiw{^)a~n6XYFN+IX4?MN*=mhgR|JP%+hw{`yLU&cB}P2zO? zUb5PxHOK*9yEzt<(9Xjv95ZG;1XX|k)>2EHgSLO!JYLE;Qyd0?j-ZRvCQiIYhH?G;7*p1LI0`!R&-qXiE9 z5yV4LeC`POR`+7=ZbiMPO@tZYg}Oi_F|S;*XiVYGrm$fKz0VrqhlSem;7R2zGsjQ& zZ;%t38AVJYM_pF@chX_^>9ey&LUhOjI$z&JqN*M~{OkY?fP`T->a7RX=Qli{-%@5E-wfkQ$!Q!J^N42o8P%#{DT?dFk4%fPF7mSiXt2=n zGL~C~IDD8r8sBx|mTQioAw6)MEe9JZ#LlhCXw2z4Crr~~2D1HR+n3WgI>H*;n@+i0 z3Oxb%I9=cfO8K@AyL93Aypr0jt>-yjbQ3?|!xN_jEoT_^dc(Q3s)y z;pTVh`9!M{3CqJ;I{q%l`&@&{dyB!h;=JDiBr*-p!i=_^*%JF)r53+0e@g!ICd}cR zJlX~t5Xz*GN=-U1V(=4TYzw2wjwktdg)KHLL)8UF+n7FWR3#a&$dDL2mYRqNf1sJx zt;FryV8FndiY&q(_xA8otY zl+ZuVbYlDU!WiAnBbHBm^RJ5GBLM0yOSza|CRTCMLGoFghwr>fd-|CQl|A%O_E;y{ z4OmUKb$-&8AhkQbP8GHN%z9`G;SoZ+47# ziwcK>y*K*@OP}{^X2z#qK0vhK7?IH+1QuftiDE~UQ1{VBum?Wm$!}rp0st>M8lBth z{A2pmNZWnx-5_m?&J_67VQ^3d{Oj2{t3)x$S_20xq6UO&VAJ)9Renxu8;m|`wBtVd zaZZPr;wWRtA!MMz$ax@WF2-7(Z31~D&>`FQaX^=0XUFI<(soI;w5zK-BSv_iGt;iwd1>gO_meyPy7f1> z)!~w(oL@q*HImJ!o^)g!&10M-HM@LzA2gEOu-4Xn@vum(-(u#{?^N-Pr;_2O@s2f4 zFqw49cmsL@*Guw-s`>&Y`_=r}C;4-xGr>3hTeHpsIJt49a$VKEk;H&}7Htn*wa5Wy zbDm+61BsDm8>CCZV^8NkH`AUek^XIWbONc(C?=Y*fGLP=0}F#wKhUwr#Yfoq1Dx@B z$jbNBeH-G{_VG7Nd+q|g_Ekq6%gU!w{5IjO4nEgP#wVDYI$)v=h+kwcU=go}j0`q% z{l(3Oy(u&L<^|1}{u;oXNaiCTA2|3iW_H%f17ADZWd*5#F{L$@JQf1%_soMr}4)qkt<+1s;*bKrvvrF#ci`?{dip3bL1Y`ns||W9H)HFgV~9 zuL_i7@N{tu@i_kW`c0uG10L1@mo*DkXe=moKEnEa>Hq(QdOcPNv)JO_)}~k_KYQey zB(W;w%&O4j(#0t`%N6A^cda#xE#0&3$CBsOjIOO`-gYNlapwOKaNuB@T(5d?ql;0A zz}Xfnho4O%JN^_I#M_BBJzc$UPYqAfQ}bH&v|@o%r_Otr32+oTwcKyvNUe9|HN6tx z%xn55dd7#N`~ra-N2cJupkcj@d=@BMrHRN!5Udlj?WN`7oR|3>G2 z@0q2siU;?c-Lzee&pfiqV9M{T1HuocKJMJ4SpQeAbgNqAPu8Z$t7n;`Z%qx|a79=% z|FmrC`uvi8G5kl5o9D?k%yU2LY!3_`)e_f;l9a@fRIB8oR3OD*WME{ZYhbKvXb@s( zVr5`qWo)2rU|?lnaO{#EC_E7wa`RI%(<(7F7+F9xc$~VS1=Ju3vLQG>t)x7$D3zhS iyj(9cFS|H7u^?41zbJk7I~ysWA_h-aKbLh*2~7a4R5n!r delta 728 zcmV;}0w?{K2ABqr85jlt002+-w6XvI00eVFNmK|32nc)#WQdbc0T`3%0wjL|l}SWF zRA_XQgVwH83DSQ$$QE#F!XtfA2&}~%Co2r|aT!Q1{ovMGSP$oH+V21I& zFk}|YG2Z9Ok%D%{d$CLuEO5MA=a1kV#(N)#Ksz82N{8SeLYF?8Y$64W_lY9%?0qun zVO=k)$>t$x`W68+_Y0dzq$t8;tXW8rY0NAr&*O78g4iOMcL3XXLD%tuuHyw=#|yfS z7jzvj=sI4|b-bYKctL;H@q(`71zpDrx{eog9WUrQUeI;23PuQzNP{)2X)JKmAD|IJ zgJJMO8r`U{M20ym_+Lnk67pM0f=1RurY<3RZ)KS@tP)5Sl`^UcfyAU5Qwn;7Uw7s4 z=Wj&?GJT9>?Cgkcu9g`NZUZ&o`p8Fpgczj + \ No newline at end of file diff --git a/public/img/emoji/codeberg.png b/public/img/emoji/codeberg.png index b91613833a2ffafc514facb6beac699ee8973b89..244352241e8f949111ece9a576a7b57f9e685e0b 100644 GIT binary patch delta 6257 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 delta 8124 zcmV;tA4A~GGW|f1B$09yllB-*lm8bYlW`a%lOY&Se;-XrL_t(|ob8=`cwJSU@4w%* z_c=*gT4)Ow8IdLt#A_r;+X%?aJXf#Gqv&;1q!nKf#8F1Q;(!WmlEM+%A~Gs^y?F78 zZ=<79UjX&0<4fzPDA>2OrqGh+B&DU4k~FkUlbpTx`rSYB-n^Wb>~q#W=d923RMKk{$zDN){{899VJxmRL_uY`GG- z48Y$D@G1c3n$DF02LSoA2>wX$(Zy%^+qd4(;>|CaxuK;;D1Q!FC zXF660oFwoVz+VMQe$lEro$A9vXJOCiB0bQ_@Zk>um->drt_2m zPXSz4E;5z2L}$J-Qf2Y^?af6ijT zUqz&~t99AKri0{zl9OoZom>B_QqJcAyxw#c%VY>_5=Y;ZT)n)_be1qF8HvtKv@edu zz1t!92mr@)9?Ohq2)+Y4pG>w~bl7y5FerYBL|DDP?FJHe0XV~S981RZ0sLgLx&DD- zAG9rMiO#=s*GqjT_zDI8-Eqr$Ah}YM61^s|$=x4Y{7He_hT#cp zmf~iR;2r0Az4vTRyw*1zCR>V5qUyW0S5x!b0RGl=7E99m=2N+%5;Ei zs9E3kUTW@w6{u9XSZiln&H5c5G#w-xisDLi-d#HvIXd_Xz^hDWu@sC4f9d!i>|EXS zg6SaXh`dBKpWfDhK>Y|nt?4Y5g44l3UDvz=y!Ou_} z>$X|Ua!4ul=6!4Gx0((DMC8Fj?VZ~$2ZBdo1+rwuIa=$@OV{sst?3{@1SG26u>Fmq z)K6en*Rf>BX$tsx^@i5b!-+Ee+o*bj1aisCxa5 z*AsXcKt-YJwv;>`gl|u_HvFWJl@?T@+VyR(6Ua|t?}04&BPEJ&=~~n9i$YacFo|mK z+Wsoh+ywg+&XRxnf0a`Itx)4g1(9fEBHf<>oLz|eEEWKVAo|tG*5%##t|;$M=gv?3 zc_D?5zzSq3Ea#Bw|5Ycp=Y8>-yh>D;Xpj5x${#~;Q9kRjSf)dOS1`sOthj$mUWZZg zD$zj9`=VWm$6}b*_4c@*%V!07yCH~Ms`633#gYSqN~yog#}m8IyK^r~Y&nzQL$Cr_qD7_F`oVJ(?Tf=MI9!QD=*8Tx z0azMpxfV+})W&1pSHmteREcWW@AwdaH-}lK#S$h0ysc(K+xx>TGqii6ku6QO0GJn6 znHEc)=!fQtf8^SRJz*3U%9W@t(H>WHz5^?er8t-mg>Q#7eiVvCCtYtXh-G1vWtqe? z03QZ$$aIj>Lz;Se+%;j8G-ruw@7Q?}h+D%5W0?q_2$XtdvZdjzo)>#1fTG=cB&tx* zeBOp_ub68&bCW0`N*uW#c6MsmoCp|PwSP_hQ2;oQf2iw)=34k%l`xmq#CCjWE(PSgx9RzJx1Fms zegq&smjIT@ki0k9(m3^9FH-gCceF2Z4=)06N#T=~GW@$U-tf_H^!@6-6SVv6*vO^loPH~S-xoMosk0C%Z$qvp=Oj_}y0%LRd1tPb zTBhZ&C$h3VQJ0$ekd;7pm+!cI7wi+eP$6+`&AJ^I=W=fL5{ZzMdl8`}h)aL~kZTUK zHXfYmfW+;PBfB^A_&E!B`WfC~YW-dSk=r4me~3{a?}bR#zt>qyRJ(r1yI}j|p(2## zWXrN&&3X`ln&n;+x+nEC;LuY?@5Y$35a(|e7VuBuMJ;QV?spewf3#&w zX5BfBo8}b9GD@!~c}K^M7YyZEz?%=P2u_s;X90ed!_@J(ANP1YfFq$LE@K3eQSU3Q zM74KryWGwd3I#2|ySmma>zYd;!}mqQ0*%V!pKurq^f4Idqh4I~4B@;FKoCagvW95L zWJ}BRS0crnyB?N_$ZcIMjlT?|f23n)E(}hU2aA_LSGv?EUm%=$f1s%KVboRbDB$B6 z95XXZ?`*3P@b%$EDpLeMO?r)Yg;m`A?!V}1<-sE8L5I5H7*q3{F97mLSap^$SJbTA zHtXtDvr43>|0&%umb7%I)X;Sp>4t^DO04u}l1EoK)PoMyP#|%w{slm1e^~XFDT+|D zKJK1Tkk=$Oxgf6#JyLlwsKF}_Heb>cW}%4$wKEXNbn*bef+2?sDjd=oJf>puUH}7O z)?aQ2aXlVDia8Nq`ReITRzG@K5!zKNuD5ng2CVk0t?}s z4EBKXv3z7GBhIaT>Vh}SfAr;y5>c4(h^=Kh5EY1&nAyfIn?of;D zAP))fjeKP(4>;q3kJCytvN4iZha}x-QoWke91s zIUv9rYd^i^^y$8vRw5PSm9T3ktuRK@b zp8yH<{;Z6s5bgfsbYDy>kpQdmo2O*a8tUEMYa5bKi=N>1QI3#0DraMe!7c{(ln4U=pBZ z3dHND+nQyHM1I_Te>3c2jJfd3POtHfLRQ#*`${ikdAtDv^HAw3Dwkh^@YjXRS|Y?^ zaqms1emF%U5qV=_@{|(XAM^b8ggKy^S+x|uie9GjRJwx%=0SNPu2kI!NLNAgmH;B0 z@~C@~M8oqZczNL>l>|dn`l`K&rsqvmzR*`*rt%DbK1l78e-a-!F5o`{$oY-(a)gjK zoI3D2Nuuuf;#UJWqoApZpBp>ZEc=V8%3}+?R5tSH7>O!CydgT`>{dXFsq96{;_8kI znW+N<0^`;DE<&d)SV!9nQlk1puvBb`1di1&c3H@ zK42%`Wk{bR&fD`opqe3PElv&PA`egraY%9X5EVWQpwDz$iU9&EsuRh|(Z7#LRGE^C zVIOU0f{=KB$J&ebnGP~a?V=S!ImzRU{Ol{nJRU@#e?JBwqc!l#oC@W>Fm_)wCXpik z)=ZuvL*%Z`=Eg{^I=XQcgH${gX~_9yt&AO3IGlXpHxae0Z2jL1uQlQf43eO?aq-G8BG&m2z)Qu+V~~YIWj?1 zd~mMv0DuIfIHWN6A%X81ZdPQW411#hK#P@V2KL0<$`6_jktym$3kE`w$MGlu3B;ih zyIY9eX{s(ysK+IuNS)anUO-?Hb{mmfDBBvZPss~(~omoVg!z+=oIW3C<|aT9=| zfBFBRP!N12FxH(zt0_QmcVaWqu5lRtpKnWfb$p10iyr{9LI zRmrMq(@CO)0FN#{D`+;IBUfDKw1F_?f02MA#{zLj?g!+LMjIG4VyIRUNVVx45#n&* z>Xln>X!1-4$(4>9FBo!NKL}Hv;d4nZ5CPR1h#WH8%IF}%8U@I#i*=U~KFF0%-@5!6 z(?RCSkmdjoo;<_H4WAD`I7aP!0)TI{krBZmsuh5f1C_m zp1>mZDZ=8s!4>`akZ1Thd)<&@moxX$R~*ewPG+l$7l}ne@NhSMtK~c zqmsJRUlsCChMR4Iit>|)c+L}C)t;y;`3Yy9X8&BTJcz|Gn>?e(`EaxreLH|M8;F&- z0#IQ(Mga*R@}2{&jb$Fm%Cb) zeZzDP)9Bdz>DE3W~%*prewQwf4y4s>W&*PD2In8X>n5exCwbi2_y&rbq4?=TXNJP=f zb&CfaRErkj5Q_D&qhP!Erx(rEC#KnR%Y`Qbtpd~XjG+T+1m6I-bIy%3LvX%-^spLP zGPl!onjAP9IO?jdM9rY-AVmWyt_qGtL7w5+vo0L%e|n_BmXVAD0i2RGFo)Wpbqj~ue(?NE_>8;j#6Nrr-rXY5t3(OS)%;|e-zxERig^euF+S_)YwPFW5(j7LBN0S zYHhUpg@#0XqAsQUU~KJ!sK|rS<6Hoa`aOgjvuRf$A!N)KHR0pmnFx~>Vpq!ZK43aV zsiElhMp7PkyfDS!>kzbM*RsM8$ha?K5;+Kdhv;pweq5kdJ(FlE^%Y|Zj_aK48~F)Q zf0JkI5YSgna2J56t<)qHzCX6B;+RAuH|$Z`W<)4_UsrQ|S#KhhFD^R2yN`5q6y=#% zme#6Qz}pd}f8Yf>_a>Ugrn;+1UlN-Ooo6OQaCc{G!w*g8C{;GDS`|o2&%QaAL3t)Z zsNDpz(vL1mzhmhvJ9?>I(p#$*_6(V$%H( zaEe4DGefr&G}2@|rR1vamZmb>Gr9iyrPMNTPA}IH^H9L)8Ea ze1Fozg=ot&jw9+@01G|*v30sRe{54E0ss(&?9!bGsITluTzag4by`N)nrJ$SKo1s+ zJfrxO6cz3OP_W+{g4232twaPK%x|0th+MzFd3mH?el2x;(IZ!*=*u%HlJ6fCAb|o6 z#EQn0t{gCfM4iozdxiObdqIHDCtH_A_9eq|L8*9eG08JJwcT-DIEqgYfB1UZbLNcf zOs;L1cIUt8yK?~Yzo!iUG~bJ@&Tk!-Ocj919ri?4wkPUR=?}H!oAyLqN>iTzP*n1a61Yl(>T?j}YkYCYq0U~Sy@{sh zg)(g)aE|yw{f+~zjm5oae`JZF0;jjw)+Le`%hg<6R3fI`cv- zV2G50D*^Q@@XF5BO;MYnXqkZP zyS>FKk1*h9AzBBX65NFles9H>Z>KvbtwddkWqmT|2~qs;zLti+&aDhfz6nmBcglL$ z#U;-;4n*+?MXgJle`PjAzTA~q)|c+E^j9JPh{ZmGTsLGQzLacfnDOzTB|3C`^!($F zhF8q;j13w~Krq+^GS~6WK|dy+&*Z?2B;d%Hyj1MtIhS$~fIoEpGgj-&;!Zj6y9!rSBI=a)v^V#=YRS znd_LItR*^-sOuG|JE!?-P=jwDSuw~`#LUP1UaDCpf4UW!Jmd9|5;!RZt^+V-X=)KB zPF=|-6S9^F0II#-{|#W$;3UwbdlV%i&m;our0~0A$3kw} zdP7rAf9u)hBoP2~wlw?(kVgRQNL8J@Dc5o=(Ik$co|2Sjv?vvjN6 zwlZg9h7p0xaI|}~@A|=kn=i}ll^{!GxjJ?6(Qn578Yt-L{h9Ql>h!-xqDRD;R-Vy= zW*1_t>@?yG*Efqeqeba}qYGtgD6NQlnDYOUf3ED=NdE-JQnu9Iwf$9uS~BUwY~-1O zVR@#>q3G}4w`N60x;kbf=kA=P^l{-&zAq}$Zrgb7Q!a}-=-an?`M%le$OJ2qWk&SS z8PAubJOBvMj-T2Q#+as+$TA}xx1WDpfK(~TGhB`)89W)*s=HPq%gm7CfKvv~i&-Ag zf0_#H38Nb~v3iSTMzpv+pqv9l|7qJytGJ5RW929XFIBl@YnZR5S&1yOGBoe_^YQ+w zqL&8%sFY~e-FD#SmxMYbW4m*fSvhd?WdquAPFe7yIJ#|9G6&exbxYl|vt`HyE0HBF zu5w0R$}CcO-~dXVO}5tWoh?VMScxoYfAJN1idG%~igIGf5^r0+rs!CSENNMC`alnY zAkBSG^yGmHDCGq)x8m_!UoOoAE0HBFTW@Ic=wOD0H=`+!qXN2q0PR+8*>mg5r%vk# z5&Lw`k`X#k&r|6$#y>Itv~9|vT@FuIf6jW;EHg?3YV zHi+Zvo&b39wBP3GQT1%c68_=kwHH0UaTPOKXFDHQi7Z(mqK*K1vP1^tfz}l0r}z2G zwsov3d>3vaRw7GQ1paA9=#ESXH6+jQe{^SZ?XsOwShCtaSg>S8SE6Q6f5n^=g?eBx zcC6MM6^JhOCU0Bb76pL-dnK~ufQWt`z=A?vc>sV=+INDsuGP`n_sU9S$r`PkBh*rJ z>gV~A2LM1dSW)FX)^T(FtOLF#u-!RJ)>NN-?s@3(T_f_e|-saKv6sL|D-8`@xC5H(Y5cg~U%0v-V{L86elZKEG6 z2GBuU^0wvOa}JwlYY1o}lYACbP>Huklke?J!Z+j80N(KPl- zWXTyfrH)MhO@`ez08mP((X})<`rBd@2(S+pEOQ~~KLV#>!UvgOc>q9DPQ+5F?RyhV z&(CRtAj8-zktJt35|~j!eAw`%n4!Y2m|-Lw8sHQpi;Yv>8V?$ScxoiLZ7|lIp@%E zndwR-_3B-lqi7!00005r!g?>)^QM(%>Xa$vtu?Y9i&F zh@zSt$_bU4E~lu8Qeha1)coHb=lsv}KmRk|UVHC%y=$#^t#5zNyK1kXV^f{ig@}i4<|sFb;HiNW5f(BSaZPA;Wf*^%`tH>NXO36ar15) zmkIL>DaZf>^c>^gC^|;$hK335*a=Uy88^VeNnAk)X3iZa@kC1~MBtTp>MwI<;c%=Z z#B|mjH~ViA*ad0<4eqcK$$tDS9Y06MO6(v2iagPV8ewt&Fc^xtqPfdE`m zoqz*RU>2kT8I~X5K+G&G6?TDgGj2ehbg=Mv0SyBaq!tjQG*AvZOUH?5XfcfdgYMXA zDt3+rG63d3nZI~y0N1?xrg^$_)C{z=P3%`D+@1K}9R%PE6AvTH;{vas1sY+Np$R~# ze(XOxE9Fc|(~3Ru66f{Hnm^KX023Z812-#e5WG&q4>%AGD+ktd1854aB3*zy@Al94 z@L9Uoa0aGy$bbOm2@e)-1T2X}l79Tn0Qm9-W8G;?Xme8Mli7|$J(qz86wJ*Vmg667 z-M%i;4Hk|mTIDNrQBlZNxvN)NF0X8Ens<8q`vqQ&yd4*DQ8n^&<2u>%GO6{+wdYox zt*$yc4FV7&3_~3{-yD#vi<2kU6Jqb5gQ%#*AdT+KlHV& zez;*(^cSVcJJ&+z1e(w8{`pER?OvY$uI&eNl*ithZ4>sEO1vZ1z!cS|cpfz}D;18&=ff-zTN7e@EvjWaw%r$(0TTY^ULWW8+Jzhl>_Wu8B!7(c|=nAxhTA2&TS9R;0I>Qm(W!o_nAarblfs`ig^ z5$rZiR7{%&irq#SjcUV>#t62K#t95Z*#ZNVD8Uw$7=gY@oM5vGTcB4ICD3iZfUa|C zkDEHa`@a2_{ysJMM{%Ye^Qv27Z?H&O-^9yP8px{jP+rlCpac`_w8_rv{3^@ieN8mJ zJtTHK;ua0xIK2ventze0zO%BJf5?Vval+-z(>eoZOTFBJ8E>x`x+?DTQ^XhI??Foy zBjt7R;q9HQmrwR^olhgJ|mzM;y)T#o~UORJSSsODPe{;?1YdK-&+l<|&^8<~sk*ML$ z>3y}$&eZ7yCr8tl)a=(HA5r?-&{sc|_6>Vr9(t4|{Buk&sU~x@URJn3FL4ux5M5^TIHQs$yE6Fuv5>GnXF3!6?C~M@PeW}{ z6edSQUfh9hm2>{{(QZtu3zj+dUg-nUD4=dgKlQ2=2N~#P;(zweDr3E8tt-tO`YG7m z6J$;)H{A2%^wH9yaOS7!%+f-eA(R|`QR~o)Zh6ORtjr`5YHK6A0D zx#Wbdp?f}<6L#e5!mrWr zLr`YAVg}Xkm4=5ac8$Y`8ZRb)wCMmYC>+ugdMaM|wd2g;o<;DyE!Hw|2ivKgw^dIV zx3ptQX)-T*kGUR;*6S$GcKY^A#=X}WeLJm))k4%0x}u{CJ8Fr>MAo5OhbQxtRoIuV zc?1iMM0bCfD<_gh0tX1${mNyA!ls5_-*FwTN6AZm+|fM#j_F|a+Nt^zY2`6pUV3cK z3|6jjr0Kv}!A@VL!k}Ig&5Prgv@48z1l@rS^5IJHodecC$BFLddGh56IE0^;=q)%Y zc|RoNP)iJgW=84^o;%|_q&=G6U8ydq4{pr8)VTqJ(5@7>&o&8t?}=%wL-$bY5j$<( z#Pv56omm>z9L=;_C}-YyF*Ecb^r5n=Dowuo&$&(U;-$aKGTN){5F9LOI|8ct`e@+7 z#S;o!g5)B`29MlbW$#Fx)~HR&rOE%nyXaf1lCib*;_3I9SrIApEkkms*T-wUYFFL9 zx`W*4xHc>D&S{rito)R^Rko_Znje34O%Sc{8Wp9*`Cjw>C))iPGF?z(54wUwK(=7Ju(kt z`n*|Vob~cnO-=h-#c@p^nmPjc{Xy)`TA@()%HDGUH$Egg_EN0XuQrR4$>Vj3`{pc$ zLu_zYEG;>lrB}&2iCVTJDx4wf-iktKj8d^NQyIAOGrzYa`J|gIB{xdi zedgyDv+F0b``>Y2#1Zt%Y?9A@tQpJuA-m~-*gS$W6$<`fwPKz2#IgcngRO$1gTW0l zF)}eRFfuhTHu5kwvof-Un4w`9A>>k*v^=#QzU4u~-fu-xF*G0YAYN sn2{l|?11QCh|Ojjh8{i?6BKYH*f28sK*glZMnHlnPBh0Rhy5A<0bwO$GXMYp literal 5007 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 literal 12918 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 diff --git a/public/img/emoji/github.png b/public/img/emoji/github.png index 88efc353e776bde799ee0e6b79ea50c326aad66f..7169f262eff1ea941e96b497f7fa94595d5dafad 100644 GIT binary patch literal 12734 zcmZX5Wl$YWur}_l!3pl}4#C~s?cg3y+MSx& ze!6?4dwP0nqg9n

~3cARr)6-SeLnhlZ3 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 diff --git a/public/img/emoji/gitlab.png b/public/img/emoji/gitlab.png index 55a0d2b70b9e2e5b381d2eb2e36358197b98a016..a66325828bf43db62520281e2b3acf47b75ef453 100644 GIT binary patch literal 4726 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 Lq#mMD)jslnh71Eg diff --git a/public/img/emoji/gogs.png b/public/img/emoji/gogs.png index 6471a84dadbbe9935ac802f674a501f1c19ee84d..12706aef4f8060a97d001f54cd93d40c6f562e80 100644 GIT binary patch literal 8543 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

E8Jfd`|0(opTVz+_7G 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 literal 11794 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 Q7(}F_Veq6z%`WnP02#h&q5uE@ literal 11009 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

bqyxEqHyXI1@uH4vv_6MQBRYVgsQGS-vpm|a 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 diff --git a/public/img/matrix.svg b/public/img/matrix.svg index 9a255fd75..f002f2efb 100644 --- a/public/img/matrix.svg +++ b/public/img/matrix.svg @@ -1,14 +1 @@ - - - - - - - + \ No newline at end of file diff --git a/public/img/wechatwork.png b/public/img/wechatwork.png index 296225fb885144f88c2b02073d7ca642877be9ac..8104349dc6c45feb76f7b4af36f0338d794fa568 100644 GIT binary patch literal 6806 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 delta 9175 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 diff --git a/public/vendor/plugins/pdfjs/web/images/annotation-check.svg b/public/vendor/plugins/pdfjs/web/images/annotation-check.svg index 71cd16df5..dcfa38c8e 100644 --- a/public/vendor/plugins/pdfjs/web/images/annotation-check.svg +++ b/public/vendor/plugins/pdfjs/web/images/annotation-check.svg @@ -1,11 +1 @@ - - - - + \ No newline at end of file diff --git a/public/vendor/plugins/pdfjs/web/images/annotation-comment.svg b/public/vendor/plugins/pdfjs/web/images/annotation-comment.svg index 86f1f1724..fa86f8b39 100644 --- a/public/vendor/plugins/pdfjs/web/images/annotation-comment.svg +++ b/public/vendor/plugins/pdfjs/web/images/annotation-comment.svg @@ -1,16 +1 @@ - - - - - + \ No newline at end of file diff --git a/public/vendor/plugins/pdfjs/web/images/annotation-help.svg b/public/vendor/plugins/pdfjs/web/images/annotation-help.svg index 00938fefe..58fc4a65b 100644 --- a/public/vendor/plugins/pdfjs/web/images/annotation-help.svg +++ b/public/vendor/plugins/pdfjs/web/images/annotation-help.svg @@ -1,26 +1 @@ - - - - - - - - - - + \ No newline at end of file diff --git a/public/vendor/plugins/pdfjs/web/images/annotation-insert.svg b/public/vendor/plugins/pdfjs/web/images/annotation-insert.svg index 519ef6826..0bd68e8ee 100644 --- a/public/vendor/plugins/pdfjs/web/images/annotation-insert.svg +++ b/public/vendor/plugins/pdfjs/web/images/annotation-insert.svg @@ -1,10 +1 @@ - - - - + \ No newline at end of file diff --git a/public/vendor/plugins/pdfjs/web/images/annotation-key.svg b/public/vendor/plugins/pdfjs/web/images/annotation-key.svg index 8d09d5378..af1984c27 100644 --- a/public/vendor/plugins/pdfjs/web/images/annotation-key.svg +++ b/public/vendor/plugins/pdfjs/web/images/annotation-key.svg @@ -1,11 +1 @@ - - - - + \ No newline at end of file diff --git a/public/vendor/plugins/pdfjs/web/images/annotation-newparagraph.svg b/public/vendor/plugins/pdfjs/web/images/annotation-newparagraph.svg index 38d2497da..2faa9cfe4 100644 --- a/public/vendor/plugins/pdfjs/web/images/annotation-newparagraph.svg +++ b/public/vendor/plugins/pdfjs/web/images/annotation-newparagraph.svg @@ -1,11 +1 @@ - - - - + \ No newline at end of file diff --git a/public/vendor/plugins/pdfjs/web/images/annotation-noicon.svg b/public/vendor/plugins/pdfjs/web/images/annotation-noicon.svg index c07d10808..845ef5d80 100644 --- a/public/vendor/plugins/pdfjs/web/images/annotation-noicon.svg +++ b/public/vendor/plugins/pdfjs/web/images/annotation-noicon.svg @@ -1,7 +1 @@ - - - + \ No newline at end of file diff --git a/public/vendor/plugins/pdfjs/web/images/annotation-note.svg b/public/vendor/plugins/pdfjs/web/images/annotation-note.svg index 70173651c..c7fe63859 100644 --- a/public/vendor/plugins/pdfjs/web/images/annotation-note.svg +++ b/public/vendor/plugins/pdfjs/web/images/annotation-note.svg @@ -1,42 +1 @@ - - - - - - - - + \ No newline at end of file diff --git a/public/vendor/plugins/pdfjs/web/images/annotation-paragraph.svg b/public/vendor/plugins/pdfjs/web/images/annotation-paragraph.svg index 6ae5212b7..0e4a63f48 100644 --- a/public/vendor/plugins/pdfjs/web/images/annotation-paragraph.svg +++ b/public/vendor/plugins/pdfjs/web/images/annotation-paragraph.svg @@ -1,16 +1 @@ - - - - - + \ No newline at end of file diff --git a/public/vendor/plugins/pdfjs/web/images/loading-icon.gif b/public/vendor/plugins/pdfjs/web/images/loading-icon.gif index 1c72ebb554be018511ae972c3f2361dff02dce02..76b6ff8ebb65cdc80d73b002b78bb940b1408d39 100644 GIT binary patch literal 2536 zcmb8xeNYqm83*v+ZuTv^OR@r5w9Yl`E=S0L7YJHJh42;#;0cF9Ma6(1FDfsJya@Gx z1PCPIOP$O_dVh%5yN>q$xO1kp8*OJg9XiwQ|2zBp z?DKq|-xIFY_^nTN0WRPt2F%UPy?OIyVPRo-c=*MO7j<=Yv$M0Eot=*#Kko1Ex7lp3 zU%xIWD5$EcvRbVf85wWiz6Jl!K$GY03F%sj|Y% z{0v!gR&vq)oaEFsnb~`Dfa@=a7zYgSw135ZNPu3H@pb%nerbsq@x(W^y9qvRzOPzS zvC-sErEYdYk(pBwQ+^|6GL45bVNmxbsjKAl2~9Ag}{QP@mNd!@s7^= zGdxs#mZb>Ls%S?B5CDu(?XZO!PhdvRUGIX6EH?tp;n$e~t}6kVzg*vu-I4Jq%G2_M z>ALsPXLlFcZY!3=4B9aW5HQGkx=*Nxx9oYIS@Ymw@1rg5j?ScQSxPrCEvu<0pOATA zV@|2Dk1eTeMX)P_(tlVL-rCjN<`61k`hMZ_TO#!LYRHnAp10mdrK&`|< zDs_-p>KoO^TG~wAJtj~1g!xPrN5N-I$Y2dLymo-`JU=)vKExWsPK+P9z#xG`HR{j9 z^rL$9Xw9H?%HxWy_uA~zfN?v(AWQ3T?CWg^?yfVj<{2f7Z!le~l)JO59d9(MA#hz* z7ZT^TdZqKIQ)=G4N7@cx!=bHVYlnMctjllpr!LsmHLoDbO4iBwSvN?hqSCe1h4$ZH zr6N(9MoCIYhN7XV*?96)Mmr1DmU##T%kwpz^?(GOgo8}!h@R==B(yZ{3SZm9nt9^# zU;y$J-0No2nNELm@P1?o^Dujf;jd(rXgXJtO8N&|m<3gjpOTO;#wU$l5Y zX=MiAqT)S)7>=SiMpYvB;z1fWuh!96~aA*6Iayl0M)NGDbL+x+i3u6DUC*;5znkWePA1LG?i`u(wK zAJ`_BPk55>3dB88?tJ}0FmtE|kmb>GHez#s*)(u^n8m@%M`vpoeUO>nxn=p{uRL^z z&(WgFP1{NHFJ)oz(VMjICl#efDg&x(Oyw;tRKuaeS`jKvh&)gV3BsN1?#dLUI2b$I zy(gZPNK$EZmm#5ig$aJbs3vhm*fh(VVZrfzRMshXkRjvU2%ikpV zi$6c;wfy-GV;@dL$=;)ivI;}7#S*804y1dKxTHBP`>-&8!;%t{@N`6^24Z|)p@USO z@*#?Q6><_O%A%JUF^Uz@(gcR4S>$RyA@ti99ELW#ZR79iCh|vemNdL;r+*m+{V`ZU zPFsl)`l)xPvGuPt1%e^8|IU#wpDng-oXcJ3<{RS%z>}`-mm#Hhm>(a@foxQ>4Xhga z&51qMXkCn)UR#75QIsAnE2s%KDDyc2mEsyqL}o~Yc-JWfA;AGDEeR2)QlvN0t%Z6y zl$K*yCNA>oBI#ocZj<2Pumc^2qS3fG52nenuULR*xQ+1B{Ki^lGH*%9yLS5DAgkX) z{`4x}dVXlpu=dt~>YLf@E3S37pFhaGBqjg|GT#5bu(%{6M-vwS?c-pa7Ha?rwzH%V z^IA7y@`f=4?LdZzQYb8_OY6(ysQd^6iTeC~FtnZ#iCRR&0Tk8Zc=WaX2#RsHIpVD5 z0(XZ)Is!&DOA1E+y`BDBDF$F;{Hy#ZNq8AP%J^@!!%-CD{A|2rU=1@*n7tYHNO1(E(>QZddEQjV*wfaCnFI9 zT1HqvW}llYl=cP0j0Xz~NNr%_^H}CuC%pA#MApU_cXt1GdYOwu<*VVft;N?GE2iZ6 z>4r|{LLJ|fH+`ac^P9Jd_jBnpDo?oRDh&4hqpX?zeG7+3@RY#f5+JN5B_6ehU|j6Q zK-i%R{;lf+pfrZ;W5PT`cB%+b7gn7FCRHNQ4zh~^gC|ATtz8TPhT|r0mL9({8t4i( F`~!)L5n%uT literal 2545 zcma*pX;2es8VB%~zPr=ibVMCx-JQ^BhLDAsK)^**h(ZDp9YGuzZ%~j!}+w%FI;|aC7){7CdVvG)P{bng1y9Te*f}~*`1kQl$jwb z$tlW~rRS!X?#xfm_&6tTdp_`cjgYwbRFLNdoJCN$S-yhg`ZnC-yvedRSmOh%;Y`Gl6bY$Z-}#C=#F4%9!I1b zWQ~f+9P?;vhCxWwlwl=lrWG|7IYo;{jjmzJ5R9?f>n%-d@>kLINUc z4wM5dAO;kq<$}Dk{2-u0$I6@2N}&cUx9nmV1dYc8jfC}%=F9WCg^OQK9C6poh#2!A z3^EU*UFZvS^)?bu3T?J;@Ahb~%I?+@4!l5!*TjC}GIslNan-RCrrd~PdHYnNLJk+m&`$Y+NV(e>CCu%R#_8GqY4cv#j`#uRWdsg9DxWy(?oOvgCU}&@jy%c!H&-Q zqXJxajAtmQRoRa9V-RFXXh-bK*;Fum{BjpkYQGX~i@OZ^Dx0n&H}kvGKqQ?w(6iGXu_g08T|_hp#ZvFzIwKF*a=oMJ~3UGAjZ?g}GOxm44td zXoyYrU*I=y*vHv89hkYH(v5R#wc)BC3dZJKb3K)f>zaM3%JP(mpecViP0eKKYf3zy z->jx_mc?mCtPEvCQ?uppk?eLJt}_IR7giW%Jr)RyI!+E-voIs*lXI*z`GQc_&D#X( z{6G};HPYj6O|$lXxBJeDaweqa{4L=tOZCjTI^&UOxXg})LRG_cr^B9Rqt(i5ORbQX zq`_xCRsH>xEYY%&*Nyi#{S_JZNlTm#K56`RI%7^amom;*h90Si&g1CfaFV3D|a!`3Y-GKKbL*KSbl z>I96`TR@CqPJl(>QqB~RvK~-U)`e`l4LIqj+IU^~yyIe*|BRVB>4Bup%j{tLdKz4j zY^<8P8m~GRGz*yv0&-RJE+-keJ+%m3wNeopzsltWd->eWmBVwUr)pX` zK~CD<;~Z*Uy3W`3+MrEYxm5qYQ!z%YI;y7DTG`UVH0;@{M{!B&id_}3DBQ?zsotuR zEGLdRx25nLm%-wjlnEi;-aN_1S7???rO~WgA67jjr&(vRa3y$u#kqJbeKnw z{!T!1li9>M+sJ6AUe+*9d}2uGjhzd z|L1Rtp8uTGYyZoQ*`DS^m2dw-X{a)l+3m?ncvn^+O>)hdd3(hMtlhkRGns{<8c0I! zDDjpmwtj?@!6kA|iu3q+Ai;@JR+ zfk+ln&YFC{4bhK6IxVgLs4W%^8Lk`qzWU*L>yq0A3;l}{!wKZ!ue)C)SKI)9dl1hl zhIRLV@8E}rwvE{gX(}$f6x*k)_`*Ijt1=EU-Ls6-(phomeQBgtUs z5Xz~Cd*nE)Ac!0i4ep}Z1AugMB(&F?)#CU{Qc{Sp^vKsdL}vRB30H+Bbzrn`M##H3 z{W8dc_mDroEE+p8_}mnJtzZ4!RNe)zhB)Ds;S57nYSJxtek>^~&(7B+N5MPf2+2xx z5Dl&4X|c@f{Kd|z1r+N|$DmsoVp*3yOdxT^J^-VAk)Z@$4^XrPrFP-Co+MXZ+KJ(W z{JNYvraLLWA;&tRhIKOvhW|HC|L-dLvAUF(MG0(Nl?4tB{RzN7I(}Cb%hwN{crFC8 zji#aJElKvDFV+&VI1V?oUMA>*kto0^;3W8FQBSZ|{ z$v~TqE=(8DZa^i$^oht&h};P1N&wMXorKh*Z68gPV&ouy>%f36Oqkwemyeas$Qbz# zV?7Jy%o7KY6^I=P@eCji%W`o5sf(5hySYo9$l4e2`(hIV_?=H-#R6}0$WVA|*(K@3 z=5?@RlcLh(meW%A4)hGzcvEpm(_w?>zhL*i&s9$2>r zAtk{8Cia|+Y+V!uX9BtpXoF%lswuRKsM!pSs!?yhlCy!269K0|b M?FSZn2B>%I-}ej|s{jB1 diff --git a/public/vendor/plugins/pdfjs/web/images/secondaryToolbarButton-selectTool@2x.png b/public/vendor/plugins/pdfjs/web/images/secondaryToolbarButton-selectTool@2x.png index a58aaef4fbee1bb2a8e9a134099ac23f32ff3eec..01fb6023ad9d80ed60d4e46ac4025b0e3f94943e 100644 GIT binary patch delta 1019 zcmV zfP?@5`Tzg`fam}Kbua(`>RI+y?e7jT@qQ9J+u00Lr5M??VshmXv^00007bV*G` z2j&9`4hSzzLQ>EG00Rz5L_t(Y$CZ^&Y!qb}#(&?=?4PzFqL5gHZ5?elC)rOapW7ZAdtXFGFz4d;4Qxq#2-5tY9nRUZAe6ub+1s*e&@FI48JmG_=Yb%%l&hvbbun=BwME=Mt>)zOBbs(!>`O$<|=c66qKD(#nb;L4N<3 zavlbRR!lkZ5u2M?5$I%}KeQMSAf#7S=g%_8+D5Y?(CIDhTM7`WP|oc1&@NV!T3Uln zPi~iOn}7BBGA>kLxwh?E&fRmPbS#}ujf_4dWsro2f4?s;Up@Wp#D{N;4sWNok%Aa2 z*?QyJVnD^+`Z0Scv5qWVq#Bno%~Mlnt2M(9zp#<#E>fnCGzoM><3_ge*on_AHy9|x z3+BS`&AR2hdxQcV&C@7I(l`2MIMOel{L7GDfPbjgZd}s`>1~z8IN4_p*mkw1oX<`$ z^2t}06Hce)p8SF$ooFp~LTR_7Y7fk` zL4S%h8%7>1DCO^$*g~e627ykJI57kQjg@Tt>ARq@!EQMI9&4J{K`aQ0AVE$m-<=IK zNKZNU{$M?A%U|~~(me6yr`G@3`1hYv6Xc`ZEkT?fwoPBLZ7F{_qm@}7?cf9f?;Afj z`)hFz8_CfT_4Eof+Ucc_EGri8#Qy++qjU@`m?_iv0000bbVXQnWMOn=I%9HWVRU5x zGB7eSEif}JF)&myG&(RiIx{gVFfckWFkq!6+W-InC3HntbYx+4WjbwdWNBu305UK# pGA%GOEio`uF*G_bI65*pD=;uRFfi`D)1CkT002ovPDHLkV1m5H!sGw| delta 1057 zcmV++1m63G2&)K?8Gi-<0047(dh`GQ1M*2kK~#7Fy_W-!Ejbj1w>7q{XWO=I`@ONP z;@aNg+O}9I{jPZvfCRjr ze){Q^c#i>L^qq+k{tp2P2zvM3ce9(Dn?G5*cI^&)p8^7atAExa1ZH`7K|#Sqi^XEl z>2y8W+1a`HZ9a3ugSjMV=|K326DQ7^&U}EuRbH&xd6`4kRVTusi~>?EF|F*5fXt7 zG95NQI+6gj8x)e)UVH6%^jX6~;sX>%MF`BwxYE+n5`VIq?p7^;Gc+U!S>2Q=Qw};C z5?+iV4;?ymk?w9}0V9V5@4B+GvU2oaIC(}UQ)4U&6=$kD+0LLy! zdH?59 zAOc^oq_VQ|4_gG_-LhoKk{i%xH<%CNK^X7@ZjL0P7nqH6!5h35s8KIPSp6CLYyeTL zzY9-3N0y>Hn0){J_us*50k<0OfAQ}e`i|?&8GjiWdF%k=2_$EWQPjzkCll4%^8Wq% zA8KuF?c<^0kW&;g=&6n0~x7~I>em{8AO*cJAcdXtmN#H{d zJ#-hVhTcGO>RfVMR!tE^V59;cyiaU>&aBS8R|a`EEDG)!n5$%QxHeDg(IGY|MVdR7pDS7c=56b$$$ zJ}+RCdjMA^V)6IifB)r3F3_H^bLY-8bcWP#*OoY9^kBuU!P z($dmQld1)@wYB|*YZ8FFEdm_M6EN-WyYIdkE)1&|-QC?Ck3ar+8RZUlK(j|Vu(YD0 z;(HUC4(+}7-g||dp}W`WK}KD+qwolK1ZRLRrca-~i*f^m15ZA=)=$(Pto%lSFdE=v b%bD;$v - - \ No newline at end of file + \ No newline at end of file diff --git a/web_src/svg/fontawesome-windows.svg b/web_src/svg/fontawesome-windows.svg index 4663fd73e..c3620b925 100644 --- a/web_src/svg/fontawesome-windows.svg +++ b/web_src/svg/fontawesome-windows.svg @@ -1,3 +1 @@ - - - \ No newline at end of file + \ No newline at end of file diff --git a/web_src/svg/gitea-git.svg b/web_src/svg/gitea-git.svg index 8b8a7b5fe..e77ecdf6a 100644 --- a/web_src/svg/gitea-git.svg +++ b/web_src/svg/gitea-git.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/web_src/svg/gitea-github.svg b/web_src/svg/gitea-github.svg index 918a35ecf..2707a129d 100644 --- a/web_src/svg/gitea-github.svg +++ b/web_src/svg/gitea-github.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/web_src/svg/gitea-gitlab.svg b/web_src/svg/gitea-gitlab.svg index 6a9c8a80f..e67ddc8dd 100644 --- a/web_src/svg/gitea-gitlab.svg +++ b/web_src/svg/gitea-gitlab.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/web_src/svg/gitea-gogs.svg b/web_src/svg/gitea-gogs.svg index 7c4d5c23a..7f3740de8 100644 --- a/web_src/svg/gitea-gogs.svg +++ b/web_src/svg/gitea-gogs.svg @@ -1,60 +1 @@ - - - - - - - - image/svg+xml - - - - - - - - - + \ No newline at end of file -- 2.40.1 From cc98737ca81d9552f20c277e6ad0031927f9b757 Mon Sep 17 00:00:00 2001 From: 6543 <6543@obermui.de> Date: Thu, 10 Mar 2022 15:54:51 +0100 Subject: [PATCH 002/226] RSS/Atom support for Orgs (#17714) part of #569 --- models/action.go | 94 +++++++++++++++++++++---------------- models/action_test.go | 40 ++++++++++++++++ models/user_heatmap_test.go | 47 ++++++++++++------- routers/web/feed/profile.go | 49 ++++++++++--------- routers/web/user/profile.go | 13 ++--- 5 files changed, 156 insertions(+), 87 deletions(-) diff --git a/models/action.go b/models/action.go index 26d05730c..f2723a201 100644 --- a/models/action.go +++ b/models/action.go @@ -22,6 +22,7 @@ import ( "code.gitea.io/gitea/modules/git" "code.gitea.io/gitea/modules/log" "code.gitea.io/gitea/modules/setting" + "code.gitea.io/gitea/modules/structs" "code.gitea.io/gitea/modules/timeutil" "code.gitea.io/gitea/modules/util" @@ -315,19 +316,21 @@ func (a *Action) GetIssueContent() string { // GetFeedsOptions options for retrieving feeds type GetFeedsOptions struct { - RequestedUser *user_model.User // the user we want activity for - RequestedTeam *Team // the team we want activity for - Actor *user_model.User // the user viewing the activity - IncludePrivate bool // include private actions - OnlyPerformedBy bool // only actions performed by requested user - IncludeDeleted bool // include deleted actions - Date string // the day we want activity for: YYYY-MM-DD + db.ListOptions + RequestedUser *user_model.User // the user we want activity for + RequestedTeam *Team // the team we want activity for + RequestedRepo *repo_model.Repository // the repo we want activity for + Actor *user_model.User // the user viewing the activity + IncludePrivate bool // include private actions + OnlyPerformedBy bool // only actions performed by requested user + IncludeDeleted bool // include deleted actions + Date string // the day we want activity for: YYYY-MM-DD } // GetFeeds returns actions according to the provided options func GetFeeds(opts GetFeedsOptions) ([]*Action, error) { - if !activityReadable(opts.RequestedUser, opts.Actor) { - return make([]*Action, 0), nil + if opts.RequestedUser == nil && opts.RequestedTeam == nil && opts.RequestedRepo == nil { + return nil, fmt.Errorf("need at least one of these filters: RequestedUser, RequestedTeam, RequestedRepo") } cond, err := activityQueryCondition(opts) @@ -335,9 +338,14 @@ func GetFeeds(opts GetFeedsOptions) ([]*Action, error) { return nil, err } - actions := make([]*Action, 0, setting.UI.FeedPagingNum) + sess := db.GetEngine(db.DefaultContext).Where(cond) - if err := db.GetEngine(db.DefaultContext).Limit(setting.UI.FeedPagingNum).Desc("created_unix").Where(cond).Find(&actions); err != nil { + opts.SetDefaultValues() + sess = db.SetSessionPagination(sess, &opts) + + actions := make([]*Action, 0, opts.PageSize) + + if err := sess.Desc("created_unix").Find(&actions); err != nil { return nil, fmt.Errorf("Find: %v", err) } @@ -349,41 +357,44 @@ func GetFeeds(opts GetFeedsOptions) ([]*Action, error) { } func activityReadable(user, doer *user_model.User) bool { - var doerID int64 - if doer != nil { - doerID = doer.ID - } - if doer == nil || !doer.IsAdmin { - if user.KeepActivityPrivate && doerID != user.ID { - return false - } - } - return true + return !user.KeepActivityPrivate || + doer != nil && (doer.IsAdmin || user.ID == doer.ID) } func activityQueryCondition(opts GetFeedsOptions) (builder.Cond, error) { cond := builder.NewCond() - var repoIDs []int64 - var actorID int64 - if opts.Actor != nil { - actorID = opts.Actor.ID + if opts.RequestedTeam != nil && opts.RequestedUser == nil { + org, err := user_model.GetUserByID(opts.RequestedTeam.OrgID) + if err != nil { + return nil, err + } + opts.RequestedUser = org + } + + // check activity visibility for actor ( similar to activityReadable() ) + if opts.Actor == nil { + cond = cond.And(builder.In("act_user_id", + builder.Select("`user`.id").Where( + builder.Eq{"keep_activity_private": false, "visibility": structs.VisibleTypePublic}, + ).From("`user`"), + )) + } else if !opts.Actor.IsAdmin { + cond = cond.And(builder.In("act_user_id", + builder.Select("`user`.id").Where( + builder.Eq{"keep_activity_private": false}. + And(builder.In("visibility", structs.VisibleTypePublic, structs.VisibleTypeLimited))). + Or(builder.Eq{"id": opts.Actor.ID}).From("`user`"), + )) } // check readable repositories by doer/actor if opts.Actor == nil || !opts.Actor.IsAdmin { - if opts.RequestedUser.IsOrganization() { - env, err := OrgFromUser(opts.RequestedUser).AccessibleReposEnv(actorID) - if err != nil { - return nil, fmt.Errorf("AccessibleReposEnv: %v", err) - } - if repoIDs, err = env.RepoIDs(1, opts.RequestedUser.NumRepos); err != nil { - return nil, fmt.Errorf("GetUserRepositories: %v", err) - } - cond = cond.And(builder.In("repo_id", repoIDs)) - } else { - cond = cond.And(builder.In("repo_id", AccessibleRepoIDsQuery(opts.Actor))) - } + cond = cond.And(builder.In("repo_id", AccessibleRepoIDsQuery(opts.Actor))) + } + + if opts.RequestedRepo != nil { + cond = cond.And(builder.Eq{"repo_id": opts.RequestedRepo.ID}) } if opts.RequestedTeam != nil { @@ -395,11 +406,14 @@ func activityQueryCondition(opts GetFeedsOptions) (builder.Cond, error) { cond = cond.And(builder.In("repo_id", teamRepoIDs)) } - cond = cond.And(builder.Eq{"user_id": opts.RequestedUser.ID}) + if opts.RequestedUser != nil { + cond = cond.And(builder.Eq{"user_id": opts.RequestedUser.ID}) - if opts.OnlyPerformedBy { - cond = cond.And(builder.Eq{"act_user_id": opts.RequestedUser.ID}) + if opts.OnlyPerformedBy { + cond = cond.And(builder.Eq{"act_user_id": opts.RequestedUser.ID}) + } } + if !opts.IncludePrivate { cond = cond.And(builder.Eq{"is_private": false}) } diff --git a/models/action_test.go b/models/action_test.go index 306d38236..0ce9183b9 100644 --- a/models/action_test.go +++ b/models/action_test.go @@ -93,6 +93,46 @@ func TestGetFeeds2(t *testing.T) { assert.Len(t, actions, 0) } +func TestActivityReadable(t *testing.T) { + tt := []struct { + desc string + user *user_model.User + doer *user_model.User + result bool + }{{ + desc: "user should see own activity", + user: &user_model.User{ID: 1}, + doer: &user_model.User{ID: 1}, + result: true, + }, { + desc: "anon should see activity if public", + user: &user_model.User{ID: 1}, + result: true, + }, { + desc: "anon should NOT see activity", + user: &user_model.User{ID: 1, KeepActivityPrivate: true}, + result: false, + }, { + desc: "user should see own activity if private too", + user: &user_model.User{ID: 1, KeepActivityPrivate: true}, + doer: &user_model.User{ID: 1}, + result: true, + }, { + desc: "other user should NOT see activity", + user: &user_model.User{ID: 1, KeepActivityPrivate: true}, + doer: &user_model.User{ID: 2}, + result: false, + }, { + desc: "admin should see activity", + user: &user_model.User{ID: 1, KeepActivityPrivate: true}, + doer: &user_model.User{ID: 2, IsAdmin: true}, + result: true, + }} + for _, test := range tt { + assert.Equal(t, test.result, activityReadable(test.user, test.doer), test.desc) + } +} + func TestNotifyWatchers(t *testing.T) { assert.NoError(t, unittest.PrepareTestDatabase()) diff --git a/models/user_heatmap_test.go b/models/user_heatmap_test.go index 7d2997648..7915363d9 100644 --- a/models/user_heatmap_test.go +++ b/models/user_heatmap_test.go @@ -19,25 +19,40 @@ import ( func TestGetUserHeatmapDataByUser(t *testing.T) { testCases := []struct { + desc string userID int64 doerID int64 CountResult int JSONResult string }{ - // self looks at action in private repo - {2, 2, 1, `[{"timestamp":1603227600,"contributions":1}]`}, - // admin looks at action in private repo - {2, 1, 1, `[{"timestamp":1603227600,"contributions":1}]`}, - // other user looks at action in private repo - {2, 3, 0, `[]`}, - // nobody looks at action in private repo - {2, 0, 0, `[]`}, - // collaborator looks at action in private repo - {16, 15, 1, `[{"timestamp":1603267200,"contributions":1}]`}, - // no action action not performed by target user - {3, 3, 0, `[]`}, - // multiple actions performed with two grouped together - {10, 10, 3, `[{"timestamp":1603009800,"contributions":1},{"timestamp":1603010700,"contributions":2}]`}, + { + "self looks at action in private repo", + 2, 2, 1, `[{"timestamp":1603227600,"contributions":1}]`, + }, + { + "admin looks at action in private repo", + 2, 1, 1, `[{"timestamp":1603227600,"contributions":1}]`, + }, + { + "other user looks at action in private repo", + 2, 3, 0, `[]`, + }, + { + "nobody looks at action in private repo", + 2, 0, 0, `[]`, + }, + { + "collaborator looks at action in private repo", + 16, 15, 1, `[{"timestamp":1603267200,"contributions":1}]`, + }, + { + "no action action not performed by target user", + 3, 3, 0, `[]`, + }, + { + "multiple actions performed with two grouped together", + 10, 10, 3, `[{"timestamp":1603009800,"contributions":1},{"timestamp":1603010700,"contributions":2}]`, + }, } // Prepare assert.NoError(t, unittest.PrepareTestDatabase()) @@ -46,7 +61,7 @@ func TestGetUserHeatmapDataByUser(t *testing.T) { timeutil.Set(time.Date(2021, 1, 1, 0, 0, 0, 0, time.UTC)) defer timeutil.Unset() - for i, tc := range testCases { + for _, tc := range testCases { user := unittest.AssertExistsAndLoadBean(t, &user_model.User{ID: tc.userID}).(*user_model.User) doer := &user_model.User{ID: tc.doerID} @@ -74,7 +89,7 @@ func TestGetUserHeatmapDataByUser(t *testing.T) { } assert.NoError(t, err) assert.Len(t, actions, contributions, "invalid action count: did the test data became too old?") - assert.Equal(t, tc.CountResult, contributions, fmt.Sprintf("testcase %d", i)) + assert.Equal(t, tc.CountResult, contributions, fmt.Sprintf("testcase '%s'", tc.desc)) // Test JSON rendering jsonData, err := json.Marshal(heatmap) diff --git a/routers/web/feed/profile.go b/routers/web/feed/profile.go index 1a7f4ad24..4c1eff04a 100644 --- a/routers/web/feed/profile.go +++ b/routers/web/feed/profile.go @@ -23,31 +23,34 @@ func RetrieveFeeds(ctx *context.Context, options models.GetFeedsOptions) []*mode return nil } - userCache := map[int64]*user_model.User{options.RequestedUser.ID: options.RequestedUser} - if ctx.User != nil { - userCache[ctx.User.ID] = ctx.User - } - for _, act := range actions { - if act.ActUser != nil { - userCache[act.ActUserID] = act.ActUser + // TODO: move load repoOwner of act.Repo into models.GetFeeds->loadAttributes() + { + userCache := map[int64]*user_model.User{options.RequestedUser.ID: options.RequestedUser} + if ctx.User != nil { + userCache[ctx.User.ID] = ctx.User + } + for _, act := range actions { + if act.ActUser != nil { + userCache[act.ActUserID] = act.ActUser + } + } + for _, act := range actions { + repoOwner, ok := userCache[act.Repo.OwnerID] + if !ok { + repoOwner, err = user_model.GetUserByID(act.Repo.OwnerID) + if err != nil { + if user_model.IsErrUserNotExist(err) { + continue + } + ctx.ServerError("GetUserByID", err) + return nil + } + userCache[repoOwner.ID] = repoOwner + } + act.Repo.Owner = repoOwner } } - for _, act := range actions { - repoOwner, ok := userCache[act.Repo.OwnerID] - if !ok { - repoOwner, err = user_model.GetUserByID(act.Repo.OwnerID) - if err != nil { - if user_model.IsErrUserNotExist(err) { - continue - } - ctx.ServerError("GetUserByID", err) - return nil - } - userCache[repoOwner.ID] = repoOwner - } - act.Repo.Owner = repoOwner - } return actions } @@ -57,7 +60,7 @@ func ShowUserFeed(ctx *context.Context, ctxUser *user_model.User, formatType str RequestedUser: ctxUser, Actor: ctx.User, IncludePrivate: false, - OnlyPerformedBy: true, + OnlyPerformedBy: !ctxUser.IsOrganization(), IncludeDeleted: false, Date: ctx.FormString("date"), }) diff --git a/routers/web/user/profile.go b/routers/web/user/profile.go index 9c0ce10da..b4198ef8f 100644 --- a/routers/web/user/profile.go +++ b/routers/web/user/profile.go @@ -94,14 +94,11 @@ func Profile(ctx *context.Context) { } if ctxUser.IsOrganization() { - /* - // TODO: enable after rss.RetrieveFeeds() do handle org correctly - // Show Org RSS feed - if len(showFeedType) != 0 { - rss.ShowUserFeed(ctx, ctxUser, showFeedType) - return - } - */ + // Show Org RSS feed + if len(showFeedType) != 0 { + feed.ShowUserFeed(ctx, ctxUser, showFeedType) + return + } org.Home(ctx) return -- 2.40.1 From ba470a85dd657c586aa07bd5bb4010b93aa8dfa9 Mon Sep 17 00:00:00 2001 From: 6543 <6543@obermui.de> Date: Thu, 10 Mar 2022 19:12:10 +0100 Subject: [PATCH 003/226] use xorm builder for models.getReviewers() (#19033) * xorm builder * dedup code --- models/repo.go | 58 ++++++++++++++++++++++---------------------------- 1 file changed, 26 insertions(+), 32 deletions(-) diff --git a/models/repo.go b/models/repo.go index 53199bcca..d20e5f81d 100644 --- a/models/repo.go +++ b/models/repo.go @@ -218,50 +218,44 @@ func getReviewers(ctx context.Context, repo *repo_model.Repository, doerID, post return nil, err } - var users []*user_model.User - e := db.GetEngine(ctx) + cond := builder.And(builder.Neq{"`user`.id": posterID}) if repo.IsPrivate || repo.Owner.Visibility == api.VisibleTypePrivate { // This a private repository: // Anyone who can read the repository is a requestable reviewer - if err := e. - SQL("SELECT * FROM `user` WHERE id in ("+ - "SELECT user_id FROM `access` WHERE repo_id = ? AND mode >= ? AND user_id != ?"+ // private org repos - ") ORDER BY name", - repo.ID, perm.AccessModeRead, - posterID). - Find(&users); err != nil { - return nil, err - } + + cond = cond.And(builder.In("`user`.id", + builder.Select("user_id").From("access").Where( + builder.Eq{"repo_id": repo.ID}. + And(builder.Gte{"mode": perm.AccessModeRead}), + ), + )) if repo.Owner.Type == user_model.UserTypeIndividual && repo.Owner.ID != posterID { // as private *user* repos don't generate an entry in the `access` table, // the owner of a private repo needs to be explicitly added. - users = append(users, repo.Owner) + cond = cond.Or(builder.Eq{"`user`.id": repo.Owner.ID}) } - return users, nil + } else { + // This is a "public" repository: + // Any user that has read access, is a watcher or organization member can be requested to review + cond = cond.And(builder.And(builder.In("`user`.id", + builder.Select("user_id").From("access"). + Where(builder.Eq{"repo_id": repo.ID}. + And(builder.Gte{"mode": perm.AccessModeRead})), + ).Or(builder.In("`user`.id", + builder.Select("user_id").From("watch"). + Where(builder.Eq{"repo_id": repo.ID}. + And(builder.In("mode", repo_model.WatchModeNormal, repo_model.WatchModeAuto))), + ).Or(builder.In("`user`.id", + builder.Select("uid").From("org_user"). + Where(builder.Eq{"org_id": repo.OwnerID}), + ))))) } - // This is a "public" repository: - // Any user that has read access, is a watcher or organization member can be requested to review - if err := e. - SQL("SELECT * FROM `user` WHERE id IN ( "+ - "SELECT user_id FROM `access` WHERE repo_id = ? AND mode >= ? "+ - "UNION "+ - "SELECT user_id FROM `watch` WHERE repo_id = ? AND mode IN (?, ?) "+ - "UNION "+ - "SELECT uid AS user_id FROM `org_user` WHERE org_id = ? "+ - ") AND id != ? ORDER BY name", - repo.ID, perm.AccessModeRead, - repo.ID, repo_model.WatchModeNormal, repo_model.WatchModeAuto, - repo.OwnerID, - posterID). - Find(&users); err != nil { - return nil, err - } - - return users, nil + users := make([]*user_model.User, 0, 8) + return users, db.GetEngine(ctx).Where(cond).OrderBy("name").Find(&users) } // GetReviewers get all users can be requested to review: -- 2.40.1 From a0db075f21e961b687221a8b9ed9defb26d2624e Mon Sep 17 00:00:00 2001 From: zeripath Date: Thu, 10 Mar 2022 20:23:15 +0000 Subject: [PATCH 004/226] If rendering has failed due to a net.OpError stop rendering (attempt 2) (#19049) Unfortunately #18642 does not work because a `*net.OpError` does not implement the `Is` interface to make `errors.Is` work correctly - thus leading to the irritating conclusion that a `*net.OpError` is not a `*net.OpError`. Here we keep the `errors.Is` because presumably this will be fixed at some point in the golang main source code but also we add a simply type cast to also check. Fix #18629 Signed-off-by: Andrew Thornton --- modules/context/context.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/context/context.go b/modules/context/context.go index 6aeeb9e69..8e50e154a 100644 --- a/modules/context/context.go +++ b/modules/context/context.go @@ -269,7 +269,7 @@ func (ctx *Context) ServerError(logMsg string, logErr error) { func (ctx *Context) serverErrorInternal(logMsg string, logErr error) { if logErr != nil { log.ErrorWithSkip(2, "%s: %v", logMsg, logErr) - if errors.Is(logErr, &net.OpError{}) { + if _, ok := logErr.(*net.OpError); ok || errors.Is(logErr, &net.OpError{}) { // This is an error within the underlying connection // and further rendering will not work so just return return -- 2.40.1 From 886b1de94914186a502ed68a6a281a15f1d8d9a3 Mon Sep 17 00:00:00 2001 From: zeripath Date: Thu, 10 Mar 2022 22:04:55 +0000 Subject: [PATCH 005/226] Update the webauthn_credential_id_sequence in Postgres (#19048) * Update the webauthn_credential_id_sequence in Postgres There is (yet) another problem with v210 in that Postgres will silently allow preset ID insertions ... but it will not update the sequence value. This PR simply adds a little step to the end of the v210 migration to update the sequence number. Users who have already migrated who find that they cannot insert new webauthn_credentials into the DB can either run: ```bash gitea doctor recreate-table webauthn_credential ``` or ```bash ./gitea doctor --run=check-db-consistency --fix ``` which will fix the bad sequence. Fix #19012 Signed-off-by: Andrew Thornton --- docs/content/doc/developers/guidelines-backend.md | 14 ++++++++++++-- models/migrations/v210.go | 6 ++++++ 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/docs/content/doc/developers/guidelines-backend.md b/docs/content/doc/developers/guidelines-backend.md index d24946545..1248d4143 100644 --- a/docs/content/doc/developers/guidelines-backend.md +++ b/docs/content/doc/developers/guidelines-backend.md @@ -42,7 +42,7 @@ To maintain understandable code and avoid circular dependencies it is important - `modules/setting`: Store all system configurations read from ini files and has been referenced by everywhere. But they should be used as function parameters when possible. - `modules/git`: Package to interactive with `Git` command line or Gogit package. - `public`: Compiled frontend files (javascript, images, css, etc.) -- `routers`: Handling of server requests. As it uses other Gitea packages to serve the request, other packages (models, modules or services) shall not depend on routers. +- `routers`: Handling of server requests. As it uses other Gitea packages to serve the request, other packages (models, modules or services) must not depend on routers. - `routers/api` Contains routers for `/api/v1` aims to handle RESTful API requests. - `routers/install` Could only respond when system is in INSTALL mode (INSTALL_LOCK=false). - `routers/private` will only be invoked by internal sub commands, especially `serv` and `hooks`. @@ -106,10 +106,20 @@ i.e. `servcies/user`, `models/repository`. Since there are some packages which use the same package name, it is possible that you find packages like `modules/user`, `models/user`, and `services/user`. When these packages are imported in one Go file, it's difficult to know which package we are using and if it's a variable name or an import name. So, we always recommend to use import aliases. To differ from package variables which are commonly in camelCase, just use **snake_case** for import aliases. i.e. `import user_service "code.gitea.io/gitea/services/user"` +### Important Gotchas + +- Never write `x.Update(exemplar)` without an explicit `WHERE` clause: + - This will cause all rows in the table to be updated with the non-zero values of the exemplar - including IDs. + - You should usually write `x.ID(id).Update(exemplar)`. +- If during a migration you are inserting into a table using `x.Insert(exemplar)` where the ID is preset: + - You will need to ``SET IDENTITY_INSERT `table` ON`` for the MSSQL variant (the migration will fail otherwise) + - However, you will also need to update the id sequence for postgres - the migration will silently pass here but later insertions will fail: + ``SELECT setval('table_name_id_seq', COALESCE((SELECT MAX(id)+1 FROM `table_name`), 1), false)`` + ### Future Tasks Currently, we are creating some refactors to do the following things: - Correct that codes which doesn't follow the rules. - There are too many files in `models`, so we are moving some of them into a sub package `models/xxx`. -- Some `modules` sub packages should be moved to `services` because they depends on `models`. \ No newline at end of file +- Some `modules` sub packages should be moved to `services` because they depend on `models`. diff --git a/models/migrations/v210.go b/models/migrations/v210.go index dafe355fe..f32fae77b 100644 --- a/models/migrations/v210.go +++ b/models/migrations/v210.go @@ -174,5 +174,11 @@ func remigrateU2FCredentials(x *xorm.Engine) error { regs = regs[:0] } + if x.Dialect().URI().DBType == schemas.POSTGRES { + if _, err := x.Exec("SELECT setval('webauthn_credential_id_seq', COALESCE((SELECT MAX(id)+1 FROM `webauthn_credential`), 1), false)"); err != nil { + return err + } + } + return nil } -- 2.40.1 From a223bc8765f18e1efc59d5291412d0076dfeaa9b Mon Sep 17 00:00:00 2001 From: zeripath Date: Thu, 10 Mar 2022 22:40:43 +0000 Subject: [PATCH 006/226] Prevent 500 when there is an error during new auth source post (#19041) Fix #19036 Signed-off-by: Andrew Thornton --- routers/web/admin/auths.go | 7 ++----- templates/admin/auth/new.tmpl | 2 +- templates/admin/auth/source/oauth.tmpl | 4 ++-- 3 files changed, 5 insertions(+), 8 deletions(-) diff --git a/routers/web/admin/auths.go b/routers/web/admin/auths.go index a8e0cd37b..4c77a169a 100644 --- a/routers/web/admin/auths.go +++ b/routers/web/admin/auths.go @@ -93,7 +93,7 @@ func NewAuthSource(ctx *context.Context) { ctx.Data["PageIsAdmin"] = true ctx.Data["PageIsAdminAuthentications"] = true - ctx.Data["type"] = auth.LDAP + ctx.Data["type"] = auth.LDAP.Int() ctx.Data["CurrentTypeName"] = auth.Names[auth.LDAP] ctx.Data["CurrentSecurityProtocol"] = ldap.SecurityProtocolNames[ldap.SecurityProtocolUnencrypted] ctx.Data["smtp_auth"] = "PLAIN" @@ -112,7 +112,7 @@ func NewAuthSource(ctx *context.Context) { ctx.Data["SSPIDefaultLanguage"] = "" // only the first as default - ctx.Data["oauth2_provider"] = oauth2providers[0] + ctx.Data["oauth2_provider"] = oauth2providers[0].Name ctx.HTML(http.StatusOK, tplAuthNew) } @@ -253,9 +253,6 @@ func NewAuthSourcePost(ctx *context.Context) { ctx.Data["SSPISeparatorReplacement"] = "_" ctx.Data["SSPIDefaultLanguage"] = "" - // FIXME: most error path to render tplAuthNew will fail and result in 500 - // * template: admin/auth/new:17:68: executing "admin/auth/new" at <.type.Int>: can't evaluate field Int in type interface {} - // * template: admin/auth/source/oauth:5:93: executing "admin/auth/source/oauth" at <.oauth2_provider.Name>: can't evaluate field Name in type interface {} hasTLS := false var config convert.Conversion switch auth.Type(form.Type) { diff --git a/templates/admin/auth/new.tmpl b/templates/admin/auth/new.tmpl index b8e80dbca..9882cde03 100644 --- a/templates/admin/auth/new.tmpl +++ b/templates/admin/auth/new.tmpl @@ -14,7 +14,7 @@