table.go 7.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136
  1. // generated by go run gen.go; DO NOT EDIT
  2. package publicsuffix
  3. const version = "subset of publicsuffix.org's effective_tld_names.dat, hg revision 05b11a8d1ace (2012-11-09)"
  4. const (
  5. nodeTypeNormal = 0
  6. nodeTypeException = 1
  7. nodeTypeParentOnly = 2
  8. )
  9. // numTLD is the number of top level domains.
  10. const numTLD = 8
  11. // Text is the combined text of all labels.
  12. const text = "clubafukuchiyamashinacionakagyorgamecongresodelalengua3govgvin-a" +
  13. "ddretinagaokakyotambainelip6irisakyotanabeducityjetjoyoyamazakit" +
  14. "ajpblogspotkizuridebizwkumiyamakyotangobiernoelectronicomilkyoto" +
  15. "minamiyamashiromiyazurnantanational-library-scotlandmukobenlschi" +
  16. "gashiyamaizurujitawarapromocionetseikameokamodxn--czrw28british-" +
  17. "libraryawatarparliamentwazukayabe164xn--p1aidvxn--uc0atvxn--zf0a" +
  18. "o64a"
  19. // Nodes is the list of nodes. Each node is encoded as two uint32 values.
  20. //
  21. // The first uint32 encodes the node's children, nodeType, and a wildcard bit.
  22. // In the //-comment after each node's data, the indexes of the children are
  23. // formatted as (0x1234-0x1256). The nodeType is printed as + for normal, ! for
  24. // exception, and o for parent-only nodes that have children but don't match a
  25. // domain in their own right. The * denotes the wildcard bit. The layout within
  26. // the uint32, from MSB to LSB, is:
  27. // [2] nodeType [1] wildcard [13] number of children [16] first child.
  28. // If a node has no children then the low 29 bits are zero.
  29. //
  30. // The second uint32 encodes the node's text. The layout is:
  31. // [24] text offset [8] text length.
  32. //
  33. // TODO(nigeltao): this table has a lot of zeroes, for childless nodes. It
  34. // would be tight, but it should be possible to use only 32 bits per node
  35. // instead of 64, with an offset into a parent-child table. A back-of-the-
  36. // envelope calculation suggests that at 6000 rows (of which 90% are leaves),
  37. // this could save an extra 20KiB of data.
  38. var nodes = [...][2]uint32{
  39. {0x00060008, 0x00004902}, // 0x0000 (0x0008-0x000e) + ao
  40. {0xa00a000e, 0x0000e802}, // 0x0001 (0x000e-0x0018) o* ar
  41. {0x80060019, 0x00014b04}, // 0x0002 (0x0019-0x001f) o arpa
  42. {0x0002001f, 0x00008102}, // 0x0003 (0x001f-0x0021) + jp
  43. {0x000e0041, 0x00015602}, // 0x0004 (0x0041-0x004f) + tw
  44. {0xa00b004f, 0x00000602}, // 0x0005 (0x004f-0x005a) o* uk
  45. {0x00000000, 0x00016408}, // 0x0006 (-------------) + xn--p1ai
  46. {0xa0000000, 0x00009502}, // 0x0007 (-------------) o* zw
  47. {0x00000000, 0x00002402}, // 0x0008 (-------------) + co
  48. {0x00000000, 0x00006902}, // 0x0009 (-------------) + ed
  49. {0x00000000, 0x00003a02}, // 0x000a (-------------) + gv
  50. {0x00000000, 0x00006d02}, // 0x000b (-------------) + it
  51. {0x00000000, 0x00008502}, // 0x000c (-------------) + og
  52. {0x00000000, 0x00008202}, // 0x000d (-------------) + pb
  53. {0x80010018, 0x0000b603}, // 0x000e (0x0018-0x0019) o com
  54. {0x40000000, 0x00002413}, // 0x000f (-------------) ! congresodelalengua3
  55. {0x40000000, 0x00006904}, // 0x0010 (-------------) ! educ
  56. {0x40000000, 0x0000a513}, // 0x0011 (-------------) ! gobiernoelectronico
  57. {0x40000000, 0x00002205}, // 0x0012 (-------------) ! mecon
  58. {0x40000000, 0x00001306}, // 0x0013 (-------------) ! nacion
  59. {0x40000000, 0x0000b403}, // 0x0014 (-------------) ! nic
  60. {0x40000000, 0x00011609}, // 0x0015 (-------------) ! promocion
  61. {0x40000000, 0x00004206}, // 0x0016 (-------------) ! retina
  62. {0x40000000, 0x00000203}, // 0x0017 (-------------) ! uba
  63. {0x00000000, 0x00008308}, // 0x0018 (-------------) + blogspot
  64. {0x00000000, 0x00016004}, // 0x0019 (-------------) + e164
  65. {0x00000000, 0x00003c07}, // 0x001a (-------------) + in-addr
  66. {0x00000000, 0x00005903}, // 0x001b (-------------) + ip6
  67. {0x00000000, 0x00005c04}, // 0x001c (-------------) + iris
  68. {0x00000000, 0x00008e03}, // 0x001d (-------------) + uri
  69. {0x00000000, 0x0000d403}, // 0x001e (-------------) + urn
  70. {0xa0010021, 0x0000f604}, // 0x001f (0x0021-0x0022) o* kobe
  71. {0x001f0022, 0x0000bb05}, // 0x0020 (0x0022-0x0041) + kyoto
  72. {0x40000000, 0x00006c04}, // 0x0021 (-------------) ! city
  73. {0x00000000, 0x00015c05}, // 0x0022 (-------------) + ayabe
  74. {0x00000000, 0x0000050b}, // 0x0023 (-------------) + fukuchiyama
  75. {0x00000000, 0x0000fe0b}, // 0x0024 (-------------) + higashiyama
  76. {0x00000000, 0x00009003}, // 0x0025 (-------------) + ide
  77. {0x00000000, 0x00005503}, // 0x0026 (-------------) + ine
  78. {0x00000000, 0x00007304}, // 0x0027 (-------------) + joyo
  79. {0x00000000, 0x00012407}, // 0x0028 (-------------) + kameoka
  80. {0x00000000, 0x00012904}, // 0x0029 (-------------) + kamo
  81. {0x00000000, 0x00007d04}, // 0x002a (-------------) + kita
  82. {0x00000000, 0x00008b04}, // 0x002b (-------------) + kizu
  83. {0x00000000, 0x00009708}, // 0x002c (-------------) + kumiyama
  84. {0x00000000, 0x00004d08}, // 0x002d (-------------) + kyotamba
  85. {0x00000000, 0x00006109}, // 0x002e (-------------) + kyotanabe
  86. {0x00000000, 0x00009f08}, // 0x002f (-------------) + kyotango
  87. {0x00000000, 0x00010707}, // 0x0030 (-------------) + maizuru
  88. {0x00000000, 0x0000c006}, // 0x0031 (-------------) + minami
  89. {0x00000000, 0x0000c00f}, // 0x0032 (-------------) + minamiyamashiro
  90. {0x00000000, 0x0000cf06}, // 0x0033 (-------------) + miyazu
  91. {0x00000000, 0x0000f404}, // 0x0034 (-------------) + muko
  92. {0x00000000, 0x0000460a}, // 0x0035 (-------------) + nagaokakyo
  93. {0x00000000, 0x00001807}, // 0x0036 (-------------) + nakagyo
  94. {0x00000000, 0x0000d606}, // 0x0037 (-------------) + nantan
  95. {0x00000000, 0x00007609}, // 0x0038 (-------------) + oyamazaki
  96. {0x00000000, 0x00005f05}, // 0x0039 (-------------) + sakyo
  97. {0x00000000, 0x00012105}, // 0x003a (-------------) + seika
  98. {0x00000000, 0x00006406}, // 0x003b (-------------) + tanabe
  99. {0x00000000, 0x00010d03}, // 0x003c (-------------) + uji
  100. {0x00000000, 0x00010d09}, // 0x003d (-------------) + ujitawara
  101. {0x00000000, 0x00015706}, // 0x003e (-------------) + wazuka
  102. {0x00000000, 0x00000c09}, // 0x003f (-------------) + yamashina
  103. {0x00000000, 0x00014606}, // 0x0040 (-------------) + yawata
  104. {0x00000000, 0x00008308}, // 0x0041 (-------------) + blogspot
  105. {0x00000000, 0x00000004}, // 0x0042 (-------------) + club
  106. {0x00000000, 0x0000b603}, // 0x0043 (-------------) + com
  107. {0x00000000, 0x00009204}, // 0x0044 (-------------) + ebiz
  108. {0x00000000, 0x00006903}, // 0x0045 (-------------) + edu
  109. {0x00000000, 0x00002004}, // 0x0046 (-------------) + game
  110. {0x00000000, 0x00003703}, // 0x0047 (-------------) + gov
  111. {0x00000000, 0x00016b03}, // 0x0048 (-------------) + idv
  112. {0x00000000, 0x0000b803}, // 0x0049 (-------------) + mil
  113. {0x00000000, 0x00011e03}, // 0x004a (-------------) + net
  114. {0x00000000, 0x00001e03}, // 0x004b (-------------) + org
  115. {0x00000000, 0x00012e0b}, // 0x004c (-------------) + xn--czrw28b
  116. {0x00000000, 0x00016e0a}, // 0x004d (-------------) + xn--uc0atv
  117. {0x00000000, 0x0001780c}, // 0x004e (-------------) + xn--zf0ao64a
  118. {0x40000000, 0x00008302}, // 0x004f (-------------) ! bl
  119. {0x40000000, 0x0001380f}, // 0x0050 (-------------) ! british-library
  120. {0x8001005a, 0x00002402}, // 0x0051 (0x005a-0x005b) o co
  121. {0x40000000, 0x00007003}, // 0x0052 (-------------) ! jet
  122. {0x40000000, 0x00012b03}, // 0x0053 (-------------) ! mod
  123. {0x40000000, 0x0000db19}, // 0x0054 (-------------) ! national-library-scotland
  124. {0x40000000, 0x00005603}, // 0x0055 (-------------) ! nel
  125. {0x40000000, 0x0000b403}, // 0x0056 (-------------) ! nic
  126. {0x40000000, 0x0000fa03}, // 0x0057 (-------------) ! nls
  127. {0x40000000, 0x00014d0a}, // 0x0058 (-------------) ! parliament
  128. {0xa0000000, 0x0000fc03}, // 0x0059 (-------------) o* sch
  129. {0x00000000, 0x00008308}, // 0x005a (-------------) + blogspot
  130. }