aboutsummaryrefslogtreecommitdiff
path: root/lib/unicode/prop/uprop_get_gcb.c
diff options
context:
space:
mode:
Diffstat (limited to 'lib/unicode/prop/uprop_get_gcb.c')
-rw-r--r--lib/unicode/prop/uprop_get_gcb.c2486
1 files changed, 1271 insertions, 1215 deletions
diff --git a/lib/unicode/prop/uprop_get_gcb.c b/lib/unicode/prop/uprop_get_gcb.c
index 5fe941a..3d2804a 100644
--- a/lib/unicode/prop/uprop_get_gcb.c
+++ b/lib/unicode/prop/uprop_get_gcb.c
@@ -3,1097 +3,553 @@
#include "unicode/prop.h"
static constexpr uint8_t stage1[] = {
- 0, 1, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 5, 3, 3,
- 3, 3, 6, 3, 3, 3, 7, 8, 9, 10, 3, 11, 12, 13, 14, 15,
- 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 24, 26, 27, 28, 29, 30,
- 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46,
- 47, 48, 49, 3, 50, 51, 52, 53, 3, 3, 3, 3, 3, 54, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 55, 56, 57, 58,
- 59, 3, 60, 3, 61, 3, 3, 3, 62, 63, 64, 65, 66, 67, 68, 69,
- 70, 3, 3, 71, 3, 3, 3, 4, 3, 3, 3, 3, 3, 3, 3, 3,
- 72, 73, 3, 74, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 75, 3, 76, 3, 77, 3, 3, 3, 3, 3, 3, 3, 3,
- 78, 3, 79, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 80, 81, 82, 3, 3, 3, 3,
- 83, 3, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 3, 3, 3, 94,
- 95, 96, 97, 98, 99, 100, 101, 95, 96, 97, 98, 99, 100, 101, 95, 96,
- 97, 98, 99, 100, 101, 95, 96, 97, 98, 99, 100, 101, 95, 96, 97, 98,
- 99, 100, 101, 95, 96, 97, 98, 99, 100, 101, 95, 96, 97, 98, 99, 100,
- 101, 95, 96, 97, 98, 99, 100, 101, 95, 96, 97, 98, 99, 100, 101, 95,
- 96, 97, 98, 99, 100, 101, 95, 96, 97, 98, 99, 100, 101, 95, 96, 97,
- 98, 99, 100, 101, 95, 96, 97, 98, 99, 100, 101, 95, 96, 97, 98, 99,
- 100, 101, 95, 96, 97, 98, 99, 100, 101, 95, 96, 97, 98, 99, 100, 101,
- 95, 96, 97, 98, 99, 100, 101, 95, 96, 97, 98, 99, 100, 101, 95, 96,
- 97, 98, 99, 100, 101, 95, 96, 97, 98, 99, 100, 101, 95, 96, 97, 98,
- 99, 100, 101, 95, 96, 97, 98, 99, 100, 101, 95, 96, 97, 98, 99, 100,
- 101, 95, 96, 97, 98, 99, 100, 101, 95, 96, 97, 98, 99, 100, 102, 103,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 104, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 105, 3, 3, 1, 3, 3, 81, 106,
- 3, 3, 3, 3, 3, 3, 3, 107, 3, 3, 3, 108, 3, 109, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 110, 3, 3, 111, 3, 3, 3, 3,
- 3, 3, 3, 3, 112, 3, 3, 3, 3, 3, 113, 114, 3, 115, 116, 3,
- 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 3, 127, 35, 128, 3, 3,
- 129, 130, 131, 132, 3, 3, 133, 134, 135, 136, 137, 3, 138, 3, 3, 3,
- 139, 3, 3, 3, 140, 141, 3, 142, 143, 144, 145, 3, 3, 3, 3, 3,
- 146, 3, 147, 3, 148, 149, 150, 3, 3, 3, 3, 151, 152, 153, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 154, 155, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 156, 157, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 158, 159, 160,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 161, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 162, 163, 3, 3,
- 3, 3, 3, 3, 3, 164, 165, 3, 3, 166, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 167, 168, 169, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 170, 3, 171, 3, 157, 3, 3, 3, 3, 3, 172, 173, 3, 3, 3, 3,
- 3, 3, 3, 173, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 174, 3, 175, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 176, 3, 3, 3, 3, 3, 3, 3, 177,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 178, 4, 179, 179, 4, 4, 4, 180, 179, 179, 179, 179, 179, 179, 179, 179,
- 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179,
- 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179,
- 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
+ 0, 1, 2, 2, 2, 2, 3, 2, 2, 4, 2, 5, 6, 7, 8, 9,
+ 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
+ 26, 27, 28, 29, 2, 2, 30, 2, 2, 2, 2, 2, 2, 2, 31, 32,
+ 33, 34, 35, 2, 36, 37, 38, 39, 40, 41, 2, 42, 2, 2, 2, 2,
+ 43, 44, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 45, 46, 47, 2, 2, 2, 2,
+ 48, 49, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 50, 51, 2, 2,
+ 52, 53, 54, 55, 56, 57, 2, 58, 59, 60, 61, 62, 63, 64, 65, 59,
+ 60, 61, 62, 63, 64, 65, 59, 60, 61, 62, 63, 64, 65, 59, 60, 61,
+ 62, 63, 64, 65, 59, 60, 61, 62, 63, 64, 65, 59, 60, 61, 62, 63,
+ 64, 65, 59, 60, 61, 62, 63, 64, 65, 59, 60, 61, 62, 63, 64, 65,
+ 59, 60, 61, 62, 63, 64, 65, 59, 60, 61, 62, 63, 64, 65, 59, 60,
+ 61, 62, 63, 64, 65, 59, 60, 61, 62, 63, 64, 65, 59, 60, 61, 66,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 67, 2, 2, 2, 2, 2, 68, 69, 2, 70,
+ 2, 2, 2, 71, 2, 72, 73, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 74, 75, 2, 2, 2, 2, 76, 2, 2, 77, 78, 79,
+ 80, 81, 82, 83, 84, 85, 86, 2, 87, 88, 2, 89, 90, 91, 92, 2,
+ 93, 2, 94, 95, 96, 97, 2, 2, 98, 99, 100, 101, 2, 102, 103, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 104, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 105, 106, 2, 2, 2, 2, 2, 2, 2, 107, 108,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 109, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 110, 2,
+ 2, 2, 111, 112, 113, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 114, 115, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 116, 117, 106, 2, 2, 118, 2, 2, 2, 119, 2, 2, 2, 2, 2, 2,
+ 2, 120, 121, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 122, 2, 2, 2, 123, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 124, 125, 126, 127, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125,
+ 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
};
-static constexpr enum uprop_gcb stage2[][64] = {
+static constexpr enum uprop_gcb stage2[][128] = {
{GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_CN,
GCB_CN, GCB_CN, GCB_LF, GCB_CN, GCB_CN, GCB_CR, GCB_CN, GCB_CN,
GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_CN,
@@ -1101,8 +557,8 @@ static constexpr enum uprop_gcb stage2[][64] = {
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
- GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX},
- {GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
@@ -1117,6 +573,14 @@ static constexpr enum uprop_gcb stage2[][64] = {
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_CN, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX},
{GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
@@ -1125,6 +589,14 @@ static constexpr enum uprop_gcb stage2[][64] = {
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX},
{GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX,
GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX,
@@ -1133,8 +605,8 @@ static constexpr enum uprop_gcb stage2[][64] = {
GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX,
GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX,
GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX,
- GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX},
- {GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX,
+ GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX,
+ GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX,
GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX,
GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX,
GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX,
@@ -1149,6 +621,14 @@ static constexpr enum uprop_gcb stage2[][64] = {
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX},
{GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
@@ -1157,8 +637,8 @@ static constexpr enum uprop_gcb stage2[][64] = {
GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX,
GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX,
GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX,
- GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_XX, GCB_EX},
- {GCB_XX, GCB_EX, GCB_EX, GCB_XX, GCB_EX, GCB_EX, GCB_XX, GCB_EX,
+ GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_XX, GCB_EX,
+ GCB_XX, GCB_EX, GCB_EX, GCB_XX, GCB_EX, GCB_EX, GCB_XX, GCB_EX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
@@ -1173,8 +653,8 @@ static constexpr enum uprop_gcb stage2[][64] = {
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
- GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX},
- {GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX,
GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX,
GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX,
@@ -1184,6 +664,14 @@ static constexpr enum uprop_gcb stage2[][64] = {
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX},
{GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_EX, GCB_EX,
GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_PP, GCB_XX, GCB_EX,
GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_XX, GCB_XX, GCB_EX,
@@ -1197,8 +685,8 @@ static constexpr enum uprop_gcb stage2[][64] = {
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX,
- GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX},
- {GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX,
+ GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX,
+ GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX,
GCB_EX, GCB_EX, GCB_EX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
@@ -1213,8 +701,8 @@ static constexpr enum uprop_gcb stage2[][64] = {
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_EX, GCB_EX,
GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX,
GCB_EX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
- GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX},
- {GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
@@ -1229,8 +717,8 @@ static constexpr enum uprop_gcb stage2[][64] = {
GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_XX, GCB_EX, GCB_EX, GCB_EX,
GCB_XX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
- GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX},
- {GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_EX, GCB_EX, GCB_EX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
@@ -1245,8 +733,8 @@ static constexpr enum uprop_gcb stage2[][64] = {
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
- GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX},
- {GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX,
GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX,
GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX,
@@ -1261,8 +749,8 @@ static constexpr enum uprop_gcb stage2[][64] = {
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
- GCB_XX, GCB_XX, GCB_EX, GCB_SM, GCB_EX, GCB_XX, GCB_SM, GCB_SM},
- {GCB_SM, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX,
+ GCB_XX, GCB_XX, GCB_EX, GCB_SM, GCB_EX, GCB_XX, GCB_SM, GCB_SM,
+ GCB_SM, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX,
GCB_EX, GCB_SM, GCB_SM, GCB_SM, GCB_SM, GCB_EX, GCB_SM, GCB_SM,
GCB_XX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
@@ -1277,8 +765,8 @@ static constexpr enum uprop_gcb stage2[][64] = {
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
- GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_EX, GCB_XX, GCB_EX, GCB_SM},
- {GCB_SM, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_XX, GCB_XX, GCB_SM,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_EX, GCB_XX, GCB_EX, GCB_SM,
+ GCB_SM, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_XX, GCB_XX, GCB_SM,
GCB_SM, GCB_XX, GCB_XX, GCB_SM, GCB_SM, GCB_EX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_EX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
@@ -1293,8 +781,8 @@ static constexpr enum uprop_gcb stage2[][64] = {
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
- GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_EX, GCB_XX, GCB_SM, GCB_SM},
- {GCB_SM, GCB_EX, GCB_EX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_EX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_EX, GCB_XX, GCB_SM, GCB_SM,
+ GCB_SM, GCB_EX, GCB_EX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_EX,
GCB_EX, GCB_XX, GCB_XX, GCB_EX, GCB_EX, GCB_EX, GCB_XX, GCB_XX,
GCB_XX, GCB_EX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
@@ -1302,7 +790,15 @@ static constexpr enum uprop_gcb stage2[][64] = {
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_EX, GCB_EX, GCB_XX, GCB_XX, GCB_XX, GCB_EX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX},
- {GCB_SM, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_XX, GCB_EX,
+ {GCB_XX, GCB_EX, GCB_EX, GCB_SM, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_EX, GCB_XX, GCB_SM, GCB_SM,
+ GCB_SM, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_XX, GCB_EX,
GCB_EX, GCB_SM, GCB_XX, GCB_SM, GCB_SM, GCB_EX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
@@ -1317,8 +813,8 @@ static constexpr enum uprop_gcb stage2[][64] = {
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
- GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_EX, GCB_XX, GCB_EX, GCB_EX},
- {GCB_SM, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_XX, GCB_XX, GCB_SM,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_EX, GCB_XX, GCB_EX, GCB_EX,
+ GCB_SM, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_XX, GCB_XX, GCB_SM,
GCB_SM, GCB_XX, GCB_XX, GCB_SM, GCB_SM, GCB_EX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_EX, GCB_EX, GCB_EX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
@@ -1333,8 +829,8 @@ static constexpr enum uprop_gcb stage2[][64] = {
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
- GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_EX, GCB_SM},
- {GCB_EX, GCB_SM, GCB_SM, GCB_XX, GCB_XX, GCB_XX, GCB_SM, GCB_SM,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_EX, GCB_SM,
+ GCB_EX, GCB_SM, GCB_SM, GCB_XX, GCB_XX, GCB_XX, GCB_SM, GCB_SM,
GCB_SM, GCB_XX, GCB_SM, GCB_SM, GCB_SM, GCB_EX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_EX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
@@ -1349,8 +845,8 @@ static constexpr enum uprop_gcb stage2[][64] = {
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
- GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_EX, GCB_XX, GCB_EX, GCB_EX},
- {GCB_EX, GCB_SM, GCB_SM, GCB_SM, GCB_SM, GCB_XX, GCB_EX, GCB_EX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_EX, GCB_XX, GCB_EX, GCB_EX,
+ GCB_EX, GCB_SM, GCB_SM, GCB_SM, GCB_SM, GCB_XX, GCB_EX, GCB_EX,
GCB_EX, GCB_XX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_EX, GCB_EX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
@@ -1365,8 +861,8 @@ static constexpr enum uprop_gcb stage2[][64] = {
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
- GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_EX, GCB_XX, GCB_SM, GCB_EX},
- {GCB_SM, GCB_SM, GCB_EX, GCB_SM, GCB_SM, GCB_XX, GCB_EX, GCB_SM,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_EX, GCB_XX, GCB_SM, GCB_EX,
+ GCB_SM, GCB_SM, GCB_EX, GCB_SM, GCB_SM, GCB_XX, GCB_EX, GCB_SM,
GCB_SM, GCB_XX, GCB_SM, GCB_SM, GCB_EX, GCB_EX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_EX, GCB_EX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
@@ -1381,8 +877,8 @@ static constexpr enum uprop_gcb stage2[][64] = {
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
- GCB_XX, GCB_XX, GCB_XX, GCB_EX, GCB_EX, GCB_XX, GCB_EX, GCB_SM},
- {GCB_SM, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_XX, GCB_SM, GCB_SM,
+ GCB_XX, GCB_XX, GCB_XX, GCB_EX, GCB_EX, GCB_XX, GCB_EX, GCB_SM,
+ GCB_SM, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_XX, GCB_SM, GCB_SM,
GCB_SM, GCB_XX, GCB_SM, GCB_SM, GCB_SM, GCB_EX, GCB_PP, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_EX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
@@ -1397,8 +893,8 @@ static constexpr enum uprop_gcb stage2[][64] = {
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
- GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX},
- {GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_EX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_EX,
GCB_SM, GCB_SM, GCB_EX, GCB_EX, GCB_EX, GCB_XX, GCB_EX, GCB_XX,
GCB_SM, GCB_SM, GCB_SM, GCB_SM, GCB_SM, GCB_SM, GCB_SM, GCB_EX,
@@ -1413,8 +909,8 @@ static constexpr enum uprop_gcb stage2[][64] = {
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_EX, GCB_XX, GCB_SM, GCB_EX, GCB_EX, GCB_EX, GCB_EX,
- GCB_EX, GCB_EX, GCB_EX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX},
- {GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_EX,
+ GCB_EX, GCB_EX, GCB_EX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_EX,
GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
@@ -1429,8 +925,8 @@ static constexpr enum uprop_gcb stage2[][64] = {
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_EX, GCB_XX, GCB_SM, GCB_EX, GCB_EX, GCB_EX, GCB_EX,
- GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_XX, GCB_XX, GCB_XX},
- {GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
@@ -1445,8 +941,8 @@ static constexpr enum uprop_gcb stage2[][64] = {
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_EX, GCB_XX, GCB_EX,
- GCB_XX, GCB_EX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_SM, GCB_SM},
- {GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_EX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_SM, GCB_SM,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
@@ -1461,8 +957,8 @@ static constexpr enum uprop_gcb stage2[][64] = {
GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX,
GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX,
GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX,
- GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_XX, GCB_XX, GCB_XX},
- {GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_EX, GCB_XX,
+ GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_EX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
@@ -1477,8 +973,8 @@ static constexpr enum uprop_gcb stage2[][64] = {
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_EX, GCB_EX, GCB_EX,
GCB_EX, GCB_SM, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX,
- GCB_XX, GCB_EX, GCB_EX, GCB_SM, GCB_SM, GCB_EX, GCB_EX, GCB_XX},
- {GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_EX, GCB_EX, GCB_SM, GCB_SM, GCB_EX, GCB_EX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_SM, GCB_SM,
GCB_EX, GCB_EX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_EX, GCB_EX,
@@ -1493,6 +989,14 @@ static constexpr enum uprop_gcb stage2[][64] = {
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX},
{GCB_L, GCB_L, GCB_L, GCB_L, GCB_L, GCB_L, GCB_L, GCB_L,
GCB_L, GCB_L, GCB_L, GCB_L, GCB_L, GCB_L, GCB_L, GCB_L,
@@ -1501,8 +1005,8 @@ static constexpr enum uprop_gcb stage2[][64] = {
GCB_L, GCB_L, GCB_L, GCB_L, GCB_L, GCB_L, GCB_L, GCB_L,
GCB_L, GCB_L, GCB_L, GCB_L, GCB_L, GCB_L, GCB_L, GCB_L,
GCB_L, GCB_L, GCB_L, GCB_L, GCB_L, GCB_L, GCB_L, GCB_L,
- GCB_L, GCB_L, GCB_L, GCB_L, GCB_L, GCB_L, GCB_L, GCB_L},
- {GCB_L, GCB_L, GCB_L, GCB_L, GCB_L, GCB_L, GCB_L, GCB_L,
+ GCB_L, GCB_L, GCB_L, GCB_L, GCB_L, GCB_L, GCB_L, GCB_L,
+ GCB_L, GCB_L, GCB_L, GCB_L, GCB_L, GCB_L, GCB_L, GCB_L,
GCB_L, GCB_L, GCB_L, GCB_L, GCB_L, GCB_L, GCB_L, GCB_L,
GCB_L, GCB_L, GCB_L, GCB_L, GCB_L, GCB_L, GCB_L, GCB_L,
GCB_L, GCB_L, GCB_L, GCB_L, GCB_L, GCB_L, GCB_L, GCB_L,
@@ -1517,8 +1021,8 @@ static constexpr enum uprop_gcb stage2[][64] = {
GCB_V, GCB_V, GCB_V, GCB_V, GCB_V, GCB_V, GCB_V, GCB_V,
GCB_T, GCB_T, GCB_T, GCB_T, GCB_T, GCB_T, GCB_T, GCB_T,
GCB_T, GCB_T, GCB_T, GCB_T, GCB_T, GCB_T, GCB_T, GCB_T,
- GCB_T, GCB_T, GCB_T, GCB_T, GCB_T, GCB_T, GCB_T, GCB_T},
- {GCB_T, GCB_T, GCB_T, GCB_T, GCB_T, GCB_T, GCB_T, GCB_T,
+ GCB_T, GCB_T, GCB_T, GCB_T, GCB_T, GCB_T, GCB_T, GCB_T,
+ GCB_T, GCB_T, GCB_T, GCB_T, GCB_T, GCB_T, GCB_T, GCB_T,
GCB_T, GCB_T, GCB_T, GCB_T, GCB_T, GCB_T, GCB_T, GCB_T,
GCB_T, GCB_T, GCB_T, GCB_T, GCB_T, GCB_T, GCB_T, GCB_T,
GCB_T, GCB_T, GCB_T, GCB_T, GCB_T, GCB_T, GCB_T, GCB_T,
@@ -1529,6 +1033,14 @@ static constexpr enum uprop_gcb stage2[][64] = {
{GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_EX, GCB_EX, GCB_EX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
@@ -1541,8 +1053,8 @@ static constexpr enum uprop_gcb stage2[][64] = {
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_EX, GCB_EX, GCB_SM, GCB_XX, GCB_XX, GCB_XX,
- GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX},
- {GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_EX, GCB_EX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
@@ -1557,8 +1069,8 @@ static constexpr enum uprop_gcb stage2[][64] = {
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_EX, GCB_EX, GCB_SM, GCB_EX,
- GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_SM, GCB_SM},
- {GCB_SM, GCB_SM, GCB_SM, GCB_SM, GCB_SM, GCB_SM, GCB_EX, GCB_SM,
+ GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_SM, GCB_SM,
+ GCB_SM, GCB_SM, GCB_SM, GCB_SM, GCB_SM, GCB_SM, GCB_EX, GCB_SM,
GCB_SM, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX,
GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_EX, GCB_XX, GCB_XX,
@@ -1573,6 +1085,14 @@ static constexpr enum uprop_gcb stage2[][64] = {
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX},
{GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_EX, GCB_EX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
@@ -1581,6 +1101,14 @@ static constexpr enum uprop_gcb stage2[][64] = {
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_EX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX},
{GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
@@ -1589,7 +1117,15 @@ static constexpr enum uprop_gcb stage2[][64] = {
GCB_EX, GCB_EX, GCB_EX, GCB_SM, GCB_SM, GCB_SM, GCB_SM, GCB_EX,
GCB_EX, GCB_SM, GCB_SM, GCB_SM, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_SM, GCB_SM, GCB_EX, GCB_SM, GCB_SM, GCB_SM, GCB_SM, GCB_SM,
- GCB_SM, GCB_EX, GCB_EX, GCB_EX, GCB_XX, GCB_XX, GCB_XX, GCB_XX},
+ GCB_SM, GCB_EX, GCB_EX, GCB_EX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX},
{GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_EX,
@@ -1597,8 +1133,8 @@ static constexpr enum uprop_gcb stage2[][64] = {
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
- GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX},
- {GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_SM, GCB_EX, GCB_SM,
GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_XX,
@@ -1613,8 +1149,8 @@ static constexpr enum uprop_gcb stage2[][64] = {
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX,
- GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX},
- {GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX,
+ GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX,
+ GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX,
GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
@@ -1629,8 +1165,8 @@ static constexpr enum uprop_gcb stage2[][64] = {
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_EX, GCB_EX, GCB_EX, GCB_EX,
- GCB_EX, GCB_EX, GCB_EX, GCB_SM, GCB_EX, GCB_SM, GCB_SM, GCB_SM},
- {GCB_SM, GCB_SM, GCB_EX, GCB_SM, GCB_SM, GCB_XX, GCB_XX, GCB_XX,
+ GCB_EX, GCB_EX, GCB_EX, GCB_SM, GCB_EX, GCB_SM, GCB_SM, GCB_SM,
+ GCB_SM, GCB_SM, GCB_EX, GCB_SM, GCB_SM, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
@@ -1645,8 +1181,8 @@ static constexpr enum uprop_gcb stage2[][64] = {
GCB_XX, GCB_SM, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_SM, GCB_SM,
GCB_EX, GCB_EX, GCB_SM, GCB_EX, GCB_EX, GCB_EX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
- GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX},
- {GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
@@ -1661,9 +1197,25 @@ static constexpr enum uprop_gcb stage2[][64] = {
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_SM, GCB_SM, GCB_SM, GCB_SM,
GCB_SM, GCB_SM, GCB_SM, GCB_SM, GCB_EX, GCB_EX, GCB_EX, GCB_EX,
GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_SM, GCB_SM, GCB_EX, GCB_EX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX},
{GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_EX, GCB_EX, GCB_EX, GCB_XX, GCB_EX, GCB_EX, GCB_EX, GCB_EX,
GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX,
GCB_EX, GCB_SM, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX,
@@ -1671,14 +1223,30 @@ static constexpr enum uprop_gcb stage2[][64] = {
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_EX, GCB_XX, GCB_XX, GCB_SM,
GCB_EX, GCB_EX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX},
{GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX,
+ GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX,
+ GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX,
+ GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX,
+ GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX,
+ GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX,
+ GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX,
+ GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX},
+ {GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_CN, GCB_EX, GCB_ZWJ, GCB_CN, GCB_CN,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
- GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX},
- {GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
@@ -1688,6 +1256,14 @@ static constexpr enum uprop_gcb stage2[][64] = {
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX},
{GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX,
GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX,
GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX,
@@ -1699,6 +1275,14 @@ static constexpr enum uprop_gcb stage2[][64] = {
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_EX,
GCB_EX, GCB_EX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX},
@@ -1709,11 +1293,27 @@ static constexpr enum uprop_gcb stage2[][64] = {
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_EX},
{GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX,
GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX,
GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX,
@@ -1725,6 +1325,14 @@ static constexpr enum uprop_gcb stage2[][64] = {
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX},
{GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
@@ -1733,12 +1341,28 @@ static constexpr enum uprop_gcb stage2[][64] = {
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX},
{GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_EX,
GCB_EX, GCB_EX, GCB_EX, GCB_XX, GCB_EX, GCB_EX, GCB_EX, GCB_EX,
GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_XX, GCB_XX},
@@ -1749,8 +1373,8 @@ static constexpr enum uprop_gcb stage2[][64] = {
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
- GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX},
- {GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
@@ -1765,6 +1389,14 @@ static constexpr enum uprop_gcb stage2[][64] = {
GCB_XX, GCB_XX, GCB_XX, GCB_SM, GCB_SM, GCB_EX, GCB_EX, GCB_SM,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_EX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX},
{GCB_SM, GCB_SM, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
@@ -1773,8 +1405,8 @@ static constexpr enum uprop_gcb stage2[][64] = {
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_SM, GCB_SM, GCB_SM, GCB_SM,
- GCB_SM, GCB_SM, GCB_SM, GCB_SM, GCB_SM, GCB_SM, GCB_SM, GCB_SM},
- {GCB_SM, GCB_SM, GCB_SM, GCB_SM, GCB_EX, GCB_EX, GCB_XX, GCB_XX,
+ GCB_SM, GCB_SM, GCB_SM, GCB_SM, GCB_SM, GCB_SM, GCB_SM, GCB_SM,
+ GCB_SM, GCB_SM, GCB_SM, GCB_SM, GCB_EX, GCB_EX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
@@ -1789,8 +1421,8 @@ static constexpr enum uprop_gcb stage2[][64] = {
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_EX, GCB_EX,
GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
- GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX},
- {GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_EX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_EX,
GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX,
GCB_EX, GCB_EX, GCB_SM, GCB_SM, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
@@ -1805,8 +1437,8 @@ static constexpr enum uprop_gcb stage2[][64] = {
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_EX, GCB_SM, GCB_SM, GCB_EX, GCB_EX,
- GCB_EX, GCB_EX, GCB_SM, GCB_SM, GCB_EX, GCB_EX, GCB_SM, GCB_SM},
- {GCB_SM, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_EX, GCB_EX, GCB_SM, GCB_SM, GCB_EX, GCB_EX, GCB_SM, GCB_SM,
+ GCB_SM, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
@@ -1821,8 +1453,8 @@ static constexpr enum uprop_gcb stage2[][64] = {
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_SM,
GCB_SM, GCB_EX, GCB_EX, GCB_SM, GCB_SM, GCB_EX, GCB_EX, GCB_XX,
- GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX},
- {GCB_XX, GCB_XX, GCB_XX, GCB_EX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_EX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_EX, GCB_SM, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
@@ -1837,8 +1469,8 @@ static constexpr enum uprop_gcb stage2[][64] = {
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_EX, GCB_XX, GCB_EX, GCB_EX, GCB_EX, GCB_XX, GCB_XX, GCB_EX,
- GCB_EX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_EX, GCB_EX},
- {GCB_XX, GCB_EX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_EX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_EX, GCB_EX,
+ GCB_XX, GCB_EX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
@@ -1850,6 +1482,14 @@ static constexpr enum uprop_gcb stage2[][64] = {
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_SM, GCB_SM, GCB_EX, GCB_SM, GCB_SM,
GCB_EX, GCB_SM, GCB_SM, GCB_XX, GCB_SM, GCB_EX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
@@ -1861,8 +1501,8 @@ static constexpr enum uprop_gcb stage2[][64] = {
GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT,
GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT,
GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT,
- GCB_LV, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT},
- {GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT,
+ GCB_LV, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT,
+ GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT,
GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT,
GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LV, GCB_LVT, GCB_LVT, GCB_LVT,
GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT,
@@ -1877,8 +1517,8 @@ static constexpr enum uprop_gcb stage2[][64] = {
GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT,
GCB_LV, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT,
GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT,
- GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT},
- {GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LV, GCB_LVT, GCB_LVT, GCB_LVT,
+ GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT,
+ GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LV, GCB_LVT, GCB_LVT, GCB_LVT,
GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT,
GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT,
GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT,
@@ -1893,16 +1533,72 @@ static constexpr enum uprop_gcb stage2[][64] = {
GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT,
GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT,
GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LV, GCB_LVT, GCB_LVT, GCB_LVT,
+ GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT,
+ GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT,
+ GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT,
+ GCB_LV, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT,
+ GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT,
+ GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT,
+ GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LV, GCB_LVT, GCB_LVT, GCB_LVT,
+ GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT,
GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT},
{GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT,
+ GCB_LV, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT,
+ GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT,
+ GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT,
+ GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LV, GCB_LVT, GCB_LVT, GCB_LVT,
+ GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT,
+ GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT,
+ GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT,
+ GCB_LV, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT,
+ GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT,
+ GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT,
+ GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LV, GCB_LVT, GCB_LVT, GCB_LVT,
+ GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT,
+ GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT,
+ GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT,
+ GCB_LV, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT},
+ {GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT,
+ GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT,
+ GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LV, GCB_LVT, GCB_LVT, GCB_LVT,
+ GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT,
+ GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT,
GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT,
GCB_LV, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT,
GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT,
GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT,
GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LV, GCB_LVT, GCB_LVT, GCB_LVT,
GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT,
+ GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT,
+ GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT,
+ GCB_LV, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT,
+ GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT,
+ GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT},
+ {GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LV, GCB_LVT, GCB_LVT, GCB_LVT,
+ GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT,
+ GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT,
+ GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT,
+ GCB_LV, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT,
+ GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT,
+ GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT,
+ GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LV, GCB_LVT, GCB_LVT, GCB_LVT,
+ GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT,
+ GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT,
+ GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT,
+ GCB_LV, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT,
+ GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT,
+ GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT,
+ GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LV, GCB_LVT, GCB_LVT, GCB_LVT,
GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT},
{GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT,
+ GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT,
+ GCB_LV, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT,
+ GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT,
+ GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT,
+ GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LV, GCB_LVT, GCB_LVT, GCB_LVT,
+ GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT,
+ GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT,
+ GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT,
GCB_LV, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT,
GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT,
GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT,
@@ -1917,8 +1613,8 @@ static constexpr enum uprop_gcb stage2[][64] = {
GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_V, GCB_V, GCB_V, GCB_V, GCB_V, GCB_V, GCB_V, GCB_V,
- GCB_V, GCB_V, GCB_V, GCB_V, GCB_V, GCB_V, GCB_V, GCB_V},
- {GCB_V, GCB_V, GCB_V, GCB_V, GCB_V, GCB_V, GCB_V, GCB_XX,
+ GCB_V, GCB_V, GCB_V, GCB_V, GCB_V, GCB_V, GCB_V, GCB_V,
+ GCB_V, GCB_V, GCB_V, GCB_V, GCB_V, GCB_V, GCB_V, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_T, GCB_T, GCB_T, GCB_T, GCB_T,
GCB_T, GCB_T, GCB_T, GCB_T, GCB_T, GCB_T, GCB_T, GCB_T,
GCB_T, GCB_T, GCB_T, GCB_T, GCB_T, GCB_T, GCB_T, GCB_T,
@@ -1933,6 +1629,14 @@ static constexpr enum uprop_gcb stage2[][64] = {
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX},
{GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX,
GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX,
@@ -1941,6 +1645,14 @@ static constexpr enum uprop_gcb stage2[][64] = {
GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX,
GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX},
{GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
@@ -1948,6 +1660,30 @@ static constexpr enum uprop_gcb stage2[][64] = {
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_CN},
+ {GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_EX, GCB_EX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_CN,
GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_XX, GCB_XX, GCB_XX, GCB_XX},
{GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
@@ -1957,11 +1693,27 @@ static constexpr enum uprop_gcb stage2[][64] = {
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_EX, GCB_XX, GCB_XX},
{GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_EX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
@@ -1972,6 +1724,14 @@ static constexpr enum uprop_gcb stage2[][64] = {
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_EX, GCB_EX,
GCB_EX, GCB_EX, GCB_EX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX},
{GCB_XX, GCB_EX, GCB_EX, GCB_EX, GCB_XX, GCB_EX, GCB_EX, GCB_XX,
@@ -1981,11 +1741,27 @@ static constexpr enum uprop_gcb stage2[][64] = {
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
- GCB_EX, GCB_EX, GCB_EX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_EX},
+ GCB_EX, GCB_EX, GCB_EX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_EX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX},
{GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_EX, GCB_EX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
@@ -1997,6 +1773,14 @@ static constexpr enum uprop_gcb stage2[][64] = {
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_EX, GCB_EX, GCB_EX, GCB_EX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX},
{GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
@@ -2005,8 +1789,8 @@ static constexpr enum uprop_gcb stage2[][64] = {
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_EX, GCB_EX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
- GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX},
- {GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
@@ -2014,7 +1798,15 @@ static constexpr enum uprop_gcb stage2[][64] = {
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_EX, GCB_EX, GCB_EX},
- {GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_EX, GCB_EX,
+ {GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_EX, GCB_EX,
GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX,
GCB_EX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
@@ -2029,6 +1821,14 @@ static constexpr enum uprop_gcb stage2[][64] = {
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX},
{GCB_SM, GCB_EX, GCB_SM, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
@@ -2037,8 +1837,8 @@ static constexpr enum uprop_gcb stage2[][64] = {
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
- GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX},
- {GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_XX,
+ GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX,
+ GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
@@ -2053,8 +1853,8 @@ static constexpr enum uprop_gcb stage2[][64] = {
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_SM, GCB_SM, GCB_SM, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_SM,
- GCB_SM, GCB_EX, GCB_EX, GCB_XX, GCB_XX, GCB_PP, GCB_XX, GCB_XX},
- {GCB_XX, GCB_XX, GCB_EX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_SM, GCB_EX, GCB_EX, GCB_XX, GCB_XX, GCB_PP, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_EX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_PP, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
@@ -2069,8 +1869,8 @@ static constexpr enum uprop_gcb stage2[][64] = {
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_EX,
GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_SM, GCB_EX, GCB_EX, GCB_EX,
GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_XX, GCB_XX, GCB_XX,
- GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX},
- {GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_SM, GCB_SM, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_SM, GCB_SM, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
@@ -2085,8 +1885,8 @@ static constexpr enum uprop_gcb stage2[][64] = {
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_SM, GCB_SM, GCB_SM, GCB_EX, GCB_EX,
- GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_SM},
- {GCB_SM, GCB_XX, GCB_PP, GCB_PP, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_SM,
+ GCB_SM, GCB_XX, GCB_PP, GCB_PP, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_XX, GCB_SM, GCB_EX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
@@ -2101,8 +1901,8 @@ static constexpr enum uprop_gcb stage2[][64] = {
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_SM, GCB_SM, GCB_SM, GCB_EX,
GCB_EX, GCB_EX, GCB_SM, GCB_SM, GCB_EX, GCB_SM, GCB_EX, GCB_EX,
- GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_EX, GCB_XX},
- {GCB_XX, GCB_EX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_EX, GCB_XX,
+ GCB_XX, GCB_EX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
@@ -2113,12 +1913,28 @@ static constexpr enum uprop_gcb stage2[][64] = {
{GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_EX,
GCB_SM, GCB_SM, GCB_SM, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX,
GCB_EX, GCB_EX, GCB_EX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX},
- {GCB_EX, GCB_SM, GCB_SM, GCB_SM, GCB_SM, GCB_XX, GCB_XX, GCB_SM,
+ {GCB_EX, GCB_EX, GCB_SM, GCB_SM, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_EX, GCB_EX, GCB_XX, GCB_EX, GCB_SM,
+ GCB_EX, GCB_SM, GCB_SM, GCB_SM, GCB_SM, GCB_XX, GCB_XX, GCB_SM,
GCB_SM, GCB_XX, GCB_XX, GCB_SM, GCB_SM, GCB_SM, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_EX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
@@ -2133,8 +1949,8 @@ static constexpr enum uprop_gcb stage2[][64] = {
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_SM, GCB_SM, GCB_SM,
- GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX},
- {GCB_SM, GCB_SM, GCB_EX, GCB_EX, GCB_EX, GCB_SM, GCB_EX, GCB_XX,
+ GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX,
+ GCB_SM, GCB_SM, GCB_EX, GCB_EX, GCB_EX, GCB_SM, GCB_EX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_EX, GCB_XX,
@@ -2149,8 +1965,8 @@ static constexpr enum uprop_gcb stage2[][64] = {
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_EX, GCB_SM, GCB_SM, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX,
- GCB_EX, GCB_SM, GCB_EX, GCB_SM, GCB_SM, GCB_EX, GCB_SM, GCB_EX},
- {GCB_EX, GCB_SM, GCB_EX, GCB_EX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_EX, GCB_SM, GCB_EX, GCB_SM, GCB_SM, GCB_EX, GCB_SM, GCB_EX,
+ GCB_EX, GCB_SM, GCB_EX, GCB_EX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
@@ -2165,8 +1981,8 @@ static constexpr enum uprop_gcb stage2[][64] = {
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_EX,
GCB_SM, GCB_SM, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_XX, GCB_XX,
- GCB_SM, GCB_SM, GCB_SM, GCB_SM, GCB_EX, GCB_EX, GCB_SM, GCB_EX},
- {GCB_EX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_SM, GCB_SM, GCB_SM, GCB_SM, GCB_EX, GCB_EX, GCB_SM, GCB_EX,
+ GCB_EX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_EX, GCB_EX, GCB_XX, GCB_XX,
@@ -2181,8 +1997,8 @@ static constexpr enum uprop_gcb stage2[][64] = {
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_SM, GCB_SM, GCB_SM, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX,
- GCB_EX, GCB_EX, GCB_EX, GCB_SM, GCB_SM, GCB_EX, GCB_SM, GCB_EX},
- {GCB_EX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_EX, GCB_EX, GCB_EX, GCB_SM, GCB_SM, GCB_EX, GCB_SM, GCB_EX,
+ GCB_EX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
@@ -2197,6 +2013,14 @@ static constexpr enum uprop_gcb stage2[][64] = {
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_EX, GCB_SM, GCB_EX, GCB_SM, GCB_SM,
GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_SM, GCB_EX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX},
{GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
@@ -2205,6 +2029,14 @@ static constexpr enum uprop_gcb stage2[][64] = {
GCB_XX, GCB_XX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_SM, GCB_EX,
GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX},
{GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
@@ -2213,7 +2045,15 @@ static constexpr enum uprop_gcb stage2[][64] = {
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_SM, GCB_SM, GCB_SM, GCB_EX,
GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX,
- GCB_SM, GCB_EX, GCB_EX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX},
+ GCB_SM, GCB_EX, GCB_EX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX},
{GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
@@ -2221,8 +2061,8 @@ static constexpr enum uprop_gcb stage2[][64] = {
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_EX, GCB_SM, GCB_SM, GCB_SM, GCB_SM, GCB_SM, GCB_XX, GCB_SM,
- GCB_SM, GCB_XX, GCB_XX, GCB_EX, GCB_EX, GCB_SM, GCB_EX, GCB_PP},
- {GCB_SM, GCB_PP, GCB_SM, GCB_EX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_SM, GCB_XX, GCB_XX, GCB_EX, GCB_EX, GCB_SM, GCB_EX, GCB_PP,
+ GCB_SM, GCB_PP, GCB_SM, GCB_EX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
@@ -2232,6 +2072,14 @@ static constexpr enum uprop_gcb stage2[][64] = {
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX},
{GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_SM, GCB_SM, GCB_SM, GCB_EX, GCB_EX, GCB_EX, GCB_EX,
GCB_XX, GCB_XX, GCB_EX, GCB_EX, GCB_SM, GCB_SM, GCB_SM, GCB_SM,
GCB_EX, GCB_XX, GCB_XX, GCB_XX, GCB_SM, GCB_XX, GCB_XX, GCB_XX,
@@ -2245,8 +2093,8 @@ static constexpr enum uprop_gcb stage2[][64] = {
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX,
- GCB_EX, GCB_SM, GCB_PP, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_XX},
- {GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_EX,
+ GCB_EX, GCB_SM, GCB_PP, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_EX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_SM,
GCB_SM, GCB_EX, GCB_EX, GCB_EX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
@@ -2261,6 +2109,14 @@ static constexpr enum uprop_gcb stage2[][64] = {
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX},
{GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
@@ -2269,7 +2125,15 @@ static constexpr enum uprop_gcb stage2[][64] = {
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_SM,
GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_XX,
- GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_SM, GCB_EX},
+ GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_SM, GCB_EX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX},
{GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX,
@@ -2277,6 +2141,14 @@ static constexpr enum uprop_gcb stage2[][64] = {
GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX,
GCB_XX, GCB_SM, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX,
GCB_EX, GCB_SM, GCB_EX, GCB_EX, GCB_SM, GCB_EX, GCB_EX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX},
{GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
@@ -2285,8 +2157,8 @@ static constexpr enum uprop_gcb stage2[][64] = {
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_XX,
- GCB_XX, GCB_XX, GCB_EX, GCB_XX, GCB_EX, GCB_EX, GCB_XX, GCB_EX},
- {GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_PP, GCB_EX,
+ GCB_XX, GCB_XX, GCB_EX, GCB_XX, GCB_EX, GCB_EX, GCB_XX, GCB_EX,
+ GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_PP, GCB_EX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
@@ -2301,6 +2173,14 @@ static constexpr enum uprop_gcb stage2[][64] = {
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX},
{GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
@@ -2308,6 +2188,14 @@ static constexpr enum uprop_gcb stage2[][64] = {
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_EX, GCB_EX, GCB_SM, GCB_SM, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX},
{GCB_EX, GCB_EX, GCB_PP, GCB_SM, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
@@ -2317,8 +2205,8 @@ static constexpr enum uprop_gcb stage2[][64] = {
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_SM, GCB_SM, GCB_EX, GCB_EX,
- GCB_EX, GCB_EX, GCB_EX, GCB_XX, GCB_XX, GCB_XX, GCB_SM, GCB_SM},
- {GCB_EX, GCB_SM, GCB_EX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_EX, GCB_EX, GCB_EX, GCB_XX, GCB_XX, GCB_XX, GCB_SM, GCB_SM,
+ GCB_EX, GCB_SM, GCB_EX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
@@ -2333,8 +2221,8 @@ static constexpr enum uprop_gcb stage2[][64] = {
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_CN,
- GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_CN},
- {GCB_EX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_EX,
+ GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_CN,
+ GCB_EX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_EX,
GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX,
GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
@@ -2348,6 +2236,14 @@ static constexpr enum uprop_gcb stage2[][64] = {
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX},
{GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
@@ -2357,8 +2253,24 @@ static constexpr enum uprop_gcb stage2[][64] = {
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX},
{GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_EX,
GCB_XX, GCB_SM, GCB_SM, GCB_SM, GCB_SM, GCB_SM, GCB_SM, GCB_SM,
GCB_SM, GCB_SM, GCB_SM, GCB_SM, GCB_SM, GCB_SM, GCB_SM, GCB_SM,
@@ -2373,8 +2285,8 @@ static constexpr enum uprop_gcb stage2[][64] = {
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
- GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX},
- {GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
@@ -2389,6 +2301,14 @@ static constexpr enum uprop_gcb stage2[][64] = {
GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX},
{GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX,
GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX,
@@ -2397,8 +2317,8 @@ static constexpr enum uprop_gcb stage2[][64] = {
GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX,
GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_XX, GCB_XX,
GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX,
- GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX},
- {GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_XX,
+ GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX,
+ GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
@@ -2410,6 +2330,14 @@ static constexpr enum uprop_gcb stage2[][64] = {
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_EX, GCB_SM, GCB_EX,
GCB_EX, GCB_EX, GCB_XX, GCB_XX, GCB_XX, GCB_SM, GCB_EX, GCB_EX,
GCB_EX, GCB_EX, GCB_EX, GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_CN,
@@ -2421,8 +2349,24 @@ static constexpr enum uprop_gcb stage2[][64] = {
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX},
- {GCB_XX, GCB_XX, GCB_EX, GCB_EX, GCB_EX, GCB_XX, GCB_XX, GCB_XX,
+ {GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_EX, GCB_EX, GCB_EX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
@@ -2437,8 +2381,8 @@ static constexpr enum uprop_gcb stage2[][64] = {
GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX,
GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX,
GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_XX,
- GCB_XX, GCB_XX, GCB_XX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX},
- {GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX,
+ GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX,
GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX,
GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX,
GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX,
@@ -2453,6 +2397,14 @@ static constexpr enum uprop_gcb stage2[][64] = {
GCB_XX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX,
GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX},
{GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_XX,
GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX,
@@ -2461,6 +2413,14 @@ static constexpr enum uprop_gcb stage2[][64] = {
GCB_EX, GCB_EX, GCB_XX, GCB_EX, GCB_EX, GCB_XX, GCB_EX, GCB_EX,
GCB_EX, GCB_EX, GCB_EX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX},
{GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_EX,
@@ -2469,6 +2429,14 @@ static constexpr enum uprop_gcb stage2[][64] = {
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX},
{GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
@@ -2477,24 +2445,56 @@ static constexpr enum uprop_gcb stage2[][64] = {
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_EX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_EX, GCB_EX, GCB_EX, GCB_EX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX},
{GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_EX, GCB_EX, GCB_EX, GCB_EX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX},
{GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX},
- {GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_EX, GCB_EX, GCB_EX, GCB_EX,
+ {GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_EX, GCB_EX, GCB_EX, GCB_EX,
GCB_EX, GCB_EX, GCB_EX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
@@ -2506,6 +2506,14 @@ static constexpr enum uprop_gcb stage2[][64] = {
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_RI, GCB_RI,
GCB_RI, GCB_RI, GCB_RI, GCB_RI, GCB_RI, GCB_RI, GCB_RI, GCB_RI,
GCB_RI, GCB_RI, GCB_RI, GCB_RI, GCB_RI, GCB_RI, GCB_RI, GCB_RI,
@@ -2517,6 +2525,14 @@ static constexpr enum uprop_gcb stage2[][64] = {
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
+ GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX,
GCB_XX, GCB_XX, GCB_XX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX},
{GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_CN,
GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_CN,
@@ -2525,6 +2541,14 @@ static constexpr enum uprop_gcb stage2[][64] = {
GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX,
GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX,
GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX,
+ GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX,
+ GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX,
+ GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX,
+ GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX,
+ GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX,
+ GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX,
+ GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX,
+ GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX,
GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX},
{GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_CN,
GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_CN,
@@ -2533,6 +2557,14 @@ static constexpr enum uprop_gcb stage2[][64] = {
GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_CN,
GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_CN,
GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_CN,
+ GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_CN,
+ GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_CN,
+ GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_CN,
+ GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_CN,
+ GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_CN,
+ GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_CN,
+ GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_CN,
+ GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_CN,
GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_CN},
{GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX,
GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX,
@@ -2540,6 +2572,30 @@ static constexpr enum uprop_gcb stage2[][64] = {
GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX,
GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX,
GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX,
+ GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX,
+ GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX,
+ GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX,
+ GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX,
+ GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX,
+ GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX,
+ GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX,
+ GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX,
+ GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX,
+ GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX},
+ {GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX,
+ GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX,
+ GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX,
+ GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX,
+ GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX,
+ GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX,
+ GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX,
+ GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX,
+ GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX,
+ GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX,
+ GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX,
+ GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX,
+ GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX,
+ GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX,
GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_CN,
GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_CN},
};
@@ -2547,5 +2603,5 @@ static constexpr enum uprop_gcb stage2[][64] = {
enum uprop_gcb
uprop_get_gcb(rune ch)
{
- return stage2[stage1[ch / 64]][ch % 64];
+ return stage2[stage1[ch / 128]][ch % 128];
}