From 13f252c6f401b97f23b9c6c167c30053959c3a79 Mon Sep 17 00:00:00 2001 From: Peli de Halleux Date: Thu, 14 Dec 2017 11:04:59 -0800 Subject: [PATCH] support for icons (#15) --- libs/core/_locales/core-jsdoc-strings.json | 5 + libs/core/_locales/core-strings.json | 10 +- libs/core/icons.ts | 691 ++++++++++--------- sim/public/blocks/iconnames/angry.png | Bin 0 -> 2629 bytes sim/public/blocks/iconnames/asleep.png | Bin 0 -> 2565 bytes sim/public/blocks/iconnames/butterfly.png | Bin 0 -> 2875 bytes sim/public/blocks/iconnames/chessboard.png | Bin 0 -> 2794 bytes sim/public/blocks/iconnames/confused.png | Bin 0 -> 2588 bytes sim/public/blocks/iconnames/cow.png | Bin 0 -> 2710 bytes sim/public/blocks/iconnames/diamond.png | Bin 0 -> 2770 bytes sim/public/blocks/iconnames/duck.png | Bin 0 -> 2624 bytes sim/public/blocks/iconnames/eigthnote.png | Bin 0 -> 2766 bytes sim/public/blocks/iconnames/fabulous.png | Bin 0 -> 2708 bytes sim/public/blocks/iconnames/ghost.png | Bin 0 -> 2785 bytes sim/public/blocks/iconnames/giraffe.png | Bin 0 -> 2737 bytes sim/public/blocks/iconnames/happy.png | Bin 0 -> 2549 bytes sim/public/blocks/iconnames/heart.png | Bin 0 -> 2761 bytes sim/public/blocks/iconnames/house.png | Bin 0 -> 2785 bytes sim/public/blocks/iconnames/lefttriangle.png | Bin 0 -> 2791 bytes sim/public/blocks/iconnames/meh.png | Bin 0 -> 2730 bytes sim/public/blocks/iconnames/no.png | Bin 0 -> 2657 bytes sim/public/blocks/iconnames/pitchfork.png | Bin 0 -> 2820 bytes sim/public/blocks/iconnames/quarternote.png | Bin 0 -> 2767 bytes sim/public/blocks/iconnames/rabbit.png | Bin 0 -> 2788 bytes sim/public/blocks/iconnames/rollerskate.png | Bin 0 -> 2662 bytes sim/public/blocks/iconnames/sad.png | Bin 0 -> 2550 bytes sim/public/blocks/iconnames/scissors.png | Bin 0 -> 8213 bytes sim/public/blocks/iconnames/silly.png | Bin 0 -> 2560 bytes sim/public/blocks/iconnames/skull.png | Bin 0 -> 2763 bytes sim/public/blocks/iconnames/smalldiamond.png | Bin 0 -> 2582 bytes sim/public/blocks/iconnames/smallheart.png | Bin 0 -> 2608 bytes sim/public/blocks/iconnames/smallsquare.png | Bin 0 -> 2610 bytes sim/public/blocks/iconnames/snake.png | Bin 0 -> 2676 bytes sim/public/blocks/iconnames/square.png | Bin 0 -> 2586 bytes sim/public/blocks/iconnames/stickfigure.png | Bin 0 -> 2806 bytes sim/public/blocks/iconnames/surprised.png | Bin 0 -> 2664 bytes sim/public/blocks/iconnames/sword.png | Bin 0 -> 2779 bytes sim/public/blocks/iconnames/target.png | Bin 0 -> 2779 bytes sim/public/blocks/iconnames/tortoise.png | Bin 0 -> 2590 bytes sim/public/blocks/iconnames/triangle.png | Bin 0 -> 2644 bytes sim/public/blocks/iconnames/tshirt.png | Bin 0 -> 2769 bytes sim/public/blocks/iconnames/umbrella.png | Bin 0 -> 2838 bytes sim/public/blocks/iconnames/yes.png | Bin 0 -> 2610 bytes 43 files changed, 371 insertions(+), 335 deletions(-) create mode 100644 sim/public/blocks/iconnames/angry.png create mode 100644 sim/public/blocks/iconnames/asleep.png create mode 100644 sim/public/blocks/iconnames/butterfly.png create mode 100644 sim/public/blocks/iconnames/chessboard.png create mode 100644 sim/public/blocks/iconnames/confused.png create mode 100644 sim/public/blocks/iconnames/cow.png create mode 100644 sim/public/blocks/iconnames/diamond.png create mode 100644 sim/public/blocks/iconnames/duck.png create mode 100644 sim/public/blocks/iconnames/eigthnote.png create mode 100644 sim/public/blocks/iconnames/fabulous.png create mode 100644 sim/public/blocks/iconnames/ghost.png create mode 100644 sim/public/blocks/iconnames/giraffe.png create mode 100644 sim/public/blocks/iconnames/happy.png create mode 100644 sim/public/blocks/iconnames/heart.png create mode 100644 sim/public/blocks/iconnames/house.png create mode 100644 sim/public/blocks/iconnames/lefttriangle.png create mode 100644 sim/public/blocks/iconnames/meh.png create mode 100644 sim/public/blocks/iconnames/no.png create mode 100644 sim/public/blocks/iconnames/pitchfork.png create mode 100644 sim/public/blocks/iconnames/quarternote.png create mode 100644 sim/public/blocks/iconnames/rabbit.png create mode 100644 sim/public/blocks/iconnames/rollerskate.png create mode 100644 sim/public/blocks/iconnames/sad.png create mode 100644 sim/public/blocks/iconnames/scissors.png create mode 100644 sim/public/blocks/iconnames/silly.png create mode 100644 sim/public/blocks/iconnames/skull.png create mode 100644 sim/public/blocks/iconnames/smalldiamond.png create mode 100644 sim/public/blocks/iconnames/smallheart.png create mode 100644 sim/public/blocks/iconnames/smallsquare.png create mode 100644 sim/public/blocks/iconnames/snake.png create mode 100644 sim/public/blocks/iconnames/square.png create mode 100644 sim/public/blocks/iconnames/stickfigure.png create mode 100644 sim/public/blocks/iconnames/surprised.png create mode 100644 sim/public/blocks/iconnames/sword.png create mode 100644 sim/public/blocks/iconnames/target.png create mode 100644 sim/public/blocks/iconnames/tortoise.png create mode 100644 sim/public/blocks/iconnames/triangle.png create mode 100644 sim/public/blocks/iconnames/tshirt.png create mode 100644 sim/public/blocks/iconnames/umbrella.png create mode 100644 sim/public/blocks/iconnames/yes.png diff --git a/libs/core/_locales/core-jsdoc-strings.json b/libs/core/_locales/core-jsdoc-strings.json index e273e557..3e40da5f 100644 --- a/libs/core/_locales/core-jsdoc-strings.json +++ b/libs/core/_locales/core-jsdoc-strings.json @@ -139,7 +139,12 @@ "basic.showAnimation": "Shows a sequence of LED screens as an animation.", "basic.showAnimation|param|interval": "time in milliseconds between each redraw", "basic.showAnimation|param|leds": "pattern of LEDs to turn on/off", + "basic.showArrow": "Shows an arrow on screent", + "basic.showArrow|param|direction": "the direction of the arrow", + "basic.showArrow|param|interval": "the amount of time (milliseconds) to show the icon. Default is 600.", "basic.showIcon": "Draws the selected icon on the LED screen", + "basic.showIcon|param|icon": "the predifined icon id", + "basic.showIcon|param|interval": "the amount of time (milliseconds) to show the icon. Default is 600.", "basic.showLeds": "Draws an image on the LED screen.", "basic.showLeds|param|interval": "time in milliseconds to pause after drawing", "basic.showLeds|param|leds": "the pattern of LED to turn on/off", diff --git a/libs/core/_locales/core-strings.json b/libs/core/_locales/core-strings.json index 9ce2a454..17e0f04e 100644 --- a/libs/core/_locales/core-strings.json +++ b/libs/core/_locales/core-strings.json @@ -17,6 +17,14 @@ "Array.shift|block": "get and remove first value from %list", "Array.unshift|block": "%list| insert %value| at beginning", "Array|block": "Array", + "ArrowNames.East|block": "East", + "ArrowNames.NorthEast|block": "North East", + "ArrowNames.NorthWest|block": "North West", + "ArrowNames.North|block": "North", + "ArrowNames.SouthEast|block": "South East", + "ArrowNames.SouthWest|block": "South West", + "ArrowNames.South|block": "South", + "ArrowNames.West|block": "West", "BaudRate.BaudRate115200|block": "115200", "BaudRate.BaudRate56700|block": "57600", "BaudRate.BaudRate9600|block": "9600", @@ -93,12 +101,12 @@ "IconNames.LeftTriangle|block": "left triangle", "IconNames.Meh|block": "meh", "IconNames.No|block": "no", - "IconNames.Pacman|block": "pac man", "IconNames.Pitchfork|block": "pitchfork", "IconNames.QuarterNote|block": "quarter note", "IconNames.Rabbit|block": "rabbit", "IconNames.Rollerskate|block": "roller skate", "IconNames.Sad|block": "sad", + "IconNames.Scissors|block": "scissors", "IconNames.Silly|block": "silly", "IconNames.Skull|block": "skull", "IconNames.SmallDiamond|block": "small diamond", diff --git a/libs/core/icons.ts b/libs/core/icons.ts index 75a2593a..bc37a407 100644 --- a/libs/core/icons.ts +++ b/libs/core/icons.ts @@ -27,103 +27,143 @@ THE SOFTWARE. enum IconNames { //% block="heart" + //% blockImage=1 Heart = 0, //% block="small heart" + //% blockImage=1 SmallHeart, //% block="yes" + //% blockImage=1 Yes, //% block="no" + //% blockImage=1 No, //% block="happy" + //% blockImage=1 Happy, //% block="sad" + //% blockImage=1 Sad, //% block="confused" + //% blockImage=1 Confused, //% block="angry" + //% blockImage=1 Angry, //% block="asleep" + //% blockImage=1 Asleep, //% block="surprised" + //% blockImage=1 Surprised, //% block="silly" + //% blockImage=1 Silly, //% block="fabulous" + //% blockImage=1 Fabulous, //% block="meh" + //% blockImage=1 Meh, //% block="t-shirt" + //% blockImage=1 TShirt, //% block="roller skate" + //% blockImage=1 Rollerskate, //% block="duck" + //% blockImage=1 Duck, //% block="house" + //% blockImage=1 House, //% block="tortoise" + //% blockImage=1 Tortoise, //% block="butterfly" + //% blockImage=1 Butterfly, //% block="stick figure" + //% blockImage=1 StickFigure, //% block="ghost" + //% blockImage=1 Ghost, //% block="sword" + //% blockImage=1 Sword, //% block="giraffe" + //% blockImage=1 Giraffe, //% block="skull" + //% blockImage=1 Skull, //% block="umbrella" + //% blockImage=1 Umbrella, //% block="snake" + //% blockImage=1 Snake, //% block="rabbit" + //% blockImage=1 Rabbit, //% block="cow" + //% blockImage=1 Cow, //% block="quarter note" + //% blockImage=1 QuarterNote, //% block="eigth note" + //% blockImage=1 EigthNote, //% block="pitchfork" + //% blockImage=1 Pitchfork, - //% block="pac man" - Pacman, //% block="target" + //% blockImage=1 Target, //% block="triangle" + //% blockImage=1 Triangle, //% block="left triangle" + //% blockImage=1 LeftTriangle, //% block="chess board" + //% blockImage=1 Chessboard, //% block="diamond" + //% blockImage=1 Diamond, //% block="small diamond" + //% blockImage=1 SmallDiamond, //% block="square" + //% blockImage=1 Square, //% block="small square" - SmallSquare, + //% blockImage=1 + SmallSquare, + //% block="scissors" + //% blockImage=1 + Scissors } enum ArrowNames { - //% blockIdentity=images.arrowNumber + //% blockIdentity=images.arrowNumber block="North" North = 0, - //% blockIdentity=images.arrowNumber + //% blockIdentity=images.arrowNumber block="North East" NorthEast, - //% blockIdentity=images.arrowNumber + //% blockIdentity=images.arrowNumber block="East" East, - //% blockIdentity=images.arrowNumber + //% blockIdentity=images.arrowNumber block="South East" SouthEast, - //% blockIdentity=images.arrowNumber + //% blockIdentity=images.arrowNumber block="South" South, - //% blockIdentity=images.arrowNumber + //% blockIdentity=images.arrowNumber block="South West" SouthWest, - //% blockIdentity=images.arrowNumber + //% blockIdentity=images.arrowNumber block="West" West, - //% blockIdentity=images.arrowNumber + //% blockIdentity=images.arrowNumber block="North West" NorthWest, } @@ -131,393 +171,376 @@ namespace basic { /** * Draws the selected icon on the LED screen + * @param icon the predifined icon id + * @param interval the amount of time (milliseconds) to show the icon. Default is 600. */ //% weight=90 blockGap=8 - //% blockId=basic_show_icon + //% blockId=basic_show_icon //% block="show icon %i" icon="\uf00a" //% parts="ledmatrix" //% help=basic/show-icon - export function showIcon(icon: IconNames) { + //% i.fieldEditor="gridpicker" + //% i.fieldOptions.width="400" i.fieldOptions.columns="5" + //% i.fieldOptions.itemColour="black" i.fieldOptions.tooltips="true" + export function showIcon(icon: IconNames, interval = 600) { let res = images.iconImage(icon) - res.showImage(0) + res.showImage(0, interval) } + /** + * Shows an arrow on screent + * @param direction the direction of the arrow + * @param interval the amount of time (milliseconds) to show the icon. Default is 600. + */ //% weight=50 blockGap=8 - //% blockId=basic_show_arrow + //% blockId=basic_show_arrow //% block="show arrow %i=device_arrow" //% parts="ledmatrix" //% advanced=true //% help=basic/show-arrow - export function showArrow(i: number) { - let res = images.arrowImage(i) - res.showImage(0) + export function showArrow(direction: number, interval = 600) { + let res = images.arrowImage(direction) + res.showImage(0, interval) } } namespace images { - function getArrow(i : ArrowNames): string { - switch(i) { + //% weight=50 blockGap=8 + //% help=images/arrow-image + //% blockId=builtin_arrow_image block="arrow image %i=device_arrow" + export function arrowImage(i: ArrowNames): Image { + switch (i) { // compass directions - case ArrowNames.North: return ` + case ArrowNames.North: return images.createImage(` . . # . . . # # # . # . # . # . . # . . - . . # . .`; - case ArrowNames.NorthEast: return ` + . . # . .`); + case ArrowNames.NorthEast: return images.createImage(` . . # # # . . . # # . . # . # . # . . . - # . . . .`; - case ArrowNames.East: return ` + # . . . .`); + case ArrowNames.East: return images.createImage(` . . # . . . . . # . # # # # # . . . # . - . . # . .`; - case ArrowNames.SouthEast: return ` + . . # . .`); + case ArrowNames.SouthEast: return images.createImage(` # . . . . . # . . . . . # . # . . . # # - . . # # #`; - case ArrowNames.South: return ` + . . # # #`); + case ArrowNames.South: return images.createImage(` . . # . . . . # . . # . # . # . # # # . - . . # . .`; - case ArrowNames.SouthWest: return ` + . . # . .`); + case ArrowNames.SouthWest: return images.createImage(` . . . . # . . . # . # . # . . # # . . . - # # # . .`; - case ArrowNames.West: return ` + # # # . .`); + case ArrowNames.West: return images.createImage(` . . # . . . # . . . # # # # # . # . . . - . . # . .`; - case ArrowNames.NorthWest: return ` + . . # . .`); + case ArrowNames.NorthWest: return images.createImage(` # # # . . # # . . . # . # . . . . . # . - . . . . #`; - default: return ` + . . . . #`); + default: return images.createImage(` . . . . . . . . . . . . . . . . . . . . . . . . . - `; - } - } - - function getIcon(i: IconNames): string { - - switch (i) { - case IconNames.Heart : return ` - . # . # . - # # # # # - # # # # # - . # # # . - . . # . .`; - - case IconNames.SmallHeart : return ` - . . . . . - . # . # . - . # # # . - . . # . . - . . . . .`; - //faces - case IconNames.Happy: return ` - . . . . . - . # . # . - . . . . . - # . . . # - . # # # .`; - case IconNames.Sad: return ` - . . . . . - . # . # . - . . . . . - . # # # . - # . . . #`; - case IconNames.Confused: return ` - . . . . . - . # . # . - . . . . . - . # . # . - # . # . #`; - case IconNames.Angry: return ` - # . . . # - . # . # . - . . . . . - # # # # # - # . # . #`; - case IconNames.Asleep: return ` - . . . . . - # # . # # - . . . . . - . # # # . - . . . . .`; - case IconNames.Surprised: return ` - . # . # . - . . . . . - . . # . . - . # . # . - . . # . .`; - case IconNames.Silly: return ` - # . . . # - . . . . . - # # # # # - . . . # # - . . . # #`; - case IconNames.Fabulous: return ` - # # # # # - # # . # # - . . . . . - . # . # . - . # # # .`; - case IconNames.Meh: return ` - # # . # # - . . . . . - . . . # . - . . # . . - . # . . .`; - case IconNames.Yes: return ` - . . . . . - . . . . # - . . . # . - # . # . . - . # . . .`; - case IconNames.No: return ` - # . . . # - . # . # . - . . # . . - . # . # . - # . . . #`; - case IconNames.Triangle: return ` - . . . . . - . . # . . - . # . # . - # # # # # - . . . . .`; - case IconNames.LeftTriangle: return ` - # . . . . - # # . . . - # . # . . - # . . # . - # # # # #`; - case IconNames.Chessboard: return ` - . # . # . - # . # . # - . # . # . - # . # . # - . # . # .`; - case IconNames.Diamond: return ` - . . # . . - . # . # . - # . . . # - . # . # . - . . # . .`; - case IconNames.SmallDiamond: return ` - . . . . . - . . # . . - . # . # . - . . # . . - . . . . .`; - case IconNames.Square: return ` - # # # # # - # . . . # - # . . . # - # . . . # - # # # # #`; - case IconNames.SmallSquare: return ` - . . . . . - . # # # . - . # . # . - . # # # . - . . . . .`; - // The following images were designed by Abbie Brooks. - case IconNames.TShirt: return ` - # # . # # - # # # # # - . # # # . - . # # # . - . # # # .`; - case IconNames.Rollerskate: return ` - . . . # # - . . . # # - # # # # # - # # # # # - . # . # .`; - case IconNames.Duck: return ` - . # # . . - # # # . . - . # # # # - . # # # . - . .. . .`; - case IconNames.House: return ` - . . # . . - . # # # . - # # # # # - . # # # . - . # . # .`; - case IconNames.Tortoise: return ` - . . . . . - . # # # . - # # # # # - . # . # . - . . . . .`; - case IconNames.Butterfly: return ` - # # . # # - # # # # # - . . # . . - # # # # # - # # . # #`; - case IconNames.StickFigure: return ` - . . # . . - # # # # # - . . # . . - . # . # . - # . . . #`; - case IconNames.Ghost: return ` - . # # # . - # . # . # - # # # # # - # # # # # - # . # . #`; - case IconNames.Sword: return ` - . . # . . - . . # . . - . . # . . - . # # # . - . . # . .`; - case IconNames.Giraffe: return ` - # # . . . - . # . . . - . # . . . - . # # # . - . # . # .`; - case IconNames.Skull: return ` - . # # # . - # . # . # - # # # # # - . # # # . - . # # # .`; - case IconNames.Umbrella: return ` - . # # # . - # # # # # - . . # . . - # . # . . - # # # . .`; - case IconNames.Snake: return ` - # # . . . - # # . # # - . # . # . - . # # # . - . . . . .`; - // animals - case IconNames.Rabbit: return ` - # . # . . - # . # . . - # # # # . - # # . # . - # # # # .`; - case IconNames.Cow: return ` - # . . . # - # . . . # - # # # # # - . # # # . - . . # . .`; - // musical notes - case IconNames.QuarterNote: return ` - . . # . . - . . # . . - . . # . . - # # # . . - # # # . .`; - case IconNames.EigthNote: return ` - . . # . . - . . # # . - . . # . # - # # # . . - # # # . .`; - // other icons - case IconNames.Pitchfork: return ` - # . # . # - # . # . # - # # # # # - . . # . . - . . # . .`; - case IconNames.Pacman: return ` - . # # # # - # # # # . - # # # . . - # # # # . - . # # # #`; - case IconNames.Target: return ` - . . # . . - . # # # . - # # . # # - . # # # . - . . # . .`; - default: return ` - . . . . . - . . . . . - . . . . . - . . . . . - . . . . . - `; + `); } } //% weight=50 blockGap=8 + //% help=images/icon-image + //% blockId=builtin_image block="icon image %i" + //% i.fieldEditor="gridpicker" + //% i.fieldOptions.width="400" i.fieldOptions.columns="5" + //% i.fieldOptions.itemColour="black" i.fieldOptions.tooltips="true" + export function iconImage(i: IconNames): Image { + switch (i) { + case IconNames.Heart: return images.createImage(` + . # . # . + # # # # # + # # # # # + . # # # . + . . # . .`); + + case IconNames.SmallHeart: return images.createImage(` + . . . . . + . # . # . + . # # # . + . . # . . + . . . . .`); + //faces + case IconNames.Happy: return images.createImage(` + . . . . . + . # . # . + . . . . . + # . . . # + . # # # .`); + case IconNames.Sad: return images.createImage(` + . . . . . + . # . # . + . . . . . + . # # # . + # . . . #`); + case IconNames.Confused: return images.createImage(` + . . . . . + . # . # . + . . . . . + . # . # . + # . # . #`); + case IconNames.Angry: return images.createImage(` + # . . . # + . # . # . + . . . . . + # # # # # + # . # . #`); + case IconNames.Asleep: return images.createImage(` + . . . . . + # # . # # + . . . . . + . # # # . + . . . . .`); + case IconNames.Surprised: return images.createImage(` + . # . # . + . . . . . + . . # . . + . # . # . + . . # . .`); + case IconNames.Silly: return images.createImage(` + # . . . # + . . . . . + # # # # # + . . . # # + . . . # #`); + case IconNames.Fabulous: return images.createImage(` + # # # # # + # # . # # + . . . . . + . # . # . + . # # # .`); + case IconNames.Meh: return images.createImage(` + # # . # # + . . . . . + . . . # . + . . # . . + . # . . .`); + case IconNames.Yes: return images.createImage(` + . . . . . + . . . . # + . . . # . + # . # . . + . # . . .`); + case IconNames.No: return images.createImage(` + # . . . # + . # . # . + . . # . . + . # . # . + # . . . #`); + case IconNames.Triangle: return images.createImage(` + . . . . . + . . # . . + . # . # . + # # # # # + . . . . .`); + case IconNames.LeftTriangle: return images.createImage(` + # . . . . + # # . . . + # . # . . + # . . # . + # # # # #`); + case IconNames.Chessboard: return images.createImage(` + . # . # . + # . # . # + . # . # . + # . # . # + . # . # .`); + case IconNames.Diamond: return images.createImage(` + . . # . . + . # . # . + # . . . # + . # . # . + . . # . .`); + case IconNames.SmallDiamond: return images.createImage(` + . . . . . + . . # . . + . # . # . + . . # . . + . . . . .`); + case IconNames.Square: return images.createImage(` + # # # # # + # . . . # + # . . . # + # . . . # + # # # # #`); + case IconNames.SmallSquare: return images.createImage(` + . . . . . + . # # # . + . # . # . + . # # # . + . . . . .`); + + case IconNames.Scissors: return images.createImage(` + # # . . # + # # . # . + . . # . . + # # . # . + # # . . #`); + // The following images were designed by Abbie Brooks. + case IconNames.TShirt: return images.createImage(` + # # . # # + # # # # # + . # # # . + . # # # . + . # # # .`); + case IconNames.Rollerskate: return images.createImage(` + . . . # # + . . . # # + # # # # # + # # # # # + . # . # .`); + case IconNames.Duck: return images.createImage(` + . # # . . + # # # . . + . # # # # + . # # # . + . . . . .`); + case IconNames.House: return images.createImage(` + . . # . . + . # # # . + # # # # # + . # # # . + . # . # .`); + case IconNames.Tortoise: return images.createImage(` + . . . . . + . # # # . + # # # # # + . # . # . + . . . . .`); + case IconNames.Butterfly: return images.createImage(` + # # . # # + # # # # # + . . # . . + # # # # # + # # . # #`); + case IconNames.StickFigure: return images.createImage(` + . . # . . + # # # # # + . . # . . + . # . # . + # . . . #`); + case IconNames.Ghost: return images.createImage(` + . # # # . + # . # . # + # # # # # + # # # # # + # . # . #`); + case IconNames.Sword: return images.createImage(` + . . # . . + . . # . . + . . # . . + . # # # . + . . # . .`); + case IconNames.Giraffe: return images.createImage(` + # # . . . + . # . . . + . # . . . + . # # # . + . # . # .`); + case IconNames.Skull: return images.createImage(` + . # # # . + # . # . # + # # # # # + . # # # . + . # # # .`); + case IconNames.Umbrella: return images.createImage(` + . # # # . + # # # # # + . . # . . + # . # . . + # # # . .`); + case IconNames.Snake: return images.createImage(` + # # . . . + # # . # # + . # . # . + . # # # . + . . . . .`); + // animals + case IconNames.Rabbit: return images.createImage(` + # . # . . + # . # . . + # # # # . + # # . # . + # # # # .`); + case IconNames.Cow: return images.createImage(` + # . . . # + # . . . # + # # # # # + . # # # . + . . # . .`); + // musical notes + case IconNames.QuarterNote: return images.createImage(` + . . # . . + . . # . . + . . # . . + # # # . . + # # # . .`); + case IconNames.EigthNote: return images.createImage(` + . . # . . + . . # # . + . . # . # + # # # . . + # # # . .`); + // other icons + case IconNames.Pitchfork: return images.createImage(` + # . # . # + # . # . # + # # # # # + . . # . . + . . # . .`); + case IconNames.Target: return images.createImage(` + . . # . . + . # # # . + # # . # # + . # # # . + . . # . .`); + default: return images.createImage(` + . . . . . + . . . . . + . . . . . + . . . . . + . . . . . + `); + } + } + + //% weight=50 blockGap=8 + //% help=images/arrow-number //% blockId=device_arrow block="%arrow" //% shim=TD_ID export function arrowNumber(arrow: ArrowNames): number { return arrow; } - - //% weight=50 blockGap=8 - //% blockId=builtin_arrow_image block="arrow image %i=device_arrow" - export function arrowImage(i: ArrowNames): Image { - let res = images.createImage(` - . . . . . - . . . . . - . . . . . - . . . . . - . . . . . - `) - return set(res, getArrow(i)); - } - - //% weight=50 blockGap=8 - //% blockId=builtin_image block="icon image %i" - export function iconImage(i: IconNames): Image { - let res = images.createImage(` - . . . . . - . . . . . - . . . . . - . . . . . - . . . . . - `) - return set(res, getIcon(i)); - } - - function set(res: Image, s: string) { - let j = 0; - for (let x of s) { - if (x == "." || x == "#") { - res.setPixel(j % 5, j / 5, x == "#") - j++ - } - } - return res - } } diff --git a/sim/public/blocks/iconnames/angry.png b/sim/public/blocks/iconnames/angry.png new file mode 100644 index 0000000000000000000000000000000000000000..6e4a02f01f6e45a2b9959364eaef82192aa6d1fb GIT binary patch literal 2629 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 Kf>>(o8ucsAL!z$$ literal 0 HcmV?d00001 diff --git a/sim/public/blocks/iconnames/butterfly.png b/sim/public/blocks/iconnames/butterfly.png new file mode 100644 index 0000000000000000000000000000000000000000..e9fd9055fe1f96a6dae999fd99d1e95d5de73686 GIT binary patch literal 2875 zcmcJRc{r47AIFC?GQ^l6>qt*VIf{}pXvXqn8;6KWh{)C=+vFH)7(&J}WM5O32xB=N z*@jTrwOKl*aWF_3JCji7>3Xl;>w5oq&wu^#+|PAi_w~EKfBe4p=li>J#@tv~P(~02 zg9)1u4XmJl*Y^*x3tB5}s`6p5-Ml6S;JJWHoV;URm~PSNi{X08nVCJ(s_bLA$BJrC zhr&O>qdOA(_)aqCm6#V*nKZQiDf3t!uuWvuX~p(W>o@CUi@~=Wr9@a$PA`9_HRnsB zHxD(_DciH$@s6N|6NNjq@1sR5EJ`w&ku5WMIr?Rr%`4Wc48ax78^z;O{@f>9QzAF* z2VnF-M=7(?H>x@P?XGHp;=P+8$e51(vPmy;N7)VEOUy-!ibGa6>xA&e_iC4pu|sXQ zLUcsx>+8MmYv!3>ZXKU(OC!WwV3AlEWKlo+$^L6cqjXEHWaq%N( z6I~<}W_ts!boO3YqaY=9A_*`W&~L>%yf#F+Omt2loZ&Hmk<)lgZ^F#FLz=O2r6tL* zCXy|`xk0EMMOc;SHAiah4Dui-fCTSKUZ%0~?wJsm7K!+bwGeI8@w-gLdEi*U7N!GF z47(AQD-FiyZXQlYONBkF{WchI4oB%m0X|AJ&&UEVZ9M+CNS_zQ7>~r0EpcZtqs=^0Eh*CS!3Ef za9_t$5-$~b;B$A6+-y<|2Nq1bc)uuw1EH_oytr^wXQ+U!UI83cWYO5i$%j#%9NoYB z!(A9<%_O7Yy_g<~d%%?^R8)_qGpAM`%!`<0L@D31;6=PvbeQqCfPu^m8sGmFkC2SP z5vr^wZZ!yTB$@xQpHz3DF#G-a%8-Kk7E3Yj#GURDd`Z@Iyv~cA8r`0!c7vzI7G&jQ zjadgX9EGYXEvoRbwM*&Dm&O4p^{n~dTz_xg54x-@j3^V3}K3VT&L*_j@QB{E9t`=S5|yEzv(NDAqg1s=&9!Poq3 zDJ4pXXSV9i&uJG|hB4;XP7F3{{Q)kf6%mo1#P%yl>%dmcjVpDRVz^Yp07>8Z!3+*A zM7Fy|m+iSAsdZ0#qx2w4R#vfIFhU)rN0TY8IH~FoS`ve(+&E z7j8uV>gTf5d*CPo zBV#9F$TQK0>Ws2rl&%kmiU=6x?HRY>Um?p#@BLTNYZ06Y{-j6epEw@T-wGZXbZ-(C z!D=czI6N3OHj7X@V>sk;RfnK0oa&pGv13S^^OJF}v&}R+NEg*A7@Y9YjG9{3Jmkz; zu|_%tdu97*EPL!87Vlm!rm%dS&=WbaFOsaSr(j-3jw_Ragid#s4 zUd&O7vIOTgI0j-LJVXe!BJj2cJKtb`D+1~0% zpn(m22T$FJfP#C_2ota$)^W=pCa`I>)dK?@zVx2VZfExsCO7j5dE)t;?^CrZq3 zn2dt+eIx?_fhQ*Fe9Z0m>uR2ugp5;v&QUY*Lw&6ry3Nq7%jM~GDFv=d|0X}WC9?D`!eq<6dk0$BJhdVGzK)FPN1jMCh$u~g@h(~81cRkkRfh#5E z?hcX<2lC4etDZqL`&a1;;9vT1xeJecTJ57ZxK#!H{untUpIBHR`TU{9*~iNa!O3+g znU#UVdLuW!@9xXGZZJNvO*VXi>c=gsL%%TElx292`J6jpiBR)~CkH6)0!_6yT7lwMgw>gsyIL-!$a~vdWxF4uNA(9~Ehtnv z>zrM0LoIK=U&jvMMTic@C5uCuB1j!bnSy#tIQ)}}+o<}OAGV-wI_TzbaD;gF%Uwx< zqb4gYD!`bB(eT z1BiP{zKO{6;t`ISY7*wMiGY!h3%UrJY5pvh&L-CaJsHadU%%p+-!@BY)K`(*Z1N?+ gY4_Ehi~U=zJ#?u@s4%J*G!(;349yLyPB~Hj0m-sLV*mgE literal 0 HcmV?d00001 diff --git a/sim/public/blocks/iconnames/chessboard.png b/sim/public/blocks/iconnames/chessboard.png new file mode 100644 index 0000000000000000000000000000000000000000..a9e1288d150648b1b2776d0e10c109f213a5f2e2 GIT binary patch literal 2794 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 literal 0 HcmV?d00001 diff --git a/sim/public/blocks/iconnames/diamond.png b/sim/public/blocks/iconnames/diamond.png new file mode 100644 index 0000000000000000000000000000000000000000..dfd1923113613f10224323cbe2607ab75a9b11a4 GIT binary patch literal 2770 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 literal 0 HcmV?d00001 diff --git a/sim/public/blocks/iconnames/ghost.png b/sim/public/blocks/iconnames/ghost.png new file mode 100644 index 0000000000000000000000000000000000000000..fd8be8578f89c26de0f18c896706e8ea22ca974f GIT binary patch literal 2785 zcmds3do&wZ8dr^~5RFv5TUj-zsM1=x25Gz|Y|)`g$0MjM+D2>>f`~_?N~4;VL7R#` z6m2S4k2E4{it*S{wz|ZKMAfTAq?HCmVzS*cJ!j9^KlYF9nRE7!d++(~`R?!g&i#J( z``v<5{@;LrMnDx66_5|oGf=tq{d4TzrJUgb;&WPl`Y0 z+k9J7y|_8V;{vc5)WD6>t((~Zp?T8ZIZz5J)2B?7?2M`#UY`tt)5MMuTe6Tgr9#93xnVdW4VO5HCKdt(L_M3GTdg+2lfI*4K|8)}!EXxDRud zZf0QGdJMZMBnM9E|)q;*Q~{o5Yk;by}GNb%QW*% zSC>Z{o81o|DTMhvyx#kV^{up?AU}+lU1Rv7@j-J3O5-o#woQY{L}Eot;}7z*wo768+ubo0L7^iTAIj1bC!tqBi^f&p zatw7FVkJMA7o8X~BHH@`%M#_>s_@<9!-xO))-jv`1x4#!dIY`Quw{A1qINrMlrg3N z1(vf&x~ftPczaj$;jSm?M9A7FMB={?!IRLZe+mt*4|o$fBsQ*U2q5Mvy+Ln`$t_xp zMVZfph^^dNeT<>HNBtF%k=sxj9n5trAh_b2oRACpzM+I>#^Ueoh6GG?-xTG|P*H5T zvsS{(sgOihd;t(sU#IvRTCS7A$?e)R<7%0+Tyv*z8tWJrw=jMAwp(nW+|cq)#&~ff zoK6@VO>Dxik(!^swuPk9vPolxko6rq)EZsQ??G3y0R}rJp@pO1w(kSHXWDk=9NHaoL+SJ;B7(d#2;6-@dIsFhY1^${4b69*tApm_lXbLDBEW=! zFa%h#Xl7DQg03og0TqsT9k)|MEZJk!5bX>~QWTIh_P-0THe{BMDt9O5Qaax;b!J3% zRaa1KFF$X3{EByNhyJ%hZS?B_hV=qCXOhW$;^uV0epVi{G&HwlLkzclb+xb&j%ww9 z=x>BSo9wZ7Sm{~6rg;dX-n;K%D-^Ort)Qe8f7s$4^v6D%e9sdIvq$0xiiQ=^{-~yz z&M7J~fxwGV1qK!lkdOdf^T2UoOL;a)_h8ePINEM7p2UuGWnsu+L3WS)&3e<-*U-_8IS zHk!6epN2xp=jS@f(-Ftg|KZ*A^0EeQ6Bw7Fdh#DS<9*q_P zhb^*)Ba)&%JxmsICPxq~@t| zj^+AnSjf8+6MQY-xL)8V7 z&AkPz+-YQ4=-#|+61iZU0#OCJ*Pi|DtRs1j;Y{8_MvL#XzO*LOk&kX0E4~k+6Rhh} zI!p-%A(&o8v#8=h#ajcTUWIOSX5`5snA_^>@6bpU_y0s&r=&LDuH`k4tkvs5G@rq#G=kTx;W`|KrF!WGF z9&d=O?B>$L5G%B{SzomTA8h&&WfQ2L8f;YkwSavlVmP;kbn@5*wyN|DwbXt_a%HFJ zQ|sSn-tjn$d74`4P_x$AzAx5j*#!2vxL-QlMZm{jm1GU)A?E}CofP*${~x5ty$=eS zpWsd2D4gYTa8{D#Ud593pZNg~&czD}O95d(4*&W}rXE=fz%kCltqkT))4`^urZqpt z+$<_85>_eJ*UJ+zm{)SSd^zyrbIX1L%l?!wm{b_zk~)8z5l|iw5b$bhYHH78xQj~_ zjYbn#NRL!{s}?)m(3Ua{UE2b34wwC8lg{Ju&Wh$D$vgSQ>VXDA;87M3BdLdSW{c8b zeTlj08xAJr7_hFvZ>J~!m0)G*A+|bo7mdSp^OX97B-c+A3EGcLzSip6^Z~CtT4i)> p`_E@73M$=iYR+=`9}Y>fR9b`08C{Df?UY|v6(28uPo{em=@-pMLl6J} literal 0 HcmV?d00001 diff --git a/sim/public/blocks/iconnames/giraffe.png b/sim/public/blocks/iconnames/giraffe.png new file mode 100644 index 0000000000000000000000000000000000000000..9aac246f852dcf2d6d58d66d9d8cdd01a351f6e4 GIT binary patch literal 2737 zcmd6pc~sKr8pja{&A>FZP+DlzEL;+^sBj|})LhaDQlnxp*HX$vT<5Bo;gmudWiseB zF?Vsv+*47}Qp?m)OT{rmGq*Ii(X_Lw<|k{_2KzvPd+-A=@8L@}T)Cet^d}h!Da|w(K*yP zSZ(+cveUb4aY5YfQ}T6nUNdTA?P%2ca-r6KM4^n=UX3KGfQ7l7znJW>q{)R%?gAV5pWw```9-5 zcf#uH*l2KW!LRt@m*Q%;zW*?cR~iJnOq408MYUC~?Vk2lD+sC@LJ(wD^&hYY=B7}# zd(E#rWuwsy_O;O^LZbp@&MDg!4ZdDs`^bWAqid;aep~X(7d~n1Mx0V%%(^`h*6^@$tqe8Oa;nKM7)&W4{(D$()sv~zQ{&ReJ| z)q+G(8n6HWZ-ETuFUZ7bO2Ukc4CK^yiw0aYyty^;pfV6PTz%s&>5BN zb_B|SOBDO^5@#mIg+zg653lT{>|BU7Zmf{75`!(sRPP*iKi=TUdKUNY8<%!#zXqke zdOKuCKuSLQvOE&vGk`ywQ~J>e1f6 zOhGa5(Yar9w}MNM4=Y43IdCl|E#xV_cpAD*`%EsJuIdk?Xs~U*EF9Y7BTmHH>ykQr z)H+grE*48UYV^ptL}uGe;XGII1QG0VsAJMBNy^de2-v!iBliTU+ba9xm;y3xR3VxZ+}Rax;844n{4XxFd@*l7%xu&hif>5;Y00&k8atl!yhbFnwksx;C3$x| zCL)fneLHwZ7@_mXei*_xAa(z$3gN%X@L`rqbPW+&YZk<+4V!36vM{YoJNvjiV~?!_ z?I5=>Pu7m!BSCIk+6VG{bEL@l4h|&e8mDqQ43(tXM<{P$23t1NJdM;d| z&wInZDQQ~IYqOLo?L4y;=Op5uojoq?NpAzLN_l`76#=A+h*63m-^p6RT<@($*?Nf$ z+bV(5v#&3Wg0~9cbdZWf;>hOGi`eolw>Kwd--OOB5^_0kUTG6vqtM8ErISWt`ED0j z)ngyei>Rsg!}pj&X2%>;=i37MIMvgd74E%A(2=JZz~Bu1Cg-DmxQ&8y`N3xC+5M)% z&8I4kMX+_v-uGcRD1}u!rUH!_lk|i=!2gTZ(5)CydETI>g?#tjT+Q=7j$?INLl^kd ztgF8U{}$S|x5T{H6e=5x-+$uxY=&RAySVXsS^}$g__tTX{PS`mRQOZQBtq8&?6>Vi zRoxz5+HO#+ndsBn&B;QzhA7iT)sr&e>wpyeAU zz>i)>+#QtK3$*TF9;w$f*vBM2o#|#;b%VYLT52uL5sqs zi_6HHoEqYGHzW6T&IsB4<4)pjtb)LpCqS6~G_RbmbMR-dopZfW@yU)`RYcXfX0hAy z3spASoVVh#^6=;o!iMyf^=kX%^9S?R)=@f19ui9`ajwGNX{f|jVk7m(ZvV0-b%sDC z&-5TVEap1>8hzD6xJzw`d)$AxB~WQfR{Qz#!Ch*2!%qhNvJV{kHXlTOST6DF*85$v zqBo#K@a0O`zN*f{KMg@3=FuxGkU)Y)>%^bXs2#c5{hO6=^UMmX@WKIFDE)q;#ZGw> zX8^rRUFo=_`n&cjH6RuNph%G9M*jn=_;&|V5+P=~;%mf47xZ@KZakm5QumfOwG|TZ zG4DnmKYw14!piad+Y|rjqUzqz(~3zEzNx{4uxmp_%7yffYK_p3{iZ7WHNTh{GN{I5 zU9rL975TpL0@K=Xnn5V-5OJBROW92Dao-%j`n4T%q_hB_OM%?Gi7_8Qx@{(fsXrbW zkd&_$|59mYVXPM=6y1YY0l$t4(I^rAG*p~J;H9#2h?{Z7Ap{fZ{Umql>(J;gR7Q?jC8I}x5Q+c zEvra(@Wrv`Yh0z2RBE)sqBk7so#wvK|@ z-m1io^Fh8%8xyZ5-#5ukMC62|`1o307JZXh$oL#~^U9$t$tVi2vv#s7Iz@{82bRYL AA^-pY literal 0 HcmV?d00001 diff --git a/sim/public/blocks/iconnames/happy.png b/sim/public/blocks/iconnames/happy.png new file mode 100644 index 0000000000000000000000000000000000000000..66b0eaab2372e637a1c54b474ee2c2ca723d99b1 GIT binary patch literal 2549 zcmd6pYdDna8pmg*v71qrVTw?BDWij94&!VFISfYZWWt&>|_cD7b7;J0h*LHq-JSCd$GArK_j&I*4rlDwFwP4u)!Cn$7VBt5YtYE7&0YyN?Q9L|7`tAXo&7XFQZ5-_ZfaV3ruE8bxKC%mI~LVu*OUh|n^>+q+$(Tlv&NL^&y_{X zxrew&TmGX-BXvTtUI*8Z+?&JDy-1{zydTb43th3$fQ7x#`&32-7J6SOSwqTO!2o%3 zVPAVcPY~%6sH%awB#U}`lU6MljL1;fJ`E%amDvdN?0~{% z+L81J2XQ#h$+$zBa72=<>fe(byR_|?p@D6as_J}@zCCZCd6Ta$GrziNCL&i~R2O`u zp^`e9*BKiI=1%4H*%jHXV3cC!Hd^~lG1i~k+-k5Scu(Lr^FA4H9y&i~Iv2Eb1?`l$ zV_LkjwE5mS`K+bo!mnqj-zn^d$x1C7wDL;>`Q;_enkBy0;<=v3X8VIr>rTOa*r#p> zJK%hB3Dv`^7@)LE;p>pRuSpq64((&KyUkN0vnbqK^SbZ&xJksKA`^@DakIIxaT(Lq z#W)jOBXGoR>2hbRwj&IUj(4l7Ftx>1%n;qD98x)(T6m*bN1TyPRh=ifj(q^ZTSffK zI3>T)y*CG0q~aObGFJPzv$AP6g}!O)hIJ%Dq1}b$HKVJ(aqr}0s|V#zeLBzcbwFW~ z3WFC^;7|JdUG9VA)t%5F73)>K9xAKO0vu5PoFyeAlG1aliM=_JWkI>gt}AUPwbP22 zY_8>%uywx%0^021ZoOy1;~8#McemiU?>Hlq(8?~v3KOaROGKxU%z52t8P9c{m;S5i z)R?FGHnV&YT-(@D2@VHwfJocVNCQA<%iC_T|Fhw{&6x)c;faZf0mrgSL?RKE|J#)- zL`g}>`IVKS^cSEFBxXc>bxUEb1lFWgQG3_R3!7PJ_bL9XrAHl=Eol!}>dX1pmN-QJ zC^V>7P+pl{Ro%5#m){`M`0xXE~?hXcLh+2=&Js{TlHYX45E+VhQy z;mQ!$@VMb(7fmgb;YH%h#5d7?O8)_C>jzqm-!;9A-lH-HT0?d`eu1T7Y=4c3Y=3_P z3!Q%o5);)LxFC%G2c_2xCeznfc9KcOaJzWhC+iB!_NzW(WQ!(>C+E6V~yC^d!#Tb2?ZK8#!t)#(i{;T zJng~7^tfiVx5;4_m`y6ckIxZ=`E%dexUqjQKExdGTA+KMrg8g3j<_59T<%phS$mjY zq;Zg4^do^2g0RExZd7L)(;AnSH!Yx{4xBIUc4LX=OU)k(*10a*fPTnHF%X})J$>GjAXN(3ia78z!QYtE4hCsr zD!Aeis8qoEW0pRMUC#Ze9lP#9&_+7$(ZA50oDDPuyQb)m&a5Kx%(6aW1q z)(pn@1LxiG5GazOn-XwfFdBC)WrgNM9G(cuxRxIwYW7eYF1^}|8Eol2tk}A228;&Zap7SF`G>3oUvLRm|3_o%nu3*O(`$E_3#yEA6s8>Cel!EM ztA@m-Ot`DmTu0vS9B}W0OWpR4L*TVRh#F6IS5o5Mtkj$kFA` zBLVBiZ&aJMsgdh^Vk28BzA}7b!l=A4R!`Vk+s4}g`WMk<?@ literal 0 HcmV?d00001 diff --git a/sim/public/blocks/iconnames/heart.png b/sim/public/blocks/iconnames/heart.png new file mode 100644 index 0000000000000000000000000000000000000000..acfcf584b36429e630ae4e97f12fef01c01803ee GIT binary patch literal 2761 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 hucLXBSJB^4V1Z7{{f>~@5%rG literal 0 HcmV?d00001 diff --git a/sim/public/blocks/iconnames/house.png b/sim/public/blocks/iconnames/house.png new file mode 100644 index 0000000000000000000000000000000000000000..65ff1348334ff27d83c26c74da10aa8c159040d4 GIT binary patch literal 2785 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 literal 0 HcmV?d00001 diff --git a/sim/public/blocks/iconnames/meh.png b/sim/public/blocks/iconnames/meh.png new file mode 100644 index 0000000000000000000000000000000000000000..fc84b625b6be25655aafd2f26e85e5b9fbcb4802 GIT binary patch literal 2730 zcmd6pdo)z-8o+0!kr`nIhcda0hzsAgI)9&Y*7wJL-~H}qJMd!t09x`=K1~WeM{5 zm+MbzPTb~`^=vVx9{x}*R5rW71n!t2ZypAEbL(XbV(RD1sp9#LLv!R2luX3IvE=!U zdyis;>TTzi-rM}`&7%ZI1OkD2aOo^zsCUVXgZAz0Do6NB3Za0az+Y6>V|)QL4Yb>j1BM z%zFxZX-F#?c_7zuxcgTgjfXbhQo!S3w2SyPoKCZgbWfZQ1J#)p*``!P(quc1m{-27 z(@*80S4TFR4}qn^r`@zvv>!gp-ST;scyi8)d%-{8ykpM+XHR^DzwZ}#vkQw8H64~w z(GgZF29{S{8J(+(F^xvv^h)V~(~xMe6lCHstjv7bwUR8??Be^Qvd>TS>XDDb1{fR+ zVF%CTDvYb4PsOlxcYNj4i3;M&;?GSEZCfazinkaxsR$LTh67n?$^?_KiG;3AvUAN! zw5j854TbNAO9Gb1yBo};qO2uGLeD!8##t>0aC*?L7L}uUAaIop{q;LIGJ8=j9E=6# zYmrro*Fj)-h|12tMp!{a?X|gIyy%PI(Tui5Q!!!_L;Fi`B4w1i(*AuPx?j?1yji3r zcpHC52*i8zgmuj-KOj>_xsblBj?OI2Lk+o5q8XNh_IMP|8c&wU1|Hwv49$?etPh6! zx%jZgyltA%;`>!W3x_W7Uy;T?p-Jt}Cn{1kF=Zb0I|WcRwq>OH8b83O>3Iz?Rwg@q z+ESL8Dtn;PfCWSe4T0fDfHxYFgL-m+(pY!oKt4)+pGQ;xrUgzM)I(v$Z5f$)cjQ&3 z?D6FD>vO-6I#ArH1@tbz(WJ$--eSe4LuHIX7_AOW8aLMVo#XWfwHcoq*d_Fe)eKQ$ z1%GnKWYz0+o_FzlUi|y+R)aK2Iuu5;bwf_2fWS-dp+@e~X!OBg^ZcC<=+g|D51}?x z>VqbcKRjVbB*x)J$6hexJztIxtAfY38YKSzlA--NI1_t)uCLK4E&k&75uP90o*ol3 z8`ivg_s8X^pPPDAZtCIA9Q0O^{_4fHU!a6oMzo4gzkSf@KtvomtEIou+9GYcD>|!j z?(9-4N`~2L7}u1#Bk3BSp)FETBi;+=peN6?)t6hl9(!KgQB!fTpvxBFmsYSC9ET{nG-Yw}>DTPOw3WM((tU*w8E|e5LIVvYv{haIjfl4k z6CN1aMWHlw!b~=da4;P4q$u3KF&UO9D@k9TcB{2`Tk*0YwV?ilQJLaJMP^ePK?tY8 zPAr|)42jP6p7a%ArWVvWn->2Jwq`(OVKh)-`%wUdA`;b;WbqB;*zJmnU@V{kSi)=i zu_9Pz7FABG;t*EjS96Fzm^D^?l*wt_`(op!1aIi%LA#X4p#wa>dq+ZMge!6F4Q3tb z>I;Tz)+r{I=(kruGv2I5sQGmO7DvjBXNmwUebUg_J$Sq^D^V^6APr}WoJfSz+%PBnW&{qL zvW zD!n`D#vAxX5|qrF7St|3_yEpPg4A8cuuG2VgS)Lf^m3^AOWaa>ycH*Q-AoKlq-4;0 zRnbspZL)e_q2BAKcL&pKq9QVm3v$gck0trrjlo``Ix%#?kV?zZ zd4%cs?-oVa$;%7J03n&48-NM>?~(+@;iDW@iCgV$w#T(4PH>LTv#c?>y1vP7s6mt0 zq3X(QhJ#G0&3CuTdV>na`(|cWFZv{ylAC8ux;Bg0miV5W#?xvLs9LUD09FJ4*H|J= z(H-wZ|D(w$T+mKUA5M^hDI>4&Zqm<6!xBQ>`@rNZwujLK=zjUbT&2g(O-1j|RLw71 zXH7%Ty#4d8=YDSR*P_XbvP}>J}^tws;p+>ruQ)0zY z!t-M4K0HQK1zUUOKricO^qNQBA2oCz9A5I)4PqS9xVlDHSeQ>VpHv!rF9QeR^I!`DrXw^!@FCXOM0QSDb&@YYi86 z45-l%0W>9$CLp;v1dgaZ4pl1xDuie36(qUt?lf~IPvDzOUpeJ|^b-wyc}mbGqu*K5 zTTIoBcKCMXpAPKZ=9F1FH}!T93KI6GunH0V?9@qe;g>BsQZcR87xw*uk gd;Xs01K9$_J#A?Tek&mXoIyc0mJWn^i_=N}0Af(SegFUf literal 0 HcmV?d00001 diff --git a/sim/public/blocks/iconnames/no.png b/sim/public/blocks/iconnames/no.png new file mode 100644 index 0000000000000000000000000000000000000000..51cdab2f8cbbd928c2d8393b6d88556ef156a498 GIT binary patch literal 2657 zcmc&$X*kqtA07-dG{)f2lrRdFeW{TtqZ!+1LQyD7gA!$UV-l6fSZ1QkNye6O$dbmA z%7_Yq(?)u|Hg7U)F=IR_K z($}qv+>~cqhMaK*~o+JLiI=EBL{hkJxgYnk5E$$VjZl%G7+6$p#s#F^FTL`CJ zBq`Mfl107BWawnT56)OXq$9JbGY{K4^Qhf810o^W79uU!PlQai9Lgd^H`T2v*OE*n;Kl&C|IPD7PBrQ%g(DNAY zu-F>9wbKBxTtM!V6InfrO?bb>L3vo7DIUrbKAHhu?KS^d$6{{MaZNBaB|7f2+Yst9 z51CVpJzVQ6s_?bCO+XvS2-Py{`n^uSwLval&hPWICj!iNiTp#!C;&rn3k%@{zE_~0 zkOc|?nng#+KT&Z{dBx_o`H$=k5yKX5!Lw%-1xcfGl{SX%HOE6g3b3^6JQ!Io$$Bj3 z4>N^2>xsu%!-b9ucd>TKk)@_USg7J-|(!Tl%- z5DJn}xdjkfJrWco1P~fwPH+VXE#4S&1vCvsNy{VygtASH_Wl#lhZUgHqe-k3p72kLZe_Z@`nAG>WOXaXHv0dBm7|B z`iTU*Xa}e=ztYADR@c#M=W=+(DnZHD*XoS-c^!tIKB0==a@UQtxvf^WRyj!DT3GoI zX9&jB&mY$enI;#>!m=66QX8iW-;}%x+dX+#X!}KpI11U82JPLzMD4_!bW#^(j3h&}0 zTB%hQwJ}zwcX9XHRYle1Jq{yIGV8gwSg?S(O5{upxi8+yzg&Xgau`N#Z6e!w`%p97 zKAwfyCvJpqEL!gPIkG7xnfb)VPnofK)>ZL41;z4W1y7z!nn*XGSp8Fl1Atf-TZg-4 zgx>b#62pdS!yM@gHrCCvvP0Zdf%~yCzFt{6yA2|G2V(~)7Jw*Md>mx z*0B1t;MYugV591P)Iu^WKs>J6>UkmG_@=$uxx_})9@91o<@(f(+uhmJNeNB~^rhYy ziUV5QM>FSNr^JrJDy|!A2f*x|G84xuA|>ySnL|>!7W@6GT+WZxP_xB@{aIm4R?{|+ z1vbs_=W}?VcSF5)$?Rj?;$rh5rXdf>NhOIWCr{uiw4sdxXv4{bOtec!Iy_s=^@O{o z^CW+uV~vOjkIU6bdk%&@HM7fP&)PtG40Y17G;}HL1Aw;;1Th;Uc_b;+J8_>JHS1q z?5WPP4|^PJfxm{wZcx_u)gjl^o}$yjtq;yVSi@=Ha% z>-SkYqF&)jfLR-Ce9#I4-uEQ!lCO*k3Kf9^GoW-Lh{_pYrSE}~5JIZ>DZl`3{XX|a zSQu#zqBE+&dIVQ~O-%$yO#1XeRUILijMF`ToxdL%qW?c!V*58KSyN?kp_^g#NY#-O z$-mCO*VmAKJ-8W%(-LW9jiBB1BeaQA3zRhP@=IxF)k}(lP8{gkU~gvjw(+{i zMXOp=O1JLdQtz_O5-?xV(8gvmb6AmnCuYTNY{-B1Aoxn>o_G#wB#U$V>cT{H(59h= zv_~&Ix!i)y5~!Rt#EVV|`@DP8iaZq0UC3nc(3~Tt56L1UI*9y)iFdi_C08C>sY?p4 cLxGg0{J^AoKaG@|3q(hdwS}#DF`g9p7mqo#?EnA( literal 0 HcmV?d00001 diff --git a/sim/public/blocks/iconnames/pitchfork.png b/sim/public/blocks/iconnames/pitchfork.png new file mode 100644 index 0000000000000000000000000000000000000000..b9f710651a0de5566e12c5a86d57286871e6b1b2 GIT binary patch literal 2820 zcmc(heK?bCAIC>mnwJ==Vd!cby1AS8l)JDDQ*uYhduUNcMQK(xTGAwiBGg(%-rsgd zHAGBNtRk;@mljd87Se7!m#5=+{(A1`uje@W^2N0*Xl^XyG8qdW^tT-9aZg7vYV2cY@JW=s0tyfidk=I zfEd_t7vmoYXO;43Nhr%(OvEVQw+UM=Lw*zFIb2pw{^7j;VvCC3U|0SpCvmyi?8e;d zbX__KJ9j`q=jilZx&MmrtL+2FAwz zotYu#{x(%y_h&3k5_~C8WGFpT)-S6s)Wg&1OJT2~#b<8CECgNYw|goQMP&1XCnqK* zx;}5z*6!f*_g2@`^gj~`c8-SId#t?|52>n#)b@gp1{HG0}XS02ctWt6r zFKU$uV}6=gqyip0XL1}!jYh6{vDy}q_ypRA9eRe3Y(Nl#48`_{L`p=8uMv>i+xn|R zB&G01WL|Dv>iNbQobq_HQLg$yZhE%U0^$6l_#ei^5BxVWEUHVcB_VE;y2k1B`3D^9 z;twXYiRy1who)Z#-+Q6=eCbHn?#YNsmDQ z(R+Hw!E{P0cr#3Cj^q)R>5@5)55g&90``#6XiA1Jr&hm?Pr)K|4@$+Kbj2I zc#O_2D(B)TSr&}WEuC{_+<;opwShDQM~iTZY4Qo6%2{ZMSetZyoUw`7k%0Yc0k1h*3PAE!5EpT%7{c5gHW`U zVh%}fY9ftRwn-s&3Ce<{;X(HHHdu(S!gm8*PB4613!F)S;nD6lYqBAt)YYX@Axv^Z zPaZIp0*o=3e=K@?ZTMr~-#hwZmbUE+m=5WhpNvsT*cuk8BjkiGELv#@1>3nfJngHO9^?aTX-`V3eD^24h+;_asw!GHhN;v% z;0HmHmefmO`Br#XC;ISF_!yKm#R7Pt^WlLrgo)MaiZ5tnN!Ooa9#9f8SyJMF*m#9o z(^9L9MRJ6e+<;QL%A;%x#`mrCFUR0%dtQdHAPb6-3mCM+c@{&hKuNm0=e(|hR+=X% zsZ7=Ce^8;;s%r?OnwD_lC zc%47U)e#OnJi~Q9TA4vLt;7q{{|yFD_rHTNN19fmlK18i!k;e@#`q)K?(bpB+QRUS z*RzxKp_6>q-boD-H?PyzZBra5XCBlDnTOGR!96)Cz@I<@})U zcP%ZgC)u4mo^3Uk>qwzcuIVhkYbgCtst{14m2k>Lbf<2Mq&vEpT8|k2_RUO7TYHJK zAQTGU&d$#I%XWAVT>?=fYgAu99^CN6d?<9t5SXmS6^nXSe8oG-yR{|?@BRMCXIt_R z+_iON_!U0o=u=D!e4a*KKmhn6l?u9v+ukqfJOn9Q&QlU^&B-g=ziVX=JT}OEatArb z-BJHNf;?0Us_&z4;*lhzTk|{t;h!SHMR*2=n_a~CJ**J$<;NIY~a!?-L0sNbWPVV|`K9X|J zzhKeOLDAfQThCAzi)T#LcR6o z4p$|61k2A6%eef;r@TieW-v&(Y3==^7yysh&nrkOP0qXhUMqxu)0$Ijkiy+)NYvf@ z@h~Lc*nn&K@&Avy$XwSzx^)7Qq%i{}cD*kyN%qhwylh)S6*EXSgU?j_Q~dU64Xfg# z@y~0T0xwjxYhF3k*O+Z#$do@V(X9nf2Wu;@wAAj9bJi0Teu}qS9*VtCxcdT?yu99E z8ktve(D7D5y}xF^_fY9_VwZ+6oaZSHKEfj;7}%ofXv?=>)zMj--)A;2$&=7iI~0D5 R1Vgu5n4_IDp=?(G<6o%01!w>O literal 0 HcmV?d00001 diff --git a/sim/public/blocks/iconnames/quarternote.png b/sim/public/blocks/iconnames/quarternote.png new file mode 100644 index 0000000000000000000000000000000000000000..43dd645978d06f4b3e9ac4960bb8100a783fe201 GIT binary patch literal 2767 zcmd6p|2xy`AIB$atZR;CM+xzEj+QU!%#klicxxr6k<-c7QdT%a8xv+~!^Tow8IqHv zC?#h5)Qn*|m_$+ex=u#&Wn`fuG~YV!&bdB+!RNX@S3lhMeLY{VU+&ladcGdlecs#4 zU2C2GIv5P5<*^@s2s&H8E=>fq^Zf-kV6b($9(eF@!m+7>ddl}6=yP%%xAfFFulqyJ zoC>X%n}Ii6L; z?9{2+q&fxEBI1v#yw+ zShvE*N0nuHS>w&8>bN(9cuOgu>|JI0$WS!8;G$!WCoP^GGQybL!>6Eh6mQPZar=!w z=oL#D=9jhE!I|D``UX)&!$uw)aPhFKeCyd}b{a51?BINQ8#!iju4EnUa7QyIq6 zEPPH)MgFYOn@B)O;ia_mO-SZi?91qG#Cb!@oqS`!Q&AroxL{>XkX@r4N%AnzBH#zA$^B^}; zoDF#N{yQl6sojYZjK-$B8~dCj8SwRSZJ7B zQ?#h}>${&#B09IH*fqw~mG@o(4TmD#h-fXV`U=PyGtmy8JMHjN0Fl7q>A~50eeO&j zIccVK_C}9#%u-f2m+-SArdT@xvH|kjbjSi5d5ckK`u4O>cSv^ug9Q!1DS%Hgs^JGl z-B7ne)EKk~hqI3S2DU?95uOepB;V0GaX3g@*jtQQ4ex!y6kGoOE{?v%f9bRhO2Mjh z8S0e+L#-ZH&%+Q;4qJ&hn1*jhCT+Q%YxggWRI1ZcmByTyCtVzU?81U|`mRF(uCmou zhdJlw;c72kQh*_CSB4^|nR@p^-o}=2Kbvbkj>n$gl{5nw!DXJMd&E?c@S`*H5T8;d z5ig`qgvGN-f4Jrc?>r_`J_a&A*cRc^Ik|%Ys6#}$gW)pC;0GdF-Koh3#R5@NKh~F# zchE=a2P5KUbt7LVI&CUIc4;^vh^*Au8&#cdcx3k1!G?Q}J4oSq?1{KTba`NhTZVF5U|qz_JN5UIM`>h-y_A6hUgly7I?kQ4dnrIvb7f zF6jJK-(tPr!2X>THa!z~yn!|R0$ASkNM=D6=Kx=|4-4ccQ$qs zhR#a(z2wCbEN#T!7inCxSNw2D#1;Hoe^@wMn--T--iGZl-l0l!k*!YBBr#RT{_un7 zVGlj`2I0KMz!OPy<4k~|_{}iDcTq!i)g#ROacU^xH>Fct{)-cH%f>Fw3NEKDZ5!Ej zfwgN}%?{aWtOXF6Dd%CY0Kix2$vK6M5mAC$dmPw?l-MWUgml7ounm8DHCUb|!4X4GR}*2D~N bOi6-;o*Si~5xLkxA61ygUN5}BEtvH;i`V{5 literal 0 HcmV?d00001 diff --git a/sim/public/blocks/iconnames/rabbit.png b/sim/public/blocks/iconnames/rabbit.png new file mode 100644 index 0000000000000000000000000000000000000000..66f1a4e07927b7decd6c47976b3308a0024cf586 GIT binary patch literal 2788 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 literal 0 HcmV?d00001 diff --git a/sim/public/blocks/iconnames/rollerskate.png b/sim/public/blocks/iconnames/rollerskate.png new file mode 100644 index 0000000000000000000000000000000000000000..d78e47041d1a89f63972e074c4de38eb1aaf64ae GIT binary patch literal 2662 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 literal 0 HcmV?d00001 diff --git a/sim/public/blocks/iconnames/sad.png b/sim/public/blocks/iconnames/sad.png new file mode 100644 index 0000000000000000000000000000000000000000..50af6a3581a581937027c20832d544544d09a484 GIT binary patch literal 2550 zcmd5;doVC-@|un`-s4r1H0b_1_x^F$UF)uU|2pgbvG-nk?eA;t{rP;p`^G6d3(0Lt z+aM5#q$P>y0Isio45S!1SGrW?Lm;R|OQNw;gqt9*)=tG5ZKm92lK5h7v^id+_!_Cc zN4WoQxDO1y0i&pO7hYrJs)isTAt5+2a%3P~wY;#QQuS;E4en)_cax+mFK&OXe0OO5 z?hUS;JP%$Ra6X`dS<-9X%5`(=$YtD`zcWyi&d*WCmIcBN*M-1~E1|BSStViAbL)gH z5Tl5zqXgEn$mn?C9>`+UI;)7y9WrLcX$@YIEa!6R9BmFN@rl{2MCTi77*%-J3=I0& zhj&S=(xXwn{MfOiK$t_VuePJNufBM$dMlMKm!?iR)%n1{Mo(B!ayC>h&3J^m`tht% zz|kAH9Y0bh>sD9YGw}C%vW`c_vjdDHM3Y@oZwBrr_ajN|DTJSkjp<*5w+@$z`+wH; zAi)|2e^G)>TrpuVB7$J5Iw&+c`w^yH918pJ67|2*8v=Fe9OwjXO>F$#j=Z=xVzcigM(#y+X-^7TJh`6K_{oCW_g0} zRO#&O*&tJi9yKpqoLJYLp@;;+)wiB5gXl;Fg`B3H70!{{C*4ir*dFtkz6Z!j&suc9f98SWIl)^D34G`}18`@yXitHL;hI`dJ7R$#E3KfGUWfc}z2y!5uuz zCTk1i<2*Ky&l+|S1XL_79E}}s7rM4+>Q?8cB!sHH>9_6kfk0@+^2-A8x^knU}ZX9$GRx_){u(-f0Tt!l~zt;a4)YZ7J2hkFzR2) zx+~u}W?2K%ETMc>r{2YXEr5*XHPIi&vV;lb3U@Hup%!yy2UeaOH6kBZPvgyF0yf6w zwRX~AvYntD1t*pKT=*i%V>)n-D9_^tk36adi)(@z{-e4OYHW6j>Hh$55B;8k@49srq?pT5UUx-PVHm`1_3S@%%0)ps8z$|4GR9 zvk`cP4r&;7UK^KAi8Lgfxjpkwnj0Vr8Z>OzD8pM8aWGi{$DTX!2=y)|3qKW$8#f+EQt}V1&5V*m@2es3;c;Yb^3(wfvjA2pXUI5H zvR&#Pyj5z&1`weyv`}bHZ%^un4$eWlY=$={-y7?PY7NMy-8{6zQ3kE99atMz@D=M! z|Caj;&I8veG+(x)q?UNyFXhrn*^fnMB=L!|JEdoSDjsod#c9s&4{{ot$Fv)HBkW-p zK!(?{Zv}wyKa_IH1(;z4D}RAK&B>{y=Ug>H|A?;$&)2Gdn%!|2^|c+#F|dExlUChOxU4A;_ydu z7)+=boClJaDh+b=Dg=gu&0}zZx2(V>u~#prgC&FctF|tPV*L6a|JE9gA6s|Nwu_Sb zC56F$ItaaS^_tWdQ^4fe@cTK2i`_R7o5Gadv+LQTn4%MC8yMS6l0!bF^K$roBkaw& z;dco@^`A0up=056Ph+lq@-}N=Q?Tfe|DBOSk4Z{W`WD$OBar@Hp|f+Wu~Na-eSrqs z{Q>VH167m|eAfWUyxD}ulXBfFoYgV#V&C7*M%Iu>s5*uQ>Kr_dfleDl5l2?&V!k;( zBAV|S)|p)7R%Ko@vNR>1M6ST)eeubnHf#JaU6Ocygw(g4Te}mV*n`sjuAr6U0b)+M z!a=d#Wz_Su-@YOJUZXTHdU{xRi6(3}yba4lzt!^YRl?3zs^gJ(($iv13k&h^Z;Yi6 z>2)oUOpA#;BMg@_{BR~DB4GoYn}`rf?U3pI&0_FB O2eCA>BUYKX$NU{h6^e)e literal 0 HcmV?d00001 diff --git a/sim/public/blocks/iconnames/scissors.png b/sim/public/blocks/iconnames/scissors.png new file mode 100644 index 0000000000000000000000000000000000000000..1bfc69f4b709a6ccbe852e930f810c094148d12e GIT binary patch literal 8213 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 literal 0 HcmV?d00001 diff --git a/sim/public/blocks/iconnames/silly.png b/sim/public/blocks/iconnames/silly.png new file mode 100644 index 0000000000000000000000000000000000000000..6e6da715be4c93ee13f0c586238283574eddc3e2 GIT binary patch literal 2560 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 literal 0 HcmV?d00001 diff --git a/sim/public/blocks/iconnames/smalldiamond.png b/sim/public/blocks/iconnames/smalldiamond.png new file mode 100644 index 0000000000000000000000000000000000000000..17ca5b43e5d986556717ba6b5cc6c6fdd4c23816 GIT binary patch literal 2582 zcmd6peK^zW8^FgkYh$uVt&*){{8WB3$xBXRr7R?BA~8cKF?nl-ma~mW%Th6Kk;q%# zQ*C74l4SZ>HidCgHZM_m4W~L^=UnGp=a1j@`~BM=&vRe*bwBt0+}HEm_vgBkoE&Xc zl{YJcKp@q_1e;@k>{wk;2(XvCRon)FVA8`jcw!W3D%*%cJd8*fP_N-=BxI9Y_CPXP zx9LcAnqZs*KUI(^RjiogJuNn@4HyaZq>qWaktiB2y+nO7ft{Ckh$39Yv6sG<2K=Wi z`KIV)n;IDX3G<5ze1CxTuZv(DRI2cc6~f%OLo9Z2FF!FpGc)u2oSK^2`1CYZIy|hV zl*Yd}%8g&lz>}Ut-@0uXvtZkAMgNW9C7{o{U~aJgvPvc+*NuOrdqs3lA|hk1e=~e( z&|s7p;+5lezo)4mm#Q!_;sDpKSTNjpWI%X`m%8uch4D&5uY#YoC^}6ek4@>~N0;bd z(8HFFDd{My&c(FHd06tP{De$yp!B|W`JJHiMeXQk4>p>aLEa1;DBihuz_{PWY0{ro zr%K&p7r`vH&-1fZ@pPJON2|cDt0d#YSZPaI%+rsj7gzi`lAVnbp_JV8^Q1pxy|w2ERO2+Pbcu^( z!BRh}Gc^M5ZYtOfyCV^TjhZXgcr(Vj3@BuTUgANNpKmccO?527x;zUuf`Na(B8JV~ zeE|54h?4%!a^pSaJZvatc^EyBY-^9ZpHw0d?tEl&Q+2u*`F`as=R`x;fQ?}3*1)|F z9$395QGyTAQ>{i^pz-ZpY3{(3=@U}rt7Jx<)ibu3isd&thL~nW{ARfrUO!N{XkgXhy*wqa{k%2=A(0aoqs33(L|yjMa;=S< z8hFbg)x?!|q5-QQ`oWd|;8^1_4$lC>H-jfVuqkd6(EU}Wik~R& ziiS?mjPb;lcDYOQ)mJaxe$mOX5{=$F%ZtOikBw7ZhJgC29#?h2y?U?N%tbqJt~@Le zFz^#^#Dhe@F;IWYkh7ApgQw;dSPQr$FuUI#S&-%-wY+6!=pYU?t$(U=++ROgv816W zc68y-S~%6~l%giy>vK>h6eX0JW-N;4?6>3}zT|Nryk2^*Z!$94xoSZ^OGzK9UMO;x z0neF>7TbldQ&a*fLIHEF%O1q+DzhAJhyy{k$F*Ij!N?q1ojhwJq6w|UG2dmV0N+)) z5Id`=h%5l9+sbs~@G|l35Rx^Bx!!uDqXEEGL;tK$1xn^960|bXL68jBm`0j{0{j># zNoQ8Q2|XM5(##MYhgU|2o+c?GPm`vWWdGxG$9~j*DU7TR?_J-um|UHItC$ZgXYbna zE=O5lKD|*?R#x`Fy<9XpI(p+KN?Thbm3s080@VKaOr@aVwU_5o@e~t*layQdx1J`S_VEM+ik9&eRCrPa8IH|f0AMZb|LE;6E&m`2FK$hs{ z1)7zErcOso{y$i90oY%wvziX{Mo`~luG)Z@Hpi0Pr2zDQM77Gid+XA7jnd>Ui}V;f zD|=}GB*U-py*?Wf;-yO*GN@b-%MG&l4!m$)(OhjWFi%hi4cL-R;dRwUgn&_8VkHPb z$4Hr4id%D(FNeH3cq}{X21=0ywP6z-A3d-TJZ^XcYw`6TT=-;0zzrcWTyoBf(RIn! zKMpWHX=ed{;EK|&{s%Fx#{R=4QS+)91g7UE52LmDykB{UZg?gWsvK`z&h|U*_3OCD z^!Bd?k+Yq_@@rY6VsSV3=(x*}K``>*o(W`Xlc0oGL0i(G(|~yoboij7O~rmP<9BF; BxQ+k- literal 0 HcmV?d00001 diff --git a/sim/public/blocks/iconnames/smallheart.png b/sim/public/blocks/iconnames/smallheart.png new file mode 100644 index 0000000000000000000000000000000000000000..b952a5d448715ebb05deaf034763496e8d6fb1de GIT binary patch literal 2608 zcmd5;X;hNi8b(7zL!nF$StyB?Ll#~=PRCSC1JhcCmRiapbIJiJr%)@CQp+r-v>Yk{ zr<`)0IGxNKf-EsJO(9KjP6&sb%KLflJ%8@HfA3xA$G5+=-@TvrU2E@WKhJyX#BscW zysA711X8dk*b;$%=jI260ArbJ`6CcW?z_D$&iOLwYi=dQ$pI1fi=3UdLO~&Qs^f{n z1@lj9P%&6rOSu9e7$yqp#h3=hohP^U@3^I>d-y~_C_-nXeI`HlSH%j;0}cYDt%pXCv5!uTan1N+ z4Pg>)-0*Q&tn)Ls7FEjIR1?SrSEDRu)sC#VWA_dLC0X(Ev4;7va(CyNi~ukzVCOOQ zNBP|a_Wh;Fl6JIl)4IWJ=VvWbl4}TXwLb3h+W0Zq$`2FTs*p-$YfiRoLExgF6|L@XVC<8_F$bwVb4g<&h6OnKVVG^3qWXx9VFvnt!x-jtnDq6o1gw35NCD zW=nP#lR4O~Ivy^AtNUP+KOQ2x0q{&$$n<(3dkXEO%v%XFC-}aA-^~Q>t8R6-U7EbH zDc?qRM1@-eF-Xvv(-3Z6S-j%*J0=jhz5Tqb@ zGi5KETC(Q%c(@yd7?YFD7RI9Tff|?Ek3|q<0#w~EB2hOK8QQyksK6M$g#$W3V%`Z# z176p)wfiY^5*>;-HR5M-4xw+xx6}z%d(d-{QkN)Okd;?zPT>3|#MFNdZ>}0n8GITW z*+2+MRDNi3c$c$xYJ}5jo&t~c`CeY*nF?-+u*#wWxmNwyPm)n-<^K>kzt6bdqt)A_ zmBCnojAq7|Rt!$!|L(pEz#rvg*VIf9g(%;tE){zLqqG)xjg23$L7** zybaZ)QAarbINWCg*6D1^;}bmp4e&hg^UM}A*9_*M1n3|vRUUj?=>^&u z0#@4-gVTmX$q0Xtw7GOB0%a1e1%y(eUEb3`^#3=lA81}`-TR+1qZoJ0QMhs~3Ppzz zjiwtIxQ4i!3Rb3bk8(oM{n#&mNC)iIyUPE{No?67Vo3VNuXrJ*{Mvap!_}?M2vq5_ z6=4gGBSq|5TKvY{mup)mvMU2WKV^LD>yv|2mX#c?nM8r^*zq$Xja6^(qA90x;)M2~f|5ABtPVF7xQMb1>WkxelSsN6#D#+~Wq zjqU8Q$+qbByAEIzQn2t=pmaIs6U?6Hab9z zI_W+bo-B8$2Ea`jyoC`r`Jk*DUGjjnc`~``OoGg=oC6!OIPBo|8}-2g3#@m^yOTBh z;c5!)(a?j!E=)cBK36h1{jc^279?iurZs4a55f=j&?2~OU!W5N+1nkrEw>@Z{u9<1 BxoiLc literal 0 HcmV?d00001 diff --git a/sim/public/blocks/iconnames/smallsquare.png b/sim/public/blocks/iconnames/smallsquare.png new file mode 100644 index 0000000000000000000000000000000000000000..c9704a26639427cff1eca34108109945a217e2c3 GIT binary patch literal 2610 zcmd6pdpy(s9>+&(Op~EywJzV>ekHjT3%_EFkxTBEkVQBZbE&0?Xv+^}h-|c?jND=< ziI!H0SWCI(E@@<$Te+9c*ZG~td7OWKkMnq($NA&@@%elnpU3<2{#;-0=jWZ|U{8>h z*(w8pKxD10@J?X+daX#qz`D$%JO=`SFInSpE*FlAZ >?U3$GA_r2C{|WU1^Wz3Le&=&k0Mzc}U8|)4DqGsP_TuQ|fH8Z?$zt~H#6;xih2VDs zzwa&R-+T#xTxLUaP9TleNv10DfOAsN93YIC*52M;<)PWq+}!-Wg2iG*kjbv)9FEWB zg30=blfyB@v=1C#=2&a4iS^3D)R3?#b!QA}OEo+YY(&{CPz+t{Ii;1XY zEDWyR{YE$|Z?hdIZIA-tHqAJ*T?cKEnPDSyB}94+wvg|Hh3VEcGu-!6w}`YrKq^y{pcyxqO=k9dw*}2z&Um=hl!c zd@c&Kwh@?wNXPZ8TJP1J(C5pK0B+2;Ktbtj$9B)THYRzqAt?BQ)&aS3>MKbabrfrvREw zD5T;>B~o!3wcobqD|DFf^R}{5J@N+8c<6kjA&^mT{DxE? z(sX0Re1%OrD_g|ou#%U-S$!5W_WdaVcK3?7OBq&#{EHz}=y3#PLzEn59G+;4R8K4m2zGQFN@8~jpz

;L4Kz zRM3B)|Fx^j_S>o_0~PTxcN)5Oi1YGfEC<9>U zsfqaxyNG;2;oKlIy1@|W&F@w-l#Mhrs@8SJMl$39XRDi1TiP?DQlgYCt3Tbr@giMGezU>@ zM4idb8}x1rDR*m)^)ub4TGvnQitnp0pFON29ZM}M1I&9q9>N!izpjNOzVu)wkcuETG;sFg)L}o4 zMuCtSFKvBJDk1J?dSwC84WeEeI)CqE-t1ajC%_f{Gi8|VGitZB$0OR4;XJ_q%Xpc;`FQ0H1Lw zQdS^bqEH@qGnl9ktI<9jzEt^7UH&b4>#91lC-7=r;}!htmKm zRkcBFxL>qCj)Tx#O#Q5nOQKad^S8KE2&_1+A)O1V;kek4vR(q=B$1>>ffLiXy=P}- zB+>bj3O2I}Jb+R?_8A3^TCd9ZtQLoxJ>A;8SDKh6W2M<_1EGEH%*k;7i-j*w!+Ly_ zr-c*uxjtnrlM8oq`EzyA=fX~{Bg^d(j?7KNlA>f~$tyZM2h<+zl$F{6hWmcsZ9%nh z^tyyz%HrI=eLJtPSgcSaD)IL9{YAN5N=V4IuX^E^Wx5wq{~ zfGx5TmklUaJmc$v57lMp=h9($ZH))PfAS!LVEU60`m$dOM8Z~b%~uJvjNYLi`#EMc z!^aS9$a`rrG?y2jRNT~duV&ZuA3k}<=*=IsKAWZ*#2#HIuePwX$Mr>rJzhfPFaJY9 zj~JB}|00g_UlS+ISW>i3&EO5llX|ve37lz!OSM=cJo1dfA=-Fy@_;%f#{nD4yZs)(_ythee3x$VYp6Ln0EeRv5&|%e-)q zByZz*iclSCu>=SgIa8ix9Ncfj(nSGONz%J*?UoQ)_hb3YD-f8q@`0v@@;tzRgjWOq zu5@XEZU|H-k&bb+2GyWycGeanf%sp!0zY1bulScLQG3FwQ}ZV0ZF5_SKp-SW>H80j z9ID5V7hIJ$OijnK!-h7$U)9@8UeJHImO>B;SA2BO`%1VBqVqY2rJfX11>PhhfB&>> zBTFCg7ECrybsu23cy1NE2)v43TitB^u0oBhw5YZM zPf;U~@#uZntR~&SHm_A?jXZ2V`$-YFAFW?fTz% ziy@U7_-Fn=AO*SE$3V}GMoiVTI$@ax7sd~Y!mK~WDyz&>5<)2oU@i!;wy?*Sn-Qsh E2XVWpR{#J2 literal 0 HcmV?d00001 diff --git a/sim/public/blocks/iconnames/snake.png b/sim/public/blocks/iconnames/snake.png new file mode 100644 index 0000000000000000000000000000000000000000..112af5fff067c9bd1e57cc05ba9cf0597b31cf92 GIT binary patch literal 2676 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 literal 0 HcmV?d00001 diff --git a/sim/public/blocks/iconnames/stickfigure.png b/sim/public/blocks/iconnames/stickfigure.png new file mode 100644 index 0000000000000000000000000000000000000000..93eb314e67b94e123b68c6e8468c4aa8d13f9acd GIT binary patch literal 2806 zcmd7Uc~BEs8UXOn(_j){h(txfh2}6QhcetKLU6c2P(%(ngF)obh&Vt{$sr(zgy5io ziI5!#$}NWo5m*ET2|+1w1my^VfUFo0kTV?HZtd2Vf9!14?pE#o(XYF@-uGTtzpsAZ zmvYR-P8O|*Mj#Nf4))e=@V(>fg_MHFa<7U!1OnaUU~T0d>o3Z!I3mW%zDatGIEubVHeXYb>9 zYEbc7tq*oDG;=7o*{?fC)dCt^;>lMGR|0))-`PX+E519@61&dS$hlhV{=RxZL~I^r z*;IVW)t#AX-U!3#IcJm(#~X-qTUC{2Jf(UYGr)^iuj;Z`EKB0*+?<-LtLwdY(-sCk zLS>rFh5gerLpQ<>o_W6>7ZWbD1HAXMv={>-k6?x1EZvz;0KZ*aD_2fdXYQ43PP>M` zE0KY>t>*~FeuR)3S=0r#sv%E~uF4G63KU`EgN~liw1Qqy?Vz=%=s%l>7bI#FB7>f@ zQTfz3G#1yfuZY1(!DmD7{oGnw`_FDa;$hbMiwTyCjuxvrV-D3QDkBq6ZUq^(-Id1u zlQb*%<8vUZM6yZ}N?$e>Yz0yOokhukT19%BwUoAMi&(?069tvMjpVWD{7!Ow(ABBS z-k&?p9dAoj;pwI_YJNdDDg9Q2Ga{Dqt(UK#v}CiDRvLXfHQV|*gaW=o??!^BG%Z10 zGY|(LHBQua7~MetC_9(O&LGDAZdhixsRSs`xI@iBLQLn^YJC^rS-Z_747TE-oD!Rg z5qOsAMc|AY6|a9X&G!ikVqO>nyQ~p3V#y9(5*81QbfB_R5CGp@_oA#O72leP)x%1F zH;Ye=DY_tjcVn6fO~wiQHpy~Z7K;VmQq_5{Ar}0fO=IaXI$p z__$48Ufv5w=` zz&e#yu*#rxga#XBw0ic7On5=M@=jtPESS7|_7WlcueLe=dy5{|VR|Sh6iYOW-S`BA z7P`icJ>&|cuN($edY7u-Wexxz)q3p`z59Tp!G--z2ZMt`U^y1d!C4^`tDARF~+x?&fZvnJ-MfVoQfK3n!Xs39<$mO z`M0Fe35-HWds!yQHuWRWbyy{e5p_PdhKkcqX}>8ZGjfL&Nw^L#yF1HKxQ-Nw z=0n0xCEC;8>l`nBtU8nUHEKhuiUFZLY!SlXwKAcH&>5pW(z)16Klwe$f??US;;9q$ zD$5jN%Ev_qXp?ZsxsfO3!dptDVs^KK1iEQ|`wShw_Q^c&Yoy$Gss$V=BRZIhY6T;W z7=0*OEPrLK3{E|Z7q1)3BujU^A!D!!sL_Z&aFl@A$oV*L^8Dj0)}=j`Q{S22YJHT! zx3DT}WM3Iu^cfb=?auqD%_21nNVkpa`?-GiCRoNq?e)r}Gf`3M9G24x*GoKKJ2fU9 zP8ke75C2irXoVpIa}0xr(DvC6oDj4JK9|o|KveuTrd}uuR-$fk(ANq<+Y1qT_QOh? z7x8#>1aKVR%JqYJ8tRXVl7xApCO9;}JT=sQm_WlkNuYj?hIxt(?|!}=<_VC;iC~^Y zy?JbHB!rRFaPHqj#rKyVHu3x?8$V{_ldjLIeADh!tp&G;HDf1~u2Tvx} zG;;~{$M_3eJBYGWmwZJVy zlKMu~FivdoxvfZGHYVeV0lN}@ihRHumZa@{n=5Dz3fA6fS(PR0!M_2YZ1Hc7k4{%# zRaM1+`BR@9J&@L@n;b94W1B&@%U@P+7!v7vR-IX4UtZuMKsx@0uKyVZK5K0`r4Vd$ zEz>`i2&W3po*?~pFb8t!$c*n}+^ z=tCWodFe6p0DloV8E$#A?s$&Nd=M>GIgGM4@5)z_%a%b!J}?Qu P{Vc-4#>KkgNFe<$iOT!l literal 0 HcmV?d00001 diff --git a/sim/public/blocks/iconnames/surprised.png b/sim/public/blocks/iconnames/surprised.png new file mode 100644 index 0000000000000000000000000000000000000000..c753f2a87fc01111df92a1d4d70af3f4e85849c1 GIT binary patch literal 2664 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 literal 0 HcmV?d00001 diff --git a/sim/public/blocks/iconnames/target.png b/sim/public/blocks/iconnames/target.png new file mode 100644 index 0000000000000000000000000000000000000000..fba12e6b6aa8ce8ced7a2cc91a35b437fa5958b9 GIT binary patch literal 2779 zcmcJRYarA6AIE3SEY{i-CZ-{Y@E?iJB*w@ktBD;%x#gD2p;4z z4g6d8J{S}@*>;@AAdqODIgwy<`|2W7lO$`2jFM?9Q&Wx_u8+D4FFTO+q4*(4`2`FU z7^y^EhmEQqr@l%t78AeWZa?n**gjz}qp+l=@Xq@kzX)RRt&U%J4Nk{vHQiel)_*6Gk6>*|8ZhSL10(A_b5 zP90yLbS}*1Im4BpJ)#Hw%-evkt}hP#J>DE|ptbXJ=k6AuK0MrU*R*}eHCgCm*Hl3^ zxh=Bmwt(Zr*mz8kjE{_&2&t85rU{$0>(vnQRz~J7F?69TLCfVgab}ohw0p!4NBmJ} zJ(dHhxCI@UM94-F=4}j156N-odsSSL@n1Ay5A8JG_lR~VsnpAV=FMTjMVBM^gr|Sv z-zY;;?4GB5|?r%KF>yxg!ZJQNLm;i z!$RDK8;JyxA5*+E%=aU@rmaL!hD?PBgqCpMioPZc#RdQlIu`KG#5QT}v?*kw}W_o1J01)(cN;?u9)Ueeay`xU&mm*XyN zox=ckN^{w@>JB`!*%b`;L*|zpX|+kS*o-C{FuviL8j^E~&I_HmuE|GSgQdO(>{9D5 zIB_Akc(KFeJPAa9r8rY(2Em!Jd{RpFgy7>zkM=2|>aZy#CY&V*E=Dg1kw65|i6xTN zHHYf{J@NfzsC3j(M>b{7xB5b3r`r>&fr5BxxB*tcwdk1G7&{;yd=EkEYy`R4M;w*) zl&%XI+L&Xlf^=5p(x$cFcFM^XVmi)rTyMSg66W`5XLi*(tQC?nsV`(xpXm@9{bVVL z4=Fi;7SGr~5Z0G{7NNp}jLJ9%+^SB7-rW?+C^gx4vhn~fCh^LWDqP`M>n)^wk*5ne zu|qMlYy?f*zaTG5SCdo-8d{_r)(yVY`ygeb_x%~3!9zQvB`Q+>gdDef=Q7kGdJva& zrJ4Ck*0PO6rmbO!)_*B$QjtoyH}vgeh9cbk=WA8xnP+@PsK^4NIjn^<6^W0r(yFv2 z3!2DlPw6LuEkwxRe1HMpR4zO2j&f3tE{0fq86P8##zY`o(-Qn_d-Vc)dGW!>MKL8E zTKW}_kSt&+0vvt7ergw?9iO4!^;^Cb33V;_K|7SiCAgDKs@Axzk1my<0*(w55 zDMn6f`2iRu%9I|F4<{T^(a!Q#3@7*w+x5YO;N51q)fZ%h;I0$zN=#wS$)=(m*FVFY zkutiJ(?%e=wzZc=kLi~#Y~wP$v`>|(p5?tsTPUBap=zd$iJ;cxCiDhItDdHvr{m6f za#A1tdX+sl*@ewC|Gg^o2?>mFW*Cp?4c-vR?yI!Cfp61ly`&apIAc!H6FnuU*zS|0 zNA#Op80^M+-joWXWk1gZ>n;CBAZmEn*QH+AcLJebQd*FCPf%RjU;!6o@WAef?d~_(g&=t9Q0Y|< zFZ$n-#Nk~?4(2m1;pX78fjKJIECAy6JEvBI+3CJ;v5A+z#Xil%ozW<H;~sx`iP|heLBw1Q9-c%N0Cu{&IZTTA=EAT9-9#o zqgqi!b3+zfpxKbYcVR79AdrUl0?7(<7}!kxms$uxr($NZ9)<{;x3{x#TZ<`prVAy5 zCs1FNh5W?ITr{dw=P`-Ac5lP-G|K3(dc9|;yMKz40EMaj1?A%Y4ee6cx zKib*jB*&xz_rfCH_f(DIr8M-OHC*fdp6dTUZvcFS*-c2Vo5fO*40qqsyph;^Ac4s9 z>4-dtsYovU(=oRz65mL&rvfd(7 zEwYh2_MpTDMI7rzb%0&zzF}VLU<^++vFb zAPsCD^(p`h?%G%Fp(zAcFg0z1J1Q zS!*sx__&4PUC-aFmg-#4ERt{qehgJgV%}~lX~NK#W2O}J*?h-TaoM~M20|emZvvE- z%a<^thk&ejXKRf$I#~feFF9z$(8aJ|Av?#ZNd0p0lQ$i9Q`Rc^nMZRe z*?Y80KH$=N5XDcU+#~ b4s9Ns#~*IXYYHj`N-N0Rghb>RIY0OZx0L+p literal 0 HcmV?d00001 diff --git a/sim/public/blocks/iconnames/tortoise.png b/sim/public/blocks/iconnames/tortoise.png new file mode 100644 index 0000000000000000000000000000000000000000..c46ed912c0d69cf03dc4aa94aa6735fad77b6281 GIT binary patch literal 2590 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 O6?XK96|UU$Ox&Nh2p9JN literal 0 HcmV?d00001 diff --git a/sim/public/blocks/iconnames/umbrella.png b/sim/public/blocks/iconnames/umbrella.png new file mode 100644 index 0000000000000000000000000000000000000000..24fa7239bffe2af908b1a736abc48de8adc25b05 GIT binary patch literal 2838 zcmchZYdBQ<9><40O-3UV(HQOa+Gs=>liXvR)tNzZiE>F~+$YyfqmWys+U~|Bnq-fL z9Wm~Np-q$9xJ4QwWD7AhY}<|~Ijg;&r}I4L#Xc|2^PCs!zt(?!pY{8__Y zHj|RXO2S|;sgvd;JLum1<&r=^Yq?X!PcWF|+^xh zteNs0qZaUU%r-I5;jk>j#x?hIBUh{AIWc8voK(zT=K)<^T^FmJiV6!09fPC7!_D>d z^cI(vg0SRHj@$O9VNAv^R_R&k-}Q&+d^6~pRnx=D52z){mb-!p+ugm*mV+EMVcGGz;0=w7i; z?tSXbrAT86-%AusEIPm7V3Z81^R$b20JG|Y>|xpG(p_w9-cz76(i5#rAku$RAo(k3 zs0;J-OM`F;)izAPlwyg-C5&h}pM9T{s{1`2bgkTZgvr^OoOKLp{Uh2L{;5ZUtKks76|mwM z)O+xQ4`oBFrC0?WQ^v0%`ZkXhUFr3X%&T7WeL?-*-Dc!-!PTCTimc-;ppXLWf?rUL z0~b&dpWx(MW;<~iAsiV%U zy$W7!eKOSYv20U%LuX_{W`uM#8HvZ!1aeAqJIxwMtp-yVk}zwgU>>U>+=Zm?UFT-Q z=;kkG0j3@zgSl@<&yM6xTw19jeee6G{VAXq&90zNk#63SOrMP>N6VTCQo*FFt`>2i zN! z*MuC6-|2}~$lrTtwG)t8o&lODf6m>LF>@hThJr@s?N@;ktyT6vz9wv9F8ydiinU~R zL@s9b)T?50Tjd1%ys$bLv?wIc_di2Ca!gVZ92Adrah01qkDa))RoS28f}aQHCOBqr@>PEICz06$peQhUs^0 zVD#DA8814VU`{8$$yh~F7*P&)0~j#G#i|9PP@)(r^J!9+luR2SC7*9L0Fm|kxsV!A z98>g|z1qD2eMUTNt!oaWYdg^n7_eXnzHbK~0aZaH4=BHpZ38wq|D}0pWT;cj4^0<} zYX$03+Xp_5U3N8mML($EX&Bq^%9FuV$A(1@ST_1JuiXIC($j}Ms?E*J%qo*2|Lqsu zp-R{NRt+_AqKC`F{J!MP17l{d%Y`xSjN##7T6p+}-uc$nR-4h$(W~AJDp!twYoy1lU{GV_|ah!)86~oWP%RPi=~66jmy2WPXJ8& zt+@C7)9OpNdI{Y|a#d@{SdacQs*BsE6c%I<#Xwx2W<@>K+YF|?Os+U;=@LiuDiGs$NrxLOK z?tyhf*R6Mc39WBztYC57M$<yuKJ$R}$`BX=>dbDRa4pIEil^~f31{;k12 zQ>8di$$nS)5}c55JQSZog3(E(^3Ib;3i`^d3nmeUNIa`i$Awr}>TV*)h@oU2I8(zQ zk|r`PxvM}t+SLyVtzq;=p_=!9x~}{0o~BdK%kH^N^WhVM)rC z47HN9H|>BWV+H@<2i`bUu7Z=vgHpR4&BjRC_5qG59N`}Se4%h?|A?ug)dH=p^kV}P z`bY8f1+R-oNi1L}+(e#N+T0DeZ4xy;^pwx)bO68QoHp5&*&5m_b1n2k4(hjugLjtS z)z+K5?8iMij~{-SQg6cI;-e{|beAS~k#vi9RM52}X_x-lPu>GLBEkNjwTjSaZ{A5( zf()~#?52+%G+HU0ePqZ_N)A%}K@d}le)uFvFeDE4&ZGndt@qqzZwADala6*X#6wU? z(;+2@scJv!Wo3w|)0b>X5K|t4!FQ$*Q}^cC2@q55rT4~CA*TMW@zWe#mx|HFfO?B3 zC$3eq0!M#dHFg>&P|52~^&cKtO!EQT(ZPcA8pa_8@Fe-J$+c)hW<hxO~ z>al`EaSr!rH|YlER5I8pVYPY{mC3(lB6SShn!Q~=)Du*;FHq1Af6z6Rorv_{*^3AW zK8X+K!#m(7-F6~uUr`tE{xqHOO`OB>gKvEW{Vb>Y!wjZoY4t{>6LUw5Q722?l(PL@ z7l3Veb_i#V15@&mNl$?&gqpvc#vLR(YbPNyPco31NTF&M$IVE+x%@(%z25ej ztjKp(OtuaBt)rvW4>+R$foomeufo+gw6#$;S>iyrpZCRYxLr-5GbZBO;vTvH->mUP RHFVyEog`b6Do#-1{{@yX8cP5G literal 0 HcmV?d00001 diff --git a/sim/public/blocks/iconnames/yes.png b/sim/public/blocks/iconnames/yes.png new file mode 100644 index 0000000000000000000000000000000000000000..9b37df81cf12f74a02a8dbd92ff4e7d5848fb418 GIT binary patch literal 2610 zcmd6pdo)!28pq8vWsfqACimM!q=ZsK5i{dDlS`#sBHofqxyPtcdhLvclXP6Q~5{7t7I9sdru5r=ll6RcTQTG3JXaI z2?z)XlSxKa(EZKE32cF`C3a692nZm*lZ}XHs7^DPdOp%*^lb-lmxSg12_Xr-M4NSa?|S$ zVd5yC$f69o60U`MMU{mlHRasd+r!RoEZch}I#C<8cO*2sp!)!ED%Z?`V?l_F;ZWyo zws>cRwF&L@h3Ag8aMZ2p_qB|_Cmt}rh8Xcq*Vc`Af~WZ)jQRxj`pTtresk|ANfM0R zcTt~tpZ_VI%WiwdpY(8T4PUb2$qb%vJW5H~O(2*LhN`F{fC$k&9T)Bizz$yCnp=#< zVr?=A;bb_XfuR=h)BptSuE1rLk!W;6C6+A&gF81O|CeH8(K2&fjCR3yUEtsgJ6Oy|$FuH89Q#wIBcy zUUe8-3|gPIJEnu#@={nTi%3;^pf!+cBNAthHD%9<-90~TKA5HcYc&8nN(4bP8g4*{ z!OT^T-&if1w$|1KejgDYLY9XYDlb;h%4mgd4+lW%4YV6xbkgRX>0Fa87xi)G6noV! z+d&)4qc$VPxB;<4pPdV&5fs2hmq|2Lcf@9!W#d1)S2%@N-8H7_jr3=&86|keta5O7 zeAWOz^<;ee$zl=+s?-%E;h~aexvSVfjj{7W7h4_%|JZ(Lr|J$YHnQyUc&q?yenK)* z6lw(HekR`(1pivt)))zOkAj!|cSQo>XAs@l7>+O!(JJ{Vg2k>KGb~qt!E=Fhn>7H9 z4tbDc7cT%i6=tCt0%`tJ+V&jlkiT9Jdx$p0B)a33aTq z?U^t0N7sYbyp{_rRiqIO+*{{YZWvaz{cMz}?VXkL)er6vInrsYvxf#!b*=o{Hx277 zh-2cM1_owIVrt{nJC902qMU{sa+AHO_*qzd8xqDzEy{Cb(5;iD0bpGk)+4za`?#8x z_}f(*R&y1ccaz8>QWWbQ_Vb({S!Ps;?}my7yg|YdVH*Y9QOTY06$&QVM%R}~`j%6K z|&5x7#y*2mrwe=K~~sST&-Gm8F>0=##gS4-X~_C-NXpaDC5`_ymgu>;lv z2c|Y1OB!dbiJGkeDA8Q;sHTpm6fo?DvRvzhSFYK8fy^oBkxbG z=|JiWyRbe?%&0zAs$?l5Fl|^?Q=WVYO6qH1n|Z@YD|j_+5P|H83mh?Z+hiW zQrF`z`Qv@_pIVOMJ~H?y{MC^Bb<}KU*g`iR!FV=$j{o6qDSVcCHO*EIz9Yb6dDKUo zcSH|uj^PKq{NUIOnY??V z9NM>L*@qm6iDMp({YM&TlxN0@1EW50*Jp1gsJK_BfG(iKsZbCd7f~Mnhl1?kpm0rF zQs9DEQPlQ4>j9#Pi0D}Yp`RGJt+y+;lXzMLmviTgw(c85p;B@gEiqfiDFG~_MV%ni zMLUTt9hzpyM?P2M_V9k!FCE>Nc?$ZuxSPLF?yK?Jo?H2gSj(xn`4JeT-B7Z zb1??1ea4*FA^!-1PB3{h)$CG_!%AN{KK+|cjpP2hX=L+S@E4ZfyK+3I?OXF&t*%to z;B6V1hx9ZPIfw?aPjb#iL(Vp|P>h9~ZQ9pSYyyIXIR){i5K!_wFWEqF=swx?MiBxE z2Y0v#f`dolbI?^e#C;t;uc^K|5}OV*c9Q z|K`y8NxMCoyidEAV4nxTC3M&xx8GoI3 z`7pcm9^Z!_&*g1VmG8`t1(W4-F3Z|;hR1S*vt9)wZL{<((h)W|ix2n|AeqG|-6jpq Pf&ye?OQR