# pybricks blocks file:{"blocks":{"languageVersion":0,"blocks":[{"type":"blockGlobalSetup","id":"bjK,wS1MYO7aiYkFSwd{","x":1015,"y":-183,"deletable":false,"next":{"block":{"type":"variables_set_prime_hub","id":"UAvXx-XsiDl:((iQHiRr","extraState":{"optionLevel":0},"fields":{"VAR":{"id":"Pjzp+AurOw(q?)aqzicq"}},"next":{"block":{"type":"variables_set_color_sensor","id":"QLkv4MEF?v7K;J~,EHXm","extraState":{"optionLevel":0},"fields":{"VAR":{"id":"1gtl=w`S4:OahZl~[ol9"}},"inputs":{"PORT":{"shadow":{"type":"blockParametersPort","id":"uB_,Q?*elPAFy`fPp0(,","fields":{"NAME":"C"}}}},"next":{"block":{"type":"variables_set_motor","id":"mEt/K#@-ESznFQWVEwS#","fields":{"VAR":{"id":"rMg2ItL[^jRk2:=.i9`5"}},"inputs":{"PORT":{"shadow":{"type":"blockParametersPort","id":"v!t*.H~)uTb8p@z23!BM","fields":{"NAME":"E"}}},"POSITIVE_DIRECTION":{"shadow":{"type":"blockParametersDirection","id":"!T~yCN8!eq=]*:9#N0`d","fields":{"SELECTION":"Direction.COUNTERCLOCKWISE"}}}},"next":{"block":{"type":"variables_set_motor","id":"+ACI%-g.h^Rw4b?83:,V","fields":{"VAR":{"id":"6+h-EYeIPaJ4YP#pg^.~"}},"inputs":{"PORT":{"shadow":{"type":"blockParametersPort","id":"%D~BLG]3}])ff~ae()jv","fields":{"NAME":"F"}}},"POSITIVE_DIRECTION":{"shadow":{"type":"blockParametersDirection","id":"|S{,X|ct-Xup_acc_X]{","fields":{"SELECTION":"Direction.CLOCKWISE"}}}},"next":{"block":{"type":"variables_setup_any","id":"KdY9H@FM^TePD!@[F+Zk","fields":{"VAR":{"id":"q$(/3nX|W{!$NYtofW@#"}},"inputs":{"VALUE0":{"shadow":{"type":"blockMathNumber","id":"cVzT:{@^BMxML@eB3b]r","fields":{"NUM":0}}}},"next":{"block":{"type":"variables_setup_any","id":"4FCJcIJ{3zM8?[(w`2HU","fields":{"VAR":{"id":"ukF9;T)sI=]^*bEDzSjj"}},"inputs":{"VALUE0":{"shadow":{"type":"blockMathNumber","id":"l7@V:P?89AeWIwX_(h|J","fields":{"NUM":0}}}}}}}}}}}}}}}}},{"type":"blockGlobalStart","id":"3tJe|AWl0baN(wH9a$@.","x":1021,"y":185,"deletable":false,"next":{"block":{"type":"blockFlowWhile","id":"DSe?2VN;q,{.IiwVU6IZ","fields":{"MODE":"WHILE"},"inputs":{"BOOL":{"shadow":{"type":"blockLogicTrue","id":"mC,BdN]bB_Xd,s5fkBzP"}},"DO":{"block":{"type":"blockPrint","id":"X)I[6MEQRy4M}J,n|U;o","extraState":{"optionLevel":1},"fields":{"SEP":"SEP_SPACE"},"inputs":{"TEXT0":{"shadow":{"type":"text","id":"|Xg5H./@xoWS.PVUkimH","fields":{"TEXT":"abc"}},"block":{"type":"blockFunctionCallerValue","id":"JYFwSUxbidk|fEZD.#qM","extraState":{"optionLevel":0},"fields":{"ICON":"SUITCASE","VAR":{"id":"n-]$AfTwaUkwmDT2S7Kl"}}}},"TEXT1":{"shadow":{"type":"text","id":"|tE?Iea^#{hzKbFQSl9F","fields":{"TEXT":"abc"}},"block":{"type":"blockFunctionCallerValue","id":"jVeyz]S5[r([_=cl1T?Y","extraState":{"optionLevel":0},"fields":{"ICON":"SUITCASE","VAR":{"id":"mx/*-.-3RK-Pi)1LAzX,"}}}}},"next":{"block":{"type":"blockIfElse","id":"g8%-:/T8g0z2ThmygDW4","extraState":{"optionLevel":1},"inputs":{"IF0":{"shadow":{"type":"blockLogicTrue","id":"L2bV(s~(NEa5khzn*=q/"},"block":{"type":"blockLogicCompare","id":"rwvo(UeKi4Lp[k%0c1MT","fields":{"OP1":"GT"},"inputs":{"A":{"shadow":{"type":"blockMathNumber","id":";opIs]6Lqd-xc[]G`u,x","fields":{"NUM":3}},"block":{"type":"blockFunctionCallerValue","id":"%xvwF~Zpp#u$Xc+x|PZV","extraState":{"optionLevel":0},"fields":{"ICON":"SUITCASE","VAR":{"id":"mx/*-.-3RK-Pi)1LAzX,"}}}},"B":{"shadow":{"type":"blockMathNumber","id":"$ktzD~o-`f8_,7]q7WsW","fields":{"NUM":10}}}}}},"DO0":{"block":{"type":"blockMotorDuty","id":"`EV*shr@9e[]^N81g/4V","inputs":{"VAR":{"shadow":{"type":"variables_get_simple_motor_device","id":"x89LyALycF]5WV5Up5yu","fields":{"VAR":{"id":"rMg2ItL[^jRk2:=.i9`5","name":"motorL","type":"Motor"}}}},"VALUE0":{"shadow":{"type":"unit_percent","id":"|RFi$O(tRVGVc=d5Qg-j","fields":{"VALUE0":0}}}},"next":{"block":{"type":"blockMotorDuty","id":"Ez-f0/WX{n3!$AlW[?;E","inputs":{"VAR":{"shadow":{"type":"variables_get_simple_motor_device","id":"-Fe1=iy/Y(+!#-Q-o#CX","fields":{"VAR":{"id":"6+h-EYeIPaJ4YP#pg^.~","name":"motorR","type":"Motor"}}}},"VALUE0":{"shadow":{"type":"unit_percent","id":"e|b%4Ng$iG.VA.wa$3;0","fields":{"VALUE0":0}}}}}}}},"ELSE":{"block":{"type":"blockVariableSetValue","id":"x(riMGIJy.u$0+0zdY:M","inputs":{"VAR":{"shadow":{"type":"variables_get_any","id":"cye.{};zPhr!T5S:5E(M","fields":{"VAR":{"id":"q$(/3nX|W{!$NYtofW@#","name":"PD","type":"Any"}}}},"VALUE0":{"shadow":{"type":"blockMathNumber","id":"+fTvp3|hB.k]U:JG!h,j","fields":{"NUM":0}},"block":{"type":"blockMathArithmetic","id":"7KKXMiDW-As:vWvTMsJm","fields":{"OP":"ADD"},"inputs":{"A":{"shadow":{"type":"blockMathNumber","id":",L%*Q5rSm30RChJb#kTG","fields":{"NUM":1}},"block":{"type":"blockMathArithmetic","id":"(^M?Nj-MAd#N-V/~)g@a","fields":{"OP":"MULTIPLY"},"inputs":{"A":{"shadow":{"type":"blockMathNumber","id":"y.jf3:?|fv5n3?;%R_gJ","fields":{"NUM":1}},"block":{"type":"blockFunctionCallerValue","id":"x8vXH{)`-2@e0`/nUduH","extraState":{"optionLevel":0},"fields":{"ICON":"SUITCASE","VAR":{"id":"n-]$AfTwaUkwmDT2S7Kl"}}}},"B":{"shadow":{"type":"blockMathNumber","id":"KBy~{pCJQqhQouMu{no;","fields":{"NUM":7}}}}}},"B":{"shadow":{"type":"blockMathNumber","id":"dl7Bd_or)]oj@AxiV%o4","fields":{"NUM":1}},"block":{"type":"blockMathArithmetic","id":"BomC,594A@nBRe1^0BT$","fields":{"OP":"MULTIPLY"},"inputs":{"A":{"shadow":{"type":"blockMathNumber","id":"QrO[}+C8+7lE6U?Y_kO_","fields":{"NUM":1}},"block":{"type":"blockMathArithmetic","id":"`5l2afgIS}uz}#hrFu5|","fields":{"OP":"MINUS"},"inputs":{"A":{"shadow":{"type":"blockMathNumber","id":"p7EYnycuL%N9lxs0M;l2","fields":{"NUM":1}},"block":{"type":"blockFunctionCallerValue","id":"f%,w]ewo;/=KQrcOpK]E","extraState":{"optionLevel":0},"fields":{"ICON":"SUITCASE","VAR":{"id":"n-]$AfTwaUkwmDT2S7Kl"}}}},"B":{"shadow":{"type":"blockMathNumber","id":"~$X4+X,DKE-)l=L|i|+S","fields":{"NUM":1}},"block":{"type":"blockVariableGetValue","id":"_E5P[5q~2zGyAt|Tm:X=","inputs":{"VAR":{"shadow":{"type":"variables_get_any","id":"fqd@hd-OH1LY6u!ZmCX|","fields":{"VAR":{"id":"ukF9;T)sI=]^*bEDzSjj","name":"lastError","type":"Any"}}}}}}}}}},"B":{"shadow":{"type":"blockMathNumber","id":"9|yWj7bs@AX{oaWx7rKZ","fields":{"NUM":50}}}}}}}}}},"next":{"block":{"type":"blockMotorDuty","id":"aJM{~dIz!(aG#?Ga!-=I","inputs":{"VAR":{"shadow":{"type":"variables_get_simple_motor_device","id":"v$TcJ-=3Y0F[7gsh0?0`","fields":{"VAR":{"id":"rMg2ItL[^jRk2:=.i9`5","name":"motorL","type":"Motor"}}}},"VALUE0":{"shadow":{"type":"unit_percent","id":"SaNZEY*7mS3z4F;aUvn8","fields":{"VALUE0":50}},"block":{"type":"blockMathArithmetic","id":"G4:z8hm;8~kU/Zejfmr+","fields":{"OP":"ADD"},"inputs":{"A":{"shadow":{"type":"blockMathNumber","id":"m+Z9b$h!;5Q6|xzvKUOw","fields":{"NUM":75}}},"B":{"shadow":{"type":"blockMathNumber","id":"vXQLkYrAw47y$cZd]bwl","fields":{"NUM":1}},"block":{"type":"blockVariableGetValue","id":";%1fK)@`Ju`Egs4[@(8C","inputs":{"VAR":{"shadow":{"type":"variables_get_any","id":"{p_agwy(uC-F~}M;:D2H","fields":{"VAR":{"id":"q$(/3nX|W{!$NYtofW@#","name":"PD","type":"Any"}}}}}}}}}}},"next":{"block":{"type":"blockMotorDuty","id":"[hQrDnI5.+lZ2*%DQ6lB","inputs":{"VAR":{"shadow":{"type":"variables_get_simple_motor_device","id":"#edoxI3/5gN99MryTJ3#","fields":{"VAR":{"id":"6+h-EYeIPaJ4YP#pg^.~","name":"motorR","type":"Motor"}}}},"VALUE0":{"shadow":{"type":"unit_percent","id":"~ho9S]trcRfJ.|j|U0Bz","fields":{"VALUE0":50}},"block":{"type":"blockMathArithmetic","id":"TVo;@F0G!YmJ1iOvIMdR","fields":{"OP":"MINUS"},"inputs":{"A":{"shadow":{"type":"blockMathNumber","id":"Tyov=swBQT!;gq!HW{G!","fields":{"NUM":75}}},"B":{"shadow":{"type":"blockMathNumber","id":"Np%@Xp6h,|j)PbHn1J)f","fields":{"NUM":1}},"block":{"type":"blockVariableGetValue","id":"4B_G8+7IHHE]9!75aSSs","inputs":{"VAR":{"shadow":{"type":"variables_get_any","id":"LhrGxufzy1.IqTJIzy_]","fields":{"VAR":{"id":"q$(/3nX|W{!$NYtofW@#","name":"PD","type":"Any"}}}}}}}}}}},"next":{"block":{"type":"blockVariableSetValue","id":"=y^Y#iUVV%8QQfK)#u|N","inputs":{"VAR":{"shadow":{"type":"variables_get_any","id":"C:LMI9hJ-^[*kE8gnFGT","fields":{"VAR":{"id":"ukF9;T)sI=]^*bEDzSjj","name":"lastError","type":"Any"}}}},"VALUE0":{"shadow":{"type":"blockMathNumber","id":"3*ZeO,@}CM0N$z7G3{.f","fields":{"NUM":0}},"block":{"type":"blockFunctionCallerValue","id":"IID~9Y)0P=f.yVvQ3Tb~","extraState":{"optionLevel":0},"fields":{"ICON":"SUITCASE","VAR":{"id":"n-]$AfTwaUkwmDT2S7Kl"}}}}},"next":{"block":{"type":"blockWaitTime","id":"fA3$Av_xQTW}jfbn6^9.","inputs":{"VALUE0":{"shadow":{"type":"unit_time","id":",`Cf5z}07I:CYZBz0%nT","fields":{"VALUE0":5}}}}}}}}}}}}}}}}}}}}}}},{"type":"variables_setup_function","id":"~z2.XBA0/m|1KLI=Sce)","x":115,"y":-210,"extraState":{"optionLevel":0},"fields":{"ICON":"SUITCASE","VAR":{"id":"n-]$AfTwaUkwmDT2S7Kl"}},"inputs":{"STACK":{"block":{"type":"blockIfElse","id":"ohz.K5ZyY2lEri;n8ApJ","extraState":{"optionLevel":1},"inputs":{"IF0":{"shadow":{"type":"blockLogicTrue","id":"+]#sPVn7ZA(Z.jo?sm8."},"block":{"type":"blockLogicCompare","id":"@zakRHGLo0eeviNJ}v{[","fields":{"OP1":"GTE"},"inputs":{"A":{"shadow":{"type":"blockMathNumber","id":"_yOQM#k]m8[=*9i(]c1}","fields":{"NUM":3}},"block":{"type":"blockLightReflection","id":"(N`X=BUE;2{o9B8jxW!H","inputs":{"VAR":{"shadow":{"type":"variables_get_light_intensity_device","id":"Yte+Ml5v:BabiZ+w9^,5","fields":{"VAR":{"id":"1gtl=w`S4:OahZl~[ol9","name":"line","type":"ColorSensor"}}}}}}},"B":{"shadow":{"type":"blockMathNumber","id":"^5`XWXM#uvpFhC?]yv+[","fields":{"NUM":0}}}}}},"DO0":{"block":{"type":"blockTaskReturn","id":"O!Ks{5F,`msEfw`qA(O@","inputs":{"VALUE0":{"shadow":{"type":"blockMathNumber","id":"dgy#2A(^x#)!v-#Jocnb","fields":{"NUM":0}},"block":{"type":"blockMathArithmetic","id":"q()`Xh+)%J7B?a)ucDx8","fields":{"OP":"MINUS"},"inputs":{"A":{"shadow":{"type":"blockMathNumber","id":"$FrY5_SV+$+qFkU!*S(6","fields":{"NUM":1}},"block":{"type":"blockMathArithmetic","id":"S*d-,u1vAF`,T*Zpk7}q","fields":{"OP":"MATH_DIVIDE_INT"},"inputs":{"A":{"shadow":{"type":"blockMathNumber","id":":Asq%h;N^J-$C,}rI[T!","fields":{"NUM":1}},"block":{"type":"blockLightReflection","id":"J4DLOcWH2vW_!FDJ*6:T","inputs":{"VAR":{"shadow":{"type":"variables_get_light_intensity_device","id":"aoAwBLA8^[b`]2G*eI@B","fields":{"VAR":{"id":"1gtl=w`S4:OahZl~[ol9","name":"line","type":"ColorSensor"}}}}}}},"B":{"shadow":{"type":"blockMathNumber","id":"1nQ*{n9nIldBBqb?6^!$","fields":{"NUM":100}}}}}},"B":{"shadow":{"type":"blockMathNumber","id":"!xC3oS/6O(sac:kDG094","fields":{"NUM":16}}}}}}}}},"ELSE":{"block":{"type":"blockTaskReturn","id":"@8z=,f,?)LPj@D=aF}Q;","inputs":{"VALUE0":{"shadow":{"type":"blockMathNumber","id":"dgy#2A(^x#)!v-#Jocnb","fields":{"NUM":0}},"block":{"type":"blockMathArithmetic","id":"dBNq*{M%o-(5Tz6SJwrW","fields":{"OP":"MINUS"},"inputs":{"A":{"shadow":{"type":"blockMathNumber","id":"$FrY5_SV+$+qFkU!*S(6","fields":{"NUM":1}},"block":{"type":"blockMathArithmetic","id":"Z@]`;0qN##,G1YAamKkv","fields":{"OP":"MATH_DIVIDE_INT"},"inputs":{"A":{"shadow":{"type":"blockMathNumber","id":"Nk14sOlS0XC/9kZ,1`w#","fields":{"NUM":1}},"block":{"type":"blockMathArithmetic","id":"~T.)HRxDbHNO+]mF?Zhp","fields":{"OP":"ADD"},"inputs":{"A":{"shadow":{"type":"blockMathNumber","id":"T/(JeYEDZB_?m2DHmVZS","fields":{"NUM":1}},"block":{"type":"blockLightReflection","id":".c4*JuY]A8TTzCm4}XYN","inputs":{"VAR":{"shadow":{"type":"variables_get_light_intensity_device","id":",KcuA,;VONCx;wAio?4r","fields":{"VAR":{"id":"1gtl=w`S4:OahZl~[ol9","name":"line","type":"ColorSensor"}}}}}}},"B":{"shadow":{"type":"blockMathNumber","id":".^?|1[hH+YO4#w!%rm-Z","fields":{"NUM":6399}}}}}},"B":{"shadow":{"type":"blockMathNumber","id":"$7q$b_zN=Z(vQ@zx17:M","fields":{"NUM":100}}}}}},"B":{"shadow":{"type":"blockMathNumber","id":"Yh{~Cp+a)HfMf+*E`BZf","fields":{"NUM":16}}}}}}}}}}}}}},{"type":"variables_setup_function","id":"X4RECK-GHO4?MQHA|`YO","x":115,"y":164,"extraState":{"optionLevel":0},"fields":{"ICON":"SUITCASE","VAR":{"id":"mx/*-.-3RK-Pi)1LAzX,"}},"inputs":{"STACK":{"block":{"type":"blockIfElse","id":"=:sJD;1M/6.V6s{ByOhz","extraState":{"optionLevel":1},"inputs":{"IF0":{"shadow":{"type":"blockLogicTrue","id":"+]#sPVn7ZA(Z.jo?sm8."},"block":{"type":"blockLogicCompare","id":"j*g_XWkX7Fkr(3X.rp)^","fields":{"OP1":"GTE"},"inputs":{"A":{"shadow":{"type":"blockMathNumber","id":"_yOQM#k]m8[=*9i(]c1}","fields":{"NUM":3}},"block":{"type":"blockLightReflection","id":"Ge]C{0~/;XL#8|k$C;7z","inputs":{"VAR":{"shadow":{"type":"variables_get_light_intensity_device","id":"blBL2(:V//,|U~rG),;j","fields":{"VAR":{"id":"1gtl=w`S4:OahZl~[ol9","name":"line","type":"ColorSensor"}}}}}}},"B":{"shadow":{"type":"blockMathNumber","id":"^SLu0s-5JkW*j]D}bDUy","fields":{"NUM":0}}}}}},"DO0":{"block":{"type":"blockTaskReturn","id":"!tB3!:+O``8oF+JfEBo^","inputs":{"VALUE0":{"shadow":{"type":"blockMathNumber","id":"dgy#2A(^x#)!v-#Jocnb","fields":{"NUM":0}},"block":{"type":"blockMathOp","id":"]M^aW)-2]1kr!{-:-eON","extraState":{"optionLevel":1},"fields":{"OP":"MODULO"},"inputs":{"NUM":{"shadow":{"type":"blockMathNumber","id":"b%~iYkL8..*{%%vx1JcS","fields":{"NUM":0}},"block":{"type":"blockLightReflection","id":"j=}m+Jx@dQp%FvVfCZ@`","inputs":{"VAR":{"shadow":{"type":"variables_get_light_intensity_device","id":"WZ%iEMoCZd7?0D@pi!Dc","fields":{"VAR":{"id":"1gtl=w`S4:OahZl~[ol9","name":"line","type":"ColorSensor"}}}}}}},"NUM2":{"shadow":{"type":"blockMathNumber","id":"|;3~}6%VO58Sy_T{yKt=","fields":{"NUM":100}}}}}}}}},"ELSE":{"block":{"type":"blockTaskReturn","id":"{Q?qAS3OYsl_r:#djOvH","inputs":{"VALUE0":{"shadow":{"type":"blockMathNumber","id":"dgy#2A(^x#)!v-#Jocnb","fields":{"NUM":0}},"block":{"type":"blockMathOp","id":"`=}C;Rw#v~c@A-@(Z[1C","extraState":{"optionLevel":1},"fields":{"OP":"MODULO"},"inputs":{"NUM":{"shadow":{"type":"blockMathNumber","id":"b%~iYkL8..*{%%vx1JcS","fields":{"NUM":0}},"block":{"type":"blockMathArithmetic","id":"_lps%!BqoM]spH(76)Uu","fields":{"OP":"ADD"},"inputs":{"A":{"shadow":{"type":"blockMathNumber","id":"T/(JeYEDZB_?m2DHmVZS","fields":{"NUM":1}},"block":{"type":"blockLightReflection","id":"hi:vTG];%XV+}v8FZI/z","inputs":{"VAR":{"shadow":{"type":"variables_get_light_intensity_device","id":"jP`-IDY`!cKrhjUqzJQJ","fields":{"VAR":{"id":"1gtl=w`S4:OahZl~[ol9","name":"line","type":"ColorSensor"}}}}}}},"B":{"shadow":{"type":"blockMathNumber","id":"YQc#:wM;$9VK?:.1p$XD","fields":{"NUM":6399}}}}}},"NUM2":{"shadow":{"type":"blockMathNumber","id":"yg8T}4U]sSQPmaIBg@2]","fields":{"NUM":100}}}}}}}}}}}}}},{"type":"variables_setup_function","id":"qG+HoV65%qsGUWXmCtFF","x":117,"y":528,"extraState":{"optionLevel":0},"fields":{"ICON":"SUITCASE","VAR":{"id":"wk*0xm#+FlzOHka)NG[c"}},"inputs":{"STACK":{"block":{"type":"blockTaskReturn","id":"/efPbA:T]PpRT#ZQry3F","inputs":{"VALUE0":{"shadow":{"type":"blockMathNumber","id":"dgy#2A(^x#)!v-#Jocnb","fields":{"NUM":0}},"block":{"type":"blockMathOp","id":";K=)i,BvASO!aw4|.U|4","extraState":{"optionLevel":0},"fields":{"OP":"ROUND"},"inputs":{"NUM":{"shadow":{"type":"blockMathNumber","id":"Y!^X;7}Iv-{meXz9PENe","fields":{"NUM":0}},"block":{"type":"blockMathArithmetic","id":"+c_RJDm^bSwa8I`n=r,S","fields":{"OP":"MINUS"},"inputs":{"A":{"shadow":{"type":"blockMathNumber","id":"$FrY5_SV+$+qFkU!*S(6","fields":{"NUM":1}},"block":{"type":"blockMathArithmetic","id":"*{kFsJEoxm8Y2`m3ema9","fields":{"OP":"MATH_DIVIDE_INT"},"inputs":{"A":{"shadow":{"type":"blockMathNumber","id":":Asq%h;N^J-$C,}rI[T!","fields":{"NUM":1}},"block":{"type":"blockLightAmbient","id":"UCa{3Xb*wVRxa@q~])Yo","inputs":{"VAR":{"shadow":{"type":"variables_get_light_ambient_intensity_device","id":"qh/ZO(d!#W/dL|_gTzk4","fields":{"VAR":{"id":"1gtl=w`S4:OahZl~[ol9","name":"line","type":"ColorSensor"}}}}}}},"B":{"shadow":{"type":"blockMathNumber","id":"y)1[SV[~EXS%mFBd|[8x","fields":{"NUM":1}}}}}},"B":{"shadow":{"type":"blockMathNumber","id":"%3m^8m)%H9.I@-QX:8E4","fields":{"NUM":100}}}}}}}}}}}}}},{"type":"variables_setup_function","id":"0lfZR7:N_)G9ecubaF|B","x":118,"y":704,"extraState":{"optionLevel":0},"fields":{"ICON":"SUITCASE","VAR":{"id":":p_U}sU;)iDw5/71YIc]"}},"inputs":{"STACK":{"block":{"type":"blockTaskReturn","id":"%]?{L74NU9/$Fidwk@o{","inputs":{"VALUE0":{"shadow":{"type":"blockMathNumber","id":"dgy#2A(^x#)!v-#Jocnb","fields":{"NUM":0}},"block":{"type":"blockMathOp","id":"?C#9i!0LzTKswnzH0luY","extraState":{"optionLevel":0},"fields":{"OP":"ROUND"},"inputs":{"NUM":{"shadow":{"type":"blockMathNumber","id":"ZdLU^LjYhTMW3f4@l--^","fields":{"NUM":0}},"block":{"type":"blockMathOp","id":"RCtghebxWZF[a|JD^-^a","extraState":{"optionLevel":1},"fields":{"OP":"MODULO"},"inputs":{"NUM":{"shadow":{"type":"blockMathNumber","id":"b%~iYkL8..*{%%vx1JcS","fields":{"NUM":0}},"block":{"type":"blockMathArithmetic","id":"G}A(m`Gr:}niT6??a`s9","fields":{"OP":"MULTIPLY"},"inputs":{"A":{"shadow":{"type":"blockMathNumber","id":"0^RZq?XV4Qi[4Vl=Jhh1","fields":{"NUM":1}},"block":{"type":"blockLightAmbient","id":"}Q;Bj0jSp(M=sdlob$`w","inputs":{"VAR":{"shadow":{"type":"variables_get_light_ambient_intensity_device","id":".R}l8J:LLzb!jFVV78P;","fields":{"VAR":{"id":"1gtl=w`S4:OahZl~[ol9","name":"line","type":"ColorSensor"}}}}}}},"B":{"shadow":{"type":"blockMathNumber","id":"L9z|Y`D$qp-Fh`U=WW[D","fields":{"NUM":100}}}}}},"NUM2":{"shadow":{"type":"blockMathNumber","id":"*kgB*?!@KXo:O6dd++mN","fields":{"NUM":100}}}}}}}}}}}}}}]},"variables":[{"name":"red","id":"m;P|xbP~Owy]3YESw6#P","type":"ColorDef"},{"name":"orange","id":"[j@=rq!IEasH0?lU7,e5","type":"ColorDef"},{"name":"yellow","id":"b4f9U`p*sT%y*~_]?+[r","type":"ColorDef"},{"name":"green","id":"s/!L{}z^IN[y4G!H9)Qz","type":"ColorDef"},{"name":"cyan","id":"5Aq2T5#/tgGYW%.gZR@)","type":"ColorDef"},{"name":"blue","id":"hOl;G*0YIc=O^({,{W4#","type":"ColorDef"},{"name":"violet","id":"`+z@2NxMW_%~G0J`o[+8","type":"ColorDef"},{"name":"magenta","id":"A{bYb=,*wMLoP(D{SHU|","type":"ColorDef"},{"name":"white","id":"~;yfi~/`5$+yYey:TssW","type":"ColorDef"},{"name":"none","id":"n[kr@A~O|Lvu1Z(Ys5p/","type":"ColorDef"},{"name":"prime hub","id":"Pjzp+AurOw(q?)aqzicq","type":"PrimeHub"},{"name":"motorL","id":"rMg2ItL[^jRk2:=.i9`5","type":"Motor"},{"name":"motorR","id":"6+h-EYeIPaJ4YP#pg^.~","type":"Motor"},{"name":"lastError","id":"ukF9;T)sI=]^*bEDzSjj","type":"Any"},{"name":"PD","id":"q$(/3nX|W{!$NYtofW@#","type":"Any"},{"name":"line","id":"1gtl=w`S4:OahZl~[ol9","type":"ColorSensor"},{"name":"getLinePos16","id":"n-]$AfTwaUkwmDT2S7Kl","type":"Function"},{"name":"getLineWidth16","id":"mx/*-.-3RK-Pi)1LAzX,","type":"Function"},{"name":"getLinePos100","id":"wk*0xm#+FlzOHka)NG[c","type":"Function"},{"name":"getLineWidth100","id":":p_U}sU;)iDw5/71YIc]","type":"Function"}],"info":{"type":"pybricks","version":"1.3.2"}}
from pybricks.hubs import PrimeHub
from pybricks.parameters import Direction, Port
from pybricks.pupdevices import ColorSensor, Motor
from pybricks.tools import wait

# Set up all devices.
prime_hub = PrimeHub()
line = ColorSensor(Port.C)
motorL = Motor(Port.E, Direction.COUNTERCLOCKWISE)
motorR = Motor(Port.F, Direction.CLOCKWISE)

# Initialize variables.
PD = 0
lastError = 0

def getLinePos16():
    if line.reflection() >= 0:
        return line.reflection() // 100 - 16
    else:
        return (line.reflection() + 6399) // 100 - 16

def getLineWidth16():
    if line.reflection() >= 0:
        return line.reflection() % 100
    else:
        return (line.reflection() + 6399) % 100

def getLinePos100():
    return round(line.ambient() // 1 - 100)

def getLineWidth100():
    return round((line.ambient() * 100) % 100)


# The main program starts here.
while True:
    print(getLinePos16(), getLineWidth16())
    if getLineWidth16() > 10:
        motorL.dc(0)
        motorR.dc(0)
    else:
        PD = getLinePos16() * 7 + (getLinePos16() - lastError) * 50
        motorL.dc(75 + PD)
        motorR.dc(75 - PD)
        lastError = getLinePos16()
        wait(5)
