1 using System;
2
3
4
5 private byte[] classMapData = [0u, 120u, 156u, 236u, 221u, 7u, 147u, 36u, 181u, 25u, 0u, 208u, 49u, 54u, 204u, 226u, 33u, 153u, 96u, 50u, 54u, 193u, 24u, 147u, 108u, 176u, 9u, 255u, 255u, 143u, 129u, 40u, 118u, 203u, 115u, 170u, 14u, 74u, 221u, 82u, 207u, 60u, 170u, 94u, 205u, 134u, 158u, 110u, 245u, 23u, 36u, 245u, 222u, 222u, 113u, 250u, 203u, 233u, 244u, 75u, 248u, 239u, 116u, 58u, 93u, 86u, 188u, 24u, 252u, 225u, 234u, 243u, 231u, 18u, 222u, 147u, 234u, 207u, 193u, 215u, 167u, 223u, 255u, 251u, 57u, 248u, 71u, 240u, 77u, 240u, 101u, 240u, 167u, 224u, 187u, 224u, 251u, 224u, 133u, 32u, 140u, 248u, 244u, 67u, 240u, 122u, 240u, 90u, 240u, 124u, 240u, 105u, 240u, 217u, 130u, 79u, 30u, 253u, 24u, 252u, 20u, 124u, 30u, 252u, 51u, 248u, 226u, 241u, 250u, 239u, 4u, 239u, 94u, 249u, 91u, 240u, 126u, 240u, 97u, 112u, 46u, 244u, 234u, 213u, 199u, 47u, 95u, 125u, 252u, 239u, 224u, 143u, 193u, 127u, 130u, 175u, 30u, 191u, 246u, 219u, 24u, 254u, 30u, 124u, 252u, 120u, 253u, 143u, 130u, 247u, 130u, 15u, 86u, 174u, 241u, 102u, 244u, 249u, 91u, 143u, 175u, 127u, 13u, 94u, 9u, 222u, 14u, 222u, 8u, 94u, 186u, 58u, 230u, 191u, 193u, 191u, 130u, 255u, 5u, 223u, 54u, 204u, 225u, 30u, 206u, 5u, 199u, 62u, 36u, 188u, 191u, 52u, 199u, 41u, 182u, 62u, 255u, 232u, 215u, 7u, 128u, 209u, 213u, 238u, 11u, 106u, 246u, 53u, 57u, 231u, 58u, 71u, 175u, 181u, 30u, 56u, 180u, 185u, 250u, 137u, 107u, 105u, 238u, 152u, 165u, 58u, 139u, 207u, 31u, 215u, 95u, 235u, 254u, 235u, 61u, 7u, 220u, 18u, 241u, 36u, 199u, 220u, 90u, 176u, 199u, 115u, 50u, 148u, 26u, 185u, 54u, 83u, 126u, 118u, 213u, 123u, 140u, 57u, 247u, 113u, 75u, 123u, 200u, 75u, 244u, 58u, 247u, 113u, 201u, 254u, 125u, 175u, 60u, 228u, 230u, 105u, 11u, 185u, 49u, 63u, 98u, 253u, 63u, 233u, 93u, 175u, 83u, 113u, 155u, 123u, 6u, 160u, 143u, 235u, 103u, 167u, 181u, 92u, 174u, 61u, 211u, 77u, 205u, 75u, 115u, 199u, 172u, 137u, 199u, 216u, 234u, 103u, 8u, 189u, 107u, 176u, 71u, 15u, 246u, 174u, 177u, 123u, 144u, 147u, 151u, 154u, 58u, 46u, 233u, 159u, 145u, 99u, 242u, 116u, 236u, 84u, 159u, 94u, 223u, 243u, 214u, 181u, 60u, 53u, 174u, 212u, 241u, 167u, 188u, 175u, 213u, 254u, 101u, 239u, 188u, 213u, 92u, 191u, 199u, 254u, 110u, 107u, 91u, 196u, 59u, 229u, 188u, 91u, 220u, 75u, 237u, 218u, 178u, 231u, 90u, 54u, 242u, 60u, 183u, 117u, 15u, 166u, 206u, 69u, 37u, 243u, 85u, 105u, 60u, 227u, 249u, 33u, 167u, 110u, 90u, 207u, 79u, 169u, 189u, 51u, 247u, 249u, 222u, 253u, 28u, 175u, 111u, 83u, 199u, 95u, 199u, 117u, 45u, 103u, 113u, 14u, 166u, 114u, 146u, 50u, 135u, 44u, 205u, 247u, 241u, 24u, 75u, 243u, 31u, 223u, 95u, 202u, 124u, 27u, 143u, 45u, 53u, 255u, 75u, 247u, 50u, 66u, 254u, 215u, 62u, 190u, 190u, 239u, 165u, 188u, 167u, 228u, 127u, 45u, 207u, 107u, 181u, 184u, 150u, 179u, 154u, 121u, 123u, 109u, 60u, 75u, 215u, 74u, 205u, 99u, 124u, 220u, 136u, 249u, 47u, 237u, 255u, 169u, 26u, 153u, 203u, 127u, 78u, 239u, 45u, 213u, 70u, 205u, 252u, 159u, 114u, 141u, 156u, 251u, 76u, 201u, 199u, 17u, 250u, 191u, 52u, 255u, 185u, 253u, 191u, 212u, 83u, 75u, 115u, 102u, 220u, 179u, 53u, 235u, 127u, 77u, 13u, 94u, 199u, 101u, 41u, 214u, 115u, 115u, 218u, 220u, 28u, 55u, 119u, 207u, 83u, 181u, 179u, 246u, 181u, 165u, 175u, 167u, 214u, 208u, 218u, 252u, 186u, 52u, 39u, 206u, 29u, 187u, 20u, 251u, 220u, 121u, 120u, 109u, 124u, 165u, 253u, 159u, 123u, 157u, 220u, 126u, 220u, 178u, 247u, 91u, 157u, 63u, 117u, 62u, 76u, 153u, 251u, 215u, 226u, 62u, 55u, 151u, 78u, 29u, 219u, 162u, 255u, 107u, 196u, 177u, 72u, 137u, 245u, 200u, 249u, 159u, 59u, 54u, 158u, 231u, 246u, 202u, 255u, 82u, 220u, 91u, 229u, 127u, 169u, 190u, 114u, 251u, 127u, 196u, 252u, 183u, 114u, 61u, 191u, 213u, 230u, 127u, 173u, 159u, 207u, 167u, 103u, 243u, 153u, 114u, 236u, 150u, 253u, 191u, 54u, 47u, 230u, 228u, 63u, 167u, 23u, 215u, 174u, 223u, 242u, 90u, 57u, 199u, 165u, 140u, 43u, 238u, 147u, 148u, 181u, 243u, 33u, 58u, 190u, 52u, 127u, 185u, 249u, 175u, 89u, 15u, 122u, 247u, 101u, 139u, 190u, 142u, 251u, 40u, 53u, 214u, 107u, 231u, 205u, 153u, 39u, 182u, 92u, 167u, 183u, 52u, 213u, 27u, 53u, 61u, 214u, 162u, 143u, 115u, 174u, 149u, 154u, 255u, 169u, 185u, 123u, 109u, 12u, 169u, 125u, 151u, 154u, 255u, 165u, 57u, 166u, 87u, 238u, 183u, 60u, 127u, 235u, 121u, 46u, 245u, 154u, 83u, 175u, 83u, 215u, 77u, 173u, 199u, 145u, 148u, 198u, 48u, 39u, 214u, 75u, 241u, 41u, 61u, 215u, 40u, 114u, 106u, 232u, 214u, 245u, 174u, 229u, 28u, 173u, 235u, 32u, 231u, 156u, 185u, 241u, 155u, 186u, 214u, 220u, 247u, 167u, 62u, 95u, 27u, 91u, 206u, 181u, 182u, 136u, 109u, 109u, 62u, 70u, 175u, 191u, 165u, 181u, 241u, 124u, 26u, 127u, 252u, 75u, 247u, 4u, 64u, 154u, 169u, 121u, 51u, 101u, 254u, 191u, 84u, 190u, 127u, 20u, 163u, 143u, 127u, 212u, 252u, 140u, 18u, 159u, 81u, 227u, 127u, 111u, 166u, 158u, 215u, 83u, 159u, 69u, 91u, 60u, 211u, 110u, 241u, 252u, 119u, 79u, 207u, 159u, 71u, 178u, 22u, 95u, 57u, 0u, 0u, 56u, 142u, 150u, 251u, 182u, 61u, 247u, 127u, 246u, 255u, 237u, 226u, 87u, 27u, 247u, 154u, 248u, 79u, 189u, 175u, 244u, 89u, 180u, 85u, 108u, 70u, 185u, 254u, 30u, 207u, 191u, 241u, 251u, 46u, 59u, 95u, 127u, 100u, 123u, 254u, 30u, 193u, 218u, 207u, 97u, 166u, 122u, 239u, 28u, 29u, 87u, 251u, 231u, 207u, 123u, 154u, 26u, 207u, 86u, 127u, 126u, 78u, 59u, 71u, 239u, 255u, 167u, 223u, 55u, 56u, 234u, 248u, 71u, 203u, 249u, 40u, 241u, 203u, 153u, 63u, 230u, 230u, 145u, 218u, 247u, 167u, 204u, 117u, 107u, 191u, 7u, 211u, 51u, 191u, 53u, 185u, 239u, 157u, 255u, 22u, 117u, 221u, 235u, 186u, 37u, 245u, 215u, 123u, 253u, 222u, 59u, 255u, 41u, 49u, 232u, 93u, 79u, 123u, 221u, 247u, 92u, 44u, 122u, 238u, 81u, 91u, 212u, 238u, 150u, 181u, 191u, 212u, 119u, 165u, 243u, 255u, 200u, 189u, 216u, 195u, 72u, 107u, 218u, 158u, 189u, 87u, 186u, 166u, 239u, 89u, 255u, 37u, 215u, 170u, 57u, 231u, 145u, 114u, 150u, 251u, 222u, 222u, 117u, 185u, 87u, 29u, 151u, 204u, 177u, 35u, 105u, 209u, 191u, 57u, 241u, 40u, 57u, 79u, 201u, 120u, 123u, 199u, 53u, 150u, 147u, 255u, 35u, 213u, 79u, 238u, 61u, 183u, 156u, 147u, 115u, 234u, 169u, 102u, 61u, 90u, 170u, 167u, 185u, 185u, 113u, 238u, 94u, 123u, 231u, 4u, 122u, 218u, 162u, 95u, 71u, 116u, 139u, 123u, 125u, 96u, 76u, 107u, 251u, 139u, 209u, 247u, 31u, 173u, 198u, 127u, 89u, 121u, 29u, 245u, 254u, 142u, 108u, 237u, 190u, 174u, 115u, 48u, 247u, 76u, 144u, 18u, 187u, 169u, 227u, 82u, 235u, 166u, 38u, 254u, 107u, 251u, 248u, 156u, 241u, 223u, 179u, 212u, 159u, 17u, 228u, 158u, 115u, 239u, 251u, 40u, 205u, 105u, 139u, 90u, 104u, 85u, 191u, 71u, 213u, 226u, 103u, 82u, 241u, 215u, 106u, 207u, 215u, 170u, 22u, 74u, 214u, 137u, 212u, 247u, 173u, 141u, 99u, 234u, 181u, 118u, 77u, 152u, 58u, 79u, 106u, 77u, 111u, 209u, 59u, 45u, 238u, 107u, 15u, 189u, 123u, 12u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 128u, 255u, 235u, 253u, 187u, 165u, 181u, 191u, 151u, 218u, 123u, 12u, 247u, 60u, 126u, 182u, 145u, 218u, 171u, 83u, 127u, 143u, 247u, 86u, 250u, 255u, 114u, 245u, 58u, 53u, 230u, 209u, 199u, 191u, 117u, 45u, 44u, 197u, 39u, 213u, 214u, 127u, 255u, 187u, 182u, 254u, 238u, 225u, 251u, 35u, 252u, 187u, 0u, 0u, 0u, 185u, 123u, 184u, 150u, 215u, 155u, 179u, 180u, 127u, 89u, 218u, 123u, 166u, 236u, 75u, 247u, 218u, 203u, 223u, 155u, 167u, 248u, 46u, 253u, 91u, 83u, 226u, 191u, 111u, 62u, 230u, 114u, 116u, 212u, 126u, 56u, 218u, 120u, 111u, 201u, 94u, 115u, 255u, 72u, 227u, 29u, 141u, 152u, 0u, 0u, 185u, 122u, 239u, 33u, 1u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 24u, 75u, 239u, 255u, 175u, 206u, 81u, 244u, 206u, 19u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 192u, 81u, 93u, 42u, 245u, 30u, 63u, 0u, 0u, 0u, 0u, 227u, 169u, 253u, 153u, 211u, 45u, 233u, 157u, 139u, 218u, 28u, 246u, 30u, 7u, 112u, 44u, 45u, 231u, 191u, 135u, 68u, 83u, 215u, 190u, 231u, 249u, 251u, 41u, 118u, 241u, 253u, 164u, 198u, 179u, 247u, 189u, 199u, 121u, 165u, 46u, 142u, 189u, 247u, 65u, 165u, 189u, 117u, 11u, 125u, 120u, 235u, 110u, 57u, 71u, 75u, 247u, 214u, 187u, 127u, 246u, 92u, 219u, 226u, 185u, 120u, 106u, 110u, 222u, 122u, 190u, 158u, 91u, 167u, 70u, 137u, 209u, 17u, 228u, 222u, 255u, 173u, 173u, 195u, 169u, 251u, 159u, 148u, 253u, 81u, 78u, 252u, 74u, 207u, 215u, 106u, 188u, 41u, 245u, 112u, 62u, 61u, 91u, 243u, 45u, 206u, 223u, 43u, 143u, 123u, 244u, 239u, 150u, 117u, 211u, 115u, 254u, 89u, 170u, 191u, 222u, 253u, 187u, 119u, 190u, 106u, 214u, 152u, 156u, 107u, 230u, 228u, 63u, 39u, 15u, 53u, 253u, 123u, 148u, 245u, 111u, 203u, 188u, 230u, 198u, 61u, 62u, 247u, 22u, 249u, 111u, 101u, 169u, 86u, 123u, 231u, 180u, 101u, 109u, 204u, 221u, 219u, 210u, 189u, 62u, 68u, 239u, 141u, 227u, 181u, 245u, 94u, 179u, 36u, 255u, 169u, 235u, 96u, 238u, 188u, 182u, 86u, 63u, 181u, 223u, 47u, 93u, 255u, 106u, 191u, 63u, 154u, 146u, 241u, 142u, 184u, 127u, 96u, 27u, 41u, 107u, 200u, 145u, 214u, 31u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 128u, 91u, 118u, 201u, 180u, 231u, 88u, 122u, 199u, 166u, 71u, 124u, 1u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 224u, 150u, 157u, 1u, 56u, 20u, 243u, 247u, 177u, 244u, 94u, 231u, 75u, 214u, 255u, 22u, 231u, 154u, 59u, 238u, 33u, 51u, 118u, 165u, 49u, 95u, 250u, 250u, 101u, 230u, 88u, 125u, 117u, 60u, 189u, 251u, 72u, 205u, 0u, 28u, 131u, 57u, 191u, 109u, 28u, 123u, 143u, 99u, 244u, 58u, 25u, 101u, 207u, 17u, 191u, 255u, 161u, 82u, 237u, 248u, 91u, 94u, 191u, 213u, 152u, 114u, 198u, 60u, 98u, 254u, 111u, 185u, 31u, 169u, 183u, 85u, 47u, 148u, 206u, 19u, 189u, 238u, 251u, 161u, 243u, 245u, 71u, 136u, 201u, 61u, 75u, 137u, 247u, 22u, 223u, 239u, 189u, 102u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 191u, 182u, 15u, 199u, 36u, 0u, 0u, 0u, 0u, 131u, 250u, 183u, 222u, 179u, 24u, 10u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 234u, 3u, 79u, 208u, 3u, 184u];
6
7 private int* classMap = null;
8
9 private bool classMapDataCompressed = true;
10
11 public static class LexerFileClassMap
12 {
13 public static void Init()
14 {
15 if (classMap == null)
16 {
17 classMap = System.Lex.CreateClassMap(classMapData.Begin(), classMapData.Length(), classMapDataCompressed);
18 }
19 }
20 public static int GetClass(uchar c)
21 {
22 int i = cast<int>(c);
23 if (i < 1114112)
24 {
25 return classMap[i];
26 }
27 else
28 {
29 return -1;
30 }
31 }
32 }