Squawkin’ on My Coffin - Spoooky RPi Pico Animatronics for Halloween 2022

Squawkin’ on My Coffin is an infectious & entertaining Halloween themed animatronic tabletop centerpiece.

The Squawkin’ on My Coffin animatronic routine stole the show, so the build aptly was named for that animatronic routine. The video of that animatronic routine action is seen here:  Squawkin' On My Coffin Animatronic routine       https://youtu.be/_Yf-5-MaQdw

The project is Raspberry Pi Pico controlled, the hardware features:

  • qty 2 SSD1315 OLEDs screens for animatronic BIG SKULL eyes, each screen on its own i2C network
  • qty 2 WS2812 addressable LEDs for the Crow’s eyes
  • qty 4 SG90 servos – one for the coffin lid lift, 2 for the Crow’s wings, qty 1 for the Crow’s neck to rotate the head
  • 3 PWM outputs for skully LED eyes. The Red LEDs require a lot more mA than the green ultrabright LEDs, so the red LED circuit uses 1 output per eye.
  • DFPlayer audio with an LM386 amplifier. Simple relay contact play selection
  • Lots of scary bones, spiders, and a creepy coffin

 image

image

image

Top View

image

Top View of electronics

image

Coffin Lid Lift 

image

The design uses a left side motion detector and a right side motion detector to trigger user interactive animatronic routines.

The animatronic auto mode video can be seen here:  Squawkin' on My Coffin in Auto Mode  https://youtu.be/EbOLi8S1AEI

  • If a left motion is detected, the left side Skull eye’s light green, the Big Skull eyes look to the left, the crow looks left, changes it’s eye color from yellow to green, and the crow squawks.
  • If motion is detected on the right side, the right side Skull eye’s light red, the Big Skull eyes look to the right, the crow looks right, changes it’s eye color from yellow to violet, and the crow squawks.
  • The code also uses several random number generators to trigger unnerving animatronic routines, mostly to the Big Skull’s eyes, and the show stealing “Squawkin’ on the Coffin.

On first boot up, the Big Skull first displays it’s whole catalog of eye movements and OLED graphics. The software then continues on to test each servo motion, one at a time, and the BIG SKULL eyes provide annunciation of which movement is being exercised. Finally, the software does a test run of SQUAWKIN’ ON MY COFFIN, then goes into its automation loop.

The video: Squawkin' Project startup Graphics and motion test mode    https://youtu.be/Grc2aQXAHl4

Some interesting background of the project development:

The initial project goal was to build a really inexpensive graphic eye movement solution inspired by https://blog.adafruit.com/2019/09/24/halloween-builds-from-hackspace-magazine-issue-23-out-now-halloween-hackspacemag-adafruit/.   A ton of time was spent trying out programming graphics, finally figuring out using byte arrays for graphics would be the best way to go.  The SSD1315 screens would be mounted inside a plastic skull.  The skull would have a couple smaller buddies with flashing LED eyes.

After a brief detour to implement the small skull eye flashing with 555 timers, the playing with byte arrays continued to grow using the Big Skull and the Pico python code.

The coffin was added to the project to house the RPi Pico and power distribution. The project workscope kept growing , the coffin wasn’t big enough to house all the electronics and wiring. It was way more fun to add a servo and have the coffin lid open, with a pair of LED eyes peeking out.

Workscope creep again - If the coffin lid opens, wouldn’t it be fun to have something on top to get upset about the lid opening ? It sure would. A stop at the Dollar Store for a cheap rat and a crow skeleton would do the job. The crow had a lot of potential for animatronics. Individual WS2812 addressable LEDs first went into the eyes, and a servo was installed under the head for neck movement. The expandable flapping wings would be so cool. After several days of mockups and trials for electromechanical flapping wings, it was needed to step back and keep it simple. The plastic skelly wings were each hot glued to  servos. Dog gone – Halloween had passed, I am still adding stuff.

It would so much better to have the crow squawk and add other sound effects. A DFPlayer was added, but time is ticking away, I didn’t have the time to develop  UART software for the DFPlayer, so a relay contact brute force served the need to play the crow sound track.  

So this is the project as it stands today, but has great potential to continue to add features and functionality. I’m thinking it would be an inexpensive and fun hardware platform to use to teach python classes with the Raspberry Pi Pico.

Now onto publishing the Schematics and code to continue the fright  

image

image

image

image

 # Display Image & text on I2C driven ssd1306 OLED display 
# for this code to work, SSD306.py must be saved to the Pico
# the HW is qty 2 SSD1306 OLEDs one wired to i2c#0, the other wited to i2c#2

from machine import Pin, I2C, PWM
from ssd1306 import SSD1306_I2C
import framebuf
import math
import utime
import random
WIDTH  = 128                                            # oled display width
HEIGHT = 64                # oled display height

LHS_PIR = Pin(8, machine.Pin.IN,machine.Pin.PULL_DOWN)#GPIO8 is physical pin 11
RHS_PIR = Pin(9, machine.Pin.IN,machine.Pin.PULL_DOWN)#GPIO9 is physical pin 12
#LHS_Skully = Pin(13, machine.Pin.OUT)#GP13 is Pico pin 17
#RHS_Skully = Pin(14, machine.Pin.OUT)#GP14 is Pico pin 19
#RHS_Skully.value(0)
#LHS_Skully.value(0)

LHS_Skully = PWM(Pin(13))# physical pin17
RHS_Skully = PWM(Pin(14))# physical pin19
RHS_Skully2 = PWM(Pin(12))# physical pin16
LHS_Skully.freq(8) # 2 Hz is 500 msec period
RHS_Skully.freq(19) # 10 Hz is 100 msec period
RHS_Skully2.freq(19)# 10 Hz is 100 msec period
LHS_Skully.duty_u16(0)
RHS_Skully.duty_u16(0)
RHS_Skully2.duty_u16(0)
RavenHeadDuty=4875

CoffinLidServo = PWM(Pin(16))# physical pin21
CoffinLidServo.freq(50) # 50 Hz is 20 msec period
# 100% duty of PWM is 65535 counts
# 2 ms of 20 ms is 10% for full spd FWD 6553
# ( 1.5 ms / 20 ms ) * 65535 = 4875 for zero degrees
# 1 ms of 20 ms is full neg  3251 counts
CoffinLidServo.duty_u16(3251)
CoffinLidDuty=3300

RavenHeadServo = PWM(Pin(17))# physical pin22
RavenHeadServo.freq(50) # 50 Hz is 20 msec period
RavenHeadServo.duty_u16(4875)

RavenLeftWingServo = PWM(Pin(18))# physical pin23
RavenLeftWingServo.freq(50) # 50 Hz is 20 msec period
RavenLeftWingServo.duty_u16(4875)

RavenRightWingServo = PWM(Pin(19))# physical pin24
RavenRightWingServo.freq(50) # 50 Hz is 20 msec period
RavenRightWingServo.duty_u16(4875) 

DFPlayerRelay = Pin(2, machine.Pin.OUT)#GP2 is Pico pin 4
DFPlayerRelay.value(0) 
# Explicit Method
sda0=machine.Pin(4)
scl0=machine.Pin(5)
i2c0=machine.I2C(0,sda=sda0, scl=scl0, freq=1600000)#original setting 400 000

sda1=machine.Pin(6)
scl1=machine.Pin(7)
i2c1=machine.I2C(1,sda=sda1, scl=scl1, freq=1600000)#original setting 400 000

#print(i2c0.scan())
#print(i2c1.scan())
from ssd1306 import SSD1306_I2C
oled0 = SSD1306_I2C(128, 64, i2c0)
oled1 = SSD1306_I2C(128, 64, i2c1)

from neopixel import Neopixel

numpix = 2
pixels = Neopixel(numpix, 1, 22, "GRB") #arameters number of LEDs, state machine ID, GPIO number and mode (RGB or RGBW) in that order. 
# strip = Neopixel(numpix, 0, 0, "GRBW")
#colors taking values between 0 and 255.
#red = (255, 0, 0)
#orange = (255, 50, 0)
#yellow = (255, 100, 0)
#green = (0, 255, 0)
#blue = (0, 0, 255)
#indigo = (100, 0, 90)
#violet = (200, 0, 100)
#colors_rgb = [red, orange, yellow, green, blue, indigo, violet]
#GPIO22 is pin29
pixels.set_pixel(1, (0, 0, 0))
pixels.set_pixel(0, (0, 0, 0))
pixels.show()

