Java StarLogo 2.1 English `turtle` turtles-own [energy species [rabbit grass]] ;turtles can be of species rabbit or species grass to setup setxy random screen-width random screen-height ifelse who < grass-rate [setc black ht setspecies grass] [setc random 140 setspecies rabbit setshape rabbit-shape setenergy random 10] repeat 20 [grow] end to grow if species = rabbit [stop] ;rabbit turtles don't grow grass rt random 10 lt random 10 fd 1 if pc-ahead = green [stamp green] ;grass only grows near other grass end to move if species = grass [stop] ;grass turtles don't move takestep eat-grass reproduce death end to eat-grass ;turn the patch to black and increase energy if pc = green [stamp black setenergy energy + 1] end to takestep rt random 50 lt random 50 fd 1 setenergy energy - 0.25 end to reproduce if energy > hatch-threshold [setenergy energy / 2 hatch []] end to death if energy < 0 [die] end `observer` to setup ca crt number + grass-rate ask-patches [if (random 100) < 25 [setpc green]] ask-turtles [setup] clearplots end to total-rabbits output count-turtles-with [species = rabbit] end to total-grass output count-patches-with [pc = green] end to go ;the movebutton, grassbutton, and graphbutton are pressed startmovebutton startgrassbutton end to stop-it ;the movebutton, grassbutton, and graphbutton are stopped stopmovebutton stopgrassbutton end `information` For use with the Adventures in Modeling book, by Vanessa Colella, Eric Klopfer, and Mitchel Resnick published by Teachers College Press, 2001. For more information, see Challenge 5: Rabbits Another project that uses the energy concept is Rabbits. This project explores a simple ecosystem made up of rabbits and grass. The rabbits wander around randomly, and the grass grows randomly. Rabbits use up energy as they move. When a rabbit bumps into some grass, it eats the grass and gains energy. If the rabbit gains enough energy, then it reproduces by hatching a new rabbit. If it loses all of its energy, then the rabbit dies. Click the "setup" button to set up the rabbits (red) and grass (green). The "number" slider controls the initial number of rabbits. Click the "go" button to start the simulation. The "hatch-threshold" slider sets the energy level at which the rabbits reproduce. The "grass-rate" slider controls the rate at which the grass grows. (Note: You cannot change the grass-rate in the middle of a simulation. The change takes effect at the next setup.) `interface` SLCanvas top-left 8 223 SLButton turtle-or-observer? turtle top-left 85 95 width-height 55 25 name "grassbutton" line-to-run "grow" forever? true button-number 6 show-name? false whichip 13 SLButton turtle-or-observer? turtle top-left 85 35 width-height 55 25 name "movebutton" line-to-run "move" forever? true button-number 5 show-name? false whichip 12 SLSlider top-left 119 2 width-height 134 25 name "initial # of rabbits" variable "number" min-value 50 max-value 500 current-value 50 slider-number 3 show-name? true SLLineWidget top-left 326 78 width-height 110 78 id 5 order 5 type 2 title "Energy" delay-string "1.0" ymin 0.3500000000000001 ymax 69.65 xmin 0.06750000000000012 xmax 13.432500000000001 xlabel "" ylabel "" grid false autoscale true autoscale-x true autoscale-y true location 0 0 whichip 23 onewhichip 24 wizard-on true lineset-id 1 lineset-name "" lineset-order 5 lineset-type 2 lineset-color -65536 lineset-displayed? true lineset-instruction " ask-turtles [ if (species = rabbit) [ %ptolemy-plot 5 1 (energy) ] ]" extrainfo-extra? true extrainfo-instruction "histogram" extrainfo-breed "turtles" extrainfo-var "energy" extrainfo-kind "" extrainfo-with? true extrainfo-with-text "species = rabbit" extrainfo-xy? false extrainfo-xval? false lineset-end 1 lineset-id 2 lineset-name "" lineset-order 5 lineset-type 2 lineset-color -43776 lineset-displayed? false lineset-instruction " ask-turtles [ %ptolemy-plot 5 2 (Xcor) ]" extrainfo-extra? true extrainfo-instruction "histogram" extrainfo-breed "turtles" extrainfo-var "Xcor" extrainfo-kind "" extrainfo-with false extrainfo-xy? false extrainfo-xval? false lineset-end 2 lineset-id 3 lineset-name "" lineset-order 5 lineset-type 2 lineset-color -6262704 lineset-displayed? false lineset-instruction " ask-turtles [ %ptolemy-plot 5 3 (Xcor) ]" extrainfo-extra? true extrainfo-instruction "histogram" extrainfo-breed "turtles" extrainfo-var "Xcor" extrainfo-kind "" extrainfo-with false extrainfo-xy? false extrainfo-xval? false lineset-end 3 lineset-id 4 lineset-name "" lineset-order 5 lineset-type 2 lineset-color -256 lineset-displayed? false lineset-instruction " ask-turtles [ %ptolemy-plot 5 4 (Xcor) ]" extrainfo-extra? true extrainfo-instruction "histogram" extrainfo-breed "turtles" extrainfo-var "Xcor" extrainfo-kind "" extrainfo-with false extrainfo-xy? false extrainfo-xval? false lineset-end 4 lineset-id 5 lineset-name "" lineset-order 5 lineset-type 2 lineset-color -11418368 lineset-displayed? false lineset-instruction " ask-turtles [ %ptolemy-plot 5 5 (Xcor) ]" extrainfo-extra? true extrainfo-instruction "histogram" extrainfo-breed "turtles" extrainfo-var "Xcor" extrainfo-kind "" extrainfo-with false extrainfo-xy? false extrainfo-xval? false lineset-end 5 lineset-id 6 lineset-name "" lineset-order 5 lineset-type 2 lineset-color -16711936 lineset-displayed? false lineset-instruction " ask-turtles [ %ptolemy-plot 5 6 (Xcor) ]" extrainfo-extra? true extrainfo-instruction "histogram" extrainfo-breed "turtles" extrainfo-var "Xcor" extrainfo-kind "" extrainfo-with false extrainfo-xy? false extrainfo-xval? false lineset-end 6 lineset-id 7 lineset-name "" lineset-order 5 lineset-type 2 lineset-color -16711738 lineset-displayed? false lineset-instruction " ask-turtles [ %ptolemy-plot 5 7 (Xcor) ]" extrainfo-extra? true extrainfo-instruction "histogram" extrainfo-breed "turtles" extrainfo-var "Xcor" extrainfo-kind "" extrainfo-with false extrainfo-xy? false extrainfo-xval? false lineset-end 7 lineset-id 8 lineset-name "" lineset-order 5 lineset-type 2 lineset-color -16711681 lineset-displayed? false lineset-instruction " ask-turtles [ %ptolemy-plot 5 8 (Xcor) ]" extrainfo-extra? true extrainfo-instruction "histogram" extrainfo-breed "turtles" extrainfo-var "Xcor" extrainfo-kind "" extrainfo-with false extrainfo-xy? false extrainfo-xval? false lineset-end 8 lineset-id 9 lineset-name "" lineset-order 5 lineset-type 2 lineset-color -16744449 lineset-displayed? false lineset-instruction " ask-turtles [ %ptolemy-plot 5 9 (Xcor) ]" extrainfo-extra? true extrainfo-instruction "histogram" extrainfo-breed "turtles" extrainfo-var "Xcor" extrainfo-kind "" extrainfo-with false extrainfo-xy? false extrainfo-xval? false lineset-end 9 lineset-id 10 lineset-name "" lineset-order 5 lineset-type 2 lineset-color -7434610 lineset-displayed? false lineset-instruction " ask-turtles [ %ptolemy-plot 5 10 (Xcor) ]" extrainfo-extra? true extrainfo-instruction "histogram" extrainfo-breed "turtles" extrainfo-var "Xcor" extrainfo-kind "" extrainfo-with false extrainfo-xy? false extrainfo-xval? false lineset-end 10 SLLineWidget top-left 334 16 width-height 115 82 id 4 order 4 type 1 title "Rabbits and Grass" delay-string "1.0" ymin 16.405 ymax 1284.595 xmin 0.6550000000000011 xmax 130.345 xlabel "" ylabel "" grid false connected true autoscale true autoscale-x true autoscale-y true location 0 0 whichip 21 onewhichip 22 wizard-on true lineset-id 1 lineset-name "" lineset-order 4 lineset-type 1 lineset-color -65536 lineset-displayed? true lineset-instruction "( count-turtles-with [species = rabbit ] )" extrainfo-extra? true extrainfo-instruction "number of" extrainfo-breed "turtles" extrainfo-var "Xcor" extrainfo-kind "" extrainfo-with? true extrainfo-with-text "species = rabbit " extrainfo-xy? false extrainfo-xval? false lineset-end 1 lineset-id 2 lineset-name "" lineset-order 4 lineset-type 1 lineset-color -11418368 lineset-displayed? true lineset-instruction "( count-patches-with [pc = green] )" extrainfo-extra? true extrainfo-instruction "number of" extrainfo-breed "patches" extrainfo-var "Xcor" extrainfo-kind "" extrainfo-with? true extrainfo-with-text "pc = green" extrainfo-xy? false extrainfo-xval? false lineset-end 2 lineset-id 3 lineset-name "" lineset-order 4 lineset-type 1 lineset-color -6262704 lineset-displayed? false lineset-instruction "( count-turtles) " extrainfo-extra? true extrainfo-instruction "number of" extrainfo-breed "turtles" extrainfo-var "Xcor" extrainfo-kind "" extrainfo-with false extrainfo-xy? false extrainfo-xval? false lineset-end 3 lineset-id 4 lineset-name "" lineset-order 4 lineset-type 1 lineset-color -256 lineset-displayed? false lineset-instruction "( count-turtles) " extrainfo-extra? true extrainfo-instruction "number of" extrainfo-breed "turtles" extrainfo-var "Xcor" extrainfo-kind "" extrainfo-with false extrainfo-xy? false extrainfo-xval? false lineset-end 4 lineset-id 5 lineset-name "" lineset-order 4 lineset-type 1 lineset-color -11418368 lineset-displayed? false lineset-instruction "( count-turtles) " extrainfo-extra? true extrainfo-instruction "number of" extrainfo-breed "turtles" extrainfo-var "Xcor" extrainfo-kind "" extrainfo-with false extrainfo-xy? false extrainfo-xval? false lineset-end 5 lineset-id 6 lineset-name "" lineset-order 4 lineset-type 1 lineset-color -16711936 lineset-displayed? false lineset-instruction "( count-turtles) " extrainfo-extra? true extrainfo-instruction "number of" extrainfo-breed "turtles" extrainfo-var "Xcor" extrainfo-kind "" extrainfo-with false extrainfo-xy? false extrainfo-xval? false lineset-end 6 lineset-id 7 lineset-name "" lineset-order 4 lineset-type 1 lineset-color -16711738 lineset-displayed? false lineset-instruction "( count-turtles) " extrainfo-extra? true extrainfo-instruction "number of" extrainfo-breed "turtles" extrainfo-var "Xcor" extrainfo-kind "" extrainfo-with false extrainfo-xy? false extrainfo-xval? false lineset-end 7 lineset-id 8 lineset-name "" lineset-order 4 lineset-type 1 lineset-color -16711681 lineset-displayed? false lineset-instruction "( count-turtles) " extrainfo-extra? true extrainfo-instruction "number of" extrainfo-breed "turtles" extrainfo-var "Xcor" extrainfo-kind "" extrainfo-with false extrainfo-xy? false extrainfo-xval? false lineset-end 8 lineset-id 9 lineset-name "" lineset-order 4 lineset-type 1 lineset-color -16744449 lineset-displayed? false lineset-instruction "( count-turtles) " extrainfo-extra? true extrainfo-instruction "number of" extrainfo-breed "turtles" extrainfo-var "Xcor" extrainfo-kind "" extrainfo-with false extrainfo-xy? false extrainfo-xval? false lineset-end 9 lineset-id 10 lineset-name "" lineset-order 4 lineset-type 1 lineset-color -7434610 lineset-displayed? false lineset-instruction "( count-turtles) " extrainfo-extra? true extrainfo-instruction "number of" extrainfo-breed "turtles" extrainfo-var "Xcor" extrainfo-kind "" extrainfo-with false extrainfo-xy? false extrainfo-xval? false lineset-end 10 SLMonitor top-left 253 22 width-height 74 36 name "monitor1" list-to-run "total-rabbits" digits 0 delay 0.5 monitor-number 1 show-name? false whichip 17 onewhichip 18 SLMonitor top-left 253 114 width-height 57 36 name "monitor2" list-to-run "total-grass" digits 0 delay 0.5 monitor-number 2 show-name? false whichip 19 onewhichip 20 SLSlider top-left 152 15 width-height 107 25 name "birth threshold" variable "hatch-threshold" min-value 0 max-value 30 current-value 10 slider-number 2 show-name? true SLButton turtle-or-observer? observer top-left 11 9 width-height 75 25 name "button1" line-to-run "setup" forever? false button-number 1 show-name? false whichip 16 SLSlider top-left 186 4 width-height 130 25 name "grass growth rate" variable "grass-rate" min-value 0 max-value 100 current-value 40 slider-number 1 show-name? true SLButton turtle-or-observer? observer top-left 50 10 width-height 75 25 name "button7" line-to-run "go" forever? false button-number 7 show-name? false whichip 14 SLButton turtle-or-observer? observer top-left 50 100 width-height 75 25 name "button8" line-to-run "stop-it" forever? false button-number 8 show-name? false whichip 15 `turtle shapes` H4sIAAAAAAAAAO3c6bLl1lmAYcUJuAGDwzyEEDGPhp4HpvQN5B7sVLkKqigItvNf F8oFcBdgqX2k8te9e+999pLW9DxV0VtafXSkta0e7Op8w8effvXzL776j8/HL//t s599/uWnrx8Md14vx4/e/Pgny4/PC9/5+n/f/fp/D9YvoWfTfPi/r8XGtVNfl+r6 a773u77frddf+n1u3UeB+//+m18WAID+fLAcr/1zRAm99s9oe9336Oc46v6nvu+l 97/vc+39zzDXc6T653DUfd2/7/vfet/7Pkfq+6Z6jkuf79z1BXYchu8NAAAAAAAA AEAL3vz/iAr5OwnaQc99Te7ns/9j99v652H/9t/S/q993tT7z/159bb/PT/LI2r/ fb0Pe98j9/5y77+0zyP3Z27/9m//9m//9m//9t/6/nPvN/fnkXt/R+8/935yfx65 nz/3/q/9PFJ/frfe3/5V39vvDB99+d8//+yLbXzoMibQ+FDuTIW8qpqpg/GhANCx D7L/WURVVVWP72B8KAAAAAAAAAA05EH2v4ugqqqqqqqqqqqqqqqqqqqqt3eYBwJ9 9LPPv/jyv/5zHR/6wTwn0PhQ7kzz4V2v0Dtep/d+3bXXJ3zNb3r+1Nff93kv/Tzv +7zv+XHjQwGgWx8sx1v+jHTrn7ly3/++f1a77/1Lv763XntN6u/n/mXf/9bv0dr9 U399afe/9fOs8PrR+FAAAAAAAAAAaMWD5XjL39U411u/x97PZ//23/P+975/7v27 v/u7/76/hqhqnd37HqU/n/3bv/3bv/3bv/0fv7/aPx/7t3/73+/57N/+7T/f/m/9 Hu7v/u5f9P2/O3y4zA395MnwZmioyaGspvlw61tYYm/9mZr6Z3rBNTkUALp1/eRQ Vc3fuNbb/VU1SUeTQwEAAAAAAACgFftPDlVVVVVVVVXtuXEt9/PYv6qqqqqqqmrT /d7d5NCnwzdTAUwO5c40Hwp5U5M2rh19fUU1ORQAumVyqGqNjWu93V9Vk3Q0ORQA AAAAAAAAWmFyqKqqqqqqquqejWu5n8f+VVVVVVVVVZvuLwwfffHZT3/67199sgwQ nVfmOYEnx4e+/nh6009/+K3zU17/YHjn1506v/v6c9/nrZ647uT1J85TX79+3ZWN 15/7fqe+/pTXP/nfy77wxPjQU069bu/6mlPn7/t+l7rkOY68/r6u+aze9/Xn9nPm 6y4aH/rWz8m7XyPCrxXnfs04+f1PvfOnfk24sOe+/6kfv/W+p34Nu+/93/r6K3/8 3P1PPk+ifV+rmPufeo4rf9z9b7z/qd+jz61fef/7/p5+7e/9R9/32l9/Uj3Xue9/ 3x9Ptb9LvXWfb/6MtfbG73/184T73+6y8aHXuvZfXU5df6tz3z/Vfa51zf0v/ayu 2Uvqf9633s/93b+E++8t133PPcepH091n/ve/77Pce33T/1eXPv9b32eG7/fmHJ8 aOp/h67Fxfv69Eff9N3/DSX353Dxv7tc+89z3feJJnov9vp3wLe+PvV/K7px//f9 d9BLr9/tv5El/m9su+0/9z5v/BzOSbX/t77vre/1Qftf73fj53Dv57/v9Yn2vd6v tp8Hifd/Sun731tx78HR/+0t98+Lg97zU27e/87X783+L2zq/Sf6892t7P/C2v+7 28v+T+0n9dfb/7ea2tX7Laz3lfu5c38OuZ831/5zP2fuz+H893kdmntf1z3POZfe 7/Kv37fbc7wOff/Xn3Lfz++49+H1Ls9/7vuc//rXF91/7/3f9/lTuXgfP/mfbzfx r+O5XbzvCz+HVpzbfy/K3Xfa8aGp7f13Kkrdd5RrH7n2e07qvyNz7f1yu/X5S9vP 3ux///3f+j33/GdyxK/jJe6/tN/HjrbX74ulSbVP+7f/d7V09m//e7Z09m//e7Z0 9t/Xfs/pdd+R/fe578j+0+y/lM/rvs993/2X8t6kfv5z36e0nzepn7+WPy8ctY/S Pofc+znqc8n9fLk+h9zP801/cfhwmRv6yfPlZHjP5FC6M82HQt7UpH3Xz84jr6+o F00OBQBadNnkUFUtq3Gtt/urapKOKSeHAgAAAAAAAAA5pZ0cqqqqqqqqqqrfblzL /Tz2r6qqqqqqqtp0P7ybHPpiORlMDmUzzYdC3tSkjWtHX19RTQ4FgG6ZHKpaY+Na b/dX1SQdTQ4FAAAAAAAAgFaYHKqqqqqqqqq6Z+Na7uexf1VVVVVVVdWm++BucujL 4Zu/EWByKHem+VDIm5q0ce3o6yuqyaEA0C2TQ1VrbFzr7f6qmqSjyaEAAAAAAAAA 0AqTQ1VVVVVVVVX3bFzL/Tz2r6qqqqqqqtp0f+lucuir5WQwOZTNNB8KeVOTNq4d fX1FNTkUALplcqhqjY1rvd1fVZN0NDkUAAAAAAAAAFphcqiqqqqqqqrqno1ruZ/H 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 6FDVGhvXeru/qibpaHQoAAAAAAAAALTC6FBVVVVVVVXVPRvXcj+P/auqqqqqqqo2 3Vfr6NAXy9lgdCibaT4U8qombVw7+vqKanQoAHTL6FDVGhvXeru/qibpaHQoAAAA AAAAALTC6FBVVVVVVVXVPRvXcj+P/auqqqqqqqo23X9cR4e+XM4Go0PZTPOhkFc1 aePa0ddXVKNDAaBbRoeq1ti41tv9VTVJR6NDAQAAAAAAAKAVRoeqqqqqqqqq7tm4 lvt57F9VVVVVVVW16f7TOjr01XI2GB3KZpoPhbyqSRvXjr6+ohodCgDdMjpUtcbG td7ur6pJOhodCgAAAAAAAACtMDpUVVVVVVVVdc/GtdzPY/+qqqqqqqqqTfef70aH Pn+4nA1Gh7KZ5kMhr2rSxrWjr6+oRocCQLeMDlWtsXGtt/urapKORocCAAAAAAAA QCuMDlVVVVVVVVXds3Et9/PYv6qqqqqqqmrT/Zd1dOij5WwwOpTNNB8KeVWTNq4d fX1FNToUALpldKhqjY1rvd1fVZN0NDoUAAAAAAAAAFphdKiqqqqqqqrqno1ruZ/H /lVVVVVVVVWb7r+uo0MfL2eD0aFspvlQyKuatHHt6OsrqtGhANAto0NVa2xc6+3+ qpqko9GhAAAAAAAAANAKo0NVVVVVVVVV92xcy/089q+qqqqqqqradH+8jg59spwN RoeymeZDIa9q0sa1o6+vqEaHAkC3jA5VrbFxrbf7q2qSjkaHAgAAAAAAAEArjA5V VVVVVVVV3bNxLffz2L+qqqqqqqpqu/1/Qw9TE+cOFQAAFQ7n `template` null `settings` patch-size 8 num-shapes 256 screen-half-width 25 screen-half-height 25 interface-window-xcor 146 interface-window-ycor 106 interface-window-size 674 421 output-window-xcor 0 output-window-ycor 0 output-window-width 300 output-window-height 219 info-window-xcor 149 info-window-ycor 121 info-window-width 500 info-window-height 419 control-center-xcor 47 control-center-ycor 162 control-center-width 354 control-center-height 501 shape-chooser-xcor 100 shape-chooser-ycor 100 shape-chooser-width 298 shape-chooser-height 155 turtle-command-center-height 150 observer-command-center-height 150 background-image "" `string table` H4sIAAAAAAAAAGNgYGAAABzfRCEEAAAAAAAABA== `symbol table` H4sIAAAAAAAAAGNgYGAAABzfRCEEAAAAAAAABA== `double table` H4sIAAAAAAAAAC1ST0gUURh/o7W79sedmZ3ZdsZ903MF2Yug0DGZt2VJtJCFNxEm OpQXvUoe2qywoijossdNIvTmIQikcvPQecEOXfpzDg8bqIgH6Zv3++byYx7f+/37 nhDirvaOvavNttDuM6uzPyy0v/3oR0EQvl7qSQiji9WXYw2h1Zo6OEFz5ZPZjWE6 P5t/cPl7U+jB6axB9xLuBZ3et3/rNH/jivN+VOgMz7lV3PfHoWedyid1mvdauOd9 gs459dHwq9bIbh/9W4c3wzv0n6ktmHkVPR+qJ0KHCe7lVp/ulAht5rHZn8M55DXk Os9o3+tfWSdfpQT8chZ+JOvb8+DP7EH3zFTNzDnch8v++5bhX/Yfp3xxtzr+cFSI +J+JTTlxrgeq0Itc9FJ8hT4c9uMsQsdiPtGeMb4rYx/uvyEscR8B+wh+Qt/jnOEa +J1N+D+dMz609KJ2M+2V+8tto6dCdsv46OG+fM5bWYGvEus72GP8xcgRL+9Lsk55 F3uXNfgIvgKHFHotLP8y+uoz/BbxvuKd3ymQPs+rBvKF/M4qFvYsb0/MvUh9PEaO wUn4Dnh/A0tH0TviDVvwET0BX5F7Vdyfz/stT8n8LcoZmWdIffOebO7X765e+EZ4 vSHSL+4aoP6AcYfxD/A/WbgDszwDAAAAAAM8 `list table` H4sIAAAAAAAAAH2PURKCQAxD0yqo+KsfXoMjseppPLQNmw6VD5nJtM2muw8AdwCD AYeQhZ6hhwMLNo/i5/Szt7437vpr5q3nW9QPPfbe7590fotyKW9MUu5zZxGLy3fy JkfmxDRGnaXVi9yrnK1Mu5r/kn3OfPsNscnz4pHjHPVY+E2zi7tF5vQvI670h8Ld sM0/Z19ndTzXtAEAAAAAAbQ= `bytecodes` H4sIAAAAAAAAAL1WS2/TQBCe9TOOk9ht7SStWojapOLSGxzICXGGM9cmjRUioI7i DYj/CP+Jfdmzu06qCglWijy7O/PNN4/dDcT3y5+0eChXRXX/Dn7x8RsAzsGvCrrf MvEWmnHNfkSKZFrLRMgkZeLYA3D42kDtOWw9ULLL5KHa99Qa+2Ye3wJIHPm9qTF8 gFB96yH2Gd7sJdOXG31a0sXXu91iudzQii2kqC5gQqR82kXK6Uh4d24iBkUaukz2 +SSWsOvdoqpkPAaoDyQjCNyA9TQwosAccNYlm0eIoexg6qEul0VMLoQVLbd3G3rE yNeMfGXkYb3eosWlzD+5dGUdcibnmVFDrAkmB3KWxPwKk6LqB6dE1kDonzU1lNip mtf0AqlPVBHyWyV3tJ6IEDNx1VrXqn9g1j+JVMg+eOtd+YMtvWolqVVqpy4vYLfp HZqfa13K5xfYoXmvFRnJBk1kiO81EULmoh/BNgDvW/m9YEsv/o5tCGY7hMqTMe9a 8xjniUxoVCxo09YjZJJpdBoKfWyJzMWENXRdeezrRDWlrIPuQIcuvhQVLbaGN/Sk p55YqXe01LuaV95wBEvCvQpvEUS7YrsrV/uHZ+RZ9H6uAj05EpxrBmdUmR89XwY8 dqzAu+CvWKI/g3F1HCz3EMs9Bgsmhv77PaXl43wyUd0TWacjRHhhGqjNnmaqjolt ah8sNI3RtNQMXNCGUEwbRbyyam2vpT1AbXVX+UYAuu7wY/m4oeVuPrEv+ESFEeOV GGrZ5WPqYuMmXSu8/hPYnacxhf0AMsu+Pk7HmDnPZJYcRbZ5WYjCOoXBh81jMfm0 Wa0LOp+85ptKdYL2tXfjcbT7XnscZzM8A3Xft97AwHwDG5vwQJQnB3he/X9+8u6w uLwBcW8I+wvrnTt2T0ftd7K+prg+92X8vwmQZys3Zwf4jP4dD+Ez+wPZrLuoBAoA AAAACgQ= `observer world` H4sIAAAAAAAAAGMQSMhPKk4tKkstUiguSSxJTXBggAMrBq6CnPyS8syU9NQSIJ+F gS0nNS+9JAPI5mBgB8kVpOaBlXKDNSPJQgAjCAMA+OWZc2QAAAAAAABk `patch world` H4sIAAAAAAAAAIXcW4uj2XlHcSWYRCQEdKELBXQhhBBCCKHz+dQ1NV1d5D7XNs5g B4xjkoEkd/rI+QgZ2/Psnqd2r3c1GNv8eu39VtXM/FGpelr/9Os//ebH3/5+8F8/ /ubHH379aJVf/9r61f/89j/+8y//+x/+9If/+PG///3ffvfDjz/9v37rb//025/+ u9P6uz/88Mff/fj7n/73oPX3f/49f/rhjz/9n17rV//717Td+se/HPyL39dq/fPP /2nd/++vV8V//+LX3/z5P/E06O3sj395Zu9I35W+J31ffCA+lPtH0o/FJ3L+VPqZ 9HPpF+JL8ZX4Wp5vI74V34nvxQ/iR/GT+Dn7L3791S/iV/Gb3H+X/mH+bPZPcv8n 6V/k/pfcV+d/J/d/J/e/yv2v0n8v/ffSf5b+s/Rv0r9J/yX31efvy7PZ3+X+9+b7 y7kV531Bb2enfUHvivfE++ID8aH4KPsvfqV9QZ+IT+X+mfRz6RfSL8VX4mu5fyO+ Fd+J78UP4kfxk/g5+y9+pX1Bv4rfxO/iD/Nns3+S/pP0L9K/5J72hV3uf5X7X6X/ Xvrvpf8s/Wfp36R/k/5L7mlf0N+lf2/uy760v+2lI29nrz6+TnbcF/Je9ur8vvhA zh+Kj7JX54/FJ9np9Qv2M/G5+EJ8Kb4SX4tvsuO+kO/E9+IH8WP26vlP4mfxi/hV /JadXr9g/zB/NnvsC7r0sS/o0se+oEsf+4IufewLuvSxL+jSx76g577eD+ljX8hj X9Cb7y/70oG+Jd4W74h3s+O+UN8XH4gPxUfi4+zV80+yV/1UfCY+F1+IL8VX4mvx TXbcF/Jd9ur8vfhB/Ch+yo6vX6i/iF/Fb+L37NXzPcyfzf4p99X9sS/ksS/o0se+ oEsf+4IufewLuvSxL/T5jX0hf8t9dX7sC/WxL+jSv0v/nvuPz1f2pQvP3xJvi3fE u+I98b74QHwoPhIfi0/Ep+Iz8bn4QnwpvhJfi2/Et+I78X12fP1C/VH8JH4Wv2Sv nu8qfhO/Z6/uf5g/mz32he6PfaE+9gVd+tgXdOljX9Clj31Blz72hT5/sS/kb7mv zo99oT72BV2eP/YFvbkv+9KDvpUdvz9G3slend8V74n3xQfiQ/GR+Fh8Ij4Vn4nP xRfiS/GV+Fp8I77Njq9fqN+LH7Lj98eoP4mfxS/iV/FbdtwX6h/mz2aPfUGXPvYF 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 fdkXcunLvpBLX/aFvLn/f4B1wA+dRQEAAAFFnQ== `turtle world` H4sIAAAAAAAAAKXaB1BUV9sA4JUuKqDSpDdh6Qu7sAsqvCIgghqkiCJlKUtRygKL YIi6Niyggj1WQvQX1BjBRkDdVylRgwjGgu2TJEbQKB8qIrF+l/X4zfwz5ucw/868 zL0z+3DOvee957z3AEtDKMnNlqSJzHIkcRKREFj//exjqaSJMpIlKcwxsJTjs0Wi RObQiqUuTsuU5KUmJoskzDmPpTpwLhZlMCdOLOWEzLTMbObQiKW0KEF+NJI1Qv7L //vbBCw15uuJmXkZYubMlaWckxInFjGHdiyl/E9GiaWYl5Ip74dKTgr5JpelmiKK S0zNSGZOtJlQYKmIMkTZyYvkX1TNEYsSUkU5zOEwcg0mTBQxMZGJo0wcZ+IQE1FM TGZiJRObmZjFRCoT05goZiKNiTgmFjKxjQk/JhYzMdC1BiY2MJHPxCYmTjOxlInt TCxnopEJbybWMXGQiR3Ar678PiWtEB2rWAfrNrSD79Gi8q5aDghY//ujLO/5QN+H KXy6iIHjn0CQYaByau1O5Bz3Ne8+HADB8V21TkXHwOv/9MOIz0I9F4WRioXv0OGE wvokpwrIZTO8/OkgXoF4IXD1p0eHNEUChz9zTPG5+8AZ6L4TDuIViY9B3rQXdyLY 64G99+ja+8sOQaATzfUrEb8eTbY0RVybxUbugYhY73M9kL2Dpv/KxFehe+GLzpzp taAa3d9hZGEGyVmSaD2/9kG8CvF5qK9lFbT6oZKsd5vt2b6Nx0DSRdO+KvEA/PK6 qYGLTiFX+vek6OA7INan8WrEl4O1moH/YmGid+Nch/56DxbkXKTxw4lPBt7+pmf3 9drR/Yi2vfZZdUibRXP96sSfQIf9bzcFbbRAc5cA5+q/BJTjN4L4r8B8O1fTjK8E dpkFkVfu/gpCqvs/kvh5aNwXvKC+tRXVjtx+YNW9A9yo8m8U8YgO0vC/yzuXe78u sIiNaudA1Ha/Nkm0/iD91yD+AHB9GnZZzY9EHdOTxTl3L0JuBc391yQ+HgxW7yu8 7BeArKb6JYHRZQCNTPN6wkG8FvGByB2hYrQ3yRa55g+KNq8rhtgImv6PJj4crPxm SmZf6EKNpqZDv7UEQ1IVzf0fQ3wSujtXptr+YAuK4t03V0VXQE4NzfWPJT4SXH4Q G5mtS8MRBzzu+ar0g9kA78JB+q9N/BlgB3Rs3GuvD85qXrXa2xZDjAXN/KdDfAY6 1uDbgvYDsp6qFXua1TjAY66+TSIcpH1d4sXIz/jXhBIJyl5Nrvg5PREghKp9PeJj UX/7LlnjtDNg0xezZGvIY5D8OTD+/oO0r0/8bjCs9t21+XUJKnDmlVxYUQYBVPkz jvjzwN/b/3ibDgc8rAzOHO47D1n9NONnQHwljrVVKTMR8dBFqTe4WFIIqaNp8seQ +O/QzLTwpx4bCzByvPcKItmQTTX/GRF/Eh1/0BOLA27jmEt6C0b1+kLyc5r2jYk/ CA6edmX+2/RlH4rKp4x6xIFZv9OMnwnx9aD2MPShToSZd6vGqid966WQTnX9psTv AXYsN2fS30Jk/1T8PinVF1KCBuav4kHG34z4BegatNNFd8kV5DkWn29dsgkyRtB4 c+JPyd4YL72sdI0FDq/V03UFCSCmyj8L4nfB2Aye7ZiXJ5C7X3n6vusA8+1p2rck /ggav3d6btjbgEq/oC5/vxqAH03+WhHvD653nj729goDTsih0L6vamAGVf6PJ34t WrarHlZbeQ+shVcsLi3mgx9V+5/n7+/RZadPzONNPt4HqusDfbJZMIOqfrMmPhrs 4nJrTaQcHK/Wn1AwLxi+omrfhvgU1L9Qtr6L7YC27t3mr5PLKOsPNvF7wSllku7K j2dAs1fjQ8lpAA+q9dOW+HSwb1iyx/OdGPhpV7tfnFSCqVTrvx3x/4Pj/7R8N7cK 0DFEGrDxuhRmUz1/9sTXAUeU/N5lawAqd/dV7vQRgJiqfnUgvgB4vRtH2McXo2Bd 5vi74Z4QRlU/OxIfBGPiqkpjuqyA23AzDM/fhFSq9dOJ+FJwmdT+ZFm3Hepdum4T dP0EzKQaf2fiQ9Dy7dp0rzPBwD9/r6624zmkUj3/HOJ3okZlne6CuhrgFklrI98W QyDV8+NCfAAozr+m8Z1lGTp/J+v8YdpFCKLyrsQvAs7CxWfPOaqAQ6FFUEu3KZgM 5E8daxDPJX4umOScC3+ZLgCO9fZ1h5IXUdZ/POLPgZ3q6in3ZQFournUON+wBuKo 6t/P9bMXmgsbn+ffiUG3btvTz0s6ICufJv/ciBchJ0Hz6qO3F8EuuDye73UWwqjq N3fifZH/Z3XaOoszoLNQddhaDSlkp9C0zyc+Ajz0DjTtKtRFvsFP9Su2VkMm1fol IH4JWug1hBccVQBlz/Lj0bI1kLGAJv88iJega0hDteuVVeh29oDPz3UcyKGqPzyJ n4T2o9vWXgj2RNfDWhGHtRAkVO8/E4hPANO/P2aaiuegU3Tzc5HyQ+9X8uWPNUj/ JxIvA6cX6zV1ftUG/rE/qzx158LCcJr1cxLxx0Dz3pyrcc93ALu3f3d+ySPK+smL +Jnez5VeX+R0SVH39NtUy0lllN6b+H3o4RrUsvn8IeTeSdaNepgPEsFQ6r8fvB/N uylUzeoA11M7Fj9acgSyG2muH4hPBJ3erku+p7TQLSksIO+WCUio3p8mEx+K7NIS /oSMc2ib2LNZ9eQZmKdH8/x8fv/cj+PQVO3HZxJwM1reuntPI4jX0LTvQ/x0cOPs +/ubd4ACU2li118aMJ+q/pxC/HzQurzuhezWQ9DPazd4GnYPQm7R9N+XeOn/c/+o Gt32fqt1zjcA9casqVZ/HAVfUc3ffsQvA65B0vKkfik4bbHsjNFUBX+q9d+f+Dlo Hr+rp+ViABie6xeOffkN5f7RVOK3ouYM1bMR4T2yD+/3N6nu7QEJ1fgFEF+Lisp5 y+OGs8DmbFFs7SQ7iGujGb9pxE9F15q5t/WFU9G98pBZw/GjkO5C4wOJ/5qZP6fV nPiwBPV33rZOqLwOYqr8/7x/9C26b+d5ZtxoBFtMvj3+6Q1IpNo/CSJ+CjotDGoO fhAEDuah1zLTwiCa6vmZTvxhEFyq9q9aZYEuG6z693aZQBjV++8M4lehu97RtWsF peD244m7r57nQiyVn0l8GXKlazeN7nyJo65o+KdNb4UpVPXTV8SfBesVkhHBoi3I aWnQWKP/BIRU638w8TOQV7Jo/hXhcGBzYhOOxLZQrh+ziA+T1XBemnMTWMjrNEmP 33ABMqjyL4T4EnTtXqu6uMgSDXYVTOsTmkEC1ftjKPEXQPd0SGdh4A60zUgr9MRv KPMnjPhgsFHtV7yx5yK6H9q+3GN7EyycM5T3jwowKdnycVW3FuocmVgwerMWpQ8n Pgd4cEdrc/QJ74+aC84beJVAOFX9Ppv4NWhRVhI8894jNH+R9P2/QidCJtX8/Xn+ WQ0utxs1lOp80V5Hrzp7JAdSqJ7/COK3gF5y2VajUi3Ud/r3uKDxDeBDNf/OIX4j jj3opbEqvRgdfa4VHwzeARlU+TuX+NnokpXoGzC7DpwEcGXvihoQU9VfkcR/I+u1 CR1pGC2UnVK7GtLQw4KpVM/f5/m3BjlWdhp6U0JR8/VqY1O7HnCUzz/SQfw84jPR ovnnrxe9aQLz96p528t1wZNq/y6K+ELgOWTdPT88yfvfjzdi0WEh5f5nNPG56Jz7 dO77cflgb6n/6s2T5yCmqv9jiPfxvqwz42WwOQt4OqcvVTkNg2wRTf0US/yPoFdv /Nf97GYweXeY2xHCBiFV/gmJXwFmPisMwibMAaebioatsSLIotr/iSN+Auhttlr0 XYwDuLVWa4Q/WwpZ8vy7xvrSZ9inn8M+HQ6UIZ7ovLyGFTF2Ltg/M72jUfgUggd4 Wz6l94DhUaNOP3hbBu6plbXsG5MhSr5/sJ/SC5Abp929K6keeRcuvb+6nAMSbXkC UXo+ut16nNjTsgRGCKODFBzzIVX6RfoP3h0EOzvn2itHomGok8vyERzwuS/PX0rv Bk6b4I1OZQ9a3E3bozY5H9I3yAsoSs8DDj/m61kOQnSzsxn2Y7MrLJSvv+WUnouW ++2bA2/4ynq5tzd6Wogh03ig/1GU3hVddWvtizdIwIz72uxRDQ+E14dy/11krz9Y in23lMCYFNuV5dr7QaIjX0ApPQcV//AziKrVAuuyb1v1LulA8sDdKyqj9M5ols17 kZqzAUYXYXtyEoBI/veLGkrvhNZip3X8tnDkKjePKjuwhOw/AqV3RMfXVzvUhjej 0u7uj4LvA8Bd7jmU3gGctzY79W/Vlr3uKyi2LJbCjKUfmU8PpbdHnomthB/4AFUT fI9Xm1yEmfL8Dab0dt4vT0q2OSpykDv/nVff5Ejwld+/Y5TeVvbkjnG1yisWKpR9 cJbMq4DZ8v2vlZSeDXbqU7ap+7HAoWylaqtBJzjL00dK6W28exN/G1fajmBeKUnd o3oRHOX3/4v8C94arA/+GTs6UhuHz6lWvfKQAxx5+gOlHy/rZm8sV7SRolnpjirO jt3gJ3/8aftvhZxll44+LdVHl+g25/D6r0FlwDvSekvvB1kF6q8CWcjp/svSR8sI suXvX52U3kLWptAxmt0sBcGD3bwidgsEyuefHZTeHHRS306JHf9O1mEj41+ZIIT4 2IH8fUfpzcA9YV1r/L4WcGfvaGbf9wfxvIH7t47Sm6Jb/un1fbfXA3d4QUvK3MWQ rDFwAx0ovQm6+kRYa8e9AO6kwqiZjgdBeGAgf3wpvTFwTH4q+OXdbGDl9e/z1WyF lD1DmX+NYFyLy63mtwHA1qw8XM5uhMwtAwmYTekNZbcmVDVe/osF1pcFe0/s0oaU BUO5fwaglNYbUH2+BARvOtP+7XIZhOVDWX/GIRv/yLskOIRuL0IDP6Y8gpz1Q7l+ fe9rAUX5TbmIukfOCpZ0S8j/X3RRej30cO28fnvyOXAeHu1se8cFFvoOZf3SRe6F idXSbxvQKtqoProkETy+KP/J6yDvkObLbfeK0Dj+5KTVYSmQ9Gn/iNJro+ntavUP e3Yj//rYpUX6ahA2pPV7LNi/6k6yXhQAuvdmFtW5hUHKqk8vwHR+DHJ4lxsKkyvA WasssL49C3I/DKV+GQ38N+FL7Yx70K0gMGCi43QIqxjK+GmBxe/W/sZ/dKBrwcTG 12PcIfWw/P2Z0msiP3rzmjPzdnrf/Di/uu2GFJKHVH9qoCXGzXGIO4qGiloaeydW QGKkfAON0o/y7p/iEV3AOwbu00SLZ97lQkrbUOrvkd5/5N1Z1hUvRH7byM5qry6I ku8ft1L6EcgrWlNWfvUNuF7xSdR5cB0S8Yv0H7w6CIJka+srooCFZ58db+NA1Kf9 S0o/HI2H2T1NC5+OzpNDQt2s1kDKzKHkjxoqnzreEvDhGHAsL2Z9NOCAeMzA+H1P 6VXR/FnpVq+QN+D0+/BfMn9NhjmeQ6n/VJDvIn0cU3MO7YOe+quEqkGW+lDGXxnZ ybPPdwe/9f5tu86H3CcIEUN6/pVk3UWphisQQFD6XIwLrUE0pPxVBLdmaXv6q3eg nagA3zXVQLhkKPOfAoz72PpbSrcV2lQE20Y9KIbc9oHn9zGlHwYcSW9H460uFHx9 4JfwUh7MKh1K/rJA/ejlOndBBVMH6S1bFPcQskq+SL/k/wNGc9UCICsAAAAAKyA=