From 0b2aa4587b91e1b4b2e0efe253c5df2845b52b43 Mon Sep 17 00:00:00 2001 From: Connor Fitzgerald Date: Wed, 29 Dec 2021 20:33:42 -0500 Subject: [PATCH] Fix examples --- Cargo.toml | 2 +- examples/cube.rs | 3 ++- examples/custom-texture.rs | 6 +++--- resources/Lenna.jpg | Bin 25730 -> 0 bytes resources/checker.png | Bin 0 -> 4649 bytes resources/cube.wgsl | 1 - 6 files changed, 6 insertions(+), 6 deletions(-) delete mode 100644 resources/Lenna.jpg create mode 100644 resources/checker.png diff --git a/Cargo.toml b/Cargo.toml index 7cd3548..bfe3ed9 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -55,7 +55,7 @@ wgpu = "0.12" bytemuck = { version = "1.4", features = ["derive"] } cgmath = "0.18" env_logger = "0.9" -image = { version = "0.23", default-features = false, features = ["jpeg"] } +image = { version = "0.23", default-features = false, features = ["png"] } imgui-winit-support = { version = "0.8", default-features = false, features = ["winit-26"] } pollster = "0.2" raw-window-handle = "0.4" diff --git a/examples/cube.rs b/examples/cube.rs index 97e10e9..452618c 100644 --- a/examples/cube.rs +++ b/examples/cube.rs @@ -265,6 +265,7 @@ impl Example { }, depth_stencil: None, multisample: wgpu::MultisampleState::default(), + multiview: None, }); // Done @@ -537,7 +538,7 @@ fn main() { // Only render example to example_texture if thw window is not collapsed example.setup_camera(&queue, size); example.render( - &renderer.textures.get(example_texture_id).unwrap().view(), + renderer.textures.get(example_texture_id).unwrap().view(), &device, &queue, ); diff --git a/examples/custom-texture.rs b/examples/custom-texture.rs index 0618db2..6d08c7b 100644 --- a/examples/custom-texture.rs +++ b/examples/custom-texture.rs @@ -106,9 +106,9 @@ fn main() { let mut last_frame = Instant::now(); // Set up Lenna texture - let lenna_bytes = include_bytes!("../resources/Lenna.jpg"); + let lenna_bytes = include_bytes!("../resources/checker.png"); let image = - image::load_from_memory_with_format(lenna_bytes, ImageFormat::Jpeg).expect("invalid image"); + image::load_from_memory_with_format(lenna_bytes, ImageFormat::Png).expect("invalid image"); let image = image.to_bgra8(); let (width, height) = image.dimensions(); let raw_data = image.into_raw(); @@ -200,7 +200,7 @@ fn main() { .size([400.0, 600.0], Condition::FirstUseEver) .build(&ui, || { ui.text("Hello textures!"); - ui.text("Say hello to Lenna.jpg"); + ui.text("Say hello to checker.png"); Image::new(lenna_texture_id, size).build(&ui); }); } diff --git a/resources/Lenna.jpg b/resources/Lenna.jpg deleted file mode 100644 index 9e1df8539966ee8c43ca8b4b475381fb4736913a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 25730 zcmX_nWmFtZ*X5>GAb6zXA~?v3{+GM zJVG2CJRBTC0&Lumz$PFdAtfgzA)uvYV4$Vt{qp4tukioH|3F~SP*Bj&(J;}`F>%o` z&~b4wv9K_4$#8M;aB<1#hzUM|n2wT$oSdA7l97>)j**d@o0FUS|1gB#djMESF!3<) zurSnsPgpRpSTOGc08#(|1|9|m2Jn9Y3-bvM9sz)e^wBDT34noxg@r+YMSw+wg@gTH z$4{_uSXA)XT;C9Is8xSDaR(*f(tKCTtEKIoM#TGKx^;2MfHCf0zifRmsv8DtLE2-!!^YqEhf)GNy0w71KtlnDQ4!8LcnM?Vi?N zFdLmarZB0SyrHjmfrw)|5R(rt0?R9)qm*?pGKS)N0slzePg=ZS`#QHv^WFrXVsw=v zobT@dp4=!v+oCK1+0R3CZFJ|BS3d$Wv+8)eRA=iOL%UB+P#yhWpY3OEWVakNC)Nf+ z=zARnWIdH^hMboa_K&lHryF2x)TERHu_zx>o@@f($PG#>6SttDONEEzBB|Mg2*y0` z0+mf`j7bc$JVU71aGr9K7vuRw+fJU0Z8=PRE4bK`l6r*0wETd6t#`j7?LQRU)`7Fl z!57dYHA0}@OiGkv%IeY--$4>7MA!jjO>T>Z|DfefCqWFAblizAbLrFBb5-M$zWTfX zx8pip|B&V&1%;G>)6pcl9NQ^+_0vD6OyU^L`joW2rIPuPWH?|FAkLFoSQb9gM$NK( zncQ})xse=v^H3c(hO3I${`a$18exw&nJp|^xlFas9uyen8(bTtF+~B20rek z@;5WdkXAJQ!^f`O5j;93 z$Bylqn4Ut^NKp##nGDSp3Hc6Llk^Th_p2^m8TeE15D&)3+;4Onbsj5=Oe}GLE9mD9Vgp^*!w@w_O8nC7AxL}mf33{(cgY2*$ zue0^}8`_GOqNpkksnj%~(lm>3X?qw2N*9G&v3>T&_nN}NDh%sdB7D70^4dmD-bLY1 zbY({ORDAO{a5gUu*D4z2?D*YMSjf;!fTjda5Ybb$N_ByS;g@YkI01c13W!&-A5R0` zWKq1MFa28Z!Irgyh^J8WEsGc;I(E}01fBo)m@qM$OW+r`{u8WhU=NCDwR=eJE9ei1 z!a>sdMi1Z%htSn-Acw=o0;izM%K4Q(JydFPra)}ykocyl-XAPRz zqqIblBj%jZHcZ42B4Hlk?0qRkj-QIVwCs{JmL@?g^R**%Qg6{6;qe-jh0|=I@mk)I zVIop)V;Mh~)eov8{S;;d^HaSCP{O;@rwm?AL;D-^^^Indahgx7D?dy5Utp#eH2_!j|m-|p`}tyE(0d$ z#fzQ&Ku`}amb|%JfdR`QU^jb3FRDebop0s2c8oNycE|mCSKtY(lB(bZGZ%9IV*b?` z3l0aHuNiJL>EXxE<`?bJE17lLdOgokrUY>1SwPU2TlBa2M*!olQ{&0b6g)K=r`6_cHQ)9LmRN;K6V`7-%3qV}>- z`_}#;J-)oLwpF#|xpr(bH$T{GyCo;~*n;C_M3LI(T_Tub z_m6S-hH?BgUWprKHS8JAHh!O#SEbU>AcA-3NQ!b8a-}GJzFq6aE?W(GN*U0cQ;#;Q z6uSqgo^N4|_}cZ}-fBBbkLI&FwlF2!vs5Q3i>@b2jGEe??_!9J73(hso6M-?5NvyD zWp$)Jr!>x~=mYaqEuoA2}yUICAb=hx2a zo@;eeC;#;rGQ_rOYyOpW2a|bbY#<*rPXvN(x`#ax(-6OU`MyB%#lsV$m;B9?IWS+Hedc z&`wyjLEehihox-%($S>4J_Rf*XW&e9i@30eqVEuG`d-@>A)zyhjy4BHfr5!>RI+f? zFZ6>~srdQ;jwy?GOrA;v7x|IaJ!r9=QS2WpGFW`m8tMR(SRVg+;kul^K>NH==a=c`rf*xG{zFmt z&!VIJC{Ln;xt)5Vs(!shr40#DZSjCsz{gAF?5xU6?)Uw(z=i;Os`c_a>_WubLs4D&jr3n4-K>t@(B<9ilE zcJf;{GFCv1nz~n~i=`)Lt`Bu7N3y7A2f67T5WLCpoQL#8CpYSfGKN>ng3=AW_ z&)&0q6O88Xp2D~fj6so*h4j7yyl!qJe1F@Ag}x+Ajq^jv6y(W!S@cttRK8CPw}Bzn5Dv9T@6wWkV@}=hzGFzQ2Y|9%OD6e>v3BDKI2l z5*-=0;h$R6(>y*h)vERqL8!RJAkJ7Y2s>!a$Z+l7R=5SPHKgcXu9WFFOoBE-7svot z3hjKNDjY3Y!`9?-r?gmGtxdoN5^U=D-}@p9|231P^VYlryj2@Mm*{&Di<3zE=UJuS zXUmcY5rMGz+G*xp!G$DbL;|C7z&L_P@Pkt=A!Ep9G~0jH?QmEB%{3GQY11fvz}Jti z)P9nwJ&XL-c*^H^^cke$=p{<*HZK*+FSVZTjQ3*J8(S`3&~~SX^ad|-&k{HI+553f z(J7WwXe|~Gs`ja9;SwcKEGn;eX8GZZ5MR;0CgHk623r>EL~>>|k6q`WY9eKrL4Z`< zv>U#BZ!^I`mL9%bm87?KTSgRw`}wz7p99#DY66aagV{(vWFjPikW--sLEctBz(Rc` z#-hz0EA-3#H428=yiJrnT|2j;G`q67s(ZaIsLe%6)1#&l9gfQ;5HngqcD|(-Jj1TbNzlaHAB!#l2eR&mPbQoUCj(RUGvX~fh7Blmk4U1 zQiL^4fFH%b1gKVe;A`V}*^!V$ciyN4uGAJ%s^K-ZbKC!V0_lhU?|0^=J#&P$2(kL+@F#fy-{8Fsp>x&^hpJnHHZJAar6zPjqUkUxIOLGao~w5N>TBxHZx9A2do zs0D^4i5K4icrzmj0x7G-n(7bLpR`9GX`9EBn)sU~ds`ecXB?b^DKCG|6OzCIc1Fj1 zG9~;CsH}Kv%?i{%kF5$A5e9*beoc`2j#Xw$uwIco0PRm2(tjYN)+f%Jbym<1+?Y8% zSJdqO-uJg97<~s^_C{)VXZXW%E;l_EHx}$9E$GvL5SdOL!bzS#J_j8cJ+jOD8YSrl zt60PD0E*l1!KTp4t8mMRN`$wR{kL_ics2yzKu_K5;G0)L1*c}Q4Gx-D%u$Act=guZ zqx?AyS=m^z4z6yjd%Zt=C_EEZ4237ag6Ww#EuFo11GHU>g##>}SKN_(MJ?ERCyFid zqcbMzm{9tM%-Nr(hbMo)typULD>S7g+xfN8x>ZCB>|!3ws`0`!0JnF5AMUp=e~v{6 z68mMu#c5yL|3OI}Ien?P#GmLvUBH%6KH(q}LrG>!>?h!d7`gHu@+l-{iToQeOfWl;-5EO!^IJ1T9a%aj=ean~ z#pXAP6E=7d4Ie)to!7=)%yPb>`s=;yM2$!QHc5})#j$tgg(p5~VRd1g+N=#@!T5hM zf5o}RMtkK*kXz&wt~ak@unl)m6tOPglV=X0v&R;BCBS79C)=Q#<7>S?AxoScV`Ve8 zd8g_iN97V_3&n~ci16n<^<&HF_Qm7`2;7}NhFGb?h5&^KlaLnpNH@@_-r=dFQH{UL zqgC55<;19Xg(-tBMifOkHm`57nJU}DIN!j2>FTX|HpA8@eS*DWK5*$4J{jaLb3Ie0b1S+7_l87CpfVt*xr_GHD+>5l+*Ea8DL&`u)R3?xasl^ z7?I;WF%slV=0(j5y4LW7CGp(>UmI$xq^ec;Nj%X1CI8By^ET&dCjK973OnXO%G9t_)R8DXcQzThla)((*&_g z#;Jc&U}S=ev%+rijBJb)yM2aS1h*x=vY3ly@|1TjHB7ZG_`H4lu_mC%_oO1J@V= z7rd?SRSpwXQ{&m6VG1xW37L9{+AP25ZUz2LOWR;;)hIE<;#aD~ucWMYYOChQN|)yf z5&vRQt;xnX?jJOSW&+Ln6;9E}q}~Qw798`Cs9)~@CDH3gq+!u}bJPAykw+%g+Lo@b zgPm<9emlK2_^`##dt_l3X#W^EXjhL^!=6E8R4&r1`qip$B?&{s{4NYK0vDL~jV)Gd zTY;;3qp+4KUq`MPlqvD6!iQp$Cw&I6jO4OL$i%_Tvpf%_`galN&`i;d)G5kobqV>I zoiwE%S#odTlSwZ?KKdR>L67HaDN;Lj`>v7f!>B(#9nxzpV9B1H)<3YRZ`9)ByWp>6 zTihr$6sQtZ-SdjH`~&_pgNaxo$u(H{_A48~yDg8;;4gLtmXF=nU(I9VPaW$G{Izdx z4IcGLg3Zp6AMBr>XtZ>3XFbs$^?KXxC{nY1J7?4HJDc5>{^}NI_&hTHg{g*6os;!k zQQYMto?gUZieMZxtH#ncg@*p>wR75UcL_qL;7cY-M78f)=a}=xjAjT4vx_4T#FtJ# z{t4tL?8k-_t~Hm*LL&z5jlF=fTaxKA|M(j2RW=6w4a7mT=rMu3f2=mq@k`AKNU>M0 z8%W`#<@Mt=fLA>@!`~AT8_0re2cWge%EnMTX1f zWi%U>vYVJwwSy8g?UD{A3>zJn|~eZ!Gr3d$G>&Sp=*9U7@Nrbe{F= z!HM zQOYl#`UGw>&}~7P+MWdFjPAMk8;kecd8kOzgd;TO18D8y{1L+zlZ0_>U$OFF@%L;- z2b5+*v&WCV|A?!Xo6MJge8N=nG}?R3(|k>=!`meh(hAoL88mu$Yvof1B$J8C^E}rjB^TiqhUeapYsc6Evidn*@>03^QYBi zq+~~E06My^g@qnwOyAF5*nZ>R$1bh$Fu}9~VDS}0GW1^Neo0J zyRmA9JQ)~s>}w%O1{uZiw8QChY8H7G4O?C^sp<1-Iy|%*T4p47pq`xxt)sBB$*h_R zpl`B&VT$lF66ad~!kR_~^^hDOF^5NJ#{VP5jUo><)VnQ5w=cPY+Cb%eEF(3C8O9 zZ@03Y3diD<6n+_t_sX|lF8SUOc?J=Yy`)uv&YRI+NhoaZn53l+ICgj=6gVHK+C3QNTPzY+~&lW%mq4 z@ff}XVqcyiTp-TC5nr+2Q3dQ){0z3CVzxTOo*2#~nZE^1m@MAGa%Y}1DvB5Ljn4|0@8(Z zi0Hv7p>n2Dnd>;u6J4=nn5f{@M zbJ!#Gyoi5RX2jIt{`j}|&Yb2>sCvg$EB`PBlo36Esa75#m5qTt6!SQ}cGM5w?Ri$LLl`Y2s7$D(x z|4k_!IS*hh{@}|+)|N#C0VIlQDc->Q0&gLtAaYcPoWqn<8N9a`Osei~sEA?NFf@o% z>ftGpUeSQwa>` ze-3d*|A&9nZa?N%-M1g8n1Z37=(-;|(lD2Uq&tQXMA^+ECo3WrY26VEYLNSko_|5I z^VvJ36XL+=x#CeYnHN#W!oZ4GM&qNOa*vO6UBC}T0qs%V zw{jYmFqn3!67kL-_PBgfs|QgOCFC7ok>l9X*7Y`7Xy@IjLHke?czSOe^qS&8#NMO% zP%meU;-0a?ze6*UV@z4bQ2e|OUpEtwddniCis9LZ)bHTn-*kJ;@r5AGkNjc)ArU(U=NFzkFk87kr)F zO?pA&_nL@Tcr>&<4uDcq#W|<@An9ZDdN8akUZu^lhxZ~!uu^)DFp=f@48s) z-F{T2FpRtNVL5r+HuKe`EkmT41yI#R#N>>&S7H5A2$;iXfNUj&LD*U8ik;)$ic+`I zI{#S}`Le@WysBsDsaSZfWXD`Y9EiBz)EEDPk2Y>zd31Qj0&4fWbhRZ zy&PG0B}S$_<_h5q?t~2>SUeJ69%jvJZEmZ}6pxrPj8oyzeX)!&Ro}P~Y*vliB+Au@ zC0dyrhi=xx)mgM7Vj-4QuW1km_aC;%1-?)1lbahE?TpRo*=C9V0h7$Ie-p(A>4ipm z&0C#5Eh$ErG3Ba|WVaFXCUura9>pJxbXu+vUEhM_0aVWMEEELrM2^U?Sf+pLU*H<;v^U9t%e2Kv_7$4&nB2J3>5Yloe+e6 zp(H`6JpZpmiVZWNZ_-~&q24vLt$Tod$o!G*fdbWzkWfN%nX$@)F^_Ebt(V$<)aj9i zB(Q~tx5>~#n8YVqUjBTU@0iswx2jDtr>!5g)IJfw=Du?y<;Vd3**k`>5pjcXt|uh1 zr5hu<;dRn*lLKJ(0&;srP~u^z{I&Q|7gpkn$oTc+VClw_Sp$FfSxipL0#teFIpOxca00Xi&N7_jxg~T8?U0`kNL+v6bG$t?7xc|D}>e-Ab(x{ zf}miuW;Q=Yr}5pZFy@4iL~lKq&br}@KB)oXmzFVyLKD{kAh4)}oh&yzot7ymcKaJQ zD(X84@_jyH+2z1DC&%^{>?cXw&1s9XvfsD}z0r`_*>!N5Rc`w0FeEjcd#f0eD=d;- z3{uIDYKI>>bE%U%%A9%>5wDI%I&rjoJ-jsKyYhVnX(`ZZ?ES^33<_Y$pwyI8BxPv# zY33I;`=DFK$`svonX+JeYbi*EhGCC^{&Mj}yR*86@c+QSthe42gxXdN#kiNrJTh~* zmDS47D>;Kj5PD(wHy8$X-n4F2=>67gnAa&-VpiK1U%KQO&C22Com+>9om$UDm0>Ei zz6)vViX>=M?1co!mQ{hYEoC~JXxDZYdi4(*eq|>&CbO@$009}8&4@c(?mLMmbV zCzT->DkZ_{b=vEk&rukcv>q898M|1NW#GsZPd$G1KA8AuBC^5t^Cd<+4d)3NJpIt8 zN~u+ADhI5AS<_?xh*n!agQ&zNu@N*4w=b&Jr=bi)bQpxA?odye>2m$$vvKu9A7*AS zo?d;AtHw(mwRiix(v0hpH3caT8qQ*4bj(#|lW1jg*i)rePO+3^&pr8-hou|_os6FS z=#YQ{x}p7)y^yt(yq5#B_y{vI!ECCAR(p3@fKkkil{!uGTH@9L<{oVa$Z0nndJ1&f zO-inx{jEQLPb;J(zq#XJK~&`te8c>;hV)gHJ-7B$f%Rfm+9F$eXlS=}08s9h^>f7# z=ZGd`Rs;iSEBCSGkwdtoYVOt}tx+(d#O!&+9oEV{u5XI7QT}ZFYU0VkqqZfZNiqE! zdiunK`=$*=kkg}HJzkPtjHddor=P^SL+A2Q_QH4fxvzYU>y#T~cQ1-865oU^B7%MC znvraWrsmrvI)(Hq=W&z#(n{DNf@pBQG;~(3oy4(-4z`HFhW|VO=!#EFcCm~*Zj$F% z5`+-iI6f=#J(FkS)mnYnhE5V!4fE4%e=^1^heVB=wSvo_MoVyIyKvKM9T2=#Xsyf& z4$pqFB=M*sLwrO$szZ%j=O~;tH9-yq!t2A#|9@eUphS5Fgh&2z3#I{VmIl-k@riq3*TybqNN`l_{muzv~RKIlP8G1xresQ zzr~hJ+2->0G_Ef#-BU;GNS$X}(uJAG8^78i7xaBj40g|g$1!hlt>&4sHh!(=$OA9z zZ_x zN=?LTWJOA<0dC;ygqgu2|45MI){Q>%2p>m%(37a7jJw&>)#xJIt1YM16FYws+uAKo4puBZRE3a{$wA-gt zU59nr666P?s4i?#QRYU+;#Ef+*n@PWc|DNo)mKmDVx|tZmNo*_KIT)%MyTvOFH;7G z>$vp7ZpzZeEHf!izdHLNI+TY1)0_F}&>|$d$fuf$WY#*1&{M$f}PBbH4fA zB<+`y)xD}MH%!aqNt&F{wV(1KAh|-h;=wnTrp|Z3-I{+yy}g@A0&G~|!NyCZtc^up zMQ9#)r`5r`|4iQjWGep%b#j0+x>3tMqKN*q9GBMh>0qyT#b;>^=wVpZB%f6^GbLe6 zzx+cvAts5l*+pr~|9eS6aoHSmnvDF+qXi$pF_~pZ(a_|0hcw02Z(dPUN(8I>JR8!J zu>?@&yVg_W)*4%sBK=tv%O^#IM%%O#=y#P>bZ5r}4oz6Rcn6SZPLa#nOsS~NOfT?d z^PPr=b_iS<^lWWE6{%OG+xpsQ?e{7rMk;P?h*l{~TbCX%jhmngSh0HyY)_BXf_(Tz zvLmR^?#{&A$&bh+V|{A-lAEq4zgBuUtnqub7>$x`Ll1Y;ji}=WfcF?E-i1ZMEuiO& zj8!oHj5{CCs6zVur68d>Yw za~Ez+-^Yh}racRGDN&T&rkQjA$)hHG%w+c!8A@pB#*}!eA3V(t2bD5+#>Qx-w1?>J zBx`TxDYiy7CdTDnQ&N?)k{sKxYG+tCDxLg63G!=^!@$vkuj_(}>(;k91>{N5TWgYF}$Sx>=qPkqh zy^tP;ipsxHHlf~UnN`#LZviDh@dwkPSulz~V4KqPJKzKt5AuY4Gj#rE#PgsstM4}~ zDk>T*M9ywPWHUshZYb8k;YwCP8Q$$GcpB+djg*0$JzbRsA*nB1o}^oIk#9(6365Ww zfN5Zh^LnsPS4B}IuEG0}%?)3-Z{+Zyl>FFO!oJJeMHl5J@zY0E^4Ut|_@dvuo~kuu zu7}rPnH3FyQe8D`;aRP%HGnWwb_Kp?aEr4ht0`5yNBEI7JSU9 zra4VFgUpe?o%4;3J3l`rvy0cOeMQ;Dk?p^?7ewuD)--IL#1_d&H8*sv44_A#`y1vo z62Hbj+QA~YU%&&5w8dWFcRhUwL$_+4kcx>(DU&zxKO%%5*>OR52fPEozqXfdhQC-f zDu%ms!xB3BDP*SM&%6T!xayRuF)LE1%|Jw0-s?H!9_QQ{E9}z8-92;*Y zx^S4Bah$p_)1ZtjZTef$37n{;pekm3K)8lXbpZ3WgG zirh9(W2>vF!6>PQ;9)n6TYIQ;^ADT~>fphQ> z=-9d4(TK!wNPY{lPvh0RnyJoeKP6K zvYh%GaH6s`^`v9x>-;N<-2^n1PAkRN#EsYL5rYP1=O9=|M$*(zts(ZanmbQ4f83)y zy`!KS`A|X#xwLVx&hBxn-6@TL(mKXx;dGf%?tduuzY}TC6rC6qlYVCwBkOrF>RAai zSOO4(WAPO^C{cB}u5?IpE%?#C21Mc?G~o&Yyjhj9I4%R(s&bsCPmTc>Ux-}DzhUiB^$1ZVz1*r;i74WNJl%#D+kqr0ZGt2;GBQJ__H%=(okFjrsrj5}LvyCh8e)j+;`qD*}lKO+TW zAu{Z2%Z2vIe*+Hq_$@RQS;%FRo;ReT3zfaWW!@n^{i zOnG55isaDzlq^e9CahoDyDo>1@+RcX=8J;{Qtsn?+;0)i9L@^e1Eoh9^Q_nQWx5m` zQU2YmXb-EG4!15i#ShI+H7>5+vQoh;+Cg2Gt+>AJnXfbi6zC3aNF#Tn zmj0+ZaqQ~(t~ZHcHKz%o0~CDOcp+x4Pg7%&|3!M2DzATkK7}j{gEgyaWjGXoVE>?^;nGEqTmH9mFhCG`slR1)%UmEOd_)AND0-bqI3>=- zchJdEpU#SV$(_6Vb#^|sPBA3j_kOmKJ-vzQOaciEN?76t5 zI|7N#(gMBKKGn}-x1ORgz>4h|x-;#i4`L){QBu6%{B$GX!l^HHi;7s$LUQ{}*>7y( zZ&0=k3tPFh8keVSSQ&d;$Ab~Hi-=*24X&Uo+<6&vKv3B2G0%7hlqJX^t}t(#xoi`B z=BydrGQ5*dm^nhvd_kiqTU|NN<J~@m^I`~|U-#%sBma7V)w4x$&QFbCn_C}|Avn(P zCn#~bR;{mi)^lcM2@N-_+<))&U23MPOkI2?>HPCb+?sU$SW$hn@M*Ow5#B1o8hT}iukffRBIm)i)GVR zWj_U3?1ZG8n_qDwY&GjV`bcRV4g1AT#8N9{f0#PL_Fu~R4OMyFe8Zd)Ch5+S-x#oL zuQY+7<)))|qo`$v9#P)att_f@w_}HNg+Qo`dgHc0#xJBHX~k5(kB$@u@@^_MIDS1UHJsxYtYg?|@dr6>mWjqv6JG_k%yM zGW=+SpOZmIdl4smF0vl~?)9>4Jk1M0vSjzwwmze~1Xzs=mJ11iP=J^Mv&1(_a}Aa zx}~6b{Hos%{~R7_aWnR-SC@!hHw!X73}x6({8;OQISq`E7_jZX5#@-9A!ts_qNX=I ziEzKF5*r$ePo(ra;8oOkQd6-&MXarI)y(7~ZU9P7yuq#Jc09iN8Ybt*1Fq+I2mGLO z^W#faT>qi?k9hi0aQ&M(3k6@P+JEK$wi=^JImv@${Oq;L^=z4I(5b>5haNHZH488s zCvK6|GBSp+m+_`<#?t3SCf*nj%i6rD)`XF-=Fv&I)o4e4 z9Sa4sf)hK4d8);;aD|K3B!LvPs)>rGcjy{@j#x|r(`V5v+`m4fPPUH%&X{;6ZE43>WY znzIVq?@OhoiA&onc+_z-OK-6{MsfOsdjLs%T*iFCc6bom7w_yr!B3mO_(j1e>B zn2w{~z{T}XI6RMH5RJP*2u~BCp6_5(rte8zR-q4bqu>vEC~d;c*o^j+M}iPbI~>-w zD4s~VV<-dGL^wlb8{NOgmAa;E%#Gab^bKu#tJ=*#bZ_6}4a+sE`G)#MpAYZScwgzR zZE&s^Pfl6GjG?`;(x&d+t6dgqbv+%Z;cf5ShKfcftr*Qm?;Y?)`{DbKFLmV3xR7%c zGuZ?BnDfog%1@`pblscw$^t!%Ge5PAlAhFHvdi7y=_~zJC**m%+@1_zp#q#UZ-t~0 zz(VJ}aj_7%1u}-%e>toI^VD>^zx#c0A8s#Ic404lZ5aiQO%9QBaH<@jh z4@KADYTBhi$4@?{#74-CmOWNTdqIH;keZ3{5+(^%n(R*%W0QSOnwp#_bw`?y==;8i$&@o$snw` zA=u4T=~-H{V5?0i5~zO2^o|21Ym(t=m1OD>c5pTLs&$yOts7ZLyUrJteU8a(N%6o8 z3MBRABlpyxU8_1Wx(WsgG^CtHrzWmcw zw39=NJaL+joQP;%%*{4Oo$6P9DHO$fSpWkFjtnKuj9K}!TXR;i^~G&{2#t-7j`~0Cd}#lbyWET35tpuH<9k>dyHAfT+}SFD z$V4WaZrz~fW+hRu6!&7keNe-@gXvVfqpXYqUS43Ctvwp&GC%~j-~NO< zw4mC?HnSUHI;L9l?ZcffN!;A;i1`e1s*+Nrk>#3}5e7gvS3nDrg>C`o?R;hlf~I=ZB{G1y&F7 z)7ZkFEv?!3t$m>oAy{DdL1C1rdsUQ<-Tvx+0Y0p$G;3}Tly5;mJwLJE=W?Ex+j?;A z^!KL+GF-iKz5auO&c59zMqcF_`eQnF)L>_c8zZi1NCirdZ|f&aQ~>12!v|{tJr`Z$6}xe+8`q=|gI`J`9g9Z5S-%8j7lygF2)-v>sp2a5B_I?$#Z}@PjPlOezcMkUm5g z@ah@rLTQ8S+&=m&)ORMe?HdsNWP9VH-1WXqh)=a|8g~XV)0&xraqUBM6x@a{Io%Ks z#hLBHVKl^bJ;(4g%fOu6=06Z=HHx9nTJ1%1`_KGa8I~ebiYbcz=w#%^lRZU}S81Pg zU0phgkyUqiLeut%Fv*Ad4fAbg8!vfQ$V3s326)AZvf{z}d#!j@j;1lZ9Qhqkfq^fw z8d&nXv9_HyRWwR(__vG{@9z*R5Hd;&*+IL1tj@)wfg#E24qQWnGX|XgZsV-F2P7?p zQ!YL78;@Dll(U$&hS0HDn5K`8Pf6J->07QWztAv*V~$<7W_>+ia;+?uug-CCHyV>$ zCT$or(=YD^3y;@S?-Vl&)9j+3s`vUmudFzQF|RZtmW!t~)PxgiaN(DNUuqv&eKQS&DXjcqcSHDFLbsS@I5lGV3w%5@J8Bq-KLIZWFTDSb;GDijZH$4q)t_GW=YFL-$YC%45nxu-gmU zsDCEt*(eof$Y;d|=cf7E$QaTJdi`@{^sTwH?#6#odBfc@Z7pSm+qb^ajO^=SyX=89 zpMsCK%X6jD#73~|{LN~L9Z#gXaoNZ~9K9Pa6mUCGUo&q|GKk6vgL z4+d?HswmhkxN%HGHIQB1EUr{~64^Cx1Sb{I82q7MsH~Sq7O|9MWK$b(*xrmv{AobB zK@L@IX{4DL=D(FPUEOS%(xYJXt81F;o50t}f*<$+*s?GEwt{`ciuU^sw6lla&6T8u zQAXzYTvz;4W;YtY@g1NgR8`pOBH`i^bd>nvLn|lyo-7GZidGWv@Ilr7+Ms%zywX&Q z*{%+5p>)?=&X)szd8qPVQ=zK$(Pfqwwotx`~TZ`5DYVLNm zb5^LPfUyDxTEoYD7#VE(h4fUmf5H}14eLmNemAaH#GS5=Vl;^*oVn@-_mFYLRO8?` zdKyKbkvNQU*yD()k;>0AGag~5D;D|Rk<3{nU ziH?CR$D^c*hf$=$7}^pCPM4A?kn~pmasE=9W%QA8q-IxG>3Pl>eXA~QXCyp1eYwVZ zGs-SiPbn_^uVkc?%f(Y+2NHK$R0~grZk^Cgtt}^;Ym|loHa4e)D1AI@m`A2Ho21F0AULw5Psp&_CJY zhMv)|Fm1W8vZASfiOSwxR)x{`LFdBTZ!0`%8!>yDZrl7_5zVI7ZYqpquH>5MB_C;P zzRgBsX|$90TW>C;USy0O>mjc%m!!+4|cF#B?Tst5ykwm|*U=|@a^ys|%2Q|eTG z77;#~p^?l^NMlE(-O&QEtuJ{z02(j#QllSrAmpEjDAkQ1KIY_Pk9;M!?hfAHv8wD; z-REcOAO|qXxO);1^y)qO^tDduxxYQf`Y8Q`cy%p&Ja|jLOn%DmPm0f)Kt3rPLG*Qs z8uHSl`rs-nQ(cQFa^mkGp5uhrhlc)TD~L#r!zA)Frk8rIQy`^HELNMkIpYK$ zQnoZt2Ek8N^eTe(mJJ9M*Y3y)KtZf|V|M|cszOP>bFwxq-v&0SjuSbqtZ;2KC&J#c zJEKRZniUB(^^U2SZH6(px1ea@sxN3|l1jFRoDYSg09{xB+FBSXqr<0YmS_4N8n33J z;E)ipQw zbWA2`bOh@jfd}ppn1rj)Cy`-JT*P@>&4nWx9 z@b&0cH2MV>9#PR~bJPG?P+Bj+HoCB-?BwC38m58{bCn7?=ZnLzn|UL$O1WQf-t2y2 zoe!sM!~20d=S3V5`98EARXQ$?JxSn{aVUkxH zHa3#?A5K@EYjy9gtP?n6VA|gxa+wIJPYTHq`kLBc`n)0=F?XEUC)4ftotBPpn;Ulq zi(r%WI8WLb*R#_Rgo8^>S1m40DH3?!INf8J2TL@zej96O@xb?NalE-!`?be#yUCcdw zE&SHu*ctQV*p;5ADR&Fg;{AnSvv~7KWTOBD-13x+Y#WAubl-GR(_}YslxP;lTlG=u z4hlPo=%Q4<*IR6zb5o#2{5w_EtSqa$I?!mC??q_gl!&ai)q_#{t$ z3No~plVwR`P~3y+7MoA#vbt=n5;FNN7%NvnZJ?+px#>sXSb~FEe(d`qwC5-_qzKQl zQ@N1c7!7+hLm9d()dAFOGFx{()8vMhXd62m zC|Vy-SZ{d=+8d86uS3%*XpcrC)J-W%sv$sFTQsb=nl>3+;fpkj58YN%GWGCo_)CS9 zx+$3*6tWEW){a}`2IT>Pv4H1u7mEJ?vaaguu>-p}7s*iY4V~VS!hFV7uT|9}6MPEG$7QN4Q!gmFWe5JBFMw<}e=KhOku2CAzK01g%bD7=Be84Ohx}uYMTU-m3wJY}} z2Ys#xr;WkJHfBMPZNt6%)H)bvin-M98<{g+?Z-Qa1oQ266HAw6L8565Hn_3Fh4}SW zg0d%vvPSKmndUbZn>C~J6z^=;eSyqc?8vTZ)8V6RVD}RDm))JOa2CIoRgY`CQ8Vir@>$N(X!R6!s*cjbF+Jnj zZZ{6N#gtX3%L-oQANJ*xO007zdv5P z^#LZP5!CYj#Afj!&nt_FA;W@}I~XKBpjjcYVIP+$Ok=)3 z5raWDy@BNmL8cZN9~)j<%x2-fV5>SEPB{PkwGC5~Ig*B}I`(@&c+ zidAJ4tgelXB<+!)T~1*IWvHL3MPMLvinykz)BqjjIUZyrs7XDpTB}8_QE=GrZ&f9f zg2BxS1QW_^9K~S_j{ta0j!HDTpk*h+BsM6+ZEjGekGp9l70-UqTHBvR7OGi|npom} ziA8SA3->a;wX8A06$EC^o!688(bMKuN}}$W=aAE3^8WyZb=s#r+N&Jqk=>5B3Z~e| z=c;`O`%~(9{;H+s*5^dlhTP}R)2d^#8t$*YJh~#b-P6agLl!RpansVvWU>rxWL-xc zprRc%^z+=KleN#1*V+jO*4I;Qc&Ui!+Xy8`*gGc9NOm_6&E_GzF=ys}XJL?7Ql^u5|b^7}QEO36~bahaRBUx0F`Y zMr<$27^5A~U{f7{xH+WY-8JZv1+Z>%g;G?fy2V8e@2X>ra_0g1q6X&kv+)@8=&$)g zp7H@hp=WbS*7*Puk_oz+_*OCHwmRhdCXfdycUT}zI~XqGWzI^*sJ0NebWJa?kTy)9wXn{dk*40J0-)i4!l83Mn!t*dY zs^+()*P`fG?i=i*tgO|!Mbus6CD6IL9ZWJz&8@&ZxZn%UY+3dJP9;V5= zJLcE!CYd8&4Dh?-Cv!)gypta&En{3PP2FRHdJCaxq9;|cvc1r^knk^K(*BCxzetw8 zwUrcg6y_ktvB!88+sPxv9^We)VQF;DPCB}I16#UEW{Bs5 zqnq&He3flYMJ#ea#{KMYFf)0;k?sCU4xJ56Ec0rG<_K6#+<1}1{2(4eY$W3Pu0fK$ ziwU%`J$q!LsEkC*6B%~d8+`3I@>aToqSK)J93u5KhkU>rkk2dms`k}VR8uy(wkAYg z;?dpU$znM2^(YZnx_Zf~oXfT3cd>F>(T0|vFq;`AwlB~IoBI~f)H+%NMIdY94g0d- zNN^ms{SkXQ%9v>?%i|Jh?z@`|rsanFZJ#@?qNi)*7Io>|!+$V(IC`Y7o;@~{$uxcC zBkdhX8M{teeygglZmivOHa5PVxiebslTS_?scHG4sBvj&_@a~>7~DT)8aFkxa@zPG zzbfW9Wtq_QbmT>3$)wwFsf?EWukRO6y6zPd1L+C8%3q7 zJUbEMX!{g~)&cF$$l)^q*6474Xs|SWf>D3Q3Hl*Dwl^MQDQhkH3uK>TtO2n+e#ngR zG>^-|=QKJ!-AVabbRd&q(-!ww)(uZ0NIYA(wTjSbakb^Ak!#sgRK@p9lGYCvK0t+S zqMy5GsK3c3r^f4oiWr@rCV`t;+ca2?N;GeA7Qe|xh!Qi$nlyKDyLcRxIxl3FADTaX zVPpoh0d>IK+tqE%aYTkp@<0a4){GnzpEX+qeO0Y9fZ-Bk^|rDPQ>JP4(Uw)yvR0gU zfWOsb^^fe*2@9ptWihztxRCgLfm;SYJn)Yj?lPYmt#U;wY3_J_r=;pSOr{#>UlsUq z%TKXTX{2G1t;x;)y%)aK(9!BN&Zex1vqa%y953`hDzd?3!lD=0`87*uu2A_nvxAw9Q;rE>ZX~)jU45|;Kg~Zw0$UjBF;lbn|LFLL* zRw;|SF1scgb%OE#0H*`p>`1kh#bjn`f_gAmeHBMz2z^~-zmh$I-mY2}v^j;xHz)ca zsq#yr4mgW_Sy<{7uzdraNlXK!cOFX( z6)dwo)s!LvNG#2$A#)G zXnj5W##MX8+=;tMGM_R-p4yl@+Gt^R_H`xT?Q=i) z<$053c{`*#tav`Fd#_C?p_$HTbLnpA-zUN%EiBmIUC&q+Mn=~4z0aEUDK_ArWO@Fl z6&mQ-E}XT2^K1YxfpO+~CW(bRWNR7-dAM=pTcSx`L`{XbXm;lxHzA$I&9)8zOkD)r zv2`?&MFg#J6HW;N_TwruA62L_Xy%d9Iwlz!!b$i}LbKNg*`20ECJ2u1Bc<@E$(okB zN5kPU+~=r1e(2?iTfv)_Vq>Xku(Sajw0;PhIB+>2`jynuxvmq2*~1QR?i_=@ltVM3 ze{}f(le#?|-mN}H>c)-imHVF1H-`7VppOgwxGB(gdxL8t%S?M2RMOXf4>#l8CkD$)r!}pPo~S!%0j=45T;TlA3ClNJ z0WQ3iaIvPIF3!E6RI#$nKxH>`UfsY)fAfwNFKJ?XsC3O%M%nd|7-t=O+H>8T`-?8^ z9J7D<1d>Z=W~O^w$1st(x5nR4Ro`!+rl;)Yn-c}yB}|jI(Xy~T->FhbVfJHN=dbaT zB~Ip=H{+M_>=5KTNdR?Ep^Tbf2)6k{Z^uN+mJu`CYuV&|6zRQB$jf^dfR|~2i**=F zO!l7e5o`>U!u_#SA7Hvq3@9tf7gN%1(e6fVy57irn|p2I;9P#U zRx@1Ex&hI-BY}lg*|vb^U-Q^`dH(<b0tqa<>RB+^9q+!37|b4KW-XnP(k=A42GjTTgvVLq6doz&({iq8UF2!IowUc_b$=s(CeBtMFfCeMqVd*JY}VL45n&XT~8?6 zEDv*B(lQ({QOOwzTkLFm6>&pbQ^xsP(ek-k7FaM3MMv2Pw)Sm-H$0H|udwgtKc zJmv3~n|=xs_Cz?P!CpZY)9i!&DD(vYsYneR? zM>9~0+-?^O*Qq>Ip!tp$jp=Xh>tb=};Jt@UaD5|Bn?=>jW_gm}^WNICZmA2pbo#BQ zX3gm%K7nO>a?4f0Z_Ucn_FVq}2Oa#B9;;~iXQAl+GVqNSE`wM88X;}^*#@b$kDe5b zE~De}MkBU05`BsqW&z@Rn*RVhTsVHKCgLJ-wq$k>pjzJ7IyO_r2qn@T#p9kGfU(ZM z#N(F>g1uTw)Z)7kdY}E-KCEs}K6h3cO)O?#x7Rym98SY}y~BnyC~=V2FqVe^Zb9o} zizD9Yn)xtGuGshu39xq0A|6ToshreSM(w0*Xa@dd17M(C!Y5ArnKrXNhbm5|D4pYy z>ylh~H}g?*ByNehjyCvyw; z%oR?8{a#4hEFtoD&b>@WXzpF(4za%qCu-~TO0iK!UnJGAGCFD)gM2J4BXPf6VMaCj z-kGU=jjs)cXv?Ybdsr6+-`@%>y`~jmvQ^MQEb@-*Ixu5!ZLH&Qe4DB2RE@1|E%jFo zMYq`%&^X0U3}jq~IsExtCP)Eui9CYq^tme2{{YZR=>wZRFLfT)1`zN`>6IH$fswJV zgtWlyHQ?ReXMYwUNY$P0o%$4B>fH!eAO;+?@;%kIi9_B^cVIMhRdBPuoB^9!>s6#d zv4!1ARe9Pr>QU)wsZUozO+#abmP-o_q@SXu?DT#c{&zV3wpRMPgnE3gJzHfDK&LH= zFhz(LC*2}Ar!M7F%~&p(FIi*giIm2)*m@%LvR4HoLL&|koq{Z!)5Z8)nT--yREW)# zMiKoKhB+|_nkGc=s+ke!tKxC8nFH;PsL?G%SVUB&o{AJjN@41#hQ!h&#^vIl+NPKN z-`ZDC8$)5PXM8L_81TJ&LrTJbY#L~((CO>iJam$Vlm1COKmPz$Onas*uI%h$JsyrD zz>Tgy`5XTLHD=>uZoDYEbbZ|{EF3kBZ_>d@lO!IbWkj=g)wWqYG`b{)xZ@~p$n#Ei zK53_fXj@=japaj3d)e5)J|_U5C!#Kz(e~K4akyNrsO=MJtINhs%`H4pQ#GJkz#_uX zFJ!{;+>0Vdi0-CMH{k&9XMR~5QK@VYImGZ6nQGHXQ&jm~n_w+}YHOS=3r{N@Q)8Yn zn<1xnCoi%qr3*sukTk3%*%?HtlFisYWi}_Y4ahH%(@BhvH1(Dgu!q9SH*v~IC2IjU z$;Zt-$7?_tJSfj@@b-A6lXVPb!q;eCK-0EBPb=2DD0|H^ zC%-OpRVapA8UETt*FHHqwaV+V?jK~2*+K2J7KBO%z(?zaE3)oCW@c1AtB)oAi{mc_ zp6FFqF_1iw8^Uc!`@R&6qCX^K`%@fqQ_L15*IOs z;t2-fX-VBcM2a(0J{f$Evy{uG<>|!m|Y~> zq~g~;$Y8nd+6Bqsp-Es3dm?UJY+u)mfSieidtT@4ABbJueo3qij#fH96G5}v!M9)0 zI+^53=YwPYN(Ah436NkCeOEjkxcX>geMqHit|Yr$?tm$@bN98)r)xLIZsx;+&p+m? zqu&`XZ!T$R^aqt=rb|THmo=r`>^3y=jBhp3kp2wyu`Tq)&Y zEpY3#`ZPMGStGrl-HCBW@_001*`E~lmc0C~d7ic1OD0DMOs;|ax&n@z%| zqtmMla>W635zBU#NrFRv3G=ZD(sPZ~uO1&DC3khlQtwNATFfv*Q2n)Wc%gIb2|3{U zfU~-_EgcT1X{jXdMLca}&%O+{yY~78ExN5O7ujHL>4Xj4E;hNcZon7L0;Zkv7s(+v zeC{qb{{S&atx_^cB(KXG2)o_9E(fwpG0*7kGv)sPDTYI0z@rvx3J+gLALd*ad2-m>A0sC0V6XHK4qU4g#}utbvY^EJIM6tLqrPR z(9gU@NDqov3;QcQE)9@_(2RQpo}+Y{uB7^d{u@r%{g$>i>|ki%3k9`3v5Yz0ok!m} zPlbqvXchrDi!>0L&N35;;@>p3P%*&rkYA#Eyps+rgy77=GYynxJN*%wwUZx|^^7Fi~0v%~RT;Yg3PLAZHDkhx&c81CSRA}q6qBOzDm z`qeE#7jXHjgA1zJx}N($__`%mc2*fj87AqPjZD(Ao!J1|{)6c+qQ6tEoBOMY&M`3tU93L<48H#zUP;WlYo z6lL8;1<{%VBfsYT6-J{mF4#D_X2N8}Zj%rId`>)-yzHY)RE>!6&@8fgT=7c~d&s)i zXcM)~AP*}hQ%|Uh&07c$Y~bHO?V|%H4a1HH&i7uuHE1sc9--cBd2?cQ;W_H#f_;+Qw6((HXty6! zg@a?=&esNlobY>=$PWaz$D8tv3SlAH@HF4OchCfqTsHpz5eFmD7fh#QuK?lBdsq$p z@{6a!C3NGThP6!4xVG&70hF)t6JH-J=?ap zo}lnloskOpDa(7IA=>bM7Vh|7JuhOhBfOT{4!Gdg)7Oi!8b(>=!3;xG5c1;V(_1r8R-}_H0;(G4Kqk( z<&&E}|v|Zg?c`9_2J<`m$kMdb3D!$k!7;`6!_$27sdnoCe+gbL{rPZr> zw?q~UBebPCIXk{eV-*ylwnK-KbAOU($hpV*C2yMRnmCKy434Ovb^4?&^WkGhTo}!f zBXPQAtdv|EoUYi%l1y&KREUXC+J8kRHzSJ?G*5-%`1Vubb^@x1oLlCnK=WlqCP`K$ zlL|9k)kTTO;M^*f#LUG10BE#rj;fPT1N=sqUVTPdvq6n`1$rNB=)T#YPqbc00F|Hk z^ZGA0rkB7o(}g`nX)*NW?Om`6qMfG&R8~?Ea@BtJ-o-|mpLMK0OQ6o4O#KU{ZES4> z?Q_6)wb!=NLkv1gL=CwNz#ePMnWr(5G3C8Q%Jn@erj|W1h3*z>dX$e?^(Aa?b72iJ z>yX-0L=YFrha8oS?ayiA-}Xv(Zg=A&qGxD3S1X?+6h8>KE(aeajC^v`OzCAezn@g9 z6danA@fDPYH>I|-C;J^2jotK_vYksC=8!vvH3puQ(>yd`gN0)wnN1$fT&%D+vKv)U z)_v0rz~u@6=^ib|Qlho)mTkX?t9oceQSP^kp+t}u1y^X>v~y)cQyDT?o04u-wS1v~ zmt>w5TaB9MxY_4EYhK_sHjYyX7CsZvZF?gtsvcU*kgzOw!hE<}&+OVpK1qSgnl2B$ zlOv0XmQ{@ww?i?cakao1R9Xv5U17!6+N`zExI2O}vAReCckSRgzC{3u8-js;>cQ)izuaiw{2sI2hb?@u~#RS>s1j|Rn)pCS~p4@FLA(C zJU0ITh~CHj6^^wlWU73OXk$jxZ!%O7c;mZ`(YDc zeJqiID;}AT1ZMe79GB}b4 zf!h2o{u@w)Z>O1{kbN^}e3Ny0W|~S`_%d2H$lk7K7im8uWipaj>$K1A*$unqwbai1 zvT|B|2~lY&+}$Fvlaklcybw77);Rgtt&+Z1KiuypIsX7_p>1m}=fVd2W#NOu*B?Ec zA4P060W}|c6T_i!y+k(L9NT{FDu+y{5tj(O2bM78c(7al0Beyn>X8LWr`lTCF4kD^ zB;x1Ltc3V{oYy6FQH0c9A@?NRo`J_U_Cng@f#Dxh?yhU7Y3r$*Eg=zALgL9G=;Az1 zvGY;rD2~>-_BY@utIJ1m)M>fM>MbZu;&^dablOZYfOdiBVU$W%0MTm&IgP>cUUchC z@_Ll0LOHfYh88qj89u}c;B*fw@ zrbPb$MG1z(3Pf(e3DIQL5n~h7$lZls5zWGt8-l6~l4v}vY|u#)^4GMqk3uZGZSlI6 zvU*ow!6TWULcNuxd6#Uo=hOCrd7~e9Fl>k1iySPe8@r>R_e3~`GwzDm0XvTh98zZ1 zwfQ53V*xK4Tho-L?5;K{?IDh1Z)2aXe3C%wYyG-oex$>6IRhc+f{C(i!>(Me=XhAd#&XZ1?^62|0& wYY53QEpM{rSpWb4 diff --git a/resources/checker.png b/resources/checker.png new file mode 100644 index 0000000000000000000000000000000000000000..a395db2dfa539a9b8ba2ef25f74a345b8d1cced7 GIT binary patch literal 4649 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 }; -[[block]] struct Locals { transform: mat4x4; };