BLENDER_v242REND SceneSRt0tµSR1-Animationؑȕ@0Ш DATAؑu DATA uhؑ DATAhu  DATAuhDATAu@DATA@uDATAuГ@DATAГuDATAu`ГDATA`uDATAu`DATAu8DATA8uDATAu8DATAȕv hDATAvXȕؑDATAXv @DATAv薵XhDATA薵v0@DATA0vx薵ГDATAxv0DATAvxГDATAvPDATAPvؑ`DATAvPDATAv(DATA(vp`DATApv(ГDATAvp@8DATAvH8DATAHv8DATAvؚH`DATAؚv DATA vhؚDATAhv DATAvh@`DATAv8DATA@xؑ`O88@`DATA@wLink and MaterialsEditing>DATAw@MeshEditingF>DATAwȟAnim settingsObject>DATAȟwDrawObjectF>DATAwxȟConstraintsObject>DATAxwPEffectsObjectDATAPw(xHooksObjectF>ȟDATA(wPParticle InteractionObject>DATAwؤ(SoftbodyObject>DATAؤwOutputRender>DATAwؤRenderRenderF>DATAw`AnimRender>DATA`wFormatRender>DATA8d8333?V,@DhCDhCC(BDC?z?DATAT8f8333?V,/9DATAx@@ h !  DATAx8ГG==o?(pDATAwTransform PropertiesView3d>DATAw3D Viewport propertiesView3d>"DATA(_p333?V<????????G==o? A*A?G==o??????*A B??=C ݢM@ݢM@ݢM@?DATATpf(333?V</9DATAx0Г??PףHбDATAwTransform PropertiesIpo!>DATA(бc8333?V\zC̽̌?zC@ #< #<`jFzD OBzC̽̌?DATA8g б333?V\CC|||??l|DATA (8 333?V\zCCHBC|||?CFC= ADATAx(jг  333?V\ =rttDATAгi!( 333?V\?zDzDBCl||ll|zDzD=HB DATA!Xг 333?V\BCBCl|llFzD #<HB DATAX_!333?V\??? ???? A???PA A!O?j?}GCHB? A B? #<CDATATfX333?V\/9DATA0x0 ี0DATA0wLink and MaterialsEditing>DATAw0MeshEditingF>DATAีl333?VLzCB{ µCB ?BFB= ADATAี 333?VLzCCHBC$?CFC= ADATAd333?VL#DhC`DpJgChCC(BDC?z?DATATf333?VL/9DATA0x0`@8} ?=o?.ྵ0DATA0wTransform PropertiesView3d>DATAw03D Viewport propertiesView3d>"DATAྵg333?YDATA˵wh̵ʵLampLampF>DATAh̵w@͵˵SpotLamp>DATA@͵wεh̵Texture and InputLamp>DATAεwε@͵Map ToLamp>@͵DATAεwϵεPreviewMaterial>)DATAϵwеεMaterialMaterial>)DATAеwxѵϵPreviewWorld>DATAxѵwPҵеWorldWorldF>DATAPҵw(ӵxѵMist Stars PhysicsWorld>DATA(ӵwԵPҵTexture and InputWorld>DATAԵwԵ(ӵMap ToWorld>(ӵDATAԵwյԵOutputRender>DATAյwֵԵRenderRenderF>DATAֵw`׵յAnimRender>DATA`׵w8صֵFormatRender>DATA8صwٵ`׵Link and MaterialsEditing>DATAٵwٵ8صMeshEditingF>DATAٵwڵٵMesh ToolsEditing>DATAڵw۵ٵMesh Tools 1Editing>DATA۵wpܵڵCameraEditingF>DATApܵwHݵ۵ShadersMaterial>)DATAHݵw ޵pܵTextureMaterial>)DATA ޵w޵HݵAnim settingsObject>DATA޵wߵ ޵DrawObjectF>DATAߵw޵ConstraintsObject>DATAwߵScriptlinksScript>DATAwXEffectsObjectߵDATAXw0Map InputMaterial>HݵDATA0wXMap ToMaterial>HݵDATAw0AnimAnim>DATAwSoundSound>DATAwListenerSoundF>DATAwhSequencerSound>DATAhw@ArmatureEditingF>DATA@whRampsMaterial>)ϵDATAw@Mirror TranspMaterial>)DATAwMist / Stars / PhysicsWorld>DATAwAmb OccWorld>DATAwxShadow and SpotLamp>DATAxwPModifiersEditing>DATAPw(xShapesEditing>xDATA(wPLinks and PipelineMaterialF>)DATAd`h333?ɵ@ĸDhCvDhCC(BDC?z?mDATA`h_333?ɵ??? ???? A??@PA Aj?c3>}GCHB? A B? #<CDATAg`h333?ɵ@̌AR|B1@lA A@CC #<@DATATf333?ɵ/9DATAxɵ`ĵµ@õĵŦDATAxĵ8ŵĵĵ?W> >o?AAA 0`xxXDATAwXTransform PropertiesView3d,>DATAXwView PropertiesView3dT>"DATA0_0333????"$F*@????"$F@*??W> >on'>?ؗ@1@y"$F@*??W> >o????"$F*@??1@? B??<=C"$F*@7?X<????DATA(0c0333?zC̽̌?zC@22 #< #<`jFzD OBzC̽̌?DATAg0333?AffzAK_tK_tB33 33 B22 A@CC #<@2DATA` 333??zDzDBD22FzD #<HB DATA`d`333?DdC8CnD fCC(BDC?z?DATAT`f`333?LSave FileNT PICTURES/Users/ton/Desktop/umpbug Folder/ender.app/Contents/Resources/untitled.blend DATAxõ`ĵ8ŵĵw=p=o????  @.  DATAwTransform PropertiesView3d,>DATAwView PropertiesView3dT>"DATAxj@ 333?(9 ֔?zDATA @k333?DATA_@333?????????w=p=o?{IAG Ay?w=p=o??????{IA B??9==C7?X<????DATA(c333?zC̽̌?zC@22 #< #<`jFzD OBzC̽̌?DATAg 333?AffzAK_tK_tB33 33 B22 A@CC #<@2DATA,@BO`A@DATA,@BOp=ADATA,@CS@ffШDATA   333??zDzDBD22FzD #<HB DATA d  333?DdC8CnD fCC(BDC?z?DATAT f 333?Save AsT FILEICTURESh:\bdb2blend website\\es\wicklung\er.app/Contents/Resources/pdb2blend12.blendorphin.bmp.blendndblend1zept.blend1dT`JASRth tNµSR3-Materialodel Sing 0xFШ DATA uX DATAX u   DATA u X  DATA u0 DATA0ux <DATAxu0<DATAuxDATAuPDATAPu,<DATAuP,DATAu(DATA(up,DATApu(DATAupDATAvHX  DATAHv  DATAvH 0DATAv  xDATA vh0xDATAhv X DATAvh DATAv@DATA@vxDATAv@0PDATAvxPDATAv`DATA`vPDATAv`0DATAv8DATA8v(DATAv8P(DATAv(DATAvXpDATAXv(pDATAvXDATAv0DATA0vpDATAxx# 0x ?@Pף;;!h"xDATAxwPOutputRender>DATAPw(xRenderRenderF>DATA(wPAnimRender>DATAw(FormatRender>DATAl333?V\~CA~CA!?AFA= ADATAp 333?V\zCCHBC ?CFC= ADATApdp333?V\DhC?DhCC(BDC?z?mDATAp_p!p333?V\??? ???? A??@PA Aj?c3>}GCHB? A B? #<CDATAp!gh"p333?V\@̌AR|B1@lA A@CC #<@DATATh"fp!333?V\/9DATA#x$xX   !  DATA$x6#PxG@? JL-=-=W-X~0h5%8/DATA%w&OutputRender>DATA&w'%RenderRender>DATA'wx(&AnimRender0>DATAx(wP)'FormatRenderH>DATAP)w(*x(PreviewMaterial>DATA(*w+P)MaterialMaterial>DATA+w+(*ShadersMaterial0>DATA+w,+TextureMaterialD>DATA,w-+Map InputMaterial\>DATA-w`.,Map ToMaterial`>DATA`.w8/-RampsMaterial>(*DATA8/w`.Mirror TranspMaterialH>DATA0d1333?VChCCvgCC(BDC?z?DATA1_40333?VJ>H!?)xu?i6>Pbܗ=(?^L?a?滎z?J>#xu?ܗ=Hi6>(? ?Pb^L?\FAA?4[?[!?@jG>gb>Pb>4Im>k&?]M^L<0@AzA=>Kc<2֍7&> ?:x¸A1vB,jB~@G@? JLJ>H!?)xu?i6>Pbܗ=(?^L?a?滎z?@?$$OA B?=Ch?j(4?t'>dDATA(4ch51333?VzC AzC A #< #<`jFzD OBDATATh5f4333?V;SAVE FILE/usr/home/intrr/blender/blend/untitled.blendDATA6x>$0(PU.=w=o?+=+=W+X,X7H=DATA7_:333?W???h?j(4?t'>????hj(4t'?U.=w=o??OA B??=Ch?j(4?t'>dEh@Eh@Eh@?DATA:d;7333?WDdC>9C,DeCC(BDC?z?DATA(;cH=:333?WzC AzC A #< #<`jFzD OBDATATH=f;333?W SAVE FILE/Users/ton/Desktop/der/blend/untitled.blendDATA>xF6p(e?B$?AHM+++US?(EDATA?_B333?W |ݕ/?U~'?3F:?>T8165e?2>Z& 4?ߕ/?7F:?81W~>85e?'?T2>ne@>M@?4z?'''䷄?K??T?v|@?l211A 4Atp>?@@FC>G ?4xB֟&BĭeA(@e?B$?AHMݕ/?U~'?3F:?>T8165e?2>Z& 4?H?N,Z#OA B??=Ch?j(4?t'>dA@A@A@?DATABdC?333?W |DdC>9C,DeCC(BDC?z?DATA(Cc(EB333?W |zC AzC A #< #<`jFzD OBDATAT(EfC333?W | SAVE FILE/Users/ton/Desktop/der/blend/untitled.blendDATAFx>p&=+=o?USGMDATAG_J333?W ?3?3:-vk(4??3?3;@k(40v@?&=PU1n;+=ꉖø;ZO{:?JXA54U0AC;@j(40v@?&=+=o??3?3:-vk(4?5?5IXA B??=C:j(4?.vdٚ@ٚ@ٚ@?DATAJdKG333?W DdC>9C,DeCC(BDC?z?DATA(KcMJ333?W zC AzC A #< #<`jFzD OBDATATMfK333?W SAVE FILE/Users/ton/Desktop/der/blend/untitled.blendSRtNt{h SR4-Sequence8OR(SXYuШ DATA8OuODATAOuO8O DATAOuPO DATAPuXPODATAXPuPPDATAPuPXPDATAPu0QPDATA0QuxQPDATAxQuQ0QDATAQuRxQDATARuPRQTDATAPRuRRTDATARuRPRDATARuRDATA(SvpSOODATApSvS(S8OPDATASvTpS8OXPDATATvHTSPPDATAHTvTTXPPDATATvTHTOPDATATv UTO0QDATA UvhUTP0QDATAhUvU UPxQDATAUvUhU0QQDATAUv@VUxQQDATA@VvVUxQRDATAVvV@VQRDATAVvWVPPRDATAWv`WV0QPRDATA`WvWWRPRDATAWvW`WXPRDATAWv8XWxQRDATA8XvXWQRDATAXvX8XPRDATAXvXRRDATAYx_8OXPPPp]p^Z\DATAZwZOutputRender>DATAZw[ZRenderRenderF>DATA[w\ZAnimRender>DATA\w[FormatRender>DATAp]dp^333?WDhCvDhCC(BDC?z?DATATp^fp]333?W/9DATA_x`YPOO0Q !  DATA`x0h_XPRRP8=i>o? afDATAalb333?W&~CB~CB ?BFB= ADATAbeca333?W&zCAzCA  A@FB= A DATAc_fb333?W&????????8=i>o?fffAD&@??fffA B? #<CDATATffc333?W&AVE TARGA/t1.blend9DATA0hxn`RPR0QQ8=H>o?UUU 0imDATA0iej333?W*zCAzCA1||1 A@FB= A DATAj_m0i333?W*????????8=H>o?fffA*@??fffA B? #<CDATATmfj333?W*AVE TARGA/t1.blend9DATAnxu0hxQPPRR8=>o?SSSTosDATA(ocp333?W.B̽̌?B̽̌? #< #<`jFzD SQB̽̌?DATAp_so333?W.????????8=>o?fffA@??fffA B? #<CDATATsfp333?W.OAD FILE/9DATAuxnRxQQR8=i>o? vhzDATAvehw333?W1zCAzCA A@FB= A DATAhw_hzv333?W1????????8=i>o?fffAD&@??fffA B? #<CDATAThzfhw333?W1AVE TARGA/t1.blend9SRt{tNSR5-Scripting| hXxШ DATA|u|DATA|u(}| DATA(}up}| DATAp}u}(}DATA}u~p}DATA~uH~}DATAH~u~~DATA~u~H~DATA~u ~DATA u~DATAhv|(}DATAvh|~DATAv@(}H~DATA@v~H~DATAvЀ@}~DATAЀv~~DATAv`ЀH~~DATA`v~~DATAv`}~DATAv8|}DATA8v| DATAvȂ8p} DATAȂv~ DATAvXȂ~ DATAXvp}H~DATAx~|(}H~ !  DATAx؋}~~~z==o?PPxDATAwxTransform PropertiesView3d>DATAxw3D Viewport propertiesView3d>"DATAP_P333?Y.|????????z==o?&A*A?z==o??????*A B??=C ?@?@?@?DATATPfP333?Y.|/9DATA؋xx ~H~p}??Pף L،،DATA،wTransform PropertiesIpo!>DATAxjX 333?Y/|> =DATAXhX333?Y/|CCx??|?DATA(XcX333?Y/|zC̽̌?zC@;; #< #<`jFzD OBzC̽̌?DATAghX333?Y/|CC|||??l|DATA,BO`A@DATA,BOp=ADATAh8 333?Y/|zCCHBC|||?CFC= ADATA8ih 333?Y/|?zDzDBCl||ll|zDzD=HB DATA8 333?Y/|BCBCl|llFzD #<HB DATA_333?Y/|??? ???? A???PA A!O?j?}GCHB? A B? #<CDATATf333?Y/|/9DATAxx؋|}~ OHHxpDATAxwPLink and MaterialsEditing>DATAPw(xMeshEditingF>DATA(wPAnim settingsObject>DATAw؝(DrawObjectF>DATA؝wConstraintsObject>DATAw؝EffectsObjectDATAw`HooksObjectF>DATA`w8Particle InteractionObject>؝DATA8w`SoftbodyObject>؝DATAw袶8OutputRender>DATA袶wRenderRenderF>DATAw袶AnimRender>DATAwpFormatRender>DATApwScriptlinksScript>DATAHdH333?Y0|ChC#DhCC(BDC?z?DATATHfH333?Y0|/9SC\Ш]SCScenetageainȯ`dmDATA(R,d'=A@DATA0X\Z ?o: ??DATA4X1 RenderLayerCAt CACameraamera.001L>=B B@?LA!LASpot ?????AB>??.?A4B?@@@ ???WO ȯQWOWorldg=pb>>===??A@pA A?L=TXd(TXTextDATAzEERFDATAzTXd(TXpdb2blendv10.py? C ؽ ¶ ¶( }.@DATA(? h:\Insas Artikel Rubin\pdb2blendv12.txtDATA h x DATAh XȨDATAht: dDATA@(dDATA@xdDATAи@XydDATAиhdDATA`иxa dt ==DATA` ·(sdtrucDATA`·md 0 DATA8pP÷dnebaDATA8÷ dscatDATAȺ8ķwdCreaDATAȺŷDATAXȺPŷgADATAXŷ 4DATA軶X\ DATA軶0r   DATA0x軶Ʒ`TDATAx0ƷTDATAxǷXOLDATAPǷ^DATAP ȷ4ODATAྲྀPx ؝ DATAྲྀ(ȷP DATA(pྲྀȷ8;DATAp(`ɷxߥ]DATApɷDATAH0ʷdDATAHxʷx{]DATAؿH˷BDATAؿ(P˷DATA(pؿ˷D]DATAp(0̷zXDATAp̷DATAH̷WDATAH@ͷC`DATAHͷXݥ DATAoηp4DATAo8s hPX;n]DATA8s ~ov 2DATA~0y 8s 8x ~DATA0y  ¶~0q<DATA ¶h¶0y (DATAh¶¶ ¶η߫DATA¶¶h¶x>aDATA¶@ö¶ϷFDATA@öö¶ϷEDATAöö@ö(з0EDATAöĶö`зDDATAĶ`Ķöз`DDATA`ĶĶĶзCDATAĶĶ`ĶѷCDATAĶ8ŶĶ@ѷ(CDATA8ŶŶĶxѷBDATAŶŶ8ŶѷXBDATAŶƶŶѷADATAƶXƶŶ ҷADATAXƶƶƶXҷ ADATAƶƶXƶҷ@DATAƶ0ǶƶҷP@DATA0ǶxǶƶӷ?DATAxǶǶ0Ƕ8ӷ?DATAǶȶxǶpӷ?DATAȶPȶǶӷ@>DATAPȶȶȶӷ=DATAȶȶPȶԷݥDATAȶ(ɶȶXԷVDATA(ɶpɶȶԷ`JDATApɶɶ(ɶԷVDATAɶʶpɶ8շp=DATAʶHʶɶpշ=DATAHʶʶʶշDATAʶʶHʶշ9DATAʶ ˶ʶHַ09#DATA ˶h˶ʶַ0<DATAh˶˶ ˶ַDATA˶˶h˶(׷;DATA˶@̶˶`׷%DATA@̶̶˶׷DATA̶̶@̶ط@V DATA̶Ͷ̶HطU DATAͶ`Ͷ̶طU DATA`ͶͶͶط`;DATAͶͶ`Ͷٷ觥%DATAͶ8ζͶXٷDATA8ζζͶٷhU DATAζζ8ζٷ U DATAζ϶ζ(ڷT DATA϶X϶ζhڷ:DATAX϶϶϶ڷx%DATA϶϶X϶ڷؕDATA϶0ж϶H۷P DATA0жxж϶۷ DATAxжж0ж۷ DATAжѶxжܷ :DATAѶPѶж@ܷX%DATAPѶѶѶܷ؎DATAѶѶPѶܷx DATAѶ(ҶѶ(ݷ0 DATA(ҶpҶѶhݷ DATApҶҶ(Ҷݷ9DATAҶӶpҶݷ0%DATAӶHӶҶ8޷sDATAHӶӶӶ޷ DATAӶӶHӶ޷X DATAӶ ԶӶ߷ DATA ԶhԶӶH߷8DATAhԶԶ Զ߷1%DATAԶԶhԶ߷qDATAԶ@նԶ( DATA@ննԶh DATAնն@ն8 DATAնֶնx8DATAֶ`ֶն `+DATA`ֶֶֶ1DATAֶֶ`ֶ DATAֶ8׶ֶ DATA8׶׶ֶP` DATA׶׶8׶@0DATA׶ض׶*DATAضXض׶(1DATAXضضضx DATAضضXض DATAض0ٶضϨ DATA0ٶxٶض8hDATAxٶٶ0ٶpDATAٶڶxٶhDATAڶPڶٶPWDATAPڶڶڶ IDATAڶڶPڶH9DATAڶ(۶ڶ DATA(۶p۶ڶ`UDATAp۶۶(۶HDATA۶ܶp۶ ޥ DATAܶHܶ۶0ܥ DATAHܶܶܶpO DATAܶܶHܶ:DATAܶ ݶܶ<DATA ݶhݶܶPx DATAhݶݶ ݶPO DATAݶݶhݶN DATAݶ@޶ݶ`k DATA@޶޶ݶPHN DATA޶޶@޶ޥ DATA޶߶޶SDATA߶`߶޶DATA`߶߶߶`>DATA߶߶`߶`DATA߶8߶4DATA8߶pKFDATA8K 5DATAL5DATAXHL@GDATAXL86DATAXL6DATA0 MDATA0xpM6DATAx0MX7DATAxNγDATAPPN7DATAPN8DATAPNxDATA((OMDATA(p`O(LDATAp(O|DATApOxDATAH(PpFDATAHpPDATAHP؀+DATA Q0DATA h@QȬDATAh xQLDATAhQuDATA@RN DATA@HR`DATA@RMDATARDATA`RGDATA`8SDATA`S}'DATA8S}'DATA88ThH DATA8xT(DATAT;DATAXUn DATAXXUEDATAXUDATA0V<DATA0xxVDATAx0Vx DATAxVH DATAP0Wp  DATAPpWp DATAPW(DATA(WDATA(p XDATAp(`X`DATApX DATAHXر(DATAHXY0ر(DATAHY(|DATA Z;DATA hPZ.DATAh Z:DATAhZ2vDATA@[prDATA@["DATA@\ DATA\(9DATA`]IDATA`P]в DATA`] DATA8]XDATA8^@DATA8P^hoDATA^h+DATAX^ޥDATAX _DATAXh__DATA0 DATA0xP@nDATAx0[DATAx8ߥ DATAPX+DATAPhDATAPmDATA(ªkDATA(pPª  DATAp(ªذDATApªDATAH êjDATAHXêPy+DATAHêpWDATA @ĪHDATA hĪ&DATAh ĪDATAh ŪDATA@hŪ8eDATA@Ū8&DATA@ƪpDATAHƪ( DATA`ƪ DATA`ƪ DATA`Ǫ8<DATA8XǪDATA8ǪP DATA8Ǫ DATA(Ȫ DATAXhȪந DATAXȪH?DATAXɪ8DATA0hɪ $DATA0xɪ DATAx0ɪ DATAx(ʪDATAPhʪx'DATAPʪX DATAP˪qDATA(8˪DATA(px˪h2DATAp(˪PDATAp˪hdDATAH@̪`v'DATAH̪@t'DATAH̪ DATA 0ͪPq&DATA hͪ DATAh ͪDATAhΪEDATA@ΪqDATA@Ϊe<DATA@8ϪbDATApϪ2 DATA`Ϫ3 DATA`Ϫx DATA`0Ъp3 DATA8pЪ(cDATA8ЪPODATA8Ъ0DATA Ѫ謨DATAXhѪ(sDATAXѪױ(DATAXҪ`ױ(DATA0xҪֱ'DATA0xҪ ˱DATAx0ӪȱDATAxhӪDATAPӪ2vDATAPXԪ8c DATAPԪXDATA(Xժ DATA(pժ0DATAp(ժ3DATA p֪X DATA H X֪ DATAH   ֪5DATA  H ֪GDATA   תH DATA h  Hתȫ DATAh   תODATA  h תDATA @  تDATA@   PتPDATA  @ ت0p#DATA   تDATA `  @٪DATA`   ٪ DATA  ` ٪x/ uDATA 8  xڪ DATA8   ڪئDATA  8 x۪8 DATA  ۪ DATAX ܪ`H DATAX@ܪ DATAXܪɱDATA0ܪDATA0xܪ0ʱDATAx0HݪDATAxݪo$DATAPݪDATAP8ުDATAPުDATA(ު0;uDATA(ppߪxDATAp(ߪ DATApp؂ DATAHDATAHH DATAH8Ӧ DATA x`DATA hصDATAh @o DATAh8ӳDATA@ֱ(DATA@(ֱ(DATA@Hձ'DATA8ԳDATA`8DATA`8(DATA``1vDATA8(DATA8ptDATA8((  DATAhDATAXp  DATAX DATAX0 DATA0pIDATA0xDATAx0o(DATAxP DATAPhIDATAPПDATAP_DATA(o  DATA(pDATAp( K[DATApI DATAH@DATAH8hDATAHxDATA 0سDATA hx DATAh (DATAhhDATA@DATA@ȓDATA@(DATAhxxDATA`Xձ.DATA`x DATA`HyDATA8DATA8DATA8n+DATA h(rWDATA X DATAX   _DATA  X H`DATA 0! `[DATA0!x! `[DATAx!!0!(aXDATA!"x!paPYDATA"P"!aJ DATAP"""aY DATA""P"8bWDATA"(#"bpJ DATA(#p#"bJ DATAp##(#c K DATA#$p#Hc DATA$H$#c ?DATAH$$$cTDATA$$H$HdDATA$ %$d2DATA %h%$dUDATAh%% %e0DATA%%h%He`RDATA%@&%eR DATA@&&%eRDATA&&@&ePDATA&'&8fXPDATA'`'&fH`DATA`'''fm#DATA''`'0gm$DATA'8('gDATA8(('g`DATA((8(hƦ_DATA()(hٳDATA)X)(h]RDATAX)))xi` DATA))X)i2DATA)0*)i8ٳDATA0*x*)8j^DATAx**0*xj DATA*+x*jX DATA+P+*jDATAP+++0kxDATA++P+pkDATA+(,+kDATA(,p,+kDATAp,,(,0lDATA,-p,plԱ.DATA-H-,lX DATAH---mp DATA--H-Pm DATA- .-m DATA .h.-m8 DATAh.. .nx9DATA..h.xnhWDATA.@/.oDATA@//.HoԳDATA//@/o`DATA/0/oDATA0`0/(pԱ,DATA`000pDATA00`0pl$DATA08100qӳDATA8110xq DATA1181qh DATA121rxK DATA2X21PrK DATAX222rDATA22X2rijDATA20320sL DATA03x32ps@M DATAx3303sM DATA34x3sXij DATA4P430t(,?DATAP444tHDATA44P4tγDATA4(54@u@DATA(5p54xuDATAp55(5u؊DATA56p5uXl'DATA6H65HvM DATAH666v DATA66H6vHNDATA6 76wNDATA 7h768wFDATAh77 7xwGDATA77h7wk'DATA7@87 x0k'DATA@887xx`G DATA88@8xhj&DATA898yHγDATA9`98XyGDATA`999yijEDATA99`9zDATA98:9Pz<DATA8::9zDATA::8:zNDATA:;:0{PO DATA;X;:p{0 DATAX;;;{O DATA;;X;{xDATA;0<;(|DATA0<x<;`|SDATAx<<0<|(TDATA<=x<|pTDATA=P=<8} Ա(DATAP===}ӱ(DATA==P=}Pӱ'DATA=(>=P~x9DATA(>p>=~9DATAp>>(>~ͳDATA>?p>00vDATA?H?>(:DATAH???(8 DATA??H?H DATA?(P? HͳDATA(PpP?h8CDATApPP(P  DATAPQpP  DATAQHQP CDATAHQQQXCDATAQQHQ@DDATAQ RQȂ  DATA RhRQ2DATAhRR R@@ DATARRhR DATAR@SRЃMDATA@SSR j#DATASS@Sx ųDATASTSDATAT`TS@DATA`TTTPuDATATT`T(DATAT8UT@NDATA8UUTv DATAUU8U8кDATAUVUDDATAVXVUw DATAXVVVPwDATAVVXV0wDATAV0WVppDATA0WxWVȞDATAxWW0W DATAWXxW`ಳDATAXPXW8DATAPXXXpDATAXXPX8uDATAX(YXDATA(YpYX(DATApYY(Yw DATAYZpY DATAZHZYhDDATAHZZZx DATAZZHZȄDATAZ [ZDATA [h[Z`DATAh[[ [DATA[[h[؍تDATA[@\[ DATA@\\[PXDATA\\@\DATA\]\ЎpDATA]`]\qDATA`]]]P`qDATA]]`]qDATA]8^]Џұ.DATA8^^]0 DATA^^8^pHDATA^_^DATA_X_^03DATAX___0DATA__X_DATA_0`_БDATA0`x`_ DATAx``0``ұ,DATA`ax`pDATAaPa`i$DATAPaaahЖDATAaaPa DATAa(baDATA(bpba(DATApbb(bhXDATAbcpb@DATAcHcbDATAHcccX(DATAccHcEDATAc dcؕ DATA dhdc8DATAhdd dPDATAddhdEDATAd@edЖ` DATA@eedpDATAee@eHDATAefeDATAf`feؗO DATA`fff(f$DATAff`fXDATAf8gfȘhDATA8ggfDATAgg8gXuDATAghgDATAhXhgHDATAXhhhH DATAhhXh@DATAh0ihPFDATA0ixih DATAxii0ih3DATAijxi8DATAjPjix DATAPjjjhDATAjjPjұ(DATAj(kjpѱ(DATA(kpkjНHѱ'DATApkk(k(ЮDATAklpkp(DATAlHlk@DATAHlllvDATAllHlp$DATAl ml$DATA mhml DATAhmm m0}DATAmmhm8FDATAm@nmp% DATA@nnm% DATAnn@nGDATAnon(xDATAo`onpe(DATA`oooТ|DATAoo`oXGDATAo8poPDATA8ppo_DATApp8p( DATApqph迳DATAqXqp[DATAXqqq0H DATAqqXqp({DATAq0rqpDATA0rxrqDATAxrr0r0DATArsxrh( DATAsPsr DATAPsss覸DATAssPs(XDATAs(tshDATA(tptsDATAptt(t觸0DATAtupt(б.DATAuHutʨ DATAHuuuȨʨDATAuuHu8˨DATAu vuPpDATA vhvu˨DATAhvv v˨DATAvvhvH_DATAv@wv̨DATA@wwv誸#DATAww@w@HzDATAwxw8DATAx`xwثd'DATA`xxxxFREEDATAxy`x̸p 2DATAyyxP^DATAyzyϱ'DATAzXzypDATAXzzz8_"DATAzzXz .]DATAz0{zDATA0{x{z016]DATAx{{0{xЊ.DATA{|x{د416]DATA|P|{@v16]DATAP|||*DATA|(}P|d@(DATA(}p}|XR DATAp}}(}౸xFREEDATA}~p}(Z!DATA~H~}ؐDATAH~~~Ȳ0Z!DATA~~H~  DATA~ ~hX!DATA h~q DATAh ³DATAh@>DATA@?0))DATA~DATA@DATA@(³ DATAЉ@h@XDATAЉ?DATA`Љ(XIDATA`ȤMDATA` DATA88@@DATA8DATAȋ8WDATAȋ DATAXȋ`PDATAX8DATA茷X脳DATA茷p¸0¸X? qqEEDATAp¸0茷¸@]DATA0p¸؞@ϱ(]DATA00ó:3)DATAHøXα!DATAHø8X0DATA8xHø+%DATAx8` +6]DATApxYpαFREEDATApPVDATApBH<DATAH8Ƹ DATAHĸ?DATAؐH-DATAؐ ǸhDATA hؐȸ? DATAh PȸHDATAhȸ8DATA@ȸDATA@(ɸDATAВ@xɸWDATAВʸ0<DATA`ВPʸ!DATA`ʸ DATA`ʸhDATAȔx\8hDATAȔxƸ(EDATA8ثȔx̸!DATA8ث|H`2DATA|w8ثϾDATAw | "8_"DATA Ow谸ȅ.EEDATAO HM_DATAO)_MEEDATA8@].EEDATA8 h4DATA 8&DATA   X*DATA (hθ(FREEDATA(p ϸDATAp(ϸ DATAXp(и DATAX B X* DATA B X XDATA͸ B (YU"DATA͸o ͸wDATAo `͸͸T"DATA`͸o PwDATA`͸xwͳ"DATA`hjDATA`ԸӸhDATAԸBN`ANFREEDATABNCNԸ(a!DATACNBNw^!DATACN蘱"DATA8`ԸXDATA8Ըȱ(DATAȝ8Pո4DATAȝոMxDATAXȝXb0hxDATAXHָ DATA螷Xָ(FREEDATA螷0ָx DATA0x螷׸XuxDATAx0`׸3DATAx׸6 DATAP׸xCxDATAPظ84DATA࠷Pظ/ CDATA࠷(hٸ6DATA(p࠷ٸRDDATAp(Hڸ7DATApڸʱ3DATAH۸VDATAH۸fVDATAآH(ܸ`DATAآ ܸHkDATA hآ`ݸ袳pDATAh ޸($DATAh`޸\%DATA@޸3DATA@޸pDATAФ@8߸0a'DATAФ߸(f{DATA`Ф߸DATA`RsxDATA`ўDATA8DATA8PxDATAȦ8!9DATAȦ)DATAXȦH4DATAXHDATA觷X(HDATA觷08pJDATA0x觷dDATAx0|DATAx DATAPP DATAP DATA੷P DATA੷(hDATA(p੷PDATAp( DATAp@DATAHa!DATAHh~DATAثHDATAث DATA hث@DATAh  DATAh0DATA@p DATA@PDATAЭ@DATAЭ8 DATA`Э DATA`P  DATA` DATA8DATA8`DATAȯ8`HDATAȯX  DATAXȯ DATAX(DATA谷Xh(DATA谷0(DATA0x谷pDATAx0( DATAxhDATAPxDATAPDATAಷPHxDATAಷ(H DATA(pಷ0 DATAp(xDATApPDATAH DATAHDATAشH DATAش P¨DATA hشDATAh DATAh(è DATA@hPèDATA@eDATAж@`DZ(DATAжè DATA`жèDATA`H,DATA`xб*DATA8h(Ĩ DATA8iDATAȸ8pĨDATAȸ(xxDATAXȸ xDATAX(DATA蹷Xp3DATA蹷0 6DATA0x蹷NDATAx0XPPDATAxŨDATAP@~DATAP8HDATA໷PDATA໷(8yDATA(p໷0nDATAp(XDATAph&xDATAHDATAH( DATAؽHh0^DATAؽp˸DATA BDATAXDATAh####################################################################################################DATAh(# #DATAh# ####### ####### ####### ##### ####### #### ####### ### ### ####### #DATAhX# ## ## ## ## ## ## ## ## ## ## ## ## ## ### ## ## ## #f sDATAh# ## ## ## ## ## ## ## ## ## ## ## #### ## ## ## #t(eDATAh# ###### ## ## ###### ### ###### ## ##### ## ## ## ## ## #ortDATAh ·# ## ## ## ## ## ## ## ## ## ## ## #### ## ## # stDATAh·# ## ## ## ## ## ## ## ## ## ## ## ## ## ## ### ## ## #= 1DATAhp# #### ####### ####### ####### ####### ####### ####### ### ### ####### V1.2 #DATAh÷# # suDATAhķ####################################################################################################BleDATAŷ#DATADPŷ# pdb Molecule 2 Blender 3d Model Converter by Malte Reimold 2006atDATAŷ#d DATA # Modes: kDATA r # 1. BallDATAXƷ# creates a ball model with overlapping spheres when using the standard parametersDATAXƷ# the ball sizes can be adjusted by choosing a constant scaling factor (atom scale)DATAPǷ# as well as a constant summand (atom sum) that is added to the ball size. 5DATA`Ƿ# With atom scale = 1 and atom sum = 0 one will get the covalent radius for any atom defined.DATAP ȷ# With atom scale = 0 and atom sum > 0 the model will have uniform ball sizes.DATA x # 2. SticksDATAȷ# creates a stick model. %DATA<ȷ# The stick diameter can be chosen here (Stick Thickness).DATA``ɷ# Until now the regular stick mode (as well as stick and ball) does only work for less than DATAɷ# 10000 atoms.DATA0ʷ# 3. Sticks and BallsDATA`xʷ# A combination of ball and stick mode. When using standard parameters the atoms are scaled DATA˷# down a little bit.DATAP˷# 4. DNA Backbone FollowDATA`˷# When turning on this option a stick model will be formed connecting the phosphorous atoms DATA\0̷# of oligonucleotide backbones. This works even for systems with more than 10000 atoms.DATA̷#DATA̷# Model refinement:DATAd@ͷ# The refinement of spheres and sticks can be chosen. With higher values the model becomes more l sDATAͷ# detailed.EEDATAη#DATA`hP# The pdb 2 blender converter is still experimental. Please report problems and errors to me.DATAv #DATA8x # Version HistoryDATA@# v1.2 Fixed some problems concerning pdb-file conventions. DATA # v1.1 Fixed some minor bugs.EEDATAη# DATAd##############################################################################(c)2006MalteReimold#DATAϷDATAϷDATA(зDATA`зDATAзDATAзDATAѷDATA@ѷDATAxѷDATAѷDATAѷDATA ҷDATAXҷDATAҷDATAҷDATAӷDATA8ӷDATApӷDATAӷDATAӷDATAԷimport BlenderDATAXԷfrom Blender import *DATAԷfrom Blender.Draw import *DATAԷfrom math import *DATA8շDATApշDATA շeditmode = Window.EditMode()DATA շif editmode: Window.EditMode(0)DATA$Hַscene = Blender.Scene.getCurrent ()DATAַDATA ַmatlist = str(Material.Get ())DATA(׷DATA(`׷if not ('[Material "C"]' in matlist):DATA׷ mat = Material.New('C')DATAط mat.R = 0.8DATAHط mat.G = 0.8DATAط mat.B = 0.8DATAطDATA(ٷif not ('[Material "H"]' in matlist):DATAXٷ mat = Material.New('H')DATAٷ mat.R = 0.6DATAٷ mat.G = 0.6DATA(ڷ mat.B = 0.6DATAhڷ DATA(ڷif not ('[Material "B"]' in matlist):DATAڷ mat = Material.New('B')DATAH۷ mat.R = 0.8DATA۷ mat.G = 0.6DATA۷ mat.B = 0.1DATAܷ DATA(@ܷif not ('[Material "P"]' in matlist):DATAܷ mat = Material.New('P')DATAܷ mat.R = 0.9DATA(ݷ mat.G = 0.95DATAhݷ mat.B = 0.1DATAݷ DATA(ݷif not ('[Material "N"]' in matlist):DATA8޷ mat = Material.New('N')DATA޷ mat.R = 0.2DATA޷ mat.G = 0.1DATA߷ mat.B = 0.9DATAH߷ DATA(߷if not ('[Material "O"]' in matlist):DATA߷ mat = Material.New('O')DATA( mat.R = 1.0DATAh mat.G = 0.2DATA mat.B = 0.1DATA DATA, if not ('[Material "anyatom"]' in matlist):DATA  mat = Material.New('anyatom')DATA mat.R = 0.8DATA mat.G = 1.0DATAP mat.B = 1.0DATA DATA,if not ('[Material "sticks"]' in matlist):DATA ( mat = Material.New('sticks')DATAx mat.R = 0.8DATA mat.G = 0.8DATA mat.B = 0.8REEDATA8DATApDATA def ball(name, type, x, y, z):DATAX global structmode, scatom, sumatom, refineballs, refinesticks, balls, sticks, scsticksDATA # Objekt erstellenDATA  ob = Object.New('Mesh', name)DATA # Mesh erstellenDATA` me = Mesh.New(name)DATA # Ball erstellenDATA a = 0.0000 DATA 0 b = 0.0000DATA p vcount = 0DATA  da = 360.00 / refineballs.valDATA  db = 360.00 / refineballs.valDATA P #da = 30.0DATA  #db = 30.0DATA  dx = 0.0DATA  dy = 0.0DATA P dz = 0.0DATA pi = asin(1)DATA if type == "C": DATA radius = 0.772DATA` mat = Material.Get('C')DATA elif type == "H": DATA radius = 0.373DATApK mat = Material.Get('H')DATAK elif type == "B": DATAL radius = 0.83DATAHL mat = Material.Get('B')DATAL elif type == "N": DATAL radius = 0.71DATA M mat = Material.Get('N')DATApM elif type == "O": DATAM radius = 0.604DATAN mat = Material.Get('O')DATAPN elif type == "P": DATAN radius = 0.93DATAN mat = Material.Get('P')DATA(O else: DATA`O radius = 0.8DATA O mat = Material.Get('anyatom')DATAO DATA(P me.materials = [mat]DATApP DATA,P radius = radius * scatom.val + sumatom.valDATAQ DATA@Q DATAxQ # erster PunktDATA Q me.verts.extend(0, 0, radius)DATA R a = a + daDATAHR DATA R # KappeDATAR DATAR while b < 360:DATA8S dz = radius*cos(a/90*pi)DATA(S dx = radius*sin(a/90*pi)*sin(b/90*pi)DATA(S dy = radius*sin(a/90*pi)*cos(b/90*pi)DATA8T b = b + dbDATA xT me.verts.extend(dx, dy, dz)DATAT vcount = vcount + 1DATAU if vcount > 1:DATAHXU me.faces.extend([me.verts[0],me.verts[vcount],me.verts[vcount-1]])DATAU DATA@V me.faces.extend([me.verts[0],me.verts[1],me.verts[vcount]])DATAxV DATA V b = 0.00DATA V kcount = 0DATA0W vvcount = 0DATA pW a = a + daDATAW DATAW DATA X while a < 180:DATA`X while b < 360:DATAX dz = radius*cos(a/90*pi)DATA,X dx = radius*sin(a/90*pi)*sin(b/90*pi)DATA,XY dy = radius*sin(a/90*pi)*cos(b/90*pi)DATA Y me.verts.extend(dx, dy, dz)DATAZ vcount = vcount + 1DATAPZ vvcount = vvcount + 1DATAZ if vvcount > 1:DATAxZ me.faces.extend([me.verts[vcount],me.verts[vcount-1],me.verts[vcount-int(360/db)-1],me.verts[vcount-int(360/db)]])DATA[ if b == 360-db:DATA[ me.faces.extend([me.verts[vcount],me.verts[vcount-int(360/db)],me.verts[vcount-2*int(360/db)+1],me.verts[vcount-int(360/db)+1]])DATA\ b = b + dbDATA\ kcount = kcount + 1DATA] b = 0DATAP] vvcount = 0DATA] a = a + daDATA] DATA^ # letzter PunktDATA P^ me.verts.extend(0, 0, -radius)DATA^ vcount = vcount + 1DATA^ b = 0DATA _ while b < 360-db:DATA`h_ me.faces.extend([me.verts[vcount],me.verts[vcount-int(b/db)-2],me.verts[vcount-int(b/db)-1]])DATA b = b + dbDATAP DATA\ me.faces.extend([me.verts[vcount],me.verts[vcount-1],me.verts[vcount-int((360-db)/db)-1]])DATA  eins = 1DATAX for face in me.faces:DATA face.smooth=1DATA DATAªDATAPª ob.link (me)DATAª ob.loc = (x,y,z)DATAª scene.link (ob)DATA ê DATA,Xêdef stick1(x1, y1, z1, x2, y2, z2, radius):DATAXê global structmode, scatom, sumatom, refineballs, refinesticks, balls, sticks, scsticksDATA@Ī # Objekt erstellenDATAĪ ob = Object.New('Mesh')DATAĪ # Mesh erstellenDATA Ū me = Mesh.New()DATA hŪ mat = Material.Get('sticks')DATAŪ me.materials = [mat]DATAƪ # Stick erstellenDATAHƪ a = 0.0000 DATA ƪ b = 0.0000DATA ƪ vcount = 0DATA Ǫ da = 360.00 / refinesticks.valDATA XǪ db = 360.00 / refinesticks.valDATA Ǫ dx = 0.0DATA Ǫ dy = 0.0DATA (Ȫ dz = 0.0DATAhȪ pi = asin(1)DATA@Ȫ laenge = sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2)+(z1-z2)*(z1-z2))DATA ɪ wsz = atan2((y1-y2), (x1-x2))DATAhɪ wz = acos((z1-z2)/laenge)DATAɪ DATAɪ DATA(ʪ # erster PunktDATA(hʪ me.verts.extend(0, 0, laenge/2+radius)DATA ʪ a = a + daDATA˪ DATA 8˪ # KappeDATAx˪ DATA˪ while b < 360:DATA˪ dz = radius*cos(a/90*pi)DATA(@̪ dx = radius*sin(a/90*pi)*sin(b/90*pi)DATA(̪ dy = radius*sin(a/90*pi)*cos(b/90*pi)DATA̪ b = b + dbDATA(0ͪ me.verts.extend(dx, dy, dz+laenge/2)DATAͪ vcount = vcount + 1DATAͪ if vcount > 1:DATAHΪ me.faces.extend([me.verts[0],me.verts[vcount],me.verts[vcount-1]])DATAΪ DATA@Ϊ me.faces.extend([me.verts[0],me.verts[1],me.verts[vcount]])DATA8Ϫ DATA pϪ b = 0.00DATA Ϫ kcount = 0DATAϪ vvcount = 0DATA 0Ъ a = a + daDATApЪ DATAЪ DATAЪ while a < 90:DATA Ѫ while b < 360:DATAhѪ dz = radius*cos(a/90*pi)DATA,Ѫ dx = radius*sin(a/90*pi)*sin(b/90*pi)DATA,Ҫ dy = radius*sin(a/90*pi)*cos(b/90*pi)DATA(xҪ me.verts.extend(dx, dy, dz+laenge/2)DATAҪ vcount = vcount + 1DATAӪ vvcount = vvcount + 1DATAhӪ if vvcount > 1:DATAxӪ me.faces.extend([me.verts[vcount],me.verts[vcount-1],me.verts[vcount-int(360/db)-1],me.verts[vcount-int(360/db)]])DATAXԪ if b == 360-db:DATAԪ me.faces.extend([me.verts[vcount],me.verts[vcount-int(360/db)],me.verts[vcount-2*int(360/db)+1],me.verts[vcount-int(360/db)+1]])DATAXժ b = b + dbDATAժ kcount = kcount + 1DATAժ b = 0DATA֪ vvcount = 0DATAX֪ a = a + daDATA֪ DATA֪ a = 90DATA ת b = 0.00DATAHת vvcount = 0DATAת DATAת while b < 360:DATAت dx = radius*sin(b/90*pi)DATAPت dy = radius*cos(b/90*pi)DATA$ت me.verts.extend(dx, dy, laenge/2)DATAت vcount = vcount + 1DATA@٪ vvcount = vvcount + 1DATA٪ if vvcount > 1:DATAx٪ me.faces.extend([me.verts[vcount],me.verts[vcount-1],me.verts[vcount-int(360/db)-1],me.verts[vcount-int(360/db)]])DATAxڪ if b == 360-db:DATAڪ me.faces.extend([me.verts[vcount],me.verts[vcount-int(360/db)],me.verts[vcount-2*int(360/db)+1],me.verts[vcount-int(360/db)+1]])DATAx۪ b = b + dbDATA۪ kcount = kcount + 1DATA ܪ b = 0.00DATA@ܪ vvcount = 0 DATAܪ DATAܪ while b < 360:DATAܪ dx = radius*sin(b/90*pi)DATAHݪ dy = radius*cos(b/90*pi)DATA(ݪ me.verts.extend(dx, dy, -laenge/2)DATAݪ vcount = vcount + 1DATA8ު vvcount = vvcount + 1DATAު if vvcount > 1:DATAxު me.faces.extend([me.verts[vcount],me.verts[vcount-1],me.verts[vcount-int(360/db)-1],me.verts[vcount-int(360/db)]])DATApߪ if b == 360-db:DATAߪ me.faces.extend([me.verts[vcount],me.verts[vcount-int(360/db)],me.verts[vcount-2*int(360/db)+1],me.verts[vcount-int(360/db)+1]])DATAp b = b + dbDATA kcount = kcount + 1DATA  b = 0.00DATA8 vvcount = 0 DATAx DATA while a < 180:DATA while b < 360:DATA8 dz = radius*cos(a/90*pi)DATA, dx = radius*sin(a/90*pi)*sin(b/90*pi)DATA, dy = radius*sin(a/90*pi)*cos(b/90*pi)DATA(H me.verts.extend(dx, dy, dz-laenge/2)DATA vcount = vcount + 1DATA vvcount = vvcount + 1DATA8 if vvcount > 1:DATAx me.faces.extend([me.verts[vcount],me.verts[vcount-1],me.verts[vcount-int(360/db)-1],me.verts[vcount-int(360/db)]])DATA( if b == 360-db:DATAp me.faces.extend([me.verts[vcount],me.verts[vcount-int(360/db)],me.verts[vcount-2*int(360/db)+1],me.verts[vcount-int(360/db)+1]])DATA( b = b + dbDATAh kcount = kcount + 1DATA  b = 0.00DATA vvcount = 0DATA0 a = a + daDATAp DATA # letzter PunktDATA, me.verts.extend(0, 0, -laenge/2-radius)DATAP vcount = vcount + 1DATA b = 0DATA while b < 360-db:DATA` me.faces.extend([me.verts[vcount],me.verts[vcount-int(b/db)-2],me.verts[vcount-int(b/db)-1]])DATA b = b + dbDATA DATA\  me.faces.extend([me.verts[vcount],me.verts[vcount-1],me.verts[vcount-int((360-db)/db)-1]])DATA  eins = 1DATA for face in me.faces:DATA8 face.smooth=1DATAx DATA DATA ob.link (me)DATA( x1 = float(x1)DATAh y1 = float(y1)DATA z1 = float(z1)DATA x2 = float(x2)DATA( y2 = float(y2)DATAh z2 = float(z2)DATA0 ob.loc = (float(x1+x2)/2,(y1+y2)/2,(z1+z2)/2)DATA ob.RotY = wzDATAH ob.RotZ = wszDATA scene.link (ob)DATADATA,def stick2(x1, y1, z1, x2, y2, z2, radius):DATAXh global structmode, scatom, sumatom, refineballs, refinesticks, balls, sticks, scsticksDATA # Objekt erstellenDATA_ ob = Object.New('Mesh')DATAH` # Mesh erstellenDATA` me = Mesh.New()DATA ` mat = Material.Get('sticks')DATA(a me.materials = [mat]DATApa # Stick erstellenDATA a b = 0.0000DATAa vcount = -1DATA 8b db = 360.00 / refinesticks.valDATA b dx = 0.0DATA b dy = 0.0DATA c dz = 0.0DATAHc pi = asin(1)DATA@c laenge = sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2)+(z1-z2)*(z1-z2))DATA c wsz = atan2((y1-y2), (x1-x2))DATAHd wz = acos((z1-z2)/laenge)DATAd DATAd DATAe # erster PunktDATAHe DATA e # Kappe DATAe DATAe while b < 360:DATA8f dx = radius*sin(b/90*pi)DATAf dy = radius*cos(b/90*pi)DATA$f me.verts.extend(dx, dy, laenge/2)DATA(0g me.verts.extend(dx, dy, -laenge/2)DATAg vcount = vcount + 2DATAg if vcount > 2:DATA`h me.faces.extend([me.verts[vcount],me.verts[vcount-1],me.verts[vcount-3],me.verts[vcount-2]])DATAh if b == 360-db:DATATh me.faces.extend([me.verts[0],me.verts[vcount-1],me.verts[vcount],me.verts[1]])DATAxi b = b + dbDATAi DATAi for face in me.faces:DATA8j face.smooth=1DATAxj DATAj ob.link (me)DATAj x1 = float(x1)DATA0k y1 = float(y1)DATApk z1 = float(z1)DATAk x2 = float(x2)DATAk y2 = float(y2)DATA0l z2 = float(z2)DATA0pl ob.loc = (float(x1+x2)/2,(y1+y2)/2,(z1+z2)/2)DATAl ob.RotY = wzDATAm ob.RotZ = wszDATAPm scene.link (ob)DATAmDATAmDATA<ndef stick3(x1, y1, z1, type1, x2, y2, z2, type2, radius):DATAXxn global structmode, scatom, sumatom, refineballs, refinesticks, balls, sticks, scsticksDATAo # Objekt erstellenDATAHo ob = Object.New('Mesh')DATAo # Mesh erstellenDATAo me = Mesh.New()DATA0(p if type1 in ['C', 'H', 'B', 'N', 'O', 'P']:DATAp mat = Material.Get(type1)DATA(p else: mat = Material.Get('anyatom')DATA0q me.materials = [mat]DATA$xq # Stick erste Haelfte erstellenDATAq a = 0.0000 DATA r b = 0.0000DATA Pr vcount = 0DATA r da = 360.00 / refinesticks.valDATA r db = 360.00 / refinesticks.valDATA 0s dx = 0.0DATA ps dy = 0.0DATA s dz = 0.0DATAs pi = asin(1)DATA@0t laenge = sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2)+(z1-z2)*(z1-z2))DATA t wsz = atan2((y1-y2), (x1-x2))DATAt wz = acos((z1-z2)/laenge)DATA@u DATAxu DATAu # erster PunktDATA(u me.verts.extend(0, 0, laenge/2+radius)DATA Hv a = a + daDATAv DATA v # KappeDATAw DATA8w while b < 360:DATAxw dz = radius*cos(a/90*pi)DATA(w dx = radius*sin(a/90*pi)*sin(b/90*pi)DATA( x dy = radius*sin(a/90*pi)*cos(b/90*pi)DATAxx b = b + dbDATA(x me.verts.extend(dx, dy, dz+laenge/2)DATAy vcount = vcount + 1DATAXy if vcount > 1:DATAHy me.faces.extend([me.verts[0],me.verts[vcount],me.verts[vcount-1]])DATAz DATA@Pz me.faces.extend([me.verts[0],me.verts[1],me.verts[vcount]])DATAz DATAz b = 0DATA 0{ kcount = 0DATAp{ vvcount = 0DATA { a = a + daDATA{ DATA(| DATA`| while a < 90:DATA| while b < 360:DATA| dz = radius*cos(a/90*pi)DATA,8} dx = radius*sin(a/90*pi)*sin(b/90*pi)DATA,} dy = radius*sin(a/90*pi)*cos(b/90*pi)DATA(} me.verts.extend(dx, dy, dz+laenge/2)DATAP~ vcount = vcount + 1DATA~ vvcount = vvcount + 1DATA~ if vvcount > 1:DATAx0 me.faces.extend([me.verts[vcount],me.verts[vcount-1],me.verts[vcount-int(360/db)-1],me.verts[vcount-int(360/db)]])DATA if b == 360-db:DATA( me.faces.extend([me.verts[vcount],me.verts[vcount-int(360/db)],me.verts[vcount-2*int(360/db)+1],me.verts[vcount-int(360/db)+1]])DATA b = b + dbDATA  kcount = kcount + 1DATAh b = 0DATA vvcount = 0DATA a = a + daDATA  DATAX a = 90DATA b = 0DATAȂ vvcount = 0DATA DATA@ while b < 360:DATA dx = radius*sin(b/90*pi)DATAЃ dy = radius*cos(b/90*pi)DATA$  me.verts.extend(dx, dy, laenge/2)DATAx vcount = vcount + 1DATA vvcount = vvcount + 1DATA if vvcount > 1:DATAxP me.faces.extend([me.verts[vcount],me.verts[vcount-1],me.verts[vcount-int(360/db)-1],me.verts[vcount-int(360/db)]])DATA if b == 360-db:DATA@ me.faces.extend([me.verts[vcount],me.verts[vcount-int(360/db)],me.verts[vcount-2*int(360/db)+1],me.verts[vcount-int(360/db)+1]])DATA b = b + dbDATA8 kcount = kcount + 1DATA b = 0DATA vvcount = 0 DATA DATA0 while b < 360:DATAp dx = radius*sin(b/90*pi)DATA dy = radius*cos(b/90*pi)DATA  me.verts.extend(dx, dy, 0)DATA` vcount = vcount + 1DATA vvcount = vvcount + 1DATA if vvcount > 1:DATAx8 me.faces.extend([me.verts[vcount],me.verts[vcount-1],me.verts[vcount-int(360/db)-1],me.verts[vcount-int(360/db)]])DATA if b == 360-db:DATA( me.faces.extend([me.verts[vcount],me.verts[vcount-int(360/db)],me.verts[vcount-2*int(360/db)+1],me.verts[vcount-int(360/db)+1]])DATA b = b + dbDATA  kcount = kcount + 1DATAh b = 0DATA vvcount = 0 DATA DATA for face in me.faces:DATA` face.smooth=1DATA DATA؍ DATA ob.link (me)DATAP x1 = float(x1)DATA y1 = float(y1)DATAЎ z1 = float(z1)DATA x2 = float(x2)DATAP y2 = float(y2)DATA z2 = float(z2)DATA0Џ ob.loc = (float(x1+x2)/2,(y1+y2)/2,(z1+z2)/2)DATA0 ob.RotY = wzDATAp ob.RotZ = wszDATA scene.link (ob)DATA DATA0 #zweite Haelfte vom StickDATA ob = Object.New('Mesh')DATAБ # Mesh erstellenDATA me = Mesh.New()DATA0` if type2 in ['C', 'H', 'B', 'N', 'O', 'P']:DATA mat = Material.Get(type2)DATA( else: mat = Material.Get('anyatom')DATAh me.materials = [mat]DATA vcount = -1DATA DATA( while b < 360:DATAh dx = radius*sin(b/90*pi)DATA dy = radius*cos(b/90*pi)DATA  me.verts.extend(dx, dy, 0)DATAX vcount = vcount + 1DATA DATAؕ b = b + dbDATA DATAP kcount = kcount + 1DATA b = 0DATAЖ vvcount = 0 DATA DATAH while b < 360:DATA dx = radius*sin(b/90*pi)DATAؗ dy = radius*cos(b/90*pi)DATA(( me.verts.extend(dx, dy, -laenge/2)DATA vcount = vcount + 1DATAȘ vvcount = vvcount + 1DATA if vvcount > 1:DATAxX me.faces.extend([me.verts[vcount],me.verts[vcount-1],me.verts[vcount-int(360/db)-1],me.verts[vcount-int(360/db)]])DATA if b == 360-db:DATAH me.faces.extend([me.verts[vcount],me.verts[vcount-int(360/db)],me.verts[vcount-2*int(360/db)+1],me.verts[vcount-int(360/db)+1]])DATA b = b + dbDATA@ kcount = kcount + 1DATA b = 0DATA vvcount = 0 DATA DATA8 while a < 180:DATAx while b < 360:DATA dz = radius*cos(a/90*pi)DATA, dx = radius*sin(a/90*pi)*sin(b/90*pi)DATA,p dy = radius*sin(a/90*pi)*cos(b/90*pi)DATA(Н me.verts.extend(dx, dy, dz-laenge/2)DATA( vcount = vcount + 1DATAp vvcount = vvcount + 1DATA if vvcount > 1:DATAx me.faces.extend([me.verts[vcount],me.verts[vcount-1],me.verts[vcount-int(360/db)-1],me.verts[vcount-int(360/db)]])DATA if b == 360-db:DATA me.faces.extend([me.verts[vcount],me.verts[vcount-int(360/db)],me.verts[vcount-2*int(360/db)+1],me.verts[vcount-int(360/db)+1]])DATA b = b + dbDATA kcount = kcount + 1DATA8 b = 0DATAp vvcount = 0DATA a = a + daDATA DATA( # letzter PunktDATA,p me.verts.extend(0, 0, -laenge/2-radius)DATAТ vcount = vcount + 1DATA b = 0DATAP while b < 360-db:DATA` me.faces.extend([me.verts[vcount],me.verts[vcount-int(b/db)-2],me.verts[vcount-int(b/db)-1]])DATA( b = b + dbDATAh DATA\ me.faces.extend([me.verts[vcount],me.verts[vcount-1],me.verts[vcount-int((360-db)/db)-1]])DATA 0 eins = 1DATAp for face in me.faces:DATA face.smooth=1DATA DATA0 DATAh ob.link (me)DATA x1 = float(x1)DATA覸 y1 = float(y1)DATA( z1 = float(z1)DATAh x2 = float(x2)DATA y2 = float(y2)DATA觸 z2 = float(z2)DATA0( ob.loc = (float(x1+x2)/2,(y1+y2)/2,(z1+z2)/2)DATA ob.RotY = wzDATAȨ ob.RotZ = wszDATA scene.link (ob)DATAPDATADATAdef import_pdb(path):DATA` global structmode, scatom, sumatom, refineballs, refinesticks, scsticks, balls, sticks, hydrosDATA  Blender.Window.WaitCursor(1)DATA$誸 x, y, z, atom = [0], [0], [0], [0]DATA@ file = open(path, 'r')DATA  for line in file.readlines():DATA(ث if len(line) == 0 or line == ('END'):DATA passDATA4̸ elif line[:6] == 'HETATM' or line[:4] == 'ATOM':lDATAP name = line[7:11]DATA( while name[:1]==' ': name = name[1:]DATA if len(line) > 76: DATA$8 atom0 = line[77:(len(line)-1)]DATA0 while atom0[-1] == ' ': atom0 = atom0[:-1]EDATA  else:DATA0 atom0 = line[13:16]DATA0x while atom0[-1] == ' ': atom0 = atom0[:-1]DATA8د esym = [' ','1','2','3','4','5','6','7','8','9']REEDATA@ for a in esym:DATA, if atom0[-1] == a: atom0 = atom0[:-1]DATA,d if atom0[0] == a: atom0 = atom0[1:]DATA atom.append (atom0)DATA౸ x0 = line[31:38]DATA$( while x0[:1]==' ': x0 = x0[1:]DATA y0 = line[39:46]DATA$Ȳ while y0[:1]==' ': y0 = y0[1:]enDATA  z0 = line[47:54]DATA$h while z0[:1]==' ': z0 = z0[1:]a[DATA DATA x.append (float(x0))DATA@ y.append (float(y0))DATA@ z.append (float(z0))DATA DATA DATA( if balls:EEDATA h if atom[int(name)] == 'H':DATA if hydros: DATAL ball(name, atom[int(name)], x[int(name)],y[int(name)],z[int(name)])DATAP else: ball(name, atom[int(name)], x[int(name)],y[int(name)],z[int(name)])EDATA DATA8 elif line[:3] == 'TER':lDATA name = 'platzhalter'DATA  atom.append ('platzhalter')DATA  x.append (0)DATA` y.append (0)DATA z.append (0)DATA  elif line[:6] == 'CONECT':REEDATA0¸ if sticks:EEDATA¸ con0 = line[6:11]DATA,؞ while con0[:1]==' ': con0 = con0[1:]DATA0ó for i in range(0,4):1DATA$X if len(line) > (15 + 5 * i)::]DATA4X if not line[(11+5*i):(16+5*i)] == ' ':3nDATA(+ con1 = line[(11+5*i):(16+5*i)]EEDATA,` while con1[:1]==' ': con1 = con1[1:]DATA Y if int(con1)> int(con0):DATA if hydros:DATAB stick3(x[int(con0)], y[int(con0)], z[int(con0)], atom[int(con0)], x[int(con1)], y[int(con1)], z[int(con1)], atom[int(con1)], scsticks.val)DATA8Ƹ else:EEDATA@ĸ if not (atom[int(con0)]=='H' or atom[int(con1)]=='H'):DATA- stick3(x[int(con0)], y[int(con0)], z[int(con0)], atom[int(con0)], x[int(con1)], y[int(con1)], z[int(con1)], atom[int(con1)], scsticks.val)REEDATAǸDATAȸ scene.update()DATAPȸ Blender.Redraw() 1)DATA ȸ Blender.Window.WaitCursor(0)EEDATAȸDATA(ɸdef import_p_follow(path):DATAXxɸ global structmode, scatom, sumatom, refineballs, refinesticks, balls, sticks, scsticksDATA ʸ Blender.Window.WaitCursor(1)DATAPʸ x, y, z = 0, 0, 0DATA ʸ pcount = 0DATAʸ file = open(path, 'r')DATA x\ for line in file.readlines():DATAHxƸ if len(line) == 0 or line[:3] == ('END') or line[:6] == ('CONECT'):EEDATAx̸ passDATA4H elif line[:6] == 'HETATM' or line[:4] == 'ATOM':lDATAϾ if len(line) > 76: DATA$ " atom0 = line[77:(len(line)-1)]DATA0谸 while atom0[-1] == ' ': atom0 = atom0[:-1]EDATA HM else:e =DATA) atom0 = line[13:16]DATA0@] while atom0[-1] == ' ': atom0 = atom0[:-1]EDATA8 esym = [' ','1','2','3','4','5','6','7','8','9']REEDATA& for a in esym:DATA,  if atom0[-1] == a: atom0 = atom0[:-1]DATA,hθ if atom0[0] == a: atom0 = atom0[1:]DATAϸ if atom0 == 'P':DATAϸ xold = xDATA(и yold = yDATAX* zold = zREEDATA  x0 = line[31:38]DATA$(Y while x0[:1]==' ': x0 = x0[1:]DATA͸ y0 = line[39:46]DATA$ while y0[:1]==' ': y0 = y0[1:]qDATAP z0 = line[47:54]DATA$xw while z0[:1]==' ': z0 = z0[1:]EDATAh x = float(x0)DATAӸ y = float(y0)DATAAN z = float(z0)DATA$( if line[30] == '-': x = 0 - xrDATA$w if line[38] == '-': y = 0 - yDATA$ if line[46] == '-': z = 0 - z DATA\`Ը abstandq = (x - xold) * (x - xold) + (y - yold) * (y - yold) + (z - zold)*(z - zold)DATA,Ը if pcount > 0 and abstandq < 100.00:DATA8Pո stick1(xold, yold, zold, x, y, z, scsticks.val)DATAո pcount = pcount + 1DATAXb elif line[:3] == 'TER':lDATAHָ pcount = 0EEDATAָ scene.update()DATAָ Blender.Redraw() DATA ׸ Blender.Window.WaitCursor(0)DATA`׸DATA ׸def gui():DATA|׸ global structmode, scatom, sumatom, refineballs, refinesticks, balls, sticks, scsticks, hydros, bbut, sbbut, sbut, pbutDATA8ظ bbut = Toggle('Balls',3, 40, 240, 80, 19, bbut.val)DATADظ sbbut = Toggle('Sticks and Balls',4, 120, 240, 150, 19, sbbut.val)DATA8hٸ sbut = Toggle('Sticks',5, 270, 240, 80, 19, sbut.val)DATAHٸ pbut = Toggle('DNA Backbone Follow',12, 40, 220, 310, 19, pbut.val)DATA8Hڸ if hydros: Button('Hydrogens on',11, 40, 190, 310, 19)DATA4ڸ else: Button('Hydrogens off',11, 40, 190, 310, 19)DATAX۸ if balls: scatom = Slider('Atom Scale :', 6, 40, 160, 310,19, scatom.val, 0.00, 4.00)DATAX۸ if balls: sumatom = Slider('Atom Sum :', 7, 40, 140, 310,19, sumatom.val, 0.00, 2.00)DATAd(ܸ if balls: refineballs = Slider('Atom Refinement :', 8, 40, 120, 310,19, refineballs.val, 4, 36)DATAlܸ if sticks or pbut.val: scsticks = Slider('Stick Thickness :', 9, 40, 90, 310,19, scsticks.val, 0.00, 4.00)DATAt`ݸ if sticks or pbut.val: refinesticks = Slider('Stick Refinement :', 10, 40, 70, 310,19, refinesticks.val, 4, 36)DATA(޸ Button('Import',1, 40, 40, 155, 19)DATA(`޸ Button('Cancel',2, 195, 40, 155, 19)DATA޸ DATA޸def event(evt, val):DATA(8߸ if (evt == ESCKEY and not val): Exit()DATA߸ DATA߸def bevent(evt):DATA| global structmode, scatom, sumatom, refineballs, refinesticks, balls, sticks, scsticks, hydros, bbut, sbbut, sbut, pbutDATA if evt == 2: Exit()DATA elif evt == 1: DATA P if structmode == 'Backbone':DATA< Blender.Window.FileSelector(import_p_follow, 'Import')DATA else:DATA8H Blender.Window.FileSelector(import_pdb, 'Import')DATA elif evt == 3:DATA structmode = "balls"DATA8 scatom.val = 1.0DATA sumatom.val = 0.4DATA refineballs.val = 24DATA  balls = 1DATAP sticks = 0DATA bbut.val = 1DATA sbbut.val = 0DATA sbut.val = 0DATAP pbut.val = 0DATA  Redraw()DATA elif evt == 4:DATA$ structmode = "sticks and balls"DATAh scatom.val = 0.75DATA sumatom.val = 0.0DATA refineballs.val = 20DATA@ refinesticks.val = 12DATA  balls = 1DATA scsticks.val = 0.16DATA sticks = 1DATAP bbut.val = 0DATA sbbut.val = 1DATA sbut.val = 0DATA pbut.val = 0DATA P Redraw()DATA elif evt == 5:DATA structmode = "sticks"DATA scsticks.val = 0.24DATA` refinesticks.val = 12DATA  balls = 0DATA sticks = 1DATA( bbut.val = 0DATAh sbbut.val = 0DATA sbut.val = 1DATA pbut.val = 0DATA ( Redraw()DATAh elif evt == 12:DATA structmode = "Backbone"DATA scsticks.val = 1.00DATAH refinesticks.val = 8DATA  balls = 0DATA sticks = 1DATA bbut.val = 0DATAP sbbut.val = 0DATA sbut.val = 0DATA pbut.val = 1DATA  Redraw()DATAP elif evt == 11: DATA if hydros: hydros = 0DATA else: hydros = 1DATA ( Redraw()DATAh elif evt == 8:DATA while not ((int(360/refineballs.val) == float(360.00/refineballs.val)) and (int(refineballs.val)/2) == (float(refineballs.val)/2)):DATA,` refineballs.val = refineballs.val + 1DATA  Redraw()DATA elif evt == 10:DATAH while not ((int(360/refinesticks.val) == float(360.00/refinesticks.val)) and (int(refinesticks.val)/2) == (float(refinesticks.val)/2)):DATA, refinesticks.val = refinesticks.val + 1DATA h Redraw()DATA DATAdef initialize():DATA|( global structmode, scatom, sumatom, refineballs, refinesticks, balls, sticks, scsticks, hydros, bbut, sbbut, sbut, pbutDATA  structmode = Create("balls")DATA( scatom = Create(1.0)DATAp sumatom = Create(0.4)DATA scsticks = Create(0.24)DATA refineballs = Create(24)DATAX refinesticks = Create(12)DATA balls = Create(1)DATA sticks = Create(0)DATA8 hydros = Create(1)DATA bbut = Create(1)DATA sbbut = Create(0)DATA sbut = Create(0)DATAX pbut = Create(0)DATA  Register(gui, event, bevent)DATADATA(initialize()DATAhDATABlender.Redraw()OBK@OBCameraamera.001 ne@>N@???*?91<"P???ޕ/?5F:?81V~>75e?'?T3>ne@>N@??????14t?!E3IC3aj1?@4'5?OBdzC?)d??>)d?????OB@KOBLamp p@?p@???{&?W+b=???6씾t? bfE9L"?%?_>oK?p@?p@?????5씾fE%?t?9L_> b"?oK? ?Af ?DOBd8? #=?>=?@???GLOByµШ DNA1To(RSDNANAME_*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  0 Phtdt 4XP4l8@l`884T< 4DXXDl<<\@4@l( 8,d| (04\pP0($x$(T x H 8th  08 ,@0,HhH,(lDLP@< <@Lx48<8l(@PH<,4L,,,<,@,<4d$t 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