<xml xmlns="https://developers.google.com/blockly/xml">
<variables>
<variable id="3E_7h9U^uyN|uwS$tsb4">grid</variable>
<variable id="mNef4@Xk#WuSakC@{`ik">ground</variable>
<variable id=".QW0#G8m,q]NP#,wN5(0">cam</variable>
<variable id="QOI:`A*@R%@b[-|M3|~R">scale</variable>
<variable id="M](yOm(feT@k9QK.n@v7">points</variable>
<variable id="!^ry)Mtf2A_wQ[oM?wx.">bezierWires</variable>
<variable id="QmQ@5]/bDkg`8DLLFwXD">bezierWires2</variable>
<variable id="qHg`tK__]aWKK;Qu8uF{">i</variable>
<variable id="I|K3`$`#LIcG(|Xc*T4p">pt1</variable>
<variable id="kT0|~J1u{kj9Zu=Gf0LN">result</variable>
<variable id="xb@=67OJK[buXgf0U`d*">pt2</variable>
<variable id=";26d.0Q%g#S0pX9J4qNA">beams</variable>
<variable id="yDIeg~YQ+T~)3(;rIl_R">pt3</variable>
<variable id="6GMLk1j*Mfm1}|iEKA~]">j</variable>
<variable id="fp|uM9i5SZ6xwdHztTQk">pt4</variable>
<variable id="=`;k#@kQ/DRviI:CeHy!">moveUp</variable>
<variable id="7x2%ou]1RFCN,HGY(zAl">loft</variable>
<variable id="A5|v{1pYTjBamm;+8`zE">movedDown</variable>
<variable id="[qryOMT@]MUgvKXHoX_[">glass</variable>
</variables>
<block type="variables_set" id="J@RI)KI#Ex9cEH4f+mMG" x="-2941" y="-195">
<field name="VAR" id="3E_7h9U^uyN|uwS$tsb4">grid</field>
<value name="VALUE">
<block type="bitbybit.draw.drawGridMesh" id="[f6v%s9?I=6P#^9Bjtv=">
<value name="Width">
<block type="math_number" id="g}{^@_+M2[=kHsWt6pDJ">
<field name="NUM">400</field>
</block>
</value>
<value name="Height">
<block type="math_number" id="dpN,?xhl7v]aFzD,Empx">
<field name="NUM">400</field>
</block>
</value>
<value name="Subdivisions">
<block type="math_number" id="DJ%D6!8TD/3w`lfA$6yZ">
<field name="NUM">10</field>
</block>
</value>
<value name="MajorUnitFrequency">
<block type="math_number" id="0kdZbe.yp+bayzT)^[sS">
<field name="NUM">10</field>
</block>
</value>
<value name="MinorUnitVisibility">
<block type="math_number" id="3Aq}{TD`4;b6T_RAbL8b">
<field name="NUM">0.45</field>
</block>
</value>
<value name="GridRatio">
<block type="math_number" id="xixlB|R-Bz7$v0xtNtG[">
<field name="NUM">0.5</field>
</block>
</value>
<value name="Opacity">
<block type="math_number" id="T$MFy1Sg;*wH!:]H9k#N">
<field name="NUM">0.5</field>
</block>
</value>
<value name="BackFaceCulling">
<block type="logic_boolean" id="J~8m5|B/Q$kGT.57-:0V">
<field name="BOOL">TRUE</field>
</block>
</value>
<value name="MainColor">
<block type="colour_picker" id="MF|Mi%ABk~iHr6elVm|G">
<field name="COLOUR">#ffffff</field>
</block>
</value>
<value name="SecondaryColor">
<block type="colour_picker" id="RV;^y.g[09aJQ;Zs6B?5">
<field name="COLOUR">#ffffff</field>
</block>
</value>
</block>
</value>
<next>
<block type="variables_set" id="1^6aQ:`)2e6*v2dKi%Hb">
<field name="VAR" id="mNef4@Xk#WuSakC@{`ik">ground</field>
<value name="VALUE">
<block type="bitbybit.draw.drawAnyAsync" id="Rg7re1o|KtIAh,l~FD=?">
<value name="Entity">
<block type="bitbybit.jscad.shapes.cuboid" id="ecaE-gKT:.u2u$h(dpZM">
<value name="Center">
<block type="bitbybit.point.pointXYZ" id="2Em3_!0gWNF}({M6=gzu">
<value name="X">
<block type="math_number" id="?/02E*p`-X7[,|/}[#3B">
<field name="NUM">0</field>
</block>
</value>
<value name="Y">
<block type="math_number" id="-0/_Osz3}NAMGpYHld^I">
<field name="NUM">0</field>
</block>
</value>
<value name="Z">
<block type="math_number" id="-CK)**_7$$0}Z$S;?S@7">
<field name="NUM">0</field>
</block>
</value>
</block>
</value>
<value name="Width">
<block type="math_number" id="Po1HNuKbmo+Ugsxyh.,I">
<field name="NUM">100</field>
</block>
</value>
<value name="Length">
<block type="math_number" id="?AtPQ86x5WrXd+zga9-,">
<field name="NUM">100</field>
</block>
</value>
<value name="Height">
<block type="math_number" id="bO,.LH5VFDll?6!MzB~D">
<field name="NUM">0.1</field>
</block>
</value>
</block>
</value>
<value name="Options">
<block type="bitbybit.draw.optionsSimple" id="2bVqr=|TK-GV;(0!z.6`">
<value name="Colours">
<block type="colour_picker" id="eFNKWENgfXvyk|7z5155">
<field name="COLOUR">#666666</field>
</block>
</value>
<value name="Size">
<block type="math_number" id="sVI4}SdirZqFKx9FP4ml">
<field name="NUM">3</field>
</block>
</value>
<value name="Opacity">
<block type="math_number" id="AJsLBYg#r*CWh-@:o(J4">
<field name="NUM">1</field>
</block>
</value>
<value name="Updatable">
<block type="logic_boolean" id="qtq+v%84IVnFM8q3zhdZ">
<field name="BOOL">FALSE</field>
</block>
</value>
</block>
</value>
</block>
</value>
<next>
<block type="variables_set" id="cONSNTjT68$7q:xGWT~2">
<field name="VAR" id=".QW0#G8m,q]NP#,wN5(0">cam</field>
<value name="VALUE">
<block type="bitbybit.babylon.camera.free.create" id="2wMJHMtRhwa,W7GMt[ww">
<value name="Position">
<block type="bitbybit.point.pointXYZ" id="?R}Xt~HSM#OWfm!TWe%H">
<value name="X">
<block type="math_number" id="5]uheZhY(vOjv/[S0^.(">
<field name="NUM">30</field>
</block>
</value>
<value name="Y">
<block type="math_number" id="-_H[{:n^{gADVU^bkV16">
<field name="NUM">1.8</field>
</block>
</value>
<value name="Z">
<block type="math_number" id="5bdboo]GS)z7q7w|5l8x">
<field name="NUM">0</field>
</block>
</value>
</block>
</value>
<value name="Target">
<block type="bitbybit.point.pointXYZ" id="O[)eo7eEV8PR1~]wPBRY">
<value name="X">
<block type="math_number" id="[H[4jsDK/j;M-UT9ho]I">
<field name="NUM">0</field>
</block>
</value>
<value name="Y">
<block type="math_number" id="tuOUXw8N*dGJc;j,d@L|">
<field name="NUM">0</field>
</block>
</value>
<value name="Z">
<block type="math_number" id=")+8tT++{^dIzLO){m,j:">
<field name="NUM">0</field>
</block>
</value>
</block>
</value>
</block>
</value>
<next>
<block type="bitbybit.babylon.scene.activateCamera" id="c7In5]sa@%ndv$cm@pwa">
<value name="Camera">
<block type="variables_get" id="QX8fjd!d^Ha/A3e!xc4{">
<field name="VAR" id=".QW0#G8m,q]NP#,wN5(0">cam</field>
</block>
</value>
<next>
<block type="bitbybit.babylon.webXr.simple.createDefaultXRExperienceWithTeleportation" id="#ir~)YnmK}HJ8I_a~Aw7">
<value name="GroundMeshes">
<block type="lists_create_with" id="wH](?;;8MAtsT@-2dQc`">
<mutation items="1">
</mutation>
<value name="ADD0">
<block type="variables_get" id="m_Fwy),zs4h8m@hgq?Q(">
<field name="VAR" id="3E_7h9U^uyN|uwS$tsb4">grid</field>
</block>
</value>
</block>
</value>
<next>
<block type="bitbybit.babylon.scene.drawPointLightNoReturn" id="HVu*K~Ffu/PAK#$;}TpA">
<value name="Position">
<block type="bitbybit.point.pointXYZ" id="=nf/@Rk7QhF%klM{AeAW">
<value name="X">
<block type="math_number" id="AvSo[h^VmOXGf7Yl-qfZ">
<field name="NUM">5</field>
</block>
</value>
<value name="Y">
<block type="math_number" id=",e3wX7:H4upY@KxL(hy@">
<field name="NUM">30</field>
</block>
</value>
<value name="Z">
<block type="math_number" id="9X}rt5EHw-A2om(XYP`1">
<field name="NUM">5</field>
</block>
</value>
</block>
</value>
<value name="Intensity">
<block type="math_number" id=";6:D?o!:R#lzsk;nC}Go">
<field name="NUM">4000</field>
</block>
</value>
<value name="Diffuse">
<block type="colour_picker" id="y]S]26WI?^69cFv*[%+/">
<field name="COLOUR">#ffffff</field>
</block>
</value>
<value name="Specular">
<block type="colour_picker" id="OMe]mG?6g3bxwj0eK;BX">
<field name="COLOUR">#ffffff</field>
</block>
</value>
<value name="Radius">
<block type="math_number" id="[[S%4hDxP|Rx6v0l_cLw">
<field name="NUM">0.05</field>
</block>
</value>
<value name="ShadowGeneratorMapSize">
<block type="math_number" id="V.@rJnehc3P5YT~m)=1f">
<field name="NUM">512</field>
</block>
</value>
<value name="EnableShadows">
<block type="logic_boolean" id="3k|q+5n@0Z6EH(DZFhJ6">
<field name="BOOL">TRUE</field>
</block>
</value>
<value name="ShadowDarkness">
<block type="math_number" id="]uW6|`B0U?}Kb.mO_Rgu">
<field name="NUM">0</field>
</block>
</value>
<next>
<block type="variables_set" id="m[g}[DY__S|VgY`b8[rt">
<field name="VAR" id="QOI:`A*@R%@b[-|M3|~R">scale</field>
<value name="VALUE">
<block type="math_number" id="a;@d%Jr2QBcqYYm,Zi_0">
<field name="NUM">0.3</field>
</block>
</value>
<next>
<block type="variables_set" id="T*JraYz/.Bqub2sCz5*?">
<field name="VAR" id="M](yOm(feT@k9QK.n@v7">points</field>
<value name="VALUE">
<block type="lists_create_with" id="wKU8==iV,S7cT,dBc{Mp">
<mutation items="0">
</mutation>
</block>
</value>
<next>
<block type="variables_set" id="liyma2[sZJL3n+=(zi+:">
<field name="VAR" id="!^ry)Mtf2A_wQ[oM?wx.">bezierWires</field>
<value name="VALUE">
<block type="lists_create_with" id="Wx1U]1-=l_;k$jRdnnD}">
<mutation items="0">
</mutation>
</block>
</value>
<next>
<block type="variables_set" id="DuMG;XlhMX;]fQ+B!~Cr">
<field name="VAR" id="QmQ@5]/bDkg`8DLLFwXD">bezierWires2</field>
<value name="VALUE">
<block type="lists_create_with" id="dhbZALa*o}F$?=xMmz@]">
<mutation items="0">
</mutation>
</block>
</value>
<next>
<block type="controls_for" id="b673GnoR,x~)tGeST[5X">
<field name="VAR" id="qHg`tK__]aWKK;Qu8uF{">i</field>
<value name="FROM">
<block type="math_number" id="/n-?=XWo%YVs1]v?x?$D">
<field name="NUM">10</field>
</block>
</value>
<value name="TO">
<block type="math_number" id="y(dHY(WqsO.b.@Ai0jH5">
<field name="NUM">40</field>
</block>
</value>
<value name="BY">
<block type="math_number" id="?H/O[2AX?:2(r(uA#m_6">
<field name="NUM">1</field>
</block>
</value>
<statement name="DO">
<block type="variables_set" id="Q8ffY3Q@,mFW-:_YtrZ4">
<field name="VAR" id="I|K3`$`#LIcG(|Xc*T4p">pt1</field>
<value name="VALUE">
<block type="bitbybit.point.transformPoint" id="qefaorTmP=i8SUg)J4(~">
<value name="Point">
<block type="bitbybit.point.pointXYZ" id="QnKZ`)UIjw||f~{%@%kM">
<value name="X">
<block type="math_arithmetic" id="]eR_qJJp9]Ha8vm;~S-x">
<field name="OP">MULTIPLY</field>
<value name="A">
<block type="variables_get" id=":rmv`ML@JISKJmZy:bMf">
<field name="VAR" id="qHg`tK__]aWKK;Qu8uF{">i</field>
</block>
</value>
<value name="B">
<block type="math_number" id="IHlG[E3+i5gAstFC2Dem">
<field name="NUM">0.3</field>
</block>
</value>
</block>
</value>
<value name="Y">
<block type="math_arithmetic" id="!:UO4l$^BX5aQXCBb@|~">
<field name="OP">MULTIPLY</field>
<value name="A">
<block type="variables_get" id="A7;B/G6EFh:vLSPR,C:a">
<field name="VAR" id="qHg`tK__]aWKK;Qu8uF{">i</field>
</block>
</value>
<value name="B">
<block type="math_arithmetic" id="qKSe`AF7qhTP15dvlem:">
<field name="OP">DIVIDE</field>
<value name="A">
<block type="variables_get" id="0x;2A3u.lCOwgRKA2F,5">
<field name="VAR" id="qHg`tK__]aWKK;Qu8uF{">i</field>
</block>
</value>
<value name="B">
<block type="math_number" id="PNRH3L?q0~;e;d58]tZ*">
<field name="NUM">20</field>
</block>
</value>
</block>
</value>
</block>
</value>
<value name="Z">
<block type="math_arithmetic" id="D,)rpZ}+NdDO2AKKLisU">
<field name="OP">MULTIPLY</field>
<value name="A">
<block type="variables_get" id="CA*G`HS@_epP,)%^zM8b">
<field name="VAR" id="qHg`tK__]aWKK;Qu8uF{">i</field>
</block>
</value>
<value name="B">
<block type="math_number" id="9p?yCg#3_5[Seajg+OpA">
<field name="NUM">0.1</field>
</block>
</value>
</block>
</value>
</block>
</value>
<value name="Transformation">
<block type="bitbybit.babylon.transforms.rotationCenterY" id="#-+yQWCjjU*:|/a2veK8">
<value name="Angle">
<block type="math_arithmetic" id="1iVo%CK11U)*}Dc_=c$I">
<field name="OP">MULTIPLY</field>
<value name="A">
<block type="variables_get" id="n[f4AS4f;4GrF[M4ltR;">
<field name="VAR" id="qHg`tK__]aWKK;Qu8uF{">i</field>
</block>
</value>
<value name="B">
<block type="math_number" id="QX-TUb)ISH!*e8Qv)s%?">
<field name="NUM">30</field>
</block>
</value>
</block>
</value>
<value name="Center">
<block type="bitbybit.point.pointXYZ" id="Gv~M(#+-1@zLGhp/~zFN">
<value name="X">
<block type="math_number" id="`XiI*8:;8JdT8F:3f[Ph">
<field name="NUM">0</field>
</block>
</value>
<value name="Y">
<block type="math_number" id="5((tJj?=X$mu|f:|k4nv">
<field name="NUM">0</field>
</block>
</value>
<value name="Z">
<block type="math_number" id="PmN61x(@vb;,jvpa)rX=">
<field name="NUM">0</field>
</block>
</value>
</block>
</value>
</block>
</value>
</block>
</value>
<next>
<block type="variables_set" id="1M~Eo#Sc6@DE4WvoixBJ">
<field name="VAR" id="xb@=67OJK[buXgf0U`d*">pt2</field>
<value name="VALUE">
<block type="bitbybit.point.transformPoint" id=".@cinGt;U84JIt@Q3$.U">
<value name="Point">
<block type="bitbybit.point.pointXYZ" id="P#9Z)u8_nY(Ka]H*Els|">
<value name="X">
<block type="math_arithmetic" id="3q7(64NOR;Yc63K1mzB1">
<field name="OP">DIVIDE</field>
<value name="A">
<block type="variables_get" id="WQ*oMj^K/KXZg/X}zfo3">
<field name="VAR" id="qHg`tK__]aWKK;Qu8uF{">i</field>
</block>
</value>
<value name="B">
<block type="math_number" id="cRw4-`j8#__1zb3$eyaK">
<field name="NUM">2</field>
</block>
</value>
</block>
</value>
<value name="Y">
<block type="math_arithmetic" id=".$(NwytGr2%tzzzj5f$`">
<field name="OP">MULTIPLY</field>
<value name="A">
<block type="variables_get" id="LTHnIvpP%W.^OxG;ZP1(">
<field name="VAR" id="qHg`tK__]aWKK;Qu8uF{">i</field>
</block>
</value>
<value name="B">
<block type="math_arithmetic" id="0wPDAkGImv9w1tJ]}fGi">
<field name="OP">DIVIDE</field>
<value name="A">
<block type="variables_get" id="b#O|wEa6K3%tS2N93)g|">
<field name="VAR" id="qHg`tK__]aWKK;Qu8uF{">i</field>
</block>
</value>
<value name="B">
<block type="math_number" id="1q6,FSm+N7r3umK+$5@I">
<field name="NUM">70</field>
</block>
</value>
</block>
</value>
</block>
</value>
<value name="Z">
<block type="math_arithmetic" id="k3/zW7?02]U%(PeR[LwY">
<field name="OP">MULTIPLY</field>
<value name="A">
<block type="variables_get" id="Wo.o1yUj1lB{8a?-AV!I">
<field name="VAR" id="qHg`tK__]aWKK;Qu8uF{">i</field>
</block>
</value>
<value name="B">
<block type="math_number" id="N22]QJe^dFtYKn-%SdRR">
<field name="NUM">1</field>
</block>
</value>
</block>
</value>
</block>
</value>
<value name="Transformation">
<block type="bitbybit.babylon.transforms.rotationCenterY" id="^SbqqI@P|HJ=JM]CI~5C">
<value name="Angle">
<block type="math_arithmetic" id="q1!ODV,?9E#yP^#k;7Cb">
<field name="OP">MULTIPLY</field>
<value name="A">
<block type="variables_get" id="=6f=g8;nTZOzm}8z6csJ">
<field name="VAR" id="qHg`tK__]aWKK;Qu8uF{">i</field>
</block>
</value>
<value name="B">
<block type="math_number" id="jtxWpZ+tyPiPQTfStLXk">
<field name="NUM">30</field>
</block>
</value>
</block>
</value>
<value name="Center">
<block type="bitbybit.point.pointXYZ" id="M:,xgEg@$9*SB/#-J4Db">
<value name="X">
<block type="math_number" id="#TS0{Y*pNI2|(Z?]ic2q">
<field name="NUM">0</field>
</block>
</value>
<value name="Y">
<block type="math_number" id="h*(zS+.dAJ)IrS;91XEC">
<field name="NUM">0</field>
</block>
</value>
<value name="Z">
<block type="math_number" id="b+Kf^`wX8Rmbp9e@Ut8N">
<field name="NUM">0</field>
</block>
</value>
</block>
</value>
</block>
</value>
</block>
</value>
<next>
<block type="variables_set" id="dEmH/e=[-Zq}r:n9=k[W">
<field name="VAR" id="yDIeg~YQ+T~)3(;rIl_R">pt3</field>
<value name="VALUE">
<block type="bitbybit.point.transformPoint" id="S5DcYA7#~8O3[6X/_p{z">
<value name="Point">
<block type="bitbybit.point.pointXYZ" id="2){?Npo2_/2IlcfDo`+J">
<value name="X">
<block type="math_arithmetic" id="Z;wLdFNG*j9)DflpBf3V">
<field name="OP">MULTIPLY</field>
<value name="A">
<block type="variables_get" id="M*nNMb{twTG-u79%4[Fk">
<field name="VAR" id="qHg`tK__]aWKK;Qu8uF{">i</field>
</block>
</value>
<value name="B">
<block type="math_number" id="6z%22/CmNBKXJ6==rRKM">
<field name="NUM">2</field>
</block>
</value>
</block>
</value>
<value name="Y">
<block type="math_arithmetic" id="eO;lAwt:(q{sRbHa(`}q">
<field name="OP">MULTIPLY</field>
<value name="A">
<block type="variables_get" id="rgt]LPGd[%qB-C|,a8`P">
<field name="VAR" id="qHg`tK__]aWKK;Qu8uF{">i</field>
</block>
</value>
<value name="B">
<block type="math_arithmetic" id="..;1SSq)3jzxLH=_aGJD">
<field name="OP">DIVIDE</field>
<value name="A">
<block type="variables_get" id="o.Iga9b:Frohy$@6#~TU">
<field name="VAR" id="qHg`tK__]aWKK;Qu8uF{">i</field>
</block>
</value>
<value name="B">
<block type="math_number" id=".-+-jm@|{3(6$Pkio;*W">
<field name="NUM">50</field>
</block>
</value>
</block>
</value>
</block>
</value>
<value name="Z">
<block type="math_arithmetic" id="-eIDu[)}t?#Zf7X?B!DL">
<field name="OP">MULTIPLY</field>
<value name="A">
<block type="variables_get" id="K;{@Q*-$K5W`4+1D/B(5">
<field name="VAR" id="qHg`tK__]aWKK;Qu8uF{">i</field>
</block>
</value>
<value name="B">
<block type="math_number" id="cpl|O;-(5J~VqSyCt_w3">
<field name="NUM">1</field>
</block>
</value>
</block>
</value>
</block>
</value>
<value name="Transformation">
<block type="bitbybit.babylon.transforms.rotationCenterY" id="Jq?sn*cAXk%+]%|eP7CD">
<value name="Angle">
<block type="math_arithmetic" id="jr}F{Pc;6iANgl5XOH*X">
<field name="OP">MULTIPLY</field>
<value name="A">
<block type="variables_get" id="+id/[v4._5jg]vXev0X]">
<field name="VAR" id="qHg`tK__]aWKK;Qu8uF{">i</field>
</block>
</value>
<value name="B">
<block type="math_number" id="vX?RI`t%R+_nu:v.uH,?">
<field name="NUM">30</field>
</block>
</value>
</block>
</value>
<value name="Center">
<block type="bitbybit.point.pointXYZ" id="N|d5l;KMFWvJI9jKFqsX">
<value name="X">
<block type="math_number" id="c/[AYZ8IT`8VwDT?,ox8">
<field name="NUM">0</field>
</block>
</value>
<value name="Y">
<block type="math_number" id="l|Jz15(y1kvV!E,DA0!%">
<field name="NUM">0</field>
</block>
</value>
<value name="Z">
<block type="math_number" id="H}-/uTOZFt3Ke_qNv.il">
<field name="NUM">0</field>
</block>
</value>
</block>
</value>
</block>
</value>
</block>
</value>
<next>
<block type="variables_set" id="}Di*fB%y/^Gf)ePCD(79">
<field name="VAR" id="fp|uM9i5SZ6xwdHztTQk">pt4</field>
<value name="VALUE">
<block type="bitbybit.point.transformPoint" id="CuD2cN(-|%hMCK^}I}J-">
<value name="Point">
<block type="bitbybit.point.pointXYZ" id="av)@HCu@Czd|WA}`hcWr">
<value name="X">
<block type="math_arithmetic" id="b,u|pvVbhl!F_CI4$GTb">
<field name="OP">MULTIPLY</field>
<value name="A">
<block type="variables_get" id="D(C_BPVfO!FeB~{%b|ya">
<field name="VAR" id="qHg`tK__]aWKK;Qu8uF{">i</field>
</block>
</value>
<value name="B">
<block type="math_number" id="aE$xdEK1,Vqj-Mr0PB;j">
<field name="NUM">2</field>
</block>
</value>
</block>
</value>
<value name="Y">
<block type="math_number" id="BaYquK7zj2DQ,LU?:!e$">
<field name="NUM">0</field>
</block>
</value>
<value name="Z">
<block type="math_arithmetic" id="PeueAl#ou~R4({}%6AOf">
<field name="OP">MULTIPLY</field>
<value name="A">
<block type="variables_get" id=":=wZ~GWyw2hKyTXv]xus">
<field name="VAR" id="qHg`tK__]aWKK;Qu8uF{">i</field>
</block>
</value>
<value name="B">
<block type="math_number" id="H(C|J/l]ul[Zmvb!KVPY">
<field name="NUM">1.5</field>
</block>
</value>
</block>
</value>
</block>
</value>
<value name="Transformation">
<block type="bitbybit.babylon.transforms.rotationCenterY" id="+gnXvx_hjAi;xySGps3N">
<value name="Angle">
<block type="math_arithmetic" id="99AU9{he$tC3(^/}PDm?">
<field name="OP">MULTIPLY</field>
<value name="A">
<block type="variables_get" id="o8^YX(rzKnk7,2*XMgS~">
<field name="VAR" id="qHg`tK__]aWKK;Qu8uF{">i</field>
</block>
</value>
<value name="B">
<block type="math_number" id="j*S26Qu+^CJ%mBt=6RB#">
<field name="NUM">30</field>
</block>
</value>
</block>
</value>
<value name="Center">
<block type="bitbybit.point.pointXYZ" id="FgtV[tF4*lLQMUcId1fD">
<value name="X">
<block type="math_number" id="T*HH/hJg%[v^Sd_qyY~e">
<field name="NUM">0</field>
</block>
</value>
<value name="Y">
<block type="math_number" id="(`vvR%,nW$46%c6gu/P=">
<field name="NUM">0</field>
</block>
</value>
<value name="Z">
<block type="math_number" id="xBWq$yppXl-5FZT=~WTI">
<field name="NUM">0</field>
</block>
</value>
</block>
</value>
</block>
</value>
</block>
</value>
<next>
<block type="lists_setIndex" id=")md!QzM)p+qr~T}C^fWO">
<mutation at="false">
</mutation>
<field name="MODE">INSERT</field>
<field name="WHERE">LAST</field>
<value name="LIST">
<block type="variables_get" id="=]J*0B3V[~Ufq8[NwN2/">
<field name="VAR" id="!^ry)Mtf2A_wQ[oM?wx.">bezierWires</field>
</block>
</value>
<value name="TO">
<block type="bitbybit.occt.shapes.wire.createBSpline" id="jdsm#W2oGUEwo4]P$:vQ">
<value name="Points">
<block type="lists_create_with" id="WrO/f[qz1{-[8DNV4!6K">
<mutation items="4">
</mutation>
<value name="ADD0">
<block type="variables_get" id="34~j4^-d:YhGxxlEZ/.5">
<field name="VAR" id="I|K3`$`#LIcG(|Xc*T4p">pt1</field>
</block>
</value>
<value name="ADD1">
<block type="variables_get" id="w?X#+O`_l2qppp3ot14;">
<field name="VAR" id="xb@=67OJK[buXgf0U`d*">pt2</field>
</block>
</value>
<value name="ADD2">
<block type="variables_get" id="vN|jjByue?uzGWw?=8^;">
<field name="VAR" id="yDIeg~YQ+T~)3(;rIl_R">pt3</field>
</block>
</value>
<value name="ADD3">
<block type="variables_get" id="y=DGK36xkx.lP!w*n)3y">
<field name="VAR" id="fp|uM9i5SZ6xwdHztTQk">pt4</field>
</block>
</value>
</block>
</value>
<value name="Closed">
<block type="logic_boolean" id="d_pUyEX1`W$nl~QOXiRf">
<field name="BOOL">FALSE</field>
</block>
</value>
</block>
</value>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</statement>
<next>
<block type="base_time_then" id="R=hIp`qKHdS`Y$jcF9o2">
<field name="Result" id="kT0|~J1u{kj9Zu=Gf0LN">result</field>
<value name="Promise">
<block type="variables_get" id="Vv@s-vb*UQO!-V#nQ83B">
<field name="VAR" id="!^ry)Mtf2A_wQ[oM?wx.">bezierWires</field>
</block>
</value>
<statement name="Then">
<block type="variables_set" id="^R^g(MKz3}++$th0zXDe">
<field name="VAR" id=";26d.0Q%g#S0pX9J4qNA">beams</field>
<value name="VALUE">
<block type="lists_create_with" id="J45/_]mn(ZL)D,9`ZN#I">
<mutation items="0">
</mutation>
</block>
</value>
<next>
<block type="controls_forEach" id="HtvbPy.n8b2[4Xalti=C">
<field name="VAR" id="6GMLk1j*Mfm1}|iEKA~]">j</field>
<value name="LIST">
<block type="variables_get" id="]Em0?2ZCCYNxj!laYdsa">
<field name="VAR" id="kT0|~J1u{kj9Zu=Gf0LN">result</field>
</block>
</value>
<statement name="DO">
<block type="variables_set" id="z(5/KqsR$TojwiEH^#Yx">
<field name="VAR" id="=`;k#@kQ/DRviI:CeHy!">moveUp</field>
<value name="VALUE">
<block type="bitbybit.occt.transforms.translate" id="va@w(W)8.~{rGU`(WGwK">
<value name="Shape">
<block type="variables_get" id="QCNKq)k%X3ahvrRr$MHd">
<field name="VAR" id="6GMLk1j*Mfm1}|iEKA~]">j</field>
</block>
</value>
<value name="Translation">
<block type="bitbybit.point.pointXYZ" id="G/4ViOG8OeoG-3u%3;2B">
<value name="X">
<block type="math_number" id="g;CF840yCu)hRoCCDy;!">
<field name="NUM">0</field>
</block>
</value>
<value name="Y">
<block type="math_number" id="nng}iBcCn9i-e5*|.pL*">
<field name="NUM">2</field>
</block>
</value>
<value name="Z">
<block type="math_number" id="swQF]W~O2)=Q!i-~Y_oJ">
<field name="NUM">0</field>
</block>
</value>
</block>
</value>
</block>
</value>
<next>
<block type="variables_set" id="o~(RIJlwL);9NZe!U`C^">
<field name="VAR" id="A5|v{1pYTjBamm;+8`zE">movedDown</field>
<value name="VALUE">
<block type="bitbybit.occt.transforms.translate" id="mitG]7_M?mGR,~3RtMK}">
<value name="Shape">
<block type="variables_get" id="2+CpSI-PVAeU~wP8HrLs">
<field name="VAR" id="6GMLk1j*Mfm1}|iEKA~]">j</field>
</block>
</value>
<value name="Translation">
<block type="bitbybit.point.pointXYZ" id="#,of(~WcHJ-@c/bo)_4C">
<value name="X">
<block type="math_number" id="FiKUME=?NQb#(gS,0qNr">
<field name="NUM">0</field>
</block>
</value>
<value name="Y">
<block type="math_number" id="7{(d#EO_!LQ7`PWWRyUH">
<field name="NUM">-2</field>
</block>
</value>
<value name="Z">
<block type="math_number" id=".J0itX(fpD+lWVs~B|5@">
<field name="NUM">0</field>
</block>
</value>
</block>
</value>
</block>
</value>
<next>
<block type="lists_setIndex" id="Pcq.zNOy[#9m[/DAzZ7)">
<mutation at="false">
</mutation>
<field name="MODE">INSERT</field>
<field name="WHERE">LAST</field>
<value name="LIST">
<block type="variables_get" id="4fbj:sVPz]Eip9{GXSm6">
<field name="VAR" id=";26d.0Q%g#S0pX9J4qNA">beams</field>
</block>
</value>
<value name="TO">
<block type="bitbybit.draw.drawAnyAsync" id="!*(?Z|Bc@}kXazz:ay3$">
<value name="Entity">
<block type="bitbybit.occt.transforms.scale" id="Xj;KWKx;BJg%%%7)$A[}">
<value name="Shape">
<block type="bitbybit.occt.operations.makeThickSolidSimple" id="q|QadBCYsq]bE=`h16lQ">
<value name="Shape">
<block type="bitbybit.occt.operations.loft" id="{Cg}MEa=qoGjZ.tw6V!;">
<value name="Shapes">
<block type="lists_create_with" id="pO(`PQaeLa_oP__L,?9x">
<mutation items="2">
</mutation>
<value name="ADD0">
<block type="variables_get" id="uHT;pe#8hrDfi8{|J:LR">
<field name="VAR" id="A5|v{1pYTjBamm;+8`zE">movedDown</field>
</block>
</value>
<value name="ADD1">
<block type="variables_get" id="P$1;C#2tnn?qO:^Z6HUa">
<field name="VAR" id="=`;k#@kQ/DRviI:CeHy!">moveUp</field>
</block>
</value>
</block>
</value>
<value name="MakeSolid">
<block type="logic_boolean" id="U6F%C_+8?6_wV2JAzi?F">
<field name="BOOL">FALSE</field>
</block>
</value>
</block>
</value>
<value name="Offset">
<block type="math_number" id=")X,6qS1W1V*d[azgtQ=!">
<field name="NUM">-1.5</field>
</block>
</value>
</block>
</value>
<value name="Factor">
<block type="variables_get" id="/2{uKSy^cb]RBafj{!6y">
<field name="VAR" id="QOI:`A*@R%@b[-|M3|~R">scale</field>
</block>
</value>
</block>
</value>
<value name="Options">
<block type="bitbybit.draw.optionsOcctShape" id=",W0`~^Grj?EAowLV~mEc">
<value name="FaceOpacity">
<block type="math_number" id="ip$%a!p8am?KyA%*D=JP">
<field name="NUM">1</field>
</block>
</value>
<value name="EdgeOpacity">
<block type="math_number" id="(4s:/0OhI_w,S([$LHa:">
<field name="NUM">1</field>
</block>
</value>
<value name="EdgeColour">
<block type="colour_picker" id="vJze1g#n+iy5JgCyeyPR">
<field name="COLOUR">#ffffff</field>
</block>
</value>
<value name="FaceColour">
<block type="colour_picker" id="3$tzYoRr0[#Q(InVJ6YG">
<field name="COLOUR">#333333</field>
</block>
</value>
<value name="EdgeWidth">
<block type="math_number" id="*u8vs]2H@bO4FJeNwisW">
<field name="NUM">2</field>
</block>
</value>
<value name="DrawEdges">
<block type="logic_boolean" id="[IN:W`b=60;Olnm0?#C!">
<field name="BOOL">FALSE</field>
</block>
</value>
<value name="DrawFaces">
<block type="logic_boolean" id="Firc?/DXoq,5I#F|H_,x">
<field name="BOOL">TRUE</field>
</block>
</value>
<value name="Precision">
<block type="math_number" id="5ih+TC9hI(0F6p,|c}o+">
<field name="NUM">0.2</field>
</block>
</value>
<value name="DrawEdgeIndexes">
<block type="logic_boolean" id=".{Dh6.Dp6l#vfgluOH~x">
<field name="BOOL">FALSE</field>
</block>
</value>
<value name="EdgeIndexHeight">
<block type="math_number" id=":vrZ;D01OPVN5MZ*3%1-">
<field name="NUM">0.06</field>
</block>
</value>
<value name="EdgeIndexColour">
<block type="colour_picker" id="/s=l`svOZMV((@RT0yA_">
<field name="COLOUR">#bbbbff</field>
</block>
</value>
<value name="DrawFaceIndexes">
<block type="logic_boolean" id="4F.:MXtgV]M+Ed9kjac,">
<field name="BOOL">FALSE</field>
</block>
</value>
<value name="FaceIndexHeight">
<block type="math_number" id="/=D^*V,2;(y7;p;VV{@6">
<field name="NUM">0.06</field>
</block>
</value>
<value name="FaceIndexColour">
<block type="colour_picker" id="c?WZUzueF5A;jE(Qrv2x">
<field name="COLOUR">#0000ff</field>
</block>
</value>
</block>
</value>
</block>
</value>
</block>
</next>
</block>
</next>
</block>
</statement>
<next>
<block type="variables_set" id="=IV~coT-T!*;3j{$#^Mj">
<field name="VAR" id="7x2%ou]1RFCN,HGY(zAl">loft</field>
<value name="VALUE">
<block type="bitbybit.occt.transforms.scale" id="pJx0?axAtE$t;hR(D~ZX">
<value name="Shape">
<block type="bitbybit.occt.operations.makeThickSolidSimple" id="%+AhK`AwE}.5Iqp5w2X=">
<value name="Shape">
<block type="bitbybit.occt.operations.loft" id="bTf[oRG^VnGO9Qrsf%Dx">
<value name="Shapes">
<block type="variables_get" id="~EB3XJ8vNa5#6|VkR35?">
<field name="VAR" id="kT0|~J1u{kj9Zu=Gf0LN">result</field>
</block>
</value>
<value name="MakeSolid">
<block type="logic_boolean" id="v|+$l/x9C![xtN.`zR1v">
<field name="BOOL">FALSE</field>
</block>
</value>
</block>
</value>
<value name="Offset">
<block type="math_number" id="eB4Ds.pyqq`dDL+mfR0a">
<field name="NUM">0.3</field>
</block>
</value>
</block>
</value>
<value name="Factor">
<block type="variables_get" id="/]V^*-9}jLP)#DAD_!CW">
<field name="VAR" id="QOI:`A*@R%@b[-|M3|~R">scale</field>
</block>
</value>
</block>
</value>
<next>
<block type="variables_set" id="oOy65)s)vE`G7_7Fr,.K">
<field name="VAR" id="[qryOMT@]MUgvKXHoX_[">glass</field>
<value name="VALUE">
<block type="bitbybit.draw.drawAnyAsync" id="9/^ic6kxX#YRuMfC{p=s">
<value name="Entity">
<block type="variables_get" id="E_u!o.;a_z|T)D2(A8W-">
<field name="VAR" id="7x2%ou]1RFCN,HGY(zAl">loft</field>
</block>
</value>
<value name="Options">
<block type="bitbybit.draw.optionsOcctShape" id="oW%g.XWMvaGY7`v;6Th*">
<value name="FaceOpacity">
<block type="math_number" id="!t6n]ml{+rc[%:o8A2h8">
<field name="NUM">0.9</field>
</block>
</value>
<value name="EdgeOpacity">
<block type="math_number" id="~%;c*C`H5]XKWNp9YIv*">
<field name="NUM">1</field>
</block>
</value>
<value name="EdgeColour">
<block type="colour_picker" id="3H~!*;%MgBwP]b06M)`j">
<field name="COLOUR">#000000</field>
</block>
</value>
<value name="FaceColour">
<block type="colour_picker" id="2lhR*bhzZ{hrmF7,$x7s">
<field name="COLOUR">#ff6600</field>
</block>
</value>
<value name="EdgeWidth">
<block type="math_number" id="K~b=Adz3UGLywwL`]lKu">
<field name="NUM">10</field>
</block>
</value>
<value name="DrawEdges">
<block type="logic_boolean" id="{.@g!*E_O[km-]WGx?5I">
<field name="BOOL">FALSE</field>
</block>
</value>
<value name="DrawFaces">
<block type="logic_boolean" id="TC4O$6^R?AwogwJ{0m;r">
<field name="BOOL">TRUE</field>
</block>
</value>
<value name="Precision">
<block type="math_number" id="`_`uuZle|]Tb_Y@%)Ahv">
<field name="NUM">0.1</field>
</block>
</value>
<value name="DrawEdgeIndexes">
<block type="logic_boolean" id="+oTRx90vVBvCkdx7$vh2">
<field name="BOOL">FALSE</field>
</block>
</value>
<value name="EdgeIndexHeight">
<block type="math_number" id="F0).M:z{*)UsC^7wSt5(">
<field name="NUM">0.06</field>
</block>
</value>
<value name="EdgeIndexColour">
<block type="colour_picker" id="TlN*7J8,FplFp1{UZo%S">
<field name="COLOUR">#bbbbff</field>
</block>
</value>
<value name="DrawFaceIndexes">
<block type="logic_boolean" id="`+gPMI%%vPbjpvwvs;!G">
<field name="BOOL">FALSE</field>
</block>
</value>
<value name="FaceIndexHeight">
<block type="math_number" id="YNYxU5nUd%a3wnykL?Qj">
<field name="NUM">0.06</field>
</block>
</value>
<value name="FaceIndexColour">
<block type="colour_picker" id="r$V{9]|]aR#uwDNxtZ#z">
<field name="COLOUR">#0000ff</field>
</block>
</value>
</block>
</value>
</block>
</value>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</statement>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</xml>