from machine import Pin, I2C
from ssd1306 import SSD1306_I2C
import framebuf
import time
import dht
# 버튼 핀 설정
btnNext = Pin(15, Pin.IN, Pin.PULL_DOWN)
btnPre = Pin(14, Pin.IN, Pin.PULL_DOWN)
btnSel = Pin(13, Pin.IN, Pin.PULL_DOWN)
btnBack = Pin(12, Pin.IN, Pin.PULL_DOWN)
dhtsensor = dht.DHT22(Pin(10))
# 릴레이 핀 설정 (GPIO 18)
relay = Pin(18, Pin.OUT)
# OLED 디스플레이 설정
HEIGHT = 64
WIDTH = 128
i2c = I2C(0, scl=Pin(17), sda=Pin(16), freq=400000)
oled = SSD1306_I2C(WIDTH, HEIGHT, i2c)
# 이미지 바이트 배열 (생략된 부분 포함)
pico = 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\x7f\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00@\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00`\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00`\x048\x00\x01\xc3\xff\xff\xff\xff\xff\xff\xff\xff\xff\xe0`\x040\x00\x00\xc4\x00\x00\x00\x00\x00\x00\x00\x00\x000`\x04 9\xc0D\x01\xff\xf8\x7f\xc1\xff\xc3\xff\x800`\x04\x00F \x04\x01\x00\x0c\xc0c\xff\xe7\xff\xc00`\x04\x00/@\x04\x01\x00\x04\x80#\x80g\x01\xc00`\x04\x00\x1f\x80\x04\x01\x1f\xc4\xf1\xe3\x80\x07\x01\xc00`\x04\x009\xc0\x04\x01\x00\x04\x11\x03\x80\x07\x01\xc00`\x04\x00P\xa0\x04\x01\x00\x0c\x11\x03\x80\x07\x01\xc00`\x04\x00\x9d\x90\x04\x01\x1f\xf8\xf1\xe3\x80\x07\x01\xc00`\x04\x00\xf6\xf0\x04\x01\x10\x00\x80#\x80g\x01\xc00`\x04\x01bH\x04\x01\x10\x00\xc0c\xff\xe7\xff\xc00`\x04\x01"H\x04\x01\xf0\x00\x7f\xc1\xff\xc3\xff\x800`\x04\x01\'\xc8\x04\x00\x00\x00\x00\x00\x00\x00\x00\x000`\x04\x01|\xf8\x04\x00\x00\x00\x00\x00\x00\x00\x00\x000`\x04\x00\xc4\xd0\x04\x00\xff\xf0?\x81\xff\xc1\xff\x000`\x04\x00\xc7\x90\x04\x00\xff\xf8\x7f\xc3\xff\xe7\xff\xc00`\x04\x00l\xa0\x04\x00\xe08\x0e\x03\x80g\x01\xc00`\x04\x008\xc0\x04\x00\xff\xf8\x0e\x03\x80\x07\x01\xc00`\x04\x00\x0f\x00\x04\x00\xff\xf0\x0e\x03\x80g\x01\xc00`\x04\x00\x00\x00\x04\x00\xe0\x00\x7f\xc3\xff\xe7\xff\xc00`\x04\x00\x00\x00\x04\x00\xe0\x00?\x81\xff\xc1\xff\x000`\x04 \x00\x00D\x00\x00\x00\x00\x00\x00\x00\x00\x00p`\x040\x00\x00\xc7\xff\xff\xff\xff\xff\xff\xff\xff\xff\xf0`\x048\x00\x01\xc3\xff\xff\xff\xff\xff\xff\xff\xff\xff\xe0`\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00`\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe0\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\xc0\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\x80\x00\xff\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\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')
water = 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\x7f\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00@\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00`\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00`\x048\x00\x01\xc3\xff\xff\xff\xff\xff\xff\xff\xff\xff\xe0`\x040\x00\x00\xc4\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10`\x04 \x06\x00D\x03\x18\xc0\xc0\xff\xcf\xfc\xff\xe00`\x04\x00\t\x00\x04\x03\x18\xc1\xe0\xff\xcf\xfc\xff\xe00`\x04\x00\x10\x80\x04\x01\xbd\x81\xe0\x0c\x0c\x00\xc0p0`\x04\x00\x10\x80\x04\x01\xbd\x830\x0c\x0f\xfc\xc0p0`\x04\x00 @\x04\x01\xe7\x87\xf8\x0c\x0f\xfc\xff\xe00`\x04\x00 @\x04\x00\xe7\x07\xf8\x0c\x0c\x00\xff\xe00`\x04\x00@ \x04\x00\xc3\x0e\x1c\x0c\x0f\xfc\xc0p0`\x04\x00@ \x04\x00\xc3\x0c\x0c\x0c\x0f\xfc\xc000`\x04\x00\x800\x04\x00\x00\x00\x00\x00\x00\x00\x00\x000`\x04\x00\x80\x10\x04\x00\x00\x00\x00\x00\x00\x00\x00\x000`\x04\x00\x80\x10\x04(\x00\x00\x00\x00\x00\x00\x00\x02\xb0`\x04\x01\x00\x18\x04x\x00\x00\x00\x00\x00\x00\x00\x07\xb0`\x04\x01\x00\x18\x04S\xff\x8f\xf8\xff\xc7\xfc\x7f\xf50`\x04\x01\x008\x04\x03\xff\xcf\xfc\xff\xcf\xfc\xff\xf00`\x04\x00\x80p\x04\x03\x00\xcc\x1c\xc0\x0e\x00\xe0\x000`\x04\x00@\xe0\x04\x03\xff\xcf\xfc\xff\xcf\xfc\xff\xf00`\x04\x00?\xc0\x04\x03\xff\x8f\xf8\xc0\x00\x1c\x00p0`\x04\x00\x1f\x80\x04\x03\x00\x0c\x1c\xff\xcf\xfc\xff\xf00`\x04\x00\x00\x00\x04\x03\x00\x0c\x0c\xff\xcf\xf8\xff\xe00`\x04 \x00\x00D\x00\x00\x00\x00\x00\x00\x00\x00\x00p`\x040\x00\x00\xc7\xff\xff\xff\xff\xff\xff\xff\xff\xff\xf0`\x048\x00\x01\xc3\xff\xff\xff\xff\xff\xff\xff\xff\xff\xe0`\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00`\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe0\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\xc0\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\x80\x00\xff\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\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')
info = 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\x7f\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00@\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00`\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00`\x048\x00\x01\xc3\xff\xff\xff\xff\xff\xff\xff\xff\xff\xe0`\x040\x00\x00\xc4\x00\x00\x00\x00\x00\x00\x00\x00\x000`\x04 \x0f\x00D\x00\x7f\xf0?\x83\xff\x83\xff\x800`\x04\x00\x10\x80\x04\x00\xff\xf8\x7f\xc3\xff\xe7\xff\xc00`\x04\x00\x10\x80\x04\x00\xe0\x18\x0e\x03\x80\xe7\x00\xc00`\x04\x00\x10\x80\x04\x00\xe0\x00\x0e\x03\xff\xe7\x00\x000`\x04\x00\x10\x80\x04\x00\xe0\x00\x0e\x03\xff\x87\x00\x000`\x04\x00\x10\x80\x04\x00\xe0\x18\x0e\x03\x83\xc7\x00\xc00`\x04\x00\x10\x80\x04\x00\xff\xf8\x7f\xc3\x81\xe7\xff\xc00`\x04\x00\x16\x80\x04\x00\x7f\xf0?\x83\x80\xe3\xff\x800`\x04\x00\x16\x80\x04\x00\x00\x00\x00\x00\x00\x00\x00\x000`\x04\x00\x16\x80\x04\x00\x00\x00\x00\x00\x00\x00\x00\x000`\x04\x00\x16\x80\x04\x00\x00\x00\x00\x00\x00\x00\x00\x000`\x04\x00\x16\x80\x04\x00\x00\x00\x00\x00\x00\x00\x00\x000`\x04\x00&@\x04\x00\x1f\xc1\xe0s\xff\xe1\xff\x000`\x04\x00O \x04\x00?\xe1\xf8s\xff\xe7\xff\xc00`\x04\x00_\xa0\x04\x00\x07\x01\xfcs\x80\x07\x01\xc00`\x04\x00_\xa0\x04\x00\x07\x01\xdfs\xff\xc7\x01\xc00`\x04\x00_\xa0\x04\x00\x07\x01\xc7\xf3\xff\xc7\x01\xc00`\x04\x00_\xa0\x04\x00?\xe1\xc3\xf3\x80\x07\xff\xc00`\x04\x00O \x04\x00\x1f\xc1\xc0\xf3\x80\x01\xff\x000`\x04 @D\x00\x00\x00\x00\x00\x00\x00\x00\x00p`\x040\x1f\x80\xc7\xff\xff\xff\xff\xff\xff\xff\xff\xff\xf0`\x048\x00\x01\xc3\xff\xff\xff\xff\xff\xff\xff\xff\xff\xe0`\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00`\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe0\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\xc0\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\x80\x00\xff\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\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')
infoD = 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\x7f\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00@\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00`\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00`\x048\x00\x01\xc3\xff\xff\xff\xff\xff\xff\xff\xff\xff\xe0`\x040\x00\x00\xc4\x00\x00\x00\x00\x00\x00\x00\x00\x000`\x04 \x0f\x00E\xff\xbf\xf6\x06\xff\x80\x00\x00\x000`\x04\x00\x10\x80\x05\xff\xbf\xf7\x0e\xff\xcc\x00\x00\x000`\x04\x00\x10\x80\x04\x180\x07\x0e\xc0\xcc\x00\x00\x000`\x04\x00\x10\x80\x04\x18?\xe7\x9e\xc0\xc0\x00\x00\x000`\x04\x00\x10\x80\x04\x18?\xe7\xfe\xff\xc0\x00\x00\x000`\x04\x00\x10\x80\x04\x180\x06\xf6\xff\x8c\x00\x00\x000`\x04\x00\x10\x80\x04\x18?\xf6f\xc0\x0c\x00\x00\x000`\x04\x00\x16\x80\x04\x18?\xf6\x06\xc0\x00\x00\x00\x000`\x04\x00\x16\x80\x04\x00\x00\x00\x00\x00\x00\x00\x00\x000`\x04\x00\x16\x80\x04\x00\x00\x00\x00\x00\x00\x00\x00\x000`\x04\x00\x16\x80\x04\x00\x00\x00\x00\x00\x00\x00\x00\x000`\x04\x00\x16\x80\x04\x00\x00\x00\x00\x00\x00\x00\x00\x000`\x04\x00&@\x05\x81\xb06\x06\x00\x00\x00\x00\x000`\x04\x00O \x05\x81\xb07\x0e\xc0\x00\x00\x00\x000`\x04\x00_\xa0\x05\xff\xb07\x9e\xc0\x00\x00\x00\x000`\x04\x00_\xa0\x05\xff\xb07\xfe\x00\x00\x00\x00\x000`\x04\x00_\xa0\x05\x81\xb8v\xf6\xc0\x00\x00\x00\x000`\x04\x00_\xa0\x05\x81\x9f\xe6f\xc0\x00\x00\x00\x000`\x04\x00O \x05\x81\x8f\xc6\x06\x00\x00\x00\x00\x000`\x04 @D\x00\x00\x00\x00\x00\x00\x00\x00\x00p`\x040\x1f\x80\xc7\xff\xff\xff\xff\xff\xff\xff\xff\xff\xf0`\x048\x00\x01\xc3\xff\xff\xff\xff\xff\xff\xff\xff\xff\xe0`\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00`\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe0\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\xc0\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\x80\x00\xff\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\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')
pumpon = 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\x7f\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00@\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00`\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00`\x048\x00\x01\xc3\xff\xff\xff\xff\xff\xff\xff\xff\xff\xe0`\x040\x00\x00\xc4\x00\x00\x00\x00\x00\x00\x00\x00\x000`\x04 \x06\x00D\x03\xff\xe3\x80s\x80s\xff\xe00`\x04\x00\t\x00\x04\x03\xff\xf3\x80s\xc0\xf3\xff\xf00`\x04\x00\x10\x80\x04\x03\x80s\x80s\xe1\xf3\x80p0`\x04\x00\x10\x80\x04\x03\x80s\x80s\xf3\xf3\x80p0`\x04\x00 @\x04\x03\xff\xf3\x80s\xff\xf3\xff\xf00`\x04\x00 @\x04\x03\xff\xe3\xc0\xf3\xbfs\xff\xe00`\x04\x00@ \x04\x03\x80\x01\xff\xe3\x9es\x80\x000`\x04\x00@ \x04\x03\x80\x00\xff\xc3\x80s\x80\x000`\x04\x00\x800\x04\x00\x00\x00\x00\x00\x00\x00\x00\x000`\x04\x00\x80\x10\x04\x00\x00\x00\x00\x00\x00\x00\x00\x000`\x04\x00\x80\x10\x04\x00\x00\x00\x00\x00\x00\x00\x00\x000`\x04\x01\x00\x18\x04\x00\x00\x00\x00\x00\x00\x00\x00\x000`\x04\x01\x00\x18\x04\x00~?\xc0\x01\xfe\x180\x000`\x04\x01\x008\x04\x00\xff\x7f\xe0\x03\xff<0\x000`\x04\x00\x80p\x04\x00\x18`\x00\x03\x03>0\x000`\x04\x00@\xe0\x04\x00\x18\x7f\xe0\x03\x037\xb0\x000`\x04\x00?\xc0\x04\x00\x18\x00`\x03\x031\xf0\x000`\x04\x00\x1f\x80\x04\x00\xff\x7f\xe0\x03\xff0\xf0\x000`\x04\x00\x00\x00\x04\x00~?\xc0\x01\xfe0`\x000`\x04 \x00\x00D\x00\x00\x00\x00\x00\x00\x00\x00\x00p`\x040\x00\x00\xc7\xff\xff\xff\xff\xff\xff\xff\xff\xff\xf0`\x048\x00\x01\xc3\xff\xff\xff\xff\xff\xff\xff\xff\xff\xe0`\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00`\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe0\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\xc0\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\x80\x00\xff\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\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')
pumpoff = 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\x7f\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00@\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00`\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00`\x048\x00\x01\xc3\xff\xff\xff\xff\xff\xff\xff\xff\xff\xe0`\x040\x00\x00\xc4\x00\x00\x00\x00\x00\x00\x00\x00\x000`\x04 \x06\x00D\x03\xff\xe3\x80s\x80s\xff\xe00`\x04\x00\t\x00\x04\x03\xff\xf3\x80s\xc0\xf3\xff\xf00`\x04\x00\x10\x80\x04\x03\x80s\x80s\xe1\xf3\x80p0`\x04\x00\x10\x80\x04\x03\x80s\x80s\xf3\xf3\x80p0`\x04\x00 @\x04\x03\xff\xf3\x80s\xff\xf3\xff\xf00`\x04\x00 @\x04\x03\xff\xe3\xc0\xf3\xbfs\xff\xe00`\x04\x00@ \x04\x03\x80\x01\xff\xe3\x9es\x80\x000`\x04\x00@ \x04\x03\x80\x00\xff\xc3\x80s\x80\x000`\x04\x00\x800\x04\x00\x00\x00\x00\x00\x00\x00\x00\x000`\x04\x00\x80\x10\x04\x00\x00\x00\x00\x00\x00\x00\x00\x000`\x04\x00\x80\x10\x04\x00\x00\x00\x00\x00\x00\x00\x00\x000`\x04\x01\x00\x18\x04\x00\x00\x00\x00\x00\x00\x00\x00\x000`\x04\x01\x00\x18\x04\x00~?\xc0\x7f\x87\xfc\x7f\xc00`\x04\x01\x008\x04\x00\xff\x7f\xe0\xff\xcf\xfc\xff\xc00`\x04\x00\x80p\x04\x00\x18`\x00\xc0\xcc\x00\xc0\x000`\x04\x00@\xe0\x04\x00\x18\x7f\xe0\xc0\xcf\xf8\xff\x800`\x04\x00?\xc0\x04\x00\x18\x00`\xc0\xcf\xf8\xff\x800`\x04\x00\x1f\x80\x04\x00\xff\x7f\xe0\xff\xcc\x00\xc0\x000`\x04\x00\x00\x00\x04\x00~?\xc0\x7f\x8c\x00\xc0\x000`\x04 \x00\x00D\x00\x00\x00\x00\x00\x00\x00\x00\x00p`\x040\x00\x00\xc7\xff\xff\xff\xff\xff\xff\xff\xff\xff\xf0`\x048\x00\x01\xc3\xff\xff\xff\xff\xff\xff\xff\xff\xff\xe0`\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00`\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe0\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\xc0\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\x80\x00\xff\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\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')
auto = 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\x7f\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00@\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00`\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00`\x048\x00\x01\xc3\xff\xff\xff\xff\xff\xff\xff\xff\xff\xe0`\x040\x008\xc4\x00\x00\x00\x00\x00\x00\x00\x00\x000`\x04 \x00xD\x00\x07\x01\xc0s\xff\xe3\xff\x800`\x04\x00\x00\xe0\x04\x00\x0f\x81\xc0s\xff\xe7\xff\xc00`\x04\x00\x01\xc3\x04\x00\x1f\xc1\xc0p\x1c\x07\x01\xc00`\x04\x00\x01\xc3\x04\x008\xe1\xc0p\x1c\x07\x01\xc00`\x04\x00\x01\xe7\x04\x00\x7f\xf1\xc0p\x1c\x07\x01\xc00`\x04\x00\x01\xfe\x04\x00\x7f\xf1\xe0\xf0\x1c\x07\x01\xc00`\x04\x00\x03\xfc\x04\x00\xf0x\xff\xe0\x1c\x07\xff\xc00`\x04\x00\x07\xf8\x04\x00\xe08\x7f\xc0\x1c\x03\xff\x800`\x04\x00\x0f\x80\x04\x00\x00\x00\x00\x00\x00\x00\x00\x000`\x04\x00\x1f\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x000`\x04\x00>\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x000`\x04\x00|\x00\x04\x00\x7f\xf8\xff\xf3\xff\xe7\xff\xe00`\x04\x00\xf8\x00\x04\x00\xff\xf9\xff\xf3\xff\xe7\xff\xe00`\x04\x01\xf0\x00\x04\x00\xe0\x01\xc0\x00\x1c\x008\x000`\x04\x03\xe0\x00\x04\x00\xff\xf9\xff\xf0\x1c\x008\x000`\x04\x02\xc0\x00\x04\x00\xff\xf9\xff\xf0\x1c\x008\x000`\x04\x03\x80\x00\x04\x00\x009\xc0\x00\x1c\x008\x000`\x04\x00\x00\x00\x04\x00\xff\xf9\xff\xf0\x1c\x008\x000`\x04\x00\x00\x00\x04\x00\xff\xf0\xff\xf0\x1c\x008\x000`\x04 \x00\x00D\x00\x00\x00\x00\x00\x00\x00\x00\x00p`\x040\x00\x00\xc7\xff\xff\xff\xff\xff\xff\xff\xff\xff\xf0`\x048\x00\x01\xc3\xff\xff\xff\xff\xff\xff\xff\xff\xff\xe0`\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00`\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe0\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\xc0\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\x80\x00\xff\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\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')
autoOn = 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\x7f\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00@\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00`\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00`\x048\x00\x01\xc3\xff\xff\xff\xff\xff\xff\xff\xff\xff\xe0`\x040\x008\xc4\x00\x00\x00\x00\x00\x00\x00\x00\x000`\x04 \x00xD\x00\x07\x01\xc0s\xff\xe3\xff\x800`\x04\x00\x00\xe0\x04\x00\x0f\x81\xc0s\xff\xe7\xff\xc00`\x04\x00\x01\xc3\x04\x00\x1f\xc1\xc0p\x1c\x07\x01\xc00`\x04\x00\x01\xc3\x04\x008\xe1\xc0p\x1c\x07\x01\xc00`\x04\x00\x01\xe7\x04\x00\x7f\xf1\xc0p\x1c\x07\x01\xc00`\x04\x00\x01\xfe\x04\x00\x7f\xf1\xe0\xf0\x1c\x07\x01\xc00`\x04\x00\x03\xfc\x04\x00\xf0x\xff\xe0\x1c\x07\xff\xc00`\x04\x00\x07\xf8\x04\x00\xe08\x7f\xc0\x1c\x03\xff\x800`\x04\x00\x0f\x80\x04\x00\x00\x00\x00\x00\x00\x00\x00\x000`\x04\x00\x1f\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x000`\x04\x00>\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x000`\x04\x00|\x00\x04\x00\x00\x00\xff\xe1\xc0\xe0\x00\x000`\x04\x00\xf8\x00\x04\x00\x00\x01\xff\xf3\xf0\xe0\x00\x000`\x04\x01\xf0\x00\x04\x00\x00\x01\xc0s\xf8\xe0\x00\x000`\x04\x03\xe0\x00\x04\x00\x00\x01\xc0s\xbc\xe0\x00\x000`\x04\x02\xc0\x00\x04\x00\x00\x01\xc0s\x9e\xe0\x00\x000`\x04\x03\x80\x00\x04\x00\x00\x01\xc0s\x8f\xe0\x00\x000`\x04\x00\x00\x00\x04\x00\x00\x01\xff\xf3\x87\xe0\x00\x000`\x04\x00\x00\x00\x04\x00\x00\x00\xff\xe3\x81\xc0\x00\x000`\x04 \x00\x00D\x00\x00\x00\x00\x00\x00\x00\x00\x00p`\x040\x00\x00\xc7\xff\xff\xff\xff\xff\xff\xff\xff\xff\xf0`\x048\x00\x01\xc3\xff\xff\xff\xff\xff\xff\xff\xff\xff\xe0`\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00`\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe0\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\xc0\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\x80\x00\xff\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\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')
autoOff = 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\x7f\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00@\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00`\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00`\x048\x00\x01\xc3\xff\xff\xff\xff\xff\xff\xff\xff\xff\xe0`\x040\x008\xc4\x00\x00\x00\x00\x00\x00\x00\x00\x000`\x04 \x00xD\x00\x07\x01\xc0s\xff\xe3\xff\x800`\x04\x00\x00\xe0\x04\x00\x0f\x81\xc0s\xff\xe7\xff\xc00`\x04\x00\x01\xc3\x04\x00\x1f\xc1\xc0p\x1c\x07\x01\xc00`\x04\x00\x01\xc3\x04\x008\xe1\xc0p\x1c\x07\x01\xc00`\x04\x00\x01\xe7\x04\x00\x7f\xf1\xc0p\x1c\x07\x01\xc00`\x04\x00\x01\xfe\x04\x00\x7f\xf1\xe0\xf0\x1c\x07\x01\xc00`\x04\x00\x03\xfc\x04\x00\xf0x\xff\xe0\x1c\x07\xff\xc00`\x04\x00\x07\xf8\x04\x00\xe08\x7f\xc0\x1c\x03\xff\x800`\x04\x00\x0f\x80\x04\x00\x00\x00\x00\x00\x00\x00\x00\x000`\x04\x00\x1f\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x000`\x04\x00>\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x000`\x04\x00|\x00\x04\x00\x00\x07\xf8\x7f\xc7\xfc\x00\x000`\x04\x00\xf8\x00\x04\x00\x00\x0f\xfc\xff\xcf\xfc\x00\x000`\x04\x01\xf0\x00\x04\x00\x00\x0e\x1c\xe0\x0e\x00\x00\x000`\x04\x03\xe0\x00\x04\x00\x00\x0e\x1c\xff\x8f\xf8\x00\x000`\x04\x02\xc0\x00\x04\x00\x00\x0e\x1c\xff\x8f\xf8\x00\x000`\x04\x03\x80\x00\x04\x00\x00\x0e\x1c\xe0\x0e\x00\x00\x000`\x04\x00\x00\x00\x04\x00\x00\x0f\xfc\xe0\x0e\x00\x00\x000`\x04\x00\x00\x00\x04\x00\x00\x07\xf8\xe0\x0e\x00\x00\x000`\x04 \x00\x00D\x00\x00\x00\x00\x00\x00\x00\x00\x00p`\x040\x00\x00\xc7\xff\xff\xff\xff\xff\xff\xff\xff\xff\xf0`\x048\x00\x01\xc3\xff\xff\xff\xff\xff\xff\xff\xff\xff\xe0`\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00`\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe0\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\xc0\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\x80\x00\xff\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\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')
cropset = 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\x7f\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00@\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00`\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00`\x048\x00\x01\xc3\xff\xff\xff\xff\xff\xff\xff\xff\xff\xe0`\x040\x00\x06\xc4\x00\x00\x00\x00\x00\x00\x00\x00\x000`\x04 \x00=D\x00\x7f\xf0\xff\xe1\xff\xc3\xff\x800`\x04\x00\x00C\x04\x00\xff\xf9\xff\xf3\xff\xe7\xff\xc00`\x04\x00\x03\x85\x04\x00\xe0\x19\xc0s\x80\xe7\x01\xc00`\x04\x00\x1c\t\x04\x00\xe0\x01\xc0s\x80\xe7\x01\xc00`\x04\x00`\x11\x04\x00\xe0\x01\xff\xf3\x80\xe7\xff\xc00`\x04\x00\x80!\x04\x00\xe0\x19\xff\xe3\x80\xe7\xff\x800`\x04\x01\x00`\x84\x00\xff\xf9\xc1\xf3\xff\xe7\x00\x000`\x04\x01\x00\xc0\x84\x00\x7f\xf1\xc0\xf1\xff\xc7\x00\x000`\x04\x02\x01\x80\x84\x00\x00\x00\x00\x00\x00\x00\x00\x000`\x04\x02\x03\x00\x84\x00\x00\x00\x00\x00\x00\x00\x00\x000`\x04\x02\x06\x00\x84\x00\x00\x00\x00\x00\x00\x00\x00\x000`\x04\x01\x0c\x00\x84\x00\x7f\xf8\xff\xf3\xff\xe7\xff\xc00`\x04\x01\x18\x00\x84\x00\xff\xf9\xff\xf3\xff\xe7\xff\xc00`\x04\x010\x01\x04\x00\xe0\x01\xc0\x00\x1c\x008\x000`\x04\x00\xa0\x01\x04\x00\xff\xf9\xff\xe0\x1c\x008\x000`\x04\x01\x00\x06\x04\x00\xff\xf9\xff\xe0\x1c\x008\x000`\x04\x06`\x08\x04\x00\x009\xc0\x00\x1c\x008\x000`\x04\x08\x9cp\x04\x00\xff\xf9\xff\xf0\x1c\x008\x000`\x04\x05\x07\x80\x04\x00\xff\xf0\xff\xf0\x1c\x008\x000`\x04"\x00\x00D\x00\x00\x00\x00\x00\x00\x00\x00\x00p`\x040\x00\x00\xc7\xff\xff\xff\xff\xff\xff\xff\xff\xff\xf0`\x048\x00\x01\xc3\xff\xff\xff\xff\xff\xff\xff\xff\xff\xe0`\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00`\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe0\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\xc0\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\x80\x00\xff\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\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')
ginseng = 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\x7f\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00@\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00`\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00`\x048\x00\x01\xc3\xff\xff\xff\xff\xff\xff\xff\xff\xff\xe0`\x040\x00\x00\xc4\x00\x00\x00\x00\x00\x00\x00\x00\x000`\x04 \x03\xc0D\x00\x00\xff\xf0?\x81\xc0\xe0\x000`\x04\x00\x02`\x04\x00\x01\xff\xf8\x7f\xc3\xe0\xe0\x000`\x04\x00\x01 \x04\x00\x01\xc0\x00\x0e\x03\xf8\xe0\x000`\x04\x00\x01 \x04\x00\x01\xc0x\x0e\x03\xbc\xe0\x000`\x04\x00\x01 \x04\x00\x01\xc0\xf8\x0e\x03\x9e\xe0\x000`\x04\x00\x02\xc0\x04\x00\x01\xc08\x0e\x03\x8f\xe0\x000`\x04\x00\x05\x00\x04\x00\x01\xff\xf8\x7f\xc3\x83\xe0\x000`\x04\x00\n\x00\x04\x00\x00\xff\xf0?\x83\x81\xc0\x000`\x04\x00<\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x000`\x04\x00D\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x000`\x04\x00D\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x000`\x04\x00s@\x04\x00\x7f\xf8\xff\xf1\xc0\xe3\xff\x800`\x04\x00\xc4\x80\x04\x00\xff\xf9\xff\xf3\xe0\xe7\xff\xc00`\x04\x00N`\x04\x00\xf0\x01\xc0\x03\xf8\xe7\x00\x000`\x04\x00\xc2\x00\x04\x00\xff\xf9\xff\xe3\xbc\xe7\x03\xc00`\x04\x00\xa7\x00\x84\x00\xff\xf9\xff\xe3\x9e\xe7\x07\xc00`\x04\x01\x10\xc1\x04\x00\x009\xc0\x03\x8f\xe7\x01\xc00`\x04\x02\x916\x04\x00\xff\xf9\xff\xf3\x83\xe7\xff\xc00`\x04\x00\x8f\x89\x04\x00\xff\xf0\xff\xf3\x81\xc3\xff\x800`\x04 \x00qD\x00\x00\x00\x00\x00\x00\x00\x00\x00p`\x040\x00\x00\xc7\xff\xff\xff\xff\xff\xff\xff\xff\xff\xf0`\x048\x00\x01\xc3\xff\xff\xff\xff\xff\xff\xff\xff\xff\xe0`\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00`\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe0\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\xc0\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\x80\x00\xff\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\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')
basil = 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\x7f\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00@\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00`\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00`\x048\x00\x01\xc3\xff\xff\xff\xff\xff\xff\xff\xff\xff\xe0`\x040\x00\x06\xc4\x00\x00\x00\x00\x00\x00\x00\x00\x000`\x04 \x00=D\x03\xff;\xb8\xff\xc7\xfe\x7f\xf00`\x04\x00\x00C\x04\x07\xff;\xb9\xff\xcf\xfe\x7f\xf00`\x04\x00\x03\x85\x04\x07\x00;\xb9\xc0\x0e\x00\x07\x000`\x04\x00\x1c\t\x04\x07\xff?\xf9\xff\x8f\xfc\x07\x000`\x04\x00`\x11\x04\x07\xff\x1f\xf1\xff\x8f\xfc\x07\x000`\x04\x00\x80!\x04\x00\x07\x1f\xf1\xc0\x0e\x00\x07\x000`\x04\x01\x00`\x84\x07\xff\x0e\xe1\xff\xcf\xfe\x07\x000`\x04\x01\x00\xc0\x84\x07\xfe\x0e\xe0\xff\xc7\xfe\x07\x000`\x04\x02\x01\x80\x84\x00\x00\x00\x00\x00\x00\x00\x00\x000`\x04\x02\x03\x00\x84\x00\x00\x00\x00\x00\x00\x00\x00\x000`\x04\x02\x06\x00\x84\x00\x00\x00\x00\x00\x00\x00\x00\x000`\x04\x01\x0c\x00\x84\x07\xfe\x03\x80\xff\xc3\xf8\x18\x000`\x04\x01\x18\x00\x84\x07\xff\x07\xc1\xff\xc7\xfc8\x000`\x04\x010\x01\x04\x07\x07\x07\xc1\xc0\x00\xe08\x000`\x04\x00\xa0\x01\x04\x07\xfe\x0e\xe1\xff\xc0\xe08\x000`\x04\x01\x00\x06\x04\x07\xfe\x0f\xe1\xff\xc0\xe08\x000`\x04\x06`\x08\x04\x07\x07\x1f\xf0\x01\xc0\xe08\x000`\x04\x08\x9cp\x04\x07\xff<y\xff\xc7\xfc?\xf00`\x04\x05\x07\x80\x04\x07\xfe89\xff\x83\xf8?\xf00`\x04"\x00\x00D\x00\x00\x00\x00\x00\x00\x00\x00\x00p`\x040\x00\x00\xc7\xff\xff\xff\xff\xff\xff\xff\xff\xff\xf0`\x048\x00\x01\xc3\xff\xff\xff\xff\xff\xff\xff\xff\xff\xe0`\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00`\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe0\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\xc0\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\x80\x00\xff\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\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')
caution = 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\x7f\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x01\x00\x00\x00\x00\x00\x0f\xc63~\xdf\xb3\x00\x00\x00\x80\x02\x00\x00\x00\x00\x00\x0c\x0f3\x18\xd9\xbb\x00\x00\x00@\x04\x00\x00\x00\x00\x00\x0f\xd9\xbf\x18\xdf\xb7\x00\x00\x00`\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00`\x048\x00\x01\xc3\xff\xff\xff\xff\xff\xff\xff\xff\xff\xe0`\x040\x00\x00\xc4\x00\x00\x00\x00\x00\x00\x00\x00\x000`\x04 ?\xc0D\x00<\x07\x81\xe7\xff\xe7\xff\xf00`\x04\x00\xc00\x04\x00~\x07\x81\xe7\xff\xe7\xff\xf00`\x04\x01\x0f\x08\x04\x00\xff\x07\x81\xe7\xff\xe7\xff\xf00`\x04\x02\x0f\x04\x04\x01\xe7\x87\x81\xe0<\x07\x80\xf00`\x04\x04\x0f\x02\x04\x03\xff\xc7\x81\xe0<\x07\x80\xf00`\x04\x04\x0f\x02\x04\x07\xff\xe7\xff\xe0<\x07\xff\xf00`\x04\x08\x0f\x01\x04\x07\xff\xe7\xff\xe0<\x07\xff\xf00`\x04\x08\x0f\x01\x04\x07\x00\xe7\xff\xe0<\x07\xff\xf00`\x04\x08\x0f\x01\x04\x00\x00\x00\x00\x00\x00\x00\x00\x000`\x04\x08\x0f\x01\x04\x00\x00\x00\x00\x00\x00\x00\x00\x000`\x04\x08\x0f\x01\x04\x00\x00\x00\x00\x00\x00\x00\x00\x000`\x04\x08\x06\x01\x04\x01\xfc?\xf8\x00\x0f\xfepp0`\x04\x08\x06\x01\x04\x03\xfe?\xf8\x00\x0f\xfe|p0`\x04\x08\x00\x01\x04\x00p8\x00\x00\x0e\x0e~p0`\x04\x04\x06\x02\x04\x00p?\xf8\x00\x0e\x0e\x7fp0`\x04\x04\x0f\x02\x04\x00p?\xf8\x00\x0e\x0ew\xf00`\x04\x02\x0f\x04\x04\x00p\x008\x00\x0e\x0es\xf00`\x04\x01\x06\x08\x04\x03\xfe?\xf8\x00\x0f\xfeq\xf00`\x04\x00\xc00\x04\x01\xfc?\xf8\x00\x0f\xfepp0`\x04 ?\xc0D\x00\x00\x00\x00\x00\x00\x00\x00\x00p`\x040\x00\x00\xc7\xff\xff\xff\xff\xff\xff\xff\xff\xff\xf0`\x048\x00\x01\xc3\xff\xff\xff\xff\xff\xff\xff\xff\xff\xe0`\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00`\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe0\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\xc0\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\x80\x00\xff\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\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')
# 이미지 버퍼 설정
framebuffers = {
'pico': framebuf.FrameBuffer(pico, WIDTH, HEIGHT, framebuf.MONO_HLSB),
'water': framebuf.FrameBuffer(water, WIDTH, HEIGHT, framebuf.MONO_HLSB),
'info': framebuf.FrameBuffer(info, WIDTH, HEIGHT, framebuf.MONO_HLSB),
'infoD': framebuf.FrameBuffer(infoD, WIDTH, HEIGHT, framebuf.MONO_HLSB),
'pumpon': framebuf.FrameBuffer(pumpon, WIDTH, HEIGHT, framebuf.MONO_HLSB),
'pumpoff': framebuf.FrameBuffer(pumpoff, WIDTH, HEIGHT, framebuf.MONO_HLSB),
'auto': framebuf.FrameBuffer(auto, WIDTH, HEIGHT, framebuf.MONO_HLSB),
'autoOn': framebuf.FrameBuffer(autoOn, WIDTH, HEIGHT, framebuf.MONO_HLSB),
'autoOff': framebuf.FrameBuffer(autoOff, WIDTH, HEIGHT, framebuf.MONO_HLSB),
'cropset': framebuf.FrameBuffer(cropset, WIDTH, HEIGHT, framebuf.MONO_HLSB),
'ginseng': framebuf.FrameBuffer(ginseng, WIDTH, HEIGHT, framebuf.MONO_HLSB),
'basil': framebuf.FrameBuffer(basil, WIDTH, HEIGHT, framebuf.MONO_HLSB),
'caution': framebuf.FrameBuffer(caution, WIDTH, HEIGHT, framebuf.MONO_HLSB),
}
# 현재 화면 상태 변수
current_screen = 'water' # 기본 화면은 'water'
pumpon_state = False # 'water' 화면의 pumpon/pumpoff 상태
infoD_state = False # 'info' 화면의 info/infoD 상태
auto_state = False # 'auto' 화면의 autoOn/autoOff 상태
ginseng_state = False # 'ginseng' 상태
basil_state = False # 'basil' 상태
# 릴레이 초기 상태 설정
relay.value(0)
# OLED에 이미지를 표시하는 함수
def display_image(screen_name):
oled.fill(0) # OLED 화면을 지웁니다.
if screen_name in framebuffers:
oled.blit(framebuffers[screen_name], 2, 0) # 해당 화면의 이미지를 OLED에 렌더링합니다.
oled.show()
# DHT22 센서에서 온도와 습도 읽기
def read_dht_sensor():
try:
dhtsensor.measure()
temp = dhtsensor.temperature()
hum = dhtsensor.humidity()
return temp, hum
except OSError as e:
return None, None
# 릴레이 제어 함수
def control_relay(state):
relay.value(1 if state else 0) # pumpon_state에 따라 릴레이 상태 제어
# auto 상태에서 습도에 따른 릴레이 제어
def auto_relay_control_with_humidity(threshold=60):
if auto_state: # autoOn 상태에서만 작동
temp, hum = read_dht_sensor() # 현재 습도 측정
if hum is not None: # 센서 데이터가 유효할 때만 작동
if hum < threshold:
control_relay(True) # 설정된 임계값 미만이면 릴레이 켬
elif hum > threshold + 10:
control_relay(False) # 임계값 + 10% 이상이면 릴레이 끔
# infoD 상태에서 온습도 데이터를 바이트어레이 이미지 위에 띄우기
def display_infoD_with_temp_hum(temp, hum):
oled.fill(0) # OLED 화면을 지웁니다.
oled.blit(framebuffers['infoD'], 2, 0) # infoD 바이트어레이 이미지를 먼저 출력
oled.text(f"{temp}C", 89, 23) # 온도를 이미지 위에 출력
oled.text(f"{hum}%", 77, 33) # 습도를 이미지 위에 출력
oled.show() # 화면에 렌더링
# 초기 화면 표시 (pico 이미지)
display_image('pico')
time.sleep(3) # 3초 동안 표시
# 초기 화면 표시 (water)
control_relay(False) # 초기 릴레이 상태 설정
display_image('water')
# 버튼 이벤트 처리
while True:
# auto 모드일 때는 습도에 따라 릴레이 자동 제어
if auto_state:
auto_relay_control_with_humidity(60 if ginseng_state else 50)
time.sleep(0.05) # 짧은 대기 시간 추가
if btnNext.value() == 1:
screens = ['water', 'info', 'auto', 'cropset']
current_index = screens.index(current_screen)
current_screen = screens[(current_index + 1) % len(screens)]
display_image(current_screen) # 화면 이미지를 출력
time.sleep(0.2) # 버튼 이중입력을 방지하기 위한 딜레이
if btnPre.value() == 1:
screens = ['water', 'info', 'auto', 'cropset']
current_index = screens.index(current_screen)
current_screen = screens[(current_index - 1) % len(screens)]
display_image(current_screen) # 화면 이미지를 출력
time.sleep(0.2) # 버튼 이중입력을 방지하기 위한 딜레이
if btnSel.value() == 1:
if current_screen == 'water':
if auto_state: # autoOn 상태일 때는 수동 작동 불가
display_image('caution') # 자동 모드 활성 메시지 이미지
time.sleep(2) # 2초 동안 메시지 표시
else:
pumpon_state = not pumpon_state # pumpoff와 pumpon 사이를 토글
control_relay(pumpon_state) # 릴레이 상태 업데이트
display_image('pumpon' if pumpon_state else 'pumpoff') # 해당 이미지 출력
elif current_screen == 'info':
if infoD_state:
infoD_state = False
display_image('info') # 'info' 상태로 돌아감
else:
infoD_state = True
while infoD_state: # infoD 상태가 유지되는 동안 실시간 업데이트
temp, hum = read_dht_sensor() # 센서에서 온도와 습도 읽기
temp = round(temp) # 온도 반올림
hum = round(hum) # 습도 반올림
display_infoD_with_temp_hum(temp, hum) # infoD 이미지 위에 온습도 출력
time.sleep(0.05) # 빠르게 업데이트
if btnBack.value() == 1: # 버튼이 다시 눌리면 infoD 종료
infoD_state = False
display_image('info') # 'info' 상태로 돌아감
break # 루프를 탈출하여 info 화면으로 돌아감
elif current_screen == 'auto':
if pumpon_state: # pumpon 상태인 경우 autoOn을 켤 수 없음
display_image('autoOff') # 자동 모드 비활성 메시지 이미지
time.sleep(2) # 2초 동안 메시지 표시
else:
auto_state = not auto_state # autoOn과 autoOff 사이를 토글
if not auto_state:
control_relay(False) # autoOff 상태에서 릴레이를 꺼줌
display_image('autoOn' if auto_state else 'autoOff') # 해당 상태에 맞는 이미지 출력
elif current_screen == 'cropset':
ginseng_state = not ginseng_state # ginseng과 basil 사이를 토글
basil_state = not basil_state
display_image('ginseng' if ginseng_state else 'basil') # 해당 이미지 출력
# 상태 변경 후 바로 습도 기준에 따라 릴레이 업데이트
threshold = 60 if ginseng_state else 50 # ginseng일 때는 60, basil일 때는 50
temp, hum = read_dht_sensor() # 현재 습도 측정
if hum is not None:
if hum < threshold:
control_relay(True) # 습도가 임계값 미만이면 릴레이 켬
else:
control_relay(False) # 습도가 임계값 이상이면 릴레이 끔
time.sleep(0.2) # 버튼 이중입력을 방지하기 위한 딜레이
if btnBack.value() == 1:
if current_screen == 'info' and infoD_state:
infoD_state = False
display_image('info') # 'info' 상태로 돌아감
elif current_screen == 'cropset' and (ginseng_state or basil_state):
ginseng_state = False
basil_state = False
display_image('cropset') # 'cropset' 상태로 돌아감
else:
display_image(current_screen) # 현재 화면 그대로 유지
time.sleep(0.2) # 버튼 이중입력을 방지하기 위한 딜레이