From e61c482bdf8904d846554d2915a23fff10f3ebcf Mon Sep 17 00:00:00 2001 From: Carter Anderson Date: Thu, 7 May 2020 19:14:14 -0700 Subject: [PATCH] pathfinder: fix spirv makefile and generate outputs --- crates/bevy_pathfinder/src/shaders/Makefile | 12 ++++++------ .../src/shaders/spirv/blit.fs.spv | Bin 0 -> 1040 bytes .../src/shaders/spirv/blit.vs.spv | Bin 0 -> 1140 bytes .../src/shaders/spirv/fill.fs.spv | Bin 0 -> 2948 bytes .../src/shaders/spirv/fill.vs.spv | Bin 0 -> 4128 bytes .../src/shaders/spirv/reproject.fs.spv | Bin 0 -> 1516 bytes .../src/shaders/spirv/reproject.vs.spv | Bin 0 -> 1332 bytes .../src/shaders/spirv/stencil.fs.spv | Bin 0 -> 352 bytes .../src/shaders/spirv/stencil.vs.spv | Bin 0 -> 828 bytes .../src/shaders/spirv/tile.fs.spv | Bin 0 -> 34188 bytes .../src/shaders/spirv/tile.vs.spv | Bin 0 -> 4740 bytes .../src/shaders/spirv/tile_clip.fs.spv | Bin 0 -> 1128 bytes .../src/shaders/spirv/tile_clip.vs.spv | Bin 0 -> 1668 bytes .../src/shaders/spirv/tile_copy.fs.spv | Bin 0 -> 1080 bytes .../src/shaders/spirv/tile_copy.vs.spv | Bin 0 -> 1464 bytes 15 files changed, 6 insertions(+), 6 deletions(-) create mode 100644 crates/bevy_pathfinder/src/shaders/spirv/blit.fs.spv create mode 100644 crates/bevy_pathfinder/src/shaders/spirv/blit.vs.spv create mode 100644 crates/bevy_pathfinder/src/shaders/spirv/fill.fs.spv create mode 100644 crates/bevy_pathfinder/src/shaders/spirv/fill.vs.spv create mode 100644 crates/bevy_pathfinder/src/shaders/spirv/reproject.fs.spv create mode 100644 crates/bevy_pathfinder/src/shaders/spirv/reproject.vs.spv create mode 100644 crates/bevy_pathfinder/src/shaders/spirv/stencil.fs.spv create mode 100644 crates/bevy_pathfinder/src/shaders/spirv/stencil.vs.spv create mode 100644 crates/bevy_pathfinder/src/shaders/spirv/tile.fs.spv create mode 100644 crates/bevy_pathfinder/src/shaders/spirv/tile.vs.spv create mode 100644 crates/bevy_pathfinder/src/shaders/spirv/tile_clip.fs.spv create mode 100644 crates/bevy_pathfinder/src/shaders/spirv/tile_clip.vs.spv create mode 100644 crates/bevy_pathfinder/src/shaders/spirv/tile_copy.fs.spv create mode 100644 crates/bevy_pathfinder/src/shaders/spirv/tile_copy.vs.spv diff --git a/crates/bevy_pathfinder/src/shaders/Makefile b/crates/bevy_pathfinder/src/shaders/Makefile index 79b54deb89..fb1248bece 100644 --- a/crates/bevy_pathfinder/src/shaders/Makefile +++ b/crates/bevy_pathfinder/src/shaders/Makefile @@ -1,4 +1,4 @@ -TARGET_DIR?=. +TARGET_DIR?=spirv EMPTY= @@ -23,7 +23,7 @@ INCLUDES=\ $(EMPTY) OUT=\ - $(SHADERS:%.glsl=$(TARGET_DIR)/spirv-vulkan/%.spv) \ + $(SHADERS:%.glsl=$(TARGET_DIR)/%.spv) \ $(EMPTY) GLSLANGFLAGS=--auto-map-locations -I. @@ -36,8 +36,8 @@ all: $(OUT) clean: rm -f $(OUT) -$(TARGET_DIR)/spirv-vulkan/%.fs.spv: %.fs.glsl $(INCLUDES) - mkdir -p $(TARGET_DIR)/spirv && glslangValidator $(GLSLANGFLAGS_VULKAN) -S frag -o $@ $< +$(TARGET_DIR)/%.fs.spv: glsl/%.fs.glsl $(INCLUDES) + mkdir -p $(TARGET_DIR) && glslangValidator $(GLSLANGFLAGS_VULKAN) -S frag -o $@ $< -$(TARGET_DIR)/spirv-vulkan/%.vs.spv: %.vs.glsl $(INCLUDES) - mkdir -p $(TARGET_DIR)/spirv && glslangValidator $(GLSLANGFLAGS_VULKAN) -S vert -o $@ $< \ No newline at end of file +$(TARGET_DIR)/%.vs.spv: glsl/%.vs.glsl $(INCLUDES) + mkdir -p $(TARGET_DIR) && glslangValidator $(GLSLANGFLAGS_VULKAN) -S vert -o $@ $< \ No newline at end of file diff --git a/crates/bevy_pathfinder/src/shaders/spirv/blit.fs.spv b/crates/bevy_pathfinder/src/shaders/spirv/blit.fs.spv new file mode 100644 index 0000000000000000000000000000000000000000..5e7fc46150ee1d8481aa5d95d307f0b248e994a7 GIT binary patch literal 1040 zcmZ9K$w~x45JXGIao_jd9`^;rgNh&uBIrd>8PW5gBEo1(yWm&&QGS&d!S{NB!ICg5 zBBL@ZtEbew&=x{dXy=X z{V4lZvy|;O}Z=q(rDWdh{BXHj+0(=@OO7KEO5EZEqFM1KFcq_p!vJkV9tRi0d&jf#! zH-gVIlZl;ha?W|rJLhY*+u2_V;Z!)o?_Nk}J#;`qSPs3Y2Zu+8{aJh5fAsjFjMdPM zL^*5R^PEOLkLro`d1M{Af^_+H(7z!Uuuk#{kh8?v>ia>{Oph@^igv+6~70l+0o&l3N_ipr(Z_n9(!wmN8SxzcsEbZD?2n)zMOe^nU(&z?<0b&KwiZoa>46GIM-KF(q?uMo#ME4z_*R;}i0_H)r*T{{bn` z?#A8w-CO%PzPnyU+-HL?zBb2Ra9ggvTw@mzF=OsnKj*oDeKJppFSbHe@9rV)xQ{ru xbCt+jx^p-Ch#XJGZeizpL$WyIZA7jy_uyV$k;6UQMSKJIZjbu%|5EuW@((r~MZN$4 literal 0 HcmV?d00001 diff --git a/crates/bevy_pathfinder/src/shaders/spirv/fill.fs.spv b/crates/bevy_pathfinder/src/shaders/spirv/fill.fs.spv new file mode 100644 index 0000000000000000000000000000000000000000..751ee9fb3ad73fdd1969cd6c8de20f10ba3aa798 GIT binary patch literal 2948 zcmZ9N>2g$66on6T5>O%pnFJgXa6&XV1VjMiV9{Z0+tO(#egTP6DC=Wm(0m z@CN>~%BS*=Res;?yQ^;9o7#2OT4zsZ>eRL$-;vU`w3ELFY4Gh$+fh>5l}7S$W_Esd za=qW0oI3rw9=lU5chqMOaYKySN^^PDiCx%k>@GHjuX7Xu)ySOEKLie=mSg0PG1uv3 zD-8L(c{UpZVVKw_;Qh?GTAqJ%Ac{B(D?Nd~;>3+wSGQ?p4<4H5ZEvGxY8HpEZzA?w-osce(kGVSd3U1~lic zsXQ-tKH{wz`S)=$p3Ma7_H@MuK_iUg*dgk9hH~e|;X4`CH2LF<=9Zr;xNA@g?i%C= znBU7dj`^J|_>%*QK9u%>qvn39J_Warry0feVVpgk!ub9Uo?q0IE=JzBnY3=qH}y`b z9(*aM_v_}r1vaPm(>}V4_Mv{5Tk0iu-hAaRxG`MQ{L|O9%RMi@BXsU1(QiFhxUY=* z$vr2(qwN1CqdD~bh0(LI4}ImHq1qX4k^5oKero@s3^VHMS^2)=Y~;SDG9RmO-%)wq zcNE;SnW}K#QF*>m;l8Kxyl*PF{rIkeyXU?s`FZ+x9L2m(7g(KZk;mK~uy@Nj*CnsB zdi&gu>F?dr-?KY_sfW)&uyJLdLvZ!K$m4xGj2WjMb&r6}9sDTRJafc&PoKez(;iXT zb@=Agjn&_t-Fx-uXB=GZc>+y6e2#&uJs(F?kDi|g8>b#Uz5q5Z_={j`Mb9sRjnks% zm%-}B>Tl295B2Eh6>zoZlW6MU^D4O7^J{48)^~prCzt{y%gfU9+<(bS{vhq-@B>JN)v zE`hD*oW1z2)gtc<*u3RE`3SBaJ|Bbauk7;)Ts_wGDcIbxkF(&|NAu}F@EQDHc0Tfd z2CnA+98EoZ=D^iHzd%!u^?wOAPCer0!PUK8KvNH&D`0b%_x~zfJ#t?I8>b$7dmU^| z=iJ-NjB1hhD{%ErevPIcKHn5R<-PqDO+9LV2R2UKIyV^AV(-5PH?RlAng0M*YhvN^ zBiR0ex4`E4vxsSf^-&+?7JH97m}fYIIUjFz5o`_TLt6$f73TiuW+^U+5QGskG=RE dT;7X&aDCM0sA`@2n0nc)cej}PkDWS;{SRglv$X&K literal 0 HcmV?d00001 diff --git a/crates/bevy_pathfinder/src/shaders/spirv/fill.vs.spv b/crates/bevy_pathfinder/src/shaders/spirv/fill.vs.spv new file mode 100644 index 0000000000000000000000000000000000000000..6e3aa9e73dec6b36e55100e7b3ec3203780e61a2 GIT binary patch literal 4128 zcmZ9OX?GM=5QZCK!oJC>vIKAe@t`Q1BAXzKpac>DSC}L-Fgj%7EP%KX5hN~%C@P|& zU;P<=@h7>QqsQmz?uvbKImNB_t>sqNt?o(3#FdkhWI{5Tf4?Nznv+a~Ns?(vSGw;# z*n4novo*MO{f5W%n3;5>j{3|3x$Z*Fl&VAOk0V==eaJzi4>^vEAeWI_NC*EWvj0Ys zPNIwPoyn9m>p=a?aJyCRtJcbgDwSrrwW_^tOJ&^_!iecirn9#&?jIT~pHI0-$qe>p zt2{JNt@V}9x7v;JvFc#!bm~7l_iy%;8%OHrQtocJwkPyfFO<={_$TKwcTVHmk<82J zG;UdL&kD=xu{p*ZYE)0z32U?$CG+P+b|#aOC*az98l^Mk{&uBOZp0Z~xeaqt8E5wV z4H{VXYa{z`38x%y9*3U>R~mKAslWG8+5^#ZKCR2UNpWwxf0*W({{UR8p80!krM^1e z;?DFA!MS(F9Z!AA&E~Fpy)l?^C*X$b&1$P!PiMhez4x=8o#yIDXW(pKovdBSDBP)9 zy}wlJ8H&_PML*A!vzG8vm&?xYNb~78mkQmN!d$u{OPwYI&`7F*&_^wAcmz=(0XGbn#ogHJN z_U-7i3V0W~_hfB*+4VKQ@#1|s7x|nueZuaniH$#&>prV?v9qUr9#y@<9(C~P8H>A! z?mWb~;*p#)kJuU2$9Q{v9bxSVd?SSyw>uLz(e?4U7W4l%Irhw@bk_L}A8m^Df5+|_ z+C5jC{eJy_?rk`i{&(2*H`hkq8~g5=F8M!U{05lId-gZOyB51|EMRAKa{=q`cRl>Y z2gYH)zeW3Kj<=HE`PqaxJKLznv&1{GEMk8WaaI-}3lU@N*;9x%W2`5`UHRSk_dr&+ zHhp|1f28BgZK<9lzw_kQumh2E?uPR-cB1bmjgw#PpyW6SW>jmn+tK1f20% zt-WCL$VaU&qWkVdtw+)IlebpyT5c!L;y2(Wt|1|peTB~sK;qwOi_*&nDlaE?!=+?6eFfbKf z?2Uer*FSQKwTksE)@sfAduPLlcUDJYe%{LYxU&XWF7B*_?()vGHIa7_`=B1Rw9)ND z~i7%3A*3Ez@MTUKa!vS8M;35KI3Zk&yfv?y@5?%f}65qhD&~M}t&-^u5Uv1Vr$}SgYeUC18n7q!+4~U#AxF6Bwy!#&B?VIdB zA^K{&jd-rlbcg+CG*6 zuAg`*`?4JSJk~!4F)n899`u+s->LAs7hRh@Hts&eSot&L>SAAv$omYQD>hzRH)5@U zm!s=5NSzd+Fvj2WFtn*K0u#ddP|Mcl-r-*3q~C6=Z#+~n z9;%s8%|sXtXIMqI^{HoI2HXde=;S$oU6raK{3a=aE$buBIZLdUq}`*=*PSFu+qmdz z^bo>e|G0gWwt6QY5a8FSD6b`_L*!J$#bJnjl=bqZR8(%6c>mNnQPywrCT)G(Nsg1$ zv!mc;2jun#X~&ZGvtHs3Tiwscoiyxno1&kH_%6!AUo{acbH2wUXws`X-=#?n`(6QB z;n#<5=KHSpt{L}@%f9`V^YzVlPU`Kw9M?DQ`P2Nm*0V_sxmor#xERclZ{PaPF6MWP zRZh&~pUd~gm-D;HslC8zeee4s_r0&&4E{K43@TtP_b1qE=KEf1t!FROto9;j{4%S# z^48b)y^4Bj=YVE?{rSxM_S*cb?7fHi_ETq#fu>%61^DHwcdo^I6!q@HVOhOhzthw#12>tk&4%yY#)B zk7h4_VEksybDsVm7CrkWeqZ|AsGPwRaBj}#B{|OH5|G#T{bqr0|CSu@xR7%!|GCAS z^S%e1;2BFmtubfie11{G*cIS8YF^Q~ead;J@oPYCAI~0QASX1>@ea=II#BC8&9}!J zK>h%Y`8RV;{zuN;Vjlxzh3+YbSoYT+Wk?NF|TP=^U&HZ%+0-9Omh8BdOOo;-c5 zVlFfap_+Nlxh`PG{cPy|Dz<>##2WnS_+N+VJRcpgPpEAL|7Gy8mySN9qe*%Oge`gZ#$uLcm?`wuT=3a&a*%yb)y0@~65AbQ zCvUUyq(A(WPGfd#>~t`g#u9q7N0;@i;ZNVC-wsFp;rMetItH6t-ZlI`#F<7|FGHcr zWbFGqw&#fVP}{F-wsawKTDKIb$8}m)SM(Eo_DJ<`o-jf&H@Nv?cK6f-n12Z!dCD ze}%m>kbgm3>`dj%XU*PiKI39%EN8w&y!SgF@4JC-VXo~8FR?e@8h9D6UT&S8^Ncx+ zY2LevFYhSt6_@{wGOs<{!d$E9Z{y8l9qXKQ#&YJmgSTHfdk{PKID?I9uil!iuYgVFcUjrN1bl>cfurvxqYl9|!?=ko6Ht&S& zE3Hpo+%v89;Pw`Pbe;e6V&GDrF87syJ=P7^WA61W-sAARJ4#HR!MwwL5B}T)JONz7 B5`zE$ literal 0 HcmV?d00001 diff --git a/crates/bevy_pathfinder/src/shaders/spirv/stencil.vs.spv b/crates/bevy_pathfinder/src/shaders/spirv/stencil.vs.spv new file mode 100644 index 0000000000000000000000000000000000000000..6fc53e39d29bcb62c6bc11b4e87fc9599b0cc022 GIT binary patch literal 828 zcmYk2UrPc}5XC2L)v`1*wSS1wV<0_L1W^$M_TYmd^cqr2ENpA&2GLWWtxwfU(E07| z-J0d>%$zxQX6`K(_RD4qR?)X(sWq%1#;j_k#1Dq!VSgS!^^cAZQPixM2+`C{$7PGc z%Or@1SA}(a`@BTIrHHfacA_`u?%WZB{}$uPpNpkuQ=s3SSbDWGPA=!#8OKbg>tr1LN1DdG eO@Z_1sk7IW`m)ouz&mi)3vEJ<{zo@C6@CGWDm0q_ literal 0 HcmV?d00001 diff --git a/crates/bevy_pathfinder/src/shaders/spirv/tile.fs.spv b/crates/bevy_pathfinder/src/shaders/spirv/tile.fs.spv new file mode 100644 index 0000000000000000000000000000000000000000..cfcfea4e23369a6ef207cb5ec4f864c3de2e5fd8 GIT binary patch literal 34188 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

_xN< zm9D@0T&~S|TLtXjkdJ5iK(Ly{%jbdZydShhKdXWLd-7>NtHagx_kNM|fc?AjssFlgb^X2H3Fy(u5c zw?F1J7(9czd`5u%`~1$EbKtnl)&7lXTVwcqv0cpT#$flMHt%(L*fs_0ug&{j9(ipJ zcAshU86fveYhGJ`2T&W&cG~r`A8kJOW6xO|)A!6!Z12FGE6*BR!fo>eIDEE3Q;)OZ z)?hW;M!Rjm(awJ5`bF;Bfz$hJI9zQQCHD3Ru=@5CWB6QCGlpZ_2^{n0Gfr;*?(Ll^ z`JVehr5npgR5D*%+vR7oXN+d>tmdVu_w6fn0h`6ta5)>2=Fo+9^PLd&xOfqq15^=``aaY_oP;l2j z;qh1b#dCa~d%K3~=*=mr-nZVauI}5nhrxNv7i8H$wvfNyv*I}|n+KC+CuG&!uirGf zX=SH7vGTg>SE)ET8_b1jPRUNq|h`cdSkY<~VS-(X4N2HzutvXZ_mtW2Bs2+h0S8yZ@b|8*9k>#VK(+ZxzXCxOtao5U(Fiiqu106d?jna_j<@{ zRr7N)_XLfFFEYLnH`5B(`%#3u~ z&7|{8=jW}*RkN?*CYz6Mt+#j7+q^g+t0;J5b8#H2yf^iJS2^F9?#9`RoZkw$k!E9N zU8B>jO^?^9R*dtjG&kF9_Hv#JzcU~E{uV#Gy~6KEieBV=y2ogggV~XS&en5g z{N|Qo_9ph*68mgG9pB6HfCJw##oH*)x=auuG6>$Y~ zy}oy!6AIVkoKH?4I%~=~S8&F1#d-(xdg?a7#QTl80xu`;V~ybWG05*y-=AFce}s4$ z=Hq(B!#T>bGf=4;W{iCppG{Q74`Jt^x31XS5O^V8PCE;He9jl^RPS2kLVqIh049Gc zd9i0wF0f}(yp*{;kJfgs^YGS@Q!Dm7%3T3=p2e7t`XzXC(c5s&^AC@`EyK&HQSUwu zVDi=%d!FU2@47F;vTWZ-;42HfW(9liJS#Cd&Hg>>uGRYft~i&R^~Ij|nE#p-hyEt8 zbGt6}V!wyzr{L)ZF4n)A*s~M;-A&BX>u)_kP7BRu;w<~4r@0R#SJrG-k`3Jv>wEwt zr^dZ}7+=Ml+qFJ|cR%FMyS-{u|vMvCPfFFuesvFF)4WB_yi zVf@>ekK+&Gt>wO`7kkG<{ZCTtoaV*eIp)Ql0q>l0{Vx+KGy#Wrh<2@ z_s4NqybtlIefZ2iJk*C*^kM(cRIazK4{z+l{=X;mp4**$xY37O39qJqztxkmldu-p zI;SM=c2?`!#GyT%*!wNCXAsM&b=_jM);SAveBiT*)x47KnsbQN$lnRK1b;rZ2=g9{ zaZ3}wKaINp>{xl{b${j5FT-DiU5L%3J}ypN)Vl;+?&DIh8u_hhj?0NJOZH~st^lhw z=e$FBIeWhbe=X*H7`?l<*Cjso>-xk+%^Sepx$@TZEXdib_v0R|{;;ajyRv%(ZS~&pflwCJxu*o=e<7iF-bA){e0+ByJEN=l4Zo zYg!|?mxvv&Ue4dkmoc^GVom#qy;lyRS%7~9Q@0O`{$C|_|F)n|^BN|n`Pg%O8?Wba zq46Ehf#qVpH;IQZ?-G9_-@)F(-p14%kAD}FkMH%p#Kj)G54Mg^a32uM*~?aTc|ZO` zOszR<*v|pHe5~zbV&9j!kMQE?<8$KAu;}9pVmY;+;>E7xDE@ow2(}n={9*hLn7r71 z`w?@mqvxLzhwE`aC$3mWan62$Q)_M#yAtz#dA5GVoJWnl9K`>I9m4FzUd8JEW_NDF F{sFH#v~&Of literal 0 HcmV?d00001 diff --git a/crates/bevy_pathfinder/src/shaders/spirv/tile_clip.fs.spv b/crates/bevy_pathfinder/src/shaders/spirv/tile_clip.fs.spv new file mode 100644 index 0000000000000000000000000000000000000000..1afaa037977a62e5e032a5b45a3ff4381dff696c GIT binary patch literal 1128 zcmYk5T~AX%5QbOEL4*n-0s?-Vg5M;>3p6H1jgrU>7bZ1$Nlw}Zjm6U(3*l1!n!m~$ z5}#+!*`(V{XWw^bc4pshTT|QDL%0@Z`Rs&xErltV5az>7^aqFC!`XNoVQin?^7LLu%~ z+0Ve`*c$cfCswnZ?^(Q@wvKXhc;lWwxe~T!z6qH7w!z-hwL#Yfym^a}@prEC#NN-f z$y~Sbp5a_~@b-0nYgh30l(&aiE#!=^do_&t57}F556=_ln4J0Y zk1$ulk0bi?!G2HK`y;$w#Uh`(0TTNYZ|6nq_xoYg2OtsGLdlJ7Rt_C+TH59AY z5~fy1oT5(4m^t$1sLL9rCf~^Mth<g0)8O2)^D(W0is3?mZV;gh$->bY}$ovtX;CZ65>@a{Z}Ub zDsN1DpR=91rxNS$HNWHs{f?*;T4;%KOtd z&qsr-6a5JBGaJ2;t<{fC_M$Wk2HkLMqwCnd_xod8Mg63&thTyIpSTk_!1M>q0^3Z; z1IAXgbNAwT<_0GB2i=(avS#va%#ja{-TcS_S3HXj$K2bp5D&jaeY4la;e);`t*X5y zS?8F-Ox_`_+kfJ|FGADu@f6RxGsUieoOm=gu1bV8zYW8-IdN+`p2E`X|G9G z)C|5aA;zlk1MT?3tx2Qb76ThX-gWKNfStVH{P&v2rJhF;mi4CT(eRh`=CLpwVm|&4 z!wuh=&r{jp5cAoT&Z3ST?bJby+v+*9J#aASax~yds@9VEC%^VvcLV_`q9^>(b#Z z$EtKV%fUV1h)GR1C2-{DJ%O{i`BdHr z{k}QC;Fjgu|G)mdPLtZ`b|Zw5FwWmz$j@vTg$ZFQ)HC0@Y+oMSKU^Oi9UrQg4z*0E z=2K{dF}&9A-2OB00b9Xl(8*JPTaBzCyznT3t?DC~31Sb)#uD++8 zn+o5cW(Y&re)4D7?Ivma_9^jAol3?$-FM-L`m=e6+)>uwAkW+zqEs#LXOL*gb7jusu}uV)d*o)5rK~ zTx{HW^ZeI0vu)?x68Ab>j4jiT-$JY|29M+AG~<(a<9;9G&N_n0pB300$ZZs}`c~}> z-n`DQR_y$8i{LqYjQMuI!1LTazF)wrE%SZm?k}yZEp}gWEBsM5}~*NT8z zdlI`-&nng2y}Hee$-jjRSxF?aS8 zR(`tR}{L0ur5Nj|NIW>^;#LkA}G)sqhUXAvl6ZpFz0&M=KQVysnZ*M?2WSCcSGiiE5_nYb!HKFt{hJX z+4MRxikR~dd*4sbKBVKUJNVq2#oUUqNxwgf*^j$WoFlsta)N`_1(AFKE8F=QAPe$ ztTFSw`x@3>-KD)<$0n#^zWxo=ySMRgV&#kNaB}ythB4K9ZeiVzar@FQ{x0QL!)<)? zyw{l$teCkCY_W?XSATbgRr9wrF5e#QXAf1Pe?RwrzO~+C&i3McFZd?R^>+2d658QrXWmEU8rwtN&2MTLdxUzA9D8wBE!4NN N7kky0_m8SC(f?_+TIB!$ literal 0 HcmV?d00001