#ifndef EPOLLTABLE_INTERNAL_H_INCLUDED_
#define EPOLLTABLE_INTERNAL_H_INCLUDED_
#define EPOLL_OP_TABLE_INDEX(c) \
( (((c)->close_change&(EV_CHANGE_ADD|EV_CHANGE_DEL))) | \
(((c)->read_change&(EV_CHANGE_ADD|EV_CHANGE_DEL)) << 2) | \
(((c)->write_change&(EV_CHANGE_ADD|EV_CHANGE_DEL)) << 4) | \
(((c)->old_events&(EV_READ|EV_WRITE)) << 5) | \
(((c)->old_events&(EV_CLOSED)) << 1) \
)
#if EV_READ != 2 || EV_WRITE != 4 || EV_CLOSED != 0x80 || EV_CHANGE_ADD != 1 || EV_CHANGE_DEL != 2
#error "Libevent's internals changed! Regenerate the op_table in epolltable-internal.h"
#endif
static const struct operation {
int events;
int op;
} epoll_op_table[] = {
{ 0, 0 },
{ EPOLLRDHUP, EPOLL_CTL_ADD },
{ EPOLLRDHUP, EPOLL_CTL_DEL },
{ 0, 255 },
{ EPOLLIN, EPOLL_CTL_ADD },
{ EPOLLIN|EPOLLRDHUP, EPOLL_CTL_ADD },
{ EPOLLIN, EPOLL_CTL_ADD },
{ 0, 255 },
{ EPOLLIN, EPOLL_CTL_DEL },
{ EPOLLRDHUP, EPOLL_CTL_ADD },
{ EPOLLIN|EPOLLRDHUP, EPOLL_CTL_DEL },
{ 0, 255 },
{ 0, 255 },
{ 0, 255 },
{ 0, 255 },
{ 0, 255 },
{ EPOLLOUT, EPOLL_CTL_ADD },
{ EPOLLOUT|EPOLLRDHUP, EPOLL_CTL_ADD },
{ EPOLLOUT, EPOLL_CTL_ADD },
{ 0, 255 },
{ EPOLLIN|EPOLLOUT, EPOLL_CTL_ADD },
{ EPOLLIN|EPOLLOUT|EPOLLRDHUP, EPOLL_CTL_ADD },
{ EPOLLIN|EPOLLOUT, EPOLL_CTL_ADD },
{ 0, 255 },
{ EPOLLOUT, EPOLL_CTL_ADD },
{ EPOLLOUT|EPOLLRDHUP, EPOLL_CTL_ADD },
{ EPOLLOUT, EPOLL_CTL_ADD },
{ 0, 255 },
{ 0, 255 },
{ 0, 255 },
{ 0, 255 },
{ 0, 255 },
{ EPOLLOUT, EPOLL_CTL_DEL },
{ EPOLLRDHUP, EPOLL_CTL_ADD },
{ EPOLLOUT|EPOLLRDHUP, EPOLL_CTL_DEL },
{ 0, 255 },
{ EPOLLIN, EPOLL_CTL_ADD },
{ EPOLLIN|EPOLLRDHUP, EPOLL_CTL_ADD },
{ EPOLLIN, EPOLL_CTL_ADD },
{ 0, 255 },
{ EPOLLIN|EPOLLOUT, EPOLL_CTL_DEL },
{ EPOLLRDHUP, EPOLL_CTL_ADD },
{ EPOLLIN|EPOLLOUT|EPOLLRDHUP, EPOLL_CTL_DEL },
{ 0, 255 },
{ 0, 255 },
{ 0, 255 },
{ 0, 255 },
{ 0, 255 },
{ 0, 255 },
{ 0, 255 },
{ 0, 255 },
{ 0, 255 },
{ 0, 255 },
{ 0, 255 },
{ 0, 255 },
{ 0, 255 },
{ 0, 255 },
{ 0, 255 },
{ 0, 255 },
{ 0, 255 },
{ 0, 255 },
{ 0, 255 },
{ 0, 255 },
{ 0, 255 },
{ 0, 0 },
{ EPOLLIN|EPOLLRDHUP, EPOLL_CTL_MOD },
{ EPOLLIN, EPOLL_CTL_MOD },
{ 0, 255 },
{ EPOLLIN, EPOLL_CTL_MOD },
{ EPOLLIN|EPOLLRDHUP, EPOLL_CTL_MOD },
{ EPOLLIN, EPOLL_CTL_MOD },
{ 0, 255 },
{ EPOLLIN, EPOLL_CTL_DEL },
{ EPOLLRDHUP, EPOLL_CTL_MOD },
{ EPOLLIN|EPOLLRDHUP, EPOLL_CTL_DEL },
{ 0, 255 },
{ 0, 255 },
{ 0, 255 },
{ 0, 255 },
{ 0, 255 },
{ EPOLLIN|EPOLLOUT, EPOLL_CTL_MOD },
{ EPOLLIN|EPOLLOUT|EPOLLRDHUP, EPOLL_CTL_MOD },
{ EPOLLIN|EPOLLOUT, EPOLL_CTL_MOD },
{ 0, 255 },
{ EPOLLIN|EPOLLOUT, EPOLL_CTL_MOD },
{ EPOLLIN|EPOLLOUT|EPOLLRDHUP, EPOLL_CTL_MOD },
{ EPOLLIN|EPOLLOUT, EPOLL_CTL_MOD },
{ 0, 255 },
{ EPOLLOUT, EPOLL_CTL_MOD },
{ EPOLLOUT|EPOLLRDHUP, EPOLL_CTL_MOD },
{ EPOLLOUT, EPOLL_CTL_MOD },
{ 0, 255 },
{ 0, 255 },
{ 0, 255 },
{ 0, 255 },
{ 0, 255 },
{ EPOLLIN, EPOLL_CTL_MOD },
{ EPOLLIN|EPOLLRDHUP, EPOLL_CTL_MOD },
{ EPOLLIN, EPOLL_CTL_MOD },
{ 0, 255 },
{ EPOLLIN, EPOLL_CTL_MOD },
{ EPOLLIN|EPOLLRDHUP, EPOLL_CTL_MOD },
{ EPOLLIN, EPOLL_CTL_MOD },
{ 0, 255 },
{ EPOLLIN|EPOLLOUT, EPOLL_CTL_DEL },
{ EPOLLRDHUP, EPOLL_CTL_MOD },
{ EPOLLIN|EPOLLOUT|EPOLLRDHUP, EPOLL_CTL_DEL },
{ 0, 255 },
{ 0, 255 },
{ 0, 255 },
{ 0, 255 },
{ 0, 255 },
{ 0, 255 },
{ 0, 255 },
{ 0, 255 },
{ 0, 255 },
{ 0, 255 },
{ 0, 255 },
{ 0, 255 },
{ 0, 255 },
{ 0, 255 },
{ 0, 255 },
{ 0, 255 },
{ 0, 255 },
{ 0, 255 },
{ 0, 255 },
{ 0, 255 },
{ 0, 255 },
{ 0, 0 },
{ EPOLLOUT|EPOLLRDHUP, EPOLL_CTL_MOD },
{ EPOLLOUT, EPOLL_CTL_MOD },
{ 0, 255 },
{ EPOLLIN|EPOLLOUT, EPOLL_CTL_MOD },
{ EPOLLIN|EPOLLOUT|EPOLLRDHUP, EPOLL_CTL_MOD },
{ EPOLLIN|EPOLLOUT, EPOLL_CTL_MOD },
{ 0, 255 },
{ EPOLLOUT, EPOLL_CTL_MOD },
{ EPOLLOUT|EPOLLRDHUP, EPOLL_CTL_MOD },
{ EPOLLOUT, EPOLL_CTL_MOD },
{ 0, 255 },
{ 0, 255 },
{ 0, 255 },
{ 0, 255 },
{ 0, 255 },
{ EPOLLOUT, EPOLL_CTL_MOD },
{ EPOLLOUT|EPOLLRDHUP, EPOLL_CTL_MOD },
{ EPOLLOUT, EPOLL_CTL_MOD },
{ 0, 255 },
{ EPOLLIN|EPOLLOUT, EPOLL_CTL_MOD },
{ EPOLLIN|EPOLLOUT|EPOLLRDHUP, EPOLL_CTL_MOD },
{ EPOLLIN|EPOLLOUT, EPOLL_CTL_MOD },
{ 0, 255 },
{ EPOLLOUT, EPOLL_CTL_MOD },
{ EPOLLOUT|EPOLLRDHUP, EPOLL_CTL_MOD },
{ EPOLLOUT, EPOLL_CTL_MOD },
{ 0, 255 },
{ 0, 255 },
{ 0, 255 },
{ 0, 255 },
{ 0, 255 },
{ EPOLLOUT, EPOLL_CTL_DEL },
{ EPOLLRDHUP, EPOLL_CTL_MOD },
{ EPOLLOUT|EPOLLRDHUP, EPOLL_CTL_DEL },
{ 0, 255 },
{ EPOLLIN, EPOLL_CTL_MOD },
{ EPOLLIN|EPOLLRDHUP, EPOLL_CTL_MOD },
{ EPOLLIN, EPOLL_CTL_MOD },
{ 0, 255 },
{ EPOLLIN|EPOLLOUT, EPOLL_CTL_DEL },
{ EPOLLRDHUP, EPOLL_CTL_MOD },
{ EPOLLIN|EPOLLOUT|EPOLLRDHUP, EPOLL_CTL_DEL },
{ 0, 255 },
{ 0, 255 },
{ 0, 255 },
{ 0, 255 },
{ 0, 255 },
{ 0, 255 },
{ 0, 255 },
{ 0, 255 },
{ 0, 255 },
{ 0, 255 },
{ 0, 255 },
{ 0, 255 },
{ 0, 255 },
{ 0, 255 },
{ 0, 255 },
{ 0, 255 },
{ 0, 255 },
{ 0, 255 },
{ 0, 255 },
{ 0, 255 },
{ 0, 255 },
{ 0, 0 },
{ EPOLLIN|EPOLLOUT|EPOLLRDHUP, EPOLL_CTL_MOD },
{ EPOLLIN|EPOLLOUT, EPOLL_CTL_MOD },
{ 0, 255 },
{ EPOLLIN|EPOLLOUT, EPOLL_CTL_MOD },
{ EPOLLIN|EPOLLOUT|EPOLLRDHUP, EPOLL_CTL_MOD },
{ EPOLLIN|EPOLLOUT, EPOLL_CTL_MOD },
{ 0, 255 },
{ EPOLLOUT, EPOLL_CTL_MOD },
{ EPOLLOUT|EPOLLRDHUP, EPOLL_CTL_MOD },
{ EPOLLOUT, EPOLL_CTL_MOD },
{ 0, 255 },
{ 0, 255 },
{ 0, 255 },
{ 0, 255 },
{ 0, 255 },
{ EPOLLIN|EPOLLOUT, EPOLL_CTL_MOD },
{ EPOLLIN|EPOLLOUT|EPOLLRDHUP, EPOLL_CTL_MOD },
{ EPOLLIN|EPOLLOUT, EPOLL_CTL_MOD },
{ 0, 255 },
{ EPOLLIN|EPOLLOUT, EPOLL_CTL_MOD },
{ EPOLLIN|EPOLLOUT|EPOLLRDHUP, EPOLL_CTL_MOD },
{ EPOLLIN|EPOLLOUT, EPOLL_CTL_MOD },
{ 0, 255 },
{ EPOLLOUT, EPOLL_CTL_MOD },
{ EPOLLOUT|EPOLLRDHUP, EPOLL_CTL_MOD },
{ EPOLLOUT, EPOLL_CTL_MOD },
{ 0, 255 },
{ 0, 255 },
{ 0, 255 },
{ 0, 255 },
{ 0, 255 },
{ EPOLLIN, EPOLL_CTL_MOD },
{ EPOLLIN|EPOLLRDHUP, EPOLL_CTL_MOD },
{ EPOLLIN, EPOLL_CTL_MOD },
{ 0, 255 },
{ EPOLLIN, EPOLL_CTL_MOD },
{ EPOLLIN|EPOLLRDHUP, EPOLL_CTL_MOD },
{ EPOLLIN, EPOLL_CTL_MOD },
{ 0, 255 },
{ EPOLLIN|EPOLLOUT, EPOLL_CTL_DEL },
{ EPOLLRDHUP, EPOLL_CTL_MOD },
{ EPOLLIN|EPOLLOUT|EPOLLRDHUP, EPOLL_CTL_DEL },
{ 0, 255 },
{ 0, 255 },
{ 0, 255 },
{ 0, 255 },
{ 0, 255 },
{ 0, 255 },
{ 0, 255 },
{ 0, 255 },
{ 0, 255 },
{ 0, 255 },
{ 0, 255 },
{ 0, 255 },
{ 0, 255 },
{ 0, 255 },
{ 0, 255 },
{ 0, 255 },
{ 0, 255 },
{ 0, 255 },
{ 0, 255 },
{ 0, 255 },
{ 0, 255 },
{ 0, 0 },
{ EPOLLRDHUP, EPOLL_CTL_MOD },
{ EPOLLRDHUP, EPOLL_CTL_DEL },
{ 0, 255 },
{ EPOLLIN|EPOLLRDHUP, EPOLL_CTL_MOD },
{ EPOLLIN|EPOLLRDHUP, EPOLL_CTL_MOD },
{ EPOLLIN, EPOLL_CTL_MOD },
{ 0, 255 },
{ EPOLLRDHUP, EPOLL_CTL_MOD },
{ EPOLLRDHUP, EPOLL_CTL_MOD },
{ EPOLLIN|EPOLLRDHUP, EPOLL_CTL_DEL },
{ 0, 255 },
{ 0, 255 },
{ 0, 255 },
{ 0, 255 },
{ 0, 255 },
{ EPOLLOUT|EPOLLRDHUP, EPOLL_CTL_MOD },
{ EPOLLOUT|EPOLLRDHUP, EPOLL_CTL_MOD },
{ EPOLLOUT, EPOLL_CTL_MOD },
{ 0, 255 },
{ EPOLLIN|EPOLLOUT|EPOLLRDHUP, EPOLL_CTL_MOD },
{ EPOLLIN|EPOLLOUT|EPOLLRDHUP, EPOLL_CTL_MOD },
{ EPOLLIN|EPOLLOUT, EPOLL_CTL_MOD },
{ 0, 255 },
{ EPOLLOUT|EPOLLRDHUP, EPOLL_CTL_MOD },
{ EPOLLOUT|EPOLLRDHUP, EPOLL_CTL_MOD },
{ EPOLLOUT, EPOLL_CTL_MOD },
{ 0, 255 },
{ 0, 255 },
{ 0, 255 },
{ 0, 255 },
{ 0, 255 },
{ EPOLLRDHUP, EPOLL_CTL_MOD },
{ EPOLLRDHUP, EPOLL_CTL_MOD },
{ EPOLLOUT|EPOLLRDHUP, EPOLL_CTL_DEL },
{ 0, 255 },
{ EPOLLIN|EPOLLRDHUP, EPOLL_CTL_MOD },
{ EPOLLIN|EPOLLRDHUP, EPOLL_CTL_MOD },
{ EPOLLIN, EPOLL_CTL_MOD },
{ 0, 255 },
{ EPOLLRDHUP, EPOLL_CTL_MOD },
{ EPOLLRDHUP, EPOLL_CTL_MOD },
{ EPOLLIN|EPOLLOUT|EPOLLRDHUP, EPOLL_CTL_DEL },
{ 0, 255 },
{ 0, 255 },
{ 0, 255 },
{ 0, 255 },
{ 0, 255 },
{ 0, 255 },
{ 0, 255 },
{ 0, 255 },
{ 0, 255 },
{ 0, 255 },
{ 0, 255 },
{ 0, 255 },
{ 0, 255 },
{ 0, 255 },
{ 0, 255 },
{ 0, 255 },
{ 0, 255 },
{ 0, 255 },
{ 0, 255 },
{ 0, 255 },
{ 0, 255 },
{ 0, 0 },
{ EPOLLIN|EPOLLRDHUP, EPOLL_CTL_MOD },
{ EPOLLIN, EPOLL_CTL_MOD },
{ 0, 255 },
{ EPOLLIN|EPOLLRDHUP, EPOLL_CTL_MOD },
{ EPOLLIN|EPOLLRDHUP, EPOLL_CTL_MOD },
{ EPOLLIN, EPOLL_CTL_MOD },
{ 0, 255 },
{ EPOLLRDHUP, EPOLL_CTL_MOD },
{ EPOLLRDHUP, EPOLL_CTL_MOD },
{ EPOLLIN|EPOLLRDHUP, EPOLL_CTL_DEL },
{ 0, 255 },
{ 0, 255 },
{ 0, 255 },
{ 0, 255 },
{ 0, 255 },
{ EPOLLIN|EPOLLOUT|EPOLLRDHUP, EPOLL_CTL_MOD },
{ EPOLLIN|EPOLLOUT|EPOLLRDHUP, EPOLL_CTL_MOD },
{ EPOLLIN|EPOLLOUT, EPOLL_CTL_MOD },
{ 0, 255 },
{ EPOLLIN|EPOLLOUT|EPOLLRDHUP, EPOLL_CTL_MOD },
{ EPOLLIN|EPOLLOUT|EPOLLRDHUP, EPOLL_CTL_MOD },
{ EPOLLIN|EPOLLOUT, EPOLL_CTL_MOD },
{ 0, 255 },
{ EPOLLOUT|EPOLLRDHUP, EPOLL_CTL_MOD },
{ EPOLLOUT|EPOLLRDHUP, EPOLL_CTL_MOD },
{ EPOLLOUT, EPOLL_CTL_MOD },
{ 0, 255 },
{ 0, 255 },
{ 0, 255 },
{ 0, 255 },
{ 0, 255 },
{ EPOLLIN|EPOLLRDHUP, EPOLL_CTL_MOD },
{ EPOLLIN|EPOLLRDHUP, EPOLL_CTL_MOD },
{ EPOLLIN, EPOLL_CTL_MOD },
{ 0, 255 },
{ EPOLLIN|EPOLLRDHUP, EPOLL_CTL_MOD },
{ EPOLLIN|EPOLLRDHUP, EPOLL_CTL_MOD },
{ EPOLLIN, EPOLL_CTL_MOD },
{ 0, 255 },
{ EPOLLRDHUP, EPOLL_CTL_MOD },
{ EPOLLRDHUP, EPOLL_CTL_MOD },
{ EPOLLIN|EPOLLOUT|EPOLLRDHUP, EPOLL_CTL_DEL },
{ 0, 255 },
{ 0, 255 },
{ 0, 255 },
{ 0, 255 },
{ 0, 255 },
{ 0, 255 },
{ 0, 255 },
{ 0, 255 },
{ 0, 255 },
{ 0, 255 },
{ 0, 255 },
{ 0, 255 },
{ 0, 255 },
{ 0, 255 },
{ 0, 255 },
{ 0, 255 },
{ 0, 255 },
{ 0, 255 },
{ 0, 255 },
{ 0, 255 },
{ 0, 255 },
{ 0, 0 },
{ EPOLLOUT|EPOLLRDHUP, EPOLL_CTL_MOD },
{ EPOLLOUT, EPOLL_CTL_MOD },
{ 0, 255 },
{ EPOLLIN|EPOLLOUT|EPOLLRDHUP, EPOLL_CTL_MOD },
{ EPOLLIN|EPOLLOUT|EPOLLRDHUP, EPOLL_CTL_MOD },
{ EPOLLIN|EPOLLOUT, EPOLL_CTL_MOD },
{ 0, 255 },
{ EPOLLOUT|EPOLLRDHUP, EPOLL_CTL_MOD },
{ EPOLLOUT|EPOLLRDHUP, EPOLL_CTL_MOD },
{ EPOLLOUT, EPOLL_CTL_MOD },
{ 0, 255 },
{ 0, 255 },
{ 0, 255 },
{ 0, 255 },
{ 0, 255 },
{ EPOLLOUT|EPOLLRDHUP, EPOLL_CTL_MOD },
{ EPOLLOUT|EPOLLRDHUP, EPOLL_CTL_MOD },
{ EPOLLOUT, EPOLL_CTL_MOD },
{ 0, 255 },
{ EPOLLIN|EPOLLOUT|EPOLLRDHUP, EPOLL_CTL_MOD },
{ EPOLLIN|EPOLLOUT|EPOLLRDHUP, EPOLL_CTL_MOD },
{ EPOLLIN|EPOLLOUT, EPOLL_CTL_MOD },
{ 0, 255 },
{ EPOLLOUT|EPOLLRDHUP, EPOLL_CTL_MOD },
{ EPOLLOUT|EPOLLRDHUP, EPOLL_CTL_MOD },
{ EPOLLOUT, EPOLL_CTL_MOD },
{ 0, 255 },
{ 0, 255 },
{ 0, 255 },
{ 0, 255 },
{ 0, 255 },
{ EPOLLRDHUP, EPOLL_CTL_MOD },
{ EPOLLRDHUP, EPOLL_CTL_MOD },
{ EPOLLOUT|EPOLLRDHUP, EPOLL_CTL_DEL },
{ 0, 255 },
{ EPOLLIN|EPOLLRDHUP, EPOLL_CTL_MOD },
{ EPOLLIN|EPOLLRDHUP, EPOLL_CTL_MOD },
{ EPOLLIN, EPOLL_CTL_MOD },
{ 0, 255 },
{ EPOLLRDHUP, EPOLL_CTL_MOD },
{ EPOLLRDHUP, EPOLL_CTL_MOD },
{ EPOLLIN|EPOLLOUT|EPOLLRDHUP, EPOLL_CTL_DEL },
{ 0, 255 },
{ 0, 255 },
{ 0, 255 },
{ 0, 255 },
{ 0, 255 },
{ 0, 255 },
{ 0, 255 },
{ 0, 255 },
{ 0, 255 },
{ 0, 255 },
{ 0, 255 },
{ 0, 255 },
{ 0, 255 },
{ 0, 255 },
{ 0, 255 },
{ 0, 255 },
{ 0, 255 },
{ 0, 255 },
{ 0, 255 },
{ 0, 255 },
{ 0, 255 },
{ 0, 0 },
{ EPOLLIN|EPOLLOUT|EPOLLRDHUP, EPOLL_CTL_MOD },
{ EPOLLIN|EPOLLOUT, EPOLL_CTL_MOD },
{ 0, 255 },
{ EPOLLIN|EPOLLOUT|EPOLLRDHUP, EPOLL_CTL_MOD },
{ EPOLLIN|EPOLLOUT|EPOLLRDHUP, EPOLL_CTL_MOD },
{ EPOLLIN|EPOLLOUT, EPOLL_CTL_MOD },
{ 0, 255 },
{ EPOLLOUT|EPOLLRDHUP, EPOLL_CTL_MOD },
{ EPOLLOUT|EPOLLRDHUP, EPOLL_CTL_MOD },
{ EPOLLOUT, EPOLL_CTL_MOD },
{ 0, 255 },
{ 0, 255 },
{ 0, 255 },
{ 0, 255 },
{ 0, 255 },
{ EPOLLIN|EPOLLOUT|EPOLLRDHUP, EPOLL_CTL_MOD },
{ EPOLLIN|EPOLLOUT|EPOLLRDHUP, EPOLL_CTL_MOD },
{ EPOLLIN|EPOLLOUT, EPOLL_CTL_MOD },
{ 0, 255 },
{ EPOLLIN|EPOLLOUT|EPOLLRDHUP, EPOLL_CTL_MOD },
{ EPOLLIN|EPOLLOUT|EPOLLRDHUP, EPOLL_CTL_MOD },
{ EPOLLIN|EPOLLOUT, EPOLL_CTL_MOD },
{ 0, 255 },
{ EPOLLOUT|EPOLLRDHUP, EPOLL_CTL_MOD },
{ EPOLLOUT|EPOLLRDHUP, EPOLL_CTL_MOD },
{ EPOLLOUT, EPOLL_CTL_MOD },
{ 0, 255 },
{ 0, 255 },
{ 0, 255 },
{ 0, 255 },
{ 0, 255 },
{ EPOLLIN|EPOLLRDHUP, EPOLL_CTL_MOD },
{ EPOLLIN|EPOLLRDHUP, EPOLL_CTL_MOD },
{ EPOLLIN, EPOLL_CTL_MOD },
{ 0, 255 },
{ EPOLLIN|EPOLLRDHUP, EPOLL_CTL_MOD },
{ EPOLLIN|EPOLLRDHUP, EPOLL_CTL_MOD },
{ EPOLLIN, EPOLL_CTL_MOD },
{ 0, 255 },
{ EPOLLRDHUP, EPOLL_CTL_MOD },
{ EPOLLRDHUP, EPOLL_CTL_MOD },
{ EPOLLIN|EPOLLOUT|EPOLLRDHUP, EPOLL_CTL_DEL },
{ 0, 255 },
{ 0, 255 },
{ 0, 255 },
{ 0, 255 },
{ 0, 255 },
{ 0, 255 },
{ 0, 255 },
{ 0, 255 },
{ 0, 255 },
{ 0, 255 },
{ 0, 255 },
{ 0, 255 },
{ 0, 255 },
{ 0, 255 },
{ 0, 255 },
{ 0, 255 },
{ 0, 255 },
{ 0, 255 },
{ 0, 255 },
{ 0, 255 },
{ 0, 255 },
};
#endif