From a143b49492ce586434310ad812a1ead2d32f7304 Mon Sep 17 00:00:00 2001 From: Vstudio LAB <57193516+VstudioLAB@users.noreply.github.com> Date: Sat, 14 Jun 2025 09:38:03 +0200 Subject: [PATCH] Button 3 (#473) --- ESP32_AP-Flasher/data/www/main.css.gz | Bin 3525 -> 3527 bytes ESP32_AP-Flasher/data/www/main.js.gz | Bin 16292 -> 16320 bytes ESP32_AP-Flasher/include/system.h | 1 + ESP32_AP-Flasher/src/contentmanager.cpp | 4 ++-- ESP32_AP-Flasher/wwwroot/main.js | 7 +++++++ 5 files changed, 10 insertions(+), 2 deletions(-) diff --git a/ESP32_AP-Flasher/data/www/main.css.gz b/ESP32_AP-Flasher/data/www/main.css.gz index b445e02402cfa22a18818307386e7cf138c2f2f6..17429326a2c3470d89e799ccf898fef2826018bb 100644 GIT binary patch delta 412 zcmV;N0b~Bf8^;^4HVl85J)4JXrKTiypI8-6gGYt@82dJ!kvbX_2|0fl9;bq_%Te3R zyB^Gir4TxnV`u_t_eGDz1)ZzXy3!&v!h9TiAt6AA=w40|0*m8L4gQtp0zOCw#7Y*aHrU+8bs+ z#&!iJp%uTf^OHIr}NH*~SF#k!3gqY(^J*!Mm;V(|~y1U~?y_8tMZ5re(U70xG_ zq|2x$k0r^qT_m5(8s1CIoZB`&AyG`9g{tW;emSG{=X$j3IUntCKg^>Vovh?RUaJgO z{Nyx4|dJp-!n$aSvrybWL0R++te@xdLsG%sxuJW){02W0@Ht3D5>^B6 z5g8L+;S(-0(;t6xa)RH=wjt*j#V=_)Cnok)PYzQ2Gd01_yr}I)z-`1}?>>d|;U(!Z z>d9kCa&6beC$omPPc!F&jZa9_&u5_mx{F`VX#G(h?Rw6qIo!|hs75Cdd5||L!$m$h z4dTTVke0bTY^SS{tHP6!S3mqE2tf!ZgD>&$4kLKT8Y~jRyZOY@lH&LO0GusC{ggNW E02WlwUjP6A diff --git a/ESP32_AP-Flasher/data/www/main.js.gz b/ESP32_AP-Flasher/data/www/main.js.gz index 40a0ce7774678e50703442c7aac6f1372e82bcb7..12b381cc873261e28846430a98a66cbf68ac0006 100644 GIT binary patch literal 16320 zcmV;xKR>`9iwFn+00002|7~GuZZ2wb0PTI-cH2mj;IsOi{s$Q4Hc6WzDcW+?NS1tL z*{<@oZ)2;bW=5s9K>{RUQv?S9EvZ!eg`JPtm)YN$AJ|{mxa1uPijv)RX7;T6bcx7} zh`dKeMn*;qvsqCFw}ZVP&W4NAWL9?mZIR>`?~`dVEVH~bNM~_V=CyYJ{HH(vX-GJ~ z9Q^g!&u>4xdv@^t&Fc?GFJ3)+3RHT#{`@Cz-W);pR!#PgZ(qED?0!x5>*t4%d%uqM z&qqgZUT*=!gOw0{fY@FMaUUQa)<8Tzc=7Vt(+_Ws4n92p1zURltgf-oU%Y#NBwE}% ze|}iks%J;Pym|N65AP2TUNhv=8pvOs9>LG|&ji6|Gz`Y^DL+(vMLgdkGoIpYfl;Ha;%4g|p90tp_O=*UN48(DsBr}aS zoFv1~ABJf@oF*0I(KIS1NVUFP0{M{5D!5qXV3g%So)k%GP#8=X2L2>lbtV$B zGCIxT#T0O8>hXsxGaG(RO7Ss*b`+B&egVx%qbZhHt>ri=kD_r2i~Gr%~o&;T|Y|7;iMTt zB|b#+4?{r?GB!HpB$+i~O3$Gd(B=Dq{N4FfWV2?=fQq9sLI|X|v0?Bf%%G+~aykkK zuoF$wsAvh`joZzzGtI_X*y^M+sPIomuU-mFhTLVia*`GuwRe?iIZZrZOS`DUhru3f zM#1mDi-e#0!JRvS{E2xjRg*7K9%OUuoulksa+-a?0-$=|Mf2fkJcLOLb+k6kW`p66 zzeK=N_QL-6;Yp(PmR>@)=U^nM1_29st8@b>>kHL-0C_lPcv| zHcM&=zh4Y~ocvZpyI2gysqB}V6;VWAV2Vb=L{fM1#a`!>O=-j#ohc}?j!oQ?4)V<1 zT70f8ebrK++$xE+N~b>xxA9#J!#v1+G_K!@3Y8boO^s{!XC0YqR*1%Z ziA!k7lI%+6=wXWj9%o$y43asnW~8(@ag#cV21S#;n2|Q1x8ihT1tXLYW!9_$<*xj4q3)rG(4c;e%?%CN{w>k)&U-MsQKLL9PF0w_im=i2Whh-K( zw^6r(006QAPJ+jwtRHV(ah}b8CKT?Yc{X26p+QF=Srkp2w7|e->3C9ZHCk6d^ce!F z%B`$2DH~7UygKA2u#nQIPEgvcM$s2sJulPQXY*V)%o8a4*)+i~7%IpXo05S5ThA1^ zDSkI9nG=v^F;}GFB4r>|$RvqkSbOti7W4LHpi^Py^6TD(gUO%>?smn=1={i@fyIMm zKNaSA2U|&2X9yKU=&eK>)cM(MJb+0{%WtM$uxb)}*XA?(Hv7W+h<=J`Tz< zPX~)KX@U0R2|c-Z5i4lei-vhNogQU#aiTDLryj{|A&Fq3i8PwJ>M(VjdN1{gQvGn; zgDnrI6it$)y=2txFwcafohRiYp9O}z9}gZw?p_F-8=<~#mzwh-jLM{KxrARvXHy!k zrF6DX61e={4^%bbpQx#7f(hEH?C(~yVQQR4<`*@GQTJeTmT zJtQsXmYaKTFZg)-k_aqsUlR3Y@R66CTyVzPv9UYAdQY3xNvPy0Dijt*nSp2uO@tL6 zAw)-~0V9}{<-FJlgU3O5RuntkZWy3ShJIm9Sfd~q_bNi@i^OOC$vp=jN?taOb=8{&w&CU9kwvLOSyTsVFvWk$(IB-NCCm+5&MIRLC!_ zO2&hr0K7Uf@c?r@l{D~kU_E&Zb8|5(k&eXWbV_#cE6tpyWjReoROjGPaG%aAl}4x2 z1c1xrGZ_KP*Q$b_r23NDEev#^L_+pI^Sb<+N8E z%Y60WEa-wqT`YB9c4LshTwGB{#I5UAlYVRI9T?qX3*vl8%GzorEzV{tL;=+skde+t zu6_?_`+DD}qLF%Nhk{H#R)Z`OTn)!sN*<>IH`DV}h+I$AQ$fF(w&w<9Zq%IX=zLap z@AcF^HPu2==Hzv?|IMcW+?i!(O%$?tS#JiC*l>{(aFxME^Ay&Q;>zM^fAIDYYHI>i zF~!CtQ8C##`Qq_fXlWZL5*wEZ_=z_H8DJR6AULG7aiZKH<&99S6}qhueI?4rkH>-j z4U)xo!yf)GG}Y8bWpT3PW${Z|!ZG1F90q|t$W?U^&vIA|ssDA6gkf&_i7cn+S+;Q^|_7^ zUBD8k}5x`oq zVU(h2d>Rd*WC7TLuU%Gdjh{X_=Ij%lFE(;qZgKjBF3lR>0Te2Q8CVP01OSJb#dIpy zkA(xAbdLNL&j3?62;v=3Q%lPT+$l`OS0hFJXv0$+!J>E%@EvXtXIFD4XUJOsU~_9% z2rg8cDJ(juiK*uVG{x#kBZ?KOyJ?1ujKw$TexX(d(Y#(EY*f)j;- zVweE*vrK}6w}!?K)g*~oL9_U@NY2Y7pGB(kD?x8e(7|%KAXEOl zCPBSxl42Nda*c_nZ+5X2x2&6E3Cnb#@1XOCNwfR6-sM*N!Lr-NgTFq;5I9r=^huhZfOGv<$8V4i@@b@G5{?~@yW7e(S!46KnB@3ZHxdfK0Z)P1Hx^ERD+vGQV@w zm$N}bf){#5>t#oRh(ry?wd|y6iw&!TF?Y{|l?(6&6{Z9G=xhh%Jxy;3oWM!|8Hd?G z6Bva&^~?1mxvj9{=?Du#6o~8gF=Lc#)(ZSiPscuM6f)=#70{BuwItx^fZeC2Dt_ZF zLUq~f!xpaV!UkN!Ndlz@Hooj)bL3<>jouai48B~mznX*ZbkpxJo+YMD@Is+w62f(L_*0-)(QvYCOBLjX14#5W zD1HL)%YQTz;cHo=z%y$vg)GCENm3Z#ZA5Pv;)SUFqw?|Q*SG!dhafXV)OZVN}@SkqHE(_$=BCeNEL*^^su3@z!u-ICW?9u7=a3^T=H%Wwq z(-_|tT1k9qX(b`rR)2?YQiA2m4$_rzJBak}`%WiP-NNv+3sR zmr%TDL2KH9nrsV_X=IgR^Jp*t@&azzjez^ z9>D*4ayPMVnLXno1(4z_g@S{oI-PrgX@v;;PMGhWHmUk_k1eBP~t#J5K~b(!jQ z(oW^{ZKfZ-|)WzKWu!eX|rw)2?Z=kgBt6PVU z#co`8dTGXee$6Tle;92I2J2N(JW0E8EuSpP5|;WFnm`tKCH(iUYX57i+W*6g(r+H?AhWcKo}~Q1kKOw`2sblkzOfKL^Dyn%#^Q;B{QQCM!@6BX8Vf$}AFxHAG8;a+kvcThJ+R9m5hv75{rcOFcn$!a5!-^R%{rnLo?fiX~m(SBFh?ySK zO5-6(Q(rwhmLB_bxZ-~;|0B>1@l=`&!pt-=GL`g_=T9Xa7$K@a%yh`HFApp43dB=A z)aXIB9Bs5AQDZCW$GUvXG4CAJ2AFLs z9hgxf%V`?c-m&Vow2o;&qQxq%g|UKhDD6v($NIfO*!|>eWhZpMhbc{ z3u2t-G}|p}gO#Pb8c}r^w=hg?OUrtejNHZ6IMo)lx!&q+?cT5ln9(HXbCUi70d+OM zG1tFG$Jy-$*RM-O8C~g>|EJWQ^g>na=gL6!C>kFkFR5Cy5R2J$;oma;FG#2gTFj4VyRAzs>vgpH1adMHJt{~YuxxtG#e(dxB^fUfv@xtzBfN_ zxUX2(X|$+4{=Hbh}h8yO{|hoWDE#gjzf{kJAWd2;G4}9?u)YB5vJjLpShz zu`FIj;sMWS8dmIVl1`JL>A>OJEvwX)elKK$8nOo}g`;#L$&-_>JG5L@_d{vC>mXIGQHs;cgA0+a%*QqYg!m z(I>tgl9+gh4RD_d^`b(c6x7HhZkpDHp7Q8?*XN6o`mVIS##q85A<~<2&4fIH!!^6l zd<1R|b)J=c2kUkrXIRr>y72Wiq*_oZnYDWWIm0*6to@JPM?E>*ZP<|3!WvG@!JZh9 z#BT@LIrcf4{AO`9ZE6=8OXUL&=4Z^e*mBcd;Y8wdazWbf>dwNe5Axr#c3d%JNZJ)_ zPUm)}$!uIsNJ%6utIV3*+cQWJkJIwGSq8p$d4?WA8Xh8WfG3+PlGb!ObO`Bd>*4Zt*MLlmS8NWcX$liyMMG=v2)N}q zAi?uc19jXpXoOom?TW=@z!ivPwYiOk*bc;YY)`IiM!P9G19SX-)K9{7L;)cSpu(1? zY=4)OwbuMyOQyJ9X*JN~NZ}`j2H_lGca*fUH2VcTJFV;&!{nFmg9AUq-L+w#lADvN zZLn(-j3{ur$s=v{qA5H^E*6~zj~~;s1__^$-SOqpe)ay8cRaMVc`iPM10nGx9vd`6 zU>_h()os##9NHH(mbHBfZL?wBOwAL*rqQ^^N`jRSMJ$zbowEz{g+^|GgfIh(U+WY~830?GMlg0iKQ!-e8o}NO#f%YBAg;j=00Yp}5vNHx z$>Nk&RN|F=ODpBq zKPtH!vvKG`RpnxSgxW^W6-9v$g-%HdhxvCJYxZ=L)nB{NfpW<74LKd8iw~Uf2Mmx_ zlvUn*=@(eUY);w5PMqMQ%GJ-D495*$HQwKBw3o&v1Pw^a)!UF9{W`AQ7Tw@b9!~SQ zQWJd@b<*rq=nLPpUrSuNxOK_Hu(NyIuP=a{?7H+({Q6qbNF%I{Xfh|w^4AZlAmr(K zfcpA=DUxcpM2j+0_NbaZzYy{XNQOjmHAg}RbF2)gtJqEW)*1o|7Mv&Zj9&bU`!4$a z{r8~p2FN^n8_km(onUqC&xWiw`kPqfXu2re>vX$$bk-TC_cVg@Q{Ek*jVrDF=fKJsUA8!2k z?5GheTg*oVuo@=GanUeAJn?nZDZ90}pXdVPQr3nv0m5|~RE^cb@5n^*YG?RU1G5XX>Fnx8g59x?$rrsS%| zqRH>q>@@oc+pjZm(P9!&V|GrpxCFlDLhZ*=%}&E=z+!LjHy!opOOMV0rQ72+=@QuMGSd&LcfPk*a zkZ%(AHK`~lK>2noytWik1jiu2iao}fk(xW1p{tCa-@Q1LF6o-G<}HPn;`&K>VlY^ps zbh?!qOtV4L1{WK9-zz(8Z0PfEU+(=4>^XF0YjvU*5cf12Z;sR(MYSp8;i%D;$@T%MFW)4#%-5o~>=KP(bxt$#go1*aT)`X;BA^7M(lC9& z>F1BjfKEOEAAL0abq+wg)#v!EzgVwsR*n7(&hhnoI0h*K`?wR}#6dosoX*P&NC0I+3bMu4!a=qg^pCtLtz2@{~cwesfz06m>LQZMCBdWo{TaZ%E9^-|yzS5Q(1)x`UZlGic+o!_Ubx`Wc-93M>tE<`oL(xkc`Z_!oVoBK*@dPU z0MiSp=dy9E%t~9(UAWtBNOR#ZmeV{tOL7-jWw;n8n4-NMrZJ1xdO(>BX?h`9=HRBxfj0P#fzz-tn%cV+Zg7a zCYH%+{YVz$HBqa)+Do7@phJ?6Q~TjrzWWlvEM^Z3#ji^#q zcdKIWP6M~r#OphF{ndDi*K0JLw7Nu--)n3;*`i>ajc9)Uk@u(m%g?pqPp#g!-u$&4 zypPZu%{RDCRp$%VSv*;FtTN+m;PF_fgYoB!87g5~kNK=GY&~&r!f(q1=}MMe9dkop zWS(~$FbZXsCm-TL!#(kudY@~Yc#Zc)w{o8XsGQ{48HZ`4&{ZFQIy!pG9eOKZ=hmp1 zR=Di&NIK+Il8Ji*#M4LyvGJUYe!lX@fPtN#im!?LSBH77kP+zk~v0Ch|S2T)aHA#Yo%Y45pnHR9fQODOb0Km0Q3|o z&PMDB+c?owi>2J!g3ZGV7Hw-CDTeUi>fMpfV=~^bn1jCf!^)IgoO4#aa5Aj(z2^Vs zD4J!dP>|~vWk04`Y54yLjl&oVMs1r?XEV2Feo3BBiMGpHe`4Oa4bW!A2aYtM}Sn)CC=}^2gkj3 zAfCFYxxld=mD380Ht-hHlbnqSt&*$cJ#Rd5;=do}>Ab|tHzEZS+ZRpp#^uSYv8A!% zt%WDbCsP<;5mU6D)JOAza#sYeWB}$U{JT@+IJiL2NXzJ+$FtJd&cG@cbuIkeH0r)< zhUBaSx8!2H0TJw#c5P$y^`6eS)?4yVLBJ9n;vxP?z_VCPrQ)GE@>N_^`!#%6r= z48w1HeglJi$4R&Ol6W;gn$w$U(|A8l3VQ2KOvLhxv$|DH*9S8BpK}xMU*#R=x=#z% zHPt8gBor^Nc6Ei6FJlMLhu05}_Mpu$R{Vt!Y5*r@pVfZV?=JSWcDm2R*eSvyFUTuG zW0Fkg(xn1J$XM?t5%Z#!T!G-xaz#riU$#_TBng6K?4}$ckRlf4Hlc)t79es*Y!xA9 z$@grgCn$jlQ>F%SMuuW5Q1fh^A~_4@VKkW1<1I6obCu|)`ItoS9W!x|&Z>#Hs?F4m zt2&k0UZ@Q@Sb9(5w0w*&cK80$e|{%VaBR~r$=+6@B^CGUUbfX;xACBp8bRv$N9;66 zy3rxe1l)h5mIlyJd88pbKVa@6nokG%C~RrJ*4C62G<2V}zFoO!7IkI0YFNHu!DKIB zmTWrp)i0v!2A<(U1K+|_7clDGX9WUhv;)BN+T3+56r(We2EXH^Z_}EZ=BTc$g%r*5 z0a7%p$}6Zn1Gr_^xFe+sXNg~{tCngZ>0dP`!%EckkPnHps_~47k^xPvzgj;=QI6OCx_7#dEWhw-kPFLYZlsG0_i)~fhZa864m^4y9(j~DYk9n}p~ zR8Gvgicbz!F`&Z0@WG*#1`>`A)}e7k<+-5p>kiV~*n>E>*R#%}@aqu<45rsdUP(j5 zT#x2#Mk@Akv&ML8>zUpeZFP{Sa~i`bE}adh3s^4fP%DjFbbhyp-O**?F;kUGUds?# zJ(j|eDCW^no6_DQvU9#(0Afagp@If^P)>O6g|+tv{<6iSG`8~mf{`AnD&MqdtHDw{ z+l-Wn1IKTptw|xCPZJ@PU7Zs$HXZnPuINn0QrVKK z3dl6pS2t;_LzoI`QadL^Y|^BfJ4iZ6yHBI9!=ALWa7OL8W`@QusSJEr_bmuSCjnj zk{?L&swqKFvsuQlvLY&&XxKddTX=G>6?Vr!KD5yOZIQwDvVVI^I^%2*ZSnP}J5Bc+ zEyp90F=97w7azX8t)s>nEfF?~ng0fU=0!p1X1=e&ZK0p}E1I#ay@4~vh|fI+ zuRvyc0IYZgYeo=|=Ob>tMBvT;NJw-@*5F|_5Y8oX{tm<*4f6f4)%ldAvu60K;f%q$ zFXWhnDL$3OU+;6#!SwZyi)4|o8O&v1!Wg{dR$9E}AlT&oneV$ffzX?lb%Gl>TYzX* zuZuPOpvmptEXvXh*d8ApFe$@QZDD6fi%Al{n1PrdO<%G-hM;fED6@WT(ogNyxt4Uh z21iLZqnMS0+c2?t%h+kyid!%J%CcOe-ZF-0oV}xi22Y1r zTZjFe&dMJSr_t#=i7DW`Af=YAcqc?lY+pqqum$elrs+UtdU&eoWnh2Lk1pn^sF`U0 zze0w#zFl6UM&s?TsLy!YvUx?LgCu`XPhd&SE}fy`&IY}ON*AisasMQE^az7*^CQ{g zEemd<;2t<|_qD}IlL_wCon=7`t%cw-Eh`>szA^4%LP-KOsMR+}14|DCv};$y*7 zgjtOE`et@O-V-LD+65>13pVY_T39IxfWX%*XP^4eVxeUo%?h-$L?+6>&8;7LaWZZx zvktlRaSS-3r*FYnB^e$?uPp8#bZIrfZ*n+R;6bxdX7ga0j7ksmJS$Rh9&JPe3c8wj zzz~~Ga7Jgs%HG=cl%Jt`nsb(4)fe~I?Th~Re`sfL3!COtqP}Per=7Lkr#nS#-{raP zRC&ZcFPn{iY@SeQPZpNNfFgv_7c#ZEVhMP+6GLFD6AYAr(z0INGnmh5#y+&Tc3Nyb ze3F*>rK>Emh9lms)e+tm{K}_{g!6Rsx&+&1jasHQQ)>dE7Z{NV1w_$|#{udP`@xRX zFp5iy@xTINhN}oT`-~&QCUxJYDi9}1v$=)%*wK(9Z=~7Q zks|=<-aOXTIPs3U(T`%05VG=@zY<(dcShM-6Q!?F`fH+Cb8QE&PLtEsd5*W>*L@mKv;i0d$!8S(7Wlp_c3sz{uU=zu%8(A z6Ttoee>8-sfwhp32mAp2{mJm_ue!^K;b+Zlp4{mPPEDGb&F^7eenJh}<6sN>0U3Bx z!U1_jawQI=Dsv0RisIT8upiT`w+1Q;NG*zMtcog;t#yg?R}ks1OT=C|OZ(`7LeP9s zY6(bDgVRHsyUnZ3(g#~Z?*|8;Cqm{7?32&~R`W?8VnV=~jqq|lRygzMbJh{5O+}1{ z4vuVP77$_{f&9tuSOfCwM3H0?x~|y~u-7U9RWwWw7;LeF@xGUKQ~=}rY}1r8Lg*;% zOz%mMb>-Rzm$6lP;aLET17K97hixFb_{rHg32r-XczqiQCtIeIV7F5PvDCc z2g`%@7ZJ&>iy;#wa-N*Rpg{k>XD~^{!F<>=^tmzv_)-r|**D34oo+gs+<<+`_;~x0 zK9@VUFU5V4s4Lop#P4xqZ1&sa;d1#AXaIr$SbjumA2p&|Pag&S>?-_@En(mAgBQ4HZ8SM{hB}|)+(NtqEB=GQL zhb&I;k?v#teg!*EliLdxz|=#CN-e=d#GHatC`)k;KEfxCY-fi+{3q@q?Ac z53W}{#rl=K4u^IsM#s1ej;U+fTt!lb(JxLoIPpv`eVm{)qgxfsmHjFq*XUSH)NPus z!;|&vFj!rO!FB7P`sRQ_uW@yhG%5B22I$b5NzgNDlqXFA>I)4ew_F?o2a86hRTlwu zJw(?GOt=Up{u}Js@mTVhq>C*LjT^p)$=adrba;~D$;Bbw+v4UxJ_M-U%vm=SEx);- z6)6+F^v^_9WROX{@;&%;C=k>#A|9AcqpvlA22np(FM}7(OHn0N)A|YB6pKDLb4!bVaaSUq@-lSa>fv zjpj{C8)WCW3CiEXaTf!TEl~rGghn)6nrckedHmh9s|%7hgTYt~E{N^f0CdjXH3W=5 zQe1F@YYPrWH>PaOuOC{l37L4_0(mVdRw&0LWi}p96F!U<*YOQp?-^Nn_|ivj?dnUX zaSvKa#v0>#H5)u?+96XNyjqhAL%Nx?5P066M(01tP)|<29eJ?dGj1}iSZ`NQ?Nx&~ zI`i+pN=MV)Z1(au>oC!Faiu6ct{-g07IjXYyi|egAolUy}uD9i; zO2|)+b1EYgHgoeSY!GH31x1B&nwIk~Pq+vhUk8o2vCA+KFd|&t*;o4nR52ucsJeDH z2qdwtSF&AwgsYDpVT~uzxOcVMm0YTc*=IPp@oObzb%c`yQaxz`&^G<093olmspd=N;oYvXG12|`MBC8v zti$#37NiRh!_n?En|?{$_~|6AJfSWPP;H5>o1ib6&6ex&&RY)B!DxXBPtj9HH&JlY z2`SPJwtLRg&~=Q1{|*iF&agkQee2F)wcptzVIC|i3urI646r#n1QRTc9njCA6qjr$ zE@=g{s@$U3Vcc*_x4ki1fnAv4(4EMG-h-CX(m8c;B!K4i>tXSB;2kO(1klgHd`^E&^E^t>*Ze!d@kv_@4%_$f==cUv2YRTC zz2Qkf%pe79Y|A(#Pglp$kuyW~2$AGok=XR=wk@0sQ>#@3GzCH#Ee4VuQiT$hc4D)` z&Z@$o(M#KScq)5Q0hq~cvGjHCz8QRi<02pR3QZM8ZkWu=MKr~G6P2tnTauJ~SzSv? zgCMEn6M-on1=gZTe;g(bUjtYB0MkDh#>yz9hP{v;?l9(f+lM#aUX3N6o%(QPo*W%L zLpcFtTzMntLpQQ@xji~;FYB0;nzH_DG_{ddq7%s+vEXZ0hrwV)Syu@*;{Ai;zJ@&4 z*bg99tVriwXZ2=3&*neR+3%`xxr@pF3SzMDVi#9v$?slX#M}%C?l~vM*pIk%RnLm@ z0ar9WjPh7T$`QBM6p^PW^<}WojtKC_?x_&#Fo7jK#bs?PJg%r7dSmz0uKpiiZ~*R@g%o=vfr#DOy8>l)eRRc zg(xD6!9`MzDuRE>1B-QKMP^Q2rQ?wXNx)ZL#6}s?)r34*i+dkBVFKNEl%V#>4F>SJ z3{4!HJ1SpL;&+KH)0|6qB28q!u&)(ajDV^4OuA9=LhE*#;eB@F@8^J4i{0{d9bc4* zCtp^1EeGQYgMJIRz$@J65vqZu;n8Vy-qcrChM{Jc`(Cuf0a3=A48xxSrcx@5-7oB& z!z3BpHLJ7hVkj+`SwaQJ!aA=!k=RsaqZwA;F66=h7vwi}$r3@Ll;<6MgeTs{p3>X@ z^LB92Rz91( z%UCcJt_ge=iy>NRqGykbhUv7=^+o1NHZKf1GMJ=^ubrCtqlm6Wu>3*6g zV^#37!uiDW)LPbORN%P^+DTPl3KnVoM=)^wb5P*;{QT}^Q^x)<>_}u}5$zST8qz>T zGhSo&SiN^>d%_L#pWpzP1Ri;(gCJ#j-smsdx9ErdUo`Z^ znZ7~w+?g>7VYEq3lecC*d04+UoKn>FABAO=DXZ1Uu;f+T#xi`AvuNw&S43P#sH+1v zggfQ`ocl>%@*SVlx{rG-MoIgg+NhFXCk#A8(G>%%Y2iT%x{+KYLdtV=cOX4WHG*Z^ zf+rQK0ey(yfiQ;%SSbidgkyMBscUtO35#Z%D_S6{1X9?{sL}f&y5wQ&r9#(VH&}#a zlkg&lFFn?m!1m(x_qTGnu6^eLBM4j9tUcgR5D{|(@H+qw8oYe=wAuoR@nM?H#&u{x z6LVWDurV^8*=_i&mvUerjC}{w!T^p=N?_sY8i>Hq24BAZh1u1FZ zRCV`*{sTA&;NuE%!?*@IzU=OAJ>1&n7a7-BtMf%pkrSPsji%E;+EigTJL}IKwradk z&84R4imhRq$`A#qV=Ne=ouiC=D?wJ7IvD4T#IM5G$bhH3Ws)3!;Tz>5jSHg`?kj@WERYrkkh5SU<3f z<|z&%q;=Byu1<`}ekh%5H-Eo&(7zu#99NFHIJhQWBqD~~<+X>oXwG6I8^^pRH+af( z6FQQ!d~P>VJTf#4g4$wnF6CaM$>^2Nd~HN;ghX3ZJb0=neYF$-wo7_t)}^tFEX=C} z#EF6l$bNgjl10=`mrQJ^<6u;N4Fi^!A^QUyN`DRa&Fn|rh{JCA3zLD9&GJ;;{U|7m zXA6ooWMW~fDZL(3nz?%rRcL#4Fc6chsC~S}kLe7mSg>L8DG9V{4xN=YD_l@L}k@&^Ji@)L)0hPyH1nj*4l%n#j@nm+u?` z*g`QjQozMznFJI2BXr14;QYINDf?=Po+&?i&;|=&#pDim$3R0BSX4fnXD|_o1c8xj z*;-1}c3I0Es{({Aa%%DC1x5iwCGw8j0LsFgT4Xxp`H?BBf=s4qy5IF+m{f0H8X!yE zw%+;eOJ!LQvo`XB$Zf5##<6O!yvb4&snxaO)$)DAWlogqyeFE|CBgq5krU#}T8GRE z2%P}o>2){gb_3Wy@cbIc=lEq7oTgKd9QfPV+%8Z-BfL1n*8O||f-)qT#^k548BO$q zK?(W_lgSWlt7@c0wIGNhi1H-(Ey=UZ0SsMiwB({nl$}g_=xGO}!ViLj_!B0t#?;;r z+?H@g4Yu}f0J9joYq@#*lKKRHKr5Dk;mtsKDX9A7PQ?5EgISDGF~qY49^C6c_p)PZ zT<`VP`ncZLSbOrx1#RsTguD6%uc>Tu0%9#{zK2paH37lYy#5$&H$RfIu}vYnl3^ss zDkmRNSWiXVPZ~;?(&Ho>W~9tSZ9;_aay*vLPGA?y=7%Il4wcX`BJl8mr~?!8lw!&53WEee?x1ED?x0sf-p7H=LH!#sS$^!RaH1Seu}G3 zW@_$jKgw4cYLGU8S$9xXw0WA8Nk$JfzHD`QcplT7x_wDCUEZM+!`@c!&NP~h7tuJ` zOJ;YN9q*x7_0cq2iC0@#;*pL{-W;{O;GIo0xwZSPEYj*6$jDMa@xDSR_U<>>gW{WSW`zg+=r#eGoTaav;$d=>fjd zgSAm!{L{=KE+fm!dFJ73!k-IOT?X{I27^<$kerr_IJqXj)A-qJtO$H_{-=sT@&31L zmh7&z?wmC&qk~}z1`C4)tq;AXMW_@@Dh3mlJ{2v+CTU?XFWBcu_mhvQU4_)b;$5Be zw64k#R*UkJ-&jZ}^N9u40w>b+qA5ylQ%Pbb$(Bej?RKLvzV>2%gsAAjX&@PiiVluXKMfXA$lhC;=vs|relS>7yLdE&yzreVwprH~RX3eYQom=|^#6FeO%wSb)`?|G%?1Uq*G>!`4v_(@}q z#0+|9W~j>>sq~th9qDNDHhDW7ySd0dKB7>A`?oLa=qYy0AxU72A9We$0h`eg;Q88M}{{I||?c zhaI^Jt$MWsW8|x~Ud-`;Cc+q5=2O~9Avy-Mf*CzkR~|K8;Bs*rPww3->a1M4Rn+a>S*Q@(W?FTAYhFp@4ARA$8AbHs;?sjkouD&c8bhDjTs|@pfg_*q-7K-)w%Hu1fGPkbfhf4DAd=0-FRVXiU%bELAJ|{mxa7UEK#s5DSl8xf zN58yz_ty{a4-Z~5r%4%<(fH_Mo)qx?a=FXjqWNJq8>M6O z8^Aq%B0q2q^E~;ICTG9E>}6+2;P}LtyJ%jNQJLW9KmTdtGN4~OL70t3({z@!gZVUx ziX=FT(z4U(gzaFMO|u*!@@O_r;6nVx)Q2!TFPG@PU8Y7#No<`&39~a3Yk!u(id|JHCvtd#cIAD9h zD4G_DC@PZtOOluAX%eTSk>E&JFptt%`7(>*B$g;`{`h{9ojFv7Q63LzpNS7y8J%YF zVhT94^!SIYGaG(RO7UX^{U|0$`~td@MpLY@+RAZK9!294HusZ7abXn7eop~SZS+}k z7Cid`{I?nE?;$edGuq#sD2}Q8Wm=TUEXgf6Xz^k;EYoZjG+V(X4E-o6hm&Rqjrb7F zKMVyqDA?$flVsL}B|V2$z>x0;^6$>4BAYc^22>oC5kervjSYh@VF7goKBuFA06Wn% zjf$24-niWiJJW2Og{@9Hg9iU}^y;O+WXN5HD<^5uQ72QGmea%owzR7{d>HJ(Q4{?B zyZG=^Ke%%zkbh!XOSR-nln2=yN9QPemz-u_umWh_chP(}8V_O7LL03kvDskw<1Z1g zl)bS3eR$Gni3VdMY;vs%wVb{mPSR=Y!g~8NiHhgA=8~M-t_QJki~yTul*3%^F;gs~ z0k)@8lo!*a6Q{*|8sQ3S45qM58+A22dHD>f_sl8cRu6#TwL0@ChbefS#YvU&ESn{@ zgx@a)KTdwDpIV!>ZWhR8J#64ijGa(lMeFC-CBHZ zE&ZycK&4d@Yt>HwDBQ+(F--Fy0~Ylj3Km7<+t9dvFDg`Cz%VtgJ)U)BuGt`(_a$zj zCCjNRnWKj-3V2*~5im&RxSEmD=EOtlC>j(^`o)a20nG)<}^2UNThG=h8lXG@R)iR%RnMGl;?xtPbeMQ}*k!B(%=V;HW;tw!`3h9-k4r_asC zGpeQ07IknH(G*ViX7~b*=vjl$$)J07cGj&JdUxeF|$G^z`f4y#f01$WQOboSZQ+J<=obw8UX_zR{Aip8O1Ai&WxMQ)0} z8W#;zl-UY>EPy~0oLUVz>d`V#QU>(pq zQcayNw)OD7MfF4#=)T*lo(DnVdHHRG-B98hHH6a{wAz3v;UTShgBry~T^l(CjAc3N^ z)Y8iV%ET6Wa`7To&~O$F^K3dj%H~3&Fh{2z$?YMDV4{mOo4V<+bewiC^^Q{GaNL6< z50?}zlBK<6)afwKgruD(I@>d7p^ zej-76gfT(S0hP_kC?t<1ImV{k7oH^p(IC;yBn~xmT1EYoNq8#2Nkkb5D~glBVhjR5 z83mJAPMp~WJ}8kZ7{?sSionAwg~Tbu9xPDu{U7h&yhio1s1m|<01(o7Rg8UA>(Vxx zX^cuFHb|%|u(`BN0=Ng6xTc4tsgErUDXo%gqU-|vb|U{=zZ7f401X^ZsR_wNo~)zKD+%b-GjX*Dt) z1O?#Lk%S?5bp9Aa3V_2JuS&4KcE`O)b4t}MZ)3hw7$%xtQ&$J2W+Bw=$CExZ9)sP@7iarMJ?1hq?ul0jOqc{C39pa1;wxsJ_e_3&QL z>{HV$BxNpM*ZSXl3c#INcGg58i?{V=Ac+kZIRRH0Y&1_{4=JuJRQrRshtOIRpo%FD zCW(rl4b2zTYhk5rph#?7Cg4xJ5y$|;_zZ$WN(U#(4N~3+)n1|73Ncoqe*Ez`(0_wu z@!hb8{}-BOYNN5ZSn{&?B`rZscn-=S&CyF^5EbyvBg2e*eMUcG|k4)2`H6D@hHfS&>{JsC_g9H3W}=WwX39%;IGE zkt;2d5=~UuqHGFrt{rSk``pqi+N$$oZ~^)N4*`xP{S5Z^U}JrM|N949KlC3!VZfjF zWO>&t?v&Z{^gM~1{T527!H-YET~ZX(>>ETM{ILD~!y1ZQ=8}80id=2$Jni~iM~E(9 z6cPRx5$G>Jj<~g{K{9bPOxUw13T=cwRc6Q(8bM$@$n)qz-1NZ;ZL%bsu!$moy=22E zL(}*)8bZwiumit#*|;@+`sA34PjtCB$Z@;H=@+^*YkUV#XcT5(EnpJ>C^L)cRPG-O z2RP{*`77!GQ&0r)4ydW6Wd!aNrs1oRqJ6aCsg7V#ya)IWcZiFtrIRz{Eda2&wJQV{ zYRwcj9kj%>a{`)T^<)vn2Gw4$$!^P$6f)o|=oJn_e|y^)1!=UBCUj#ziz&f{!ay-B z0Q$2`f`hk)#ShISiP=E2`m{*S%OsygYVa#l1%EUG94_Z1H(Kx|jRK&9^>Rg~{CQ1+ z`qU)DFy7=E3s2wdVlQr4H^&l|>A={*;182#_iw$+t@eXuw~dOwR$~Ypnt}GO?%y6f zc=&y{Wt|j2Bu>XEs@ks?r-LMCHSq;7ZN@DY1CUyq586S$)eg3R8{G+d=Uby)g9gki zs`~F?b+~B;e!>UB7rv zno)5v8wS=jpEUCiqv?_4+$N(_#!ocZ1`)YMX|I!}U5%W3vqhk*O13OrE{spcN_LBI zR(qzHM5l`;RcVV$pk)hF#x$7SWd?(5wBd0gQG>r4KTkj=Ti_w;BXX9;AVEZ;j^kc-zG;sQYk;wI&xDm5@CFSgg?)6k1M;4xw**dLeE=DU*+3H* zh1B}x{*l~P`0;dv2O$c?b?2Bd%Qbri{!UNFK5rCq=nxIilE1YjKy|?3Q%ehF(qT&yi_}8oeMYJ;i-sux( zPOI6H)+9E9q7ea|Ck|!aZ^9+ z_3&B(t$+Q8+q-lz5w`sB(xL(^@}H~**DQuS873)+u?^QOD4VytCN?joY#t5Ml5SSF zLa`Lq5=%X&200F+!4_2}5Rl@tC{M`v5Z<^^y{k}b4j-|2J)-;!I1M}2pd$M4`~LR* zt$xp11qKK#gZurhhg;kCAL=Eqylc#+o3CF& z^`Zx@wN;q#fvG$nWOO~bi!onBo*RC`<2tU|WrZP;K$m=+meuizJz$+S2oD<$4n~wzwlT10iWu?9Sl;6ieZ&fpn`* zCO`%a1o%#&rNCs%RU50#uE3r}pOXcMTTzjj@cj85eXigbt8CA+^(*khNd#+mY5)%> z6(B>9(Qx|Xs&N$WK(1a;RV$Hz9>8#q^K3DT$#6TO|H9oXY$;oPQ$V%Wi_QGjtv7i9 z|0fuCah3wPps93j-_$63!Vq7~cwR;A@EJUS3I4oW2Z`^AcIpb%i=&;2M&q(7(fbO& z9Ko=$<$3QSnNG8_{pV>8939`cJnCZUepo}iW}pVWxHnLi_0_$@=Uq2$JG~9#5x-^= zhd+$A27~pQC?1jBxRp;9WeMAN3*8zEyypFTH?{w@P3`{yO@00R@W#!=M}L3!X*XZ# zeaqeTIw{Yx{BuwYquI^&7v5XNYwj=gg7C&&_ytX*aW>{>bGNS9*0>kJ|E!sz5 z+Y8+5lq7U<2Xo#Hn9%)~Q26fPpe)3u&NG@p;(VUAq#q?+$&B zghIZgK#Xo*g>cf;9>`)qq_dK~4z&EueJ7?@2$HqnGrz3|+Rwk~-U2xdZw3BVn?e<$ z+D}=vgP`@j9l$@yxnUv28Z8i1l5SaFI($oN83Swpva9Y%%c{2E*igI%m8%+e)3##T z%D&SjSUTx2X;Keh3@iSw^yiPTXy@;{{d^zbr90dvZ9==EoOg>nynTp#Q+HU3-;I28sWozbRQ;9 zWE64PmDq3!Ok?<8_Oo4+ptn6MHFQIL^62MS8ep-hoin3EmeVxcqGe-SeES}aGsA$l zX7iQl`ZPK(rb#kqA8j0{9*nBhJL70E-&5W|wW%uL-qUBb{&<~3tMOgZOW@Fwm6^Lw ztU8C?RF}VE!RD4$$ZFu#657}6tbVwv7O+NVyLL#f(!aG=&9Y)6SaHdy30^g?b!#{D zjG*alY}|>@GW2SPX%REHbWA37OU_kJue3nbNI@@VL5%C1R=agAzp{4Mbg1-O3&S)^ zw5<2L$X#sHOl?)0>+Rmw?hQwP8BKCNC+RN`P*?LCbN_pcf!%I!{kBxBwv|!&f66XM zPdUYTt~@!9qVXZ}lB(MWv6x*K{w?z#2i)XJ6_l6R*%LTr9TfBIt)K`2*KL%+IHfR! zXv1j|<*?Jy2dMTzpW}yzc;c~x>#0DGT!epL{ky{k3!{T_W=K5)*3?BE{LAxnl-ks& z`UbM^AHPRi^L0HvTaCX&vtbeoTe(^YeD{s;z4>{=eeStV*ZP0|zEM@p)>n3>+ogIr z9!n76`rYBT#^P0WoJO!h=&}gPc-q128Yj>c6NH9_7gw;c)vg#D}%KGL&Ftl%pj|4V;N;k=`s zRv!0G^f?J_lYUYB7;aCZn4wW*FS0!GFm&_DEh)dk&z*NK@bac4$$mm@RmCuxM}u?< zr$tiOk`~4};qh*)4CxV$rpbA@TZ8C!$uRrZp~yM<#MdYi6EAxK?o*+j9tf0zI+?^x z(=E?aAL(~}zCoxTN;|xYB|H)$J-*gV$RjvhbNI~H(&kj>S;?1`?htZ;wJfF!-&n&} z3o0f5Zx0|B_!gRV{?S9CCx^QY8`9cX!-+ZB69ba??I1hHF-PCnERLp49ZO=Vf~CRw zjQP4(9=a={EqqQc$ogG9S$OwB`CGP*D~1f8b_JW$rJZRq8%vnBWT3{u47 zw0v&Xfe%BTVd#v8hX^R}xV+spAk*R%`weQE!dF(&(AGNwZaI-UP#2aGR%NmY58<03HMFPHZ7@TYv@plimHU$PD@(9eY45unVwGj;PbBl zINCIVar*h8`Fzs|_CY9CjF19x4}Jg`fTn>sP0C3Y?*!r7H}8)^3Ysv;;)@-%%!LBI zQcx^m;duo`^OXp_W%ou^vVu1~b7D4$=jbhMlwV&}at~%h=|WTGVt$0yM$Z*RfiG%K zNeYMccN%NkT#T69!Ke?O2lkVITlTv;OoQH?}3a6 z2VXVc-)y#*#vue9NXpg6kevNGuH6>H;7}e;^SLq;eHC@G>{RHBAg*6aT*iWR$-}gB z9NDk0fTGd5^ill!TGB`(tj=gMC(H8JPpTl~8G3;F`f(|e>aawMGEe@dWvfUV% zVUeScpNK=#?dH*0XPlOk#b8k+xj3^y2|n$jNrUL$3&QSc1o~6n9i+1;2gSb&Y`zQ2 z8xCGL7z<=0qEaADOr~p>eBsnfRCWyDNjyYww z7WWffU|h=9kR?FGIKxJk{0s@TED%r7(Vd^#H65PqJUVGvuW4FJ8S7)g&oH6+VI&Vl ztcGIp>`^0*dnd=D)|2Cqe9TXzYRO=G&1m>@*6E2!-(fDa9hfA$6ZE z;;YT-o67zDVA~i_t#xWz^g>5H!MSooKj2I%Y+*NBF)9sF_Mzdys~MmMeD}dGmC%aK z6jn@KcipVGMrnT9{CLO&L%Z@qqKJ6E05TPsh=MnNbz$kjeInY0HE{zvA6cbS zp*lg|eV$Geu~21HE?$~qIlynsvA~u*LIMPg;e~vYxUWe?K>^CQW8t;6h$=W(KQ`*(EGf>A|(4c|5l2#haWI70l9Y)L@zonl`vN*!y1DVPiw2u9Hac-{IFV|DoS(D^D_ZscX z2vb}iq?oUKg`CoOM^uA@w;-jSJ;n=ZeYGp%8X1NnG3YAAipMCU!r!tCEGkG~#r~2E z<}es=08gh-3oT>zr&e(=`D?RfYK6wAtnFz)p3A1Q!3-AFYnIYMBz^kg;N_birChqg zFt)6EO86twA4P+@fYD|MZ4tes=#SA{eOQqeWZm0r zzZFcgF?2R-uvQDwH1ROwaHysb(J#v>TZDVxT}c;Wz+z4b7gRigs{-pZ6fO#uOn$3H z9841zV=zq&IFaW9_!$Vf<4HM#T^u?XQ@$CrG0IU{j{$|AI-=Qlfx%W?^5VOTffxO= z;e`t>oo8KevHyh~#~GzEo7W6_`VAtrv)iRm3dPIE(RVRNUA8K z)9TEbg|3v`P&kCf7nOIAfr+%cUr z>Fd>WDTPjjvUFUsk`cH;8a3O!b%XegXT>32ba=xRR^TkmU!FaA{_^1cPamGV{P~?a z-|f5!s%^X0Z8@{Gb?$|)ckyCcD62fV<~D}8r-@~c9M4D^b(xbL-7t+rj$?!?t{b>r|y*u+8GhDz(Z?Oo8gL zFbCtGFJ@?jX+36LU-)|B*@VBXP@OATc6H7Tdy%Q{HeeRYEKfefgNCc|ns%RSXuQUI zqg%Pp08~!$?2PjnQjVvOKOG&t~?Oe3D3o?J-b7ZiBI=|tWl?M)m;y6xmYJW%^r8{yuQOgF(o?me6iKbf zQy-q^*(t@lS-I-OW!KXu0!w74n7)S}(0%kYdQm2z$P-XQY4|3N^iIT2d|_(jR6_fhUHhY_Aa~PJ3rsX=NsCVWIknfHq z(lPo`oj75Z^%g>#t=K+K(0qIB7>5+uHhHbJgT}A0H&5`w5@oy{)SU6vE-j5NrF@fV zlfGt;VzW4|t>_ddlaqt?|M%^Gmwihepr?Vjy3K87Z(_$CK`B5)Psc%*M&k5zo?#80 zE|kIIc>HA#Tcux<5pf-U9J8qXOp2E_0D7tvx)FzrHZ+=QwNzSLv8lXZ)wb1%jR5yEtT}<`=P;_R{O0Oj^r{X?P^B|gYq#& zOl=43LxxuX$1;ccF$14;1W4t(#QFXA;JDWg#8Vfw7C0%Q3R;0-`QPIABxh$rtL7?s z&l^u%`0s~#Ixq3^jYz@5_N86CaeeY?Y-#LxYvYOf$rT1z#1y?JwQ62a>543m48R

VLBJ9n;vxP?z_;N(}&)GE@>N_^`!#%6r=48!kyeglVmCz`eSl6W;gn$w$U(|JEm z3VQ2KOvH+ev$|JJH&`$QYI8r{zbZP;b)Ocj>#9%TNhq;g?d}SxTn5>vAKo}TI@C17 zScwWkXaQ)~vkV(-^BIZRcg#tmyICgAZSvowH)Dk2T}`2lkmX>U3( zMqx__fVP&bprOaC_3i3Kx2P-YRnzhfD<*#dvt~2;t$q<*H}MP?8u%8bx`0vdJ}VHo zq8$KU*XF5fp%|6XF!%!}eVg9YbVm(kEu`p{50KJ6RbD~u8Ne;O#T_YCI9vQ$L$y>J zN&i)&8CKGhhpZ&hu0|aZB?DS|JE5Ji-13mBav<)9&1>-5!~TA4ZbLE=AA`Q2_iFzb zRXO49>)z=;vI3~9NiM9|vXQP<1$WD*v@9R0)VL8cRFT$vjBH;3NY< zYieJ)E&Q88JQ}Xw45A%muG%$+-z*Rw)98BJ!vJyQc)b}`Ct(F~gT_`ZYpUB+l}rM) zXj(b9rheT$xvbqM<0SKKiB(d76I)PG(6h#Hw#0_6Xqb=~pEKc;#cVVRefw90$s!6V z1?H*>dAkNoy`bh}ek~T-)IxI0ca?BAU$IK(vgLDY>`8L;mQbZ0(NysZJq263{*l)&K>2$$xC6FE7};CO&zl`^EH}1i$jhULK#x(l;1f0qKthmnwSu1 ztSFH(v)x-4tyPJq;Al%G^4v<(ju-Pj8`TX=R8DfYN=yzmF`&V~h{2(a1`>`G>(Ee9 zc`c~&Iz^g0dl1L=e%57_r#!;Uy7c1;S%z;@w)T4~%O{oNvVN7sdFrmB~smLaryEQK>s%%h=prM*RD=X|{Y#Ec3<1r73` zT<|;!Yo87L%NCQ;*edf2MtY{IeAA+>CQI>bGo>U>9KVgW7KL~|O@vf&bxp`5f}}=L z5Ks8$QSbo%xp&X7BBg3L{T9D~qp139eu%{Q{cknKzR`s$?gszB*-C&Xjq?PvD-xjY zf89vyCp~02SlAnEDz#@W@Q&iOdgSy+WD@ailwy+Q<#bV+5&GQM=%S!E0)c#` z>KeTr6g&h&$=F1%{9|)vyY`)Ctvjji7;J^R*XY~oMt^Nv`rfuY$9SjBSq2S>i`E~| zjQh3CNU$a2NmgJuzgugyg_pOuqB9vwzoj=$&zZGAn7c& zHFc(u^80<+BtQdBA!s>q1q@dW5r(fFqy?y9ro)8{&?ijJI$ob{o0}KMC=#)Bt@JV& zSkO%|b7|+eY2PeUj<`*xRFT|HGZ%5=QpJ0dy#S^I{VfmTPjFhzO5{Eu%Z|z`RHbiCJ44cP)3s3H~!tNNz zhZfquEiyP>_HS>=V4Mx2Eq*=fPSgEH%ZZ3&%-GHQ#mcw0chotfC!$4eQ~nO)dPU7{ z^rqz87rd!+x2psu3D?1`u9t|VCqC3Ni$4-Y9hUL?<3ggUQ(T!#84V*DYtoIna0-5Onu;LZ089_jvkGS^|fe-&9A<-dOgNNBb zxRxmRI}m#`$oIom=Tnx>n&GcTFb3cRauq+JL01QCS_P^Eu0K#F-hVV zGZ6Em=}Y#<5cG`|Wwx(P_Nm>v(30-Z;4JBG6q9sRnq1#^2@dCyG>APmF2Q|b(BsZv zQOHEwYt7R2y2ZRhYFp?h;5OAx!^pZD!mZ9 zFwgjt#b|^X3k=`^eG=*-=l#l~vqNf`C~S)kwF9Z};%FHU5v%LA#*x#GS;ywvhKbEb z#!kaF+>Vi@yc}Zf9rklND}OkgMyK;6rp)Yul-jo9oe*uYeU**C z7Px<#rUO~%;i+bnf&D!{x>%>8WupK83I*Exc6p5!jkmv|J>zZ5=M|j}lKeeAfh9A$ z42Fs)8;lkjU8qsV{gdF)Bg|6Gk7SRxEVzk+d*Hy`*B&QLCb(Cp%YqnM3&A=q8y&d5 zE67Z)Bty;HKEdqZ_tlBs?FOI+!2afup-{vy;ApwTs0FYztrx_IPZ~B?c^CfVRc=rA zkK0Z8?v1u?Q;&PAO`WFyow!=@v0y5~Ek^wMW`00k4U@HY!AbstUAwXs))xgp;A_^i zPh)7Y&@zu^1^QVc6J_A$)(^cn8Ml;Mhur!&2b}uSw_&WBjEJIFR`(COwi@6!Ij9w= zXg11h9!!%_>4BbSMJn{sMl_)8q=^R%u}On71`~Gn*0!hq49(MAviz#CxWDdL^uPZ@ z2ZMXqG?x;MMN0(jtQ|f*DB}1o&-I{675ltwHu|xtq0*TwJc|KE2&FIN*XD{X;5|+Z zfvrw3P!3AVdUMZUKBpD?(Bj%@vGwptTI!dsvdS8cc(>L@cvtW%pD_~j>E?9_w#^o` zOlzjL1Vk?|BNGaUq8pC`v?2C`9cf_{mlorJ1;h+j5pd2KO&FHR3D9z&Wln1~(R5TE zW6cjv?0TA5^ZtIY1&rcO&^zCH-om=>1JR}`+~%_0_f!VI?gm?(t^2#Rm2kVf6$x7R zxt_jNPyYt>^qqQ;RHY;GWA8qFe8`kn6TXjx``g<_N)E%$aD2ZFW2w#jzSZ2a7BVgG zzz1izzf$g+BXm6S!BS}%$@k%Ob(fweQ@O}`T1-jHH=_{=ViOah>b9$8!JE-o;w z>JKh}B?!721t#hKZeS)%&r9B&8s<*$y#YcE{3l^<CAxKNtSEyTxxh7x%r&AyJD0Z5PLv2MnRch-$@6q|&QRlNL_;BvV$%GR1F zeT~vz6UADS8@gELUDA_qZ!eH5YiXIK^jgaZ@*Q3K*uuDb7~ORa>MkyoySQB+2Uh{Y z{_EMRRW63!P1n7TfgA0&II)8L#IThw8wq*94=~=JjJW=4xQrZr*4pO9 zou1&*q?OtH9@gb2w4gl>ws0Jffj1=_kXIyE;=otsZsB-QT)P4GW198$KxG4|O>vD~ zQ6;jqE|LBUBK>uV*gI!ws~#u>%@?JXfD|>*9@;!?UTcfr*%7eUssT+j zOb-}rv4e@Rmv&YFLw~ku$`v7Oly;$46J%Stj=^Odl`1O$+7r~9DZf?G%+19YAch|U z-kP8>%ShTqe}X8kfxDcNPWmVC#fpRFLHmoyWY@)%i4r+aPGM4D{NFQ}q~c(5%6TzX zvH{V=pA|@MMQPPVkZLWBq;w2TzmR3l_lCM(Io)Lq=8Jr?{a6 z2=%)T`KfiC)*Vxm_Cnl`s!~u;Lrk(NS}u(5&OMmbuAjox51QY)a_UwEtc}&v9mWIXy-@|0>RChW( zN%7?35btgAaG)3h)Nkgj8;X|SUC_#uiBbAzqA4=Tq~7@+{JNzp&kFACn(M}Fif`#) zoOL|q32yB*#Awb+qJ?D5$(=iaEFm#Mz6DF90JkbL3`3|Um}$*!ahX28X4BYCe{a?vnUmaU4m(NLLk$bVRyoAHC^=0e+{qO6VajT$!64aBLOAcWp_CgpjBn$xG z4ijcE?g|+@oHKMqvRvOlX~|ebFFB3oP5L&-&hZeGe~Z9f3`D*}4NwV2PPv_Vu-`LoGOb*1S5WO$lQ=r-@4w1G)7fl}@;4hW(RXpBC?c*Osf;rmi$}cZ zQN6WnjMAVMN^F&|217LnOm+BvMQR|z|Ei=Cc~WGHe3%qn(Zr&w+en!%RCXY%Ya&*@ z=A7%q)b|Cdvc`+stp=T4y8>>v6{bqaPflLAdcA2R zEF*T}M152i&0S9+yn~qRJ=6N{(KE)y^2*ZZHGY6uq*_V3q~* ztSC}?7I%S{4e5-W#L(NOoTLSNaRwJ~WFqceZFZ%QYGU;nL2mq3N!c6`B!Ns%ngH}o z|55>wto~HXrSb4?SNWLe@qD6vXnED){&)-01&HD3cbZMVByRq6l2)G3kOpYB#L!JJ z7R_eMjd+;mckw1e%Q^E7lF=it9X$Gj`-5A5H%YgnCk_DqdrEvoKIh5j(4aFs`gjSVX6g!O@9_e;8Mk}!kGaR}TdC+^%QdT;r zEsg}xynZ_@o>q4b(rXXi%a@dP3Ru`;MtS4VBfM?|tcpa4vmLxcWrqOzb1^y;=P zf(uixRR%N#LIo`bk^@qO5}tPAu*1Qs!l2Vj+jw{?M^OQopW9;V>(PBP_yp=At9pf| z3NtrM=H()q;=PIbtT9`XlzdrTOG<+vspAuYDINvZqRDt1CJtW%SH}Rqe=wYtQAiDY zAwAq-%<;AlZ@j%4OFldG;mR^OJ9>rk2as{)ji3+RDAx7%NZDT2F)6iV{nu#fAgyF4 zk|kop*X|C3!HT-B5^Ti#2Pb?DMXs?QK&;r2&b!X)&3>NEf1Y#PRpW9OKmRL;!M=-K z+@U4EdwCIaHzc@6PmFOK@#w1Rit+(hG(L>-SY^r)x7U=BrzrJhu&|B@@W-xJh;5j_ zmY(9awhbOvG!LV(dsQ1s^Rj3qqphQ zO0Xl2$YVUot(fdL8wfM@sz7zq1xq1{$YOGll(UN9zZ8MRy0RiSr>?T`NQWfgD=%WB z4jF1fYS!Z3hcrx}`;I=Sb8>?Ld?7;<$LEgf7nJy2V#{>r5|Ky~IW8P)MOGtV>LZhG zRHD$jgJwjZ-T3y3L70j%mf@5KwSDr|0s=Cn)t8Z6w zVSo$ro4RI+AW_Qm4nD#YZ(~pC?f-c@xM-^?+6JOthjIM7-!5x zokot9VM8bTR)M`F-)RM&ydLF*4vj{?v4XH2ES_iK(|l|$Dl6CN6=pS{Fjna{jW~fd zNkCm2PTL5lXEdNL@ud|?kBltuD6?fO7z(!pein-%dTC;0kBf#Gw9k!2=1Mj%3_3EI zq=~PCn)$Pcu0^mK<4;}y%PHx8nkQpb@v_4C#Pifz)@L-}xk}neO<)QZY5k92;P}r$ zf%Eh8yO&Lw`@`@fk(otwRLp8h1C`BqjniZG*`fUjH%!e<8%eD*RGk&;@4u^eUj>4? z*f!gtKzUzaNo8aBcZGLLsGyRy85dUW5^IxCc*(2wMrCU_>&PHd-56>Ct5(-V!n~TQ zyE|k6Oy3&CPzm+|HRQ(YiH$n)c>Nh|$0rkKdYu;x14s$ZJiqqXJYp71;D#GfW_71T73dkK z2|rCRt|*RgfbJ0i?P{j4Z*kKY{+Gi|HFb&=5PP?J_-tV_D3bgO1}i*G;&e2E4|OX_ zIsog?2J6v#*z3XOsiQiBKGS_cN)|ZP-2I^c02BdyTtQ(N*FeXY-TkeHTig61;~IN) zzQ`$aqBFA5bQ(yXDja5K|GCpv%@?Y<)HGdjG)z;Oq9Apg1w-_6l$mcO$SPL{L*GdJ zCX9^?c*QUwFf2%_c$P1iNxf7skK?=?O=ir`r z+a+90{+YQL@F)%RFD}r(Xv1{1Cn5&H$J>{lW>D#Je*UornL{4b;6mXFRIfYTI;qk1 z)T)_XYku6fM>3o)J~}I8cw>?I%JVX{Zv{FvLxkTjW@GA!*qG{TIQ#l9?1dDrbf?Dw zKsRJK=K2th{@}p}Z&8?To)%;Mz%H7nIF0bFlg@Yb$C&(w(zy=v_iG2^`(eOw6_|^Y zYvM&BV#rfoN0^J|EH<)p%xemRry@6DAUP}Mb|XcVpwP_7{p3wur9>oKL9y9ZIFwpWUQSY$=*<1Kzn zXHdn84VO>pWjtDCNBCp8$dX2HV z2YAS^N5F(ctQhlc4R%K-3FlT~hHx2RPwm1Nvr*Q>1#;DP)qv)Hy=rR;yMAE!B+M{rb@+|d_S#bv9BVNe58_2n36s_3tx#8_vPogfDE8a_0 z@A#EeUYko;#l1;pU#y2U<5!fh@JQql2#sem1V4$2!-r-xCcK-raiBT(`> znUp*~G8I*j$u&)nyPgb_>g`JdWU2esJHLIYJPTsBMt%^btrgxlRtuIl*^1(8b+34> zeBW@J6Xm+-iRN-i@PCge2=QfYKxPGmL4Z(u-3_|k0L~B8Ujz9Zzs!QubPAFK|27V{ z3pCJ(D9&(nKVN{L44+JA@>4jBCi=mk1bu~{$q{U;>ZC=jAc!J}@+9~z$+OJ?OkHgB zVi64uXUD6MkNesiPsdJ>h~HY#rSIRxu9Oa`W~jjS2n%y;ufDGy@f- zpc<1q5%2pCW-(^P5YHBPabhJwl9_kysrn1Qih_$Hs z9!lBN1O!v_#$&kM{7AvZHihg;j*%d%oP0!KJr#LBX)0k!kCSYekuejk2@$@_@pwKv ziCrw8ACeq7RYJ$ez{3hr2Nvcjx2yJ9E9f`hflwsVf~r$&H3IP{8-ZgFu0Se(LvM;J zL2R;uFm=-x1sOT1k%y*LH8?qOimO3pYVK`6%2yg{k~V=^chFR{d76|-Mh`Wx7_8qLOwXq@aNvpdX=_fV|*Xu7S$t351Hr6bLovz8ZpvWYIY zcE6QJT3rAcS*xs2a+s^ey#ivIH{A8g;hv5%6sP@V>H$zVKMz;X7q%Bak(XGg-&?^J ztf3;Wq5Nci5pgIb9Ua5m{o4ilC= z6+Oi!X<;xgIOoXrlaHxig|x!rU7d`yuIdq9i}EMGv5-*a6ANqwE~M#2Q`Fq1n#4+y zJ&{q`?M`EU?Zx~EU&qU=*meHFPoH?5gP%TWRi)|5Ex}nkn3#vLxRv;Y1CQ-VgE8VY zL#XHDTNB^|h7yLW#YofreUlJWsnjf3NR{xSQmC3 z6VwisS->un_q;N4f?Ya-eNBSVkSK_3)JO}GK z8d&I5J(|+m4JTM}_hJ4)aH%8uNHR=e7PG4s_{FXpJAi8Mx*`;-n+h=BpE zWJXWbl}F7GxLn-ElV|seHmlJ8(ud77$vHW3wWAuc6xk%nX2P1|_3H6b=YdL=A-AOC z$g}1k2(X61ZsZn`oBEbZOcoe6X#=+Bdp;`MMglV{sPagw<0TI9-K%&K`N!b1&XQ8n z>HB@-otiSDYX=jf8{)aot1PCN>|1@g){N0Mjmpe2jSii3l${wy8W+rC_`2tG8_VyU z#@l;6=f67)Dm$@TiFReSP5{I`k{rFY+Lpoz_V%E=>Rr~6bBh^Qvl$u;9kHnXuh*NlBqw#{C&#mj7Y>(4d#og^LA amU^PtAv-#IbIzC=$o~ZsJu*d{1pxrXnWTmQ diff --git a/ESP32_AP-Flasher/include/system.h b/ESP32_AP-Flasher/include/system.h index b5862413..47d7da6b 100644 --- a/ESP32_AP-Flasher/include/system.h +++ b/ESP32_AP-Flasher/include/system.h @@ -6,6 +6,7 @@ #define WAKEUP_REASON_NFC 3 #define WAKEUP_REASON_BUTTON1 4 #define WAKEUP_REASON_BUTTON2 5 +#define WAKEUP_REASON_BUTTON3 6 #define WAKEUP_REASON_FAILED_OTA_FW 0xE0 #define WAKEUP_REASON_FIRSTBOOT 0xFC #define WAKEUP_REASON_NETWORK_SCAN 0xFD diff --git a/ESP32_AP-Flasher/src/contentmanager.cpp b/ESP32_AP-Flasher/src/contentmanager.cpp index a5578ed5..1701ef3d 100644 --- a/ESP32_AP-Flasher/src/contentmanager.cpp +++ b/ESP32_AP-Flasher/src/contentmanager.cpp @@ -46,7 +46,7 @@ bool needRedraw(uint8_t contentMode, uint8_t wakeupReason) { // contentmode 26, timestamp - if ((wakeupReason == WAKEUP_REASON_BUTTON1 || wakeupReason == WAKEUP_REASON_BUTTON2) && contentMode == 26) return true; + if ((wakeupReason == WAKEUP_REASON_BUTTON1 || wakeupReason == WAKEUP_REASON_BUTTON2 || wakeupReason == WAKEUP_REASON_BUTTON3) && contentMode == 26) return true; return false; } @@ -2264,7 +2264,7 @@ int getJsonTemplateUrl(String &filename, String URL, time_t fetched, String MAC, http.addHeader("If-Modified-Since", formatHttpDate(fetched)); http.addHeader("X-ESL-MAC", MAC); http.setFollowRedirects(HTTPC_STRICT_FOLLOW_REDIRECTS); - http.setTimeout(5000); + http.setTimeout(20000); const int httpCode = http.GET(); if (httpCode == 200) { drawJsonStream(http.getStream(), filename, taginfo, imageParams); diff --git a/ESP32_AP-Flasher/wwwroot/main.js b/ESP32_AP-Flasher/wwwroot/main.js index dd200f7f..66471bcb 100644 --- a/ESP32_AP-Flasher/wwwroot/main.js +++ b/ESP32_AP-Flasher/wwwroot/main.js @@ -6,6 +6,7 @@ const WAKEUP_REASON_GPIO = 2; const WAKEUP_REASON_NFC = 3; const WAKEUP_REASON_BUTTON1 = 4; const WAKEUP_REASON_BUTTON2 = 5; +const WAKEUP_REASON_BUTTON3 = 6; const WAKEUP_REASON_FAILED_OTA_FW = 0xE0; const WAKEUP_REASON_FIRSTBOOT = 0xFC; const WAKEUP_REASON_NETWORK_SCAN = 0xFD; @@ -394,7 +395,9 @@ function processTags(tagArray) { $('#tag' + tagmac + ' .warningicon').style.display = 'none'; $('#tag' + tagmac).style.background = "#ffffff"; if (element.contentMode == 12 || element.nextcheckin == 3216153600) $('#tag' + tagmac).style.background = "#e4e4e0"; + switch (parseInt(element.wakeupReason)) { + case WAKEUP_REASON_TIMED: break; case WAKEUP_REASON_BOOT: @@ -414,6 +417,10 @@ function processTags(tagArray) { $('#tag' + tagmac + ' .nextcheckin').innerHTML = "Button 2 pressed" $('#tag' + tagmac).style.background = "#c8f1bb"; break; + case WAKEUP_REASON_BUTTON3: + $('#tag' + tagmac + ' .nextcheckin').innerHTML = "Button 3 pressed" + $('#tag' + tagmac).style.background = "#c8f1bb"; + break; case WAKEUP_REASON_NFC: $('#tag' + tagmac + ' .nextcheckin').innerHTML = "NFC wakeup" $('#tag' + tagmac).style.background = "#c8f1bb";