tables.go 22 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552
  1. // Code generated by running "go generate" in golang.org/x/text. DO NOT EDIT.
  2. package plural
  3. // CLDRVersion is the CLDR version from which the tables in this package are derived.
  4. const CLDRVersion = "32"
  5. var ordinalRules = []pluralCheck{ // 64 elements
  6. 0: {cat: 0x2f, setID: 0x4},
  7. 1: {cat: 0x3a, setID: 0x5},
  8. 2: {cat: 0x22, setID: 0x1},
  9. 3: {cat: 0x22, setID: 0x6},
  10. 4: {cat: 0x22, setID: 0x7},
  11. 5: {cat: 0x2f, setID: 0x8},
  12. 6: {cat: 0x3c, setID: 0x9},
  13. 7: {cat: 0x2f, setID: 0xa},
  14. 8: {cat: 0x3c, setID: 0xb},
  15. 9: {cat: 0x2c, setID: 0xc},
  16. 10: {cat: 0x24, setID: 0xd},
  17. 11: {cat: 0x2d, setID: 0xe},
  18. 12: {cat: 0x2d, setID: 0xf},
  19. 13: {cat: 0x2f, setID: 0x10},
  20. 14: {cat: 0x35, setID: 0x3},
  21. 15: {cat: 0xc5, setID: 0x11},
  22. 16: {cat: 0x2, setID: 0x1},
  23. 17: {cat: 0x5, setID: 0x3},
  24. 18: {cat: 0xd, setID: 0x12},
  25. 19: {cat: 0x22, setID: 0x1},
  26. 20: {cat: 0x2f, setID: 0x13},
  27. 21: {cat: 0x3d, setID: 0x14},
  28. 22: {cat: 0x2f, setID: 0x15},
  29. 23: {cat: 0x3a, setID: 0x16},
  30. 24: {cat: 0x2f, setID: 0x17},
  31. 25: {cat: 0x3b, setID: 0x18},
  32. 26: {cat: 0x2f, setID: 0xa},
  33. 27: {cat: 0x3c, setID: 0xb},
  34. 28: {cat: 0x22, setID: 0x1},
  35. 29: {cat: 0x23, setID: 0x19},
  36. 30: {cat: 0x24, setID: 0x1a},
  37. 31: {cat: 0x22, setID: 0x1b},
  38. 32: {cat: 0x23, setID: 0x2},
  39. 33: {cat: 0x24, setID: 0x1a},
  40. 34: {cat: 0xf, setID: 0x15},
  41. 35: {cat: 0x1a, setID: 0x16},
  42. 36: {cat: 0xf, setID: 0x17},
  43. 37: {cat: 0x1b, setID: 0x18},
  44. 38: {cat: 0xf, setID: 0x1c},
  45. 39: {cat: 0x1d, setID: 0x1d},
  46. 40: {cat: 0xa, setID: 0x1e},
  47. 41: {cat: 0xa, setID: 0x1f},
  48. 42: {cat: 0xc, setID: 0x20},
  49. 43: {cat: 0xe4, setID: 0x0},
  50. 44: {cat: 0x5, setID: 0x3},
  51. 45: {cat: 0xd, setID: 0xe},
  52. 46: {cat: 0xd, setID: 0x21},
  53. 47: {cat: 0x22, setID: 0x1},
  54. 48: {cat: 0x23, setID: 0x19},
  55. 49: {cat: 0x24, setID: 0x1a},
  56. 50: {cat: 0x25, setID: 0x22},
  57. 51: {cat: 0x22, setID: 0x23},
  58. 52: {cat: 0x23, setID: 0x19},
  59. 53: {cat: 0x24, setID: 0x1a},
  60. 54: {cat: 0x25, setID: 0x22},
  61. 55: {cat: 0x22, setID: 0x24},
  62. 56: {cat: 0x23, setID: 0x19},
  63. 57: {cat: 0x24, setID: 0x1a},
  64. 58: {cat: 0x25, setID: 0x22},
  65. 59: {cat: 0x21, setID: 0x25},
  66. 60: {cat: 0x22, setID: 0x1},
  67. 61: {cat: 0x23, setID: 0x2},
  68. 62: {cat: 0x24, setID: 0x26},
  69. 63: {cat: 0x25, setID: 0x27},
  70. } // Size: 152 bytes
  71. var ordinalIndex = []uint8{ // 22 elements
  72. 0x00, 0x00, 0x02, 0x03, 0x04, 0x05, 0x07, 0x09,
  73. 0x0b, 0x0f, 0x10, 0x13, 0x16, 0x1c, 0x1f, 0x22,
  74. 0x28, 0x2f, 0x33, 0x37, 0x3b, 0x40,
  75. } // Size: 46 bytes
  76. var ordinalLangToIndex = []uint8{ // 775 elements
  77. // Entry 0 - 3F
  78. 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  79. 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  80. 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  81. 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  82. 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  83. 0x12, 0x12, 0x00, 0x00, 0x00, 0x00, 0x10, 0x10,
  84. 0x10, 0x10, 0x10, 0x00, 0x00, 0x05, 0x05, 0x00,
  85. 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  86. // Entry 40 - 7F
  87. 0x12, 0x12, 0x12, 0x00, 0x00, 0x00, 0x00, 0x00,
  88. 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0e,
  89. 0x0e, 0x0e, 0x0e, 0x0e, 0x00, 0x00, 0x00, 0x00,
  90. 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  91. 0x00, 0x00, 0x00, 0x00, 0x14, 0x14, 0x00, 0x00,
  92. 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  93. 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  94. 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  95. // Entry 80 - BF
  96. 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x0c,
  97. 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c,
  98. 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c,
  99. 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c,
  100. 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c,
  101. 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c,
  102. 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c,
  103. 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c,
  104. // Entry C0 - FF
  105. 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c,
  106. 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c,
  107. 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c,
  108. 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c,
  109. 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c,
  110. 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x00,
  111. 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  112. 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  113. // Entry 100 - 13F
  114. 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  115. 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  116. 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  117. 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x02,
  118. 0x00, 0x00, 0x00, 0x02, 0x02, 0x02, 0x02, 0x02,
  119. 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02,
  120. 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02,
  121. 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02,
  122. // Entry 140 - 17F
  123. 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02,
  124. 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02,
  125. 0x02, 0x02, 0x00, 0x00, 0x00, 0x00, 0x02, 0x02,
  126. 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  127. 0x11, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  128. 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11,
  129. 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x03,
  130. 0x02, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  131. // Entry 180 - 1BF
  132. 0x00, 0x00, 0x00, 0x00, 0x09, 0x09, 0x09, 0x09,
  133. 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  134. 0x00, 0x00, 0x00, 0x00, 0x00, 0x0a, 0x0a, 0x00,
  135. 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  136. 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x08, 0x00,
  137. 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  138. 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  139. 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  140. // Entry 1C0 - 1FF
  141. 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  142. 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  143. 0x02, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  144. 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  145. 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  146. 0x00, 0x00, 0x00, 0x00, 0x0f, 0x0f, 0x00, 0x00,
  147. 0x00, 0x00, 0x02, 0x0d, 0x0d, 0x02, 0x02, 0x02,
  148. 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  149. // Entry 200 - 23F
  150. 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  151. 0x00, 0x00, 0x00, 0x00, 0x04, 0x04, 0x04, 0x00,
  152. 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  153. 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  154. 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  155. 0x00, 0x13, 0x13, 0x00, 0x00, 0x00, 0x00, 0x00,
  156. 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  157. 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  158. // Entry 240 - 27F
  159. 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  160. 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02,
  161. 0x02, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  162. 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  163. 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  164. 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  165. 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  166. 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  167. // Entry 280 - 2BF
  168. 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  169. 0x00, 0x00, 0x00, 0x0b, 0x0b, 0x0b, 0x0b, 0x00,
  170. 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  171. 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01,
  172. 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  173. 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  174. 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  175. 0x00, 0x07, 0x07, 0x02, 0x00, 0x00, 0x00, 0x00,
  176. // Entry 2C0 - 2FF
  177. 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  178. 0x00, 0x00, 0x00, 0x06, 0x06, 0x00, 0x00, 0x00,
  179. 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  180. 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x02, 0x00,
  181. 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  182. 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  183. 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  184. 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  185. // Entry 300 - 33F
  186. 0x00, 0x00, 0x00, 0x00, 0x00, 0x0e, 0x0c,
  187. } // Size: 799 bytes
  188. var ordinalInclusionMasks = []uint64{ // 100 elements
  189. // Entry 0 - 1F
  190. 0x0000002000010009, 0x00000018482000d3, 0x0000000042840195, 0x000000410a040581,
  191. 0x00000041040c0081, 0x0000009840040041, 0x0000008400045001, 0x0000003850040001,
  192. 0x0000003850060001, 0x0000003800049001, 0x0000000800052001, 0x0000000040660031,
  193. 0x0000000041840331, 0x0000000100040f01, 0x00000001001c0001, 0x0000000040040001,
  194. 0x0000000000045001, 0x0000000070040001, 0x0000000070040001, 0x0000000000049001,
  195. 0x0000000080050001, 0x0000000040200011, 0x0000000040800111, 0x0000000100000501,
  196. 0x0000000100080001, 0x0000000040000001, 0x0000000000005001, 0x0000000050000001,
  197. 0x0000000050000001, 0x0000000000009001, 0x0000000000010001, 0x0000000040200011,
  198. // Entry 20 - 3F
  199. 0x0000000040800111, 0x0000000100000501, 0x0000000100080001, 0x0000000040000001,
  200. 0x0000000000005001, 0x0000000050000001, 0x0000000050000001, 0x0000000000009001,
  201. 0x0000000200050001, 0x0000000040200011, 0x0000000040800111, 0x0000000100000501,
  202. 0x0000000100080001, 0x0000000040000001, 0x0000000000005001, 0x0000000050000001,
  203. 0x0000000050000001, 0x0000000000009001, 0x0000000080010001, 0x0000000040200011,
  204. 0x0000000040800111, 0x0000000100000501, 0x0000000100080001, 0x0000000040000001,
  205. 0x0000000000005001, 0x0000000050000001, 0x0000000050000001, 0x0000000000009001,
  206. 0x0000000200050001, 0x0000000040200011, 0x0000000040800111, 0x0000000100000501,
  207. // Entry 40 - 5F
  208. 0x0000000100080001, 0x0000000040000001, 0x0000000000005001, 0x0000000050000001,
  209. 0x0000000050000001, 0x0000000000009001, 0x0000000080010001, 0x0000000040200011,
  210. 0x0000000040800111, 0x0000000100000501, 0x0000000100080001, 0x0000000040000001,
  211. 0x0000000000005001, 0x0000000050000001, 0x0000000050000001, 0x0000000000009001,
  212. 0x0000000080070001, 0x0000000040200011, 0x0000000040800111, 0x0000000100000501,
  213. 0x0000000100080001, 0x0000000040000001, 0x0000000000005001, 0x0000000050000001,
  214. 0x0000000050000001, 0x0000000000009001, 0x0000000200010001, 0x0000000040200011,
  215. 0x0000000040800111, 0x0000000100000501, 0x0000000100080001, 0x0000000040000001,
  216. // Entry 60 - 7F
  217. 0x0000000000005001, 0x0000000050000001, 0x0000000050000001, 0x0000000000009001,
  218. } // Size: 824 bytes
  219. // Slots used for ordinal: 40 of 0xFF rules; 16 of 0xFF indexes; 40 of 64 sets
  220. var cardinalRules = []pluralCheck{ // 166 elements
  221. 0: {cat: 0x2, setID: 0x3},
  222. 1: {cat: 0x22, setID: 0x1},
  223. 2: {cat: 0x2, setID: 0x4},
  224. 3: {cat: 0x2, setID: 0x4},
  225. 4: {cat: 0x7, setID: 0x1},
  226. 5: {cat: 0x62, setID: 0x3},
  227. 6: {cat: 0x22, setID: 0x4},
  228. 7: {cat: 0x7, setID: 0x3},
  229. 8: {cat: 0x42, setID: 0x1},
  230. 9: {cat: 0x22, setID: 0x4},
  231. 10: {cat: 0x22, setID: 0x4},
  232. 11: {cat: 0x22, setID: 0x5},
  233. 12: {cat: 0x22, setID: 0x1},
  234. 13: {cat: 0x22, setID: 0x1},
  235. 14: {cat: 0x7, setID: 0x4},
  236. 15: {cat: 0x92, setID: 0x3},
  237. 16: {cat: 0xf, setID: 0x6},
  238. 17: {cat: 0x1f, setID: 0x7},
  239. 18: {cat: 0x82, setID: 0x3},
  240. 19: {cat: 0x92, setID: 0x3},
  241. 20: {cat: 0xf, setID: 0x6},
  242. 21: {cat: 0x62, setID: 0x3},
  243. 22: {cat: 0x4a, setID: 0x6},
  244. 23: {cat: 0x7, setID: 0x8},
  245. 24: {cat: 0x62, setID: 0x3},
  246. 25: {cat: 0x1f, setID: 0x9},
  247. 26: {cat: 0x62, setID: 0x3},
  248. 27: {cat: 0x5f, setID: 0x9},
  249. 28: {cat: 0x72, setID: 0x3},
  250. 29: {cat: 0x29, setID: 0xa},
  251. 30: {cat: 0x29, setID: 0xb},
  252. 31: {cat: 0x4f, setID: 0xb},
  253. 32: {cat: 0x61, setID: 0x2},
  254. 33: {cat: 0x2f, setID: 0x6},
  255. 34: {cat: 0x3a, setID: 0x7},
  256. 35: {cat: 0x4f, setID: 0x6},
  257. 36: {cat: 0x5f, setID: 0x7},
  258. 37: {cat: 0x62, setID: 0x2},
  259. 38: {cat: 0x4f, setID: 0x6},
  260. 39: {cat: 0x72, setID: 0x2},
  261. 40: {cat: 0x21, setID: 0x3},
  262. 41: {cat: 0x7, setID: 0x4},
  263. 42: {cat: 0x32, setID: 0x3},
  264. 43: {cat: 0x21, setID: 0x3},
  265. 44: {cat: 0x22, setID: 0x1},
  266. 45: {cat: 0x22, setID: 0x1},
  267. 46: {cat: 0x23, setID: 0x2},
  268. 47: {cat: 0x2, setID: 0x3},
  269. 48: {cat: 0x22, setID: 0x1},
  270. 49: {cat: 0x24, setID: 0xc},
  271. 50: {cat: 0x7, setID: 0x1},
  272. 51: {cat: 0x62, setID: 0x3},
  273. 52: {cat: 0x74, setID: 0x3},
  274. 53: {cat: 0x24, setID: 0x3},
  275. 54: {cat: 0x2f, setID: 0xd},
  276. 55: {cat: 0x34, setID: 0x1},
  277. 56: {cat: 0xf, setID: 0x6},
  278. 57: {cat: 0x1f, setID: 0x7},
  279. 58: {cat: 0x62, setID: 0x3},
  280. 59: {cat: 0x4f, setID: 0x6},
  281. 60: {cat: 0x5a, setID: 0x7},
  282. 61: {cat: 0xf, setID: 0xe},
  283. 62: {cat: 0x1f, setID: 0xf},
  284. 63: {cat: 0x64, setID: 0x3},
  285. 64: {cat: 0x4f, setID: 0xe},
  286. 65: {cat: 0x5c, setID: 0xf},
  287. 66: {cat: 0x22, setID: 0x10},
  288. 67: {cat: 0x23, setID: 0x11},
  289. 68: {cat: 0x24, setID: 0x12},
  290. 69: {cat: 0xf, setID: 0x1},
  291. 70: {cat: 0x62, setID: 0x3},
  292. 71: {cat: 0xf, setID: 0x2},
  293. 72: {cat: 0x63, setID: 0x3},
  294. 73: {cat: 0xf, setID: 0x13},
  295. 74: {cat: 0x64, setID: 0x3},
  296. 75: {cat: 0x74, setID: 0x3},
  297. 76: {cat: 0xf, setID: 0x1},
  298. 77: {cat: 0x62, setID: 0x3},
  299. 78: {cat: 0x4a, setID: 0x1},
  300. 79: {cat: 0xf, setID: 0x2},
  301. 80: {cat: 0x63, setID: 0x3},
  302. 81: {cat: 0x4b, setID: 0x2},
  303. 82: {cat: 0xf, setID: 0x13},
  304. 83: {cat: 0x64, setID: 0x3},
  305. 84: {cat: 0x4c, setID: 0x13},
  306. 85: {cat: 0x7, setID: 0x1},
  307. 86: {cat: 0x62, setID: 0x3},
  308. 87: {cat: 0x7, setID: 0x2},
  309. 88: {cat: 0x63, setID: 0x3},
  310. 89: {cat: 0x2f, setID: 0xa},
  311. 90: {cat: 0x37, setID: 0x14},
  312. 91: {cat: 0x65, setID: 0x3},
  313. 92: {cat: 0x7, setID: 0x1},
  314. 93: {cat: 0x62, setID: 0x3},
  315. 94: {cat: 0x7, setID: 0x15},
  316. 95: {cat: 0x64, setID: 0x3},
  317. 96: {cat: 0x75, setID: 0x3},
  318. 97: {cat: 0x7, setID: 0x1},
  319. 98: {cat: 0x62, setID: 0x3},
  320. 99: {cat: 0xf, setID: 0xe},
  321. 100: {cat: 0x1f, setID: 0xf},
  322. 101: {cat: 0x64, setID: 0x3},
  323. 102: {cat: 0xf, setID: 0x16},
  324. 103: {cat: 0x17, setID: 0x1},
  325. 104: {cat: 0x65, setID: 0x3},
  326. 105: {cat: 0xf, setID: 0x17},
  327. 106: {cat: 0x65, setID: 0x3},
  328. 107: {cat: 0xf, setID: 0xf},
  329. 108: {cat: 0x65, setID: 0x3},
  330. 109: {cat: 0x2f, setID: 0x6},
  331. 110: {cat: 0x3a, setID: 0x7},
  332. 111: {cat: 0x2f, setID: 0xe},
  333. 112: {cat: 0x3c, setID: 0xf},
  334. 113: {cat: 0x2d, setID: 0xa},
  335. 114: {cat: 0x2d, setID: 0x17},
  336. 115: {cat: 0x2d, setID: 0x18},
  337. 116: {cat: 0x2f, setID: 0x6},
  338. 117: {cat: 0x3a, setID: 0xb},
  339. 118: {cat: 0x2f, setID: 0x19},
  340. 119: {cat: 0x3c, setID: 0xb},
  341. 120: {cat: 0x55, setID: 0x3},
  342. 121: {cat: 0x22, setID: 0x1},
  343. 122: {cat: 0x24, setID: 0x3},
  344. 123: {cat: 0x2c, setID: 0xc},
  345. 124: {cat: 0x2d, setID: 0xb},
  346. 125: {cat: 0xf, setID: 0x6},
  347. 126: {cat: 0x1f, setID: 0x7},
  348. 127: {cat: 0x62, setID: 0x3},
  349. 128: {cat: 0xf, setID: 0xe},
  350. 129: {cat: 0x1f, setID: 0xf},
  351. 130: {cat: 0x64, setID: 0x3},
  352. 131: {cat: 0xf, setID: 0xa},
  353. 132: {cat: 0x65, setID: 0x3},
  354. 133: {cat: 0xf, setID: 0x17},
  355. 134: {cat: 0x65, setID: 0x3},
  356. 135: {cat: 0xf, setID: 0x18},
  357. 136: {cat: 0x65, setID: 0x3},
  358. 137: {cat: 0x2f, setID: 0x6},
  359. 138: {cat: 0x3a, setID: 0x1a},
  360. 139: {cat: 0x2f, setID: 0x1b},
  361. 140: {cat: 0x3b, setID: 0x1c},
  362. 141: {cat: 0x2f, setID: 0x1d},
  363. 142: {cat: 0x3c, setID: 0x1e},
  364. 143: {cat: 0x37, setID: 0x3},
  365. 144: {cat: 0xa5, setID: 0x0},
  366. 145: {cat: 0x22, setID: 0x1},
  367. 146: {cat: 0x23, setID: 0x2},
  368. 147: {cat: 0x24, setID: 0x1f},
  369. 148: {cat: 0x25, setID: 0x20},
  370. 149: {cat: 0xf, setID: 0x6},
  371. 150: {cat: 0x62, setID: 0x3},
  372. 151: {cat: 0xf, setID: 0x1b},
  373. 152: {cat: 0x63, setID: 0x3},
  374. 153: {cat: 0xf, setID: 0x21},
  375. 154: {cat: 0x64, setID: 0x3},
  376. 155: {cat: 0x75, setID: 0x3},
  377. 156: {cat: 0x21, setID: 0x3},
  378. 157: {cat: 0x22, setID: 0x1},
  379. 158: {cat: 0x23, setID: 0x2},
  380. 159: {cat: 0x2c, setID: 0x22},
  381. 160: {cat: 0x2d, setID: 0x5},
  382. 161: {cat: 0x21, setID: 0x3},
  383. 162: {cat: 0x22, setID: 0x1},
  384. 163: {cat: 0x23, setID: 0x2},
  385. 164: {cat: 0x24, setID: 0x23},
  386. 165: {cat: 0x25, setID: 0x24},
  387. } // Size: 356 bytes
  388. var cardinalIndex = []uint8{ // 36 elements
  389. 0x00, 0x00, 0x02, 0x03, 0x04, 0x06, 0x09, 0x0a,
  390. 0x0c, 0x0d, 0x10, 0x14, 0x17, 0x1d, 0x28, 0x2b,
  391. 0x2d, 0x2f, 0x32, 0x38, 0x42, 0x45, 0x4c, 0x55,
  392. 0x5c, 0x61, 0x6d, 0x74, 0x79, 0x7d, 0x89, 0x91,
  393. 0x95, 0x9c, 0xa1, 0xa6,
  394. } // Size: 60 bytes
  395. var cardinalLangToIndex = []uint8{ // 775 elements
  396. // Entry 0 - 3F
  397. 0x00, 0x08, 0x08, 0x08, 0x00, 0x00, 0x06, 0x06,
  398. 0x01, 0x01, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
  399. 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
  400. 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
  401. 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
  402. 0x01, 0x01, 0x08, 0x08, 0x04, 0x04, 0x08, 0x08,
  403. 0x08, 0x08, 0x08, 0x00, 0x00, 0x1a, 0x1a, 0x08,
  404. 0x08, 0x08, 0x08, 0x08, 0x08, 0x06, 0x00, 0x00,
  405. // Entry 40 - 7F
  406. 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x1e,
  407. 0x08, 0x08, 0x13, 0x13, 0x13, 0x13, 0x13, 0x04,
  408. 0x04, 0x04, 0x04, 0x04, 0x00, 0x00, 0x00, 0x08,
  409. 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08,
  410. 0x18, 0x18, 0x00, 0x00, 0x22, 0x22, 0x09, 0x09,
  411. 0x09, 0x00, 0x00, 0x04, 0x04, 0x04, 0x04, 0x04,
  412. 0x04, 0x04, 0x04, 0x00, 0x00, 0x16, 0x16, 0x00,
  413. 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  414. // Entry 80 - BF
  415. 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x04, 0x04,
  416. 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04,
  417. 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04,
  418. 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04,
  419. 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04,
  420. 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04,
  421. 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04,
  422. 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04,
  423. // Entry C0 - FF
  424. 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04,
  425. 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04,
  426. 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04,
  427. 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04,
  428. 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04,
  429. 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x08,
  430. 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08,
  431. 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08,
  432. // Entry 100 - 13F
  433. 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08,
  434. 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x04, 0x04,
  435. 0x08, 0x08, 0x00, 0x00, 0x01, 0x01, 0x01, 0x02,
  436. 0x02, 0x02, 0x02, 0x02, 0x04, 0x04, 0x0c, 0x0c,
  437. 0x08, 0x08, 0x08, 0x02, 0x02, 0x02, 0x02, 0x02,
  438. 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02,
  439. 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02,
  440. 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02,
  441. // Entry 140 - 17F
  442. 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02,
  443. 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02,
  444. 0x02, 0x02, 0x08, 0x08, 0x04, 0x04, 0x1f, 0x1f,
  445. 0x14, 0x14, 0x04, 0x04, 0x08, 0x08, 0x08, 0x08,
  446. 0x01, 0x01, 0x06, 0x00, 0x00, 0x20, 0x20, 0x08,
  447. 0x08, 0x08, 0x08, 0x08, 0x08, 0x17, 0x17, 0x01,
  448. 0x01, 0x13, 0x13, 0x13, 0x16, 0x16, 0x08, 0x08,
  449. 0x02, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  450. // Entry 180 - 1BF
  451. 0x00, 0x04, 0x0a, 0x0a, 0x04, 0x04, 0x04, 0x04,
  452. 0x04, 0x10, 0x17, 0x00, 0x00, 0x00, 0x08, 0x08,
  453. 0x04, 0x08, 0x08, 0x00, 0x00, 0x08, 0x08, 0x02,
  454. 0x02, 0x08, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
  455. 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x08, 0x08,
  456. 0x08, 0x08, 0x08, 0x00, 0x00, 0x00, 0x00, 0x01,
  457. 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x08,
  458. 0x08, 0x08, 0x00, 0x00, 0x0f, 0x0f, 0x08, 0x10,
  459. // Entry 1C0 - 1FF
  460. 0x10, 0x08, 0x08, 0x0e, 0x0e, 0x08, 0x08, 0x08,
  461. 0x08, 0x00, 0x00, 0x06, 0x06, 0x06, 0x06, 0x06,
  462. 0x00, 0x00, 0x00, 0x00, 0x00, 0x1b, 0x1b, 0x00,
  463. 0x00, 0x00, 0x00, 0x00, 0x00, 0x0d, 0x0d, 0x08,
  464. 0x08, 0x08, 0x00, 0x00, 0x00, 0x00, 0x06, 0x06,
  465. 0x00, 0x00, 0x08, 0x08, 0x0b, 0x0b, 0x08, 0x08,
  466. 0x08, 0x08, 0x12, 0x01, 0x01, 0x00, 0x00, 0x00,
  467. 0x00, 0x1c, 0x1c, 0x00, 0x00, 0x00, 0x00, 0x00,
  468. // Entry 200 - 23F
  469. 0x00, 0x08, 0x10, 0x10, 0x08, 0x08, 0x08, 0x08,
  470. 0x08, 0x00, 0x00, 0x00, 0x08, 0x08, 0x08, 0x04,
  471. 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x00,
  472. 0x00, 0x08, 0x08, 0x08, 0x08, 0x08, 0x00, 0x08,
  473. 0x06, 0x00, 0x00, 0x08, 0x08, 0x08, 0x08, 0x08,
  474. 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x06, 0x06,
  475. 0x06, 0x06, 0x06, 0x08, 0x19, 0x19, 0x0d, 0x0d,
  476. 0x08, 0x08, 0x03, 0x04, 0x03, 0x04, 0x04, 0x04,
  477. // Entry 240 - 27F
  478. 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x00,
  479. 0x00, 0x00, 0x00, 0x08, 0x08, 0x00, 0x00, 0x12,
  480. 0x12, 0x12, 0x08, 0x08, 0x1d, 0x1d, 0x1d, 0x1d,
  481. 0x1d, 0x1d, 0x1d, 0x00, 0x00, 0x08, 0x08, 0x00,
  482. 0x00, 0x08, 0x08, 0x00, 0x00, 0x08, 0x08, 0x08,
  483. 0x10, 0x10, 0x10, 0x10, 0x08, 0x08, 0x00, 0x00,
  484. 0x00, 0x00, 0x13, 0x11, 0x11, 0x11, 0x11, 0x11,
  485. 0x05, 0x05, 0x18, 0x18, 0x15, 0x15, 0x10, 0x10,
  486. // Entry 280 - 2BF
  487. 0x10, 0x10, 0x10, 0x10, 0x08, 0x08, 0x08, 0x08,
  488. 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x13,
  489. 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13,
  490. 0x13, 0x13, 0x08, 0x08, 0x08, 0x04, 0x04, 0x04,
  491. 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x08, 0x08,
  492. 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08,
  493. 0x08, 0x00, 0x00, 0x00, 0x00, 0x06, 0x06, 0x06,
  494. 0x08, 0x08, 0x08, 0x0c, 0x08, 0x00, 0x00, 0x08,
  495. // Entry 2C0 - 2FF
  496. 0x08, 0x08, 0x08, 0x00, 0x00, 0x00, 0x00, 0x07,
  497. 0x07, 0x08, 0x08, 0x1d, 0x1d, 0x04, 0x04, 0x04,
  498. 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x00,
  499. 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x08,
  500. 0x08, 0x08, 0x08, 0x06, 0x08, 0x08, 0x00, 0x00,
  501. 0x08, 0x08, 0x08, 0x00, 0x00, 0x04, 0x04, 0x00,
  502. 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  503. 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  504. // Entry 300 - 33F
  505. 0x00, 0x00, 0x00, 0x01, 0x01, 0x04, 0x04,
  506. } // Size: 799 bytes
  507. var cardinalInclusionMasks = []uint64{ // 100 elements
  508. // Entry 0 - 1F
  509. 0x0000000200500419, 0x0000000000512153, 0x000000000a327105, 0x0000000ca23c7101,
  510. 0x00000004a23c7201, 0x0000000482943001, 0x0000001482943201, 0x0000000502943001,
  511. 0x0000000502943001, 0x0000000522943201, 0x0000000540543401, 0x00000000454128e1,
  512. 0x000000005b02e821, 0x000000006304e821, 0x000000006304ea21, 0x0000000042842821,
  513. 0x0000000042842a21, 0x0000000042842821, 0x0000000042842821, 0x0000000062842a21,
  514. 0x0000000200400421, 0x0000000000400061, 0x000000000a004021, 0x0000000022004021,
  515. 0x0000000022004221, 0x0000000002800021, 0x0000000002800221, 0x0000000002800021,
  516. 0x0000000002800021, 0x0000000022800221, 0x0000000000400421, 0x0000000000400061,
  517. // Entry 20 - 3F
  518. 0x000000000a004021, 0x0000000022004021, 0x0000000022004221, 0x0000000002800021,
  519. 0x0000000002800221, 0x0000000002800021, 0x0000000002800021, 0x0000000022800221,
  520. 0x0000000200400421, 0x0000000000400061, 0x000000000a004021, 0x0000000022004021,
  521. 0x0000000022004221, 0x0000000002800021, 0x0000000002800221, 0x0000000002800021,
  522. 0x0000000002800021, 0x0000000022800221, 0x0000000000400421, 0x0000000000400061,
  523. 0x000000000a004021, 0x0000000022004021, 0x0000000022004221, 0x0000000002800021,
  524. 0x0000000002800221, 0x0000000002800021, 0x0000000002800021, 0x0000000022800221,
  525. 0x0000000200400421, 0x0000000000400061, 0x000000000a004021, 0x0000000022004021,
  526. // Entry 40 - 5F
  527. 0x0000000022004221, 0x0000000002800021, 0x0000000002800221, 0x0000000002800021,
  528. 0x0000000002800021, 0x0000000022800221, 0x0000000040400421, 0x0000000044400061,
  529. 0x000000005a004021, 0x0000000062004021, 0x0000000062004221, 0x0000000042800021,
  530. 0x0000000042800221, 0x0000000042800021, 0x0000000042800021, 0x0000000062800221,
  531. 0x0000000200400421, 0x0000000000400061, 0x000000000a004021, 0x0000000022004021,
  532. 0x0000000022004221, 0x0000000002800021, 0x0000000002800221, 0x0000000002800021,
  533. 0x0000000002800021, 0x0000000022800221, 0x0000000040400421, 0x0000000044400061,
  534. 0x000000005a004021, 0x0000000062004021, 0x0000000062004221, 0x0000000042800021,
  535. // Entry 60 - 7F
  536. 0x0000000042800221, 0x0000000042800021, 0x0000000042800021, 0x0000000062800221,
  537. } // Size: 824 bytes
  538. // Slots used for cardinal: A6 of 0xFF rules; 24 of 0xFF indexes; 37 of 64 sets
  539. // Total table size 3860 bytes (3KiB); checksum: 4E56F7B1