<xml xmlns="https://developers.google.com/blockly/xml">
<variables>
<variable id="-~3e:rHeD.E^/`~5NQl^">firstLevelHeight</variable>
<variable id="8m8=RSb/)Z!fTQF[q_cM">secondLayerHeight</variable>
<variable id="3czM?n3GtwbchQ[L1*xW">nrOfVerticalSubdivisions</variable>
<variable id="EJs|BDIX`j/e1zgxqCW#">nrOfPoints</variable>
<variable id="xf9p]3r#8iMXpX(29ezO">middleRadius</variable>
<variable id="1cp{/K_Q%Jy(WX%OgjF?">edgeRadius</variable>
<variable id="#h4SlOr(B9Jl~r!]!,];">midParameter</variable>
<variable id="%Pk:N/*q~RZTZU`gz:xO">surfaceLofted</variable>
<variable id="uDB^3pilQ)*V%.~fBPbQ">surfaceRotated</variable>
<variable id="i|28j8~zA:2L]=%@dwX2">isoCurvesFirst</variable>
<variable id="T,xof;Si}bYur-5X+$i*">isoCurvesSecond</variable>
<variable id="Zz;AxFxh2-%;TVRMZ.F:">allHulls</variable>
<variable id="eo9jywI/rN9Ch4V@M.p,">i</variable>
<variable id="dJl0j^G+tB06_YP9$n]e">pointsFirstIsoCurve</variable>
<variable id="70`op`v;}PBD~]BhIp+l">pointsSecondIsoCurve</variable>
<variable id="jQdSpV4QX9+X?955;6rN">allMidpoints</variable>
<variable id="[jNR5^xhnc7GF2[@lr-*">j</variable>
<variable id="hkwJu-:`ZzBPH4^h|^p3">firstPoint</variable>
<variable id="R*@5S]@X(v~ib}_%mp(e">secondPoint</variable>
<variable id="(/isNHCv1@[pbcbsiU}d">joiningCurve</variable>
<variable id="#9TPzvFXmz#^mxSbr^2;">midPoint</variable>
</variables>
<block type="variables_set" id=".n0.k@T13MefV|RKkY~@" x="227" y="-360">
<field name="VAR" id="-~3e:rHeD.E^/`~5NQl^">firstLevelHeight</field>
<value name="VALUE">
<block type="math_number" id="^*x$7BOfs60NF$Y1QWV=">
<field name="NUM">6</field>
</block>
</value>
<next>
<block type="variables_set" id="Cqd0Y[UvSQO~y0h31J*_">
<field name="VAR" id="8m8=RSb/)Z!fTQF[q_cM">secondLayerHeight</field>
<value name="VALUE">
<block type="math_number" id="Dqb+Ph*69GR9BL*n8XG#">
<field name="NUM">15</field>
</block>
</value>
<next>
<block type="variables_set" id="vRQj*AZOB]`Bp6b4@P`d">
<field name="VAR" id="3czM?n3GtwbchQ[L1*xW">nrOfVerticalSubdivisions</field>
<value name="VALUE">
<block type="math_number" id="Q9q~fPo)J!e_d_5.DALC">
<field name="NUM">35</field>
</block>
</value>
<next>
<block type="variables_set" id="%1N.t=+pK*#b8[(mjM~^">
<field name="VAR" id="EJs|BDIX`j/e1zgxqCW#">nrOfPoints</field>
<value name="VALUE">
<block type="math_number" id="Xq`7uo4kM18~2e(GkKiq">
<field name="NUM">40</field>
</block>
</value>
<next>
<block type="variables_set" id="x_9cSNRV-Ub-ZC}:y;QH">
<field name="VAR" id="xf9p]3r#8iMXpX(29ezO">middleRadius</field>
<value name="VALUE">
<block type="math_number" id="|K6B2_tZ{e`FxmGC@NrW">
<field name="NUM">0.3</field>
</block>
</value>
<next>
<block type="variables_set" id="fK~C.Nt{JaA9lg6KeAdI">
<field name="VAR" id="1cp{/K_Q%Jy(WX%OgjF?">edgeRadius</field>
<value name="VALUE">
<block type="math_number" id="k}W?eAxeV7t;*mUTRI#C">
<field name="NUM">0.02</field>
</block>
</value>
<next>
<block type="variables_set" id="zXOt=T92Ja@4[!:uZV5q">
<field name="VAR" id="#h4SlOr(B9Jl~r!]!,];">midParameter</field>
<value name="VALUE">
<block type="math_number" id="[/QGLkx$3-iK1:TG;D_=">
<field name="NUM">0.3</field>
</block>
</value>
<next>
<block type="variables_set" id="z6ja_~SY5?@C}`NK?Xu4">
<field name="VAR" id="%Pk:N/*q~RZTZU`gz:xO">surfaceLofted</field>
<value name="VALUE">
<block type="bitbybit.verb.surface.createSurfaceByLoftingCurves" id="P|dWSoHW$_0)[t-gMyS!">
<value name="DegreeV">
<block type="math_number" id="_=QAQ:ZB!k%CF)^h`HML">
<field name="NUM">3</field>
</block>
</value>
<value name="Curves">
<block type="lists_create_with" id="4[)S2Oh$ciBnooP/edEJ">
<mutation items="3">
</mutation>
<value name="ADD0">
<block type="bitbybit.verb.curve.createCurveByPoints" id="`{F-5$bTPfy9Z$[s8M?x">
<value name="Degree">
<block type="math_number" id="SU}w((lQ0*ao:-R_htxv">
<field name="NUM">3</field>
</block>
</value>
<value name="Points">
<block type="lists_create_with" id="{k=qmL._DbPy|QcZdvHB">
<mutation items="4">
</mutation>
<value name="ADD0">
<block type="bitbybit.point.pointXYZ" id="skDsK9!dB#q7`*S:|I}(">
<value name="X">
<block type="math_number" id="qdzglmZ[H(Q|U+?KLJzN">
<field name="NUM">-2</field>
</block>
</value>
<value name="Y">
<block type="math_number" id="IEwRfk`~4J[D+U4H.*?_">
<field name="NUM">0</field>
</block>
</value>
<value name="Z">
<block type="math_number" id="1IMD,`mt*%naRtc553^r">
<field name="NUM">-10</field>
</block>
</value>
</block>
</value>
<value name="ADD1">
<block type="bitbybit.point.pointXYZ" id="~{)bIAP)3N26#}]2[R0{">
<value name="X">
<block type="math_number" id="eD}{nSlr6Bke2(;J?$dn">
<field name="NUM">0</field>
</block>
</value>
<value name="Y">
<block type="math_number" id="q_kNW{=H#pe6eC:H-`0A">
<field name="NUM">1</field>
</block>
</value>
<value name="Z">
<block type="math_number" id="zHz;[7tclLPfu}2/QtC4">
<field name="NUM">0</field>
</block>
</value>
</block>
</value>
<value name="ADD2">
<block type="bitbybit.point.pointXYZ" id=":CbCWX@;{CAnP+/sG%Ta">
<value name="X">
<block type="math_number" id="tu.nn}rL,3spl87c#}O^">
<field name="NUM">0</field>
</block>
</value>
<value name="Y">
<block type="math_number" id="je_S2C?Z(nD8ry{E+tNA">
<field name="NUM">1</field>
</block>
</value>
<value name="Z">
<block type="math_number" id=",Ja*v!T(pa}Qu7=LWxAu">
<field name="NUM">1</field>
</block>
</value>
</block>
</value>
<value name="ADD3">
<block type="bitbybit.point.pointXYZ" id="uYm4o*vA_RrM/D7B4k8S">
<value name="X">
<block type="math_number" id="[%5F8hu1)u,sih!0)CKK">
<field name="NUM">1</field>
</block>
</value>
<value name="Y">
<block type="math_number" id="rn!=@[_;:3B$b=o?r*xk">
<field name="NUM">0</field>
</block>
</value>
<value name="Z">
<block type="math_number" id="2?(p*k{Z[p1{`6`ZACfm">
<field name="NUM">10</field>
</block>
</value>
</block>
</value>
</block>
</value>
</block>
</value>
<value name="ADD1">
<block type="bitbybit.verb.curve.createCurveByPoints" id="iD-]c%}QUCe%PCUu`j=;">
<value name="Degree">
<block type="math_number" id="Mk:+,9XjAl!}a0awd5tO">
<field name="NUM">3</field>
</block>
</value>
<value name="Points">
<block type="lists_create_with" id="d#3^lY)tXj-J8}U^1jMc">
<mutation items="4">
</mutation>
<value name="ADD0">
<block type="bitbybit.point.pointXYZ" id="MOJLYl^u$RU=0bf,Muwf">
<value name="X">
<block type="math_number" id="rr/UCMxK6$`_*Z-D[to[">
<field name="NUM">1</field>
</block>
</value>
<value name="Y">
<block type="variables_get" id="=E3Cr#7.s*(]gIO*oV3Q">
<field name="VAR" id="-~3e:rHeD.E^/`~5NQl^">firstLevelHeight</field>
</block>
</value>
<value name="Z">
<block type="math_number" id="C^|T7`:6SB1gOJF/I!-z">
<field name="NUM">-2</field>
</block>
</value>
</block>
</value>
<value name="ADD1">
<block type="bitbybit.point.pointXYZ" id="Mn]vay^0Y2$l:KgEIKL$">
<value name="X">
<block type="math_number" id="noxgpD+f~-X:-Hu8ewM|">
<field name="NUM">1</field>
</block>
</value>
<value name="Y">
<block type="math_arithmetic" id="dMFVMQzRxRcbP.fLc+b5">
<field name="OP">ADD</field>
<value name="A">
<block type="variables_get" id="f7Qpb#C-Zavzh]%{=i1Q">
<field name="VAR" id="-~3e:rHeD.E^/`~5NQl^">firstLevelHeight</field>
</block>
</value>
<value name="B">
<block type="math_number" id="2xE2D|p]#F{Zk7u/V}Mp">
<field name="NUM">0.5</field>
</block>
</value>
</block>
</value>
<value name="Z">
<block type="math_number" id="2iT50ZfeoOTV~5Acb-mg">
<field name="NUM">0</field>
</block>
</value>
</block>
</value>
<value name="ADD2">
<block type="bitbybit.point.pointXYZ" id="3Aq~oleou`9TF*YR0zO*">
<value name="X">
<block type="math_number" id=")iakH3BHMu@|kRF8SXwg">
<field name="NUM">2</field>
</block>
</value>
<value name="Y">
<block type="variables_get" id="rX6;S6ZtPT0T|Njd|)%(">
<field name="VAR" id="-~3e:rHeD.E^/`~5NQl^">firstLevelHeight</field>
</block>
</value>
<value name="Z">
<block type="math_number" id="(sdC4glaP=kbMqBNk;xo">
<field name="NUM">1</field>
</block>
</value>
</block>
</value>
<value name="ADD3">
<block type="bitbybit.point.pointXYZ" id="qx[Av`x@=eHRE:ImQ_tM">
<value name="X">
<block type="math_number" id="nXhf)~YUJOi;P.XIe*)N">
<field name="NUM">2</field>
</block>
</value>
<value name="Y">
<block type="variables_get" id="3An6t5Zh2%UFPiC;Y2:`">
<field name="VAR" id="-~3e:rHeD.E^/`~5NQl^">firstLevelHeight</field>
</block>
</value>
<value name="Z">
<block type="math_number" id="ZCKGD@W?1oUi1mV,*96I">
<field name="NUM">4</field>
</block>
</value>
</block>
</value>
</block>
</value>
</block>
</value>
<value name="ADD2">
<block type="bitbybit.verb.curve.createCurveByPoints" id="E@R]AEQ/MJ.GmW%ZveDS">
<value name="Degree">
<block type="math_number" id="BaS65r?eZw#6^8KblzV%">
<field name="NUM">3</field>
</block>
</value>
<value name="Points">
<block type="lists_create_with" id="O|JE(Lq)+j2_vS[GM7U;">
<mutation items="4">
</mutation>
<value name="ADD0">
<block type="bitbybit.point.pointXYZ" id="+zht$]uK5./IU-h(%p0W">
<value name="X">
<block type="math_number" id="_.p-ZZI01BQHOP-@w=iP">
<field name="NUM">-3</field>
</block>
</value>
<value name="Y">
<block type="variables_get" id="zVS`EON`BA*Wy7]zdv:h">
<field name="VAR" id="8m8=RSb/)Z!fTQF[q_cM">secondLayerHeight</field>
</block>
</value>
<value name="Z">
<block type="math_number" id="Zji^SJ{3;s7Cc1NDv|g2">
<field name="NUM">-5</field>
</block>
</value>
</block>
</value>
<value name="ADD1">
<block type="bitbybit.point.pointXYZ" id="RO-t7X|DO_-$V`Sl8:_8">
<value name="X">
<block type="math_number" id="C^:Ab5~smQ_OTvo!f}nf">
<field name="NUM">-2</field>
</block>
</value>
<value name="Y">
<block type="variables_get" id="Pasb[tK}Nnv2CfcSE/Le">
<field name="VAR" id="8m8=RSb/)Z!fTQF[q_cM">secondLayerHeight</field>
</block>
</value>
<value name="Z">
<block type="math_number" id="H{GEM+(F_B}q]p]~//7V">
<field name="NUM">0</field>
</block>
</value>
</block>
</value>
<value name="ADD2">
<block type="bitbybit.point.pointXYZ" id="Nf=-cG~`0{z/aY1DF+FG">
<value name="X">
<block type="math_number" id="_n8|h6f.{rkmBFWnZG(Y">
<field name="NUM">0</field>
</block>
</value>
<value name="Y">
<block type="math_arithmetic" id="DpK2y;yRk*BC[l`A![`;">
<field name="OP">ADD</field>
<value name="A">
<block type="variables_get" id="Y(x.m;5/ktUc@-QV?QXL">
<field name="VAR" id="8m8=RSb/)Z!fTQF[q_cM">secondLayerHeight</field>
</block>
</value>
<value name="B">
<block type="math_number" id="Gf-=5)B!RUi`Zn^BlWU}">
<field name="NUM">1</field>
</block>
</value>
</block>
</value>
<value name="Z">
<block type="math_number" id="Z}gX3M=*FUNdO,A|G}Q7">
<field name="NUM">1</field>
</block>
</value>
</block>
</value>
<value name="ADD3">
<block type="bitbybit.point.pointXYZ" id="}8)%JgUjq*RMcov0tZsO">
<value name="X">
<block type="math_number" id="OqL$NBL1~crp0jL{|A8o">
<field name="NUM">0</field>
</block>
</value>
<value name="Y">
<block type="variables_get" id="x)S=VDr;p)xol$~)#@`^">
<field name="VAR" id="8m8=RSb/)Z!fTQF[q_cM">secondLayerHeight</field>
</block>
</value>
<value name="Z">
<block type="math_number" id="m%7sw;?hH:O!-O(+%(fM">
<field name="NUM">7</field>
</block>
</value>
</block>
</value>
</block>
</value>
</block>
</value>
</block>
</value>
</block>
</value>
<next>
<block type="variables_set" id="9]x1)#BH~78S`y{UX7*A">
<field name="VAR" id="uDB^3pilQ)*V%.~fBPbQ">surfaceRotated</field>
<value name="VALUE">
<block type="bitbybit.verb.surface.transformSurface" id="m,$*mJ`=+tV$(I9Qdi^`">
<value name="Surface">
<block type="bitbybit.verb.surface.transformSurface" id="!Vh73f4W!_z]6j]+BI~r">
<value name="Surface">
<block type="variables_get" id="BBnO_]YK3{(^p:pHv.#f">
<field name="VAR" id="%Pk:N/*q~RZTZU`gz:xO">surfaceLofted</field>
</block>
</value>
<value name="Transformation">
<block type="bitbybit.babylon.transforms.rotationCenterY" id="4SZL9N=:Tl]SjS@8*#qz">
<value name="Angle">
<block type="math_number" id="+uI==QEP0%GmEF07Ie}4">
<field name="NUM">180</field>
</block>
</value>
<value name="Center">
<block type="bitbybit.vector.vectorXYZ" id="DsnstMkmcneA7{]@Sb+p">
<value name="X">
<block type="math_number" id="$eFz{Pmb=T.Fv:*}]0{m">
<field name="NUM">0</field>
</block>
</value>
<value name="Y">
<block type="math_number" id="I5l#N22EuE*)zSzlm%^K">
<field name="NUM">0</field>
</block>
</value>
<value name="Z">
<block type="math_number" id="Rr12UNLQ(.]kC2~YuOS-">
<field name="NUM">0</field>
</block>
</value>
</block>
</value>
</block>
</value>
</block>
</value>
<value name="Transformation">
<block type="bitbybit.babylon.transforms.translationXYZ" id="TgPiV{rV2-+T3)X+)hVm">
<value name="Translation">
<block type="bitbybit.vector.vectorXYZ" id="UJr3+nF:e)qjzFWAT^?p">
<value name="X">
<block type="math_number" id="nFSH6?8/UM41,yyP|FJ!">
<field name="NUM">5</field>
</block>
</value>
<value name="Y">
<block type="math_number" id="4,@%@9g?YWMy!CbK{m~Z">
<field name="NUM">0</field>
</block>
</value>
<value name="Z">
<block type="math_number" id=")DR#!u#7A!iDpDXuMZat">
<field name="NUM">1</field>
</block>
</value>
</block>
</value>
</block>
</value>
</block>
</value>
<next>
<block type="variables_set" id="#97xW9%FtTosviQRU_Lc">
<field name="VAR" id="i|28j8~zA:2L]=%@dwX2">isoCurvesFirst</field>
<value name="VALUE">
<block type="bitbybit.verb.surface.isocurvesSubdivision" id="9H~=JBy`Zckd#e;|!Qd?">
<value name="Surface">
<block type="variables_get" id="TRf$|Yr;Xu`3rTY/arYM">
<field name="VAR" id="%Pk:N/*q~RZTZU`gz:xO">surfaceLofted</field>
</block>
</value>
<value name="UseV">
<block type="logic_boolean" id="xZVa9A%kk`jI)1hi;XQd">
<field name="BOOL">FALSE</field>
</block>
</value>
<value name="IncludeLast">
<block type="logic_boolean" id="mXJ]MzeR#3,.c2y1*-Db">
<field name="BOOL">TRUE</field>
</block>
</value>
<value name="IncludeFirst">
<block type="logic_boolean" id="Xo^RTPMsX`O69RRa?kC{">
<field name="BOOL">TRUE</field>
</block>
</value>
<value name="IsocurveSegments">
<block type="variables_get" id="%ezL)DM~p0X3*0D0qVJ6">
<field name="VAR" id="3czM?n3GtwbchQ[L1*xW">nrOfVerticalSubdivisions</field>
</block>
</value>
</block>
</value>
<next>
<block type="variables_set" id="V=bV}pMA`JFIuDkO_Qu.">
<field name="VAR" id="T,xof;Si}bYur-5X+$i*">isoCurvesSecond</field>
<value name="VALUE">
<block type="bitbybit.verb.surface.isocurvesSubdivision" id="qjfvTn`Z,^ue[]sp94R$">
<value name="Surface">
<block type="variables_get" id="VPisC@BDLTDAH;U(UygW">
<field name="VAR" id="uDB^3pilQ)*V%.~fBPbQ">surfaceRotated</field>
</block>
</value>
<value name="UseV">
<block type="logic_boolean" id="szjp:Rr$(d4`w(13%7I}">
<field name="BOOL">FALSE</field>
</block>
</value>
<value name="IncludeLast">
<block type="logic_boolean" id="6n]0;6$Vv%Y}Glk;FQr7">
<field name="BOOL">TRUE</field>
</block>
</value>
<value name="IncludeFirst">
<block type="logic_boolean" id="T:O{OkT;giJ$OO{xhm,f">
<field name="BOOL">TRUE</field>
</block>
</value>
<value name="IsocurveSegments">
<block type="variables_get" id="haw@url$ZIsKxBzaYH~*">
<field name="VAR" id="3czM?n3GtwbchQ[L1*xW">nrOfVerticalSubdivisions</field>
</block>
</value>
</block>
</value>
<next>
<block type="variables_set" id="S:w-4!`pcOqqK_`!XoX:">
<field name="VAR" id="Zz;AxFxh2-%;TVRMZ.F:">allHulls</field>
<value name="VALUE">
<block type="lists_create_with" id="AJ/#Pnv-sv3eg,5.u^rE">
<mutation items="0">
</mutation>
</block>
</value>
<next>
<block type="controls_for" id=")}Y]Xat7l3?`B6CEL(NH">
<field name="VAR" id="eo9jywI/rN9Ch4V@M.p,">i</field>
<value name="FROM">
<block type="math_number" id="mR4GBN6NT#;E86|Z5|:Y">
<field name="NUM">1</field>
</block>
</value>
<value name="TO">
<block type="variables_get" id="*ptwio8~@65R_IPuBiCC">
<field name="VAR" id="3czM?n3GtwbchQ[L1*xW">nrOfVerticalSubdivisions</field>
</block>
</value>
<value name="BY">
<block type="math_number" id="-??}5-q^Jvw8a}mUXd-1">
<field name="NUM">1</field>
</block>
</value>
<statement name="DO">
<block type="variables_set" id="Icb!o,t#5G+~RABY]_y2">
<field name="VAR" id="dJl0j^G+tB06_YP9$n]e">pointsFirstIsoCurve</field>
<value name="VALUE">
<block type="bitbybit.verb.curve.divideByEqualArcLengthToPoints" id="rF2^o!AY9-Y-uOD|wjLc">
<value name="Curve">
<block type="lists_getIndex" id="Kv%uR.sQ.aW|f$OBnv0M">
<mutation statement="false" at="true">
</mutation>
<field name="MODE">GET</field>
<field name="WHERE">FROM_START</field>
<value name="VALUE">
<block type="variables_get" id="JqA0C0S:wWtZ`k._@KL9">
<field name="VAR" id="i|28j8~zA:2L]=%@dwX2">isoCurvesFirst</field>
</block>
</value>
<value name="AT">
<block type="variables_get" id="ePIIkMpEv2:EI@uG-?u3">
<field name="VAR" id="eo9jywI/rN9Ch4V@M.p,">i</field>
</block>
</value>
</block>
</value>
<value name="Subdivision">
<block type="variables_get" id="qHyKpT7RZHMT1.aHQxl!">
<field name="VAR" id="EJs|BDIX`j/e1zgxqCW#">nrOfPoints</field>
</block>
</value>
</block>
</value>
<next>
<block type="variables_set" id="dCf:Vus`tOxv.~rJx)wF">
<field name="VAR" id="70`op`v;}PBD~]BhIp+l">pointsSecondIsoCurve</field>
<value name="VALUE">
<block type="bitbybit.verb.curve.divideByEqualArcLengthToPoints" id="w(1p_e88A2Xowz1zD%.{">
<value name="Curve">
<block type="lists_getIndex" id="/Rjau~$a4fR/B0)u0c(H">
<mutation statement="false" at="true">
</mutation>
<field name="MODE">GET</field>
<field name="WHERE">FROM_END</field>
<value name="VALUE">
<block type="variables_get" id="RSjm{w_.=5w8k[nDHzE-">
<field name="VAR" id="T,xof;Si}bYur-5X+$i*">isoCurvesSecond</field>
</block>
</value>
<value name="AT">
<block type="variables_get" id="rg}*:2fMrZ.YX-V*3VE8">
<field name="VAR" id="eo9jywI/rN9Ch4V@M.p,">i</field>
</block>
</value>
</block>
</value>
<value name="Subdivision">
<block type="variables_get" id="L?*r.OpTdxLa+57?lsz9">
<field name="VAR" id="EJs|BDIX`j/e1zgxqCW#">nrOfPoints</field>
</block>
</value>
</block>
</value>
<next>
<block type="variables_set" id="Ko,CYU:,@[B2DKW9tiSC">
<field name="VAR" id="jQdSpV4QX9+X?955;6rN">allMidpoints</field>
<value name="VALUE">
<block type="lists_create_with" id="?MRk$S,1F/72iWBAEYEA">
<mutation items="0">
</mutation>
</block>
</value>
<next>
<block type="controls_for" id="5,l+|2Kia/Qj9EhuC!OA">
<field name="VAR" id="[jNR5^xhnc7GF2[@lr-*">j</field>
<value name="FROM">
<block type="math_number" id="k2zfGEI@/@#zTuUO1pfX">
<field name="NUM">1</field>
</block>
</value>
<value name="TO">
<block type="variables_get" id="a[/o-knO`=VoEO(u!Oq3">
<field name="VAR" id="EJs|BDIX`j/e1zgxqCW#">nrOfPoints</field>
</block>
</value>
<value name="BY">
<block type="math_number" id="_/S=O,JE;cs+/#ZMs=:}">
<field name="NUM">1</field>
</block>
</value>
<statement name="DO">
<block type="variables_set" id="#Rb!b]dqeaZ#X$oLmoQ}">
<field name="VAR" id="hkwJu-:`ZzBPH4^h|^p3">firstPoint</field>
<value name="VALUE">
<block type="lists_getIndex" id="rWgzoY~!Ra;D.pNyS]/;">
<mutation statement="false" at="true">
</mutation>
<field name="MODE">GET</field>
<field name="WHERE">FROM_START</field>
<value name="VALUE">
<block type="variables_get" id="#|WQz#CPPs2V%Qu1Y`u/">
<field name="VAR" id="dJl0j^G+tB06_YP9$n]e">pointsFirstIsoCurve</field>
</block>
</value>
<value name="AT">
<block type="variables_get" id="4z(r!eQ@v=q0[0ad/KA#">
<field name="VAR" id="[jNR5^xhnc7GF2[@lr-*">j</field>
</block>
</value>
</block>
</value>
<next>
<block type="variables_set" id="D3o#zj5c?gG@|}-mv7G!">
<field name="VAR" id="R*@5S]@X(v~ib}_%mp(e">secondPoint</field>
<value name="VALUE">
<block type="lists_getIndex" id="AK#4^Y-EBAoq30hV681?">
<mutation statement="false" at="true">
</mutation>
<field name="MODE">GET</field>
<field name="WHERE">FROM_START</field>
<value name="VALUE">
<block type="variables_get" id="|B]R8XvAU8y+!{k]NzIo">
<field name="VAR" id="70`op`v;}PBD~]BhIp+l">pointsSecondIsoCurve</field>
</block>
</value>
<value name="AT">
<block type="variables_get" id="WLUo,b;g;r7m7n@u#BYR">
<field name="VAR" id="[jNR5^xhnc7GF2[@lr-*">j</field>
</block>
</value>
</block>
</value>
<next>
<block type="variables_set" id="gTe]od$sB;Y$0mV]mJlW">
<field name="VAR" id="(/isNHCv1@[pbcbsiU}d">joiningCurve</field>
<value name="VALUE">
<block type="bitbybit.line.convertToNurbsCurve" id="ptyBVK/}gMvm8M4Z8Tjw">
<value name="Line">
<block type="bitbybit.line.create" id="bIS2vGTpV#7unxI_gTH5">
<value name="Start">
<block type="variables_get" id="f!S.Hw]J%J$|#5BiFe6f">
<field name="VAR" id="hkwJu-:`ZzBPH4^h|^p3">firstPoint</field>
</block>
</value>
<value name="End">
<block type="variables_get" id="[$N^!Z]_$bt`htZxh`h{">
<field name="VAR" id="R*@5S]@X(v~ib}_%mp(e">secondPoint</field>
</block>
</value>
</block>
</value>
</block>
</value>
<next>
<block type="variables_set" id="u-6eZ59Cl]ts{gns?{1K">
<field name="VAR" id="#9TPzvFXmz#^mxSbr^2;">midPoint</field>
<value name="VALUE">
<block type="bitbybit.verb.curve.pointAtParam" id="!{*);KOi/4sO[su31M))">
<value name="Curve">
<block type="variables_get" id="@?/sO%=09px9L_SeIAen">
<field name="VAR" id="(/isNHCv1@[pbcbsiU}d">joiningCurve</field>
</block>
</value>
<value name="Parameter">
<block type="variables_get" id="tN*p_?N=[kQP%.%0_o{!">
<field name="VAR" id="#h4SlOr(B9Jl~r!]!,];">midParameter</field>
</block>
</value>
</block>
</value>
<next>
<block type="lists_setIndex" id="ll#=:k];[4NpCP17IPqf">
<mutation at="false">
</mutation>
<field name="MODE">INSERT</field>
<field name="WHERE">LAST</field>
<value name="LIST">
<block type="variables_get" id="jG6:]8L,R^l175-yj#Q8">
<field name="VAR" id="jQdSpV4QX9+X?955;6rN">allMidpoints</field>
</block>
</value>
<value name="TO">
<block type="variables_get" id="L)+rKZ1]($(QA4Ip$bV/">
<field name="VAR" id="#9TPzvFXmz#^mxSbr^2;">midPoint</field>
</block>
</value>
<next>
<block type="lists_setIndex" id="e(`!!j0W1wxcB9b1#RI{">
<mutation at="false">
</mutation>
<field name="MODE">INSERT</field>
<field name="WHERE">LAST</field>
<value name="LIST">
<block type="variables_get" id="l+Sf8y:Rt(+TFCxIG@,,">
<field name="VAR" id="Zz;AxFxh2-%;TVRMZ.F:">allHulls</field>
</block>
</value>
<value name="TO">
<block type="bitbybit.jscad.hulls.hullChain" id="]rqSRymxqo_SmklX3{pu">
<value name="Meshes">
<block type="lists_create_with" id="d{)xRjLj)P=-{0zE`tgd">
<mutation items="3">
</mutation>
<value name="ADD0">
<block type="bitbybit.jscad.shapes.geodesicSphere" id="ij?bFXWk7-$*fn.G4f_/">
<value name="Center">
<block type="variables_get" id=";0rd]3@w:Oy=)(VPrN}i">
<field name="VAR" id="hkwJu-:`ZzBPH4^h|^p3">firstPoint</field>
</block>
</value>
<value name="Radius">
<block type="variables_get" id="ep(C:]AUT@r[ulS6I]Q8">
<field name="VAR" id="1cp{/K_Q%Jy(WX%OgjF?">edgeRadius</field>
</block>
</value>
<value name="Frequency">
<block type="math_number" id="*t_2tTy|z]HXK#s%.dj{">
<field name="NUM">6</field>
</block>
</value>
</block>
</value>
<value name="ADD1">
<block type="bitbybit.jscad.shapes.geodesicSphere" id="wBuFzVxXkVLSw6P^C1[P">
<value name="Center">
<block type="variables_get" id="PLWPS3=NHZ#N]6V-a.3W">
<field name="VAR" id="#9TPzvFXmz#^mxSbr^2;">midPoint</field>
</block>
</value>
<value name="Radius">
<block type="variables_get" id="Fj~?;(Cbnz_H(q+fUc@`">
<field name="VAR" id="xf9p]3r#8iMXpX(29ezO">middleRadius</field>
</block>
</value>
<value name="Frequency">
<block type="math_number" id="Q[k5q?x]}/S9#w8NPNEx">
<field name="NUM">6</field>
</block>
</value>
</block>
</value>
<value name="ADD2">
<block type="bitbybit.jscad.shapes.geodesicSphere" id="2z;pW/NLK8Ej-zW]5fOl">
<value name="Center">
<block type="variables_get" id="zpdUIxLSj4E88QpYlEkU">
<field name="VAR" id="R*@5S]@X(v~ib}_%mp(e">secondPoint</field>
</block>
</value>
<value name="Radius">
<block type="variables_get" id="3LT}Gi{s+wYC=Ouex)~8">
<field name="VAR" id="1cp{/K_Q%Jy(WX%OgjF?">edgeRadius</field>
</block>
</value>
<value name="Frequency">
<block type="math_number" id="CN3)=N(VOfwvsZ6kUnWv">
<field name="NUM">6</field>
</block>
</value>
</block>
</value>
</block>
</value>
</block>
</value>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</statement>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</statement>
<next>
<block type="bitbybit.draw.drawAnyAsyncNoReturn" id="{=mz1Nau.6Z=Gk7gB$2d">
<value name="Entity">
<block type="variables_get" id="M##~lKs+0YS,$OBGbocP">
<field name="VAR" id="Zz;AxFxh2-%;TVRMZ.F:">allHulls</field>
</block>
</value>
<value name="Options">
<block type="bitbybit.draw.optionsSimple" id="8pnq5/:TFdRrC/6jKV8m">
<value name="Colours">
<block type="colour_picker" id="xfwQbgB2.M5Jw0_y-}Jh">
<field name="COLOUR">#3366ff</field>
</block>
</value>
<value name="Size">
<block type="math_number" id="ZK.yptm2m;1g.%v$l4A3">
<field name="NUM">3</field>
</block>
</value>
<value name="Opacity">
<block type="math_number" id="7[%{,NC8F-p8XHxyw|U|">
<field name="NUM">1</field>
</block>
</value>
<value name="Updatable">
<block type="logic_boolean" id="Zlv+w^Rvkt[RTO|7(Olw">
<field name="BOOL">FALSE</field>
</block>
</value>
</block>
</value>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
<block type="math_number" id="p~(=)/$J{^+aQuPv|wca" x="608" y="1188">
<field name="NUM">0.5</field>
</block>
</xml>