Beta updates (#116)

* fixes for beta

- hide blocks without function
- digital Pin selection bring P0 in first position
- add compass block to end confusion about "basic.showArrow(ArrowNames.North)"
- add approved repos
- add and sort preffered repos
- add prefferedPackages
- disable webUSB
- disable parts
- remove mobileSafariDownloadProtocol
- update socialOptions

* remove `preferredPackages` from `pxtarget`

* Beta updates

- removed robobit extension
- updated docs menu
- added about.md
- added arrow icons
- removed show arrow block

Co-authored-by: Juri <gitkraken@juriwolf.de>
This commit is contained in:
Amerlander 2020-09-11 14:18:32 +02:00 committed by GitHub
parent 7b303b0fd2
commit bad64f13ee
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
27 changed files with 217 additions and 12 deletions

96
docs/about.md Normal file
View File

@ -0,0 +1,96 @@
![](/static/mb/device/calliope_website.jpg)
# About
## @description A Blocks / Javascript code editor for the Calliope mini, a pocket-size computer with 5x5 display, sensors and Bluetooth.
The [Calliope mini](https://calliope.cc) is a [pocket-size computer]([/device](https://calliope.cc/en/calliope-mini/tech-facts)) with a 5x5 display of 25 LEDs, Bluetooth and sensors that can be programmed by anyone.
The Calliope mini provides an easy and fun introduction to programming and making ??? switch on, program it to do something fun ??? wear it, customize it.
Just like Arduino, the Calliope mini can additionally be connected to and interact with sensors, displays, and other devices.
* [Read the docs](/docs)
## [Hardware: The Device](/device)
The Calliope mini is packaged with sensors, radio and other goodies. Learn about the [hardware components]([/device](https://calliope.cc/en/calliope-mini/tech-facts)) of the Calliope mini to make the most of it!
## ~ hint
**Looking to buy a Calliope mini?** See the [list of resellers](https://calliope.cc/en/shops).
## ~
## Programming: [Blocks](/blocks) or [JavaScript](/javascript)
You can program the Calliope mini using [Blocks](/blocks) or [JavaScript](/javascript) in your web browser via the [Calliope mini APIs](/reference):
```block
input.onButtonPressed(Button.A, () => {
basic.showString("Hi!");
})
```
```typescript
input.onButtonPressed(Button.A, () => {
basic.showString("Hi!");
})
```
The editor work in [most modern browsers](/browsers), work [offline](/offline) once loaded and do not require any installation.
## [Compile and Flash: Your Program!](/device/usb)
When you have your code ready, you connect your Calliope mini to a computer via a USB cable, so it appears as a mounted drive (named MINI). If you are using the Calliope mini REV2 you also see another drive (FLASH) that handels up to 25 additional programs.
Compilation to ARM thumb machine code from [Blocks](/blocks) or [JavaScript](/javascript) happens in the browser. You save the ARM binary
program to a file, which you then copy to the micro:bit drive, which flashes the micro:bit device with the new program.
## Simulator: Test Your Code
You can run your code using the micro:bit simulator, all within the confines of a web browser.
The simulator has support for the LED screen, buttons, as well as compass, accelerometer, and digital I/O pins.
```sim
basic.forever(() => {
basic.showString("Hi!");
})
input.onButtonPressed(Button.A, () => {
led.stopAnimation();
basic.showLeds(`
. . . . .
. # . # .
. . . . .
# . . . #
. # # # .`);
});
input.onButtonPressed(Button.B, () => {
led.stopAnimation();
basic.showLeds(`
. # . # .
# . # . #
# . . . #
. # . # .
. . # . .`);
});
```
## Learn!
We have tons of [projects](/projects), [examples](/examples) and [courses](/courses) to get your started!
## [Command Line Tools](/cli)
Looking to use @homeurl@ in your favorite editor? Install the [command line tools](/cli) and get rolling!
## [Extensions](/extensions)
Create, edit and distribute your own blocks and JavaScript using [extensions](/extensions). Extensions are hosted on GitHub and may be written using C++, JavaScript and/or ARM thumb.
## [Open Source](/open-source)
The code for the Calliope mini is [open source](/open-source) on GitHub. Contributors are welcome!
```package
radio
```

Binary file not shown.

After

Width:  |  Height:  |  Size: 52 KiB

View File

@ -257,6 +257,8 @@
"basic.showArrow": "Draws an arrow on the LED screen", "basic.showArrow": "Draws an arrow on the LED screen",
"basic.showArrow|param|direction": "the direction of the arrow", "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.showArrow|param|interval": "the amount of time (milliseconds) to show the icon. Default is 600.",
"basic.showCompass": "Draws needle on the screen which always points to north",
"basic.showCompass|param|interval": "the amount of time (milliseconds) to show the needle. Default is 600.",
"basic.showIcon": "Draws the selected icon on the LED screen", "basic.showIcon": "Draws the selected icon on the LED screen",
"basic.showIcon|param|icon": "the predefined icon id", "basic.showIcon|param|icon": "the predefined icon id",
"basic.showIcon|param|interval": "the amount of time (milliseconds) to show the icon. Default is 600.", "basic.showIcon|param|interval": "the amount of time (milliseconds) to show the icon. Default is 600.",
@ -396,8 +398,6 @@
"images": "Creation, manipulation and display of LED images.", "images": "Creation, manipulation and display of LED images.",
"images.createBigImage": "Creates an image with 2 frames.", "images.createBigImage": "Creates an image with 2 frames.",
"images.createImage": "Creates an image that fits on the LED screen.", "images.createImage": "Creates an image that fits on the LED screen.",
"images.showCompass": "Draws needle on the screen which always points to north",
"images.showCompass|param|interval": "the amount of time (milliseconds) to show the needle. Default is 600.",
"input": "Events and data from sensors", "input": "Events and data from sensors",
"input.acceleration": "Get the acceleration value in milli-gravitys (when the board is laying flat with the screen up, x=0, y=0 and z=-1024)", "input.acceleration": "Get the acceleration value in milli-gravitys (when the board is laying flat with the screen up, x=0, y=0 and z=-1024)",
"input.acceleration|param|dimension": "x, y, or z dimension, eg: Dimension.X", "input.acceleration|param|dimension": "x, y, or z dimension, eg: Dimension.X",

View File

@ -103,6 +103,14 @@
"Gesture.TiltRight": "Raised when the screen is pointing right", "Gesture.TiltRight": "Raised when the screen is pointing right",
"Gesture.TiltRight|block": "tilt right", "Gesture.TiltRight|block": "tilt right",
"IconNames.Angry|block": "angry", "IconNames.Angry|block": "angry",
"IconNames.ArrowEast|block": "arrow East",
"IconNames.ArrowNorthEast|block": "arrow north east",
"IconNames.ArrowNorthWest|block": "arrow north west",
"IconNames.ArrowNorth|block": "arrow north",
"IconNames.ArrowSouthEast|block": "arrow south east",
"IconNames.ArrowSouthWest|block": "arrow south west",
"IconNames.ArrowSouth|block": "arrow south",
"IconNames.ArrowWest|block": "arrow west",
"IconNames.Asleep|block": "asleep", "IconNames.Asleep|block": "asleep",
"IconNames.Butterfly|block": "butterfly", "IconNames.Butterfly|block": "butterfly",
"IconNames.Chessboard|block": "chess board", "IconNames.Chessboard|block": "chess board",
@ -258,6 +266,7 @@
"basic.rgbw|block": "red %red|green %green|blue %blue|white %white", "basic.rgbw|block": "red %red|green %green|blue %blue|white %white",
"basic.setLedColor|block": "set led to %color=colorNumberPicker", "basic.setLedColor|block": "set led to %color=colorNumberPicker",
"basic.showArrow|block": "show arrow %i=device_arrow", "basic.showArrow|block": "show arrow %i=device_arrow",
"basic.showCompass|block": "show compass needle for $interval|ms",
"basic.showIcon|block": "show icon %i", "basic.showIcon|block": "show icon %i",
"basic.showLeds|block": "show leds", "basic.showLeds|block": "show leds",
"basic.showNumber|block": "show|number %number", "basic.showNumber|block": "show|number %number",
@ -310,7 +319,6 @@
"images.createBigImage|block": "create big image", "images.createBigImage|block": "create big image",
"images.createImage|block": "create image", "images.createImage|block": "create image",
"images.iconImage|block": "icon image %i", "images.iconImage|block": "icon image %i",
"images.showCompass|block": "show compass needle for $interval|ms",
"images|block": "images", "images|block": "images",
"input.acceleration|block": "acceleration (mg)|%NAME", "input.acceleration|block": "acceleration (mg)|%NAME",
"input.buttonIsPressed|block": "button|%NAME|is pressed", "input.buttonIsPressed|block": "button|%NAME|is pressed",

View File

@ -229,7 +229,7 @@ let compassImagesDownside = [
namespace images { namespace basic {
/** /**
* Draws needle on the screen which always points to north * Draws needle on the screen which always points to north
* @param interval the amount of time (milliseconds) to show the needle. Default is 600. * @param interval the amount of time (milliseconds) to show the needle. Default is 600.

View File

@ -122,5 +122,29 @@
}, },
"scissors": { "scissors": {
"icon": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAADICAYAAACtWK6eAAAACXBIWXMAAAsTAAALEwEAmpwYAAAFUUlEQVR4nO3dMW6cRRgG4G+RaCL6AAfgAjkA4k5Jg9JCE+6EoM8FOEBC+ihNiqVYU0TZeT3rnd/6/vXztB57Ps3odWTFnrcKAAAAaOGQPng8Hn+uqldV9aKqvl+8979V9baq3hwOh78e8gW6z1dV31XV86p6VlXfrhrszueq+lRVH6rq4wO/Ruv5OtzvMCDH4/HXqvpt8VBnt6qq14fD4feLPqn5fHW60B83mOecd3W68Eu0nq/L/Z4NyF1y/xx9fAPHqvpl9jt19/nq9J35pw3nOeefmv9O3Xq+Tvf7zeATXtXjDVd3e728YH33+Z5vNciiPbvP1+Z+RwF5sd0sQ5fs2X2+Z5tNsWbP7vO1ud9RQFb/QDTjhwvWdp9v9Q+8q/fsPl+b+x0FBCgBgUhAIBAQCAQEAgGBQEAgEBAIBAQCAYFAQCAQEAgEBAIBgUBAIBAQCAQEAgGBQEAgGAXk0jeWVnh/wdru833ebIo1e3afr839jgLydsNBRi7Zs/t8nzabYs2e3edrc7+jgLyp02Naj+V4t+es7vN92GqQRXt2n6/N/Z4NyN0Lc6/rcYb8/+nHv2c/oft8dXpB8N1G85zzri57/7b1fJ3ud+bx6pd1elTrknehZryv0z9rf1z5eHXb+ar549DVfL4d3C8AAAAAAAAAPDF60sduvifd+d1/fnrSJ7aqG+xJd35fGJ6fnvQ5N9WT7vzOOnt+etLn3FpPuvOb3FNP+jZ76iG/bs8256cnfd4t9aQ7v8k9vWoCgYBAICAQCAgEAgKBgEAgIBAICAQCAoGAQCAgEAgIBAICgYBAICAQCAgEAgKBgEAgIBDoSZ93Sz3pzm9yTz3p2+yph/y6Pducn570ObfWk+78JvfUk36/m+tJd35fGZ6fnvSxm+9Jd35X98wDAAAAAAAAwBNzX5Fj9//qbz2fHvL9328KSIue6qD1fHrIv7Db+x0FpE1P9UDr+fSQn7XL+x39PUibnuoFa1fRQ36dXd7vKCBteqoXrF1FD/l1dnm/o4C06alesHYVPeTX2eX9etUEAgGBQEAgEBAIBAQCAYFAQCAQEAgEBAIBgUBAIBAQCAQEAgGBQEAgEBAIBAQCAYFAQCAYBaRNT/WCtavoIb/OLu93FJA2PdUL1q6ih/w6u7zfUUDa9FQvWLuKHvLr7PJ+RwFp01M90Ho+PeRf2e39erx6TA/5dW7+fgEAAAAAAADg6Ym/atK957v7fNX8VyWc3xU96d17vrvPV016vkec3xcu60nv3vPdfb5q1PN9jvM766Ke9O49393na9PzPeD8JvccBaR7z3f3+dr0fA84v8k9RwHp3vPdfb42Pd8Dzm9yT6+aQCAgEAgIBAICgYBAICAQCAgEAgKBgEAgIBAICAQCAoGAQCAgEAgIBAICgYBAICAQCAgEo4B07/nuPl+bnu8B5ze55ygg3Xu+u8/Xpud7wPlN7jkKSPee7+7zten5HnB+k3ueDUj3nu/u81Wjnu9znN9XHtaT3r3nu/t81eDx5cT56UkHAAAAAAAAgMvoSR+7iZ7ve7Ser8P96kmf2Kp23PMdtJ6vy/3qSZ+z257vgdbzdbpfPelzdtvzvWDtKrvscdeTvs2ebXq+F6xdZZc97nrS5+2y53vB2lV22ePuVRMIBAQCAYFAQCAQEAgEBAIBgUBAIBAQCAQEAgGBQEAgEBAIBAQCAYFAQCAQEAgEBAIBgUBP+rxd9nwvWLvKLnvc9aRvs2ebnu8Fa1fZZY+7nvQ5u+35XrB2lV32uOtJv9+ue74HWs/X6X71pI89hZ7v1vPt4H4BAACAx/IfV5v6DSxvZ+4AAAAASUVORK5CYII=" "icon": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAADICAYAAACtWK6eAAAACXBIWXMAAAsTAAALEwEAmpwYAAAFUUlEQVR4nO3dMW6cRRgG4G+RaCL6AAfgAjkA4k5Jg9JCE+6EoM8FOEBC+ihNiqVYU0TZeT3rnd/6/vXztB57Ps3odWTFnrcKAAAAaOGQPng8Hn+uqldV9aKqvl+8979V9baq3hwOh78e8gW6z1dV31XV86p6VlXfrhrszueq+lRVH6rq4wO/Ruv5OtzvMCDH4/HXqvpt8VBnt6qq14fD4feLPqn5fHW60B83mOecd3W68Eu0nq/L/Z4NyF1y/xx9fAPHqvpl9jt19/nq9J35pw3nOeefmv9O3Xq+Tvf7zeATXtXjDVd3e728YH33+Z5vNciiPbvP1+Z+RwF5sd0sQ5fs2X2+Z5tNsWbP7vO1ud9RQFb/QDTjhwvWdp9v9Q+8q/fsPl+b+x0FBCgBgUhAIBAQCAQEAgGBQEAgEBAIBAQCAYFAQCAQEAgEBAIBgUBAIBAQCAQEAgGBQEAgGAXk0jeWVnh/wdru833ebIo1e3afr839jgLydsNBRi7Zs/t8nzabYs2e3edrc7+jgLyp02Naj+V4t+es7vN92GqQRXt2n6/N/Z4NyN0Lc6/rcYb8/+nHv2c/oft8dXpB8N1G85zzri57/7b1fJ3ud+bx6pd1elTrknehZryv0z9rf1z5eHXb+ar549DVfL4d3C8AAAAAAAAAPDF60sduvifd+d1/fnrSJ7aqG+xJd35fGJ6fnvQ5N9WT7vzOOnt+etLn3FpPuvOb3FNP+jZ76iG/bs8256cnfd4t9aQ7v8k9vWoCgYBAICAQCAgEAgKBgEAgIBAICAQCAoGAQCAgEAgIBAICgYBAICAQCAgEAgKBgEAgIBDoSZ93Sz3pzm9yTz3p2+yph/y6Pducn570ObfWk+78JvfUk36/m+tJd35fGZ6fnvSxm+9Jd35X98wDAAAAAAAAwBNzX5Fj9//qbz2fHvL9328KSIue6qD1fHrIv7Db+x0FpE1P9UDr+fSQn7XL+x39PUibnuoFa1fRQ36dXd7vKCBteqoXrF1FD/l1dnm/o4C06alesHYVPeTX2eX9etUEAgGBQEAgEBAIBAQCAYFAQCAQEAgEBAIBgUBAIBAQCAQEAgGBQEAgEBAIBAQCAYFAQCAYBaRNT/WCtavoIb/OLu93FJA2PdUL1q6ih/w6u7zfUUDa9FQvWLuKHvLr7PJ+RwFp01M90Ho+PeRf2e39erx6TA/5dW7+fgEAAAAAAADg6Ym/atK957v7fNX8VyWc3xU96d17vrvPV016vkec3xcu60nv3vPdfb5q1PN9jvM766Ke9O49393na9PzPeD8JvccBaR7z3f3+dr0fA84v8k9RwHp3vPdfb42Pd8Dzm9yT6+aQCAgEAgIBAICgYBAICAQCAgEAgKBgEAgIBAICAQCAoGAQCAgEAgIBAICgYBAICAQCAgEo4B07/nuPl+bnu8B5ze55ygg3Xu+u8/Xpud7wPlN7jkKSPee7+7zten5HnB+k3ueDUj3nu/u81Wjnu9znN9XHtaT3r3nu/t81eDx5cT56UkHAAAAAAAAgMvoSR+7iZ7ve7Ser8P96kmf2Kp23PMdtJ6vy/3qSZ+z257vgdbzdbpfPelzdtvzvWDtKrvscdeTvs2ebXq+F6xdZZc97nrS5+2y53vB2lV22ePuVRMIBAQCAYFAQCAQEAgEBAIBgUBAIBAQCAQEAgGBQEAgEBAIBAQCAYFAQCAQEAgEBAIBgUBP+rxd9nwvWLvKLnvc9aRvs2ebnu8Fa1fZZY+7nvQ5u+35XrB2lV32uOtJv9+ue74HWs/X6X71pI89hZ7v1vPt4H4BAACAx/IfV5v6DSxvZ+4AAAAASUVORK5CYII="
},
"arrownorth": {
"icon": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAADICAYAAACtWK6eAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyVpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDYuMC1jMDAyIDc5LjE2NDQ2MCwgMjAyMC8wNS8xMi0xNjowNDoxNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIDIxLjIgKE1hY2ludG9zaCkiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6QTg1QjQxRjlFQzNCMTFFQTkwMDREMjM3Rjg3MzY4NzkiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6QTg1QjQxRkFFQzNCMTFFQTkwMDREMjM3Rjg3MzY4NzkiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpBODVCNDFGN0VDM0IxMUVBOTAwNEQyMzdGODczNjg3OSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpBODVCNDFGOEVDM0IxMUVBOTAwNEQyMzdGODczNjg3OSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PrDq62kAAAdCSURBVHja7N2x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"
},
"arrownortheast": {
"icon": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAADICAYAAACtWK6eAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyVpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDYuMC1jMDAyIDc5LjE2NDQ2MCwgMjAyMC8wNS8xMi0xNjowNDoxNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIDIxLjIgKE1hY2ludG9zaCkiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MTE3Njk4REZFQzNDMTFFQTkwMDREMjM3Rjg3MzY4NzkiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MTE3Njk4RTBFQzNDMTFFQTkwMDREMjM3Rjg3MzY4NzkiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpDNDM5M0RCMEVDM0IxMUVBOTAwNEQyMzdGODczNjg3OSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDoxMTc2OThERUVDM0MxMUVBOTAwNEQyMzdGODczNjg3OSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/Pts1YdYAAAXoSURBVHja7N3B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"
},
"arroweast": {
"icon": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAADICAYAAACtWK6eAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyVpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDYuMC1jMDAyIDc5LjE2NDQ2MCwgMjAyMC8wNS8xMi0xNjowNDoxNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIDIxLjIgKE1hY2ludG9zaCkiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6QTg1QjQxRkRFQzNCMTFFQTkwMDREMjM3Rjg3MzY4NzkiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6QTg1QjQxRkVFQzNCMTFFQTkwMDREMjM3Rjg3MzY4NzkiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpBODVCNDFGQkVDM0IxMUVBOTAwNEQyMzdGODczNjg3OSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpBODVCNDFGQ0VDM0IxMUVBOTAwNEQyMzdGODczNjg3OSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PkRp+VEAAAbPSURBVHja7N09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"
},
"arrowsoutheast": {
"icon": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAADICAYAAACtWK6eAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyVpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDYuMC1jMDAyIDc5LjE2NDQ2MCwgMjAyMC8wNS8xMi0xNjowNDoxNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIDIxLjIgKE1hY2ludG9zaCkiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MTE3Njk4RTNFQzNDMTFFQTkwMDREMjM3Rjg3MzY4NzkiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MTE3Njk4RTRFQzNDMTFFQTkwMDREMjM3Rjg3MzY4NzkiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDoxMTc2OThFMUVDM0MxMUVBOTAwNEQyMzdGODczNjg3OSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDoxMTc2OThFMkVDM0MxMUVBOTAwNEQyMzdGODczNjg3OSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/Pu4vAMQAAAXfSURBVHja7N3BTtxWFAZgUw0LUHZQUVjBprs+R6u+T1P1CaqmD9S8R3bdwGooatlFsABpakekBeLx2HM99vH190mjqCnpPb3mH3sc5H9vtVoVQL2vbAEICAgICAgMaFH3m3t7e59+vby8/OHo6Oing4OD7xaLxdd9Lvz4+Pj3/f39h9vb298vLi7eb/mfeVO+TsrXYfna73lvHsrXXfm6KV8fN33x85sdn/dv6Pnqbrg8myX0/kWYr3b/1m3qcrn89fT09OfqH3cc0tX19fVvZ2dnv3T8c9+Ur7OB3kiW5euvjgEZfL6OAQm1fxHmq9u/2kus8szx/UDh+HQMq7Wqs1XHd5ahNq94WuuN+eY3X21AysuqtwOF47+QPK3Z1skIl6Mn5pvffLUBqT5zDD1dxzUPR9jAQ/PNb77agPT9gbzV3YLF4rjDl++PsIH75pvffG7zQgMBAQEBAQEBAQEBAQEBAQEBAQEBAQQEBAQEBAQEBAQEBAQEBARmG5DqoW5DD1Ku+U+HL38YYa8ezDe/+WoDUj3xcOjpOq55N8IG3plvfvPVBqR6HGj5y5DFIatyzXcdvv5mhA28Md/85qsNSPWs3OpxoEOFpFqr4/N5q2epLgfcvGXR7fmy5stkvr2m57k+Pbz67dPDq4/7nKj6zPH08Op3Hl7dz3weXr2D/dtiU9kQkEgcy7Rj6DYvNBAQEBAQEBAQEBAQEBAQEBDI1WLDvw/9owhRe9wj/ajJlI9vhPmaftQkdI92tB53Pen9Ht8ick96EbxHW4972v6Zr/186wISukdbj3vymuZruea6gITu0dbjnrym+VquuS4goXu09bgnr2m+lmu6zQsNBAQEBAQEBAQEBAQEBAQEBAQEBAQQEBAQEBAQEBAQEBAQEBAQmHNAQvdo63FPXtN8LddcF5DQPdp63JPXNF/LNdcFJHSPth735DXN13LNdQEJ3aOtxz1t/8zXfr5NNdBTeHh1iB53Pen9H99CT3o+9KTneQzd5oUGAgINFrbApQwTDohrewQEby4+g0AmZ5Cx33lcvuAMAgICGV5iRe/5nkoPuR736e9fqJ70z7M8/wwScb42n5Mi9Liv+4aMdHwj7V82PemFHvcX3++59bhH2r9J9qQXety/OMg59bhH2r9J9qQXetxT17R/LdecZE96oce9bs1j+9f//rnNCw0EBAQEBAQEBAQEBAQEBAQEBAQEBBAQEBAQEBAQEBAQEBAQEBCYc0D0aCesqcc9n/2bZE96occ9dU3713LNSfakF3rcX8uqxz3S/k2yJ73Q4/5Cbj3ukfYvVE96x2fzjjbf6xnXGbvHfcOzeUMc30j7N8medDVi9m7M/XKbFxoICAgIbCd8DbRCTwQEby4uscAZpFdRb1M6mziDAAICaZdYg/4owhaXC3rcM+xxjzRfqJ70tp9BIvSktwhIqPlefwaJ0OPe+D8UpCd9XUCqd75vBz6b/fn6TNIQkFHmK+f52DIg4eZ7HpCqh/z8/PyPYriq5dXV1dWPbc8kY81Xrvm+7WcQPekZzxe9x11Pevqa5ktYM3qPu5709DXNl7Bm9B53PekwEQICAgICAgICAgICAgICAgICAgICCAgICAgICAgICAgICAgICMw5IHrSM54veo+7nvT0Nc2XsGb0Hnc96elrmi9hzeg97nrSv5RVT3qhh/yFrj3uetL/v2ZufHh11J7vTSLOV9cPMnaP+yZ60jed9xTo9EaBznbfbwsHFdbz9yAgICAgICAgICAgICAgIJCrSfakT2U+PeR60vtS25O+Qej59JBPb77J9aRvOHOEnU8P+TTn05M+0Hx6yPOZT0/6DtbUQ57PfHrSd7CmHvJ85nObFxoICAgICAgICAgICAgICAgICAgICCAgICAgICAgICAgICAgICAw54DoIU9YUw95PvPpSd/BmnrI85lPT/oO1tRDns98etJ3MJ8e8nzmC92T3sIUHl6thzy3nnSg+RILEBAQEBAQ2IV/BRgAn5AtvLT5juoAAAAASUVORK5CYII="
},
"arrowsouth": {
"icon": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAADICAYAAACtWK6eAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyVpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDYuMC1jMDAyIDc5LjE2NDQ2MCwgMjAyMC8wNS8xMi0xNjowNDoxNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIDIxLjIgKE1hY2ludG9zaCkiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6QzQzOTNEQTZFQzNCMTFFQTkwMDREMjM3Rjg3MzY4NzkiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6QzQzOTNEQTdFQzNCMTFFQTkwMDREMjM3Rjg3MzY4NzkiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpBODVCNDFGRkVDM0IxMUVBOTAwNEQyMzdGODczNjg3OSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpBODVCNDIwMEVDM0IxMUVBOTAwNEQyMzdGODczNjg3OSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PrnT/wkAAAdjSURBVHja7N0/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"
},
"arrowsouthwest": {
"icon": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAADICAYAAACtWK6eAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyVpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDYuMC1jMDAyIDc5LjE2NDQ2MCwgMjAyMC8wNS8xMi0xNjowNDoxNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIDIxLjIgKE1hY2ludG9zaCkiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MTE3Njk4RTdFQzNDMTFFQTkwMDREMjM3Rjg3MzY4NzkiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MTE3Njk4RThFQzNDMTFFQTkwMDREMjM3Rjg3MzY4NzkiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDoxMTc2OThFNUVDM0MxMUVBOTAwNEQyMzdGODczNjg3OSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDoxMTc2OThFNkVDM0MxMUVBOTAwNEQyMzdGODczNjg3OSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PgEb5sEAAAXPSURBVHja7N3N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"
},
"arrowwest": {
"icon": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAADICAYAAACtWK6eAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyVpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDYuMC1jMDAyIDc5LjE2NDQ2MCwgMjAyMC8wNS8xMi0xNjowNDoxNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIDIxLjIgKE1hY2ludG9zaCkiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6QzQzOTNEQUFFQzNCMTFFQTkwMDREMjM3Rjg3MzY4NzkiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6QzQzOTNEQUJFQzNCMTFFQTkwMDREMjM3Rjg3MzY4NzkiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpDNDM5M0RBOEVDM0IxMUVBOTAwNEQyMzdGODczNjg3OSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpDNDM5M0RBOUVDM0IxMUVBOTAwNEQyMzdGODczNjg3OSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PvkudBoAAAcJSURBVHja7N3BctNWFIdxmbEXyWRHIcQ7PwCvUJbtAxUY+gKlpW/TLmDRvgGrPgA7i5SyYZiwSAZXFwwTQHKubOtKV/l9M3fKpI7PyRGfbQnl/ier1aoAUM8NIwAIAhAEIAiQkGndFyeTyac/HlXruFqH1ZrtufZ5tc6qdVqtt1s+x6D7e/HixY83b968f3BwcHc6nd7aZ3MXFxev3r1798/r169/WywWz8Y4v9T91V2wmtR+8aMgd6o1TyTqslovW37PoPtbLpe/nJycPAzj7Li3VVmWv87n80djml8f/dW5cGODuamaK9a1jlq+sgy2v/DOkUiOD69noVaoOZb5Dam/JkGOe/i4d9zRY5P3V32sepBIjs+ShI9yY5nfkPprEuSwhwYPO3ps8v7COUfq5lrWdHwjazYJMuuhwVlHj03eX3VC/l3yqy3tLgI4vpE1XeYFNkAQgCAAQQCCAAQBCAIQBCAIQBCAIAAIAhAEIAhAEIAgAEEAggAEAa6zIOc99HLe0WOT93dxcfFf6ubCRnJjmd+Q+msS5KyHBs86emzy/sKOh6mba1nT8Y2s2STIaQ8Nnnb02OT9he1AE/e2qmo+Gcv8htRfkyBhr9JlwuaWRbv9Wwfd32KxeFqW5ePwFzeFHGHr0VBzLPMbUn+b9uYN2Nx4982rH6w3r97rXlnhPOfS5tVPxzi/YuCbVwPXijabVwMgCEAQgCBAF0yNoJuTuyHhoot3EIAgAEEAggDjOEmXQ75FDnlft+pscbHArSZX9JdtTvqQcsi/nmFf82sSpOEqlpz0iPllmZMuh3y3+ekvvr8sc9LlkO9cU3+RNbPMSZdDvnNN/UXWzDInXQ75zjX1F1nTZV5gAwQBCAIQBCAIQBCAIABBAIIABAEIAoAgAEEAggAEAQgCEAQgCEAQ4DoLIof825pyyK9hf1nmpMsh37mm/iJrZpmTLod855r6i6yZZU66HPLd5qe/+P6yzkkfSg55w968yefXcm/ewR/fQk76OBDBNt7j6DIvsAGCABuQcusjDLyDAAQBCAIQBCAIQBBgvIKEWznevHnz1/n5+b+rPROeMzx3VeOHbZuvnuZetf6o1nK1f5br5/5+2/7MbwTzC/+8/vUKhBzy6s/vV93zPtTa4uD+nKq/UKttf+aX3/xqXaj7YjA3UXOfm2yTQ75+5UvaX6jZ5pXP/PKbX50LtR+xMsghv5+6v2r9FPtg8xvP/Grv5g2/Xpo6ajnUnM1mtyNfAcvqP3cSn6+Vk8lkHvPA6vOt+WU4v6rm7ShBijS/iPStrZE3Na16ur9cf+Pur+5dy2VeYNvLvABBABAEIAhAEIAgAEEAggAEAQgCEAQAQQCCAAQBCAIQBCAIQBBgzIJkkEP+sodZlS1+FvMbyfxqBckgh/x5Dwf4eUc/i/kNeH61gmSQQ/4kdX/V+j32weY3ovnZetTWo+bXcuvRT6w3D/47bOTVwebBr8Jzt9kys+Yghy00/wwboXUwuHL93Pe27c/88ppfnQty0oFLgkSdgwAgCEAQYBemRrD/z61DwvmkdxCAIABBAIIABAFGwVVXsY6qdVytw2rN9lz7vFpn1Tqt1tttniDcJhDCFw8ODu5Op9Nb+2wu3P4c7vAMN84tFotnbb730pWjpPPb4oraoI/vEPrbdKtJCHmcJxJ1WbT8HYVwg9nJycnDovs01FVZlr/O5/NHtf9zQPNredvQoI/vUOZ3Y4O5qZor1rWO2rxzJJLjw9+xUKvlTYGDnp/+4vtrEuS4h4970TUzyCEf9Pz0F1+zSZDDHhqMrhnOOVI317LmoOenv/iaTYLMemgwumbqkPl1zVtd/Cx9zE9/8TVd5gU2QBCAIABBAIIABAEIAhAEIAhAEIAgAAgCEAQgCEAQgCAAQQCCAAQBrrMg5z30El0zgxzyQc9Pf/E1mwQ566HB6JoZ5JAPen76i6/ZJMhpDw1G18wgh3zQ89NffM0mQcJepcuEzS2LFvu3LhaLp2VZPi4+BtR3LkfYejTUbPE9g56f/uL7uyoGOofNqx+sN6/e615Z4Tzn0ubVjXIMaX5bRHrbvPqq+clJ3/HtRUbhqI+ly7zABqTceoXGBryDAAQBCAIQBCAIQBCAIEDWZJ2TXshx3yrH3fGN7y/bnPRCjvsnNua45zq/Qk76F4wq51uO+3iOb5Y56YUc928kkePeTX9Z5qQXctx3ren4RtbMMie9kONeV1OOewf9ucwLbIAgAEEAggAEAQgCEAQgCEAQgCAAQQAQBCAIQBCAIABBAIIABAEIAlxnQeRo71BTjvt4jm+WOemFHPddazq+kTWzzEkv5Lh/jRz3jvrLMie9kOP+hRxy3LvrL+uc9EKO+5U57jnPrxhqTjqAzR+xABAEIAhAEKAL/hdgAD6YnLy8rsWVAAAAAElFTkSuQmCC"
},
"arrownorthwest": {
"icon": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAADICAYAAACtWK6eAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyVpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDYuMC1jMDAyIDc5LjE2NDQ2MCwgMjAyMC8wNS8xMi0xNjowNDoxNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIDIxLjIgKE1hY2ludG9zaCkiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6QzQzOTNEQUVFQzNCMTFFQTkwMDREMjM3Rjg3MzY4NzkiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6QzQzOTNEQUZFQzNCMTFFQTkwMDREMjM3Rjg3MzY4NzkiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpDNDM5M0RBQ0VDM0IxMUVBOTAwNEQyMzdGODczNjg3OSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpDNDM5M0RBREVDM0IxMUVBOTAwNEQyMzdGODczNjg3OSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/Pncgm/sAAAXOSURBVHja7N3NThtXGAbgceQuQOxoRGEFm+xyH1HvJ/25gqrt/VTtdXTXDaxMo5ZdBIsguTPgShYaDzNz7PF3jp9HsiIlkPPpjF//gc47Wy6XFdDujS0AAQEBAQGBCc3b/nI2mz39eX19/eH09PS7o6Oj9/P5/OttLvz4+Pjvw8PDn3d3d79cXV39Pub/MF/afLWT+nZW347r21dbvm99qW/39e1Tffucw3xtH1jNWv+yDshisfjp/Pz8hwlCury9vf354uLixyHfZL60+Wrf1LeLiR6IF/Xt7+jz9Q7Izc3Nh8vLy9+af59owGW95rd9HwmbR2bzjZ9v9cj8buJXK38NeCbZy3x1Fj73eg/SvCyY8OI+BbVe82PfLzZf2nyrly1TO8txvtaANK+Zp55uyJrmS17zeA93wOMc52sNyLbfUPb6tGA+fzvga82XMN8O3vBue80w8/mYFzoICAgICAgICAgICAgICAgICAgICCAgICAgICAgICAgICAgICBwsAFpDiWbepB6zX8GfK35Euarng9Nm9qXHOdrDUhzYt/U0w1Z03zJa97v4Q54n+N8rQFpjrOs/5iyOGS5WrMX86XNVz0ftzm1TznO1xqQ5oS+5jjLiS7y09GZ9Zp/9P0G86XNVz2fcLiY8M63qIadzxtmvo1n8zZWhy9/XB2+/HabEzWvmVeHL/+aeDi0+RxevZX5Bh1eDYemLQs+5oUOAgICAgICAgICAgICAgJZm9uCcdp+qMQ4kX8w3RkQPeTj5lu74Hv/VYkc51uz91+F0ZM+cr6ui726A4bo+c5hvg3PIHrS1+9vufWQvxKQMD3fOczXEhA96S/3SA95sjPzbX8+Pem7WVMPeSHz6UnfwXyVHvJi5vNzEOggICAgICAgICAgICAgICAgICAgIICAgICAgICAgICAgICAgIDAwQZED3nafJUe8mLm05O+mzX1kBcyn570HcxX6SEvZj496TuYr9JDXsx8etJHztfjbN6Gw6t7zNdxurue9FypP9ieKPc3PekwkIBABw1Tmb8swDMIeAbJ+Y2xZxMBIXMeXLzEAgEBAYEc3oPoIU/r+bZ/w/bv/3/f13yte5VTT/qLDQzd8x1t/9Znj7R/63sX8fq+2fTIV1/c76f6IKNZq1lzwPecTLh51WqtkyHPHPZv/P5Fmi/LnvQqeM+3/UteU0964pqhe77tX/KaetJb1iymh9z+Ja+pJx1yICAgICAgICAgICAgICAgICAgICCAgICAgICAgICAgICAgICAwMEGRA952pr2L3lNPemJa4bu+bZ/yWvqSX+hqB5y+5e8pp709YtbWg+5/Uvbv0pP+rie9H0fbjy05zvS/rWczRti/zrO5o0xX0496VqSyt67iDP6mBcEBMZR4omXqh0v8TyDQCnPIPrIERA8uAhIOXz0XDbvQUBAYDcvsfbeU53jfHrc03rcI13frl81mbyneuD3hJgv0v5t+H2r9m8I1uMe4foO+TmIHu2C59Pj3n//NgVEj3bB8+lx77/mpoDo0S54Pj3u/dfcFBA92gXPp8e9/5o+5oUOAgICAgICAgICAgICAgICAgICAgIICAgICAgICAgICAgICAgIHHJA9GgXPJ8e9/5rbgqIHu2C59Pj3n/NTQHRo13wfHrc+6+5KSB6tAueT497//17rQba4dWvzBdp/4aczduI1OMe4fpm35MekQKdsq+lj3mhg4CAgICAgICAgICAgICAgECp9KTvYL5cetKjX98IPe560hPny7UnPfr13UePu55082UxX6Qedz3p5gs3X6Qedz3p5gs3X6Qedz3p5gs3X6Qedx/zQgcBAQEBAQEBAQEBAQEBAQEBAQEBAQQEBAQEBAQEBAQEBAQEBAQOOSB6yM23t/ki9bjrSTdfuPki9bjrSTdfuPki9bjrSTdfuPki9bjrSU+cL+ee9CqPw6sn63Hv3ZMOdL/EAgQEBAQEBHbhPwEGAINqOacrDo3YAAAAAElFTkSuQmCC"
} }
} }

View File

@ -145,7 +145,31 @@ enum IconNames {
SmallSquare, SmallSquare,
//% block="scissors" //% block="scissors"
//% jres=icons.scissors //% jres=icons.scissors
Scissors Scissors,
//% block="arrow north"
//% jres=icons.arrownorth
ArrowNorth,
//% block="arrow north east"
//% jres=icons.arrownortheast
ArrowNorthEast,
//% block="arrow East"
//% jres=icons.arroweast
ArrowEast,
//% block="arrow south east"
//% jres=icons.arrowsoutheast
ArrowSouthEast,
//% block="arrow south"
//% jres=icons.arrowsouth
ArrowSouth,
//% block="arrow south west"
//% jres=icons.arrowsouthwest
ArrowSouthWest,
//% block="arrow west"
//% jres=icons.arrowwest
ArrowWest,
//% block="arrow north west"
//% jres=icons.arrownorthwest
ArrowNorthWest
} }
enum ArrowNames { enum ArrowNames {
@ -164,7 +188,7 @@ enum ArrowNames {
//% blockIdentity=images.arrowNumber block="West" //% blockIdentity=images.arrowNumber block="West"
West, West,
//% blockIdentity=images.arrowNumber block="North West" //% blockIdentity=images.arrowNumber block="North West"
NorthWest, NorthWest
} }
namespace basic { namespace basic {
@ -199,6 +223,7 @@ namespace basic {
//% parts="ledmatrix" //% parts="ledmatrix"
//% advanced=true //% advanced=true
//% help=basic/show-arrow //% help=basic/show-arrow
//% deprecated=true
export function showArrow(direction: number, interval = 600) { export function showArrow(direction: number, interval = 600) {
let res = images.arrowImage(direction) let res = images.arrowImage(direction)
res.showImage(0, interval) res.showImage(0, interval)
@ -528,6 +553,55 @@ namespace images {
# # . # # # # . # #
. # # # . . # # # .
. . # . .`); . . # . .`);
// arrows
case IconNames.ArrowNorth: return images.createImage(`
. . # . .
. # # # .
# . # . #
. . # . .
. . # . .`);
case IconNames.ArrowNorthEast: return images.createImage(`
. . # # #
. . . # #
. . # . #
. # . . .
# . . . .`);
case IconNames.ArrowEast: return images.createImage(`
. . # . .
. . . # .
# # # # #
. . . # .
. . # . .`);
case IconNames.ArrowSouthEast: return images.createImage(`
# . . . .
. # . . .
. . # . #
. . . # #
. . # # #`);
case IconNames.ArrowSouth: return images.createImage(`
. . # . .
. . # . .
# . # . #
. # # # .
. . # . .`);
case IconNames.ArrowSouthWest: return images.createImage(`
. . . . #
. . . # .
# . # . .
# # . . .
# # # . .`);
case IconNames.ArrowWest: return images.createImage(`
. . # . .
. # . . .
# # # # #
. # . . .
. . # . .`);
case IconNames.ArrowNorthWest: return images.createImage(`
# # # . .
# # . . .
# . # . .
. . . # .
. . . . #`);
default: return images.createImage(` default: return images.createImage(`
. . . . . . . . . .
. . . . . . . . . .

Binary file not shown.

Before

Width:  |  Height:  |  Size: 699 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1014 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 919 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 808 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

View File

@ -331,19 +331,23 @@
"docMenu": [ "docMenu": [
{ {
"name": "Support", "name": "Support",
"path": "https://calliope.cc/faq" "path": "https://calliope.cc/en/impressum"
}, },
{ {
"name": "Reference", "name": "Reference",
"path": "/reference" "path": "/about"
}, },
{ {
"name": "Hardware", "name": "Hardware",
"path": "/device" "path": "https://calliope.cc/en/calliope-mini/tech-facts/"
}, },
{ {
"name": "Buy", "name": "Buy",
"path": "https://shop.calliope.cc/" "path": "https://shop.calliope.cc/"
},
{
"name": "Forum",
"path": "https://forum.calliope.cc/"
} }
], ],
"hasReferenceDocs": false, "hasReferenceDocs": false,
@ -355,7 +359,7 @@
"socialOptions": { "socialOptions": {
"orgTwitterHandle": "calliopemini", "orgTwitterHandle": "calliopemini",
"hashtags": "calliopemini", "hashtags": "calliopemini",
"discourse": "https://forum.calliope.cc", "discourse": "https://forum.calliope.cc/",
"discourseCategory": "Probleme-Software" "discourseCategory": "Probleme-Software"
}, },
"blocklyOptions": { "blocklyOptions": {

View File

@ -211,7 +211,6 @@
"tinysuperlab/motionkit", "tinysuperlab/motionkit",
"tinysuperlab/touchkit", "tinysuperlab/touchkit",
"calliope-edu/pxt-grove", "calliope-edu/pxt-grove",
"Microsoft/pxt-neopixel",
"Microsoft/pxt-microturtle", "Microsoft/pxt-microturtle",
"MKleinSB/pxt-OLED-SSD1306", "MKleinSB/pxt-OLED-SSD1306",
"MKleinSB/pxt-iot-lora-node", "MKleinSB/pxt-iot-lora-node",
@ -221,7 +220,7 @@
"MKleinSB/pxt-dht11", "MKleinSB/pxt-dht11",
"MKleinSB/pxt-esp-thingspeak", "MKleinSB/pxt-esp-thingspeak",
"MKleinSB/pxt-neopixel-calliope", "MKleinSB/pxt-neopixel-calliope",
"kittenbot/pxt-robotbit" "Microsoft/pxt-neopixel"
] ]
}, },
"galleries": { "galleries": {