# Raspberry Pi logo as 32x32 bytearray
#buffer = bytearray(b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00|?\x00\x01\x86@\x80\x01\x01\x80\x80\x01\x11\x88\x80\x01\x05\xa0\x80\x00\x83\xc1\x00\x00C\xe3\x00\x00~\xfc\x00\x00L'\x00\x00\x9c\x11\x00\x00\xbf\xfd\x00\x00\xe1\x87\x00\x01\xc1\x83\x80\x02A\x82@\x02A\x82@\x02\xc1\xc2@\x02\xf6>\xc0\x01\xfc=\x80\x01\x18\x18\x80\x01\x88\x10\x80\x00\x8c!\x00\x00\x87\xf1\x00\x00\x7f\xf6\x00\x008\x1c\x00\x00\x0c \x00\x00\x03\xc0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00")
# This buffer is te bloodshot eyeballinverse colors, wierd
#buffer = bytearray(b'\xff\xff\xff\xff\xff\xff\xe0\x07\xff\xff\xff\xff\xff\xff\x80\xff\xfb\xff\xff\xff\xfe\x00\x00?\xff\xff\xff\xfd\xf7\x80\xff\xfb\xfa_\xff\xf0\x00\x00\x07\xff\xff\xf7\xfaw\x80\xdf\xfd/\xf3\xff\xc0\x00\x00\x00\xff\xff\xdb\xfb\xd7\x80\xdf\xff\xff\xff\xff\x00\x00\x00\x00\x7f\xf9~\x7f\xef\x80\xe5\xff\xff\xff\xfc\x00\x00\x00\x00\x1f\xfb\xff\xb7\xff\x80\xfe\xbf\xff\xff\xf8\x00\x00\x00\x00\x07\xff\xff\xef\xff\x80\xff\xdf\xff\xff\xe0\x00\x00\x00\x00\x03\xfd\xff\xff\xff\x80\xff\xdf\xff\xff\xc0\x00\x00\x00\x00\x01\xfd\xff\xff\xff\x80\xff\xdf\xff\xff\x80\x00\x00\x00\x00\x00\xff\xff\xff\xff\x80\xff\xef\xff\xff\x00\x00\x00\x00\x00\x00\x7f\xff\xff\xff\x80\xff\xef\xff\xfe\x00\x00\x00\x00\x00\x00?\xff\xff\xff\x80\xff\xef\xff\xfc\x00\x00\x00\x00\x00\x00\x1f\xff\xff\xff\x80\xff\xf7\xff\xf8\x00\x00\x00\x00\x00\x00\x0f\xff\xff\xff\x80\xff\xfb\xff\xf8\x00\x00\x00\x00\x00\x00\x0f\xff\xff\xff\x80\xff\xfc\xff\xf0\x00\x00\x00\x00\x00\x00\x07\xff\xff\xff\x80\xff\xff\x7f\xe0\x00\x00\x00\x00\x00\x00\x03\xff\xff\xff\x80\xff\xff\xbf\xe0\x00\x00\x00\x00\x00\x00\x03\xff\xff\xff\x80\xff\xff\xff\xc0\x00\x00\x00\x80\x00\x00\x01\xff\xff\xff\x80\xff\xff\xff\xc0\x00\x00\x0f\xf8\x00\x00\x01\xff\xff\xff\x80\xff\xff\xff\xc0\x00\x00?\xfe\x00\x00\x01\xff\xff\xff\x80\xff\xff\xff\x80\x00\x00\x7f\xff\x00\x00\x00\xff\xff\xff\x80\xff\xff\xff\x80\x00\x00\xff\xff\xc0\x00\x00\xff\xff\xfc\x80\xff\xff\xff\x00\x00\x01\xff\xff\xc0\x00\x00\x7f\xff\xfd\x80\xff\xff\xff\x00\x00\x03\xff\xff\xe0\x00\x00\x7f\xff\xf3\x80\xff\xff\xff\x00\x00\x07\xff\xff\xf0\x00\x00\x7f\xfc\x8f\x80\xff\xff\xff\x00\x00\x07\xff\xff\xf0\x00\x00\x7f\xfb\xff\x80\xff\xff\xff\x00\x00\x07\xff\xff\xf8\x00\x00\x7f\xcf\xff\x80\xff\xff\xfe\x00\x00\x0f\xff\xff\xf8\x00\x00>?\xff\x80\xff\xff\xff\x00\x00\x0f\xff\xff\xf8\x00\x00}\xff\xff\x80\xff\xfc\xfe\x00\x00\x0f\xff\xff\xf8\x00\x00=\xff\xff\x80\xff\xff\xfe\x00\x00\x0f\xff\xff\xf8\x00\x00?\xff\xff\x80\xff\xfb\xff\x00\x00\x0f\xff\xff\xf8\x00\x00?\xff\xff\x80\xff\xf7\xfe\x00\x00\x0f\xff\xff\xf8\x00\x00?\xff\xff\x80\xff\xf7\xfe\x00\x00\x0f\xff\xff\xf8\x00\x00\x7f\xff\xff\x80\xff\xef\xff\x00\x00\x0f\xff\xff\xf8\x00\x00?\xff\xff\x80\xfco\xff\x00\x00\x0f\xff\xff\xf8\x00\x00\x7f\xff\xff\x80\xfb\x9f\xff\x00\x00\x07\xff\xff\xf0\x00\x00\x7f\xff\xff\x80\xef\xff\xff\x00\x00\x07\xff\xff\xf0\x00\x00\x7f\xff\xff\x80\xff\xff\xff\x00\x00\x03\xff\xff\xe0\x00\x00\x7f\xff\xff\x80\xdf\xff\xff\x80\x00\x03\xff\xff\xe0\x00\x00\x7f\xff\xff\x80\xbf\xff\xff\x80\x00\x01\xff\xff\xc0\x00\x00\xff\xff\xff\x80\xff\xff\xff\x80\x00\x00\xff\xff\x80\x00\x00\xff\xff\xff\x80\xff\xff\xff\xc0\x00\x00\x7f\xff\x00\x00\x01\xff\xff\xff\x80\xff\xff\xff\xc0\x00\x00\x1f\xfc\x00\x00\x01\xff\xff\xff\x80\xff\xff\xff\xc0\x00\x00\x07\xf0\x00\x00\x01\xff\xff\xff\x80\xff\xff\xff\xe0\x00\x00\x00\x00\x00\x00\x03\xff\xff\xff\x80\xff\xff\xff\xf0\x00\x00\x00\x00\x00\x00\x03\xff\xbf\xff\x80\xff\xff\xff\xf0\x00\x00\x00\x00\x00\x00\x07\xff\xdf\xff\x80\xff\xff\xff\xf8\x00\x00\x00\x00\x00\x00\x0f\xff\xff\xff\x80\xff\xff\x7f\xf8\x00\x00\x00\x00\x00\x00\x0f\xff\xf7\xff\x80\xff\xfe\xff\xfc\x00\x00\x00\x00\x00\x00\x1f\xff\xfb\xff\x80\xff\xff\xfb\xfe\x00\x00\x00\x00\x00\x00?\xff\xfd\xff\x80\xff\xcd\xed\xff\x00\x00\x00\x00\x00\x00\x7f\xff\xff\xff\x80\xff:\xef\xff\x80\x00\x00\x00\x00\x00\xff\xff\xff\x7f\x80\xff~\x7f\xff\xc0\x00\x00\x00\x00\x01\xff\xff\xff\xff\x80\xfe\xff\xbf\xff\xe0\x00\x00\x00\x00\x03\xff\xff\xff\xbf\x80\xfd\xff\xff\xff\xf8\x00\x00\x00\x00\x0f\xff\xff\xff\xdf\x80\xfb\xff\xff\xff\xfc\x00\x00\x00\x00\x1f\xff\xff\xff\xff\x80\xfb\xff\xff\xff\xff\x00\x00\x00\x00\x7f\xf7\xff\xff\xef\x80\xf7\xff\xff\xff\xff\x80\x00\x00\x00\xff\xfb\xff\xff\xff\x80\xf7\xff\xff\xff\xff\xf0\x00\x00\x07\xff\xfb\xff\xff\xf7\x80\xef\xff\xff\xff\xff\xfe\x00\x00?\xff\xfd\xff\xff\xff\x80\xadj\xaa\xaa\xaa\xab@\x00\xd5UYUUR\x80') 
# Load the eyeball into the framebuffer (the image is 32x32)
buffer = bytearray(b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0b\xe8\x00\x00\x00\x00\x02\x08\x00\x00\x04\x02\xa0\x00\x00\xff\xff\xc0\x00\x00\x00\x00\x80\x00 \x01H\x08\x00\x07\xff\xff\xf8\x00\x00$\x04(\x00 \x00\x02\x00\x00\x1f\xff\xff\xfe\x00\x02\x82\x80\x00\x00\x10\x00\x00\x00\x00\x7f\xff\xff\xff\x80\x04\x00H\x00\x00\x07\x80\x02\x00\x01\xff\xff\xff\xff\xe0\x00\x04\x10\x00\x00\x00 \x00\x00\x07\xff\xff\xff\xff\xf0\x02\x00\x00\x00\x00\x00 \x02\x00\x0f\xff\xff\xff\xff\xf8\x00\x02\x00\x00\x00\x00 \x00\x00\x1f\xff\xff\xff\xff\xfe\x00\x00\x00\x00\x00\x00\x10\x01\x00?\xff\xff\xff\xff\xff\x00\x04\x00\x00\x00\x00\x10\x00\x00\x7f\xff\xff\xff\xff\xff\x80\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\x80\x04\x00\x00\x00\x00\x08\x00\x01\xff\xff\xff\xff\xff\xff\xc0\x08\x00\x00\x00\x00\x08\x00\x03\xff\xff\xff\xff\xff\xff\xe0\x00\x00\x00\x00\x00\x04\x00\x03\xff\xff\xff\xff\xff\xff\xf0\x00\x00\x00\x00\x00\x03\x00\x07\xff\xff\xff\xff\xff\xff\xf0\x00\x00\x00\x00\x00\x00\x80\x07\xff\xff\xff\xff\xff\xff\xf8\x00\x00\x00\x00\x00\x00@\x0f\xff\xff\xff\xff\xff\xff\xfc\x00\x00\x00\x00\x00\x00\x00\x1f\xff\xff\xff\x7f\xff\xff\xfc\x00\x00\x00\x00\x00\x00\x00\x1f\xff\xff\xf0\x07\xff\xff\xfc\x00\x00\x00\x00\x00\x00\x00\x1f\xff\xff\xc0\x01\xff\xff\xfe\x00\x00\x00\x00\x00\x00\x00?\xff\xff\x80\x00\xff\xff\xfe\x00\x08\x01\x80\x00\x00\x00?\xff\xff\x00\x00\x7f\xff\xff\x00\x14\x02\x00\x00\x00\x00?\xff\xfe\x00\x00?\xff\xff\x00\x02\x0c\x00\x00\x00\x00\x7f\xff\xfc\x00\x00\x1f\xff\xff\x00\x02\xf0\x00\x00\x00\x00\x7f\xff\xfc\x00\x00\x1f\xff\xff\x00\x04\x00\x00\x00\x00\x00\x7f\xff\xf8\x00\x00\x0f\xff\xff\x000\x00\x00\x00\x00\x00\x7f\xff\xf8\x00\x00\x0f\xff\xff\x81\x80\x00\x00\x00\x00\x00\x7f\xff\xf8\x00\x00\x0f\xff\xff\x82\x00\x00\x00\x00\x03\x00\x7f\xff\xf8\x00\x00\x0f\xff\xff\x82\x00\x00\x00\x00\x00\x00\x7f\xff\xf8\x00\x00\x07\xff\xff\x80\x00\x00\x00\x00\x04\x00\x7f\xff\xf0\x00\x00\x0f\xff\xff\x80\x00\x00\x00\x00\x00\x00\x7f\xff\xf8\x00\x00\x0f\xff\xff\x80\x00\x00\x00\x00\x08\x00\x7f\xff\xf8\x00\x00\x0f\xff\xff\x00\x00\x00\x00\x00\x14\x00\x7f\xff\xf8\x00\x00\x0f\xff\xff\x80\x00\x00\x00\x03\x94\x00\x7f\xff\xf8\x00\x00\x0f\xff\xff\x00\x00\x00\x00\x04h\x00\x7f\xff\xfc\x00\x00\x1f\xff\xff\x00\x00\x00\x00\x10\x02\x00?\xff\xfc\x00\x00\x1f\xff\xff\x00\x00\x00\x00\x10\x00\xa0?\xff\xfe\x00\x00?\xff\xff\x00\x00\x00\x00 \x00\x08?\xff\xff\x00\x00\x7f\xff\xfe\x00\x00\x00\x00@\x00\x00?\xff\xff\x80\x00\xff\xff\xfe\x00\x00\x00\x00\x00\x00\x00\x1f\xff\xff\xc0\x01\xff\xff\xfe\x00\x00\x00\x00\x00\x00\x00\x1f\xff\xff\xf0\x07\xff\xff\xfc\x00@\x00\x00\x00\x00\x00\x0f\xff\xff\xfe\xbf\xff\xff\xfc\x00\x00\x00\x00\x00\x00\x00\x0f\xff\xff\xff\xff\xff\xff\xf8\x00@\x00\x00\x00\x00\x00\x07\xff\xff\xff\xff\xff\xff\xf8\x04\x00\x00\x00\x00\x00\x00\x07\xff\xff\xff\xff\xff\xff\xf0\x02@\x00\x00\x00\x00\x00\x03\xff\xff\xff\xff\xff\xff\xf0\x01\x00\x00\x00\x00\x00\x00\x01\xff\xff\xff\xff\xff\xff\xe0\x00\x80\x00\x00\x00\x00\x80\x01\xff\xff\xff\xff\xff\xff\xc0\x00`\x00\x00\x00\x01\x00\x00\xff\xff\xff\xff\xff\xff\x80\x00\x10\x00\x00\x00\x02\x0c\x00\x7f\xff\xff\xff\xff\xff\x00\x00\x08\x00\x00\x000\x02\x00?\xff\xff\xff\xff\xfe\x00\x00\x04\x00\x00\x00\xc7\x10\x00\x1f\xff\xff\xff\xff\xfc\x00\x00\x80\x00\x00\x00\x01\xa0\x00\x0f\xff\xff\xff\xff\xf8\x00\x00\x01\x00\x00\x01\x00 \x00\x03\xff\xff\xff\xff\xf0\x00\x00\xc0\x80\x00\x02\x00\x10\x00\x01\xff\xff\xff\xff\xc0\x08\x00\x14@\x00\x04\x00\x10\x00\x00\x7f\xff\xff\xff\x80\x05\x00\x00 \x00\x04\x00\x0c\x00\x00\x1f\xff\xff\xfe\x00\x06\x80\x00\x00\x00\x08\x00\x01\x00\x00\x07\xff\xff\xf0\x00\x02@\x00\x10\x00\x08\x00\x00\x00\x00\x00\x7f\xff\x80\x00\x02\x00\x00\x08\x00\x10\x00\x00\x00\x00\x00\x02\xa0\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00')
RoaRobLogo=bytearray(b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00$F#\x08A\x00\x00\x00\x00\x00\x00\x08$B!\x08 \x80\x00\x00\x00\x00\x00\x1e""!\x08 \x80\x00\x00\x00\x00\x00>""!\x00 \x80\x00\x00\x00\x00\x00>2"1\x0c \x80\x00\x00\x00\x00\x00>""1\x0c \x80\x00\x00\x00\x00\x00>&b!\x0c \x80\x00\x00\x00\x00\x00\x1c&b!\x0c!\x80\x00\x00\x00\x00\x00\x08fF#\x08a\x80\x00\x00\x00\x00\x00\x08dDb\x08A\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x01\xf1\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x03\x01\xe0\x00\x00\x00\x08\x00\x00\x00\x00\x00\x02p0\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x98\xd0\x00\x00\x00\x08\x00\x00\x00\x01\x80\x00\x89`\x00\x00\x07\xc0\x00\x00\x00\x01\x80\x01\x8b \x00\x00\x07\xe0\x00\x00\x00\x01\x80\x01\x0e0\x00\x00\x0ep\x00\x00\x00\x01\x80\x01\x0e\x10\x00\x00\x0es\xe3\xf3\xf1\xf1\x98\xf1\x0e\x10\x00\x00\x0ew\xf7\xf3\xf9\xf9\xb9\xf9\x0e\x10\x00\x00\x0f\xe673\x1b\x99\xf3\x9d\x1e\xf0\x00\x00\x0f\xc663\x1b\x1d\xe3\xfd>\xf0\x00\x00\x0e\xe663\x1b\x1d\xf3\xf9\xba\xe0\x00\x00\x0evw3\x1b\x99\xb9\x80\xb9\xe0\x00\x00\x0ew\xe7\xf3\x19\xf9\x9d\xf8\x99\xc0\x00\x00\x063\xc3\xb3\x18\xf1\x88\xf8\xd0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00`\x00\x00\x00\x00\x00\x0c\x00\x00\x10\x00\x00\x00\x00\x00\x00\x1f\x80\x0c\x00\x068\x00\x00\x00\xc0\x00\x00\x1f\xc0\x0c\x00\x06\x00\x00\x01\x81\xc0\x00\x00\x18\xc7\r\x83\x8f\x90\xf1\xe1\x81\xc0\x00\x00\x19\xcf\x8f\xcf\xcf\xb9\xfb\xe1\xe3\xc0\x00\x00\x1f\x9d\xcc\xee\xe6;\x97\x01\xbe\x80\x00\x00\x1f\x18\xcclf;\x03\x81\x8c\x80\x00\x00\x1b\x98\xcclf;\x03\xe1\x80\x80\x00\x00\x19\x98\xcc\xecf;\x80q\x80\x80\x00\x00\x19\xdf\xcf\xef\xe7\xbb\xfbq\x81\x80\x00\x00\x18\xcf\x8f\xc7\xc7\xb9\xf3\xe1\x81\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x83\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xfe\x00\x00\x00\x03\xff\xff\xff\xff\xff\xff\xf0<\x00\x00\x00\x060\x00\x00\x00\x00\x03\x98\x00\x00\x00\x00\x0c\x18\x00\x00\x08\x00\x02\x0c\x00\x00\x00\x00\x08\x08\x00\x04\x08\x00\x02\x0c\x00\x00\x00\x00\x08\x08<4.<\x06\x04\x00\x00\x00\x00\x08\x08f%\xaaf\x02\x0c\x00\x00\x00\x00\x0c\x18CE*A\x02\x0c\x00\x00\x00\x00\x060\xc3<\xeeA\x01\x98\x00\x00\x00\x00\x03\xf0C\x00\x00A\x03\xf0\x00\x00\x00\x00\x00?b\x00\x00c\x7f\x00\x00\x00\x00\x00\x00\x01\xff\xff\xff\xff\xe0\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')
#PreviousblinkClosed=bytearray(b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00$\xaa\xa5UUUUJ\x95"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x80\x00$DB \x00@@\x08\x90\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00J\xb5V\xdbUUUV\xdbV\xabj\xaa\xd5\x00R\x88\x91$\x92I)"I)(\x92E$\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x12$\x89$\x92D\x88\x88\x82\x04\x81\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x88\x92I$\xa9URUT\x94@\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')
blinkClosed=bytearray(b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x02I$\x92I$\x92I$\xa0\x00\x00\x00\x00\x00\x05UUUUUUUU \x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')

blink3qtrClosed=bytearray(b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xfc\x00\x00\x1f\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0f\xf8\x00\x00\x0f\xf8\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7f\xf8\x00\x00\x0f\xff\x00\x00\x00\x00\x00\x00\x00\x00\x03\xff\xf8\x00\x00\x0f\xff\xe0\x00\x00\x00\x00\x00\x00\x00\x0f\xff\xf8\x00\x00\x0f\xff\xfc\x00\x00\x00\x00\x00\x00\x00\x7f\xff\xf8\x00\x00\x07\xff\xff\x00\x00\x00\x00\x00\x00\x00\x7f\xff\xf0\x00\x00\x0f\xff\xff\x80\x00\x00\x00\x00\x00\x00\x7f\xff\xf8\x00\x00\x0f\xff\xff\x80\x00\x00\x00\x00\x00\x00\x7f\xff\xf8\x00\x00\x0f\xff\xff\x80\x00\x00\x00\x00\x00\x00\x01\x7f\xf8\x00\x00\x0f\xff@\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')
blinkHalfwayOpen=bytearray(b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\n\xa8\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00_\xff\xff\xff@\x00\x00\x00\x00\x00\x00\x00\x00\x00\x17\xff\xff\xff\xff\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x01\xff\xff\xff\x7f\xff\xff\xf0\x00\x00\x00\x00\x00\x00\x00\x1f\xff\xff\xf0\x07\xff\xff\xfc\x00\x00\x00\x00\x00\x00\x00\x1f\xff\xff\xc0\x01\xff\xff\xfe\x00\x00\x00\x00\x00\x00\x00?\xff\xff\x80\x00\xff\xff\xfe\x00\x00\x00\x00\x00\x00\x00?\xff\xff\x00\x00\x7f\xff\xff\x00\x00\x00\x00\x00\x00\x00?\xff\xfe\x00\x00?\xff\xff\x00\x00\x00\x00\x00\x00\x00?\xff\xfc\x00\x00\x1f\xff\xff\x00\x00\x00\x00\x00\x00\x00\x7f\xff\xfc\x00\x00\x1f\xff\xff\x00\x00\x00\x00\x00\x00\x00\x7f\xff\xf8\x00\x00\x0f\xff\xff\x00\x00\x00\x00\x00\x00\x00\x7f\xff\xf8\x00\x00\x0f\xff\xff\x80\x00\x00\x00\x00\x00\x00\x7f\xff\xf8\x00\x00\x0f\xff\xff\x80\x00\x00\x00\x00\x00\x00\x7f\xff\xf8\x00\x00\x0f\xff\xff\x80\x00\x00\x00\x00\x00\x00\x7f\xff\xf8\x00\x00\x07\xff\xff\x80\x00\x00\x00\x00\x00\x00\x7f\xff\xf8\x00\x00\x0f\xff\xff\x80\x00\x00\x00\x00\x00\x00\x7f\xff\xf8\x00\x00\x0f\xff\xff\x80\x00\x00\x00\x00\x00\x00\x7f\xff\xf8\x00\x00\x0f\xff\xff\x00\x00\x00\x00\x00\x00\x00\x7f\xff\xf8\x00\x00\x0f\xff\xff\x80\x00\x00\x00\x00\x00\x00\x7f\xff\xf8\x00\x00\x0f\xff\xff\x00\x00\x00\x00\x00\x00\x00\x7f\xff\xfc\x00\x00\x1f\xff\xff\x00\x00\x00\x00\x00\x00\x00?\xff\xfc\x00\x00\x1f\xff\xff\x00\x00\x00\x00\x00\x00\x00?\xff\xfe\x00\x00?\xff\xff\x00\x00\x00\x00\x00\x00\x00?\xff\xff\x00\x00\x7f\xff\xfe\x00\x00\x00\x00\x00\x00\x00?\xff\xff\x80\x00\xff\xff\xfe\x00\x00\x00\x00\x00\x00\x00\x1f\xff\xff\xc0\x01\xff\xff\xfe\x00\x00\x00\x00\x00\x00\x00\x0f\xff\xff\xf0\x07\xff\xff\xfc\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xfe\xbf\xff\xff\xe0\x00\x00\x00\x00\x00\x00\x00\x00\x07\xff\xff\xff\xff\xfc\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x17\xff\xff\xfd\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')
#e14logoSM=bytearray(b'\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff\xfa\x81\xff\xff\xfe\xff\xff\xff\x05Z\xff\xff\xfe\xff\xff\xff\xd4\xa5\xf5\x7f\xfe\xff\xff\xff\xeaR\x9b\x7f\xfe\xff\xff\xff\xe5*\xed\xbf\xfe\xff\xff\xfe\tI*\xff\xfe\xff\xff\xe0\n\xa5\xdb\x7f\xfe\xff\xff\x00\x8aTm\x7f\xfe\xff\xfe\x08\t*\xab_\xfe\xff\xfd\xc0J\xa5m\x7f\xfe\xff\xfc"\x05R\xb5\xbf\xfe\xff\xfa\x80\x14\x94\xaa\xdf\xfe\xff\xfa\x88\x85M^\x7f\xfe\xff\xf9\x00\nV\xa9\x1f\xfe\xff\xf4\x02E+t\xdf\xfe\xff\xf4HI]\xa8_\xfe\xff\xf0\x00\xa5UP/\xfe\xff\xe2\x01*m\xe9\x17\xfe\xff\xe8IR\xb0\x10\x17\xfe\xff\xa0\x02\x95@\x00O\xfe\xff@\x84\xa9\x00\x00\x07\xfe\xfeB\x12J\x00\x00\x0b\xfe\xf9\x08\n\xa8\x00\x00E\xfe\xf5@E \x00\x00\x02\xfe\xe4\x83\xba\xa2\x04\x00\x04\xfe\xd2\rV\x82\x02\x00\x02>\xea\x8a\x02\xa1\x04\x00\x02\x9e\xea\x14\x11\x82\x04\x00\x01^\xf2\x8c\x81B\x04\x02\x02\xa6\xf5\x18\x01\x81\x04\x02\x81\x1e\xf9\x14$\xc2\x02\x01\x02\xce\xfc\x17\xb5B\n\x02\x01>\xfd\x1a\xdb\x81\x00\x01\x01^\xfeH\x00\x02\x06\x02\x02>\xfe\x18\x00\x01\x01\x01\x01~\xff\x0c\x89\x02\x04\x02\x02\xfe\xfc\x94\x00\x02\x02\xd5b\xfe\xfe\x8c A\x00(\x81\xfe\xfd\n\x05\x02\x00\x02\x05\xfe\xfc\x8d\xda\x82\x00\x02\x05\xfe\xfdCm\x02\x00\x01\x05\xfe\xfa\x80\x00\x10\x00\x00\x08\xfe\xf9P \x80\x00\x00\x0b\xfe\xfaA\x04\x00\x00\x00(\xfe\xf9P\x00$\x00\x00\x15\xfe\xfa\xa8B\x00\x00\x01$\xfe\xfd\x14\x08\x01 \x04U\xfe\xffI\x00\x90\x02 \xa4\xfe\xff\xe4 \x04\x08\x01\x15\xfe\xff\xfd\x04 \x80\x84\xd3\xfe\xff\xfe\x80\x80 \x12/\xfe\xff\xfe\xa8\x02\x04\x0b\xff\xfe\xff\xffR\x10\x00\xb7\xff\xfe\xff\xffI\x00\x92\x8b\xff\xfe\xff\xff\xaa\xaa\no\xff\xfe\xff\xff\x94\xa5i\x1f\xff\xfe\xff\xff\xca\x92\x95_\xff\xfe\xff\xff\xd2^I\x7f\xff\xfe\xff\xff\xc9\xff\xd5?\xff\xfe\xff\xff\xf7\xff\xe8\xff\xff\xfe\xff\xff\xff\xff\xfe\xff\xff\xfe\xff\xff\xff\xff\xff\xff\xff\xfe')

E14logo=bytearray(b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01[j\x00\x00\x05@\x01P\x00\x00\x00\x00\x00\x00\x00\x04\xad\xb5\x00\x00\n\x80\x00\xa0\x00\x00\x00\x00\x00\x00\x00\x12\xd6\xaa\xd0\x00\x02@\x02T\x00\x00\x00\x00\x00\x00\x00]umj\x00\n\x80\x01@\x00\x00\x00\x00\x00\x00\x00\xab\x96\xb7\xb4\x00\x05 \x00\xa8\x00\x00\x00\x00\x00\x00\x00\xedR\x94\xad\x00\x04\x80\x02P\x00\x00\x00\x00\x00\x00\x02\xb5\x08B\xb6\x00\n\x80\x01D\x00\x00\x00\x00\x00\x00\x01R \x00Z\x80\x02@\x00\xa8\x00\x00\x00\x00\x00\x00\x05\xd0\x00\x00+\x00\n\x90\x02P\x00\x00\x00\x00\x00\x00\x02\xa8\x00\x00\x15\x00\x05@\x01@\x00\x00\x00\x00\x00\x00\x05`\x00\x00\x16\xa0\x04\x80\x01(\x00\x00 \x00\x00\x00\x05\xa8\x00\x00\r\x80\n@\x04\xa0\x00\x01@\x00\x00\x00\n\xd0\x00\x00*\xa0\x05\x00\x01T\x00\x00\xa8\x00\x00\x00\x05@\x00\x00\x0b@\t@\x00\x90\x00\x02P\x00\x00\x00\x0b\xe0\x00\x00\r@\x05 \x02@\x00\x01 \x00\x00\x00\n\xa0\x00\x00\x16\xa0\n\x80\x01T\x00\x00\xa4\x00\x00\x00\x0bP\x00\x00\x0b@\x02@\x01P\x00\x01P\x00\x00\x00\n\xc0\x00\x00\n\xa0\n\x80\x04\xa0\x00\x00\x90\x00\x00\x00\rb"$\xab@\x05 \x01\x14\x00\x02@\x00\x00\x00\x07\xb5UR\x96\xa0\t@\x00\xd0\x00\x01P\x00\x00\x00\n\xaa\xaa\xadk@\x05\x00\x02 \x00\x00\xa8\x00\x00\x00\r\xb6\xdd\xd6\xbd\xa0\n\xa0\x01T\x00\x02@\x00\x00\x00\x06\xdbj\xbbU@\x02\x00\x00\xa0\x00\x010\x00\x00\x00\x0bQ\x15D\xa5\x00\n\xa0\x02P\x00\x00\xa2\x00\x00\x00\rD\x00\x00\x00\x00\x05\x00\x00\xaa\x00\x02\x90\x00\x00\x00\x06\xe0\x00\x00\x00\x00\t@\x01@\x00\x00\xa0\x00\x00\x00\x0b@\x00\x00\x00\x00\x05 \x00\xa8\x00\x02P\x00\x00\x00\rP\x00\x00\x00\x00\n\x80\x00T\x00\x01H\x00\x00\x00\x05\xa0\x00\x00\x00\x00\x04\x80\x01J\x00\x00\xa0\x00\x00\x00\rP\x00\x00\x00\x00\n@\x00)\x00\x02P\x00\x00\x00\x06\xc0\x00\x00\x00\x00\x02\x80\x00\xa4\xa0\x01$\x90\x00\x00\x0b`\x00\x00\x00\x00\n\xa0\x00*J\xa9R@\x00\x00\x05\xa0\x00\x00\x00\x00\x05\x00\x00\x15)\x14\xa9(\x00\x00\n\xa8\x00\x00\x00\x00\x12\xa0\x00B\xa5J\x95P\x00\x00\x05\xd0\x00\x00\x00\x00\x04\x80\x00\tURJ\x88\x00\x00\x02\xa0\x00\x00\x00\x00\n@\x00\x00$\xaa\xa4@\x00\x00\x05h\x00\x00\x00\x00\x05\x00\x00\x02\x89\x01Q\x00\x00\x00\x02\xb0\x00\x00\x00\x00\t@\x00\x00\x00*H\x00\x00\x00\x02\xd5\x00\x00\x92\x00\x05 \x00\x00\x00\x00\xa0\x00\x00\x00\x01m$\x94H\x00\n\x80\x00\x00\x00\x01(\x00\x00\x00\x00\xb6\xaaSV\x00\x04\x80\x00\x00\x00\x00\xa0\x00\x00\x00\x01Z\xd5\xadZ\x00\x12\xa0\x00\x00\x00\x02\x90\x00\x00\x00\x00KZ\xb5\xaa\x00\x05\x00\x00\x00\x00\x00\xa4\x00\x00\x00\x00*\xad\xd6\xa9\x00\t@\x00\x00\x00\x01 \x00\x00\x00\x00\x01j\xa9\x10\x00\x02\x00\x00\x00\x00\x00H\x00\x00\x00\x00\x00*\xaa@\x00\x00 \x00\x00\x00\x01\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x08\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')

# TRY1   spinnerPos1=bytearray(b'\xf8\x01\xff\xc0?\x81\xf8\x1f\x07\xe0\x1f\xfe\x00\x00\x00\x00\xfc\x01\xff\xc0?\xc0\xf8?\x07\xe0?\xf8\x00\x00\x00\x00\xfe\x00\xff\xe0\x1f\xc0\xfc\x1e\x0f\xc0\x7f\xe0\x00\x00\x00\x00\xfe\x00\x7f\xe0\x1f\xc0\xf8>\x0f\x80\xff\x80\x00\x00\xbf\xd4\xff\x00?\xf0\x0f\xe0|\x1e\x0f\x81\xff\x00\x00_\xff\xff\xff\x80?\xf8\x0f\xe0|>\x1f\x03\xfc\x00\x07\xff\xff\xff\xff\x80\x1f\xf8\x07\xf0|\x1e\x1f\x07\xf8\x00?\xff\xff\xff\xff\xc0\x0f\xfc\x03\xf0<<\x1e\x0f\xe0\x01\xff\xff\xff\xff\xff\xe0\x07\xfe\x03\xf8>\x1e>\x0f\xc0\x0f\xff\xff\xff\xff\xff\xf0\x03\xff\x01\xf8>\x1c<\x1f\x80?\xff\xff\xff\xff\xff\xf8\x01\xff\x00\xfc\x1e\x1c<?\x00\xff\xff\xff\xff\xff\xff\xf8\x00\xff\x80\xfc\x1e\x1c8|\x03\xff\xff\xff\xff\xff\xff\xfe\x00\x7f\xc0~\x0e\x1cx|\x07\xff\xff\xb7\xff\xff\x7f\xfe\x00?\xe0?\x0f\x1cp\xf0\x1f\xff\xc0\x00\x03\xff?\xff\x80\x1f\xf0\x1f\x07\x1cq\xf0\x7f\xf8\x00\x00\x00\x1f\x1f\xff\x80\x0f\xf8\x0f\x87\x8cq\xc0\xff\xc0\x00\x00\x00\x03\x0f\xff\xe0\x07\xfc\x07\xc3\x8cc\xc1\xfe\x00\x00\x00\x00\x00\x07\xff\xf0\x01\xfe\x03\xc3\x8c\xe3\x87\xf0\x00\x00\x00\x00\x00\x03\xff\xf8\x00\xff\x81\xe1\xceg\x0f\xc0\x00\x00\x00\x00\x00\x00\xff\xfe\x00\x7f\xc0\xf1\xcc\xc6\x1f\x00\x00U@\x00\x00\x00\x7f\xff\x00\x1f\xe0x\xc6N<\x00?\xff\xff\x80\x00\x00\x1f\xff\xc0\x0f\xf0<f\xccx\x07\xff\xff\xff\xfc\x00\x00\x0f\xff\xe0\x03\xfc\x1ef\xd8\xe0?\xff\xff\xff\xff\xc0\x00\x03\xff\xf8\x00\xff\x072\x99\x81\xff\xff\xff\xff\xff\xf8\x80\x00\xff\xfe\x00?\x83\x9a\xb3\x0f\xff\xff\xff\xff\xff\xfe\xe0\x00\x7f\xff\x80\x0f\xe1\xca\xa6?\xe8\x00_\xff\xff\xff\xf0\x00\x0f\xff\xe0\x01\xf8e\xa8\xfc\x00\x00\x01\xff\xff\xff\xfc\x00\x03\xff\xfc\x00~4\x93\xc0\x00\x00\x00\x0f\xff\xff\xfe\x00\x00\xff\xff\x80\x0f\xcbn\x00\x00\x00\x00\x01\xff\xff\xff\x80\x00\x1f\xff\xf8\x00\xb5 \xbf\xff\x80\x00\x00?\xff\xff\xe0\x00\x03\xff\xff\xd0\x05_\xff\xff\xfe\x00\x00\x0f\xff\xff\xf8\x00\x00?\xff\xff\xfa\xa0\x02\xff\xff\xe0\x00\x03\xff\xff\xff\xc0\x00\x00\x00\x00uY\xf8\x00\xff\xff\x80\x00?\xff\xff\xfc\x00\x00\x00\x03\xca\xa4?\x00\x1f\xff\xe0\x00\x1f\xff\xff\xff\xc0\x00\x00\x7f\x13S\x0f\xc0\x03\xff\xfc\x00\x07\xff\xff\xff\xffI_\xfceY\xc3\xf8\x00\xff\xfe\x00\x03?\xff\xff\xff\xff\xff\xe0\xedL\xe0\xfe\x00?\xff\x80\x01\x0f\xff\xff\xff\xff\xff\x81\x89$p\x7f\x80\x0f\xff\xe0\x00\x01\xff\xff\xff\xff\xfc\x07\x99&<\x1f\xe0\x03\xff\xf8\x00\x00\x1f\xff\xff\xff\xc0\x1f;3\x1e\x0f\xf0\x01\xff\xfc\x00\x00\x00\xff\xff\xf4\x00<33\x8f\x03\xfc\x00\x7f\xff\x00\x00\x00\x00\x00\x00\x00\xf8s3\x87\x81\xff\x00?\xff\x80\x00\x00\x00\x00\x00\x03\xf0\xe31\xc7\xc0\xff\x80\x0f\xff\xc0\x00\x00\x00\x00\x00\x1f\xe1\xe79\xc3\xe0\x7f\xc0\x07\xff\xf0\x00\x00\x00\x00\x00\x7f\xc3\xc68\xe1\xf0\x1f\xf0\x03\xff\xf8\xe0\x00\x00\x00\x03\xff\x03\x878\xe0\xf8\x0f\xf8\x01\xff\xfc\xfe\x00\x00\x00?\xfe\x07\x8e8\xf0\xfc\x0f\xfc\x00\xff\xfe\xff\xf0\x00\x17\xff\xf8\x0f\x0e8p|\x03\xfe\x00\x7f\xff\xff\xff\xff\xff\xff\xe0\x1f\x1e8x>\x03\xff\x00?\xff\xff\xff\xff\xff\xff\xc0>\x1e<x?\x01\xff\x80\x1f\xff\xff\xff\xff\xff\xff\x00\xfc\x1c8<\x1f\x80\xff\xc0\x0f\xff\xff\xff\xff\xff\xfc\x01\xf8<<<\x1f\xc0\x7f\xe0\x07\xff\xff\xff\xff\xff\xe0\x03\xf8<<>\x0f\xc0?\xf0\x03\xff\xff\xff\xff\xff\x80\x07\xf0|<>\x0f\xe0\x1f\xf8\x01\xff\xff\xff\xff\xfc\x00\x1f\xe0x<>\x07\xf0\x1f\xf8\x01\xff\xff\xff\xff\xc0\x00?\xc0\xf8|\x1f\x07\xf0\x0f\xfc\x00\xff\xff\xff\xf4\x00\x00\xff\x81\xf8<\x1f\x03\xf8\x07\xfe\x00\x7f\x05P\x00\x00\x01\xff\x01\xf0|\x1f\x03\xf8\x07\xff\x00\x7f\x00\x00\x00\x00\x07\xfe\x03\xf0|\x1f\x81\xfc\x03\xff\x00?\x00\x00\x00\x00\x1f\xfc\x03\xe0|\x1f\x81\xfc\x03\xff\x80\x1f\x00\x00\x00\x00\x7f\xf8\x07\xe0|\x1f\x81\xfe\x01\xff\xc0\x1f\x00\x00\x00\x03\xff\xf0\x0f\xe0\xfc\x1f\x80\xff\x01\xff\xc0\x0f\x00\x00\x00\x0f\xff\xe0\x1f\xc0\xfc\x0f\xc0\xff\x00\xff\xe0\x0f\x00\x00\x00\xff\xff\xc0\x1f\xc0\xfc\x1f\xc0\xff\x00\xff\xf0\x07')
#Pos1Try2
spinnerPos1=bytearray(b"\xfc\x00\xff\xe0\x1f\xe0|\x1f\x83\xf0\x1f\xfc\x00\x00\x00\x00\xff\x00\xff\xf0\x0f\xe0|\x1f\x83\xe0?\xf0\x00\x00\x00\x00\xfe\x00\x7f\xf8\x0f\xe0|\x1f\x83\xe0\x7f\xc0\x00\x03\xff\xff\xff\x00?\xf8\x07\xf0~\x1f\x87\xc0\xff\x80\x00\x7f\xff\xff\xff\x80\x1f\xfc\x03\xf0>\x1f\x07\xc1\xfe\x00\x07\xff\xff\xff\xff\xc0\x0f\xfe\x03\xf8>\x1f\x87\x83\xf8\x00?\xff\xff\xff\xff\xc0\x07\xfe\x01\xf8\x1e\x0e\x0f\x83\xf0\x01\xff\xff\xff\xff\xff\xe0\x03\xff\x01\xfc\x1e\x0e\x0f\x07\xe0\x07\xff\xff\xff\xff\xff\xf0\x01\xff\x80\xfc\x0f\x0e\x0f\x0f\xc0\x1f\xff\xff\xff\xff\xff\xf8\x00\xff\xc0~\x0f\x0e\x1e\x1f\x80\x7f\xff\xff\xff\xff\xff\xfc\x00\x7f\xe0?\x0f\x1e\x1e\x1e\x01\xff\xff\xdb\xbf\xff\xff\xfe\x00\x1f\xf0\x1f\x07\x8e\x1c<\x07\xff\xf8\x00\x01\xff\x7f\xff\x80\x1f\xf8\x1f\x87\x8e\x1c|\x1f\xff\x00\x00\x00\r\x1f\xff\x80\x07\xfc\x0f\xc3\x8e\x18x\x7f\xf0\x00\x00\x00\x00\x1f\xff\xc0\x03\xfe\x03\xc3\xc6\x18\xe0\xff\x80\x00\x00\x00\x00\x07\xff\xf0\x01\xff\x03\xe1\xc69\xe3\xfc\x00\x00\x00\x00\x00\x01\xff\xfc\x00\x7f\x81\xf8\xc69\x83\xe8\x00\x00\x00\x00\x00\x01\xff\xff\x00?\xe0\xf8\xe61\x8f\xa0\x01$\x91\x00\x00\x00\x7f\xff@\x0f\xe08f\xb3\x8f\x00'\xff\xff\xe4\x00\x00\x1f\xff\xc0\x07\xfc\x1e33<\x01\xff\xff\xff\xff\x80\x00\x1f\xff\xf0\x01\xfc\x0e3\xa68\x17\xff\xff\xff\xff\xf0\x00\x03\xff\xfa\x00\xbf\x83\x9b\xac\xe0\xff\xff\xff\xff\xff\xfe\xc0\x00\xff\xfe\x80/\xc3\x89\xa4\x83\xff\xf7\xff\xff\xff\xff\xc0\x00?\xff\xa0\x0b\xf0m\xa9\x9f\xad\x00-\xff\xff\xff\xf0\x00\x0f\xff\xf4\x00\xfcU6}\x00\x00\x00_\xff\xff\xfc\x00\x01\xff\xfd\x00/*\xb1P\x00\x00\x00\x02\xff\xff\xfe\x00\x00_\xff\xd0\x05\xda\xdd\x02\xaa\x00\x00\x00/\xff\xff\x80\x00\x17\xff\xfd@c%_\xff\xd5\x00\x00\x0b\xff\xff\xe0\x00\x01\x7f\xff\xea\x9e\xa2\xd7\xff\xff@\x00\x02\xff\xff\xfa\x00\x00\x15\xff\xff\xe6\xb2\x01_\xff\xfa\x00\x00\xbf\xff\xfe\x80\x00\x00\xaa\xaa\x95+\xd4\x02\xff\xfe\x80\x00/\xff\xff\xd0\x00\x00\x00\x00\xaa\xa8]\x00/\xff\xe8\x00\x0b\xff\xff\xfe\x80\x00\x00\x0b\xc9\xcf\x17\xc0\x07\xff\xfe\x00\x03\xff\xff\xff\xd4\x00\x01_\x1a\xb1\xc3\xf8\x00\xff\xff@\x00\xff\xff\xff\xff\xad_\xf8vVp\xfe\x00?\xff\xe0\x00/\xff\xff\xff\xff\xff\xe0\xe4R8?\xc0\x07\xff\xf8\x00\x0b\xff\xff\xff\xff\xff\x03\xcc\xbb\x9e\x0f\xe0\x03\xff\xfe\x00\x01\x7f\xff\xff\xff\xf0\x07\x89I\x8e\x07\xf8\x00\xff\xfe\x80\x80\x0b\xff\xff\xff \x1f\x19\xcc\xc7\x81\xfe\x00?\xff\x80\x00\x00Iu\x10\x00\xfc9\xcc\xe7\xc0\xff\x80\x0f\xff\xe0\x00\x00\x00\x00\x00\x01xs\xcca\xf0?\xc0\x03\xff\xf8\x00\x00\x00\x00\x00\x07\xf0\xf3\xccp\xf0\x1f\xe0\x01\xff\xfc\x00\x00\x00\x00\x00?\xe0\xe3\x8cx\xfc\x1f\xf8\x00\xff\xfc\x80\x00\x00\x00\x01\xff\x81\xc3\x8e8|\x07\xfc\x00?\xff\xfc\x00\x00\x00\x1f\xff\x03\xc7\x8e<>\x03\xfe\x00\x1f\xff\xff\x80\x00\x01\xef\xfc\x07\x87\x8e<\x1f\x01\xff\x00\x0f\xff\xff\xff\xff\xff\xff\xf8\x0f\x8f\x8e\x1c\x1f\x80\xff\xc0\x07\xff\xff\xff\xff\xff\xff\xe0\x1f\x0f\x0e\x1e\x0f\xc0\xff\xd0\x03\xff\xff\xff\xff\xff\xff\x80~\x0e\x0e\x1e\x0f\xc0?\xf8\x01\xff\xff\xff\xef\xff\xfe\x00|\x1e\x0e\x1f\x07\xe0\x1f\xf8\x01\xff\xff\xff\xff\xff\xf8\x01\xfc\x1e\x0f\x0f\x03\xf0\x1f\xfc\x00\xff\xff\xff\xff\xff\xc0\x03\xf8<\x1f\x0f\x83\xf8\x0f\xfe\x00\x7f\xff\xff\x7f\xfe\x00\x07\xf0|\x0f\x0f\x81\xf8\x07\xff\x00=\xff\xff\xff\xe0\x00\x1f\xe0|\x1f\x0f\x81\xfc\x03\xff\x80\x1f\xff\xff\xfe\x00\x00?\xc0\xf8\x1f\x07\xc1\xfc\x03\xff\xc0\x1f\x0b\xfa\x00\x00\x00\xff\x80\xf8\x1f\x07\xc0\xfe\x01\xff\xc0\x0f\x00\x00\x00\x00\x03\xff\x01\xf8\x1f\x07\xc0\xff\x00\xff\xe0\x07\x00\x00\x00\x00\x0f\xfe\x03\xf0\x1f\x07\xe0\x7f\x00\xff\xf0\x07\x00\x00\x00\x00?\xfc\x03\xf0?\x07\xe0\x7f\x80\x7f\xf0\x03\x01\x00\x00\x00\xff\xf8\x07\xf0?\x07\xe0\x7f\x80\x7f\xf8\x03\x00\x00\x00\x07\xff\xf0\x0f\xe0>\x07\xe0?\xc0?\xfc!\x00\x00\x00\x0f\xff\xf0\x0f\xe0?\x07\xf0?\xc0?\xfc!\x00\x00\x00\x7f\xff\xe0\x0f\xe0>\x07\xf0?\xc0?\xfc\x01\x00@\x0b\xff\xff\x80?\xc0~\x07\xf0?\xc0\x1f\xfe@")

#Try1 spinnerPos2=bytearray(b'\xf8\x03\xff\x80\x7f\x81\xf8\x1f\x03\xf0\x0f\xff\x80\x00\x00\x00\xf8\x01\xff\xc0?\x81\xf8?\x07\xe0\x1f\xfe\x00\x00\x00\x00\xfc\x01\xff\xc0?\xc0\xf8\x1f\x07\xe0?\xf8\x00\x00\x00\x00\xfe\x00\xff\xe0\x1f\xc0\xfc>\x0f\xc0\x7f\xe0\x00\x00\x00\x00\xfe\x00\x7f\xe0\x1f\xc0\xf8\x1e\x0f\x80\xff\x80\x00\x00\xbf\xd4\xff\x00?\xf0\x0f\xe0|>\x0f\x81\xff\x00\x00_\xff\xff\xff\x80?\xf8\x0f\xe0|\x1e\x1f\x03\xfc\x00\x07\xff\xff\xff\xff\x80\x1f\xf8\x07\xf0|>\x1f\x07\xf8\x00?\xff\xff\xff\xff\xc0\x0f\xfc\x03\xf0<\x1c\x1e\x0f\xe0\x01\xff\xff\xff\xff\xff\xe0\x07\xfe\x03\xf8>\x1e>\x0f\xc0\x0f\xff\xff\xff\xff\xff\xf0\x03\xff\x01\xf8>\x1c<\x1f\x80?\xff\xff\xff\xff\xff\xf8\x01\xff\x00\xfc\x1e\x1c<?\x00\xff\xff\xff\xff\xff\xff\xf8\x00\xff\x80\xfc\x1e\x1c8|\x03\xff\xff\xff\xff\xff\xff\xfe\x00\x7f\xc0~\x0f\x1cx|\x07\xff\xff\xb7\xff\xff\x7f\xfe\x00?\xe0?\x0f\x1cp\xf0\x1f\xff\xc0\x00\x03\xff?\xff\x80\x1f\xf0\x1f\x07\x1cq\xf0\x7f\xf8\x00\x00\x00\x1f\x1f\xff\x80\x0f\xf8\x0f\x87\x0cq\xc0\xff\xc0\x00\x00\x00\x03\x0f\xff\xe0\x07\xfc\x07\xc3\x8cc\xc1\xfe\x00\x00\x00\x00\x00\x07\xff\xf0\x01\xfe\x03\xc3\x8c\xe3\x87\xf0\x00\x00\x00\x00\x00\x03\xff\xf8\x00\xff\x81\xe1\xceg\x0f\xc0\x00\x00\x00\x00\x00\x00\xff\xfe\x00\x7f\xc0\xf1\xcc\xc6\x1f\x00\x00U@\x00\x00\x00\x7f\xff\x00\x1f\xe0x\xc6N<\x00?\xff\xff\x80\x00\x00\x1f\xff\xc0\x0f\xf0<f\xccx\x07\xff\xff\xff\xfc\x00\x00\x0f\xff\xe0\x03\xfc\x1ef\xd8\xe0?\xff\xff\xff\xff\xc0\x00\x03\xff\xf8\x00\xff\x072\x99\x81\xff\xff\xff\xff\xff\xf8\x80\x00\xff\xfe\x00?\x83\x9a\xb3\x0f\xff\xff\xff\xff\xff\xfe\xe0\x00\x7f\xff\x80\x0f\xe1\xca\xa6?\xf0\x00_\xff\xff\xff\xf0\x00\x0f\xff\xe0\x01\xf8e\xa8\xfc\x00\x00\x01\xff\xff\xff\xfc\x00\x03\xff\xfc\x00~5S\xc0\x00\x00\x00\x0f\xff\xff\xfe\x00\x00\xff\xff\x80\x0f\xcaN\x00\x00\x00\x00\x01\xff\xff\xff\x80\x00\x1f\xff\xf8\x00\xb5\xb0\xbf\xff\xa0\x00\x00?\xff\xff\xe0\x00\x03\xff\xff\xe0\x05_\xff\xff\xfe\x00\x00\x0f\xff\xff\xff\x00\x00\x00\xbf\xfa\n\xaf\x80\x0f\xff\xfc\x00\x00\xff\xff\xff\xc0\x00\x00\x00\x00uP\xf8\x00\xff\xff\x80\x00?\xff\xff\xfc\x00\x00\x00\x03\xcal?\x00\x1f\xff\xe0\x00\x1f\xff\xff\xff\xc0\x00\x00\x7f\x13S\x0f\xc0\x03\xff\xfc\x00\x07\xff\xff\xff\xffI_\xfceY\xc3\xf8\x00\xff\xfe\x00\x03?\xff\xff\xff\xff\xff\xe0\xedL\xe0\xfe\x00?\xff\x80\x01\x0f\xff\xff\xff\xff\xff\x81\x89$p\x7f\x80\x0f\xff\xe0\x00\x01\xff\xff\xff\xff\xfc\x07\x99&<\x1f\xe0\x03\xff\xf8\x00\x00\x1f\xff\xff\xff\xc0\x1f;3\x1e\x0f\xf0\x01\xff\xfc\x00\x00\x00\xff\xff\xf4\x00<33\x8f\x03\xfc\x00\x7f\xff\x00\x00\x00\x00\x00\x00\x00\xf8s3\x87\x81\xff\x00?\xff\x80\x00\x00\x00\x00\x00\x03\xf0\xe31\xc7\xc0\xff\x80\x0f\xff\xc0\x00\x00\x00\x00\x00\x1f\xe1\xe79\xc3\xe0\x7f\xc0\x07\xff\xf0\x00\x00\x00\x00\x00\x7f\xc3\xc68\xe1\xf0\x1f\xf0\x03\xff\xf8\xe0\x00\x00\x00\x03\xff\x03\x878\xe0\xf8\x0f\xf8\x01\xff\xfc\xfe\x00\x00\x00?\xfe\x07\x8e8\xf0\xfc\x0f\xfc\x00\xff\xfe\xff\xf0\x00\x17\xff\xf8\x0f\x0e8p|\x03\xfe\x00\x7f\xff\xff\xff\xff\xff\xff\xe0\x1f\x1e8x>\x03\xff\x00?\xff\xff\xff\xff\xff\xff\xc0>\x1e<x?\x01\xff\x80\x1f\xff\xff\xff\xff\xff\xff\x00\xfc\x1c8<\x1f\x80\xff\xc0\x0f\xff\xff\xff\xff\xff\xfc\x01\xf8<<<\x1f\xc0\x7f\xe0\x07\xff\xff\xff\xff\xff\xe0\x03\xf8<<>\x0f\xc0?\xf0\x03\xff\xff\xff\xff\xff\x80\x07\xf0|<>\x0f\xe0\x1f\xf8\x03\xff\xff\xff\xff\xfc\x00\x1f\xe0x<>\x07\xf0\x1f\xf8\x01\xff\xff\xff\xff\xc0\x00?\xc0\xf8|\x1f\x07\xf0\x0f\xfc\x00\xff\xff\xff\xf4\x00\x00\xff\x81\xf8<\x1f\x03\xf8\x07\xfe\x00\x7f\x05P\x00\x00\x01\xff\x01\xf0|\x1f\x03\xf8\x07\xff\x00\x7f\x00\x00\x00\x00\x07\xfe\x03\xf0|\x1f\x81\xfc\x03\xff\x00?\x00\x00\x00\x00\x1f\xfc\x03\xe0|\x1f\x81\xfc\x03\xff\x80\x1f\x00\x00\x00\x00\x7f\xf8\x07\xe0|\x1f\x81\xfe\x01\xff\xc0\x1f\x00\x00\x00\x03\xff\xf0\x0f\xe0\xfc\x1f\x80\xff\x01\xff\xc0\x0f\x00\x00\x00\x0f\xff\xe0\x1f\xc0\xfc\x0f\xc0\xff\x00\xff\xe0\x0f')
# next line is Pos2 try 2 
spinnerPos2=bytearray(b'\x07\xff\x80?\xe0?\x07\xc1\xf8\x1f\x80\x1f\xff\xff\xff\xff\x03\xff\xc0\x1f\xf0?\x83\xe0\xf0\x7f\x00\x7f\xff\xff\xff\xff\x03\xff\xe0\x0f\xf0\x1f\x83\xc1\xf0~\x00\xff\xff\xff\xff\xff\x01\xff\xf0\x07\xf8\x0f\x81\xe0\xe0\xfc\x03\xff\xfe\x00\x00\x01\x00\xff\xf0\x07\xf8\x0f\xc3\xc1\xf0\xfc\x0f\xff\xe0\x00\x00\x00\x00\x7f\xf8\x03\xfc\x0f\xc3\xe1\xe1\xf0\x1f\xff\x00\x00\x00\x00\x00?\xfc\x01\xfe\x07\xc1\xc3\xc1\xf0?\xf8\x00\x00\x00\x00\x00\x1f\xfe\x00\xff\x03\xc1\xe1\xc3\xc0\xff\xc0\x00\x00\x00\x00\x80\x0f\xff\x00\xff\x03\xf0\xe3\xe3\xe0\xff\x00\x00\x00\x00\x00\xc0\x07\xff\x80?\x81\xe1\xe1\x87\x81\xfc\x00\x00\x00\x00\x00\xe0\x03\xff\xc0?\xc1\xf0\xf3\xc7\x07\xf8\x00\x03\xff\xff\x80\xf0\x01\xff\xe0\x1f\xc0\xf8a\x87\x07\xe0\x00\xff\xff\xff\xfe\xf0\x00\xff\xf0\x0f\xf0x\xf3\xce\x1f\xc0\x07\xff\xff\xff\xff\xfc\x00\x7f\xf8\x03\xf0xa\x8e?\x00\x7f\xff\xff\xff\xff\xfe\x00\x1f\xfc\x01\xf8\x1e;\x9c|\x01\xff\xff\xff\xff\xff\xff\x00\x0f\xff\x00\xfe\x1cq\x0c\xf0\x0f\xff\xff\xff\xff\xff\xff\x80\x07\xff\x00~\x0f\x1b\x98`?\xff\xff\xff\xff\xff\xff\xc0\x01\xff\xc0?\x0f11\xe1\xff\xff@\xbf\xff\xff\xff\xf0\x00\xff\xf0\x0f\xc3\x1b\x9b\x83\xff\x00\x00\x00\x7f\xff\xff\xf8\x00?\xf8\x07\xc3\xcc#\x0f\xf0\x00\x00\x00\x07\xff\xff\xfc\x00\x0f\xfe\x01\xf0\x95\xb6?\x80\x00\x00\x00\x00\xff\xff\xff\x00\x03\xff\x80\xf8\xc8\xac|\x00\x00\x00\x00\x00\x1f\xff\xff\xc0\x00\xff\xe0>f\xa9\xe0\x00\x00\x00\x00\x00\x07\x7f\xff\xf0\x00?\xf8\x0f9S\x80?\xff\xfc\x00\x00\x01?\xff\xf8\x00\x07\xff\x01\x8b&\x07\xff\xff\xff\xe0\x00\x00\x0f\xff\xff\x00\x00\xff\xe0\xf5\x98\x7f\xff\xff\xff\xfe\x00\x00\x03\xff\xff\xc0\x00\x0f\xfe\x1ac\xfd_\xff\xff\xff\xc0\x00\x00\xff\xff\xfc\x00\x00\x7f\xe1\xbc\x00\x00\x0f\xff\xff\xf8\x00\x00?\xff\xff\x80\x00\x00)E\x00\x00\x00\xff\xff\xfe\x00\x00\x07\xff\xff\xfc\x00\x00=a\xff\x80\x00\x0f\xff\xff\x80\x00\x00\xff\xff\xff\xff\xff\xc5\x1e\x1f\xfc\x00\x01\xff\xff\xe0\x00\x00\x1f\xff\xff\xff\xfe4c\x81\xff\xc0\x00?\xff\xf8\x80\x00\x01\xff\xff\xff\xe0kX\xe0?\xf8\x00\x0f\xff\xfe\xc0\x00\x00\x07\xff\xfc\x01\xca\xcex\x0f\xfe\x00\x03\xff\xff\xf8\x00\x00\x00\x00\x00\x07\x12S\x1e\x03\xff\x80\x00\xff\xff\xfe\x00\x00\x00\x00\x00>;S\x1f\x80\xff\xf0\x00\x7f\xff\xff\xc0\x00\x00\x00\x01\xf8d\x88\xc3\xe0?\xfc\x00\x1f\xff\xff\xf8\x00\x00\x00\x0f\xf0\xc6\x9d\xc1\xf0\x0f\xfe\x00\x0f\xff\xff\xff\xc0\x00\x01\xff\xc1\xecLp\xfc\x03\xff\x80\x03\xff\xff\xff\xff\xff\xff\xff\x07\x8c\xccx~\x01\xff\xc0\x01\xff\xff\xff\xff\xff\xff\xfc\x0f\x18\xc68\x7f\x00\x7f\xf0\x00\xff\xff\xff\xff\xff\xff\xf0\x1e,\xef<\x1f\x80?\xf8\x00\x7f\xff\xff\xff\xff\xff\xc0<9\xc6\x1e\x0f\xe0\x1f\xfe\x00\x1f\xff\xff\xff\xff\xfe\x00\xfcp\xe7\x0f\x07\xf0\x0f\xff\x00\x0f\xff\xff\xff\xff\xe0\x01\xf8y\xc3\x9f\x03\xf8\x07\xff\x80\x07_\xff\xff\xfe\x00\x03\xf0\xf0\xe7\x07\x81\xfc\x03\xff\xc0\x07\x00?\xff\x80\x00\x0f\xe0\xe1\xc3\x8f\xc1\xfe\x00\xff\xe0\x01\x00\x00\x00\x00\x00?\xc1\xe1\xe7\xc3\xc0\xff\x00\xff\xf0\x00\x00\x00\x00\x00\x00\xff\x83\xc3\xc3\x87\xe0\x7f\x80\x7f\xfc\x00\x00\x00\x00\x00\x03\xfe\x07\xc1\xc3\xc1\xf0?\x80?\xfc\x00\x00\x00\x00\x00\x1f\xfc\x03\x83\xc3\xc1\xe0\x7f\xc0\x1f\xfe\x00\x00\x00\x00\x00\xff\xf8\x0f\xc7\x83\xe3\xf8\x1f\xe0\x0f\xff\x00\x00\x00\x00\x07\xff\xf0\x1f\x07\xc1\xc0\xf8\x0f\xf0\x07\xff\x80\xe0\x00\x00\x7f\xff\xc0?\x03\x83\xe0\xfc\x0f\xf8\x07\xff\xc0\xff\xf5\x7f\xff\xff\x80~\x0f\xc1\xc1\xf8\x07\xf8\x03\xff\xe0\xff\xff\xff\xff\xfe\x00\xff\x07\x83\xe0~\x07\xfc\x01\xff\xf8\xff\xff\xff\xff\xfc\x01\xfc\x0f\xc1\xf0~\x03\xfe\x00\xff\xfc\xff\xff\xff\xff\xf0\x03\xfc\x1f\x83\xe0\xfe\x03\xfe\x00\xff\xfe\xff\xff\xff\xff\xc0\x07\xf8\x0f\x01\xf0\x7f\x01\xff\x00\x7f\xfe\xff\xff\xff\xff\x00\x0f\xf0?\x83\xf0>\x03\xff\x00\x7f\xff\xff\xff\xff\xf8\x00\x1f\xe0\x1f\x07\xe0?\x80\xff\x80?\xff\xff\xff\xff\xe0\x00?\xe0\x7f\x83\xf0\x7f\x80\xff\x80?\xff\xff\xff\xff\x00\x00\xff\xc0>\x07\xe0?\x80\x7f\xc0\x1f\xff\xff\xff\xf8\x00\x01\xff\x80\xff\x03\xf0?\xc0\x7f\xe0\x1f\xff')

# bat is 128 X 64
bat=bytearray(b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\x00\x01\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\xe0\x07\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x03\xf0\x1f\xc0\x00\x00\x02\x00\x00\x00\x00\x00\x01\x80\x00\x00\x07\xfb\xbf\xc0\x00\x00\x03\x00\x00\x00\x00\x00\x03\xc0\x00\x00\x07\xff\xff\xc0\x00\x00\x07\x80\x00\x00\x00\x00\x07\xe0\x00\x00\x03\xff\xff\xc0\x00\x00\x0f\xe0\x00\x00\x00\x00\x0f\xf0\x00\x00\x03\xff\xff\x80\x00\x00\x0f\xf0\x00\x00\x00\x00\x1f\xf8\x00\x00\x03\xff\xff\x80\x00\x00\x1f\xf8\x00\x00\x00\x00?\xf8\x00\x00\x01\xff\xff\x80\x00\x00?\xfc\x00\x00\x00\x00?\xfc\x00\x00\x01\xff\xff\x00\x00\x00\x7f\xfe\x00\x00\x00\x00\x7f\xfe\x00\x00\x00\xff\xff\x00\x00\x00\x7f\xff\x00\x00\x00\x00\xff\xff\x00\x00\x00\xff\xff\x00\x00\x01\xff\xff\x80\x00\x00\x01\xff\xff\xc0\x00\x01\xff\xff\x00\x00\x03\xff\xff\x80\x00\x00\x03\xff\xff\xe0\x00\x01\xff\xff\x00\x00\x07\xff\xff\xc0\x00\x00\x03\xff\xff\xf0\x00\x03\xff\xff\xc0\x00\x1f\xff\xff\xe0\x00\x00\x07\xff\xff\xfc\x00\x07\xff\xff\xf0\x00\x7f\xff\xff\xf0\x00\x00\x0f\xff\xff\xff\x00?\xff\xff\xfe\x03\xff\xff\xff\xf0\x00\x00\x0f\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xf8\x00\x00\x1f\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfc\x00\x00?\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfc\x00\x00?\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\x00\x00\x7f\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x7f\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x80\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x80\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x80\x01\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xc0\x01\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xc0\x03\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xc0\x03\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xe0\x03\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xe0\x07\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xe0\x07\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xe0\x07\xfc\x00\x03\xff\xff\xff\xff\xff\xff\xff\xff\xc0\x00\xff\xe0\x07\xc0\x00\x00\xff\xff\xff\xff\xff\xff\xff\xfe\x00\x00\x0f\xf0\x0e\x00\x00\x00?\xff\xff\xff\xff\xff\xff\xf8\x00\x00\x00\xf0\x08\x00\x00\x00\x0f\xff\xff\xff\xff\xff\xff\xe0\x00\x00\x000\x00\x00\x00\x00\x07\xff\xff\xff\xff\xff\xff\xc0\x00\x00\x00\x00\x00\x00\x00\x00\x03\xff\xff\xff\xff\xff\xff\x80\x00\x00\x00\x00\x00\x00\x00\x00\x01\xff\xff\xff\xff\xfb\xff\x80\x00\x00\x00\x00\x00\x00\x00\x00\x01\xfc\x0f\xff\xff\x80?\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf0\x03\xff\xff\x00\x0e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00@\x01\xff\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xfc\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7f\xf8\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00?\xf8\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00?\xf0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1f\xe0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1f\xe0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0f\xc0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07\xc0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07\xc0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')
# skull is 64 X 64 
skullCrossbones=bytearray(b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0f\xf8\x00\x00\x00\x00\x00\x00\x7f\xfe\x00\x00\x00\x00\x00\x01\xff\xff\x80\x00\x00\x00\x00\x03\xff\xff\xe0\x00\x00\x00\x00\x0f\xff\xff\xf0\x00\x00\x00\x00\x1f\xff\xff\xf8\x00\x00\x00\x00\x1f\xff\xff\xfc\x00\x00\x00\x00\x7f\xff\xff\xfe\x00\x00\x00\x00\x7f\xff\xff\xfe\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\xff\xff\x80\x00\x00\x01\xff\xff\xff\xff\x80\x00\x00\x01\xff\xff\xff\xff\x80\x00\x00\x01\xff\xff\xff\xff\x80\x00\x00\x01\xff\xff\xff\xff\x80\x00\x00\x00\xff\xff\xff\xff\x80\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\xfc\x1f\xf8?\x00\x00\x00\x00x\x07\xe0\x1e\x00\x00\x00\x00p\x03\xc0\x0e\x00\x00\x00\x00p\x03\xc0\x0e\x00\x00\x00\x000\x03\xc0\x0c\x00\x00\x00\x000\x06`\x0e\x00\x00\x00\x008\x0c8\x1e\x00\x00\x00\x00\x7f\xfc?\xfe\x00\x00\x00\x00\x7f\xfc?\xfe\x00\x00\x00\x00\x7f\xfc?\xfe\x00\x00\x00\xe0?\xfc\x1f\xfc\x0f\x00\x01\xf8\n\xfc\xbfP\x1f\x00\x01\xf8\x00\x7f\xbe\x00?\x00\x01\xf8\x00\x7f\xfe\x00?\x00\x01\xfc\x00\x7f\xfe\x00\x7f\x80\x03\xff\x00\x7f\xfe\x00\xff\xe0\x03\xff\xc0kZ\x07\xff\xe0\x07\xff\xf0\x0b\xd8\x1f\xff\xe0\x07\xff\xfc\x00\x00\x7f\xff\xe0\x07\xc3\xff\x80\x03\xff\x87\xe0\x00\x00?\xe0\x0f\xf8\x01\x80\x00\x00\x07\xf8?\xc0\x00\x00\x00\x00\x01\xff\xff\x00\x00\x00\x00\x00\x00?\xf8\x00\x00\x00\x00\x00\x00\x1f\xf8\x00\x00\x00\x00\x00\x00\xff\xfe\x00\x00\x00\x00\x00\x03\xfc\x7f\xc0\x00\x00\x00\x00\x1f\xf0\x1f\xf8\x00\x00\x07\x81\xff\x80\x03\xfe\x03\xe0\x07\xff\xfe\x00\x00\xff\xff\xe0\x07\xff\xf0\x00\x00\x1f\xff\xe0\x07\xff\xc0\x00\x00\x05\xff\xe0\x03\xff\x00\x00\x00\x01\x7f\xe0\x01\xfc\x00\x00\x00\x00\x7f\x80\x01\xf8\x00\x00\x00\x00?\x80\x01\xf8\x00\x00\x00\x00?\x00\x01\xf0\x00\x00\x00\x00\x1f\x00\x00\xf0\x00\x00\x00\x00\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')



def blk():
    oled0.fill(0)
    oled0.show()
    oled1.fill(0)
    oled1.show()

def blink(blinkHalfwayOpen, blink3qtrClosed, blinkClosed):
    fb = framebuf.FrameBuffer(blinkHalfwayOpen, 113, 64, framebuf.MONO_HLSB)
    oled0.blit(fb, 7, 0)  # Empty circle
    oled1.blit(fb, 7, 0)  # Empty circle
    oled0.show()
    oled1.show()
    utime.sleep(.05)
    fb = framebuf.FrameBuffer(blink3qtrClosed, 113, 64, framebuf.MONO_HLSB)
    oled0.blit(fb, 7, 0)  # Empty circle
    oled1.blit(fb, 7, 0)  # Empty circle
    oled0.show()
    oled1.show()
    utime.sleep(.05)
    fb = framebuf.FrameBuffer(blinkClosed, 113, 64, framebuf.MONO_HLSB)
    oled0.blit(fb, 7, 0)  # Empty circle
    oled1.blit(fb, 7, 0)  # Empty circle
    oled0.show()
    oled1.show()
    utime.sleep(.05)    
    fb = framebuf.FrameBuffer(blink3qtrClosed, 113, 64, framebuf.MONO_HLSB)
    oled0.blit(fb, 7, 0)  # Empty circle
    oled1.blit(fb, 7, 0)  # Empty circle
    oled0.show()
    oled1.show()
    utime.sleep(.05)    
    fb = framebuf.FrameBuffer(blinkHalfwayOpen, 113, 64, framebuf.MONO_HLSB)
    oled0.blit(fb, 7, 0)  # Empty circle
    oled1.blit(fb, 7, 0)  # Empty circle
    oled0.show()
    oled1.show()
    utime.sleep(.05)    
    fb = framebuf.FrameBuffer(buffer, 113, 64, framebuf.MONO_HLSB)

def wink(blinkHalfwayOpen, blink3qtrClosed, blinkClosed):
    fb = framebuf.FrameBuffer(blinkHalfwayOpen, 113, 64, framebuf.MONO_HLSB)
    oled0.blit(fb, 7, 0)  # Empty circle
#    oled1.blit(fb, 7, 0)  # Empty circle
    oled0.show()
#    oled1.show()
    utime.sleep(.1)
    fb = framebuf.FrameBuffer(blink3qtrClosed, 113, 64, framebuf.MONO_HLSB)
    oled0.blit(fb, 7, 0)  # Empty circle
#    oled1.blit(fb, 7, 0)  # Empty circle
    oled0.show()
#    oled1.show()
    utime.sleep(.1)
    fb = framebuf.FrameBuffer(blinkClosed, 113, 64, framebuf.MONO_HLSB)
    oled0.blit(fb, 7, 0)  # Empty circle
#    oled1.blit(fb, 7, 0)  # Empty circle
    oled0.show()
#    oled1.show()
    utime.sleep(.1)    
    fb = framebuf.FrameBuffer(blink3qtrClosed, 113, 64, framebuf.MONO_HLSB)
    oled0.blit(fb, 7, 0)  # Empty circle
#    oled1.blit(fb, 7, 0)  # Empty circle
    oled0.show()
#    oled1.show()
    utime.sleep(.1)    
    fb = framebuf.FrameBuffer(blinkHalfwayOpen, 113, 64, framebuf.MONO_HLSB)
    oled0.blit(fb, 7, 0)  # Empty circle
#    oled1.blit(fb, 7, 0)  # Empty circle
    oled0.show()
#    oled1.show()
    utime.sleep(.2)    
    fb = framebuf.FrameBuffer(buffer, 113, 64, framebuf.MONO_HLSB)


#def horiz(l,t,r,c):  # left, right , top
#    n = r-l+1        # Horizontal line
#    for i in range(n):
#        oled0.pixel(l + i, t, c)

#def vert(l,t,b,c):   # left, top, bottom
#    n = b-t+1        # Vertical line
#    for i in range(n):
#        oled0.pixel(l, t+i,c)

#def box(l,t,r,b,c):  # left, top, right, bottom
#    horiz(l,t,r,c)   # Hollow rectangle
#    horiz(l,b,r,c)
#    vert(l,t,b,c)
#    vert(r,t,b,c)

#def blink(l,t,r,c):  # left, right , top
#    n = r-l+1        # Horizontal line
#    for i in range(n):
#        oled0.pixel(l + i, t, c)
#        oled1.pixel(l + i, t, c)
    
#def ring2(cx,cy,r,c):   # Centre (x,y), radius, colour
#    for angle in range(0, 90, 2):  # 0 to 90 degrees in 2s
#        y3=int(r*math.sin(math.radians(angle)))
#        x3=int(r*math.cos(math.radians(angle)))
#        oled0.pixel(cx-x3,cy+y3,c)  # 4 quadrants
#        oled0.pixel(cx-x3,cy-y3,c)
#        oled0.pixel(cx+x3,cy+y3,c)
#        oled0.pixel(cx+x3,cy-y3,c)     
#        oled1.pixel(cx-x3,cy+y3,c)  # 4 quadrants
#        oled1.pixel(cx-x3,cy-y3,c)
#        oled1.pixel(cx+x3,cy+y3,c)
#        oled1.pixel(cx+x3,cy-y3,c)

def LookFront():
        fb = framebuf.FrameBuffer(buffer, 113, 64, framebuf.MONO_HLSB)
        oled0.blit(fb, moveRight, 0)  # Empty circle
        oled1.blit(fb, moveRight, 0)  # Empty circle
        oled0.show()
        oled1.show()
LookUp=0
def LookUpandReCenter(LookUp):
    LookUp=0
    while True:
        oled0.blit(fb, 7, LookUp)  # Empty circle
        oled1.blit(fb, 7, LookUp)  # Empty circle
# Finally update the oled display so the image & text is displayed
        LookUp=LookUp-1
        oled0.show()
        oled1.show()
    #print("movingright")
        if LookUp==-20:
#            LookUp=LookUp+1
            break    

def LookLeftandReCenter(moveLeft):
    moveLeft=32
    while True:
        oled0.blit(fb, moveLeft, 0)  # Empty circle
        oled1.blit(fb, moveLeft, 0)  # Empty circle
# Finally update the oled display so the image & text is displayed
        moveLeft=moveLeft-1
        oled0.show()
        oled1.show()
    #print("movingright")
        if moveLeft==-20:
            break
        
def LookRightandReCenter(moveRight):
    moveRight=7
    while True:
        oled0.blit(fb, moveRight, 0)  # Empty circle
        oled1.blit(fb, moveRight, 0)  # Empty circle
# Finally update the oled display so the image & text is displayed
        moveRight=moveRight+1
        oled0.show()
        oled1.show()
#        print("movingright")
        if moveRight==7:
            break

def LookRight():
    moveRight=30
#    blk()
#    while True:
    oled0.blit(fb, moveRight, 0)  # Empty circle
    oled1.blit(fb, moveRight, 0)  # Empty circle
    oled0.show()
    oled1.show()

def LookLeft():
    moveRight=-20
#    blk()
#    while True:
    oled0.blit(fb, moveRight, 0)  # Empty circle
    oled1.blit(fb, moveRight, 0)  # Empty circle
    oled0.show()
    oled1.show()

def HypnoEyes():
    x=0
    while True:
        x=x+1
        fb = framebuf.FrameBuffer(spinnerPos1, 128, 64, framebuf.MONO_HLSB)
        oled0.blit(fb, 0, 0)  # 
        oled1.blit(fb, 0, 0)  # 
        oled0.show()
        oled1.show()
        utime.sleep(.05)
        oled0.fill(0)
        oled0.show()
        oled1.fill(0)
        oled1.show()

        fb = framebuf.FrameBuffer(spinnerPos2, 128, 64, framebuf.MONO_HLSB)
        oled0.blit(fb, 0, 0)  # 
        oled1.blit(fb, 0, 0)  #
        oled0.show()
        oled1.show()
        utime.sleep(.05)
        oled0.fill(0)
        oled0.show()
        oled1.fill(0)
        oled1.show()
        
        if (x==16):
            break
        
def batlogo():
    fb = framebuf.FrameBuffer(bat, 128, 64, framebuf.MONO_HLSB)
    oled0.blit(fb, 0, 0)  # Empty circle
    oled1.blit(fb, 0, 0)  # Empty circle
    oled0.show()
    oled1.show()
    utime.sleep(1.5)
    oled0.fill(0)
    oled0.show()
    oled1.fill(0)
    oled1.show()

def Pirate():
    fb = framebuf.FrameBuffer(skullCrossbones, 64, 64, framebuf.MONO_HLSB)
    oled0.blit(fb, 32, 0)  # 
    oled1.blit(fb, 32, 0)  #
    oled0.show()
    oled1.show()
    utime.sleep(2)
    oled0.fill(0)
    oled0.show()
    oled1.fill(0)
    oled1.show()

def RavenEyesYellow():
    pixels.set_pixel(1, (50, 25, 0))
    pixels.set_pixel(0, (50, 25, 0))
    pixels.show()

def RavenEyesOff():
    pixels.set_pixel(1, (0, 0, 0))
    pixels.set_pixel(0, (0, 0, 0))
    pixels.show()

def RavenEyesViolet():
    pixels.set_pixel(1, (50, 0, 45))
    pixels.set_pixel(0, (50, 0, 45))
    pixels.show()
    
def RavenEyesRed():
    pixels.set_pixel(1, (200,0,0))
    pixels.set_pixel(0, (200, 0, 0))
    pixels.show()

def RavenEyesGreen():
    pixels.set_pixel(1, (0,200,10))
    pixels.set_pixel(0, (0, 200, 10))
    pixels.show()
    
def RavenEyesRGBflash():
    pixels.set_pixel(1, (50, 0, 0))
    pixels.set_pixel(0, (50, 0, 0))
    pixels.show()
    utime.sleep(.1)
    pixels.set_pixel(1, (0, 50, 0))
    pixels.set_pixel(0, (0, 50, 0))
    pixels.show()
    utime.sleep(.1)
    pixels.set_pixel(1, (0, 0, 50))
    pixels.set_pixel(0, (0, 0, 50))
    pixels.show()
    utime.sleep(.1)

def CoffinLidRaven():
        CoffinLidServo.duty_u16(6550)
        utime.sleep(.5)
        RavenEyesRed()
        CoffinLidCycles=0
        DFPlayerRelay.value(1) #trigger play squawk
        utime.sleep(.2)
        DFPlayerRelay.value(0) #off trigger to squawk relay
        while True:
            CoffinLidCycles=CoffinLidCycles+1
            RavenLeftWingServo.duty_u16(6500)
            RavenRightWingServo.duty_u16(6500)
            utime.sleep(.2)
            RavenLeftWingServo.duty_u16(3300)
            RavenRightWingServo.duty_u16(3300)        
            utime.sleep(.2)
            if CoffinLidCycles==9:
                break
        utime.sleep(.2)
        RavenLeftWingServo.duty_u16(4875)
        RavenRightWingServo.duty_u16(4875) 
        RavenEyesYellow()
        CoffinLidDuty=6500
        while True:
            CoffinLidDuty=CoffinLidDuty-10
            utime.sleep(.02)
            CoffinLidServo.duty_u16(CoffinLidDuty)
            if CoffinLidDuty==3300:
                break   
        CoffinLidServo.duty_u16(3300)    
    
########################## the demo of screens ############################

oled1.text("BIG SKULL", 10, 30)
oled1.show()
oled0.text("OLED EYE DEMO", 10, 30)
oled0.show()
utime.sleep(8)
blk()
fb = framebuf.FrameBuffer(RoaRobLogo, 90, 64, framebuf.MONO_HLSB)
oled0.blit(fb, 15, 0)  # Empty circle
oled1.blit(fb, 15, 0)  # Empty circle
oled0.show()
oled1.show()
utime.sleep(10)

fb = framebuf.FrameBuffer(E14logo, 128, 64, framebuf.MONO_HLSB)
oled0.blit(fb, 0, 0)  # Empty circle
oled1.blit(fb, 0, 0)  # Empty circle
oled0.show()
oled1.show()
utime.sleep(5)
oled0.fill(0)
oled0.show()
oled1.fill(0)
oled1.show()
#fb = framebuf.FrameBuffer(buffer, 32, 32, framebuf.MONO_HLSB)
fb = framebuf.FrameBuffer(buffer, 113, 64, framebuf.MONO_HLSB)


# Clear the oled display in case it has junk on it.
oled0.fill(0) # Black
oled1.fill(0)
batlogo()
blk()
Pirate()




fb = framebuf.FrameBuffer(buffer, 113, 64, framebuf.MONO_HLSB)
# Blit the image from the framebuffer to the oled display
#oled0.blit(fb, 96, 0)
oled0.blit(fb, 7, 0)
oled1.blit(fb, 7,0)
#print("blit")
oled0.show()
oled1.show()
utime.sleep(4)

wink(blinkHalfwayOpen, blink3qtrClosed, blinkClosed)

blk()
utime.sleep(1)


moveRight=7
while True:
    oled0.blit(fb, moveRight, 0)  # Empty circle
    oled1.blit(fb, moveRight, 0)  # Empty circle
# Finally update the oled display so the image & text is displayed
    moveRight=moveRight+1
    oled0.show()
    oled1.show()
#    print("movingright")
    if moveRight==32:
        break
utime.sleep(1)
blk()

moveLeft=32
while True:
    oled0.blit(fb, moveLeft, 0)  # Empty circle
    oled1.blit(fb, moveLeft, 0)  # Empty circle
# Finally update the oled display so the image & text is displayed
    moveLeft=moveLeft-1
    oled0.show()
    oled1.show()
    #print("movingright")
    if moveLeft==-20:
        break
utime.sleep(1)
blk()

moveRight=-20
while True:
    oled0.blit(fb, moveRight, 0)  # Empty circle
    oled1.blit(fb, moveRight, 0)  # Empty circle
# Finally update the oled display so the image & text is displayed
    moveRight=moveRight+1
    oled0.show()
    oled1.show()

#print("movingright")
    if moveRight==7:
        break
utime.sleep(2)
blk()

blink(blinkHalfwayOpen, blink3qtrClosed, blinkClosed)
blink(blinkHalfwayOpen, blink3qtrClosed, blinkClosed)
LookFront()
utime.sleep(3)
blink(blinkHalfwayOpen, blink3qtrClosed, blinkClosed)
LookUpandReCenter(LookUp)




blk() 
LookFront()
utime.sleep(.1)
blk() 
LookFront()
utime.sleep(.1)
blk() 
LookFront()
utime.sleep(.1)
blk() 
LookFront()
utime.sleep(.1)

HypnoEyes()

blk()  # clear screen

################# DEMO TESTING SERVOS ######
oled1.text("TESTING", 20, 30)
oled1.show()
oled0.text("MOTIONS", 40, 30)
oled0.show()
utime.sleep(6)
blk()

oled1.text("RAVEN", 20, 30)
oled1.show()
oled0.text("LEFT WING", 30, 30)
oled0.show()
utime.sleep(2)

RavenLeftWingServo.duty_u16(4875)
utime.sleep(.2)
RavenLeftWingServo.duty_u16(6400)
utime.sleep(.2)
RavenLeftWingServo.duty_u16(3300)
utime.sleep(.8)
RavenLeftWingServo.duty_u16(6400)
utime.sleep(.8)
RavenLeftWingServo.duty_u16(3300)
utime.sleep(.8)
RavenLeftWingServo.duty_u16(6400)
utime.sleep(.8)
RavenLeftWingServo.duty_u16(3300)
utime.sleep(.8)
RavenLeftWingServo.duty_u16(6400)
utime.sleep(.8)
RavenLeftWingServo.duty_u16(3300)
utime.sleep(.8)
RavenLeftWingServo.duty_u16(4875)
utime.sleep(.8)
blk()

oled1.text("RAVEN", 20, 30)
oled1.show()
oled0.text("RIGHT WING", 30, 30)
oled0.show()
utime.sleep(2)
RavenRightWingServo.duty_u16(4875)
utime.sleep(.2)
RavenRightWingServo.duty_u16(6400)
utime.sleep(.2)
RavenRightWingServo.duty_u16(3300)
utime.sleep(.8)
RavenRightWingServo.duty_u16(6400)
utime.sleep(.8)
RavenRightWingServo.duty_u16(3300)
utime.sleep(.8)
RavenRightWingServo.duty_u16(6400)
utime.sleep(.8)
RavenRightWingServo.duty_u16(3300)
utime.sleep(.8)
RavenRightWingServo.duty_u16(6400)
utime.sleep(.8)
RavenRightWingServo.duty_u16(3300)
utime.sleep(.8)
RavenRightWingServo.duty_u16(4875)
utime.sleep(.8)

blk()
oled1.text("RAVEN", 20, 30)
oled1.show()
oled0.text("HEAD", 40, 30)
oled0.show()
utime.sleep(2)
RavenHeadServo.duty_u16(4875)
utime.sleep(1)
RavenHeadServo.duty_u16(3300)
utime.sleep(1)
RavenHeadServo.duty_u16(6550)
utime.sleep(1)
RavenEyesRGBflash()
RavenHeadServo.duty_u16(4875)
utime.sleep(1)

blk()
oled1.text("COFFIN", 20, 30)
oled1.show()
oled0.text("LID LIFT", 30, 30)
oled0.show()
utime.sleep(2)
CoffinLidServo.duty_u16(6550)
utime.sleep(2)
CoffinLidServo.duty_u16(3300)

blk()

oled1.text("SQUAWKING ON", 10, 30)
oled1.show()
oled0.text("MY COFFIN", 30, 30)
oled0.show()
utime.sleep(2)
CoffinLidRaven()

blk()
oled1.text("Small ", 20, 30)
oled1.show()
oled0.text("SKULLIES EYES",10, 30)
oled0.show()
utime.sleep(2)
LHS_Skully.duty_u16(40000)
utime.sleep(3)
LHS_Skully.duty_u16(0)
RHS_Skully.duty_u16(45000)
RHS_Skully2.duty_u16(45000)
utime.sleep(3)
RHS_Skully.duty_u16(0)
RHS_Skully2.duty_u16(0)
#LHS_Skully.value(1) #LED EYES ON small skull
#utime.sleep(1)
#LHS_Skully.value(0) #LED EYES ON small skull
#RHS_Skully.value(1) #LED EYES ON small skull
#utime.sleep(1)
#RHS_Skully.value(0) #LED EYES ON small skull
blk()

oled1.text("STARTING", 20, 30)
oled1.show()
oled0.text("AUTOMATION", 30, 30)
oled0.show()
utime.sleep(2)
blk()
########################## the program ############################
## Look straight ahead, occassionally blinking
### if LHS_PIR activates, look left, turn on LHS_Skully
### if RHS_PIR activates , look right, turn on RHS_Skully
### if both activate , look straight ahead, both skullys on

while True:
    RandomNumber=random.randint(1,49)
    WinkRandomNumber=random.randint(0,21)
    RavenHeadPositionRandomNumber=random.randint(3300, 6500)
    RavenHeadLookAroundRandomNumber= random.randint(1,9)

    RavenEyesYellow()
    ### randon motion events when PIRs at rest
    if ((WinkRandomNumber==20) & (LHS_PIR.value() ==0) & (RHS_PIR.value() ==0)):
        blink(blinkHalfwayOpen, blink3qtrClosed, blinkClosed)
 
    if ((RandomNumber==20) & (LHS_PIR.value() ==0) & (RHS_PIR.value() ==0)):    
        batlogo()
    if ((RandomNumber==22) & (LHS_PIR.value() ==0) & (RHS_PIR.value() ==0)):
        Pirate()
    if ((RandomNumber==35) & (LHS_PIR.value() ==0) & (RHS_PIR.value() ==0)):
        HypnoEyes()
    if ((RavenHeadLookAroundRandomNumber==6) & (LHS_PIR.value() ==0) & (RHS_PIR.value() ==0)):
        RavenHeadServo.duty_u16(RavenHeadPositionRandomNumber)
        utime.sleep(2)
    if ((RandomNumber==31) & (LHS_PIR.value() ==0) & (RHS_PIR.value() ==0)):
        CoffinLidRaven()

  
    if ((LHS_PIR.value() ==1) & (RHS_PIR.value() ==1)):
 #          blk() 
 #       LookFront()
        LHS_Skully.duty_u16(30000)
        RHS_Skully.duty_u16(40000)
        RHS_Skully2.duty_u16(40000)
        RavenHeadServo.duty_u16(4875)
        
        
    if ((LHS_PIR.value() ==1) & (RHS_PIR.value() ==0)):
        LHS_Skully.duty_u16(30000)
        RHS_Skully.duty_u16(0)
        RHS_Skully2.duty_u16(0)
   #        blk() 
        LookLeft()
        RavenEyesGreen()
        DFPlayerRelay.value(1) #trigger play squawk
        utime.sleep(.2)
        DFPlayerRelay.value(0) #off trigger to squawk relay
        RavenHeadServo.duty_u16(4875)
        while True:
            RavenHeadDuty=RavenHeadDuty-5
            RavenHeadServo.duty_u16(RavenHeadDuty)
            utime.sleep(.005)
            if RavenHeadDuty==3400:
                break
        RavenHeadServo.duty_u16(3400)
        utime.sleep(2)
        while True:
            RavenHeadDuty=RavenHeadDuty+5
            RavenHeadServo.duty_u16(RavenHeadDuty)
            utime.sleep(.005)
            if RavenHeadDuty==4875:
                break   
        RavenHeadServo.duty_u16(4875)
        RavenEyesYellow()
        utime.sleep(.5)
    #    LHS_PIR_LastScan=LHS_PIR.value()
                
    if ((LHS_PIR.value() ==0) & (RHS_PIR.value() ==1)):
        RavenHeadDuty=4875
        LHS_Skully.duty_u16(0)
        RHS_Skully.duty_u16(45000)
        RHS_Skully2.duty_u16(45000)
        #blk()
        LookRight()
        RavenEyesViolet()
        DFPlayerRelay.value(1) #trigger play squawk
        utime.sleep(.2)
        DFPlayerRelay.value(0) #off trigger to squawk relay
        while True:
            RavenHeadDuty=RavenHeadDuty+5
            RavenHeadServo.duty_u16(RavenHeadDuty)
            utime.sleep(.005)
            if RavenHeadDuty==6550:
                break
        RavenHeadServo.duty_u16(6550)
        utime.sleep(.2)
        while True:
            RavenHeadDuty=RavenHeadDuty-5
            RavenHeadServo.duty_u16(RavenHeadDuty)
            utime.sleep(.005)
            if RavenHeadDuty==4875:
                break        
        
    if ((LHS_PIR.value() ==0) & (RHS_PIR.value() ==0)):
        RavenEyesYellow()
        LHS_Skully.duty_u16(0)
        RHS_Skully.duty_u16(0)
        RHS_Skully2.duty_u16(0)
        #blk()
        LookFront()
        RavenHeadServo.duty_u16(4875)
        utime.sleep(1)
        #blink(blinkHalfwayOpen, blinkutime.sleep(.2)3qtrClosed, blinkClosed)        

Parents Comment Children
No Data
Related
Engagement
Recommended