BLENDER_v241REND pSceneSRtumuSR1-Animation`/(uuuXuuw DATA`/(n8uDATA8unu`/( DATAunȎu8u DATAȎunuuDATAunXuȎuDATAXunuuDATAunuXuDATAun0uuDATA0unxuuDATAxunu0uDATAunuxuDATAunPuuDATAPunuuDATAunPuDATAuo(u8uuDATA(uopuu`/(ȎuDATApuou(u8uXuDATAuoupuuuDATAuoHuuXuuDATAHuouuuuDATAuoؓuHuu0uDATAؓuo uuu0uDATA uohuؓuuuDATAhuou u`/(xuDATAuouhuuuDATAuo@uuȎuuDATA@uouuxuuDATAuoЕu@uuuDATAЕuouuXuPuDATAuo`uЕu0uPuDATA`uouuuPuDATAuou`uxuuDATAuo8uuuuDATA8uouuuuDATAuoȗu8uuuDATAȗuouuXuxuDATAuoȗuPuuDATAXuqu`/(xuuȎuOPuXuXuxuDATAXup0uLink and MaterialsEditing>DATA0upuXuMeshEditingF>DATAupu0uAnim settingsObject>DATAupuuDrawObjectF>DATAupuuConstraintsObject>DATAuphuuEffectsObjectDATAhup@uuHooksObjectF>uDATA@upuhuParticle InteractionObject>uDATAupu@uSoftbodyObject>uDATAupȡuuOutputRender>DATAȡupuuRenderRenderF>DATAupxuȡuAnimRender>DATAxupuFormatRender>DATAPu^Xu333?V,@DhCDhCC(BDC?z?DATATXu`Pu333?V,/9DATAuquXuXu8uuu !  DATAuquuuPu0uuG==o?03#uuuDATAupuTransform PropertiesView3d>DATAupu3D Viewport propertiesView3d>"DATA03#Yu333?V<????????G==o? A*A?G==o??????*A8Ry B??=C ݢM@ݢM@ݢM@?DATATu`03#333?V</9DATAuquuu0uuu??PףHuXuuuDATAupTransform PropertiesIpo!>DATA(u]Hu333?V\zC̽̌?zC@ #< #<`jFzD OBzC̽̌?DATAHua@uu333?V\CC|||??l|DATA@uuHu 333?V\zCCHBC|||?CFC= ADATAxudu@u 333?V\`w =rttDATAucuu 333?V\?zDzDBCl||ll|zDzD=HB DATAupuu 333?V\BCBCl|llFzD #<HB DATApuYXuu333?V\??? ???? A???PA A!O?j?}GCHB? A8Ry B? #<CDATATXu`pu333?V\/9DATAuquuuuuu u0uuuDATAupuLink and MaterialsEditing>DATAupuMeshEditingF>DATAufXu333?VLzCB{ µCB ?BFB= ADATAXu(uu 333?VLzCCHBC$?CFC= ADATA(u^0uXu333?VL#DhC`DpJgChCC(BDC?z?DATAT0u`(u333?VL/9DATAuquxuXuPuu} ?=o?.hu0uuuDATAupuTransform PropertiesView3d>DATAupu3D Viewport propertiesView3d>"DATAhuaHu333?YDATAhup@uuLampLampF>DATA@upuhuSpotLamp>DATAupu@uTexture and InputLamp>DATAupuuMap ToLamp>uDATAupuuPreviewMaterial>DATAupxuuMaterialMaterialF>DATAxupPuuPreviewWorld>DATAPup(uxuWorldWorldF>DATA(upuPuMist Stars PhysicsWorld>DATAupu(uTexture and InputWorld>DATAupuuMap ToWorld>uDATAupuuOutputRender>DATAup`uuRenderRenderF>DATA`up8uuAnimRender>DATA8upu`uFormatRender>DATAupu8uLink and MaterialsEditing>DATAupuuMeshEditingF>DATAupuuMesh ToolsEditing>DATAuppuuMesh Tools 1Editing>DATApupHuuCameraEditingF>DATAHup upuShadersMaterial>uDATA upuHuTextureMaterial>DATAupu uAnim settingsObject>DATAupuuDrawObjectF>DATAupuuConstraintsObject>DATAupXuuScriptlinksScript>DATAXup0uuEffectsObjectuDATA0upuXuMap InputMaterial> uDATAupu0uMap ToMaterial> uDATAupuuAnimAnim>DATAupuuSoundSound>DATAuphuuListenerSoundF>DATAhup@uuSequencerSound>DATA@upuhuArmatureEditingF>DATAupu@uRampsMaterialF>uDATAupuuMirror TranspMaterial>DATAupuuMist / Stars / PhysicsWorld>uDATAupxuuAmb OccWorld>DATAxupPuuShadow and SpotLamp>DATAPup(uxuModifiersEditing>DATA(upuPuShapesEditing>PuDATAupu(uRender LayersRender>uDATAupuuLinks and PipelineMaterialF>DATAupuuPreviewTexture>DATAup`uuTextureTextureF>DATA`up8vuColorsTextureF>uDATA8vpv`uImageTexture>DATAvpv8vAnim and MovieTexture>DATAvpvvObject and LinksObject>DATAvpvvCurve and SurfaceEditingF>DATAvppvvCurve ToolsEditing>DATApvpHvvCurve Tools1Editing>DATAHvp vpvYafRayRenderF>uDATA vpvHvYafRay GIRenderF>uDATAvp vYafray: Shadow and PhotonsLamp>DATAv^v333?u EhCuEIa<)CC(BDC?z?0|y߂mDATAvY vv333?u??? ???? A??@PA Aj?c3>}GCHB? A8Ry B? #<CDATA va vv333?u M M M??DATAT v` v333?uSave JPEGi:\www.art-atel.com_2006-08-27\htm\program\blender\help\htm\pyscripts\eip\sketchboard\test.jpg DATA@vq@vuuuuXu@r@rDATA@vqv@vuxu0uu) [=C@=o?;[;;[ <Ttvvd)d)@vvDATA@vpvTransform PropertiesView3d,7>"DATAvp@vView PropertiesView3dT>"DATAvYv333?@v???J׾P"????J?>P"@?) [=C@=obۼ1f<?5A&1AyJ?>P"@?) [=C@=o????J׾P"??5A8Ry B??==CJ׾P"7?X<@@@~YNhy@??DATAxvdvv 333?@v`w! 8><>6DATA vevv333?@vDATA(v](vv333?@vzC̽̌?zC@22 #< #<`jFzD OBzC̽̌?DATA(va vv333?@v 1 12 1??2DATA vv(v 333?@v?zDzDBD22FzD #<HB DATAv^v v333?@vDdC8CnD fCC(BDC?z?DATATv`v333?@v SELECT IMAGEfront OBJI:\blender_all_files\blender_242\files\sketchboard\.\ender\der\scripts\s/cloudMask.pngendt.py kDATAvq(v@vu(upuuW+@? JL  @vH'vvhvDATAvphvTransform PropertiesView3d,>DATAhvpvView PropertiesView3dT>"DATA@vb(v333?vC;C^ݽ=?ILj? w #? DATAx(vdv@v 333?v`w=  T>DFDATA ve( v(v333?vDATA( vY#vv333?v>5?9GEl >yuC=#N?E?%‘Z.#?>ElC=5?">$N?9G|uB?$Y@&A?n|?j?PNG?9G?#v> v>yu> s>a?|EqC"B.#BF >#}*='D>_ӌ>R5?9GEl >yuC=#N?E?%‘Z.#?0??X>Z>4B8Ry B??6;=C?`\7?X<AAA?yN;@?DATA(#v]h$v( v333?vzC̽̌?zC@22 #< #<`jFzD OBzC̽̌?DATAh$va`%v#v333?v 1 12 1??2DATA`%v@&vh$v 333?v?zDzDBD22FzD #<HB DATA@&v^H'v`%v333?vDdC8CnD fCC(BDC?z?DATATH'v`@&v333?v"SELECT IMAGE PICTURESe:\lender_all\texture\.\Folder/ender.app/Contents/Resources/test.pnggggpngpng  DATA(vqh6vvxuuu0u(>>o?;];]w;x <6+v4v8x'8x')v*vDATA)vp*vTransform PropertiesView3d,`>"DATA*vp)vView PropertiesView3dT>"DATA+vYh.v333?(v?3?3-???3/3?4-????(> 22n;>d:L}?Z@kc3ũR@zC,????(>>o??3?3-??5?5Z@8Ry B??<=C-뿎7?X<?&4?˿&4~YNhy@??DATAh.vbP/v+v333?(vCC+>|ŗ?颋<{?pT2w?DATAxP/vd/vh.v 333?(v`wI >RTdDATA /veH0vP/v333?(vDATA(H0v]1v/v333?(vzC̽̌?zC@22 #< #<`jFzD OBzC̽̌?DATA1va2vH0v333?(v 1 12 1??22v2vDATA,2vCS@ffwDATA2v3v1v 333?(v?zDzDBD22FzD #<HB DATA3v^4v2v333?(vDdC8CnD fCC(BDC?z?DATAT4v`3v333?(vSave AsT FILEATHRESi:\www.art-atel.com_2006-08-27\htm\program\blender\help\htm\pyscripts\eip\sketchboard\test.blendnished.blendseline.blend_ DATAh6vqAv(vu0uuu6?@AHM=[==[Tt9v8@v4t4th7v@8vDATAh7vp@8vTransform PropertiesView3d,>DATA@8vph7vView PropertiesView3dT>"DATA9vYt(v7t? >ԾLH??YJ9$v7 >t?St >(>z7@?5?gS8S8?bju?t?d7?fC +]Կ@H@M? +7 ">>@YBe֟ @H[•~aA(@6?@AHM?S`J >t(v7t? >ԾLH?M?m7{7IA8Ry B??9;=C䲊wؿ #?7?X<<@<@<@~YNhy@??DATA(vv0?vX=v 333?h6v?zDzDBD22FzD #<HB DATA0?v^8@vP>v333?h6vDdC8CnD fCC(BDC?z?DATAT8@v`0?v333?h6v SELECT IMAGE PICTURESe:\lender_all\texture\.\Folder/ender.app/Contents/Resources/sketch_test.png.pngpng  DATAAvqQvh6v0uuPuut(>Hn>o?=]=]w=x6pDvOvssBvCvDATABvpCvTransform PropertiesView3d,>DATACvpBvView PropertiesView3dT>"DATApDvYXGv333?Av???R.? ?%%???R>.??t(ot(>HnHn>o!9L"-;?p p@p&M&M@z?R>.??t(>Hn>o????R.??p@8Ry B??<=CR.7?X<@@@~YNhy@??DATAxXGvdHvpDv 333?Avw =HJ2DATAHvaKvXGv333?AvCdC:: 1??:HvDATA Hv338IvDATAd8Iv3ww \yyqyH}yw0|yP,wXy@yqyH}yw0|y`UyyqyH}ywP,weyywyy wy(w_yyby`wNyyoy0iyy`zylyytyxygw`~y(4wKy0w8Ryw0|yP,wDATAKvbLvHv333?AvC0D᝿@?SL> DATA(Lv]NvKv333?AvzC̽̌?zC@22 #< #<`jFzD OBzC̽̌?DATANvNvLv 333?Av?zDzDBD22FzD #<HB DATANv^OvNv333?AvDdC8CnD fCC(BDC?z?DATATOv`Nv333?AvLSave FileNT PICTURES/Users/ton/Desktop/umpbug Folder/ender.app/Contents/Resources/untitled.blend DATAQvq^vAvuuuuW+@? JLgg 0Tv0]vRvXSvDATARvpXSvTransform PropertiesView3d,>DATAXSvpRvView PropertiesView3dT>"DATA0TvbUv333?QvCHCZ?}fNʌ? `w #??DATAxUvdUv0Tv 333?Qv`w=  T>DFDATA UveVvUv333?QvDATAVvYXvUv333?Qv>5?9GEl >yuC=#N?E?%‘Z.#?>ElC=5?">$N?9G|uB?$Y@&A?n|?j?PNG?9G?#v> v>yu> s>a?|EqC"B.#BF >#}*='D>_ӌ>R5?9GEl >yuC=#N?E?%‘Z.#?0??X>Z>4B8Ry B??6;=C?`\7?X<AAA?yN;@?DATA(Xv]PZvVv333?QvzC̽̌?zC@22 #< #<`jFzD OBzC̽̌?DATAPZvaH[vXv333?Qv 1 12 1??2DATAH[v(\vPZv 333?Qv?zDzDBD22FzD #<HB DATA(\v^0]vH[v333?QvDdC8CnD fCC(BDC?z?DATAT0]v`(\v333?Qv"SELECT IMAGE PICTURESe:\lender_all\texture\.\Folder/ender.app/Contents/Resources/test.pnggggpngpng  DATA^vqkvQv(u++puW+@? JL   havhjv_v`vDATA_vp`vTransform PropertiesView3d,>DATA`vp_vView PropertiesView3dT>"DATAhavbPbv333?^vC?Ch?Z%˘?  wq?0DATAxPbvdbvhav 333?^v`w=  T>DFDATA bveHcvPbv333?^vDATAHcvY0fvbv333?^v>5?9GEl >yuC=#N?E?%‘Z.#?>ElC=5?">$N?9G|uB?$Y@&A?n|?j?PNG?9G?#v> v>yu> s>a?|EqC"B.#BF >#}*='D>_ӌ>R5?9GEl >yuC=#N?E?%‘Z.#?0??X>Z>4B8Ry B??6;=C?`\7?X<AAA?yN;@?DATA(0fv]gvHcv333?^vzC̽̌?zC@22 #< #<`jFzD OBzC̽̌?DATAgvahv0fv333?^v 1 12 1??2DATAhv`ivgv 333?^v?zDzDBD22FzD #<HB DATA`iv^hjvhv333?^vDdC8CnD fCC(BDC?z?DATAThjv``iv333?^v"SELECT IMAGE PICTURESe:\lender_all\texture\.\Folder/ender.app/Contents/Resources/test.pnggggpngpng  DATAkvqO(^vuPuXuuW+@? JLiiii EnvwvlvmvDATAlvpmvTransform PropertiesView3d,>DATAmvplvView PropertiesView3dT>"DATAxnvdHov 333?kvw = =DATAHovb0pvnv333?kvC;C`q8?n=>>"U?>wp??DATA 0pvepvHov333?kvDATApvYhsv0pv333?kv>5?9GEl >yuC=#N?E?%‘Z.#?>ElC=5?">$N?9G|uB?$Y@&A?n|?j?PNG?9G?#v> v>yu> s>a?|EqC"B.#BF >#}*='D>_ӌ>R5?9GEl >yuC=#N?E?%‘Z.#?0??X>Z>4B8Ry B??6;=C?`\7?X<AAA?yN;@?DATA(hsv]tvpv333?kvzC̽̌?zC@22 #< #<`jFzD OBzC̽̌?DATAtvauvhsv333?kv 1 12 1??2DATAuvvvtv 333?kv?zDzDBD22FzD #<HB DATAvv^wvuv333?kvDdC8CnD fCC(BDC?z?DATATwv`vv333?kv"SELECT IMAGE PICTURESe:\lender_all\texture\.\Folder/ender.app/Contents/Resources/test.pnggggpngpng  DATAO(qkv+uu+W+@? JL     0(+sX4,DATAspX4,Transform PropertiesView3d,>DATAX4,psView PropertiesView3dT>"DATA0(bs333?O(CC?R˼媁? gwq?0DATAxsdxNt0( 333?O(`w=  T>DFDATA xNte,s333?O(DATA,Y@,xNt333?O(>5?9GEl >yuC=#N?E?%‘Z.#?>ElC=5?">$N?9G|uB?$Y@&A?n|?j?PNG?9G?#v> v>yu> s>a?|EqC"B.#BF >#}*='D>_ӌ>R5?9GEl >yuC=#N?E?%‘Z.#?0??X>Z>4B8Ry B??6;=C?`\7?X<AAA?yN;@?DATA(@,]P+,,333?O(zC̽̌?zC@22 #< #<`jFzD OBzC̽̌?DATAP+,a0X(@,333?O( 1 12 1??2DATA0X(Ȩ(P+, 333?O(?zDzDBD22FzD #<HB DATAȨ(^+0X(333?O(DdC8CnD fCC(BDC?z?DATAT+`Ȩ(333?O("SELECT IMAGE PICTURESe:\lender_all\texture\.\Folder/ender.app/Contents/Resources/test.pnggggpngpng  SRt(yvmvuSR3-Materialodel Singyvx}v}vv8v0vw DATAyvnzvDATAzvn`zvyv DATA`zvnzvzv DATAzvnzv`zvDATAzvn8{vzv<DATA8{vn{vzv<DATA{vn{v8{vDATA{vn|v{vDATA|vnX|v{v,<DATAX|vn|v|v,DATA|vn|vX|vDATA|vn0}v|v,DATA0}vnx}v|vDATAx}vn0}vDATA}vo~vzv`zvDATA~voP~v}vyvzvDATAP~vo~v~vyvzvDATA~vo~vP~vzv8{vDATA~vo(v~vzv8{vDATA(vopv~vzv{vDATApvov(v`zv{vDATAvovpv{v{vDATAvoHvv8{v{vDATAHvovvzv|vDATAvo؀vHv8{v|vDATA؀vo vv{vX|vDATA vohv؀v|vX|vDATAhvov vzv|vDATAvovhv{v|vDATAvo@vvX|v|vDATA@vovv|v|vDATAvoЂv@v|v|vDATAЂvovv|v0}vDATAvo`vЂv|v0}vDATA`vovv{vx}vDATAvov`vX|vx}vDATAvov0}vx}vDATA8vqvyvzv8{vzv?@Pף;;!vv8vvDATA8vpvOutputRender>DATAvpv8vRenderRenderF>DATAvpvvAnimRender>DATAvpvFormatRender>DATAvf`v333?V\~CA~CA!?AFA= ADATA`v0vv 333?V\zCCHBC ?CFC= ADATA0v^8v`v333?V\DhC?DhCC(BDC?z?mDATA8vY v0v333?V\??? ???? A??@PA Aj?c3>}GCHB? A8Ry B? #<CDATA vav8v333?V\@̌AR|B1@lA A@CC #<@DATATv` v333?V\/9DATAvqv8v{vzv`zv{v !  DATAvqvv|vX|v{v8{vG@? JL-=-=W-X~vvvvDATAvpxvOutputRender>DATAxvpPvvRenderRender>DATAPvp(vxvAnimRender0>DATA(vpvPvFormatRenderH>DATAvpؖv(vPreviewMaterial>DATAؖvpvvMaterialMaterial>DATAvpvؖvShadersMaterial0>DATAvp`vvTextureMaterialD>DATA`vp8vvMap InputMaterial\>DATA8vpv`vMap ToMaterial`>DATAvpv8vRampsMaterial>ؖvDATAvpvMirror TranspMaterialH>DATAv^ȝv333?VChCCvgCC(BDC?z?DATAȝvYvv333?VJ>H!?)xu?i6>Pbܗ=(?^L?a?滎z?J>#xu?ܗ=Hi6>(? ?Pb^L?\FAA?4[?[!?@jG>gb>Pb>4Im>k&?]M^L<0@AzA=>Kc<2֍7&> ?:x¸A1vB,jB~@G@? JLJ>H!?)xu?i6>Pbܗ=(?^L?a?滎z?@?$$OA8Ry  B?=Ch?j(4?t'>dDATA(v]vȝv333?VzC AzC A #< #<`jFzD OBDATATv`v333?V;SAVE FILE/usr/home/intrr/blender/blend/untitled.blendDATAvq`vvzv|v|v|vU.=w=o?+=+=W+X,XvةvDATAvYxv333?W???h?j(4?t'>????hj(4t'?U.=w=o??OA8Ry  B??=Ch?j(4?t'>dEh@Eh@Eh@?DATAxv^vv333?WDdC>9C,DeCC(BDC?z?DATA(v]ةvxv333?WzC AzC A #< #<`jFzD OBDATATةv`v333?W SAVE FILE/Users/ton/Desktop/der/blend/untitled.blendDATA`vq0vv0}vx}vX|v|ve?B$?AHM+++US`vvDATA`vYHv333?W |ݕ/?U~'?3F:?>T8165e?2>Z& 4?ߕ/?7F:?81W~>85e?'?T2>ne@>M@?4z?'''䷄?K??T?v|@?l211A 4Atp>?@@FC>G ?4xB֟&BĭeA(@e?B$?AHMݕ/?U~'?3F:?>T8165e?2>Z& 4?H?N,Z#OA8Ry  B??=Ch?j(4?t'>dA@A@A@?DATAHv^Pv`v333?W |DdC>9C,DeCC(BDC?z?DATA(Pv]vHv333?W |zC AzC A #< #<`jFzD OBDATATv`Pv333?W | SAVE FILE/Users/ton/Desktop/der/blend/untitled.blendDATA0vq`v|v{vx}v0}v&=+=o?US0vxvDATA0vYv333?W ?3?3:-vk(4??3?3;@k(40v@?&=PU1n;+=ꉖø;ZO{:?JXA54U0AC;@j(40v@?&=+=o??3?3:-vk(4?5?5IXA8Ry  B??=C:j(4?.vdٚ@ٚ@ٚ@?DATAv^ v0v333?W DdC>9C,DeCC(BDC?z?DATA( v]xvv333?W zC AzC A #< #<`jFzD OBDATATxv` v333?W SAVE FILE/Users/ton/Desktop/der/blend/untitled.blendSRtvmv(yvSR4-SequencevPvv8vvvw DATAvnvDATAvn8vv DATA8vnvv DATAvnȼv8vDATAȼvnvvDATAvnXvȼvDATAXvnvvDATAvnvXvDATAvn0vvDATA0vnxvvDATAxvnv0vTDATAvnvxvTDATAvnPvvDATAPvnvDATAvovv8vDATAvo(vvvvDATA(vopvvvȼvDATApvov(vvvDATAvovpvȼvvDATAvoHvvvXvDATAHvovv8vvDATAvovHvXvvDATAvo vvXvvDATA vohvvv0vDATAhvov vv0vDATAvovhvvxvDATAvo@vv0vxvDATA@vovvXvvDATAvov@vvvDATAvovvxvvDATAvo`vvȼvvDATA`vovvvvDATAvov`v0vPvDATAvo8vvvPvDATA8vovvPvDATAvqpvvȼvvvvvvvDATAvpXvOutputRender>DATAXvp0vvRenderRenderF>DATA0vpvXvAnimRender>DATAvp0vFormatRender>DATAv^v333?WDhCvDhCC(BDC?z?DATATv`v333?W/9DATApvqpvvXvv8vv !  DATApvqvpvȼvvPvv8=i>o? pvvDATApvf8v333?W&~CB~CB ?BFB= ADATA8v_vpv333?W&zCAzCA  A@FB= A DATAvYv8v333?W&????????8=i>o?fffAD&@??fffA8Ry B? #<CDATATv`v333?W&AVE TARGA/t1.blend9DATAvqvpvxvvv0v8=H>o?UUU v@vDATAv_Xv333?W*zCAzCA1||1 A@FB= A DATAXvY@vv333?W*????????8=H>o?fffA*@??fffA8Ry B? #<CDATAT@v`Xv333?W*AVE TARGA/t1.blend9DATAvqvvvXvvxv8=>o?SSSTvvDATA(v] v333?W.B̽̌?B̽̌? #< #<`jFzD SQB̽̌?DATA vYvv333?W.????????8=>o?fffA@??fffA8Ry B? #<CDATATv` v333?W.OAD FILE/9DATAvqvvv0vPv8=i>o? vPvDATAv_hv333?W1zCAzCA A@FB= A DATAhvYPvv333?W1????????8=i>o?fffAD&@??fffA8Ry B? #<CDATATPv`hv333?W1AVE TARGA/t1.blend9SRtvmvSR5-ScriptingvvPv@vvXww DATAvnvDATAvnvv DATAvnXvv DATAXvnvvDATAvnvXvDATAvn0vvDATA0vnxvvDATAxvnv0vDATAvnvxvDATAvnvDATAPvovvvDATAvovPvvvDATAvo(vvv0vDATA(vopvvv0vDATApvov(vvxvDATAvovpvvvDATAvoHvv0vvDATAHvovvxvvDATAvovHvvvDATAvo vvvvDATA vohvvvvDATAhvov vXvvDATAvovhvxvvDATAvo@vvvvDATA@vovXv0vDATAvqvvvv0v !  DATAvqvvvvvxvz==o?8v vv`vDATAvp`vTransform PropertiesView3d>DATA`vpv3D Viewport propertiesView3d>"DATA8vY v333?Y.|????????z==o?&A*A?z==o??????*A8Ry B??=C ?@?@?@?DATAT v`8v333?Y.|/9DATAvqXwvvv0vXv??Pף LvwvvDATAvpTransform PropertiesIpo!>DATAxvd(v 333?Y/|`w> =DATA(vbvv333?Y/|CCx??|?DATA(v]hv(v333?Y/|zC̽̌?zC@;; #< #<`jFzD OBzC̽̌?DATAhva`vv333?Y/|CC|||??l|DATA`v0vhv 333?Y/|zCCHBC|||?CFC= ADATA0vcv`v 333?Y/|?zDzDBCl||ll|zDzD=HB DATAvv0v 333?Y/|BCBCl|llFzD #<HB DATAvYwv333?Y/|??? ???? A???PA A!O?j?}GCHB? A8Ry B? #<CDATATw`v333?Y/|/9DATAXwqvvvxvvO(w0wXwPwDATAXwp0wLink and MaterialsEditing>DATA0wpwXwMeshEditingF>DATAwpw0wAnim settingsObject>DATAwpwwDrawObjectF>DATAwp wwConstraintsObject>DATA wph wwEffectsObjectDATAh wp@ w wHooksObjectF>wDATA@ wp wh wParticle InteractionObject>wDATA wp w@ wSoftbodyObject>wDATA wp w wOutputRender>DATA wpw wRenderRenderF>DATAwpxw wAnimRender>DATAxwpPwwFormatRender>DATAPwpxwScriptlinksScript>DATA(w^0w333?Y0|ChC#DhCC(BDC?z?DATAT0w`(w333?Y0|/9SCwWSCScenetageain8RywwwwH>8j~YNhy@?~YNhy@?~YNhy@?=Pwwdd??< 2 dd??Z  @????L?fff??@ A???o:?L=//backbuf/tmp\//ftype@&#@^@&^#D8`,DATAwO0wW \yDATA0wOwwWXyDATAwOw0wW`UyDATAwO wweyDATA wOpww._yDATApwOw w.byDATAwOwpwNyDATAwO`ww0iyDATA`wOwwlyDATAwOw`w.KyDATAwOw .8RyDATA(PwN,d'=A@DATAwVZ ?o: IM0wP,wIMcloud.png.001//cloud.pngX*Xtu-p Xw!DATAXwywDATA|wPNG  IHDRtue@IDATx[n9F~,{KA b@Q[lvɨ ߿AH~o=F."'部Qͷoϧ?q%t98sqG˗|=!vBe^x.ReCrW,2gHS}ޚIl(\cTws{N]DVY ."صe]D$ 4dL{'uB3d>&Ą 웷 sR't@- ֊ImX#t)n7"[ׯ_S'tBl ڲkRoz. ]2o&#RF)wPBdZiZgR/ܪՒK|H"yO}%cf ]67AJ7JIХGRϝo-}Z1BeN. H{Jlմe提 ]^آl*Z^us;,9Beޛh_[Y&s7R'tٱj[z|uɖ;R>5HW* oiecA.Z-j)r?^.UwAW[{H=okG ]z~# yTqwxMߨZϨ?\J2󤾦ǫ:~c"E|7z0=^IB蘾aUF ]vMs"+8շNҁ|y &I9e]8Ĵ]]Tc)ߗzF ]RϷ z=v!t1؁ԇU L:Mg[|Vg߄%tY'a*=o c/##t;4|KabUz9ױc_-!t ūt =n⬡  ܉PuRy&h.\ީzO_ U5pP8Qo[\@](KA}{hdǫC"ڭb.M"eS?m:_FrCx[]tD*:"tYV]`F׺P.srO豃 ]ޓ>_O't^oookEdf(:H͵Ik9G]W1/PB8w=Hj)N?ﰮ[s| }ύ+W!rSNFD\ֆ[섻ԞܩyV_؏ xˏ^x'O-.\[}j7im5/=-&FZBļэOXSo99HT>Gf~D=3"؋|ïR'B'sG`ҶQRO'BpegНR)97I {An>3H6ӌ(U$ %졫->:a/-9ZIۄ ^[hD36ntB7BBCWk @gBڬyR+OKnS@KBOӗ}rP O?r? ?]$sk3GS ?}LV6. +X[ l-ӄ^k"z]x>u2TdRUC$U<j9l+XK)oԵˉㄾB5zLl2z*<<*N^Βv^G#Z4\<h`B<}#-OM2Lh89ԋ)+sBdB\XT[0DЦGW7AE2~Ѝ(@2O2 fh2O-s :cLqP豐?ЦS㸹Ik@2_-瓇SD`e2k:4'Ft%/%'n*%2'thoDWy238*$s:'%㉣B7U層=qXϼ*⛠BO? k|?[+s:$򼽒? MQؖX6_ vy$K s!OBOe:k"zz+xTy^^^.L@|ӬR&g, :KUc91Úϔ䙢p7?#! wz:;WQVq*S$^K"Qʴ +R*>*t.@|?Vw=%R ck+Vዄ@O+|wëK|T!u7H.ڈa9~~:6x^VsQBzВkc[s AsrN>fH ]j\y۴ ,%~ b#[H{N']FWx>=g= ʏTpє z <='$tm\Q<`J`CUZNR;^|oacDܭ NZE:%*t sJOO >+2Q]Ljafo+Nh^*﩯I+V\-C_glj_7{ bB/_0.G}9ը: xnkVqG %u*=n <06o_ Eh txt ==zc\rO+Fޜȅ^TsoGOx\\񢯝7DCgz /"kܽ-j=Y->5_<*cFЧZgeH#B$urv`4EDrҮ3 IENDB`IM0P,w2wwIMcloudMask.png.001//cloudMask.png-l --xxk q-w DATA-w-wDATA-wPNG  IHDRtuegIDATxAJ,AEu@A[@$6ʿz33߸P b.nfY0.f Ec.nfѠY$.f b.nf Y$.f yWA7sQ7A7sQ7A7sQt3sQttt{dlWM-7ut ƍ c]̅Í]M̅ĝE]MD]Md"qAD&]M#A=]MA=D]MA<D]MA<]M#A<]M#A= D]M#B=!]M!b}E_8CA7AW.ttvA71attvAtv1suA71QttvA71QtAQFA"QFAD]MAD]HG] ttuA71AtAD]HG]$tsuA7AQtAD]HG],D],D]0]0]0]4wDYA=ZAW#   ..ւD.bD.؂L` :` :  QlA]&E]tAtAtAtA] :O..ppXutQsAsA`lQA tA tA@?毃@ :b5:{ctDb. :0)Gtf\"1tH sA\"1tH@sA\B1t@ qA\"!\DB. :@ :qtH."."$: ⡠:  ӂ.ꀐ.ꀈ : : $mӂ. & Pfӂ.Y(袎p.ꈶhM #f#z3K݃{C4;<軣 {Ń#lQ 33;\<١63 f߻fAIENDB`IM02w(4wP,wIMgrass.png.001//grass.pngP!IM0(4wgw2wIMtestMask.png//testMask.jpg&e p e 9g /qאېPϐ5w DATA5w15wDATA15wJFIFHHCC~^"  k +YJ ~ a$%B|R /p—0d2$~8_q{ހ9"8 &vN a'xDpv/do/Rx}w6;á8\~PJ 6ZKEQt_1F봰 9Oa-f@@4ABw+BQ7w_A(\t`&yJ+~, qu]_ _?a \@ǓGyn@9@3H;lĘ_}gyrT'Ρy?P04ώBw /`Y͎Y}fGM{ /{=cI 2/͞dj;r|-|ϡ*BO_z>,>׳$6[#7—@65|0>rE)o| 3?xiFc?2BP&@0P 7EׯӀzL0/b~(*]tPh.QZrԦ'R KF3m)(Zrrf1|b WpO of"ms,Y)j#8)gPfI„(cegX~f=E4㴫Wy]%;\Z[ \[6lZPTQv7qu >dz< S?5(c1Mg٭VMD"4LiZ\%`syl9q@YW^H V=گ ?5rY813v odEdsռM.rbxZy{T W |ҹĵ]p(qf s̉~!=s؏GXX?qeX7=4tBKAUTiFR(,9ۙ98VQyeỊj9\N9p3FYqمUҰ *1\!PQycsfP<܊ɓLlv]9&=1Wb`LQgAAO3![4 1b=mtnr섀\E`LL=X6tu^F Źrn%,]i{r^W|Ay.F;$9qq}BȢQ4 i$B.Gbe#G,cmW4 x%m6݃.s%^jy{29m-&AHD?iL,_x 6ɖp4J%Gp=DXe& ~(C% d@\r$yNnj=^j7pJDTmZg1g(/x%9\ILn>38 Yc,,:la`3 s,Rii_. h#XZy؞11B[#ǜH#^yI%ێ6a9Y`@ sq9sՖg׏u^S*S%mV䰗hbY1q")Exp[f\VȦ5.Xn1|9bDX6:k/]17L,kivk2;,Ԗ7qb15il;/CaTկ鴈ļ.f"V8ձ5gf<5u[Y,Ƣ.eHຢxފmцœR0(F8T)PiiW(sQ'BqĀ  $bPSaBQj7RpJDsh$g1ax%8G2<8}Xj A`ŭͫe9 O#B81CD  8F8Zi>o JCQ05P!4!h埕+Z̳Vʪҧ8mW bi0̱Ey2 Si(ce1mD}O xw6ቊ@3[ Ou_}?EE=opO=>M3d>w[[CQ-=Fb␘ ` 1= 19rP(I$TM55QUˆ8#<~9k+Z&,plF!k91XqGoΐq*7a<]~㻌 s9J9.nJ/j 94TC] vC;O;ی2-bRK$S[ju Fjm rV:FLx9,%eK>ћ?]r ʱEY-d9wQe,}Mm-X:-cuѯ\j(f "jwNR誽TVpҳ]ltssWJ٦,µ@4V1_RT E&1l5^|;՚izu\ !mp (UWz B9N1BUĒ#/!b`c6|NP ݵrj uN3L 6H.;iSnsc8#dq]QJ^Z>3?9&(`(I.#A>cu_}?EE=opO=>M3d>\hWꊊ޷ju/+K=7b~c'E7KKV q*o$IJYJbI/Q"eP4Xb;DD3ӊEq~?_+.rujՂ,p˵,ϠW)W98iF1 .{K.prXb8n$q_om.B11(,/!r,(α9 e$@pzڏHzTTJa!1وe#-,zD"BGjeQ9g2a}Z|&bG$am-#ڰ/7Ka (~Vڻl={,bHєra\Q @a_Y.>q{#TDlncv-aI!Nk1jW-h\4Z$_3ddIG'?+__g.NʕzqEx,[Dn_*- %;Q;XpLȻ#G%&q SAW8iayxB@KхAKdCi#`:zě*tU*F1ltC͌gnCy\ȫb5Wfj"Ѳ Wp}B2̰" bZ^\VtvAb?Kv"#I<`dvOǍ(l/X_D1_~V3ؒgȾ@>l"q~*kl.,WUŃpE"j,9Y1AcRE} LUg YX\ms+&$ X-D(pd5Owk!'!daӑK lyCPGݪVԗgD{Yu#HKO&\O\Vj3Zl^d8e (z]u藗%Mqi -+|KU`'9<# ԶcoFkOW̲67'bp.H-Ӕt 6TkRTLb "8ݘ88 \ZL ˖RV浗*؈Jidx`4DB$' O^1/E=Km|*zgՈDl2e v_wϽPPe\7(q>du1>P4+شWw\FuL誡nۜgHLǶQӊlXKhr,bLHVՃYO^]r܆7]Ƣ`!v!t)oK9+2}{g12DX6TwRa=^xI i]>&/, Q&ݥ V.#3u%zYV]$\*&ꨪWYeD Pacc?+* JЊXHSUGsv2Pm{g Guu:TaXU 3;e/q]]_`GRǘaܳ m_?#s^]]mkWy(ݿ|x>6O75z;NLk*0{6YEy./ir"z|f~NޖrlfZi@fc㠺m82,#D[/m_NG?Y'_"ɡ$ /8etIs6㍘kFaX4/BrF1seuWʡTi[lՠn"1y,%1L\sHQ^!?ZվvWK;^[mZ̋LW8,ЌÙ$YY]ԝ\- ef,S81e>?&uF eccLyaVJyS}7 SLw8~վ{G=` o7s6,/]Wٓ!3C.r <+PaV`q2eyp'2g=Fy]f}=› D3=~XynuFу fT]lL INA׮"K xψ91XGNؘZrkX*F3!y,󐣯ҥVMbO7xU/6D1b^\b"ɧҚP]&Xs;Hs*qGbqSq % ^2I$q5QU#0,X9Nr#9|zsN{,]Ğ΀ܗ9k>jBpx`AY̰뮰fqiH2dv&YSJRs? J[+ {5y:5n1^"mBDܹK m7@~!.p]^I5nm(#l@/[`~Nn~< GyO@Xr*HSAa1وe#Go^ו W_yxB3ǂҖ2d!i#(ᙣsI5R%N,\ .L2l4vK %^MBf[d K˜OaRv+k5f2α&f |E]+l*F1lt[fDG37f!<=,}kyFȠާ}YaQyGaDs_ߟ]tp{ xw~-vNHoׇ@ _~_4E'vK+"^ AAf#3e/`2$eˌC0v}oG u5}};*UƖx10 #-ʋl(c~#KUz^pkzwW^UUzoNiNS襺Judף1h3,b #2|c*j=Fé;p Q 0Za+BA̷J?wǜUz4恸K+Eb*!q04S vEɹ딨Dn_v-gG/^U豽z_:AQոy`;SEs E)y)0?%@!0PQaq 1A?!9%bv,! H?b3 1!mD "?} fʢÒr>^)ԏ): MQ ;u^|jK P#31꠾W"Q5l12H ( :{I$h0+sY\7r[X)͏22V%ced>OI/0ۨ>d/*i_^?H+0v/33qڥceda;l+n(a;!&E%ced ax% $/+qXL!pǟ HD(aSv^Qd<6qjc"ˌ'b30`W ^г_:Qw>cBQT0Q~} b5Pа[v_[7cl12 ~*ỒN:vUBxREMWAE$tbJ²9ݑiU]?-۴<-[_l/PX Ӌ,E׏RJ$[e 1ec-s%u/3ced:Ȑȭy Z"^ UJQl12 5ci?UON1-My)%u7۷kK"ҫL:WBn9%cGeQd,|, %!_Ex2 umI jWoQ H<|J̫ o~$1,ƑsR9g!!^NjqE{tg"A>YLnoU׏RJd@ vLqxNtw P>MMplyVh1 0Ӣ8X-6H4ї>`D}+؃V@~uMZGgX7./`bdP&Dqml!&BIqE/_p/0t& x6+O VT"!x7b$)z8|+ce`[ԧJJ~d0AOۘ x42m7.dtF*˙~ n[[,fJ[L4O|[Z/K^ff ڳWK iMiT%|yoݥijk u:NWKhto $-(cedhX-qm6do~R|6X,~a0H?=%ced;5\5pwuiKdvLbp5y)%~{~lp:L :YM `l12Y L t6KdtKkPnZKG)G0}#e@jޓMtg"Q:dVEBk Z"LiQ5)̡(zhW-`},ȡED  ?;Ӽ|9GEJz9@.qLϟ>|SL3-"pRL3! k=&>jS؄"f³.a  B  0@  PPC 0 B????$P@A 01!`Qapq?] 3l䲤`/a-CIEiyxSYbk\ȆuI^ ɚO6СO֜&p0_rtq^7$ȟ;GTPʕr#s[[1nO*M>,L%YE[]8#sqvآ[1n9qvЮ2@GaqvIQbrrD*c4܉un:Tie l,ͮE!x zƊ&G7e kŢXs?6Cqom#/zƤDd^\-58<[E,߄n,tr(TŰs!ҥ@(Z7]OjeC0Te@9Ts; 0Gp0 ^veG]%-: S[Z 4@⹠ :0@ qҦ3M'Th҃۞͆##$kV1{cxoW._43 Q@_sN.rNd:TBBG5^  @73-~~ `)@caP1S D땏a8_'^\7R-*_zx  &3$Eԝn{cvܨLf4i-Em 1Iy'O H ˁj$Kʕr&YlGvHCBl~+膒?Zp ݺCSob-)D?cR"{JMSEtZYeB8+>UhB9>XUC Zxd[1nE3Sq@O̐B km߀Æ^Y"ʀ1^K& ۀ4_P.4%234옎z8 f8x8UH<`>UhB8_T=k `}*ȧ4:樀LfExu.+"@AA-J72̡V+ *Ѐ) S(a-6FB~@ qҦ3MBHݽe=V:#ˊ7̀κ-Sn_=^Q'J@0Z*ˀ4.iJVmRi-]lPhYHϏApz/瘴UVN %ѽ ߕ6t{=c$9/:9Y9gJ‹LWFNu6)kySГsE,\{)+ߣ2'K%5̀kYVZB!F6Eod2`)u\Uń'1WqtMVAt"tXX審Nmyz#9O"G͖}=)w,4G E_Hw1Pp9/`Ys,{esӰ2 Ea] %":hUx+VK ˀy>90d\0Yd*ŋG˩T_7;D'=~!zԉ.H:s+`SPK=W^ie+@0P (68.0kUқ1'S8""xzBlE;̛: E).2Zk bѕˁN| pT RIdh!^=F="pul0%uZ} 6G~P<%6- 7ȂlwKYFbd#\s즩mIZ[XyGHH% H[;qzs&~u?Ɲ ^cNK4e5 %DΆ~_wb.*jϑl%g:u.\2Il'&p"6 \E/ d(EeRxAۗ3F:2@iqp&kJ"7̔GDŽ!q fiss"*J-ezƧZ nM>Ub\`$֩l KQ9( ,Q]G?fێAaQf20 @4$Z)~M:ټ+\ ll-xlOQV=+otVa3]|gxLK 6n`6G09G&F=?">Ŀ"E7w5B䗖:CcҥJ/.Iޮж%+Al[6eQ*en tE6~\oK0̟sZ[hb92x*Hj`ȋ<5F!a!C/FkJ1>CTBljgL7J]O%y(XN_frT5r6ned~̈́ztur#Oy;}U"se݃q`maNVڗp&ѹ43^&=c̥3Uiڨ<1Iu|>.j4BX, t WD4.ڒ ;}+EwL^ 6g)j56 Wq7Y`Ԭ|+h82QQ1B}e- m^Mu[9Q=IS}dadU ,dhg>cP{ioJ2GM2L:QN:D! ;2wd܊:]A~eŚuB;g>=39̑KJ'U|bmd$XN5 2I#18`i:=WH(ӧZl_XWgϣEn-Jv+BɃfYUi͓Zg =Hj@YC*V8sN0!1QA #0CqR?&%w'[ɓF?8)aEaY 2b+Qэ ~-)^}Ŀb|  ΢R.J򄂳(ݣ:vkȑ*<֔6gf;5 ٭(l̪N }{xh<:w1!1T#AB "02Qa3?.<88,2I'O3v'U{40~+y~Ei{i&?dv>hv)⫟nRRLRdb^!Ew4u >G!N-D|w ЛPi/!lcPc:g5 u-8ޖdǴR:s?$6z}>KR:ONU\eYHee{~՚VF訒f*mR :z IG x,kq9s=j!̚dzM00{{ ѝf6565CXKQ-k8d==j7r_x%}䤧n2ymOV1ZRGkSǛѿb9OOYUܲWϝ 9(#)O=uoii*6DҰV-*]k1\čj.>VWs|+Js #@ݭEϣpĨFJ#csQ*b{􋈎՞,B@p+(Y96FBYnoB"-VҘiъ$qJu+$PD6e 3 E]A1%Y*w!Q3/Y+iz)ayRG=f%d~uc6qI+}w"FdcXP׎ܧzԷRm!5WHB ,W5iӷ$90|¤9qV-:w?{=˯'uԿ.αdKKKE]Qi{<{yul0 tu[^y b, ;w㩴׷"ejY* 7WLAg0X?wAW*^Lܯл7Ek1$ؘ߉ήՇ^X3{9ʌk+nkIpvE{c>[x5>Um3; IOZ~*Eְ\yOY%/ V-n+ % rߖ3O䎂d.2,2ߊvpb6@h]uN%6AC`F7>:է*jcX{(BƹdB)"' tnUuP+ťgVͿ)b[^8kϗY-W_ס 5+UZHe=UjpESd/KEecpƚpM?m U+m<~~-φL3׈dU#!YHZo.C~XUt-FlEe/EmCVUZe-`! Z. TXDDFыvZU)?"JjVOsk訵埑,BP驩t*2wq!6q:s_`rLI SOs!zVS+ĭ1.)r7m,*b_@ɧL-bfǐ .+K@:B֑ $[,2CzBhrk]2X|ˆ*\m./p 즘ń Z\UsWXE YAUmG,u ~:~#G .*. k/3rXj2fŖ*TLAXu薱k1~>czCJbB"QkETFiaB0bv?-]ݧ|^elc!lrv?1TʻZ1kF{[QK[6U^EOb1LQur[8Mq73!W!K|Ca頶K-T5#5U\ga`mRc}Wd<0wz9VF6@ӳ|o+uʺ洩dwv8mr/ƽ,9:o5Dui ` U6&V]#!J=Cj, r3-ԦҖ-liIvFxxqEZʍNUk"xWȓձr@[w]3^ߓ~֟a ԸselsfpYZQF8ca C+)!%SO{u\Z~*6JkhW89[ l2gTmmIq.$xeFjZl1`,[4O_TF퍂S0+~X0~'ZY4[w!+#WG}Eb3lfl;7Q4 J?{T'Pf1U/",[wjJ|kߥ1™fJXK>󕑽gtpƝm^n'ɼZ_RՎQ}WrZP1sq;{j|{29+a`Ԙq m]cZk۪{߉j[3w+Y;' +.5wZ;oQl?7E9&'I$!9bm{%"څkZ\Ac08TMD|gX%;Mo6Zgdƻ_lWspw0QP.( -KcNǶ!5?gM;+ũ sj̐?mu46݅dR!tߓ]f|*~Rɱvkd>{Zf2On}# a *@) E*TjZSXê^'fPߢfFXxS'/1bI@  l[jrO_閲k+:72kkvqHEVyhI ,.Z\ͳr O6җzEf2yXy힇isC)bu!F>Uؿsl7 1w^[nvSyҁHIh:J*bSb痏5G̝x2orHLbk|Vm#6|C~=gzHhDBR)]pJڗ)"A >ˣz5bT۳-Z7Y*C̡uҪgf(JjݻN]zjY5l̦DffvY^~W'  Y~m^bmfLHONuMI(*Vq2B ;W Pdi쟊3fQ̈́Ι fc} nC#r+Tîa+QdWx'5"pnbd ш3Nc7;ә[{~hq~=#aڢ\;^+.-Zfy1@vD͐COB?5ft7Oit5BRz}>'h:KTiu|wxږA`;ȒCqFp_t6㵮j&22 ꡌc~ .1N1?ʩ;1ԥoi᪷&IӈdW ]T9zݥ6}Xd 1DDϱjLbV/1X kYY_c -ܾBj?֜~հ7h񃁏jM=G5[4Fbߍ]}.j [A0I$XS;K(TR䃹~lVVhyiϕaUˊ Pu݉jW\'H9֤aSriܓ~+MdśZ#ZFܟ ΙhUݍi+9;9K<#"6K$":ӛǘ廢u W\ԟy2Jl{>qy,p䜞;$,&3 !-dS ;$_-BKfKC-B.e6Q:cYvklzT\*UYFxǜUcw:#QPڴزl@lZueFaW7MhVLٟ6JVHX5&-!qkRYSBjԩU+VZ"d(`PP @DFߌ_lGaonKLEG$dV\ićc SI;^SJlMg|1&펟M r  -0ugV|w?űunyC+PorKDK23~ͯ0BU,MEv>Cg"%oHb46 wem('_YoVgs&dpQl'#O G_¶N(Ia:P& "G?+ 24,+Hs"uWZECsf|R go_XYX߃jأ$uO'ۅc2K=bq<~+},mNAկ2{ k's\v?V/+rVUF|u׮X_Ό0،b,|֋z8tt1g1a.:JxXc==H!_'J5$y8 6/XbenmuW!Y؛"]j}wx:WE:tК*UJ֫ZH]   "#o:*Ă5b t)Bp+p]hU Ef3L튮 ),Cˏ9IzL\}y89^\Zo".9SM:|P|;ȁi~w|HlBĦƟ`qWq%ND13n8fDvhQFbGuWgv%>uflرtl2mIyPl$YG4KOXu?bc"ZzT4+E/+ObIdXFc"uNF5ٙT Š7MgJu=)Xz[;/YNXJltuH]f,NNB:r4^ jPN67PI3+߶ρˉ9'W=wyMmFs F;2md"ɿGӴc?mT^~5YJ/U+!e|bfjG:B Dp0Go?.dz"X9v)`vZ37mHzE5sx܎%f!B0㌊p+3Sxv@Db?T]*!N[;ŁZ īMxɰ/Ԙ6.x=Ricck Ċ5UDXej[tGF+< ++&:vWflBwG|݋Jj Bgt 3mUEYvrx^ !(#"ܦ}Tmj^"|f1)mzg0PgjP<;bw׆vN `yO1۲q[.0/Ld= /+F7͋m& I/qoLOӁNB4+R3Xi۲ؐj̜}'v2J$Pc%>&Hssl n#ZC`0#hS1u7̘ 0{Z*1(ԳEJZkq3KUzGՎ"T1HW[SŸmf{]E==$o%Q\z]a <"5,hY%^Wn&Hh4jZɅ D Ұ!6[حjQbR/AĀdHJ&'oƲY|%;l֣jz[!ͪH}VT=6ĹT!)m06;4TY%ix\~ճJ뉱^M9MJk͑=R]+TիU+Zuk׮JI@d9*u2úUl/ՁFAv 5Lm:ljxGئRf8u_)=)W ߽VV(&쥴vMVe)& .j;vK,θҁA 6yGM u"U̥9:,E'f\C#)lU?619f[fO b=S&Zېho R׸th+YpRB~d(NY#P r?AZ{Vi 6;Y]`bVV$d8h}|׍RޞւGk2]j.ޚLcOLΡOejbυ\'"ǏԹrv2r{K q}_<+m0Ejn, <ƵURody 8 ^ AVm.*23S>*$7$-qj_>gLQéY=ev[7F>B0_, ~ѯ5qeZ K6' n,%R!{Pi[.Z6H(NDP0Fr[&q>_߶gT_{%DcܣA'7Q+a.|=шM}fb1~t{:R@yCVuJ/X]3_2[՜o{ڌ}[7ȹm__gqNĞ?}&Q fOZ_B q,ї Z\x<;Up@wM]]qw1$):V`A1>lDfY7:ET;JR, ,:&bz t v`'h[B f,$O_NDd"楠_/ 4R@\w(웳Q3j(*}p jOUs_<9NQBmgtde5Jap+Uzw+,+ WԆޘ(6{Ѣ|L`y :>,XG T\h94VIuVEbIslCS  xlfd} 0u|-j%؉&c&t9mBM֋ k5@SHno=􉣈="I&αH[7$4/[&TpcyAq 4NGZ-^{Pv]AGh=.R䵬3* 1)  ϮaQL0D αLN-Éb'3Xk觍NJt{'ǩ)5إANm|ZYR;p{"aEHPL3D/ FPNsh%OnLJ#q[Qۚ"lqi5S\O;qgU]\il±sqovX\v X\K%SlN@ ÈR~;JZN%>']7h3yS&Fn/`RDN*,hk%@#]4<8@0 6ͻ0Z3Hyχ$*Iwc̄{46enN6Ɣʨ4 :I`I]qx8#eOБv\糫NJe"MF(p`Uv8 fn#FՀI 3\ bo,W_7j˵dm=?CG~N@F~A;DR<85[MRqfA`qg q@Ŀjr"YHR7}(s84 RS4V${Q,ymKP!B~FGfOJCp/k>k!_4bj@{Q߮7;z4MZ[ѷӋDQ eÑNNHUƌm6_=C@j8-y0<$&*dՓ6uԯY-d:X%X }ZA'Q!k!ّ%GV VjO1J)G$?=T3Kra=p }jF81Ri`4>D gT% /#PB!fa+It_0Ile~+ M$q,uHO}1B3yt25q\; oLvN:)9 U@z36<` c,dsXOPV}_߮H $?` GF(Gl&\ (gPعB?Ccb@L{\{d4 ^@L+"Rt !GV^h2!0 41a %KepWKED|^i!/0,e s0Eׁn.uKW+U}EIݪ1jkA40BL`LuQʷG k9لtZhS q?>0ẞA p)r`+ ]``JB   BN   J00(2 HA(A A3B&!A1Qaq 0?UOUL`C䣻} Ũ;')}D%r^u8<@#8c{Y,rI7`Rb6YԀWɘYj1gח/^_ޤHUt YXSp!1 0a?i0*JF6M0w[((Ц!8e(A5!Ri(jC @3 0 `T,2W@R+rܜ6LhGvyT~UCN /Z l [`̪v7hak2위 7<?U~=.ƯjN3=|lm5VZ xи(B^@*>e&`44X5øf_҃q [ Iʑ'$P #bCDf1%" !7~%Q)xbp$C_?K@=+Î hDW'&A>)̹q|Rv{i ڑPTXnOSCi @=PvE l Tڒ mf)i6*,R!FE<>7h@ VeH4נ# L)YɈ/ "ټ~E/2 7<xMfҭhc9܍*n+2[ t"z~Vk-`tF`kCwt]bJcӎKҌ욕[Dbp [Xdp$quW1p|Fo;u_tp]"f@+C[yN*&މ>ƨoG²hTR}<ÞwutE;*~j(%j:)g3::{+'~. /iϯ@4(v`fl2IG{J0I=U#aSmQh?{Ipï ")tV4ݧ9YV6`uM^ۄJ6-s`2!?9\dOݍShŶ8覊t KHJ+L` Kڮ)\cZKmaM(;B#)f/l*k"HbNHe:Zf/Da3 ~@{:T4dӉ"WY?J;)KS,jIХgPkٿ32(P#ĕ2Xp!D,EFݴۿY]; }Hh9=1 a- /1~~% XC$:H~H+`H^x:xpE(ZބbmYqS!~ddnza"*14(}O^Vn%#Fvܒ6 A ҿ܍ I$V‹/P&bBPЭ91Ŭt$vp=3Ive xgmwrW\Ƨo\q4FȘʂ(vG~*s6hwB&-;2jEC6Rʌ c'iѿV<n4DLB.CAl&KZgע9,r 4n.-* ѽ7m/hDjv/TC lp#1-qI"!d컻@VыdRhӾ%P')7d`Hu?X<{' νHRCJA2d.Ӕa?e}xh1ȟD7Ȋ? "|WV]#`08f]ƇD b;Za5kHB0 {Q,0v6#x4 \0}6~E EW7 ?S4HπBNw c;+Mb<󳄷Zq&,=Qޥ- :-o (wblޙc(gs l4Z).m?@6.8j[D3"0_! #}'GxK4w/K!5;YbhZK?AD=лjK .5:|RBiOR (7JeJ=kTWDO]6H鑭=BE3A2*-»MD9cfe,=퍔+]c.Lh<(黵)KD 3e=!,,%F)]>%*(:!"3~(IWtZv)":ZST;d`(ŀו^y?RADRDL,帴_7]Xiz (GEUGI>[H x)0rQ+"Gmffr0]%̈'mKY˱i;9ED0cQN]#$u+ ɯ T 3".^4@يZfgZ=!}I{wpP@o|~~]HSv#4={SCi o0vὥ|+rzNX@DEG/mћZ߉16R˴fq. }_}{űВ|O65&a6DIt=Q.fU31"$ϰRH) YDl1~BCq>S'4ֱ bo|~0R' ~Tה8il|66ozD@pfakh5#U~8f鹐QxCDMBlDJjDs!~ZBӱADu9:$RUQQ:{m}z..@J/ $%-@r@IB YQs"Oh[r 溲BR{! M 9QN&aaI<^kk!d[H*nM\!o0W)ZͤL^!y0~70ڐϘD$/HrRtg}P|DBsiۃlY3:EH<~FL>xs('/TasܫB''!i+>F( @)!!)JvYJ"wyĔiN|Ui<ye1]Ӷ{etXHʺiyLpAfn8 ϤW|rXH:5o$%7g^˅S J95ϥV@ ) KRIJx4?IqyK_ `hNiU\4L .$]]y=R JYKbQVXl(=kӷ|R.H$/Y":UH[U!%j J]PH Ǭ9Hߞ+);hJrUDH󬜳T"|=j-iB+}5I08 %@W=׋4+$e)RH5Iӕ`~\PDP0rv^#cz\.H2-ƻґ$]֢4o*}Ə$#R4uB2DHR5RTJoDTڷLrbG@g-;%u!_z2THy֤T*-ehi4VJ'<.(Ot~G­B(IacR*IJQKTJNЅGC# 3G%ur! nKK 9 JEj &/GA]$To|#Vetv] $7])+n)[WJX#?^,ջ{B<;kޗtpJIZ4$LnEO!`[&B<` 9jϣ}q9S{e +"ګ8]yn$A08u תvw̌unMF)_q2,0+>]kRkkn\$L/$'ȼuDžIglz#/iYF IR )+$%=.yѓݻAFI;"%R$ `)5'$'6 `j!$愔 ":%!Wq I{QBr)Ͱ ])Ɖ@E9zQB x0rR+[to(!])89 |lYFkΒҖP9QIm<!\tVw=[srP"Pn[qkvԝ; gHiAp|B"%oֻ֓yy1%#зj㒯ѐB:3 )՞ROH#EG )quHL ,%"7sƠ2QBRb AJgGF >אrW^;2 )xԷInҷWY-1PQRz!sgH鎁W! k`t+kqu[_3IM!$5V=zBHG'Hq)'k_H]m=EJ-ePC5R1rrw?뢥HUo9x=ytTNO;j}&wM,Oi-|Į T8۳Z`ΫFR/ 1W-#MӍ{z!ޑѻrb]u_Wu.煟:Ψ,2FHYJߖb4>3 dt.@m~rJ|h:!ymaڭ-CFOMqZyѪ FOFHF,*_-8S;bzm]FW c.f$!)bzHA N gEy-vk֌x5j'a])H&#/zB5X|$һҊRbjbI _:U*Jq`(t~̹7ϝB}ngn!-l_5Kq~xڑ.cܙu!6ݡՅm-rhOFRc/B\H+n0iW!mDI9mbFL! J W/kT=$"%D$$>$$D$$D$$B$$D$$D$$D$$F$$F$$D$$D$$D0H3J"AQ! \$8!Jb@8HprA(AA@AA@@H$x( H  H叱( H(pq~( (pb( (pB$Q $Q`b> (0)FI#A }A%HHhD 1:$Q`P K#4.H B&H\qA%I($Q#A`(H DI($QLD @ b4?H F e$Jb$H(Q2H F e$J (Q&H F  m  (R7H5$J$Jb$H H F$J$Hb$H FKIIHD @D @IIHD @D @I{IA$Q#A%@IH $A%1$QHD @I1$Q#A%@IHD #A&1$QIL1$QHLA$QI1$QI!$QI1$aI1$aI1$%#$aHL@L #A2a12A&@Ʉ I1$'"$aIL@LL@Ʉ Ʉ HL@LL@Ʉ Ʉ HL@LL@Ʉ Ʉ H̄ 12A2Q12A2aBLL@LL#$&"$'  12A2+ !2A2+ 2A2,LDTxibJIENDB`CAtwCACameraL>=B B@?LA0w`wLALampH ????>AB΂>??? B4B?!@(??? o:LA`w0wLALamp.001????2>AMB>???HB4B?@???WO wMWOWorldT>N'?fW??????A@pA A @L=TXdw`wTXInfoextxwPwPwPw0wdDATAxww!- tDATAwwxw:(DATAwPwwwDATAPwwwDATA!-Info!DATA:(ie DATA wDie GI-Beleuchtung befindet REEDATAwsich auf Layer 12TXd`wBxwTXsketch.001w@wxww>xDATAwc:\sketchGlue.pyDATA@wwx varDATAww@wHx (nm)DATAwww-((0) DATAw`wwx h.naDATA`wwwx raw.DATAww`wxnId[DATAw8ww ( x2,DATA8wwwXx NonDATAww8wxt()DATAwwwx FREEDATAwXww0xFREEDATAXwwwxDATAwwXwxFREEDATAw0ww xFREEDATA0wxwwpx*FREEDATAxww0wxEERFDATAwwxwxFREEDATAwPwwPxFREEDATAPwwwxFREEDATAwwPwx$FREEDATAw(wwxQFREEDATA(wpwwxFREEDATApww(wxFREEDATAwwpw(x,FREEDATAwHwwxFREEDATAHwwwxFREEDATAwwHwx:FREEDATAw(wwhx%DATA(wpwwxDATApww(wxDATAwwpw@xDATAwHwwxDATAHwwwxFREEDATAwwHwxPDATAw wwxFDATA whwwxDATAhww w8xDATAwwhwpxDATAw@wwxDATA@wwwxDATAww@w@xFREEDATAwwwxDATAw`wwxFREEDATA`wwwx=FREEDATAww`wxxueEDATAw8wwxFREEDATA8www x3]DATAww8w` xfpDATAwww x}dDATAwXww xFREEDATAXwww!xFREEDATAwwXwh!xFREEDATAw0ww!xDATA0wxww"xFREEDATAxww0wH"xFREEDATAwwxw"xFREEDATAwPww"xDATAPwww#x)DATAwwPw`#xFREEDATAw(ww#x:DATA(wpww#x DATApww(w8$xlf)DATAwwpw$x,)DATAwHww$x<e:DATAHwwwX%x):DATAwwHw%xFREEDATAw ww%xDATA whww&xREEDATAhww wX&x#)EEDATAwwhw&xFREEDATAw@ww&xextDATA@www0'xFREEDATAww@wx'xFREEDATAwww'x FREEDATAw`ww(xFREEDATA`www8(x :reDATAww`w(x e:EDATAw8ww(xFREEDATA8www)xd'EDATAww8w@)xFREEDATAwww)x FREEDATAwXww)xt]DATAXwww*x FREEDATAwwXwH*xFREEDATAw0xw*x)EEDATA0xxxw*xNesDATAxxx0xH+xes)DATAxxxx+x5REEDATAxPxx+x6a):DATAPxxxP,xFREEDATAxxPx,x *:DATAx(xx,xDATA(xpxx-xextDATApxx(xX-xFREEDATAxxpx-xtmvDATAxHxx-xton2DATAHxxx@.xxecuDATAxxHxx.xnt()DATAx xx.xt ThDATA xhxx/xuttoDATAhxx x8/xservDATAxxhxx/xept(DATAx@xx/xnn.rDATA@xxx0x8ew('DATAxx@x0xTypeDATAxxx0xt(w)DATAx`xx1xat(sDATA`xxxP1xght DATAxx`x1x makDATAx8xx1x{8DATA8xxx2xockeDATAxx8xP2x DATAxxx2x DATAxXxx2x DATAXxxx3x,0.1DATAxxXx@3x%erPoDATAx0 xx3x!DrawDATA0 xx xx3xFREEDATAx x x0 x(4xTextDATA x xx xp4xDATA xP x x4xDATAP x x x5x(DATA x xP x`5xDATA x( x x5x,DATA( xp x x6xDATAp x x( x@6xDATA x xp x6xFDATA xH x x7xTDATAH x x x7xpDATA x xH x88xDATA x x xp8xDATA xh x x8xDATAh x x x8x"DATA x xh xP9xaDATA x@x x9xFDATA@xx x`:xDATAxx@x:xDATAxxx:xIDATAx`xx;xDATA`xxxP;xDATAxx`x;xDATAx8xx;xDATA8xxx(xDATAxxxX>x"DATAximport BlenderEDATA Hximport oszeDATA-(DATA ximport sysDATAximport socketEEDATA xfrom threading import ThreadREEDATA ( DATAXxfrom Blender import *TIDATAx dDATA$xfrom Blender.Scene import RenderDATA0xfrom Blender import DrawDATAxfrom Blender.BGL import *DATA xfrom Blender import RegistryDATA xfrom Blender import TextDATA,pxfrom Blender import Texture,Image,Material;DATAxENTDATAxfrom math import *DATAPx DATAx DATA(x#Enter your executable location hereLDATATxexecutable = 'e:\\blender_all\\other_programs\\3d\\sketchboard\\sketchBoard.jar' DATAx DATAx#Enter your java path hereDATA0(xjavaPath = 'd:\\Basis\\jre_5\\bin\\java.exe'DATAx DATAx DATA<x#lets escape any spaces that may be in the executable patheDATA(hxqexecutable = "\""+ executable + "\""DATAx DATAxprint ("paths:")DATA@xprint executableDATAxprint javaPathEDATAxDATATx#this angers me in ways I cannot explain. I cannot find a way to spawn a processDATAHx#and get a pipe to it in both windows and linux. So i'm using sockets.DATAxDATA8x''DATApxdef makePlane(w,h,m,a):DATAx DATAx asp = float(h)/float(w)DATA@x width = size.valDATAx height = size.val*aspDATAx DATA@x coords = [[0,0,0],[0,0,height],[width,0,height],[width,0,0]]DATAxx faces = [[3,2,1,0]]_xDATAx me = Mesh.New('myMesh')DATA x me.verts.extend(coords)DATA` x me.faces.extend(faces)DATA xDATA x DATA !x diffTex = Texture.New('diff')DATAh!x diffTex.setType('Image')DATA!x img = Image.Load(m)REEDATA"x diffTex.image = imgREEDATAH"xDATA"x aTex = Texture.New('alph')DATA"x aTex.setType('Image')DATA#x imga = Image.Load(a)DATA`#x aTex.image = imgaDATA#x"""DATA$#x mat = Material.New('billboard')SPDATA 8$x mtextures = mat.getTextures()]DATA0$x mat.setTexture(0,diffTex,Texture.TexCo.UV,)EEDATA@$x mat.setTexture(1,aTex,Texture.TexCo.UV,Texture.MapTo.ALPHA)DATAX%xDATA%x mat.spec = 0;EDATA%x mat.ref = .95;DATA&x mat.alpha = 0.0;DATA$X&x mat.mode |= Material.Modes.ZTRANSPDATA&xDATA&x me.materials += [mat]DATA0'x for f in me.faces:DATAx'x f.image = img; pDATA 'x )DATA(xDATA$8(x ob = Object.New('Mesh','myObj')IEDATA(x ob.link(me)5;DATA(x ''DATA)x DATA@)x sc = Scene.GetCurrent()DATA)x sc.link(ob) EEDATA)xDATA*xdef render():EEDATAH*x DATA*x print 'Render called'EDATAP*x bob = os.spawnv(os.P_NOWAIT,javaPath,[' -jar ' + qexecutable , "--Blender"] )EDATAH+x DATA8+x s = socket.socket(socket.AF_INET,socket.SOCK_STREAM)EEDATA8+x s.setsockopt(socket.SOL_SOCKET,socket.SO_REUSEADDR,1)DATA P,x s.bind(('localhost',50007))(DATA,x s.listen(1)REEDATA,x try:DATA-x exit = FalseEDATAX-x while exit == False:DATA-x conn,addr = s.accept()DATA-x data = conn.recv(1024)DATA@.x DATAx.x if data == 'quit':lpDATA.x exit = TrueDATA/x DATA 8/x else:DATA x/x tokens = data.rsplit(',')DATA /x if tokens[0] == 'plane': %DATA<0x makePlane(tokens[1],tokens[2],tokens[3], tokens[4])7DATA0x conn.close()(1.DATA0x s.close() EDATA 1x except:TADATAP1x print 'Quitting'sDATA1x DATA1xsize = Draw.Create(2)DATA2xDATA P2xdef draw():DATA2x global sizeREEDATA2x DATA3xDATA(@3x BGL.glClearColor(1.0, 1.0, 1.0, 0.0)ouDATA$3x BGL.glClear(GL_COLOR_BUFFER_BIT)DATA3xDATA(4x leftMargin = 10;DATAp4x bottomMargin = 15;DATA4x columnWidth = 170;DATA,5x buttonWidth = columnWidth - leftMargin; DATA`5x columnHeight = 35;DATA05x buttonHeight = columnHeight - bottomMargin;DATA6xDATA @6x if os.path.exists(executable):DATAH6x Draw.Button('Exit', 2, leftMargin, 5, buttonWidth, buttonHeight, '')DATAX7x Draw.Button('Sketch!', 1, leftMargin+columnWidth,5, buttonWidth, buttonHeight, '')REEDATAt7x size = Draw.Slider('Size', 12, leftMargin , 2*columnHeight, buttonWidth, buttonHeight, size.val, 1, 20, 1,'') DATA88xDATAp8x else:DATA 8x BGL.glColor3f(0.15,0.15,0.15)DATA$8x BGL.glRasterPos2i(leftMargin,50)DATAdP9x Draw.Text("Could not locate the sketch executable. Enter its location into the script header.")exDATAH9x Draw.Button('Exit', 2, leftMargin, 5, buttonWidth, buttonHeight, '')DATA`:xDATA:xDATA:xdef bevent(evt):DATA;xDATAP;x if evt == 2: #ExitButtonDATA;x #kill the server threadDATA;xDATA(x DATA$X>xDraw.Register(draw, event, bevent)TXdBx`wTXmuxport.pyxCxCxxCxCxGyDATAxCxc:\muxport.pygDATACxDxػxextDATADxHDxCxx DATAHDxDxDxXx FREEDATADxDxHDxxFREEDATADx ExDxxDATA ExhExDx0x DATAhExEx ExxDATAExExhExؽxDATAEx@FxEx(x DATA@FxFxExxxDATAFxFx@FxȾxFREEDATAFxGxFxx DATAGx`GxFxHxFREEDATA`GxGxGxxFREEDATAGxGx`GxxFREEDATAGx8HxGxx3FREEDATA8HxHxGx`x%FREEDATAHxHx8HxxFREEDATAHxIxHxxFREEDATAIxXIxHxXxFREEDATAXIxIxIxxFREEDATAIxIxXIxxFREEDATAIx0JxIx@xFREEDATA0JxxJxIxxxFREEDATAxJxJx0JxxFREEDATAJxKxxJxxFREEDATAKxPKxJxPx DATAPKxKxKxxKDATAKxKxPKxxR DATAKx(LxKxxDATA(LxpLxKxxFREEDATApLxLx(LxxFREEDATALxMxpLx8x FREEDATAMxHMxLxxxFREEDATAHMxMxMxx(FREEDATAMxMxHMx(x(FREEDATAMx NxMxx%FREEDATA NxhNxMxxFREEDATAhNxNx NxxFREEDATANxNxhNxxFREEDATANx@OxNx`xFREEDATA@OxOxNxxFREEDATAOxOx@OxxEFREEDATAOxPxOx`x=FREEDATAPx`PxOxx=FREEDATA`PxPxPx@xFREEDATAPxPx`Pxx=FREEDATAPx8QxPxx9FREEDATA8QxQxPxpx:FREEDATAQxQx8QxxFREEDATAQxRxQxxFREEDATARxXRxQxhxFREEDATAXRxRxRxxFREEDATARxRxXRxxFREEDATARx0SxRx@xFREEDATA0SxxSxRxxFREEDATAxSxSx0SxxFREEDATASxTxxSxxFREEDATATxPTxSx`xFREEDATAPTxTxTxxDATATxTxPTxxFREEDATATx(UxTx8xDATA(UxpUxTxxDATApUxUx(UxxFREEDATAUxVxpUxx#FREEDATAVxHVxUxhxFREEDATAHVxVxVxx!FREEDATAVxVxHVxxFREEDATAVx WxVx`x!FREEDATA WxhWxVxxFREEDATAhWxWx Wxx!FREEDATAWxWxhWx`xFREEDATAWx@XxWxx!FREEDATA@XxXxWxxDATAXxXx@XxXx!DATAXxYxXxxDATAYx`YxXxx!DATA`YxYxYxXxDATAYxYx`YxxDATAYx8ZxYxxDATA8ZxZxYxxDATAZxZx8Zx`xDATAZx[xZxx$*:DATA[xX[xZxxFREEDATAX[x[x[xXxa):DATA[x[xX[xxREEDATA[x0\x[xxFREEDATA0\xx\x[xxFREEDATAx\x\x0\xPxFREEDATA\x]xx\xxFREEDATA]xP]x\xxFREEDATAP]x]x]xx1:EEDATA]x]xP]xxe:DATA]x(^x]xx FREEDATA(^xp^x]xxd'DATAp^x^x(^x0xFREEDATA^x_xp^xxFREEDATA_xH_x^xxFREEDATAH_x_x_xx)DATA_x_xH_x`xDATA_x(`x_xxes)DATA(`xp`x_xxFREEDATAp`x`x(`x(xFREEDATA`xaxp`xpxFREEDATAaxHax`xxFREEDATAHaxaxaxxFREEDATAaxaxHaxHx FREEDATAax bxaxxFREEDATA bxhbxaxxFREEDATAhbxbx bx xDATAbxbxhbxpx,DATAbx@cxbxx'DATA@cxcxbx(xDATAcxcx@cxpx(DATAcxdxcxx0DATAdx`dxcx8x*DATA`dxdxdxx0DATAdxdx`dxx(DATAdx8exdx`x2fDATA8exexdxx) DATAexex8ex(x-8.JPDATAexfxexx(-DATAfxXfxexx/-DATAXfxfxfxHx) DATAfxfxXfxx- DATAfx0gxfxx5DATA0gxxgxfx@xal DATAxgxgx0gxx%te(0DATAgxhxxgxx[ == DATAhxPhxgxxx7,maxDATAPhxhxhxxHShadDATAhxhxPhx`xCne dDATAhx(ixhxxt.GeDATA(ixpixhx(x4ocZ+DATApixix(ixxEocY+DATAixjxpixxocX+DATAjxHjxixPxocX-DATAHjxjxjxxtSizDATAjxjxHjxx"x(p,DATAjx kxjxx!(p, DATA kxhkxjxpx%ort DATAhkxkx kxx(i + DATAkxkxhkx(x^\\' DATAkx@lxkxx'')DATA@lxlxkxx'\\'DATAlxlx@lx(xfileDATAlxmxlxxx ton2DATAmx`mxlxxG,0.1DATA`mxmxmxHxZxecuDATAmxmx`mxxnt()DATAmx8nxmxx/'alpDATA8nxnxmxpxt(w)DATAnxnx8nxx/h heDATAnxoxnx xnderDATAoxXoxnxXx.LocDATAXoxoxoxx.LocDATAoxoxXoxXx.LocDATAox0pxoxxF.LocDATA0pxxpxoxxF.LocDATAxpxpx0pxx*.LocDATApxqxxpxxDATAqxPqxpx0xith DATAPqxqxqxx + sDATAqxqxPqxxportDATAqx(rxqxxxporDATA(rxprxqx@x:DATAprxrx(rxxx DATArxsxprxx(DATAsxHsxrx(xFREEDATAHsxsxsxxxDATAsxsxHsxx FREEDATAsx txsxxDATA txhtxsxXxDATAhtxtx txxFREEDATAtxtxhtxx'getsDATAtx@uxtxHx^DATA@uxuxtxxbDATAuxux@uxpxaDATAuxvxuxx^DATAvx`vxuxx0 + sDATA`vxvxvxxoeNamDATAvxvx`vxxmnHeDATAvx8wxvxxnWidDATA8wxwxvxxDATAwxwx8wx`xDATAwxxxwxxDATAxxXxxwxxDATAXxxxxxxHxDATAxxxxXxxx/DATAxx0yxxxxDATA0yxxyxxxx + sDATAxyxyx0yxx(lphaDATAyxzxxyxxxDATAzxPzxyxxDATAPzxzxzxx%endeDATAzxzxPzxXxDATAzx({xzxxDATA({xp{xzx`xDATAp{x{x({xxIDATA{x|xp{xxquadDATA|xH|x{x x7' + DATAH|x|x|xxne.GDATA|x|xH|xxDATA|x }x|xxDATA }xh}x|xHx0DATAh}x}x }xx;DATA}x}xh}x(yDATA}x@~x}x`yDATA@~x~x}xyDATA~x~x@~xyDATA~xx~x8y,DATAx`x~xy$DATA`xxxyDATAxx`x(y.DATAx8xxyDATA8xxxyDATAxȀx8x y$SDATAȀxxxxy/SDATAxXxȀxy DATAXxxxyc DATAxxXxyDATAx0xxy%DATA0xxxxHyDATAxxx0xyDATAxxxxy.DATAxPxx0y'DATAPxxxy'DATAxxPxy'DATAx(xx8yFREEDATA(xpxxpyFREEDATApxx(xyFREEDATAxxpxy;xDATAxHxxPy^ DATAHxxxy17-DDATAx؅xHxypDATA؅x xx y0LJDATA xhx؅x` yh8DATAhxx x y@DATAxxhx yHDATAx@xx( yFREEDATA@xxxx y1FREEDATAxЇx@x yFREEDATAЇxxx0 yFREEDATAx`xЇxx y27-SDATA`xxx y FREEDATAxx`x yFREEDATAx8xx@ ynFREEDATA8xxx yFREEDATAxȉx8x0 yFREEDATAȉxxxh y!FREEDATAxXxȉx y/FREEDATAXxxx y9FREEDATAxxXxyMFREEDATAx0xxy#FREEDATA0xxxxhy DATAxxx0xy?DATAxxxxy ng BDATAxPxxy17-ODATAPxxx`yXDATAxxPxynDATAx(xxytDATA(xpxxyDATApxx(xhy1"DATAxxpxy"DATAxHxx yDATAHxxxhy$"DATAx؎xHxyiDATA؎x xxy h!',DATA xhx؎x8y ays DATAhxx xxyoDATAxxhxyDATAx@xxhy"DATA@xxxy0DATAxАx@x(y:FREEDATAАxxxyN~DATAx`xАxy#DATA`xxxpy DATAxx`xyDATAx8xxyoY DATA8xxxyDATAxȒx8xy"DATAȒxxx0y0DATAxXxȒxy:DATAXxxxyNDATAxxXxy#DATAx0xxyDATA0xxxx y!DATAxxx0xXy ,DATAxxxxy22DATAxPxxyraitDATAPxxx8y=DATAxxPxy9DATAx(xxy(portDATA(xpxxPyREEDATApxx(xy%Guy.DATAxxpxy@DATAxHxx8yFREEDATAHxxxpy()EDATAxؗxHxy8ne.GDATAؗx xxyqDATA xhxؗx`y/FREEDATAhxx xy + sDATAxxhxy*DATAx@xxXy,traDATA@xxxy(strDATAxЙx@xy;DATAЙxxx8 y t.mrDATAx`xЙxx yE opeDATA`xxx y؋DATAxx`x(!yFREEDATAx8xx`!yx,trDATA8xxx!yDATAxțx8x!y DATAțxxx("yXDATAxXxțx`"y DATAXxxx"yDATAxxXx"yADATAx0xxh#yedDATA0xxxx$yPDATAxxx0x$yockeDATAxxxx$yDATAxPxx%yDATAPxxxP%ybacDATAxxPx%yDATAx(xx%yDATA(xpxx@&y0DATApxx(x&yDATAxxpx&y1dDATAxHxx8'yDATAHxxx'y1][0DATAxؠxHx'y+ ']DATAؠx xx(yDATA xhxؠxX(y + DATAhxx x(y-camDATAxxhx(y+ ']DATAx@xx@)y MatDATA@xxx)yDATAxТx@x)yhe nDATAТxxx*y b.tDATAx`xТx`*yDATA`xxx*y widDATAxx`x*yDATAx8xx0+yDATA8xxxh+y DATAxȤx8x+y6fromDATAȤxxx,yK.uv[DATAxXxȤx,y&> DATAXxxx,y#FREEDATAxxXx@-yquadDATAx0xx-y# DATA0xxxx-y8DATAxxx0x .y DATAxxxxp.y lefDATAxPxx.yDATAPxxx.yportDATAxxPx(/y.BGLDATAx(xx`/y! BleDATA(xpxx/yDATApxx(x0y DATAxxpx@0y DATAxHxx0yzCDATAHxxx0yDATAxةxHx1y(us',DATAةx xxx1yght,DATA xhxةx1y, elsDATAhxx x 2yDATAxxhxX2ydDATAx@xx2ydDATA@xxx2y@be11DATAxЫx@xX3yMDATAЫxxx3yQDATAx`xЫx`4y+@DATA`xxx4y`DATAxx`x5ydDATAx8xxP6yQDATA8xxx7yDATAxȭx8xH7ydDATAȭxxx7ydDATAxXxȭx7ytdDATAXxxxx8yDATAxxXx8yetEnDATAx0xx8yetEnDATA0xxxx9yDATAxxx0x:yeNamDATAxxxxH:yDATAxPxx ;yDATAPxxxX;yDATAxxPxys DATAxزxHx>yx DATAزx xx>yA DATA xhxزxH?y DATAhxx x?yDATAxxhx?yDATAx@xx@yDATA@xxxX@y$.wriDATAxдx@x@y =='DATAдxxx@yindeDATAx`xдx0Ay)) +DATA`xxxhAyDATAxx`xAyrginDATAx8xxAy8DATA8xxx`ByDATAxȶx8xByDATAȶxxxByDATAxXxȶxCyDATAXxxx`CyDATAxxXxCyDATAx0xxCyDATA0xxxx0DyDATAxxx0xpDyDATAxxxxDyDATAxPxxDy uDATAPxxx8Ey DATAxxPxxEyx 32DATAx(xxEypy%xDATA(xpxxFy der/DATApxx(x@Fy typDATAxxpxxFyx5DATAxHxxFy= 4:DATAHxxxFype.vDATAxHx0GyspecDATAػximport BlenderEDATA ximport osEEDATAXximport structEEDATAxfrom Blender import *EEDATAxfrom Blender import LampDATA$0xfrom Blender.Scene import RenderDATAxfrom Blender.Draw import *DATAؽxfrom Blender.BGL import *diDATA (xfrom Blender import RegistrysDATAxxfrom Blender import TextadiDATAȾxDATAxfrom math import *DATAHxDATA x#globals)DATAxDATA4x#get the root directory that the current file is inDATA(`x#we'll write the muray files there. EEDATA xpath = Blender.Get('filename')DATAxtokens = path.split('\\')):DATAXxfileName = tokens.pop();oDATAxfile = fileName.split('.')yDATAxfileName = file[0]DATA@xDATA xxpath ='' DATAxfor i in tokens:DATAx path = path + i + '\\' DATAPxDATALxexecutable = 'c:/Documents and Settings/Matt/Desktop/New Folder/muray.exe' DATATxrenderMonkeyPath = '/mnt/aqua/sheemwaza/public_html/matt/widgets/renderMonkey.png']DATAxDATAxDATAxDATA8xdef export():EEDATAxx #open a file to export to%DATA,x f = open(path + fileName + '.mra','wb')DATA,(x b = open(path + fileName + '.mrb','wb')tinDATA(x f.write('muRay scene description\n')EEDATAx f.write(' '))DATAx def writeln(out):DATAx f.write(out + '\n')EEDATA`xDATAx def point_by_matrix(p, m):DATAHx return [p[0] * m[0][0] + p[1] * m[1][0] + p[2] * m[2][0] + m[3][0],EEDATA@`x p[0] * m[0][1] + p[1] * m[1][1] + p[2] * m[2][1] + m[3][1],EEDATA@x p[0] * m[0][2] + p[1] * m[1][2] + p[2] * m[2][2] + m[3][2]]EEDATA @x def vector_by_matrix(p, m):ŬDATA@x return [p[0] * m[0][0] + p[1] * m[1][0] + p[2] * m[2][0],EEDATA<x p[0] * m[0][1] + p[1] * m[1][1] + p[2] * m[2][1],wDATA<px p[0] * m[0][2] + p[1] * m[1][2] + p[2] * m[2][2]] DATAx DATA x def contain(min, max, point):DATAhx for v in point:DATAx if v[0] < min[0]:REEDATAx min[0] = v[0]DATA@x if v[1] < min[1]:REEDATAx min[1] = v[1]DATAx if v[2] < min[2]:REEDATAx min[2] = v[2]DATA`x if v[0] > max[0]:DATAx max[0] = v[0]DATAx if v[1] > max[1]:REEDATA8x max[1] = v[1]DATAx if v[2] > max[2]:DATAx max[2] = v[2] REEDATA$x def containSphere(min,max,sphere):DATA hx radius = sphere.getSize()[0]DATA$x if min[0] > sphere.LocX-radius:];DATA x min[0] = sphere.LocX-radiusDATA$`x if min[1] > sphere.LocY-radius:n'DATA x min[1] = sphere.LocY-radiusDATA$x if min[2] > sphere.LocZ-radius:.DATA `x min[2] = sphere.LocZ-radius0DATA$x if max[0] < sphere.LocX+radius:DATA x max[0] = sphere.LocX+radiusDATA$Xx if max[1] < sphere.LocY+radius:eDATA x max[1] = sphere.LocY+radiuscDATA$x if max[2] < sphere.LocZ+radius:.0DATA Xx max[2] = sphere.LocZ+radiusEDATAx DATAxDATAx #Grab the sceneDATA`x scn = Scene.GetCurrent()DATA(x context = scn.getRenderingContext()REEDATAx obj = Blender.Object.Get()DATAXx DATAx #export general scene dataDATAxDATAxDATAPx #background colorDATAx w=Blender.World.Get()DATAxDATA4x scene = Blender.Scene.GetCurrent().getChildren()?DATAxDATAx writeln('')REEDATAxDATA0x #create a materials listDATAx material_array =[]DATAx materials = Material.get()DATAx for m in materials:)DATA`x DATAx refFile = "NULL";DATAx textureFile = "NULL";DATA(x alphaFile = "NULL";DATApx normalFile = "NULL";EDATAx emitFile = "NULL";REEDATAx specFile = "NULL"; DATAHx REEDATA x for mtex in m.getTextures():DATAx if mtex: *DATA x #check if there is an imageDATA0px if mtex.tex.type == Texture.Types.IMAGE: maDATA(x print mtex.tex.image.getFilename()DATA(x #map to colorDATA,px if mtex.mapto == Texture.MapTo.COL:##DATA4x textureFile = mtex.tex.image.getFilename()?DATA,8x if mtex.mapto == Texture.MapTo.ALPHA:EDATA4x alphaFile = mtex.tex.image.getFilename() ?DATA,x if mtex.mapto == Texture.MapTo.NOR:3EDATA4`x normalFile = mtex.tex.image.getFilename() DATA,x if mtex.mapto == Texture.MapTo.EMIT:acDATA0(x emitFile = mtex.tex.image.getFilename()EEDATA,x if mtex.mapto == Texture.MapTo.REF: imDATA0x refFile = mtex.tex.image.getFilename() DATA,Hx if mtex.mapto == Texture.MapTo.SPEC:EDATA0x specFile = mtex.tex.image.getFilename()DATAx DATA @x print m.getDiffuseShader() DATA(x material_array.append(m.getName()) DATA\x writeln('shad=' + str(m.rgbCol) + '|' +str(m.getRayMirr()) + '|' + str(m.getHardness()) +DATA8xx '|' + str(m.getAlpha()) +'|'+ str(m.getIOR()) +'|'+DATALx str(m.getSpec())+'|'+ str(m.getEmit())+'|' + str(m.getRef()) + '|' +][1DATAD`x str(m.getDiffuseShader()) +'|' + str(m.getSpecShader()) + '|' +DATA x str(m.getSpecCol()) +'|' +DATA8(x str(textureFile) + '|' + str(alphaFile) + '|' + ODATAHx str(normalFile) + '|' + str(emitFile)+'|' + str(refFile) + '|' + )DATAx str(specFile).LDATAPxDATAx )DATA$x #export binary material header EDATA$x #b.write(struct.pack("B",0x59))EEDATA(px #b.write(struct.pack("iiiiddddddf",iDATA,x # m.rgbcol[0],m.rgbcol[1],m.rgbcol[2],DATA`(x # m.getRayMirr(),m.getHardness(),m.getAlpha(),m.getIOR(),m.getSpec(),m.getEmit(),m.getRef(),EDATAxDATAxDATA (x #export the hemilight optionsDATA$xx b.write(struct.pack("=B",0x60))t()DATAHx b.write(struct.pack("=iii",numSample.val,iCacheToggle.val,bounce.val))DATA\Hx writeln('hemi=|'+str(numSample.val) + '|' + str(iCacheToggle.val) +'|'+ str(bounce.val) )DATAx DATA0x #export whether to use the rendermonkey optionDATApx if partOutput.val == 1:DATA0x writeln('renderMonkey=' + renderMonkeyPath) DATA x DATA Xx #export the sampling optionspDATAx writeln('sample=|'+str(imageSamples.val ) + '|' + str(shadowSamples.val) + '|' + str(filterWidth.val) + '|' + str(jitter.val))DATAXx DATAHx #while looping through the scene, we will need to collect the maximumEDATAHx #extents of the scene. These will be written to the head of the file?DATA,x #after all mesh objects have been measureDATAx min = [1e300,1e300,1e300];DATA 0x max = [-1e200,-1e300,-1e300];DATAx numObjects = 0DATAxDATAx for obj in scene: DATA@x\n}DATA xx if obj.getType() == 'Camera':DATA,x cam_mat = obj.getMatrix('worldspace') DATA(x print 'Exporting camera'DATAxxiDATA$x height = context.imageSizeY()EEDATA x width = context.imageSizeX()DATA Xx lens = obj.getData().lens DATAx fov = lens; tr(DATA(x writeln('cam=' + str(camType.val) + DATA`Hx '['+str(cam_mat[0][0]) + ',' + str(cam_mat[0][1]) + ',' + str(cam_mat[0][2]) + ']' + '|' +EDATAdx '['+str(cam_mat[1][0]) + ',' + str(cam_mat[1][1]) + ',' + str(cam_mat[1][2]) + ']' + '|' + xDATAdpx '['+str(-cam_mat[2][0]) + ',' + str(-cam_mat[2][1]) + ',' + str(-cam_mat[2][2]) + ']' + '|' +DATA`x '['+str(cam_mat[3][0]) + ',' + str(cam_mat[3][1]) + ',' + str(cam_mat[3][2]) + ']' + '|' +DATA4x str(width) + ',' + str(height) + ']' + '|' +?DATApx str(fov) + ',' + str(fov) + ']' + str(obj.getData().getClipStart()) + '|' + str(camRadiusSlider.val) + '|' DATAx )EEDATAx ODATA x elif obj.getType() == 'Lamp':DATA`x print 'Exporting Lamp' DATA x l=Lamp.Get(obj.getName())iDATAx m = obj.getMatrix()DATAHx if l.getType() == 0: DATA0x #lamp=location,color,size,energy for a lampDATAx writeln('lamp=[' + str(obj.getLocation()) + ']|['+ str(3*l.getEnergy()*l.col[0]) +','+ str(3*l.getEnergy()*l.col[1]) + ','+str(3*l.getEnergy()*l.col[2]) )EDATAx elif l.getType() == 1:DATA,x #sun=location,color,energy,directionDATA xx print 'Exporting the sun'DATAx REEDATA(x vec = vector_by_matrix([0,0,1],m)EEDATAXx print str(vec)DATAx writeln('sun=['+ str(vec) + ']|[' + str(3*l.getEnergy()*l.col[0]) +','+ str(3*l.getEnergy()*l.col[1]) + ','+str(3*l.getEnergy()*l.col[2]) )DATA`x REEDATAxhorDATA x elif obj.getType() =='Surf':8DATA8 x material_index = material_array.index(obj.getName())DATAxspaDATA x containSphere(min,max,obj)DoDATAxǘDATA4Hx writeln('sphere=[' + str(obj.getLocation()) +?DATA<x ']|['+ str(obj.size[0]) + ']|['+ str(material_index))DATA(y DoDATA `y elif obj.getType() == 'Mesh':DATAy DATAy #get standard mesh dataDATA08y m = NMesh.GetRawFromObject(obj.getName())DATA(y mat = obj.getMatrix('worldspace')EEDATAy EDATA0(y #for every mesh, we dump a list of verticesDATAy numverts = len(m.verts)DATAy numTris = 0 DATA( y print 'verts ' + str(numverts) REEDATA0xy b.write(struct.pack("yDATA>y PGDATA>ydef setBackground(fname):.jDATAH?y print fnameDATA?y BackgroundText.val=fnameDATA?y),DATA@ydef event(evt, val):DATA(X@y if (evt== QKEY and not val): Exit()wriDATA@yDATA@ydef bevent(evt):DATA0AyDATAhAyDATA Ay if evt == 7: #setBackground 5,DATA<Ay Blender.Window.FileSelector(setBackground,'OPEN FILE')DATA`ByDATABy elif evt == 10:DATABy EEDATACy print 'Materials'DATA`Cy Blender.Redraw()DATACy DATACy elif evt == 3: #ExitButtonDATA 0Dy Exit()K*DATApDyDATADy elif evt == 2: #Button2DATA Dy export()EDATA 8Ey render()DATAxEyl =DATA Ey elif evt == 1: #exportButton17DATA Fy export()DATA@Fy DATAxFy else:DATAFy Blender.Redraw()aDATAFy EEDATA 0GyRegister(draw, event, bevent)OBKyGNyOBarea_lampamp_blende 0wTJ@%Y>A???e?α>¼??$i?ư1ӾbQx>V?t>c3>: SD?TJ@%Y>A?????#i?Hx>T8>E;~6??˽X:(pG??-п ])'?DOBd@? #=?>=?@???OBNyG8RyKyOBbodenlane.004yRyb5g@g@g@??g@g@g@b5?????->ն6b1Q/Q=T>c߶TQ=1`=bA??DOBd@? #=?>=?@???rrDATARyOB8RyG`UyNyOBCamera w%>z7@???0F?6$vYJ???YJ6$v7;* >t?St >%>z7@??????M[,0? 2ӱ?2ֲ,?DOBd@? #=?>=?@???OB`UyGXy8RyOBcloud_1yXy@hy@V??Z ??????13Z ?i!3@hy@V???????7lI8%I2V?pSSq?t?{ %@{)A?DOBd@? #=?>=?@???*+DATAXyOBXyG \y`UyOBcloud_2@y[y$Δ@hy@ J??Z ???qe>??t?$>13?g23$Δ@hy@ J??????\t?_j ?lJ8W? [?t?p4 {)A?DOBd@? #=?>=?@???rrDATA[yOB \yG_yXyOBcloud_3yH_y~YNhy@??Z ??????13Z ?i!3~YNhy@???????#7J8 0V? STq?t?h@ˍS@~)A?DOBd@? #=?>=?@???psrDATAH_yOB_yGby \yOBGI_spherepherey tAAA??AAA t?????=$WK5n.$3<E=_E $3<<ȫ>?0DOBd8? #=?>=?@???`rqtOBbyGey_yOBLamp.001 _y`w t t???????? t?===z>??YJ6$v7R~p >t?St >%>zQ@?DOBd8? #=?>=?@???OBeyG0iybyOBschalebj2_blenderyhyy?˾L??Z ??????13Z ?i!3y?˾L???????Es7YJ8lV? STq?t?zHjʇ@@?DOBd@? #=?>=?@???h"- rDATAhyOB0iyGlyeyOBtischlane.003yXlyb#?@@@??@@@b#??????©>Oʰ 6J0%>>ϸվ%>Q9>N[??DOBd@? #=?>=?@???r@EtDATAXlyOBlyG0iyOBvasebj1_blenderlanyoyb#?????????i!3?i!3b#????????4$v7YJ8"1t? S >t?&>??@?DOBd@? #=?>=?@??? (+DATAoyMAoy!qyMAboden_blenderateria?@!?o*?????????????? ???????@?=?==????????MAqy!tyoyMAcloudchale.001???????????????C ???????@?=?==? ??syty?????DATAXsyH}y??????????L>DATAXty0|y??????????L>MAty!wyqyMAMaterial???????????????C ???????@?=?==? ??pvyvy?????DATAXpvyxy??????????L>DATAXvy`~y??????????L>MAwy!`zytyMAschaleaterial.001???????????????C ???????@?=?==? ??Pyyyy?????DATAXPyyy??????????L>DATAXyyy??????????L>MA`zy!wyMAtisch_blenderateria?uh>+ܿ>?????????????  ???????@?=?==? ???????TE0|yH}yTEcloud_alpha>@???????@@????? @??<P,wTEH}y`~y0|yTEcloud_color>@???????@@????? @??<wTE`~yxyH}yTEobj1_alpha.testMask>@???????@@????? @??<(4wTExyy`~yTEobj1_colorex>@???????@@????? @??<gwTEyyxyTEobj2_alpha>@???????@@????? @??<(wTEyyTEobj2_color>@???????@@????? @??< wMEy.yMEPlanexryȄyyyhy@4(??'7DATAywyDATAPy3??#@13?$@1"@1?(@13DATA0hy0""""DATAȄy/DATA<y- w?,?jq:2?H:̘?˺MEy.@yyMEPlane.001rpyyЇyy(y@4(??'7DATApyqyDATAPy3??#@13?$@1"@1?(@13DATA0(y0""""DATAy/DATA<Їy-w?,?jq:2?H:̘?˺ME@y.yyMEPlane.002Xs0yHyyhyy@4(??'7DATA0yqyDATAPhy3??#@13?$@1"@1?(@13DATA0y0""""DATAHy/DATA<y-w?,?jq:2?H:̘?˺MEy.y@yMEPlane.003(tyyPy(yy@4(??'7DATAytyDATAP(y3??#@13?$@1"@1?(@13DATA0y0""""DATAy/DATA<Py-gw?,?jq:2?H:̘?˺MEy.yyMEPlane.004(syȔyyy @"@4j/x?/x?j=DATAy`zyDATAy3 t?t?..hm tt?.hmt thmt?t.hm/x?t?U"hhm../x?tU"hhm./x?thm/x?t?hm.t?/xU"h..t/xU"hј.t/xјt?/x./x tU"h./xt?U"h../xt?./x t t/x?U"hhm.t?/x?U"h.hm.t?/x?.hm t/x?hmt tڃځ tt?}%t?t?}%}%t?t}%ځ_?_A4~_?_?A4A4~__?A4~__˿~__jy__?jyI_?_?jyII_?_jyIDATAy0@"""""""" " " " " " "" """"""""""" " " """" """""" " " " "" """"" " " " ""#""#"##DATAȔy/"            MEy.yyMEPlane.005ryyȘyHy???DATAyoyDATAPȘy3????DATA0Hy0""""DATAy/MEy.yyMEPlane.009syy@yyy@4(??'7DATAyqyDATAPy3??#@13?$@1"@1?(@13DATA0y0""""DATAy/DATA<@y-w?,?jq:2?H:̘?˺MEy.yMESphere#yy؟yA(5?(??5?DATAy3>w!?lPT>!?\JCPT>?!?\>w?!??!??(?¿>؉(?¿߾y'T?rcd|TrHe(¿߾v%(¿>vZڈTr?H|?7T?r?ᵝ&y?5:V>??^V^r]V>?!g2V>?l^V^r?]V>?!t&y?5?:V>?U>??Bk>5!?5?߾ ?p6'> ?p6sBk>5?!?5DATA ؟y0A### # # # # ######################## # # ##### # # # # # # # ####################DATA y/(           GLOBxruwOqDNA1?@ A!BC7 "DEFGHIJKLMNO*P#$Q%R%STUVWXYZ[\]^!_`abcd&efgh'i(jklmnopqrstuvwxyz{|) }~  *stu+*,'i##FGTUE(44y*#)+,-2rstuvFG&*P.*/_rstu     ef+ +!"#$%&'()&**+,-./012345678P09:1 !_2223;<=>?@ABCDEFGHIJ4KL43; M N*/OPqQpRSTU5 VWXYZ[\]^6_WX[^777`^abcdefghij6k5lm8n`09o:63; p N'q'r's*;tu/O vQpRqwPxyz{cd49|}~0000988<'===6k5l  <> ? 3; *u/O@> ABCDE?F qQpRP@`BGXCGA`DstuEHHH"IH7  JH'i"KH'i"LHMHNHO HyPHE0'iQ H'i"RHSH'iTab06*uUUU"3FpV''_ ''*;t3;WX    N  /OQpRD      !"#P$P % & ' ( )*+,-./ 0 1 2Y3Z4[5V6V789:\;]<]=^^^'>"?@Y ABCDEFGHIJK__ZLM`NaOPQRSTUVWXYZE[\]^0__`,\abcdefghijklmnopqrs?t?u?vwxyb8rz{|}~*&Pcddd'ie  f  0ghbef]B      !"#$i%E0'jjj&'k ()*+,E-./010'l'2b3l4# 5d6m789:;<=>? @cA iBkChsgDP EnFGHIo #(jBJKLMNp5qqOPrQRSTUVWXYZ['2o\p]^_`abHcdefgo8hijklmnopqrs3t uvw0sxyz{|}~qqqOPrQRtqqOPrQRuqqOPrQR0s  *+lvqqOPrQRsl mNEw qqOPrQRsJ0xqqOPrQRyz {qqOPrQRs   |}qqOPrQRs#Jl~ qqOPrQRlsqqOPrQR 7l qqOPrQ07lqqOPrQsQqqOPrQ     0%   !"#$%&$'()*+,-./0123456789:;<=>?@ABCDEFGH"IJKLMNOPQRSTUVWX_-YZ[\]^_`abcdefghijklmnopqrst uvwxyz{|}~E0'   l @rrrOP     %RT 4 9 }~  & 4*l$Q      4)Z,Ny| "^   "     "E0"/""0"""E' !" #$%E0" &''( ")*+,-./ 01% 20'" &3456' W7"89:;cd< =>?@=AB 6'?C"DEl'2"' FGQRHIJK "ELM'NOPQRSTU "ELMm7VWXYZ['\!]E0"^_ 0 `" ' abcdefgh i!_!j k*Blmnopq7rstuvwxyz{|qqOPrQs=0]"}''*QpRD    ~' m   "Xp/   0"wE0  QpDtX * "cW qqOPrQRsW* c 'X0'cd'c'c' 'NW7' ' 'E0q   '*W78ENDB