BLENDER_v249REND dSceneGLOB X 2Xt SRxhtXtSR1-AnimationssHa=DATADATAsDATAssDATAsssDATAsXssDATAXsssDATAssXsDATAsssDATAs8ssDATA8sssDATAss8sDATAs`ssDATA`sssDATAs`sDATAsssDATAs@sssDATA@sssXsDATAsr@sssDATArhrssXsDATAhr rrssDATA rrhrssDATArr rssDATArHrrssDATAHrxr8sDATAxhxHrssDATAhxuxssDATAuOuhxs8sDATAOuРvussDATAРv@vOu`sXsDATA@vvРv`ssDATAvpx@v`ssDATApx8vvs8sDATA8vXxpxssDATAXxou8vssDATAouqXxssDATAqHaou8sXsDATAHaqs`sDATA=(8sss>x t WtHtDATA WtVtLink and MaterialsEditing>DATAVtTt WtMeshEditingF>DATATtStVtAnim settingsObjectF>DATAStRtTtDrawObject>DATARtQtStConstraintsObject>DATAQtPtRtEffectsObjectDATAPtxOtQtHooksObjectF>StDATAxOt`NtPtParticle InteractionObject>RtDATA`NtHMtxOtSoftbodyObject>RtDATAHMt0Lt`NtOutputRender>DATA0LtKtHMtRenderRenderF>DATAKtJt0LtAnimRender>DATAJtHtKtFormatRender>DATAHtJtObject and LinksObject>DATA>x t333?h}@DhC7`DhCC(BDC?z?DATAx t>333?h}/9DATA((=XsssDATA(((s`sss==o?#ht`tGtFtDATAGtFtTransform PropertiesView3d>DATAFtGt3D Viewport propertiesView3d>"DATAht`t333?????????==o?*A]&Ay?==o??????*A1v B??7==C ???? DATA`tht333?/9DATA(((ssss??PףPHvzsEtEtDATAEtTransform PropertiesIpo!>DATAXHvzpt333? zC̽̌??zC@   #< #<`jFzD *vOBzC̽̌?DATApt?Hvz333? CC|||??l|DATA?xpt 333? zCCHBC|||?CFC= ADATAxu? 333?  =rttDATAuix 333? ?zDzDBCl||ll|zDzD=HB DATAiru 333? BzB@l|llFzD #<HB DATArsi333? ??? ???? A???PA A!O?j?}GCHB? A1v B? #<C DATAsr333? /9DATA((ssss,P(sDtpCtDATADtpCtLink and MaterialsEditing>DATApCtDtMeshEditingF>DATA( t333?zCB{ µCB,?BFB= ADATA t( 333?zCCHBC$?CFC= ADATAs t333?#DhC`DpJgChCC(BDC?z?DATAs333?/9DATA(8sXs`ss} ?=o?vXBt@AtDATAXBt@AtTransform PropertiesView3d>DATA@AtXBt3D Viewport propertiesView3d>"DATAvr333?DCDCDCD??ptDATA pt x~zDATAlx~z '1v$*vPvDATArv333?????????} ?=o?f?*A?} ?=o??????*A1v B??=C X7@X7@X7@? DATAr333?/9SRxXtpthtSR2-Model 8–0pHॏDATA8–ÖDATAÖ8–DATAÖDATADATA@xDATA@xDATAȎ@xDATAȎDATA0ȎDATA0DATApP]ÖDATAP](p8–DATA(0P]8–DATA0@V(@xDATA@V(H0@xDATA(HR@VÖDATAR(HȎDATAPRȎDATAPDATAP@xȎDATA(DATA(p@xDATAp(0DATApȎ0DATA0DATAHP8–@x?@PףOHX[H0y(@t8ˆDATA(@tx.tPreviewLamp>DATAx.t`-t(@tLampLampF>DATA`-tH,tx.tSpotLamp>DATAH,t0+t`-tTexture and InputLamp>DATA0+t*tH,tMap ToLamp>H,tDATA*t)t0+tPreviewMaterial>DATA)t't*tMaterialMaterial>DATA't&t)tPreviewWorld>DATA&t%t'tWorldWorldF>DATA%t$t&tMist Stars PhysicsWorld>DATA$t#t%tTexture and InputWorld>DATA#tp"t$tMap ToWorld>$tDATAp"tX!t#tOutputRender>DATAX!t@ tp"tRenderRenderF>DATA@ t(tX!tAnimRender>DATA(tt@ tFormatRender>DATAtt(tLink and MaterialsEditing>DATAtttMeshEditingF>DATAtttMesh ToolsEditingF>tDATAtpttMesh Tools 1Editing>DATAptp ttCameraEditingF>DATAp tXtptShadersMaterial>(DATAXtsp tTextureMaterial>DATAssXtAnim settingsObjectF>DATAsssDrawObject>DATAspssConstraintsObject>DATApsXssScriptlinksScript>DATAXs@spsEffectsObjectsDATA@s(sXsMap InputMaterial>XtDATA(ss@sMap ToMaterial>XtDATAs؜s(sAnimAnim>DATA؜sssSoundSound>DATAss؜sListenerSoundF>DATAsssSequencerSound>DATAsxssArmatureEditingF>DATAxs`ssRampsMaterial>)tDATA`sHsxsMirror TranspMaterial>(DATAHs0s`sMist / Stars / PhysicsWorld>DATA0suHsAmb OccWorld>HsDATAu10sShadow and SpotLamp>DATA1`!uModifiersEditing>DATA`!h1ShapesEditing>1DATAhP`!MultiresEditing>DATAPhMesh Tools MoreEditingF>tDATAPUV CalculationEditing>hDATATexture FaceEditing>hDATA(Links and PipelineMaterialF>DATA(SSSMaterial>DATAx(PreviewTexture>DATAx`TextureTextureF>DATA`HxColorsTextureF>xDATAH0`ImageTexture>DATA08ˆHMap ImageTexture>DATA8ˆ0Object and LinksObject>DATAHs333?HDhCWDlRmCC(BDC?z?mDATAs(PrH333?H??? ???? A??@PA Aj?c3>}GCHB? A1v B? #<C DATA(PrXs333?HHE}CHE}C HE}C??DATAX(Pr333?H/9DATAPPHÖȎOODATAPॏP0Ȏ@xF=Q=o?  t*0x裏XNzXNzeDATAhTransform PropertiesView3d8>"DATAhhView PropertiesView3dT>"DATAhPhOutputRender>DATAPxhRender LayersRender>hDATAxh~PRenderRender@>DATAh~P}xAnimRender>DATAP}Hvh~BakeRender>h~DATAHveP}FormatRender>DATAeHvStampRender>HvDATA0xP 333?P($ =VX%DATAP0x333?P???"{|F???% ??%F"@{|@?FoF=QQ=o!.ƾO?lgAtN='tN= uN=Ayz F#@||@?F=Q=o????"{|F???lgA?1v B??LZ==CF?"{|7?X<???? ?DATAP333?PDdCAϜD/3Ì;CC(BDC?z?DATAX{z333?P `D ,D: D*D??FF?H??DATAXX{z333?PzC̽̌?zC@22 #< #<`jFzD OBzC̽̌?DATAX{z333?PHEVDHEVD2 XHEVD??2DATA裏 333?P?zDzB@22FzD #<HB DATA裏333?POpen Text FileICTURESz:\WebSite_Blender\Game_Engine\MouseLook\blend\ents/Resources/MouseLook_Start.blendend DATAॏP0;?@x>@AHM এ(`#DATA`p_Transform PropertiesView3d8>"DATAp_2`View PropertiesView3dT>"DATA2p_OutputRender>DATA@2Render LayersRender>2DATA@(RenderRender@>DATA(+z@AnimRender>DATA+zp)(BakeRender>(DATAp)#+zFormatRender>DATA#p)StampRender>p)DATAএy333?ॏ?.;?.;yj4??.;?.;@?;?@ A??x>@f<3.;3nWMyjȁ>@ > ן?33A(@;?@x>@AHM?.;?.;yj4?5?5lgA?1v B??:=CF?"{|7?X<???? ?DATAy0এ 333?ॏ`7] E?,.>TDATA0@y333?ॏDdCAϜD/3Ì;CC(BDC?z?DATA@|z0333?ॏ `D ,D: D*D??FF?H??DATAX|zP@333?ॏzC̽̌?zC@22 #< #<`jFzD OBzC̽̌?DATAPH|z333?ॏHEVDHEVD2 XHEVD??2譏DATA,譏BOp=A1vDATA,譏CS@ffDATAH(P 333?ॏ?zDzB@22FzD #<HB DATA(H333?ॏSave AseGE PICTURESZ:\WebSite_Blender\Game_Engine\MouseLook\blend\ents/Resources/MouseLook_Start.blendendSRxptxXtSR2.1 Game Enginecre8УPxSDATA8DATAȯ8DATAȯ DATA hȯDATAh DATAhDATA@DATA@DATAУ@DATAУDATA`ȯDATA` 8DATA`hDATA8ȯDATA8hDATAȥ88DATAȥhDATAXȥ@DATAX @DATA覉X@DATA覉0DATA0x覉@DATAx0hУDATAxУDATAУDATAP(N8@ ?G@PףOIJ!HDATA! sOutputRender>DATA sr!Render LayersRender>!DATAr r sRenderRender@>DATA rPrAnimRender>DATAPh rBakeRender> rDATAhPFormatRender>DATAhStampRender>hDATAPreviewLamp>DATAȮLampLamp@>DATAȮ௉Shadow and SpotLamp>DATA௉ȮTexture and InputLamp>DATA௉Map ToLamp>௉DATA(PreviewMaterial>DATA(@Links and PipelineMaterialF>DATA@X(MaterialMaterial>DATAXp@RampsMaterial>@DATApXShadersMaterial>DATApMirror TranspMaterial>DATASSSMaterial>DATAкTextureMaterial>DATAк軉PreviewTexture>DATA軉кTextureTextureF>DATA軉ColorsTextureF>軉DATA?BlendTexture>DATA?AStucciTexture>DATAA B?MarbleTexture>DATA B8CAMap InputMaterial>DATA8CPD BMap ToMaterial>DATAPDhE8CLink and MaterialsEditing>DATAhEFPDMeshEditingF>DATAFGhEModifiersEditing>DATAGHFShapesEditing>FDATAHGMultiresEditing>DATAIJxDC? D'r"CC(BEC?H?DATAJI333?x??? ???? A??G@PA Aj?>sGbCGB?G@Pף??? ?? A1v B??: #<C DATA(N(OPhȯDATA(OxS(NУ@,??Pף P*0(PDATA0(P 333?p"=DATA(P0333?p??? ???? A?,??PA ANK?j?sGbCGB,??Pף??? ?? A1v B??j; #<C DATAxS(OhУĤK=H=o?VYxTUDATAxTUPreviewView3d ,"DATAUxTView PropertiesView3dT>"DATAVY333?h?3?3??3?3?ĤK=B1n;G=?A*i 5!rAzC?ĤK=H=o??3?3?5?5A?1v B??}o= #<C DATAYV333?hSave Asz:\WebSite\GameDoc\BakeTextures\BakeTexture.blendndSRxxnptSR2.5 UV Unwrapcree࿉]]`ahDATA࿉[DATA[8\࿉DATA8\\[DATA\\8\DATA\]\DATA]X]\DATAX]]]DATA]X]DATA]0^[8\DATA0^x^]࿉\DATAx^^0^[\DATA^_x^8\]DATA_P_^\]DATAP___\]DATA__P_࿉X]DATA_(`_\X]DATA(`p`_\]DATAp``(`]]DATA`p`X]]DATAagX]]]\ =C=o?cPdbbDATAbView PropertiesView3dT>"DATAcPd333?xCC=:4@J]@d>PCDATAPdc333?x???????? =C=o? A8Ay? =C=o??????8A1v B??= #<C DATAgha\[8\]DATAhg࿉\]X]i=C=o?jjiiDATAiView PropertiesView3dT>"DATAj333??3?3??3?3?i=KL1n;B=?| AS48AzC?i=C=o??3?3?5?58A1v B??= #<C SRxnطxSR3-Materialodel SingnXrrxyDATAnnDATAn@onDATA@oonDATAoo@oDATAopo8DATAp`po8DATA`pppDATApp`pDATAp8qp@8DATA8qqp@DATAqq8qDATAqrq@DATArXrqDATAXrrDATArrn@oDATAr0srnoDATA0sxsrnoDATAxss0sopDATAstxsopDATAtPtsn`pDATAPttt@opDATAttPt`ppDATAt(utppDATA(uputopDATApuu(uppDATAuvpup8qDATAvHvup8qDATAHvvvoqDATAvvHv`pqDATAv wv8qqDATA whwvpqDATAhww wqqDATAwwhwqrDATAw@xwqrDATA@xxw`pXrDATAxx@x8qXrDATAxxrXrDATAynopo?@Pף77Px~ȅz`}DATAz0{OutputRender>DATA0{H|zRenderRenderF>DATAH|`}0{AnimRender>DATA`}H|FormatRender>DATAx~P333?`~CA~CA?AFA= ADATAP0x~ 333?`zCCHBC ?CFC= ADATA0@P333?`DhC?DhCC(BDC?z?mDATA@0333?`??? ???? A??@PA Aj?c3>}GCHB? A1v B? #<C DATAȅ@333?`@̌AR|B1@lA A@CC #<@DATAȅ333?`/9DATAy`pn@opDATA8p8qppG@? JLA9A9SAT~@ȕDATA؊OutputRender>DATA؊RenderRender>DATA؊AnimRender0>DATA FormatRenderH>DATA 8PreviewMaterial>DATA8P MaterialMaterial>DATAPh8ShadersMaterial0>DATAhPTextureMaterialD>DATAhMap InputMaterial\>DATAMap ToMaterial`>DATAȕRampsMaterial>8DATAȕMirror TranspMaterialH>DATA333?0ChCCJiĬl2CC(BDC?z?DATAP z333?0J>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?@?$$OA1v B?=Ch?j(4?t'>d DATAXP z@333?0zC AzC A #< #<`jFzD OBDATA@P z333?0;SAVE FILE/usr/home/intrr/blender/blend/untitled.blendDATA8oqqpU.=k=o??9?9S?T@@#8 DATA8333? ???h?j(4?t'>????hj(4t'?U.=k=o< =F?OAAygj(4t'?U.=k=o????h?j(4?t'>??OA1v B??qf==Ch?j(4?t'>d???? DATA8333? DdC>9C,DeCC(BDC?z?DATAX 333? zC AzC A #< #<`jFzD OBDATA 333?  SAVE FILE/Users/ton/Desktop/der/blend/untitled.blendDATA8rXr8qqe?Y?AHM???>SDATAh333?qݕ/?V~'?3F:?>T8175e?4>Z& 4?ߕ/?7F:?81X~>75e?'?T3>ne@>N@?4z?C''䷄?h??T?w|? l4j,11A 4Ao≯?,`52>b2?4xkBˇ֟&B{`eA(@e?Y?AHMݕ/?V~'?3F:?>T8175e?4>Z& 4?H?N+Z#OA1v B??݇f;=Ch?j(4?t'>d???? DATAhx333?qDdC>9C,DeCC(BDC?z?DATAXxh333?qzC AzC A #< #<`jFzD OBDATAx333?q SAVE FILE/Users/ton/Desktop/der/blend/untitled.blendDATAq`pXrr&==V=o?>S൒DATAH333?z?3?3:-vl(4??3?3;@k(40v@?&=Wk1n;9C,DeCC(BDC?z?DATAXX൒H333?zzC AzC A #< #<`jFzD OBDATA൒X333?z SAVE FILE/Users/ton/Desktop/der/blend/untitled.blendSRxط@nSR4-Sequence(p’X’ DATAȸDATAȸ DATAXȸ DATAXDATA蹒XDATA蹒0DATA0x蹒DATAx0DATAxDATAPDATAPTDATA໒PTDATA໒(DATA(໒DATApȸDATApXDATAHDATAHX蹒DATAؽH蹒DATAؽ ȸ0DATA hؽxDATAh 0xDATAh0DATA@xDATA@DATAп@PDATAпPDATA`п0DATA`xDATA`PDATA8໒DATA8໒DATA8(DATA’蹒(DATA’໒(DATAX’ʒ蹒XǒȒXÒƒDATAXÒpĒOutputRender>DATApĒŒXÒRenderRenderF>DATAŒƒpĒAnimRender>DATAƒŒFormatRender>DATAǒȒ333?ʃDhCvDhCC(BDC?z?DATAȒǒ333?ʃ/9DATAʒ˒X’0ȸx !  DATA˒Ғʒ໒(蹒8=i>o? ̒ВDATA̒Pu333?ʄ~CB~CB ?BFB= ADATAPu͒̒333?ʄzCAzCA  A@FB= A ?DATA͒ВPu333?ʄ????????8=i>o?fffAD&@??fffA1v B? #<C DATAВ͒333?ʄAVE TARGA/t1.blend9DATAҒ(ْ˒Px8=H>o?UUU `u0גDATA`uӒ333?JzCAzCA1||1 A@FB= A ?DATAӒ0ג`u333?J????????8=H>o?fffA*@??fffA1v B? #<C DATA0גӒ333?JAVE TARGA/t1.blend9DATA(ْҒ0P8=>o?SSST(ڒߒDATAX(ڒے333?ʅB̽̌?B̽̌? #< #<`jFzD SQB̽̌?DATAےߒ(ڒ333?ʅ????????8=>o?fffA@??fffA1v B? #<C DATAߒے333?ʅOAD FILE/9DATA(ْ໒(8=i>o? uHDATAu333?*zCAzCA A@FB= A ?DATAHu333?*????????8=i>o?fffAD&@??fffA1v B? #<C DATAH333?*AVE TARGA/t1.blend9SRx@طSR5-Scriptingp DATA0DATA0x DATAx0 DATAxDATAPDATAPDATAPDATA(DATA(pDATAp(DATA0xDATAH0PDATAHxDATAHPDATA DATA hP(DATAh (DATAh(DATA@PDATA@DATA@pDATApDATA`pDATA`(pDATA`DATAP0x !  DATAhP(z==o? pDATATransform PropertiesView3d>DATA3D Viewport propertiesView3d>"DATA p333? ˅????????z==o?&A*A?z==o??????*A1v B??=C ?@?@?@? DATAp 333? ˅/9DATAhp(??Pף LhhDATAhTransform PropertiesIpo!>DATA0 333? > =DATA0h333? CCx??|?DATAXh0333? zC̽̌?zC@;; #< #<`jFzD OBzC̽̌?DATAh333? CC|||??l|((DATA,(BOp=A1vDATAt 333? zCCHBC|||?CFC= ADATAth 333? ?zDzDBCl||ll|zDzD=HB DATAhXt 333? BzB@l|llFzD #<HB DATAXh333? ??? ???? A???PA A!O?j?}GCHB? A1v B? #<C DATAX333? /9DATAhpODATALink and MaterialsEditing>DATA MeshEditingF>DATA  Anim settingsObject>DATA   DrawObjectF>DATA   ConstraintsObject>DATA 0 EffectsObjectDATA0H HooksObjectF> DATAH`0Particle InteractionObject> DATA`xHSoftbodyObject> DATAx`OutputRender>DATAxRenderRenderF>DATAAnimRender>DATAFormatRender>DATAScriptlinksScript>DATA333? ChC#DhCC(BDC?z?DATA333? /9SC|SCScenetageain1v' RAk$A|?pA@pA@pA@= @!dd??< d XZ! ??$$BB?????//backbuf/tmp\L?L?L??>??_??D `X"DATA{FDATA{H .H.vDATAH { .1vDATA {H .*vDATA( z,d'=A@DATA@!L?B ?o: ??P22 2d 22 22 22 22 22 > #<===ff??AHz?=???CDATAX"'????C?N #,=P +=#??????DATAH#%?=Vy?>`fff?Ou<?DATAH$1 RenderLayerCA$CACameraamera.001L>DB=B B@?LAPv(LASpot.001 ?????AB>??8%.?A4B?@@@ ???o:??????@?????&DATA8%'????C?55?55?p&??????DATAp&%??DATA &WOl'yWOWorldg=pb>>===??A <@pA A?L= ף;>(DATA (TXx(`7TXinfoext)/++%%03DATA))DATAwȁXDATAwXw4eDATAXwwwpt,/DATAw]Xw DATA] ^w]@hDATA ^H?] 3DATAH?? ^x DATA??H?PDATA?x܀?+DATAx܀܀? DATA܀݀x܀@9vDATA݀܀pēDATA݀&z1DATA:@/DATAx9v DATA8ʄؓ-DATA8gt9vj):DATAgtgt8P8ēDATAgthtgt05DATAhtУgt9vDATAУhtߓ :vDATA`УP*DATA`mDATAm(n` `͓+DATA(nmpn`ÓDATA@(nzDATA@Պx8DATAՊ֊@8֊DATA֊sՊИ?vDATAsдs֊8ݓ`DATAдsss(pDATAshsдsx DATAhsss(x"DATAsshsHрDATAss ЪDATAHs 'z0bb_bDATAHcDATAؓH(DATAؓٓ%FREEDATA8ؓ;0:lDATA8ȑFREEDATAȑ8x(5FREEDATAȑ'zۓ1DATAP@ٓ8&DATAP0HܓDATA@sPܓ3QDATA@sspݓ1DATAsЪs@sDATAЪssss.DATAsh ЪsדQDATAh  sHx DATA 8h hݓDATA8 r0ޓDATAh___DATA88i######################################################DATA#DATA0z# MouseLook Finished blend -- Blender 2.48DATA#__DATA4# Tutorial for using MouseLook.py can be found atDATAhu# DATA$# www.tutorialsforblender3d.comerDATAlH# DATALhӓ# Released under the Creative Commons Attribution 3.0 Unported License. #DATA8#__DATAD# If you use this code, please include this information header. DATAu###DATA8i######################################################EDATAp___DATA0u__DATAg# define main programtDATA ydef main():DATA __DATA h # set default valuesDATAh Sensitivity = 0.0005DATA 1z Invert = 1DATAޖ Capped = FalseDATAt #DATA # import RasterizerDATA import RasterizerDATA __DATAj # get controllerDATA0 controller = GameLogic.getCurrentController()DATA(t DATA0Ѕ # get the object this script is attached to)DATA  obj = controller.getOwner()REEDATAu #DATA$q # get the size of the game screenqDATA( gameScreen = gameWindow(Rasterizer)REEDATA __DATA( # get mouse movement#DATA00 move = mouseMove(gameScreen, controller, obj)EDATAt __DATA  # change mouse sensitivity?REEDATA,hz sensitivity = mouseSen(Sensitivity, obj)DATA EEDATAPn # invert mouse pitch?EDATA$` invert = mousePitch(Invert, obj)()DATAt "DATAn # upDown mouse capped?DATA0؇ capped = mouseCap(Capped, move, invert, obj)EDATA@Γ __DATApo # use mouse lookDATA@ useMouseLook(controller, capped, move, invert, sensitivity)REEDATAt DATA ( # Center mouse in game windowEDATA4` centerCursor(controller, gameScreen, Rasterizer)tDATAxΓ __DATA8j#####################################################DATA^u__DATA q# define game windowhisDATAdef gameWindow(Rasterizer):DATAΓ TADATA(  # get width and height of game windowDATA( width = Rasterizer.getWindowWidth()wDATA( height = Rasterizer.getWindowHeight()EDATAd _DATA return (width, height)DATAȓ##DATA8#######################################################DATA& x DATA$@# define mouse movement functionq!DATA,`Edef mouseMove(gameScreen, controller, obj):DATAȓ##DATA  # Get sensor named MouseLookEEDATA, mouse = controller.getSensor("MouseLook")qDATA y DATA,Љ # extract width and height from gameScreenDATAu width = gameScreen[0]DATA0v height = gameScreen[1]DATAp__DATA(p # distance moved from screen centerREEDATA$P x = width/2 - mouse.getXPosition()DATA(X y = height/2 - mouse.getYPosition()!DATAH __DATA4pj # initialize mouse so it doesn't jerk first timeDATA(蕓 if hasattr(obj, 'mouseInit') == False:DATA obj.mouseInit = TrueTDATAp x = 0DATA3 y = 0DATA!z __DATA(@ ######### stops drifting on mac osx pDATA5 REEDATA( # if sensor is deactivated don't moveEDATA$ if mouse.isPositive() == False:qqqDATA x = 0DATA y = 0DATA"z __DATA,8 ######### -- contributed by Pelle JohnsenDATAu DATA8 # return mouse movementty?DATAр return (x, y)EDATAH"z___DATA DATA8B######################################################EDATAȧu x DATA# define Mouse SensitivityDATA def mouseSen(sensitivity, obj):DATA.u y DATA4C # check so see if property named Adjust was addedDATA$ؙ if hasattr(obj, 'Adjust') == True:DATA"z _DATA 芓 # Don't want Negative valuesEDATA0 if obj.Adjust < 0.0:DATA obj.Adjust = 0.0DATAY DATAp # adjust the sensitivityDATA,E sensitivity = obj.Adjust * sensitivityDATAɉ DATA # return sensitivityEEDATA return sensitivityDATAhWDATA<˓#########################################################!DATADATAP# define Invert mouse pitchDATA def mousePitch(invert, obj):REEDATAT __DATA4%z # check to see if property named Invert was added DATA$Xt if hasattr(obj, 'Invert') == True:DATA DATA # pitch to be inverted?ooDATA if obj.Invert == True:DATA invert = -1DATAa else:DATAe invert = 1EEDATA  DATAp # return mouse pitch##DATAx return invertEDATAU DATA8%z#####################################################EEDATAM _DATA P# define Cap vertical mouselookDATA,кdef mouseCap(capped, move, invert, obj):DATAyz _DATA0ل # check to see if property named Cap was addedDATA$8u if hasattr(obj, 'Cap') == True: DATA ( DATAt # import mathutils DATA0 import MathutilsDATA DATA$ # limit cap to 0 - 180 degrees DATAt if obj.Cap > 180:DATA obj.Cap = 1800yDATAݖ if obj.Cap < 0:##DATA obj.Cap = 0EDATA DATA48 # get the orientation of the camera to world axisDATA  camOrient = obj.orientation_DATA _DATA  # get camera Z axis vector DATA@ʓ camZ = [camOrient[0][2], camOrient[1][2], camOrient[2][2]]REEDATAH yDATA$҇ # create camera z axis vector ###DATA ( vec1 = Mathutils.Vector(camZ)DATAu _DATAt # get camera parent##DATA` camParent = obj.parent#DATAu _DATA, # get parent orientation to world axis!!DATA(x parentOrient = camParent.orientationEDATA҇ _DATA  # get parent z axis vectorREEDATAL parentZ = [parentOrient[0][2], parentOrient[1][2], parentOrient[2][2]] #DATAh DATA 0 # create parent z axis vectorDATA$8Ӈ vec2 = Mathutils.Vector(parentZ)DATAX DATA@ # find angle between twouDATA4P&z angle = Mathutils.AngleBetweenVecs(vec1, vec2)###DATA0 DATA$ঔ # get amount to limit mouselookDATA capAngle = obj.Cape gDATA REEDATA  # get mouse up down movement_DATA8 moveY = move[1] * invertnDATAX DATAL@ # check capped angle against against camera z-axis and mouse y movement#DATAh if (angle > (90 + capAngle/2) and moveY > 0) or (angle < (90 - capAngle/2) and moveY < 0) == True:DATA DATAЗ # no movementvitDATA` capped = True###DATA  DATAt # return cappedREEDATA试 return cappedEDATAțobDATA0###############################################DATA DATA# define useMouseLookDATAD( def useMouseLook(controller, capped, move, invert, sensitivity): DATA( REEDATAc # get up/down movementDATAd if capped == True:DATAt upDown = 0EDATA8  else:EDATA,( upDown = move[1] * sensitivity * invert lDATA0  DATA  # get left/right movementDATA0` leftRight = move[0] * sensitivity * invert REEDATA  sDATAX # Get the actuatorsDATA8 act_LeftRight = controller.getActuator("LeftRight")DATA0pt act_UpDown = controller.getActuator("UpDown") DATA  DATA] # set the valuesDATA4 act_LeftRight.setDRot( 0.0, 0.0, leftRight, False)DATAx  DATAP __DATA, act_UpDown.setDRot(upDown, 0.0, 0.0, True)DATA  DATA __DATAp # Use the actuators DATA4&z GameLogic.addActiveActuator(act_LeftRight, True)#DATA0: GameLogic.addActiveActuator(act_UpDown, True) DATA __DATA0ʄ#############################################EEDATA___DATA P# define center mouse cursorREEDATA8def centerCursor(controller, gameScreen, Rasterizer):EEDATA __DATA ߓ # Get sensor named MouseLooky DATA,P mouse = controller.getSensor("MouseLook")DATA___DATA,  # extract width and height from gameScreenDATApn width = gameScreen[0]DATA height = gameScreen[1]DATAxivDATA8֊ # get cursor positionDATAИ x = mouse.getXPosition()hDATA8ݓ y = mouse.getYPosition()!!DATA( __DATA$x #if cursor needs to be centered###DATA$( if x != width/2 or y != height/2:qDATA DATA  # Center mouse in game windowDATA4 'z Rasterizer.setMousePosition(width/2, height/2)###DATA DATA, # already centered. Turn off actuatorsDATAٓ else:EDATA nDATA # Get the actuatorsDATA8x act_LeftRight = controller.getActuator("LeftRight")EDATA4'z act_UpDown = controller.getActuator("UpDown") ##DATA@ٓ _DATA0 # turn off the actuators DATA4 GameLogic.addActiveActuator(act_LeftRight, False)DATA4p GameLogic.addActiveActuator(act_UpDown, False) DATA DATA0##############################################DATAדDATAHx# Run programEDATAhmain()EDATAr"TXxp `7TXMouseLook249.txtex^!!!@C-@DATA^@_yRDATA@__^z6?DATA__@_*!DATA_`_p$DATA```_sxDATA``觕`3DATA觕```)0]DATA`0觕;DATA0``xv[1]DATA`8a0`kXJX"DATA8aa`p)0DATAaa8alXoAue:DATAabaX:sDATAba6DATAXbbx(onDATAXbb੕sitiDATAbbXb#0z DATAb0cb(bDATA0ccbxcЫDATAcPd0cd DATAPddcy 4* DATAddPdyu4, DATAd(edsH'. DATA(epedЬT2 DATApef(eeؽu7 DATAfHfpe0IDATAHffff8-DATAf gHfX.DATA ghgfh(2yDATAhgg g,DATAg@hhggDATA@hhgЍhDATAhN@hx@Qy"####DATANNh u$DATANON݀aDATAOONXODATAO0PO`覕.DATA0P O]DATA p 0PP`FREEDATAp (  8u*FREEDATA( p ȈxeFREEDATA( PDATA讔E!DATAxP.uDATAx藊0HDATA藊xP-DATAX藊`8SDATAXȖ-DATAȖXpx<DATA8Ȗ`DATA8 DATA8x1DATA`xYDATA`@5FREEDATAД`Г-uFREEDATAД@@8FREEDATA@ДFREEDATA@ FREEDATAhȭسu&FREEDATAh pP$FREEDATA ؒh ]z&FREEDATAؒпs hFREEDATAпs`tؒtpFREEDATA`txtпsp0dDATAxt t`tv@W7FREEDATA tHsxtH FREEDATAHst t/u dDATAttHs]z+FREEDATAtHtt(FREEDATAHtH]tX`yzFREEDATAH]]Ht@(]z(DATA]\H]DATA\p\] +DATAp\[\(\DATA[P[p\[8DATAP[[[DATA[ZP[#$DATAZ[h DATA[yZ!DATA[y@<Ț̄DATA@<P@[y1DATAP@XB@< X&DATAXB`DP@hDATA`DhFXBtDATAhFpH`D؇DATApHxJhF4DATAxJNpH $DATAN0QxJ݀_uDATA0QSNh&DATASW0QUDATAW\S`FREEDATA\8^W膌tFREEDATA8^H>\؞FREEDATAH>L8^ 3FREEDATALaH>؅8FREEDATAaxbLFREEDATAxbda0zFREEDATAd0exbFREEDATA0eedkFREEDATAeh0e6FREEDATAhjePMFREEDATAjoh؋ FREEDATAotj(ʄFREEDATAtto8PFREEDATAt`ttHpt2`tDATA`tttW"FREEDATAt8t`t݀@yDATA8tttȚDATAtt8tFREEDATAttttDATAt؋ttHttDATA؋ttOtDATA؋tt+FREEDATAtFREEDATAt茕XhFREEDATA茕tPPPhq!DATA蔕茕Ó]DATA蔕:9tcrDATA蔕·X;p']DATA0(HFREEDATA0M`kEEDATAMO0ғq!DATAOpMh@3FREEDATApO"DATAp0yDATAФFREEDATAФ`t DATA`ttФyFREEDATAtt`tȥyFREEDATAtt@yH FREEDATAt>yhDATA~Pht)DATAzyqqq!DATAzzs`####DATAzserz8@u5!_nDATAer uzsH@ד_n!DATA u erآ؄_nnnDATA v uؠ(q!_qDATAvp P qq_!DATApuv u/####DATAu@pX"####DATA@uh0q_!_DATA'@`Eqq!nDATA'PAP###DATAPA8&'xPou!__DATA8&)PA qqqqDATA)ׄ8&̈́uselDATAׄ؄)τ d.blDATA؄H‰ׄۄ@ d.blDATAH‰؄pd.blDATA@zH‰td.blDATA@z(ɄHЁ3d.blDATA(ɄX5@zd.blDATAX5H(Ʉ`@yd.blDATAH˄X5'd.blDATA˄pZH<d.blDATApZA˄(vd.blDATAA)pZ0( DATA)ևA8 ####DATAև')y####DATA';ևH֋`qqq!DATA;'HP####DATAؔs;–####DATAؔs>H(llllDATA>ؔsЗ`&####DATA`t>yqqqqDATA`tH`x____DATAH`tH####DATAH୕fs_!nDATA/t q_!!DATA/t s"q_!_DATA sX·/ty####DATAX· e sXqqqqDATA eFX·:v0qqqqDATAFpz et####DATApz@\yFPxr!ed bDATA@\ypz####DATAГ@\ytDATAГ0DATAГq!qqDATA@t####DATA@HI####DATAH0@g####DATA0H ####DATA{0~X####DATA{y ng MDATAyx({Xu8####DATAx( yऔ####DATA @֓x(yDATA@֓ē (DATAē/z@֓xv/DATA/z0sē@ DATA0s//zN8 DATA/0S0sۄ@####DATA0S@/h@####DATA@Ʉ0SHame_DATAɄɓ@h`23-JDATAɓX“Ʉ DATAX“_zɓ uyDATA_z X“Hw*####DATA p_z:sDATApP DATAPp w,DATA` PyDATA` ߓDATAߓX` X=2DATAXߓ=.25-NDATAx_uX(25-NDATAx_ux̄4DATAx̄ȩx_uxq,23-JDATAȩx̄`r%09-DDATApȩXDATAp@ߓ c&DATAȠpDATAȠX~DATAXxȠhDATAxX`p#DATAx!DATA֓|॔DATA֓ғb-DATAғÓ֓p~DATAÓЏғ`8DATAЏÓ@0r5###DATAPЏ|FREEDATAPhx ̀+FREEDATApP(FREEDATApht tFREEDATAht(p}HۓFREEDATA(pht(ǓREEDATAp`(̀(FREEDATA`pt_sDATAX`05DATAX8xDATA0X }(dsDATA0xޓhǓ!30-SDATAxX0P؄< DATAXxty25-NDATAgsX(< DATAgshsr0er%xDATAhsXgsp{vbodyDATAXhs(?DATAX](DATA0*8DATA0*x*3. DATAx*V0*8s/####DATAVVx*z@PyqqqqDATAVVx DATAVH&rtedDATAoxzMz$ert DATAo0pȜvaqqqqDATA0pDoxMz._FinDATADD0p8za####DATADhD(1zt _FinDATAh!Dvbh?DATA!h8om sDATADATA8z######################################################DATA#DATA(# MouseLook.py Blender 2.491DATAs#DATA4# Tutorial for using MouseLook.py can be found atDATA#__DATA # www.tutorialsforblender3d.comDATAx#__DATAL`k# Released under the Creative Commons Attribution 3.0 Unported License. #DATA#"DATADl# If you use this code, please include this information header.DATA# DATA8######################################################EDATAx elDATA੕# define main programDATA #def main():DATA DATAxc # set default valuesDATAd Sensitivity = 0.0005DATA  Invert = 1DATAy Capped = FalseDATAs DATAЬ # import Rasterizer DATAe import RasterizerDATA0 __DATAf # get controllerDATA0X controller = GameLogic.getCurrentController()EDATAh ##DATA0 # get the object this script is attached toedDATAg obj = controller.ownerDATAЍ __DATA$x # get the size of the game screenDATA(  gameScreen = gameWindow(Rasterizer)REEDATA݀ __DATAXO # get mouse movementDATA0` move = mouseMove(gameScreen, controller, obj)DATA _DATA P # change mouse sensitivity?REEDATA, sensitivity = mouseSen(Sensitivity, obj)DATAȈ __DATAP # invert mouse pitch?DATA$讔 invert = mousePitch(Invert, obj)EEDATA _DATA0 # upDown mouse capped?DATA0 capped = mouseCap(Capped, move, invert, obj)DATA` DATA # use mouse lookDATA@p useMouseLook(controller, capped, move, invert, sensitivity)REEDATA DATA  # Center mouse in game windowDATA4x centerCursor(controller, gameScreen, Rasterizer)##DATA EDATA8@#####################################################EDATAГ DATA# define game windowREEDATAdef gameWindow(Rasterizer):DATA _DATA(ȭ # get width and height of game windowEDATA(p width = Rasterizer.getWindowWidth()REEDATA(  height = Rasterizer.getWindowHeight()EDATA _DATAt return (width, height)DATAp DATA8v#######################################################DATAH lDATA$# define mouse movement functioninDATA,def mouseMove(gameScreen, controller, obj):DATA( DATA X # Get sensor named MouseLookDATA,@ mouse = controller.sensors["MouseLook"]DATA DATA, # extract width and height from gameScreenDATA(\ width = gameScreen[0]DATA[ height = gameScreen[1]DATA DATA(# # distance moved from screen center#DATA$ x = width/2 - mouse.position[0]###DATA$ y = height/2 - mouse.position[1]qDATAȚ DATA4 # initialize mouse so it doesn't jerk first timeDATA(  if obj.has_key('mouseInit') == False:EDATAh obj['mouseInit'] = True):DATA x = 0DATA؇ y = 0DATA __DATA(  ######### stops drifting on mac osx#DATA݀ REEDATA( # if sensor is deactivated don't moveEDATAU if not mouse.positive:DATA` x = 0DATA膌 y = 0DATA _DATA4 ######### -- mac fix contributed by Pelle JohnsenDATA ؅ 1DATA # return mouse movementDATA0z return (x, y)DATA DATAelsDATA8######################################################EDATAP DATA؋# define Mouse SensitivityDATA (def mouseSen(sensitivity, obj):DATA8 DATA4H # check so see if property named Adjust was added#DATA$ if obj.has_key('Adjust') == True:qDATA݀ _DATA Ț # Don't want Negative valuesEDATA if obj['Adjust'] < 0.0:DATAt obj['Adjust'] = 0.0DATA DATA # adjust the sensitivitylDATA, sensitivity = obj['Adjust'] * sensitivityDATA___DATAX # return sensitivityqqDATAP return sensitivityDATA_DATA<#########################################################DATA·___DATA(# define Invert mouse pitchDATA `def mousePitch(invert, obj):REEDATA DATA4h # check to see if property named Invert was added DATA$ if obj.has_key('Invert') == True:iDATA0 DATA # pitch to be inverted?n!DATA if obj['Invert'] == True:DATAy invert = -1EDATAȥ else:DATA@y invert = 1EDATA> DATA~ # return mouse pitchDATAy return invertEDATA` DATA88#####################################################EEDATAH___DATA آ# define Cap vertical mouselookDATA,ؠdef mouseCap(capped, move, invert, obj):rt DATAP DATA0  # check to see if property named Cap was addedDATA$X if obj.has_key('Cap') == True: DATAh __DATA`E # import mathutils###DATAP import MathutilsnDATAx DATA$ # limit cap to 0 - 180 degreesDATÄ́ if obj['Cap'] > 180:lDATAτ obj['Cap'] = 180DATAۄ if obj['Cap'] < 0:.blDATA obj['Cap'] = 0heDATAt _DATA4H # get the orientation of the camera to world axisDATA  camOrient = obj.orientationEEDATA` DATA  # get camera Z axis vectorEEDATA@ camZ = [camOrient[0][2], camOrient[1][2], camOrient[2][2]]REEDATA( _DATA$ # create camera z axis vector ###DATA 8 vec1 = Mathutils.Vector(camZ)DATA _DATAH֋ # get camera parentDATAH camParent = obj.parentn!DATA DATA, # get parent orientation to world axisht]DATA(З parentOrient = camParent.orientationEDATA sDATA ` # get parent z axis vectorZ)DATAL parentZ = [parentOrient[0][2], parentOrient[1][2], parentOrient[2][2]]#DATA୕ DATA  # create parent z axis vectorDATA$ vec2 = Mathutils.Vector(parentZ)DATA _DATAX # find angle between twoqDATA4: angle = Mathutils.AngleBetweenVecs(vec1, vec2)qqqDATA DATA$P # get amount to limit mouselook DATA capAngle = obj['Cap']DATAt REEDATA 0 # get mouse up down movementEDATA moveY = move[1] * invertrDATA DATAL # check capped angle against against camera z-axis and mouse y movement DATAh if (angle > (90 + capAngle/2) and moveY > 0) or (angle < (90 - capAngle/2) and moveY < 0) == True:DATA DATA~ # no movement###DATA capped = True###DATAXu __DATAऔ # return capped(DATAy return cappedEDATA(___DATA0###############################################DATADATAN# define useMouseLook##DATADۄdef useMouseLook(controller, capped, move, invert, sensitivity):endDATAh REEDATAH # get up/down movementDATAh if capped == True:DATA upDown = 0EDATA u else:DATA, upDown = move[1] * sensitivity * invert DATA tDATA # get left/right movementDATA0  leftRight = move[0] * sensitivity * invert DATA _DATA # Get the actuatorsDATA4 act_LeftRight = controller.actuators["LeftRight"]#DATA0 act_UpDown = controller.actuators["UpDown"] EDATA( f DATA4 # set the valuesr DATA0x act_LeftRight.dRot = [ 0.0, 0.0, leftRight]#DATA(` act_LeftRight.useLocalDRot = False EEDATAX DATA(@ߓ act_UpDown.dRot = [ upDown, 0.0, 0.0]EDATA  act_UpDown.useLocalDRot = TrueDATA~ *DATA # Use the actuators DATA$` controller.activate(act_LeftRight)DATA$ controller.activate(act_UpDown) 0.DATA| DATA0#############################################EEDATAp~ DATA `# define center mouse cursorREEDATA8@def centerCursor(controller, gameScreen, Rasterizer):EEDATA| DATA,hx # extract width and height from gameScreenDATA( width = gameScreen[0]DATA t height = gameScreen[1]DATA} DATA ( # Get sensor named MouseLookDATA, mouse = controller.sensors["MouseLook"]DATAt eDATA # get cursor positionJDATA8 pos = mouse.position-JDATA } DATA$ޓ # if cursor needs to be centeredDATA$P؄ if pos != [ width/2, height/2]:qqqDATAt #DATA ( # Center mouse in game windowDATA4 Rasterizer.setMousePosition(width/2, height/2)DATAp{ DATA, # already centered. Turn off actuators##DATA] else:EDATA # Get the actuatorszDATA4 act_LeftRight = controller.actuators["LeftRight"]DATA08 act_UpDown = controller.actuators["UpDown"] DATAz DATAx # turn off the actuators DATA( controller.deactivate(act_LeftRight)EDATA(xz controller.deactivate(act_UpDown) :DATAȜvDATA0##############################################DATA8z##DATA(1z# Run programEEDATAvmain()EDATA8EEOBP1vqH.vOBCameraamera.001 $@.8@?????.;?.;@????????0(?=>`ÆZ?:>7k?!=Pra>_g?O& 4?OBd????>6 ?u=??????OBPH.vq*v1vOBCube(">???????@???N:sy@OBP*vqH.vOBHemiamp.001 PvDBz(=*@???{&?W+b=9?F??Ԏ)? b#?"?u> پoK?DBz(=*@??????¸3ұ6?`O3 3o3?XU@7I6?y?!_"?->O?[>_Mֿd)?=@M0?DOBd8?<?>">u=???@???yyOBPq*vOBSuzanne“@pA@????%%?%%i!3?%i!3pA@???????n?4?DOBd8?<?>">???????@???xH5vy@MEzz4@MECubeX:v  3???DATAT*DATA:??II?I?I???III??II?I??IIDATAT*:vDATA:v7 ############DATAT*DATAx6ME@4zzMESuzanne(`P !?|?Z?DATAT*DATA/:>(>D?}\F(>D?F?=0?LQ=0? Q ?`=?T⵿= `=?⵿=>? @>?@>>=8?LW=8?HLW>>H?yn>H?yn>(>L?8u$(>L?Tu$P>=>?Ȃ]^P=>?H7]^ >`=&?]BE `=&?MG]BE=x>(?h3Jx>(?Khh3J>x>>?N_x>>?T_x>x>L?b%xx>L?hzb%>>L? XY#>L?U XY#P>>>?A^P>>?7A^ >>&?3VNNI >&?EVNNI>?? krD??krD>>8?[X>8?7[X>>H?}>H?z}>>D?6]CU>D?ʢCU?>0?L0??SG-A >?MG-A ?x>?(oqu? x>?ؐqu??x>,?0dOx>,?ЛO>x>B?u~x>B?>x>F?xj*x>F?`j*>>H?]~J]->H?S~J]->>N? s6>N?s6>>R? P+A>R?JP+Ah>x>R?t9+Bhx>R?m9+B> >R?"s@ >R?Is@>x>T?J}x>T?}>=N? -6=N?&-6> >H?\˳, >H?s˳,>>?+|>R??.?g9K??sN"ef? nԿ?Z# =TՆľqP>@?qzO P@?pzO >?z?<>2?} 2?Y >d?q|d?>r?O,r?a,8>x? 8x?q |?K>?r/u?u"? ?Mƚ " ?ƚ T?>>q T>>( \?>?hq3 \>?3 6?> ?@jy6> ?(jy>?0?KReF?0?wReF>B?8?B?6`  8?B?P6` =>@?L>@?RdL(>>F?|(>F?|>>D?~}>D?`~}P>=>?yP=>?y><4?j"wn<4?wn>=,?7&?:{m @>&?K{m$?>&?1=$s$>&?c=$s?>*?'w>*?2دw>>8?>U}ܾ>8?U}>>B?({>B?({D?hI=>?4$5nн>?5n>h@?_ԶHh@?EԶH=>?u@uZc>?uZc>@,?g1 f̾@,?Ν f?`= ?;kd`= ?rkd:?P>?fB Af:P>? Af>?>(?W6p>>(?Ɏp0?>:?R*a}x0>:?a}x> ?L?)x ?L?@x>$?V?5~|$?V?'5~|P>?Z?},P?Z?,=>X?Y~н>X?~Y~>нP?s"{нP?"{X>6?JfX6?,f>40?Hi40?i>R*?BhR*?Mhp>j"?>,b_pj"?b_(>n"?46P(n"?e46Pr$?ɚXN@=:?X>D?p|>>>?:8~>>?8~(>>@?%nv(>@?)nv>X>B?9{X>B?j9{=0?y$j=H?B-5H?Y-5>hL?v$hL?{$=H?Q_1H?Y_1 =H?Ƞl' H?C7l'PT?*}@=P?YNBb@P?FYNBb= P?X+>f P?Ԇ>f=hT?.YthT? Yt=N?.ƵcN?ƵcN?n>?x")c?")c(>x6?Pb(x6?b8>6?SG_86?)G_p>?zC#@p?C#@`0?VM^@=^0?F}^@^0?p1F}^=R6?mKXR6?[mKX=>:?W'X>:?sW'XH(?S=@*?b@*?b=P$?FP$?gF@=Z"?1p@Z"?!1p\"?<q0>`>H?]{0`>H?]{@> >F?G "@ >F?">>B?QJ~>B?J~>>F?V}>F?&V}>>F?9}ؾ>F?J9}?>2?u{>2?qu{?>0?~>0?/~?H>.?}H>.?O}>=8?!K{=8?K{>=>?U}=>?}h>=H?h=H?8>>H?"+z8>H?W+zX>>H?~l{X>H?l{p>>B?@ bp>B? bH>>B?`QPH>B?㟩QPx>>B?$7zGZx>B?zGZ>=:?LZNb=:?ZNb>=4?UEEk=4? EEk ?X>,?Cx X>,? Cx?>,?{_v>,?l-{_v?>.?l+c>.?(l+c>>@?#QԾ>@?6#Q>>D?'vq>D?vq>>@?o>@?+oP>0>@?T*UP0>@?*UH>h>@?f LHh>@? L=>?vh>?IIvhH>*??BH*??0?B>0??; YZХ0??YZХ>??%hr??[hr.?>>C-(t.>>(tL?>>d^OL>>OF?(>>xݥF(>> ݥ?>Lj>ej>>8 >4 f?>jF|?RH,6̦@>Az>̵N>ݢ>ɇ>aZ?p>`=} Zp>`=\ \?>@~B\>@RBF?>FQ F>ྺ >>4{:F>4F`=*7m`=*Xmp>>x$p>;$8>Ծ>T8Ծ>D>6>OV6>}V>>c>>j>A>j>>B>7B>{7> >0 >ϣ(>r>D ڞ(r>ڞ`>>|j`>=jX>h>xi$Xh>i$P>0?eP0?`X>Ⱦ(>xTݟXȾ(>ݟ>C*I*I> ? 7>^?ľ"8_^?ľǠ_>n?67xsn?xs>Z?p>?\<Z?p>\<>?>{1f9?>f9:?>>bI#:>>rI#"?>>=j!">>j!$?4?`=LW4$4?`=W4L??>eB(L?>EB(L??qD:wL?ID:w$?@?HV]$@?H]$?.?UF$.?FL? ?n*L ?Z*?>:K9t>ƴ9t>< IFȭ< ȭR?>PrP)&R>P>P)&>0>Jо0>>HXYGsܾHXsd?>pH]jOd>p#]jOF?"TFF"TF?нC=н\=?`=ܾSrS`=ܾMrS?>ؾ6\ W>ؾʣ W??ؾ>SaI?ؾ SaI?>Po>>KPo>?>Eui>ui?>Ⱦ"Y{>ȾY{?>оE{>о {?=о'x=оU'x? 38-Rl 8-RlT?&>hTm>hl?>`>nl>`&nr?> WI:r>I:b?Xjy@%bXjy@%?Yz!cYz!?=Q =aQ ?><_>|_?>F>F?>ADq@>q@X?>XqVWXX>XWXV?0>_kd*V0>Xpq'LP>X'd?x>iZ=8dx>=8d?p>RfRdp>AfRP?@b^LP @b^LZ?<MoKdZ<joKdT?=<<^T=þ<^D?=S]D=9]X?0>bIȪXX0>ȪX?>ԾDpg>Ծ黦pg?>Yx>[Yx?x>gx>Fg?=+@wd=.@wd?ؾ4\Tؾ\Tb?9toe>btoe>t?>PfկYt>:fկYd?=l}d=xl}p?=:hyp=:hy?>7~#s>&~#sv?0>)yv0>\y?p>' 7yp>ؿ 7y?@>ľ.)v@>ľ0)v?X>ȾF5TUtX>ȾTUt?>Ⱦc,$&q>Ⱦ$&q?>Hަ>9Hަ?> %{D> :{D?>yI>I?`=;RKF`=ŭKF?zJ?~zͧJzͧ\?>ľ]A\>ľ>ADATAT*PDATA/P7.##,#,.##/#-/#-##*#*,##+-#+#### # ## # # # # # ## # # ########### ### ########### # ##!#!##"# "#!####"$#$&# &#%'##%#!'#&(#(#')#)#&,#(*#'-#)+#$.#%/#$2#02#.0#%3#/1#13#"4#24##5#35#6#46#7#57#8#68#9#79#: #8:#; #9;#> #:>#? #;?#@#>@#A#?A#0@#1A#<@#0<#=A#1=#<>#=?#:<#;=#8<#9=#6<#7=#4<#5=#2<#3=#X##Z#XZ##Y#YZ#V##VX##W#WY#T##TV##U#UW#R##RT##S#SU#P##PR##Q#QS#N[#[##N#\#O\#O##[]#]##^#\^##]_#_##`#^`##_a#a##b#`b##ac#c##d#bd##ce#e##f#df##eg#g##h#fh##gi#i##j#hj##ik#k##l#jl##Bk#BC#C#Bl#C#m##m##n#n#####}#}#~#~#{#{}#|#|~#y#y{#z#z|#w#wy#x#xz#u#uw#v#vx#s#su#t#tv#q#qs#r#rt#q####r##Co#mo#np#Cp#C##o#p###!#######################!#####D!D#D##D!#####################F#F##F#E#E#E###E###F###############################P###Q#####N#O#G#G###G#########################G#############o#p###m#n##q##r##s##t##u##v##w##x##y##z##{##|##}##~############################## # ###  # # # #  # # #  # ### ###################k#H#BH#l#H#i##j##g##h # #e!#!#f"# "#c##!##d$#"$#a%##%#b&#$&#_'#%'#`(#&(#])#')#^*#(*#[+#)+#\,#*,#34#4G#GQ#3Q#4H#3R#HR#23#OQ#2O#2P#PR#12#OS#1S#1T#PT#Z1#XS#YT#MS#VM#WN#NT#IM#TI#UJ#JN#IK#RK#SL#JL#IO#KQ#JP#LR#EK#EG#FL#FH#PE#QF#U#UW#W#VX#V#X#EU#FV#WY#NY#OZ#XZ#+Y#,Z#LC#C_#/_#L/#D`#LD#/`#]_#M]#M/#^`#M^#[]#0[#M0#\^#0\#G[#04#H\#U[#V\#)=#5=#'5#*>#(6#6>#K;#;C#KL#<D#K<#-e#ce#.c#-.#df#-f#.d#ac#Ja#J.#bd#Jb#;a#JK#<b#%i#ik##k#&j#$l#jl#io#mo#km#jp#ln#np#oq#qs#ms#pr#nt#rt#qw#uw#su#rx#tv#vx#9y#uy#9w#vz#:z#:x#au#;y#bv#<z#cs#dt#em#fn#eg#gk#hl#fh#!g#"h#Ig#I-#Ih#!#"#I#I#HI#5i#6j#57#7o#8p#68#7}#q}#r~#8~#9}#:~#]##[#^#\##=#?#=?#>#>@#@#+#,#+W#U#,X#V#9A#A{#y{#B|#:B#z|#C{#D|#{#?A#|#@B#_{#`|#################################################################?##=#@#>##?##@##7#8#}##}##~#~#########################!#!###7#8##############################################################!###!##############################################################9#:#A#B#DATAT!*(`DATA'(`6.,/-,*-+         !" !#"$& '%#! &()'!&,*(+-')$.,&-/%'.$203%/1$"425#%3"647#58697 :8; 9 >:? ; @>A ?.0@1/A<@01A=>@<=A?<:>?;=<8:;9=<6897=<4675=<2453=<0231=XZYZVXWYTVUWRTSUPRQSN[\O[]^\]_`^_ab`acdbcefdeghfgijhikljkBCCBlmn}~{}|~y{z|wyxzuwvxsutvqsrtqrmCoCnpoCCpDDDDFFEEEEFFPQNOGGGGopmopnqrqstrsuvtuwxvwyzxy{|z{}~|}~mn          BkHlBHkijlig hjge!"fh ec#!$df"ca%#&bd$a_'%(`b&_])'*^`(][+),\^*34GQH43R23QOR32P12OSP21TXZ1S1ZYTVXSMTYWNTVMINWUJRTIKJUSLIOQKRPJLIMSOTNJPEKQGRLFHPRKELSQFUWXVPEUVFQNWYXOZNY+[,ZO\LC_/`DL//_]M^`/MM][0\^M00[G4H\04EG[U\HFV')=5>*(6K;CLD<KL-ec.df-..caJbd.JJa;K<bJK#%ikj&$lkiompjlnmoqsrpntsqwuxrtv9yuwvz:x;auyvb<zacsutdbvcemsnfdtegkmlhfn!#kgl$"hIge-fhI-! "!gIh"IHIIH%'5i6(&j57oip86j7}qor~8p9wq}rx:~[]^\=?>@)+=,*>+WUVX,U[\V+YWXZ,9A{y|B:z;y{C|z<D?{A|@B]_{|`^C{_`|D=?@>?@5=7>68}~7}8~789}~:9A:B?AB@DNA1=SDNANAMEw *next*prev*data*first*lastxyzwxminxmaxyminymax*pointergroupvalval2name[32]typesubtypeflagsaveddatalentotallen*newid*libname[24]usicon_id*propertiesid*idblock*filedataname[240]filename[240]totpad*parentw[2]h[2]changed[2]pad0pad1*rect[2]*obblocktypeadrcodename[128]*bp*beztmaxrcttotrctvartypetotvertipoextraprtbitmaskslide_minslide_maxcurval*drivercurvecurshowkeymuteipoposrelativetotelempad2*weightsvgroup[32]sliderminslidermax*refkeyelemstr[32]elemsizeblock*ipo*fromtotkeyslurph**scripts*flagactscripttotscript*line*formatblenlinenostartendflagscolor[4]pad[4]*namenlineslines*curl*sellcurcselcmarkers*undo_bufundo_posundo_len*compiledmtimesizeseekpassepartalphaangleclipstaclipendlensortho_scaledrawsizeshiftxshiftyYF_dofdistYF_apertureYF_bkhtypeYF_bkhbiasYF_bkhrotscriptlink*dof_obframenrframesoffsetsfrafie_imacyclokmulti_indexlayerpassmenunribufs*gputexture*anim*rrsourcelastframetpageflagtotbindxrepyreptwstatwendbindcode*repbind*packedfile*previewlastupdatelastusedanimspeedgen_xgen_ygen_typeaspxaspy*vnodetexcomaptomaptonegblendtype*object*texuvname[32]projxprojyprojzmappingofs[3]size[3]texflagcolormodelpmaptopmaptonegnormapspacewhich_outputpad[2]rgbkdef_varcolfacnorfacvarfacdispfacwarpfacname[160]*handle*pname*stnamesstypesvars*varstr*result*cfradata[32](*doit)()(*instance_init)()(*callback)()versionaipotype*ima*cube[6]imat[4][4]obimat[3][3]stypeviewscalenotlaycuberesdepthrecalclastsizenoisesizeturbulbrightcontrastrfacgfacbfacfiltersizemg_Hmg_lacunaritymg_octavesmg_offsetmg_gaindist_amountns_outscalevn_w1vn_w2vn_w3vn_w4vn_mexpvn_distmvn_coltypenoisedepthnoisetypenoisebasisnoisebasis2imaflagcropxmincropymincropxmaxcropymaxxrepeatyrepeatextendcheckerdistnablaiuser*nodetree*plugin*coba*envuse_nodespad[7]loc[3]rot[3]mat[4][4]min[3]max[3]pad3modetotexshdwrshdwgshdwbshdwpadenergydistspotsizespotblendhaintatt1att2*curfallofffalloff_typeshadspotsizebiassoftbufsizesampbuffersfiltertypebufflagbuftyperay_sampray_sampyray_sampzray_samp_typearea_shapearea_sizearea_sizeyarea_sizezadapt_threshray_samp_methodtexactshadhalostepsun_effect_typeskyblendtypehorizon_brightnessspreadsun_brightnesssun_sizebackscattered_lightsun_intensityatm_turbidityatm_inscattering_factoratm_extinction_factoratm_distance_factorskyblendfacsky_exposuresky_colorspacepad4YF_numphotonsYF_numsearchYF_phdepthYF_useqmcYF_bufsizeYF_padYF_causticblurYF_ltradiusYF_glowintYF_glowofsYF_glowtypeYF_pad2*mtex[18]specrspecgspecbmirrmirgmirbambrambbambgambemitangspectraray_mirroralpharefspeczoffsaddtranslucencyfresnel_mirfresnel_mir_ifresnel_trafresnel_tra_ifiltertx_limittx_falloffray_depthray_depth_traharseed1seed2gloss_mirgloss_trasamp_gloss_mirsamp_gloss_traadapt_thresh_miradapt_thresh_traaniso_gloss_mirdist_mirfadeto_mirshade_flagmode_lflarecstarclinecringchasizeflaresizesubsizeflarebooststrand_stastrand_endstrand_easestrand_surfnorstrand_minstrand_widthfadestrand_uvname[32]sbiaslbiasshad_alphaseptexrgbselpr_typepr_backpr_lampml_flagdiff_shaderspec_shaderroughnessrefracparam[4]rmsdarkness*ramp_col*ramp_specrampin_colrampin_specrampblend_colrampblend_specramp_showrampfac_colrampfac_spec*groupfrictionfhreflectfhdistxyfrictdynamodesss_radius[3]sss_col[3]sss_errorsss_scalesss_iorsss_colfacsss_texfacsss_frontsss_backsss_flagsss_presetYF_arYF_agYF_abYF_dscaleYF_dpwrYF_dsmpYF_presetYF_djitgpumaterialname[256]scale*bbi1j1k1i2j2k2selcol1selcol2quat[4]expxexpyexpzradrad2s*mat*imatelemsdisp**mattotcolwiresizerendersizethreshvec[3][3]alfaweightradiush1h2f1f2f3hidevec[4]mat_nrpntsupntsvresoluresolvorderuordervflaguflagv*knotsu*knotsvtilt_interpradius_interpcharidxkernhnurb*bevobj*taperobj*textoncurve*path*keybevpathlenbevresolwidthext1ext2resolu_renresolv_renspacemodespacinglinedistshearfsizewordspaceulposulheightxofyoflinewidth*strfamily[24]*vfont*vfontb*vfonti*vfontbisepchartotboxactbox*tbselstartselend*strinfocurinfoeffect*mface*mtface*tface*mvert*medge*dvert*mcol*msticky*texcomesh*mselectvdataedatafdatatotedgetotfacetotselectact_facecubemapsizesmoothreshsubdivsubdivrsubsurftype*mr*pv*tpageuv[4][2]col[4]transptileunwrapv1v2v3v4edcodecreasebweightdef_nr*dwtotweightco[3]no[3]pad[3]uv[2]co[2]indexfis[256]v[4]midv[2]*faces*colfaces*edges*edge_boundary_states*vert_edge_map*vert_face_map*map_mem*vertslevelslevel_countcurrentnewlvledgelvlpinlvlrenderlvluse_col*edge_flags*edge_creases*vert_map*edge_map*old_faces*old_edges*errormodifiersubdivTyperenderLevels*emCache*mCachedefaxispad[6]lengthrandomizeseed*ob_arm*start_cap*end_cap*curve_ob*offset_oboffset[3]scale[3]merge_distfit_typeoffset_typecountaxistolerance*mirror_obsplit_anglevalueresval_flagslim_flagse_flagsbevel_angledefgrp_name[32]*texturestrengthdirectionmidleveltexmapping*map_objectuvlayer_name[32]uvlayer_tmp*projectors[10]*imagenum_projectorsaspectxaspectypercentfaceCountfacrepeat*objectcenterstartxstartyheightnarrowspeeddampfallofftimeoffslifetimedeformflagmulti*prevCosparentinv[4][4]cent[3]*indexartotindexforce*clothObject*sim_parms*coll_parms*point_cache*x*xnew*xold*current_xnew*current_x*current_v*mfacesnumvertsnumfacesabsorptiontime*bvhtree*dmoperationvertextotinfluencegridsizeneedbind*bindweights*bindcostotcagevert*dyngrid*dyninfluences*dynverts*pad2dyngridsizedyncellmin[3]dyncellwidthbindmat[4][4]*psystotdmverttotdmedgetotdmfacepsysrt[2]*facepavgroupprotect*fss*target*auxTargetvgroup_name[32]keepDistshrinkTypeshrinkOptsprojAxissubsurfLevels*originfactorlimit[2]originOptspntswopntsuopntsvopntswtypeutypevtypewfufvfwdudvdw*defvec[8][3]partypepar1par2par3parsubstr[32]*track*proxy*proxy_group*proxy_from*action*poselib*poseconstraintChannelsdefbasemodifiersdloc[3]orig[3]dsize[3]drot[3]obmat[4][4]constinv[4][4]laycolbitstransflagipoflagtrackflagupflagnlaflagprotectflagipowinscaflagscavisflagboundtypedupondupoffdupstadupendsfctimemassdampinginertiaformfactorrdampingsizefacmarginmax_velmin_velm_contactProcessingThresholddtdtxactcolempty_drawtypepad1[3]empty_drawsizedupfacescapropsensorscontrollersactuatorsbbsize[3]actdefgameflaggameflag2*bsoftsoftflaganisotropicFriction[3]constraintsnlastripshooksparticlesystem*pd*soft*dup_groupfluidsimFlagrestrictflagshapenrshapeflagrecalcobody_type*fluidsimSettings*derivedDeform*derivedFinallastDataMaskstateinit_stategpulampcurindexactivedeflectforcefieldpdef_damppdef_rdamppdef_permpdef_frictpdef_rfrictf_strengthf_powerf_distf_dampmaxdistmindistmaxradminradf_power_rpdef_sbdamppdef_sbiftpdef_sboftclump_facclump_powkink_freqkink_shapekink_ampfree_endtex_nablatex_modekinkkink_axisrt2*rngf_noisesimframestartframeendframeeditframelinStiffangStiffvolumeviterationspiterationsditerationsciterationskSRHR_CLkSKHR_CLkSSHR_CLkSR_SPLT_CLkSK_SPLT_CLkSS_SPLT_CLkVCFkDPkDGkLFkPRkVCkDFkMTkCHRkKHRkSHRkAHRcollisionflagsnumclusteriterationswelding*particlestotpointtotspring*bpoint*bspringmsg_lockmsg_valuenodemassnamedVG_Mass[32]gravmediafrictrklimitphysics_speedgoalspringgoalfrictmingoalmaxgoaldefgoalvertgroupnamedVG_Softgoal[32]fuzzynessinspringinfrictnamedVG_Spring_K[32]efraintervallocalsolverflags**keystotpointkeysecondspringcolballballdampballstiffsbc_modeaeroedgeminloopsmaxloopschokesolver_IDplasticspringpreload*scratchshearstiffinpush*pointcacheshow_advancedoptionsresolutionxyzpreviewresxyzrealsizeguiDisplayModerenderDisplayModeviscosityValueviscosityModeviscosityExponentgravxgravygravzanimStartanimEndgstarmaxRefineiniVelxiniVelyiniVelz*orgMesh*meshSurface*meshBBsurfdataPath[240]bbStart[3]bbSize[3]typeFlagsdomainNovecgenvolumeInitTypepartSlipValuegenerateTracersgenerateParticlessurfaceSmoothingsurfaceSubdivsparticleInfSizeparticleInfAlphafarFieldSize*meshSurfNormalscpsTimeStartcpsTimeEndcpsQualityattractforceStrengthattractforceRadiusvelocityforceStrengthvelocityforceRadiuslastgoodframemistypehorrhorghorbhorkzenrzengzenbzenkambkfastcolexposureexprangelinfaclogfacgravityactivityBoxRadiusskytypeocclusionResphysicsEngineticratemaxlogicstepphysubstepmaxphystepmisimiststamistdistmisthistarrstargstarbstarkstarsizestarmindiststardiststarcolnoisedofstadofenddofmindofmaxaodistaodistfacaoenergyaobiasaomodeaosampaomixaocolorao_adapt_threshao_adapt_speed_facao_approx_errorao_approx_correctionao_samp_methodao_gather_methodao_approx_passes*aosphere*aotableshemiresmaxiterdrawtypesubshootpsubshootenodelimmaxsublamppamapamielmaelmimaxnodeconvergenceradfacgammaselcolsxsy*lpFormat*lpParmscbFormatcbParmsfccTypefccHandlerdwKeyFrameEverydwQualitydwBytesPerSeconddwFlagsdwInterleaveEveryavicodecname[128]*cdParms*padcdSizeqtcodecname[128]codecaudio_codecvideo_bitrateaudio_bitrategop_sizerc_min_raterc_max_raterc_buffer_sizemux_packet_sizemux_ratemixratemain*mat_override*light_overridelay_zmasklayflagpassflagpass_xor*avicodecdata*qtcodecdataffcodecdatacfrapsfrapefraimagesframaptothreadsframelenblurfacedgeRedgeGedgeBfullscreenxplayyplayfreqplayattribrt1stereomodedimensionspresetmaximsizexschyschxpartsypartswinposplanesimtypesubimtypequalityrpadrpad1rpad2scemoderendererocresalphamodeosafrs_secedgeintsafetyborderdisprectlayersactlayxaspyaspfrs_sec_basegausspostmulpostgammaposthuepostsatdither_intensitybake_osabake_filterbake_modebake_flagbake_normal_spacebake_quad_splitbake_maxdistbake_biasdistbake_padGIqualityGIcacheGImethodGIphotonsGIdirectYF_AAYFexportxmlYF_nobumpYF_clamprgbyfpad1GIdepthGIcausdepthGIpixelspersampleGIphotoncountGImixphotonsGIphotonradiusYF_raydepthYF_AApassesYF_AAsamplesyfpad2GIshadowqualityGIrefinementGIpowerGIindirpowerYF_gammaYF_exposureYF_raybiasYF_AApixelsizeYF_AAthresholdbackbuf[160]pic[160]stampstamp_font_idstamp_udata[160]fg_stamp[4]bg_stamp[4]simplify_subsurfsimplify_shadowsamplessimplify_particlessimplify_aossscineonwhitecineonblackcineongammajp2_presetjp2_depthrpad3domeresdomemodedomeangledometiltdomeresbuf*dometextparticle_percsubsurf_maxshadbufsample_maxao_errorcol[3]framename[64]*brushtoolseam_bleednormal_anglestepinverttotrekeytotaddkeybrushtypebrush[7]emitterdistdraw_timedname[36]mat[3][3]cornertypeeditbutflagjointrilimitdegrturnextr_offsdoublimitsegmentsringsverticesunwrapperuvcalc_radiusuvcalc_cubesizeuvcalc_marginuvcalc_mapdiruvcalc_mapalignuvcalc_flagautoik_chainlenimapaintparticleselect_threshclean_threshretopo_moderetopo_paint_toolline_divellipse_divretopo_hotspotmultires_subdiv_typeskgen_resolutionskgen_threshold_internalskgen_threshold_externalskgen_length_ratioskgen_length_limitskgen_angle_limitskgen_correlation_limitskgen_symmetry_limitskgen_retarget_angle_weightskgen_retarget_length_weightskgen_retarget_distance_weightskgen_optionsskgen_postproskgen_postpro_passesskgen_subdivisions[3]skgen_multi_level*skgen_templatebone_sketchingbone_sketching_convertskgen_subdivision_numberskgen_retarget_optionsskgen_retarget_rollskgen_side_string[8]skgen_num_string[8]edge_modepad3[2]dirview*session*cumapdrawbrushsmoothbrushpinchbrushinflatebrushgrabbrushlayerbrushflattenbrushpivot[3]brush_typetexnrtexrepttexfadetexsepaveragingtablet_sizetablet_strengthsymmrakeaxislock*camera*world*setbase*basactcursor[3]twcent[3]twmin[3]twmax[3]editbutsizeselectmodeproportionalprop_modeautomergepad5pad6autokey_mode*ed*radioframing*toolsettingsaudiotransform_spacesjumpframesnap_modesnap_flagsnap_target*theDagdagisvaliddagflagssculptdataframe_stepzoomblendximyimspacetypeblockscale*areablockhandler[8]viewmat[4][4]viewinv[4][4]persmat[4][4]persinv[4][4]winmat1[4][4]viewmat1[4][4]viewquat[4]zfaclay_usedpersp*ob_centre*bgpic*localvd*ri*retopo_view_data*depthsob_centre_bone[32]localviewlayactscenelockaroundcamzoompivot_lastgridgridviewpixsizenearfarcamdxcamdygridlinesviewbutgridflagmodeselecttwtypetwmodetwflagtwdrawflagtwmat[4][4]clip[4][4]*clipbbafterdrawzbufxrayflag2gridsubdivkeyflagsndofmodendoffilter*properties_storage*gpdlviewquat[4]lpersplviewverthormaskmin[2]max[2]minzoommaxzoomscrollkeeptotkeepaspectkeepzoomoldwinxoldwinycursor[2]rowbutv2d*editipoipokeyactname[32]constname[32]bonename[32]totipopinbutofschannellockmedian[3]cursenscuractaligntabomainbmainbo*lockpointexfromshowgroupmodeltypescriptblockre_alignoldkeypresstab[7]render_sizechanshownzebra*filelisttotfiletitle[24]dir[240]file[80]ofssortmaxnamelencollumsf_fpfp_str[8]*libfiledataretvalmenuact(*returnfunc)()(*returnfunc_event)()(*returnfunc_args)()*arg1*arg2*menup*pupmenuoopsvisiflagtree*treestoresearch_string[32]search_tsesearch_flagsdo_outlinevisstoreflagdeps_flagsimanrcurtileimtypenrdt_uvstickydt_uvstretchpad[5]centxcentyautosnap*texttopviewlinesfont_idlheightleftshowlinenrstabnumbercurrtab_setshowsyntaxoverwritepix_per_linetxtscrolltxtbarwordwrapdoplugins*py_draw*py_event*py_button*py_browsercallback*py_globaldictlastspacescriptname[256]scriptarg[256]*script*but_refsredraws*idaspect*curfont*edittreetreetype*filesactive_filenumtilesxnumtilesyselstateviewrectbookmarkrectscrollposscrollheightscrollareaactive_bookmarkprv_wprv_h*imgoutline[4]neutral[4]action[4]setting[4]setting1[4]setting2[4]num[4]textfield[4]textfield_hi[4]popup[4]text[4]text_hi[4]menu_back[4]menu_item[4]menu_hilite[4]menu_text[4]menu_text_hi[4]but_drawtypeiconfile[80]back[4]header[4]panel[4]shade1[4]shade2[4]hilite[4]grid[4]wire[4]select[4]lamp[4]active[4]group[4]group_active[4]transform[4]vertex[4]vertex_select[4]edge[4]edge_select[4]edge_seam[4]edge_sharp[4]edge_facesel[4]face[4]face_select[4]face_dot[4]normal[4]bone_solid[4]bone_pose[4]strip[4]strip_select[4]cframe[4]vertex_sizefacedot_sizebpad[2]syntaxl[4]syntaxn[4]syntaxb[4]syntaxv[4]syntaxc[4]movie[4]image[4]scene[4]audio[4]effect[4]plugin[4]transition[4]meta[4]editmesh_active[4]handle_vertex[4]handle_vertex_select[4]handle_vertex_sizehpad[7]solid[4]tuitbutstv3dtfiletipotinfotsndtacttnlatseqtimatimaseltexttoopsttimetnodetarm[20]bpad[4]bpad1[4]spec[4]dupflagsavetimetempdir[160]fontdir[160]renderdir[160]textudir[160]plugtexdir[160]plugseqdir[160]pythondir[160]sounddir[160]yfexportdir[160]versionsvrmlflaggameflagswheellinescrolluiflaglanguageuserprefviewzoomconsole_bufferconsole_outmixbufsizefontsizeencodingtransoptsmenuthreshold1menuthreshold2fontname[256]themesundostepsundomemorygp_manhattendistgp_euclideandistgp_erasergp_settingstb_leftmousetb_rightmouselight[3]tw_hotspottw_flagtw_handlesizetw_sizetextimeouttexcollectratememcachelimitprefetchframesframeserverportpad_rot_angleobcenter_diarvisizervibrightrecent_filessmooth_viewtxglreslimitndof_panndof_rotatecurssizepad[8]versemaster[160]verseuser[160]glalphaclipautokey_flagcoba_weightvertbaseedgebaseareabase*sceneendxendysizexsizeyscenenrscreennrfullmainwinwinakthandler[8]*newvvec*v1*v2panelname[64]tabname[64]drawname[64]ofsxofsycontrolsnapold_ofsxold_ofsysortcounter*paneltab*v3*v4*fullwinmat[4][4]headrctwinrctheadwinwinheadertypebutspacetypewinxwinyhead_swaphead_equalwin_swapwin_equalheadbutlenheadbutofscursorspacedatauiblockspanelssubvstr[4]subversionpadsminversionminsubversiondisplaymode*curscreen*curscenefileflagsglobalfname[80]*ibuf*ibuf_comp*se1*se2*se3nrbottomrightxofsyofslift[3]gamma[3]gain[3]saturation*guidir[160]donestartstillendstill*stripdataorxory*crop*transform*color_balance*tstripdata*tstripdata_startstill*tstripdata_endstill*ibuf_startstill*ibuf_endstill*instance_private_data**current_private_data*tmpstartofsendofsmachinestartdispenddispmulhandsizeanim_preseek*stripfacf0facf1*seq1*seq2*seq3seqbase*sound*hdaudiolevelpanstrobe*effectdataanim_startofsanim_endofsblend_modeblend_opacity*oldbasep*parseq*seqbasepmetastackedgeWidthforwardwipetypefMinifClampfBoostdDistdQualitybNoCompScalexIniScaleyIniScalexFinScaleyFinxInixFinyIniyFinrotInirotFininterpolation*frameMapglobalSpeedlastValidFrameblendFramesbuttypeuserjitstatotpartnormfacobfacrandfactexfacrandlifeforce[3]vectsizemaxlendefvec[3]mult[4]life[4]child[4]mat[4]texmapcurmultstaticstepomattimetexspeedtexflag2negvertgroup_vvgroupname[32]vgroupname_v[32]*keysminfacusedusedelemdxdylinkotypeold*poin*oldpoinresetdistlastval*makeyqualqual2targetName[32]toggleName[32]value[32]maxvalue[32]delaydurationmaterialName[32]damptimerpropname[32]matname[32]axisflag*fromObjectsubject[32]body[32]pulsefreqtotlinks**linkstapjoyindexaxis_singleaxisfbuttonhathatfprecisionstr[128]module[64]*mynewinputstotslinks**slinksvalostate_mask*actframeProp[32]blendinpriorityend_resetstrideaxisstridelengthsndnrpad1[2]makecopycopymadepad2[1]track*melinVelocity[3]angVelocity[3]localflagdyn_operationforceloc[3]forcerot[3]linearvelocity[3]angularvelocity[3]*referencebutstabutendminmaxvisifacrotdampminloc[3]maxloc[3]minrot[3]maxrot[3]matprop[32]distributionint_arg_1int_arg_2float_arg_1float_arg_2toPropName[32]*toObjectbodyTypefilename[64]loadaniname[64]int_argfloat_arggoaccellerationmaxspeedmaxrotspeedmaxtiltspeedtiltdampspeeddamp*sample*stream*newpackedfile*snd_soundpanningattenuationpitchmin_gainmax_gaindistancestreamlenchannelshighpriopad[10]gaindopplerfactordopplervelocitynumsoundsblendernumsoundsgameengine*lamprengobjectdupli_ofs[3]childbaserollhead[3]tail[3]bone_mat[3][3]arm_head[3]arm_tail[3]arm_mat[4][4]xwidthzwidthease1ease2rad_headrad_tailbonebasechainbasepathflaglayer_protectedghostepghostsizeghosttypepathsizeghostsfghostefpathsfpathefpathbcpathacconstflagikflagselectflagagrp_index*bone*childiktree*b_bone_mats*dual_quat*b_bone_dual_quatschan_mat[4][4]pose_mat[4][4]pose_head[3]pose_tail[3]limitmin[3]limitmax[3]stiffness[3]ikstretch*customchanbaseproxy_layerstride_offset[3]cyclic_offset[3]agroupsactive_groupcustomColcs*grpreserved1groupsactive_markeractnractwidthtimeslidename[30]ownspacetarspaceenforceheadtail*tarsubtarget[32]matrix[4][4]space*proptarnumtargetsiterationsrootbonemax_rootbone*poletarpolesubtarget[32]poleangleorientweightgrabtarget[3]reserved2minmaxflagstuckcache[3]lockflagfollowflagvolmodeplaneorglengthbulgepivXpivYpivZaxXaxYaxZminLimit[6]maxLimit[6]extraFzinvmat[4][4]fromtomap[3]expofrom_min[3]from_max[3]to_min[3]to_max[3]zminzmaxpad[9]channel[32]no_rot_axisstride_axiscurmodactstartactendactoffsstridelenblendoutstridechannel[32]offs_bone[32]hasinputhasoutputdatatypesockettype*new_socknslimitstack_indexinternstack_index_extlocxlocyown_indexto_index*tosock*link*new_nodeusername[32]lastyoutputs*storageminiwidthcustom1custom2custom3custom4need_execexectotrbutrprvr*typeinfo*fromnode*tonode*fromsocknodeslinks*stack*threadstackinitstacksizecur_indexalltypes*owntype*selin*selout(*timecursor)()(*stats_draw)()(*test_break)()cyclicmoviesamplesminspeedpercentxpercentybokehcurvedimage_in_widthimage_in_heightcenter_xcenter_yspiniterwrapsigma_colorsigma_spacehuesatt1t2t3fstrengthfalphakey[4]x1x2y1y2colname[32]bktyperotationpreviewgamcono_zbuffstopmaxblurbthresh*dict*nodeangle_ofscolmodmixthresholdfademcjitprojfitshortymintablemaxtableext_in[2]ext_out[2]*curve*table*premultablecurrcliprcm[4]black[3]white[3]bwmul[3]sample[3]offset[2]innerradiusratergb[3]cloneactive_rndactive_cloneactive_mask*layerstotlayermaxlayertotsize*pooleditflagvel[3]rot[4]ave[3]numparentpa[4]w[4]fuv[4]foffsetrand[3]*stick_obprev_state*hairi_rot[4]r_rot[4]r_ave[3]r_ve[3]dietimebanksizemulnum_dmcachebpialiveloopdistrphystyperotmodeavemodereacteventdrawdraw_asdraw_sizechildtypedraw_stepren_stephair_stepkeys_stepadapt_angleadapt_pixrotfromintegratornbetweenboidneighboursbb_alignbb_uv_splitbb_animbb_split_offsetbb_tiltbb_rand_tiltbb_offset[2]simplify_flagsimplify_refsizesimplify_ratesimplify_transitionsimplify_viewporttimetweakjitfackeyed_timeeff_hairgrid_respartfactanfactanphasereactfacavefacphasefacrandrotfacrandphasefacrandsizereactshapeacc[3]dragfacbrownfacdampfacabslengthrandlengthchild_nbrren_child_nbrparentschildsizechildrandsizechildradchildflatchildspreadclumpfacclumppowrough1rough1_sizerough2rough2_sizerough2_thresrough_endrough_end_shapebranch_thresdraw_line[2]max_lat_accmax_tan_accaverage_velbankingmax_bankgroundzboidfac[8]boidrule[8]*eff_group*dup_ob*bb_ob*pd2*part*edit**pathcache**childcachepathcachebufschildcachebufs*target_ob*keyed_ob*latticeeffectorsreacteventstotchildtotcachedtotchildcachetarget_psyskeyed_psystotkeyedbakespacebb_uvname[3][32]vgroup[12]vg_negrt3*renderdata*cacheCdisCvi[3]structuralbendingmax_bendmax_structmax_shearavg_spring_lentimescaleeff_force_scaleeff_wind_scalesim_time_oldstepsPerFrameprerollmaxspringlensolver_typevgroup_bendvgroup_massvgroup_structpresets*collision_listepsilonself_frictionselfepsilonself_loop_countloop_countpressure*pointstotpointsthicknessstrokesframenum*actframegstepinfo[128]sbuffer_sizesbuffer_sflag*sbufferTYPEdcharucharshortushortintlongulongfloatdoublevoidLinkLinkDataListBasevec2svec2ivec2fvec2dvec3ivec3fvec3dvec4ivec4fvec4drctirctfIDPropertyDataIDPropertyIDLibraryFileDataPreviewImageIpoDriverObjectIpoCurveBPointBezTripleIpoKeyBlockKeyScriptLinkTextLineTextMarkerTextPackedFileCameraImageUserImageGPUTextureanimRenderResultMTexTexPluginTexCBDataColorBandEnvMapImBufbNodeTreeTexMappingLampCurveMappingWaveMaterialGroupVFontVFontDataMetaElemBoundBoxMetaBallNurbCharInfoTextBoxCurvePathMeshMFaceMTFaceTFaceMVertMEdgeMDeformVertMColMStickyMSelectCustomDataMultiresPartialVisibilityMDeformWeightMTexPolyMLoopUVMLoopColMFloatPropertyMIntPropertyMStringPropertyOrigSpaceFaceMultiresColMultiresColFaceMultiresFaceMultiresEdgeMultiresLevelMultiresMapNodeModifierDataSubsurfModifierDataLatticeModifierDataCurveModifierDataBuildModifierDataMaskModifierDataArrayModifierDataMirrorModifierDataEdgeSplitModifierDataBevelModifierDataBMeshModifierDataDisplaceModifierDataUVProjectModifierDataDecimateModifierDataSmoothModifierDataCastModifierDataWaveModifierDataArmatureModifierDataHookModifierDataSoftbodyModifierDataClothModifierDataClothClothSimSettingsClothCollSettingsPointCacheCollisionModifierDataBVHTreeSurfaceModifierDataDerivedMeshBVHTreeFromMeshBooleanModifierDataMDefInfluenceMDefCellMeshDeformModifierDataParticleSystemModifierDataParticleSystemParticleInstanceModifierDataExplodeModifierDataFluidsimModifierDataFluidsimSettingsShrinkwrapModifierDataSimpleDeformModifierDataLatticebDeformGroupbActionbPoseBulletSoftBodyPartDeflectSoftBodyObHookRNGSBVertexBodyPointBodySpringSBScratchWorldRadioBaseAviCodecDataQuicktimeCodecDataFFMpegCodecDataAudioDataSceneRenderLayerRenderDataRenderProfileGameFramingTimeMarkerImagePaintSettingsBrushParticleBrushDataParticleEditSettingsTransformOrientationToolSettingsBrushDataSculptDataSculptSessionSceneDagForestBGpicView3DSpaceLinkScrAreaRenderInfoRetopoViewDataViewDepthsbGPdataView2DSpaceInfoSpaceIpoSpaceButsSpaceSeqSpaceFiledirentryBlendHandleSpaceOopsTreeStoreTreeStoreElemSpaceImageSpaceNlaSpaceTextScriptSpaceScriptSpaceTimeSpaceNodeSpaceImaSelFileListThemeUIThemeSpaceThemeWireColorbThemeSolidLightUserDefbScreenScrVertScrEdgePanelFileGlobalStripElemTStripElemStripCropStripTransformStripColorBalanceStripColorBalanceGUIHelperStripProxyStripPluginSeqSequencebSoundhdaudioMetaStackEditingWipeVarsGlowVarsTransformVarsSolidColorVarsSpeedControlVarsEffectBuildEffPartEffParticleWaveEffOopsbPropertybNearSensorbMouseSensorbTouchSensorbKeyboardSensorbPropertySensorbActuatorSensorbDelaySensorbCollisionSensorbRadarSensorbRandomSensorbRaySensorbMessageSensorbSensorbControllerbJoystickSensorbExpressionContbPythonContbActuatorbAddObjectActuatorbActionActuatorbSoundActuatorbCDActuatorbEditObjectActuatorbSceneActuatorbPropertyActuatorbObjectActuatorbIpoActuatorbCameraActuatorbConstraintActuatorbGroupActuatorbRandomActuatorbMessageActuatorbGameActuatorbVisibilityActuatorbTwoDFilterActuatorbParentActuatorbStateActuatorFreeCamerabSamplebSoundListenerSpaceSoundGroupObjectBonebArmaturebPoseChannelbActionGroupbActionChannelSpaceActionbConstraintChannelbConstraintbConstraintTargetbPythonConstraintbKinematicConstraintbTrackToConstraintbRotateLikeConstraintbLocateLikeConstraintbMinMaxConstraintbSizeLikeConstraintbActionConstraintbLockTrackConstraintbFollowPathConstraintbStretchToConstraintbRigidBodyJointConstraintbClampToConstraintbChildOfConstraintbTransformConstraintbLocLimitConstraintbRotLimitConstraintbSizeLimitConstraintbDistLimitConstraintbShrinkwrapConstraintbActionModifierbActionStripbNodeStackbNodeSocketbNodeLinkbNodebNodePreviewbNodeTypeNodeImageAnimNodeBlurDataNodeDBlurDataNodeBilateralBlurDataNodeHueSatNodeImageFileNodeChromaNodeTwoXYsNodeTwoFloatsNodeGeometryNodeVertexColNodeDefocusNodeScriptDictNodeGlareNodeTonemapNodeLensDistTexNodeOutputCurveMapPointCurveMapBrushCloneCustomDataLayerHairKeyParticleKeyChildParticleParticleDataParticleSettingsParticleEditParticleCacheKeyLinkNodebGPDspointbGPDstrokebGPDframebGPDlayerTLEN   L4( P\$8Tpx(x T|8lLDlh88,< L   @ 84DX`D`t@<l<<\hd4Dd<@L@@@<lht(T8xl(4H8P HP|<$$X P$88 x P< 088,@0,Hh(H,(lDLP<L< \PLlT`<8l (DtH@,@t<h4,,D,@,4` l\4<$x( (@   ,D8HSTRC9                     !"#$%&'()*+, -./0!!!"1#234./56789  :;<=>$ ?@.AB%%%%C=/DEF GHIJ& %KLM= N$OPQR'STUV%(((WXY) ))Z[\+]^_*`]a b(c(def ghij kl+mn]% ,opqrstuvwxyz{|$O'} ~- . " /01%++ 2 394   %5C@6$@57 .8qr38-9$O.467:    -;P  <Fqr !"#$%&'()*+,-.+/0123456789:;<=>?@ABCDEFGHIJKL2M$O'}=$O>NOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvw xyz{|}~/@66 2M9$O?F'} @%A+BBBCDC  $O># "%EEE"1#2F%FGH9C     $OI&> FbC    @ @@@%GFFJ'C $O&>KLMNOPQ R!J"S#T$T%T&6'()*+%,-./U0V1 M 2345 67K89:;%<O89=>W?PW@ANBC>DQX.25 67YEZ%RFSGL3.25 67[H\I]J^3_`_4aKLbMLcccaN`ObPQ R SdT6('%NUU VNUWXYZ[\]T$T&^_V`aKbOc('6%eee dfeefVg] h igee hee jkiee[lmnjee oH k ee p q r stulvwx]yleez{ |mee}]n ee~%]oee%p ee3 %q ee .]%reeseetee muee 3 %+veeF w ee xeeyeez{|}~eeNNNNNNK%eeee %ee %6ee9ee -eeee} ee  k ee  z%F%"$O&PC% o &    $OIC      >      !"#$%'} & ' ( )*G+4,-./0 1 2 3 456?789:;,<=>?@ABCF D & EF$GHIJKLMNOPQRSTUVWXYZ[\]^_`abcd3efn}ghijklmnopqrstuvwxyz{|}~1%Q}0JJJ$ONG/TVU      +$O2M'} !"#$%&'()*+,- . /012345678%9 : ;<F= >?@AB]CDEFGHID >J?KLM%NOPQRSTUVWXYZ[\]^_`abcdde"mfghijklmn#opqrs tuvwxyz{| }~% F* +F+F m8%      m2M</ !]"#$%&+ '(). *+,-./012345679 89:;<'} g =>?@ABCD@EF% .- mGHIJKKLMNOPQRSTUVWX ' YZ[\]^_`abcde+sfghijkl,mnopqrstuvCw xy5z{|}~ 56$@ckKLMNKLMNKLMNF  $OPA.$KLM\N  %/KLMN G!KLMN+F     KLMN 9  KLMN.-< 1G  KLMNKLMN*]      ] KLM]+ KLMKLMNP  99%*KLMN f%+     8     D6 !"#$%&'()*+,-./0123456789:_;<=>?@ABCDEFGHIJKLMNOP%'%QRSTUVWXYZ[\]^_`abc%4dBefghijklmnopqrstuvwxyz{|}~ %76   % {%F4K'}    k  88  %0mo%988      +  [   $O0        %9 p!"#$%&'( )*+,-./0123%45]l67%8989-89:\;Qn<=>?@ABC%DEFGHIJKLMN{OPQRS?8TUEV WX Y Z[% \ ]^_%+F>`%abcde%fg%hi%jk Fpznhlm +n opqZrst+F u -v% wzxyz{|}~* tZF  u% - :\ :\ :\m   -J % ' f -  Z  :\+@ -z  % :\D@?nl p+Fq:\_* - Z  - % ++ $Om]KLM  F - %? & l   "   1  &        %!!! """!$O     g %#KLMN   $$$$O% %% %$O& && %'*  (   !")  #]%*  +  , $%+F&-  . [\%/ '0 (1 )*+,2  -./012345%+F3 {4 %65 789:;<=>6    ?@{7    ?@{8    ?@{9  %: A; ;;BC -<<< DE$O [\FGHIJKL = MNOP>>>>Q=RSTUV+WXYZ>[?\@ @@@]^_T  ` aWXbcdefghijkABl???@m@n>o>[9 p q=r stuv wBx>y>z { |}C~%DD"*%E pG%F%GHmno>IJKLMN O  P opmQa*HR%STU TTT< @UV.\% Hm\/%2MVW F_ TW% XB%YBZ[ YBYXYSm%Qd\p7L3bc    :\@    9;9 <=>        m      l          ! " ^\]# $ % & ' ( ) * + , - . / 0 1 2 3 ?7?4 5 6 $O57 %\8 [Z]9 ^: ^; < = 6 > ? @ A B Sn;C D E 9F G H /I J K L M N }{"_O P Q R S T U V W X Y Z [ \ ] ]^ _ ` a b c d %F|_e f g h ]i j `k aaa`l m n bbb o p c cc bq n r ^s  }t u v ENDB