<snapdata remixID="10852234"><project name="digi4all-L1-rotation-art" app="Snap! 6, https://snap.berkeley.edu" version="1"><notes></notes><thumbnail>data:image/png;base64,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</thumbnail><stage name="Bühne" width="480" height="360" costume="1" color="255,255,255,1" tempo="60" threadsafe="false" penlog="false" volume="100" pan="0" lines="round" ternary="false" hyperops="true" codify="false" inheritance="true" sublistIDs="false" scheduled="false" id="1"><pentrails>data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAeAAAAFoCAYAAACPNyggAAAAAXNSR0IArs4c6QAAIABJREFUeF7t3X2QZFV5x/Hf6dmX6e5ZQJdVgxpAkJQKVoIvA8qKqCgIFQRKRU2JGokvlBEsU2pZWDGlhS+lsyYSEg2yE4wGKZRI1BjBEgnqICljKSTGRVyUIL4BO9O3Z9mdflKn720Z12W3p6e7zz3nfvufhaL7nuf5PLf47e2+L068EEAAAQQQQGDsAm7sK7IgAggggAACCIgAZidAAAEEEEAggAABHACdJRFAAAEEECCA2QcQQAABBBAIIEAAB0BnSQQQQAABBAhg9gEEEEAAAQQCCBDAAdBZEgEEEEAAAQKYfQABBBBAAIEAAgRwAHSWRAABBBBAgABmH0AAAQQQQCCAAAEcAJ0lEUAAAQQQIIDZBxBAAAEEEAggQAAHQGdJBBBAAAEECGD2AQQQQAABBAIIEMAB0FkSAQQQQAABAph9AAEEEEAAgQACBHAAdJZEAAEEEECAAGYfQAABBBBAIIAAARwAnSURQAABBBAggNkHEEAAAQQQCCBAAAdAZ0kEEEAAAQQIYPYBBBBAAAEEAggQwAHQWRIBBBBAAAECmH0AAQQQQACBAAIEcAB0lkQAAQQQQIAAZh9AAAEEEEAggAABHACdJRFAAAEEECCA2QcQQAABBBAIIEAAB0BnSQQQQAABBAhg9gEEEEAAAQQCCBDAAdBZEgEEEEAAAQKYfQABBBBAAIEAAgRwAHSWRAABBBBAgABmH0AAAQQQQCCAAAEcAJ0lEUAAAQQQIIDZBxBAAAEEEAggQAAHQGdJBBBAAAEECGD2AQQQQAABBAIIEMAB0FkSAQQQQAABAph9AAEEEEAAgQACBHAAdJZEAAEEEECAAGYfQAABBBBAIIAAARwAnSURQAABBBAggNkHEEAAAQQQCCBAAAdAZ0kEEEAAAQQIYPYBBBBAAAEEAggQwAHQWRIBBBBAAAECmH0AAQQQQACBAAIEcAB0lkQAAQQQQIAAZh9AAAEEEEAggAABHACdJRFAAAEEECCA2QcQQAABBBAIIEAAB0BnSQQQQAABBAhg9gEEEEAAAQQCCBDAAdBZEgEEEEAAAQKYfQABBBBAAIEAAgRwAHSWRAABBBBAgABmH0AAAQQQQCCAAAEcAJ0lEUAAAQQQIIDZBxBAAAEEEAggQAAHQGdJBBBAAAEECGD2AQQQQAABBAIIEMAB0FkSAQQQQAABAph9AAEEEEAAgQACBHAAdJZEAAEEEECAAGYfQAABBBBAIIAAARwAnSURQAABBBAggNkHEEAAAQQQCCBAAAdAZ0kEEEAAAQQIYPYBBBBAAAEEAggQwAHQWRIBBBBAAAECmH0AAQQQQACBAAIEcAB0lkQAAQQQQIAAZh9AAAEEEEAggAABHACdJRFAAAEEECCA2QcQQAABBBAIIEAAB0BnSQQQQAABBAhg9gEEEEAAAQQCCBDAAdBZEgEEEEAAAQKYfQABBBBAAIEAAgRwAHSWRAABBBBAgABmH0AAAQQQQCCAAAEcAJ0lEUAAAQQQIIDZBxBAAAEEEAggQAAHQGdJBBBAAAEECGD2AQQQQAABBAIIEMAB0FkSAQQQQAABAph9AAEEEEAAgQACBHAAdJZEAAEEEECAAGYfQAABBBBAIIAAARwAnSURQAABBBAggNkHEEAAAQQQCCBAAAdAZ0kEEEAAAQQIYPYBBBBAAAEEAggQwAHQWRIBBBBAAAECmH0AAQQQQACBAAIEcAB0lkQAAQQQQIAAZh9AAAEEEEAggAABHACdJRFAAAEEECCA2QcQQAABBBAIIEAAB0BnSQQQQAABBAhg9gEEEEAAAQQCCBDAAdBZEgEEEEAAAQKYfQABBBBAAIEAAgRwAHSWRAABBBBAgABmH0AAAQQQGLrADtNRO6W7NznND33jiWyQAE5kkLSBAAIIlEFg0fT4jnSBpNc56dt1p+PLUFcZayCAyzgVakIAAQQiE5g3PWFNHryvkDTXkdY1nTZH1sZYyyWAx8rNYggggEBaAgumY5x0QU06uyNt6Ui3TUgfddJ03emOtLodbjcE8HA92RoCCCBQCYEHTH+4S7pQ0uk1aWZSmlmUDjZpzqTzmk7XVgJiFU0SwKvA46MIIIBA1QRapqe6PHif54rgdU47vUNmus5J19edLq6ayyD9EsCDqPEZBBBAoGICmek45b/x+t91Z+akLSc57e4xZKYtkjY1XPc3YF59CBDAfSDxFgQQQKCqAm3TCZYH79MkbWk4zexp0TK91klvukeaPtxpsapWK+2bAF6pGO9HAAEEKiDQNp1o+VfNT/ZHvA2nv9lb28WR8U0mTTedbqkAzdBaJICHRsmGEEAAgfgF2qbndqQLnXSUSTNNp0sfqiszTS1Kc0vSB6ectsbf/Xg7IIDH681qCCCAQCkFFkwvmJAu6EiH+rOa604f31+hmelKST9pOL11f+/lv/+uAAHMXoEAAghUWKBlOq2W/8b7SP9Vc93p8n442qaLOtIzm06n9PN+3kMAsw8ggAACCEhqmc7wN9CQdKC/gcaU0z/2C5OZzpS6vwlPN5zu6vdzvO+3BTgCZo9AAAEEKiSQmc6SdKFJk8VXzZ9aSfvFvZ79rSZfNuX05ZV8lvcSwOwDCCCAQOUEMtNL/FnNxVGXP6v5M4MgtE1fN+lfGk4fGuTzfOZBAY6A2RsQQACBhAXappcX1/H6u1X54P3soO22TX/bkepNp1cPug0+RwCzDyCAAAJJCyyYXlmcXHV/917NTp9fTcOLpjcuSa9uSE93TraabfHZXIAjYPYEBBBAICGBtunV/jremnSPP7mq6fSF1bbXNj1L0r/VpOn1Tt9b7fb4PAHMPoAAAggkI9A2neeDV9Kd/gYawzpBykwPb0s3S7qo4fTpZMBK0AhHwCUYAiUggAACgwq0TG8ovmr+YXEd7/WDbmtvn2uZrqlJt9ad3jnM7bItvoJmH0AAAQSiFMhMbyqeTvQ9/1jAutMNw26kZXqPk45pOJ0x7G2zPQKYfQABBBCISmDRureL9F81f3u3tOUAp/8YRQPzpnPWSO+dlKad0y9HsUbVt8lX0FXfA+gfAQRKL2CmNe38rlX+Ot4bLX8s4LdGVfi86egJac5Jp9Wdvjaqdaq+XQK46nsA/SOAQGkF7jBNPkq6oLiO9/ri6UQjf+RfZpqTdEXD6aOlxUmgMAI4gSHSAgIIpCVgpmaWH+368P1CcVbzf42jy5bpspq0q+70+nGsV+U1COAqT5/eEUCgVAJmOtAHb3FW89X+Bhrrnb4/riIz6/62fHbD6YRxrVnldQjgKk+f3hFAoBQCO0wb1+ZHu/6o95/8yVUbnP57nMUtmE6ekK5y0vSk0w/GuXZV1yKAqzp5+kYAgaELmGnCOS31u+EF0yOLo13/dKJP7JZmDnTy1/OO9dUy/Z5T93ffCxtOV4918QovRgBXePi0jgACKxMw0/p56bCadKiTDtWyP/0/S/qxkx7RkW530jZJt5u0bUm6fYO0zTl1/IqZ6dHFNbz+zOZLi+t471hZNcN7d8v0xZo0V3d69/C2ypb2J0AA70+I/44AApURMNPUA9KhVoSrD9WOdFgRrj5gN0rabtJ2/2fvn/2/r5G2/0z62SHS43ZLRzrpCBV/mnSk8n//cXEPfr+tG5w0u1uam8rD+YEQ0JnpA5IObzi9OMT6VV6TAK7y9OkdgYoJmOmglnSYP3rtHcEuC1cfik0fprU8KH8TsL1/bjjdNQjZoulxS9JbnLpnFl8zIX1nSXqED+ll4fxTf8Tsj5xNul3SNn8k3czDORtk3f19pm16pUnvqOc329ixv/fz34crQAAP15OtIYBAQIF506blXw/3wtWKo9ia5JYfvfaC1f/ZkbZPOd0zzPIXTUcV1/D65+fOFCdX/Xxva/iQ7h05u+KI2YdzcSTt70TVDWf/dXatCOlGHs4DBWfLdGzxu++JDadvDLNvttWfAAHcnxPvQgCBEgi0TIcsP3Jd/s/+a2OT/EPnu0eurjiK7QXubmn7gU6/Hkcb86YnrsnvXPUy/0jA4uSqgddum37fh/OaZUfMPpxr+b8v9MJ5+W/P9Tyc97qmmda1pTmTLm06fWwcJqzxuwIEMHsFAgiURsAHzR5fCXdPdFp2JHvf8qPWXrj6P3dK2zcOeDQ4LICdpmN25/dpPssf8TakmUGPUPutyf+lpFOEs/+z97V2ceS8e3k4946c/dnOku5uOP15v+vwvuELEMDDN2WLCCCwQoHMdI2k030oLP/tdaI4inXS9nX+qNapvcJNj+XtLdMfuTzUXujPaJ7Mg3ckv9uupKF50yMmilBeFs7PctKjJLV8OPvfmv1vzj6c/b93pG1Np/9byTq8dzABAngwNz6FAAJDEijOwn3CbdJZT3XaNaTNjmUzLdPT/HW8Jj23+yzePHiDnM3cT8Mt02lOutzfbOMB6f61y35r9mdpF19p+6Poqd6JYL0j6F5Y153u7Gct3rN/AQJ4/0a8AwEERiTgz8KV9PbikXfzI1pm6JvNTMcX1/E+swjeLSu5AcfQC+pjg23r/kbuf/c9r+l07b4+YqYDdklH9E4K80fPy8L54D2uc759Ij963jbp9KM+SuEthQABzK6AAAJBBB4wHbtbulnS5obTN4MUscJFd5g2+5OrnPSU4pGAW1a4iWBvb5uuk3R93eni1RRhpsYD0hFLxdHzHmdsP8YfOS+7lGrPG5H0fZew1dQYy2cJ4FgmRZ0IJCTgz8LNpJtr0iV1p4+XvbW26dmd/D7NR3dProrsMX2Zyf9FYVPD6RWjtPZz9eG8jxuR/KgX0L27hPmj6eJGJP4M9kq9COBKjZtmESiHQGb6pKRfNZzeXI6K9l7Foul5/jpekx5fPIv378pc795qa5te25He9HNp+nCnxVD1m6m2szhynpCO8F9rF3cH65257U/8+q1rnZfdiMSfMJbciwBObqQ0hEC5BRZMb5+QTq677olLpXwtmE6ZyK/jfWz3N16nfyhlofspKjMdJ+kmk6abTreUuYe26XD/tba/1rkXzsuudfbXM3fDuff7sz+SLm5Ecn+Z+9pXbQRwrJOjbgQiFGiZTnfSZf4s3Lrr3u6xVK+iPh+8m4oHJGwtVYErKMbf13pRmluSPjjlFG0fvuXM9NheOC+7dWfvyNlf7tX9rdn/2bvWeUKaX+902wrIxv5WAnjs5CyIQDUF2qbDirNw/7Tp9K9lUthpOmNJ8o8EPMB/1TzldEWZ6huklsx0paSfNJzeOsjnY/mMf5Rirfg6u7jW+SSTjnbSDQ2nPy5zHwRwmadDbQgkJJCZrnfSV+pO7ytLW5np7OKuUOuKk6s+XZbaVlNHy/QuSc9oOp2ymu3E8ll/z+0l6VVOOtdJ35c0W3f6VNnrJ4DLPiHqQyABgcz0Ef8ov4bTn5Shncz00uI6XiuC96oy1DWMGnaazlyS/lrScYM+vWkYdYxjG8VfoF7le/Wh25Fmp5y+N461h7EGATwMRbaBAAIPKdAyneek84tH3gW91KRtekXxdKL2hDSz3ulzKY1u0fT4Jelmk86ZcvpySr31evEna3Xyo10fvP7WmT50Z2PslQCOcWrUjEAkAsUdo24szsL9z1BlL5jO9beMdNK9/ulETafPh6pllOtmphv984YbTh8a5Tohtt0ynVF8xfwck2bXSFvXOX0nRC3DWpMAHpYk20EAgd8SMNOGTJqrSe+vBzpCaZte42+gIeln/qvmptMXUx1Ty3SppMmmk3/2cBKvzPQYf6Rr+dHu3U7aOinNOif/lKfoXwRw9COkAQTKKZCZPuOfbNRw+otxV9gy/Zk/4u1I24uzmv993DWMc72W6Xx/dFh8ze9/14761bLuU6V86J4mdS+hmm247m1Lk3oRwEmNk2YQKIdA2/SujnR80+nUcVbUMr3R5TfQ+EFxHe9Xx7l+iLXmTSeukb5Uk6bXR3QC0p5WC6ZH1aRzlQfvff5r5l9Ls48t6SMohzFrAngYimwDAQR+I5BZ92H0Hyl+9x3Lc2Uz6z5Y3gfvd4vg/XoVRrLDtHGNNCfpooZTlJdQLZpO9idVSXqx/4rZB2/D6aYqzI8ArsKU6RGBMQn46zE70lxHeumU00i/9jWTa+eh63/j9SG0pSr/4+6NMzNd46Rb607vHNOIh7JM8ReH7nW7pu7zk2fb0uxGpx1DWSCSjRDAkQyKMhGIQaA4C/dzDacPj6peM631wWv504n8ka5/OpEP4Eq9Wqb3OOmYhtMZsTRePFXKB+8r/ZGuv4Rog9PXYql/2HUSwMMWZXsIVFSgbbq0I61vOr1mFAQ/MdUPzoPXH/V+pXg6UbBLm0bRY7/bzEznSHpvcdLVL/v9XIj3memAdv4Vs/99d033LlXSVufkH7BQ6RcBXOnx0zwCwxFYNJ3fGdFZuP6hAll+tOvD99q10sw6p+8Op/L4tjJvOnpCmnPSafUSHz3uMJ2wNv+K2YfvlTV/CZHTdfGJj65iAnh0tmwZgUoIzJuePSF9sSNND/M2gGY6aDG/lOjCmnRVLb9z1a2VQN1Hk5l1v26/ouH00bJZmKmeFXepMmmDP6mquFPVPWWrtQz1EMBlmAI1IBCpwA7TwWulby1JF00N6SzcYpvd33hN+uSSNHOA0/9ESjTUslumy2rSrrrT64e64VVuLDNN+yPd4k5Vn3fS7KTTl1a52eQ/TgAnP2IaRGB0Av4sXJNubQ7hLNziOlB/u0h/1HuZv1fzpOs+45VX/kxcf7b32Q2nE8oAcotp7ZMe/Ir5kcsuIfppGeqLoQYCOIYpUSMCJRRomd4r6ejmKs/CzUyPLi4l8idXXVJcx/vjErYcrCR/reySdNWEND3p9INghUhqmY71d6kqLiG6zp/NnOq9tUftTACPWpjtI5CgQGZ6maT31KWnO6dfDdJi23So/5pZ6t5EY6a4nIijpz0w/QPnXX6d84UNp6sHsR7GZxZMryruVHWYD91d0uxBTncMY9tV3QYBXNXJ0zcCAwosmI6ZkL4l6YV1pxtWuplF0xGd/FKi1/nQtfzpRHevdDtVeX/bug+QmKs7vXvcPe80HeMfdF/8vuvvTuXvUhXsLwHj7n/U6xHAoxZm+wgkJODvPuWfcDSRn2RzyUpa22H6g7V58J7rHwnYkWY2OP1iJduo2nsz0wckHd5wevE4e/fPTfZzMumJ/mh3Ir+E6IfjrKEKaxHAVZgyPSIwJIGW6RM1aWfd6Q39bnLe9KTiWbzn+Jtn7JJmDnK6t9/PV/V9beveLeodxc02Rn6LxnnTEyaKhyGY9B1/UlXD6cqq+o+jbwJ4HMqsgUACApnpLU46s+60uZ92dpqevDv/jfdF/hreSWnGOc3389mqv6c40cn/7ntiw+kbo/TITC8pvmJ+ir9Zhr+EaL3TbaNck23nAgQwewICCOxXYNH0/E5+NyN/Fu7/7usDPjz8Ea9Jp/ozmovgbe93Ed7QFTDTurY0Z9KlTaePjYLlftOR6x68hMg/unFr3emTo1iLbT60AAHM3oEAAvsUaJkOKc7CfXPD6bMP9ebM9PTikYAn+ZOr7pC2PMl1n3TDawUCbdMVJt3bcN2zw4f6ykxn+uftmrR52V2qKntbz6HiDrAxAngAND6CQJUEWtZ92Ps3605/tbe+M9MziuA93j8SsJ5/1dypktGwes1Mb5P0gobTc4a1TX+5l3/err9uV9Kd/ivm90uzf8mMhkU88HYI4IHp+CAC6Qtkpg9KOrTh9JI9u22bNhfX8R5bXMP7kfRFRtfhoum0Jely/zV/fQjX1y6aTi+C9/n+TObihhm3jK4DtrxSAQJ4pWK8H4GKCLSte8T0tklpevnJU23TSf4BCS6/RGWmucLLkSrCt6I2i5uS+N99z2s6XbuiDy97s/+5oFY8+s+kX/rQbeSP/uOngEFRR/g5AniEuGwagVgFWqanFL/7bm44fdP3sWA6eSI/ueqI7lnNTn8fa39lq7ttum5Jun7K6eJBalswnVLcpepFPnSLS4j8zVJ4lViAAC7xcCgNgRACZlpfnIV7SdPp4y3Tqf6sZql7z+aZutNlIepKdc3MtEXSpobr3vyi75eZNvkH3ReXELX8JUTrffg6tfreCG8MKkAAB+VncQTKJ5BZ93KUX5l0nX8ykaSN/s5VU05by1dt3BW1TOc56fx7pOMOd1rsp5u26bnFXape7o92ffDWnW7s57O8p1wCBHC55kE1CAQVaJve3pFe7qR7TZryXzVzfehoRpKZ/FnjN5p0XNNpnydH3Wd6mL9ut7iEyPxXzDul2Yc53Tea6tjqOAQI4HEoswYCEQi0TReZdJHUvQvS+xpO/xxB2VGW+AvThkZ+s40P7OubhbbpWb1LiJy630zM1p2+GmXTFP07AgQwOwUCCPxGIDNd3HB6BySjFchMn/HX5Dac3rrnSmaa8r/t+q+ZnTTpv2ZekmZ5cMVoZxJi6wRwCHXWRACBygq0TO+qScfXnU5djuC/kvYPuvcnVUm6uiPNTjl9ubJQFWicAK7AkGkRAQTKIZCZzpLkb1hyXMPpLn/GefbgXaoe7kPX/77L85HLMa9RV0EAj1qY7SOAAAKSdpiOmsifpfzSJene4taQ/mjX3+rTP2/3C0BVS4AArta86RYBBAIJZKYbnXSXSYf4a6qXXUJ0Z6CSWDawAAEceAAsjwAC6Qu0TDfVpKd2pC8p/4r5mvS7psP9CRDA+xPivyOAAAKrFDDTw3ZKGyedtq1yU3w8IQECOKFh0goCCCCAQDwCBHA8s6JSBBBAAIGEBAjghIZJKwgggAAC8QgQwPHMikoRQAABBBISIIATGiatIIAAAgjEI0AAxzMrKkUAAQQQSEiAAE5omLSCAAIIIBCPAAEcz6yoFAEEEEAgIQECOKFh0goCCCCAQDwCBHA8s6JSBBBAAIGEBAjghIZJKwgggAAC8QgQwPHMikoRQAABBBISIIATGiatIIAAAgjEI0AAxzMrKkUAAQQQSEiAAE5omLSCAAIIIBCPAAEcz6yoFAEEEEAgIQECOKFh0goCCCCAQDwCBHA8s6JSBBBAAIGEBAjghIZJKwgggAAC8QgQwPHMikoRQAABBBISIIATGiatIIAAAgjEI0AAxzMrKkUAAQQQSEiAAE5omLSCAAIIIBCPAAEcz6yoFAEEEEAgIQECOKFh0goCCCCAQDwCBHA8s6JSBBBAAIGEBAjghIZJKwgggAAC8QgQwPHMikoRQAABBBISIIATGiatIIAAAgjEI0AAxzMrKkUAAQQQSEiAAE5omLSCAAIIIBCPAAEcz6yoFAEEEEAgIQECOKFh0goCCCCAQDwCBHA8s6JSBBBAAIGEBAjghIZJKwgggAAC8QgQwPHMikoRQAABBBISIIATGiatIIAAAgjEI0AAxzMrKkUAAQQQSEiAAE5omLSCAAIIIBCPAAEcz6yoFAEEEEAgIQECOKFh0goCCCCAQDwCBHA8s6JSBBBAAIGEBAjghIZJKwgggAAC8QgQwPHMikoRQAABBBISIIATGiatIIAAAgjEI0AAxzMrKkUAAQQQSEiAAE5omLSCAAIIIBCPAAEcz6yoFAEEEEAgIQECOKFh0goCCCCAQDwCBHA8s6JSBBBAAIGEBAjghIZJKwgggAAC8QgQwPHMikoRQAABBBISIIATGiatIIAAAgjEI0AAxzMrKkUAAQQQSEiAAE5omLSCAAIIIBCPAAEcz6yoFAEEEEAgIQECOKFh0goCCCCAQDwCBHA8s6JSBBBAAIGEBAjghIZJKwgggAAC8QgQwPHMikoRQAABBBISIIATGiatIIAAAgjEI0AAxzMrKkUAAQQQSEiAAE5omLSCAAIIIBCPAAEcz6yoFAEEEEAgIQECOKFh0goCCCCAQDwCBHA8s6JSBBBAAIGEBAjghIZJKwgggAAC8QgQwPHMikoRQAABBBISIIATGiatIIAAAgjEI0AAxzMrKkUAAQQQSEiAAE5omLSCAAIIIBCPAAEcz6yoFAEEEEAgIQECOKFh0goCCCCAQDwCBHA8s6JSBBBAAIGEBAjghIZJKwgggAAC8QgQwPHMikoRQAABBBISIIATGiatIIAAAgjEI0AAxzMrKkUAAQQQSEiAAE5omLSCAAIIIBCPAAEcz6yoFAEEEEAgIQECOKFh0goCCCCAQDwCBHA8s6JSBBBAAIGEBAjghIZJKwgggAAC8QgQwPHMikoRQAABBBISIIATGiatIIAAAgjEI0AAxzMrKkUAAQQQSEiAAE5omLSCAAIIIBCPAAEcz6yoFAEEEEAgIQECOKFh0goCCCCAQDwCBHA8s6JSBBBAAIGEBAjghIZJKwgggAAC8QgQwPHMikoRQAABBBISIIATGiatIIAAAgjEI0AAxzMrKkUAAQQQSEiAAE5omLSCAAIIIBCPAAEcz6yoFAEEEEAgIQECOKFh0goCCCCAQDwCBHA8s6JSBBBAAIGEBAjghIZJKwgggAAC8QgQwPHMikoRQAABBBISIIATGiatIIAAAgjEI0AAxzMrKkUAAQQQSEiAAE5omLSCAAIIIBCPAAEcz6yoFAEEEEAgIQECOKFh0goCCCCAQDwCBHA8s6JSBBBAAIGEBAjghIZJKwgggAAC8QgQwPHMikoRQAABBBISIIATGiatIIAAAgjEI0AAxzMrKkUAAQQQSEiAAE5omLSCAAIIIBCPAAEcz6yoFAEEEEAgIQECOKFh0goCCCCAQDwCBHA8s6JSBBBAAIGEBAjghIZJKwgggAAC8QgQwPHMikoRQAABBBISIIATGiatIIAAAgjEI0AAxzMrKkUAAQQQSEiAAE5omLSCAAIIIBCPAAEcz6yoFAEEEEAgIQECOKFh0goCCCCAQDwCBHA8s6JSBBBAAIGEBAjghIZJKwgggAAC8QgQwPHMikoRQAABBBISIIATGiatIIAAAgjEI0AAxzMrKkUAAQQQSEiAAE5omLSCAAKKUZHWAAACZklEQVQIIBCPAAEcz6yoFAEEEEAgIQECOKFh0goCCCCAQDwCBHA8s6JSBBBAAIGEBAjghIZJKwgggAAC8QgQwPHMikoRQAABBBISIIATGiatIIAAAgjEI0AAxzMrKkUAAQQQSEiAAE5omLSCAAIIIBCPAAEcz6yoFAEEEEAgIQECOKFh0goCCCCAQDwCBHA8s6JSBBBAAIGEBAjghIZJKwgggAAC8QgQwPHMikoRQAABBBISIIATGiatIIAAAgjEI0AAxzMrKkUAAQQQSEiAAE5omLSCAAIIIBCPAAEcz6yoFAEEEEAgIQECOKFh0goCCCCAQDwCBHA8s6JSBBBAAIGEBAjghIZJKwgggAAC8QgQwPHMikoRQAABBBISIIATGiatIIAAAgjEI0AAxzMrKkUAAQQQSEiAAE5omLSCAAIIIBCPAAEcz6yoFAEEEEAgIQECOKFh0goCCCCAQDwCBHA8s6JSBBBAAIGEBAjghIZJKwgggAAC8QgQwPHMikoRQAABBBISIIATGiatIIAAAgjEI0AAxzMrKkUAAQQQSEiAAE5omLSCAAIIIBCPAAEcz6yoFAEEEEAgIQECOKFh0goCCCCAQDwCBHA8s6JSBBBAAIGEBAjghIZJKwgggAAC8QgQwPHMikoRQAABBBISIIATGiatIIAAAgjEI0AAxzMrKkUAAQQQSEiAAE5omLSCAAIIIBCPAAEcz6yoFAEEEEAgIQECOKFh0goCCCCAQDwCBHA8s6JSBBBAAIGEBAjghIZJKwgggAAC8QgQwPHMikoRQAABBBISIIATGiatIIAAAgjEI/D/lOOqtAfcGikAAAAASUVORK5CYII=</pentrails><costumes><list id="2"><item><costume name="Unbenannt" center-x="240" center-y="180" image="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAeAAAAFoCAYAAACPNyggAAAAAXNSR0IArs4c6QAADotJREFUeF7t1cEJADAMxLBk/6Fb6BD1R1ngQAS8M3PGESBAgAABAl8FVoC/ehsjQIAAAQJPQIA9AgECBAgQCAQEOEA3SYAAAQIEBNgPECBAgACBQECAA3STBAgQIEBAgP0AAQIECBAIBAQ4QDdJgAABAgQE2A8QIECAAIFAQIADdJMECBAgQECA/QABAgQIEAgEBDhAN0mAAAECBATYDxAgQIAAgUBAgAN0kwQIECBAQID9AAECBAgQCAQEOEA3SYAAAQIEBNgPECBAgACBQECAA3STBAgQIEBAgP0AAQIECBAIBAQ4QDdJgAABAgQE2A8QIECAAIFAQIADdJMECBAgQECA/QABAgQIEAgEBDhAN0mAAAECBATYDxAgQIAAgUBAgAN0kwQIECBAQID9AAECBAgQCAQEOEA3SYAAAQIEBNgPECBAgACBQECAA3STBAgQIEBAgP0AAQIECBAIBAQ4QDdJgAABAgQE2A8QIECAAIFAQIADdJMECBAgQECA/QABAgQIEAgEBDhAN0mAAAECBATYDxAgQIAAgUBAgAN0kwQIECBAQID9AAECBAgQCAQEOEA3SYAAAQIEBNgPECBAgACBQECAA3STBAgQIEBAgP0AAQIECBAIBAQ4QDdJgAABAgQE2A8QIECAAIFAQIADdJMECBAgQECA/QABAgQIEAgEBDhAN0mAAAECBATYDxAgQIAAgUBAgAN0kwQIECBAQID9AAECBAgQCAQEOEA3SYAAAQIEBNgPECBAgACBQECAA3STBAgQIEBAgP0AAQIECBAIBAQ4QDdJgAABAgQE2A8QIECAAIFAQIADdJMECBAgQECA/QABAgQIEAgEBDhAN0mAAAECBATYDxAgQIAAgUBAgAN0kwQIECBAQID9AAECBAgQCAQEOEA3SYAAAQIEBNgPECBAgACBQECAA3STBAgQIEBAgP0AAQIECBAIBAQ4QDdJgAABAgQE2A8QIECAAIFAQIADdJMECBAgQECA/QABAgQIEAgEBDhAN0mAAAECBATYDxAgQIAAgUBAgAN0kwQIECBAQID9AAECBAgQCAQEOEA3SYAAAQIEBNgPECBAgACBQECAA3STBAgQIEBAgP0AAQIECBAIBAQ4QDdJgAABAgQE2A8QIECAAIFAQIADdJMECBAgQECA/QABAgQIEAgEBDhAN0mAAAECBATYDxAgQIAAgUBAgAN0kwQIECBAQID9AAECBAgQCAQEOEA3SYAAAQIEBNgPECBAgACBQECAA3STBAgQIEBAgP0AAQIECBAIBAQ4QDdJgAABAgQE2A8QIECAAIFAQIADdJMECBAgQECA/QABAgQIEAgEBDhAN0mAAAECBATYDxAgQIAAgUBAgAN0kwQIECBAQID9AAECBAgQCAQEOEA3SYAAAQIEBNgPECBAgACBQECAA3STBAgQIEBAgP0AAQIECBAIBAQ4QDdJgAABAgQE2A8QIECAAIFAQIADdJMECBAgQECA/QABAgQIEAgEBDhAN0mAAAECBATYDxAgQIAAgUBAgAN0kwQIECBAQID9AAECBAgQCAQEOEA3SYAAAQIEBNgPECBAgACBQECAA3STBAgQIEBAgP0AAQIECBAIBAQ4QDdJgAABAgQE2A8QIECAAIFAQIADdJMECBAgQECA/QABAgQIEAgEBDhAN0mAAAECBATYDxAgQIAAgUBAgAN0kwQIECBAQID9AAECBAgQCAQEOEA3SYAAAQIEBNgPECBAgACBQECAA3STBAgQIEBAgP0AAQIECBAIBAQ4QDdJgAABAgQE2A8QIECAAIFAQIADdJMECBAgQECA/QABAgQIEAgEBDhAN0mAAAECBATYDxAgQIAAgUBAgAN0kwQIECBAQID9AAECBAgQCAQEOEA3SYAAAQIEBNgPECBAgACBQECAA3STBAgQIEBAgP0AAQIECBAIBAQ4QDdJgAABAgQE2A8QIECAAIFAQIADdJMECBAgQECA/QABAgQIEAgEBDhAN0mAAAECBATYDxAgQIAAgUBAgAN0kwQIECBAQID9AAECBAgQCAQEOEA3SYAAAQIEBNgPECBAgACBQECAA3STBAgQIEBAgP0AAQIECBAIBAQ4QDdJgAABAgQE2A8QIECAAIFAQIADdJMECBAgQECA/QABAgQIEAgEBDhAN0mAAAECBATYDxAgQIAAgUBAgAN0kwQIECBAQID9AAECBAgQCAQEOEA3SYAAAQIEBNgPECBAgACBQECAA3STBAgQIEBAgP0AAQIECBAIBAQ4QDdJgAABAgQE2A8QIECAAIFAQIADdJMECBAgQECA/QABAgQIEAgEBDhAN0mAAAECBATYDxAgQIAAgUBAgAN0kwQIECBAQID9AAECBAgQCAQEOEA3SYAAAQIEBNgPECBAgACBQECAA3STBAgQIEBAgP0AAQIECBAIBAQ4QDdJgAABAgQE2A8QIECAAIFAQIADdJMECBAgQECA/QABAgQIEAgEBDhAN0mAAAECBATYDxAgQIAAgUBAgAN0kwQIECBAQID9AAECBAgQCAQEOEA3SYAAAQIEBNgPECBAgACBQECAA3STBAgQIEBAgP0AAQIECBAIBAQ4QDdJgAABAgQE2A8QIECAAIFAQIADdJMECBAgQECA/QABAgQIEAgEBDhAN0mAAAECBATYDxAgQIAAgUBAgAN0kwQIECBAQID9AAECBAgQCAQEOEA3SYAAAQIEBNgPECBAgACBQECAA3STBAgQIEBAgP0AAQIECBAIBAQ4QDdJgAABAgQE2A8QIECAAIFAQIADdJMECBAgQECA/QABAgQIEAgEBDhAN0mAAAECBATYDxAgQIAAgUBAgAN0kwQIECBAQID9AAECBAgQCAQEOEA3SYAAAQIEBNgPECBAgACBQECAA3STBAgQIEBAgP0AAQIECBAIBAQ4QDdJgAABAgQE2A8QIECAAIFAQIADdJMECBAgQECA/QABAgQIEAgEBDhAN0mAAAECBATYDxAgQIAAgUBAgAN0kwQIECBAQID9AAECBAgQCAQEOEA3SYAAAQIEBNgPECBAgACBQECAA3STBAgQIEBAgP0AAQIECBAIBAQ4QDdJgAABAgQE2A8QIECAAIFAQIADdJMECBAgQECA/QABAgQIEAgEBDhAN0mAAAECBATYDxAgQIAAgUBAgAN0kwQIECBAQID9AAECBAgQCAQEOEA3SYAAAQIEBNgPECBAgACBQECAA3STBAgQIEBAgP0AAQIECBAIBAQ4QDdJgAABAgQE2A8QIECAAIFAQIADdJMECBAgQECA/QABAgQIEAgEBDhAN0mAAAECBATYDxAgQIAAgUBAgAN0kwQIECBAQID9AAECBAgQCAQEOEA3SYAAAQIEBNgPECBAgACBQECAA3STBAgQIEBAgP0AAQIECBAIBAQ4QDdJgAABAgQE2A8QIECAAIFAQIADdJMECBAgQECA/QABAgQIEAgEBDhAN0mAAAECBATYDxAgQIAAgUBAgAN0kwQIECBAQID9AAECBAgQCAQEOEA3SYAAAQIEBNgPECBAgACBQECAA3STBAgQIEBAgP0AAQIECBAIBAQ4QDdJgAABAgQE2A8QIECAAIFAQIADdJMECBAgQECA/QABAgQIEAgEBDhAN0mAAAECBATYDxAgQIAAgUBAgAN0kwQIECBAQID9AAECBAgQCAQEOEA3SYAAAQIEBNgPECBAgACBQECAA3STBAgQIEBAgP0AAQIECBAIBAQ4QDdJgAABAgQE2A8QIECAAIFAQIADdJMECBAgQECA/QABAgQIEAgEBDhAN0mAAAECBATYDxAgQIAAgUBAgAN0kwQIECBAQID9AAECBAgQCAQEOEA3SYAAAQIEBNgPECBAgACBQECAA3STBAgQIEBAgP0AAQIECBAIBAQ4QDdJgAABAgQE2A8QIECAAIFAQIADdJMECBAgQECA/QABAgQIEAgEBDhAN0mAAAECBATYDxAgQIAAgUBAgAN0kwQIECBAQID9AAECBAgQCAQEOEA3SYAAAQIEBNgPECBAgACBQECAA3STBAgQIEBAgP0AAQIECBAIBAQ4QDdJgAABAgQE2A8QIECAAIFAQIADdJMECBAgQECA/QABAgQIEAgEBDhAN0mAAAECBATYDxAgQIAAgUBAgAN0kwQIECBAQID9AAECBAgQCAQEOEA3SYAAAQIEBNgPECBAgACBQECAA3STBAgQIEBAgP0AAQIECBAIBAQ4QDdJgAABAgQE2A8QIECAAIFAQIADdJMECBAgQECA/QABAgQIEAgEBDhAN0mAAAECBATYDxAgQIAAgUBAgAN0kwQIECBAQID9AAECBAgQCAQEOEA3SYAAAQIEBNgPECBAgACBQECAA3STBAgQIEBAgP0AAQIECBAIBAQ4QDdJgAABAgQE2A8QIECAAIFAQIADdJMECBAgQECA/QABAgQIEAgEBDhAN0mAAAECBATYDxAgQIAAgUBAgAN0kwQIECBAQID9AAECBAgQCAQEOEA3SYAAAQIEBNgPECBAgACBQECAA3STBAgQIEBAgP0AAQIECBAIBAQ4QDdJgAABAgQE2A8QIECAAIFAQIADdJMECBAgQECA/QABAgQIEAgEBDhAN0mAAAECBATYDxAgQIAAgUBAgAN0kwQIECBAQID9AAECBAgQCAQEOEA3SYAAAQIEBNgPECBAgACBQECAA3STBAgQIEBAgP0AAQIECBAIBAQ4QDdJgAABAgQE2A8QIECAAIFAQIADdJMECBAgQECA/QABAgQIEAgEBDhAN0mAAAECBATYDxAgQIAAgUBAgAN0kwQIECBAQID9AAECBAgQCAQEOEA3SYAAAQIEBNgPECBAgACBQECAA3STBAgQIEBAgP0AAQIECBAIBAQ4QDdJgAABAgQE2A8QIECAAIFAQIADdJMECBAgQECA/QABAgQIEAgEBDhAN0mAAAECBC5oYGgQUTbVPQAAAABJRU5ErkJggg==" id="3"/></item></list></costumes><sounds><list struct="atomic" id="4"></list></sounds><variables></variables><blocks></blocks><scripts></scripts><sprites><sprite name="Stift" idx="1" x="20" y="0" heading="188" scale="1" volume="100" pan="0" rotation="1" draggable="true" costume="0" color="246.20689655172413,255,0,1" pen="tip" id="9"><costumes><list struct="atomic" id="10"></list></costumes><sounds><list struct="atomic" id="11"></list></sounds><blocks></blocks><variables></variables><scripts><script x="202" y="65.3333333333334"><block s="receiveGo"></block><block s="down"></block><block s="setColor"><color>250,255,110,1</color></block><block s="setPenHSVA"><l><option>brightness</option></l><l>1000000000</l></block><block s="setPenHSVA"><l><option>saturation</option></l><l>200</l></block><block s="doForever"><script><block s="clear"></block><block s="doWarp"><script><block s="turnLeft"><l>45</l></block><block s="forward"><l>50</l></block><block s="turn"><l>45</l></block><block s="forward"><l>50</l></block><block s="turn"><l>15</l></block></script></block><block s="doWarp"><script><block s="doRepeat"><l>3</l><script><block s="forward"><l>100</l></block><block s="turn"><l>120</l></block><block s="turn"><l>30</l></block></script></block><block s="doGlide"><l>0</l><l>20</l><l>0</l></block></script></block></script></block></script></scripts></sprite><watcher var="seitenwinkel" style="normal" x="12.479166666666515" y="64.89167165833332" color="243,118,29"/><watcher var="seitenlänge" style="normal" x="7.781127450980421" y="14.828186274509811" color="243,118,29"/><watcher var="seitenzahl" style="normal" x="11.304656862744878" y="39.85992896642159" color="243,118,29"/><watcher var="Kreis" style="normal" x="6" y="0" color="243,118,29"/></sprites></stage><hidden></hidden><headers></headers><code></code><blocks><block-definition s="%&apos;attribute&apos; of sound %&apos;sound&apos;" type="reporter" category="sound"><header></header><code></code><translations></translations><inputs><input type="%s" readonly="true">duration<options>name&#xD;duration&#xD;length&#xD;number of channels&#xD;sample rate&#xD;samples</options></input><input type="%obj"></input></inputs><script><block s="doIf"><block s="reportEquals"><block var="attribute"/><l>name</l></block><script><block s="doReport"><block s="evaluate"><block s="reportJSFunction"><list><l>sound</l></list><l>return sound.name;</l></block><list><block var="sound"/></list></block></block></script></block><block s="doIf"><block s="reportEquals"><block var="attribute"/><l>samples</l></block><script><block s="doReport"><block s="evaluate"><block s="reportJSFunction"><list><l>audioBuffer</l></list><l>var result, i;&#xD;if (audioBuffer.numberOfChannels &gt; 1) {&#xD;    result = new List();&#xD;    for (i = 0; i &lt; audioBuffer.numberOfChannels; i += 1) {&#xD;        result.add(new List(audioBuffer.getChannelData(i)));&#xD;    }&#xD;    return result;&#xD;}&#xD;return new List(audioBuffer.getChannelData(0));</l></block><list><custom-block s="%s of sound %obj"><l></l><block var="sound"/></custom-block></list></block></block></script></block><block s="doRun"><block s="reportJSFunction"><list><l>sound</l></list><l>var base64, binaryString, len, bytes, i,&#xD;    arrayBuffer, audioCtx;&#xD;if (sound.audioBuffer) {&#xD;    return;&#xD;}&#xD;base64 = sound.audio.src.split(&apos;,&apos;)[1];&#xD;binaryString =  window.atob(base64);&#xD;len = binaryString.length;&#xD;bytes = new Uint8Array(len);&#xD;for (i = 0; i &lt; len; i += 1)        {&#xD;  bytes[i] = binaryString.charCodeAt(i);&#xD;}&#xD;arrayBuffer = bytes.buffer;&#xD;Note.prototype.setupContext();&#xD;audioCtx = Note.prototype.audioContext;&#xD;audioCtx.decodeAudioData(arrayBuffer, function(buffer) {&#xD;   sound.audioBuffer = buffer;&#xD;});</l></block><list><block var="sound"/></list></block><block s="doWaitUntil"><block s="evaluate"><block s="reportJSFunction"><list><l>sound</l></list><l>return !isNil(sound.audioBuffer);</l></block><list><block var="sound"/></list></block></block><block s="doReport"><block s="evaluate"><block s="reportJSFunction"><list><l>sound</l><l>choice</l></list><l>switch (choice) {&#xD;case &apos;sample rate&apos;:&#xD;    return sound.audioBuffer.sampleRate;&#xD;case &apos;duration&apos;:&#xD;    return sound.audioBuffer.duration;&#xD;case &apos;length&apos;:&#xD;    return sound.audioBuffer.length;&#xD;case &apos;number of channels&apos;:&#xD;    return sound.audioBuffer.numberOfChannels;&#xD;default:&#xD;    return sound.audioBuffer;&#xD;}</l></block><list><block var="sound"/><block var="attribute"/></list></block></block></script></block-definition><block-definition s="turbo %&apos;action&apos;" type="command" category="other"><header></header><code></code><translations></translations><inputs><input type="%cs"></input></inputs><script><block s="doDeclareVariables"><list><l>begin</l></list></block><block s="doSetVar"><l>begin</l><block s="reportGlobalFlag"><l><option>turbo mode</option></l></block></block><block s="doSetGlobalFlag"><l><option>turbo mode</option></l><l><bool>true</bool></l></block><block s="doRun"><block var="action"/><list></list></block><block s="doSetGlobalFlag"><l><option>turbo mode</option></l><block var="begin"/></block></script></block-definition><block-definition s="play %&apos;samples&apos; at %&apos;sampleRate&apos; Hz" type="command" category="sound"><comment x="0" y="0" w="164" collapsed="false">play back a sound, a list of samples (single channel), or a list of lists (multiple channels) at the given sample rate.&#xD;for demo purposes this block also fast-plots the samples on the stage</comment><header></header><code></code><translations></translations><inputs><input type="%l"></input><input type="%n">44100<options>22.05 kHz=22050&#xD;44.1 kHz=44100&#xD;88.2 kHz=88200&#xD;96 kHz=96000</options></input></inputs><script><block s="doIf"><block s="reportIsA"><block var="samples"/><l><option>sound</option></l></block><script><block s="doSetVar"><l>samples</l><custom-block s="%s of sound %obj"><l>samples</l><block var="samples"/></custom-block></block></script></block><block s="doRun"><block s="reportJSFunction"><list><l>samples</l><l>rate</l></list><l>var audioCtx, channels, frameCount, arrayBuffer, i, source;&#xD;Note.prototype.setupContext();&#xD;audioCtx = Note.prototype.audioContext;&#xD;channels = (samples.at(1) instanceof List) ? samples.length() : 1; &#xD;frameCount = (channels === 1) ? samples.length() : samples.at(1).length(); &#xD;arrayBuffer = audioCtx.createBuffer(channels, frameCount, rate);&#xD;if (!arrayBuffer.copyToChannel) {&#xD;    arrayBuffer.copyToChannel = function (src, channel) {&#xD;        var buffer = this.getChannelData(channel);&#xD;        for (i = 0; i &lt; src.length; i += 1) {&#xD;            buffer[i] = src[i];&#xD;        }&#xD;    }&#xD;}&#xD;if (channels === 1) {&#xD;    arrayBuffer.copyToChannel(Float32Array.from(samples.asArray()), 0, 0);&#xD;} else {&#xD;    for (i = 0; i &lt; channels; i += 1) {&#xD;        arrayBuffer.copyToChannel(Float32Array.from(samples.at(i + 1).asArray()), i, 0);&#xD;    }&#xD;}&#xD;source = audioCtx.createBufferSource();&#xD;source.buffer = arrayBuffer;&#xD;source.connect(audioCtx.destination);&#xD;source.start();&#xD;source.pause = source.stop;&#xD;this.parentThatIsA(StageMorph).activeSounds.push(source);</l></block><list><block var="samples"/><block var="sampleRate"/></list></block><custom-block s="plot sound %obj"><block var="samples"/></custom-block></script></block-definition><block-definition s="%&apos;frequency&apos; Hz for %&apos;duration&apos; secs at %&apos;sample rate&apos; Hz sample rate" type="reporter" category="sound"><comment x="0" y="0" w="205" collapsed="false">generate a list of samples representing a sine wave at the given frequency, duration and sample rate</comment><header></header><code></code><translations></translations><inputs><input type="%n">440<options>a 55=55&#xD;a 110=110&#xD;a 220=220&#xD;a 440=440&#xD;a 880=880&#xD;a 1760=1760&#xD;a 3520=3520</options></input><input type="%n">1</input><input type="%n">44100<options>22.05 kHz=22050&#xD;44.1 kHz=44100&#xD;88.2 kHz=88200&#xD;96 kHz=96000</options></input></inputs><script><block s="doDeclareVariables"><list><l>output</l><l>sample period</l><l>duration in samples</l><l>time</l></list></block><block s="doSetVar"><l>sample period</l><block s="reportQuotient"><l>1</l><block var="sample rate"/></block></block><block s="doSetVar"><l>duration in samples</l><block s="reportMonadic"><l><option>ceiling</option></l><block s="reportProduct"><block var="duration"/><block var="sample rate"/></block></block></block><block s="doSetVar"><l>time</l><l>0</l></block><block s="doSetVar"><l>output</l><block s="reportNewList"><list></list></block></block><block s="doWarp"><script><block s="doRepeat"><block var="duration in samples"/><script><block s="doAddToList"><block s="reportMonadic"><l><option>sin</option></l><custom-block s="degrees %n"><block s="reportProduct"><l>2</l><block s="reportProduct"><custom-block s="PI"></custom-block><block s="reportProduct"><block var="frequency"/><block var="time"/></block></block></block></custom-block></block><block var="output"/></block><block s="doChangeVar"><l>time</l><block var="sample period"/></block></script></block></script></block><block s="doReport"><block var="output"/></block></script></block-definition><block-definition s="PI" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><l>3.141592653589793</l></block></script></block-definition><block-definition s="degrees %&apos;radians&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%n">0.5</input></inputs><script><block s="doReport"><block s="reportQuotient"><block s="reportProduct"><block var="radians"/><l>180</l></block><custom-block s="PI"></custom-block></block></block></script></block-definition><block-definition s="find first in %&apos;list&apos; such that %&apos;test&apos;" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs><input type="%l"></input><input type="%predRing"></input></inputs><script><block s="doIf"><block s="reportEquals"><block var="list"/><block s="reportNewList"><list></list></block></block><script><custom-block s="error %s"><l>item not found in list</l></custom-block></script></block><block s="doIf"><block s="evaluate"><block var="test"/><list><block s="reportListItem"><l>1</l><block var="list"/></block></list></block><script><block s="doReport"><block s="reportListItem"><l>1</l><block var="list"/></block></block></script></block><block s="doReport"><custom-block s="find first in %l such that %predRing"><block s="reportCDR"><block var="list"/></block><block var="test"/></custom-block></block></script></block-definition><block-definition s="error %&apos;msg&apos;" type="command" category="control"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doRun"><block s="reportJSFunction"><list><l>msg</l></list><l>throw new Error(msg)</l></block><list><block var="msg"/></list></block></script></block-definition><block-definition s="sound named %&apos;name&apos;" type="reporter" category="sensing"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doReport"><custom-block s="find first in %l such that %predRing"><block s="reportGet"><l><option>sounds</option></l></block><block s="reifyPredicate"><autolambda><block s="reportEquals"><custom-block s="%s of sound %obj"><l>name</l><block var="sound"/></custom-block><block var="name"/></block></autolambda><list><l>sound</l></list></block></custom-block></block></script></block-definition><block-definition s="plot sound %&apos;sound&apos;" type="command" category="pen"><comment x="0" y="0" w="164" collapsed="false">quickly plot the samples of a sound, a list of samples (single channel), or a list of lists (multiple channels) to the stage at a lower resolution.</comment><header></header><code></code><translations></translations><inputs><input type="%obj"></input></inputs><script><block s="doDeclareVariables"><list><l>samples</l><l>step</l><l>offset</l><l>i</l><l>stage height</l></list></block><block s="doSetVar"><l>stage height</l><custom-block s="stage height"></custom-block></block><block s="doIfElse"><block s="reportIsA"><block var="sound"/><l><option>sound</option></l></block><script><block s="doSetVar"><l>samples</l><custom-block s="%s of sound %obj"><l>samples</l><block var="sound"/></custom-block></block><block s="doSetVar"><l>step</l><block s="reportQuotient"><custom-block s="%s of sound %obj"><l>length</l><block var="sound"/></custom-block><block s="reportProduct"><custom-block s="stage width"></custom-block><l>2</l></block></block></block></script><script><block s="doSetVar"><l>samples</l><block var="sound"/></block></script></block><block s="clear"></block><block s="up"></block><block s="doIfElse"><block s="reportIsA"><block s="reportListItem"><l>1</l><block var="samples"/></block><l><option>list</option></l></block><script><block s="doSetVar"><l>step</l><block s="reportQuotient"><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>1</l><block var="samples"/></block></block><block s="reportProduct"><custom-block s="stage width"></custom-block><l>2</l></block></block></block><block s="doSetVar"><l>offset</l><block s="reportQuotient"><block var="stage height"/><l>4</l></block></block><custom-block s="for each %upvar of %l %cs"><l>channel</l><block var="samples"/><script><block s="doSetVar"><l>i</l><l>0</l></block><block s="gotoXY"><block s="reportQuotient"><custom-block s="stage width"></custom-block><l>-2</l></block><block var="offset"/></block><block s="down"></block><block s="setSize"><l>1</l></block><custom-block s="turbo %cs"><script><block s="doRepeat"><block s="reportProduct"><custom-block s="stage width"></custom-block><l>2</l></block><script><block s="doChangeVar"><l>i</l><block var="step"/></block><block s="gotoXY"><block s="reportSum"><block s="xPosition"></block><l>0.5</l></block><block s="reportSum"><block s="reportProduct"><block s="reportListItem"><block s="reportMonadic"><l><option>floor</option></l><block var="i"/></block><block var="channel"/></block><block s="reportQuotient"><block var="stage height"/><l>6.4</l></block></block><block var="offset"/></block></block></script></block></script></custom-block><block s="up"></block><block s="doChangeVar"><l>offset</l><block s="reportQuotient"><custom-block s="stage height"></custom-block><l>-2</l></block></block></script></custom-block></script><script><block s="doSetVar"><l>step</l><block s="reportQuotient"><block s="reportListAttribute"><l><option>length</option></l><block var="samples"/></block><block s="reportProduct"><custom-block s="stage width"></custom-block><l>2</l></block></block></block><block s="gotoXY"><block s="reportQuotient"><custom-block s="stage width"></custom-block><l>-2</l></block><l>0</l></block><block s="down"></block><block s="setSize"><l>1</l></block><custom-block s="turbo %cs"><script><block s="doRepeat"><block s="reportProduct"><custom-block s="stage width"></custom-block><l>2</l></block><script><block s="doChangeVar"><l>i</l><block var="step"/></block><block s="gotoXY"><block s="reportSum"><block s="xPosition"></block><l>0.5</l></block><block s="reportProduct"><block s="reportListItem"><block s="reportMonadic"><l><option>floor</option></l><block var="i"/></block><block var="samples"/></block><block s="reportQuotient"><block var="stage height"/><l>3.2</l></block></block></block></script></block></script></custom-block><block s="up"></block></script></block></script></block-definition><block-definition s="stage width" type="reporter" category="sensing"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><block s="evaluate"><block s="reportJSFunction"><list></list><l>return StageMorph.prototype.dimensions.x;</l></block><list></list></block></block></script></block-definition><block-definition s="stage height" type="reporter" category="sensing"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><block s="evaluate"><block s="reportJSFunction"><list></list><l>return StageMorph.prototype.dimensions.y;</l></block><list></list></block></block></script></block-definition><block-definition s="$circleSolid-1-255-0-0 record" type="reporter" category="sensing"><comment x="0" y="0" w="192" collapsed="false">records an audio snippet and reports it as a new sound, or zero if the user cancels</comment><header></header><code></code><translations></translations><inputs></inputs><script><block s="doDeclareVariables"><list><l>test</l><l>pic</l></list></block><block s="doSetVar"><l>test</l><block s="evaluate"><block s="reportJSFunction"><list></list><l>var soundRecorder,&#xD;    result = false;&#xD;&#xD;soundRecorder = new SoundRecorderDialogMorph(&#xD;    function (audio) {&#xD;        if (audio) {&#xD;            result = new Sound(audio, &apos;recording&apos;);&#xD;        } else {&#xD;            result = null;&#xD;            this.destroy();&#xD;        }&#xD;    }&#xD;);&#xD;&#xD;soundRecorder.cancel = function () {&#xD;    result = null;&#xD;    this.destroy();&#xD;};&#xD;&#xD;soundRecorder.key = &apos;microphone&apos;;&#xD;soundRecorder.popUp(this.world());&#xD;return function () {return result; };</l></block><list></list></block></block><block s="doWaitUntil"><block s="evaluate"><block s="reifyScript"><script><block s="doSetVar"><l>pic</l><block s="evaluate"><block var="test"/><list></list></block></block><block s="doReport"><block s="reportNot"><block s="reportEquals"><block var="pic"/><block s="reportBoolean"><l><bool>false</bool></l></block></block></block></block></script><list></list></block><list></list></block></block><block s="doReport"><block var="pic"/></block></script></block-definition><block-definition s="loudness" type="reporter" category="sensing"><header></header><code></code><translations>ca:volum del so&#xD;es:volumen del sonido&#xD;</translations><inputs></inputs><script><block s="doIf"><block s="evaluate"><block s="reportJSFunction"><list></list><l>return typeof meter == &apos;undefined&apos;</l></block><list></list></block><script><block s="doRun"><block s="reportJSFunction"><list></list><l>navigator.getUserMedia = ( navigator.getUserMedia ||&#xD;                       navigator.webkitGetUserMedia ||&#xD;                       navigator.mozGetUserMedia ||&#xD;                       navigator.msGetUserMedia);&#xD;&#xD;var audioContext = new AudioContext();&#xD;&#xD;/*&#xD;The MIT License (MIT)&#xD;&#xD;Copyright (c) 2014 Chris Wilson&#xD;&#xD;Permission is hereby granted, free of charge, to any person obtaining a copy&#xD;of this software and associated documentation files (the "Software"), to deal&#xD;in the Software without restriction, including without limitation the rights&#xD;to use, copy, modify, merge, publish, distribute, sublicense, and/or sell&#xD;copies of the Software, and to permit persons to whom the Software is&#xD;furnished to do so, subject to the following conditions:&#xD;&#xD;The above copyright notice and this permission notice shall be included in all&#xD;copies or substantial portions of the Software.&#xD;&#xD;THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR&#xD;IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,&#xD;FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE&#xD;AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER&#xD;LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,&#xD;OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE&#xD;SOFTWARE.&#xD;*/&#xD;&#xD;function createAudioMeter (audioContext,clipLevel,averaging,clipLag) {&#xD;	 var processor = audioContext.createScriptProcessor(512);&#xD;	 processor.onaudioprocess = volumeAudioProcess;&#xD;	 processor.clipping = false;&#xD;	 processor.lastClip = 0;&#xD;	 processor.volume = 0;&#xD;	 processor.clipLevel = clipLevel || 0.98;&#xD;	 processor.averaging = averaging || 0.95;&#xD;	 processor.clipLag = clipLag || 750;&#xD; 	processor.connect(audioContext.destination);&#xD; 	return processor;&#xD;};&#xD;&#xD;function volumeAudioProcess (event) {&#xD;  var buf = event.inputBuffer.getChannelData(0),&#xD;      bufLength = buf.length,&#xD; 	    sum = 0,&#xD;      x;&#xD;  for (var i=0; i&lt;bufLength; i++) {&#xD;   	x = buf[i];&#xD;   	if (Math.abs(x)&gt;=this.clipLevel) {&#xD;    		this.clipping = true;&#xD;    		this.lastClip = window.performance.now();&#xD;   	}&#xD;   	sum += x * x;&#xD;  }&#xD;  var rms =  Math.sqrt(sum / bufLength);&#xD;  this.volume = Math.max(rms, this.volume*this.averaging);&#xD;};&#xD;&#xD;function gotStream (stream) {&#xD;  mediaStreamSource = audioContext.createMediaStreamSource(stream);&#xD;  window.meter = createAudioMeter(audioContext);&#xD;  mediaStreamSource.connect(meter);&#xD;};&#xD;&#xD;navigator.getUserMedia(&#xD;  {&#xD;    "audio": {&#xD;      "mandatory": {&#xD;        "googEchoCancellation": "false",&#xD;        "googAutoGainControl": "false",&#xD;        "googNoiseSuppression": "false",&#xD;        "googHighpassFilter": "false"&#xD;      },&#xD;      "optional": []&#xD;    },&#xD;  }, gotStream, nop);</l></block><list></list></block></script></block><block s="doWaitUntil"><block s="evaluate"><block s="reportJSFunction"><list></list><l>return typeof meter != &apos;undefined&apos;</l></block><list></list></block></block><block s="doReport"><block s="evaluate"><block s="reportJSFunction"><list></list><l>return Math.floor(meter.volume * 100);</l></block><list></list></block></block></script></block-definition><block-definition s="$flash map %&apos;fn&apos; over %&apos;data&apos;" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs><input type="%repRing"></input><input type="%l"></input></inputs><script><block s="doReport"><block s="evaluate"><block s="reportJSFunction"><list><l>fn</l><l>data</l><l>proc</l></list><l>return proc.reportAtomicMap(fn, data);</l></block><list><block var="fn"/><block var="data"/></list></block></block></script></block-definition><block-definition s="$flash keep %&apos;test&apos; from %&apos;data&apos;" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs><input type="%predRing"></input><input type="%l"></input></inputs><script><block s="doReport"><block s="evaluate"><block s="reportJSFunction"><list><l>fn</l><l>data</l><l>proc</l></list><l>return proc.reportAtomicKeep(fn, data);</l></block><list><block var="test"/><block var="data"/></list></block></block></script></block-definition><block-definition s="$flash combine %&apos;fn&apos; with %&apos;data&apos;" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs><input type="%repRing"></input><input type="%l"></input></inputs><script><block s="doReport"><block s="evaluate"><block s="reportJSFunction"><list><l>fn</l><l>data</l><l>proc</l></list><l>return proc.reportAtomicCombine(fn, data);</l></block><list><block var="fn"/><block var="data"/></list></block></block></script></block-definition><block-definition s="$flash sort %&apos;data&apos; by %&apos;fn&apos;" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs><input type="%l"></input><input type="%predRing"></input></inputs><script><block s="doReport"><block s="evaluate"><block s="reportJSFunction"><list><l>data</l><l>fn</l><l>proc</l></list><l>return proc.reportAtomicSort(data, fn);</l></block><list><block var="data"/><block var="fn"/></list></block></block></script></block-definition><block-definition s="$flash reverse %&apos;list&apos;" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doReport"><block s="evaluate"><block s="reportJSFunction"><list><l>list</l></list><l>return new List(list.asArray().slice().reverse());</l></block><list><block var="list"/></list></block></block></script></block-definition><block-definition s="Leap number of hands" type="reporter" category="other"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><block s="evaluate"><block s="reportJSFunction"><list></list><l>return window.controller.frame(0).hands.length;</l></block><list></list></block></block></script></block-definition><block-definition s="Leap %&apos;pos&apos; position of hand %&apos;num&apos;" type="reporter" category="other"><header></header><code></code><translations></translations><inputs><input type="%txt" readonly="true">x<options>x&#xD;y&#xD;z</options></input><input type="%n">1</input></inputs><script><block s="doDeclareVariables"><list><l>a</l></list></block><block s="doIfElse"><block s="reportNot"><block s="reportGreaterThan"><block var="num"/><custom-block s="Leap number of hands"></custom-block></block></block><script><block s="doReport"><block s="evaluate"><block s="reportJSFunction"><list><l>pos</l><l>num</l></list><l>var a = {x:0, y:1, z:2}[pos]; return window.controller.frame(0).hands[num-1].stabilizedPalmPosition[a];</l></block><list><block var="pos"/><block var="num"/></list></block></block></script><script><block s="doReport"><l>0</l></block></script></block></script></block-definition><block-definition s="Leap %&apos;pos&apos; rotation of hand %&apos;num&apos;" type="reporter" category="other"><header></header><code></code><translations></translations><inputs><input type="%txt" readonly="true">yaw<options>yaw&#xD;pitch&#xD;roll</options></input><input type="%n">1</input></inputs><script><block s="doIfElse"><block s="reportNot"><block s="reportGreaterThan"><block var="num"/><custom-block s="Leap number of hands"></custom-block></block></block><script><block s="doReport"><block s="evaluate"><block s="reportJSFunction"><list><l>pos</l><l>num</l></list><l>var f = window.controller.frame(0);&#xD;switch (pos){&#xD;  case "yaw":&#xD;    return f.hands[num-1].yaw();&#xD;  case "pitch":&#xD;    return f.hands[num-1].pitch();&#xD;  case "roll":&#xD;    return f.hands[num-1].roll();&#xD;};&#xD;            &#xD;        </l></block><list><block var="pos"/><block var="num"/></list></block></block></script><script><block s="doReport"><l>0</l></block></script></block></script></block-definition><block-definition s="Leap %&apos;pos&apos; position of finger %&apos;num&apos;" type="reporter" category="other"><header></header><code></code><translations></translations><inputs><input type="%txt" readonly="true">x<options>x&#xD;y&#xD;z</options></input><input type="%n">1</input></inputs><script><block s="doIfElse"><block s="reportNot"><block s="reportGreaterThan"><block var="num"/><block s="evaluate"><block s="reportJSFunction"><list></list><l>return window.controller.frame(0).fingers.length;</l></block><list></list></block></block></block><script><block s="doReport"><block s="evaluate"><block s="reportJSFunction"><list><l>pos</l><l>num</l></list><l>var a = {x:0, y:1, z:2}[pos]; return window.controller.frame(0).fingers[num-1].stabilizedTipPosition[a];</l></block><list><block var="pos"/><block var="num"/></list></block></block></script><script><block s="doReport"><l>0</l></block></script></block></script></block-definition><block-definition s="Leap hand %&apos;num&apos; is pinching" type="predicate" category="other"><header></header><code></code><translations></translations><inputs><input type="%s">1</input></inputs><script><block s="doIfElse"><block s="reportNot"><block s="reportGreaterThan"><block var="num"/><custom-block s="Leap number of hands"></custom-block></block></block><script><block s="doReport"><block s="reportGreaterThan"><block s="evaluate"><block s="reportJSFunction"><list><l>num</l></list><l>return window.controller.frame(0).hands[num-1].pinchStrength;</l></block><list><block var="num"/></list></block><l>0.75</l></block></block></script><script><block s="doReport"><block s="reportBoolean"><l><bool>false</bool></l></block></block></script></block></script></block-definition><block-definition s="Leap pinch strength of hand %&apos;num&apos;" type="reporter" category="other"><header></header><code></code><translations></translations><inputs><input type="%n">1</input></inputs><script><block s="doIfElse"><block s="reportNot"><block s="reportGreaterThan"><block var="num"/><custom-block s="Leap number of hands"></custom-block></block></block><script><block s="doReport"><block s="reportProduct"><block s="evaluate"><block s="reportJSFunction"><list><l>num</l></list><l>return window.controller.frame(0).hands[num-1].pinchStrength;</l></block><list><block var="num"/></list></block><l>100</l></block></block></script><script><block s="doReport"><l>0</l></block></script></block></script></block-definition><block-definition s="Leap $flag" type="command" category="other"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doIf"><block s="evaluate"><block s="reportJSFunction"><list></list><l>return window.controller !== undefined</l></block><list></list></block><script><block s="doStopThis"><l><option>this block</option></l></block></script></block><block s="doDeclareVariables"><list><l>test</l></list></block><block s="doSetVar"><l>test</l><block s="evaluate"><block s="reportJSFunction"><list></list><l>var leapScript,&#xD;    done = false;&#xD;leapScript = document.createElement(&apos;script&apos;),&#xD;leapScript.onload = function () {&#xD;    done = true;&#xD;    console.log(&apos;leap is ready&apos;);&#xD;};&#xD;document.head.appendChild(leapScript);&#xD;leapScript.src = &apos;https://js.leapmotion.com/leap-0.6.4.min.js&apos;;&#xD;return function () {return done; }</l></block><list></list></block></block><block s="doWaitUntil"><block s="evaluate"><block var="test"/><list></list></block></block><block s="doRun"><block s="reportJSFunction"><list></list><l>window.controller = new Leap.Controller({enableGestures: true, background: true}); window.controller.connect();</l></block><list></list></block></script></block-definition><block-definition s="square %&apos;side&apos;" type="command" category="motion"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doRepeat"><l>4</l><script><block s="forward"><block var="side"/></block><block s="turn"><l>90</l></block></script></block></script></block-definition><block-definition s="polygon corner: %&apos;corner&apos; side: %&apos;side&apos;" type="command" category="motion"><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%s"></input></inputs><script><block s="doRepeat"><block var="corner"/><script><block s="forward"><block var="side"/></block><block s="turn"><l>45</l></block></script></block></script><scripts><script x="186.7744160625" y="106.000002"><block s="reportQuotient"><l></l><l></l></block></script></scripts></block-definition><block-definition s="label %&apos;text&apos; of size %&apos;size&apos;" type="command" category="pen"><comment x="0" y="0" w="90" collapsed="false">LABEL will stamp text on the stage at the given font size. The direction of the text is the direction the sprite is facing, and color will match the pen color.</comment><header></header><code></code><translations>de:drucke _ in Größe _&#xD;ca:etiqueta _ de mida _&#xD;es:etiqueta _ de tamaño _&#xD;fr:étiquette _ d&apos;une taille de _&#xD;</translations><inputs><input type="%txt">Hello!</input><input type="%n">12</input></inputs><script><block s="doRun"><block s="reportJSFunction"><list><l>text</l><l>size</l></list><l>var stage = this.parentThatIsA(StageMorph),&#xD;    context = stage.penTrails().getContext(&apos;2d&apos;),&#xD;    rotation = radians(this.direction() - 90),&#xD;    trans = new Point(&#xD;      this.center().x - stage.left(),&#xD;      this.center().y - stage.top()&#xD;    ),&#xD;    isWarped = this.Warped,&#xD;    len,&#xD;    pos;&#xD;&#xD;if (isWarped) {endWarp(); }&#xD;context.save();&#xD;context.font = size + &apos;px monospace&apos;;&#xD;context.textAlign = &apos;left&apos;;&#xD;context.textBaseline = &apos;alphabetic&apos;;&#xD;context.fillStyle = this.color.toString();&#xD;len = context.measureText(text).width;&#xD;trans = trans.multiplyBy(1 / stage.scale);&#xD;context.translate(trans.x, trans.y);&#xD;context.rotate(rotation);&#xD;context.fillText(text, 0, 0);&#xD;context.translate(-trans.x, -trans.y);&#xD;context.restore();&#xD;pos = new Point(&#xD;  len * Math.sin(radians(this.direction())),&#xD;  len * Math.cos(radians(this.direction())));&#xD;pos = pos.add(new Point(this.xPosition(), this.yPosition()));&#xD;this.gotoXY(pos.x, pos.y, false);&#xD;this.changed();&#xD;if (isWarped) {this.startWarp(); }&#xD;stage.changed();</l></block><list><block var="text"/><block var="size"/></list></block></script></block-definition><block-definition s="empty? %&apos;data&apos;" type="predicate" category="lists"><header></header><code></code><translations>de:ist _ leer?&#xD;ca:_ buida?&#xD;es:_ vacía?&#xD;fr:_ vide?&#xD;</translations><inputs><input type="%l"></input></inputs><script><block s="doReport"><block s="reportEquals"><block var="data"/><block s="reportNewList"><list></list></block></block></block></script></block-definition><block-definition s="keep items such that %&apos;pred&apos; from %&apos;data&apos;" type="reporter" category="lists"><header></header><code></code><translations>de:behalte Elemente, die _ aus _&#xD;ca:manté els elements on _ de _&#xD;es:mantener los elementos donde _ de _&#xD;fr:garder les items tels que _ de _&#xD;</translations><inputs><input type="%predRing"></input><input type="%l"></input></inputs><script><block s="doIf"><custom-block s="empty? %l"><block var="data"/></custom-block><script><block s="doReport"><block s="reportNewList"><list></list></block></block></script></block><block s="doIfElse"><block s="evaluate"><block var="pred"/><list><block s="reportListItem"><l>1</l><block var="data"/></block></list></block><script><block s="doReport"><block s="reportCONS"><block s="reportListItem"><l>1</l><block var="data"/></block><custom-block s="keep items such that %predRing from %l"><block var="pred"/><block s="reportCDR"><block var="data"/></block></custom-block></block></block></script><script><block s="doReport"><custom-block s="keep items such that %predRing from %l"><block var="pred"/><block s="reportCDR"><block var="data"/></block></custom-block></block></script></block></script></block-definition><block-definition s="combine with %&apos;function&apos; items of %&apos;data&apos;" type="reporter" category="lists"><header></header><code></code><translations>de:kombiniere mit _ die Elemente von _&#xD;ca:combina amb _ els elements de _&#xD;es:combinar con _ los elementos de _&#xD;fr:combine avec _ les items de _&#xD;</translations><inputs><input type="%repRing"></input><input type="%l"></input></inputs><script><block s="doIf"><custom-block s="empty? %l"><block s="reportCDR"><block var="data"/></block></custom-block><script><block s="doReport"><block s="reportListItem"><l>1</l><block var="data"/></block></block></script></block><block s="doReport"><block s="evaluate"><block var="function"/><list><block s="reportListItem"><l>1</l><block var="data"/></block><custom-block s="combine with %repRing items of %l"><block var="function"/><block s="reportCDR"><block var="data"/></block></custom-block></list></block></block></script></block-definition><block-definition s="if %&apos;test&apos; then %&apos;true&apos; else %&apos;false&apos;" type="reporter" category="control"><header></header><code></code><translations>de:wenn _ dann _ sonst _&#xD;ca:si _ llavors _ si no _&#xD;es:si _ entonces _ sino _&#xD;fr:si _ alors _ sinon _&#xD;</translations><inputs><input type="%b"></input><input type="%anyUE"></input><input type="%anyUE"></input></inputs><script><block s="doIfElse"><block var="test"/><script><block s="doReport"><block s="evaluate"><block var="true"/><list></list></block></block></script><script><block s="doReport"><block s="evaluate"><block var="false"/><list></list></block></block></script></block></script></block-definition><block-definition s="for %&apos;i&apos; = %&apos;start&apos; to %&apos;end&apos; %&apos;action&apos;" type="command" category="control"><header></header><code></code><translations>de:für _ = _ bis _ _&#xD;ca:per _ = _ fins _ _&#xD;es:para _ = _ hasta _ _&#xD;fr:pour _ allant de _ à _ _&#xD;</translations><inputs><input type="%upvar"></input><input type="%n">1</input><input type="%n">10</input><input type="%cs"></input></inputs><script><block s="doDeclareVariables"><list><l>step</l><l>tester</l></list></block><block s="doIfElse"><block s="reportGreaterThan"><block var="start"/><block var="end"/></block><script><block s="doSetVar"><l>step</l><l>-1</l></block><block s="doSetVar"><l>tester</l><block s="reifyReporter"><autolambda><block s="reportLessThan"><block var="i"/><block var="end"/></block></autolambda><list></list></block></block></script><script><block s="doSetVar"><l>step</l><l>1</l></block><block s="doSetVar"><l>tester</l><block s="reifyReporter"><autolambda><block s="reportGreaterThan"><block var="i"/><block var="end"/></block></autolambda><list></list></block></block></script></block><block s="doSetVar"><l>i</l><block var="start"/></block><block s="doUntil"><block s="evaluate"><block var="tester"/><list></list></block><script><block s="doRun"><block var="action"/><list></list></block><block s="doChangeVar"><l>i</l><block var="step"/></block></script></block></script></block-definition><block-definition s="join words %&apos;words&apos;" type="reporter" category="operators"><header></header><code></code><translations>de:füge Wörter zusammen _&#xD;ca:uneix les paraules _&#xD;es:unir las palabras _&#xD;fr:fusionne les mots _&#xD;</translations><inputs><input type="%mult%txt"></input></inputs><script><block s="doIf"><custom-block s="empty? %l"><block s="reportCDR"><block var="words"/></block></custom-block><script><block s="doReport"><block s="reportListItem"><l>1</l><block var="words"/></block></block></script></block><block s="doIf"><block s="reportEquals"><l></l><block s="reportListItem"><l>1</l><block var="words"/></block></block><script><block s="doReport"><custom-block s="join words %mult%txt"><block s="reportCDR"><block var="words"/></block></custom-block></block></script></block><block s="doIf"><block s="reportEquals"><l></l><block s="reportListItem"><l>2</l><block var="words"/></block></block><script><block s="doReport"><custom-block s="join words %mult%txt"><block s="reportCONS"><block s="reportListItem"><l>1</l><block var="words"/></block><block s="reportCDR"><block s="reportCDR"><block var="words"/></block></block></block></custom-block></block></script></block><block s="doReport"><block s="reportJoinWords"><list><block s="reportListItem"><l>1</l><block var="words"/></block><l> </l><custom-block s="join words %mult%txt"><block s="reportCDR"><block var="words"/></block></custom-block></list></block></block></script></block-definition><block-definition s="list $arrowRight sentence %&apos;data&apos;" type="reporter" category="operators"><header></header><code></code><translations>de:Liste $arrowRight Satz _&#xD;ca:llista $arrowRight frase _&#xD;es:lista $arrowRight frase _&#xD;fr:liste $arrowRight phrase _&#xD;</translations><inputs><input type="%l"></input></inputs><script><block s="doReport"><custom-block s="join words %mult%txt"><block var="data"/></custom-block></block></script></block-definition><block-definition s="sentence $arrowRight list %&apos;text&apos;" type="reporter" category="operators"><header></header><code></code><translations>de:Satz $arrowRight Liste _&#xD;ca:frase $arrowRight llista _&#xD;es:frase $arrowRight lista _&#xD;fr:phrase $arrowRight liste _&#xD;</translations><inputs><input type="%txt"></input></inputs><script><block s="doReport"><block s="reportTextSplit"><block var="text"/><l><option>whitespace</option></l></block></block></script></block-definition><block-definition s="catch %&apos;tag&apos; %&apos;action&apos;" type="command" category="control"><header></header><code></code><translations>de:fange _ _&#xD;ca:agafa _ _&#xD;es:atrapar _ _&#xD;fr:attrape _ _&#xD;</translations><inputs><input type="%upvar"></input><input type="%cs"></input></inputs><script><block s="doCallCC"><block s="reifyScript"><script><block s="doSetVar"><l>tag</l><block var="cont"/></block><block s="doRun"><block var="action"/><list></list></block></script><list><l>cont</l></list></block></block><custom-block s="ignore %s"><l>3</l></custom-block></script></block-definition><block-definition s="throw %&apos;cont&apos;" type="command" category="control"><header></header><code></code><translations>de:wirf _&#xD;ca:llança _&#xD;es:lanzar _&#xD;fr:lance _&#xD;</translations><inputs><input type="%s">catchtag</input></inputs><script><block s="doRun"><block var="cont"/><list></list></block></script></block-definition><block-definition s="catch %&apos;tag&apos; %&apos;value&apos;" type="reporter" category="control"><header></header><code></code><translations>de:fange _ _&#xD;ca:agafa _ _&#xD;es:atrapar _ _&#xD;fr:attrape _ _&#xD;</translations><inputs><input type="%upvar"></input><input type="%anyUE"></input></inputs><script><block s="doCallCC"><block s="reifyScript"><script><block s="doSetVar"><l>tag</l><block var="cont"/></block><block s="doReport"><block s="evaluate"><block var="value"/><list></list></block></block></script><list><l>cont</l></list></block></block></script></block-definition><block-definition s="throw %&apos;tag&apos; %&apos;value&apos;" type="command" category="control"><header></header><code></code><translations>de:wirf _ _&#xD;ca:llança _ _&#xD;es:lanzar _ _&#xD;fr:lance _ _&#xD;</translations><inputs><input type="%s">catchtag</input><input type="%s"></input></inputs><script><block s="doRun"><block var="tag"/><list><block var="value"/></list></block></script></block-definition><block-definition s="for each %&apos;item&apos; of %&apos;data&apos; %&apos;action&apos;" type="command" category="lists"><header></header><code></code><translations>de:für jedes _ von _ _&#xD;ca:per cada _ de _ _&#xD;es:para cada _ de _ _&#xD;fr:pour chaque _ de _ _&#xD;</translations><inputs><input type="%upvar"></input><input type="%l"></input><input type="%cs"></input></inputs><script><block s="doUntil"><custom-block s="empty? %l"><block var="data"/></custom-block><script><block s="doSetVar"><l>item</l><block s="reportListItem"><l>1</l><block var="data"/></block></block><block s="doRun"><block var="action"/><list><block s="reportListItem"><l>1</l><block var="data"/></block></list></block><block s="doSetVar"><l>data</l><block s="reportCDR"><block var="data"/></block></block></script></block></script></block-definition><block-definition s="if %&apos;test&apos; do %&apos;action&apos; and pause all $pause-1-255-220-0" type="command" category="control"><header></header><code></code><translations>de:falls _ dann _ und pause $pause-1-255-220-0&#xD;ca:si _ fes _ i atura-ho tot $pause-1-255-220-0&#xD;es:si _ haz _ y páralo todo $pause-1-255-220-0&#xD;fr:si _ faire _ et mettre tout en pause $pause-1-255-220-0&#xD;</translations><inputs><input type="%boolUE"></input><input type="%cs"></input></inputs><script><block s="doDeclareVariables"><list><l>breakpoint</l></list></block><block s="doIf"><block s="evaluate"><block var="test"/><list></list></block><script><block s="doSetVar"><l>breakpoint</l><block var="test"/></block><block s="doShowVar"><l>breakpoint</l></block><block s="doRun"><block var="action"/><list></list></block><block s="doPauseAll"></block><block s="doHideVar"><l></l></block></script></block></script></block-definition><block-definition s="word $arrowRight list %&apos;word&apos;" type="reporter" category="operators"><header></header><code></code><translations>de:Wort $arrowRight Liste _&#xD;ca:paraula $arrowRight llista _&#xD;es:palabra $arrowRight lista _&#xD;fr:mot $arrowRight liste _&#xD;</translations><inputs><input type="%txt"></input></inputs><script><block s="doReport"><block s="reportTextSplit"><block var="word"/><l><option>letter</option></l></block></block></script></block-definition><block-definition s="ignore %&apos;x&apos;" type="command" category="control"><header></header><code></code><translations>de:ignoriere _&#xD;ca:ignora _&#xD;es:ignorar _&#xD;fr:ignore _&#xD;</translations><inputs><input type="%s"></input></inputs></block-definition><block-definition s="list $arrowRight word %&apos;list&apos;" type="reporter" category="operators"><header></header><code></code><translations>de:Liste $arrowRight Wort _&#xD;ca:llista $arrowRight paraula _&#xD;es:lista $arrowRight palabra _&#xD;fr:liste $arrowRight mot _&#xD;</translations><inputs><input type="%l"></input></inputs><script><block s="doReport"><block s="reportJoinWords"><block var="list"/></block></block></script></block-definition><block-definition s="%&apos;x&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doReport"><block var="x"/></block></script></block-definition><block-definition s="numbers from %&apos;from&apos; to %&apos;to&apos;" type="reporter" category="lists"><header></header><code></code><translations>de:Zahlen von _ bis _&#xD;ca:nombres des de _ a _&#xD;es:números de _ a _&#xD;fr:nombres de _ à _&#xD;</translations><inputs><input type="%n">1</input><input type="%n">10</input></inputs><script><block s="doIf"><block s="reportGreaterThan"><block var="from"/><block var="to"/></block><script><block s="doReport"><block s="reportNewList"><list></list></block></block></script></block><block s="doReport"><block s="reportCONS"><block var="from"/><custom-block s="numbers from %n to %n"><block s="reportSum"><block var="from"/><l>1</l></block><block var="to"/></custom-block></block></block></script></block-definition><block-definition s="map %&apos;func&apos; over %&apos;data&apos;" type="reporter" category="lists"><header></header><code></code><translations>de:wende _ an auf _&#xD;ca:mapeja _ sobre _&#xD;es:mapear _ sobre _&#xD;fr:appliquer _ à _&#xD;</translations><inputs><input type="%repRing"></input><input type="%l"></input></inputs><script><block s="doIf"><custom-block s="empty? %l"><block var="data"/></custom-block><script><block s="doReport"><block var="data"/></block></script></block><block s="doReport"><block s="reportCONS"><block s="evaluate"><block var="func"/><list><block s="reportListItem"><l>1</l><block var="data"/></block></list></block><custom-block s="map %repRing over %l"><block var="func"/><block s="reportCDR"><block var="data"/></block></custom-block></block></block></script></block-definition></blocks><variables><variable name="seitenlänge"><l>50</l></variable><variable name="seitenzahl"><l>5</l></variable><variable name="seitenwinkel"><l>60</l></variable><variable name="Kreis"><l>0</l></variable></variables></project><media name="digi4all-L1-rotation-art" app="Snap! 6, https://snap.berkeley.edu" version="1"></media></snapdata>