Files
mixly3/boards/default/micropython_esp32s3/examples/MixGo Sant/学期7/4-2-2 飞机大战-加入音效.mix

1 line
19 KiB
XML

<xml version="Mixly 3.0 rc0" board="Python ESP32-S3@元控自强" shown="block"><block type="procedures_defnoreturn" id="n-MAXFSdz8p,bWP:4g]u" x="-162" y="-376"><field name="NAME">显示我机</field><statement name="STACK"><block type="variables_global" id="2)1E+dt1JINt[h,Nep$6"><value name="VAR"><block type="variables_get" id="BE!0#Vn]|:ZbaezU_tT1"><field name="VAR">本机X坐标</field></block></value><next><block type="variables_set" id="SZyC8I|~Dy/AsEpesWsf"><field name="VAR">本机X坐标</field><value name="VALUE"><block type="math_constrain" id="=ozm~:PF[,soPBTKpbU*"><value name="VALUE"><shadow type="math_number" id="ir#lF*$Y1xp7B/c)u*Gc"><field name="NUM">1000</field></shadow><block type="variables_get" id="tu/*nbO8!miggGkGEpVy"><field name="VAR">本机X坐标</field></block></value><value name="LOW"><shadow type="math_number" id="x1@|@{QCa#:r=]*hpoS~"><field name="NUM">0</field></shadow></value><value name="HIGH"><shadow type="math_number" id="Pn*u{0Qz3WHul?dVQhe*"><field name="NUM">100</field></shadow><block type="math_arithmetic" id="toc/g15noTg|N~:m,2A)"><field name="OP">MINUS</field><value name="A"><shadow type="math_number" id="TMo[g/mod4yN]R=+~nc5"><field name="NUM">1</field></shadow><block type="variables_get" id="TA~--E.Gl+HJaujI`raF"><field name="VAR">屏幕X最大值</field></block></value><value name="B"><shadow type="math_number" id="Z5_YCQlyk[kkA=uYfws,"><field name="NUM">1</field></shadow></value></block></value></block></value><next><block type="onboard_tft_display_shape_rect" id="ylVF{M^dl=zKne0jRHnF"><field name="shape">fill_rect</field><value name="x"><shadow type="math_number" id="hC}SF@)#;jF[~srWaq|p"><field name="NUM">0</field></shadow></value><value name="y"><shadow type="math_number" id="/4/(xx;=l.CdbupBMJcm"><field name="NUM">220</field></shadow></value><value name="w"><shadow type="math_number" id="BFO]c.UV2O:GKQI5mAAl"><field name="NUM">240</field></shadow></value><value name="h"><shadow type="math_number" id="w[~1b~)hp3Y)R=tM1~}d"><field name="NUM">20</field></shadow></value><value name="VAR"><shadow type="tuple_create_with_text_return" id="mkIz+]4-;@~moiSvT.Vc"><field name="TEXT">255,255,0</field></shadow><block type="display_color_seclet" id="W$ba/c02SzgBB[PT*gA7"><field name="COLOR">#000000</field></block></value><value name="boolean"><shadow type="logic_boolean" id="Cz7I+5#q]lugVol7k2lj"><field name="BOOL">FALSE</field></shadow></value><next><block type="onboard_tft_display_shape_rect" id="`zX:ApZVW9J#::!Q-fA0"><field name="shape">fill_rect</field><value name="x"><shadow type="math_number" id="IE/tRs`C7wH03x-dkedv"><field name="NUM">20</field></shadow><block type="math_arithmetic" id="f*.kaQ$J_6h/ix{5$nPn"><field name="OP">MULTIPLY</field><value name="A"><shadow type="math_number" id=":U@#1AHHsp^``,xk`][N"><field name="NUM">1</field></shadow><block type="math_arithmetic" id="@:Nv#=LHDVeD2T|cMLc6"><field name="OP">MINUS</field><value name="A"><shadow type="math_number" id="C+.c2SlcX2ydVC9CVO@c"><field name="NUM">1</field></shadow><block type="variables_get" id="q}.kmRb2O@j*!Y|R97.i"><field name="VAR">本机X坐标</field></block></value><value name="B"><shadow type="math_number" id="~I#wLsVXB[kd@~#JRO9#"><field name="NUM">1</field></shadow></value></block></value><value name="B"><shadow type="math_number" id="M)6U9^+p{KA,9[b@yL7{"><field name="NUM">10</field></shadow></value></block></value><value name="y"><shadow type="math_number" id="AkSmN=cI0wKP$Z_ZQGy0"><field name="NUM">230</field></shadow></value><value name="w"><shadow type="math_number" id="+y._h2_!Uwo2HjZINV{M"><field name="NUM">30</field></shadow></value><value name="h"><shadow type="math_number" id="E|w2tJJ*~1?1MuCOv=JY"><field name="NUM">10</field></shadow></value><value name="VAR"><shadow type="tuple_create_with_text_return" id="EgACyF=(eiOT-0kD~ufR"><field name="TEXT">255,255,0</field></shadow><block type="display_color_seclet" id="G_Alf#feQNA7op#Uv/y0"><field name="COLOR">#ffffff</field></block></value><value name="boolean"><shadow type="logic_boolean" id="LM|M/|Iu?((;rc.mK1:z"><field name="BOOL">FALSE</field></shadow></value><next><block type="onboard_tft_display_shape_rect" id="r!.QfAmLGYpNC`^[4TM?"><field name="shape">fill_rect</field><value name="x"><shadow type="math_number" id="uBWRKPf_h#{nM#g{jKWC"><field name="NUM">20</field></shadow><block type="math_arithmetic" id="VYtuIdNDU^^p,=As?7Wb"><field name="OP">MULTIPLY</field><value name="A"><shadow type="math_number" id="ab`9N,mU42?Q=kS2V#EM"><field name="NUM">1</field></shadow><block type="variables_get" id="Z-bShw]n2UnT(97lwkkp"><field name="VAR">本机X坐标</field></block></value><value name="B"><shadow type="math_number" id="CMkP`hNHT}ZUxo=y$gYL"><field name="NUM">10</field></shadow></value></block></value><value name="y"><shadow type="math_number" id="UyVxz2)vEkm+}[P1$TgL"><field name="NUM">220</field></shadow></value><value name="w"><shadow type="math_number" id="3:`ev#TU^Ya3*+j`Q[x["><field name="NUM">10</field></shadow></value><value name="h"><shadow type="math_number" id="cL0Vn`duW*ngB#Y}hkA]"><field name="NUM">10</field></shadow></value><value name="VAR"><shadow type="tuple_create_with_text_return" id="zDOUhEQTu9:0R{5,(JlH"><field name="TEXT">255,255,0</field></shadow><block type="display_color_seclet" id="Xe8k,7n?sQU#OfIGuV|:"><field name="COLOR">#ffffff</field></block></value><value name="boolean"><shadow type="logic_boolean" id="Cr/{~!$wzgq[RU]dS.hT"><field name="BOOL">TRUE</field></shadow></value><next><block type="esp32_onboard_music_pitch_with_time" id="iI]ag2{z81^i5yAbHq$("><value name="pitch"><shadow type="pins_tone_notes" id="0D(RV^jrK^)0:vuz~;2B"><field name="PIN">294</field></shadow></value><value name="time"><shadow type="math_number" id="}ctm7w^VrM[+B3SQ|5wg"><field name="NUM">50</field></shadow></value></block></next></block></next></block></next></block></next></block></next></block></statement></block><block type="variables_set" id="@hEr^}3aA~GD^ciGz#7m" x="-683" y="-306"><field name="VAR">屏幕X最大值</field><value name="VALUE"><block type="math_number" id="g#WcLlMi]?xgQ]pC0bi^"><field name="NUM">23</field></block></value><next><block type="variables_set" id="LU/^?W}[{I`J/]~~nNg1"><field name="VAR">屏幕Y最大值</field><value name="VALUE"><block type="math_number" id="^AS5+L#.(Hw6?!QHE_5Z"><field name="NUM">23</field></block></value><next><block type="variables_set" id="|mLenL9?rYe;1c~Vc1uX"><field name="VAR">本机X坐标</field><value name="VALUE"><block type="math_number" id="3#J_4m`Pw5|m_2b6#A[I"><field name="NUM">0</field></block></value><next><block type="variables_set" id="oHJye6HZMC,i#U|]]x7C"><field name="VAR">子弹X坐标</field><value name="VALUE"><block type="math_number" id="n2Q4Ms49u55T?iY_^wzM"><field name="NUM">0</field></block></value><next><block type="procedures_callnoreturn" id="ctLNynxDM0Qqv3L3HuB(" inline="true"><mutation name="显示我机"></mutation><next><block type="controls_whileUntil" id="Z1#KX;5`1ye]0QEcUes`"><field name="MODE">WHILE</field><value name="BOOL"><shadow type="logic_boolean" id="d~VNe!kgpNN^6D9Q8(Su"><field name="BOOL">TRUE</field></shadow></value><statement name="DO"><block type="controls_if" id=":9=fT!=|B$XFJT{_Ytf-"><value name="IF0"><block type="sensor_mixgo_button_was_pressed" id="h_SiC_o^EXM?}yg8BM6$"><value name="btn"><shadow type="pins_button" id="eedfCbLWo.|O`z9Ac0xZ"><field name="PIN">A1key</field></shadow></value></block></value><statement name="DO0"><block type="math_selfcalcu" id="LD|UR`.$db+4xP,T(@i#"><field name="OP">MINUS</field><value name="A"><shadow type="variables_get" id="r:)d0j^7w)|8g8uo~q2$"><field name="VAR">本机X坐标</field></shadow></value><value name="B"><shadow type="math_number" id="@mwKl!~y6+6S}9*b56On"><field name="NUM">1</field></shadow></value><next><block type="procedures_callnoreturn" id="|#XK9!2s(v*AD/}{5@_(" inline="true"><mutation name="显示我机"></mutation></block></next></block></statement><next><block type="controls_if" id="JDnp,eXnd[O~t)ETGii-"><value name="IF0"><block type="sensor_mixgo_button_was_pressed" id="XXu^XjC,Z(XpqswNj}ik"><value name="btn"><shadow type="pins_button" id="w~,!WWaSQGj;N[2_^cGI"><field name="PIN">B1key</field></shadow></value></block></value><statement name="DO0"><block type="math_selfcalcu" id="*oW3yh0m`jo[|s{3H9vb"><field name="OP">ADD</field><value name="A"><shadow type="variables_get" id="?)rD]^`#7d/W4[qlcJHR"><field name="VAR">本机X坐标</field></shadow></value><value name="B"><shadow type="math_number" id="/er)1CAa:S|`g~rry+Rv"><field name="NUM">1</field></shadow></value><next><block type="procedures_callnoreturn" id="h6^Co-s3g28Pu(KjxS$B" inline="true"><mutation name="显示我机"></mutation></block></next></block></statement><next><block type="controls_if" id="#]4nJlFa;9h5|25*YC!J"><value name="IF0"><block type="sensor_mixgo_button_was_pressed" id="s-7/eryfU^}3O#dM2KJx"><value name="btn"><shadow type="pins_button" id="}B-ZU0r0I9CXVlJ-5`EW"><field name="PIN">B2key</field></shadow></value></block></value><statement name="DO0"><block type="procedures_callnoreturn" id="w]PO@8b6g#Thm2=4-t17"><mutation name="发射子弹"></mutation></block></statement></block></next></block></next></block></statement></block></next></block></next></block></next></block></next></block></next></block><block type="procedures_defnoreturn" id="fK0q7Yx@Jk~]Ad8)$z3A" x="-120" y="-43"><field name="NAME">发射子弹</field><statement name="STACK"><block type="variables_global" id="H(Ct:}wWJtCYt]z]WE;r"><value name="VAR"><block type="variables_get" id="*YXT6t9L/x9Srf|Z;aTh"><field name="VAR">子弹X坐标</field></block></value><next><block type="variables_set" id="FEMq{p;{*+-+VIyl`sRA"><field name="VAR">子弹X坐标</field><value name="VALUE"><block type="variables_get" id=")/NzzVhxUNAJ|wl.cUmN"><field name="VAR">本机X坐标</field></block></value><next><block type="esp32_onboard_music_pitch_with_time" id="bX=p,n7gqqHE*.Kd@A.W"><value name="pitch"><shadow type="pins_tone_notes" id="7.iWt=k~._pD|LeGC+n#"><field name="PIN">262</field></shadow></value><value name="time"><shadow type="math_number" id="2aLBdWz=EA$d4w/uXs`3"><field name="NUM">50</field></shadow></value><next><block type="controls_forEach" id=".!q;m|[P_],(U|fy`BLb"><value name="LIST"><shadow type="list_many_input" id="fMIS5N]Js9qY9![K;3^x"><field name="CONTENT">0,1,2,3</field></shadow><block type="controls_range" id="i^/DLyoT,ipzUa)aYI}}"><value name="FROM"><shadow type="math_number" id="N`6]^2-mq7.r/EVh}tvu"><field name="NUM">2</field></shadow><block type="math_arithmetic" id="]-]E6}{0=?9I7iYaD=[1"><field name="OP">MINUS</field><value name="A"><shadow type="math_number" id="yg_61wcqSC[L4oG1,x6l"><field name="NUM">1</field></shadow><block type="variables_get" id="k1bJThI2v_N.{fglk!6N"><field name="VAR">屏幕Y最大值</field></block></value><value name="B"><shadow type="math_number" id="d8h3~m6SyW69:D{CKQ{g"><field name="NUM">2</field></shadow></value></block></value><value name="TO"><shadow type="math_number" id="Gk}HJ9WH=h9D(;snJ(U}"><field name="NUM">-2</field></shadow></value><value name="STEP"><shadow type="math_number" id="0P?6MnSyXk)Fja;LlZvt"><field name="NUM">-1</field></shadow></value></block></value><value name="VAR"><shadow type="variables_get" id="I-IXbfp3,#d3qqXCai/9"><field name="VAR">子弹Y坐标</field></shadow></value><statement name="DO"><block type="onboard_tft_display_shape_rect" id="ays,Vru2+KTrA*QF^_F6"><field name="shape">fill_rect</field><value name="x"><shadow type="math_number" id="3h*9gY7)RU~TbAQ=dReV"><field name="NUM">20</field></shadow><block type="math_arithmetic" id="`$.CR^jQ8hfV]xH{,k7u"><field name="OP">MULTIPLY</field><value name="A"><shadow type="math_number" id=",|39smercqr}$bi~Ew|g"><field name="NUM">1</field></shadow><block type="variables_get" id="@M[bzbr`0[Gj?pQm.tM,"><field name="VAR">子弹X坐标</field></block></value><value name="B"><shadow type="math_number" id="/`+`8.{j]92aYX{0yeUE"><field name="NUM">10</field></shadow></value></block></value><value name="y"><shadow type="math_number" id="5}z|i.mluG{B@7}8NaZ2"><field name="NUM">230</field></shadow><block type="math_arithmetic" id="XiU+Xp_-uF1Mqn:1!X~;"><field name="OP">MULTIPLY</field><value name="A"><shadow type="math_number" id="S4ujq@8$1/6[i3yDabTF"><field name="NUM">1</field></shadow><block type="variables_get" id="jb|Ru}K[3+^2p:x#oK,5"><field name="VAR">子弹y坐标</field></block></value><value name="B"><shadow type="math_number" id="!$RG,2cttr=v?fv{SxW@"><field name="NUM">10</field></shadow></value></block></value><value name="w"><shadow type="math_number" id="pcF|JG-*KHf)96WYoCIU"><field name="NUM">10</field></shadow></value><value name="h"><shadow type="math_number" id="F[?rZi|o=]MHSL=yK@C9"><field name="NUM">10</field></shadow></value><value name="VAR"><shadow type="tuple_create_with_text_return" id="A?.K7jBntoS2;l$,^rjr"><field name="TEXT">255,255,0</field></shadow><block type="display_color_seclet" id="|Ug/Ho.1~c#Qdls/ZcvV"><field name="COLOR">#ffffff</field></block></value><value name="boolean"><shadow type="logic_boolean" id="C{C0B)j,Ajyv/@T,x)mz"><field name="BOOL">TRUE</field></shadow></value><next><block type="onboard_tft_display_shape_rect" id="wTjPX[]d4c}vJyzGfj4B"><field name="shape">fill_rect</field><value name="x"><shadow type="math_number" id="$61Ozy{D75Bxj~9?rKG|"><field name="NUM">20</field></shadow><block type="math_arithmetic" id="A#JkydF72hBx?P4).3pz"><field name="OP">MULTIPLY</field><value name="A"><shadow type="math_number" id="_+7JqT:n#}ZpPS@ATbR,"><field name="NUM">1</field></shadow><block type="variables_get" id="wz`]=4|odR3_BH,J9w-:"><field name="VAR">子弹X坐标</field></block></value><value name="B"><shadow type="math_number" id="1vfU{}cM46,V[@Xy1,Nt"><field name="NUM">10</field></shadow></value></block></value><value name="y"><shadow type="math_number" id="gG#kjj/FEX]|jgx|u?6w"><field name="NUM">230</field></shadow><block type="math_arithmetic" id="9UfD[yQ3zMD_dya,;lH+"><field name="OP">MULTIPLY</field><value name="A"><shadow type="math_number" id=",2_(:cMn^,4~8#aPR]1R"><field name="NUM">1</field></shadow><block type="variables_get" id="bF}l89Y=EbtvZ@,Q#3lo"><field name="VAR">子弹y坐标</field></block></value><value name="B"><shadow type="math_number" id=")enXA7F9LtVGbFU1k5|9"><field name="NUM">10</field></shadow></value></block></value><value name="w"><shadow type="math_number" id=":EsdKhQo,[VW4H3GvD`-"><field name="NUM">10</field></shadow></value><value name="h"><shadow type="math_number" id="Z*3I}jwge9LHN)q*o8Rw"><field name="NUM">10</field></shadow></value><value name="VAR"><shadow type="tuple_create_with_text_return" id="2_=p2I;sy!jnPV0W-2bi"><field name="TEXT">255,255,0</field></shadow><block type="display_color_seclet" id="dKh:.-Bjl}Ix877o,R47"><field name="COLOR">#000000</field></block></value><value name="boolean"><shadow type="logic_boolean" id="8Se$k4[[Rbx^|icT1bxb"><field name="BOOL">FALSE</field></shadow></value></block></next></block></statement></block></next></block></next></block></next></block></statement></block><block type="procedures_defnoreturn" id="Q^VICQD{IMAY;`+VMvy]" x="-37" y="74"><field name="NAME">显示我机2</field></block></xml><config>{}</config><code>ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfbXVzaWMKaW1wb3J0IG1peGdvX3NhbnQKCmRlZiDmmL7npLrmiJHmnLooKToKICAgIGdsb2JhbCDmnKzmnLpY5Z2Q5qCHCiAgICDmnKzmnLpY5Z2Q5qCHID0gbWluKG1heCjmnKzmnLpY5Z2Q5qCHLCAwKSwg5bGP5bmVWOacgOWkp+WAvCAtIDEpCiAgICBvbmJvYXJkX3RmdC5maWxsX3JlY3QoMCwgMjIwLCAyNDAsIDIwLCAweDAsc3luYz1GYWxzZSkKICAgIG9uYm9hcmRfdGZ0LmZpbGxfcmVjdCgoKOacrOaculjlnZDmoIcgLSAxKSAqIDEwKSwgMjMwLCAzMCwgMTAsIDB4ZmZmZixzeW5jPUZhbHNlKQogICAgb25ib2FyZF90ZnQuZmlsbF9yZWN0KCjmnKzmnLpY5Z2Q5qCHICogMTApLCAyMjAsIDEwLCAxMCwgMHhmZmZmLHN5bmM9VHJ1ZSkKICAgIG9uYm9hcmRfbXVzaWMucGl0Y2hfdGltZSgyOTQsIDUwKQoKZGVmIOWPkeWwhOWtkOW8uSgpOgogICAgZ2xvYmFsIOWtkOW8uVjlnZDmoIcKICAgIOWtkOW8uVjlnZDmoIcgPSDmnKzmnLpY5Z2Q5qCHCiAgICBvbmJvYXJkX211c2ljLnBpdGNoX3RpbWUoMjYyLCA1MCkKICAgIGZvciDlrZDlvLlZ5Z2Q5qCHIGluIHJhbmdlKOWxj+W5lVnmnIDlpKflgLwgLSAyLCAtMiwgLTEpOgogICAgICAgIG9uYm9hcmRfdGZ0LmZpbGxfcmVjdCgo5a2Q5by5WOWdkOaghyAqIDEwKSwgKOWtkOW8uVnlnZDmoIcgKiAxMCksIDEwLCAxMCwgMHhmZmZmLHN5bmM9VHJ1ZSkKICAgICAgICBvbmJvYXJkX3RmdC5maWxsX3JlY3QoKOWtkOW8uVjlnZDmoIcgKiAxMCksICjlrZDlvLlZ5Z2Q5qCHICogMTApLCAxMCwgMTAsIDB4MCxzeW5jPUZhbHNlKQoKZGVmIOaYvuekuuaIkeacujIoKToKCgrlsY/luZVY5pyA5aSn5YC8ID0gMjMK5bGP5bmVWeacgOWkp+WAvCA9IDIzCuacrOaculjlnZDmoIcgPSAwCuWtkOW8uVjlnZDmoIcgPSAwCuaYvuekuuaIkeacuigpCndoaWxlIFRydWU6CiAgICBpZiBtaXhnb19zYW50LkExa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAg5pys5py6WOWdkOaghyAtPSAxCiAgICAgICAg5pi+56S65oiR5py6KCkKICAgIGlmIG1peGdvX3NhbnQuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICDmnKzmnLpY5Z2Q5qCHICs9IDEKICAgICAgICDmmL7npLrmiJHmnLooKQogICAgaWYgbWl4Z29fc2FudC5CMmtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIOWPkeWwhOWtkOW8uSgpCg==</code>SwgaW50KF9FNV9CMV84Rl9FNV9COV85NVlfRTZfOUNfODBfRTVfQTRfQTdfRTVfODBfQkMgLSAxKSwgMCkKICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93KCkKICAgIG9uYm9hcmRfbWF0cml4LnBpeGVsKGludChfRTZfOUNfQUNfRTZfOUNfQkFYX0U1XzlEXzkwX0U2X0EwXzg3KSwgaW50KF9FNV9CMV84Rl9FNV9COV85NVlfRTZfOUNfODBfRTVfQTRfQTdfRTVfODBfQkMpLCAxKQogICAgb25ib2FyZF9tYXRyaXguc2hvdygpCiAgICBvbmJvYXJkX21hdHJpeC5waXhlbChpbnQoX0U2XzlDX0FDX0U2XzlDX0JBWF9FNV85RF85MF9FNl9BMF84NyAtIDEpLCBpbnQoX0U1X0IxXzhGX0U1X0I5Xzk1WV9FNl85Q184MF9FNV9BNF9BN19FNV84MF9CQyksIDEpCiAgICBvbmJvYXJkX21hdHJpeC5zaG93KCkKICAgIG9uYm9hcmRfbWF0cml4LnBpeGVsKGludChfRTZfOUNfQUNfRTZfOUNfQkFYX0U1XzlEXzkwX0U2X0EwXzg3ICsgMSksIGludChfRTVfQjFfOEZfRTVfQjlfOTVZX0U2XzlDXzgwX0U1X0E0X0E3X0U1XzgwX0JDKSwgMSkKICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQogICAgb25ib2FyZF9tYXRyaXgucGl4ZWwoaW50KF9FNl85Q19BQ19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcpLCBpbnQoX0U1X0IxXzhGX0U1X0I5Xzk1WV9FNl85Q184MF9FNV9BNF9BN19FNV84MF9CQyAtIDEpLCAxKQogICAgb25ib2FyZF9tYXRyaXguc2hvdygpCiAgICBvbmJvYXJkX211c2ljLnBpdGNoX3RpbWUoMjk0LCA1MCkKCmRlZiBfRTVfOEZfOTFfRTVfQjBfODRfRTVfQURfOTBfRTVfQkNfQjkoKToKICAgIGdsb2JhbCBfRTVfQURfOTBfRTVfQkNfQjlYX0U1XzlEXzkwX0U2X0EwXzg3CiAgICBfRTVfQURfOTBfRTVfQkNfQjlYX0U1XzlEXzkwX0U2X0EwXzg3ID0gX0U2XzlDX0FDX0U2XzlDX0JBWF9FNV85RF85MF9FNl9BMF84NwogICAgb25ib2FyZF9tdXNpYy5waXRjaF90aW1lKDI2MiwgNTApCiAgICBmb3IgX0U1X0FEXzkwX0U1X0JDX0I5WV9FNV85RF85MF9FNl9BMF84NyBpbiByYW5nZShfRTVfQjFfOEZfRTVfQjlfOTVZX0U2XzlDXzgwX0U1X0E0X0E3X0U1XzgwX0JDIC0gMiwgLTIsIC0xKToKICAgICAgICBvbmJvYXJkX21hdHJpeC5waXhlbChpbnQoX0U1X0FEXzkwX0U1X0JDX0I5WF9FNV85RF85MF9FNl9BMF84NyksIGludChfRTVfQURfOTBfRTVfQkNfQjlZX0U1XzlEXzkwX0U2X0EwXzg3KSwgMSkKICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93KCkKICAgICAgICB0aW1lLnNsZWVwX21zKDUwKQogICAgICAgIG9uYm9hcmRfbWF0cml4LnBpeGVsKGludChfRTVfQURfOTBfRTVfQkNfQjlYX0U1XzlEXzkwX0U2X0EwXzg3KSwgaW50KF9FNV9BRF85MF9FNV9CQ19COVlfRTVfOURfOTBfRTZfQTBfODcpLCAwKQogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQoKCgpfRTVfQjFfOEZfRTVfQjlfOTVYX0U2XzlDXzgwX0U1X0E0X0E3X0U1XzgwX0JDID0gMTEKX0U1X0IxXzhGX0U1X0I5Xzk1WV9FNl85Q184MF9FNV9BNF9BN19FNV84MF9CQyA9IDcKX0U2XzlDX0FDX0U2XzlDX0JBWF9FNV85RF85MF9FNl9BMF84NyA9IDEKX0U2Xzk1XzhDX0U2XzlDX0JBWF9FNV85RF85MF9FNl9BMF84NyA9IDEKX0U1X0FEXzkwX0U1X0JDX0I5WF9FNV85RF85MF9FNl9BMF84NyA9IDEKX0U1X0JFXzk3X0U1Xzg4Xzg2ID0gMApfRTZfOThfQkVfRTdfQTRfQkFfRTZfODhfOTFfRTZfOUNfQkEoKQp3aGlsZSBUcnVlOgogICAgaWYgbWl4Z29fbWluaS5BMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIF9FNl85Q19BQ19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcgLT0gMQogICAgICAgIF9FNl85OF9CRV9FN19BNF9CQV9FNl84OF85MV9FNl85Q19CQSgpCiAgICBpZiBtaXhnb19taW5pLkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgX0U2XzlDX0FDX0U2XzlDX0JBWF9FNV85RF85MF9FNl9BMF84NyArPSAxCiAgICAgICAgX0U2Xzk4X0JFX0U3X0E0X0JBX0U2Xzg4XzkxX0U2XzlDX0JBKCkKICAgIGlmIG1peGdvX21pbmkuQjJrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICBfRTVfOEZfOTFfRTVfQjBfODRfRTVfQURfOTBfRTVfQkNfQjkoKQo=</code>