From 1b068cedf3c113f27121182b29e096ccb3e1b9c1 Mon Sep 17 00:00:00 2001 From: Thomas Voss Date: Fri, 3 May 2024 18:37:50 +0200 Subject: Add more 2-stage lookup tables --- lib/unicode/prop/uprop_get_inpc.c | 2136 ++++++++++++++++++++++++++----------- 1 file changed, 1512 insertions(+), 624 deletions(-) (limited to 'lib/unicode/prop/uprop_get_inpc.c') diff --git a/lib/unicode/prop/uprop_get_inpc.c b/lib/unicode/prop/uprop_get_inpc.c index e94c898..ede92e0 100644 --- a/lib/unicode/prop/uprop_get_inpc.c +++ b/lib/unicode/prop/uprop_get_inpc.c @@ -3,151 +3,15 @@ #include "unicode/prop.h" static constexpr uint8_t stage1[] = { - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 5, 6, 7, - 8, 0, 0, 0, 0, 0, 0, 9, 0, 10, 11, 12, 13, 14, 0, 0, - 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 16, 17, 18, 19, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 0, 0, 0, 0, 0, - 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 0, 32, 33, 34, 35, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 2, 3, 4, 5, 0, 0, 6, 7, 8, 9, 0, + 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 11, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 13, 0, 0, 14, 15, 16, 17, 18, 19, 20, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -277,7 +141,7 @@ static constexpr uint8_t stage1[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; -static constexpr enum uprop_inpc stage2[][256] = { +static constexpr enum uprop_inpc stage2[][512] = { {INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, @@ -405,9 +269,6 @@ static constexpr enum uprop_inpc stage2[][256] = { INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, - INPC_NA, INPC_NA}, - {INPC_TOP, INPC_TOP, - INPC_TOP, INPC_RIGHT, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, @@ -435,27 +296,11 @@ static constexpr enum uprop_inpc stage2[][256] = { INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, - INPC_TOP, INPC_RIGHT, - INPC_BOTTOM, INPC_NA, - INPC_RIGHT, INPC_LEFT, - INPC_RIGHT, INPC_BOTTOM, - INPC_BOTTOM, INPC_BOTTOM, - INPC_BOTTOM, INPC_TOP, - INPC_TOP, INPC_TOP, - INPC_TOP, INPC_RIGHT, - INPC_RIGHT, INPC_RIGHT, - INPC_RIGHT, INPC_BOTTOM, - INPC_LEFT, INPC_RIGHT, - INPC_NA, INPC_TOP, - INPC_BOTTOM, INPC_NA, - INPC_NA, INPC_TOP, - INPC_BOTTOM, INPC_BOTTOM, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, - INPC_BOTTOM, INPC_BOTTOM, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, @@ -470,8 +315,6 @@ static constexpr enum uprop_inpc stage2[][256] = { INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, - INPC_NA, INPC_TOP, - INPC_RIGHT, INPC_RIGHT, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, @@ -500,26 +343,1063 @@ static constexpr enum uprop_inpc stage2[][256] = { INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA}, + {INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_TOP, INPC_TOP, + INPC_TOP, INPC_RIGHT, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_TOP, INPC_RIGHT, + INPC_BOTTOM, INPC_NA, + INPC_RIGHT, INPC_LEFT, + INPC_RIGHT, INPC_BOTTOM, + INPC_BOTTOM, INPC_BOTTOM, + INPC_BOTTOM, INPC_TOP, + INPC_TOP, INPC_TOP, + INPC_TOP, INPC_RIGHT, + INPC_RIGHT, INPC_RIGHT, + INPC_RIGHT, INPC_BOTTOM, + INPC_LEFT, INPC_RIGHT, + INPC_NA, INPC_TOP, + INPC_BOTTOM, INPC_NA, + INPC_NA, INPC_TOP, + INPC_BOTTOM, INPC_BOTTOM, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_BOTTOM, INPC_BOTTOM, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_TOP, + INPC_RIGHT, INPC_RIGHT, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_BOTTOM, INPC_NA, + INPC_RIGHT, INPC_LEFT, + INPC_RIGHT, INPC_BOTTOM, + INPC_BOTTOM, INPC_BOTTOM, + INPC_BOTTOM, INPC_NA, + INPC_NA, INPC_LEFT, + INPC_LEFT, INPC_NA, + INPC_NA, INPC_LEFT_AND_RIGHT, + INPC_LEFT_AND_RIGHT, INPC_BOTTOM, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_RIGHT, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_BOTTOM, INPC_BOTTOM, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_TOP, INPC_NA}, + {INPC_NA, INPC_TOP, + INPC_TOP, INPC_RIGHT, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_BOTTOM, INPC_NA, + INPC_RIGHT, INPC_LEFT, + INPC_RIGHT, INPC_BOTTOM, + INPC_BOTTOM, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_TOP, + INPC_TOP, INPC_NA, + INPC_NA, INPC_TOP, + INPC_TOP, INPC_BOTTOM, + INPC_NA, INPC_NA, + INPC_NA, INPC_BOTTOM, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_TOP, INPC_TOP, + INPC_NA, INPC_NA, + INPC_NA, INPC_BOTTOM, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_TOP, + INPC_TOP, INPC_RIGHT, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_BOTTOM, INPC_NA, + INPC_RIGHT, INPC_LEFT, + INPC_RIGHT, INPC_BOTTOM, + INPC_BOTTOM, INPC_BOTTOM, + INPC_BOTTOM, INPC_TOP, + INPC_NA, INPC_TOP, + INPC_TOP, INPC_TOP_AND_RIGHT, + INPC_NA, INPC_RIGHT, + INPC_RIGHT, INPC_BOTTOM, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_BOTTOM, INPC_BOTTOM, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_TOP, INPC_TOP, + INPC_TOP, INPC_TOP, + INPC_TOP, INPC_TOP, + INPC_NA, INPC_TOP, + INPC_RIGHT, INPC_RIGHT, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_BOTTOM, INPC_NA, + INPC_RIGHT, INPC_TOP, + INPC_RIGHT, INPC_BOTTOM, + INPC_BOTTOM, INPC_BOTTOM, + INPC_BOTTOM, INPC_NA, + INPC_NA, INPC_LEFT, + INPC_TOP_AND_LEFT, INPC_NA, + INPC_NA, INPC_LEFT_AND_RIGHT, + INPC_TOP_AND_LEFT_AND_RIGHT, INPC_BOTTOM, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_TOP, + INPC_TOP, INPC_TOP_AND_RIGHT, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_BOTTOM, INPC_BOTTOM, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_TOP, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_RIGHT, INPC_RIGHT, + INPC_TOP, INPC_RIGHT, + INPC_RIGHT, INPC_NA, + INPC_NA, INPC_NA, + INPC_LEFT, INPC_LEFT, + INPC_LEFT, INPC_NA, + INPC_LEFT_AND_RIGHT, INPC_LEFT_AND_RIGHT, + INPC_LEFT_AND_RIGHT, INPC_TOP, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_RIGHT, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA}, + {INPC_TOP, INPC_RIGHT, + INPC_RIGHT, INPC_RIGHT, + INPC_TOP, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_BOTTOM, INPC_NA, + INPC_TOP, INPC_TOP, + INPC_TOP, INPC_RIGHT, + INPC_RIGHT, INPC_RIGHT, + INPC_RIGHT, INPC_NA, + INPC_TOP, INPC_TOP, + INPC_TOP_AND_BOTTOM, INPC_NA, + INPC_TOP, INPC_TOP, + INPC_TOP, INPC_TOP, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_TOP, + INPC_BOTTOM, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_BOTTOM, INPC_BOTTOM, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_TOP, + INPC_RIGHT, INPC_RIGHT, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_BOTTOM, INPC_NA, + INPC_RIGHT, INPC_TOP, + INPC_TOP_AND_RIGHT, INPC_RIGHT, + INPC_RIGHT, INPC_RIGHT, + INPC_RIGHT, INPC_NA, + INPC_TOP, INPC_TOP_AND_RIGHT, + INPC_TOP_AND_RIGHT, INPC_NA, + INPC_TOP_AND_RIGHT, INPC_TOP_AND_RIGHT, + INPC_TOP, INPC_TOP, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_RIGHT, + INPC_RIGHT, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_BOTTOM, INPC_BOTTOM, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_RIGHT, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_TOP, INPC_TOP, + INPC_RIGHT, INPC_RIGHT, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_TOP, + INPC_TOP, INPC_NA, + INPC_RIGHT, INPC_RIGHT, + INPC_RIGHT, INPC_RIGHT, + INPC_RIGHT, INPC_BOTTOM, + INPC_BOTTOM, INPC_NA, + INPC_LEFT, INPC_LEFT, + INPC_LEFT, INPC_NA, + INPC_LEFT_AND_RIGHT, INPC_LEFT_AND_RIGHT, + INPC_LEFT_AND_RIGHT, INPC_TOP, + INPC_TOP, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_RIGHT, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_BOTTOM, INPC_BOTTOM, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_TOP, + INPC_RIGHT, INPC_RIGHT, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_TOP, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_RIGHT, + INPC_RIGHT, INPC_RIGHT, + INPC_TOP, INPC_TOP, + INPC_BOTTOM, INPC_NA, + INPC_BOTTOM, INPC_NA, + INPC_RIGHT, INPC_LEFT, + INPC_TOP_AND_LEFT, INPC_LEFT, + INPC_LEFT_AND_RIGHT, INPC_TOP_AND_LEFT_AND_RIGHT, + INPC_LEFT_AND_RIGHT, INPC_RIGHT, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_RIGHT, INPC_RIGHT, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA}, + {INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_RIGHT, INPC_TOP, + INPC_RIGHT, INPC_RIGHT, + INPC_TOP, INPC_TOP, + INPC_TOP, INPC_TOP, + INPC_BOTTOM, INPC_BOTTOM, + INPC_BOTTOM, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_VISUAL_ORDER_LEFT, INPC_VISUAL_ORDER_LEFT, + INPC_VISUAL_ORDER_LEFT, INPC_VISUAL_ORDER_LEFT, + INPC_VISUAL_ORDER_LEFT, INPC_RIGHT, + INPC_NA, INPC_TOP, + INPC_TOP, INPC_TOP, + INPC_TOP, INPC_TOP, + INPC_TOP, INPC_TOP, + INPC_TOP, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_RIGHT, INPC_TOP, + INPC_RIGHT, INPC_RIGHT, + INPC_TOP, INPC_TOP, + INPC_TOP, INPC_TOP, + INPC_BOTTOM, INPC_BOTTOM, + INPC_BOTTOM, INPC_TOP, + INPC_BOTTOM, INPC_NA, + INPC_NA, INPC_NA, + INPC_VISUAL_ORDER_LEFT, INPC_VISUAL_ORDER_LEFT, + INPC_VISUAL_ORDER_LEFT, INPC_VISUAL_ORDER_LEFT, + INPC_VISUAL_ORDER_LEFT, INPC_NA, + INPC_NA, INPC_NA, + INPC_TOP, INPC_TOP, + INPC_TOP, INPC_TOP, + INPC_TOP, INPC_TOP, + INPC_TOP, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_BOTTOM, INPC_BOTTOM, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_BOTTOM, + INPC_NA, INPC_BOTTOM, + INPC_NA, INPC_TOP, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_RIGHT, INPC_LEFT, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_BOTTOM, + INPC_TOP, INPC_TOP_AND_BOTTOM, + INPC_BOTTOM, INPC_BOTTOM, + INPC_TOP_AND_BOTTOM, INPC_TOP_AND_BOTTOM, + INPC_TOP_AND_BOTTOM, INPC_TOP_AND_BOTTOM, + INPC_TOP, INPC_TOP, + INPC_TOP, INPC_TOP, + INPC_TOP, INPC_RIGHT, + INPC_TOP, INPC_TOP_AND_BOTTOM, + INPC_TOP, INPC_TOP, INPC_BOTTOM, INPC_NA, - INPC_RIGHT, INPC_LEFT, - INPC_RIGHT, INPC_BOTTOM, + INPC_TOP, INPC_TOP, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_BOTTOM, + INPC_BOTTOM, INPC_BOTTOM, + INPC_BOTTOM, INPC_BOTTOM, + INPC_BOTTOM, INPC_BOTTOM, + INPC_BOTTOM, INPC_BOTTOM, + INPC_BOTTOM, INPC_BOTTOM, + INPC_NA, INPC_BOTTOM, + INPC_BOTTOM, INPC_BOTTOM, + INPC_BOTTOM, INPC_BOTTOM, + INPC_BOTTOM, INPC_BOTTOM, + INPC_BOTTOM, INPC_BOTTOM, + INPC_BOTTOM, INPC_BOTTOM, + INPC_BOTTOM, INPC_BOTTOM, + INPC_BOTTOM, INPC_BOTTOM, + INPC_BOTTOM, INPC_BOTTOM, + INPC_BOTTOM, INPC_BOTTOM, + INPC_BOTTOM, INPC_BOTTOM, + INPC_BOTTOM, INPC_BOTTOM, + INPC_BOTTOM, INPC_BOTTOM, + INPC_BOTTOM, INPC_BOTTOM, + INPC_BOTTOM, INPC_BOTTOM, + INPC_BOTTOM, INPC_BOTTOM, + INPC_BOTTOM, INPC_BOTTOM, INPC_BOTTOM, INPC_BOTTOM, INPC_BOTTOM, INPC_NA, - INPC_NA, INPC_LEFT, - INPC_LEFT, INPC_NA, - INPC_NA, INPC_LEFT_AND_RIGHT, - INPC_LEFT_AND_RIGHT, INPC_BOTTOM, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, - INPC_NA, INPC_RIGHT, + INPC_BOTTOM, INPC_NA, + INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, - INPC_BOTTOM, INPC_BOTTOM, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, @@ -533,9 +1413,6 @@ static constexpr enum uprop_inpc stage2[][256] = { INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, - INPC_TOP, INPC_NA}, - {INPC_NA, INPC_TOP, - INPC_TOP, INPC_RIGHT, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, @@ -544,6 +1421,8 @@ static constexpr enum uprop_inpc stage2[][256] = { INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, + INPC_NA, INPC_NA}, + {INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, @@ -564,17 +1443,66 @@ static constexpr enum uprop_inpc stage2[][256] = { INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, + INPC_NA, INPC_RIGHT, + INPC_RIGHT, INPC_TOP, + INPC_TOP, INPC_BOTTOM, + INPC_BOTTOM, INPC_LEFT, + INPC_TOP, INPC_TOP, + INPC_TOP, INPC_TOP, + INPC_TOP, INPC_BOTTOM, + INPC_RIGHT, INPC_NA, + INPC_TOP, INPC_RIGHT, + INPC_TOP_AND_BOTTOM_AND_LEFT, INPC_BOTTOM, INPC_BOTTOM, INPC_NA, - INPC_RIGHT, INPC_LEFT, - INPC_RIGHT, INPC_BOTTOM, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_RIGHT, INPC_RIGHT, + INPC_BOTTOM, INPC_BOTTOM, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_BOTTOM, INPC_BOTTOM, INPC_BOTTOM, INPC_NA, + INPC_RIGHT, INPC_RIGHT, + INPC_RIGHT, INPC_NA, + INPC_NA, INPC_RIGHT, + INPC_RIGHT, INPC_RIGHT, + INPC_RIGHT, INPC_RIGHT, + INPC_RIGHT, INPC_RIGHT, INPC_NA, INPC_NA, INPC_NA, INPC_TOP, + INPC_TOP, INPC_TOP, INPC_TOP, INPC_NA, - INPC_NA, INPC_TOP, - INPC_TOP, INPC_BOTTOM, INPC_NA, INPC_NA, - INPC_NA, INPC_BOTTOM, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_BOTTOM, INPC_RIGHT, + INPC_LEFT, INPC_TOP, + INPC_TOP, INPC_RIGHT, + INPC_RIGHT, INPC_RIGHT, + INPC_RIGHT, INPC_RIGHT, + INPC_RIGHT, INPC_BOTTOM, + INPC_NA, INPC_RIGHT, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_RIGHT, INPC_RIGHT, + INPC_RIGHT, INPC_TOP, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, @@ -590,16 +1518,12 @@ static constexpr enum uprop_inpc stage2[][256] = { INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, - INPC_TOP, INPC_TOP, INPC_NA, INPC_NA, - INPC_NA, INPC_BOTTOM, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, - INPC_NA, INPC_TOP, - INPC_TOP, INPC_RIGHT, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, @@ -628,15 +1552,6 @@ static constexpr enum uprop_inpc stage2[][256] = { INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, - INPC_BOTTOM, INPC_NA, - INPC_RIGHT, INPC_LEFT, - INPC_RIGHT, INPC_BOTTOM, - INPC_BOTTOM, INPC_BOTTOM, - INPC_BOTTOM, INPC_TOP, - INPC_NA, INPC_TOP, - INPC_TOP, INPC_TOP_AND_RIGHT, - INPC_NA, INPC_RIGHT, - INPC_RIGHT, INPC_BOTTOM, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, @@ -647,7 +1562,6 @@ static constexpr enum uprop_inpc stage2[][256] = { INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, - INPC_BOTTOM, INPC_BOTTOM, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, @@ -659,11 +1573,6 @@ static constexpr enum uprop_inpc stage2[][256] = { INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, - INPC_TOP, INPC_TOP, - INPC_TOP, INPC_TOP, - INPC_TOP, INPC_TOP}, - {INPC_NA, INPC_TOP, - INPC_RIGHT, INPC_RIGHT, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, @@ -692,26 +1601,14 @@ static constexpr enum uprop_inpc stage2[][256] = { INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, - INPC_BOTTOM, INPC_NA, - INPC_RIGHT, INPC_TOP, - INPC_RIGHT, INPC_BOTTOM, - INPC_BOTTOM, INPC_BOTTOM, - INPC_BOTTOM, INPC_NA, - INPC_NA, INPC_LEFT, - INPC_TOP_AND_LEFT, INPC_NA, - INPC_NA, INPC_LEFT_AND_RIGHT, - INPC_TOP_AND_LEFT_AND_RIGHT, INPC_BOTTOM, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, - INPC_NA, INPC_TOP, - INPC_TOP, INPC_TOP_AND_RIGHT, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, - INPC_BOTTOM, INPC_BOTTOM, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, @@ -727,7 +1624,6 @@ static constexpr enum uprop_inpc stage2[][256] = { INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, - INPC_TOP, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, @@ -757,19 +1653,11 @@ static constexpr enum uprop_inpc stage2[][256] = { INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, - INPC_RIGHT, INPC_RIGHT, - INPC_TOP, INPC_RIGHT, - INPC_RIGHT, INPC_NA, INPC_NA, INPC_NA, - INPC_LEFT, INPC_LEFT, - INPC_LEFT, INPC_NA, - INPC_LEFT_AND_RIGHT, INPC_LEFT_AND_RIGHT, - INPC_LEFT_AND_RIGHT, INPC_TOP, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, - INPC_NA, INPC_RIGHT, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, @@ -790,9 +1678,30 @@ static constexpr enum uprop_inpc stage2[][256] = { INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA}, - {INPC_TOP, INPC_RIGHT, - INPC_RIGHT, INPC_RIGHT, - INPC_TOP, INPC_NA, + {INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, @@ -820,26 +1729,14 @@ static constexpr enum uprop_inpc stage2[][256] = { INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, - INPC_BOTTOM, INPC_NA, - INPC_TOP, INPC_TOP, - INPC_TOP, INPC_RIGHT, - INPC_RIGHT, INPC_RIGHT, - INPC_RIGHT, INPC_NA, - INPC_TOP, INPC_TOP, - INPC_TOP_AND_BOTTOM, INPC_NA, - INPC_TOP, INPC_TOP, - INPC_TOP, INPC_TOP, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, - INPC_NA, INPC_TOP, - INPC_BOTTOM, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, - INPC_BOTTOM, INPC_BOTTOM, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, @@ -854,8 +1751,6 @@ static constexpr enum uprop_inpc stage2[][256] = { INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, - INPC_NA, INPC_TOP, - INPC_RIGHT, INPC_RIGHT, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, @@ -884,26 +1779,14 @@ static constexpr enum uprop_inpc stage2[][256] = { INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, - INPC_BOTTOM, INPC_NA, - INPC_RIGHT, INPC_TOP, - INPC_TOP_AND_RIGHT, INPC_RIGHT, - INPC_RIGHT, INPC_RIGHT, - INPC_RIGHT, INPC_NA, - INPC_TOP, INPC_TOP_AND_RIGHT, - INPC_TOP_AND_RIGHT, INPC_NA, - INPC_TOP_AND_RIGHT, INPC_TOP_AND_RIGHT, - INPC_TOP, INPC_TOP, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, - INPC_NA, INPC_RIGHT, - INPC_RIGHT, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, - INPC_BOTTOM, INPC_BOTTOM, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, @@ -911,15 +1794,11 @@ static constexpr enum uprop_inpc stage2[][256] = { INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, - INPC_NA, INPC_RIGHT, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, - INPC_NA, INPC_NA}, - {INPC_TOP, INPC_TOP, - INPC_RIGHT, INPC_RIGHT, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, @@ -936,6 +1815,8 @@ static constexpr enum uprop_inpc stage2[][256] = { INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, + INPC_TOP, INPC_BOTTOM, + INPC_BOTTOM, INPC_RIGHT, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, @@ -947,27 +1828,16 @@ static constexpr enum uprop_inpc stage2[][256] = { INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, - INPC_NA, INPC_TOP, - INPC_TOP, INPC_NA, - INPC_RIGHT, INPC_RIGHT, - INPC_RIGHT, INPC_RIGHT, - INPC_RIGHT, INPC_BOTTOM, - INPC_BOTTOM, INPC_NA, - INPC_LEFT, INPC_LEFT, - INPC_LEFT, INPC_NA, - INPC_LEFT_AND_RIGHT, INPC_LEFT_AND_RIGHT, - INPC_LEFT_AND_RIGHT, INPC_TOP, - INPC_TOP, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, - INPC_NA, INPC_RIGHT, + INPC_TOP, INPC_BOTTOM, + INPC_RIGHT, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, - INPC_BOTTOM, INPC_BOTTOM, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, @@ -977,13 +1847,12 @@ static constexpr enum uprop_inpc stage2[][256] = { INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, + INPC_TOP, INPC_BOTTOM, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, - INPC_NA, INPC_TOP, - INPC_RIGHT, INPC_RIGHT, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, @@ -994,6 +1863,7 @@ static constexpr enum uprop_inpc stage2[][256] = { INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, + INPC_TOP, INPC_BOTTOM, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, @@ -1019,17 +1889,7 @@ static constexpr enum uprop_inpc stage2[][256] = { INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, - INPC_TOP, INPC_NA, INPC_NA, INPC_NA, - INPC_NA, INPC_RIGHT, - INPC_RIGHT, INPC_RIGHT, - INPC_TOP, INPC_TOP, - INPC_BOTTOM, INPC_NA, - INPC_BOTTOM, INPC_NA, - INPC_RIGHT, INPC_LEFT, - INPC_TOP_AND_LEFT, INPC_LEFT, - INPC_LEFT_AND_RIGHT, INPC_TOP_AND_LEFT_AND_RIGHT, - INPC_LEFT_AND_RIGHT, INPC_RIGHT, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, @@ -1037,16 +1897,29 @@ static constexpr enum uprop_inpc stage2[][256] = { INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, + INPC_RIGHT, INPC_TOP, + INPC_TOP, INPC_TOP, + INPC_TOP, INPC_BOTTOM, + INPC_BOTTOM, INPC_BOTTOM, + INPC_TOP_AND_LEFT, INPC_TOP_AND_LEFT_AND_RIGHT, + INPC_LEFT_AND_RIGHT, INPC_LEFT, + INPC_LEFT, INPC_LEFT, + INPC_LEFT_AND_RIGHT, INPC_LEFT_AND_RIGHT, + INPC_TOP, INPC_RIGHT, + INPC_RIGHT, INPC_TOP, + INPC_TOP, INPC_TOP, + INPC_TOP, INPC_TOP, + INPC_TOP, INPC_TOP, + INPC_TOP, INPC_TOP, + INPC_NA, INPC_TOP, INPC_NA, INPC_NA, INPC_NA, INPC_NA, - INPC_RIGHT, INPC_RIGHT, INPC_NA, INPC_NA, INPC_NA, INPC_NA, + INPC_NA, INPC_TOP, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, - INPC_NA, INPC_NA}, - {INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, @@ -1060,6 +1933,8 @@ static constexpr enum uprop_inpc stage2[][256] = { INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, + INPC_NA, INPC_NA}, + {INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, @@ -1070,22 +1945,8 @@ static constexpr enum uprop_inpc stage2[][256] = { INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, - INPC_RIGHT, INPC_TOP, - INPC_RIGHT, INPC_RIGHT, - INPC_TOP, INPC_TOP, - INPC_TOP, INPC_TOP, - INPC_BOTTOM, INPC_BOTTOM, - INPC_BOTTOM, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, - INPC_VISUAL_ORDER_LEFT, INPC_VISUAL_ORDER_LEFT, - INPC_VISUAL_ORDER_LEFT, INPC_VISUAL_ORDER_LEFT, - INPC_VISUAL_ORDER_LEFT, INPC_RIGHT, - INPC_NA, INPC_TOP, - INPC_TOP, INPC_TOP, - INPC_TOP, INPC_TOP, - INPC_TOP, INPC_TOP, - INPC_TOP, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, @@ -1134,22 +1995,8 @@ static constexpr enum uprop_inpc stage2[][256] = { INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, - INPC_RIGHT, INPC_TOP, - INPC_RIGHT, INPC_RIGHT, - INPC_TOP, INPC_TOP, - INPC_TOP, INPC_TOP, - INPC_BOTTOM, INPC_BOTTOM, - INPC_BOTTOM, INPC_TOP, - INPC_BOTTOM, INPC_NA, INPC_NA, INPC_NA, - INPC_VISUAL_ORDER_LEFT, INPC_VISUAL_ORDER_LEFT, - INPC_VISUAL_ORDER_LEFT, INPC_VISUAL_ORDER_LEFT, - INPC_VISUAL_ORDER_LEFT, INPC_NA, INPC_NA, INPC_NA, - INPC_TOP, INPC_TOP, - INPC_TOP, INPC_TOP, - INPC_TOP, INPC_TOP, - INPC_TOP, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, @@ -1173,8 +2020,6 @@ static constexpr enum uprop_inpc stage2[][256] = { INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, - INPC_NA, INPC_NA}, - {INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, @@ -1186,7 +2031,6 @@ static constexpr enum uprop_inpc stage2[][256] = { INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, - INPC_BOTTOM, INPC_BOTTOM, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, @@ -1200,12 +2044,8 @@ static constexpr enum uprop_inpc stage2[][256] = { INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, - INPC_NA, INPC_BOTTOM, - INPC_NA, INPC_BOTTOM, - INPC_NA, INPC_TOP, INPC_NA, INPC_NA, INPC_NA, INPC_NA, - INPC_RIGHT, INPC_LEFT, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, @@ -1230,52 +2070,28 @@ static constexpr enum uprop_inpc stage2[][256] = { INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, - INPC_NA, INPC_BOTTOM, - INPC_TOP, INPC_TOP_AND_BOTTOM, - INPC_BOTTOM, INPC_BOTTOM, - INPC_TOP_AND_BOTTOM, INPC_TOP_AND_BOTTOM, - INPC_TOP_AND_BOTTOM, INPC_TOP_AND_BOTTOM, - INPC_TOP, INPC_TOP, - INPC_TOP, INPC_TOP, - INPC_TOP, INPC_RIGHT, - INPC_TOP, INPC_TOP_AND_BOTTOM, - INPC_TOP, INPC_TOP, - INPC_BOTTOM, INPC_NA, - INPC_TOP, INPC_TOP, INPC_NA, INPC_NA, INPC_NA, INPC_NA, - INPC_NA, INPC_BOTTOM, - INPC_BOTTOM, INPC_BOTTOM, - INPC_BOTTOM, INPC_BOTTOM, - INPC_BOTTOM, INPC_BOTTOM, - INPC_BOTTOM, INPC_BOTTOM, - INPC_BOTTOM, INPC_BOTTOM, - INPC_NA, INPC_BOTTOM, - INPC_BOTTOM, INPC_BOTTOM, - INPC_BOTTOM, INPC_BOTTOM, - INPC_BOTTOM, INPC_BOTTOM, - INPC_BOTTOM, INPC_BOTTOM, - INPC_BOTTOM, INPC_BOTTOM, - INPC_BOTTOM, INPC_BOTTOM, - INPC_BOTTOM, INPC_BOTTOM, - INPC_BOTTOM, INPC_BOTTOM, - INPC_BOTTOM, INPC_BOTTOM, - INPC_BOTTOM, INPC_BOTTOM, - INPC_BOTTOM, INPC_BOTTOM, - INPC_BOTTOM, INPC_BOTTOM, - INPC_BOTTOM, INPC_BOTTOM, - INPC_BOTTOM, INPC_BOTTOM, - INPC_BOTTOM, INPC_BOTTOM, - INPC_BOTTOM, INPC_BOTTOM, - INPC_BOTTOM, INPC_BOTTOM, - INPC_BOTTOM, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, - INPC_BOTTOM, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, + INPC_TOP, INPC_TOP, + INPC_BOTTOM, INPC_RIGHT, + INPC_RIGHT, INPC_TOP_AND_RIGHT, + INPC_TOP_AND_RIGHT, INPC_TOP, + INPC_TOP, INPC_RIGHT, + INPC_RIGHT, INPC_RIGHT, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_RIGHT, INPC_RIGHT, + INPC_BOTTOM, INPC_RIGHT, + INPC_RIGHT, INPC_RIGHT, + INPC_RIGHT, INPC_RIGHT, + INPC_RIGHT, INPC_BOTTOM, + INPC_TOP, INPC_BOTTOM, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, @@ -1301,8 +2117,6 @@ static constexpr enum uprop_inpc stage2[][256] = { INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, - INPC_NA, INPC_NA}, - {INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, @@ -1323,17 +2137,6 @@ static constexpr enum uprop_inpc stage2[][256] = { INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, - INPC_NA, INPC_RIGHT, - INPC_RIGHT, INPC_TOP, - INPC_TOP, INPC_BOTTOM, - INPC_BOTTOM, INPC_LEFT, - INPC_TOP, INPC_TOP, - INPC_TOP, INPC_TOP, - INPC_TOP, INPC_BOTTOM, - INPC_RIGHT, INPC_NA, - INPC_TOP, INPC_RIGHT, - INPC_TOP_AND_BOTTOM_AND_LEFT, INPC_BOTTOM, - INPC_BOTTOM, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, @@ -1345,42 +2148,29 @@ static constexpr enum uprop_inpc stage2[][256] = { INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, - INPC_RIGHT, INPC_RIGHT, - INPC_BOTTOM, INPC_BOTTOM, INPC_NA, INPC_NA, INPC_NA, INPC_NA, - INPC_BOTTOM, INPC_BOTTOM, - INPC_BOTTOM, INPC_NA, INPC_RIGHT, INPC_RIGHT, - INPC_RIGHT, INPC_NA, - INPC_NA, INPC_RIGHT, INPC_RIGHT, INPC_RIGHT, + INPC_RIGHT, INPC_VISUAL_ORDER_LEFT, + INPC_VISUAL_ORDER_LEFT, INPC_VISUAL_ORDER_LEFT, INPC_RIGHT, INPC_RIGHT, + INPC_VISUAL_ORDER_LEFT, INPC_RIGHT, INPC_RIGHT, INPC_RIGHT, - INPC_NA, INPC_NA, - INPC_NA, INPC_TOP, - INPC_TOP, INPC_TOP, - INPC_TOP, INPC_NA, + INPC_RIGHT, INPC_RIGHT, + INPC_RIGHT, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, + INPC_RIGHT, INPC_RIGHT, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, - INPC_BOTTOM, INPC_RIGHT, - INPC_LEFT, INPC_TOP, - INPC_TOP, INPC_RIGHT, - INPC_RIGHT, INPC_RIGHT, - INPC_RIGHT, INPC_RIGHT, - INPC_RIGHT, INPC_BOTTOM, - INPC_NA, INPC_RIGHT, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, - INPC_RIGHT, INPC_RIGHT, - INPC_RIGHT, INPC_TOP, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, @@ -1399,6 +2189,8 @@ static constexpr enum uprop_inpc stage2[][256] = { INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, + INPC_NA, INPC_NA}, + {INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, @@ -1409,6 +2201,9 @@ static constexpr enum uprop_inpc stage2[][256] = { INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, + INPC_NA, INPC_TOP, + INPC_BOTTOM, INPC_LEFT, + INPC_RIGHT, INPC_TOP, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, @@ -1429,8 +2224,6 @@ static constexpr enum uprop_inpc stage2[][256] = { INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, - INPC_NA, INPC_NA}, - {INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, @@ -1439,8 +2232,28 @@ static constexpr enum uprop_inpc stage2[][256] = { INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, + INPC_NA, INPC_LEFT, + INPC_BOTTOM, INPC_RIGHT, + INPC_TOP, INPC_TOP, + INPC_TOP, INPC_BOTTOM, + INPC_BOTTOM, INPC_BOTTOM, + INPC_BOTTOM, INPC_NA, + INPC_NA, INPC_RIGHT, + INPC_TOP, INPC_RIGHT, + INPC_RIGHT, INPC_TOP, + INPC_TOP, INPC_TOP, INPC_TOP, INPC_BOTTOM, + INPC_BOTTOM, INPC_TOP, INPC_BOTTOM, INPC_RIGHT, + INPC_LEFT, INPC_LEFT, + INPC_LEFT, INPC_LEFT, + INPC_LEFT, INPC_TOP, + INPC_TOP, INPC_TOP, + INPC_TOP, INPC_TOP, + INPC_TOP, INPC_TOP, + INPC_TOP, INPC_TOP, + INPC_TOP, INPC_NA, + INPC_NA, INPC_BOTTOM, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, @@ -1455,8 +2268,6 @@ static constexpr enum uprop_inpc stage2[][256] = { INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, - INPC_TOP, INPC_BOTTOM, - INPC_RIGHT, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, @@ -1471,7 +2282,6 @@ static constexpr enum uprop_inpc stage2[][256] = { INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, - INPC_TOP, INPC_BOTTOM, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, @@ -1487,7 +2297,6 @@ static constexpr enum uprop_inpc stage2[][256] = { INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, - INPC_TOP, INPC_BOTTOM, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, @@ -1509,6 +2318,20 @@ static constexpr enum uprop_inpc stage2[][256] = { INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, + INPC_TOP, INPC_TOP, + INPC_TOP, INPC_TOP, + INPC_RIGHT, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, @@ -1521,26 +2344,20 @@ static constexpr enum uprop_inpc stage2[][256] = { INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, - INPC_RIGHT, INPC_TOP, - INPC_TOP, INPC_TOP, - INPC_TOP, INPC_BOTTOM, - INPC_BOTTOM, INPC_BOTTOM, - INPC_TOP_AND_LEFT, INPC_TOP_AND_LEFT_AND_RIGHT, - INPC_LEFT_AND_RIGHT, INPC_LEFT, - INPC_LEFT, INPC_LEFT, - INPC_LEFT_AND_RIGHT, INPC_LEFT_AND_RIGHT, INPC_TOP, INPC_RIGHT, - INPC_RIGHT, INPC_TOP, - INPC_TOP, INPC_TOP, INPC_TOP, INPC_TOP, - INPC_TOP, INPC_TOP, - INPC_TOP, INPC_TOP, - INPC_NA, INPC_TOP, + INPC_BOTTOM, INPC_BOTTOM, + INPC_BOTTOM, INPC_BOTTOM_AND_RIGHT, + INPC_TOP_AND_BOTTOM, INPC_TOP_AND_BOTTOM_AND_RIGHT, + INPC_LEFT, INPC_LEFT, + INPC_LEFT_AND_RIGHT, INPC_LEFT_AND_RIGHT, + INPC_TOP, INPC_TOP_AND_RIGHT, + INPC_RIGHT, INPC_NA, + INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, - INPC_NA, INPC_TOP, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, @@ -1554,14 +2371,19 @@ static constexpr enum uprop_inpc stage2[][256] = { INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, + INPC_NA, INPC_TOP, + INPC_BOTTOM, INPC_TOP, + INPC_TOP, INPC_TOP, + INPC_TOP, INPC_TOP, + INPC_TOP, INPC_TOP, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, - INPC_NA, INPC_NA}, - {INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, + INPC_TOP, INPC_TOP, + INPC_RIGHT, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, @@ -1574,20 +2396,15 @@ static constexpr enum uprop_inpc stage2[][256] = { INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, - INPC_TOP, INPC_TOP, - INPC_BOTTOM, INPC_RIGHT, - INPC_RIGHT, INPC_TOP_AND_RIGHT, - INPC_TOP_AND_RIGHT, INPC_TOP, - INPC_TOP, INPC_RIGHT, - INPC_RIGHT, INPC_RIGHT, INPC_NA, INPC_NA, INPC_NA, INPC_NA, - INPC_RIGHT, INPC_RIGHT, - INPC_BOTTOM, INPC_RIGHT, - INPC_RIGHT, INPC_RIGHT, - INPC_RIGHT, INPC_RIGHT, - INPC_RIGHT, INPC_BOTTOM, + INPC_NA, INPC_RIGHT, + INPC_BOTTOM, INPC_BOTTOM, INPC_TOP, INPC_BOTTOM, + INPC_LEFT, INPC_RIGHT, + INPC_TOP, INPC_TOP, + INPC_RIGHT, INPC_NA, + INPC_BOTTOM, INPC_BOTTOM, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, @@ -1616,11 +2433,20 @@ static constexpr enum uprop_inpc stage2[][256] = { INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, + INPC_TOP, INPC_RIGHT, + INPC_TOP, INPC_TOP, + INPC_RIGHT, INPC_RIGHT, + INPC_RIGHT, INPC_TOP, + INPC_RIGHT, INPC_TOP, + INPC_TOP, INPC_TOP, + INPC_RIGHT, INPC_RIGHT, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, + INPC_NA, INPC_NA}, + {INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, @@ -1638,6 +2464,17 @@ static constexpr enum uprop_inpc stage2[][256] = { INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, + INPC_RIGHT, INPC_RIGHT, + INPC_RIGHT, INPC_LEFT, + INPC_LEFT, INPC_TOP_AND_LEFT, + INPC_RIGHT, INPC_RIGHT, + INPC_BOTTOM, INPC_TOP, + INPC_TOP, INPC_TOP, + INPC_TOP, INPC_TOP, + INPC_TOP, INPC_TOP, + INPC_LEFT, INPC_LEFT, + INPC_TOP, INPC_BOTTOM, + INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, @@ -1646,19 +2483,9 @@ static constexpr enum uprop_inpc stage2[][256] = { INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, - INPC_RIGHT, INPC_RIGHT, - INPC_RIGHT, INPC_RIGHT, - INPC_RIGHT, INPC_VISUAL_ORDER_LEFT, - INPC_VISUAL_ORDER_LEFT, INPC_VISUAL_ORDER_LEFT, - INPC_RIGHT, INPC_RIGHT, - INPC_VISUAL_ORDER_LEFT, INPC_RIGHT, - INPC_RIGHT, INPC_RIGHT, - INPC_RIGHT, INPC_RIGHT, - INPC_RIGHT, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, - INPC_RIGHT, INPC_RIGHT, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, @@ -1685,8 +2512,6 @@ static constexpr enum uprop_inpc stage2[][256] = { INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, - INPC_NA, INPC_NA}, - {INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, @@ -1697,9 +2522,6 @@ static constexpr enum uprop_inpc stage2[][256] = { INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, - INPC_NA, INPC_TOP, - INPC_BOTTOM, INPC_LEFT, - INPC_RIGHT, INPC_TOP, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, @@ -1728,31 +2550,28 @@ static constexpr enum uprop_inpc stage2[][256] = { INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, - INPC_NA, INPC_LEFT, - INPC_BOTTOM, INPC_RIGHT, INPC_TOP, INPC_TOP, - INPC_TOP, INPC_BOTTOM, + INPC_TOP, INPC_NA, + INPC_OVERSTRUCK, INPC_BOTTOM, + INPC_BOTTOM, INPC_BOTTOM, INPC_BOTTOM, INPC_BOTTOM, - INPC_BOTTOM, INPC_NA, - INPC_NA, INPC_RIGHT, - INPC_TOP, INPC_RIGHT, - INPC_RIGHT, INPC_TOP, - INPC_TOP, INPC_TOP, - INPC_TOP, INPC_BOTTOM, - INPC_BOTTOM, INPC_TOP, - INPC_BOTTOM, INPC_RIGHT, - INPC_LEFT, INPC_LEFT, - INPC_LEFT, INPC_LEFT, - INPC_LEFT, INPC_TOP, - INPC_TOP, INPC_TOP, - INPC_TOP, INPC_TOP, - INPC_TOP, INPC_TOP, INPC_TOP, INPC_TOP, - INPC_TOP, INPC_NA, + INPC_BOTTOM, INPC_BOTTOM, + INPC_BOTTOM, INPC_BOTTOM, + INPC_TOP, INPC_RIGHT, + INPC_OVERSTRUCK, INPC_OVERSTRUCK, + INPC_OVERSTRUCK, INPC_OVERSTRUCK, + INPC_OVERSTRUCK, INPC_OVERSTRUCK, + INPC_OVERSTRUCK, INPC_NA, + INPC_NA, INPC_NA, INPC_NA, INPC_BOTTOM, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, + INPC_TOP, INPC_NA, + INPC_NA, INPC_RIGHT, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, @@ -1813,10 +2632,6 @@ static constexpr enum uprop_inpc stage2[][256] = { INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, - INPC_NA, INPC_NA}, - {INPC_TOP, INPC_TOP, - INPC_TOP, INPC_TOP, - INPC_RIGHT, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, @@ -1840,15 +2655,6 @@ static constexpr enum uprop_inpc stage2[][256] = { INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, - INPC_TOP, INPC_RIGHT, - INPC_TOP, INPC_TOP, - INPC_BOTTOM, INPC_BOTTOM, - INPC_BOTTOM, INPC_BOTTOM_AND_RIGHT, - INPC_TOP_AND_BOTTOM, INPC_TOP_AND_BOTTOM_AND_RIGHT, - INPC_LEFT, INPC_LEFT, - INPC_LEFT_AND_RIGHT, INPC_LEFT_AND_RIGHT, - INPC_TOP, INPC_TOP_AND_RIGHT, - INPC_RIGHT, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, @@ -1867,19 +2673,12 @@ static constexpr enum uprop_inpc stage2[][256] = { INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, - INPC_NA, INPC_TOP, - INPC_BOTTOM, INPC_TOP, - INPC_TOP, INPC_TOP, - INPC_TOP, INPC_TOP, - INPC_TOP, INPC_TOP, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, - INPC_TOP, INPC_TOP, - INPC_RIGHT, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, @@ -1894,20 +2693,16 @@ static constexpr enum uprop_inpc stage2[][256] = { INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, - INPC_NA, INPC_RIGHT, - INPC_BOTTOM, INPC_BOTTOM, - INPC_TOP, INPC_BOTTOM, - INPC_LEFT, INPC_RIGHT, - INPC_TOP, INPC_TOP, - INPC_RIGHT, INPC_NA, - INPC_BOTTOM, INPC_BOTTOM, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, + INPC_NA, INPC_TOP, INPC_NA, INPC_NA, + INPC_NA, INPC_NA}, + {INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, @@ -1929,20 +2724,11 @@ static constexpr enum uprop_inpc stage2[][256] = { INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, - INPC_TOP, INPC_RIGHT, - INPC_TOP, INPC_TOP, - INPC_RIGHT, INPC_RIGHT, - INPC_RIGHT, INPC_TOP, - INPC_RIGHT, INPC_TOP, - INPC_TOP, INPC_TOP, - INPC_RIGHT, INPC_RIGHT, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, - INPC_NA, INPC_NA}, - {INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, @@ -1960,16 +2746,6 @@ static constexpr enum uprop_inpc stage2[][256] = { INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, - INPC_RIGHT, INPC_RIGHT, - INPC_RIGHT, INPC_LEFT, - INPC_LEFT, INPC_TOP_AND_LEFT, - INPC_RIGHT, INPC_RIGHT, - INPC_BOTTOM, INPC_TOP, - INPC_TOP, INPC_TOP, - INPC_TOP, INPC_TOP, - INPC_TOP, INPC_TOP, - INPC_LEFT, INPC_LEFT, - INPC_TOP, INPC_BOTTOM, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, @@ -2046,31 +2822,14 @@ static constexpr enum uprop_inpc stage2[][256] = { INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, - INPC_TOP, INPC_TOP, INPC_TOP, INPC_NA, - INPC_OVERSTRUCK, INPC_BOTTOM, - INPC_BOTTOM, INPC_BOTTOM, - INPC_BOTTOM, INPC_BOTTOM, - INPC_TOP, INPC_TOP, - INPC_BOTTOM, INPC_BOTTOM, - INPC_BOTTOM, INPC_BOTTOM, - INPC_TOP, INPC_RIGHT, - INPC_OVERSTRUCK, INPC_OVERSTRUCK, - INPC_OVERSTRUCK, INPC_OVERSTRUCK, - INPC_OVERSTRUCK, INPC_OVERSTRUCK, - INPC_OVERSTRUCK, INPC_NA, INPC_NA, INPC_NA, - INPC_NA, INPC_BOTTOM, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, - INPC_TOP, INPC_NA, - INPC_NA, INPC_RIGHT, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, - INPC_NA, INPC_NA}, - {INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, @@ -2195,10 +2954,17 @@ static constexpr enum uprop_inpc stage2[][256] = { INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, - INPC_NA, INPC_TOP, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA}, {INPC_NA, INPC_NA, + INPC_TOP, INPC_NA, + INPC_NA, INPC_NA, + INPC_TOP, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_TOP, + INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, @@ -2209,6 +2975,12 @@ static constexpr enum uprop_inpc stage2[][256] = { INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, + INPC_NA, INPC_RIGHT, + INPC_RIGHT, INPC_BOTTOM, + INPC_TOP, INPC_RIGHT, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_BOTTOM, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, @@ -2250,6 +3022,7 @@ static constexpr enum uprop_inpc stage2[][256] = { INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, + INPC_RIGHT, INPC_RIGHT, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, @@ -2275,6 +3048,15 @@ static constexpr enum uprop_inpc stage2[][256] = { INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, + INPC_RIGHT, INPC_RIGHT, + INPC_RIGHT, INPC_RIGHT, + INPC_RIGHT, INPC_RIGHT, + INPC_RIGHT, INPC_RIGHT, + INPC_RIGHT, INPC_RIGHT, + INPC_RIGHT, INPC_RIGHT, + INPC_RIGHT, INPC_RIGHT, + INPC_RIGHT, INPC_RIGHT, + INPC_BOTTOM, INPC_TOP, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, @@ -2288,12 +3070,22 @@ static constexpr enum uprop_inpc stage2[][256] = { INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, + INPC_TOP, INPC_TOP, + INPC_TOP, INPC_TOP, + INPC_TOP, INPC_TOP, + INPC_TOP, INPC_TOP, + INPC_TOP, INPC_TOP, + INPC_TOP, INPC_TOP, + INPC_TOP, INPC_TOP, + INPC_TOP, INPC_TOP, + INPC_TOP, INPC_TOP, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, + INPC_NA, INPC_TOP, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, @@ -2313,25 +3105,30 @@ static constexpr enum uprop_inpc stage2[][256] = { INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, + INPC_TOP, INPC_TOP, + INPC_TOP, INPC_TOP, + INPC_TOP, INPC_BOTTOM, + INPC_BOTTOM, INPC_BOTTOM, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, - INPC_TOP, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, - INPC_NA, INPC_NA}, - {INPC_NA, INPC_NA, - INPC_TOP, INPC_NA, INPC_NA, INPC_NA, - INPC_TOP, INPC_NA, + INPC_NA, INPC_BOTTOM, + INPC_BOTTOM, INPC_BOTTOM, + INPC_TOP, INPC_BOTTOM, + INPC_BOTTOM, INPC_BOTTOM, + INPC_BOTTOM, INPC_TOP, + INPC_TOP, INPC_TOP, + INPC_RIGHT, INPC_RIGHT, INPC_NA, INPC_NA, - INPC_NA, INPC_TOP, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, @@ -2343,12 +3140,8 @@ static constexpr enum uprop_inpc stage2[][256] = { INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, - INPC_NA, INPC_RIGHT, - INPC_RIGHT, INPC_BOTTOM, - INPC_TOP, INPC_RIGHT, INPC_NA, INPC_NA, INPC_NA, INPC_NA, - INPC_BOTTOM, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, @@ -2357,6 +3150,8 @@ static constexpr enum uprop_inpc stage2[][256] = { INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, + INPC_TOP, INPC_TOP, + INPC_TOP, INPC_RIGHT, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, @@ -2380,6 +3175,14 @@ static constexpr enum uprop_inpc stage2[][256] = { INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, + INPC_NA, INPC_TOP, + INPC_RIGHT, INPC_RIGHT, + INPC_TOP, INPC_TOP, + INPC_BOTTOM, INPC_BOTTOM, + INPC_LEFT, INPC_LEFT, + INPC_TOP, INPC_BOTTOM, + INPC_BOTTOM_AND_RIGHT, INPC_BOTTOM_AND_LEFT, + INPC_BOTTOM_AND_RIGHT, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, @@ -2390,7 +3193,6 @@ static constexpr enum uprop_inpc stage2[][256] = { INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, - INPC_RIGHT, INPC_RIGHT, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, @@ -2398,6 +3200,7 @@ static constexpr enum uprop_inpc stage2[][256] = { INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, + INPC_NA, INPC_TOP, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, @@ -2410,21 +3213,14 @@ static constexpr enum uprop_inpc stage2[][256] = { INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, + INPC_NA, INPC_NA}, + {INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, - INPC_RIGHT, INPC_RIGHT, - INPC_RIGHT, INPC_RIGHT, - INPC_RIGHT, INPC_RIGHT, - INPC_RIGHT, INPC_RIGHT, - INPC_RIGHT, INPC_RIGHT, - INPC_RIGHT, INPC_RIGHT, - INPC_RIGHT, INPC_RIGHT, - INPC_RIGHT, INPC_RIGHT, - INPC_BOTTOM, INPC_TOP, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, @@ -2438,26 +3234,25 @@ static constexpr enum uprop_inpc stage2[][256] = { INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, + INPC_NA, INPC_TOP, INPC_TOP, INPC_TOP, - INPC_TOP, INPC_TOP, - INPC_TOP, INPC_TOP, - INPC_TOP, INPC_TOP, - INPC_TOP, INPC_TOP, - INPC_TOP, INPC_TOP, - INPC_TOP, INPC_TOP, - INPC_TOP, INPC_TOP, - INPC_TOP, INPC_TOP, + INPC_TOP, INPC_BOTTOM, + INPC_TOP, INPC_LEFT, + INPC_LEFT, INPC_TOP, + INPC_BOTTOM, INPC_RIGHT, + INPC_LEFT, INPC_BOTTOM, + INPC_BOTTOM, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, + INPC_NA, INPC_TOP, INPC_NA, INPC_NA, - INPC_NA, INPC_TOP}, - {INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, + INPC_TOP, INPC_RIGHT, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, @@ -2473,10 +3268,6 @@ static constexpr enum uprop_inpc stage2[][256] = { INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, - INPC_TOP, INPC_TOP, - INPC_TOP, INPC_TOP, - INPC_TOP, INPC_BOTTOM, - INPC_BOTTOM, INPC_BOTTOM, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, @@ -2484,18 +3275,13 @@ static constexpr enum uprop_inpc stage2[][256] = { INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, + INPC_NA, INPC_RIGHT, + INPC_TOP, INPC_RIGHT, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, - INPC_NA, INPC_BOTTOM, - INPC_BOTTOM, INPC_BOTTOM, - INPC_TOP, INPC_BOTTOM, - INPC_BOTTOM, INPC_BOTTOM, - INPC_BOTTOM, INPC_TOP, - INPC_TOP, INPC_TOP, - INPC_RIGHT, INPC_RIGHT, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, @@ -2516,10 +3302,17 @@ static constexpr enum uprop_inpc stage2[][256] = { INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, + INPC_TOP, INPC_RIGHT, + INPC_TOP, INPC_TOP, + INPC_BOTTOM, INPC_VISUAL_ORDER_LEFT, + INPC_VISUAL_ORDER_LEFT, INPC_TOP, + INPC_TOP, INPC_VISUAL_ORDER_LEFT, + INPC_RIGHT, INPC_VISUAL_ORDER_LEFT, + INPC_VISUAL_ORDER_LEFT, INPC_RIGHT, + INPC_TOP, INPC_TOP, + INPC_NA, INPC_TOP, INPC_NA, INPC_NA, INPC_NA, INPC_NA, - INPC_TOP, INPC_TOP, - INPC_TOP, INPC_RIGHT, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, @@ -2538,19 +3331,15 @@ static constexpr enum uprop_inpc stage2[][256] = { INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, + INPC_NA, INPC_LEFT, + INPC_BOTTOM, INPC_TOP, + INPC_LEFT, INPC_RIGHT, INPC_NA, INPC_NA, INPC_NA, INPC_NA, + INPC_NA, INPC_RIGHT, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, - INPC_NA, INPC_TOP, - INPC_RIGHT, INPC_RIGHT, - INPC_TOP, INPC_TOP, - INPC_BOTTOM, INPC_BOTTOM, - INPC_LEFT, INPC_LEFT, - INPC_TOP, INPC_BOTTOM, - INPC_BOTTOM_AND_RIGHT, INPC_BOTTOM_AND_LEFT, - INPC_BOTTOM_AND_RIGHT, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, @@ -2568,7 +3357,6 @@ static constexpr enum uprop_inpc stage2[][256] = { INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, - INPC_NA, INPC_TOP, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, @@ -2581,8 +3369,6 @@ static constexpr enum uprop_inpc stage2[][256] = { INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, - INPC_NA, INPC_NA}, - {INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, @@ -2602,25 +3388,15 @@ static constexpr enum uprop_inpc stage2[][256] = { INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, - INPC_NA, INPC_TOP, - INPC_TOP, INPC_TOP, - INPC_TOP, INPC_BOTTOM, - INPC_TOP, INPC_LEFT, - INPC_LEFT, INPC_TOP, - INPC_BOTTOM, INPC_RIGHT, - INPC_LEFT, INPC_BOTTOM, - INPC_BOTTOM, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, - INPC_NA, INPC_TOP, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, - INPC_TOP, INPC_RIGHT, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, @@ -2643,8 +3419,6 @@ static constexpr enum uprop_inpc stage2[][256] = { INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, - INPC_NA, INPC_RIGHT, - INPC_TOP, INPC_RIGHT, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, @@ -2670,15 +3444,6 @@ static constexpr enum uprop_inpc stage2[][256] = { INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, - INPC_TOP, INPC_RIGHT, - INPC_TOP, INPC_TOP, - INPC_BOTTOM, INPC_VISUAL_ORDER_LEFT, - INPC_VISUAL_ORDER_LEFT, INPC_TOP, - INPC_TOP, INPC_VISUAL_ORDER_LEFT, - INPC_RIGHT, INPC_VISUAL_ORDER_LEFT, - INPC_VISUAL_ORDER_LEFT, INPC_RIGHT, - INPC_TOP, INPC_TOP, - INPC_NA, INPC_TOP, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, @@ -2690,6 +3455,12 @@ static constexpr enum uprop_inpc stage2[][256] = { INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, + INPC_NA, INPC_RIGHT, + INPC_RIGHT, INPC_TOP, + INPC_RIGHT, INPC_RIGHT, + INPC_BOTTOM, INPC_RIGHT, + INPC_RIGHT, INPC_NA, + INPC_RIGHT, INPC_BOTTOM, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, @@ -2698,19 +3469,21 @@ static constexpr enum uprop_inpc stage2[][256] = { INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, + INPC_NA, INPC_NA}, + {INPC_NA, INPC_OVERSTRUCK, + INPC_BOTTOM, INPC_BOTTOM, + INPC_NA, INPC_TOP, + INPC_OVERSTRUCK, INPC_NA, INPC_NA, INPC_NA, - INPC_NA, INPC_LEFT, + INPC_NA, INPC_NA, + INPC_BOTTOM, INPC_BOTTOM, INPC_BOTTOM, INPC_TOP, - INPC_LEFT, INPC_RIGHT, INPC_NA, INPC_NA, INPC_NA, INPC_NA, - INPC_NA, INPC_RIGHT, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, - INPC_NA, INPC_NA}, - {INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, @@ -2725,6 +3498,8 @@ static constexpr enum uprop_inpc stage2[][256] = { INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, + INPC_TOP, INPC_BOTTOM, + INPC_BOTTOM, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, @@ -2823,12 +3598,6 @@ static constexpr enum uprop_inpc stage2[][256] = { INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, - INPC_NA, INPC_RIGHT, - INPC_RIGHT, INPC_TOP, - INPC_RIGHT, INPC_RIGHT, - INPC_BOTTOM, INPC_RIGHT, - INPC_RIGHT, INPC_NA, - INPC_RIGHT, INPC_BOTTOM, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, @@ -2837,15 +3606,8 @@ static constexpr enum uprop_inpc stage2[][256] = { INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, - INPC_NA, INPC_NA}, - {INPC_NA, INPC_OVERSTRUCK, - INPC_BOTTOM, INPC_BOTTOM, - INPC_NA, INPC_TOP, - INPC_OVERSTRUCK, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, - INPC_BOTTOM, INPC_BOTTOM, - INPC_BOTTOM, INPC_TOP, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, @@ -2866,8 +3628,6 @@ static constexpr enum uprop_inpc stage2[][256] = { INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, - INPC_TOP, INPC_BOTTOM, - INPC_BOTTOM, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, @@ -3093,8 +3853,8 @@ static constexpr enum uprop_inpc stage2[][256] = { INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, - INPC_NA, INPC_NA}, - {INPC_TOP, INPC_TOP, + INPC_NA, INPC_NA, + INPC_TOP, INPC_TOP, INPC_TOP, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, @@ -3349,8 +4109,8 @@ static constexpr enum uprop_inpc stage2[][256] = { INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, - INPC_NA, INPC_NA}, - {INPC_TOP, INPC_TOP, + INPC_NA, INPC_NA, + INPC_TOP, INPC_TOP, INPC_RIGHT, INPC_RIGHT, INPC_NA, INPC_NA, INPC_NA, INPC_NA, @@ -3605,8 +4365,8 @@ static constexpr enum uprop_inpc stage2[][256] = { INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, - INPC_NA, INPC_NA}, - {INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, @@ -3861,8 +4621,8 @@ static constexpr enum uprop_inpc stage2[][256] = { INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, - INPC_NA, INPC_NA}, - {INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, @@ -4117,8 +4877,8 @@ static constexpr enum uprop_inpc stage2[][256] = { INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, - INPC_NA, INPC_NA}, - {INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, @@ -4373,6 +5133,134 @@ static constexpr enum uprop_inpc stage2[][256] = { INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, INPC_NA, INPC_NA}, {INPC_NA, INPC_NA, INPC_NA, INPC_NA, @@ -4501,8 +5389,8 @@ static constexpr enum uprop_inpc stage2[][256] = { INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, - INPC_NA, INPC_NA}, - {INPC_NA, INPC_NA, + INPC_NA, INPC_NA, + INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, @@ -4757,8 +5645,8 @@ static constexpr enum uprop_inpc stage2[][256] = { INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, INPC_NA, - INPC_NA, INPC_NA}, - {INPC_TOP, INPC_TOP, + INPC_NA, INPC_NA, + INPC_TOP, INPC_TOP, INPC_TOP, INPC_RIGHT, INPC_NA, INPC_NA, INPC_NA, INPC_NA, @@ -4891,5 +5779,5 @@ static constexpr enum uprop_inpc stage2[][256] = { enum uprop_inpc uprop_get_inpc(rune ch) { - return stage2[stage1[ch / 256]][ch % 256]; + return stage2[stage1[ch / 512]][ch % 512]; } -- cgit v1.2.3