BLENDER-v242REND ڇSceneSR`t*SR1-Animation`@#TDATA u@DATA @uTDATA u@TDATA u`DATA `uDATA u `DATA u,DATA u ,DATA u@dDATA @ud,DATA u@|DATA u|DATA(`v@DATA(v@`DATA(@v`DATA(v @@ DATA( vDATA(v DATA(vp`DATA(pvDATA(vPp @DATA(Pv@DATA(v0P@DATA(0vDATA(v0` DATA(vDATA(v`DATA(v`DATA(`vDATA(v`DATA@x {a{`aw 0 pDATAwLink and MaterialsEditing>DATAwpMeshEditingF>DATApw`Anim settingsObject>DATA`wPpDrawObject>DATAPw@`ConstraintsObject>DATA@w0PEffectsObjectDATA0w @HooksObjectF>`DATA w0Particle InteractionObject>PDATAw Object and LinksObjectF>DATA d0 333?@@DhC]d}C }DtB#CC(BDC?z?a6DATAp0 f 333?@/9DATA x0 @ @-T-GHT 0DATA0 x ` @|+9=P=o?c+cc+  dl. `pDATAwpTransform PropertiesView3d>DATApw3D Viewport propertiesView3d>"DATA`j0 333?0 F ?bd4dDATA00k`333?0 DATA_0333?0 ????????|+9=P=o?;AeA?|+9=P=o??????;A B?=C DATApf333?0 Save Ast File/home/rednuht/projects/jumpstation/saltshaker.sf.net/ss_py_tut_004_fixed.blend1.4.pyg.v1.3.py`}UDATAx#0 @n+@y-@AHMe+ee+ ol "DATAwTransform PropertiesIpo!>DATA_333?L?В ?K?ȳ>?̒ ?VI?/\A\D:A?&?x В @r?0>>/nm= @n[III@@AzAg>><9|>>*5W3uBTPi֟ǺBds^gB'@n+@y-@AHML?В ?K?ȳ>DATAp "fP!333?/9DATA#x`}}}} '') %&DATA %w&Link and MaterialsEditing>DATA&w %MeshEditingF>DATA'' 333?#zCCHBC'?CFC= ADATA'd)'333?##DhC`DpJgChCC(BDC?z?DATAp)f'333?#/9SR*tPu`SR2-Model +/`/55pkl =XDATA +u,DATA ,u`,+XDATA `,u,,XDATA ,u -`,DATA -u-,DATA -u- -DATA -u@.->DATA @.u.->DATA .u/@.DATA /u.>DATA(`/v/,`,DATA(/v@0`/+,DATA(@0v0/+ -DATA(0v 1@0,-DATA( 1v10 --DATA(1v2 1,-DATA(2vp21`,@.DATA(p2v22-@.DATA(2vP3p2 --DATA(P3v32-@.DATA(3v04P3 -.DATA(04v43-.DATA(4v504-/DATA(5v54@./DATA(5v5./DATA5x@`+ --,?@PףqpqOY^@7XDATA@7w08PreviewLamp>DATA08w 9@7LampLampF>DATA 9w:08SpotLamp>DATA:w; 9Texture and InputLamp>DATA;w;:Map ToLamp>:DATA;w<;PreviewMaterial>DATA<w=;MaterialMaterialF>DATA=w><PreviewWorld>DATA>w?=WorldWorldF>DATA?w@>Mist Stars PhysicsWorld>DATA@wA?Texture and InputWorld>DATAAwB@Map ToWorld>@DATABwpCAOutputRender>DATApCw`DBRenderRenderF>DATA`DwPEpCAnimRender>DATAPEw@F`DFormatRender>DATA@Fw0GPELink and MaterialsEditing>DATA0Gw H@FMeshEditingF>DATA HwI0GMesh ToolsEditing>DATAIwJ HMesh Tools 1Editing>DATAJwJICameraEditing@>DATAJwKJShadersMaterial>DATAKwLJTextureMaterial>DATALwMKAnim settingsObject>DATAMwNLDrawObjectF>DATANwOMConstraintsObject>DATAOwPNScriptlinksScript>DATAPwQOEffectsObjectNDATAQwpRPMap InputMaterial>KDATApRw`SQMap ToMaterial>KDATA`SwPTpRAnimAnim>DATAPTw@U`SSoundSound>DATA@Uw0VPTListenerSoundF>DATA0Vw W@USequencerSound>DATA WwX0VHooksObjectF>MDATAXw WParticle InteractionObject>NDATAYd Z333?pDhC4bDAC@\CC(BDC?z?qmDATA Z_`]Y333?p??? ???? A??@PA Aj?c3>}GCHB? A B? #<CDATA`]g^ Z333?p@̌AR|B1@lA A@CC #<@DATAp^f`]333?p/9DATA@`xa5-,`,@.?X?YXXDATAaxpk@`./@.-?E?AHM==gcibbDATAbwTransform PropertiesView3d>"DATAc_g333?L?В ?K?ȳ>?̒ ?VI?/\A\D:A?n)?t В r^?>0>>C<?n[I~9?@AzA4 ?F:?С<QžY>C ?n5]¬5uB Ri<ן˻B4s{`gB&)@?E?AHML?В ?K?ȳ>"DATAm_p333?????????i=E=o?3A*oA?i=E=o??????3A B?=C DATApdrm333?DdC8CnD fCC(BDC?z?DATAHrcsp333?zC AzC A #< #<`jFzD OBDATApsfr333?9OpenFILEPUT PICTURES/home/rednuht/rojects/../ds/../er/../untitled.blendSRPut0*SR3-Materialodel Sing0v{p{@5DATA 0vuvDATA vuv0vDATA vuPwvDATA PwuwvDATA wuxPw,DATA xupxw,DATA pxuxxDATA xu0ypxDATA 0yuyx,DATA yuy0yDATA yuPzy DATA Pzuzy DATA zu{Pz DATA {uzDATA(p{v{vvDATA({vP|p{0vPwDATA(P|v|{0vwDATA(|v0}P|PwxDATA(0}v}|wxDATA(}v~0}vpxDATA(~v~}vxDATA(~v~~pxxDATA(~v`~xxDATA(`v~w0yDATA(v@`x0yDATA(@vxyDATA(v @0yyDATA( vwyDATA(v pxyDATA(vpyPzDATA(pv0yPzDATA(vPpyPzDATA(PvyzDATA(v0PPzzDATA(0vpx{DATA(v0y{DATA(vz{DATAx0vwxPw?@Pף++ ,ІDATAІwOutputRender>DATAwІRenderRenderF>DATAwAnimRender>DATAwFormatRender>DATA 333?zCCHBC,?CFC= ADATAd333?DhC?DhCC(BDC?z?mDATA_333???? ???? A??@PA Aj?c3>}GCHB? A B? #<CDATAg333?@̌AR|B1@lA A@CC #<@DATApf333?/9DATAxpxvvxDATAx`0yyxxG@? JL - -G Hh~`НDATA`wPOutputRender>DATAPw@`RenderRender>DATA@w0PAnimRender0>DATA0w @FormatRenderH>DATA w0PreviewMaterial>DATAw MaterialMaterial>DATAwShadersMaterial0>DATAwTextureMaterialH>DATAwНMap InputMaterialD>DATAНwMap ToMaterial`>DATAd333?lCqhCC~qLmCC(BDC?z?hDATA_ 333?lJ>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?@?$$OA B?=Ch?j(4?t'>dDATAH c333?lzC AzC A #< #<`jFzD OBDATApf 333?l;SAVE FILE/usr/home/intrr/blender/blend/untitled.blendDATA`xPwyPz0yU.=z=o?- -GH SDATA_333?\???h?j(4?t'>????hj(4t'?U.=z=o??OA B?=Ch?j(4?t'>dDATAd333?\DdC>9C,DeCC(BDC?z?DATAHc333?\zC AzC A #< #<`jFzD OBDATApf333?\ SAVE FILE/Users/ton/Desktop/der/blend/untitled.blendDATAPx@`z{yPze?8?AHM    SDATA_333?,L?В ?K?ȳ>?M?K?<ȳ>T5L?В ?ZI? @μ@?ƾ\?lU В (??3>>]`b4AAVl>K?x<4쓾S>>3ApןAAA)@e?8?AHML?В ?K?ȳ>?L?ՙξAE;OA B?=Ch?j(4?t'>dDATAd333?,DdC>9C,DeCC(BDC?z?DATAHc333?,zC AzC A #< #<`jFzD OBDATApf333?, SAVE FILE/Users/ton/Desktop/der/blend/untitled.blendDATA@xPypx{z(.=^=o?    SDATA_м333??3?3^I2(o(4?? 3?3^=i(4J2(A?(.=0n;^=ꉖW5jOT{:?OA2 5AC^=k(4J2(A?(.=^=o??3?3^I2(o(4?5?5OA B?=C^j(4?J2(dDATAмd333?DdC>9C,DeCC(BDC?z?DATAHcм333?zC AzC A #< #<`jFzD OBDATApf333? SAVE FILE/Users/ton/Desktop/der/blend/untitled.blendSR0tPuSR4-Sequence0p 5DATA upDATA puDATA u0pDATA 0uDATA u0DATA uPDATA PuDATA uPDATA up\DATA pu\DATA u0p\DATA 0uDATA(vpDATA(vp0DATA(pvDATA(vPp0DATA(PvDATA(v0PpPDATA(0vDATA(v0PDATA(vDATA(vPDATA(v`pDATA(`vpDATA(v@`pDATA(@vDATA(v @pDATA( vP0DATA(v 0DATA(v0DATApxP0DATAwOutputRender>DATAwRenderRenderF>DATAwAnimRender>DATAwFormatRender>DATAd333?uDhC&ԓDhCC(BDC?z?DATApf333?u/9DATAPxpPpDATAxPp8=i>o?[  [P 0DATAe333?}|zCAzCAPP A@FB= A DATA_0333?}|????????8=i>o?fffAD&@??fffA B? #<CDATAp0f333?}|AVE TARGA/t1.blend9DATAx 0p8=H>o?]]]]S 0pDATA0e0333? zCAzCA1||1 A@FB= A DATA0_p0333? ????????8=H>o?fffA*@??fffA B? #<CDATAppf0333? AVE TARGA/t1.blend9DATA xP08=>o?]]wx8p@DATAHpc333?ሜB̽̌?B̽̌?88 #< #<`jFzD SQB̽̌?DATA_@p333?ሜ????????8=>o?fffA@??fffA B? #<CDATAp@f333?ሜOAD FILE/9SC]SCScenetageain0 Ϳ7=@J{dd??< 2ddZ@?? K K@????L?fff??@ A//backbuf/tmp///ftype@&#@^@&^#D DATA(S`.`9DATA(`S. 5DATA(S@`.t0DATA(@S=p,DATA(S @) (DATA( S#DATA(S !DATA(Sp.0DATA(pS 0DATA(SPp .]DATA(PS 2S@DATA(S0P  DATA(0S JnDATA(S0 PDATA(SvDATA(SGDATA(S``DATA(`SaDATA(S@`.DATA(@S@pDATA(S @. DATA( S1#DATA(S .DATA(Sp.f0DATA(pSt9DATA(SPpDATA(PS)@DATA(S0PDATA(0S.DATA(S0..PDATA(S(DATA(S DATA(S`!.`DATA(`S".DATA(S@`#.kDATA(@S$XpDATA(S @%. DATA( S&NЙDATA(S '.QDATA(Sp(.i0DATA(pS)DATA(SPp*fvDATA(PS+.@DATA(S0P,.{DATA(0S-/{DATA(S0.PwDATA(S/4sDATA(S0nDATA(S`1@*`jDATA(`S2FfDATA(S@ `3F aDATA(@ S 4p]DATA( S @ 5 YDATA( S 6sTDATA( S 7JPDATA( Sp 880LDATA(p S 9-GDATA( SP p :aCDATA(P S ;.{@?DATA( S0 P <$:DATA(0 S =6DATA( S0 >#P2DATA(S ?j.DATA(S@,)DATA(S`AB`%DATA(`SB!DATA(S@`C9DATA(@SD.pDATA(S @E. DATA( SF._DATA(S G DATA(SpH.u0DATA(pSIDATA(SPpJ\.DATA(PSKf@DATA(S0PL.=DATA(0SM.ODATA(S0NRPDATA(SO.DATA(SP.DATA(S`Q.pDATA(`SR.=DATA(S`S.DATA(@R,d'=A@DATA0J\Z ?o: ??DATA@ KX1 RenderLayerCACACameraamera.001L>=B B@?LA@!LASpot?????AB>??AA4B?@@@ ???WOhQWOWorldg=pb>>===??A@pA A?L=TXFTXsaltshaker.gui.bppKVKK 7DATAPp/home/rednuht/projects/jumpstation/saltshaker.sf.net/saltshaker.gui.bpg.v1.4.pyDATA(K`;LL:rve DATA(`;<K;P<:DATA(<p~`;p}}:DATA(p~?<~p?:DATA(?`Ap~`@@:DATA(`A?A@:*DATA(0`A0:DATA(0 :DATA(`0`:*DATA(`P:DATA(@`@:DATA(@0:DATA( @ :DATA( :DATA(R Q:DATA(RSRS:/DATA(STRSpT:DATA(T`VS`UU:DATA(`VWTVPW:DATA(W@Y`V@XX: DATA(@YZWY0Z:DATA(Z \@Y [[:DATA( \`}Z`||:CDATA(`}~ \}P~:DATA(~@`}@:DATA(@~0:DATA( @ :DATA( :DATA( :DATA(pp:DATA(p0DATA(p@DATA(ЊpDATA(Њ@DATA(0ЊpЌ @DATA(0@DATA(@ 0вDATA( P@DATA(P м@DATA(PPDATA( DATA(PDATA(@DATA(@pDATA(p@0DATA(p@ =DATA(PDATA(`DATA( pDATA( @'DATA( 0 DATA(0` DATA(`00=DATA(``DATA(0,DATA(@DDATA(@ DATA(@rDATA(p6DATA(``6DATA(`P6A?DATA(``@B?DATA(`P2DATA( `@ м@DATA( PDATA(P DATA(PPDATA( ?DATA(PP5DATA(P@5DATA(0P05DATA(0`DATA(`p0 DATA(p`0DATA(pPDATA( DATA(0P!=DATA(0&DATA(0`'X?DATA( @#=DATA( p"DATA(p @X?DATA(p"dDATA(`DATA(p DATA( ?DATA( 0DATA(0` DATA(`0@%DATA(` ?DATA(p DATA( DATA(@DATA(pDATA(  DATA( 0?DATA(0@ DATA(@P0 X?DATA(Pp!@ DATA(p!"P!0"DATA("#p!"`#'8@DATA(#%"@$$DATA(%&#p%%DATA(& '%&&DATA( 'p(&'(DATA(p() '(@)DATA()P+p(**UDATA(P+`,)+, DATA(`,-P+,@-DATA(-.`, ..DATA(.0-P//O?DATA(01.1P1 DATA(12022?DATA(2 41`33DATA( 4524 5BDATA(56 4 6p6 DATA(675077FREEDATA(786@88DATA(8P:7P994X?DATA(P:;8:P;MDATA(;P=P:P<<5DATA(P=`>;=> DATA(`>p?P=> ?,DATA(p?`>?@@DATA(p? pDATA(0}DATA( mDATA(@ DATA(}DATA(PmDATA(P`  DATA(` P P }DATA(P 0 ` p nDATA(0 @P DATA(@P0 DATA(P@DATA(P`DATA( p PPPDATA(0DATA(@DATA(PDATA( DATA( PDATA(P 0$DATA(PpDATA(@DATA(pDATA( DATA( P DATA(P !  !DATA(!"P !@"DATA("#!#`#DATA(#$"0$$ DATA($%#@%%DATA(%'$P&&DATA('`(%'''DATA(`()'(0)DATA()*`(*`*DATA(*+)0++DATA(+ -*`,,DATA( -P.+--DATA(P./ -. /DATA(/0P./`0#DATA(02/@11DATA(2030p22DATA(03`4234DATA(`4503405DATA(56`46`6DATA(675077DATA(7@96`88(DATA(@9p:79:DATA(p:;@9:@;DATA(;<p:<p<DATA(<>;@==DATA(>0?<p>>DATA(0?`@>?@DATA(`@A0?@@A-DATA(AB`@ BBDATA(BDAPCCDATA(D@EBDDDATA(@EpFDEFDATA(pFG@EF@GDATA(GHpFHpHDATA(H JG@II!DATA( JPKHJJDATA(PKL JK LDATA(LMPKLPMDATA(MNL NNDATA(NPMPOODATA(P@QNPPDATA(@QPRPQRDATA(PR`S@QRSDATA(`STPRS0TDATA(TU`SUpUDATA(UVTPVVDATA(VU`WWDATA<L##########################################################DATA<;# #DATA<p}# Salt Shaker 1.4 #DATA<~# #DATA<`@# Author : Rednuht #DATA<A# Creation Date : Jan 2005 #DATA<0# Home : #DATA<# http://saltshaker.sf.net #DATA<`# #DATA<# Description : Takes all selected meshes and 'shakes' #DATA<@# them, moving and tilting them a random amount. #DATA<# Mostly a bit of fun, usfull example for others. #DATA< # #DATA<# 12/12/2006 removed reference to whrandom as it is not #DATA<# standard with blender (replaced with blender.noise) #DATA<R# #DATA<S##########################################################DATA<`U#GUI Created using RipSting's Blender-Python GUI designer#DATA<V#Download at Http://oregonstate.edu/~dennisa/Blender/BPG/#DATA<@X##########################################################DATA<Y# #DATA< [# WARNING BPG is Windows ONLY !! cry now for your soul #DATA<`|# #DATA<}# I also found that fair amount of tweaking was required #DATA<@# to get the result I required, but I can not complain, #DATA<# it got me this far ! #DATA< # #DATA<# Note: this script was mainly created in Linux, just the#DATA<# GUI was born from windows. #DATA<p##########################################################DATADATAimport BlenderDATAfrom Blender.BGL import *DATA@from Blender.Draw import *DATApfrom Blender.Noise import *DATADATADATASlidermoveZ = Create(0)DATASlidertiltZ = Create(0)DATASlidermoveY = Create(0)DATA SlidertiltY = Create(0)DATAPSlidermoveX = Create(0)DATASlidertiltX = Create(0)DATAMenupreset = Create(1)DATADATAss_ver='1.4'DATADATADATA def shakeit():DATA(@ objList = Blender.Object.GetSelected()DATA #objBounds[]DATA for obj in objList :>DATA mesh = obj.getData()DATA #print mesh.nameDATA00 # check its a mesh before manipulating it.DATA  if obj.getType() == 'Mesh':DATA  # rotate in the three planesDATAt # note the 1.5 here as the first parameter is the equivilant to 90 degrees (it gets halfed to 45 degrees later)DATA8 obj.RotX = obj.RotX + rotateit(1.5,SlidertiltX.val)DATA8` obj.RotY = obj.RotY + rotateit(1.5,SlidertiltY.val)DATA8 obj.RotZ = obj.RotZ + rotateit(1.5,SlidertiltZ.val)DATAD@ # move in the three planes (using mesh dimensions as reference)DATA4 # get bounding box coords (list of eight items)DATA$@ objBounds = obj.getBoundBox()DATA getDimensions(objBounds)DATA dimX = (maxX-minX)DATA dimY = (maxY-minY)DATA  dimZ = (maxZ-minZ)DATA8P obj.LocX = obj.LocX + moveit(dimX,SlidermoveX.val)DATA8 obj.LocY = obj.LocY + moveit(dimY,SlidermoveY.val)DATA80 obj.LocZ = obj.LocZ + moveit(dimZ,SlidermoveZ.val)DATA Blender.Redraw()DATADATADATAdef moveit(overall,perc):DATA  if (overall > 0):DATA$P singlepercent = (overall / 100)DATA( maxmove = (singlepercent * perc) / 2DATA( pr = (Blender.Noise.random()*maxmove)DATA$@ # 50% of the time make it negitiveDATA$ if (Blender.Noise.random()<=0.5):DATA pr = pr-(pr*2)?DATA$ if (perc == 0) or (overall == 0):DATA` pr=0DATA p return(pr)DATA DATA DATAdef getDimensions(vL):DATA( global minX,minY,minZ,maxX,maxY,maxZDATA  # reset values, I missed this as I restarted the script so often, the min and max values became cumlative, very odd results, shows what sort of a bad programmer I am.DATA p minX = 0DATA  minY = 0DATA  minZ = 0DATA  maxX = 0 DATA  maxY = 0DATA  maxZ = 0DATA for vect in vL :DATA( if (vect[0] < minX) or (minX == 0) :DATAP minX = vect[0]DATA( if (vect[1] < minY) or (minY == 0) :DATA minY = vect[1]DATA( if (vect[2] < minZ) or (minZ == 0) :DATAP minZ = vect[2]DATA( if (vect[0] > maxX) or (maxX == 0) :DATA maxX = vect[0]DATA( if (vect[1] > maxY) or (maxY == 0) :DATAP  maxY = vect[1]DATA(  if (vect[2] > maxZ) or (maxZ == 0) :DATA  maxZ = vect[2]DATA DATADATA def rotateit(overall,perc):DATAP # I might upgrade thisDATA$ singlepercent = (overall / 100)DATA( maxrotate = (singlepercent * perc) / 2DATA,  pr = (Blender.Noise.random()*maxrotate)dDATA$p # 50% of the time make it negitiveDATA$ if (Blender.Noise.random()<=0.5):DATA pr = pr-(pr*2)>DATA@ if (perc == 0):DATAp pr=0DATA  return(pr)DATADATADATA def draw():DATA global Button3, Button2, Button1, SlidermoveZ, SlidertiltZ, SlidermoveY, SlidertiltY, SlidermoveX, SlidertiltX, Menupreset, ypos, sliderwidthDATA!DATA(" glClearColor(0.753, 0.753, 0.753, 0.0)DATA @$ glClear(GL_COLOR_BUFFER_BIT)DATAp%DATA & ypos=5;DATA ' glColor3f(0.000, 0.000, 0.000)DATA( glRasterPos2i(0, ypos)DATAX* Text('GUI Created using RipStings BPG Http://oregonstate.edu/~dennisa/Blender/BPG/')DATA+ ypos=ypos+20DATA , glColor3f(0.000, 0.000, 1.000)DATA . glRasterPos2i(0, ypos)DATAPP/ Text('Script homed at http://www.jumpstation.co.uk/blend/scripts/saltshaker/')DATA1 ypos=ypos+20DATA 2 glColor3f(0.000, 0.000, 1.000)DATA`3 glRasterPos2i(0, ypos)DATAD4 Text('Shake all the selected meshes, try it you might like it !')DATA 6 ypos=ypos+20DATA07DATA@8DATA8P9 Button('Exit', 1, 106, ypos, 39, 15, 'Exit script')>DATAP: Button('Undo', 2, 58, ypos, 39, 15, 'Reset mesh objects if shake performed')DATA8P< Button('Shake', 3, 0, ypos, 49, 15, 'Shake it Baby')DATA= ypos=ypos+20DATA>DATA? sliderwidth=170DATA DATA0 SlidermoveZ = Slider('Move Z% ', 5, sliderwidth+5, ypos, sliderwidth, 15, SlidermoveZ.val, 0, 100, 0, 'Movement percentage')DATAp  SlidertiltZ = Slider('Tilt Z% ', 6, 0, ypos, sliderwidth, 15, SlidertiltZ.val, 0, 100, 0, 'Tilt Percentage')DATA ypos=ypos+20DATA SlidermoveY = Slider('Move Y% ', 7, sliderwidth+5, ypos, sliderwidth, 15, SlidermoveY.val, 0, 100, 0, 'Movement percentage')DATAp SlidertiltY = Slider('Tilt Y% ', 8, 0, ypos, sliderwidth, 15, SlidertiltY.val, 0, 100, 0, 'Tilt Percentage')DATA ypos=ypos+20DATA  SlidermoveX = Slider('Move X% ', 9, sliderwidth+5, ypos, sliderwidth, 15, SlidermoveX.val, 0, 100, 0, 'Movement percentage')DATAp  SlidertiltX = Slider('Tilt X% ', 10, 0, ypos, sliderwidth, 15, SlidertiltX.val, 0, 100, 0, 'Tilt Percentage')DATA  ypos=ypos+20DATADATA Menupreset = Menu('Pesets%t|None %x1|Minor Tremor %x2|Tremor %x3|Earth Quake %x4|End of the World %x5', 4, 0, ypos, 131, 15, Menupreset.val, 'Preset settings')DATADATA  ypos=ypos+20DATA 0 glColor3f(0.000, 0.000, 0.000)DATA@ glRasterPos2i(0, ypos)DATA P Text('Salt Shaker v'+ss_ver)DATADATAdef event(evt, val):DATA( if (evt== QKEY and not val): Exit()DATAdef bevent(evt):DATA@ if evt == 1: #Button1DATA p Exit()DATADATA elif evt == 2: #Button2DATA  InsertCodeHere = 1DATA!DATA# elif evt == 3: #Button3DATA 0$ shakeit()DATA@%DATAP& elif evt == 4: #MenupresetDATA(' if Menupreset.val == 2: #Minor TremorDATA( SlidertiltX.val=10DATA* SlidertiltY.val=10DATA0+ SlidertiltZ.val=10DATA`, SlidermoveX.val=10DATA- SlidermoveY.val=10DATA. SlidermoveZ.val=10DATA$/ elif Menupreset.val == 3: #TremorDATA@1 SlidertiltX.val=30DATAp2 SlidertiltY.val=30DATA3 SlidertiltZ.val=30DATA4 SlidermoveX.val=30DATA6 SlidermoveY.val=30DATA07 SlidermoveZ.val=30DATA,`8 elif Menupreset.val == 4: #Earth quakeDATA9 SlidertiltX.val=60DATA: SlidertiltY.val=60DATA< SlidertiltZ.val=60DATA@= SlidermoveX.val=60DATAp> SlidermoveY.val=60DATA? SlidermoveZ.val=60DATA0@ elif Menupreset.val == 5: #End of the WorldDATA B SlidertiltX.val=100DATAPC SlidertiltY.val=100DATAD SlidertiltZ.val=100DATAE SlidermoveX.val=100DATAF SlidermoveY.val=100DATAH SlidermoveZ.val=100DATA$@I elif Menupreset.val == 1: #NoneDATAJ SlidertiltX.val=0DATAK SlidertiltY.val=0DATAL SlidertiltZ.val=0DATA N SlidermoveX.val=0DATAPO SlidermoveY.val=0DATAP SlidermoveZ.val=0DATAQDATARDATAS Blender.Redraw()DATA U Blender.Noise.setRandomSeed(0)DATAPVDATA `WRegister(draw, event, bevent)TXFTXsaltshaker.gui.bpg.v1P}DATAD/home/rednuht/projects/blends/scripts/saltshaker.gui.bpg.v1.3.pyDATA(}: DATA(@~:DATA(`~: DATA(`@:N_DATA(@`:D ViDATA(@@:rencDATA( @:DATA(  @:DATA( ! :DATA(!p! @:DATA(p!!!:D ViDATA(!P"p!@:rencDATA(P""!:'DATA("0#P"@:DATA(0##":DATA(#$0#@:@DATA($$#:'DATA($$$@:DATA($`%$:DATA(`%%$@:?DATA(%@&`%:'DATA(@&&%@:DATA(& '@&:DATA( ''&@:DATA('( ':cDATA((p('@:DATA(p(((:DATA((P)p(@:DATA(P))(:bDATA()0*P)@DATA(0**)@DATA(*+0*DATA(++*DATA(+++@TDATA(+`,+'DATA(`,,+DATA(,@-`,PDATA(@--,DATA(- .@-DATA( ..-`DATA(./ .DATA(/p/. pDATA(p///pDATA(/P0p/`$DATA(P00/@DATA(001P0DATA(0110DATA(12010DATA(221DATA(222В'DATA(2`32@ zDATA(`332OpenDATA(3@4`3DATA(@443PDATA(4 5@4,DATA( 554 DATA(56 5DATA(6p656DATA(p666`6DATA(6P7p66?DATA(P776`BRelaDATA(708P72DATA(0887p DATA(8908YDATA(998@(DATA(999DATA(9`:9DATA(`::9`5DATA(:@;`:5HDATA(@;;:`5ojecDATA(; <@;DATA( <<;@DATA(<= <DATA(=p=<HDATA(p===@DATA(=P>p=!DATA(P>>=&DATA(>0?P>"DATA(0??>#zDATA(?@0?`DATA(@@?DATA(@@@ "DATA(@`A@DDATA(`AA@ DATA(A@B`A0`DATA(@BBADATA(B C@BСDATA( CCB0%DATA(CD CDDATA(DpDC DATA(pDDD DATA(DPEpD0 DATA(PEED DATA(E0FPEФ zDATA(0FFE DATA(FG0FpDATA(GGFХ&DATA(GGG@DATA(G`HG&DATA(`HHGDATA(H@I`Hp&DATA(@IIHDATA(I J@I@&DATA( JJIDATA(JK J&DATA(KpKJDATA(pKKK&DATA(KPLpKP]2DATA(PLLKDATA(L0MPLDATA(0MMLPDATA(MN0MDATA(NNM DATA(NNN'DATA(N`ON#DATA(`OON`#DATA(O@P`OЭDATA(@PPO0DATA(P Q@PDATA( QQPDATA(QR Q@ DATA(RpRQDATA(pRRRDATA(RPSpR0 DATA(PSSRՒDATA(S0TPSPDATA(0TTS'DATA(TU0TDATA(UUTpDATA(UUUDATA(U`VUDATA(`VVUpDATA(V@W`VгUDATA(@WWVp DATA(W X@WDATA( XXW DATA(XY XODATA(YpYX DATA(pYYY`ՒDATA(YPZpYDATA(PZZY BDATA(Z0[PZ DATA(0[[Z?DATA([\0[PDATA(\\[4DATA(\\\ M(sDATA(\`]\5hakeDATA(`]]\0 DATA(]@^`]DATA(@^^]кDATA(^ _@^0DATA( __^}DATA(_` _@mDATA(`p`_ OutlDATA(p```@}DATA(`Pap`mDATA(Paa` DATA(a0bPa}DATA(0bbanDATA(bc0bp \DATA(ccb( DATA(cccDATA(c`dcDATA(`ddcP ,CDATA(d@e`dDATA(@eedDATA(e f@e`DATA( ffeDATA(fg fDATA(gpgfp$DATA(pgggDATA(gPhpg@DATA(PhhgDATA(h0iPhDATA(0iih@DATA(ij0iDATA(jjiDATA(jjjP=DATA(j`kj 1DATA(`kkjDATA(k@l`kPDATA(@llk'DATA(l m@l  DATA( mml DATA(mn m DATA(npnm@& DATA(pnnn DATA(nPopnDATA(Poon`#DATA(o0pPoDATA(0ppo0DATA(pq0pDATA(qqpDATA(qqqPDATA(q`rqDATA(`rrq(DATA(r@s`rDATA(@ssrKDATA(s t@s@jDATA( ttsBDATA(tu t<DATA(uput`MDATA(puuu.+DATA(uPvpu0{DATA(Pvvu DATA(v0wPv "DATA(0wwvPC#DATA(wx0w<$DATA(xxw@%DATA(xxxp!)&DATA(x`yx='DATA(`yyx@'(DATA(y@z`y8)DATA(@zzy*DATA(z {@z`+DATA( {{z,DATA({| { DATA(|p|{pDATA(p|||DATA(|P}p| DATA(P}|pnstrDATA<}##########################################################DATA<@~# #DATA<~# Salt Shaker 1.3 #DATA<@# #DATA<# Author : Rednuht # DATA<@# Creation Date : Jan 2005 #DATA<# Home : #DATA<@# http://www.jumpstation.co.uk/blend/scripts/saltshaker/#DATA<# #@DATA<@# Description : Takes all selected meshes and 'shakes' #DDATA<# them, moving and tilting them a random amount. # DATA<@# Mostly a bit of fun, usfull example for others. #DATA<# #DATA<@# #DATA<# #DATA<@##########################################################DATA<#GUI Created using RipSting's Blender-Python GUI designer#DATA<@#Download at Http://oregonstate.edu/~dennisa/Blender/BPG/#DATA<##########################################################DATA<@# #DATA<# WARNING BPG is Windows ONLY !! cry now for your soul #DATA<@# #DATA<# I also found that fair amount of tweaking was required #DATA<@# to get the result I required, but I can not complain, #DATA<# it got me this far ! #DATA<@# #DATA<# Note: this script was mainly created in Linux, just the#DATA<@# GUI was born from windows. #DATA<##########################################################DATA@/scDATA@import Blender@DATAimport whrandomDATAfrom Blender.BGL import *DATA@from Blender.Draw import *DATAfrom Blender.Noise import *DATA/scDATAP/scDATASlidermoveZ = Create(0)DATASlidertiltZ = Create(0)DATA`SlidermoveY = Create(0)DATASlidertiltY = Create(0)DATA SlidermoveX = Create(0)DATASlidertiltX = Create(0)DATAMenupreset = Create(1)DATA@DATAss_ver='1.3.2'3DATAV3@DATA0DATAdef shakeit():DATA(В objList = Blender.Object.GetSelected()DATA@ #objBounds[]EEDATA for obj in objList :exDATA mesh = obj.getData()DATAP #print mesh.nameDATA0 # check its a mesh before manipulating it.CDATA  if obj.getType() == 'Mesh':DATA  # rotate in the three planesDATA8 obj.RotX = obj.RotX + rotateit(1.5,SlidertiltX.val)DATA8` obj.RotY = obj.RotY + rotateit(1.5,SlidertiltY.val)DATA8 obj.RotZ = obj.RotZ + rotateit(1.5,SlidertiltZ.val)EDATAD` # move in the three planes (using mesh dimensions as reference)DATA4 # get bounding box coords (list of eight items)DATA$p objBounds = obj.getBoundBox()DATA getDimensions(objBounds)DATA@ dimX = (maxX-minX)DATA dimY = (maxY-minY)DATA dimZ = (maxZ-minZ)DATA8` obj.LocX = obj.LocX + moveit(dimX,SlidermoveX.val)CDATA8 obj.LocY = obj.LocY + moveit(dimY,SlidermoveY.val)_DATA8` obj.LocZ = obj.LocZ + moveit(dimZ,SlidermoveZ.val)DATA Blender.Redraw()DATA@DATApADATAdef moveit(overall,perc):EEDATA@ if (overall > 0):DATA$ singlepercent = (overall / 100)DATA( maxmove = (singlepercent * perc) / 2DATA$ pr = (whrandom.random()*maxmove)DATA$ # 50% of the time make it negitiveDATA ` if (whrandom.random()<=0.5):DATA pr = pr-(pr*2)DATA$  if (perc == 0) or (overall == 0):DATA pr=0DATA  return(pr)DATA0 DATA DATAСdef getDimensions(vL):DATA(0 global minX,minY,minZ,maxX,maxY,maxZDATA # reset values, I missed this as I restarted the script so often, the min and max values became cumlative, very odd results, shows what sort of a bad programmer I am.DATA  minX = 0DATA  minY = 0DATA 0 minZ = 0DATA  maxX = 0 DATA Ф maxY = 0DATA  maxZ = 0DATAp for vect in vL :I DATA(Х if (vect[0] < minX) or (minX == 0) :DATA@ minX = vect[0]DATA( if (vect[1] < minY) or (minY == 0) :DATA minY = vect[1]DATA(p if (vect[2] < minZ) or (minZ == 0) :DATA minZ = vect[2]DATA(@ if (vect[0] > maxX) or (maxX == 0) :DATA maxX = vect[0]DATA( if (vect[1] > maxY) or (maxY == 0) :DATA maxY = vect[1]BDATA( if (vect[2] > maxZ) or (maxZ == 0) :DATAP maxZ = vect[2]DATABDATADATAPdef rotateit(overall,perc):DATA # I might upgrade thisDATA$ singlepercent = (overall / 100))DATA( maxrotate = (singlepercent * perc) / 2DATA$ pr = (whrandom.random()*maxrotate)DATA$` # 50% of the time make it negitiveDATA Э if (whrandom.random()<=0.5):DATA0 pr = pr-(pr*2)DATA if (perc == 0):LDATA pr=0DATA @ return(pr)DATADATADATA 0def draw():DATA global Button3, Button2, Button1, SlidermoveZ, SlidertiltZ, SlidermoveY, SlidertiltY, SlidermoveX, SlidertiltX, Menupreset, ypos, sliderwidthDATAPDATA( glClearColor(0.753, 0.753, 0.753, 0.0)DATA  glClear(GL_COLOR_BUFFER_BIT)DATApDATA  ypos=5;DATA  glColor3f(0.000, 0.000, 0.000)DATAp glRasterPos2i(0, ypos)DATAXг Text('GUI Created using RipStings BPG Http://oregonstate.edu/~dennisa/Blender/BPG/')DATAp ypos=ypos+20DATA  glColor3f(0.000, 0.000, 1.000)DATA  glRasterPos2i(0, ypos)DATAP Text('Script homed at http://www.jumpstation.co.uk/blend/scripts/saltshaker/')DATA ypos=ypos+20DATA ` glColor3f(0.000, 0.000, 1.000)DATA glRasterPos2i(0, ypos)DATAD  Text('Shake all the selected meshes, try it you might like it !')DATA ypos=ypos+20DATADATAPDATA8 Button('Exit', 1, 106, ypos, 39, 15, 'Exit script').pyDATAP  Button('Undo', 2, 58, ypos, 39, 15, 'Reset mesh objects if shake performed')sDATA8 Button('Shake', 3, 0, ypos, 49, 15, 'Shake it Baby')v1DATA0 ypos=ypos+20DATAdDATAк sliderwidth=170DATA0DATA SlidermoveZ = Slider('Move Z% ', 5, sliderwidth+5, ypos, sliderwidth, 15, SlidermoveZ.val, 0, 100, 0, 'Movement percentage')DATAp@ SlidertiltZ = Slider('Tilt Z% ', 6, 0, ypos, sliderwidth, 15, SlidertiltZ.val, 0, 100, 0, 'Tilt Percentage')erDATA ypos=ypos+20DATA@ SlidermoveY = Slider('Move Y% ', 7, sliderwidth+5, ypos, sliderwidth, 15, SlidermoveY.val, 0, 100, 0, 'Movement percentage')DATAp SlidertiltY = Slider('Tilt Y% ', 8, 0, ypos, sliderwidth, 15, SlidertiltY.val, 0, 100, 0, 'Tilt Percentage')DATA ypos=ypos+20DATA SlidermoveX = Slider('Move X% ', 9, sliderwidth+5, ypos, sliderwidth, 15, SlidermoveX.val, 0, 100, 0, 'Movement percentage')DATAp SlidertiltX = Slider('Tilt X% ', 10, 0, ypos, sliderwidth, 15, SlidertiltX.val, 0, 100, 0, 'Tilt Percentage')CDATAp ypos=ypos+20DATADATA Menupreset = Menu('Pesets%t|None %x1|Minor Tremor %x2|Tremor %x3|Earth Quake %x4|End of the World %x5', 4, 0, ypos, 131, 15, Menupreset.val, 'Preset settings')DATADATAP ypos=ypos+20DATA  glColor3f(0.000, 0.000, 0.000)DATA glRasterPos2i(0, ypos)DATA ` Text('Salt Shaker v'+ss_ver)DATADATAdef event(evt, val):DATA(p if (evt== QKEY and not val): Exit()DATAdef bevent(evt):DATA@ if evt == 1: #Button1DATA  Exit()DATADATA@ elif evt == 2: #Button2DATA InsertCodeHere = 1DATADATAP elif evt == 3: #Button3DATA  shakeit()DATADATAP elif evt == 4: #MenupresetDATA( if Menupreset.val == 2: #Minor TremorDATA  SlidertiltX.val=10DATA SlidertiltY.val=10DATA SlidertiltZ.val=10DATA@ SlidermoveX.val=10DATA SlidermoveY.val=10DATA SlidermoveZ.val=10DATA$` elif Menupreset.val == 3: #TremorDATA SlidertiltX.val=30DATA0 SlidertiltY.val=30DATA SlidertiltZ.val=30DATA SlidermoveX.val=30DATAP SlidermoveY.val=30DATA SlidermoveZ.val=30DATA, elif Menupreset.val == 4: #Earth quakeDATA SlidertiltX.val=60DATA SlidertiltY.val=60DATA@ SlidertiltZ.val=60DATA SlidermoveX.val=60DATA SlidermoveY.val=60DATA` SlidermoveZ.val=60DATA0 elif Menupreset.val == 5: #Eond of the WorldDATA0 SlidertiltX.val=100DATA SlidertiltY.val=100DATA SlidertiltZ.val=100DATAP SlidermoveX.val=100DATA SlidermoveY.val=100DATA SlidermoveZ.val=100DATA$p elif Menupreset.val == 1: #NoneDATA SlidertiltX.val=0'DATA@ SlidertiltY.val=0(DATA SlidertiltZ.val=0)DATA SlidermoveX.val=0+DATA` SlidermoveY.val=0,DATA SlidermoveZ.val=0DATA DATApDATA Blender.Redraw()DATA raiDATA pRegister(draw, event, bevent)OBKOBCameraamera.001 8\A]D:A???{l?~k???L?K?<ȳ>S5L?ђ ?[I?8\A]D:A??????123H2?J3c겲S2?45?OBdB?)d??>)d?????OBKOBCube.001E`8*A8*AX?X?X???X?X?X?8*A8*A?????L?K? <ȳ>U5L?В ?\I? @м@?DOBd8? #=?>=??@???DATA`OBKOBCube.002E8*A8*X?X?X???X?X?X?8*A8*?????L?K? <ȳ>U5L?В ?\I? @м@?DOBd8? #=?>=??@???DATAOBKPOBCube.003E8*8*X?X?X???X?X?X?8*8*?????L?K? <ȳ>U5L?В ?\I? @м@?DOBd8? #=?>=??@???DATAOBPKOBCube.004EP8*8*AX?X?X???X?X?X?8*8*A?????L?K? <ȳ>U5L?В ?\I? @м@?DOBd8? #=?>=??@???GIDATAPOBKPOBCube.005E8*X?X?X???X?X?X?8*?????L?K? <ȳ>U5L?В ?\I? @м@?DOBd8? #=?>=??@???DATAOBK@OBCube.006E8*A X?X?X???X?X?X?8*A ?????L?K? <ȳ>U5L?В ?\I? @м@?DOBd8? #=?>=??@???DATAOB@KOBCube.007E@ 68*AX?X?X???X?X?X? 68*A?????L?K? <ȳ>U5L?В ?\I? @м@?DOBd8? #=?>=??@??? DFDATA@OBK@OBCube.008E8*5X?X?X???X?X?X?8*5?????L?K? <ȳ>U5L?В ?\I? @м@?DOBd8? #=?>=??@???`@@BDATAOBK0OBCube.009E> .4>X?X?X?p!?Eվ>??b>q]>X>ǩy>C#>*CHn>> .4>?????L?K? <ȳ>U5L?В ?\I? @м@?DOBd8? #=?>=??@???xzDATAOB0K OBCube.010E0 88*X?X?X???X?X?X?88*?????L?K? <ȳ>U5L?В ?\I? @м@?DOBd8? #=?>=??@???DATA0 OB K0OBCube.011E8@8*X?X?X???X?X?X?8@8*?????L?K? <ȳ>U5L?В ?\I? @м@?DOBd8? #=?>=??@???<>DATAOBK  OBCube.012E8*A8@X?X?X???X?X?X?8*A8@?????L?K? <ȳ>U5L?В ?\I? @м@?DOBd8? #=?>=??@???DATAOB KpOBCube.013E 8*A8X?X?X???X?X?X?8*A8?????L?K? <ȳ>U5L?В ?\I? @м@?DOBd8? #=?>=??@???8:DATA OBpK OBCube.014Ep8@8*AX?X?X???X?X?X?8@8*A?????L?K? <ȳ>U5L?В ?\I? @м@?DOBd8? #=?>=??@???DATApOBK!pOBCube.015E 88*AX?X?X???X?X?X?88*A?????L?K? <ȳ>U5L?В ?\I? @м@?DOBd8? #=?>=??@??? 57DATA OB!K`%OBCube.016E%8*8X?X?X???X?X?X?8*8?????L?K? <ȳ>U5L?В ?\I? @м@?DOBd8? #=?>=??@???`1@3DATA%OB`%K)!OBCube.017E`)8*8@X?X?X???X?X?X?8*8@?????L?K? <ȳ>U5L?В ?\I? @м@?DOBd8? #=?>=??@???-/DATA`)OB)K.`%OBCube.018E-8@еX?X?X???X?X?X?8@е?????L?K? <ȳ>U5L?В ?\I? @м@?DOBd8? #=?>=??@???)+DATA-OB.KP2)OBCube.019E22J>X?X?X?EȾ3tE ??8>#%=>Tl>GO,=\>+{>2J>?????L?K? <ȳ>U5L?В ?\I? @м@?DOBd8? #=?>=??@???tvDATA2OBP2K6.OBCube.020EP658@X?X?X???X?X?X?58@?????L?K? <ȳ>U5L?В ?\I? @м@?DOBd8? #=?>=??@??? &(DATAP6OB6K:P2OBCube.021E:w b} ?X?X?X?U>8=A?? ?ǽhPe =>V><[->w b} ??????L?K? <ȳ>U5L?В ?\I? @м@?DOBd8? #=?>=??@??? qsDATA:OB:K@?6OBCube.022E>88@X?X?X???X?X?X?88@?????L?K? <ȳ>U5L?В ?\I? @м@?DOBd8? #=?>=??@???`"@$DATA>OB@?KC:OBCube.023E@C8@8@X?X?X???X?X?X?8@8@?????L?K? <ȳ>U5L?В ?\I? @м@?DOBd8? #=?>=??@??? DATA@COBCKG@?OBCube.024EG8@8X?X?X???X?X?X?8@8?????L?K? <ȳ>U5L?В ?\I? @м@?DOBd8? #=?>=??@???DATAGOBGK0LCOBCube.025EK88X?X?X???X?X?X?88?????L?K? <ȳ>U5L?В ?\I? @м@?DOBd8? #=?>=??@??? DATAKOB0LKPGOBCube.026E0P8*8*@X?X?X???X?X?X?8*8*@?????L?K? <ȳ>U5L?В ?\I? @м@?DOBd8? #=?>=??@???`@DATA0POBPKT0LOBCube.027ET8*.U@X?X?X???X?X?X?8*.U@?????L?K? <ȳ>U5L?В ?\I? @м@?DOBd8? #=?>=??@???DATATOBTK YPOBCube.028EX&U5X?X?X???X?X?X?&U5?????L?K? <ȳ>U5L?В ?\I? @м@?DOBd8? #=?>=??@??? DATAXOB YKp]TOBCube.029E ]\9i:X?X?X?k#$?)???j9>st>ymH>#>,J>>\9i:?????L?K? <ȳ>U5L?В ?\I? @м@?DOBd8? #=?>=??@???`m@oDATA ]OBp]Ka YOBCube.030Epa~A@Ի+?X?X?X?\ʑ>ٌ??">dS%>4߄?b>q#1>~A@Ի+??????L?K? <ȳ>U5L?В ?\I? @м@?DOBd8? #=?>=??@???ikDATApaOBaKfp]OBCube.031Ee 6(U@X?X?X???X?X?X? 6(U@?????L?K? <ȳ>U5L?В ?\I? @м@?DOBd8? #=?>=??@???  DATAeOBfK`jaOBCube.032Ej"U8*AX?X?X???X?X?X?"U8*A?????L?K? <ȳ>U5L?В ?\I? @м@?DOBd8? #=?>=??@???`@DATAjOB`jKnfOBCube.033E`n8*8*AX?X?X???X?X?X?8*8*A?????L?K? <ȳ>U5L?В ?\I? @м@?DOBd8? #=?>=??@???DATA`nOBnKs`jOBCube.034Erݷ&5@DEX?X?X?{>> 0??*Y>,yB>S>Q>л'쎾>ݷ&5@DE?????L?K? <ȳ>U5L?В ?\I? @м@?DOBd8? #=?>=??@???egDATArOBsKPwnOBCube.035Ew$U8@X?X?X???X?X?X?$U8@?????L?K? <ȳ>U5L?В ?\I? @м@?DOBd8? #=?>=??@???DATAwOBPwK{sOBCube.036EP{8*8@X?X?X???X?X?X?8*8@?????L?K? <ȳ>U5L?В ?\I? @м@?DOBd8? #=?>=??@??? DATAP{OB{KPwOBCube.037E8,U@X?X?X???X?X?X?8,U@?????L?K? <ȳ>U5L?В ?\I? @м@?DOBd8? #=?>=??@???`@DATAOBK@{OBCube.038E,U@8*AX?X?X???X?X?X?,U@8*A?????L?K? <ȳ>U5L?В ?\I? @м@?DOBd8? #=?>=??@???DATAOB@KOBCube.039E@8*@8*AX?X?X???X?X?X?8*@8*A?????L?K? <ȳ>U5L?В ?\I? @м@?DOBd8? #=?>=??@???DATA@OBK@OBCube.040E+U@X?X?X???X?X?X?+U@?????L?K? <ȳ>U5L?В ?\I? @м@?DOBd8? #=?>=??@???DATAOBK0OBCube.041Ei(@0X?X?X?vB2???>mn>M>s6>᩻F{T,kn>i(@0?????L?K? <ȳ>U5L?В ?\I? @м@?DOBd8? #=?>=??@??? bdDATAOB0KOBCube.042E08*A%U@X?X?X???X?X?X?8*A%U@?????L?K? <ȳ>U5L?В ?\I? @м@?DOBd8? #=?>=??@???DATA0OBKЙ0OBCube.043E8*A8*@X?X?X???X?X?X?8*A8*@?????L?K? <ȳ>U5L?В ?\I? @м@?DOBd8? #=?>=??@???DATAOBЙK OBCube.044EН8*@8@X?X?X???X?X?X?8*@8@?????L?K? <ȳ>U5L?В ?\I? @м@?DOBd8? #=?>=??@???DATAНOB KpЙOBCube.045E 8@&U@X?X?X???X?X?X?8@&U@?????L?K? <ȳ>U5L?В ?\I? @м@?DOBd8? #=?>=??@???DATA OBpK OBCube.046Ep8@8*@X?X?X???X?X?X?8@8*@?????L?K? <ȳ>U5L?В ?\I? @м@?DOBd8? #=?>=??@??? DATApOBKpOBCube.047E,U@8@X?X?X???X?X?X?,U@8@?????L?K? <ȳ>U5L?В ?\I? @м@?DOBd8? #=?>=??@???DATAOBK`OBCube.048E8*A8*X?X?X???X?X?X?8*A8*?????L?K? <ȳ>U5L?В ?\I? @м@?DOBd8? #=?>=??@???`@DATAOB`KOBCube.049E`8*A/UX?X?X???X?X?X?8*A/U?????L?K? <ȳ>U5L?В ?\I? @м@?DOBd8? #=?>=??@???DATA`OBK`OBCube.050EM,A?X?X?X?nl>S7??!>Bx3>1=4?Dm=vn> b >M,A??????L?K? <ȳ>U5L?В ?\I? @м@?DOBd8? #=?>=??@???`^@`DATAOBKPOBCube.051E4,UX?X?X???X?X?X?4,U?????L?K? <ȳ>U5L?В ?\I? @м@?DOBd8? #=?>=??@???DATAOBPKOBCube.052EP8*@8*X?X?X???X?X?X?8*@8*?????L?K? <ȳ>U5L?В ?\I? @м@?DOBd8? #=?>=??@???DATAPOBKPOBCube.053E*U@8*X?X?X???X?X?X?*U@8*?????L?K? <ȳ>U5L?В ?\I? @м@?DOBd8? #=?>=??@???DATAOBK@OBCube.054E8@8*X?X?X???X?X?X?8@8*?????L?K? <ȳ>U5L?В ?\I? @м@?DOBd8? #=?>=??@??? DATAOB@KOBCube.055E@+U@8X?X?X???X?X?X?+U@8?????L?K? <ȳ>U5L?В ?\I? @м@?DOBd8? #=?>=??@???`@DATA@OBK@OBCube.056E8*@8X?X?X???X?X?X?8*@8?????L?K? <ȳ>U5L?В ?\I? @м@?DOBd8? #=?>=??@???DATAOBK0OBCube.057E8@-UX?X?X???X?X?X?8@-U?????L?K? <ȳ>U5L?В ?\I? @м@?DOBd8? #=?>=??@???DATAOB0KOBCube.058E08*8*X?X?X???X?X?X?8*8*?????L?K? <ȳ>U5L?В ?\I? @м@?DOBd8? #=?>=??@???DATA0OBK0OBCube.059E*U8*X?X?X???X?X?X?*U8*?????L?K? <ȳ>U5L?В ?\I? @м@?DOBd8? #=?>=??@???DATAOBK OBCube.060E8*8*X?X?X???X?X?X?8*8*?????L?K? <ȳ>U5L?В ?\I? @м@?DOBd8? #=?>=??@??? DATAOB KpOBCube.061E 8**UX?X?X???X?X?X?8**U?????L?K? <ȳ>U5L?В ?\I? @м@?DOBd8? #=?>=??@???DATA OBpK OBCube.062Ep.5 ?X?X?X?웫>w=??>j!?:>j;>N>.5 ??????L?K? <ȳ>U5L?В ?\I? @м@?DOBd8? #=?>=??@???Z\DATApOBKpOBCube.063E8,UX?X?X???X?X?X?8,U?????L?K? <ȳ>U5L?В ?\I? @м@?DOBd8? #=?>=??@???`@DATAOBK`OBCube.064E88*X?X?X???X?X?X?88*?????L?K? <ȳ>U5L?В ?\I? @м@?DOBd8? #=?>=??@???DATAOB`KOBCube.065E`(U8X?X?X???X?X?X?(U8?????L?K? <ȳ>U5L?В ?\I? @м@?DOBd8? #=?>=??@???DATA`OBK`OBCube.066E'U8*X?X?X???X?X?X?'U8*?????L?K? <ȳ>U5L?В ?\I? @м@?DOBd8? #=?>=??@??? DATAOBKPOBCube.067EDQ85>X?X?X?f>dh#;??>f;U>C>Oڊ=mO:z?DQ85>?????L?K? <ȳ>U5L?В ?\I? @м@?DOBd8? #=?>=??@???VXDATAOBPKOBCube.068EP8*,UX?X?X???X?X?X?8*,U?????L?K? <ȳ>U5L?В ?\I? @м@?DOBd8? #=?>=??@??? @DATAPOBK POBCube.069E 8*@-UX?X?X???X?X?X?8*@-U?????L?K? <ȳ>U5L?В ?\I? @м@?DOBd8? #=?>=??@???P0DATA OB K@OBCube.070E p@.A?X?X?X?p<(?%b??>b޽gB׽>͍0M>A(>煜>p@.A??????L?K? <ȳ>U5L?В ?\I? @м@?DOBd8? #=?>=??@??? SUDATA OB@K OBCube.071E@+U@8*X?X?X???X?X?X?+U@8*?????L?K? <ȳ>U5L?В ?\I? @м@?DOBd8? #=?>=??@???pDATA@OBK@OBCube.072E+U@8*@X?X?X???X?X?X?+U@8*@?????L?K? <ȳ>U5L?В ?\I? @м@?DOBd8? #=?>=??@???DATAOBK0OBCube.073EB@H 3@Tyu=X?X?X?>/ ? f??>5 ͼ܊|&=>=>}z>B@H 3@Tyu=?????L?K? <ȳ>U5L?В ?\I? @м@?DOBd8? #=?>=??@???`O@QDATAOB0KOBCube.074E08*@(U@X?X?X???X?X?X?8*@(U@?????L?K? <ȳ>U5L?В ?\I? @м@?DOBd8? #=?>=??@???DATA0OBK#0OBCube.075E#8**U@X?X?X???X?X?X?8**U@?????L?K? <ȳ>U5L?В ?\I? @м@?DOBd8? #=?>=??@???DATA#OB#K (OBCube.076E'x(z @?X?X?X?=?,+??>鎾 /2>iM>~XZ>x(z @??????L?K? <ȳ>U5L?В ?\I? @м@?DOBd8? #=?>=??@???KMDATA'OB (Kp,#OBCube.077E ,$U8*@X?X?X???X?X?X?$U8*@?????L?K? <ȳ>U5L?В ?\I? @м@?DOBd8? #=?>=??@???P0DATA ,OBp,K0 (OBCube.078Ep0#U-U@X?X?X???X?X?X?#U-U@?????L?K? <ȳ>U5L?В ?\I? @м@?DOBd8? #=?>=??@???pDATAp0OB0K5p,OBCube.079E4,U@&U@X?X?X???X?X?X?,U@&U@?????L?K? <ȳ>U5L?В ?\I? @м@?DOBd8? #=?>=??@???DATA4OB5K`90OBCube.080E9+U@.UX?X?X???X?X?X?+U@.U?????L?K? <ȳ>U5L?В ?\I? @м@?DOBd8? #=?>=??@???DATA9OB`9K=5OBCube.081E`=*U+UX?X?X???X?X?X?*U+U?????L?K? <ȳ>U5L?В ?\I? @м@?DOBd8? #=?>=??@???DATA`=OB=K`9OBLamp ? @???aT?$2,^'???,^'$2),?%=?@???MAA#MAMaterialA?A?A??????????L?????2 ???????@?=?==???C?DATA`CD??????????TE DTETex>@???????@@????? @??<ME E0MECubeube.001QpIHPG@M  3h ???4p?DATAIADATAPG5 ??II?I?I??? P P;?? P;?;?? P;b;}b;=4p@%+tb;c;4p@+tb;=c;4p@%+tb;=wb;=4p@%%+tDATA@M2"""""""""" "" "" "" " " " "DATAH1        GLOB هy` DNA1ToSDNANAME_*next*prev*first*lastxyzwxminxmaxyminymax*newid*libname[24]usflagicon_idid*idblock*filedataname[240]filename[240]totpadcurvecurblocktypeshowkeyposcurvaltypeadrcodetotelem*data*weightsname[32]vgroup[32]sliderminslidermax*refkeyelemstr[32]elemsizeblock*ipo*fromtotkeyslurph**scripts*flagactscripttotscript*line*formatlenblen*nameflagsnlineslines*curl*sellcurcselc*undo_bufundo_posundo_len*compiledsizeseekpassepartalphapad1clipstaclipendlensortho_scaledrawsizeYF_dofdistYF_apertureYF_bkhtypeYF_bkhbiasYF_bkhrotscriptlinkh*rectname[160]*anim*ibuf*mipmap[10]oklastframetpageflagtotbindxrepyreptwstatwendbindcode*repbind*packedfile*previewlastupdatelastusedanimspeedreserved1reserved2texcomaptomaptonegblendtype*object*texprojxprojyprojzmappingofs[3]size[3]texflagcolormodelrgbkdef_varcolfacnorfacvarfacdispfacwarpfac*handle*pname*stnamesstypesvars*varstr*result*cfradata[32](*doit)()(*callback)()versionaipotypedata[16]*ima*cube[6]imat[4][4]obimat[3][3]stypeviewscalenotlaycuberesdepthrecalclastsizenoisesizeturbulbrightcontrastrfacgfacbfacfiltersizemg_Hmg_lacunaritymg_octavesmg_offsetmg_gaindist_amountns_outscalevn_w1vn_w2vn_w3vn_w4vn_mexpvn_distmvn_coltypenoisedepthnoisetypenoisebasisnoisebasis2imaflagcropxmincropymincropxmaxcropymaxxrepeatyrepeatextendfie_imacheckerdistnablaframesoffsetsfra*plugin*coba*envfradur[4][2]loc[3]rot[3]mat[4][4]min[3]max[3]*obmodetotexenergydistspotsizespotblendhaintatt1att2shadspotsizebiassoftbufsizesampbuffersfiltertyperay_sampray_sampyray_sampzray_samp_typearea_shapearea_sizearea_sizeyarea_sizeztexactshadhalostepYF_numphotonsYF_numsearchYF_phdepthYF_useqmcYF_bufsizeYF_padYF_causticblurYF_ltradiusYF_glowintYF_glowofsYF_glowtypeYF_pad2*mtex[10]specrspecgspecbmirrmirgmirbambrambbambgambemitangspectraray_mirroralpharefspeczoffsaddtranslucencyfresnel_mirfresnel_mir_ifresnel_trafresnel_tra_ifiltertx_limittx_falloffray_depthray_depth_traharseed1seed2mode_lflarecstarclinecringchasizeflaresizesubsizeflarebooststrand_stastrand_endstrand_easesbiasrgbselpr_typeuse_nodespr_backpr_lampseptexml_flagdiff_shaderspec_shaderroughnessrefracparam[4]rmsdarkness*ramp_col*ramp_specrampin_colrampin_specrampblend_colrampblend_specramp_showpad3rampfac_colrampfac_spec*nodetree*groupfrictionfhreflectfhdistxyfrictdynamodepad2YF_arYF_agYF_abYF_dscaleYF_dpwrYF_dsmpYF_presetYF_djitname[256]scale*bbi1j1k1i2j2k2selcol1selcol2quat[4]expxexpyexpzradrad2s*mat*imatelemsdisp**mattotcolwiresizerendersizethreshvec[3][3]alfaweighth1h2f1f2f3hidevec[4]mat_nrpntsupntsvresoluresolvorderuordervflaguflagv*knotsu*knotsv*bp*beztcharidxkernnurb*bevobj*taperobj*textoncurve*path*keybevpathlenbevresolwidthext1ext2resolu_renresolv_renspacemodespacinglinedistshearfsizewordspaceulposulheightxofyoflinewidth*strfamily[24]*vfont*vfontb*vfonti*vfontbisepchartotboxactbox*tbselstartselend*strinfocurinfoname[128]maxrcttotrctvartypetotvertipoextraprtbitmask*driver*tpageuv[4][2]col[4]transptileunwrapeffect*mface*tface*dface*mvert*medge*dvert*mcol*msticky*texcomesh*mselect*oc*sumohandletotedgetotfacetotselectcubemapsizesmoothreshsubdivsubdivrsubsurftypev1v2v3v4edcodecreasedef_nr*dwtotweightco[3]no[3]co[2]index*errormodifiersubdivTypelevelsrenderLevels*emCache*mCachestartlengthrandomizeseed*curve_ob*offset_oboffset[3]scale[3]merge_distfit_typeoffset_typecountaxistolerancepercentfaceCountstartxstartyheightnarrowspeeddamptimeoffslifetimedeformflagparentinv[4][4]cent[3]falloff*indexartotindexforceoperationpntswopntsuopntsvopntswtypeutypevtypewfufvfwdudvdw*defvec[8][3]dvec[3]max**obpartypepar1par2par3parsubstr[32]*pardata*parent*track*action*poseconstraintChannelsnetworkdefbasemodifiersdloc[3]orig[3]dsize[3]drot[3]dquat[4]obmat[4][4]laycolbitstransflagipoflagtrackflagupflagnlaflagprotectflagipowinscaflagscavisflagboundtypedupondupoffdupstadupendsfctimemassdampinginertiaformfactorsofttimerdampingsizefacdtdtxactcolempty_drawtypepad1[3]empty_drawsizepropsensorscontrollersactuatorsbbsize[3]dfrasactdefgameflaggameflag2softflaganisotropicFriction[3]constraintsnlastripshooks*pd*soft*dup_groupfluidsimFlagshapenrshapeflagpad4*fluidsimSettings*derivedDeform*derivedFinalcurindexactivedeflectforcefieldpdef_damppdef_rdamppdef_permf_strengthf_powermaxdistpdef_sbdamppdef_sbiftpdef_sbofttotpointtotspring*bpoint*bspringnodemassgravmediafrictrklimitphysics_speedgoalspringgoalfrictmingoalmaxgoaldefgoalvertgroupinspringinfrictefraintervallocal**keystotpointkeyshow_advancedoptionsresolutionxyzpreviewresxyzrealsizeguiDisplayModerenderDisplayModeviscosityValueviscosityModeviscosityExponentgravxgravygravzanimStartanimEndgstarmaxRefineiniVelxiniVelyiniVelz*orgMesh*meshSurface*meshBBsurfdataPath[240]bbStart[3]bbSize[3]typeFlagsdomainNovecgenvolumeInitTypepartSlipValuegenerateTracersgenerateParticlessurfaceSmoothingparticleInfSizeparticleInfAlphafarFieldSize*meshSurfNormalsmistypehorrhorghorbhorkzenrzengzenbzenkambkfastcolexposureexprangelinfaclogfacgravityactivityBoxRadiusskytypephysicsEnginemisimiststamistdistmisthistarrstargstarbstarkstarsizestarmindiststardiststarcolnoisedofstadofenddofmindofmaxaodistaodistfacaoenergyaobiasaomodeaosampaomixaocolor*aospherehemiresmaxiterdrawtypesubshootpsubshootenodelimmaxsublamppamapamielmaelmimaxnodeconvergenceradfacgammaselcolsxsy*lpFormat*lpParmscbFormatcbParmsfccTypefccHandlerdwKeyFrameEverydwQualitydwBytesPerSeconddwFlagsdwInterleaveEveryavicodecname[128]*cdParms*padcdSizeqtcodecname[128]codecaudio_codecvideo_bitrateaudio_bitrategop_sizerc_min_raterc_max_raterc_buffer_sizemux_packet_sizemux_ratemixratemainpad[3]*scenelayflagpassflag*avicodecdata*qtcodecdataffcodecdatacfraimagesframaptoframelenblurfacedgeRedgeGedgeBfullscreenxplayyplayfreqplayattribrt1rt2stereomodedimensionspresetmaximsizexschyschxaspyaspxpartsypartswinposplanesimtypesubimtypebufflagqualityscemoderendererocresrpad[2]alphamodedogammaosafrs_secedgeintsame_mat_reduxsafetyborderdisprectlayersactlaygausspostmulpostgammapostaddpostigammaposthuepostsatdither_intensityzminfocuszgammazsigmazblurGIqualityGIcacheGImethodGIphotonsGIdirectYF_AAYFexportxmlYF_nobumpYF_clamprgbyfpad1GIdepthGIcausdepthGIpixelspersampleGIphotoncountGImixphotonsGIphotonradiusYF_numprocsYF_raydepthYF_AApassesYF_AAsamplesGIshadowqualityGIrefinementGIpowerGIindirpowerYF_gammaYF_exposureYF_raybiasYF_AApixelsizeYF_AAthresholdbackbuf[160]pic[160]ftype[160]col[3]framename[64]cornertypeeditbutflagdegrstepturnextr_offsdoublimitsegmentsringsverticesunwrapperuvcalc_radiusuvcalc_cubesizeuvcalc_mapdiruvcalc_mapalignuvcalc_flagselect_thresh*camera*world*setbase*basactcursor[3]twcent[3]twmin[3]twmax[3]editbutsizeselectmodeproportionalprop_mode*ed*radioframing*toolsettingsaudiomarkersjumpframe*theDagdagisvaliddagflagszoomblendximyimspacetypeblockscale*areablockhandler[8]viewmat[4][4]viewinv[4][4]persmat[4][4]persinv[4][4]winmat1[4][4]viewmat1[4][4]viewquat[4]zfacpad0perspview*bgpic*localvd*rilocalviewlayactscenelockaroundcamzoomgridgridviewpixsizenearfarcamdxcamdygridlinesviewbutgridflagmodeselectmenunrtexnrtwtypetwmodetwflagtwdrawflagtwmat[4][4]clip[4][4]*clipbbafterdrawzbufxrayflag2pad2[3]verthormaskmin[2]max[2]minzoommaxzoomscrollkeeptotkeepaspectkeepzoomoldwinxoldwinyrowbutv2d*editipoipokeyactname[32]constname[32]totipopinbutofschannellockmedian[3]cursenscuractaligntabomainbmainbo*lockpointexfromshowgroupmodeltypescriptblockre_alignoldkeypresstab[7]chanshown*filelisttotfiletitle[24]dir[160]file[80]ofssortmaxnamelencollums*libfiledataretvalmenuact(*returnfunc)()*menupoopsvisiflagtree*treestoreoutlinevisstoreflagdeps_flags*image*cumapimanrcurtilecentxcenty*info_str*texttopviewlinesfont_idlheightleftshowlinenrstabnumbercurrtab_setshowsyntaxunused_paddpix_per_linetxtscrolltxtbar*scriptredraws*idaspect*curfont*edittreetreetypetitle[28]fasesubfasemouse_move_redrawimafasemxmydirslidirsli_linesdirsli_sxdirsli_eydirsli_exdirsli_himaslifileselmenuitemimasli_sximasli_eyimasli_eximasli_hdssxdssydsexdseydesxdesydeexdeeyfssxfssyfsexfseydsdhfsdhfesxfesyfeexfeeyinfsxinfsyinfexinfeydnsxdnsydnwdnhfnsxfnsyfnwfnhfole[128]dor[128]file[128]dir[128]*firstdir*firstfiletopdirtotaldirshilitetopfiletotalfilesimage_sliderslider_heightslider_spacetopimatotalimacurimaxcurimay*first_sel_ima*hilite_imatotal_selectedima_redraw*cmap*arg1outline[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_drawtypeback[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_facesel[4]face[4]face_select[4]face_dot[4]normal[4]bone_solid[4]bone_pose[4]strip[4]strip_select[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]tuitbutstv3dtfiletipotinfotsndtacttnlatseqtimatimaseltexttoopsttimetnodebpad[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]themesundostepscurssizetb_leftmousetb_rightmouselight[3]tw_hotspottw_flagtw_handlesizetw_sizetextimeouttexcollectratememcachelimitframeserverportobcenter_diarvisizervibrightvertbaseedgebaseareabaseendxendysizexsizeyscenenrscreennrfullmainwinwinakthandler[8]*newvvec*v1*v2panelname[64]tabname[64]ofsxofsycontrolsnapold_ofsxold_ofsysortcounter*paneltab*v3*v4*fullwinmat[4][4]headrctwinrctheadwinwinheadertypebutspacetypewinxwinyhead_swaphead_equalwin_swapwin_equalheadbutlenheadbutofscursorspacedatauiblockspanels*curscreen*curscenedisplaymodefileflagsglobalfname[80]*se1*se2*se3isneedednrdone*stripdataorxory*instance_private_data**current_private_data*newseqstartofsendofsstartstillendstillmachinestartdispenddispmulhandsize*strip*curelemfacf0facf1*seq1*seq2*seq3seqbase*sound*hdaudiolevelpancurposstrobe*effectdataanim_preseek*oldbasep*parseq*seqbasepmetastackedgeWidthangleforwardwipetypefMinifClampfBoostdDistdQualitybNoCompbuttypeuserjitstaendtotpartnormfacobfacrandfactexfacrandlifeforce[3]vectsizedefvec[3]mult[4]life[4]child[4]mat[4]texmapcurmultstaticstepomattimetexspeedtexflag2negvertgroup_vvgroupname[32]vgroupname_v[32]*keysminfacusedusedelemdxdylinkotypedataold*poin*oldpoinresetdistlastval*makeyqualqual2targetName[32]toggleName[32]value[32]maxvalue[32]materialName[32]damptimerdelaypropname[32]matname[32]axisflag*fromObjectsubject[32]body[32]pulsefreqtotlinks**linksinvertfreq2axisfbuttonbuttonfhathatfprecisionstr[128]*mynewinputstotslinks**slinksvalvalopad5time*actblendinprioritystrideaxisstridelengthsndnrpad1[2]makecopycopymadepad2[1]trackvolume*melinVelocity[3]localflagforceloc[3]forcerot[3]linearvelocity[3]angularvelocity[3]addedlinearvelocity[3]anotherpad[4]butstabutendminfacvisifacslowminloc[3]maxloc[3]minrot[3]maxrot[3]distributionint_arg_1int_arg_2float_arg_1float_arg_2toPropName[32]*toObjectbodyTypefilename[64]loadaniname[64]goaccellerationmaxspeedmaxrotspeedmaxtiltspeedrotdamptiltdampspeeddamp*sample*stream*newpackedfile*snd_soundpanningattenuationpitchmin_gainmax_gaindistancestreamlenloopstartloopendchannelshighpriopad[10]gaindopplerfactordopplervelocitynumsoundsblendernumsoundsgameengine*lamprengobjectchildbaserollhead[3]tail[3]bone_mat[3][3]arm_head[3]arm_tail[3]arm_mat[4][4]xwidthzwidthease1ease2rad_headrad_taillayerbonebasechainbaseghostepghostsizeconstflagikflag*bone*childiktree*b_bone_matschan_mat[4][4]pose_mat[4][4]pose_head[3]pose_tail[3]limitmin[3]limitmax[3]stiffness[3]ikstretch*customchanbasestride_offset[3]actnrtimeslidename[30]enforce*tariterationsrootbonesubtarget[32]orientweightgrabtarget[3]minmaxflagstickystuckcache[3]lockflagfollowflagzmaxvolmodeplaneorglengthbulgestride_axisactstartactendactoffspadfstridelenrepeatblendoutstridechannel[32]hasinputhasoutputdatatypenslimitstack_indexinternstack_index_extlocxlocyown_indexto_index*tosock*link*newlastyoutputs*storageminiwidthcustom1custom2need_execexectotrbutrprvr*typeinfo*fromnode*tonode*fromsocknodeslinks*stack*stack1initstacksizecur_index**alltypes*owntype(*timecursor)()(*stats_draw)()(*test_break)()cyclicmoviesamplesminspeedbokehhuesatshortymintablemaxtable*curve*table*premultablecurrcliprcm[4]black[3]white[3]bwmul[3]TYPEcharucharshortushortintlongulongfloatdoublevoidLinkListBasevec2svec2ivec2fvec2dvec3ivec3fvec3dvec4ivec4fvec4drctirctfIDLibraryFileDataIpoKeyBlockKeyScriptLinkTextLineTextPackedFileCameraPreviewImageImageanimImBufMTexObjectTexPluginTexCBDataColorBandEnvMapTexMappingLampWaveMaterialbNodeTreeGroupVFontVFontDataMetaElemBoundBoxMetaBallBezTripleBPointNurbCharInfoTextBoxCurvePathIpoDriverIpoCurveTFaceMeshMFaceMVertMEdgeMDeformVertMColMStickyMSelectOcInfoMDeformWeightModifierDataSubsurfModifierDataLatticeModifierDataCurveModifierDataBuildModifierDataArrayModifierDataMirrorModifierDataDecimateModifierDataWaveModifierDataArmatureModifierDataHookModifierDataSoftbodyModifierDataBooleanModifierDataLatticebDeformGroupLBufbActionbPosePartDeflectSoftBodyFluidsimSettingsDerivedMeshObHookSBVertexBodyPointBodySpringWorldRadioBaseAviCodecDataQuicktimeCodecDataFFMpegCodecDataAudioDataSceneRenderLayerSceneRenderDataGameFramingTimeMarkerToolSettingsDagForestBGpicView3DSpaceLinkScrAreaRenderInfoView2DSpaceInfoSpaceIpoSpaceButsSpaceSeqSpaceFiledirentryBlendHandleSpaceOopsTreeStoreSpaceImageCurveMappingSpaceNlaSpaceTextSpaceScriptScriptSpaceTimeSpaceNodeSpaceImaSelImaDirOneSelectableImaThemeUIThemeSpacebThemeSolidLightUserDefbScreenScrVertScrEdgePanelFileGlobalStripElemStripPluginSeqSequencebSoundhdaudioMetaStackEditingWipeVarsGlowVarsEffectBuildEffPartEffParticleWaveEffTreeStoreElemOopsbPropertybNearSensorbMouseSensorbTouchSensorbKeyboardSensorbPropertySensorbCollisionSensorbRadarSensorbRandomSensorbRaySensorbMessageSensorbSensorbControllerbJoystickSensorbExpressionContbPythonContbActuatorbAddObjectActuatorbActionActuatorbSoundActuatorbCDActuatorbEditObjectActuatorbSceneActuatorbPropertyActuatorbObjectActuatorbIpoActuatorbCameraActuatorbConstraintActuatorbGroupActuatorbRandomActuatorbMessageActuatorbGameActuatorbVisibilityActuatorFreeCamerabSamplebSoundListenerSpaceSoundGroupObjectBonebArmaturebPoseChannelbActionChannelSpaceActionbConstraintChannelbConstraintbKinematicConstraintbTrackToConstraintbRotateLikeConstraintbLocateLikeConstraintbMinMaxConstraintbSizeLikeConstraintbActionConstraintbLockTrackConstraintbFollowPathConstraintbDistanceLimitConstraintbRotationConstraintbStretchToConstraintbActionStripbNodeStackbNodeSocketbNodeLinkbNodebNodePreviewbNodeTypeNodeImageAnimNodeBlurDataNodeHueSatCurveMapPointCurveMapTLEN  @8hx(` p@HPX`8Ph@  @XhhPHHhP@P0P ,ph((0@X080x0Hp0H 8 ( xH 0  @@@P00HhH,(lH`h@P@ HPx4 8@8p(P(pxP8@P000@0H0@8x(0 (STRC                   ! "#$%&' ()* +,-./01234567 89: ;<=>?@AB C!DE9 ""FGHIJKLMNOPQ,R#ST$U%V&W&XYZ[\]^_`ab!c#defghi'jklm(n)opqrstuvwxyz{|}~*U   +xyz,+-(n$$HIYZ)46~,$*,-.u(/3wxyz{HI',R0,1cwxyz      !"#$%&'()*+,-./jk,0,123456789'2:,3;<=>?@ABCDEFGHIJR4KL5"!c6667MNOPQRSTUVWXYZ[\6]^87M _ `,1abvucde9 fghijklmn:oghkn;;;pnqrstuvwxyz:{9|}<~pB=S>97M  `(((,?1a uvbstB6;4444=<<@( AAA:{9|   @B C#7M ,1aDB EFGHICJK BvubDpFLhGLEpHxyzIJMMM$NM9  OM(n$PM(n$QMR M((9SMTMU MVMGB(nW M(n$XMYM(nZqrB   : ,[[[$7 Ku\((b ((,?7M]^ "    `  1a u!"V#$%&'()*+,-./0123456789:;<=>?b@ABCR D E F G HIJKLMN O P Q_R`S3TU7VWXaYbZb[ccc($\]_ ^_`abcdefghdo`ijekfl6mnopqrstuvwGxyz{|Bd}~.a&CCC,Eg8w,'Rhiii%(nj  k  Bl 9mnnn$o%pjjklz7G6     D !"#$%&'()*+,-./ 01B23456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^q_GB7rrr`asbcdefGghijklmnopqBro$(sgtou$ viwxyz{%|}~$2: h qspxmR GB7tXu $&W)oDTv<wwx(suvy%GJtx7 zwwwx{wwx|wwxBz  ,-}wwxyz .~wwxzBwwx wwxz   wwxz$GB wwxzwwx 9      wwxB9wwxzwwxz- 2:2Qwwx !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^B&_  `abcdefghijklmnopqrB.skltuvwxyz{|}~$o0 G   o .]xxx    R      &WY 6 K     )! 6"#$%&'()*+,,o%V-./01 2345678 9: ;< = 2 >?@ABCDEFGHII6+IwJKLM.NOPQRSTUVWXYZ[\]^_``abcd3;Ief!g" >nhi j $klm n o$pqGB$1rstuvw$xy$z{B$@$|$}~G(kGB$ "( $ kB7$ "( ]KL$ KL3KL (C$o(s$x( " KL$G( KL$3;}(GBKL k$ "( 7U !c! ,9wwxz3B( 3  $hui    O$G,B  uV(^ , $h] wwxz], "h (   h  B(hi (h (h ( (h  (|L] () ()*( GB   :( ,](nL !o ""#$$%&'()G*+,-./0$51'  2 3*+456789:;d<=>?.2 @ ABCDEFGH I JKLM NOGPBQRSiTUVWX YZ[\]^ENDB